Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
VIDEO CHANNEL MANAGEMENT METHOD AND RELATED DEVICE, AND COMMUNICATION SYSTEM
Document Type and Number:
WIPO Patent Application WO/2015/058537
Kind Code:
A1
Abstract:
Disclosed are a video channel management method and a related device, and a communication system. The video channel management method may comprise: receiving, by a video server, first video data belonging to a first user; based on multiple hash algorithms, querying whether a record used for identifying a mapping relationship between the first user and a video channel is stored in a mapping record storage region; and if it is found that no record used for identifying the mapping relationship between the first user and the video channel is stored in the mapping record storage region, allocating a first video channel which is currently in an idle state to the first user, and writing the first video data into the first video channel. The technical solution provided in the embodiments of the present invention is beneficial for improving the efficiency of indexing video channels of a user.

Inventors:
LONG JINYUAN (CN)
ZENG XINHAI (CN)
Application Number:
PCT/CN2014/079969
Publication Date:
April 30, 2015
Filing Date:
June 16, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TENCENT TECH SHENZHEN CO LTD (CN)
International Classes:
H04L29/08
Foreign References:
CN102523297A2012-06-27
CN101355476A2009-01-28
CN101082928A2007-12-05
CN1773994A2006-05-17
US20120144031A12012-06-07
Attorney, Agent or Firm:
BEIJING EAST IP LTD. (CN)
北京东方亿思知识产权代理有限责任公司 (CN)
Download PDF:
Claims:
权 利 要 求 书

1、 一种视频通道管理方法, 其特征在于, 包括:

接收归属于第一用户的第一视频数据;

基于多重哈希算法, 查询映射记录存储区中是否存储有用于标识所述第一 用户与视频通道之间的映射关系的记录;

若查询到在所述映射记录存储区中未存储有用于标识所述第一用户与视频 通道之间的映射关系的记录, 则为所述第一用户分配当前处于空闲状态的第一 视频通道;

将所述第一视频数据写入所述第一视频通道。

2、 根据权利要求 1所述的方法, 其特征在于,

所述方法还包括: 生成用于标识所述第一用户与所述第一视频通道之间的 映射关系的第一记录, 基于多重哈希算法计算得到第一存储地址, 将所述第一 记录写入所述第一存储地址所指向的第一存储空间, 其中, 所述第一存储空间 归属于所述映射记录存储区。

3、 根据权利要求 2所述的方法, 其特征在于,

K≥N*M*P,

其中, 所述 K表示所述映射记录存储区的总存储空间大小, 所述 M表示视 频服务器所能提供的视频通道总数, 所述 P表示存储一条用于标识用户与视频 通道之间的映射关系的记录所占用的存储空间大小, 其中, 所述 N为正整数。

4、 根据权利要求 2所述的方法, 其特征在于,

多重哈希算法的输入为所述第一用户的用户代码, 其中, 所述第一用户的 用户代码为第一用户的用户标识或基于所述第一用户的用户标识转换得到。

5、 根据权利要求 1至 4任一项所述的方法, 其特征在于,

所述方法还包括:

若查询到在所述映射记录存储区中存储有用于标识所述第一用户与第二视 频通道之间的映射关系的第二记录, 则将所述第一视频数据写入所述第二视频 通道。

6、 根据权利要求 5所述的方法, 其特征在于,

所述方法还包括: 若将所述第一视频数据写入所述第一视频通道, 则更新所述第一视频通道 的时间戳; 或者, 若将所述第一视频数据写入所述第二视频通道, 则更新所述 第二视频通道的时间戳。

7、 根据权利要求 1至 4任一项所述的方法, 其特征在于,

为所述第一用户分配当前处于空闲状态的第一视频通道包括: 基于空闲链 表为所述第一用户分配当前处于空闲状态的第一视频通道, 其中, 所述空闲链 表中存储了当前处于空闲状态的包括第一视频通道在内的若干个视频通道所对 应的视频通道标识。

8、 根据权利要求 7所述的方法, 其特征在于,

所述第一视频通道的视频通道标识记录在所述空闲链表中的首部或尾部或 其他任意位置。

9、 一种视频服务器, 其特征在于, 包括:

接收单元, 用于接收归属于第一用户的第一视频数据;

查询单元, 用于基于多重哈希算法, 查询映射记录存储区中是否存储有用 于标识所述第一用户与视频通道之间的映射关系的记录;

分配单元, 用于若查询到在所述映射记录存储区中未存储有用于标识所述 第一用户与视频通道之间的映射关系的记录, 则为所述第一用户分配当前处于 空闲状态的第一视频通道;

写入单元, 用于将所述第一视频数据写入所述第一视频通道。

10、 根据权利要求 9所述的视频服务器, 其特征在于,

所述视频服务器还包括:

记录维护单元, 用于生成用于标识所述第一用户与所述第一视频通道之间 的映射关系的第一记录, 基于多重哈希算法计算得到第一存储地址, 将所述第 一记录写入所述第一存储地址所指向的第一存储空间, 其中, 所述第一存储空 间归属于所述映射记录存储区。

11、 根据权利要求 9至 10任一项所述的视频服务器, 其特征在于, 所述写入单元还用于, 若查询到在所述映射记录存储区中存储有用于标识 所述第一用户与第二视频通道之间的映射关系的第二记录, 则将所述第一视频 数据写入所述第二视频通道。

12、 根据权利要求 11所述的视频服务器, 其特征在于, 所述视频服务器还包括:

时间戳更新单元, 用于若将所述第一视频数据写入所述第一视频通道, 则 更新所述第一视频通道的时间戳; 或者, 若将所述第一视频数据写入所述第二 视频通道, 则更新所述第二视频通道的时间戳。

13、 根据权利要求 9至 10任一项所述的视频服务器, 其特征在于, 所述分配单元为所述第一用户分配当前处于空闲状态的第一视频通道包 括: 基于空闲链表为所述第一用户分配当前处于空闲状态的第一视频通道, 其 中, 所述空闲链表中存储了当前处于空闲状态的包括第一视频通道在内的若干 个视频通道所对应的视频通道标识。

14、 一种通信系统, 其特征在于, 包括:

由第一用户操作的用户终端; 和

视频服务器,

其中, 所述用户终端, 用于向所述视频服务器发送归属于所述第一用户的 第一视频数据;

所述视频服务器, 包括:

接收单元, 用于接收所述第一视频数据;

查询单元, 用于基于多重哈希算法查询映射记录存储区中是否存储有 用于标识所述第一用户与视频通道之间的映射关系的记录;

分配单元, 用于若查询到在所述映射记录存储区中未存储有用于标识 所述第一用户与视频通道之间的映射关系的记录, 则为所述第一用户分配当前 处于空闲状态的第一视频通道;

写入单元, 用于将所述第一视频数据写入所述第一视频通道。

15、 根据权利要求 14所述的通信系统, 其特征在于,

所述视频服务器还包括:

记录维护单元, 用于生成用于标识所述第一用户与所述第一视频通道之间 的映射关系的第一记录, 基于多重哈希算法计算得到第一存储地址, 将所述第 一记录写入所述第一存储地址所指向的第一存储空间, 其中, 所述第一存储空 间归属于所述映射记录存储区。

16、一种计算机可读存取介质,包含用于执行根据权利要求 1-8中任一项所 述方法的计算机可执行程序。

Description:
视频通道管理方法和相关设备及通信系统

相关申请交叉引用

本申请要求 2013年 10月 23日提交中国专利局、申请号为 201310504113.0、 发明名称为"视频通道管理方法和相关设备及 信系统 "的中国专利申请的优先 权, 其全部内容通过引用结合在说本申请中。 技术领域

本发明涉及计算机技术领域, 具体涉及一种视频通道管理方法和相关设备 及通信系统。 书

背景技术

目前, 存在腾讯视频、 搜狐视频等多种视频服务工具, 视频通道是视频服 务器中用于存储视频数据的存储资源, 视频通道中可记录时间戳、 该视频通道 当前所属用户的用户标识等信息。

现有的视频服务器采用遍历方式索引用户的视 频通道, 该视频通道索弓 I方 式效率相对较低, 有时难以满足高时效的要求。 发明内容

本发明实施例提供视频通道管理方法和相关设 备及通信系统, 以期提高索 引用户的视频通道的效率。

本发明实施例的一方面提供一种视频通道管理 方法, 可包括:

接收归属于第一用户的第一视频数据;

基于多重哈希算法, 查询映射记录存储区中是否存储有用于标识第 一用户 与视频通道之间的映射关系的记录;

若查询到在所述映射记录存储区中未存储有用 于标识所述第一用户与视频 通道之间的映射关系的记录, 则为所述第一用户分配当前处于空闲状态的第 一 视频通道; 将所述第一视频数据写入所述第一视频通道。

本发明实施例的另一方面提供一种视频服务器 , 可包括:

接收单元, 用于接收归属于第一用户的第一视频数据;

查询单元, 用于基于多重哈希算法, 查询映射记录存储区中是否存储有用 于标识第一用户与视频通道之间的映射关系的 记录;

分配单元, 用于若查询到在所述映射记录存储区中未存储 有用于标识所述 第一用户与视频通道之间的映射关系的记录, 则为所述第一用户分配当前处于 空闲状态的第一视频通道,

写入单元, 用于将所述第一视频数据写入所述第一视频通 道。

本发明实施例的还一方面提供一种通信系统, 可包括:

包括第一用户的用户终端和视频服务器;

其中, 所述用户终端, 用于向所述视频服务器发送归属于第一用户的 第一 视频数据;

所述视频服务器, 包括: 接收单元, 用于接收第一视频数据; 查询单元, 用于基于多重哈希算法查询映射记录存储区之 中是否存储有用于标识第一用户 与视频通道之间的映射关系的记录; 分配单元, 用于若查询到在所述映射记录 存储区中未存储有用于标识所述第一用户与视 频通道之间的映射关系的记录, 则为所述第一用户分配当前处于空闲状态的第 一视频通道; 写入单元, 用于将 所述第一视频数据写入所述第一视频通道。

由上可见, 在本发明一些实施例的技术方案中, 在视频服务器接收到归属 于第一用户的第一视频数据之后, 基于多重哈希算法, 查询映射记录存储区之 中是否存储有用于标识第一用户与视频通道之 间的映射关系的记录; 若查询到 在映射记录存储区中未存储有用于标识第一用 户与视频通道之间的映射关系的 记录, 则为第一用户分配当前处于空闲状态的第一视 频通道, 将第一视频数据 写入第一视频通道。 由于视频服务器专门开辟了映射记录存储区来 存储用于标 识用户与视频通道之间的映射关系的记录, 并基于多重哈希算法来查询映射记 录存储区之中是否存储有用于标识第一用户与 视频通道之间的映射关系的记 录, 这种索引用户的视频通道的技术有利于提高用 户视频通道的索引效率。 附图说明

为了更清楚地说明本发明实施例或现有技术中 的技术方案, 下面将对实施 例或现有技术描述中所需要使用的附图作简单 地介绍, 显而易见地, 下面描述 中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付 出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。

图 1是本发明实施例提供的一种视频通道管理方 的流程示意图; 图 2是本发明实施例提供的另一种视频通道管理 法的流程示意图; 图 3-a是本发明实施例提供的一种视频服务器的示 意图;

图 3-b是本发明实施例提供的另一种视频服务器的 示意图;

图 3-c是本发明实施例提供的另一种视频服务器的 示意图;

图 4是本发明实施例提供的另一种视频服务器的 意图;

图 5是本发明实施例提供的一种通信系统的示意 ;

图 6是本发明实施例提供的一种用户终端的示意 。 具体实施方式

本发明实施例提供了视频通道管理方法和相关 设备及通信系统, 以期提高 索引用户的视频通道的效率。 以下分别进行详细说明。

为了使本技术领域的人员更好地理解本发明方 案, 下面将结合本发明实施 例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所 描述的实施例仅仅是本发明一部分的实施例, 而不是全部的实施例。 基于本发 明中的实施例, 本领域普通技术人员在没有做出创造性劳动前 提下所获得的所 有其他实施例, 都应当属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的 术语"第一"、 "第二"、 "第三"、 "第四 "等(如果存在)是用于区别类似的对象, 而不必用于描述特定的顺序或先 后次序。 应该理解这样使用的数据在适当情况下可以互 换, 以便这里描述的本 发明的实施例例如能够以除了在这里图示或描 述的那些以外的顺序实施。 此外, 术语"包括"和"具有"以及他们的任何变形, 意图在于覆盖不排他的包含, 例如, 包含了一系列歩骤或单元的过程、 方法、 系统、 产品或设备不必限于清楚地列 出的那些歩骤或单元, 而是可包括没有清楚地列出的或对于这些过程 、 方法、 本发明的一个实施例提供了一种视频通道管理 方法, 该方法可包括: 视频 服务器接收第一视频数据; 基于多重哈希算法, 查询映射记录存储区之中是否 存储有用于标识第一用户与视频通道之间的映 射关系的记录, 其中, 第一视频 数据归属于第一用户; 若查询到在上述映射记录存储区中未存储有用 于标识第 一用户与视频通道之间的映射关系的记录, 则为第一用户分配当前处于空闲状 态的第一视频通道, 将第一视频数据写入第一视频通道。

首先请参见图 1,图 1是本发明实施例提供的一种视频通道管理方 的流程 示意图。 如图 1 所示, 本发明实施例提供的一种视频通道管理方法可 包括以下 内容:

101、 视频服务器接收第一视频数据。

举例来说, 当某用户终端 (为便于引述, 可称之为第一用户终端) 与视频 服务器建立连接之后, 第一用户终端可向视频服务器发送某视频数据 (为便于 引述, 称之为第一视频数据), 视频服务器可接收来自第一用户终端的第一视 频 数据。 其中, 发送第一视频数据的第一用户终端归属于某用 户 (可称之为第一 用户)。

其中, 本发明各实施例所指的用户终端可为个人电脑 、 手机、 个人数字处 理设备或其它类型的用户终端。

其中, 第一视频数据包可为直播视频数据包, 当然也可为其它类型的视频 数据包。

102、 视频服务器基于多重哈希算法, 查询映射记录存储区之中是否存储有 用于标识第一用户与视频通道之间的映射关系 的记录, 其中, 第一视频数据归 属于第一用户。

在本发明的一些实施例中, 视频服务器在接收到第一视频数据之前, 可能 已经为第一用户分配了视频通道, 也可能还未为第一用户分配视频通道 (例如, 视频服务器可能之前始终未为第一用户分配视 频通道, 或者视频服务器也可能 将之前分配给第一用户的视频通道又重新分配 给了其它用户, 或视频服务器也 可能将之前分配给第一用户的视频通道重置为 了空闲的视频通道, 其中, 空闲 的视频通道是不归属于任何用户的)。

其中, 视频通道是视频服务器中用于存储视频数据的 存储资源 (例如内存 资源等), 其中, 视频通道中可记录时间戳 (其中, 该时间戳可用于记录视频通 道最新一次使用的时间)、 该视频通道中还可记录当前所属用户的用户标 识等信 息。

103、 视频服务器若查询到在上述映射记录存储区中 未存储有用于标识第一 用户与视频通道之间的映射关系的记录, 则为第一用户分配当前处于空闲状态 的第一视频通道。

其中, 视频服务器若查询到在上述映射记录存储区中 未存储有用于标识第 一用户与视频通道之间的映射关系的记录, 则表示视频服务器当前可能还未为 第一用户分配视频通道。

在本发明的一些实施例中, 上述为第一用户分配当前处于空闲状态的第一 视频通道可包括: 基于空闲链表为第一用户分配当前处于空闲状 态的第一视频 通道, 其中, 上述空闲链表中存储了当前处于空闲状态的包 括第一视频通道在 内的若干个视频通道所对应的视频通道标识。 其中, 第一视频通道的视频通道 标识记录在上述空闲链表中的首部或尾部或其 他任意位置。

104、 将第一视频数据写入第一视频通道。

在本发明的一些实施例中, 视频服务器还可进一歩在第一视频通道中标识 第一视频通道归属于第一用户 (例如可将第一用户的用户标识写入第一视频 通 道之中)。

在本发明的一些实施例中, 视频服务器还可进一歩生成用于标识第一用户 与第一视频通道之间的映射关系的第一记录, 基于多重哈希算法计算得到第一 存储地址, 将第一记录写入第一存储地址所指向的第一存 储空间, 其中, 第一 存储空间归属于上述映射记录存储区。

在本发明的一些实施例中, 视频服务器若将第一视频数据写入到第一视频 通道, 则还可进一歩更新第一视频通道的时间戳, 可以理解的是, 更新后的第 一视频通道的时间戳所表示的时间可为将第一 视频数据写入第一视频通道时的 时间。

在本发明的一些实施例中, 上述多重哈希算法的输入例如为第一用户的用 户代码 (其中, 用户代码为若干个数字), 其中, 第一用户的用户代码为第一用 户的用户标识或基于第一用户的用户标识转换 得到。

在本发明的一些实施例中, K≥N*M*P, 其中, 上述 K表示上述映射记录存 储区的总存储空间大小, 其中, 上述 M表示上述视频服务器所能提供的视频通 道总数, 其中, 上述 P表示存储一条用于标识用户与视频通道之间 映射关系 的记录所占用的存储空间大小, 其中, 上述 N为正整数。 举例来说, 上述 N例 如可等于 1、 2、 3、 4、 5、 6或其它值。

举例来说, 假设 P=10字节, M等于 100, N等于 6, 则 K可以大于或等于 6000字节。 由于映射记录存储区的空间足够大, 能够对视频服务器所能提供的 全部视频通道进行寻址, 这样有利于更充分的将视频服务器所能提供的 视频通 道尽可能完全充分的进行分配, 这也有利于提高视频通道的利用率。

例如, 映射记录存储区可包括至少 N个映射记录子存储区, 而每个映射记 录子存储区的存储空间大小大于或等于 M*P, 其中, 上述 M表示上述视频服务 器所能提供的视频通道总数, 其中, 上述 P表示存储一条用于标识用户与视频 通道之间的映射关系的记录所占用的存储空间 大小。 而在此场景下, 多重哈希 算法之中的每重哈希算法对应不同的映射记录 子存储区, 每重哈希算法的分母 不同, 且分母可为小于 M的质数。

在本发明的一些实施例中, 上述方法还包括: 视频服务器若查询到在上述 映射记录存储区中存储有用于标识第一用户与 第二视频通道之间的映射关系的 第二记录, 则可将第一视频数据写入第二视频通道。 此外, 视频服务器还可进 一歩在第二视频通道标识第二视频通道归属于 第一用户 (例如可将第一用户的 用户标识写入第二视频通道之中)。

其中, 视频服务器若查询到在上述映射记录存储区中 存储有用于标识第一 用户与第二视频通道之间的映射关系的第二记 录, 则表示视频服务器此前已经 为第一用户分配了第二视频通道。

在本发明的一些实施例中, 视频服务器还可进一歩在满足设定的通道重置 条件时, 将当前已超时的部分或全部视频通道重置为空 闲的视频通道。 在本发 明的一些实施例中, 已超时的视频通道可指该视频通道对应的时间 戳所表示的 时间滞后当前时间超过第一时长阈值, 其中, 第一时长阈值例如可为一秒钟、 两秒钟、 三秒钟或根据实际需要设定的其它时长。 其中, 已超时的视频通道是 属于某用户的。 例如, 当检测到第一视频通道或第二视频通道超时, 视频服务 器可将第一视频通道或第二视频通道重置为空 闲的视频通道, 可将重置为空闲 的第一视频通道或第二视频通道的视频通道标 识记录在上述空闲链表中的首部 或尾部或任意位置。 进一歩的, 视频服务器若将第一视频通道或第二视频通道 重置为空闲的视频通道, 则还可进一歩删除映射记录存储区之存储的用 于标识 第一用户与第一视频通道或第二视频通道之间 的映射关系的记录。

在本发明的一些实施例中, 通道重置条件可以是根据实际场景需要而设定 的各种可行的条件。 例如通道重置条件可包含如下条件的至少一个 : 当前空闲 的视频通道数量少于设定的第一阈值 (例如 10个或其它值)、 当前空闲的视频 通道数量占总通道数的比例少于设定的第二阈 值(如 15%或其它值)、 接收到超 时视频通道重置指令、 当前已超时的视频通道数量大于设定的第三阈 值 (例如 20个或其它值)、 设定的重置周期(如 1分钟、 两分钟或其它值) 到达、 当前已 超时的视频通道数量占总通道数的比例大于设 定的第四阈值 (例如 50%或其它 值)、 当前已超时的视频通道数量与当前空闲的视频 通道数量的比值大于设定的 第五阈值 (例如 100%或其它值)。

其中, 本发明实施例的各阈值 (如第一阈值、 第二阈值、 第三阈值、 第四 阈值和第五阈值等) 的取值可根据具体场景需要进行设定, 只要能满足实际需 要即可。

可以理解, 由于在满足设定的通道重置条件时, 可将当前已超时的部分或 全部视频通道重置为空闲的视频通道, 基于这一机制, 则视频服务器可批量的 获得空闲的视频通道, 为后续提高视频通道的利用效率奠定基础。

在本发明的一些实施例中, 在满足设定的通道重置条件时, 将当前已超时 的部分或全部视频通道重置为空闲的视频通道 , 可包括:

在当前空闲的视频通道数量少于设定的第一阈 值时, 将当前已超时的部分 或全部视频通道重置为空闲的视频通道; 或, 在当前空闲的视频通道数量占总 通道数的比例少于设定的第二阈值时, 将当前已超时的部分或全部视频通道重 置为空闲的视频通道; 或, 在接收到超时视频通道重置指令时将当前已超 时的 部分或全部视频通道重置为空闲的视频通道; 或者, 在设定的重置周期到达时 将当前已超时的部分或全部视频通道重置为空 闲的视频通道; 或者, 在当前已 超时的视频通道数量大于设定的第三阈值时, 将当前已超时的部分或全部视频 通道重置为空闲的视频通道; 或, 在当前已超时的视频通道数量占总通道数的 比例大于设定的第四阈值时, 将当前已超时的部分或全部视频通道重置为空 闲 的视频通道; 或, 在当前已超时的视频通道数量, 与当前空闲的视频通道数量 的比值大于设定的第五阈值时, 将当前已超时的部分或全部视频通道重置为空 闲的视频通道。

由上可见, 本发明实施例中, 在视频服务器接收到第一视频数据之后, 基 于多重哈希算法, 查询映射记录存储区之中是否存储有用于标识 第一用户与视 频通道之间的映射关系的记录, 其中, 第一视频数据归属于第一用户; 若查询 到在映射记录存储区中未存储有用于标识第一 用户与视频通道之间的映射关系 的记录, 则为第一用户分配当前处于空闲状态的第一视 频通道, 将第一视频数 据写入第一视频通道。 由于视频服务器专门开辟了映射记录存储区来 存储用于 标识用户与视频通道之间的映射关系的记录, 并基于多重哈希算法来查询映射 记录存储区之中是否存储有用于标识第一用户 与视频通道之间的映射关系的记 录, 这种索引用户的视频通道的技术有利于提高用 户视频通道的索引效率。

为便于更好的理解和实施本发明实施例的上述 方面, 下面通过举例几个应 用场景进行进一歩介绍。

请参见图 2,图 2是本发明实施例提供的另一种语音通道分配 理方法的流 程示意图。 如图 2所示, 本发明实施例提供的另一种语音通道分配管理 方法可 包括以下内容:

201、 第一用户终端向视频服务器发送第一视频数据 。

举例来说, 当某用户终端 (为便于引述, 可称之为第一用户终端) 与视频 服务器建立连接之后, 第一用户终端可向视频服务器发送某视频数据 (为便于 引述, 称之为第一视频数据), 视频服务器可接收来自第一用户终端的第一视 频 数据。 其中, 发送第一视频数据的第一用户终端归属于某用 户 (可称之为第一 用户)。

其中, 本发明各实施例所指的用户终端可为个人电脑 、 手机、 个人数字处 理设备或其它类型的用户终端。

其中, 第一视频数据包可为直播视频数据包, 当然也可为其它类型的视频 数据包。

202、 视频服务器接收第一用户终端的第一视频数据 , 视频服务器基于多重 哈希算法, 查询映射记录存储区之中是否存储有用于标识 第一用户与视频通道 之间的映射关系的记录, 其中, 第一视频数据归属于第一用户。

其中, 视频服务器若查询到在上述映射记录存储区中 未存储有用于标识第 一用户与视频通道之间的映射关系的记录, 则执行歩骤 203 ; 视频服务器若查询 到在上述映射记录存储区中存储有用于标识第 一用户与第二视频通道之间的映 射关系的第二记录, 则执行歩骤 207和 208;

其中, 视频服务器若查询到在上述映射记录存储区中 未存储有用于标识第 一用户与视频通道之间的映射关系的记录, 则表示视频服务器当前可能还未为 第一用户分配视频通道。 其中, 视频服务器若查询到在上述映射记录存储区中 存储有用于标识第一用户与第二视频通道之间 的映射关系的第二记录, 则表示 视频服务器此前已经为第一用户分配了第二视 频通道。

在本发明的一些实施例中, 视频服务器在接收到第一视频数据之前, 可能 已经为第一用户分配了视频通道, 也可能还未为第一用户分配视频通道 (例如, 视频服务器可能之前始终未为第一用户分配视 频通道, 或者视频服务器也可能 将之前分配给第一用户的视频通道又重新分配 给了其它用户, 或视频服务器也 可能将之前分配给第一用户的视频通道重置为 了空闲的视频通道, 其中, 空闲 的视频通道是不归属于任何用户的)。

其中, 视频通道是视频服务器中用于存储视频数据的 存储资源 (例如内存 资源等), 其中, 视频通道中可记录时间戳 (其中, 该时间戳可用于记录视频通 道最新一次使用的时间)、 该视频通道中还可记录当前所属用户的用户标 识等等 自

203、 视频服务器若查询到在上述映射记录存储区中 未存储有用于标识第一 用户与视频通道之间的映射关系的记录, 则基于空闲链表尝试为第一用户分配 当前处于空闲状态的视频通道;

若基于空闲链表为第一用户成功分配到了当前 处于空闲状态的第一视频通 道, 则执行歩骤 204、 205和 206; 若基于空闲链表未能成功为第一用户分配到 当前处于空闲状态的任何视频通道, 则执行歩骤 209。

204、 将第一视频数据写入第一视频通道。

其中, 上述空闲链表中存储了当前处于空闲状态的包 括第一视频通道在内 的若干个视频通道所对应的视频通道标识。 其中, 第一视频通道的视频通道标 识记录在上述空闲链表中的首部或尾部或其他 任意位置。

在本发明的一些实施例中, 视频服务器还可进一歩在第一视频通道标识第 二视频通道归属于第一用户 (例如可将第一用户的用户标识写入第二视频 通道 之中)。 205、 视频服务器可生成用于标识第一用户与第一视 频通道之间的映射关系 的第一记录, 基于多重哈希算法计算得到第一存储地址, 将第一记录写入第一 存储地址所指向的第一存储空间, 其中, 第一存储空间归属于上述映射记录存 储区。

206、 视频服务器更新第一视频通道的时间戳。

可以理解的是, 更新后的第一视频通道的时间戳所表示的时间 为将第一视 频数据写入第一视频通道时的时间。 其中, 歩骤 204 206 的执行顺序可以是任 意的, 没有必然的先后顺序。

在本发明的一些实施例中, 上述多重哈希算法的输入例如为第一用户的用 户代码 (其中, 用户代码为若干个数字), 其中, 第一用户的用户代码为第一用 户的用户标识或基于第一用户的用户标识转换 得到。

在本发明的一些实施例中, K≥N*M*P, 其中, 上述 K表示上述映射记录存 储区的总存储空间大小, 其中, 上述 M表示上述视频服务器所能提供的视频通 道总数, 其中, 上述 P表示存储一条用于标识用户与视频通道之间 映射关系 的记录所占用的存储空间大小, 其中, 上述 N为正整数。 举例来说, 上述 N例 如可等于 1、 2、 3、 4、 5、 6或其它值。

举例来说, 假设 P=10字节, M等于 100, N等于 6, 则 K可以大于或等于 6000字节。 由于映射记录存储区的空间足够大, 能够对视频服务器所能提供的 全部视频通道进行寻址, 这样有利于更充分的将视频服务器所能提供的 视频通 道尽可能完全充分的进行分配, 这也有利于提高视频通道的利用率。

例如, 映射记录存储区可包括至少 N个映射记录子存储区, 而每个映射记 录子存储区的存储空间大小大于或等于 M*P, 其中, 上述 M表示上述视频服务 器所能提供的视频通道总数, 其中, 上述 P表示存储一条用于标识用户与视频 通道之间的映射关系的记录所占用的存储空间 大小。 而在此场景下, 多重哈希 算法之中的每重哈希算法对应不同的映射记录 子存储区, 每重哈希算法的分母 不同, 且分母可为小于 M的质数。

207、 视频服务器若查询到在上述映射记录存储区中 存储有用于标识第一用 户与第二视频通道之间的映射关系的第二记录 , 则可将第一视频数据写入第二 视频通道。

在本发明的一些实施例中, 视频服务器还可进一歩在第二视频通道标识第 二视频通道归属于第一用户 (例如可将第一用户的用户标识写入第二视频 通道 之中)。

208、 视频服务器更新第二视频通道的时间戳。

可以理解的是, 更新后的第二视频通道的时间戳所表示的时间 为将第一视 频数据写入第二视频通道时的时间。 其中, 歩骤 207 208 的执行顺序可以是任 意的, 没有必然的先后顺序。

209、 视频服务器向用户终端发送用于提示获取视频 通道失败的提示消息。 在本发明的一些实施例中, 视频服务器还可进一歩在满足设定的通道重置 条件时, 将当前已超时的部分或全部视频通道重置为空 闲的视频通道。 在本发 明的一些实施例中, 已超时的视频通道可指该视频通道对应的时间 戳所表示的 时间滞后当前时间超过第一时长阈值, 其中, 第一时长阈值例如可为一秒钟、 两秒钟、 三秒钟或根据实际需要设定的其它时长。 其中, 已超时的视频通道是 属于某用户的。 例如, 当检测到第一视频通道或第二视频通道超时, 视频服务 器可将第一视频通道或第二视频通道重置为空 闲的视频通道, 可将重置为空闲 的第一视频通道或第二视频通道的视频通道标 识记录在上述空闲链表中的首部 或尾部或任意位置。 进一歩的, 视频服务器若将第一视频通道或第二视频通道 重置为空闲的视频通道, 则还可进一歩删除映射记录存储区之存储的用 于标识 第一用户与第一视频通道或第二视频通道之间 的映射关系的记录。

在本发明的一些实施例中, 通道重置条件可以是根据实际场景需要而设定 的各种可行的条件。 例如通道重置条件可包含如下条件的至少一个 : 当前空闲 的视频通道数量少于设定的第一阈值 (例如 10个或其它值)、 当前空闲的视频 通道数量占总通道数的比例少于设定的第二阈 值(如 15%或其它值)、 接收到超 时视频通道重置指令、 当前已超时的视频通道数量大于设定的第三阈 值 (例如 20个或其它值)、 设定的重置周期(如 1分钟、 两分钟或其它值) 到达、 当前已 超时的视频通道数量占总通道数的比例大于设 定的第四阈值 (例如 50%或其它 值)、 当前已超时的视频通道数量与当前空闲的视频 通道数量的比值大于设定的 第五阈值 (例如 100%或其它值)。

其中, 本发明实施例的各阈值 (如第一阈值、 第二阈值、 第三阈值、 第四 阈值和第五阈值等) 的取值可根据具体场景需要进行设定, 只要能满足实际需 要即可。 可以理解, 由于在满足设定的通道重置条件时, 可将当前已超时的部分或 全部视频通道重置为空闲的视频通道, 基于这一机制, 则视频服务器可批量的 获得空闲的视频通道, 为后续提高视频通道的利用效率奠定基础。

在本发明的一些实施例中, 在满足设定的通道重置条件时, 将当前已超时 的部分或全部视频通道重置为空闲的视频通道 , 可包括:

在当前空闲的视频通道数量少于设定的第一阈 值时, 将当前已超时的部分 或全部视频通道重置为空闲的视频通道; 或, 在当前空闲的视频通道数量占总 通道数的比例少于设定的第二阈值时, 将当前已超时的部分或全部视频通道重 置为空闲的视频通道; 或, 在接收到超时视频通道重置指令时将当前已超 时的 部分或全部视频通道重置为空闲的视频通道; 或者, 在设定的重置周期到达时 将当前已超时的部分或全部视频通道重置为空 闲的视频通道; 或者, 在当前已 超时的视频通道数量大于设定的第三阈值时, 将当前已超时的部分或全部视频 通道重置为空闲的视频通道; 或, 在当前已超时的视频通道数量占总通道数的 比例大于设定的第四阈值时, 将当前已超时的部分或全部视频通道重置为空 闲 的视频通道; 或, 在当前已超时的视频通道数量, 与当前空闲的视频通道数量 的比值大于设定的第五阈值时, 将当前已超时的部分或全部视频通道重置为空 闲的视频通道。

由上可见, 本发明实施例中, 由于视频服务器专门开辟了映射记录存储区 来存储用于标识用户与视频通道之间的映射关 系的记录, 并基于多重哈希算法 来查询映射记录存储区之中是否存储有用于标 识第一用户与视频通道之间的映 射关系的记录, 这种索引用户的视频通道的技术有利于提高用 户视频通道的索 引效率。

为便于更好的理解和实施本发明实施例的上述 方面, 下面举例一个更为具 体应用场景进行进一歩介绍。

假设视频服务器可提供 1000个视频通道。 映射记录存储区可包括至少 6个 映射记录子存储区 (即映射记录子存储区 sl~s6), 而每个映射记录子存储区的 存储空间大小大于或等于 1000*P, 其中, 上述 P表示存储一条用于标识用户与 视频通道之间的映射关系的记录所占用的存储 空间大小。

假设视频服务器接收来自用户终端 a的视频数据 si, 其中, 视频数据 si中 携带用户 A的用户标识; 视频服务器基于多重哈希算法, 以用户 A的用户标识 作为多重哈希算法的输入,查询映射记录存储 区之中是否存储有用于标识用户 A 与视频通道之间的映射关系的记录。

假设哈希算法为取模运算, 用户 A的用户标识 100000000, 若哈希算法的 分母是 997 (质数), 那么哈希算法的计算结果是 100000000%997=900。 在一些 实施例中, 若设置哈希空间大小最大为 1000, 哈希级数是 6, 则每级哈希的哈 希函数分母可等于满足以下两个条件的最大质 数: (1 ) 不同于其它级哈希函数 的分母, 且 (2 ) 小于哈希空间大小。 例如 6级哈希的哈希函数分母可分别为: 997、 991、 983、 977、 971和 967。

其中, 假设用户标识 100000000, 则基于多重哈希算法查询映射记录存储区 之中是否存储有用于标识用户 A与视频通道之间的映射关系的记录的具体方 可如下:

歩骤 a、 100000000%997=900, 若映射记录子存储区 si 中与存储地址 900 对应的存储空间存储有用于标识用户 A与视频通道之间的映射关系的记录, 则 获取该记录中视频通道标识; 若映射记录子存储区 si中与存储地址 900对应的 存储空间未存储有用于标识用户 A与视频通道之间的映射关系的记录, 则执行 歩骤 b;

歩骤 b、 100000000%991=172, 若映射记录子存储区 s2 中与存储地址 172 对应的存储空间存储有用于标识用户 A与视频通道之间的映射关系的记录, 则 获取该记录中视频通道标识; 若映射记录子存储区 s2中与存储地址 172对应的 存储空间未存储有用于标识用户 A与视频通道之间的映射关系的记录, 则执行 歩骤 c ;

歩骤 c、 100000000%983=393 , 若映射记录子存储区 s3 中与存储地址 393 对应的存储空间存储有用于标识用户 A与视频通道之间的映射关系的记录, 则 获取该记录中视频通道标识; 若映射记录子存储区 s3中与存储地址 393对应的 存储空间未存储有用于标识用户 A与视频通道之间的映射关系的记录, 则执行 歩骤山

歩骤 d、 100000000%977=142, 若映射记录子存储区 s4 中与存储地址 142 对应的存储空间存储有用于标识用户 A与视频通道之间的映射关系的记录, 则 获取该记录中视频通道标识; 若映射记录子存储区 s4中与存储地址 142对应的 存储空间未存储有用于标识用户 A与视频通道之间的映射关系的记录, 则执行 歩骤 e;

歩骤 e、 100000000%971=594, 若映射记录子存储区 s5 中与存储地址 594 对应的存储空间存储有用于标识用户 A与视频通道之间的映射关系的记录, 则 获取该记录中视频通道标识; 若映射记录子存储区 s5中与存储地址 594对应的 存储空间未存储有用于标识用户 A与视频通道之间的映射关系的记录, 则执行 歩骤 f;

歩骤 f、 100000000%967=596, 若映射记录子存储区 s6 中与存储地址 596 对应的存储空间存储有用于标识用户 A与视频通道之间的映射关系的记录, 则 获取该记录中视频通道标识; 若映射记录子存储区 s6中与存储地址 596对应的 存储空间未存储有用于标识用户 A与视频通道之间的映射关系的记录, 则返回 查询记录失败指令。

其中, 视频服务器若查询到在映射记录存储区中存储 有用于标识用户 A与 第二视频通道之间的映射关系的记录, 则基于记录中的第二视频通道的视频通 道标识, 将第一视频数据写入第二视频通道。

此外, 视频服务器若查询到在映射记录存储区中未存 储有用于标识用户 A 与视频通道之间的映射关系的记录, 则基于空闲链表为用户 A分配当前处于空 闲状态的第一视频通道, 将第一视频数据写入第一视频通道, 并更新第一视频 通道的时间戳。 进一歩的, 视频服务器生成用于标识第一用户与第一视频 通道 之间的映射关系的第一记录, 基于多重哈希算法计算得到第一存储地址, 将第 一记录写入第一存储地址所指向的第一存储空 间, 其中, 第一存储空间归属于 上述映射记录存储区。

其中, 基于多重哈希算法计算得到第一存储地址的方 式, 与查找映射记录 存储区中是否存储有用于标识用户 A与视频通道之间的映射关系的记录的方式 类似。

假设用户标识 100000000,则基于多重哈希算法计算得到第一存 储地址的方 式的具体方式可如下:

歩骤 a2、 100000000%997=900, 若映射记录子存储区 si中与存储地址 900 对应的存储空间未被占用, 则第一存储地址为存储地址 900; 映射记录子存储区 si中与存储地址 900对应的存储空间被占用, 则执行歩骤 b2 ;

歩骤 b2、 100000000%991=172, 若映射记录子存储区 s2中与存储地址 172 对应的存储空间未被占用, 则第一存储地址为存储地址 172 ; 若映射记录子存储 区 s2中与存储地址 172对应的存储空间被占用, 则执行歩骤 c2 ;

歩骤 c2、 100000000%983=393 , 若映射记录子存储区 s3中与存储地址 393 对应的存储空间存储未被占用, 则第一存储地址为存储地址 393 ; 若映射记录子 存储区 s3中与存储地址 393对应的存储空间被占用, 则执行歩骤 d2 ;

歩骤 d2、 100000000%977=142 , 若映射记录子存储区 s4中与存储地址 142 对应的存储空间未被占用, 则第一存储地址为存储地址 142 ; 若映射记录子存储 区 s4中与存储地址 142对应的存储空间被占用, 则执行歩骤 e2 ;

歩骤 e2、 100000000%971=594 , 若映射记录子存储区 s5中与存储地址 594 对应的存储空间未被占用, 则第一存储地址为存储地址 594 ; 若映射记录子存储 区 s5中与存储地址 594对应的存储空间被占用, 则执行歩骤 f2 ;

歩骤 f2、 100000000%967=596 , 若映射记录子存储区 s6中与存储地址 596 对应的存储空间未被占用, 则第一存储地址为存储地址 596 ; 若映射记录子存储 区 s6中与存储地址 596对应的存储空间被占用, 则返回地址分配失败指令。

可以理解, 上述举例的哈希算法为可实施的其中一种哈希 算法, 在实际应 用中还可以根据需要选用其它哈希算法, 此处不再一一赘述。

为便于更好的实施本发明实施例的上述方案, 下面还提供用于实施上述方 案的相关装置。

参见图 3-a, 本发明实施例提供一种视频服务器 300, 可包括:

接收单元 310、 查询单元 320、 分配单元 330和写入单元 340。

其中, 接收单元 310, 用于接收第一视频数据。

举例来说, 当某用户终端 (为便于引述, 可称之为第一用户终端) 与视频 服务器建立连接之后, 第一用户终端可向视频服务器发送某视频数据 (为便于 引述, 称之为第一视频数据), 视频服务器可接收来自第一用户终端的第一视 频 数据。 其中, 发送第一视频数据的第一用户终端归属于某用 户 (可称之为第一 用户)。

其中, 本发明各实施例所指的用户终端可为个人电脑 、 手机、 个人数字处 理设备或其它类型的用户终端。

其中, 第一视频数据包可为直播视频数据包, 当然也可为其它类型的视频 数据包。 查询单元 320, 用于基于多重哈希算法, 查询映射记录存储区之中是否存储 有用于标识第一用户与视频通道之间的映射关 系的记录, 其中, 所述第一视频 数据归属于所述第一用户。

在本发明一些实施例中, 视频服务器 300接收到第一视频数据之前, 可能 已经为第一用户分配了视频通道, 也可能还未为第一用户分配视频通道 (视频 服务器 300可能之前始终未为第一用户分配视频通道, 或者视频服务器 300也 可能将之前分配给第一用户的视频通道又重新 分配给了其它用户, 或视频服务 器 300 也可能将之前分配给第一用户的视频通道重置 为了空闲的视频通道, 其 中空闲的视频通道是不归属于任何用户的)。

其中, 视频通道是视频服务器 300 中用于存储视频数据的存储资源 (例如 内存资源等), 其中, 视频通道中可记录时间戳 (其中, 该时间戳可用于记录视 频通道最新一次使用的时间)、 该视频通道中还可记录当前所属用户的用户标 识 j I^ R Ή自 分配单元 330,用于若查询到在所述映射记录存储区中未 存储有用于标识所 述第一用户与视频通道之间的映射关系的记录 , 则为所述第一用户分配当前处 于空闲状态的第一视频通道。

写入单元 340, 用于将第一视频数据写入第一视频通道。

在本发明的一些实施例中, 写入单元 340还可进一歩在第一视频通道中标 识第一视频通道归属于第一用户 (例如可将第一用户的用户标识写入第一视频 通道之中)。

参见图 3-b, 在本发明的一些实施例中, 视频服务器 300还可包括: 记录维护单元 350,用于生成用于标识所述第一用户与所述第 一视频通道之 间的映射关系的第一记录, 基于多重哈希算法计算得到第一存储地址, 将所述 第一记录写入所述第一存储地址所指向的第一 存储空间, 其中, 所述第一存储 空间归属于所述映射记录存储区。

在本发明的一些实施例中, 写入单元 340还用于, 若查询到在所述映射记 录存储区中存储有用于标识所述第一用户与第 二视频通道之间的映射关系的第 二记录, 则将所述第一视频数据写入所述第二视频通道 。

在本发明的一些实施例中, 写入单元 340还可进一歩在第二视频通道中标 识第二视频通道归属于第一用户 (例如可将第一用户的用户标识写入第二视频 通道之中)。

参见图 3-c, 在本发明的一些实施例中, 视频服务器还包括: 时间戳更新单 元 360, 用于若写入单元 340将所述第一视频数据写入所述第一视频通道 , 则更 新所述第一视频通道的时间戳; 或者, 若写入单元 340将所述第一视频数据写 入所述第二视频通道, 则更新所述第二视频通道的时间戳。

在本发明的一些实施例中, 在所述为所述第一用户分配当前处于空闲状态 的第一视频通道的方面, 分配单元 330可具体用于, 基于空闲链表为所述第一 用户分配当前处于空闲状态的第一视频通道, 其中, 所述空闲链表中存储了当 前处于空闲状态的包括第一视频通道在内的若 干个视频通道所对应的视频通道 标识。

在本发明的一些实施例中, 上述多重哈希算法的输入例如为第一用户的用 户代码。 其中, 用户代码例如为若干个数字。 其中, 第一用户的用户代码可以 为第一用户的用户标识或基于第一用户的用户 标识转换得到。

在本发明的一些实施例中, K≥N*M*P, 其中, 上述 K表示上述映射记录存 储区的总存储空间大小, 其中, 上述 M表示上述视频服务器所能提供的视频通 道总数, 其中, 上述 P表示存储一条用于标识用户与视频通道之间 映射关系 的记录所占用的存储空间大小, 其中, 上述 N为正整数。 举例来说, 上述 N例 如可等于 1、 2、 3、 4、 5、 6或其它值。

举例来说, 假设 P=10字节, M等于 100, N等于 6, 则 K可以大于或等于 6000字节。 由于映射记录存储区的空间足够大, 能够对视频服务器所能提供的 全部视频通道进行寻址, 这样有利于更充分的将视频服务器所能提供的 视频通 道尽可能完全充分的进行分配, 这也有利于提高视频通道的利用率。

例如, 映射记录存储区可包括至少 N个映射记录子存储区, 而每个映射记 录子存储区的存储空间大小大于或等于 M*P, 其中, 上述 M表示上述视频服务 器所能提供的视频通道总数, 其中, 上述 P表示存储一条用于标识用户与视频 通道之间的映射关系的记录所占用的存储空间 大小。 而在此场景下, 多重哈希 算法之中的每重哈希算法对应不同的映射记录 子存储区, 每重哈希算法的分母 不同, 且分母可为小于 M的质数。

在本发明的一些实施例中, 视频服务器 300还包括通道管理单元, 用于在 满足设定的通道重置条件时, 将当前已超时的部分或全部视频通道重置为空 闲 的视频通道。 在本发明的一些实施例中, 已超时的视频通道可指该视频通道对 应的时间戳所表示的时间滞后当前时间超过第 一时长阈值, 其中, 第一时长阈 值例如可为一秒钟、 两秒钟、 三秒钟或根据实际需要设定的其它时长。 其中已 超时的视频通道是属于某用户的。 例如, 当检测到第一视频通道或第二视频通 道超时, 通道管理单元可将第一视频通道或第二视频通 道重置为空闲的视频通 道, 可将重置为空闲的第一视频通道或第二视频通 道的视频通道标识记录在上 述空闲链表中的首部或尾部或任意位置。 进一歩的, 若通道管理单元将第一视 频通道或第二视频通道重置为空闲的视频通道 , 则记录维护单元 350还可进一 歩删除映射记录存储区之存储的用于标识第一 用户与第一视频通道或第二视频 通道之间的映射关系的记录。

在本发明的一些实施例中, 通道重置条件可以是根据实际场景需要而设定 的各种可行的条件。 例如通道重置条件可包含如下条件的至少一个 : 当前空闲 的视频通道数量少于设定的第一阈值 (例如 10个或其它值)、 当前空闲的视频 通道数量占总通道数的比例少于设定的第二阈 值(如 15%或其它值)、 接收到超 时视频通道重置指令、 当前已超时的视频通道数量大于设定的第三阈 值 (例如 20个或其它值)、 设定的重置周期(如 1分钟、 两分钟或其它值) 到达、 当前已 超时的视频通道数量占总通道数的比例大于设 定的第四阈值 (例如 50%或其它 值)、 当前已超时的视频通道数量与当前空闲的视频 通道数量的比值大于设定的 第五阈值 (例如 100%或其它值)。

其中, 本发明实施例的各阈值 (如第一阈值、 第二阈值、 第三阈值、 第四 阈值和第五阈值等) 的取值可根据具体场景需要进行设定, 只要能满足实际需 要即可。

可以理解, 由于在满足设定的通道重置条件时, 可将当前已超时的部分或 全部视频通道重置为空闲的视频通道, 基于这一机制, 则视频服务器可批量的 获得空闲的视频通道, 为后续提高视频通道的利用效率奠定基础。

在本发明的一些实施例中, 在满足设定的通道重置条件时, 将当前已超时 的部分或全部视频通道重置为空闲的视频通道 , 可包括:

在当前空闲的视频通道数量少于设定的第一阈 值时, 将当前已超时的部分 或全部视频通道重置为空闲的视频通道; 或, 在当前空闲的视频通道数量占总 通道数的比例少于设定的第二阈值时, 将当前已超时的部分或全部视频通道重 置为空闲的视频通道; 或, 在接收到超时视频通道重置指令时将当前已超 时的 部分或全部视频通道重置为空闲的视频通道; 或者, 在设定的重置周期到达时 将当前已超时的部分或全部视频通道重置为空 闲的视频通道; 或者, 在当前已 超时的视频通道数量大于设定的第三阈值时, 将当前已超时的部分或全部视频 通道重置为空闲的视频通道; 或, 在当前已超时的视频通道数量占总通道数的 比例大于设定的第四阈值时, 将当前已超时的部分或全部视频通道重置为空 闲 的视频通道; 或, 在当前已超时的视频通道数量, 与当前空闲的视频通道数量 的比值大于设定的第五阈值时, 将当前已超时的部分或全部视频通道重置为空 闲的视频通道。

可以理解的是, 本实施例的视频服务器 300 的各功能模块的功能可根据上 述方法实施例中的方法具体实现, 其具体实现过程可以参照上述方法实施例的 相关描述, 此处不再赘述。

由上可见, 本发明实施例中, 在视频服务器的接收单元 310接收到第一视 频数据之后; 查询单元 320 基于多重哈希算法, 查询映射记录存储区之中是否 存储有用于标识第一用户与视频通道之间的映 射关系的记录, 其中, 第一视频 数据归属于第一用户; 若查询到在映射记录存储区中未存储有用于标 识第一用 户与视频通道之间的映射关系的记录, 则分配单元 330 为第一用户分配当前处 于空闲状态的第一视频通道, 写入单元 340将第一视频数据写入第一视频通道。 由于视频服务器专门开辟了映射记录存储区来 存储用于标识用户与视频通道之 间的映射关系的记录, 并基于多重哈希算法来查询映射记录存储区之 中是否存 储有用于标识第一用户与视频通道之间的映射 关系的记录, 这种索引用户的视 频通道的技术有利于提高用户视频通道的索引 效率。

参见图 4, 图 4是本发明另一实施例提供的视频服务器 400的结构框图。 其中, 视频服务器 400可以包括: 至少一个处理器 401, 至少一个网络接口 404或者其他用户接口 403, 存储器 405, 至少一个通信总线 402。通信总线 402 用于实现这些组件之间的连接通信。 其中, 该视频服务器 400可选的包含用户 接口 403, 包括: 显示器(例如, 触摸屏、 LCD、 CRT, 全息成像(Holographic) 或者投影 (Projector) 等)、 点击设备 (例如, 鼠标, 轨迹球 (trackball) 触感板 或触摸屏等)、 摄像头和 /或拾音装置等。

其中, 存储器 402可以包括只读存储器和随机存取存储器, 并向处理器 401 提供指令和数据。 存储器 402 中的一部分还可以包括非易失性随机存取存储 器 (NVRAM)

在一些实施方式中, 存储器 405存储了如下的元素, 可执行模块或者数据 结构, 或者他们的子集, 或者他们的扩展集:

操作系统 4051, 包含各种系统程序, 用于实现各种基础业务以及处理基于 硬件的任务;

应用程序模块 4052, 包含各种应用程序, 用于实现各种应用业务。

应用程序模块 4052中包括但不限于用于实现接收单元 310、 查询单元 320、 分配单元 330、写入单元 340、记录维护单元 350和 /或时间戳更新单元 360等的 模块。

在本发明实施例中, 通过由处理器 401调用存储器 405存储的程序或指令 来实现下述操作: 接收第一视频数据; 基于多重哈希算法, 查询映射记录存储 区之中是否存储有用于标识第一用户与视频通 道之间的映射关系的记录, 其中, 第一视频数据归属于第一用户; 若查询到在上述映射记录存储区中未存储有用 于标识第一用户与视频通道之间的映射关系的 记录, 则为第一用户分配当前处 于空闲状态的第一视频通道, 将第一视频数据写入第一视频通道。

举例来说, 当某用户终端 (为便于引述, 可称之为第一用户终端) 与视频 服务器建立连接之后, 第一用户终端可向视频服务器发送某视频数据 (为便于 引述, 称之为第一视频数据), 视频服务器可接收来自第一用户终端的第一视 频 数据。 其中, 发送第一视频数据的第一用户终端归属于某用 户 (可称之为第一 用户)。

其中, 本发明各实施例所指的用户终端可为个人电脑 、 手机、 个人数字处 理设备或其它类型的用户终端。

其中, 第一视频数据包可为直播视频数据包, 当然也可为其它类型的视频 数据包。

在本发明一些实施例中, 在接收到第一视频数据之前, 可能已经为第一用 户分配了视频通道, 也可能还未为第一用户分配视频通道 (可能之前始终未为 第一用户分配视频通道, 或者也可能将之前分配给第一用户的视频通道 又重新 分配给了其它用户, 或也可能将之前分配给第一用户的视频通道重 置为了空闲 的视频通道, 其中, 空闲的视频通道是不归属于任何用户的)。 其中, 视频通道是视频服务器中用于存储视频数据的 存储资源 (例如内存 资源等), 其中, 视频通道中可记录时间戳 (其中, 该时间戳可用于记录视频通 道最新一次使用的时间)、 该视频通道中还可记录当前所属用户的用户标 识等等 自

其中, 若查询到在上述映射记录存储区中未存储有用 于标识第一用户与视 频通道之间的映射关系的记录, 则表示当前可能还未为第一用户分配视频通道 。

在本发明的一些实施例中, 为第一用户分配当前处于空闲状态的第一视频 通道可包括: 基于空闲链表为第一用户分配当前处于空闲状 态的第一视频通道, 其中, 上述空闲链表中存储了当前处于空闲状态的包 括第一视频通道在内的若 干个视频通道所对应的视频通道标识。 其中, 第一视频通道的视频通道标识记 录在上述空闲链表中的首部或尾部或任意位置 。

在本发明的一些实施例中, 还可进一歩在第一视频通道中标识第一视频通 道归属于第一用户 (例如可将第一用户的用户标识写入第一视频 通道之中)。

在本发明的一些实施例中, 还可进一歩生成用于标识第一用户与第一视频 通道之间的映射关系的第一记录, 基于多重哈希算法计算得到第一存储地址, 将第一记录写入第一存储地址所指向的第一存 储空间, 其中, 第一存储空间归 属于上述映射记录存储区。

在本发明的一些实施例中, 若将第一视频数据写入到第一视频通道, 则还 可进一歩更新第一视频通道的时间戳, 可以理解的是, 更新后的第一视频通道 的时间戳所表示的时间可为将第一视频数据写 入第一视频通道时的时间。

在本发明的一些实施例中, 上述多重哈希算法的输入例如为第一用户的用 户代码 (其中, 用户代码为若干个数字), 其中, 第一用户的用户代码为第一用 户的用户标识或基于第一用户的用户标识转换 得到。

在本发明的一些实施例中, K≥N*M*P, 其中, 上述 K表示上述映射记录存 储区的总存储空间大小, 其中, 上述 M表示上述视频服务器所能提供的视频通 道总数, 其中, 上述 P表示存储一条用于标识用户与视频通道之间 映射关系 的记录所占用的存储空间大小, 其中, 上述 N为正整数。 举例来说, 上述 N例 如可等于 1、 2、 3、 4、 5、 6或其它值。

举例来说, 假设 P=10字节, M等于 100, N等于 6, 则 K可以大于或等于 6000字节。 由于映射记录存储区的空间足够大, 能够对视频服务器所能提供的 全部视频通道进行寻址, 这样有利于更充分的将视频服务器所能提供的 视频通 道尽可能完全充分的进行分配, 这也有利于提高视频通道的利用率。

例如, 映射记录存储区可包括至少 N个映射记录子存储区, 而每个映射记 录子存储区的存储空间大小大于或等于 M*P, 其中, 上述 M表示上述视频服务 器所能提供的视频通道总数, 其中, 上述 P表示存储一条用于标识用户与视频 通道之间的映射关系的记录所占用的存储空间 大小。 而在此场景下, 多重哈希 算法之中的每重哈希算法对应不同的映射记录 子存储区, 每重哈希算法的分母 不同, 且分母可为小于 M的质数。

在本发明的一些实施例中, 若查询到在上述映射记录存储区中存储有用于 标识第一用户与第二视频通道之间的映射关系 的第二记录, 则可将第一视频数 据写入第二视频通道。 此外, 视频服务器还可进一歩在第二视频通道标识第 二 视频通道归属于第一用户 (例如可将第一用户的用户标识写入第二视频 通道之 中)。

其中, 若查询到在上述映射记录存储区中存储有用于 标识第一用户与第二 视频通道之间的映射关系的第二记录, 则表示此前已经为第一用户分配了第二 视频通道。

在本发明的一些实施例中, 还可进一歩在满足设定的通道重置条件时, 将 当前已超时的部分或全部视频通道重置为空闲 的视频通道。 在本发明一些实施 例中, 已超时的视频通道可指该视频通道对应的时间 戳所表示的时间滞后当前 时间超过第一时长阈值, 其中, 第一时长阈值例如可为一秒钟、 两秒钟、 三秒 钟或根据实际需要设定的其它时长。 其中, 已超时的视频通道是属于某用户的。 例如, 当检测到第一视频通道或第二视频通道超时, 视频服务器可将第一视频 通道或第二视频通道重置为空闲的视频通道, 可将重置为空闲的第一视频通道 或第二视频通道的视频通道标识记录在上述空 闲链表中的首部或尾部或任意位 置。 进一歩的, 视频服务器若将第一视频通道或第二视频通道 重置为空闲的视 频通道, 则还可进一歩删除映射记录存储区之存储的用 于标识第一用户与第一 视频通道或第二视频通道之间的映射关系的记 录。

在本发明的一些实施例中, 通道重置条件可以是根据实际场景需要而设定 的各种可行的条件。 例如通道重置条件可包含如下条件的至少一个 : 当前空闲 的视频通道数量少于设定的第一阈值 (例如 10个或其它值)、 当前空闲的视频 通道数量占总通道数的比例少于设定的第二阈 值(如 15%或其它值)、 接收到超 时视频通道重置指令、 当前已超时的视频通道数量大于设定的第三阈 值 (例如 20个或其它值)、 设定的重置周期(如 1分钟、 两分钟或其它值) 到达、 当前已 超时的视频通道数量占总通道数的比例大于设 定的第四阈值 (例如 50%或其它 值)、 当前已超时的视频通道数量与当前空闲的视频 通道数量的比值大于设定的 第五阈值 (例如 100%或其它值)。

其中, 本发明实施例的各阈值 (如第一阈值、 第二阈值、 第三阈值、 第四 阈值和第五阈值等) 的取值可根据具体场景需要进行设定, 只要能满足实际需 要即可。

可以理解, 由于在满足设定的通道重置条件时, 可将当前已超时的部分或 全部视频通道重置为空闲的视频通道, 基于这一机制, 则视频服务器可批量的 获得空闲的视频通道, 为后续提高视频通道的利用效率奠定基础。

在本发明的一些实施例中, 在满足设定的通道重置条件时, 将当前已超时 的部分或全部视频通道重置为空闲的视频通道 , 可包括:

在当前空闲的视频通道数量少于设定的第一阈 值时, 将当前已超时的部分 或全部视频通道重置为空闲的视频通道; 或, 在当前空闲的视频通道数量占总 通道数的比例少于设定的第二阈值时, 将当前已超时的部分或全部视频通道重 置为空闲的视频通道; 或, 在接收到超时视频通道重置指令时将当前已超 时的 部分或全部视频通道重置为空闲的视频通道; 或者, 在设定的重置周期到达时 将当前已超时的部分或全部视频通道重置为空 闲的视频通道; 或者, 在当前已 超时的视频通道数量大于设定的第三阈值时, 将当前已超时的部分或全部视频 通道重置为空闲的视频通道; 或, 在当前已超时的视频通道数量占总通道数的 比例大于设定的第四阈值时, 将当前已超时的部分或全部视频通道重置为空 闲 的视频通道; 或, 在当前已超时的视频通道数量, 与当前空闲的视频通道数量 的比值大于设定的第五阈值时, 将当前已超时的部分或全部视频通道重置为空 闲的视频通道。

可以理解的是, 本实施例的视频服务器 400 的各功能模块的功能可根据上 述方法实施例中的方法具体实现, 其具体实现过程可以参照上述方法实施例的 相关描述, 此处不再赘述。

由上可见, 本实施例中, 视频服务器 400在接收到第一视频数据之后, 基 于多重哈希算法, 查询映射记录存储区之中是否存储有用于标识 第一用户与视 频通道之间的映射关系的记录, 其中, 第一视频数据归属于第一用户; 若查询 到在映射记录存储区中未存储有用于标识第一 用户与视频通道之间的映射关系 的记录, 则为第一用户分配当前处于空闲状态的第一视 频通道, 将第一视频数 据写入第一视频通道。 由于视频服务器专门开辟了映射记录存储区来 存储用于 标识用户与视频通道之间的映射关系的记录, 并基于多重哈希算法来查询映射 记录存储区之中是否存储有用于标识第一用户 与视频通道之间的映射关系的记 录, 这种索引用户的视频通道的技术有利于提高用 户视频通道的索引效率。

参见图 5, 本发明实施例还提供一种通信系统, 包括:

用户终端 510和视频服务器 520。

其中, 由第一用户操作的用户终端 510用于向视频服务器 520发送第一视 频数据。

视频服务器 520, 接收第一视频数据; 基于多重哈希算法查询映射记录存储 区之中是否存储有用于标识第一用户与视频通 道之间的映射关系的记录, 其中, 所述第一视频数据归属于所述第一用户; 若查询到在所述映射记录存储区中未 存储有用于标识所述第一用户与视频通道之间 的映射关系的记录, 则为所述第 一用户分配当前处于空闲状态的第一视频通道 , 将所述第一视频数据写入所述 第一视频通道。

在本发明的一些实施例中, 视频服务器 520还用于, 生成用于标识所述第 一用户与所述第一视频通道之间的映射关系的 第一记录, 基于多重哈希算法计 算得到第一存储地址, 将所述第一记录写入所述第一存储地址所指向 的第一存 储空间, 其中, 所述第一存储空间归属于所述映射记录存储区 。

可以理解的是, 本实施例的视频服务器 520可如上述实施例中的任意一种 视频服务器, 其功能可根据上述方法实施例中的方法具体实 现, 其具体实现过 程可以参照上述方法实施例的相关描述, 此处不再赘述。

如图 6所示, 为了便于说明, 仅示出了与本发明实施例的用户终端相关的 部分, 具体技术细节未揭示的, 请参照本发明实施例方法部分。 图 6所示用户 终端 510可以为手机、平板电脑、个人数字助理(PDA , Personal Digital Assistant)、 销售终端(P0S, Point of Sales )、 车载电脑等任意终端设备, 下面主要以用户终 端 510为手机为例: 其中, 图 6示出的是与本发明实施例提供的终端相关的 机的部分结构的 框图。参考图 6, 手机包括:射频(Radio Frequency, RF )电路 610、存储器 620、 输入单元 630、 无线保真 (wireless fidelity, WiFi)模块 670、 显示单元 640、 传 感器 650、 音频电路 660、 处理器 680、 以及电源 690等部件。

其中, 本领域技术人员可以理解, 图 6 中示出的手机结构并不构成对手机 的限定, 可以包括比图示更多或更少的部件, 或者组合某些部件, 或者不同的 部件布置。

下面结合图 6对手机的各个构成部件进行具体的介绍:

RF电路 610可用于在收发信息或通话过程中,信号的接 收和发送,特别地, 将基站的下行信息接收后, 给处理器 680 处理; 另外, 将设计上行的数据发送 给基站。 通常, RF电路包括但不限于天线、 至少一个放大器、 收发信机、 耦合 器、 低噪声放大器(Low Noise Amplifier, LNA)、 双工器等。 此外, RF电路 60 还可以通过无线通信与网络和其他设备通信。 上述无线通信可以使用任一通信 标准或协议, 包括但不限于全球移动通讯系统 (Global System of Mobile communication, GSM)、通用分组无线服务(General Packet Radio Service, GPRS)、 码分多址 (Code Division Multiple Access, CDMA), 宽带码分多址 (Wideband Code Division Multiple Access, WCDMA)、 长期演进 (Long Term Evolution, LTE) )、 电子邮件、 短消息服务 (Short Messaging Service, SMS ) 等。

其中, 存储器 620可用于存储软件程序以及模块, 处理器 680通过运行存 储在存储器 620 的软件程序以及模块, 从而执行手机的各种功能应用以及数据 处理。 存储器 620 可主要包括存储程序区和存储数据区, 其中, 存储程序区可 存储操作系统、 至少一个功能所需的应用程序 (如声音播放功能、 图像播放功 能等) 等; 存储数据区可存储根据手机的使用所创建的数 据 (如音频数据、 电 话本等) 等。 此外, 存储器 620可以包括高速随机存取存储器, 还可以包括非 易失性存储器, 例如至少一个磁盘存储器件、 闪存器件、 或其他易失性固态存 储器件。

输入单元 630可用于接收输入的数字或字符信息, 以及产生与手机 510的 用户设置以及功能控制有关的键信号输入。 具体地, 输入单元 630可包括触控 面板 631以及其他输入设备 632。 触控面板 631, 也称为触摸屏, 可收集用户在 其上或附近的触摸操作 (比如用户使用手指、 触笔等任何适合的物体或附件在 触控面板 631上或在触控面板 631附近的操作), 并根据预先设定的程式驱动相 应的连接装置。 可选的, 触控面板 631 可包括触摸检测装置和触摸控制器两个 部分。 其中, 触摸检测装置检测用户的触摸方位, 并检测触摸操作带来的信号, 将信号传送给触摸控制器; 触摸控制器从触摸检测装置上接收触摸信息, 并将 它转换成触点坐标, 再送给处理器 680, 并能接收处理器 680发来的命令并加以 执行。 此外, 可以采用电阻式、 电容式、 红外线以及表面声波等多种类型实现 触控面板 631。 除了触控面板 631, 输入单元 630还可以包括其他输入设备 632。 具体地, 其他输入设备 632 可以包括但不限于物理键盘、 功能键 (比如音量控 制按键、 开关按键等)、 轨迹球、 鼠标、 操作杆等中的一种或多种。

其中, 显示单元 640可用于显示由用户输入的信息或提供给用户 的信息以 及手机的各种菜单。 显示单元 640可包括显示面板 641, 可选的, 可以采用液晶 显示器 (Liquid Crystal Display, LCD)、有机发光二极管 ( Organic Light-Emitting Diode, OLED)等形式来配置显示面板 641。进一歩的, 触控面板 631可覆盖显 示面板 641, 当触控面板 631检测到在其上或附近的触摸操作后, 传送给处理器 680 以确定触摸事件的类型, 随后处理器 680 根据触摸事件的类型在显示面板 641上提供相应的视觉输出。虽然在图 6中, 触控面板 631与显示面板 641是作 为两个独立的部件来实现手机的输入和输入功 能, 但是在某些实施例中, 可以 将触控面板 631与显示面板 641集成而实现手机的输入和输出功能。

其中, 手机 510还可包括至少一种传感器 650, 比如光传感器、 运动传感器 以及其他传感器。 具体地, 光传感器可包括环境光传感器及接近传感器, 其中, 环境光传感器可根据环境光线的明暗来调节显 示面板 641 的亮度, 接近传感器 可在手机移动到耳边时, 关闭显示面板 641和 /或背光。作为运动传感器的一种, 加速计传感器可检测各个方向上 (一般为三轴) 加速度的大小, 静止时可检测 出重力的大小及方向, 可用于识别手机姿态的应用 (比如横竖屏切换、 相关游 戏、 磁力计姿态校准)、 振动识别相关功能 (比如计歩器、 敲击) 等; 至于手机 还可配置的陀螺仪、 气压计、 湿度计、 温度计、 红外线传感器等其他传感器, 在此不再赘述。

音频电路 660、扬声器 661,传声器 662可提供用户与手机之间的音频接口。 音频电路 660可将接收到的音频数据转换后的电信号, 传输到扬声器 661, 由扬 声器 661转换为声音信号输出; 另一方面, 传声器 662将收集的声音信号转换 为电信号, 由音频电路 660接收后转换为音频数据, 再将音频数据输出处理器 680处理后, 经 RF电路 610以发送给比如另一手机, 或者将音频数据输出至存 储器 620以便进一歩处理。

WiFi属于短距离无线传输技术,手机通过 WiFi模块 670可以帮助用户收发 电子邮件、 浏览网页和访问流式媒体等, 它为用户提供了无线的宽带互联网访 问。 虽然图 6示出了 WiFi模块 670, 但是可以理解的是, 其并不属于手机 510 的必须构成, 完全可以根据需要在不改变发明的本质的范围 内而省略。

处理器 680 是手机的控制中心, 利用各种接口和线路连接整个手机的各个 部分, 通过运行或执行存储在存储器 620内的软件程序和 /或模块, 以及调用存 储在存储器 620 内的数据, 执行手机的各种功能和处理数据, 从而对手机进行 整体监控。 可选的, 处理器 680可包括一个或多个处理单元; 优选的, 处理器 680可集成应用处理器和调制解调处理器,其中 ,应用处理器主要处理操作系统、 用户界面和应用程序等, 调制解调处理器主要处理无线通信。 可以理解的是, 上述调制解调处理器也可以不集成到处理器 680中。

手机 510还包括给各个部件供电的电源 690 (比如电池), 优选的, 电源可 以通过电源管理系统与处理器 680逻辑相连, 从而通过电源管理系统实现管理 充电、 放电、 以及功耗管理等功能。 尽管未示出, 手机 510还可以包括摄像头、 蓝牙模块等, 在此不再赘述。

在本发明实施例中, 该用户终端所包括的处理器 680 还可以通过执行存储 器 620中存储的应用程序, 向视频服务器发送第一视频数据。

本发明实施例还提供一种计算机存储介质, 其中, 该计算机存储介质可存 储有程序, 该程序执行时使处理器执行上述方法实施例中 记载的视频通道管理 方法的部分或全部歩骤。

需要说明的是, 对于前述的各方法实施例, 为了简单描述, 故将其都表述 为一系列的动作组合, 但是本领域技术人员应该知悉, 本发明并不受所描述的 动作顺序的限制, 因为依据本发明, 某些歩骤可以采用其他顺序或者同时进行。 其次, 本领域技术人员也应该知悉, 说明书中所描述的实施例均属于优选实施 例, 所涉及的动作和模块并不一定是本发明所必须 的。

在上述实施例中, 对各个实施例的描述都各有侧重, 某个实施例中没有详 述的部分, 可以参见其他实施例的相关描述。 在本申请所提供的几个实施例中, 应该理解到, 所揭露的装置, 可通过其 它的方式实现。 例如, 以上所描述的装置实施例仅仅是示意性的, 例如所述单 元的划分, 仅仅为一种逻辑功能划分, 实际实现时可以有另外的划分方式, 例 如多个单元或组件可以结合或者可以集成到另 一个系统, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间的耦合或直接耦合或 通信连接可 以是通过一些接口, 装置或单元的间接耦合或通信连接, 可以是电性或其它的 形式。

所述作为分离部件说明的单元可以是或者也可 以不是物理上分开的, 作为 单元显示的部件可以是或者也可以不是物理单 元, 即可以位于一个地方, 或者 也可以分布到多个网络单元上。 可以根据实际的需要选择其中的部分或者全部 单元来实现本实施例方案的目的。

另外, 在本发明各个实施例中的各功能单元可以集成 在一个处理单元中, 也可以是各个单元单独物理存在, 也可以两个或两个以上单元集成在一个单元 中。 上述集成的单元既可以采用硬件的形式实现, 也可以采用软件功能单元的 形式实现。

所述集成的单元如果以软件功能单元的形式实 现并作为独立的产品销售或 使用时, 可以存储在一个计算机可读取存储介质中。 基于这样的理解, 本发明 的技术方案本质上或者说对现有技术做出贡献 的部分或者该技术方案的全部或 部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质 中, 包括若干指令用以使得一台计算机设备 (可为个人计算机、 服务器或者网 络设备等) 执行本发明各个实施例所述方法的全部或部分 歩骤。 而前述的存储 介质例如包括: U盘、 只读存储器(ROM, Read-Only Memory )、 随机存取存储 器(RAM, Random Access Memory )、 移动硬盘、 磁碟或者光盘等各种可以存储 程序代码的介质。

以上所述, 以上实施例仅用以说明本发明的技术方案, 而非对其限制; 尽 管参照前述实施例对本发明进行了详细的说明 , 本领域的普通技术人员应当理 解: 其依然可以对前述各实施例所记载的技术方案 进行修改, 或者对其中部分 技术特征进行等同替换; 而这些修改或者替换, 并不使相应技术方案的本质脱 离本发明各实施例技术方案的精神和范围。