掌桥专利:专业的专利平台
掌桥专利
首页

一种可溯源信息生成方法和装置

文献发布时间:2023-06-19 19:07:35


一种可溯源信息生成方法和装置

技术领域

本申请涉及信息生成技术领域,特别是涉及一种可溯源信息生成方法和装置。

背景技术

在当前的服务器设计上,当遇到有中央处理器(CPU)、高速串行计算机扩展总线(PCIE)、内存等设备运行状态异常等情况时,基本输入输出系统(BaseInput/OutputSystem;BIOS)会触发记录日志(Log)的行为,根据不同的需要和功能设计,会触发给基板管理控制器(Baseboard ManagementController;BMC),或者操作系统等。与此同时,在触发Log的时候,会收集相关的数据,一起发送给接收方,也就是记录log的BMC或者操作系统等。

现有技术中,服务器内部各单元之间发生如触发log记录的信息交互时,系统不会进行记录,技术人员无法根据记录进行复盘;并且,BMC记录的log也不会体现该log是谁触发的;操作系统(OS)在做报错信息处理时,也不会区分报错信息的触发源。进一步地,当技术人员在面对报错的信息或者记录的日志需要进行数据分析时,无法直接准确地获取信息触发源,当需要结合后台数据进行报错分析时,也难以追溯获取相关数据。

因此,急需提出一种能够解决上述技术问题的可溯源信息生成方法、装置、计算机设备和存储介质。

发明内容

基于此,有必要针对上述技术问题,提供一种能够对指令操作结果进行溯源,从而能够更快、更准确地定位问题和解决问题的可溯源信息生成方法和装置。

一方面,提供一种可溯源信息生成方法,所述方法应用于服务器,所述方法包括:

响应于操作触发指令,获取所述操作触发指令的指令触发源发送的源数据及所述指令触发源的信息标识;

基于所述源数据,执行所述操作触发指令,生成第一指令操作结果;

附加所述指令触发源的信息标识至所述第一指令操作结果,生成指令操作结果,以实现信息溯源。

在其中一个实施例中,所述方法还包括:基于每一所述指令触发源生成信息标识,所述信息标识具有唯一性;获取与所述指令触发源交互的信息交互方,广播每一所述指令触发源的信息标识至与其交互的信息交互方。

在其中一个实施例中,所述方法还包括:获取所述操作触发指令的触发时间;基于所述触发时间,生成时间戳;附加所述时间戳至所述指令操作结果。

在其中一个实施例中,所述方法还包括:基于预设的指令操作结果分类规则,将所述指令操作结果进行分类;将分类后的指令操作结果按类别分别存储至预设的内存区。

在其中一个实施例中,将分类后的指令操作结果按类别分别存储至预设的内存区前,所述方法还包括:若所述内存区的存储空间不满足所述指令操作结果的存储要求;则按照先存储先清除的存储空间清除原则对所述内存区的存储空间进行清理直至满足所述指令操作结果的存储要求。

在其中一个实施例中,基于预设的指令操作结果分类规则,将所述指令操作结果进行分类前,所述方法还包括:判断所述指令操作结果是否满足预设的指令操作结果存储要求;若所述指令操作结果满足所述预设的指令操作结果存储要求,则基于预设的指令操作结果分类规则,将所述指令操作结果进行分类;反之,则将所述指令操作结果丢弃。

在其中一个实施例中,所述方法还包括:打印所述指令操作结果生成串口数据。

另一方面,提供了一种可溯源信息生成装置,所述装置包括:

获取单元,以用于响应于操作触发指令,获取所述操作触发指令的指令触发源发送的源数据及所述指令触发源的信息标识;

生成单元,以用于基于所述源数据,执行所述操作触发指令,生成第一指令操作结果;

附加单元,以用于附加所述指令触发源的信息标识至所述第一指令操作结果,生成指令操作结果,以实现信息溯源。

再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

响应于操作触发指令,获取所述操作触发指令的指令触发源发送的源数据及所述指令触发源的信息标识;

基于所述源数据,执行所述操作触发指令,生成第一指令操作结果;

附加所述指令触发源的信息标识至所述第一指令操作结果,生成指令操作结果,以实现信息溯源。

又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

响应于操作触发指令,获取所述操作触发指令的指令触发源发送的源数据及所述指令触发源的信息标识;

基于所述源数据,执行所述操作触发指令,生成第一指令操作结果;

附加所述指令触发源的信息标识至所述第一指令操作结果,生成指令操作结果,以实现信息溯源。

上述可溯源信息生成方法和装置,所述方法包括:响应于操作触发指令,获取所述操作触发指令的指令触发源发送的源数据及所述指令触发源的信息标识;基于所述源数据,执行所述操作触发指令,生成第一指令操作结果;附加所述指令触发源的信息标识至所述第一指令操作结果,生成指令操作结果,以实现信息溯源。基于上述可溯源信息生成方法生成的指令操作结果,无论是遇到报错的系统信息还是记录的日志数据,都可以快速找到相应地触发方和上下文数据,最终达到及时、准确、高效地解决问题的有益效果;

另一方面,所述方法还包括:获取所述操作触发指令的触发时间;基于所述触发时间,生成时间戳;附加所述时间戳至所述指令操作结果。基于所述指令操作结果的时间戳,也可以将报错的系统信息和记录的日志数据与相应地触发源对应起来,以更快、更准确地发现问题、分析问题和解决问题。

附图说明

图1为一个实施例中可溯源信息生成方法的流程示意图;

图2为一个实施例中可溯源信息生成方法的流程示意图;

图3为一个实施例中可溯源信息生成装置的结构框图;

图4为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

实施例一

在一个实施例中,提供了一种可溯源信息生成方法,所述方法应用于服务器的基板管理控制器,所述方法包括以下步骤:

基板管理控制器响应于基本输入输出系统发送的系统事件日志生成触发指令,获取所述系统事件日志生成触发指令的指令触发源(基本输入输出系统)发送的源数据及其信息标识;其中,所述源数据即为用于生成所述系统事件日志的数据;

基板管理控制器基于所述源数据,执行所述系统事件日志生成触发指令,生成第一系统事件日志;

附加所述基本输入输出系统的信息标识至所述第一系统事件日志,生成系统事件事件,以实现信息溯源。

具体地,基本输入输出系统会通过IPMICmd来通知基板管理控制器记录系统事件日志,发送Cmd的同时会将事先与基板管理控制器约定好的信息标识一起随源数据发送给基板管理控制器。各种操作系统也会采用如上所述的方式通知基板管理控制器记录生成系统事件日志。除此之外,随着技术的发展,不排除使用除IPMICmd之外的通信手段如redfish等方式发送系统事件日志触发指令及相应信息标识至基板管理控制器。

在其中一个实施例中,所述方法还包括:对于基本输入输出系统通过SMI等方式,实现与操作系统进行信息交互时,如果发送了系统事件日志触发指令,也可以采用如上所述的可溯源信息生成方法将操作触发指令和触发源的信息标识甚至还可以将上下文数据一起发送给操作方。

在其中一个实施例中,所述服务器包括基本输入输出系统、操作系统等多个有可能或一定会成为指令触发源的软件单元或硬件单元,因此,所述方法还包括:基于每一所述指令触发源生成信息标识,所述信息标识可以是由数字、大小写字母或其他符号组成的具有唯一性的字符串;基于任一所述指令触发源,将任一所述指令触发源的信息标识广播至每一与其交互的信息交互方,以使得当与指令触发源交互的信息交互方接收到操作触发指令时,能够判断是哪一个指令触发源触发的。

基于上述可溯源信息生成方法,解决了现有技术中窜在的在服务器产品研发过程中,或用户使用服务器过程中,如果在基板管理控制器功能异常或者操作系统发现错误信息或系统事件日志的情况时,问题难以定位、难以分析和难以解决的技术难题;基于本申请所述可溯源信息生成方法,当遇到上述技术难题时,可以快速、准确地找到错误信息或者系统事件日志的触发源,并且可以及时获取到上下文数据,从而能够更迅速、准确地对错误信息或系统事件日志进行定位,从而便于更好地对错误信息或系统事件日志进行分析,进而更快更完善的解决问题。

综上所述,基于本申请所述的可溯源信息生成方法,一方面在产品研发的过程中出现了错误信息,减少了分析和解决问题的人力和物力投入,节约了成本;另一方面,如果在用户使用过程中出现了错误信息,用户可以快速地对问题进行定位及解决,从而提升了用户的使用满意度,能够在一定程度上增强产品的竞争力。

在其中一个实施例中,操作系统在错误信息上,也会增加触发所述错误信息的触发源的信息标识,用以标示所述错误信息到底是谁触发的。

在其中一个实施例中,为了能够确保技术人员在对指令操作结果(即记录的系统事件日志或错误信息)进行分析时能够更快、更准确地索引到该指令操作结果的上下文数据,所述方法还包括:获取所述操作触发指令的触发时间;基于所述触发事件,生成时间戳;附加所述事件戳至所述指令操作结果。

在其中一个实施例中,为了便于本领域技术人员对生成的系统事件日志进行复盘分析,所述方法还包括:基于预设的系统事件日志分类规则,将所所述系统事件日志进行分类,将分类后的系统事件日志按类别分别存储至预设的内存区。需要理解的是,所述内存区可以是虚拟内存也可以是实际的硬件内存装置。具体地,可以将系统事件日志存储到保存数据的内存区,或,存储到一个基本输入输出系统可以作读写访问的rom芯片中,或,可以定义一个UEFI规范中的Variable,用规范中专用的GetVariable()/SetVariable()来做读写访问。

在其中一个实施例中,将所述系统事件日志存储至预设的内存区,包括:当系统关机后即对内存区的存储空间进行清除,即只记录系统当前运行期间的系统事件日志。

在其中一个实施例中,为了确保系统事件日志能够顺利地被存储至内存区,将分类后的系统事件日志按类别分别存储至预设的内存区前,所述方法还包括:判断所述内存区的存储空间是否满足所述系统事件日志的存储要求,即判断所述内存区的存储空间是否足够存储所述系统事件日志;若所述内存区的存储空间不满足所述系统事件日志的存储要求;则按照先存储先清楚的存储空间清除原则对所述内存区的存储空间进行清理直至所述内存区的存储空间满足所述系统事件日志的存储要求。

在其中一个实施例中,在对系统事件日志进行存储时,可以不必要将所有的系统事件日志都进行存储,本领域的技术人员可以按照系统事件日志的具体内容、类别及重要等级进行选择性存储,一方面以降低系统存储压力,另一方面,减少线程占用,节约资源消耗。因此,基于预设的系统事件日志分类规则,将所述系统事件日志进行分类前,所述方法还包括:判断所述系统事件日志是否满足预设的系统事件日志存储要求;若所述系统事件日志满足所述预设的系统事件日志存储要求,则基于预设的系统事件日志分类规则,将所述系统事件日志进行分类;反之,则将所述系统事件日志丢弃。

在其中一个实施例中,为了在系统运行器件,能够使用串口收集工具通过串口采集系统事件日志,所述方法还包括:打印所述系统事件日志生成串口数据。

实施例二

在一个实施例中,如图1所示,本申请提供一种可溯源信息生成方法,所述方法应用于服务器,所述方法包括:

响应于操作触发指令,获取所述操作触发指令的指令触发源发送的源数据及所述指令触发源的信息标识;

基于所述源数据,执行所述操作触发指令,生成第一指令操作结果;

附加所述指令触发源的信息标识至所述第一指令操作结果,生成指令操作结果,以实现信息溯源。

在其中一个实施例中,所述方法还包括:基于每一所述指令触发源生成信息标识,所述信息标识具有唯一性;获取与所述指令触发源交互的信息交互方,广播每一所述指令触发源的信息标识至与其交互的信息交互方。

在其中一个实施例中,所述方法还包括:获取所述操作触发指令的触发时间;基于所述触发时间,生成时间戳;附加所述时间戳至所述指令操作结果。

在其中一个实施例中,如图2所示,所述方法还包括:基于预设的指令操作结果分类规则,将所述指令操作结果进行分类;将分类后的指令操作结果按类别分别存储至预设的内存区。

在其中一个实施例中,如图2所示,将分类后的指令操作结果按类别分别存储至预设的内存区前,所述方法还包括:若所述内存区的存储空间不满足所述指令操作结果的存储要求;则按照先存储先清除的存储空间清除原则对所述内存区的存储空间进行清理直至满足所述指令操作结果的存储要求。

在其中一个实施例中,如图2所示,基于预设的指令操作结果分类规则,将所述指令操作结果进行分类前,所述方法还包括:判断所述指令操作结果是否满足预设的指令操作结果存储要求;若所述指令操作结果满足所述预设的指令操作结果存储要求,则基于预设的指令操作结果分类规则,将所述指令操作结果进行分类;反之,则将所述指令操作结果丢弃。

在其中一个实施例中,所述方法还包括:打印所述指令操作结果至串口数据。

应该理解的是,虽然图1-2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

实施例三

在一个实施例中,如图3所示,提供了一种可溯源信息生成装置,包括:获取单元、生成单元和附加单元,其中:

获取单元,以用于响应于操作触发指令,获取所述操作触发指令的指令触发源发送的源数据及所述指令触发源的信息标识;

生成单元,以用于基于所述源数据,执行所述操作触发指令,生成第一指令操作结果;

附加单元,以用于附加所述指令触发源的信息标识至所述第一指令操作结果,生成指令操作结果,以实现信息溯源。

在其中一个实施例中,所述生成单元,还用于基于每一所述指令触发源生成信息标识,所述信息标识具有唯一性;所述获取单元,还用于获取与所述指令触发源交互的信息交互方,广播每一所述指令触发源的信息标识至与其交互的信息交互方。

在其中一个实施例中,所述获取单元,还用于获取所述操作触发指令的触发时间;所述生成单元,还用于基于所述触发时间,生成时间戳;所述附加单元,还用于附加所述时间戳至所述指令操作结果。

在其中一个实施例中,所述装置还包括:分类单元和存储单元;所述分类单元,还用于基于预设的指令操作结果分类规则,将所述指令操作结果进行分类;所述存储单元,还用于将分类后的指令操作结果按类别分别存储至预设的内存区。

在其中一个实施例中,所述装置还包括清除单元,以用于若所述内存区的存储空间不满足所述指令操作结果的存储要求;则按照先存储先清除的存储空间清除原则对所述内存区的存储空间进行清理直至满足所述指令操作结果的存储要求。

在其中一个实施例中,所述装置还包括判断单元,以用于判断所述指令操作结果是否满足预设的指令操作结果存储要求;若所述指令操作结果满足所述预设的指令操作结果存储要求,所述分类单元,还用于基于预设的指令操作结果分类规则,将所述指令操作结果进行分类;反之,则将所述指令操作结果丢弃。

在其中一个实施例中,所述生成单元,还用于打印所述指令操作结果生成串口数据。

关于可溯源信息生成装置的具体限定可以参见上文中对于可溯源信息生成方法的限定,在此不再赘述。上述可溯源信息生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

实施例四

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种可溯源信息生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

响应于操作触发指令,获取所述操作触发指令的指令触发源发送的源数据及所述指令触发源的信息标识;

基于所述源数据,执行所述操作触发指令,生成第一指令操作结果;

附加所述指令触发源的信息标识至所述第一指令操作结果,生成指令操作结果,以实现信息溯源。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

基于每一所述指令触发源生成信息标识,所述信息标识具有唯一性;获取与所述指令触发源交互的信息交互方,广播每一所述指令触发源的信息标识至与其交互的信息交互方。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取所述操作触发指令的触发时间;基于所述触发时间,生成时间戳;附加所述时间戳至所述指令操作结果。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

基于预设的指令操作结果分类规则,将所述指令操作结果进行分类;将分类后的指令操作结果按类别分别存储至预设的内存区。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

若所述内存区的存储空间不满足所述指令操作结果的存储要求;则按照先存储先清除的存储空间清除原则对所述内存区的存储空间进行清理直至满足所述指令操作结果的存储要求。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

判断所述指令操作结果是否满足预设的指令操作结果存储要求;若所述指令操作结果满足所述预设的指令操作结果存储要求,则基于预设的指令操作结果分类规则,将所述指令操作结果进行分类;反之,则将所述指令操作结果丢弃。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

打印所述指令操作结果生成串口数据。

实施例五

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

响应于操作触发指令,获取所述操作触发指令的指令触发源发送的源数据及所述指令触发源的信息标识;

基于所述源数据,执行所述操作触发指令,生成第一指令操作结果;

附加所述指令触发源的信息标识至所述第一指令操作结果,生成指令操作结果,以实现信息溯源。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

基于每一所述指令触发源生成信息标识,所述信息标识具有唯一性;获取与所述指令触发源交互的信息交互方,广播每一所述指令触发源的信息标识至与其交互的信息交互方。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取所述操作触发指令的触发时间;基于所述触发时间,生成时间戳;附加所述时间戳至所述指令操作结果。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

基于预设的指令操作结果分类规则,将所述指令操作结果进行分类;将分类后的指令操作结果按类别分别存储至预设的内存区。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

若所述内存区的存储空间不满足所述指令操作结果的存储要求;则按照先存储先清除的存储空间清除原则对所述内存区的存储空间进行清理直至满足所述指令操作结果的存储要求。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

判断所述指令操作结果是否满足预设的指令操作结果存储要求;若所述指令操作结果满足所述预设的指令操作结果存储要求,则基于预设的指令操作结果分类规则,将所述指令操作结果进行分类;反之,则将所述指令操作结果丢弃。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

打印所述指令操作结果生成串口数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

技术分类

06120115799516