CN114578937B - 电源管理方法、嵌入式系统及电子设备 - Google Patents

电源管理方法、嵌入式系统及电子设备 Download PDF

Info

Publication number
CN114578937B
CN114578937B CN202210477888.2A CN202210477888A CN114578937B CN 114578937 B CN114578937 B CN 114578937B CN 202210477888 A CN202210477888 A CN 202210477888A CN 114578937 B CN114578937 B CN 114578937B
Authority
CN
China
Prior art keywords
power supply
target
control
power
control request
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
CN202210477888.2A
Other languages
English (en)
Other versions
CN114578937A (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.)
Beijing China Tsp Technology Co ltd
Original Assignee
Beijing China Tsp 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 Beijing China Tsp Technology Co ltd filed Critical Beijing China Tsp Technology Co ltd
Priority to CN202210477888.2A priority Critical patent/CN114578937B/zh
Publication of CN114578937A publication Critical patent/CN114578937A/zh
Application granted granted Critical
Publication of CN114578937B publication Critical patent/CN114578937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • 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
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Sources (AREA)

Abstract

本发明实施例提出一种电源管理方法、嵌入式系统及电子设备,属于电源管理技术领域,方法应用于主体机器,主体机器通过控制接口与多个客体虚拟机通信连接,主体机器和多个客体虚拟机共享多个电源,方法包括:通过控制接口接收任一客体虚拟机或任一功能设备发送的控制请求,从而解析所述控制请求,得到控制请求的控制内容和所要控制的目标电源的目标标识,进而根据目标标识和控制内容,若查询控制请求合法,则执行控制请求,以控制目标电源,由主体机器统一控制管理电源,从而能够避免由于多个电源驱动程序同时操作控制、令出多门而导致电源管理冲突的情况,极大地降低电源控制的复杂性和困难度。

Description

电源管理方法、嵌入式系统及电子设备
技术领域
本发明涉及电源管理领域,具体而言,涉及一种电源管理方法、嵌入式系统及电子设备。
背景技术
Hypervisor,又称虚拟机监视器(virtual machine monitor,VMM),是用来建立与执行虚拟机器的软件、固件或硬件。hypervisor提供虚拟的作业平台(主操作系统)来执行客体操作系统(guest operating systems),负责管理其他客体操作系统的执行阶段,客体操作系统共同分享虚拟化后的硬件资源。
在hypervisor嵌入式系统中可以部署多个虚拟机,每个虚拟机可以运行客户操作系统及其相关应用程序,所有的客户操作系统和主操作系统共享电源。电源在hypervisor环境中的使用具有多样性:同一电源可能被单个操作系统单独使用,也可能同时被多个操作系统使用;一个电源在同一个操作系统中,可能被单个硬件模块使用,也可能被多个硬件模块同时使用;以及,一个电源供电可能依赖其它电源给它供电。由于电源使用的多样性,传统的hypervisor电源管理存在控制复杂、困难的问题。
发明内容
有鉴于此,本发明的目的在于提供一种电源管理方法、嵌入式系统及电子设备,其能够改善传统的hypervisor电源管理所存在的控制复杂、困难的问题。
为了实现上述目的,本发明实施例采用的技术方案如下。
第一方面,本发明实施例提供一种电源管理方法,采用如下的技术方案。
一种电源管理方法,应用于主体机器,所述主体机器通过控制接口与多个客体虚拟机通信连接,所述主体机器和多个所述客体虚拟机共享多个电源,所述主体机器和每个所述客体虚拟机均与多个功能设备通信连接,所述方法包括:
通过控制接口接收任一客体虚拟机或任一功能设备发送的控制请求;
解析所述控制请求,得到所述控制请求的控制内容和所要控制的目标电源的目标标识;
根据所述目标标识和所述控制内容,查询所述控制请求是否合法,若是,则执行所述控制请求,以控制所述目标电源和/或返回响应信息。
进一步地,所述主体机器预存有电源列表,所述电源列表包括各所述电源的标识,每个所述电源的被供电用户信息和被供电用户数,以及每个电源的开关状态;
当所述控制请求属于开关类命令时,所述执行所述控制请求,以控制所述目标电源和/或返回响应信息的步骤,包括:
若所述控制内容为开启命令,则基于所述电源列表,查询所述目标标识对应的目标电源是否已开启,若否,则控制所述目标电源打开;
若所述控制内容为关闭命令,则基于所述电源列表,查询是否有功能设备或客体虚拟机正在使用所述目标标识对应的目标电源,若否,则控制所述目标电源关闭。
进一步地,所述电源列表还包括各所述电源间的依赖关系;
所述控制所述目标电源打开的步骤,包括:
基于所述电源列表,查询所述目标电源是否有依赖电源;
若是,则继续查询所述依赖电源是否有依赖电源,直至查询到依赖关系中的所有起始电源,以确定所有的依赖电源;
控制所有所述依赖电源和所述目标电源打开,并在所述目标电源的被供电用户信息中添加发送所述控制请求的所述客体虚拟机的信息或所述功能设备的信息,以打开所述目标电源;
所述控制所述目标电源关闭的步骤,包括:
控制所述目标电源关闭,并将发送所述控制请求的所述客体虚拟机的信息或所述功能设备的信息从所述目标电源的被供电用户中删除,以关闭所述目标电源。
进一步地,所述主体机器预存有电源列表,所述电源列表包括每个所述电源的标识和属性信息;
当所述控制请求属于设置类命令时,所述执行所述控制请求,以控制所述目标电源和/或返回响应信息的步骤,包括:
基于所述电源列表,查找所述目标标识对应的目标电源的目标属性信息,根据所述控制内容更新所述目标属性信息;
在更新完成后,返回执行成功信息至发送所述控制请求的所述客体虚拟机或所述功能设备。
进一步地,所述主体机器预存有电源列表,所述电源列表包括每个所述电源的标识和属性信息;
当所述控制请求为查询类命令时,所述执行所述控制请求,以控制所述目标电源和/或返回响应信息的步骤,包括:
基于所述电源列表,查找到所述目标标识对应的目标电源的目标属性信息,从所述目标属性信息中获取与所述控制内容匹配的目标数据;
将所述目标数据打包成响应信息,并将所述响应信息返回至发送所述控制请求的所述客体虚拟机或所述功能设备。
进一步地,所述主体机器预存有电源列表,所述电源列表包括每个所述电源的标识、属性信息以及支持的控制操作;
所述根据所述目标标识和所述控制内容,查询所述控制请求是否合法的步骤,包括:
查询所述电源列表中是否存在所述目标标识,若是,则从所述电源列表中,确定出所述目标标识对应的目标电源所支持的控制操作;
判断所述控制操作中是否存在所述控制内容,若是,则所述控制请求合法。
进一步地,在所述根据所述目标标识和所述控制内容,查询所述控制请求是否合法的步骤之后,所述方法还包括:
若否,则返回拒绝执行信息至发送所述控制请求的所述客体虚拟机或所述功能设备。
第二方面,本发明实施例提供一种电源管理方法,采用如下的技术方案。
一种电源管理方法,应用于客体虚拟机,所述客体虚拟机包括共享内存,所述客体虚拟机与所述主体机器和多个所述功能设备通信连接,所述主体机器与多个电源通信连接,所述方法包括:
接收任一功能设备发送的控制请求,将所述控制请求放入所述共享内存;
根据所述主体机器发送的访问请求,将所述控制请求发送至所述主体机器,以促使所述主体机器实现如第一方面所述的电源管理方法;
接收所述主体机器返回的响应信息,将所述响应信息放入所述共享内存;
从所述共享内存读取所述响应信息,并将所述响应信息返回至发送所述电源控制请求的所述功能设备。
第三方面,本发明实施例提供一种嵌入式系统,采用如下的技术方案。
一种嵌入式系统,包括多个电源、多个功能设备、主体机器和多个客体虚拟机,所述主体机器通过控制接口与所述多个客体虚拟机通信连接,所述主体机器和所述多个客体虚拟机共享所述多个电源,所述主体机器和每个所述客体虚拟机均与多个所述功能设备通信连接;
所述主体机器,用于实现如第一方面所述的电源管理方法;
所述客体虚拟机,用于实现如第二方面所述的电源管理方法。
第四方面,本发明实施例提供一种电源管理装置,采用如下的技术方案。
一种电源管理装置,应用于主体机器,所述主体机器通过控制接口与多个客体虚拟机通信连接,所述主体机器与多个所述客体虚拟机共享多个电源,所述主体机器和每个所述客体虚拟机均与多个功能设备通信连接,所述主体机器包括控制接口模块、仲裁模块和控制模块;
所述控制接口模块,用于通过控制接口接收任一客体虚拟机或任一功能设备发送的控制请求;
所述仲裁模块,用于解析所述控制请求,得到所述控制请求的控制内容和所要控制的目标电源的目标标识,根据所述目标标识和所述控制内容,查询所述控制请求是否合法;
所述控制模块,用于当所述控制请求合法时,执行所述控制请求,以控制所述目标电源和/或返回响应信息。
第五方面,本发明实施例提供一种电子设备,采用如下的技术方案。
一种电子设备,包括存储器和处理器,所述存储器存储有能够被处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现如第一方面所述的电源管理方法,或实现如第二方面所述的电源管理方法。
第六方面,本发明实施例提供一种存储介质,采用如下的技术方案。
一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的电源管理方法,或实现如第二方面所述的电源管理方法。
本发明实施例提供的电源管理方法、嵌入式系统及电子设备,由主体机器通过控制接口接收客体虚拟机或功能设备发送的控制请求,在主体机器查询到控制请求合法的情况下,执行控制请求,以对控制请求的目标电源进行控制,由主体机器提供的控制接口统一接收控制请求,将电源和各个功能设备的电源驱动程序进行隔离,实现电源与电源驱动程序间的解耦,并由主体机器统一控制管理电源,从而能够避免由于多个电源驱动程序同时操作控制、令出多门而导致电源管理冲突的情况,极大地降低电源控制的复杂性和困难度。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的嵌入式系统的方框示意图。
图2示出了本发明实施例提供的应用于主体机器的电源管理方法的流程示意图之一。
图3示出了本发明实施例提供的应用于主体机器的电源管理方法的流程示意图之二。
图4示出了图2或图3中步骤S105的步骤子步骤的流程示意图。
图5示出了电源间的依赖关系的示意图。
图6示出了图2或图3中步骤S107的部分子步骤的流程示意图之一。
图7示出了图6中步骤S201的部分子步骤的流程示意图。
图8示出了图2或图3中步骤S107的部分子步骤的流程示意图之二。
图9示出了图2或图3中步骤S107的部分子步骤的流程示意图之三。
图10示出了本发明实施例提供的应用于客体虚拟机的电源管理方法的流程示意图。
图11示出了本发明实施例提供的应用于主体机器的电源管理系统的方框示意图。
图12示出了本发明实施例提供的电子设备的方框示意图。
图标:100-嵌入式系统;110-电源;120-功能设备;130-主体机器;140-客体虚拟机;150-电源管理装置;160-控制接口模块;170-仲裁模块;180-控制模块;190-电源资源库;200-电子设备。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在hypervisor嵌入式系统中可以部署多个虚拟机,每个虚拟机可以运行客户操作系统及其相关应用程序,所有的客户操作系统和主操作系统共享电源。电源在hypervisor环境中的使用具有多样性:同一电源可能被单个操作系统单独使用,也可能同时被多个操作系统使用;一个电源在同一个操作系统中,可能被单个硬件模块使用,也可能被多个硬件模块同时使用;以及,一个电源供电可能依赖其它电源给它供电。
传统的hypervisor电源管理是由各个操作系统各自管理电源:操作系统包括多个电源驱动程序,操作系统接收硬件模块的控制命令,并由该硬件模块对应的电源驱动程序执行该控制命令,来对电源进行管理。
由于电源使用的多样性,这种hypervisor电源管理极易出现多个电源驱动程序同时操作控制、令出多门导致电源管理发生冲突,例如,电源驱动程序1已经控制电源打开,但电源驱动程序2执行控制命令将电源关闭,从而存在电源控制复杂、困难的问题。
基于上述考虑,本发明实施例提供一种电源管理方案,以改善目前的hypervisor电源110管理复杂、困难的问题。以下,将对电源管理方案进行详细的介绍。
在一个实施例中,本发明实施例提供一种嵌入式系统100,参照图1,该嵌入式系统100包括多个电源110、多个功能设备120、主体机器130和多个客体虚拟机140,主体机器130和多个客体虚拟机140共享多个电源110,客体虚拟机140至少为一个。主体机器130运行有主操作系统及其相关程序,每个客体虚拟机140运行有客体操作系统及其相关程序。主体机器130包括控制接口,主体机器130通过控制接口与多个客体虚拟机140通信连接,主体机器130和每个客体虚拟机140均与多个功能设备120通信连接。
客体虚拟机140,用于接收与客体虚拟机140通信连接的任一功能设备120的控制请求,并发送控制请求至主体机器130。需要说明的是,客体虚拟机140实现下述提供的应用于客体虚拟机140的电源管理方法。
主体机器130,用于接收与主体机器130通信连接的任一客体虚拟机140和任一功能设备120的控制请求,并在控制请求合法的情况下,根据控制请求,对控制请求的目标电源110进行控制。需要说明的是,客体虚拟机140实现下述提供的应用于主体机器130的电源管理方法。
可以理解的是,与主体机器130通信连接的功能设备120可以和与客体虚拟机140通信连接的功能设备120完全一致、部分一致或不相同。
主体机器130和多个客体虚拟机140的实质是主操作系统上运行有多个客体操作系统,可以通过单个多核处理器和存储器实现。
上述嵌入式系统100中,由主体机器130统一对电源110进行管理,能够避免由于多个电源110驱动程序同时操作控制、令出多门而导致电源110管理冲突的情况,极大地降低嵌入式系统100中电源110控制的复杂性和困难度。
本发明实施例提供的电源管理方法,可以应用于如图所示的嵌入式系统100中。
在一个实施例中,参照图2,提供了一种电源管理方法。本实施例主要以该方法应用于图1中的主体机器130来举例说明。
S101,通过控制接口接收任一客体虚拟机或任一功能设备发送的控制请求。
客体虚拟机140(客体操作系统及相关程序)需要控制任一与之通信连接的功能设备120的电源110时,可自身生成控制请求或接收由该功能设备120发送的控制请求,主体机器130可以主动从客体虚拟机140中获取该控制请求,也可以由客体虚拟机140发送该控制请求至主题虚拟机。
或者,主体机器130(主操作系统及相关程序)需要控制任一与之通信连接的功能设备120的电源110时,可自身生成控制请求,或接收由该功能设备120发送的控制请求。
S103,解析控制请求,得到控制请求的控制内容和所要控制的目标电源的目标标识。
每个电源110均有唯一的标识,由标识可以得到电源110。
S105,根据目标标识和控制内容,查询控制请求是否合法。若是,则执行步骤S107。
S107,执行控制请求,以控制目标电源和/或返回响应信息。
控制请求可以为设置类命令、查询类命令或开关类命令中的任一种,根据控制请求可以进行目标电源110的开关控制、信息查询,以及性能、信息和功能等设置。
与传统的hypervisor电源110管理相比,上述电源管理方法,由主体机器130(即主操作系统)通过控制接口接收客体虚拟机140(即客体操作系统)或功能设备120发送的控制请求,在主体机器130查询到控制请求合法的情况下,执行控制请求,以对控制请求的目标电源110进行控制,由主体机器130提供的控制接口统一接收控制请求,将电源110和各个功能设备120的电源110驱动程序进行隔离,实现电源110与电源110驱动程序间的解耦,并由主体机器130统一控制管理电源110,从而能够避免由于多个电源110驱动程序同时操作控制、令出多门而导致电源110管理冲突的情况,极大地降低电源110控制的复杂性和困难度。
在一种实施方式中,对于S105,查询控制请求是否合法的实质是,查询该控制请求是否为电源110支持的控制操作。此外,主体机器130包括电源资源库190,电源资源库190中存储有电源110列表,电源110列表记录有且不限于每个电源110的标识、属性信息以及支持的控制操作。并且,电源110列表中可以以字典类型记录每个电源110的标识、属性信息以及支持的控制操作。
电源110的属性信息包括但不限于最大电流、最小电流、最大电压、最小电压、支持的模式、当前负载、电源110名字和电源110类型。
进一步地,参照图3,本实施例提供的电源管理方法,还包括步骤S109,S109在S105判定出控制请求不合法后执行。
S109,返回拒绝执行信息至发送控制请求的客体虚拟机或功能设备。
在控制请求不合法时,不执行控制请求,并将拒绝执行信息返回至发送方。
为了便于理解,对S105进行详细的介绍,参照图4,S105可以包括以下子步骤。
S105-1,查询电源列表中是否存在目标标识。若否,则执行S105-5,若是,则执行步骤S105-2。
S105-2,从电源列表中,确定出目标标识对应的目标电源所支持的控制操作。
根据目标标识可以确定出目标电源110,进而查询出目标电源110所支持的控制操作。
S105-3,判断控制操作中是否存在控制内容。若是,则执行S105-4,若否,则执行S105-5。
S105-4,控制请求合法。
S105-5,控制请求不合法。
当电源110列表中不存在与目标标识一致的标识时,说明电源110中不存在控制请求的目标电源110,此时,控制请求不合法。
为了便于控制目标电源110,电源110列表中还包括每个电源110的被供电用户信息和被供电用户数,每个电源110的开关状态,以及各电源110间的依赖关系。
其中,被供电用户指的是以该电源110作为供电输入的客体虚拟机140或功能设备120,例如,若客体虚拟机140的电源为电源1和电源2,则客体虚拟机140为电源1和电源2的被供电用户。
被供电用户信息包括名字、进程ID和对电源110的使用次数。例如,若电源110的被供电用户包括客体虚拟机140,则电源110的被供电用户信息中的名字包括客体虚拟机140。
电源间的依赖指的是一个电源给用电设备供电时,依靠其他电源作为该电源的输入电源。若某一电源与其他电源存在依赖,则该电源与作为输入电源的其他电源间存在依赖关系。
例如,参照图5,电源1和电源2给电源3供电,电源3和电源4给电源5供电。此时,电源1和电源2是电源3的直接依赖电源。电源1、电源2、电源3和电源4为电源5的依赖电源,其中,电源3和电源4是电源5的直接依赖电源5,电源1和电源2是电源5的间接依赖电源,且由于电源1、电源2和电源4没有依赖电源,所以电源1、电源2和电源4为电源5依赖关系中的起始电源。
控制请求的控制内容包括打开电源、关闭电源、设置最大电流、设置最小电流、设置最大电压、设置最小电压、设置模式、设置负载、查询当前电压和查询当前电流中的任一种或任几种。
在本实施例中,根据控制请求的控制内容,可以将控制请求可以分为开关类命令、设置类命令和查询类命令三类。控制请求的类型不同时,S107的控制过程不相同。
当控制请求属于开关类命令时,参照图6,可以通过以下步骤实现S107。
S201,若控制内容为开启命令,则基于电源列表,查询目标标识对应的目标电源是否已开启,若否,则控制目标电源打开。
应当理解的是,当控制内容为开启命令时,若查询到目标标识对应的目标电源110已开启,则无需再次开启,若未开启,则控制目标电源110打开。
S202,若控制内容为关闭命令,则基于电源列表,查询是否有功能设备或客体虚拟机正在使用目标标识对应的目标电源,若否,则控制目标电源关闭。
同理,当控制内容为关闭命令时,若查询到目标电源110已关闭,则无需再次关闭,若未关闭则控制目标电源110关闭。
需要说明的是,打开目标电源110或关闭目标电源110之后,也可以返回执行成功信息至发送方,以进行提醒反馈。
由于目标电源110可能存在依赖电源110,因此,参照图7,可以通过以下步骤实现S201中的控制目标电源110打开。
S201-1,基于电源列表,查询目标电源是否有依赖电源。若是,则执行S201-2,若否,则执行步骤S201-3。
S201-2,继续查询依赖电源是否有依赖电源,直至查询到依赖关系中的所有起始电源,以得到所有依赖电源。
不断查询新找到的依赖电源的依赖电源,直至查到依赖关系中的所有起始电源,从而得到所有的依赖电源。
例如,电源1和电源2是电源3的依赖电源,电源3和电源4是电源5的依赖电源,则查询电源5的依赖电源时,查找到电源1、电源2和电源4为起始电源,此时可以获知电源5的所有依赖电源。
S201-3,控制所有依赖电源和目标电源打开,并在目标电源的被供电用户信息中添加发送控制请求的客体虚拟机的信息或功能设备的信息,以打开目标电源。
应当理解是,若S201-3在S201-1之后执行,则意味着目标电源110没有依赖电源110,此时只需打开目标电源110即可。
打开目标电源110之后,在电源110列表的目标电源110的被供电用户信息中添加发送方的信息,若发送控制请求的是客体虚拟机140,则添加客体虚拟机140的信息,若发送控制请求的是功能设备120,则添加功能设备120的信息。
由于关闭目标电源110时,只关闭目标电源110也能达到目的,因此,在一种实施方式中可以通过以下方式实现步骤S202中的控制目标电源110关闭:控制目标电源110关闭,并将发送控制请求的客体虚拟机140的信息或功能设备120的信息从目标电源110的被供电用户中删除,以关闭目标电源110。
为了更精准地关闭目标电源110,在目标电源110存在依赖电源110时,可以查询各依赖电源110是否在为其他被供电用户供电,若没有,则可以将依赖电源110一同关闭。
在打开或关闭电源110时,在电源110列表的目标电源110的被供电用户中同步更新发送控制请求的发送方的信息,便于后续更为精确地进行电源110管理,同时有助于避免电源110管理混乱的问题。
当控制请求属于设置类命令时,参照图8,可以通过以下步骤实现S107。
S301,基于电源列表,查找目标标识对应的目标电源的目标属性信息,根据控制内容更新目标属性信息。
例如,若控制请求的控制内容为设置最大电压为12V,则将目标属性信息中的最大电压的值更新为12V。
应当理解的是,控制内容不同,则更新的对象和对象值不同。
S302,在更新完成后,返回执行成功信息至发送控制请求的客体虚拟机或功能设备。
返回执行成功信息以进行提醒反馈。
当控制请求为查询类命令时,参照图9,可以通过以下步骤实现S107。
S401,基于电源列表,查找到目标标识对应的目标电源的目标属性信息,从目标属性信息中获取与控制内容匹配的目标数据。
例如,当控制内容为查询1号电源的电压电流值,则从目标电源的目标属性信息中提取出电压值和电流值作为目标数据。
S402,将目标数据打包成响应信息,并将响应信息返回至发送控制请求的客体虚拟机或功能设备。
需要说明的是,上述根据控制请求分为不同类型进行不同的控制,只是S107的一种实施方式的举例,而不是唯一限定。实际应用中,可以根据控制需求和控制内容,调整控制方式。
本实施例提供的电源管理方法,将传统的有具体驱动直接控制电源110的权限,转变为由主体机器130(主操作系统)同一控制电源110,能够在一定程度上避免令出多门,降低了电源110控制的复杂性和困难度。同时,主体机器130由统一的控制接口接收控制请求,便于用电设备(功能设备120或客体虚拟机140)的电源110驱动程序发起对电源110的控制请求,同时将电源110驱动程序与电源110间进行隔离,实现对传统的电源110管理解耦合。
在一个实施例中,参照图10,本发明还提供一种电源管理方法,该电源110管理方法应用图中的客体虚拟机140。客体虚拟机140包括共享内存。
S501,接收任一功能设备发送的控制请求,将控制请求放入共享内存。
S502,根据主体机器发送的访问请求,将控制请求发送至主体机器,以促使主体机器实现上述应用于主体机器的电源管理方法。
每个客体虚拟机140中的共享内存可以供主体机器130(主操作系统)访问。客体虚拟机140将控制请求放入(写入)共享内存后,触发中断调整主体机器130(主操作系统)端,主体机器130发出访问请求,客体虚拟机140取出共享内存中的控制请求并发送至主体机器130的控制接口。
S503,接收主体机器返回的响应信息,将响应信息放入共享内存。
S504,从共享内存读取响应信息,并将响应信息返回至发送电源控制请求的功能设备。
主体机器130将返回的响应信息后,响应信息被写入共享内存,同时主体机器130发送中断调整客体虚拟机140,客体虚拟机140从共享内存中读取响应信息,并将响应信息发送至功能设备120。
主体机器130和客体虚拟机140基于共享内存实现控制请求与响应信息的交互,共同维护共享内存,以实现上述应用于主体机器130的电源110管理方法,从而有助于降低电源110管理的复杂性和困难度。
应当理解的是,所有客体虚拟机140可以共用一个共享内存,也可以各自具有各自的共性内存。
基于上述应用于主体机器130的电源管理方法的发明构思,在一个实施例中,本发明还提供一种电源管理方法,该电源管理方法应用于上述图1中的主体机器130,参照图11,该电源管理装置150包括控制接口模块160、仲裁模块170和控制模块180。
控制接口模块160,用于通过控制接口接收任一客体虚拟机140或任一功能设备120发送的控制请求。
仲裁模块170,用于解析控制请求,得到控制请求的控制内容和所要控制的目标电源110的目标标识,根据目标标识和所述控制内容,查询控制请求是否合法。
控制模块180,用于当控制请求合法时,执行控制请求,以控制目标电源110和/或返回响应信息。
进一步地,电源管理装置150还可以包括电源资源库190,电源资源库190中存储有电源110列表。对电源110列表的限定可以参见上述应用于主体机器130的电源110管理方法中对于电源110列表的限定。
关于电源管理装置150的具体限定可以参见上文中对于应用于主体机器130的电源管理方法的限定,在此不再赘述。上述电源管理装置150中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备200中的处理器中,也可以以软件形式存储于电子设备200中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
基于上述应用于客体虚拟机140的电源管理方法的发明构思,在一个实施例中,本发明还提供一种电源管理方法,该电源管理方法应用于上述图1中的客体虚拟机140,该电源管理方法包括写入模块和发送模块。
写入模块,用于接收任一功能设备120发送的控制请求,将控制请求放入共享内存。
发送模块,用于根据主体机器130发送的访问请求,将控制请求发送至主体机器130,以促使主体机器130实现上述应用于主体机器130的电源管理方法。
写入模块,还用于接收主体机器130返回的响应信息,将响应信息放入共享内存。
发送模块,还用于从共享内存读取响应信息,并将响应信息返回至发送电源110控制请求的所述功能设备120。
上述应用客体虚拟机140的电源管理装置150的具体限定可以参见上文中对于应用于客体虚拟机140的电源管理方法的限定,在此不再赘述。
在一个实施例中,提供了一种电子设备200,该电子设备200可以是服务器,其内部结构图可以如图12所示。该电子设备200包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备200的处理器用于提供计算和控制能力,处理器可以为多核处理器,以实现部署主体机器130(主操作系统及其相关程序)和多个客体虚拟机140(客体操作系统及其相关程序)。
该电子设备200的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有多个操作系统(一个主操作系统和多个客体操作系统)、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备200的数据库用于存储电源110列表和电源110管理数据。该电子设备200的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述应用于主体机器130的电源110管理方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的电子设备200的限定,具体的电子设备200可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本发明提供的电源管理装置150可以实现为一种计算机程序的形式,计算机程序可在如图12所示的电子设备200上运行。电子设备200的存储器中可存储组成该电源管理装置150的各个程序模块,比如,图11所示的控制接口模块160、仲裁模块170和控制模块180。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本发明上述实施例中应用于主体机器130的电源110管理方法中的步骤。
例如,图12所示的电子设备200可以通过如图11所示的电源管理装置150中的控制接口模块160执行步骤S101。电子设备200可通过仲裁模块170执行步骤S103和S105。电子设备200可通过控制模块180执行步骤S107。
在一个实施例中,提供了一种电子设备200,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:通过控制接口接收任一客体虚拟机140或任一功能设备120发送的控制请求;解析控制请求,得到控制请求的控制内容和所要控制的目标电源110的目标标识;根据目标标识和控制内容,查询控制请求是否合法,若是,则执行控制请求,以控制目标电源110和/或返回响应信息。
在本实施例中,关于电子设备200的具体限定可以参见上文中对于应用于主体机器130的电源110管理方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:通过控制接口接收任一客体虚拟机140或任一功能设备120发送的控制请求;解析控制请求,得到控制请求的控制内容和所要控制的目标电源110的目标标识;根据目标标识和控制内容,查询控制请求是否合法,若是,则执行控制请求,以控制目标电源110和/或返回响应信息。
在本实施例中,关于计算机可读存储介质的具体限定可以参见上文中对于应用于主体机器130的电源110管理方法的限定,在此不再赘述。
在一个实施例中,本发明提供的应用于客体虚拟机140的电源管理装置150可以实现为一种计算机程序的形式,计算机程序可在如图11所示的电子设备200上运行。电子设备200的存储器中可存储组成该电源管理装置150的各个程序模块,比如,写入模块和发送模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本发明上述应用于客体虚拟机140的电源110管理方法中的步骤。
例如,图11所示的电子设备200也可以通过应用于客体虚拟机140的电源管理装置150中的写入模块执行步骤S501和S503。电子设备200可通过发送模块执行步骤S502和S504。
在一个实施例中,提供了一种电子设备200,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收任一功能设备120发送的控制请求,将控制请求放入共享内存;根据主体机器130发送的访问请求,将控制请求发送至主体机器130,以促使主体机器130实现电源110管理方法;接收主体机器130返回的响应信息,将响应信息放入共享内存;从共享内存读取响应信息,并将响应信息返回至发送电源110控制请求的功能设备120。
在本实施例中,关于电子设备200的具体限定可以参见上文中对于应用于客体虚拟机140的电源110管理方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收任一功能设备120发送的控制请求,将控制请求放入共享内存;根据主体机器130发送的访问请求,将控制请求发送至主体机器130,以促使主体机器130实现电源110管理方法;接收主体机器130返回的响应信息,将响应信息放入共享内存;从共享内存读取响应信息,并将响应信息返回至发送电源110控制请求的功能设备120。
在本实施例中,关于计算机可读存储介质的具体限定可以参见上文中对于应用于客体虚拟机140的电源110管理方法的限定,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备200(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种电源管理方法,其特征在于,应用于主体机器,所述主体机器通过控制接口与多个客体虚拟机通信连接,所述主体机器和多个所述客体虚拟机共享多个电源,所述主体机器和每个所述客体虚拟机均与多个功能设备通信连接,所述主体机器预存有电源列表,所述电源列表包括每个所述电源的标识、属性信息以及支持的控制操作,所述方法包括:
通过控制接口接收任一客体虚拟机或任一功能设备发送的控制请求;
解析所述控制请求,得到所述控制请求的控制内容和所要控制的目标电源的目标标识;
根据所述目标标识和所述控制内容,查询所述控制请求是否合法,若是,则执行所述控制请求,以控制所述目标电源和/或返回响应信息;
所述根据所述目标标识和所述控制内容,查询所述控制请求是否合法的步骤,包括:
查询所述电源列表中是否存在所述目标标识,若是,则从所述电源列表中,确定出所述目标标识对应的目标电源所支持的控制操作;
判断所述控制操作中是否存在所述控制内容,若是,则所述控制请求合法。
2.根据权利要求1所述的电源管理方法,其特征在于,所述主体机器预存有电源列表,所述电源列表包括各所述电源的标识,每个所述电源的被供电用户信息和被供电用户数,以及每个电源的开关状态;
当所述控制请求属于开关类命令时,所述执行所述控制请求,以控制所述目标电源和/或返回响应信息的步骤,包括:
若所述控制内容为开启命令,则基于所述电源列表,查询所述目标标识对应的目标电源是否已开启,若否,则控制所述目标电源打开;
若所述控制内容为关闭命令,则基于所述电源列表,查询是否有功能设备或客体虚拟机正在使用所述目标标识对应的目标电源,若否,则控制所述目标电源关闭。
3.根据权利要求2所述的电源管理方法,其特征在于,所述电源列表还包括各所述电源间的依赖关系;
所述控制所述目标电源打开的步骤,包括:
基于所述电源列表,查询所述目标电源是否有依赖电源;
若是,则继续查询所述依赖电源是否有依赖电源,直至查询到依赖关系中的所有起始电源,以确定所有的依赖电源;
控制所有所述依赖电源和所述目标电源打开,并在所述目标电源的被供电用户信息中添加发送所述控制请求的所述客体虚拟机的信息或所述功能设备的信息,以打开所述目标电源;
所述控制所述目标电源关闭的步骤,包括:
控制所述目标电源关闭,并将发送所述控制请求的所述客体虚拟机的信息或所述功能设备的信息从所述目标电源的被供电用户中删除,以关闭所述目标电源。
4.根据权利要求1所述的电源管理方法,其特征在于,所述主体机器预存有电源列表,所述电源列表包括每个所述电源的标识和属性信息;
当所述控制请求属于设置类命令时,所述执行所述控制请求,以控制所述目标电源和/或返回响应信息的步骤,包括:
基于所述电源列表,查找所述目标标识对应的目标电源的目标属性信息,根据所述控制内容更新所述目标属性信息;
在更新完成后,返回执行成功信息至发送所述控制请求的所述客体虚拟机或所述功能设备。
5.根据权利要求1所述的电源管理方法,其特征在于,所述主体机器预存有电源列表,所述电源列表包括每个所述电源的标识和属性信息;
当所述控制请求为查询类命令时,所述执行所述控制请求,以控制所述目标电源和/或返回响应信息的步骤,包括:
基于所述电源列表,查找到所述目标标识对应的目标电源的目标属性信息,从所述目标属性信息中获取与所述控制内容匹配的目标数据;
将所述目标数据打包成响应信息,并将所述响应信息返回至发送所述控制请求的所述客体虚拟机或所述功能设备。
6.根据权利要求1至5中任一项所述的电源管理方法,其特征在于,在所述根据所述目标标识和所述控制内容,查询所述控制请求是否合法的步骤之后,所述方法还包括:
若否,则返回拒绝执行信息至发送所述控制请求的所述客体虚拟机或所述功能设备。
7.一种电源管理方法,其特征在于,应用于客体虚拟机,所述客体虚拟机包括共享内存,所述客体虚拟机与所述主体机器和多个所述功能设备通信连接,所述主体机器与多个电源通信连接,所述方法包括:
接收任一功能设备发送的控制请求,将所述控制请求放入所述共享内存;
根据所述主体机器发送的访问请求,将所述控制请求发送至所述主体机器,以促使所述主体机器实现如权利要求1-6中任一种所述的电源管理方法;
接收所述主体机器返回的响应信息,将所述响应信息放入所述共享内存;
从所述共享内存读取所述响应信息,并将所述响应信息返回至发送所述电源控制请求的所述功能设备。
8.一种嵌入式系统,其特征在于,包括多个电源、多个功能设备、主体机器和多个客体虚拟机,所述主体机器通过控制接口与所述多个客体虚拟机通信连接,所述主体机器和所述多个客体虚拟机共享所述多个电源,所述主体机器和每个所述客体虚拟机均与多个所述功能设备通信连接;
所述主体机器,用于实现如权利要求1至6中任一项所述的电源管理方法;
所述客体虚拟机,用于实现如权利要求7所述的电源管理方法。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有能够被处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现如权利要求1-6中任一项所述的电源管理方法,或实现如权利要求7所述的电源管理方法。
CN202210477888.2A 2022-05-05 2022-05-05 电源管理方法、嵌入式系统及电子设备 Active CN114578937B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210477888.2A CN114578937B (zh) 2022-05-05 2022-05-05 电源管理方法、嵌入式系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210477888.2A CN114578937B (zh) 2022-05-05 2022-05-05 电源管理方法、嵌入式系统及电子设备

Publications (2)

Publication Number Publication Date
CN114578937A CN114578937A (zh) 2022-06-03
CN114578937B true CN114578937B (zh) 2022-08-02

Family

ID=81778937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210477888.2A Active CN114578937B (zh) 2022-05-05 2022-05-05 电源管理方法、嵌入式系统及电子设备

Country Status (1)

Country Link
CN (1) CN114578937B (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101154130B (zh) * 2006-09-30 2012-07-04 联想(北京)有限公司 一种虚拟机系统及其电源管理方法
CN101398768B (zh) * 2008-10-28 2011-06-15 北京航空航天大学 一种分布式虚拟机监视器系统的构建方法
CN102023887B (zh) * 2009-09-21 2015-01-28 联想(北京)有限公司 一种计算机系统的电源管理方法及计算机系统
CN103855754B (zh) * 2012-12-06 2016-10-05 戴泺格集成电路(天津)有限公司 共享电源管理模块的供电电路及其相应方法
US10572667B2 (en) * 2016-03-31 2020-02-25 Intel Corporation Coordinating power management between virtual machines
CN106445076A (zh) * 2016-09-30 2017-02-22 长沙市极云网络科技有限公司 一种虚拟机主机的智能控制方法及智能控制系统
CN113326498B (zh) * 2020-02-28 2023-11-17 华为技术有限公司 权限复用方法、基于权限复用的资源访问方法及相关设备

Also Published As

Publication number Publication date
CN114578937A (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
US9003001B2 (en) Bios parameter virtualization via BIOS configuration profiles
CN101650660B (zh) 从中央存储装置引导计算机系统
US9317275B2 (en) Computer system and program restoring method thereof
US9152361B2 (en) Information processing apparatus and method therefor
US11914881B2 (en) Data migration method and apparatus
US11249788B2 (en) Cloud management platform, and virtual machine management method and system
US8615755B2 (en) System and method for managing resources of a portable computing device
US8762507B1 (en) Method and system for managing an information technology system
CN102200921A (zh) 智能引导设备选择和恢复
JP4527348B2 (ja) インタフェース装置、インタフェース装置におけるファームウェアの更新方法、及びそのプログラム
JP2012078893A (ja) 計算機システム、及び管理計算機
CN113094111B (zh) 设备以及设备的启动方法
CN109983448B (zh) 信息处理装置、设备分配方法及计算机可读取的存储介质
CN104102857B (zh) 一种windows系统下的可执行文件全生命周期安全管理系统
US20150127916A1 (en) Dynamic memory allocation
CN116301596A (zh) 一种软件raid构建方法、装置、设备及存储介质
CN114578937B (zh) 电源管理方法、嵌入式系统及电子设备
US8473709B2 (en) Virtual volume allocating unit and method which allocate a new virtual volume to adequately-sized unused volume areas
US11567798B2 (en) Method and apparatus for managing computing performance in a data processing system
CN111274192A (zh) 一种多bmc管理系统及刀片服务器
JP3733290B2 (ja) 印刷制御装置および印刷制御方法および記憶媒体
US20140013064A1 (en) Control device, storage device, and control method performed by control device
US10671143B2 (en) Power management using automation engine
US10416926B2 (en) Storage control method and information processing apparatus
JP2009181344A (ja) 情報処理装置、描画命令生成装置、情報処理システム、情報処理装置の制御方法、描画命令生成装置の制御方法及びプログラム

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