一种基于区块链的高并发二维撮合矩阵的核心算法制造技术

技术编号:17097132 阅读:163 留言:0更新日期:2018-01-21 08:44
本发明专利技术公开了一种基于区块链的高并发二维撮合矩阵的核心算法,包括以下步骤:S1、订单网关获取买、卖订单,写入订单区块链并压入买、卖订单队列;S2、采用高并发二维撮合矩阵对买、卖订单进行撮合并形成交易队列;S3、将交易队列写入交易区块链。本发明专利技术的有益效果在于,提供一种基于区块链的高并发二维撮合矩阵的核心算法。

【技术实现步骤摘要】
一种基于区块链的高并发二维撮合矩阵的核心算法
本专利技术涉及一种交易撮合系统的核心算法,尤其涉及一种基于区块链的高并发二维撮合矩阵的核心算法。
技术介绍
近年来,随着区块链技术的快速发展,在链上交易处理速度上有了极大的提升,其中以天德链为代表的第三代区块链实测性能已超过万笔每秒。同时,作为交易平台的核心撮合系统也正在从基于数据库的撮合技术迈向基于内存的撮合技术,但也在系统的可靠性、安全性、稳定性、可扩展性、高吞吐、可追溯性及不可篡改性等方面产生了一系列需要亟待解决的问题。
技术实现思路
为了克服上述现有技术的不足,本专利技术提供了一种基于区块链的高并发二维撮合矩阵的核心算法。包括以下步骤:S1、订单网关获取买、卖订单,写入订单区块链并压入买、卖订单队列;S2、采用高并发二维撮合矩阵对买、卖订单进行撮合并形成交易队列;S3、将交易队列写入交易区块链。步骤S1是从订单网关获取买、卖订单,写入订单区块链并压入买、卖订单队列。具体包括以下步骤:S11:订单网关获取买、卖订单。(可选步骤:通过加解密、签名验签,校验等步骤将订单清洗过滤);S12:将S11中所获取的买、卖订单分别写入买订单链和卖订单链;S13:从买订单链和卖订单链中取出S12步骤中的买、卖订单并压入买、卖订单队列。(可选步骤:将S11中所获取的买、卖订单压入买、卖订单队列。)步骤S2是采用高并发二维撮合矩阵对买、卖订单进行撮合并形成交易队列,遵循的撮合原则是价格优先,同价格则时间优先。具体包括以下4种撮合方式及其组合方式:S21:单机多线程并发撮合订单;S22:单机多进程并发撮合订单;S23:单机多线程+多进程并发撮合订单;S24:多机多线程+多进程并发撮合订单;将S21、S22、S23、S24撮合形成的交易压入交易队列。步骤S3是将交易队列写入交易区块链,具体包括的步骤为:S31:从交易队列中取出撮合成功的交易;S32:将S31中取出的交易写入交易链。其中在步骤S1中压入买、卖订单队列的数据不局限于某一种具体数据源,可以来自于买、卖订单链或直接来自于订单网关。步骤S1、S3中涉及的区块链技术也不局限于某一种区块链的具体实现。步骤S2中的二维撮合矩阵是一种线性可扩展的撮合引擎其组成包括买入订单同价队列,卖出订单同价队列,买入订单价格降序集合,卖出订单价格升序集合。本专利技术具有以下优点和有益效果:本专利技术提供一种基于区块链的高并发二维撮合矩阵的核心算法,这种基于区块链的高并发二维撮合矩阵可以为交易平台提供一套安全、可靠、可扩展、可追溯、高吞吐和不可篡改等特性的撮合引擎。附图说明图1为实施例1中基于区块链的高并发二维撮合矩阵的核心算法流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本实施例的附图中相同或相似的标号对应相同或相似的部件;在本专利技术的描述中,需要说明的是,除非另有说明,“多个”的含义是两个或两个以上;术语“上”、“下”、“左”、“右”、“内”、“外”、“前端”、“后端”、“头部”、“尾部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本专利技术的描述中,还需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是硬连接,也可以是软连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可视具体情况理解上述术语在本专利技术中的具体含义。下面结合附图1对本专利技术的实施例1进一步说明。如附图1所示:本专利技术选取具有代表性的基于天德区块链的高并发二维撮合矩阵为典型实施例1,包括以下步骤:S1、订单网关获取买、卖订单,写入订单区块链并压入买、卖订单队列;S2、采用高并发二维撮合矩阵对买、卖订单进行撮合并形成交易队列;S3、将交易队列写入交易区块链。步骤S1是从订单网关获取买、卖订单,写入订单区块链并压入买、卖订单队列。具体包括以下步骤:S11:订单网关获取买、卖订单。(可选步骤:通过加解密、签名验签,校验等步骤将订单清洗过滤);S12:将S11中所获取的买、卖订单分别写入买订单链和卖订单链;S13:从买订单链和卖订单链中取出S12步骤中的买、卖订单并压入买、卖订单队列。(可选步骤:将S11中所获取的买、卖订单压入买、卖订单队列。)需要自动注册资产索引表,以及构建用于存储买、卖订单报价索引的排序集合和存储同价位按FIFO排列的买、卖订单队列,即组成买卖订单的二维撮合矩阵。步骤S2是采用高并发二维撮合矩阵对买、卖订单进行撮合并形成交易队列,遵循的撮合原则是价格优先,同价格则时间优先。最新成交价采用三价撮合,即同一资产的上一次成交价、本轮买家最高价及本轮卖家最低价进行排序取中间价位为本轮最新成交价。针对买、卖方委单量拆分的订单,需要将二次及多次拆分后的买、卖订单分别写入订单列表头部。二维撮合矩阵的组成,如附图1所示包括买入订单同价队列、卖出订单同价队列、买入订单价格降序集合、卖出订单价格升序集合,以及包括M1,M2,M3…为标识的可线性扩展的撮合引擎。包括以下4种撮合方式及其组合方式:S21:单机多线程并发撮合订单;S22:单机多进程并发撮合订单;S23:单机多线程+多进程并发撮合订单;S24:多机多线程+多进程并发撮合订单;将S21、S22、S23、S24撮合形成的交易压入交易队列。步骤S3是将交易队列写入交易区块链,具体包括的步骤为:S31:从交易队列中取出撮合成功的交易;S32:将S31中取出的交易写入交易链。其中在步骤S1中压入买、卖订单队列的数据来自于买、卖订单链或直接来自于订单网关。本实施例1中的步骤S1、S3涉及的区块链技术采用天德链,但需要说明的是该算法不局限于某一种区块链的具体实现。最后说明的是:以上所述的实施例1仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本专利技术的保护范围之内。本文档来自技高网...
一种基于区块链的高并发二维撮合矩阵的核心算法

【技术保护点】
一种基于区块链的高并发二维撮合矩阵的核心算法,其特征在于包括以下步骤:S1、订单网关获取买、卖订单,写入订单区块链并压入买、卖订单队列;S2、采用高并发二维撮合矩阵对买、卖订单进行撮合并形成交易队列;S3、将交易队列写入交易区块链。

【技术特征摘要】
1.一种基于区块链的高并发二维撮合矩阵的核心算法,其特征在于包括以下步骤:S1、订单网关获取买、卖订单,写入订单区块链并压入买、卖订单队列;S2、采用高并发二维撮合矩阵对买、卖订单进行撮合并形成交易队列;S3、将交易队列写入交易区块链。2.根据权利要求1所述的基于区块链的高并发二维撮合矩阵的核心算法,其特征在于:所述步骤S1中从订单网关获取买、卖订单,写入订单区块链并压入买、卖订单队列。具体包括以下步骤:S11:订单网关获取买、卖订单。(包括可选步骤:通过加解密、签名验签,校验等步骤将订单清洗过滤);S12:将S11中所获取的买、卖订单分别写入买订单链和卖订单链;S13:从买订单链和卖订单链中取出S12步骤中的买、卖订单并压入买、卖订单队列。(包括可选步骤:将S11中所获取的买、卖订单压入买、卖订单队列)。3.根据权利要求1所述的基于区块链的高并发二维撮合矩阵的核心算法,其特征在于:所述步骤S2采用高并发二维撮合矩阵对买、卖订单进行撮合并形成交易队列,遵循的撮合原则是价格优先,同价格则时间优先,具体包括的步骤为:S21:单机多线程并发撮合订单;S22:单机多进程并发撮合订单;S23...

【专利技术属性】
技术研发人员:邓恩艳蔡维德
申请(专利权)人:北京天德科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1