诊断方法、装置、电子设备及存储介质与流程

未命名 08-14 阅读:105 评论:0


1.本发明涉及数据分发服务技术领域,尤其涉及一种诊断方法、装置、电子设备及存储介质。


背景技术:

2.数据分发服务dds作为通信中间件,相关使用人员通常不会深入了解dds通信具体流程。当使用dds通信出现无法通信的情况时,开发人员无法进行初步问题原因的定位与分析。而有时相关专业人员由于各种原因不可能每次都能提供实时的帮助,这样就会影响用户项目的开发进度。


技术实现要素:

3.为解决dds通信出现无法通信的情况时,使用人员无法进行初步问题原因的定位与分析的技术问题,本发明实施例提供一种诊断方法、装置、电子设备及存储介质。
4.本发明实施例的技术方案是这样实现的:
5.本发明实施例提供了一种诊断方法,所述诊断方法包括:获取数据分发服务的诊断数据;对所述诊断数据进行统计分析,生成诊断报告;展示所述诊断报告。
6.在一实施例中,所述获取数据分发服务的诊断数据之前,所述方法还包括:获取配置文件;所述配置文件包括是否开启诊断、诊断使用的域名称、定时发送周期和使用的接口信息;利用所述配置文件进行诊断参数配置。
7.在一实施例中,所述获取数据分发服务的诊断数据,包括:监测数据分发服务协议栈中的实体状态;所述实体包括域端、参与端、写入端和读取端;在检测到所述实体发生变化时,基于所述协议栈内部线程获取诊断数据。
8.在一实施例中,所获取数据分发服务的诊断数据,包括:当所述实体为域端时,所述诊断数据包括域名称、本域下所有参与端信息;当所述实体为参与端时,所述诊断数据包括自身标识符、使用的所有地址信息、本参与端下所有写入端信息、本参与端下所有读取端信息;当所述实体为写入端时,所述诊断数据包括自身标识符、可靠性、最近一次需要传输的数据包序号、最近一次真实传输的数据包序号、用户正常调用写入端发送的数据、重传的数据、匹配的所有远端读取端信息、读取端的标识符、读取端的报文总延迟信息、包总个数、所有包的总延迟、读取端的报文统计样本、发送时间、延迟、序列号、发送的用户数据心跳报文总包数、接收到的ack报文个数、接收到的nack报文个数、主题名称、主题类型、需要发送到的所有单播地址、需要发送到的组播地址、上次诊断消息后的负载;当所述实体为读取端时,所述诊断数据包括自身标识符、可靠性,匹配的所有远端写入端信息、接收到的总数据包个数、主题名称、主题类型、负载,本读取端的统计样本。
9.在一实施例中,所述获取数据分发服务的诊断数据,包括:获取配置文件中的定时发送周期;根据所述定时发送周期,利用协议栈内部线程周期性地获取诊断数据。
10.在一实施例中,所述对所述诊断数据进行统计分析,生成诊断报告,包括:监测实
体运行过程中的数据变化;根据所述数据变化生成预设模式数据,所述预设模式包括表格或图表。
11.在一实施例中,对所述诊断数据进行统计分析,生成诊断报告之后,所述方法还包括:实时更新所述诊断报告;将所述诊断报告按照选定格式导出。
12.本发明实施例还提供了一种诊断装置,所述诊断装置包括:数据层,用于获取数据分发服务的诊断数据;业务层,用于对所述诊断数据进行统计分析,生成诊断报告;展示层,用于展示所述诊断报告。
13.在一实施例中,所述获取数据分发服务的诊断数据之前,所述方法还包括:获取配置文件;所述配置文件包括是否开启诊断、诊断使用的域名称、定时发送周期和使用的接口信息;利用所述配置文件进行诊断参数配置。
14.在一实施例中,所述获取数据分发服务的诊断数据,包括:监测数据分发服务协议栈中的实体状态;所述实体包括域端、参与端、写入端和读取端;在检测到所述实体发生变化时,基于所述协议栈内部线程获取诊断数据。
15.在一实施例中,所获取数据分发服务的诊断数据,包括:当所述实体为域端时,所述诊断数据包括域名称、本域下所有参与端信息;当所述实体为参与端时,所述诊断数据包括自身标识符、使用的所有地址信息、本参与端下所有写入端信息、本参与端下所有读取端信息;当所述实体为写入端时,所述诊断数据包括自身标识符、可靠性、最近一次需要传输的数据包序号、最近一次真实传输的数据包序号、用户正常调用写入端发送的数据、重传的数据、匹配的所有远端读取端信息、读取端的标识符、读取端的报文总延迟信息、包总个数、所有包的总延迟、读取端的报文统计样本、发送时间、延迟、序列号、发送的用户数据心跳报文总包数、接收到的ack报文个数、接收到的nack报文个数、主题名称、主题类型、需要发送到的所有单播地址、需要发送到的组播地址、上次诊断消息后的负载;当所述实体为读取端时,所述诊断数据包括自身标识符、可靠性,匹配的所有远端写入端信息、接收到的总数据包个数、主题名称、主题类型、负载,本读取端的统计样本。
16.在一实施例中,所述获取数据分发服务的诊断数据,包括:获取配置文件中的定时发送周期;根据所述定时发送周期,利用协议栈内部线程周期性地获取诊断数据。
17.在一实施例中,所述对所述诊断数据进行统计分析,生成诊断报告,包括:监测实体运行过程中的数据变化;根据所述数据变化生成预设模式数据,所述预设模式包括表格或图表。
18.在一实施例中,对所述诊断数据进行统计分析,生成诊断报告之后,所述方法还包括:实时更新所述诊断报告;将所述诊断报告按照选定格式导出。
19.本发明实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,处理器用于运行计算机程序时,执行上述任一方法的步骤。
20.本发明实施例还提供了一种存储介质,存储介质中存储有计算机程序,计算机程序被处理器执行时,实现上述任一方法的步骤。
21.本发明实施例提供的诊断方法、装置、电子设备及存储介质,获取数据分发服务的诊断数据;对所述诊断数据进行统计分析,生成诊断报告;展示所述诊断报告。本发明提供的方案诊断工具通过获取数据分发服务的诊断数据,对诊断数据进行分析,形成诊断报告,
并通过将诊断报告进行展示,能基于该诊断工具帮助使用人员快速定位用户使用数据分发服务dds过程中出现的问题,实现数据分发服务dds问题的自动检测和分析,避免由于数据分发服务dds故障导致的开发进度的迟滞。
附图说明
22.图1为本发明实施例诊断方法的流程示意图;
23.图2为本发明实施例诊断模块应用示意图;
24.图3为本发明实施例诊断逻辑示意图;
25.图4为本发明实施例诊断模块拆分示意图;
26.图5为本发明实施例诊断装置的结构示意图;
27.图6为本发明实施例计算机设备的内部结构图。
具体实施方式
28.下面将结合附图及实施例对本发明作进一步详细的描述。
29.本发明实施例提供了一种诊断方法,如图1所示,该方法包括:
30.步骤101:获取数据分发服务的诊断数据;
31.步骤102:对所述诊断数据进行统计分析,生成诊断报告;
32.步骤103:展示所述诊断报告。
33.本实施例可应用于诊断工具上。该诊断工具可以为针对dds的诊断功能定制开发的一款可视化工具,可通过dds搜集诊断服务进程上报的数据,进行统计分析并呈现在界面上。
34.通过诊断工获取数据分发服务的诊断数据,对诊断数据进行分析,形成诊断报告,并通过将诊断报告进行展示,能基于该诊断工具帮助使用人员快速定位用户使用数据分发服务dds过程中出现的问题,实现数据分发服务dds问题的自动检测和分析,避免由于数据分发服务dds故障导致的开发进度的迟滞。
35.本实施例可以展示多种dds静态与动态属性数据、配对关系、延迟负载等,并以多图表形式展现。
36.本实施例可采用多种动态数据录制功能,将数据变化形成表格,方便查看与统计。
37.本实施例生成的诊断报告可以直观地反映一段时间内dds网络中的通信参数变化,以帮助使用人员快速定位用户使用数据分发服务dds过程中出现的问题,避免由于数据分发服务dds故障导致的开发进度的迟滞。
38.在一实施例中,所述获取数据分发服务的诊断数据之前,所述方法还包括:
39.获取配置文件;所述配置文件包括是否开启诊断、诊断使用的域名称、定时发送周期和使用的接口信息;
40.利用所述配置文件进行诊断参数配置。
41.具体地,本诊断方法在应用之前,可先对诊断工具配置相应的诊断信息。即可将诊断专用的topic_name固定为诊断topic。除此以外,还可将是否开启诊断、诊断使用的domainid、定时发送周期、使用的接口信息,都通过配置文件完成诊断工具的配置。
42.在完成配置后,可执行诊断程序,实施诊断过程。具体地,可采用两种触发机制,也
可采用其中任意一项方式进行触发。
43.第一种触发机制:
44.在一实施例中,所述获取数据分发服务的诊断数据,包括:
45.监测数据分发服务协议栈中的实体状态;所述实体包括域端、参与端、写入端和读取端;
46.在检测到所述实体发生变化时,基于所述协议栈内部线程获取诊断数据。
47.实际应用时,本实施例可在协议栈内部创建专门用于上报诊断信息的域端(可称为domain)、参与端(可称为participant)、写入端(可称为writer)、读取端(可称为reader),获取dds协议栈相关信息并发送。
48.本实施例提供的实体变化触发方式,在domain、participant、writer、reader添加或删除时立即触发诊断信息的获取和发送。
49.这里,根据domain、participant、writer、reader的实体类型不同,所获取的诊断数据也有所区别。具体地,在一实施例中,所述获取数据分发服务的诊断数据,包括:
50.当所述实体为域端时,所述诊断数据包括域名称、本域下所有参与端信息;
51.当所述实体为参与端时,所述诊断数据包括自身标识符、使用的所有地址信息、本参与端下所有写入端信息、本参与端下所有读取端信息;
52.当所述实体为写入端时,所述诊断数据包括自身标识符、可靠性、最近一次需要传输的数据包序号、最近一次真实传输的数据包序号、用户正常调用写入端发送的数据、重传的数据、匹配的所有远端读取端信息、读取端的标识符、读取端的报文总延迟信息、包总个数、所有包的总延迟、读取端的报文统计样本、发送时间、延迟、序列号、发送的用户数据心跳报文总包数、接收到的ack报文个数、接收到的nack报文个数、主题名称、主题类型、需要发送到的所有单播地址、需要发送到的组播地址、上次诊断消息后的负载;
53.当所述实体为读取端时,所述诊断数据包括自身标识符、可靠性,匹配的所有远端写入端信息、接收到的总数据包个数、主题名称、主题类型、负载,本读取端的统计样本。
54.即诊断信息根据实体分类,主要包括实体(物理/逻辑)的部分信息。其中具体包括:diagnose和诊断消息自身信息。主要为以下信息:消息类型,时间戳,dds版本号,当前进程的pid,当前进程的进程名,当前进程的identity_ip(网络字节序无符号整数),当前进程下所有domain信息。
55.(1)实体为domain时,
56.诊断信息包括domain id,本domain下所有participant信息。
57.(2)实体为participant时,
58.诊断信息包括自身guid,使用的所有地址信息(指ip地址,端口号),本participant下所有writer信息,本participant下所有reader信息。
59.(3)实体为writer时,
60.诊断信息包括自身guid,可靠性,最近一次需要传输的数据包序号,最近一次真实传输的数据包序号,可能是用户正常调用write发送的数据,也可能是重传的数据,匹配的所有远端reader信息,reader的guid,此reader的报文总延迟信息(诊断消息发出时清零重新计数),包总个数,所有包的总延迟,此reader的报文统计样本(最多500个,诊断消息发出时清零重新计数),发送时间,延迟,序列号,发送的用户数据心跳报文总包数,接收到的ack
报文个数,接收到的nack报文个数,topic名称,topic类型、需要发送到的所有单播地址(包括ip地址和端口号),需要发送到的组播地址,上次诊断消息后的负载。
61.(4)实体为reader时,
62.诊断信息包括自身guid,可靠性,匹配的所有远端writer信息(guid),接收到的总数据包个数,topic名称,topic类型,负载(诊断消息发出时清零重新计数),此reader的统计样本(最多500个,诊断消息发出时清零重新计数)(包括负载、序列号)。
63.第二种触发机制:
64.在一实施例中,所述获取数据分发服务的诊断数据,包括:
65.获取配置文件中的定时发送周期;
66.根据所述定时发送周期,利用协议栈内部线程周期性地获取诊断数据。
67.本实施例采用定期触发。dds应用程序在创建第一个participant时,协议栈内部会创建一个专门用于发送诊断信息的线程。此线程会周期性的获取信息并发送。
68.在一实施例中,所述对所述诊断数据进行统计分析,生成诊断报告,包括:
69.监测实体运行过程中的数据变化;
70.根据所述数据变化生成预设模式数据,所述预设模式包括表格或图表。
71.本实施例,显示实体层级可包括创建的进程名,分配的id,对应的domainid等dds实体属性。并且可通过搜索实体查看正在进行中的实体信息。
72.本实施例通过抓取对应运行过程中的数据变化,通过折线图监控实体属性。
73.在一实施例中,对所述诊断数据进行统计分析,生成诊断报告之后,所述方法还包括:
74.实时更新所述诊断报告;
75.将所述诊断报告按照选定格式导出。
76.本实施可采用数据自动更新,可以按照需求从诊断工具汇中导出csv文件,实现监控数据记录。且在这个基础上用户可以设置警报阈值,实现对数据的自动监控,最终可以生成监控报告。通过状态消息栏可以查看当前的进行的状态。
77.本发明实施例提供的诊断方法,获取数据分发服务的诊断数据;对所述诊断数据进行统计分析,生成诊断报告;展示所述诊断报告。本发明提供的方案诊断工具通过获取数据分发服务的诊断数据,对诊断数据进行分析,形成诊断报告,并通过将诊断报告进行展示,能基于该诊断工具帮助使用人员快速定位用户使用数据分发服务dds过程中出现的问题,实现数据分发服务dds问题的自动检测和分析,避免由于数据分发服务dds故障导致的开发进度的迟滞。
78.下面将基于一实际应用场景,详细描述本实施例方案。
79.参见图2,为本实施例诊断模块应用示意图。
80.在本实施例中,pc端的dds诊断工具可连接多个被诊断的dds应用,可通过在运行程序中预埋诊断功能的dds线程,在接收端启动dds进行接收并将接收到的数据显示出来,帮助开发人员使用该工具初步定位以及排除一些由于dds简单配置导致的通信不通问题。
81.参见图3,为本实施例诊断逻辑示意图。
82.本实施例中,诊断工具为针对dds的诊断功能定制开发的一款可视化工具。它通过dds搜集诊断服务进程上报的数据,进行统计分析并呈现在界面上。可以展示多种dds静态
与动态属性数据、配对关系、延迟负载等。并以多图表形式展现多种动态数据录制功能可以将数据变化形成表格,方便查看与统计。生成的诊断报告能直观地反映一段时间内dds网络中的通信参数变化。
83.参见图4,为本实施例诊断模块拆分示意图。
84.本实施例中,诊断工具分为展示层、业务层和数据层。其中展示层包括实体层级、监控图表、消息输出和主界面框架。业务层包括实体动态更新、属性监控报警、消息输出控制、界面上下文、属性监控队列和应用日志记录。数据层包括实体数据池、全局监控队列、数据导出csv、dds诊断数据。
85.本发明实施例提供的诊断方法,获取数据分发服务的诊断数据;对所述诊断数据进行统计分析,生成诊断报告;展示所述诊断报告。本发明提供的方案通过对诊断数据进行分析,形成诊断报告,并通过将诊断报告进行展示,能快速定位用户使用数据分发服务dds过程中出现的问题,避免由于数据分发服务dds故障导致的开发进度的迟滞。
86.为了实现本发明实施例的方法,本发明实施例还提供了一种诊断装置,如图5所示,诊断装置500包括:数据层501、业务层502和展示层503;其中,
87.数据层501,用于获取数据分发服务的诊断数据;
88.业务层502,用于对所述诊断数据进行统计分析,生成诊断报告;
89.展示层503,用于展示所述诊断报告。
90.在一实施例中,所述获取数据分发服务的诊断数据之前,所述方法还包括:获取配置文件;所述配置文件包括是否开启诊断、诊断使用的域名称、定时发送周期和使用的接口信息;利用所述配置文件进行诊断参数配置。
91.在一实施例中,所述获取数据分发服务的诊断数据,包括:监测数据分发服务协议栈中的实体状态;所述实体包括域端、参与端、写入端和读取端;在检测到所述实体发生变化时,基于所述协议栈内部线程获取诊断数据。
92.在一实施例中,所获取数据分发服务的诊断数据,包括:当所述实体为域端时,所述诊断数据包括域名称、本域下所有参与端信息;当所述实体为参与端时,所述诊断数据包括自身标识符、使用的所有地址信息、本参与端下所有写入端信息、本参与端下所有读取端信息;当所述实体为写入端时,所述诊断数据包括自身标识符、可靠性、最近一次需要传输的数据包序号、最近一次真实传输的数据包序号、用户正常调用写入端发送的数据、重传的数据、匹配的所有远端读取端信息、读取端的标识符、读取端的报文总延迟信息、包总个数、所有包的总延迟、读取端的报文统计样本、发送时间、延迟、序列号、发送的用户数据心跳报文总包数、接收到的ack报文个数、接收到的nack报文个数、主题名称、主题类型、需要发送到的所有单播地址、需要发送到的组播地址、上次诊断消息后的负载;当所述实体为读取端时,所述诊断数据包括自身标识符、可靠性,匹配的所有远端写入端信息、接收到的总数据包个数、主题名称、主题类型、负载,本读取端的统计样本。
93.在一实施例中,所述获取数据分发服务的诊断数据,包括:获取配置文件中的定时发送周期;根据所述定时发送周期,利用协议栈内部线程周期性地获取诊断数据。
94.在一实施例中,所述对所述诊断数据进行统计分析,生成诊断报告,包括:监测实体运行过程中的数据变化;根据所述数据变化生成预设模式数据,所述预设模式包括表格或图表。
95.在一实施例中,对所述诊断数据进行统计分析,生成诊断报告之后,所述方法还包括:实时更新所述诊断报告;将所述诊断报告按照选定格式导出。
96.实际应用时,数据层501、业务层502和展示层503可由诊断装置中的处理器实现。
97.需要说明的是:上述实施例提供的上述装置在执行时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将终端的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的上述装置与上述方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
98.为了实现本发明实施例的方法,本发明实施例还提供了一种计算机程序产品,计算机程序产品包括计算机指令,计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取计算机指令,处理器执行计算机指令,使得计算机设备执行上述方法的步骤。
99.基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供了一种电子设备(计算机设备)。具体地,在一个实施例中,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器a01、网络接口a02、显示屏a04、输入装置a05和存储器(图中未示出)。其中,该计算机设备的处理器a01用于提供计算和控制能力。该计算机设备的存储器包括内存储器a03和非易失性存储介质a06。该非易失性存储介质a06存储有操作系统b01和计算机程序b02。该内存储器a03为非易失性存储介质a06中的操作系统b01和计算机程序b02的运行提供环境。该计算机设备的网络接口a02用于与外部的终端通过网络连接通信。该计算机程序被处理器a01执行时以实现上述任意一项实施例的方法。该计算机设备的显示屏a04可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置a05可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
100.本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
101.本发明实施例提供的设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述任意一项实施例的方法。
102.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
103.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
104.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
105.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
106.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
107.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。
108.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
109.可以理解,本发明实施例的存储器可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
110.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
111.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。

技术特征:
1.一种诊断方法,其特征在于,所述诊断方法包括:获取数据分发服务的诊断数据;对所述诊断数据进行统计分析,生成诊断报告;展示所述诊断报告。2.根据权利要求1所述的方法,其特征在于,所述获取数据分发服务的诊断数据之前,所述方法还包括:获取配置文件;所述配置文件包括是否开启诊断、诊断使用的域名称、定时发送周期和使用的接口信息;利用所述配置文件进行诊断参数配置。3.根据权利要求1所述的方法,其特征在于,所述获取数据分发服务的诊断数据,包括:监测数据分发服务协议栈中的实体状态;所述实体包括域端、参与端、写入端和读取端;在检测到所述实体发生变化时,基于所述协议栈内部线程获取诊断数据。4.根据权利要求3所述的方法,其特征在于,所述获取数据分发服务的诊断数据,包括:当所述实体为域端时,所述诊断数据包括域名称、本域下所有参与端信息;当所述实体为参与端时,所述诊断数据包括自身标识符、使用的所有地址信息、本参与端下所有写入端信息、本参与端下所有读取端信息;当所述实体为写入端时,所述诊断数据包括自身标识符、可靠性、最近一次需要传输的数据包序号、最近一次真实传输的数据包序号、用户正常调用写入端发送的数据、重传的数据、匹配的所有远端读取端信息、读取端的标识符、读取端的报文总延迟信息、包总个数、所有包的总延迟、读取端的报文统计样本、发送时间、延迟、序列号、发送的用户数据心跳报文总包数、接收到的ack报文个数、接收到的nack报文个数、主题名称、主题类型、需要发送到的所有单播地址、需要发送到的组播地址、上次诊断消息后的负载;当所述实体为读取端时,所述诊断数据包括自身标识符、可靠性,匹配的所有远端写入端信息、接收到的总数据包个数、主题名称、主题类型、负载,本读取端的统计样本。5.根据权利要求1所述的方法,其特征在于,所述获取数据分发服务的诊断数据,包括:获取配置文件中的定时发送周期;根据所述定时发送周期,利用协议栈内部线程周期性地获取诊断数据。6.根据权利要求1所述的方法,其特征在于,所述对所述诊断数据进行统计分析,生成诊断报告,包括:监测实体运行过程中的数据变化;根据所述数据变化生成预设模式数据,所述预设模式包括表格或图表。7.根据权利要求1所述的方法,其特征在于,对所述诊断数据进行统计分析,生成诊断报告之后,所述方法还包括:实时更新所述诊断报告;将所述诊断报告按照选定格式导出。8.一种诊断装置,其特征在于,所述诊断装置包括:数据层,用于获取数据分发服务的诊断数据;业务层,用于对所述诊断数据进行统计分析,生成诊断报告;
展示层,用于展示所述诊断报告。9.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤。10.一种存储介质,所述存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至7任一项所述方法的步骤。

技术总结
本发明公开了一种诊断方法、装置、电子设备及存储介质。其中,方法包括获取数据分发服务的诊断数据;对所述诊断数据进行统计分析,生成诊断报告;展示所述诊断报告。本发明提供的方案能快速定位用户使用数据分发服务DDS过程中出现的问题,避免由于数据分发服务DDS故障导致的开发进度的迟滞。障导致的开发进度的迟滞。障导致的开发进度的迟滞。


技术研发人员:胡其杰 李学清 谈冰 赵震渝 段涵潇
受保护的技术使用者:重庆长安汽车股份有限公司
技术研发日:2023.05.31
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐