CN115623247A - Hls流媒体数据的处理方法、装置及系统 - Google Patents

Hls流媒体数据的处理方法、装置及系统 Download PDF

Info

Publication number
CN115623247A
CN115623247A CN202110803093.1A CN202110803093A CN115623247A CN 115623247 A CN115623247 A CN 115623247A CN 202110803093 A CN202110803093 A CN 202110803093A CN 115623247 A CN115623247 A CN 115623247A
Authority
CN
China
Prior art keywords
hls
streaming media
media data
length
target
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.)
Pending
Application number
CN202110803093.1A
Other languages
English (en)
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.)
China Mobile Communications Group Co Ltd
China Mobile Group Henan Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Henan 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 China Mobile Communications Group Co Ltd, China Mobile Group Henan Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202110803093.1A priority Critical patent/CN115623247A/zh
Publication of CN115623247A publication Critical patent/CN115623247A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Abstract

本发明实施例公开了一种HLS流媒体数据的处理方法、装置及系统,其中方法包括:接收客户端发送的第一数据访问请求,其包括待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间;若确定本地未缓存目标HLS流媒体数据,则根据预设方式对第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的至少一个子长度区间;根据子长度区间从中心节点服务器获取对应的多个HLS分片中的HLS流媒体数据,将每个子长度区间所对应的HLS流媒体数据确定为HLS聚合分片;从HLS聚合分片中获取目标HLS流媒体数据并发送给客户端。该方案便于管理HLS流媒体数据,提高了HLS流媒体数据的读写性能。

Description

HLS流媒体数据的处理方法、装置及系统
技术领域
本发明涉及通信领域,尤其涉及一种HLS流媒体数据的处理方法、装置及系统。
背景技术
随着互联网视频的发展,HLS(英文全称:HTTP Live Streaming,中文:基于HTTP的流媒体传输协议)流媒体数据的使用频率逐步提高。其中,HLS流媒体数据包含至少一个索引文件和多个分片文件。分片文件还可以称为HLS分片,每个HLS分片一般是时长为10秒左右的小文件。因此,对于CDN(英文全称:Content Delivery Network,中文:内容分发网络)来说,对HLS流媒体数据的管理方式通常是基于用户请求,缓存对应的多个HLS分片,例如用户请求了一个5分钟的视频节目,则需要缓存30个左右的HLS分片。然而,缓存多个HLS分片,不仅增加了HLS流媒体数据的管理难度,而且由于HLS分片是小文件,因此读写性能较差。
发明内容
本发明实施例提供了一种HLS流媒体数据的处理方法、装置及系统,以解决现有HLS流媒体数据的管理方式所存在的管理难度大、续写性能差等问题。
为解决上述技术问题,本发明实施例是这样实现的:
第一方面,本发明实施例提供了一种HLS流媒体数据的处理方法,包括:
接收客户端发送的第一数据访问请求,所述第一数据访问请求包括待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间;
若确定本地未缓存所述目标HLS流媒体数据,则根据预设方式对所述第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的至少一个子长度区间;
根据每个所述子长度区间从中心节点服务器获取对应的多个HLS分片中的HLS流媒体数据,将每个所述子长度区间所对应的HLS流媒体数据确定为所述HLS聚合分片;其中,每个所述HLS分片的第二长度小于每个所述HLS聚合分片的所述第一长度;
从所述HLS聚合分片中获取所述目标HLS流媒体数据,将获取的所述目标HLS流媒体数据发送给所述客户端。
第二方面,本发明实施例提供了一种HLS流媒体数据的处理装置,包括:
第一接收模块,用于接收客户端发送的第一数据访问请求,所述第一数据访问请求包括待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间;
对齐处理模块,用于若确定本地未缓存所述目标HLS流媒体数据,则根据预设方式对所述第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的至少一个子长度区间;
确定模块,用于根据每个所述子长度区间从中心节点服务器获取对应的多个HLS分片中的HLS流媒体数据,将每个所述子长度区间所对应的HLS流媒体数据确定为所述HLS聚合分片;其中,每个所述HLS分片的第二长度小于所述第一长度;
第一获取模块,用于从所述HLS聚合分片中获取所述目标HLS流媒体数据,将获取的所述目标HLS流媒体数据发送给所述客户端。
第三方面,本发明实施例提供了一种HLS流媒体数据的处理系统,所述系统包括:客户端、边缘节点服务器和中心节点服务器;
所述客户端,用于响应于用户的数据访问操作,向所述边缘节点服务器发送第一数据访问请求;其中,所述第一数据访问请求包括待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间;以及,接收所述边缘节点服务器发送的所述目标HLS流媒体数据;
所述边缘节点服务器,用于接收所述客户端发送的所述第一数据访问请求;若确定本地未缓存所述目标HLS流媒体数据,则根据预设方式对所述第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的多个子长度区间;根据每个所述子长度区间分别向所述中心节点服务器发送第一回源请求;接收所述中心节点服务器发送的多个HLS分片中的HLS流媒体数据,并将每个所述子长度区间所对应的HLS流媒体数据确定为所述HLS聚合分片;其中,每个所述HLS分片的第二长度小于所述第一长度;从所述HLS聚合分片中获取所述目标HLS流媒体数据,将获取的所述目标HLS流媒体数据发送给所述客户端;
所述中心节点服务器,用于接收所述边缘节点服务器发送的所述第一回源请求,根据所述第一回源请求获取对应的多个HLS分片并发送给所述边缘节点服务器。
第四方面,本发明实施例提供了一种HLS流媒体数据的处理设备,包括:
存储器,存储有计算机程序指令;
处理器,当所述计算机程序指令被所述处理器执行时实现如第一方面所述的HLS流媒体数据的处理方法。
第五方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面所述的HLS流媒体数据的处理方法。
在本发明实施例中,在接收到客户端发送的包括待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间的第一数据访问请求时,若确定本地未缓存目标HLS流媒体数据,则根据预设方式对第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的至少一个子长度区间;根据每个子长度区间从中心节点服务器获取对应的多个HLS分片中的HLS流媒体数据,将每个子长度区间所对应的HLS流媒体数据确定为HLS聚合分片,其中,每个HLS分片的第二长度小于每个HLS聚合分片的第一长度。以及,从HLS聚合分片中获取目标HLS流媒体数据,将获取的目标HLS流媒体数据发送给客户端。由此,通过对目标HLS流媒体数据在所属多媒体项目中的第一长度区间进行对齐处理得到至少一个子长度区间,并将根据每个子长度区间所获取的HLS流媒体数据确定为HLS聚合分片,从而基于HLS聚合分片对HLS流媒体数据的管理,极大的减少了HLS分片的数量,降低了HLS流媒体数据的管理难度。并且,由于HLS聚合分片的第一长度大于HLS分片的第二长度,因此相较于现有的基于小文件的HLS分片进行读写操作,不仅提升了读写性能,而且在用户无感的情况下,提升了服务速率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的HLS流媒体数据的处理方法的第一种流程示意图;
图2是本发明实施例提供的一种HLS流媒体数据的存储方式的示意图;
图3是本发明实施例提供的HLS流媒体数据的处理方法的第二种流程示意图;
图4是本发明实施例提供的HLS流媒体数据的处理系统的结构示意图;
图5是本发明实施例提供的HLS流媒体数据的处理装置的模块组成示意图;
图6是本发明实施例提供的HLS流媒体数据的处理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种HLS流媒体数据的处理方法的第一种流程示意图。图1中的方法能够由边缘节点服务器执行,该边缘节点服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群。如图1所示,该方法至少可包括:
步骤S102,接收客户端发送的第一数据访问请求,第一数据访问请求包括待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间。
具体的,客户端响应于用户的数据访问操作,根据确定的待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间,向边缘节点服务器发送第一数据访问请求;边缘节点服务器接收客户端发送的第一数据访问请求。其中,多媒体项目可以是视频流数据的项目,如电影、综艺、电视剧、短视频等项目;多媒体项目也可以是音频流数据的项目,如音乐、语音备忘录的音频等项目。第一长度区间例如是第19214540字节至第28842020字节。
步骤S104,若确定本地未缓存目标HLS流媒体数据,则根据预设方式对第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的至少一个子长度区间。
为了便于对HLS流媒体数据进行管理,本申请实施例中,基于预设的第一长度对目标HLS流媒体数据在所属多媒体项目中的第一长度区间进行对齐处理,得到至少一个子长度区间,以在后续基于子长度区间从中心节点服务器获取对应的多个HLS分片中的HLS流媒体数据,从而得到长度为第一长度的HLS聚合分片。其中,对齐处理的具体过程将在下述实施例中进行详细说明。
步骤S106,根据每个子长度区间从中心节点服务器获取对应的多个HLS分片中的HLS流媒体数据,将每个子长度区间所对应的HLS流媒体数据确定为HLS聚合分片。其中,每个HLS分片的第二长度小于每个HLS聚合分片的第一长度。
具体的,边缘节点服务器根据每个子长度区间分别向中心节点服务器发送第一回源请求,以使中心节点服务器根据第一回源请求中的子长度区间查询对应的多个HLS分片,并将该多个HLS分片中与子长度区间对应的HLS流媒体数据发送给边缘节点服务器;边缘节点服务器接收中心节点服务器发送的HLS流媒体数据,并将每个子长度区间所对应的HLS流媒体数据确定为HLS聚合分片。
本实施例中,中心节点服务器以索引文件和HLS分片文件的组合形式存储HLS流媒体数据。其中,HLS分片文件中包括多个HLS分片,每个HLS分片中存储有HLS流媒体数据,每个HLS分片的时长为10秒左右。索引文件包括一个主索引文件和多个子索引文件;主索引文件包括对应的每个子索引文件的URI(Uniform Resource Identifier,通用资源标志符)、每个子索引文件对应的HLS流媒体数据的格式信息等。子索引文件中包括其对应的每个HLS分片中的HLS流媒体数据的字节范围。主索引文件和子索引文件可以为m3u8格式。相应的,第一数据访问请求可以包括客户端根据预先获取的索引文件所确定的目标HLS流媒体数据对应的子索引文件的URI,第一长度区间可以嵌入在该URI中。
进一步的,HLS流媒体数据的格式信息可以包括HLS流媒体数据的格式、码率、分辨率中的至少一项;其中,HLS流媒体数据的格式包括但不限于为H.264、MP3、AAC、AC-3格式;HLS流媒体数据的分辨率包括但不限于为标准、高清、超清、蓝光。可以理解的是,对于某一个多媒体项目而言,其对应有一个主索引文件和多个子索引文件,每个子索引文件对应至少一个HLS分片文件,每个HLS分片文件中包括多个HLS分片,每个HLS分片中的HLS流媒体数据的格式信息与对应的子索引文件的URI在主索引文件中所对应的格式信息一致。例如,对于电影1而言,包括高清分辨率对应的子索引文件1、超清分辨率对应的子索引文件2等;其中,子索引文件1对应含有高清分辨率的HLS流媒体数据的HLS分片1、HLS分片2和HLS分片3;子索引文件2对应含有超清分辨率的HLS流媒体数据的HLS分片4、HLS分片5、HLS分片6和HLS分片7等。
图2是中心节点服务器中HLS流媒体数据的存储方式的示意图,如图2所示,中心节点服务器以某个子索引文件201和其对应的HLS分片文件202的组合形式存储HLS流媒体数据,子索引文件201中,“#EXTINF”表征一个HLS分片对应的时长,“#EXT-X-BYTERANGE”表征HLS分片中的HLS流媒体数据的字节范围,符号“@”之前的数字表示HLS分片中HLS流媒体数据的大小,符号“@”之后的数字表示HLS分片中HLS流媒体数据的起始字节。子索引文件201中的每一个起始字节对应于HLS分片文件202中相应的HLS分片的起始字节。为了便于描述,将HLS分片文件202从上至下的每个字节范围对应的HLS分片记为第一个HLS分片、第二个HLS分片、第三个HLS分片、第四个HLS分片。例如,子索引文件201中的#EXT-X-BYTERANGE:9588000@0,表征相应的HLS分片的起始字节为第0字节、长度为9588000个字节,对应于HLS分片文件202中的第一个HLS分片;子索引文件201的#EXT-X-BYTERANGE:9626540@9588000,表征相应的HLS分片的起始字节为第9588000字节、长度为9626540个字节,对应于HLS分片文件202的第二个HLS分片,以此类推,这里不再一一列举。
在一种可能的实施方式中,客户端请求访问的目标HLS流媒体数据的第一长度区间为第19214540字节至第28842020字节,第一长度为20000000个字节,边缘节点服务器对第一长度区间进行对齐处理得到子长度区间为第0字节至19999999字节和第20000000字节至第39999999字节。边缘节点服务器根据子长度区间第0字节至第19999999字节、第一数据访问请求包括的URI向中心节点服务器发送第一个第一回源请求;以及,边缘节点服务器根据子长度区间第20000000字节至第39999999字节、第一数据访问请求包括的URI向中心节点服务器发送第二个第一回源请求。中心节点服务器接收到上述第一个第一回源请求时,根据第一个第一回源请求包括的子长度区间第0字节至第19999999字节和URI,查找到对应的至少一个HLS分片文件,即从HLS分片文件202中查找到对应的第一个HLS分片、第二个HLS分片和第三个HLS分片,并将第一个HLS分片中的HLS流媒体数据、第二个HLS分片中的HLS流媒体数据、以及第三个HLS分片中的部分HLS流媒体数据(即第三个HLS分片中的第19214540字节至第19999999字节的数据)发送给边缘节点服务器。相应的,边缘节点服务器将接收到的HLS流媒体数据确定为HLS聚合分片203。
当中心节点接收到上述第二个第一回源请求时,根据第二个第一回源请求包括的子长度区间第20000000字节至第39999999字节和URI,查找到对应的至少一个HLS分片文件,即从HLS分片文件202中查找到对应的第三个HLS分片和第四个HLS分片,并将第三个HLS分片的部分HLS流媒体数据(即第三个HLS分片中第20000000字节至第30691000字节的数据)和第四个HLS分片的部分HLS流媒体数据(即第30691000字节至第39999999字节的数据)发送给边缘节点服务器。相应的,边缘节点服务器将接收到的HLS流媒体数据确定为HLS聚合分片204。
需要指出的是,图2中未示出主索引文件,且图2仅用于示意而不用于限定,HLS流媒体数据的存储方式可以在实际应用中根据需要自行设定。
步骤S108,从HLS聚合分片中获取目标HLS流媒体数据,将获取的目标HLS流媒体数据发送给客户端。
仍以上述示例进行说明,由于HLS聚合分片203中包括的是第0字节至第19999999字节的HLS流媒体数据,HLS聚合分片204中包括的是第20000000字节至第39999999字节的HLS流媒体数据,而客户端请求的是第19214540字节至第28842020字节的HLS流媒体数据,因此只需从聚合分片203中和聚合分片204中读取第19214540字节至第28842020字节的目标HLS流媒体数据并返回至客户端。
在本发明实施例中,边缘节点服务器在接收到客户端发送的包括待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间的第一数据访问请求时,若确定本地未缓存目标HLS流媒体数据,则根据预设方式对第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的至少一个子长度区间;根据每个子长度区间从中心节点服务器获取对应的多个HLS分片中的HLS流媒体数据,将每个子长度区间所对应的HLS流媒体数据确定为HLS聚合分片,其中,每个HLS分片的第二长度小于每个HLS聚合分片的第一长度。以及,从HLS聚合分片中获取目标HLS流媒体数据,将获取的目标HLS流媒体数据发送给客户端。由此,通过对目标HLS流媒体数据在所属多媒体项目中的第一长度区间进行对齐处理得到至少一个子长度区间,并将根据每个子长度区间所获取的HLS流媒体数据确定为HLS聚合分片,从而基于HLS聚合分片对HLS流媒体数据的管理,极大的减少了HLS分片的数量,降低了HLS流媒体数据的管理难度。并且,由于HLS聚合分片的第一长度大于HLS分片的第二长度,因此相较于现有的基于小文件的HLS分片进行读写操作,不仅提升了读写性能,而且在用户无感的情况下,提升了服务速率。
为了使客户端能够准确的确定第一长度区间,本申请一个或多个实施例中,步骤S102之前还可以包括以下步骤A1至步骤A3:
步骤A1,接收客户端发送的索引文件获取请求;
步骤A2,若确定本地未缓存索引文件获取请求对应的目标索引文件,则根据索引文件获取请求从中心节点服务器获取目标索引文件。
步骤A3,将目标索引文件发送给客户端,以使客户端根据目标索引文件确定第一长度区间,并根据第一长度区间发送第一数据访问请求。
其中,目标索引文件包括目标主索引文件和目标子索引文件。具体的,客户端根据用户提交的目标HLS流媒体数据所属多媒体项目的项目信息,确定目标HLS流媒体数据所属多媒体项目的主索引文件的URI,根据确定的主索引文件的URI向边缘节点服务器发送主索引文件获取请求。边缘节点服务器接收客户端发送的主索引文件获取请求,若根据主索引文件请求包括的多媒体项目的项目信息确定本地未缓存对应的目标主索引文件,则根据主索引文件获取请求包括的URI或者根据主索引文件获取请求包括的URI和项目信息向中心节点服务器发送第二回源请求,以使中心节点服务器根据第二回源请求中的项目信息获取对应的目标主索引文件。接收中心节点服务器发送的目标主索引文件并发送给客户端,以使客户端根据该目标主索引文件确定目标HLS流媒体数据对应的目标子索引文件的文件信息,并根据该目标子索引文件的文件信息向边缘节点服务器发送子索引文件获取请求。以及,接收客户端发送的该子索引文件获取请求,若根据子索引文件获取请求中的文件信息确定本地未缓存对应的目标子索引文件,则根据该文件信息向中心节点服务器发送第三回源请求,以使中心节点服务器根据第三回源请求中的文件信息获取对应的目标子索引文件。
接收中心节点服务器发送的目标子索引文件并发送给客户端,以使客户端根据该目标子索引文件确定目标HLS流媒体数据在所属多媒体项目中的第一长度区间,并根据第一长度区间向边缘节点服务器发送第一数据访问请求。其中,文件信息可以是目标子索引文件的URI,相应的,第一数据访问请求中可以包括目标子索引文件的URI、第一长度区间等信息。第一长度区间可以嵌入到目标子索引文件的URI中。
在一个实施例中,在确定目标HLS流媒体数据的第一长度区间之后,若确定本地未缓存目标HLS流媒体数据,则根据预设方式对第一长度区间进行对齐处理,得到与预设的第一长度相对应的至少一个子长度区间,具体可通过以下步骤B1~步骤B3实现:
步骤B1,确定与第一长度区间的第一起始字节偏移位置对齐的第二起始字节偏移位置;其中,第二起始字节偏移位置不超过第一起始字节偏移位置。
具体的,将第一长度区间的第一起始字节偏移位置除以预设的第一长度,并向下取整(即当第一起始字节偏移位置除以预设的第一长度的结果位于Z至Z+1之间时,取Z,其中,Z是整数)得到第一数值(即Z);再将第一数值乘以第一长度,得到第二起始字节偏移位置。
步骤B2,确定与第一长度区间的第一截止字节偏移位置对齐的第二截止字节偏移位置;其中,第一截止字节偏移位置不超过第二截止字节偏移位置。
具体的,将第一长度区间的第一截止字节偏移位置除以预设的第一长度,并向上取整(即当第一截止字节偏移位置除以预设的第一长度位于Z至Z+1之间时,取Z+1)得到第二数值(即Z+1);再将第二数值乘以第一长度得到第三数值,并将第三数值减1,得到第二截止字节偏移位置。
步骤B3,根据预设的第一长度,对第二起始字节偏移位置与第二截止字节偏移位置构成的第二长度区间进行划分处理,得到至少一个子长度区间。
例如,预设的第一长度为20000000个字节,客户端发起的第一数据访问请求为请求获取电影2的第19214540字节至第28842020字节的HLS流媒体数据,即目标HLS流媒体数据的第一长度区间为第19214540字节至第28842020字节。根据预设的第一长度,对第一起始字节偏移位置第19214540字节与第一截止字节偏移位置第28842020字节构成的第二长度区间进行划分处理,得到至少一个子长度区间,可通过以下步骤实现:
首先,将第一起始字节偏移位置第19214540字节除以预设的第一长度20000000字节,并向下取整得到第二数值为0,再将第二数值0乘以第一长度,则得到第二起始字节偏移位置为第0字节。
其次,将第一长度区间的第一截止字节偏移位置第28842020字节除以预设的第一长度20000000字节,并向上取整得到第二数值2;再将第二数值2乘以第一长度得到第三数值40000000,并将第三数值减1,得到第二截止字节偏移位置第39999999字节。
再次,根据预设的第一长度20000000个字节,对第二起始字节偏移位置与第二截止字节偏移位置构成的第二长度区间第0字节至第39999999字节进行划分处理,得到两个子长度区间为第0字节至第19999999字节,第20000000字节至第39999999字节。
由此,基于预设的第一长度对目标HLS流媒体数据在所属多媒体项目中的第一长度区间进行对齐处理,得到至少一个子长度区间,能够在后续基于子长度区间从中心节点服务器获取对应的多个HLS分片中的HLS流媒体数据,从而得到长度为第一长度的HLS聚合分片,通过对HLS聚合分片进行管理,相较于对多个小的HLS分片进行管理,极大的提升了HLS流媒体数据的管理效率,以及提升了HLS流媒体数据读写性能。
由于上述对齐处理过程中,第二长度区间包含第一长度区间,因此从中心节点服务器获取的HLS流媒体数据中可能包括客户端未请求的HLS流媒体数据,即得到的HLS聚合分片中可能包括客户端未请求的HLS流媒体数据。基于此,本申请一个或多个实施例中,步骤S108中从HLS聚合分片中获取目标HLS流媒体数据,可以包括:
从得到的HLS聚合分片中查找第一起始字节偏移位置和第一截止字节偏移位置,读取查找到的第一起始字节偏移位置至第一截止字节偏移位置之间的HLS流媒体数据,将读取的HLS流媒体数据确定为目标HLS流媒体数据。
具体的,确定得到的HLS聚合分片的数量,若目标HLS聚合分片的数量是一个,则根据第一长度区间从得到的该一个HLS聚合分片中获取相应的HLS流媒体数据;将获取的HLS流媒体数据确定为目标HLS流媒体数据。若目标HLS聚合分片的数量是多个,则根据第一长度区间,分别从每个目标HLS聚合分片中获取相应的HLS流媒体数据;按照长度从小到大的顺序,对获取的HLS流媒体数据进行拼接处理,将拼接处理所得的HLS流媒体数据确定为目标HLS流媒体数据。
例如,预设的第一长度为30000000个字节,即每个HLS聚合分片的大小为30000000个字节,目标HLS流媒体数据的第一长度区间为第19214540字节至第28842020字节,则得到一个HLS聚合分片,且该HLS聚合分片的长度区间为第0字节至第29999999字节;相应的,中心节点服务器从该目标HLS聚合分片中查找第一长度区间的第一起始字节偏移位置第19214540字节和第一截止字节偏移位置第28842020字节,读取查找到的第一起始字节偏移位置至第一截止字节偏移位置之间的HLS流媒体数据,将读取的HLS流媒体数据确定为目标HLS流媒体数据。
又如,预设的第一长度为20000000个字节,即每个HLS聚合分片的大小为20000000个字节,目标HLS流媒体数据的第一长度区间为第19214540字节至第28842020字节,则得到两个HLS聚合分片,按照长度从小到大的顺序,第一个HLS聚合分片的长度区间为第0字节至第19999999字节,第二个HLS聚合分片的长度区间为第20000000字节至第39999999字节;相应的,中心节点服务器从第一个HLS聚合分片中查找第一长度区间的第一起始字节偏移位置第19214540字节,并从第一个HLS聚合分片中读取第19214540字节及其之后的所有HLS流媒体数据;以及,从第二个HLS聚合分片中查找第一长度区间的第一截止字节偏移位置第28842020字节,并从第二个HLS聚合分片中读取第20000000字节至第28842020字节之间的HLS流媒体数据;将从第一个HLS聚合分片中读取的HLS流媒体数据与从第二个HLS聚合分片中读取的HLS流媒体数据进行拼接处理,得到目标HLS流媒体数据。
需要注意的是,当从多个HLS聚合分片中读取HLS流媒体数据时,并不对HLS聚合分片的读取顺序进行限定,可以同时读取多个HLS聚合分片中相应的HLS流媒体数据,也可以按照字节从小到大的顺序依次读取HLS聚合分片上相应的HLS流媒体数据。
本实施例中,以HLS聚合分片的形式存储HLS流媒体数据,并从HLS聚合分片中获取目标HLS流媒体数据,相较于现有的从多个小的HLS分片中获取目标HLS流媒体数据,极大的提高了目标HLS流媒体数据的获取效率。此外,根据确定的第一长度区间从HLS聚合文件中获取目标流媒体数据,避免了将用户未请求的HLS流媒体数据发送给客户端,满足了用户的数据访问需求。并且,当目标HLS聚合分片有多个时,通过对读取的各HLS流媒体数据进行拼接处理,能够使客户端基于该拼接处理得到的目标HLS流媒体数据流畅地进行播放处理。
通常的,用户请求的目标HLS流媒体数据是相应的多媒体项目的热点HLS流媒体数据,考虑到其他用户可能也会有访问目标HLS流媒体数据的需求,基于此,本申请一个或多个实施例中,步骤S106中将每个子长度区间所对应的HLS流媒体数据确定为HLS聚合分片之后,还可以包括:将HLS聚合分片缓存至本地。
进一步的,由于本地存储空间有限,而缓存的HLS聚合分片中可能包括用户长时间未访问的HLS聚合分片。基于此,本申请一个或多个实施例中,还可以定期对本地缓存的HLS聚合分片进行老化处理。具体的,方法还可以包括:
确定缓存的每个HLS聚合分片的末次访问时间和/或访问频率,若根据末次访问时间和/或访问频率确定相应的HLS聚合分片符合预设的老化处理条件,则对相应的HLS聚合分片进行老化处理。
可选地,边缘节点服务器记录缓存的每个HLS聚合分片的末次访问时间;以及,按照预设的第一时间间隔,根据记录的每个HLS聚合分片的末次访问时间和当前时间,确定每个HLS聚合分片的未访问时长;以及,确定该未访问时长是否超过预设时长,若是,则确定满足预设的老化处理条件,对相应的HLS聚合分片进行老化处理,以将相应的HLS聚合分片从缓存中删除;若否,则确定不满足预设的老化处理条件。例如,本地缓存的某个HLS聚合分片的末次访问时间为2021年4月10日,当前时间为2021年5月15日,预设时长为30天,则确定该HLS聚合分片的未访问时长为35天,其超过了30天,则确定该HLS聚合分片满足预设的老化处理条件,将该HLS聚合分片从缓存中删除。
或者,边缘节点服务器记录每个HLS聚合分片的访问时间,并按照预设的第二时间间隔根据记录的访问时间,统计在相应的第二时间间隔内,每个HLS聚合分片的访问频率;以及,确定统计的访问频率是否小于预设的访问频率,若是,则确定相应的HLS聚合分片满足预设的老化条件,并对该HLS聚合分片进行老化处理;若否,则确定相应的HLS聚合分片不满足预设的老化条件。例如,第二时间间隔为10天,预设的访问频率为0.5;边缘节点服务器根据记录某个HLS聚合分片的访问时间确定该HLS聚合分片在最近的10天内的访问频率为0.3,其小于预设频率0.5,则确定该HLS聚合分片满足预设的老化条件,并将其从缓存中删除。
或者,边缘节点服务器记录每个HLS聚合分片的访问时间,并按照预设的第三时间间隔,根据记录的访问时间,确定每个HLS聚合分片的末次访问时间和在相应的第三时间间隔内的访问频率;以及,根据确定的末次访问时间,确定相应的HLS聚合分片的未访问时长;若确定未访问时长大于预设时长、且访问频率小于预设的访问频率,则确定满足预设的老化条件。例如,第三时间间隔为20天,预设时长为15天,预设的访问频率为0.5,边缘节点服务器根据记录的某个HLS聚合分片的访问时间,确定其未访问时长为16天,访问频率为0.4,则确定该HLS聚合分片满足预设的老化处理条件,并将其从缓存中删除。
由此,根据确定的HLS聚合分片的末次访问时间和/或访问频率判断相应的HLS聚合分片是否符合预设的老化处理条件,进而有针对性地对符合条件的HLS聚合分片进行老化处理,不仅避免了因删除热点HLS流媒体数据,而导致无法及时响应客户端的第一数据访问请求的问题,并且能够及时、合理地释放本地存储空间。
此外,需要说明的是,现有技术中,为了提升服务性能,预先将多个小分片文件聚合成一个大的聚合文件进行缓存,并基于客户端的第一数据访问请求,直接将一个大的聚合文件发送给客户端。然而返回的该大的聚合文件中,可能包括了客户端未请求的分片文件,而这并没有完全满足用户的数据访问需求,而且缓存该未请求的分片文件需要占用存储空间,因此降低了系统的缓存效率。再者,在进行老化处理时,容易在删除非热点部分的HLS数据的同时,也删除了热点部分的HLS数据。而本申请中,则是按照与预设的第一长度相对应的子长度区间获取HLS分片,以及根据第一长度对获取的HLS分片进行聚合处理,并从HLS聚合分片中获取目标HLS流媒体数据发送给客户端,不仅能够完全满足用户的数据访问需求,并且从中心节点服务器获取的HLS分片中不包括用户未请求的HLS分片,因此,解决了现有技术中因缓存用户未请求的分片文件需要占用存储空间的问题。此外,在老化处理时,避免了因删除热点HLS流媒体数据,而导致无法及时响应客户端的第一数据访问请求的问题,并且能够及时、合理地释放本地存储空间。
进一步的,为了避免重复从中心节点服务器获取HLS流媒体数据,本申请一个或多个实施例中,在确定目标HLS流媒体数据的第一长度区间之后,可以根据第一长度区间确定本地是否缓存有目标HLS流媒体数据。即步骤S102之后还可以包括:根据第一长度区间确定本地是否缓存有目标HLS流媒体数据。
具体的,边缘节点服务器可以根据缓存的HLS聚合分片的相关信息,生成缓存信息表,该缓存信息表中可以多媒体项目为统计维度,统计每个多媒体项目的项目信息、以及缓存的HLS聚合分片中HLS流媒体数据的格式信息和第一长度区间等。相应的,边缘节点服务器将确定的第一长度区间,以及第一数据访问请求包括的多媒体项目的项目信息,与缓存信息表中的每个多媒体项目的相关信息进行匹配;若均匹配成功,则确定本地缓存有目标HLS流媒体数据;否则确定本地未缓存有目标HLS流媒体数据。
进一步的,方法还可以包括:若确定本地缓存有目标HLS流媒体数据,则将子长度区间与缓存的相应多媒体项目的各HLS聚合分片的第三长度区间进行匹配处理,将匹配成功的第三长度区间所对应的HLS聚合分片确定为目标HLS聚合分片,从目标HLS聚合分片中获取目标HLS流媒体数据。
具体的,根据预设方式对第一长度区间进行对齐处理,得到与预设的第一长度相对应的至少一个子长度区间;将得到的子长度区间与缓存的目标HLS流媒体数据所属的多媒体项目的各HLS聚合分片的第三长度区间进行匹配处理,将匹配成功的第三长度区间所对应的HLS聚合分片确定为目标HLS聚合分片。其中,根据预设方式对第一长度区间进行对齐处理,得到与预设的第一长度相对应的至少一个子长度区间的过程,可参见前述相关描述;从目标HLS聚合分片中获取目标HLS流媒体数据的过程,可参见前述从得到的HLS聚合分片中获取目标HLS流媒体数据的过程,重复之处这里不再赘述。
对应于图1所示实施例,本发明还提供了一种HLS流媒体数据的处理方法的具体实施例。图3是本发明提供的一种HLS流媒体数据的处理方法的流程示意图。图3所示的方法可以由边缘节点服务器执行,如图3所示,该方法可以包括:
步骤S301,接收客户端发送的主索引文件获取请求。
步骤S302,判断本地是否缓存有主索引文件获取请求对应的目标主索引文件;若否,则执行步骤S303;若是,则执行步骤S305。
步骤S303,根据主索引文件获取请求向中心节点服务器发送第二回源请求,以使中心节点服务器根据第二回源请求获取目标主索引文件。
步骤S304,接收中心节点服务器发送的目标主索引文件。
步骤S305,将目标主索引文件发送给客户端,以使客户端根据目标主索引文件确定目标HLS流媒体数据对应的子索引文件的文件信息,并根据文件信息发送子索引文件获取请求。
其中,文件信息可以是目标子索引文件的URI。
步骤S306,接收客户端发送的子索引文件获取请求。
步骤S307,判断本地是否缓存有子索引文件获取请求对应的目标子索引文件;若否,则执行步骤S308;若是,则执行步骤S310。
步骤S308,根据子索引文件获取请求向中心节点服务器发送第三回源请求,以使中心节点服务器根据第三回源请求获取目标索引文件。
步骤S309,接收中心节点服务器发送的目标子索引文件。
步骤S310,将目标子索引文件发送给客户端,以使客户端根据目标子索引文件确定目标HLS流媒体数据在所属多媒体项目中的第一长度区间,并根据第一长度区间发送第一数据访问请求。
步骤S311,接收客户端发送的第一数据访问请求。
步骤S312,判断本地是否缓存有待访问的目标HLS流媒体数据,若否,则执行步骤S313;若是,则执行步骤S318。
步骤S313,确定与第一长度区间的第一起始字节偏移位置对齐的第二起始字节偏移位置,以及确定与第一长度区间的第一截止字节偏移位置对齐的第二截止字节偏移位置;其中,第二起始字节偏移位置不超过第一起始字节偏移位置,第一截止字节偏移位置不超过第二截止字节偏移位置。
步骤S314,根据预设的HLS聚合分片的第一长度,对第二起始字节偏移位置与第二截止字节偏移位置构成的第二长度区间进行划分处理,得到至少一个子长度区间。
步骤S315,根据每个子长度区间向中心节点服务器发送第一回源请求,并接收中心节点服务器发送的与每个子长度区间对应的多个HLS分片中的HLS流媒体数据。
步骤S316,将每个子长度区间所对应的HLS流媒体数据确定为HLS聚合分片。
其中,每个HLS分片的第二长度小于每个HLS聚合分片的第一长度。
步骤S317,从HLS聚合分片中获取目标HLS流媒体数据,将目标HLS流媒体数据发送给客户端,并将HLS聚合分片缓存至本地。
步骤S318,根据预设方式对第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的至少一个子长度区间;将得到的子长度区间与缓存的目标HLS流媒体数据所属的多媒体项目的各HLS聚合分片的第三长度区间进行匹配处理,将匹配成功的第三长度区间所对应的HLS聚合分片确定为目标HLS聚合分片。
其中,第三长度区间为各HLS聚合分片所对应的HLS流媒体数据的字节范围。
步骤S319,从目标HLS聚合分片中获取目标HLS流媒体数据,将目标HLS流媒体数据发送给客户端。
步骤S320,确定缓存的每个HLS聚合分片的末次访问时间和/或访问频率,若根据确定的末次访问时间和/或访问频率确定相应的HLS聚合分片符合预设的老化处理条件,则对相应的HLS聚合分片进行老化处理。
需要说明的是,步骤S319和步骤S320可以连续执行,也可以不连续执行,例如步骤S320还可以在步骤S317之后执行,还可以与上述任一步骤同时执行。步骤S301至步骤S320的具体实现方式可参见前述相关描述,重复之处不再赘述。
在本发明实施例中,在接收到客户端发送的包括待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间的第一数据访问请求时,若确定本地未缓存目标HLS流媒体数据,则根据预设方式对第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的至少一个子长度区间;根据每个子长度区间从中心节点服务器获取对应的多个HLS分片中的HLS流媒体数据,将每个子长度区间所对应的HLS流媒体数据确定为HLS聚合分片,其中,每个HLS分片的第二长度小于每个HLS聚合分片的第一长度。以及,从HLS聚合分片中获取目标HLS流媒体数据,将获取的目标HLS流媒体数据发送给客户端。由此,通过对目标HLS流媒体数据在所属多媒体项目中的第一长度区间进行对齐处理得到至少一个子长度区间,并将根据每个子长度区间所获取的多个HLS分片确定为HLS聚合分片,从而基于HLS聚合分片对HLS流媒体数据的管理,极大的减少了HLS分片的数量,降低了HLS流媒体数据的管理难度。并且,由于HLS聚合分片的第一长度大于HLS分片的第二长度,因此相较于现有的基于小文件的HLS分片进行读写操作,不仅提升了读写性能,而且在用户无感的情况下,提升了服务速率。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上为本发明实施例提供的HLS流媒体数据的处理方法,基于同样的技术构思,本发明实施例还提供了一种HLS流媒体数据的处理系统。图4是根据本发明一实施例的一种HLS流媒体数据的处理系统的结构示意图,如图4所示,该系统包括:客户端410(图中以平板电脑示出)、边缘节点服务器420和中心节点服务器430;其中,客户端410包括但不限于平板电脑、PC端(Personal Computer,个人计算机)、移动终端等电子设备。
所述客户端410,用于响应于用户的数据访问操作,向所述边缘节点服务器420发送第一数据访问请求;其中,所述第一数据访问请求包括待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间;以及,接收所述边缘节点服务器420发送的目标HLS流媒体数据;
所述边缘节点服务器420,用于接收所述客户端410发送的所述第一数据访问请求;若确定本地未缓存所述目标HLS流媒体数据,则根据预设方式对所述长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的多个子长度区间;根据每个所述子长度区间分别向所述中心节点服务器430发送第一回源请求;接收所述中心节点服务器430发送的多个HLS分片中的HLS流媒体数据,并将每个所述子长度区间所对应的HLS流媒体数据确定为所述HLS聚合分片;其中,每个所述HLS分片的第二长度小于所述第一长度;从所述HLS聚合分片中获取所述目标HLS流媒体数据,将获取的所述目标HLS流媒体数据发送给所述客户端410;
所述中心节点服务器430,用于接收所述边缘节点服务器420发送的所述第一回源请求,根据所述第一回源请求获取对应的多个HLS分片并发送给所述边缘节点服务器420。
在本发明实施例中,边缘节点服务器在接收到客户端发送的包括待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间的第一数据访问需求时,若确定本地未缓存目标HLS流媒体数据,则根据预设方式对第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的至少一个子长度区间;根据每个子长度区间从中心节点服务器获取对应的多个HLS分片中的HLS流媒体数据,将每个子长度区间所对应的HLS流媒体数据确定为HLS聚合分片,其中,每个HLS分片的第二长度小于每个HLS聚合分片的第一长度。以及,从HLS聚合分片中获取目标HLS流媒体数据,将获取的目标HLS流媒体数据发送给客户端。由此,通过对目标HLS流媒体数据在所属多媒体项目中的第一长度区间进行对齐处理得到至少一个子长度区间,并将根据每个子长度区间所获取的中的HLS流媒体数据确定为所述HLS聚合分片,从而基于HLS聚合分片对HLS流媒体数据的管理,极大的减少了HLS分片的数量,降低了HLS流媒体数据的管理难度。并且,由于HLS聚合分片的第一长度大于HLS分片的第二长度,因此相较于现有的基于小文件的HLS分片进行读写操作,不仅提升了读写性能,而且在用户无感的情况下,提升了服务速率。
需要说明的是,本申请实施例提供的HLS流媒体数据的处理系统与本申请实施例提供的HLS流媒体数据的处理方法基于同一发明构思,因此该实施例的具体实施可以参见前述HLS流媒体数据的处理方法的实施,重复之处不再赘述。
对应上述实施例提供的HLS流媒体数据的处理方法,基于相同的技术构思,本发明实施例还提供了一种HLS流媒体数据的处理装置,该装置可应用于边缘节点服务器。图5为本申请实施例提供的HLS流媒体数据的处理装置的模块组成示意图,如图5所示,该装置包括:
第一接收模块510,用于接收客户端发送的第一数据访问请求,所述第一数据访问请求包括待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间;
对齐处理模块520,用于若确定本地未缓存所述目标HLS流媒体数据,则根据预设方式对所述第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的至少一个子长度区间;
确定模块530,用于根据每个所述子长度区间从中心节点服务器获取对应的多个HLS分片中的HLS流媒体数据,将每个所述子长度区间所对应的HLS流媒体数据确定为HLS聚合分片;其中,每个所述HLS分片的第二长度小于所述第一长度;
第一获取模块540,用于从所述HLS聚合分片中获取所述目标HLS流媒体数据,将获取的所述目标HLS流媒体数据发送给所述客户端。
可选地,所述对齐处理模块520具体用于:
确定与所述第一长度区间的第一起始字节偏移位置对齐的第二起始字节偏移位置;其中,所述第二起始字节偏移位置不超过所述第一起始字节偏移位置;
确定与所述第一长度区间的第一截止字节偏移位置对齐的第二截止字节偏移位置;其中,所述第一截止字节偏移位置不超过所述第二截止字节偏移位置;
根据所述第一长度,对所述第二起始字节偏移位置与所述第二截止字节偏移位置构成的第二长度区间进行划分处理,得到至少一个所述子长度区间。
可选地,所述第一获取模块540具体用于:
从所述HLS聚合分片中查找所述第一起始字节偏移位置和所述第一截止字节偏移位置;
读取查找到的所述第一起始字节偏移位置至所述第一截止字节偏移位置之间的HLS流媒体数据;
将读取的所述HLS流媒体数据确定为所述目标HLS流媒体数据。
可选地,所述装置还包括:
缓存模块,用于所述将每个所述子长度区间所对应的多个HLS分片确定为HLS聚合分片之后,将所述HLS聚合分片缓存至本地;
记录模块,用于记录缓存的每个HLS聚合分片的末次访问时间和/或访问频率;
老化处理模块,用于若根据所述末次访问时间和/或访问频率确定相应的HLS聚合分片符合预设的老化处理条件,则对相应的HLS聚合分片进行老化处理。
可选地,所述装置还包括:
第二接收模块,用于在所述第一接收模块510接收客户端发送的第一数据访问请求之前,接收客户端发送的索引文件获取请求;
第二获取模块,用于若确定本地未缓存所述索引文件获取请求对应的目标索引文件,则根据所述索引文件获取请求从所述中心节点服务器获取所述目标索引文件;
发送模块,用于将所述目标索引文件发送给所述客户端,以使所述客户端根据所述目标索引文件确定所述第一长度区间,并根据所述第一长度区间发送所述第一数据访问请求。
采用本实施例提供的装置,在接收到客户端发送的包括待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间的第一数据访问请求时,若确定本地未缓存目标HLS流媒体数据,则根据预设方式对第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的至少一个子长度区间;根据每个子长度区间从中心节点服务器获取对应的多个HLS分片中的HLS流媒体数据,将每个子长度区间所对应的HLS流媒体数据确定为HLS聚合分片,其中,每个HLS分片的第二长度小于每个HLS聚合分片的第一长度。以及,从HLS聚合分片中获取目标HLS流媒体数据,将获取的目标HLS流媒体数据发送给客户端。由此,通过对目标HLS流媒体数据在所属多媒体项目中的第一长度区间进行对齐处理得到至少一个子长度区间,并将根据每个子长度区间所获取的HLS流媒体数据确定为HLS聚合分片,从而基于HLS聚合分片对HLS流媒体数据的管理,极大的减少了HLS分片的数量,降低了HLS流媒体数据的管理难度。并且,由于HLS聚合分片的第一长度大于HLS分片的第二长度,因此相较于现有的基于小文件的HLS分片进行读写操作,不仅提升了读写性能,而且在用户无感的情况下,提升了服务速率。
需要说明的是,本申请实施例提供的HLS流媒体数据的处理装置与本申请实施例提供的HLS流媒体数据的处理方法基于同一发明构思,因此该实施例的具体实施可以参见前述HLS流媒体数据的处理方法的实施,重复之处不再赘述。
对应上述实施例提供的HLS流媒体数据的处理方法,基于相同的技术构思,本发明实施例还提供了一种HLS流媒体数据的处理设备,该设备用于执行上述的HLS流媒体数据的处理方法,并达到相同的效果。图6是本发明实施例应用的HLS流媒体数据的处理设备的结构示意图,如图6所示,HLS流媒体数据的处理设备600包括:处理器601、收发机602、存储器603、用户接口604和总线接口,其中:
在本发明实施例中,HLS流媒体数据的处理设备600还包括:存储在存储器上603并可在处理器601上运行的计算机程序,计算机程序被处理器601执行时实现如下步骤:
接收客户端发送的第一数据访问请求,根据所述第一数据访问请求确定待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间;
若确定本地未缓存所述目标HLS流媒体数据,则根据预设方式对所述第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的至少一个子长度区间;
根据每个所述子长度区间从中心节点服务器获取对应的多个HLS分片中的HLS流媒体数据,将每个所述子长度区间所对应的HLS流媒体数据确定为HLS聚合分片;其中,每个所述HLS分片的第二长度小于所述第一长度;
从所述HLS聚合分片中获取所述目标HLS流媒体数据,将获取的所述目标HLS流媒体数据发送给所述客户端。
在图6中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器601代表的一个或多个处理器和存储器603代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机602可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口604还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器601负责管理总线架构和通常的处理,存储器603可以存储处理器601在执行操作时所使用的数据。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述HLS流媒体数据的处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

Claims (10)

1.一种HLS流媒体数据的处理方法,其特征在于,包括:
接收客户端发送的第一数据访问请求,所述第一数据访问请求包括待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间;
若确定本地未缓存所述目标HLS流媒体数据,则根据预设方式对所述第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的至少一个子长度区间;
根据每个所述子长度区间从中心节点服务器获取对应的多个HLS分片中的HLS流媒体数据,将每个所述子长度区间所对应的HLS流媒体数据确定为所述HLS聚合分片;其中,每个所述HLS分片的第二长度小于所述第一长度;
从所述HLS聚合分片中获取所述目标HLS流媒体数据,将获取的所述目标HLS流媒体数据发送给所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述根据预设方式对所述第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的至少一个子长度区间,包括:
确定与所述第一长度区间的第一起始字节偏移位置对齐的第二起始字节偏移位置;其中,所述第二起始字节偏移位置不超过所述第一起始字节偏移位置;
确定与所述第一长度区间的第一截止字节偏移位置对齐的第二截止字节偏移位置;其中,所述第一截止字节偏移位置不超过所述第二截止字节偏移位置;
根据所述第一长度,对所述第二起始字节偏移位置与所述第二截止字节偏移位置构成的第二长度区间进行划分处理,得到至少一个所述子长度区间。
3.根据权利要求2所述的方法,其特征在于,所述从所述HLS聚合分片中获取所述目标HLS流媒体数据,包括:
从所述HLS聚合分片中查找所述第一起始字节偏移位置和所述第一截止字节偏移位置;
读取查找到的所述第一起始字节偏移位置至所述第一截止字节偏移位置之间的HLS流媒体数据;
将读取的所述HLS流媒体数据确定为所述目标HLS流媒体数据。
4.根据权利要求1所述的方法,其特征在于,所述将每个所述子长度区间所对应的多个HLS分片确定为HLS聚合分片之后,还包括:
将所述HLS聚合分片缓存至本地;
所述方法还包括:
确定缓存的每个HLS聚合分片的末次访问时间和/或访问频率;
若根据所述末次访问时间和/或访问频率确定相应的HLS聚合分片符合预设的老化处理条件,则对相应的HLS聚合分片进行老化处理。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若确定所述本地缓存有所述目标HLS流媒体数据,则将所述子长度区间与缓存的所述多媒体项目的各HLS聚合分片的第三长度区间进行匹配处理;
将匹配成功的第三长度区间所对应的HLS聚合分片确定为目标HLS聚合分片;
从所述目标HLS聚合分片中获取所述目标HLS流媒体数据。
6.根据权利要求1所述的方法,其特征在于,所述接收客户端发送的第一数据访问请求之前,还包括:
接收客户端发送的索引文件获取请求;
若确定本地未缓存所述索引文件获取请求对应的目标索引文件,则根据所述索引文件获取请求从所述中心节点服务器获取所述目标索引文件;
将所述目标索引文件发送给所述客户端,以使所述客户端根据所述目标索引文件确定所述第一长度区间,并根据所述第一长度区间发送所述第一数据访问请求。
7.一种HLS流媒体数据的处理装置,其特征在于,包括:
第一接收模块,用于接收客户端发送的第一数据访问请求,所述第一数据访问请求包括待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间;
对齐处理模块,用于若确定本地未缓存所述目标HLS流媒体数据,则根据预设方式对所述第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的至少一个子长度区间;
确定模块,用于根据每个所述子长度区间从中心节点服务器获取对应的多个HLS分片中的HLS流媒体数据,将每个所述子长度区间所对应的HLS流媒体数据确定为所述HLS聚合分片;其中,每个所述HLS分片的第二长度小于所述第一长度;
第一获取模块,用于从所述HLS聚合分片中获取所述目标HLS流媒体数据,将获取的所述目标HLS流媒体数据发送给所述客户端。
8.一种HLS流媒体数据的处理系统,其特征在于,所述系统包括:客户端、边缘节点服务器和中心节点服务器;
所述客户端,用于响应于用户的数据访问操作,向所述边缘节点服务器发送第一数据访问请求;其中,所述第一数据访问请求包括待访问的目标HLS流媒体数据在所属多媒体项目中的第一长度区间;以及,接收所述边缘节点服务器发送的所述目标HLS流媒体数据;
所述边缘节点服务器,用于接收所述客户端发送的所述第一数据访问请求;若确定本地未缓存所述目标HLS流媒体数据,则根据预设方式对所述第一长度区间进行对齐处理,得到与预设的HLS聚合分片的第一长度相对应的多个子长度区间;根据每个所述子长度区间分别向所述中心节点服务器发送第一回源请求;接收所述中心节点服务器发送的多个HLS分片中的HLS流媒体数据,并将每个所述子长度区间所对应的HLS流媒体数据确定为所述HLS聚合分片;其中,每个所述HLS分片的第二长度小于所述第一长度;从所述HLS聚合分片中获取所述目标HLS流媒体数据,将获取的所述目标HLS流媒体数据发送给所述客户端;
所述中心节点服务器,用于接收所述边缘节点服务器发送的所述第一回源请求,根据所述第一回源请求获取对应的多个HLS分片中的HLS流媒体数据并发送给所述边缘节点服务器。
9.一种HLS流媒体数据的处理设备,其特征在于,包括:
存储器,存储有计算机程序指令;
处理器,当所述计算机程序指令被所述处理器执行时实现如权利要求1至6中任一项所述的HLS流媒体数据的处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1至6中任一项所述的HLS流媒体数据的处理方法。
CN202110803093.1A 2021-07-15 2021-07-15 Hls流媒体数据的处理方法、装置及系统 Pending CN115623247A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110803093.1A CN115623247A (zh) 2021-07-15 2021-07-15 Hls流媒体数据的处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110803093.1A CN115623247A (zh) 2021-07-15 2021-07-15 Hls流媒体数据的处理方法、装置及系统

Publications (1)

Publication Number Publication Date
CN115623247A true CN115623247A (zh) 2023-01-17

Family

ID=84854711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110803093.1A Pending CN115623247A (zh) 2021-07-15 2021-07-15 Hls流媒体数据的处理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN115623247A (zh)

Similar Documents

Publication Publication Date Title
JP5592489B2 (ja) キャッシング情報のシステム及び方法
US9906595B2 (en) Content source discovery
US20140365451A1 (en) Method and system for cleaning up files on a device
CN103945259B (zh) 一种在线视频播放方法及装置
CN107197359B (zh) 视频文件缓存方法及装置
CN104657401A (zh) 一种web缓存的更新方法
US20120303905A1 (en) Method and apparatus for implementing cache
CN109657174B (zh) 用于更新数据的方法和装置
WO2017080428A1 (zh) 流媒体频道录制、回看方法、装置、服务器及存储介质
US20130219050A1 (en) Cloud service access apparatus, cloud service access method, and cloud service access system
US9386099B2 (en) Local caching device, system and method for providing content caching service
US20210400317A1 (en) Method for processing video-dragging data, and proxy server
CN107809684B (zh) 视频切片生成方法和装置、缓存服务器
CN105812831B (zh) 网络节目的录制方法、装置、系统以及播放方法、装置
CN106022161B (zh) 一种数据处理方法及装置
US9294529B1 (en) Reusing data in content files
CN112069386A (zh) 一种请求处理方法、装置、系统、终端及服务器
US8850504B2 (en) Method and system for comparing media assets
CN110020290B (zh) 网页资源缓存方法、装置、存储介质及电子装置
CN115623247A (zh) Hls流媒体数据的处理方法、装置及系统
CN103731478A (zh) 一种基于用户访问时间的内容发布方法及系统
CN112491939B (zh) 多媒体资源调度方法及系统
CA3124540A1 (en) Systems and methods for storing and delivering content assets
JP5104642B2 (ja) データ閲覧管理システム
CN111427914B (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