一种用于快速读取现场可更换单元信息的方法转让专利

申请号 : CN201110391922.6

文献号 : CN103135703B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 余璘

申请人 : 英业达科技有限公司英业达股份有限公司

摘要 :

本发明提供了一种快速读取FRU信息的方法,应用于包含多个节点的机柜系统中,该方法包括:提供一侦测单元,其连接至多个节点;预先定义一链表,并预设侦测单元与一节点通信的次数N;将N次通信所需的通信参数加入链表并执行,以获取该节点的部分FRU信息;计算获取该节点的全部FRU信息所需的通信次数M;以及将侦测单元与节点之间的(M‑N)次通信所需的通信参数加入链表并执行,以获取所述节点的其余FRU信息。采用本发明,通过预设侦测单元与一节点通信的通信次数来得到部分FRU信息,进而根据该部分FRU信息来计算获取全部FRU信息。因此,该方法提高了节点FRU信息的读取速度,并且能够保证节点FRU信息的实时性。

权利要求 :

1.一种快速读取现场可更换单元信息的方法,应用于包含多个节点的机柜系统中,其特征在于,该方法包括:a提供一侦测单元,该侦测单元连接至所述多个节点;

b预先定义一链表,并预设所述侦测单元与所述多个节点中的一节点通信的次数N,其中,N为自然数;

c将所述侦测单元与所述节点之间N次通信所需的通信参数加入所述链表中,并执行所述侦测单元与所述节点之间的N次通信,以获取该节点的部分现场可更换单元信息;

d根据所获取的部分现场可更换单元信息,计算获取该节点的全部现场可更换单元信息所需的通信次数M,其中,M为自然数并且M>N;以及e将所述侦测单元与所述节点之间剩余的(M-N)次通信所需的通信参数加入所述链表中,并执行所述侦测单元与所述节点之间的(M-N)次通信,以获取所述节点的其余现场可更换单元信息,从而得到所述节点的全部现场可更换单元信息。

2.根据权利要求1所述的方法,其特征在于,步骤d还包括:

在所述侦测单元与所述节点之间第i次通信后,根据所获取的部分现场可更换单元信息来判断是否能够获取所述节点的全部现场可更换单元信息所需的通信次数M,其中,i<N;以及当无法得到通信次数M时,继续执行所述侦测单元与所述节点之间的第(i+1)次通信,直至获取所述节点的全部现场可更换单元信息所需的通信次数M。

3.根据权利要求2所述的方法,其特征在于,步骤d还包括:

根据所获取的部分现场可更换单元信息,读取所述部分现场可更换单元信息的头文件信息,并根据所述头文件信息来获取与所述部分现场可更换单元信息相对应的区域相关信息;以及在得到所述区域相关信息后,选择偏移地址最大的区域,并读取该区域的分区头文件信息,进而根据所述分区头文件信息确定获取所述节点的全部现场可更换单元信息所需的通信次数M。

4.根据权利要求3所述的方法,其特征在于,所述分区头文件信息包括该区域的字节长度。

5.根据权利要求1所述的方法,其特征在于,该链表为执行方式为先进先出的链表。

6.根据权利要求5所述的方法,其特征在于,所述侦测单元与所述节点之间进行通信所需的通信参数具有多个不同的优先级,并且优先级高的通信参数先于优先级低的通信参数加入所述链表中。

7.根据权利要求1所述的方法,其特征在于:当所述链表中不包含所述侦测单元与所述节点之间通信所需的通信参数时,选择所述多个节点中的另一节点,从而使所述侦测单元透过一线路切换装置连接至所述另一节点,并执行所述侦测单元与所述另一节点之间的通信,以获得所述另一节点的现场可更换单元信息。

8.根据权利要求1所述的方法,其特征在于,所述现场可更换单元信息以I2C方式传送至所述侦测单元。

9.根据权利要求1所述的方法,其特征在于,所述节点为网络切换装置(LAN Switch)、集束磁盘(Just a Bunch of Disks,JBOD)或主板(Mother board)。

说明书 :

一种用于快速读取现场可更换单元信息的方法

技术领域

[0001] 本发明涉及服务器的现场可更换单元信息,尤其涉及该现场可更换单元信息的快速读取方法。

背景技术

[0002] 当前,计算机或服务器系统中的配件来自相同或不同的厂商。为了节省成本,他们一般将计算机分成多个FRU(Field ReplaceUnit,现场可更换单元),大到电源供应器,小到风扇,当这些配件出现故障时,直接更换而不用维修。例如,FRU可以是配件上的part number、product number或者serial number。
[0003] 由于FRU信息的重要性,在很多设计方案中,读取FRU信息是非常关键的环节。以云计算项目为例,通常采用具有多个节点(Node)和侦测单元(如智能电源侦测单元,Smart Power DetectUnit)的机柜(Rack)系统,利用该侦测单元与多个节点实现通信,以获得多个节点中的每个节点上的FRU信息,只有接收该节点的FRU信息才能知晓该节点是什么类型、什么功能的硬件。当前,采用的一种读取方法是一次性完整地读取一个节点的FRU信息,这样虽然在软件编程上比较方便,但SPDU与节点之间的通信时长将大大增加。另一读取方式是采用hook接口,每次与单个节点只能通信一定的次数,可是,完整读取FRU信息所需的通信次数并非预知,需要在读取过程中通过计算才能得到。如果一边读取一边得到读取次数,则读取整个FRU将需要分成很多次,每次也只能得到有限的FRU信息,这将大大地延缓FRU信息的读取时间。
[0004] 有鉴于此,如何设计一种快速读取FRU信息的方法,既可快速得到每个节点的完整FRU信息,又能够保证每个节点FRU信息的实时性,是业内相关技术人员亟待解决的一项课题。

发明内容

[0005] 针对现有技术中读取现场可更换单元信息时所存在的上述缺陷,本发明提供了一种用于快速读取现场可更换单元信息的方法。
[0006] 依据本发明的一个方面,提供了一种快速读取现场可更换单元信息的方法,其中,该方法包括:
[0007] a提供一侦测单元,该侦测单元连接至所述多个节点;
[0008] b预先定义一链表,并预设所述侦测单元与所述多个节点中的一节点通信的次数N,其中,N为自然数;
[0009] c将所述侦测单元与所述节点之间N次通信所需的通信参数加入所述链表中,并执行所述侦测单元与所述节点之间的N次通信,以获取该节点的部分现场可更换单元信息;
[0010] d根据所获取的部分现场可更换单元信息,计算获取该节点的全部现场可更换单元信息所需的通信次数M,其中,M为自然数并且M>N;以及
[0011] e将所述侦测单元与所述节点之间剩余的(M-N)次通信所需的通信参数加入所述链表中,并执行所述侦测单元与所述节点之间的(M-N)次通信,以获取所述节点的其余现场可更换单元信息,从而得到所述节点的全部现场可更换单元信息。
[0012] 优选地,步骤d还包括:在所述侦测单元与所述节点之间第i次通信后,根据所获取的部分现场可更换单元信息来判断是否能够获取所述节点的全部现场可更换单元信息所需的通信次数M,其中,i<N;以及当无法得到通信次数M时,继续执行所述侦测单元与所述节点之间的第(i+1)次通信,直至获取所述节点的全部现场可更换单元信息所需的通信次数M。
[0013] 优选地,步骤d还包括:根据所获取的部分现场可更换单元信息,读取所述部分现场可更换单元信息的头文件信息,并根据所述头文件信息来获取与所述部分现场可更换单元信息相对应的区域相关信息;以及在得到所述区域相关信息后,选择偏移地址最大的区域,并读取该区域的分区头文件信息,进而根据所述分区头文件信息确定获取所述节点的全部现场可更换单元信息所需的通信次数M。更优选地,所述分区头文件信息包括该区域的字节长度。
[0014] 优选地,该链表为执行方式为先进先出的链表。更优选地,所述侦测单元与所述节点之间进行通信所需的通信参数具有多个不同的优先级,并且优先级高的通信参数先于优先级低的通信参数加入所述链表中。
[0015] 优选地,当所述链表中不包含所述侦测单元与所述节点之间通信所需的通信参数时,选择所述多个节点中的另一节点,从而使所述侦测单元透过一线路切换装置连接至所述另一节点,并执行所述侦测单元与所述另一节点之间的通信,以获得所述另一节点的现场可更换单元信息。
[0016] 优选地,所述现场可更换单元信息以I2C方式传送至所述侦测单元。
[0017] 优选地,所述节点为网络切换装置(LAN Switch)、集束磁盘(Just a Bunch of Disks,JBOD)或主板(Mother board)。
[0018] 采用本发明的快速读取现场可更换单元信息的方法,通过预设所述侦测单元与一节点通信的通信次数,并执行所述侦测单元与所述节点之间预设次数的通信来得到部分现场可更换单元信息,进而根据该部分现场可更换单元信息来计算获取全部现场可更换单元信息。因此,该方法提高了多个节点中每一节点的FRU信息的读取速度,并且能够保证节点FRU信息的实时性,进而可快速地基于FRU信息来识别节点属性。

附图说明

[0019] 读者在参照附图阅读了本发明的具体实施方式以后,将会更清楚地了解本发明的各个方面。其中,
[0020] 图1示出依据本发明的一个方面的快速读取FRU信息的方法流程图。

具体实施方式

[0021] 为了使本申请所揭示的技术内容更加详尽与完备,可参照附图以及本发明的下述各种具体实施例,附图中相同的标记代表相同或相似的组件。然而,本领域的普通技术人员应当理解,下文中所提供的实施例并非用来限制本发明所涵盖的范围。此外,附图仅仅用于示意性地加以说明,并未依照其原尺寸进行绘制。
[0022] 下面参照附图,对本发明各个方面的具体实施方式作进一步的详细描述。如前所述,现有技术在读取FRU信息时,采用hook接口方式,每次与单个节点只能通信一定的次数。然而,完整读取FRU信息所需的通信次数并非预知,进而使读取整个FRU将需要分成很多次,每次也只能得到有限的FRU信息,这将大大地延缓FRU信息的读取时长,影响后续节点的FRU信息读取进程,严重时还会造成FRU信息不实时。例如,这些节点可以是网络切换装置(LAN Switch)、集束磁盘(Just a Bunch of Disks,JBOD)或主板(Mother board)。
[0023] 图1示出依据本发明的一个方面的快速读取FRU信息的方法流程图。
[0024] 在该读取方法中,首先执行步骤S 101,提供一侦测单元,例如智能电源侦测单元(SPDU,Smart Power Detect Unit),该侦测单元经由一线路切换装置连接至多个节点。然后执行步骤S103,预先定义一链表,并且预设所述侦测单元与所述多个节点中一节点通信的次数N,其中N为自然数。需要指出的是,预定义链表和预设通信次数N并不必特别规定先后次序,并且所述侦测单元与所述节点通信的预设次数N可根据实际需要进行灵活调整。接着执行步骤S105,将所述侦测单元与所述节点之间N次通信所需的通信参数加入上述预先定义的链表中,并执行所述侦测单元与所述节点之间的N次通信,从而获得该节点的部分现场可更换单元信息。在步骤S107中,根据所获取的部分现场可更换单元信息,计算获取该节点的全部现场可更换单元信息所需的通信次数M,其中,M为自然数并且M>N。最后执行步骤S 109,将所述侦测单元与所述节点之间剩余的(M-N)次通信所需的通信参数加入所述链表中,并执行所述侦测单元与节点之间的(M-N)次通信,以获取所述节点的其余现场可更换单元信息,从而得到所述节点的全部现场可更换单元信息。较佳地,该节点的FRU信息以I2C方式传送至所述侦测单元。
[0025] 在一具体实施例中,在侦测单元与一节点之间第i次通信后,根据所获取的部分FRU信息来判断是否能够获取所述节点的全部FRU信息所需的通信次数M,其中,i<N;以及当无法得到通信次数M时,继续执行所述侦测单元与该节点之间的第(i+1)次通信,直至获取该节点的全部FRU信息所需的通信次数M。较佳地,根据所获取的部分FRU信息,读取该部分FRU信息中的头文件信息,并根据该头文件信息来获取与该部分FRU信息相对应的区域相关信息。例如,该区域相关信息包括,该FRU信息具有多少个区域,每一区域的长度为多少,每个区域的偏移地址等等。在得到该区域相关信息后,选择偏移地址最大的区域,并读取该区域的分区头文件信息,进而根据该分区头文件信息来确定获取该节点的全部FRU信息所需的通信次数M。例如,该分区头文件信息包括该区域的字节长度。
[0026] 在另一具体实施例中,该链表为执行方式为先进先出的链表,即,先输入所述链表的数据率先从所述链表中输出。更优选地,侦测单元与该节点之间进行通信所需的通信参数具有多个不同的优先级,并且优先级高的通信参数先于优先级低的通信参数加入所述链表中。
[0027] 此外,当所述链表中不包含侦测单元与该节点之间通信所需的通信参数时,选择多个节点中的另一节点,从而使侦测单元透过一线路切换装置连接至另一节点,并执行侦测单元与另一节点之间的通信,以获得所述另一节点的现场可更换单元信息。由于获得该另一节点的全部FRU信息的实现流程与上述侦测单元与该节点通信以得到其全部FRU信息的实现流程相同或相似,为描述简便起见,在此不再赘述。
[0028] 采用本发明的快速读取现场可更换单元信息的方法,通过预设所述侦测单元与一节点通信的通信次数,并执行所述侦测单元与所述节点之间预设次数的通信来得到部分现场可更换单元信息,进而根据该部分现场可更换单元信息来计算获取全部现场可更换单元信息。因此,该方法提高了多个节点中每一节点的FRU信息的读取速度,并且能够保证节点FRU信息的实时性,进而可快速地基于FRU信息来识别节点属性。
[0029] 上文中,参照附图描述了本发明的具体实施方式。但是,本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的具体实施方式作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。