一种基于BMC的数据持久化方法及系统技术方案

技术编号:26170915 阅读:19 留言:0更新日期:2020-10-31 13:40
本发明专利技术提供一种基于BMC的数据持久化方法及系统,所述方法包括如下步骤:S1.设置BMC监控服务器关键信息,将接收到服务器关键信息同时写入存储模块和缓存;S2.存储模块为每条服务器关键信息设置更新状态,记录是否写入缓存成功;S3.在缓存设置访问开关;当服务器关键信息写入缓存失败时,关闭缓存访问开关;S4.缓存访问开关关闭后,定时检测缓存是否可用;当缓存可用时,根据存储模块中服务器关键信息更新状态对缓存进行更新,并打开缓存访问开关。本发明专利技术通过更新状态恢复写入失败的缓存数据,避免缓存数据的整体恢复,以及通过缓存访问开关,避免缓存恢复之初获取到不正确数据,使得服务器的关键信息查看更快速,更可靠。

【技术实现步骤摘要】
一种基于BMC的数据持久化方法及系统
本专利技术属于BMC数据缓存
,具体涉及一种基于BMC的数据持久化方法及系统。
技术介绍
BMC,BaseboardManagementController的简称,基板管理控制器。BMC通过IPMI规范对服务器主板进行管理,具体包括本地和远程诊断、控制台支持、配置管理、硬件管理和故障排除,而在管理服务器的过程中需要对服务器关机信息进行监控,如监视风扇、内存硬盘及其他关键组件的使用情况,通过对服务器关键信息进行监控,对服务器的维护和故障处理能够提供一个较好的分析依据和数据支撑。并且服务器关键信息的监控,对于监控和分析整个服务器的运行状态至关重要,服务器关键信息包括:关键电压信息、关键温度信息、功耗信息。早期服务器关键信息的读取一般是访问实际设备或者读取数据库和配置文件信息,此种方式数据返回时间较长,获取数据的速度较慢。目前采用数据缓存可较快的获取监控数据,从而能够快速且准确的处理问题,现有BMC的数据缓存方法如下:先将数据存入数据库或者配置文件,再更新缓存,读取数据时直接从缓存获取,实现提高访问速度的提高。但是有时候数据库插入成功或者配置文件更新完成后,若缓存出现问题或者缓存系统挂了,客户端请求会直接访问数据库最新的数据,这样缓存恢复的时候,并发请求会访问到以前旧的缓存数据,这时候就会出现不一致问题;另外,当缓存恢复的时候通常是直接清空缓存,然后重新加载缓存内容,但实际上缓存数据有很大一部分是不经常变化的,比如一些在位信息,用户信息,FRU信息等,这种全部清空再重新加载缓存的方式效率非常低。此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于BMC的数据持久化方法及系统,是非常有必要的。
技术实现思路
针对现有技术的上述BMC将数据存储在缓存供用户读取,缓存故障又恢复时,从缓存读取的并非最新数据,出现数据不一致以及缓存数据恢复时完全重新加载效率低的缺陷,本专利技术提供一种基于BMC的数据持久化方法及系统,以解决上述技术问题。第一方面,本专利技术提供一种基于BMC的数据持久化方法,包括如下步骤:S1.设置BMC监控服务器关键信息,将接收到服务器关键信息同时写入存储模块和缓存;S2.存储模块为每条服务器关键信息设置更新状态,记录是否写入缓存成功;S3.在缓存设置访问开关;当服务器关键信息写入缓存失败时,关闭缓存访问开关;S4.缓存访问开关关闭后,定时检测缓存是否可用;当缓存可用时,根据存储模块中服务器关键信息更新状态对缓存进行更新,并打开缓存访问开关。进一步地,还包括如下步骤:S5.客户端读取BMC监控的服务器关键信息时,判断缓存访问开关是否打开;若是,从缓存读取服务器关键信息;若否,从存储模块读取服务器关键信息。通过设置缓存访问开关,避免缓存故障后恢复之处,从缓存读取到旧的缓存数据,出现数据不一致。进一步地,服务器关键信息包括电压信息、温度信息以及功耗信息。进一步地,存储模块采用数据库或配置文件;步骤S2具体步骤如下:S21.判断存储模块为数据库还是配置文件;当存储模块为数据库时,进入步骤S22;当存储模块为配置文件时,进入步骤S23;S22.在数据库增加状态表,状态表记录对应服务器关键信息是否更新到缓存,进入步骤S3;S23.在配置文件增加状态配置,状态配置记录对应服务器关键信息是否更新到缓存,进入步骤S3。存储模块可采用数据库或配置文件两种方式之一,每种方式都可设置记录BMC读取到服务器关键信息更新到缓存的更新状态。进一步地,步骤S3具体步骤如下:S31.在缓存设置访问开关,默认缓存访问开关设置为开启状态;S32.判断BMC向缓存写入服务器关键信息是否成功;若是,进入步骤S5;若否,判定缓存不可用,关闭缓存访问开关,进入步骤S4。通过缓存访问开关控制缓存是否可用,当BMC向缓存写入服务器关键信息失败时,可判定缓存不可用,关闭缓存访问开关,避免用户读取到错误数据。进一步地,步骤S4具体步骤如下:S41.缓存访问开关关闭后,进入步骤S5的同时,在后台设置定时,每间隔设定时间段进入缓存检测;S42.检测缓存是否可用;若是,进入步骤S43;若否,返回步骤S42;S43.获取存储模块中更新状态为写入缓存失败的服务器关键信息,对缓存进行更新;S44.打开缓存访问开关。缓存访问开关关闭后需要定时检测缓存是否故障恢复,并在缓存故障恢复后,及时通过更新状态对缓存数据进行更新,再打开缓存访问开关给用户使用,避免用户读取到错误的数据,同时,又无需对所有数据进行更新,只需更新状态为写入缓存失败的服务器关键信息。第二方面,本专利技术提供一种基于BMC的数据持久化系统,包括:服务器关键信息监控模块,用于设置BMC监控服务器关键信息,将接收到服务器关键信息同时写入存储模块和缓存;更新状态设置模块,用于在存储模块为每条服务器关键信息设置更新状态,记录是否写入缓存成功;缓存访问开关设置模块,用于在缓存设置访问开关;当服务器关键信息写入缓存失败时,关闭缓存访问开关;缓存检测模块,用于在缓存访问开关关闭后,定时检测缓存是否可用;并在缓存可用时,根据存储模块中服务器关键信息更新状态对缓存进行更新,并打开缓存访问开关。进一步地,还包括:服务器关键信息读取模块,用于在客户端读取BMC监控的服务器关键信息时,判断缓存访问开关是否打开,在缓存访问开关开启时,从缓存读取服务器关键信息,以及在缓存访问开关关闭时,从存储模块读取服务器关键信息。进一步地,更新状态设置模块包括:存储模块判断单元,用于判断存储模块为数据库还是配置文件;状态表增加单元,用于当存储模块为数据库时,在数据库增加状态表,状态表记录对应服务器关键信息是否更新到缓存;状态配置增加单元,用于当存储模块为配置文件时,在配置文件增加状态配置,状态配置记录对应服务器关键信息是否更新到缓存。进一步地,缓存访问开关设置模块包括;访问开关设置单元,用于在缓存设置访问开关,默认缓存访问开关设置为开启状态;缓存写入判断单元,用于判断BMC向缓存写入服务器关键信息是否成功;缓存访问开关关闭单元,用于判定缓存不可用,关闭缓存访问开关;缓存检测模块包括:定时设定单元,用于在缓存访问开关关闭后,在后台设置定时,每间隔设定时间段进入缓存检测;缓存检测单元,用于定时检测缓存是否可用;缓存更新单元,用于获取存储模块中更新状态为写入缓存失败的服务器关键信息,对缓存进行更新;缓存访问开关开启单元,用于在缓存可用时,更新缓存后,打开缓存访问开关。本专利技术的有益效果在于,本专利技术提供的基于BMC的数据持久化方法及系统,通过在存储模块增加更新状态记录写入缓存是否成功,在缓存故障恢复时,根据本文档来自技高网
...

【技术保护点】
1.一种基于BMC的数据持久化方法,其特征在于,包括如下步骤:/nS1.设置BMC监控服务器关键信息,将接收到服务器关键信息同时写入存储模块和缓存;/nS2.存储模块为每条服务器关键信息设置更新状态,记录是否写入缓存成功;/nS3.在缓存设置访问开关;当服务器关键信息写入缓存失败时,关闭缓存访问开关;/nS4.缓存访问开关关闭后,定时检测缓存是否可用;/n当缓存可用时,根据存储模块中服务器关键信息更新状态对缓存进行更新,并打开缓存访问开关。/n

【技术特征摘要】
1.一种基于BMC的数据持久化方法,其特征在于,包括如下步骤:
S1.设置BMC监控服务器关键信息,将接收到服务器关键信息同时写入存储模块和缓存;
S2.存储模块为每条服务器关键信息设置更新状态,记录是否写入缓存成功;
S3.在缓存设置访问开关;当服务器关键信息写入缓存失败时,关闭缓存访问开关;
S4.缓存访问开关关闭后,定时检测缓存是否可用;
当缓存可用时,根据存储模块中服务器关键信息更新状态对缓存进行更新,并打开缓存访问开关。


2.如权利要求1所述的基于BMC的数据持久化方法,其特征在于,还包括如下步骤:
S5.客户端读取BMC监控的服务器关键信息时,判断缓存访问开关是否打开;
若是,从缓存读取服务器关键信息;
若否,从存储模块读取服务器关键信息。


3.如权利要求1或2所述的基于BMC的数据持久化方法,其特征在于,服务器关键信息包括电压信息、温度信息以及功耗信息。


4.如权利要求1所述的基于BMC的数据持久化方法,其特征在于,存储模块采用数据库或配置文件;
步骤S2具体步骤如下:
S21.判断存储模块为数据库还是配置文件;
当存储模块为数据库时,进入步骤S22;
当存储模块为配置文件时,进入步骤S23;
S22.在数据库增加状态表,状态表记录对应服务器关键信息是否更新到缓存,进入步骤S3;
S23.在配置文件增加状态配置,状态配置记录对应服务器关键信息是否更新到缓存,进入步骤S3。


5.如权利要求2所述的基于BMC的数据持久化方法,其特征在于,步骤S3具体步骤如下:
S31.在缓存设置访问开关,默认缓存访问开关设置为开启状态;
S32.判断BMC向缓存写入服务器关键信息是否成功;
若是,进入步骤S5;
若否,判定缓存不可用,关闭缓存访问开关,进入步骤S4。


6.如权利要求5所述的基于BMC的数据持久化方法,其特征在于,步骤S4具体步骤如下:
S41.缓存访问开关关闭后,进入步骤S5的同时,在后台设置定时,每间隔设定时间段进入缓存检测;
S42.检测缓存是否可用;
若是,进入步骤S43;
若否,返回步骤S42;
S43.获取存储模块中更新状态为写入缓存失败的服务器关键信息,对缓存进行更新;
S44.打开...

【专利技术属性】
技术研发人员:曹风兵朱英澍黄帅
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1