交易撮合系统及其链上撮合方法、区块链节点技术方案

技术编号:24710063 阅读:19 留言:0更新日期:2020-07-01 00:17
本申请公开一种交易撮合系统及其链上撮合方法、区块链节点,涉及区块链技术领域,其中,交易撮合系统应用于区块链节点,交易撮合系统包括交易对查询单元、撮合交易收集单元以及若干撮合执行单元:交易对查询单元、撮合交易收集单元与若干撮合执行单元并行执行;交易对查询单元用于查询区块链中的交易对,并将查询到的交易对发送给所有撮合执行单元;撮合执行单元用于抢占交易对查询单元发送的交易对,根据抢占到的交易对生成撮合交易,并向撮合交易收集单元发送撮合交易;撮合交易收集单元用于接收撮合交易,并根据接收到的撮合交易返回交易撮合结果。采用本方明提供的技术方案,能够提高去中心化程度和撮合效率。

【技术实现步骤摘要】
交易撮合系统及其链上撮合方法、区块链节点
本申请涉及区块链
,特别是涉及一种交易撮合系统及其链上撮合方法、区块链节点。
技术介绍
交易撮合引擎(Matching/TradingEngine),即用来撮合交易的软件,其广泛地应用在金融、证券、加密货币交易等领域。传统交易所的交易撮合引擎存在透明度低的问题,而区块链因具有去中心化、不易篡改的特点成为金融、证券、加密货币交易等领域的研究热点。传统的交易所可以24小时不间断的运行撮合交易,然而,区块链中生成撮合交易是以区块为单位的,受出块时间以及gas花费的限制,一个区块可以打包撮合交易的数量是有限的。因此,目前基于区块链的交易撮合引擎是采用链下撮合结合链上结算的方式来处理多个交易对的。而这种方式是由交易所完成撮合交易的,仍然存在透明度低的问题。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提高透明度和撮合效率的交易撮合系统及其链上撮合方法、区块链节点。一种交易撮合系统,该系统应用于区块链节点,所述交易撮合系统包括交易对查询单元、撮合交易收集单元以及若干撮合执行单元:所述交易对查询单元、所述撮合交易收集单元与若干所述撮合执行单元并行执行;所述交易对查询单元用于查询区块链中的交易对,并将查询到的交易对发送给所有所述撮合执行单元;所述撮合执行单元用于抢占所述交易对查询单元发送的交易对,根据抢占到的交易对生成撮合交易,并向所述撮合交易收集单元发送撮合交易;所述撮合交易收集单元用于接收撮合交易,并根据接收到的撮合交易返回交易撮合结果。在其中一个实施例中,所述撮合交易收集单元具体用于判断系统时间是否达到出块截止时间;响应于判定所述系统时间没有达到所述出块截止时间,判断是否接收到撮合交易;响应于判定接收到撮合交易,计算接收到的撮合交易消耗的gas;根据消耗的gas判断剩余gas是否大于或等于预设阈值;响应于判定所述剩余gas大于或等于所述预设阈值,保存所述接收到的撮合交易;以及返回保存的撮合交易。在其中一个实施例中,所述交易对查询单元具体用于响应于查询到交易对,将查询到的交易对发送给所有所述撮合执行单元;响应于没有查询到交易对,向所有所述撮合执行单元发送终止通知;所述撮合执行单元具体用于判断是否收到所述交易对查询单元发送的终止通知;响应于判定没有收到所述交易对查询单元发送的终止通知,获取一个交易对;判断抢占到的交易对是否能撮合一笔交易;响应于判定抢占到的交易对能撮合一笔交易,判断是否收到所述撮合交易收集单元发送的终止通知;响应于判定没有收到所述撮合交易收集单元发送的终止通知,生成撮合交易;以及将生成的撮合交易发送给所述撮合交易收集单元。在其中一个实施例中,所述交易对查询单元还具体用于判断是否收到所述撮合交易收集单元发送的终止通知;响应于判定没有收到所述撮合交易收集单元发送的终止通知,查询交易对;则所述撮合执行单元还具体用于响应于判定收到所述撮合交易收集单元发送的终止通知或判定收到所述交易对查询单元发送的终止通知,向所述撮合交易收集单元发送完成通知;所述撮合交易收集单元还具体用于响应于判定没有接收到撮合交易,判断是否收到任意一个所述撮合执行单元发送的完成通知,以及响应于判定收到任意一个所述撮合执行单元发送的完成通知,判断是否收到所有所述撮合执行单元发送的完成通知;以及响应于判定收到所有所述撮合执行单元发送的完成通知,向所述交易对查询单元和所有所述撮合执行单元发送终止通知,并返回保存的撮合交易。在其中一个实施例中,所述交易对查询单元具体用于响应于判定没有收到所述撮合交易收集单元发送的终止通知,使用迭代器模式查询交易对;和/或,所述撮合执行单元具体用于响应于判定没有收到所述撮合交易收集单元发送的终止通知,使用迭代器模式生成撮合交易。本专利技术还提供一种交易撮合系统的链上撮合方法,该方法应用于区块链节点,该撮合方法包括:交易对查询单元查询区块链中的交易对,并将查询到的交易对发送给若干撮合执行单元;每一个所述撮合执行单元抢占所述交易对查询单元发送的交易对,根据抢占到的交易对生成撮合交易,并向撮合交易收集单元发送撮合交易;撮合交易收集单元接收撮合交易,并根据接收到的撮合交易返回交易撮合结果;所述交易对查询单元、所述撮合交易收集单元与若干所述撮合执行单元为并行执行的运行单元。在其中一个实施例中,所述交易对查询单元查询交易,并将查询到的交易对发送给若干撮合执行单元,包括:判断是否收到所述撮合交易收集单元发送的终止通知;响应于判定没有收到所述撮合交易收集单元发送的终止通知,查询交易对;响应于查询到交易对,将查询到的交易对发送给所有所述撮合执行单元;响应于没有查询到交易对,向若干撮合执行单元发送终止通知;则所述撮合执行单元抢占所述交易对查询单元发送的交易对,根据抢占到的交易对生成撮合交易,并向撮合交易收集单元发送撮合交易,包括:判断是否收到所述交易对查询单元发送的终止通知;响应于判定没有收到所述交易对查询单元发送的终止通知,抢占一个交易对;判断抢占到的交易对是否能撮合一笔交易;响应于判定抢占到的交易对能撮合一笔交易,判断是否收到所述撮合交易收集单元发送的终止通知;响应于判定没有收到所述撮合交易收集单元发送的终止通知,生成撮合交易;将生成的撮合交易发送给所述撮合交易收集单元;则所述撮合交易收集单元接收撮合交易,并根据接收到的撮合交易返回交易撮合结果,包括:判断系统时间是否达到出块截止时间;响应于判定所述系统时间没有达到所述出块截止时间,判断是否接收到撮合交易;响应于判定接收到撮合交易,计算接收到的撮合交易消耗的gas值;根据消耗的gas值判断剩余gas值是否大于或等于预设阈值;响应于判定所述剩余gas值大于或等于所述预设阈值,保存接收到的撮合交易;响应于判定没有接收到撮合交易,判断是否收到任意一个所述撮合执行单元发送的完成通知;响应于判定收到任意一个所述撮合执行单元发送的完成通知,判断是否收到所有所述撮合执行单元发送的完成通知;响应于判定系统时间达到出块截止时间或判定所述剩余gas小于所述预设阈值,向所述交易对查询单元和所有所述撮合执行单元发送终止通知;响应于判定收到所有所述撮合执行单元发送的完成通知,向所述交易对查询单元和所有所述撮合执行单元发送终止通知,并返回保存的撮合交易。在其中一个实施例中,所述响应于判定没有收到所述撮合交易收集单元发送的终止通知,查询交易对,包括:响应于判定没有收到所述撮合交易收集单元发送的终止通知,使用迭代器模式查询交易对。在其中一个实施例中,所述响应于判定没有收到所述撮合交易收集单元发送的终止通知,生成撮合交易,包括:响应于判定没有收到所述撮合交易收集单元发送的终止通知,使用迭代器模式生成撮合交易。本专利技术还提供一种区块链节点,区块本文档来自技高网...

【技术保护点】
1.一种交易撮合系统,其特征在于,应用于区块链节点,所述交易撮合系统包括交易对查询单元、撮合交易收集单元以及若干撮合执行单元:所述交易对查询单元、所述撮合交易收集单元与若干所述撮合执行单元并行执行;/n所述交易对查询单元用于查询区块链中的交易对,并将查询到的交易对发送给所有所述撮合执行单元;/n所述撮合执行单元用于抢占所述交易对查询单元发送的交易对,根据抢占到的交易对生成撮合交易,并向所述撮合交易收集单元发送撮合交易;/n所述撮合交易收集单元用于接收撮合交易,并根据接收到的撮合交易返回交易撮合结果。/n

【技术特征摘要】
1.一种交易撮合系统,其特征在于,应用于区块链节点,所述交易撮合系统包括交易对查询单元、撮合交易收集单元以及若干撮合执行单元:所述交易对查询单元、所述撮合交易收集单元与若干所述撮合执行单元并行执行;
所述交易对查询单元用于查询区块链中的交易对,并将查询到的交易对发送给所有所述撮合执行单元;
所述撮合执行单元用于抢占所述交易对查询单元发送的交易对,根据抢占到的交易对生成撮合交易,并向所述撮合交易收集单元发送撮合交易;
所述撮合交易收集单元用于接收撮合交易,并根据接收到的撮合交易返回交易撮合结果。


2.根据权利要求1所述的交易撮合系统,其特征在于,所述撮合交易收集单元具体用于判断系统时间是否达到出块截止时间;响应于判定所述系统时间没有达到所述出块截止时间,判断是否接收到撮合交易;响应于判定接收到撮合交易,计算接收到的撮合交易消耗的gas;根据消耗的gas判断剩余gas是否大于或等于预设阈值;响应于判定所述剩余gas大于或等于所述预设阈值,保存所述接收到的撮合交易;以及返回保存的撮合交易。


3.根据权利要求2所述的交易撮合系统,其特征在于,所述交易对查询单元具体用于响应于查询到交易对,将查询到的交易对发送给所有所述撮合执行单元;响应于没有查询到交易对,向所有所述撮合执行单元发送终止通知;
所述撮合执行单元具体用于判断是否收到所述交易对查询单元发送的终止通知;响应于判定没有收到所述交易对查询单元发送的终止通知,获取一个交易对;判断抢占到的交易对是否能撮合一笔交易;响应于判定抢占到的交易对能撮合一笔交易,判断是否收到所述撮合交易收集单元发送的终止通知;响应于判定没有收到所述撮合交易收集单元发送的终止通知,生成撮合交易;以及将生成的撮合交易发送给所述撮合交易收集单元。


4.根据权利要求3所述的交易撮合系统,其特征在于,所述交易对查询单元还具体用于判断是否收到所述撮合交易收集单元发送的终止通知;响应于判定没有收到所述撮合交易收集单元发送的终止通知,查询交易对;
则所述撮合执行单元还具体用于响应于判定收到所述撮合交易收集单元发送的终止通知或判定收到所述交易对查询单元发送的终止通知,向所述撮合交易收集单元发送完成通知;
所述撮合交易收集单元还具体用于响应于判定没有接收到撮合交易,判断是否收到任意一个所述撮合执行单元发送的完成通知,以及响应于判定收到任意一个所述撮合执行单元发送的完成通知,判断是否收到所有所述撮合执行单元发送的完成通知;以及响应于判定收到所有所述撮合执行单元发送的完成通知,向所述交易对查询单元和所有所述撮合执行单元发送终止通知,并返回保存的撮合交易。


5.根据权利要求4所述的交易撮合系统,其特征在于,所述交易对查询单元具体用于响应于判定没有收到所述撮合交易收集单元发送的终止通知,使用迭代器模式查询交易对;和/或,所述撮合执行单元具体用于响应于判定没有收到所述撮合交易收集单元发送的终止通知,使用迭代器模式生成撮合交易。


6.一种交易撮合系统的链上撮合方法,其特征在于,应用于区块链节点,交易撮合系统包括交易对查询单元、撮合交易收集单元以及若干撮合执行单元:所述交易对查询单元、所述撮合交易收集单元与若干所述撮合执行单元并行执行;所述撮合方法包括:

【专利技术属性】
技术研发人员:沈敖
申请(专利权)人:杭州时戳信息科技有限公司
类型:发明
国别省市:浙江;33

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

1