本发明专利技术公开了一种数据冲突自动校正处理方法及装置,方法包括:第一数据节点接收来自第二数据节点的用于更新签约用户数据的复制请求;第一数据节点通过解析该复制请求,得到其中携带的需要更新的签约用户数据、本次及上次操作时间;第一数据节点根据最新本地操作时间、本次及上次操作时间,确定第一和第二数据节点之间是否发生数据冲突;若确定发生数据冲突,则第一数据节点利用第二数据节点存储的所述签约用户的数据,校正自身存储的所述签约用户的数据。本发明专利技术实施例能够及时发现数据节点之间的签约用户的数据冲突,并在发现数据冲突时,对存储在多张表多条记录里冲突的签约用户的数据进行校正,确保签约用户数据的一致性。
【技术实现步骤摘要】
一种数据冲突自动校正处理方法及装置
本专利技术涉及分布式数据库(DistributedDatabase,DDB)领域,特别涉及一种数据冲突(DataHazard,DH)自动校正处理方法及装置。
技术介绍
一般而言,数据是以系统性方式记录在内存数据库或存储介质中,以供应用服务器(ApplicationServer,AS)或计算系统访问的经组织的数据对象集合。每个数据对象根据不同的应用进行分类,例如可按照网元类型、租户类型进行分类。在分布式数据库中,通常会有不同的副本,来存储某一数据对象的数据。分布式数据库发展到今天,为满足应用服务器不同的访问要求,通常采用复制技术在不同副本间进行数据同步。通过同步,一个副本中数据对象的改变就被记录并同步更新传播到其他副本中,其中其他副本的相应数据对象执行相同的改变。由于网络故障等因素,当各自副本独立工作或同步时间较长时会出现并发修改同一数据对象从而出现数据冲突。需要对数据进行校正以保证其一致性。也就是说,随着无线通讯技术和计算技术的不断发展,研究支持分布式数据库已成为一个重要方向。分布式数据库的研究主要包括存储、复制、查询、数据一致性等技术,其中,维护数据一致性是分布式数据库的重要任务。但由于移动通讯的组网模型复杂,各站点环境有较大差异,以及运营中网络故障等因素使得维护数据一致性技术难以有效工作。出现数据不一致后,两个站点的内存库数据库记录不一致,应用从两个站点查询的数据不同,影响移动通讯业务流程,例如用户的位置信息不同将会影响位置更新和呼叫流程。目前业界常用的处理冲突的方法有:1.将冲突的一个站点的数据覆盖另一个站点的数据以保证数据一致性。2.将冲突的两个站点按照记录进行合并,即用时间新的记录覆盖时间旧的记录。由于一个签约用户的数据会保存在多张表多条记录里,上述的方法不能完全解决签约用户数据的一致性问题,因此需要一种方法来保证签约用户数据的一致性。
技术实现思路
根据本专利技术实施例提供的一种数据冲突自动校正处理方法及装置,解决签约用户数据的一致性问题。根据本专利技术实施例提供的一种数据冲突自动校正处理方法,包括:第一数据节点接收来自第二数据节点的用于更新签约用户数据的复制请求;所述第一数据节点通过解析所收到的复制请求,得到所述复制请求携带的需要更新的签约用户数据、本次及上次操作时间;所述第一数据节点根据所述签约用户数据的最新本地操作时间、所述复制请求携带的本次及上次操作时间,确定第一和第二数据节点之间是否发生数据冲突;若确定所述第一和第二数据节点之间发生数据冲突,则所述第一数据节点利用所述第二数据节点存储的所述签约用户的数据,校正自身存储的所述签约用户的数据。优选地,所述的第一数据节点根据所述签约用户数据的最新本地操作时间、所述复制请求携带的本次及上次操作时间,确定第一和第二数据节点之间是否发生数据冲突包括:通过将所述最新本地操作时间分别与所述复制请求携带的本次及上次操作时间进行比较,确定是否发生数据冲突。优选地,所述的通过将所述最新本地操作时间分别与所述复制请求携带的本次及上次操作时间进行比较,确定是否发生数据冲突包括:若所述最新本地操作时间早于所述复制请求携带的本次操作时间,且不同于所述请求携带的上次操作时间,则确定第一和第二数据节点之间发生数据冲突,否则确定第一和第二数据节点之间未发生数据冲突。优选地,所述的第一数据节点利用所述第二数据节点存储的所述签约用户的数据,校正自身存储的所述签约用户的数据包括:所述第一数据节点通过向所述第二数据节点发起用于校正所述签约用户的数据的校正请求,从所述第二数据节点获取所述签约用户的所有数据;所述第一数据节点利用从所述第二数据节点获取的所述签约用户的所有数据,校正自身存储在多张表多条记录里的所述签约用户的数据。优选地,还包括:若所述最新本地操作时间与所述复制请求携带的上次操作时间相同,则所述第一数据节点利用所述复制请求携带的需要更新的签约用户的数据,更新自身存储的所述签约用户的数据。优选地,还包括:若所述最新本地操作时间晚于所述复制请求携带的本次操作时间,则所述第一数据节点忽略所述复制请求。根据本专利技术实施例提供的存储介质,其存储用于实现上述数据冲突自动校正处理方法的程序。根据本专利技术实施例提供的一种数据冲突自动校正处理装置,包括:接收模块,用于接收来自第二数据节点的用于更新签约用户数据的复制请求;解析模块,用于通过解析所收到的复制请求,得到所述复制请求携带的需要更新的签约用户数据、本次及上次操作时间;冲突判定模块,用于根据第一数据节点存储的签约用户数据的最新本地操作时间、所述复制请求携带的本次及上次操作时间,确定第一和第二数据节点之间是否发生数据冲突;自动校正模块,用于在确定所述第一和第二数据节点之间发生数据发生冲突时,利用所述第二数据节点存储的所述签约用户的数据,校正所述第一数据节点存储的所述签约用户的数据。优选地,所述冲突判定模块通过将所述最新本地操作时间分别与所述复制请求携带的本次及上次操作时间进行比较,确定是否发生数据冲突。优选地,所述冲突判定模块在所述最新本地操作时间早于所述复制请求携带的本次操作时间,且不同于所述复制请求携带的上次操作时间时,确定第一和第二数据节点之间发生数据冲突,否则确定第一和第二数据节点之间未发生数据冲突。优选地,所述自动校正模块通过向所述第二数据节点发起用于校正所述签约用户的数据的校正请求,从所述第二数据节点获取所述签约用户的所有数据,并利用从所述第二数据节点获取的所述签约用户的所有数据,校正存储在所述第一数据节点的多张表多条记录里的所述签约用户的数据。本专利技术实施例提供的技术方案具有如下有益效果:本专利技术实施例能够及时发现数据节点之间的签约用户的数据冲突,并在发现签约用户的数据冲突时,对存储在多张表多条记录里冲突的签约用户的数据进行校正,确保签约用户数据的一致性。附图说明图1是本专利技术实施例提供的数据冲突自动校正处理方法框图;图2是本专利技术实施例提供的数据冲突自动校正处理装置框图;图3是本专利技术实施例提供的正常业务流程下数据同步流程图;图4是本专利技术实施例提供的发生异常(例如断链,再恢复链路)时发现数据冲突并自动校正冲突数据的流程图;图5是图4的发现冲突数据的流程图;图6是图4的更新校正数据的流程图。具体实施方式以下结合附图对本专利技术的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。图1是本专利技术实施例提供的数据冲突自动校正处理方法框图,如图1所示,步骤包括:步骤S101:第一数据节点接收来自第二数据节点的用于更新签约用户数据的复制请求。应用服务器在第二数据节点上修改签约用户的数据后,第二数据节点记录本次操作时间,并将所述修改的签约用户的数据、本次操作时间以及上次操作时间添加到复制请求中,发送至分布式数据库的其它数据节点,使其它数据节点根据该复制请求应用修改的签约用户的数据,以达到各个数据节点存储的该签约用户的数据一致的目的。步骤S102:第一数据节点通过解析所收到的复制请求,得到所述复制请求携带的需要更新的签约用户数据、本次及上次操作时间。步骤S103:第一数据节点根据该签约用户数据的最新本地操作时间、本次及上次操作时间,确定第一和第二数据节点之间是否发生数本文档来自技高网...

【技术保护点】
一种数据冲突自动校正处理方法,包括:第一数据节点接收来自第二数据节点的用于更新签约用户数据的复制请求;所述第一数据节点通过解析所收到的复制请求,得到所述复制请求携带的需要更新的签约用户数据、本次及上次操作时间;所述第一数据节点根据所述签约用户数据的最新本地操作时间、所述复制请求携带的本次及上次操作时间,确定第一和第二数据节点之间是否发生数据冲突;若确定所述第一和第二数据节点之间发生数据冲突,则所述第一数据节点利用所述第二数据节点存储的所述签约用户的数据,校正自身存储的所述签约用户的数据。
【技术特征摘要】
1.一种数据冲突自动校正处理方法,包括:第一数据节点接收来自第二数据节点的用于更新签约用户数据的复制请求;所述第一数据节点通过解析所收到的复制请求,得到所述复制请求携带的需要更新的签约用户数据、本次及上次操作时间;所述第一数据节点根据所述签约用户数据的最新本地操作时间、所述复制请求携带的本次及上次操作时间,确定第一和第二数据节点之间是否发生数据冲突;若确定所述第一和第二数据节点之间发生数据冲突,则所述第一数据节点利用所述第二数据节点存储的所述签约用户的数据,校正自身存储的所述签约用户的数据。2.根据权利要求1所述的方法,所述的第一数据节点根据所述签约用户数据的最新本地操作时间、所述复制请求携带的本次及上次操作时间,确定第一和第二数据节点之间是否发生数据冲突包括:通过将所述最新本地操作时间分别与所述复制请求携带的本次及上次操作时间进行比较,确定是否发生数据冲突。3.根据权利要求2所述的方法,所述的通过将所述最新本地操作时间分别与所述复制请求携带的本次及上次操作时间进行比较,确定是否发生数据冲突包括:若所述最新本地操作时间早于所述复制请求携带的本次操作时间,且不同于所述请求携带的上次操作时间,则确定第一和第二数据节点之间发生数据冲突,否则确定第一和第二数据节点之间未发生数据冲突。4.根据权利要求1-3任意一项所述的方法,所述的第一数据节点利用所述第二数据节点存储的所述签约用户的数据,校正自身存储的所述签约用户的数据包括:所述第一数据节点通过向所述第二数据节点发起用于校正所述签约用户的数据的校正请求,从所述第二数据节点获取所述签约用户的所有数据;所述第一数据节点利用从所述第二数据节点获取的所述签约用户的所有数据,校正自身存储在多张表多条记录里的所述签约用户的数据。5.根据权利要求3所...
【专利技术属性】
技术研发人员:王政涛,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。