CN103312806B - 用于分布式系统的诊断方法和诊断系统 - Google Patents

用于分布式系统的诊断方法和诊断系统 Download PDF

Info

Publication number
CN103312806B
CN103312806B CN201310245245.6A CN201310245245A CN103312806B CN 103312806 B CN103312806 B CN 103312806B CN 201310245245 A CN201310245245 A CN 201310245245A CN 103312806 B CN103312806 B CN 103312806B
Authority
CN
China
Prior art keywords
diagnostic
main frame
result
lower floor
diagnostic command
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.)
Active
Application number
CN201310245245.6A
Other languages
English (en)
Other versions
CN103312806A (zh
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.)
Vtron Group Co Ltd
Original Assignee
Vtron Technologies 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 Vtron Technologies Ltd filed Critical Vtron Technologies Ltd
Priority to CN201310245245.6A priority Critical patent/CN103312806B/zh
Publication of CN103312806A publication Critical patent/CN103312806A/zh
Application granted granted Critical
Publication of CN103312806B publication Critical patent/CN103312806B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Selective Calling Equipment (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供一种用于分布式系统的诊断方法和系统,其方法包括步骤:接收诊断命令集,所述诊断命令集包括诊断命令、子诊断命令集;根据所述诊断指令对当前主机进行诊断获得第一诊断结果;将所述子诊断命令集发送给所述子诊断命令集对应的下层主机;接收所述下层主机根据所述子诊断命令集获得并返回的第二诊断结果;将所述第一诊断结果、所述第二诊断结果发送给所述诊断命令集对应的所述上层主机,本发明提高了进行分布式系统诊断的效率。

Description

用于分布式系统的诊断方法和诊断系统
技术领域
本发明涉及系统诊断领域,特别是涉及一种用于分布式系统的诊断方法和诊断系统。
背景技术
目前用于分布式系统的诊断的方式主要有两种:本地诊断方式、有限的远程诊断方式。
其中,本地诊断只能诊断一台主机,不能诊断其他主机,例如汽车中常用的诊断系统,只能诊断当前汽车,不能用于诊断其他汽车。
有限的远程诊断不仅能诊断本机,还能将诊断工具发送到其他主机进行诊断,但这种功能仅是主机A将诊断工具发送到其他主机,例如主机B,并用于诊断主机B,不能通过主机B再诊断主机C,即:被分发的诊断工具仅能诊断当前主机,不能实现跨机诊断。
而对于一个分布式系统,特别是对于大规模的分布式系统,一般包括数量众多的主机,采用当前的诊断技术手段,诊断效率低,大大限制了对大规模用于分布式系统的诊断能力,不能满足大规模分布式系统的快速全面诊断应用需求。
发明内容
本发明提供一种用于分布式系统的诊断方法和一种用于分布式系统的诊断系统,其可以提高进行分布式系统诊断的效率。
本发明的目的通过如下技术方案实现:
一种用于分布式系统的诊断方法,包括如下步骤:
接收诊断命令集,所述诊断命令集包括诊断命令、子诊断命令集;
根据所述诊断指令对当前主机进行诊断获得第一诊断结果;
将所述子诊断命令集发送给所述子诊断命令集对应的下层主机;
接收所述下层主机根据所述子诊断命令集获得并返回的第二诊断结果;
将所述第一诊断结果、所述第二诊断结果发送给所述诊断命令集对应的所述上层主机。
一种用于分布式系统的诊断系统,包括:
命令集接收模块,用于接收诊断命令集,所述诊断命令集包括诊断命令、子诊断命令集,
诊断模块,用于根据所述诊断指令对当前主机进行诊断获得第一诊断结果;
命令集发送模块,用于将所述子诊断命令集发送给所述子诊断命令集对应的下层主机;
结果收发模块,用于接收所述下层主机根据所述子诊断命令集获得并返回的第二诊断结果,还用于将所述第一诊断结果、所述第二诊断结果发送给所述诊断命令集对应的所述上层主机。
依据上述本发明的方案,其是在接收诊断命令集后,根据该诊断命令集中的诊断命令对当前主机进行诊断获得第一诊断结果,并将诊断命令集中的子诊断命令集发送给对应的下层主机,接收所述下层主机根据所述子诊断命令集获得并返回的第二诊断结果,并将所述第一诊断结果、所述第二诊断结果发送给诊断命令集的所述上层主机,由于诊断命令集中嵌套了子诊断命令集,子诊断命令集中还可以继续嵌套子诊断命令集,因此,不但可以实现对当前主机进行诊断,还可以通过转发的子诊断命令集对下层主机进行诊断,并可以继续转发子诊断命令集中嵌套的子诊断命令集,这种层层转发子诊断命令集的方式,可以提高诊断效率,同时,诊断命令集中可以包括多个子诊断命令集,每个子诊断命令集又可以对应多个下层主机,这样,分布式系统中的主机越多,诊断效率越高。
附图说明
图1为本发明的用于分布式系统的诊断方法实施例的流程示意图;
图2为本发明的用于分布式系统的诊断方法涉及用户交互请求的一个实施例的流程示意图;
图3为两个具体示例中的诊断模型的结构示意图;
图4为本发明的用于分布式系统的诊断系统实施例的结构示意图;
图5为图4中的结果收发模块在一个实施例中的细化结构示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步阐述,但本发明的实施方式不限于此。
参见图1所示,为本发明的用于分布式系统的诊断方法实施例的流程示意图。如题1所示,本实施例中的用于分布式系统的诊断方法包括如下步骤:
步骤S101:接收诊断命令集,所述诊断命令集包括诊断命令、子诊断命令集,进入步骤S102;
其中,诊断命令集中的诊断命令对应当前主机,子诊断命令集包括对应的下层主机的诊断命令,子诊断命令集还可以包括需要下层主机进行转发的子诊断命令集,即子诊断命令集中可以继续嵌套相对于该子诊断命令集的诊断命令和子诊断命令集,诊断命令集中可以包括一个或者多个子诊断命令集,每个子诊断命令集又可以对应着一个或者多个下层主机;
步骤S102:根据所述诊断指令对当前主机进行诊断获得第一诊断结果;
在本实施例中,步骤S102根据所述诊断指令对当前主机进行诊断的方式,可以有很多种,例如,根据诊断命令调用主机中该诊断命令对应的诊断工具,执行诊断工具对对当前主机进行诊断,其中,诊断工具可以是现有技术中的任意可以实现的对当前主机进行诊断的工具;根据所述诊断指令对当前主机进行诊断的方式,除了上述方式外,还可以有其他的方式,在此不一一赘述;
步骤S103:将所述子诊断命令集发送给所述子诊断命令集对应的下层主机;
其中,下层主机接收到子诊断命令集后,可以根据子诊断命令集中的诊断命令对下层主机进行诊断,还可以转发子诊断命令集中的子诊断命令集;
步骤S104:接收所述下层主机根据所述子诊断命令集获得并返回的第二诊断结果,将所述第一诊断结果、所述第二诊断结果发送给所述诊断命令集对应的所述上层主机;
其中,第二诊断结果一般不但包括根据子诊断命令集中的诊断命令对下层主机进行诊断获得的诊断结果,还可以包括下层主机将子诊断命令集中的子诊断命令集转发后获得的诊断结果;
第一诊断结果、第二诊断结果可以分别发送给上层主机,为了提高效率,也可以将第一诊断结果、第二诊断结果合并后再发送给所述上层主机,上层主机一般是指发送所述诊断命令集的主机。
据此,依据本实施例中的方案,其是在接收诊断命令集后,根据该诊断命令集中的诊断命令对当前主机进行诊断获得第一诊断结果,并将诊断命令集中的子诊断命令集发送给对应的下层主机,接收所述下层主机根据所述子诊断命令集获得并返回的第二诊断结果,并将所述第一诊断结果、所述第二诊断结果发送给诊断命令集的所述上层主机,由于诊断命令集中嵌套了子诊断命令集,子诊断命令集中还可以继续嵌套子诊断命令集,因此,不但可以实现对当前主机进行诊断,还可以通过转发的子诊断命令集对下层主机进行诊断,并可以继续转发子诊断命令集中嵌套的子诊断命令集,这种层层转发子诊断命令集的方式,可以提高诊断效率,同时,诊断命令集中可以包括多个子诊断命令集,每个子诊断命令集又可以对应多个下层主机,这样,分布式系统中的主机越多,诊断效率越高。
需要说明的是,本发明所指当前主机泛指分布式系统的多个主机中一个接收到诊断命令集后执行其中的诊断命令的主机,下层主机泛指一个或者多个子诊断命令集对应的主机,下层主机的个数由子诊断命令集的个数以及子诊断命令集与下层主机决定,上层主机是指将诊断命令集发送给当前主机的主机,在实际应用中,分布式系统中的主机可以根据在不同时刻所进行的不同操作充当当前主机、下层主机、上层主机;当前主机、下层主机以及上层主机之间可以通过串口、网络等连接方式互联。此外,分布式系统的主机之间是互联的,并不是分层的结构。还需要说明的是,本发明所指诊断命令集泛指当前主机接收到的诊断命令集合,所述子诊断命令集是泛指该当前主机接收到的诊断命令集合中嵌套的需要转发的诊断命令集合,在实际应用中,诊断命令集合可以根据不同时刻所进行的不同操作充当诊断命令集或者子诊断命令集。
其中,上述步骤中对当前主机进行诊断、下发子诊断命令集可以是不采用上述先后顺序,可以同时进行。
为了便于将子诊断命令集发送给下层主机,每个子诊断命令集可以包括一个或者多个下层主机的IP,用于指定需要将子诊断命令集分发给哪个/哪些主机,因此,可以根据其中的IP确定下层主机,方便快捷。需要说明的是,在当前主机作为上层主机对应的一个下层主机时,诊断命令集也包括一个或者多个下层主机的IP,上层主机通过诊断命令集中的IP将诊断命令集发送给了包括了当前主机的各主机。
另一方面,在所述子诊断命令集为多个时,或者/和各子诊断命令集对应多个下层主机时,可以将所述子诊断命令集通过并行方式发送给各个所述下层主机,并通过并行方式接收各个所述下层主机返回的第二诊断结果,采用并行方式发送子诊断命令集、接收第二诊断结果,由于可以同时向多个下层主机发送子诊断命令集、或者/和同时发送多个子诊断命令集,并接收这些下层主机返回的第二诊断结果,加快了进程,进而提高了诊断效率。需要说明的是,发送子诊断命令集、接收第二诊断结果并不限于并行方式,也可以采用串行方式等。
此外,在诊断过程中,有些主机的诊断是需要依赖于一些诊断参数的,而这些诊断参数又往往需要用户提供,这时,需要提供UI(User Interface,用户界面)交互,例如,在需要进行用户交互时,发送用户交互请求,在某一主机(一般是诊断主机)上提供用户交互界面,由用户输入诊断参数,以得到执行诊断命令所需的诊断参数,为此,如图2所示,在其中一个实施例中,在上述步骤S104可以细化为如下步骤:
步骤S1041:接收下层主机发送的用户交互请求,在接收到下层主机发送的用户交互请求后,进入步骤S1042;
其中,本实施例中的下层主机可以是上述实施例中的所有下层主机,也可以是上述实施例中的下层主机中一台或者若干台,用户交互请求可以是对应所述诊断命令集的,也可以是下层主机接收到并转发过来的;
步骤S1042:判断是否存储有与所述用户交互请求对应的诊断参数,若存储有所述用户交互请求对应的诊断参数,则进入步骤S1043,若未存储有所述用户交互请求对应的诊断参数,则进入步骤S1044;
其中,诊断参数的存储位置可以根据实际情况确定,例如,可以是当前主机中的存储模块,也可以是某一固定的存储器或者数据库等,也不限于其他的情况;
步骤S1043:将所述诊断参数发送给对应的下层主机,进入步骤S1045;
步骤S1044:将所述用户交互请求发送给所述上层主机,并在接收到该上层主机根据所述用户交互请求获得并返回的诊断参数时,将该诊断参数发送给对应的下层主机,进入步骤S1045,其中,还可以在接收到该所述上层主机返回的诊断参数时,存储该诊断参数,以便以后再接收到用户交互请求时,直接将用户交互请求发送给对应的下层主机;
上层主机接收到用户交互请求,若其存储有对应的诊断参数,可以将诊断参数返回给当前主机,若未存储对应的诊断参数可以进行向上(将诊断命令集作为子诊断命令集发送给所述上层主机的主机)发送用户交互请求,也可以是,提供用户交互界面由用户输入诊断参数,但对一个分布式系统来说,一般是在控制端(可以是分布式系统中预先设定的某台主机)提供用户交互界面,即将用户交互请求一直上传到控制端后,且诊断主机中未存储该用户交互请求对应的诊断参数时,提供用户交互界面;
步骤S1045:接收所述下层主机根据所述子诊断命令集以及所述诊断参数获得并返回的第二诊断结果,将所述第一诊断结果、所述第二诊断结果发送给所述诊断命令集对应的所述上层主机。
本实施例中的其他步骤和前述的实施例相同,在此不予赘述。
其中,在本实施例中,作为其中的一种优选方式,用户交互请求可以通过一段XML(Extensible Markup Language,可扩展标记语言)进行描述。例如,标签lineedit表示一个文本输入,标签label表示显示一个提示标签,标签element表示一个UI输入项,其通常包括label和lineedit。优选地,每个用户交互请求描述均有一个id标签,用于和其他用户交互请求进行区分,id通常不会显示在用户交互请求的输入界面上。由于实现方法有多种,此处仅列出一个简单的功能示意。
如此,控制端收到用户交互请求时将弹出UI输入界面,用户可以在UI输入界面输入任意字符串(诊断参数):
UI响应(用户交互请求后返回的诊断参数)也是通过XML来描述,本实施例中,UI响应是通过填充用户交互请求的空白输入字段(例如上例中的lineedit空值字段)。接着上例,当用户输入的文本为“我爱我的祖国”,则UI响应内容为:
在本实施例中,由于可以存储诊断参数,因此,在接收到用户交互请求时,可以直接将存储的诊断参数发送给对应的下层主机,只有在当前主机中未存储由对应的诊断参数时才将用户交互请求发送给所述上层主机,在接收到由该所述上层主机提供的诊断参数后,再将诊断参数发送给对应的下层主机,也就是说,可以按照,诊断命令集(子诊断命令集)下发顺序,向上请求用户交互请求,直到得到对应的诊断参数。
通过本实施例中的方案,一方面可以实现UI交互,另一方面通过存储诊断参数,也可以提高诊断效率。
由于可能有多个下层主机同时发送用户交互请求,当控制端生成用户交互界面供用户输入时,可能弹出很多户交互界面,容易造成混乱,不便于用户输入诊断参数,为此,可以通过串行方式接收下层主机发送的用户交互请求,以及将所述用户交互请求通过串行方式发送给所述上层主机,对于控制端而言,串行执行用户交互,即上一个用户交互界面对应的诊断参数输入完毕后,再弹出下一个用户交互界面。
本实施例阐述的是接收到下层主机发送的用户交互请求后的处理过程。另外,诊断命令集中也可能包括用户交互请求,这时需要将该用户交互请求发送到诊断命令集的所述上层主机以由该所述上层主机提供诊断参数,即在诊断命令集还包括用户交互请求时,上述步骤102可以具体按照如下过程实现:
向所述上层主机发送所述用户交互请求,并在接收到所述上层主机根据所述用户交互请求获得并返回的诊断参数时,根据所述诊断指令以及所述诊断参数对当前主机进行诊断获得第一诊断结果。
其中,上层主机接收到用户交互请求,若其存储有对应的诊断参数,可以将诊断参数返回给当前主机,若未存储对应的诊断参数可以进行向上(将诊断命令集作为子诊断命令集发送给所述上层主机的主机)发送用户交互请求,也可以是,提供用户交互界面由用户输入诊断参数,但对一个分布式系统来说,一般是在控制端(可以是分布式系统中预先设定的某台主机)提供用户交互界面,即将用户交互请求一直上传到控制端后,且诊断主机中未存储该用户交互请求对应的诊断参数时,提供用户交互界面。
为了更好的理解本发明的方案,下面以两个具体示例对本发明进行说明。在下述说明中,均是以图3中的诊断模型为例进行说明,也均是以诊断主机、各诊断客户机之间进行相互交互为例进行说明,这种说明并不用于对本发明的方案进行限定。
如图3所示,是将一分布式系统定义为如图所示的诊断模型,诊断主机以及诊断客户机之间可通过串口、网络等连接方式互联,诊断客户机之间的控制可以依赖于一套公开的通信协议,并且该通信协议可根据业务需要自行定义。每个诊断客户机负责监听一个TCP/UDP端口,充当一个网络服务端,为便于说明问题,此处以诊断客户机监听TCP端口6060为例,那么,诊断客户机初始化过程大致为:监听TCP端口6060,在接收到客户端(诊断主机或诊断客户机)的TCP连接请求后,建立网络服务端与客户端之间的连接。其中,各诊断客户机可以分别为一台主机,诊断主机可以为一台主机,也可以是与任意一台诊断客户机同为一台主机。
具体示例1
本具体示例是以在诊断命令集中不包括用户交互请求为例进行说明,在本具体示例中共涉及四个诊断命令集合,分别如下:
诊断命令集合1:在IP2(诊断客户机2)上执行诊断命令集合2;该步骤的所有诊断完成后再向上层汇报诊断结果;
诊断命令集合2:在本机执行任意命令,然后在IP5(诊断客户机5)上执行诊断命令集合3;该步骤的所有诊断完成后再向上层汇报诊断结果;
诊断命令集合3:在本机执行任意命令,然后在IP7(诊断客户机7)、IP8(诊断客户机8)、IP9(诊断客户机9)上并发执行诊断命令集合4;该步骤的所有诊断完成后再向上层汇报诊断结果;
诊断命令集合4:执行任意命令;该步骤的所有诊断完成后再向上层汇报诊断结果。
如前所述,则诊断命令集合3相当于诊断命令集合2的子诊断命令集合,诊断命令集合4相当于诊断命令集合3的子诊断命令集合。
其中IP2、IP5、IP7......分别为诊断客户机2、诊断客户机5、诊断客户机7的IP。
诊断过程如下:
S1:诊断主机1根据诊断命令集合1,将诊断命令集合2发送给诊断客户机2;
S2:诊断客户机2根据诊断命令集合2执行任意命令,然后将诊断命令集合3发送给诊断客户机5;
S3:诊断客户机5根据诊断命令集合3执行任意命令,然后将诊断命令集合4并行地发送给诊断客户机7、8、9;
S4:诊断客户机7、8、9根据诊断命令集合4并发执行任意命令;
S5:诊断客户机7、8、9在完成诊断后,分别将诊断结果反馈给诊断命令集合的所述上层主机:诊断客户机5;
S6:诊断客户机5收到诊断客户机7、8、9的诊断结果后,合并在本机执行的诊断结果,发送给诊断命令集合所述上层主机:诊断客户机2;
S7:诊断客户机2收到诊断客户机5的诊断结果后,合并在本机执行的诊断结果,发送给诊断命令集合所述上层主机:诊断客户机1;
S8:诊断主机1收到诊断客户机2的诊断结果后,生成诊断报告,完成诊断。
上述诊断客户机在不同时刻可以扮演着不同的角色,例如诊断客户机5在S2中对应着前述的下层主机,在S3中对应着前述的当前主机,在此不一一赘述。上述过程中,诊断命令集合在不同时刻也扮演着不同的角色,例如在S2中诊断命令集合3对应着前述的子诊断命令集,在S3中对应着前述的诊断命令集。上述过程中的任意命令是指对应的诊断命令集合中的诊断命令。
具体示例2
本具体示例是以含有用户交互请求过程为例进行说明,在本具体示例中包括有五个诊断命令集合,分别如下:
诊断命令集合1:在IP2(诊断客户机2)上执行诊断命令集合2;在IP3(诊断客户机3)上执行诊断命令集合3;诊断命令集合2和诊断命令集合3并行执行;该步骤的任意诊断完成后立即向上层汇报诊断结果;
诊断命令集合2:在本机执行任意命令,然后在IP4(诊断客户机4)上执行诊断命令集合4;该步骤的所有诊断完成后再向上层汇报诊断结果;
诊断命令集合3:在本机执行任意命令,然后在IP7(诊断客户机7)、IP8(诊断客户机8)、IP9(诊断客户机9)上并发执行诊断命令集合5;该步骤的任意诊断完成后立即向上层汇报诊断结果;
诊断命令集合4:请求UI输入,然后根据UI输入执行任意命令;该步骤的所有诊断完成后再向上层汇报诊断结果。
诊断命令集合5:执行任意命令;该步骤的所有诊断完成后再向上层汇报诊断结果。
则诊断过程如下:
SS1:诊断主机1根据诊断命令集合1,将诊断命令集合2发送给诊断客户机2;并行地,将诊断命令集合3发送给诊断客户机3;
SS2:诊断客户机2根据诊断命令集合2执行任意命令,然后将诊断命令集合4发送给诊断客户机4;
SS3:诊断客户机3根据诊断命令集合3执行任意命令,然后将诊断命令集合5并行地发送给诊断客户机7、8、9;
SS4:诊断客户机7、8、9根据诊断命令集合4并发执行任意命令;
SS5:诊断客户机4根据诊断命令集合4,向诊断命令集合的所述上层主机:诊断客户机2,发送用户交互请求;诊断客户机2如果有该UI的诊断参数,则直接将该参数返回给诊断客户机4;诊断客户机如果没有该UI的诊断参数,则将用户交互请求向上发送给诊断主机1;诊断主机1收到用户交互请求后,生成UI,供用户输入;输入完毕后,诊断主机1将UI结果反馈给诊断客户机2;诊断客户机2收到UI结果后,将UI结果反馈给诊断客户机4;然后诊断客户机4根据收到的UI结果执行任意命令;然后将诊断结果向上发送给诊断命令集合所述上层主机:诊断客户机2;
SS6:诊断客户机2收到诊断命令集合4的结果后,向诊断主机1反馈执行结果;
SS7:诊断客户机7、8、9完成诊断后,向诊断主机3发送诊断结果;诊断主机3根据诊断命令集合3,收到诊断客户机7、8、9的诊断结果后,将诊断结果转发给诊断主机1;当在本机执行任意命令后直接将诊断结果反馈给诊断主机1;
SS8:诊断主机1收到诊断客户机2的诊断结果或诊断客户机3的诊断结果后,报告诊断结果;当诊断客户机2和诊断客户机3的诊断结果均收到后,完成诊断。
上述诊断客户机在不同时刻可以扮演着不同的角色,诊断命令集合在不同时刻也可以扮演着不同的角色,在此不予赘述。
根据上述本发明的用于分布式系统的诊断方法,本发明还提供一种用于分布式系统的诊断系统,以下就本发明的用于分布式系统的诊断系统的具体示例进行详细说明。图4中示出了本发明的用于分布式系统的诊断系统的一个较佳示例的结构示意图。依据不同的考虑因素,在具体实现本发明的用于分布式系统的诊断系统时,可以包含图4中所示的全部,也可以只包含图4中所示的其中一部分,以下就针对其中的几个用于分布式系统的诊断系统的具体实施例进行详细说明。为了便于说明,图4中只示出了与本发明相关的部分。
在其中一个实施例中,用于分布式系统的诊断系统包括命令集接收模块202、诊断模块201、命令集发送模块203、结果收发模块204,其中,
命令集接收模块202,用于接收诊断命令集,所述诊断命令集包括诊断命令、子诊断命令集,
诊断模块201,用于根据所述诊断指令对当前主机进行诊断获得第一诊断结果;
命令集发送模块203,用于将所述子诊断命令集发送给所述子诊断命令集对应的下层主机;
结果收发模块204,用于接收所述下层主机根据所述子诊断命令集获得并返回的第二诊断结果,将所述第一诊断结果、所述第二诊断结果发送给所述上层主机。
在其中一个实施例中,命令集发送模块203可以将所述子诊断命令集并行发送给所述子诊断命令集对应的下层主机,结果收发模块204并行接收所述下层主机返回的第二诊断结果。
在其中一个实施例中,如图5所示,结果收发模块204可以包括交互请求收发单元2041、判断单元2042、存储单元2043、结果收发模块2044,其中:
交互请求收发单元2041用于接收到下层主机发送的用户交互请求,交互请求收发单元2041还用于在判断单元2042的判定结果为是时,将所述诊断参数发送给对应的下层主机,在判断单元2042的判定结果为否时,将所述用户交互请求发送给所述上层主机,在接收到该上层主机根据所述用户交互请求获得并返回的诊断参数时,将该诊断参数发送给对应的下层主机;
判断单元2042用于判断存储单元2043中是否存储有所述用户交互请求对应的诊断参数;
存储单元2043用于存储诊断参数;
结果收发模块2044,用于接收所述下层主机根据所述子诊断命令集获得并返回的第二诊断结果,还用于将所述第一诊断结果、所述第二诊断结果发送给所述诊断命令集对应的所述上层主机。
在其中一个实施例中,诊断模块201在所述诊断命令集还包括用户交互请求时,向所述上层主机发送所述用户交互请求,并在接收到所述上层主机根据所述用户交互请求获得并返回的诊断参数时,根据所述诊断指令以及所述诊断参数对当前主机进行诊断获得第一诊断结果。
本发明系统中的各模块等的具体实现方式,可以与上述本发明方法中的相同,在此不予详加赘述。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种用于分布式系统的诊断方法,其特征在于,包括如下步骤:
接收诊断命令集,所述诊断命令集包括诊断命令、子诊断命令集;
根据所述诊断命令对当前主机进行诊断获得第一诊断结果;
将所述子诊断命令集发送给所述子诊断命令集对应的下层主机;
接收所述下层主机根据所述子诊断命令集获得并返回的第二诊断结果;
将所述第一诊断结果、所述第二诊断结果发送给所述诊断命令集对应的上层主机。
2.根据权利要求1所述的用于分布式系统的诊断方法,其特征在于,所述子诊断命令集为多个,或者/和所述子诊断命令集对应多个下层主机时,将所述子诊断命令集通过并行方式发送给所述下层主机,并通过并行方式接收所述下层主机返回的第二诊断结果。
3.根据权利要求1或2所述的用于分布式系统的诊断方法,其特征在于,所述接收所述下层主机根据所述子诊断命令集获得并返回的第二诊断结果包括步骤:
接收下层主机发送的用户交互请求;
判断是否存储有与所述用户交互请求对应的诊断参数;
若存储,则将所述诊断参数发送给对应的下层主机;
若未存储,则将所述用户交互请求发送给所述上层主机,并在接收到该上层主机根据所述用户交互请求获得并返回的诊断参数时,将该诊断参数发送给对应的下层主机;
接收所述下层主机根据所述子诊断命令集以及所述诊断参数获得并返回的第二诊断结果。
4.根据权利要求3所述的用于分布式系统的诊断方法,其特征在于,通过串行方式接收下层主机发送的用户交互请求,将所述用户交互请求通过串行方式发送给所述上层主机。
5.根据权利要求1或2所述的用于分布式系统的诊断方法,其特征在于:
所述诊断命令集还包括用户交互请求;
根据所述诊断命令对当前主机进行诊断获得第一诊断结果的步骤包括:向所述上层主机发送所述用户交互请求,并在接收到所述上层主机根据所述用户交互请求获得并返回的诊断参数时,根据所述诊断命令以及所述诊断参数对当前主机进行诊断获得第一诊断结果。
6.一种用于分布式系统的诊断系统,其特征在于,包括:
命令集接收模块,用于接收诊断命令集,所述诊断命令集包括诊断命令、子诊断命令集,
诊断模块,用于根据所述诊断命令对当前主机进行诊断获得第一诊断结果;
命令集发送模块,用于将所述子诊断命令集发送给所述子诊断命令集对应的下层主机;
结果收发模块,用于接收所述下层主机根据所述子诊断命令集获得并返回的第二诊断结果,还用于将所述第一诊断结果、所述第二诊断结果发送给诊断命令集对应的上层主机。
7.根据权利要求6所述的用于分布式系统的诊断系统,其特征在于,所述命令集发送模块将所述子诊断命令集并行发送给各所述下层主机,所述结果收发模块并行接收各所述下层主机返回的第二诊断结果。
8.根据权利要求6或7所述的用于分布式系统的诊断系统,其特征在于,所述结果收发模块包括交互请求收发单元、判断单元、存储单元、结果收发单元,其中:
所述交互请求收发单元用于接收下层主机发送的用户交互请求;
所述判断单元用于判断所述存储单元中是否存储有与所述用户交互请求对应的诊断参数;
所述交互请求收发单元还用于在所述判断单元的判定结果为是时,将所述诊断参数发送给对应的下层主机,在所述判断单元的判定结果为否时,将所述用户交互请求发送给所述上层主机,在接收到该上层主机根据所述用户交互请求获得并返回的诊断参数时,将该诊断参数发送给对应的下层主机;
所述存储单元用于存储诊断参数;
所述结果收发单元用于接收所述下层主机根据所述子诊断命令集以及所述诊断参数获得并返回的第二诊断结果,还用于将所述第一诊断结果、所述第二诊断结果发送给所述诊断命令集对应的所述上层主机。
9.根据权利要求8所述的用于分布式系统的诊断系统,其特征在于,所述交互请求收发单元串行接收下层主机发送的用户交互请求,将所述用户交互请求串行发送给所述上层主机。
10.根据权利要求6或7所述的用于分布式系统的诊断系统,其特征在于:
所述诊断模块在所述诊断命令集还包括用户交互请求时,向所述上层主机发送所述用户交互请求,并在接收到所述上层主机根据所述用户交互请求获得并返回的诊断参数时,根据所述诊断命令以及所述诊断参数对当前主机进行诊断获得第一诊断结果。
CN201310245245.6A 2013-06-19 2013-06-19 用于分布式系统的诊断方法和诊断系统 Active CN103312806B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310245245.6A CN103312806B (zh) 2013-06-19 2013-06-19 用于分布式系统的诊断方法和诊断系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310245245.6A CN103312806B (zh) 2013-06-19 2013-06-19 用于分布式系统的诊断方法和诊断系统

Publications (2)

Publication Number Publication Date
CN103312806A CN103312806A (zh) 2013-09-18
CN103312806B true CN103312806B (zh) 2016-09-28

Family

ID=49137584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310245245.6A Active CN103312806B (zh) 2013-06-19 2013-06-19 用于分布式系统的诊断方法和诊断系统

Country Status (1)

Country Link
CN (1) CN103312806B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106959682A (zh) * 2017-03-06 2017-07-18 深圳市元征软件开发有限公司 一种汽车诊断方法、诊断接头,及诊断系统
CN110412970A (zh) * 2018-04-27 2019-11-05 罗伯特·博世有限公司 在多ecu系统中执行车辆诊断的方法
CN111521408A (zh) * 2020-04-30 2020-08-11 深圳市元征科技股份有限公司 诊断请求处理方法、装置、系统、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014612A (en) * 1997-10-02 2000-01-11 Fisher Controls International, Inc. Remote diagnostics in a process control network having distributed control functions
CN1581809A (zh) * 2003-08-04 2005-02-16 索尼国际(欧洲)股份有限公司 用于远程诊断装置的方法和系统
CN102308524A (zh) * 2011-07-22 2012-01-04 华为技术有限公司 动态隧道故障诊断方法及设备和系统
CN102621411A (zh) * 2012-03-02 2012-08-01 中国电力科学研究院 一种分布式电能质量远程诊断方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014612A (en) * 1997-10-02 2000-01-11 Fisher Controls International, Inc. Remote diagnostics in a process control network having distributed control functions
CN1581809A (zh) * 2003-08-04 2005-02-16 索尼国际(欧洲)股份有限公司 用于远程诊断装置的方法和系统
CN102308524A (zh) * 2011-07-22 2012-01-04 华为技术有限公司 动态隧道故障诊断方法及设备和系统
CN102621411A (zh) * 2012-03-02 2012-08-01 中国电力科学研究院 一种分布式电能质量远程诊断方法

Also Published As

Publication number Publication date
CN103312806A (zh) 2013-09-18

Similar Documents

Publication Publication Date Title
CN103312806B (zh) 用于分布式系统的诊断方法和诊断系统
JP5783774B2 (ja) 工程制御システムにおいて携帯型装置を工程制御装置へ通信するよう結合する方法及び機器
EP2721493B1 (en) Method and apparatus to manage information between a scan tool and networked devices
EP1587248A2 (en) Multiple link connector list
JP6169579B2 (ja) システム間の装置交換機のためのシステムおよび方法
JP2009017032A (ja) パケット転送装置
CN105739417B (zh) 一种运载火箭全箭测发控信息可定制监控的监控系统及其监控方法
CN111830940A (zh) 工程机故障诊断方法、终端、系统和电子设备
CN107846466A (zh) 云终端外部设备的映射方法、服务器、云终端及系统
CN102298373A (zh) 一种可编程逻辑控制器的监控方法及其监控系统
EP2508955A2 (en) Complex system function status diagnosis and presentation
CN106023479A (zh) 一种状态显示系统
CN105302709B (zh) 测试数据生成方法及设备
CN104950118B (zh) 分析装置系统、处理方法及计算机程序
CN107113199A (zh) 用于分析和处理通信序列的分析装置
CN107526681A (zh) 一种机器人的测试系统及测试方法
CN108737817A (zh) 一种机顶盒自动测试方法及测试装置
CN106227032B (zh) 控制逆变器的方法
CN208432681U (zh) 线缆检测系统
CN107835296A (zh) 一种问题反馈方法及装置
CN104142882B (zh) 基于数据处理的测试方法及装置、系统
CN108430313A (zh) 医疗设备间协同控制系统和方法及医疗工作站和通讯设备
JP2011004149A (ja) ネットワークシステム及びネットワークシステムのシステム構成解析方法
CN107211050B (zh) 一种总线编址方法、装置及一种信息提示方法、装置
CN109274533A (zh) 一种基于规则引擎的Web服务故障的定位装置和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 510670 Guangdong Province, Guangzhou high tech Industrial Development Zone Kezhu Road No. 233

Patentee after: Wei Chong group Limited by Share Ltd

Address before: 510663 Guangzhou province high tech Industrial Development Zone, Guangdong, Cai road, No. 6, No.

Patentee before: Guangdong Weichuangshixun Science and Technology Co., Ltd.

CP03 Change of name, title or address
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20130918

Assignee: Guangzhou Kaide Finance Leasing Co., Ltd.

Assignor: Wei Chong group Limited by Share Ltd

Contract record no.: 2019990000222

Denomination of invention: Diagnostic method and diagnostic system for distributed system

Granted publication date: 20160928

License type: Exclusive License

Record date: 20190709

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Diagnostic method and diagnostic system for distributed system

Effective date of registration: 20190807

Granted publication date: 20160928

Pledgee: Guangzhou Kaide Finance Leasing Co., Ltd.

Pledgor: Wei Chong group Limited by Share Ltd

Registration number: Y2019990000036

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20200902

Granted publication date: 20160928

Pledgee: Guangzhou Kaide Finance Leasing Co.,Ltd.

Pledgor: VTRON GROUP Co.,Ltd.

Registration number: Y2019990000036