CN114844907A - 一种基于mq异步收发的银行交易高速低连接数实现方法 - Google Patents
一种基于mq异步收发的银行交易高速低连接数实现方法 Download PDFInfo
- Publication number
- CN114844907A CN114844907A CN202210494997.5A CN202210494997A CN114844907A CN 114844907 A CN114844907 A CN 114844907A CN 202210494997 A CN202210494997 A CN 202210494997A CN 114844907 A CN114844907 A CN 114844907A
- Authority
- CN
- China
- Prior art keywords
- data
- request
- request data
- thread pool
- transaction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000004044 response Effects 0.000 claims abstract description 62
- 238000012545 processing Methods 0.000 claims abstract description 50
- 230000008569 process Effects 0.000 claims description 14
- 230000008275 binding mechanism Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 3
- 230000008929 regeneration Effects 0.000 claims description 3
- 238000011069 regeneration method Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 abstract description 4
- 238000004891 communication Methods 0.000 abstract description 3
- 230000003993 interaction Effects 0.000 abstract description 2
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于MQ异步收发的银行交易高速低连接数实现方法。该方法应用在交易请求方、消息中间件和数据提供方组成的交易系统中。交易请求方将请求数据从该系统发出,等待数据提供方处理后返回应答;数据提供方接收交易请求处理完成后返回应答数据,消息中间件为通信数据中转站,由消息中间件负责连接两端系统,实现数据交互。本发明能够实现在银行交易系统间实现交易的高速、异步、低连接消耗处理。解决业务系统、消息中间件在分布式架构下的同步等待及高连接消耗问题。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种基于MQ异步收发的银行交易高速低连接数实现方法。
背景技术
随着金融业务的快速发展,银行内部业务系统的数量越来越庞大,加之分布式架构技术的应用在银行业逐步推进,使得传统的由一个业务系统少量服务器负责的业务被拆分成为多个业务子系统,通过低配置的应用服务器来承载相应的业务,在系统拆分及系统分布式架构化的情况下,对消息中间件带来了极大的跳转,需要满足交易数据传递的同时,还需要保障自身的稳定定性,尽可能低的负载来完成相应的数据传输。针对业务系统侧,则需要满足业务在执行过程中尽可能的高效处理,异步化低阻塞。因此,需要在业务系统内部处理逻辑上解耦业务处理及消息通信,实现业务处理异步高速,消息通信低连接、低消耗、异步无等待。
通过全新的应用架构和IT架构可实现银行业务系统交易的高吞吐、系统的高性能、高稳定性。因此,在业务系统间调用过程中存在的两大关键路径:系统内部同步等待、消息中间件高负载同步应答上进行攻坚,通过技术实现应用系统只需要少量连接即可实现与消息中间件的大流量交互;业务系统内部通过技术实现解耦业务处理需要阻塞等待后端应答等问题。
然而,在实际过程中,业务系统与消息中间件之间的调用存在系统连接数高,消息中间件整体连接数过高导致消息中间件需要消耗大量的系统性能用于管理连接,而实际业务系统与消息中间件之间的连接99%以上的时间均处于空闲及等待应答数据状态。而业务系统降低连接数,则又会导致无法满足业务系统交易处理并发量需求导致大量交易阻塞问题。
发明内容
本发明的目的是针对现有技术存在的不足,提供一种基于MQ异步收发的银行交易高速低连接数实现方法。
为实现上述目的,本发明提供了一种基于MQ异步收发的银行交易高速低连接数实现方法,应用在交易请求方、消息中间件和数据提供方组成的交易系统中,所述交易请求方包括多个第一业务处理线程池、第一请求数据缓存区、第一应答数据缓存区、请求数据发送线程池和应答数据接收线程池,所述数据提供方包括请求数据接收线程池、第二请求数据缓存区、第二业务处理线程池、第二应答数据缓存区和应答数据发送线程池;
该方法包括:
所述第一业务处理线程池生成请求数据,并在完成自身请求前的业务处理逻辑后将所述请求数据放入第一请求数据缓存区中,在数据放入后结束该流程,所述请求数据赋值有请求唯一ID;所述请求数据发送线程池基于线程与连接绑定机制实时读取第一请求数据缓存区中待发送的请求数据,并在读取后生成并设置所读取请求数据的消息唯一标识msgId,且根据数据发送目标队列将请求数据及其msgId发送至中间连接件的消息队列中,数据发送完成后结束该流程;
所述请求数据接收线程池基于线程与连接绑定机制实时读取消息中间件内的请求数据及其msgId,并将读取的请求数据及其msgId放入第二请求数据缓存区中,在数据放入后结束该流程;所述第二业务处理线程池从第二请求数据缓存区中读取待处理的请求数据及其msgId,并在完成业务处理后回填请求唯一ID和msgId,以形成对消息级和业务级进行应答匹配的应答数据,并将应答数据放入第二应答数据缓存区,然后结束该流程;所述应答数据发送线程池实时读取第二应答数据缓存区中的应答数据,并根据报文应答发送规则将所述应答数据发送到消息中间件的消息队列中,数据发送完成后结束该流程;
所述应答数据接收线程池以msgId为匹配规则从所述消息中间件读取相应的应答数据,并将读取的应答数据放入第一应答数据缓存区,然后结束该流程;所述第一业务处理线程池无状态读取第一应答数据缓存区内的应答数据,基于请求唯一ID进行键值映射关联交易镜像中的请求数据,并取原请求流程完成流程再生,然后执行后续交易处理逻辑。
进一步的,所述消息中间件为WebSphere MQ队列管理器。
进一步的,所述第一业务处理线程池还根据算法规则生成相应的超时控制时间,以进行交易生命周期超时管理。
有益效果:本发明基于MQ消息队列管理器自身的异步化、多系统对接能力结合业务系统内部业务处理与数据收发能力剥离,实现全流程异步化、模块化,实现交易的高速、高吞吐能力,实现中间件在分布式场景下、大量接入终端情况下的低连接消耗,保障其高速处理能力,解决了业务系统、消息中间件在分布式架构下的同步等待及高连接消耗问题。
附图说明
图1是交易请求方、消息中间件和数据提供方组成的交易系统的结构示意图;
图2是基于MQ异步收发的银行交易高速低连接数实现方法流程示意图;
图3是本发明实施例的内部状态转换、流程调用的流程示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,本实施例在以本发明技术方案为前提下进行实施,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围。
如图1和2所示,本发明实施例提供了一种基于MQ异步收发的银行交易高速低连接数实现方法,该方法应用在交易请求方1、消息中间件2和数据提供方3组成的交易系统中。其中,交易请求方包括多个第一业务处理线程池11、第一请求数据缓存区12、第一应答数据缓存区13、请求数据发送线程池14和应答数据接收线程池15,数据提供方3包括请求数据接收线程池31、第二请求数据缓存区32、第二业务处理线程池33、第二应答数据缓存区34和应答数据发送线程池35。第一业务处理线程池11、请求数据发送线程池14、应答数据接收线程池15、请求数据接收线程池31、第二业务处理线程池33和应答数据发送线程池35均分别包括多个线程,第一业务处理线程池11和第二业务处理线程池33为满足业务处理需求可配置为大容量线程池,实现高并发业务处理。而请求数据发送线程池14、应答数据接收线程池15、请求数据接收线程池31和应答数据发送线程池35均为低配置的线程池,其采用线程与连接绑定方式,通过少量的线程配置读取数据。以上每个部分具体的模块化结构可参见图3,在此不再对每个模块进行赘述。消息中间件2优选为WebSphere MQ队列管理器。
该方法包括:
第一业务处理线程池11生成请求数据,并在完成自身请求前的业务处理逻辑后将上述请求数据放入第一请求数据缓存区12中,在数据放入后结束该流程,以释放第一业务处理线程池11的线程处理能力。上述请求数据赋值有请求唯一ID,用于后续关联应答数据。交易请求方1还优选根据算法规则生成相应的超时控制时间,以进行交易生命周期超时管理。
请求数据发送线程池13采用线程与连接绑定机制,通过少量的线程配置实时读取第一请求数据缓存区12中待发送的请求数据,并在读取后生成并设置所读取请求数据的消息唯一标识msgId,msgId用于后续匹配消息级请求应答关系。请求数据发送线程池13根据数据发送目标队列将请求数据及其msgId发送至中间连接件2的消息队列中,数据发送完成后结束该流程。
请求数据接收线程池31基于线程与连接绑定机制实时读取消息中间件2内的请求数据及其msgId和上述超时控制时间,正确数据完成交易异步处理场景下的交易生命周期超时管理,满足继续处理条件后,将读取的请求数据及其msgId放入第二请求数据缓存区32中,在数据放入后结束该流程。第二业务处理线程池33从第二请求数据缓存区32中读取待处理的请求数据及其msgId,并在完成业务处理后回填请求唯一ID和msgId,以形成对消息级和业务级进行应答匹配的应答数据,并将应答数据放入第二应答数据缓存区34,然后结束该流程,以释放第二业务处理线程池33的处理能力。应答数据发送线程池35实时读取第二应答数据缓存区34中的应答数据,并根据报文应答发送规则将应答数据发送到消息中间件2的消息队列中,数据发送完成后结束该流程,继续处理下一笔待发送数据。
应答数据接收线程池15以msgId为匹配规则从消息中间件2读取相应的应答数据,并将读取的应答数据放入第一应答数据缓存区13中,然后结束该流程,以释放应答数据接收线程池15的数据读取能力,持续从队列中异步读取数据放入第一应答数据缓存区13中。第一业务处理线程池11无状态读取第一应答数据缓存区内的应答数据,基于请求唯一ID进行键值映射关联交易镜像中的请求数据,并取原请求流程完成流程再生,并通过数据请求方1的交易超时控制器完成交易生命周期超时管理,然后执行后续交易处理逻辑。数据请求方1还包括异常交易处理器,异常交易处理器负责针对异常交易、超时交易等进行处理,保证交易全流程正确性及可靠性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,其它未具体描述的部分,属于现有技术或公知常识。在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (3)
1.一种基于MQ异步收发的银行交易高速低连接数实现方法,其特征在于,应用在交易请求方、消息中间件和数据提供方组成的交易系统中,所述交易请求方包括多个第一业务处理线程池、第一请求数据缓存区、第一应答数据缓存区、请求数据发送线程池和应答数据接收线程池,所述数据提供方包括请求数据接收线程池、第二请求数据缓存区、第二业务处理线程池、第二应答数据缓存区和应答数据发送线程池;
该方法包括:
所述第一业务处理线程池生成请求数据,并在完成自身请求前的业务处理逻辑后将所述请求数据放入第一请求数据缓存区中,在数据放入后结束该流程,所述请求数据赋值有请求唯一ID;所述请求数据发送线程池基于线程与连接绑定机制实时读取第一请求数据缓存区中待发送的请求数据,并在读取后生成并设置所读取请求数据的消息唯一标识msgId,且根据数据发送目标队列将请求数据及其msgId发送至中间连接件的消息队列中,数据发送完成后结束该流程;
所述请求数据接收线程池基于线程与连接绑定机制实时读取消息中间件内的请求数据及其msgId,并将读取的请求数据及其msgId放入第二请求数据缓存区中,在数据放入后结束该流程;所述第二业务处理线程池从第二请求数据缓存区中读取待处理的请求数据及其msgId,并在完成业务处理后回填请求唯一ID和msgId,以形成对消息级和业务级进行应答匹配的应答数据,并将应答数据放入第二应答数据缓存区,然后结束该流程;所述应答数据发送线程池实时读取第二应答数据缓存区中的应答数据,并根据报文应答发送规则将所述应答数据发送到消息中间件的消息队列中,数据发送完成后结束该流程;
所述应答数据接收线程池以msgId为匹配规则从所述消息中间件读取相应的应答数据,并将读取的应答数据放入第一应答数据缓存区,然后结束该流程;所述第一业务处理线程池无状态读取第一应答数据缓存区内的应答数据,基于请求唯一ID进行键值映射关联交易镜像中的请求数据,并取原请求流程完成流程再生,然后执行后续交易处理逻辑。
2.根据权利要求1所述的基于MQ异步收发的银行交易高速低连接数实现方法,其特征在于,所述消息中间件为WebSphere MQ队列管理器。
3.根据权利要求1所述的基于MQ异步收发的银行交易高速低连接数实现方法,其特征在于,所述第一业务处理线程池还根据算法规则生成相应的超时控制时间,以进行交易生命周期超时管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210494997.5A CN114844907B (zh) | 2022-05-07 | 2022-05-07 | 一种基于mq异步收发的银行交易高速低连接数实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210494997.5A CN114844907B (zh) | 2022-05-07 | 2022-05-07 | 一种基于mq异步收发的银行交易高速低连接数实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114844907A true CN114844907A (zh) | 2022-08-02 |
CN114844907B CN114844907B (zh) | 2024-03-15 |
Family
ID=82567171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210494997.5A Active CN114844907B (zh) | 2022-05-07 | 2022-05-07 | 一种基于mq异步收发的银行交易高速低连接数实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114844907B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117010896A (zh) * | 2023-07-22 | 2023-11-07 | 江苏润和软件股份有限公司 | 基于实时流的交易运作方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007316719A (ja) * | 2006-05-23 | 2007-12-06 | Hitachi Ltd | メッセージ通信方法、装置及びプログラム |
US20170048120A1 (en) * | 2015-08-11 | 2017-02-16 | Txmq, Inc. | Systems and Methods for WebSphere MQ Performance Metrics Analysis |
CN107147620A (zh) * | 2017-04-19 | 2017-09-08 | 武汉票据交易中心有限公司 | 一种消息交互处理方法、客户端和服务端 |
US20180268020A1 (en) * | 2015-12-01 | 2018-09-20 | Nomura Research Institute, Ltd. | Transaction processing system and transaction control method |
CN112948174A (zh) * | 2021-02-03 | 2021-06-11 | 江苏苏宁物流有限公司 | 消息处理方法、装置、计算机设备和存储介质 |
CN113760566A (zh) * | 2020-11-10 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种分布式事务处理的方法、装置、系统和存储介质 |
CN113938516A (zh) * | 2021-10-13 | 2022-01-14 | 中国银行股份有限公司 | 同步实现异构系统交易处理的方法及系统 |
-
2022
- 2022-05-07 CN CN202210494997.5A patent/CN114844907B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007316719A (ja) * | 2006-05-23 | 2007-12-06 | Hitachi Ltd | メッセージ通信方法、装置及びプログラム |
US20170048120A1 (en) * | 2015-08-11 | 2017-02-16 | Txmq, Inc. | Systems and Methods for WebSphere MQ Performance Metrics Analysis |
US20180268020A1 (en) * | 2015-12-01 | 2018-09-20 | Nomura Research Institute, Ltd. | Transaction processing system and transaction control method |
CN107147620A (zh) * | 2017-04-19 | 2017-09-08 | 武汉票据交易中心有限公司 | 一种消息交互处理方法、客户端和服务端 |
CN113760566A (zh) * | 2020-11-10 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种分布式事务处理的方法、装置、系统和存储介质 |
CN112948174A (zh) * | 2021-02-03 | 2021-06-11 | 江苏苏宁物流有限公司 | 消息处理方法、装置、计算机设备和存储介质 |
CN113938516A (zh) * | 2021-10-13 | 2022-01-14 | 中国银行股份有限公司 | 同步实现异构系统交易处理的方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117010896A (zh) * | 2023-07-22 | 2023-11-07 | 江苏润和软件股份有限公司 | 基于实时流的交易运作方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114844907B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111930529B (zh) | 基于消息队列及微服务的数据同步方法、装置及系统 | |
CN102663649B (zh) | 金融衍生品交易系统 | |
CN111400011A (zh) | 一种实时任务调度方法、系统、设备及可读存储介质 | |
CN104065636A (zh) | 数据处理方法和系统 | |
CN113938516A (zh) | 同步实现异构系统交易处理的方法及系统 | |
CN114844907B (zh) | 一种基于mq异步收发的银行交易高速低连接数实现方法 | |
CN113742043B (zh) | 一种服务器后端任务异步拆分方法 | |
CN114254036A (zh) | 数据处理方法以及系统 | |
CN113592473A (zh) | 一种跨行资金清算处理方法及装置 | |
CN110889765B (zh) | 交易信息报送方法及装置 | |
CN111125168B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN111541646A (zh) | 一种增强密码机安全服务接入能力的方法 | |
CN112416414A (zh) | 一种基于状态机的微服务架构容器化轻量级工作流系统 | |
CN116319810A (zh) | 分布式系统的流量控制方法、装置、设备、介质及产品 | |
CN115829715A (zh) | 一种银行业交易调度中台控制方法和银行业交易调度中台 | |
CN115208834A (zh) | 一种基于数据库存储过程设计的服务流量限制方法 | |
CN115086311A (zh) | 一种基于云服务总线的企业跨系统服务的管理系统 | |
CN115470172A (zh) | Pos机中双cpu的通信方法、装置、系统及介质 | |
CN111143085B (zh) | 一种实现多应用并发调用硬件的方法 | |
CN111797074A (zh) | 一种数据库连接方法、装置、电子设备和可读存储介质 | |
CN113793213A (zh) | 一种异步信贷风控断点续作的决策方式的实现方法及装置 | |
CN111897839A (zh) | 一种数据处理方法及系统 | |
CN101964748A (zh) | 数据交换方法和系统 | |
CN101452398B (zh) | 异步请求应答的通信方法 | |
CN112561650B (zh) | 一种订单服务请求的处理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |