[发明专利]一种多应用收包的优先级管理方法有效
申请号: | 201010598519.6 | 申请日: | 2010-12-17 |
公开(公告)号: | CN102098215A | 公开(公告)日: | 2011-06-15 |
发明(设计)人: | 刘朝辉;李锋伟;刘灿;万伟;刘兴彬 | 申请(专利权)人: | 天津曙光计算机产业有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 北京安博达知识产权代理有限公司 11271 | 代理人: | 徐国文 |
地址: | 300384 天津市西青区华*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种多应用收包的优先级管理方法。硬件网卡的PCI控制器向主机注册PCI空间,驱动软件申请报文缓冲区,构造驱动信息结构,驱动软件定时计算CPU负载,并记录到驱动信息结构中,接口库把报文缓冲区、PCI空间寄存器、驱动信息数据结构映射到每个应用的进程空间,并配置应用优先级,硬件收到报文后把报文放入缓冲区,通知应用软件收包,应用软件收到报文后根据自己的优先级和当前cpu负载情况,决定是否处理该报文。本发明根据当前CPU负载情况,动态丢弃报文,实现多应用发包的优先级管理。 | ||
搜索关键词: | 一种 应用 优先级 管理 方法 | ||
【主权项】:
一种多应用收包的优先级管理方法,其特征在于:采用软硬件结合的系统,包括硬件网卡、驱动软件、接口库软件,步骤如下:A、硬件网卡的PCI控制器向主机注册PCI空间;B、驱动软件申请一片物理地址连续的内存,作为接收报文的缓冲区,把缓冲区的物理地址和长度写入PCI空间的对应寄存器,并设置硬件的写指针和所有应用软件的读指针为初始值0;C、驱动软件申请一块内存区域作为驱动信息数据结构,其中包含当前CPU负载,驱动使用一个定时器函数,每隔一个时间片计算一下CPU占用情况,写入驱动信息数据结构中;D、硬件每次从网络接收到一个报文后,把报文传输到软件的报文缓冲区中,并根据报文长度,修改PCI空间的写指针;E、接口库中的API接口被一个应用调用时,首先把内核空间的缓冲区和硬件的PCI空间映射到该应用的用户空间,然后根据该应用是第几个应用,把PCI空间的第几个软件读指针寄存器作为该应用的读指针寄存器使用;接口库打开设备时,还把驱动信息结构映射出来,从中可以看到当前的CPU负载情况;F、应用软件在调用接口库打开设备时,根据该应用的优先级,在接口库中预设一个CPU负载情况的阈值;G、应用软件循环收包,每次收包都要查看接口库中映射出的PCI空间寄存器,判断硬件写指针是否等于软件的读指针,如果不相等,则说明读指针和写指针之间是新的报文,则读取出来,并移动读指针;如果读指针追上了写指针,则说明缓冲区内报文已经全部读出,则等待一个时间片后,进行下一次轮询;H、每个应用在使用接口库返回的报文之前,先把驱动信息结构中的当前CPU负载和该应用优先级确定的CPU负载阈值相比较,如果当前CPU负载已经超过了该应用的阈值,则主动丢包。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津曙光计算机产业有限公司,未经天津曙光计算机产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010598519.6/,转载请声明来源钻瓜专利网。
- 上一篇:一种真空玻璃辅助生产线
- 下一篇:一种天蓝色镜面反射镀膜玻璃及其制备方法