一种资源配置方法和装置转让专利

申请号 : CN201610060283.8

文献号 : CN107018163B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 霍绍博吴希选刘红霞许惠超祝智岗单莘张美松付长冬

申请人 : 中国移动通信集团河北有限公司

摘要 :

本发明实施例公开了一种资源配置方法,每隔第一预设时间获取云教室系统中每一个云教室的负载量和用户响应时间,分别确定所述每一个云教室连续两个时间点的负载量变化值;确定所述负载量变化值大于等于第一预设值的云教室为第一云教室,当所述第一云教室连续两个时间点的用户响应时间变化值大于等于第二预设值时,调用负载均衡应用程序编程接口,获取调用信息;根据所述调用信息对所述第一云教室的服务器进行负载均衡。本发明实施例同时还公开了一种资源配置装置。

权利要求 :

1.一种资源配置方法,其特征在于,所述方法包括:

每隔第一预设时间获取云教室系统中每一个云教室的负载量和用户响应时间,分别确定所述每一个云教室连续两个时间点的负载量变化值;

确定所述负载量变化值大于等于第一预设值的云教室为第一云教室,当所述第一云教室连续两个时间点的用户响应时间变化值大于等于第二预设值时,调用负载均衡应用程序编程接口,获取调用信息;

确定所述第一云教室中负载量最大的服务器为第一服务器,确定所述第一云教室中负载量最小的服务器为第二服务器;

确定所述第一服务器中单位时间内读写操作总数最大的数据块为第一数据块;

将所述第一数据块复制到第二服务器,删除所述第一服务器中的第一数据块;

将所述第一数据块的备份数据存储在所述第一云教室中除所述第一服务器以外的任意两个服务器中。

2.根据权利要求1所述的资源配置方法,其特征在于,

所述调用信息至少包括:所述第一云教室中每一个服务器的第一编号、所述每一个服务器中数据块的第二编号,其中,所述第一云教室中每一个服务器包括至少一个数据块;

所述确定所述第一云教室中负载量最大的服务器为第一服务器,确定所述第一云教室中负载量最小的服务器为第二服务器,包括:根据所述第一云教室中每一个服务器的单位时间内输入/输出负载总量、单位时间内读写操作数和单位时间内数据块读写总量确定所述每一个服务器的忙闲度值,确定所述忙闲度值最大的服务器为第一服务器,确定所述忙闲度值最小的服务器为第二服务器;其中,所述忙闲度值的大小用于表征所述服务器的负载量大小;

所述将所述第一数据块的备份数据存储在所述第一云教室中除所述第一服务器以外的任意两个服务器中,包括:获取所述第一数据块的备份数据存储的第三服务器和第四服务器;

当所述第三服务器或第四服务器与所述第二服务器相同时,将所述第一数据块的备份数据存储在所述第一云教室中除所述第一服务器、所述第二服务器、所述第三服务器和所述第四服务器外的任一服务器。

3.一种资源配置方法,其特征在于,所述方法包括:

获取写操作命令,将云教室相同的写操作命令排列在同一个队列,所述写操作命令携带第一数据块;

当所述第一数据块的大小小于预设数据块的第一预设值倍,且云教室第一预设时间的写操作数大于第二预设值倍的云教室每分钟写操作平均数时,每隔第二预设时间获取写操作命令;

将所述获取的写操作命令延时第三预设时间,获取第三预设值个所述写操作命令,其中,所述第一预设值与所述第三预设值之积为1;

获取所述第三预设值个写操作命令的服务器编号,执行所述第三预设值个写操作命令。

4.一种资源配置方法,其特征在于,所述方法包括:

获取读操作命令,将云教室相同的读操作命令排列在同一个队列,所述读操作命令携带第一数据块;

当所述第一数据块小于预设数据块时,确定所述第一数据块所在的队列中与所述第一数据块相邻的数据块;

当所述与所述第一数据块相邻的数据块为未读取数据块时,将待读取的数据块的大小增加至所述预设数据块的第一预设数值倍,形成扩展后的读操作命令;所述扩展后的读操作命令用于读取所述第一数据块和与所述第一数据块相邻的数据块;执行所述扩展后的读操作命令。

5.一种资源配置方法,其特征在于,所述方法包括:

获取写操作命令,当云教室第一预设时间的写操作数大于第一预设值倍的云教室每分钟写操作平均数时,根据所述写操作命令确定备份操作命令;

将未执行的所述备份操作命令排列在后备份队列表中;

当第二预设时间的写操作数大于第二预设值时,将所述备份操作命令延时第二预设时间;

当第二预设时间的写操作数小于等于第二预设值时,获取所述后备份队列表中第一个备份操作命令,所述第一个备份操作命令携带第一数据块;

确定所述第一数据块在主服务器上的数据信息,将所述数据信息写入除主服务器以外的任意两个不同的服务器上。

6.一种资源配置装置,其特征在于,所述装置包括:第一获取单元、第一确定单元、第一调用单元和第一处理单元,其中,所述第一获取单元,用于每隔第一预设时间获取云教室系统中每一个云教室的负载量和用户响应时间;

所述第一确定单元,用于分别确定所述每一个云教室连续两个时间点的负载量变化值;还用于确定所述负载量变化值大于等于第一预设值的云教室为第一云教室;还用于确定所述第一云教室中负载量最大的服务器为第一服务器,确定所述第一云教室中负载量最小的服务器为第二服务器;还用于确定所述第一服务器中单位时间内读写操作总数最大的数据块为第一数据块;

所述第一调用单元,用于当所述第一云教室连续两个时间点的用户响应时间变化值大于等于第二预设值时,调用负载均衡应用程序编程接口,获取调用信息;

所述第一处理单元,用于将所述第一数据块复制到第二服务器,删除所述第一服务器中的第一数据块;将所述第一数据块的备份数据存储在所述第一云教室中除所述第一服务器以外的任意两个服务器中。

7.根据权利要求6所述的资源配置装置,其特征在于,所述调用信息至少包括:所述第一云教室中每一个服务器的第一编号、所述每一个服务器中数据块的第二编号,其中,所述第一云教室中每一个服务器包括至少一个数据块;

所述第一确定单元,用于根据所述第一云教室中每一个服务器的单位时间内输入/输出负载总量、单位时间内读写操作数和单位时间内数据块读写总量确定所述每一个服务器的忙闲度值,确定所述忙闲度值最大的服务器为第一服务器,确定所述忙闲度值最小的服务器为第二服务器;其中,所述忙闲度值的大小用于表征所述服务器的负载量大小;

所述第一获取单元,还用于获取所述第一数据块的备份数据存储的第三服务器和第四服务器;

所述第一处理单元,还用于当所述第三服务器或第四服务器与所述第二服务器相同时,将所述第一数据块的备份数据存储在所述第一云教室中除所述第一服务器、所述第二服务器、所述第三服务器和所述第四服务器外的任一服务器。

8.一种资源配置装置,其特征在于,所述装置包括:第二获取单元、第二处理单元,其中,所述第二获取单元,用于获取写操作命令,将云教室相同的写操作命令排列在同一个队列,所述写操作命令携带第一数据块;还用于当所述第一数据块的大小小于预设数据块的第一预设值倍,且云教室第一预设时间的写操作数大于第二预设值倍的云教室每分钟写操作平均数时,每隔第二预设时间获取写操作命令;还用于获取第三预设值个所述写操作命令,其中,所述第一预设值与所述第三预设值之积为1;还用于获取所述第三预设值个写操作命令的服务器编号;

所述第二处理单元,用于将所述获取的写操作命令延时第三预设时间;还用于执行所述第三预设值个写操作命令。

9.一种资源配置装置,其特征在于,所述装置包括:第三获取单元、第三确定单元、第三处理单元,其中,所述第三获取单元,用于获取读操作命令,将云教室相同的读操作命令排列在同一个队列,所述读操作命令携带第一数据块;

所述第三确定单元,用于当所述第一数据块小于预设数据块时,确定所述第一数据块所在的队列中与所述第一数据块相邻的数据块;

所述第三处理单元,用于当所述与所述第一数据块相邻的数据块为未读取数据块时,将待读取的数据块的大小增加至所述预设数据块的第一预设数值倍,形成扩展后的读操作命令;所述扩展后的读操作命令用于读取所述第一数据块和与所述第一数据块相邻的数据块,执行所述扩展后的读操作命令。

10.一种资源配置装置,其特征在于,所述装置包括:第四获取单元、第四确定单元、第四处理单元,其中,所述第四获取单元,用于获取写操作命令;还用于当第二预设时间的写操作数小于等于第二预设值时,获取后备份队列表中第一个备份操作命令,所述第一个备份操作命令携带第一数据块;

所述第四确定单元,用于当云教室第一预设时间的写操作数大于第一预设值倍的云教室每分钟写操作平均数时,根据所述写操作命令确定备份操作命令;还用于确定所述第一数据块在主服务器上的数据信息;

所述第四处理单元,用于将未执行的所述备份操作命令排列在后备份队列表中;还用于当第二预设时间的写操作数大于第二预设值时,将所述备份操作命令延时第二预设时间;还用于将所述数据信息写入除主服务器以外的任意两个不同的服务器上。

说明书 :

一种资源配置方法和装置

技术领域

[0001] 本发明涉及大数据技术领域,尤其涉及一种资源配置方法和装置。

背景技术

[0002] 大数据和云计算技术出现以来,已经成为各种业务系统的基础平台。由于大数据体系是基于流数据模式访问和处理超大文件的需求而开发的,因此大数据技术体系特别适合教育业务系统,如教育云、云教室等。
[0003] 现有技术中采用的分布式文件系统(Hadoop Distributed File System,HDFS)在云教室负载剧增需要负载均衡处理时,是无法感知外部系统变化的,只能被动等待系统应用程序编程接口(Application Programming Interface,API)调用,并且通过服务器的增减进行的负载均衡会导致资源浪费。由于HDFS不适合小块数据的处理,在云教室大量的小块数据读写时,会严重影响云教室的输入/输出(Input/Output,I/O)性能。HDFS在写数据的时候通过备份数据保持高容错性,基本上保持1:2备份模式,因此在多个云教室都频繁写数据时,同时实现数据备份会导致多个服务器同时频繁写数据,从而影响读操作性能。由此可见,基于大数据的云教室进行负载均衡、数据读写以及数据备份处理时存在I/O性能下降的问题。

发明内容

[0004] 为解决上述技术问题,本发明实施例期望提供一种资源配置方法和装置,有效提升了云教室的I/O性能,具有高吞吐量、高可扩展性以及高容错性。
[0005] 本发明的技术方案是这样实现的:
[0006] 本发明实施例提供了一种资源配置方法,所述方法包括:
[0007] 每隔第一预设时间获取云教室系统中每一个云教室的负载量和用户响应时间,分别确定所述每一个云教室连续两个时间点的负载量变化值;
[0008] 确定所述负载量变化值大于等于第一预设值的云教室为第一云教室,当所述第一云教室连续两个时间点的用户响应时间变化值大于等于第二预设值时,调用负载均衡应用程序编程接口,获取调用信息;
[0009] 根据所述调用信息对所述第一云教室的服务器进行负载均衡。
[0010] 上述方案中,所述调用信息至少包括:所述第一云教室中每一个服务器的第一编号、所述每一个服务器中数据块的第二编号,其中,所述第一云教室中每一个服务器包括至少一个数据块;
[0011] 所述根据所述调用信息对所述第一云教室的服务器进行负载均衡,包括:
[0012] 根据所述第一云教室中每一个服务器的单位时间内输入/输出负载总量、单位时间内读写操作数和单位时间内数据块读写总量确定所述每一个服务器的忙闲度值,确定所述忙闲度值最大的服务器为第一服务器,确定所述忙闲度值最小的服务器为第二服务器;
[0013] 确定所述第一服务器中单位时间内读写操作总数最大的数据块为第一数据块;
[0014] 将所述第一数据块复制到第二服务器,删除所述第一服务器中的第一数据块;
[0015] 获取所述第一数据块的备份数据存储的第三服务器和第四服务器;
[0016] 当所述第三服务器或第四服务器与所述第二服务器相同时,将所述第一数据块的备份数据存储在所述第一云教室中除所述第一服务器、所述第二服务器、所述第三服务器和所述第四服务器外的任一服务器。
[0017] 本发明实施例提供了一种资源配置方法,所述方法包括:
[0018] 获取写操作命令,将云教室相同的写操作命令排列在同一个队列,所述写操作命令携带第一数据块;
[0019] 当所述第一数据块小于第一预设值倍的预设数据块,且云教室第一预设时间的写操作数大于第二预设值倍的云教室每分钟写操作平均数时,每隔第二预设时间获取写操作命令;
[0020] 将所述获取的写操作命令延时第三预设时间,获取第三预设值个所述写操作命令,其中,所述第一预设值与所述第三预设值之积为1;
[0021] 获取所述第三预设值个写操作命令的服务器编号,执行所述第三预设值个写操作命令。
[0022] 本发明实施例提供了一种资源配置方法,所述方法包括:
[0023] 获取读操作命令,将云教室相同的读操作命令排列在同一个队列,所述读操作命令携带第一数据块;
[0024] 当所述第一数据块小于预设数据块时,确定所述第一数据块所在的队列中与所述第一数据块相邻的数据块;
[0025] 当所述与所述第一数据块相邻的数据块为未读取数据块时,将读取的数据块增加至第一预设数值倍的所述预设数据块,执行读操作。
[0026] 本发明实施例提供了一种资源配置方法,所述方法包括:
[0027] 获取写操作命令,当云教室第一预设时间的写操作数大于第一预设值倍的云教室每分钟写操作平均数时,根据所述写操作命令确定备份操作命令;
[0028] 将未执行的所述备份操作命令排列在后备份队列表中;
[0029] 当第二预设时间的写操作数大于第二预设值时,将所述备份操作命令延时第二预设时间;
[0030] 当第二预设时间的写操作数小于等于第二预设值时,获取所述后备份队列表中第一个备份操作命令,所述第一个备份操作命令携带第一数据块;
[0031] 确定所述第一数据块在主服务器上的数据信息,将所述数据信息写入除主服务器以外的任意两个不同的服务器上。
[0032] 本发明实施例还提供了一种资源配置装置,所述装置包括:第一获取单元、第一确定单元、第一调用单元和第一处理单元,其中,
[0033] 所述第一获取单元,用于每隔第一预设时间获取云教室系统中每一个云教室的负载量和用户响应时间;
[0034] 所述第一确定单元,用于分别确定所述每一个云教室连续两个时间点的负载量变化值;还用于确定所述负载量变化值大于等于第一预设值的云教室为第一云教室;
[0035] 所述第一调用单元,用于当所述第一云教室连续两个时间点的用户响应时间变化值大于等于第二预设值时,调用负载均衡应用程序编程接口,获取调用信息;
[0036] 所述第一处理单元,用于根据所述调用信息对所述第一云教室的服务器进行负载均衡。
[0037] 上述方案中,所述调用信息至少包括:所述第一云教室中每一个服务器的第一编号、所述每一个服务器中数据块的第二编号,其中,所述第一云教室中每一个服务器包括至少一个数据块;
[0038] 所述第一确定单元,用于根据所述第一云教室中每一个服务器的单位时间内输入/输出负载总量、单位时间内读写操作数和单位时间内数据块读写总量确定所述每一个服务器的忙闲度值,确定所述忙闲度值最大的服务器为第一服务器,确定所述忙闲度值最小的服务器为第二服务器;还用于确定所述第一服务器中单位时间内读写操作总数最大的数据块为第一数据块;
[0039] 所述第一处理单元,用于将所述第一数据块复制到第二服务器,删除所述第一服务器中的第一数据块;还用于当所述第三服务器或第四服务器与所述第二服务器相同时,将所述第一数据块的备份数据存储在所述第一云教室中除所述第一服务器、所述第二服务器、所述第三服务器和所述第四服务器外的任一服务器;
[0040] 所述第一获取单元,用于获取所述第一数据块的备份数据存储的第三服务器和第四服务器。
[0041] 本发明实施例还提供了一种资源配置装置,所述装置包括:第二获取单元、第二处理单元,其中,
[0042] 所述第二获取单元,用于获取写操作命令,将云教室相同的写操作命令排列在同一个队列,所述写操作命令携带第一数据块;还用于当所述第一数据块小于第一预设值倍的预设数据块,且云教室第一预设时间的写操作数大于第二预设值倍的云教室每分钟写操作平均数时,每隔第二预设时间获取写操作命令;还用于获取第三预设值个所述写操作命令,其中,所述第一预设值与所述第三预设值之积为1;还用于获取所述第三预设值个写操作命令的服务器编号;
[0043] 所述第二处理单元,用于将所述获取的写操作命令延时第三预设时间;还用于执行所述第三预设值个写操作命令。
[0044] 本发明实施例还提供了一种资源配置装置,所述装置包括:第三获取单元、第三确定单元、第三处理单元,其中,
[0045] 所述第三获取单元,用于获取读操作命令,将云教室相同的读操作命令排列在同一个队列,所述读操作命令携带第一数据块;
[0046] 所述第三确定单元,用于当所述第一数据块小于预设数据块时,确定所述第一数据块所在的队列中与所述第一数据块相邻的数据块;
[0047] 所述第三处理单元,用于当所述与所述第一数据块相邻的数据块为未读取数据块时,将读取的数据块增加至第一预设数值倍的所述预设数据块,执行读操作。
[0048] 本发明实施例还提供了一种资源配置装置,所述装置包括:第四获取单元、第四确定单元、第四处理单元,其中,
[0049] 所述第四获取单元,用于获取写操作命令;还用于当第二预设时间的写操作数小于等于第二预设值时,获取所述后备份队列表中第一个备份操作命令,所述第一个备份操作命令携带第一数据块;
[0050] 所述第四确定单元,用于当云教室第一预设时间的写操作数大于第一预设值倍的云教室每分钟写操作平均数时,根据所述写操作命令确定备份操作命令;还用于确定所述第一数据块在主服务器上的数据信息;
[0051] 所述第四处理单元,用于将未执行的所述备份操作命令排列在后备份队列表中;还用于当第二预设时间的写操作数大于第二预设值时,将所述备份操作命令延时第二预设时间;还用于将所述数据信息写入除主服务器以外的任意两个不同的服务器上。
[0052] 本发明实施例提供了一种资源配置方法和装置,每隔第一预设时间获取云教室系统中每一个云教室的负载量和用户响应时间,分别确定所述每一个云教室连续两个时间点的负载量变化值;确定所述负载量变化值大于等于第一预设值的云教室为第一云教室,当所述第一云教室连续两个时间点的用户响应时间变化值大于等于第二预设值时,调用负载均衡应用程序编程接口,获取调用信息;根据所述调用信息对所述第一云教室的服务器进行负载均衡。本发明实施例提供的资源配置方法和装置,能够避免现有的负载均衡方法中对服务器的增减而造成的资源使用力度过大的问题,同时解决了由于数据频繁的读写造成的云教室整体性能下降的问题,有效提升了云教室的I/O性能,具有高吞吐量、高可扩展性以及高容错性。

附图说明

[0053] 图1为实施例一提供的资源配置方法流程示意图;
[0054] 图2为实施例二提供的资源配置方法流程示意图;
[0055] 图3为实施例三提供的资源配置方法流程示意图;
[0056] 图4为实施例四提供的资源配置方法流程示意图;
[0057] 图5为实施例五提供的资源配置方法流程示意图;
[0058] 图6为实施例六提供的资源配置装置结构示意图;
[0059] 图7为实施例七提供的资源配置装置结构示意图;
[0060] 图8为实施例八提供的资源配置装置结构示意图;
[0061] 图9为实施例九提供的资源配置装置结构示意图。

具体实施方式

[0062] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0063] 实施例一
[0064] 本发明实施例提供一种资源配置方法,如图1所示,所述方法可以包括:
[0065] S101、资源配置装置每隔第一预设时间获取云教室系统中每一个云教室的负载量和用户响应时间,分别确定所述每一个云教室连续两个时间点的负载量变化值。
[0066] 一个云教室系统由HDFS以及多个服务器组成,其上承载多个云教室。HDFS将所有服务器组成一个虚拟资源池,每个云教室建立时从整个虚拟资源池中抽取所需要的服务器,组成一个云教室。
[0067] HDFS包括元节点NameNode、数据节点DataNode以及客户端Client。元节点存储和管理各种元数据,如文件名、索引、位置等。而数据节点负责存储和管理各种数据内容。客户端提供各种API接口,允许外部程序调用。
[0068] 云教室负载检测模块每隔第一预设时间对云教室系统中每一个云教室的负载量和用户响应时间进行监测,获得每一个云教室在两个连续的时间点负载量变化值。所述云教室负载监测模块运行在云教室Web端服务器上直接和多个云教室交互。所述云教室Web系统是管理云教室的Web管理平台,其单独运营在独立的服务器系统上,是前台用户界面和后台教师界面的平台。
[0069] 示例性的,一个包含100个云教室的云教室系统每隔1s对云教室系统中每一个云教室的负载量和用户响应时间进行监测,获得这个云教室系统中每一个云教室在上一秒和下一秒之间负载量变化值。
[0070] S102、资源配置装置确定所述负载量变化值大于等于第一预设值的云教室为第一云教室,当所述第一云教室连续两个时间点的用户响应时间变化值大于等于第二预设值时,调用负载均衡应用程序编程接口,获取调用信息。
[0071] 当云教室系统中的其中一个云教室在连续两个时间点出现负载量剧增时,测量该云教室连续两个时间点的用户响应时间变化值。如果该云教室连续两个时间点的用户响应时间明显变长,那么资源配置装置调用负载均衡应用程序编程接口对负载均衡命令进行调用。此处需要说明,所述负载均衡命令不是HDFS内部已有的负载均衡调整命令,HDFS内部的负载均衡命令,主要是按照服务器上的数据块分布容量进行均衡处理的。而本实施例的负载均衡方法则是按照服务器正在被使用的忙闲情况进行处理,需要在HDFS系统内实现根据服务器的忙闲度处理的一个负载均衡调整模块。调用本实施例的负载均衡调整模块须在HDFS客户端增加新的API,以允许上层的应用调用。在本实施例中HDFS内部的负载均衡命令没有得到调用。
[0072] 示例性的,如果云教室系统中的其中一个云教室在连续两个时间点负载量增加30%及以上,则测量该云教室连续两个时间点的用户响应时间变化值。当该云教室连续两个时间点的用户响应时间增加值大于等于20%,资源配置装置调用负载均衡应用程序编程接口对负载均衡命令进行调用。
[0073] S103、资源配置装置根据所述调用信息对所述第一云教室的服务器进行负载均衡。
[0074] 资源配置装置对负载均衡命令进行调用,根据服务器正在被使用的忙闲情况对第一云教室进行负载均衡处理。在实际系统的模拟测试中,采用本实施例的负载均衡方法在同等用户、同等负载以及同样HDFS服务器的情况下,可以有效提升129%左右的I/O性能。
[0075] 本发明实施例提供的资源配置方法,能够避免现有的负载均衡方法中对服务器的增减而造成的资源使用力度过大的问题,同时解决了由于数据频繁的读写造成的云教室整体性能下降的问题,有效提升了云教室的I/O性能,具有高吞吐量、高可扩展性以及高容错性。
[0076] 实施例二
[0077] 本发明实施例提供一种资源配置方法,如图2所示,所述方法可以包括:
[0078] S201、资源配置装置每隔第一预设时间获取云教室系统中每一个云教室的负载量和用户响应时间,分别确定所述每一个云教室连续两个时间点的负载量变化值。
[0079] 一个云教室系统中包含多个云教室,每隔第一预设时间对云教室系统中每一个云教室的负载量和用户响应时间进行监测,获得每一个云教室在两个连续的时间点负载量变化值。
[0080] S202、资源配置装置确定所述负载量变化值大于等于第一预设值的云教室为第一云教室,当所述第一云教室连续两个时间点的用户响应时间变化值大于等于第二预设值时,调用负载均衡应用程序编程接口,获取调用信息。
[0081] 当云教室系统中的其中一个云教室在连续两个时间点出现负载量剧增时,测量该云教室连续两个时间点的用户响应时间变化值。如果该云教室连续两个时间点的用户响应时间明显变长,那么资源配置装置调用负载均衡应用程序编程接口对负载均衡命令进行调用。
[0082] S203、资源配置装置根据所述第一云教室中每一个服务器的单位时间内输入/输出负载总量、单位时间内读写操作数和单位时间内数据块读写总量确定所述每一个服务器的忙闲度值,确定所述忙闲度值最大的服务器为第一服务器,确定所述忙闲度值最小的服务器为第二服务器。
[0083] 每一个云教室由多个服务器组成,资源配置装置计算第一云教室中每一个服务器的忙闲度值。按照以下公式计算获得各个服务器的忙闲度值B:
[0084] B=M*(M2/M1)*(N2/N1)
[0085] 其中,所述M为服务器在单位时间内的输入/输出负载总量;所述M1为服务器在单位时间内的读操作数;所述M2为服务器在单位时间内的写操作数;所述N1为服务器在单位时间内的数据块读出总量;所述N2为服务器在单位时间内的数据块写入总量。
[0086] 由上述公式可知,服务器的忙闲度值B越大,表明所述服务器的负载量越大,服务器越忙;反之,服务器的忙闲度值B越小,表明所述服务器的负载量越小,服务器越闲。
[0087] 忙闲度值最大的服务器为第一服务器,即最忙的服务器;忙闲度值最小的服务器为第二服务器,即最闲的服务器。对一个云教室中每一服务器进行忙闲度的计算时,可能会出现几个服务器的忙闲度相同,均为最大值或几个服务器的忙闲度相同,均为最小值的情况。这种情况下,只选取一个忙闲度最大的服务器为第一服务器,同样,只选取一个忙闲度最小的服务器为第二服务器。
[0088] S204、资源配置装置确定所述第一服务器中单位时间内读写操作总数最大的数据块为第一数据块。
[0089] 具体的,在最忙的服务器中,用户在单位时间内读写操作最多的数据块是最忙的数据块。资源配置装置定位出最忙的数据块,对最忙的数据块进行迁移,执行负载均衡。
[0090] 云教室管理的粒度是服务器,而不是数据块。即当I/O性能出现问题的时候,通过增加服务器数量而提升性能,当不需要的时候将减少服务器数量。该方法管理粒度过粗,资源使用力度过大。因此本实施例对最忙服务器的最忙数据块进行处理,合理的调整和支配了可用资源。
[0091] S205、资源配置装置将所述第一数据块复制到第二服务器,删除所述第一服务器中的第一数据块。
[0092] 具体的,在资源配置装置将最忙的数据块复制到最闲的服务器上之后,将最忙服务器上的最忙数据块删除。
[0093] S206、资源配置装置获取所述第一数据块的备份数据存储的第三服务器和第四服务器。
[0094] 在本发明实施例的HDFS中,默认每一个数据块除数据块本身之外还存放2个备份数据块。第一数据块的备份数据存储在除第一服务器以外的任意两个服务器中。
[0095] 所述备份数据块的数目也可以根据需要进行设置,本发明中不做具体限定。
[0096] S207、当所述第三服务器或第四服务器与所述第二服务器相同时,资源配置装置将所述第一数据块的备份数据存储在所述第一云教室中除所述第一服务器、所述第二服务器、所述第三服务器和所述第四服务器外的任一服务器。
[0097] 由于备份数据与主数据不能在同一个服务器当中,因此,当第一数据块的其中一个备份数据存储在了第二服务器中时,第一数据块的主数据与备份数据同时保存在了第二服务器中,需要对第一数据块的备份数据进行调整,对备份数据进行迁移。将第一数据块的备份数据存储在第一云教室中除第一服务器、第二服务器、第三服务器和第四服务器外的任一服务器中。
[0098] 本发明实施例提供的资源配置方法,能够避免现有的负载均衡方法中对服务器的增减而造成的资源使用力度过大的问题,同时解决了由于数据频繁的读写造成的云教室整体性能下降的问题,有效提升了云教室的I/O性能,具有高吞吐量、高可扩展性以及高容错性。
[0099] 实施例三
[0100] 本发明实施例提供一种资源配置方法,如图3所示,所述方法可以包括:
[0101] S301、资源配置装置获取写操作命令,将云教室相同的写操作命令排列在同一个队列,所述写操作命令携带第一数据块。
[0102] 不同的云教室有不同的云教室编号,将同一个云教室的写操作命令排列在同一个写命令队列中。写命令有一个缓冲区,其指针指向该缓冲区,该缓冲区存储具体的数据。
[0103] 基于大数据技术的云教室对于大量的小数据读写是非常敏感的,其可以大幅降低云教室的用户性能,这是因为大数据主要处理大文件和流式数据造成的。
[0104] 在各种复杂的云教室环境中,经常遇到某个教室频繁的小文件读写操作,或者是多个云教室频繁的小文件读操作,或者多个云教室频繁的小文件写操作,其会影响整个云教室平台的用户性能。因此,针对大数据技术的云教室特点,本实施例提供了小文件写情况下的延迟写方法。
[0105] S302、当所述第一数据块小于第一预设值倍的预设数据块,且云教室第一预设时间的写操作数大于第二预设值倍的云教室每分钟写操作平均数时,资源配置装置每隔第二预设时间获取写操作命令。
[0106] HDFS中默认的基本存储单位是大小为64M的数据块,即标准数据块大小是64M。本实施例中预设数据块为标准数据块。示例性的,如果第一数据块小于1/5倍标准数据块大小,则计算云教室写操作的频繁度。云教室每分钟写操作数的平均数为X,云教室最近1分钟写操作数为Y,当Y>3X时,云教室的写操作是频繁的。当云教室的写操作频繁时,资源配置装置每隔2ms获取该写命令队列中的下一个写操作命令。
[0107] S303、资源配置装置将所述获取的写操作命令延时第三预设时间,获取第三预设值个所述写操作命令,其中,所述第一预设值与所述第三预设值之积为1。
[0108] 资源配置装置将每次获取到的写操作命令延时2ms,如果所述写操作命令均小于1/5倍标准数据块大小且云教室的写操作是频繁的,则获取5个所述写操作命令,将5个写操作命令整合,形成完整的写操作命令。
[0109] 本实施例中,第一预设值倍数也可设为其他值,本发明中不做具体限定,但需满足所述第一预设值与所述第三预设值之积为1。
[0110] S304、资源配置装置获取所述第三预设值个写操作命令的服务器编号,执行所述第三预设值个写操作命令。
[0111] 在步骤S303中,整合5个写操作命令,形成完整的写操作命令,资源配置装置向元节点获取该整合后的命令的服务器编号,执行写操作命令,将该整合后的命令写入对应的服务器,完成延迟写操作。
[0112] 本发明实施例提供的资源配置方法,能够避免现有的负载均衡方法中对服务器的增减而造成的资源使用力度过大的问题,同时解决了由于数据频繁的读写造成的云教室整体性能下降的问题,有效提升了云教室的I/O性能,具有高吞吐量、高可扩展性以及高容错性。
[0113] 实施例四
[0114] 本发明实施例提供一种资源配置方法,如图4所示,所述方法可以包括:
[0115] S401、资源配置装置获取读操作命令,将云教室相同的读操作命令排列在同一个队列,所述读操作命令携带第一数据块。
[0116] 按照云教室的编号将同一个云教室的读操作命令排列在同一个云教室读命令队列中。
[0117] 在基于大数据技术的云教室中大量且频繁的小数据读操作会大幅降低用户性能。针对大数据技术的云教室特点,本实施例提供了小文件读情况下的预先读方法。
[0118] S402、当所述第一数据块小于预设数据块时,资源配置装置确定所述第一数据块所在的队列中与所述第一数据块相邻的数据块。
[0119] 与步骤S302相同,本实施例预设数据块为标准数据块,即64M。当第一数据块小于标准数据块大小时,资源配置装置向元节点获取第一数据块和该云教室读命令队列中的下一个读命令的数据块号和服务器号。将该云教室读命令队列中的下一个读命令的数据块与第一数据块物理地址比较,如果所述数据块物理地址相邻,则确定该云教室读命令队列中的下一个读命令的数据块与第一数据块相邻。
[0120] S403、当所述与所述第一数据块相邻的数据块为未读取数据块时,资源配置装置将读取的数据块增加至第一预设数值倍的所述预设数据块,执行读操作。
[0121] 当该云教室读命令队列中的下一个读命令的数据块是未读取的数据块时,将所要读取的第一数据块增加至2倍标准数据块大小,将该云教室读命令队列中的下一个读命令的数据块包含进去。数据块增加后,形成了一条扩展后的读命令,执行该读命令,完成预先读操作。在云教室模式下,HDFS系统单独采用实施例三与实施例四的延迟写、预先读方法,可以有效提升42%左右的云教室I/O性能。延迟写、预先读方法是针对频繁的小数据块读写命令而实现的新方法,在具体实现中以软件形式呈现,存放到HDFS客户端所在的服务器上。
[0122] 本发明实施例提供的资源配置方法,能够避免现有的负载均衡方法中对服务器的增减而造成的资源使用力度过大的问题,同时解决了由于数据频繁的读写造成的云教室整体性能下降的问题,有效提升了云教室的I/O性能,具有高吞吐量、高可扩展性以及高容错性。
[0123] 实施例五
[0124] 本发明实施例提供一种资源配置方法,如图5所示,所述方法可以包括:
[0125] S501、资源配置装置获取写操作命令,当云教室第一预设时间的写操作数大于第一预设值倍的云教室每分钟写操作平均数时,根据所述写操作命令确定备份操作命令。
[0126] 因为大数据HDFS系统在写数据的时候通过2次备份来提高数据的高容错性,因此在云教室写操作不频繁情况下,在写数据的时候同时实现数据备份,可以有效提高系统的容错性。但是在云教室写频繁,尤其是多个云教室同时频繁写的时候同时实现数据备份会对云教室系统I/O性能带来巨大的影响,因此本实施例提供了云教室写操作频繁情况下的后备份方法。
[0127] HDFS客户端接收云教室发送的写操作命令,判断云教室写操作的频繁情况,如果云教室写操作频繁,则采用后备份技术。云教室写操作的频繁情况根据云教室第一预设时间的写操作数与第一预设值倍的云教室每分钟写操作平均数来确定,具体的云教室写操作频繁情况的判断方法与步骤S302中所述相同。在备份操作之前需要根据云教室的写操作命令确定备份操作命令。
[0128] S502、资源配置装置将未执行的所述备份操作命令排列在后备份队列表中。
[0129] HDFS客户端从元节点获取数据节点中数据块的存放位置以及备份数据存放位置。HDFS客户端将数据写入主服务器上,将未执行的备份操作命令排列在后备份队列表中。
[0130] S503、当第二预设时间的写操作数大于第二预设值时,资源配置装置将所述备份操作命令延时第二预设时间。
[0131] 若查询后备份队列表时存在未执行的备份操作命令,则对HDFS写操作频繁情况进行判断。当第二预设时间的写操作数大于第二预设值时,HDFS写操作频繁。示例性的,最近1分钟HDFS的写操作数为N,如果N>5,则判定HDFS写操作频繁。当确定HDFS写操作频繁时,将备份操作命令延时2ms,再次查询后备份队列表中未执行的备份操作命令。
[0132] S504、当第二预设时间的写操作数小于等于第二预设值时,资源配置装置获取所述后备份队列表中第一个备份操作命令,所述第一个备份操作命令携带第一数据块。
[0133] 当确定HDFS写操作不频繁时,开始执行后备份操作。获取后备份队列表中第一个备份操作命令,该备份操作命令携带第一数据块。
[0134] S505、资源配置装置确定所述第一数据块在主服务器上的数据信息,将所述数据信息写入除主服务器以外的任意两个不同的服务器上。
[0135] 由于主服务器上的数据信息与两个备份数据信息不能存储在相同的服务器上,因此资源配置装置得到第一数据块在主服务器上的数据信息后,将该数据信息写入除主服务器以外的任意两个不同的服务器上就可完成后备份操作。
[0136] 本发明实施例提供的资源配置方法,能够避免现有的负载均衡方法中对服务器的增减而造成的资源使用力度过大的问题,同时解决了由于数据频繁的读写造成的云教室整体性能下降的问题,有效提升了云教室的I/O性能,具有高吞吐量、高可扩展性以及高容错性。
[0137] 实施例六
[0138] 本发明实施例提供一种资源配置装置6,如图6所示,所述装置包括:第一获取单元601、第一确定单元602、第一调用单元603和第一处理单元604,其中,
[0139] 所述第一获取单元601,用于每隔第一预设时间获取云教室系统中每一个云教室的负载量和用户响应时间;
[0140] 所述第一确定单元602,用于分别确定所述每一个云教室连续两个时间点的负载量变化值;还用于确定所述负载量变化值大于等于第一预设值的云教室为第一云教室;
[0141] 所述第一调用单元603,用于当所述第一云教室连续两个时间点的用户响应时间变化值大于等于第二预设值时,调用负载均衡应用程序编程接口,获取调用信息;
[0142] 所述第一处理单元604,用于根据所述调用信息对所述第一云教室的服务器进行负载均衡。
[0143] 进一步地,所述调用信息至少包括:所述第一云教室中每一个服务器的第一编号、所述每一个服务器中数据块的第二编号,其中,所述第一云教室中每一个服务器包括至少一个数据块;
[0144] 所述第一确定单元602,用于根据所述第一云教室中每一个服务器的单位时间内输入/输出负载总量、单位时间内读写操作数和单位时间内数据块读写总量确定所述每一个服务器的忙闲度值,确定所述忙闲度值最大的服务器为第一服务器,确定所述忙闲度值最小的服务器为第二服务器;还用于确定所述第一服务器中单位时间内读写操作总数最大的数据块为第一数据块;
[0145] 所述第一处理单元604,用于将所述第一数据块复制到第二服务器,删除所述第一服务器中的第一数据块;还用于当所述第三服务器或第四服务器与所述第二服务器相同时,将所述第一数据块的备份数据存储在所述第一云教室中除所述第一服务器、所述第二服务器、所述第三服务器和所述第四服务器外的任一服务器;
[0146] 所述第一获取单元601,用于获取所述第一数据块的备份数据存储的第三服务器和第四服务器。
[0147] 具体的,本发明实施例提供的资源配置装置的说明可以参考实施例一至实施例二的资源配置方法的说明,本发明实施例在此不再赘述。
[0148] 在实际应用中,所述第一获取单元601、第一确定单元602、第一调用单元603和第一处理单元604均可由位于资源配置装置6中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。
[0149] 本发明实施例提供的资源配置装置,能够避免现有的负载均衡方法中对服务器的增减而造成的资源使用力度过大的问题,同时解决了由于数据频繁的读写造成的云教室整体性能下降的问题,有效提升了云教室的I/O性能,具有高吞吐量、高可扩展性以及高容错性。
[0150] 实施例七
[0151] 本发明实施例提供一种资源配置装置7,如图7所示,所述装置包括:第二获取单元701、第二处理单元702,其中,
[0152] 所述第二获取单元701,用于获取写操作命令,将云教室相同的写操作命令排列在同一个队列,所述写操作命令携带第一数据块;还用于当所述第一数据块小于第一预设值倍的预设数据块,且云教室第一预设时间的写操作数大于第二预设值倍的云教室每分钟写操作平均数时,每隔第二预设时间获取写操作命令;还用于获取第三预设值个所述写操作命令,其中,所述第一预设值与所述第三预设值之积为1;还用于获取所述第三预设值个写操作命令的服务器编号;
[0153] 所述第二处理单元701,用于将所述获取的写操作命令延时第三预设时间;还用于执行所述第三预设值个写操作命令。
[0154] 具体的,本发明实施例提供的资源配置装置的说明可以参考实施例三的资源配置方法的说明,本发明实施例在此不再赘述。
[0155] 在实际应用中,所述第二获取单元701和第二处理单元702均可由位于资源配置装置7中的CPU、MPU、DSP、或FPGA等实现。
[0156] 本发明实施例提供的资源配置装置,能够避免现有的负载均衡方法中对服务器的增减而造成的资源使用力度过大的问题,同时解决了由于数据频繁的读写造成的云教室整体性能下降的问题,有效提升了云教室的I/O性能,具有高吞吐量、高可扩展性以及高容错性。
[0157] 实施例八
[0158] 本发明实施例提供一种资源配置装置8,如图8所示,所述装置包括:第三获取单元801、第三确定单元802、第三处理单元803,其中,
[0159] 所述第三获取单元801,用于获取读操作命令,将云教室相同的读操作命令排列在同一个队列,所述读操作命令携带第一数据块;
[0160] 所述第三确定单元802,用于当所述第一数据块小于预设数据块时,确定所述第一数据块所在的队列中与所述第一数据块相邻的数据块;
[0161] 所述第三处理单元803,用于当所述与所述第一数据块相邻的数据块为未读取数据块时,将读取的数据块增加至第一预设数值倍的所述预设数据块,执行读操作。
[0162] 具体的,本发明实施例提供的资源配置装置的说明可以参考实施例四的资源配置方法的说明,本发明实施例在此不再赘述。
[0163] 在实际应用中,所述第三获取单元801、第三确定单元802和第三处理单元803均可由位于资源配置装置8中的CPU、MPU、DSP、或FPGA等实现。
[0164] 本发明实施例提供的资源配置装置,能够避免现有的负载均衡方法中对服务器的增减而造成的资源使用力度过大的问题,同时解决了由于数据频繁的读写造成的云教室整体性能下降的问题,有效提升了云教室的I/O性能,具有高吞吐量、高可扩展性以及高容错性。
[0165] 实施例九
[0166] 本发明实施例提供一种资源配置装置9,如图9所示,所述装置包括:第四获取单元901、第四确定单元902、第四处理单元903,其中,
[0167] 所述第四获取单元901,用于获取写操作命令;还用于当第二预设时间的写操作数小于等于第二预设值时,获取所述后备份队列表中第一个备份操作命令,所述第一个备份操作命令携带第一数据块;
[0168] 所述第四确定单元902,用于当云教室第一预设时间的写操作数大于第一预设值倍的云教室每分钟写操作平均数时,根据所述写操作命令确定备份操作命令;还用于确定所述第一数据块在主服务器上的数据信息;
[0169] 所述第四处理单元903,用于将未执行的所述备份操作命令排列在后备份队列表中;还用于当第二预设时间的写操作数大于第二预设值时,将所述备份操作命令延时第二预设时间;还用于将所述数据信息写入除主服务器以外的任意两个不同的服务器上。
[0170] 具体的,本发明实施例提供的资源配置装置的说明可以参考实施例五的资源配置方法的说明,本发明实施例在此不再赘述。
[0171] 在实际应用中,所述第四获取单元901、第四确定单元902和第四处理单元903均可由位于资源配置装置9中的CPU、MPU、DSP、或FPGA等实现。
[0172] 本发明实施例提供的资源配置装置,能够避免现有的负载均衡方法中对服务器的增减而造成的资源使用力度过大的问题,同时解决了由于数据频繁的读写造成的云教室整体性能下降的问题,有效提升了云教室的I/O性能,具有高吞吐量、高可扩展性以及高容错性。
[0173] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0174] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0175] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0176] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0177] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。