页面共享处理方法及装置制造方法

文档序号:6500734阅读:101来源:国知局
页面共享处理方法及装置制造方法
【专利摘要】本发明实施例提供一种页面共享处理方法及装置,该方法包括:获取候选页面所属的页面类别;将所述候选页面与所述页面类别所包括的多个页面进行比较,获取与所述候选页面具有相同内容的目标页面,并将所述候选页面和所述目标页面进行共享,其中,所有页面根据各页面的预设分类条件统计结果进行分类,同一页面类别所包括的各页面的预设分类条件统计结果满足预设条件。本发明实施例中,通过获取候选页面所属的页面类型,候选页面只需要与它所属页面类别中的页面进行比较,而无需与所有页面进行比较,这样减少了无效比较的次数,提高了效率,也降低了页面比较的开销。
【专利说明】页面共享处理方法及装置

【技术领域】
[0001 ] 本发明实施例涉及通信技术,尤其涉及一种页面共享处理方法及装置。

【背景技术】
[0002]随着多种系统对内存容量需求的不断增长,内存容量已成为主要瓶颈之一。对于多核系统,随着处理器内集成的核个数不断增长,而内存容量的增长速度较慢,导致每个核分配到的有效内存容量呈下降趋势,内存容量成为瓶颈;对于服务器,其运行的应用程序个数不断增加,而应用程序本身的工作集(Working Set)也在不断增大,这两个因素导致服务器对内存容量的需求不断增长;对于云计算平台,如数据中心(Data Center),大部分都采用虚拟化技术,为了降低成本,提高资源利用率,希望在单个物理机上同时运行尽量多数目的虚拟机,这样导致在虚拟机环境中,内存容量成为瓶颈。
[0003]现有技术中,降低内存容量压力的主要方法包括页面共享技术,即通过将具有相同内容的多个页面共享到一个物理页面空间,从而降低系统内存容量消耗,提高内存有效利用率。其中,候选页面要与候选页面集合中的所有页面进行比较,来获取与该候选页面内容相同的页面进行共享,具体地,可以是直接对整个页面的内容进行比较,也可以先计算各页面的哈希(Hash)值,然后比较Hash值,再对Hash值相同的页面进行页面内容的比较。
[0004]发明人在实现本发明实施例的过程中发现,在候选页面集合中,特别是候选页面集合较大的情况下,内容相同的页面并不多,采用现有技术,会导致搜索带来的开销太大,且存在大量的无效比较。


【发明内容】

[0005]本发明实施例提供一种页面共享处理方法及装置,用于解决页面共享时,搜索和比较页面的开销太大,无效比较太多的问题。
[0006]本发明实施例第一方面提供一种页面共享处理方法,包括:
[0007]获取候选页面所属的页面类别;
[0008]将所述候选页面与所述页面类别所包括的多个页面进行比较,获取与所述候选页面具有相同内容的目标页面,并将所述候选页面和所述目标页面进行共享;
[0009]其中,所有页面根据各页面的预设分类条件统计结果进行分类,同一页面类别所包括的各页面的预设分类条件统计结果满足预设条件。
[0010]结合第一方面,在第一方面的第一种可能的实施方式中,所述预设分类条件统计结果包括写访问统计结果;相应地,所述获取候选页面所属的页面类别,包括:
[0011]获取候选页面在预定时间内的写访问统计结果,根据所述写访问统计结果获取所述候选页面所属的页面类别。
[0012]结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述预设条件包括写访问次数在预设范围内;相应地,所述获取候选页面在预定时间内的写访问统计结果,根据所述写访问统计结果获取所述候选页面所属的页面类别包括:
[0013]获取所述候选页面在预定时间内的写访问次数,根据所述写访问次数获取所述候选页面所属的页面类别。
[0014]结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述获取所述候选页面在预定时间内的写访问次数包括:
[0015]根据与所述候选页面对应的计数器,获取所述候选页面在预定时间内的写访问次数。
[0016]结合第一方面的第一种可能的实施方式,在第一方面的第四种可能的实施方式中,所述预设条件为同一页面类别所包括的各页面的脏值相同;各页面包括多个子块,各子块分别对应一字符串中的一个数据位;所述数据位的值标识对应的子块是否被写访问,所述字符串的值为对应页面的脏值;相应地,获取候选页面在预定时间内的写访问统计结果,根据所述写访问统计结果获取所述候选页面所属的页面类别包括:
[0017]判断所述候选页面所包括的各子块在预定时间内是否被写访问,若是,则将被写访问的子块所对应的数据位置I;否则,将没有被写访问的子块所对应的数据位置0,获得所述候选页面的脏值;
[0018]根据所述脏值,获取所述候选页面所属的页面类别。
[0019]结合第一方面至第一方面的第四种可能的实施方式中任一项,在第一方面的第五种可能的实施方式中,所述预设分类条件统计结果还包括:读访问统计结果、页面属性统计结果。
[0020]结合第一方面至第一方面的第五种可能的实施方式中任一项,在第一方面的第六种可能的实施方式中,所述预定时间为所述候选页面的生命周期。
[0021]本发明实施例第二方面提供一种页面共享处理装置,包括:
[0022]获取模块,获取候选页面所属的页面类别;
[0023]比较模块,用于将所述候选页面与所述页面类别所包括的多个页面进行比较,获取与所述候选页面具有相同内容的目标页面,并将所述候选页面和所述目标页面进行共
[0024]其中,所有页面根据各页面的预设分类条件统计结果进行分类,同一页面类别所包括的各页面的预设分类条件统计结果满足预设条件。
[0025]结合第二方面,在第二方面的第一种可能的实施方式中,所述预设分类条件统计结果包括写访问统计结果;相应地,所述获取模块,具体用于获取候选页面在预定时间内的写访问统计结果,根据所述写访问统计结果获取所述候选页面所属的页面类别。
[0026]结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述预设条件包括写访问次数在预设范围内;相应地,所述获取模块,具体用于获取所述候选页面在预定时间内的写访问次数,根据所述写访问次数获取所述候选页面所属的页面类别。
[0027]结合第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述获取模块,具体用于根据与所述候选页面对应的计数器,获取所述候选页面在预定时间内的写访问次数。
[0028]结合第二方面的第一种可能的实施方式,在第二方面的第四种可能的实施方式中,所述预设条件为同一页面类别所包括的各页面的脏值相同;各页面包括多个子块,各子块分别对应一字符串中的一个数据位;所述数据位的值标识对应的子块是否被写访问,所述字符串的值为对应页面的脏值;相应地,所述获取模块,包括:
[0029]判断单元,用于判断所述候选页面所包括的各子块在预定时间内是否被写访问,若是,则将被写访问的子块所对应的数据位置I ;否则,将没有被写访问的子块所对应的数据位置0,获得所述候选页面的脏值;
[0030]获取单元,用于根据所述脏值,获取所述候选页面所属的页面类别。
[0031]结合第二方面至第二方面的第四种可能的实施方式中任一项,在第二方面的第五种可能的实施方式中,所述预设分类条件统计结果还包括:读访问统计结果、页面属性统计结果。
[0032]结合第二方面至第二方面的第五种可能的实施方式中任一项,在第二方面的第六种可能的实施方式中,所述预定时间为所述候选页面的生命周期。
[0033]本发明实施例中,先获取该候选页面所属的页面类别,然后将该候选页面与该页面类别中所包括的多个页面分别进行比较,来获取与其内容相同的目标页面,即候选页面只需要与它所属页面类别中的页面进行比较,而无需与所有页面分别进行比较,这样大大减少了无效比较的次数,提高了效率,也降低了页面比较的开销。

【专利附图】

【附图说明】
[0034]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本发明提供的页面共享处理方法一实施例的流程示意图;
[0036]图2为本发明提供的页面共享处理方法另一实施例的流程示意图;
[0037]图3为本发明提供的页面共享处理装置一实施例的结构示意图;
[0038]图4为本发明提供的页面共享处理装置另一实施例的结构示意图。

【具体实施方式】
[0039]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040]图1为本发明提供的页面共享处理方法一实施例的流程示意图,如图1所示,该方法包括:
[0041]S101、获取候选页面所属的页面类别;
[0042]本发明实施例中,是将页面进行分类,以使每个页面都会有对应的页面类型,具体地,可以根据页面的写访问统计结果、读访问统计结果或者页面属性等来对页面进行分类。
[0043]具体地,本发明实施例中,所有页面根据各页面的预设分类条件统计结果进行分类,同一页面类别所包括的各页面的预设分类条件统计结果满足预设条件。该预设条件可以是根据经验来设定的。
[0044]S102、将上述候选页面与上述页面类别所包括的多个页面进行比较,获取与上述候选页面具有相同内容的目标页面,并将该候选页面和该目标页面进行共享。
[0045]具体实现过程中,在同一页面类别范围内进行比较,一种方式是可以直接比较页面的内容,即候选页面与所属的页面类别中的部分或全部页面进行内容比较,而获取与该候选页面具有相同内容的目标页面;另一种方式是,可以先分别计算该候选页面所属页面类别中包括的所有页面的Hash值,然后让候选页面与和该候选页面Hash值相同的页面进行比较,而获取与该候选页面具有相同内容的目标页面。最后,将该候选页面和该目标页面共享到同一物理页面,来降低内存量的压力。
[0046]本实施例中,先获取该候选页面所属的页面类别,然后将该候选页面与该页面类别中所包括的多个页面分别进行比较,来获取与其内容相同的目标页面,即候选页面只需要与它所属页面类别中的页面进行比较,而无需与所有页面分别进行比较,这样大大减少了无效比较的次数,提高了效率,也降低了页面比较的开销。
[0047]进一步地,本发明另一实施例中,上述预设分类条件统计结果可以包括写访问统计结果,相应地,上述SlOl具体为,获取候选页面在预定时间内的写访问统计结果,根据该写访问统计结果获取所述候选页面所属的页面类别。在系统中,对于不同页面的访问次数和访问分布一般是不同的,特别是写访问,写访问会使页面的内容发生变化,也可能使原本内容相同的页面变得不同而无法共享,即写访问统计结果差别较大的页面,其页面内容相同的可能性不大,从而可以根据页面的写访问情况来对页面进行分类,以消除无效的页面比较,来降低系统在页面比较部分的开销。
[0048]需要说明的是,上述预设分类条件统计结果还可以包括读访问统计结果和页面属性等,其中根据读访问分类和下文中详细论述的根据写访问分类的过程类似;页面属性是指一些页面的特定性质,例如,一些页面是“只读”的,这就是一种页面属性,可以将这些“只读”页面划分在一类。
[0049]更进一步地,本发明另一实施例中,对于上述预设分类条件统计结果为写访问统计结果的这种情况,具体地,预设条件包括写访问次数在预设范围内,相应地,上述SlOl具体为,获取该候选页面在预定时间内的写访问次数,根据该写访问次数获取该候选页面所属的页面类别。具体地,上述获取候选页面在预定时间内的写访问次数,可以是根据与该候选页面对应的计数器,获取该候选页面在预定时间内的写访问次数,即为了统计页面的写访问次数,需要为每个页面分配一个写计数器,页面每次被写访问,该写计数器就进行一次加1,之后,后台线程启动页面比较过程的时候,会先访问页面的写计数器,根据写计数器的值对页面进行分类;其中,同一页面类别所包括的各页面的写访问次数在同一预设范围内。具体实现过程中,该预设范围可以使静态指定分类阈值,例如,在预设时间内,写访问次数O?64的页面划分为第I类,写访问次数64?128的页面划分为第2类,以此类推,直到写访问次数大于1024次的页面都划分到第16类。当然,也可以采用较为复杂的动态分类,例如使用现有的K-Means分类方法。
[0050]再进一步地,本发明另一实施例中,上述预设条件可以为同一页面类别所包括的各页面的脏值相同,具体地,各页面包括多个子块,各子块分别对应一字符串中的一个数据位,该数据位的值标识对应的子块是否被写访问,上述字符串的值为对应页面的脏值(Dirty Map,简称DM);相应地,在这种情况下,上述SlOl具体为,判断上述候选页面所包括的各子块在预定时间内是否被写访问,若是,则将被写访问的子块所对应的数据位置I ;否贝丨J,将没有被写访问的子块所对应的数据位置O,获取上述获选页面的DM ;进而,根据该DM,获取上述候选页面所属的页面类别。本实施例主要针对页面的写访问在页面内的分布并不是均匀的,可能会集中在页面的几个子块内,因此统计各子块被写访问的情况会使得分类更为精确。
[0051]以将页面划分为8个子块为例,每个子块对应一字符串中的一个数据位,初始化时,每个数据位都为0,预设时间内,如果其中子块被写访问,则该子块数据位置1,如在预设时间内,上述8各子块(O~7)中的1、2、7被写访问,则该页面对应的DM可如表1所示,
[0052]表1
[0053]

【权利要求】
1.一种页面共享处理方法,其特征在于,包括: 获取候选页面所属的页面类别; 将所述候选页面与所述页面类别所包括的多个页面进行比较,获取与所述候选页面具有相同内容的目标页面,并将所述候选页面和所述目标页面进行共享; 其中,所有页面根据各页面的预设分类条件统计结果进行分类,同一页面类别所包括的各页面的预设分类条件统计结果满足预设条件。
2.根据权利要求1所述的方法,其特征在于,所述预设分类条件统计结果包括写访问统计结果;相应地,所述获取候选页面所属的页面类别,包括: 获取候选页面在 预定时间内的写访问统计结果,根据所述写访问统计结果获取所述候选页面所属的页面类别。
3.根据权利要求2所述的方法,其特征在于,所述预设条件包括写访问次数在预设范围内;相应地,所述获取候选页面在预定时间内的写访问统计结果,根据所述写访问统计结果获取所述候选页面所属的页面类别包括: 获取所述候选页面在预定时间内的写访问次数,根据所述写访问次数获取所述候选页面所属的页面类别。
4.根据权利要求3所述的方法,其特征在于,所述获取所述候选页面在预定时间内的写访问次数包括: 根据与所述候选页面对应的计数器,获取所述候选页面在预定时间内的写访问次数。
5.根据权利要求2所述的方法,其特征在于,所述预设条件为同一页面类别所包括的各页面的脏值相同;各页面包括多个子块,各子块分别对应一字符串中的一个数据位;所述数据位的值标识对应的子块是否被写访问,所述字符串的值为对应页面的脏值;相应地,获取候选页面在预定时间内的写访问统计结果,根据所述写访问统计结果获取所述候选页面所属的页面类别包括: 判断所述候选页面所包括的各子块在预定时间内是否被写访问,若是,则将被写访问的子块所对应的数据位置I ;否则,将没有被写访问的子块所对应的数据位置O,获得所述候选页面的脏值; 根据所述脏值,获取所述候选页面所属的页面类别。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述预设分类条件统计结果还包括:读访问统计结果、页面属性统计结果。
7.根据权利要求1~7任一项所述的方法,其特征在于,所述预定时间为所述候选页面的生命周期。
8.一种页面共享处理装置,其特征在于,包括: 获取模块,获取候选页面所属的页面类别; 比较模块,用于将所述候选页面与所述页面类别所包括的多个页面进行比较,获取与所述候选页面具有相同内容的目标页面,并将所述候选页面和所述目标页面进行共享; 其中,所有页面根据各页面的预设分类条件统计结果进行分类,同一页面类别所包括的各页面的预设分类条件统计结果满足预设条件。
9.根据权利要求8所述的装置,其特征在于,所述预设分类条件统计结果包括写访问统计结果;相应地,所述获取模块,具体用于获取候选页面在预定时间内的写访问统计结果,根据所述写访问统计结果获取所述候选页面所属的页面类别。
10.根据权利要求9所述的装置,其特征在于,所述预设条件包括写访问次数在预设范围内;相应地,所述获取模块,具体用于获取所述候选页面在预定时间内的写访问次数,根据所述写访问次数获取所述候选页面所属的页面类别。
11.根据权利要求10所述的装置,其特征在于,所述获取模块,具体用于根据与所述候选页面对应的计数器,获取所述候选页面在预定时间内的写访问次数。
12.根据权利要求9所述的装置,其特征在于,所述预设条件为同一页面类别所包括的各页面的脏值相同;各页面包括多个子块,各子块分别对应一字符串中的一个数据位;所述数据位的值标识对应的子块是否被写访问,所述字符串的值为对应页面的脏值;相应地,所述获取模块,包括: 判断单元,用于判断所述候选页面所包括的各子块在预定时间内是否被写访问,若是,则将被写访问的子块所对应的数据位置I;否则,将没有被写访问的子块所对应的数据位置0,获得所述候选页面的脏值; 获取单元,用于根据所述脏值,获取所述候选页面所属的页面类别。
13.根据权利要求8~12任一项所述的装置,其特征在于,所述预设分类条件统计结果还包括:读访问统计结果、页面属性统计结果。
14.根据权利要 求8~13任一项所述的装置,其特征在于,所述预定时间为所述候选页面的生命周期。
【文档编号】G06F17/30GK104050189SQ201310081954
【公开日】2014年9月17日 申请日期:2013年3月14日 优先权日:2013年3月14日
【发明者】陈荔城, 陈明宇, 阮元 申请人:华为技术有限公司, 中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1