CN117573338A - 一种资源分配方法、装置及电子设备 - Google Patents

一种资源分配方法、装置及电子设备 Download PDF

Info

Publication number
CN117573338A
CN117573338A CN202311483489.8A CN202311483489A CN117573338A CN 117573338 A CN117573338 A CN 117573338A CN 202311483489 A CN202311483489 A CN 202311483489A CN 117573338 A CN117573338 A CN 117573338A
Authority
CN
China
Prior art keywords
file
target virtual
binary
resources
tree
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.)
Pending
Application number
CN202311483489.8A
Other languages
English (en)
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.)
China Automotive Innovation Corp
Original Assignee
China Automotive Innovation Corp
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 China Automotive Innovation Corp filed Critical China Automotive Innovation Corp
Priority to CN202311483489.8A priority Critical patent/CN117573338A/zh
Publication of CN117573338A publication Critical patent/CN117573338A/zh
Pending legal-status Critical Current

Links

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种资源分配方法、装置、系统及电子设备,该方法包括:按照设备树源文件的格式设置系统定义文件,系统定义文件中包括系统中各目标虚拟设备与系统中的资源之间的分配映射关系;将系统定义文件与系统中的设备树源文件一起进行二进制编译,获得系统设备树二进制文件;根据系统定义文件将系统设备树二进制文件进行拆分,获得各目标虚拟设备对应的设备树二进制子文件;将各目标虚拟设备的设备树二进制子文件分别进行镜像打包生成各目标虚拟设备的镜像文件,以使得各目标虚拟设备独立使用对应的镜像文件。利用本申请提供的技术方案,在一张系统定义文件中实现了系统资源的统一分配,并且实现了系统资源的隔离。

Description

一种资源分配方法、装置及电子设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种资源分配方法、装置、系统及电子设备。
背景技术
随着汽车电气架构从分布式到域集中式再到中央集中平台演进,车载硬件需要复杂的多核SoC(System on Chip,系统级芯片)提供更为复杂控制逻辑和强大算力。但是多域业务具有不同的技术需求,如:需要不同的安全等级、实时性、可靠性等。在域融合的同时,要保证关键业务的安全可靠,也要考虑应用生态的可持续性兼容,这就需要有资源隔离技术来支撑在同一SoC上切分资源,可并发运行多种OS(Operating System,操作系统),保障互不干扰。
因此,如何提供一种技术方案,能准确分配系统中的资源,实现时间和空间上的隔离,使得各设备分配到的资源能够独立运行,协同工作,是本领域亟需解决的技术问题。
发明内容
本申请提供了一种资源分配方法、装置、系统、设备、存储介质、计算机程序产品,可以实现系统中资源的统一分配和资源隔离。
一方面,本说明书实施例提供了一种资源分配方法,所述方法包括:
按照设备树源文件的格式设置系统定义文件,所述系统定义文件中包括系统中各目标虚拟设备与系统中的资源之间的分配映射关系;
将所述系统定义文件与所述系统中的设备树源文件一起进行二进制编译,获得系统设备树二进制文件;所述系统中的设备树源文件中包括系统中资源的资源信息;
根据所述系统定义文件将所述系统设备树二进制文件进行拆分,获得各所述目标虚拟设备对应的设备树二进制子文件;
将各所述目标虚拟设备对应的设备树二进制子文件分别进行镜像打包生成各所述目标虚拟设备的镜像文件,以使得各所述目标虚拟设备独立使用对应的镜像文件,使用镜像文件中的资源进行数据处理。
另一方面,本说明书实施例提供了一种资源分配装置,所述装置包括:
资源分配定义模块,用于按照设备树源文件的格式设置系统定义文件,所述系统定义文件中包括系统中各目标虚拟设备与系统中的资源之间的分配映射关系;
设备树编译模块,用于将所述系统定义文件与所述系统中的设备树源文件一起进行二进制编译,获得系统设备树二进制文件;所述系统中的设备树源文件中包括所述系统中资源的资源信息;
二进制文件拆分模块,用于根据所述系统定义文件将所述系统设备树二进制文件进行拆分,获得各所述目标虚拟设备对应的设备树二进制子文件;
镜像文件生成模块,用于将各所述目标虚拟设备对应的设备树二进制子文件分别进行镜像打包生成各所述目标虚拟设备的镜像文件,以使得各所述目标虚拟设备独立使用对应的镜像文件,使用镜像文件中的资源进行数据处理。
另一方面,本说明书实施例提供了一种电子设备,包括:处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述任一项所述的资源分配方法。
另一方面,本说明书实施例提供了一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述任一资源分配方法。
另一方面,本说明书实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的资源分配方法。
本申请提供的资源分配方法、装置、系统、设备、存储介质、计算机程序产品,具有如下技术效果:
本申请提供的资源分配方法,将系统中的资源分配按照设备树源文件的格式定义在一个系统定义文件中,在一张表中实现资源分配,直观的避免了资源冲突。再将系统定义文件和系统中的设备树资源文件一起进行二进制编译,生成一个系统设备树二进制文件,再基于系统定义文件中的目标虚拟设备,对系统设备树二进制文件进行拆分,使得每个目标虚拟设备都能拥有自己的设备树二进制子文件,将各个目标虚拟设备对应的设备树二进制子文件进行镜像打包,获得各个目标虚拟设备的镜像文件。这样每个目标虚拟设备只能看到分配的资源,不能看到其他资源,从而保证了资源的隔离,实现了系统资源的统一分配和资源隔离,并能够使用自己分配到的资源进行相应的数据处理,根据分配到的资源独立运行,协同工作,实现对应的系统功能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种资源分配方法的流程示意图;
图2是本说明书一个场景示例中SDT的图形结构示意图;
图3是本说明书个场景示例中资源分配的流程示意图;
图4是本说明书一个实施例中DTB文件的生成和拆分的原理示意图;
图5是本申请实施例提供的一种资源分配装置的结构示意图;
图6是本申请实施例提供的一种用于资源分配的电子设备的框图;
图7是本申请实施例提供的另一种用于资源分配的电子设备的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本说明书实施例中的资源分配主要是为了将系统中的资源分配给不同的设备,实现资源的隔离,可以应用于多种场景,如:可以用于汽车系统的资源分配。资源隔离技术有多种,从硬件底层逐层向上包括硬件隔离、虚拟化隔离、容器隔离、进程隔离等。硬件隔离的隔离性最好,单隔离域的性能、安全可靠性最好,但灵活性、可配置性差,不能实现硬件共享,导致整个系统的资源利用率差,不能充分达到软件定义汽车的目标。容器隔离、进程隔离可以更轻量级地实现业务隔离,但还是在同一个操作系统内,存在着资源干扰、相互安全攻击的隐患,并且无法支持异构操作系统业务域融合,影响传统业务继承,不利于生态发展。在众多的资源隔离技术中,虚拟化是安全可靠、弹性灵活的优选方案,是软件定义汽车的重要支撑技术。
本说明书实施例中的资源分配方法,可以理解为一种虚拟化资源隔离,虚拟化技术中Hypervisor(虚拟机监视器)处于SoC硬件平台之上,将实体资源(如CPU(中央处理器,Central Processing Unit)、内存、存储空间、网络适配器、外设等)转换为虚拟资源,按需分配给运行于Hypervisor上的每个虚拟机,虚拟机中的操作系统通过解析分配的资源即可实现独立地访问。但是,如何将系统中的资源分配给Hypervisor以及各个虚拟机,以实现资源的隔离是本说明书实施例中主要的技术方案。
以下介绍本申请一种资源分配方法,图1是本申请实施例提供的一种资源分配方法的流程示意图,本说明书提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。本说明书实施例中提供的资源分配方法可以用于能够进行数据处理的终端设备如:控制器、计算机、智能手机、平板电脑、智能穿戴设备、车载设备,当然也可以应用于服务器中,本说明书实施例不做具体限定。具体的如图1所示,资源分配方法可以包括:
S102:按照设备树源文件的格式设置系统定义文件,所述系统定义文件中包括系统中各目标虚拟设备与系统中的资源之间的分配映射关系。
在具体的实施过程中,设备树是一种用于描述硬件结构的数据结构,通常用于操作系统内核中,用来管理嵌入式系统中的硬件资源,设备树的灵活性和可扩展性使得它成为了支持多种不同设备的操作系统所必需的。设备树源文件叫做DTS(DeviceTreeSource),DTS文件可以采用树形结构描述板级设备,也就是开发板上的设备信息,比如CPU数量、内存基地址、IIC(Inter-Integrated Circuit,集成电路总线)接口上接了哪些设备、SPI(Serial Peripheral Interface,同步串行总线)接口上接了哪些设备等等。系统定义文件即SDT(System Define Table),本说明书实施例中,按照DTS格式设置系统定义文件SDT,在SDT中定义各个目标虚拟设备与系统中的资源之间的分配映射关系。目标虚拟设备可以理解为系统中的执行设备,用于处理系统中的相关数据,实现对应的操作或功能。本说明书实施例中实际上是一种虚拟化资源分配,利用了虚拟化技术,虚拟化技术中Hypervisor处于SoC硬件平台之上,将实体资源(如CPU、内存、存储空间、网络适配器、外设等)转换为虚拟化资源,按需分配给运行于Hypervisor上的每个虚拟机,虚拟机中的操作系统通过解析分配的资源即可实现独立地访问。目标虚拟设备可以为上述Hypervisor以及虚拟机,Hypervisor可以用于管理各个虚拟机。
本说明书实施例中的资源分配,可以理解为利用虚拟化技术将系统中的实体资源转换为虚拟化资源,对虚拟化资源的分配。此外,在汽车系统中,一般会将实体资源按照1:1的比例转换为对应的虚拟化资源,再进行分配,这样可以实现真正的物理隔离,保证系统的性能。如:一个CPU有两个内核,可以将该CPU转换为两个对应的虚拟化CPU内核,进行分配,这样每个CPU内核只会分配给一个目标虚拟设备,不会对其他设备造成影响,实现物理隔离。在1:1的比例转换场景下,虚拟化资源与各个目标虚拟设备之间的分配映射关系与实体资源与各个目标虚拟设备之间的分配映射关系相同,因此,可以在系统定义文件中配置各个资源的分配信息时,可以使用虚拟化资源,也可以直接使用实体资源进行定义和配置,或者可以将虚拟化资源分配定义在系统定义文件中,同时,在系统定义文件中设置各个虚拟化资源与实体资源之间的对应关系。
图2是本说明书一个场景示例中SDT的图形结构示意图,如图2所示,在SDT中可以按照树的结构,将各个目标虚拟设备作为一个节点,如:将Hypervisor和各虚拟机都作为SDT中的一个节点,在每个节点下定义各个节点分配到的资源。可以将图2所示的树状的图形结构转换为文本语言,就可以获得资源分配的SDT文件,其中,每个节点分配的资源可以根据系统需求进行设置,如:在定义STD文件时,可以按照DTS的格式,将汽车系统中的中控系统和仪表系统分别作为一个虚拟机,对应的是SDT文件中的两个虚拟机节点,若中控系统当前需要的资源比较多,那就在SDT文件中给中控系统对应的节点多分配一些,若仪表系统需要的资源比较少,可以在SDT文件中给仪表系统对应的节点少分配一些资源,资源的具体分配方式本说明书实施例不做具体限定。
本说明书一些实施例中,所述系统定义文件中包括目标虚拟设备与系统中的硬件资源、软件资源以及虚拟资源之间的分配映射关系。
在具体的实施过程中,本说明书实施中的资源分配,可以对系统中的硬件资源、软件资源以及虚拟资源进行分配,在配置系统定义文件时,可以在系统定义文件中定义各个目标虚拟设备与硬件资源、软件资源以及虚拟资源之间的分配映射关系。其中,硬件资源可以包括:CPU核、内存大小、内存段。此外,硬件资源还可以包括各个目标虚拟设备的私有设备或共享设备对应的虚拟资源设备,如:虚拟机或Hypervisor的私有设备和共享设备对应的虚拟资源设备(虚拟网口)。其中,私有设备是指只给一个目标虚拟设备使用的设备,共享设备是指两个或两个以上目标虚拟设备共同使用的设备。例如:在SDT文件中定义一个串口A,将串口A虚拟出多个虚拟资源设备,在给虚拟机节点分配资源时,在虚拟机1对应的节点的资源分配定义中引用串口A的一个虚拟资源设备,在虚拟机2对应的节点的资源分配定义中引用串口A的另一个虚拟资源设备,那么这个串口A就属于共享设备;若串口A在DTS文件中只被一个虚拟机引用,那么串口A就属于私有设备。其中,硬件资源可以理解为利用虚拟化技术由实体硬件资源转换后获得的虚拟化硬件资源,具体可以参见上述实施例的记载。
软件资源可以包括目标虚拟设备的镜像,虚拟机镜像的原理是在一台物理计算机上通过虚拟化技术模拟多个逻辑计算机,每个逻辑计算机都有自己的虚拟硬件资源,包括CPU、内存、硬盘等。每个逻辑计算机可以安装各自的操作系统,如Windows、Linux等。虚拟机镜像实际上就是一个虚拟硬盘文件,其中包含了该逻辑计算机所需要的操作系统、应用程序和数据。本说明书一些实施例中,镜像可以包括内核镜像、设备树镜像、ramdisk(虚拟内存磁盘,可选),其中,内核镜像可以包括镜像格式、类型、加载地址、程序入口以及程序启动需要的启动参数等;目标虚拟设备(如:Hypervisor或者虚拟机)启动需要设备树文件,一般的操作系统的启动都需要设备树来描述系统资源信息,本说明书实施例中的设备树文件中可以包含目标虚拟设备启动时需要使用的描述目标虚拟设备资源的文件。设备树镜像可以包括设备树类型、设备树文件、加载地址等。设备树文件在使用时,需要打包成为设备树镜像,设备树镜像是设备树文件再加一个文件头,这个文件头描述了设备树文件的信息,比如设备树类型,设备树要加载到内存的加载地址。
虚拟资源可以理解为虚拟资源设备(如:virt_net(虚拟网络接口))、虚拟资源设备对应的空间以及创建的虚拟机等。
本说明书一些实施例中,所述目标虚拟设备包括虚拟机监视器和至少一个虚拟机,在设置所述系统定义文件时,将所述虚拟资源分配信息设置在所述虚拟机监视器对应的资源描述,所述资源描述包括虚拟资源的资源信息,以使得至少一个所述虚拟机使用对应的虚拟资源。
在具体的实施过程中,虚拟资源不同于硬件资源和软件资源,是原本不存在的资源类型,本说明书实施例中可以将虚拟资源对应的分配映射关系配置在虚拟机监视器对应的资源描述中,如:可以在Hypervisor的资源描述中定义虚拟资源,以便于虚拟机直接引用。在Hypervisor的资源描述中先定义出虚拟资源,再将各个虚拟资源对应的分配信息配置在Hypervisor的资源描述中,资源描述中还可以包括虚拟资源的资源信息。具体的,虚拟资源定义可以包括(1)各共享设备对应的虚拟资源设备定义,如virt_net、virt_console(虚拟终端)等。(2)虚拟设备对应的mmio(Memory-mapped I/O,即内存映射I/O)空间。(3)要创建的虚拟机的相关信息如:各虚拟机名字。在虚拟机监视器对应的资源描述中进行定义虚拟资源时,可以将各个虚拟资源与虚拟机之间的分配映射关系写入,如:在虚拟机监视器对应的资源描述中定义虚拟机1分配到virt_net1,这样可以方便虚拟机使用虚拟资源。目标虚拟设备中的虚拟机可以是虚拟资源中的要创建的虚拟机,如:要创建的虚拟机有5个,在进行资源分配时,根据系统需求,需要将资源分配给3个虚拟机,那么可以从要创建的虚拟机中选择3个作为目标虚拟设备中的虚拟机。
此外,本说明书一些实施例中,所述在设置所述系统定义文件时,将所述虚拟资源分配信息设置在所述虚拟机监视器对应的资源描述,还包括:在所述虚拟机监视器对应的资源描述中定义各虚拟机对应的优先级、时间片和角色。其中,虚拟优先级可以理解为各个虚拟机对应的数据处理、访问等的优先级,虚拟机的时间片可以理解为虚拟机使用某个资源的时间范围,虚拟机角色可以理解为各个虚拟机之间的关系,如:管理其他虚拟机等。可以在上述虚拟资源定义中要创建的虚拟机中将虚拟机对应的优先级、时间片和角色进行定义,这样就可以将与虚拟机相关的参数定义好,方便后续虚拟机基于配置的参数进行工作。
如图2所示,在一些场景示例中,可以按照设备树源文件的格式,将系统中资源与目标虚拟设备之间的分配关系,按照树的格式在SDT文件中定义,图2中,目标虚拟设备可以为Hypervisor、虚拟机1和虚拟机2,可以将Hypervisor、虚拟机1和虚拟机2分别作为一个节点,其中,Hypervisor节点下方定义有分配到的软件资源、硬件资源以及虚拟资源,虚拟机1和虚拟机2节点下方定义有分配到的软件资源和硬件资源,软件资源、硬件资源、虚拟资源下方可以定义具体的资源信息,如图2中,虚拟机1分配到的硬件资源包括CPU1和CPU2,虚拟机2分配到的硬件资源包括CPU3和CPU4。此外,Hypervisor运行于虚拟机之下,硬件之上,即Hypervisor处于SoC硬件平台之上,每个虚拟机运行在Hypervisor上,Hypervisor可以对运行在其上的各个虚拟机进行监控。
可以将图2所示的设备树格式转换为文本语言,如:先定义出软件软件资源、硬件资源、虚拟资源,再在各个目标虚拟设备对应的节点中引用其分配到的资源,进而获得SDT文件,该SDT文件中就可以包含图2所示的Hypervisor、虚拟机1和虚拟机2及其分配到的资源之间的映射关系。本说明书实施例中的SDT文件中可以定义系统中的资源与各个目标虚拟设备之间的分配关系,通过设备树的格式可以将各个目标虚拟设备与其分配到的资源之间的映射关系直观明了的展示。
现如今的系统越来越复杂,特别是在汽车系统中,汽车芯片SoC就是一个很复杂的系统,而且在SoC外部又挂接了各种各样的外部设备,而描述这些外部设备的描述文件需要成千上万行,而且根据不同的功能拆分了多个文件,例如:当前使用的一款硬件平台光描述文件(DTS文件)就有13个文件,总计1.5万行,如果分开定义,很难保证不出错和冲突。本说明书实施例中可以对系统中的硬件资源、软件资源以及虚拟资源进行分配,定义在系统定义文件中,实现所有资源的分配,而SDT文件相当于一个顶层的描述,精简而直观,为后续资源分配隔离奠定了数据基础。同时,对于虚拟资源可以单独在虚拟机监视器对应的资源描述中进行定义,这样可以方便虚拟机使用虚拟资源。
S104:将所述系统定义文件与所述系统中的设备树源文件一起进行二进制编译,获得系统设备树二进制文件;所述系统中的设备树源文件中包括所述系统中资源的资源信息。
在具体的实施过程中,在SDT文件中定义好各个目标虚拟设备与资源之间的分配映射关系后,可以将SDT文件与系统中的设备树源文件即DTS文件一起进行二进制编译,生成系统设备树二进制文件即系统DTB。DTB文件是由DTS文件通过DTC(device treecompiler,设备树编译器)命令编译生成的二进制文件,DTS文件不能直接被内核解析,需要编译成DTB文件才可以直接被内核识别并解析使用的,一般DTB文件在内核启动时被加载,用于动态配置硬件设备。DTC命令能够将易于开发人员阅读的DTS文件,翻译成MCU(Microcontroller Unit,微控制单元)能够解析的DTB文件。
SDT文件中定义有系统中的资源分配关系,DTS文件中包含系统中各资源的资源信息,即资源的相关参数等,一般为硬件资源的资源信息,如:CPU的详细参数等。DTS文件中的资源信息一般是指系统中实体资源的资源信息,当然,根据需要也可以将虚拟化资源与实体资源之间的关系保存在DTS文件中。本说明书实施例中将SDT文件和DTS文件一起使用DTC命令进行二进制编译,生成一个系统DTB文件,在该DTB文件中就可以包含资源与目标虚拟设备的分配映射关系以及各个资源对应的详细信息。
S106:根据所述系统定义文件将所述系统设备树二进制文件进行拆分,获得各所述目标虚拟设备对应的设备树二进制子文件。
在具体的实施过程中,SDT文件中定义有系统中的资源分配关系,DTS文件中包含系统中各资源的资源信息,将SDT文件和DTS文件一起进行二进制编译获得系统DTB文件后,可以基于SDT文件将系统DTB文件进行拆分,分别获得各个目标虚拟设备对应的设备树二进制子文件。如:SDT文件中定义了将资源分配给3个目标虚拟设备如:Hypervisor、虚拟机1和虚拟机2,那么就可以将系统DTB按照Hypervisor、虚拟机1和虚拟机2进行拆分。在定义SDT文件时,Hypervisor、虚拟机1和虚拟机2作为SDT文件中的节点,在每个节点下定义了分配到该节点的资源信息,二进制编译后获得的DTB文件中包含了Hypervisor、虚拟机1和虚拟机2的节点信息以及资源分配关系,从系统DTB中分别拆分出与Hypervisor、虚拟机1和虚拟机2对应的节点有关的所有信息,就可以分别获得Hypervisor、虚拟机1和虚拟机2对应DTB子文件。
具体的,如:DTB中可以包含SDT文件编译出的信息,进而DTB文件中可以包含Hypervisor节点的资源分配关系,在解析DTB文件时,可以解析到Hypervisor节点及其资源分配关系。DTB文件中同时包含DTS文件编译出的信息,那么就包含所有资源的详细信息,基于Hypervisor节点的资源分配关系,确定出分配给Hypervisor节点的资源有哪些,进而可以在DTB文件中将Hypervisor分配到的资源的详细信息拆分出来,从而获得Hypervisor对应的DTB子文件。对于共享设备,可以在SDT文件中定义资源分配关系时,将共享设备虚拟出了多个虚拟资源设备,多个目标虚拟设备对应的节点中都引用了这个共享设备的不同的虚拟资源设备,在拆分时,可以根据各个节点引用的共享设备的虚拟资源设备,将共享设备虚拟出的虚拟资源设备的信息拆分到对应的目标虚拟设备的DTB子文件中。
基于SDT文件中定义的资源分配关系,将DTB文件按照各个节点及其资源分配关系进行拆分,从而使得各个节点对应的目标虚拟设备均可以拆分出一个对应的DTB子文件,目标虚拟设备可以独立使用各自的DTB子文件中的资源,进行相应的数据处理,实现了资源隔离。
本说明书一些实施例中,根据所述系统定义文件将所述系统设备树二进制文件进行拆分,获得各所述目标虚拟设备对应的设备树二进制子文件,包括:
根据所述系统定义文件在所述系统设备树二进制文件确定出与各个所述目标虚拟设备相关联的二进制信息;
分别将与各所述目标虚拟设备相关联的二进制信息从所述系统设备树二进制文件拆分出来,获得各所述目标虚拟设备对应的设备树二进制子文件。
在具体的实施过程中,在对系统DTB进行拆分时,可以基于SDT文件在系统DTB中确定出各个目标虚拟设备相关联的二进制信息,也就是说,基于SDT文件可以确定出目标虚拟设备,再从系统DTB中分别提取与各个目标虚拟设备存在一定关系的二进制信息。如:SDT文件定义了目标虚拟设备1的分配到的资源有资源1、资源2、资源3,而DTS文件中定义了资源1、资源2、资源3的详细信息,在将SDT文件和DTS文件进行二进制编译后转换出的DTB文件中不仅包含目标虚拟设备1的资源分配关系,还包含了目标虚拟设备1分配到的资源1、资源2、资源3二进制信息。在将DTB文件行进拆分时,可以先基于目标虚拟设备1的资源分配关系,从DTB中获取资源1、资源2、资源3二进制信息,将资源1、资源2、资源3二进制信息拆分到目标虚拟设备1的DTB子文件中。基于此,将各个目标虚拟设备相关联的二进制信息分别从系统DTB中拆分出来,获得各个目标虚拟设备对应的设备树二进制子文件。
本说明书实施例基于SDT文件将系统DTB按照目标虚拟设备进行分别拆分,快速获得各个目标虚拟设备对应的DTB文件,这样各个目标虚拟设备就拥有了自己独立的DTB文件,从而能够使用自己的DTB文件进行相关的数据处理,为后续资源隔离奠定了数据基础。
S108:将各所述目标虚拟设备对应的设备树二进制子文件分别进行镜像打包生成各所述目标虚拟设备的镜像文件,以使得各所述目标虚拟设备独立使用对应的镜像文件,使用镜像文件中的资源进行数据处理。
在具体的实施过程中,在将系统DTB拆分后,获得各个目标虚拟设备对应的设备树二进制子文件,即各个目标虚拟设备的DTB文件。将各个目标虚拟设备的DTB文件分别打包,生成目标虚拟设备的镜像文件,该镜像文件中可以包括各个目标虚拟设备分配到的资源信息,这样各目标虚拟设备独立使用对应的镜像文件,使用镜像文件中的资源进行数据处理。虚拟机镜像的原理是在一台物理计算机上通过虚拟化技术模拟多个逻辑计算机,每个逻辑计算机都有自己的虚拟硬件资源。虚拟机镜像实际上就是一个虚拟硬盘文件,其中包含了该逻辑计算机所需要的操作系统、应用程序和数据。本说明书实施例中,将各目标虚拟设备对应的DTB文件进行单独镜像打包编译,生成各目标虚拟设备对应的镜像文件,各目标虚拟设备就可以使用各自对应的镜像文件中的数据、操作系统以及应用程序等来执行对应的数据处理。
本说明书实施例可以利用虚拟化技术,在系统上安装有Hypervisor及其管理的虚拟机(即目标虚拟设备),由虚拟机来处理系统上的任务,完成相应的操作和功能,同时,基于设备树源文件格式在系统定义文件中定义资源分配信息,再将系统的设备树源文件和系统定义文件一起进行编译,获得系统DTB文件,对系统DTB文件进行拆分,从而将系统上的资源分配给Hypervisor和各个虚拟机,这样各个虚拟机只能访问自己的DTB文件生成的镜像文件,获得自己分配到的资源,实现了系统资源的统一分配和资源隔离。
本说明书一些实施例中,所述系统中的资源包括软件资源,所述根据所述系统定义文件将所述系统设备树二进制文件进行拆分还包括:
根据所述系统定义文件将所述系统设备树二进制文件中与各个所述目标虚拟设备分配到的软件资源相关的二进制信息拆分出来,获得各所述目标虚拟设备对应的镜像描述文件;
所述将各所述目标虚拟设备对应的设备树二进制子文件分别打包生成各所述目标虚拟设备的镜像文件,包括:
将各所述目标虚拟设备对应的设备树二进制子文件与各所述目标虚拟设备对应的镜像描述文件进行镜像打包,生成各所述目标虚拟设备的镜像文件。
在具体的实施过程中,在将系统DTB进行拆分时,还可以基于SDT文件中定义的各个目标虚拟设备分配到的软件资源,将各个目标虚拟设备对应的镜像文件描述信息从系统DTB中拆分出来,从而获得各个目标虚拟设备对应的镜像描述文件即its文件,its文件中对应各镜像的编译打包配置参数,如:内核镜像所需的参数。具体的,如:DTB中可以包含SDT文件编译出的信息,进而DTB文件中可以包含虚拟机1节点的资源分配关系,DTB文件中同时包含DTS文件编译出的信息,那么就包含所有资源的详细信息,基于虚拟机1节点的资源分配关系,可以在DTB文件中将虚拟机1分配到的镜像描述文件的详细信息拆分出来,从而获得虚拟机1对应的its文件。在对各目标虚拟设备的DTB文件分别进行镜像打包时,可以利用its文件中镜像所需的参数,将各目标虚拟设备对应的DTB文件和镜像描述文件即its文件一起进行镜像打包,如:目标虚拟设备中包括虚拟机1,可以将虚拟机1对应的DTB文件和虚拟机对应的its文件一起进行镜像打包,生成虚拟机1对应的镜像文件。
利用its文件和DTB文件进行镜像打包,生成目标虚拟设备对应的镜像文件,为各个目标虚拟设备之后的独立运行和独立数据处理奠定了数据基础。
本说明书一些实施例中,所述镜像文件中包括内核镜像文件和设备树二进制镜像文件,所述方法还包括:
各所述目标虚拟设备解析所述镜像文件,获得各所述目标虚拟设备对应的内核镜像文件和设备树二进制镜像文件;
各所述目标虚拟设备根据内核镜像文件获得运行代码,基于所述设备树二进制镜像文件获得分配到的资源,并使用所述运行代码和分配到的资源进行对应的数据处理。
在具体的实施过程中,本说明书实施例中镜像打包生成的镜像文件中可以包括内核镜像文件和设备树二进制镜像文件即DTB镜像文件,在资源分配定义时,软件资源的定义中定了目标虚拟设备的镜像如:镜像格式、类型、加载地址、程序入口以及程序启动需要的启动参数等。在进行镜像打包时,可以先将之前定义的镜像和对应its文件行进镜像打包,生成各目标虚拟设备的内核镜像文件,再将内核镜像文件与DTB文件进行镜像打包,获得目标虚拟设备对应的镜像文件。各个目标虚拟设备在启动和运行时,可以解析各自的镜像文件,获得各自对应的内核镜像文件和DTB镜像文件,分别将内核镜像文件和DTB镜像文件录制到对应的地址,通过内行镜像文件对应的地址入口,可以获得内核镜像文件中的运行代码,再访问DTB镜像文件对应的地址,可以获得DTB镜像文件中分配到的资源如:分配到的硬件资源等,进而基于分配到的资源和运行代码,就可以进行相应的数据处理。每个目标虚拟设备都是独立访问自己的镜像文件,与其他目标虚拟设备分配到的资源等没有关系,实现了资源的隔离。
本说明书实施例提供一种资源分配方法,将系统中的资源分配按照设备树源文件的格式定义在一个系统定义文件中,在一张表中实现资源分配,直观的避免了资源冲突。再将系统定义文件和系统中的设备树资源文件一起进行二进制编译,生成一个系统设备树二进制文件,再基于系统定义文件中的目标虚拟设备,对系统设备树二进制文件进行拆分,使得每个目标虚拟设备都能拥有自己的设备树二进制子文件,将各个目标虚拟设备对应的设备树二进制子文件进行镜像打包,获得各个目标虚拟设备的镜像文件。这样每个目标虚拟设备只能看到分配的资源,不能看到其他资源,从而保证了资源的隔离,实现了系统资源的统一分配和资源隔离,并能够使用自己分配到的资源进行相应的数据处理,根据分配到的资源独立运行,协同工作,实现对应的系统功能。
图3是本说明书个场景示例中资源分配的流程示意图,下面结合图3介绍本说明书实施例中的资源分配流程:
1、设置系统定义文件SDT。在此系统定义文件中按照设备树源文件(DTS)格式分别定义Hypervisor和各虚拟机使用的软硬件资源。硬件资源包括:使用的CPU核、占用内存大小和内存段。虚拟机或Hypervisor私有设备和共享设备对应的虚拟资源设备。软件资源描述Hypervisor或者虚拟机镜像,包括(1)内核镜像:镜像格式、类型、加载地址、程序入口以及程序启动需要的启动参数等。(2)设备树:Hypervisor或者虚拟机启动需要设备树,包括设备树类型、设备树文件、加载地址等。(3)ramdisk(可选),启动时需要的ramdisk描述。
另外,在Hypervisor的资源描述中定义虚拟资源,以便于虚拟机直接引用。虚拟资源定义包括(1)各共享设备对应的虚拟设备定义,如virt_net、virt_console等。(2)虚拟设备对应的mmio空间。(3)要创建的虚拟机:各虚拟机名字、虚拟机的优先级、虚拟机的时间片及虚拟机的角色。
2、将系统定义文件和系统完整的设备树源文件一起编译,生成一个完整的系统设备树二进制文件(DTB),称为系统DTB。
3、将系统设备树二进制文件拆分。(1)根据系统定义文件的配置,软件资源会生成对应的its文件,此文件对应各镜像的编译打包配置。(2)根据系统定义文件的配置,系统DTB拆分成Hypervisor DTB和各虚拟机的DTB。图4是本说明书一个实施例中DTB文件的生成和拆分的原理示意图,如图4所示,目标虚拟设备包括Hypervisor和虚拟机1和虚拟机2,基于SDT文件和系统设备树源文件二进制编译生成系统DTB,再对系统DTB进行拆分,获得Hypervisor的its文件以及DTB文件,虚拟机1的its文件以及DTB文件,以及虚拟机2的its文件以及DTB文件。其中,系统DTB的拆分过程可以参见上述实施例的记载,此处不再赘述。
4、Hypervisor和虚拟机编译后,和各自的DTB打包生成镜像文件。
5、系统启动后使用各自的镜像文件,从而达到了系统资源的隔离。
本说明书实施例在系统定义文件定义了整体系统资源的分配,在一张表中实现资源分配,直观的避免资源冲突。在系统定义文件中实现了系统资源的统一分配,如:CPU核的分配、各虚拟机占用的内存段、硬件设备分配给某虚拟机独占或多虚拟机之间共享、虚拟机特权等级、角色、时间片分配等。并且,将系统DTB根据配置拆分成各镜像需要的DTB,在各系统中只能看到分配的资源,不能看到其他资源,从而保证了资源的隔离,确保不同业务的可靠性。
基于上述所述的资源分配方法,本说明书一个或多个实施例还提供一种资源分配处理的客户端、服务端。所述客户端、服务端可以包括使用了本说明书实施例所述方法的装置(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参考前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
由以上本说明书实施例提供的技术方案可见,本说明书本申请实施例还提供了一种资源分配装置,图5是本申请实施例提供的一种资源分配装置的结构示意图,如图5所示,上述装置包括:
资源分配定义模块510,用于按照设备树源文件的格式设置系统定义文件,所述系统定义文件中包括系统中各目标虚拟设备与系统中的资源之间的分配映射关系;
设备树编译模块520,用于将所述系统定义文件与所述系统中的设备树源文件一起进行二进制编译,获得系统设备树二进制文件;所述系统中的设备树源文件中包括所述系统中资源的资源信息;
二进制文件拆分模块530,用于根据所述系统定义文件将所述系统设备树二进制文件进行拆分,获得各所述目标虚拟设备对应的设备树二进制子文件;
镜像文件生成模块540,用于将各所述目标虚拟设备对应的设备树二进制子文件分别进行镜像打包生成各所述目标虚拟设备的镜像文件,以使得各所述目标虚拟设备独立使用对应的镜像文件,使用镜像文件中的资源进行数据处理。
本说明书一些实施例中,所述资源分配定义模块510设置的系统定义文件中包括目标虚拟设备与系统中的硬件资源、软件资源以及虚拟资源之间的分配映射关系。
本说明书一些实施例中,所述目标虚拟设备包括虚拟机监视器和至少一个虚拟机,所述资源分配定义模块510在设置所述系统定义文件时,将所述虚拟资源分配信息设置在所述虚拟机监视器对应的资源描述,所述资源描述包括虚拟资源的资源信息,以使得至少一个所述虚拟机使用对应的虚拟资源。
本说明书一些实施例中,所述资源分配定义模块510还用于:
在所述虚拟机监视器对应的资源描述中定义各虚拟机对应的优先级、时间片和角色。
本说明书一些实施例中,所述二进制文件拆分模块530具体用于:
根据所述系统定义文件在所述系统设备树二进制文件确定出与各个所述目标虚拟设备相关联的二进制信息;
分别将与各所述目标虚拟设备相关联的二进制信息从所述系统设备树二进制文件拆分出来,获得各所述目标虚拟设备对应的设备树二进制子文件。
本说明书一些实施例中,所述二进制文件拆分模块530还用于:
根据所述系统定义文件将所述系统设备树二进制文件中与各个所述目标虚拟设备分配到的软件资源相关的二进制信息拆分出来,获得各所述目标虚拟设备对应的镜像描述文件;
所述镜像文件生成模块540具体用于:
将各所述目标虚拟设备对应的设备树二进制子文件与各所述目标虚拟设备对应的镜像描述文件进行镜像打包,生成各所述目标虚拟设备的镜像文件。
本说明书一些实施例中,所述镜像文件中包括内核镜像文件和设备树二进制镜像文件,所述装置还包括资源获取模块用于:
各所述目标虚拟设备解析所述镜像文件,获得各所述目标虚拟设备对应的内核镜像文件和设备树二进制镜像文件;
各所述目标虚拟设备根据内核镜像文件获得运行代码,基于所述设备树二进制镜像文件获得分配到的资源,并使用所述运行代码和分配到的资源进行对应的数据处理。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。上述实施例中的装置根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
图6是本申请实施例提供的一种用于资源分配的电子设备的框图,该电子设备可以是终端,其内部结构图可以如图6所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种资源分配方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
图7是本申请实施例提供的另一种用于资源分配的电子设备的框图,该电子设备可以是服务器,其内部结构图可以如图7所示。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种资源分配方法。
本领域技术人员可以理解,图6或图7中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在示例性实施例中,还提供了一种电子设备,包括:处理器;用于存储该处理器可执行指令的存储器;其中,该处理器被配置为执行该指令,以实现如本公开实施例中的资源分配方法。
在示例性实施例中,还提供了一种计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例中的资源分配方法。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的资源分配方法。
可以理解的是,在本申请的具体实施方式中,涉及到用户相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种资源分配方法,其特征在于,所述方法包括:
按照设备树源文件的格式设置系统定义文件,所述系统定义文件中包括系统中各目标虚拟设备与系统中的资源之间的分配映射关系;
将所述系统定义文件与所述系统中的设备树源文件一起进行二进制编译,获得系统设备树二进制文件;所述系统中的设备树源文件中包括系统中资源的资源信息;
根据所述系统定义文件将所述系统设备树二进制文件进行拆分,获得各所述目标虚拟设备对应的设备树二进制子文件;
将各所述目标虚拟设备对应的设备树二进制子文件分别进行镜像打包生成各所述目标虚拟设备的镜像文件,以使得各所述目标虚拟设备独立使用对应的镜像文件,使用镜像文件中的资源进行数据处理。
2.根据权利要求1所述的方法,其特征在于,所述系统定义文件中包括目标虚拟设备与系统中的硬件资源、软件资源以及虚拟资源之间的分配映射关系。
3.根据权利要求2所述的方法,其特征在于,所述目标虚拟设备包括虚拟机监视器和至少一个虚拟机,在设置所述系统定义文件时,将所述虚拟资源分配信息设置在所述虚拟机监视器对应的资源描述,所述资源描述包括虚拟资源的资源信息,以使得至少一个所述虚拟机使用对应的虚拟资源。
4.根据权利要求3所述的方法,其特征在于,所述在设置所述系统定义文件时,将所述虚拟资源分配信息设置在所述虚拟机监视器对应的资源描述,还包括:
在所述虚拟机监视器对应的资源描述中定义各虚拟机对应的优先级、时间片和角色。
5.根据权利要求1所述的方法,其特征在于,根据所述系统定义文件将所述系统设备树二进制文件进行拆分,获得各所述目标虚拟设备对应的设备树二进制子文件,包括:
根据所述系统定义文件在所述系统设备树二进制文件确定出与各个所述目标虚拟设备相关联的二进制信息;
分别将与各所述目标虚拟设备相关联的二进制信息从所述系统设备树二进制文件拆分出来,获得各所述目标虚拟设备对应的设备树二进制子文件。
6.根据权利要求1所述的方法,其特征在于,所述系统中的资源包括软件资源,所述根据所述系统定义文件将所述系统设备树二进制文件进行拆分还包括:
根据所述系统定义文件将所述系统设备树二进制文件中与各个所述目标虚拟设备分配到的软件资源相关的二进制信息拆分出来,获得各所述目标虚拟设备对应的镜像描述文件;
所述将各所述目标虚拟设备对应的设备树二进制子文件分别进行镜像打包生成各所述目标虚拟设备的镜像文件,包括
将各所述目标虚拟设备对应的设备树二进制子文件与各所述目标虚拟设备对应的镜像描述文件进行镜像打包,生成各所述目标虚拟设备的镜像文件。
7.根据权利要求1所述的方法,其特征在于,所述镜像文件中包括内核镜像文件和设备树二进制镜像文件,所述方法还包括:
各所述目标虚拟设备解析所述镜像文件,获得各所述目标虚拟设备对应的内核镜像文件和设备树二进制镜像文件;
各所述目标虚拟设备根据内核镜像文件获得运行代码,基于所述设备树二进制镜像文件获得分配到的资源,并使用所述运行代码和分配到的资源进行对应的数据处理。
8.一种资源分配装置,其特征在于,所述装置包括:
资源分配定义模块,用于按照设备树源文件的格式设置系统定义文件,所述系统定义文件中包括系统中各目标虚拟设备与系统中的资源之间的分配映射关系;
设备树编译模块,用于将所述系统定义文件与所述系统中的设备树源文件一起进行二进制编译,获得系统设备树二进制文件;所述系统中的设备树源文件中包括所述系统中资源的资源信息;
二进制文件拆分模块,用于根据所述系统定义文件将所述系统设备树二进制文件进行拆分,获得各所述目标虚拟设备对应的设备树二进制子文件;
镜像文件生成模块,用于将各所述目标虚拟设备对应的设备树二进制子文件分别进行镜像打包生成各所述目标虚拟设备的镜像文件,以使得各所述目标虚拟设备独立使用对应的镜像文件,使用镜像文件中的资源进行数据处理。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的资源分配方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由处理器加载并执行以实现权利要求1至7中任一项所述的资源分配方法。
CN202311483489.8A 2023-11-08 2023-11-08 一种资源分配方法、装置及电子设备 Pending CN117573338A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311483489.8A CN117573338A (zh) 2023-11-08 2023-11-08 一种资源分配方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311483489.8A CN117573338A (zh) 2023-11-08 2023-11-08 一种资源分配方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN117573338A true CN117573338A (zh) 2024-02-20

Family

ID=89859867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311483489.8A Pending CN117573338A (zh) 2023-11-08 2023-11-08 一种资源分配方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN117573338A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117762573A (zh) * 2024-02-22 2024-03-26 成都菁蓉联创科技有限公司 一种嵌入式平台下虚拟机中设备信息处理方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117762573A (zh) * 2024-02-22 2024-03-26 成都菁蓉联创科技有限公司 一种嵌入式平台下虚拟机中设备信息处理方法及系统
CN117762573B (zh) * 2024-02-22 2024-05-17 成都菁蓉联创科技有限公司 一种嵌入式平台下虚拟机中设备信息处理方法及系统

Similar Documents

Publication Publication Date Title
CN109961151B (zh) 用于机器学习的计算服务的系统及用于机器学习的方法
Chen et al. Enabling FPGAs in the cloud
US10289785B1 (en) Platform architecture creation for a system-on-chip
US11645068B2 (en) Method for implementing function jump, apparatus, and computer storage medium
JP7373578B2 (ja) セキュア仮想マシン環境におけるストレージ保護ハードウェアのテスト方法、システム、プログラム
KR102551936B1 (ko) 보안 인터페이스 컨트롤 스토리지를 위한 호스트 가상 주소 공간
CN103678098B (zh) 一种hadoop程序测试的方法和系统
CN112948024B (zh) 动态链接库的加载方法、装置、存储介质及电子设备
Zha et al. When application-specific ISA meets FPGAs: a multi-layer virtualization framework for heterogeneous cloud FPGAs
CN117573338A (zh) 一种资源分配方法、装置及电子设备
Gai et al. Automotive embedded software architecture in the multi-core age
JP2016509714A (ja) ハードウェア・デバイス用ソフトウェア・インターフェース
CN112330229B (zh) 资源调度方法、装置、电子设备及计算机可读存储介质
US20160357684A1 (en) Preemptive guest merging for virtualization hypervisors
US8397217B2 (en) Integrating templates into tests
CN113544664B (zh) 用于中断使能的安全接口控件高级指令拦截
KR20210118877A (ko) 보안 인터페이스 컨트롤 고-레벨 페이지 관리
Cinque Real-time faas: serverless computing for industry 4.0
WO2022097020A1 (en) Updated shared library reloading without stopping execution of an application
Avanzini et al. Integrating Linux and the real-time ERIKA OS through the Xen hypervisor
Schneider et al. Efficient virtualization for functional integration on modern microcontrollers in safety-relevant domains
KR20210121197A (ko) 보안 인터페이스 컨트롤의 통신 인터페이스
CN115016862A (zh) 基于Kubernetes集群的软件启动方法、装置、服务器及存储介质
CN111506301B (zh) 绕过系统限制反射调用的方法及相关设备
US8555046B2 (en) Computer system and its HW abstraction method

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