一种向外部系统推送数据并实现数据同步的方法和系统技术方案

技术编号:27479687 阅读:20 留言:0更新日期:2021-03-02 17:50
本发明专利技术公开了一种向外部系统推送数据并实现数据同步的方法,包括如下步骤:在推送数据接收及存储模块中,将推送数据存储到本地的数据库中形成推送任务,把推送任务ID送入推送任务排队队列MQ2;在推送数据分析及执行模块中,根据推送任务ID查询数据库获取推送数据以及相关的配置,经分析和处理后得到需要推送到的目标客户系统,把推送数据转换成对应的格式并发起一个HTTP请求,把推送数据推送给目标客户系统;由推送延时重试模块监测,如果HTTP请求返回失败或者请求响应超时,把该推送任务进行长时间多次间隔的延时处理;由推送预警模块监测是否有长时间多次间隔延时推送失败的推送任务则发送给处理人员;本发明专利技术还公开了一种向外部系统推送数据并实现数据同步的系统。向外部系统推送数据并实现数据同步的系统。向外部系统推送数据并实现数据同步的系统。

【技术实现步骤摘要】
一种向外部系统推送数据并实现数据同步的方法和系统


[0001]本专利技术涉及数据处理与数据通信领域,特别涉及一种向外部系统推送数据并实现数据同步的方法和系统。

技术介绍

[0002]随着互联网+技术的发展,越来越多的行业已经互联网化,越来越多的业务处理由线下转为线上,这也就自然而然的产生了很多的线上业务系统。基本上来说,不管是企业、政府机构、社会组织等都会有和自己行业相关的应用系统,随着市场需求或者自身发展的需要,企业与企业之间、企业与政府机构之间等会有大量业务的交互,这样双方的应用系统间也会有大量的数据交互。
[0003]双方系统的数据交互不仅仅只涉及到系统之间相互的数据查询调用,也会涉及到系统之间数据同步和回调通知;在业务合作的过程中,可能我方系统的某些业务数据需要同步给对方系统,也可能是对方系统的某些业务数据需要同步到我方系统,以实现双方系统业务数据的一致性。
[0004]通常来说,双方系统数据同步是通过HTTP接口调用的方式实现;传统的处理方法中,我方系统和外部系统进行数据推送时,往往采用在业务系统内部直接调用外部系统接口的方式,即:业务系统在需要推送数据给外部系统时,直接在自身系统里发起HTTP请求,调用外部系统的接口,把数据直接推送给对方系统;而这种传统的方法虽然比较直接,但是也有较大的风险,因为网络请求和外部系统稳定性不可控的原因,业务系统向外部系统发起的HTTP请求不可能保证百分之百成功,这就涉及到请求失败的这种异常情况的处理问题,如果此类问题不处理好,在后续业务合作进行中,将会产生很多双方系统数据不一致的问题,也将增加双方大量的后期维护成本。
[0005]但是这个问题对于业务系统来说还是比较麻烦,如果是业务系统直接发起HTTP请求调用外部系统的接口,很多的处理方式是若HTTP请求失败都不会再进行重试,即使做了重试处理一般只会做到短时间内的即时重试几次(比如2秒后重试一次,再失败的话5秒后重试一次,还失败的话10秒再重试一次,仍然失败的话就只能打印失败日志记录了)。那这就因为推送未到达而造成双方系统数据的不一致。
[0006]为解决上述技术问题,本专利技术旨在这一理念的基础之上,提供了一种基于数据处理的向外部系统推送数据以实现双方系统数据同步的方法和系统。

技术实现思路

[0007]有鉴于此,本专利技术的目的之一是提供一种向外部系统推送数据并实现数据同步的方法,其独立于业务系统及客户系统之外,在多次推送处理后能实现推送数据在业务系统和客户系统间同步,本专利技术的目的之二是提供一种向外部系统推送数据并实现数据同步的系统。
[0008]本专利技术的目的之一是通过以下技术方案实现的:
一种向外部系统推送数据并实现数据同步的方法,包括如下步骤:(1)在推送数据接收及存储模块中,当有业务服务系统中的推送数据写入数据接收队列MQ1时,从此队列取出推送数据并存储到本地的数据库中形成推送任务,把推送任务唯一标识ID送入推送任务排队队列MQ2进行排队;(2)在推送数据分析及执行模块中,当有推送任务唯一标识ID写入推送任务排队队列MQ2时,根据推送任务唯一标识ID查询数据库获取推送数据以及相关的配置,经分析和处理后,匹配出该推送数据需要推送到的目标客户系统,根据与目标客户系统的对接协议把推送数据转换成对应的格式并发起一个HTTP请求,最后把推送数据推送给目标客户系统,在发起HTTP请求时会启用一个短时间多次即时重试机制;(3)由推送延时重试模块监测推送数据分析及执行模块的推送执行结果,当发起的HTTP请求返回成功,则更新本地的数据库的数据并把此推送任务的状态设为成功状态,如果HTTP请求返回失败或者请求响应超时,则更新本地的数据库的数据并把此推送任务的状态设为失败状态,同时把该推送任务进行长时间多次间隔的延时处理;(4)由推送预警模块监测推送延时重试模块是否有长时间多次间隔延时推送失败的推送任务,若有则根据相关的配置,把该事件通过通讯方式发送给相关的处理人员。
[0009]进一步,长时间多次间隔的延时处理中的多次间隔时间依次加长。
[0010]本专利技术的目的之一是通过以下技术方案实现的:一种向外部系统推送数据并实现数据同步的系统,包括推送数据接收及存储模块:当有业务服务系统中的推送数据写入该模块中的数据接收队列MQ1时,从此队列取出推送数据并存储到本地的数据库中形成推送任务,把推送任务唯一标识ID送入该模块中的推送任务排队队列MQ2进行排队;推送数据分析及执行模块:当有推送任务唯一标识ID写入推送任务排队队列MQ2时,推送数据分析及执行模块根据推送任务唯一标识ID查询数据库获取推送数据以及相关的配置,并经分析和处理后,匹配出该推送数据需要推送到的目标客户系统,根据与目标客户系统的对接协议把推送数据转换成对应的格式并发起一个HTTP请求,最后把推送数据推送给目标客户系统,在发起HTTP请求时会启用一个短时间多次即时重试机制。
[0011]推送延时重试模块:用于监测推送数据分析及执行模块的推送执行结果,当发起的HTTP请求返回成功,则更新本地的数据库的数据并把此推送任务的状态设为成功状态,如果HTTP请求返回失败或者请求响应超时,则更新本地的数据库的数据并把此推送任务的状态设为失败状态,同时把该推送任务进行长时间多次间隔的延时处理;推送预警模块:用于监测推送延时重试模块是否有长时间多次间隔延时推送失败的推送任务,若有则根据相关的配置,把该事件通过通讯方式发送给相关的处理人员。
[0012]本专利技术的有益效果是:本专利技术的一种向外部系统推送数据并实现数据同步的方法,独立于业务服务系统及客户系统之外,所有业务服务系统的推送数据以队列方式统一经该方法处理,一定程度上降低了业务系统针对数据推送相关处理的复杂度,通过加入长时间多次间隔延时重试和预警通知功能,保证了业务服务系统向外部客户系统推送数据的可靠性,最终实现了推送数据在业务系统和客户系统间同步;本专利技术的一种向外部系统推送数据并实现数据同步的系统,架构合理、兼容性高、实用性强。
[0013]本专利技术的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本专利技术的实践中得到教导。本专利技术的目标和其他优点可以通过下面的说明书和权利要求书来实现和获得。
附图说明
[0014]为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步的详细描述,其中:图1为本专利技术向外部系统推送数据并实现数据同步的系统结构示意图。
具体实施方式
[0015]以下将参照附图,对本专利技术的优选实施例进行详细的描述。应当理解,优选实施例仅为了说明本专利技术,而不是为了限制本专利技术的保护范围。
[0016]一种向外部系统推送数据并实现数据同步的方法,包括如下步骤:(1)在推送数据接收及存储模块中,当有业务服务系统中的推送数据写入数据接收队列MQ1时,从此队列取出推送数据并存储到本地的数据库中形成推送任务,把推送任务唯一标识ID送入推送任本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种向外部系统推送数据并实现数据同步的方法,其特征在于:包括如下步骤:(1)在推送数据接收及存储模块中,当有业务服务系统中的推送数据写入数据接收队列MQ1时,从此队列取出推送数据并存储到本地的数据库中形成推送任务,把推送任务唯一标识ID送入推送任务排队队列MQ2进行排队;(2)在推送数据分析及执行模块中,当有推送任务唯一标识ID写入推送任务排队队列MQ2时,根据推送任务唯一标识ID查询数据库获取推送数据以及相关的配置,经分析和处理后,匹配出该推送数据需要推送到的目标客户系统,根据与目标客户系统的对接协议把推送数据转换成对应的格式并发起一个HTTP请求,最后把推送数据推送给目标客户系统,在发起HTTP请求时会启用一个短时间多次即时重试机制;(3)由推送延时重试模块监测推送数据分析及执行模块的推送执行结果,当发起的HTTP请求返回成功,则更新本地的数据库的数据并把此推送任务的状态设为成功状态,如果HTTP请求返回失败或者请求响应超时,则更新本地的数据库的数据并把此推送任务的状态设为失败状态,同时把该推送任务进行长时间多次间隔的延时处理;(4)由推送预警模块监测推送延时重试模块是否有长时间多次间隔延时推送失败的推送任务,若有则根据相关的配置,把该事件通过通讯方式发送给相关的处理人员。2.根据权利要求1所述的一种向外部系统推送数据并实现数据同步的方法,其特征在...

【专利技术属性】
技术研发人员:杨兴荣潘昌贵杨兴海李建州吴秀峰
申请(专利权)人:世纪恒通科技股份有限公司
类型:发明
国别省市:

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

1