本发明涉及计算机应用,特别涉及一种读取控制方法、装置、设备及存储介质。
背景技术:
1、基板管理控制器(baseboard management controller,bmc)是一个独立的系统,它不依赖于系统上的其它硬件(比如cpu、内存等),通常用来监控和管理服务器,其中就包括对服务器外设(比如风扇、电源等)的状态监控管理,随着白盒交换机在数据中心的广泛应用,很多交换机也开始使用bmc来管理外设。
2、虽然bmc有独立的管理地址,但网管系统正常运行时并不直接对bmc做管理,仍是只以cpu平面作为管理对象,但是cpu平面并不能直接读取这些外设的数据,因此需要bmc提供接口,在读取的数据中,既有温度值、风扇转速、电源电压等易变数据,也有设备在位、现场可更换单元(field replace unit,fru)信息等很少会变的信息,因为cpu无法监控这些内容变化,所以通常设置有应用获取时即时读取或者后台任务定时读取,考虑到即时读取在bmc部分要通过访问硬件读取,读取速度很慢,同时涉及的外设众多,且每个外设所需读取的内容也很多,因此完整读取一次常常要经过数分钟的时间,无法满足一些应用的要求,因此采用后台任务读取的方式成为主流。为了得到的信息不至于过分失真,这种读取的周期不能过长。
3、然而,对于这些很少会变的信息,每隔一定的周期就去轮询一次,显然是非常浪费的,无谓的消耗了很多cpu,对性能本就比较弱的bmc来说,更是额外的负担。
技术实现思路
1、本发明实施例的目的在于提供一种读取控制方法、装置、设备及存储介质,解决现有的cpu读取bmc外设数据时,对于非易变的数据频繁读取导致cpu无谓的消耗,造成了浪费,对性能本就比较弱的bmc,增加额外的负担的问题,具体技术方案如下:
2、在本发明实施的第一方面,首先提供了一种读取控制方法,其特征在于,所述方法包括:
3、接收基板管理控制器发送的目标日志条目,所述目标日志条目是所述基板管理控制器在检测到外接设备非易变节点的数据发生变化时生成的;
4、根据所述目标日志条目更新状态数据库;
5、响应于所述状态数据库的更新操作,从所述基板管理控制器中读取所述目标日志条目对应的非易变节点的数据。
6、可选地,所述接收基板管理控制器发送的目标日志条目,包括:
7、发送rsyslog配置文件至所述基板管理控制器;
8、通过所述rsyslog配置文件接收所述基板管理控制器发送的目标日志条目。
9、可选地,所述根据所述目标日志条目更新状态数据库包括:
10、将所述目标日志条目发送至第一日志文件,生成第一日志文件的目标字段信息;
11、通过所述目标字段信息触发写状态数据库。
12、可选地,所述通过所述目标字段信息触发写状态数据库,包括:
13、在检测到所述目标字段信息与预设特征信息一致的情况下,触发写状态数据库,所述预设特征信息存储在cpu端下发的rsyslog配置文件中。
14、可选地,所述方法还包括:
15、响应于cpu的启动,启动本地的守护进程;
16、通过所述守护进程读取所述外接设备的初始非易变节点的数据。
17、可选地,所述通过所述守护进程读取所述外接设备的初始非易变节点的数据之后,还包括:
18、订阅所述状态数据库;
19、在订阅到所述状态数据库存在更新事件的情况下,从所述基板管理控制器中读取当前外接设备的非易变节点的数据。
20、可选地,所述响应于所述状态数据库的更新操作,从所述基板管理控制器中读取所述目标日志条目对应的非易变节点的数据,包括:
21、响应于所述状态数据库的更新操作,触发本地的守护进程的读取操作;
22、通过所述读取操作从所述基板管理控制器中读取所述目标日志条目对应的非易变节点的数据。
23、在本发明实施的第二方面,还提供了一种读取控制装置,其特征在于,包括:
24、第一接收模块,用于接收基板管理控制器发送的目标日志条目,所述目标日志条目是所述基板管理控制器在检测到外接设备非易变节点的数据发生变化时生成的;
25、第一更新模块,用于根据所述目标日志条目更新状态数据库;
26、第一读取模块,用于响应于所述状态数据库的更新操作,从所述基板管理控制器中读取所述目标日志条目对应的非易变节点的数据。
27、在本发明实施的第三方面,还提供了一种通信设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;
28、所述处理器,用于读取存储器中的程序实现执行上述任一所述的读取控制方法。
29、在本发明实施的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的读取控制方法。
30、本发明实施例提供的读取控制方法,通过接收基板管理控制器发送的目标日志条目,使得基板管理控制器检测外接设备非易变节点的数据变化,避免了通过cpu读取时延迟比较大的问题,根据目标日志条目更新状态数据库,以此使得cpu确定此时基板管理控制器管理的外接设备的非易变节点数据发生变化,响应于状态数据库的更新操作,从基板管理控制器中读取目标日志条目对应的非易变节点的数据,使得cpu仅在确定基板管理控制器管理的外接设备的非易变节点数据发生变化时,进行数据的读取,降低了cpu无谓的消耗。本发明实施例通过基板管理控制器检测外接设备非易变节点的数据发生变化来避免cpu读取的延时,通过将携带非易变节点的数据变化信息的目标日志条目更新到cpu的状态数据库,使得cpu实现仅在基板管理控制器管理的外接设备的非易变节点数据发生变化时,进行数据的读取,降低了cpu无谓的消耗,对性能本就比较弱的bmc,减轻了负担。
1.一种读取控制方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述接收基板管理控制器发送的目标日志条目,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标日志条目更新状态数据库包括:
4.根据权利要求3所述的方法,其特征在于,所述通过所述目标字段信息触发写状态数据库,包括:
5.根据权利要求1所述的方法,其特征在于,还包括:
6.根据权利要求5所述的方法,其特征在于,所述通过所述守护进程读取所述外接设备的初始非易变节点的数据之后,还包括:
7.根据权利要求1所述的方法,其特征在于,所述响应于所述状态数据库的更新操作,从所述基板管理控制器中读取所述目标日志条目对应的非易变节点的数据,包括:
8.一种读取控制装置,其特征在于,包括:
9.一种通信设备,其特征在于,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;
10.一种可读存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任意一项所述读取控制方法中的步骤。