专利名称:一种基于时间参数的副本等级衰减方法
技术领域:
本发明涉及信息网络技术领域,特别涉及一种应用于分布式系统中的基于时间参数的副本等级衰减方法。
背景技术:
在分布式系统中,数据被存储在系统中的不同节点上,为了加快用户访问速度和降低部分应用中,数据源服务器的负载压力,文件常常存在许多副本,并散布在网络中,便于用户在最近的节点处获取对应副本,降低数据传输延迟,避免网络拥塞,提高响应速度和服务质量。然而,在分布式系统中,每个节点的存储空间有限,系统无法满足数据无限制的生成副本,因此,需要对副本空间进行有效管理,通过一定规则来对不需要的数据进行优化。
结构化的P2P网络是指所有节点通过某种规则的、固定拓扑的方式进行组织。每个节点都有固定的节点度,表示所联系邻居的数目,每个邻居都被精心挑选,可以保证节点间的可路由和可査找。结构化P2P网络的显著特点是自组织性,在节点加入、失效等动态性的情况下,可以有效保持拓扑结构,保证网络的路由性能。该组织方式在分布式网络系统中得到了广泛的应用。
图1是结构化P2P网络中的副本放置示意图。如图1所示,在结构化P2P网络中,每个节点都通过某种哈希算法得到一个唯一ID值,同样,所有应用实体(如对象,object),也通过该哈希算法得到一个与节点Id在同一个数值空间的objectID值,同样也有一个唯一的放置节点,该放置节点就叫做该object的主节点,叫做homenode。对object的查找即对其home node的定位,该过程是通过查询发起节点的邻居节点作为中介而逐跳进行,直至找到目标或查找失败为止。
结构化P2P网络又成为分布式哈希表(简称DHT),以上的资源定位过程是一个普遍方法。在实际应用中,不同的拓扑结构被提出,也对应了不同的DHT算法。常用的有CAN, Chord, Kademlia, Pastry, Tapestry等。在DHT网络中,假设哈希值的ID空间为M个bit位的数值,从左到右,所有匹配大于等于/位数值的ID,称为在一个等级,即一个level。 一个object如果其level为/,表示路由/跳就可以找到该object。因此,需要在/跳覆盖之外的所有节点上进行备份。比如,以Pastry为路由协议,object的level为/则对应了一个楔形的节点区域,表示该区域的所有节点需要对object进行备份,若网络中节点总数为N,基数为b,则需要N/1^个节点进行备份。因此,如何计算每个object所对应的level值,则是副本放置的关键。而对/值进行合理的变化,则可对应文件副本数目的变化。
在分布式系统的存储空间不足时,常将最不常用(at least recently used)和最少用(atleastfrequetlyused)的文件删除,为其余待分发文件腾出空间。然而,文件的副本等级和文件流行度以及所上线时间有一定的相关性,如果不考虑这些因素,很有可能将有用的文件副本删除。
发明内容
为了解决上述问题,本发明的目的在于提供一种应用于分布式系统中的基于时间参数的副本等级衰减方法。该方法以文件上线时间作为参数,综合文件流行度信息,使文件副本等级随时间变化而衰减。该方法有利于分布式系统中的内容更新,避免不常用数据长时间占据分布式系统中的存储空间,使存储空间得到充分利用,方便更多的文件得到服务,提高对应系统的服务性能,并改善系统性能。
为了实现上述目的,本发明的一种基于时间参数的副本等级衰减方法中,假设文件/初始的副本等级为丄,所有与/的ID匹配L位的节点上都有一份/的副本。每个文件的主节点,即与其ID最近的节点,都会存储一个关于该文件的元数据,包括当前层数、衰减周期、衰减步长以及开始时间。而每个副本都带有一个表示生存期的数据结构,定时自我检测并计算剩余等级数,从而决定该节点所保持的副本是否需要删除。则在网络中,从文件加入到退出,整个衰减过程包括如下步骤,
1) 通过等级计算得到文件/的初始副本等级;
2) 通过某个管理节点计算文件/基于流行度的生存期,计算方法如下
a) 从管理节点或某个全局信息表中读取文件/的流行度信息/wp;
b) 通过对网络中所有文件流行度的统计,计算得到所有节点的平均流行度
C)通过下式计算总在线时间值tC:fc: pop / orve — pop x wf
3) 根据DHT路由算法找到当前文件的主节点;将文件以及对应副本等级等相关信息下载到本地;通过主节点的路由表找到与主节点的ID匹配丄位的所有节点,将文件复制到这些节点上,同时每个副本都带有一个表示生存期的数据结构,定时自我检测并计算剩余等级数,从而决定该节点所保持的副本是否需要删除;
4) 基于所述步骤2)计算所得的时间参数,从文件加入系统开始计算,每个存储了副本的节点周期性的检测当前文件剩余副本等级,任意时间t时的副本等级为
这里,t表示当前数据的在线时间,并以ut递增,即每过ut时间计算并更新一
次,
当t-0时,R(t)=L,表示刚刚在线时的等级数;当t^tc时,R(t)=M,表示生存期结束时没有副本的情况;
5) 如果L'〉L,则每个保存副本的节点自我检查,看节点ID和文件f的ID是否匹配L位但不足L'位,如果是,则删除该节点上的副本和文件对应信息,并发消息通知文件/的主节点,从而实现文件副本等级的衰减。
其中,所述步骤l)的等级计算中,所述初始副本等级可以通过下述任何一个方
法得到
1) 在一定延迟或者带宽占用的条件下,通过全局最优化或者局部优化的方法计
算得到网络中所有文件的副本等级;
2) 预先设定的副本等级。
另外,在所述步骤2)的文件生存期的计算中,平均流行度"vej叩的计算可以采用下述数值中的任意一个
1) 所有文件被访问频率的平均值;
2) 只选取访问频率高于预设阈值(化reWoW)的值,选出N个文件并求出这N个文件被访问频率的平均值;
3) —段时间加入系统的所有文件访问频率的平均值。
本发明的基于时间参数的副本等级衰减方法的有益效果在于以文件上线时间作为参数,综合文件流行度信息,使文件副本等级随时间变化而衰减。该方法有利于分布式系统中的内容更新,避免不常用数据长时间占据分布式系统中的存储空间,
6使存储空间得到充分利用,方便更多的文件得到服务,提高对应系统的服务性能,并改善系统性能。通过文件流行度和在线时间的综合考虑,使分布式系统中的文件副本等级随时间参数进行合理衰减,优化存储空间,动态的调整系统对文件的服务能力,提升用户体验。
图1是结构化P2P网络中的副本放置示意图,其中,填充X的为主节点,填充/为副本放置节点。
图2是本发明的一种基于时间参数的副本等级衰减方法的流程图。
具体实施例方式
下面结合附图以及具体实施例,对本发明的一种基于时间参数的副本等级衰减方法作进一步阐述。
在分布式网络中, 一个文件是否被关注有两方面的影响因素 一方面为该文件
的流行度(popularity),即这个文件是否常被大家所访问,可以用文件的访问频率来表示;另一方面则是时间。 一般来说,视音频文件会随着时间的推移而逐渐淡出观众视线。因此,文件在网络中进行备份时,这两方面需要联合考虑。
本发明的一种应用于分布式系统中基于时间参数的副本等级衰减方法,包括如下步骤
1) 通过等级计算得到文件/的初始副本等级;
在分布式网络中,文件所需备份数目的基本目标是当流行度很大时,希望数
据在网络中保持的时间长,份数多,流行度小时,则反之。假设通过己知流行度和最大延迟,全局优化计算的方法,得到所有文件的初始副本等级。文件/的流行度为
/7印,初始备份副本等级为丄。
2) 通过某个管理节点计算文件/基于流行度的生存期,计算方法如下
a) 从管理节点或某个全局信息表中读取文件/的流行度信息;w化,
b) 通过对网络中所有文件流行度的统计,计算得到所有节点的平均流行度
这里,平均流行度ave_pop可以采用下述数值中的任意一个-i)所有文件被访问频率的平均值;ii) 只选取访问频率高于预设阈值(threshold)的值,选出N个文件并求出这N个文件被访问频率的平均值;
iii) 一段时间内(具体时间长短的选择可根据实际情况加以调整,可以选择稍长的时间,比如1天或者1周等。)加入系统的所有文件访问频率的平均值。
c)通过下式计算总在线时间值tc:
/c = / op / flve — x wf
其中,W (比如10min, lhour等)为管理员设置的在线时间单位,ave为选出文件频率的平均值,即ww^c^/iV,这里只选取访问频率高于Amy/wW (预设阈值)的值,iV为选出的文件总数。
3) 根据DHT路由算法找到当前文件的主节点,将文件以及对应副本等级等相关信息下载到本地,通过主节点的路由表找到与主节点的ID匹配丄位的所有节点,将文件复制到这些节点上,同时每个副本都带有一个表示生存期的数据结构,定时自我检测并计算剩余等级数,从而决定该节点所保持的副本是否需要删除;
4) 基于所述步骤2)计算所得的时间参数,从文件加入系统开始计算,每个存储了副本的节点周期性地检测当前文件的剩余副本等级,
文件的在线时间与时间/和流行度PM相关,随着时间的推移,文件的重要性逐渐下降,则副本等级逐渐增加(即副本数目逐渐减少),同时pop越大副本越多,任意时间t时的副本等级为
Z! = i (f) =£ + (M —丄)(1一^")
当^0是,i (^=Z,表示刚刚在线时的/eve/数;当tfc时,及f(HM,表示生存期结束时没有副本的情况。
这里,Z表示当前数据在线时间,并以W递增,即每过W时间计算并更新一次。
5) 如果L、L,则每个保存副本的节点自我检查,看节点ID和文件f的ID是否匹配L位但不足L,位,如果是,则删除该节点上的副本和文件对应信息,并发消息通知文件/的主节点,从而实现文件副本等级的衰减。
在实现时,每个文件的主节点,即与其ID最近的节点,都会存储一个关于该文件的元数据,包括当前层数、衰减周期、衰减步长以及开始时间等等。而每个副本都带有一个表示生存期的数据结构,定时自我检测并计算剩余等级数,从而决定该节点所保持的副本是否需要删除。实施例
以分布式内容分发网络(Content Distribution/Delivery Network,简称CDN)为 例,假设基于结构化P2P的CDN网络中节点ID为128位,共1000个文件要需要分 发其中,其中文件/的初始副本等级为114,流行度/;印=198。根据该初始值,将所 有与文件/的ID具有相同114位ID值的节点生成一个/的副本。在分发的同时,每 个收到副本的节点也会保存一个时间戳,包含了该文件的时间衰减函数,并定期检 测该文件的副本等级数。
假设在线时间单位为l天,整个网络中文件的平均热度"^^叩=32,则文件/ 的副本在线的总时间为
fc = /w; /aveX 1 X 24 X 60 = 8910 (分钟)
等级数随时间的变化情况如下式
=114 + (128_114)(1-
化
假设每2小时(120分钟)检测一次,则R(t)变化如下 t = 0; R(t)=114 t=120 XI; R(t)=114 t=120 X6; R(t)=115
t= 120 X20; R(t)=117
t= 120 X 50; R(t)= 123
t= 120 X 75; R(t)=128
每当一个节点在时间fw自我检测当前副本等级为i fig时,如果当前节点id与
匹配位数小于Z-^fU -Q,则将该节点存储的副本删除,时间戳删除;否则,用#J
的值更新z。
从上面过程可知,数据副本数随着时间衰减(等级升高),直至达到生存期结束 为止。
9
权利要求
1、一种基于时间参数的副本等级衰减方法,包括如下步骤,1)通过等级计算得到文件f的初始副本等级;2)通过某个管理节点计算文件f基于流行度的生存期,计算方法如下a)从管理节点或某个全局信息表中读取文件f的流行度信息pop;b)通过对网络中所有文件流行度的统计,计算得到所有节点的平均流行度ave_pop;c)通过下式计算总在线时间值tctc=pop/ave_pop×ut;3)根据DHT路由算法找到当前文件的主节点,将文件以及对应副本等级等相关信息下载到本地,通过主节点的路由表找到与主节点的ID匹配L位的所有节点,将文件复制到这些节点上,同时每个副本都带有一个表示生存期的数据结构,定时自我检测并计算剩余等级数,从而决定该节点所保持的副本是否需要删除;4)基于所述步骤2)计算所得的时间参数,从文件加入系统开始计算,每个存储了副本的节点周期性的检测当前文件剩余副本等级,任意时间t时的副本等级为<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><msup> <mi>L</mi> <mo>′</mo></msup><mo>=</mo><mi>R</mi><mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo></mrow><mo>=</mo><mi>L</mi><mo>+</mo><mrow> <mo>(</mo> <mi>M</mi> <mo>-</mo> <mi>L</mi> <mo>)</mo></mrow><mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mfrac><mrow> <mi>tc</mi> <mo>-</mo> <mi>t</mi></mrow><mi>tc</mi> </mfrac> <mo>)</mo></mrow> </mrow>]]></math></maths>这里,t表示当前数据的在线时间,并以ut递增,即每过ut时间计算并更新一次,当t=0时,R(t)=L,表示刚刚在线时的等级数,当t=tc时,R(t)=M,表示生存期结束时没有副本的情况;5)如果L’>L,则每个保存副本的节点自我检查,看节点ID和文件f的ID是否匹配L位但不足L’位,如果是,则删除该节点上的副本和文件对应信息,并发消息通知文件f的主节点,从而实现文件副本等级的衰减。
2、 如权利要求1所述的基于时间参数的副本等级衰减方法,其特征在于,在所 述步骤l)的等级计算中,所述初始副本等级可以通过下述任何一个方法得到1) 在一定延迟或者带宽占用的条件下,通过全局最优化或者局部优化的方法计 算得到网络中所有文件的副本等级;2) 预先设定的副本等级。
3、 如权利要求1所述的基于时间参数的副本等级衰减方法,其特征在于,在所 述步骤2)的文件生存期的计算中,所述平均流行度"vej印的计算采用下述数值中 的任意一个1) 所有文件被访问频率的平均值;2) 只选取访问频率高于预设阈值的值,选出N个文件并求出这N个文件被访 问频率的平均值;3) —段时间内加入系统的所有文件访问频率的平均值。
全文摘要
本发明提供一种应用于分布式系统中的基于时间参数的副本等级衰减方法。该方法中,假设文件f初始的副本等级为L,所有与f的ID匹配L位的节点上都有一份f的副本,每个文件的主节点都会存储一个关于该文件的元数据当前层数、衰减周期、衰减步长以及开始时间,每个副本都带有一个表示生存期的数据结构,通过定时自我检测并计算剩余等级数,从而决定该节点所保持的副本是否需要删除。由此以文件上线时间作为参数,综合文件流行度信息,使文件副本等级随时间变化而衰减。该方法有利于分布式系统中的内容更新,避免不常用数据长时间占据存储空间,使存储空间得到充分利用,方便更多的文件得到服务,提高对应系统的服务性能,并改善系统性能。
文档编号H04L29/08GK101645920SQ20091008161
公开日2010年2月10日 申请日期2009年4月7日 优先权日2009年4月7日
发明者尤佳莉, 王劲林, 王玲芳, 邓浩江 申请人:中国科学院声学研究所