视频通道分配管理方法和相关设备及通信系统的制作方法

文档序号:7775284阅读:226来源:国知局
视频通道分配管理方法和相关设备及通信系统的制作方法
【专利摘要】本发明实施例公开了视频通道分配管理方法和相关设备及通信系统。其中一种视频通道管理方法,包括:视频服务器接收第一视频数据;查询第一视频数据所属的第一用户所对应的视频通道;若未成功查询到第一用户所对应的视频通道,则尝试为第一用户分配当前已超时的视频通道,若为第一用户成功分配到了当前已超时的第二视频通道,则将第一视频数据写入第二视频通道,并标记第二视频通道归属于第一用户。本发明实施例提供的技术方案有利于提高视频通道的利用效率,进而可尽量减少硬件资源的部署。
【专利说明】视频通道分配管理方法和相关设备及通信系统
【技术领域】
[0001]本发明涉及计算机【技术领域】,具体涉及一种视频通道分配管理方法和相关设备及通信系统。
【背景技术】
[0002]目前,存在腾讯视频、搜狐视频等多种视频工具,视频通道是视频服务器中用于存储视频数据的存储资源,视频通道中可记录时间戳、该视频通道当前所属用户的用户标识
等信息。
[0003]现有技术中视频服务器一般是按照在线视频用户数量,来分配与在线视频用户数量等量的视频通道。
[0004]本发明的发明人在研究和实践过程中发现,现有技术至少存在以下的技术问题:由于现有技术中视频服务器按照在线视频用户数量,来分配与之等量的视频通道,这就使得视频服务器所能提供的视频通道数量,将直接限制视频服务器允许的最大在线人数,因此,对于某些在线人数可能较多的特定时段或者场景,就需具有更多硬件资源的视频服务器来相应提供视频通道,这必然推高成本。

【发明内容】

[0005]本发明实施例提供视频通道分配管理方法和相关设备及通信系统,以期提高视频通道的利用效率,进而可尽量减少硬件资源的部署。
[0006]本发明实施例第一方面提供一种视频通道管理方法,包括:
[0007]视频服务器接收第一视频数据;
[0008]查询所述第一视频数据所属的第一用户所对应的视频通道;
[0009]若未成功查询到所述第一用户所对应的视频通道,则尝试为所述第一用户分配当前已超时的视频通道,若为所述第一用户成功分配到了当前已超时的第二视频通道,则将所述第一视频数据写入所述第二视频通道,并标记所述第二视频通道归属于所述第一用户。
[0010]本发明实施例第一方面提供一种视频服务器,可包括:
[0011]接收单元,用于接收第一视频数据;
[0012]查询单元,用于查询所述第一视频数据所属的第一用户所对应的视频通道;
[0013]分配单元,用于若所述查询单元未成功查询到所述第一用户所对应的视频通道,则尝试为所述第一用户分配当前已超时的视频通道;
[0014]写入单元用于,若所述分配单元为所述第一用户成功分配到了当前已超时的第二视频通道,则将所述第一视频数据写入所述第二视频通道,并标记所述第二视频通道归属于所述第一用户。
[0015]本发明实施例第三方面提供一种通信系统,可包括:
[0016]用户终端和视频服务器;[0017]其中,所述用户终端,用于向所述视频服务器发送第一视频数据;
[0018]所述视频服务器,用于接收来自所述用户终端的第一视频数据;查询所述第一视频数据所属的第一用户所对应的视频通道;若未成功查询到所述第一用户所对应的视频通道,则尝试为所述第一用户分配当前已超时的视频通道,若为所述第一用户成功分配到了当前已超时的第二视频通道,则将所述第一视频数据写入所述第二视频通道,并标记所述第二视频通道归属于所述第一用户,其中,所述用户终端归属所述第一用户。
[0019]由上可见,本发明实施例的方案中视频服务器接收第一视频数据之后;先查询第一视频数据所属的第一用户所对应的视频通道;若未成功查询到第一用户所对应的视频通道,则尝试为第一用户分配当前已超时的视频通道,若为第一用户成功分配到了当前已超时的第二视频通道,则将第一视频数据写入第二视频通道,并标记第二视频通道归属于第一用户。由于引入了视频通道的时间管理机制,对于当前已超时的视频通道可重新分配给其它用户使用,如此则在不同的时刻,同一视频通道可能反复的被分配给多个不同用户使用,这就极大的提高视频通道的利用效率,进而可尽量减少硬件资源的部署,并且,基于此机制则无需为每个用户固定的分配视频通道,故而可以摒弃现有视频通道分配机制,有利于极大的提高视频服务器的允许接入用户数量。
【专利附图】

【附图说明】
[0020]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1是本发明实施例提供一种视频通道分配管理方法的流程示意图;
[0022]图2是本发明实施例提供另一种视频通道分配管理方法的流程示意图;
[0023]图3是本发明实施例提供另一种视频通道分配管理方法的流程示意图;
[0024]图4_a是本发明实施例提供的一种视频服务器的示意图;
[0025]图4_b是本发明实施例提供的另一种视频服务器的示意图;
[0026]图4-c是本发明实施例提供的另一种视频服务器的示意图;
[0027]图5是本发明实施例提供的另一种视频服务器的示意图;
[0028]图6是本发明实施例提供的一种通信系统的示意图;
[0029]图7是本发明实施例提供的一种用户终端的示意图。
【具体实施方式】
[0030]本发明实施例提供视频通道分配管理方法和相关设备及通信系统,以期提高视频通道的利用效率,进而可尽量减少硬件资源的部署。
[0031]为了使本【技术领域】的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。[0032]以下分别进行详细说明。
[0033]本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三” “第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0034]本发明一种视频通道分配管理方法的一个实施例,该方法可包括:
[0035]视频服务器接收第一视频数据;查询第一视频数据所属的第一用户所对应的视频通道;若未成功查询到第一用户所对应的视频通道,则尝试为第一用户分配当前已超时的视频通道,若为第一用户成功分配到了当前已超时的第二视频通道,则将第一视频数据写入第二视频通道,并标记第二视频通道归属于第一用户。
[0036]首先请参见图1,图1是本发明实施例提供的一种视频通道分配管理方法的流程示意图。如图1所示,本发明实施例提供的一种视频通道分配管理方法可包括以下内容:
[0037]101、视频服务器接收第一视频数据。
[0038]举例来说,当某用户终端(为便于引述,可称之为第一用户终端)与视频服务器建立连接之后,第一用户终端可向视频服务器发送某视频数据(为便于引述,称之为第一视频数据),视频服务器可接收来自第一用户终端的第一视频数据。其中,发送第一视频数据的第一用户终端归属于某用户(可称之为第一用户)。其中,第一视频数据可为直播视频数据,当然也可为其它类型的视频数据包。
[0039]其中,本发明各实施例所指的用户终端可为个人电脑、手机、个人数字处理设备或其它类型的用户终端。
[0040]102、视频服务器查询第一视频数据所属的第一用户所对应的视频通道。
[0041]在本发明的一些实施例中,第一视频数据中例如还可包含第一用户的用户标识。
[0042]在本发明的一些实施例中,视频服务器在接收到第一视频数据之前,可能已经为第一用户分配了视频通道,也可能还未为第一用户分配视频通道(视频服务器可能之前始终未为第一用户分配视频通道,或者视频服务器也可能将之前分配给第一用户的视频通道又重新分配给了其它用户,或视频服务器也可能将之前分配给第一用户的视频通道重置为了空闲的视频通道,其中,空闲的视频通道是不归属于任何用户的)。
[0043]其中,视频通道是视频服务器中用于存储视频数据的存储资源(例如内存资源等),其中,视频通道中可记录时间戳、该视频通道当前所属用户的用户标识等等信息。
[0044]在本发明的一些实施例中,查询所述第一视频数据所属的第一用户所对应的视频通道,可包括:基于多重哈希算法(或遍历算法或其它算法)查找映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,若未查找到所述映射记录存储区之中存储有用于标识第一用户与视频通道之间的映射关系的记录,则确定未成功查询到所述第一用户所对应的视频通道,若查找到所述映射记录存储区之中存储有用于标识第一用户与第一视频通道之间的映射关系的记录,则确定成功查询到了所述第一用户对应的第一视频通道。[0045]103、视频服务器若未成功查询到第一用户所对应的视频通道,则尝试为第一用户分配当前已超时的视频通道,若为第一用户成功分配到了当前已超时的第二视频通道,则将第一视频数据写入第二视频通道,并标记第二视频通道归属于第一用户。
[0046]在本发明的一些实施例中,已超时的视频通道可指该视频通道对应的时间戳所表示的时间滞后当前时间超过第一时长阈值,其中,第一时长阈值例如可以是一秒钟、两秒钟、三秒钟或根据实际需要设定的其它时长。已超时的视频通道是属于某用户的。
[0047]在本发明一些实施例中,若将第一视频数据写入到第二视频通道,还可进一步更新第二视频通道的时间戳,可以理解的是,更新后的第二视频通道的时间戳所表示的时间为将第一视频数据写入到第二视频通道时的时间。
[0048]在本发明的一些实施例中,视频服务器还可进一步生成用于标识第一用户与第二视频通道之间的映射关系的第二记录,基于多重哈希算法计算得到第二存储地址,将第二记录写入第二存储地址所指向的第二存储空间,其中,第二存储空间归属于映射记录存储区。
[0049]在本发明的一些实施例中,上述多重哈希算法的输入例如为第一用户的用户代码(其中,用户代码为若干个数字),其中,第一用户的用户代码为第一用户的用户标识或基于第一用户的用户标识转换得到。
[0050]在本发明的一些实施例中,K≤N*M*P,其中,上述K表示上述映射记录存储区的总存储空间大小,其中,上述M表示上述视频服务器所能提供的视频通道总数,其中,上述P表示存储一条用于标识用户与视频通道之间的映射关系的记录所占用的存储空间大小,其中,上述N为正整数。举例来说,上述N例如可等于1、2、3、4、5、6或其它值。
[0051]举例来说,假设P=IO字节,M等于100,N等于6,则K可以大于或等于6000字节。由于映射记录存储区的寻址空间大于或等于视频服务器所能提供的视频通道总数,这样有利于更充分的将视频服务器所能提供的视频通道尽可能完全充分的进行分配,这也有利于提高视频通道的利用率。
[0052]例如,映射记录存储区可包括至少N个映射记录子存储区,而每个映射记录子存储区的存储空间大小大于或等于M*P,其中,上述M表示上述视频服务器所能提供的视频通道总数,其中,上述P表示存储一条用于标识用户与视频通道之间的映射关系的记录所占用的存储空间大小。而在此场景下,多重哈希算法之中的每重哈希算法可对应不同的映射记录子存储区,每重哈希算法的分母不同,且分母可为小于M的质数。
[0053]在本发明的一些实施例中,视频服务器若成功查询到第一用户所对应的第一视频通道,可将第一视频数据写入第一视频通道。
[0054]在本发明一些实施例中,若将第一视频数据写入第一视频通道,还可进一步更新第一视频通道的时间戳,可以理解的是,更新后的第一视频通道的时间戳所表示的时间为将第一视频数据写入第一视频通道时的时间。
[0055]在本发明的一些实施例中,视频通道管理方法还可包括:若未成功为第一用户分配到当前已超时的视频通道,则可尝试为第一用户分配当前空闲的视频通道,若为第一用户成功分配到了当前空闲的第三视频通道,则可将第一视频数据写入第三视频通道,并可标记第三视频通道归属于第一用户(例如将第一用户的用户标识写入第三视频通道)。此外,若未为第一用户成功分配到当前空闲的视频通道(当前可能没有空闲的视频通道),则可提示第一用户获取视频通道失败(例如可向第一用户终端发送用于提示获取视频通道失败的提不消息等)。
[0056]在本发明的另一些实施例中,在尝试为第一用户分配当前已超时的视频通道之前,还可进一步包括:若未成功查询到第一用户所对应的视频通道,则尝试为第一用户分配当前空闲的视频通道,若为第一用户成功分配到了当前空闲的第三视频通道,则将第一视频数据写入第三视频通道,并标记第三视频通道归属于第一用户;若未能成功为第一用户分配到当前空闲的视频通道,则执行尝试为第一用户分配当前已超时的视频通道的步骤,若为第一用户成功分配到了当前已超时的第二视频通道,则将第一视频数据写入第二视频通道,并标记第二视频通道归属于第一用户,此外,若未为第一用户成功分配到当前已超时的视频通道(当前可能没有已超时的视频通道),则可提示第一用户获取视频通道失败(例如可向第一用户终端发送用于提示获取视频通道失败的提示消息等)。
[0057]在本发明的一些实施例中,视频服务器若为第一用户成功分配到了当前空闲的第三视频通道,还可进一步生成用于标识第一用户与第三视频通道之间的映射关系的第三记录,基于多重哈希算法计算得到第三存储地址,将第三记录写入第三存储地址所指向的第三存储空间,其中,第三存储空间归属于映射记录存储区。
[0058]在本发明一些实施例中,若将第一视频数据写入到第三视频通道,还可进一步更新第三视频通道的时间戳,可以理解的是,更新后的第三视频通道的时间戳所表示的时间为将第一视频数据写入到第三视频通道时的时间。
[0059]可以理解的是,在本发明的一些实施例中,在将某视频数据(例如第一视频数据)写入到某视频通道时,均可进一步更新该视频通道的时间戳,而更新后的该视频通道的时间戳所表示的时间为将视频数据写入到该视频通道时的时间。
[0060]在本发明的一些实施例中,视频通道管理方法还可包括:
[0061]在满足设定的通道重置条件时,将当前已超时的部分或全部视频通道重置为空闲的视频通道。
[0062]在本发明的一些实施例中,通道重置条件可以是根据实际场景需要而设定的各种可行的条件。例如通道重置条件可包含如下条件的至少一个:当前空闲的视频通道数量少于设定的第一阈值(例如10个或其它值)、当前空闲的视频通道数量占总通道数的比例少于设定的第二阈值(如15%或其它值)、接收到超时视频通道重置指令、当前已超时的视频通道数量大于设定的第三阈值(例如20个或其它值)、设定的重置周期(如I分钟、两分钟或其它值)到达、当前已超时的视频通道数量占总通道数的比例大于设定的第四阈值(例如50%或其它值)、当前已超时的视频通道数量与当前空闲的视频通道数量的比值大于设定的第五阈值(例如100%或其它值)。
[0063]其中,本发明实施例的各阈值(如第一阈值、第二阈值、第三阈值、第四阈值和第五阈值等)的取值可根据具体场景需要进行设定,只要能满足实际需要即可。
[0064]可以理解,由于在满足设定的通道重置条件时,会将当前已超时的部分或全部视频通道重置为空闲的视频通道,基于这一机制,则视频服务器可批量的获得空闲的视频通道,为后续提高视频通道的利用效率奠定基础。
[0065]在本发明的一些实施例中,在满足设定的通道重置条件时,将当前已超时的部分或全部视频通道重置为空闲的视频通道,可包括:[0066]在当前空闲的视频通道数量少于设定的第一阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前空闲的视频通道数量占总通道数的比例少于设定的第二阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在接收到超时视频通道重置指令时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在设定的重置周期到达时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在当前已超时的视频通道数量大于设定的第三阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前已超时的视频通道数量占总通道数的比例大于设定的第四阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前已超时的视频通道数量,与当前空闲的视频通道数量的比值大于设定的第五阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道。
[0067]由上可见,本实施例方案中视频服务器接收第一视频数据之后;先查询第一视频数据所属的第一用户所对应的视频通道;若成功查询到第一用户所对应的第一视频通道,将第一视频数据写入第一视频通道;若为第一用户成功分配到了当前已超时的第二视频通道,则将第一视频数据写入第二视频通道,并标记第二视频通道归属于第一用户。由于引入了视频通道的时间管理机制,对于当前已超时的视频通道可重新分配给其它用户使用,如此则在不同的时刻,同一视频通道可能反复的被分配给多个不同用户使用,这就极大的提高视频通道的利用效率,进而可尽量减少硬件资源的部署,并且,基于此机制则无需为每个用户固定分配视频通道,可摒弃现有视频通道分配机制,有利于极大的提高视频服务器的允许接入用户数量。
[0068]为便于更好的理解和实施本发明实施例的上述方面,下面通过举例几个应用场景进行进一步介绍。
[0069]请参见图2,图2是本发明实施例提供的另一种视频通道分配管理方法的流程示意图。如图2所示,本发明实施例提供的另一种视频通道分配管理方法可包括以下内容:
[0070]201、视频服务器接收来自第一用户终端的第一视频数据。
[0071]举例来说,当某用户终端(为便于引述,可称之为第一用户终端)与视频服务器建立连接之后,第一用户终端可向视频服务器发送某视频数据(为便于引述,称之为第一视频数据),视频服务器可接收来自第一用户终端的第一视频数据。其中,发送第一视频数据的第一用户终端归属于某用户(可称之为第一用户)。其中,第一视频数据可为直播视频数据,当然也可为其它类型的视频数据包。
[0072]202、视频服务器查询是否存在第一视频数据所属的第一用户所对应的视频通道;
[0073]若是,则执行步骤203 ;
[0074]若否,则执行步骤204。
[0075]203、视频服务器若成功查询到第一用户所对应的第一视频通道,将第一视频数据写入第一视频通道,并更新第一视频通道的时间戳。
[0076]可以理解的是,更新后的第一视频通道的时间戳所表示的时间为将第一视频数据写入第一视频通道当时的时间。
[0077]204、视频服务器若未成功查询到第一用户所对应的视频通道,尝试为第一用户分配当前已超时的视频通道;[0078]若尝试为第一用户分配当前已超时的视频通道成功(若当前存在已超时的视频通道,则尝试为第一用户分配当前已超时的视频通道可能成功),则执行步骤205 ;
[0079]若尝试为第一用户分配当前已超时的视频通道失败(若当前不存在已超时的视频通道,则尝试为第一用户分配当前已超时的视频通道会失败),则执行步骤206。
[0080]205、视频服务器若为第一用户成功分配到了当前已超时的第二视频通道,则可将第一视频数据写入到第二视频通道,并可标记第二视频通道归属于第一用户,并更新第二视频通道的时间戳。
[0081]206、若未成功为第一用户成功分配到了当前已超时的视频通道,视频服务器尝试为第一用户分配当前空闲的视频通道;
[0082]其中,若尝试为第一用户分配当前空闲的视频通道成功(若当前存在空闲的视频通道,则尝试为第一用户分配当前空闲的视频通道可能成功),则执行步骤207 ;若尝试为第一用户分配当前空闲的视频通道失败(若当前存在空闲的视频通道,则尝试为第一用户分配当前空闲的视频通道会失败),则执行步骤208。
[0083]207、若为第一用户成功分配到了当前空闲的第三视频通道,视频服务器将第一视频数据写入第三视频通道,并标记第三视频通道归属第一用户,并更新第三视频通道的时间戳。
[0084]208、若未成功为第一用户成功分配到了当前空闲的视频通道,则视频服务器向第一用户终端发送用于提示获取视频通道失败的提示消息。
[0085]由上可见,本实施例方案中视频服务器接收第一视频数据之后;先查询第一视频数据所属的第一用户所对应的视频通道;若成功查询到第一用户所对应的第一视频通道,将第一视频数据写入第一视频通道;若未成功查询到第一用户所对应的视频通道,则尝试为第一用户分配当前已超时的视频通道,若为第一用户成功分配到了当前已超时的第二视频通道,则将第一视频数据写入第二视频通道,并标记第二视频通道归属于第一用户;若未成功为第一用户成功分配到了当前已超时的视频通道,视频服务器尝试为第一用户分配当前空闲的视频通道。由于引入了基于时间戳的视频通道时间管理机制,对于当前已超时的视频通道可重新分配给其它用户使用,如此,同一视频通道可能反复的被分配给多个不同用户使用,这就极大的提高视频通道的利用效率,进而可尽量减少硬件资源的部署,并且基于此机制则无需为每个用户固定分配视频通道,可摒弃现有视频通道分配机制,有利于极大的提高视频服务器的允许接入用户数量。
[0086]请参见图3,图3是本发明实施例提供的另一种视频通道分配管理方法的流程示意图。如图3所示,本发明实施例提供的另一种视频通道分配管理方法可包括以下内容:
[0087]301、视频服务器接收来自第一用户终端的第一视频数据。
[0088]302、视频服务器查询是否存在第一视频数据所属的第一用户所对应的视频通道;
[0089]若是,则执行步骤303 ;
[0090]若否,则执行步骤304。
[0091]303、视频服务器若成功查询到第一用户所对应的第一视频通道,则将第一视频数据写入第一视频通道,并更新第一视频通道的时间戳。
[0092]304、视频服务器若未成功查询到第一用户所对应的视频通道,则尝试为第一用户分配当前空闲的视频通道;
[0093]若尝试为第一用户分配当前空闲的视频通道成功,则执行步骤305 ;
[0094]若尝试为第一用户分配当前空闲的视频通道失败,则执行步骤306 ;
[0095]305、若为第一用户成功分配到了当前空闲的第三视频通道,视频服务器将第一视频数据写入第三视频通道,并标记第三视频通道归属于第一用户,并更新第三视频通道的时间戳。
[0096]306、若未成功为第一用户成功分配到了当前空闲的视频通道,则视频服务器尝试为第一用户分配当前已超时的视频通道;
[0097]若尝试为第一用户分配当前已超时的视频通道成功,则执行步骤307 ;
[0098]若尝试为第一用户分配当前已超时的视频通道失败,则执行步骤308 ;
[0099]307、若为第一用户成功分配到了当前已超时的第二视频通道,视频服务器将第一视频数据写入第二视频通道,标记第二视频通道归属于第一用户,并更新第二视频通道的时间戳。
[0100]308、若未成功为第一用户成功分配到了当前已超时的视频通道,视频服务器向第一用户终端发送用于提示获取视频通道失败的提示消息。
[0101]由上可见,本实施例方案中视频服务器接收第一视频数据之后;先查询第一视频数据所属的第一用户所对应的视频通道;若成功查询到第一用户所对应的第一视频通道,将第一视频数据写入第一视频通道;若未成功查询到第一用户所对应的视频通道,尝试为第一用户分配当前空闲的视频通道;若未成功为第一用户成功分配到了当前空闲的视频通道,则尝试为第一用户分配当前已超时的视频通道,若为第一用户成功分配到了当前已超时的第二视频通道,则将第一视频数据写入第二视频通道,并标记第二视频通道归属于第一用户。由于引入了基于时间戳的视频通道时间管理机制,对于当前已超时的视频通道可以重新分配给其它用户来使用,如此,在不同的时刻,同一视频通道可能反复的被分配给多个不同用户使用,这就极大的提高视频通道的利用效率,进而可尽量减少硬件资源的部署,并且,基于此机制则无需为每个用户固定分配视频通道,可摒弃现有视频通道分配机制,有利于极大的提高视频服务器的允许接入用户数量。
[0102]为便于更好的理解和实施本发明实施例的上述方面,下面举例一个更为具体应用场景进行进一步介绍。
[0103]假设视频服务器最多可提供100个视频通道。假设用户A所使用的用户终端a与视频服务器建立起了连接。
[0104]举例1、
[0105]假设视频服务器接收来自用户终端a的视频数据s I,其中视频数据s I中携带用户A的用户标识;视频服务器基于用户A的用户标识,查询是否存在视频数据Si所属的用户A所对应的视频通道;视频服务器若成功查询到用户A的所对应的第一视频通道,将可视频数据Si写入第一视频通道,并更新第一视频通道的时间戳;视频服务器若未成功查询到用户A所对应的视频通道,尝试为用户A分配当前已超时的视频通道;视频服务器若为用户A成功分配到了当前已超时的第二视频通道,则将视频数据Si写入第二视频通道,并标记第二视频通道归属于用户A,并更新第二视频通道的时间戳;若未成功为用户A成功分配到了当前已超时的视频通道,视频服务器可尝试为用户A分配当前空闲的视频通道;若为用户A成功分配到了当前空闲的第三视频通道,视频服务器将视频数据Si写入第三视频通道,并标记第三视频通道归属于用户A,并更新第三视频通道的时间戳;若未成功为用户A成功分配到了当前空闲的视频通道,则视频服务器可向用户终端a发送用于提示获取视频通道失败的提示消息。
[0106]举例2、
[0107]假设视频服务器接收来自用户终端a的视频数据Si,其中,视频数据Si中携带用户A的用户标识;视频服务器基于用户A的用户标识,查询是否存在视频数据Si所属的用户A所对应的视频通道;视频服务器若成功查询到用户A的所对应的第一视频通道,将可视频数据Si写入第一视频通道,并更新第一视频通道的时间戳;视频服务器若未成功查询到用户A所对应的视频通道,尝试为用户A分配当前空闲的视频通道;视频服务器若为用户A成功分配到了当前空闲的第三视频通道,则将视频数据Si写入第三视频通道,并标记第三视频通道归属于用户A,并更新第三视频通道的时间戳;若未成功为用户A成功分配到了当前空闲的视频通道,视频服务器可尝试为用户A分配当前已超时的视频通道;若为用户A成功分配到了当前已超时的第三视频通道,视频服务器将视频数据Si写入第二视频通道,并标记第二视频通道归属于用户A,并更新第二视频通道的时间戳;若未成功为用户A成功分配到了当前已超时的视频通道,则视频服务器可向用户终端a发送用于提示获取视频通道失败的提示消息。
[0108]可以看出,基于本发明实施例的机制,一个视频服务器加入成千上万个用户成为了可能,一个视频服务器理论上可以加入无限多个用户,甚至可以满足利用一个视频服务器进行大型会议的需要。
[0109]为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相
关装置。
[0110]参见图4-a,本发明实施例提供一种视频服务器400,可包括:
[0111]接收单元410、查询单元420、写入单元430和分配单元440。
[0112]其中,接收单元410,用于接收第一视频数据。
[0113]在本发明的一些实施例中,第一视频数据中例如还可包含第一用户的用户标识。
[0114]查询单元420,用于查询第一视频数据所属的第一用户所对应的视频通道。
[0115]在本发明的一些实施例中,接收单元410在接收到第一视频数据之前,分配单元440可能已经为第一用户分配了视频通道,也可能还未为第一用户分配视频通道,其中,分配单元440可能之前始终未为第一用户分配视频通道,或者分配单元440也可能将之前分配给第一用户的视频通道又重新分配给了其它用户,或视频服务器也可能将之前分配给第一用户的视频通道重置为了空闲的视频通道,其中,空闲的视频通道是不归属于任何用户的。
[0116]分配单元440,用于若查询单元420未成功查询到第一用户所对应的视频通道,则尝试为第一用户分配当前已超时的视频通道。
[0117]写入单元430,用于若分配单元440为第一用户成功分配到了当前已超时的第二视频通道,则将第一视频数据写入第二视频通道,并标记第二视频通道归属于第一用户。
[0118]在本发明的一些实施例中,写入单元430还用于若查询单元420成功查询到第一用户所对应的第一视频通道,将第一视频数据写入第一视频通道。[0119]在本发明的一些实施例中,已超时的视频通道可指该视频通道对应的时间戳所表示的时间滞后当前时间超过第一时长阈值,其中,第一时长阈值例如可以是一秒钟、两秒钟、三秒钟或根据实际需要设定的其它时长。已超时的视频通道是属于某用户的。
[0120]在本发明的一些实施例中,分配单元440还用于,若未成功为第一用户成功分配到了当前已超时的视频通道,则尝试为第一用户分配当前空闲的视频通道;
[0121]写入单元430还用于,若为第一用户成功分配到了当前空闲的第三视频通道,则将第一视频数据写入第三视频通道,并标记第三视频通道归属于第一用户。
[0122]在本发明的另一些实施例中,分配单元440具体用于,若查询单元420未成功查询到第一用户所对应的视频通道,则尝试为第一用户分配当前空闲的视频通道;若未能成功为第一用户分配到当前空闲的视频通道,则尝试为第一用户分配当前已超时的视频通道。
[0123]写入单元430还用于,若分配单元440为第一用户成功分配到了当前空闲的第三视频通道,则将第一视频数据写入第三视频通道,并标记第三视频通道归属于第一用户。
[0124]在本发明一些实施例中,查询单元420可具体用于:基于多重哈希算法(或遍历算法或其它算法)查找映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,若未查找到所述映射记录存储区之中存储有用于标识第一用户与视频通道之间的映射关系的记录,则确定未成功查询到所述第一用户所对应的视频通道,若查找到所述映射记录存储区之中存储有用于标识第一用户与第一视频通道之间的映射关系的记录,则确定成功查询到了所述第一用户对应的第一视频通道。
[0125]在本发明的一些实施例中,上述多重哈希算法的输入例如为第一用户的用户代码(其中,用户代码为若干个数字),其中,第一用户的用户代码为第一用户的用户标识或基于第一用户的用户标识转换得到。
[0126]参见图4_b,在本发明的一些实施例中,视频服务器400还可包括:
[0127]时间戳更新单元450,用于若写入单元430将第一视频数据写入第一视频通道,则更新第一视频通道的时间戳;或,若写入单元430将第一视频数据写入到第二视频通道,则更新第二视频通道的时间戳;或,若写入单元430将第一视频数据写入到第三视频通道,则更新第三视频通道的时间戳。
[0128]参见图4-C,在本发明的一些实施例中,视频服务器400还可包括:
[0129]通道重置单元460,用于在满足设定的通道重置条件时,将当前已超时的部分或全部视频通道重置为空闲的视频通道。
[0130]在本发明的一些实施例中,通道重置条件可以是根据实际场景需要而设定的各种可行的条件。例如通道重置条件可包含如下条件的至少一个:当前空闲的视频通道数量少于设定的第一阈值(例如10个或其它值)、当前空闲的视频通道数量占总通道数的比例少于设定的第二阈值(如15%或其它值)、接收到超时视频通道重置指令、当前已超时的视频通道数量大于设定的第三阈值(例如20个或其它值)、设定的重置周期(如I分钟、两分钟或其它值)到达、当前已超时的视频通道数量占总通道数的比例大于设定的第四阈值(例如50%或其它值)、当前已超时的视频通道数量与当前空闲的视频通道数量的比值大于设定的第五阈值(例如100%或其它值)。
[0131]在本发明的一些实施例中,通道重置单元460可具体用于,在当前空闲的视频通道数量少于设定的第一阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在当前空闲的视频通道数量占总通道数的比例少于设定的第二阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在接收到超时视频通道重置指令时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在设定的重置周期到达时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在当前已超时的视频通道数量大于设定的第三阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在当前已超时的视频通道数量占总通道数的比例大于设定的第四阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者在当前已超时的视频通道数量,与当前空闲的视频通道数量的比值大于设定的第五阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道。
[0132]可以理解的是,本实施例的视频服务器400的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
[0133]由上可见,本实施例方案中视频服务器400接收第一视频数据之后;先查询第一视频数据所属的第一用户所对应的视频通道;若成功查询到第一用户所对应的第一视频通道,将第一视频数据写入第一视频通道;若未成功查询到第一用户所对应的视频通道,则尝试为第一用户分配当前已超时的视频通道,若为第一用户成功分配到了当前已超时的第二视频通道,则将第一视频数据写入第二视频通道,并标记第二视频通道归属于第一用户。由于引入了视频通道的时间管理机制,对于当前已超时的视频通道可重新分配给其它用户使用,如此则在不同的时刻,同一视频通道可能反复的被分配给多个不同用户使用,这就极大的提高视频通道的利用效率,进而可尽量减少硬件资源的部署,并且,基于此机制则无需为每个用户固定分配视频通道,可摒弃现有视频通道分配机制,有利于极大的提高视频服务器的允许接入用户数量。
[0134]参见图5,本发明实施例提供一种视频服务器500,可包括:
[0135]处理器510、存储器520、输入装置530和输出装置540。视频服务器500中的处理器510的数量可以一个或多个,图5中以一个处理器为例。在本发明的一些实施例中,处理器510、存储器520、输入装置530和输出装置540可通过总线或其它方式连接,其中,图5中以通过总线连接为例。
[0136]存储器520可用于存储软件程序以及模块,处理器510通过运行存储在存储器520的软件程序以及模块,从而执行视频服务器500的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置530可用于接收输入的数字或字符信息,以及产生与视频服务器500的用户设置以及功能控制有关的键信号输入。
[0137]其中,处理器510执行如下步骤:接收第一视频数据;查询第一视频数据所属的第一用户所对应的视频通道;若未成功查询到第一用户所对应的视频通道,则尝试为第一用户分配当前已超时的视频通道,若为第一用户成功分配到了当前已超时的第二视频通道,则将第一视频数据写入第二视频通道,并标记第二视频通道归属于第一用户。[0138]在本发明的一些实施例中,若成功查询到第一用户所对应的第一视频通道,处理器510可将第一视频数据写入第一视频通道;
[0139]举例来说,当某用户终端(为便于引述,可称之为第一用户终端)与视频服务器建立连接之后,第一用户终端可向视频服务器发送某视频数据(为便于引述,称之为第一视频数据),视频服务器可接收来自第一用户终端的第一视频数据。其中,发送第一视频数据的第一用户终端归属于某用户(可称之为第一用户)。其中,第一视频数据可为直播视频数据,当然也可为其它类型的视频数据包。
[0140]在本发明的一些实施例中,第一视频数据中例如还可包含第一用户的用户标识。
[0141]在本发明的一些实施例中,处理器510在接收到第一视频数据之前,可能已经为第一用户分配了视频通道,也可能还未为第一用户分配视频通道(视频服务器可能之前始终未为第一用户分配视频通道,或者处理器510也可能将之前分配给第一用户的视频通道又重新分配给了其它用户,或处理器510也可能将之前分配给第一用户的视频通道重置为了空闲的视频通道,其中,空闲的视频通道是不归属于任何用户的)。
[0142]其中,视频通道是视频服务器中用于存储视频数据的存储资源(例如内存资源等),其中,视频通道中可记录时间戳、该视频通道当前所属用户的用户标识等等信息。
[0143]在本发明一些实施例中,若将第一视频数据写入第一视频通道,还可进一步更新第一视频通道的时间戳,可以理解的是,更新后的第一视频通道的时间戳所表示的时间为将第一视频数据写入第一视频通道时的时间。
[0144]在本发明的一些实施例中,已超时的视频通道可指该视频通道对应的时间戳所表示的时间滞后当前时间超过第一时长阈值,其中,第一时长阈值例如可以是一秒钟、两秒钟、三秒钟或根据实际需要设定的其它时长。已超时的视频通道是属于某用户的。
[0145]在本发明一些实施例中,若将第一视频数据写入到第二视频通道,还可进一步更新第二视频通道的时间戳,可以理解的是,更新后的第二视频通道的时间戳所表示的时间为将第一视频数据写入到第二视频通道时的时间。
[0146]在本发明的一些实施例中,若未成功为第一用户分配到当前已超时的视频通道,则处理器510可尝试为第一用户分配当前空闲的视频通道,若为第一用户成功分配到了当前空闲的第三视频通道,则可将第一视频数据写入第三视频通道,并可标记第三视频通道归属于第一用户(例如将第一用户的用户标识写入第三视频通道)。此外,若未为第一用户成功分配到当前空闲的视频通道(当前可能没有空闲的视频通道),则可提示第一用户获取视频通道失败(例如可向第一用户终端发送用于提示获取视频通道失败的提示消息等)。
[0147]在本发明的另一些实施例中,在尝试为第一用户分配当前已超时的视频通道之前,若未成功查询到第一用户所对应的视频通道,则处理器510尝试为第一用户分配当前空闲的视频通道,若为第一用户成功分配到了当前空闲的第三视频通道,则将第一视频数据写入第三视频通道,并标记第三视频通道归属于第一用户;若未能成功为第一用户分配到当前空闲的视频通道,则处理器510再尝试为第一用户分配当前已超时的视频通道,若为第一用户成功分配到了当前已超时的第二视频通道,则将第一视频数据写入第二视频通道,并标记第二视频通道归属于第一用户,此外,若未为第一用户成功分配到当前已超时的视频通道(当前可能没有已超时的视频通道),则处理器510可提示第一用户获取视频通道失败(例如可向第一用户终端发送用于提示获取视频通道失败的提示消息等)。[0148]在本发明一些实施例中,若将第一视频数据写入到第三视频通道,还可进一步更新第三视频通道的时间戳,可以理解的是,更新后的第三视频通道的时间戳所表示的时间为将第一视频数据写入到第三视频通道时的时间。
[0149]可以理解的是,在本发明的一些实施例中,在将某视频数据(例如第一视频数据)写入到某视频通道时,均可进一步更新该视频通道的时间戳,而更新后的该视频通道的时间戳所表示的时间为将视频数据写入到该视频通道时的时间。
[0150]在本发明的一些实施例中,处理器510查询所述第一视频数据所属的第一用户所对应的视频通道,可包括:基于多重哈希算法(或遍历算法或其它算法)查找映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,若未查找到所述映射记录存储区之中存储有用于标识第一用户与视频通道之间的映射关系的记录,则确定未成功查询到所述第一用户所对应的视频通道,若查找到所述映射记录存储区之中存储有用于标识第一用户与第一视频通道之间的映射关系的记录,则确定成功查询到了所述第一用户对应的第一视频通道。
[0151 ] 在本发明的一些实施例中,处理器510还可进一步生成用于标识第一用户与第二视频通道之间的映射关系的第二记录,基于多重哈希算法计算得到第二存储地址,将第二记录写入第二存储地址所指向的第二存储空间,其中,第二存储空间归属于映射记录存储区。
[0152]在本发明的一些实施例中,上述多重哈希算法的输入例如为第一用户的用户代码(其中,用户代码为若干个数字),其中,第一用户的用户代码为第一用户的用户标识或基于第一用户的用户标识转换得到。
[0153]在本发明的一些实施例中,K≤N*M*P,其中,上述K表示上述映射记录存储区的总存储空间大小,其中,上述M表示上述视频服务器所能提供的视频通道总数,其中,上述P表示存储一条用于标识用户与视频通道之间的映射关系的记录所占用的存储空间大小,其中,上述N为正整数。举例来说, 上述N例如可等于1、2、3、4、5、6或其它值。
[0154]举例来说,假设P=IO字节,M等于100,N等于6,则K可以大于或等于6000字节。由于映射记录存储区的寻址空间大于或等于视频服务器所能提供的视频通道总数,这样有利于更充分的将视频服务器所能提供的视频通道尽可能完全充分的进行分配,这也有利于提高视频通道的利用率。
[0155]例如,映射记录存储区可包括至少N个映射记录子存储区,而每个映射记录子存储区的存储空间大小大于或等于M*P,其中,上述M表示上述视频服务器所能提供的视频通道总数,其中,上述P表示存储一条用于标识用户与视频通道之间的映射关系的记录所占用的存储空间大小。而在此场景下,多重哈希算法之中的每重哈希算法可对应不同的映射记录子存储区,每重哈希算法的分母不同,且分母可为小于M的质数。
[0156]在本发明的一些实施例中,在满足设定的通道重置条件时,处理器510可将当前已超时的部分或全部视频通道重置为空闲的视频通道。
[0157]在本发明的一些实施例中,通道重置条件可以是根据实际场景需要而设定的各种可行的条件。例如通道重置条件可包含如下条件的至少一个:当前空闲的视频通道数量少于设定的第一阈值(例如10个或其它值)、当前空闲的视频通道数量占总通道数的比例少于设定的第二阈值(如15%或其它值)、接收到超时视频通道重置指令、当前已超时的视频通道数量大于设定的第三阈值(例如20个或其它值)、设定的重置周期(如I分钟、两分钟或其它值)到达、当前已超时的视频通道数量占总通道数的比例大于设定的第四阈值(例如50%或其它值)、当前已超时的视频通道数量与当前空闲的视频通道数量的比值大于设定的第五阈值(例如100%或其它值)。
[0158]可以理解,由于在满足设定的通道重置条件时,会将当前已超时的部分或全部视频通道重置为空闲的视频通道,基于这一机制,则视频服务器可批量的获得空闲的视频通道,为后续提高视频通道的利用效率奠定基础。
[0159]在本发明的一些实施例中,处理器510在满足设定的通道重置条件时,将当前已超时的部分或全部视频通道重置为空闲的视频通道,可包括:在当前空闲的视频通道数量少于设定的第一阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在当前空闲的视频通道数量占总通道数的比例少于设定的第二阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在接收到超时视频通道重置指令时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在设定的重置周期到达时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在当前已超时的视频通道数量大于设定的第三阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在当前已超时的视频通道数量占总通道数的比例大于设定的第四阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在当前已超时的视频通道数量,与当前空闲的视频通道数量的比值大于设定的第五阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道。
[0160]由上可见,本实施例方案中视频服务器500接收第一视频数据之后;先查询第一视频数据所属的第一用户所对应的视频通道;若成功查询到第一用户所对应的第一视频通道,将第一视频数据写入第一视频通道;若未成功查询到第一用户所对应的视频通道,则尝试为第一用户分配当前已超时的视频通道,若为第一用户成功分配到了当前已超时的第二视频通道,则将第一视频数据写入第二视频通道,并标记第二视频通道归属于第一用户。由于引入了视频通道的时间管理机制,对于当前已超时的视频通道可重新分配给其它用户使用,如此则在不同的时刻,同一视频通道可能反复的被分配给多个不同用户使用,这就极大的提高视频通道的利用效率,进而可尽量减少硬件资源的部署,并且,基于此机制,则无需为每个用户固定分配视频通道,进而可摒弃现有视频通道分配机制,有利于极大的提高视频服务器的允许接入用户数量。
[0161]参见图6,本发明实施例还提供一种通信系统,其特征在于,包括:
[0162]用户终端600和视频服务器700 ;
[0163]其中,用户终端600,用于向视频服务器700发送第一视频数据;
[0164]视频服务器700,用于接收来自用户终端600的第一视频数据;查询第一视频数据所属的第一用户所对应的视频通道;若未成功查询到第一用户所对应的视频通道,则尝试为第一用户分配当前已超时的视频通道,若为第一用户成功分配到了当前已超时的第二视频通道,则将第一视频数据写入第二视频通道,并标记第二视频通道归属于第一用户。
[0165]在本发明的一些实施例中,视频服务器700还可用于,若成功查询到第一用户所对应的第一视频通道,将第一视频数据写入第一视频通道。
[0166]在本发明一些实施例中,视频服务器700在接收到第一视频数据之前,可能已为第一用户分配了视频通道,也可能还未为第一用户分配视频通道(视频服务器700可能之前始终未为第一用户分配视频通道,或者视频服务器700也可能将之前分配给第一用户的视频通道又重新分配给了其它用户,或视频服务器700也可能将之前分配给第一用户的视频通道重置为了空闲的视频通道)。
[0167]在本发明一些实施例中,视频服务器700若将第一视频数据写入第一视频通道,还可进一步更新第一视频通道的时间戳,可以理解的是,更新后的第一视频通道的时间戳所表示的时间为将第一视频数据写入第一视频通道时的时间。
[0168]在本发明的一些实施例中,已超时的视频通道可指该视频通道对应的时间戳所表示的时间滞后当前时间超过第一时长阈值,其中,第一时长阈值例如可以是一秒钟、两秒钟、三秒钟或根据实际需要设定的其它时长。已超时的视频通道是属于某用户的。
[0169]在本发明一些实施例中,视频服务器700若将第一视频数据写入到第二视频通道,还可进一步更新第二视频通道的时间戳,可以理解的是,更新后的第二视频通道的时间戳所表示的时间为将第一视频数据写入到第二视频通道时的时间。
[0170]在本发明的一些实施例中,视频服务器700若未成功为第一用户分配到当前已超时的视频通道,则可尝试为第一用户分配当前空闲的视频通道,若为第一用户成功分配到了当前空闲的第三视频通道,则可将第一视频数据写入第三视频通道,并可标记第三视频通道归属于第一用户(例如将第一用户的用户标识写入第三视频通道)。此外,若未为第一用户成功分配到当前空闲的视频通道(当前可能没有空闲的视频通道),则可提示第一用户获取视频通道失败(例如可向第一用户终端发送用于提示获取视频通道失败的提示消息
-rf* ) O
[0171]在本发明另一些实施例中,视频服务器700在尝试为第一用户分配当前已超时的视频通道之前,若未成功查询到第一用户所对应的视频通道,则尝试为第一用户分配当前空闲的视频通道,若为第一用户成功分配到了当前空闲的第三视频通道,则将第一视频数据写入第三视频通道,并标记第三视频通道归属于第一用户;若未能成功为第一用户分配到当前空闲的视频通道,则再尝试为第一用户分配当前已超时的视频通道,若为第一用户成功分配到了当前已超时的第二视频通道,则将第一视频数据写入第二视频通道,并标记第二视频通道归属于第一用户。若未为第一用户成功分配到当前已超时的视频通道,则可提示第一用户获取视频通道失败。
[0172]在本发明一些实施例中,视频服务器700若将第一视频数据写入到第三视频通道,还可进一步更新第三视频通道的时间戳,可以理解的是,更新后的第三视频通道的时间戳所表示的时间为将第一视频数据写入到第三视频通道时的时间。
[0173]在本发明的一些实施例中,视频服务器700还可在满足设定的通道重置条件时,将当前已超时的部分或全部视频通道重置为空闲的视频通道。
[0174]在本发明的一些实施例中,视频服务器700查询所述第一视频数据所属的第一用户所对应的视频通道,可包括:基于多重哈希算法(或遍历算法或其它算法)查找映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,若未查找到所述映射记录存储区之中存储有用于标识第一用户与视频通道之间的映射关系的记录,则确定未成功查询到所述第一用户所对应的视频通道,若查找到所述映射记录存储区之中存储有用于标识第一用户与第一视频通道之间的映射关系的记录,则确定成功查询到了所述第一用户对应的第一视频通道。
[0175]在本发明的一些实施例中,视频服务器700还可进一步生成用于标识第一用户与第二视频通道之间的映射关系的第二记录,基于多重哈希算法计算得到第二存储地址,将第二记录写入第二存储地址所指向的第二存储空间,其中,第二存储空间归属于映射记录存储区。[0176]在本发明的一些实施例中,上述多重哈希算法的输入例如为第一用户的用户代码(其中,用户代码为若干个数字),其中,第一用户的用户代码为第一用户的用户标识或基于第一用户的用户标识转换得到。
[0177]在本发明的一些实施例中,K≥N*M*P,其中,上述K表示上述映射记录存储区的总存储空间大小,其中,上述M表示上述视频服务器所能提供的视频通道总数,其中,上述P表示存储一条用于标识用户与视频通道之间的映射关系的记录所占用的存储空间大小,其中,上述N为正整数。举例来说,上述N例如可等于1、2、3、4、5、6或其它值。
[0178]举例来说,假设P=IO字节,M等于100,N等于6,则K可以大于或等于6000字节。由于映射记录存储区的寻址空间大于或等于视频服务器所能提供的视频通道总数,这样有利于更充分的将视频服务器所能提供的视频通道尽可能完全充分的进行分配,这也有利于提高视频通道的利用率。
[0179]例如,映射记录存储区可包括至少N个映射记录子存储区,而每个映射记录子存储区的存储空间大小大于或等于M*P,其中,上述M表示上述视频服务器所能提供的视频通道总数,其中,上述P表示存储一条用于标识用户与视频通道之间的映射关系的记录所占用的存储空间大小。而在此场景下,多重哈希算法之中的每重哈希算法可对应不同的映射记录子存储区,每重哈希算法的分母不同,且分母可为小于M的质数。
[0180]在本发明的一些实施例中,通道重置条件可以是根据实际场景需要而设定的各种可行的条件。例如通道重置条件可包含如下条件的至少一个:当前空闲的视频通道数量少于设定的第一阈值(例如10个或其它值)、当前空闲的视频通道数量占总通道数的比例少于设定的第二阈值(如15%或其它值)、接收到超时视频通道重置指令、当前已超时的视频通道数量大于设定的第三阈值(例如20个或其它值)、设定的重置周期(如I分钟、两分钟或其它值)到达、当前已超时的视频通道数量占总通道数的比例大于设定的第四阈值(例如50%或其它值)、当前已超时的视频通道数量与当前空闲的视频通道数量的比值大于设定的第五阈值(例如100%或其它值)。
[0181]在本发明的一些实施例中,视频服务器700例如可在当前空闲的视频通道数量少于设定的第一阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前空闲的视频通道数量占总通道数的比例少于设定的第二阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或在接收到超时视频通道重置指令时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在设定的重置周期到达时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在当前已超时的视频通道数量大于设定的第三阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前已超时的视频通道数量占总通道数的比例大于设定的第四阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前已超时的视频通道数量,与当前空闲的视频通道数量的比值大于设定的第五阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道。
[0182]如图7所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。图7所示用户终端600可以为手机、平板电脑、个人数字助理(PDA, Personal Digital Assistant)、销售终端(POS,Point of Sales)、车载电脑等任意终端设备,下面主要以用户终端600为手机为例:
[0183]其中,图7示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图7,手机包括:射频(Radio Frequency,RF)电路610、存储器620、输入单元630、无线保真(wireless fidelity, WiFi)模块670、显示单元640、传感器650、音频电路660、处理器680、以及电源690等部件。
[0184]其中,本领域技术人员可以理解,图7中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0185]下面结合图7对手机的各个构成部件进行具体的介绍:
[0186]RF电路610可用于在收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器680处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier, LNA)、双工器等。此外,RF电路60还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication, GSM)、通用分组无线服务(General PacketRadio Service, GPRS)、码分多址(Code Division Multiple Access, CDMA)、宽带码分多址(Wideband Code Division Multiple Access, WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service, SMS)等。
[0187]其中,存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0188]输入单元630可用于接收输入的数字或字符信息,以及产生与手机600的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631上或在触控面板631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0189]其中,显示单元640可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元640可包括显示面板641,可选的,可以采用液晶显示器(LiquidCrystal Display, LCD)、有机发光二极管(Organic Light-Emitting Diode, 0LED)等形式来配置显示面板641。进一步的,触控面板631可覆盖显示面板641,当触控面板631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图7中,触控面板631与显示面板641是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板631与显示面板641集成而实现手机的输入和输出功能。
[0190]其中,手机600还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在手机移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0191]音频电路660、扬声器661,传声器662可提供用户与手机之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一手机,或者将音频数据输出至存储器620以便进一步处理。
[0192]WiFi属于短距离无线传输技术,手机通过WiFi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块670,但是可以理解的是,其并不属于手机600的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0193]处理器680是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器680可包括一个或多个处理单元;优选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
[0194]手机600还包括给各个部件供电的电源690 (比如电池),优选的,电源可以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。尽管未示出,手机600还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0195]在本发明实施例中,该用户终端所包括的处理器680还具有以下功能:向视频服务器发送第一视频数据。
[0196]本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的视频通道分配管理方法的部分或全部步骤。
[0197]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0198]在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0199]在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0200]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0201]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0202]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0203]以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种视频通道管理方法,其特征在于,包括: 视频服务器接收第一视频数据; 查询所述第一视频数据所属的第一用户所对应的视频通道; 若未成功查询到所述第一用户所对应的视频通道,则尝试为所述第一用户分配当前已超时的视频通道,若为所述第一用户成功分配到了当前已超时的第二视频通道,则将所述第一视频数据写入所述第二视频通道,并标记所述第二视频通道归属于所述第一用户。
2.根据权利要求1所述的方法,其特征在于, 所述方法还包括: 若未为所述第一用户成功分配到当前已超时的视频通道,则尝试为所述第一用户分配当前空闲的视频通道,若为所述第一用户成功分配到了当前空闲的第三视频通道,则将所述第一视频数据写入所述第三视频通道,并标记所述第三视频通道归属于所述第一用户。
3.根据权利要求1所述的方法,其特征在于,所述尝试为所述第一用户分配当前已超时的视频通道之前,还包括:若未成功查询到所述第一用户所对应的视频通道,则尝试为所述第一用户分配当前空闲的视频通道,若为所述第一用户成功分配到了当前空闲的第三视频通道,则将所述第一视频数据写入所述第三视频通道,并标记所述第三视频通道归属于所述第一用户;若未能成功为所述第一用户分配到当前空闲的视频通道,则执行所述尝试为所述第一用户分配当前已超时的视频通道的步骤。
4.根据权利要求1所述的方法,其特征在于, 所述方法还包括: 若成功查询到所述第一用户所对应的第一视频通道,将所述第一视频数据写入所述第一视频通道。
5.根据权利要求2或3或4所述的方法,其特征在于, 所述方法还包括: 若将所述第一视频数据写入所述第一视频通道,则更新所述第一视频通道的时间戳;或, 若将所述第一视频数据写入到所述第二视频通道,则更新所述第二视频通道的时间戳;或, 若将所述第一视频数据写入到所述第三视频通道,则更新所述第三视频通道的时间戳。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述查询所述第一视频数据所属的第一用户所对应的视频通道,包括:基于多重哈希算法查找映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,若未查找到所述映射记录存储区之中存储有用于标识第一用户与视频通道之间的映射关系的记录,则确定未成功查询到所述第一用户所对应的视频通道,若查找到所述映射记录存储区之中存储有用于标识第一用户与第一视频通道之间的映射关系的记录,则确定成功查询到了所述第一用户对应的第一视频通道。
7.根据权利要求1至4任一项所述的方法,其特征在于, 所述方法还包括: 在满足设定的通道重置条件时,将当前已超时的部分或全部视频通道重置为空闲的视频通道。
8.根据权利要求7所述的方法,其特征在于, 所述在满足设定的通道重置条件时,将当前已超时的部分或全部视频通道重置为空闲的视频通道,包括: 在当前空闲的视频通道数量少于设定的第一阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前空闲的视频通道数量占总通道数的比例少于设定的第二阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在接收到超时视频通道重置指令时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在设定的重置周期到达时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在当前已超时的视频通道数量大于设定的第三阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前已超时的视频通道数量占总通道数的比例大于设定的第四阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前已超时的视频通道数量,与当前空闲的视频通道数量的比值大于设定的第五阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道。
9.一种视频服务器,其特征在于,包括: 接收单元,用于接收第一视频数据; 查询单元,用于查询所述第一视频数据所属的第一用户所对应的视频通道; 分配单元,用于若所述查询单元未成功查询到所述第一用户所对应的视频通道,则尝试为所述第一用户分配当前已超时的视频通道; 写入单元,用于若所述分配单元为所述第一用户成功分配到了当前已超时的第二视频通道,则将所述第一视频数据写入所述第二视频通道,并标记所述第二视频通道归属于所述第一用户。
10.根据权利要求9所述的视频服务器,其特征在于, 所述分配单元还用于,若未为所述第一用户成功分配到当前已超时的视频通道,则尝试为所述第一用户分配当前空闲的视频通道; 所述写入单元还用于,若为所述第一用户成功分配到了当前空闲的第三视频通道,则将所述第一视频数据写入所述第三视频通道,并标记所述第三视频通道归属于所述第一用户。
11.根据权利要求9所述的视频服务器,其特征在于, 所述分配单元具体用于,若所述查询单元未成功查询到所述第一用户所对应的视频通道,则尝试为所述第一用户分配当前空闲的视频通道;若未能成功为所述第一用户分配到当前空闲的视频通道,则尝试为所述第一用户分配当前已超时的视频通道; 所述写入单元还用于,若所述分配单元为所述第一用户成功分配到了当前空闲的第三视频通道,则将所述第一视频数据写入所述第三视频通道,并标记所述第三视频通道归属于所述第一用户。
12.根据权利要求9所述的视频服务器,其特征在于, 所述写入单元还用于,若所述查询单元成功查询到所述第一用户所对应的第一视频通道,将所述第一视频数据写入所述第一视频通道。
13.根据权利要求9至12任一项所述的视频服务器,其特征在于,所述查询单元具体用于,基于多重哈希算法查找映射记录存储区之中是否存储有用于标识第一用户与视频通道之间的映射关系的记录,若未查找到所述映射记录存储区之中存储有用于标识第一用户与视频通道之间的映射关系的记录,则确定未成功查询到所述第一用户所对应的视频通道,若查找到所述映射记录存储区之中存储有用于标识第一用户与第一视频通道之间的映射关系的记录,则确定成功查询到了所述第一用户对应的第一视频通道。
14.根据权利要求9至13任一项所述的视频服务器,其特征在于, 所述视频服务器还包括: 时间戳更新单元,用于若所述写入单元将所述第一视频数据写入所述第一视频通道,则更新所述第一视频通道的时间戳;或,若所述写入单元将所述第一视频数据写入到所述第二视频通道,则更新所述第二视频通道的时间戳;或若所述写入单元将所述第一视频数据写入到所述第三视频通道,则更新所述第三视频通道的时间戳。
15.根据权利要求9至13任一项所述的视频服务器,其特征在于, 所述视频服务器还包括: 通道重置单元,用于在满足设定的通道重置条件时将当前已超时的部分或全部视频通道重置为空闲的视频通道。
16.根据权利要求15所述的视频服务器,其特征在于, 所述通道重置单元具体用于,在当前空闲的视频通道数量少于设定的第一阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前空闲的视频通道数量占总通道数的比例少于设定的第二阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在接收`到超时视频通道重置指令时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在设定的重置周期到达时将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在当前已超时的视频通道数量大于设定的第三阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或,在当前已超时的视频通道数量占总通道数的比例大于设定的第四阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道;或者,在当前已超时的视频通道数量,与当前空闲的视频通道数量的比值大于设定的第五阈值时,将当前已超时的部分或全部视频通道重置为空闲的视频通道。
17.—种通信系统,其特征在于,包括: 用户终端和视频服务器; 其中,所述用户终端,用于向所述视频服务器发送第一视频数据; 所述视频服务器,用于接收来自所述用户终端的第一视频数据;查询所述第一视频数据所属的第一用户所对应的视频通道;若未成功查询到所述第一用户所对应的视频通道,则尝试为所述第一用户分配当前已超时的视频通道,若为所述第一用户成功分配到了当前已超时的第二视频通道,则将所述第一视频数据写入所述第二视频通道,并标记所述第二视频通道归属于所述第一用户,其中,所述用户终端归属所述第一用户。
18.根据权利要求17所述的视频服务器,其特征在于,所述视频服务器还用于,若成功查询到所述第一用户所对应的第一视频通道,将所述第一视频数据写入所述第一视频通道。
【文档编号】H04N21/266GK103561291SQ201310532569
【公开日】2014年2月5日 申请日期:2013年10月31日 优先权日:2013年10月31日
【发明者】龙锦远, 曾新海 申请人:腾讯科技(武汉)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1