输入/输出端口的访问方法和装置

    公开(公告)号:CN103744687A

    公开(公告)日:2014-04-23

    申请号:CN201310576300.X

    申请日:2013-11-15

    Abstract: 本发明公开了一种输入/输出端口的访问方法与装置,该访问方法包括:分析当前操作系统的设备文件,判定操作系统的设备文件中是否具有接口设备文件;在判定的结果为否的情况下,向操作系统的系统内核中添加设备接口进程信息,促使操作系统的设备文件具备接口设备文件;通过预定的功能指令,调用接口设备文件访问对应的输入/输出端口。本发明通过在操作系统缺乏接口设备文件时,添加设备接口进程信息,促使操作系统具备接口设备文件,从而使得用户能够通过预定的功能指令调用接口设备文件访问端口,进而避免了需要调用mmap函数以及映射等操作来实现在用户空间访问输入/输出端口的麻烦,降低了用户的技术要求。

    基于规则集的报文处理方法和装置

    公开(公告)号:CN101707588B

    公开(公告)日:2012-10-10

    申请号:CN200910093981.8

    申请日:2009-09-25

    Abstract: 本发明提供一种基于规则集的报文处理方法和装置,其中,该方法包括:采用Trie算法对规则集进行管理;将规则集中的掩码采用特殊字符进行表示;在接收到报文时,从所接收的报文提取规则,将规则转换成字符串,并将转换后的规则与规则集进行比较,其中,与规则集中的特殊字符的比较总是正确的;以及根据比较结果确定规则是否与规则集匹配,并根据确定结果进行后续处理。在本发明中,规则集的匹配效率高,匹配时间与规矩集的大小、掩码位置等无关,只与规矩集的字符长度相关。

    零拷贝网络报文发送、接收方法和装置

    公开(公告)号:CN101707565B

    公开(公告)日:2012-04-25

    申请号:CN200910242100.4

    申请日:2009-12-04

    Abstract: 本发明提供一种零拷贝网络报文发送、接收方法和装置,其中发送方法包括下列步骤:使用内存分配函数在网卡驱动程序中不断地申请特定大小的连续内存直至网卡驱动程序中空闲的内存空间不足够申请;从申请到的连续内存中确定一块连续内存地址空间;使用连续内存地址空间进行网络报文发送。本发明的发送方法通过在网卡驱动程序中申请连续内存,发送的数据报文连续存储在报文DMA缓冲区中,因此网卡硬件在进行DMA操作时不受页面大小限制,网卡不需要采用中断方式通知网卡驱动程序数据报文发送完成的情况,不占用CPU资源。

    直接存储器访问的实现方法

    公开(公告)号:CN101650698B

    公开(公告)日:2011-11-16

    申请号:CN200910091835.1

    申请日:2009-08-28

    Abstract: 本发明提供了一种直接存储器访问的实现方法和装置,其中,该方法包括:网卡根据其接收的报文的控制信息确定与报文一一对应的线程;网卡确定主机上与线程一一对应的缓存区,并将报文写入缓存区中,其中,每个缓存区与主机上的CPU核一一对应。通过使用本发明,能够使每一个DMA队列对应一个CPU核和一个软件线程,软件各个数据处理线程之间几乎没有交互,避免了相关技术中的访问冲突,降低单队列DMA方法中的多线程同步开销,充分利用系统的处理器资源,提高DMA数据传输带宽和处理效率。

    基于零拷贝方式的多应用程序报文接收方法和装置

    公开(公告)号:CN101877666A

    公开(公告)日:2010-11-03

    申请号:CN200910238009.5

    申请日:2009-11-13

    Abstract: 本发明提供一种基于零拷贝方式的多应用程序报文接收方法和装置,其中接收方法包括以下步骤:在网卡驱动程序中申请连续内存空间作为报文接收的缓冲区队列;在网卡相关寄存器中设置一个缓冲区队列写指针寄存器和多个缓冲区队列读指针寄存器,每个缓冲区队列读指针寄存器对应一个应用程序;网卡接收报文,如果缓冲区队列未存储满则将报文存储在缓冲区队列,同时更新写指针寄存器;以及每个应用程序分别判断是否有要接收的报文存储在缓冲区队列中,如果有,则将报文从缓冲区队列中取走,同时网卡驱动程序更新应用程序对应的缓冲区队列读指针寄存器。本发明能够基于零拷贝方式,实现多个应用程序同时进行报文接收,明显降低了CPU的占有率。

    多端口网卡数据发送实现方法

    公开(公告)号:CN101719916A

    公开(公告)日:2010-06-02

    申请号:CN200910238007.6

    申请日:2009-11-13

    Abstract: 本发明提供一种多端口网卡数据发送实现方法,包括下列步骤:网卡驱动程序在操作系统的用户空间为多端口网卡创建一个网络接口;应用程序通过网络接口将数据报文发送给网卡驱动程序;网卡驱动程序将数据报文从多端口网卡的多个端口发送出去。本发明通过将多端口网卡注册成单端口网卡,只使用注册形成的一个网络接口就实现数据报文的冗余发送,保证了数据的安全到达,并简化了应用程序的工作,使数据报文的冗余发送更加有效。

    过滤网卡自动化测试方法和系统

    公开(公告)号:CN101697521A

    公开(公告)日:2010-04-21

    申请号:CN200910093982.2

    申请日:2009-09-25

    Abstract: 本发明提供一种过滤网卡自动化测试方法和系统,该方法包括:维护一组五元组规则表;按照在五元组规则表中的一项五元组或随机生成的一项五元组构造报文,并统计过滤网卡针对所构造的报文应产生的信息;将统计出的信息添加到报文尾部作为报文的数据部分并将所得到的报文发送出去;以及使用过滤网卡接收报文,并将报文的数据部分中的统计出的信息与过滤网卡所产生的真实信息进行比较,确定过滤网卡的功能是否正确。通过本发明,能够及时地发现过滤网卡所存在的问题,从而提高了系统效率,改善了系统性能。

    一种IP报文的硬件分流方法

    公开(公告)号:CN101540727A

    公开(公告)日:2009-09-23

    申请号:CN200910083155.5

    申请日:2009-05-05

    Abstract: 本发明涉及一种IP报文的硬件分流方法,本方案利用网卡硬件对接收到的IP报文进行分流,网卡在接受IP报文的同时,抽取IP报文头中的源、目的地址,利用Hash算法计算出该IP报文所属的线程,然后DMA通道调度模块根据线程号启动DMA引擎将报文送到该线程所属的主存缓冲区中,为了支持IP报文的硬件分流策略,上层软件使得每个线程拥有一个专用的主存缓冲区,网卡启动多个接收IP包的线程与主机处理IP包的线程一一对应,主机处理IP包的线程直接从内存缓冲区获取数据进行处理,这中间的数据传输不需要CPU参与,可以降低CPU负载。本发明可支持高达1024甚至4096、8192个硬件线程,最佳配置为每个CPU核对应一个线程,这样每个线程独立工作,互不干扰,系统资源的共享竞争最少,达到最好性能。

    内存空间的管理方法和装置

    公开(公告)号:CN103617125A

    公开(公告)日:2014-03-05

    申请号:CN201310618123.7

    申请日:2013-11-27

    Abstract: 本发明公开了一种内存空间的管理方法和装置,其中,该方法包括:接收用户侧发送的内存申请请求,并根据该内存申请请求,确定用户侧所期望的内存容量;根据预定策略,确定系统的可用内存空间中满足内存容量的连续内存空间;根据预先配置的标识信息,对连续内存空间进行标识,促使系统根据标识信息保留连续内存空间;在接收到用户侧发送的空间映射请求后,将系统保留的连续内存空间映射至系统的用户空间中。本发明能够在任意系统架构下保证用户侧能够申请到满足其所期望的内存容量的连续内存空间,有效的满足了零拷贝功能执行时的内存需求。

Patent Agency Ranking