一种基于文件和数据块两级粒度的副本替换方法及系统的制作方法

文档序号:6438237阅读:239来源:国知局
专利名称:一种基于文件和数据块两级粒度的副本替换方法及系统的制作方法
技术领域
本发明属于广域分布式系统技术领域,具体地说,本发明涉及一种基于文件和数据块两级粒度的副本替换方法及系统。
背景技术
在主存储读取速度低的条件下,缓存的使用对于提供数据访问速度起到了极其重要的作用。由于应用对数据的访问存在不同的规律,数据进入缓存和退出缓存就需要采取某种机制,最常用的方法是LRU(最近最少使用)替换机制。但LRU存在如下问题:不能处理弱访问局部性,比如:(1)文件扫描:一次访问的数据块不能被及时地替换;(2)类循环访问:最早被访问的数据块不幸地被替换;(3)以不同频率进行的访问:频繁被访问的数据块可被不幸地替换出。针对上述问题,美国俄亥俄大学的李晓东团队提出LIRS(LowInter-reference Recency Set algorithm、低互引用最近性集合算法)机制。该机制首先定义IRR(Inter-reference Recency,互引用最近性)为在对该数据块的两次连续引用之间,所访问其他不同数据块数,即重用距离;其观察依据是一个高IRR数据块将不会被频繁使用,从而选择高IRR数据块加以替换;以最近性用作第二引用。LIRS的操作有四种情况:(I)初始化:直到LIR数据块集合满之前,所有被引用的数据块都被赋予一个LIR状态,同时将驻留HIR数据块放置于一个小型的LRU栈中;(2)在访问一个LIR数据块(一次命中)时的处理;(3)在访问一个驻留HIR数据块(一次命中)时的处理;(4)在访问一个非驻留HIR数据块(一次非命中)时的情况。其具体操作这里不再详述,可参见相关文献。LIRS适用于数据粒度较小的情况。对于较大粒度的数据管理,比如数十兆、数百兆,甚至更大的数据文件,由于访问分布于文件的不同位置,造成与小粒度数据的规律不同,同时替换代价也不同。基于此,在广域分布式系统的数据管理中,就需要考虑不同的数据替换方法,本发明正是针对这一问题而提出的方法。

发明内容
本发明的目的是考虑大型文件尺寸条件下,在广域分布式系统中,针对访问分布于文件的不同位置、替换代价不同等特征,从而提供一种基于文件和数据块两级粒度的副本替换方法及系统。为实现上述发明目的,本发明提供一种基于文件和数据块两级粒度的副本替换系统,该系统用于为广域的基于内容分布式的系统提供一种数据副本替换策略,所述系统包含:文件管理子系统和数据块管理子系统。所述文件管理子系统,用于处理替换系统内部的文件请求并生成与其相连接的文件缓存单元的文件副本替换策略。所述数据块管理子系统,用于处理数据块请求、进行访问统计并生成与其相连的数据块缓存单元的数据块副本替换策略。其中,所述数据块管理子系统向所述文件管理子系统报告数据块的使用状态信息;所述文件管理子系统和数据块管理子系统之间是一对多的关系。上述技术方案中,所述文件管理子系统进一步包含:文件进入缓存单元:该单元在有对文件的读写请求时,从外部文件源处得到该文件。文件副本替换退出策略生成单元,该单元首先将文件进入缓存单元得到的最新文件替换位于文件缓存单元上的被引用为否的文件;其次在LIRS机制的基础上,将引用距离和最近性之外的文件热度指标作为文件是否退出文件缓存单元的依据,即当有若干个文件满足引用距离和最近性指标退出文件缓存单元的条件时,要进一步选择文件热度低的文件作为最终退出文件缓存单元的文件。和基于数据块信息更新文件状态信息的单元,该单元从数据块管理子系统接收数据块统计信息,将数据块的使用次数累加到对应数据块的访问次数,并当数据块退出一数据块管理子系统时,对该数据块的被引用计数减1,当被引用计数为值O时,表示没有数据块管理子系统缓存或访问该数据块;依据各数据块的访问次数,更新文件热度;依据各数据块的被引用计数,更新文件被引用状态。其中,所述数据块统计信息包括数据块的使用次数、数据块退出所述数据块管理子系统所连接的缓存单元的时间。上述技术方案中,所述数据块管理子系统进一步包含:基于LIRS机制生成数据块替换策略的单元,该单元采取LIRS机制处理所有数据块进入数据块缓存单元、数据块被访问和退出数据块缓存单元的操作。数据块统计单元,该单元在数据块进入数据块缓存单元时和被访问时,对数据块引用进行累加计数。和数据块统计信息上报单元,该单元在某数据块退出数据块缓存单元时,将该数据块的退出信息及数据块统计单元进行的累加计数信息同时上报所述基于数据块信息更新文件状态信息的单元。基于上述技术方案公开的系统本发明还提供一种基于文件和数据块两级粒度的副本替换方法,该方法用于为广域的基于内容分布式的系统提供一种数据副本替换策略,所述方法包含:用于数据块级的副本替换步骤。用于文件级的副本替换步骤。其中,所述数据块级的副本替换步骤为文件级的副本替换步骤提供低层信息来源,即所述数据块级的副本替换步骤向所述文件级的副本替换步骤报告数据块的使用状态信息供其生成文件副本的替换策略。上述技术方案中,所述用于数据块级的副本替换步骤进一步包含:步骤1,基于LIRS的数据块副本替换步骤,该步骤采取LIRS机制将数据块副本存入数据块缓存单元、数据块副本被访问以及数据块副本退出数据块缓存单元。步骤2,统计数据块信息的步骤,该步骤在数据块副本进入数据块缓存单元和被访问时,对数据块引用进行累加计数。步骤3,数据块统计信息上报步骤,当有数据块副本退出数据块缓存单元时,触发上报上步骤统计的数据块信息及该数据块副本退出数据块管理子系统所连接的数据块缓存单元的时间信息。上述技术方案中,所述用于文件级的副本替换步骤进一步包含:步骤1,文件进入缓存步骤,该步骤在有对文件的读写请求时,触发文件管理子系统从外部文件源处得到其所需的文件。步骤2,文件副本替换步骤,该步骤首先将上步骤得到的文件副本替换位于文件缓存单元中被引用为否的文件;其次在LIRS机制的基础上,将引用距离和最近性之外的文件热度指标作为文件是否退出缓存单元的依据,即当有若干个文件满足引用距离和最近性指标退出缓存单元的条件时,要进一步选择文件热度低的文件作为最终退出文件缓存单元的文件。步骤3,更新文件的步骤,该步骤依据从数据块管理子系统接收的数据块统计信息,将数据块的使用次数累加到对应数据块的访问次数,并当数据块退出一数据块管理子系统时,对该数据块的被引用进行减I操作,当被引用计数为O时表示没有数据管理子系统缓存或访问该数据块;依据各数据块的访问次数,更新文件热度;依据各数据块的被引用情况,更新文件被引用状态。其中,所述数据块统计信息包括使用次数、数据块副本退出该数据块管理子系统所连接的缓存单元的时刻。与目前的副本替换方法(典型采用LRU方法)相比,本发明具有如下技术效果:以LIRS方法为基础,比LRU方法具有明显优势;在数据块级副本替换方法中,对LIRS方法加以改进,引入引用计数上报步骤,同时在上报时隐含数据块退出数据块管理子系统缓存信息;在文件级副本替换方法中,对LIRS方法的改进是:优先替换被引用为否的文件,另外除引用距离、最近性之外,引入文件热度指标。以上改进措施,考虑了广域分布式系统中大型文件尺寸以及访问分布规律,明显地适用于⑶N等基于内容的服务系统等。


图1是本发明的基于文件和数据块两级粒度的副本替换系统的组成框图;图2是本发明实施例的CDN应用场景示意图;图3是本发明的数据块级副本替换方法流程图;图4是本发明的文件级副本替换方法流程图。
具体实施例方式下面结合附图对本发明的内容进行详细介绍。本发明考虑大型文件尺寸条件下,在广域分布式系统中,针对访问分布于文件的不同位置、替换代价不同等特征,提供一种基于文件和数据块两级粒度的副本替换方法。本发明用于内容分发网络(CDN)等内容服务系统(注:指提供内容服务的广域系统,典型运行于互联网等分布式环境之中,用于数字媒体传输、服务等),可有效地提高文件读取的命中率,本发明基于比LRU方法表现好的LIRS方法,对LIRS方法进行了 3处改进,提高了大型媒体文件更新的效率。如图1所示,本发明提供的基于文件和数据块两级粒度的副本替换系统包含:文件管理子系统、数据块管理子系统,以及外部文件源(该实体不构成本专利组成部分)。所述文件管理子系统指负责文件请求处理、文件副本替换的软件或设备;所述数据块管理子系统指负责数据块请求处理、访问统计和数据块副本替换的软件或设备;所述文件管理子系统与数据块管理子系统之间相互通信,即数据块管理子系统负责向文件管理子系统及时报告数据块的使用状态(进入/退出数据块缓存)。文件管理子系统和数据块管理子系统之间是一对多的关系,而且所述文件管理子系统和每个数据块管理子系统分别与文件缓存单元和数据块缓存单元相关联。上述技术方案中,所述文件管理子系统可以是硬件设备(如一台服务器、一台计算设备、一个服务器机群)或软件程序。上述技术方案中,所述数据块管理子系统可以是(如一台服务器、一台计算设备、一个服务器机群)或软件程序。基于上述系统,本发明还提供的基于文件和数据块两级粒度的副本替换方法,包括数据块级副本替换方法和文件级副本替换方法。其中数据块级副本替换方法是文件级副本替换方法的低层信息来源。所述数据块级副本替换方法包括如下操作:(I)基于LIRS的数据块副本替换操作:数据块进入、被访问和退出缓存的机制采取LIRS机制。(2)数据块统计操作:在数据块进入、被访问时,对数据块引用进行累加计数。(3)数据块统计信息上报操作:在数据块退出缓存时,触发该操作。所述文件级副本替换方法包括如下操作:(I)文件进入缓存操作:在有对文件的读写请求时,触发文件管理子系统从外部文件源处得到文件。(2)文件副本替换操作:首先选择文件被引用为否的文件加以替换;其次在LIRS机制的基础上,除引用距离、最近性之外,引入文件热度指标,作为第三项文件是否退出缓存的依据,即在有多个文件满足前两项指标退出缓存的条件时,要选择文件热度低的文件退出缓存。(3)文件管理子系统从数据块管理子系统接收数据块统计信息(包括使用次数、退出该数据块管理子系统所管理缓存的时间),将数据块的使用次数累加到对应数据块的访问次数,并当数据块退出一数据块管理子系统时,对该数据块的被引用进行减I操作,当被引用计数为O时,表示没有数据管理子系统缓存或访问该数据块;依据各数据块的访问次数,更新文件热度;依据各数据块的被引用情况,更新文件被引用状态(是/否)。
实施例下面结合更加具体的应用场景说明基于文件和数据块两级粒度的副本替换方法。如图2所示,本实施例提供的一个应用场景:一家CDN服务提供商(A),通过内容导入系统将内容提供商(B)的内容数据(表现为媒体文件)导入到CDN的存储系统,之后由分布系统将媒体文件切片,分布到各地的存储节点,由存储节点完成对用户请求的服务。在这一场景中,分布系统可作为文件管理子系统,除具备文件管理子系统的功能外,它还具有数据块初始分布、分布调整的功能。各存储节点上的存储管理系统可作为数据块管理子系统,该子系统除具备数据块管理实体功能外,它还可具有本地文件系统等的功能。基于上述的对应关系,本实施例提供的基于文件和数据块两级粒度的副本替换方法,包括数据块级副本替换方法和文件级副本替换方法。其中数据块级副本替换方法是文件级副本替换方法的低层信息来源。所述数据块级副本替换方法包括如下操作:(I)基于LIRS的数据块副本替换操作:数据块进入、被访问和退出缓存的机制采取LIRS机制。(2)数据块统计操作:在数据块进入、被访问时,对数据块引用进行累加计数。(3)数据块统计信息上报操作:在数据块退出缓存时,触发该操作。所述文件级副本替换方法包括如下操作:(I)文件进入缓存操作:在有对文件的读写请求时,触发文件管理实体从外部文件源处得到文件。(2)文件副本替换操作:首先选择文件被引用为否的文件加以替换;其次在LIRS机制的基础上,除引用距离、最近性之外,引入文件热度指标,作为第三项文件是否退出缓存的依据,即在有多个文件满足前两项指标退出缓存的条件时,要选择文件热度低的文件退出缓存。(3)文件管理子系统从数据块管理子系统接收数据块统计信息(包括使用次数、退出该数据块管理实体所管理缓存的时间),将数据块的使用次数累加到对应数据块的访问次数,并当数据块退出一数据块管理子系统时,对该数据块的被引用进行减I操作,当被引用计数为O时,表示没有数据管理实体缓存或访问该数据块;依据各数据块的访问次数,更新文件热度;依据各数据块的被引用情况,更新文件被引用状态(是/否)。最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种基于文件和数据块两级粒度的副本替换系统,该系统用于为广域的基于内容分布式的系统提供一种数据副本替换策略,所述系统包含:文件管理子系统和数据块管理子系统; 所述文件管理子系统,用于处理替换系统内部的文件请求并生成与其相连接的文件缓存单元的文件副本替换策略; 所述数据块管理子系统,用于处理数据块请求、进行访问统计并生成与其相连的数据块缓存单元的数据块副本替换策略; 其中,所述数据块管理子系统向所述文件管理子系统报告数据块的使用状态信息;所述文件管理子系统和数据块管理子系统之间是一对多的关系。
2.根据权利要求1所述的基于文件和数据块两级粒度的副本替换系统,其特征在于,所述文件管理子系统进一步包含: 文件进入缓存单元:该单元在有对文件的读写请求时,从外部文件源处得到该文件;文件副本替换退出策略生成单元,该单元首先将文件进入缓存单元得到的最新文件替换位于文件缓存单元上的被引用为否的文件;其次在LIRS机制的基础上,将引用距离和最近性之外的文件热度指标作为文件是否退出文件缓存单元的依据,即当有若干个文件满足引用距离和最近性指标退出文件缓存单元的条件时,要进一步选择文件热度低的文件作为最终退出文件缓存单元的文件;和 基于数据块信息更新文件状态信息的单元,该单元从数据块管理子系统接收数据块统计信息,将数据块的使用次数累加到对应数据块的访问次数,且当数据块退出数据块管理子系统时,对该数据块的被引用计数减1,当被引用计数值为O时,表示没有数据块管理子系统缓存或访问该数据块;依据各数据块的访问次数,更新文件热度;依据各数据块的被引用计数,更新文件被引用状态; 其中,所述数据块统计信息包`括数据块的使用次数、数据块退出所述数据块管理子系统所连接的缓存单元的时刻。
3.根据权利要求2所述的基于文件和数据块两级粒度的副本替换系统,其特征在于,所述数据块管理子系统进一步包含: 基于LIRS机制生成数据块替换策略的单元,该单元采取LIRS机制处理所有数据块进入数据块缓存单元、数据块被访问和退出数据块缓存单元的操作; 数据块统计单元,该单元在数据块进入数据块缓存单元时和被访问时,对数据块引用进行累加计数; 数据块统计信息上报单元,该单元在某数据块退出数据块缓存单元时,将该数据块的退出信息及数据块统计单元进行的累加计数信息同时上报所述基于数据块信息更新文件状态信息的单元。
4.一种基于文件和数据块两级粒度的副本替换方法,该方法用于为广域的基于内容分布式的系统提供一种数据副本替换策略,所述方法包含: 用于数据块级的副本替换步骤; 用于文件级的副本替换步骤; 其中,所述数据块级的副本替换步骤为文件级的副本替换步骤提供低层信息来源,即所述数据块级的副本替换步骤向所述文件级的副本替换步骤报告数据块的使用状态信息供其生成文件副本的替换策略。
5.根据权利要求4所述的基于文件和数据块两级粒度的副本替换方法,其特征在于,所述用于数据块级的副本替换步骤进一步包含: 步骤1,基于LIRS的数据块副本替换步骤,该步骤采取LIRS机制将数据块副本存入数据块缓存单元、数据块副本被访问以及数据块副本退出数据块缓存单元; 步骤2,统计数据块信息的步骤,该步骤在数据块副本进入数据块缓存单元和被访问时,对数据块引用进行累加计数; 步骤3,数据块统计信息上报步骤,当有数据块副本退出数据块缓存单元时,触发上报上步骤统计的数据块信息及该数据块副本退出数据块管理子系统所连接的数据块缓存单元的时间信息。
6.根据权利要求5所述的基于文件和数据块两级粒度的副本替换方法,其特征在于,所述用于文件级的副本替换步骤进一步包含: 步骤1,文件进入缓存步 骤,该步骤在有对文件的读写请求时,触发文件管理子系统从外部文件源处得到其所需的文件; 步骤2,文件副本替换步骤,该步骤首先将上步骤得到的文件副本替换位于文件缓存单元中被引用为否的文件;其次在LIRS机制的基础上,将引用距离和最近性之外的文件热度指标作为文件是否退出缓存单元的依据,即当有若干个文件满足引用距离和最近性指标退出缓存单元的条件时,要进一步选择文件热度低的文件作为最终退出文件缓存单元的文件; 步骤3,更新文件的步骤,该步骤依据从数据块管理子系统接收的数据块统计信息,将数据块的使用次数累加到对应数据块的访问次数,并当数据块退出一数据块管理子系统时,对该数据块的被引用进行减I操作,当被引用计数为O时表示没有数据管理子系统缓存或访问该数据块;依据各数据块的访问次数,更新文件热度;依据各数据块的被引用情况,更新文件被引用状态; 其中,所述数据块统计信息包括使用次数、数据块副本退出该数据块管理子系统所连接的缓存单元的时间。
全文摘要
本发明提供一种基于文件和数据块两级粒度的副本替换方法及系统,所述系统包含文件管理子系统和数据块管理子系统;所述文件管理子系统,用于处理替换系统内部的文件请求并生成与其相连接的文件缓存单元的文件副本替换策略;所述数据块管理子系统,用于处理数据块请求、进行访问统计并生成与其相连的数据块缓存单元的数据块副本替换策略;其中,所述数据块管理子系统向所述文件管理子系统报告数据块的使用状态信息;所述文件管理子系统和数据块管理子系统之间是一对多的关系。本发明考虑大型文件尺寸条件下广域分布式系统中,对访问分布于文件的不同位置、替换代价不同等特征,提供一种策略,用于提高基于内容的服务系统的文件读取的命中率。
文档编号G06F17/30GK103106213SQ20111036013
公开日2013年5月15日 申请日期2011年11月14日 优先权日2011年11月14日
发明者王玲芳, 程刚, 谢铁兵 申请人:中国科学院声学研究所, 北京中科华影传媒技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1