论文部分内容阅读
随着深交所第五代行情系统的推出,市场上存在的行情数据源种类更加丰富,但是多种类行情数据并存的现状,给行情系统管理人员带来了极大的运维难度。同时新版本行情系统的接入工作也需要尽快完成。本文研究与实现了通用行情网关系统,既可以满足新一代行情系统的接入、转发需求,也可以无差别的适用于原有的行情数据源。为了实现系统的灵活拓展,系统采用了基于微内核的微服务架构,将不同的行情数据转发任务实现为不同的微服务模块,方便对今后可能出现的行情协议修订做出及时响应。行情数据作为实时数据,对系统性能要求极高。本文首先分析了系统中可能存在性能瓶颈的关键路径,在此基础上,考虑到行情数据高流量的特性,设计并实现了高效的多级变长对象池算法,针对不同大小的行情数据包,分配合适的缓存消息对象,从系统内存占用、内存分配和回收等几个方面提高了系统性能,有效管理了消息对象的生命周期。对于系统的并发处理,提出了基于actor并发模型的异步线程组织架构,设计并实现了适用于单生产者-单消费者模式的无锁队列,帮助系统内部消息的高效流转,从设计层面解决了多线程同步问题,减少了锁机制带来的线程上下文切换开销,并且降低了多线程系统的开发难度。另外为了解决行情数据在低带宽线路上的传输问题,设计并实现了基于FAST协议的细粒度增量压缩算法,利用行情快照数据的序列性,定义消息字段的编码操作语义,利用PMAP机制和整数变长压缩编码,在保证系统处理延时的基础上,获得了接近15:1的数据压缩比。考虑到行情用户网络拓扑的异构性和行情传输类型的多样化,通用行情网关系统提供了基于TCP协议和可靠组播协议的传输服务。本文按照不同网络传输服务,详细分析与设计了针对各类行情数据源的接收服务、发布服务和级联服务,最大程度的满足用户行情转发和系统部署的个性化需求。最后本文介绍了系统管理界面和监控界面的详细设计,并对系统进行了完整的测试,给出了具体的验证结论和性能指标结果。