CN116339757A - 一种应用运行方法、装置、计算设备及存储介质 - Google Patents

一种应用运行方法、装置、计算设备及存储介质 Download PDF

Info

Publication number
CN116339757A
CN116339757A CN202310271491.2A CN202310271491A CN116339757A CN 116339757 A CN116339757 A CN 116339757A CN 202310271491 A CN202310271491 A CN 202310271491A CN 116339757 A CN116339757 A CN 116339757A
Authority
CN
China
Prior art keywords
control group
sub
application
target application
kernel
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
CN202310271491.2A
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.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software 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 Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202310271491.2A priority Critical patent/CN116339757A/zh
Publication of CN116339757A publication Critical patent/CN116339757A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种应用运行方法、装置、计算设备及存储介质,应用运行方法,在计算设备中执行,计算设备驻留有操作系统,操作系统包括有内核,该方法包括:基于设置在内核中的控制组内核接口,创建至少一个子控制组,其中,不同子控制组的资源分配情况不同;根据目标应用的属性信息,将其分配至对应的子控制组中;响应于对目标应用的运行操作,从与其对应的子控制组中运行所述目标应用。该方法通过设置在内核中的控制组内核接口,创建多个子控制组,为应用的运行提供了隔离环境,实现了不同资源需求的应用的隔离,提升了系统的稳定性。

Description

一种应用运行方法、装置、计算设备及存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种应用运行方法、装置、计算设备及存储介质。
背景技术
多任务操作系统指的是可同时运行多个程序的操作系统。多任务处理是指用户可以在同一时间内运行多个应用程序,每个应用程序被称作一个任务,Linux、Windows等就是支持多任务的操作系统,比起单任务系统它的功能增强了许多。
但是,在多任务操作系统中处理多个任务时,会存在资源竞争(如OOM(Out-Of-Memory,内存溢出),CPU占用率等),稳定性,安全性等多种问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用运行方法、装置、计算设备以及存储介质。
根据本发明的一个方面,提供一种应用运行方法,在计算设备中执行,计算设备驻留有操作系统,操作系统包括有内核,该方法包括:基于设置在内核中的控制组内核接口,创建至少一个子控制组,其中,不同子控制组的资源分配情况不同;根据目标应用的属性信息,将其分配至对应的子控制组中;响应于对目标应用的运行操作,从与其对应的子控制组中运行目标应用。
可选地,在根据本发明的应用运行方法中,其中,基于设置在内核中的控制组内核接口,创建至少一个子控制组,包括:在内核初始化控制组内核接口期间,通过控制组内核接口的挂载函数创建根控制组;在根控制组中创建至少一个子控制组,并对每个子控制组分配对应的资源。
可选地,在根据本发明的应用运行方法中,其中,目标应用的属性信息至少包括应用类型,应用类型包括系统应用和非系统应用。
可选地,在根据本发明的应用运行方法中,其中,所述方法还包括:解析用于安装目标应用的安装包,以得到安装包文件;判断安装包文件是否为可执行文件;若是,则获取可执行文件的进程标识符;若否,则直接安装目标应用。
可选地,在根据本发明的应用运行方法中,其中,在获取可执行文件的进程标识符之前,还包括:将可执行文件的文件名保存到预设的配置文件中,以对目标应用进行持久化配置。
可选地,在根据本发明的应用运行方法中,其中,子控制组至少包括用于运行系统应用的系统组和用于运行第三方应用的非系统组;以及将目标应用分配至对应的子控制组中,包括:若目标应用为系统应用,则将其分配至系统组中;若目标应用为非系统应用,则将其分配至非系统组中。
可选地,在根据本发明的应用运行方法中,其中,将目标应用分配至对应的子控制组中,包括:获取目标应用对应的可执行文件的进程标识符,并将进程标识符写入对应的子控制组中。
根据本发明的又一个方面,提供一种应用运行装置,驻留在在计算设备,计算设备驻留有操作系统,操作系统包括有内核,该装置包括:创建模块,适于基于设置在内核中的控制组内核接口,创建至少一个子控制组,其中,不同子控制组的资源分配情况不同;分配模块,适于根据目标应用的属性信息,将其分配至对应的子控制组中;运行模块,适于响应于对目标应用的运行操作,从与其对应的子控制组中运行目标应用。
根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行上述方法的指令。
根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行上述的方法。
根据本发明的方案,通过设置在内核中的控制组内核接口,创建多个子控制组,为应用的运行提供了隔离环境,实现了不同资源需求的应用的隔离,提升了系统的稳定性。利用本发明的方案在进行应用的运行环境隔离时不依赖任何后台服务,因此没有服务占用资源,从而实现轻量化,简单化的实现不同的隔离环境,提升系统的稳定性,并且无需手动配置(支持定制化手动配置接口)。
另外,在内核层实现,用户无感知,不依赖服务运行,无后台常驻服务,非常轻量化,无额外资源消耗。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了的计算设备100的物理组件(即,硬件)的框图;
图2示出了根据本发明一个实施例的应用运行方法200的流程图;
图3示出了根据本发明一个实施例的目标应用分配子控制组的流程示意图;
图4示出了根据本发明一个实施例的目标应用运行流程示意图;
图5示出了根据本发明一个实施例的应用运行装置500的结构示意图;
图6示出了根据本发明一个实施例的应用运行装置500的运行原理图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
多任务操作系统可以同时运行并使用多个应用,相较于单任务系统功能增加了很多功能,但是,由于需要多个任务同时运行,会存在任务对资源的竞争,以及系统的稳定性差,安全性低等问题。
现有技术中,通常采用虚拟化,容器化的技术方案来解决上述问题,例如虚拟化方案有qemu/kvm等,容器化方案有lxc,docker等。但是,这些方案均存在缺陷,例如,lxc方案的代码简单,配置复杂,不同环境,不同版本间兼容性较差,依赖libvirt,liblxc等库运行环境,且需要手动配置,还需要服务常驻运行。Docker方案作为标准化容器的完整方案,它由多个组件组成,而这些组件本身也做为后台服务常驻运行,在主机上也会消耗一定的资源(如内存,CPU,IO等)。
为了解决背景技术中所存在的技术问题,本发明提供了一种应用运行方法,通过设置在内核中的控制组(cgroup:Control groups)内核接口,创建多个子控制组,以将系统和第三方应用隔离,为应用的运行提供了隔离环境,实现了不同资源需求的应用之间的隔离,提升了系统的稳定性。利用本发明的方案在进行应用的运行环境隔离时不依赖任何后台服务,没有服务占用资源,从而轻量化,简单化的实现不同的隔离环境,提升系统的稳定性。并且无需手动配置(支持定制化手动配置接口)。另外,在内核层实现,用户无感知,不依赖服务运行,无后台常驻服务,非常轻量化,无额外资源消耗。该方法可以实现为应用程序,安装于计算设备100中。
上述的计算设备100可以实现为服务器,例如应用服务器、Web服务器等;也可以实现为桌面电脑、笔记本电脑、处理器芯片、平板电脑等,但不限于此。图1示出了的计算设备100的物理组件(即,硬件)的框图。在基本配置中,计算设备100包括至少一个处理单元102和系统存储器104。根据一个方面,取决于计算设备的配置和类型,系统存储器104包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器、或者这样的存储器的任何组合。
根据一个方面,系统存储器104包括操作系统105。系统存储器104还包括程序模块150。根据一个方面,操作系统105,例如,适合于控制计算设备100的操作。此外,示例结合图形库、其他操作系统、或任何其他应用程序而被实践,并且不限于任何特定的应用或系统。在图1中通过在虚线108内的那些组件示出了该基本配置。根据一个方面,计算设备100具有额外的特征或功能。例如,根据一个方面,计算设备100包括额外的数据存储设备(可移动的和/或不可移动的),例如磁盘、光盘、或者磁带。这样额外的存储在图1中是由可移动存储设备109和不可移动存储设备110示出的。
如在上文中所陈述的,根据一个方面,在系统存储器104中存储有程序模块。根据一个方面,程序模块可以包括一个或多个应用程序,本发明不限制应用程序的类型,例如应用程序可以包括:电子邮件和联系人应用程序、文字处理应用程序、电子表格应用程序、数据库应用程序、幻灯片展示应用程序、绘画或计算机辅助应用程序、网络浏览器应用程序等。在根据本发明的实施例中,程序模块中的应用程序可以为应用运行装置500,应用运行装置500被配置为执行本发明的应用运行方法200。
根据一个方面,可以在包括分立电子元件的电路、包含逻辑门的封装或集成的电子芯片、利用微处理器的电路、或者在包含电子元件或微处理器的单个芯片上实践示例。例如,可以经由其中在图1中所示出的每个或许多组件可以集成在单个集成电路上的片上系统(SOC)来实践示例。根据一个方面,这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元、以及各种应用功能,其全部作为单个集成电路而被集成(或“烧”)到芯片基底上。当经由SOC进行操作时,可以经由在单个集成电路(芯片)上与计算设备100的其他组件集成的专用逻辑来对在本文中所描述的功能进行操作。还可以使用能够执行逻辑操作(例如AND、OR和NOT)的其他技术来实践本发明的实施例,所述其他技术包括但不限于机械、光学、流体、和量子技术。另外,可以在通用计算机内或在任何其他任何电路或系统中实践本发明的实施例。
根据一个方面,计算设备100还可以具有一个或多个输入设备112,例如键盘、鼠标、笔、语音输入设备、触摸输入设备等。还可以包括输出设备114,例如显示器、扬声器、打印机等。前述设备是示例并且也可以使用其他设备。计算设备100可以包括允许与其他计算设备118进行通信的一个或多个通信连接116,其他计算设备118可以为打印设备,打印设备例如打印机。合适的通信连接116的示例包括但不限于:RF发射机、接收机和/或收发机电路;通用串行总线(USB)、并行和/或串行端口。
如在本文中所使用的术语计算机可读介质包括计算机存储介质。计算机存储介质可以包括以任何用于存储信息(例如,计算机可读指示、数据结构、或程序模块)的方法或技术来实现的易失性的和非易失性的、可移动的和不可移动的介质。系统存储器104、可移动存储设备109、和不可移动存储设备110都是计算机存储介质的示例(即,存储器存储)。计算机存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦只读存储器(EEPROM)、闪速存储器或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储、盒式磁带、磁带、磁盘存储器或其他磁存储设备、或者可用于存储信息并且可以由计算机设备100访问的任何其他制品。根据一个方面,任何这样的计算机存储介质都可以是计算设备100的一部分。计算机存储介质不包括载波或其他经传播的数据信号。
根据一个方面,通信介质是由计算机可读指令、数据结构、程序模块、或者经调制的数据信号(例如,载波或其他传输机制)中的其他数据实施的,并且包括任何信息传递介质。根据一个方面,术语“经调制的数据信号”描述了具有一个或多个特征集或者以将信息编码在信号中的方式改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频(RF)、红外线的、以及其他无线介质之类的无线介质。
在根据本发明的实施例中,计算设备100被配置为执行根据本发明的应用运行方法200。计算设备100包括一个或多个处理器、以及存储有程序指令的一个或多个可读存储介质,当程序指令被配置为由一个或多个处理器执行时,使得计算设备执行本发明实施例中的应用运行方法200。
根据本发明的一个实施例,计算设备100的应用运行装置500被配置为执行根据本发明的应用运行方法200。其中,应用运行装置500中包含用于执行本发明的应用运行方法200的多条程序指令,这些程序指令可以指示处理器执行根据本发明的应用运行方法200,以便计算设备100通过执行本发明的应用运行方法200,来实现通过设置在内核中的控制组内核接口,创建多个子控制组,为应用的运行提供了隔离环境,实现了不同资源需求的应用的隔离,提升了系统的稳定性。利用本发明的方案在进行应用的运行环境隔离时不依赖任何后台服务,没有服务占用资源,从而轻量化、简单化的实现不同的隔离环境,提升系统的稳定性。
图2示出了根据本发明一个实施例的应用运行方法200的流程图。方法200适于在计算设备(例如前述计算设备100)中执行。计算设备驻留有操作系统,操作系统包括有内核。
如图2所示,方法200的目的是实现一种在内核层为各应用提供运行隔离环境的方法。
方法200始于步骤202,在步骤202中,基于设置在内核中的控制组内核接口,创建至少一个子控制组,其中,不同子控制组的资源分配情况不同。
控制组内核接口,简称cgroup,是Linux内核的一个功能,用来限制,控制与分离一个进程组群的资源(如CPU、内存、磁盘输入输出等)。其主要功能包括:
1、限制进程组可以使用的资源数量(Resource limiting)。比如:memory子系统可以为进程组设定一个memory使用上限,一旦进程组使用的内存达到限额再申请内存,就会出发OOM(out of memory)。
2、进程组的优先级控制(Prioritization)。比如:可以使用cpu子系统为某个进程组分配特定cpu share。
3、记录进程组使用的资源数量(Accounting)。比如:可以使用cpuacct子系统记录某个进程组使用的cpu时间。
4、进程组隔离(Isolation)。比如:使用ns子系统可以使不同的进程组使用不同的namespace,以达到隔离的目的,不同的进程组有各自的进程、网络、文件系统挂载空间。
5、进程组控制(Control)。比如:使用freezer子系统可以将进程组挂起和恢复。
在一些实施例中,通过控制组内核接口创建子控制组的具体过程如下:
首先,在内核初始化控制组内核接口期间,通过控制组内核接口的挂载函数创建根控制组。
然后,在根控制组中创建至少一个子控制组,并对每个子控制组分配对应的资源。例如,分配子控制组1可使用的内存为A1,CPU最高占用率为B1、自控制组2可使用的内存为A2,CPU最高占用率为B2、……。
优选地,子控制组至少包括用于运行系统应用的系统组和用于运行非系统应用的非系统组。
示例性地,在内核初始化cgroup CPU控制组时,由cgroup1_mount()调用cgroup_set_root()创建CPU根控制组,此时新增主动创建名为“system”,和“application”的两个子CPU控制组。其中“system”表示系统组,“application”表示运行第三方应用的非系统组。这样系统启动完成后,会看到system和application的两个控制组目录。
在步骤204中,根据目标应用的属性信息,将其分配至对应的子控制组中。目标应用的属性信息至少包括应用类型,应用类型包括系统应用和非系统应用。
具体地,首先,解析用于安装目标应用的安装包,以得到安装包文件。
随后,判断安装包文件是否为可执行文件。
若不是可执行文件,则直接安装所述目标应用,否则,执行根据目标应用的属性信息,将其分配至对应的子控制组中的步骤。具体地,获取目标应用对应的可执行文件的进程标识符,并将进程标识符写入对应的子控制组中。其中,若目标应用为系统应用,则将其分配至系统组中。若目标应用为非系统应用,则将其分配至非系统组中。
在一个具体示例中,参考图3,图3示出了根据本发明一个实施例的目标应用分配子控制组的流程示意图。
如图3所示,首先,在目标应用安装时,对安装包进行解压,并把解压后得到的文件拷贝到系统对应的目录。其中,在拷贝文件的过程中对文件类型进行判断,如果为可执行文件,则记录文件名,进行设置。
随后,把扫描到的可执行文件名保存到类似于/etc/app.config的配置文件中,每一行表示一个文件名,实现配置执久化。
最后,根据扫描到的可执行文件名,获取其运行pid(进程标识符),若目标应用为系统应用,则将其pid写入系统启动时创建的系统组中。若目标应用为非系统应用,则将其pid写入系统启动时创建的非系统组中。具体写过程类似于echo‘pid’>xxx/uos_application/tasks。
在步骤206中,响应于对目标应用的运行操作,从与其对应的子控制组中运行目标应用。
在一个具体示例中,图4示出了根据本发明一个实施例的目标应用运行流程示意图。
参考图4,在应用运行时,判断应用是否属于非系统组,若是,则从非系统组中运行,否则,在系统组中运行。
根据本实施例提供的方法200,通过设置在内核中的控制组内核接口,创建多个子控制组,为应用的运行提供了隔离环境,实现了不同资源需求的应用的隔离,提升了系统的稳定性。利用本发明的方案在进行应用的运行环境隔离时不依赖任何后台服务,没有服务占用资源,从而轻量化,简单化的实现不同的隔离环境,提升系统的稳定性。并且无需手动配置(支持定制化手动配置接口)。另外,在内核层实现,用户无感知,不依赖服务运行,无后台常驻服务,非常轻量化,无额外资源消耗。
图5示出了根据本发明一个实施例的应用运行装置500的结构示意图。该装置500驻留在计算设备中,计算设备驻留有操作系统,操作系统包括有内核,该装置500包括:相互耦接的创建模块502、分配模块504和运行模块506。其中,创建模块502适于基于设置在内核中的控制组内核接口,创建至少一个子控制组,其中,不同子控制组的资源分配情况不同。分配模块504适于根据目标应用的属性信息,将其分配至对应的子控制组中。运行模块506适于响应于对目标应用的运行操作,从与其对应的子控制组中运行。
图6示出了根据本发明一个实施例的应用运行装置500的运行原理图。参考图6,应用运行装置500默认实现了两个子控制组(系统组和非系统组),系统组为默认组,包括系统级服务,非系统组可以包括多个控制组,包括至少一个三方服务,在内核中还为用户提供了定制化的手动配置接口,用户可根据需求,通过配置接口形成其他子控制组,简单化,可扩展。通过在内核中形成多个子控制组,为应用的运行提供了隔离环境,实现了不同资源需求的应用的隔离,提升了系统的稳定性。
需要说明的是,本实施例提供的装置500的工作原理及流程与上述方法200相似,相关之处可参考对上述方法200的描述,在此不再赘述。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的较佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种应用运行方法,在计算设备中执行,所述计算设备驻留有操作系统,所述操作系统包括有内核,该方法包括:
基于设置在所述内核中的控制组内核接口,创建至少一个子控制组,其中,不同子控制组的资源分配情况不同;
根据目标应用的属性信息,将其分配至对应的子控制组中;
响应于对所述目标应用的运行操作,从与其对应的子控制组中运行所述目标应用。
2.如权利要求1所述的方法,其中,所述基于设置在所述内核中的控制组内核接口,创建至少一个子控制组,包括:
在所述内核初始化控制组内核接口期间,通过控制组内核接口的挂载函数创建根控制组;
在所述根控制组中创建至少一个子控制组,并对每个子控制组分配对应的资源。
3.如权利要求1所述的方法,其中,所述目标应用的属性信息至少包括应用类型,所述应用类型包括系统应用和非系统应用。
4.如权利要求1或3所述的方法,其中,所述方法还包括:
解析用于安装所述目标应用的安装包,以得到安装包文件;
判断所述安装包文件是否为可执行文件;
若是,则获取所述可执行文件的进程标识符;
若否,则直接安装所述目标应用。
5.如权利要求4所述的方法,其中,在获取所述可执行文件的进程标识符之前,还包括:
将所述可执行文件的文件名保存到预设的配置文件中,以对所述目标应用进行持久化配置。
6.如权利要求4所述的方法,其中,所述子控制组至少包括用于运行系统应用的系统组和用于运行非系统应用的非系统组;以及
将目标应用分配至对应的子控制组中,包括:若所述目标应用为系统应用,则将其分配至所述系统组中;
若所述目标应用为非系统应用,则将其分配至所述非系统组中。
7.如权利要求6所述的方法,其中,将目标应用分配至对应的子控制组中,包括:
将所述进程标识符写入对应的子控制组中。
8.一种应用运行装置,驻留在在计算设备,所述计算设备驻留有操作系统,所述操作系统包括有内核,该装置包括:
创建模块,适于基于设置在所述内核中的控制组内核接口,创建至少一个子控制组,其中,不同子控制组的资源分配情况不同;
分配模块,适于根据目标应用的属性信息,将其分配至对应的子控制组中;
运行模块,适于响应于对所述目标应用的运行操作,从与其对应的子控制组中运行所述目标应用。
9.一种计算设备,包括:
至少一个处理器;和
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-7中任一项所述方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-7中任一项所述的方法。
CN202310271491.2A 2023-03-17 2023-03-17 一种应用运行方法、装置、计算设备及存储介质 Pending CN116339757A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310271491.2A CN116339757A (zh) 2023-03-17 2023-03-17 一种应用运行方法、装置、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310271491.2A CN116339757A (zh) 2023-03-17 2023-03-17 一种应用运行方法、装置、计算设备及存储介质

Publications (1)

Publication Number Publication Date
CN116339757A true CN116339757A (zh) 2023-06-27

Family

ID=86892466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310271491.2A Pending CN116339757A (zh) 2023-03-17 2023-03-17 一种应用运行方法、装置、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN116339757A (zh)

Similar Documents

Publication Publication Date Title
CN107015845B (zh) Gpu虚拟化
US8560826B2 (en) Secure virtualization environment bootable from an external media device
US8578370B2 (en) Managing memory in multiple virtual machines
US10133504B2 (en) Dynamic partitioning of processing hardware
US8966130B2 (en) Tag allocation for queued commands across multiple devices
CN101159596B (zh) 用于布置服务器的方法和设备
US6718373B1 (en) Method and system for installing files in a computing system
US10346065B2 (en) Method for performing hot-swap of a storage device in a virtualization environment
US12067411B2 (en) Hot growing a cloud hosted block device
US20070038836A1 (en) Simulating partition resource allocation
US9830078B2 (en) System and method for pre-operating system memory map management to minimize operating system failures
CN110383255B (zh) 用于管理对物理设备的客户分区访问的方法和计算设备
CN116339757A (zh) 一种应用运行方法、装置、计算设备及存储介质
US11023139B2 (en) System for speculative block IO aggregation to reduce uneven wearing of SCMs in virtualized compute node by offloading intensive block IOs
US11487581B2 (en) Initialization data memory space allocation system
US11029868B1 (en) Initialization code/data memory mapping system
US11966609B1 (en) Zoned namespace storage device system
US11323331B2 (en) Cloud server and operating method of the same
US20240231650A9 (en) Microservice storage device system
US20240231677A9 (en) Reconfigurable microservice storage device system
CN115185634A (zh) 一种子系统实现方法及计算设备
CN114741194A (zh) I/o请求的处理方法及装置

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