手机浏览器扫描二维码访问
电子撮合系统是典型的高性能场景下的信息化系统,研发的核心难点集中在算法设计、系统架构、数据一致性等多个关键方面。
当下,鹏交所每日成交订单仅一百多笔,可随着上市公司数量的增多以及股民和机构投资者不断涌入,订单量定会呈爆发式增长。
他清楚地记得,前世鹏交所在电子撮合系统上线当年,日均订单量就飙升至五千笔,1998
年首批基金公司进场后,更是迅猛增长到日均十万笔。而到了后来全民炒股的
21
世纪
20
年代,每日订单量竟高达三到五亿笔。
依据这些经验,秦奕将如今设计的这个电子撮合系统峰值处理能力定在每秒五百笔,他预计这个系统在未来五年内应该能稳定运行,不会出现大问题。
为实现电子撮合算法,团队首先得设计一个适合动态插入、撤单且能动态排序的数据结构。
堆、跳表、红黑树这两类高效数据结构及相关算法已被完整提出,秦奕无需给团队详细介绍其中的算法设计,只需把去年出版的那本《算法导论》拿给负责算法设计的团队成员研读即可。
数据结构之外,由于撮合系统会同时接收不同营业部发来的订单信息,必然涉及多线程处理。
在多线程环境下,订单的插入、撤单和撮合操作,都要保证数据一致性,而要让性能不被这一致性要求拖累,就必须采用优化的乐观锁机制。
秦奕召集团队成员,详细讲解了这一机制的要点,成员们认真记录,不时提出疑问,大家围绕着技术难题展开热烈讨论。
系统可靠性与容错同样是巨大挑战。为保证交易不间断运行,避免宕机或数据丢失,交易数据需实时落盘。但以现有的技术条件,频繁的
io
操作严重拖累性能,团队需要设计轻量级的预写日志结构。
团队成员们围坐在会议桌前,对着电脑上的数据和设计图纸,反复探讨如何优化,有人提出一种思路,马上就有人从不同角度分析其可行性与不足。
此外,系统崩溃后,要快速重建内存中的订单簿和账户状态,可当下缺乏高效的快照机制,恢复时间难以把控。团队成员只能不断摸索,尝试不同的方法,在实验室里模拟系统崩溃场景,一次次记录数据恢复时间,调整参数,只为找到最佳解决方案。
在实时风控规则集成方面,要在撮合过程中嵌入风控逻辑,且保证风控检查在毫秒级内完成。
但目前没有现成且方便合适的规则引擎,所以团队又得开发一个类似的库,确保风控逻辑一旦需要修改,无需停机重编译,毕竟一旦撮合系统停机就可能给证券交易所带来巨大的损失。
秦奕和团队里负责这块的成员一起,查阅大量资料,参考国内外相关案例,一点点搭建框架,编写代码。
在网络通信与协议设计上,为高效传输订单和行情数据,像是
http
这类用于传输文本的常规可读性协议是无法满足需求的,团队需自定义二进制协议,减少传输开销。
好在秦奕前世就了解过不少
protobuffer
和
认亲侯府被替嫁,玄学祖宗闹翻天 大日合欢吞天诀 最强渔夫:海岛奶爸 明月依旧照山河 综漫:从鬼灭开始俘获女神 本是无情人,怎奈有情生? 师妹万万不可 认鬼做母:他真不按套路出牌 为民亮剑 洪荒:九叶剑草到鸿蒙灵根 剑仙李白之异界问道录 阿斌历险记 转生:逐步登顶成为蛇神 又是一年三月三 这天下第一宗有我,是灭定了! 夫人逃婚后,少帅追妻不装了! 重生83:从赶山开始发家致富 暴君的第一女相师皇后 旷世邪尊 禅宗小子
...
...
...
...
一朝重生,亲爹从军阵亡,亲娘病死,留下体弱的弟弟和青砖瓦房几间。无奈家有极品亲戚,占了我家房还想害我姐弟性命!幸得好心夫妻垂帘,才有这安稳日子过。偶然山中救得老道一位,得其倾囊相授修得一身好武艺。骤闻亲爹消息,变身潇洒少年郎,入了天下闻名的孟家军,立军功当将军,可是那个总阴魂不散的小王爷是要搞哪样?虾米?威胁我?...
男人一辈子最值得骄傲的事里包括服一次役,当一回特种兵,和世界上最强的军人交手。还有,为自己的祖国奉献一次青春,为这片热土上的人民拼一次命。这些,庄严都做到了。(此书致敬每一位曾为国家奉献过青春,流过血洒过汗的共和国军人!读者群号764555748)...