CN105162858A - 针对corba中间件的通用传输协议框架、通信系统及方法 - Google Patents
针对corba中间件的通用传输协议框架、通信系统及方法 Download PDFInfo
- Publication number
- CN105162858A CN105162858A CN201510514259.2A CN201510514259A CN105162858A CN 105162858 A CN105162858 A CN 105162858A CN 201510514259 A CN201510514259 A CN 201510514259A CN 105162858 A CN105162858 A CN 105162858A
- Authority
- CN
- China
- Prior art keywords
- message
- server
- module
- sent
- socket
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/465—Distributed object oriented systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0233—Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Abstract
本发明涉及无线通信领域,具体说是针对CORBA中间件的通用传输协议框架、通信系统及方法,其中通用传输协议框架包括IIOP模块、Socket套接字模块、网络协议栈模块和若干虚拟网卡,来自Socket套接字模块的IP报文经对应的虚拟网卡完成IP报文与对应协议报文的转换后,通过对应的底层驱动程序将转换后的报文发送到服务器;服务器收到的报文经对应的底层驱动程序发送至对应的虚拟网卡,该虚拟网卡将报文封装成IP报文后发送到Socket套接字模块。当需要支持一个新的底层传输机制时,不必对CORBA本身代码进行修改,而只需在操作系统网络协议栈中增加对新的传输机制的支持,这样就避免了降低CORBA性能的可能。
Description
技术领域
本发明涉及无线通信领域,适用于采用CORBA(CommonObjectRequestBrokerArchitecture,公共对象请求代理体系结构)技术标准来屏蔽硬件平台所采用的多种数据传输机制的软件无线电系统,具体说是一种针对CORBA中间件的通用传输协议框架,能够采用一套统一的操作流程,屏蔽软件无线电系统硬件平台所采用的多种底层数据传输机制,为运行在CORBA中间件上的不同应用程序之间的分布式通信,提供一致的通信协议,满足软件无线电系统中不同应用程序之间的标准通信要求。
背景技术
由于多种通信体制的层出不穷和不断涌现,以及用户在不同场景中提出的不同通信需求,通信领域中多种通信体制共存的现实情况必将长期存在。在此情况下,软件无线电(SoftwareDefinedRadio,SDR)技术是解决不同通信设备之间的互联互通互操作的有效的技术手段。软件无线电技术是指尽可能的将数字电路靠近射频天线,同时采用可编程的软件来替代功能固化的硬件来实现多种通信体制,这样,当两个通信设备需要采用同一种通信体制相互通信时,只需要在设备上同时加载和运行实现这种通信体制的软件程序即可。也就是说,软件无线电技术使通信设备成为一种通用的平台,在同一个平台上只需加载不同的通信软件,即可实现不同的通信体制,满足用户的不同通信需求。
软件无线电技术的核心是软件无线电系统平台的体系架构。当前得到广泛认可并得到广泛应用的是原美军联合战术无线电系统(JointTacticalRadioSystem,JTRS)项目提出的、目前由美军联合战术网络中心(JointTacticalNetworkingCenter,JTNC)继续维护的软件通信体系结构(SoftwareCommunicationsArchitecture,SCA)。
一直以来,SCA规范采用CORBA(CommonObjectRequestBrokerArchitecture,公共对象请求代理体系结构)作为软件无线电系统平台的“软总线”。CORBA是由OMG(ObjectManagementGroup,对象管理组织)制定的一种分布式中间件技术标准,它在SCA规范出现以前已经在商业计算机领域得到了广泛应用,CORBA标准的目的是使运行于多种处理器架构(例如x86、MIPS、ARM)、多种操作系统(例如Windows、Linux、VxWorks)、多种编程语言(例如C++、Ada、JAVA、C)的应用模块能够以统一的函数调用方式进行相互通信,而且无论相互调用的模块是部署在同一个处理器(本地),还是部署在不同的处理器(异地),函数调用的方式完全一致。而负责将处理器、操作系统、编程语言、部署位置屏蔽起来的工作则全部由具体的CORBA中间件软件来实现,这样就使得所有运行在CORBA中间件之上的应用模块就像工作在一条统一的“软总线”一样,从而使应用模块获得了很好的可移植性和可重用性。因此,CORBA软总线是实现软件无线电平台通用化的核心关键技术。目前,几乎所有的SCA系统都采用了CORBA中间件技术。
目前CORBA在SCA系统中的应用存在一个很突出的技术缺陷,即CORBA无法以标准统一的方式适应SCA系统平台上多种数据传输机制。这是因为,如前所述,CORBA技术最初针对的应用背景是计算机领域,在这一领域,部署在不同计算机上的应用模块之间的底层数据传输机制只有以太网一种,因此在这些领域中应用的CORBA中间件也只需支持以太网一种方式。而与之相比,软件无线电系统是一个包含多种数据传输机制的异构处理平台,除以太网以外,还有CPCI、VME、RapidIO、EMIF、HPI等多种数据传输方式。为了使CORBA在软件无线电系统中继续发挥“软总线”作用,就必然要求CORBA能够很好的支持多种不同的底层传输机制。
然而,现有CORBA中间件技术并未很好的解决这一问题。如图1所示,按照CORBA中间件标准提出的“可拔插协议框架”机制,当位于处理器-1上的应用模块-1作为服务器,需要支持IIOP、HPIIOP和RIOIOP三种传输协议,根据该机制原理将HPIIOP模块和RIOIOP模块添加到“可插拔协议框架”中,而位于处理器-2上的应用模块-2作为客户端,仅支持IIOP和HPIIOP传输协议,当应用模块-2需要采用HPIIOP协议与应用模块-1进行通信时,由于作为服务器的应用模块-1不能同时支持IIOP、HPIIOP和RIOIOP三种协议,只能通过配置支持其中的一种,从而服务器可能选择错误的IIOP或者RIOIOP协议与之通信,这样就导致了不同处理器之间无法正常通信的情况,从而不能满足软件无线电系统对异构处理器实现无缝通信的要求;另一方面,CORBA中间件默认是只支持IIOP一种传输协议,按照如图1所示,运行于处理器-1上的CORBA中间件如果需要支持HPIIOP和RIOIOP协议,则需要在“可拔插协议框架”中增加HPIIOP和RIOIOP模块,用于处理HPIIOP和RIOIOP协议报文,并且还需要在传输接口驱动层增加对HPI接口和RapidIO接口的驱动程序,因此需要修改CORBA中间件软件的源代码,修改源程序会带来破坏CORBA中间件软件内部结构、降低CORBA性能的风险,同时协议的复杂度直接影响到开发的时间和成本,不利于软件无线电系统的开发。
现有技术的缺点如下:
1.尽管已有的CORBA中间件技术标准提出了一个支持不同传输机制的“可拔插协议框架”,但根据这个框架,当一个应用模块需要支持多种传输协议时,必须指定多种协议类型而且不能同时支持多种协议,这会导致其他应用模块与该模块进行CORBA通信时,选择错误的传输协议、进而导致无法通信的情况。
2.按照CORBA现有的“可拔插协议框架”,如果要支持一种新的传输协议,必然对已有的CORBA中间件程序本身进行较大修改,这不仅会增加开发的时间和成本,更加严重的是,由于不同编程人员对CORBA技术标准的理解程度不同,很可能在修改过程中破坏CORBA本身优秀的设计模式,从而导致CORBA性能的下降。
发明内容
针对现有CORBA技术标准在软件无线电系统中应用时无法有效支持底层多种传输协议,导致应用模块相互通信时有可能选择错误的传输协议,同时,还会对CORBA本身代码进行大量修改,导致通信性能下降的技术问题,本发明提出一种针对CORBA中间件的通用传输协议框架,基于这种通用的传输框架,无论底层采用何种传输协议,对于应用模块而言,都只需使用已有的基于以太网的IIOP(InternetInter-ORBProtocol,互联网ORB互通协议)协议,这样就避免了应用模块相互通信时选择错误的传输协议的可能。
本发明解决上述技术问题采用的技术方案是:针对CORBA中间件的通用传输协议框架,包括IIOP模块、Socket套接字模块、网络协议栈模块和若干虚拟网卡,其中:
IIOP模块,一方面,负责接收来自客户端ORB核心的请求,将请求封装成标准的IIOP报文并发送至Socket套接字模块;另一方面,将收到的IIOP报文进行解封装处理后发送至服务器ORB核心解析;
Socket套接字模块,一方面接收来自网络协议栈或各个虚拟网卡的注册请求,记录注册请求的网络协议栈或各个虚拟网卡所在的网段,并将来自IIOP模块的报文封装成IP报文格式,再根据注册请求时记录网段的目的IP地址分发该IP报文到网络协议栈或对应的虚拟网卡;另一方面,Socket套接字模块将接收的IP报文转换成IIOP报文后发送至IIOP模块;
网络协议栈,当客户端与服务器采用以太网传输机制的通信方式时,一方面,来自Socket套接字模块的IP报文经网络协议栈进行封装报文头处理后通过以太网驱动程序发送到服务器;另一方面,服务器收到的报文通过以太网驱动程序发送至网络协议栈,网络协议栈处理报文后以标准的IP报文发送到Socket套接字模块;
虚拟网卡,当客户端与服务器采用非以太网传输机制的通信方式时,一方面,来自Socket套接字模块的IP报文经对应的虚拟网卡完成IP报文与对应协议报文的转换后,通过对应的底层驱动程序将转换后的报文发送到服务器;另一方面,服务器收到的报文经对应的底层驱动程序发送至对应的虚拟网卡,该虚拟网卡将报文封装成IP报文后发送到Socket套接字模块。
作为优选,所述网络协议栈主要包括网络层、数据链路层和物理层,来自Socket套接字模块的报文依次经网络层、数据链路层和物理层封装报文头处理,再通过以太网驱动程序将报文发送到服务器。
作为优选,所述服务器收到的报文依次经过物理层、数据链路层和网络层处理后以标准的IP报文发送到Socket套接字模块。
作为优选,每一所述虚拟网卡包括注册模块和网络层两个模块,注册模块向Socket套接字模块注册该虚拟网卡所在网段信息;网络层根据自身维护的IP地址到对应协议地址映射表,解析报文头信息,完成报文中IP地址和对应协议地址的转换,同时完成IP报文和对应协议报文的转换。
作为优选,每一所述虚拟网卡与对应的驱动程序直接相连。
作为优选,每一所述虚拟网卡从对应驱动程序接收对应协议报文时,网络层负责解析对应报文头并根据IP地址到对应协议地址映射表找到目的IP地址,将对应协议报文封装成IP报文发送到Socket套接字模块。
基于本发明的通用传输协议框架,当需要支持一个新的底层传输机制时,不必对CORBA本身代码进行修改,而只需在操作系统网络协议栈中增加对新的传输机制的支持,这样就避免了降低CORBA性能的可能。基于本发明提出的通用传输协议框架,可以针对软件无线电系统具有多种传输机制的特点,实现高度模块化、性能优化的CORBA中间件。
本发明还提供一种应用针对CORBA中间件的通用传输协议框架的通讯系统,包括客户端和服务器,客户端和服务器均包括应用层、CORBA中间件、通用传输协议框架、传输接口驱动层以及传输总线;当客户端应用层的应用模块得到服务器应用层的应用模块的对象引用时,向服务器的所述应用模块发送调用请求,客户端的所述应用模块首先将请求发送给客户端CORBA中间件的ORB核心,该ORB核心对请求进行解析后将请求发送到客户端通用传输协议框架,该通用传输协议框架根据对象引用中的地址信息确定通信机制,再将报文封装成通信机制的对应协议报文,并发送给客户端对应的传输接口驱动层,该驱动层通过客户端对应的传输总线将报文发送到服务器;服务器通过服务器对应的传输总线将报文发送至服务器对应的传输接口驱动层,服务器的通用传输协议框架接收该驱动层的报文,并将报文解封装处理后发送至服务器CORBA中间件的ORB核心解析,服务器应用层的应用模块根据请求报文内容准备封装相应的应答报文。
作为优选,所述服务器支持以太网总线、HPI总线和RapidIO总线三种通信机制。
作为优选,所述客服端支持以太网总线和HPI总线两种通信机制。
本发明设计的一种应用针对CORBA中间件的通用传输协议框架的通信系统是以传统的以太网传输机制为基础,采用虚拟网卡的方式屏蔽硬件平台底层多种数据传输机制,为运行在CORBA中间件上的不同应用程序之间的分布式通信,提供统一的通信协议,避免了采用CORBA中间件自身的“可拔插协议框架”带来的选择错误协议类型而导致无法正常通信的情况发生,同时使得CORBA应用程序开发人员可专注于功能实现,而不需要关心采用何种通信协议。
本发明再提供一种上述通信系统的通信方法,其包括以下步骤:
(1)客户端通过CORBA中间件提供的获取对象引用的方法,得到服务器的对象引用,发起对象调用请求,该调用请求首先发送到客户端ORB核心;(2)客户端ORB核心对调用请求进行解析,提取出服务器的地址信息,建立调用所需要的连接,并将请求发送到客户端IIOP模块进行封装;(3)该IIOP模块采用CDR编码规则,将请求封装成标准的IIOP报文,同时将该IIOP报文通过Socket发送到客户端Socket套接字模块;(4)Socket套接字模块将IIOP报文进行添加IP报文头处理,封装成标准的IP报文格式,并根据目的IP地址将IP报文发送到客户端对应的虚拟网卡;(5)虚拟网卡内部网络层首先解析收到的IP报文,提取出IP地址,查找IP地址到HPI地址映射表,将IP地址转换成HPI地址,同时将报文封装成HPIIOP协议报文,并将报文发送至客户端HPI接口驱动程序;(6)该HPI接口驱动程序调用发送驱动函数将HPIIOP协议报文通过HPI接口发送到服务器;(7)服务器的HPI接口驱动程序调用接收驱动函数接收来自客户端数据,并将数据发送至服务器虚拟网卡;(8)该虚拟网卡内部的网络层首先解析HPIIOP协议报文头,提取出HPI地址,查找HPI地址到IP地址映射表,找到目的IP地址,将HPI地址转换成IP地址,再将HPIIOP协议报文封装成IP报文,并直接发送至服务器Socket套接字模块;(9)该Socket套接字模块将IP报文去掉IP头,转换成IIOP报文,直接交给服务器IIOP模块处理;(10)该IIOP模块对IIOP报文进行解封装处理,去除IIOP报文头,提取出报文体中实际内容交给服务器ORB核心解析;(11)请求报文解析,服务器根据请求报文内容准备封装相应的应答报文
与现有技术相比,本发明的通信方法具有较强的通用性和可扩展性,如果需要增加一种新的传输协议,不需要对CORBA中间件源程序进行修改,只需在操作系统的协议栈中添加对应的虚拟网卡,保证了CORBA中间件内部优秀的设计模式和性能,从而减少了开发成本和时间周期。本方法还增加了CORBA中间件本身的适用范围,使其不仅能够更好地满足软件无线电系统对分布式通信的要求,而且可以应用于更多具有不同数据传输机制的平台。
附图说明
图1是现有技术针对CORBA中间件提供的可拔插协议框架体系结构图。
图2是本发明的通用传输协议框架的框架图。
图3是本发明应用通用传输协议框架的通信系统的结构图。
图4是本发明通信方法的流程图。
具体实施方式
下面结合附图详细介绍本发明的通用传输协议框架:
图2示出一种针对CORBA中间件的通用传输协议框架,包括IIOP模块、Socket套接字模块、网络协议栈模块和若干虚拟网卡,其中:
IIOP模块,一方面,负责接收来自客户端ORB核心的请求,将请求封装成标准的IIOP报文并发送至Socket套接字模块;另一方面,将收到的IIOP报文进行解封装处理后发送至服务器ORB核心解析;IIOP协议是TCP/IP协议在CORBA通信网络中的映射,它是GIOP(GeneralInter-ORBProtocol,通用ORB互通协议)协议的一种具体实现,GIOP包括编码方式、消息格式和对底层网络传输的要求三部分,GIOP采用的是CDR(CommonDataRepresentation,公共数据表示)编码规则,GIOP定义了8种类型的消息用于相互通信,GIOP对底层传输的要求是传输必需是面向连接且可靠的。
Socket套接字模块,一方面接收来自网络协议栈或各个虚拟网卡的注册请求,记录注册请求的网络协议栈或各个虚拟网卡所在的网段,并将来自IIOP模块的报文封装成IP报文格式,再根据注册请求时记录网段的目的IP地址分发该IP报文到网络协议栈或对应的虚拟网卡;另一方面,Socket套接字模块将接收的IP报文转换成IIOP报文后发送至IIOP模块。IIOP模块从ORB核心接收需要编码的请求,采用CDR编码规则封装成标准的IIOP报文,再将IIOP报文发送给Socket套接字模块;Socket套接字模块负责管理下层的网络协议栈和虚拟网卡,以及完成IP报文的分发工作,网络协议栈和虚拟网卡只有在向Socket套接字注册成功之后才能进行正常的通信。
网络协议栈,内部组成部分主要包括网络层、数据链路层和物理层,是报文传输网络中各层协议的总和,以TCP/IP协议为主,其形象的反映了一个网络中数据传输的过程,由上层协议到底层协议,再由底层协议到上层协议。当客户端与服务器采用以太网传输机制的通信方式时,来自Socket套接字模块的报文首先经过网络协议栈的网络层,在某些特殊要求情况下,网络层可以为报文提供路由服务,再依次经过数据链路层和物理层封装报文头处理,再通过底层以太网驱动程序将报文发送到接收端;同时接收端收到的报文由下而上经过物理层、数据链路层和网络层,最终以标准的IP报文发送到Socket套接字模块。
虚拟网卡,主要针对采用非以太网传输机制的通信方式,如HPI总线和RapidIO总线,该模块包括注册模块和网络层两个模块,注册模块向上层Socket套接字模块注册该虚拟网卡所在网段信息,只有注册成功该虚拟网卡和Socket套接字模块才能正常通信;网络层根据自身维护的IP地址到HPI地址(或其他协议地址)映射表,解析报文头信息,完成报文中IP地址和HPI地址(或其他协议地址)转换功能,同时完成IP报文和HPIIOP协议报文(或其他协议报文)的转换;针对不同的传输机制,每个虚拟网卡都与对应的底层驱动程序直接相连。当虚拟网卡从底层驱动程序接收HPIIOP协议报文时,负责解析HPIIOP报文头并根据IP地址到HPI地址映射表找到目的IP地址,将报文封装成IP报文发送到Socket套接字模块,这样就屏蔽了底层具体的传输机制,增加了本发明设计的通用传输协议框架的通用性和可扩展性。
网络协议栈是操作系统内部组成部分,在基于以太网的传输机制中,报文进入网络协议栈中经过各层协议的封装,最后经过以太网接口驱动程序发送出去;而虚拟网卡是针对基于HPI总线、RapidIO总线等非以太网传输机制,包括注册模块和网络层,注册模块负责向上层Socket套接字模块注册,网络层维护若干张IP地址到HPI地址(或其他协议地址)映射表,完成IP地址和HPI地址(或其他协议地址)互相转换功能,同时完成IP报文和HPIIOP报文(或其他协议报文)之间转换。
图3是本发明通信系统,主要包括应用层、CORBA中间件、通用传输协议框架、传输接口驱动层以及传输总线,其中本发明设计的一种针对CORBA中间件的通用传输协议框架介于CORBA中间件和传输接口驱动层之间,从而很好地屏蔽了不同的传输接口之间的差异性,为上层应用提供统一的通信方式。结合该图,运行于处理器-1上的应用模块-1作为服务器,处理器-1支持以太网总线、HPI总线和RapidIO总线三种通信机制;运行于处理器-2上的应用模块-2作为客户端,处理器-2支持以太网总线和HPI总线两种通信机制;当应用模块-2得到应用模块-1的对象引用时,向应用模块-1发送调用请求时,应用模块-2首先将请求发送给ORB核心,ORB核心对请求进行解析后将请求发送到通用传输协议框架,通用传输协议框架根据对象引用中的IP地址和端口号等地址信息判断具体采用何种通信机制,假设采用的是HPI总线的传输机制,通用传输协议框架则将报文最终封装成HPIIOP协议报文,发送给传输接口驱动层的HPI接口驱动程序,HPI接口驱动程序通过HPI总线将请求发送到处理器-1,完成请求的发送。
图4示出本发明的通信方法,客户端与服务器之间采用HPIIOP协议进行通信,步骤1表示客户端向服务对象发起远程对象调用请求,该调用请求首先发送到客户端的ORB核心;步骤2表示ORB核心对调用请求进行解析,提取出服务器的地址信息,建立调用所需要的连接;步骤3表示IIOP模块采用CDR编码规则,将请求封装成标准的IIOP报文,同时将该报文发送到Socket套接字模块,等待分发;步骤4表示Socket套接字模块对接收的IIOP报文进行添加IP报文头处理,封装成标准的IP报文格式,同时根据目的IP地址将IP报文发送到具体的虚拟网卡;步骤5表示虚拟网卡解析收到的IP报文,提取出IP地址,查找IP地址到HPI地址映射表,完成IP地址到HPI地址映射功能,同时将报文封装成HPIIOP协议报文并发送到HPI接口驱动程序;步骤6表示客户端HPI接口驱动程序调用发送驱动函数将HPIIOP协议报文通过HPI接口发送到服务器端;步骤7表示服务器端HPI接口驱动程序调用接收驱动函数接收来自客户端数据,交给服务器端的虚拟网卡进行报文解析处理;步骤8表示对收到的HPIIOP协议报文进行报文头解析,提取出HPI地址,查找HPI地址到IP地址映射表,找到目的IP地址,将报文封装成IP报文;步骤9表示接收来自虚拟网卡的IP报文,去除IP报文头,得到标准的IIOP报文,发送至IIOP模块进一步解析;步骤10表示IIOP模块对IIOP报文进行解析,去除IIOP报文头,提取出报文体实际内容;步骤11表示ORB核心对报文体进行解析,服务对象根据请求报文内容准备封装相应的应答报文。
以上对本发明实施例所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明实施例的原理以及实施方式进行了阐述,以上实施例的说明只适用于帮助理解本发明实施例的原理;同时,对于本领域的一般技术人员,依据本发明实施例,在具体实施方式以及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.针对CORBA中间件的通用传输协议框架,其特征在于:包括IIOP模块、Socket套接字模块、网络协议栈模块和若干虚拟网卡,其中:
IIOP模块,一方面,负责接收来自客户端ORB核心的请求,将请求封装成标准的IIOP报文并发送至Socket套接字模块;另一方面,将收到的IIOP报文进行解封装处理后发送至服务器ORB核心解析;
Socket套接字模块,一方面接收来自网络协议栈或各个虚拟网卡的注册请求,记录注册请求的网络协议栈或各个虚拟网卡所在的网段,并将来自IIOP模块的报文封装成IP报文格式,再根据注册请求时记录网段的目的IP地址分发该IP报文到网络协议栈或对应的虚拟网卡;另一方面,Socket套接字模块将接收的IP报文转换成IIOP报文后发送至IIOP模块;
网络协议栈,当客户端与服务器采用以太网传输机制的通信方式时,一方面,来自Socket套接字模块的IP报文经网络协议栈进行封装报文头处理后通过以太网驱动程序发送到服务器;另一方面,服务器收到的报文通过以太网驱动程序发送至网络协议栈,网络协议栈处理报文后以标准的IP报文发送到Socket套接字模块;
虚拟网卡,当客户端与服务器采用非以太网传输机制的通信方式时,一方面,来自Socket套接字模块的IP报文经对应的虚拟网卡完成IP报文与对应协议报文的转换后,通过对应的底层驱动程序将转换后的报文发送到服务器;另一方面,服务器收到的报文经对应的底层驱动程序发送至对应的虚拟网卡,该虚拟网卡将报文封装成IP报文后发送到Socket套接字模块。
2.根据权利要求1所述的通用传输协议框架,其特征在于:所述网络协议栈主要包括网络层、数据链路层和物理层,来自Socket套接字模块的报文依次经网络层、数据链路层和物理层封装报文头处理,再通过以太网驱动程序将报文发送到服务器。
3.根据权利要求2所述的通用传输协议框架,其特征在于:所述服务器收到的报文依次经过物理层、数据链路层和网络层处理后以标准的IP报文发送到Socket套接字模块。
4.根据权利要求1所述的通用传输协议框架,其特征在于:每一所述虚拟网卡包括注册模块和网络层两个模块,注册模块向Socket套接字模块注册该虚拟网卡所在网段信息;网络层根据自身维护的IP地址到对应协议地址映射表,解析报文头信息,完成报文中IP地址和对应协议地址的转换,同时完成IP报文和对应协议报文的转换。
5.根据权利要求4所述的通用传输协议框架,其特征在于:每一所述虚拟网卡与对应的驱动程序直接相连。
6.根据权利要求5所述的通用传输协议框架,其特征在于:每一所述虚拟网卡从对应驱动程序接收对应协议报文时,网络层负责解析对应报文头并根据IP地址到对应协议地址映射表找到目的IP地址,将对应协议报文封装成IP报文发送到Socket套接字模块。
7.一种应用权利要求1至6中任意一项所述通用传输协议框架的通讯系统,包括客户端和服务器,其特征在于:客户端和服务器均包括应用层、CORBA中间件、通用传输协议框架、传输接口驱动层以及传输总线;当客户端应用层的应用模块得到服务器应用层的应用模块的对象引用时,向服务器的所述应用模块发送调用请求,客户端的所述应用模块首先将请求发送给客户端CORBA中间件的ORB核心,该ORB核心对请求进行解析后将请求发送到客户端通用传输协议框架,该通用传输协议框架根据对象引用中的地址信息确定通信机制,再将报文封装成通信机制的对应协议报文,并发送给客户端对应的传输接口驱动层,该驱动层通过客户端对应的传输总线将报文发送到服务器;服务器通过服务器对应的传输总线将报文发送至服务器对应的传输接口驱动层,服务器的通用传输协议框架接收该驱动层的报文,并将报文解封装处理后发送至服务器CORBA中间件的ORB核心解析,服务器应用层的应用模块根据请求报文内容准备封装相应的应答报文。
8.根据权利要求7所述的通讯系统,其特征在于:所述服务器支持以太网总线、HPI总线和RapidIO总线三种通信机制。
9.根据权利要求8所述的通讯系统,其特征在于:所述客户端支持以太网总线和HPI总线两种通信机制。
10.一种权利要求7至9中任意一项所述通信系统的通信方法,其包括以下步骤:
(1)客户端通过CORBA中间件提供的获取对象引用的方法,得到服务器的对象引用,发起对象调用请求,该调用请求首先发送到客户端ORB核心;(2)客户端ORB核心对调用请求进行解析,提取出服务器的地址信息,建立调用所需要的连接,并将请求发送到客户端IIOP模块进行封装;(3)该IIOP模块采用CDR编码规则,将请求封装成标准的IIOP报文,同时将该IIOP报文通过Socket发送到客户端Socket套接字模块;(4)Socket套接字模块将IIOP报文进行添加IP报文头处理,封装成标准的IP报文格式,并根据目的IP地址将IP报文发送到客户端对应的虚拟网卡;(5)虚拟网卡内部网络层首先解析收到的IP报文,提取出IP地址,查找IP地址到HPI地址映射表,将IP地址转换成HPI地址,同时将报文封装成HPIIOP协议报文,并将报文发送至客户端HPI接口驱动程序;(6)该HPI接口驱动程序调用发送驱动函数将HPIIOP协议报文通过HPI接口发送到服务器;(7)服务器的HPI接口驱动程序调用接收驱动函数接收来自客户端数据,并将数据发送至服务器虚拟网卡;(8)该虚拟网卡内部的网络层首先解析HPIIOP协议报文头,提取出HPI地址,查找HPI地址到IP地址映射表,找到目的IP地址,将HPI地址转换成IP地址,再将HPIIOP协议报文封装成IP报文,并直接发送至服务器Socket套接字模块;(9)该Socket套接字模块将IP报文去掉IP头,转换成IIOP报文,直接交给服务器IIOP模块处理;(10)该IIOP模块对IIOP报文进行解封装处理,去除IIOP报文头,提取出报文体中实际内容交给服务器ORB核心解析;(11)请求报文解析,服务器根据请求报文内容准备封装相应的应答报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510514259.2A CN105162858B (zh) | 2015-08-20 | 2015-08-20 | 针对corba中间件的通用传输协议框架、通信系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510514259.2A CN105162858B (zh) | 2015-08-20 | 2015-08-20 | 针对corba中间件的通用传输协议框架、通信系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105162858A true CN105162858A (zh) | 2015-12-16 |
CN105162858B CN105162858B (zh) | 2018-11-27 |
Family
ID=54803610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510514259.2A Active CN105162858B (zh) | 2015-08-20 | 2015-08-20 | 针对corba中间件的通用传输协议框架、通信系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105162858B (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453334A (zh) * | 2016-10-19 | 2017-02-22 | 北京悦畅科技有限公司 | 一种通信协议切换方法、装置和系统 |
CN106534178A (zh) * | 2016-12-08 | 2017-03-22 | 中国电子科技集团公司第三十二研究所 | RapidIO网络通用套接字的实现系统及方法 |
CN106775616A (zh) * | 2016-11-10 | 2017-05-31 | 中国电子科技集团公司第二十八研究所 | 基于C++与Java混合编程的分布式服务系统 |
CN107239304A (zh) * | 2017-05-22 | 2017-10-10 | 哈尔滨工程大学 | 用于软件功能重构的装置及方法 |
CN107872431A (zh) * | 2016-09-27 | 2018-04-03 | 中兴通讯股份有限公司 | 一种数据收发方法、装置及基站 |
CN107995184A (zh) * | 2017-11-28 | 2018-05-04 | 营利度富信息系统(上海)有限公司 | 一种连接器及使用该连接器通讯的方法 |
CN109165010A (zh) * | 2018-08-15 | 2019-01-08 | 中国人民解放军国防科技大学 | 用于安卓系统的软件无线电开发方法 |
CN110134086A (zh) * | 2019-05-17 | 2019-08-16 | 温州大学 | 一种数字化车间实现中间件功能的数据采集及控制装置 |
CN110177125A (zh) * | 2018-05-15 | 2019-08-27 | 广东电网有限责任公司 | 一种中间件平台迁移方法及系统 |
CN110493351A (zh) * | 2019-08-28 | 2019-11-22 | 视联动力信息技术股份有限公司 | 一种视联网接入方法、装置、设备及存储介质 |
CN111565140A (zh) * | 2020-04-10 | 2020-08-21 | 中电科航空电子有限公司 | 同时支持can总线和以太网的分布式航空通信中间件 |
CN112199211A (zh) * | 2020-09-28 | 2021-01-08 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 基于RapidIO的CORBA中间件ORB间通信方法 |
CN112272202A (zh) * | 2020-09-18 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种管理软件服务端与系统内部组件的通信方法及系统 |
CN112714073A (zh) * | 2019-10-24 | 2021-04-27 | 中兴通讯股份有限公司 | 基于sr-iov网卡的报文分流方法、系统及存储介质 |
CN113127229A (zh) * | 2021-04-01 | 2021-07-16 | 中国北方车辆研究所 | 一种基于通信中间件的地面无人平台控制系统架构 |
CN113259404A (zh) * | 2020-02-12 | 2021-08-13 | 上海宝信软件股份有限公司 | 基于tcp/ip协议的工业通信中间件及其使用方法 |
CN113347188A (zh) * | 2021-06-02 | 2021-09-03 | 奥特酷智能科技(南京)有限公司 | 一种基于pcie及异构处理器的车载网络传输装置 |
CN113364856A (zh) * | 2021-06-03 | 2021-09-07 | 奥特酷智能科技(南京)有限公司 | 一种基于共享内存及异构处理器的车载以太网系统 |
CN113973104A (zh) * | 2021-09-16 | 2022-01-25 | 上海金仕达软件科技有限公司 | 基于事件的二进制通讯协议的交易系统及方法 |
CN114785474A (zh) * | 2022-03-31 | 2022-07-22 | 上海赫千电子科技有限公司 | 基于tsn时间敏感网络的车内some/ip传输方法、装置 |
CN114900568A (zh) * | 2022-05-05 | 2022-08-12 | 上海介方信息技术有限公司 | 针对分布式通信中间件实现可扩展传输协议的方法、终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007062379A2 (en) * | 2005-11-21 | 2007-05-31 | Prismtech Corporation | Method and apparatus for accelerating generic inter-orb protocol for a corba orb |
CN101026622A (zh) * | 2007-01-12 | 2007-08-29 | 华为技术有限公司 | 分布式系统对象请求传输方法、设备和分布式系统 |
US20110029678A1 (en) * | 2009-07-31 | 2011-02-03 | Sergiu Buciuc | Communications Using the Common Object Request Broker Architecture (CORBA) |
CN102208998A (zh) * | 2011-06-08 | 2011-10-05 | 中国人民解放军国防科学技术大学 | 基于fpga的corba通信装置 |
CN103684904A (zh) * | 2013-11-13 | 2014-03-26 | 厦门大学 | 基于ip三网融合网络监控系统 |
-
2015
- 2015-08-20 CN CN201510514259.2A patent/CN105162858B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007062379A2 (en) * | 2005-11-21 | 2007-05-31 | Prismtech Corporation | Method and apparatus for accelerating generic inter-orb protocol for a corba orb |
CN101026622A (zh) * | 2007-01-12 | 2007-08-29 | 华为技术有限公司 | 分布式系统对象请求传输方法、设备和分布式系统 |
US20110029678A1 (en) * | 2009-07-31 | 2011-02-03 | Sergiu Buciuc | Communications Using the Common Object Request Broker Architecture (CORBA) |
CN102208998A (zh) * | 2011-06-08 | 2011-10-05 | 中国人民解放军国防科学技术大学 | 基于fpga的corba通信装置 |
CN103684904A (zh) * | 2013-11-13 | 2014-03-26 | 厦门大学 | 基于ip三网融合网络监控系统 |
Non-Patent Citations (1)
Title |
---|
赵现纲 等: "基于CORBA的分布式智能Agent", 《计算机工程》 * |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872431A (zh) * | 2016-09-27 | 2018-04-03 | 中兴通讯股份有限公司 | 一种数据收发方法、装置及基站 |
CN107872431B (zh) * | 2016-09-27 | 2021-11-12 | 中兴通讯股份有限公司 | 一种数据收发方法、装置及基站 |
CN106453334A (zh) * | 2016-10-19 | 2017-02-22 | 北京悦畅科技有限公司 | 一种通信协议切换方法、装置和系统 |
CN106775616A (zh) * | 2016-11-10 | 2017-05-31 | 中国电子科技集团公司第二十八研究所 | 基于C++与Java混合编程的分布式服务系统 |
CN106534178B (zh) * | 2016-12-08 | 2019-08-30 | 中国电子科技集团公司第三十二研究所 | RapidIO网络通用套接字的实现系统及方法 |
CN106534178A (zh) * | 2016-12-08 | 2017-03-22 | 中国电子科技集团公司第三十二研究所 | RapidIO网络通用套接字的实现系统及方法 |
CN107239304A (zh) * | 2017-05-22 | 2017-10-10 | 哈尔滨工程大学 | 用于软件功能重构的装置及方法 |
CN107995184A (zh) * | 2017-11-28 | 2018-05-04 | 营利度富信息系统(上海)有限公司 | 一种连接器及使用该连接器通讯的方法 |
CN110177125A (zh) * | 2018-05-15 | 2019-08-27 | 广东电网有限责任公司 | 一种中间件平台迁移方法及系统 |
CN110177125B (zh) * | 2018-05-15 | 2021-08-31 | 广东电网有限责任公司 | 一种中间件平台迁移方法 |
CN109165010A (zh) * | 2018-08-15 | 2019-01-08 | 中国人民解放军国防科技大学 | 用于安卓系统的软件无线电开发方法 |
CN110134086A (zh) * | 2019-05-17 | 2019-08-16 | 温州大学 | 一种数字化车间实现中间件功能的数据采集及控制装置 |
CN110493351A (zh) * | 2019-08-28 | 2019-11-22 | 视联动力信息技术股份有限公司 | 一种视联网接入方法、装置、设备及存储介质 |
CN112714073B (zh) * | 2019-10-24 | 2024-04-30 | 中兴通讯股份有限公司 | 基于sr-iov网卡的报文分流方法、系统及存储介质 |
CN112714073A (zh) * | 2019-10-24 | 2021-04-27 | 中兴通讯股份有限公司 | 基于sr-iov网卡的报文分流方法、系统及存储介质 |
CN113259404A (zh) * | 2020-02-12 | 2021-08-13 | 上海宝信软件股份有限公司 | 基于tcp/ip协议的工业通信中间件及其使用方法 |
CN113259404B (zh) * | 2020-02-12 | 2022-11-11 | 上海宝信软件股份有限公司 | 基于tcp/ip协议的工业通信中间件及其使用方法 |
CN111565140B (zh) * | 2020-04-10 | 2021-08-24 | 中电科航空电子有限公司 | 同时支持can总线和以太网的分布式航空通信中间件 |
CN111565140A (zh) * | 2020-04-10 | 2020-08-21 | 中电科航空电子有限公司 | 同时支持can总线和以太网的分布式航空通信中间件 |
CN112272202A (zh) * | 2020-09-18 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种管理软件服务端与系统内部组件的通信方法及系统 |
CN112272202B (zh) * | 2020-09-18 | 2022-11-15 | 苏州浪潮智能科技有限公司 | 一种管理软件服务端与系统内部组件的通信方法及系统 |
CN112199211A (zh) * | 2020-09-28 | 2021-01-08 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 基于RapidIO的CORBA中间件ORB间通信方法 |
CN112199211B (zh) * | 2020-09-28 | 2023-02-28 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 基于RapidIO的CORBA中间件ORB间通信方法 |
CN113127229A (zh) * | 2021-04-01 | 2021-07-16 | 中国北方车辆研究所 | 一种基于通信中间件的地面无人平台控制系统架构 |
CN113347188A (zh) * | 2021-06-02 | 2021-09-03 | 奥特酷智能科技(南京)有限公司 | 一种基于pcie及异构处理器的车载网络传输装置 |
CN113364856A (zh) * | 2021-06-03 | 2021-09-07 | 奥特酷智能科技(南京)有限公司 | 一种基于共享内存及异构处理器的车载以太网系统 |
CN113973104A (zh) * | 2021-09-16 | 2022-01-25 | 上海金仕达软件科技有限公司 | 基于事件的二进制通讯协议的交易系统及方法 |
CN113973104B (zh) * | 2021-09-16 | 2024-03-15 | 上海金仕达软件科技股份有限公司 | 基于事件的二进制通讯协议的交易系统及方法 |
CN114785474B (zh) * | 2022-03-31 | 2024-02-20 | 上海赫千电子科技有限公司 | 基于tsn时间敏感网络的车内some/ip传输方法、装置 |
CN114785474A (zh) * | 2022-03-31 | 2022-07-22 | 上海赫千电子科技有限公司 | 基于tsn时间敏感网络的车内some/ip传输方法、装置 |
CN114900568A (zh) * | 2022-05-05 | 2022-08-12 | 上海介方信息技术有限公司 | 针对分布式通信中间件实现可扩展传输协议的方法、终端 |
CN114900568B (zh) * | 2022-05-05 | 2024-04-02 | 上海介方信息技术有限公司 | 针对分布式通信中间件实现可扩展传输协议的方法、终端 |
Also Published As
Publication number | Publication date |
---|---|
CN105162858B (zh) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105162858A (zh) | 针对corba中间件的通用传输协议框架、通信系统及方法 | |
EP0485252B1 (en) | Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes | |
CN102339234B (zh) | 一种协议栈运行装置和方法 | |
US5734865A (en) | Virtual local area network well-known port routing mechanism for mult--emulators in an open system environment | |
US7305493B2 (en) | Embedded transport acceleration architecture | |
RU2496278C2 (ru) | Способ связи между платформами | |
RU2523964C2 (ru) | Способ межпроцессного взаимодействия между разными приложениями в мобильном терминале и соответствующее устройство | |
CN100428117C (zh) | 在sip使能的终端中提供多客户机支持的方法和设备 | |
EP2429150A1 (en) | Apparatus, web service component and method based on web service | |
US6229809B1 (en) | Method and system for combining computer network protocols | |
EP1419626B1 (en) | System for remote data acquisition based on e-mail message communication through public and private networks and corresponding method and computer program | |
CN105204848B (zh) | 使用二进制程序进行功能固化并提供服务的方法及系统 | |
CN113645258A (zh) | 数据传输方法、装置、存储介质、处理器及电子设备 | |
KR101559089B1 (ko) | 장치의 컴포넌트들 간에 메모리 자원들을 공유하기 위한 통신 프로토콜 | |
CN115150454A (zh) | 一种跨操作系统的中心化发布订阅通信中间件 | |
EP1584203B1 (en) | Network address translation based mobility management | |
CN113810271A (zh) | 一种物联网网关南向设备接口代理装置及实现方法 | |
CN110278148A (zh) | 一种数据兼容性网关系统 | |
EP1636965B1 (en) | Method and system for establishing a data link layer protocol on a 12c physical layer connection | |
EP1671467A1 (en) | Method and system for establishing a data link layer protocol on a physical layer port connection | |
CN112383617B (zh) | 进行长连接的方法、装置、终端设备以及介质 | |
CN114697388B (zh) | 数据传输方法及装置 | |
CN108206811A (zh) | 用于IoT设备之间的跨协议通信的方法、装置及IoT系统 | |
CN114615233B (zh) | 数据传输方法、装置及系统、网关设备、终端设备及介质 | |
CN113852991B (zh) | 5g用户面功能实体的数据转发方法、其装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |