数据获取方法、相关设备及存储介质与流程

文档序号:31539088发布日期:2022-09-16 23:22阅读:93来源:国知局
数据获取方法、相关设备及存储介质与流程

1.本发明涉及数据处理技术领域,尤其涉及一种数据获取方法、设备、电子设备及存储介质。


背景技术:

2.相关技术中,由第一次失败数据获取(fddc,first failure data capture)工具获取到的fddc数据(第一次失败数据)在作为参考数据时,可为维护或维修人员对服务器进行故障或异常排查提供了很好的依据。其中,fddc数据的获取过程为:通过维护或维修人员向基板管理控制器(bmc,baseboard management controller)的网页(web)界面输入指令、bmc运行的符合智能平台管理接口(ipmi,intelligent platform management interface)规范的进程对该指令进行响应而实现对fddc数据的自动获取。
3.可以理解,如果bmc的上网功能(如无法正常显示web界面)和符合ipmi规范的进程中至少之一出现问题,将无法成功获取到fddc数据。


技术实现要素:

4.本发明提供了一种数据获取方法、设备、电子设备及存储介质,以至少解决现有技术中存在的以上技术问题。
5.根据本发明的第一方面,提供了一种数据获取方法,应用于基板管理控制器bmc中,所述方法包括:
6.所述bmc运行的第一目标进程获得由所述bmc外部的触发控制器触发的符合预设条件的第一目标指令;
7.所述第一目标进程响应所述第一目标指令,对用于供进行故障或异常排查的第一目标数据进行获取,所述第一目标数据为第一次失败数据。
8.上述方案中,所述bmc还包括第二目标进程;
9.所述第二目标进程用于在获得由所述bmc触发的第二目标指令的情况下,响应所述第二目标指令,对第一目标数据进行获取。
10.上述方案中,所述方法还包括:
11.在所述第二目标进程响应所述第二目标指令获取所述第一目标数据失败的情况下,所述第一目标进程检测是否存在所述第一目标指令以获得所述第一目标指令。
12.上述方案中,在所述对用于供进行故障或异常排查的第一目标数据进行获取之后,所述方法还包括:
13.所述第一目标进程将所述第一目标数据进行存储;和/或,
14.所述第一目标进程将所述第一目标数据进行传输。
15.上述方案中,在将所述第一目标数据进行存储之后,
16.所述第一目标进程将所述第一目标数据进行传输,包括:
17.在第二目标进程响应第三目标指令成功获取第二目标数据的情况下,所述第一目
标进程将第二目标数据和存储的第一目标数据进行传输;
18.其中,所述第三目标指令为通过所述bmc触发的用于获取所述第二目标数据的指令;所述第二目标数据为晚于所述第一目标数据的用于供故障或异常排查的第一次失败数据。
19.上述方案中,所述第一目标进程将所述第一目标数据进行传输,包括:
20.在存在目标配置信息的情况下,所述第一目标进程将所述第一目标数据进行传输;其中,所述目标配置信息表征为需传输所述第一目标数据的配置信息。
21.上述方案中,所述第二目标进程为所述bmc中符合智能平台管理接口ipmi规范的用于获取第一次失败数据的进程。
22.根据本发明的第二方面,提供了一种数据获取设备,包括:
23.获得单元,用于利用基板管理控制器bmc中运行的第一目标进程获得由所述bmc外部的触发控制器触发的符合预设条件的第一目标指令;
24.响应单元,用于通过所述第一目标进程响应所述第一目标指令、对用于供进行故障或异常排查的第一目标数据进行获取而得到第一目标数据,所述第一目标数据为第一次失败数据。
25.根据本发明的第三方面,提供了一种电子设备,包括:
26.至少一个处理器;以及
27.与所述至少一个处理器通信连接的存储器;其中,
28.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明所述的方法。
29.根据本发明的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本发明所述的方法。
30.本发明提供了一种数据获取方法、设备、电子设备及存储介质,其中,所述方法包括:所述bmc运行的第一目标进程获得由所述bmc外部的触发控制器触发的符合预设条件的第一目标指令;所述第一目标进程响应所述第一目标指令,对用于供进行故障或异常排查的第一目标数据进行获取,所述第一目标数据为第一次失败数据。
31.本发明技术方案,由第一目标进程对来自bmc外部的触发控制器触发的符合预设条件的第一目标指令的响应实现对fddc数据的获取,至少可在由于web和/或符合ipmi规范的进程出现故障而导致无法成功获取到fddc数据的情况、实现对fddc数据的正常获取。
32.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
33.通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
34.在附图中,相同或对应的标号表示相同或对应的部分。
35.图1示出了本发明实施例数据获取方法的实现流程示意图一;
36.图2示出了本发明实施例bmc、bios和fpga的通信框图;
37.图3示出了本发明实施例数据获取方法的整体实现示意图;
38.图4示出了本发明实施例数据获取方法的实现流程示意图二;
39.图5示出了本发明实施例数据获取方法的实现流程示意图三;
40.图6示出了本发明实施例数据获取方法的实现流程示意图四;
41.图7示出了本发明实施例数据获取设备的组成结构示意图;
42.图8示出了本发明实施例一种电子设备的组成结构示意图。
具体实施方式
43.为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
45.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
46.在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以、除了在这里图示或描述的以外的顺序实施。
47.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
48.应理解,在本技术的各种实施例中,各实施过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
49.为方便描述,将相关技术中的可对从web界面输入的指令进行响应、bmc中运行的符合ipmi规范的进程视为ipmi进程。
50.本发明技术方案的数据获取方法能够在相关技术中web和ipmi进程无法实现正常通信而导致的无法成功获取到fddc数据的情况下,基于bmc中的第一目标进程实现对fddc数据的获取,实现了对fddc数据的正常获取,避免了由于无法成功获取fddc数据而无法排查出故障或异常情况的出现。
51.在对本发明技术方案做介绍之前,先对可能使用到的本领域的技术术语进行说明:ffdc工具是一个内置在websphere application server(websphere应用服务器)运行时中的工具。该工具试图在发生可能的非正常情况时,自动捕获并保存关键信息。ffdc工具将监视服务器操作过程中引发的所有异常。一旦引发一个异常,将对其进行实时检查,以确定它是否属于非预期的异常,或是否属于某个可能正在发生的问题的一部分。如果是,ffdc工具向文件中写入一条ffdc事故记录。维护人员可以对这些ffdc事故记录进行事后检查,
以深入了解发生的情况。本发明实施例中的fddc数据可以为两个及以上的fddc事故记录的集合。
52.本发明提供数据获取方法的实施例应用于bmc中。
53.在实际应用中,bmc可作为一个嵌入式设备或系统,嵌入至服务器中,实现对服务器的状态的监控。如监控服务器的风扇的转速、湿度、温度、中央处理器(cpu)占用情况、电源使用情况等,以实现对服务器的监控。
54.本发明提供的服务器可以为任何合理的服务终端,如普通服务器、云服务器、集群服务器。针对嵌入有bmc的服务器,还包括有操作系统(os)、基本输入输出系统(bios)。os和bios均为服务器的业务实现功能如上网、输出音视频等而服务。bmc可与os、bios进行通信。
55.本发明实施例的bmc包括有第一目标进程和第二目标进程。
56.其中,第二目标进程为相关技术中可基于用户向web界面输入的指令实现对fddc数据进行获取的ipmi进程。即,第二目标进程为bmc已有的符合智能平台管理接口(ipmi)规范的用于获取第一次失败数据的进程。简言之,第二目标进程为bmc已有的用于获取fddc的ipmi进程。考虑到web界面是bmc可显示的操作界面、ipmi进程为运行在bmc中的进程,用于获取fddc数据的指令是用户向web界面输入的,所以将相关技术中的基于web和ipmi之间的通信实现的fddc数据的获取的过程可视为在获取fddc数据的指令是由bmc内部触发的指令的情况下由第二目标进程进行fddc数据获取的过程。
57.其中,第一目标进程为独立进程,不同于可与web进行通信的ipmi进程。第一目标进程可以是在基于web和ipmi进程之间的通信而无法成功获取到fddc数据的情况下、专门用于实现fddc数据获取的进程。
58.与第一目标进程在获得由bmc内部触发的指令去获取fddc数据的方案不同,本发明中的第二目标进程可在获得由bmc外部触发的指令的情况下去执行fddc数据的获取方案。即,从指令获得的角度去看,第一目标进程在获得bmc外部指令的情况下去执行fddc数据的获取,第二目标进程在获得bmc内部指令的情况下去执行fddc数据的获取。
59.在具体实现上,第一目标进程可以是符合bmc的ipmi规范的进程,还可以为符合其他合理规范的进程。第一目标进程可独立于bmc中的已有进程,进行fddc数据的获取过程的独立处理。其中,所述已有进程包括前述的可基于用户通过web界面输入的指令而执行fddc数据获取的ipmi进程,即第二目标进程。
60.第一目标进程的独立运行以及对fddc数据获取过程的独立处理,可在基于web和ipmi进程之间的交互无法成功获取到fddc数据的情况下,不易受其他进程如ipmi进程的干扰,可实现对fddc数据的独立获取,以避免fddc无法及时获取而造成的无法进行故障排查的问题。
61.本发明提供数据获取方法的第一实施例,如图1所示,所述方法包括:
62.s101:所述bmc运行的第一目标进程获得由所述bmc外部的触发控制器触发的符合预设条件的第一目标指令;
63.s102:所述第一目标进程响应所述第一目标指令,对用于供进行故障或异常排查的第一目标数据进行获取,所述第一目标数据为第一次失败数据(fddc数据)。
64.s101~s102中,由不同于第二目标进程的独立进程-第一目标进程实现对fddc数据的正常获取,以避免相关技术由于web和/或第二目标进程出现故障而导致无法成功获取
到fddc数据的问题。其中,在运行的第一目标进程获得由bmc外部的触发控制器触发的符合预设条件的第一目标指令下,对该第一目标指令进行响应以进行fddc数据的获取,还可保证在准确的指令触发下第一目标进程实现对fddc数据的正常获取,以避免基于错误指令进行数据的获取而带来的问题。
65.综上,s101~s102的方案,由第一目标进程对来自bmc外部的触发控制器触发的符合预设条件的第一目标指令的响应实现对fddc数据的正常获取,至少可在web和/或第二目标进程出现故障而无法成功获取到fddc数据的情况下实现fddc数据的正常获取。
66.此外,利用bmc的外部触发控制器对bmc、具体是第一目标进程的触发实现对fddc数据的获取,提供了一种新颖的fddc数据获取途径。
67.本发明实施例中,用于对bmc进行外部触发的触发控制器可以是服务器中任何位于bmc的外部且能够与bmc进行通信的合理组件。如,触发控制器为服务器中的bios。触发控制器为服务器中的任何合理芯片,如现场编程阵列逻辑(fpga)芯片、数字信号处理(dsp)芯片。
68.本发明实施例中,如图2所示,bmc能够分别与bios、fpga芯片、dsp芯片进行通信,以获得能够使第一目标进程进行fddc数据获取的指令。
69.可以理解,用于使第一目标进程进行fddc数据的获取的指令可来源于bios、fpga芯片和dsp芯片中的其中之一。利用来源于bios、fpga芯片、dsp芯片中的其中之一的用于使第一目标进程进行fddc数据的获取的指令进行fddc数据的获取,可在由于web和/或第二目标进程出现故障而导致无法成功获取到fddc数据的情况、实现对fddc数据的正常获取。
70.另外,利用服务器已有的组件如bios、fpga芯片、dsp芯片对第一目标进程进行指令的触发,无需额外设置触发控制器,可大大减少支出成本,实现对已有组件的合理复用。如果将触发控制器视为服务器的一部分资源,则大大提高了服务器资源的利用率。该方案在工程上可行性高、易于实现。
71.以触发控制器为bios为例,对来源于(bmc外部的)bios的指令,还需符合预设条件,才能将其视为使第一目标进程进行fddc数据获取的指令。这是考虑到:在实际应用中,bios可通过三条预设通道如kcs 1通道、kcs 2通道和kcs 3通道与bmc进行通信。为了bmc实现第一目标进程的功能以及其他已有功能,需从三条预设通道中,预先挑选出其中一条通道如kcs 3通道作为为第一目标进程进行服务的目标通道。
72.第一目标进程接收到通过预设的目标通道从bios传输至bmc的指令为符合预设条件的第一目标指令。该指令可被认为是使第一目标进程进行fddc数据获取的指令。其中,在来源于bios的指令是通过预设的目标通道从bios传输至bmc的指令可视为符合预设条件的指令。
73.以触发控制器为fpga芯片为例,对来源于(bmc外部的)fpga芯片的指令,还其需要符合预设条件,才能将其视为使第一目标进程进行fddc数据获取的指令。这是考虑到:在实际应用中,fpga芯片可向bmc发送已有指令。为区分fpga芯片向bmc发送的是已有指令还是使第一目标进程进行fddc数据获取的指令,fpga芯片对自身产生的指令的类型进行标识。如,用数字0标识该指令的类型为第一类型,该指令为已有指令;用数字1标识该指令类型为第二类型,该指令为使第一目标进程进行fddc数据获取的指令。
74.在第一目标进程接收到来自fpga芯片的指令情况下,对指令类型进行分析,如果
经分析发现指令类型是用数字1标注的,则认为该指令的类型是第二类型、该指令为预定类型的指令,即该指令使第一目标进程进行fddc数据获取的指令。
75.以上的指令类型的标注方式还可以为其他任何合理的方式,不作具体限定。其中,针服务器的同一实体按键,fpga芯片可在检测到对该按压的操作时长来实现对不同类型的指令的生成。如按压时长超过预设的时长阈值,则生成第二类型的指令,否则,生成第一类型的指令。也可以针对服务器的同一虚拟按键,fpfa芯片检测对该虚拟按键的操作时长的大小、操作方向的不同(如上滑、下滑)来实现对不同类型的指令的生成。
76.简言之,第一目标进程接收到来自fpga芯片、且指令为预定类型的指令为符合预设条件的第一目标指令。该指令可被认为是使第一目标进程进行fddc数据获取的指令。其中,在来源于bios的指令是预定类型的指令可视为符合预设条件的第一目标指令。
77.以上是以外部的触发控制器为fpga芯片和bios为例进行的说明,触发控制器为dsp芯片的情形请参见触发控制器为fpga芯片的情形而理解,不赘述。此外,除了以上所述的触发控制器,其他任何合理的触发控制器均覆盖在本发明实施例的保护范围内。
78.本发明实施例中,第二目标进程用于在获得由bmc触发的第二目标指令的情况下,响应所述第二目标指令,对第一目标数据进行获取。可以理解,结合图2所示,第二目标指令为用户通过bmc的web界面而输入的用于使第二目标进程获取fddc数据的指令。
79.具体的,bmc的上网功能正常,可正常显示web界面,用户在web界面中输入使第二目标进程获取fddc数据的指令(第二目标指令),检测到该输入指令的web功能模块将该指令发送至ipmi进程,如果ipmi进程正常,ipmi进程响应该指令,读取fddc数据并存储到第一存储位置。web功能模块去第一存储位置处读取fddc数据。
80.以上内容为相关技术中基于web和ipmi进程之间的通信实现的fddc数据获取的过程。其中,第一存储位置可以任何合理的存储空间,如嵌入式多媒体卡(emmc,embedded multimediacard)、硬盘、u盘等存储器。
81.可以理解,在web和/或ipmi进程中的至少之一出现问题的情况下,则按照相关技术则无法实现对fddc数据的成功获取。为实现对fddc数据的正常获取,启用本发明实施例的技术方案。
82.以触发控制器为bios和fpga芯片为例,在第二目标进程响应第二目标指令获取第一目标数据失败的情况下,第一目标进程检测是否存在第一目标指令以获得第一目标指令。结合图2和图3所示,示例性地,检测是否存在通过预设的目标通道从bios传输至bmc的指令、和/或是否存在来自fpga芯片的预定类型的指令。如果检测存在通过预设的目标通道从bios传输至bmc的指令、和/或存在来自fpga芯片的预定类型的指令,则检测到存在第一目标指令,第一目标进程对第一目标指令进行响应,读取fddc数据,以实现对第一目标数据的获取。
83.其中,考虑到fddc数据的数量可能很多,所以读取fddc数据需要一定的时间,在读取完成的情况下,将fddc数据存储到第二存储位置。
84.可以理解,按照相关技术获取fddc数据失败,可能是由于web和ipmi进程中的至少之一出现问题而导致的,还可能因为其他原因导致的,比如存储有fddc数据的emmc的读功能失效,web功能模块无法成功读取fddc数据。
85.在第二目标进程响应第二目标指令获取第一目标数据失败的情况下,由第一目标
进程获取的第一目标数据可包括表征第二目标进程响应于第二目标指令获取所述第一目标数据失败的原因数据。如,包括在第二目标进程接收并响应于第二目标指令时而记录下的由于web和ipmi之间的通信而产生的日志数据。该日志数据的获取可为排查该次fddc数据因为何种原因未实现成功获取提供了一定的数据依据。
86.其中,在web和ipmi进行通信的过程中,虚拟文件系统(proc)会记录由于web和ipmi之间的通信而产生的日志数据,第一目标进程可从proc中进行该日志数据的读取并备份,并将其作为fddc数据的一部分。
87.当然,在第二目标进程响应第二目标指令获取第一目标数据失败的情况下,由第一目标进程获取的第一目标数据还包括其他任何合理的令服务器产生异常的日志数据。如,表示风扇转速异常的日志数据、表示emmc的读功能无法正常使用的日志数据。
88.维护人员可基于获取的第一目标数据而实现对服务器故障原因的准确、全面排查。
89.在一些可选实施例中,如图4所示,在对用于供进行故障或异常排查的第一目标数据进行获取之后,所述方法还包括:s103:所述第一目标进程将所述第一目标数据进行存储。以备后续将第一目标数据作为参考数据,供维修人员进行故障排查。
90.这里,第一目标进程可将第一目标数据存储到第二存储位置。其中,第二存储位置与第一存储位置不同。所述不同指的是:将第一目标数据存储到与第一存储位置不同的emmc、硬盘或u盘。或者,将第一目标数据存储到与第一存储位置相同的emmc、硬盘或u盘,但需通过对相同emmc、硬盘或u盘的不同物理区间的划分而区分开。
91.示例性地,将第一目标数据存储到emmc 1,将基于web和ipmi进程的通信而成功获取到的fddc数据存储到emmc 2。或者,将第一目标数据存储到硬盘的c区,将基于web和ipmi进程而成功获取到的fddc数据存储到硬盘的d区。
92.可以理解,本发明实施例中将基于web和ipmi进程的通信而成功获取到的fddc数据、以及在基于web和ipmi进程的通信获取fddc失败情况下利用第一目标进程而得到的fddc数据存储到不同的位置。以方便后续从不同的位置中读取fddc数据时,基于位置的不同即可获知fddc数据是在何种情况下获取到的,可在一定程度上指引维护人员的排查方向。
93.例如,如果fddc数据是从第二存储位置中读取出的,则认为基于web和ipmi进程的通信获取fddc失败的原因可重点从web出错、和/或ipmi进程出错这个方向上去排查。
94.在一些可选实施例中,如图5所示,在对用于供进行故障或异常排查的第一目标数据进行获取之后,所述方法还包括:s104:所述第一目标进程将所述第一目标数据进行传输。
95.可以理解,第一目标数据是由bmc的第一目标进程获取的、即在bmc本地获取的。在维护人员不方便在bmc本地查看的情况下,第一目标进程可将第一目标数据从bmc传输至、方便维护人员查看的终端或设备,以令其依据fddc数据进行故障排查。
96.在实际应用中,如果维护人员有需要将fddc数据传输至其终端或设备的需求,则其可在服务器的bios中进行目标配置信息的配置。在第一目标进程获取到第一目标数据的情况下,判断bios中是否存在目标配置信息,如果存在,则第一目标进程将第一目标数据进行传输。
97.其中,bios可提供biossetupmenu(配置菜单),在菜单中具有一选项如对简单文件传输协议(tftp,trivial file transfer protocol)的勾选项,当该选项被勾选时,说明存在目标配置信息。当该选项未被勾选时,说明不存在目标配置信息。
98.前述方案可视在bios中实现对目标配置信息的配置的方案。在bios存在目标配置信息的情况下,可采用tftp协议将fddc数据传输至可方便用维护人员查看的终端或设备。
99.还可以,在实际应用中,第一目标进程检测维护人员通过bmc的目标按键而输入的想用查看fddc数据的指令,基于该指令实现对第一目标数据的传输。其中,目标按键为可实现为维护人员提供fddc数据这一功能的实体按键或虚拟按键。该按键可以与服务器已有按键进行服用,还可以额外设置。
100.在一些可选实施例中,如图6所示,所述方法还包括:s105:所述第一目标进程将所述第一目标数据进行存储、以及将所述第一目标数据进行传输。
101.在按照相关技术无法成功获取fddc数据,而利用本发明实施例中的第一目标进程实现对fddc数据的成功获取的情况下,第一目标进程可将其获取的第一目标数据先存储、再进行传输,或者先传输再存储,具体不作限定。
102.其中,存储和传输的目的请参见前述相关说明,不赘述。
103.在一些可选实施例中,在将所述第一目标数据进行存储之后,所述第一目标进程将所述第一目标数据进行传输,包括:
104.在所述第二目标进程响应第三目标指令成功获取所述第二目标数据的情况下,所述第一目标进程将所述第二目标数据和存储的所述第一目标数据进行传输;其中,所述第三目标指令为通过所述bmc内部触发的用于获取所述第二目标数据的指令;所述第二目标数据为晚于所述第一目标数据的用于供故障或异常排查的第一次失败数据。
105.前述方案中,如果第m次、利用相关技术无法成功获取fddc数据,而利用本方案中的第一目标进程实现fddc数据成功获取的情况下,第一目标进程可将对fddc数据进行存储。其中,m为大于等于1的正整数。
106.待到将服务器或bmc重启后,web和ipmi进程恢复正常,基于用户通过bmc的web界面输入的获取fddc数据的指令(第三目标指令),ipmi进程响应该指令并获取fddc数据,将其存储到第一存储位置。如果此次成功获取的fddc数据被视为第m+1次成功获取到的fddc数据,则将在第m+1次获取到的fddc数据(第二目标数据),以及在第二存储位置中存储的、第m次利用相关技术无法成功获取fddc数据、而利用本方案中的第一目标进程成功获取的fddc数据(第一目标数据)一同进行传输至方便查看的终端或设备。
107.前述方案,相当于在下次web和ipmi进程恢复正常情况下获取的fddc数据和上次基于web和ipmi进程之间的通信无法成功获取fddc数据、而利用本发明实施例中的第一目标进程成功获取的fddc数据,一起作为待传输数据,传输至、方便维护人员查看的终端或设备。
108.可以理解,第一目标数据和第二目标数据均为fddc数据。第一目标数据为针对第m次数据获取过程而产生的fddc数据。第二目标数据为针对第m+1次数据获取过程产生的fddc数据。二者表示的是在不同时间段内的服务器的fddc事故异常记录。
109.如此,可令维护人员一并利用两个时间段内的异常记录实现对不同时间段内的可能产生的异常进行排查。以避免由于第一目标数据未被传输而导致的原因未排查明的问
题。
110.综上,本发明实施例中,由bmc中不同于已有的ipmi进程-第一目标进程实现对fddc数据的正常获取,可大大避免由于web和/或ipmi进程出现故障而导致无法成功获取到fddc数据的问题。
111.此外,第一目标进程是在获得由bmc外部的触发控制器触发的符合预设条件的第一目标指令下,实现对fddc数据的获取,保证在准确的指令对执行fddc数据的获取流程,可避免基于错误指令进行数据的获取而带来的问题。
112.再有,利用bmc的外部触发控制器对bmc、具体是第一目标进程的触发实现对fddc数据的获取,提供了一种新颖的fddc数据获取途径。有效利用了bmc的外部触发控制器,如果将触发控制器视为服务器的一部分资源,则大大提高了服务器资源的利用率。该方案在工程上可行性高、易于实现。
113.本发明还提供一种数据获取设备的实施例,如图7所示,所述设备包括:
114.获得单元701,用于利用基板管理控制器bmc中运行的第一目标进程获得由所述bmc外部的触发控制器触发的符合预设条件的第一目标指令;
115.响应单元702,用于通过所述第一目标进程响应所述第一目标指令、对用于供进行故障或异常排查的第一目标数据进行获取而得到第一目标数据,所述第一目标数据为第一次失败数据。
116.在一个可选方案中,所述bmc还包括第二目标进程;
117.所述第二目标进程用于在获得由所述bmc触发的第二目标指令的情况下,响应所述第二目标指令,对第一目标数据进行获取。
118.在一个可选方案中,在所述第二目标进程响应所述第二目标指令获取所述第一目标数据失败的情况下,获得单元701,用于通过所述第一目标进程检测是否存在所述第一目标指令以获得所述第一目标指令。
119.在一个可选方案中,所述设备还包括存储单元和传输单元;其中,
120.所述存储单元,用于利用所述第一目标进程将所述第一目标数据进行存储;和/或,
121.所述传输单元,用于利用所述第一目标进程将所述第一目标数据进行传输。
122.在一个可选方案中,所述传输单元,用于在所述第二目标进程响应第三目标指令成功获取所述第二目标数据的情况下,利用所述第一目标进程将所述第二目标数据和存储的所述第一目标数据进行传输;
123.其中,所述第三目标指令为通过所述bmc触发的用于获取所述第二目标数据的指令;所述第二目标数据为晚于所述第一目标数据的用于供故障或异常排查的第一次失败数据。
124.在一个可选方案中,所述传输单元,用于在所述bios存在目标配置信息的情况下,利用所述第一目标进程将所述第一目标数据进行传输;其中,所述目标配置信息表征为需传输所述第一目标数据的配置信息。
125.在一个可选方案中,所述第二目标进程为所述bmc中符合智能平台管理接口ipmi规范的用于获取第一次失败数据的进程。
126.在实现上,数据获取设备可以为一种可在bmc中设置的装置,可以为bmc。
127.需要说明的是,本技术实施例的数据获取设备,由于该数据获取设备解决问题的原理与前述的数据获取方法相似,因此,基于数据获取设备的实施过程及实施原理均可以参见前述数据获取方法的实施过程及实施原理描述,重复之处不再赘述。
128.根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。
129.图8示出了可以用来实施本发明的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
130.如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
131.设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
132.计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如数据获取方法。例如,在一些实施例中,数据获取方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram 803并由计算单元801执行时,可以执行上文描述的数据获取方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据获取方法。
133.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
134.用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处
理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
135.在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
136.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
137.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
138.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
139.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明公开的技术方案所期望的结果,本文在此不进行限制。
140.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
141.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1