CN102208998B - 基于fpga的corba通信装置 - Google Patents

基于fpga的corba通信装置 Download PDF

Info

Publication number
CN102208998B
CN102208998B CN 201110153659 CN201110153659A CN102208998B CN 102208998 B CN102208998 B CN 102208998B CN 201110153659 CN201110153659 CN 201110153659 CN 201110153659 A CN201110153659 A CN 201110153659A CN 102208998 B CN102208998 B CN 102208998B
Authority
CN
China
Prior art keywords
module
function
function parameter
corba
message
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
Application number
CN 201110153659
Other languages
English (en)
Other versions
CN102208998A (zh
Inventor
魏急波
吴宇
施峻武
高宏伟
王欣
王德刚
赵海涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN 201110153659 priority Critical patent/CN102208998B/zh
Publication of CN102208998A publication Critical patent/CN102208998A/zh
Application granted granted Critical
Publication of CN102208998B publication Critical patent/CN102208998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一个基于FPGA的CORBA通信装置,包括:一个主解析模块、一个主封装模块、一个互连模块、以及若干个子解析模块和若干个子封装模块。每个子解析模块、每个子封装模块与FPGA上的每个应用模块都相对应。其中,主解析模块通过外部数据接口与其它处理器进行数据信息交换;主解析模块通过互连模块和子解析模块,向应用模块发送数据信息;每个应用模块通过对应的子封装模块和互连模块向主封装模块发送数据信息。本发明在FPGA上设计、实现并运行,且不受FPGA具体型号限制。无需在通用处理器上运行任何适配器模块和代理模块,即可实现FPGA上的应用模块与其它处理器上的应用模块直接进行CORBA通信。

Description

基于FPGA的CORBA通信装置
技术领域
本发明涉及计算机通信领域,特别涉及在包含多种处理器的应用系统中,一个在FPGA(Field Programmable Gate Array,现场可编程门阵列)上设计实现的通信装置,能够使运行在该FPGA上的应用模块与运行在其它处理器上的应用模块直接进行CORBA(CommonObject Request Broker Architecture,公共对象请求代理体系结构)通信。
背景技术
随着移动通信、导航定位、遥测遥感等应用技术的迅速发展,在这些领域中越来越多地需要依靠由FPGA和通用处理器组成的多处理器应用系统来完成各种复杂任务。在多处理器应用系统中,FPGA上通常运行逻辑简单、运算量巨大的应用模块,通用处理器上通常运行逻辑复杂、运算量较小、专注于控制的应用模块,不同应用模块之间通过相互传递处理结果和控制信息共同完成一个复杂的应用。传统上,FPGA与通用处理器之间采用自定义方法进行相互通信,其具体实现方式与特定的底层硬件平台密切相关,这就导致了某一FPGA上的应用模块很难实现到其它FPGA上的移植和重用。而在通用处理器系统中通过使用CORBA中间件来实现应用模块间的标准通信,并已得到了广泛的应用。CORBA是由OMG(ObjectManagement Group,对象管理组织)制定的一种分布式中间件标准,其核心是ORB(ObjectRequest Broker,对象请求代理),目的是使运行于不同软硬件平台、使用不同编程语言开发的应用模块无需处理与底层平台和网络通信有关的任何细节即可无缝地连接在一起,这就使得应用模块可以在多种平台上进行移植,具有很好的可重用性。
此外,现有系统所实现的FPGA与通用处理器的通信方法还存在操作时延较大、通用处理器负荷较重、通信报文格式不标准的缺陷。在现有方法中,需要在通用处理器和FPGA上各运行一个适配器模块,同时还需要在通用处理器上运行与FPGA上应用模块一一对应的若干个代理模块。图1是现有技术所实现的一个FPGA与一个通用处理器进行间接CORBA通信的示意图,其中“
Figure BDA0000066876720000011
”为报文封装过程,“
Figure BDA0000066876720000012
”为报文解析过程,“→”为函数调用请求的传递路径,“--→”为函数调用结果的传递路径,当通用处理器上的一个客户端应用模块要向FPGA上的一个服务器端应用模块发出函数调用请求时,必须依次经过通用处理器上的CORBA中间件封装CORBA报文、代理模块解析CORBA报文、代理模块封装CORBA报文、通用处理器上的适配器模块解析CORBA报文、通用处理器上的适配器模块封装自定义报文、FPGA上的适配器模块解析自定义报文共6次数据处理,才能将函数调用请求传递至服务器端应用模块。而当FPGA上的服务器端应用模块执行完函数调用请求,需要返回函数调用结果时,如图1中虚线箭头所示,同样要依次经过FPGA上的适配器模块封装自定义报文、通用处理器上的适配器模块解析自定义报文、通用处理器上的适配器模块封装CORBA报文、代理模块解析CORBA报文、代理模块封装CORBA报文、通用处理器上的CORBA中间件解析CORBA报文共6次数据处理,才能将函数调用结果返回给客户端应用模块。
与上述过程类似,当FPGA上的一个客户端应用模块向通用处理器上的一个服务器端应用模块发出函数调用请求时,调用请求也要经过6次数据处理才能到达通用处理器上的服务器端应用模块;函数调用结果也要经过6次数据处理才能返回给FPGA上的客户端应用模块。
现有技术的缺点如下:
1.通用处理器上的应用模块与FPGA上的应用模块之间的每一次函数调用请求都要经过多达6次的数据处理才能完成,如该函数调用请求需返回函数调用结果,同样要经过6次数据处理才能完成,由此增加了操作时延,降低了通信效率。
2.由于必须在通用处理器上运行一个适配器模块和与FPGA上的每个应用模块相对应的若干代理模块,因而增加了通用处理器的工作负荷,并且FPGA上的应用模块的数量越多,通用处理器的负荷也就越大。
3.由于在通用处理器与FPGA之间实际传递的报文格式是用户自定义的、非标准的,不同厂商会定义不同的报文格式,由此就导致了不同厂商开发出来的通用处理器适配器模块与FPGA适配器模块、FPGA应用模块无法实现互通,无法真正发挥CORBA良好的互操作性。
发明内容
本发明的目的在于克服现有技术的不足,提供一个基于FPGA的CORBA通信装置,无需在通用处理器上运行任何适配器模块和代理模块,即可实现FPGA上的应用模块与其它处理器上的应用模块直接进行CORBA通信。
本发明的基本原理是:图2是基于本发明的一个FPGA与一个通用处理器进行直接CORBA通信的示意图,其中“
Figure BDA0000066876720000021
”为报文封装过程,“
Figure BDA0000066876720000022
”为报文解析过程,“→”为函数调用请求的传递路径,“--→”为函数调用结果的传递路径,当通用处理器上的一个客户端应用模块向FPGA上的一个服务器端应用模块发出函数调用请求时,只需经过通用处理器上的CORBA中间件封装CORBA报文、FPGA上的CORBA通信装置解析CORBA报文共2次数据处理,就能将调用请求传递给服务器端应用模块;而当FPGA上的服务器端应用模块执行完函数调用请求,返回函数调用结果时,如图2中虚线箭头所示,同样只需经过FPGA上的CORBA通信装置封装CORBA报文、通用处理器上的CORBA中间件解析CORBA报文共2次数据处理,就能将调用结果返回给客户端应用模块。与上述过程类似,当FPGA上的一个客户端应用模块向通用处理器上的一个服务器端应用模块发出函数调用请求时,也只需要经过2次数据处理就能到达通用处理器上的服务器端应用模块;函数调用结果也只需要经过2次数据处理就能返回给FPGA上的客户端应用模块。而且,在本发明中,FPGA和通用处理器间传输的是标准的CORBA报文,从而保证了FPGA上应用模块的标准性,使CORBA的良好互操作性能够得到充分发挥。
本发明解决上述问题的技术方案是:基于FPGA的CORBA通信装置,其特征在于,包括:一个主解析模块、一个主封装模块、一个互连模块、以及若干个子解析模块和若干个子封装模块。每个子解析模块对应一个子封装模块,并且对应与FPGA上的一个应用模块,因此子解析模块和子封装模块数量相等,并且两者数量都和FPGA上的应用模块数量相等。其中,主解析模块通过外部数据接口(外部数据接口是FPGA与其它处理器进行数据交换的传输链路,可以是以太网、串口等标准数据接口,也可以是用户自定义的数据接口)接收来自其它处理器的数据信息;主封装模块通过外部数据接口向其它处理器发送数据信息;互连模块通过操作编码接口、函数名称接口、函数参数接口、应用模块地址接口和请求标识号接口接收来自主解析模块的相应数据信息(如通过操作编码接口接收操作编码,通过函数名称接口接收函数名称),通过操作编码接口、函数名称接口、函数参数接口、对象键值接口和请求标识号接口向主封装模块发送相应数据信息,通过操作编码接口、函数名称接口和函数参数接口向子解析模块发送相应数据信息,通过操作编码接口、函数名称接口和函数参数接口接收来自子封装模块的相应数据信息;子解析模块通过操作编码接口、函数参数的标识接口和函数参数的数值接口向应用模块发送相应数据信息;子封装模块通过操作编码接口、函数参数的标识接口和函数参数的数值接口接收来自应用模块的相应数据信息。整个通信装置在FPGA上设计、实现并运行,且不受FPGA具体型号限制。
本发明将函数分为公有函数和私有函数两类。在主解析模块和主封装模块中分别存储一个公有函数列表,公有函数列表中的每条记录包含两个数据项,第一个数据项是CORBA请求报文所包含的可变长度的公有函数名称,第二个数据项是固定长度的公有函数标识,每个公有函数标识都与唯一的公有函数名称相对应,同时第二个数据项还要保留两个特定标识,第一特定标识一个用于表示CORBA请求报文包含的是私有函数,第二特定标识用于表示接收到的是CORBA应答报文。每个应用模块对应一个私有函数列表,分别存储在该应用模块对应的子解析模块和子封装模块中,私有函数列表中的每条记录包含两个数据项,第一个数据项是CORBA请求报文所包含的私有函数名称,第二个数据项是固定长度的私有函数标识,每个私有函数标识都与唯一的私有函数名称相对应。在每个子解析模块和子封装模块中还分别存储一个函数参数列表,函数参数列表中的每条记录包含两个数据项,第一个数据项是CORBA报文中所包含的可变长度的函数参数的名称,第二个数据项是固定长度的函数参数的标识,每个函数参数的标识都与唯一的函数参数的名称相对应。
①主解析模块从外部数据接口上接收CORBA报文,对其进行标准化处理后传递给互连模块。具体过程包括:
主解析模块从接收到的CORBA报文中解析出GIOP(General Inter-ORB Protocol,通用ORB互通协议)信息,依次为协议版本号、字节顺序标志、报文类型和报文长度,并根据接收到的报文类型判断接收到的是CORBA请求报文还是CORBA应答报文:
(1)当接收到请求报文时,主解析模块从后续的报文(即报文长度信息后的报文)中提取出信息,依次为请求标识号、应答标识、对象键值、函数名称、客户机身份,并进行下述处理:第一个处理是将对象键值标准化,即将其转换为一个固定长度的应用模块地址;第二个处理内容是函数名称的标准化:主解析模块获得请求报文所包含的函数名称后,就在其所存储的公有函数列表中进行查找:①当公有函数列表的记录中存在与接收到的函数名称相同的数据项时,则将接收到的函数名称转换为公有函数列表中与此函数名称对应的记录中固定长度的公有函数标识,然后将应答标识置于在此固定长度的公有函数标识的最高位之前,共同组成操作编码。此后主解析模块将客户机身份以后的报文内容,即函数参数,与解析获得的操作编码、应用模块地址和请求标识号一起传递给互连模块;②当公有函数列表的记录中不存在与接收到的函数名称相同的数据项时,将应答标识置于第一特定标识的最高位之前,共同组成操作编码;此后主解析模块将客户机身份以后的报文内容,即函数参数,与私有函数名称、操作编码、应用模块地址和请求标识号一起传递给互连模块。
(2)当接收到应答报文时,主解析模块依次从后续的报文(即报文长度信息后的报文)中提取出请求标识号和应答状态信息,然后将应答状态置于第二特定标识的最高位之前,共同组成操作编码。然后,主解析模块将应答标识以后的报文内容,即函数调用完成后所返回的函数参数,与操作编码和请求标识号一起传递给互连模块。
②子解析模块接收互连模块传递过来的数据,根据接收到的操作编码对数据进行标准化处理后转发给相应的应用模块。具体处理过程包括:
(1)当操作编码指明接收到CORBA请求报文,且请求调用的函数名称为公有函数名称时,子解析模块将对该函数所带的每个参数进行标准化处理:通过查找所存储的函数参数列表,将每个可变长度的函数参数的名称转换为函数参数列表中与此函数参数的名称相对应的记录中固定长度的函数参数的标识,然后将函数参数的标识、函数参数的数值和操作编码一起发送给与子解析模块相对应的应用模块。
(2)当操作编码指明接收到CORBA请求报文,但请求调用的函数名称为应用模块的私有函数名称时,子解析模块需要对此应用模块的私有函数名称和函数参数这两部分进行标准化处理。对私有函数名称的处理内容是:子解析模块在所存储的私有函数列表中进行查找,找到数据项与所接收到的私有函数名称相同的记录后,使用该记录中的固定长度的私有函数标识替换掉原操作编码中的第一特定标识,形成一个新的操作编码;对函数参数的处理内容是:通过查找所存储的函数参数列表,将每个可变长度的函数参数的名称转换为函数参数列表中与此函数参数的名称相对应的记录中固定长度的函数参数的标识,然后将函数参数的标识、函数参数的数值和新的操作编码一起发送给与子解析模块相对应的应用模块。
(3)当操作编码指明接收到CORBA应答报文时,子解析模块将应答报文的函数参数进行标准化处理:通过查找所存储的函数参数列表,将每个可变长度的函数参数的名称转换为函数参数列表中与此函数参数的名称相对应的记录中固定长度的函数参数的标识,然后将函数参数的标识、函数参数的数值和操作编码一起发送给与子解析模块相对应的应用模块。
③子封装模块接收与之对应的应用模块传递过来的数据,将数据按照CORBA报文的格式进行标准化处理后,传递给互连模块。具体过程为:
子封装模块从应用模块接收到操作编码以后,根据操作编码判断要封装的是CORBA请求报文还是CORBA应答报文:
(1)当操作编码指明要封装CORBA请求报文,且请求调用的函数名称为公有函数名称时,子封装模块将对函数参数进行标准化处理:通过查找所存储的函数参数列表,将每个固定长度的函数参数的标识转换为函数参数列表中与此函数参数的标识相对应的记录中可变长度的函数参数的名称,并按照CORBA协议所规定的格式与函数参数的数值共同组合成函数参数,然后与操作编码一起传递给互连模块。
(2)当操作编码指明要封装CORBA请求报文,且请求调用的函数名称为应用模块的私有函数名称时,子封装模块将对函数名称和函数参数进行标准化处理。对函数名称的处理内容是:子封装模块从接收到的操作编码中获取固定长度的私有函数标识,并在其所存储的私有函数列表中进行查找,找到数据项与所接收到的私有函数标识相同的记录后,使用该记录中的私有函数名称生成CORBA协议规定的函数名称,并使用第一特定标识替换掉原操作编码中的私有函数标识,形成一个新的操作编码;对函数参数的处理是:通过查找所存储的函数参数列表,将每个固定长度的函数参数的标识转换函数参数列表中与此函数参数的标识相对应的记录中可变长度的函数参数的名称,并按照CORBA协议所规定的格式与函数参数的数值共同组合成函数参数,然后与操作编码和函数名称一起传递给互连模块。
(3)当操作编码指明要封装CORBA应答报文时,子封装模块通过查找所存储的函数参数列表,将每个固定长度的函数参数的标识转换为函数参数列表中与此函数参数的标识相对应的记录中可变长度的函数参数的名称,并按照CORBA协议所规定的格式与函数参数的数值共同组合成函数参数,然后与操作编码一起传递给互连模块。
④主封装模块接收互连模块传递过来的数据,将数据按照CORBA报文的标准格式封装后,发送给外部数据接口。具体过程包括:
主封装模块从互连模块接收到操作编码以后,根据操作编码判断要封装的是CORBA请求报文还是CORBA应答报文:
(1)当操作编码指明需要封装CORBA请求报文,且请求调用的函数名称为公有函数名称时,主封装模块从接收到的操作编码中提取应答标识和公有函数标识,并在其存储的公有函数列表中进行查找,找到数据项与所接收到的操作编码中除最高位之外表示公有函数标识相同的记录后,使用该记录中的函数名称生成CORBA协议规定的字符串形式的函数名称,并与接收到的对象键值、请求标识号、函数参数一起,填入CORBA请求报文的标准结构中,并补充GIOP报文头(“G”、“I”、“O”、“P”四个字节)、主版本号、次版本号、字节顺序、报文类型、报文长度、服务上下文、对齐字节和客户机身份,最终封装为一个完整的CORBA请求报文,发送给外部数据接口。
(2)当操作编码指明需要封装CORBA请求报文,且请求调用的函数名称为应用模块的私有函数名称时,主封装模块可以判断出函数名称已经由子封装模块转换完成,此时主封装模块只需从接收到的操作编码中提取应答标识,并与接收到的对象键值、请求标识号、函数参数一起,填入CORBA请求报文的标准结构中,并补充GIOP报文头(“G”、“I”、“O”、“P”四个字节)、主版本号、次版本号、字节顺序、报文类型、报文长度、服务上下文、对齐字节和客户机身份,最终封装为一个完整的CORBA请求报文,发送给外部数据接口。
(3)当操作编码指明需要封装CORBA应答报文时,主封装模块只需从接收到的操作编码中提取应答状态,并与接收到的请求标识号、函数参数一起,填入CORBA应答报文的标准结构中,并补充GIOP报文头(“G”、“I”、“O”、“P”四个字节)、主版本号、次版本号、字节顺序、报文类型、报文长度、服务上下文、对齐字节和客户机身份,最终封装为一个完整的CORBA应答报文,发送给外部数据接口。
⑤互连模块接收来自主解析模块或子封装模块的数据,通过操作编码判断接收到的是请求报文的相关数据还是应答报文的相关数据,在此基础上完成对数据的标准化处理之后转发给子解析模块或主封装模块。具体处理过程包括:
(1)当接收到主解析模块发出的请求报文的相关数据时,互连模块根据接收到的应用模块地址,将接收到的操作编码、函数参数和函数名称(如果接收到函数名称的话)转发给相应的子解析模块;与此同时,将接收到的请求标识号与应用模块地址的映射关系存储下来。
(2)当接收到子封装模块发出的请求报文的相关数据时,互连模块将为该函数调用请求生成一个请求标识号,并将请求标识号与应用模块地址的映射关系存储下来,同时通过查询预先定义的路由表,可得到该子封装模块发出的函数调用请求将要到达的目的应用模块的对象键值,然后将接收到的操作编码、函数参数和函数名称(如果接收到函数名称的话)与对象键值和新生成的请求标识号一起发送给主封装模块。
(3)当接收到主解析模块发出的应答报文的相关数据时,互连模块将在所存储的一系列请求标识号与应用模块地址的映射关系中查找与主解析模块发出的请求标识号相同的记录,并根据此记录中的应用模块地址确定该应答报文数据所要到达的目的应用模块,然后将接收到的操作编码、函数参数转发给与该应用模块对应的子解析模块。
(4)当接收到子封装模块发出的应答报文的相关数据时,互连模块将在所存储的一系列请求标识号与应用模块地址的映射关系中查找与该子封装模块所对应的应用模块地址相同的记录,并从此记录中获取该应答报文所需的请求标识号,然后将接收到的操作编码、函数参数与请求标识号一起发送给主封装模块。
本发明的有益效果是:
1.本发明提供的基于FPGA的CORBA通信装置使FPGA与其它处理器之间能够直接通过CORBA报文来传递函数调用请求信息,每次函数调用请求仅需2次数据处理就能完成,每次返回函数调用结果也仅需2次数据处理就能完成,从而缩短了函数调用请求时延,提高了通信效率。
2.本发明实现的通信装置使FPGA与通用处理器进行CORBA通信时,通用处理器上无需运行任何适配器模块或任何代理模块,因而降低了通用处理器的工作负荷。
3.本发明实现的通信装置使FPGA与其它处理器之间传递的是标准的CORBA报文,因此任何厂商开发的FPGA应用模块都能够与通用处理器上的应用模块进行标准的CORBA通信,从而使CORBA的互连互通特性得以真正发挥。
本发明的其它优点、目的和特征有一部分将在以下的说明书中进行阐述,有一部分则对于本领域的技术人员经过对以下内容的检验后会变得明了,或者通过本发明的实践而体验到。所述的权利要求书具体指明了本发明的目的和优点。
附图说明
图1所示的是现有技术所实现的一个FPGA与一个通用处理器进行间接CORBA通信的示意图;
图2所示的是基于本发明的一个FPGA与一个通用处理器进行直接CORBA通信的示意图;
图3所示的是本发明一具体实施方式的原理结构示意图;
图4所示的是本发明一具体实施方式的各模块间接口示意图;
图5所示的是本发明一具体实施方式提供的针对公有函数的CORBA请求报文的解析过程示意图;
图6所示的是本发明一具体实施方式提供的针对私有函数的CORBA请求报文的解析过程示意图;
图7所示的是本发明一具体实施方式提供的针对CORBA应答报文的解析过程示意图;
图8所示的是本发明一具体实施方式提供的针对公有函数的CORBA请求报文的封装过程示意图;
图9所示的是本发明一具体实施方式提供的针对私有函数的请求报文的封装过程示意图;
图10所示的是本发明一具体实施方式提供的针对CORBA应答报文的封装过程示意图。
具体实施方式
以下结合附图,对本发明做进一步详述。
图3是本发明一具体实施方式的原理结构示意图,包括外部数据接口170、一个主解析模块110,一个主封装模块120,一个互连模块130和四个子解析模块140a、140b、140c、140d,四个子封装模块150a、150b、150c、150d,以及四个应用模块160a、160b、160c、160d。其中外部数据接口170与主解析模块110、主封装模块120直接连接;互连模块130与主解析模块110、主封装模块120、子解析模块140a、140b、140c、140d、子封装模块150a、150b、150c、150d直接连接;子解析模块140a、140b、140c、140d和子封装模块150a、150b、150c、150d与各自对应的应用模块160a、160b、160c、160d直接连接。
图4是本发明一具体实施方式的各模块间接口示意图。主解析模块110通过外部数据接口170接收其它处理器发送的数据,其中外部数据接口170是FPGA与其它处理器进行数据交换的传输链路,可以是以太网、串口等标准数据接口,也可以是用户自定义的数据接口;主封装模块120通过外部数据接口170将封装完毕的CORBA报文发送给其它处理器;主解析模块110通过16位的操作编码接口、8位的函数名称接口、8位的函数参数接口、16位的应用模块地址接口和32位的请求标识号接口将其处理后的数据传递给互连模块130;互连模块130通过16位的操作编码接口、8位的函数名称接口、8位的函数参数接口将数据传递给一个特定的子解析模块140;子解析模块140通过16位的操作编码接口、32位的函数参数的标识接口、8位的函数参数的数值接口将数据传递给与之相对应的应用模块160。应用模块160将处理后的数据通过16位的操作编码接口、32位的函数参数的标识接口、8位的函数参数的数值接口传递给与之对应的子封装模块150;子封装模块150通过16位的操作编码接口、8位的函数名称接口、8位的函数参数接口将数据传递给互连模块130;互连模块130通过16位的操作编码接口、8位的函数名称接口、8位的函数参数接口、8位的对象键值接口和32位的请求标识号接口将数据传递给主封装模块120。
图5是本发明一具体实施方式提供的针对公有函数的CORBA请求报文的解析过程示意图。主解析模块110收到外部数据接口170传递过来的CORBA请求报文210,从中获得请求标识号211、应答标识212,对象键值213和函数名称214,将对象键值213转换为该报文要到达的16比特长的目的应用模块地址221(因为请求报文中的对象键值用来指明此报文发出的函数调用请求所调用的目的应用模块,而且通常情况下对象键值的长度是可变的,所以为了便于后续处理,在这一具体实施方式中,将长度可变的对象键值转换为一个16比特长的应用模块地址,使每一个应用模块地址对应一个应用模块。在设定应用模块地址的位宽为16比特的情况下,整个系统中可以标识多达216=65536个应用模块,依据本发明的基本原理,也可以根据实际应用情况,设定所需的应用模块地址的位宽),根据主解析模块所存储的公有函数列表,将函数名称214转换为一个14比特长的公有函数标识(在这一具体实施方式中,主解析模块和主封装模块中存储的公有函数列表中的公有函数标识所使用的位宽为14比特,因此,系统中可标识214-2=16382个函数,依据本发明的基本原理,也可以根据实际应用情况,设定所需的公有函数标识的位宽),然后将应答标识212转换为2比特的编码(“01”表示该请求需要应答,“00”表示该请求不需要应答)置于此14比特长的公有函数标识的最高位之前,形成一个16比特长的操作编码222,用以指明该请求所调用的函数名称以及是否需要应答。然后将应用模块地址221、操作编码222、请求标识号211、函数参数215(包括函数参数的名称和函数参数的数值)传递给互连模块130。互连模块130将根据应用模块地址221将操作编码222、函数参数215转发给应用模块地址221所对应的子解析模块140a、140b、140c或140d,同时存储下请求标识号211与应用模块地址221的映射关系。当应用模块地址221所对应的子解析模块140a、140b、140c或140d接收到互连模块130转发过来的操作编码222和函数参数215以后,根据操作编码222将函数参数的名称转换为32位宽的函数参数的标识(在这一具体实施方式中,子解析模块和子封装模块中存储的函数参数列表中的函数参数的标识所使用的位宽为32比特,依据本发明的基本原理,可以根据实际应用情况设置函数参数的标识的位宽),并将转换后的函数参数241与操作编码222传递给应用模块160a、160b、160c或160d。
图6是本发明一具体实施方式提供的针对私有函数的CORBA请求报文的解析过程示意图。主解析模块110收到外部数据接口170传递过来的CORBA请求报文310,从中获得请求标识号311、应答标识312,对象键值313和函数名称314,将对象键值313转换为目的应用模块地址321,将应答标识312转换为2比特的编码(“01”表示该请求需要应答,“00”表示该请求不需要应答)置于14比特长的第一特定标识“11111111111111”最高位之前组合为16比特长的操作编码322,用以指明该请求调用了一个应用模块私有函数,以及该请求是否需要应答。然后将操作编码322、请求标识号311、函数名称314和函数参数315传递给互连模块130。互连模块130根据应用模块地址321将操作编码322、函数名称314和函数参数315转发给应用模块地址321所对应的子解析模块140a、140b、140c或140d,同时存储下请求标识号311与应用模块地址321的映射关系。当应用模块地址321所对应的子解析模块140a、140b、140c或140d接收到互连模块130转发过来的操作编码322、函数名称314和函数参数315后,将对函数名称314及函数参数315进行解析:将私有函数名称314转换为14比特长的私有函数标识(在这一具体实施方式中,子解析模块和子封装模块中存储的私有函数列表中的私有函数标识使用的位宽为14比特,因此,系统中可标识214=16384个函数,依据本发明的基本原理,也可以根据实际应用情况,设定所需的私有函数标识的位宽),并替换掉原来操作编码322中的第一特定表示“11111111111111”形成一个新的操作编码322,将函数参数的名称转换为函数参数的标识,然后将转换后的函数参数341与操作编码322传递至应用模块160a、160b、160c或160d。
图7是本发明一具体实施方式提供的针对CORBA应答报文的解析过程示意图。主解析模块110收到外部数据接口170传递过来的CORBA应答报文410,将应答状态412转换为2比特的编码(“00”表示请求已成功地完成,“01”表示请求产生了用户异常,“10”表示请求产生了系统异常,“11”表示请求不能被处理)置于14比特长的第二特定标识“00000000000000”最高位之前,合并组成一个16比特长的操作编码421。此后,主解析模块110将请求标识号411、函数参数413和操作编码421一起传递给互连模块130。互连模块130将根据操作编码421在所存储的请求标识号与应用模块地址的映射关系中查找包含所接收到的请求标识号411的记录,并根据所查找到的记录中的应用模块地址将函数参数413和操作编码421转发给相应的子解析模块140a、140b、140c或140d。子解析模块140a、140b、140c或140d收到函数参数413和操作编码421以后,将函数参数的名称转换为函数参数的标识,然后将转换后的函数参数441与操作编码421传递至应用模块160a、160b、160c或160d。
图8是本发明一具体实施方式提供的针对公有函数的CORBA请求报文的封装过程示意图。子封装模块150a、150b、150c或150d从应用模块160a、160b、160c或160d接收到函数调用请求数据510后,根据操作编码512的低14位能够判断出当前请求调用的函数是公有函数,此时子封装模块150a、150b、150c或150d将函数参数的标识转换为函数参数的名称后与函数参数的数值共同构成函数参数521,并与操作编码512一起传递给互连模块130。互连模块130根据预先定义的路由表,得到该函数调用请求将要到达的目的应用模块的对象键值531,同时为该函数调用请求生成一个请求标识号532,并将请求标识号532与应用模块地址的映射关系存储下来,然后将对象键值531、函数参数521、请求标识号532和操作编码512发送给主封装模块120。主封装模块120收到后将操作编码512转换为字符串形式的函数名称以及应答标识,并补充GIOP报文头(“G”、“I”、“O”、“P”四个字节)、主版本号、次版本号、字节顺序、报文类型、报文长度、服务上下文、对齐字节和客户机身份,最终形成一个完整的CORBA请求报文540,通过外部数据接口170发送出去。
图9是本发明一具体实施方式提供的针对私有函数的请求报文的封装过程示意图。子封装模块150a、150b、150c或150d从应用模块160a、160b、160c或160d接收到函数调用请求数据610后,根据操作编码612低14位的第一特定标识“11111111111111”判断出当前请求调用的函数是私有函数,此时子封装模块150a、150b、150c或150d将从操作编码中提取私有函数标识,并在其所存储的私有函数列表中进行查找,找到数据项与所获得的私有函数标识相同的记录后,使用该记录中的函数名称生成CORBA协议规定的函数名称621,并使用第一特定标识“11111111111111”替换掉原操作编码中的私有函数标识,形成一个新的操作编码612;同时,子封装模块将函数参数的标识转换为函数参数的名称,然后将函数名称621、转换后的函数参数622、操作编码612一起传递给互连模块130。互连模块130根据预先定义的路由表,得到该函数调用请求将要到达的目的应用模块的对象键值631,同时为该函数调用请求生成一个请求标识号632并将请求标识号632与应用模块地址的映射关系存储下来,然后将对象键值631、函数名称621、函数参数622、请求标识号632和操作编码612发送给主封装模块120。主封装模块120收到后,根据操作编码612判断出当前请求调用的函数名称已经由子封装转换完成,因此仅将操作编码612对最高2位转换为应答标识,然后补充GIOP报文头(“G”、“I”、“O”、“P”四个字节)、主版本号、次版本号、字节顺序、报文类型、报文长度、服务上下文、对齐字节和客户机身份,形成一个完整的CORBA请求报文640,然后通过外部数据接口170发送出去。
图10是本发明一具体实施方式提供的针对CORBA应答报文的封装过程示意图。子封装模块150a、150b、150c或150d从应用模块160a、160b、160c或160d接收到数据710以后,根据操作编码712低14位的第二特定标识“00000000000000”,判断出当前接收到的为应答数据,此时将函数参数的标识转换为函数参数的名称,然后与操作编码712一起发送给互连模块130。互连模块130收到后,根据之前存储的应用模块地址与请求标识号的映射关系,得到该应答报文的请求标识号731,然后将函数参数721、请求标识号731和操作编码712转发给主封装模块120。主封装模块120收到后,根据操作编码712判断出当前为应答数据,因此仅将操作编码712对最高2位转换为应答状态,然后补充GIOP报文头(“G”、“I”、“O”、“P”四个字节)、主版本号、次版本号、字节顺序、报文类型、报文长度、服务上下文、对齐字节和客户机身份,形成一个完整的CORBA请求报文740,然后通过外部数据接口170发送出去。

Claims (1)

1.基于FPGA的CORBA通信装置,其特征在于,包括:一个主解析模块、一个主封装模块、一个互连模块、以及若干个子解析模块和若干个子封装模块;每个子解析模块对应一个子封装模块,并且对应FPGA上的一个应用模块;其中,主解析模块通过外部数据接口接收来自其它处理器的数据信息;主封装模块通过外部数据接口向其它处理器发送数据信息;互连模块通过操作编码接口、函数名称接口、函数参数接口、应用模块地址接口和请求标识号接口接收来自主解析模块的相应数据信息,通过操作编码接口、函数名称接口、函数参数接口、对象键值接口和请求标识号接口向主封装模块发送相应数据信息,通过操作编码接口、函数名称接口和函数参数接口向子解析模块发送相应数据信息,通过操作编码接口、函数名称接口和函数参数接口接收来自子封装模块的相应数据信息;子解析模块通过操作编码接口、函数参数的标识接口和函数参数的数值接口向应用模块发送相应数据信息;子封装模块通过操作编码接口、函数参数的标识接口和函数参数的数值接口接收来自应用模块的相应数据信息;
主解析模块和主封装模块分别存储一个公有函数列表,公有函数列表中的每条记录包含两个数据项,第一个数据项是CORBA请求报文所包含的可变长度的公有函数名称,第二个数据项是固定长度的公有函数标识,每个公有函数标识都与唯一的公有函数名称相对应,同时第二个数据项还要保留两个特定标识,第一特定标识用于表示CORBA请求报文包含的是私有函数,第二特定标识用于表示接收到的是CORBA应答报文;每个应用模块对应一个私有函数列表,分别存储在该应用模块对应的子解析模块和子封装模块中,私有函数列表中的每条记录包含两个数据项,第一个数据项是CORBA请求报文所包含的私有函数名称,第二个数据项是固定长度的私有函数标识,每个私有函数标识都与唯一的私有函数名称相对应;在每个子解析模块和子封装模块中还分别存储一个函数参数列表,函数参数列表中的每条记录包含两个数据项,第一个数据项是CORBA报文中所包含的可变长度的函数参数的名称,第二个数据项是固定长度的函数参数的标识,每个函数参数的标识都与唯一的函数参数的名称相对应;
①主解析模块从外部数据接口上接收CORBA报文,对其进行标准化处理后传递给互连模块;具体过程包括:
主解析模块从接收到的CORBA报文中解析出GIOP(General Inter-ORB Protocol,通用ORB互通协议)信息,依次为协议版本号、字节顺序标志、报文类型和报文长度,并根据接收到的报文类型判断接收到的是CORBA请求报文还是CORBA应答报文:
⑴当接收到请求报文时,主解析模块从后续的报文,即报文长度信息后的报文中提取出信息,依次为请求标识号、应答标识、对象键值、函数名称、客户机身份,并进行下述处理:第一个处理是将对象键值标准化,即将其转换为一个固定长度的应用模块地址;第二个处理内容是函数名称的标准化:主解析模块获得请求报文所包含的函数名称后,就在其所存储的公有函数列表中进行查找:①当公有函数列表的记录中存在与接收到的函数名称相同的数据项时,则将接收到的函数名称转换为公有函数列表中与此函数名称对应的记录中固定长度的公有函数标识,然后将应答标识置于在此固定长度的公有函数标识的最高位之前,共同组成操作编码;此后主解析模块将客户机身份以后的报文内容,即函数参数,与解析获得的操作编码、应用模块地址和请求标识号一起传递给互连模块;②当公有函数列表的记录中不存在与接收到的函数名称相同的数据项时,将应答标识置于第一特定标识的最高位之前,共同组成操作编码;此后主解析模块将客户机身份以后的报文内容,即函数参数,与私有函数名称、操作编码、应用模块地址和请求标识号一起传递给互连模块;
⑵当接收到应答报文时,主解析模块依次从后续的报文,即报文长度信息后的报文中提取出请求标识号和应答状态信息,然后将应答状态置于第二特定标识的最高位之前,共同组成操作编码;然后,主解析模块将应答标识以后的报文内容,即函数调用完成后所返回的函数参数,与操作编码和请求标识号一起传递给互连模块;
②子解析模块接收互连模块传递过来的数据,根据接收到的操作编码对数据进行标准化处理后转发给相应的应用模块;具体处理过程包括:
⑴当操作编码指明接收到CORBA请求报文,且请求调用的函数名称为公有函数名称时,子解析模块将对该函数所带的每个参数进行标准化处理:通过查找所存储的函数参数列表,将每个可变长度的函数参数的名称转换为函数参数列表中与此函数参数的名称相对应的记录中固定长度的函数参数的标识,然后将函数参数的标识、函数参数的数值和操作编码一起发送给与子解析模块相对应的应用模块;
⑵当操作编码指明接收到CORBA请求报文,但请求调用的函数名称为应用模块的私有函数名称时,子解析模块需要对此应用模块的私有函数名称和函数参数这两部分进行标准化处理;对私有函数名称的处理内容是:子解析模块在所存储的私有函数列表中进行查找,找到数据项与所接收到的私有函数名称相同的记录后,使用该记录中的固定长度的私有函数标识替换掉原操作编码中的第一特定标识,形成一个新的操作编码;对函数参数的处理内容是:通过查找所存储的函数参数列表,将每个可变长度的函数参数的名称转换为函数参数列表中与此函数参数的名称相对应的记录中固定长度的函数参数的标识,然后将函数参数的标识、函数参数的数值和新的操作编码一起发送给与子解析模块相对应的应用模块;
⑶当操作编码指明接收到CORBA应答报文时,子解析模块将应答报文的函数参数进行标准化处理:通过查找所存储的函数参数列表,将每个可变长度的函数参数的名称转换为函数参数列表中与此函数参数的名称相对应的记录中固定长度的函数参数的标识,然后将函数参数的标识、函数参数的数值和操作编码一起发送给与子解析模块相对应的应用模块;
③子封装模块接收与之对应的应用模块传递过来的数据,将数据按照CORBA报文的格式进行标准化处理后,传递给互连模块;具体过程为:
子封装模块从应用模块接收到操作编码以后,根据操作编码判断要封装的是CORBA请求报文还是CORBA应答报文:
⑴当操作编码指明要封装CORBA请求报文,且请求调用的函数名称为公有函数名称时,子封装模块将对函数参数进行标准化处理:通过查找所存储的函数参数列表,将每个固定长度的函数参数的标识转换为函数参数列表中与此函数参数的标识相对应的记录中可变长度的函数参数的名称,并按照CORBA协议所规定的格式与函数参数的数值共同组合成函数参数,然后与操作编码一起传递给互连模块;
⑵当操作编码指明要封装CORBA请求报文,且请求调用的函数名称为应用模块的私有函数名称时,子封装模块将对函数名称和函数参数进行标准化处理;对函数名称的处理内容是:子封装模块从接收到的操作编码中获取固定长度的私有函数标识,并在其所存储的私有函数列表中进行查找,找到数据项与所接收到的私有函数标识相同的记录后,使用该记录中的私有函数名称生成CORBA协议规定的函数名称,并使用第一特定标识替换掉原操作编码中的私有函数标识,形成一个新的操作编码;对函数参数的处理是:通过查找所存储的函数参数列表,将每个固定长度的函数参数的标识转换函数参数列表中与此函数参数的标识相对应的记录中可变长度的函数参数的名称,并按照CORBA协议所规定的格式与函数参数的数值共同组合成函数参数,然后与操作编码和函数名称一起传递给互连模块;
(3)当操作编码指明要封装CORBA应答报文时,子封装模块通过查找所存储的函数参数列表,将每个固定长度的函数参数的标识转换为函数参数列表中与此函数参数的标识相对应的记录中可变长度的函数参数的名称,并按照CORBA协议所规定的格式与函数参数的数值共同组合成函数参数,然后与操作编码一起传递给互连模块;
④主封装模块接收互连模块传递过来的数据,将数据按照CORBA报文的标准格式封装后,发送给外部数据接口;具体过程包括:
主封装模块从互连模块接收到操作编码以后,根据操作编码判断要封装的是CORBA请求报文还是CORBA应答报文:
⑴当操作编码指明需要封装CORBA请求报文,且请求调用的函数名称为公有函数名称时,主封装模块从接收到的操作编码中提取应答标识和公有函数标识,并在其存储的公有函数列表中进行查找,找到数据项与所接收到的操作编码中除最高位之外表示公有函数标识相同的记录后,使用该记录中的函数名称生成CORBA协议规定的字符串形式的函数名称,并与接收到的对象键值、请求标识号、函数参数一起,填入CORBA请求报文的标准结构中,并补充GIOP报文头,即“G”、“I”、“O”、“P”四个字节以及主版本号、次版本号、字节顺序、报文类型、报文长度、服务上下文、对齐字节和客户机身份,最终封装为一个完整的CORBA请求报文,发送给外部数据接口;
(2)当操作编码指明需要封装CORBA请求报文,且请求调用的函数名称为应用模块的私有函数名称时,主封装模块可以判断出函数名称已经由子封装模块转换完成,此时主封装模块只需从接收到的操作编码中提取应答标识,并与接收到的对象键值、请求标识号、函数参数一起,填入CORBA请求报文的标准结构中,并补充GIOP报文头,即“G”、“I”、“O”、“P”四个字节以及主版本号、次版本号、字节顺序、报文类型、报文长度、服务上下文、对齐字节和客户机身份,最终封装为一个完整的CORBA请求报文,发送给外部数据接口;
(3)当操作编码指明需要封装CORBA应答报文时,主封装模块只需从接收到的操作编码中提取应答状态,并与接收到的请求标识号、函数参数一起,填入CORBA应答报文的标准结构中,并补充GIOP报文头,即“G”、“I”、“O”、“P”四个字节以及主版本号、次版本号、字节顺序、报文类型、报文长度、服务上下文、对齐字节和客户机身份,最终封装为一个完整的CORBA应答报文,发送给外部数据接口;
⑤互连模块接收来自主解析模块或子封装模块的数据,通过操作编码判断接收到的是请求报文的相关数据还是应答报文的相关数据,在此基础上完成对数据的标准化处理之后转发给子解析模块或主封装模块;具体处理过程包括:
⑴当接收到主解析模块发出的请求报文的相关数据时,互连模块根据接收到的应用模块地址,将接收到的操作编码、函数参数和函数名称转发给相应的子解析模块;与此同时,将接收到的请求标识号与应用模块地址的映射关系存储下来;
⑵当接收到子封装模块发出的请求报文的相关数据时,互连模块将为该函数调用请求生成一个请求标识号,并将请求标识号与应用模块地址的映射关系存储下来,同时通过查询预先定义的路由表,可得到该子封装模块发出的函数调用请求将要到达的目的应用模块的对象键值,然后将接收到的操作编码、函数参数和函数名称与对象键值和新生成的请求标识号一起发送给主封装模块;
⑶当接收到主解析模块发出的应答报文的相关数据时,互连模块将在所存储的一系列请求标识号与应用模块地址的映射关系中查找与主解析模块发出的请求标识号相同的记录,并根据此记录中的应用模块地址确定该应答报文数据所要到达的目的应用模块,然后将接收到的操作编码、函数参数转发给与该应用模块对应的子解析模块;
⑷当接收到子封装模块发出的应答报文的相关数据时,互连模块将在所存储的一系列请求标识号与应用模块地址的映射关系中查找与该子封装模块所对应的应用模块地址相同的记录,并从此记录中获取该应答报文所需的请求标识号,然后将接收到的操作编码、函数参数与请求标识号一起发送给主封装模块。
CN 201110153659 2011-06-08 2011-06-08 基于fpga的corba通信装置 Active CN102208998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110153659 CN102208998B (zh) 2011-06-08 2011-06-08 基于fpga的corba通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110153659 CN102208998B (zh) 2011-06-08 2011-06-08 基于fpga的corba通信装置

Publications (2)

Publication Number Publication Date
CN102208998A CN102208998A (zh) 2011-10-05
CN102208998B true CN102208998B (zh) 2013-07-24

Family

ID=44697669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110153659 Active CN102208998B (zh) 2011-06-08 2011-06-08 基于fpga的corba通信装置

Country Status (1)

Country Link
CN (1) CN102208998B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999602A (zh) * 2012-11-20 2013-03-27 北京思特奇信息技术股份有限公司 一种数据解析方法和数据解析系统
CN103870267B (zh) * 2012-12-17 2017-04-05 国际商业机器公司 用于处理数据中心网络中的数据对象的在计算机系统中实现的方法和计算机实现的系统
CN105162858B (zh) * 2015-08-20 2018-11-27 中国人民解放军国防科学技术大学 针对corba中间件的通用传输协议框架、通信系统及方法
CN113364757B (zh) * 2021-05-31 2023-02-10 成都谐盈科技有限公司 一种fpga实现orb的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101711467A (zh) * 2007-01-26 2010-05-19 目标接口系统公司 支持位置透明和动态部分重构的硬件通信设施

Family Cites Families (1)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101711467A (zh) * 2007-01-26 2010-05-19 目标接口系统公司 支持位置透明和动态部分重构的硬件通信设施

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于CORBA 的可插拔协议研究;孙海彬等;《电脑知识与技术》;20090930;第5卷(第27期);7783-7787 *
孙海彬等.基于CORBA 的可插拔协议研究.《电脑知识与技术》.2009,第5卷(第27期),7783-7787.

Also Published As

Publication number Publication date
CN102208998A (zh) 2011-10-05

Similar Documents

Publication Publication Date Title
CN110933146B (zh) 一种数据转换方法、装置和服务器
CN105119974B (zh) 一种混合云架构的物联系统及实现方法
CN105245445A (zh) 一种物联网网关
CN102891796B (zh) 矿用智能传输网关
CN107547574B (zh) 一种基于通用协议的通信系统及方法
CN109309599B (zh) 一种基于路灯硬件平台实现物联网设备高并发通信的方法
CN102855143B (zh) 一种scada系统中通用通信框架
CN102208998B (zh) 基于fpga的corba通信装置
CN112822276B (zh) 一种变电站站控层通信方法、系统、电子设备及存储介质
CN109768970A (zh) 一种基于可配置的通用协议生成方法
TW202106072A (zh) 路由器的ssid獲取方法、裝置、設備和系統
CN111294235B (zh) 数据处理方法、装置、网关及可读存储介质
CN103747004A (zh) 物联网平台通信协议的实现方法
CN104144156A (zh) 报文处理方法和装置
US20140214993A1 (en) Hardware communications infrastructure supporting location transparency and dynamic partial reconfiguration
CN105491037B (zh) 船载北斗二代设备与船舶以太网间的协议转换系统及过程
CN111064726B (zh) 一种goose协议与hdlc协议数据转换的实现方法及系统
CN105634788B (zh) 一种单板及单板管理方法、系统
CN101848239A (zh) 一种高时效性的分布式服务集成调用系统
CN101609427B (zh) 一种可编程的网络服务自动化测试系统及方法
CN112911024B (zh) 一种物联网数据采集的方法、系统、电子装置和存储介质
CN106657377B (zh) 一种wia-pa/全互联制造网络信息服务适配器及实现方法
CN104038569A (zh) 一种基于地址映射的集群通信模型
Ting et al. A comparison and evaluation of different BLE connection methods for wearable devices
CN101404656A (zh) 一种与第三方智能设备协议通讯的软件接口设计方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170911

Address after: 12, building 410000, building 233, Yuelu Avenue, Changsha, Hunan

Patentee after: Hunan Industrial Technology Cooperative Innovation Research Institute

Address before: 410073 Hunan province Changsha Kaifu District, Deya Road No. 109

Patentee before: NATIONAL University OF DEFENSE TECHNOLOGY

TR01 Transfer of patent right

Effective date of registration: 20180409

Address after: 410000 Hunan province Changsha Yuelu high tech Development Zone West Road No. 588 core city science and Technology Park Building 3 room 1101

Patentee after: HUNAN LEADING WISDOM TELECOMMUNICATION & TECHNOLOGY CO.,LTD.

Address before: 12, building 410000, building 233, Yuelu Avenue, Changsha, Hunan

Patentee before: Hunan Industrial Technology Cooperative Innovation Research Institute

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230111

Address after: 410031 Hunan Science and technology building, 233 Yuelu Avenue, Yuelu District, Changsha City, Hunan Province

Patentee after: Hunan Science and technology affairs center

Address before: Room 1101, building 3, Xincheng Science Park, 588 Yuelu West Avenue, Changsha hi tech Development Zone, Hunan 410000

Patentee before: HUNAN LEADING WISDOM TELECOMMUNICATION & TECHNOLOGY CO.,LTD.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230804

Address after: 410073 Hunan province Changsha Kaifu District, Deya Road No. 109

Patentee after: National University of Defense Technology

Address before: 410031 Hunan Science and technology building, 233 Yuelu Avenue, Yuelu District, Changsha City, Hunan Province

Patentee before: Hunan Science and technology affairs center

TR01 Transfer of patent right