System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种数据传输方法、装置、电子设备及存储介质。
技术介绍
1、fru(field replace unit,现场可更换单元)数据为服务器上的可更换的设备的属性信息。fru数据通常保存在非易失存储设备中,且独立于服务器的主处理器、bios(basic input output system,基本输入输出系统)、系统软件或操作系统;fru数据通常由bmc(board management controller,基板控制器)固件进行收集,若服务器中的bios在运行过程中需要获取fru数据,则需要通过bmc固件向bios传输fru数据。
2、目前,通常使用redfish管理接口在bmc与bios之间进行fru传输,但是为了支持redfish管理接口在bmc和bios之间进行fru数据传输,需要针对bmc固件定制化开发虚拟usb网卡,但虚拟网卡的代码实现较为复杂,开发与维护成本较高。
技术实现思路
1、本专利技术提供一种数据传输方法、装置、电子设备及存储介质,用以解决现有技术中使用redfish管理接口在bmc与bios之间进行fru传输,需要针对bmc固件定制化开发虚拟usb网卡,严重影响数据传输成本的缺陷,实现低成本地进行数据安全传输。
2、本专利技术提供一种数据传输方法,应用于基板管理控制器,包括:
3、获取目标共享内存空间的占用信息;所述目标共享内存空间是根据所述基板管理控制器的高速串行计算机扩展总线pcie的基地址寄存
4、根据所述占用信息,在所述第一共享内存空间中对现场可更换单元fru数据的数据头进行配置,得到所述fru数据的初始数据头;
5、根据所述fru数据的数据内容,生成所述fru数据的目标数据体和目标校验值;
6、根据所述目标校验值和所述目标数据体的目标长度,对所述第一共享内存空间中的初始数据头进行更新,得到目标数据头,并将所述目标数据体写入所述第一共享内存空间;
7、基于所述pcie,将所述第一共享内存空间的中的目标数据头和目标数据体,按照所述共享映射关系,共享传输至所述第二共享内存空间。
8、根据本专利技术提供的一种数据传输方法,所述根据所述占用信息,在所述第一共享内存空间中对现场可更换单元fru数据的数据头进行配置,得到所述fru数据的初始数据头,包括:
9、根据所述占用信息,判断所述目标共享内存空间是否被基本输入输出系统占用;
10、在确定所述目标共享内存空间被所述基本输入输出系统占用的情况下,执行睡眠操作;
11、在执行所述睡眠操作之后,获取第一实时睡眠时长;
12、判断所述第一实时睡眠时长是否达到第一预设睡眠时长;
13、在确定所述第一实时睡眠时长达到所述第一预设睡眠时长的情况下,根据所述占用信息,迭代判断所述目标共享内存空间是否被基本输入输出系统占用;
14、若在第一目标次迭代判断过程中,判断获知所述目标共享内存空间未被所述基本输入输出系统占用,且所述第一目标次迭代判断过程对应的累计判断次数小于第一预设次数的情况下,占用所述目标共享内存空间;
15、在所述第一共享内存空间的第一共享内存块中,将数据头模板中占用字段的值配置为第一占用标识,并将所述数据头模板中数据传输状态字段的值配置为数据准备状态,得到所述初始数据头;
16、其中,所述第一占用标识用于标识被所述基板管理控制器占用。
17、根据本专利技术提供的一种数据传输方法,所述根据所述fru数据的数据内容,生成所述fru数据的目标数据体和目标校验值,包括:
18、通过系统管理总线收集所述fru数据的数据内容;
19、根据所述第一共享内存空间的第二共享内存块中的数据体模板,对所述数据内容进行数据格式转换和编译,得到所述目标数据体;
20、根据所述目标长度和所述目标数据体,生成所述目标校验值。
21、根据本专利技术提供的一种数据传输方法,所述根据所述目标校验值和所述目标数据体的目标长度,对所述第一共享内存空间中的初始数据头进行更新,得到目标数据头,包括:
22、对所述初始数据头执行如下更新操作,得到所述目标数据头:
23、将所述第一共享内存空间的第一共享内存块中的初始数据头中的校验值更新为所述目标校验值;
24、将所述第一共享内存空间的第一共享内存块中的初始数据头中的数据长度更新为所述目标长度;
25、将所述第一共享内存空间的第一共享内存块中的初始数据头中数据传输状态字段的值配置为数据配置完成状态或者数据读取授权状态;
26、将所述第一共享内存空间的第一共享内存块中的初始数据头中占用字段的值更新为第二占用标识,所述第二占用标识用于标识未被占用。
27、根据本专利技术提供的一种数据传输方法,所述方法还包括:
28、接收所述第二共享内存空间的共享更新请求;
29、根据所述共享更新请求以及所述共享映射关系,对所述第一共享内存空间中目标数据头中占用字段的值和/或数据传输状态字段的值进行共享映射更新;
30、其中,所述共享更新请求是基本输入输出系统在对所述第二共享内存空间中的目标数据体执行数据读取操作的情况下,对所述第二共享内存空间中的目标数据头中占用字段的值和/或数据传输状态字段的值进行更新产生的。
31、本专利技术还提供一种数据传输方法,应用于基本输入输出系统,包括:
32、获取目标共享内存空间的第二共享内存空间的目标数据头中的数据传输状态;
33、根据所述数据传输状态,从所述第二共享内存空间的第一共享内存块中,读取所述目标数据头中的目标长度和目标校验值;
34、根据所述目标长度,在所述第二共享内存空间的第二共享内存块中,读取目标数据体;
35、根据所述目标校验值,对所述目标数据体进行解析,得到fru数据的数据内容;
36、其中,所述第二共享内存空间的第一共享内存块中的目标数据头和所述第二共享内存空间的第二共享内存块中目标数据体是由基板管理控制器执行如上述任一种所述数据传输方法得到的。
37、根据本专利技术提供的一种数据传输方法,所述根据所述数据传输状态,从所述第二共享内存空间的第一共享内存块中,读取所述目标数据头中的目标长度和目标校验值,包括:
38、判断所述数据传输状态是否为数据准备状态;
39、在确定所述数据传输状态为数据准备状态的情况下,执行睡眠操作;
40、在执行所述睡眠操作之后,获取第二实时睡眠时长;
41、判断所述第二实时睡眠时长是否达到第二预设睡眠时长;
42、在确定所述第二实时睡眠时长达到所述第二预设睡眠时长的情况下,迭代判断所述数本文档来自技高网...
【技术保护点】
1.一种数据传输方法,其特征在于,应用于基板管理控制器,包括:
2.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述占用信息,在所述第一共享内存空间中对现场可更换单元FRU数据的数据头进行配置,得到所述FRU数据的初始数据头,包括:
3.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述FRU数据的数据内容,生成所述FRU数据的目标数据体和目标校验值,包括:
4.根据权利要求1-3任一项所述的数据传输方法,其特征在于,所述根据所述目标校验值和所述目标数据体的目标长度,对所述第一共享内存空间中的初始数据头进行更新,得到目标数据头,包括:
5.根据权利要求1-3任一项所述的数据传输方法,其特征在于,所述方法还包括:
6.一种数据传输方法,其特征在于,应用于基本输入输出系统,包括:
7.根据权利要求6所述的数据传输方法,其特征在于,所述根据所述数据传输状态,从所述第二共享内存空间的第一共享内存块中,读取所述目标数据头中的目标长度和目标校验值,包括:
8.一种数据传输装置,其特征在于,应
9.一种数据传输装置,其特征在于,应用于基本输入输出系统,包括:
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述数据传输方法,或者如权利要求6至7任一项所述数据传输方法。
11.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述数据传输方法,或者如权利要求6至7任一项所述数据传输方法。
...【技术特征摘要】
1.一种数据传输方法,其特征在于,应用于基板管理控制器,包括:
2.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述占用信息,在所述第一共享内存空间中对现场可更换单元fru数据的数据头进行配置,得到所述fru数据的初始数据头,包括:
3.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述fru数据的数据内容,生成所述fru数据的目标数据体和目标校验值,包括:
4.根据权利要求1-3任一项所述的数据传输方法,其特征在于,所述根据所述目标校验值和所述目标数据体的目标长度,对所述第一共享内存空间中的初始数据头进行更新,得到目标数据头,包括:
5.根据权利要求1-3任一项所述的数据传输方法,其特征在于,所述方法还包括:
6.一种数据传输方法,其特征在于,应用于基本输入输出系统,包括:
【专利技术属性】
技术研发人员:王殿卫,刘宝阳,陈超凡,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。