在客户端与服务器之间通信的机制和方法技术

技术编号:13044502 阅读:205 留言:0更新日期:2016-03-23 13:28
本发明专利技术题为“在客户端与服务器之间通信的机制和方法”。用于由至少一个客户端访问共享存储器中的消息数据的机制和方法包括分配共享存储器中的数据(该存储器在多个缓冲区中配置),以及由客户端或服务器访问数据而不锁定或限制对数据的访问。

【技术实现步骤摘要】

技术介绍
线路可替换单元(LRU)是例如车辆或飞机等较大单元的模块化部件,并且针对规范来设计以确保它们在失效的情况下可以互换和/或被替换。例如,飞机的LRU可包括完全包含的系统、传感器、无线电或其他辅助设备,用于管理和/或操作飞机功能。在飞机环境中,LRU可设计成根据特定操作、互操作性和/或形状因子标准(例如由ARINC系列标准定义的那些)来操作。多个LRU可通过数据网络互连以在飞行控制计算机或其他计算机系统的共同或共享存储器中访问或交换数据。飞行控制计算机或其他计算机系统可进一步管理和/或操作飞机功能。
技术实现思路
在一个实施例中,用于通过访问共享存储器中的消息数据而在至少一个客户端与至少一个服务器之间通信的机制包括共享存储器中的数据到至少一个邮件槽内的分配,该分配通过预定的常量地址和用于至少一个客户端中的每个的缓冲区组而可访问,并且其中这些缓冲区中的每个可由相应客户端或服务器中的任一个控制,至少一个邮件槽具有识别至少一个客户端和至少一个服务器的引用,至少一个客户端具有使至少一个客户端能够经由客户端控制的缓冲区直接操纵消息数据的主动访问指针,至少一个服务器具有使至少一个服务器能够经由服务器控制的缓冲区直接操纵消息数据的主动访问指针。主动访问指针仅使用原子操作在缓冲区之间分配而不在操作系统级复制数据。在另一个实施例中,用于通过访问共享存储器中的消息数据而在至少一个客户端与一个服务器之间通信的方法,该方法包括:将共享存储器中的数据分配到至少一个邮件槽内;指派单个预定地址以访问每个至少一个邮件槽;对至少一个客户端中的每个分配多个缓冲区,每个缓冲区是客户端可控制或服务器可控制的,缓冲区的数量等于相应客户端请求的事务的数量;以及分配来自客户端控制的缓冲区的客户端主动访问指针来使客户端控制的缓冲区的控制变成服务器控制的缓冲区,其使服务器能够经由服务器主动访问指针来直接操纵消息数据。消息数据经由到缓冲区的主动访问指针来访问而不在操作系统级复制消息数据。技术方案1:一种通过访问共享存储器中的消息数据而在至少一个客户端与至少一个服务器之间通信的机制,其包括:所述共享存储器中的数据到至少一个邮件槽内的分配,所述分配通过预定的常量地址和用于执行事务请求的至少一个客户端中的每个的缓冲区组而可访问,并且其中所述缓冲区中的每个可由相应客户端或服务器中的任一个控制;所述至少一个邮件槽具有识别所述至少一个客户端和所述至少一个服务器的引用;所述至少一个客户端具有使所述至少一个客户端能够经由客户端控制的缓冲区直接操纵消息数据的主动访问指针;以及所述至少一个服务器具有使所述至少一个服务器能够经由服务器控制的缓冲区直接操纵消息数据的主动访问指针;其中所述主动访问指针仅使用原子操作在缓冲区之间分配而不在操作系统级复制数据。技术方案2:如技术方案1所述的机制,其中所述机制是飞行管理系统。技术方案3:如技术方案1所述的机制,其中所述至少一个邮件槽和所述缓冲区组在所述共享存储器的初始化期间预定义。技术方案4:如技术方案1所述的机制,其中所述事务请求包括读取所述数据或将新的数据写入所述缓冲区中的至少一个。技术方案5:如技术方案4所述的机制,其中至少一个事务分配给单向存储器空间,所述单向存储器空间包括至少可用缓冲区队列和请求缓冲区队列。技术方案6:如技术方案4所述的机制,其中至少一个事务分配给双向存储器空间,所述双向存储器空间包括至少可用缓冲区队列、请求缓冲区队列和响应缓冲区队列。技术方案7:如技术方案1所述的机制,其中缓冲区的数量等于至少相应客户端请求的事务的数量加上一个附加缓冲区。技术方案8:一种用于通过访问共享存储器中的消息数据而在至少一个客户端与一个服务器之间通信的方法,所述方法包括:将所述共享存储器中的数据分配到至少一个邮件槽内;指派单个预定地址以访问每个至少一个邮件槽;对所述至少一个客户端中的每个分配多个缓冲区,每个缓冲区是客户端可控制或服务器可控制的,缓冲区的数量等于相应客户端请求的事务的数量;以及分配来自客户端控制的缓冲区的客户端主动访问指针来使所述客户端控制的缓冲区的控制变成服务器控制的缓冲区,其使所述服务器能够经由服务器主动访问指针来直接操纵所述消息数据;其中所述消息数据经由到所述缓冲区的主动访问指针来访问而不在操作系统级复制所述消息数据。技术方案9:如技术方案8所述的方法,其中将所述数据分配到至少一个邮件槽、指派单个预定地址以及对每个至少一个客户端分配多个缓冲区在所述共享存储器的初始化期间出现。技术方案10:如技术方案8所述的方法,其中访问所述消息数据包括读取所述数据或将新的数据写入所述缓冲区中的至少一个。技术方案11:如技术方案10所述的方法,其中至少一个事务在单向存储器空间中执行,其包括至少状态部分和消息数据部分。技术方案12:如技术方案10所述的方法,其中至少一个事务在双向存储器空间中执行,其包括至少可用缓冲区队列、请求缓冲区队列和响应缓冲区。技术方案13:如技术方案8所述的方法,其进一步包括在相应的未被占用客户端控制的缓冲区中发起新的客户端事务请求。技术方案14:如技术方案8所述的方法,其中缓冲区的数量等于至少所述相应客户端请求的事务的数量加上一个附加缓冲区。技术方案15:如技术方案14所述的方法,其中所述新的客户端事务请求在所有相应客户端缓冲区被占用时将失效。附图说明在图中:图1是根据本专利技术的一个实施例的飞机和通信网络的自顶向下示意图。图2是根据本专利技术的一个实施例在访问共享存储器的多个客户端和/或服务器之间的通信的示意图。图3是根据本专利技术的一个实施例访问邮件槽的缓冲区的客户端的示意图。图4是根据本专利技术的一个实施例的单向和双向存储器空间的示意图。图5是根据本专利技术的一个实施例对于客户端访问缓冲区中的消息数据的机制的示意图。图6是根据本专利技术的一个实施例对于客户端对缓冲区中的数据执行读/写事务的机制的示意图。图7是根据本专利技术的一个实施例用于将客户端引导到安全缓冲区的机制的示意图。具体实施方式描述的本专利技术的实施例在飞机的环境中图示,该飞机具有使对多个传感器、系统和飞机的部件可访问的共同或共享存储器互连的数据网络。然而,本专利技术的实施例可在使用访问共同或共享存储器的客户端和服务器的任何环境中实现。此外,尽管在下文描述“客户端”和“服务器”,将理解描述的特定实施例是客户端和服务器两者的非限制性示例。客户端和服务器的额外示例可包括远程(经由数据网络或互联网)或局部化分立单元、应用、计算机进程、处理线程等,或其任何组合,其访问共享存储器。例如,多个“客户端”可全部驻存在单个计算机或计算单元上,从而访问共同随机存取存储器(RAM)。如在图1中图示的,示出飞机8,其具有机身10和至少一个涡轮机引擎,示出为左引擎系统12和右引擎系统14。左和右引擎系统12、14可大致相同。尽管图示涡轮机引擎12本文档来自技高网...

【技术保护点】
一种通过访问共享存储器(22)中的消息数据而在至少一个客户端(40)与至少一个服务器(50)之间通信的机制,其包括:所述共享存储器(22)中的数据到至少一个邮件槽(32)内的分配,所述分配通过预定的常量地址(34)和用于执行事务请求的至少一个客户端(40)中的每个的缓冲区组(36)而可访问,并且其中所述缓冲区(36)中的每个可由相应客户端(40)或服务器(50)中的任一个控制;所述至少一个邮件槽(32)具有识别所述至少一个客户端(40)和所述至少一个服务器(50)的引用;所述至少一个客户端(40)具有使所述至少一个客户端(40)能够经由客户端控制的缓冲区(36)直接操纵消息数据的主动访问指针(42);以及所述至少一个服务器(50)具有使所述至少一个服务器(50)能够经由服务器控制的缓冲区(36)直接操纵消息数据的主动访问指针(52);其中所述主动访问指针(42,52)仅使用原子操作在缓冲区(36)之间分配而不在操作系统级复制数据。

【技术特征摘要】
2014.09.15 US 14/4863251.一种通过访问共享存储器(22)中的消息数据而在至少一个客户端(40)与至少一个服务器(50)之间通信的机制,其包括:
所述共享存储器(22)中的数据到至少一个邮件槽(32)内的分配,所述分配通过预定的常量地址(34)和用于执行事务请求的至少一个客户端(40)中的每个的缓冲区组(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)的数量等于...

【专利技术属性】
技术研发人员:CR德克TS布朗KB查普曼
申请(专利权)人:通用电气航空系统有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1