预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN111488219A(43)申请公布日2020.08.04(21)申请号202010266058.6(22)申请日2020.04.07(71)申请人中国科学院自动化研究所地址100190北京市海淀区中关村东路95号申请人中国科学院自动化研究所广州人工智能与先进计算研究院(72)发明人吕志丰蒿杰舒琳赵美婷宋亚芳范秋香(74)专利代理机构北京市恒有知识产权代理事务所(普通合伙)11576代理人郭文浩尹文会(51)Int.Cl.G06F9/50(2006.01)权利要求书2页说明书8页附图4页(54)发明名称用于高速数据采集系统的以太网数据流记录方法(57)摘要本发明属于高速数据采集、网络数据处理领域,具体涉及一种用于高速数据采集系统的以太网数据流记录方法、系统、装置,旨在解决现有高速数据采集CPU利用率低、系统兼容性差、封装和部署困难以及系统传输可靠性低的问题。本系统方法包括:Linux操作系统启动后,隔离出设定数量的CPU核心;卸载操作系统内核态网卡驱动,创建hugepage内存池,对各万兆网卡,分配其对应的数据接收缓存池及无锁FIFO缓存,并对各万兆网卡PCIE寄存器初始化,使其进入采集状态;以用户态轮询的驱动方式对各万兆网卡采集的数据包进行连续接收及磁盘记录。本发明提高了CPU利用率、系统兼容性和传输可靠性,降低了封装和部署难度。CN111488219ACN111488219A权利要求书1/2页1.一种用于高速数据采集系统的以太网数据流记录方法,所述高速采集系统由Linux操作系统、多块万兆网卡及高速NVMe固态硬盘构建,其特征在于,该方法包括:步骤S100,Linux操作系统启动后,隔离出设定数量的CPU核心;步骤S200,通过sysfs文件系统卸载所述Linux操作系统内核态网卡驱动,并创建hugepage内存池;对每一个万兆网卡,通过hugetlbfs文件系统分配其对应的数据接收缓存池及无锁FIFO缓存,并基于其对应的PCIE地址,通过sysfs文件系统对各万兆网卡PCIE寄存器进行初始化设置,使其进入采集状态;步骤S300,创建多个工作线程并绑定至所述CPU核心,以用户态轮询的驱动方式对各万兆网卡采集的数据包进行连续接收及磁盘记录;所述工作线程包括数据接收线程和磁盘记录线程。2.根据权利要求1所述的用于高速数据采集系统的以太网数据流记录方法,其特征在于,所述隔离出的CPU核心其至少保留Core0用于Linux操作系统内核线程调度。3.根据权利要求2所述的用于高速数据采集系统的以太网数据流记录方法,其特征在于,步骤S200中“通过sysfs文件系统卸载所述Linux操作系统内核态网卡驱动,并创建hugepage内存池”,其方法为,通过sysfs文件系统下pci设备驱动目录中的unbind节点进行卸载,卸载完成之后在nr_hugepages节点设置hugepages数量,创建hugepage内存池。4.根据权利要求3所述的用于高速数据采集系统的以太网数据流记录方法,其特征在于,步骤S200中“通过hugetlbfs文件系统分配其对应的数据接收缓存池及无锁FIFO缓存”,其方法为:使用mmap在hugetlbfs文件系统中分配各万兆网卡数据接收缓存池和无锁FIFO缓存空间。5.根据权利要求3所述的用于高速数据采集系统的以太网数据流记录方法,其特征在于,步骤S200中“基于其对应的PCIE地址,通过sysfs文件系统对各万兆网卡PCIE寄存器进行初始化设置”其方法为:使用mmap对sysfs文件系统下pci设备资源节点resource0进行映射,并在该映射空间中对相关万兆网卡PCIE寄存器偏移地址内容进行读写;所述读写包括关闭万兆网卡中断、复位万兆网卡主控芯片、二次关闭中断、等待DMA初始化标志完成、复位数据接收环RX头指针RDH和尾指针RDT、填充各DMA描述单元物理地址、开启巨帧和混杂模式标志位。6.根据权利要求5所述的用于高速数据采集系统的以太网数据流记录方法,其特征在于,步骤S300中“以用户态轮询的驱动方式对各万兆网卡采集的数据包进行连续接收”,其方法为:步骤S310,各万兆网卡根据RX中DMA描述单元对应地址将采集的数据包通过PCIE总线传输至系统内存,并向前移动RDH,直至RX当前位置的DMA描述单元的STAT_DD标志位为1;步骤S320,获取所述DMA描述单元对应数据包的虚拟地址,存入指针数组;并从hugepage内存池中申请新的数据包接收空间进行初始化,将新缓存的物理地址写入所述DMA描述单元;步骤S330,循环执行步骤S310-步骤S320,直至达到设定的单次最大接收数量,当达到最大接收数量,执行步骤S340;步骤S340,向