[发明专利]多网卡协同通信方法无效
申请号: | 200710027717.5 | 申请日: | 2007-04-26 |
公开(公告)号: | CN101296157A | 公开(公告)日: | 2008-10-29 |
发明(设计)人: | 马维旻;吴楚均 | 申请(专利权)人: | 北京师范大学珠海分校 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;G06F12/00 |
代理公司: | 广州三环专利代理有限公司 | 代理人: | 温旭 |
地址: | 519085*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网卡 协同 通信 方法 | ||
1、一种多网卡协同通信方法,其特征在于,各网卡通信进程间通过文件映射对象来分配和访问同一个共享内存块。
2、如权利要求1所述的多网卡协同通信方法,其特征在于,所述通信进程包括发送进程和接收进程,由发送进程负责向接收进程发送数据,文件映射对象由发送进程或接收进程创建和关闭,并且指定一个唯一的名字供接收进程使用,接收进程直接通过这个唯一指定的名字打开此文件映射对象,并完成对数据的接收。
3、如权利要求2所述的多网卡协同通信方法,其特征在于,所述文件映射对象的创建和关闭包括如下步骤:
(1)通过操作系统内部函数创建一个内存映射文件对象;
(2)创建成功则通过文件映像函数将此文件映射对象的视图映射进地址空间,同时得到此映射视图的首址;
(3)如果创建不成功,则返回错误码;
(4)通知接收进程内存文件映射对象的视图已经打开。
4、如权利要求3所述的多网卡协同通信方法,其特征在于,任何通信进程都可以查看内存映射文件对象是否已经创建,然后再对其进行操作。
5、如权利要求2所述的多网卡协同通信方法,其特征在于,数据的发送和接收包括如下步骤:
(1)先判断共享内存中数据的新旧,如果数据是新的,说明数据还没有被取走过,这时就休眠返回;如果数据是旧的,将数据从发送进程写到共享内存中,创建一个新的进程,专门负责取走数据,该进程不断检查共享内存中是否有新数据可取,如果有新数据,则及时从共享内存中取走数据;
(2)当数据传输结束,即将退出程序时,需要将映射进来的内存文件映射对象视图卸载和资源的释放等处理。
6、如权利要求1所述的多网卡协同通信方法,其特征在于,它还在内存中设定一个信号灯标志,通信进程可以根据该信号灯标志判定是否能够访问某些共享资源,同时可根据要求允许某些进程修改该信号灯标志。
7、如权利要求6所述的多网卡协同通信方法,其特征在于,对所述信号灯标志的处理过程包括:
(1)网卡进程在需要进行通信的时候,首先查看信号灯标志是否创建。如果没有创建的话,即创建一个信号灯标志,并对其进行初始化并赋初值,该初值代表可申请资源的数量。
(2)每个信号灯标志都有一个值以用来表示当前该信号灯标志所代表的共享资源可用数量,如果一个网卡通信进程接收另一个网卡的发送数据,就要向其申请共享资源,那么就从其信号灯值中减去要申请的数目,如果当前没有足够的可用资源,进程睡眠等待或立即返回,其他网卡通信进程根据数据传输要求,也可对信号灯值进行增加和减小。
8、如权利要求7所述的多网卡协同通信方法,其特征在于,对信号灯值进行增加和减小的过程为:首先查看可申请资源的数量,如果资源的数量大于零,即1时,程序先把资源值减1,再对共享内存进行操作,操作完了就要释放资源,也就是把资源值加1,如果查看可申请资料的数量小于或等于零的话,说明共享内存在被其他进程所操作,这时候进程睡眠等待。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京师范大学珠海分校,未经北京师范大学珠海分校许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710027717.5/1.html,转载请声明来源钻瓜专利网。