CN114676006B - 基于动态重构的***自检方法、装置、设备及存储介质 - Google Patents

基于动态重构的***自检方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114676006B
CN114676006B CN202210274551.1A CN202210274551A CN114676006B CN 114676006 B CN114676006 B CN 114676006B CN 202210274551 A CN202210274551 A CN 202210274551A CN 114676006 B CN114676006 B CN 114676006B
Authority
CN
China
Prior art keywords
system self
self
checking
error codes
derivation rule
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
CN202210274551.1A
Other languages
English (en)
Other versions
CN114676006A (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.)
CETC 29 Research Institute
Original Assignee
CETC 29 Research Institute
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 CETC 29 Research Institute filed Critical CETC 29 Research Institute
Priority to CN202210274551.1A priority Critical patent/CN114676006B/zh
Publication of CN114676006A publication Critical patent/CN114676006A/zh
Application granted granted Critical
Publication of CN114676006B publication Critical patent/CN114676006B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/25Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种基于动态重构的***自检方法、装置、设备及存储介质,该方法包括获取历史***自检的可配置数据,生成***自检推导规则集;将***状态数据转换为若干个目标错误码,并将若干个目标错误码进行存储;当接收到***自检指令时,遍历***自检推导规则集中的每个***自检推导规则,判断当前***存储的若干个目标错误码是否满足***自检推导规则对应的错误码和逻辑关系;若满足,则输出***自检推导规则对应的故障信息。本发明通过根据历史可配置数据生成***自检推导规则集,并利用采集的***当前状态数据匹配***自检推导规则集对应的错误码,以实现动态化重构的***自检,实现***自检的可移植性、轻量化,同时提升了***自检效率。

Description

基于动态重构的***自检方法、装置、设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及到一种基于动态重构的***自检方法、装置、设备及存储介质。
背景技术
针对自检功能或故障检测功能,往往是某个项目、某型装备提出了专门的针对性要求,目前尚无行业统一的指标、规范和标准。但自检功能隐含着可靠性和维修性指标,如果软件自检功能完善,则故障容易定位和排除,能够缩短装备开发、联试和维修时间。
目前在装备的研制过程中,软件规模越来越大、交互关系越来越多、逻辑处理越来越复杂,装备的大部分功能都需要软件实现。能够快速排查***功能错误和硬件问题的自检功能变得越来越重要,但由于缺乏简单易移植的自检方案,复杂***自检难度较大,自检功能定位、隔离问题效果不明显。
传统自检方案如图1所示,主要分为数据采集、数据判断、故障检测和故障上报。
上述方案,存在问题如下:
(1)自检功能通常与设备硬件组成和工作原理强耦合,往往根据特定***进行设计,自检程序中的故障检测和故障隔离涉及复杂的判断逻辑,难以进行扩展和移植,难以实现自检功能软件的通用化;
(2)自检功能采用正向开发,需要完成所有数据采集后才能进行故障判断,自检功能在需求开发后期才能开展,难以进行快速迭代开发和验证;
(3)自检功能实现复杂度随着***故障种类增加呈指数级上升,实现难度大,由于逻辑复杂,需求变更容易导致设计大量修改,影响软件质量,维护极其困难。
(4)现有部分装备上报故障信息少,难以反映故障细节信息,导致故障信息漏报。
因此,如何实现***自检的可移植性、轻量化以及提升***自检效率,是一个亟需解决的技术问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种基于动态重构的***自检方法、装置、设备及存储介质,旨在解决目前***自检可移植性差、逻辑复杂且自检效率不高的技术问题。
为实现上述目的,本发明提供一种基于动态重构的***自检方法,所述方法包括以下步骤:
获取历史***自检的可配置数据,并根据所述可配置数据,生成***自检推导规则集;其中,所述***自检推导规则集包括若干条***自检推导规则,每条所述***自检推导规则存储有若干个错误码和每个所述错误码对应的逻辑关系;
在接收到***状态数据时,将所述***状态数据转换为若干个目标错误码,并将所述若干个目标错误码进行存储;
当接收到***自检指令时,遍历所述***自检推导规则集中的每个所述***自检推导规则,判断当前***存储的若干个目标错误码是否满足所述***自检推导规则对应的错误码和逻辑关系;
若满足,则输出所述***自检推导规则对应的故障信息。
可选的,所述***自检推导规则的表达式为:
rule={(errCode,Con)};
其中,errCode错误码,Con定义为错误码的逻辑关系。
可选的,所述逻辑关系包括关系与、关系或和关系非。
可选的,所述当接收到***自检指令时,遍历所述***自检推导规则集中的每个所述***自检推导规则,判断当前***存储的若干个目标错误码是否满足所述***自检推导规则对应的错误码和逻辑关系步骤,具体包括:
当接收到***自检指令时,遍历并提取***自检推导规则集中的一个***自检推导规则;
判断当前***存储的目标错误码是否满足所述***自检推导规则对应的错误码和逻辑关系;
若满足,输出所述***自检推导规则对应的故障信息;
若不满足,提取***自检推导规则集中的下一***自检推导规则,并执行判断当前***存储的若干个目标错误码是否满足所述***自检推导规则对应的错误码和逻辑关系步骤,直至***自检推导规则集中的***自检推导规则遍历完成。
可选的,所述判断当前***存储的若干个目标错误码是否满足所述***自检推导规则对应的错误码和逻辑关系,具体为:
若***自检推导规则的错误码满足匹配条件,则判断当前***存储的若干个目标错误码满足所述***自检推导规则对应的错误码和逻辑关系;
其中,匹配条件为逻辑与对应的错误码在若干个目标错误码中能够匹配,逻辑非对应的错误码在若干个目标错误码中不能匹配,且逻辑或对应的错误码在若干个目标错误码中能够匹配或不能匹配。
可选的,所述***状态数据包括软件运行状态数据和/或硬件运行状态数据,所述错误码包括软件模块号、硬件模块号、对象类型、对象编号、自定义字段、错误提示和错误类型中的一种或多种。
可选的,所述将所述目标错误码进行存储采用红黑树或Hash表的数据结构进行存储。
此外,为了实现上述目的,本发明还提供了一种基于动态重构的***自检装置,所述基于动态重构的***自检装置包括:
生成模块,用于获取历史***自检的可配置数据,并根据所述可配置数据,生成***自检推导规则集;其中,所述***自检推导规则集包括若干条***自检推导规则,每条所述***自检推导规则存储有若干个错误码和每个所述错误码对应的逻辑关系;
转换模块,用于在接收到***状态数据时,将所述***状态数据转换为若干个目标错误码,并将所述若干个目标错误码进行存储;
判断模块,用于当接收到***自检指令时,遍历所述***自检推导规则集中的每个所述***自检推导规则,判断当前***存储的若干个目标错误码是否满足所述***自检推导规则对应的错误码和逻辑关系;
输出模块,用于若满足,则输出所述***自检推导规则对应的故障信息。
此外,为了实现上述目的,本发明还提供了一种基于动态重构的***自检设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于动态重构的***自检程序,所述基于动态重构的***自检程序被所述处理器执行时实现上述的基于动态重构的***自检方法的步骤。
此外,为了实现上述目的,本发明还提供了一种存储介质,所述存储介质上存储有基于动态重构的***自检程序,所述基于动态重构的***自检程序被处理器执行时实现上述的基于动态重构的***自检方法的步骤。
本发明的提出具有如下有益效果:
自检功能快速移植:通过组件化的设计方法,将自检功能同具体装备的硬件组成和工作原理解耦,该方法支持在不同***、不同设备快速移植,通用性较强。
自检功能快速重构:通过推导规则可配置设计,在自检对象和自检规则变更时,不需要改变***架构和算法,只修改配置数据即可适应需求变化,扩展性较强。
自检功能设计简化:根据某条推导规则判断***故障时,只关心本条规则涉及的错误码的逻辑“与”和逻辑“非”条件,忽略逻辑“或”条件,不需要收集所有对象的状态,因此在功能开发前期就可以开展自检开发和验证,不断迭代。
自检开发效率提升:通过错误码抽象,将故障判别逻辑同具体软硬件状态隔离,能支持各种软件、硬件的多种错误状态表示,各***派生该方法时,只需要完成错误码生成、上报功能开发,其它功能可以完全复用,提升开发效率和质量。
附图说明
图1为传统***自检的原理示意图;
图2为本发明实施例中基于动态重构的***自检设备的结构示意图;
图3为本发明实施例中基于动态重构的***自检方法的流程示意图;
图4为本发明实施例中基于动态重构的***自检的原理示意图;
图5为本发明实施例中目标错误码存储的示意图;
图6为本发明实施例中基于动态重构的***自检装置的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
首先,在介绍本申请实施例之前,先介绍下本申请实施例关于应用背景的相关内容。
针对自检功能或故障检测功能,往往是某个项目、某型装备提出了专门的针对性要求,目前尚无行业统一的指标、规范和标准。但自检功能隐含着可靠性和维修性指标,如果软件自检功能完善,则故障容易定位和排除,能够缩短装备开发、联试和维修时间。
目前在装备的研制过程中,软件规模越来越大、交互关系越来越多、逻辑处理越来越复杂,装备的大部分功能都需要软件实现。能够快速排查***功能错误和硬件问题的自检功能变得越来越重要,但由于缺乏简单易移植的自检方案,复杂***自检难度较大,自检功能定位、隔离问题效果不明显。
传统自检方案如图1所示,主要分为数据采集、数据判断、故障检测和故障上报。
上述方案,存在问题如下:自检功能通常与设备硬件组成和工作原理强耦合,往往根据特定***进行设计,自检程序中的故障检测和故障隔离涉及复杂的判断逻辑,难以进行扩展和移植,难以实现自检功能软件的通用化;自检功能采用正向开发,需要完成所有数据采集后才能进行故障判断,自检功能在需求开发后期才能开展,难以进行快速迭代开发和验证;自检功能实现复杂度随着***故障种类增加呈指数级上升,实现难度大,由于逻辑复杂,需求变更容易导致设计大量修改,影响软件质量,维护极其困难。现有部分装备上报故障信息少,难以反映故障细节信息,导致故障信息漏报。
因此,如何实现***自检的可移植性、轻量化以及提升***自检效率,是一个亟需解决的技术问题。
为了解决这一问题,提出本发明的基于动态重构的***自检方法的各个实施例。本发明提供的基于动态重构的***自检方法通过获取历史***自检的可配置数据,生成***自检推导规则集;将***状态数据转换为若干个目标错误码,并将若干个目标错误码进行存储;当接收到***自检指令时,遍历***自检推导规则集中的每个***自检推导规则,判断当前***存储的若干个目标错误码是否满足***自检推导规则对应的错误码和逻辑关系;若满足,则输出***自检推导规则对应的故障信息。本发明通过根据历史可配置数据生成***自检推导规则集,并利用采集的***当前状态数据匹配***自检推导规则集对应的错误码,以实现动态化重构的***自检,实现***自检的可移植性、轻量化,同时提升了***自检效率。
参照图2,图2为本发明实施例方案涉及的基于动态重构的***自检设备的结构示意图。
设备可以是设置于飞机上的移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)等用户设备(User Equipment,UE)、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备、移动台(Mobilestation,MS)等。设备可能被称为用户终端、便携式终端、台式终端等。
通常,设备包括:至少一个处理器301、存储器302以及存储在所述存储器上并可在所述处理器上运行的基于动态重构的***自检程序,所述基于动态重构的***自检程序配置为实现如前所述的基于动态重构的***自检方法的步骤。
处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。处理器301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关基于动态重构的***自检操作,使得基于动态重构的***自检模型可以自主训练学习,提高效率和准确度。
存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的基于动态重构的***自检方法。
在一些实施例中,终端还可选包括有:通信接口303和至少一个***设备。处理器301、存储器302和通信接口303之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与通信接口303相连。具体地,***设备包括:射频电路304、显示屏305和电源306中的至少一种。
通信接口303可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器301和存储器302。通信接口303通过***设备用于接收用户上传的多个移动终端的移动轨迹以及其他数据。在一些实施例中,处理器301、存储器302和通信接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和通信接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路304通过电磁信号与通信网络以及其他通信设备进行通信,从而可获取多个移动终端的移动轨迹以及其他数据。射频电路304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路304包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(WirelessFidelity,无线保真)网络。在一些实施例中,射频电路304还可以包括NFC(Near FieldCommunication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏305是触摸显示屏时,显示屏305还具有采集在显示屏305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器301进行处理。此时,显示屏305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏305可以为一个,电子设备的前面板;在另一些实施例中,显示屏305可以为至少两个,分别设置在电子设备的不同表面或呈折叠设计;在再一些实施例中,显示屏305可以是柔性显示屏,设置在电子设备的弯曲表面上或折叠面上。甚至,显示屏305还可以设置成非矩形的不规则图形,也即异形屏。显示屏305可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
电源306用于为电子设备中的各个组件进行供电。电源306可以是交流电、直流电、一次性电池或可充电电池。当电源306包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图2中示出的结构并不构成对基于动态重构的***自检设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例提供了一种基于动态重构的***自检方法,参照图3,图3为本发明基于动态重构的***自检方法的实施例的流程示意图。
本实施例中,所述基于动态重构的***自检方法包括以下步骤:
步骤S100,获取历史***自检的可配置数据,并根据所述可配置数据,生成***自检推导规则集;其中,所述***自检推导规则集包括若干条***自检推导规则,每条所述***自检推导规则存储有若干个错误码和每个所述错误码对应的逻辑关系。
具体而言,在实际应用中,获取历史***自检的可配置数据可通过从具体项目、具体工作原理中剥离故障判断规则,并将故障判断规则转换为可配置数据。在此之后,对可配置数据进行读取和解析,获得***自检推导规则集。
进一步的,逻辑关系包括关系与、关系或和关系非;每条所述***自检推导规则可表示为rule={(errCode,Con)},errCode错误码,Con定义为错误码的逻辑关系{与、或、非}。
步骤S200,在接收到***状态数据时,将所述***状态数据转换为若干个目标错误码,并将所述若干个目标错误码进行存储。
具体而言,在生成***自检推导规则集后,对***运行状态进行监测,获取***状态数据,并将***状态数据换换位若干个目标错误码,同时,对若干个目标错误码进行存储。
在本实施例中,***状态数据包括软件运行状态数据和/或硬件运行状态数据,所述错误码包括软件模块号、硬件模块号、对象类型、对象编号、自定义字段、错误提示和错误类型中的一种或多种。
在对若干个目标错误码进行存储时,可采用红黑树或Hash表的数据结构进行存储。
步骤S300,当接收到***自检指令时,遍历所述***自检推导规则集中的每个所述***自检推导规则,判断当前***存储的若干个目标错误码是否满足所述***自检推导规则对应的错误码和逻辑关系。
具体而言,当接收到***自检指令时,遍历并提取***自检推导规则集中的一个***自检推导规则;判断当前***存储的目标错误码是否满足所述***自检推导规则对应的错误码和逻辑关系;若满足,输出所述***自检推导规则对应的故障信息;若不满足,提取***自检推导规则集中的下一***自检推导规则,并执行判断当前***存储的若干个目标错误码是否满足所述***自检推导规则对应的错误码和逻辑关系步骤,直至***自检推导规则集中的***自检推导规则遍历完成。
在本实施例中,判断当前***存储的若干个目标错误码是否满足所述***自检推导规则对应的错误码和逻辑关系,可通过判断:若***自检推导规则的错误码满足匹配条件,则判断当前***存储的若干个目标错误码满足所述***自检推导规则对应的错误码和逻辑关系。
容易理解的,在本实施例中,匹配条件为逻辑与对应的错误码在若干个目标错误码中能够匹配,逻辑非对应的错误码在若干个目标错误码中不能匹配,且逻辑或对应的错误码在若干个目标错误码中能够匹配或不能匹配。
步骤S400,若满足,则输出所述***自检推导规则对应的故障信息。
具体而言,在遍历***自检推导规则集中的每个***自检推导规则,以判断当前***存在的目标错误码是否满足了***自检推导规则的要求后,可根据判断结果获得***当前是否具有故障。
即若当前***的状态数据对应的目标错误码与***自检推导规则中的错误码和逻辑关系匹配,则判断当前***具有该***自检推导规则对应的故障,此时输出该故障信息,在输出全部故障信息后,完成当前***的自检过程。
为了便于理解,本实施例提出基于动态重构的***自检方法的具体实例,具体如下:
参照图4,图4给出了本实施例基于动态重构的***自检的原理图。实现本申请基于动态重构的***自检方法,可通过规则配置数据获取、推导规则管理、错误码生成、错误码管理和基于推导规则的故障检测等模块实现。
各模块功能和设计简述如下。
1、规则配置数据获取模块:
将故障判断规则从具体项目、具体工作原理中剥离,设计为可配置数据。可配置数据形式包括但不限于配置文件和数据库。***初始化时,完成配置数据读取和解析。配置的规则表示为rule={(errCode,Con)},errCode错误码,Con定义为错误码的逻辑关系{与、或、非}。规则配置数据设计约束如下:
(1)支持多条规则配置;
(2)每条规则配置的错误码个数可变;
(3)每条规则配置的各错误码,推导时支持逻辑关系与、或、非,与或非代码含义如下:
与:表示查询时,错误码必须在错误码管理模块中存在;
或:表示查询时,错误码可以存在也可以不存在;
非:表示查询时,错误码管理模块不存在该错误码。
(4)每条规则里配置的错误码支持嵌套,用以生成复杂的逻辑关系。
(5)规则在上电时自动读取,且支持动态修改;
(6)根据每条推导规则的结果,完成故障检测和上报。
2、推导规则管理模块:
将配置的规则数据进行统一管理,对上层故障检测模块提供接口,获取配置的推导规则。支持接口如下:
(1)推导规则查询,包括数量、内容;
(2)推导规则修改;
(3)推导规则***;
(4)推导规则删除。
3、错误码生成模块:
错误码生成过程中,各软件、硬件模块独立生成错误码,为区分不同软件、不同模块的错误类型,可以用32bit或64bit整形表示。不同模块的不同错误类型生成的错误码不能重复,必须保证全局唯一,错误码定义应包含如下内容:
(1)软件模块号:可区分不同软件或软件内不同子模块;
(2)对象类型:例如硬件模块、软件模块或某功能项等;
(3)对象编号:用以区分同一对象类型的不同实例;
(4)自定义字段:用以补充本编码方案不能唯一区分的内容;
(5)错误指示:表示该错误码值是否有异常,用于故障检测快速判断;
(6)错误类型:例如温度异常、电压异常和电流异常等。
该种编码方式避免了很多传统自检方案只能区分对错,但不能展示具体错误类型的弊端,根据错误类型,开发维护人员可快速定位错误原因。
错误码生成模块支持接口如下:
(1)错误码创建;
(2)错误码上报。
4、错误码管理模块:
错误码生成后,通过统一接口,将错误码上报至错误码管理模块。为实现错误码的快速查询,采用包括但不限于红黑树和Hash表等数据结构进行管理。若***设计复杂,需管理的错误码巨大,可采集B_Tree、B+_Tree数据结构进行管理。错误码管理模块需支持如下接口:
(1)错误码查询,包括数量、定义等;
(2)错误码***;
(3)错误码删除;
(4)错误码清空。
在一些实施例中,错误码管理模块中,采用红黑树数据结构管理错误码,实现故障推导时的错误码快速查询。典型的平衡二叉树数据结构如图5所示。
实现该方法时,各软件模块收集数据后,不直接上报状态数据给故障检测模块,各软件模块独立生成错误码上报给错误码管理模块,错误码管理模块缓存所有错误码,每当有错误码新增或删除时,遍历推导规则库,从推导规则库定义的规则完成故障检测,该方法将原有复杂的硬编码完成故障判别方式,变为根据配置规则进行推导,固化故障检测算法,避免频繁修改故障判别逻辑,该方法易于测试、修改和升级维护。
5、基于推导规则的故障检测模块:
在进行故障检测时,根据各模块上报的错误码和配置的规则推导故障,完成故障上报。完成一次***故障检测时,遍历所有推导规则,根据每条规则推导故障时,需遍历该条规则里的所有错误码及逻辑关系,算法描述如下。
(a)从推导规则库管理模块,取出1条推导规则;
(b)根据推导规则里的错误码,在错误码管理模块里查询对应错误码,对不同逻辑关系决策如下:
逻辑关系为与,错误码管理模块必须能查询到该错误码,返回(a)判断本条规则的下一个错误码;否则不能推导出本条规则的结果,返回(a),判断下一条规则;
逻辑关系为或,由于或表示错误码可存在,也可不存在,遇到判断条件为或时,直接忽略,不影响最终推导结果,返回(b)判断本条规则的下一个错误码;
逻辑关系为非,错误码管理模块不能查询到该错误码,返回(b)判断本条规则的下一个错误码;否则不能推导出本条规则的结果,返回(a),判断下一条规则。
在本实施例中,提供了一种基于动态重构的***自检方法,该方法包括获取历史***自检的可配置数据,生成***自检推导规则集;将***状态数据转换为若干个目标错误码,并将若干个目标错误码进行存储;当接收到***自检指令时,遍历***自检推导规则集中的每个***自检推导规则,判断当前***存储的若干个目标错误码是否满足***自检推导规则对应的错误码和逻辑关系;若满足,则输出***自检推导规则对应的故障信息。本发明通过根据历史可配置数据生成***自检推导规则集,并利用采集的***当前状态数据匹配***自检推导规则集对应的错误码,以实现动态化重构的***自检,实现***自检的可移植性、轻量化,同时提升了***自检效率。
参照图6,图6为本发明基于动态重构的***自检装置实施例的结构框图。
如图6所示,本发明实施例提出的基于动态重构的***自检装置包括:
生成模块10,用于获取历史***自检的可配置数据,并根据所述可配置数据,生成***自检推导规则集;其中,所述***自检推导规则集包括若干条***自检推导规则,每条所述***自检推导规则存储有若干个错误码和每个所述错误码对应的逻辑关系;
转换模块20,用于在接收到***状态数据时,将所述***状态数据转换为若干个目标错误码,并将所述若干个目标错误码进行存储;
判断模块30,用于当接收到***自检指令时,遍历所述***自检推导规则集中的每个所述***自检推导规则,判断当前***存储的若干个目标错误码是否满足所述***自检推导规则对应的错误码和逻辑关系;
输出模块40,用于若满足,则输出所述***自检推导规则对应的故障信息。
本发明基于动态重构的***自检装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于动态重构的***自检程序,所述基于动态重构的***自检程序被处理器执行时实现如上文所述的基于动态重构的***自检方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。确定为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

Claims (8)

1.一种基于动态重构的***自检方法,其特征在于,所述方法包括以下步骤:
获取历史***自检的可配置数据,并根据所述可配置数据,生成***自检推导规则集;其中,所述***自检推导规则集包括若干条***自检推导规则,每条所述***自检推导规则存储有若干个错误码和每个所述错误码对应的逻辑关系;所述***自检推导规则的表达式为:rule={(errCode,Con)};其中,errCode错误码,Con定义为错误码的逻辑关系;
在接收到***状态数据时,将所述***状态数据转换为若干个目标错误码,并将所述若干个目标错误码进行存储;
当接收到***自检指令时,遍历所述***自检推导规则集中的每个所述***自检推导规则,若***自检推导规则的错误码满足匹配条件,则判断当前***存储的若干个目标错误码满足所述***自检推导规则对应的错误码和逻辑关系;其中,匹配条件为逻辑与对应的错误码在若干个目标错误码中能够匹配,逻辑非对应的错误码在若干个目标错误码中不能匹配,且逻辑或对应的错误码在若干个目标错误码中能够匹配或不能匹配;
若满足,则输出所述***自检推导规则对应的故障信息;
若不满足,提取***自检推导规则集中的下一***自检推导规则,并执行判断当前***存储的若干个目标错误码是否满足所述***自检推导规则对应的错误码和逻辑关系步骤,直至***自检推导规则集中的***自检推导规则遍历完成。
2.如权利要求1所述的基于动态重构的***自检方法,其特征在于,所述逻辑关系包括关系与、关系或和关系非。
3.如权利要求2所述的基于动态重构的***自检方法,其特征在于,所述当接收到***自检指令时,遍历所述***自检推导规则集中的每个所述***自检推导规则,判断当前***存储的若干个目标错误码是否满足所述***自检推导规则对应的错误码和逻辑关系步骤,具体包括:
当接收到***自检指令时,遍历并提取***自检推导规则集中的一个***自检推导规则;
判断当前***存储的目标错误码是否满足所述***自检推导规则对应的错误码和逻辑关系;
若满足,输出所述***自检推导规则对应的故障信息。
4.如权利要求1所述的基于动态重构的***自检方法,其特征在于,所述***状态数据包括软件运行状态数据和/或硬件运行状态数据,所述错误码包括软件模块号、硬件模块号、对象类型、对象编号、自定义字段、错误提示和错误类型中的一种或多种。
5.如权利要求1所述的基于动态重构的***自检方法,其特征在于,将目标错误码进行存储采用红黑树或Hash表的数据结构进行存储。
6.一种基于动态重构的***自检装置,其特征在于,所述基于动态重构的***自检装置包括:
生成模块,用于获取历史***自检的可配置数据,并根据所述可配置数据,生成***自检推导规则集;其中,所述***自检推导规则集包括若干条***自检推导规则,每条所述***自检推导规则存储有若干个错误码和每个所述错误码对应的逻辑关系;所述***自检推导规则的表达式为:rule={(errCode,Con)};其中,errCode错误码,Con定义为错误码的逻辑关系;
转换模块,用于在接收到***状态数据时,将所述***状态数据转换为若干个目标错误码,并将所述若干个目标错误码进行存储;
判断模块,用于当接收到***自检指令时,遍历所述***自检推导规则集中的每个所述***自检推导规则,若***自检推导规则的错误码满足匹配条件,则判断当前***存储的若干个目标错误码满足所述***自检推导规则对应的错误码和逻辑关系;其中,匹配条件为逻辑与对应的错误码在若干个目标错误码中能够匹配,逻辑非对应的错误码在若干个目标错误码中不能匹配,且逻辑或对应的错误码在若干个目标错误码中能够匹配或不能匹配;
输出模块,用于若满足,则输出所述***自检推导规则对应的故障信息;用于若不满足,提取***自检推导规则集中的下一***自检推导规则,并执行判断当前***存储的若干个目标错误码是否满足所述***自检推导规则对应的错误码和逻辑关系步骤,直至***自检推导规则集中的***自检推导规则遍历完成。
7.一种基于动态重构的***自检设备,其特征在于,所述基于动态重构的***自检设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于动态重构的***自检程序,所述基于动态重构的***自检程序被所述处理器执行时实现如权利要求1至5中任一项所述的基于动态重构的***自检方法的步骤。
8.一种存储介质,其特征在于,所述存储介质上存储有基于动态重构的***自检程序,所述基于动态重构的***自检程序被处理器执行时实现如权利要求1至5中任一项所述的基于动态重构的***自检方法的步骤。
CN202210274551.1A 2022-03-18 2022-03-18 基于动态重构的***自检方法、装置、设备及存储介质 Active CN114676006B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210274551.1A CN114676006B (zh) 2022-03-18 2022-03-18 基于动态重构的***自检方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210274551.1A CN114676006B (zh) 2022-03-18 2022-03-18 基于动态重构的***自检方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114676006A CN114676006A (zh) 2022-06-28
CN114676006B true CN114676006B (zh) 2023-03-31

Family

ID=82073778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210274551.1A Active CN114676006B (zh) 2022-03-18 2022-03-18 基于动态重构的***自检方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114676006B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116930727B (zh) * 2023-09-18 2023-11-28 北京怀美科技有限公司 基于电路板的芯片检测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546507A (en) * 1993-08-20 1996-08-13 Unisys Corporation Apparatus and method for generating a knowledge base
CN109844867A (zh) * 2016-10-14 2019-06-04 3M创新有限公司 用于个人防护设备的自检
CN112085588A (zh) * 2020-09-02 2020-12-15 支付宝(杭州)信息技术有限公司 规则模型的安全性的确定方法、装置和数据处理方法
CN113485939A (zh) * 2021-07-27 2021-10-08 芜湖雄狮汽车科技有限公司 软件***错误码管理方法、装置、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546507A (en) * 1993-08-20 1996-08-13 Unisys Corporation Apparatus and method for generating a knowledge base
CN109844867A (zh) * 2016-10-14 2019-06-04 3M创新有限公司 用于个人防护设备的自检
CN112085588A (zh) * 2020-09-02 2020-12-15 支付宝(杭州)信息技术有限公司 规则模型的安全性的确定方法、装置和数据处理方法
CN113485939A (zh) * 2021-07-27 2021-10-08 芜湖雄狮汽车科技有限公司 软件***错误码管理方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Built-In-Self-Test Methodology for Hardwares of Dynamically Reconfigurable Computer;Qizhong Zhou等;《2011 2nd Intl Conf on Innovative Computing & Communication and 2010 Asia-Pacific Conf on Information Technology & Ocean Engineering》;第234-237页 *

Also Published As

Publication number Publication date
CN114676006A (zh) 2022-06-28

Similar Documents

Publication Publication Date Title
US20220374238A1 (en) Operator registration method and apparatus for deep learning framework, device and storage medium
CN114676006B (zh) 基于动态重构的***自检方法、装置、设备及存储介质
CN112350872B (zh) 网络架构配置信息生成方法、装置、存储介质及电子设备
CN104166704A (zh) 一种屏蔽异构数据源的方法及装置
CN109634644A (zh) 通过无线通信为传感器进行固件升级的方法及其设备
CN102024067A (zh) 一种模拟电路工艺移植的方法
CN110109893A (zh) 数据建模和操作的方法和装置
CN116126478B (zh) 接口控制文档的生成方法、装置、设备及介质
CN109726213B (zh) 一种程序代码转换方法、装置、介质和计算设备
CN117170655A (zh) 一种元数据处理方法、装置、数据处理设备及存储介质
CN104615539A (zh) 一种测试参数的处理方法和***
CN115982218A (zh) 一种稽查痕迹的记录方法和装置
CN101426220A (zh) 一种基站割接的方法、装置及***
CN114138679A (zh) 测试数据构造方法、装置、计算机可读介质及电子设备
CN105518672A (zh) 跨多个模型的数据检索
US11023361B1 (en) Intelligent automated way of baselining integration content using messages from historical tests to be used for regression testing
CN114708487A (zh) 应用大数据的物流配送业务信息分析方法及服务器
CN208421584U (zh) 一种注塑采集终端
WO2023279752A1 (zh) 数据库模型的版本管理方法、装置及相关设备
CN112449354A (zh) 基站站型替换方法、装备及sdr网管***
CN110175116B (zh) 一种测试日期切换方法、装置及***
CN109002984A (zh) 数字资产的管理方法、装置、介质和计算设备
CN111190802B (zh) 一种自动生成性能测试配置的方法
CN108459940A (zh) 应用性能管理***的配置信息修改方法、装置及电子设备
US20240250869A1 (en) Intelligent automated way of creating mapping programs using historical messages

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
GR01 Patent grant
GR01 Patent grant