一种服务器管理界面的个性化设置方法及系统
技术领域
本发明涉及服务器BMC系统领域,具体涉及一种服务器管理界面的个性化设置方法及系统。
背景技术
随着x86服务器技术的发展,用户对服务器管理的需求也越来越高。服务器管理系统主要位于BMC(基板管理控制器)中,为运营商和客户提供服务器的各项管理功能。服务器制造商为了满足各大运营商定制化需求,需要对BMC的WEB管理界面进行定制化,如显示不同的徽标和版权信息、显示不同界面风格等。
现有服务器管理软件的个性化设置大都采用了静态编译技术来实现:该方法首先将定制化功能固化到代码内部,后续需要对预设配置进行调整时通过编译选项进行编译切换,调整为对应版本的管理界面以供运营商使用,但是现有静态编译技术存在以下缺点:
1、在调整改动时需要同时修改前后端代码,当修改软件功能界面时,需要对代码全部进行修改适配,复杂繁琐,使用起来不方便;
2、需要修改编译脚本,配置各类参数,使用复杂,可扩展性差;
3、需要对不同运营商的服务器管理软件分别进行版本管理,代码修改需要分别适配所有运营商版本。
针对上述问题,有部分技术人员在服务器管理软件中使用计算机存储的静态介质保存配置,在运行时进行逻辑判断并更新配置值。这种方案在产品及配置种类较少时可解决了一部分静态编译技术的问题,但该方案在进行配置扩展时依然需要添加配置和逻辑代码,维护和扩展的技术难度高,操作复杂,也难以应对产品配置复杂的应用场景。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种服务器管理界面的个性化设置方法及系统,可在不影响现有软件架构的基础上简化添加管理功能的操作,通过统一的个性化设置脚本提供良好的可扩展性,大大降低了开发人员使用难度,节省了开发时间。
为达到以上目的,本发明采取的技术方案是:
一种服务器管理界面的个性化设置方法,包括以下步骤:
设置包含定制化信息的定制化脚本;
客户端登录服务器管理软件界面时,服务器后台通过IPMI协议获取设备ID,在定制化脚本中获取所述设备ID对应的定制化信息;
服务器后台将获取的定制化信息设置到客户端的信息记录程序;
服务器界面初始化时,客户端从信息记录程序读取获取到的定制化信息,并根据所述定制化信息切换管理界面。
在上述技术方案的基础上,服务器后台在从IPMI中获取设备ID后,将设备ID写入客户端的第一信息记录程序;读取定制化脚本的内容,获取设备ID所对应的运营商资源目录,写入第二信息记录程序;读取第二信息记录程序,将资源url更改为所述第二信息记录程序中的运营商资源目录。
在上述技术方案的基础上,服务器后台将获取的定制化信息写入所述第一信息记录程序;客户端读取所述第一信息记录程序获取所述定制化信息,并根据所述定制化信息切换管理界面。
在上述技术方案的基础上,在再次登录服务器管理软件界面前,还包括以下步骤:
开发人员对定制化脚本进行调整,增加服务器管理界面的个性化设置。
在上述技术方案的基础上,所述开发人员对定制化脚本进行调整,增加服务器管理界面的个性化设置包括:
指定在IPMI协议中用于获取设备ID命令返回结果的设备ID,并保证该值不与定制化脚本中已有的设备ID重复;修改BMC固件的编译参数文件,添加指定的设备ID;修改服务器后台的定制化脚本,增加包括运营商资源目录、运营商版权信息的定制化信息;在服务器后台建立与所述定制化脚本中运营商资源目录路径、包含信息均一致的新目录,并在所述新目录下添加包括logo图片、定制化css脚本的定制化信息。
在上述技术方案的基础上,在修改服务器后台的定制化脚本,增加包括运营商资源目录、运营商版权信息的定制化信息步骤中,发现运营商资源目录已存在时,跳过后续步骤,使用第一信息记录程序中设备ID作为特殊功能判定条件修改客户端js代码。
在上述技术方案的基础上,当在定制化脚本中获取所述设备ID对应的定制化信息失败时,读取制造商预设定制化信息,客户端根据所述制造商预设定制化信息内容切换管理界面。
本发明还提供一种服务器管理界面的个性化设置系统,包括:
基板管理控制器,用于设置包含定制化信息的定制化脚本,在登录服务器管理软件界面时,通过IPMI协议获取设备ID,在定制化脚本中获取所述设备ID对应的定制化信息,以及将获取的定制化信息设置到客户端的信息记录程序;
客户端,用于登录服务器管理软件界面,以及在服务器界面初始化时从信息记录程序读取获取到的定制化信息,并根据所述定制化信息切换管理界面。
在上述技术方案的基础上,所述基板管理控制器还用于从IPMI中获取设备ID后,将设备ID写入客户端的第一信息记录程序;读取定制化脚本的内容,获取设备ID所对应的运营商资源目录,写入第二信息记录程序;以及读取第二信息记录程序,将资源url更改为所述第二信息记录程序中的运营商资源目录。
在上述技术方案的基础上,所述客户端还用于将所述定制化信息设置到客户端的所述第一信息记录程序,以及读取所述第一信息记录程序获取所述定制化信息,并切换管理界面。
与现有技术相比,本发明的优点在于:
(1)本发明的服务器管理界面的个性化设置方法可在不影响现有软件架构的基础上简化添加管理功能的操作,通过统一的个性化设置脚本提供良好的可扩展性,日常维护过程中仅需通过修改定制化脚本和增加对应资源目录,即可完成定制化修改,大大降低了开发人员维护难度,节省了系统维护和配置调整的工作时间。
(2)本发明的服务器管理界面的个性化设置方法中,后台根据设备ID从定制化脚本读取定制化信息,并将定制化信息设置到客户端的信息记录程序;由于信息记录程序是同步返回的,因此在客户端界面开始渲染之前,该定制化信息总是可用的,因此可达到所有服务器管理软件界面均为对应的运营商定制化界面的效果。
(3)本发明的服务器管理界面的个性化设置系统可通过后台控制单元读取获取设备ID命令获取定制化脚本中对应信息,并传递至客户端,客户端则根据定制化信息呈现登录和运行界面,实现了根据配置项动态控制界面呈现方式的功能。
附图说明
图1为本发明实施例中服务器管理界面的个性化设置系统的界面资源目录结构示意图;
图2为本发明实施例中服务器管理界面的个性化设置方法的工作流程图;
图3为本发明实施例中服务器管理界面的个性化设置方法中修改服务器管理界面的工作流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
实施例1
参见图2所示,本发明实施例提供一种服务器管理界面的个性化设置方法,包括以下步骤:
设置包含定制化信息的定制化脚本;在本实施例中,一种可行的的目录结构如图1所示,包含定制化信息的定制化脚本以json文件的形式储存于服务器管理文件目录中,定制化脚本包含服务器资源目录的具体内容,包括资源目录、特定界面字符串、控制菜单情况、LOGO和登录界面信息等。
客户端登录服务器管理软件界面时,服务器后台通过IPMI协议获取设备ID,在定制化脚本中获取所述设备ID对应的定制化信息;
服务器后台将获取的定制化信息设置到客户端的信息记录程序;
服务器界面框架初始化时,读取服务器后台定制化脚本,取得对应定制化信息,客户端根据所述定制化信息切换管理界面,切换管理界面时,会替换界面字符串、控制显示菜单等内容。
本发明服务器管理界面的个性化设置方法的工作原理为:本发明方案基于的IPMI协议的获取设备ID命令,构造一个定制化脚本管理所有需要动态切换的内容。服务器后台基板控制单元根据设备ID获取定制化脚本中对应信息如界面资源存放目录等,并将该信息作为信息记录程序(cookie)内容发送到客户端,服务器客户端根据定制化信息呈现不同的登录界面、运行界面等。当增加运营商或服务器系列产品时,可制定不同的设备ID,并修改定制化脚本和增加对应资源目录,即可完成定制化修改。
实施例2
本发明实施例提供一种服务器管理界面的个性化设置方法,其与实施例1基本相同,其区别在于:
在服务器后台从IPMI中获取设备ID后,将设备ID写入客户端的第一信息记录程序;具体的,在实施过程中可在后台web路由的CGI代码中,加入如下逻辑以实现此步骤:当访问根目录时,调用获取设备ID命令,并将值写入名为DEVICE_ID的信息记录程序(即第一信息记录程序)。
读取定制化脚本的内容,如读取内容成功,则从定制化脚本内容中获取设备ID所对应的运营商资源目录,写入第二信息记录程序;本实施例中写入名为RES_PATH的信息记录程序作为第二信息记录程序。
读取第二信息记录程序,将资源url更改为所述第二信息记录程序中的运营商资源目录;在本实施例中,该步骤具体通过在首页开始部分加入具有相关逻辑的js代码实现。
当解析所述设备ID对应的定制化脚本失败时,直接读取制造商预设定制化信息,客户端控制模块根据所述制造商预设定制化信息内容切换管理界面。
实施例3
本发明实施例提供一种服务器管理界面的个性化设置方法,其与实施例1基本相同,其区别在于,客户端根据所述定制化信息切换管理界面包括:
客户端将所述定制化信息设置到客户端的所述第一信息记录程序;客户端读取所述第一信息记录程序获取所述定制化信息,并切换管理界面。
实施例4
本发明实施例提供一种服务器管理界面的个性化设置方法,其与实施例1基本相同,其区别在于,在登录服务器管理软件界面前,开发人员对定制化脚本进行调整,增加服务器管理界面的个性化设置。
相关修改服务器管理界面的工作流程如图3所示,相关步骤具体包括,指定在IPMI协议中用于获取设备ID命令返回结果的设备ID,并保证该值不应与已有的设备ID重复;
修改BMC固件的编译参数文件,添加指定的设备ID;
修改web服务器后台的定制化脚本,增加包括运营商资源目录、运营商版权信息的定制化信息;优选的,在此步骤中判断增加的运营商资源目录是否已存在,如不存在则继续原有后续步骤;如发现运营商资源目录已存在时,则跳过后续步骤,直接使用第一信息记录程序中设备ID作为特殊功能判定条件修改客户端js代码。
随后,在web服务器后台建立与所述定制化脚本中运营商资源目录路径、包含信息均一致的新目录,并在所述新目录下添加包括logo图片、定制化css脚本的定制化信息。
实施例5
本发明实施例提供一种服务器管理界面的个性化设置系统,包括:
基板管理控制器,用于设置包含定制化信息的定制化脚本,以及在服务器界面框架初始化时,读取服务器后台定制化脚本,取得对应定制化信息;服务器后台,用于登录服务器管理软件界面时,通过IPMI协议获取设备ID,以及解析所述设备ID对应的定制化脚本;服务器客户端,用于根据所述定制化信息切换管理界面。
实施例6
本发明实施例提供一种服务器管理界面的个性化设置系统,其与实施例5基本相同,其区别在于:
服务器客户端还用于将所述定制化信息设置到客户端的所述第一信息记录程序,以供客户端读取所述第一信息记录程序获取所述定制化信息,并切换管理界面。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。