校园视频点播服务中一种基于DHT节点组织的原型系统

2017-12-01 00:34范媛
电子设计工程 2017年22期
关键词:服务器中心节点

范媛

(中国石油大学(北京)信息技术中心,北京102249)

校园视频点播服务中一种基于DHT节点组织的原型系统

范媛

(中国石油大学(北京)信息技术中心,北京102249)

针对目前校园网内流媒体对等网络中节目资源的快速增长带来的查询效率降低的问题,提出了一种适用于流媒体的分布式散列方法,并且基于该方法建立提出了一种对等网络视频点播的原型系统,该系统通过对网络内的节点进行分层次的管理和组织,将底层节点和中心节点进行了一层隔离,不仅减少了随意节点对系统的扰动性,还可快速的对节点以及资源进行组织查询和定位,查询时间可通过二分查询控制在log2N的时间复杂度内,使流媒体服务质量得到了保障和提升。

校园网;多媒体原型系统;对等网络;流媒体;散列算法

伴随着网络的普及以及多媒体技术的迅速发展,视频点播系统在校园网内得到了广泛的利用,越来越多的视频课程被上传至校园网上,点播数量不断攀升[1]。传统的基于视频服务器的集中式视频点播系统虽然具有较为便捷的部署管理方式,但是随着客户数量的增加,服务器的负载也会越来越大,系统的服务质量无法得到有效保证,用户体验会越来越差[2-3]。

近年来,对等网络(Peer to peer,P2P)的出现使得文件共享越来越方便快捷,由于对等网络有着非常好的扩展性以及自适应性,校园网内更多的视频服务也开始采用基于对等网络的点播系统[4]。相较于传统的基于中央视频服务器的点播系统,对等网络系统是一个负载均衡的系统,所有的客户节点都有机会充当服务器的角色,客户数量的增加不会引起系统服务质量的降低,相反,会让视频服务质量更有保障[5-6]。

在对等网络中,节点如何进行组织和管理是一道难题,多种节点组织方式被运用在对等网络中。其中,由于分布式散列表(Distributed Hash Table,DHT)在组织节点的同时可提供一定程度的检索功能,目前已被广泛运用于P2P网络中[7-8],然而随着网络规模的增大,通过DHT进行查询和定位的成本将会越来越高,极大地制约了检索效率[9]。

文中构建了一种采用DHT算法来进行资源和节点信息管理的流媒体点播系统MDS(Multimedia DHT based streaming System),有效地降低了数据查询和节点定位的成本,提高了流媒体系统的响应。

1 MDS系统的组建

MDS系统是由多个MDS节点群构成的层次式流媒体系统。

每个MDS节点群均由若干个具有相似资源的节点构成,节点群中的节点根据在线时长以及网络状况被系统区分为两种类型的节点:普通节点和中心节点。

1.1 MDS系统中的角色定义

节点群:由若干个具有相同特性的节点构成,这些节点拥有相近的网段、节点之间具有比较高效的数据传输效率、拥有一些类似的节目资源等。由于节点群中所有节点具有相似性,节点群中节点大部分的资源查询以及数据传输都可以在节点群中完成。

中心节点:根据一些评判标准,例如节点的在线时长、节点的网络状况等,遴选出节点群中比较稳定的几个节点作为中心节点,用来充当局部查询服务器的角色,并将节点群中的节点组织起来,而其余节点称为普通节点。

流媒体服务器:提供整个系统内部分的流媒体数据服务以及整个系统中的节点注册服务,向新加入的节点返回最优的节点群信息,对节点群中的中心节点进行资源调度。

1.2 节点的组织

在流媒体系统中,节点的加入和离开会带来系统的扰动,为了避免这样的扰动所引起的网络广播,降低系统和节点信息的不可靠性,MDS系统会在相似的节点中挑选出一些中心节点,并通过分布式散列表DHT将这些中心节点组织在一起,由中心节点对新加入的节点以及节点的离开进行管理,然后通过更适用于流媒体查询的DHT计算方法,将节点群中的普通节点组织在一起,向普通节点提供流媒体资源的查询服务,从而避免了散列表的频繁更新带来的查询效率下降、等问题[10]。

普通节点只需要保留中心节点的信息,在查询时通过中心节点进行查询,既有效地降低了流媒体服务器的负担,又由于被遴选出的中心节点具有比较高的稳定性,从而能够保证查询效率不会受到影响。

另外,通过DHT算法也能够将中心节点自身有效地组织在一起,并维护一份局部的中心节点散列表,用于向其他中心节点转发查询请求。MDS系统结构如图1所示。

1.3 流媒体散列算法

一般的DHT算法都是将节点的特征做一个散列运算来避免系统中的散列冲突[11]。然而,在基于对等网络的流媒体点播系统中,由于对流媒体资源有时限性以及顺序性的要求,查询资源时需要做到查询结果能够快速返回,资源结果能够进行快速定位[12]。

针对流媒体系统时限性的特性,我们在设计散列算法时将用户流媒体资源的标识符tvID,流媒体的起始时间startTime,系统当前时间curTime,IP地址这4个向量作为散列函数的参数,来提高查询的准确性。

普通节点和中心节点的查询侧重点不同:普通节点的查询更多的倾向于同一节点群中同一流媒体资源在时间上的查询,并且由于视频资源的特性,这种查询具有时序性,用户只会查询后续的媒体资源;而中心节点的查询更多的是针对流媒体节目源以及节目源所拥有的资源时序片段,因此,针对这两种查询方式的不同要求,我们对这四个向量采用了不同的组合来实现查询结果的优化。

这4个向量计算出的散列值,可以在节点查询时通过散列表进行二分查找,在时间复杂度log2N下就可以快速查询到资源信息。

1.4 节点群的散列组织

节点群里的所有节点具有相同的节目资源,并且通过散列算法经由中心节点组织在一起,如表1所示。为了提高系统响应以及资源查询效率,每个节点自身需要从中心节点获取一部分最邻近节点的节点信息作为一个查询缓存池,节点会周期性的和中心节点进行通信,来更新这个邻近节点信息表。

表1 普通节点散列函数

通过节点群自身的节点信息表,可以快速的查询资源信息,并且能够优先选择同网段节点,以及从多个邻近节点进行分段、并行传输流媒体资源。如果在节点群自身的节点信息表中对所需资源无法查询到结果,那么节点可将查询信息提交到中心节点,由中心节点向其他节点群或流媒体服务器进行查询转发。

1.5 中心节点的散列组织

不同于普通节点,由于中心节点需要频繁的与流媒体服务器进行节点组织信息以及查询信息的交换,所以中心节点在选取时需要更多的考虑节点的网络稳定性,也就是节点的在线时长以及网络状态。

类似于普通节点的组织,中心节点也可以通过散列表组织在一起,如表2所示。流媒体服务器在为新加入节点分配中心节点时,会优先考虑节点所需资源在时间以及网段上更接近的,也就是endTime、startTime、IP Address更符合节点要求的中心节点。

表2 中心节点散列函数

每个中心节点也会保存一部分系统中其他中心节点的信息表,当节点群内普通节点的查询需求无法获得满足时,中心节点需要将查询请求转发到网络中的其他中心节点或者流媒体服务器进行查询。

1.6 流媒体服务器

在MDS系统中,流媒体服务器需要承担下列工作:

1)数据传输:响应不同的客户请求,传输相应的流媒体数据;

2)新节点注册:当有新的节点加入到系统中,作为系统内的调度者,需要将新加入节点注册到最匹配的中心节点,加入到相应的节点群;

3)节点调配:当节点需要改变点播节目,此时需要向流媒体服务器发出点播变更需求以进行中心节点切换,流媒体服务器需要根据当前的点播需求,提供出符合条件的中心节点信息。

2 MDS原型系统

如上所述的MDS节点组织结构,我们设计出了MDS原型系统,如图2所示为MDS原型系统框架。

图2 MDS原型系统框架

2.1 数据模块

数据模块主要功能如下:

向流媒体服务器发起加入MDS系统的请求,接收从流媒体服务器返回的中心节点信息,并将中心节点信息反馈给管理模块。

2.2 数据缓存区

用于流媒体数据的交换,可作为客户端接收、保存从其他节点发来的流媒体数据,也可作为服务节点将保存的流媒体数据发送给其他节点;

2.3 管理模块

管理模块主要负责数据的传输整合以及与中心节点的通讯。

1)向中心节点提交数据请求,根据中心节点返回的数据节点信息,向多个数据节点发起请求,建立数据模块和数据节点之间的联系;

2)和中心节点周期性的进行通信,维持自身的节点信息资源表;

3)负责将接收的流媒体信息进行整合、播放;

2.4 流媒体服务器

流媒体服务器主要实现下列功能:

管理新加入节点的注册信息;对系统中的中心节点信息进行维护;接收中心节点的查询请求;对流媒体服务请求进行应答以及流媒体数据传输。

3 流媒体数据点播流程

3.1 节点的注册

新节点加入系统步骤如下:

1)新节点数据模块向流媒体服务器提交数据请求;

2)流媒体服务器向数据模块返回中心节点信息;

3)管理模块与中心节点进行通讯,向中心节点进行注册;

4)中心节点返回与新节点匹配的部分节点信息表,完成新节点注册。

3.2 数据的查询与传输

MDS系统中数据的查询与传输步骤如下:

1)管理模块定期与中心节点进行通讯,对自身保存的节点信息进行更新;

2)节点通过自身的节点信息表进行数据查询,如果无所需信息,将查询请求提交给中心节点,等待返回;

3)对返回的查询结果中的节点信息进行计算,根据不同的节点信息发起数据传输请求;

4)节点与流媒体服务器以及其他节点建立传输连接,接收数据,并进行数据整合,完成数据传输;

5)普通节点将自身拥有的资源信息更新到中心节点;

6)节点响应其他节点的数据请求,发起数据传输。

3.3 中心节点的遴选和建立

当有两个或两个以上节点时,可以设立中心节点:

1)在具有相似节目资源的节点中,由流媒体服务器对所有节点计算节点能力值,并挑选出能力值最大的节点。能力值的计算可根据节点的在线时长,网络带宽进行加权计算;

2)对所有参与能力值计算的节点进行中心节点更换通知;

3)节点在中心节点进行注册。

3.4 中心节点的更换

当中心节点退出时,或者中心节点由于网络带宽下降导致能力值降低时,需要进行中心节点的更换,步骤如下:

1)流媒体服务器对原节点群中的所有节点暂时接管;

2)流媒体服务器将所有临时接管的节点进行节点群的重新分配,将符合条件的节点加入到已有的节点群中;

3)对剩余的节点重新进行中心节点的遴选,挑选出新的中心节点;

4)将新遴选出的中心节点信息向剩余节点进行广播;

5)完成剩余节点在新中心节点的注册。

4 结束语

MDS系统通过基于DHT算法的节点群与中心节点的组织,有效的利用了校园网内流媒体客户端的空闲资源,较好地缓解了流媒体服务器的压力,其系统构架具有以下特点:

稳定性:通过节点群的组织方式,做到了将节点注册系统和退出系统时的随意性进行了比较好的隔离,避免了单个节点对整个系统的扰动,使得节点信息的可靠性得到了显著的提升,对于整个流媒体系统来说,其稳定性也得到了充分的保障;

可靠性:所有普通节点都通过中心节点联系在一起,当中心节点退出时,流媒体服务器会暂时进行接管,并挑选出下一个中心节点或对节点群进行分拆合并,保证了系统不会受到中心节点退出的影响;

高效性:通过针对于流媒体数据查询设计的分布式散列算法,提高了系统中数据查询操作的效率,节点的查询请求可以在log2N的时间内获得快速响应;

可扩展性:MDS系统的这种分布式散列的节点组织方式不仅可以适用于流媒体系统,对于文件共享系统只要选取好相应的散列函数算法,依然可以适用。

综上所述,MDS系统解决了流媒体系统中组织和查询这两个主要问题。然而,仍然有多个问题需要进行更深入、细致的研究,例如:如何合理的采用激励机制,让整个系统的传输效率得到进一步的提升,更充分的将用户的闲置资源利用起来[13-14];如何保护版权数据,避免用户在流媒体数据信息未经版权方授权的情况下,将数据资源进行保存等[15-16]。

[1]沈时军,李三立.基于P2P的视频点播系统综述[J].计算机学报,2010(4):613-624.

[2]秦丰林,刘琚.P2P网络流媒体关键技术[J].电子学报,2011(4):919-927.

[3]闵二龙,陈震,许宏峰,等.内容中心网络CCN研究进展探析[J].信息网络安全,2012(2):6-10.

[4]李清霞,魏文红.基于GCNET协议的校园网P2P流媒体直播系统[J].计算机工程与设计,2013(5):1757-1761.

[5]张明军,彭娅,俞文静.P2P流媒体服务方案及其关键技术研究[J].计算机工程,2013(1):125-130.

[6]宋俊平,张棪,周旭,等.基于SVC的P2P流媒体系统研究综述[J].计算机应用研究,2013(4):965-970.

[7]王昱华,江林,胡志刚,等.基于DHT的P2P系统负载均衡算法[J].计算机工程与应用,2015(23):100-105.

[8]黄志敏,曾学文,陈君.一种基于Kademlia的全分布式爬虫集群方法[J].计算机科学,2014(3):124-128.

[9]李璞,陈世平,李剑锋.一种基于对等网络的云资源定位算法[J].计算机应用研究,2013(2):570-573.

[10]王慧,王铮.基于新路由表的双向搜索chord路由算法[J].计算机工程与应用,2014(23):95-99.

[11]吴吉义.基于DHT的开放对等云存储服务系统研究[D].杭州:浙江大学,2011.

[12]马勇,王松,李玉卿,等.基于P2P的语义检索系统设计[J].计算机工程与科学,2010(1):141-145.

[13]虞歌,颜婷.一种改进的基于等级的P2P流媒体激励机制[J].微电子学与计算机,2011(1):169-172.

[14]王涛春,罗永龙,左开中,等.P2P网络中基于权重的动态信任模型[J].计算机应用研究,2011(1):300-303.

[15]史元春,徐光祐,高原,等.中国多媒体技术研究[J].中国图象图形学报,2011(7):1127-1133.

[16]缪一心,杨明.基于数字水印的点对点流媒体内容保护[J].计算机工程,2011(9):165-170.

A prototype system based on DHT node organization in campus video on demand service

FAN Yuan
(Information Technology Center,China University of Petroleum⁃Beijing,Beijing102249,China)

Aiming at the fast growth of media resource and the decrease of query efficiency in peer⁃topeer network,a distributed hash method built to streaming media is proposed.Based on this method,this system organizes nodes in layers,which not only reduces the perturbation of the random nodes to the system,but also quickens the speed of the system.The query time should be controlled by the binary in the log2Ntime complexity.The streaming media quality of service will be protected and enhanced.

campus network;multimedia system;peer to peer network;streaming media;DHT

TN919.85

A

1674-6236(2017)22-0186-04

2016-11-14稿件编号:201611110

范媛(1980—),女,河北南和人,硕士,工程师。研究方向:高校办公自动化,校园网系统建设。

猜你喜欢
服务器中心节点
剪掉和中心无关的
CM节点控制在船舶上的应用
在打造“两个中心”中彰显统战担当作为
Analysis of the characteristics of electronic equipment usage distance for common users
基于AutoCAD的门窗节点图快速构建
通信控制服务器(CCS)维护终端的设计与实现
别让托养中心成“死亡中心”
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御