CN103533402B - 视频通道管理方法和相关设备及通信系统 - Google Patents

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

Info

Publication number
CN103533402B
CN103533402B CN201310504113.0A CN201310504113A CN103533402B CN 103533402 B CN103533402 B CN 103533402B CN 201310504113 A CN201310504113 A CN 201310504113A CN 103533402 B CN103533402 B CN 103533402B
Authority
CN
China
Prior art keywords
video
video channel
user
record
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310504113.0A
Other languages
English (en)
Other versions
CN103533402A (zh
Inventor
龙锦远
曾新海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310504113.0A priority Critical patent/CN103533402B/zh
Publication of CN103533402A publication Critical patent/CN103533402A/zh
Priority to PCT/CN2014/079969 priority patent/WO2015058537A1/zh
Application granted granted Critical
Publication of CN103533402B publication Critical patent/CN103533402B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明实施例公开了频通道管理方法和相关设备及通信系统。其中,一种视频通道管理方法,可包括:视频服务器接收第一视频数据;基于多重哈希算法,查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,其中,第一视频数据归属于第一用户;若查询到在映射记录存储区中未存储有用于标识第一用户与视频通道之间的映射关系的记录,则为第一用户分配当前处于空闲状态的第一视频通道,将第一视频数据写入第一视频通道。其中,本发明实施例提供的技术方案有利于提高索引用户的视频通道的效率。

Description

视频通道管理方法和相关设备及通信系统
技术领域
本发明涉及计算机技术领域,具体涉及一种视频通道管理方法和相关设备及通信系统。
背景技术
目前,存在腾讯视频、搜狐视频等多种视频服务工具,视频通道是视频服务器中用于存储视频数据的存储资源,视频通道中可记录时间戳、该视频通道当前所属用户的用户标识等信息。
本发明的发明人在研究和实践过程中发现,现有技术至少存在以下的技术问题:现有的视频服务器采用遍历方式索引用户的视频通道,视频通道索引效率相对较低,有时难以满足高时效要求。
发明内容
本发明实施例提供视频通道管理方法和相关设备及通信系统,以期提高索引用户的视频通道的效率。
本发明实施例第一方面提供一种视频通道管理方法,可包括:
视频服务器接收第一视频数据;
基于多重哈希算法,查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,其中,所述第一视频数据归属于所述第一用户;
若查询到在所述映射记录存储区中未存储有用于标识所述第一用户与视频通道之间的映射关系的记录,则为所述第一用户分配当前处于空闲状态的第一视频通道,将所述第一视频数据写入所述第一视频通道。
本发明实施例第二方面提供一种视频服务器,可包括:
接收单元,用于接收第一视频数据;
查询单元,用于基于多重哈希算法,查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,其中,所述第一视频数据归属于所述第一用户;
写入单元,用于若查询到在所述映射记录存储区中未存储有用于标识所述第一用户与视频通道之间的映射关系的记录,则为所述第一用户分配当前处于空闲状态的第一视频通道,将所述第一视频数据写入所述第一视频通道。
本发明实施例第三方面提供一种通信系统,可包括:
用户终端和视频服务器;
其中,所述用户终端,用于向所述视频服务器发送第一视频数据;
所述视频服务器,接收第一视频数据;基于多重哈希算法查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,其中,所述第一视频数据归属于所述第一用户;若查询到在所述映射记录存储区中未存储有用于标识所述第一用户与视频通道之间的映射关系的记录,则为所述第一用户分配当前处于空闲状态的第一视频通道,将所述第一视频数据写入所述第一视频通道。
由上可见,本发明一些实施例的技术方案中,视频服务器接收到第一视频数据之后;基于多重哈希算法,查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,其中,第一视频数据归属于第一用户;若查询到在映射记录存储区中未存储有用于标识第一用户与视频通道之间的映射关系的记录,则为第一用户分配当前处于空闲状态的第一视频通道,将第一视频数据写入第一视频通道。由于视频服务器专门开辟了映射记录存储区来存储用于标识用户与视频通道之间的映射关系的记录,并基于多重哈希算法来查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,这种索引用户的视频通道的技术有利于极大的提高用户视频通道的索引效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种视频通道管理方法的流程示意图;
图2是本发明实施例提供的另一种视频通道管理方法的流程示意图;
图3-a是本发明实施例提供的一种视频服务器的示意图;
图3-b是本发明实施例提供的另一种视频服务器的示意图;
图3-c是本发明实施例提供的另一种视频服务器的示意图;
图4是本发明实施例提供的另一种视频服务器的示意图;
图5是本发明实施例提供的一种通信系统的示意图;
图6是本发明实施例提供的一种用户终端的示意图。
具体实施方式
本发明实施例提供视频通道管理方法和相关设备及通信系统,以期提高索引用户的视频通道的效率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明一种视频通道管理方法的一个实施例,该方法可包括:视频服务器接收第一视频数据;基于多重哈希算法,查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,其中,第一视频数据归属于第一用户;若查询到在上述映射记录存储区中未存储有用于标识第一用户与视频通道之间的映射关系的记录,则为第一用户分配当前处于空闲状态的第一视频通道,将第一视频数据写入第一视频通道。
首先请参见图1,图1是本发明实施例提供的一种视频通道管理方法的流程示意图。如图1所示,本发明实施例提供的一种视频通道管理方法可包括以下内容:
101、视频服务器接收第一视频数据。
举例来说,当某用户终端(为便于引述,可称之为第一用户终端)与视频服务器建立连接之后,第一用户终端可向视频服务器发送某视频数据(为便于引述,称之为第一视频数据),视频服务器可接收来自第一用户终端的第一视频数据。其中,发送第一视频数据的第一用户终端归属于某用户(可称之为第一用户)。
其中,本发明各实施例所指的用户终端可为个人电脑、手机、个人数字处理设备或其它类型的用户终端。
其中,第一视频数据包可为直播视频数据包,当然也可为其它类型的视频数据包。
102、视频服务器基于多重哈希算法,查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,其中,第一视频数据归属于第一用户。
在本发明的一些实施例中,视频服务器在接收到第一视频数据之前,可能已经为第一用户分配了视频通道,也可能还未为第一用户分配视频通道(视频服务器可能之前始终未为第一用户分配视频通道,或者视频服务器也可能将之前分配给第一用户的视频通道又重新分配给了其它用户,或视频服务器也可能将之前分配给第一用户的视频通道重置为了空闲的视频通道,其中,空闲的视频通道是不归属于任何用户的)。
其中,视频通道是视频服务器中用于存储视频数据的存储资源(例如内存资源等),其中,视频通道中可记录时间戳(其中,该时间戳可用于记录视频通道最新一次使用的时间)、该视频通道中还可记录当前所属用户的用户标识等等信息。
103、视频服务器若查询到在上述映射记录存储区中未存储有用于标识第一用户与视频通道之间的映射关系的记录,则为第一用户分配当前处于空闲状态的第一视频通道,将第一视频数据写入第一视频通道。
其中,视频服务器若查询到在上述映射记录存储区中未存储有用于标识第一用户与视频通道之间的映射关系的记录,则表示视频服务器当前可能还未为第一用户分配视频通道。
在本发明的一些实施例中,上述为第一用户分配当前处于空闲状态的第一视频通道可包括:基于空闲链表为第一用户分配当前处于空闲状态的第一视频通道,其中,上述空闲链表中存储了当前处于空闲状态的包括第一视频通道在内的若干个视频通道所对应的视频通道标识。其中,第一视频通道的视频通道标识记录在上述空闲链表中的首部或尾部或任意位置。
在本发明的一些实施例中,视频服务器还可进一步在第一视频通道中标识第一视频通道归属于第一用户(例如可将第一用户的用户标识写入第一视频通道之中)。
在本发明的一些实施例中,视频服务器还可进一步生成用于标识第一用户与第一视频通道之间的映射关系的第一记录,基于多重哈希算法计算得到第一存储地址,将第一记录写入第一存储地址所指向的第一存储空间,其中,第一存储空间归属于上述映射记录存储区。
在本发明的一些实施例中,视频服务器若将第一视频数据写入到第一视频通道,则还可进一步更新第一视频通道的时间戳,可以理解的是,更新后的第一视频通道的时间戳所表示的时间可为将第一视频数据写入第一视频通道时的时间。
在本发明的一些实施例中,上述多重哈希算法的输入例如为第一用户的用户代码(其中,用户代码为若干个数字),其中,第一用户的用户代码为第一用户的用户标识或基于第一用户的用户标识转换得到。
在本发明的一些实施例中,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个映射记录子存储区(即映射记录子存储区s1~s6),而每个映射记录子存储区的存储空间大小大于或等于1000*P,其中,上述P表示存储一条用于标识用户与视频通道之间的映射关系的记录所占用的存储空间大小。
假设视频服务器接收来自用户终端a的视频数据s1,其中,视频数据s1中携带用户A的用户标识;视频服务器基于多重哈希算法,以用户A的用户标识作为多重哈希算法的输入,查询映射记录存储区之中是否存储有用于标识用户A与视频通道之间的映射关系的记录。
假设哈希算法为取模运算,用户A的用户标识100000000,若哈希算法的分母是997(质数),那么哈希算法的计算结果是100000000%997=900。在一些实施例中,若设置哈希空间大小最大为1000,哈希级数是6,则每级哈希的哈希函数分母可等于,不同于其它级哈希函数的分母,且小于哈希空间大小的最大质数。例如6级哈希的哈希函数分母可分别为:997、991、983、977、971和967。
其中,假设用户标识100000000,则基于多重哈希算法查询映射记录存储区之中是否存储有用于标识用户A与视频通道之间的映射关系的记录的具体方式可如下:
步骤a、100000000%997=900,若映射记录子存储区s1中与存储地址900对应的存储空间存储有用于标识用户A与视频通道之间的映射关系的记录,则获取该记录中视频通道标识;若映射记录子存储区s1中与存储地址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;
步骤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,若映射记录子存储区s1中与存储地址900对应的存储空间未被占用,则第一存储地址为存储地址900;映射记录子存储区s1中与存储地址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。
其中,接收单元310,用于接收第一视频数据。
举例来说,当某用户终端(为便于引述,可称之为第一用户终端)与视频服务器建立连接之后,第一用户终端可向视频服务器发送某视频数据(为便于引述,称之为第一视频数据),视频服务器可接收来自第一用户终端的第一视频数据。其中,发送第一视频数据的第一用户终端归属于某用户(可称之为第一用户)。
其中,本发明各实施例所指的用户终端可为个人电脑、手机、个人数字处理设备或其它类型的用户终端。
其中,第一视频数据包可为直播视频数据包,当然也可为其它类型的视频数据包。
查询单元320,用于基于多重哈希算法,查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,其中,所述第一视频数据归属于所述第一用户。
在本发明一些实施例中,视频服务器300接收到第一视频数据之前,可能已经为第一用户分配了视频通道,也可能还未为第一用户分配视频通道(视频服务器300可能之前始终未为第一用户分配视频通道,或者视频服务器300也可能将之前分配给第一用户的视频通道又重新分配给了其它用户,或视频服务器300也可能将之前分配给第一用户的视频通道重置为了空闲的视频通道,其中空闲的视频通道是不归属于任何用户的)。
其中,视频通道是视频服务器300中用于存储视频数据的存储资源(例如内存资源等),其中,视频通道中可记录时间戳(其中,该时间戳可用于记录视频通道最新一次使用的时间)、该视频通道中还可记录当前所属用户的用户标识等等信息。
写入单元330,用于若查询到在所述映射记录存储区中未存储有用于标识所述第一用户与视频通道之间的映射关系的记录,则为所述第一用户分配当前处于空闲状态的第一视频通道,将所述第一视频数据写入所述第一视频通道。
在本发明的一些实施例中,写入单元330还可进一步在第一视频通道中标识第一视频通道归属于第一用户(例如可将第一用户的用户标识写入第一视频通道之中)。
参见图3-b,在本发明的一些实施例中,视频服务器300还可包括:
记录维护单元340,用于生成用于标识所述第一用户与所述第一视频通道之间的映射关系的第一记录,基于多重哈希算法计算得到第一存储地址,将所述第一记录写入所述第一存储地址所指向的第一存储空间,其中,所述第一存储空间归属于所述映射记录存储区。
在本发明的一些实施例中,写入单元330还用于,若查询到在所述映射记录存储区中存储有用于标识所述第一用户与第二视频通道之间的映射关系的第二记录,则将所述第一视频数据写入所述第二视频通道。
在本发明的一些实施例中,写入单元330还可进一步在第二视频通道中标识第二视频通道归属于第一用户(例如可将第一用户的用户标识写入第二视频通道之中)。
参见图3-c,在本发明的一些实施例中,视频服务器还包括:时间戳更新单元350,用于若写入单元330将所述第一视频数据写入所述第一视频通道,则更新所述第一视频通道的时间戳;或者,若写入单元330将所述第一视频数据写入所述第二视频通道,则更新所述第二视频通道的时间戳。
在本发明的一些实施例中,在所述为所述第一用户分配当前处于空闲状态的第一视频通道的方面,写入单元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还包括通道管理单元,用于在满足设定的通道重置条件时,将当前已超时的部分或全部视频通道重置为空闲的视频通道。在本发明的一些实施例中,已超时的视频通道可指该视频通道对应的时间戳所表示的时间滞后当前时间超过第一时长阈值,其中,第一时长阈值例如可为一秒钟、两秒钟、三秒钟或根据实际需要设定的其它时长。其中已超时的视频通道是属于某用户的。例如,当检测到第一视频通道或第二视频通道超时,通道管理单元可将第一视频通道或第二视频通道重置为空闲的视频通道,可将重置为空闲的第一视频通道或第二视频通道的视频通道标识记录在上述空闲链表中的首部或尾部或任意位置。进一步的,若通道管理单元将第一视频通道或第二视频通道重置为空闲的视频通道,则记录维护单元340还可进一步删除映射记录存储区之存储的用于标识第一用户与第一视频通道或第二视频通道之间的映射关系的记录。
在本发明的一些实施例中,通道重置条件可以是根据实际场景需要而设定的各种可行的条件。例如通道重置条件可包含如下条件的至少一个:当前空闲的视频通道数量少于设定的第一阈值(例如10个或其它值)、当前空闲的视频通道数量占总通道数的比例少于设定的第二阈值(如15%或其它值)、接收到超时视频通道重置指令、当前已超时的视频通道数量大于设定的第三阈值(例如20个或其它值)、设定的重置周期(如1分钟、两分钟或其它值)到达、当前已超时的视频通道数量占总通道数的比例大于设定的第四阈值(例如50%或其它值)、当前已超时的视频通道数量与当前空闲的视频通道数量的比值大于设定的第五阈值(例如100%或其它值)。
其中,本发明实施例的各阈值(如第一阈值、第二阈值、第三阈值、第四阈值和第五阈值等)的取值可根据具体场景需要进行设定,只要能满足实际需要即可。
可以理解,由于在满足设定的通道重置条件时,可将当前已超时的部分或全部视频通道重置为空闲的视频通道,基于这一机制,则视频服务器可批量的获得空闲的视频通道,为后续提高视频通道的利用效率奠定基础。
在本发明的一些实施例中,在满足设定的通道重置条件时,将当前已超时的部分或全部视频通道重置为空闲的视频通道,可包括:
在当前空闲的视频通道数量少于设定的第一阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前空闲的视频通道数量占总通道数的比例少于设定的第二阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在接收到超时视频通道重置指令时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在设定的重置周期到达时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在当前已超时的视频通道数量大于设定的第三阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前已超时的视频通道数量占总通道数的比例大于设定的第四阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前已超时的视频通道数量,与当前空闲的视频通道数量的比值大于设定的第五阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道。
可以理解的是,本实施例的视频服务器300的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可见,本发明实施例中,视频服务器接收到第一视频数据之后;基于多重哈希算法,查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,其中,第一视频数据归属于第一用户;若查询到在映射记录存储区中未存储有用于标识第一用户与视频通道之间的映射关系的记录,则为第一用户分配当前处于空闲状态的第一视频通道,将第一视频数据写入第一视频通道。由于视频服务器专门开辟了映射记录存储区来存储用于标识用户与视频通道之间的映射关系的记录,并基于多重哈希算法来查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,这种索引用户的视频通道的技术有利于极大的提高用户视频通道的索引效率。
参见图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等。
在本发明实施例中,通过调用存储器405存储的程序或指令,处理器401用于接收第一视频数据;基于多重哈希算法,查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,其中,第一视频数据归属于第一用户;若查询到在上述映射记录存储区中未存储有用于标识第一用户与视频通道之间的映射关系的记录,则为第一用户分配当前处于空闲状态的第一视频通道,将第一视频数据写入第一视频通道。
举例来说,当某用户终端(为便于引述,可称之为第一用户终端)与视频服务器建立连接之后,第一用户终端可向视频服务器发送某视频数据(为便于引述,称之为第一视频数据),视频服务器可接收来自第一用户终端的第一视频数据。其中,发送第一视频数据的第一用户终端归属于某用户(可称之为第一用户)。
其中,本发明各实施例所指的用户终端可为个人电脑、手机、个人数字处理设备或其它类型的用户终端。
其中,第一视频数据包可为直播视频数据包,当然也可为其它类型的视频数据包。
在本发明一些实施例中,处理器401在接收到第一视频数据之前,可能已经为第一用户分配了视频通道,也可能还未为第一用户分配视频通道(处理器401可能之前始终未为第一用户分配视频通道,或者处理器401也可能将之前分配给第一用户的视频通道又重新分配给了其它用户,或处理器401也可能将之前分配给第一用户的视频通道重置为了空闲的视频通道,其中,空闲的视频通道是不归属于任何用户的)。
其中,视频通道是视频服务器中用于存储视频数据的存储资源(例如内存资源等),其中,视频通道中可记录时间戳(其中,该时间戳可用于记录视频通道最新一次使用的时间)、该视频通道中还可记录当前所属用户的用户标识等等信息。
其中,处理器401若查询到在上述映射记录存储区中未存储有用于标识第一用户与视频通道之间的映射关系的记录,则表示处理器401当前可能还未为第一用户分配视频通道。
在本发明的一些实施例中,处理器401为第一用户分配当前处于空闲状态的第一视频通道可包括:基于空闲链表为第一用户分配当前处于空闲状态的第一视频通道,其中,上述空闲链表中存储了当前处于空闲状态的包括第一视频通道在内的若干个视频通道所对应的视频通道标识。其中,第一视频通道的视频通道标识记录在上述空闲链表中的首部或尾部或任意位置。
在本发明的一些实施例中,处理器401还可进一步在第一视频通道中标识第一视频通道归属于第一用户(例如可将第一用户的用户标识写入第一视频通道之中)。
在本发明的一些实施例中,处理器401还可进一步生成用于标识第一用户与第一视频通道之间的映射关系的第一记录,基于多重哈希算法计算得到第一存储地址,将第一记录写入第一存储地址所指向的第一存储空间,其中,第一存储空间归属于上述映射记录存储区。
在本发明的一些实施例中,处理器401若将第一视频数据写入到第一视频通道,则还可进一步更新第一视频通道的时间戳,可以理解的是,更新后的第一视频通道的时间戳所表示的时间可为将第一视频数据写入第一视频通道时的时间。
在本发明的一些实施例中,上述多重哈希算法的输入例如为第一用户的用户代码(其中,用户代码为若干个数字),其中,第一用户的用户代码为第一用户的用户标识或基于第一用户的用户标识转换得到。
在本发明的一些实施例中,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的质数。
在本发明的一些实施例中,处理器401若查询到在上述映射记录存储区中存储有用于标识第一用户与第二视频通道之间的映射关系的第二记录,则可将第一视频数据写入第二视频通道。此外,视频服务器还可进一步在第二视频通道标识第二视频通道归属于第一用户(例如可将第一用户的用户标识写入第二视频通道之中)。
其中,处理器401若查询到在上述映射记录存储区中存储有用于标识第一用户与第二视频通道之间的映射关系的第二记录,则表示处理器401此前已经为第一用户分配了第二视频通道。
在本发明的一些实施例中,处理器401还可进一步在满足设定的通道重置条件时,将当前已超时的部分或全部视频通道重置为空闲的视频通道。在本发明一些实施例中,已超时的视频通道可指该视频通道对应的时间戳所表示的时间滞后当前时间超过第一时长阈值,其中,第一时长阈值例如可为一秒钟、两秒钟、三秒钟或根据实际需要设定的其它时长。其中,已超时的视频通道是属于某用户的。例如,当检测到第一视频通道或第二视频通道超时,视频服务器可将第一视频通道或第二视频通道重置为空闲的视频通道,可将重置为空闲的第一视频通道或第二视频通道的视频通道标识记录在上述空闲链表中的首部或尾部或任意位置。进一步的,视频服务器若将第一视频通道或第二视频通道重置为空闲的视频通道,则还可进一步删除映射记录存储区之存储的用于标识第一用户与第一视频通道或第二视频通道之间的映射关系的记录。
在本发明的一些实施例中,通道重置条件可以是根据实际场景需要而设定的各种可行的条件。例如通道重置条件可包含如下条件的至少一个:当前空闲的视频通道数量少于设定的第一阈值(例如10个或其它值)、当前空闲的视频通道数量占总通道数的比例少于设定的第二阈值(如15%或其它值)、接收到超时视频通道重置指令、当前已超时的视频通道数量大于设定的第三阈值(例如20个或其它值)、设定的重置周期(如1分钟、两分钟或其它值)到达、当前已超时的视频通道数量占总通道数的比例大于设定的第四阈值(例如50%或其它值)、当前已超时的视频通道数量与当前空闲的视频通道数量的比值大于设定的第五阈值(例如100%或其它值)。
其中,本发明实施例的各阈值(如第一阈值、第二阈值、第三阈值、第四阈值和第五阈值等)的取值可根据具体场景需要进行设定,只要能满足实际需要即可。
可以理解,由于在满足设定的通道重置条件时,可将当前已超时的部分或全部视频通道重置为空闲的视频通道,基于这一机制,则视频服务器可批量的获得空闲的视频通道,为后续提高视频通道的利用效率奠定基础。
在本发明的一些实施例中,在满足设定的通道重置条件时,将当前已超时的部分或全部视频通道重置为空闲的视频通道,可包括:
在当前空闲的视频通道数量少于设定的第一阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前空闲的视频通道数量占总通道数的比例少于设定的第二阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在接收到超时视频通道重置指令时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在设定的重置周期到达时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在当前已超时的视频通道数量大于设定的第三阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前已超时的视频通道数量占总通道数的比例大于设定的第四阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前已超时的视频通道数量,与当前空闲的视频通道数量的比值大于设定的第五阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道。
可以理解的是,本实施例的视频服务器400的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可见,本实施例中,视频服务器400接收到第一视频数据之后;基于多重哈希算法,查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,其中,第一视频数据归属于第一用户;若查询到在映射记录存储区中未存储有用于标识第一用户与视频通道之间的映射关系的记录,则为第一用户分配当前处于空闲状态的第一视频通道,将第一视频数据写入第一视频通道。由于视频服务器专门开辟了映射记录存储区来存储用于标识用户与视频通道之间的映射关系的记录,并基于多重哈希算法来查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,这种索引用户的视频通道的技术有利于极大的提高用户视频通道的索引效率。
参见图5,本发明实施例还提供一种通信系统,包括:
用户终端510和视频服务器520。
其中,用户终端510,用于向视频服务器520发送第一视频数据。
视频服务器520,接收第一视频数据;基于多重哈希算法查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,其中,所述第一视频数据归属于所述第一用户;若查询到在所述映射记录存储区中未存储有用于标识所述第一用户与视频通道之间的映射关系的记录,则为所述第一用户分配当前处于空闲状态的第一视频通道,将所述第一视频数据写入所述第一视频通道。
在本发明的一些实施例中,视频服务器530还用于,生成用于标识所述第一用户与所述第一视频通道之间的映射关系的第一记录,基于多重哈希算法计算得到第一存储地址,将所述第一记录写入所述第一存储地址所指向的第一存储空间,其中,所述第一存储空间归属于所述映射记录存储区。
可以理解的是,本实施例的视频服务器520可如上述实施例中的任意一种视频服务器,其功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
如图6所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。图6所示用户终端510可以为手机、平板电脑、个人数字助理(PDA,Personal Digital Assistant)、销售终端(POS,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 ofMobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(LongTerm 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)、有机发光二极管(OrganicLight-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还具有以下功能:向视频服务器发送第一视频数据。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的视频通道管理方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种视频通道管理方法,其特征在于,包括:
视频服务器接收第一视频数据;
基于多重哈希算法,查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,其中,所述第一视频数据归属于所述第一用户;
若查询到在所述映射记录存储区中未存储有用于标识所述第一用户与视频通道之间的映射关系的记录,则为所述第一用户分配当前处于空闲状态的第一视频通道,将所述第一视频数据写入所述第一视频通道;
所述方法还包括:生成用于标识所述第一用户与所述第一视频通道之间的映射关系的第一记录,基于多重哈希算法计算得到第一存储地址,将所述第一记录写入所述第一存储地址所指向的第一存储空间,其中,所述第一存储空间归属于所述映射记录存储区。
2.根据权利要求1所述的方法,其特征在于,
K≥N*M*P,
其中,所述K表示所述映射记录存储区的总存储空间大小,所述M表示所述视频服务器所能提供的视频通道总数,所述P表示存储一条用于标识用户与视频通道之间的映射关系的记录所占用的存储空间大小,其中,所述N为正整数。
3.根据权利要求1所述的方法,其特征在于,
所述多重哈希算法的输入为所述第一用户的用户代码,其中,所述第一用户的用户代码为第一用户的用户标识或基于所述第一用户的用户标识转换得到。
4.根据权利要求1至3任一项所述的方法,其特征在于,
所述方法还包括:
若查询到在所述映射记录存储区中存储有用于标识所述第一用户与第二视频通道之间的映射关系的第二记录,则将所述第一视频数据写入所述第二视频通道。
5.根据权利要求4所述的方法,其特征在于,
所述方法还包括:
若将所述第一视频数据写入所述第一视频通道,则更新所述第一视频通道的时间戳;或者,若将所述第一视频数据写入所述第二视频通道,则更新所述第二视频通道的时间戳。
6.根据权利要求1至3任一项所述的方法,其特征在于,
所述为所述第一用户分配当前处于空闲状态的第一视频通道包括:基于空闲链表为所述第一用户分配当前处于空闲状态的第一视频通道,其中,所述空闲链表中存储了当前处于空闲状态的包括第一视频通道在内的若干个视频通道所对应的视频通道标识。
7.根据权利要求6所述的方法,其特征在于,
所述第一视频通道的视频通道标识记录在所述空闲链表中的首部或尾部或任意位置。
8.一种视频服务器,其特征在于,包括:
接收单元,用于接收第一视频数据;
查询单元,用于基于多重哈希算法,查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,其中,所述第一视频数据归属于所述第一用户;
写入单元,用于若查询到在所述映射记录存储区中未存储有用于标识所述第一用户与视频通道之间的映射关系的记录,则为所述第一用户分配当前处于空闲状态的第一视频通道,将所述第一视频数据写入所述第一视频通道;
所述视频服务器还包括:
记录维护单元,用于生成用于标识所述第一用户与所述第一视频通道之间的映射关系的第一记录,基于多重哈希算法计算得到第一存储地址,将所述第一记录写入所述第一存储地址所指向的第一存储空间,其中,所述第一存储空间归属于所述映射记录存储区。
9.根据权利要求8所述的视频服务器,其特征在于,
所述写入单元还用于,若查询到在所述映射记录存储区中存储有用于标识所述第一用户与第二视频通道之间的映射关系的第二记录,则将所述第一视频数据写入所述第二视频通道。
10.根据权利要求9所述的视频服务器,其特征在于,
所述视频服务器还包括:
时间戳更新单元,用于若将所述第一视频数据写入所述第一视频通道,则更新所述第一视频通道的时间戳;或者,若将所述第一视频数据写入所述第二视频通道,则更新所述第二视频通道的时间戳。
11.根据权利要求8所述的视频服务器,其特征在于,
所述为所述第一用户分配当前处于空闲状态的第一视频通道包括:基于空闲链表为所述第一用户分配当前处于空闲状态的第一视频通道,其中,所述空闲链表中存储了当前处于空闲状态的包括第一视频通道在内的若干个视频通道所对应的视频通道标识。
12.一种通信系统,其特征在于,包括:
用户终端和视频服务器;
其中,所述用户终端,用于向所述视频服务器发送第一视频数据;
所述视频服务器,接收第一视频数据;基于多重哈希算法查询映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,其中,所述第一视频数据归属于所述第一用户;若查询到在所述映射记录存储区中未存储有用于标识所述第一用户与视频通道之间的映射关系的记录,则为所述第一用户分配当前处于空闲状态的第一视频通道,将所述第一视频数据写入所述第一视频通道;
所述视频服务器还用于,生成用于标识所述第一用户与所述第一视频通道之间的映射关系的第一记录,基于多重哈希算法计算得到第一存储地址,将所述第一记录写入所述第一存储地址所指向的第一存储空间,其中,所述第一存储空间归属于所述映射记录存储区。
CN201310504113.0A 2013-10-23 2013-10-23 视频通道管理方法和相关设备及通信系统 Active CN103533402B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310504113.0A CN103533402B (zh) 2013-10-23 2013-10-23 视频通道管理方法和相关设备及通信系统
PCT/CN2014/079969 WO2015058537A1 (zh) 2013-10-23 2014-06-16 视频通道管理方法和相关设备及通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310504113.0A CN103533402B (zh) 2013-10-23 2013-10-23 视频通道管理方法和相关设备及通信系统

Publications (2)

Publication Number Publication Date
CN103533402A CN103533402A (zh) 2014-01-22
CN103533402B true CN103533402B (zh) 2015-08-19

Family

ID=49935011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310504113.0A Active CN103533402B (zh) 2013-10-23 2013-10-23 视频通道管理方法和相关设备及通信系统

Country Status (2)

Country Link
CN (1) CN103533402B (zh)
WO (1) WO2015058537A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106303684A (zh) * 2016-08-23 2017-01-04 三星电子(中国)研发中心 用于启动电视应用的方法和装置
CN109857738A (zh) * 2019-01-07 2019-06-07 平安科技(深圳)有限公司 数据存储方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101841540A (zh) * 2010-04-22 2010-09-22 彭永 一种基于Hash函数算法发布多媒体内容的方法
CN103069793A (zh) * 2010-08-20 2013-04-24 Ati科技无限责任公司 用于将音频和视频流从音频/视频源映射到多个音频/视频接收端的系统和方法
CN103150362A (zh) * 2013-02-28 2013-06-12 北京奇虎科技有限公司 一种视频搜索方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100464549C (zh) * 2005-10-28 2009-02-25 广东省电信有限公司研究院 一种数据安全存储业务的实现方法
CN101082928B (zh) * 2007-06-25 2010-11-24 腾讯科技(深圳)有限公司 一种数据库访问的方法及数据库映射系统
CN101355476B (zh) * 2008-05-23 2011-05-11 林云帆 一种基于服务器群集的数据文件存储、分发和应用的系统和方法
US20100319059A1 (en) * 2009-06-10 2010-12-16 Avaya Inc. Sip digest authentication handle credential management
CN101958830B (zh) * 2009-07-14 2014-03-12 中兴通讯股份有限公司 一种网络部署系统及其映射和数据转发方法
CN102523297A (zh) * 2011-12-21 2012-06-27 广东步步高电子工业有限公司 一种快速且永久保存移动手持装置信息的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101841540A (zh) * 2010-04-22 2010-09-22 彭永 一种基于Hash函数算法发布多媒体内容的方法
CN103069793A (zh) * 2010-08-20 2013-04-24 Ati科技无限责任公司 用于将音频和视频流从音频/视频源映射到多个音频/视频接收端的系统和方法
CN103150362A (zh) * 2013-02-28 2013-06-12 北京奇虎科技有限公司 一种视频搜索方法及系统

Also Published As

Publication number Publication date
CN103533402A (zh) 2014-01-22
WO2015058537A1 (zh) 2015-04-30

Similar Documents

Publication Publication Date Title
CN102832975B (zh) 数据传输方法、装置以及具有触摸显示屏的终端
CN103546766A (zh) 视频处理方法和相关设备及通信系统
CN103716331B (zh) 一种数值转移的方法、终端、服务器及系统
CN103327102A (zh) 一种推荐应用程序的方法和装置
CN104765591A (zh) 一种软件配置参数更新的方法、终端服务器及系统
CN103500227A (zh) 视频帧存储管理方法和相关装置及通信系统
CN104598476A (zh) 消息聚合展示方法和消息展示方法及相关装置
CN103442330A (zh) 一种位置通知的方法及装置
CN104142868A (zh) 建立连接的方法及装置
CN104980455A (zh) 一种基于云存储的多终端数据同步方法、装置和系统
CN104135502B (zh) 一种实现应用消息提醒的方法、相关设备及系统
CN103473092A (zh) 一种下载应用的处理方法、装置及终端设备
CN103455343A (zh) 一种更新应用程序的方法和装置
CN106453597B (zh) 数据同步周期的调整方法、装置及系统
CN105320882A (zh) 一种应用程序权限控制方法及装置
CN103312907B (zh) 语音通道分配管理方法、语音服务器及通信系统
CN103634717A (zh) 一种利用耳机控制的方法、装置及终端设备
CN104135504B (zh) 一种基于应用的服务提供方法、装置及系统
CN105550316A (zh) 音频列表的推送方法及装置
CN103312783B (zh) 一种功能模式切换的方法、装置以及系统
CN104243394A (zh) 多媒体文件的播放方法及装置
CN103561155B (zh) 发送短信的方法、装置及终端
CN103561291A (zh) 视频通道分配管理方法和相关设备及通信系统
CN104869550A (zh) 通信事件的处理方法和装置
CN104426926A (zh) 定时发布数据的处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant