一种基于混合传输机制的组件端口实现方法及终端转让专利

申请号 : CN202010176590.9

文献号 : CN111399824B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高欣春常坤熊石楼时志杰吴二龙郭岚许生

申请人 : 上海介方信息技术有限公司

摘要 :

本发明提供了一种基于混合传输机制的端口实现方法及终端,创建CORBA端口模板文件,创建DDS端口模板文件,集成CORBA端口至集成开发环境中,通过集成开发环境中代码自动生成脚本的方式,将CORBA端口模板文件实现在集成开发环境中;集成DDS端口至集成开发环境中,通过集成开发环境中代码自动生成脚本的方式,将DDS端口模板文件实现在集成开发环境中;在集成开发环境中集成CORBA端口和DDS端口连接,并在集成开发环境中设置约束。本发明解决波形组件只适应一种传机制的问题,提高波形组件之间的通信效率与可靠性;支持对端口进行图形化建模,只需简单的配置即可完成端口的开发,提高波形开发效率。

权利要求 :

1.一种基于混合传输机制的组件端口实现方法,其特征在于,包括:

创建CORBA端口模板文件,所述CORBA端口模板文件用于创建CORBA类型的组件端口,配置端口参数,通过变量的形式接受开发者传递的参数;

CORBA端口模板文件通过以下方法实现:

采用IDL文件描述方式,对CORBA接口进行定义;其中,对于CORBA类型输出端口,默认采用CF::PortAccessor接口;对于CORBA类型输入端口,默认定义以short、long、char、string数据类型作为接口的输入参数,并且允许用户自定义的接口;

实现CORBA端口Servant类;其中,对于CORBA类型输出端口的Servant类,采用connectUsesPorts操作、disconnectPorts操作、getProvidesPorts操作实现;对于CORBA类型输入端口的Servant类,对被调用接口的输入参数进行验证,若数据合法则将输入参数传递给User类的监听操作;

实现CORBA端口User类;其中,对于CORBA类型的输入端口和输出端口的User类属于用户接口,均采用发送数据和接收数据操作,通过波形开发者实现;

创建DDS端口模板文件,所述DDS端口模板文件用于创建DDS类型的组件端口,配置端口参数,通过变量的形式接受开发者传递的参数;

集成CORBA端口至集成开发环境中,通过集成开发环境中代码自动生成脚本的方式,将CORBA端口模板文件实现在集成开发环境中;

集成DDS端口至集成开发环境中,通过集成开发环境中代码自动生成脚本的方式,将DDS端口模板文件实现在集成开发环境中;

在集成开发环境中集成CORBA端口和DDS端口连接,并在集成开发环境中设置约束,实现组件端口的创建。

2.根据权利要求1所述的基于混合传输机制的组件端口实现方法,其特征在于,所述CORBA端口包括:CORBA接口、CORBA端口Servant类、CORBA端口User类;其中:所述CORBA接口为声明端口对外提供的接口;所述CORBA端口Servant类用于实现端口通用功能;CORBA端口User类用于开发者实现自定义功能。

3.根据权利要求1所述的基于混合传输机制的组件端口实现方法,其特征在于,所述DDS端口包括:DDS接口、DDS端口Servant类、DDS端口User类;其中:DDS接口为声明端口对外提供的接口;DDS端口Servant类用于实现端口通用功能;DDS端口User类用于开发者实现自定义功能。

4.根据权利要求1所述的基于混合传输机制的组件端口实现方法,其特征在于,DDS端口模板文件通过以下方法实现:采用IDL文件描述方式,对DDS接口进行定义;其中:对于DDS类型输出端口,由于是无连接的端口,无须继承CF::PortAccessor接口;对于DDS类型输入端口,默认定义以short、long、char、string数据类型作为主题Topic,并且允许用户自定义的主题Topic;

实现DDS端口Servant类;其中,对于DDS类型输出端口的Servant类,创建数据发布者DDS::Publisher对象;对于DDS类型输入端口的Servant类,创建数据订阅者DDS::Subscriber,实现对监听者监听到的数据进行验证,若数据合法则将输入参数传递给User类的监听操作;

实现DDS端口User类;其中,对于DDS类型的输入端口和输出端口的User类属于用户接口,均采用发送数据和接收数据操作,通过波形开发者实现。

5.根据权利要求1所述的基于混合传输机制的组件端口实现方法,其特征在于,将CORBA端口集成至集成开发环境的方法为:在集成开发环境中创建端口视图中,工具栏提供CORBA端口模型,所述CORBA端口模型用于以图像化方式表示端口对象,开发者在集成开发环境中创建端口对象;CORBA端口模板文件通过代码自动生成脚本实现,将开发者通过图形化窗口配置的参数作为CORBA端口模型的输入参数由用户输入;其中,CORBA端口User类中数据发送及接收操作嵌入到波形组件的模板文件中。

6.根据权利要求1所述的基于混合传输机制的组件端口实现方法,其特征在于,将DDS端口集成至集成开发环境的方法为:在集成开发环境中创建端口视图中,工具栏提供DDS端口模型,所述DDS端口模型用于以图像化方式表示端口对象,开发者在集成开发环境中创建端口对象;DDS端口模板文件同样通过自动生成脚本实现,将开发者通过图形化窗口配置的参数作为DDS端口模型的输入参数由用户输入;其中,DDS端口User类中数据发送及接收操作嵌入到波形组件的模板文件中。

7.根据权利要求1所述的基于混合传输机制的组件端口实现方法,其特征在于,在集成开发环境中集成CORBA端口和DDS端口连接的方法为:在集成开发环境中的创建端口视图中,工具栏提供实线和虚线两种箭头,并在集成开发环境中设置约束;其中:仅采用实线箭头连接CORBA类型端口,从发送端口指向接收端;

仅采用虚线箭头连接DDS类型端口,从发送端口指向接收端;

所述约束是指:实线仅连接CORBA类型端口,虚线仅连接DDS类型端口,并且连接线的箭头只能从发送端口指向接收端口。

8.根据权利要求1所述的基于混合传输机制的组件端口实现方法,其特征在于,集成开发环境采用一个面向软件无线电软件标准规范的基于模型驱动的建模工具,用于实现用户采用图像化的方式进行组件端口建模,与用户无关的代码和文件均由建模工具自动生成。

9.一种终端,包括存储器、处理器及存储在存储器上并能够在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时能够用于执行权利要求1至8中任一项所述的方法。

说明书 :

一种基于混合传输机制的组件端口实现方法及终端

技术领域

[0001] 本发明涉及软件无线电技术领域,具体地,涉及一种基于混合传输机制的组件端口实现方法及终端。

背景技术

[0002] 现有的软件无线电系统通常采用标准的软件架构,其中该标准架构包括国外的SCA(软件通信体系结构)标准规范和国军标SRTF(软件无线电通信装备体系结构)标准规范以及由SCA规范衍生的相应规范。依据软件架构标准规范,系统中的功能模块被封装为标准的软件组件,组件之间通信通过输入与输出端口。组件端口的设计直接决定了系统性能,甚至能否满足特殊场景要求。
[0003] 经对现有技术的检索发现:
[0004] 常坤等在《2018软件定义卫星高峰论坛会议摘要集》上发表了《基于开放式STRS架构的改进及混合传输机制设计》,该文中提出了面向开放式空间通信无线电系统(STRS)CORBA中间件、DDS中间件、RPC中间件混合,形成支持对象请求调用、面向数据、面向过程三种通信模型的混合传输机制,其不足在于只强调了多个中间件如何混合,并没有结合组件端口分析,也没有提出明确的组件端口设计思路。
[0005] 申请号是201811105155.6,公开号是109324912A,专利名称:面向软件通信体系结构的应用管理类软件的通信方法,提出面向软件通信体系结构的中应用软件之间采用CORBA中间件实现通信的方法,其不足之处在于没有采用混合传输机制,只能满足同步通信的要求,在异步通信及传输大量数据的应用场景就无法实现。
[0006] 综上所述,现有技术的状况是,在软件无线电系统中软件组件端口设计通常采用CORBA中间件作为单一的传输机制,而CORBA传输机制采用同步模式,适用于组件之间控制指令传输;DDS传输机制采用异步传输模式,适用于组件之间数据传输。而在实际应用中,波形组件之间、波形组件与逻辑设备组件之间、波形组件与服务组件之间都会存在控制指令、数据两种传输需求,如果采用CORBA传输机制传输数据,势必会造成系统工作性能下降,对于一些苛刻的性能指标要求,需要通过特定的实现方式来规避这个性能瓶颈,一是造成实现难度复杂,二是由于带入特定非标的设计使组件的复用受到限制。但是,如果将两种传输机制直接进行组合,则通常会产生如下技术问题:
[0007] 一、组件端口所依赖的传输机制比较冗余,影响性能;
[0008] 二、组件端口应该与具体中间件接口解耦,简单的融合势必让组件后期升级带来困难;
[0009] 三、创建组件端口需要增加大量的代码,对开发者要求比较高,影响开发效率。
[0010] 目前没有发现同本发明类似技术的说明或报道,也尚未收集到国内外类似的资料。

发明内容

[0011] 针对现有技术中存在的上述步骤,本发明提供了一种基于混合传输机制的组件端口实现方法及终端。该方法及终端适用于基于SCA标准、SRTF标准及由SCA衍生的相应标准而设计软件无线电系统。
[0012] 本发明是通过以下技术方案实现的。
[0013] 根据本发明的一个方面,提供了一种基于混合传输机制的组件端口实现方法,包括:
[0014] 创建CORBA端口模板文件,所述CORBA端口模板文件用于创建CORBA类型的组件端口,配置端口参数,通过变量的形式接受开发者传递的参数;
[0015] 创建DDS端口模板文件,所述DDS端口模板文件用于创建DDS类型的组件端口,配置端口参数,通过变量的形式接受开发者传递的参数;
[0016] 集成CORBA端口至集成开发环境中,通过集成开发环境中代码自动生成脚本的方式,将CORBA端口模板文件实现在集成开发环境中;
[0017] 集成DDS端口至集成开发环境中,通过集成开发环境中代码自动生成脚本的方式,将DDS端口模板文件实现在集成开发环境中;
[0018] 在集成开发环境中集成CORBA端口和DDS端口连接,并在集成开发环境中设置约束,实现组件端口的创建。
[0019] 优选地,所述CORBA端口包括:CORBA接口、CORBA端口Servant类、CORBA端口User类;其中:所述CORBA接口为声明端口对外提供的接口;所述CORBA端口Servant类用于实现端口通用功能;CORBA端口User类用于开发者实现自定义功能。
[0020] 优选地,CORBA端口模板文件通过以下方法实现:
[0021] 采用IDL文件描述方式,对CORBA接口进行定义;其中,对于CORBA类型输出端口,默认采用CF::PortAccessor接口;对于CORBA类型输入端口,默认定义以short、long、char、string数据类型作为接口的输入参数,并且允许用户自定义的接口;
[0022] 实现CORBA端口Servant类;其中,对于CORBA类型输出端口的Servant类,采用connectUsesPorts操作、disconnectPorts操作、getProvidesPorts操作实现;对于CORBA类型输入端口的Servant类,对被调用接口的输入参数进行验证,若数据合法则将输入参数传递给User类的监听操作;
[0023] 实现CORBA端口User类;其中,对于CORBA类型的输入端口和输出端口的User类属于用户接口,均采用发送数据和接收数据操作,通过波形开发者实现。
[0024] 优选地,所述DDS端口包括:DDS接口、DDS端口Servant类、DDS端口User类;其中:DDS接口为声明端口对外提供的接口;DDS端口Servant类用于实现端口通用功能;DDS端口User类用于开发者实现自定义功能。
[0025] 优选地,DDS端口模板文件通过以下方法实现:
[0026] 采用IDL文件描述方式,对DDS接口进行定义;其中:对于DDS类型输出端口,由于是无连接的端口,无须继承CF::PortAccessor接口;对于DDS类型输入端口,默认定义以short、long、char、string数据类型作为主题Topic,并且允许用户自定义的主题Topic;
[0027] 实现DDS端口Servant类;其中,对于DDS类型输出端口的Servant类,创建数据发布者DDS::Publisher对象;对于DDS类型输入端口的Servant类,创建数据订阅者DDS::Subscriber,实现对监听者监听到的数据进行验证,若数据合法则将输入参数传递给User类的监听操作;
[0028] 实现DDS端口User类;其中,对于DDS类型的输入端口和输出端口的User类属于用户接口,均采用发送数据和接收数据操作,通过波形开发者实现。
[0029] 优选地,将CORBA端口集成至集成开发环境的方法为:
[0030] 在集成开发环境中创建端口视图中,工具栏提供CORBA端口模型,所述CORBA端口模型用于以图像化方式表示端口对象,开发者在集成开发环境中创建端口对象;CORBA端口模板文件通过代码自动生成脚本实现,将开发者通过图形化窗口配置的参数作为CORBA端口模型的输入参数由用户输入;其中,CORBA端口User类中数据发送及接收操作嵌入到波形组件的模板文件中。
[0031] 优选地,将DDS端口集成至集成开发环境的方法为:
[0032] 在集成开发环境中创建端口视图中,工具栏提供DDS端口模型,所述DDS端口模型用于以图像化方式表示端口对象,开发者在集成开发环境中创建端口对象;DDS端口模板文件同样通过自动生成脚本实现,将开发者通过图形化窗口配置的参数作为DDS端口模型的输入参数由用户输入;其中,DDS端口User类中数据发送及接收操作嵌入到波形组件的模板文件中。
[0033] 优选地,在集成开发环境中集成CORBA端口和DDS端口连接的方法为:
[0034] 在集成开发环境中的创建端口视图中,工具栏提供实线和虚线两种箭头,并在集成开发环境中设置约束;其中:
[0035] 仅采用实线箭头连接CORBA类型端口,从发送端口指向接收端;
[0036] 仅采用虚线箭头连接DDS类型端口,从发送端口指向接收端。
[0037] 优选地,所述约束是指:实线仅连接CORBA类型端口,虚线仅连接DDS类型端口,并且连接线的箭头只能从发送端口指向接收端口。
[0038] 优选地,集成开发环境采用一个面向软件无线电软件标准规范的基于模型驱动的建模工具,用于实现用户采用图像化的方式进行组件端口建模,与用户无关的代码和文件均由建模工具自动生成。
[0039] 根据本发明的另一个方面,提供了一种终端,包括存储器、处理器及存储在存储器上并能够在处理器上运行的计算机程序,所述处理器执行所述计算机程序时能够用于执行上述任一项所述的方法。
[0040] 由于采用了上述技术问题,与现有技术相比,本发明具有如下的有益效果:
[0041] 1、本发明提供的基于混合传输机制的组件端口实现方法及终端,采用CORBA和DDS两种传输机制的实现组件端口,既保证了与软件无线电软件架构标准规范的兼容性,又解决组件只适应一种传机制的问题,提高系统软件组件之间的通信效率与可靠性。
[0042] 2、本发明提供的基于混合传输机制的组件端口实现方法及终端,支持对组件端口进行图形化建模,对用户来说屏蔽端口内部的具体实现,只需简单的配置即可完成端口的开发,提高软件无线电系统标准化组件的开发效率。

附图说明

[0043] 通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0044] 图1为本发明一优选实施例中所提供的基于混合传输机制的组件端口实现方法流程图;
[0045] 图2为本发明一优选实施例中所提供的CORBA类型端口模板文件实现方法流程图;
[0046] 图3为本发明一优选实施例中所提供的DDS类型端口模板文件实现方法流程图;
[0047] 图4为本发明一优选实施例中所提供的SCA波形组件端口连接关系图。

具体实施方式

[0048] 下面对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。本实施实例基于SCA标准而构建,但该发明所提出的基于混合传输机制的组件端口方法同样适用于SRTF标准等由SCA标准衍生的相关标准。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
[0049] 本发明实施例提供了一种基于混合传输机制的组件端口实现方法,如图1所示,包括以下步骤:
[0050] 步骤1:创建CORBA端口模板文件,其中,CORBA端口包括:CORBA接口、CORBA端口Servant类、CORBA端口User类。所述CORBA端口模板文件用于创建CORBA类型的组件端口,端口模板中是通用代码,需要开发者配置的参数,通过变量的形式接受开发者传递的参数。
[0051] 进一步地,如图2所示,步骤1中CORBA端口模板文件的实现步骤如下:
[0052] 步骤1.1:采用IDL文件描述方式,对CORBA接口进行定义;其中,对于CORBA类型输出端口,默认采用CF::PortAccessor接口;对于CORBA类型输入端口,默认定义以short、long、char、string等数据类型作为接口的输入参数,并且允许用户自定义的接口。
[0053] 步骤1.2:实现CORBA端口Servant类;其中,对于CORBA类型输出端口的Servant类,实现connectUsesPorts操作、disconnectPorts操作、getProvidesPorts操作;对于CORBA类型输入端口的Servant类,实现对被调用接口的输入参数验证,若数据合法则将输入参数传递给User类的监听操作。
[0054] 步骤1.3:实现CORBA端口User类;其中,对于CORBA类型的输入端口、输出端口,User类是一致的,都有发送数据和接收数据操作,而这两个操作均由波形开发者实现,属于用户接口。
[0055] 其中,所述CORBA接口是声明端口对外提供的接口;所述CORBA端口Servant类用于实现端口通用的功能,包括端口初始化、注册等,对开发者不开放;CORBA端口User类用于开发者实现特定的功能,属于自定义部分。
[0056] 步骤2:;创建DDS端口模板文件,其中,DDS端口包括DDS接口、DDS端口Servant类、DDS端口User类。所述DDS端口模板文件用于创建DDS类型的组件端口,端口模板中是通用代码,需要开发者配置的参数,通过变量的形式接受开发者传递的参数。
[0057] 进一步地,如图3所示,步骤2中DDS端口模板文件的实现步骤如下:
[0058] 步骤2.1:采用IDL文件描述方式,对DDS接口进行定义;其中:对于DDS类型输出端口,无须继承CF::PortAccessor接口,因为DDS端口是无连接的;对于DDS类型输入端口,默认定义以short、long、char、string等数据类型作为主题(Topic),并且允许用户自定义的主题(Topic)。
[0059] 步骤2.2:实现DDS端口Servant类;其中,对于DDS类型输出端口的Servant类,创建数据发布者(DDS::Publisher)对象;对于DDS类型输入端口的Servant类,创建数据订阅者(DDS::Subscriber),实现对监听者监听到的数据进行验证,若数据合法则将输入参数传递给User类的监听操作。
[0060] 步骤2.3:实现DDS端口User类;其中,对于DDS类型的输入端口、输出端口,User类是一致的,都有发送数据和接收数据操作,而这两个操作是由波形开发者实现,属于用户接口。
[0061] 其中,DDS接口是声明端口对外提供的接口;DDS端口Servant类用于实现端口通用的功能,包括端口初始化、注册等,对开发者不开放;DDS端口User类用于开发者实现特定的功能,属于自定义部分。
[0062] 步骤3:集成CORBA端口至集成开发环境中,在集成开发环境中创建端口视图中,工具栏提供CORBA端口模型;所述CORBA端口模型用于以图像化方式表示端口对象,开发者通过在集成开发环境中拖拽的方式创建端口对象;CORBA端口模板文件通过代码自动生成脚本实现,将可变的部分作为CORBA端口模型的输入参数由用户输入,比如端口名称、接口类型等。其中CORBA端口User类中数据发送及接收操作嵌入到波形组件的模板文件中。其中,可变的部分是指端口的数量、端口名称、策略等,由开发者通过图形化窗口配置的参数。
[0063] 步骤4:集成DDS端口至集成开发环境中,在集成开发环境中创建端口视图中,工具栏提供DDS端口模型;所述DDS端口模型用于以图像化方式表示端口对象,开发者通过在集成开发环境中拖拽的方式创建端口对象;DDS端口模板文件同样通过自动生成脚本实现,将可变的部分作为DDS端口模型的输入参数由用户输入,比如端口名称、接口类型等。其中DDS端口User类中数据发送及接收操作嵌入到波形组件的模板文件中。其中,可变的部分是指指端口的数量、端口名称、策略等,由开发者通过图形化窗口配置的参数。
[0064] 步骤5:在集成开发环境中集成端口连接,在集成开发环境中的创建端口视图中,工具栏提供实线和虚线两种箭头,并在集成开发环境中设置约束。只可以用实线箭头连接CORBA类型端口,从发送端口指向接收端,只可以用虚线箭头连接DDS类型端口,从发送端口指向接收端。
[0065] 进一步地,步骤3~步骤5中,集成开发环境是一个面向软件无线电软件标准规范的基于模型驱动的建模工具,实现用户采用图像化的方式进行组件端口建模,与用户无关的代码和文件(包括:代码文件、Server文件、Servant文件、描述文件SCD.XML文件)都由建模工具自动生成,目的是降低用户开发例如SCA波形的门槛,提高开发效率。
[0066] 本发明实施例所提供的基于混合传输机制的组件端口实现方法,只需要通过图形化的方式配置参数,然后集成开发环境中将应用开发者的配置参数收集并结合模板自动实现组件端口的创建。
[0067] 如图4所示,为SCA波形组件端口连接关系图,图中:
[0068] 一个SCA波形由两个波形组件构成,第一个波形组件包含一个CORBA类型发送端口(CPort_U)和一个DDS类型发送端口(DPort_U),第二个波形组件包含一个CORBA类型接收端口(CPort_P)和一个DDS类型接收端口(DPort_P).其中第一个波形组件通过CORBA类型端口实现对第二个波形组件的接口控制,通过DDS类型端口实现数据的发送。
[0069] 基于本发明实施例所提供的基于混合传输机制的组件端口实现方法,本发明实施例同时提供了一种终端,包括存储器、处理器及存储在存储器上并能够在处理器上运行的计算机程序,所述处理器执行所述计算机程序时能够用于执行上述任一项所述的方法。
[0070] 下面结合一具体工业应用实例,对本发明实施例所提供的上述组件端口实现方法进一步详细描述。
[0071] 本发明上述所提供的基于混合传输机制的组件端口实现方法,可以应用于设计飞机上的通信设备,所述通信设备采用软件无线电架构,其软件架构采用标准的软件通信体系结构规范。开发者开发软件无线电通信波形,在集成开发环境中创建波形组件及端口。其创建组件端口的过程如下:
[0072] 1)创建端口模型视图;
[0073] 2)配置端口模型参数,如端口类型、传输机制类型、Topic等;
[0074] 3)将端口模型入库;
[0075] 4)在组件模型视图中从端口模型库导出端口模型,并装配到组件模型上;
[0076] 5)生成组件代码,并在组件代码中实现端口的输入和输出处理部分。
[0077] 最后,借助于集成开发环境进行波形装配,即建立波形组件之间的连接,生成SAD.XML描述文件。最终,完成一个符合软件通信体系结构的软件无线电通信波形,下载到通信设备中,就可以实现该波形提供的功能。
[0078] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。