CN114845132A - 基于哈希算法的低延迟直播缓存方法、装置、设备及介质 - Google Patents
基于哈希算法的低延迟直播缓存方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114845132A CN114845132A CN202210494021.8A CN202210494021A CN114845132A CN 114845132 A CN114845132 A CN 114845132A CN 202210494021 A CN202210494021 A CN 202210494021A CN 114845132 A CN114845132 A CN 114845132A
- Authority
- CN
- China
- Prior art keywords
- time
- cache
- result
- caching
- hash
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供一种基于哈希算法的低延迟直播缓存方法、装置、设备及介质,所述方法包括:建立双向信令通道;基于双向信令通道,发起媒体调度,生成媒体调度结果;基于媒体调度结果同步各级缓存服务器;获取时移访问请求,及解析时移访问请求,计算缓存时间信息,生成缓存时间结果;基于缓存时间结果,获取缓存关键字信息并对缓存关键字信息进行哈希运算,生成缓存关键字结果;基于缓存关键字结果,及使用一致性哈希缓存方式缓存媒体信息;查找缓存媒体信息,生成时移服务结果。本申请涉及音视频缓存技术领域,通过哈希算法缓存时移及直播内容,保证了时移缓存大范围命中,从而最大程度减少访问源站时移请求的压力,降低直播时延。
Description
技术领域
本申请涉及网络直播技术领域,尤其涉及一种基于哈希算法的低延迟直播缓存方法、装置、设备及介质。
背景技术
随着直播领域在各行各业的普及,直播技术也不断的发展和突破,但在现有的直播技术中,使用HLS类直播协议进行远程互动,却无法保持实时的交互,且缓存时间较长,有主观可明显感知的音视频延迟。而RTC协议由于其本身的复杂性,无法满足万人级别的大并发视频会议的实时处理请求。同时,CDN边缘服务器也无法缓存不同用户在不同时间的时移请求,导致每个用户的时移请求都会访问到流媒体源站,而造成流媒体源站的访问压力过大。因此,低延迟直播一直是技术设计中的难题。
发明内容
有鉴于此,有必要提供一种基于哈希算法的低延迟直播缓存方法、装置、设备及介质。该方法通过对时移请求进行计算处理,及基于哈希算法对时移请求内容和直播内容进行缓存,降低流媒体源站的访问压力,提高直播的体验。
本申请一实施方式提供一种基于哈希算法的低延迟直播缓存方法,所述方法包括:
建立双向信令通道;
基于所述双向信令通道,发起媒体调度,生成媒体调度结果;
基于所述媒体调度结果同步各级缓存服务器;
获取时移访问请求,及解析所述时移访问请求,计算缓存时间信息,生成缓存时间结果;
基于所述缓存时间结果,获取缓存关键字信息并对所述缓存关键字信息进行哈希运算,生成缓存关键字结果;
基于所述缓存关键字结果,及使用一致性哈希缓存方式缓存媒体信息;
查找所述缓存媒体信息,生成时移服务结果。
在一些实施例中,所述时移访问请求包括频道、码率及时移相对时间。
在一些实施例中,所述获取时移访问请求,及解析所述时移访问请求,计算缓存时间信息,生成缓存时间结果,包括:
获取所述时移相对时间,计算绝对服务时间;
设定时间切片长度变量,及获取访问时间;
根据所述时间切片长度变量及所述访问时间计算匹配访问概率,生成匹配结果;
基于所述匹配结果,设定服务器相对时间误差,根据所述服务器相对时间误差计算置信区间;
基于所述置信区间,确定时间切片长度变量的值;
设定服务器关键字缓存间隔时间,及基于所述时间切片长度变量的值,修正所述绝对服务时间。
在一些实施例中,所述绝对服务时间为服务器当前时间减去所述时移相对时间。
在一些实施例中,基于所述缓存时间结果,获取缓存关键字信息并对所述缓存关键字信息进行哈希运算,生成缓存关键字结果,包括:
所述缓存时间结果包括所述置信区间、所述服务器相对时间误差及所述时间切片长度变量的值。
在一些实施例中,还包括:所述缓存关键字信息包括直播时间、所述时移相对时间、所述绝对服务时间及直播频道。
在一些实施例中,所述基于所述缓存关键字结果缓存媒体信息内容,包括:
所述缓存关键字结果包括直播缓存关键字及直播时移缓存关键字。
本申请一实施方式还提供一种基于哈希算法的低延迟直播缓存装置,包括:
连接模块,用于建立双向信令通道;
调度模块,用于基于所述双向信令通道,发起媒体调度,生成媒体调度结果;
同步模块,用于基于所述媒体调度结果同步各级缓存服务器;
计算模块,用于获取时移访问请求,及解析所述时移访问请求,计算缓存时间信息,生成缓存时间结果;
哈希运算模块,用于基于所述缓存时间结果,获取缓存关键字信息并对所述缓存关键字信息进行哈希运算,生成缓存关键字结果;
缓存模块,用于基于所述缓存关键字结果,及使用一致性哈希缓存方式缓存媒体信息;
查询模块,用于查找所述缓存媒体信息,生成时移服务结果。
本申请一实施方式还提供一种电子设备,所述电子设备包括处理器及存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述电子设备执行上述的基于哈希算法的低延迟直播缓存方法。
本申请一实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行上述的基于哈希算法的低延迟直播缓存方法。
与现有技术相比,上述基于哈希算法的低延迟直播缓存方法,基于时移请求的相对时间,服务器计算出绝对服务时间作为时移缓存信息,将不同用户不同时间点请求实际同一时间的时移请求进行收敛,避免大量时移访问请求访问源服务器造成的压力过大的问题。同时,使用一致性哈希缓存方法缓存时移请求内容及直播内容,并设立虚拟节点,可最大程度减少缓存失效的发生,实现缓存的负载均衡,提高时移请求缓存的命中率,从而降低直播时延。
附图说明
图1是本申请一实施方式的基于哈希算法的低延迟直播缓存方法的步骤流程图。
图2为图1的基于哈希算法的低延迟直播缓存方法的一步骤流程的细分流程示意图。
图3为本申请一实施例的基于哈希算法的低延迟直播缓存装置的结构示意图。
图4为图1中以一致性哈希算法方式进行缓存的节点效果示意图。
图5为本申请一实施例的电子设备的结构示意图。
主要元件符号说明
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施方式对本申请进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式及实施方式中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本申请,所描述的实施方式仅是本申请一部分实施方式,而不是全部的实施方式。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本申请。
进一步需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
本申请中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请的基于哈希算法的低延迟直播缓存方法可应用在一个或者多个电子设备中。电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,例如可以是服务器、服务器集群等。
图1是本申请基于哈希算法的低延迟直播缓存方法一实施例的步骤流程图。
参阅图1所示,一种基于哈希算法的低延迟直播缓存方法可以包括以下步骤:
S100、建立双向信令通道。
在一些实施例中,由终端电子设备用户请求与RoomServer(即房间服务器)建立双向信令通道,该通道根据用户种类的不同提供不同的功能和权限。用户种类包含实时互动用户和低延时直播用户。例如,实时互动用户使用终端电子设备打开客户端,客户端请求与RoomServer建立双向信令通道,该通道为实时互动用户提供发起会议控制等操作。同理,低延时直播用户使用终端电子设备打开客户端,客户端请求与RoomServer建立双向信令通道,该通道为低延时直播用户提供发起举手信令、请求实时互动等权限。该双向信令通道可以保障低延迟直播用户可以无缝切换至实时互动用户,实现直播的稳定大并发。终端电子设备可以是手机、笔记本电脑、平板电脑等设备。
S200、基于双向信令通道,发起媒体调度,生成媒体调度结果。
在一些实施例中,MediaServer(即媒体服务器)基于终端电子设备和RoomServer之间建立的双向信令通道发起媒体调度,根据终端电子设备用户的不同连接不同的服务端。例如,将实时互动用户的媒体通道连接MediaServer,将低延迟直播用户的媒体通道分配到CDN节点。CDN节点也称Cache节点,是用来缓存数据的服务器,当用户访问网站时,请求会指向距离最近的CND节点,以此来提高访问速度。
S300、基于媒体调度结果同步各级缓存服务器。
在一些实施例中,设定周期性时间,通过NTP服务来同步各级缓存服务器,以此来控制各级CDN缓存服务器之间的时间同步误差小于2s。例如,可将周期性时间设定为10s,每10s通过NTP服务来同步各级缓存服务器,周期性时间的设定范围在秒级,一般来讲,可将周期性时间设定为60s之内,可根据实际同步情况进行设定。NTP服务即网络之间协议(NetworkTimeProtocol),用来同步网络中各个计算机之间的时间的协议。
S400、获取时移访问请求,及解析时移访问请求,计算缓存时间信息,生成缓存时间结果。
在一些实施例中,终端电子设备作为客户端,与服务端同时定义时移请求访问内容,其中,参数包括频道、码率及时移相对时间。时移是指终端电子设备用户可任意回放过去时间的直播内容。时移相对时间即时移时间相对当前时间的时间差。客户端将带有相对时间差的直播时移请求发送给服务端之后,客户端和服务端继续以HLS协议形式提供直播服务。HLS协议(HTTPLiveStreaming)是一种基于HTTP的流媒体网络传输协议。其工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适用不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的M3u8文件,用于寻找可用的媒体流。
具体的,服务端解析请求参数,并计算缓存时间信息。缓存时间信息包括时间切片长度变量、服务器相对时间误差、时移相对时间及绝对服务时间。例如,根据服务器相对时间误差,将服务器时间相对误差用e进行标识,通过NTP统计学误差计算出置信区间,将置信区间用[-z~+z]进行标识,基于置信区间[-z~+z]确认时间切片长度变量的值。然后,根据该时间切片长度变量的值为基础进行缓存,以避免不同服务器之间提供乱序M3u8的索引文件,使得间隔时间切片长度变量的值后的访问请求,即使访问不同的服务器,也不会访问到上一次更新的M3u8索引文件,从而避免了用户播放卡顿问题。
S500、基于缓存时间结果,获取缓存关键字信息并对缓存关键字信息进行哈希运算,生成缓存关键字结果。
在一些实施例中,缓存时间结果包括置信区间[-z~+z]、服务器相对时间误差e及时间切片长度变量的值。缓存关键字信息包括直播时间、时移相对时间、绝对服务时间及直播频道。绝对服务时间为服务器当前时间减去时移相对时间。
在一些实施例中,直播缓存需要以直播索引文件中时间标识索引作为实际缓存时间基准,以抵消不同服务器间直播缓存时间差异。例如,设定直播索引文件中直播时间为t,并引入直播频道c为参数,对缓存关键字信息进行Hash运算(即哈希运算),根据步骤S400中的置信区间[-z~+z],对缓存关键字信息进行Hash运算以得到缓存关键字结果,则直播缓存关键字计算为:
同理,将时移相对时间标识为tb,服务器当前时间标识为tn,则直播时移缓存关键字可以计算为:
在本实施例中,步骤S400中计算出的置信区间为-2.58σ~+2.58σ,服务器时间误差为2秒,则直播缓存关键字计算为:
直播时移缓存关键字可以计算为:
具体的,服务器端对正常的超高清直播HLS协议中不断更新的M3u8文件进行双份缓存,一份以HLS协议规则直接生成关键字,另一份以M3u8中的生成时间,通过本步骤中的Hash运算生成缓存关键字信息。基于服务的相对时间,再通过服务器计算出绝对时间作为缓存关键字信息,则统一不同用户不同时间开始的时移请求,并提供CDN回源合并的可能,大幅减少流媒体源站针对不同用户不同时间开启的时移请求压力。回源指的是CDN服务器从源站获取所要分发的内容。CDN服务器一般不主动回源,只有当客户端向CDN请求资源而资源不存在或者已过期,才会向源站请求资源,即回源。
S600、基于缓存关键字结果,及使用一致性哈希缓存方式缓存媒体信息。
在一些实施例中,时移请求由客户端发起,对缓存服务器节点的时移请求频率服从泊松分布,由于考虑到缓存服务器节点的压力,因此,采用一致性Hash缓存。
具体的,根据S500步骤中计算得出的缓存关键字信息,将缓存服务器映射到同一个Hash空间中。假设由若干台缓存服务A、B、C…,则计算缓存服务器的key值(即关键字值)为:k(A)=hash(cache A),k(B)=hash(cache B),k(C)=hash(cache C)…,此Hash空间的输入可以采用缓存服务器的主机名+ip。缓存服务器通过相同的Hash算法映射到同一个Hash空间中,可以将此Hash空间看作一个环形空间。在该空间中,沿着顺时针方向从需要存储的M3u8对应的key值出发,直到遇见一个缓存服务器,那么就将该对象缓存在该缓存服务器上,因为缓存服务器的Hash值是固定的,因此,这个缓存服务器必然是唯一和确定的。以此作为需要存储的M3u8文件和缓存服务器的映射方法。各缓存服务器可以看作为一个环形Hash空间,如图4所示,缓存服务器1、缓存服务器2、缓存服务器3看成一个环形的Hash空间,根据本步骤中的运算,基于key值,即key1、key2、key3,将key1、key2、key3值对应的M3u8_key1_1、M3u8_key2_1、M3u8_key2_1文件缓存到相应的缓存服务器上。同时,该方法还采用“虚拟节点”的方法来保证缓存的负载均衡。可以理解的是,基于如此设计,直播期间的缓存在时移访问中也可以用到,保证时移缓存大范围命中,极大程度减少源站时移请求的计算压力,同时,通过一致性Hash缓存,尽可能保证Hash算法的单调性,最大程度减少缓存失效的发生,当缓存服务器节点数发生变化时,不会导致所有缓存的失效。
S700、查找缓存媒体信息,生成时移服务结果。
在一些实施例中,针对客户端的时移访问请求,服务端对超高清直播HLS协议中的M3u8进行缓存搜索,将命中的缓存文件传送给客户端。基于S400至S600步骤解析时移访问请求,并对缓存文件搜索命中,以不断满足用户时移请求服务,提高命中率,同时,由于采用“虚拟节点”缓存方式,极大程度满足了大规模用户的并发请求服务,降低流媒体源站的访问压力。
在一些实施例中,低延迟直播用户发起互动请求,MediaServer和该用户客户端发起媒体通道,当该通道建立后,中断该用户与CDN节点的连接,此时该低时延直播用户无缝切换为实时互动用户,拥有完整的操控发言权限。
本实施例的基于哈希算法的低延迟直播缓存方法基于时移请求的相对时间,通过NTP统计学误差计算Hash所用的时间修正方法,将绝对服务时间作为时移缓存信息,使得不同用户不同时间点请求实际同一时间的时移请求进行收敛,避免大量时移访问请求访问源服务器造成的压力过大的问题,同时,缓存时移请求内容及直播内容,并设立虚拟节点的方式进行缓存,可最大程度减少缓存失效的发生,实现缓存的负载均衡,提高时移请求缓存的命中率,从而降低直播时延。
在一些实施例中,如图2所示,步骤S400可以进一步包括:
S410、获取所述时移相对时间,计算绝对服务时间。
在一些实施例中,时移相对时间为客户端当前时间减去时移时间,绝对服务时间为服务器当前时间减去时移相对时间。
S420、设定时间切片长度变量,及获取访问时间。
在一些实施例中,设定时间切片长度变量为a秒,服务器间相对时间误差为e秒,并获取访问时间,访问时间按秒计算。
S430、根据时间切片长度变量及访问时间计算匹配访问概率,生成匹配结果。
S440、基于匹配结果,设定服务器相对时间误差,根据服务器相对时间误差计算置信区间。
具体的,在本实施例中,使用服务器相对精确时间误差匹配均值为0的连续一维正态分布:
根据经验95%的服务器相对时间误差e不超过正负2秒来说,则4σ=4,所以σ可取值为1。然后取99%置信区间为-2.58σ~+2.58σ。
S450、基于置信区间,确定时间切片长度变量的值。
在一些实施例中,由于在S440步骤中,置信区间为-2.58σ~+2.58σ,当σ为1时,置信区间宽度取整为5,则得出时间切片长度变量至少需要5秒作为最小区间粒度,以此才能抵消服务器间相对时间误差e。
S460、设定服务器关键字缓存间隔时间,及基于时间切片长度变量的值,修正绝对服务时间。
在一些实施例中,设定服务器关键字缓存间隔时间变量为g秒,根据S410至S450计算得出的时间切片长度变量的值,可以保证5秒的时间切片长度以抵消服务器间时间校对误差,同时,修正绝对服务时间,保证用户5秒后的访问请求,即使访问不同的服务器,也不会访问到上一次更新的M3u8索引文件,提高命中率,避免播放的卡顿。同时,各级缓存服务器间隔g秒保持缓存的更新。
在一些实施例中,本申请还提供一种基于哈希算法的低延迟直播缓存装置10,如图3所述,该装置10包括:
连接模块11,用于建立双向信令通道;
调度模块12,用于基于所述双向信令通道,发起媒体调度,生成媒体调度结果;
同步模块13,用于基于所述媒体调度结果同步各级缓存服务器;
计算模块14,用于获取时移访问请求,及解析所述时移请求访问请求,计算缓存时间信息,生成缓存时间结果;
哈希运算模块15,用于基于所述缓存时间结果,获取缓存关键字信息并对所述缓存关键字信息进行哈希运算,生成缓存关键字结果;
缓存模块16,用于基于所述缓存关键字结果,及使用一致性哈希缓存方式缓存媒体信息;
查询模块17,用于查找所述缓存媒体信息,生成时移服务结果。
在一些实施例中,本申请还公开一种电子设备100,如图5所示,电子设备100包括存储器20和处理器30,存储器20用于存储指令,处理器30用于调用存储器20中的指令,使得电子设备100执行上述实施例的基于哈希算法的低延迟直播缓存方法中的步骤,例如图1所示的步骤S100~S700。
本领域技术人员可以理解,所述示意图仅仅是电子设备100的示例,并不构成对电子设备100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备100还可以包括输入输出设备、网络接入设备、总线等。
处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器、单片机或者处理器30也可以是任何常规的处理器等。
存储器20可用于存储计算机程序40和/或模块/单元,处理器30通过运行或执行存储在存储器20内的计算机程序40和/或模块/单元,以及调用存储在存储器20内的数据,实现电子设备100的各种功能。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备100的使用所创建的数据(比如音频数据)等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
本申请还公开一种计算机可读存储介质存储计算机指令,当计算机指令在电子设备100上运行时,使得电子设备100执行本实施例的基于哈希算法的低延迟直播缓存方法。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照上述实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。
Claims (10)
1.一种基于哈希算法的低延迟直播缓存方法,其特征在于,包括:
建立双向信令通道;
基于所述双向信令通道,发起媒体调度,生成媒体调度结果;
基于所述媒体调度结果同步各级缓存服务器;
获取时移访问请求,及解析所述时移访问请求,计算缓存时间信息,生成缓存时间结果;
基于所述缓存时间结果,获取缓存关键字信息并对所述缓存关键字信息进行哈希运算,生成缓存关键字结果;
基于所述缓存关键字结果,及使用一致性哈希缓存方式缓存媒体信息;
查找所述缓存媒体信息,生成时移服务结果。
2.如权利要求1所述的基于哈希算法的低延迟直播缓存方法,其特征在于,所述时移访问请求包括频道、码率及时移相对时间。
3.如权利要求2所述的基于哈希算法的低延迟直播缓存方法,其特征在于,所述获取时移访问请求,及解析所述时移访问请求,计算缓存时间信息,生成缓存时间结果,包括:
获取所述时移相对时间,计算绝对服务时间;
设定时间切片长度变量,及获取访问时间;
根据所述时间切片长度变量及所述访问时间计算匹配访问概率,生成匹配结果;
基于所述匹配结果,设定服务器相对时间误差,根据所述服务器相对时间误差计算置信区间;
基于所述置信区间,确定时间切片长度变量的值;
设定服务器关键字缓存间隔时间,及基于所述时间切片长度变量的值,修正所述绝对服务时间。
4.如权利要求3所述的基于哈希算法的低延迟直播缓存方法,其特征在于,所述绝对服务时间为服务器当前时间减去所述时移相对时间。
5.如权利要求3所述的基于哈希算法的低延迟直播缓存方法,其特征在于,基于所述缓存时间结果,获取缓存关键字信息并对所述缓存关键字信息进行哈希运算,生成缓存关键字结果,包括:
所述缓存时间结果包括所述置信区间、所述服务器相对时间误差及所述时间切片长度变量的值。
6.如权利要求5所述的基于哈希算法的低延迟直播缓存方法,其特征在于,还包括:所述缓存关键字信息包括直播时间、所述时移相对时间、所述绝对服务时间及直播频道。
7.如权利要求1所述的基于哈希算法的低延迟直播缓存方法,其特征在于,所述基于所述缓存关键字结果缓存媒体信息内容,包括:
所述缓存关键字结果包括直播缓存关键字及直播时移缓存关键字。
8.一种基于哈希算法的低延迟直播缓存装置,其特征在于,包括:
连接模块,用于建立双向信令通道;
调度模块,用于基于所述双向信令通道,发起媒体调度,生成媒体调度结果;
同步模块,用于基于所述媒体调度结果同步各级缓存服务器;
计算模块,用于获取时移访问请求,及解析所述时移访问请求,计算缓存时间信息,生成缓存时间结果;
哈希运算模块,用于基于所述缓存时间结果,获取缓存关键字信息并对所述缓存关键字信息进行哈希运算,生成缓存关键字结果;
缓存模块,用于基于所述缓存关键字结果,及使用一致性哈希缓存方式缓存媒体信息;
查询模块,用于查找所述缓存媒体信息,生成时移服务结果。
9.一种电子设备,所述电子设备包括处理器及存储器,其特征在于,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述电子设备执行如权利要求1至权利要求7中任一项所述的基于哈希算法的低延迟直播缓存方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至权利要求7中任一项所述的基于哈希算法的低延迟直播缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210494021.8A CN114845132B (zh) | 2022-04-29 | 2022-04-29 | 基于哈希算法的低延迟直播缓存方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210494021.8A CN114845132B (zh) | 2022-04-29 | 2022-04-29 | 基于哈希算法的低延迟直播缓存方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114845132A true CN114845132A (zh) | 2022-08-02 |
CN114845132B CN114845132B (zh) | 2023-05-12 |
Family
ID=82567539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210494021.8A Active CN114845132B (zh) | 2022-04-29 | 2022-04-29 | 基于哈希算法的低延迟直播缓存方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114845132B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104850507A (zh) * | 2014-02-18 | 2015-08-19 | 腾讯科技(深圳)有限公司 | 一种数据缓存方法和数据缓存装置 |
CN106155934A (zh) * | 2016-06-27 | 2016-11-23 | 华中科技大学 | 一种云环境下基于重复数据的缓存方法 |
WO2017166499A1 (zh) * | 2016-03-30 | 2017-10-05 | 乐视控股(北京)有限公司 | 一种直播延时方法及装置 |
CN110536145A (zh) * | 2019-08-15 | 2019-12-03 | 咪咕视讯科技有限公司 | 直播时移处理方法、电子设备和存储介质 |
WO2020078388A1 (zh) * | 2018-10-16 | 2020-04-23 | 中兴通讯股份有限公司 | 一种流媒体数据传输方法、设备、装置和计算机存储介质 |
CN111095222A (zh) * | 2017-09-18 | 2020-05-01 | 微软技术许可有限责任公司 | 使用高速缓存一致性协议数据的基于高速缓存的追踪记录 |
CN112367527A (zh) * | 2020-10-28 | 2021-02-12 | 广州市网星信息技术有限公司 | 一种传送流文件生成方法、装置、设备及存储介质 |
CN113949897A (zh) * | 2021-11-30 | 2022-01-18 | 紫光云(南京)数字技术有限公司 | 一种mp4视频流媒体点播的分片缓存加速方法 |
-
2022
- 2022-04-29 CN CN202210494021.8A patent/CN114845132B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104850507A (zh) * | 2014-02-18 | 2015-08-19 | 腾讯科技(深圳)有限公司 | 一种数据缓存方法和数据缓存装置 |
WO2017166499A1 (zh) * | 2016-03-30 | 2017-10-05 | 乐视控股(北京)有限公司 | 一种直播延时方法及装置 |
CN106155934A (zh) * | 2016-06-27 | 2016-11-23 | 华中科技大学 | 一种云环境下基于重复数据的缓存方法 |
CN111095222A (zh) * | 2017-09-18 | 2020-05-01 | 微软技术许可有限责任公司 | 使用高速缓存一致性协议数据的基于高速缓存的追踪记录 |
WO2020078388A1 (zh) * | 2018-10-16 | 2020-04-23 | 中兴通讯股份有限公司 | 一种流媒体数据传输方法、设备、装置和计算机存储介质 |
CN110536145A (zh) * | 2019-08-15 | 2019-12-03 | 咪咕视讯科技有限公司 | 直播时移处理方法、电子设备和存储介质 |
CN112367527A (zh) * | 2020-10-28 | 2021-02-12 | 广州市网星信息技术有限公司 | 一种传送流文件生成方法、装置、设备及存储介质 |
CN113949897A (zh) * | 2021-11-30 | 2022-01-18 | 紫光云(南京)数字技术有限公司 | 一种mp4视频流媒体点播的分片缓存加速方法 |
Non-Patent Citations (6)
Title |
---|
于静洋;任小金;: "基于视频块的结构化时移流查询模型" * |
吕冬冬;沈苏彬;: "一种基于分段的网络流媒体代理缓存策略" * |
姚士佳: "视频分发与缓存协同优化技术研究" * |
江凇;王宝海;赵金城;宋江;段佳秀;: "基于一致性哈希算法和Ckafka技术的IMS电话实时录音系统" * |
马邦阳;魏伟刚;浦云明;尤志宁;王巍;陈凯萌;: "基于ATS的直播加速缓存系统设计" * |
黄赛金: "基于谱哈希的分布式近邻存储方法的设计与实现" * |
Also Published As
Publication number | Publication date |
---|---|
CN114845132B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10275578B2 (en) | Continuous content identification of broadcast content | |
US20200336769A1 (en) | Video Live Broadcast Method and Apparatus | |
US10572446B2 (en) | System and method for storing content on a content delivery network | |
US20180227648A1 (en) | Method for live broadcast based on hls protocol and electronic device | |
US9167049B2 (en) | Content distribution network supporting popularity-based caching | |
US9613142B2 (en) | Method and system for providing the download of transcoded files | |
US9509784B2 (en) | Manifest chunking in content delivery in a network | |
CN101242430B (zh) | 对等网络点播系统中的定点数据预取方法 | |
CN110933517B (zh) | 码率切换方法、客户端和计算机可读存储介质 | |
US20150172353A1 (en) | Method and apparatus for interacting with a media presentation description that describes a summary media presentation and an original media presentation | |
KR20070035911A (ko) | 부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법 | |
US20230017663A1 (en) | Video file storage prediction process for caches in video servers | |
JP2014532338A (ja) | ストリーミングメディアを伝送するための方法およびデバイス | |
JP2022525298A (ja) | セッションのメディア・データを受信する方法、装置及びコンピュータ・プログラム | |
JP2022526807A (ja) | メディアコンテンツのメディアデータを受信する方法、装置、およびコンピュータプログラム | |
TWI533678B (zh) | 即時轉播同步方法以及使用該方法的系統 | |
CN114845132B (zh) | 基于哈希算法的低延迟直播缓存方法、装置、设备及介质 | |
US20230104788A1 (en) | Method of distributing files through a content delivery network based also on artificial intelligence algorithms, telematic system and servers that allow to implement it | |
US9294529B1 (en) | Reusing data in content files | |
JP7094461B2 (ja) | 送信遅延ベースの機能を備えたコンテンツ修正システム | |
WO2012142837A1 (zh) | 时移频道的处理方法及装置 | |
WO2023082587A1 (zh) | 流媒体调度方法、装置及可读存储介质 | |
EP3128711A1 (en) | Information object acquisition method, server and user equipment | |
WO2022167482A1 (en) | Identification of compressed net resources | |
CN117714815A (zh) | 直播时移方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20221116 Address after: 361024 No. 600, science and engineering road, Jimei District, Fujian, Xiamen Applicant after: XIAMEN University OF TECHNOLOGY Applicant after: Jitter technology (Shenzhen) Co.,Ltd. Address before: 518000 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong Applicant before: Jitter technology (Shenzhen) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |