一种基于DDS的发布订阅动态绑定通信系统技术方案

技术编号:33346363 阅读:20 留言:0更新日期:2022-05-08 09:42
本申请提供了一种基于DDS的发布订阅动态绑定通信系统,属于分布式通信技术领域,具体系统应用于分布式系统,DDS中间件部署在分布式系统的各个节点上,对外提供创建/删除主题、建立/删除绑定关系、发布数据和订阅数据等服务,实现业务数据的通信功能;分布式系统中各节点的应用程序采用微服务的形式进行管理,用户应用程序需要在中心节点的DDS管理器处进行注册后加入到分布式系统中;DDS管理器部署在中心节点,在收到用户应用程序加入和退出请求后,解析应用程序的配置文件,获取其通信时需要的通信实体,并通过远程调用DDS中间件接口创建或删除相应的通信实体。创建或删除相应的通信实体。创建或删除相应的通信实体。

【技术实现步骤摘要】
一种基于DDS的发布订阅动态绑定通信系统


[0001]本申请涉及分布式通信的领域,尤其是涉及一种基于DDS的发布订阅动态绑定通信系统。

技术介绍

[0002]数据分发服务(DataDistributionService,DDS)是一种分布式实时通信中间件技术规范,该服务定义了以数据为中心的发布/订阅模型,提供了一个跨平台的中间件框架,定义了大量的QOS策略,能够解决高效、实时的数据分发问题,为实时系统中数据发布、传递和接收的接口和行为提供了统一的标准。在分布式系统中,DDS中间件存在于系统和应用程序之间的软件层,使得系统的各个组件能够更方便地进行通讯和共享数据,应用程序不需要关注系统底层通信具体实现,调用DDS中间件的API接口就可完成数据通信。
[0003]随着分布式系统规模的不断扩大,各节点中的应用程序通信需求越来越复杂,同时DDS中发布订阅通信模式中的主题、数据写者、数据读者等实体也会导致用户应用程序的开发流程变得较为复杂,不利于用户应用程序的拓展。

技术实现思路

[0004]有鉴于此,本申请提供一种基于DDS的发布订阅动态绑定通信系统,解决了现有技术中的问题,采用微服务模式管理用户应用程序,为用户应用程序动态创建/删除通信实体,实现通信主题的动态绑定功能。
[0005]本申请提供的一种基于DDS的发布订阅动态绑定通信系统采用如下的技术方案:
[0006]一种基于DDS的发布订阅动态绑定通信系统,所述系统应用于分布式系统,所述分布式系统中各节点部署DDS中间件,并在所述分布式系统的中心节点上部署DDS管理器;
[0007]所述DDS中间件部署在分布式系统的各个节点上,对外提供创建/删除主题、建立/删除绑定关系、发布数据和订阅数据等服务,实现业务数据的通信功能;
[0008]所述分布式系统中各节点的应用程序采用微服务的形式进行管理,用户应用程序需要在中心节点的DDS管理器处进行注册后加入到分布式系统中;
[0009]所述DDS管理器部署在所述中心节点,在收到用户应用程序加入和退出请求后,解析应用程序的配置文件,获取其通信时需要的通信实体,并通过远程调用DDS中间件接口创建或删除相应的通信实体。
[0010]可选的,基于发布订阅的DDS中间件的通信实体包括:
[0011]域实体、发布者实体、订阅者实体、主题实体、数据写者实体以及数据读者实体;
[0012]用于通信的主题实体在全局数据空间上必须是唯一的,由应用程序指定字符串生成对应的主题实体,并保存在DDS中间件上。
[0013]可选的,所述DDS中间件分别向所述DDS管理器和用户应用程序提供两种调用接口,包括:
[0014]所述DDS中间件向所述DDS管理器提供远程调用接口,具体为主题创建、主题删除、
绑定关系创建和绑定关系解除接口;
[0015]所述DDS中间件向所述用户应用程序提供本地调用接口,具体为数据发布和数据订阅接口。
[0016]可选的,两种所述接口均采用restful形式
[0017]可选的,所述DDS管理器采用微服务的形式管理分布式系统中的用户应用程序,具体为:
[0018]所述分布式系统中的用户应用程序需要在中心节点的所述DDS管理器处进行注册后才能加入到分布式系统中;
[0019]所述DDS管理器接收用户应用程序的加入和退出请求,当有新的应用程序加入系统或有应用程序退出系统时,所述DDS管理器会解析应用程序的配置文件,获取其通信时所需的通信实体,并远程调用DDS中间件接口创建或删除相应的通信实体;
[0020]DDS管理器维护一个全局的数据库表用于存储分布式系统下的各节点的IP、主题和绑定关系等信息,记录并更新分布式系统节点以及DDS通信实体信息。
[0021]可选的,当用户应用程序加入或退出分布式系统时,各模块执行以下步骤:
[0022]应用程序向DDS管理器发出加入或退出请求;
[0023]DDS管理器读取应用程序配置文件获取相关信息,主要包括应用名称、应用描述、部署节点IP地址、应用通信主题以及应用通信绑定关系等信息;
[0024]DDS管理器调用DDS中间件的远程接口创建或删除相应的通信实体;
[0025]DDS中间件接收到创建请求,则判断是否存在主题和绑定关系,若不存在,则创建主题、主题对应的数据写者、绑定关系、绑定主题对应的数据读者等通信实体,并更新本地列表,DDS中间件接收到删除请求,则删除主题、主题对应的数据写者、绑定关系、绑定主题对应的数据读者等通信实体,并更新本地列表;
[0026]DDS中间件返回结果给DDS管理器,DDS管理器更新全局数据库表。
[0027]可选的,当所述分布式系统中用户应用程序发布或订阅业务数据时,各模块执行以下步骤:
[0028]用户应用程序调用DDS中间件本地接口进行数据发布或订阅,接口调用包含的参数包括主题名称、业务数据类型以及业务数据内容;
[0029]DDS中间件收到请求后,查询本地列表下的主题、数据写者和数据读者等通信实体是否存在,若存在,则调用该主题下的通信实体发布或订阅数据;
[0030]DDS中间件与全局数据空间进行交互,若成功发布数据,则返回结果至用户应用程序,若成功订阅数据,则将数据封装成Json格式返回至用户应用程序;
[0031]用户应用程序获取到结果后进行相应业务处理。
[0032]综上所述,本申请包括以下有益技术效果:
[0033]1、本申请采用微服务形式管理分布式系统节点上的应用程序,通过引入DDS管理器和DDS中间件实现应用程序主题和绑定关系的动态创建/删除,相比于传统的DDS中间件,用户应用程序无需进行创建和删除各类通信实体的工作,大大简化了用户应用程序的开发流程,用户可以更好地专注于业务数据的发布订阅;
[0034]2、DDS管理器通过远程调用的方式,可以更有效地创建、删除主体和绑定关系,微服务模式的应用也使得分布式系统各节点应用程序的管理变得更加方便灵活。
附图说明
[0035]为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0036]图1为本申请发布订阅动态绑定及通信流程图;
[0037]图2为本申请分布式应用程序加入系统流程示意图;
[0038]图3为本申请分布式应用程序退出系统流程示意图。
具体实施方式
[0039]下面结合附图对本申请实施例进行详细描述。
[0040]以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于DDS的发布订阅动态绑定通信系统,其特征在于,所述系统应用于分布式系统,所述分布式系统中的各节点部署DDS中间件,并在所述分布式系统的中心节点上部署DDS管理器;所述DDS中间件部署在分布式系统的各个节点上,对外提供创建/删除主题、建立/删除绑定关系、发布数据和订阅数据等服务,实现业务数据的通信功能;所述分布式系统中各节点的应用程序采用微服务的形式进行管理,用户应用程序需要在中心节点的DDS管理器处进行注册后加入到分布式系统中;所述DDS管理器部署在所述中心节点,在收到用户应用程序加入和退出请求后,解析应用程序的配置文件,获取其通信时需要的通信实体,并通过远程调用DDS中间件接口创建或删除相应的通信实体。2.根据权利要求1所述的基于DDS的发布订阅动态绑定通信系统,其特征在于,基于发布订阅的DDS中间件的通信实体包括:域实体、发布者实体、订阅者实体、主题实体、数据写者实体以及数据读者实体;用于通信的主题实体在全局数据空间上必须是唯一的,由应用程序指定字符串生成对应的主题实体,并保存在DDS中间件上。3.根据权利要求1所述的基于DDS的发布订阅动态绑定通信系统,其特征在于,所述DDS中间件分别向所述DDS管理器和用户应用程序提供两种调用接口,包括:所述DDS中间件向所述DDS管理器提供远程调用接口,具体为主题创建、主题删除、绑定关系创建和绑定关系解除接口;所述DDS中间件向所述用户应用程序提供本地调用接口,具体为数据发布和数据订阅接口。4.根据权利要求3所述的基于DDS的发布订阅动态绑定通信系统,其特征在于,两种所述接口均采用restful形式。5.根据权利要求1所述的基于DDS的发布订阅动态绑定通信系统,其特征在于,所述DDS管理器采用微服务的形式管理分布式系统中的用户应用程序,具体为:所述分布式系统中的用户应用程序需要在中心节点的所述DDS管理器处进行注册后才能加入到分布式系统中;所述DDS管理器接收用户应用...

【专利技术属性】
技术研发人员:张洋王中华王一凡刘雨坤何旺宇吕广喆
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:

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

1