无人驾驶装置的状态监控方法、系统、设备和存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种无人驾驶装置的状态监控方法、系统、设备和存储介质。
背景技术
随着无人驾驶技术日趋走向成熟,无人驾驶技术在现实中得到越来越多的实验与应用,如无人驾驶汽车、无人配送货车等。出于对无人驾驶车辆以及车辆周边环境(包括无人驾驶车辆周边的人、车等)的安全性考虑,对于无人驾驶车辆状态的监控必不可少。
当前无人驾驶车辆的状态监控系统,其通常的工作机制是建立一个监控模块,每个被监控的模块都向监控模块发送自身的状态信息。从通信机制上来看,上述状态监控系统属于集中式监控系统,即监控状态的读取依赖于监控模块,一旦监控模块出现异常,则将直接导致监控模块中全部监控数据丢失。
发明内容
本发明要解决的技术问题是为了克服现有技术中依赖监控模块读取被监控模块状态的缺陷,提供一种无人驾驶装置的状态监控方法、系统、设备和存储介质。
本发明是通过下述技术方案来解决上述技术问题:
一种无人驾驶装置的状态监控方法,用于监控所述无人驾驶装置的多个被监控模块的状态,其特点在于,所述状态监控方法包括:
每一所述被监控模块向目标网络广播各自的当前状态信息;
监控模块从所述目标网络中抓取所述当前状态信息;
所述监控模块整合所述当前状态信息,得到包括所有被监控模块的所述当前状态信息的整合状态信息;
所述监控模块向所述目标网络广播所述整合状态信息。
优选地,所述当前状态信息包括被监控模块的名称信息;
所述监控模块整合所述当前状态信息,得到包括所有被监控模块的所述当前状态信息的整合状态信息的步骤具体包括:
读取所述当前状态信息中的名称信息;
判断所述整合状态信息中是否包括所述当前状态信息的名称信息;
若是,则在所述整合状态信息中将包括所述名称信息的历史状态信息替换为所述当前状态信息;
若否,则将所述当前状态信息添加到所述整合状态信息中。
优选地,所述当前状态信息包括被监控模块的名称信息,被监控模块的运行状态信息,以及被监控模块的广播周期信息;
在监控模块从所述目标网络中抓取所述当前状态信息的步骤之后,所述状态监控方法还包括:
读取所述当前状态信息中的名称信息、广播周期信息;
判断在抓取到所述当前状态信息之后的广播周期内,是否再次抓取到包括所述名称信息的当前状态信息,然后执行所述监控模块整合所述当前状态信息的步骤;
其中,当判断为否时,在所述整合状态信息中,将包括所述名称信息的历史状态信息中的运行状态信息的值更改为异常。
优选地,所述当前状态信息包括被监控模块的名称信息;
在监控模块从所述目标网络中抓取所述当前状态信息的步骤之前,所述状态监控方法还包括:
读取被监控模块列表,所述被监控模块列表包括用于表征被监控模块的状态的状态参数,其中,所述状态参数的初始值为未启动;
监控模块从所述目标网络中抓取所述当前状态信息的步骤具体包括:
所述监控模块根据被监控模块列表从所述目标网络中抓取所述当前状态信息;
在监控模块从所述目标网络中抓取所述当前状态信息的步骤之后,所述状态监控方法还包括:
读取所述当前状态信息中的名称信息;
在所述被监控模块列表中将所述名称信息表征的被监控模块的状态参数的值更改为启动。
优选地,所述当前状态信息还包括被监控模块的运行状态信息;
在所述监控模块向所述目标网络广播所述整合状态信息的步骤之前,所述状态监控方法还包括:
判断所述被监控模块列表中是否包括值为未启动的状态参数;
若是,则在所述整合状态信息中添加状态参数的值为未启动的被监控模块的当前状态信息,其中,所述当前状态信息中的运行状态信息的值为未启动。
优选地,在读取所述被监控模块列表的步骤之前,所述状态监控方法还包括:
向所述被监控模块列表中增加被监控模块;和/或,
从所述被监控模块列表中删除被监控模块。
优选地,所述当前状态信息包括被监控模块广播当前状态信息时的系统时间信息;和/或,
所述整合状态信息还包括所述监控模块的运行状态信息。
优选地,所述状态监控方法还包括:
显示模块直接接入或者通过外部网络间接接入所述目标网络;
所述显示模块从所述目标网络中抓取并显示所述整合状态信息。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特点在于,所述处理器执行所述计算机程序时实现上述任一种无人驾驶装置的状态监控方法。
一种计算机可读存储介质,其上存储有计算机程序,其特点在于,所述计算机程序被处理器执行时实现上述任一种无人驾驶装置的状态监控方法。
一种无人驾驶装置的状态监控系统,用于监控所述无人驾驶装置的多个被监控模块的状态,其特点在于,所述状态监控系统包括:
网络设置模块,用于设置目标网络,所述目标网络用于接收由每一所述被监控模块广播的各自的当前状态信息;
监控模块,所述监控模块包括抓取单元、整合单元以及发送单元,其中:
所述抓取单元用于从所述目标网络中抓取所述当前状态信息;
所述整合单元用于整合所述抓取单元抓取的所述当前状态信息,得到包括所有被监控模块的所述当前状态信息的整合状态信息;
所述发送单元用于向所述目标网络广播所述整合状态信息。
优选地,所述当前状态信息包括被监控模块的名称信息,所述监控模块还包括:
第一读取单元,用于读取所述抓取单元抓取的所述当前状态信息中的名称信息;
第一判断单元,用于判断所述整合状态信息中是否包括所述当前状态信息的名称信息;
若是,则所述整合单元将所述整合状态信息中包括所述名称信息的历史状态信息替换为所述当前状态信息;
若否,则所述整合单元将所述当前状态信息添加到所述整合状态信息中。
优选地,所述当前状态信息包括被监控模块的名称信息,被监控模块的运行状态信息,以及被监控模块的广播周期信息,所述监控模块还包括:
第一读取单元,用于读取所述抓取单元抓取的所述当前状态信息中的名称信息、广播周期信息;
第二判断单元,用于判断在抓取到所述当前状态信息之后的广播周期内,是否再次抓取到包括所述名称信息的当前状态信息,然后调用所述整合单元;
其中,当所述第二判断单元判断为否时,在所述整合状态信息中,所述整合单元将包括所述名称信息的历史状态信息中的运行状态信息的值更改为异常。
优选地,所述当前状态信息包括被监控模块的名称信息;
所述监控模块还包括第二读取单元,所述第二读取单元用于读取被监控模块列表,所述被监控模块列表包括用于表征被监控模块的状态的状态参数,其中,所述状态参数的初始值为未启动;
所述抓取单元则用于根据所述被监控模块列表从所述目标网络中抓取所述当前状态信息;
所述监控模块还包括第一读取单元,所述第一读取单元用于读取所述当前状态信息中的名称信息;
所述整合单元则用于在所述被监控模块列表中将所述名称信息表征的被监控模块的状态参数的值更改为启动。
优选地,所述当前状态信息还包括被监控模块的运行状态信息;
所述状态监控系统还包括第三判断单元,所述第三判断单元用于判断所述被监控模块列表中是否包括值为未启动的状态参数;
若是,则所述整合单元在所述整合状态信息中添加状态参数的值为未启动的被监控模块的当前状态信息,其中,所述当前状态信息中的运行状态信息的值为未启动。
优选地,所述监控模块还包括列表设置单元,所述列表设置单元用于向所述被监控模块列表中增加被监控模块;和/或,
从所述被监控模块列表中删除被监控模块。
优选地,所述当前状态信息包括被监控模块广播当前状态信息时的系统时间信息;和/或,
所述整合状态信息还包括所述监控模块的运行状态字段。
优选地,所述状态监控系统还包括显示模块;
所述显示模块用于直接接入或者通过外部网络间接接入所述目标网络,并从所述目标网络中抓取并显示所述整合状态信息。
本发明的积极进步效果在于:本发明采用分布式的框架结构,将被监控模块的状态信息广播到目标网络中,监控模块从目标网络中获取各被监控模块的状态信息并整合后,广播至目标网络中。从而即使监控模块崩溃,也可以通过其他方式从目标网络中获取被监控模块的状态信息。
附图说明
图1为根据本发明实施例1的无人驾驶装置的状态监控方法的部分流程图。
图2为根据本发明实施例1的无人驾驶装置的状态监控方法的部分流程图。
图3为根据本发明实施例1的无人驾驶装置的状态监控方法的部分流程图。
图4为根据本发明实施例2的电子设备的硬件结构示意图。
图5为根据本发明实施例4的无人驾驶装置的状态监控方法的部分流程图。
图6为根据本发明实施例4的无人驾驶装置的状态监控方法的部分流程图。
图7为根据本发明实施例7的无人驾驶装置的状态监控系统的模块示意图。
图8为根据本发明实施例8的无人驾驶装置的状态监控系统的模块示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供一种无人驾驶装置的状态监控方法,该状态监控方法用于监控无人驾驶装置的多个被监控模块的状态,图1示出了本实施例的部分流程图。参见图1,本实施例的状态监控方法包括:
S101、每一被监控模块向目标网络广播各自的当前状态信息;
S102、监控模块从目标网络中抓取当前状态信息;
S103、监控模块整合当前状态信息,得到包括所有被监控模块的当前状态信息的整合状态信息;
S104、监控模块向目标网络广播整合状态信息;
S105、显示模块直接接入或者通过外部网络间接接入目标网络;
S106、显示模块从目标网络中抓取并显示整合状态信息。
在本实施例中,无人驾驶装置可以包括但不限于全局路径规划模块、定位模块、任务调度模块、避障模块、传感器模块、目标检测模块等被监控模块。在步骤S101中,这些被监控模块启动后,按照各自的广播周期向目标网络广播其当前状态信息。其中,无人驾驶装置的多个被监控模块可以位于同一局域网中,在此情形下,目标网络可以是该局域网,或者是能够与该局域网通信的其他网络;无人驾驶装置的多个被监控模块也可以位于不同的网络中,在此情形下,目标网络可以分别与上述不同的网络进行通信。
具体地,当前状态信息可以包括但不限于被监控模块的名称信息(被监控模块与其名称信息是一一对应的),被监控模块广播当前状态信息时的系统时间信息(unix时间),表征被监控模块的广播周期的广播周期信息(以秒为单位),以及被监控模块的运行状态信息。其中,运行状态信息可以包括但不限于启动(标记为0)、等待任务中(标记为1)、执行任务中(标记为2)、任务执行完毕(标记为3)、未启动(标记为4)以及异常(标记为5)。
当前状态信息可以封装在一个结构体中,以全局路径规划模块为例,其名称信息为global_path_planner,系统时间信息为1509931207.262591240,广播周期信息为3s,运行状态信息为2(执行任务中),则全局路径规划模块向目标网络广播的当前状态信息可以为:
Status.name=“global_path_planner”,
Status.stamp=1509931207.262591240,
Status.tolerance=3,
Status.status=2。
在步骤S102中,监控模块启动后,按照其抓取周期从目标网络中抓取被监控模块广播的当前状态信息。
在步骤S103中,监控模块整合抓取到的当前状态信息,得到整合状态信息,并且在该整合状态信息中,还可以包括监控模块的运行状态信息,以表征监控模块当前的运行状态。
具体地,参见图2,步骤S103可以包括:
S1031、读取当前状态信息中的名称信息;
S1032、判断整合状态信息中是否包括当前状态信息的名称信息;
若是,则转至步骤S1033;若否,则转至步骤S1034;
S1033、在整合状态信息中将包括名称信息的历史状态信息替换为当前状态信息;
S1034、将当前状态信息添加到整合状态信息中。
在监控模块整合抓取到的当前状态信息之前,整合状态信息可以为空值。应当理解,由于各被监控模块的广播周期可以不同,监控模块整合当前状态信息时,广播该当前状态信息的被监控模块,其状态信息可能是第一次被整合,则可以直接将当前状态信息添加到整合状态信息中,也可能不是第一次被整合,此时整合状态信息中就存在其上一次被整合的历史状态信息,需要将整合状态信息中的历史状态信息替换成当前状态信息,以实现整合状态信息中被监控模块的状态的更新。又由于,被监控模块与名称信息是一一对应的,从而可以在步骤S1032中以名称信息为索引来判断整合状态信息中是否包括被监控模块的历史状态信息。
在步骤S104中,监控模块则按照其广播周期将整合状态信息发送至目标网络。应当理解,由于被监控模块的广播周期、监控模块的抓取周期以及广播周期的不同设置,整合状态信息中可能包括所有被监控模块的当前状态信息,也可能包括所有被监控模块中部分被监控模块的当前状态信息。
在步骤S105-106中,显示模块既可以直接从该目标网络中抓取整合状态信息并进行直观的显示,也可以间接地通过外部网络接入该目标网络,以实现整合状态信息的远程显示。
在上述运行状态信息中,被监控模块处于异常状态的判断由监控模块来完成,异常可以被定义为,监控模块抓取到来自被监控模块的状态信息后的阈值时间内,未能再次抓取到来自该被监控模块的状态信息,其中,可以将阈值时间设置为被监控模块的广播周期。从而,参见图3,本实施例的状态监控方法,在步骤S102监控模块从目标网络抓取当前状态信息之后,还可以包括以下步骤:
S107、读取当前状态信息中的名称信息、广播周期信息;
S108、判断在抓取到当前状态信息之后的广播周期内,是否再次抓取到包括名称信息的当前状态信息;
若是,则转至步骤S103;
若否,则转至步骤S103后,再转至步骤S109;
S109、在整合状态信息中,将包括名称信息的历史状态信息中的运行状态信息的值更改为异常。
如此,在步骤S109之后,步骤S104中监控模块即可向目标网络广播包含运行状态信息为异常的整合状态信息。
在本实施例中,无人驾驶装置的各被监控模块将其状态信息广播到目标网络中,由监控模块从该目标网络中抓取各被监控模块广播的当前状态信息并整合后,广播至目标网络中,以供例如显示模块等其他模块抓取。这种将各监控模块的状态信息分布式的广播到目标网络中,而非直接集中发送至监控模块的方式,使得即使监控模块崩溃异常,被监控模块的状态信息也不会丢失,可以通过其他方式从目标网络中获取被监控模块的状态信息。
实施例2
本实施例提供一种电子设备,电子设备可以通过计算设备的形式表现(例如可以为服务器设备),包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中处理器执行计算机程序时可以实现实施例1提供的无人驾驶装置的状态监控方法。
图4示出了本实施例的硬件结构示意图,如图4所示,电子设备9具体包括:
至少一个处理器91、至少一个存储器92以及用于连接不同系统组件(包括处理器91和存储器92)的总线93,其中:
总线93包括数据总线、地址总线和控制总线。
存储器92包括易失性存储器,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)923。
存储器92还包括具有一组(至少一个)程序模块924的程序/实用工具925,这样的程序模块924包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器91通过运行存储在存储器92中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1所提供的无人驾驶装置的状态监控方法。
电子设备9进一步可以与一个或多个外部设备94(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口95进行。并且,电子设备9还可以通过网络适配器96与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器96通过总线93与电子设备9的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备9使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例3
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1提供的无人驾驶装置的状态监控方法。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1中的无人驾驶装置的状态监控方法。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
实施例4
本实施例提供的无人驾驶装置的状态监控方法是对实施例1的进一步改进,在本实施例中,监控模块可以根据被监控模块列表来抓取被监控模块的当前状态信息,图5示出了本实施例的部分流程图。参见图5,本实施例的状态监控方法包括:
S110、向被监控模块列表中增加被监控模块;和/或,从被监控模块列表中删除被监控模块;
S111、读取被监控模块列表;
S1021、监控模块根据被监控模块列表从目标网络中抓取当前状态信息;
S112、读取当前状态信息中的名称信息;
S113、在被监控模块列表中将名称信息表征的被监控模块的状态参数的值更改为启动。
在本实施例中,被监控模块列表用于表征监控模块的目标对象,也即本实施例的状态监控方法的目标对象。具体地,当不再需要监控某被监控模块的状态时,可以在步骤S110从被监控模块列表中删除该被监控模块;当需要监控新的被监控模块的状态时,可以在步骤S110向被监控模块列表中增加该新的被监控模块。当然,如果不需要变更被监控模块时,可以直接跳过步骤S110。
在本实施例中,实施例1中的步骤S102具体包括步骤S1021,监控模块根据被监控模块列表来抓取被监控模块的当前状态信息。
被监控模块列表在明确监控模块的目标对象之外,还可以标记被监控模块的状态。具体地,被监控模块列表中包括用于表征被监控模块的状态的状态参数,并且该状态参数的初始值为未启动。当且仅当被监控模块正常启动,也即监控模块抓取到该被监控模块的当前状态信息时,被监控模块列表中该被监控模块的状态参数的值才会更改为启动。
根据被监控模块列表,可以判断是否被监控模块列表中的所有被监控模块都正常启动,并在整合信息中增加未启动的被监控模块的当前运行状态,以增加监控模块广播的整合状态信息的可信度和完整度。
具体的,参见图6,本实施例的状态监控方法在步骤S104监控模块向目标网络广播整合状态信息之前,还包括:
S114、判断被监控模块列表中是否包括值为未启动的状态参数;
若是,则转至步骤S115;若否,则转至步骤S104;
S115、在整合状态信息中添加状态参数的值为未启动的被监控模块的当前状态信息,其中,当前状态信息中的运行状态信息的值为未启动。
本实施例在实施例1的基础上,通过被监控模块列表实现了对被监控模块选择性的进行状态监控,提高了整合状态信息的有效性与针对性。此外,被监控模块列表的设置,还可以对被监控模块列表中是否有未启动的被监控模块进行判断,从而使得整合状态信息的可信度更高,信息也更加完善。
实施例5
本实施例提供一种电子设备,电子设备可以通过计算设备的形式表现(例如可以为服务器设备),包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中处理器执行计算机程序时可以实现实施例4提供的无人驾驶装置的状态监控方法。
实施例6
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例4提供的无人驾驶装置的状态监控方法。
实施例7
本实施例提供一种无人驾驶装置的状态监控系统,该状态监控系统用于监控无人驾驶装置的多个被监控模块的状态,图7示出了本实施例的模块示意图。参见图7,本实施例的状态监控系统包括:网络设置模块1、监控模块2以及显示模块3。
具体地,网络设置模块1用于设置目标网络,该目标网络用于接收由每一被监控模块广播的各自的当前状态信息。
在本实施例中,无人驾驶装置可以包括但不限于全局路径规划模块、定位模块、任务调度模块、避障模块、传感器模块、目标检测模块等被监控模块。这些被监控模块启动后,按照各自的广播周期向网络设置模块1设置的目标网络广播其当前状态信息。其中,无人驾驶装置的多个被监控模块可以位于同一局域网中,在此情形下,目标网络可以是该局域网,或者是能够与该局域网通信的其他网络;无人驾驶装置的多个被监控模块也可以位于不同的网络中,在此情形下,目标网络可以分别与上述不同的网络进行通信。
具体地,当前状态信息可以包括但不限于被监控模块的名称信息(被监控模块与其名称信息是一一对应的),被监控模块广播当前状态信息时的系统时间信息(unix时间),表征被监控模块的广播周期的广播周期信息(以秒为单位),以及被监控模块的运行状态信息。其中,运行状态信息可以包括但不限于启动(标记为0)、等待任务中(标记为1)、执行任务中(标记为2)、任务执行完毕(标记为3)、未启动(标记为4)以及异常(标记为5)。
当前状态信息可以封装在一个结构体中,以全局路径规划模块为例,其名称信息为global_path_planner,系统时间信息为1509931207.262591240,广播周期信息为3s,运行状态信息为2(执行任务中),则全局路径规划模块向目标网络广播的当前状态信息可以为:
Status.name=“global_path_planner”,
Status.stamp=1509931207.262591240,
Status.tolerance=3,
Status.status=2。
具体地,监控模块2包括抓取单元21、整合单元22以及发送单元23,其中:
抓取单元21用于从目标网络中抓取当前状态信息。监控模块2启动后,抓取单元21按照其抓取周期从目标网络中抓取被监控模块广播的当前状态信息。
整合单元22用于整合抓取单元抓取的当前状态信息,得到包括所有被监控模块的当前状态信息的整合状态信息。并且在该整合状态信息中,还可以包括监控模块2的运行状态信息,以表征监控模块2当前的运行状态。
发送单元23用于向目标网络广播整合状态信息。发送单元23按照其广播周期将整合状态信息发送至目标网络。应当理解,由于被监控模块的广播周期、抓取单元21的抓取周期以及发送单元23的广播周期的不同设置,整合状态信息中可能包括所有被监控模块的当前状态信息,也可能包括所有被监控模块中部分被监控模块的当前状态信息。
具体地,参见图7,本实施例的监控模块2还包括:
第一读取单元24,用于读取抓取单元21抓取的当前状态信息中的名称信息;
第一判断单元25,用于判断整合状态信息中是否包括当前状态信息的名称信息;
若是,则整合单元22将整合状态信息中包括名称信息的历史状态信息替换为当前状态信息;
若否,则整合单元22将当前状态信息添加到整合状态信息中。
在监控模块2整合抓取到的当前状态信息之前,整合状态信息可以为空值。应当理解,由于各被监控模块的广播周期可以不同,监控模块2整合当前状态信息时,广播该当前状态信息的被监控模块,其状态信息可能是第一次被整合,则可以直接将当前状态信息添加到整合状态信息中,也可能不是第一次被整合,此时整合状态信息中就存在其上一次被整合的历史状态信息,需要将整合状态信息中的历史状态信息替换成当前状态信息,以实现整合状态信息中被监控模块的状态的更新。又由于,被监控模块与名称信息是一一对应的,从而第一判断单元25可以以名称信息为索引来判断整合状态信息中是否包括被监控模块的历史状态信息。
在上述运行状态信息中,被监控模块处于异常状态的判断由监控模块2来完成,异常可以被定义为,抓取单元21抓取到来自被监控模块的状态信息后的阈值时间内,未能再次抓取到来自该被监控模块的状态信息,其中,可以将阈值时间设置为被监控模块的广播周期。从而,参见图7,本实施例的状态监控系统中,监控模块2还可以包括第二判断单元26。
具体地,第二判断单元26用于判断在抓取单元21抓取到当前状态信息之后的广播周期内,是否再次抓取到包括名称信息的当前状态信息。其中,名称信息和广播周期信息,由第一读取单元24读取抓取单元21抓取的当前状态信息而获得。当第二判断单元26判断为是时,直接调用整合单元22;当第二判断单元26判断为否时,调用整合单元22后,在整合状态信息中,整合单元22将包括名称信息的历史状态信息中的运行状态信息的值更改为异常。如此,发送单元23即可向目标网络广播包含运行状态信息为异常的整合状态信息。
显示模块3用于直接接入或者通过外部网络间接接入目标网络,并从目标网络中抓取并显示整合状态信息。也即,显示模块3既可以直接从该目标网络中抓取整合状态信息并进行直观的显示,也可以间接地通过外部网络接入该目标网络,以实现整合状态信息的远程显示。
在本实施例中,无人驾驶装置的各被监控模块将其状态信息广播到目标网络中,由监控模块从该目标网络中抓取各被监控模块广播的当前状态信息并整合后,广播至目标网络中,以供例如显示模块等其他模块抓取。这种将各监控模块的状态信息分布式的广播到目标网络中,而非直接集中发送至监控模块的方式,使得即使监控模块崩溃异常,被监控模块的状态信息也不会丢失,可以通过其他方式从目标网络中获取被监控模块的状态信息。
实施例8
本实施例提供的无人驾驶装置的状态监控系统是对实施例7的进一步改进,在本实施例中,监控模块可以根据被监控模块列表来抓取被监控模块的当前状态信息,图8示出了本实施例的模块示意图。参见图8,本实施例的状态监控系统中,监控模块2还包括列表设置单元27、第二读取单元28以及第三判读单元29。
列表设置单元27,用于向被监控模块列表中增加被监控模块;和/或,从被监控模块列表中删除被监控模块。第二读取单元27用于读取被监控模块列表,抓取单元21则用于根据被监控模块列表从目标网络中抓取当前状态信息,第一读取单元24则用于读取当前状态信息中的名称信息。
在本实施例中,被监控模块列表用于表征监控模块2的目标对象,也即本实施例的状态监控系统的目标对象。具体地,当不再需要监控某被监控模块的状态时,列表设置单元27可以从被监控模块列表中删除该被监控模块;当需要监控新的被监控模块的状态时,列表设置单元27可以向被监控模块列表中增加该新的被监控模块。当然,如果不需要变更被监控模块时,可以直接略过列表设置单元27。
被监控模块列表在明确监控模块2的目标对象之外,还可以标记被监控模块的状态。具体地,被监控模块列表中包括用于表征被监控模块的状态的状态参数,并且该状态参数的初始值为未启动。当且仅当被监控模块正常启动,也即抓取单元21抓取到该被监控模块的当前状态信息时,整合单元22将被监控模块列表中该被监控模块的状态参数的值才会更改为启动。
根据被监控模块列表,可以判断是否被监控模块列表中的所有被监控模块都正常启动,并在整合信息中增加未启动的被监控模块的当前运行状态,以增加监控模块广播的整合状态信息的可信度和完整度。
具体地,第三判断单元29用于判断被监控模块列表中是否包括值为未启动的状态参数,若判断为是,则直接调用发送单元23广播整合状态信息;若判断为否,则整合单元22在整合状态信息中添加状态参数的值为未启动的被监控模块的当前状态信息,并且,该当前状态信息中的运行状态信息的值为未启动,之后调用发送单元23广播整合状态信息。
本实施例在实施例7的基础上,通过被监控模块列表实现了对被监控模块选择性的进行状态监控,提高了整合状态信息的有效性与针对性。此外,被监控模块列表的设置,还可以对被监控模块列表中是否有未启动的被监控模块进行判断,从而使得整合状态信息的可信度更高,信息也更加完善。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。