一体机启停控制方法、电子设备、存储介质、控制系统与流程

文档序号:14120056阅读:468来源:国知局
一体机启停控制方法、电子设备、存储介质、控制系统与流程

本发明涉及一体机控制,尤其涉及一种一体机启停控制方法、电子设备、存储介质、控制系统。



背景技术:

一体机是一套完整的企业it基础设备。一体机机柜内通常包含有防火墙,交换机,磁盘阵列,服务器主机这些硬件设备,并且会按用户需求安装有操作系统和应用软件。用户摆放好一体机后,只需连通设备电源,用网线将一体机接入企业网络,即可启动设备使用一体机提供的服务。一般情况下,一体机日常作为服务器设备对外提供持续服务,包括供企业内部用户使用的业务系统和供外部互联网用户使用的对外系统。在特殊情况下,例如计划长时间停电、移动机柜所在位置、搬移办公室、长时间业务中断等情况下,用户需要整体关闭和开启一体机设备。

在传统方式下,用户启动或停止一体机需要遵照固定的流程:开启时依次启动电源,交换机,防火墙,磁阵等硬件设备,再开启服务器操作系统,最后才启动应用系统;关闭时则按相反顺序依次停止,如此才能保证一体机的正常关闭。这不但要求用户需要掌握一定的专业知识,而且也含有操作不当导致软硬件损坏的风险。



技术实现要素:

为了克服现有技术的不足,本发明的目的在于提供一体机启停控制方法,在一体机正常运行的状态下,用户通过一个物理按键的操作将一体机设备整体关闭,通过人工查看和确认设备完全关闭后,用户拔掉一体机的电源线和外接网线,进行移动机柜位置、打包运输等后续操作。反之,在一体机停止状态下,用户插入电源线和网线,通过一个物理按键操作将一体机设备整体开启,开启后用户不需要进行额外操作即可恢复到一体机态关机之前的正常工作状态。本发明改善用户使用一体机设备的体验,减少了用户培训和维护成本,并规避用户不当操作造成损失的风险。

本发明提供一体机启停控制方法,获取控制信号,控制面板后台进程获取控制面板启动或停止控制信号;

启动控制,若主后台进程识别所述控制信号为启动时,所述主后台进程控制电表后台进程发出智能电表顺序启动信号,所述智能电表顺序启动信号用于控制智能电表依次启动一体机电源、交换机电源、防火墙电源、磁盘阵列电源、服务器电源,所述主后台进程控制脚本后台进程发出程序顺序启动指令,所述程序顺序启动指令用于依次启动所述磁盘阵列操作系统、所述服务器操作系统、应用系统,所述程序顺序启动指令发出位于所述服务器电源启动之后;

停止控制,若主后台进程识别所述控制信号为停止时,所述主后台进程控制脚本后台进程发出程序顺序停止指令,所述程序顺序停止指令用于依次关闭应用系统、所述服务器操作系统、所述磁盘阵列操作系统,所述主后台进程控制电表后台进程发出智能电表顺序停止信号,所述智能电表顺序停止信号用于控制智能电表依次关闭服务器电源、磁盘阵列电源、防火墙电源、交换机电源、一体机电源,所述智能电表顺序停止信号的发出位于所述磁盘阵列操作系统关闭之后。

进一步地,一体机启停控制方法还包括步骤状态监控,通过温度后台进程获取温度传感器采集的一体机内温度信息,通过声音后台进程获取噪音传感器采集的一体机内噪音信息,通过电力后台进程获取所述智能电表中电源信息。

进一步地,所述步骤状态监控还包括监控脚本后台进程,所述脚本后台进程将所述应用系统运行状态、所述服务器运行状态、所述磁盘阵列运行状态反馈至所述主后台进程。

进一步地,所述步骤状态监控还包括监控控制面板后台进程,所述控制面板后台进程监测所述控制信号时长,当所述控制信号时长大于等于响应时长时,则所述主后台进程判定所述控制信号有效。

进一步地,所述响应时长为5秒。

进一步地,所述步骤状态监控还包括进程心跳监测,所述主后台进程、所述电表后台进程、所述控制面板后台进程、所述脚本后台进程分别定时发送心跳信息至看门狗后台进程,当所述看门狗后台进程超过监测时长未接收所述心跳信息,则所述看门狗后台进程判定为死亡进程,所述看门狗后台进程重启所述死亡进程。

一种可读存储介质,其上存储有计算机程序;所述计算机程序用于执行所述的一体机启停控制方法。

一种电子设备,包括中控盒,所述中控盒包括主板、控制面板,所述主板通过接口与交换机、所述控制面板连接通信;所述交换机用于连接一体机内的若干服务器;所述控制面板设有用于发出控制信号的开关按钮;所述控制信号用于控制一体机启动或停止;所述主板内集成有计算机程序;所述计算机程序用于执行所述的一体机启停控制方法。

进一步地,所述主板通过接口与智能电表、温度传感器、噪音传感器连接通信;所述主板通过无线接口与公网连接通信。

一体机启停控制系统,包括若干工作进程、看门狗进程;所述工作进程包括主后台进程、控制面板后台进程、脚本后台进程、电表后台进程;

所述主后台进程用于识别所述控制面板后台进程中获取的控制信号,并发出对应所述控制信号的操作指令给所述脚本后台进程或所述电表后台进程;

所述控制面板后台进程用于监听控制面板动作,将所述控制面板动作转化为所述控制信号;

所述脚本后台进程用于根据所述操作指令,调用脚本控制一体机内设备启动或停止;

所述电表后台进程用于根据所述操作指令控制智能电表向一体机供电或断电;

所述看门狗进程用于接收所述工作进程定时发送的心跳信息,并对未定时发送的工作进程进行尝试重启。

相比现有技术,本发明的有益效果在于:本发明使得一体机在正常运行的状态下,用户仅通过一个物理按键的操作将一体机设备整体关闭,通过人工查看和确认设备完全关闭后,用户拔掉一体机的电源线和外接网线,进行移动机柜位置、打包运输等后续操作。反之,在一体机停止状态下,用户插入电源线和网线,通过一个物理按键操作将一体机设备整体开启,开启后用户不需要进行额外操作即可恢复到一体机态关机之前的正常工作状态。本发明改善用户使用一体机设备的体验,减少用户培训和维护成本,并规避了用户不当操作造成损失的风险。

此外,本发明还能够监控一体机实时状态,如:服务器运行状况;机柜内部的温度和噪音;设备地理位置等。设备通过移动网络将状态数据上报到云端服务器,用户通过手机app等终端访问云端服务器即可获知设备的当前状态。另外,用户还可以通过手机app向中控盒下发开关机命令,实现远程控制设备启停功能。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明的一体机启停控制方法在一实施例中的硬件架构示意图;

图2为本发明的一体机启停控制方法在一实施例中的软件架构示意图;

图3为本发明的一体机启停控制方法实现架构示意图;

图4为本发明的一体机启停控制方法的状态监控实现架构示意图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。

一体机启停控制方法,如图1、图2所示,包括以下步骤:

获取控制信号,控制面板后台进程获取控制面板启动或停止控制信号;

启动控制,若主后台进程识别控制信号为启动时,主后台进程控制电表后台进程发出智能电表顺序启动信号,智能电表顺序启动信号用于控制智能电表依次启动一体机电源、交换机电源、防火墙电源、磁盘阵列电源、服务器电源,主后台进程控制脚本后台进程发出程序顺序启动指令,程序顺序启动指令用于依次启动磁盘阵列操作系统、服务器操作系统、应用系统,程序顺序启动指令发出位于服务器电源启动之后;

停止控制,若主后台进程识别控制信号为停止时,主后台进程控制脚本后台进程发出程序顺序停止指令,程序顺序停止指令用于依次关闭应用系统、服务器操作系统、磁盘阵列操作系统,主后台进程控制电表后台进程发出智能电表顺序停止信号,智能电表顺序停止信号用于控制智能电表依次关闭服务器电源、磁盘阵列电源、防火墙电源、交换机电源、一体机电源,智能电表顺序停止信号的发出位于磁盘阵列操作系统关闭之后。

在一实施例中,一体机启停控制方法还包括步骤状态监控,通过温度后台进程获取温度传感器采集的一体机内温度信息,通过声音后台进程获取噪音传感器采集的一体机内噪音信息,通过电力后台进程获取智能电表中电源信息。步骤状态监控还包括监控脚本后台进程,脚本后台进程将应用系统运行状态、服务器运行状态、磁盘阵列运行状态反馈至主后台进程。步骤状态监控还包括监控控制面板后台进程,控制面板后台进程监测控制信号时长,当控制信号时长大于等于响应时长时,则主后台进程判定控制信号有效。具体的响应时长为5秒。

在一实施例中,步骤状态监控还包括进程心跳监测,主后台进程、电表后台进程、控制面板后台进程、脚本后台进程分别定时发送心跳信息至看门狗后台进程,当看门狗后台进程超过监测时长未接收心跳信息,则看门狗后台进程判定为死亡进程,看门狗后台进程重启死亡进程。

一种可读存储介质,包括可执行的计算机程序;计算机程序用于执行一体机启停控制方法。一种电子设备,包括中控盒,中控盒包括主板、控制面板,主板通过接口与交换机、控制面板连接通信;交换机用于连接一体机内的若干服务器;控制面板用于发出控制信号;控制信号用于控制一体机启动或停止;主板内集成有计算机程序;机程序用于执行一体机启停控制方法。在一实施例中,主板通过接口与智能电表、温度传感器、噪音传感器连接通信;主板通过无线接口与公网连接通信。

在一实施例中,如图1所示,中控盒为运行一体机启停控制系统的硬件设备,外表是一个小尺寸金属盒子,内部主要配件为一块工控主板,并安装有cpu、内存、硬盘等配件;主板带有vga,usb,com,gpio等接口用于连接外设;主板还装有3g、4g等无线通讯模块,可通过拨号接入移动网络,中控盒安装了linux操作系统,设置成通电后自动启动。

控制面板为中控盒外壳面板,上面设有两个物理按钮,分别对应开机/关机操作;另外还有3个状态显示灯,红灯亮表示一体机处于关机状态,绿灯亮表示一体机处于运行状态,黄灯亮表示出现一体机运行错误或者连接不到一体机等故障。

智能电表为支持远程控制拉闸功能的数字电表;电表电线接口连接到一体机供电线路上,命令接口则连接到中控盒com口上;一体机启停控制系统通过向电表发送操作指令控制一体机设备供电和断电;电表还提供查询功能,可以获取当前的电压,电流,功率和总电度数据。

温度传感器,用于监控一体机机柜内部温度的传感模块;中控盒定时读取其检测到的温度数据。

噪音传感器,用于监控一体机机柜内部噪音的传感模块;中控盒定时读取其检测到的声音数据。

一体机:控制目标设备。一体机通常包括服务器,交换机,防火墙,磁盘阵列,ups等设备;中控盒用网线连接交换机网口与各设备连通;其中,服务器需要支持ipmi协议,在设备通电的情况下,通过网口向服务器发送ipmi消息来控制其启动或停止。

应用系统,运行在一体机服务器上,提供客户各种需求功能的软件系统。应用系统提供控制脚本,通过运行对应脚本控制系统的启停以及状态查询。

云端服务器,部署在公网上的服务器;服务器接收并保存中控盒上传上来的设备状态数据,用户可通过手机app等设备访问该服务器来获取一体机的当前状态;同时可以下发启动停止设备命令,云端服务器接收到用户命令后转发给中控盒。

如图2所示,一体机启停控制系统,包括若干工作进程、看门狗进程;工作进程包括主后台进程、控制面板后台进程、脚本后台进程、电表后台进程;一体机启停控制系统:实现一体机启停功能的软件系统,运行在中控盒操作系统内。一体机启停控制系统随盒子开机而启动并长期运行,实时监听并执行控制面板发送的开关机命令;同时检测一体机运行状态,根据状态控制状态显示灯的亮灭;一体机启停控制系统启动后会与云端服务器建立一个长连接,用于定时上报一体机状态数据,并接收用户远程下发的启停命令。

主后台进程用于识别控制面板后台进程中获取的控制信号,并发出对应控制信号的操作指令给脚本后台进程或电表后台进程;如图3所示,主后台进程通过调用工作进程提供的基础功能,完成一键启停一体机流程。如果收到控制面板后台进程(gpiodaemon)发来的开关机请求消息,主后台进程(maindaemon)会按正确的步骤依次启动或停止各硬件设备和应用系统,在确保当前步骤成功完成的情况下,才会开始下一步骤;否则会通知用户执行错误,此时需要管理人员介入检查错误原因。启动关闭详细流程稍后描述。

控制面板后台进程用于监听控制面板动作,将控制面板动作转化为控制信号;控制面板后台进程监听控制面板动作。当发现用户按下开机或关机按钮超过5秒时(防止误碰),通知主后台进程(maindaemon)进程实行开关机流程;同时也监听主后台进程(maindaemon)发来的一体机状态通知消息,根据状态值设置控制面板上状态显示灯的亮灭。

脚本后台进程用于根据操作指令,调用脚本控制一体机内设备启动或停止;脚本后台进程根据主后台进程(maindaemon)发来的命令,通过调用shell脚本等方式控制设备的启动停止,并且提供侦测设备及应用系统运行状态的功能。

电表后台进程用于根据操作指令控制智能电表向一体机供电或断电;电表后台进程根据主后台进程(maindaemon)发来的命令控制智能电表向一体机设备供断电。

看门狗进程用于接收工作进程定时发送的心跳信息,并对未定时发送的工作进程进行尝试重启;看门狗进程,其他几个工作进程定时向该看门狗进程发送心跳消息,通常为5秒一次;如果某个工作进程超过1分钟未发送心跳消息,则认为该进程死亡,看门狗进程会尝试重启死亡的工作进程。看门狗进程本身还会启用中控盒提供的硬件看门狗功能,并每5秒向硬件看门狗发送一次心跳消息;如果硬件看门狗超过1分钟未收到看门狗进程的心跳,则认为看门狗进程死亡,此时硬件看门狗会尝试重启整个操作系统。

如图3所示,下面分别对一体机的启动与停止举例描述:

一体机启动:

q1.用户按下开机按钮,保持5秒;控制面板后台进程(gpiodaemon)检测到按钮电压信号,先检查一体机当前是否处于关机状态,如果是,发送开机请求消息到主后台进程(maindaemon);否则无动作。

q2.主后台进程(maindaemon)发送供电消息给电表后台进程(elecdaemon),电表后台进程(elecdaemon)向智能电表发送闭闸命令,一体机设备恢复通电,电表后台进程(elecdaemon)回复主后台进程(maindaemon)命令执行成功。

q3.主后台进程(maindaemon)发送启动消息给脚本后台进程(scriptdaemon),脚本后台进程(scriptdaemon)调用shell脚本启动设备;主后台进程(maindaemon)发送启动中状态消息给控制面板后台进程(gpiodaemon),控制面板后台进程(gpiodaemon)控制绿色状态显示灯闪烁,表示一体机正在启动。

q4.启动防火墙,交换机和磁盘阵列;防火墙,交换机和磁盘阵列设备通电后自动启动,因此不需要发送启动命令,磁阵设备上部署了http服务,随系统启动而启动;http服务器上有一个测试页面,脚本后台进程(scriptdaemon)循环访问该测试页面url,如果能访问到,表示交换机,防火墙和磁阵均启动成功;如果持续失败超过一定时间,则判断为设备故障。

q5.启动服务器;脚本后台进程(scriptdaemon)先尝试用ping命令连接服务器:如果成功,表示服务器已启动,可以跳到下一步;如果失败,表示服务器处于关闭状态,需要远程唤醒。如果服务器关闭中,脚本后台进程(scriptdaemon)先通过ipmitool命令发送ipmipoweron命令到服务器,尝试将其启动;发送成功后,循环用ping命令连接服务器,如果在一定时间内能ping通,表示启动成功;否则判断为服务器故障。

q6.启动应用系统。在服务器成功启动后,脚本后台进程(scriptdaemon)通过ssh工具调用应用系统的状态检查脚本检查其运行状态,如果为start,表示应用系统已经在运行,跳到下一步;如果为stop,则调用启动脚本启动应用系统。接下来,脚本后台进程(scriptdaemon)循环调用状态检查脚本检查应用系统运行状态:如果在规定的最长等待时间内状态变成start,则认为应用系统启动成功;否则判断为应用系统故障。

q7.在脚本后台进程(scriptdaemon)执行启动的过程中,主后台进程(maindaemon)循环访问脚本后台进程(scriptdaemon)检查启动状态。如果启动成功,会发现一体机状态由启动中变成启动成功;如果启动失败,则发现状态变成故障;主后台进程(maindaemon)随后发送状态消息通知控制面板后台进程(gpiodaemon),控制面板后台进程(gpiodaemon)控制绿灯常亮表示系统运行中,或者控制黄灯常亮表示故障。

一体机关闭:

g1.用户按下关机按钮,保持5秒;控制面板后台进程(gpiodaemon)检测到按钮电压信号,先检查一体机当前是否处于运行状态,如果是,发送关机请求消息到主后台进程(maindaemon);否则无动作。

g2.主后台进程(maindaemon)发送关机消息给scriptdaemon。scriptdaemon调用shell脚本关闭设备;主后台进程(maindaemon)发送关闭中状态消息给控制面板后台进程(gpiodaemon),控制面板后台进程(gpiodaemon)控制红色状态显示灯闪烁,表示一体机正在关闭。

g3.关闭应用系统;脚本后台进程(scriptdaemon)通过ping命令测试运行应用系统的服务器,如果成功,表示服务器正在运行;如果不成功,则应用系统状态不确定,可能是已停止,也可能是网络不通或其他问题,此时终止关机流程,将状态置为故障。如果检测到服务器正在运行,脚本后台进程(scriptdaemon)通过ssh工具调用应用系统提供的状态检查脚本检查其运行状态,如果服务状态为stop,则认为应用系统已停止,跳到下一步;否则表示应用系统正在运行,调用停止脚本停止该系统。接下来,脚本后台进程(scriptdaemon)循环调用状态检查脚本检查应用系统运行状态:如果在规定的最长等待时间内状态变成stop,则认为应用系统关闭成功;否则判断为应用系统故障。

g4.关闭服务器;脚本后台进程(scriptdaemon)通过ipmi工具向服务器发送poweroff命令,然后循环用ping命令测试服务器。如果ping命令变得无法连通,表示服务器已收到关机命令并正在停止,此时仍然需要等待一段时间,让服务器有充分时间完全关闭;如果超过规定的最大等待时间还能连通,则判断为关闭服务器失败。

g5.在脚本后台进程(scriptdaemon)执行关闭的过程中,主后台进程(maindaemon)循环访问脚本后台进程(scriptdaemon)检查关闭状态。如果关闭成功,会发现一体机状态由关闭中变成已关闭;如果关闭失败,则发现状态变成故障。在关闭失败的情况下,主后台进程(maindaemon)发送状态消息通知控制面板后台进程(gpiodaemon),控制面板后台进程(gpiodaemon)控制黄灯常亮表示设备故障。

g6.关闭防火墙,交换机和磁盘阵列。服务器关闭后,主后台进程(maindaemon)发送断电消息给电表后台进程(elecdaemon);电表后台进程(elecdaemon)向智能电表发送断闸命令,一体机设备供电停止,交换机,防火墙和磁盘阵列随之关闭;电表后台进程(elecdaemon)回复主后台进程(maindaemon)命令执行成功。

g7.主后台进程(maindaemon)发送一体机已关闭状态消息给控制面板后台进程(gpiodaemon),控制面板后台进程(gpiodaemon)控制红色状态显示灯常亮,表示设备已关闭。

应当理解,用户通过手机app访问云端服务器,并下发启动关闭命令;云端服务器转发命令给主后台进程(maindaemon);主后台进程(maindaemon)接收到命令后,执行启动/停止流程。该流程与物理按键启停流程相同,这里不再赘述。

如图4所示,为状态监控实现架构,中控盒启动一体机启停控制系统后会自动运行拨号程序接入移动网。一体机启停控制系统通过移动网络与云端服务器建立长连接以提供设备状态监控和远程启停功能。在状态监控实现架构下,各相关进程功能如下:

电表后台进程(elecdaemon):该进程负责读取智能电表上报的实时功率,电压,电流数据。

温度后台进程(temperaturedaemon):该进程负责读取温度传感器上报的温度数据。

噪音后台进程(voicedaemon):该进程负责读取噪音传感器上报的噪音数据。

通信后台进程(lbsdaemon):该进程负责读取3g通讯模块连接的基站信息。

脚本后台进程(scriptdaemon):该进程根据主后台进程(maindaemon)发来的命令,通过调用shell脚本等方式侦测并反馈一体机设备及应用系统运行状态。

主后台进程(maindaemon):该进程通负责建立和维护与云端服务器的长连接;定时查询其他进程获得设备状态,并上报给云端服务器。同时接收并执行云端服务器下发的启停命令。

监控流程如下:

j1.主后台进程(maindaemon)通过向电表后台进程(elecdaemon),温度后台进程(temperaturedaemon),噪音后台进程(voicedaemon),通信后台进程(lbsdaemon)和脚本后台进程(scriptdaemon)发送消息,获取设备状态数据,包括:当前的功率,电压,电流,总电度,温度,噪音数据,3g模块连接基站信息以及一体机服务器的运行状态。

j2.主后台进程(maindaemon)将设备状态打包成一条状态更新消息,通过长连接上报给云端服务器。

j3.云端服务器接收状态数据并保存到数据库。

j4.关于设备的地理位置信息。中控盒不直接提供设备地理位置信息,它只提供工控版3g模块连接到的基站的id信息。云端服务器在收到该基站id信息后,通过第三方网站提供的基站位置服务即可查询到设备所在的地理位置。

本发明提供一体机启停控制方法,包括获取控制信号,控制面板后台进程获取控制面板启动或停止控制信号;启动控制与停止控制;本发明还涉及一种电子设备、存储介质、一体机启停控制系统。本发明在一体机在正常运行的状态下,用户仅通过一个物理按键的操作将一体机设备整体关闭,通过人工查看和确认设备完全关闭后,用户拔掉一体机的电源线和外接网线,进行移动机柜位置、打包运输等后续操作。反之,在一体机停止状态下,用户插入电源线和网线,通过一个物理按键操作将一体机设备整体开启,开启后用户不需要进行额外操作即可恢复到一体机态关机之前的正常工作状态。本发明改善用户使用一体机设备的体验,减少用户培训和维护成本,并规避了用户不当操作造成损失的风险。

以上,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1