[发明专利]一种多节点撮合订单的方法、系统及设备在审
申请号: | 202210610532.1 | 申请日: | 2022-05-31 |
公开(公告)号: | CN115204965A | 公开(公告)日: | 2022-10-18 |
发明(设计)人: | 徐鸿杰 | 申请(专利权)人: | 杭州隆埠科技有限公司 |
主分类号: | G06Q30/06 | 分类号: | G06Q30/06;G06F16/25;G06F9/54 |
代理公司: | 上海百一领御专利代理事务所(普通合伙) 31243 | 代理人: | 杨颜颜 |
地址: | 310012 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 节点 撮合 订单 方法 系统 设备 | ||
本申请的目的是提供一种多节点撮合订单的方法、系统及设备,本申请通过获取多个待处理订单请求,将多个待处理订单请求转入多个代理服务中,通过所述多个代理服务对所述多个待处理请求进行并行预处理得到多个消息类型的订单;将所有消息类型的订单放入第一流处理消息队列中,将每个第一流处理消息队列中的消息类型的订单发送至多个撮合引擎;通过所述多个撮合引擎对所述消息类型的订单进行撮合处理,得到成交信息,将所述成交信息放入第二流处理消息队列中;将第二流处理消息队列中的成交信息进行去重处理,得到去重后的成交信息,将去重后的成交信息写入数据库,完成订单撮合处理。从而形成多节点热备架构,提高了稳定性和撮合效率。
技术领域
本申请涉及计算机领域,尤其涉及一种多节点撮合订单的方法、系统及设备。
背景技术
订单撮合系统主要是把买卖双方的订单进行撮合,返回相应的成交信息。一般系统订单直接存放在数据库中,撮合系统需要读取数据库的订单进行撮合,一旦有成交,就需要同步计算出订单成交之后的状态,同时写回到数据库中,整个撮合的过程依赖数据库的读取和写入。
在现有技术中,订单撮合系统过度依赖数据库本身,每一次订单的撮合都需要等待数据写回到数据库中,如果不这么做就会导致数据丢失,亦或者在异常关闭之后无法自动恢复到异常前的状态。整体撮合系统的瓶颈是数据库的性能,延迟较大,在订单大量并发的情况下严重加重了延迟的情况。由于买卖订单更新需要放入一个事物中进行,直接加重了数据库的性能瓶颈。
发明内容
本申请的一个目的是提供一种多节点撮合订单的方法、系统及设备,解决现有技术中撮合系统因为数据库等持久化系统的同步写入导致撮合性能直接依赖数据库写入性能、无法单独提升撮合性能的问题。
根据本申请的一个方面,提供了一种多节点撮合订单的方法,该方法包括:
获取多个待处理订单请求,将多个待处理订单请求转入多个代理服务中,通过所述多个代理服务对所述多个待处理请求进行并行预处理得到多个消息类型的订单;
将所有消息类型的订单放入第一流处理消息队列中,将每个第一流处理消息队列中的消息类型的订单发送至多个撮合引擎;
通过所述多个撮合引擎对所述消息类型的订单进行撮合处理,得到成交信息,将所述成交信息放入第二流处理消息队列中;
将第二流处理消息队列中的成交信息进行去重处理,得到去重后的成交信息,将去重后的成交信息写入数据库,完成订单撮合处理。
可选地,所述通过所述多个代理服务对所述多个待处理请求进行并行预处理得到多个消息类型的订单,包括:
获取所有待处理订单的订单参数,通过所述多个代理服务对所述订单参数进行并行校验,得到通过校验的订单;
将通过校验的订单对应的格式转成消息类型,得到消息类型的订单。
可选地,将每个第一流处理消息队列中的消息类型的订单发送至多个撮合引擎,包括:
基于第一流处理消息队列的广播机制将每个第一流处理消息队列中的消息类型的订单发送至多个撮合引擎。
可选地,所述通过所述多个撮合引擎对所述消息类型的订单进行撮合处理,得到成交信息,包括:
使用所述多个撮合引擎匹配所述消息类型的订单,当存在成交的订单时,根据成交的订单对应的信息生成成交信息。
可选地,将第二流处理消息队列中的成交信息进行去重处理,包括:
使用幂等队列对第二流处理消息队列中的成交信息进行去重处理。
可选地,根据成交的订单对应的信息生成成交信息,包括:
根据成交的订单对应的信息生成成交订单唯一标识码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州隆埠科技有限公司,未经杭州隆埠科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210610532.1/2.html,转载请声明来源钻瓜专利网。