CN116541227A - 故障诊断方法、装置、存储介质、电子装置及bmc芯片 - Google Patents
故障诊断方法、装置、存储介质、电子装置及bmc芯片 Download PDFInfo
- Publication number
- CN116541227A CN116541227A CN202310819198.5A CN202310819198A CN116541227A CN 116541227 A CN116541227 A CN 116541227A CN 202310819198 A CN202310819198 A CN 202310819198A CN 116541227 A CN116541227 A CN 116541227A
- Authority
- CN
- China
- Prior art keywords
- operating system
- real
- time operating
- fault
- fault information
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000003745 diagnosis Methods 0.000 title claims abstract description 75
- 230000015654 memory Effects 0.000 claims abstract description 126
- 238000004891 communication Methods 0.000 claims abstract description 36
- 238000004458 analytical method Methods 0.000 claims abstract description 30
- 238000013500 data storage Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 4
- 230000005059 dormancy Effects 0.000 claims description 4
- 230000002618 waking effect Effects 0.000 claims description 2
- 230000003993 interaction Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000013468 resource allocation Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2289—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请实施例提供了一种故障诊断方法、装置、存储介质、电子装置及BMC芯片,其中,故障诊断方法包括:非实时操作系统在检测到服务器故障的情况下,通过核间通信的方式将故障信息收集请求发送至实时操作系统,其中,非实时操作系统和实时操作系统在处理器上运行,并共享处理器的内存;实时操作系统接收到故障信息收集请求后,收集故障信息,并通过核间通信的方式将故障信息发送至非实时操作系统;非实时操作系统分析故障信息得到故障分析结果,并输出故障分析结果。通过本申请,解决了相关技术中BMC的故障诊断任务的执行效率低,且故障诊断任务的执行影响其他任务的执行效率的问题。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种故障诊断方法、装置、存储介质、电子装置及BMC芯片。
背景技术
随着人工智能、物联网、大数据应用的普及,对服务器的需求也在不断提高,同时服务器的保有量不断提升,上层业务的复杂度不断提高,服务器不可避免的会出现各种故障问题,因而,需要对服务器进行故障诊断。
相关技术中通过BMC(Baseboard Management Controller,基板控制器)进行服务器故障诊断,当BMC检测到服务器发生故障,读取服务器的故障信息,分析故障信息得到故障分析结果,输出故障分析结果并通知用户。
需要说明的是,为了准确分析出故障结果,需要读取的故障信息会比较多,一个CPU(Central Processing Unit, 中央处理单元)的情况下可能要读取上千个寄存器的值,在服务器有多个CPU的情况下需要收集的故障信息更多,收集故障信息的时间很长,可能降低系统中其他的任务执行效率。
针对相关技术中BMC的故障诊断任务的执行效率低,且故障诊断任务的执行影响其他任务的执行效率的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种故障诊断方法、装置、存储介质、电子装置及BMC芯片,以至少解决相关技术中BMC的故障诊断任务的执行效率低,且故障诊断任务的执行影响其他任务的执行效率的问题。
根据本申请的一个实施例,提供了一种故障诊断方法,包括:非实时操作系统在检测到服务器故障的情况下,通过核间通信的方式将故障信息收集请求发送至实时操作系统,其中,非实时操作系统和实时操作系统在处理器上运行,并共享处理器的内存;实时操作系统接收到故障信息收集请求后,收集故障信息,并通过核间通信的方式将故障信息发送至非实时操作系统;非实时操作系统分析故障信息得到故障分析结果,并输出故障分析结果。
在一个示例性实施例中,实时操作系统接收到故障信息收集请求后,收集故障信息包括:实时操作系统通过模拟的平台环境式控制接口协议收集故障信息。
在一个示例性实施例中,实时操作系统通过模拟的平台环境式控制接口协议收集故障信息包括:实时操作系统确定故障信息收集请求对应的多个逻辑位信息,根据多个逻辑位信息和定时器生成故障信息收集请求对应的平台环境式控制接口信号;通过可编程逻辑器件对平台环境式控制接口信号进行转换,得到转换后的平台环境式控制接口信号;通过可编程逻辑器件将转换后的平台环境式控制接口信号输出至CPU,读取CPU的故障寄存器的值,得到故障信息,其中,转换后的平台环境式控制接口信号满足平台环境式控制接口协议要求。
在一个示例性实施例中,根据多个逻辑位信息和定时器生成故障信息收集请求对应的平台环境式控制接口信号包括:根据多个逻辑位信息确定定时器对应的重装载值和初次匹配值,根据重装载值和初次匹配值生成故障信息收集对应的平台环境式控制接口信号。
在一个示例性实施例中,可编程逻辑器件包括第一端口和第二端口,可编程逻辑器件通过第一端口接收实时操作系统发送的平台环境式控制接口信号,可编程逻辑器件通过第二端口将转换后的平台环境式控制接口信号发送至CPU,CPU通过平台环境式控制接口接收转换后的平台环境式控制接口信号。
在一个示例性实施例中,非实时操作系统在检测到服务器故障的情况下,通过核间通信的方式将故障信息收集请求发送至实时操作系统包括:非实时操作系统确定服务器故障的故障类型,并根据故障类型构造故障信息收集请求;非实时操作系统将故障信息收集请求存储至内存中,并触发第一中断通知消息至实时操作系统;实时操作系统收到第一中断通知消息后,在内存中读取第一中断通知消息指示的数据。
在一个示例性实施例中,通过核间通信的方式将故障信息发送至非实时操作系统包括:实时操作系统将故障信息存储至内存中,并触发第二中断通知消息至非实时操作系统;非实时操作系统收到第二中断通知消息后,向非实时操作系统发送应答信息,并在内存中读取故障信息。
在一个示例性实施例中,在非实时操作系统确定服务器故障的故障类型,并根据故障类型构造故障信息收集请求之前,该方法还包括:启动故障诊断进程;非实时操作系统在接收到应答信息的情况下,对故障诊断进程执行休眠操作;非实时操作系统接收到实时操作系统发送的故障信息的情况下,唤醒故障诊断进程,并读取故障信息。
在一个示例性实施例中,非实时操作系统通过软件中断的方式向实时操作系统发送第一中断通知消息,实时操作系统通过软件中断的方式向非实时操作系统发送第二中断通知消息。
在一个示例性实施例中,内存中包含数据存储区和元数据存储区,数据存储区被划分为多个存储单元,每个存储单元用于存储业务数据,元数据存储区用于存储数据存储区的各个存储单元的大小以及被占用状态,非实时操作系统将故障信息收集请求存储至内存中包括:非实时操作系统读取元数据存储区中的记录,根据读取的记录确定数据存储区中处于空闲状态、总空间大于等于故障信息收集请求的长度的至少一个存储单元,得到目标虚拟通道;将元数据存储区中目标虚拟通道对应的至少一个存储单元的状态设置为被占用状态,并将故障信息收集请求存储在目标虚拟通道。
在一个示例性实施例中,数据存储区中包含多个内存通道,每个内存通道由一个或多个存储单元构成,元数据存储区存储有多条记录,每条记录用于记录一个内存通道的元数据,每个内存通道的元数据至少包含内存通道的通道ID、内存通道的大小、内存通道的被占用状态,非实时操作系统读取元数据存储区中的记录,根据读取的记录确定数据存储区中处于空闲状态、总空间大于等于故障信息收集请求的长度的至少一个存储单元,得到目标虚拟通道包括:遍历元数据存储区存储的记录,判断是否存在指示内存通道处于空闲状态、且内存通道的大小大于等于故障信息收集请求的长度的第一目标记录;在存在第一目标记录的情况下,将第一目标记录中记录的通道ID指示的内存通道确定为目标虚拟通道。
在一个示例性实施例中,元数据存储区存储有映射表,映射表中有多条记录,每条记录用于记录一个存储单元的被占用状态,非实时操作系统读取元数据存储区中的记录,根据读取的记录确定数据存储区中处于空闲状态、总空间大于等于故障信息收集请求的长度的至少一个存储单元,得到目标虚拟通道包括:确定故障信息收集请求待占用的存储单元的预设数量;从映射表的初始位置依次扫描每条记录;在扫描到连续的预设数量的目标记录的情况下,确定预设数量的目标记录指示的连续存储单元,其中,目标记录表征存储单元处于空闲状态;将连续存储单元确定为目标虚拟通道。
根据本申请的另一个实施例,提供了一种嵌入式系统,包括:芯片、至少两个操作系统,其中,芯片包括处理器,至少两个操作系统包括实时操作系统和非实时操作系统;至少两个操作系统基于处理器运行,至少两个操作系统实现上述故障诊断方法。
在一个示例性实施例中,实时操作系统还用于在接收到故障信息收集请求后,确定故障信息收集请求对应的多个逻辑位信息,根据多个逻辑位信息和定时器生成故障信息收集对应的平台环境式控制接口信号,并通过平台环境式控制接口信号收集故障信息。
在一个示例性实施例中,实时操作系统还用于根据多个逻辑位信息确定定时器对应的重装载值和初次匹配值,根据重装载值和初次匹配值生成故障信息收集对应的平台环境式控制接口信号。
根据本申请的另一个实施例,提供了一种故障诊断装置,包括:检测单元,用于在非实时操作系统检测到服务器故障的情况下,通过核间通信的方式将故障信息收集请求发送至实时操作系统,其中,非实时操作系统和实时操作系统在处理器上运行,并共享处理器的内存;收集单元,用于在实时操作系统接收到故障信息收集请求后,收集故障信息,并通过核间通信的方式将故障信息发送至非实时操作系统;分析单元,用于通过非实时操作系统分析故障信息得到故障分析结果,并输出故障分析结果。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述方法实施例中的步骤。
根据本申请的另一个实施例,提供了一种BMC芯片,包括:存储单元以及与存储单元连接的处理单元,存储单元用于存储程序,处理单元用于运行程序,以执行上述方法实施例中的步骤。
根据本申请的另一个实施例,提供了一种主板,包括:至少一个处理器;至少一个存储器,用于存储至少一个程序;当至少一个程序被至少一个处理器执行,使得至少一个处理器实现上述方法实施例中的步骤。
通过本申请,采用非实时操作系统检测服务器故障,并将故障信息收集请求发送至实时操作系统,通过实时操作系统执行收集故障信息的任务,并将收集到的故障信息发送至非实时操作系统,非实时操作系统进行故障分析,由于将收集故障信息的功能由非实时操作系统移植至实时操作系统,提高了收集故障信息的效率,同时释放了非实时操作系统的资源,因此,可以解决相关技术中BMC的故障诊断任务的执行效率低,且故障诊断任务的执行影响其他任务的执行效率的问题,从而达到提高BMC中的故障诊断任务的执行效率、同时不影响其他任务的执行效率的效果。
附图说明
图1是本申请实施例的一种故障诊断方法的移动终端的硬件结构框图;
图2是本实施例的嵌入式系统的示意图;
图3是本实施例的可选的嵌入式系统的示意图一;
图4是本实施例的可选的嵌入式系统的示意图二;
图5是根据本申请实施例的故障诊断方法的流程图;
图6是本实施例提供的可选的BMC故障诊断系统的示意图;
图7是根据本申请实施例的可选的故障诊断方法的流程图;
图8是根据本申请实施例的故障诊断装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种故障诊断方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,处理器102可以包括但不限于微处理器MCU(Microcontroller Unit)或可编程逻辑器件FPGA(Field Programmable Gate Array)等的处理装置,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的故障诊断方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种嵌入式系统,可以运行于上述移动终端,图2是本实施例的嵌入式系统的示意图,如图2所示,该嵌入式系统可以包括:
芯片和至少两个操作系统,其中,芯片包括处理器1102、硬件控制器1104、第一总线1106和第二总线1108,其中,第一总线1106的带宽高于第二总线1108带宽,且第一总线1106被配置为多主多从模式,第二总线1108被配置为一主多从模式;至少两个操作系统基于处理器1102运行;至少两个操作系统通过第一总线1106进行通信;至少两个操作系统通过第二总线1108实现对硬件控制器的控制。
其中,上述芯片可以是BMC芯片;上述处理器可以是多核处理器,上述硬件控制器可以用于控制连接到对应的对外接口的外部设备。
BMC芯片通过第一总线与第二总线实现片内ARM核、存储单元及控制器硬件资源间的互连。ARM核心与各控制器通过第二总线互连,实现核心与各控制器间的交互。同时,ARM核心间连接至第一总线(比如:可以通过AXI(Advanced eXtensible Interface,高级可扩展接口)桥(Bridge)连接),核心间的通信通过第一总线实现。
上述第一总线被配置为多主多从模式,其可以是处理器的多个处理器内核之间进行通信所使用的总线,例如,AHB(Advanced High Performance Bus,高级高性能总线),上述第二总线被配置为一主多从模式,其可以是处理器对硬件控制器之间控制所使用的总线,例如,APB(Advanced Peripheral Bus,外围总线),第一总线的带宽高于第二总线带宽。
在一个示例性实施例中,AHB被配置为多主(master)多从(slave)模式,master会首先向仲裁发送发文请求,仲裁决定合适让master获取总线访问的权限,master获取权限之后会将数据与控制信号发送到仲裁器,仲裁器通过地址解析判断对应的slave通路,然后将请求发送到对应的目的端。同样响应的数据会通过decoder解析,然后返回给对应的master。通过这种多路复用的机制实现多对多的访问。
在一个示例性实施例中,APB被配置为一主多从模式,APB挂在AHB总线系统下,通过AHB-APB Bridge将事务在AHB总线系统之间进行转化,此时Bridgre即为APB的master,其他的外围设备均为slave。数据请求只能由Master发向slave,slave收到请求后返回相应的响应数据给master,此过程可以实现一对多的访问,且访问不涉及AHB总线中的仲裁和Decoder解析操作。
嵌入式系统可以包括至少两个操作系统,至少两个操作系统基于处理器运行,而处理器的处理资源被动态分配给至少两个操作系统,处理器的处理资源包括处理器核心,至少两个操作系统通过第一总线进行通信,至少两个操作系统通过第二总线实现对硬件控制器的控制。
第一操作系统可以是具有明确固定的时间约束的操作系统,所有处理过程(任务调度)需要在固定的时间约束内完成,否则系统会出错,其可以是实时操作系统(Real TimeOperating System,简称RTOS,是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制或对处理系统做出,调度一切可利用的资源完成/>,并控制所有实时任务协调一致运行的操作系统。提供及时响应和/>是其主要特点),例如,FreeRTOS、RTLinux等,还可以是其他嵌入式系统中的实时操作系统。第二操作系统不具备该特征,第二操作系统一般采用公平任务调度算法,线程/进程数量增加时,就需要分享CPU时间,任务调试具有不确定性,可称为非实时操作系统,例如,contiki、HeliOS、Linux(全称GNU/Linux,是一套可自由传播的类Unix操作系统)等,还可以是其他嵌入式系统中的非实时操作系统,其中,Linux系统是一个基于POSIX(Portable Operating System Interface,可移植操作系统接口)的多用户、多任务、支持多线程和多CPU的操作系统。
在一个示例性实施例中,硬件控制器可以包括一种或多种,可以包括但不限于以下至少之一的芯片外设对应的控制器:I2C,USB(Universal Serial Bus,通用串行总线),UART (Universal Asynchronous Receiver/Transmitter,通用异步收发传输器),ADC(Analog to Digital Converter,模拟数字转换器),JTAG(Joint Test Action Group,联合测试工作组),RTC(Real_Time Clock,实时时钟),GPIO(General Purpose Input/Output,通用输入输出),WDT(Watch Dog Timer,看门狗),虚拟UART(Virtual UART),超级I/O(Super I/O),SGPIO(Serial General Purpose Input/Output,串行通用输入输出),PWM(Pulse Width Modulation,脉冲宽度调制),FanTach(风扇调速),Timer(时钟),PECI(Platform Environment Control Interface,平台环境式控制接口),邮箱(MailBox),还可以包括其他类型的控制器。对外接口可以包括一种或多种,可以包括但不限于与上述任一控制器对应的对外接口。
通过上述嵌入式系统,第一操作系统和第二操作系统基于处理器运行,并通过不同功能的总线实现操作系统间的通信和硬件控制器的控制。由于第一操作系统和第二操作系统均是基于同一个处理器运行,避免了硬件器件的增加和部署,降低了系统成本,并且合理利用处理器资源支持系统之间的运行,因此,可以解决操作系统的运行效率较低的技术问题,达到了提高操作系统的运行效率的技术效果。
根据本申请实施例的另一个方面,还提供了一种嵌入式系统,上述嵌入式系统可以运行于上述BMC芯片上,图3是本实施例的可选的嵌入式系统的示意图一,如图3所示,上述嵌入式系统可以包括:
第一操作系统和第二操作系统,第一操作系统和第二操作系统运行于处理器上,第一操作系统的响应速度高于第二操作系统;
业务管理模块,用于根据资源动态分配规则将一组待分配业务分配给对应的操作系统,其中,资源动态分配规则包括根据以下至少之一进行资源动态分配:业务响应速度,业务资源占用率;
资源动态分配模块,用于确定与一组待分配业务对应的资源分配结果,其中,资源分配结果用于指示处理器的处理资源中与一组待分配业务中的每个待分配业务对应的处理资源,处理器的处理资源包括处理器核心;
资源自适应调度模块,用于根据与每个待分配业务对应的操作系统以及资源分配结果,将处理器的处理资源分配给第一操作系统和第二操作系统。
在本实施例中,第一操作系统和第二操作系统可以与前述实施例中类似,在此不做赘述,业务管理模块、资源动态分配模块和资源自适应调度模块可以是运行在第一操作系统或者第二操作系统下的软件模组,通过进行上述模块划分,可以方便进行不同功能模块的开发与维护,同时,对于资源动态分配规则,通过对资源动态分配规则进行灵活设置,提高资源分配的灵活性。
通过上述嵌入式系统,该嵌入式系统包括:第一操作系统和第二操作系统,第一操作系统和第二操作系统运行于处理器上,第一操作系统的响应速度高于第二操作系统;业务管理模块,用于根据资源动态分配规则将一组待分配业务分配给对应的操作系统,其中,资源动态分配规则包括根据以下至少之一进行资源动态分配:业务响应速度,业务资源占用率;资源动态分配模块,用于确定与一组待分配业务对应的资源分配结果,其中,资源分配结果用于指示处理器的处理资源中与一组待分配业务中的每个待分配业务对应的处理资源,处理器的处理资源包括处理器核心;资源自适应调度模块,用于根据与每个待分配业务对应的操作系统以及资源分配结果,将处理器的处理资源分配给第一操作系统和第二操作系统,解决了相关技术中存在由于多核处理器多数的处理资源处于空闲状态导致的核心资源的整体利用率较低的问题,提高了处理资源的利用率。
需要说明的是,嵌入式系统运行的过程中,可以先启动操作系统,然后不同的操作系统进行业务数据的交互。
在一个示例性实施例中,在操作系统包括第一操作系统和第二操作系统的情况下,可以但不限于采用以下方式启动第一操作系统和第二操作系统:引导所述第一操作系统启动;引导所述第二操作系统启动。
可选地,在本实施例中,第一操作系统和第二操作系统可以但不限于先后启动,第一操作系统可以但不限于比第二操作系统启动更快,第一操作系统也可以但不限于比第二操作系统启动所需的条件更简单,在第一操作系统先启动后可以运行能够满足第二操作系统启动所需的条件,或者能够加快第二操作系统启动的业务,从而使得多系统能够更加高效快速地启动并运行业务。
比如:引导第一操作系统启动后可以由第一操作系统运行能够控制芯片环境参数达到第二操作系统启动要求的业务(比如:风扇运行,参数控制等业务),使得芯片环境参数迅速达成第二操作系统启动运行的环境,提高操作系统的启动效率和运行效率。
可选地,在本实施例中,第一操作系统可以但不限于由第一操作系统的引导程序引导启动,第二操作系统可以但不限于由第二操作系统的引导程序引导启动。或者,二者可以由同一个引导程序先后引导启动。
在一个示例性实施例中,可以但不限于采用以下方式引导所述第一操作系统启动:所述芯片启动上电,通过所述处理器唤醒所述处理器中为所述第一操作系统分配的第一处理器核心;通过所述第一处理器核心执行所述第一操作系统的引导程序引导所述第一操作系统启动。
在一个示例性实施例中,交互的过程可以但不限于采用存储空间和中断请求配合传输的方式来实现,操作系统之间通过存储空间来传递数据,通过中断请求来进行相互之间指令的通知。比如:获取第一操作系统基于处理器运行的过程中产生的业务数据;将业务数据存储至处理器上的存储空间;向第二操作系统发送中断请求,其中,中断请求用于请求第二操作系统从存储空间读取业务数据,第二操作系统用于响应中断请求从存储空间读取业务数据。
可选地,在本实施例中,第一操作系统基于处理器运行的过程中产生的业务数据被存储在处理器上的存储空间中,通过中断请求通知第二操作系统,由第二操作系统从存储空间中读取出业务数据,从而实现业务数据的交互。
可选地,在本实施例中,操作系统之间交互的业务数据可以但不限于是操作系统运行操作业务过程中任何需要在系统间进行传输的数据。比如:业务的过程数据,业务的结果数据等等。
可选地,在本实施例中,处理器上的存储空间中可以但不限于为操作系统之间的交互过程配置专用的存储位置,可以称为共享内存。第一操作系统所对应的共享内存的信息(比如:存储地址)可以携带在用于请求第二操作系统从存储空间读取业务数据的中断请求中,第二操作系统响应中断请求到其指示的共享内存上读取业务数据。
在本实施例中,各个中断请求可以但不限于通过软件协议的方式在系统间进行传输,或者也可以通过硬件模块进行传递。以硬件模块mailbox的形式传输中断请求为例,第一操作系统和第二操作系统之间可以建立mailbox通道,业务数据通过存储空间读写,中断请求通过mailbox通道传输。
第一操作系统在运行过程中产生业务数据并判定该业务数据是第二操作系统需要的或者是需要发送给第二操作系统的。此时,第一操作系统将业务数据存储至存储空间中,并向第二操作系统发送中断请求,第二操作系统响应该中断请求从存储空间中读取业务数据,并进行后续的处理。
图4是根据本申请实施例的可选的嵌入式系统的示意图二,通过图4所示的嵌入式系统实现本实施例的故障诊断方法,如图4所示,系统包括:
芯片、至少两个操作系统,其中,芯片包括处理器,至少两个操作系统包括实时操作系统和非实时操作系统;至少两个操作系统基于处理器运行,至少两个操作系统实现上述故障诊断方法。
需要说明的是,为了方便程序的维护和移植,本实施例的程序采用应用层和驱动层的分层设计管理,应用层给用户提供人机交互接口,灵活实现用户需要的具体功能;驱动层和硬件通信,可以读写硬件的寄存器,同时,驱动层会给应用层提供统一的接口,从而接收应用层传输的数据。在一种实施性方式中,实时操作系统可以包含应用层和/或驱动层,非实时操作系统也可以包含应用层和/或驱动层。
本实施例的嵌入式系统为BMC的多核系统,实时操作系统和非实时操作系统分别运行在不同的BMC核心上,例如,实时操作系统使用BMC的处理器核心CPU0执行任务,非实时操作系统使用BMC的处理器核心CPU1执行任务,CPU0和CPU1通过中断和共享内存的方式实现通信,发送方的CPU核把需要发送的数据按照约定的协议格式放在共享内存中后,会触发一个SGI中断(software generated interrupt,软件触发中断)通知接收方的CPU核去读取数据,按照约定的协议格式解析数据,接收方的CPU核读取的数据后支持选择给发送方的CPU核回复应答或者不回复。
在服务器故障诊断场景下,非实时操作系统在检测到服务器故障的情况下,可以将故障信息收集请求存储至共享内存中,并向实时操作系统发送中断请求,实时操作系统响应该中断请求,从共享内存中读取故障信息收集请求,可以应答非实时操作系统已成功接收到故障信息收集请求,并从CPU读取故障信息,故障信息读取完成后将收集故障信息存储至共享内存中,并向非实时操作系统发送中断请求,非实时操作系统响应该中断请求,从共享内存中读取故障信息,并分析故障信息得到故障分析结果。
在一个示例性实施例中,实时操作系统还用于在接收到故障信息收集请求后,确定故障信息收集请求对应的多个逻辑位信息,根据多个逻辑位信息和定时器生成故障信息收集对应的平台环境式控制接口信号,并通过平台环境式控制接口信号收集故障信息。
在一种实施性方式中,故障信息收集请求中包括有至少一个字段,每个字段可以通过逻辑位0或1进行表示,在此基础上,每个字段与逻辑位1或0之间对应的转换关系即为该字段对应的逻辑位信息,在故障信息收集请求对应多个字段的情况下,故障信息收集请求对应有多个逻辑位信息,每个逻辑位可通过高电平信号和低电平信号的结合使用来表示,可以通过定时器控制高低电平的持续时间,由各个逻辑位信息对应的波形信号组合得到的一个波形信号。
在一个示例性实施例中,实时操作系统还用于根据多个逻辑位信息确定定时器对应的重装载值和初次匹配值,根据重装载值和初次匹配值生成故障信息收集对应的平台环境式控制接口信号。
在一种实施性方式中,重装载值可以理解为是定时器的计数周期,例如,假设重装载值为100ms,则定时器每计数100ms之后便会重新开始计数。初次匹配值则用于控制每个逻辑位信息对应的逻辑位是0或1。在根据多个逻辑位信息确定定时器对应的重装载值和初次匹配值的过程中,第一系统首先获取每个逻辑位信息对应的运行时长,然后根据运行时长确定重装载值。另外,还可以根据每个逻辑位信息的逻辑位确定定时器对应的一个初次匹配值,得到定时器对应的多个初次匹配值,其中,每个逻辑位信息对应的初次匹配值用于控制该逻辑位信息处于高电平时的时长,以控制该逻辑位信息的逻辑位为0或1。
本实施例的嵌入式系统采用多核双系统,非实时操作系统与实时操作系统分别运行在不同的核心上,故障诊断系统中收集故障信息的功能放在了实时操作系统中,实时操作系统与实时操作系统分别处理BMC的常规管理业务及故障信息收集业务,用于采集故障信息的PECI协议为软件模拟的PECI协议。一方面,PECI协议不依赖PECI控制器生成,节省硬件资源,充分利用实时操作系统高实时性特点,在保证软件模拟PECI命令波形时时序的准确性的情况下节省收集故障信息的时间,从而提升收集故障信息的效率。另一方面,将费时较高的故障信息收集功能放在了实时操作系统中,非实时操作中的其他任务执行效率也会得到提高。
图5是根据本申请实施例的故障诊断方法的流程图,通过上述实施例的嵌入式系统实现,如图5所示,该流程包括如下步骤:
步骤S502,非实时操作系统在检测到服务器故障的情况下,通过核间通信的方式将故障信息收集请求发送至实时操作系统,其中,非实时操作系统和实时操作系统在处理器上运行,并共享处理器的内存。
其中,非实时操作系统中设置有故障诊断系统,故障诊断系统可以周期性地检测服务器是否发生故障,其中,服务器故障可以包括服务器宕机、UPI(Ultra PathInterconnect,超路径互联)链路挂死、内存故障、PCIE(platform environment controlinterface, 平台环境控制接口协议)总线挂死等故障,检测到服务器故障的情况下,生成用于请求实时操作系统执行收集故障信息任务的故障信息收集请求,并通过核间通信的方式发送至实时操作系统,核间通信的方式是指非实时操作系统和实时操作系统通过共享内存和发送中断通知的方式实现故障信息收集请求的交互。
在一个示例性实施例中,非实时操作系统在检测到服务器故障的情况下,通过核间通信的方式将故障信息收集请求发送至实时操作系统包括:非实时操作系统确定服务器故障的故障类型,并根据故障类型构造故障信息收集请求;非实时操作系统将故障信息收集请求存储至内存中,并触发第一中断通知消息至实时操作系统;实时操作系统收到第一中断通知消息后,在内存中读取第一中断通知消息指示的数据。
需要说明的是,不同的故障类型需要收集的故障信息不同,当检测到服务器发生故障后,非实时操作系统中的故障诊断系统判断当前的故障类型,根据故障类型构造故障信息读取命令,按照非实时操作系统和实时操作系统通信的格式对故障信息读取命令的命令参数进行封装,得到符合实时操作系统的读取要求的故障信息收集请求,将故障信息收集请求放在共享内存中,并触发第一中断通知消息通知实时操作系统读取故障信息收集请求,实时操作系统收到第一中断通知消息后,可以应答非实时操作系统,在内存中读取第一中断通知消息指示的数据,在读取的数据为故障信息收集请求的情况下,即可执行故障信息收集任务。
表1是故障信息请求数据结构,如表1所示,故障信息请求数据中包括如下内容:
表1
步骤S504,实时操作系统接收到故障信息收集请求后,收集故障信息,并通过核间通信的方式将故障信息发送至非实时操作系统。
其中,实时操作系统解析故障信息收集请求,得到解析数据,根据解析数据里的故障类型通过PECI协议读取CPU的故障寄存器值,得到故障信息,在读取完成所有的CPU的故障寄存器值的情况下,通过核间通信的方式发送至非实时操作系统,核间通信的方式是指非实时操作系统和实时操作系统通过共享内存和发送中断通知的方式实现故障信息的交互。
表2是响应故障信息请求的数据结构,如表2所示,响应故障信息请求的数据包括如下内容:
表2
在一个示例性实施例中,通过核间通信的方式将故障信息发送至非实时操作系统包括:实时操作系统将故障信息存储至内存中,并触发第二中断通知消息至非实时操作系统;非实时操作系统收到第二中断通知消息后,向非实时操作系统发送应答信息,并在内存中读取故障信息。
其中,实时操作系统收集完毕故障信息的情况下,按照实时操作系统和非实时操作系统通信的格式对故障信息进行封装,得到符合非实时操作系统的读取要求的故障信息,将故障信息放在共享内存中,并触发第二中断通知消息通知非实时操作系统读取数据,非实时操作可以应答实时操作系统,并从内存读取故障信息。
在一个示例性实施例中,在非实时操作系统确定服务器故障的故障类型,并根据故障类型构造故障信息收集请求之前,该方法还包括:启动故障诊断进程;非实时操作系统在接收到应答信息的情况下,对故障诊断进程执行休眠操作;非实时操作系统接收到实时操作系统发送的故障信息的情况下,唤醒故障诊断进程,并读取故障信息。
需要说明的是,实时操作系统收到第一中断通知消息后,会读取共享内存中第一中断通知消息指示的数据,并解析数据,在解析后的数据是收集故障信息请求的情况下,可以应答非实时操作系统的此请求,通知非实时操作系统其已成功接收此请求,由于在发送故障信息请求后,需要获取到故障信息才能进一步进行故障信息分析,而故障信息的采集需要一段时间,因而,在接收到应答信息后,可以控制非实时操作系统下的故障诊断进程休眠,在实时操作系统返回后故障信息,再唤醒故障诊断进程读取故障信息,从而避免故障诊断进程占用非实时操作系统的处理资源。
表3是应答故障信息请求的数据结构,如表3所示,应答故障信息请求的数据包括如下内容:
表3
步骤S506,所述非实时操作系统分析故障信息得到故障分析结果,并输出所述故障分析结果。
在一种实施性方式中,非实时操作系统通过故障诊断系统解析故障信息,得到故障分析结果,并通过非实时操作系统的应用层将故障分析结果输出至用户。
通过上述步骤,采用非实时操作系统检测服务器故障,并将故障信息收集请求发送至实时操作系统,通过实时操作系统执行收集故障信息的任务,并将收集到的故障信息发送至非实时操作系统,非实时操作系统进行故障分析,由于将收集故障信息的功能由非实时操作系统移植至实时操作系统,提高了收集故障信息的效率,同时释放了非实时操作系统的资源,因此,可以解决相关技术中BMC的故障诊断任务的执行效率低,且故障诊断任务的执行影响其他任务的执行效率的问题,从而达到提高BMC中的故障诊断任务的执行效率、同时不影响其他任务的执行效率的效果。
其中,上述步骤的执行主体可以为BMC芯片,但不限于此。
步骤S502和步骤S504的执行顺序是可以互换的,即可以先执行步骤S504,然后再执行步骤S502。
在一个示例性实施例中,所述非实时操作系统通过软件中断的方式向所述实时操作系统发送所述第一中断通知消息,所述实时操作系统通过软件中断的方式向所述非实时操作系统发送所述第二中断通知消息。
过软件中断的方式产生的中断即为软中断,软中断是CPU中运行的软件执行中断指令引入的中断,是预先设定的,表4是软件产生的中断通知消息的数据结构,如表4所示,中断通知消息的数据包括如下内容:
表4
在一个示例性实施例中,实时操作系统接收到故障信息收集请求后,收集故障信息包括:实时操作系统通过模拟的平台环境式控制接口协议收集故障信息。
其中,故障信息收集请求为PECI指令,读取不同的故障寄存器需要使用不同PECI指令,实时操作系统设置有GPIO(通用输入输出)软件,通过GPIO软件把不同PECI指令转化为不同的PECI信号,并将PECI信号发送至CPU的故障寄存器,从而实现故障信息的收集。
在一个示例性实施例中,实时操作系统通过模拟的平台环境式控制接口协议收集故障信息包括:实时操作系统确定故障信息收集请求对应的多个逻辑位信息,根据多个逻辑位信息和定时器生成故障信息收集请求对应的平台环境式控制接口信号;通过可编程逻辑器件对平台环境式控制接口信号进行转换,得到转换后的平台环境式控制接口信号;通过可编程逻辑器件将转换后的平台环境式控制接口信号输出至CPU,读取CPU的故障寄存器的值,得到故障信息,其中,转换后的平台环境式控制接口信号满足平台环境式控制接口协议要求。
图6是本实施例提供的可选的BMC故障诊断系统的示意图,如图6所示,非实时操作系统和实时操作系统分别处理BMC的常规管理业务及故障信息收集业务,当BMC发起故障信息收集请求的情况下,非实时操作系统与实时操作系统进行交互,进而启动实时操作系统中的软件,模拟故障信息收集请求的PECI波形。
需要说明的是,此时发出的PECI波形可能不满足PECI协议的电气特性要求,为了满足PECI协议的电气特性要求,把不同的PECI指对应的PECI信号发送给CPLD之后,CPLD对PECI信号进行电平转化后发送到CPU,从而读取CPU的故障寄存器的值。
本申请采用定时器的计时功能和计数功能,结合多个逻辑位信息生成请求命令对应的硬件接口信号。在一种实施性方式中,故障信息收集请求对应的PECI指令中包括有至少一个字段,每个字段可以通过逻辑位0或1进行表示,在此基础上,每个字段与逻辑位1或0之间对应的转换关系即为该字段对应的逻辑位信息,在故障信息收集请求对应多个字段的情况下,故障信息收集请求对应有多个逻辑位信息。此外,每个逻辑位可通过高电平信号和低电平信号的结合使用来表示,例如,对于逻辑位0,可使用第一预设时长的高电平信号和第二预设时长的低电平信号来组合表示,对于逻辑位1,可使用第二预设时长的高电平信号和第一预设时长的低电平信号来组成表示,其中,第一预设时长和第二预设时长不同。在此基础上,由于每个逻辑位既包含有高电平信号,也包含有低电平信号,因此每个逻辑位实际上是通过一段波形信号(高低电平信号之间的变换呈现为一个波形)来表示的,由于请求命令对应有多个逻辑位信息,也就是对应有多个逻辑位,因此,请求命令对应的硬件接口信号是由各个逻辑位信息对应的波形信号组合得到的一个波形信号。
在一个示例性实施例中,根据多个逻辑位信息和定时器生成故障信息收集请求对应的平台环境式控制接口信号包括:根据多个逻辑位信息确定定时器对应的重装载值和初次匹配值,根据重装载值和初次匹配值生成故障信息收集对应的平台环境式控制接口信号。
在一种实施性方式中,重装载值可以理解为是定时器的计数周期,例如,假设重装载值为100ms,则定时器每计数100ms之后便会重新开始计数。初次匹配值则用于控制每个逻辑位信息对应的逻辑位是0或1。
在一种实施性方式中,在根据多个逻辑位信息确定定时器对应的重装载值和初次匹配值的过程中,第一系统首先获取每个逻辑位信息对应的运行时长,然后根据运行时长确定重装载值。另外,还可以根据每个逻辑位信息的逻辑位确定定时器对应的一个初次匹配值,得到定时器对应的多个初次匹配值,其中,每个逻辑位信息对应的初次匹配值用于控制该逻辑位信息处于高电平时的时长,以控制该逻辑位信息的逻辑位为0或1。
需要说明的是,在一种信号传输协议下,多个逻辑位信息中的每个逻辑位信息对应的运行时长通常是相同的,例如,假设每个逻辑位信息对应的运行时长为tBIT,则定时器对应的重装载值为依据定时器的计时单位对tBIT进行换算后得到的数值,例如,运行时长tBIT为100秒,定时器的计时单位为秒,则重装载值为100。
在一个示例性实施例中,可编程逻辑器件包括第一端口和第二端口,可编程逻辑器件通过第一端口接收实时操作系统发送的平台环境式控制接口信号,可编程逻辑器件通过第二端口将转换后的平台环境式控制接口信号发送至CPU,CPU通过平台环境式控制接口接收转换后的平台环境式控制接口信号。
如图6所示,将上述PECI波形接到可编程逻辑器件的一个通用输入输出端口,通过CPLD的内部逻辑进行电气特性转换,转换后的PECI波形满足PECI协议要求,最后由可编程逻辑器件的另一个通用输入输出端口输出并与CPU的PECI接口进行物理连接,从而实现对CPU的故障寄存器值的读取。
需要注意到的是,为了实现BMC芯片与CPU等元器件之间的PECI通信,相关技术中需要BMC芯片本身具备PECI控制器的硬件逻辑设计,从而导致了BMC芯片的设计成本较高的问题。而在本申请中,仅需要实时操作系统即可在BMC芯片上生成PECI信号,无需必须在BMC芯片上实现PECI控制器的硬件逻辑设计,从而降低了BMC芯片的设计难度和设计成本。
需要说明的是,除了服务器故障诊断需要通过共享内存的方式进行数据交互,实时操作系统和非实时操作系统执行其他任务时也需要通过共享内存的方式进行数据交互,不同的数据交互场景需要的内存大小不同,可用内存的大小影响数据交互的实现,因而,需要对内存进行管理,并在数据交互时通过内存申请策略申请需要的内存。
在一个示例性实施例中,内存中包含数据存储区和元数据存储区,数据存储区被划分为多个存储单元,每个存储单元用于存储业务数据,元数据存储区用于存储数据存储区的各个存储单元的大小以及被占用状态,非实时操作系统将故障信息收集请求存储至内存中包括:非实时操作系统读取元数据存储区中的记录,根据读取的记录确定数据存储区中处于空闲状态、总空间大于等于故障信息收集请求的长度的至少一个存储单元,得到目标虚拟通道;将元数据存储区中目标虚拟通道对应的至少一个存储单元的状态设置为被占用状态,并将故障信息收集请求存储在目标虚拟通道。
需要说明的是,为了保证故障信息收集请求可以连续写入内存,写入的目标虚拟通道需要是空闲的、且大于等于故障信息收集请求的长度的存储空间,由于内存划分为元数据存储区和数据存储区,可以读取元数据存储区记录的各个存储单元的占用状态,从中找出处于空闲状态的、可以满足数据存储需求的存储单元。
例如,每个存储单元的大小相等,若故障信息收集请求的长度大于一个存储空间的长度,则根据故障信息收集请求的长度确定所需的存储单元的数量,从中找出处于空闲状态的、连续的、数量满足数据存储需求的多个存储单元,构成目标虚拟通道。
再例如,每个存储单元的大小相等,数据存储区已预先对存储单元进行组合,得到多个大小不同的虚拟通道,每个虚拟通道由一个或多个存储单元组合而成,可以读取元数据存储区记录的各个虚拟通道的占用状态,从中找出处于空闲状态的、长度大于故障信息收集请求的长度的虚拟通道,也即目标虚拟通道。需要说明的是,当系统软件需要申请共享内存空间时候会判断需要申请的数据长度是否大于虚拟通道存放数据的最大长度,如大于虚拟通道存放数据的最大长度,系统软件可以把需要发送的数据分多次多送,保证每次发送数据的长度小于等于虚拟通道存放数据的最大长度,从而保证通信的顺利进行。
在一个示例性实施例中,数据存储区中包含多个内存通道,每个内存通道由一个或多个存储单元构成,元数据存储区存储有多条记录,每条记录用于记录一个内存通道的元数据,每个内存通道的元数据至少包含内存通道的通道ID、内存通道的大小、内存通道的被占用状态,非实时操作系统读取元数据存储区中的记录,根据读取的记录确定数据存储区中处于空闲状态、总空间大于等于故障信息收集请求的长度的至少一个存储单元,得到目标虚拟通道包括:遍历元数据存储区存储的记录,判断是否存在指示内存通道处于空闲状态、且内存通道的大小大于等于故障信息收集请求的长度的第一目标记录;在存在第一目标记录的情况下,将第一目标记录中记录的通道ID指示的内存通道确定为目标虚拟通道。
需要说明的是,还可以将数据存储区划分为n个虚拟的内存通道,每个内存通道大小可以不等,也即,n个虚拟通道的大小依次为20*m、21*m、22*m、23*m …… 2n-1*m,其中,m为一个存储单元的大小,并设置以下结构体作为元数据管理内存通道:
typedefstruct {
uint32_t Flag;
uint16_t ChannelId;
uint8_t SrcId;
uint8_t NetFn;
uint8_t Cmd;
uint32_t Len;
uint32_t ChannelSize;
uint8_t *pData;
uint8_t CheckSum;
}IpiHeader_T;
其中,uint32_t Flag表征内存通道的状态,例如,0xA5A5A5A5表示此通道非空,否则为空;uint16_t ChannelId表示通道ID;uint8_t SrcId表示源CPU ID,源CPU是指向内存通道写入数据的CPU;uint8_t NetFn和uint8_t Cmd是功能参数;uint32_t Len为内存通道存储的数据的长度;uint32_t ChannelSize表示内存通道的大小;uint8_t *pData是指内存通道的首地址;uint8_t CheckSum是指校验和,非实时操作系统需要发送数据时,会将发送的数据通过校验和算法计算出校验值,并将校验值发送至实时操作系统,实时操作系统在接收到数据和校验值的情况下,根据接收到的数据通过相同的校验和算法算出校验值,将计算出的校验值和接收到的校验值进行比较,如果一致,说明接收到的数据有效,如果不一致,说明接收到的数据无效。
在一个示例性实施例中,非实时操作系统在确定目标虚拟通道时,根据待发送的故障信息收集请求的大小使用接口GetEmptyChannel在所有的内存通道中的寻找满足以下两个条件的虚拟通道:通道结构体IpiHeader中的空闲标志Flag不等于0xA5A5A5A5(也即通道处于空闲状态),且通道结构体IpiHeader中的通道的大小ChannelSize大于等于故障信息收集请求的大小(也即内存大小可以满足故障信息收集请求的存储需求)。在寻找到满足上述条件的目标虚拟通道后,把该通道的状态设置为非空,也即,设置通道结构体IpiHeader中的空闲标志Flag为0xA5A5A5A5,然后把故障信息收集请求拷贝到目标虚拟通道中。
在一个示例性实施例中,元数据存储区存储有映射表,映射表中有多条记录,每条记录用于记录一个存储单元的被占用状态,非实时操作系统读取元数据存储区中的记录,根据读取的记录确定数据存储区中处于空闲状态、总空间大于等于故障信息收集请求的长度的至少一个存储单元,得到目标虚拟通道包括:确定故障信息收集请求待占用的存储单元的预设数量;从映射表的初始位置依次扫描每条记录;在扫描到连续的预设数量的目标记录的情况下,确定预设数量的目标记录指示的连续存储单元,其中,目标记录表征存储单元处于空闲状态;将连续存储单元确定为目标虚拟通道。
需要说明的是,由于操作系统传递数据时需要占用内存中连续的存储单元,为了便于数据的存储和提取,首先需要确定内存申请指令中的存储单元的数量,每一存储单元的内存空间相同,因此可以通过所需内存的空间大小计算出需要的连续存储单元的预设数量,记作numb。
在一种实施性方式中,非实时操作系统从映射表中的索引位置遍历记录,索引位置可以为映射表的起始位置,从映射表的起始位置开始,依次查询映射表的每条记录,判断是否存在连续的记录空闲内存页的大于等于numb的记录,在存在符合上述条件的记录的情况下,通过记录与内存页的对应关系,确定处理器中的连续存储单元,并将该连续存储单元确定为目标虚拟通道,以向目标虚拟通道写入数据。
图7是根据本申请实施例的可选的故障诊断方法的流程图,如图7所示,该方法包括:
首先,非实时操作系统中的故障诊断系统周期性地检测服务器是否发生故障,当检测到服务器故障后,判断当前的故障类型,根据故障类型构造读取故障信息的命令,按照非实时操作系统和实时操作系统通信的格式进行命令参数进行结构化封装,将封装后的数据放在共享内存中,同时触发中断通知实时操作系统。
实时操作系统收到中断后,读取共享内存中的数据,进行命令解析数与参数提取,解析后发现是收集故障信息请求的情况下,实时操作系统可以先应答非实时操作系统的此请求,通知非实时操作系统此请求已被成功接收,并从CPU的故障寄存器读取故障信息。由于读取CPU的不同的故障寄存器需要使用不同PECI指令,实时操作系统根据命令参数里的故障类型、CPU地址等故障信息匹配PECI命令,生成模拟PECI波形,并向CPU发送向模拟PECI波形,其中,实时操作系统把不同的PECI指令转化为不同的PECI波形发送给CPLD,CPLD通过电平转化后发送到CPU,从而读取到CPU故障寄存器的值。
实时操作系统在通过PECI协议读取CPU的故障寄存器值时,在接收到PECI总线传来的PECI波形的情况下,进行PECI命令解析和数据的提取,提取出采集到的故障信息,按照实时操作系统和非实时操作系统通信的格式封装故障信息,然后把封装后的数据放在共享内存中,同时触发中断通知非实时操作系统读取数据,非实时操作系统读取故障信息,然后非实时操作系统中故障诊断系统解析读取到的故障信息并输出故障诊断的结果给用户。
通过本实施例,在实时操作系统中实现PECI协议的软件模拟,同时把故障诊断系统中的费时的收集故障信息的功能从非实时操作系统中移植到实时操作系统,从而提高故障诊断的效率,并且避免了故障诊断对非实时操作系统中的其他任务的执行效率的影响。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种故障诊断装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是根据本申请实施例的故障诊断装置的结构示意图,如图8所示,该装置包括检测单元10、收集单元20、分析单元30。
检测单元10,用于在非实时操作系统检测到服务器故障的情况下,通过核间通信的方式将故障信息收集请求发送至实时操作系统,其中,非实时操作系统和实时操作系统在处理器上运行,并共享处理器的内存;
收集单元20,用于在实时操作系统接收到故障信息收集请求后,收集故障信息,并通过核间通信的方式将故障信息发送至非实时操作系统;
分析单元30,用于通过非实时操作系统分析故障信息得到故障分析结果,并输出故障分析结果。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
可选地,在本申请实施例提供的故障诊断装置中,收集单元20包括:第一收集模块,用于实时操作系统通过模拟的平台环境式控制接口协议收集故障信息。
可选地,在本申请实施例提供的故障诊断装置中,收集单元20包括:第二收集模块,用于实时操作系统确定故障信息收集请求对应的多个逻辑位信息,根据多个逻辑位信息和定时器生成故障信息收集请求对应的平台环境式控制接口信号;转换模块,用于通过可编程逻辑器件对平台环境式控制接口信号进行转换,得到转换后的平台环境式控制接口信号;输出模块,用于通过可编程逻辑器件将转换后的平台环境式控制接口信号输出至CPU,读取CPU的故障寄存器的值,得到故障信息,其中,转换后的平台环境式控制接口信号满足平台环境式控制接口协议要求。
可选地,在本申请实施例提供的故障诊断装置中收集单元20包括:第一确定模块,用于根据多个逻辑位信息确定定时器对应的重装载值和初次匹配值,根据重装载值和初次匹配值生成故障信息收集对应的平台环境式控制接口信号。
可选地,在本申请实施例提供的故障诊断装置中,可编程逻辑器件包括第一端口和第二端口,可编程逻辑器件通过第一端口接收实时操作系统发送的平台环境式控制接口信号,可编程逻辑器件通过第二端口将转换后的平台环境式控制接口信号发送至CPU,CPU通过平台环境式控制接口接收转换后的平台环境式控制接口信号。
可选地,在本申请实施例提供的故障诊断装置中,收集单元20包括:第二确定模块,用于非实时操作系统确定服务器故障的故障类型,并根据故障类型构造故障信息收集请求;第一存储模块,用于非实时操作系统将故障信息收集请求存储至内存中,并触发第一中断通知消息至实时操作系统;读取模块,用于实时操作系统收到第一中断通知消息后,在内存中读取第一中断通知消息指示的数据。
可选地,在本申请实施例提供的故障诊断装置中,收集单元20包括:第二存储模块,用于实时操作系统将故障信息存储至内存中,并触发第二中断通知消息至非实时操作系统;发送模块,用于非实时操作系统收到第二中断通知消息后,向非实时操作系统发送应答信息,并在内存中读取故障信息。
可选地,在本申请实施例提供的故障诊断装置中,该装置包括:启动单元,用于在非实时操作系统确定服务器故障的故障类型,并根据故障类型构造故障信息收集请求之前,启动故障诊断进程;执行单元,用于非实时操作系统在接收到应答信息的情况下,对故障诊断进程执行休眠操作;唤醒单元,用于非实时操作系统接收到实时操作系统发送的故障信息的情况下,唤醒故障诊断进程,并读取故障信息。
可选地,在本申请实施例提供的故障诊断装置中,非实时操作系统通过软件中断的方式向实时操作系统发送第一中断通知消息,实时操作系统通过软件中断的方式向非实时操作系统发送第二中断通知消息。
可选地,在本申请实施例提供的故障诊断装置中,收集单元20包括:第三确定模块,用于非实时操作系统读取元数据存储区中的记录,根据读取的记录确定数据存储区中处于空闲状态、总空间大于等于故障信息收集请求的长度的至少一个存储单元,得到目标虚拟通道;设置模块,用于将元数据存储区中目标虚拟通道对应的至少一个存储单元的状态设置为被占用状态,并将故障信息收集请求存储在目标虚拟通道。
可选地,在本申请实施例提供的故障诊断装置中,收集单元20包括:遍历模块,用于遍历元数据存储区存储的记录,判断是否存在指示内存通道处于空闲状态、且内存通道的大小大于等于故障信息收集请求的长度的第一目标记录;第四确定模块,用于在存在第一目标记录的情况下,将第一目标记录中记录的通道ID指示的内存通道确定为目标虚拟通道。
可选地,在本申请实施例提供的故障诊断装置中,收集单元20包括:第五确定模块,用于确定故障信息收集请求待占用的存储单元的预设数量;扫描模块,用于从映射表的初始位置依次扫描每条记录;第六确定模块,用于在扫描到连续的预设数量的目标记录的情况下,确定预设数量的目标记录指示的连续存储单元,其中,目标记录表征存储单元处于空闲状态;第七确定模块,用于将连续存储单元确定为目标虚拟通道。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种芯片,其中,该芯片包括可编程逻辑电路以及可执行指令中的至少之一,该芯片在电子设备中运行,用于实现上述任一项方法实施例中的步骤。
本申请的实施例还提供了一种BMC芯片,其中,该BMC芯片可以包括:存储单元以及与存储单元连接的处理单元。存储单元用于存储程序,而处理单元用于运行该程序,以执行上述任一项方法实施例中的步骤。
本申请的实施例还提供了一种主板,其中,该主板包括:至少一个处理器;至少一个存储器,用于存储至少一个程序;当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上述任一项方法实施例中的步骤。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
1.一种故障诊断方法,其特征在于,包括:
非实时操作系统在检测到服务器故障的情况下,通过核间通信的方式将故障信息收集请求发送至实时操作系统,其中,所述非实时操作系统和实时操作系统在处理器上运行,并共享所述处理器的内存;
所述实时操作系统接收到所述故障信息收集请求后,收集故障信息,并通过核间通信的方式将所述故障信息发送至所述非实时操作系统;
所述非实时操作系统分析故障信息得到故障分析结果,并输出所述故障分析结果。
2.根据权利要求1所述的方法,其特征在于,所述实时操作系统接收到所述故障信息收集请求后,收集故障信息包括:
所述实时操作系统通过模拟的平台环境式控制接口协议收集所述故障信息。
3.根据权利要求1所述的方法,其特征在于,所述实时操作系统通过模拟的平台环境式控制接口协议收集所述故障信息包括:
所述实时操作系统确定所述故障信息收集请求对应的多个逻辑位信息,根据所述多个逻辑位信息和定时器生成所述故障信息收集请求对应的平台环境式控制接口信号;
通过可编程逻辑器件对所述平台环境式控制接口信号进行转换,得到转换后的平台环境式控制接口信号;
通过所述可编程逻辑器件将所述转换后的平台环境式控制接口信号输出至CPU,读取所述CPU的故障寄存器的值,得到所述故障信息,其中,所述转换后的平台环境式控制接口信号满足平台环境式控制接口协议要求。
4.根据权利要求3所述的方法,其特征在于,根据所述多个逻辑位信息和定时器生成所述故障信息收集请求对应的平台环境式控制接口信号包括:
根据所述多个逻辑位信息确定所述定时器对应的重装载值和初次匹配值,根据所述重装载值和所述初次匹配值生成所述故障信息收集对应的平台环境式控制接口信号。
5.根据权利要求3所述的方法,其特征在于,所述可编程逻辑器件包括第一端口和第二端口,所述可编程逻辑器件通过所述第一端口接收所述实时操作系统发送的所述平台环境式控制接口信号,所述可编程逻辑器件通过所述第二端口将所述转换后的平台环境式控制接口信号发送至所述CPU,所述CPU通过平台环境式控制接口接收所述转换后的平台环境式控制接口信号。
6.根据权利要求1所述的方法,其特征在于,非实时操作系统在检测到服务器故障的情况下,通过核间通信的方式将故障信息收集请求发送至实时操作系统包括:
所述非实时操作系统确定所述服务器故障的故障类型,并根据所述故障类型构造所述故障信息收集请求;
所述非实时操作系统将所述故障信息收集请求存储至所述内存中,并触发第一中断通知消息至所述实时操作系统;
所述实时操作系统收到所述第一中断通知消息后,在所述内存中读取所述第一中断通知消息指示的数据。
7.根据权利要求6所述的方法,其特征在于,通过核间通信的方式将所述故障信息发送至所述非实时操作系统包括:
所述实时操作系统将所述故障信息存储至所述内存中,并触发第二中断通知消息至所述非实时操作系统;
所述非实时操作系统收到所述第二中断通知消息后,向所述非实时操作系统发送应答信息,并在所述内存中读取所述故障信息。
8.根据权利要求7所述的方法,其特征在于,在所述非实时操作系统确定所述服务器故障的故障类型,并根据所述故障类型构造所述故障信息收集请求之前,所述方法还包括:启动故障诊断进程;
所述非实时操作系统在接收到所述应答信息的情况下,对所述故障诊断进程执行休眠操作;
所述非实时操作系统接收到所述实时操作系统发送的所述故障信息的情况下,唤醒所述故障诊断进程,并读取所述故障信息。
9.根据权利要求7所述的方法,其特征在于,所述非实时操作系统通过软件中断的方式向所述实时操作系统发送所述第一中断通知消息,所述实时操作系统通过软件中断的方式向所述非实时操作系统发送所述第二中断通知消息。
10.根据权利要求6所述的方法,其特征在于,所述内存中包含数据存储区和元数据存储区,所述数据存储区被划分为多个存储单元,每个存储单元用于存储业务数据,所述元数据存储区用于存储所述数据存储区的各个存储单元的大小以及被占用状态,所述非实时操作系统将所述故障信息收集请求存储至所述内存中包括:
所述非实时操作系统读取所述元数据存储区中的记录,根据读取的记录确定所述数据存储区中处于空闲状态、总空间大于等于所述故障信息收集请求的长度的至少一个存储单元,得到目标虚拟通道;
将所述元数据存储区中所述目标虚拟通道对应的至少一个存储单元的状态设置为被占用状态,并将所述故障信息收集请求存储在所述目标虚拟通道。
11.根据权利要求10所述的方法,其特征在于,所述数据存储区中包含多个内存通道,每个内存通道由一个或多个存储单元构成,所述元数据存储区存储有多条记录,每条记录用于记录一个内存通道的元数据,每个内存通道的元数据至少包含内存通道的通道ID、内存通道的大小、内存通道的被占用状态,所述非实时操作系统读取所述元数据存储区中的记录,根据读取的记录确定所述数据存储区中处于空闲状态、总空间大于等于所述故障信息收集请求的长度的至少一个存储单元,得到所述目标虚拟通道包括:
遍历所述元数据存储区存储的记录,判断是否存在指示内存通道处于空闲状态、且内存通道的大小大于等于所述故障信息收集请求的长度的第一目标记录;
在存在所述第一目标记录的情况下,将所述第一目标记录中记录的通道ID指示的内存通道确定为所述目标虚拟通道。
12.根据权利要求10所述的方法,其特征在于,所述元数据存储区存储有映射表,所述映射表中有多条记录,每条记录用于记录一个存储单元的被占用状态,所述非实时操作系统读取所述元数据存储区中的记录,根据读取的记录确定所述数据存储区中处于空闲状态、总空间大于等于所述故障信息收集请求的长度的至少一个存储单元,得到所述目标虚拟通道包括:
确定所述故障信息收集请求待占用的存储单元的预设数量;
从所述映射表的初始位置依次扫描每条记录;
在扫描到连续的所述预设数量的目标记录的情况下,确定所述预设数量的目标记录指示的连续存储单元,其中,所述目标记录表征存储单元处于空闲状态;
将所述连续存储单元确定为所述目标虚拟通道。
13.一种嵌入式系统,其特征在于,包括:芯片、至少两个操作系统,其中,所述芯片包括处理器,所述至少两个操作系统包括实时操作系统和非实时操作系统;
所述至少两个操作系统基于所述处理器运行,所述至少两个操作系统实现权利要求1至12中任意一项所述的故障诊断方法。
14.根据权利要求13所述的嵌入式系统,其特征在于,所述实时操作系统还用于在接收到所述故障信息收集请求后,确定所述故障信息收集请求对应的多个逻辑位信息,根据所述多个逻辑位信息和定时器生成所述故障信息收集对应的平台环境式控制接口信号,并通过所述平台环境式控制接口信号收集所述故障信息。
15.根据权利要求14所述的嵌入式系统,其特征在于,所述实时操作系统还用于根据所述多个逻辑位信息确定所述定时器对应的重装载值和初次匹配值,根据所述重装载值和所述初次匹配值生成所述故障信息收集对应的平台环境式控制接口信号。
16.一种故障诊断装置,其特征在于,包括:
检测单元,用于在非实时操作系统检测到服务器故障的情况下,通过核间通信的方式将故障信息收集请求发送至实时操作系统,其中,所述非实时操作系统和实时操作系统在处理器上运行,并共享所述处理器的内存;
收集单元,用于在所述实时操作系统接收到所述故障信息收集请求后,收集故障信息,并通过核间通信的方式将所述故障信息发送至所述非实时操作系统;
分析单元,用于通过所述非实时操作系统分析故障信息得到故障分析结果,并输出所述故障分析结果。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至12任一项中所述的故障诊断方法。
18.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至12任一项中所述的故障诊断方法。
19.一种BMC芯片,其特征在于,包括:存储单元以及与所述存储单元连接的处理单元,所述存储单元用于存储程序,所述处理单元用于运行所述程序,以执行如权利要求1至12中任意一项所述的故障诊断方法。
20.一种主板,其特征在于,包括:至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1至12中任意一项所述的故障诊断方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310819198.5A CN116541227B (zh) | 2023-07-05 | 2023-07-05 | 故障诊断方法、装置、存储介质、电子装置及bmc芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310819198.5A CN116541227B (zh) | 2023-07-05 | 2023-07-05 | 故障诊断方法、装置、存储介质、电子装置及bmc芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116541227A true CN116541227A (zh) | 2023-08-04 |
CN116541227B CN116541227B (zh) | 2023-09-22 |
Family
ID=87454479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310819198.5A Active CN116541227B (zh) | 2023-07-05 | 2023-07-05 | 故障诊断方法、装置、存储介质、电子装置及bmc芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116541227B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116915583A (zh) * | 2023-09-12 | 2023-10-20 | 苏州浪潮智能科技有限公司 | 通信异常的诊断方法、其装置及电子设备 |
CN117149472A (zh) * | 2023-10-31 | 2023-12-01 | 苏州元脑智能科技有限公司 | 通信方法、装置、计算机可读存储介质以及电子设备 |
CN117555760A (zh) * | 2023-12-29 | 2024-02-13 | 苏州元脑智能科技有限公司 | 服务器监测方法及装置、基板控制器及嵌入式系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411970A (zh) * | 2015-07-28 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种基于服务调用的故障处理方法、装置和系统 |
CN108306939A (zh) * | 2017-12-29 | 2018-07-20 | 深圳市元征科技股份有限公司 | 一种数据处理方法、装置及转发设备 |
CN114879633A (zh) * | 2022-04-28 | 2022-08-09 | 联合汽车电子有限公司 | 诊断仪、电控系统的故障诊断方法及可读存储介质 |
CN116243995A (zh) * | 2023-05-12 | 2023-06-09 | 苏州浪潮智能科技有限公司 | 通信方法、装置、计算机可读存储介质以及电子设备 |
-
2023
- 2023-07-05 CN CN202310819198.5A patent/CN116541227B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411970A (zh) * | 2015-07-28 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种基于服务调用的故障处理方法、装置和系统 |
CN108306939A (zh) * | 2017-12-29 | 2018-07-20 | 深圳市元征科技股份有限公司 | 一种数据处理方法、装置及转发设备 |
CN114879633A (zh) * | 2022-04-28 | 2022-08-09 | 联合汽车电子有限公司 | 诊断仪、电控系统的故障诊断方法及可读存储介质 |
CN116243995A (zh) * | 2023-05-12 | 2023-06-09 | 苏州浪潮智能科技有限公司 | 通信方法、装置、计算机可读存储介质以及电子设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116915583A (zh) * | 2023-09-12 | 2023-10-20 | 苏州浪潮智能科技有限公司 | 通信异常的诊断方法、其装置及电子设备 |
CN116915583B (zh) * | 2023-09-12 | 2024-01-26 | 苏州浪潮智能科技有限公司 | 通信异常的诊断方法、其装置及电子设备 |
CN117149472A (zh) * | 2023-10-31 | 2023-12-01 | 苏州元脑智能科技有限公司 | 通信方法、装置、计算机可读存储介质以及电子设备 |
CN117149472B (zh) * | 2023-10-31 | 2024-02-09 | 苏州元脑智能科技有限公司 | 通信方法、装置、计算机可读存储介质以及电子设备 |
CN117555760A (zh) * | 2023-12-29 | 2024-02-13 | 苏州元脑智能科技有限公司 | 服务器监测方法及装置、基板控制器及嵌入式系统 |
CN117555760B (zh) * | 2023-12-29 | 2024-04-12 | 苏州元脑智能科技有限公司 | 服务器监测方法及装置、基板控制器及嵌入式系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116541227B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116541227B (zh) | 故障诊断方法、装置、存储介质、电子装置及bmc芯片 | |
TWI410789B (zh) | 單晶片系統及用於其之方法 | |
CN116243995B (zh) | 通信方法、装置、计算机可读存储介质以及电子设备 | |
CN103559156B (zh) | 一种fpga与计算机之间的通信系统 | |
CN116302617B (zh) | 共享内存的方法、通信方法、嵌入式系统以及电子设备 | |
US9632557B2 (en) | Active state power management (ASPM) to reduce power consumption by PCI express components | |
CN109240966A (zh) | 一种基于cpld的加速卡、数据采集方法及装置 | |
CN116244229B (zh) | 硬件控制器的访问方法、装置、存储介质和电子设备 | |
CN116719700B (zh) | 服务器主机系统的硬件分区的监测方法及装置 | |
CN116868167A (zh) | 操作系统的运行控制方法和装置,以及嵌入式系统和芯片 | |
CN116830082A (zh) | 嵌入式系统的启动控制方法和装置、存储介质和电子设备 | |
CN117032812B (zh) | 服务器的管理方法、设备、装置、存储介质和电子设备 | |
CN116881929B (zh) | 安全防护方法、装置、电子设备以及基板控制器芯片 | |
CN116302141B (zh) | 串口切换方法、芯片及串口切换系统 | |
CN116521209B (zh) | 操作系统的升级方法及装置、存储介质及电子设备 | |
WO2024082831A1 (zh) | 一种服务器中处理器信息的带外查询/配置方法及服务器 | |
CN116521324B (zh) | 中断虚拟化处理方法、装置及电子设备 | |
CN116848519A (zh) | 硬件接口信号的生成方法、装置及电子设备 | |
CN116868170A (zh) | 嵌入式系统的运行方法和装置、嵌入式系统及芯片 | |
CN116723198A (zh) | 一种多节点服务器主机控制方法、装置、设备、存储介质 | |
CN116257471A (zh) | 一种业务处理方法及装置 | |
CN117555760B (zh) | 服务器监测方法及装置、基板控制器及嵌入式系统 | |
CN117149472B (zh) | 通信方法、装置、计算机可读存储介质以及电子设备 | |
CN117149471B (zh) | 通信方法、装置、嵌入式系统、存储介质以及电子设备 | |
CN115237849B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |