CN114900568B - 针对分布式通信中间件实现可扩展传输协议的方法、终端 - Google Patents
针对分布式通信中间件实现可扩展传输协议的方法、终端 Download PDFInfo
- Publication number
- CN114900568B CN114900568B CN202210512728.7A CN202210512728A CN114900568B CN 114900568 B CN114900568 B CN 114900568B CN 202210512728 A CN202210512728 A CN 202210512728A CN 114900568 B CN114900568 B CN 114900568B
- Authority
- CN
- China
- Prior art keywords
- connection
- client
- server
- request
- protocol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004891 communication Methods 0.000 title claims abstract description 22
- 230000008569 process Effects 0.000 claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 2
- 230000007547 defect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
Abstract
本发明提供了一种针对分布式通信中间件实现可扩展传输协议的方法,对CORBA中间件的客户端和服务端进行初始化;客户端进行触发对象请求调用,打包请求的数据;判断是否存在可用的连接,如果不存在,则创建连接;如果存在,则进入写操作;调用连接对象的写接口,将数据包发送给服务端;服务端收到客户端的数据包后,得到解析后的请求数据;查询本地的待请求的对象是否已被激活;如果未激活,则生成请求异常;如果已激活,则调用本地连接对象接口;将请求的结果通过连接对象的写接口发送给客户端;客户端接收到请求结果进行处理,至此,CORBA中间件基于扩展协议框架完成一次远程连接请求调用。本发明提高了CORBA中间件的性能指标。
Description
技术领域
本发明涉及高端电子装备技术领域,具体地,涉及一种针对分布式通信中间件实现可扩展传输协议的方法、终端。
背景技术
CORBA中间件是分布式无线电系统中一种常用的通信中间件,实现异构资源之间跨进程通信。CORBA中间件采用客户端/服务端结构,通过对象请求调用的方式实现客户端与服务端之间的通信。CORBA规范制定了GIOP协议作为通信框架,但GIOP并不是一个直接用于ORB之间进行通信的具体协议,而是描述了特定的协议如何进行创建以适用于GIOP框架。传统CORBA中间件默认支持IIOP协议,就是基于TCP/IP协议的一种GIOP实现。但是没有规定其他(SRIO、PCIE等传输协议)的实现方式。然而,分布式无线电系统对CORBA中间件的性能(吞吐量、时延、抖动等)提出极高的要求,传统的CORBA中间件传输层默认协议限制了中间件的性能。
目前没有发现同本发明类似技术的说明或报道,也尚未收集到国内外类似的资料。
发明内容
本发明针对现有技术中存在的上述不足,提供了一种针对分布式通信中间件实现可扩展传输协议的方法、终端。
根据本发明的一个方面,提供了一种针对分布式通信中间件实现可扩展传输协议的方法,包括:
分别对CORBA中间件的客户端和服务端进行初始化,获得相应的传输协议框架工厂对象、连接对象和监听者对象;
在初始化后的客户端和服务端之间执行以下操作:
客户端进行触发对象请求调用,将请求的数据进行打包,得到GIOP格式的数据包;
客户端判断是否存在可用的连接,如果不存在可用连接,则进行创建连接过程;如果存在可用连接,则直接进入下一步写操作;
客户端调用连接对象的写接口,将GIOP格式的数据包通过客户端的传输协议层发送给服务端;
服务端的传输协议层收到客户端的数据包后,首先读取帧头部分,然后提取数据部分,得到解析后的请求数据;
服务端根据解析后的请求数据,查询本地的待请求的对象是否已被激活;如果待请求的对象未被激活,则服务端生成请求异常;如果待请求的对象已被激活,则服务端调用本地连接对象相关接口;
服务端通过连接对象的写接口将请求结果发送给客户端;
客户端接收到请求结果进行后续处理,至此,CORBA中间件基于扩展协议框架完成一次远程连接请求调用过程。
可选地,所述对CORBA中间件的客户端进行初始化,包括:
客户端调用对象请求代理初始化接口,在初始化接口中传入传输协议的类型、目标地址和端口号;
客户端创建协议属性对象,该对象用于将相关的服务质量和端点信息传递给客户端的传输协议层;
客户端创建指定传输协议框架工厂对象,所述工厂对象包括三个成员,其中,前两个成员分别为创建连接对象和创建监听者对象两个函数指针,第三个成员用于为客户端的传输协议层配置标识符,对于不同的客户端的传输协议层均配置有其唯一的标识符;
通过上述步骤完成客户端初始化,等待客户端发送连接请求。
可选地,所述客户端创建的协议属性对象,包括:目标地址、窗口大小和最大包大小。
可选地,所述对CORBA中间件的服务端进行初始化,包括:
服务端调用可移植适配器初始化接口,通过初始化接口在可移植适配器对象中配置可移植适配器策略;
服务端创建协议属性对象,该对象用于将相关的服务质量和端点信息传递给服务端的传输协议层;
服务端创建指定传输协议框架工厂对象,所述工厂对象包括三个成员,其中,前两个成员分别为创建连接对象和监听者对象的函数指针,第三个成员用于为传输层配置标识符,对于不同的传输层均配置有其唯一的标识符;
服务端传输协议框架工厂对象创建监听者对象;
服务端可移植适配器调用监听者对象的accept接口,等待客户端的连接请求;
服务端接接收到连接请求,创建服务端的连接对象。
可选地,所述服务端创建的协议属性对象包括:协议对象包括目标地址、窗口大小、最大包大小。
可选地,所述进行创建连接过程,包括:
客户端创建本地连接对象,所述本地连接对象采用链表结构,包括监听器指针、服务端描述器、关闭标识和连接标识;
客户端通过调用本地连接对象的连接接口发送连接请求,所述连接请求包括服务端描述器和超时时间;
服务端通过监听者对象的accept接口接收来自于客户端的连接请求;
服务端验证连接请求,如果连接请求验证通过,则创建服务端本地连接对象;如果连接请求验证失败,则服务端返回拒绝响应。
可选地,所述监听器指针,用于指向监听器对象,并用于服务端创建连接;
所述服务端描述器,用于客户端所连接的服务端配置信息;
所述关闭标识,用于标志ORB是否在连接关闭时发送GIOP::CloseConnection消息;
所述连接标识,用于标志连接是否已建立;所述连接标识通过ORB使用,以保证只有在连接已建立的情况下才能被关闭,且每个连接只能被关闭一次。
可选地,所述帧头部分,包括:数据端的长度和协议类型;所述数据部分,包括:对象标识、接口名称和接口参数。
根据本发明的另一个方面,提供了一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时可用于执行上述中任一项所述的方法。
由于采用了上述技术方案,本发明与现有技术相比,具有如下至少一项的有益效果:
本发明提供的针对分布式通信中间件实现可扩展传输协议的方法、终端,可以为不同的CORBA中间件产品开发特定的传输插件,将传输插件运用到每个ORB产品后,应用程序即能够通过传输层互相通信。
本发明提供的针对分布式通信中间件实现可扩展传输协议的方法、终端,可以将CORBA中间件适配到高速总线(SRIO、PCIe等)上,能够弥补CORBA中间件默认支持TCP、UDP传输协议的不足,提高CORBA中间件的吞吐量、时延及抖动等性能指标。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明一优选实施例中客户端初始化过程的流程图。
图2为本发明一优选实施例中服务端初始化过程的流程图。
图3为本发明一优选实施例中可扩展传输协议对象关系示意图。
图4为本发明一优选实施例中对象请求过程的流程图。
图5为本发明一优选实施例中创建连接过程的流程图。
具体实施方式
下面对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
本发明一实施例提供了一种针对分布式通信中间件实现可扩展传输协议的方法,可以包括如下步骤:
S100,分别对CORBA中间件的客户端和服务端进行初始化,获得相应的传输协议框架工厂对象、连接对象和监听者对象;
S200,在初始化后的客户端和服务端之间执行以下操作:
S201,客户端进行触发对象请求调用,将请求的数据进行打包,得到GIOP格式的数据包;
S202,客户端判断是否存在可用的连接,如果不存在可用连接,则进行创建连接过程;如果存在可用连接,则直接进入下一步写操作;
S203,客户端调用连接对象的写接口,将GIOP格式的数据包通过客户端的传输协议层发送给服务端;
S204,服务端的传输协议层收到客户端的数据包后,首先读取帧头部分,然后提取数据部分,得到解析后的请求数据;
S205,服务端根据解析后的请求数据,查询本地的待请求的对象是否已被激活;如果待请求的对象未被激活,则服务端生成请求异常;如果待请求的对象已被激活,则服务端调用本地连接对象相关接口;
S206,服务端通过连接对象的写接口将请求结果发送给客户端;
S207,客户端接收到请求结果进行后续处理,至此,CORBA中间件基于扩展协议框架完成一次远程连接请求调用过程。
在S100中,对于传输协议框架工厂对象、连接对象和监听者对象,进一步说明如下:
ProtocolProperties是ORB核心的一部分。传输层相关的服务质量和端点信息通过属性传递给传输层。Factories组件在创建Conenction和Listener时,客户端的协议属性可以作为标准的客户端策略来配置,服务端的协议属性可以传递给POA的创建操作。
在S207中,可扩展传输协议主要在客户端和服务端的初始化过程中,描述了如何将SRIO、PCIe总线封装为可扩展传输协议。可扩展协议是指相对于CORBA默认的传输协议,本实施例实现了将SRIO、PCIE等特殊高速总线也封装到CORBA中的传输协议层。
在一优选实施例中,对CORBA中间件的客户端进行初始化,可以包括如下步骤:
S101,客户端调用对象请求代理初始化接口,在初始化接口中传入传输协议的类型、目标地址和端口号;
S102,客户端创建协议属性对象,该对象用于将相关的服务质量和端点信息传递给客户端的传输协议层;
S103,客户端创建指定传输协议框架工厂对象,工厂对象包括三个成员,其中,前两个成员分别为创建连接对象和创建监听者对象两个函数指针,第三个成员用于为客户端的传输协议层配置标识符,对于不同的客户端的传输协议层均配置有其唯一的标识符;
S104,通过上述步骤完成客户端初始化,等待客户端发送连接请求。
在S103中,进一步地,创建连接对象和创建监听者对象分别为create_connection()和create_listener()。
在一具体应用实例中,客户端创建的协议属性对象,可以包括:目标地址、窗口大小和最大包大小。
在一优选实施例中,对CORBA中间件的服务端进行初始化,可以包括如下步骤:
S10i,服务端调用可移植适配器初始化接口,通过初始化接口在可移植适配器对象中配置可移植适配器策略;
S10ii,服务端创建协议属性对象,该对象用于将相关的服务质量和端点信息传递给服务端的传输协议层;
S1Oiii,服务端创建指定传输协议框架工厂对象,工厂对象包括三个成员,其中,前两个成员分别为创建连接对象和监听者对象的函数指针,第三个成员用于为传输层配置标识符,对于不同的传输层均配置有其唯一的标识符;
S10iv,服务端传输协议框架工厂对象创建监听者对象;
S10v,服务端可移植适配器调用监听者对象的accept接口,等待客户端的连接请求;
S10vi,服务端接接收到连接请求,创建服务端的连接对象。
在一具体应用实例中,服务端创建的协议属性对象,可以包括:协议对象包括目标地址、窗口大小、最大包大小等质量服务要求。
在一优选实施例中,进行创建连接过程,可以包括如下步骤:
S2021,客户端创建本地连接对象,本地连接对象采用链表结构,包括监听器指针、服务端描述器、关闭标识和连接标识;
S2022,客户端通过调用本地连接对象的连接接口发送连接请求,连接请求包括服务端描述器和超时时间;
S2023,服务端通过监听者对象的accept接口接收来自于客户端的连接请求;
S2024,服务端验证连接请求,如果连接请求验证通过,则创建服务端本地连接;如果连接请求验证失败,则服务端返回拒绝响应。
在S2021中,进一步地:
监听器指针:指向监听器对象,对服务器端而言,监听器用于创建连接。
服务端描述器:客户端所连接的服务端配置信息。
关闭标识:ORB是否在连接关闭时发送GIOP::CloseConnection消息的标志。当服务端或者客户端不能检测到对端何时断开时,这是需要的。
连接标识:连接是否已建立的标志。由ORB使用,以保证只有在连接已建立的情况下才能被关闭,并且每个连接只能被关闭一次。
在一具体应用实例中,帧头部分,包括:数据端的长度和协议类型;数据部分,包括:对象标识、接口名称和接口参数。
下面结合附图以及一具体应用实例,对本发明上述实施例提供的技术方案进一步说明。
在本发明上述实施例中,设计了如下技术特征:
描述对象(Profile):保存着服务端监听端点信息,客户端使用该信息与服务端连接,例如对SRIO传输协议而言,监听端点信息可以设备标识;
连接对象(Connection):持有客户端连接、服务端连接的状态信息。提供了建立、读写、关闭连接的操作;
监听者对象(Listener):Listener对象与服务端对象关联,负责接收客户端连接请求,建立并管理服务端连接。
对象请求代理(ORB,Obiect Request Broker):是对象总线,它可以让对象透明的向本地或远程的其他对象发送请求或从那里接受响应。ORB使对象可以在运行时相互发现和调用对方的服务。
可移植适配器(POA,Portable Object Adapter):是一个对象管理器,主要用于负责创建、激活、定位以及回收对象等操作。
可互操作对象引用(IOR,Interoperable Object References):提供了关于类型、协议支持和可用ORB服务的信息。
在该具体应用实例中,针对分布式通信中间件实现可扩展传输协议的方法可以包括CORBA中间件可扩展传输协议初始化和数据收发两大过程,以下分别详细描述两大过程的实施步骤。
其中,可扩展传输协议初始化又可以分为客户端初始化和服务端初始化。
如图1所示,CORBA中间件客户端初始化步骤如下:
步骤1:客户端ORB初始化接口调用,在初始化接口中传入传输协议类型、目标地址、端口号等。
步骤2:客户端创建协议属性(ProtocolProperties)对象,该协议对象包括目标地址、窗口大小、最大包大小等质量服务要求。
步骤3:客户端创建指定传输协议框架工厂,例如SRIO、PCIE框架工厂对象,该工厂对象包含三个成员,前两个为创建Connection对象和Listener对象的函数指针,第三个成员为传输层配置标识符,不同的传输层都有其唯一的标识符。
步骤4:初始化完成完成,等待客户端发送连接请求。
如图2所示,CORBA中间件服务端初始化步骤如下:
步骤1:服务端POA初始接口调用,POA对象配置POA策略,包括连接策略、响应超时等参数。
步骤2:服务端创建协议属性(ProtocolProperties)对象,该协议对象包括连接策略、响应超时等参数。
步骤3:服务端创建指定传输协议框架工厂,例如SRIO、PCIE框架工厂对象,该工厂对象包含三个成员,前两个为创建Connection对象和Listener对象的函数指针,第三个成员为传输层配置标识符,不同的传输层都有其唯一的标识符。
步骤4:服务端传输协议框架工厂创建Listener对象。
步骤5:服务端POA调用Listener对象的accept接口,等待连接请求。
图3为客户端和服务端之间的可扩展传输协议对象关系,结合图4所示的对象请求过程,该具体应用实例中客户端和服务端之间的可扩展传输协议对象之间的数据收发过程,包括:
步骤1:客户端进行触发对象请求调用,将请求的参数进行打包。
步骤2:客户端判断是否存在可用的连接,如果不存在,则进行创建连接过程;如果存在可用连接,则直接进入下一步写操作。
其中,步骤2中的创建连接过程如图5所示,包含步骤如下:
步骤2.1:客户端创建本地Connection对象,该对象是链表结构,包含监听器指针、服务端描述器、关闭标识、连接标识等。
步骤2.2:客户端通过调用Connection对象的Connect接口发送连接请求,连接请求包含服务端描述器、超时时间。
步骤2.3:服务端通过Listener对象的accept接口接收来自于客户端的连接请求。
步骤2.4:服务端验证连接请求。如果连接请求验证通过,则创建服务端本地连接;如果服务端验证请求失败,则服务端返回拒绝响应;
步骤3:客户端调用Connection对象的写接口,将GIOP格式的数据包发送给服务端。
步骤4:服务端的传输协议层收到客户端的数据包后,首先读取帧头部分,包含数据端的长度、协议类型等;然后提取数据部分,包括对象标识、接口名称、接口参数。
步骤5:服务端根据解析后的请求信息,查询本地的待请求的对象是否已被激活。如果待请求的对象未被激活,则服务端生成请求异常;如果待请求已被激活,则服务端调用本地的对象相关接口。
步骤6:服务端将请求的结果通过Connection对象的写接口将请求结果发送给客户端。
步骤7:客户端收到请求结果进行后续处理,至此,CORBA中间件基于扩展协议框架完成一次远程请求调用过程。
本发明一实施例提供了一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时可用于执行本发明上述实施例中任一项的方法。
可选地,存储器,用于存储程序;存储器,可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-access memory,缩写:RAM),如静态随机存取存储器(英文:static random-access memory,缩写:SRAM),双倍数据率同步动态随机存取存储器(英文:Double Data Rate Synchronous Dynamic Random Access Memory,缩写:DDR SDRAM)等;存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory)。存储器用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器中。并且上述的计算机程序、计算机指令、数据等可以被处理器调用。
上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器中。并且上述的计算机程序、计算机指令、数据等可以被处理器调用。
处理器,用于执行存储器存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。
处理器和存储器可以是独立结构,也可以是集成在一起的集成结构。当处理器和存储器是独立结构时,存储器、处理器可以通过总线耦合连接。
本发明上述实施例提供的针对分布式通信中间件实现可扩展传输协议的方法、终端,针对CORBA中间件可扩展SRIO、PCIE等总线实现传输协议扩展,能够弥补CORBA中间件默认支持TCP、UDP传输协议的不足,提高CORBA中间件的吞吐量、时延及抖动等性能指标。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本发明上述实施例中未尽事宜均为本领域公知技术。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (7)
1.一种针对分布式通信中间件实现可扩展传输协议的方法,其特征在于,包括:
分别对CORBA中间件的客户端和服务端进行初始化,获得相应的传输协议框架工厂对象、连接对象和监听者对象;
在初始化后的客户端和服务端之间执行以下操作:
客户端进行触发对象请求调用,将请求的数据进行打包,得到GIOP格式的数据包;
客户端判断是否存在可用的连接,如果不存在可用连接,则进行创建连接过程;如果存在可用连接,则直接进入下一步写操作;
客户端调用连接对象的写接口,将GIOP格式的数据包通过客户端的传输协议层发送给服务端;
服务端的传输协议层收到客户端的数据包后,首先读取帧头部分,然后提取数据部分,得到解析后的请求数据;
服务端根据解析后的请求数据,查询本地的待请求的对象是否已被激活;如果待请求的对象未被激活,则服务端生成请求异常;如果待请求的对象已被激活,则服务端调用本地连接对象相关接口;
服务端通过连接对象的写接口将请求结果发送给客户端;
客户端接收到请求结果进行后续处理,至此,CORBA中间件基于扩展协议框架完成一次远程连接请求调用过程;
所述对CORBA中间件的客户端进行初始化,包括:
客户端调用对象请求代理初始化接口,在初始化接口中传入传输协议的类型、目标地址和端口号;
客户端创建协议属性对象,该对象用于将相关的服务质量和端点信息传递给客户端的传输协议层;
客户端创建指定传输协议框架工厂对象,所述工厂对象包括三个成员,其中,前两个成员分别为创建连接对象和创建监听者对象两个函数指针,第三个成员用于为客户端的传输协议层配置标识符,对于不同的客户端的传输协议层均配置有其唯一的标识符;
通过上述步骤完成客户端初始化,等待客户端发送连接请求;
所述对CORBA中间件的服务端进行初始化,包括:
服务端调用可移植适配器初始化接口,通过初始化接口在可移植适配器对象中配置可移植适配器策略;
服务端创建协议属性对象,该对象用于将相关的服务质量和端点信息传递给服务端的传输协议层;
服务端创建指定传输协议框架工厂对象,所述工厂对象包括三个成员,其中,前两个成员分别为创建连接对象和监听者对象的函数指针,第三个成员用于为传输层配置标识符,对于不同的传输层均配置有其唯一的标识符;
服务端传输协议框架工厂对象创建监听者对象;
服务端可移植适配器调用监听者对象的accept接口,等待客户端的连接请求;
服务端接接收到连接请求,创建服务端的连接对象。
2.根据权利要求1所述的针对分布式通信中间件实现可扩展传输协议的方法,其特征在于,所述客户端创建的协议属性对象,包括:目标地址、窗口大小和最大包大小。
3.根据权利要求1所述的针对分布式通信中间件实现可扩展传输协议的方法,其特征在于,所述服务端创建的协议属性对象包括:协议对象包括目标地址、窗口大小、最大包大小。
4.根据权利要求1所述的针对分布式通信中间件实现可扩展传输协议的方法,其特征在于,所述进行创建连接过程,包括:
客户端创建本地连接对象,所述本地连接对象采用链表结构,包括监听器指针、服务端描述器、关闭标识和连接标识;
客户端通过调用本地连接对象的连接接口发送连接请求,所述连接请求包括服务端描述器和超时时间;
服务端通过监听者对象的accept接口接收来自于客户端的连接请求;
服务端验证连接请求,如果连接请求验证通过,则创建服务端本地连接对象;如果连接请求验证失败,则服务端返回拒绝响应。
5.根据权利要求4所述的针对分布式通信中间件实现可扩展传输协议的方法,其特征在于,所述监听器指针,用于指向监听器对象,并用于服务端创建连接;
所述服务端描述器,用于客户端所连接的服务端配置信息;
所述关闭标识,用于标志ORB是否在连接关闭时发送GIOP::CloseConnection消息;
所述连接标识,用于标志连接是否已建立;所述连接标识通过ORB使用,以保证只有在连接已建立的情况下才能被关闭,且每个连接只能被关闭一次。
6.根据权利要求1所述的针对分布式通信中间件实现可扩展传输协议的方法,其特征在于,所述帧头部分,包括:数据端的长度和协议类型;所述数据部分,包括:对象标识、接口名称和接口参数。
7.一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时可用于执行权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210512728.7A CN114900568B (zh) | 2022-05-05 | 2022-05-05 | 针对分布式通信中间件实现可扩展传输协议的方法、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210512728.7A CN114900568B (zh) | 2022-05-05 | 2022-05-05 | 针对分布式通信中间件实现可扩展传输协议的方法、终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114900568A CN114900568A (zh) | 2022-08-12 |
CN114900568B true CN114900568B (zh) | 2024-04-02 |
Family
ID=82722683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210512728.7A Active CN114900568B (zh) | 2022-05-05 | 2022-05-05 | 针对分布式通信中间件实现可扩展传输协议的方法、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114900568B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020026299A (ko) * | 2002-02-14 | 2002-04-09 | 안병엽 | 코바에서의 그룹 통신 시스템 및 방법 |
CN105162858A (zh) * | 2015-08-20 | 2015-12-16 | 中国人民解放军国防科学技术大学 | 针对corba中间件的通用传输协议框架、通信系统及方法 |
CN110071839A (zh) * | 2019-04-29 | 2019-07-30 | 湖南理工学院 | 支持数字信号处理器的corba通信装置 |
CN111683069A (zh) * | 2020-05-28 | 2020-09-18 | 杭州绿度信息技术有限公司 | 一种基于netty框架的自定义通信协议及服务方法 |
CN113190388A (zh) * | 2021-04-13 | 2021-07-30 | 厦门路桥信息股份有限公司 | Tcp接口测试方法、介质、设备及装置 |
CN113965468A (zh) * | 2021-09-15 | 2022-01-21 | 中国航空工业集团公司西安飞机设计研究所 | 一种公共框架网络设计方法 |
CN113992693A (zh) * | 2021-10-22 | 2022-01-28 | 中国科学院计算机网络信息中心 | 一种数据的传输方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127517B2 (en) * | 2000-12-27 | 2006-10-24 | International Business Machines Corporation | Protocol adapter framework for integrating non-IIOP applications into an object server container |
US8112763B2 (en) * | 2005-11-29 | 2012-02-07 | International Business Machines Corporation | Computer-implemented method, apparatus, and computer program product for transmitting information between CORBA applications and servers utilizing HTTP |
-
2022
- 2022-05-05 CN CN202210512728.7A patent/CN114900568B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020026299A (ko) * | 2002-02-14 | 2002-04-09 | 안병엽 | 코바에서의 그룹 통신 시스템 및 방법 |
CN105162858A (zh) * | 2015-08-20 | 2015-12-16 | 中国人民解放军国防科学技术大学 | 针对corba中间件的通用传输协议框架、通信系统及方法 |
CN110071839A (zh) * | 2019-04-29 | 2019-07-30 | 湖南理工学院 | 支持数字信号处理器的corba通信装置 |
CN111683069A (zh) * | 2020-05-28 | 2020-09-18 | 杭州绿度信息技术有限公司 | 一种基于netty框架的自定义通信协议及服务方法 |
CN113190388A (zh) * | 2021-04-13 | 2021-07-30 | 厦门路桥信息股份有限公司 | Tcp接口测试方法、介质、设备及装置 |
CN113965468A (zh) * | 2021-09-15 | 2022-01-21 | 中国航空工业集团公司西安飞机设计研究所 | 一种公共框架网络设计方法 |
CN113992693A (zh) * | 2021-10-22 | 2022-01-28 | 中国科学院计算机网络信息中心 | 一种数据的传输方法及系统 |
Non-Patent Citations (4)
Title |
---|
amp ; gt ; .IETF .2000,全文. * |
amp ; lt ; draft-xie-rserpool-enrp-01.txt amp * |
Q. Xie ; Motorola ; R. R. Stewart ; Cisco Systems ; Q. Xie ; Motorola ; R. R. Stewart ; Cisco Systems ; .Enpoint Name Resolution Protocol (enrp) amp * |
吕浩 ; 刘文科.一种CORBA中间件通信时延性能优化方法.现代导航.2021,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN114900568A (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108234670B (zh) | 一种基于zookeeper和netty的分布式远程调用方法 | |
Srinivasan | RPC: Remote procedure call protocol specification version 2 | |
US8635353B2 (en) | Reception according to a data transfer protocol of data directed to any of a plurality of destination entities | |
US10303529B2 (en) | Protocol for communication of data structures | |
US7506344B2 (en) | Method for transferring data in a system having multiple transports | |
CN114124929A (zh) | 跨网络的数据处理方法和装置 | |
CN114900568B (zh) | 针对分布式通信中间件实现可扩展传输协议的方法、终端 | |
WO2021238259A1 (zh) | 一种数据传输方法、装置、设备及计算机可读存储介质 | |
US7562109B2 (en) | Connectivity confirmation method for network storage device and host computer | |
US11444880B2 (en) | Traffic control method and related apparatus | |
JP6480082B2 (ja) | 加入者識別モジュール(sim)アクセスプロファイル(sap)の改善 | |
EP3573306A1 (en) | Data processing method and device utilized in client terminal | |
CN114363427A (zh) | 一种基于浏览器实时获取主机设备信息的方法 | |
US9092779B2 (en) | Heuristics processing | |
US7839875B1 (en) | Method and system for an efficient transport loopback mechanism for TCP/IP sockets | |
CN116032498A (zh) | 一种内存区域注册方法、装置及设备 | |
US7290055B2 (en) | Multi-threaded accept mechanism in a vertical perimeter communication environment | |
KR100900963B1 (ko) | 네트워크 프로토콜 패킷 전송을 위한 하드웨어 장치 및 그방법 | |
CN110557428A (zh) | 一种基于Kubernetes的脚本解释型服务代理方法和系统 | |
AU2018373682A1 (en) | Method for remote management of a device connected to a residential gateway | |
CN116743587B (zh) | 一种基于异构计算加速卡的虚拟网络接口实现方法及装置 | |
Trifunović et al. | Data Exchange Interfaces in Automotive SOA | |
CN113176957B (zh) | 一种基于rpc的远程应用自动化系统 | |
CN115208937A (zh) | 业务请求处理方法及装置 | |
CN116846950A (zh) | 一种基于mqtt的远程终端交互方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |