买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于MQ和异步IO的数据多级缓存与高速传输记录方法_南京云灿信息科技有限公司_202010868475.8 

申请/专利权人:南京云灿信息科技有限公司

申请日:2020-08-26

公开(公告)日:2024-04-16

公开(公告)号:CN111949422B

主分类号:G06F9/54

分类号:G06F9/54

优先权:

专利状态码:有效-授权

法律状态:2024.04.16#授权;2020.12.04#实质审查的生效;2020.11.17#公开

摘要:本发明提供基于MQ和异步IO的数据多级缓存与高速传输记录方法,本发明利用多级缓存技术和ZeroMQ技术,可以实现高速稳定的网络传输,在传输层面最大限度地利用网络带宽资源。在数据记录层面,一方面通过异步IO进行异步写文件,减少CPU的用户态UserMode和内核态KernelMode的频繁切换,提高数据写入速度;另一方面,通过共用数据接收和异步IO的数据缓存,减少处理过程中的内存拷贝,减少缓存的消耗和提高数据的写入速度。通过传输层面和数据记录层面两方面的优化改善,提高系统整体的传输记录的速度和稳定度。

主权项:1.基于MQ和异步IO的数据多级缓存与高速传输记录方法,该方法适用于整体系统架构中,其特征在于:该整体系统架构由数据发送端和数据接收端和多级缓存组成;所述数据发送端由数据发送接口单元、高速数据发送单元组成;所述数据接收端由高速数据接收单元、异步IO记录单元组成;所述多级缓存包括发送数据缓存的多级缓存和接收数据缓存的多级缓存;所述数据发送端包括三级缓存,且所述三级缓存由发送端一级缓存、发送端二级缓存与发送端三级缓存组成,在数据准备线程和数据发送线程之间通过ZeroMQ的线程间通信模式inproc协议进行通信,且于ZeroMQ的PUSH端和PULL端都设置数据缓存,且该数据缓存发送端一级缓存和发送端二级缓存;在高速数据发送单元将数据向接收方发送时,采用ZeroMQ的TCP协议的DEALER模式进行发送,为了增强数据的传输稳定性,设置发送端缓存,且该发送端缓存为发送端三级缓存;所述数据接收端包括两级缓存,且该所述两级缓存由接收端一级缓存与接收端二级缓存组成,数据通过高速数据接收单元进行接收,采用ZeroMQ的TCP协议的DEALER模式接收数据,通过设置TCP接收缓存,提高数据的稳定性,该所述TCP接收缓存为接收端一级缓存,在高速数据接收单元和异步IO记录单元两个单元间,为了提高性能和降低模块之间的耦合度,设置了记录数据缓存,该记录数据缓存为接收端二级缓存;数据接收处理流程分为两个线程,数据接收线程和数据记录线程,两个线程通过异步IO数据通道进行数据共享,交换数据,数据接收线程不断通过ZeroMQ的TCP协议从数据队列中异步获取数据,写入异步IO数据通道中,数据记录线程从异步IO数据通道中获取数据,通过异步IO技术写入文件,进行数据记录,通过共用数据接收和异步IO的异步IO数据通道中的数据缓存地址,减少处理过程中的内存拷贝,减少缓存的消耗和提高数据的写入速度;该方法包括以下步骤:步骤一、数据接收线程监听发送数据队列,队列中有数据即触发数据接收逻辑处理,详细处理如下:S1:初始化异步IO相关的context,iocb,io_event等相关上下文;S2:初始化用于异步IO通道队列共享用的数据缓存,空闲列表,空闲列表锁,已用列表,列表锁;S3:启动数据记录线程,并同数据记录线程共享;S4:监听ZMQ,采用TCP协议的DEALER模式监听并接收数据;S5:设置ZMQ接收缓存,监听到数据后,先存入缓存,然后再从缓存中获取数据,以防数据流量过大导致的积压和丢失;S6:判断异步IO是否有空闲通道,如有空闲通道,将数据写入到空闲通道中;S7:为防止数据接收线程和数据记录线程操作共享变量冲突,在共享变量操作前先锁定,操作完成后再解锁;步骤二、数据记录线程循环处理异步IO通道,发现队列中有数据即进行异步IO写入处理,写入之后释放共享缓存中的数据,以便数据接收线程向空闲单元中写入数据,详细处理如下:S1:循环判断异步IO通道的队列中是否有数据,有数据即进行以下处理;S2:将已用队列锁定,从已用队列中获取需要处理的数据位置,然后解锁;S3:根据获取的数据位置,从缓存队列中获取相应数据位置的数据;S4:根据获取的数据位置,指定异步IO的iocb中对应可用通道;S5:调用io_prep_pwrite将数据写入异步IO;S6:调用io_submit提交异步IO;S7:更新空闲队列;S8:判断空闲队列是否小于整体队列长度的一半,如小于,则调用io_getevents获取空闲单元,更新空闲队列。

全文数据:

权利要求:

百度查询: 南京云灿信息科技有限公司 基于MQ和异步IO的数据多级缓存与高速传输记录方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。