用于分布式计算的资源分配方法、计算加速方法以及装置的制造方法_4

文档序号:8319209阅读:来源:国知局
长度获取子单元,用于根据所述计算资源单位的预期值获取与之对应的计算资源可处理的数据文件长度;调整因子计算子单元,用于计算所述可处理的数据文件长度与所述待执行计算作业的数据文件的实际长度的比值,作为调整因子。
[0133]可选的,所述文件长度调整单元包括:调整因子判断子单元,用于判断所述调整因子是否大于I;膨胀操作执行子单元,用于在所述调整因子大于I时,对所述数据文件实施膨胀操作,使所述数据文件的长度增大到所述计算资源可处理的数据文件长度;并在所述调整因子小于或者等于I时,不调整所述数据文件的长度。
[0134]可选的,所述膨胀操作执行子单元包括:拼接长度计算子单元,用于根据所述调整因子估算需拼接的冗余字段的长度;字段拼接子单元,用于在所述待执行计算作业的数据文件中增加可增删的伪列并拼接所述长度的冗余字段。
[0135]可选的,所述字段拼接子单元,具体用于采用自定义SQL语句的方法,在所述待执行计算作业的数据文件中增加可增删的伪列并拼接所述长度的冗余字段。
[0136]可选的,所述膨胀操作执行子单元包括:关联文件长度估算子单元,用于根据所述调整因子估算关联文件的长度;关联文件选择子单元,用于根据所述关联文件的长度,选择满足下述条件的关联文件,该关联文件通过外键与所述待执行计算作业的数据文件进行关联后,所述待执行计算作业的数据文件的长度增大到所述计算资源可处理的数据文件长度;关联执行子单元,用于采用数据库的关联方法,将所述待执行计算作业的数据文件作为主文件与所述关联文件进行关联拼接。
[0137]可选的,所述计算资源分配单元包括:资源数目获取子单元,用于获取所述调整后的数据文件的长度与一个计算资源单位可处理的数据文件的长度的比值,以大于或等于该比值的最小整数作为需要分配的计算资源单位的数目;资源分配执行子单元,用于为所述数据文件分配相应数目的计算资源单位。
[0138]与上述的用于分布式计算的资源分配方法相对应的,本申请还提供一种用于分布式计算的计算加速方法。请参考图3,其为本申请提供的一种用于分布式计算的计算加速方法的实施例的流程示意图,本实施例与第一实施例步骤相同的部分不再赘述,下面重点描述不同之处。本申请提供的一种用于分布式计算的计算加速方法包括:
[0139]步骤301:获取待执行计算作业的数据文件的实际长度。
[0140]在本实施例的一个具体例子中,待执行计算作业的数据文件是一个需要作大当量级运算的元数据文件,通过读取计算平台的元数据库中的用于记录所述元数据文件长度的字段,获取所述元数据文件长度为300MB。
[0141]步骤302:根据所述待执行计算作业的数据文件的计算规模以及所述数据文件的实际长度获取所述数据文件的文件长度的调整因子。
[0142]本实施例中,提供的用于分布式计算的计算加速方法,在为待执行计算作业的数据文件分配计算资源时,要考虑数据文件自身的特性,即:数据文件涉及的计算规模的大小,并根据计算规模大小调整数据文件的长度,实现为其分配与其计算规模相匹配的计算资源的目的。因此,在调整数据文件的长度之前,要根据待执行计算作业的数据文件的计算规模以及该文件的实际长度获取调整其文件长度的调整因子,该过程通过以下6个步骤实现:
[0143]I)估算所述待执行计算作业的数据文件的计算规模。
[0144]本实施例的一个具体例子中,待执行的计算作业是:在海量的网站登录日志数据集里,抓取所有同IP登录的会员,给这些会员两两打上同IP登录的标签。当前待执行计算作业的元数据文件中有十万个用户的登录IP都相同,给这些会员两两打上同IP登录的标签,需要执行10万XlO万=100亿次处理,生成100亿对会员同IP登录的标签数据,计算规模为100亿。
[0145]2)根据所述待执行计算作业的数据文件的计算规模估算为所述数据文件分配计算资源单位的预期值。
[0146]根据上述步骤中获取的计算规模,以及在分布式计算平台中每个计算资源单位可以处理的计算规模,计算二者的比值,即为:为所述数据文件分配计算资源单位的预期值。
[0147]在本实施例的一个具体例子中,步骤I)中估算的待执行计算作业的元数据文件的计算规模为:100亿次计算处理,而每个计算资源单位可以处理I亿次的计算量,因此,需要为待执行计算作业的数据文件分配计算资源单位的预期值就是:100亿/I亿=100个。
[0148]3)获取计算平台可提供的计算资源单位的数目。
[0149]在本实施例的一个具体例子中,获取的计算平台可提供的计算资源单位的数目是1000。
[0150]4)判断所述计算平台可提供的计算资源单位的数目与所述计算资源单位的预期值的大小;如果所述计算平台可提供的计算资源单位的数目小于所述计算资源单位的预期值,则采用所述计算平台可提供的计算资源单位的数目作为所述计算资源单位的预期值。
[0151]本申请提供的用于分布式计算的资源分配方法,其核心在于,根据待执行计算作业的数据文件的计算规模,调整所述数据文件的长度,并根据调整后的长度为所述数据文件分配计算资源。因此,在步骤2)中根据所述数据文件的计算规模获取了为所述数据文件分配计算资源单位的预期值后,就可以直接进行后续的计算调整因子、调整数据文件长度等步骤。之所以要在步骤3)中获取计算平台可提供的计算资源单位的数目,并且在本步骤4)中判断所述计算平台可提供的计算资源单位的数目与所述计算资源单位的预期值的大小,是为了获取更优的实施效果。
[0152]在分布式计算平台中,计算资源是一种有限的资源,随着计算作业的展开,计算资源单位会被逐渐消耗,可利用的计算资源单位会越来越少,可能会出现这样的情况:可用的空闲的计算资源单位的数目,少于待执行计算作业的数据文件所需的计算资源单位的数目;在这种情况下,无法根据待执行计算作业的数据文件的需求为其分配计算资源,自然就无法启动针对所述数据文件的计算作业。
[0153]为了避免出现上述情况,为了使待执行计算作业的数据文件能够顺利地分配到资源,从而开始后续的计算作业,本申请提供的方法提供了一种优选的实施方式,即在根据所述数据文件的计算规模估算计算资源单位的预期值之后,还要兼顾考虑分布式计算平台可提供的计算资源单位的数目,如果所述计算平台可提供的计算资源单位的数目小于所述计算资源单位的预期值,则采用所述计算平台可提供的计算资源单位的数目作为所述计算资源单位的预期值。
[0154]这样,在计算资源充足的情况下,可以为所述数据文件分配与其计算规模相匹配的计算资源;在计算资源不足的情况下,可以为所述数据文件分配计算平台可提供的计算资源单位,从而保证计算作业得以执行。
[0155]在本实施例的一个具体例子中,步骤2)根据所述元数据文件的计算规模估算计算资源单位的预期值为100,步骤3)中获取的计算平台可提供的计算资源单位的数目是1000,说明当前计算平台的计算资源是充足的,因此所述计算资源单位的预期值仍然为100,不用根据计算平台可提供的计算资源单位的数目进行重置。
[0156]5)根据所述计算资源单位的预期值获取与之对应的计算资源可处理的数据文件长度。
[0157]上述步骤2)中,根据所述待执行计算作业的数据文件的计算规模估算出了为所述数据文件分配计算资源单位的预期值,用所述计算资源单位的预期值乘以一个计算资源单位可以处理的数据文件的长度,就可以获取与所述计算资源单位的预期值对应的计算资源可处理的数据文件长度。
[0158]在本实施例的一个具体例子中,为所述元数据文件分配计算资源单位的预期值为100,一个计算资源单位可以处理的数据文件长度为320MB,两者相乘,估算出预期分配的100个计算资源单位可处理的元数据文件长度为320MB xl00=31.25GB。
[0159]6)计算所述可处理的数据文件长度与所述待执行计算作业的数据文件的实际长度的比值,作为调整因子。
[0160]在本实施例的一个具体例子中,预计分配给所述元数据文件的100个计算资源单位可处理的元数据文件长度为31.25GB,在步骤301中,获取待执行计算作业的元数据文件的实际长度为300MB,因此,对所述待执行计算作业的元数据文件的文件长度进行调整的调整因子为:31.25GB/300MB=106.7。
[0161]步骤303:根据所述调整因子调整所述待执行计算作业的数据文件的长度。
[0162]首先要判断所述调整因子大小。
[0163]如果所述调整因子小于或者等于1,说明根据待执行计算作业的数据文件的实际长度,采用常规的计算资源分配方法,就可以为其分配足够的计算资源,因此这两种情况下不需要调整所述数据文件的长度。
[0164]如果所述调整因子大于1,要对所述数据文件实施膨胀操作,使所述数据文件的长度增大到预计为其分配的计算资源可处理的数据文件长度。
[0165]本实施例中,根据计算得到的调整因子,采用增加伪列并拼接冗余字段的方式对所述元数据文件实施膨胀操作,使所述元数据文件的长度增大到所述计算资源可处理的数据文件的长度。
[0166]首先估算需拼接的冗余字段的长度。
[0167]在本实施例的一个具体例子中,调整因子是106.7,所述元数据文件长度为300MB,总共有10万条数据记录,每条数据记录的长度为300MB/10万=3.1KB,如果膨胀106.7倍,每条数据记录需要拼接一个长度为(3.1KB xl06.7) -3.1KB=327.7KB的冗余字段。
[0168]然后,在所述待执行计算作业的数据文件中增加可增删的伪列并拼接所述长度的冗余字段。
[0169]在本实施例的一个具体例子中,采用自定义SQL的方法在所述元数据文件增加伪列并拼接所述长度的冗余字段。具体采用“alter table[table_name]add[column_name]type...”这样的SQL语句在所述
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1