一种用于金融资产交易的高并发消息系统的制作方法

文档序号:25658918发布日期:2021-06-29 22:44阅读:166来源:国知局
一种用于金融资产交易的高并发消息系统的制作方法

1.本发明属于通信技术领域,具体涉及一种用于金融资产交易的高并发消息系统。


背景技术:

2.随着互联网技术的发展,互联网金融也逐渐兴起,但同时面对安全性差、业务扩展能力不强,维护成本高以及在高并发的情况下的系统故障等问题。随着通信技术的不断发展和成熟,移动业务逐渐覆盖到各行各业的信息化应用中,在互联网金融中,通过通信技术提高了金融企业中业务平台和运营商之间的有效交互,进而提高了金融企业的业务效率。一般情况下,企业消息平台都有短信、服务号推送、站内信、app推送、邮件等消息发送需求,企业就需要构建维护自己的消息信息业务系统。
3.随着移动通信业务中的消息信息业务日益普及,其业务量迅速发展,所以消息的应用系统必须在当前的硬件基础措施上,有效利用软件系统资源来推送消息信息业务,但在硬件基础措施一定的情况下,如何使用软件系统把大量的消息信息在最短的时间内推送到手机用户并和相关运营商完成信息交互成为消息信息应用实时性的关键。
4.应用消息信息业务系统的互联网分布式系统架构的设计中,必须要考虑的技术因素之一是如何实现高并发,高并发通常指通过设计,保证系统能够同时并行处理大量请求。高并发相关常用的指标有响应时间(response time),吞吐量(throughput),每秒查询率qps(query per second),并发用户数等。理论上,实现高并发的方法主要有两种:垂直扩展(scale up)与水平扩展(scale out)。垂直扩展是指提升单机处理的能力。垂直扩展的方式有两种:(1)增强单机硬件性能,例如:增加cpu核数、升级更好的网卡、升级更好的硬盘、扩充硬盘容量和扩充系统内存;(2)提升单机架构性能,例如:使用异步来增加单服务吞吐量。水平扩展是指,只增加服务器的数量,就能线性扩充系统的性能。高并发的设计在不同的企业中可根据实际应用场景提出不同的方案。
5.在实际短信发送场景的应用中,企业用户使用的手机号码归属各运营商的比重不一,在移动、电信和联通这几家运营商都有各企业的用户。同时,有的企业与消息服务运营商开通了全网通协议,有的仅开通了本网通协议。在这种情况下,企业消息平台需根据企业用户使用的手机号码类型的比重,对应选择与运营商消息对接的消息通道数、消息通道流量的比重。目前,有的企业的消息平台根据路由算法、消息通道压力、消息发送效率、消息通道流量、消息通道发送消息类型和消息通道服务协议,智能选择消息发送通道进行消息发送,从而提升消息平台处理性能及运维的自动化管理,但由于技术的限制,消息平台的通道切换的方案仍需根据实际应用场景不断完善。


技术实现要素:

6.本发明基于上述背景和现有技术存在的问题,拟设计一种用于金融资产交易的高并发消息处理系统,其能够基于消息队列服务器(mq)异步机制,支持异步处理高并发的消息发送。本发明还有一个目的是通过动态切换消息通道的方法,提高消息发送的效率,以便
实现消息高并发。
7.为了实现本发明的这些目的和其它优点,提供了一种用于金融资产交易的高并发消息系统,其组成如下:
8.消息生成模块,其包含n个子系统,数量n根据需要设定,用于从消息表中查询待发送消息,以及从数据库中获取待发送的汇总消息,并对消息进行解析(解析是指对表中的一条消息记录进行处理,得出真实的消息内容)、验证和拆分明细后发送到消息队列服务器;
9.内部管理模块,其包含n个子系统,用于维护基础参数、数据字典(系统的配置参数)和mq,提供发送消息的页面入口,提供消息发送的查询入口,内部管理模块内部配置消息通道,使用自定义签名和约定签名两种模式,根据消息业务类型选择对应模式的消息发送通道;
10.消息处理模块,其包含n个子系统,用于从mq中获取待发送的消息明细情况,调用消息发送api(接口)进行消息发送,内部第三方消息需求系统调用api,在所述内部管理模块上获取待发送消息,并根据消息类型调用对应的消息api,发送消息;
11.其中,所述三大模块,都包括消息高并发处理系统,其采用异步处理mq机制(消息系统接收第三方系统发送消息请求后,将请求记录存入数据库,然后给第三方系统回复接收成功的响应结果,然后再实际执行发送消息),用于高并发的消息发送,根据业务实际并发量对服务器进行横行扩展;包括消息队列服务器服务器,用于缓存待发送的消息;还包括消息通道切换系统,其用于对接多个消息通道,并根据消息发送失败率动态切换消息通道;所述消息通道切换系统还包括可达性验证机制,用于实现通道智能管理。
12.优选的是,其中,内部管理模块维护的基础参数包括:消息类型、模板、用户群组、黑名单等涉及维护过程的关键信息,mq使用主从(master-slave)模式,当mq性能不能满足要求时,通过增加mq节点,部署集群(cluster)模式解决性能问题;通过在内部管理子系统的页面上发送消息;消息生成模块实时查询待发送消息;消息处理模块实时从mq中获取待发送的消息,并根据消息类型调用对应的消息api进行消息发送;消息生成模块和消息处理模块采用横向扩展模式,根据实际业务量部署节点。
13.进一步地,除了通过在内部管理模块的内部管理子系统的页面上发送消息,也可以通过系统提供的api进行联机发送,消息发送请求接收后,进行数据校验,然后存入数据库,后续的消息发送的过程为异步处理的过程,提高了第三方api调用的响应速度和系统整体的tps(吞吐量);消息生成模块实时查询待发送消息:消息生成模块的消息生成子系统启动定时任务,实现实时从数据库中获取待发送的消息,对消息做解析后发送到mq中。消息处理模块实时从mq中获取待发送的消息:消息处理模块的消息处理子系统实时从数据库中获取消息,根据消息的类型选择对应的消息发送程序,进行消息发送,消息处理子系统根据并发情况进行横向扩展,部署满足业务量要求数量的节点。一般而言,消息消费的速度要小于消息接收的速度,所以,消息处理子系统的节点要多于消息生成子系统的节点。实现不同类型的消息处理,每种类型的消息使用同一个mq,实现各种消息类型的隔离性与高可用性,避免了因个别类型的消息发送问题造成其他消息类型不可用的情况。消息生成子系统根据并发情况,进行横向扩展部署节点,这样既能保证高可用,避免单点问题,又提高了系统的性能。
14.进一步地,实现高并发处理消息的过程,包括如下步骤:
15.1.1实现消息发送异步:消息生成子系统实时从消息表中查询待发送消息,并将消息发送到mq;
16.1.2 mq接收待发送消息,并缓存待发送的消息;
17.1.3消息处理子系统实时从mq中获取待发送消息,并根据消息类型调用对应消息api,进行消息发送;
18.1.4消息生产子系统和消息处理子系统支持横向扩展,根据实际业务量部署节点。
19.本发明实现动态切换消息通道的目的还可以进一步由配置相关策略来实现,配置的策略包括:配置预警策略,实现最近单元时间消息发送和定时消息发送;配置策略生效策略,用于将当前消息通道切换到另一个消息通道;配置定时或定频扫描策略,定时或定频扫描消息发送记录,当触发特定预警策略时,执行对应配置(对应配置是指驱动策略,即当系统运行时触发了触发条件,会执行该策略配置的执行动作),完成消息通道动态切换。用通道动态切换的方法实现在金融资产交易的过程中,根据各消息通道的实际发送成功率动态调整切换策略,通过数据库和mq实现异步消息发送。实现动态切换消息通道的实现方法包括:
20.2.1在内部管理模块中配置消息通道,消息通道的数量根据业务量设置;
21.2.2配置预警策略,用于最近单位时间消息发送和定时消息发送;
22.2.3配置消息通道切换策略,用于将当前消息通道切换到另一个消息通道;
23.2.4配置定时或定频策略,用于定时或定频扫描消息发送记录,当触发特定预警策略时,执行对应配置的生效策略,完成消息通道动态切换;
24.2.5根据各消息通道的实际发送成功率,动态调整切换策略。
25.进一步地,所述消息通道切换系统中,根据配置动态切换消息发送的策略,消息发送策略由三部分组成:触发条件、执行策略和驱动策略。具体实现步骤如下:
26.3.1触发条件定义触发执行的具体方式,包括按单条消息发送失败、最近时间段消息发送失败率和过去消息数发送失败率三种消息触发条件,配置触发条件后,系统启动对应的程序进行处理,并判断当前的触发条件情况。其中,最近时间段消息发送失败率和最近具体条数消息发送失败率,用于配置最近时间段内的消息失败率的触发条件;
27.3.2执行策略,包括通知提醒、通过当前消息通道进行消息重发、通过切换通道进行消息重发和整体切换通道进行消息重发四种策略,用于及时发现消息通道异常并执行事先维护的驱动策略:
28.1)通知提醒策略,包括使用邮件、app(应用端)进行消息推送,发送通知消息至提前维护端(提前维护端属于消息策略发送系统,实现系统的运维维护);
29.2)通过当前消息通道进行消息重发策略,用于使用消息当前的通道重发消息;
30.3)通过切换通道进行消息重发策略,用于切换另外一个消息通道进行消息重发;
31.4)整体切换通道进行消息重发策略,用于把当前的消息发送通道换至其他通道,后续使用此新通道发送消息。当消息通道出现严重问题时,再整体切换到其他通道进行消息重发。
32.3.3驱动策略连接了触发条件和执行策略,由触发条件、执行策略和优先级构成:当系统运行触发了触发条件时,执行该驱动策略配置的执行策略;系统扫描消息发送表使用定频和定时两种模式,然后计算消息发送失败率,判断是否达到触发条件;消息通道切换
系统中配置m个驱动策略,每个策略对应一个优先级,当同一时刻触发m个触发条件时,根据配置执行优先级高的触发条件下的任务。
33.所述可达性验证机制用于消息通道切换系统中,动态实现切换消息通道的过程中的定时任务,包括步骤如下:
34.4.1消息处理模块预置三个通道的身份识别智能(sim)卡,用于接收通过消息系统中的消息生成模块发出的验证消息;
35.4.2消息处理模块接收到验证消息后,将验证消息的属性(包括包括消息接收时间、接收方通道、发送方名称、消息内容等)发送给内部管理模块;
36.4.3内部管理模块根据此验证消息的属性,实时计算该通道的可达性,生成基础数据(基础参数),包括消息通道、接收方通道、消息是否可达判断和消息送达时间间隔;
37.4.4内部管理模块根据此基础数据计算消息通道的可用性评分,此评分就是消息可达性验证的结果。
38.本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。本发明至少包括的有益效果:本发明的消息系统实现发送短信、站内信(系统内的消息)、邮件、app push(应用消息推送)和服务号等五种常用的信息类型,短信类型的消息采用自定义签名和约定签名两种模式,实现签名的灵活性。本发明的系统中的消息发送通过mq实现异步消息发送,实现高并发的消息发送,根据业务实际并发量对服务器进行横行扩展,对接多个消息通道,通过接口调用和内部管理模块批量发送两种发送消息,可根据消息发送失败率动态切换消息通道,保证了系统的高可用和高性能。消息通道重发策略配置灵活能够及时发现消息通道异常并执行事先维护的具体策略,减少了由于某个消息通道异常造成的影响。
附图说明
39.图1为本发明的系统实现高并发消息处理的机制图;
40.图2为本发明实现高并发处理消息的流程图;
41.图3为本发明实现消息发送策略动态切换的原理图;
42.图4为本发明的可达性验证机制图。
具体实施方式
43.为了清晰地阐述本发明,使本发明实施例的目的、技术方案和优点更加清楚,下面将与附图结合,具体实施方式对本发明的技术加以详细说明,以令本领域技术人员参照说明书文字能够据以实施。
44.图1示出了本发明的系统实现高并发消息处理的机制图,示出了消息生成模块、内部管理模块和消息处理模块三大模块对于处理消息的协调交互的原理。一种用于金融资产交易的高并发消息处理系统,其组成如下:
45.消息生成模块,其包含n个子系统,数量n根据需要设定,用于从消息表中查询待发送消息,以及从数据库中获取待发送的汇总消息,并对消息进行解析、验证和拆分明细后发送到消息队列服务器;
46.内部管理模块,其包含n个子系统,用于维护基础参数、数据字典和mq,提供发送消
息的页面入口,提供消息发送的查询入口,内部管理模块内部配置消息通道,此消息通道的数量根据具体业务量配置。使用自定义签名和约定签名两种模式,根据消息业务类型选择对应模式的消息发送通道;
47.消息处理模块,其包含n个子系统,用于从mq中获取待发送的消息明细情况,调用消息发送api(接口)进行消息发送,内部第三方消息需求系统调用api,在所述内部管理模块上获取待发送消息,并根据消息类型调用对应的消息api,发送消息;
48.其中,所述三大模块,都包括消息高并发处理系统,其采用异步处理mq机制,用于高并发的消息发送,根据业务实际并发量对服务器进行横行扩展;包括消息队列服务器服务器,用于缓存待发送的消息;还包括切换消息通道系统,其用于对接多个消息通道,并根据消息发送失败率动态切换消息通道;所述消息通道切换系统还包括可达性验证机制,用于实现通道智能管理。
49.其中,内部管理模块维护的基础参数包括:消息类型、模板、用户群组、黑名单等涉及维护过程的关键信息,mq使用主从(master-slave)模式,mq可以缓存大量的消息,性能较高,例如当主mq出现异常,从mq自动接管,提供消息读写服务,可以保证高可用。当mq性能不能满足要求时,通过增加mq节点,部署集群(cluster)模式解决性能问题;通过在内部管理子系统的页面上发送消息;消息生成模块实时查询待发送消息。消息处理模块实时从mq中获取待发送的消息,并根据消息类型调用对应的消息api进行消息发送;消息生成模块和消息处理模块采用横向扩展模式,根据实际业务量部署节点。
50.除了通过在内部管理模块的内部管理子系统的页面上发送消息,也可以通过系统提供的接口进行联机发送,消息发送请求接收后,进行数据校验,然后存入数据库,后续的消息发送处理的过程为异步处理的过程,提高了第三方api调用的响应速度和系统整体的tps;消息生成模块实时查询待发送消息:消息生成模块的消息生成子系统启动定时任务,实现实时从数据库中获取待发送的消息,对消息做解析后发送到mq中。消息处理模块实时从mq中获取待发送的消息:消息处理模块的消息处理子系统实时从数据库中获取消息,根据消息的类型选择对应的消息发送程序,进行消息发送,消息处理子系统根据并发情况进行横向扩展,部署满足业务量要求数量的节点,例如当业务量为m,则部署m个节点。一般而言,消息处理的速度要小于消息接收(获取)的速度,所以,消息处理子系统的节点要多于消息生成子系统的节点。实现不同类型的消息处理,每种类型的消息使用同一个队列,实现各种消息类型的隔离性与高可用性,避免了因个别类型的消息发送问题造成其他消息类型不可用。消息生成子系统根据并发情况可以进行横向扩展部署多个节点,这样既能保证高可用,避免单点问题,又提高了系统的性能。
51.2.图2为本发明实现高并发处理消息的过程,包括如下步骤:
52.1.1实现消息发送异步:消息生成子系统实时从消息表中查询待发送消息,并将消息发送到mq;
53.1.2 mq接收待发送消息,并缓存待发送的消息;
54.1.3消息处理子系统实时从mq中获取待发送消息,并根据消息类型调用对应消息api,进行消息发送;
55.1.4 mq能够缓存海量消息;
56.1.5消息生产子系统和消息发送子系统支持横向扩展,根据实际业务量部署节点。
57.3.图3为本发明实现消息通道动态切换的原理图,本发明实现动态切换消息通道的目的还可以进一步由配置相关策略的方法来实现,配置的策略包括:配置预警策略,实现最近单元时间消息发送,例如以最近1分钟、3分钟、10分钟为间隔,定时消息发送,例如以每1分钟、3分钟、10分钟为间隔;配置策略生效策略,用于将当前消息通道切换到另一个消息通道;配置定时或定频扫描策略,定时或定频扫描消息发送记录,当触发特定预警策略时,执行对应配置(对应配置是指驱动策略,即当系统运行时触发了触发条件,会执行该策略配置的执行动作),进而完成消息通道动态切换。实现动态切换消息通道的实现方法或策略包括:
58.2.1在内部管理模块中配置多个消息通道,消息通道的数量根据业务量设置;
59.2.2配置预警策略,用于最近单位时间消息发送和定时消息发送;
60.2.3配置消息通道切换策略,用于将当前消息通道切换到另一个消息通道;
61.2.4配置定时或定频策略,用于定时或定频扫描消息发送记录,当触发特定预警策略时,执行对应配置的生效策略,完成消息通道动态切换;
62.2.5根据各消息通道的实际发送成功率,动态调整切换策略。
63.其中,用通道动态切换的方法实现在金融资产交易的过程中,根据各消息通道的实际发送成功率动态调整切换策略,通过数据库和mq实现异步消息发送。此系统根据配置进行动态切换消息发送策略,消息发送策略由三部分组成:触发条件、执行策略和驱动策略,具体实现动态切换消息发送策略的步骤如下:
64.3.1触发条件定义触发执行的具体方式,包括按单条消息发送失败、最近时间段消息发送失败率和过去消息数发送失败率三种消息触发条件,配置触发条件后,系统启动对应的程序进行处理,并判断当前触发条件的情况。其中,最近时间段消息发送失败率和最近具体条数消息发送失败率,用于配置最近一段时间内的消息失败率的触发条件;
65.3.2执行策略,包括通知提醒、通过当前消息通道进行消息重发、通过切换通道进行消息重发和整体切换通道进行消息重发四种策略,用于及时发现消息通道异常并执行事先维护的策略:
66.a)通知提醒策略,包括使用邮件、app(应用端)进行消息推送,发送通知消息至提前维护端;
67.b)通过当前通道进行消息重发策略,用于使用消息当前的通道重发消息;
68.c)通过切换通道进行消息重发策略,用于切换另外一个消息通道进行重发;
69.d)整体切换通道进行消息重发策略,用于把当前的消息发送通道换至其他通道,后续使用此新通道发送消息。当消息通道出现严重问题时,整体切换到其他通道进行消息重发。
70.3.3驱动策略连接了触发条件和执行策略,由触发条件、执行策略和优先级构成:当系统运行触发了触发条件时,执行该驱动策略配置的执行策略;系统扫描消息发送表使用定频和定时两种模式,然后计算消息发送失败率,判断是否达到触发条件;消息通道切换系统中配置m个驱动策略,每个策略对应一个优先级,当同一时刻触发m个触发条件时,根据配置执行优先级高的触发条件下的任务。
71.4.图4为本发明的可达性验证机制用于消息通道切换系统中,实现动态切换消息通道的过程中的定时任务,采用这种方案具有实现信息通道智能管理的有利之处。其工作
方式为:
72.4.1消息处理模块预置三个通道(例如移动运营商或者移动运营商的代理商提供消息发送技术通道)的sim(身份识别智能卡)卡,用于接收通过消息系统中的消息生成模块发出的验证消息;
73.4.2消息处理模块接收到验证消息后,将验证消息的属性(例如消息接收时间、接收方通道、发送方名称、消息内容等)发送给内部管理模块系统;
74.4.3内部管理模块根据此验证消息的属性,实时计算该通道的可达性,生成基础数据(基础参数),包括消息通道、接收方通道、消息是否可达和消息送达时间间隔;
75.4.4内部管理模块根据此基础数据计算消息通道的可用性评分,此评分就是消息可达性验证的结果。
76.这里说明的模块数量和处理规模是用来简化本发明的说明的。对本发明的信息处理系统的应用、修改和变化对本领域的技术人员来说是显而易见的。
77.如上所述,根据本发明,由于应用高并发的消息处理系统,并且配置可达性验证机制于消息通道切换系统中,实现动态切换消息通道,因此具有消息通道智能和高效管理的效果。
78.上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1