CN110162407A - 一种资源管理方法及装置 - Google Patents

一种资源管理方法及装置 Download PDF

Info

Publication number
CN110162407A
CN110162407A CN201910473204.XA CN201910473204A CN110162407A CN 110162407 A CN110162407 A CN 110162407A CN 201910473204 A CN201910473204 A CN 201910473204A CN 110162407 A CN110162407 A CN 110162407A
Authority
CN
China
Prior art keywords
resource
user
space
development
target
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
CN201910473204.XA
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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201910473204.XA priority Critical patent/CN110162407A/zh
Publication of CN110162407A publication Critical patent/CN110162407A/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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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

Abstract

本发明实施例公开了一种资源管理方法及装置,涉及金融科技(Fintech)领域,其中方法包括:接收用户输入的配置信息后,获取开发系统中的多个资源组,进而确定用户所属的目标资源组,若目标资源组对应的一个或多个资源空间中存在标识与第一资源空间的标识匹配的目标资源空间,则将目标资源空间中的资源分配给用户,以使用户使用目标资源空间中的资源进行开发工作。本发明实施例中,通过使用用户所属的资源组中的资源执行用户的开发工作,可以避免用户的开发工作对其他资源组中的用户的开发工作造成干扰,从而实现了多用户的并行开发工作;且,通过使用多个资源组和多个资源组对应的资源空间管理资源,可以提高资源管理的灵活性。

Description

一种资源管理方法及装置
技术领域
本发明涉及金融科技(Fintech)的数据处理领域,尤其涉及一种资源管理方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,然而,由于金融行业具有安全性和实时性的要求,从而也对技术提出了更高的要求。以银行为例,银行在执行任务的过程中通常需要各种类型的开发环境,比如与办公类型相关的开发环境、与用户交易类型相关的开发环境、与安全管理类型相关的开发环境等,用户可以通过启动开发环境执行代码开发、程序开发等开发工作。通过这些开发环境的支持,银行中的各个部门可以正常运行,共同致力于银行的发展。
Jupyter系统是现有较为常用的一种深度学习开发系统,用户可以登录到Jupyter系统中执行开发工作,比如,若在银行中设置Jupyter系统,则银行中的各个用户均可以登录Jupyter系统开发自己需要的开发环境。然而,Jupyter系统中的资源是共享的,从而使得Jupyter系统无法支持多用户的开发工作;举例来说,若用户A和用户B同时使用Jupyter系统中的某一资源开发两种不同的开发环境,则用户A和用户B可能需要采用竞争的模型来获取该资源,最终资源被分配给哪个用户是无法确定的,从而使得Jupyter系统中的资源管理过程较为混乱,无法实现过用户的并行开发工作。如果不按各个业务部门的资源需求进行资源的隔离,就会出现资源被某一个业务的应用全部占用而导致其他业务应用的任务得不到资源被阻塞。
综上,目前亟需一种资源管理方法,用以实现多用户的并行开发工作,提高资源管理的灵活性。
发明内容
本发明实施例提供一种资源管理方法,用以实现多用户的并行开发工作,提高资源管理的灵活性。
第一方面,本发明实施例提供的一种资源管理方法,包括:
接收用户在开发系统中输入的配置信息,所述配置信息中包括第一资源空间的标识;进一步地,获取所述开发系统中设置的多个资源组,并确定所述用户所属的目标资源组;若所述目标资源组对应的一个或多个资源空间中存在标识与所述第一资源空间的标识匹配的目标资源空间,则将所述目标资源空间中的资源分配给所述用户,以使所述用户使用所述目标资源空间中的资源进行开发工作。
在上述设计中,通过使用用户所属的资源组中的资源执行用户的开发工作,可以避免用户的开发工作对其他资源组中的用户的开发工作造成干扰,从而使得多个用户无需通过竞争即可实现并行开发工作;且,通过使用多个资源组和多个资源组对应的资源空间管理资源,可以使得开发系统中的资源相互隔离,如此,用户可以根据需要使用资源空间中的资源创建开发环境,从而提高了资源管理的灵活性。
在一种可能的设计中,所述接收用户在开发系统中输入的配置信息之前,还包括:接收用户的划分指令,根据所述划分指令在所述开发系统中设置至少一个资源组和所述至少一个资源组分别对应的一个或多个资源空间;进一步地,获取开发系统中的资源,并将所述资源划分到所述一个或多个资源空间中,所述资源包括中央处理器CPU资源、图形处理器GPU资源、内部存储器资源中的任意一项或任意多项。
在上述设计中,通过将开发系统中的资源划分到多个资源组分别对应的资源空间中,可以使得不同资源组中的用户使用所属资源组中的资源执行开发工作,从而实现了对资源的灵活管理;且,上述技术方案支持用户自定义划分方式,即用户可以根据自己的需要对资源进行划分,从而使得资源管理方式更加符合实际情况,提高用户的满意度。
在一种可能的设计中,所述将所述目标资源空间中的资源分配给所述用户,以使所述用户使用所述目标资源空间中的资源进行开发工作,包括:创建所述目标资源空间中的资源对应的第一编辑器,并接收所述用户的开发指令,若成功启动所述第一编辑器,则通过所述第一编辑器调用所述目标资源空间中的资源响应所述用户的开发工作。
在上述设计中,通过设置第一编辑器(比如开发环境)调用目标资源空间中的资源,使得用户通过启动第一编辑器即可使用目标资源空间中的资源,从而操作简单、便于实现;且,第一编辑器与目标资源空间中的资源相对应,从而其他的编辑器无法使用该资源,从而可以很好地将资源进行隔离,保证多用户的并行开发工作的正常进行,提高开发工作的效率。
在一种可能的设计中,所述方法还包括:若未成功启动所述第一编辑器,则重启所述第一编辑器,并更新预设数据库中所述第一编辑器对应的重启次数;若确定所述预设数据库中所述第一编辑器对应的重启次数大于预设阈值,则将所述第一编辑器的状态标记为不可用状态。
在上述设计中,通过统计第一编辑器重启的次数,可以及时获取第一编辑器的状态,从而使得用户可以准确掌握开发工作的执行情况;相应的,一旦发现第一编辑器为不可用状态,用户即可不再使用第一编辑器编辑代码,从而可以保证用户开发工作的顺利进行,保证开发得到代码的准确性。
在一种可能的设计中,所述配置信息中还包括目标资源的数据量;所述将所述目标资源空间中的资源分配给所述用户之前,还包括:确定所述目标资源空间中可用资源的数据量大于所述目标资源的数据量。
在上述设计中,通过预先对比目标资源空间中的资源余量与用户所需的资源量,可以在资源余量不足时及时提醒用户,从而可以避免用户使用不足的资源进行开发工作导致的开发中断的问题,提高开发工作的效率。
第二方面,本发明实施例提供的一种资源管理装置,所述装置包括:
收发模块,用于接收用户在开发系统中输入的配置信息,所述配置信息中包括第一资源空间的标识;
获取模块,用于获取所述开发系统中设置的多个资源组,并确定所述用户所属的目标资源组;
处理模块,用于若确定所述目标资源组对应的一个或多个资源空间中存在标识与所述第一资源空间的标识匹配的目标资源空间,则将所述目标资源空间中的资源分配给所述用户,以使所述用户使用所述目标资源空间中的资源进行开发工作。
在一种可能的设计中,所述处理模块还用于:接收用户的划分指令,根据所述划分指令在所述开发系统中设置至少一个资源组和所述至少一个资源组分别对应的一个或多个资源空间;所述获取模块还用于:获取开发系统中的资源,所述资源包括中央处理器CPU资源、图形处理器GPU资源、内部存储器资源中的任意一项或任意多项;所述处理模块还用于:将所述资源划分到所述一个或多个资源空间中。
在一种可能的设计中,所述处理模块具体用于:创建所述目标资源空间中的资源对应的第一编辑器,并接收所述用户的开发指令,若成功启动所述第一编辑器,则通过所述第一编辑器调用所述目标资源空间中的资源响应所述用户的开发工作。
在一种可能的设计中,所述处理模块还用于:若未成功启动所述第一编辑器,则重启所述第一编辑器,并更新预设数据库中所述第一编辑器对应的重启次数;若确定所述预设数据库中所述第一编辑器对应的重启次数大于预设阈值,则将所述第一编辑器的状态标记为不可用状态。
在一种可能的设计中,所述配置信息中还包括目标资源的数据量;所述获取模块还用于:确定所述目标资源空间中可用资源的数据量大于所述目标资源的数据量。
第三方面,本发明实施例提供的一种计算机可读存储介质,包括指令,当其在计算机的处理器上运行时,使得计算机的处理器执行如上述第一方面或第一方面任意所述的方法。
第四方面,本发明实施例提供的一种计算机程序产品,当其在计算机上运行时,使得计算机执行如上述第一方面或第一方面任意所述的方法。
本发明的这些实现方式或其他实现方式在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种服务器集群系统的架构示意图;
图2为本发明实施例提供的一种资源管理方法对应的流程示意图;
图3为本发明实施例提供的一种资源划分方式的示意图;
图4为本发明实施例提供的一种资源管理装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
金融科技(Fintech)是指将信息技术融入金融领域后,为金融领域带来的一种新的创新科技,通过使用先进的信息技术辅助实现金融作业、交易执行以及金融系统改进,可以提升金融系统的处理效率、业务规模,并可以降低成本和金融风险。以金融领域中的银行为例,银行中可以设置有多个部门,比如办公部门、交易部门、信贷部门等,每个部门所需要的开发环境通常是不同的;举例来说,虚拟局域网为一种常用的办公开发环境,用户可以在外地出差时使用虚拟局域网访问公司内部的资源,并可以将数据传输至虚拟局域网中;业务生成环境为一种常用的交易开发环境,用户通过业务生成环境可以执行业务创建、业务测试以及业务上线等工作。
服务器集群系统是金融领域常用的一种分布式开发系统,用户可以在服务器集群系统中创建多个开发环境,并可以通过登录开发环境来调用服务器集群系统中的资源执行开发工作。银行中的多个部门可以共同使用服务器集群系统中的资源,然而,在多个部门使用资源的过程中,可能会由于服务器集群系统中的资源被某一部门所占用使得其他部门的开发任务得不到资源,从而导致开发工作被阻塞。
基于此,本申请提出一种资源管理方法,可以灵活地管理开发系统中的资源,实现多用户的并行开发工作。
图1为本发明实施例提供的一种服务器集群系统的系统架构示意图,如图1所示,服务器集群系统中可以包括至少一个服务器(如图1所示意出的设备101、设备102、设备103和设备104)和管理至少一个服务器的中心服务器110。其中,中心服务器110可以与至少一个服务器中的每个服务器连接,从而实现与每个服务器的通信;以中心服务器110与服务器101的通信过程为例,中心服务器110可以通过有线方式(比如网线、光纤)与服务器105连接,或者也可以通过无线方式(比如蓝牙、卫星)与服务器105连接,具体不作限定。
如图1所示,在一个示例中,中心服务器110还可以与客户端设备200连接,用户可以通过客户端设备200实现对服务器集群系统的开发工作。以创建开发环境为例,具体实施中,用户可以通过客户端设备200向中心服务器110发送开发请求(用于创建开发环境);相应地,中心服务器110中可以设置有预设分配机制,若接收到客户端设备200发送的开发请求,则中心服务器110可以按照预设分配机制从服务器101~服务器104中确定目标服务器,进而可以将开发请求对应的开发工作分配给目标服务器。举例来说,表1为本发明实施例提供的一种预设分配机制的示意表。
表1:一种预设分配机制的示意
开发环境的数据量(M) 目标服务器
(0,50] 服务器101
(50,120] 服务器103
(120,200] 服务器102
(200,500] 服务器104
(500,700] 服务器101、服务器104
如表1所示,预设分配机制中可以包括开发请求对应的任务(即开发环境)的数据量与目标服务器的对应关系,若确定开发环境所需的数据量小于或等于50M,则中心服务器110可以将开发任务分配给服务器101,以使服务器101创建开发环境;若确定开发环境所需的数据量大于50M且小于或等于120M,则中心服务器110可以将开发任务分配给服务器103,以使服务器103创建开发环境;若确定开发环境的数据量大于120M且小于或等于200M,则中心服务器110可以将开发任务分配给服务器102,以使服务器102创建开发环境;若确定开发环境的数据量大于200M且小于或等于500M,则中心服务器110可以将开发任务分配给服务器104,以使服务器104创建开发环境;若确定开发环境的数据量大于500M且小于或等于700M,则中心服务器110可以将开发任务分配给服务器101和服务器104,以使服务器101和服务器104共同创建开发环境。相应地,若目标服务器包括多个,则中心服务器110可以在多个目标服务器完成任务后,获取多个目标服务器分别对应的任务的处理结果,合并得到开发环境。
需要说明的是,在表1中,中心服务器110可以根据开发环境所需资源的数据量确定目标服务器,需要说明的是,表1仅是一种示例性的简单说明,其所列举的预设分配机制仅是为了便于说明方案,并不构成对方案的限定。在其它的示例中,中心服务器110也可以根据服务器101~服务器104的业务能力确定目标服务器,比如显卡类型、计算状态等,具体不作限定。
以服务器101创建开发环境为例,在一个示例中,若由于服务器101发生故障而导致开发环境无法继续被处理,则中心服务器110可以从服务器102~服务器104中选取任意一个或任意多个服务器(比如服务器102)作为目标服务器,进而可以将开发任务分配给服务器102,以使服务器102创建开发环境。
基于图1所示意的服务器集群系统,图2为本发明实施例提供的一种资源管理方法对应的流程示意图,该方法可以用于在图1所示意的服务器集群系统中执行开发工作,该方法包括:
步骤201,接收用户在开发系统中输入的配置信息。
在一个示例中,客户端设备200上可以设置有全球广域网(World Wide Web,WEB)浏览器,用户可以通过在web浏览器上输入预设IP地址登录开发平台的界面;相应地,开发平台的界面上可以设置有一个或多个功能图标,比如“资源管理”功能图标、“创建开发环境”功能图标等,用户可以通过触发一个或多个功能图标实现开发工作。
本发明实施例中,在使用服务器集群系统中的资源执行开发工作之前还可以对服务器集群系统中的资源进行划分。其中,服务器集群系统中的资源可以包括中央处理器(Central Processing Unit,CPU)资源、图形处理器(Graphics Processing Unit,GPU)资源、内部存储器资源中的任意一项或任意多项。
具体实施中,对服务器集群系统中的资源进行划分的方式可以有多种,在一种可能的实现方式中,可以根据用户的设置对服务器集群系统中的资源进行划分;具体地说,若客户端设备200检测到用户触发了开发平台界面上的“资源管理”功能图标,则可以提示用户在界面上输入资源管理信息;其中,资源管理信息可以包括资源组的数量、资源组的名称、资源组对应的一个或多个资源空间的标识以及一个或多个资源空间占用的资源。进一步地,客户端设备200可以根据资源管理信息生成资源管理指令,进而可以将资源管理指令发送给中心服务器110。相应地,中心服务器110接收到资源管理指令后,可以获取服务器集群系统中的资源,并可以根据资源管理指令对服务器集群系统中的资源进行划分。在另一个示例中,可以自动对服务器集群系统中的资源进行划分,比如,由于每个业务部门所需的资源通常是不同的,因此,可以根据使用服务器集群系统中的资源的业务部门的数量对服务器集群系统中的资源进行划分;或者,由于每个用户所需的资源是不同的,因此,可以根据使用服务器集群系统中的资源的用户的数量对服务器集群系统中的资源进行划分;或者,由于每个项目所占用的资源通常是不同的,因此,还可以根据使用服务器集群系统中的资源的项目的数量对服务器集群系统中的资源进行划分,具体不作限定。
以银行为例,银行中可以设置有多个业务部门,比如营销部门、运营部门、技术部门、运维部门、人力资源部门、客户服务部门等,多个业务部门可以使用服务器集群系统中的资源执行开发工作。具体实施中,可以根据银行中的多个业务部门设置多个资源组,并可以将每个业务部门需要的资源放在该业务部门对应的资源组中,如此,可以将多个业务部门的资源进行隔离,使得多个部门可以并行地执行开发工作。
图3为本发明实施例提供的一种对银行的服务器集群系统中的资源进行划分的示意图,如图3所示,通过为每一个业务部门设置一个资源组可以得到营销组、运营组、技术组、运维组、人力资源组、客户服务组六个资源组,且每个业务部门对应的资源组中可以设置有一个或多个资源空间,每个资源空间中可以存储有部分资源。比如,营销部门中可以设置有资源空间301、资源空间302和资源空间303,资源空间301中可以包括服务器103中的50M的CPU资源、20M的GPU资源,而资源空间303中可以包括服务器101中的15M内部存储器资源和服务器104中的20M的CPU资源。
在一个示例中,资源空间还可以与GPU的显卡类型进行绑定,一个资源空间可以绑定一种显卡类型;比如,资源空间305可以绑定的GPU显卡类型为Tesla V100,如此,若用户所要执行的开发工作对应的GPU显卡类型为Tesla V100,则用户可以选择资源空间305执行开发工作。本发明实施例中,资源空间支持的GPU显卡类型可以为Tesla V100、Tesla P40等。
本发明实施例中,通过将开发系统的资源划分到多个资源组分别对应的资源空间中,可以使得不同资源组中的用户使用所属资源组中的资源执行开发工作,从而实现了对资源的灵活管理;且,上述技术方案支持用户自定义划分方式,即用户可以根据自己的需要对资源进行划分,从而使得资源管理方式更加符合实际情况,提高用户的满意度。
进一步地,用户可以根据划分得到的资源组和资源组对应的一个或多个资源空间执行开发工作。具体地说,若客户端设备200检测到用户触发了开发平台界面上的“创建开发环境”功能图标,则可以提示用户在界面上输入配置开发环境的信息,配置开发环境的信息可以包括开发环境调用的资源空间的标识、开发环境所能使用的CPU的数量、环境镜像的类型、工作存储空间的地址、数据存储空间的地址等。其中,由于在执行开发工作之前,用户已经预先对服务器集群系统中的资源进行划分,因此,用户只要输入资源空间的标识,即可确定开发工作所能使用的资源,具体可以包括CPU资源、GPU资源和内存资源的来源以及数据量上限、GPU显卡的类型等;开发环境所能使用的CPU的数量可以为一个百分比数值,比如,若资源空间中包括的CPU的数量为4,用户输入的CPU数量为2,则开发工作所能使用的CPU的时间为200%,相应地,可以使用资源空间中的4个CPU分别执行50%的开发工作;环境镜像的类型可以包括Tensorflow、PyTorch、MXNET等机器学习框架标准环境镜像,或者也可以为用户根据实际需求自定义的环境镜像,具体不作限定;工作存储空间可以用于存储创建得到的开发环境,而数据存储空间可以用于存储用户使用开发环境进行开发工作得到的开发结果;举例来说,若开发环境为机器学习模型,则开发结果可以为机器学习模型的预测结果。
在一个示例中,可以设置工作存储空间的属性,比如,若工作存储空间的属性为用户A,则该工作存储空间中的数据可以仅对用户A可见,即其他用户无法获取该工作存储空间中的数据;若工作存储空间的属性为营销组,则该工作存储空间中的数据可以对营销组中的全部用户可见,其他组中的用户无法获取该工作存储空间中的数据。通过设置工作存储空间的属性,可以实现多个资源组内部的数据分享,且可以避免获取其他组的数据,从而可以保证数据的安全性。进一步地,还可以设置数据存储空间的属性,本发明实施例中,数据存储空间的属性可以设置为用户可见。
步骤202,获取开发系统中设置的多个资源组,并确定用户所属的目标资源组。
以营销部门的用户A为例,在一种可能的实现方式中,用户A在初次登录开发平台时,开发平台可以获取用户A的身份信息并存储,用户A的身份信息可以包括用户A所属的资源组、用户A是否具有创建开发环境的权限、用户是否具有设置资源空间的权限、用户是否具有存储数据的权限等。相应地,用户A在后续登录开发平台时,若接收到用户A设置的配置信息,则可以获取用户A的身份信息,并使用用户A的身份信息确定用户A所属的资源组。在该示例中,由于用户A为营销部门中的用户,因此用户A所属的资源组可以为营销资源组。
步骤203,若目标资源组对应的一个或多个资源空间中存在标识与第一资源空间的标识匹配的目标资源空间,则将目标资源空间中的资源分配给用户,以使用户使用目标资源空间中的资源进行开发工作。
具体实施中,确定用户A所属的资源组后,可以对用户进行身份验证。举例说明,由于用户A所属的资源组为营销资源组,营销资源组中包括资源空间301~资源空间303,因此,若用户A设置的配置信息为使用资源空间301中45MCPU资源和10MGPU资源创建开发环境,则说明用户A想要使用营销资源组中的资源执行开发工作,由于用户A即为营销资源组中的用户,因此可以将资源空间301中的资源分配给用户,使得用户使用资源空间301中的资源进行开发工作;相应地,若用户A设置的配置信息为资源空间304,则说明用户A想要使用运营资源组中的资源执行开发工作,由于用户A并非为运营资源组中的用户,因此,可以无需将资源空间304中的资源分配给用户,并可以通过开发平台的界面向用户A显示“身份验证未通过”的文字提示。
在一个示例中,在用户A的身份验证通过后,还可以对用户A设置的配置信息进行数据验证。具体地说,可以根据开发平台中存储的用户A的身份信息确定用户A是否具有创建开发环境的权限,若用户A不具有创建开发环境的权限,则可以通过开发平台的界面向用户A显示“权限验证未通过”的文字提示;相应地,若用户A具有创建开发环境的权限,则可以获取资源空间301中可用资源的数据量,并确定资源空间301中可用资源的数据量是否大于配置信息中需要的资源的数据量,若资源空间301中可用资源的数据量(比如40MCPU资源和10MGPU资源)小于配置信息中需要的资源的数据量,说明资源空间301中可用资源的数据量不足以创建开发环境,因此,开发环境创建失败,并可以通过开发平台的界面向用户A显示“资源不足”的文字提示;若资源空间301中可用资源的数据量大于或等于配置信息中需要的资源的数据量(比如50MCPU资源和15MGPU资源),说明资源空间301中可用资源的数据量足以创建开发环境。
进一步地,可以根据开发平台中存储的用户A的身份信息确定用户A是否具有存储数据的权限,若用户A不具有存储数据的权限,则可以通过开发平台的界面向用户A显示“权限验证未通过”的文字提示;相应地,若用户A具有存储数据的权限,则可以在配置信息中设置的工作存储空间的地址处设置第一存储空间,后续用户创建得到的开发环境可以存储在第一存储空间中,并可以在配置信息中设置的数据存储空间的地址处设置第二存储空间,后续用户使用开发环境得到的数据可以存储在第二存储空间中。
本发明实施例中,通过预先对比目标资源空间中的资源余量与用户所需的资源量,可以在资源余量不足时及时提醒用户,从而可以避免用户使用不足的资源进行开发工作导致的开发中断的问题,提高开发工作的效率;且,通过设置身份验证和权限验证,可以对用户进行实时监控,从而提高资源管理的灵活性和安全性。
若上述校验过程均通过,则客户端设备200可以根据用户的配置信息生成开发指令,并可以将开发指令发送给中心服务器110;相应地,中心服务器110接收到开发指令后,可以根据从服务器101~服务器104中选择处于空闲状态的一个或多个备选服务器(比如服务器101、服务器103);进一步地,中心服务器110可以通过解析开发指令得到配置信息,并可以从服务器101和服务器103中选择与配置信息中包括的GPU显卡类型匹配的服务器。若服务器101和服务器103的GPU显卡类型均不匹配,则中心服务器110可以向客户端设备200发送执行失败的消息,并可以通过开发平台的界面向用户A显示“创建失败”的文字提示。在一个示例中,若与GPU显卡类型匹配的服务器包括多个,则中心服务器110可以从多个匹配的服务器中选择性能最好的一个作为目标服务器,比如,目标服务器可以为多个匹配的服务器中资源余量最多、CPIU核数最多、硬件配置最好的服务器。
若目标服务器为服务器101,则中心服务器110可以根据配置信息中包括的环境镜像参数控制服务器101拉取环境镜像,若服务器集群系统的镜像库中存在配置信息中包括的环境镜像参数,则可以创建得到开发环境(比如开发环境a);进一步地,若开发环境a创建成功,则服务器101还可以生成开发环境a对应的链接,并可以将该链接通过中心服务器110发送给客户端设备200,如此,用户A可以通过点击该链接访问工作环境a,并可以通过该工作环境a调用相关的资源执行开发工作。在一个示例中,若服务器集群系统的镜像库中不存在配置信息中包括的环境镜像参数,则开发环境创建失败,如此,中心服务器110可以向客户端设备200发送创建失败的消息,并可以通过开发平台的界面向用户A显示“创建失败”的文字提示。
本发明实施例中,创建得到的开发环境可以存储在工作存储空间中,比如,用户A在配置信息中设置的工作存储空间为“D:\营销部门\开发环境”,则创建得到的开发环境a可以存储在“D:\营销部门\开发环境”中。相应地,营销部门的其他员工均可以访问“D:\营销部门\开发环境”,即可以使用用户A创建得到的开发环境a执行开发工作;如此,可以使得同一个资源组中的用户共享开发环境a,从而提高开发的效率。
在一种可能的实现方式中,客户端设备200若检测到用户点击开发环境a对应的链接,则可以生成开发指令,并可以将开发指令发送给中心服务器110;相应地,中心服务器110可以尝试启动开发环境a,并可以按照预设周期或实时监控服务器集群系统中开发环境a的启动情况;若检测到开发环境a成功启动,则中心服务器110可以通过开发环境a调用资源空间301中的资源响应用户的开发工作。本发明实施例中,使用开发环境a执行开发工作得到的开发数据可以存储在数据存储空间中,比如,用户A在配置信息中设置的数据存储空间为“D:\营销部门\数据信息”,则使用开发环境a执行开发工作得到的开发数据可以存储在“D:\营销部门\数据信息”中。相应地,数据存储空间可以仅对用户A开放,从而使得用户A可以快速获取到数据信息,提高开发的效率。
相应地,若检测到开发环境a未成功启动,则中心服务器110可以尝试重启开发环境a,并可以记录在成功启动开发环境a之前重启的次数,若确定重启的次数大于预设阈值时开发环境a还未成功启动,则可以将开发环境a的状态标记为不可用状态;相应地,中央服务器110可以从工作存储空间中删除开发环境a,并可以释放开发环境a在启动过程中占用的资源。比如,若预设阈值为5,则中心服务器110尝试重启开发环境a的次数大于或等于5,而开发环境a还未启动成功,则可以删除开发环境a,并可以释放开发环境a占用的资源“服务器101中的CPU资源45M和GPU资源10M”。
本发明实施例中,通过统计开发环境重启的次数,可以及时获取开发环境的状态,从而使得用户可以准确掌握开发工作的执行情况;相应的,一旦发现开发环境为不可用状态,用户即可不再使用开发环境编辑代码,从而可以保证用户开发工作的顺利进行,保证开发得到代码的准确性。
需要说明的是,本发明实施例中的开发环境即为第一编辑器,服务器集群系统即为开发系统。
本发明的上述实施例中,接收用户在开发环境中输入的配置信息,并获取开发环境中设置的多个资源组,进而确定用户所属的目标资源组,若目标资源组对应的一个或多个资源空间中存在标识与第一资源空间的标识匹配的目标资源空间,则将目标资源空间中的资源分配给用户,以使用户使用目标资源空间中的资源进行开发工作。本发明实施例中,通过使用用户所属的资源组中的资源执行用户的开发工作,可以避免用户的开发工作对其他资源组中的用户的开发工作造成干扰,从而使得多个用户无需通过竞争即可实现并行开发工作;且,通过使用多个资源组和多个资源组对应的资源空间管理资源,可以使得开发环境中的资源相互隔离,如此,用户可以根据需要使用资源空间中的资源,从而提高了资源管理的灵活性。
针对上述方法流程,本发明实施例还提供一种资源管理装置,该装置的具体内容可以参照上述方法实施。
图4为本发明实施例提供的一种资源管理装置的结构示意图,包括:
收发模块401,用于接收用户在开发环境中输入的配置信息,所述配置信息中包括第一资源空间的标识;
获取模块402,用于获取所述开发环境中设置的多个资源组,并确定所述用户所属的目标资源组;
处理模块403,用于若确定所述目标资源组对应的一个或多个资源空间中存在标识与所述第一资源空间的标识匹配的目标资源空间,则将所述目标资源空间中的资源分配给所述用户,以使所述用户使用所述目标资源空间中的资源进行开发工作。
可选地,所述处理模块403还用于:
接收用户的划分指令,根据所述划分指令在所述开发环境中设置至少一个资源组和所述至少一个资源组分别对应的一个或多个资源空间;
所述获取模块402还用于:获取开发环境中的资源,所述资源包括中央处理器CPU资源、图形处理器GPU资源、内部存储器资源中的任意一项或任意多项;
所述处理模块403还用于:将所述资源划分到所述一个或多个资源空间中。
可选地,所述处理模块403具体用于:
创建所述目标资源空间中的资源对应的第一编辑器;
接收所述用户的开发指令,若成功启动所述第一编辑器,则通过所述第一编辑器调用所述目标资源空间中的资源响应所述用户的开发工作。
可选地,所述处理模块403还用于:
若未成功启动所述第一编辑器,则重启所述第一编辑器,并更新预设数据库中所述第一编辑器对应的重启次数;若确定所述预设数据库中所述第一编辑器对应的重启次数大于预设阈值,则将所述第一编辑器的状态标记为不可用状态。
可选地,所述配置信息中还包括目标资源的数据量;
所述获取模块402还用于:确定所述目标资源空间中可用资源的数据量大于所述目标资源的数据量。
从上述内容可以看出:本发明的上述实施例中,接收用户在开发环境中输入的配置信息,并获取开发环境中设置的多个资源组,进而确定用户所属的目标资源组,若目标资源组对应的一个或多个资源空间中存在标识与第一资源空间的标识匹配的目标资源空间,则将目标资源空间中的资源分配给用户,以使用户使用目标资源空间中的资源进行开发工作。本发明实施例中,通过使用用户所属的资源组中的资源执行用户的开发工作,可以避免用户的开发工作对其他资源组中的用户的开发工作造成干扰,从而使得多个用户无需通过竞争即可实现并行开发工作;且,通过使用多个资源组和多个资源组对应的资源空间管理资源,可以使得开发环境中的资源相互隔离,如此,用户可以根据需要使用资源空间中的资源,从而提高了资源管理的灵活性。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机的处理器上运行时,使得计算机的处理器执行如上述图2或图2任意所述的资源管理方法。
基于同一发明构思,本发明实施例还提供了一种计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机的处理器执行如上述图2或图2任意所述的资源管理方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (12)

1.一种资源管理方法,其特征在于,所述方法包括:
接收用户在开发系统中输入的配置信息,所述配置信息中包括第一资源空间的标识;
获取所述开发系统中设置的多个资源组,并确定所述用户所属的目标资源组;
若所述目标资源组对应的一个或多个资源空间中存在标识与所述第一资源空间的标识匹配的目标资源空间,则将所述目标资源空间中的资源分配给所述用户,以使所述用户使用所述目标资源空间中的资源进行开发工作。
2.根据权利要求1所述的方法,其特征在于,所述接收用户在开发系统中输入的配置信息之前,还包括:
接收用户的划分指令,根据所述划分指令在所述开发系统中设置至少一个资源组和所述至少一个资源组分别对应的一个或多个资源空间;
获取开发系统中的资源,所述资源包括中央处理器CPU资源、图形处理器GPU资源、内部存储器资源中的任意一项或任意多项;
将所述资源划分到所述一个或多个资源空间中。
3.根据权利要求1所述的方法,其特征在于,所述将所述目标资源空间中的资源分配给所述用户,以使所述用户使用所述目标资源空间中的资源进行开发工作,包括:
创建所述目标资源空间中的资源对应的第一编辑器;
接收所述用户的开发指令,若成功启动所述第一编辑器,则通过所述第一编辑器调用所述目标资源空间中的资源响应所述用户的开发工作。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若未成功启动所述第一编辑器,则重启所述第一编辑器,并更新预设数据库中所述第一编辑器对应的重启次数;若确定所述预设数据库中所述第一编辑器对应的重启次数大于预设阈值,则将所述第一编辑器的状态标记为不可用状态。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述配置信息中还包括目标资源的数据量;
所述将所述目标资源空间中的资源分配给所述用户之前,还包括:
确定所述目标资源空间中可用资源的数据量大于所述目标资源的数据量。
6.一种资源管理装置,其特征在于,所述装置包括:
收发模块,用于接收用户在开发系统中输入的配置信息,所述配置信息中包括第一资源空间的标识;
获取模块,用于获取所述开发系统中设置的多个资源组,并确定所述用户所属的目标资源组;
处理模块,用于若确定所述目标资源组对应的一个或多个资源空间中存在标识与所述第一资源空间的标识匹配的目标资源空间,则将所述目标资源空间中的资源分配给所述用户,以使所述用户使用所述目标资源空间中的资源进行开发工作。
7.根据权利要求6所述的装置,其特征在于,所述处理模块还用于:接收用户的划分指令,根据所述划分指令在所述开发系统中设置至少一个资源组和所述至少一个资源组分别对应的一个或多个资源空间;
所述获取模块还用于:获取开发系统中的资源,所述资源包括中央处理器CPU资源、图形处理器GPU资源、内部存储器资源中的任意一项或任意多项;
所述处理模块还用于:将所述资源划分到所述一个或多个资源空间中。
8.根据权利要求6所述的装置,其特征在于,所述处理模块具体用于:
创建所述目标资源空间中的资源对应的第一编辑器;
接收所述用户的开发指令,若成功启动所述第一编辑器,则通过所述第一编辑器调用所述目标资源空间中的资源响应所述用户的开发工作。
9.根据权利要求8所述的装置,其特征在于,所述处理模块还用于:
若未成功启动所述第一编辑器,则重启所述第一编辑器,并更新预设数据库中所述第一编辑器对应的重启次数;若确定所述预设数据库中所述第一编辑器对应的重启次数大于预设阈值,则将所述第一编辑器的状态标记为不可用状态。
10.根据权利要求6至9中任一项所述的装置,其特征在于,所述配置信息中还包括目标资源的数据量;
所述获取模块还用于:确定所述目标资源空间中可用资源的数据量大于所述目标资源的数据量。
11.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机的处理器上运行时,使得计算机的处理器执行如权利要求1至5任一项所述的方法。
12.一种计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行如权利要求1至5任一项所述的方法。
CN201910473204.XA 2019-05-31 2019-05-31 一种资源管理方法及装置 Pending CN110162407A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910473204.XA CN110162407A (zh) 2019-05-31 2019-05-31 一种资源管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910473204.XA CN110162407A (zh) 2019-05-31 2019-05-31 一种资源管理方法及装置

Publications (1)

Publication Number Publication Date
CN110162407A true CN110162407A (zh) 2019-08-23

Family

ID=67630793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910473204.XA Pending CN110162407A (zh) 2019-05-31 2019-05-31 一种资源管理方法及装置

Country Status (1)

Country Link
CN (1) CN110162407A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110806937A (zh) * 2019-10-16 2020-02-18 湖北美和易思教育科技有限公司 一种人工智能教学科研平台gpu调度方法及系统
CN111258680A (zh) * 2020-01-21 2020-06-09 腾讯科技(深圳)有限公司 资源加载方法和装置、存储介质及电子装置
CN111400051A (zh) * 2020-03-31 2020-07-10 京东方科技集团股份有限公司 一种资源调度方法、装置及系统
CN112422325A (zh) * 2020-10-30 2021-02-26 蒋光洵 基于多云混合平台的管理方法及系统
CN113568758A (zh) * 2021-09-23 2021-10-29 深圳市信润富联数字科技有限公司 Gpu资源池化方法、系统、设备及计算机可读存储介质
CN114095200A (zh) * 2021-09-28 2022-02-25 阿里巴巴(中国)有限公司 资源访问权限管理方法、装置、电子设备及介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110806937A (zh) * 2019-10-16 2020-02-18 湖北美和易思教育科技有限公司 一种人工智能教学科研平台gpu调度方法及系统
CN111258680A (zh) * 2020-01-21 2020-06-09 腾讯科技(深圳)有限公司 资源加载方法和装置、存储介质及电子装置
CN111258680B (zh) * 2020-01-21 2021-12-07 腾讯科技(深圳)有限公司 资源加载方法和装置、存储介质及电子装置
CN111400051A (zh) * 2020-03-31 2020-07-10 京东方科技集团股份有限公司 一种资源调度方法、装置及系统
CN111400051B (zh) * 2020-03-31 2023-10-27 京东方科技集团股份有限公司 一种资源调度方法、装置及系统
CN112422325A (zh) * 2020-10-30 2021-02-26 蒋光洵 基于多云混合平台的管理方法及系统
CN113568758A (zh) * 2021-09-23 2021-10-29 深圳市信润富联数字科技有限公司 Gpu资源池化方法、系统、设备及计算机可读存储介质
CN114095200A (zh) * 2021-09-28 2022-02-25 阿里巴巴(中国)有限公司 资源访问权限管理方法、装置、电子设备及介质
CN114095200B (zh) * 2021-09-28 2023-12-01 阿里巴巴(中国)有限公司 资源访问权限管理方法、装置、电子设备及介质

Similar Documents

Publication Publication Date Title
CN110162407A (zh) 一种资源管理方法及装置
CN104618693B (zh) 一种基于云计算的监控视频在线处理任务管理方法及系统
US10616132B2 (en) Managing user privileges for computer resources in a networked computing environment
CN110163474A (zh) 一种任务分配的方法及设备
US20200364608A1 (en) Communicating in a federated learning environment
CN103365725B (zh) 在多个云之间动态分配工作负荷部署单元的方法和系统
US9218196B2 (en) Performing pre-stage replication of data associated with virtual machines prior to migration of virtual machines based on resource usage
US8424059B2 (en) Calculating multi-tenancy resource requirements and automated tenant dynamic placement in a multi-tenant shared environment
CN100428168C (zh) 管理虚拟机的中央处理单元利用的方法及系统
CN108885568A (zh) 在按需代码执行环境处处理先已存在的数据集
CN109643312A (zh) 托管查询服务
CN108369537A (zh) 启用fpga的计算实例
CN111901294A (zh) 一种构建在线机器学习项目的方法及机器学习系统
US10019293B2 (en) Enhanced command selection in a networked computing environment
US20210120092A1 (en) Adaptive data fetching from network storage
CN106716968A (zh) 账户管理方法、装置及账户管理系统
US20140325077A1 (en) Command management in a networked computing environment
CN115033340A (zh) 一种宿主机的选择方法及相关装置
US9372731B1 (en) Automated firmware settings framework
CN102511041A (zh) 将因果律归因于程序执行能力修改和动态修改程序执行能力
US10423398B1 (en) Automated firmware settings management
US9471784B1 (en) Automated firmware settings verification
US20190377890A1 (en) Rule set-based authorization for data pool
CN115328611A (zh) 虚拟机管理方法、装置、服务器及可读存储介质
CN114070847B (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