【技术实现步骤摘要】
一种基于FPGA实现的套接字描述符调度系统及其方法
[0001]本专利技术涉及网络数据处理
,具体涉及一种基于FPGA实现的套接字描述符调度系统及其应用该系统的调度方法。
技术介绍
[0002]在计算机通信领域,为了使应用层方便地调用TCP/IP传输协议,引入套接字概念。套接字将应用层与TCP/IP协议族之间的软件层抽象化,以API接口的形式呈现,提供应用层与传输层之间的控制与数据交互通道,其核心作用为完成网络数据与应用进程的唯一映射。
[0003]对于具体某个通信应用而言,在通信建立之时,便获取唯一的套接字序号(Linux系统为套接字描述符,Windows系统为套接字句柄,以下对两种命名不予区分,统称描述符),用于标识收发的网络数据所对应的处理进程。每当建立一个新的通信连接时,便产生新的套接字描述符,内核协议栈需要为之分配相应的存储资源,用于数据收发缓存区、套接字属性字段、网络通信状态等。通信终端系统能够提供的资源是有限的,描述符作为对应存储资源的索引,其数量也是有限的,当通信连接结束时,相应的存储资源需要释 ...
【技术保护点】
【技术特征摘要】
1.一种基于FPGA实现的套接字描述符调度系统,其特征在于,包括:存储单元,用于提供描述符的存储空间,其包括一个存储大池和两个存储小池;其中,第一个存储小池为回收资源池,第二个存储小池为预取资源池;存储大池为描述符的主要存储资源池;管理单元,用于控制描述符的产生和回收,以及负责描述符在三个资源池之间的运行;粘合单元,用于在描述符运行期间,提供临时缓冲区。2.根据权利要求1所述的系统,其特征在于:回收资源池用于直接提供描述符,在回收描述符过多时,并将过多的描述符存放至存储大池中;预取资源池用于直接提供描述符,在预取描述符过少时,从存储大池中拿取描述符;存储大池中存储有待使用的描述符,用于实现资源调节,以保证任何时刻回收资源池和预取资源池至少一个可用。3.根据权利要求1所述的系统,其特征在于:在回收ID与回收资源池之间设置有第一开关,在临时资源池与存储大池之间设置有第一个第二开关,在轮询模块与存储大池之间设置有第二个第二开关,在回收资源池、预取资源池与会话ID之间设置有第三开关。4.一种基于FPGA实现的套接字描述符调度方法,其特征在于,该方法应用于如权利要求1至3任一项所述的一种基于FPGA实现的套接字描述符调度系统,其包括以下步骤:在系统初始运行时,存储大池的所有位置初始化为可用,清空回收资源池和预取资源池的容量;实时检测回收资源池以及预取资源池的当前容量;当回收资源池为非满时,执行回收描述符操作,将其直接存储于回收资源池当中,否则将描述符间接存储于存储大池,即将对应存储大池位置设置为可用;当预取资源池为非满时,不断轮询存储大池的地址空间,将可用描述符由存储大池中移动至预取资源池当中。5.根据权利要求4所述的方法,其特征在于,可用描述符的输出,包括:当回收资源池非空时,由回收资源池提供描述符,当回收资源池为空且预取资源池非空时,由预取资源池提供,当二者同时为空时,给出资源池空标识,表示所有描述符均被使用。6.根据...
【专利技术属性】
技术研发人员:耿世磊,杨少波,余军,范建超,赵洋,
申请(专利权)人:珠海高凌信息科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。