CN114595061A - 资源配置方法及装置、电子设备和计算机可读存储介质 - Google Patents
资源配置方法及装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN114595061A CN114595061A CN202210217802.2A CN202210217802A CN114595061A CN 114595061 A CN114595061 A CN 114595061A CN 202210217802 A CN202210217802 A CN 202210217802A CN 114595061 A CN114595061 A CN 114595061A
- Authority
- CN
- China
- Prior art keywords
- target
- task
- resource
- processor
- amount
- 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
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种资源配置方法及装置、电子设备和计算机可读存储介质,可以应用于计算机技术领域和金融领域。该资源配置方法包括:获取任务列表,其中,任务列表包括目标任务的信息,目标任务的信息包括进程号和目标资源需求量,目标任务在分布式系统中的处理节点上运行,分布式系统中包括多个处理节点;根据任务列表,确定分布式系统中各个处理节点的可使用资源量;根据目标资源需求量和可使用资源量,确定目标任务的配置参数;以及根据配置参数,进行目标任务的资源配置。
Description
技术领域
本公开涉及计算机技术领域和金融领域,更具体地,涉及一种资源配置方法及装置、电子设备、计算机可读存储介质和一种计算机程序产品。
背景技术
随着计算机技术的发展,越来越多的用户选择使用分布式系统进行数据的存储和管理,分布式系统可以包括容器集群和传统物理集群。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:在传统物理集群中,部署架构的硬件资源通常远大于实际需求,并且不同租户共享一套数据库集群。
发明内容
有鉴于此,本公开提供了一种资源配置方法及装置、电子设备、计算机可读存储介质和计算机程序产品。
根据本公开的一个方面,提供了一种资源配置方法,包括:
获取任务列表,其中,上述任务列表包括目标任务的信息,上述目标任务的信息包括进程号和目标资源需求量,上述目标任务在分布式系统中的处理节点上运行,上述分布式系统中包括多个上述处理节点;
根据上述任务列表,确定上述分布式系统中各个上述处理节点的可使用资源量;
根据上述目标资源需求量和上述可使用资源量,确定上述目标任务的配置参数;以及
根据上述配置参数,进行上述目标任务的资源配置。
根据本公开的实施例,其中,上述目标任务还包括任务名称,每个上述任务名称对应一个或多个上述进程号;
上述方法还包括:
根据上述任务名称,创建处理器控制子模块和内存控制子模块;
根据上述进程号,在与上述任务名称相对应的上述处理器控制子系统和上述内存控制子系统上运行上述目标任务。
根据本公开的实施例,其中,上述目标资源需求量包括目标处理器核数,上述可使用资源量包括可使用处理器编号和可使用处理器核数;上述根据上述目标资源需求量和上述可使用资源量,确定上述目标任务的配置参数包括:
确定上述目标处理器核数与上述可使用处理器核数的数值关系;
响应于上述可使用处理器核数大于上述目标处理器核数,在上述可使用处理器编号中确定目标处理器和相对应的目标处理节点;
利用上述处理器控制子系统,设置用于处理上述目标任务的上述目标处理器和上述目标处理节点。
根据本公开的实施例,其中,上述可使用资源量还包括可使用内存量,上述方法还包括:
根据上述可使用内存量,利用上述内存控制子系统,设置用于处理上述目标任务的上述目标处理节点的预设内存量,其中,上述预设内存量小于上述可使用内存量。
根据本公开的实施例,上述目标资源需求量还包括目标内存占用量,上述方法还包括:
以预设时间间隔更新上述目标内存占用量;
在确定上述目标内存占用量大于等于上述预设内存量的情况下,停止执行上述目标任务;
在确定上述目标内存占用量小于上述预设内存量的情况下,开始执行上述目标任务。
根据本公开的实施例,还包括,在上述根据上述配置参数,进行上述目标任务的资源配置之后:
响应于确定上述目标任务完成执行,释放相应的已分配资源,其中,上述已分配资源包括上述目标处理器、上述目标处理节点和上述预设内存量。
根据本公开的另一个方面,提供了一种资源配置装置,包括:获取模块、第一确定模块、第二确定模块和配置模块。
其中,获取模块,用于获取任务列表,其中,上述任务列表包括目标任务的信息,上述目标任务的信息包括进程号和目标资源需求量,上述目标任务在分布式系统中的处理节点上运行,上述分布式系统中包括多个上述处理节点;
第一确定模块,用于根据上述任务列表,确定上述分布式系统中各个上述处理节点的可使用资源量;
第二确定模块,用于根据上述目标资源需求量和上述可使用资源量,确定上述目标任务的配置参数;以及
配置模块,用于根据上述配置参数,进行上述目标任务的资源配置。
根据本公开的另一个方面,提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个指令,
其中,当上述一个或多个指令被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上所述的方法。
根据本公开的另一个方面,提供了一种计算机可读存储介质,其上存储有可执行指令,上述可执行指令被处理器执行时使处理器实现如上所述的方法。
根据本公开的另一个方面,提供了一种计算机程序产品,上述计算机程序产品包括计算机可执行指令,上述计算机可执行指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,根据任务列表中的目标资源需求量和分布式系统中各个处理节点的可使用资源量,确定目标任务的配置参数,以便进行目标任务的资源配置。通过上述技术手段,至少部分的克服了现有技术中不同用户共享一套数据库集群,导致不同目标任务之间的资源竞争和故障传播的问题,进而实现了提高资源整体利用率的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用资源配置方法的系统架构;
图2示意性示出了根据本公开实施例的资源配置方法的流程图;
图3示意性示出了根据本公开实施例的确定目标任务的配置参数的方法流程图;
图4示意性示出了根据本公开的实施例的资源配置装置的框图;以及
图5示意性示出了根据本公开实施例的适于实现资源配置方法的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
随着计算机技术的发展,越来越多的用户选择使用分布式系统进行数据的存储和管理,分布式系统可以包括容器集群和传统物理集群。
在容器集群中,利用Kubernetes自身的资源隔离层,包括集群本身、命名空间、节点、pod和容器等,可以进行不同层面的资源隔离。
在传统物理集群中,不同用户共享一套数据库集群,容易产生资源竞争,而其中某个过于活跃的租户的工作负载,可能会影响到同一集群中其它租户的性能;另外,在传统物理集群中部署架构的硬件资源通常远大于业务实际需求,存在较多空闲资源,导致资源的利用率较低。
为了至少部分地解决相关技术中存在的技术问题,本公开提供了一种资源配置方法及装置、电子设备和计算机可读存储介质,可以应用于计算机技术领域和金融领域。该资源配置方法包括:获取任务列表,其中,任务列表包括目标任务的信息,目标任务的信息包括进程号和目标资源需求量,目标任务在分布式系统中的处理节点上运行,分布式系统中包括多个处理节点;根据任务列表,确定分布式系统中各个处理节点的可使用资源量;根据目标资源需求量和可使用资源量,确定目标任务的配置参数;以及根据配置参数,进行目标任务的资源配置。
需要说明的是,本公开实施例提供的资源配置的方法和装置可用于计算机技术领域和金融领域,例如进行银行网点之间的资源隔离。本公开实施例提供的资源配置的方法和装置也可用于除计算机技术领域和金融领域之外的任意领域,例如进行分布式系统中的资源分配。本公开实施例提供的资源配置的方法和装置的应用领域不做限定。
图1示意性示出了根据本公开实施例的可以应用资源配置方法的系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,服务器104和处理节点105。终端设备101、102、103和服务器104之间,服务器104和处理节点105之间可以通过有线和/或无线通信链路等进行链接。
用户可以使用终端设备101、102、103与服务器104交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器104可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所执行的任务提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的目标任务的信息等数据进行分析等处理,并将处理结果(例如根据目标任务的信息获取或生成的信息或数据等)发送给处理节点105,以便进行目标任务的资源配置。
处理节点105可以是分布式系统中按照协议完成计算工作的一个逻辑实体,可以包括执行某些工作的进程或机器。处理节点105可以包括无状态节点,无状态节点无需存储自己的中间状态信息,例如Nginx(HTTP和反向代理web服务器);处理节点105可以还包括有状态节点,有状态节点的状态和数据可以持久化到磁盘等介质,例如MySQL(关系型数据库管理系统)等。
需要说明的是,本公开实施例所提供的资源配置的方法一般可以由服务器104执行。相应地,本公开实施例所提供的资源配置的装置一般可以设置于服务器104中。本公开实施例所提供的资源配置的方法也可以由不同于服务器104且能够与终端设备101、102、103和/或服务器104通信的服务器或服务器集群执行。相应地,本公开实施例所提供的资源配置的装置也可以设置于不同于服务器104且能够与终端设备101、102、103和/或服务器104通信的服务器或服务器集群中。
例如,目标任务的信息可以原本存储在终端设备101、102、或103中的任意一个(例如,终端设备101,但不限于此)之中,或者存储在外部存储设备上并可以导入到终端设备101中。然后,终端设备101可以将目标任务的信息发送到服务器或服务器集群,并由接收该目标任务的信息的服务器或服务器集群来执行本公开实施例所提供的资源配置方法。
应该理解,图1中的终端设备、服务器和处理节点的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、服务器和处理节点。
图2示意性示出了根据本公开实施例的资源配置方法的流程图。
如图2所示,该资源配置方法包括操作S201~S204。
在操作S201,获取任务列表,其中,任务列表包括目标任务的信息,目标任务的信息包括进程号和目标资源需求量,目标任务在分布式系统中的处理节点上运行,分布式系统中包括多个处理节点。
根据本公开的实施例,目标任务可以包括分布式系统中不同用户各自运行的进程。
在操作S202,根据任务列表,确定分布式系统中各个处理节点的可使用资源量。
根据本公开的实施例,可使用资源量可以包括可使用处理器情况、可使用内存占用、可使用磁盘空间情况等。
在操作S203,根据目标资源需求量和可使用资源量,确定目标任务的配置参数。
根据本公开的实施例,配置参数可以包括处理器资源、内存资源、网卡资源等。
根据本公开的实施例,由于分布式系统的计算资源和存储资源基本采用单独部署原则,磁盘IO作为存储组件,在执行任务时需要反复读写磁盘IO中的文件,通常要求较低的读写延迟以确保分布式事务的性能,因此对于这种IO密集型组件可以单独部署一块SSD(固态硬盘),从磁盘物理层面与其他组件进行物理隔离。
在操作S204,根据配置参数,进行目标任务的资源配置。
根据本公开的实施例,根据任务列表中的目标资源需求量和分布式系统中各个处理节点的可使用资源量,确定目标任务的配置参数,以便进行目标任务的资源配置。通过上述技术手段,至少部分的克服了现有技术中不同用户共享一套数据库集群,导致不同目标任务之间的资源竞争和故障传播的问题,进而实现了提高资源整体利用率的技术效果。
下面参考图3,结合具体实施例对图2所示的方法做进一步说明。
根据本公开的实施例,目标任务还包括任务名称,每个任务名称对应一个或多个进程号;资源配置方法还包括:
根据任务名称,创建处理器控制子模块和内存控制子模块;根据进程号,在与任务名称相对应的处理器控制子系统和内存控制子系统上运行目标任务。
根据本公开的实施例,在CGroup(Control Groups,控制组)中,任务可以包括一个进程。
根据本公开的实施例,控制组可以提供一种机制,将一组任务和该组任务的子任务聚合或划分到有特定功能的层级结构中,控制组可以用来限制、控制一个任务群组的资源。
根据本公开的实施例,可以通过以下指令创建处理器控制子模块:
mkdir/sys/fs/cgroup/cpuset/$任务名称。
根据本公开的实施例,可以通过以下指令创建内存控制子模块:
mkdir/sys/fs/cgroup/memory/$任务名称。
根据本公开的实施例,可以通过以下指令将不同用户的进程运行在处理器控制子模块上:
echo$进程号>/sys/fs/cgroup/cpuset/$任务名/cgroup.procs。
根据本公开的实施例,处理器控制子模块可以包括基于CPU核心进行限制,例如可以限制目标任务使用哪些核。
根据本公开的实施例,可以通过以下指令将不同用户的进程运行在内存控制子模块上:
echo$进程号>/sys/fs/cgroup/memory/$任务名/cgroup.procs。
根据本公开的实施例,内存控制子模块可以限制不同用户的目标任务的内存使用量。
根据本公开的实施例,通过利用Linux内核自带的CGroup机制,可以实现对目标任务的资源配置和资源隔离。
图3示意性示出了根据本公开实施例的确定目标任务的配置参数的方法流程图。
如图3所示,该确定目标任务的配置参数的方法包括操作S301~S303。
在操作S301,确定目标处理器核数与可使用处理器核数的数值关系。
根据本公开的实施例,目标资源需求量包括目标处理器核数,可使用资源量包括可使用处理器编号和可使用处理器核数。
在操作S302,响应于可使用处理器核数大于目标处理器核数,在可使用处理器编号中确定目标处理器和相对应的目标处理节点。
在操作S303,利用处理器控制子系统,设置用于处理目标任务的目标处理器和目标处理节点。
根据本公开的实施例,cpuset可以为控制组中的目标任务分配单独的目标处理器和目标处理节点。
根据本公开的实施例,可以通过以下指令设置用于处理目标任务的目标处理器:
echo$CPU使用量>/sys/fs/cgroup/cpuset/$任务名/cpuset.cpus。
根据本公开的实施例,可以通过以下指令设置用于处理目标任务的目标处理节点:
echo$NUMA节点>/sys/fs/cgroup/cpuset/$任务名/cpuset.mems。
根据本公开的实施例,例如,目标处理器核数为3,而可使用处理器核数为2,则与该处理器相对应的处理节点就不是资源充足的处理节点。例如,目标处理器核数为3,而可使用处理器核数为4,则与该处理器相对应的处理节点是资源充足的处理节点,可以确定目标处理器和相对应的目标处理节点。
根据本公开的实施例,可以根据目标任务的资源需求量,利用处理器控制子系统,为不同用户的目标任务各自分配目标处理器和相对应的目标处理节点。
根据本公开的实施例,可使用资源量还包括可使用内存量,资源配置方法还包括:
根据可使用内存量,利用内存控制子系统,设置用于处理目标任务的目标处理节点的预设内存量,其中,预设内存量小于可使用内存量。
根据本公开的实施例,可以通过以下指令设置用于处理目标任务的预设内存量:
echo$新的内存使用量>/sys/fs/cgroup/memory/$任务名/memory.limit_in_bytes。
根据本公开的实施例,在分布式系统中,通过利用控制组对目标任务进行资源配置,使得不同用户之间是完全隔离的,在数据安全方面,无法进行跨用户的数据访问,由此实现了各用户数据独立,从而保障了用户数据的安全;在资源使用方面,用户可以独享其资源配置,由此避免了不同任务之间的资源竞争和故障传播的问题。
根据本公开的实施例,目标资源需求量还包括目标内存占用量,方法还包括:
以预设时间间隔更新目标内存占用量;在确定目标内存占用量大于等于预设内存量的情况下,停止执行目标任务;在确定目标内存占用量小于预设内存量的情况下,开始执行目标任务。
根据本公开的实施例,可以通过以下指令为目标任务设置暂停标识:
echo 1>/sys/fs/cgroup/memory/$任务名/memory.oom_control。
根据本公开的实施例,可以通过设置暂停标识,防止运行目标任务时,因为内存不足而在发生OOM(Out of Memory,内存溢出)。
根据本公开的实施例,还包括,在根据配置参数,进行目标任务的资源配置之后:
响应于确定目标任务完成执行,释放相应的已分配资源,其中,已分配资源包括目标处理器、目标处理节点和预设内存量。
根据本公开的实施例,可以结合分布式系统中的监控装置,实时查看分布式系统中的资源消耗情况。当发现处理器、内存无法满足目标资源需求量时,可以动态调整处理器控制子模块和内存控制子模块中的资源配置,以使资源配置满足目标任务实际运行中所需的资源需求。
图4示意性示出了根据本公开的实施例的资源配置装置的框图。
如图4所示,资源配置装置400包括:获取模块401、第一确定模块402、第二确定模块403和配置模块404。
获取模块401,用于获取任务列表,其中,任务列表包括目标任务的信息,目标任务的信息包括进程号和目标资源需求量,目标任务在分布式系统中的处理节点上运行,分布式系统中包括多个处理节点。
第一确定模块402,用于根据任务列表,确定分布式系统中各个处理节点的可使用资源量。
第二确定模块403,用于根据目标资源需求量和可使用资源量,确定目标任务的配置参数。
配置模块404,用于根据配置参数,进行目标任务的资源配置。
根据本公开的实施例,根据任务列表中的目标资源需求量和分布式系统中各个处理节点的可使用资源量,确定目标任务的配置参数,以便进行目标任务的资源配置。通过上述技术手段,至少部分的克服了现有技术中不同用户共享一套数据库集群,导致不同目标任务之间的资源竞争和故障传播的问题,进而实现了提高资源整体利用率的技术效果。
根据本公开的实施例,目标任务还包括任务名称,每个任务名称对应一个或多个进程号。
根据本公开的实施例,资源配置装置400还包括:创建模块和运行模块。
创建模块,用于根据任务名称,创建处理器控制子模块和内存控制子模块。
运行模块,用于根据进程号,在与任务名称相对应的处理器控制子系统和内存控制子系统上运行目标任务。
根据本公开的实施例,目标资源需求量包括目标处理器核数,可使用资源量包括可使用处理器编号和可使用处理器核数。
根据本公开的实施例,第二确定模块403包括:第一确定单元、第二确定单元和第一设置单元。
第一确定单元,用于确定目标处理器核数与可使用处理器核数的数值关系。
第二确定单元,用于响应于可使用处理器核数大于目标处理器核数,在可使用处理器编号中确定目标处理器和相对应的目标处理节点。
第一设置单元,用于利用处理器控制子系统,设置用于处理目标任务的目标处理器和目标处理节点。
根据本公开的实施例,可使用资源量还包括可使用内存量。
根据本公开的实施例,第二确定模块403还包括:第二设置单元。
第二设置单元,用于根据可使用内存量,利用内存控制子系统,设置用于处理目标任务的目标处理节点的预设内存量,其中,预设内存量小于可使用内存量。
根据本公开的实施例,目标资源需求量还包括目标内存占用量。
根据本公开的实施例,资源配置装置400还包括:更新模块、停止模块和执行模块。
更新模块,用于以预设时间间隔更新目标内存占用量。
停止模块,用于在确定目标内存占用量大于等于预设内存量的情况下,停止执行目标任务。
执行模块,用于在确定目标内存占用量小于预设内存量的情况下,开始执行目标任务。
根据本公开的实施例,资源配置装置400还包括:释放模块。
释放模块,用于响应于确定目标任务完成执行,释放相应的已分配资源,其中,已分配资源包括目标处理器、目标处理节点和预设内存量。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块401、第一确定模块402、第二确定模块403和配置模块404中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,获取模块401、第一确定模块402、第二确定模块403和配置模块404中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块401、第一确定模块402、第二确定模块403和配置模块404中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中资源配置装置部分与本公开的实施例中资源配置方法部分是相对应的,资源配置装置部分的描述具体参考资源配置方法部分,在此不再赘述。
图5示意性示出了根据本公开实施例的适于实现资源配置方法的电子设备的框图。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,根据本公开实施例的计算机电子设备500包括处理器501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。处理器501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 503中,存储有电子设备500操作所需的各种程序和数据。处理器501、ROM502以及RAM 503通过总线504彼此相连。处理器501通过执行ROM 502和/或RAM 503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM502和RAM 503以外的一个或多个存储器中。处理器501也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备500还可以包括输入/输出(I/O)接口505,输入/输出(I/O)接口505也连接至总线504。电子设备500还可以包括连接至I/O接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器501执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 502和/或RAM 503和/或ROM 502和RAM 503以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的资源配置方法。
在该计算机程序被处理器501执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分509被下载和安装,和/或从可拆卸介质511被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (10)
1.一种资源配置方法,包括:
获取任务列表,其中,所述任务列表包括目标任务的信息,所述目标任务的信息包括进程号和目标资源需求量,所述目标任务在分布式系统中的处理节点上运行,所述分布式系统中包括多个所述处理节点;
根据所述任务列表,确定所述分布式系统中各个所述处理节点的可使用资源量;
根据所述目标资源需求量和所述可使用资源量,确定所述目标任务的配置参数;以及
根据所述配置参数,进行所述目标任务的资源配置。
2.根据权利要求1所述的方法,其中,所述目标任务还包括任务名称,每个所述任务名称对应一个或多个所述进程号;
所述方法还包括:
根据所述任务名称,创建处理器控制子模块和内存控制子模块;
根据所述进程号,在与所述任务名称相对应的所述处理器控制子系统和所述内存控制子系统上运行所述目标任务。
3.根据权利要求2所述的方法,其中,所述目标资源需求量包括目标处理器核数,所述可使用资源量包括可使用处理器编号和可使用处理器核数;所述根据所述目标资源需求量和所述可使用资源量,确定所述目标任务的配置参数包括:
确定所述目标处理器核数与所述可使用处理器核数的数值关系;
响应于所述可使用处理器核数大于所述目标处理器核数,在所述可使用处理器编号中确定目标处理器和相对应的目标处理节点;
利用所述处理器控制子系统,设置用于处理所述目标任务的所述目标处理器和所述目标处理节点。
4.根据权利要求3所述的方法,其中,所述可使用资源量还包括可使用内存量,所述方法还包括:
根据所述可使用内存量,利用所述内存控制子系统,设置用于处理所述目标任务的所述目标处理节点的预设内存量,其中,所述预设内存量小于所述可使用内存量。
5.根据权利要求4所述的方法,所述目标资源需求量还包括目标内存占用量,所述方法还包括:
以预设时间间隔更新所述目标内存占用量;
在确定所述目标内存占用量大于等于所述预设内存量的情况下,停止执行所述目标任务;
在确定所述目标内存占用量小于所述预设内存量的情况下,开始执行所述目标任务。
6.根据权利要求1所述的方法,还包括,在所述根据所述配置参数,进行所述目标任务的资源配置之后:
响应于确定所述目标任务完成执行,释放相应的已分配资源,其中,所述已分配资源包括所述目标处理器、所述目标处理节点和所述预设内存量。
7.一种资源配置装置,包括:
获取模块,用于获取任务列表,其中,所述任务列表包括目标任务的信息,所述目标任务的信息包括进程号和目标资源需求量,所述目标任务在分布式系统中的处理节点上运行,所述分布式系统中包括多个所述处理节点;
第一确定模块,用于根据所述任务列表,确定所述分布式系统中各个所述处理节点的可使用资源量;
第二确定模块,用于根据所述目标资源需求量和所述可使用资源量,确定所述目标任务的配置参数;以及
配置模块,用于根据所述配置参数,进行所述目标任务的资源配置。
8.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个指令,
其中,当所述一个或多个指令被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有可执行指令,所述可执行指令被处理器执行时使处理器实现权利要求1至6中任一项所述的方法。
10.一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述计算机可执行指令在被执行时用于实现权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210217802.2A CN114595061A (zh) | 2022-03-07 | 2022-03-07 | 资源配置方法及装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210217802.2A CN114595061A (zh) | 2022-03-07 | 2022-03-07 | 资源配置方法及装置、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114595061A true CN114595061A (zh) | 2022-06-07 |
Family
ID=81807992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210217802.2A Pending CN114595061A (zh) | 2022-03-07 | 2022-03-07 | 资源配置方法及装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114595061A (zh) |
-
2022
- 2022-03-07 CN CN202210217802.2A patent/CN114595061A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10235480B2 (en) | Simulation of internet of things environment | |
CN109408205B (zh) | 基于hadoop集群的任务调度方法和装置 | |
US10324754B2 (en) | Managing virtual machine patterns | |
US20130019015A1 (en) | Application Resource Manager over a Cloud | |
US20150127808A1 (en) | Using cloud resources to improve performance of a streaming application | |
US10055393B2 (en) | Distributed version control of orchestration templates | |
CN113076224B (zh) | 数据备份方法、数据备份系统、电子设备及可读存储介质 | |
CN113132400B (zh) | 业务处理方法、装置、计算机系统及存储介质 | |
CN112152988B (zh) | 用于异步nbmp请求处理的方法、系统以及计算机设备和介质 | |
US20190310856A1 (en) | Executing instructions based on a shared physical register | |
US20150373078A1 (en) | On-demand helper operator for a streaming application | |
US20230214265A1 (en) | High availability scheduler event tracking | |
US11983576B2 (en) | Accessing topological mapping of cores | |
CN114595061A (zh) | 资源配置方法及装置、电子设备和计算机可读存储介质 | |
US11954534B2 (en) | Scheduling in a container orchestration system utilizing hardware topology hints | |
CN112506781B (zh) | 测试监控方法、装置、电子设备、存储介质及程序产品 | |
CN114968552A (zh) | 缓存分配方法、装置、设备、存储介质和程序产品 | |
CN114201508A (zh) | 数据处理方法、数据处理装置、电子设备和存储介质 | |
CN113781154A (zh) | 一种信息回滚方法、系统、电子设备及存储介质 | |
CN114035864A (zh) | 接口处理方法、接口处理装置、电子设备和存储介质 | |
CN112988604A (zh) | 对象测试方法、测试系统、电子设备及可读存储介质 | |
US10606681B2 (en) | Incremental dump with fast reboot | |
CN114185682B (zh) | 日志输出方法、装置、电子设备及存储介质 | |
CN113127142A (zh) | 在物理系统中创建虚拟机的方法和装置 | |
CN112579282A (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 |