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

文档序号:8319209阅读:来源:国知局
元数据文件中增加一个伪列,然后为每个数据记录拼接一个长度为327.7KB的冗余字段,在执行上述增加伪列的操作时,要设置所述伪列是可增可删的,这样便于在完成计算资源的分配后,还原原始数据文件。
[0170]对数据文件实施膨胀操作,除了可以采用上述增加伪列并拼接冗余字段的方式,还可以采用数据库的关联Join方法来实现。
[0171]通过数据库的关联操作,可以将数据库中的两个表通过关联键建立联系,从表中的列按照关联规则拼接到主表中,从而增大主表数据文件的长度。
[0172]采用关联方法,要首先根据所述调整因子估算关联文件的长度;然后根据所述关联文件的长度,选择满足下述条件的关联文件:该关联文件通过外键与所述待执行计算作业的数据文件进行关联后,所述待执行计算作业的数据文件的长度增大到所述计算资源可处理的数据文件长度;最后,采用数据库的关联方法,将所述待执行计算作业的数据文件作为主文件与所述关联文件进行关联拼接。
[0173]当然在其他的实施方式中,并不局限于采用上述自定义SQL的方法或者是关联方法实现待执行计算作业的数据文件的膨胀操作,也可以采用其他能实现所述功能的方法,本申请对此不做限定。
[0174]步骤304:根据调整后的待执行计算作业的数据文件的长度,分配计算资源。
[0175]首先,计算为待执行计算作业的数据文件分配资源单位的数目。
[0176]步骤303中,已经对待执行计算作业的数据文件执行了必要的膨胀操作,完成了调整所述数据文件长度的操作,在本步骤中获取所述调整后的数据文件的长度与一个计算资源单位可处理的数据文件的长度的比值,以大于或等于该比值的最小整数作为需要分配的计算资源单位的数目。
[0177]在本实施例的一个具体例子中,执行完步骤303所述的字段拼接操作后,所述调整后的元数据文件的长度为31.25GB,而预先设置的一个计算资源单位可以处理的数据文件的长度为320MB,那么需要为本实施例中的元数据文件分配的计算资源单位的数目为:31.25GB/320MB=100。
[0178]然后,为所述数据文件分配相应数目的计算资源单位。
[0179]在本实施例的一个具体例子中,按照分布式计算平台的计算资源分配方法,为所述待执行计算作业的元数据文件分配100个计算资源单位。
[0180]步骤305:利用分配的计算资源,执行所述数据文件的计算作业。
[0181]分布式计算项目通常都涉及很庞大的计算量,仅仅由单一的计算设备在一个能够接受的时间内完成整个计算作业通常是不可能的,因此要将整个计算项目划分成若干个子作业,为每个子作业分配可用的闲置资源并进行计算。
[0182]在本实施例的一个具体例子中,涉及的分布式计算项目,是在海量的网站登录日志数据集里,抓取所有相同IP登录的会员,并给这些会员两两打上相同IP登录的标签,计算量很庞大。例如,本实施例中所述元数据文件中包含10万个会员的登录IP都是相同的,因此要执行100亿次打标签的操作。由于本申请提供的分布式计算的计算加速方法,采用根据所述元数据文件的计算规模调整所述元数据文件的长度、并根据调整后的长度分配计算资源的方法,为所述元数据文件分配了充足的计算资源单位:100个计算资源单位,因此可以有效加快所述元数据文件参与的计算作业的执行速度。
[0183]步骤306:判断所述调整因子是否大于I ;若是,将执行完计算作业的数据文件恢复为原始数据文件。
[0184]本实施例提供的用于分布式计算平台的计算加速方法,在进行资源分配阶段,有可能对所述待执行计算作业的数据文件实施了膨胀操作,为了保持所述数据文件的原始内容,同时为了节省计算平台的存储空间,在完成计算作业后,还应该恢复恢复所述数据文件的原始内容,即:删除因为实施数据膨胀,而向所述数据文件中添加的数据。
[0185]首先,判断所述调整因子是否大于I ;若是,执行后续的恢复原始数据文件的操作;若否,不需要执行后续的恢复原始数据文件的操作。
[0186]然后,对于调整因子大于I的情况,执行恢复原始数据文件的操作。在本实施例的一个具体例子中,因为所述调整因子为106.7,需要对调整长度后的元数据文件实施恢复操作,米用类似“alter table [tab I e_name] drop column [column_name] ” 这样的 SQL 语句从调整长度后的元数据文件中删除实施膨胀操作时增加的伪列。
[0187]在其他实施方式中,如果实施数据文件膨胀操作时,采用的是数据库的关联join方法,那么在本步骤中,要删除所述数据文件因为与从属关联文件进行关联拼接,而新增的列。
[0188]在本实施例的一个具体例子中,采用了自定义SQL的方法删除伪列,在其他实施方式中,也可以采用其他方法,只要达到还原原始数据文件的目的即可,本申请不对具体方法做出限定。
[0189]本申请提供的用于分布式计算的计算加速方法,在为待执行计算作业的数据文件分配计算资源时,首先估算数据文件涉及的计算规模,并根据计算规模大小调整数据文件的长度,然后根据调整后的数据文件的长度,为数据文件分配与其计算规模相匹配的计算资源,从而加快数据文件参与的计算作业的执行速度,缩短运算时间,避免出现因为计算资源分配不足而导致的耗时冗长的情况,从而提高整个计算作业的效率。
[0190]在上述的实施例中,提供了一种用于分布式计算的计算加速方法,与之相对应的,本申请还提供一种用于分布式计算的计算加速装置。请参看图4,其为本申请一种用于分布式计算的计算加速装置的实施例示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
[0191]本实施例的一种用于分布式计算的计算加速装置,包括:文件长度获取单元401,用于获取待执行计算作业的数据文件的实际长度;调整因子获取单元402,用于根据所述待执行计算作业的数据文件的计算规模以及所述数据文件的实际长度获取所述数据文件的文件长度的调整因子;文件长度调整单元403,用于根据所述调整因子调整所述待执行计算作业的数据文件的长度;计算资源分配单元404,用于根据调整后的待执行计算作业的数据文件的长度,分配计算资源;计算作业执行单元405,用于利用分配的计算资源,执行所述数据文件的计算作业;判断及数据文件恢复单元406,用于判断所述调整因子是否大于I ;并在所述调整因子大于I时将执行完计算作业的数据文件恢复为原始数据文件。
[0192]可选的,所述文件长度获取单元,具体用于通过读取所述数据文件头中的文件长度字段获取所述数据文件的实际长度;或者通过读取计算平台的元数据库中的用于记录所述数据文件长度的字段获取所述数据文件的实际长度。
[0193]可选的,所述调整因子获取单元包括:计算规模估算子单元,用于估算所述待执行计算作业的数据文件的计算规模;计算资源估算子单元,用于根据所述待执行计算作业的数据文件的计算规模,估算为所述数据文件分配计算资源单位的预期值;可处理文件长度获取子单元,用于根据所述计算资源单位的预期值,获取与之对应的计算资源可处理的数据文件长度;调整因子计算子单元,用于计算所述可处理的数据文件长度与所述待执行计算作业的数据文件的实际长度的比值,作为所述的调整因子。
[0194]可选的,所述调整因子获取单元包括:计算规模估算子单元,用于估算所述待执行计算作业的数据文件的计算规模;计算资源估算子单元,用于根据所述待执行计算作业的数据文件的计算规模估算为所述数据文件分配计算资源单位的预期值;可用资源获取子单元,用于获取计算平台可提供的计算资源单位的数目;资源判断子单元,用于判断所述计算平台可提供的计算资源单位的数目与所述计算资源单位的预期值的大小;如果所述计算平台可提供的计算资源单位的数目小于所述计算资源单位的预期值,则采用所述计算平台可提供的计算资源单位的数目作为所述计算资源单位的预期值;可处理文件长度获取子单元,根据所述计算资源单位的预期值获取与之对应的计算资源可处理的数据文件长度;调整因子计算子单元,计算所述可处理的数据文件长度与所述待执行计算作业的数据文件的实际长度的比值,作为调整因子。
[0195]可选的,所述文件长度调整单元包括:调整因子判断子单元,用于判断所述调整因子是否大于I;膨胀操作执行子单元,用于在所述调整因子大于I时,对所述数据文件实施膨胀操作,使所述数据文件的长度增大到所述计算资源可处理的数据文件长度;并在所述调整因子小于或者等于I时,不调整所述数据文件的长度。
[0196]可选的,所述膨胀操作执行子单元包括:拼接长度计算子单元,用于根据所述调整因子估算需拼接的冗余字段的长度;字段拼接子单元,用于在所述待执行计算作业的数据文件中增加可增删的伪列并拼接所述长度的冗余字段;
[0197]相应的,所述判断及数据文件恢复单元,将执行完计算作业的数据文件恢复为原始数据文件,是指删除所述字段拼接子单元在所述数据文件中增加的可增删的伪列。
[0198]可选的,所述字段拼接子单元,具体用于采用自定义SQL语句的方法,在所述待执行计算作业的数据文件中增加可增删的伪列并拼接所述长度的冗余字段。
[0199]相应的,所述判断及数据文件恢复单元,将执行完计算作业的数据文件恢复为原始数据文件,是指采用自定义SQL语句的方法,删除所述字段拼接子单元在所述数据文件中增加的可增删的伪列。
[0200]可选的,所述膨胀操作执行子单元包括:关联文件长度估算子单元,用于根据所述调整因子估算关联文件的长度;关联文件选择子单元,用于根据所述关联文件的长度,选择满足下述条件的关联文件,该关联文件通过外键与所述待执行计算作业的数据文件进行关联后,所述待执行计算作业的数据文件的长度增大到所述计算资源可处理的数据文件长度;关联执行子单元,用于采用数据库的关联方法,将所述待执行计算作业的数据文件作为主文件与所述
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1