数据同步方法、装置、系统、电子设备及可读存储介质与流程

文档序号:12890089阅读:178来源:国知局
数据同步方法、装置、系统、电子设备及可读存储介质与流程

本发明涉及数据处理技术领域,特别是涉及数据同步方法、装置、系统、电子设备及可读存储介质。



背景技术:

在信息化发展的过程中建立了大量的信息管理系统,这些系统之间存在一定的关联关系,部分数据在多个系统内都需要被使用,例如,用户的财务信息、个人信息。但是由于系统之间都有自己的管理模式和存储模式等,造成这些信息系统之间存在数据信息资源难以交流共享等问题,当一个业务系统对其数据库中的某些数据进行更新时,将导致该系统与其它多个系统内数据的不一致性。

现有的数据同步方法中,每个系统都分别建立与其他系统之间数据传输的接口,假设,同时有10个系统之间存在数据关联,则每个系统分别需要与其他9个系统都建立接口,进而通过接口进行数据同步。可以看出,现有的数据同步方法中系统开发难度较高,且扩展性较差。



技术实现要素:

本发明实施例的目的在于提供数据同步方法、装置、系统、电子设备及可读存储介质,以降低数据同步过程中系统开发的难度,提高扩展性。具体技术方案如下:

第一方面,本发明实施例提供了一种数据同步方法,应用于消息队列系统,包括:

接收第一数据系统通过所述第一数据系统的数据发送接口发送的待同步数据,其中,所述待同步数据为按照预设规则封装的数据;

读取所述消息队列系统中预先存储的除所述第一数据系统之外的多个第二数据系统的配置信息,其中,配置信息包括每个第二数据系统对应的数据传输地址、端口以及传输协议;

分别按照每个第二数据系统对应的配置信息,将所述待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统。

可选的,在所述接收第一数据系统通过所述第一数据系统的数据发送接口发送的待同步数据,之后,所述方法还包括:

解析所述待同步数据;

对解析后的待同步数据进行校验;

所述将所述待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统,包括:

在所述解析后的待同步数据通过校验时,将所述解析后的待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统。

可选的,在对解析后的待同步数据进行校验,之后,所述方法还包括:

在所述解析后的待同步数据未通过校验时,向所述第一数据系统反馈校验错误信息。

可选的,在所述将所述待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统,之后,所述方法还包括:

接收每个第二数据系统通过每个第二数据系统的数据发送接口发送的校验结果,所述校验结果包括每个第二数据系统针对所述待同步数据、校验是否符合预设数据格式的结果。

第二方面,本发明实施例还提供了一种数据同步系统,包括:消息队列系统以及多个数据系统,其中,所述多个数据系统包括第一数据系统和多个第二数据系统;

所述第一数据系统:用于通过数据发送接口向消息队列系统发送待同步数据,其中,所述待同步数据为按照预设规则封装的数据;

所述消息队列系统,用于读取所述消息队列系统中预先存储的除所述第一数据系统之外的多个第二数据系统的配置信息,其中,配置信息包括每个第二数据系统对应的数据传输地址、端口以及传输协议;分别按照每个第二数据系统对应的配置信息,将所述待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统;

所述第二数据系统,用于通过数据接收接口接收所述消息队列系统发送的所述待同步数据。

第三方面,本发明实施例还提供了一种数据同步装置,应用于消息队列系统,包括:

接收模块,用于接收第一数据系统通过所述第一数据系统的数据发送接口发送的待同步数据,其中,所述待同步数据为按照预设规则封装的数据;

读取模块,用于读取所述消息队列系统中预先存储的除所述第一数据系统之外的多个第二数据系统的配置信息,其中,配置信息包括每个第二数据系统对应的数据传输地址、端口以及传输协议;

发送模块,用于分别按照每个第二数据系统对应的配置信息,将所述待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统。

可选的,所述装置还包括:

解析模块,用于解析所述待同步数据;

校验模块,用于对解析后的待同步数据进行校验;

所述发送模块具体用于,在所述解析后的待同步数据通过校验时,将所述解析后的待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统。

可选的,所述装置还包括:

反馈模块,用于在所述解析后的待同步数据未通过校验时,向所述第一数据系统反馈校验错误信息。

第四方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序时,实现上述第一方面所述的方法步骤。

第五方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法步骤。

本发明实施例提供的数据同步方法、装置、系统、电子设备及可读存储介质,可以通过消息队列系统接收第一数据系统通过该第一数据系统的数据发送接口发送的待同步数据;读取消息队列系统中预先存储的除第一数据系统之外的多个第二数据系统对应的配置信息;然后,分别按照每个第二数据系统对应的配置信息,将待同步数据通过第二数据系统的数据接收接口发送至第二数据系统,完成系统之间数据的同步更新。

如此使得,每一个数据系统只需要建立与消息队列系统之间的接口,某一个数据系统有更新数据时,将该更新数据发送至消息队列系统,消息队列系统将该更新数据发送至其他与该数据系统关联的数据系统,进而实现数据的同步,不再需要每一个系统之间都建立接口而实现数据同步,降低数据同步过程中系统开发的难度。另外,当有增加的关联数据系统时,只需要在消息队列中配置该增加的关联数据系统的配置信息,就可以实现该关联数据系统与其他数据系统之间的数据同步,不再需要该关联数据系统与其他数据系统分别建立接口,提高了数据同步的扩展性。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的数据同步方法的流程图;

图2为本发明实施例提供的数据同步系统的结构示意图;

图3为本发明实施例提供的数据同步装置的结构示意图;

图4为本发明实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了保证同一数据在多个数据系统中的一致性,当一个数据系统有更新的数据时,与其关联的其他系统(也就是包含该数据的系统)需要同步更新该数据,本发明实施例通过消息队列系统完成数据的同步更新。

图1为本发明实施例提供的数据同步方法的流程图,参照图1对本发明实施例提供的数据同步方法进行详细说明,包括:

步骤101,接收第一数据系统通过第一数据系统的数据发送接口发送的待同步数据,其中,待同步数据为按照预设规则封装的数据。

本发明实施例提供的数据同步方法可以应用于消息队列系统。该消息队列系统在实际应用过程中可以是web(网页)服务器的形式。具体地,也可以通过php(hypertextpreprocessor,超文本预处理语言)和ci(codeigniter)框架构建该消息队列系统。

该消息队列系统预先定义统一的接口规范,消息队列系统接收数据系统向消息队列系统发送数据时或者该消息队列系统向数据系统发送数据时都按照该统一的接口规范。统一的接口规范可以是http(hypertexttransferprotocol,超文本传输协议)、https((hypertexttransferprotocolsecure,安全超文本传输协议)、socket("套接字",通信链的句柄)等。

具体地,消息队列系统接收第一数据系统通过第一数据系统的数据发送接口发送的待同步数据,第一数据系统为与该消息队列系统连接的任一数据系统。其中,数据发送接口为预先定义的有着统一规范标准的接口,该数据发送接口用于第一数据系统向消息队列发送数据。另外需要说明的是,与该消息队列系统连接的每一个数据系统都根据统一的开发标准开发具有统一规范标准的数据发送接口和数据接收接口。

步骤102,读取消息队列系统中预先存储的除第一数据系统之外的多个第二数据系统的配置信息,其中,配置信息包括每个第二数据系统对应的数据传输地址、端口以及传输协议。

消息队列系统预先对每个数据系统进行配置,并保存每个数据系统的配置信息。具体地,可以保存每个数据系统和与其对应的配置信息的对应关系。在需要使用配置信息时,通过读取每个数据系统和与其对应的配置信息的对应关系,得到每个数据系统对应的配置信息。

消息队列系统接收到第一数据系统发送的待同步数据之后,需要将待同步数据发送至需要同步更新数据的除第一数据系统之外的其他系统。首先可以读取消息队列系统中预先存储的多个第二数据系统的配置信息,即确定消息队列系统按照什么传输协议、哪个端口、或者具体的什么地址将待同步数据发送至第二数据系统。其中,第二数据系统为除第一数据系统之外的需要同步更新数据的其他系统。

步骤103,分别按照每个第二数据系统对应的配置信息,将待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统。

读取每个第二数据系统的配置信息之后,则可以确定消息队列系统将待同步数据发送至第二数据系统过程中遵循的传输协议、地址等配置信息。将待同步数据按照配置信息中的传输协议、配置信息中指示的端口或者地址发送至第二数据系统。

可选的,在本发明实施例一种实现方式中,消息队列系统接收到的第一数据系统发送的待同步数据的数据格式与第二数据系统的数据接收接口能够处理的数据格式不匹配时,消息队列系统接收到待同步数据之后,先将该待同步数据按照对应的配置信息转换为第二数据系统的数据接收接口能够处理的数据格式,再将该待同步数据通过第二数据系统的数据接收接口发送至第二数据系统。

具体地,可以通过每个第二数据系统的数据接收接口发送至每个第二数据系统。该数据接收接口为预先定义的有着统一规范标准的接口,也即通过该数据接收接口传输数据遵循统一规范标准。例如,该统一规范标准可以是http传输协议等。该数据接收接口可以用于消息队列向第二数据系统发送数据。

本发明实施例提供的数据同步方法,通过消息队列系统接收通过数据发送接口发送的待同步数据,读取该消息队列系统中预先存储的除第一数据系统之外的多个第二数据系统的配置信息;分别按照每个第二数据系统对应的配置信息,将待同步数据通过第二数据系统的数据接收接口发送至第二数据系统。如此使得,某一个数据系统有更新数据时,将该更新数据发送至消息队列系统,消息队列系统将该更新数据发送至其他与该数据系统关联的数据系统,进而实现数据的同步。不再需要每一个数据系统之间都建立接口而实现数据同步,降低数据同步过程中系统开发的难度。另外,当有增加的关联数据系统时,只需要在消息队列中配置该增加的关联数据系统的配置信息,就可以实现该关联数据系统与其他数据系统之间的数据同步,不再需要该关联数据系统与其他数据系统分别建立接口,提高了数据同步的扩展性。

可选的,在本发明实施例一种实施方式中,在接收第一数据系统通过第一数据系统的数据发送接口发送的待同步数据之后,还可以包括:

解析待同步数据;对解析后的待同步数据进行校验。

为了提高数据传输过程的准确性和安全性,消息队列系统接收到第一数据系统发送的待同步数据之后,对接收到的待同步数据进行校验。具体地可以包括对待同步数据的类型校验和安全校验等。

因为待同步数据为按照预设规则封装的数据,所以在对该待同步数据进行校验之前,对该待同步数据进行解析,具体地解析过程与封装过程相对应,遵循相同的预设规则,简单地可以理解对待同步数据解析的过程也就是封装过程的逆过程。

校验得到的结果可以包括通过校验和未通过校验。通过校验可以包括符合预设数据格式等;对应的,未通过校验可以包括不符合预设数据格式等。

具体地,在解析后的待同步数据通过校验时,可以将解析后的待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统。解析后的待同步数据通过校验,则说明待同步数据的类型以及安全性等满足要求,如此可以直接将待同步数据发送至每个第二数据系统,完成数据的同步更新。

在解析后的待同步数据未通过校验时,向第一数据系统反馈校验错误信息。解析后的待同步数据未通过校验,则说明待同步数据的类型以及安全性等不满足要求,此时将错误信息反馈至第一数据系统,以使第一数据系统可以对待同步数据进行修改,或者重新发送待同步数据,使得第二数据系统可以准确地、安全地接收到待同步数据,进而完成数据的同步。

可选的,在本发明实施例一种实施方式中,在将待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统,之后,还可以包括:

接收每个第二数据系统通过每个第二数据系统的数据发送接口发送的校验结果,校验结果包括每个第二数据系统针对待同步数据、校验是否符合预设数据格式的结果。

为了进一步提高数据传输过程的准确性和安全性,在实际的应用过程中,在将待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统之后,还可以接收第一数据系统发送的针对待同步数据的校验结果。具体的,校验结果可以包括通过校验和未通过校验。如果消息队列系统接收到第二数据系统发送的通过校验的结果,则对于消息队列系统来说,整个数据同步过程完成;如果消息队列系统接收到第二数据系统发送的未通过校验的结果,则消息队列系统还需要将该未通过校验的结果反馈至第一消息对列系统。

图2为本发明实施例提供的数据同步系统的结构示意图,参照图2,对该数据同步系统进行详细说明。该数据同步系统包括:消息队列系统以及多个数据系统,其中,多个数据系统包括第一数据系统和多个第二数据系统。

第一数据系统201:用于通过数据发送接口向消息队列系统发送待同步数据。

本发明实施例中每个数据系统都配置有两个接口,一个为将该数据系统中的数据发送至消息队列系统的数据发送接口;另一个为接收消息队列系统发送数据的数据接收接口。

当第一数据系统有数据需要更新时,可以将需要更新的数据按照预设规则进行封装,得到待同步数据。对数据进行封装一方面是为了使得数据系统与消息队列系统之间传输的数据能够有统一的标准规范;另一方面,还可以利用传输资源将数据可靠、准确地发送至目的地。

然后,通过该第一数据系统的数据发送接口按照统一的接口规范,将待同步数据发送至消息队列系统。具体地,统一的接口规范可以是http、https、socket等。

消息队列系统202:用于读取消息队列系统中预先存储的除第一数据系统之外的多个第二数据系统的配置信息,其中,配置信息包括每个第二数据系统对应的数据传输地址、端口以及传输协议;

分别按照每个第二数据系统对应的配置信息,将待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统;

具体的消息队列系统接收到第一数据系统发送的待同步数据,并将该待同步数据发送至第二数据系统的过程,上述过程已经进行了详细的描述,这里就再不再赘述。

第二数据系统203,用于通过数据接收接口接收消息队列系统发送的待同步数据。

具体地,通过第二数据系统的数据接收接口,接收消息队列系统发送的待同步数据,然后将该待同步数据在该第二数据系统中进行更新,完成数据的同步更新。

为了进一步提高数据传输过程的准确性和安全性,第二数据系统接收到消息队列系统发送的待同步数据后,可以对待同步数据进行解析,然后对解析后的待同步数据进行校验。具体地,校验可以包括类型校验和安全校验。同样地,校验得到的结果可以包括通过校验和未通过校验。当解析后的待同步数据通过校验时,则针对该待同步数据在该第二数据系统进行更新,完成数据的同步更新,并且可以将成功同步更新的结果反馈至消息队列系统,消息队列系统再将该结果反馈至第一数据系统。当解析后的待同步数据未通过校验时,则将错误信息反馈至消息队列系统。

本发明实施例提供的数据同步系统中,第一数据系统有需要更新的数据时,将该数据发送至消息队列系统,然后该消息队列系统将该数据发送至第二数据系统,也就是除第一数据系统之外的需要数据更新的数据系统,第二数据系统接收消息队列系统发送的数据,将对应的数据进行更新,完成数据的同步更新。通过本发明实施例提供的数据更新系统,能够降低数据同步过程中系统开发的难度,提高系统扩展性。

图3为本发明实施例提供的数据同步装置的结构示意图,参照图3对本发明实施例提供的数据同步装置进行详细说明,包括:

接收模块301,用于接收第一数据系统通过第一数据系统的数据发送接口发送的待同步数据,其中,待同步数据为按照预设规则封装的数据。

读取模块302,用于读取消息队列系统中预先存储的除第一数据系统之外的多个第二数据系统的配置信息,其中,配置信息包括每个第二数据系统对应的数据传输地址、端口以及传输协议。

发送模块303,用于分别按照每个第二数据系统对应的配置信息,将待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统。

本发明实施例提供的数据同步装置,通过消息队列系统接收通过数据发送接口发送的待同步数据,读取该消息队列系统中预先存储的除第一数据系统之外的多个第二数据系统的配置信息;分别按照每个第二数据系统对应的配置信息,将待同步数据通过第二数据系统的数据接收接口发送至第二数据系统。如此使得,某一个数据系统有更新数据时,将该更新数据发送至消息队列系统,消息队列系统将该更新数据发送至其他与该数据系统关联的数据系统,进而实现数据的同步,不再需要每一个数据系统之间都建立接口而实现数据同步,降低数据同步过程中系统开发的难度。另外,当有增加的关联数据系统时,只需要在消息队列中配置该增加的关联数据系统的配置信息,就可以实现该关联数据系统与其他数据系统之间的数据同步,不再需要该关联数据系统与其他数据系统分别建立接口,提高了数据同步的扩展性。

可选的,本发明实施例提供的数据同步装置还包括:

解析模块,用于解析待同步数据。

校验模块,用于对解析后的待同步数据进行校验。

可选的,发送模块303具体用于,在解析后的待同步数据通过校验时,将解析后的待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统。

可选的,本发明实施例提供的数据同步装置还包括:

反馈模块,用于在解析后的待同步数据未通过校验时,向第一数据系统反馈校验错误信息。

可选的,本发明实施例提供的数据同步装置还包括:

接收校验模块,用于接收每个第二数据系统通过每个第二数据系统的数据发送接口发送的校验结果,校验结果包括每个第二数据系统针对待同步数据、校验是否符合预设数据格式的结果。

需要说明的是,本发明实施例的数据同步装置是应用上述数据同步方法的装置,则上述数据同步方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。

本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信;

存储器403,用于存放计算机程序;

处理器401,用于执行存储器403上所存放的程序时,实现如下步骤:

接收第一数据系统通过第一数据系统的数据发送接口发送的待同步数据,其中,待同步数据为按照预设规则封装的数据;

读取消息队列系统中预先存储的除第一数据系统之外的多个第二数据系统的配置信息,其中,配置信息包括每个第二数据系统对应的数据传输地址、端口以及传输协议;

分别按照每个第二数据系统对应的配置信息,将待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明实施例提供的电子设备,通过消息队列系统接收通过数据发送接口发送的待同步数据,读取该消息队列系统中预先存储的除第一数据系统之外的多个第二数据系统的配置信息;分别按照每个第二数据系统对应的配置信息,将待同步数据通过第二数据系统的数据接收接口发送至第二数据系统。如此使得,某一个数据系统有更新数据时,将该更新数据发送至消息队列系统,消息队列系统将该更新数据发送至其他与该数据系统关联的数据系统,进而实现数据的同步,不再需要每一个数据系统之间都建立接口而实现数据同步,降低数据同步过程中系统开发的难度。另外,当有增加的关联数据系统时,只需要在消息队列中配置该增加的关联数据系统的配置信息,就可以实现该关联数据系统与其他数据系统之间的数据同步,不再需要该关联数据系统与其他数据系统分别建立接口,提高了数据同步的扩展性。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时实现如下步骤:

接收第一数据系统通过第一数据系统的数据发送接口发送的待同步数据,其中,待同步数据为按照预设规则封装的数据;

读取消息队列系统中预先存储的除第一数据系统之外的多个第二数据系统的配置信息,其中,配置信息包括每个第二数据系统对应的数据传输地址、端口以及传输协议;

分别按照每个第二数据系统对应的配置信息,将待同步数据通过每个第二数据系统的数据接收接口发送至每个第二数据系统。

本发明实施例提供的可读存储介质,通过消息队列系统接收通过数据发送接口发送的待同步数据,读取该消息队列系统中预先存储的除第一数据系统之外的多个第二数据系统的配置信息;分别按照每个第二数据系统对应的配置信息,将待同步数据通过第二数据系统的数据接收接口发送至第二数据系统。如此使得,某一个数据系统有更新数据时,将该更新数据发送至消息队列系统,消息队列系统将该更新数据发送至其他与该数据系统关联的数据系统,进而实现数据的同步,不再需要每一个数据系统之间都建立接口而实现数据同步,降低数据同步过程中系统开发的难度。另外,当有增加的关联数据系统时,只需要在消息队列中配置该增加的关联数据系统的配置信息,就可以实现该关联数据系统与其他数据系统之间的数据同步,不再需要该关联数据系统与其他数据系统分别建立接口,提高了数据同步的扩展性。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1