当前位置: 首页 > 专利查询>清华大学专利>正文

一种数据读取方法、系统、电子设备及存储介质技术方案

技术编号:28745129 阅读:23 留言:0更新日期:2021-06-06 18:09
本发明专利技术提供一种数据读取方法、系统、电子设备及存储介质,包括:应用程序通过用户态协议栈调用用户态阻塞式数据读取接口,读取数据文件;在数据文件为网络套接字,且网络套接字的接收队列中无可读数据的情况下,创建先入先出队列,先入先出队列中无可读数据;通过内核调用内核态阻塞式数据读取接口,对先入先出队列进行监测;在先入先出队列中无可读数据的情况下,内核使应用程序进入阻塞状态,并等待新的可读数据。本发明专利技术通过调用用户态阻塞式数据读取接口,借助先入先出队列和内核态阻塞式数据读取接口,实现用户态数据读取接口对阻塞式语义的支持,提升用户态协议栈对现有应用程序的兼容性。的兼容性。的兼容性。

【技术实现步骤摘要】
一种数据读取方法、系统、电子设备及存储介质


[0001]本专利技术涉及数据处理
,尤其涉及一种数据读取方法、系统、电子设备及存储介质。

技术介绍

[0002]数据中心中网络节点上的传统网络应用大多是基于x86平台上Linux内核的网络协议栈实现的。自从Linux诞生之日起,如何对网络协议栈进行改进一直是行业研究的热点。
[0003]目前,针对Linux内核协议栈进行优化的工作如火如荼,发布的高性能数据包收发(Input/Output,IO)框架,例如Intel DPDK、Netmap等,这些高性能数据包收发框架提高了x86平台的数据包处理性能,但其本身并没有提供完整的网络协议栈,阻碍了其在业界的广泛使用;基于高性能数据包收发框架开发的用户态协议栈,例如mTCP、IX等,具有较高的性能,但是其提供的接口(Application Programming Interface,API)与可移植操作系统接口(Portable Operating System Interface for Unix,POSIX)的语义和功能不同,不能完全兼容现本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据读取方法,其特征在于,包括:应用程序通过用户态协议栈调用用户态阻塞式数据读取接口,读取数据文件;在所述数据文件为网络套接字,且所述网络套接字的接收队列中无可读数据的情况下,创建先入先出队列,其中,所述先入先出队列中无可读数据;通过内核调用内核态阻塞式数据读取接口,对所述先入先出队列进行监测;在所述先入先出队列中无可读数据的情况下,内核使应用程序进入阻塞状态,并等待新的可读数据。2.根据权利要求1所述的数据读取方法,其特征在于,所述应用程序通过用户态协议栈调用用户态阻塞式数据读取接口,读取数据文件的步骤之后,所述方法还包括:在所述数据文件为非网络套接字的情况下,通过内核调用内核态阻塞式数据读取接口,读取所述非网络套接字。3.根据权利要求2所述的数据读取方法,其特征在于,所述读取所述非网络套接字的步骤之后,所述方法还包括:在所述非网络套接字的接收队列中无可读数据的情况下,内核使所述应用程序进入阻塞状态,并等待新的可读数据。4.根据权利要求2所述的数据读取方法,其特征在于,所述读取所述非网络套接字的步骤之后,所述方法还包括:在所述非网络套接字的接收队列中有可读数据的情况下,内核返回所述可读数据给所述应用程序。5.根据权利要求1所述的数据读取方法,其特征在于,所述应用程序通过用户态协议栈调用用户态阻塞式数据读取接口,读取数据文件的步骤之后,所述方法还包括:在所述数据文件为网络套接字,且所述网络套接字的接收队列中有可读数据的情况下,用户态协议栈返回所述可读数据给所述应用程序。6.根据权利要求1所述的数据读取方法,其特征在于,所述等待新的可读数据的步骤之后,所述方法还包括:在所述网络套接字...

【专利技术属性】
技术研发人员:李丹李峻峰姜惠友林督
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1