一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于DDS与组播通信的LVC-DE分布式合成环境服务发现方法与流程

2022-12-13 20:45:41 来源:中国专利 TAG:

一种基于dds与组播通信的lvc-de分布式合成环境服务发现方法
技术领域
1.本发明涉及lvc-de分布式合成环境服务领域,具体而言,涉及一种基于dds与组播通信的lvc-de分布式合成环境服务发现方法。


背景技术:

2.lvc-de分布式合成环境用于将分布在不同区域的、隶属于不同单位的各类真实的sl、虚拟的sv或构造的sc试验资源互联在一起,支持信息共享、资源共用和重用以及系统间的互联互通互操作,并可根据试验任务的要求组合使用各类资源快速构建大规模分布式试验系统。
3.在lvc-de分布式合成环境中,各类试验资源以服务方式提供信息共享能力。因此,服务发现是大规模分布式试验系统完成实验任务的基础。现有的分布式试验系统采用大多基于单播心跳机制实现服务发现,即通过试验资源之间按照一定时间间隔广播发送心跳探测包实现服务查询。该方法的实现原理简单,但是当网络发生丢包或者拥塞时,容易出现在线服务误判的情况。此外,该方法需要定时发送探测包,当大规模分布式试验系统所涉及的试验资源较多时,探测包的发送量容易造成通信拥塞的问题,影响整个lvc-de分布式合成环境信息传输的实时性。
4.数据分发服务sdata distribution service,dds是对象管理组织sobject management group,omg制定的基于发布/订阅机制、实现高实时性通信的分布式实时系统的软件设计规范,标准化了数据分发过程的各个接口和行为。dds通过使用全局数据空间,脱离中心服务器的连接,系统中各实体交互以数据为中心,提高了通信效率。dds提供20多个可配置的qos策略的全面支持,应用程序可以利用qos策略来优先考虑不同的数据主题和信息流、控制中间件历史缓存的数量,确保信息的可靠传递、发送数据的速率、信息的订阅者等待数据和资源的时间,适应低带宽或高延迟链路等。
5.组播又称多目标广播、多播,是一种在一个发送者和多个接收者之间进行通信的方法。它允许把所发消息传送给所有可能目的地中的一个经过选择的子集,即向明确指出的多种地址输送信息。因此我们对此做出改进,提出一种基于dds与组播通信的lvc-de分布式合成环境服务发现方法,。


技术实现要素:

6.本发明的目的在于:针对目前存在的背景技术提出的问题。为了实现上述发明目的,本发明提供了以下技术方案:一种基于dds与组播通信的lvc-de分布式合成环境服务发现方法,包括以下步骤:s1服务发现方式选择,在lvc-de分布式合成环境中,为每个试验资源提供了独立的本地配置文件configure.xml,试验资源启动时通过读取本地配置文件,确定采用的服务发现机制为基于组播模式还是基于dds内置主题模式;
s2基于dds主题的服务发现过程,基于dds主题的服务发现机制应用于对于系统规模小且对于可靠性要求较高的场景;s3基于组播通信的服务发现过程,基于组播通信的服务发现机制应用于对于系统规模大且对于可靠性要求不高的场景。
7.作为本发明优选的技术方案,s1服务发现方式选择,包括以下步骤:s1-1试验资源件启动后,读取本地配置文件configure.xml,按照各关键字解析本地配置信息;s1-2判断全局通知模式配置项isrtpsdiscovertype的值,值为true则执行步骤s1-3-1,值为false则执行步骤s1-3-2;s1-3-1如果isrtpsdiscovertype的值为true,设置全局通知标识为组播模式,转至步骤s1-4;s1-3-2如果isrtpsdiscovertype的值为false,设置全局通知标识为dds主题模式,转至步骤s1-5;s1-4创建udp组播网络套接字,绑定本地网络ip地址及端口,并加入服务发现的组播组,转至步骤s1-8。
8.作为本发明优选的技术方案,s1服务发现方式选择,还包括:s1-5创建dds域参与者工厂,并基于dds域参与者工厂创建用于服务发现的域参与者;s1-6基于域参与者创建用于服务发现的发布者与订阅者,注册用于服务发现的主题类型,并创建相应的服务发现主题;s1-7基于发布者创建服务发现主题的数据写入者,基于订阅者创建服务发现主题的数据读取者;s1-8等待接收其它试验资源的服务发现通知消息。
9.作为本发明优选的技术方案,s2基于dds主题的服务发现过程,包括以下步骤:s2-1基于步骤s1-6中创建的服务发现主题,判断是否接收到服务发现主题的数据;s2-2-1如果未收到服务发现主题的数据,转至步骤s2-5;s2-2-2如果收到服务发现主题的数据,则基于步骤s1-7创建的服务发现主题的数据读取者获取试验资源在线/离线通知;s2-3判断试验资源的通知类型,如果是试验资源离线通知,转至步骤s2-10;s2-4将试验资源加入在线服务列表,并更新其最后上线时间;s2-5判断服务发现主题的活跃度是否发生变化,如果服务发现主题的未出现活跃度下降,转至步骤s2-7s2-6将活跃度降低的试验资源加入待确认离线列表;s2-7判断是否到达定时周期ts取值可根据系统规模设置,默认取值为20毫秒,如果未到达定时周期t,转至步骤s2-1。
10.作为本发明优选的技术方案,s2基于dds主题的服务发现过程,还包括:s2-8基于步骤s1-7创建的服务发现主题的数据写入者,发送试验资源在线通知;s2-9检查待确认离线列表中试验资源的最后上线时间,如果试验资源的最后上线时间未超过2t,转至步骤s2-11;
s2-10将试验资源从在线服务列表中删除;s2-11判断试验资源是否关闭服务发现,如果是关闭服务发现,转至步骤s2-1;s2-12基于步骤s1-7创建的服务发现主题的数据写入者,发送试验资源离线通知。
11.作为本发明优选的技术方案,s3基于组播通信的服务发现过程,包括以下步骤:s3-1基于步骤s1-4中创建udp组播网络套接字,判断是否接收到试验资源在线/离线通知;s3-2判断试验资源的通知类型,如果是试验资源离线通知,转至步骤s3-7;s3-3将试验资源加入在线服务列表,并更新其最后上线时间;s3-4判断是否到达定时周期t,如果未到达定时周期t,转至步骤s3-1;s3-5基于步骤s1-4中创建udp组播网络套接字,发送试验资源在线通知。
12.作为本发明优选的技术方案,s3基于组播通信的服务发现过程,还包括:s3-6检查待确认离线列表中试验资源的最后上线时间,如果试验资源的最后上线时间未超过2t,转至步骤s3-8;s3-7将试验资源从在线服务列表中删除;s3-8判断试验资源是否关闭服务发现,如果是关闭服务发现,转至步骤s3-1;s3-9基于步骤s1-4中创建udp组播网络套接字,发送试验资源离线通知。
13.与现有技术相比,本发明的有益效果:在本发明的方案中:1.本发明提出的基于dds与组播通信的服务发现方法能够解决目前lvc-de分布式合成环境在实现服务发现时易受网络状态影响和易造成网络通信拥塞的问题,有效的避免了由于网络自身状态而触发的服务异常发现,降低异常网络状态的误报率;2.本发明提出基于dds与组播通信的lvc-de分布式合成环境服务发现方法已经成功应用于电磁环境综合试验验证系统中,将由服务发现产生的网络负载量降低了20%左右,同时将异常网络状态的误报率降低了30%左右。
14.附图说明:图1为本发明提供的服务发现方式选择流程图;图2为本发明提供的基于dds主题的服务发现基本流程图;图3为本发明提供的基于组播通信的服务发现基本流程图;图4为本发明提供的服务发现dds主题的内容图;图5为本发明提供的服务发现的组播通信内容。
具体实施方式
15.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。
16.因此,以下对本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的部分实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
17.在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基
于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,这类术语仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
18.如图1-图5,本实施方式提出一种基于dds与组播通信的lvc-de分布 式合成环境服务发现方法,s1服务发现方式选择,在lvc-de分布式合成环 境中,为每个试验资源提供了独立的本地配置文件configure.xml,试验资源启 动时通过读取本地配置文件,确定采用的服务发现机制为基于组播模式还是 基于dds内置主题模式;
19.s1服务发现方式选择,包括以下步骤:s1-1试验资源件启动后,读取本地配置文件configure.xml,按照各关键字解析本地配置信息;s1-2判断全局通知模式配置项isrtpsdiscovertype的值,值为true则执行步骤s1-3-1,值为false则执行步骤s1-3-2;s1-3-1如果isrtpsdiscovertype的值为true,设置全局通知标识为组播模式,转至步骤s1-4;s1-3-2如果isrtpsdiscovertype的值为false,设置全局通知标识为dds主题模式,转至步骤s1-5;s1-4创建udp组播网络套接字,绑定本地网络ip地址及端口,并加入服务发现的组播组,转至步骤s1-8。
20.s1服务发现方式选择,还包括:s1-5创建dds域参与者工厂,并基于dds域参与者工厂创建用于服务发现的域参与者;s1-6基于域参与者创建用于服务发现的发布者与订阅者,注册用于服务发现的主题类型,并创建相应的服务发现主题;s1-7基于发布者创建服务发现主题的数据写入者,基于订阅者创建服务发现主题的数据读取者;s1-8等待接收其它试验资源的服务发现通知消息。
21.s2基于dds主题的服务发现过程,包括以下步骤:s2-1基于步骤s1-6中创建的服务发现主题,判断是否接收到服务发现主题的数据;s2-2-1如果未收到服务发现主题的数据,转至步骤s2-5;s2-2-2如果收到服务发现主题的数据,则基于步骤s1-7创建的服务发现主题的数据读取者获取试验资源在线/离线通知;s2-3判断试验资源的通知类型,如果是试验资源离线通知,转至步骤s2-10;s2-4将试验资源加入在线服务列表,并更新其最后上线时间;s2-5判断服务发现主题的活跃度是否发生变化,如果服务发现主题的未出现活跃度下降,转至步骤s2-7s2-6将活跃度降低的试验资源加入待确认离线列表;s2-7判断是否到达定时周期ts取值可根据系统规模设置,默认取值为20毫秒,如
果未到达定时周期t,转至步骤s2-1。
22.s2基于dds主题的服务发现过程,还包括:s2-8基于步骤s1-7创建的服务发现主题的数据写入者,发送试验资源在线通知;s2-9检查待确认离线列表中试验资源的最后上线时间,如果试验资源的最后上线时间未超过2t,转至步骤s2-11;s2-10将试验资源从在线服务列表中删除;s2-11判断试验资源是否关闭服务发现,如果是关闭服务发现,转至步骤s2-1;s2-12基于步骤s1-7创建的服务发现主题的数据写入者,发送试验资源离线通知。
23.s3基于组播通信的服务发现过程,包括以下步骤:s3-1基于步骤s1-4中创建udp组播网络套接字,判断是否接收到试验资源在线/离线通知;s3-2判断试验资源的通知类型,如果是试验资源离线通知,转至步骤s3-7;s3-3将试验资源加入在线服务列表,并更新其最后上线时间;s3-4判断是否到达定时周期t,如果未到达定时周期t,转至步骤s3-1;s3-5基于步骤s1-4中创建udp组播网络套接字,发送试验资源在线通知。
24.s3基于组播通信的服务发现过程,还包括:s3-6检查待确认离线列表中试验资源的最后上线时间,如果试验资源的最后上线时间未超过2t,转至步骤s3-8;s3-7将试验资源从在线服务列表中删除;s3-8判断试验资源是否关闭服务发现,如果是关闭服务发现,转至步骤s3-1;s3-9基于步骤s1-4中创建udp组播网络套接字,发送试验资源离线通知。
25.工作原理:本发明在使用的过程中,s1服务发现方式选择,在lvc-de分布式合成环境中,为每个试验资源提供了独立的本地配置文件configure.xml,试验资源启动时通过读取本地配置文件,确定采用的服务发现机制为基于组播模式还是基于dds内置主题模式;s2基于dds主题的服务发现过程,基于dds主题的服务发现机制应用于对于系统规模小且对于可靠性要求较高的场景;s3基于组播通信的服务发现过程,基于组播通信的服务发现机制应用于对于系统规模大且对于可靠性要求不高的场景。s1服务发现方式选择,包括以下步骤:s1-1试验资源件启动后,读取本地配置文件configure.xml,按照各关键字解析本地配置信息;s1-2判断全局通知模式配置项isrtpsdiscovertype的值,值为true则执行步骤s1-3-1,值为false则执行步骤s1-3-2;s1-3-1如果isrtpsdiscovertype的值为true,设置全局通知标识为组播模式,转至步骤s1-4;s1-3-2如果isrtpsdiscovertype的值为false,设置全局通知标识为dds主题模式,转至步骤s1-5;s1-4创建udp组播网络套接字,绑定本地网络ip地址及端口,并加入服务发现的组播组,转至步骤s1-8。s1服务发现方式选择,还包括:s1-5创建dds域参与者工厂,并基于dds域参与者工厂创建用于服务发现的域参与者;s1-6基于域参与者创建用于服务发现的发布者与订阅者,注册用于服务发现的主题类型,并创建相应的服务发现主题;s1-7基于发布者创建服务发现主题的数据写入者,基于订阅者创建服务发现主题的数据读取者;s1-8等待接收其它试验资源的服务发现通知消息。s2基于dds主题的服务发现过程,包括以下步骤:s2-1基于步骤s1-6中创建的服务发现主题,判断是否接收到服务发现主题的数据;s2-2-1如果未收到服务发现主题的数据,转至步骤s2-5;s2-2-2如果收到服务发现主题的数据,则基于步骤s1-7创建的服务发现主题的数据读取者
获取试验资源在线/离线通知;s2-3判断试验资源的通知类型,如果是试验资源离线通知,转至步骤s2-10;s2-4将试验资源加入在线服务列表,并更新其最后上线时间;s2-5判断服务发现主题的活跃度是否发生变化,如果服务发现主题的未出现活跃度下降,转至步骤s2-7s2-6将活跃度降低的试验资源加入待确认离线列表;s2-7判断是否到达定时周期ts取值可根据系统规模设置,默认取值为20毫秒,如果未到达定时周期t,转至步骤s2-1。s2基于dds主题的服务发现过程,还包括:s2-8基于步骤s1-7创建的服务发现主题的数据写入者,发送试验资源在线通知;s2-9检查待确认离线列表中试验资源的最后上线时间,如果试验资源的最后上线时间未超过2t,转至步骤s2-11;s2-10将试验资源从在线服务列表中删除;s2-11判断试验资源是否关闭服务发现,如果是关闭服务发现,转至步骤s2-1;s2-12基于步骤s1-7创建的服务发现主题的数据写入者,发送试验资源离线通知。s3基于组播通信的服务发现过程,包括以下步骤:s3-1基于步骤s1-4中创建udp组播网络套接字,判断是否接收到试验资源在线/离线通知;s3-2判断试验资源的通知类型,如果是试验资源离线通知,转至步骤s3-7;s3-3将试验资源加入在线服务列表,并更新其最后上线时间;s3-4判断是否到达定时周期t,如果未到达定时周期t,转至步骤s3-1;s3-5基于步骤s1-4中创建udp组播网络套接字,发送试验资源在线通知。s3基于组播通信的服务发现过程,还包括:s3-6检查待确认离线列表中试验资源的最后上线时间,如果试验资源的最后上线时间未超过2t,转至步骤s3-8;s3-7将试验资源从在线服务列表中删除;s3-8判断试验资源是否关闭服务发现,如果是关闭服务发现,转至步骤s3-1;s3-9基于步骤s1-4中创建udp组播网络套接字,发送试验资源离线通知。
26.以上实施例仅用以说明本发明而并非限制本发明所描述的技术方案,尽管本说明书参照上述的各个实施例对本发明已进行了详细的说明,但本发明不局限于上述具体实施方式,因此任何对本发明进行修改或等同替换;而一切不脱离发明的精神和范围的技术方案及其改进,其均涵盖在本发明的权利要求范围当中。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献