CN113254062B - 一种bmc参数配置及生效的方法、装置、设备和介质 - Google Patents

一种bmc参数配置及生效的方法、装置、设备和介质 Download PDF

Info

Publication number
CN113254062B
CN113254062B CN202110691443.XA CN202110691443A CN113254062B CN 113254062 B CN113254062 B CN 113254062B CN 202110691443 A CN202110691443 A CN 202110691443A CN 113254062 B CN113254062 B CN 113254062B
Authority
CN
China
Prior art keywords
parameter
configuration
database
state
external
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.)
Active
Application number
CN202110691443.XA
Other languages
English (en)
Other versions
CN113254062A (zh
Inventor
候志立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202110691443.XA priority Critical patent/CN113254062B/zh
Publication of CN113254062A publication Critical patent/CN113254062A/zh
Application granted granted Critical
Publication of CN113254062B publication Critical patent/CN113254062B/zh
Priority to US18/039,232 priority patent/US11797334B1/en
Priority to PCT/CN2021/134432 priority patent/WO2022267348A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Abstract

本申请提供了一种BMC参数配置及生效的方法、装置、设备和介质,方法包括:当第一进程接收到第一外部参数后,将数据库的与第一外部参数对应的参数配置状态修改为配置中,并将第一外部参数写入数据库;同时触发中断服务程序;利用中断服务程序判断数据库是否存在参数配置状态为配置中;若存在参数配置状态为配置中,则将数据库存储的第一外部参数写入配置文件中;当第一外部参数成功写入配置文件后,从数据库获取与第一外部参数对应的参数生效状态,并根据参数生效状态进行生效处理。本申请提高参数传递效率的同时,也降低了系统的负载。

Description

一种BMC参数配置及生效的方法、装置、设备和介质
技术领域
本申请涉及参数配置及生效技术领域,特别涉及一种BMC参数配置及生效的方法、装置、电子设备以及计算机可读存储介质。
背景技术
BMC(Board Management Controller,基板管理控制器)是一个独立于OS(Operating System,操作系统)的管理子系统。BMC中包含各种各样的参数,如IPMI(Intelligent Platform Management Interface,智能平台管理接口)规范中定义的user参数、sel/sol参数等,网络参数如IP地址(Internet Protocol Address,互联网协议地址)、子网掩码、网关等,都可以通过提供的用户交互接口由用户进行配置。目前BMC配置参数并使参数生效的方法,各个进程之间通过管道等形式进行通信,配置的参数在各个进程之间也通过管道的形式进行传递。在不同的进程中分别创建不同的线程处理从管道接收到的参数或数据,当接收到特定的参数之后,则更新对应进程的配置文件,重启相关的服务使得参数可以立刻生效。但是,不同的进程都需要创建相应的线程来接收和配置与本进程相关的配置参数,增加了linux系统的线程数,为linux系统的线程调度增加了一定的开销,一定程度上增加了系统资源的消耗;通过管道的方式进行参数的传递效率较低;多线程进行参数处理增加了系统开销,降低了系统的性能。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本申请的目的是提供一种BMC参数配置及生效的方法、装置、电子设备以及计算机可读存储介质,能够减少系统消耗,提高参数传递效率。其具体方案如下:
本申请提供了一种BMC参数配置及生效的方法,包括:
当第一进程接收到第一外部参数后,将数据库的与所述第一外部参数对应的参数配置状态修改为配置中,并将所述第一外部参数写入所述数据库;同时触发中断服务程序;
利用所述中断服务程序判断所述数据库是否存在参数配置状态为配置中;
若存在所述参数配置状态为所述配置中,则将所述数据库存储的所述第一外部参数写入配置文件中;
当所述第一外部参数成功写入所述配置文件后,从所述数据库获取与所述第一外部参数对应的参数生效状态,并根据所述参数生效状态进行生效处理。
优选地,所述当第一进程接收到第一外部参数后,将所述第一外部参数写入所述数据库;同时触发中断服务程序,包括:
当所述第一进程利用第一GPIO接收到所述第一外部参数后,将所述第一外部参数写入所述数据库;同时通过与所述第一GPIO短接的第二GPIO触发所述中断服务程序。
优选地,还包括:
当第二进程接收到第二外部参数,判断所述数据库是否存在参数配置状态为所述配置中;
若不存在所述参数配置状态为所述配置中,则将所述数据库的与所述第二外部参数对应的参数配置状态修改为配置中,以实现所述第二外部参数配置及生效。
优选地,还包括:
记录所述第一外部参数配置的配置时间;
当所述配置时间超过设定时间时,确定配置超时。
优选地,将所述第一外部参数写入所述数据库之后,还包括:
当所述第一外部参数成功写入所述配置文件后,将所述数据库中与所述第一外部参数对应的参数配置状态更新为配置成功;
当所述第一外部参数未成功写入所述配置文件,则根据写入过程中的写入错误的错误类型更新所述参数配置状态;
其中,所述错误类型对应的参数配置状态包括:空闲、配置文件不存在、配置参数不存在、参数配置报错、其他错误中的一种或者多种。
优选地,还包括:
反馈参数配置后的参数配置状态至用户端。
优选地,所述数据库为redis数据库。
优选地,所述根据所述参数生效状态进行生效处理,包括:
根据所述参数生效状态确定对应的生效条件;
根据所述生效条件进行生效处理;
其中,所述生效条件包括:立即生效、自动重启BMC生效、下次重启BMC生效、延迟生效中的一种或者多种。
本申请提供了一种BMC参数配置及生效的装置,包括:
参数写入和中断触发模块,用于当第一进程接收到第一外部参数后,将数据库的与所述第一外部参数对应的参数配置状态修改为配置中,并将所述第一外部参数写入所述数据库;同时触发中断服务程序;
状态判断模块,用于利用所述中断服务程序判断所述数据库是否存在参数配置状态为配置中;
配置模块,用于若存在所述参数配置状态为所述配置中,则将所述数据库存储的所述第一外部参数写入配置文件中;
生效模块,用于当所述第一外部参数成功写入所述配置文件后,从所述数据库获取与所述第一外部参数对应的参数生效状态,并根据所述参数生效状态进行生效处理。
本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述BMC参数配置及生效的方法的步骤。
本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述BMC参数配置及生效的方法的步骤。
本申请提供一种BMC参数配置及生效的方法,包括:当第一进程接收到第一外部参数后,将数据库的与第一外部参数对应的参数配置状态修改为配置中,并将第一外部参数写入数据库;同时触发中断服务程序;利用中断服务程序判断数据库是否存在参数配置状态为配置中;若存在参数配置状态为配置中,则将数据库存储的第一外部参数写入配置文件中;当第一外部参数成功写入配置文件后,从数据库获取与第一外部参数对应的参数生效状态,并根据参数生效状态进行生效处理。
可见,本申请在数据库中引入了参数配置状态和参数生效状态来配置参数以及生效参数,将第一外部参数写入到数据库的同时触发了中断服务程序,该中断服务程序用来通过参数配置状态判断哪些参数发生了变化需要处理,使外部参数的配置更加集中,仅仅通过中断服务程序即可实现,增强了扩展性;当数据库存在参数配置状态为配置中时,则将数据库存储的第一外部参数写至配置文件中,根据对应的参数生效状态使参数生效;通过设定参数生效状态灵活的实现生效机制,满足用户的不同需求;本申请以数据库作为进程间通信的介质,利用数据库的参数配置状态以及参数生效状态实现了参数的配置和生效,不需要管道的通信方式,提高参数传递效率的同时,也降低了系统的负载。
本申请同时还提供了一种BMC参数配置及生效的装置、电子设备以及计算机可读存储介质,均具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种BMC参数配置及生效的方法的流程图;
图2为本申请实施例提供的一种BMC参数配置及生效的装置的结构示意图;
图3为本申请实施例提供的一种电子设备的结构示意图;
图4为本申请实施例提供的另一种电子设备的结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前BMC配置参数并使参数生效的方法,各个进程之间通过管道等形式进行通信,配置的参数在各个进程之间也通过管道的形式进行传递。在不同的进程中分别创建不同的线程处理从管道接收到的参数或数据,当接收到特定的参数之后,则更新对应进程的配置文件,重启相关的服务使得参数可以立刻生效。但是,不同的进程都需要创建相应的线程来接收和配置与本进程相关的配置参数,增加了linux系统的线程数,为linux系统的线程调度增加了一定的开销,一定程度上增加了系统资源的消耗;通过管道的方式进行参数的传递效率较低;多线程进行参数处理增加了系统开销,降低了系统的性能。
基于上述技术问题,本实施例提供一种BMC参数配置及生效的方法,在数据库中引入了参数配置状态和参数生效状态来配置参数以及生效参数,将第一外部参数写入到数据库的同时触发了中断服务程序,该中断服务程序用来通过参数配置状态判断哪些参数发生了变化需要处理,使外部参数的配置更加集中,仅仅通过中断服务程序即可实现,增强了扩展性;当数据库存在参数配置状态为配置中时,则将数据库存储的第一外部参数写至配置文件中,根据对应的参数生效状态使参数生效;通过设定参数生效状态灵活的实现生效机制,满足用户的不同需求;本申请以数据库作为进程间通信的介质,利用数据库的参数配置状态以及参数生效状态实现了参数的配置和生效,不需要管道的通信方式,提高参数传递效率的同时,也降低了系统的负载。
请参考图1,图1为本申请实施例提供的一种BMC参数配置及生效的方法的流程图,具体包括:
S101、当第一进程接收到第一外部参数后,将数据库的与第一外部参数对应的参数配置状态修改为配置中,并将第一外部参数写入数据库;同时触发中断服务程序;
本实施例在BMC内部引入数据库作为进程间通信的主要手段,数据库中包括参数配置状态和参数生效状态,各进程使用的时候可以直接采用数据库中的对应的参数配置状态和参数生效状态,实时性更高,也解决了不同进程间通信的问题。
本实施例数据库中存储有多类参数对应的参数配置状态,当第一进程接收到第一外部参数后,首先将数据库中对应的参数配置状态修改为配置中,然后再将第一外部参数写入数据库,具体写入数据库的设定位置中。同时,触发了中断服务程序,该中断服务程序用来通过参数配置状态判断哪些参数发生了变化需要处理,使外部参数的配置更加集中,仅仅通过中断服务程序即可实现,增强了扩展性。
进一步的,还包括:
在数据库中设计参数配置状态的键值对,其中,键名称可根据需求设置,例如可设置为paramcfgstatus,状态键描述的是一个数组类型的键值对,数组中的每个元素分别表示某一类参数的配置状态,配置状态分为空闲(值为0)、配置中(值为1)、配置文件不存在(值为2)、配置参数不存在(值为3)、参数配置报错(值为4)、其他错误(值为5)、参数配置成功(值为6)。具体的值还可以根据需求设置,本实施例不再进行限定,只要是能够实现本实施例的目的即可。
S102、利用中断服务程序判断数据库是否存在参数配置状态为配置中;
利用中断服务程序判断数据库是否存在参数配置状态为配置中,若有则执行步骤S103,若没有,则确定没有参数需要配置以及生效。
S103、若存在参数配置状态为配置中,则将数据库存储的第一外部参数写入配置文件中;
S104、当第一外部参数成功写入配置文件后,从数据库获取与第一外部参数对应的参数生效状态,并根据参数生效状态进行生效处理。
数据库中还设计有参数生效状态,表示每一类参数生效所需条件。当第一外部参数成功写入配置文件后,获取与第一外部参数对应的参数生效状态,然后进行生效处理。
进一步的,还包括:
在数据库中设计一个参数生效状态的键值对,键名称可根据需求进行设置,例如可以设置为paramtakeeffectstatus,该状态键描述的是一个数组类型的键值对,其中数组中的每个元素分别表示某一类参数的生效条件,生效条件包括立即生效(值为0)、自动重启BMC生效(值为0xff),下次重启BMC生效(值为0xFe),其余数值则表示延迟生效,对应的数值表示延迟的时间,单位为s。具体的值还可以根据需求设置,本实施例不再进行限定,只要是能够实现本实施例的目的即可。
基于上述技术方案,本实施例在数据库中引入了参数配置状态和参数生效状态来配置参数以及生效参数,将第一外部参数写入到数据库的同时触发了中断服务程序,该中断服务程序用来通过参数配置状态判断哪些参数发生了变化需要处理,使外部参数的配置更加集中,仅仅通过中断服务程序即可实现,增强了扩展性;当数据库存在参数配置状态为配置中时,则将数据库存储的第一外部参数写至配置文件中,根据对应的参数生效状态使参数生效;通过设定参数生效状态灵活的实现生效机制,满足用户的不同需求;本申请以数据库作为进程间通信的介质,利用数据库的参数配置状态以及参数生效状态实现了参数的配置和生效,不需要管道的通信方式,提高参数传递效率的同时,也降低了系统的负载。
基于上述实施例,为了高效实现触发功能,其中,当第一进程接收到第一外部参数后,将第一外部参数写入数据库;同时触发中断服务程序,包括:当第一进程利用第一GPIO(General-purpose input/output,通用型之输入输出)接收到第一外部参数后,将第一外部参数写入数据库;同时通过与第一GPIO短接的第二GPIO触发中断服务程序。
本实施例在BMC选择两个普通的GPIO,将第一GPIO和第二GPIO外部连通,第一GPIO作为触发源,第二GPIO注册为系统中断,中断触发条件为上升沿。可以理解的是,第一GPIO的IFC进程作为触发源,一般提供的用户接口如IPMI、rest(Representational StateTransfer,表述性状态转移)接口、redfis接口、snmp(Simple Network ManagementProtocol,简单网络管理协议)接口等都是通过不同的进程实现的,为了便于描述,暂标记为IFC进程。
基于上述技术方案,本实施例通过物理硬件的GPIO引脚及中断机制实现参数配置的方式,在很大程度上降低了linux系统的负载,无需管道等需要实时监测或阻塞的通信方式。
基于上述任一实施例,为了保证每一进程的参数配置以及生效的准确性,BMC参数配置及生效方法,还包括:
当第二进程接收到第二外部参数,判断数据库是否存在参数配置状态为配置中;
若不存在参数配置状态为配置中,则将数据库的与第二外部参数对应的参数配置状态修改为配置中,以实现第二外部参数配置及生效。
其中,在第二进程接收到第二外部参数后,首先,判断数据库是否存在参数配置状态为配置中,具体的,如果存在参数状态为配置中,则确定上一个进程即第一进程还未处理完成,只有当所有进程处理完成后,不存在参数配置状态为配置中,才将数据库的与第二外部参数对应的参数配置状态修改为配置中,以实现第二外部参数配置及生效。
可见,本实施例接收到外部参数后,在修改参数配置状态为配置中前,先判断数据库中是否存在参数配置状态是配置中的,只有不存在时才用执行修改,保证了每一参数配置生效的准确性以及可靠性,避免配置错误的情况发生。
基于上述任一实施例,还包括:记录第一外部参数配置的配置时间;当配置时间超过设定时间时,确定配置超时。
其中,记录参数配置时间,当超过设定时间后,确定配置超时,在配置过程中可能出现了配置错误的情况,进而可以处理下一外部参数的配置,当达到设定条件后,再配置第一外部参数,提高外部参数配置的效率。该设定条件可以是不存在外部参数需要配置的情况,或者,当系统重启后再次进行第一外部参数的配置等,本实施例不再进行限定,用户可根据实际需求进行设置。当然还可以将配置超时的日志信息发送给用户,以便用户及时跟踪解决。
基于上述任一实施例,将第一外部参数写入数据库之后,还包括:
当第一外部参数成功写入配置文件后,将数据库中与第一外部参数对应的参数配置状态更新为配置成功;
当第一外部参数未成功写入配置文件,则根据写入过程中的写入错误的错误类型更新参数配置状态;
其中,错误类型对应的参数配置状态包括:空闲、配置文件不存在、配置参数不存在、参数配置报错、其他错误中的一种或者多种。
基于上述技术方案,本实施例当第一外部参数成功写入配置文件后及时更新对应的参数配置状态为配置成功,当配置过程出现错误时,根据错误的类型更新参数配置状态。
基于上述任一实施例,为了保证用户能够追踪配置过程,及时了解错误的情况,便于后续系统维护,还包括:反馈参数配置后的参数配置状态至用户端。
在一种可实现的实施方式中,当接收到用户端发送的请求后,则根据请求,反馈参数配置后的参数配置状态至用户端。在另一种可实现的实施方式中,当参数配置的数量达到设定数量后,反馈参数配置后的参数配置状态至用户端。在另一种可实现的实施方式中,按照设定周期,反馈参数配置后的参数配置状态至用户端。具体采用上述哪种形式,本实施例不再进行限定,用户可自定义选择。
基于上述技术方案,本实施例通过反馈配置参数状态值用户端,保证用户能够追踪配置过程,及时了解错误的情况,便于后续系统维护。
进一步的,数据库为redis数据库。采用了redis数据库中的互斥机制,无需自己处理不同进程间的同步机制,可靠性更好。具体的,基于GPIO的中断功能和redis数据库实现BMC参数配置和生效的方法,通过引GPIO实现IFC进程和中断服务处理函数的通信通道,然后通过设计redis数据库中的两个字段,针对参数配置状态和参数配置生效触发机制进行定制和处理,很好的解决了不同进程互斥的问题,参数配置生效的问题,linux系统资源耗费较高和参数配置分布比较分散的问题等,利于问题排查,可以应用到所有linux的嵌入式系统中。
进一步的,根据参数生效状态进行生效处理,包括:根据参数生效状态确定对应的生效条件;根据生效条件进行生效处理;其中,生效条件包括:立即生效、自动重启BMC生效、下次重启BMC生效、延迟生效中的一种或者多种。通过引入生效机制字段对应的参数生效状态,可以使客户灵活选择参数生效的触发条件,是要求立即生效,还是要求重启BMC或者延迟一段时间再生效,灵活性更好,客户定制化更容易得到满足。
基于上述任一实施例,本实施例提供一种基于GPIO的中断功能及redis数据库实现BMC参数配置和生效的方法,主要的实现步骤阐述如下:
S1:首先需要在BMC内部引入redis数据库作为进程间通信的主要手段;
S2:在redis数据库中设计一个参数配置状态的键值对,键名称为paramcfgstatus,该状态键描述的是一个数组类型的键值对,其中数组中的每个元素分别表示某一类参数的配置状态,配置状态分为空闲(值为0)、配置中(值为1)、配置文件不存在(值为2)、配置参数不存在(值为3)、参数配置报错(值为4)、其他错误(值为5)、参数配置成功(值为6)等;
S3:在redis数据库中设计一个参数生效状态的键值对,键名称为paramtakeeffectstatus,该状态键描述的是一个数组类型的键值对,其中数组中的每个元素分别表示某一类参数的生效条件,生效条件包括立即生效(值为0)、自动重启BMC生效(值为0xff),下次重启BMC生效(值为0xFe),其余数值则表示延迟生效,对应的数值表示延迟的时间,单位为s;
S4:在BMC选择两个普通的GPIO,将这两个GPIO外部连通,其中一个GPIO由IFC进程作为触发源,另外一个GPIO注册为系统中断,中断触发条件为上升沿;
S5:实现中断处理函数。
首先,获取paramcfgstatus的键所对应的值,遍历获取到的paramcfgstatus数组中的每个元素;
判断每类参数的状态是否属于配置中;
如果属于配置中,则从约定的redis数据库区域获取对应的参数配置到对应的配置文件中;
如果在写入配置文件的过程中出现错误,则根据错误类型分别将paramcfgstatus对应的字段写成配置文件不存在、配置参数不存在、配置参数报错或其他错误;
如果配置成功,则将paramcfgstatus对应的字段改成参数配置成功,从redis数据库中获取paramtakeeffectstatus,查找该数组中对应的参数的生效条件,如果为立即生效,则立即重启使用该参数的进程,如果为自动重启BMC生效,则立刻重启BMC即可,如果为下次重启BMC生效,则不做任何操作,记录日志提示后台维护人员存在参数配置,如果需要生效则需要其手动重启BMC,如果为延迟生效,则延迟对应的时间后重启参数对应的进程。
该参数处理完成之后判断paramcfgstatus是否还有其他参数需要处理,有则处理,不存在则退出;
S6:IFC进程存在参数配置需求的时候,则首先将参数写入redis数据库对应的配置参数区,然后将paramcfgstatus的状态置为配置中,触发对应的GPIO引发步骤S5中的中断服务函数去处理,将paramtakeeffectstatus按照不同参数的不同策略进行处理之后,然后实时检测其中的paramcfgstatus状态,根据状态判断中断服务函数的处理流程和结果,并将参数配置结果返回给客户即可。
基于上述技术方案,本实施例具有下述有益效果:通过物理硬件的GPIO引脚及中断机制实现参数配置的方式,在很大程度上降低了linux系统的负载,无需管道等需要实时监测或阻塞的通信方式;参数处理和参数配置更加集中,当出现问题的时候易于排查,通过一个中断服务函数即可实现不同参数的配置和生效,针对该中断服务函数,可以采用回调函数的机制进行处理,扩展性、灵活性都特别强;通过redis数据库中的对应的字段,可以将参数配置过程中的相关错误及状态及时反馈给参数配置进程,从而可以使客户了解到参数配置是否成功及失败的原因;通过引入生效机制字段,可以使客户灵活选择参数生效的触发条件,是要求立即生效,还是要求重启BMC或者延迟一段时间再生效,灵活性更好,客户定制化更容易得到满足;
下面对本申请实施例提供的一种BMC参数配置及生效的装置进行介绍,下文描述的BMC参数配置及生效的装置与上文描述的BMC参数配置及生效的方法可相互对应参照,参考图2,图2为本申请实施例提供的一种BMC参数配置及生效的装置的结构示意图,包括:
参数写入和中断触发模块201,用于当目标进程接收到外部参数后,将外部参数写入数据库设定区域;同时触发中断服务程序;
状态判断模块202,用于利用中断服务程序判断数据库中与外部参数对应的参数配置状态是否为配置中;
配置模块203,用于若参数配置状态是配置中,则将设定区域获取的外部参数写入配置文件中;
生效模块204,用于当外部参数成功写入配置文件后,从数据库中获取与外部参数对应的参数生效状态,并根据参数生效状态进行生效处理。
优选地,参数写入和中断触发模块201,具体用于:
当第一进程利用第一GPIO接收到第一外部参数后,将第一外部参数写入数据库;同时通过与第一GPIO短接的第二GPIO触发中断服务程序。
优选地,还包括:
判断模块,用于当第二进程接收到第二外部参数,判断数据库是否存在参数配置状态为配置中;
修改模块,用于若不存在参数配置状态为配置中,则将数据库的与第二外部参数对应的参数配置状态修改为配置中,以实现第二外部参数配置及生效。
优选地,还包括:
时间记录模块,用于记录第一外部参数配置的配置时间;
确定模块,用于当配置时间超过设定时间时,确定配置超时。
优选地,还包括:状态更新模块,用于:
当第一外部参数成功写入配置文件后,将数据库中与第一外部参数对应的参数配置状态更新为配置成功;
当第一外部参数未成功写入配置文件,则根据写入过程中的写入错误的错误类型更新参数配置状态;
其中,错误类型对应的参数配置状态包括:空闲、配置文件不存在、配置参数不存在、参数配置报错、其他错误中的一种或者多种。
优选地,还包括:
反馈模块,用于反馈参数配置后的参数配置状态至用户端。
优选地,数据库为redis数据库。
优选地,生效模块204,包括:
生效条件确定单元,用于根据参数生效状态确定对应的生效条件;
生效处理单元,用于根据生效条件进行生效处理;
其中,生效条件包括:立即生效、自动重启BMC生效、下次重启BMC生效、延迟生效中的一种或者多种。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的电子设备与上文描述的方法可相互对应参照。
参见图3所示,图3为本申请实施例提供的一种电子设备的结构示意图,包括:
存储器301,用于存储计算机程序;
处理器302,用于执行计算机程序时实现如上BMC参数配置及生效的方法的步骤。
存储器301包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器302为电子设备提供计算和控制能力,执行存储器301中保存的计算机程序时,可以实现以下步骤:当第一进程接收到第一外部参数后,将数据库的与第一外部参数对应的参数配置状态修改为配置中,并将第一外部参数写入数据库;同时触发中断服务程序;利用中断服务程序判断数据库是否存在参数配置状态为配置中;若存在参数配置状态为配置中,则将数据库存储的第一外部参数写入配置文件中;当第一外部参数成功写入配置文件后,从数据库获取与第一外部参数对应的参数生效状态,并根据参数生效状态进行生效处理。
在一些具体的实施例中,处理器302执行存储器301中保存的计算机子程序时,可以实现以下步骤:当第一进程利用第一GPIO接收到第一外部参数后,将第一外部参数写入数据库;同时通过与第一GPIO短接的第二GPIO触发中断服务程序。
在一些具体的实施例中,处理器302执行存储器301中保存的计算机子程序时,可以实现以下步骤:当第二进程接收到第二外部参数,判断数据库是否存在参数配置状态为配置中;若不存在参数配置状态为配置中,则将数据库的与第二外部参数对应的参数配置状态修改为配置中,以实现第二外部参数配置及生效。
在一些具体的实施例中,处理器302执行存储器301中保存的计算机子程序时,可以实现以下步骤:记录第一外部参数配置的配置时间;当配置时间超过设定时间时,确定配置超时。
在一些具体的实施例中,处理器302执行存储器301中保存的计算机子程序时,可以实现以下步骤:当第一外部参数成功写入配置文件后,将数据库中与第一外部参数对应的参数配置状态更新为配置成功;当第一外部参数未成功写入配置文件,则根据写入过程中的写入错误的错误类型更新参数配置状态;其中,错误类型对应的参数配置状态包括:空闲、配置文件不存在、配置参数不存在、参数配置报错、其他错误中的一种或者多种。
在一些具体的实施例中,处理器302执行存储器301中保存的计算机子程序时,可以实现以下步骤:反馈参数配置后的参数配置状态至用户端。
在一些具体的实施例中,处理器302执行存储器301中保存的计算机子程序时,可以实现以下步骤:根据参数生效状态确定对应的生效条件;根据生效条件进行生效处理;其中,生效条件包括:立即生效、自动重启BMC生效、下次重启BMC生效、延迟生效中的一种或者多种。
在上述实施例的基础上,作为优选实施方式,参见图4,图4为本申请实施例提供的另一种电子设备的结构图,该电子设备还包括:
输入接口303,与处理器302相连,用于获取外部导入的计算机程序、参数和指令,经处理器302控制保存至存储器301中。该输入接口303可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。
显示单元304,与处理器302相连,用于显示处理器302发送的数据。该显示单元304可以为PC机(Personal Computer,个人计算机)上的显示屏、液晶显示屏或者电子墨水显示屏等。
网络端口305,与处理器302相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术、通用串行总线、高清多媒体接口、无线保真技术、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
由于电子设备部分的实施例与方法部分的实施例相互对应,因此电子设备部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
下面对本申请实施例提供的一种计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的方法可相互对应参照。
本实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上BMC参数配置及生效的方法的步骤。
由于计算机可读存储介质部分的实施例与方法部分的实施例相互对应,因此计算机可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器、内存、只读存储器、电可编程只读存储器、电可擦除可编程只读存储器、寄存器、硬盘、可移动磁盘、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种BMC参数配置及生效的方法、装置、电子设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (11)

1.一种BMC参数配置及生效的方法,其特征在于,包括:
当第一进程接收到第一外部参数后,将数据库的与所述第一外部参数对应的参数配置状态修改为配置中,并将所述第一外部参数写入所述数据库;同时触发中断服务程序;
利用所述中断服务程序判断所述数据库是否存在参数配置状态为配置中;
若存在所述参数配置状态为所述配置中,则将所述数据库存储的所述第一外部参数写入配置文件中;
当所述第一外部参数成功写入所述配置文件后,从所述数据库获取与所述第一外部参数对应的参数生效状态,并根据所述参数生效状态进行生效处理;
数据库中存储有多类参数对应的参数配置状态;数据库中设计有参数生效状态,表示每一类参数生效所需条件;各进程采用数据库中的对应的参数配置状态和参数生效状态,解决了不同进程间通信的问题。
2.根据权利要求1所述的BMC参数配置及生效的方法,其特征在于,所述当第一进程接收到第一外部参数后,将所述第一外部参数写入所述数据库;同时触发中断服务程序,包括:
当所述第一进程利用第一GPIO接收到所述第一外部参数后,将所述第一外部参数写入所述数据库;同时通过与所述第一GPIO短接的第二GPIO触发所述中断服务程序。
3.根据权利要求1所述的BMC参数配置及生效的方法,其特征在于,还包括:
当第二进程接收到第二外部参数,判断所述数据库是否存在参数配置状态为所述配置中;
若不存在所述参数配置状态为所述配置中,则将所述数据库的与所述第二外部参数对应的参数配置状态修改为配置中,以实现所述第二外部参数配置及生效。
4.根据权利要求1所述的BMC参数配置及生效的方法,其特征在于,还包括:
记录所述第一外部参数配置的配置时间;
当所述配置时间超过设定时间时,确定配置超时。
5.根据权利要求1所述的BMC参数配置及生效的方法,其特征在于,将所述第一外部参数写入所述数据库之后,还包括:
当所述第一外部参数成功写入所述配置文件后,将所述数据库中与所述第一外部参数对应的参数配置状态更新为配置成功;
当所述第一外部参数未成功写入所述配置文件,则根据写入过程中的写入错误的错误类型更新所述参数配置状态;
其中,所述错误类型对应的参数配置状态包括:空闲、配置文件不存在、配置参数不存在、参数配置报错、其他错误中的一种或者多种。
6.根据权利要求1所述的BMC参数配置及生效的方法,其特征在于,还包括:
反馈参数配置后的参数配置状态至用户端。
7.根据权利要求1所述的BMC参数配置及生效的方法,其特征在于,所述数据库为redis数据库。
8.根据权利要求1至7任一项所述的BMC参数配置及生效的方法,其特征在于,所述根据所述参数生效状态进行生效处理,包括:
根据所述参数生效状态确定对应的生效条件;
根据所述生效条件进行生效处理;
其中,所述生效条件包括:立即生效、自动重启BMC生效、下次重启BMC生效、延迟生效中的一种或者多种。
9.一种BMC参数配置及生效的装置,其特征在于,包括:
参数写入和中断触发模块,用于当第一进程接收到第一外部参数后,将数据库的与所述第一外部参数对应的参数配置状态修改为配置中,并将所述第一外部参数写入所述数据库;同时触发中断服务程序;
状态判断模块,用于利用所述中断服务程序判断所述数据库是否存在参数配置状态为配置中;
配置模块,用于若存在所述参数配置状态为所述配置中,则将所述数据库存储的所述第一外部参数写入配置文件中;
生效模块,用于当所述第一外部参数成功写入所述配置文件后,从所述数据库获取与所述第一外部参数对应的参数生效状态,并根据所述参数生效状态进行生效处理;
数据库中存储有多类参数对应的参数配置状态;数据库中设计有参数生效状态,表示每一类参数生效所需条件;各进程采用数据库中的对应的参数配置状态和参数生效状态,解决了不同进程间通信的问题。
10.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述BMC参数配置及生效的方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述BMC参数配置及生效的方法的步骤。
CN202110691443.XA 2021-06-22 2021-06-22 一种bmc参数配置及生效的方法、装置、设备和介质 Active CN113254062B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110691443.XA CN113254062B (zh) 2021-06-22 2021-06-22 一种bmc参数配置及生效的方法、装置、设备和介质
US18/039,232 US11797334B1 (en) 2021-06-22 2021-11-30 BMC parameter configuration and effect-taking method and apparatus, device, and medium
PCT/CN2021/134432 WO2022267348A1 (zh) 2021-06-22 2021-11-30 一种bmc参数配置及生效的方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110691443.XA CN113254062B (zh) 2021-06-22 2021-06-22 一种bmc参数配置及生效的方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN113254062A CN113254062A (zh) 2021-08-13
CN113254062B true CN113254062B (zh) 2021-11-09

Family

ID=77189101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110691443.XA Active CN113254062B (zh) 2021-06-22 2021-06-22 一种bmc参数配置及生效的方法、装置、设备和介质

Country Status (3)

Country Link
US (1) US11797334B1 (zh)
CN (1) CN113254062B (zh)
WO (1) WO2022267348A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254062B (zh) 2021-06-22 2021-11-09 苏州浪潮智能科技有限公司 一种bmc参数配置及生效的方法、装置、设备和介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4942540A (en) * 1987-03-02 1990-07-17 Wang Laboratories, Inc. Method an apparatus for specification of communication parameters
US5930465A (en) * 1996-11-26 1999-07-27 Xerox Corporation Printing system with enhanced print service capability
US5974413A (en) * 1997-07-03 1999-10-26 Activeword Systems, Inc. Semantic user interface
BR9815131A (pt) * 1997-12-02 2005-05-31 Cash Technologies Inc Rede de transação automatizada, terminal de transação automatizado e, processo para realizar uma transação com um de diversos provedores de serviços a partir de um terminal de transação automatizado
US6263212B1 (en) * 1998-02-17 2001-07-17 Alcatel Usa Sourcing, L.P. Short message service center
US6138152A (en) * 1998-06-02 2000-10-24 Lucent Technologies Inc. Technique for effectively serving information objects through a communication network
CA2266223A1 (en) * 1999-03-22 2000-09-22 Virtual Access Ireland Limited Apparatus and method for generating configuration data for a device to access a service
US6842769B1 (en) * 2000-05-05 2005-01-11 Interland, Inc. Automatically configured network server
US6901580B2 (en) * 2001-06-22 2005-05-31 Intel Corporation Configuration parameter sequencing and sequencer
US6981073B2 (en) * 2001-07-31 2005-12-27 Wis Technologies, Inc. Multiple channel data bus control for video processing
US20030191750A1 (en) * 2002-04-04 2003-10-09 Mayel Espino Method, system and computer program product for lightweight directory access protocol applications
GB2409306A (en) * 2003-12-20 2005-06-22 Autodesk Canada Inc Data processing network with switchable storage
US7694298B2 (en) * 2004-12-10 2010-04-06 Intel Corporation Method and apparatus for providing virtual server blades
US7895308B2 (en) * 2005-05-11 2011-02-22 Tindall Steven J Messaging system configurator
US8368529B1 (en) * 2009-02-03 2013-02-05 Green Badge, LLC Antenna circuit matching the soil conditions
US9690593B2 (en) * 2013-03-04 2017-06-27 Dell Products L.P. Server information handling system configuration from an end state definition file
EP3245565A1 (en) * 2015-01-14 2017-11-22 Parker Hannifin Corporation Generic configuration parameters shared amongst groups of store controllers
CN105721206A (zh) * 2016-01-29 2016-06-29 浪潮电子信息产业股份有限公司 一种bios设置bmc网络参数立即生效的方法
US10380345B2 (en) 2017-07-31 2019-08-13 International Business Machines Corporation Delivering configuration based security and process workflows
CN111181787B (zh) * 2019-12-30 2023-10-13 浪潮电子信息产业股份有限公司 一种bmc参数配置方法、装置、设备、介质
US11347522B2 (en) * 2020-06-03 2022-05-31 Dell Products L.P. API dynamic processing in HCI environment
CN112434045A (zh) * 2020-12-10 2021-03-02 深圳市亿联无限科技有限公司 一种嵌入式系统进程间大数据通信的方法及装置
CN113254062B (zh) 2021-06-22 2021-11-09 苏州浪潮智能科技有限公司 一种bmc参数配置及生效的方法、装置、设备和介质

Also Published As

Publication number Publication date
US20230350712A1 (en) 2023-11-02
US11797334B1 (en) 2023-10-24
WO2022267348A1 (zh) 2022-12-29
CN113254062A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
US20180322162A1 (en) Query dispatch and execution architecture
US9384114B2 (en) Group server performance correction via actions to server subset
US8295963B2 (en) Methods for performing data management for a recipe-and-component control module
CN110365762B (zh) 服务处理方法、装置、设备及存储介质
US10397281B2 (en) Method, system and server for self-healing of electronic apparatus
US10404568B2 (en) Agent manager for distributed transaction monitoring system
US20210226871A1 (en) Cluster management method, apparatus and system
CN113254062B (zh) 一种bmc参数配置及生效的方法、装置、设备和介质
CN111176801A (zh) 一种多进程管理方法、装置、设备及存储介质
US10506051B2 (en) Remote system monitor
US8612780B2 (en) Method and apparatus for modifying power management configuration of a computer to accommodate a packet processing latency policy associated with a pattern
CN111857303B (zh) 一种fpga复位方法、装置、系统和电子设备
CN110413310A (zh) 程序升级方法及终端设备
US9167052B2 (en) Apparatus, systems, and methods for providing policy in network-based applications
US9189370B2 (en) Smart terminal fuzzing apparatus and method using multi-node structure
CN115145381A (zh) 一种远程重置bmc芯片的方法、系统、存储介质及设备
US20180059640A1 (en) Techniques for event driven scheduling in a welding or cutting system
KR100495367B1 (ko) 소프트웨어 워치도그를 이용한 시스템 관리방법
CN110286937B (zh) 一种分布式软件运行的方法及其系统
WO2022009438A1 (ja) サーバメンテナンス制御装置、システム、制御方法及びプログラム
CN115981936A (zh) 一种调试方法、物联网设备、调试服务器以及调试系统
CN114721795A (zh) 任务处理方法、系统、装置、电子设备和存储介质
CN116521593A (zh) 基板管理控制器的通信方法、系统及相关设备
JP2023551005A (ja) パラメータ構成方法、装置、およびシステム
KR20140140790A (ko) Rtos 기반 임베디드 시스템 소프트웨어 모니터링을 위한 타겟 에이젼트 운용 방법

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
GR01 Patent grant
GR01 Patent grant