【技术实现步骤摘要】
一种海量数据高效传输方法
本专利技术涉及一种路由器平台的海量数据高效传输方法,属于计算机与通信
技术介绍
在路由器平台中,一般协议栈的标准socket收发包能力在7000pps左右,而在海量数据传输过程中,需要协议栈收发包能力远远大于7000pps。现有技术中协议栈的标准socket收发包架构如图1所示,收发包路径是图1中的虚线,收发包性能消耗在LPP、Socket内以及消息进程传递上。通过分析,当前协议栈的标准socket收发包架构各个阶段性能损失如表一。表一性能损失
技术实现思路
专利技术目的:针对现有技术中存在的问题,本专利技术提供一种海量数据高效传输方法,从如下3个方面改进来提高报文传输能力:1)减少调度开销。采用将内核网卡收包环形队列映射到用户态,用户态直接操作环形队列收包,规避收包时用户态到内核态的切换,减少调度开销。2)减少报文在较多线程间传递与报文拷贝。内核支持基于网卡的多套口收包,LPP驻留收包线程,在APP内驻留LPP收包线程,直接接收报文,避免报文经过LPP、Socket传递,减少报文传输环节以及消息拷贝。3)减少LPP冗余查表。报文直接投递到APP,减少LPP环节,省去较多的LPP冗余表查询。技术方案:一种海量数据高效传输方法,建立高速报文传输通道,数据经过NP直接通过内部以太网交互通道投送到APP的PM收发包线程。1)高速报文通道的建立方式是数据通过NP后,使用TCP/IP协议,通过socket通道,进入内部以太网交互通道,然后直接进入到APP的PM收发包线程,这样数据通过最短路径直接到达应用层,供应用层软件使用。2)在报文 ...
【技术保护点】
一种海量数据高效传输方法,其特征在于,建立高速报文传输通道,数据经过NP直接通过内部以太网交互通道投送到APP的PM收发包线程;1)高速报文通道的建立方式是数据通过NP后,使用TCP/IP协议,通过socket通道,进入内部以太网交互通道,然后直接进入到APP的PM收发包线程,这样数据通过最短路径直接到达应用层,供应用层软件使用;2)在报文转发过程中,微码根据报文分发表决定协议报文路径,也就是微码根据报文分发表选择报文是走Socket通道还是高速报文通道,通过这种方式实现报文分发兼容原报文分发逻辑;3)微码上报报文到网口,应用进程(APP)使用套口在网口上收包;对不同进程或不同协议,微码对上送报文封装不同的estype类型,不同进程根据不同的estype类型创建不同的套口实现分布式收包;同时也使用不同estype类型的报文相互隔离来实现不同进程间的分布式网口收包;4)修改内核网口收包驱动,将收包的环形buffer映射到用户态,在用户态启动收包线程直接读取收包缓存进行收包。
【技术特征摘要】
1.一种海量数据高效传输方法,其特征在于,建立高速报文传输通道,数据经过NP直接通过内部以太网交互通道投送到APP的PM收发包线程;1)高速报文通道的建立方式是数据通过NP后,使用TCP/IP协议,通过socket通道,进入内部以太网交互通道,然后直接进入到APP的PM收发包线程,这样数据通过最短路径直接到达应用层,供应用层软件使用;2)在报文转发过程中,微码根据报文分发表决定协议报文路径,也就是微码根据报文分发表选择报文是走Socket通道还是高速报文通道,通过这种方式实现报文分发兼容原报文分发逻辑;3)微码上报报文到网口,应用进程(APP)使用套口在网口上收包;对不同进程或不同协议,微码对上送报文封装不同的estype类型,不同进程根据不同的estype类型创建不同的套口实现分布式收包;同时也使用不同estype类型的报文相互隔离来实现不同进程间的分布式网口收包;4)修改内核网口收包驱动,将收包的环形buffer映射到用户态,在用户态启动收包线程直接读取收包缓存进行收包。2.如权利要求1所述的海量数据高效传输方法,其特征在于,微码根据报文分发表选择报文是走Socket通道还是高速报文通道,其选择路径方式为:报文在传送前,在微码中添加报文路径标志字节,在报文分发表中添加对应的...
【专利技术属性】
技术研发人员:陈哲,王吉星,王慧斌,石爱业,李臣明,彭建华,徐立中,
申请(专利权)人:河海大学,水利部南京水利水文自动化研究所,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。