一种数据获取方法、系统、设备以及介质技术方案

技术编号:29296508 阅读:12 留言:0更新日期:2021-07-17 00:57
本发明专利技术公开了一种数据获取方法,包括以下步骤:响应于第一器件检测到硬件异常,修改所述第一器件中与所述硬件对应的第一寄存器的值;将所述第一器件内的第二寄存器中与所述第一寄存器对应的比特位的值更新为预设值;响应于第二器件检测到所述第二寄存器中若干个比特位的值为所述预设值,读取与所述若干个比特位分别对应的第一寄存器的值。本发明专利技术还公开了一种系统、计算机设备以及可读存储介质。本发明专利技术提出的方案通过判断第二寄存器是否存在预设值以使第二器件根据预设值确定相应位置的数据,进而加快第二器件的数据读取速度。进而加快第二器件的数据读取速度。进而加快第二器件的数据读取速度。

【技术实现步骤摘要】
一种数据获取方法、系统、设备以及介质


[0001]本专利技术涉及数据获取领域,具体涉及一种数据获取方法、系统、设备以及存储介质。

技术介绍

[0002]在现有的服务器主板设计中,目前主要都是通过CPLD来获取电源的状态,然后BMC在藉由I2C来读取CPLD内部的寄存器以获取电源的状态。而通常CPLD内部必须预先定义好每个寄存器的位置,这样当BMC读取时才可以藉由已经定义好的寄存器,来获取CPLD内部收集的电源状态。
[0003]但是目前BMC是通过单一位置定义寄存器的方式来获取CPLD内部的数据,而这种传统的定义方式,也让BMC必须将所有的寄存器的数据都读取,才能判别是哪一组电源出现问题。这样的方式不仅花费了BMC的时间,同时也增加了BMC的负担。如图1所示,当BMC需要获取有问题的电源时,必须不定时的先读取第一寄存器1的8组电源,当读完第一寄存器1的8组电源后,才能在读取第一寄存器2的另外8组电源,在依次类推读到最后的第一寄存器8的最后8组电源。当这最后的8组电源都读出来的时,才能得知目前是哪一组电源出现问题。因此当电源的组数很多的时候,将会耗费BMC来存取CPLD的时间,例如假设有16组第一寄存器的电源时,将会多出一倍的时间才能获取全部的电源,最后再来判断哪一组电源出现问题。

技术实现思路

[0004]有鉴于此,为了克服上述问题的至少一个方面,本专利技术实施例提出一种数据获取方法,包括以下步骤:
[0005]响应于第一器件检测到硬件异常,修改所述第一器件中与所述硬件对应的第一寄存器的值;
[0006]将所述第一器件内的第二寄存器中与所述第一寄存器对应的比特位的值更新为预设值;
[0007]响应于第二器件检测到所述第二寄存器中若干个比特位的值为所述预设值,读取与所述若干个比特位分别对应的第一寄存器的值。
[0008]在一些实施例中,将所述第一器件内的第二寄存器中与所述第一寄存器对应的比特位的值更新为预设值,还包括:
[0009]所述第一器件向所述第二器件发送中断信号以使所述第二器件读取所述第二寄存器中的值。
[0010]在一些实施例中,响应于第一器件检测到硬件异常,修改所述第一器件中与所述硬件对应的第一寄存器的值,进一步包括:
[0011]修改所述第一寄存器中与所述硬件对应的比特位的值。
[0012]在一些实施例中,还包括:
[0013]响应于所述第二器件读取完毕,将所述第一器件内的第二寄存器中与所述第一寄存器对应的比特位的值由所述预设值更新为默认值。
[0014]基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种数据获取系统,包括:
[0015]第一器件模块,配置为使第一器件响应于检测到硬件异常,修改所述第一器件中与所述硬件对应的第一寄存器的值;
[0016]更新模块,配置为将所述第一器件内的第二寄存器中与所述第一寄存器对应的比特位的值更新为预设值;
[0017]第二器件模块,配置为使第二器件响应于检测到所述第二寄存器中若干个比特位的值为所述预设值,读取与所述若干个比特位分别对应的第一寄存器的值。
[0018]在一些实施例中,所述更新模块还配置为:
[0019]所述第一器件向所述第二器件发送中断信号以使所述第二器件读取所述第二寄存器中的值。
[0020]在一些实施例中,所述第一器件模块还配置为:
[0021]修改所述第一寄存器中与所述硬件对应的比特位的值。
[0022]在一些实施例中,更新模块还配置为:
[0023]响应于所述第二器件读取完毕,将所述第一器件内的第二寄存器中与所述第一寄存器对应的比特位的值由所述预设值更新为默认值。
[0024]基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机设备,包括:
[0025]至少一个处理器;以及
[0026]存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种数据获取方法的步骤。
[0027]基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种数据获取方法的步骤。
[0028]本专利技术具有以下有益技术效果之一:本专利技术提出的方案通过判断第二寄存器是否存在预设值以使第二器件根据预设值确定相应位置的数据,进而加快第二器件的数据读取速度。
附图说明
[0029]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0030]图1为现有技术中CPLD内部寄存器的示意图;
[0031]图2为本专利技术的实施例提供的数据获取方法的流程示意图;
[0032]图3为本专利技术的实施例提供的CPLD内部寄存器的示意图;
[0033]图4为本专利技术的实施例提供的数据获取系统的结构示意图;
[0034]图5为本专利技术的实施例提供的计算机设备的结构示意图;
[0035]图6为本专利技术的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
[0036]为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。
[0037]需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。
[0038]根据本专利技术的一个方面,本专利技术的实施例提出一种数据获取方法,如图2所示,其可以包括步骤:
[0039]S1,响应于第一器件检测到硬件异常,修改所述第一器件中与所述硬件对应的第一寄存器的值;
[0040]S2,将所述第一器件内的第二寄存器中与所述第一寄存器对应的比特位的值更新为预设值;
[0041]S3,响应于第二器件检测到所述第二寄存器中若干个比特位的值为所述预设值,读取与所述若干个比特位分别对应的第一寄存器的值。
[0042]本专利技术提出的方案通过判断第二寄存器是否存在预设值以使第二器件根据预设值确定相应位置的数据,进而加快第二器件的数据读取速度。
[0043]在一些实施例中,将所述第一器件内的第二寄存器中与所述第一寄存器对应的比特位的值更新为预设值,还包括:
[0044]所述第一器件向所述第二器件发送中断信号以使所述第二器件读取所述第二寄存器中的值。
[0045]在一些实施例中,响应于第一器件检测到硬件异常,修改所述第一器件中与所述硬件对应的第一寄存器的值,进一步包括:本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据获取方法,其特征在于,包括以下步骤:响应于第一器件检测到硬件异常,修改所述第一器件中与所述硬件对应的第一寄存器的值;将所述第一器件内的第二寄存器中与所述第一寄存器对应的比特位的值更新为预设值;响应于第二器件检测到所述第二寄存器中若干个比特位的值为所述预设值,读取与所述若干个比特位分别对应的第一寄存器的值。2.如权利要求1所述的方法,其特征在于,将所述第一器件内的第二寄存器中与所述第一寄存器对应的比特位的值更新为预设值,还包括:所述第一器件向所述第二器件发送中断信号以使所述第二器件读取所述第二寄存器中的值。3.如权利要求1所述的方法,其特征在于,响应于第一器件检测到硬件异常,修改所述第一器件中与所述硬件对应的第一寄存器的值,进一步包括:修改所述第一寄存器中与所述硬件对应的比特位的值。4.如权利要求1所述的方法,其特征在于,还包括:响应于所述第二器件读取完毕,将所述第一器件内的第二寄存器中与所述第一寄存器对应的比特位的值由所述预设值更新为默认值。5.一种数据获取系统,其特征在于,包括:第一器件模块,配置为使第一器件响应于检测到硬件异常,修改所述第一器件中与所述硬件对应的第一寄存器的值;更新模块,配置为将所述第一器件...

【专利技术属性】
技术研发人员:林正中
申请(专利权)人:山东英信计算机技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1