一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种反向记录同步状态的实时数据同步方法、系统及介质与流程

2022-02-22 04:05:38 来源:中国专利 TAG:


1.本发明属于跨系统的数据实时同步领域,尤其涉及一种反向记录同步状态的实时数据同步方法、系统及介质。


背景技术:

2.部分系统在做数据同步的时候都是只提供api由第三方调用,至于何时调用是由调用方决定,平台数据方的增量变化数据是不会直接同步给第三方。
3.第三方需要抓取增量变化数据只能自己记录变化的状态,对比差异后再抓取,常规做法就是数据获取方存储一个时间戳,下一次再获取的时候查询的数据基于记录的时间戳对比,查询出来合适的数据。
4.数据同步时候,传统做法是数据接收方自己处理同步状态并且记录同步数据的状态,对于数据获取方而言增加了复杂度和理解系统的难度。
5.传统方案如图2a-图2c所示,方案一是直接将时间戳作为条件直接查询,前提是提供方支持时间戳作为条件,方案二是将查询结果根据时间戳过滤出数据,无论是第一种方案还是第二种方案都需要记录当前数据最大的时间戳,用于下一次获取数据的时候做增量数据的处理。


技术实现要素:

6.为解决上述技术问题,本发明提出一种反向记录同步状态的实时数据同步方法、系统及介质的技术方案,以解决上述技术问题。
7.本发明第一方面公开了一种反向记录同步状态的实时数据同步方法;所述方法包括:步骤s1、数据有变化,并且事务提交完成后,调用档案更新通知接口,产生待同步数据,所述待同步数据的唯一key存入信息同步表;步骤s2、所述待同步数据的唯一key存入信息同步表后,根据数据变化的情况,组织消息体的信息;步骤s3、数据提供方通知数据获取方根据消息体的信息来取数据;步骤s4、所述数据获取方在获得数据提供方发送的通知后,便开始获取数据,不停抓取,直到获取不到数据为止,最终获取到的数据为变化的数据。
8.根据本发明第一方面的方法,在所述步骤s1中,所述方法还包括:步骤s5、所述数据获取方获取数据完毕后,需要调用状态更新接口,更新当前数据的状态;步骤s6、所述数据获取方查询当前数据的同步状态,确定当前数据的同步状态。
9.根据本发明第一方面的方法,在所述步骤s1中,所述产生待同步数据之前,所述方法还包括:根据当前配置的元数据,决定所述数据是否同步以及怎样同步;所述信息同步表还记录:每一条变化数据的同步状态、失败原因和数据的时间戳。
10.根据本发明第一方面的方法,在所述步骤s2中,所述组织消息体的信息,包括:变化的数据,以及数据的优先级,所述数据获取方按照所述优先级这个顺序来获取数据。
11.根据本发明第一方面的方法,在所述步骤s3中,所述数据提供方通知数据获取方根据消息体的信息来取数据的具体方法包括:数据提供方通过扩展通知接口通知数据获取方根据消息体的信息的数据的优先级来取数据;不同的数据获取方存在不同的通知方式,所述扩展通知接口则直接跟数据获取方对接,告知数据获取方数据有变化,来获取数据,同时传给数据获取方相应获取数据的参数;所述扩展通知接口与数据获取方对接时候配置方案,所述方案包括,所述待同步数据的类型、所述扩展通知接口的配置、查询和删除数据时候重写的特殊接口。
12.根据本发明第一方面的方法,在所述步骤s5中,更新当前数据的状态的判断过程包括:有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据,数据获取方获取数据后,同步状态就处于“同步中”,数据获取方处理完毕后需要调用同步的回写接口,确定获取的数据是否同步完成,所述同步的回写接口记录当前的同步状态,数据获取方无需再记录同步状态;有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据的具体过程包括:如果数据有新增的则直接插入进入信息同步表,同时记录数据的时间戳,如果是修改的,则判断本次的数据的时间戳和上一次的数据的时间戳是否一致,如果不一致则判断本次是有效修改,有效修改则会将同步状态改为未同步,同时通过扩展通知接口通知数据获取方来获取数据。
13.根据本发明第一方面的方法,在所述步骤s3中,所述删除数据的具体方法包括:数据删除的时候先校验数据提供方本身是否可以删除,如果数据提供方本身就不能删除,则返回提示,如果数据提供方本身可以删除,则调用数据获取方的接口判断是否可以删除数据,如果数据获取方没有配置删除控制的扩展方法,则默认是不允许删除。
14.本发明第二方面公开了一种反向记录同步状态的实时数据同步系统;所述系统包括:第一处理模块,被配置为,数据有变化,并且事务提交完成后,调用档案更新通知接口,产生待同步数据,所述待同步数据的唯一key存入信息同步表;第二处理模块,被配置为,所述待同步数据的唯一key存入信息同步表后,根据数据变化的情况,组织消息体的信息;第三处理模块,被配置为,数据提供方通知数据获取方根据消息体的信息来取数据;第四处理模块,被配置为,所述数据获取方在获得数据提供方发送的通知后,便开始获取数据,不停抓取,直到获取不到数据为止,最终获取到的数据为变化的数据;第五处理模块,被配置为,所述数据获取方获取数据完毕后,需要调用状态更新接
口,更新当前数据的状态;第六处理模块,被配置为,所述数据获取方查询当前数据的同步状态,确定当前数据的同步状态。
15.根据本发明第二方面的系统,第一处理模块,被配置为,所述产生待同步数据之前,所述方法还包括:根据当前配置的元数据,决定所述数据是否同步以及怎样同步;所述信息同步表还记录:每一条变化数据的同步状态、失败原因和数据的时间戳。
16.根据本发明第二方面的系统,第二处理模块,被配置为,所述组织消息体的信息,包括:变化的数据,以及数据的优先级,所述数据获取方按照所述优先级这个顺序来获取数据。
17.根据本发明第二方面的系统,第三处理模块,被配置为,所述数据提供方通知数据获取方根据所述消息体的信息来取数据的具体方法包括:数据提供方通过数据扩展通知接口通知数据获取方根据消息体的信息的数据的优先级来取数据;不同的数据获取方存在不同的通知方式,所述数据扩展通知接口则直接跟数据获取方对接,告知数据获取方数据有变化,来获取数据,同时传给数据获取方相应获取数据的参数;所述数据扩展通知接口与数据获取方对接时候需要配置一类方案,所述方案包括,所述待同步数据的类型、所述数据扩展通知接口的配置、查询和删除数据时候重写的特殊接口。
18.根据本发明第二方面的系统,第五处理模块,被配置为,更新当前数据的状态的判断过程包括:有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据,数据获取方获取数据后,同步状态就处于“同步中”,数据获取方处理完毕后需要调用同步的回写接口,确定获取的数据是否同步完成,所述同步的回写接口记录当前的同步状态,数据获取方无需再记录同步状态;有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据的具体过程包括:如果数据有新增的则直接插入进入信息同步表,同时记录数据的时间戳,如果是修改的,则判断本次的数据的时间戳和上一次的数据的时间戳是否一致,如果不一致则判断本次是有效修改,有效修改则会将同步状态改为未同步,同时通过扩展通知接口通知数据获取方来获取数据。
19.根据本发明第二方面的系统,第三处理模块,被配置为,所述删除数据的具体方法包括:数据删除的时候先校验数据提供方本身是否可以删除,如果数据提供方本身就不能删除,则返回提示,如果数据提供方本身可以删除,则调用数据获取方的接口判断是否可以删除数据,如果数据获取方没有配置删除控制的扩展方法,则默认是不允许删除。
20.本发明第三方面公开了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本公开第一方面中任一项的一种反向记录
同步状态的实时数据同步方法中的步骤。
21.可见,本发明提出的方案,1、现有方案在做数据同步时候,一般是获取到数据后,数据获取方记录数据状态,如果有多个获取数据客户端,则各自记录各自数据状态,数据提供方不做任何处理。
22.2、通过在数据提供方注册配置信息,就可以获取提供方数据,同时提供方数据变化后也可以及时通知到各个注册的各个对接方,使一对多数据同步时候可以集中处理数据,改进了数据获取的时效性,以及可扩展性,实现同步数据的反向记录,即同步状态记录在平台方,数据获取方只需要从平台方查询同步状态即可知道当前同步系统的同步情况。
23.3、同步系统基于数据变化的通知方式既支持异步消息也支持同步调用的方式通知第三方,可兼容不同场景。
24.综上,本发明提出的方案能够在不改变数据提供方原有业务系统的表结构的场景下对接多个数据获取方,独立于原有系统的存在,和数据提供方的业务系统隔离开。
附图说明
25.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1为根据本发明实施例的一种反向记录同步状态的实时数据同步方法的流程图;图2a-图2c为根据背景技术的方案一和方案二的流程图;图3为根据本发明实施例的方案流程图;图4为根据本发明实施例的组织消息体的信息中的数据的优先级示意图;图5为根据本发明实施例的数据的状态变化过程图;图6为根据本发明实施例的更新当前数据的状态的判断过程图;图7为根据本发明实施例的删除控制过程图;图8为根据本发明实施例的一种反向记录同步状态的实时数据同步系统的结构图;图9为根据本发明实施例的一种电子设备的结构图。
具体实施方式
27.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.本发明第一方面公开了一种反向记录同步状态的实时数据同步方法。图1为根据本发明实施例的一种反向记录同步状态的实时数据同步方法的流程图,如图1和图3所示,所述方法包括:步骤s1、数据有变化,并且事务提交完成后,调用档案更新通知接口,产生待同步
数据,所述待同步数据的唯一key存入信息同步表;在一些实施例中,在所述步骤s1中,所述产生待同步数据之前,所述方法还包括:根据当前配置的元数据,决定所述数据是否同步以及怎样同步;其中,配置的是元数据,同步的是具体数据,就是用于同步数据的相关配置信息。
29.如表1所示,所述信息同步表还记录:每一条变化数据的同步状态、失败原因和数据的时间戳;所述信息同步表并不会记录实际的数据,只是记录key;表1步骤s2、所述待同步数据的唯一key存入信息同步表后,根据数据变化的情况,组织消息体的信息;在一些实施例中,在所述步骤s2中,所述组织消息体的信息,包括:变化的数据 ,以及数据的优先级,如图4所示,所述数据获取方按照所述优先级这个顺序来获取数据;其中,变化的数据不是真实数据,也不是数据的key,而是一类数据,例如:“计量单位”,代表计量单位有变化,通知数据获取方来取数。
30.步骤s3、数据提供方通知数据获取方根据消息体的信息来取数据;在一些实施例中,在所述步骤s3中,所述数据提供方通知数据获取方根据消息体的信息来取数据的具体方法包括:数据提供方通过扩展通知接口通知数据获取方根据消息体的信息的数据的优先级来取数据;不同的数据获取方存在不同的通知方式,所述扩展通知接口则直接跟数据获取方对接,告知数据获取方数据有变化,来获取数据,同时传给数据获取方相应获取数据的参数;所述数据扩展通知接口与数据获取方对接时候需要配置一类方案,所述方案包括,所述待同步数据的类型,例如erp系统同步存货、往来单位等,所述扩展通知接口的配置,查询和删除数据时候重写的特殊接口;在一些实施例中,在所述步骤s3中,如图7所示,所述删除数据的具体方法包括:数据删除的时候先校验数据提供方本身是否可以删除,如果数据提供方本身就不能删除,则返回提示,如果数据提供方本身可以删除,则调用数据获取方的接口判断是否可以删除数据,如果数据获取方没有配置删除控制的扩展方法,则默认是不允许删除;步骤s4、所述数据获取方在获得数据提供方发送的通知后,便开始获取数据,不停抓取,直到获取不到数据为止,最终获取到的数据为变化的数据;首次获取的时候,所有数
据都是变化的数据,下一次再获取的时候就只提供变化的数据;步骤s5、所述数据获取方获取数据完毕后,需要调用状态更新接口,更新当前数据的状态;包括当前数据是否同步完成,失败的话失败原因会显示出来;在一些实施例中,如图5所示,数据的状态变化过程:数据状态在信息同步表里面的状态是经历几个过程、未同步,同步中、同步完成,其中同步完成包含同步成功和同步失败两个状态,同时后台调度,会针对处理失败的数据二次处理。修改同步状态为未同步,同时通知对方再次获取数据;在一些实施例中,在所述步骤s5中,如图6所示,更新当前数据的状态的判断过程包括:有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据,数据获取方获取数据后,同步状态就处于“同步中”,数据获取方处理完毕后需要调用同步的回写接口,确定获取的数据是否同步完成,所述同步的回写接口记录当前的同步状态,数据获取方无需再记录同步状态;有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据的具体过程包括:如果数据有新增的则直接插入进入信息同步表,同时记录数据的时间戳,如果是修改的,则判断本次的数据的时间戳和上一次的数据的时间戳是否一致,如果不一致则判断本次是有效修改,有效修改则会将同步状态改为“未同步”,同时通过扩展通知接口并通知数据获取方来获取数据;步骤s6、所述数据获取方查询当前数据的同步状态,确定当前数据的同步状态,多端同时查询,结果按照配置信息不一样,显示数据也不一样。
31.本发明提出的方案中数据的同步状态以及时间戳记录在数据提供方,形成一种同步状态的反向记录,方便多个数据接收方的调用,同时增量变化的数据也实时通过异步或者同步的方式通知数据接收方,接收方再处理完数据后回调状态回写接口形成一个完整的闭环,确保数据更新的时效性。
32.综上,本发明提出的方案能够在不改变数据提供方原有业务系统的表结构的场景下对接多个数据获取方,独立于原有系统的存在,和数据提供方的业务系统隔离开。
33.本发明第二方面公开了一种反向记录同步状态的实时数据同步系统。图8为根据本发明实施例的一种反向记录同步状态的实时数据同步系统的结构图;如图8所示,所述系统100包括:第一处理模块101,被配置为,数据有变化,并且事务提交完成后,调用档案更新通知接口,产生待同步数据,所述待同步数据的唯一key存入信息同步表;第二处理模块102,被配置为,所述待同步数据的唯一key存入信息同步表后,根据数据变化的情况,组织消息体的信息;第三处理模块103,被配置为,数据提供方通知数据获取方根据消息体的信息来取数据;第四处理模块104,被配置为,所述数据获取方在获得数据提供方发送的通知后,便开始获取数据,不停抓取,直到获取不到数据为止,最终获取到的数据为变化的数据;
第五处理模块105,被配置为,所述数据获取方获取数据完毕后,需要调用状态更新接口,更新当前数据的状态;第六处理模块106,被配置为,所述数据获取方查询当前数据的同步状态,确定当前数据的同步状态。
34.根据本发明第二方面的系统,第一处理模块,被配置为,所述产生待同步数据之前,所述方法还包括:根据当前配置的同步元数据,决定所述数据是否同步以及怎样同步;所述信息同步表还记录:每一条变化数据的同步状态、失败原因和数据的时间戳。
35.根据本发明第二方面的系统,第二处理模块,被配置为,所述组织消息体的信息,包括:变化的数据,以及数据的优先级,所述数据获取方按照所述优先级这个顺序来获取数据。
36.根据本发明第二方面的系统,第三处理模块,被配置为,所述数据提供方通知数据获取方根据所述消息体的信息来取数据的具体方法包括:数据提供方通过扩展通知接口通知数据获取方根据消息体的信息的数据的优先级来取数据;不同的数据获取方存在不同的通知方式,所述扩展通知接口则直接跟数据获取方对接,告知数据获取方数据有变化,来获取数据,同时传给数据获取方相应获取数据的参数;所述扩展通知接口与数据获取方对接时候需要配置一类方案,所述方案包括,所述待同步数据的类型、所述扩展通知接口的配置、查询和删除数据时候重写的特殊接口。
37.根据本发明第二方面的系统,第五处理模块,被配置为,更新当前数据的状态的判断过程包括:有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据,数据获取方获取数据后,同步状态就处于“同步中”,数据获取方处理完毕后需要调用同步的回写接口,确定获取的数据是否同步完成,所述同步的回写接口记录当前的同步状态,数据获取方无需再记录同步状态;有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据的具体过程包括:如果数据有新增的则直接插入进入信息同步表,同时记录数据的时间戳,如果是修改的,则判断本次的数据的时间戳和上一次的数据的时间戳是否一致,如果不一致则判断本次是有效修改,有效修改则会将同步状态改为未同步,同时通过扩展通知接口并通知数据获取方来获取数据。
38.根据本发明第二方面的系统,第三处理模块,被配置为,所述删除数据的具体方法包括:数据删除的时候先校验数据提供方本身是否可以删除,如果数据提供方本身就不能删除,则返回提示,如果数据提供方本身可以删除,则调用数据获取方的接口判断是否可以删除数据,如果数据获取方没有配置删除控制的扩展方法,则默认是不允许删除。
39.本发明第三方面公开了一种电子设备。电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时,实现本发明公开第一方面中任一项的一种反
向记录同步状态的实时数据同步方法中的步骤。
40.图9为根据本发明实施例的一种电子设备的结构图,如图9所示,电子设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、近场通信(nfc)或其他技术实现。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
41.本领域技术人员可以理解,图9中示出的结构,仅仅是与本公开的技术方案相关的部分的结构图,并不构成对本技术方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
42.本发明第四方面公开了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本发明公开第一方面中任一项的一种反向记录同步状态的实时数据同步方法中的步骤中的步骤。
43.请注意,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献