CN116795290A - 数据同步方法、基板管理控制器、电子设备和存储介质 - Google Patents
数据同步方法、基板管理控制器、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116795290A CN116795290A CN202310779219.5A CN202310779219A CN116795290A CN 116795290 A CN116795290 A CN 116795290A CN 202310779219 A CN202310779219 A CN 202310779219A CN 116795290 A CN116795290 A CN 116795290A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronous
- synchronization
- fru
- synchronized
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000001360 synchronised effect Effects 0.000 claims abstract description 332
- 230000005540 biological transmission Effects 0.000 claims abstract description 66
- 230000008569 process Effects 0.000 claims abstract description 13
- 230000003068 static effect Effects 0.000 claims description 84
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 10
- 238000000926 separation method Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 239000000758 substrate Substances 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种数据同步方法、基板管理控制器、电子设备和存储介质,属于计算机技术领域,其中,数据同步方法应用于发送端的基板管理控制器BMC,BMC包括:现场可替换单元FRU管理模块和数据同步模块,数据同步方法包括:FRU管理模块获取待同步数据,确定待同步数据的类型;FRU管理模块根据待同步数据的类型,对待同步数据进行处理;FRU管理模块,在运行到数据同步逻辑的情况下,从处理后的待同步数据中确定同步数据,并将同步数据发送到数据同步模块;数据同步模块,对同步数据进行调度,确定同步数据的发送链路,通过发送链路将同步数据发送给接收端的基板管理控制器。本发明能够实现不同BMC之间数据的低延时、可靠同步。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据同步方法、基板管理控制器、电子设备和存储介质。
背景技术
在存储服务器的硬件设计上往往采用多控制器冗余的方式,而多控制器之间的数据同步是保障存储***稳定可靠的重要手段。在多控存储***中,通常由多个基板管理控制器(Baseboard Manager Controller,BMC)负责管理服务器中的硬件数据,多个BMC之间需要进行数据同步。现有技术中,在实际进行数据同步的过程中由于现场可替换单元(Field Replace Unit,FRU)的数据类型、FRU的数量差异以及控制器的数量等因素的影响,BMC之间的同步数据量成倍增长,此外在同步链路中采用低速物理总线进行数据同步,对数据同步延迟均造成负面影响。
发明内容
本发明提供一种数据同步方法,用以解决现有技术中在实际进行数据同步的过程中由于FRU的数据类型、FRU的数量差异以及控制器的数量等因素的影响,BMC之间的同步数据量成倍增长,此外在同步链路中采用低速物理总线进行数据同步,对数据同步延迟均造成负面影响的缺陷。
第一方面,本发明提供一种数据同步方法,应用于发送端的基板管理控制器,所述基板管理控制器包括:现场可替换单元FRU管理模块和数据同步模块,所述数据同步方法包括:
所述FRU管理模块获取待同步数据,确定所述待同步数据的类型;
所述FRU管理模块根据所述待同步数据的类型,对所述待同步数据进行处理;
所述FRU管理模块,在运行到数据同步逻辑的情况下,从处理后的所述待同步数据中确定同步数据,并将所述同步数据发送到数据同步模块;
所述数据同步模块,对所述同步数据进行调度,确定所述同步数据的发送链路,通过所述发送链路将所述同步数据发送给接收端的基板管理控制器。
在一些实施例中,所述类型包括静态数据和动态数据;
所述FRU管理模块根据所述待同步数据的类型,对所述待同步数据进行处理,包括:
所述FRU管理模块将所述静态数据保存在所述FRU管理模块的内存中,并在所述FRU管理模块内部保留静态数据同步状态字,所述静态数据同步状态字用于指示所述静态数据是否已同步;
所述FRU管理模块对所述动态数据进行条带区域划分、编号并添加校验位,在FRU管理模块的内存中建立所述动态数据的同步副本。
在一些实施例中,所述FRU管理模块,在运行到数据同步逻辑的情况下,从处理后的所述待同步数据中确定同步数据,包括:
所述FRU管理模块在运行到数据同步逻辑的情况下,从处理后的静态数据中确定静态数据同步状态字为否的静态同步数据;
所述FRU管理模块按照静态数据帧格式对所述静态同步数据进行封装,将封装后的静态同步数据作为所述同步数据,其中,所述静态数据帧格式包括数据分隔字段、静态数据同步状态字以及静态数据段。
在一些实施例中,所述FRU管理模块,在运行到数据同步逻辑的情况下,从处理后的所述待同步数据中确定同步数据,包括:
所述FRU管理模块在运行到数据同步逻辑的情况下,确定本地内存中是否已存在动态数据的同步副本;
若本地内存中已存在动态数据的同步副本,则从处理后的动态数据中确定与已存在的同步副本相比发生变化的动态同步数据,将所述动态同步数据作为所述同步数据;
若本地内存中不存在动态数据的同步副本,则将处理后的动态数据作为所述同步数据。
在一些实施例中,所述数据同步模块,对所述同步数据进行调度,确定所述同步数据的发送链路,通过所述发送链路将所述同步数据发送给接收端的基板管理控制器,包括:
根据所述FRU管理模块对数据实时性的要求,确定所述同步数据的发送接口,所述发送接口包括同步接口或异步接口;
在调用所述同步接口发送所述同步数据时,在所述同步数据的数据头帧中增加优先级字段,所述优先级字段的值是基于所述FRU管理模块的编号通过查询优先等级表确定的,所述优先等级表是根据各FRU管理模块的实时性以及数据量,在数据同步模块内部预先建立的;
根据所述优先级字段,对所述同步数据进行调度,确定所述同步数据的发送链路,通过所述发送链路将所述同步数据发送给接收端的基板管理控制器。
在一些实施例中,所述方法还包括:
在调用所述异步接口发送所述同步数据时,将所述同步数据汇总在所述数据同步模块的发送数据池中,所述数据同步模块的异步数据发送线程一次性读取所述发送数据池中多个数据包,对所述多个数据包进行优先级排序,并按照排序结果调用物理链路将读取的数据包依次发送出去。
在一些实施例中,所述确定所述同步数据的发送链路,包括:
在主备链路均为正常的情况下,确定备链路作为所述同步数据的发送链路;
在任意一条链路异常的情况下,采用公平竞争的方式确定所述同步数据的发送链路。
第二方面,本发明还提供一种基板管理控制器,包括:现场可替换单元FRU管理模块和数据同步模块,
其中,所述FRU管理模块用于获取待同步数据,确定所述待同步数据的类型;根据所述待同步数据的类型,对所述待同步数据进行处理;在运行到数据同步逻辑的情况下,从处理后的所述待同步数据中确定同步数据,并将所述同步数据发送到所述数据同步模块;
所述数据同步模块,用于对所述同步数据进行调度,确定所述同步数据的发送链路,通过所述发送链路将所述同步数据发送给接收端的基板管理控制器。
第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据同步方法。
第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据同步方法。
本发明提供的一种数据同步方法、基板管理控制器、电子设备和存储介质,通过FRU管理模块获取待同步数据,确定待同步数据的类型,根据待同步数据的类型,对待同步数据进行处理,在运行到数据同步逻辑的情况下,从处理后的待同步数据中确定同步数据,并将同步数据发送到数据同步模块;通过数据同步模块对同步数据进行调度,确定同步数据的发送链路,通过发送链路将同步数据发送给接收端的基板管理控制器,能够实现不同BMC之间数据的低延时、可靠同步,提高数据同步的实时性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中存储服务器的两控硬件结构框图;
图2是本发明实施例提供的数据同步方法的流程示意图之一;
图3是本发明实施例提供的处理后的静态数据和动态数据示例;
图4是本发明实施例提供的对同步数据进行调度,确定同步数据的发送链路,通过发送链路将同步数据发送给接收端的基板管理控制器的流程示意图;
图5是本发明实施例提供的基板管理控制器的结构示意图之一;
图6是本发明实施例提供的数据同步方法的流程示意图之二;
图7是本发明实施例提供的基板管理控制器的结构示意图之二;
图8是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于每台存储服务器往往由两个或者四个控制器硬件组合在2U或者4U高度的机箱中,机箱内控制器之间数据访问、操作、存储互有镜像冗余、备份,共同保证服务器安全可靠运行。
在同一框中各个控制器均被视为一个数据同步节点,多个控制器共同组成了数据同步网络,硬件管理数据在同步网络中的节点上流动。
图1为现有技术中存储服务器的两控硬件结构框图。如图1所示,存储服务器中的两个控制器分别为控制器A、控制器B,控制器A和控制器B中均设置有复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)和BMC,两个CPLD通过通用输入输出(General Purpose Input/Output,GPIO)心跳信号协调两个BMC之间的数据同步,两个BMC之间通过I2C同步主链路和I2C同步备链路通信连接。
图2为本发明实施例提供的数据同步方法的流程示意图之一。如图2所示,提供了一种数据同步方法,应用于发送端的基板管理控制器,基板管理控制器包括:现场可替换单元FRU管理模块和数据同步模块,数据同步方法包括以下步骤:步骤210、步骤220、步骤230和步骤240。该方法流程步骤仅仅作为本发明一个可能的实现方式。
其中,基板管理控制器BMC通常是一种独立的计算机板卡,安装在服务器主板上,用于管理服务器硬件。BMC还可以监控服务器的健康状况,例如温度、电压和风扇转速等。此外,BMC还可以通过远程管理接口,例如智能平台管理接口(Intelligent PlatformManagement Interface,IPMI),提供远程管理功能,使管理员可以远程监视和管理服务器。
其中,现场可替换单元FRU是指在维修和保养电子设备时可以在现场被更换的部件。这些部件通常都是一些易损件或需要经常更换的部件,例如电池、硬盘、风扇等。FRU可以帮助降低设备的维修成本和维修时间,因为它们可以很容易地在现场更换,而不需要将整个设备送回制造商进行修理。
步骤210、FRU管理模块获取待同步数据,确定待同步数据的类型。
其中,待同步数据包括但不限于以下几个方面:服务器硬件状态数据,如中央处理器(Central Processing Unit,CPU)温度、风扇速度、电压等;***事件日志,包括***崩溃、电源异常、温度异常等;用户权限和配置信息,例如用户账户、密码、网络配置等;远程控制命令,例如重启服务器、修改BIOS设置等。
可选地,可以通过识别数据的格式、内容、关键字等信息对待同步数据进行分类,可以按照格式分为文本数据、图像数据,也可以按照时态分为静态数据、动态数据。
可以理解的是,通过获取待同步数据,确定待同步数据的类型,便于后续对不同类型的待同步数据进行分类处理,基于待同步数据的类型选用合适的方式进行数据同步。
步骤220、FRU管理模块根据待同步数据的类型,对待同步数据进行处理。
可以理解的是,对于不同类型的待同步数据,采用不同的处理方式进行处理,比如添加同步状态标识或者编号,从而便于后续快速高效地从处理后的待同步数据中确定同步数据,提高同步数据的准确性和可靠性。
步骤230、FRU管理模块,在运行到数据同步逻辑的情况下,从处理后的待同步数据中确定同步数据,并将同步数据发送到数据同步模块。
可以理解的是,从处理后的待同步数据中选取需要进行同步的数据发送至数据同步模块,从处理后的待同步数据中过滤掉已完成同步的数据和未发生状态变化的数据,从而能够进一步提高同步数据的准确性和可靠性,提高数据同步的效率。
步骤240、数据同步模块,对同步数据进行调度,确定同步数据的发送链路,通过发送链路将同步数据发送给接收端的基板管理控制器。
需要说明的是,对于同步数据的调度和发送,通常需要考虑以下几个方面:
1)数据的优先级:对于不同类型的数据,可能有不同的优先级,需要根据优先级确定发送顺序,避免低优先级数据被高优先级数据阻塞;
2)网络带宽和延迟:网络带宽和延迟也是决定数据发送顺序的重要因素,需要根据网络状况和数据量等因素来确定数据发送的时间;
3)同步精度:同步数据的精度也需要考虑,如果需要高精度的同步,可能需要使用更高带宽、更低延迟的网络设备,以及更精细的调度算法;
4)数据重传和丢失处理:在数据传输过程中,可能出现重传和丢失的情况,需要有相应的机制来处理这些问题。
综合考虑以上因素,可以设计相应的调度算法,对同步数据进行调度,确定同步数据的发送链路,以实现同步数据的高效、准确、稳定地发送。
在本发明实施例中,通过FRU管理模块获取待同步数据,确定待同步数据的类型,根据待同步数据的类型,对待同步数据进行处理,在运行到数据同步逻辑的情况下,从处理后的待同步数据中确定同步数据,并将同步数据发送到数据同步模块;通过数据同步模块对同步数据进行调度,确定同步数据的发送链路,通过发送链路将同步数据发送给接收端的基板管理控制器,能够降低不同BMC之间数据同步的延时,并提高同步数据的实时性和准确性。
需要说明的是,本发明每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。
在一些实施例中,类型包括静态数据和动态数据;
FRU管理模块根据待同步数据的类型,对待同步数据进行处理,包括:
FRU管理模块将静态数据保存在FRU管理模块的内存中,并在FRU管理模块内部保留静态数据同步状态字,静态数据同步状态字用于指示静态数据是否已同步;
FRU管理模块对动态数据进行条带区域划分、编号并添加校验位,在FRU管理模块的内存中建立动态数据的同步副本。
其中,静态数据是指不会随时间变化而变化的数据,包括例测完成后不再修改的数据,例如用户账户、网络配置等;而动态数据则是指随着时间的推移而发生变化的数据,即FRU管理模块实时监测的数据,例如CPU温度、风扇速度、电压等。
其中,静态数据同步状态字为“是”或“否”,“是”表示静态数据已同步,“否”表示静态数据未同步。
需要说明的是,动态数据总量一定的条件下,按数据长度对整个数据区域进行划分,在每个区域添加编号和校验,划分的依据是数据传输的通道的带宽,尽量保证条带数据量小于最大传输包能够负载的数据量。
图3为本发明实施例提供的处理后的静态数据和动态数据示例。如图3所示,处理后的静态数据可以为“【数据分隔字符5个字节】;【数据同步状态_否】;静态数据”或者“【数据分隔字符5个字节】;【数据同步状态_是】”;动态数据划分为多个条带,包括“数据域1、数据域2、数据域3、......、数据域N”,每个条带的动态数据都有对应的编号和校验字段。
可以理解的是,通过FRU管理模块将静态数据保存在FRU管理模块的内存中,并在FRU管理模块内部保留静态数据同步状态字,便于在静态数据发送时根据静态数据同步状态字来确定是否需要携带该静态数据;通过FRU管理模块对动态数据进行条带区域划分、编号并添加校验位,在FRU管理模块的内存中建立动态数据的同步副本,便于将不同条带的动态数据与同步副本内的数据进行比较,根据不同条带的状态变化,确定需要进行同步的数据区域,从而提高数据同步的效率,降低数据同步的延时。
在一些实施例中,FRU管理模块,在运行到数据同步逻辑的情况下,从处理后的待同步数据中确定同步数据,包括:
FRU管理模块在运行到数据同步逻辑的情况下,从处理后的静态数据中确定静态数据同步状态字为否的静态同步数据;
FRU管理模块按照静态数据帧格式对静态同步数据进行封装,将封装后的静态同步数据作为同步数据,其中,静态数据帧格式包括数据分隔字段、静态数据同步状态字以及静态数据段。
示例性地,封装后的静态同步数据为“【数据分隔字符5个字节】;【数据同步状态_否】;静态数据”。
可以理解的是,FRU管理模块在运行到数据同步逻辑的情况下,从处理后的静态数据中确定静态数据同步状态字为否的静态同步数据,按照静态数据帧格式对静态同步数据进行封装,将封装后的静态同步数据作为同步数据,进而便于筛选出未完成同步的静态数据,封装后将其作为同步数据进行同步处理,避免对已完成同步的静态数据重复进行同步。
在一些实施例中,FRU管理模块,在运行到数据同步逻辑的情况下,从处理后的待同步数据中确定同步数据,包括:
FRU管理模块在运行到数据同步逻辑的情况下,确定本地内存中是否已存在动态数据的同步副本;
若本地内存中已存在动态数据的同步副本,则从处理后的动态数据中确定与已存在的同步副本相比发生变化的动态同步数据,将动态同步数据作为同步数据;
若本地内存中不存在动态数据的同步副本,则将处理后的动态数据作为同步数据。
需要说明的是,动态数据的同步副本是指在存储***中,为了实现数据的可靠性和高可用性,将数据在多个节点上进行备份,以便在主节点出现故障时,能够自动切换到备用节点,保证***的持续运行。这些备用节点上的数据就是同步副本,它们与主节点上的数据保持同步,保证数据的一致性。当主节点上的数据发生变化时,同步副本也会进行相应的更新,以保证数据的同步性。
可选地,在FRU管理模块继续运行,动态数据发生变化更新的情况下,获取到处理后的动态数据,将处理后的动态数据与本地内存中已存在动态数据的同步副本进行比较时,可以使用一些算法,如哈希值比较或对比两个对象的字段值是否相同,记录发生变化的数据区域的编号。
可以理解的是,通过确定本地内存中是否已存在动态数据的同步副本,若存在,则将处理后的动态数据与其比较,进而便于确定发生变化的动态同步数据,将动态同步数据作为同步数据,若不存在,则将处理后的动态数据作为同步数据,从而能够提高同步数据的可靠性和准确性。
图4为本发明实施例提供的对同步数据进行调度,确定同步数据的发送链路,通过发送链路将同步数据发送给接收端的基板管理控制器的流程示意图。如图4所示,在一些实施例中,步骤240中数据同步模块,对同步数据进行调度,确定同步数据的发送链路,通过发送链路将同步数据发送给接收端的基板管理控制器,包括:
步骤241、根据FRU管理模块对数据实时性的要求,确定同步数据的发送接口,发送接口包括同步接口或异步接口。
图5为本发明实施例提供的基板管理控制器的结构示意图之一。如图5所示,BMC包括FRU管理模块和数据同步模块。其中,FRU管理模块用于从不同的业务模块中获取待同步数据,根据对数据实时性的要求,对发送接口进行调用,确定同步数据的发送接口(即同步接口或异步接口)。其中,数据同步模块包括同步接口、异步接口和发送数据池,若选择同步接口进行数据发送,可以通过数据同步模块对同步数据进行调度,确定同步数据的发送链路(即主链路或备链路),若选择异步接口进行数据发送,可以先将同步数据汇总在发送数据池中,再调用物理链路对同步数据进行发送。
其中,同步接口是指在发送请求后,等待接收到响应后再进行下一步操作,这种方式需要等待时间,但确保了数据的准确性。
其中,异步接口是指发送请求后,不等待响应,直接进行下一步操作,这种方式可以节省时间,但可能会出现数据不准确的情况。
可选地,不同FRU管理模块根据数据的实时性选择不同的接口完成数据同步,实时性低的选择异步接口,实时性高的选择同步接口。
可以理解的是,确定同步数据的发送接口是为了确保数据的实时性和准确性,选择使用哪种接口取决于具体需求和应用场景。
步骤242、在调用同步接口发送同步数据时,在同步数据的数据头帧中增加优先级字段,优先级字段的值是基于FRU管理模块的编号通过查询优先等级表确定的,优先等级表是根据各FRU管理模块的实时性以及数据量,在数据同步模块内部预先建立的。
步骤243、根据优先级字段,对同步数据进行调度,确定同步数据的发送链路,通过发送链路将同步数据发送给接收端的基板管理控制器。
可选地,发送链路可以是主链路,也可以是备链路,可以根据链路的空闲情况,采用调度算法,对同步数据进行调度,确定同步数据的发送链路。
可以理解的是,根据FRU管理模块对数据实时性的要求,确定同步数据的发送接口,在调用同步接口发送同步数据时,在同步数据的数据头帧中增加优先级字段,根据优先级字段,对同步数据进行调度,确定同步数据的发送链路,通过发送链路将同步数据发送给接收端的基板管理控制器,不仅能够降低数据同步的延时,提高数据同步的效率,还能够保证同步数据的实时性和准确性。
在一些实施例中,方法还包括:
在调用异步接口发送同步数据时,将同步数据汇总在数据同步模块的发送数据池中,数据同步模块的异步数据发送线程一次性读取发送数据池中多个数据包,对多个数据包进行优先级排序,并按照排序结果调用物理链路将读取的数据包依次发送出去。
可选地,在备用链路空闲且能够正常工作的情况下,可以采用备用链路发送同步数据,先发送高优先级的数据包,后发送低优先级的数据包。
可以理解的是,在调用异步接口发送同步数据时,将同步数据汇总在数据同步模块的发送数据池中,数据同步模块的异步数据发送线程一次性读取发送数据池中多个数据包,对多个数据包进行优先级排序,并按照排序结果调用物理链路将读取的数据包依次发送出去,便于充分利用备链路,能够有效提高数据同步的实时性。
在一些实施例中,确定同步数据的发送链路,包括:
在主备链路均为正常的情况下,确定备链路作为同步数据的发送链路;
在任意一条链路异常的情况下,采用公平竞争的方式确定同步数据的发送链路。
可以理解的是,在主备链路均为正常的情况下,确定备链路作为同步数据的发送链路,在任意一条链路异常的情况下,采用公平竞争的方式确定同步数据的发送链路,从而能够充分利用备链路,降低数据同步的延时,提高数据同步的实时性。
图6为本发明实施例提供的数据同步方法的流程示意图之二。如图6所示,提供了一种数据同步方法,应用于接收端的基板管理控制器,该数据同步方法包括:
步骤610、接收同步数据;
步骤620、检查同步数据的数据分隔字段是否准确,并读取静态数据同步状态字,在静态数据同步状态字为否的情况下,读取静态数据段,并保存在本控数据内存中;
或者,检查同步数据的校验编号和校验位是否准确,确认数据传输过程无误,根据编号将动态数据提取出来,保存到本控数据内存中。
在本发明实施例中,通过接收同步数据,检查同步数据的数据分隔字段是否准确,并读取静态数据同步状态字,在静态数据同步状态字为否的情况下,读取静态数据段,并保存在本控数据内存中,或者,检查同步数据的校验编号和校验位是否准确,确认数据传输过程无误,根据编号将动态数据提取出来,保存到本控数据内存中,进而能够提高同步数据的准确性和可靠性。
下面对本发明实施例提供的基板管理控制器进行描述,下文描述的基板管理控制器与上文描述的数据同步方法可相互对应参照。
图7为本发明实施例提供的基板管理控制器的结构示意图之二,如图7所示,该基板管理控制器700包括:
FRU管理模块710,用于获取待同步数据,确定待同步数据的类型;根据待同步数据的类型,对待同步数据进行处理;在运行到数据同步逻辑的情况下,从处理后的待同步数据中确定同步数据,并将同步数据发送到数据同步模块;
数据同步模块720,用于对同步数据进行调度,确定同步数据的发送链路,通过发送链路将同步数据发送给接收端的基板管理控制器。
可选地,类型包括静态数据和动态数据;
FRU管理模块根据待同步数据的类型,对待同步数据进行处理,包括:
FRU管理模块将静态数据保存在FRU管理模块的内存中,并在FRU管理模块内部保留静态数据同步状态字,静态数据同步状态字用于指示静态数据是否已同步;
FRU管理模块对动态数据进行条带区域划分、编号并添加校验位,在FRU管理模块的内存中建立动态数据的同步副本。
可选地,FRU管理模块,在运行到数据同步逻辑的情况下,从处理后的待同步数据中确定同步数据,包括:
FRU管理模块在运行到数据同步逻辑的情况下,从处理后的静态数据中确定静态数据同步状态字为否的静态同步数据;
FRU管理模块按照静态数据帧格式对静态同步数据进行封装,将封装后的静态同步数据作为同步数据,其中,静态数据帧格式包括数据分隔字段、静态数据同步状态字以及静态数据段。
可选地,FRU管理模块,在运行到数据同步逻辑的情况下,从处理后的待同步数据中确定同步数据,包括:
FRU管理模块在运行到数据同步逻辑的情况下,确定本地内存中是否已存在动态数据的同步副本;
若本地内存中已存在动态数据的同步副本,则从处理后的动态数据中确定与已存在的同步副本相比发生变化的动态同步数据,将动态同步数据作为同步数据;
若本地内存中不存在动态数据的同步副本,则将处理后的动态数据作为同步数据。
可选地,数据同步模块,对同步数据进行调度,确定同步数据的发送链路,通过发送链路将同步数据发送给接收端的基板管理控制器,包括:
根据FRU管理模块对数据实时性的要求,确定同步数据的发送接口,发送接口包括同步接口或异步接口;
在调用同步接口发送同步数据时,在同步数据的数据头帧中增加优先级字段,优先级字段的值是基于FRU管理模块的编号通过查询优先等级表确定的,优先等级表是根据各FRU管理模块的实时性以及数据量,在数据同步模块内部预先建立的;
根据优先级字段,对同步数据进行调度,确定同步数据的发送链路,通过发送链路将同步数据发送给接收端的基板管理控制器。
可选地,基板管理控制器还包括:
数据发送模块,用于在调用异步接口发送同步数据时,将同步数据汇总在数据同步模块的发送数据池中,数据同步模块的异步数据发送线程一次性读取发送数据池中多个数据包,对多个数据包进行优先级排序,并按照排序结果调用物理链路将读取的数据包依次发送出去。
可选地,确定同步数据的发送链路,包括:
在主备链路均为正常的情况下,确定备链路作为同步数据的发送链路;
在任意一条链路异常的情况下,采用公平竞争的方式确定同步数据的发送链路。
在此需要说明的是,本发明实施例提供的基板管理控制器,能够实现上述数据同步方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行数据同步方法,该方法应用于发送端的基板管理控制器,基板管理控制器包括:现场可替换单元FRU管理模块和数据同步模块,该方法包括:FRU管理模块获取待同步数据,确定待同步数据的类型;FRU管理模块根据待同步数据的类型,对待同步数据进行处理;FRU管理模块,在运行到数据同步逻辑的情况下,从处理后的待同步数据中确定同步数据,并将同步数据发送到数据同步模块;数据同步模块,对同步数据进行调度,确定同步数据的发送链路,通过发送链路将同步数据发送给接收端的基板管理控制器。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据同步方法,该方法应用于发送端的基板管理控制器,基板管理控制器包括:现场可替换单元FRU管理模块和数据同步模块,该方法包括:FRU管理模块获取待同步数据,确定待同步数据的类型;FRU管理模块根据待同步数据的类型,对待同步数据进行处理;FRU管理模块,在运行到数据同步逻辑的情况下,从处理后的待同步数据中确定同步数据,并将同步数据发送到数据同步模块;数据同步模块,对同步数据进行调度,确定同步数据的发送链路,通过发送链路将同步数据发送给接收端的基板管理控制器。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据同步方法,该方法应用于发送端的基板管理控制器,基板管理控制器包括:现场可替换单元FRU管理模块和数据同步模块,该方法包括:FRU管理模块获取待同步数据,确定待同步数据的类型;FRU管理模块根据待同步数据的类型,对待同步数据进行处理;FRU管理模块,在运行到数据同步逻辑的情况下,从处理后的待同步数据中确定同步数据,并将同步数据发送到数据同步模块;数据同步模块,对同步数据进行调度,确定同步数据的发送链路,通过发送链路将同步数据发送给接收端的基板管理控制器。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据同步方法,其特征在于,应用于发送端的基板管理控制器,所述基板管理控制器包括:现场可替换单元FRU管理模块和数据同步模块,所述数据同步方法包括:
所述FRU管理模块获取待同步数据,确定所述待同步数据的类型;
所述FRU管理模块根据所述待同步数据的类型,对所述待同步数据进行处理;
所述FRU管理模块,在运行到数据同步逻辑的情况下,从处理后的所述待同步数据中确定同步数据,并将所述同步数据发送到数据同步模块;
所述数据同步模块,对所述同步数据进行调度,确定所述同步数据的发送链路,通过所述发送链路将所述同步数据发送给接收端的基板管理控制器。
2.根据权利要求1所述的数据同步方法,其特征在于,所述类型包括静态数据和动态数据;
所述FRU管理模块根据所述待同步数据的类型,对所述待同步数据进行处理,包括:
所述FRU管理模块将所述静态数据保存在所述FRU管理模块的内存中,并在所述FRU管理模块内部保留静态数据同步状态字,所述静态数据同步状态字用于指示所述静态数据是否已同步;
所述FRU管理模块对所述动态数据进行条带区域划分、编号并添加校验位,在FRU管理模块的内存中建立所述动态数据的同步副本。
3.根据权利要求2所述的数据同步方法,其特征在于,所述FRU管理模块,在运行到数据同步逻辑的情况下,从处理后的所述待同步数据中确定同步数据,包括:
所述FRU管理模块在运行到数据同步逻辑的情况下,从处理后的静态数据中确定静态数据同步状态字为否的静态同步数据;
所述FRU管理模块按照静态数据帧格式对所述静态同步数据进行封装,将封装后的静态同步数据作为所述同步数据,其中,所述静态数据帧格式包括数据分隔字段、静态数据同步状态字以及静态数据段。
4.根据权利要求2所述的数据同步方法,其特征在于,所述FRU管理模块,在运行到数据同步逻辑的情况下,从处理后的所述待同步数据中确定同步数据,包括:
所述FRU管理模块在运行到数据同步逻辑的情况下,确定本地内存中是否已存在动态数据的同步副本;
若本地内存中已存在动态数据的同步副本,则从处理后的动态数据中确定与已存在的同步副本相比发生变化的动态同步数据,将所述动态同步数据作为所述同步数据;
若本地内存中不存在动态数据的同步副本,则将处理后的动态数据作为所述同步数据。
5.根据权利要求1所述的数据同步方法,其特征在于,所述数据同步模块,对所述同步数据进行调度,确定所述同步数据的发送链路,通过所述发送链路将所述同步数据发送给接收端的基板管理控制器,包括:
根据所述FRU管理模块对数据实时性的要求,确定所述同步数据的发送接口,所述发送接口包括同步接口或异步接口;
在调用所述同步接口发送所述同步数据时,在所述同步数据的数据头帧中增加优先级字段,所述优先级字段的值是基于所述FRU管理模块的编号通过查询优先等级表确定的,所述优先等级表是根据各FRU管理模块的实时性以及数据量,在数据同步模块内部预先建立的;
根据所述优先级字段,对所述同步数据进行调度,确定所述同步数据的发送链路,通过所述发送链路将所述同步数据发送给接收端的基板管理控制器。
6.根据权利要求5所述的数据同步方法,其特征在于,所述方法还包括:
在调用所述异步接口发送所述同步数据时,将所述同步数据汇总在所述数据同步模块的发送数据池中,所述数据同步模块的异步数据发送线程一次性读取所述发送数据池中多个数据包,对所述多个数据包进行优先级排序,并按照排序结果调用物理链路将读取的数据包依次发送出去。
7.根据权利要求5所述的数据同步方法,其特征在于,所述确定所述同步数据的发送链路,包括:
在主备链路均为正常的情况下,确定备链路作为所述同步数据的发送链路;
在任意一条链路异常的情况下,采用公平竞争的方式确定所述同步数据的发送链路。
8.一种基板管理控制器,其特征在于,包括:现场可替换单元FRU管理模块和数据同步模块,
其中,所述FRU管理模块用于获取待同步数据,确定所述待同步数据的类型;根据所述待同步数据的类型,对所述待同步数据进行处理;在运行到数据同步逻辑的情况下,从处理后的所述待同步数据中确定同步数据,并将所述同步数据发送到所述数据同步模块;
所述数据同步模块,用于对所述同步数据进行调度,确定所述同步数据的发送链路,通过所述发送链路将所述同步数据发送给接收端的基板管理控制器。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的数据同步方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310779219.5A CN116795290A (zh) | 2023-06-28 | 2023-06-28 | 数据同步方法、基板管理控制器、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310779219.5A CN116795290A (zh) | 2023-06-28 | 2023-06-28 | 数据同步方法、基板管理控制器、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116795290A true CN116795290A (zh) | 2023-09-22 |
Family
ID=88041306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310779219.5A Pending CN116795290A (zh) | 2023-06-28 | 2023-06-28 | 数据同步方法、基板管理控制器、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116795290A (zh) |
-
2023
- 2023-06-28 CN CN202310779219.5A patent/CN116795290A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8046520B2 (en) | Compound computer system and method for sharing PCI devices thereof | |
US10042583B2 (en) | Device management method, device, and device management controller | |
US20070286184A1 (en) | Cluster system, load distribution method, optimization client program, and arbitration server program | |
CN110300188B (zh) | 数据传输***、方法和设备 | |
BR112019027654A2 (pt) | nó de rede de trem e método de monitoramento de nó de rede de trem com base em canopen | |
CN109921942B (zh) | 云平台切换控制方法、装置、***及电子设备 | |
CN111880906A (zh) | 虚拟机高可用性管理方法、***以及存储介质 | |
CN107729213B (zh) | 一种后台任务监控方法及装置 | |
CN111581043A (zh) | 服务器功耗的监控方法、装置和服务器 | |
CN111400041A (zh) | 服务器配置文件的管理方法、装置及计算机可读存储介质 | |
CN115964153A (zh) | 一种异步任务处理方法、装置、设备以及存储介质 | |
CN114844809A (zh) | 基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置 | |
CN109684130B (zh) | 一种机房间数据备份的方法及装置 | |
CN114531373A (zh) | 节点状态检测方法、节点状态检测装置、设备及介质 | |
CN117453036A (zh) | 调整服务器中的设备的功耗的方法、***及装置 | |
CN113658351A (zh) | 一种产品生产的方法、装置、电子设备及存储介质 | |
US11314670B2 (en) | Method, apparatus, and device for transmitting file based on BMC, and medium | |
CN116795290A (zh) | 数据同步方法、基板管理控制器、电子设备和存储介质 | |
CN109491867A (zh) | 一种通讯自动恢复方法和装置 | |
CN115904888A (zh) | 一种告警方法、计算设备及存储介质 | |
CN111159088A (zh) | 一种基于异构多核处理器的iic总线通信方法及*** | |
CN117614805B (zh) | 一种监控数据中心状态的数据处理*** | |
CN113190183B (zh) | 一种存储集群装置及设备挂载方法 | |
CN110752939A (zh) | 一种业务进程故障处理方法、通知方法和装置 | |
US10897390B2 (en) | Takeover method of process, cluster construction program and cluster construction apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |