Discuss / 编程 / 关于委托单排序和定序系统问题

关于委托单排序和定序系统问题

Topic source

刘离勇

#1 Created at ... [Delete] [Delete and Lock User]

1.定序器 用户添加委托单首先进入定序器按照下单时间进行定序,但有个问题,就是如果用户下的委托单不成交,就会进入买卖盘队列,如果买卖盘队列有两个价格相同时间不同的委托单还需要重新排序么? 2.买卖队列排序问题 因为买卖队列需要按照价格优先时间优先的顺序排序,故少不了排序算法,如果使用平衡树的话那么他的时间复杂度为log(n),假如委托单特别多如5000W(不能成交),这时候用户还在不断的添加委托单,因树的特性就需要排序、旋转性能很是不好,能否有更好的方法可以解决?

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

5000w订单如果一个订单10000块一共就需要冻结5000亿,你想多了,顶多10w单

JDK的TreeMap就足够了。

刘离勇

#3 Created at ... [Delete] [Delete and Lock User]

我现在使用fastutil的rbtree,但是性能还是很慢,我在想否把用户的委托单,打散的多个队列去,目的是降低没有成交的委托单的数量,防止委托单过多导致程序内存不足同时因为每个队列数据少了,那么排序数据就快了,但是有个问题就是委托价格无法拆分,hash、分段都试了,都不行,您有什么好的建议么?还望赐教。

廖雪峰

#4 Created at ... [Delete] [Delete and Lock User]

32G内存可存至少500万单

放在内存中好吗?加入后端的服务是部署在多台服务器上面,那么使用 TreeMap 该如何同步内存呢?


  • 1

Reply