[发明专利]在客户端与服务器之间通信的机制和方法有效
申请号: | 201510584213.8 | 申请日: | 2015-09-15 |
公开(公告)号: | CN105426258B | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | C.R.德克;T.S.布朗;K.B.查普曼 | 申请(专利权)人: | 通用电气航空系统有限责任公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 徐予红;张懿 |
地址: | 美国密*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 客户端 服务器 之间 通信 机制 方法 | ||
1.一种通过访问共享存储器(22)中的消息数据而在至少一个客户端(40)与至少一个服务器(50)之间通信的系统,其包括:
所述共享存储器(22)中的数据到至少一个邮件槽(32)内的分配,所述分配通过预定的常量地址(34)而可访问,并且至少一个客户端(40)各自具有其自己的缓冲区(36),所述缓冲区(36)定义用于执行事务请求的缓冲区组(36),并且其中所述缓冲区(36)中的每个可由相应客户端(40)或服务器(50)中的每一个控制;
所述至少一个邮件槽(32)具有识别所述至少一个客户端(40)和所述至少一个服务器(50)的引用;
所述至少一个客户端(40)具有使所述至少一个客户端(40)能够经由客户端控制的缓冲区(36)直接操纵消息数据的主动访问指针(42);以及
所述至少一个服务器(50)具有使所述至少一个服务器(50)能够经由服务器控制的缓冲区(36)直接操纵消息数据的主动访问指针(52);
其中所述主动访问指针(42,52)仅使用原子操作在缓冲区(36)之间分配而不在操作系统级复制数据。
2.如权利要求1所述的系统,其中所述至少一个邮件槽(32)和所述缓冲区组(36)在所述共享存储器(22)的初始化期间预定义。
3.如权利要求1所述的系统,其中至少一个事务分配给单向存储器空间(80),其包括至少可用缓冲区队列(82)和请求缓冲区队列(84)。
4.如权利要求1所述的系统,其中至少一个事务分配给双向存储器空间(86),其包括至少可用缓冲区队列(82)、请求缓冲区队列(84)和响应缓冲区队列(88)。
5.如权利要求1所述的系统,其中缓冲区(36)的数量等于至少相应客户端(40)请求的事务的数量加上一个附加缓冲区(36)。
6.一种用于通过访问共享存储器(22)中的消息数据而在至少一个客户端(40)与一个服务器(50)之间通信的方法,所述方法包括:
将所述共享存储器(22)中的数据分配到至少一个邮件槽(32)内;
指派单个预定地址(34)以访问每个至少一个邮件槽(32);
对所述至少一个客户端(40)中的每个分配多个缓冲区(36),至少一个客户端(40)中的每个客户端(40)具有其自己的缓冲区(36),并且每个缓冲区(36)是客户端可控制或服务器可控制的,缓冲区(36)的数量等于相应客户端(40)请求的事务的数量;以及
分配来自客户端控制的缓冲区(36)的客户端(40)主动访问指针(42)来使所述客户端控制的缓冲区(36)的控制变成服务器控制的缓冲区(36),其使所述服务器(50)能够经由服务器(50)主动访问指针(52)来直接操纵所述消息数据;
其中所述消息数据经由到所述缓冲区(36)的主动访问指针(42,52)来访问而不在操作系统级复制所述消息数据。
7.如权利要求6所述的方法,其中将所述数据分配到至少一个邮件槽(32)、指派单个预定地址(34)以及对每个至少一个客户端(40)分配多个缓冲区(36)在所述共享存储器(22)的初始化期间出现。
8.如权利要求6所述的方法,其进一步包括在相应的未被占用客户端控制的缓冲区(36)中发起新的客户端(40)事务请求。
9.如权利要求6所述的方法,其中缓冲区(36)的数量等于至少所述相应客户端(40)请求的事务的数量加上一个附加缓冲区(36)。
10.如权利要求8所述的方法,其中所述新的客户端(40)事务请求在所有相应客户端(40)缓冲区(36)被占用时将失效。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于通用电气航空系统有限责任公司,未经通用电气航空系统有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510584213.8/1.html,转载请声明来源钻瓜专利网。