本发明涉及数据同步的技术领域,更具体地说是指一种数据同步方法及其系统。
背景技术:
目前,信息化建设正以前所未有的速度发展,各种各样的数据急剧膨胀,在这种大背景下,数据的传输、处理能力已经成为信息化程度的一个重要标志,这些数据的传输和处理一般在两个以上的平台的数据库中进行。
翼校通集中平台承接了全国各个地市平台的翼校通数据,同时为了丰富平台产品应用也对接了很多合作伙伴的产品,而在访问者使用合作产品就需要账号信息,这就涉及了翼校通集中平台与第三方合作平台之间的数据同步、传输和处理。每次新接入平台,就在翼校通集中平台的用户模块的应用中新增相关代码,当操作访问者时(如:增删改)同步调用第三方合作平台的接口进行对应操作,操作访问者的接口调用处理时间会同时依赖于调用第三方合作平台的接口所用的时长,无法及时将数据同步到第三方合作平台上,会造成翼校通集中平台响应慢,效率低,维护成本高,可控性差。
中国专利201510078748.8提供一种不同业务系统平台间的数据同步方法,建立同步中间数据库用以定义、保存不同业务系统双方需要同步的数据格式、数据内容,同步异常数据记录、同步工作时间戳;同步数据时,同步服务程序从业务系统读取数据写入同步中间数据库,或者从同步中间同步数据库读取数据写入各自的业务系统,且同步过程中,同步服务程序还根据同步工作时间戳提供定时运行和数据同步纠错处理,通过建立中间数据库,并带上时间戳,同时定义清楚同步数据的规则,相当于明确了接口,使应用范围不受接口说明的限制。
上述的专利是利用同步中间数据库来实现数据的同步,这样,同步中间数据库的容量有限,当操作访问者的数据超过同步中间数据库的容量时,则无法实现数据同步,局限性较大。
因此,有必要设计一种数据同步方法,实现通过简单的数据库配置以及接口对接,异步调用以及数据同步,完后才能平台数据对接,让应用直接实现低耦合高内聚,使得平台响应快,效率高,维护成本低,局限性小。
技术实现要素:
本发明的目的在于克服现有技术的缺陷,提供一种数据同步方法及其系统。
为实现上述目的,本发明采用以下技术方案:一种数据同步方法,包括以下步骤:
触发步骤,访问者在第一平台上进行操作,判断访问者是否登录EIP,若访问者登录EIP,访问者在第一平台生成上的新数据自动触发消息队列MQ,进行处理步骤,或者,若访问者未登录EIP,进行结束步骤;
处理步骤,数据分发调度器接收消息队列MQ发送的消息,根据访问者的来源在配置表查找相关配置标签,调用与第二平台对应的同步接口,进行数据分发;
同步步骤,将数据分发调度器的分发的数据同步至第二平台的数据库。
其进一步技术方案为:所述触发步骤,访问者在第一平台上进行操作,判断访问者是否登录EIP,若访问者登录EIP,访问者在第一平台生成上的新数据自动触发消息队列MQ,进行处理步骤,或者,若访问者未登录EIP,进行结束步骤之前,还包括判断是否需要进行同步接口处理以及数据库配置,若需要进行同步接口处理以及数据库配置,将第一平台与第二平台的同步接口对接与联调,在数据库配置消息队列MQ标签以及支持通配符标签,进行触发步骤;
或者,若不需要进行同步接口处理以及数据库配置,则直接进行触发步骤。
其进一步技术方案为:所述判断是否需要进行同步接口处理以及数据库配置,若需要进行同步接口处理以及数据库配置,将第一平台与第二平台的同步接口对接与联调,在数据库配置消息队列MQ标签以及支持通配符标签,进行触发步骤;或者,若不需要进行同步接口处理以及数据库配置,则直接进行触发步骤之后,还包括设定判断是否需要设定判断访问者是否登录EIP的标准,若需要,则根据业务规则设定判断访问者是否登录EIP的标准;若不需要,则进行判断是否需要进行同步接口处理以及数据库配置的步骤。
其进一步技术方案为:所述判断是否需要进行同步接口处理以及数据库配置,若需要进行同步接口处理以及数据库配置,将第一平台与第二平台的同步接口对接与联调,在数据库配置消息队列MQ标签以及支持通配符标签,进行触发步骤;或者,若不需要进行同步接口处理以及数据库配置,则直接进行触发步骤中,所述若需要进行同步接口处理以及数据库配置,将第一平台与第二平台的同步接口对接与联调,具体包括以下步骤:
第二平台根据第一平台提供的数据同步接口规范编写同步接口地址;
第二平台将同步接口地址传输给第一平台,第一平台通过同步接口地址调用第二平台的同步接口。
其进一步技术方案为:所述处理步骤,数据分发调度器接收消息队列MQ发送的消息,根据访问者的来源在配置表查找相关配置标签,调用与第二平台对应的同步接口,进行数据分发的步骤,包括以下具体步骤:
接收消息队列MQ发送的消息;
根据配置表对访问者进行分成用户类以及组织类两种类别;
根据不同的类别调用第二平台对应的同步接口,并通过对应的同步接口将数据分发至第二平台。
本发明还提供了一种数据同步系统,包括判断单元、触发单元、数据分发调度器以及同步单元,所述数据分发调度器包括处理单元;
所述判断单元,用于访问者在第一平台上进行操作,判断访问者是否登录EIP,与所述触发单元连接;
所述触发单元,用于若访问者登录EIP,访问者在第一平台生成上的新数据自动触发消息队列MQ,与所述处理单元连接;
所述处理单元,用于数据分发调度器接收消息队列MQ发送的消息,根据访问者的来源在配置表查找相关配置标签,调用与第二平台对应的同步接口,进行数据分发,与所述同步单元连接;
所述同步单元,用于将数据分发调度器的分发的数据同步至第二平台的数据库。
其进一步技术方案为:还包括预备判断单元以及预备单元;
所述预备判断单元,用于判断是否需要进行同步接口处理以及数据库配置,分别与所述预备单元以及所述判断单元连接;
所述预备单元,用于当需要进行同步接口处理以及数据库配置,将第一平台与第二平台的同步接口对接与联调,在数据库配置消息队列MQ标签以及支持通配符标签,与所述判断单元连接。
其进一步技术方案为:还包括设定判断单元以及设定单元;
所述设定判断单元,用于设定判断是否需要设定判断访问者是否登录EIP的标准,分别与所述设定单元、所述判断单元以及所述预备单元连接;
所述设定单元,用于若需要设定判断访问者是否登录EIP的标准,根据业务规则设定判断访问者是否登录EIP的标准,与所述判断单元连接。
其进一步技术方案为:所述预备单元包括编写模块以及传输模块;
所述编写模块,用于第二平台根据第一平台提供的数据同步接口规范编写同步接口地址,与所述传输模块以及所述预备判断单元;
所述传输模块,用于第二平台将同步接口地址传输给第一平台,第一平台通过同步接口地址调用第二平台的同步接口,与所述设定判断单元连接。
其进一步技术方案为:所述处理单元包括接收模块、分类模块以及调用分发模块;
所述接收模块,用于接收消息队列MQ发送的消息,与所述触发单元连接;
所述分类模块,用于根据配置表对访问者进行分成用户类以及组织类两种类别,与所述调用分发模块连接;
所述调用分发模块,用于根据不同的类别调用第二平台对应的同步接口,并通过对应的同步接口将数据分发至第二平台,与所述同步单元连接。
本发明与现有技术相比的有益效果是:本发明的一种数据同步方法,通过预先将第一平台的接口与第二平台接口完成对接与联调,并且在数据库内配置消息队列MQ标签以及支持通配符标签,访问者在第一平台上操作时,判断访问者是否登录EIP,若是,则自动触发消息队列MQ,消息队列MQ将数据传输至数据分发调度器进行分发,数据分发调度器通过调用同步接口实现数据的同步,通过简单的数据库配置以及接口对接,异步调用以及数据同步,完后才能平台数据对接,让应用直接实现低耦合高内聚,使得平台响应快,效率高,维护成本低,局限性小。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为本发明具体实施例提供的一种数据同步方法的流程框图;
图2为本发明具体实施例提供的第一平台与第二平台的同步接口对接与联调的具体流程框图;
图3为本发明具体实施例提供的处理步骤的具体流程框图;
图4为本发明具体实施例提供的一种数据同步系统的结构框图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
如图1~4所示的具体实施例,本实施例提供的一种数据同步方法,可以运用在多个平台的数据库之间的数据同步,当然,也可以运用在同一平台上不同架构的数据库之间的数据同步。
如图1所示,一种数据同步方法,包括以下步骤:
S1、判断是否需要进行同步接口处理以及数据库配置,若需要进行同步接口处理以及数据库配置,进行S11、将第一平台与第二平台的同步接口对接与联调,在数据库配置消息队列MQ标签以及支持通配符标签,进行S2、触发步骤;或者,若不需要进行同步接口处理以及数据库配置,则直接进行触发步骤;
S2、触发步骤,访问者在第一平台上进行操作,判断访问者是否登录EIP,若访问者登录EIP,进行S21、访问者在第一平台生成上的新数据自动触发消息队列MQ,进行S3、处理步骤,或者,若访问者未登录EIP,进行结束步骤;
S3、处理步骤,数据分发调度器接收消息队列MQ发送的消息,根据访问者的来源在配置表查找相关配置标签,调用与第二平台对应的同步接口,进行数据分发;
S4、同步步骤,将数据分发调度器的分发的数据同步至第二平台的数据库。
如图2所示,上述的S1步骤中,若需要进行同步接口处理以及数据库配置,进行S11、将第一平台与第二平台的同步接口对接与联调,在数据库配置消息队列MQ标签以及支持通配符标签,进行S2、触发步骤,这里的将第一平台与第二平台的同步接口对接与联调,包括以下具体步骤:
S111、第二平台根据第一平台提供的数据同步接口规范编写同步接口地址;
S112、第二平台将同步接口地址传输给第一平台,第一平台通过同步接口地址调用第二平台的同步接口。
这样,第一平台可以通过更改数据同步接口的规范,来更改第二平台的同步接口,进行第一平台与第二平台对应的接口的修改、删除或者新增。
更进一步的,上述的S2步骤中,触发步骤,访问者在第一平台上进行操作,判断访问者是否登录EIP,若访问者登录EIP,进行S21、访问者在第一平台生成上的新数据自动触发消息队列MQ,进行S3、处理步骤,或者,若访问者未登录EIP,进行结束步骤,这里的判断访问者是否登录EIP,主要是将访问者在第一平台上进行操作时,生成的数据与标准对比。
另外,上述的S2步骤中,访问者在第一平台生成上的新数据自动触发消息队列MQ,这里的新数据包括访问者基础数据、访问者绑定账号、亲子关系、学校数据、年级数据、班级数据、访问者班级关系以及访问者学校关系等数据中至少一种,数据的同步也是将上述的新数据同步到第一平台以及第二平台上,这样,便于第二平台的展示与查询
更进一步的,如图3所示,上述的S3步骤中,处理步骤,数据分发调度器接收消息队列MQ发送的消息,根据访问者的来源在配置表查找相关配置标签,调用与第二平台对应的同步接口,进行数据分发的步骤,包括以下具体步骤:
S31、接收消息队列MQ发送的消息;
S32、根据配置表对访问者进行分成用户类以及组织类两种类别;
S33、根据不同的类别调用第二平台对应的同步接口,并通过对应的同步接口将数据分发至第二平台。
在上述的S33步骤中,根据不同的类别调用第二平台对应的同步接口,并通过对应的同步接口将数据分发至第二平台的步骤,这里的根据不同的类别调用第二平台对应的同步接口,主要是用户类调用用户模块的UserSymService接口,组织类调用Sfi模块的SfiDataSymService接口。
另外,并通过对应的同步接口将数据分发至第二平台,这里是用户类通过分发模块的UserSymDispatcherMQService接口,组织类通过Sfi模块的SfiDataSymDispatcherMQService接口,分发用户类数据或者组织类数据至第二平台。通过数据库配置以及同步接口对接,不需要在原有应用做修改,维护方便,并且成本低,并且这种方法操作方便,效率高。
在上述的S33步骤中,在这里举一个具体的例子:
eip-etermal-datasync-lw(同步给绿网)tags=”rrtlw”;
eip-etermal-datasync-lw-server.xml;
yxt-ifservice-server(同步给能龙)caller=eip_rrtgd,tags=”rrtml”;
yxt-ifservice-server.xml;
mp-querier-server(同步到新翼校通)tags=“mp”;
mp=querier=server.xml。
根据tag可扩展。
于其他实施例,上述的S1步骤之后,还包括判断是否需要在数据分发调度器内设置配置表,若需要在数据分发调度器内设置配置表,则人为设定配置表,并将配置表存储于数据分发调度器内,或者,若不需要在数据分发调度器内设置配置表,则进行S2步骤。
当然,也可以位于S1步骤之前设置判断是否需要在数据分发调度器内设置配置表,此时,若需要在数据分发调度器内设置配置表,则人为设定配置表,并将配置表存储于数据分发调度器内,或者,若不需要在数据分发调度器内设置配置表,则进行S1的步骤。
于其他实施例,在所述S1的步骤与S2的步骤之间还包括判断是否需要设定判断访问者是否登录EIP的标准,若需要,则根据业务规则设定判断访问者是否登录EIP的标准;若不需要,则进行S2步骤。
当然,也可以在S1步骤之前,设定判断是否需要设定判断访问者是否登录EIP的标准,此时,若需要,则根据业务规则设定判断访问者是否登录EIP的标准;若不需要,则进行S1步骤。
上述的一种数据同步方法,通过预先将第一平台的接口与第二平台接口完成对接与联调,并且在数据库内配置消息队列MQ标签以及支持通配符标签,访问者在第一平台上操作时,判断访问者是否登录EIP,若是,则自动触发消息队列MQ,消息队列MQ将数据传输至数据分发调度器进行分发,数据分发调度器通过调用同步接口实现数据的同步,通过简单的数据库配置以及接口对接,异步调用以及数据同步,完后才能平台数据对接,让应用直接实现低耦合高内聚,使得平台响应快,效率高,维护成本低,局限性小。
如图4所示,本实施例还提出了一种数据同步系统,包括判断单元、触发单元60、数据分发调度器以及同步单元80,数据分发调度器包括处理单元。
判断单元,用于访问者在第一平台上进行操作,判断访问者是否登录EIP,与触发单元60连接。
触发单元60,用于若访问者登录EIP,访问者在第一平台生成上的新数据自动触发消息队列MQ,与处理单元连接。
处理单元,用于数据分发调度器接收消息队列MQ发送的消息,根据访问者的来源在配置表查找相关配置标签,调用与第二平台对应的同步接口,进行数据分发,与同步单元80连接。
同步单元80,用于将数据分发调度器的分发的数据同步至第二平台的数据库。
上述的一种数据同步系统,访问者在第一平台上进行操作,选择触发单元60判断访问者是否登录EIP,若是,则触发单元60将访问者在第一平台生成的新数据自动触发消息列队MQ后,数据分发调度器的处理单元根据访问者的来源在配置表查找相关配置标签,调用与第二平台对应的同步接口,进行数据分发,再由同步单元80将数据分发调度器的分发的数据同步至第二平台的数据库;若访问者没登录EIP,则进行结束步骤,通过简单的数据库配置以及接口对接,异步调用以及数据同步,完后才能平台数据对接,让应用直接实现低耦合高内聚,使得平台响应快,效率高,维护成本低,局限性小。
上述的一种数据同步系统还包括预备判断单元10以及预备单元。
预备判断单元10,用于判断是否需要进行同步接口处理以及数据库配置,分别与预备单元以及判断单元连接;预备单元,用于当需要进行同步接口处理以及数据库配置,将第一平台与第二平台的同步接口对接与联调,在数据库配置消息队列MQ标签以及支持通配符标签,与判断单元连接。通过预备判断单元10以及预备单元进行预先准备,确保后续的触发步骤以及数据分发调度器的顺利进行。
更进一步的,上述的一种数据同步系统还包括设定判断单元30以及设定单元40;设定判断单元30,用于设定判断是否需要设定判断访问者是否登录EIP的标准,分别与设定单元40、判断单元以及所述预备单元连接;设定单元40,用于若需要设定判断访问者是否登录EIP的标准,根据业务规则设定判断访问者是否登录EIP的标准,与所述判断单元连接。判断单元在判断的过程中,主要是依据设定单元40中所设定的标准来判定。
另外,预备单元包括编写模块20以及传输模块21;编写模块20,用于第二平台根据第一平台提供的数据同步接口规范编写同步接口地址,与传输模块21以及预备判断单元10;传输模块21,用于第二平台将同步接口地址传输给第一平台,第一平台通过同步接口地址调用第二平台的同步接口,与设定判断单元30连接。通过编写模块20,第二平台编写接口地址,利用传输模块21将编写好的接口地址发送至第一平台进行对接,便于数据的传输。
处理单元包括接收模块71、分类模块72以及调用分发模块73;接收模块71,用于接收消息队列MQ发送的消息,与触发单元60连接;分类模块72,用于根据配置表对访问者进行分成用户类以及组织类两种类别,与调用分发模块73连接;调用分发模块73,用于根据不同的类别调用第二平台对应的同步接口,并通过对应的同步接口将数据分发至第二平台,与所述同步单元80连接。当访问者已经登录EIP,触发了消息队列MQ后,接收模块71接收消息队列MQ发送的消息后,由分类模块72根据配置表对访问者进行分成用户类以及组织类两种类别,最后由调用分发模块73根据不同的类别调用第二平台对应的同步接口,并通过对应的同步接口将数据分发至第二平台。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。