一种异步信息处理系统及方法与流程

未命名 09-14 阅读:213 评论:0


1.本发明涉及信息处理技术领域,尤其涉及一种异步信息处理系统及方法。


背景技术:

2.目前,有许多异步消息处理的方法被提出。例如,通过线程池的多线程异步处理,从而避免了线程频繁的创建和销毁过程,提高了系统的性能。但是,在高并发的情况下,线程池的资源可能会被占用完,影响系统的性能。
3.因此,亟需提供一种技术方案解决上述问题。


技术实现要素:

4.为解决上述技术问题,本发明提供了一种异步信息处理系统及方法。
5.第一方面,本发明提供了一种异步信息处理系统,该系统的技术方案如下:包括:通知平台客户端、通知平台服务端和分布式定时平台;所述通知平台客户端用于:获取用于请求目标终端响应的目标请求信息;所述通知平台服务端用于:构建所述目标请求信息对应的目标回调任务;所述分布式定时平台用于:根据所述目标回调任务,确定所述目标请求信息的回调消息体,并将所述回调消息体发送至所述目标终端;其中,所述分布式定时平台与所述目标终端之间采用多线程异步方式进行请求信息传输。
6.本发明的一种异步信息处理系统的有益效果如下:本发明的系统采用多线程异步处理方式,避免了单线程处理过程中的阻塞问题,并提高了信息处理的性能和稳定性。
7.在上述技术方案的基础上,本发明的一种异步信息处理系统还可以做如下改进。
8.在一种可选的方式中,所述通知平台服务端还用于:根据接收到的所述目标请求信息对应的http响应,确定所述目标请求信息是否发送成功。
9.在一种可选的方式中,所述通知平台客户端具体用于:当监听到本地阻塞队列中新增请求信息时,从所述本地阻塞队列中取出所述目标请求信息并发送至所述通知平台服务端。
10.在上述可选的方式中,进一步通过采用本地阻塞队列,减少了线程池的资源占用,提高了信息处理的性能和稳定性。
11.在一种可选的方式中,还包括:发送终端;所述发送终端用于:生成所述目标请求信息,并调用所述通知平台客户端的目标sdk,将所述目标请求信息发送至所述本地阻塞队列。
12.在一种可选的方式中,所述目标请求信息包括:消息标识、业务类型、回调消息体和回调地址。
13.在一种可选的方式中,所述通知平台服务端具体用于:
对包含所述目标请求信息的报文进行解析,并根据解析后的数据构建所述目标回调任务;其中,所述目标回调任务包括:所述回调地址、所述消息标识、当前回调状态、当前回调次数、所述业务类型和所述回调消息体。
14.在一种可选的方式中,所述通知平台服务端还用于:配置每种业务类型对应的通知策略类型和最大通知次数;所述分布式定时平台具体用于:根据所述业务类型对应的通知策略类型和最大通知次数,将所述回调消息体发送至所述目标终端。
15.在一种可选的方式中,所述通知策略类型为:固定时长间隔、递增时长间隔或自定义时长间隔。
16.在上述可选的方式中,分布式定时平台根据配置的通知策略向目标终端发送消息,避免了长时间等待目标终端响应且有可能丢失消息的问题。
17.第二方面,本发明提供了一种异步信息处理方法,该方法的技术方案包括如下步骤:通知平台客户端、通知平台服务端和分布式定时平台;通知平台客户端获取用于请求目标终端响应的目标请求信息;通知平台服务端构建所述目标请求信息对应的目标回调任务;分布式定时平台根据所述目标回调任务,确定所述目标请求信息的回调消息体,并将所述回调消息体发送至所述目标终端;其中,所述分布式定时平台与所述目标终端之间采用多线程异步方式进行请求信息传输。
18.本发明的一种异步信息处理方法的有益效果如下:本发明的方法采用多线程异步处理方式,避免了单线程处理过程中的阻塞问题,并提高了信息处理的性能和稳定性。
19.在上述方案的基础上,本发明的一种异步信息处理方法还可以做如下改进。
20.在一种可选的方式中,还包括:根据接收到的所述目标请求信息对应的http响应,确定所述目标请求信息是否发送成功。
21.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
22.附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本发明提供的一种异步信息处理系统的实施例的结构示意图;图2示出了本发明提供的一种异步信息处理方法的实施例的流程示意图。
具体实施方式
23.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明
的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
24.图1示出了本发明提供的一种异步信息处理系统的实施例的结构示意图。如图1所示,该系统100包括:通知平台客户端110、通知平台服务端120和分布式定时平台130。
25.其中,

通知平台包括:客户端和服务端,即本实施例中的通知平台客户端110和通知平台服务端120。

分布式定时平台130相当于分布式定时任务调度系统(如:crocodile分布式定时任务调度系统),用于实现对回调任务的分布式定时处理。
26.所述通知平台客户端110用于:获取用于请求目标终端140响应的目标请求信息。
27.其中,

目标请求信息为:本实施例中需要发送的相关消息的请求信息,包括:消息标识、业务类型、回调消息体和回调地址。

目标终端为:信息的接收方对应的终端设备。具体地:1)消息标识用于确认消息的唯一性。如:a01、101等标识。
28.2)业务类型按照接入通知平台的所属产品进行划分,如:商品订单系统、服务订单系统等。
29.3)回调消息体表示为:需要发送的相关消息(通知)的内容,如:订单号、订单时间、订单状态等。
30.4)回调地址为目标终端140对应的地址,如:当回调消息体为通知内容,则目标终端140为通知接收方对应的终端设备。
31.所述通知平台服务端120用于:构建所述目标请求信息对应的目标回调任务。
32.其中,目标回调任务包括:回调地址、消息标识、当前回调状态、当前回调次数、业务类型和回调消息体。具体地:1)当前回调状态为:回调成功或回调失败。
33.2)当前回调次数为:当前时刻请求信息的请求次数,即当前时刻已经向目标终端发送回调消息体的次数。
34.所述分布式定时平台130用于:根据所述目标回调任务,确定所述目标请求信息的回调消息体,并将所述回调消息体发送至所述目标终端140。
35.其中,分布式定时平台130与目标终端140之间采用多线程异步方式进行请求信息传输。
36.需要说明的是,在多线程异步方式中,程序可以同时执行多个线程,每个线程可以独立执行不同的任务,多个线程之间可以并行执行。
37.较优地,所述通知平台服务端120还用于:根据接收到的所述目标请求信息对应的http响应,确定所述目标请求信息是否发送成功。
38.其中,每向目标终端的回调地址发送一次目标请求信息对应的回调消息体,通知平台服务端120均会接收到一个http响应,该http响应用于反馈该回调消息体是否发送成功。若是,则结束目标请求信息对应的回调消息体的发送;若否,则间隔一定时间段后,再次向目标终端的回调地址发送回调消息体,直至发送成功。
39.较优地,所述通知平台客户端110具体用于:当监听到本地阻塞队列中新增请求信息时,从所述本地阻塞队列中取出所述目标
请求信息并发送至所述通知平台服务端120。
40.其中,本地阻塞队列按照先进先出的原则,对每个请求信息处理。
41.具体地,通知平台客户端110采用实时监听或每隔预设时间段监听等方式,对本地阻塞队列中的请求信息进行监听,若监听到本地阻塞队列中新增请求信息时,通知平台客户端110从本地阻塞队列中取出目标请求信息并发送至通知平台服务端120。
42.需要说明的是,通知平台客户端110从本地阻塞队列中取出目标请求信息时,开启子线程,并向通知平台服务端120发送包含目标请求信息的http请求。
43.较优地,还包括:发送终端150。
44.所述发送终端150用于:生成所述目标请求信息,并调用所述通知平台客户端110的目标sdk,将所述目标请求信息发送至所述本地阻塞队列。
45.具体地,发送终端150(即需求方对应的终端设备)在需要发送通知时,把通知内容组装成设定格式的请求信息,并调用通知平台客户端110中的目标sdk,将上述目标请求信息放入本地阻塞队列。
46.其中,目标sdk为目标请求信息对应的sdk。
47.需要说明的是,通知平台客户端110提供统一封装sdk,有异步通知需要的发送终端150在服务里面引入sdk。
48.较优地,所述通知平台服务端120具体用于:对包含所述目标请求信息的报文进行解析,并根据解析后的数据构建所述目标回调任务。
49.其中,解析后的数据与目标请求信息中的数据相同,包括:消息标识、业务类型、回调消息体和回调地址。
50.需要说明的是,通知平台服务端120将目标回调任务存储至数据库中。当分布式定时平台130向通知平台服务端120发送需要取出目标回调任务的请求时,从数据库中取出目标回调任务并发送至分布式定时平台130。
51.较优地,所述通知平台服务端120还用于:配置每种业务类型对应的通知策略类型和最大通知次数。
52.其中,

通知策略类型为:固定时长间隔(如每隔2分钟)、递增时长间隔(每隔2、4、6、8分钟)或自定义时长间隔(如每隔2、4、2、4分钟)中的一种。

最大通知次数根据实际需求进行设置,如5次。
53.所述分布式定时平台130具体用于:根据所述业务类型对应的通知策略类型和最大通知次数,将所述回调消息体发送至所述目标终端140。
54.具体地,例如订单系统对应的通知策略类型为每隔2分钟发送一次通知信息,且最大通知次数为10次。
55.需要说明的是,本发明采用经典的生产者与消费者模式及异步多线程处理,节约了硬件资源、避开任务高峰期、降低网络和本地的io开销。具体地:1)采用本地阻塞队列,减少了线程池的资源占用,提高了系统的性能和稳定性。生产者通过通知平台客户端将请求信息放入本地阻塞队列中,消费者即守护线程从本地阻塞队列中取出,发送http请求到通知平台服务端,实现通知平台客户端和通知平台服务端互
相隔离,互不影响。
56.2)通知平台服务端回调业务方采用多线程异步处理方式,在多线程异步处理方式中,程序可以同时执行多个线程,每个线程可以独立执行不同的任务,多个线程之间可以并行执行,避免了单线程处理过程中的阻塞问题,提高了系统的性能和稳定性。
57.3)分布式定时平台触发通知平台服务端取出回调任务,根据配置的通知策略向指定地址发送消息,避免了长时间等待业务方响应且有可能丢失消息的问题。假如通知平台服务端收到请求消息体后立即通知业务方,当业务方网络不佳或者不可用,可能会导致长时间等待业务方响应且有可能丢失消息,而采用创建回调任务,后续定时通知的方式,可以降低业务平台对自身的影响,消息不会丢失,并会在下次定时再次重试发送。
58.本实施例的技术方案采用多线程异步处理方式,避免了单线程处理过程中的阻塞问题,并提高了信息处理的性能和稳定性。通过采用本地阻塞队列,减少了线程池的资源占用,提高了信息处理的性能和稳定性。分布式定时平台根据配置的通知策略向目标终端发送消息,避免了长时间等待目标终端响应且有可能丢失消息的问题。
59.图2示出了本发明提供的一种异步信息处理方法的实施例的流程示意图。如图2所示,包括如下步骤:s210:通知平台客户端获取用于请求目标终端响应的目标请求信息;s220:通知平台服务端构建所述目标请求信息对应的目标回调任务;s230:分布式定时平台根据所述目标回调任务,确定所述目标请求信息的回调消息体,并将所述回调消息体发送至所述目标终端;其中,所述分布式定时平台与所述目标终端之间采用多线程异步方式进行请求信息传输。
60.较优地,还包括:根据接收到的所述目标请求信息对应的http响应,确定所述目标请求信息是否发送成功。
61.本实施例的技术方案采用多线程异步处理方式,避免了单线程处理过程中的阻塞问题,并提高了信息处理的性能和稳定性。
62.上述关于本实施例的一种异步信息处理方法中的各参数和各个步骤实现相应功能的步骤,可参考上文中关于一种异步信息处理系统的实施例中的各参数和各模块,在此不做赘述。
63.在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。此外,本发明实施例也不针对任何特定编程语言。
64.在此处所提供的说明书中,说明了大量具体细节。然而能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。类似地,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。其中,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
65.本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组
件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外。
66.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。

技术特征:
1.一种异步信息处理系统,其特征在于,包括:通知平台客户端、通知平台服务端和分布式定时平台;所述通知平台客户端用于:获取用于请求目标终端响应的目标请求信息;所述通知平台服务端用于:构建所述目标请求信息对应的目标回调任务;所述分布式定时平台用于:根据所述目标回调任务,确定所述目标请求信息的回调消息体,并将所述回调消息体发送至所述目标终端;其中,所述分布式定时平台与所述目标终端之间采用多线程异步方式进行请求信息传输。2.根据权利要求1所述的异步信息处理系统,其特征在于,所述通知平台服务端还用于:根据接收到的所述目标请求信息对应的http响应,确定所述目标请求信息是否发送成功。3.根据权利要求1所述的异步信息处理系统,其特征在于,所述通知平台客户端具体用于:当监听到本地阻塞队列中新增请求信息时,从所述本地阻塞队列中取出所述目标请求信息并发送至所述通知平台服务端。4.根据权利要求3所述的异步信息处理系统,其特征在于,还包括:发送终端;所述发送终端用于:生成所述目标请求信息,并调用所述通知平台客户端的目标sdk,将所述目标请求信息发送至所述本地阻塞队列。5.根据权利要求1-4任一项所述的异步信息处理系统,其特征在于,所述目标请求信息包括:消息标识、业务类型、回调消息体和回调地址。6.根据权利要求5所述的异步信息处理系统,其特征在于,所述通知平台服务端具体用于:对包含所述目标请求信息的报文进行解析,并根据解析后的数据构建所述目标回调任务;其中,所述目标回调任务包括:所述回调地址、所述消息标识、当前回调状态、当前回调次数、所述业务类型和所述回调消息体。7.根据权利要求6所述的异步信息处理系统,其特征在于,所述通知平台服务端还用于:配置每种业务类型对应的通知策略类型和最大通知次数;所述分布式定时平台具体用于:根据所述业务类型对应的通知策略类型和最大通知次数,将所述回调消息体发送至所述目标终端。8.根据权利要求7所述的异步信息处理系统,其特征在于,所述通知策略类型为:固定时长间隔、递增时长间隔或自定义时长间隔。9.一种异步信息处理方法,其特征在于,包括:通知平台客户端、通知平台服务端和分布式定时平台;通知平台客户端获取用于请求目标终端响应的目标请求信息;通知平台服务端构建所述目标请求信息对应的目标回调任务;分布式定时平台根据所述目标回调任务,确定所述目标请求信息的回调消息体,并将所述回调消息体发送至所述目标终端;其中,所述分布式定时平台与所述目标终端之间采用多线程异步方式进行请求信息传输。
10.根据权利要求9所述的异步信息处理方法,其特征在于,还包括:根据接收到的所述目标请求信息对应的http响应,确定所述目标请求信息是否发送成功。

技术总结
本发明公开了一种异步信息处理系统及方法,所述系统包括:通知平台客户端、通知平台服务端和分布式定时平台;所述通知平台客户端用于:获取用于请求目标终端响应的目标请求信息;所述通知平台服务端用于:构建所述目标请求信息对应的目标回调任务;所述分布式定时平台用于:根据所述目标回调任务,确定所述目标请求信息的回调消息体,并将所述回调消息体发送至所述目标终端;其中,所述分布式定时平台与所述目标终端之间采用多线程异步方式进行请求信息传输。本发明采用多线程异步处理方式,避免了单线程处理过程中的阻塞问题,并提高了信息处理的性能和稳定性。高了信息处理的性能和稳定性。高了信息处理的性能和稳定性。


技术研发人员:王少飞 李亚威
受保护的技术使用者:北京海科融通支付服务有限公司
技术研发日:2023.08.14
技术公布日:2023/9/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐