CN111611059B - 一种用于理财资产管理系统的Redis管道通信方法 - Google Patents
一种用于理财资产管理系统的Redis管道通信方法 Download PDFInfo
- Publication number
- CN111611059B CN111611059B CN202010436956.1A CN202010436956A CN111611059B CN 111611059 B CN111611059 B CN 111611059B CN 202010436956 A CN202010436956 A CN 202010436956A CN 111611059 B CN111611059 B CN 111611059B
- Authority
- CN
- China
- Prior art keywords
- pipeline
- redis
- server
- command
- application end
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/06—Asset management; Financial planning or analysis
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明涉及一种用于理财资产管理系统的Redis管道通信方法,与现有技术相比解决了Redis管道技术难以满足多模块处理的缺陷。本发明包括以下步骤:应用端进行数据请求;应用端对Redis服务器发送管道命令;Redis服务器对管道命令进行处理;应用端请求数据的返回。本发明通过Redis管道对理财资产管理系统中的多个模块进行强一致性分布式事务处理,使得在利用Redis管道技术时也能够适应多模块不同事务处理方法。
Description
技术领域
本发明涉及数据通信技术领域,具体来说是一种用于理财资产管理系统的Redis管道通信方法。
背景技术
理财资产管理系统是支持银行和理财子公司在监管新规下,开展理财产品全生命周期一站式智能管理的平台,是集理财产品管理系统、投资组合管理系统、资产管理运营平台于一体的信息系统。鉴于不同客户对于产品的需求不同,可选择产品管理系统、投资组合管理系统、资产管理运营平台模块中的一个或多个。资产管理平台包括产品管理系统、投资组合管理系统、资产管理运营平台等模块,其能够实现对不同类型产品的全生命周期的流程管理、信息要素、文档资料、产品账户的统一管理,达到产品整个生命周期的业务全景视图,实现人性化管理的目标。
正是基于此,在理财资产管理系统中的多个模块,为了提高其通信处理效率,采用Redis管道技术代替了传统Redis批量操作,使得Redis批量需要m次RTT时间+n次命令的执行时间,减少到Redis管道只需要的1次RTT时间+n次命令的执行时间,大大提高了传输通信效率。
但是,也正是由于理财资产管理平台的多模块性特点,多个模块涉及到分布式处理和异步式处理方式,难以实现传输方式的统一整合。而一般的分布式事务的做法,比如:组合服务处理失败的时候,往Message Queue里面塞交易撤销的消息,交易服务监控到有交易撤销的消息,再做交易撤销相关的处理,整体过程非常复杂,各个服务都需要考虑补偿机制。即,传统的分布式事务无法解决各个微服务间事务强一致性、通常采取事后数据补偿机制。同时,为了保证金融安全性要求,也建议工作流相关处理在风险服务中间任何一步发生错误,该交易都是不能成立的。
因此,如何针对Redis管道的特点,设计出一种能够实现处理分布式处理和异步式处理方式的Redis管道通信方法已经成为急需解决的技术问题。
发明内容
本发明的目的是为了解决现有技术中Redis管道技术难以满足多模块处理的缺陷,提供一种用于理财资产管理系统的Redis管道通信方法来解决上述问题。
为了实现上述目的,本发明的技术方案如下:
一种用于理财资产管理系统的Redis管道通信方法,包括应用端、服务器,应用端与服务器通过Redis管道技术进行通信,Redis管道通信方法包括以下步骤:
应用端进行数据请求:应用端根据数据请求需要,采用异步方式或分步方式进行请求预置,生成管道命令;
应用端对Redis服务器发送管道命令:应用端向Redis服务器发送预生成的管道命令;
Redis服务器对管道命令进行处理:Redis服务器检测管道命令是否接收完整,并进行相应解析处理;
应用端请求数据的返回:服务器对应用端请求数据进行计算处理,并通过Redis管道返回发送给应用端。
所述的应用端进行数据请求包括以下步骤:
应用端获取客户请求,并在Redis服务器上进行注册;
应用端分析客户请求,若为分布式事务,则在Service方法级别上加上dtx注解,并认定为异步处理方式;
应用端将客户请求中的计算式打包为管道命令块,若发现dtx注解,则同步在Redis服务器上创建分布事务组,并将管道命令块存入Redis服务器的分布事务组中;
应用端将管道命令块生成为管道命令。
所述的Redis服务器对管道命令进行处理包括以下步骤:
Redis服务器检测管道命令是否全部接收;
若未全部接收,查看管道命令块中是否包括dtx注解:
若命令块包括dtx注解,则从Redis服务器分布事务组中直接调取管道命令块;
若命令块不包括dtx注解,则对应用端发送数据补偿命令,要求应用端重新发送管道命令;
若Redis服务器全部接收完管道命令,对管道命令进行解析,解析出管道命令块中的计算式;
Redis服务器将计算式发送给服务器进行计算处理。
所述的应用端请求数据的返回包括以下步骤:
服务器对Redis服务器发送的若干个计算式进行计算处理,并将对应的计算结果发送给Redis服务器;
Redis服务器对若干个计算结果进行收集形成计算结果集,并对计算结果集打包处理成管理结果;
Redis服务器将管道结果通过Redis管道返回给应用端。
有益效果
本发明的一种用于理财资产管理系统的Redis管道通信方法,与现有技术相比通过Redis管道对理财资产管理系统中的多个模块进行强一致性分布式事务处理,使得在利用Redis管道技术时也能够适应多模块不同事务处理方法。
本发明可实现各个微服务事务的强一致性,无需事后数据补偿,进而避免用户因事后数据补偿的不同导致实施周期和费用增长,可提升用户使用产品时的数据调度、运算速度。同时,本发明在实际应用中可基于Spring TX-LCN框架进行二次封装,对本地事务进行协调控制;可在调取多个微服务进行数据编辑时,实现各微服务的事务控制统一(事务组内任一事务发生误差时,全部事务均可回滚)。
附图说明
图1为本发明的方法顺序图。
具体实施方式
为使对本发明的结构特征及所达成的功效有更进一步的了解与认识,用以较佳的实施例及附图配合详细的说明,说明如下:
理财资产管理系统包括应用端和服务器,应用端与服务器通过Redis管道技术进行通信。在此,禁止接口相关服务加入分布式事务,通过采取异步的方式调用。从时间效率上来讲,分布式事务的timeout时间一般设置为30秒(可配置),同时对于接口之类受制于对方系统的逻辑也不允许加入分布式事务,交易发送失败之类的采取数据补偿(交易重发等功能)来处理。因此,在前台及后台服务启动后,设计注册到分布式事务的服务器。
同时,当需要做分布式事务的时候,通过在Service方法级别加规定的dtx注解。同时,在遇到加了dtx注解的方法执行时,在REDIS服务器上创建事务组,将该前台调用的所有同步处理的后台的事务都加入事务组中,一旦中间任何一个事务处理失败就会全部回滚,从而保证数据的一致性,以此形成分布式事务依赖REDIS服务器,分布式事务的事务组及事务组里面的各个事务信息及绑定信息全部存储在REDIS中,所有注册到分布式事务服务器的微服务信息都被记录在REDIS中。
如图1所示,本发明所述的一种用于理财资产管理系统的Redis管道通信方法包括以下步骤:
第一步,应用端进行数据请求:应用端根据数据请求需要,采用异步方式或分步方式进行请求预置,生成管道命令。其具体步骤如下:
(1)应用端获取客户请求,并在Redis服务器上进行注册。
(2)应用端分析客户请求,若为分布式事务,则在Service方法级别上加上dtx注解,并认定为异步处理方式。
(3)应用端将客户请求中的计算式打包为管道命令块,若发现dtx注解,则同步在Redis服务器上创建分布事务组,并将管道命令块存入Redis服务器的分布事务组中。
(4)应用端将管道命令块生成为管道命令。
第二步,应用端对Redis服务器发送管道命令:应用端向Redis服务器发送预生成的管道命令。
第三步,Redis服务器对管道命令进行处理:Redis服务器检测管道命令是否接收完整,并进行相应解析处理。其具体步骤如下:
(1)Redis服务器检测管道命令是否全部接收;
(2)若未全部接收,查看管道命令块中是否包括dtx注解:
若命令块包括dtx注解,则从Redis服务器分布事务组中直接调取管道命令块;
若命令块不包括dtx注解,则对应用端发送数据补偿命令,要求应用端重新发送管道命令;
(3)若Redis服务器全部接收完管道命令,对管道命令进行解析,解析出管道命令块中的计算式;
(4)Redis服务器将计算式发送给服务器进行计算处理。
第四步,应用端请求数据的返回:服务器对应用端请求数据进行计算处理,并通过Redis管道返回发送给应用端。其具体步骤如下:
(1)服务器对Redis服务器发送的若干个计算式进行计算处理,并将对应的计算结果发送给Redis服务器;
(2)Redis服务器对若干个计算结果进行收集形成计算结果集,并对计算结果集打包处理成管理结果;
(3)Redis服务器将管道结果通过Redis管道返回给应用端。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。
Claims (2)
1.一种用于理财资产管理系统的Redis管道通信方法,包括应用端、服务器,应用端与服务器通过Redis管道技术进行通信,其特征在于,Redis管道通信方法包括以下步骤:
11)应用端进行数据请求:应用端根据数据请求需要,采用异步方式或分步方式进行请求预置,生成管道命令;所述的应用端进行数据请求包括以下步骤:
111)应用端获取客户请求,并在Redis服务器上进行注册;
112)应用端分析客户请求,若为分布式事务,则在Service方法级别上加上dtx注解,并认定为异步处理方式;
113)应用端将客户请求中的计算式打包为管道命令块,若发现dtx注解,则同步在Redis服务器上创建分布事务组,并将管道命令块存入Redis服务器的分布事务组中;
114)应用端将管道命令块生成为管道命令;
12)应用端对Redis服务器发送管道命令:应用端向Redis服务器发送预生成的管道命令;
13)Redis服务器对管道命令进行处理:Redis服务器检测管道命令是否接收完整,并进行相应解析处理;
所述的Redis服务器对管道命令进行处理包括以下步骤:
131)Redis服务器检测管道命令是否全部接收;
132)若未全部接收,查看管道命令块中是否包括dtx注解:
若管道 命令块包括dtx注解,则从Redis服务器分布事务组中直接调取管道命令块;
若管道 命令块不包括dtx注解,则对应用端发送数据补偿命令,要求应用端重新发送管道命令;
133)若Redis服务器全部接收完管道命令,对管道命令进行解析,解析出管道命令块中的计算式;
134)Redis服务器将计算式发送给服务器进行计算处理;
14)应用端请求数据的返回:服务器对应用端请求数据进行计算处理,并通过Redis管道返回发送给应用端。
2.根据权利要求1所述的一种用于理财资产管理系统的Redis管道通信方法,其特征在于,所述的应用端请求数据的返回包括以下步骤:
21)服务器对Redis服务器发送的若干个计算式进行计算处理,并将对应的计算结果发送给Redis服务器;
22)Redis服务器对若干个计算结果进行收集形成计算结果集,并对计算结果集打包处理成管道结果;
23)Redis服务器将管道结果通过Redis管道返回给应用端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010436956.1A CN111611059B (zh) | 2020-05-21 | 2020-05-21 | 一种用于理财资产管理系统的Redis管道通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010436956.1A CN111611059B (zh) | 2020-05-21 | 2020-05-21 | 一种用于理财资产管理系统的Redis管道通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111611059A CN111611059A (zh) | 2020-09-01 |
CN111611059B true CN111611059B (zh) | 2022-06-17 |
Family
ID=72203622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010436956.1A Active CN111611059B (zh) | 2020-05-21 | 2020-05-21 | 一种用于理财资产管理系统的Redis管道通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111611059B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483285A (zh) * | 2017-08-11 | 2017-12-15 | 北京数码视讯科技股份有限公司 | Rds的接收方法及装置 |
CN108874513A (zh) * | 2017-05-11 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 处理定时任务的方法、系统、电子设备和计算机可读介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200151392A1 (en) * | 2015-10-28 | 2020-05-14 | Qomplx, Inc. | System and method automated analysis of legal documents within and across specific fields |
-
2020
- 2020-05-21 CN CN202010436956.1A patent/CN111611059B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874513A (zh) * | 2017-05-11 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 处理定时任务的方法、系统、电子设备和计算机可读介质 |
CN107483285A (zh) * | 2017-08-11 | 2017-12-15 | 北京数码视讯科技股份有限公司 | Rds的接收方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111611059A (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284197B (zh) | 基于智能合约的分布式应用平台及实现方法 | |
CN111930529B (zh) | 基于消息队列及微服务的数据同步方法、装置及系统 | |
CN110806934A (zh) | 基于rpa技术的智能一体机开发及多业务快速处理方法 | |
CN108512748A (zh) | 一种微服务网关的实现方法 | |
CN103093342A (zh) | 一种联机交易处理平台及其交易处理方法 | |
WO2021088641A1 (zh) | 数据发送方法、处理方法、接收方法及其设备、存储介质 | |
CN111800434A (zh) | 一种多渠道资产对接平台及其工作方法 | |
CN106027534A (zh) | 一种基于Netty实现金融报文处理系统 | |
CN110210845B (zh) | 用于区块链数据迁移的方法、装置、介质和计算设备 | |
CN112288577B (zh) | 分布式服务的交易处理方法、装置、电子设备和介质 | |
CN110287040A (zh) | 一种远程调用服务框架的实现系统 | |
CN111083223A (zh) | 一种用于资产证券化处理子平台的区块链互联系统及其互联数据通信方法 | |
CN102841814B (zh) | 一种硬件资源的共享控制方法、装置及系统 | |
CN111611059B (zh) | 一种用于理财资产管理系统的Redis管道通信方法 | |
CN110083694A (zh) | 一种基于webhook的电网业务集成方法、装置及存储器 | |
CN109670952B (zh) | 一种代收付交易平台 | |
CN115086311B (zh) | 一种基于云服务总线的企业跨系统服务的管理系统 | |
CA2428240A1 (en) | System and method for interfacing a data processing system to a business-to-business integration system | |
CN109492034A (zh) | 批量处理系统、方法、装置和存储介质 | |
CN110428315B (zh) | 汇总核对子系统的异步调用过程中的数据传输方法及装置 | |
CN110428314B (zh) | 用于汇总核对子系统的异步调用方法、装置及电子设备 | |
CN114296985A (zh) | 大规模微服务集群场景下的全局异常处理方法和平台 | |
CN114371935A (zh) | 网关处理方法、网关、设备及介质 | |
CN112994894B (zh) | 基于网关的单线程请求处理方法和信息验证agent | |
CN109885334A (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 |