CN112506700A - 冲突处理方法、装置、电子设备及存储介质 - Google Patents

冲突处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112506700A
CN112506700A CN202011381476.6A CN202011381476A CN112506700A CN 112506700 A CN112506700 A CN 112506700A CN 202011381476 A CN202011381476 A CN 202011381476A CN 112506700 A CN112506700 A CN 112506700A
Authority
CN
China
Prior art keywords
data
target
conflict
area
region
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011381476.6A
Other languages
English (en)
Other versions
CN112506700B (zh
Inventor
肖彪
任飞子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202011381476.6A priority Critical patent/CN112506700B/zh
Publication of CN112506700A publication Critical patent/CN112506700A/zh
Application granted granted Critical
Publication of CN112506700B publication Critical patent/CN112506700B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Selective Calling Equipment (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开实施例提供了一种冲突处理方法、装置、电子设备及存储介质。方法包括:响应于接收到的数据回放指令,判断数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,其中,数据回放指令用于指示将对第二区域中的目标数据的目标操作回放至第一区域,第一区域与第二区域属于目标异地多活系统;在存在第一预设类型的冲突的情况下,根据预先根据目标业务类型确定的覆盖优先级,对冲突进行处理;其中,目标业务类型为目标数据所属业务的业务类型,覆盖优先级为用于指示优先选择保留的数据的指示信息。因此,本公开实施例的方案,可以适用于多种不同的业务场景下的冲突处理。

Description

冲突处理方法、装置、电子设备及存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种冲突处理方法、装置、电子设备及存储介质。
背景技术
随着互联网业务的扩展,越来越多的公司需要设立多个数据中心以满足业务需要。其中,异地多活具有提供异地容灾、提升用户访问速度、均衡机房建设成本等优势,因而异地多活是数据库做在多个数据中心之间提供服务最理想的方式。但是,在异地多活中,数据冲突是不可避免的。因而,在异地多活服务中保证数据一致性方面,冲突处理具有举足轻重的作用。
目前,冲突处理的主流方案是将同步消息的数据不一致类型分为消息延迟、消息丢失、消息重复等场景进行处理,并提前设置整个数据的处理流程,等不一致发生的时候,采用固定的处理策略。其中,采用数据同步工具实现上面的整个过程,业务不参与整个过程。
由上述可知,目前对于冲突处理的主流方案过于简单,只是根据更新时间的先后选择数据进行覆盖。但是,这种方式对于业务要求较高的场景无法满足。因此,现有技术的冲突处理方式过于简单,无法适用于多种不同的业务场景。
发明内容
为了解决背景技术中记载的技术问题,本公开实施例提供了一种冲突处理方法、装置、电子设备及存储介质,本公开的技术方案如下:
根据本公开实施例的第一方面,提供了一种冲突处理方法,所述方法包括:
响应于接收到的数据回放指令,判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,其中,所述数据回放指令用于指示将对第二区域中的目标数据的目标操作回放至第一区域,所述第一区域与所述第二区域属于所述目标异地多活系统;
在存在第一预设类型的冲突的情况下,根据预先根据目标业务类型确定的覆盖优先级,对所述冲突进行处理;
其中,所述目标业务类型为所述目标数据所属业务的业务类型,所述覆盖优先级为用于指示优先选择保留的数据的指示信息。
可选的,所述根据预先根据目标业务类型确定的覆盖优先级,对所述冲突进行处理,包括:
在所述覆盖优先级用于指示最新数据优先的情况下,将所述目标异地多活系统的区域中最新的目标数据,存储于所述第一区域中;
在所述覆盖优先级用于指示优先级最高的区域中的数据优先情况下,将所述目标异地多活系统中优先级最高的区域中的目标数据,保留在所述第一区域中;
在所述覆盖优先级用于指示用户选择的数据优先的情况下,显示预设提示信息,其中,所述预设提示信息用于提示用户选择需要在所述第一区域中保留的数据。
可选的,所述判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,包括:
在所述第一区域中未存在所述目标数据,且所述数据回放指令指示更新所述目标数据的情况下,确定存在更新不存在数据的冲突;
在所述第一区域中不存在所述目标数据,且所述数据回放指令指示删除所述目标数据的情况下,确定存在删除不存在数据的冲突;
其中,所述更新不存在数据的冲突,以及所述删除不存在的数据的冲突为第二预设类型的冲突。
可选的,所述判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,还包括:
在所述第一区域中存在所述目标数据,且在相同时刻在所述第二区域中重复执行所述目标操作的情况下,确定存在重复回放数据的冲突;
在所述第一区域中存在所述目标数据,所述数据回放指令指示更新所述目标数据,且在所述第二区域中执行所述目标操作的时刻与已记录的上一次更新目标区域中的任一区域中的所述目标数据的时刻相同的情况下,确定存在同时跨区域写入数据的冲突,其中,所述目标区域包括所述目标异地多活系统中除所述第二区域之外的区域;
其中,所述重复回放的冲突为第二预设类型的冲突,所述同时跨区域写入数据的冲突为所述第一预设类型的冲突。
可选的,所述判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,包括:
在所述第一区域中存在所述目标数据的情况下,根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型;
其中,所述敏感类型为敏感型或者非敏感型,所述敏感型用于指示所述第一区域将接收到的除所述第一区域之外的其他区域的数据作为冲突数据,所述非敏感型用于指示所述第一区域将接收到的除所述第一区域之外的其他区域的数据作为非冲突数据。
可选的,所述根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型,包括:
在预先确定的所述第一区域的敏感类型为所述非敏感型,所述目标操作为插入操作,且所述第二区域在执行所述目标操作之前已在所述第二区域中插入所述目标数据的情况下,确定存在插入已存在数据的冲突;
在预先确定的所述第一区域的敏感类型为所述非敏感型,所述目标操作为插入操作,且在所述第二区域中执行所述目标操作的时刻之后,又在所述第二区域中插入所述目标数据的情况下,确定存在插入过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述非敏感型,且所述目标操作为更新操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述第二区域中的所述目标数据的情况下,确定存在更新过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述非敏感型,所述目标操作为删除操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述第二区域中的所述目标数据的情况下,确定存在删除过期数据的冲突;
其中,所述插入已存在数据的冲突为所述第一预设类型的冲突,所述插入过期数据的冲突、所述更新过期数据的冲突以及所述删除过期数据的冲突为第二预设类型的冲突。
可选的,所述根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型,包括:
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为插入操作,且所述第二区域在执行所述目标操作之前已在目标区域中的任一区域中插入所述目标数据的情况下,确定存在插入已存在数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为更新操作,且所述第二区域在执行所述目标操作之前已处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域更新数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为删除操作,且所述第二区域在执行所述目标操作之前已处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域删除数据的冲突;
其中,所述目标区域包括所述目标异地多活系统中除所述第二区域之外的区域;
所述插入已存在数据的冲突、所述跨区域更新数据的冲突、所述跨区域删除数据的冲突为所述第一预设类型的冲突。
可选的,所述根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型,包括:
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为插入操作,且在所述第二区域中执行所述目标操作的时刻之后,又在目标区域中的任一区域中插入所述目标数据的情况下,确定存在插入过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为更新操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域更新过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为删除操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域删除过期数据的冲突;
其中,所述目标区域包括所述目标异地多活系统中除所述第二区域之外的区域;
所述插入过期数据的冲突、所述跨区域更新过期数据的冲突、所述跨区域删除过期数据的冲突为第二预设类型的冲突。
可选的,所述方法还包括:
在存在所述第二预设类型的冲突的情况下,跳过执行所述数据回放指令。
根据本公开实施例的第二方面,提供一种了冲突处理装置,所述装置包括:
判断模块,被配置为响应于接收到的数据回放指令,判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,其中,所述数据回放指令用于指示将对第二区域中的目标数据的目标操作回放至第一区域,所述第一区域与所述第二区域属于所述目标异地多活系统;
第一处理模块,被配置为在存在第一预设类型的冲突的情况下,根据预先根据目标业务类型确定的覆盖优先级,对所述冲突进行处理;
其中,所述目标业务类型为所述目标数据所属业务的业务类型,所述覆盖优先级为用于指示优先选择保留的数据的指示信息。
可选的,所述第一处理模块具体被配置为:
在所述覆盖优先级用于指示最新数据优先的情况下,将所述目标异地多活系统的区域中最新的目标数据,存储于所述第一区域中;
在所述覆盖优先级用于指示优先级最高的区域中的数据优先情况下,将所述目标异地多活系统中优先级最高的区域中的目标数据,保留在所述第一区域中;
在所述覆盖优先级用于指示用户选择的数据优先的情况下,显示预设提示信息,其中,所述预设提示信息用于提示用户选择需要在所述第一区域中保留的数据。
可选的,所述判断模块具体被配置为:
在所述第一区域中未存在所述目标数据,且所述数据回放指令指示更新所述目标数据的情况下,确定存在更新不存在数据的冲突;
在所述第一区域中不存在所述目标数据,且所述数据回放指令指示删除所述目标数据的情况下,确定存在删除不存在数据的冲突;
其中,所述更新不存在数据的冲突,以及所述删除不存在的数据的冲突为第二预设类型的冲突。
可选的,所述判断模块具体被配置为:
在所述第一区域中存在所述目标数据,且在相同时刻在所述第二区域中重复执行所述目标操作的情况下,确定存在重复回放数据的冲突;
在所述第一区域中存在所述目标数据,所述数据回放指令指示更新所述目标数据,且在所述第二区域中执行所述目标操作的时刻与已记录的上一次更新目标区域中的任一区域中的所述目标数据的时刻相同的情况下,确定存在同时跨区域写入数据的冲突,其中,所述目标区域包括所述目标异地多活系统中除所述第二区域之外的区域;
其中,所述重复回放的冲突为第二预设类型的冲突,所述同时跨区域写入数据的冲突为所述第一预设类型的冲突。
所述判断模块具体被配置为:
在所述第一区域中存在所述目标数据的情况下,根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型;
其中,所述敏感类型为敏感型或者非敏感型,所述敏感型用于指示所述第一区域将接收到的除所述第一区域之外的其他区域的数据作为冲突数据,所述非敏感型用于指示所述第一区域将接收到的除所述第一区域之外的其他区域的数据作为非冲突数据。
可选的,所述判断模块在根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型时,具体被配置为:
在预先确定的所述第一区域的敏感类型为所述非敏感型,所述目标操作为插入操作,且所述第二区域在执行所述目标操作之前已在所述第二区域中插入所述目标数据的情况下,确定存在插入已存在数据的冲突;
在预先确定的所述第一区域的敏感类型为所述非敏感型,所述目标操作为插入操作,且在所述第二区域中执行所述目标操作的时刻之后,又在所述第二区域中插入所述目标数据的情况下,确定存在插入过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述非敏感型,且所述目标操作为更新操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述第二区域中的所述目标数据的情况下,确定存在更新过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述非敏感型,所述目标操作为删除操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述第二区域中的所述目标数据的情况下,确定存在删除过期数据的冲突;
其中,所述插入已存在数据的冲突为所述第一预设类型的冲突,所述插入过期数据的冲突、所述更新过期数据的冲突以及所述删除过期数据的冲突为第二预设类型的冲突。
可选的,所述判断模块在根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型时,具体被配置为:
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为插入操作,且所述第二区域在执行所述目标操作之前已在目标区域中的任一区域中插入所述目标数据的情况下,确定存在插入已存在数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为更新操作,且所述第二区域在执行所述目标操作之前已处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域更新数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为删除操作,且所述第二区域在执行所述目标操作之前已处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域删除数据的冲突;
其中,所述目标区域包括所述目标异地多活系统中除所述第二区域之外的区域;
所述插入已存在数据的冲突、所述跨区域更新数据的冲突、所述跨区域删除数据的冲突为所述第一预设类型的冲突。
可选的,所述判断模块在根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型时,具体被配置为:
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为插入操作,且在所述第二区域中执行所述目标操作的时刻之后,又在目标区域中的任一区域中插入所述目标数据的情况下,确定存在插入过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为更新操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域更新过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为删除操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域删除过期数据的冲突;
其中,所述目标区域包括所述目标异地多活系统中除所述第二区域之外的区域;
所述插入过期数据的冲突、所述跨区域更新过期数据的冲突、所述跨区域删除过期数据的冲突为第二预设类型的冲突。
可选的,所述装置还包括:
第二处理模块,被配置为在存在所述第二预设类型的冲突的情况下,跳过执行所述数据回放指令。
根据本公开实施例的第三方面,提供一种电子设备,该电子设备包括:
处理器;
用于存储该处理器可执行指令的存储器;
其中,该处理器被配置为执行所述指令,以实现本公开提供的冲突处理方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备实现本公开提供的冲突处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以由电子设备的处理器执行时,使得电子设备能够执行如本公开提供的冲突处理方法。
本公开实施例提供的技术方案,能够在接收到用于指示将对第二区域中的目标数据的目标操作回放至第一区域的数据回放指令的情况下,判断该数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,并在存在第一预设类型的冲突的情况下,根据预先根据目标业务类型确定的覆盖优先级,对所述冲突进行处理,其中,第一区域与第二区域属于目标异地多活系统,目标业务类型为目标数据所属业务的业务类型,覆盖优先级为用于指示优先选择保留的数据的指示信息。
由此可见,本公开实施例提供的技术方案,预先根据业务类型为各个业务设置覆盖优先级,从而在数据回放过程中存在第一预设类型的冲突时,可以根据业务的覆盖优先级这一属性信息,对冲突进行处理,即根据业务的覆盖优先级选择需要保留的数据,因此,本公开实施例提供的技术方案可以针对不同类型的业务采用不同的冲突处理方式。即本公开实施例提供的技术方案可以适用于多种不同的业务场景下的冲突处理。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
图1是根据一示例性实施例示出的一种冲突处理方法的流程图;
图2是根据一示例性实施例示出的另一种冲突处理方法的流程图;
图3是根据一示例性实施例示出的判断冲突的流程示意图;
图4是根据一示例性实施例示出的一种冲突处理装置的框图;
图5是根据一示例性实施例示出的一种电子设备的框图;
图6是根据一示例性实施例示出的另一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
为了解决现有技术中,现有技术的冲突处理方式过于简单,无法适用于多种不同的业务场景的问题,本公开实施例提供了一种冲突处理方法、装置、电子设备及存储介质。
根据本公开实施例的第一方面,提供了一种冲突处理方法,如图1所示,该冲突处理方法可以包括以下步骤:
步骤101:响应于接收到的数据回放指令,判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突。
其中,其中,所述数据回放指令用于指示将对第二区域中的目标数据的目标操作回放至第一区域,所述第一区域与所述第二区域属于所述目标异地多活系统。
另外,处于同一个异地多活系统的多个区域中,其中某个区域中对目标数据执行目标操作后,该目标操作则需要回放至该异地多活系统中除该区域之外的其他区域中。
此外,异地多活一般是指在不同城市建立独立的数据中心,“活”是相对于冷备份而言的,冷备份是备份全量数据,平时不支撑业务需求,只有在主机房出现故障的时候才会切换到备用机房,而多活,是指这些机房在日常的业务中也需要走流量,做业务支撑。因此,数据一致性对异地多活系统至关重要,因而对于处于同一异地多活系统的多个区域,其中一个区域的数据的操作需要回放至其他区域。
然而,在数据回放过程中,可能存在冲突,而本发明的实施例,则可以在接收到用于指示将对第二区域中的目标数据回放至第一区域的数据回放指令的情况下,判断是否存在冲突,从而在存在冲突时,可以及时解决冲突。
步骤102:在存在第一预设类型的冲突的情况下,根据预先根据目标业务类型确定的覆盖优先级,对所述冲突进行处理。
其中,其中,所述目标业务类型为所述目标数据所属业务的业务类型,所述覆盖优先级为用于指示优先选择保留的数据的指示信息。因此,本公开的实施例中,在经过步骤101的判断,确定存在第一预设类型的冲突的情况下,可以根据目标数据所属业务的覆盖优先级这一属性信息,确定需要保留的数据,以有效解决冲突。
由上述可知,本公开实施例提供的冲突处理方法,能够在接收到用于指示将对第二区域中的目标数据的目标操作回放至第一区域的数据回放指令的情况下,判断该数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,并在存在第一预设类型的冲突的情况下,根据预先根据目标业务类型确定的覆盖优先级,对所述冲突进行处理,其中,第一区域与第二区域属于目标异地多活系统,目标业务类型为目标数据所属业务的业务类型,覆盖优先级为用于指示优先选择保留的数据的指示信息。
由此可见,本公开实施例提供的冲突处理方法,预先根据业务类型为各个业务设置覆盖优先级,从而在数据回放过程中存在第一预设类型的冲突时,可以根据业务的覆盖优先级这一属性信息,对冲突进行处理,即根据业务的覆盖优先级选择需要保留的数据,因此,本公开实施例提供的冲突处理方法可以针对不同类型的业务采用不同的冲突处理方式。即本公开实施例提供的冲突处理方法可以适用于多种不同的业务场景下的冲突处理。
根据本公开实施例的第二方面,提供了一种冲突处理方法,如图2所示,该冲突处理方法可以包括以下步骤:
步骤201:响应于接收到的数据回放指令,判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突。
其中,所述数据回放指令用于指示将对第二区域中的目标数据的目标操作回放至第一区域,所述第一区域与所述第二区域属于所述目标异地多活系统。
另外,处于同一个异地多活系统的多个区域中,其中某个区域中对目标数据执行目标操作后,该目标操作则需要回放至该异地多活系统中除该区域之外的其他区域中。
此外,异地多活一般是指在不同城市建立独立的数据中心,“活”是相对于冷备份而言的,冷备份是备份全量数据,平时不支撑业务需求,只有在主机房出现故障的时候才会切换到备用机房,而多活,是指这些机房在日常的业务中也需要走流量,做业务支撑。因此,数据一致性对异地多活系统至关重要,因而对于处于同一异地多活系统的多个区域,其中一个区域的数据的操作需要回放至其他区域。
然而,在数据回放过程中,可能存在冲突,而本发明的实施例,则可以在接收到用于指示将对第二区域中的目标数据回放至第一区域的数据回放指令的情况下,判断是否存在冲突,从而在存在冲突时,可以及时解决冲突。
步骤202:在预先根据目标业务类型确定的覆盖优先级用于指示最新数据优先的情况下,将所述目标异地多活系统的区域中最新的目标数据,存储于所述第一区域中。
步骤203:在预先根据目标业务类型确定的覆盖优先级用于指示优先级最高的区域中的数据优先情况下,将所述目标异地多活系统中优先级最高的区域中的目标数据,保留在所述第一区域中。
步骤204:在预先根据目标业务类型确定的覆盖优先级用于指示用户选择的数据优先的情况下,显示预设提示信息。
其中,所述预设提示信息用于提示用户选择需要在所述第一区域中保留的数据。
另外,所述目标业务类型为所述目标数据所属业务的业务类型,所述覆盖优先级为用于指示优先选择保留的数据的指示信息。因此,本公开的实施例中,在经过步骤201的判断,确定存在第一预设类型的冲突的情况下,可以根据目标数据所属业务的覆盖优先级这一属性信息,确定需要保留的数据,以有效解决冲突。
例如同一异地多活系统中包括A、B、C三个区域,A区域中对数据X执行了目标操作,该目标操作则需要回放至B区域和C区域中,其中,对于指示将A区域中对数据X执行的目标操作回放至B区域的数据回放指令,若数据X所属业务的业务类型的覆盖优先级用于指示最新数据优先,则将A、B、C三个区域中最新的目标数据存储于B区域中;若数据X所属业务的业务类型的覆盖优先级用于指示优先级最高的区域中的数据优先,则将A、B、C三个区域中优先级最高的区域中的目标数据存储于B区域中;若数据X所属业务的业务类型的覆盖优先级用于指示用户选择的数据优先,则提示用户自己选择需要在B区域中保留的数据。
由此可见,本公开实施例提供的冲突处理方法,预先根据业务类型为各个业务设置覆盖优先级,从而在数据回放过程中存在第一预设类型的冲突时,可以根据业务的覆盖优先级这一属性信息,对冲突进行处理,即根据业务的覆盖优先级选择需要保留的数据,因此,本公开实施例提供的冲突处理方法可以针对不同类型的业务采用不同的冲突处理方式。即本公开实施例提供的冲突处理方法可以适用于多种不同的业务场景下的冲突处理。
可选的,所述方法还包括:
在存在所述第二预设类型的冲突的情况下,跳过执行所述数据回放指令。
即本公开的实施例中,若存在第二预设类型的冲突,可以跳过执行数据回放指令,即以第一区域中已存在的数据为准。
可选的,所述判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,包括:
在所述第一区域中未存在所述目标数据,且所述数据回放指令指示更新所述目标数据的情况下,确定存在更新不存在数据的冲突;
在所述第一区域中不存在所述目标数据,且所述数据回放指令指示删除所述目标数据的情况下,确定存在删除不存在数据的冲突;
其中,所述更新不存在数据的冲突,以及所述删除不存在的数据的冲突为第二预设类型的冲突。
另外,第一区域中未存在目标数据,但数据回放指令却指示更新目标数据时,数据回放指令指示的所要更新的目标数据并不存在于第一区域中,则无法在第一区域中对目标数据进行更新,因而此种情况下,存在更新不存在数据的冲突。此时,可以跳过执行数据回放指令,即忽略数据回放指令。
同理,第一区域中未存在目标数据,但数据回放指令却指示删除目标数据时,数据回放指令指示的所要删除的目标数据并不存在于第一区域中,则无法在第一区域中删除目标数据,因而此种情况下,存在删除不存在数据的冲突。此时,可以跳过执行数据回放指令,即忽略数据回放指令。
可选的,所述判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,还包括:
在所述第一区域中存在所述目标数据,且在相同时刻在所述第二区域中重复执行所述目标操作的情况下,确定存在重复回放数据的冲突;
在所述第一区域中存在所述目标数据,所述数据回放指令指示更新所述目标数据,且在所述第二区域中执行所述目标操作的时刻与已记录的上一次更新目标区域中的任一区域中的所述目标数据的时刻相同的情况下,确定存在同时跨区域写入数据的冲突,其中,所述目标区域包括所述目标异地多活系统中除所述第二区域之外的区域;
其中,所述重复回放的冲突为第二预设类型的冲突,所述同时跨区域写入数据的冲突为所述第一预设类型的冲突。
另外,第一区域中存在目标数据,但在同一时刻在第二区域中重复执行了目标操作,即数据回放指令所要回放的操作的执行时刻,与已记录的上一次对目标数据执行目标操作的时刻相同,且数据回放指令所要回放的操作的执行区域,与已记录的上一次对目标区域执行目标操作的区域相同时,会重复回放,因而此种情况下存在重复回放数据的冲突。此时,可以跳过执行数据回放指令,即忽略数据回放指令。
此外,第一区域中存在目标数据,但在所述第二区域中执行目标操作的时刻与已记录的上一次更新目标区域(即目标异地多活系统中除第二区域之外的区域)中的任一区域中的所述目标数据的时刻相同,即数据回放指令所要回放的操作的执行时刻,与已记录的上一次对目标数据执行目标操作的时刻相同,但数据回放指令所要回放的操作的执行区域,与已记录的上一次对目标数据执行目标操作的区域不同时,属于跨区域写入相同数据的操作,因而此种情况下存在跨区域写入数据的冲突。此时,可以根据目标数据所属业务的覆盖优先级选择需要保留的数据。
可选的,所述判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,包括:
在所述第一区域中存在所述目标数据的情况下,根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型;
其中,所述敏感类型为敏感型或者非敏感型,所述敏感型用于指示所述第一区域将接收到的除所述第一区域之外的其他区域的数据作为冲突数据,所述非敏感型用于指示所述第一区域将接收到的除所述第一区域之外的其他区域的数据作为非冲突数据。
进一步,可选的,所述根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型,包括:
在预先确定的所述第一区域的敏感类型为所述非敏感型,所述目标操作为插入操作,且所述第二区域在执行所述目标操作之前已在所述第二区域中插入所述目标数据的情况下,确定存在插入已存在数据的冲突;
在预先确定的所述第一区域的敏感类型为所述非敏感型,所述目标操作为插入操作,且在所述第二区域中执行所述目标操作的时刻之后,又在所述第二区域中插入所述目标数据的情况下,确定存在插入过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述非敏感型,且所述目标操作为更新操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述第二区域中的所述目标数据的情况下,确定存在更新过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述非敏感型,所述目标操作为删除操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述第二区域中的所述目标数据的情况下,确定存在删除过期数据的冲突;
其中,所述插入已存在数据的冲突为所述第一预设类型的冲突,所述插入过期数据的冲突、所述更新过期数据的冲突以及所述删除过期数据的冲突为第二预设类型的冲突。
即本公开的实施例中,在所述第一区域中存在所述目标数据,且预先确定的所述第一区域的敏感类型为非敏感型的情况下,可以根据所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型。
由上述可知,在第一区域中存在目标数据,第一区域的敏感类型为非敏感型,数据回放指令所要回放的操作的执行时刻,位于已记录的上一次插入目标数据的时刻之后,且数据回放指令所要回放的操作的执行区域,与已记录的上一次对插入目标数据的区域相同,且数据回放指令为插入操作的回放时,存在插入已存在数据的冲突。此时,可以转为按照更新数据的流程进行处理,从而可以根据目标数据所属业务的覆盖优先级选择需要保留的数据。
而在第一区域中存在目标数据,第一区域的敏感类型为非敏感型,数据回放指令所要回放的操作的执行时刻,位于已记录的上一次处理目标数据的时刻之前,数据回放指令所要回放的操作的执行区域,与已记录的上一次对目标数据执行目标操作的区域相同时,存在处理过期数据的冲突。此时,可以跳过执行数据回放指令,即忽略数据回放指令。
例如数据回放指令指示将第二区域中更新目标数据的操作回放至第一区域,但是第二区域更新目标数据之后,第二区域将目标数据删除了或者又更新了一次,则存在更新过期数据的冲突。
可选的,所述根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型,包括:
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为插入操作,且所述第二区域在执行所述目标操作之前已在目标区域中的任一区域中插入所述目标数据的情况下,确定存在插入已存在数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为更新操作,且所述第二区域在执行所述目标操作之前已处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域更新数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为删除操作,且所述第二区域在执行所述目标操作之前已处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域删除数据的冲突;
其中,所述目标区域包括所述目标异地多活系统中除所述第二区域之外的区域;
所述插入已存在数据的冲突、所述跨区域更新数据的冲突、所述跨区域删除数据的冲突为所述第一预设类型的冲突。
即本公开的实施例中,在所述第一区域中存在所述目标数据,且预先确定的所述第一区域的敏感类型为敏感型的情况下,可以根据所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型。
由上述可知,在第一区域中存在目标数据,第一区域的敏感类型为敏感型,数据回放指令所要回放的操作的执行时刻,位于已记录的上一次处理目标数据的时刻之后,数据回放指令所要回放的操作的执行区域,与已记录的上一次对目标数据执行目标操作的区域不相同,且数据回放指令为插入操作的回放时,存在插入已存在数据的冲突。此时,可以转为按照更新数据的流程进行处理,从而可以根据目标数据所属业务的覆盖优先级选择需要保留的数据。
而在第一区域中存在目标数据,第一区域的敏感类型为敏感型,数据回放指令所要回放的操作的执行时刻,位于已记录的上一次处理目标数据的时刻之后,数据回放指令所要回放的操作的执行区域,与已记录的上一次对目标区域执行目标操作的区域不相同,且数据回放指令为插更新操作或者删除操作的回放时,存在跨区域处理数据的冲突。此时,可以根据目标数据所属业务的覆盖优先级选择需要保留的数据。
例如数据回放指令指示将第二区域中更新目标数据的操作回放至第一区域,但是第二区域更新目标数据之前,第一区域(或者第三区域)已将目标数据删除了或者已更新了一次目标数据,则存在跨区域更新数据的冲突。其中,第三区域为与第二区域处于同一异地多活系统中除第一区域和第二区域之外的其中一个区域。
可选的,所述根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型,包括:
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为插入操作,且在所述第二区域中执行所述目标操作的时刻之后,又在目标区域中的任一区域中插入所述目标数据的情况下,确定存在插入过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为更新操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域更新过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为删除操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域删除过期数据的冲突;
其中,所述目标区域包括所述目标异地多活系统中除所述第二区域之外的区域;
所述插入过期数据的冲突、所述跨区域更新过期数据的冲突、所述跨区域删除过期数据的冲突为第二预设类型的冲突。
即本公开的实施例中,在所述第一区域中存在所述目标数据,且预先确定的所述第一区域的敏感类型为敏感型的情况下,可以根据所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型。
由上述可知,在第一区域中存在目标数据,第一区域的敏感类型为敏感型,数据回放指令所要回放的操作的执行时刻,位于已记录的上一次处理目标数据的时刻之前,数据回放指令所要回放的操作的执行区域,与已记录的上一次对目标数据执行目标操作的区域不同时,存在跨区域处理过期数据的冲突。此时,可以跳过执行数据回放指令,即忽略数据回放指令。
例如数据回放指令指示将第二区域中更新目标数据的操作回放至第一区域,但是第二区域更新目标数据之后,第一区域(或者第三区域)将目标数据删除了或者又更新了一次,则存在跨区域更新过期数据的冲突。其中,第三区域为与第二区域处于同一异地多活系统中除第一区域和第二区域之外的其中一个区域。
综上所述,上述判断数据回放指令是否与第一区域和第二区域中存储的数据存在冲突的过程可如图3所示。其中,对于图3中出现的各个冲突的相关解释以及可以采用的处理方式详见表1和表2。
表1冲突相关解释及其处理方式
Figure BDA0002809482730000201
Figure BDA0002809482730000211
Figure BDA0002809482730000221
Figure BDA0002809482730000231
其中,需要说明的是,如果将第二区域中对目标数据的目标操作回放至第一区域,则该数据回放过程中,第二区域为源区域,第一区域为目标区域,uts_src表示第二区域执行目标操作的时刻,uts_dest为已记录的上一次处理目标数据的时刻,region_src表示第二区域,region_dest为已记录的上一次处理目标数据的区域。region_sensitive=false表示第一区域为非敏感型,region_sensitive=true表示第一区域为敏感型。
另外,关于表1中的deal处理策略,具体详见表2,即在覆盖优先级的不同取值下,deal处理策略的具体方式不同。
表2 deal处理策略的具体方式
Figure BDA0002809482730000232
由上述可知,本公开的实施例在具体实施时,可以按照图3所示的流程识别各种类型的冲突,并按照表1中冲突对应的处理策略,再对应至表2中确定具体的处理方式。
其中,目前主流的处理方式过于简单,只是根据更新时间的先后选择数据进行覆盖。这种方式对于业务要求较高的场景无法满足,比如用户要求同一条记录只能在一个(地区)进行写入操作。另外对于冲突的解决方式固定,无法根据特定场景选择不同的处理方式。并且,现有技术中冲突数据的处理是一个黑盒模块,研发人员和业务人员只能通过日志追踪某条记录的冲突历史。
而本公开的实施例,能够保证在多种业务场景下,多活的集群之间保持数据最终一致;并且支持用户根据业务特点选择不同的冲突处理优先级,以此来保证冲突处理之后保留用户需要的有用数据。因此,本公开的实施例,提供了一套通用的冲突处理逻辑,使异地多活的冲突处理不再是一项避之不及的棘手难题,并通过将冲突规则(即冲突识别方法)、冲突处理策略、用户配置分层,从而可以通过不同规则和策略的组合满足多种业务场景下的冲突处理。
根据本公开实施例的第三方面,提供了一种冲突处理装置,如图4所示,该冲突处理装置40可以包括:
判断模块401,被配置为响应于接收到的数据回放指令,判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,其中,所述数据回放指令用于指示将对第二区域中的目标数据的目标操作回放至第一区域,所述第一区域与所述第二区域属于所述目标异地多活系统;
第一处理模块402,被配置为在存在第一预设类型的冲突的情况下,根据预先根据目标业务类型确定的覆盖优先级,对所述冲突进行处理;
其中,所述目标业务类型为所述目标数据所属业务的业务类型,所述覆盖优先级为用于指示优先选择保留的数据的指示信息。
可选的,所述第一处理模块402具体被配置为:
在所述覆盖优先级用于指示最新数据优先的情况下,将所述目标异地多活系统的区域中最新的目标数据,存储于所述第一区域中;
在所述覆盖优先级用于指示优先级最高的区域中的数据优先情况下,将所述目标异地多活系统中优先级最高的区域中的目标数据,保留在所述第一区域中;
在所述覆盖优先级用于指示用户选择的数据优先的情况下,显示预设提示信息,其中,所述预设提示信息用于提示用户选择需要在所述第一区域中保留的数据。
可选的,所述判断模块401具体被配置为:
在所述第一区域中未存在所述目标数据,且所述数据回放指令指示更新所述目标数据的情况下,确定存在更新不存在数据的冲突;
在所述第一区域中不存在所述目标数据,且所述数据回放指令指示删除所述目标数据的情况下,确定存在删除不存在数据的冲突;
其中,所述更新不存在数据的冲突,以及所述删除不存在的数据的冲突为第二预设类型的冲突。
可选的,所述判断模块401具体被配置为:
在所述第一区域中存在所述目标数据,且在相同时刻在所述第二区域中重复执行所述目标操作的情况下,确定存在重复回放数据的冲突;
在所述第一区域中存在所述目标数据,所述数据回放指令指示更新所述目标数据,且在所述第二区域中执行所述目标操作的时刻与已记录的上一次更新目标区域中的任一区域中的所述目标数据的时刻相同的情况下,确定存在同时跨区域写入数据的冲突,其中,所述目标区域包括所述目标异地多活系统中除所述第二区域之外的区域;
其中,所述重复回放的冲突为第二预设类型的冲突,所述同时跨区域写入数据的冲突为所述第一预设类型的冲突。
可选的,所述判断模块401具体被配置为:
在所述第一区域中存在所述目标数据的情况下,根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型;
其中,所述敏感类型为敏感型或者非敏感型,所述敏感型用于指示所述第一区域将接收到的除所述第一区域之外的其他区域的数据作为冲突数据,所述非敏感型用于指示所述第一区域将接收到的除所述第一区域之外的其他区域的数据作为非冲突数据。
可选的,所述判断模块401在根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型时,具体被配置为:
在预先确定的所述第一区域的敏感类型为所述非敏感型,所述目标操作为插入操作,且所述第二区域在执行所述目标操作之前已在所述第二区域中插入所述目标数据的情况下,确定存在插入已存在数据的冲突;
在预先确定的所述第一区域的敏感类型为所述非敏感型,所述目标操作为插入操作,且在所述第二区域中执行所述目标操作的时刻之后,又在所述第二区域中插入所述目标数据的情况下,确定存在插入过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述非敏感型,且所述目标操作为更新操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述第二区域中的所述目标数据的情况下,确定存在更新过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述非敏感型,所述目标操作为删除操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述第二区域中的所述目标数据的情况下,确定存在删除过期数据的冲突;
其中,所述插入已存在数据的冲突为所述第一预设类型的冲突,所述插入过期数据的冲突、所述更新过期数据的冲突以及所述删除过期数据的冲突为第二预设类型的冲突。
可选的,所述判断模块401在根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型时,具体被配置为:
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为插入操作,且所述第二区域在执行所述目标操作之前已在目标区域中的任一区域中插入所述目标数据的情况下,确定存在插入已存在数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为更新操作,且所述第二区域在执行所述目标操作之前已处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域更新数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为删除操作,且所述第二区域在执行所述目标操作之前已处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域删除数据的冲突;
其中,所述目标区域包括所述目标异地多活系统中除所述第二区域之外的区域;
所述插入已存在数据的冲突、所述跨区域更新数据的冲突、所述跨区域删除数据的冲突为所述第一预设类型的冲突。
可选的,所述判断模块401在根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型时,具体被配置为:
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为插入操作,且在所述第二区域中执行所述目标操作的时刻之后,又在目标区域中的任一区域中插入所述目标数据的情况下,确定存在插入过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为更新操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域更新过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为删除操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域删除过期数据的冲突;
其中,所述目标区域包括所述目标异地多活系统中除所述第二区域之外的区域;
所述插入过期数据的冲突、所述跨区域更新过期数据的冲突、所述跨区域删除过期数据的冲突为第二预设类型的冲突。
可选的,所述装置还包括:
第二处理模块403,被配置为在存在所述第二预设类型的冲突的情况下,跳过执行所述数据回放指令。
由上述可知,本公开实施例提供的冲突处理装置,能够在接收到用于指示将对第二区域中的目标数据的目标操作回放至第一区域的数据回放指令的情况下,判断该数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,并在存在第一预设类型的冲突的情况下,根据预先根据目标业务类型确定的覆盖优先级,对所述冲突进行处理,其中,第一区域与第二区域属于目标异地多活系统,目标业务类型为目标数据所属业务的业务类型,覆盖优先级为用于指示优先选择保留的数据的指示信息。
由此可见,本公开实施例提供的冲突处理装置,预先根据业务类型为各个业务设置覆盖优先级,从而在数据回放过程中存在第一预设类型的冲突时,可以根据业务的覆盖优先级这一属性信息,对冲突进行处理,即根据业务的覆盖优先级选择需要保留的数据,因此,本公开实施例提供的冲突处理装置可以针对不同类型的业务采用不同的冲突处理方式。即本公开实施例提供的冲突处理装置可以适用于多种不同的业务场景下的冲突处理。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
根据本公开实施例的第四方面,提供了一种电子设备。参照图5,该电子设备包括:
处理器510;
用于存储所述处理器可执行指令的存储器520;
其中,所述处理器被配置为执行所述指令,以实现上述所述的冲突处理方法。
根据本公开实施例的第五方面,还提供了一种电子设备。如图6所示,该电子设备600可以是移动电话,计算机,数字广播电子设备,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,电子设备600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件616。
处理组件602通常控制电子设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在电子设备600的操作。这些数据的示例包括用于在电子设备600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为电子设备600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。
多媒体组件608包括在所述电子设备600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当电子设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态评估。例如,传感器组件614可以检测到设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备600的显示器和小键盘,传感器组件614还可以检测电子设备600或电子设备600一个组件的位置改变,用户与电子设备600接触的存在或不存在,电子设备600方位或加速/减速和电子设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、8G或5G),或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述所述的冲突处理方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由电子设备600的处理器620执行以完成上述方法。可选地,例如,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在本公开实施的又一方面,本公开实施例还提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述所述的冲突处理方法。
根据本公开实施例的又一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现上述所述的冲突处理方法。
在此提供的冲突处理方案不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本公开实施例的信息提取方案中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种冲突处理方法,其特征在于,所述方法包括:
响应于接收到的数据回放指令,判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,其中,所述数据回放指令用于指示将对第二区域中的目标数据的目标操作回放至第一区域,所述第一区域与所述第二区域属于所述目标异地多活系统;
在存在第一预设类型的冲突的情况下,根据预先根据目标业务类型确定的覆盖优先级,对所述冲突进行处理;
其中,所述目标业务类型为所述目标数据所属业务的业务类型,所述覆盖优先级为用于指示优先选择保留的数据的指示信息。
2.根据权利要求1所述的冲突处理方法,其特征在于,所述根据预先根据目标业务类型确定的覆盖优先级,对所述冲突进行处理,包括:
在所述覆盖优先级用于指示最新数据优先的情况下,将所述目标异地多活系统的区域中最新的目标数据,存储于所述第一区域中;
在所述覆盖优先级用于指示优先级最高的区域中的数据优先情况下,将所述目标异地多活系统中优先级最高的区域中的目标数据,保留在所述第一区域中;
在所述覆盖优先级用于指示用户选择的数据优先的情况下,显示预设提示信息,其中,所述预设提示信息用于提示用户选择需要在所述第一区域中保留的数据。
3.根据权利要求1所述的冲突处理方法,其特征在于,所述判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,包括:
在所述第一区域中未存在所述目标数据,且所述数据回放指令指示更新所述目标数据的情况下,确定存在更新不存在数据的冲突;
在所述第一区域中不存在所述目标数据,且所述数据回放指令指示删除所述目标数据的情况下,确定存在删除不存在数据的冲突;
其中,所述更新不存在数据的冲突,以及所述删除不存在的数据的冲突为第二预设类型的冲突。
4.根据权利要求1所述的冲突处理方法,其特征在于,所述判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,还包括:
在所述第一区域中存在所述目标数据,且在相同时刻在所述第二区域中重复执行所述目标操作的情况下,确定存在重复回放数据的冲突;
在所述第一区域中存在所述目标数据,所述数据回放指令指示更新所述目标数据,且在所述第二区域中执行所述目标操作的时刻与已记录的上一次更新目标区域中的任一区域中的所述目标数据的时刻相同的情况下,确定存在同时跨区域写入数据的冲突,其中,所述目标区域包括所述目标异地多活系统中除所述第二区域之外的区域;
其中,所述重复回放的冲突为第二预设类型的冲突,所述同时跨区域写入数据的冲突为所述第一预设类型的冲突。
5.根据权利要求1所述的冲突处理方法,其特征在于,所述判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,包括:
在所述第一区域中存在所述目标数据的情况下,根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型;
其中,所述敏感类型为敏感型或者非敏感型,所述敏感型用于指示所述第一区域将接收到的除所述第一区域之外的其他区域的数据作为冲突数据,所述非敏感型用于指示所述第一区域将接收到的除所述第一区域之外的其他区域的数据作为非冲突数据。
6.根据权利要求5所述的冲突处理方法,其特征在于,所述根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型,包括:
在预先确定的所述第一区域的敏感类型为所述非敏感型,所述目标操作为插入操作,且所述第二区域在执行所述目标操作之前已在所述第二区域中插入所述目标数据的情况下,确定存在插入已存在数据的冲突;
在预先确定的所述第一区域的敏感类型为所述非敏感型,所述目标操作为插入操作,且在所述第二区域中执行所述目标操作的时刻之后,又在所述第二区域中插入所述目标数据的情况下,确定存在插入过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述非敏感型,且所述目标操作为更新操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述第二区域中的所述目标数据的情况下,确定存在更新过期数据的冲突;
在预先确定的所述第一区域的敏感类型为所述非敏感型,所述目标操作为删除操作,且在所述第二区域中执行所述目标操作的时刻之后,又处理了所述第二区域中的所述目标数据的情况下,确定存在删除过期数据的冲突;
其中,所述插入已存在数据的冲突为所述第一预设类型的冲突,所述插入过期数据的冲突、所述更新过期数据的冲突以及所述删除过期数据的冲突为第二预设类型的冲突。
7.根据权利要求5所述的冲突处理方法,其特征在于,所述根据预先确定的所述第一区域的敏感类型、所述目标操作的操作类型和所述第二区域执行所述目标操作的时刻,确定所述数据回放指令与目标异地多活系统的区域中存储的数据存在的冲突类型,包括:
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为插入操作,且所述第二区域在执行所述目标操作之前已在目标区域中的任一区域中插入所述目标数据的情况下,确定存在插入已存在数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为更新操作,且所述第二区域在执行所述目标操作之前已处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域更新数据的冲突;
在预先确定的所述第一区域的敏感类型为所述敏感型,所述目标操作为删除操作,且所述第二区域在执行所述目标操作之前已处理了所述目标区域中的任一区域中的所述目标数据的情况下,确定存在跨区域删除数据的冲突;
其中,所述目标区域包括所述目标异地多活系统中除所述第二区域之外的区域;
所述插入已存在数据的冲突、所述跨区域更新数据的冲突、所述跨区域删除数据的冲突为所述第一预设类型的冲突。
8.一种冲突处理装置,其特征在于,所述装置包括:
判断模块,被配置为响应于接收到的数据回放指令,判断所述数据回放指令是否与目标异地多活系统的区域中存储的数据存在冲突,其中,所述数据回放指令用于指示将对第二区域中的目标数据的目标操作回放至第一区域,所述第一区域与所述第二区域属于所述目标异地多活系统;
第一处理模块,被配置为在存在第一预设类型的冲突的情况下,根据预先根据目标业务类型确定的覆盖优先级,对所述冲突进行处理;
其中,所述目标业务类型为所述目标数据所属业务的业务类型,所述覆盖优先级为用于指示优先选择保留的数据的指示信息。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的冲突处理方法。
10.一种计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够实现如权利要求1至7中任一项所述的冲突处理方法。
CN202011381476.6A 2020-11-30 2020-11-30 冲突处理方法、装置、电子设备及存储介质 Active CN112506700B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011381476.6A CN112506700B (zh) 2020-11-30 2020-11-30 冲突处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011381476.6A CN112506700B (zh) 2020-11-30 2020-11-30 冲突处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112506700A true CN112506700A (zh) 2021-03-16
CN112506700B CN112506700B (zh) 2024-05-14

Family

ID=74968823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011381476.6A Active CN112506700B (zh) 2020-11-30 2020-11-30 冲突处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112506700B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114238182A (zh) * 2021-12-20 2022-03-25 北京奕斯伟计算技术有限公司 一种处理器、数据处理方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480001A (zh) * 2017-06-21 2017-12-15 深圳市金立通信设备有限公司 系统恢复方法及装置
US20180107505A1 (en) * 2016-10-13 2018-04-19 International Business Machines Corporation Cache memory transaction shielding via prefetch suppression
CN110727550A (zh) * 2019-12-18 2020-01-24 中国银联股份有限公司 数据复制处理方法、装置、容灾系统、设备及存储介质
CN111880956A (zh) * 2020-07-24 2020-11-03 北京达佳互联信息技术有限公司 一种数据同步方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180107505A1 (en) * 2016-10-13 2018-04-19 International Business Machines Corporation Cache memory transaction shielding via prefetch suppression
CN107480001A (zh) * 2017-06-21 2017-12-15 深圳市金立通信设备有限公司 系统恢复方法及装置
CN110727550A (zh) * 2019-12-18 2020-01-24 中国银联股份有限公司 数据复制处理方法、装置、容灾系统、设备及存储介质
CN111880956A (zh) * 2020-07-24 2020-11-03 北京达佳互联信息技术有限公司 一种数据同步方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114238182A (zh) * 2021-12-20 2022-03-25 北京奕斯伟计算技术有限公司 一种处理器、数据处理方法和装置
CN114238182B (zh) * 2021-12-20 2023-10-20 北京奕斯伟计算技术股份有限公司 一种处理器、数据处理方法和装置

Also Published As

Publication number Publication date
CN112506700B (zh) 2024-05-14

Similar Documents

Publication Publication Date Title
US10282561B2 (en) Method and apparatus for managing application
EP3171554B1 (en) Method and device for displaying a message
US9916750B2 (en) Method and device for reminding based on alarm clock
CN105224349B (zh) 应用程序的删除提示方法和装置
EP3128774A1 (en) Methods, devices and system for accessing network
EP3128411B1 (en) Interface display method, terminal, computer program and recording medium
EP3125164A1 (en) Method and device for presenting ticket information
CN106203167A (zh) 应用权限管理方法及装置
CN112506553B (zh) 服务网格的数据面容器的升级方法、装置及电子设备
CN106534562A (zh) 文件删除方法及装置
CN105979062B (zh) 通讯事件处理方法及装置
CN109522058B (zh) 唤醒方法、装置、终端及存储介质
CN111865630B (zh) 拓扑信息获取方法、装置、终端及存储介质
CN111258952A (zh) 一种数据存储控制方法、装置及存储介质
CN108984098B (zh) 基于社交软件的信息显示的控制方法及装置
CN112506700B (zh) 冲突处理方法、装置、电子设备及存储介质
CN106919679B (zh) 应用于分布式文件系统的日志重演方法、装置及终端
CN108319835B (zh) 用户空间访问控制方法、装置、设备及存储介质
CN114153346A (zh) 图片处理方法、装置、存储介质及电子设备
CN106528247B (zh) 数据刷新方法及装置
CN106528442B (zh) 缓存清理方法和装置
EP3190555A1 (en) Method for operating a display device and display
EP3291489A1 (en) Method and apparatus for device identification
CN115904599A (zh) 虚拟资源信息展示方法、装置、电子设备和存储介质
CN107832377B (zh) 图像信息显示方法、装置及系统、存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant