一种基于负载均衡的教学科研平台资源分配方法及装置
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种基于负载均衡的教学科研 平台资源分配方法及装置。
背景技术
随着云计算技术的高速发展,越来越多的高校采用私有云架构部署学校的 教学科研平台,将传统的教学和科研环境迁移到云端,这就对云平台的整体性 能和资源利用率提出了更高的要求。在这种情况下,就需要使用负载均衡技术 对高校教学科研平台资源实现弹性扩展,满足不同教学和科研场景下对资源的 需求。
传统的负载均衡调度算法,如轮询法、随机法、最小连接法等,虽然在一 定程度上解决了资源分配问题,但很难精细化达到高校的需求。一方面高校用 户需求的差异性,表现在教师和学生在不同场景具有不同的资源需求;另一方面 是云平台集群服务器性能的差异性导致分配资源的不公平。所以,亟需一种基 于负载均衡的资源分配方法来满足资源分配问题,同时也可以达到高校需求。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现 有技术。
发明内容
有鉴于此,本发明提出了一种基于负载均衡的教学科研平台资源分配方法 及装置,旨在解决现有技术无法通过优先级和服务器综合资源占比原则来计算 教学资源并进行分配的技术问题。
本发明的技术方案是这样实现的:
一方面,本发明提供了一种基于负载均衡的教学科研平台资源分配方法, 所述基于负载均衡的教学科研平台资源分配方法包括以下步骤:
S1,接受用户资源申请指令,从该资源申请指令中提取用户资源数据,并 根据用户资源数据确定用户资源调用优先级;
S2,获取待分配资源数据,建立资源优先级算法,根据该用户需求算法通 过用户资源调用优先级以及分配资源数据确定资源优先级;
S3,比较各资源优先级的优先顺序,当资源优先级的优先顺序相同时,获 取各资源数据对应的权重值,建立资源占比计算公式,根据资源数据以及对应 的权重值计算各资源占比;
S4,比较各资源占比的大小顺序,根据该大小顺序,向用户分配资源。
在以上技术方案的基础上,优选的,步骤S1中,接受用户资源申请指令, 从该资源申请指令中提取用户资源数据,并根据用户资源数据确定用户资源调 用优先级,还包括以下步骤,接受用户资源申请指令,从该资源申请指令中提 取用户资源数据,所述用户资源数据包括:用户等级以及用户平台使用数据, 根据用户资源数据确定用户资源调用优先级。
在以上技术方案的基础上,优选的,步骤S2中,获取待分配资源数据,建 立资源优先级算法,根据该用户需求算法通过用户资源调用优先级以及分配资 源数据确定资源优先级,还包括以下步骤,所述待分配资源数据包括:云平台 资源以及服务器资源,其中,云平台资源包括:云主机资源、镜像资源、网络 资源以及云盘资源,服务器资源包括:CPU资源、内存资源以、磁盘资源以及网 络资源。
在以上技术方案的基础上,优选的,建立资源优先级算法,根据该用户需 求算法通过用户资源调用优先级以及分配资源数据确定资源优先级,还包括以 下步骤,建立资源优先级算法,从用户资源申请指令中提取优先级指令,若成 功提取,则根据该优先级指令分配资源;若未成功提取,则根据该用户需求算 法通过用户资源调用优先级以及分配资源数据确定资源优先级。
在以上技术方案的基础上,优选的,还包括以下步骤,所述资源优先级算 法为:
Ph=(Po+(Rs,Ps))·Pm;
其中,Ph代表资源优先级,Po代表用户资源调用优先级,Rs代表云平台资 源,Rs=(Rs1,Rs2,...,Rsn),Ps代表服务器资源,Ps=(Ps1,Ps2,...,Psn),Pm代表平台用户 熟练度。
在以上技术方案的基础上,优选的,步骤S3中,比较各资源优先级的优先 顺序,当资源优先级的优先顺序相同时,获取各资源数据对应的权重值,建立 资源占比计算公式,根据资源数据以及对应的权重值计算各资源占比,还包括 以下步骤,所述资源占比计算公式为:
Zh=(C+M+D+N)/Ps;
其中,Zh代表资源占比,C代表cpu权重,M代表内存权重,D代表磁盘 权重,N代表网络权重。
在以上技术方案的基础上,优选的,步骤S4中,比较各资源占比的大小顺 序,根据该大小顺序,向用户分配资源,还包括以下步骤,比较各资源占比的 大小顺序,并建立对应大小顺序表,根据该大小顺序表建立虚拟资源与物流资 源的映射关系,将资源分配给用户。
更进一步优选的,所述基于负载均衡的教学科研平台资源分配装置包括:
获取模块,用于接受用户资源申请指令,从该资源申请指令中提取用户资 源数据,并根据用户资源数据确定用户资源调用优先级;
资源优先级计算模块,用于获取待分配资源数据,建立资源优先级算法, 根据该用户需求算法通过用户资源调用优先级以及分配资源数据确定资源优先 级;
资源占比计算模块,用于比较各资源优先级的优先顺序,当资源优先级的 优先顺序相同时,获取各资源数据对应的权重值,建立资源占比计算公式,根 据资源数据以及对应的权重值计算各资源占比;
分配模块,用于比较各资源占比的大小顺序,根据该大小顺序,向用户分 配资源。
第二方面,所述基于负载均衡的教学科研平台资源分配方法还包括一种设 备,所述设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理 器上运行的基于负载均衡的教学科研平台资源分配方法程序,所述基于负载均 衡的教学科研平台资源分配方法程序配置为实现如上文所述的基于负载均衡的 教学科研平台资源分配方法的步骤。
第三方面,所述基于负载均衡的教学科研平台资源分配方法还包括一种介 质,所述介质为计算机介质,所述计算机介质上存储有基于负载均衡的教学科 研平台资源分配方法程序,所述基于负载均衡的教学科研平台资源分配方法程 序被处理器执行时实现如上文所述的基于负载均衡的教学科研平台资源分配方 法的步骤。
本发明的一种基于负载均衡的教学科研平台资源分配方法相对于现有技术 具有以下有益效果:
(1)通过利用资源优先级以及资源占比数据,使资源分配过程更加灵活,同 时资源分配更加精确有效,提升了用户体验。
(2)通过用户资源调用优先级,能够更加快速分配资源,同时减少了不必要 的运算量了,提升了整个系统的速度,提升了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述 中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付 出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例方案涉及的硬件运行环境的设备的结构示意图;
图2为本发明基于负载均衡的教学科研平台资源分配方法第一实施例的流 程示意图;
图3本发明基于负载均衡的教学科研平台资源分配方法第一实施例的功能 模块示意图。
具体实施方式
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、 完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是 全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出 创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
如图1所示,该设备可以包括:处理器1001,例如中央处理器(Central ProcessingUnit,CPU),通信总线1002、用户接口1003,网络接口1004,存 储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口 1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户 接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以 包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接 口)。存储器1005可以是高速的随机存取存储器(Random AccessMemory, RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory, NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001 的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对设备的限定,在 实际应用中设备可以包括比图示更多或更少的部件,或者组合某些部件,或者 不同的部件布置。
如图1所示,作为一种介质的存储器1005中可以包括操作系统、网络通信 模块、用户接口模块以及基于负载均衡的教学科研平台资源分配方法程序。
在图1所示的设备中,网络接口1004主要用于建立设备与存储基于负载均 衡的教学科研平台资源分配方法系统中所需的所有数据的服务器的通信连接; 用户接口1003主要用于与用户进行数据交互;本发明基于负载均衡的教学科研 平台资源分配方法设备中的处理器1001、存储器1005可以设置在基于负载均衡 的教学科研平台资源分配方法设备中,所述基于负载均衡的教学科研平台资源 分配方法设备通过处理器1001调用存储器1005中存储的基于负载均衡的教学 科研平台资源分配方法程序,并执行本发明实施提供的基于负载均衡的教学科 研平台资源分配方法。
结合图2,图2为本发明基于负载均衡的教学科研平台资源分配方法第一实 施例的流程示意图。
本实施例中,所述基于负载均衡的教学科研平台资源分配方法包括以下步 骤:
S10:接受用户资源申请指令,从该资源申请指令中提取用户资源数据,并 根据用户资源数据确定用户资源调用优先级。
应当理解的是,系统首先会接受用户资源申请指令,从该资源申请指令中 提取用户资源数据,所述用户资源数据包括:用户等级以及用户平台使用数据, 根据用户资源数据确定用户资源调用优先级。
应当理解的是,用户资源调用优先级是由系统预先设定好的,分为教师以 及学生,本实例中的教学平台会根据本地的评分标准为教师以及学生进行打分 并评定不同的等级,等级越高优先级越高,同时用户平台使用次数越多,也会 提升用户资源调用优先级。
S20:获取待分配资源数据,建立资源优先级算法,根据该用户需求算法通 过用户资源调用优先级以及分配资源数据确定资源优先级。
应当理解的是,本实施例中提到的待分配资源数据包括:云平台资源以及 服务器资源,其中,云平台资源包括:云主机资源、镜像资源、网络资源以及 云盘资源,服务器资源包括:CPU资源、内存资源以、磁盘资源以及网络资源。
应当理解的是,如果用户在申请资源时,指定了优先级,那么系统会从用 户资源申请指令中提取优先级指令,若成功提取,则根据该优先级指令分配资 源;若未成功提取,则表示用户并没有指定优先级,就会根据该用户需求算法 通过用户资源调用优先级以及分配资源数据确定资源优先级。
应当理解的是,所述资源优先级算法为:
Ph=(Po+(Rs,Ps))·Pm;
其中,Ph代表资源优先级,Po代表用户资源调用优先级,Rs代表云平台资 源,Rs=(Rs1,Rs2,...,Rsn),Ps代表服务器资源,Ps=(Ps1,Ps2,...,Psn),Pm代表平台用户 熟练度。
应当理解的是,平台用户熟练度Pm是本实施例中的教学平台针对用户提出 的一个评分标准,具体评分标准由管理员预先进行设定,对于教师可以是根据 授课的听课率来进行评分,听课率越高分数越高,对应的熟练度也就越高;对 于学生则可以是平时课堂表现以及作业完成情况等数据来进行评分,同样分数 越高对应的熟练度也就越高。通过这种方式,可以提高资源分配的精确度以及 速度,提升用户体验。
S30:比较各资源优先级的优先顺序,当资源优先级的优先顺序相同时,获 取各资源数据对应的权重值,建立资源占比计算公式,根据资源数据以及对应 的权重值计算各资源占比。
应当理解的是,之后系统会比较各资源优先级的优先顺序,如果存在资源 优先级的优先顺序相同的情况,系统会获取优先级相同资源对应的权重值,然 后根据资源占比计算公式,计算各资源占比。
应当理解的是,所述资源占比计算公式为:
Zh=(C+M+D+N)/Ps;
其中,Zh代表资源占比,C代表cpu权重,M代表内存权重,D代表磁盘 权重,N代表网络权重。
S40:比较各资源占比的大小顺序,根据该大小顺序,向用户分配资源。
应当理解的是,在计算出资源占比数据之后,系统会比较各资源占比的大 小顺序,并建立对应大小顺序表,根据该大小顺序表建立虚拟资源与物流资源 的映射关系,将资源分配给用户。通过这种方式,可以更进一步提高资源分配 的精确度,同时加快整个资源分配过程的进度,提升用户体验。
需要说明的是,以上仅为举例说明,并不对本申请的技术方案构成任何限 定。
通过上述描述不难发现,本实施例通过接受用户资源申请指令,从该资源 申请指令中提取用户资源数据,并根据用户资源数据确定用户资源调用优先 级;获取待分配资源数据,建立资源优先级算法,根据该用户需求算法通过用 户资源调用优先级以及分配资源数据确定资源优先级;比较各资源优先级的优 先顺序,当资源优先级的优先顺序相同时,获取各资源数据对应的权重值,建 立资源占比计算公式,根据资源数据以及对应的权重值计算各资源占比;比较 各资源占比的大小顺序,根据该大小顺序,向用户分配资源。本实施例通过计 算资源优先级以及资源占比来分配资源,提高了资源分配的精确度、效率以及合理性,同时使用也很灵活。
此外,本发明实施例还提出一种基于负载均衡的教学科研平台资源分配装 置。如图3所示,该基于负载均衡的教学科研平台资源分配装置包括:获取模 块10、资源优先级计算模块20、资源占比计算模块30、分配模块40。
获取模块10,用于接受用户资源申请指令,从该资源申请指令中提取用户 资源数据,并根据用户资源数据确定用户资源调用优先级;
资源优先级计算模块20,用于获取待分配资源数据,建立资源优先级算法, 根据该用户需求算法通过用户资源调用优先级以及分配资源数据确定资源优先 级;
资源占比计算模块30,用于比较各资源优先级的优先顺序,当资源优先级 的优先顺序相同时,获取各资源数据对应的权重值,建立资源占比计算公式, 根据资源数据以及对应的权重值计算各资源占比;
分配模块40,用于比较各资源占比的大小顺序,根据该大小顺序,向用户 分配资源。
此外,需要说明的是,以上所描述的装置实施例仅仅是示意性的,并不对 本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际 的需要选择其中的部分或者全部模块来实现本实施例方案的目的,此处不做限 制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所 提供的基于负载均衡的教学科研平台资源分配方法,此处不再赘述。
此外,本发明实施例还提出一种介质,所述介质为计算机介质,所述计算 机介质上存储有基于负载均衡的教学科研平台资源分配方法程序,所述基于负 载均衡的教学科研平台资源分配方法程序被处理器执行时实现如下操作:
S1,接受用户资源申请指令,从该资源申请指令中提取用户资源数据,并 根据用户资源数据确定用户资源调用优先级;
S2,获取待分配资源数据,建立资源优先级算法,根据该用户需求算法通 过用户资源调用优先级以及分配资源数据确定资源优先级;
S3,比较各资源优先级的优先顺序,当资源优先级的优先顺序相同时,获 取各资源数据对应的权重值,建立资源占比计算公式,根据资源数据以及对应 的权重值计算各资源占比;
S4,比较各资源占比的大小顺序,根据该大小顺序,向用户分配资源。
进一步地,所述基于负载均衡的教学科研平台资源分配方法程序被处理器 执行时还实现如下操作:
接受用户资源申请指令,从该资源申请指令中提取用户资源数据,所述用 户资源数据包括:用户等级以及用户平台使用数据,根据用户资源数据确定用 户资源调用优先级。
进一步地,所述基于负载均衡的教学科研平台资源分配方法程序被处理器 执行时还实现如下操作:
所述待分配资源数据包括:云平台资源以及服务器资源,其中,云平台资 源包括:云主机资源、镜像资源、网络资源以及云盘资源,服务器资源包括: CPU资源、内存资源以、磁盘资源以及网络资源。
进一步地,所述基于负载均衡的教学科研平台资源分配方法程序被处理器 执行时还实现如下操作:
建立资源优先级算法,从用户资源申请指令中提取优先级指令,若成功提 取,则根据该优先级指令分配资源;若未成功提取,则根据该用户需求算法通 过用户资源调用优先级以及分配资源数据确定资源优先级。
进一步地,所述基于负载均衡的教学科研平台资源分配方法程序被处理器 执行时还实现如下操作:
所述资源优先级算法为:
Ph=(Po+(Rs,Ps))·Pm;
其中,Ph代表资源优先级,Po代表用户资源调用优先级,Rs代表云平台资 源,Rs=(Rs1,Rs2,...,Rsn),Ps代表服务器资源,Ps=(Ps1,Ps2,...,Psn),Pm代表平台用户 熟练度。
进一步地,所述基于负载均衡的教学科研平台资源分配方法程序被处理器 执行时还实现如下操作:
所述资源占比计算公式为:
Zh=(C+M+D+N)/Ps;
其中,Zh代表资源占比,C代表cpu权重,M代表内存权重,D代表磁盘 权重,N代表网络权重。
进一步地,所述基于负载均衡的教学科研平台资源分配方法程序被处理器 执行时还实现如下操作:
比较各资源占比的大小顺序,并建立对应大小顺序表,根据该大小顺序表 建立虚拟资源与物流资源的映射关系,将资源分配给用户。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本 发明的保护范围之内。