发布信息

一种数据获取方法、装置及电子设备与流程 专利技术说明

作者:admin      2023-07-05 12:05:21     673



计算;推算;计数设备的制造及其应用技术1.本技术涉及数据处理技术,更具体的说,是涉及一种数据获取方法、装置及电子设备。背景技术:2.在现有服务器系统中,当出现异常事件时,主要依靠分析bmc(baseboard managementcontroller,基板管理控制器)与bios(basicinputoutputsystem,基本输入输出系统)的日志来定位问题。但有一些与外设硬件状态有关的问题,往往需要多个部门同事多方合作,各自分析所属环节;另外有一些快速变化信号造成的问题,bmc无法及时记录,就会对分析问题造成障碍。技术实现要素:3.有鉴于此,本技术提供如下技术方案:4.一种数据获取方法,应用于现场可编程逻辑门阵列fpga,包括:5.获得日志数据,所述日志数据为fpga上电后监测到的各类操作与信号的记录数据;6.将所述日志数据发送给基板管理控制器bmc,以使得所述bmc将所述日志数据存储。7.可选地,所述获得日志数据,包括:8.通过高速时钟采样监测信号接口的状态变化,获得与信号状态有关的日志数据。9.可选地,所述获得日志数据,包括:10.基于其他部件发送的请求指令以及fpga自身的响应操作获得与操作有关的日志数据。11.可选地,还包括:12.接收所述bmc发送的时间数据,并基于所述事件数据校正本地时间。13.可选地,所述日志数据包括fpga监测的各类信号、对应信号的产生时间、fpga的控制操作以及其他部件访问寄存器的记录,其中,fpga监测的各类信号包括以下至少一种:处理器、总线设备和/或硬盘设备的复位信号、处理器和/或存储模块的错误触发信号、电源管理器的状态检测信号。14.一种数据获取方法,应用于基板管理控制器bmc,包括:15.从fpga中获得日志数据,所述日志数据为为fpga上电后监测到的各类操作与信号的记录数据;16.将所述日志数据存储于本地文件系统。17.可选地,还包括:18.与外设日志分析工具建立连接;19.将所述日志数据导出至所述外设日志分析工具。20.本技术还公开了一种数据获取装置,应用于现场可编程逻辑门阵列fpga,包括:21.日志收集模块,用于获得日志数据,所述日志数据为fpga上电后监测到的各类操作与信号的记录数据;22.数据发送模块,用于将所述日志数据发送给基板管理控制器bmc,以使得所述bmc将所述日志数据存储。23.一种数据获取装置,应用于基板管理控制器bmc,包括:24.日志获得模块,用于从fpga中获得日志数据,所述日志数据为fpga上电后监测到的各类操作与信号的记录数据;25.日志存储模块,用于将所述日志数据存储于本地文件系统。26.进一步的,本技术还公开了一种电子设备,包括现场可编程逻辑门阵列fpga和基板管理控制器bmc,其中:27.fpga获得日志数据,所述日志数据为fpga上电后监测到的各类操作与信号的记录数据;28.fpga将所述日志数据发送给基板管理控制器bmc;29.bmc将接收到的所述日志数据存储于本地文件系统。30.经由上述的技术方案可知,本技术实施例公开了一种数据获取方法、装置及电子设备,其中,所述方法包括:fpga获得日志数据,所述日志数据为fpga上电后监测到的各类操作与信号的记录数据;fpga将所述日志数据发送给基板管理控制器bmc;以使得bmc将接收到的所述日志数据存储于本地文件系统。上述方案能够将fpga在上电后监测到的信号和操作记录数据与bmc的保存进行关联,实时的将得到的日志数据发送给bmc,使得bmc将接收到的日志数据存储在自身对应的存储区域,从而在服务器系统出现问题时能够基于bmc中存储的fpga的日志数据方便的对一些底层信号以及操作进行分析,确定问题所在。附图说明31.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。32.图1为本技术实施例公开的一种数据获取方法的流程图;33.图2为本技术实施例公开的一个数据获取方法的实现架构示意图;34.图3为本技术实施例公开的编码后的日志数据示例图;35.图4为本技术实施例公开的解码分析工具解码处理后的日志数据示例图;36.图5为本技术实施例公开的解码分析工具的检索界面示例图;37.图6为本技术实施例公开的另一种数据获取方法的流程图;38.图7为本技术实施例公开的一种数据获取装置的结构示意图;39.图8为本技术实施例公开的另一种数据获取装置的结构示意图。具体实施方式40.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。41.本技术实施例可以应用于电子设备,本技术对该电子设备的产品形式不做限定,可以包括但并不局限于智能手机、平板电脑、可穿戴设备、个人计算机(personalcomputer,pc)、上网本等,可以依据应用需求选择。42.图1为本技术实施例公开的一种数据获取方法的流程图。图1所示流程应用于fpga(fieldprogrammablegatearray,现场可编程逻辑门阵列)。参见图1所示,数据获取方法可以包括:43.步骤101:获得日志数据,所述日志数据为fpga上电后监测到的各类操作与信号的记录数据。44.所述日志数据为fpga在上电后正常工作过程中实时收集到的一些数据,这些数据可以包括各类信号有关的数据、一些操作有关的数据等。例如,日志数据可以包括fpga监测的各类信号、对应信号的产生时间、fpga的控制操作以及其他部件访问寄存器的记录等。其中,fpga监测的各类信号可以但不限于包括以下至少一种:处理器、总线设备和/或硬盘设备的复位信号、处理器和/或存储模块的错误触发信号、电源管理器的状态检测信号。45.实现应用中,fpga在服务器内部承担了大量外设监测与控制任务,这些重要的可用于后期故障分析的信息状态都会被fpga收集获得,形成所述日志数据。fpga的外设监测与控制任务可以但不限于包括:开机时序控制电源故障检测、系统故障检测、系统复位控制、前面板及背板点灯控制、硬盘盘序管理、bmc(baseboardmanagementcontroller,基板管理控制器)、bios(basicinputoutputsyste,基本输入输出系统)、背板、转接卡等及其他外设板卡与fpga的所有通讯记录等。在执行这些外设监测与控制任务时,fpga就能够收集到所述日志数据。这些日志数据所涵盖的信号类型及操作内容范围广,从系统开机时序开始,到各种触发信号、本卡板卡状态等,都在fpga日志数据的记录范围。46.具体的,fpga如何获得日志数据,将在后面的实施例内容中详细介绍,在此不再过多说明。47.步骤102:将所述日志数据发送给基板管理控制器bmc,以使得所述bmc将所述日志数据存储。48.由于fpga本身没有存储日志数据的能力,因此,fpga在获得日志数据后,可以通过串口将日志数据发送给bmc。bmc具有独立的存储区域,可以将几首到的日志数据存储到本地文件系统。49.所述日志数据并不是不间断的时刻产生的,而是基于fpga负责监测的信号或控制的操作产生的。也即,只有在监测到某个或某些信号的工作状态发生变化时,或者接收到的其他设备访问寄存器的指令,或者执行了某些操作的时候,才会实时的产生日志数据,并实时的将产生的日志数据发送给bmc。50.需要说明的是,bmc接收到日志数据后,不会对其进行任何处理,而是直接将日志数据进行存储,其在本技术方案中的作用可以是对fpga的日志数据代为保管。这样,也不会消耗额外的bmc资源。51.本实施例所述数据获取方法能够将fpga在上电后监测到的信号和操作记录数据与bmc的保存进行关联,实时的将得到的日志数据发送给bmc,使得bmc将接收到的日志数据存储在自身对应的存储区域,从而在服务器系统出现问题时能够基于bmc中存储的fpga的日志数据方便的对一些底层信号以及操作进行分析,确定问题所在。52.上述实施例中,所述获得日志数据可以包括:通过高速时钟采样监测信号接口的状态变化,获得与信号状态有关的日志数据。53.实际应用中,fpga会监测很多个信号,这些信号在fpga中具有独立的接口,fpga会分别对每一个信号接口进行高速时钟采样,并基于采样结果确定接口对应信号的工作状态,监测信号的动态变化过程。例如,监测第一信号接口处的电平,当该接口处的电平低于0.1v时,认为没有接收到第一信号;当该接口处的电平突然出现大幅的上升,且数值达到1v以上时,认为该接口处出现了第一信号,这时fpga可以记录下第一信号,并记录下产生该第一信号的时间。54.对于日志数据中的与操作相关的数据,其获得方式不同于前述与信号相关的数据的获得。因此,所述获得日志数据,还可以包括:基于其他部件发送的请求指令以及fpga自身的响应操作获得与操作有关的日志数据。55.这里的其他部件,可以是bmc、bios等。在服务器系统工作过程中,bmc和bios会访问fpga的寄存器,fpga可以记录这些访问操作,并基于针对这些访问操作的响应控制记录这些访问操作的处理结果,从而得到与操作相关的日志数据。例如,在第一时间点fpga接收到了bios访问寄存器的请求,fpga响应此访问请求,允许bios读取寄存器内容;fpga可以记录下第一时间点bios的访问寄存器的请求,同时也可以记录bios读取寄存器的持续时间。56.本技术实施例中fpga收集日志数据是通过自身硬件来实现的,因此fpga内部记录所有事件可以达到毫秒级精度,从而可以记录的粒度更细,不会漏掉任何状态变化。对于统一毫秒内的事件,fpga可以区分发生的先后顺序,从而也保证了最终获得的日志数据的精确度。这样,在后续有对fpga的日志数据进行分析的需求时,能够基于精确度非常高的日志数据分析出精确度同样很高的结果。57.以上内容针对fpga日志数据中不同类型数据的获得方式进行了相关介绍,便于领域内技术人员更好的理解获得日志数据的实施方式。58.其他实施例中,数据获取方法除了前述获得日志数据并将日志数据发送给bmc的内容外,还可以包括:接收所述bmc发送的时间数据,并基于所述事件数据校正本地时间。59.具体的,fpga可以接收bmc发送的时间数据,并基于该时间进行同步处理,以保证bmc和fpga时间的统一性。应用中,fpga与bmc的时间同步,能够在后续进行相关分析时方便的进行时间维度上的查找定位。60.具体实现中,bmc可以定时向fpga写入bmc的当前时间,fpga将时间记入日志数据,这样在后续分析查找日志时会非常方便。当然,时间同步的处理可以是周期性的,也可以是在某些事件节点主动触发进行,例如服务器系统每次上电后进行fpga和bmc的时间同步。61.此外,fpga在获得日志数据后,出于对数据安全性的考虑,在将日志数据发送给bmc之前,还可以对日志数据进行编码,并最终将编码后的日志数据通过串口发送给bmc。62.具体的编码方式并没有固定限制,例如对日志数据可以按照比特进行编码,也可以按照字符进行编码。在按照比特进行编码的方式中,用很小的数据量就能够记录体量很大的信息,便于日志数据的传送和保存。实现中,foga的日志数据经过基于比特的编码,再加上时间戳之后的一条日志仅占用28个字节;假如按每秒一条日志计算,记录一天的日志需要2.419m字节。其中,日志产生的多少,要根据事件状态变化的频度决定。这样,fpga如按照比特对日志数据进行自编码,数据量很小,将这些编码的日志数据串口实时输出,能够存储很长一段时间的日志数据。63.bmc分配用于存储fpga日志数据的存储空间是有限的,因此本技术实施例中,可以通过对日志数据进行编码的方式压缩日志数据的数据量,以使得在有限的存储空间中能够尽量存储更多的,或者说更长时间段的日志数据。64.在实际应用中,可设计专用的解码分析工具从bmc的文件系统中导出fpga的日志数据并对其进行分析处理,无需bmc在线解码;这样不占用多余的系统资源,分析过程也不依赖于bmc,避免出现bmc故障而无法对fpga日志数据进行分析的情况出现。65.通过专用的解码分析工具对fpga的日志数据进行处理,能够有效保障日志数据的安全性,这样,即使日志数据被其他非法设备导出,由于其不明确日志数据的编码方式,也无法正确解析获得原始的日志数据。66.图2为本技术实施例公开的一个数据获取方法的实现架构示意图。可结合图2所示内容理解下述记载内容。67.一个具体实现中,系统主板上的fpga与bmc完成fpga相关的信号的监测并存储日志文件,pc端日志分析工具对导出的日志进行分析,排查问题。68.fpga内部的信号监测模块,实现重要信号实时监测,包括cpu、pcie(peripheralcomponentinterconnectexpress,一种高速串行计算机扩展总线标准)设备、nvme(nonvolatilememoryhostcontrollerinterfacespecification,非易失性内存主机控制器接口规范)硬盘的各种复位信号,各种cpu、dimm(dual-inline-memory-modules,双列直插式存储模块)的error触发信号,psu(powersupplyunit,电源供应器)的状态检测信号等,fpga可以检测到20ns精度的信号变化。同时将bmc、bios操作寄存器的读写行为进行记录,将这些记录信息通过调试串口发送出去。fpga的调试串口与bmc相连,bmc将fpga的串口日志存储在本地文件系统中,以备后续分析定位问题。这样,fpga的重要信息日志,就可以通过bmc存成日志文件保存了。69.在需要分析问题时,可以将fpga串口日志从bmc中导出来,再导入至专用的fpga日志分析工具中逐条分析排查问题。本系统实现了一套日志分析软件工具,可以将从bmc中导出的日志,导入到解码分析工具中进行以时间轴为基准的逐个信号的分析。通过导入的日志,可以看到发生错误的相对时间点及该时刻其他信号的状态。图3为本技术实施例公开的编码后的日志数据示例图,图4为本技术实施例公开的解码分析工具解码处理后的日志数据示例图,可结合图3和图4理解前文相关内容。70.一些故障情况下,解码分析工具基于预设的一些处理逻辑,可以自动识别出日志数据中存在的故障数据,如电源故障,系统可直接标识出表示电源故障的日志数据。而其他在一些故障情况下,一些问题需要人工分析,如时序关联问题,则工作人员可以参与进来,查看日志数据定位故障源。因此为了便于分析,还可以对解码分析工具进行设计,使其具有检索功能,这样可以将日志数据中某一个信号的数据单独检索出来独立分析,为相关工作人员提供极大的方便。图5为本技术实施例公开的解码分析工具的检索界面示例图,可结合图5理解前述内容。71.图6为本技术实施例公开的另一种数据获取方法的流程图。图6所示流程应用于基板管理控制器bmc。结合图6所示,数据获取方法可以包括:72.步骤601:从fpga中获得日志数据,所述日志数据为fpga上电后监测到的各类操作与信号的记录数据。73.结合前文实施例内容,bmc通过fpga的串口接收fpga的日志数据。该日志数据可以是fpga实时产生并通过串口发送出来的数据。74.其中,所述日志数据可以但不限于包括fpga监测的各类信号、对应信号的产生时间、fpga的控制操作以及其他部件访问寄存器的记录,其中,fpga监测的各类信号包括以下至少一种:处理器、总线设备和/或硬盘设备的复位信号、处理器和/或存储模块的错误触发信号、电源管理器的状态检测信号。75.所述日志数据可以是经过fpga编码处理的数据。具体采用何种编码方式对日志数据进行编码处理,本技术并不做固定限制,具体可基于实际应用场景的系统配置和需求来确定。76.步骤602:将所述日志数据存储于本地文件系统。77.bmc在接收到fpga的日志数据后,不会对其进行任何处理,而是直接存储在本地文件系统中,以在后续有日志分析需求时支持其他设备导出。78.本实施例中,bmc的作用仅为“帮助”fpga存储器日志数据,而不会进行任何实质性的数据处理,从而不会占用额外的处理资源。79.其他实现中,数据获取方法除了上述从fpga中获得日志数据和将日志数据存储于本地文件系统之外,还可以包括:与外设日志分析工具建立连接;将所述日志数据导出至所述外设日志分析工具。80.在服务器系统出现故障时,需要进行故障分析,因此可以通过专用的日志分析工具将fpga的日志数据从bmc的文件系统中导出,进而对fpga的日志数据进行分析,确定问题所在。81.对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。82.上述本技术公开的实施例中详细描述了方法,对于本技术的方法可采用多种形式的装置实现,因此本技术还公开了一种装置,下面给出具体的实施例进行详细说明。83.图7为本技术实施例公开的一种数据获取装置的结构示意图。图7所示装置应用于现场可编程逻辑门阵列fpga。参见图7所示,数据获取装置70可以包括:84.日志收集模块701,用于获得日志数据,所述日志数据为fpga上电后监测到的各类操作与信号的记录数据。85.数据发送模块702,用于将所述日志数据发送给基板管理控制器bmc,以使得所述bmc将所述日志数据存储。86.本实施例所述数据获取装置能够将fpga在上电后监测到的信号和操作记录数据与bmc的保存进行关联,实时的将得到的日志数据发送给bmc,使得bmc将接收到的日志数据存储在自身对应的存储区域,从而在服务器系统出现问题时能够基于bmc中存储的fpga的日志数据方便的对一些底层信号以及操作进行分析,确定问题所在。87.一个实现中,所述日志收集模块具体可用于:通过高速时钟采样监测信号接口的状态变化,获得与信号状态有关的日志数据。88.一个实现中,所述日志收集模块具体可用于:基于其他部件发送的请求指令以及fpga自身的响应操作获得与操作有关的日志数据。89.一个实现中,数据获取装置还可以包括:时间同步模块,用于接收所述bmc发送的时间数据,并基于所述事件数据校正本地时间。90.一个实现中,所述日志数据包括fpga监测的各类信号、对应信号的产生时间、fpga的控制操作以及其他部件访问寄存器的记录,其中,fpga监测的各类信号包括以下至少一种:处理器、总线设备和/或硬盘设备的复位信号、处理器和/或存储模块的错误触发信号、电源管理器的状态检测信号。91.图8为本技术实施例公开的另一种数据获取装置的结构示意图。图8所示装置应用于基板管理控制器bmc。参见图8所示,数据获取装置80可以包括:92.日志获得模块801,用于从fpga中获得日志数据,所述日志数据为fpga上电后监测到的各类操作与信号的记录数据;93.日志存储模块802,用于将所述日志数据存储于本地文件系统。94.本实施例中,bmc的数据获取装置的作用仅为“帮助”fpga存储器日志数据,而不会进行任何实质性的数据处理,从而不会占用额外的处理资源,在后续需要进行故障分析时,可以及时提供出文件系统存储的fpga的日志数据,以便于故障原因的及时确定。95.一个实现中,数据获取装置还可以包括:导出处理模块,用于与外设日志分析工具建立连接;将所述日志数据导出至所述外设日志分析工具。96.上述数据获取装置及各个模块的具体实现,可参见方法实施例中相应部分的内容介绍,在此不再重复赘述。97.上述实施例中的所述的任意一种数据获取装置包括处理器和存储器,上述实施例中的日志收集模块、数据发送模块、日志获得模块、日志存储模块、时间同步模块、导出处理模块等均作为程序模块存储在存储器中,由处理器执行存储在所述存储器中的上述程序模块来实现相应的功能。98.处理器中包含内核,由内核去存储器中调取相应的程序模块。内核可以设置一个或多个,通过调整内核参数来实现回访数据的处理。99.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。100.在示例性实施例中,还提供了一种计算机可读存储介质,可直接加载到计算机的内部存储器,其中含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述数据获取方法任一实施例所示步骤。101.在示例性实施例中,还提供一种计算机程序产品,可直接加载到计算机的内部存储器,其中含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述所述的数据获取方法任一实施例所示步骤。102.本技术还公开了一种电子设备,包括现场可编程逻辑门阵列fpga和基板管理控制器bmc,其中:fpga获得日志数据,所述日志数据为fpga上电后监测到的各类操作与信号的记录数据;fpga将所述日志数据发送给基板管理控制器bmc;bmc将接收到的所述日志数据存储于本地文件系统。103.该方案能够将fpga在上电后监测到的信号和操作记录数据与bmc的保存进行关联,实时的将得到的日志数据发送给bmc,使得bmc将接收到的日志数据存储在自身对应的存储区域,从而在服务器系统出现问题时能够基于bmc中存储的fpga的日志数据方便的对一些底层信号以及操作进行分析,确定问题所在。104.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。105.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。106.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。107.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部