[发明专利]一种实时行情处理方法及系统在审
申请号: | 202111501145.6 | 申请日: | 2021-12-09 |
公开(公告)号: | CN114327936A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 王伏根 | 申请(专利权)人: | 盈立数智科技(深圳)有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F11/07 |
代理公司: | 深圳市深可信专利代理有限公司 44599 | 代理人: | 丘杰昌 |
地址: | 518000 广东省深圳市南山区粤海街*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实时 行情 处理 方法 系统 | ||
1.一种实时行情处理方法,其特征在于:包括以下的步骤:
S1、多线路多播数据接收线程接收行情数据包,并按行情数据包的接收顺序将行情数据存储在包缓存中;
S2、预处理线程拆分行情数据包,添加至内部缓冲区CirBuf4Msg队列,CirBuf4Msg队列是存储行情消息的循环缓冲区;
S3、实时行情处理线程从CirBuf4Msg消息队列按序列号获取行情数据,进行解码,并消费,完成对行情数据的处理。
2.如权利要求1所述的一种实时行情处理方法,其特征在于:所述行情数据包包括实时行情数据包和快照行情数据包。
3.如权利要求2所述的一种实时行情处理方法,其特征在于:所述步骤S1,包括以下的步骤:
S11、启动多线路多播数据接收线程,多线路多播数据接收线程根据预先设置的通道行情类型及主备线路标记获取对应的多播地址;
S12、在服务器上创建UDP套接字后加入至所述多播地址,等待多播通道推送行情,UDP即无连接通信协议;
S13、多线路多播数据接收线程收到多播通道上的UDP数据包后,根据收到的UDP数据包的长度,从多线路多播数据接收线程内部的包缓存队列CirBuf获取最后一个可用的UDP数据包缓冲区节点,将整个UDP数据包拷贝到分配的存储空间,然后继续等待多播通道的下一个UDP数据包,如此循环往复,CirBuf是存储UDP数据包的循环缓冲区;
S14、将整个包缓存中的数据按照数据包接收顺序存储,供预处理线程使用。
4.如权利要求3所述的一种实时行情处理方法,其特征在于:所述步骤S13中,从多线路多播数据接收线程内部的包缓存队列CirBuf获取最后一个可用的UDP数据包缓冲区节点,将整个UDP数据包拷贝到分配的存储空间,包括以下的步骤:
S131、预先分配若干个缓冲区节点,并将所有节点添加到CirBuf队列中,缓冲区队列都包含读指针readpos和写指针writepos,写入数据时,写指针writepos依次循环递增,指向下一个可写节点,消费数据时,读指针readpos依次循环递增,指向下一个可读节点;
S132、当readpos=writepos时,表示队列为空,此时等待新的数据包可读,当(writepos+1)取模队列大小等于readpos时,表示队列已满,此时如果收到新的数据包,则自动扩展该缓冲区队列,分配固定大小的缓冲区节点,再将这些新分配的缓冲区节点添加到队列尾部;
S133、调整writepos位置,将UDP数据包写入新的尾部空闲缓冲区。
5.如权利要求4所述的一种实时行情处理方法,其特征在于:所述步骤S2,包括以下的步骤:
S21、预处理线程从所述的包缓存队列CirBuf中按序取出每一个UDP数据包;
S22、将包内的所有消息关联递增的序列号;
S23、根据序列号将该UDP数据包插入至CirBuf4Msg消息队列的指定位置。
6.如权利要求5所述的一种实时行情处理方法,其特征在于:所述步骤S23,根据序列号将UDP数据包插入,是基于线路仲裁算法,该算法包括以下的步骤:
S231、比较当前消息的序列号是否小于CirBuf4Msg中最小的等待消息的序列号,如果是,则丢弃当前消息,如果不是,则根据当前消息的序列号和最小的等待消息的序列号,查找当前消息应该出现在CirBuf4Msg消息队列中的位置;
S232、检查队列中该位置是否已被占用,即该序列号的消息是否已被其它线路写入,如果未被占用,则写入该消息,同时设置已写入标记,如果已被占用,则丢弃该消息;
S233、当新的消息插入至CirBuf4Msg消息队列后,检查该消息的序列号至最小的等待消息的序列号之间的所有消息是否都已经收到,如果是都已经收到,则通过条件变量通知实时行情处理线程,跳转至步骤S3,如果不是,则等待新的数据包到来,使序列号连续后,则通过条件变量通知实时行情处理线程,跳转至步骤S3。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于盈立数智科技(深圳)有限公司,未经盈立数智科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111501145.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智慧交通数据加密方法及系统
- 下一篇:一种智能水表无磁计量滤波方法及设备