CN112311883B - 一种数据同步方法及系统 - Google Patents
一种数据同步方法及系统 Download PDFInfo
- Publication number
- CN112311883B CN112311883B CN202011194701.5A CN202011194701A CN112311883B CN 112311883 B CN112311883 B CN 112311883B CN 202011194701 A CN202011194701 A CN 202011194701A CN 112311883 B CN112311883 B CN 112311883B
- Authority
- CN
- China
- Prior art keywords
- platform
- service
- operation log
- service operation
- data
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种数据同步方法,包括第一平台根据业务请求向第二平台发送业务处理通知,并根据所述业务请求进行业务处理获得第一业务操作日志,将所述第一业务操作日志发送至所述第二平台;所述第二平台根据所述业务处理通知进行业务处理,获得第二业务操作日志,并利用所述第二业务操作日志对所述第一业务操作日志进行校验,当校验通过时,保存所述第二业务操作日志;该数据同步方法可以有效保证数据同步过程中同步数据的正确性,进一步提高了业务平台的可用性,提高了用户体验。本申请还公开了一种数据同步系统,也具有上述有益效果。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种数据同步方法,还涉及一种数据同步系统。
背景技术
目前,很多业务处理场景中都涉及到数据同步,如公安平台与网信平台之间的数据同步,要求两平台数据必须保持一致且正确,但是由于各种原因,存在数据总条数及业务状态都对不上的问题;再如上级平台与下级平台之间的数据同步,上级平台下发数据给下级平台并等待下级平台反馈结果,但是由于网络等原因,出现下级平台已反馈结果而上级平台却未获得反馈的情况。
一般而言,不同平台之间的数据同步多是通过http调用接口实现,但在其调用过程中经常会遇到网络异常、服务重启、服务器宕机等问题,进而造成数据同步失败甚至数据丢失的情况,如滞后流程数据状态覆盖正确的流程数据状态等,导致数据的不正确,从而降低了业务平台的可用性,给用户带来了不好的业务体验。
因此,如何有效保证数据同步过程中同步数据的正确性,提高业务平台的可用性,提高用户体验是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种数据同步方法,该数据同步方法可以有效保证数据同步过程中同步数据的正确性,进一步提高了业务平台的可用性,提高了用户体验;本申请的另一目的是提供一种数据同步系统,也具有上述有益效果。
第一方面,本申请提供了一种数据同步方法,包括:
第一平台根据业务请求向第二平台发送业务处理通知,并根据所述业务请求进行业务处理获得第一业务操作日志,将所述第一业务操作日志发送至所述第二平台;
所述第二平台根据所述业务处理通知进行业务处理,获得第二业务操作日志,并利用所述第二业务操作日志对所述第一业务操作日志进行校验,当校验通过时,保存所述第二业务操作日志。
优选的,所述利用所述第二业务操作日志对所述第一业务操作日志进行校验,包括:
判断所述第一业务操作日志与所述第二业务操作日志是否相同,若是,则判定校验通过,若否,则判定校验失败。
优选的,所述数据同步方法还包括:
当校验失败时,所述第二平台判断所述第一业务操作日志的数量是否超出所述第二业务操作日志的数量;
若是,则保存所述第一业务操作日志;
若否,则将所述第二业务操作日志发送至所述第一业务平台进行保存。
优选的,所述数据同步方法还包括:
当所述第一平台接收到数据同步失败通知时,启动数据补偿机制,通过所述数据补偿机制对指定业务数据进行数据补偿。
优选的,所述数据同步方法还包括:
所述第一平台统计数据补偿时间,并当所述数据补偿时间超出预设补偿时间时,关闭所述数据补偿机制。
优选的,所述数据同步方法还包括:
当所述第一平台接收到连接超时通知时,启动重连机制,并统计重连次数,当所述重连次数超出预设重连次数时,输出数据同步失败提示。
优选的,所述数据同步方法还包括:
所述第一平台向所述第二平台发送所述业务处理通知之后,对所述第二平台增设业务锁;
所述第二平台保存所述第二业务操作日志之前,释放所述业务锁。
优选的,所述数据同步方法还包括:
所述第一平台对所述第二平台增设所述业务锁之后,所述第二平台统计加锁时间,并在所述加锁时间超出预设加锁时间时,释放所述业务锁。
优选的,所述数据同步方法还包括:
所述第二平台将业务处理结果反馈至所述第一平台。
第二方面,本申请还公开了一种数据同步系统,包括:
第一平台,用于根据业务请求向第二平台发送业务处理通知,并根据所述业务请求进行业务处理获得第一业务操作日志,将所述第一业务操作日志发送至所述第二平台;
所述第二平台,用于根据所述业务处理通知进行业务处理,获得第二业务操作日志,并利用所述第二业务操作日志对所述第一业务操作日志进行校验,当校验通过时,保存所述第二业务操作日志。
本申请所提供的一种数据同步方法,包括第一平台根据业务请求向第二平台发送业务处理通知,并根据所述业务请求进行业务处理获得第一业务操作日志,将所述第一业务操作日志发送至所述第二平台;所述第二平台根据所述业务处理通知进行业务处理,获得第二业务操作日志,并利用所述第二业务操作日志对所述第一业务操作日志进行校验,当校验通过时,保存所述第二业务操作日志。
可见,本申请所提供的数据同步方法,对于需要进行数据同步的业务平台双方,当任一平台接收到业务请求需要进行业务处理时,另一平台也会触发业务处理操作,并且,在进行业务处理过程中,两平台都会实时记录业务操作日志,由此,在数据同步过程中,业务平台即可利用自身所记录的业务操作日志对另一平台的业务操作日志进行校验,以有效保证两平台业务数据的实时同步,同时还可以保证同步数据的正确性,避免了由于一方平台数据流程滞后造成数据丢失进而导致用户体验不佳的问题,有效地提高了业务平台的可用性。
本申请所提供的一种数据同步系统,也具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
图1为本申请所提供的一种数据同步方法的流程示意图;
图2为本申请所提供的一种数据同步系统架构图;
图3为本申请所提供的一种数据通报业务流程图;
图4为本申请所提供的一种数据通报业务数据同步时序图;
图5为本申请所提供的一种数据同步系统的结构示意图。
具体实施方式
本申请的核心是提供一种数据同步方法,该数据同步方法可以有效保证数据同步过程中同步数据的正确性,进一步提高了业务平台的可用性,提高了用户体验;本申请的另一核心是提供一种数据同步系统,也具有上述有益效果。
为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请所提供的一种数据同步方法的流程示意图,该数据同步方法可包括:
S101:第一平台根据业务请求向第二平台发送业务处理通知,并根据业务请求进行业务处理获得第一业务操作日志,将第一业务操作日志发送至第二平台;
可以理解的是,上述第一平台和第二平台是指需要进行数据同步的两个业务平台,平台的具体类型并不唯一,由二者所需处理的业务类型确定。此外,该数据同步过程是指两业务平台之间的双向数据同步,即第一平台可向第二平台发起数据同步,第二平台也可向第一平台发起数据同步,此处“第一”和“第二”仅做平台区分。
在本步骤中,其旨在实现第一平台(接收到客户端发起的业务请求的业务平台)的业务处理。具体而言,当第一平台接收到前端客户端发起的业务请求需要进行业务处理时,首先向需要进行数据同步的第二平台发送业务处理通知,具体可以是将该业务请求转发给第二平台,以便第二平台同时进行相应的业务处理。对于第一平台,在完成请求转发后即可根据该业务请求进行相应的业务处理,并在业务处理过程中实时记录日志信息,即上述第一业务操作日志,由此,即可在数据同步过程中将该第一业务操作日志发送至第二平台进行日志校验。
需要说明的是,上述第一业务操作日志与第二业务操作日志的具体内容并不唯一,可以包括业务处理过程中所产生的所有数据信息,如业务标识、业务类型、业务流程状态、业务操作时间、业务处理结果等。
S102:第二平台根据业务处理通知进行业务处理,获得第二业务操作日志,并利用第二业务操作日志对第一业务操作日志进行校验,当校验通过时,保存第二业务操作日志。
在本步骤中,其旨在实现第二平台的业务处理以及日志校验。具体而言,当第二平台接收到第一平台发送的业务处理通知时,即可根据该通知进行相应的业务处理,此处类似于上述第一平台根据业务请求进行业务处理的实现过程,同样的,在业务处理过程中,实时记录日志信息获得上述第二业务操作日志。进一步,当接收到第一平台发送的第一业务操作日志时,即可利用第二业务操作日志对其进行校验处理,其校验方法并不唯一,可根据实际情况进行设定。最后,在日志校验通过时对第二业务操作日志进行保存,当然,由于第一业务操作日志与第二业务操作日志完全相同,也可以选择保存第一业务操作日志,此时,第一平台中的业务数据与第二平台中的业务数据完全相同,且可以有效保证平台双方业务数据的准确性。
作为一种优选实施例,该数据同步方法还可包括:第二平台将业务处理结果反馈至第一平台。
具体的,在第二平台完成数据同步后,还可以将业务处理结果回调给第一平台,以告知第一平台数据同步结果,如业务处理的具体情况,是否进行业务处理以及未进行业务处理的原因,是否出现异常以及出现异常的原因等,以便可以实现及时的异常提醒或故障提醒。
作为一种优选实施例,上述利用第二业务操作日志对第一业务操作日志进行校验,可以包括:判断第一业务操作日志与第二业务操作日志是否相同,若是,则判定校验通过,若否,则判定校验失败。
本优选实施例提供了一种较为具体的日志校验方法,可以从根本上保证业务数据的准确性以及两平台数据信息的一致性。具体而言,由于第一平台和第二平台同时进行了相同的业务处理,因此,在理论上第一业务操作日志与第二业务操作日志应该是完全相同的,包括日志内容、日志数量等,由此,即可通过判断第一业务操作日志与第二业务操作日志是否一致来确定校验是否通过,当二者完全一致时,判定校验通过,当二者存在差别时,判定校验失败。
作为一种优选实施例,该数据同步方法还可包括:当校验失败时,第二平台判断第一业务操作日志的数量是否超出第二业务操作日志的数量;若是,则保存第一业务操作日志;若否,则将第二业务操作日志发送至第一业务平台进行保存。
本优选实施例所提供的数据同步方法可实现数据修复,具体的,当校验失败时,以日志数量多的业务操作日志为准进行日志保存,若日志数量较少,则说明其对应的业务处理存在滞后性,出现了数据丢失的问题,因此,对于第一平台和第二平台,若第一业务操作日志的数量多于第二业务操作日志的数量,则以第一业务操作日志为准,二者均对第一业务操作日志进行保存;若第一业务操作日志的数量少于第二业务操作日志的数量,则以第二业务操作日志为准,二者均对第二业务操作日志进行保存。
作为一种优选实施例,该数据同步方法还可包括:当第一平台接收到数据同步失败通知时,启动数据补偿机制,通过数据补偿机制对指定业务数据进行数据补偿。
本优选实施例提供了更为具体的数据修复方法,即通过数据补偿机制实现数据补偿。具体的,在第一平台向第二平台进行数据同步的过程中,一旦接收到数据同步失败通知,第一平台将立即启动数据补偿机制,对预先指定的业务数据类型进行数据补偿,其中,指定业务数据的具体类型并不唯一,可以由技术人员根据实际需求进行自定义设置,例如,可以包括第一平台未接收到第二平台回调的数据,第一平台请求第二平台数据同步失败的数据,以及第一平台接收到第二平台回调但回调结果为业务处理失败的数据信息等。
作为一种优选实施例,该数据同步方法还可包括:第一平台统计数据补偿时间,并当数据补偿时间超出预设补偿时间时,关闭数据补偿机制。
为避免数据补偿时间过长导致额外的资源消耗的情况,可以设置数据补偿最长时间,即上述预设补偿时间。具体而言,当第二平台出现长时间宕机时,第一平台必然无法成功完成数据补偿操作,但是,若第一平台一直处于数据补偿状态,则必然会造成无谓的资源消耗。因此,当第一平台启动数据补偿机制进行数据补偿时,同时可以对数据补偿时间进行实时统计,并在数据补偿时间超出预设补偿时间时,强制关闭数据补偿机制,停止数据补偿操作,以有效避免额外的资源消耗。其中,上述预设补偿时间的具体取值并不影响本技术方案的实施,由技术人员根据实际情况进行设置即可,对于不同类型的业务平台,其对应的预设数据补偿时间也可以有所不同。
作为一种优选实施例,该数据同步方法还可包括:当第一平台接收到连接超时通知时,启动重连机制,并统计重连次数,当重连次数超出预设重连次数时,输出数据同步失败提示。
具体的,若要实现第一平台与第二平台之间的数据同步,两平台必须要建立连接关系,因此,当第一平台接收到业务请求时,可以通过与第二平台建立连接关系(如调用数据同步接口)将业务请求转发至第二平台,进一步,在数据同步过程中,可以对二者之间的连接关系进行实时检测,一旦接收到连接超时通知,第一平台将立即启动重连机制,以便与第二平台重新建立连接。然而,若第二平台处于宕机状态,第一平台必然无法成功实现连接关系的重新建立,同样,为避免无谓的资源消耗,可以预先设置最大可重连次数,即上述预设重连次数,并在重连次数(即重连机制启动次数)超出该预设重连次数时,不再启动重连机制,并输出数据同步失败的提示,以提醒技术人员进行及时的异常查修。可以理解的是,类似于上述预设补偿时间,对于该预设重连次数的具体取值,本申请同样不做限定,可以由技术人员进行自定义设置,也可以预先设置唯一的默认值。
作为一种优选实施例,该数据同步方法还可包括:第一平台向第二平台发送业务处理通知之后,对第二平台增设业务锁;第二平台保存第二业务操作日志之前,释放业务锁。
具体的,在第一平台向第二平台发送业务处理通知后,也即第二平台根据业务处理通知进行业务处理之前,第一平台可对第二平台增设业务锁,以避免第二平台出现并发操作对数据同步产生影响进而出现业务数据异常的情况;进一步,当第二平台完成业务处理并校验通过后,也即保存校验通过的第二业务操作日志之前,自动释放业务锁,以便进行其他的业务处理流程。
作为一种优选实施例,该数据同步方法还可包括:第一平台对第二平台增设业务锁之后,第二平台统计加锁时间,并在加锁时间超出预设加锁时间时,释放业务锁。
更进一步的,还可以设置业务锁的有效时长,即上述预设加锁时间,由此,在第一平台对第二平台增设业务锁的同时,第二平台可对加锁时间进行实时统计,并在加锁时间超出预设加锁时间时自动释放业务锁,以有效避免由于业务处理异常导致业务操作流程无法完成,进而造成第二平台一直处于被锁状态而无法进行其它业务处理的问题。
可见,本申请所提供的数据同步方法,对于需要进行数据同步的业务平台双方,当任一平台接收到业务请求需要进行业务处理时,另一平台也会触发业务处理操作,并且,在进行业务处理过程中,两平台都会实时记录业务操作日志,由此,在数据同步过程中,业务平台即可利用自身所记录的业务操作日志对另一平台的业务操作日志进行校验,以有效保证两平台业务数据的实时同步,同时还可以保证同步数据的正确性,避免了由于一方平台数据流程滞后造成数据丢失进而导致用户体验不佳的问题,有效地提高了业务平台的可用性。
在上述各实施例的基础上,本优选实施例以数据通报业务为例,提供了一种更为具体的数据同步方法。
请参考图2,图2为本申请所提供的一种数据同步系统架构图,该数据同步系统包括A业务平台及其存储中心,B业务平台及其存储中心,A业务平台与B业务平台之间的数据同步通过HTTP协议实现,其中,各业务平台包括业务处理中心、消息发布中心、消息消费中心以及数据补偿中心。在数据通报业务的数据同步过程中,则要求两平台保持所有的操作实时同步,两平台的数据库存储有完全相同的数据,以及两平台均可以处理或操作所有的通报。
1、业务处理中心:
请参考图3,图3为本申请所提供的一种数据通报业务流程图。
首先,业务平台分为监管用户和单位用户,其中,监管用户可以是政府部门监管单位的用户,单位用户可以是相应所属单位的用户,用户账号的主要属性可以包括用户名,用所属区域,账号类型(监管账号,单位账号)等。
进一步,在通报发起过程中,只有监管用户可以发起通报,且通报发起时可以选择其他监管用户审批或不选审批,当选择审批时,该通报进入待审核状态,当选择不审批时,该通报进入待处置状态;其中,通报的必要字段包括通报单位、通报发起人以及通报接收人。在此操作过程中,将触发数据同步至B平台。
进一步,当选择审批时,需要选择审核人进行审核,不管审核退回还是审核通过都会触发数据同步给B平台,若审批不通过,则退回进入待发布状态;若审批通过,则进入待处置状态。其中,进入待处置状态分为待二级监管和待单位处置两种,具体进入哪种流程是根据创建者账号的所属区域是否与通报单位的所属区域相同而决定的,若相同,则进入待单位处置环节,否则进入待二级监管处置环节。
进一步,当进入待处置状态时,接收人将会看到自己需要处置的通报信息,进而进行通报处理,并反馈结果给通报发起人,此时,进入结果待审核状态,在此过程中,会触发数据同步给B平台。当通报发起人看到接收人反馈的处置结果时,对该处置结果进行审阅,若符合处置要求则给与通过,否则退回,需要接收人重新处理通报,直到通报发起人审核通过为止,在此过程中,会触发数据同步给B平台。
2、消息发布中心:
在业务处理过程中,所有需要数据同步的信息,都由消息发布中心发布到消息中间件(如rabbitmq),并记录日志信息,日志信息包括但不限于消息唯一标识、消息类型、消息请求url、消息请求参数、消息成功标识、消息异常日志、日志存储时间、数据唯一标识、数据类型等。
3、消息消费中心:
当有消息发布到消息中间里时,消息消费中心将监听到消息的存在,此时将调用B平台接口进行同步,并记录日志信息。进一步,当B平台接收到A平台的数据同步请求时,首先记录请求日志,日志信息如上;然后,进行数据正确性校验,若数据正确则给与入库处理,否则不做处理;最后,将处理结果通http请求回调给A平台,告知处理情况,若不做处理,将告知原因,若异常,将告知异常原因。其中,如若在数据同步期间,出现网络问题或B平台宕机或B平台服务重启的情况,A平台将无法进行数据同步,而且会提示连接超时,此时A平台将启动连机制,以重新调用B平台同步接口,该重连次数可配置,默认次数为5次,当重连次数超过该值时,将不进行重连。最后,当A平台收到B平台的回调信息时,进行日志记录。
4、数据补偿中心:
数据补偿是对数据同步失败的数据进行补偿,需要进行补偿的数据可以包括A平台没收到B平台回调的数据,A平台数据同步请求B平台失败的数据,收到B平台回调,但是B平台告知消息处理失败的数据。其中,如若一方平台永远宕机或长时间宕机,A平台不可能一直进行数据补偿,徒劳消耗资源,因此可以预设数据补偿期限,该期限根据不同平台可不同配置,若数据补偿时间超过该期限还未补偿成功,将不再进行补偿处理。
请参考图4,图4为本申请所提供的一种数据通报业务数据同步时序图,该数据通报业务的数据同步基于图2所示数据同步系统实现,其具体实现流程包括:
1、正常业务处理流程:
(1)客户端请求A平台进行业务处理操作,A平台将通知B平台需要进行业务处理,B平台在此期间不允许任何操作,将锁住2分钟,超过2分钟B平台自动释放锁,当然,该锁住时间可配置化,例如5秒,以有效防止并发操作导致的数据问题;
(2)不论B平台通知成功与否,A平台都将进行处理业务,防止B平台影响A平台处理业务;若B平台通知成功,将同样进行业务处理;
(3)当A平台完成业务处理,将触发数据同步;
(4)触发数据同步时,A平台记录同步数据日志,同时发送同步数据给消息中心,即消息中间件,并更新消息发送结果;
(5)当消费中心监听到有消息要处理时,A平台记录消息同步日志,同时发送同步请求给B平台进行数据同步,并更新消息发送结果;
(6)当B平台接收到同步请求时,首先记录A平台同步日志,并基于自身记录的日志进行数据校验,校验通过则更新日志,否则不做处理,最后更新处理结果,并释放A平台加的锁;
(7)B平台将处理结果通知给A平台,A平台将记录该处理结果。
2、数据补偿流程:
收集需要补偿的日志信息,然后进入如上正常业务处理流程。
进一步,在上述数据通报业务的数据同步过程中,校验机制原理如下:
具体而言,在A平台与B平台的数据同步过程中,当A平台发起通报时,若B平台服务正常,A平台将数据同步给B平台,此时A平台和B平台的数据及状态保持一致,均处于待审核状态;但是,若B平台宕机已久,A平台已审核通过进入待处置状态,却无法将最新数据同步给B平台,A平台又进行处置进入结果待审核状态,仍无法将最新数据同步给B平台,故B平台的流程将一直处于滞后状态,倘若此时B平台服务重启不再宕机,其将会从待审核状态开始进行后续业务处理,生成新的但不正确的业务数据,如若B平台触发数据同步给A平台,必然会覆盖A平台中正确的业务数据,进而导致业务数据的不正确性。
因此,为解决上述问题,需要通过数据校验保证业务数据的正确性。具体而言,当A平台和B平台处理数据业务时,都会记录业务操作日志,业务操作日志信息包括但不限于数据唯一标识、数据状态(发通报,待审核,待处置,结果待审核,完结)以及操作时间。例如,如下表所示,表1为A平台业务操作日志信息表,表2为B平台业务操作日志信息表:
表1A平台业务操作日志信息表
唯一标识 | 流程状态 | 操作时间 |
000001 | 发通报 | 2017-06-07 11:23:13 |
000001 | 待审核 | 2017-06-08 11:23:13 |
000001 | 待处置 | 2017-06-09 11:23:13 |
000001 | 结果待审核 | 2017-06-10 11:23:13 |
表2B平台业务操作日志信息表
唯一标识 | 流程状态 | 操作时间 |
000001 | 发通报 | 2017-06-07 11:23:13 |
000001 | 待审核 | 2017-06-08 11:23:13 |
000001 | 待处置 | 2017-06-09 11:23:13 |
此时,若B平台同步数据至A平台,A平台将进行数据校验,校验逻辑为“谁的业务操作日志条数多,以谁为准”,如上表所示,此时A平台的业务操作日志条数多,B平台的数据将不会覆盖A平台的数据,同时,A平台发现B平台数据滞后,则触发数据同步至B平台,达到两平台数据的一致性,由此,滞后的B平台数据即可与A平台保持一致。
可见,本申请实施例所提供的数据同步方法,对于需要进行数据同步的业务平台双方,当任一平台接收到业务请求需要进行业务处理时,另一平台也会触发业务处理操作,并且,在进行业务处理过程中,两平台都会实时记录业务操作日志,由此,在数据同步过程中,业务平台即可利用自身所记录的业务操作日志对另一平台的业务操作日志进行校验,以有效保证两平台业务数据的实时同步,同时还可以保证同步数据的正确性,避免了由于一方平台数据流程滞后造成数据丢失进而导致用户体验不佳的问题,有效地提高了业务平台的可用性。
为解决上述技术问题,本申请还提供了一种数据同步装置,请参考图5,图5为本申请所提供的一种数据同步装置的结构示意图,该数据同步装置可包括:
第一平台1,用于根据业务请求向第二平台2发送业务处理通知,并根据业务请求进行业务处理获得第一业务操作日志,将第一业务操作日志发送至第二平台2;
第二平台2,用于根据业务处理通知进行业务处理,获得第二业务操作日志,并利用第二业务操作日志对第一业务操作日志进行校验,当校验通过时,保存第二业务操作日志。
可见,本申请实施例所提供的数据同步系统,对于需要进行数据同步的业务平台双方,当任一平台接收到业务请求需要进行业务处理时,另一平台也会触发业务处理操作,并且,在进行业务处理过程中,两平台都会实时记录业务操作日志,由此,在数据同步过程中,业务平台即可利用自身所记录的业务操作日志对另一平台的业务操作日志进行校验,以有效保证两平台业务数据的实时同步,同时还可以保证同步数据的正确性,避免了由于一方平台数据流程滞后造成数据丢失进而导致用户体验不佳的问题,有效地提高了业务平台的可用性。
作为一种优选实施例,上述第二平台2可具体用于判断第一业务操作日志与第二业务操作日志是否相同,若是,则判定校验通过,若否,则判定校验失败。
作为一种优选实施例,上述第二平台2还可用于当校验失败时,判断第一业务操作日志的数量是否超出第二业务操作日志的数量;若是,则保存第一业务操作日志;若否,则将第二业务操作日志发送至第一业务平台1进行保存。
作为一种优选实施例,上述第一平台1还可用于当接收到数据同步失败通知时,启动数据补偿机制,通过数据补偿机制对指定业务数据进行数据补偿。
作为一种优选实施例,上述第一平台1还可用于计数据补偿时间,并当数据补偿时间超出预设补偿时间时,关闭数据补偿机制。
作为一种优选实施例,上述第一平台1还可用于当接收到连接超时通知时,启动重连机制,并统计重连次数,当重连次数超出预设重连次数时,输出数据同步失败提示。
作为一种优选实施例,上述第一平台1还可用于在向第二平台2发送业务处理通知之后,对第二平台2增设业务锁;则上述第二平台2还可用于在保存第二业务操作日志之前,释放业务锁。
作为一种优选实施例,上述第二平台2还可用于在第一平台1对第二平台2增设业务锁之后,统计加锁时间,并在加锁时间超出预设加锁时间时,释放业务锁。
作为一种优选实施例,上述第二平台2还可用于将业务处理结果反馈至第一平台1。
对于本申请提供的系统的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。
Claims (8)
1.一种数据同步方法,其特征在于,包括:
第一平台根据业务请求向第二平台发送业务处理通知,并根据所述业务请求进行业务处理获得第一业务操作日志,将所述第一业务操作日志发送至所述第二平台;
所述第二平台根据所述业务处理通知进行业务处理,获得第二业务操作日志,并利用所述第二业务操作日志对所述第一业务操作日志进行校验,当校验通过时,保存所述第二业务操作日志;
所述利用所述第二业务操作日志对所述第一业务操作日志进行校验,包括:
判断所述第一业务操作日志与所述第二业务操作日志是否相同,若是,则判定校验通过,若否,则判定校验失败;
当校验失败时,所述第二平台判断所述第一业务操作日志的数量是否超出所述第二业务操作日志的数量;
若是,则保存所述第一业务操作日志;
若否,则将所述第二业务操作日志发送至所述第一平台进行保存。
2.根据权利要求1所述的数据同步方法,其特征在于,还包括:
当所述第一平台接收到数据同步失败通知时,启动数据补偿机制,通过所述数据补偿机制对指定业务数据进行数据补偿。
3.根据权利要求2所述的数据同步方法,其特征在于,还包括:
所述第一平台统计数据补偿时间,并当所述数据补偿时间超出预设补偿时间时,关闭所述数据补偿机制。
4.根据权利要求1所述的数据同步方法,其特征在于,还包括:
当所述第一平台接收到连接超时通知时,启动重连机制,并统计重连次数,当所述重连次数超出预设重连次数时,输出数据同步失败提示。
5.根据权利要求1所述的数据同步方法,其特征在于,还包括:
所述第一平台向所述第二平台发送所述业务处理通知之后,对所述第二平台增设业务锁;
所述第二平台保存所述第二业务操作日志之前,释放所述业务锁。
6.根据权利要求5所述的数据同步方法,其特征在于,还包括:
所述第一平台对所述第二平台增设所述业务锁之后,所述第二平台统计加锁时间,并在所述加锁时间超出预设加锁时间时,释放所述业务锁。
7.根据权利要求1所述的数据同步方法,其特征在于,还包括:
所述第二平台将业务处理结果反馈至所述第一平台。
8.一种数据同步系统,其特征在于,包括:
第一平台,用于根据业务请求向第二平台发送业务处理通知,并根据所述业务请求进行业务处理获得第一业务操作日志,将所述第一业务操作日志发送至所述第二平台;
所述第二平台,用于根据所述业务处理通知进行业务处理,获得第二业务操作日志,并利用所述第二业务操作日志对所述第一业务操作日志进行校验,当校验通过时,保存所述第二业务操作日志;
所述利用所述第二业务操作日志对所述第一业务操作日志进行校验,包括:
判断所述第一业务操作日志与所述第二业务操作日志是否相同,若是,则判定校验通过,若否,则判定校验失败;
当校验失败时,所述第二平台判断所述第一业务操作日志的数量是否超出所述第二业务操作日志的数量;
若是,则保存所述第一业务操作日志;
若否,则将所述第二业务操作日志发送至所述第一平台进行保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011194701.5A CN112311883B (zh) | 2020-10-30 | 2020-10-30 | 一种数据同步方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011194701.5A CN112311883B (zh) | 2020-10-30 | 2020-10-30 | 一种数据同步方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112311883A CN112311883A (zh) | 2021-02-02 |
CN112311883B true CN112311883B (zh) | 2023-04-07 |
Family
ID=74332582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011194701.5A Active CN112311883B (zh) | 2020-10-30 | 2020-10-30 | 一种数据同步方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112311883B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107087038A (zh) * | 2017-06-29 | 2017-08-22 | 珠海市魅族科技有限公司 | 一种数据同步的方法、同步设备、装置及存储介质 |
CN111625535A (zh) * | 2020-04-17 | 2020-09-04 | 贝壳技术有限公司 | 一种实现业务数据关联的方法、装置和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510404B2 (en) * | 2006-04-03 | 2013-08-13 | Kinglite Holdings Inc. | Peer to peer Synchronization system and method |
JP2011043865A (ja) * | 2009-08-19 | 2011-03-03 | Mitsubishi Electric Corp | データ処理装置及びデータ処理方法及びプログラム |
CN102891849B (zh) * | 2012-09-25 | 2015-07-22 | 北京星网锐捷网络技术有限公司 | 业务数据同步方法、恢复方法及装置和网络设备 |
CN106888238B (zh) * | 2015-12-15 | 2020-05-05 | 阿里巴巴集团控股有限公司 | 一种数据同步方法及装置 |
US10902016B2 (en) * | 2018-02-12 | 2021-01-26 | Artem Shamsutdinov | Autonomous interdependent repositories |
CN111290866B (zh) * | 2020-02-11 | 2023-06-30 | 支付宝(杭州)信息技术有限公司 | 业务处理方法及装置 |
-
2020
- 2020-10-30 CN CN202011194701.5A patent/CN112311883B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107087038A (zh) * | 2017-06-29 | 2017-08-22 | 珠海市魅族科技有限公司 | 一种数据同步的方法、同步设备、装置及存储介质 |
CN111625535A (zh) * | 2020-04-17 | 2020-09-04 | 贝壳技术有限公司 | 一种实现业务数据关联的方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112311883A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6980796B1 (en) | Method and system for verifying the authenticity of a first communication participants in a communications network | |
US20070033284A1 (en) | System server for data processing with multiple clients and a data processing method | |
CN108259618B (zh) | 一种同步的数据交互处理方法及装置 | |
WO2021139052A1 (zh) | 文件传输的反馈方法、装置、设备和存储介质 | |
CN111404918A (zh) | 一种云手机分布式服务应急认证方法、装置及系统 | |
CN111090658B (zh) | 异常事务处理方法、系统及其设备 | |
CN111835772A (zh) | 一种基于边缘计算的用户身份认证方法、装置 | |
CN110311962B (zh) | 消息推送方法、系统及计算机可读存储介质 | |
CN112311883B (zh) | 一种数据同步方法及系统 | |
CN107872492A (zh) | 一种在服务端支持多用户编辑数据对象的方法和装置 | |
CN111190754B (zh) | 一种区块链事件通知方法及区块链系统 | |
CN111581613B (zh) | 一种账户登录验证方法及系统 | |
CN111738733B (zh) | 疑帐作业的处理方法及装置 | |
CN113177052A (zh) | 一种分布式系统业务数据一致性处理方法、装置 | |
CN115114303A (zh) | 业务数据稽核方法、平台和系统 | |
CN111695901A (zh) | 账务凭证处理方法、装置、设备及存储介质 | |
CN116431367B (zh) | 一种修改票证信息的方法、系统及计算机可读存储介质 | |
CN115694793A (zh) | 密码维护方法、装置、电子设备及存储介质 | |
CN115086436B (zh) | Api间参数校验方法、装置、计算机设备及存储介质 | |
CN114971163B (zh) | 重新发起业务请求的执行方法及执行装置 | |
CN111064801B (zh) | 一种基于分布式文件系统的osd通信方法、装置及介质 | |
CN116668109A (zh) | 一种操作系统账号密码风险分析方法、系统、设备及介质 | |
CN115967916A (zh) | 信息发送方法、装置、计算机设备及计算机可读存储介质 | |
CN116703584A (zh) | 一种基于两阶段提交机制的交易方法、装置、设备及介质 | |
CN115760352A (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 |