本申请涉及计算机技术领域,具体而言,涉及一种资源分配方法、装置、计算机可读介质及电子设备。
背景技术:
目前在工程项目实施中的报价、硬件设施资源申请等环节,通常都需要编拟资源分配清单作为实施依据。现有资源分配清单的编拟主要是通过办公文字编辑软件或者办公表格编辑软件的方式,然而,通过办公软件实现资源分配的方式往往存在着专业化程度不够,资源分配不合理等诸多问题。
技术实现要素:
本申请的一个目的在于提出一种资源分配方法,能够快速制定资源分配清单,实现资源分配专业化与合理化。
根据本申请实施例的一方面,申请了一种资源分配方法,所述方法包括:
根据目标项目的各个资源池的资源需求量生成所述目标项目的资源需求总量;
根据当前资源信息对所述目标项目的各个资源池进行资源分配,生成资源分配清单;
基于所述资源分配清单计算资源分配总量;
若所述资源分配总量和所述资源需求总量不匹配,则生成资源调整方案以重新分配。
根据本申请实施例的一方面,申请了一种资源分配装置,包括:
需求量生成模块,用于根据目标项目的各个资源池的资源需求量生成所述目标项目的资源需求总量;
清单生成模块,用于根据当前资源信息对所述目标项目的各个资源池进行资源分配,生成资源分配清单;
计算模块,用于基于所述资源分配清单计算资源分配总量;
调整方案生成模块,用于若所述资源分配总量和所述资源需求总量不匹配,生成资源调整方案以重新分配。
在一个实施例中,所述装置还包括:
第一显示模块,用于接收用户对项目管理界面的触发指令,显示项目管理界面;
创建模块,用于根据所述用户在所述项目管理界面上的创建指令,创建目标项目及所述目标项目的各个资源池。
在一个实施例中,所述需求量生成模块包括:
第一编辑单元,接收所述用户对所述项目管理界面上各个资源池对应的资源数量编辑项、参数名称编辑项以及资源总量编辑项的编辑操作,确定所述各个资源池的资源需求量;
处理单元,根据所述各个资源池的资源需求量,得到所述目标项目的资源需求总量。
在一个实施例中,所述装置还包括:
第一显示模块,用于接收用户对资源管理界面的触发指令,显示资源管理界面,所述资源管理界面包括多个资源名称选项以及各个所述资源名称选项对应的参数名称编辑项和参数数值编辑项;
当前资源模块,用于根据所述用户对所述参数名称编辑项和所述参数数值编辑项的编辑操作,得到当前资源信息。
在一个实施例中,所述清单生成模块包括:
界面显示单元,用于接收用户对资源分配界面的触发指令,显示资源分配界面,所述资源分配界面包括所述目标项目以及所述目标项目的各个资源池;
第二编辑单元,用于接收所述用户根据当前资源信息对所述资源分配界面上各个资源池对应的资源名称编辑项和资源数量编辑项的编辑操作,生成资源分配清单。
在一个实施例中,所述调整方案生成模块进一步用于:
若所述资源分配清单的资源分配总量超过所述资源需求总量,则减少所述目标项目的各个资源池的资源分配量;
若所述资源需求总量超过所述资源分配清单的资源分配总量,则减少所述目标项目的各个资源池的资源需求量。
在一个实施例中,所述装置还包括:
导出模块,用于响应用户触发的导出指令,按照所述导出指令导出调整后的资源分配清单,其中,所述导出指令包括资源清单导出形式,所述资源定制清单导出形式包括html形式或样式表或脚本形式。
在一个实施例中,所述装置还包括:
检索模块,用于响应用户触发的检索指令,按照所述检索指令显示检索界面,所述检索界面用于供所述用户根据项目名称对所述项目进行检索。
在一个实施例中,所述装置还包括:
协作编辑模块,用于接收用户对协作编辑界面的触发指令,向所述用户以及其他用户显示协作编辑界面,所述协作编辑界面用于供所述用户与所述其他用户进行协作编辑。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的资源分配方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的资源分配方法。
本申请的实施例提供的技术方案可以包括以下有益效果:本申请提供的技术方案,通过当前资源信息对目标项目的各个资源池进行资源分配,对分配得到的资源分配清单计算资源分配总量,若资源分配总量与资源需求总量不匹配,则生成资源调整方案以重新分配,通过本申请的技术方案能够实现对项目中资源分配方案的调整,有效解决资源分配不合理问题,提高资源分配清单编辑工作的效率。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
在附图中:
图1示出了根据本申请一个实施例的资源分配方法应用的系统构架图。
图2a-2e示出了根据本申请一个实施例的资源分配方法所应用的资源分配系统在用户终端显示的界面图。
图3示出了根据本申请一个实施例的资源分配方法的流程图。
图4示出了根据本申请另一个实施例的资源分配方法的流程图。
图5示出了根据本申请一个实施例的步骤s310的详细流程图。
图6示出了根据本申请另一个实施例的资源分配方法的流程图。
图7示出了根据本申请一个实施例的步骤s320的详细流程图。
图8示出了根据本申请一个实施例的资源分配装置的框图。
图9示出了根据本申请一个实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本申请的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本申请的各方面变得模糊。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本发明实施例的资源分配方法或资源分配装置的示例性系统架构100的示意图。
如图1所示,本发明系统的结构组成是:该系统是由浏览器、服务器和数据库的三层架构所组成,下面分别说明这三层构件的功能。
第一层是浏览器:该系统与用户直接进行交互的界面部件,藉由浏览器呈现的人机交互界面主要设有如下三个功能单元:资源管理单元,项目管理单元和资源分配单元。
资源管理单元,用于统计当前资源信息,具体的,通过接收用户在资源管理界面的编辑指令,生成当前资源信息,用户通过在资源管理界面上的编辑操作进行资源创建和相关参数的配置。在本发明的一个实施例中,在该操作界面上,可以包括多个资源名称选项,比如服务器m1、服务器m2、服务器m3、服务器r1、服务器r2、电源r、配电模块r、云虚拟机v1、cpup262、硬盘ssd等等,每个资源名称选项对应有参数名称编辑项和参数数值编辑项,用于供用户输入对应资源的参数信息,进行资源统计与管理,例如对于服务器r1,其对应的参数名称可以包括有型号名称、cpu核数、内存大小、硬盘大小、电源类型、配电模块等等。在本发明的一个实施例中,参数名称可以是由用户自由输入定义,也可以使用系统内置的参数名称。在本发明的一个实施例中,用户还可以配置资源间的关联关系,对于配套的产品形成产品包,例如服务器和其专用的电源部件。
项目管理单元,用于创建新项目,并在项目中构建资源池,不同需求方的资源需求对应不同的资源池。
资源分配单元,作为该交互界面中的关键构件,用于通过选择项目和资源等操作进行资源分配形成资源分配清单,计算资源分配清单的资源分配总量,对资源分配方案进行动态调整。在本发明的一个实施例中,如果资源分配系统计算得出的结果是资源分配清单的资源分配总量超过资源需求总量,则需要减少目标项目的各个资源池的资源分配量;如果资源分配系统计算得出的结果是资源需求总量超过资源清单的资源分配量,这说明资源分配方的当前资源不足以满足资源需求方的资源需求量,此时则需要向资源需求方请求降低资源需求量,然后根据降低后的资源需求量重新分配资源。
第二层是服务器:该系统的控制核心和操作中枢部件,负责对包括自身和其他两个部件的统筹调控,提供上层浏览器端所需服务,封装业务逻辑,形成功能性接口,例如资源管理服务,项目管理服务,资源分配服务,动态计算服务,用户管理服务等,通过这些服务实现浏览器端所需的功能逻辑。
第三层是数据库:作为该系统的资源池,用于在该系统进行资源分配的整个过程中,提供各种不同资源的支持;包括资源参数、资源关系、项目数据、用户信息等,为上层服务器端提供数据存储能力,在本发明的一个实施例中,该数据库可以部署于云服务器上,实现云端数据备份。
下面结合图2a-2e描述根据本申请实施例的资源分配方法所应用的藉由浏览器呈现的人机交互界面的界面图。
首先需要说明的是,本发明实施例提供的资源分配方法,可适用于包括一个或者多个控件的任意界面,包括但不限于:应用程序(application,app)的操作界面、网页界面等。
为了描述方便,本发明实施例以图2a-2e所示的操作界面为例进行描述。在本实施例中,所述操作界面包括资源管理界面、项目管理界面、资源分配界面和协作编辑界面。需要说明的是,图2a-2e仅仅是操作界面的一种示例,任何图标的位置、形状不构成对本发明实施例的一种限定。
参见图2a,图2a为资源分配系统在用户终端显示的资源管理界面,资源分配系统接收用户对资源管理界面的触发指令,在用户终端显示界面上显示资源管理界面,在资源管理界面上,用户可以通过光标或触控手势等方式对应用元素执行对应的添加和/或设置和/或编辑操作命令。此外,资源管理模块还可根据用户操作快捷键(例如键盘快捷键)的请求,执行对应的操作命令。如图2a所示,资源管理界面包括了资源名称选项以及各个资源名称选项对应的参数名称编辑项和参数数值编辑项。用户可以通过资源管理界面中资源名称选项旁边的“+”图标创建新的资源名称,并自定义该资源名称对应的参数名称和参数数值等信息。参数名称编辑项和参数数值编辑项可以是由用户自由输入定义,或者使用系统内置的参数名称(系统根据资源名称判断提供何种参数名称供选择),也可以由其它已创建的资源组成(系统将把已创建的资源定义为新创建资源的子部件)。当用户在资源管理界面完成了对资源名称的创建,以及对该资源名称对应的参数名称编辑项和参数数值编辑项的编辑操作,可通过点击或触摸界面上的“保存”按钮对已编辑内容进行保存,从而得到当前资源信息。
参见图2b,图2b为资源分配系统在用户终端显示的项目管理界面,资源分配系统接收用户对资源管理界面的触发指令,在用户终端显示界面上显示资源管理界面,在资源管理界面上,用户可以通过光标或触控手势等方式对应用元素执行对应的添加和/或设置和/或编辑操作命令。此外,资源管理模块还可根据用户操作快捷键(例如键盘快捷键)的请求,执行对应的操作命令。如图2b所示,用户可以通过“+”图标创建新的项目名称和对应的资源池,每个资源池都对应资源数量编辑项、参数名称编辑项以及资源总量编辑项,用户可以根据资源需求方的资源需求量对资源池对应的编辑项进行编辑,当编辑完成后,通过点击或触摸界面上的“保存”按钮对已编辑内容进行保存,从而得到对应项目的资源需求总量。
图2c是资源分配系统在用户终端显示的资源分配界面,资源分配系统接收用户对资源分配界面的触发指令,在用户终端显示界面上显示资源分配界面,资源分配界面包括了已创建项目列表以及已创建项目对应的各个资源池,每个资源池都对应资源名称编辑项和资源数量编辑项,用户可以根据图2a所示资源管理界面保存得到的当前资源信息和图2b所示项目管理界面保存得到的项目的资源需求总量对每个资源池对应的资源名称编辑项和资源数量编辑项进行编辑操作,当编辑完成后,通过点击或触摸界面上的“保存”按钮对已编辑内容进行保存,从而得到对应项目的资源分配清单。在资源分配界面上,还配置有“导出清单”按钮,用户通过触发按钮,可以导出保存得到的资源分配清单,其中资源定制清单导出形式包括html形式或样式表或脚本形式。
图2d是在用户终端上显示的计算调整界面。用户通过点击或触摸资源分配界面上的“计算调整”按钮后,弹出计算调整界面。在计算调整界面上显示有计算结果和若干调整方案,用户根据计算结果和调整方案进行选择,在选择其中某个调整方案并点击界面上的“确认调整”后,资源池的资源将重新得到调整。
图2e是资源分配系统在用户终端显示的协作编辑界面,协作编辑界面包括搜索框和已创建项目。用户通过搜索框功能可以通过项目名称对已创建项目进行检索,此外,不同用户在登录系统后还可以对已创建项目进行共享编辑。
根据本申请的一个实施例,提供了一种资源分配方法。该资源分配方法可以应用于上述资源分配系统102,也可以应用于上述终端设备101中的一个或多个,本示例性实施例中对此不做特殊限定。
如图3所示,所述方法包括:
步骤s310、根据目标项目的各个资源池的资源需求量生成所述目标项目的资源需求总量;
步骤s320、根据当前资源信息对所述目标项目的各个资源池进行资源分配,生成资源分配清单;
步骤s330、基于所述资源分配清单计算资源分配总量;
步骤s340、若所述资源分配总量和所述资源需求总量不匹配,则生成资源调整方案以重新分配。
下面对这些步骤进行详细描述。
在步骤310中,根据目标项目的各个资源池的资源需求量生成所述目标项目的资源需求总量。
在工程项目中,往往会涉及到对项目资源进行分配的问题,资源分配方在进行资源分配前,需要确定每个资源需求方的资源需求量,然后根据资源需求方的需求量向其进行资源分配。
在本实施例中,资源是工程项目中所涉及的各种资源,包括服务器、硬盘、内存、虚拟机以及处理器等各种设施资源,目标项目是进行资源分配的对象,目标项目中创建有多个资源池,不同的资源池对应不同的资源需求方,根据资源需求方的资源需求量确定出各个资源池的资源需求量,从而生成目标项目的资源需求总量。
资源需求量可以用资源数量和参数信息进行表示,比如说某一需求量为“服务器2台,cpu为8核,内存为12g”,其中,参数信息可以是产品资源所包括的所有参数信息,包括但不限于型号名称、cpu核数、内存大小、硬盘大小、电源类型、配电模块等。
步骤s320、根据当前资源信息对所述目标项目的各个资源池进行资源分配,生成资源分配清单。
在该步骤中,当前资源信息是对资源分配方所拥有的资源进行统计得到的,资源分配方需要根据当前资源信息向各个资源池进行分配资源,以满足各个资源需求方的需求。举例来说,当资源池1的资源需求量为“服务器2台,cpu为8核,内存为12g”时,资源分配方根据资源池1的资源需求量查找当前资源信息中是否有满足资源池1的资源需求量的资源,如果有,则向资源池1分配服务器2台,cpu为8核,内存为12g的资源。值得一提的是,在实际工程项目的资源分配中,当前资源中往往存在参数信息不完全符合的情况,比如说,当资源池1的资源需求量为“服务器2台,cpu为8核,内存为12g”时,而资源分配方的当前资源信息中只有4核8g的服务器1台、4核5g的服务器1台、4核10g的服务器1台,则资源分配方在进行资源分配时,向资源池1分配的应是1台4核8g的服务器和1台4核5g的服务器,因为这样的分配方式是最能够达到资源需求方的资源需求量的方式。
资源分配方在对各个资源池进行按需分配之后,统计各个资源池所分配到的资源情况,即生成对应的资源分配清单。
步骤s330、基于所述资源分配清单计算资源分配总量。
在该步骤中,资源分配清单包括了各个资源池对应的资源分配量,统计各个资源池的资源分配量之和即得到资源分配总量。
步骤s340、若所述资源分配总量和所述资源需求总量不匹配,则生成资源调整方案以重新分配。
在根据步骤s310得到资源需求总量以及步骤s330得到资源分配总量之后,比较资源需求总量与资源分配总量,如果两者不相匹配,则资源分配系统会生成资源调整方案,资源调整方案的生成逻辑包括:减少资源池的资源需求量,或者减少资源池的资源分配量。资源需求总量与资源分配总量不匹配是指两者不相等的情况,比如说,资源需求总量中的cpu是64核,但资源分配总量中cpu是48核,则认定两者不匹配。
在一个实施例中,步骤s340具体包括:
若所述资源分配清单的资源分配总量超过所述资源需求总量,则减少所述目标项目的各个资源池的资源分配量;
若所述资源需求总量超过所述资源分配清单的资源分配总量,则减少所述目标项目的各个资源池的资源需求量。
在该实施例中,如果资源分配系统计算得出的结果是资源分配清单的资源分配总量超过资源需求总量,则需要减少目标项目的各个资源池的资源分配量;如果资源分配系统计算得出的结果是资源需求总量超过资源清单的资源分配量,这说明资源分配方的当前资源不足以满足资源需求方的资源需求量,此时则需要向资源需求方请求降低资源需求量,然后根据降低后的资源需求量重新分配资源。
值得说明的是,在生成资源调整方案时虽然是通过资源分配总量与资源需求总量进行比较,但在资源调整方案仍然是针对具体资源池的调整方案,比如说,当计算结果为资源分配清单的资源分配总量中cpu核数超出6个,内存超出10g,则根据计算结果得到的调整方案是:降低资源池1的cpu核数为1,降低资源池2的cpu核数为1,降低资源池1的内存为2g,降低资源池2的内存为1g;或者,降低资源池1的cpu核数为2,降低资源池2的内存为5g等等,总之,调整方案可以是一种或多种,根据调整方案进行重新分配能够使得资源分配更加合理。
本申请提供的技术方案,通过结合当前资源信息和目标项目的资源需求总量对目标项目的各个资源池进行资源分配,对分配得到的资源分配清单计算资源分配总量,若资源分配总量与资源需求总量不匹配,则生成资源调整方案以重新分配,实现对项目中资源分配方案的调整,有效解决资源分配不合理问题,提高资源分配清单编辑工作的效率。
在一个实施例中,资源分配清单还可以进行导出,以方便用户进行查看、分享。在该实施例中,所述方法还包括:
响应用户触发的导出指令,按照所述导出指令导出调整后的资源分配清单,其中,所述导出指令包括资源清单导出形式,所述资源定制清单导出形式包括html形式或样式表或脚本形式。
为了便于用户对资源清单的获取,通过在系统中设置导出功能,以使用户选择所需要的资源清单导出形式得到调整后的资源分配清单,资源清单导出形式包括html形式或样式表或脚本形式,该脚本可以为javascript脚本,也可以是其他语言脚本,具体可以根据需求而灵活设置。
在一个实施例中,所述方法还包括:
响应用户触发的检索指令,按照所述检索指令显示检索界面,所述检索界面用于供所述用户根据项目名称对所述项目进行检索。
为了便于理解,可以参见图2e,通过在输入框中输入已创建的项目的名称,实现对项目的检索,可以方便用户快速获取到相关项目信息。
现有资源分配清单的编辑缺乏协作机制,部分资源分配清单涉及的资源数量较大,需要不同单位的多人进行协作编辑,现有技术没有考虑多用户环境下的编辑需要。
基于此,在一个实施例中,所述方法还包括:
接收用户对协作编辑界面的触发指令,向所述用户以及其他用户显示协作编辑界面,所述协作编辑界面用于供所述用户与所述其他用户进行协作编辑。
为了便于理解,可以参见图2e,在协作编辑界面上,不同的用户在登录资源分配系统后都可以对保存的项目进行共享编辑,有效地进行多人协作,达到多用户环境下根据项目资源需求快速定制资源分配清单的效果,提升协作能力。
图4示出了根据本申请另一个实施例的资源分配方法的流程图。如图4所示,在步骤s310之前,所述方法还包括:
步骤s410、接收用户对项目管理界面的触发指令,显示项目管理界面;
步骤s420、根据所述用户在所述项目管理界面上的创建指令,创建目标项目及所述目标项目的各个资源池。
步骤s410中,在用户的终端界面上通过接收用户对项目管理界面的触发指令,显示项目管理界面,项目管理界面是用于供用户对项目进行编辑的操作界面。
具体地,该触发指令可以包括点击或触摸操作对应的触发指令,当触发指令为用户在项目管理界面上的点击操作对应的触发指令时,该点击操作,包括:对触发按钮的点击操作。其中,对于上述的触发按钮设计,其可以是预先配置于项目管理界面上的任意位置处。
在步骤s420中,终端接收用户的创建指令,在项目管理界面上创建项目和项目对应的资源池。其中创建指令可以为对项目管理界面上的创建图标的点击或触摸操作对应的指令,创建图标可以为“+”或者“新建”按钮等,在此不做限定。
图5示出了根据本申请一个实施例的步骤s310的详细流程图。如图5所示,所述方法包括:
步骤s3101、接收所述用户对所述项目管理界面上各个资源池对应的资源数量编辑项、参数名称编辑项以及资源总量编辑项的编辑操作,确定所述各个资源池的资源需求量;
步骤s3102、根据所述各个资源池的资源需求量,得到所述目标项目的资源需求总量。
在步骤s3101中,用户在项目管理界面创建了目标项目和目标项目对应的多个资源池,其中,每个资源池对应有资源数量编辑项、参数名称编辑项以及资源总量编辑项,这三个编辑项是用于供用户进行编辑操作。比如说,当资源池1的资源需求量为“服务器2台,cpu为8核,内存为12g”时,用户则在资源数量编辑项对应的输入框中输入“2”,在参数名称编辑项对应的输入框中分别输入“cpu核数”和“内存大小”,在参数名称为“cpu核数”对应的资源总量编辑项对应的输入框中输入“8核”,在参数名称为“内存”对应的资源总量编辑项对应的输入框中输入“12g”。通过接收用户对项目管理界面中各个编辑项的输入,即可确定出各个资源池的资源需求量。
在步骤s3102中,对各个资源池的资源需求量进行求和,即得到目标项目的资源需求总量。
图6示出了根据本申请另一个实施例的资源分配方法的流程图。如图6所示,在步骤s310之前,还包括:
步骤s610、接收用户对资源管理界面的触发指令,显示资源管理界面,所述资源管理界面包括多个资源名称选项以及各个所述资源名称选项对应的参数名称编辑项和参数数值编辑项;
步骤s620、根据所述用户对所述参数名称编辑项和所述参数数值编辑项的编辑操作,得到当前资源信息。
在步骤s610中,在用户的终端界面上通过接收用户对资源管理界面的触发指令,显示资源管理界面,资源管理界面是用于供用户对所拥有的当前资源进行管理的操作界面。在该操作界面上,包括了多个资源名称选项,比如服务器m1、服务器m2、服务器m3、服务器r1、服务器r2、电源r、配电模块r、云虚拟机v1、cpup262、硬盘ssd等等,每个资源名称选项对应有参数名称编辑项和参数数值编辑项,用于供用户输入对应资源的参数信息,进行资源统计与管理。例如对于服务器r1,其对应的参数名称包括有型号名称、cpu核数、内存大小、硬盘大小、电源类型、配电模块等等,参数名称可以是由用户自由输入定义,也可以使用系统内置的参数名称,系统会根据资源选项判断提供何种参数名称供选择,参数还可以由其它已创建的资源组成,系统将把该资源定义为新创建资源的子部件。对于各个参数名称编辑项,用户还需要对该参数名称对应的参数数值进行输入。
在步骤s620中,当用户根据当前资源信息在资源管理界面进行参数名称和参数数值的输入后,便得到了用户的当前资源信息。
图7示出了根据本申请一个实施例的步骤s320的详细流程图。如图7所示,步骤s320具体包括:
步骤s3201、接收用户对资源分配界面的触发指令,显示资源分配界面,所述资源分配界面包括所述目标项目以及所述目标项目的各个资源池;
步骤s3202、接收所述用户根据当前资源信息对所述资源分配界面上各个资源池对应的资源名称编辑项和资源数量编辑项的编辑操作,生成资源分配清单。
步骤s3201中,在用户的终端界面上通过接收用户对资源分配界面的触发指令,显示资源分配界面,资源分配界面是用于供用户对目标项目的各个资源池进行资源分配的操作界面。
具体地,该触发指令可以包括点击或触摸操作对应的触发指令,当触发指令为用户在资源分配界面上的点击操作对应的触发指令时,该点击操作,包括:对触发按钮的点击操作。其中,对于上述的触发按钮设计,其可以是预先配置于资源分配界面上的任意位置处。
在步骤s3202中,在资源分配界面中包括了目标项目以及目标项目的各个资源池,每个资源池均具有资源名称编辑项和资源数量编辑项,资源名称与资源管理界面上的资源名称是一致的,包括服务器m1、服务器m2、服务器m3、服务器r1、服务器r2、电源r、配电模块r、云虚拟机v1、cpup262、硬盘ssd等等,用户可以根据当前资源信息在资源名称编辑项对应的输入框中输入资源名称,例如服务器m1,并在资源数量编辑项对应的输入框中输入资源数量。每个资源池对应的资源名称编辑项和资源数量编辑项的数目可以根据实际情况进行设置。
如图8所示,根据本申请的一个实施例,提供了一种资源分配装置,其特征在于,所述装置包括:
需求量生成模块810,用于根据目标项目的各个资源池的资源需求量生成所述目标项目的资源需求总量;
清单生成模块820,用于根据当前资源信息对所述目标项目的各个资源池进行资源分配,生成资源分配清单;
计算模块830,用于基于所述资源分配清单计算资源分配总量;
调整方案生成模块840,用于若所述资源分配总量和所述资源需求总量不匹配,生成资源调整方案。
在一个实施例中,所述装置还包括:
第一显示模块,用于接收用户对项目管理界面的触发指令,显示项目管理界面;
创建模块,用于根据所述用户在所述项目管理界面上的创建指令,创建目标项目及所述目标项目的各个资源池。
在一个实施例中,所述需求量生成模块810包括:
第一编辑单元,接收所述用户对所述项目管理界面上各个资源池对应的资源数量编辑项、参数名称编辑项以及资源总量编辑项的编辑操作,确定所述各个资源池的资源需求量;
处理单元,根据所述各个资源池的资源需求量,得到所述目标项目的资源需求总量。
在一个实施例中,所述装置还包括:
第一显示模块,用于接收用户对资源管理界面的触发指令,显示资源管理界面,所述资源管理界面包括多个资源选项以及各个所述资源选项对应的参数名称编辑项和参数数值编辑项;
当前资源模块,用于根据所述用户对所述参数名称编辑项和所述参数数值编辑项的编辑操作,得到当前资源信息。
在一个实施例中,所述清单生成模块820包括:
界面显示单元,用于接收用户对资源分配界面的触发指令,显示资源分配界面,所述资源分配界面包括所述目标项目以及所述目标项目的各个资源池;
第二编辑单元,用于接收所述用户根据当前资源信息对所述资源分配界面上各个资源池对应的资源名称编辑项和资源数量编辑项的编辑操作,生成资源分配清单。
在一个实施例中,所述调整方案生成模块840进一步用于:
若所述资源分配清单的资源分配总量超过所述资源需求总量,则减少所述目标项目的各个资源池的资源分配量;
若所述资源需求总量超过所述资源分配清单的资源分配总量,则减少所述目标项目的各个资源池的资源需求量。
在一个实施例中,所述装置还包括:
导出模块,用于响应用户触发的导出指令,按照所述导出指令导出调整后的资源分配清单,其中,所述导出指令包括资源清单导出形式,所述资源定制清单导出形式包括html形式或样式表或脚本形式。
在一个实施例中,所述装置还包括:
检索模块,用于响应用户触发的检索指令,按照所述检索指令显示检索界面,所述检索界面用于供所述用户根据项目名称对所述项目进行检索。
在一个实施例中,所述装置还包括:
协作编辑模块,用于接收用户对协作编辑界面的触发指令,向所述用户以及其他用户显示协作编辑界面,所述协作编辑界面用于供所述用户与所述其他用户进行协作编辑。
图9示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图9示出的电子设备的计算机系统900仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(cpu)901,其可以根据存储在只读存储器(rom)908中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。在ram903中,还存储有系统操作所需的各种程序和数据。cpu901、rom908以及ram903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
以下部件连接至i/o接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(cpu)901执行时,执行本申请的方法和装置中限定的各种功能。在一些实施例中,计算机系统900还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图3~图7所示的各个步骤等。