专利名称:一种基于模糊控制的p2p点播数据调度方法及系统的制作方法
技术领域:
本发明涉及计算机网络技术领域,更具体地,本发明涉及一种基于模糊控制的P2P点播数据调度方法及系统。
背景技术:
近年来,随着宽带通信和多媒体技术的迅猛发展,在线直播,视频点播,文件下载等各种互联网应用也应运而生,对传统的客户端/服务器(C/S)模式的服务系统提出了新的挑战,随着用户规模的增大,传统的客户端/服务器(C/S)模式的服务系统需要消耗更多的软硬件资源,已经不能满足大规模用户的需求,因此基于P2P的服务系统迅速发展并逐渐成为相对成熟的应用。
从功能上看,P2P系统一般主要有2类逻辑层构成1)覆盖网层(Overlay Layer),该层主要是描述P2P服务系统中节点之间如何组织,为进一步选择邻居节点和数据交互打下基础;2)数据调度层(Data Schedule Layer),该层主要负责邻居节点之间如何进行数据调度,满足节点正常服务需求的同时最大化节点服务能力,从而提高系统整体性能。目前,大多数传统的P2P系统中,节点进行数据调度时,仅仅考虑数据调度对于节点本身性能的影响,并没有考虑单个节点的数据调度对于系统整体的影响。然而由于系统中节点状态的异构性,系统中单个节点性能的提高与系统整体性能的提高不存在等价关系。这种仅考虑自身的数据调度系统会使得系统中部分有能力的节点由于没有数据而无法为其它节点提供服务,从而使得节点的上行带宽得不到有效的利用,进而增大了服务器的压力。
发明内容
本发明的目的在于,为克服现有技术的节点进行数据调度时,仅仅考虑数据调度对于节点本身性能的影响,并没有考虑单个节点的数据调度对于系统整体的影响,导致系统中部分有能力的节点由于没有数据而无法为其它节点提供服务,从而使得节点的上行带宽得不到有效的利用,进而增大了服务器的压力的问题,从而提供一种基于模糊控制的P2P点播数据调度方法及系统。为了实现上述问题,本发明提供一种基于模糊控制的P2P流媒体数据调度方法,该方法基于模糊控制策略处理P2P流媒体点播的数据调度,所述方法包含步骤1,调度周期开始,流媒体请求节点统计其当前运行模糊变量的值。步骤2,根据模糊控制策略处理模糊变量值得到模糊决策。步骤3,利用模糊决策计算该媒体请求节点的邻居节点的数据请求量,并发送数据请求。步骤4,如果所述邻居节点不能满足媒体请求节点的需求,则基于模糊决策启动对服务器的数据请求。其中,根据流媒体请求节点依据邻居节点缓冲区中缺少的数据块和提供所述数据块所需的上行带宽选取模糊变量。上述技术方案中,所述模糊变量包含流媒体请求节点当前的缓冲区中的数据量Rb、数据量的增量Λ Rb、固有的上行带宽Ua,当前上行带宽的利用量Uu和节点剩余上行带宽UL。所述模糊决策步骤为用于将模糊变量的值根据语言值模糊子集进行模糊化得到模糊值的步骤;用于将模糊值进行模糊推理,输出被控量模糊决策的步骤;用于对被控量决策反模糊化输出本轮调度的模糊决策的步骤。步骤3所述数据请求量采用如下公式计算Qe (n) = Qee (η-1) - n xfχ ( · ) ex
其中,其中,4( ·)为非线性函数,其输出用模糊决策来估计;Il1为控制比例系数,ei为误差信号,QEE(n-l)为流媒体请求节点上轮调度中向邻居节点的实际请求的流媒体信息的数据量,Qe(η)为流媒体请求节点在本轮向邻居节点的最大请求量。步骤4所述的数据请求量采用如下公式计算Qes (n) = n Ef Ε ( · ) eE ;其中,控制比例系数;fE( ·)为非线性函数,其值用模糊决策来估计;eE为上轮调度和本轮调度中流媒体请求节点数据请求与播放需求之差的最大值,并且eE > 0,称为误差信号;QKS(n)为流媒体请求节点向服务器请求的数据量。上述技术方案中,所述步骤3进一步包含如下子步骤根据媒体请求节点的数据请求信息与数据接收信息,计算误差信号;根据模糊规则计算对邻居节点的最大请求量。根据最大请求量向邻居节点分配数据请求。向邻居节点发送数据请求,并接收数据。所述步骤4进一步包含如下子步骤计算流媒体请求节点上轮调度周期向邻居节点请求的总数据量及本轮向邻居节点请求的总数据量。计算误差信号e。根据模糊规则产生该流媒体请求节点对服务器请求的输入量。节点根据上轮对服务器请求的信息计算本轮对服务器的请求量。发送数据请求,接收数据。其中,所述e计算公式如下θι = Qee-Qc其中,Qkk为流媒体请求节点上轮调度中的实际请求量;Q。为流媒体请求节点上轮调度中的实际接收量,ex为上轮调度中流媒体请求节点向其邻居节点请求的误差信号。基于上述方法,本发明还提供一种基于模糊控制的P2P流媒体数据调度系统,其特征在于,所述节点基于模糊控制策略处理P2P流媒体点播的数据调度,包含设置有基于模糊控制器生成流媒体请求量的若干节点;和设置有基于模糊控制器生成流媒体请求量的服务器。所述节点中的流媒体请求节点用于,调度周期开始时统计其当前运行模糊变量的值;根据模糊控制策略处理模糊变量值得到模糊决策;利用模糊决策计算该媒体请求节点的邻居节点的数据请求量,并发送数据请求。所述服务器用于如果所述节点不能满足媒体请求节点的需求,则基于模糊决策启动对服务器的数据请求,向流媒体请求服务器发送其需求的流媒体内容。本发明的优点在于,着重于描述节点选取何种状态信息进行模糊决策,以及如何将状态信息进行模糊化,并利用模糊规则产生模糊决策以及如何利用模糊决策来计算对邻居节点的数据请求,以跟踪邻居节点的可用上行带宽,从而 提高系统中节点整体的上行带宽利用,以及利用模糊决策决定节点当前是否应利用服务器完成数据调度,以降低服务器负载,提高服务器上行带宽利用效率。
图I为本发明的P2P流媒体数据调度的流程图;图2为本发明的节点对邻居节点数据请求的系统结构图;图3为本发明的节点对邻居节点数据请求流程图;图4为本发明的节点对服务器数据请求的系统结构图;图5为本发明的节点对服务器数据请求流程图。
具体实施例方式下面结合附图对本发明的内容做进一步解析。针对以上问题,本发明着重于描述节点选取何种状态信息进行模糊决策,以及如何将状态信息进行模糊化,并利用模糊规则产生模糊决策以及如何利用模糊决策来计算对邻居节点的数据请求,以跟踪邻居节点的可用上行带宽,从而提高系统中节点整体的上行带宽利用,以及利用模糊决策决定节点当前是否应利用服务器完成数据调度,以降低服务器负载,提高服务器上行带宽利用效率。数据调度的流程图参见图1,实现步骤如下步骤1,选取节点的状态变量作为模糊变量,并制定模糊变量的模糊化规则,以及模糊化后控制量状态和被控量状态的映射关系,称为模糊规则。步骤2,调度周期开始后,节点收集本节点当前的状态信息,并将状态信息模糊化,然后利用模糊规则产生模糊决策。步骤3,根据模糊决策,并利用本节点上轮调度中向邻居节点请求的信息,产生节点本轮调度可以向邻居节点请求的最大数据量,然后依据邻居节点缓冲区中的所拥有的数据向邻居节点分配数据请求。步骤4,根据节点本轮调度中向邻居节点的实际请求量及上轮调度中节点的数据接收量,以及模糊决策,节点产生本轮调度中向服务器请求量的输入量,节点根据上轮调度中对服务器的请求量,产生节点向服务器的请求量。步骤5,节点向邻居节点及服务器请求数据,并收到从邻居节点返回的数据,一轮数据调度完成,产生新的状态信息。(I)模糊变量的选取节点数据调度的目标是在保证播放质量的基础上,提高节点的上行带宽利用率,降低服务器负载,因此选取模糊变量是与保证节点的播放质量以及节点的上行带宽利用率的提高相关的变量。节点上行带宽的利用与两个因素有关,邻居节点缓冲区中缺少的数据和提供数据所需要的上行带宽,选取的变量与这两个因素有关。在节点中的数据方面,选取节点当前的缓冲区中的数据量Rb以及数据量的增量AIV节点上行带宽方面,选取节点固有的上行带宽Ua,当前上行带宽的利用量Uu和节点剩余上行带宽队中任意两个或者三个作为模糊变量。(2)模糊规则设计在设计模糊规则前需要将模糊变量进行模糊化。在进行模糊化时,需要确定模糊决策的精度。依据模糊决策的精度以及变量对节点数据调度影响的强度设计模糊化原则,也即输出的精度越高,则模糊化后产生的状态越多;变量对于系统性能的影响越大,则模糊化产生的状态越多。在确定了节点的状态数量之后,需要模糊变量根据各个状态组合实际的对系统的影响设置模糊决策。由于对邻居节点数据请求与对服务器数据请求的目标不同,设计不同的模糊规则表以适应不同的目标。(3)模糊决策的产生数据调度中,在一轮调度开始时,节点统计其缓冲区中当前的数据量Rb;并计算缓冲区中数据量的增量表示ARb ;节点的上行带宽总量Ua,为固定值;节点当前上行带宽利用量叫可以通过对节点发送的数据进行统计得到;节点剩余上行带宽队可以通过以上二值相减得到。得到这些信息后依据模糊化规则产生模糊状态,并由模糊状态依据模糊规则得到模糊决策。(4)对邻居节点的数据请求对邻居节点进行数据请求的控制系统框图如图2所示,流程图如图3所示。节点首先统计其上轮调度中对邻居节点数据请求Qkk的数据接收量Q。,并取误差% = Qee-Qc ;而在节点能够从邻居节点收到全部的数据请求时,邻居节点尚有剩余的上行带宽为本节点提供服务,但无法准确估计邻居节点尚有多少剩余带宽能为自己服务,采用误差估计步长-C来估计误差信号eI; C > O。节点在计算本轮调度向邻居节点最大数据请求量时,以上轮调度数据接收量Qkk为基础,采用模糊比例控制的方式实现,实现方程为Qk (η) =f\(·)=
;其中4(·)的变量为模糊变量,输出为模糊决策,H1为控制参数。节点在计算出对邻居节点的最大请求量时,节点在邻居节点最大请求量的范围内对需要请求的数据片在所有邻居节点间进行分配。分配后的节点向此邻居节点请求数据片的数量即为节点对邻居节点的实际请求量QKK。(5)对服务器数据请求对服务器进行数据请求的控制系统框图如图4所示,流程图如图5所示。节点在分配完向邻居节点的数据请求后,计算节点是否向服务器请求数据。在依据模糊状态判断节点需要向服务器请求数据时,节点需要判断需要向服务器请求多少数据,由
于向服务器请求数据的判断依据是节点上轮接收数据的量
权利要求
1.一种基于模糊控制的P2P流媒体数据调度方法,该方法基于模糊控制策略处理P2P网络中邻居节点之间对流媒体点播的数据调度,所述方法包含 步骤1,调度周期开始,流媒体请求节点统计其当前运行模糊变量的值; 步骤2,根据模糊控制策略处理模糊变量值得到模糊决策; 步骤3,利用模糊决策计算该媒体请求节点向邻居节点请求的数据量,并发送数据请求; 步骤4,如果所述邻居节点不能满足媒体请求节点的需求,则基于模糊决策启动对服务器的数据请求; 其中,所述流媒体请求节点依据该节点的缓冲区状态信息和上行带宽状态信息选取模糊变量。
2.根据权利要求I所述的基于模糊控制的P2P流媒体数据调度方法,其特征在于,所述模糊变量包含流媒体请求节点当前的缓冲区中的数据量成、数据量的增量ARb、固有的上行带宽UA,当前上行带宽的利用量Uu和节点剩余上行带宽UL。
3.根据权利要求I所述的基于模糊控制的P2P流媒体数据调度方法,其特征在于,所述模糊决策步骤为 用于将模糊变量的值根据语言值模糊子集进行模糊化得到模糊值的步骤; 用于将模糊值进行模糊推理,输出被控量模糊决策的步骤; 用于对被控量决策反模糊化输出本轮调度的模糊决策的步骤。
4.根据权利要求I或3所述的基于模糊控制的P2P流媒体数据调度方法,其特征在于,步骤3所述数据请求量采用如下公式计算 Qe (n) = Qee (η-1) - n J1 ( ·)巧其中,f\( ·)为非线性函数,其输出用模糊决策来估计;H1为控制比例系数;ei为上轮调度中流媒体请求节点向其邻居节点请求的误差信号;QKK(n-l)为流媒体请求节点上轮调度中向邻居节点的实际请求的流媒体信息的数据量;QK(n)为流媒体请求节点在本轮向邻居节点的最大请求量。
5.根据权利要求I所述的基于模糊控制的P2P流媒体数据调度方法,其特征在于,步骤4所述的数据请求量采用如下公式计算 Qrs (n) = nEfE( * )eE ; 其中,!^为控制比例系数;fE(·)为非线性函数,其值用模糊决策来估计;%为上轮调度和本轮调度中流媒体请求节点数据请求量与播放需求数据量之差的最大值,称为误差信号,Qks(η)为流媒体请求节点向服务器请求的数据量。
6.根据权利要求I所述的基于模糊控制的P2P流媒体数据调度方法,其特征在于,所述步骤3进一步包含如下子步骤 根据媒体请求节点的数据请求信息与数据接收信息,计算误差信号; 根据模糊规则计算对邻居节点的最大请求量; 根据最大请求量向邻居节点分配数据请求; 向邻居节点发送数据请求,并接收数据。
7.根据权利要求I所述的基于模糊控制的P2P流媒体数据调度方法,其特征在于,所述步骤4进一步包含如下子步骤计算流媒体请求节点上轮调度周期向邻居节点请求的总数据量及本轮向邻居节点请求的总数据量; 计算误差号e ; 根据模糊规则产生该流媒体请求节点对服务器请求的输入量; 节点根据上轮对服务器请求的信息计算本轮对服务器的请求量; 发送数据请求,接收数据。
其中,所述e计算公式如下eI 一 Qre-Qc 其中,Qee为流媒体请求节点上轮调度中的实际请求量;Q。为流媒体请求节点上轮调度中的实际接收量,ex为上轮调度中流媒体请求节点向其邻居节点请求的误差信号。
8.一种基于模糊控制的P2P流媒体数据调度系统,其特征在于,所述节点基于模糊控制策略处理P2P流媒体点播的数据调度,包含 设置有基于模糊控制器生成流媒体请求量的若干节点;和 为节点提供数据服务的服务器; 所述节点中的流媒体请求节点用于,调度周期开始时统计其当前运行模糊变量的值;根据模糊控制策略处理模糊变量值得到模糊决策;利用模糊决策计算该媒体请求节点的邻居节点的数据请求量,并发送数据请求; 所述服务器用于如果所述节点不能满足媒体请求节点的需求,则基于模糊决策启动对服务器的数据请求,向流媒体请求服务器发送其需求的流媒体内容。
9.根据权利要求8所述的基于模糊控制的P2P流媒体数据调度系统,其特征在于,所述流媒体请求节点向邻居节点的数据请求量采用如下公式计算Qe (n) = Qee (η-1) - n J1 ( ·)巧其中,fj ·)为非线性函数,其输出用模糊决策来估计;H1为控制比例系数,ex为误差信号,QEE(n-l)为流媒体请求节点上轮调度中向邻居节点的实际请求的流媒体信息的数据量,Qe(η)为流媒体请求节点在本轮向邻居节点的最大请求量。
10.根据权利要求8所述的基于模糊控制的P2P流媒体数据调度系统,其特征在于,所述的节点向服务器的数据请求量采用如下公式计算Qrs (n) = nEfE( * )eE ; 其中,!^为控制比例系数;fE(·)为非线性函数,其值用模糊决策来估计;%为上轮调度和本轮调度中流媒体请求节点数据请求与播放需求之差的最大值,并且eE > 0,称为误差信号,Qks(η)为刘媒体请求节点向服务器请求的数据量。
全文摘要
本发明涉及一种基于模糊控制的P2P流媒体数据调度方法,该方法基于模糊控制策略处理P2P流媒体点播的数据调度,所述方法包含步骤1,调度周期开始,流媒体请求节点统计其当前运行模糊变量的值;步骤2,根据模糊控制策略处理模糊变量值得到模糊决策;步骤3,利用模糊决策计算该媒体请求节点的邻居节点的数据请求量,并发送数据请求;步骤4,如果所述邻居节点不能满足媒体请求节点的需求,则基于模糊决策启动对服务器的数据请求;其中,根据流媒体请求节点依据邻居节点缓冲区中缺少的数据块和提供所述数据块所需的上行带宽选取模糊变量。本发明提高系统中节点整体的上行带宽利用,并降低服务器负载,提高服务器上行带宽利用效率。
文档编号H04L12/861GK102904832SQ201110211478
公开日2013年1月30日 申请日期2011年7月27日 优先权日2011年7月27日
发明者王劲林, 李晓林, 尤佳莉, 苏杭, 郑鹏飞 申请人:中国科学院声学研究所