发明名称 能使P2P流媒体系统中数据发布源快速切换的方法
摘要 一种能使P2P流媒体系统中数据发布源快速切换的方法,包括步骤:1、过程建模,通过对本质特性与关键参数的分析给数据源切换过程建立数学模型,从而将源切换问题形式化为一个数学优化问题,然后推导出此数学优化问题的最优解;2、环境分析,分析实际网络环境与理论模型之间的差异,调整最优解;3、数据调度,每个结点获取其邻居结点的数据可用性信息,从相应邻居结点获取数据分片;4、结束,当结点的源切换过程完成后,终止整个过程。本发明与现有技术相比,该方法是低开销与纯分布式的,每个结点独立地启动并执行该方法,并且执行所依赖的仅仅是本地信息;它能显著地加快源切换过程、减少源切换时间,并且对于规模越大的系统其优势越明显。
申请公布号 CN101321192B 申请公布日期 2010.12.15
申请号 CN200810122906.5 申请日期 2008.06.20
申请人 南京大学 发明人 陈贵海;李振华
分类号 H04L29/08(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 南京天翼专利代理有限责任公司 32112 代理人 汤志武;朱戈胜
主权项 1.一种能使P2P流媒体系统中数据发布源快速切换的方法,其特征是包括步骤:(1)过程建模,通过对本质特性与关键参数的分析给数据源切换过程建立数学模型,从而将源切换问题形式化为一个数学优化问题,然后推导出此数学优化问题的最优解;(2)环境分析,分析实际网络环境与理论模型之间的差异,调整最优解;(3)数据调度和获取,每个结点获取其邻居结点的数据可用性信息,从相应邻居结点获取数据分片;(4)结束,当结点的源切换过程完成后,终止整个过程;所述步骤(1)中,节点每当收集到来自旧发布源S<sub>1</sub>的Q个连续的数据分片时就播放S<sub>1</sub>,但是为启动新发布源S<sub>2</sub>的播放需要获取Q<sub>S</sub>个数据分片;在现有的P2P流媒体系统中,Q<sub>S</sub>通常要比Q大很多以保证S<sub>2</sub>的平滑启动;当前结点的总输入带宽I被分配到I<sub>1</sub>、I<sub>2</sub>两个部分,以分别获取来自S<sub>1</sub>、S<sub>2</sub>的数据分片;I<sub>1</sub>、I<sub>2</sub>由源切换算法动态分配;I<sub>1</sub>、I<sub>2</sub>是分配用来获取来自S<sub>1</sub>、S<sub>2</sub>的数据分片的输入带宽;则源切换问题可以被形式化成如下所示的数学优化问题:优化目标:最小化T<sub>2</sub>;限制条件:<img file="FSB00000244323900011.GIF" wi="210" he="439" />即得不等式:<img file="FSB00000244323900012.GIF" wi="353" he="121" />该式可改写为:<img file="FSB00000244323900013.GIF" wi="529" he="145" />——式1,式1的数学解为I<sub>1</sub>≥r<sub>1</sub>或I<sub>1</sub>≤r<sub>1</sub>′,其中<img file="FSB00000244323900014.GIF" wi="787" he="177" /><img file="FSB00000244323900015.GIF" wi="786" he="172" />而r<sub>1</sub>′<0,因此I<sub>1</sub>≥r<sub>1</sub>是式1的唯一合理解;为实现最小化T<sub>2</sub>的优化目标,应使I<sub>1</sub>=r<sub>1</sub>,I<sub>2</sub>=r<sub>2</sub>=I-r<sub>1</sub>,即是源切换问题的理论最优解;所述T<sub>1</sub>是获取到来自S<sub>1</sub>的所有数据分片的预期时间、T<sub>1</sub>′是完成S<sub>1</sub>播放的预期时间、T<sub>2</sub>是获取到来自S<sub>2</sub>的最初Q<sub>S</sub>个数据分片的预期时间、Q<sub>1</sub>是指来自S<sub>1</sub>的数据 分片还有Q<sub>1</sub>个尚未获取;上述参数的定义如下:S<sub>1</sub>:旧发布源;S<sub>2</sub>:新发布源;Q:每当收集到来自S<sub>1</sub>的Q个连续的数据分片时,就播放S<sub>1</sub>;Q<sub>1</sub>:来自S<sub>1</sub>的数据分片还有Q<sub>1</sub>个尚未获取;Q<sub>S</sub>:为启动S<sub>2</sub>的播放所需获取的数据分片总数;Q<sub>2</sub>:为启动S<sub>2</sub>的播放,还差Q<sub>2</sub>个数据分片尚未获取,初始时,Q<sub>2</sub>=Q<sub>S</sub>;P:每秒播放的数据分片数目;   当前结点的总输入带宽,I是以每秒的输入数据分片数目来衡量的,它是一I:  个常数;I<sub>1</sub>:分配用来获取来自S<sub>1</sub>的数据分片的输入带宽,I<sub>1</sub>是动态调整的;I<sub>2</sub>:分配用来获取来自S<sub>2</sub>的数据分片的输入带宽,I<sub>2</sub>是动态调整的;T<sub>1</sub>:获取到来自S<sub>1</sub>的所有数据分片的预期时间;T<sub>1</sub>′:完成S<sub>1</sub>播放的预期时间;T<sub>2</sub>:获取到来自S<sub>2</sub>的最初Q<sub>S</sub>个数据分片的预期时间,所述步骤(2)中调整最优解采用能趋近理论最优解的算法:设本地结点有n个邻居:N<sub>1</sub>、N<sub>2</sub>、N<sub>3</sub>、N<sub>4</sub>……Nn,各个邻居的输出带宽分别是o<sub>1</sub>、o<sub>2</sub>、o<sub>3</sub>、o<sub>4</sub>……On;O<sub>1</sub>是针对源S<sub>1</sub>的总输出带宽,O<sub>2</sub>是针对源S<sub>2</sub>的总输出带宽,所述数学优化问题可进一步归结为:优化目标:最小化T<sub>2</sub>;限制条件:<img file="FSB00000244323900021.GIF" wi="270" he="494" />所述理论最优解I<sub>1</sub>=r<sub>1</sub>、I<sub>2</sub>=r<sub>2</sub>仅 当r<sub>1</sub>≤O<sub>1</sub>、r<sub>2</sub>≤O<sub>2</sub>时才成立,因此,当r<sub>1</sub>>O<sub>1</sub>或r<sub>2</sub>>O<sub>2</sub>时,优化的目标为最大化本地结点的输入吞吐量,从而现实环境下的源切换问题的最优解是:情形1:当r<sub>1</sub>≤O<sub>1</sub>且r<sub>2</sub>≤O<sub>2</sub>时,I<sub>1</sub>=r<sub>1</sub>、I<sub>2</sub>=r<sub>2</sub>情形2:当r<sub>1</sub>≤O<sub>1</sub>且r<sub>2</sub>>O<sub>2</sub>时,I<sub>1</sub>=min(O<sub>1</sub>,I-O<sub>2</sub>)、I<sub>2</sub>=r<sub>2</sub>情形3:当r<sub>1</sub>>O<sub>1</sub>且r<sub>2</sub>≤O<sub>2</sub>时,I<sub>1</sub>=r<sub>1</sub>、I<sub>2</sub>=min(I-O<sub>1</sub>,O<sub>2</sub>)情形4:当r<sub>1</sub>>O<sub>1</sub>且r<sub>2</sub>>O<sub>2</sub>时,I<sub>1</sub>=O<sub>1</sub>、I<sub>2</sub>=O<sub>2</sub>,所述步骤(3)的数据调度和获取过程是所述O<sub>1</sub>和O<sub>2</sub>,从数据分片的微观角度来看,是两个集合O<sub>1</sub>和O<sub>2</sub>,其中|O<sub>1</sub>|=O<sub>1</sub>,|O<sub>2</sub>|=O<sub>2</sub>;集合O<sub>1</sub>和O<sub>2</sub>中的数据分片都按照获取优先权降序排列;先得出每个数据分片的获取优先权,再用快速源切换算法就能计算出集合O<sub>1</sub>和O<sub>2</sub>从而安排数据分片的获取过程,数据分片按优先权降序排列,设其排列形如D<sub>1</sub>,D<sub>2</sub>,…,D<sub>m</sub>,通常来自源S<sub>1</sub>和源S<sub>2</sub>的数据分片在这个序列中是交错排列的;对一个数据分片D<sub>i</sub>来说,可能有多个邻居能提供D<sub>i</sub>,试图尽早取得高优先权的数据分片的调度算法是,计算出集合O<sub>1</sub>和O<sub>2</sub>之后,I<sub>1</sub>和I<sub>2</sub>的计算按照所述的最优解的4种情形之一来计算,得出I<sub>1</sub>和I<sub>2</sub>后,获取O<sub>1</sub>和O<sub>2</sub>中的前I<sub>1</sub>和I<sub>2</sub>个数据分片。
地址 210093 江苏省南京市鼓楼区汉口路22号