The embodiment of this application discloses a data conflict identification method for a data object, which includes: the first node receives an update message for the first field, the first field is a field of the first data object stored by the first data storage device, and the first node updates the first word stored by the first data storage device according to the preset rules. The first node sends a field update message to the second node, which includes the updated version number so that the second node can store the backup version number of the first field according to the second data storage device and the first field update message. The updated version number is used for data conflict identification, and the version number corresponding to the backup of the first field is updated by the preset rule when the second node updates the backup of the first field.
【技术实现步骤摘要】
一种数据对象的数据冲突识别方法
本申请涉及通信领域,尤其涉及一种数据对象的数据冲突识别方法。
技术介绍
基于容灾以及数据访问时延的考虑,对于HA(HighAvailable)要求较高的数据库系统,一般会采用多数据中心(DataCenter,DC)存储方案,将同一份数据分别存储到多个DC。DC之间数据的相互复制,可以很大程度降低数据丢失的风险,当一个DC发生故障导致数据丢失的时候,可以直接通过切换业务来保证HA。然而,如果同一份数据在不同的DC出现了不一致,无法达到数据一致性,则会产生数据冲突,这对于数据库系统来说是不可接受的。因此,数据冲突识别是数据库系统中的关键问题。现有的数据冲突识别方案中,数据库系统中的每一个数据对象分配一个版本号,即同一个数据对象即使在不同的数据存储设备,其版本号是相同的。当某个数据存储设备的某数据对象被更新时,其版本号会根据预设规则更新,如版本号的值自增1。当本端数据存储设备存储的某数据对象被更新时,管理该本端数据存储设备的节点会向系统中存储该数据对象的对端数据存储设备的管理节点发送更新消息,以知会被更新后的版本号和更新后的数据对象的内容。当对端数据存储设备的管理节点接收该更新消息时,会比较更新后的版本号和存储的数据对象的版本号是否符合预设规则,如果符合,则该管理节点会使得对端数据存储系统存储更新后的数据对象的内容和更新后的版本号,用于更新数据对象和版本号,以使得两端的数据存储设备的数据对象的内容一致。一个数据对象包括多个字段,而大多数情况下,当数据对象被更新,只是其中一个或几个字段被更新。若两个数据存储设备中同一个数据对象的不同 ...
【技术保护点】
1.一种数据对象的数据冲突识别方法,其特征在于,包括:第一节点接收对第一字段的更新消息,所述第一字段为第一数据存储设备存储的第一数据对象中的一个字段;所述第一节点根据预设规则更新所述第一数据存储设备存储的所述第一字段对应的版本号,以得到更新后的版本号,以使得所述第一字段对应所述更新后的版本号;所述第一节点向第二节点发送字段更新消息,所述字段更新消息包括所述更新后的版本号,以使得所述第二节点根据第二数据存储设备存储的所述第一字段的备份的版本号和所述更新后的版本号进行数据冲突识别,所述第一数据对象的备份包括所述第一字段的备份,所述第一字段的备份对应的版本号由所述第二节点对第一字段的备份进行更新操作时以所述预设规则进行更新。
【技术特征摘要】
1.一种数据对象的数据冲突识别方法,其特征在于,包括:第一节点接收对第一字段的更新消息,所述第一字段为第一数据存储设备存储的第一数据对象中的一个字段;所述第一节点根据预设规则更新所述第一数据存储设备存储的所述第一字段对应的版本号,以得到更新后的版本号,以使得所述第一字段对应所述更新后的版本号;所述第一节点向第二节点发送字段更新消息,所述字段更新消息包括所述更新后的版本号,以使得所述第二节点根据第二数据存储设备存储的所述第一字段的备份的版本号和所述更新后的版本号进行数据冲突识别,所述第一数据对象的备份包括所述第一字段的备份,所述第一字段的备份对应的版本号由所述第二节点对第一字段的备份进行更新操作时以所述预设规则进行更新。2.根据权利要求1所述方法,其特征在于,所述方法还包括:所述第一节点根据所述第一数据对象的各个字段的更新频率确定一个或多个字段组,所述一个或多个字段组中的任一字段组包括一个或多个字段,其中两个不同的字段组并无交集,所述多个字段组中的任一字段组的更新频率在预制范围内;所述第一节点为所述第一字段所在的第一字段组分配版本号,以使得所述第一字段组中的任一字段对应同一个版本号。3.根据权利要求2所述方法,其特征在于,所述第一节点根据预设规则更新所述第一字段对应的版本号之后,还包括:若所述第一字段组包括第二字段,所述第一节点根据所述预设规则更新所述第二字段对应的版本号,以得到所述更新后的版本号,以使得所述第二字段对应所述更新后的版本号。4.根据权利要求3所述方法,其特征在于,所述方法还包括:所述第一节点根据所述第一字段组的更新频率确定所述第二数据存储设备中对所述第一字段组中任一字段对应的版本号的存储空间。5.根据权利要求4所述方法,其特征在于,若所述第一字段组的更新频率大于所述第二字段组的更新频率,则所述第一字段组中任一字段对应的版本号的存储空间大于所述第二字段组中任一字段对应的版本号的存储空间。6.根据权利要求1-5中任一项所述方法,其特征在于,所述第一节点接收对第一字段的更新消息之后,还包括:所述第一节点根据所述更新消息更新所述第一字段,得到更新后的第一字段。7.根据权利要求6所述方法,其特征在于,所述字段更新消息包括所述更新后的第一字段,所述更新后的第一字段用于若所述第二节点根据所述第二数据存储设备存储的所述第一字段的备份的版本号和所述更新后的版本号进行数据冲突识别的结果为无数据冲突,则更新所述第一字段的备份为所述更新后的第一字段。8.根据权利要求1-7中任一项所述方法,其特征在于,所述预设规则为所述更新后的版本号等于所述版本号的值加1。9.一种数据对象的数据冲突识别方法,其特征在于,包括:第二节点接收第一节点发送的字段更新消息,所述字段更新消息包括更新后的版本号,所述更新后的版本号由所述第一节点接收对第一字段的更新操作,并根据预设规则更新所述第一数据存储设备存储的所述第一字段对应的版本号得到的,所述第一字段为第一数据存储设备存储的第一数据对象中的一个字段,所述第二数据存储设备存储有所述第一数据对象的备份,所述第一数据对象的备份包括所述第一字段的备份,所述第一字段的备份对应的版本号由所述第二节点对第一字段的备份进行更新操作时以所述预设规则进行更新;所述第二节点根据所述第二数据存储设备存储的所述第一字段的备份的版本号和所述更新后的版本号进行数据冲突识别。10.根据权利要求9所述方法,其特征在于,所述方法还包括:所述第二节点根据所述第二数据存储设备存储的所述第一数据对象的备份中的各个字段的更新频率确定一个或多个字段组,所述一个或多个字段组中的任一字段组包括一个或多个字段,其中两个不同的字段组并无交集,所述多个字段组中的任一字段组的更新频率在预制范围内;所述第二节点为所述第二数据存储设备存储的所述第一字段的备份所在的第一字段组分配版本号,以使得所述第一字段组中的任一字段对应同一个版本号。11.根据权利要求10所述方法,其特征在于,所述方法还包括:所述第二节点根据所述第一字段组的更新频率确定所述第二数据存储设备中所述第一字段组中任一字段对应的版本号的存储空间。12.根据权利要求4所述方法,其特征在于,若所述第一字段组的更新频率大于所述第二字段组的更新频率,则所述第一字段组中任一字段对应的版本号的存储空间大于所述第二字段组中任一字段对应的版本号的存储空间。13.根据权利要求9-12中任一项所述方法,其特征在于,所述第二节点根据所述第一字段的备份的版本号和所述更新后的版本号进行数据冲突识别包括:若根据所述预设规则所述更新后的版本号为比所述第一字段的备份的版本号更新的值,则所述第二节点对所述数据冲突识别的判定结果为存在数据冲突;若根据所述预设规则所述更新后的版本号为比所述第一字段的备份的版本号更新的值,则所述第二节点对所述数据冲突识别的判定结果为无数据冲突。14.根据权利要求13所述方法,其特征在于,所述第二节点根据所述第一字段的备份的版本号和所述更新后的版本号进行数据冲突识别之后,还包括:若所述数据冲突识别的结果为无数据冲突,则所述第二节点更新所述第一字段的备份的版本号为所述更新后的版本号。15.根据权利要求13或14所述方法,其特征在于,所述字段更新消息包括更新后的第一字段,所述更新后的第一字段由所述第一节点根据所述更新操作更新所述第一字段得到的;所述第二节点根据所述第一字段的备份的版本号和所述更新后的版本号进行数据冲突识别之后,还包括:若所述数据冲突识别的结果为无数据冲突,则所述第二节点更新所述第二数据存储设备中所述第一字段的备份为所述更新后的第一字段。16.根据权利要求15所述方法,其特征在于,所述第二节点更新所述第二数据存储设备中所述第一字段的备份为所述更新后的第一字段之后,还包括:若所述第一字段组包括第二字段,所述第二节点根据所述预设规则更新所述第二字段对应的版本号,以得到所述更新后的版本号,以使得所述第二字段对应所述更新后的版本号。17.根据权利要求9-16中任一项所述方法,其特征在于,所述预设规则包括所述更新后的版本号等于所述版本号的值加1。18.一种节点,其特征在于,包括:接收模块,用于接收对第一字段...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。