一种基于消息中间件的数据分发方法及系统技术方案

技术编号:28419783 阅读:34 留言:0更新日期:2021-05-11 18:26
本申请公开了一种基于消息中间件的数据分发方法及系统,用以解决现有数据的分发不够安全,且效率不高的技术问题。方法包括:数据分发方确定数据变更集,并将数据变更集发送给消息中间件;消息中间件将数据变更集转换为变更数据流,并将变更数据流分发给数据订阅方;数据订阅方将接收到的来自消息中间件的变更数据流中包含的数据,更新到数据订阅方的数据库中。本申请通过引入消息中间件,避免了数据分发方直接访问数据订阅方数据库进行对数据订阅方数据库的更新,从而提高了安全性;通过消息中间件进行数据的分发,无需对所有数据订阅方进行访问,降低了数据分发方在分发数据变更集时流量的瞬时高峰,提高了数据的分发的效率。

【技术实现步骤摘要】
一种基于消息中间件的数据分发方法及系统
本申请涉及数据交换
,尤其涉及一种基于消息中间件的数据分发方法及系统。
技术介绍
随着企事业单位信息化和数字化的推进,企事业单位所使用的业务应用系统越来越多也越来越复杂,在不同的业务系统之间或者在分布式系统内的不同业务应用之间,均需要确保互联互通,以方便不同的业务系统或者分布式系统内的不同业务应用进行数据的分发和交换。目前,大多数企事业单位进行数据的分发时,直接采用访问数据库的方式来对数据文件进行传输,但采用这种方式进行数据的分发不够安全,且效率不高。
技术实现思路
本申请实施例提供了一种基于消息中间件的数据分发方法及系统,用以解决现有数据的分发不够安全,且效率不高的技术问题。一方面,本申请实施例提供了一种基于消息中间件的数据分发方法,包括:数据分发方确定数据变更集,并将数据变更集发送给消息中间件;消息中间件将数据变更集转换为变更数据流,并将变更数据流分发给数据订阅方;数据订阅方将接收到的来自消息中间件的变更数据流中包含的数据,更新到数据订阅方的数据库中。本申请实施例提供的一种基于消息中间件的数据分发方法,首先数据分发方通过确定数据变更集将需要分发的数据进行组织并进行描述,确定数据的信息及数据的结构形式;然后将数据变更集发送到消息中间件,通过消息中间件将数据分发给数据订阅方,通过采用消息中间件能够确保数据的安全,并且能够提升数据分发的效率;最后,数据订阅方在接收到消息中间件发送的数据后,将其数据库中的数据进行更新。本申请通过引入消息中间件对使得数据分发方在对数据订阅方数据库进行更新时,避免了数据分发方直接访问数据订阅方数据库进行对数据订阅方数据库的更新,从而提高了安全性,并且通过消息中间件进行数据的分发,数据分发方只需将数据变更集发送给消息中间件,无需对所有数据订阅方进行访问,降低了数据分发方在分发数据变更集时流量的瞬时高峰,提高了数据的分发的效率。在本申请的一种实现方式中,数据分发方在将所述数据变更集发送给消息中间件之前,方法还包括:数据分发方判断数据变更集是否含有不合法信息;在确定数据变更集含有不合法信息的情况下,终止数据变更集的分发。在本申请的一种实现方式中,消息中间件在将变更数据流发送给数据订阅方之后,方法还包括:消息中间件判断变更数据流是否分发成功;在变更数据流没有分发成功的情况下,执行第一重试方案,进行重新发送。在本申请的一种实现方式中,在变更数据流没有分发成功的情况下,执行第一重试方案,进行重新发送,具体包括:消息中间件将变更数据流重新发送给数据订阅方,直至将数据变更集分发成功;消息中间件在将变更数据流重新发送的过程中,记录重新发送的次数。在本申请的一种实现方式中,消息中间件在重新发送的次数大于等于第一预设阈值的情况下,停止重新发送过程,并将分发失败警告发送给数据分发方。在本申请的一种实现方式中,数据订阅方将接收到的来自消息中间件的变更数据流中包含的数据,更新到数据订阅方的数据库中,具体包括:数据订阅方将变更数据流转换为数据变更集;解析数据变更集,并将解析完成后的数据变更集转换为可执行的结构化查询语言脚本SQL脚本;执行SQL脚本,以使数据订阅方的数据库完成更新。在本申请的一种实现方式中,在执行SQL脚本之后,方法还包括:数据订阅方判断SQL脚本是否执行成功;在SQL脚本没有执行成功的情况下,执行第二重试方案,进行重新执行。在本申请的一种实现方式中,在SQL脚本没有执行成功的情况下,执行第二重试方案,进行重新执行,具体包括:数据订阅方重新执行SQL脚本,直至SQL脚本执行成功;数据订阅方在重新执行SQL脚本的过程中,记录执行失败的次数。在本申请的一种实现方式中,数据订阅方在执行失败的次数大于等于第二预设阈值的情况下,停止重新执行过程,并发出更新失败警告。另一方面,本申请实施例还提供了一种基于消息中间件的数据分发系统,其特征在于,系统包括:数据分发方,用于确定数据变更集,并将数据变更集发送给消息中间件;消息中间件,用于将数据变更集转换为变更数据流,并将变更数据流分发给数据订阅方;数据订阅方,用于将接收到的来自消息中间件的变更数据流中包含的数据,更新到数据订阅方的数据库中。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请实施例提供的一种基于消息中间件的数据分发方法流程图;图2为本申请实施例提供的一种基于消息中间件的数据分发系统结构图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。目前,大多数企事业单位进行数据的分发时,数据分发方直接采用访问数据订阅方数据库的方式来对数据文件进行传输,从而实现对数据订阅方数据数据的修改,采用这种方式,对数据订阅方数据库的修改,不利于数据订阅方数据库其他数据的保密,并且可能造成数据订阅方数据库其他数据的丢失;另外,现有企事业单位所使用的业务应用系统,在数据分发方分发数据时,可能由于数据分发方需要同时分发多个数据订阅方,使得数据分发方的发出的瞬时数据流量巨大,从导致数据的拥堵,影响数据的分发效率。本申请实施例提供了一种基于消息中间件的数据分发方法及系统,用以解决现有数据的分发不够安全,且效率不高的技术问题。下面通过附图对本申请实施例提出的技术方案进行详细的说明。图1为本申请实施例提供的一种基于消息中间件的数据分发方法流程图。如图1所示,本申请实施例提供的一种基于消息中间件的数据分发方法具体包括以下步骤:步骤101、数据分发方确定数据变更集,并将数据变更集发送给消息中间件。在本申请的一个实施例中,数据分发方对数据订阅方数据库中的数据更新,包括,在数据订阅方数据库中的增加数据,对数据订阅方数据库中的数据进行删除以及对数据订阅方数据库中的数据进行修改。因此,数据分发方确定的数据变更集,应当包括所需要的更新的数据,以及该数据的更新方式;其中,所述更新方式包括:增加、删除、修改。具体的,数据变更集应当包含数据分发者的信息,即数据变更集所属的系统或业务应用的信息,用以描述数据的来源;数据变更集还应当包含数据变更集的结构,用以描述数据的表现形式,或者存储形式;需要说明的是,数据变更集的结构包括数据表、字段以及数据行范围条件或者多个数据表之间的关系描述信息;数据变更集还应当包含数据订阅方信息,即数据变更集所需配置的系统或业务应用信息,用以描述数据的去向;需要说明的是,数据变更集中可配置有多个数据订阅方的信息,从而使该数据变更集更新多个需要同样操作的数据订阅方的数据库;本文档来自技高网...

【技术保护点】
1.一种基于消息中间件的数据分发方法,其特征在于,所述方法包括:/n数据分发方确定数据变更集,并将所述数据变更集发送给消息中间件;/n所述消息中间件将所述数据变更集转换为变更数据流,并将所述变更数据流分发给数据订阅方;/n所述数据订阅方将接收到的来自所述消息中间件的所述变更数据流中包含的数据,更新到所述数据订阅方的数据库中。/n

【技术特征摘要】
1.一种基于消息中间件的数据分发方法,其特征在于,所述方法包括:
数据分发方确定数据变更集,并将所述数据变更集发送给消息中间件;
所述消息中间件将所述数据变更集转换为变更数据流,并将所述变更数据流分发给数据订阅方;
所述数据订阅方将接收到的来自所述消息中间件的所述变更数据流中包含的数据,更新到所述数据订阅方的数据库中。


2.根据权利要求1所述的一种基于消息中间件的数据分发方法,其特征在于,数据分发方在将所述数据变更集发送给消息中间件之前,所述方法还包括:
所述数据分发方判断所述数据变更集是否含有不合法信息;
在确定所述数据变更集含有不合法信息的情况下,终止所述数据变更集的分发。


3.根据权利要求1所述的一种基于消息中间件的数据分发方法,其特征在于,所述消息中间件在将所述变更数据流分发给数据订阅方之后,所述方法还包括:
所述消息中间件判断所述变更数据流是否分发成功;
在所述变更数据流没有分发成功的情况下,执行第一重试方案,进行重新发送。


4.根据权利要求3所述的一种基于消息中间件的数据分发方法,其特征在于,所述在所述变更数据流没有分发成功的情况下,执行第一重试方案,进行重新发送,具体包括:
所述消息中间件将所述变更数据流重新发送给所述数据订阅方,直至将所述数据变更集分发成功;
所述消息中间件在将所述变更数据流重新发送的过程中,记录重新发送的次数。


5.根据权利要求4所述的一种基于消息中间件的数据分发方法,其特征在于,
所述消息中间件在所述重新发送的次数大于等于第一预设阈值的情况下,停止重新发送过程,并将分发失败警告发送给所述数据分发方。


6.根据权利要求1所述的一种基于...

【专利技术属性】
技术研发人员:岳现国
申请(专利权)人:浪潮通用软件有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1