CN110308940B - 一种模拟键盘软关机按键实现远程软关机的方法 - Google Patents
一种模拟键盘软关机按键实现远程软关机的方法 Download PDFInfo
- Publication number
- CN110308940B CN110308940B CN201910597246.4A CN201910597246A CN110308940B CN 110308940 B CN110308940 B CN 110308940B CN 201910597246 A CN201910597246 A CN 201910597246A CN 110308940 B CN110308940 B CN 110308940B
- Authority
- CN
- China
- Prior art keywords
- soft
- data
- case management
- kernel
- usb
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/442—Shutdown
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本发明涉及一种模拟键盘软关机按键实现远程软关机的方法,其中,包括:修改机箱管理内核代码,在机箱管理内核中导出iUSB虚拟的键盘设备的proc接口;接收远程管理计算机发送的软关机命令;将接收到的软关机命令解析后,模拟成关机按键码,并组成机箱管理内核支持的数据格式,通过proc接口传输到机箱管理内核;机箱管理内核获取机箱管理iUSB虚拟的键盘设备的device信息;机箱管理内核根据步骤获取的device信息,将软关机命令数据转换为国产服务器主机支持的USB Report格式的数据;机箱管理内核将转换得到的USB Report格式的数据通过USB发送到国产服务器主机;国产服务器主机接收到USB Report格式的数据后,由国产操作系统执行软关机指令操作。
Description
技术领域
本发明涉及计算机开关机控制技术,特别涉及一种模拟键盘软关机按键实现远程软关机的方法。
背景技术
在国产服务器平台中通常采用机箱管理方式实现包括远程电源控制、KVM overIP等服务器远程管理功能,在服务器远程电源控制方面,因国产平台不支持ACPI,现有方法都是通过机箱管理直接控制CPLD切断服务器主板电源的方式达到远程关机要求,此种方式属于强制断电的硬关机方式,容易造成服务器在电源控制过程中因系统数据保存出现错误导致国产操作系统崩溃的问题,因此在服务器平台中需要实现一种远程软关机的操作方法,确保电源控制过程中系统数据稳定保存避免出现国产操作系统崩溃的问题。
在国产服务器平台中,为实现服务器远程电源控制要求,国产平台都是通过CPLD实现下电控制,强制切断服务器主板电源,此种操作方式容易出现因为操作系统服务或数据处理没有正常停止导致的操作系统崩溃的问题;同时当前服务器硬盘多使用机械硬盘,在硬盘读写过程中强制断电容易导致硬盘损坏,造成数据丢失的问题,且严重影响硬盘的使用寿命。
发明内容
本发明的目的提供一种模拟键盘软关机按键实现远程软关机的方法,解决通过机箱管理直接控制CPLD切断服务器主板电源实现关机导致的国产操作系统崩溃或者硬盘损坏的问题。
本发明一种模拟键盘软关机按键实现远程软关机的方法,其中,包括:修改机箱管理内核代码,在机箱管理内核中导出iUSB虚拟的键盘设备的proc接口;接收远程管理计算机发送的软关机命令;将接收到的软关机命令解析后,模拟成关机按键码,并组成机箱管理内核支持的数据格式,通过proc接口传输到机箱管理内核;机箱管理内核获取机箱管理iUSB虚拟的键盘设备的device信息;机箱管理内核根据步骤获取的device信息,将软关机命令数据转换为国产服务器主机支持的USB Report格式的数据;机箱管理内核将转换得到的USB Report格式的数据通过USB发送到国产服务器主机;国产服务器主机接收到USBReport格式的数据后,由国产操作系统执行软关机指令操作。
根据本发明的模拟键盘软关机按键实现远程软关机的方法,其特征在于,根据机箱管理iUSB虚拟的键盘设备的定义构造成8个字节的USB Report数据结构。
根据本发明的模拟键盘软关机按键实现远程软关机的方法,其特征在于,国产服务器平台内部的机箱管理与国产服务器主机之间通过USB建立连接;机箱管理中应用软件通过proc接口与机箱管理内核进行数据传输;远程管理计算机通过网络与国产服务器平台机箱管理建立连接。
根据本发明的模拟键盘软关机按键实现远程软关机的方法,其特征在于,国产服务器平台内部的机箱管理与国产服务器主机之间通过USB建立连接;机箱管理中应用软件通过proc接口与机箱管理内核进行数据传输,远程管理计算机通过网络与国产服务器平台机箱管理建立连接。
根据本发明的模拟键盘软关机按键实现远程软关机的方法,其特征在于,在机箱管理内核态中导出iUSB虚拟的键盘设备的KeyScanCode的供用户态使用的proc接口。
根据本发明的模拟键盘软关机按键实现远程软关机的方法,其特征在于,设计proc接口为接收8个整型的按键码数据,其中第1个整型数据为功能按键、第2个整型数据保留、第3个到第8个整型数据为普通按键1到普通按键6。
根据本发明的模拟键盘软关机按键实现远程软关机的方法,其特征在于,机箱管理内核将通过proc接口接收包含软关机按键码的8个整型数据,按照转换关系,并根据机箱管理iUSB虚拟的键盘设备的定义构造USB Report数据结构;机箱管理内核获取机箱管理iUSB虚拟的键盘设备的device结构体;机箱管理内核将构造的USB Report数据通过调用获取的device结构体中包含的USB发送接口函数发送到国产服务器主机。
本发明提出的模拟键盘软关机按键实现远程软关机的方法,在保持现有国产服务器平台机箱管理硬件以及操作系统状态不变的情况,解决了远程电源控制管理时因强制断电导致的系统崩溃或硬盘损坏的问题。
附图说明
图1所示为国产服务器平台模拟键盘软关机按键控制软关机的软硬件连接关系图;
图2所示为proc接口数据格式以及构造的8字节USB Report数据转换关系示意图;
图3所示为本发明中国产服务器平台模拟键盘软关机按键实现远程软关机控制的实施以及其处理流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1所示为国产服务器平台模拟键盘软关机按键控制软关机的软硬件连接关系图,如图1所示,国产服务器平台内部的机箱管理(BMC)与国产服务器主机(CPU)之间通过USB建立连接;机箱管理(BMC)中应用软件通过proc接口与机箱管理(BMC)内核进行数据传输。远程管理计算机通过网络与国产服务器平台机箱管理(BMC)建立连接。
如图1所示,模拟键盘软关机按键实现远程软关机的方法包括:
国产服务器平台内部的机箱管理(BMC)与国产服务器主机(CPU)之间通过USB建立连接;机箱管理(BMC)中应用软件通过proc接口与机箱管理(BMC)内核进行数据传输。
远程管理计算机通过网络与国产服务器平台机箱管理(BMC)建立连接。
图3所示为在本发明中国产服务器平台模拟键盘软关机按键实现远程软关机控制的实施以及其处理流程,如图1至图3所示,修改机箱管理(BMC)内核代码,在机箱管理(BMC)内核中导出iUSB虚拟的键盘设备的proc接口;机箱管理(BMC)应用软件接收远程管理计算机发送的软关机命令;机箱管理(BMC)应用软件将接收到的软关机命令解析后,模拟成关机按键码,并组成机箱管理(BMC)内核支持的数据格式,通过proc接口传输到机箱管理(BMC)内核;机箱管理(BMC)内核获取机箱管理iUSB虚拟的键盘设备的device信息;机箱管理(BMC)内核根据步骤获取的device信息,将软关机命令数据转换为国产服务器主机(CPU)可以支持的USB Report格式的数据;机箱管理(BMC)内核将转换得到的USB Report格式的数据通过USB发送到国产服务器主机(CPU);国产服务器主机(CPU)接收到USB Report格式的数据后,由国产操作系统执行软关机指令操作,从而实现软关机。
如图1至图3所示,对于另一较佳实施例,模拟键盘软关机按键实现远程软关机的方法包括:
修改机箱管理(BMC)内核代码,在机箱管理(BMC)内核态中导出iUSB虚拟的键盘设备的一个名称为KeyScanCode的可供用户态使用的proc接口,并设计proc接口为可以接收8个整型的按键码数据,最多可支持模拟4个功能按键和6个普通按键操作同时操作,如图2所示,其中第1个整型数据为功能按键、第2个整型数据保留、第3个到第8个整型数据为普通按键1到普通按键6;
机箱管理(BMC)应用软件接收远程管理计算机发送的软关机命令;
机箱管理(BMC)应用软件将接收到的软关机命令解析后,模拟成关机按键码,通过proc接口传输到机箱管理(BMC)内核;
机箱管理(BMC)内核将通过proc接口接收包含软关机按键码的8个整型数据,按照图2所指示的转换关系,并根据机箱管理(BMC)iUSB虚拟的键盘设备的定义构造成8个字节的USB Report数据结构。
机箱管理(BMC)内核获取机箱管理iUSB虚拟的键盘设备的device结构体;
机箱管理(BMC)内核将步骤4)构造的USB Report数据通过调用步骤5)获取的device结构体中包含的USB发送接口函数发送到国产服务器主机(CPU);
国产服务器主机(CPU)接收到USB Report格式的数据后,由国产操作系统执行软关机指令操作,从而实现软关机。
本发明针对国产服务器平台设计了一种模拟键盘软关机按键实现远程软关机的方法,该方法在不改变国产服务器平台现有机箱管理硬件以及操作系统状态的情况下,从机箱管理软件内核中导出iUSB虚拟的键盘设备的proc接口,将远程软关机命令解析后,模拟成关机按键码,通过USB发送到服务器主机,由操作系统执行软关机指令达到软关机的目的,解决远程管理时因强制断电导致的国产操作系统崩溃或者硬盘损坏的问题。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (4)
1.一种模拟键盘软关机按键实现远程软关机的方法,其特征在于,包括:
修改机箱管理内核代码,在机箱管理内核中导出iUSB虚拟的键盘设备的proc接口;接收远程管理计算机发送的软关机命令;将接收到的软关机命令解析后,模拟成关机按键码,并组成机箱管理内核支持的数据格式,通过proc接口传输到机箱管理内核;机箱管理内核获取机箱管理iUSB虚拟的键盘设备的device信息;机箱管理内核根据获取的device信息,将关机按键码从机箱管理内核支持的数据格式转换为国产服务器主机支持的USB Report格式的数据;机箱管理内核将转换得到的USB Report格式的数据通过USB发送到国产服务器主机;国产服务器主机接收到USB Report格式的数据后,由国产操作系统执行软关机指令操作;
设计proc接口为接收8个整型的按键码数据,其中第1个整型数据为功能按键、第2个整型数据保留、第3个到第8个整型数据为普通按键1到普通按键6;
机箱管理内核将通过proc接口接收包含软关机按键码的8个整型数据,按照转换关系,并根据机箱管理iUSB虚拟的键盘设备的定义构造USB Report数据结构;
机箱管理内核获取机箱管理iUSB虚拟的键盘设备的device结构体;
机箱管理内核将构造的USB Report数据通过调用获取的device结构体中包含的USB发送接口函数发送到国产服务器主机。
2.如权利要求1所述的模拟键盘软关机按键实现远程软关机的方法,其特征在于,根据机箱管理iUSB虚拟的键盘设备的定义构造成8个字节的USB Report数据结构。
3.如权利要求1所述的模拟键盘软关机按键实现远程软关机的方法,其特征在于,国产服务器平台内部的机箱管理与国产服务器主机之间通过USB建立连接;机箱管理中应用软件通过proc接口与机箱管理内核进行数据传输;远程管理计算机通过网络与国产服务器平台机箱管理建立连接。
4.如权利要求1所述的模拟键盘软关机按键实现远程软关机的方法,其特征在于,在机箱管理内核态中导出iUSB虚拟的键盘设备的名称为KeyScanCode的供用户态使用的proc接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910597246.4A CN110308940B (zh) | 2019-07-04 | 2019-07-04 | 一种模拟键盘软关机按键实现远程软关机的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910597246.4A CN110308940B (zh) | 2019-07-04 | 2019-07-04 | 一种模拟键盘软关机按键实现远程软关机的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110308940A CN110308940A (zh) | 2019-10-08 |
CN110308940B true CN110308940B (zh) | 2022-06-21 |
Family
ID=68078050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910597246.4A Active CN110308940B (zh) | 2019-07-04 | 2019-07-04 | 一种模拟键盘软关机按键实现远程软关机的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110308940B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112698870A (zh) * | 2019-10-23 | 2021-04-23 | 杭州海康威视数字技术股份有限公司 | 开关机管理方法、计算设备及存储介质 |
CN111177053B (zh) * | 2019-12-28 | 2022-02-18 | 山东英信计算机技术有限公司 | 一种数据通信方法、装置、系统及计算机可读存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6973587B1 (en) * | 2002-05-03 | 2005-12-06 | American Megatrends, Inc. | Systems and methods for out-of-band booting of a computer |
CN101001167A (zh) * | 2006-01-10 | 2007-07-18 | 英业达股份有限公司 | 在智能平台管理接口动态设定管理功能的方法 |
CN102193644A (zh) * | 2010-03-16 | 2011-09-21 | 鸿富锦精密工业(深圳)有限公司 | 计算机系统和模拟键盘输入的方法 |
CN202026381U (zh) * | 2011-05-17 | 2011-11-02 | 四川韵博科技有限公司 | 用于远程控制计算机设备开关机的管理器 |
CN102857361A (zh) * | 2011-07-02 | 2013-01-02 | 杨源杰 | 一种轻量级的远程计算机带外管理方法 |
CN103516527A (zh) * | 2012-06-25 | 2014-01-15 | 华擎科技股份有限公司 | 远程启动主机的方法及其系统与电子装置 |
CN103605430A (zh) * | 2013-12-03 | 2014-02-26 | 深圳雷柏科技股份有限公司 | 一种模拟键盘输入的方法及装置 |
CN105045599A (zh) * | 2015-08-12 | 2015-11-11 | 创维光电科技(深圳)有限公司 | 一种电视电脑一体机及其实现远程开关机控制的方法 |
CN107133076A (zh) * | 2017-05-24 | 2017-09-05 | 黄河科技学院 | 一种实现远程开机的方法 |
CN108984347A (zh) * | 2018-08-06 | 2018-12-11 | 杭州电子科技大学 | 一种基于Linux系统的嵌入式设备重启状态记录方法 |
CN109508101A (zh) * | 2018-11-08 | 2019-03-22 | 大连多维互动数字科技有限公司 | 一种远程虚拟计算机按键装置 |
CN109634686A (zh) * | 2018-12-17 | 2019-04-16 | 郑州云海信息技术有限公司 | 一种通过bmc远程配置服务器状态的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201222226A (en) * | 2010-11-23 | 2012-06-01 | Hon Hai Prec Ind Co Ltd | Remote motherboard controller and method for controlling a remote motherboard |
-
2019
- 2019-07-04 CN CN201910597246.4A patent/CN110308940B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6973587B1 (en) * | 2002-05-03 | 2005-12-06 | American Megatrends, Inc. | Systems and methods for out-of-band booting of a computer |
CN101001167A (zh) * | 2006-01-10 | 2007-07-18 | 英业达股份有限公司 | 在智能平台管理接口动态设定管理功能的方法 |
CN102193644A (zh) * | 2010-03-16 | 2011-09-21 | 鸿富锦精密工业(深圳)有限公司 | 计算机系统和模拟键盘输入的方法 |
CN202026381U (zh) * | 2011-05-17 | 2011-11-02 | 四川韵博科技有限公司 | 用于远程控制计算机设备开关机的管理器 |
CN102857361A (zh) * | 2011-07-02 | 2013-01-02 | 杨源杰 | 一种轻量级的远程计算机带外管理方法 |
CN103516527A (zh) * | 2012-06-25 | 2014-01-15 | 华擎科技股份有限公司 | 远程启动主机的方法及其系统与电子装置 |
CN103605430A (zh) * | 2013-12-03 | 2014-02-26 | 深圳雷柏科技股份有限公司 | 一种模拟键盘输入的方法及装置 |
CN105045599A (zh) * | 2015-08-12 | 2015-11-11 | 创维光电科技(深圳)有限公司 | 一种电视电脑一体机及其实现远程开关机控制的方法 |
CN107133076A (zh) * | 2017-05-24 | 2017-09-05 | 黄河科技学院 | 一种实现远程开机的方法 |
CN108984347A (zh) * | 2018-08-06 | 2018-12-11 | 杭州电子科技大学 | 一种基于Linux系统的嵌入式设备重启状态记录方法 |
CN109508101A (zh) * | 2018-11-08 | 2019-03-22 | 大连多维互动数字科技有限公司 | 一种远程虚拟计算机按键装置 |
CN109634686A (zh) * | 2018-12-17 | 2019-04-16 | 郑州云海信息技术有限公司 | 一种通过bmc远程配置服务器状态的方法和系统 |
Non-Patent Citations (1)
Title |
---|
"远程对服务器进行开机和关机";echo_feng;《https://blog.51cto.com/echofeng/1351377》;20140114;第1页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110308940A (zh) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9104818B2 (en) | Accelerator management device, accelerator management method, and input-output device | |
CN104298579B (zh) | 一种逻辑芯片以及包含该逻辑芯片的板卡装置 | |
US20090172705A1 (en) | Apparatus and Method for Preservation of USB Keyboard | |
CN110308940B (zh) | 一种模拟键盘软关机按键实现远程软关机的方法 | |
US9680930B2 (en) | Data communication system for a storage management system and communication method thereof | |
CN108604200A (zh) | 处理终端设备的故障的方法和终端设备 | |
CN107678997B (zh) | Pcie插卡的热插拔方法、系统、装置和可读存储介质 | |
KR101284403B1 (ko) | 저장 네트워크 환경에서 scsi 타겟으로부터 scsi 에러 응답을 커스터마이징하는 방법, 비-일시적 컴퓨터 판독 가능한 저장 매체, 저장 네트워크 환경에서 scsi 타겟으로부터 수신된 scsi 에러 응답을 커스터마이징하는 시스템 | |
US10514972B2 (en) | Embedding forensic and triage data in memory dumps | |
US9092404B2 (en) | System and method to remotely recover from a system halt during system initialization | |
CN102508659A (zh) | 一种Linux下PCI EXPRESS热插拔的方法 | |
CN101739320B (zh) | 服务器的检错装置与其检错方法 | |
CN101763324B (zh) | 设备模拟的实现方法和装置 | |
US10416913B2 (en) | Information processing device that monitors operation of storage utilizing specific device being connected to storage | |
CN1975701B (zh) | 主机驱动外设的方法及系统 | |
CN102736908B (zh) | 远程设置cmos参数的系统、装置及方法 | |
CN107273167B (zh) | 控制主板、向控制主板烧录代码的装置及方法 | |
CN108984377B (zh) | 一种统计bios登录日志的方法、系统及介质 | |
CN113296442B (zh) | 电源控制装置、电源控制方法及系统 | |
CN110045967B (zh) | 固件层的串口图形界面交互方法和装置 | |
CN202632270U (zh) | 基于usb3.0的硬盘数据读取设备 | |
JP2008070962A (ja) | 論理回路検証装置 | |
CN113051208B (zh) | 一种时钟控制电路及终端设备 | |
CN117555430A (zh) | 一种针对kvm的otg键盘鼠标液晶触摸映射的方法 | |
CN117806721B (zh) | 故障诊断驱动加载方法、装置、电子设备及存储介质 |
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 |