CN116684312A - 域控制器dds通信网络架构的可视化方法、装置及车辆 - Google Patents

域控制器dds通信网络架构的可视化方法、装置及车辆 Download PDF

Info

Publication number
CN116684312A
CN116684312A CN202310635844.2A CN202310635844A CN116684312A CN 116684312 A CN116684312 A CN 116684312A CN 202310635844 A CN202310635844 A CN 202310635844A CN 116684312 A CN116684312 A CN 116684312A
Authority
CN
China
Prior art keywords
data
communication
domain
dds
communication network
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.)
Pending
Application number
CN202310635844.2A
Other languages
English (en)
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.)
Guoke Chushi Chongqing Software Co ltd
Original Assignee
Guoke Chushi Chongqing Software Co ltd
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 Guoke Chushi Chongqing Software Co ltd filed Critical Guoke Chushi Chongqing Software Co ltd
Priority to CN202310635844.2A priority Critical patent/CN116684312A/zh
Publication of CN116684312A publication Critical patent/CN116684312A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及一种域控制器DDS通信网络架构的可视化方法、装置及车辆,包括:监控域控制器的DDS通信过程,获取各个通信实体的通信数据,并将通信数据拼接为以进程为单位进行数据划分的第一数据,第一数据能够基于上层语言服务获取;根据通信实体之间的关联关系,将第一数据转换为以域为根节点进行数据划分的第二数据,第二数据为树状结构;对第二数据进行数据存储,通过DDS通信网络实时监控第二数据,并生成第二数据接口;通过第二数据接口获取第二数据,对第二数据进行解析,得到通信网络架构,并进行可视化展示。本公开实现了通信网络架构的多视角可视化展示,便于查看通信数据,简化了开发工作量,提高了可扩展性,有利于多平台集成。

Description

域控制器DDS通信网络架构的可视化方法、装置及车辆
技术领域
本公开涉及分布式通信技术领域,尤其涉及一种域控制器DDS通信网络架构的可视化方法、装置、车辆、电子设备及计算机可读存储介质。
背景技术
相关技术中,在基于DDS通信的应用开发过程和测试过程中,DDS通信网络架构的可视化有利于简化开发的工作量,便于查看应用间DDS通信状态,从而查看应用程序是否正常,提高开发和测试效率。
虽然目前已存在DDS通信可视化的应用,但现有应用大多基于C#等语言开发的桌面应用,同时可视化数据的扩展性也存在一定限制,导致可视化数据无法对外扩展。
因此,亟需一种能够快捷查看通信情况,提高数据的可扩展性,实现DDS通信网络架构的可视化方法。
发明内容
为克服相关技术中存在的问题,本公开提供一种域控制器DDS通信网络架构的可视化方法、装置、车辆、电子设备及计算机可读存储介质。
根据本公开实施例的第一方面,提供一种域控制器DDS通信网络架构的可视化方法,包括:监控域控制器的DDS通信过程,获取各个通信实体的通信数据,并将所述通信数据拼接为以进程为单位进行数据划分的第一数据,所述第一数据能够基于上层语言服务获取;根据所述通信实体之间的关联关系,将所述第一数据转换为以域为根节点进行数据划分的第二数据,所述第二数据为树状结构;对所述第二数据进行数据存储,通过DDS通信网络实时监控所述第二数据,并生成第二数据接口;通过所述第二数据接口获取所述第二数据,对所述第二数据进行解析,得到通信网络架构,并进行可视化展示。
在一些实施例中,所述监控域控制器的DDS通信过程,获取各个通信实体的通信数据,并将所述通信数据拼接为以进程为单位进行数据划分的第一数据,包括:以所述通信实体为单位,监控在DDS发布订阅模型下的数据收发过程,得到关联的所有通信实体的通信数据;将监控得到的所述通信数据,以被包含结构转换为包含结构,拼接得到以进程为单位进行数据划分的第一数据,并进行存储。
在一些实施例中,所述将监控得到的所述通信数据,以被包含结构转换为包含结构,拼接得到以进程为单位进行数据划分的第一数据,并进行存储,包括:定义所述第一数据的拓扑结构体,用于存储以通信实体为单位划分的通信数据,所述拓扑结构体包括操作系统实体、进程实体和域参与者实体;其中,所述操作系统实体中包括有关联的进程;所述进程实体中包括有关联的域参与者;所述域参与者实体中包括有关联的域和在所述域参与者上创建的订阅者和发布者,在所述订阅者中存储有创建的数据写入者,在所述发布者中存储有创建的数据读取者,在所述数据写入者和所述数据读取者中均存储有关联的主题;基于所述第一数据的拓扑结构体之间的包含与被包含关系,将监控得到的通信数据转换为包含关系,拼接得到以进程为单位进行数据划分的第一数据,并进行存储。
在一些实施例中,所述第一数据能够基于上层语言服务获取,包括:应用服务层采用循环语句对所述第一数据的获取方法进行无限循环调用,获取所述第一数据,所述应用服务层采用上层语言开发;或,所述应用服务层采用发布订阅数据分发模式,获取所述第一数据。
在一些实施例中,所述根据所述通信实体之间的关联关系,将所述第一数据转换为以域为根节点进行数据划分的第二数据,包括:定义所述第二数据的拓扑结构体,用于存储以进程为单位进行数据划分的第一数据,所述拓扑结构体包括域;其中,所述域中包括有操作系统和主题,所述操作系统包括关联的进程,所述进程包括域参与者,所述主题和域参与者均包括发布者和订阅者,所述发布者包括数据写入者,所述订阅者包括数据读取者;基于所述第二数据的拓扑结构体,得到所述通信实体之间的关联关系,将所述第一数据转换存储为以域为根节点,以主题和操作系统为主节点出发的第二数据。
在一些实施例中,所述通过所述第二数据接口获取所述第二数据,对所述第二数据进行解析,得到通信网络架构,并进行可视化展示,包括:前端获取树状结构的第二数据,对所述第二数据进行拆分,得到包含所述通信实体之间关联关系的通信网络架构;根据所述通信网络架构内的关联关系,自定义任意通信实体为根节点进行数据划分,绘制得到对应的可视化关系视图,所述可视化关系视图中包括通信结构、通信数据和通信状态。
根据本公开实施例的第二方面,提供一种域控制器DDS通信网络架构的可视化装置,包括:通信数据获取模块,用于监控域控制器的DDS通信过程,获取各个通信实体的通信数据,并将所述通信数据拼接为以进程为单位进行数据划分的第一数据,所述第一数据能够基于上层语言服务获取;第二数据转换模块,用于根据所述通信实体之间的关联关系,将所述第一数据转换为以域为根节点进行数据划分的第二数据,所述第二数据为树状结构;数据接口生成模块,用于对所述第二数据进行数据存储,通过DDS通信网络实时监控所述第二数据,并生成第二数据接口;第二数据可视化模块,用于通过所述第二数据接口获取所述第二数据,所述第二数据进行解析,得到通信网络架构,并进行可视化展示。
根据本公开实施例的第三方面,提供一种车辆,存储有一组指令集,所述指令集被所述车辆执行,以实现本公开第一方面所提供的域控制器DDS通信网络架构的可视化方法。
根据本公开实施例的第四方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本公开第一方面所提供的域控制器DDS通信网络架构的可视化方法。
根据本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的域控制器DDS通信网络架构的可视化方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:通过监控域控制器的DDS通信过程,得到各个通信实体的通信数据,并将通信数据拼接为以进程为单位进行数据划分的第一数据,第一数据能够基于上层语言服务获取,从而在减少数据冗余的同时提高可扩展能力;根据通信实体之间的关联关系,对第一数据进行转换,得到以域为根节点进行数据划分的树状结构的第二数据,通过树状结构表示各个通信实体之间的关系,便于进行数据分析和服务端数据存储及业务层的数据可视化展示;对第二数据进行存储,通过DDS通信网络实时监控第二数据,生成第二数据接口,便于进行数据溯源和数据扩展;通过第二数据接口获取第二数据,解析得到通信网络架构,并进行可视化展示,能够对通信网络架构进行多视角针对性的可视化展示,简化开发工作量,快捷查看应用的通信情况,有利于多平台集成。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种域控制器DDS通信网络架构的可视化方法的流程图。
图2是根据一示例性实施例示出的通信数据获取方法的流程图。
图3是根据一示例性实施例示出的第一数据拼接方法的流程图。
图4是根据一示例性实施例示出的第一数据的拓扑结构体。
图5是根据一示例性实施例示出的数据转换方法的流程图。
图6是根据一示例性实施例示出的第二数据的拓扑结构体。
图7是根据一示例性实施例示出的通信网络架构可视化方法的流程图。
图8是根据一示例性实施例示出的可视化关系视图。
图9是根据一示例性实施例示出的一种域控制器DDS通信网络架构的可视化装置的框图。
图10是根据一示例性实施例示出的一种车辆的框图。
图11是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
下面将结合附图详细地对示例性实施例进行描述说明。
应当指出,相关实施例及附图仅为描述说明本公开所提供的示例性实施例,而非本公开的全部实施例,也不应理解本公开受相关示例性实施例的限制。
应当指出,本公开中所用术语“第一”、“第二”等仅用于区别不同步骤、设备或模块等。相关术语既不代表任何特定技术含义,也不表示它们之间的顺序或者相互依存关系。
应当指出,本公开中所用术语“一个”、“多个”、“至少一个”的修饰是示意性而非限制性的。除非在上下文另有明确指出,否则应该理解为“一个或多个”。
应当指出,本公开中所用术语“和/或”,用于描述关联对象之间的关联关系,一般表示至少存在三种关联关系。例如,A和/或B,至少可以表示:单独存在A,同时存在A和B,单独存在B这三种关联关系。
应当指出,本公开的方法实施例中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。除非特别说明,本公开的范围不受相关实施例中步骤的描述顺序限制。
需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
技术用语说明
DDS:全称Data Distribution Service(数据分发服务),由对象管理组(OMG)发布和维护,是一个中间件协议和API标准,采用发布/订阅体系架构,强调以数据为中心,提供丰富的服务质量策略,以保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。
Domain:是一个范围概念,由域号(DomainID)唯一标示,只有在同一个域内的通信实体才能通信,不同域内的实体间无任何逻辑关系。
Topic:是DataWriter和DataReader相互通信时约定的主题,每个DataWriter/DataReader必须与一个主题绑定,相互通信的DataWriter与DataReader之间的主题数据类型必须相同、服务质量必须匹配。
Domain Participant:作为数据分发服务的入口点,包含若干发布者、订阅者和注册主题,负责创建、删除和管理这些实体。
Publisher:作为发布者角色,至少包含一个DataWriter,并负责创建、删除和管理DataWriter。
Subscriber:作为订阅角色,至少与一个DataReader关联,并负责创建、删除和管理DataReader。
DataWriter:数据写入者,类似缓存,把需要发布的Topic数据从应用层写入到DataWriter中。
DataReader:数据读取者,同样可以理解为一种缓存,从订阅者得到Topic数据,随之传给应用层。
域控制器:可理解为是特定功能域内高度嵌入式控制器的集成,也可理解为是特定功能域内整车层级软件功能的集中化,是汽车每一个功能域的核心,它主要由域主控处理器、操作系统和应用软件及算法三部分组成。
Host:指域控制器上的宿主操作系统。
Process:进程,是操作系统进行资源分配的最小单位。
Eclipse Cyclone DDS:一个非常高性能和健壮的开源DDS实现。
示例性方法
图1是根据一示例性实施例示出的一种域控制器DDS通信网络架构的可视化方法的流程图,如图1所示,域控制器DDS通信网络架构的可视化方法用于分布式通信领域中,包括以下步骤:
在步骤S110中,监控域控制器的DDS通信过程,获取各个通信实体的通信数据,并将通信数据拼接为以进程为单位进行数据划分的第一数据,第一数据能够基于上层语言服务获取。
在一些实施例中,当一个应用程序要在域控制器运行,并依赖于DDS进行通信时,应用程序在域控制器上的操作系统的某个进程中进行运行,应用程序通过创建域参与者绑定到当前域控制器所在的域上,注册用户的数据类型用以在域参与者上使用,创建命名主题绑定到注册的用户数据类型上,在域参与者上创建发布者和订阅者,通过创建数据写入者和数据读取者并绑定到对应的主题上,主题会自动在数据写入者和数据读取者之间建立一个数据流,通过调用数据写入的写入方法将数据发出,依赖DDS以数据为中心的发布订阅模型,数据读取者接收到数据并进行相关逻辑处理。其中,DDS内所有的成员都是通信实体,同时在域控制器DDS通信过程中,域控制器和进程也可以理解为实体。
通过监控域控制器的上述DDS通信过程,得到各个通信实体的通信数据,其中,DDS通信监控主要通过监控数据写入者和数据读取者在DDS发布订阅模型下的数据收发过程,从而监控到数据写入者和数据读取者所关联的所有通信实体信息。由于数据写入者和数据读取者在整个实体关联结构中为最底层,通信数据较多,容易产生数据冗余,因此,需要对获取的通信数据进行拼接处理,得到以进程为单位进行数据划分的第一数据,进程为数据写入者和数据读取者的上层结构,通过拼接处理,实现数据结构的转换,以便于减少数据冗余,方便数据划分。
在一些实施例中,第一数据能够基于上层语言获取包括:应用服务层采用循环语句对第一数据的获取方法进行无限循环调用,获取第一数据,应用服务层采用上层语言开发;或,应用服务层采用发布订阅数据分发模式,获取第一数据。
具体地,使用Java或Node等语言进行应用层服务开发,调用dds_take方法,从而实现通过应用层服务获取第一数据,使用上层语言进行应用层服务开发,更有利于对外提供API并提高可扩展能力。对于DDS通信监控一般以C语言等底层语言实现为主,为了便于数据分析,通信监控实体关系转换为第一数据后,通过使用while循环语句实现对第一数据获取方法dds_take的无限循环调用,或应用服务层采用发布订阅数据分发模式,即可通过上层语言获取第一数据,从而实现对第一数据的实时监听。
在步骤S120中,根据通信实体之间的关联关系,将第一数据转换为以域为根节点进行数据划分的第二数据,第二数据为树状结构。
在一些实施例中,对于DDS通信网络架构的可视化分析中,主要监听以下关系结构进行数据分析:一个域内的通信结构或多个域之间的跨域通信结构;一个域控制器的操作系统中包含的所有进程下数据写入者和数据读取者的通信结构;单个进程下即单个应用程序运行时,该进程内数据写入者和数据读取者所关联的通信结构;一个域下所有主题及其相关的数据写入者和数据读取者通信结构;单个主题内包含的数据写入者和数据读取者通信结构。
因此,为了便于实现通信实体之间的可视化展示,需要对第一数据进行再次转换存储,转换为以域为根节点进行数据划分的第二数据,第二数据为树状结构,通过树状结构表示各个通信实体之间的关系,便于进行数据分析和服务端数据存储及业务层的数据可视化展示。
在步骤S130中,对第二数据进行数据存储,通过DDS通信网络实时监控第二数据,并生成第二数据接口。
在一些实施例中,对树状结构的第二数据进行存储,以便于实现在DDS通信网络实时监控下,数据可回放可分析的功能;并将转换后的第二数据在Java端进行API化,生成第二数据接口,通过实现DDS通信网络监控数据的对外API,便于前端或其他服务端数据的利用,有利于实现多平台集成,提高了数据的可扩展性。
在步骤S140中,通过第二数据接口获取第二数据,对第二数据进行解析,得到通信网络架构,并进行可视化展示。
在一些实施例中,前端通过第二数据接口获取到树状结构的第二数据,对第二数据进行解析,得到树状结构的包含通信实体之间关联关系的通信网络架构,并对其进行可视化绘制,实现域控制器DDS通信网络架构的可视化展示。
根据树状结构的通信网络架构,前端能够从多个视角进行针对性可视化展示,例如:对单个Topic的数据可视化,对单个Process的数据可视化等。
基于树状结构的通信网络架构可实现以Domain、Topic、Host、Process等任意实体为根节点出发的可视化关系视图,从而实现对整个DDS通信网络架构的不同视角的可视化展示。
在上述实施例中,通过监控域控制器的DDS通信过程,得到各个通信实体的通信数据,并将通信数据拼接为以进程为单位进行数据划分的第一数据,第一数据能够基于上层语言服务获取,从而在减少数据冗余的同时提高可扩展能力;根据通信实体之间的关联关系,对第一数据进行转换,得到以域为根节点进行数据划分的树状结构的第二数据,通过树状结构表示各个通信实体之间的关系,便于进行数据分析和服务端数据存储及业务层的数据可视化展示;对第二数据进行存储,通过DDS通信网络实时监控第二数据,生成第二数据接口,便于进行数据溯源和数据扩展;通过第二数据接口获取第二数据,解析得到通信网络架构,并进行可视化展示,能够对通信网络架构进行多视角针对性的可视化展示,简化开发工作量,快捷查看应用的通信情况,有利于多平台集成。
图2是根据一示例性实施例示出的通信数据获取方法的流程图,如图2所示,该通信数据获取方法用于步骤S110中,包括以下步骤:
在步骤S210中,以通信实体为单位,监控在DDS发布订阅模型下的数据收发过程,得到关联的所有通信实体的通信数据。
具体地,DDS内所有的成员均被认定为通信实体,以通信实体为单位,例如,数据写入者和数据读取者,监控其在DDS发布订阅下的数据收发过程,得到通信数据,并能够根据监控的通信实体,得到与其关联的所有通信实体的通信数据,提高数据获取的效率。
在步骤S220中,将监控得到的通信数据,以被包含结构转换为包含结构,拼接得到以进程为单位进行数据划分的第一数据,并进行存储。
具体地,由于通信实体层级较多,为了更好的监控DDS的通信过程,在监控时可以选择最底层的数据写入者和数据读取者,因此,得到的通信数据为被包含结构,例如数据写入者被发布者包含,而为了减少数据冗余,就需要对通信数据的结构进行转换,得到包含结构的通信数据,例如发布者包含数据写入者,对通信数据进行拼接,得到以进程为单位进行数据划分的第一数据,并进行存储。
在本实施例中,以通信实体为单位,监控在DDS发布订阅模型下的数据收发过程,得到关联的所有通信实体的通信数据,通过监控一个通信实体得到所有通信实体之间的数据流转信息,提高了数据获取效率;将被包含结构的通信数据转换为包含结构,拼接得到以进程为单位进行数据划分的第一数据,并进行存储,减少了数据冗余,便于进行数据划分和存储。
图3是根据一示例性实施例示出的第一数据拼接方法的流程图,如图3所示,该第一数据拼接方法用于步骤S220中,包括以下步骤:
在步骤S310中,定义第一数据的拓扑结构体,用于存储以通信实体为单位划分的通信数据,拓扑结构体包括操作系统实体、进程实体和域参与者实体;其中,操作系统实体中包括有关联的进程;进程实体中包括有关联的域参与者;域参与者实体中包括有关联的域和在域参与者上创建的订阅者和发布者,在订阅者中存储有创建的数据写入者,在发布者中存储有创建的数据读取者,在数据写入者和数据读取者中均存储有关联的主题。
具体地,如图4所示,为第一数据的拓扑结构体,通过拓扑结构体存储以通信实体为单位划分的通信数据,拓扑结构体中包括有操作系统实体、进程实体和域参与者实体,其中,操作系统实体包括有关联的进程,域参与者实体中包括有关联的域和在域参与者上创建的订阅者和发布者,在订阅者中存储有创建的数据写入者,在发布者中存储有创建的数据读取者,在数据写入者和数据读取者中均存储有关联的主题。
通过第一数据的拓扑结构体,在监听到数据写入者和数据读取者的通信数据后,能够直接将通信数据快速存入拓扑结构体的对应位置,例如,将数据写入者的通信数据存入拓扑结构体中数据写入者的位置,实现以通信实体为单位对通信数据进行存储的存储方法,且能够避免数据冗余。
在步骤S320中,基于第一数据的拓扑结构体之间的包含与被包含关系,将监控得到的通信数据转换为包含关系,拼接得到以进程为单位进行数据划分的第一数据,并进行存储。
具体地,根据第一数据的关系结构可以看出,从左至右,数据的划分归类后,再获取数据的难度逐渐增加(此处的划分和后续第二数据生成的难易程度有关),即当使用Porcess划分归类时,Process下存了它所有的下级信息,能直接看出Process下包含哪些DataWriter和DataReader。但当以DataWriter划分时,则很难看出当前Process下其他的DataWriter和DataReader。
基于第一数据的拓扑结构体之间的包含与被包含关系,将监控得到的通信数据转换为包含关系,即DataWriter是被Publisher包含,Publisher被Domain Participant包含,Domain Participant又在某个Domain、Process、Host下,即也是被包含,将上述被包含关系转换为入口为倒序的包含关系结构,即Process包含的Domain Participant,DomainParticipant包含Publisher等等。
因此,为了减少数据冗余,可以将得到的通信数据转换为以上层通信实体进行划分的数据,同时需要考虑数据存储后解析的难易程度,则选定以进程为单位进行数据划分,能够同时符合上述要求。将通信数据进行拼接,得到以进程为单位进行数据划分的第一数据,从而能够实现在减少数据冗余,便于数据划分的同时便于后续数据解析。当然,在不同的场景需求下,也可以以其他通信实体为单位对通信数据进行划分。
在本实施例中,通过定义第一数据的拓扑结构体,用于存储以通信实体为单位划分的通信数据,避免数据冗余;基于定义的拓扑结构体之间的包含与被包含关系,将监控得到的通信数据转换为包含关系,拼接得到以进程为单位进行数据划分的第一数据,并进行存储,能够在减少数据冗余的同时便于对拼接后的数据进行解析。
图5是根据一示例性实施例示出的数据转换方法的流程图,如图5所示,该数据转换方法用于步骤S120中,包括以下步骤:
在步骤S510中,定义第二数据的拓扑结构体,用于存储以进程为单位进行数据划分的第一数据,拓扑结构体包括域;其中,域中包括有操作系统和主题,操作系统包括关联的进程,进程包括域参与者,主题和域参与者均包括发布者和订阅者,发布者包括数据写入者,订阅者包括数据读取者。
具体地,如图6所示,为第二数据的拓扑结构体的示意图,第二数据的拓扑结构体,是以Domain为单位进行数据结构划分,并将Domian的关联结构数据转换为树状关系数据,树状关系数据可划分为以Domain为根节点,以Topic和Host为子节出发的关系结构,通过设定的拓扑结构体,存储以进程为单位进行数据划分的第一数据。
当然以Domain实体为根结点,内部树状结构的关联关系是多变的,这里只示例一种,而不是对树内部结构的唯一限定。利用树状结构能够很好的判断出各个通信实体的关联关系,从而实现对整个DDS通信过程的树状可视化。
在步骤S520中,基于第二数据的拓扑结构体,得到通信实体之间的关联关系,将第一数据转换存储为以域为根节点,以主题和操作系统为主节点出发的第二数据。
具体地,基于第二数据的拓扑结构体,能够得到通信实体之间的关联关系,根据该关联关系,将第一数据进行转换,存储为以域为根节点,以主题和操作系统主节点出发的第二数据,形成树状结构,从而便于服务端数据存储和业务层的数据可视化展示。
在本实施例中,定义第二数据的拓扑结构体,存储以进程为单位进行数据划分的第一数据,基于第二数据的拓扑结构体,得到通信实体之间的关联关系,并将第一数据转换存储为以域为根节点,以主题和操作系统为主节点出发的第二数据,形成树状结构,以便于更好的判断通信实体之间的关联关联进行数据的可视化展示。
图7是根据一示例性实施例示出的通信网络架构可视化方法的流程图,如图7所示,该通信网络架构可视化方法用于步骤S140中,包括以下步骤:
在步骤S710中,前端获取树状结构的第二数据,对第二数据进行拆分,得到包含通信实体之间关联关系的通信网络架构。
具体地,在生成树状结构的第二数据后,前端可以通过第二数据接口获取第二数据,对第二数据进行拆分,得到包含通信实体之间关联关系的通信网络架构,将各个通信实体的关联关系进行可视化绘制,从而实现对域控制器DDS通信网络架构的可视化展示。
在步骤S720中,根据通信网络架构内的关联关系,自定义任意通信实体为根节点进行数据划分,绘制得到对应的可视化关系视图,可视化关系视图中包括通信结构、通信数据和通信状态。
具体地,根据通信网络架构内的关联关系,能够自定义任意通信实体作为根节点进行数据划分,并绘制对应的可视化关系视图,如图8所示,显示DDS通信下所有的Domain,同时显示每个Domain与之关联的Host及Process关系;通过通信网络架构的关联关系,能够得到以Domain、Topic、Host、Process等任意实体为根节点出发的可视化关系视图,从而实现对整个DDS通信网络架构的不同视角的可视化展示;视化关系视图中还可以包括通信结构、通信数据和通信状态。
由于第二数据为树状结构,因此得到的通信网络架构也为树状结构,则根据树状结构数据的关联关系,前端亦可从多个视角进行针对性可视化展示,例如:对单个Topic的数据可视化,对单个Process的数据可视化等。
此外,通过获取不同时间段的第二数据,并进行可视化展示,还能够实现DDS实时通信数据的可视化回放,以便于进行数据溯源。
在本实施例中,前端获取树状结构的第二数据,对第二数据进行拆分,得到包含通信实体之间关联关系的通信网络架构,根据通信网络架构内的关联关系,自定义任意通信实体为根节点进行数据划分,绘制得到对应的可视化关系视图,从而实现对整个DDS通信网络架构的不同视角的可视化展示。
综上所示,本公开实现了DDS通信网络的数据树状结构转换过程,以及转换为最终的树状关系数据并进行多视角可扩展的可视化展示;并通过使用Cyclone DDS监控DDS通信网络数据,再使用Java服务进行数据监控与存储,同时对外暴露数据API实现数据的多平台可用,有利于多平台集成。
在一个实施例中,本公开的应用场景为:在汽车自动驾驶系统开发过程中,自动驾驶摄像头感知模块应用和道路运行信息规划控制模块应用,分别在两个域控制器中运行。当需要测试感知模块应用,获取到数据并向其他模块进行DDS通信时,这其中包括对控制模块应用的通信,即感知数据在第一个域控制器,要把感知数据传输到第二个域控制器内,同时又要在本身域控内进行数据传输,需要查看感知模块应用的数据传输是否成功建立期望的DDS通信框架,从而分析判断开发的感知应用模块是否正常运行。
示例性装置
图9是根据一示例性实施例示出的一种域控制器DDS通信网络架构的可视化装置框图。参照图9,该装置900包括通信数据获取模块910、第二数据转换模块920、数据接口生成模块930和第二数据可视化模块940。
该通信数据获取模块910,用于监控域控制器的DDS通信过程,获取各个通信实体的通信数据,并将通信数据拼接为以进程为单位进行数据划分的第一数据,第一数据能够基于上层语言服务获取;
该第二数据转换模块920,用于根据通信实体之间的关联关系,将第一数据转换为以域为根节点进行数据划分的第二数据,第二数据为树状结构;
该数据接口生成模块930,用于对第二数据进行数据存储,通过DDS通信网络实时监控第二数据,并生成第二数据接口;
该第二数据可视化模块940,用于通过第二数据接口获取第二数据,第二数据进行解析,得到通信网络架构,并进行可视化展示。
在一些实施例中,该通信数据获取模块910,还用于:以通信实体为单位,监控在DDS发布订阅模型下的数据收发过程,得到关联的所有通信实体的通信数据;将监控得到的所述通信数据,以被包含结构转换为包含结构,拼接得到以进程为单位进行数据划分的第一数据,并进行存储。
在一些实施例中,该通信数据获取模块910,还用于:定义第一数据的拓扑结构体,用于存储以通信实体为单位划分的通信数据,拓扑结构体包括操作系统实体、进程实体和域参与者实体;其中,操作系统实体中包括有关联的进程;进程实体中包括有关联的域参与者;域参与者实体中包括有关联的域和在域参与者上创建的订阅者和发布者,在订阅者中存储有创建的数据写入者,在发布者中存储有创建的数据读取者,在数据写入者和所述数据读取者中均存储有关联的主题;基于第一数据的拓扑结构体之间的包含与被包含关系,将监控得到的通信数据转换为包含关系,拼接得到以进程为单位进行数据划分的第一数据,并进行存储。
在一些实施例中,该第二数据转换模块920,还用于:定义所述第二数据的拓扑结构体,用于存储以进程为单位进行数据划分的第一数据,所述拓扑结构体包括域;其中,所述域中包括有操作系统和主题,所述操作系统包括关联的进程,所述进程包括域参与者,所述主题和域参与者均包括发布者和订阅者,所述发布者包括数据写入者,所述订阅者包括数据读取者;基于所述第二数据的拓扑结构体,得到所述通信实体之间的关联关系,将所述第一数据转换存储为以域为根节点,以主题和操作系统为主节点出发的第二数据。
在一些实施例中,该第二数据可视化模块940,还用于:前端获取树状结构的第二数据,对第二数据进行拆分,得到包含通信实体之间关联关系的通信网络架构;根据通信网络架构内的关联关系,自定义任意通信实体为根节点进行数据划分,绘制得到对应的可视化关系视图,可视化关系视图中包括通信结构、通信数据和通信状态。
在上述实施例中,通过该装置的运行,实现了基于一种域控制器DDS通信网络架构的可视化方法,确保该装置能够实现一种域控制器DDS通信网络架构的可视化方法的所有内容。
示例性车辆
图10是根据一示例性实施例示出的一种车辆1000的框图。该车辆1000可以是燃油车辆、混合动力车辆、电动车辆、燃料电池车辆或者其他类型的车辆。
参照图10,车辆1000可包括多个子系统,例如,驱动系统1010、控制系统1020、感知系统1030、通信系统1040、信息显示系统1050以及计算处理系统1060。车辆1000还可以包括更多或更少的子系统,且各个子系统还可以包括多个部件,在此不一一赘述。
该驱动系统1010,包括为车辆1000提供动力运动的组件。例如,发动机、能量源、传动装置等。
该控制系统1020,包括为车辆1000提供控制的组件。例如,车辆控制、座舱设备控制、驾驶辅助控制等。
该感知系统1030,包括为车辆1000提供周边环境感知的组件。例如,车辆定位系统、激光传感器、语音传感器、超声波传感器、摄像设备等。
该通信系统1040,包括为车辆1000提供通信连接的组件。例如,移动通信网络(如,3G、4G、5G网络等)、WiFi、蓝牙、车联网等。
该信息显示系统1050,包括为车辆1000提供各种信息显示的组件。例如,车辆信息显示、导航信息显示、娱乐信息显示等。
该计算处理系统1060,包括为车辆1000提供数据计算和处理能力的组件。计算处理系统1060可包括至少一个处理器1061和存储器1062。处理器1061可以执行存储在存储器1062中的指令。
处理器1061可以是任何常规的处理器,诸如商业可获得的CPU。处理器还可以包括诸如图像处理器(Graphic Process Unit,GPU),现场可编程门阵列(Field ProgrammableGate Array,FPGA)、片上系统(System on Chip,SOC)、专用集成芯片(ApplicationSpecific Integrated Circuit,ASIC)或它们的组合。
存储器1062可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本公开实施例中,存储器1062中存储有一组指令集,处理器1061可以执行该指令集,以实现上述示例性实施例中任一所述的域控制器DDS通信网络架构的可视化方法的全部或部分步骤。
示例性电子设备
图11是根据一示例性实施例示出的一种电子设备1100的框图。该电子设备1100可以是车辆控制器、车载终端、车载计算机或者其他类型的电子设备。
参照图11,电子设备1100,可包括至少一个处理器1110和存储器1120。处理器1110可以执行存储在存储器1120中的指令。处理器1110通过数据总线与存储器1120通信连接。除存储器1120外,处理器1110还可通过数据总线与输入设备1130、输出设备1140、通信设备1150通信连接。
处理器1110可以是任何常规的处理器,诸如商业可获得的CPU。处理器还可以包括诸如图像处理器(Graphic Process Unit,GPU),现场可编程门阵列(Field ProgrammableGate Array,FPGA)、片上系统(System on Chip,SOC)、专用集成芯片(ApplicationSpecific Integrated Circuit,ASIC)或它们的组合。
存储器1120可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本公开实施例中,存储器1120中存储有可执行指令,处理器1110可以从所述存储器1120中读取所述可执行指令,并执行所述指令以实现上述示例性实施例中任一所述的域控制器DDS通信网络架构的可视化方法的全部或部分步骤。
示例性计算机可读存储介质
除了上述方法和装置以外,本公开的示例性实施例还可以是计算机程序产品或存储有该计算机程序产品的计算机可读存储介质。该计算机产品中包括计算机程序指令,该计算机程序指令可被处理器执行,以实现上述示例性实施例中任一方法中描述的的全部或部分步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言以及脚本语言(例如Python)。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线电连接的静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘,或者上述的任意合适的组合。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种域控制器DDS通信网络架构的可视化方法,其特征在于,包括:
监控域控制器的DDS通信过程,获取各个通信实体的通信数据,并将所述通信数据拼接为以进程为单位进行数据划分的第一数据,所述第一数据能够基于上层语言服务获取;
根据所述通信实体之间的关联关系,将所述第一数据转换为以域为根节点进行数据划分的第二数据,所述第二数据为树状结构;
对所述第二数据进行数据存储,通过DDS通信网络实时监控所述第二数据,并生成第二数据接口;
通过所述第二数据接口获取所述第二数据,对所述第二数据进行解析,得到通信网络架构,并进行可视化展示。
2.根据权利要求1所述的域控制器DDS通信网络架构的可视化方法,其特征在于,所述监控域控制器的DDS通信过程,获取各个通信实体的通信数据,并将所述通信数据拼接为以进程为单位进行数据划分的第一数据,包括:
以所述通信实体为单位,监控在DDS发布订阅模型下的数据收发过程,得到关联的所有通信实体的通信数据;
将监控得到的所述通信数据,以被包含结构转换为包含结构,拼接得到以进程为单位进行数据划分的第一数据,并进行存储。
3.根据权利要求2所述的域控制器DDS通信网络架构的可视化方法,其特征在于,所述将监控得到的所述通信数据,以被包含结构转换为包含结构,拼接得到以进程为单位进行数据划分的第一数据,并进行存储,包括:
定义所述第一数据的拓扑结构体,用于存储以通信实体为单位划分的通信数据,所述拓扑结构体包括操作系统实体、进程实体和域参与者实体;
其中,所述操作系统实体中包括有关联的进程;所述进程实体中包括有关联的域参与者;所述域参与者实体中包括有关联的域和在所述域参与者上创建的订阅者和发布者,在所述订阅者中存储有创建的数据写入者,在所述发布者中存储有创建的数据读取者,在所述数据写入者和所述数据读取者中均存储有关联的主题;
基于所述第一数据的拓扑结构体之间的包含与被包含关系,将监控得到的通信数据转换为包含关系,拼接得到以进程为单位进行数据划分的第一数据,并进行存储。
4.根据权利要求1所述的域控制器DDS通信网络架构的可视化方法,其特征在于,所述第一数据能够基于上层语言服务获取,包括:
应用服务层采用循环语句对所述第一数据的获取方法进行无限循环调用,获取所述第一数据,所述应用服务层采用上层语言开发;
或,所述应用服务层采用发布订阅数据分发模式,获取所述第一数据。
5.根据权利要求1所述的域控制器DDS通信网络架构的可视化方法,其特征在于,所述根据所述通信实体之间的关联关系,将所述第一数据转换为以域为根节点进行数据划分的第二数据,包括:
定义所述第二数据的拓扑结构体,用于存储以进程为单位进行数据划分的第一数据,所述拓扑结构体包括域;
其中,所述域中包括有操作系统和主题,所述操作系统包括关联的进程,所述进程包括域参与者,所述主题和域参与者均包括发布者和订阅者,所述发布者包括数据写入者,所述订阅者包括数据读取者;
基于所述第二数据的拓扑结构体,得到所述通信实体之间的关联关系,将所述第一数据转换存储为以域为根节点,以主题和操作系统为主节点出发的第二数据。
6.根据权利要求1所述的域控制器DDS通信网络架构的可视化方法,其特征在于,所述通过所述第二数据接口获取所述第二数据,对所述第二数据进行解析,得到通信网络架构,并进行可视化展示,包括:
前端获取树状结构的第二数据,对所述第二数据进行拆分,得到包含所述通信实体之间关联关系的通信网络架构;
根据所述通信网络架构内的关联关系,自定义任意通信实体为根节点进行数据划分,绘制得到对应的可视化关系视图,所述可视化关系视图中包括通信结构、通信数据和通信状态。
7.一种域控制器DDS通信网络架构的可视化方法装置,其特征在于,包括:
通信数据获取模块,用于监控域控制器的DDS通信过程,获取各个通信实体的通信数据,并将所述通信数据拼接为以进程为单位进行数据划分的第一数据,所述第一数据能够基于上层语言服务获取;
第二数据转换模块,用于根据所述通信实体之间的关联关系,将所述第一数据转换为以域为根节点进行数据划分的第二数据,所述第二数据为树状结构;
数据接口生成模块,用于对所述第二数据进行数据存储,通过DDS通信网络实时监控所述第二数据,并生成第二数据接口;
第二数据可视化模块,用于通过所述第二数据接口获取所述第二数据,所述第二数据进行解析,得到通信网络架构,并进行可视化展示。
8.一种车辆,其特征在于,
存储有一组指令集,所述指令集被所述车辆执行,以实现所述权利要求1-6中任一所述的域控制器DDS通信网络架构的可视化方法。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现所述权利要求1-6中任一所述的域控制器DDS通信网络架构的可视化方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时,以实现所述权利要求1-6中任一所述的域控制器DDS通信网络架构的可视化方法的步骤。
CN202310635844.2A 2023-05-31 2023-05-31 域控制器dds通信网络架构的可视化方法、装置及车辆 Pending CN116684312A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310635844.2A CN116684312A (zh) 2023-05-31 2023-05-31 域控制器dds通信网络架构的可视化方法、装置及车辆

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310635844.2A CN116684312A (zh) 2023-05-31 2023-05-31 域控制器dds通信网络架构的可视化方法、装置及车辆

Publications (1)

Publication Number Publication Date
CN116684312A true CN116684312A (zh) 2023-09-01

Family

ID=87781687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310635844.2A Pending CN116684312A (zh) 2023-05-31 2023-05-31 域控制器dds通信网络架构的可视化方法、装置及车辆

Country Status (1)

Country Link
CN (1) CN116684312A (zh)

Similar Documents

Publication Publication Date Title
CN111523413B (zh) 生成人脸图像的方法和装置
CN111400518A (zh) 作品生成和编辑方法、装置、终端、服务器和系统
CN109634599B (zh) 页面视图的显示方法、装置、设备及存储介质
WO2020168747A1 (zh) 基于高精地图的人机交互方法和装置
CN111267866B (zh) 信息处理方法、装置、介质及电子设备
CN114429528A (zh) 图像处理方法、装置、设备、计算机程序及存储介质
CN113448988B (zh) 算法模型的训练方法、装置、电子设备及存储介质
US20230326351A1 (en) Data sharing method and apparatus applied to vehicle platoon
CN114036390A (zh) 场景服务推荐方法、装置、电子设备以及存储介质
CN113391992B (zh) 测试数据的生成方法和装置、存储介质及电子设备
CN111752538B (zh) 车端场景的生成方法、装置、云端、车端和存储介质
US20200007959A1 (en) Method and apparatus for publishing information, and method and apparatus for processing information
CN110489193A (zh) 智能设备的界面控制方法、装置和存储介质
CN112702613B (zh) 直播视频录制方法及装置、存储介质、电子设备
CN113836454A (zh) 一种内容展示页面的展示方法、装置、介质及设备
WO2024131630A1 (zh) 车牌识别方法、装置、电子设备及存储介质
CN102984282B (zh) 智能终端获取云存储文件的媒体数据的方法和装置
CN117389647A (zh) 插件生成方法、应用程序开发方法、装置、设备及介质
WO2024031999A1 (zh) 图像分层方法、装置、电子设备及存储介质
CN115061386B (zh) 智能驾驶的自动化仿真测试系统及相关设备
CN116684312A (zh) 域控制器dds通信网络架构的可视化方法、装置及车辆
CN116501429A (zh) 图片资源处理方法及装置
CN113655933B (zh) 文本标注方法及装置、存储介质及电子设备
CN113672225A (zh) 用户界面的处理方法、装置、设备及存储介质
CN111225044B (zh) 一种客户端消息推送方法、装置和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination