发明内容
本发明的目的在于提供一种数据同步方法及装置,以有效减小现有技术的检测宿主机上承载的虚拟主机信息与云管理平台上的虚拟主机信息是否一致所耗费的时间。
第一方面,本发明实施例提供的一种数据同步方法,应用于分布式存储系统,所述分布式存储系统中包括承载有虚拟主机的宿主机、对所述宿主机上的虚拟主机进行管理的控制服务器,所述控制服务器中包括有所管理的虚拟主机的配置信息,所述方法包括:
所述控制服务器获得所述管理的虚拟主机的配置信息的特征值;
所述控制服务器获得所述宿主机上承载的虚拟主机的配置信息的特征值;
所述控制服务器比对所述管理的虚拟主机的配置信息的特征值与所述获得的所述宿主机上承载的虚拟主机的配置信息的特征值是否一致,其中,进行相互比对的特征值所对应的配置信息所属的虚拟主机相同;
若一致,所述控制服务器则判定所述控制服务器所管理的虚拟主机的配置信息与所述宿主机所承载的所述虚拟主机的配置信息一致。
结合第一方面,本发明实施例还提供了第一方面的第一种可能实施方式,其中,所述控制服务器获得所述管理的虚拟主机的配置信息的特征值,包括:
所述控制服务器通过第一算法逐个获得所述管理的每个虚拟主机的配置信息的第一特征值;
所述控制服务器获得所述宿主机上承载的虚拟主机的配置信息的特征值,包括:
所述控制服务器接收所述宿主机发送的所述宿主机上承载的每个虚拟主机的配置信息的第三特征值,所述第三特征值为所述宿主机逐个对所承载的虚拟主机的配置信息通过所述第一算法获得;
所述控制服务器判断所述管理的虚拟主机的配置信息的特征值与所述获得的所述宿主机上承载的虚拟主机的配置信息的特征值是否一致,包括:
所述控制服务器逐个比对每个第一特征值与每个第三特征值是否一致,其中进行相互比对的第一特征值和第三特征值两者中,所述两者中的第一特征值对应的所述控制服务器所管理的虚拟主机和第三特征值对应的所述宿主机上承载的虚拟主机相同。
结合第一方面的第一种可能实施方式,本发明实施例还提供了第一方面的第二种可能实施方式,其中,所述方法还包括:
所述控制服务器当发现在进行两两比较的第一特征值和第三特征值中,出现目标第一特征值和目标第三特征值不一致时,所述控制服务器按照所述目标第三特征值对应的所述宿主机上的虚拟机的配置信息修改所述目标第一特征值对应的所述管理的虚拟主机的配置信息。
结合第一方面,本发明实施例还提供了第一方面的第三种可能实施方式,其中,所述控制服务器获得所述管理的虚拟主机的配置信息的特征值,包括:
所述控制服务器通过第一算法逐个获得所述管理的每个虚拟主机的配置信息的第一特征值;
所述控制服务器将所述获得的所有虚拟主机的配置信息的第一特征值组合成第一特征值数据,其中,组合成所述第一特征数据时每个第一特征值排列顺序按照所述第一特征值对应的虚拟主机的第一排列顺序进行排列;
所述控制服务器通过第二算法获得所述第一特征值数据的第二特征值;
所述控制服务器获得所述宿主机上承载的虚拟主机的配置信息的特征值,包括:
所述控制服务器接收所述宿主机发送的所述宿主机上承载的每个虚拟主机的配置信息的第三特征值,所述第三特征值为所述宿主机逐个对所承载的虚拟主机的配置信息通过所述第一算法获得;
所述控制服务器将获得的所述宿主机发送的每个虚拟主机的配置信息对应的第三特征值组合成第三特征值数据,其中,组合成所述第三特征值数据时每个第三特征值排列顺序按照所述第三特征值对应的虚拟主机的排列顺序进行排列,所述第三特征值对应的虚拟主机的排列顺序采用与所述控制服务器管理的虚拟主机排列顺序相同的所述第一排列顺序排列;
所述控制服务器通过所述第二算法获得所述第三特征值数据的第四特征值;
所述控制服务器判断所述管理的虚拟主机的配置信息的特征值与所述获得的所述宿主机上承载的虚拟主机的配置信息的特征值是否一致,包括:
所述控制服务器判断所述第二特征值与所述第四特征值是否一致。
结合第一方面的第三种可能实施方式,本发明实施例还提供了第一方面的第四种可能实施方式,其中,所述方法还包括:
当控制服务器判断所述第二特征值与所述第四特征值不一致时,所述控制服务器逐个比对所述第一特征值数据中的每个第一特征值与所述第三特征值数据中的每一个第三特征值是否一致,其中,进行相互比对的第一特征值和第三特征值两者中,第一特征值对应的所述控制服务器所管理的虚拟主机和第三特征值对应的所述宿主机上承载的虚拟主机相同;
当发现在进行两两比较的第一特征值和第三特征值中,出现目标第一特征值和目标第三特征值不一致时,所述控制服务器根据所述目标第三特征值对应的所述宿主机上的虚拟机的配置信息修改所述目标第一特征值对应的所述管理的虚拟主机的配置信息。
第二方面,本发明实施例还提供了一种数据同步装置,其特征在于,应用于分布式存储系统,所述分布式存储系统中包括承载有虚拟主机的宿主机、对所述宿主机上的虚拟主机进行管理的控制服务器,所述控制服务器中包括有所管理的虚拟主机的配置信息,所述控制服务器包括:
第一获取单元,用于获得所述管理的虚拟主机的配置信息的特征值;
第二获取单元,用于获得所述宿主机上承载的虚拟主机的配置信息的特征值;
判断单元,用于比对所述管理的虚拟主机的配置信息的特征值与所述获得的所述宿主机上承载的虚拟主机的配置信息的特征值是否一致,其中,进行相互比对的特征值所对应的配置信息所属的虚拟主机相同;
判定单元,用于当所述判断单元判断所述管理的虚拟主机的配置信息的特征值与所述获得的所述宿主机上承载的虚拟主机的配置信息的特征值一致时,判定所述控制服务器所管理的虚拟主机的配置信息与所述宿主机所承载的所述虚拟主机的配置信息一致。
结合第二方面,本发明实施例还提供了第二方面的第一种可能实施方式,其中,所述第一获取单元包括:
第一计算子单元,用于通过第一算法逐个获得所述管理的每个虚拟主机的配置信息的第一特征值;
所述第二获取单元包括:
第一接收子单元,用于接收所述宿主机发送的所述宿主机上承载的每个虚拟主机的配置信息的第三特征值,所述第三特征值为所述宿主机逐个对所承载的虚拟主机的配置信息通过所述第一算法获得;
所述判断单元包括:
第一比对子单元,用于逐个比对每个第一特征值与每个第三特征值是否一致,其中进行相互比对的第一特征值和第三特征值两者中,所述两者中的第一特征值对应的所述控制服务器所管理的虚拟主机和第三特征值对应的所述宿主机上承载的虚拟主机相同。
结合第二方面的第一种可能实施方式,本发明实施例还提供了第二方面的第二种可能实施方式,其中,所述判断单元还包括:
第一修复子单元,用于当所述第一比对子单元发现在进行两两比较的第一特征值和第三特征值中,出现目标第一特征值和目标第三特征值不一致时,所述控制服务器按照所述目标第三特征值对应的所述宿主机上的虚拟机的配置信息修改所述目标第一特征值对应的所述管理的虚拟主机的配置信息。
结合第二方面,本发明实施例还提供了第二方面的第三种可能实施方式,其中,所述第一获取单元包括:
第二计算子单元,用于通过第一算法逐个获得所述管理的每个虚拟主机的配置信息的第一特征值;
第一组合子单元,用于将所述获得的所有虚拟主机的配置信息的第一特征值组合成第一特征值数据,其中,组合成所述第一特征数据时每个第一特征值排列顺序按照所述第一特征值对应的虚拟主机的第一排列顺序进行排列;
第三计算子单元,用于通过第二算法获得所述第一特征值数据的第二特征值;
所述第二获取单元包括:
第二接收子单元,用于接收所述宿主机发送的所述宿主机上承载的每个虚拟主机的配置信息的第三特征值,所述第三特征值为所述宿主机逐个对所承载的虚拟主机的配置信息通过所述第一算法获得;
第二组合子单元,用于将获得的所述宿主机发送的每个虚拟主机的配置信息对应的第三特征值组合成第三特征值数据,其中,组合成所述第三特征值数据时每个第三特征值排列顺序按照所述第三特征值对应的虚拟主机的排列顺序进行排列,所述第三特征值对应的虚拟主机的排列顺序采用与所述控制服务器管理的虚拟主机排列顺序相同的所述第一排列顺序排列;
第四计算子单元,用于通过所述第二算法获得所述第三特征值数据的第四特征值;
所述判断单元包括:
第二比对子单元,用于判断所述第二特征值与所述第四特征值是否一致。
结合第二方面的第三种可能实施方式,本发明实施例还提供了第二方面的第四种可能实施方式,其中,所述判断单元还包括:
第三比对子单元,用于所述第二比对子单元判断所述第二特征值与所述第四特征值不一致时,所述控制服务器逐个比对所述第一特征值数据中的每个第一特征值与所述第三特征值数据中的每一个第三特征值是否一致,其中,进行相互比对的第一特征值和第三特征值两者中,第一特征值对应的所述控制服务器所管理的虚拟主机和第三特征值对应的所述宿主机上承载的虚拟主机相同;
第二修复子单元,用于当所述第三比对子单元发现在进行两两比较的第一特征值和第三特征值中,出现目标第一特征值和目标第三特征值不一致时,根据所述目标第三特征值对应的所述宿主机上的虚拟机的配置信息修改所述目标第一特征值对应的所述管理的虚拟主机的配置信息。
本发明实施例与现有技术的检测宿主机上承载的虚拟主机的配置信息与云管理平台上的虚拟主机的配置信息是否一致时,将大批量的宿主机上承载的虚拟主机的配置信息直接与云管理平台上的大批量的虚拟主机的配置信息比对,比对时间过久相比,本发明实施例将所述宿主机上承载的虚拟主机的配置信息计算出特征值,将所述控制服务器上管理的虚拟主机的配置信息计算出特征值,通过比对所述宿主机和所述控制服务器上的特征值判断所述宿主机上承载的虚拟主机的配置信息与所述控制服务器上管理的虚拟主机的配置信息是否一致,有效降低了现有技术的检测宿主机上承载的虚拟主机信息与云管理平台上的虚拟主机信息是否一致所耗费的时间。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例应用于分布式存储系统,所述分布式存储系统中包括承载有虚拟主机的宿主机、对所述宿主机上的虚拟主机进行管理的控制服务器,所述控制服务器中包括有所管理的虚拟主机的配置信息。
发明人在研究现有技术时发现,现有技术在检测宿主机上承载的虚拟主机信息与云管理平台上的虚拟主机信息是否一致时,将宿主机上承载的虚拟主机信息直接与云管理平台上的虚拟主机信息比对,由于虚拟主机的信息数据量很大,直接比对大批量数据,必会导致比对时间过久。
因此,为有效减小现有技术的检测宿主机上承载的虚拟主机信息与云管理平台上的虚拟主机信息是否一致所耗费的时间,本发明实施例所提供的一种数据同步方法如图1所示,包括:
S11:控制服务器获得管理的虚拟主机的配置信息的特征值;
所述虚拟主机的配置信息包括虚拟主机的处理器、内存和硬盘等数据,在数据库中所述虚拟主机的配置信息可以是以二进制数值的形式存放的,通过例如哈希算法的方法能够计算出所述虚拟主机的配置信息的特征值,本发明实施例中的特征值是可以用以代表配置信息的数据特征的数值,也可以认为是配置信息所包括数据的身份信息,具体采用哪种算法获得配置信息的特征值,本发明实施例不做限定。
本发明实施例中,所述虚拟主机可以具有身份标识,因此每一个虚拟主机的身份表示对应虚拟主机的配置信息。
所述控制服务器可以通过哈希算法计算出所述虚拟主机的配置信息的特征值。
S12:所述控制服务器获得宿主机上承载的虚拟主机的配置信息的特征值;
所述宿主机承载着多个虚拟主机,所述宿主机可以通过哈希算法计算其所承载的虚拟主机的配置信息的特征值,其中,所述宿主机算法所承载的虚拟主机的配置信息的特征值的计算方法与所述控制服务器计算出所述虚拟主机的配置信息的特征值的计算方法是一致的。
需要说明的是,在实际操作中,所述控制服务器获得所述宿主机所承载的虚拟主机的配置信息的特征值,方法有多种,例如:可以是宿主机直接计算获得后,发送给所述控制服务器;也可以是所述控制服务器从第三方获得所述宿主机上承载的虚拟主机的配置系想你的特征值;也可以是直接获得所述宿主机上的配置信息后,由所述控制服务器自己进行计算获得。本发明实施例并不对所述控制服务器如何获得宿主机所承载的虚拟主机的配置信息的特征值的具体方法做限定。
S13:所述控制服务器比对管理的虚拟主机的配置信息的特征值和宿主机上承载的虚拟主机的配置信息的特征值是否一致;其中,进行相互比对的特征值所对应的配置信息所属的虚拟主机相同。
所述控制服务器接收到所述宿主机发送的所述宿主机上承载的虚拟主机的配置信息的特征值,再与所述控制服务器上存储的所述管理的虚拟主机的配置信息的特征值比对,当然,只有虚拟主机相同的情况下,所述虚拟主机的配置信息的比对才有意义。
S14:当管理的虚拟主机的配置信息的特征值和宿主机上承载的虚拟主机的配置信息的特征值一致时,所述控制服务器判定所述控制服务器所管理的虚拟主机的配置信息与所述宿主机所承载的所述虚拟主机的配置信息一致
在实际实践中,为保证相同的虚拟主机之间进行比对,可以分别赋予所述宿主机上承载的虚拟主机和控制服务器上所管理的虚拟主机以身份信息ID,相同的虚拟主机,ID号相同。虚拟主机的身份信息与其配置信息是一一对应的,因此所述控制服务器上的每个所管理的虚拟主机的身份信息对应一个特征值,所述宿主机上的每个所承载的虚拟主机的身份信息对应一个特征值,比对管理的虚拟主机的配置信息的特征值和宿主机上承载的虚拟主机的配置信息的特征值,若一致,则说明所述宿主机上承载的所述虚拟主机的身份信息对应的虚拟主机的配置信息与所述控制服务器上所管理的所述虚拟主机的身份信息对应的虚拟主机的配置信息是一致的,即所述宿主机上承载的虚拟主机的配置信息与所述控制服务器上管理的虚拟主机的配置信息是同步的。
因此,本发明实施例与现有技术的检测宿主机上承载的虚拟主机的配置信息与云管理平台上的虚拟主机的配置信息是否一致时,将大批量的宿主机上承载的虚拟主机的配置信息直接与云管理平台上的大批量的虚拟主机的配置信息比对,比对时间过久相比,本发明实施例将所述宿主机上承载的虚拟主机的配置信息计算出特征值,将所述控制服务器上管理的虚拟主机的配置信息计算出特征值,通过比对所述宿主机和所述控制服务器上的特征值判断所述宿主机上承载的虚拟主机的配置信息与所述控制服务器上管理的虚拟主机的配置信息是否一致,有效降低了现有技术的检测宿主机上承载的虚拟主机信息与云管理平台上的虚拟主机信息是否一致所耗费的时间。
在进行具体特征值比较时,根据比较的具体方法不同,本发明实施例还提供了另一种实施例,如图2所示,所述数据同步方法包括:
S21:控制服务器获得管理的虚拟主机的配置信息的第一特征值;
所述控制服务器上存储有所管理的虚拟主机的配置信息,通过第一算法逐个获得所述管理的每个虚拟主机的配置信息的第一特征值。
例如,所述控制服务器上所管理的5台不同的虚拟主机,所述5台不同的虚拟主机的身份信息依次为ID1、ID2、ID3、ID4和ID5,通过第一算法逐个计算这5台不同的虚拟主机的配置信息的特征值,所述控制服务器上的所管理的虚拟主机的身份信息与第一特征值的对应关系可以是:身份信息为ID1的虚拟主机的配置信息的第一特征值为A1,身份信息为ID2的虚拟主机的配置信息的第一特征值为A2,身份信息为ID3的虚拟主机的配置信息的第一特征值为A3,身份信息为ID4的虚拟主机的配置信息的第一特征值为A4,身份信息为ID5的虚拟主机的配置信息的第一特征值为A5。因此,所述控制服务器的所管理的虚拟主机的身份信息与该虚拟主机的配置信息的特征值一一对应。例如,所述控制服务器设定第一存储空间,将所管理的虚拟主机的身份信息与其特征值对应存储,例如,ID1对应A1,ID2对应A2,ID3对应A3,ID4对应A4,ID5对应A5。
S22:宿主机获得所承载的每个虚拟主机的配置信息的第三特征值;
所述第三特征值为所述宿主机逐个对所承载的虚拟主机的配置信息通过所述第一算法获得,需要说明的是,宿主机在计算配置信息特征值时的算法,可以和控制服务器计算配置信息是的算法相同。
例如,所述宿主机承载3台不同的虚拟主机的,其虚拟主机的身份信息依次为ID1、ID2和ID3。
所述宿主机通过第一算法逐个计算获得所承载的每个虚拟主机的配置信息的第三特征值,例如,所述宿主机上的所承载的虚拟主机的身份信息与第三特征值的对应关系可以是:身份信息为ID1的虚拟主机的配置信息的第三特征值为B1,身份信息为ID2的虚拟主机的配置信息的第三特征值为B2,身份信息为ID3的虚拟主机的配置信息的第三特征值为B3。
S23:宿主机将第三特征值发送至控制服务器;
所述宿主机将所承载的虚拟主机的身份信息和其虚拟主机的特征值发送至所述服务器,例如,所述宿主机将身份信息为ID1的虚拟主机的配置信息的第三特征值为B1,身份信息为ID2的虚拟主机的配置信息的第三特征值为B2,身份信息为ID3的虚拟主机的配置信息的第三特征值为B3发送至所述控制服务器,所述控制服务器设定第二存储空间,存储所述第三特征值,存储的方式可以是将所述宿主机承载的虚拟主机的身份信息与其特征值对应存储,例如ID1对应BI,ID2对应B2,ID3对应B3。
S24:控制服务器比对每个第一特征值与第三特征值是否一致;
所述控制服务器逐个比对每个第一特征值与每个第三特征值是否一致,其中进行相互比对的第一特征值和第三特征值两者中,所述两者中的第一特征值对应的所述控制服务器所管理的虚拟主机和第三特征值对应的所述宿主机上承载的虚拟主机相同。
例如,所述控制服务器在所述第一存储空间内取出所述身份信息为ID1的第一特征值A1,再由所述第二存储空间取出所述身份信息为ID1的第三特征值B1,比对A1和B1是否相同,若不相同,则执行S25。
S25:控制服务器判定控制服务器所管理的虚拟主机的配置信息与宿主机所承载的所述虚拟主机的配置信息不一致;
在执行S24时,若进行相互比对的第一特征值和第三特征值不相同,例如进行比对的第一特征值A1和第三特征值B1的相同,则执行S27。
S27:控制服务器判定控制服务器所管理的虚拟主机的配置信息与宿主机所承载的所述虚拟主机的配置信息一致。
本发明实施例中,在执行S25之后,还可以包括执行S26。
S26:控制服务器修改控制服务器所管理的虚拟主机的配置信息;
所述控制器在执行S25时,判定控制服务器所管理的虚拟主机的配置信息与宿主机所承载的所述虚拟主机的配置信息不一致,由于每个第一特征值和第三特征值都对应一个虚拟主机的身份信息,因此,所述控制服务器当发现在进行两两比较的第一特征值和第三特征值中,出现目标第一特征值和目标第三特征值不一致时,所述控制服务器按照所述目标第三特征值对应的所述宿主机上的虚拟机的配置信息修改所述目标第一特征值对应的所述管理的虚拟主机的配置信息。
例如,判定所述第一特征值A1和第三特征值B1不一致,则所述第一特征值A1和第三特征值B1所对应的身份信息均为ID1,所述控制服务器以所述宿主机上的身份信息为ID1的虚拟主机的配置信息为修改依据,修改所述控制服务器所管理的身份信息为ID1的虚拟主机的配置信息,保证所述控制服务器所管理的虚拟主机的配置信息与所述宿主机所承载的虚拟主机的配置信息一致。
因此,本发明实施例不仅能够有效减小现有技术的检测宿主机上承载的虚拟主机信息与云管理平台上的虚拟主机信息是否一致所耗费的时间,有效减小了现有技术的大批量数据比对所消耗的时间,并且,能够检测出所述控制服务器所管理的虚拟主机的配置信息中,与所述宿主机所承载的虚拟主机的配置信息不一致的虚拟主机的身份信息,便于快速而有效的修改所述控制服务器上的不一致的虚拟主机的身份信息。
在进行具体特征值比较时,根据比较的具体方法不同,本发明实施例还提供了另一种实施例,如图3所示,所述数据同步方法包括:
S31:控制服务器获得管理的虚拟主机的配置信息的第一特征值;
所述控制服务器上存储有所管理的虚拟主机的配置信息,通过第一算法逐个获得所述管理的每个虚拟主机的配置信息的第一特征值。
例如,所述控制服务器上存储有5台不同的虚拟主机,所述5台不同的虚拟主机的身份信息依次为ID1、ID2、ID3、ID4和ID5,通过第一算法逐个计算这5台不同的虚拟主机的配置信息的特征值,所述控制服务器上的所管理的虚拟主机的身份信息与第一特征值的对应关系可以是:身份信息为ID1的虚拟主机的配置信息的第一特征值为A1,身份信息为ID2的虚拟主机的配置信息的第一特征值为A2,身份信息为ID3的虚拟主机的配置信息的第一特征值为A3,身份信息为ID4的虚拟主机的配置信息的第一特征值为A4,身份信息为ID5的虚拟主机的配置信息的第一特征值为A5。因此,所述控制服务器的所管理的虚拟主机的身份信息与该虚拟主机的配置信息的特征值一一对应。例如,所述控制服务器设定第一存储空间,将所管理的虚拟主机的身份信息与其特征值对应存储,例如,ID1对应A1,ID2对应A2,ID3对应A3,ID4对应A4,ID5对应A5。
S32:所述控制服务器通过第二算法获得所述第一特征值数据的第二特征值;
所述控制服务器将所述获得的所有虚拟主机的配置信息的第一特征值组合成第一特征值数据,其中,组合成所述第一特征数据时每个第一特征值排列顺序按照所述第一特征值对应的虚拟主机的第一排列顺序进行排列。
例如,所述宿主机承载3台不同的虚拟主机的,其虚拟主机的身份信息依次为ID1、ID2和ID3,所述宿主机请求所述控制服务器将身份信息分别为ID1、ID2和ID3的配置信息发送至所述宿主机。相应的所述控制服务器记录为所述宿主机发送的所述虚拟主机的身份信息,所述控制服务器设定第三存储空间,存储所管理的所述虚拟主机的身份信息及其第一特征值,例如是ID1对应A1,ID2对应A2,ID3对应A3,
按照第一排列顺序排列所述控制服务器所管理的虚拟主机的身份信息,例如顺序为ID1、ID2、DI3,根据第一排列顺序排列所述第一特征值组成第一特征值数组,例如是A1A2A3。
所述控制服务器通过第二算法获得所述第一特征值数据的第二特征值。例如,通过第二算法计算A1A2A3的第二特征值,假设是A。
S33:宿主机获得所承载的每个虚拟主机的配置信息的第三特征值;
所述宿主机通过第一算法逐个计算获得所承载的每个虚拟主机的配置信息的第三特征值,例如,所述宿主机上的所承载的虚拟主机的身份信息与第三特征值的对应关系可以是:身份信息为ID1的虚拟主机的配置信息的第三特征值为B1,身份信息为ID2的虚拟主机的配置信息的第三特征值为B2,身份信息为ID3的虚拟主机的配置信息的第三特征值为B3。
S34:宿主机将第三特征值发送至控制服务器;
所述宿主机将所承载的虚拟主机的身份信息和其虚拟主机的特征值发送至所述服务器,例如,所述宿主机将身份信息为ID1的虚拟主机的配置信息的第三特征值为B1,身份信息为ID2的虚拟主机的配置信息的第三特征值为B2,身份信息为ID3的虚拟主机的配置信息的第三特征值为B3发送至所述控制服务器,所述控制服务器设定第二存储空间,存储所述第三特征值,存储的方式可以是将所述宿主机承载的虚拟主机的身份信息与其特征值对应存储,例如ID1对应BI,ID2对应B2,ID3对应B3。
S35:所述控制服务器通过所述第二算法获得所述第三特征值数据的第四特征值;
所述控制服务器将获得的所述宿主机发送的每个虚拟主机的配置信息对应的第三特征值组合成第三特征值数据,其中,组合成所述第三特征值数据时每个第三特征值排列顺序按照所述第三特征值对应的虚拟主机的排列顺序进行排列,所述第三特征值对应的虚拟主机的排列顺序采用与所述控制服务器管理的虚拟主机排列顺序相同的所述第一排列顺序排列。
所述控制服务器由所述第二存储空间取出所述第三特征值B1、B2和B3,按照所述第一排列顺序组合成B1B2B3。
所述控制服务器通过所述第二算法获得所述第三特征值数据的第四特征值。例如,计算得出B1B2B3的第四特征值,例如是B。
S36:控制服务器比对第二特征值与第四特征值是否一致;
当控制服务器判断第二特征值与第四特征值一致时,则执行S37。
S37:控制服务器判定控制服务器所管理的虚拟主机的配置信息与宿主机所承载的所述虚拟主机的配置信息一致。
由于数据的特征值与数据是一一对应的,即使两个数组内各元素的数值相同但是排列顺序不同,那么特征是也是不一致的,例如12345和12543的特征值肯定不一致。因此,第二特征值与第四特征值是不一致,则第一特征值数组与第三特征值数组肯定不一致。
当控制服务器判断第二特征值与第四特征值不一致时,则执行S38;
S38:所述控制服务器逐个比对所述第一特征值和第三特征值;
当控制服务器判断所述第二特征值与所述第四特征值不一致时,所述控制服务器逐个比对所述第一特征值数据中的每个第一特征值与所述第三特征值数据中的每一个第三特征值是否一致,其中,进行相互比对的第一特征值和第三特征值两者中,第一特征值对应的所述控制服务器所管理的虚拟主机和第三特征值对应的所述宿主机上承载的虚拟主机相同。
例如,选出所述虚拟主机的身份信息为ID1所对应的第一特征值A1和第三特征值B1,比较A1和B1是否一致,若不一致,则执行S39;
S39:当第一特征值和第三特征值不一致时,所述控制服务器修改控制服务器所管理的虚拟主机的配置信息;
判定所述第一特征值A1和第三特征值B1不一致,则所述第一特征值A1和第三特征值B1所对应的身份信息均为ID1,所述控制服务器以所述宿主机上的身份信息为ID1的虚拟主机的配置信息为修改依据,修改所述控制服务器所管理的身份信息为ID1的虚拟主机的配置信息,保证所述控制服务器所管理的虚拟主机的配置信息与所述宿主机所承载的虚拟主机的配置信息一致。
例如所述控制服务器的第一特征值数据为A1A2A3,对应的虚拟主机的身份信息依次为ID1、ID2、ID3;所述宿主机的第二特征值数据为B1B2B3,对应的虚拟主机的身份信息依次为ID1、ID2、ID3,按照顺序比对A1和B1,A2和B2,A3和B3,如果A1和B1不同,则以虚拟主机的身份信息为ID1的虚拟主机的配置信息为基准,修改控制服务器上的虚拟主机的身份信息为ID1的虚拟主机的配置信息,保证所述控制服务器所管理的虚拟主机的配置信息与所述宿主机所承载的虚拟主机的配置信息一致。
本发明实施例提供的第一实施例、第二实施例和第三实施例中,所述控制服务器均可以是云管理平台,例如可以是CONTROLSERVER;所述虚拟主机可以是云主机。
图4示出了本发明实施例提供的一种数据同步装置的实施例的结构框图,所述装置的实现原理和有益效果与前述方法实施例相同,本发明实施例未述及之处,可以参见前述方法实施例相应部分。所述数据同步装置应用于分布式存储系统,所述分布式存储系统中包括承载有虚拟主机的宿主机、对所述宿主机上的虚拟主机进行管理的控制服务器,所述控制服务器中包括有所管理的虚拟主机的配置信息,所述控制服务器包括:
第一获取单元401,用于获得所述管理的虚拟主机的配置信息的特征值;
第二获取单元402,用于获得所述宿主机上承载的虚拟主机的配置信息的特征值;
判断单元403,用于比对所述管理的虚拟主机的配置信息的特征值与所述获得的所述宿主机上承载的虚拟主机的配置信息的特征值是否一致,其中,进行相互比对的特征值所对应的配置信息所属的虚拟主机相同;
判定单元404,用于当所述判断单元403判断所述管理的虚拟主机的配置信息的特征值与所述获得的所述宿主机上承载的虚拟主机的配置信息的特征值一致时,判定所述控制服务器所管理的虚拟主机的配置信息与所述宿主机所承载的所述虚拟主机的配置信息一致。
在进行具体特征值比较时,根据比较的具体方法不同,本发明实施例还提供了另一种数据同步装置的实施例的结构框图,如图5所示,所述数据同步装置应用于分布式存储系统,所述分布式存储系统中包括承载有虚拟主机的宿主机、对所述宿主机上的虚拟主机进行管理的控制服务器,所述控制服务器中包括有所管理的虚拟主机的配置信息,所述控制服务器包括:
第一获取单元501,用于获得所述管理的虚拟主机的配置信息的特征值;
第二获取单元502,用于获得所述宿主机上承载的虚拟主机的配置信息的特征值;
判断单元503,用于判断所述管理的虚拟主机的配置信息的特征值与所述获得的所述宿主机上承载的虚拟主机的配置信息的特征值是否一致;
判定单元504,用于当所述判断单元503判断所述管理的虚拟主机的配置信息的特征值与所述获得的所述宿主机上承载的虚拟主机的配置信息的特征值不一致时,判定所述控制服务器所管理的虚拟主机的配置信息与所述宿主机所承载的所述虚拟主机的配置信息一致;
其中,所述第一获取单元501包括:
第一计算子单元505,用于通过第一算法逐个获得所述管理的每个虚拟主机的配置信息的第一特征值。
所述第二获取单元502包括:
第一接收子单元506,用于接收所述宿主机发送的所述宿主机上承载的每个虚拟主机的配置信息的第三特征值,所述第三特征值为所述宿主机逐个对所承载的虚拟主机的配置信息通过所述第一算法获得。
所述判断单元503包括:
第一比对子单元507,用于逐个比对每个第一特征值与每个第三特征值是否一致,其中进行相互比对的第一特征值和第三特征值两者中,所述两者中的第一特征值对应的所述控制服务器所管理的虚拟主机和第三特征值对应的所述宿主机上承载的虚拟主机相同。
所述判断单元503还包括:
第一修复子单元508,用于当所述第一比对子单元507发现在进行两两比较的第一特征值和第三特征值中,出现目标第一特征值和目标第三特征值不一致时,所述控制服务器按照所述目标第三特征值对应的所述宿主机上的虚拟机的配置信息修改所述目标第一特征值对应的所述管理的虚拟主机的配置信息。
在进行具体特征值比较时,根据比较的具体方法不同,本发明实施例还提供另一种数据同步装置的实施例的结构框图,如图6所述,所述数据同步装置应用于分布式存储系统,所述分布式存储系统中包括承载有虚拟主机的宿主机、对所述宿主机上的虚拟主机进行管理的控制服务器,所述控制服务器中包括有所管理的虚拟主机的配置信息,所述控制服务器包括:
第一获取单元601,用于获得所述管理的虚拟主机的配置信息的特征值;
第二获取单元602,用于获得所述宿主机上承载的虚拟主机的配置信息的特征值;
判断单元603,用于判断所述管理的虚拟主机的配置信息的特征值与所述获得的所述宿主机上承载的虚拟主机的配置信息的特征值是否一致;
判定单元604,用于当所述判断单元603判断所述管理的虚拟主机的配置信息的特征值与所述获得的所述宿主机上承载的虚拟主机的配置信息的特征值不一致时,判定所述控制服务器所管理的虚拟主机的配置信息与所述宿主机所承载的所述虚拟主机的配置信息一致;
其中,所述第一获取单元601包括:
第二计算子单元605,用于通过第一算法逐个获得所述管理的每个虚拟主机的配置信息的第一特征值;
第一组合子单元606,用于将所述获得的所有虚拟主机的配置信息的第一特征值组合成第一特征值数据,其中,组合成所述第一特征数据时每个第一特征值排列顺序按照所述第一特征值对应的虚拟主机的第一排列顺序进行排列;
第三计算子单元607,用于通过第二算法获得所述第一特征值数据的第二特征值。
所述第二获取单元602包括:
第二接收子单元608,用于接收所述宿主机发送的所述宿主机上承载的每个虚拟主机的配置信息的第三特征值,所述第三特征值为所述宿主机逐个对所承载的虚拟主机的配置信息通过所述第一算法获得;
第二组合子单元609,用于将获得的所述宿主机发送的每个虚拟主机的配置信息对应的第三特征值组合成第三特征值数据,其中,组合成所述第三特征值数据时每个第三特征值排列顺序按照所述第三特征值对应的虚拟主机的排列顺序进行排列,所述第三特征值对应的虚拟主机的排列顺序采用与所述控制服务器管理的虚拟主机排列顺序相同的所述第一排列顺序排列;
第四计算子单元610,用于通过所述第二算法获得所述第三特征值数据的第四特征值。
所述判断单元603包括:
第二比对子单元611,用于判断所述第二特征值与所述第四特征值是否一致。
所述判断单元603还包括:
第三比对子单元612,用于所述第二比对子单元611判断所述第二特征值与所述第四特征值不一致时,所述控制服务器逐个比对所述第一特征值数据中的每个第一特征值与所述第三特征值数据中的每一个第三特征值是否一致,其中,进行相互比对的第一特征值和第三特征值两者中,第一特征值对应的所述控制服务器所管理的虚拟主机和第三特征值对应的所述宿主机上承载的虚拟主机相同;
第二修复子单元613,用于当所述第三比对子单元612发现在进行两两比较的第一特征值和第三特征值中,出现目标第一特征值和目标第三特征值不一致时,根据所述目标第三特征值对应的所述宿主机上的虚拟机的配置信息修改所述目标第一特征值对应的所述管理的虚拟主机的配置信息。
图4、图5和图6所述的装置的实施例,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
参见图7,本发明实施例还提供一种数据同步装置700,包括:处理器701,存储器702,总线703和通信接口704,所述处理器701、通信接口704和存储器702通过总线703连接;处理器701用于执行存储器702中存储的可执行模块,例如计算机程序。
其中,存储器702可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口704(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线703可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器702用于存储程序,所述处理器701在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流程定义的装置所执行的方法可以应用于处理器701中,或者由处理器701实现。
处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
另外,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例所提供的进行一种信息交互方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。