提高克隆镜像性能的方法、装置、计算机设备及存储介质与流程

文档序号:18898954发布日期:2019-10-18 21:40阅读:152来源:国知局
提高克隆镜像性能的方法、装置、计算机设备及存储介质与流程

本发明属于区块链技术领域,尤其涉及提高克隆镜像性能的方法、装置、计算机设备及存储介质。



背景技术:

目前,在一致性哈希存储系统中,镜像中包括多个大小一致的对象,这些对象按一定规则组成镜像,例如:一个1g的镜像,可以包括256个4m的对象,这256个4m的对象按一定规则组成这个1g的镜像。在对镜像进行克隆存储时,通过计算这256个4m对象的哈希值,将这256个4m对象存储在对应的一致性哈希节点上。在需要对某个对象进行读写时,通过哈希值计算到该个4m对象所在的节点,从而在该节点上找到这个4m对象,读取出这个4m对象出来与写入数据合并,从而达到对镜像进行修改的目的。

一致性哈希算法是将节点分布在哈希环上,将节点间的数据存储到对应的节点中,从而实现数据分布式存储,当其中一个节点坏掉,则将该节点数据迁移到下一节点中进行存储,从而避免节点变化引起整个系统中所有数据的迁移。而在对克隆镜像进行读写时,如果需要读写的对象是基于源对象修改后的数据,有时会需要将源对象读取到客户端进行修改,然后将读取出来的源对象与修改后的数据进行合并得到新的对象,将新对象存储到新节点。可见,在现有技术一致性哈希存储系统中,存在读写路径长,克隆镜像性能差的问题。



技术实现要素:

本发明实施例提供一种提高克隆镜像性能的方法、装置、计算机设备及存储介质,旨在解决存在读写路径长,克隆镜像性能差的问题。

为了解决上述问题,本发明实施例是这样实现的,提供一种提高克隆镜像性能的方法,包括步骤:

根据获取到的待读写对象,判断与所述待读写对象对应的镜像是否存在预先设置的全局镜像继承关系,所述全局镜像继承关系包括源镜像与克隆镜像的继承关系;

若存在所述全局镜像继承关系,则根据所述全局镜像继承关系获取与所述待读写对象对应的源对象的元数据,所述元数据包括用于计算所述待读写对象对应的源对象所在的一致性哈希节点的信息;

根据所述元数据计算一致性哈希值,得到所述待读写对象对应的源对象所在的一致性哈希节点;

在所述待读写对象对应的源对象所在的一致性哈希节点上进行读写。

本发明还提供一种提高克隆镜像性能的装置,包括:

第一判断模块,用于根据获取到的待读写对象,判断与所述待读写对象对应的镜像是否存在预先设置的全局镜像继承关系,所述全局镜像继承关系包括源镜像与克隆镜像的继承关系;

第一获取模块,用于若存在所述全局镜像继承关系,则根据所述全局镜像继承关系获取与所述待读写对象对应的源对象的元数据,所述元数据包括用于计算所述待读写对象对应的源对象所在的一致性哈希节点的信息;

计算模块,用于根据所述元数据计算一致性哈希值,得到所述待读写对象对应的源对象所在的一致性哈希节点;

读写模块,用于在所述待读写对象对应的源对象所在的一致性哈希节点上进行读写。

本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求一至七中任一项所述的提高克隆镜像性能的方法的步骤。

本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求一至七中任一项所述的提高克隆镜像性能的方法的步骤。

本发明实现的有益效果:本发明由于通过给所述待读写对象对应的镜像预先设置所述全局镜像继承关系,基于所述全局镜像继承关系去获取所述待读写对象的对应源对象的元数据,把所述元数据作为作为一致性哈希算法的计算数据计算出一致性哈希值,从所述一致性哈希值中可以得到所述待读写对象对应的源对象所在的一致性哈希节点,所述待读写对象会在所述一致性哈希节点上进行读写。所以,基于预设的所述全局镜像继承关系,最终可以找到所述待读写对象的源对象所在的所述一致性哈希节点,并在所述一致性哈希节点进行读写,可以缩短读写路径,提高克隆镜像性能。

附图说明

图1是本申请可以应用于其中的示例性系统架构图;

图2是本发明实施例提供的提高克隆镜像性能的方法的一个实施例的流程图;

图2a是本发明实施例提供的提高克隆镜像性能的方法的哈希环结构示意图;

图2b是本发明实施例提供的提高克隆镜像性能的方法的另一种哈希环结构示意图;

图2c是本发明实施例提供的提高克隆镜像性能的方法的另一种哈希环结构示意图;

图3是本发明实施例提供的提高克隆镜像性能的方法的另一个实施例的流程图;

图4是本发明实施例提供的提高克隆镜像性能的方法的另一个实施例的流程图;

图5是图2中s204的一种具体实施方式的流程图;

图6是本发明实施例提供的提高克隆镜像性能的方法的另一个实施例的流程图;

图7是本发明实施例提供的提高克隆镜像性能的方法的另一个实施例的流程图;

图8是本发明实施例提供的提高克隆镜像性能的方法的另一个实施例的流程图;

图9是本申请的提高克隆镜像性能的装置的一个实施例的结构示意图;

图10是本申请的提高克隆镜像性能的装置的另一个实施例的结构示意图;

图11是本申请的提高克隆镜像性能的装置的另一个实施例的结构示意图;

图12是本申请的提高克隆镜像性能的装置的另一个实施例的结构示意图;

图13是本申请的提高克隆镜像性能的装置的另一个实施例的结构示意图;

图14是本申请的提高克隆镜像性能的装置的另一个实施例的结构示意图;

图15是本申请的计算机设备的一个实施例的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明由于通过给待读写对象对应的镜像预先设置全局镜像继承关系,基于全局镜像继承关系去获取待读写对象的对应源对象的元数据,根据元数据计算一致性哈希值,得到待读写对象对应的源对象所在的一致性哈希节点,并在上述节点上进行读写。所以,可以缩短读写路径,提高克隆镜像性能。

如图1所示,系统架构100可以包括服务器105,网络102和终端设备101、102、103。网络104用以在服务器105和终端设备101、102、103之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等。终端设备101、102、103可以是具有显示屏,可以下载应用软件,可以进行数据读写等的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等,客户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或获取信息等。

应该理解,图1中的移动终端、网络和设备的数目仅仅是示意性的,根据实现需要,可以具有任意数目的移动终端、网络和服务器。

如图2所示,为根据本申请的提高克隆镜像性能的方法所提供的一个实施例的流程图。上述的提高克隆镜像性能的方法,包括步骤:

s201,根据获取到的待读写对象,判断与待读写对象对应的镜像是否存在预先设置的全局镜像继承关系,全局镜像继承关系包括源镜像与克隆镜像的继承关系。

在本实施例中,提高克隆镜像性能的方法运行于其上的电子设备(例如图1所示的移动终端)。其中,上述的待读写对象可以是通过用户对待读写镜像进行操作时自行获取,例如:用户对一个待读写镜像进行读写操作,根据读写的位置获取到待读写对象在镜像中的位置。上述的待读写对象对应的镜像可以是文档文件、应用文件或者其他类型的文件,上述的待读写对象可以是文档文件、应用文件或者其他类型的文件中的对象。需要理解的是,镜像是一种文件存储形式,并且可以把多个文件做成一个镜像文件,上述的待读写对象为镜像中的一部分,对象为镜像的组成部分,一个镜像由多个大小一致的对象按照一定的规则组成,例如:一个1g的镜像,可以由256个4m对象按规则组成,上述的规则可以是顺序规则,即将256个对象按0-255进行排序关联,当要对镜像的12m556k进行读写时,也即是大于3个4m,小于5个4m,则是对4号对象进行读写。用于获取待读写对象的设备可以是手机、平板、计算机等具备数据读写能力的终端设备,上述的终端设备可以通过网络与镜像所在服务器进行交互。

具体的,上述的全局镜像继承关系可以理解为全局镜像的父子关系,即一个源对象与多个子对象的关系,上述的继承关系还可以包括有克隆镜像的克隆路径,通过克隆路径可以找到克隆镜像的父镜像(源镜像),例如:镜像a′为源镜像a的克隆镜像,通过全局镜像继承关系,找到克隆镜像a′的源镜像a,全局镜像继承关系用于记录源镜像与克隆镜像的克隆关系。这样,缩短了对待读写对象进行读写的路径。

s202,若存在全局镜像继承关系,则根据全局镜像继承关系获取与待读写对象对应的源对象的元数据,元数据包括用于计算待读写对象对应的源对象所在的一致性哈希节点的信息。

在本实施例中,上述元数据可以是源镜像中与待读写对象相对应的对象名称,例如:待读写对象为克隆镜像中的a′0,对应在源镜像中的对象为a0,则待读写对象的元数据可以为a0-a′0的数组。上述元数据可以是包括a0与a′0的数组或键值关系,例如:对a′0进行读写,则会根据全局继承关系像找到a′0的源镜像为a,a′0的位移为0,则源镜像中对应的对象的位移也为0,则源对象为a0。对a0进行哈希计算,得到的是源对象a0的哈希值,通过这个哈希值,可以得到源对象所在的一致性哈希节点,即待读写对象与源对象a0共用一个哈希值,因而是通过元数据找到对应a0做为待读写对象的哈希值进行哈希,而不是待读写对象的a′0进行哈希。所以,能够通过元数据找到源对象所在的一致性哈希,避免用a′0得到其他的节点,造成读写时读写路径变长。

具体的,如图2a所示,提供一种哈希环结构示意图,对于一致性哈希,可以理解为由n个点,比如232个点组成的哈希环,n表示组成哈希环的点的个数,则对应的哈希值可以是hash(a0)%n)。在哈希环上确定一个初始点,例如:设置o点为初始点,则在o点右侧第一个点代表1,左侧第一个点代表232-1。如图2b所示,假设有3台用于存储对象的存储服务器,分别为服务器a、服务器b、服务器c,那么,这3台服务器会有自己的ip地址,对它们各自的ip地址进行哈希计算,即hash(服务器的ip地址)%232,根据计算得到的值,对应于哈希环上的值,将会得到服务器a、b、c映射在哈希环上的位置,可以是按顺时针顺序分布。之后可以是将需要存储的对象进行哈希计算,可以用对象的名称做为键值,即hash(对象名称)%232,根据计算得到的值,对应于哈希环上的值,将对象映射至哈希环上,如图2c所示。例如:计算得到的值分别为对象1、2、3、4,则对象1、2、3、4与服务器a、b、c共同映射在哈希环上。若哈希环上的对象1、2位于服务器a与服务器c之间,按照顺时针存储,则对象1、2会被存储在服务器a所在节点上,对象3若位于服务器a与服务器b之间,则会被存储在服务器b所在节点上,对象4若位于服务器b与服务器c之间,会被存储在服务器c所在节点上。这样,通过全局镜像继承关系,对元数据进行一致性哈希计算,缩短了对待读写对象进行读写的路径。

s203,根据元数据计算一致性哈希值,得到待读写对象对应的源对象所在的一致性哈希节点。

其中,一致性哈希值是根据一致性哈希算法得到,一致性哈希算法是一种取模算法,即是对值进行取余数的操作,从而确保哈希值是一个整数,比如:存在3个节点,将对象0、对象1、对象2分别存入这3个节点中,则可以对对象0进行取模得到的余数为0,对对象1进行取模得到的余数为1,对对象2进行取模得到的余数为2,则将对象0存入1号节点,对象1存入2号节点,对象2存入3号节点,若存在对象3,取模得到余数为0,则存入1号节点。

具体的,通过一致性哈希算法对元数据进行计算,由于元数据包括用于计算源对象所在的一致性哈希节点的信息,即通过元数据进行一致性哈希计算所得到的值,即是源对象的所在节点的值,从而得到源对象所在的一致性哈希节点。可以理解的是,待读写对象可以是克隆对象,而克隆对象的元数据可以为源对象的键,源对象的名称可以为值。这样,在对源对象进行存储时,是通过源对象的值进行哈希,而根据待读写对象的元数据进行哈希,则是根据克隆对象的元数据(源对象的键),查询到与源对象的键对应的值,也就是通过源对象的值进行哈希的。对相同的值进行哈希,会得到相同的哈希值,从而得到待读写对象的源对象所在的节点。

s204,在待读写对象对应的源对象所在的一致性哈希节点上进行读写。

在本发明实施例中,源对象的节点是通过一致性哈希算法计算后得到的,通过待读写对象的元数据,使用户访问的读写节点为源对象的存储节点,在该节点上进行读写,可以确定该节点必然存在源对象的数据,避免了将源对象的数据进行迁移才能完成读写。

本发明由于通过给待读写对象对应的镜像预先设置全局镜像继承关系,基于全局镜像继承关系去获取待读写对象的对应源对象的元数据,把元数据作为作为一致性哈希算法的计算数据计算出一致性哈希值,从一致性哈希值中可以得到待读写对象对应的源对象所在的一致性哈希节点,那么,待读写对象便会在一致性哈希节点上进行读写。所以,基于预设的全局镜像继承关系,最终可以找到待读写对象的源对象所在的一致性哈希节点,并在一致性哈希节点进行读写,可以缩短读写路径,提高克隆镜像性能。

进一步地,如图3所示,在获取待读写对象之后,上述方法还包括步骤:

s301,对源镜像对应的数据进行设置;

s302,将设置后的源镜像对应的数据通过克隆生成克隆镜像;

s303,记录源镜像与克隆镜像的形成路径,基于路径,使源镜像与克隆镜像形成全局镜像继承关系。

具体的,设置全局镜像继承关系,具体可以是对源镜像进行快照,使源镜像中的数据不可修改,根据源镜像的数据,克隆出一个或者多个克隆镜像,并记录该克隆镜像与源镜像的克隆路径,即上述克隆镜像克隆来自哪一个源对象,例如:源镜像a的克隆镜像有aa,ab,则记录aa,ab克隆来自源镜像a,形成源镜像a的全局镜像继承关系。

在一种可能的实现的实施例方式中,全局镜像继承关系可以记录在一个表单中,通过上述表单可以查询到源镜像与克隆镜像的继承关系;全局镜像继承关系还可以记录在关系树中,通过关系树可以查询到克隆镜像的根节点。

这样,通过对源镜像进行克隆生成克隆镜像,然后记录生成克隆镜像的路克隆径,有利于源镜像与克隆镜像形成全局镜像关系。

进一步地,如图4所示,上述方法还包括步骤:

s401,基于进行设置后的全局镜像继承关系,设置让克隆镜像中的克隆对象与对应的源镜像的源对象相关联的元数据;

s402,通过元数据获取与克隆对象对应的源对象,其中,源对象作为一致性哈希进行计算的数据;

s403,将克隆对象存储在与克隆对象对应的源对象所计算出的一致性哈希节点上。

在本发明实施例中,上述的元数据可以是描述克隆对象与源对象关系的数组或键值,例如:源对象的名称为a001,克隆对象的名称可以是b001,其中,a、b分别可以是源镜像及克隆镜像的名称,001可以是镜像中第一个对象的位移值,a001表示上述镜像中的第一个对象,b001克隆则表示克隆镜像中的第一个克隆对象。可以将克隆对象的名称与源对象的名称进行索引关联,例如:通过克隆对象的名称“a′0”索引到源对象的名称“a0”,在对克隆对象进行查找时,可以索引到“a0”,对“a0”进行一致性哈希,从而找到克隆对象的源对象所在节点。

具体的,为了使克隆对象与源对象位于同一个节点,可以通过元数据得到源对象的名称,使用源对象的名称做为一致性哈希计算的名称,即克隆对象的一致性哈希值为hash(源对象的名称)%n。应用一致性哈希对克隆对象进行存储可以理解为,对克隆镜像中的克隆对象的元数据应用一致性哈希算法(hash(克隆对象的名称)%n),计算得到该克隆对象的一致性哈希值,根据一致性哈希值,将克隆对象存储在对应的位置节点上,位置节点可以理解为对应的存储器或服务器,在哈希环上,可以存在多个位置节点,形成存储器集群或服务器集群。

需要理解的是,在一致性哈希算法中,哈希同一个键,得到的是相同的值,哈希不同的键,可能得到不同的值,例如:对“a0”进行一致性哈希得到的值,不一定会等于对“a0克隆”、“a1”或者“a0克隆”进行一致性哈希得到的值,n越大,得到相同值的概率越小。

这样,在查找克隆对象时,通过元数据获取源对象进行一致性哈希计算得到所存储的一致性哈希节点,便可以查找到克隆对象所存储的节点,不需要到另外的节点进行查找,进一步缩短了读写路径,提高了克隆镜像的性能。

进一步地,如图5所示,上述s204的步骤具体包括:

s501,在待读写对象的源对象对应的一致性哈希节点上写入数据时,采用增量写入的方式进行数据写入,索引待读写对象的源对象对应的数据进行增补生成新对象。

在本发明实施例中,需要对待读写对象进行写入时,在源对象的节点上进行增量写入,即只写入需要写入的数据,不用将源对象中的数据复制出来再写入,例如:源对象的数据为4m,需要写入4k数据,则只需要写入4k到该节点上,而不用复制写入4m到该节点上,其余的数据以索引的形式从源对象的数据中索引到新的对象中与4k数据形成新对象。

这样,通过直接写入所需要写的数据,而不用将源对象的数据复制写入,可以避免写入放大。

进一步地,如图6所示,上述方法还包括:

s601,判断新对象中是否存在基于全局镜像继承关系的元数据;

s602,若新对象中存在基于全局镜像继承关系的元数据,则根据全局镜像继承关系的元数据对新对象进行一致性哈希存储。

在本发明实施例中,若待读写对象本身存在元数据,则在对待读写对象进行数据写入时,保持待读写对象原来的元数据不变,从而得到一个包括有原来元数据的新对象,则新对象中可以是存在基于全局镜像继承关系的元数据,利用该元数据对这个新对象进行一致性哈希计算,得到所需要存储的一致性哈希节点并进行存储。

这样,当新对象中存在基于全局镜像继承关系的待读写对象本身存在的元数据时,通过直接对该元数据进行计算便可以得到新对象所存储的节点,可以缩短读写的路径。

进一步地,如图7所示,上述方法还包括:

s701,基于全局镜像继承关系,给新对象设置对应的元数据;

s702,基于新对象对应的元数据,通过一致性哈希对新对象进行存储,其中,元数据包括用于计算源对象所在的一致性哈希节点的信息。

在本发明实施例中,可以将上述的新对象存储在与源对象同一节点中,及新对象与源对象之间存在全局镜像继承关系,这样,在对新对象进行读写时,可以通过新对象的元数据对源对象进行一致性哈希计算,得到源对象所存储的节点,并将新对象也存储在该节点上。

这样,可以避免新对象因为迁移到其他节点上,而又需要到源对象所在节点读取源对象的数据,从而进一步导致读写路径变长。

进一步地,如图8所示,上述方法还包括:

s801,在生成新对象后,索引源镜像的对象与新对象形成新克隆镜像;

s802,为新克隆镜像中的对象设置对应的元数据,基于新克隆镜像中的对象设置对应的元数据,应用一致性哈希对新克隆镜像中的对象进行存储;

s803,将新克隆镜像写入全局镜像继承关系中,其中,新克隆镜像中的对象的元数据包括与元数据所在的一致性哈希节点信息。

在本发明实施例中,基于新对象,索引源镜像中其他对象与新对象形成新克隆镜像,需要说明的是,新克隆镜像中可以包括写入了数据的新对象与索引对象,写入了数据的新对象可以是包括写入数据、索引数据以及元数据,其中,写入数据可以是用户写入的数据,索引数据可以是索引到源对象数据的数据,元数据指的是描述新对象属性的数据,元数据包括源对象的一致性哈希节点信息,索引对象可以理解为源对象中的其他对象,源对象中的其他对象与写入数据的新对象组成了新克隆对象。

这样,根据新对象,索引源镜像中其他对象与新对象形成新克隆镜像,从而可以实现对前端业务与后端的数据的同步,并且通过对上述元数据进行一致性哈希计算,可以实现对新克隆镜像中对象的存储。

通过对一致性哈希存储系统中的镜像设置一致性哈希算法得到元数据,在需要对克隆镜像进修改读写时,通过元数据计算出源镜像中源对象在哈希环上所处的位置直接进行读写。通过元数据将克隆对象与源对象进行关联,可以利用源对象相关的元数据计算出源对象的位置,并将克隆对象存储在源对象的节点上。在写入数据时,也无需从源对象的节点中读出源对象进行写操作,而是直接写入源对象的节点中。这样,可以避免读写路径变长,提高克隆镜像的性能,同时,还能避免数据的迁移以及写入放大的问题。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

如图9所示,为本实施例所提供的提高克隆镜像性能的装置的示意图,上述装置900包括:第一判断模块901、获取模块902、计算模块903、读写模块904。其中:

第一判断模块901,用于根据获取到的待读写对象,判断与待读写对象对应的镜像是否存在预先设置的全局镜像继承关系,全局镜像继承关系包括源镜像与克隆镜像的继承关系;

第一获取模块902,用于若存在全局镜像继承关系,则根据全局镜像继承关系获取与待读写对象对应的源对象的元数据,元数据包括用于计算待读写对象对应的源对象所在的一致性哈希节点的信息;

计算模块903,用于根据元数据计算一致性哈希值,得到待读写对象对应的源对象所在的一致性哈希节点;

读写模块904,用于在待读写对象对应的源对象所在的一致性哈希节点上进行读写。

进一步地,如图10所示,上述装置900还包括:第一设置模块905、生成模块906、记录模块907。其中,

第一设置模块905,用于对源镜像对应的数据进行设置;

生成模块906,用于将设置后的源镜像对应的数据通过克隆生成克隆镜像;

记录模块907,用于记录源镜像与克隆镜像的形成路径,基于路径,使源镜像与克隆镜像形成全局镜像继承关系。

进一步地,如图11所示,上述装置900还包括:第二设置模块908、第二获取模块909、第一存储模块910。其中,

第二设置模块908,用于基于进行设置后的全局镜像继承关系,设置让克隆镜像中的克隆对象与对应的源镜像的源对象相关联的元数据;

第二获取模块909,用于通过元数据获取与克隆对象对应的源对象,其中,源对象作为一致性哈希进行计算的数据;

第一存储模块910,用于将克隆对象存储在与克隆对象对应的源对象所计算出的一致性哈希节点上。

进一步地,上述读写模块904,还用于在待读写对象的源对象对应的一致性哈希节点上写入数据时,采用增量写入的方式进行数据写入,索引待读写对象的源对象对应的数据进行增补生成新对象。

进一步地,如图12所示,上述装置900还包括:第二判断模块911、第二存储模块912。其中,

第二判断模块911,用于判断新对象中是否存在基于全局镜像继承关系的元数据;

第二存储模块912,用于若新对象中存在基于全局镜像继承关系的元数据,则根据全局镜像继承关系的元数据对新对象进行一致性哈希存储。

进一步地,如图13所示,上述装置900还包括:第三设置模块913、第三存储模块914。其中,

第三设置模块913,用于基于全局镜像继承关系,给新对象设置对应的元数据;

第三存储模块914,用于基于新对象对应的元数据,通过一致性哈希对新对象进行存储,其中,元数据包括用于计算源对象所在的一致性哈希节点的信息。

进一步地,如图14所示,上述装置900还包括:索引模块915、第四存储模块916、写入模块917。其中,

索引模块915,用于在生成新对象后,索引源镜像的对象与新对象形成新克隆镜像;

第四存储模块916,用于为新克隆镜像中的对象设置对应的元数据,基于新克隆镜像中的对象设置对应的元数据,应用一致性哈希对新克隆镜像中的对象进行存储;

写入模块917,用于将新克隆镜像写入全局镜像继承关系中,其中,新克隆镜像中的对象的元数据包括与元数据所在的一致性哈希节点信息。

本申请实施例提供的提高克隆镜像性能的装置能够实现图2至图8的方法实施例中的各个实施方式,以及相应有益效果,为避免重复,这里不再赘述。

为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图15,图15为本实施例计算机设备基本结构框图。

计算机设备15包括通过系统总线相互通信连接存储器151、处理器152、网络接口153。需要指出的是,图中仅示出了具有组件151-153的计算机设备15,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可以与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

存储器151至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器151可以是计算机设备15的内部存储单元,例如该计算机设备15的硬盘或内存。在另一些实施例中,存储器151也可以是计算机设备15的外部存储设备,例如该计算机设备15上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,存储器151还可以既包括计算机设备15的内部存储单元也包括其外部存储设备。本实施例中,存储器151通常用于存储安装于计算机设备15的操作系统和各类应用软件,例如提高克隆镜像性能的方法的程序代码等。此外,存储器151还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器152在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器152通常用于控制计算机设备15的总体操作。本实施例中,处理器152用于运行存储器151中存储的程序代码或者处理数据,例如运行提高克隆镜像性能的方法的程序代码。

网络接口153可包括无线网络接口或有线网络接口,该网络接口153通常用于在计算机设备15与其他电子设备之间建立通信连接。

本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,计算机可读存储介质存储有提高克隆镜像性能的程序,上述提高克隆镜像性能的程序可被至少一个处理器执行,以使至少一个处理器执行如上述的提高克隆镜像性能的方法的步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例的提高克隆镜像性能的方法。

本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

以上实施例仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1