一种数据交互方法、装置及相关组件与流程

文档序号:26639548发布日期:2021-09-15 00:08阅读:90来源:国知局
一种数据交互方法、装置及相关组件与流程

1.本技术涉及服务器领域,特别涉及一种数据交互方法、装置及相关组件。


背景技术:

2.随着用户对计算机计算需求的提高,设备类型发展越来越丰富。服务器上bmc(baseboard management controller,基板管理控制器)及bios(basic input output system,基本输入输出系统)的功能复杂度越来越高,bios启动过程中的某一节点,需要将很多信息例如设备资产信息、bios选项等信息传递给bmc。由于现有技术中采用bios直接与bmc进行数据交互的方式,因此,bios需要等待bmc启动完成,与bmc数据交互后才能继续进行后续的启动过程,而bmc启动时间较长,这样会导致bios启动时间延长。
3.因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。


技术实现要素:

4.本技术的目的是提供一种数据交互方法、装置、电子设备及计算机可读存储介质,bios不需要等待bmc启动完成,bios将数据存储至控制器的存储区后,即可进行后续的启动个过程,缩短了bios的启动时长。
5.为解决上述技术问题,本技术提供了一种数据交互方法,应用于控制器,该数据交互方法包括:
6.接收bios发送的数据;
7.将所述数据存储至对应的存储区,并生成提示信息,以便bmc检测到所述提示信息后从所述存储区中获取所述数据。
8.可选的,所述接收bios发送的数据的过程包括:
9.接收bios按预定义格式发送的数据;
10.该数据交互方法还包括:
11.所述bmc从所述存储中获取所述数据后,按所述预定义格式进行解析。
12.可选的,所述接收bios发送的数据之后,所述将所述数据存储至对应的存储区之前,该数据交互方法还包括:
13.对所述数据进行校验;
14.所述将所述数据存储至对应的存储区的过程包括:
15.将校验成功的数据存储至对应的存储区。
16.可选的,所述对所述数据进行校验的过程包括:
17.对所述数据进行完整性校验和安全性校验;
18.相应的,所述将校验成功的数据存储至对应的存储区的过程包括:
19.将所述完整性校验和所述安全性校验均成功的数据存储至对应的存储区。
20.可选的,所述生成提示信息的过程包括:
21.将所述控制器上用于与所述bmc连接的gpio的接口状态调整为目标状态。
22.可选的,所述bmc检测到所述提示信息从所述存储区中获取所述数据的过程包括:
23.所述bmc检测到所述提示信息,通过i2c从所述存储区中获取所述数据。
24.可选的,所述控制器为cpld。
25.为解决上述技术问题,本技术还提供了一种数据交互装置,应用于控制器,该数据交互装置包括:
26.接收模块,用于接收bios发送的数据;
27.存储模块,用于将所述数据存储至对应的存储区,并生成提示信息,以便bmc检测到所述提示信息后从所述存储区中获取所述数据。
28.为解决上述技术问题,本技术还提供了一种电子设备,包括:
29.存储器,用于存储计算机程序;
30.处理器,用于执行所述计算机程序时实现如上文任意一项所述的数据交互方法的步骤。
31.为解决上述技术问题,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任意一项所述的数据交互方法的步骤。
32.本技术提供了一种数据交互方法,bios在启动后,将要发送给bmc的数据先暂存在控制器的存储区中,由控制器生成提示信息提示bmc从控制器的存储区中获取数据,从而完成bios和bmc之间的数据交互,由于bios和bmc并不是直接进行数据交互,因此,bios不需要等待bmc启动完成,bios将数据存储至控制器的存储区后,即可进行后续的启动个过程,缩短了bios的启动时长。本技术还提供了一种数据交互装置、电子设备及计算机可读存储介质,具有和上述数据交互方法相同的有益效果。
附图说明
33.为了更清楚地说明本技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1为本技术所提供的一种数据交互方法的步骤流程图;
35.图2为本技术所提供的一种数据交互装置的结构示意图。
具体实施方式
36.本技术的核心是提供一种数据交互方法、装置、电子设备及计算机可读存储介质,bios不需要等待bmc启动完成,bios将数据存储至控制器的存储区后,即可进行后续的启动个过程,缩短了bios的启动时长。
37.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
38.请参照图1,图1为本技术所提供的一种数据交互方法的步骤流程图,该数据交互
方法包括:
39.s101:接收bios发送的数据;
40.具体的,本技术通过控制器实现bios和bmc之间的数据交互,为节约硬件成本,控制器可以选择cpld,在服务器中,cpld通过i2c与bmc连接,cpld通过espi与bios连接,因此,不需要再单独建立cpld与bmc或bios之间的数据传输通路,进一步节约硬件成本,下文均以cpld为例进行说明。
41.具体的,服务器上电后,cpld启动,可以理解的是,cpld启动过程不受bios启动过程的影响,当cpld启动完成,bios启动,bios将需要发送给bmc的数据整理好后,发送给cpld。由于bios不需要直接与bmc进行数据交互,因此,当bios把要发送给bmc的数据发送给cpld后,bios即可进行后续启动过程,从而缩短bios启动时间。
42.s102:将数据存储至对应的存储区,并生成提示信息,以便bmc检测到提示信息后从存储区中获取数据。
43.具体的,cpld接收到bios发送的数据后,将数据都存储到对应的存储区,然后生成一个提示信息,bmc启动后,会主动检测是否有提示信息,若是,则从cpld的缓存区中获取对应的数据,完成bios和bmc之间的数据交互。其中,存储区具体可以为cpld中的ufm(usr flash memory,用户可用存储区)。
44.可见,本实施例中,bios在启动后,将要发送给bmc的数据先暂存在控制器的存储区中,由控制器生成提示信息提示bmc从控制器的存储区中获取数据,从而完成bios和bmc之间的数据交互,由于bios和bmc并不是直接进行数据交互,因此,bios不需要等待bmc启动完成,bios将数据存储至控制器的存储区后,即可进行后续的启动个过程,缩短了bios的启动时长。
45.在上述实施例的基础上:
46.作为一种可选的实施例,接收bios发送的数据的过程包括:
47.接收bios按预定义格式发送的数据;
48.该数据交互方法还包括:
49.bmc从存储中获取数据后,按预定义格式进行解析。
50.可以理解的是,bios和bmc之间需要预先约定好交互的数据格式,即bios按照预定义格式将数据进行封装,然后发送给cpld,这里的预定义格式可以包括数据类型、字段、数据发送顺序、大小等。bmc在从cpld的存储区中获取到数据后,按照预定义格式解析数据并进行显示。
51.作为一种可选的实施例,接收bios发送的数据之后,将数据存储至对应的存储区之前,该数据交互方法还包括:
52.对数据进行校验;
53.将数据存储至对应的存储区的过程包括:
54.将校验成功的数据存储至对应的存储区。
55.具体的,为提高数据交互的安全性,当cpld接收到bios发送的数据后,对数据进行校验,将校验成功的数据存储到存储区中,将校验失败的数据丢弃。
56.作为一种可选的实施例,bios按预定义格式对数据进行封装后,将封装后的数据通过zlib(提供数据压缩用的函数库)进行压缩,然后再通过数字证书进行加密签名后,通
过espi接口发送给cpld。相应的,cpld在接收到数据后进行的校验操作包括完整性校验和安全性校验,具体可以通过md5或hash实现校验,根据实际工程需要选择即可,本实施例在此不作具体的限定。
57.作为一种可选的实施例,生成提示信息的过程包括:
58.将控制器上用于与bmc连接的gpio的接口状态调整为目标状态。
59.具体的,控制器上设置有一个专门与bmc连接、用于提示bmc获取数据的gpio,cpld将数据存储到存储区后,将该gpio的接口状态调整为目标状态,这里的目标状态具体可以为低电平状态,即cpld将数据存储到存储区后,将该gpio拉低以提示bmc有待获取的数据,bmc启动后,检测到该gpio被拉低后,从cpld的存储区中获取数据。
60.综上所述,本技术基于当前服务器上bmc与cpld可以交互通信,bios与cpld也可以进行相互通信,且cpld有ufm模块用于暂存数据,bios将数据先传输给cpld,cpld对数据进行完整性校验和安全性校验,将校验成功的数据暂存在ufm中,然后拉低和bmc之间的gpio,bmc在启动后检测到该gpio被拉低后,通过i2c从cpld读取暂存的数据,完成数据交互。整个交互过程中,bios无需等待bmc启动完成,即可完成数据传输交互。
61.请参照图2,图2为本技术所提供的一种数据交互装置的结构示意图,应用于控制器,该数据交互装置包括:
62.接收模块1,用于接收bios发送的数据;
63.存储模块2,用于将所述数据存储至对应的存储区,并生成提示信息,以便bmc检测到所述提示信息后从所述存储区中获取所述数据。
64.可见,本实施例中,bios在启动后,将要发送给bmc的数据先暂存在控制器的存储区中,由控制器生成提示信息提示bmc从控制器的存储区中获取数据,从而完成bios和bmc之间的数据交互,由于bios和bmc并不是直接进行数据交互,因此,bios不需要等待bmc启动完成,bios将数据存储至控制器的存储区后,即可进行后续的启动个过程,缩短了bios的启动时长。
65.作为一种可选的实施例,接收bios发送的数据的过程包括:
66.接收bios按预定义格式发送的数据;
67.该数据交互装置还包括:
68.解析模块,用于bmc从存储中获取数据后,按预定义格式进行解析。
69.作为一种可选的实施例,接收bios发送的数据之后,将数据存储至对应的存储区之前,该数据交互装置还包括:
70.校验模块,用于对数据进行校验;
71.将数据存储至对应的存储区的过程包括:
72.将校验成功的数据存储至对应的存储区。
73.作为一种可选的实施例,对数据进行校验的过程包括:
74.对数据进行完整性校验和安全性校验;
75.相应的,将校验成功的数据存储至对应的存储区的过程包括:
76.将完整性校验和安全性校验均成功的数据存储至对应的存储区。
77.作为一种可选的实施例,生成提示信息的过程包括:
78.将控制器上用于与bmc连接的gpio的接口状态调整为目标状态。
79.作为一种可选的实施例,bmc检测到提示信息从存储区中获取数据的过程包括:
80.bmc检测到提示信息,通过i2c从存储区中获取数据。
81.作为一种可选的实施例,控制器为cpld。
82.另一方面,本技术还提供了一种电子设备,包括:
83.存储器,用于存储计算机程序;
84.处理器,用于执行所述计算机程序时实现如上文任意一项所述的数据交互方法的步骤。
85.对于本技术所提供的一种电子设备的介绍请参照上述实施例,本技术在此不再赘述。
86.本技术所提供的一种电子设备具有和上述数据交互方法相同的有益效果。
87.另一方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任意一项所述的数据交互方法的步骤。
88.对于本技术所提供的一种计算机可读存储介质的介绍请参照上述实施例,本技术在此不再赘述。
89.本技术所提供的一种计算机可读存储介质具有和上述数据交互方法相同的有益效果。
90.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
91.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其他实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1