一种p2p流媒体文件定位与节点选择的系统及其方法
【技术领域】
1.本发明涉及网络传输领域,尤其是一种p2p流媒体文件定位与节点选择的系统及其方法。
背景技术:2.近年来,随着网络带宽的逐步扩大,多媒体行业的蓬勃发展,短视频和直播等业务场景的逐渐增多,视频数据的网络数据量也不断的增加。那么对于这些视频数据的提供商和运营商来说,如何降低因视频数据而产生的巨额的网络带宽费用就尤其重要,大部分的视频网站都会采用p2p分布式网络传输技术来降低带宽费用,增加服务器并发量。p2p分布式网络传输结构改变了传统流媒体传输播放方式-client/server集中式网络模式,充分利用了客户端之间的闲置存储资源,平衡了流媒体网络媒体服务器的负载,增加了所支持客户数目、实时性和整个流媒体直播或点播传输网络负载均衡性。
3.同时,由于流媒体服务实时性强,在p2p流媒体系统中,新加入的客户在覆盖网络中以p2p的文件查找,找到可提供所需媒体内容的节点并建立连接,接受或者提供媒体内容。在p2p网络结构中,常用的文件定位方式是通过分布式哈希表来实现,每个文件经过哈希运算之后得到一个唯一标识符,每个节点也对应一个标识符,文件存储到与其标识符相近的节点中。当需要查找文件时,首先哈希运算文件名得到该文件的标识符,通过不同的路由算法找到存放该文件的节点。节点选择根据需求有不同的策略,若希望服务延迟小,可以选择邻近节点建立关系,比如选择同一个局域网节点;若要高质量服务则可提供高带宽、cpu 能力强,网络运营商相同的节点;若要较高稳定的服务,应选择相对稳定的节点,比如长时间在线,不会频繁切换节目或者退出系统的节点。
4.虽然在现有p2p流媒体系统中查找相同文件的节点方法快速有效,但是也存在以下固有的技术问题:
5.(1)、由于文件分布在各个节点之上,不能反映媒体文件的热门度,导致负载不均衡;
6.(2)、文件存储策略不固定,无法统一节点与文件的关系;
7.(3)、文件查找不能提供关键字搜索,无法完成复杂查询,找到适合的节点;
8.(4)、无法扩展直播流媒体服务,只适用于点播系统;
9.(5)、直播系统中的节点虽然建立连接,但是存在不能分享数据的可能。
10.由于以上原因,迫切需要对现有p2p流媒体系统中查找文件模式进行改进,以适应文件的查询、直播和数据分享。
技术实现要素:11.本发明提供一种能够快速定位流媒体文件,并提供优质的节点来提供流媒体数据,从而提升系统节点分享率和减少服务器网络带宽的p2p流媒体文件定位与节点选择的系统及其方法。
12.为达到上述明目的,采用的技术方案如下:
13.一种p2p流媒体文件定位与节点选择的系统,包括节目源服务器、内容管理系统、sp服务器集群、ts服务器、redis服务器和客户端,其中,
14.内容管理系统,用于完成统一节目下发,并产生流媒体文件的唯一标识;
15.节目源服务器,用于将自身存储的原始流媒体资源的特征信息发送给sp服务器集群;
16.sp服务器集群,用于向节目源服务器发送请求、并接收下发的节目内容,以及接收内容管理系统下发的信息,同时将所有信息同步至ts服务器;
17.redis服务器,用于读取和存储ts服务器中相同文件的节点,并根据同一个节目分别通过国家、城市和运营商建立不同的集合;
18.ts服务器,用于接收流媒体文件节点携带的节目唯一标识,快速并唯一定位流媒体文件,并通过对该节目的四个集合求交集去重,快速得到相同流媒体文件的节点;且同时用于管理当前登录自身的各客户端的状态信息,并根据客户端的请求服务将系统当前所能提供的流媒体资源的特征信息显示给客户端;
19.所述sp服务器集群还通过redis服务器存储相同文件的节点,用于将同一个节目缓存的数据划分区域、以及分别存储不同区域的节点;且sp服务器集群同时用于接收客户端的流媒体节点查询请求服务,并根据客户端自身携带缓存数据的数据块位置、与流媒体数据缓存区间进行对比,找到播放流媒体数据相近的节点并返回,建立连接和分享数据至客户端。
20.优选地,该系统还包括ts-web后台服务器和ts-web前端,
21.ts-web后台,用于读取redis服务器存储的相同文件节点共享数据的频率,并根据ts服务器确定的流媒体文件节点携带的节目唯一标识、来对节目活跃度进行统计,完成节目热门统计后、将给出的负载均衡方案上传至内容管理系统;
22.ts-web前端,用于向ts-web后台请求数据、并对下发的节目热门统计进行展现。
23.优选地,该系统还包括日志服务器后台和日志服务器前端,
24.日志服务器后台,用于接收sp服务器集群、ts服务器和客户端分别上传的日志;
25.日志服务器前端,用于网页查询日志服务器后台的日志数据、并将查询结果展现。
26.优选地,所述节目源服务器还用于完成节目源的点播和提供直播节目源。
27.一种p2p流媒体文件定位与节点选择的方法,包括以下步骤:
28.步骤s1,内容管理系统完成统一节目下发,并产生流媒体文件的唯一标识;
29.步骤s2,节目源服务器完成节目源的点播和提供直播节目源,同时将自身存储的原始流媒体资源的特征信息发送给sp服务器集群;
30.步骤s3,sp服务器集群向节目源服务器发送请求,接收下发的节目内容,以及接收内容管理系统下发的信息,同时将所有信息同步至ts服务器;
31.步骤s4,redis服务器读取和存储ts服务器中相同文件的节点,完成文件定位的三级查找方案;
32.步骤s5,sp服务器集群通过redis服务器存储相同文件的节点,完成数据缓存的节点选择方案;
33.步骤s6,ts-web后台读取redis服务器存储的相同文件节点共享数据的频率,并根
据ts服务器确定的流媒体文件节点携带的节目唯一标识、来对节目活跃度进行统计,完成节目热门统计后、将给出的负载均衡方案上传至内容管理系统。
34.进一步地,所述步骤s4中还包括:
35.redis服务器读取和存储ts服务器中相同文件的节点,并根据同一个节目分别通过国家、城市和运营商建立不同的集合;
36.流媒体文件节点携带的节目唯一标识至ts服务器,ts服务器快速并唯一定位流媒体文件,并通过对该节目的四个集合求交集去重,快速得到相同流媒体文件的节点。
37.进一步地,所述步骤s5中还包括:
38.通过三级查找策略,找到拥有相同流媒体文件的节点并且建立连接,而数据缓存节点选择则是找到可分享的优质节点,即找到可分享数据的节点;
39.接着,通过redis服务器存储相同文件的节点,sp服务器集群将同一个节目缓存的数据划分区域、以及分别存储不同区域的节点;
40.然后,客户端在请求流媒体节点查询服务的时候,客户端自身携带缓存数据的数据块位置,sp服务器集群将流媒体数据缓存区间进行对比,找到播放流媒体数据相近的节点、并返回,建立连接和分享数据至客户端。
41.进一步地,所述步骤s6中还包括:ts-web前端向ts-web后台请求数据,并对下发的节目热门统计进行展现。
42.进一步地,所述步骤s6中还包括:
43.日志服务器后台接收sp服务器集群、ts服务器和客户端分别上传的日志,日志服务器前端网页查询日志服务器后台的日志数据、并将查询结果展现。
44.本发明的优点:
45.本发明中,由于内容管理系统完成统一节目下发,并产生流媒体文件的唯一标识;以及redis服务器读取和存储ts服务器中相同文件的节点,完成文件定位的三级查找方案;同时sp服务器集群通过redis服务器存储相同文件的节点,完成数据缓存的节点选择方案。使得本发明具有以下效果:
46.1.快速的流媒体文件定位,流媒体文件、直播流存储与服务端,动态扩展了点播和直播服务,减少了对节点存盘的需求,优化了节点文件存储方案;
47.2.流媒体文件由内容管理系统cms统一发布,文件管理统一、文件哈希唯一,节点通过唯一的哈希值可快速定位需求的流媒体数据,没有复杂的模糊匹配;
48.3.实现节目活跃度统计和负载均衡,后台服务器统计受欢迎的节目,从而动态调整内容管理系统cms的节目发布策略,负载均衡,提升服务器的稳定性;
49.4.优质节点选择,通过增加三级查找方案,过滤国家、城市、运营商相近的节点发下,增加节点nat能力;
50.5.分享率提升,节点缓存流媒体数据的定位,提升系统数据分享能力,降低了服务网络带宽。
51.【附图说明】
52.图1为本发明的系统架构图。
【具体实施方式】
53.下面通过具体实例对本发明的内容作进一步的说明。
54.第一方面:一种p2p流媒体文件定位与节点选择的系统,如图1所示,包括节目源服务器1、内容管理系统cms2、sp服务器集群3、ts服务器4、redis 服务器5、客户端6、ts-web后台服务器7、ts-web前端8、日志服务器后台 9和日志服务器前端10,其中,
55.内容管理系统cms2,用于完成统一节目下发,并产生流媒体文件的唯一标识。
56.节目源服务器1,用于将自身,例如cdn/中继/第三方平台,存储的原始流媒体资源的特征信息、发送给sp服务器集群3;同时,用于完成节目源的点播和提供直播节目源。
57.sp服务器集群3,用于向节目源服务器1发送请求、并接收下发的节目内容,以及接收内容管理系统下发的信息,同时将所有信息同步至ts服务器4。
58.redis服务器5,用于读取和存储ts服务器4中相同文件的节点,并根据同一个节目分别通过国家、城市和运营商建立不同的集合。
59.ts服务器4,用于接收流媒体文件节点携带的节目唯一标识,快速并唯一定位流媒体文件,并通过对该节目的四个集合求交集去重,快速得到相同流媒体文件的节点;且同时用于管理当前登录自身的各客户端6的状态信息,并根据客户端6的请求服务将系统当前所能提供的流媒体资源的特征信息显示给客户端 6。
60.sp服务器集群3还通过redis服务器5存储相同文件的节点,用于将同一个节目缓存的数据划分区域、以及分别存储不同区域的节点;且sp服务器集群 3同时用于接收客户端6的流媒体节点查询请求服务,并根据客户端6自身携带缓存数据的数据块位置、与流媒体数据缓存区间进行对比,找到播放流媒体数据相近的节点并返回,建立连接和分享数据至客户端6。
61.ts-web后台,用于读取redis服务器5存储的相同文件节点共享数据的频率,并根据ts服务器4确定的流媒体文件节点携带的节目唯一标识、来对节目活跃度进行统计,完成节目热门统计后、将给出的负载均衡方案上传至内容管理系统cms2。
62.ts-web前端8,用于向ts-web后台请求数据、并对下发的节目热门统计进行展现。
63.日志服务器后台9,用于接收sp服务器集群3、ts服务器4和客户端6分别上传的日志;日志服务器前端10,用于网页查询日志服务器后台9的日志数据、并将查询结果展现。
64.第二方面,一种p2p流媒体文件定位与节点选择方法,如图1所示,包括以下步骤:
65.步骤s1,内容管理系统cms2完成统一节目下发,并产生流媒体文件的唯一标识;
66.步骤s2,节目源服务器1完成节目源的点播和提供直播节目源,同时将自身,例如cdn/中继/第三方平台,存储的原始流媒体资源的特征信息、发送给 sp服务器集群3;
67.步骤s3,sp服务器集群3向节目源服务器1发送请求,接收下发的节目内容,以及接收内容管理系统下发的信息,同时将所有信息同步至ts服务器4;
68.步骤s4,redis服务器5读取和存储ts服务器4中相同文件的节点,完成文件定位的三级查找方案;具体为:
69.redis服务器5读取和存储ts服务器4中相同文件的节点,并根据同一个节目分别通过国家、城市和运营商建立不同的集合;
70.比如一个中国、北京、移动运行商节点,请求了tv4063@720这个节目,存储结构如下:
[0071][0072][0073]
流媒体文件节点携带的节目唯一标识至ts服务器4,ts服务器4快速并唯一定位流媒体文件,并通过对该节目的四个集合求交集去重,快速得到相同流媒体文件的节点。
[0074]
步骤s5,sp服务器集群3通过redis服务器5存储相同文件的节点,完成数据缓存的节点选择方案;具体为:
[0075]
通过三级查找策略,找到拥有相同流媒体文件的节点并且建立连接,而数据缓存节点选择则是找到可分享的优质节点,即找到可分享数据的节点;
[0076]
接着,通过redis服务器5存储相同文件的节点,sp服务器集群3将同一个节目缓存的数据划分区域、以及分别存储不同区域的节点;比如一个节目服务器缓存了30m的流媒体数据,则将30m流媒体数据划分为6个区域,0-5m位置为区域一,5-10m位置为区域二,10-15m位置为区域三,15-20位置为区域四,20-25m位置为区域五,25-30m位置为区域六;
[0077]
区间划分描述2116385d3eebaf88311533420987408b:10-5m区间一存储的所有节点2116385d3eebaf88311533420987408b:25-10m区间二存储的所有节点2116385d3eebaf88311533420987408b:310-15m区间三存储的所有节点2116385d3eebaf88311533420987408b:415-20m区间四存储的所有节点2116385d3eebaf88311533420987408b:520-25m区间五存储的所有节点2116385d3eebaf88311533420987408b:625-30m区间六存储的所有节点
[0078]
然后,客户端6在请求流媒体节点查询服务的时候,客户端6自身携带缓存数据的数据块位置,sp服务器集群3将流媒体数据缓存区间进行对比,找到播放流媒体数据相近的节点、并返回,建立连接和分享数据至客户端6。
[0079]
步骤s6,ts-web后台读取redis服务器5存储的相同文件节点共享数据的频率,并根据ts服务器4确定的流媒体文件节点携带的节目唯一标识、来对节目活跃度进行统计,完成节目热门统计后、将给出的负载均衡方案上传至内容管理系统cms2;同时,ts-web前端8向ts-web后台请求数据,并对下发的节目热门统计进行展现。
[0080]
以及,日志服务器后台9接收sp服务器集群3、ts服务器4和客户端6分别上传的日
志,日志服务器前端10网页查询日志服务器后台9的日志数据、并将查询结果展现。
[0081]
由于内容管理系统完成统一节目下发,并产生流媒体文件的唯一标识;以及 redis服务器5读取和存储ts服务器4中相同文件的节点,完成文件定位的三级查找方案;同时sp服务器集群3通过redis服务器5存储相同文件的节点,完成数据缓存的节点选择方案;所以,可以实现节目活跃度统计和负载均衡,后台服务器统计受欢迎的节目,从而动态调整内容管理系统cms2的节目发布策略,负载均衡,提升服务器的稳定性;便于优质节点选择,通过增加三级查找方案,过滤国家、城市、运营商相近的节点发下,增加节点nat能力;以及提升分享率,节点缓存流媒体数据的定位,提升系统数据分享能力,降低了服务网络带宽。
[0082]
以上所述实施例只是为本发明的较佳实施例,并非以此限制本发明的实施范围,除了具体实施例中列举的情况外;凡依本发明之方法及原理所作的等效变化,均应涵盖于本发明的保护范围内。