本发明涉及计算机和数据处理,具体地涉及一种数据同步方法、系统、电子设备及存储介质。
背景技术:
1、随着企业信息化建设的不断深入,企业资源规划(enterprise resourceplanning,erp)系统,例如in3系统,已经成为企业运营管理的核心系统,其包含了企业的采购、销售、库存、生产、财务等各个方面的数据。然而,在复杂的商业环境中,企业往往需要同时使用多个系统来满足不同的业务需求,这就带来了数据一致性和同步处理的挑战。
2、传统的erp系统实现数据同步的方法通常采用数据库触发器和定期轮询机制。当erp系统中的数据发生变更时,会触发数据库中的触发器,记录这些变更信息。再通过定期轮询的方式,定期检查变更信息,并将变更同步至其他目标系统。首先,该方法在多系统、多数据库的环境下实现数据同步时,可能会存在时间延迟,无法实时反映数据变更。尤其是在业务繁忙或数据更新频繁的场景下,该延迟还可能会导致数据不一致或业务处理错误。其次,在多个目标系统的同步处理过程中,还需为每个目标系统编写特定的同步逻辑,增加了开发和维护的难度。
技术实现思路
1、本发明的目的之一在于提供一种数据同步方法,以解决现有技术中无法在数据发生变更后及时给予响应,导致数据同步存在延迟和/或同步错误的技术问题。
2、本发明的目的之一在于提供一种数据同步系统。
3、本发明的目的之一在于提供一种电子设备。
4、本发明的目的之一在于提供一种计算机可读存储介质。
5、为了实现上述发明目的之一,本发明提供一种数据同步方法,包括:控制第一设备生成消息队列;所述消息队列包含唯一标识,所述唯一标识指向第一设备的待同步数据;控制第二设备确定所述消息队列中的唯一标识,根据所述唯一标识获取与其匹配的待同步数据。
6、作为本发明一实施方式的进一步改进,所述控制第一设备生成消息队列具体包括:控制所述第一设备响应于数据变更操作,根据与变更数据对应的唯一标识生成所述消息队列。
7、作为本发明一实施方式的进一步改进,所述控制第一设备生成消息队列具体包括:控制所述第一设备响应于第一业务操作,生成对应的唯一标识;控制所述第一设备根据所述唯一标识生成消息队列,以及将所述唯一标识保存至同步记录表中;所述同步记录表用于记录消息队列的生成状态。
8、作为本发明一实施方式的进一步改进,在所述控制所述第一设备根据所述唯一标识生成消息队列之后,所述方法还包括:判断生成的消息队列是否包括所述唯一标识;若是,则控制消息队列返回对应于所述唯一标识的消息编号,以及控制第一设备将所述消息编号更新至同步记录表中。
9、作为本发明一实施方式的进一步改进,所述控制第二设备确定所述消息队列中的唯一标识,根据所述唯一标识获取与其匹配的待同步数据具体包括:
10、控制所述第二设备根据唯一标识和同步记录表,判断第一设备处是否实施数据变更操作;若是,则控制第二设备获取与唯一标识匹配的待同步数据。
11、作为本发明一实施方式的进一步改进,所述控制所述第二设备根据唯一标识和消息队列,判断第一设备处是否实施数据变更操作具体包括:控制第二设备获取同步记录表,根据所述唯一标识确定对应的同步状态,判断所述同步状态是否为预设状态信息;若是,则判定第一设备处实施数据变更操作。
12、作为本发明一实施方式的进一步改进,所述控制第二设备获取与唯一标识匹配的待同步数据具体包括:当第二设备获取的待同步数据为空时,控制第二设备调用与所述唯一标识对应的数据接口,确定必填字段;控制第二设备根据所述唯一标识和所述必填字段,获取相匹配的待同步数据。
13、作为本发明一实施方式的进一步改进,所述方法还包括:当第二设备完成与唯一标识匹配的待同步数据的获取时,或当所述唯一标识指示所述第一设备处未实施数据变更操作时,控制所述第一设备将该唯一标识从消息队列中删除。
14、作为本发明一实施方式的进一步改进,控制第一设备接收第二设备返回的状态信息;当所述状态信息指示第一状态时,控制所述第一设备将当前唯一标识从消息队列中删除;当所述状态信息指示第二状态时,则解析得到失败信息并将其更新至同步记录表,所述同步记录表用于记录第一设备和第二设备之间的同步状态。
15、作为本发明一实施方式的进一步改进,所述第一设备为或包括in3企业资源规划系统,所述第二设备为或包括u8云。
16、为实现上述发明目的之一,本发明还提供一种数据同步系统,包括:第一设备,用于生成消息队列;所述消息队列包含唯一标识,所述唯一标识指向第一设备的待同步数据;第二设备,用于确定所述消息队列中的唯一标识,根据所述唯一标识获取与其匹配的待同步数据。
17、为实现上述发明目的之一,本发明还提供一种电子设备,包括:至少一个处理器;存储器,所述存储器存储有在所述处理器上运行的计算机程序,所述处理器执行所述程序时执行如上述任一种技术方案所述的数据同步方法的步骤。
18、为实现上述发明目的之一,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行上述任一种技术方案所述的数据同步方法的步骤。
19、与现有技术相比,本发明实施例具有如下至少一种有益效果:
20、本发明采用数据同步方法,通过控制第一设备生成包含唯一标识的消息队列,以及控制第二设备确定并根据唯一标识获取待同步数据,实现第一设备和第二设备的数据同步。此外,生成包含唯一标识的消息队列,而不是向消息队列推送整个业务信息,实现轻量级的数据处理,降低数据传输的负担,减少网络带宽和存储资源的消耗,提高系统的性能和响应速度。同时,利用消息队列进行数据的暂存和传递,实现数据变更的异步处理,使得数据变更的捕获和获取是两个独立的过程,互不干扰,提高数据同步的准确性、灵活性和可扩展性。
1.一种数据同步方法,其特征在于,包括:
2.根据权利要求1所述的数据同步方法,其特征在于,所述控制第一设备生成消息队列具体包括:
3.根据权利要求1所述的数据同步方法,其特征在于,所述控制第一设备生成消息队列具体包括:
4.根据权利要求3所述的数据同步方法,其特征在于,在所述控制所述第一设备根据所述唯一标识生成消息队列之后,所述方法还包括:
5.根据权利要求1所述的数据同步方法,其特征在于,所述控制第二设备确定所述消息队列中的唯一标识,根据所述唯一标识获取与其匹配的待同步数据具体包括:
6.根据权利要求5所述的数据同步方法,其特征在于,所述控制所述第二设备根据唯一标识和消息队列,判断第一设备处是否实施数据变更操作具体包括:
7.根据权利要求5所述的数据同步方法,其特征在于,所述控制第二设备获取与唯一标识匹配的待同步数据具体包括:
8.根据权利要求1所述的数据同步方法,其特征在于,所述方法还包括:
9.根据权利要求8所述的数据同步方法,其特征在于,所述方法还包括:
10.根据权利要求1所述的数据同步方法,其特征在于,所述第一设备为或包括in3企业资源规划系统,所述第二设备为或包括u8云。
11.一种数据同步系统,其特征在于,包括:
12.一种电子设备,包括:
13.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1至10任一项所述的数据同步方法的步骤。