一种基于DDS的软件化雷达数据流通信方法技术

技术编号:37772820 阅读:14 留言:0更新日期:2023-06-06 13:38
本发明专利技术提出了一种基于DDS的软件化雷达数据流通信方法,主要包括数据收发接口的封装、数据缓存机制的设计和数据收发控制策略的实现。数据收发接口按照DDS实体规范进行封装,为雷达数据流通信的实现提供了统一的编程框架,解决了软件模块之间的紧耦合问题;数据缓存机制提供了一套通用的缓存模型,平衡了雷达应用运算与通信的速率差异,降低了数据传输时延和空间开销;数据收发控制策略提供了适用于雷达数据的数据包格式以及数据流传输协议,针对不同应用场景和用户需求,选择合适的通信方式,实现了对不同类型雷达数据的收发控制和管理。本发明专利技术为软件化雷达系统中的数据通信提供了可行的实施方案,有效提升了数据传输的实时性、稳定性和灵活扩展性。稳定性和灵活扩展性。稳定性和灵活扩展性。

【技术实现步骤摘要】
一种基于DDS的软件化雷达数据流通信方法


[0001]本专利技术涉及软件化雷达领域,具体涉及软件化雷达分布式数据通信技术,尤其地,涉及一种基于DDS规范的数据流通信方法。

技术介绍

[0002]DDS(Data Distribution Service)数据分发服务是对象管理组织(OMG)在CORBA等标准的基础上制定的新一代分布式实时通信中间件技术规范。DDS采用以数据为中心的发布/订阅模型(DCPS),在该模型中,应用程序使用特定的API建立对应的DDS实体,进而使用实体实现发布/订阅模式的数据通信。以数据为中心而非服务使得其更符合分布式系统中应用程序要进行数据传输的主要目标。DDS为时间关键数据流提供了最小开销,具有灵活可扩展的体系结构,且支持可靠的数据传输和自定义的数据类型,适用于对实时性、可靠性以及灵活性要求高的数据通信场合。
[0003]软件化雷达基于标准化的数字平台,具有开放式体系结构,采用面向应用的开发模式,是一种功能通过软件定义、扩展以及重构的新型雷达技术。在软件化雷达中,雷达信号处理系统持续接收前端的回波数据,且回波数据大多为脉冲结构,作为数据包在系统中传输,适合数据流驱动计算模式。由于不同算法处理环节分布在不同节点上,雷达信号处理系统中不同节点之间的通信存在困难,而不同的通信接口也给开发人员带来了难题,因此,需要一种通用的数据流通信方法来保证雷达数据传输的实时性和稳定性,支持多样化的数据种类和传输模式。
[0004]现有技术方案如下:
[0005]公开号为CN105554089A的专利技术申请提出了一种基于DDS标准的“请求

响应”式数据通信方法,该方法围绕“请求

响应”模式定义了相应的域、主题及消息结构,并按照统一消息定义创建请求消息,根据DDS标准发布请求消息,然后订阅者对接收到的信息按照字段进行过滤,响应方对请求消息使用相应技术进行反序列化,得到请求参数,达到同一主题下的点对点传输。
[0006]公开号为CN105554089A的专利技术申请在DDS发布/订阅模式的基础上,扩展了适用于交互式的“请求

应答”应用场景。但请求/应答模式本身不适合雷达数据高实时、高可靠的需求,且该数据通信方法限制了特定的应用环境,增加了一些非标准化的内容,减弱了原本DDS以数据为中心的发布/订阅模型的优势。
[0007]公开号为CN110740182A的专利技术申请提出了一种基于DDS技术的动态数据通信方法及设备,该方法包括:步骤1,根据DDS通信过程中动态产生的主题ID,生成通信通道;步骤2,根据主题路由表判断通信数据是否需要路由,并通过所述通信通道进行所述通信数据的传输;步骤3,通信结束后,释放主题内存资源,更新所述主题路由表。用户无须配置通信过程中的主题,即可适应各节点的点对点通信要求;通信的各节点只收到控制信息,不会收到与自身节点无关的信息,避免了冗余信息。
[0008]公开号为CN110740182A的专利技术申请主要利用了DDS主题发布订阅的特点,通过建
立主题的路由表来提升数据的通信效率,只是优化了主题的动态同步和通信通道的建立过程,并未对数据传输本身进行改善。此外,该方法仅有利于控制信息的传输,不适合其他类型数据信息的传输。
[0009]公开号为CN110602188A的专利技术申请提出了一种基于DDS中间件的数据分发方法,涉及分布式通信系统,分布式通信系统中的通信节点中设有DDS中间件,DDS中间件上开设有心跳线程,利用心跳机制来检测订阅者的增减,并及时通知发布者停止向退出的订阅者发送数据,能节省数据通信带宽。
[0010]公开号为CN110602188A的专利技术申请通过心跳机制来减少无谓的数据传输,节省了通信带宽和系统资源的消耗,但该方法只是解决节点退出时造成的数据浪费的问题,没有从具体的传输过程提升通信的实时性、可靠性等其他性能。

技术实现思路

[0011]本专利技术所要解决的技术问题是,为克服软件化雷达系统中分布式应用节点之间通信实时性低、可靠性和灵活性不足等缺陷,提供一种基于DDS的软件化雷达数据流通信方法。
[0012]本专利技术为解决上述技术问题所采用的技术方案是,一种基于DDS的软件化雷达数据流通信方法,包括以下步骤:
[0013]数据收发接口的封装步骤:按照数据分发服务DDS规范对数据收发接口进行封装,通过接口创建数据写者和数据读者,支持发布订阅的通信模型,组件在建立好发布订阅连接后,将数据提交到数据收发接口进行处理,利用数据写者和数据读者完成具体的数据流传输;
[0014]数据缓存步骤:数据收发缓冲区用于缓存传输过程中的数据流,设置缓冲队列和链表等数据结构,结合多线程构建数据缓存模型,分配合适的缓冲区和子线程用于收发数据,实现数据流实时传输;
[0015]数据缓存模型主要用到队列和链表数据结构,缓冲区采用环形队列的设计;数据写者/数据读者在发送/接收数据时把数据拷贝到缓冲队列中,同时分别维护一个全局的发送/接收管理链表;管理链表采用单链表结构,链表每个节点记录每一次发送/接收的一帧数据相关的管理信息,包括:IP地址、端口号、缓冲区地址和帧大小信息;
[0016]数据收发控制步骤:通过自定义数据包格式以及数据流传输协议,对数据的收发和缓存过程进行控制以实现数据通信和雷达组件算法的解耦。
[0017]具体的,步骤1中,数据收发接口主要包括创建数据写者对象和数据读者对象的方法,以及发布者/订阅者和域参与者成员。
[0018]具体的,在发送和接收数据时,会分配合适大小的缓冲队列,开辟多个发送/接收数据的子线程;
[0019]数据发送时,首先,后台的每个发送子线程函数通过管理信息对发送缓冲队列大小进行分配或调整,然后,结合线程同步和多线程并发,从缓冲队列循环获取一定大小的数据并发送;
[0020]数据接收时,首先,在接收方维护了一个线程池,接收子线程通过条件变量阻塞在接收方的接收任务队列中,当有数据到来时,唤醒相应的接收子线程,接收相应大小的数
据,并动态存储到接收缓冲队列中。
[0021]具体的,步骤3中,数据收发控制策略参考了实时消息传输协议RTMP,结合雷达数据传输的需求定义数据包格式以及数据流传输协议。
[0022]数据包格式由控制协议头和数据帧组成。控制协议头包括数据帧大小、帧序号、通信链路协议、数据序列化协议、组件算法序号等字段信息,数据帧是指要传输的实际的雷达数据帧。具体实现过程包括:
[0023]首先,发送方根据用户需求对控制信息包头中的字段进行设置,包头中的字段选项都预先写在了相应的头文件中;
[0024]然后,发送方通过数据收发接口将生成的协议头和数据帧封装成数据包,按照协议头中相应的链路协议发送给接收方;
[0025]接着,接收方解析数据包的协议头,根据解析得到的序列化协议信息,将数据转化为统一格式的字节序列。同时,根据帧大小和帧序号判断数据帧是否完整;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于DDS的软件化雷达数据流通信方法,其特征在于,包括以下步骤:数据收发接口的封装步骤:按照数据分发服务DDS规范对数据收发接口进行封装,通过接口创建数据写者和数据读者,支持发布订阅的通信模型,组件在建立好发布订阅连接后,将数据提交到数据收发接口进行处理,利用数据写者和数据读者完成具体的数据流传输;数据缓存步骤:数据收发缓冲区用于缓存传输过程中的数据流,设置缓冲队列和链表等数据结构,结合多线程构建数据缓存模型,分配合适的缓冲区和子线程用于收发数据,实现数据流实时传输;数据缓存模型主要用到队列和链表数据结构,缓冲区采用环形队列的设计;数据写者/数据读者在发送/接收数据时把数据拷贝到缓冲队列中,同时分别维护一个全局的发送/接收管理链表;管理链表采用单链表结构,链表每个节点记录每一次发送/接收的一帧数据相关的管理信息,包括:IP地址、端口号、缓冲区地址和帧大小信息;数据收发控制步骤:通过自定义数据包格式以及数据流传输协议,对数据的收发和缓存过程进行控制以实现数据通信和雷达组件算法的解耦。2.如权利要求1所述的基于DDS的软件化雷达数据流通信方法,其特征在于,所述步骤2中,DDS规范中实体接口包括域、域参与者、发布者、订阅者、主题、数据写者和数据读者,通过它们构建发布订阅模型;发布者或域参与者用于创建数据写者发送数据,订阅者或域参与者用于创建数据读者接收数据;数据收发接口包括创建数据写者对象和数据读者对象的方法以及发布者/订阅者和域参与者成员。3.如权利要求1所述的基于DDS的软件化雷达数据流通信方法,其特征在于,所述步骤2中,...

【专利技术属性】
技术研发人员:王章静仇隆张康锐陈明奇董金城郑远驰
申请(专利权)人:电子科技大学
类型:发明
国别省市:

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

1