CN110955509A - 一种金融并发交易处理装置 - Google Patents
一种金融并发交易处理装置 Download PDFInfo
- Publication number
- CN110955509A CN110955509A CN201911263112.5A CN201911263112A CN110955509A CN 110955509 A CN110955509 A CN 110955509A CN 201911263112 A CN201911263112 A CN 201911263112A CN 110955509 A CN110955509 A CN 110955509A
- Authority
- CN
- China
- Prior art keywords
- transaction
- data
- service
- node
- management node
- 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.)
- Pending
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Abstract
本发明涉及金融技术领域,且公开了一种金融并发交易处理装置,包括以下步骤,S1:首先,接收请求生成序号,接收所有客户端发送的数据,针对每一个数据进行顺序自增处理,也就是说系统中所有的业务数据都是单调递增的,此逻辑用于整个系统的业务逻辑校,S2:根据S1中得到的数据,进行拆分事务,事务管理节点和计算节点程序逻辑上没有任何分别,只有逻辑上的区分。本发明的有益效果是:将原子性的交易、风控逻辑换算为不同的计算单元,由不同的服务或者机器进行计算,极大的提升了系统的并发处理能力,通过节点间顺序自增互查保证了业务数据的完整、可靠、有序,通过事务管理节点进行统一的事务处理,保证了事务一致性。
Description
技术领域
本发明涉及金融技术领域,具体为一种金融并发交易处理装置。
背景技术
互联网系统往往面向的是千万级、亿级别的海量用户,用户与用户之间耦合度相对比较低,天然的可以采用标准的互联网架构进行分布式业务数据处理,资产管理业务交易系统与互联网系统不同,由于风控、管理等需求,数据天然的就有集中化的趋势,资产管理业务交易系统的特点往往是使用的用户数不多,但是对数据的时效性、准确性要求高,数据之间由于风险控制以及监管合规等要求,耦合程度非常高,所以第一代交易系统基本上都会基于oracle/SQLServer等关系型数据库系统。
现有技术,针对处理方案一,目前各大交易系统服务供应商已经基本上在逐步淘汰或者进行技术升级,由于完全依赖于关系型数据库,当系统容量到达某一个上限时,数据库就会变成整个交易系统的核心瓶颈,导致系统卡顿、业务操作变慢等一系列问题。
方案二目前主要是新系统设计的主流方案,由于内存操作速度远远快于硬盘IO,内存交易系统在大部分场景下基本上能满足现有需求,而基于微服务架构的内存交易系统存在的一个很大的问题是,由于微服务架构在设计上会将功能进行拆分,例如将风控、指令、交易等功能进行拆分,将不同的业务功能分拆到不同的服务以达到简化开发提升整体系统的处理能力的目的。
本装置借鉴了互联网大数据并发处理方式,大数据方案能够解决海量数据并发的问题,但是由于大数据系统普遍重并发不重事务,而在交易处理中,事务可靠性比并发更重要,交易系统中不允许出现因为并发引发的透资透券的问题。
因此本装置在并发节点之外,增加了一个业务逻辑处理节点,业务逻辑处理将大的事务拆分为多个小事务分散到计算节点,计算节点完成大量的计算之后,由业务处理节点进行统一处理,通过将计算量分散到计算节点的方式,以得到系统整体处理性能的提升。
发明内容
为实现上述增加了一个业务逻辑处理节点,业务逻辑处理将大的事务拆分为多个小事务分散到计算节点,计算节点完成大量的计算之后,由业务处理节点进行统一处理,通过将计算量分散到计算节点的方式,以得到系统整体处理性能的提升的目的,本发明提供如下技术方案:一种金融并发交易处理装置,包括以下步骤:
S1:首先,接收请求生成序号,接收所有客户端发送的数据,针对每一个数据进行顺序自增处理,也就是说系统中所有的业务数据都是单调递增的,此逻辑用于整个系统的业务逻辑校;
S2:根据S1中得到的数据,进行拆分事务,事务管理节点和计算节点程序逻辑上没有任何分别,只有逻辑上的区分,通过一模一样的程序,系统可以方便的对业务进行拆分和组合,例如典型的风控计算,一次风控一般由N个小风控组成,事务管理节点根据计算节点个数进行分组,将计算根据计算节点编号取余分发给各个计算节点,然后等待计算节点应答;
S3:根据S2中系统会判断请求是否收全,事务管理节点里面包含一个业务闸,所有的计算节点返回的业务报文必须全部返回才能触发下一步计算,也就是说整个系统的计算效率取决于最慢的一条计算而不是原先的所有的计算;
S5:根据S4中的反馈结果事务完成,然后广播事务结果;
S6:根据S5中广播的事务结果,然后接收事务广播;
S7:根据S6中接收的事务广播,系统会判断是否事务序号大于当前序号,如果“是”,则判断为已处理事务,丢弃,如果“否”,则接收事务请求;
S8:根据S7中接收到的事务请求,系统会判断是否事务序号大于业务序号,如果“是”,则向业务节点请求差额数据,如果“否”,则处理事务请求。
本发明的有益效果是:
1.将原子性的交易、风控逻辑换算为不同的计算单元,由不同的服务或者机器进行计算,极大的提升了系统的并发处理能力。
2.通过节点间顺序自增互查保证了业务数据的完整、可靠、有序。
3.通过事务管理节点进行统一的事务处理,保证了事务一致性。
作为优化,所述本发明采用组播技术进行数据全量分发,将算力分散到各个节点的方式进行,也就是说所有的业务节点存储了完整的业务数据,每个业务节点都能承担整个系统的完整工作,但是每个业务节点又认为的只承担一部分工作,通过此种方式解决资管业务交易系统中数据依赖于某个独立节点的问题,之前提到资管系统数据实际上是一个大集中的业务系统,数据分散必然带来数据无法集中的问题,下面主要针对分散服务情况下系统整体数据协作。
作为优化,所述系统分为事务管理节点、事务管理功能以及计算节点功能三大模块。
作为优化,所述事务管理节点作为整个装置的核心,事务管理节点负责以下几件事情:接收所有客户端发送的数据,针对每一个数据进行顺序自增处理,也就是说系统中所有的业务数据都是单调递增的,此逻辑用于整个系统的业务逻辑校验;事务管理节点负责将每一条数据广播发送到计算节点;对于失败的记录,事务管理节点负责产生一条新的业务数据广播给所有的业务节点通知各个节点对业务数据进行回退操作以保证业务数据准确性;事务管理节点和计算节点程序逻辑上没有任何分别,只有逻辑上的区分,通过一模一样的程序,系统可以方便的对业务进行拆分和组合。
作为优化,所述事务管理功能是指事务管理节点负责对业务计算进行业务拆分,例如典型的风控计算,一次风控一般由N个小风控组成,事务管理节点根据计算节点个数进行分组,将计算根据计算节点编号取余分发给各个计算节点;事务管理节点里面包含一个业务闸,所有的计算节点返回的业务报文必须全部返回才能触发下一步计算,也就是说整个系统的计算效率取决于最慢的一条计算而不是原先的所有的计算;对于失败的业务记录,由事务管理节点产生回滚记录,广播发送出去;事务管理节点的所有业务数据均单调递增,计算节点以单调递增判断业务数据是否完整;事务管理节点接收到每个计算节点的数据同样单调递增,用于计算节点判断业务计算是否完整;事务管理节点将计算节点计算的结果进行汇总,形成结果反馈到前端系统,事务管理节点不涉及密集业务计算。
作为优化,所述计算节点功能是指接收事务管理节点的业务数据以及业务计算请求,通过顺序检查数据是否完整;返回计算结果,保证顺序单调递增;当顺序不完整时,向事务管理节点补齐缺少的数据以保证数据的完整性。
附图说明
图1为本发明系统整体数据协作示意图;
图2为本发明系统结操作流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-2,一种金融并发交易处理装置,包括以下步骤:
S1:首先,接收请求生成序号,接收所有客户端发送的数据,针对每一个数据进行顺序自增处理,也就是说系统中所有的业务数据都是单调递增的,此逻辑用于整个系统的业务逻辑校。
S2:根据S1中得到的数据,进行拆分事务,事务管理节点和计算节点程序逻辑上没有任何分别,只有逻辑上的区分,通过一模一样的程序,系统可以方便的对业务进行拆分和组合,例如典型的风控计算,一次风控一般由N个小风控组成,事务管理节点根据计算节点个数进行分组,将计算根据计算节点编号取余分发给各个计算节点,然后等待计算节点应答,事务管理节点作为整个装置的核心,事务管理节点负责以下几件事情:接收所有客户端发送的数据,针对每一个数据进行顺序自增处理,也就是说系统中所有的业务数据都是单调递增的,此逻辑用于整个系统的业务逻辑校验。
S3:根据S2中系统会判断请求是否收全,事务管理节点里面包含一个业务闸,所有的计算节点返回的业务报文必须全部返回才能触发下一步计算,也就是说整个系统的计算效率取决于最慢的一条计算而不是原先的所有的计算,对于失败的业务记录,由事务管理节点产生回滚记录,广播发送出去。
S5:根据S4中的反馈结果事务完成,然后广播事务结果,事务管理节点的所有业务数据均单调递增,计算节点以单调递增判断业务数据是否完整,事务管理节点接收到每个计算节点的数据同样单调递增;用于计算节点判断业务计算是否完整;事务管理节点将计算节点计算的结果进行汇总,形成结果反馈到前端系统,事务管理节点不涉及密集业务计算。
S6:根据S5中广播的事务结果,然后接收事务广播,计算节点功能是指接收事务管理节点的业务数据以及业务计算请求,通过顺序检查数据是否完整;返回计算结果,保证顺序单调递增;当顺序不完整时,向事务管理节点补齐缺少的数据以保证数据的完整性。
S7:根据S6中接收的事务广播,系统会判断是否事务序号大于当前序号,如果“是”,则判断为已处理事务,丢弃,如果“否”,则接收事务请求。
S8:根据S7中接收到的事务请求,系统会判断是否事务序号大于业务序号,如果“是”,则向业务节点请求差额数据,如果“否”,则处理事务请求。
在使用时,接收所有客户端发送的数据,针对每一个数据进行顺序自增处理,也就是说系统中所有的业务数据都是单调递增的,此逻辑用于整个系统的业务逻辑校验,事务管理节点负责将每一条数据广播发送到计算节点,对于失败的记录,事务管理节点负责产生一条新的业务数据广播给所有的业务节点通知各个节点对业务数据进行回退操作以保证业务数据准确性,事务管理节点和计算节点程序逻辑上没有任何分别,只有逻辑上的区分。通过一模一样的程序,系统可以方便的对业务进行拆分和组合;事务管理节点负责对业务计算进行业务拆分,例如典型的风控计算,一次风控一般由N个小风控组成,事务管理节点根据计算节点个数进行分组,将计算根据计算节点编号取余分发给各个计算节点,事务管理节点里面包含一个业务闸,所有的计算节点返回的业务报文必须全部返回才能触发下一步计算,也就是说整个系统的计算效率取决于最慢的一条计算而不是原先的所有的计算,对于失败的业务记录,由事务管理节点产生回滚记录,广播发送出去,事务管理节点的所有业务数据均单调递增,计算节点以单调递增判断业务数据是否完整,事务管理节点接收到每个计算节点的数据同样单调递增,用于计算节点判断业务计算是否完整,事务管理节点将计算节点计算的结果进行汇总,形成结果反馈到前端系统,事务管理节点不涉及密集业务计算;接收事务管理节点的业务数据以及业务计算请求,通过顺序检查数据是否完整,返回计算结果,保证顺序单调递增,当顺序不完整时,向事务管理节点补齐缺少的数据以保证数据的完整性。
以上,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (6)
1.一种金融并发交易处理装置,其特征在于,包括以下步骤:
S1:接收请求生成序号,接收所有客户端发送的数据,针对每一个数据进行顺序自增处理,所有的业务数据都是单调递增的,此逻辑用于整个系统的业务逻辑校;
S2:根据S1中得到的数据,进行拆分事务;
S3:根据S2中系统会判断请求是否收全,事务管理节点里面包含一个业务闸,所有的计算节点返回的业务报文必须全部返回才能触发下一步计算;
S5:根据S4中的反馈结果事务完成,然后广播事务结果;
S6:根据S5中广播的事务结果,然后接收事务广播;
S7:根据S6中接收的事务广播,系统会判断是否事务序号大于当前序号,如果“是”,则判断为已处理事务,丢弃,如果“否”,则接收事务请求;
S8:根据S7中接收到的事务请求,系统会判断是否事务序号大于业务序号,如果“是”,则向业务节点请求差额数据,如果“否”,则处理事务请求。
2.根据权利要求1所述的一种金融并发交易处理装置,其特征在于:所述本发明采用组播技术进行数据全量分发,将算力分散到各个节点的方式进行。
3.根据权利要求1所述的一种金融并发交易处理装置,其特征在于:所述系统分为事务管理节点、事务管理功能以及计算节点功能三大模块。
4.根据权利要求3所述的一种金融并发交易处理装置,其特征在于:所述事务管理节点作为整个装置的核心,事务管理节点负责以下几件事情:接收所有客户端发送的数据,针对每一个数据进行顺序自增处理,事务管理节点负责将每一条数据广播发送到计算节点,对于失败的记录,事务管理节点负责产生一条新的业务数据广播给所有的业务节点通知各个节点对业务数据进行回退操作以保证业务数据准确性;事务管理节点和计算节点程序逻辑上没有任何分别。
5.根据权利要求3所述的一种金融并发交易处理装置,其特征在于:所述事务管理功能是指事务管理节点负责对业务计算进行业务拆分。
6.根据权利要求1所述的一种金融并发交易处理装置,其特征在于:所述计算节点功能是指接收事务管理节点的业务数据以及业务计算请求,通过顺序检查数据是否完整;返回计算结果,保证顺序单调递增;当顺序不完整时,向事务管理节点补齐缺少的数据以保证数据的完整性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911263112.5A CN110955509A (zh) | 2019-12-11 | 2019-12-11 | 一种金融并发交易处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911263112.5A CN110955509A (zh) | 2019-12-11 | 2019-12-11 | 一种金融并发交易处理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110955509A true CN110955509A (zh) | 2020-04-03 |
Family
ID=69980730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911263112.5A Pending CN110955509A (zh) | 2019-12-11 | 2019-12-11 | 一种金融并发交易处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110955509A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559375A (zh) * | 2020-12-23 | 2021-03-26 | 深圳迅策科技有限公司 | 一种使用多个不同浏览器并行自动化测试的方法 |
CN112559375B (zh) * | 2020-12-23 | 2024-05-10 | 深圳迅策科技有限公司 | 一种使用多个不同浏览器并行自动化测试的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634411A (zh) * | 2013-12-16 | 2014-03-12 | 上海证券交易所 | 一种具有状态一致性的市场数据实时广播系统及方法 |
CN103647834A (zh) * | 2013-12-16 | 2014-03-19 | 上海证券交易所 | 一种用于处理多阶段分布式任务调度的系统及方法 |
CN104951306A (zh) * | 2015-06-17 | 2015-09-30 | 深圳市腾讯计算机系统有限公司 | 基于实时计算框架的数据处理方法和系统 |
JP2017091027A (ja) * | 2015-11-05 | 2017-05-25 | 株式会社日立製作所 | システム開発支援システム |
CN110348242A (zh) * | 2017-06-12 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 业务请求处理方法及装置 |
CN110557399A (zh) * | 2019-09-12 | 2019-12-10 | 苏州浪潮智能科技有限公司 | 管理数据同步方法、装置、存储设备及可读存储介质 |
-
2019
- 2019-12-11 CN CN201911263112.5A patent/CN110955509A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634411A (zh) * | 2013-12-16 | 2014-03-12 | 上海证券交易所 | 一种具有状态一致性的市场数据实时广播系统及方法 |
CN103647834A (zh) * | 2013-12-16 | 2014-03-19 | 上海证券交易所 | 一种用于处理多阶段分布式任务调度的系统及方法 |
CN104951306A (zh) * | 2015-06-17 | 2015-09-30 | 深圳市腾讯计算机系统有限公司 | 基于实时计算框架的数据处理方法和系统 |
JP2017091027A (ja) * | 2015-11-05 | 2017-05-25 | 株式会社日立製作所 | システム開発支援システム |
CN110348242A (zh) * | 2017-06-12 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 业务请求处理方法及装置 |
CN110557399A (zh) * | 2019-09-12 | 2019-12-10 | 苏州浪潮智能科技有限公司 | 管理数据同步方法、装置、存储设备及可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559375A (zh) * | 2020-12-23 | 2021-03-26 | 深圳迅策科技有限公司 | 一种使用多个不同浏览器并行自动化测试的方法 |
CN112559375B (zh) * | 2020-12-23 | 2024-05-10 | 深圳迅策科技有限公司 | 一种使用多个不同浏览器并行自动化测试的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Androulaki et al. | Hyperledger fabric: a distributed operating system for permissioned blockchains | |
US9973558B2 (en) | Distributed streaming platform for real-time applications | |
US9679016B1 (en) | Checkpointing in distributed streaming platform for real-time applications | |
CA3061603A1 (en) | System and method for storing contract data structures on permissioned distributed ledgers | |
CN112073269B (zh) | 区块链网络测试方法、装置、服务器及存储介质 | |
CN105988862B (zh) | 分布式事务处理方法及装置 | |
US10019308B1 (en) | Disaster-proof event data processing | |
CN113157710B (zh) | 区块链数据并行写入方法、装置、计算机设备及存储介质 | |
JP2021501400A6 (ja) | コンピュータクラスタインターフェースを管理すること | |
CN114157672B (zh) | 一种基于pbft的s-pbft简化共识协议运行及并行优化方法 | |
CN103455633A (zh) | 一种海量网络发票明细数据分布式分析方法 | |
Yang et al. | The RADStack: Open source lambda architecture for interactive analytics | |
CN109165084A (zh) | 基于状态流的分布式事务管理方法 | |
Fang et al. | Integrating workload balancing and fault tolerance in distributed stream processing system | |
CN104281636A (zh) | 海量报表数据并发分布式处理方法 | |
CN110955509A (zh) | 一种金融并发交易处理装置 | |
WO2023179056A1 (zh) | 区块链网络的共识处理方法、装置、设备及存储介质、程序产品 | |
CN115643271A (zh) | 一种云上多应用数据同步方法、装置、服务器及介质 | |
CN113364806B (zh) | 一种服务接口迁移的校验方法及装置 | |
CN111401837B (zh) | 事件处理方法和系统、计算机可读存储介质 | |
de Camargo et al. | A consensus-based fault-tolerant event logger for high performance applications | |
Alqahtani et al. | BunchBFT: Across-Cluster Consensus Protocol | |
Duan | In Search of a Scalable Geo-Distributed Consensus Protocol | |
US20230153305A1 (en) | Method and system for high-throughput distributed computing of computational jobs | |
Zheng et al. | Algorithm Study of Blockchain Technology in Engineering Settlement Scenario |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200403 |