首页> 中国专利> 基于本地计算和分布式计算的数据计算方法及系统

基于本地计算和分布式计算的数据计算方法及系统

摘要

本发明涉及基于本地计算和分布式计算的数据计算方法和系统。所述方法包括:分别调用预设的本地计算模式和分布式计算模式对相同数据项目进行计算,将其中计算耗时较短的计算模式记为所述数据项目的优选计算模式,得到包含数据量、优选计算模式以及计算耗时信息的训练样本;根据若干所述训练样本生成训练模型;估算待处理数据项目的数据量,根据所述训练模型、所述待处理数据项目的数据量,确定出与所述待处理数据项目相适应的计算模式,调用该计算模式对所述待处理数据项目进行计算。通过本发明,能够为不同的数据项目选择与其规模大小相适应的计算策略,实现成本低,优化了计算效率。

著录项

  • 公开/公告号CN105468726A

    专利类型发明专利

  • 公开/公告日2016-04-06

    原文格式PDF

  • 申请/专利权人 广州视源电子科技股份有限公司;

    申请/专利号CN201510813062.9

  • 发明设计人 陈振安;

    申请日2015-11-20

  • 分类号G06F17/30;

  • 代理机构广州华进联合专利商标代理有限公司;

  • 代理人黄晓庆

  • 地址 510663 广东省广州市广州高新技术产业开发区科学城科珠路192号4楼

  • 入库时间 2023-12-18 15:24:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-02-01

    授权

    授权

  • 2016-05-04

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20151120

    实质审查的生效

  • 2016-04-06

    公开

    公开

说明书

技术领域

本发明涉及计算机科学技术领域,特别是涉及基于本地计算和分布式计算 的数据计算方法及系统。

背景技术

随着互联网数据急速膨胀,分布式计算也日趋成熟。分布式计算是一门计 算机科学,主要研究分布式系统,例如hadoop分布式系统。一个分布式系统包 括若干通过网络互联的计算机,这些计算机互相配合以完成一个共同的目标(将 这个共同的目标称为“项目”)。具体过程为:将需要进行计算的数据项目分割 成小块,由多台计算机分别计算,再上传计算结果后统一合并得出数据结论。 在分布式系统上运行的计算机程序称为分布式计算程序,分布式编程就是编写 上述程序的过程。对于大规模的数据项目,采用分布式计算可以节约整体计算 时间,大大提高计算效率。

为了优化计算效率,一方面是增强本地计算的性能、或者优化本地算法;优 化后对于微型数据项目而言,则存在处理能力富余,形成一种资源的浪费,并 且优化的实现成本较高;另一方面是采用分布式计算;然而对于规模较小的数 据项目,若采用分布式计算由于存在相对较大的准备时间,会存在数据加载时 延问题。

发明内容

基于此,本发明提供的基于本地计算和分布式计算的数据计算方法及系统, 能够保证计算效率,并且避免了不必要的数据准备时间。

本发明采用以下技术方案:

本发明一方面提供基于本地计算和分布式计算的数据计算方法,包括,

分别调用预设的本地计算模式和分布式计算模式对相同数据项目进行计算, 将其中计算耗时较短的计算模式记为所述数据项目的优选计算模式;获取所述 优选计算模式的计算耗时,得到包含所述数据项目的数据量、优选计算模式以 及计算耗时的训练样本;

根据若干所述训练样本生成训练模型;

估算待处理数据项目的数据量,根据所述训练模型、所述待处理数据项目 的数据量确定出与所述待处理数据项目相适应的计算模式,调用该计算模式对 所述待处理数据项目进行计算。

优选的,所述分别调用预设的本地计算模式和分布式计算模式对相同数据 项目进行计算,将其中计算耗时较短的计算模式记为所述数据项目的优选计算 模式,包括,

同时调用预设的本地计算模式和分布式计算模式对相同数据项目进行计算;

检测率先返回计算结果的计算模式,将其记为所述数据项目的优选计算模 式;

所述得到包含所述数据项目的数据量、优选计算模式以及计算耗时的训练 样本之后还包括,

终止未返回计算结果的计算模式对所述数据项目的计算。

优选的,所述根据所述训练模型、所述待处理数据项目的数据量确定出与 所述待处理数据项目相适应的计算模式,包括,

将所述待处理数据项目的数据量输入所述训练模型,匹配出数据量与待处 理数据项目的数据量最接近、且计算耗时最短的训练样本,将该训练样本的优 选计算模式作为与所述待处理数据项目相适应的计算模式。

优选的,所述根据所述训练模型、所述待处理数据项目的数据量确定出与 所述待处理数据项目相适应的计算模式,调用该计算模式对所述待处理数据项 目进行计算,之后包括,

将与所述待处理数据项目相适应的计算模式作为主模式,将另一个计算模 式作为辅助模式,并调用辅助模式对所述待处理数据项目进行计算;

判断主模式是否率先返回所述待处理数据项目的计算结果,若是,终止辅 助模式对所述待处理数据项目的计算,若否,当辅助模式返回所述待处理数据 项目的计算结果时,终止主模式对所述待处理数据项目的计算;

获取率先返回所述待处理数据项目的计算结果的主模式或辅助模式的计算 耗时,根据所述待处理数据项目的数据量、率先返回计算结果的主模式或辅助 模式以及计算耗时得到一条新训练样本,用该新训练样本对所述训练模型进行 调整。

优选的,根据若干所述训练样本生成训练模型之前还包括,

分析所述训练样本的数据集,对其中数据量相同或者相近的数据进行聚类 处理或者拟合出数据分布曲线,以剔除离群数据。

本发明另一方面提供基于本地计算和分布式计算的数据计算系统,包括:

训练模块,用于分别调用预设的本地计算模式和分布式计算模式对相同数 据项目进行计算,将其中计算耗时较短的计算模式记为所述数据项目的优选计 算模式;获取所述优选计算模式的计算耗时,得到包含所述数据项目的数据量、 优选计算模式以及计算耗时的训练样本;

模型生成模块,用于根据若干所述训练样本生成训练模型;

调用执行模块,用于估算待处理数据项目的数据量,根据所述训练模型、 所述待处理数据项目的数据量,确定出与所述待处理数据项目相适应的计算模 式调用该计算模式对所述待处理数据项目进行计算。

优选的,所述训练模块包括,

准备单元,用于同时调用预设的本地计算模式和分布式计算模式对相同数 据项目进行计算;

检测单元,用于检测率先返回计算结果的计算模式,将其记为所述数据项 目的优选计算模式;

以及,终止单元,用于得到包含所述数据项目的数据量、优选计算模式以 及计算耗时的训练样本之后,终止未返回计算结果的计算模式对所述数据项目 的计算。

优选的,所述根据所述训练模型、所述待处理数据项目的数据量确定出与 所述待处理数据项目相适应的计算模式,包括,

将所述待处理数据项目的数据量输入所述训练模型,匹配出数据量与待处 理数据项目的数据量最接近、且计算耗时最短的训练样本,将该训练样本的优 选计算模式作为与所述待处理数据项目相适应的计算模式。

优选的,还包括,

模型调整模块,用于将与所述待处理数据项目相适应的计算模式作为主模 式,将另一个计算模式作为辅助模式,并调用辅助模式对所述待处理数据项目 进行计算;判断主模式是否率先返回所述待处理数据项目的计算结果,若是, 终止辅助模式对所述待处理数据项目的计算,若否,当辅助模式返回所述待处 理数据项目的计算结果时终止主模式对所述待处理数据项目的计算;以及获取 率先返回所述待处理数据项目的计算结果的主模式或辅助模式的计算耗时,根 据所述待处理数据项目的数据量、率先返回计算结果的主模式或辅助模式以及 计算耗时得到一条新训练样本,用该新训练样本对所述训练模型进行调整。

优选的,所述模型生成模块包括,

模型调优单元,用于在根据若干所述训练样本生成训练模型之前,分析所 述训练样本的数据集,对其中数据量相同或者相近的数据进行聚类处理或者拟 合出数据分布曲线,以剔除离群数据。

实施本发明的上述技术方案的有益效果包括:结合本地计算和分布式计算, 通过对不同数据项目的训练学习,得到包含数据项目的数据量、优选计算模式 以及计算耗时的训练样本,基于若干所述训练样本生成训练模型;对需处理的 数据项目,估算待处理数据项目的数据量,通过所述训练模型、所述待处理数 据项目的数据量可确定出与所述待处理数据项目相适应的计算模式,调用该计 算模式对所述待处理数据项目进行计算。充分结合本地资源和分布式系统,处 理不同数据项目时能够快速选择适合的计算策略,优化了计算效率。

附图说明

图1为本发明一实施例的基于本地计算和分布式计算的数据计算方法的示 意性流程图;

图2为本发明另一实施例的基于本地计算和分布式计算的数据计算方法的 示意性流程图;

图3为本发明一实施例的基于本地计算和分布式计算的数据计算系统的示 意性结构图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结 合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描 述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基 于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获 得的所有其他实施例,都属于本发明保护的范围。

本发明提供的实施例包括基于本地计算和分布式计算的数据计算方法实施 例,还包括相应的基于本地计算和分布式计算的数据计算系统实施例,以下分 别进行详细说明。

图1为本发明一实施例的基于本地计算和分布式计算的数据计算方法的示 意性流程图。如图1中所示,本实施例的基于本地计算和分布式计算的数据计 算方法包括以下步骤S101至步骤S103,详细说明如下:

S101,分别调用预设的本地计算模式和分布式计算模式对相同数据项目进 行计算,将其中计算耗时较短的计算模式记为所述数据项目的优选计算模式; 获取所述优选计算模式的计算耗时,得到包含所述数据项目的数据量、优选计 算模式以及计算耗时的训练样本;

本实施例中,预设了两种计算模式(即本地计算模式和分布式计算模式) 处理数据项目,基于两种计算模式得出某数据项目的优选计算模式的方式可为: 同时调用所述两种计算模式对相同数据项目进行计算;检测是否有其中一种计 算模式率先返回计算结果,若是,将率先返回计算结果的计算模式记为所述数 据项目的优选计算模式。

优选的,检测到率先返回计算结果的计算模式后,立即终止未返回计算结 果的计算模式对所述数据项目的计算,以及时回收资源。

可以理解,步骤S101的目的是收集所述两种计算模式在不同数据项目上的 耗时情况,以此作为训练样本,以建立训练模型。训练过程可具体如下:

训练主程序:

(1)准备需要处理的数据项目,统计所述数据项目的数据量;

(2)同时运行本地计算子程序和分布式计算子程序,以调用预设的两种计 算模式同时处理所述数据项目;

(3)判断是否有一个子程序率先完成,若是,记录该子程序对应的计算模 式,执行下一步,否则,进行判断;

例如可通过检测是否有一个子程序率先返回所述数据项目的计算结果,以 此来判断是否有一个子程序率先完成。该过程目的在于判断该数据项目更适合 通过哪一种计算模式进行处理,使得计算效率最高;

(4)获取率先完成所述数据项目的子程序的执行时间,即得到该子程序对 应的本地计算模式或分布式计算模式处理所述数据项目的计算耗时;进而得到 包含所述数据项目的数据量、率先完成所述数据项目的计算模式、以及计算耗 时等信息的一条训练样本,记录该训练样本。

(5)终止另一个没有完成的子程序,即终止未返回计算结果的子程序对所 述数据项目的处理,以及时回收资源。

两个子程序基本上类似,分别调用本地计算模式和分布式计算模式处理所 述数据项目,两个子程序主要区别在于算法书写方式不同。

两个子程序:

(1)运行本地计算算法(或分布式计算算法)对数据项目进行处理;

其中,本地计算子程序可以直接调用预设的算法,分布式计算子程序需要 将预设的算法修改成符合分布式处理的格式;

(2)判断是否执行完成,若是,执行下一步,否则,继续判断;

(3)获取执行时间(即计算耗时),向训练主程序返回执行时间以及计算 结果。

S102,根据若干所述训练样本生成训练模型;

可以理解,所述训练模型中包含数据量、与各数据量对应的优选计算模式 和计算耗时等信息。

作为一优选实施方式,可预先为本地计算模式和分布式计算模式设定标识 信息,以进行区分识别,所述训练样本或者所述训练模型中,记录对应的模式 标识即可。

作为一优选实施方式,可将设定时间内产生的全部训练样本作为基础生成 训练模型;或者,将距离当前时间最近的设定数量的训练样本作为基础生成训 练模型。可以理解,设定时间范围越大、或者所参考的训练样本数量越大,生 成的训练模型越准确,生成训练模型的复杂度也增大。

作为一优选实施方式,根据若干所述训练样本生成训练模型之前还可分析 所述训练样本的数据集,对其中数据量相同或者相近的数据进行聚类处理或者 拟合出数据分布曲线,以剔除离群数据。

S103,估算待处理数据项目的数据量,根据所述训练模型、所述待处理数 据项目的数据量确定出与所述待处理数据项目相适应的计算模式,调用该计算 模式对所述待处理数据项目进行计算。

当有新的数据项目需要处理时,首先估算待处理数据项目的数据量,然后 将所述待处理数据项目的数据量输入生成的训练模型,可匹配出数据量与待处 理数据项目的数据量最接近、且计算耗时最短的训练样本,将该训练样本的优 选计算模式作为与所述待处理数据项目相适应的计算模式。

例如:若待处理数据项目的数据量为12000个数据单位,训练模型中相近 的数据量包括10000个数据单位和14000个数据单位,若数据量10000对应的 优选计算模式为本地计算,且对应的计算耗时为0.25秒,若数据量14000对应 的优选计算模式为分布式计算,且对应的计算耗时为0.3秒。基于此,将待处理 数据项目的数据量输入生成的训练模型,可匹配出数据量10000、本地计算、计 算耗时0.25秒的训练样本信息,因此,可将本地计算模式作为与该待处理数据 项目相适应的计算模式。

可以理解,当训练模型达到理想状态的时候,可准确为不同规模的数据项 目选择与其数据量大小相适应的计算策略,使不同规模的数据项目的计算耗时 最短,优化计算效率。

在上述实施例的基础上,图2为本发明另一实施例的基于本地计算和分布 式计算的数据计算方法的示意性流程图。图2示例的实施例与图1示例的实施 例的主要区别在于,训练模型生成之后,还可根据反馈的实际处理情况,动态 调整训练模型,以使其逐渐趋于理想状态。

需要说明的是,图2示例的基于本地计算和分布式计算的数据计算方法实 施例中,产生训练样本、以及根据训练样本生成训练模型的过程与图1示例的 实施例相似,此部分未体现在图2中。

参照图2,下面对生成训练模型之后,基于训练模型执行数据处理,以及根 据数据处理的实际情况动态调整训练模型的相关过程进行具体说明,包括步骤 S201至S209。

S201,准备待处理数据项目,估算待处理数据项目的数据量;

S202,根据所述训练模型、所述待处理数据项目的数据量确定出与所述待 处理数据项目相适应的计算模式(图2中为模式1),作为主模式;

S203,调用主模式对所述待处理数据项目进行计算;

S204,将另一个计算模式(图2中为模式2)作为辅助模式,调用辅助模式对 所述待处理数据项目进行计算;

S205,判断主模式是否率先返回所述待处理数据项目的计算结果,若是, 执行步骤S206,否则,执行步骤S207;

S206,终止辅助模式对所述待处理数据项目的计算;执行步骤S208;

S207,当辅助模式返回所述待处理数据项目的计算结果时,终止主模式对 所述待处理数据项目的计算;

S208,获取率先返回所述待处理数据项目的计算结果的主模式或辅助模式 的计算耗时信息,根据所述待处理数据项目的数据量、率先返回计算结果的主 模式或辅助模式以及计算耗时信息得到一条新训练样本;

S209,用该新训练样本对所述训练模型进行调整。

通过上述方法实施例,有需要处理的数据项目时,综合比较本地技术模式 和分布式计算模式,为小中大规模的数据项目自动选择与其数据量相适应的计 算模式,自动便捷,减少人工干预;避免了调用分布式计算对中小规模的数据 项目进行处理时存在的数据延时情况的发生。

需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为 一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动 作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。 其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施 例,所涉及的动作和模块并不一定都是本发明所必须的。

以下对可用于执行上述基于本地计算和分布式计算的数据计算方法的本发 明实施例的基于本地计算和分布式计算的数据计算系统进行说明。图3为本发 明实施例的基于本地计算和分布式计算的数据计算系统的示意性结构图,为了 便于说明,图3中仅仅示出了与本发明实施例相关的部分,本领域技术人员可 以理解,图3中示出的系统结构并不构成对系统的限定,可以包括比图示更多 或更少的部件,或者组合某些部件,或者不同的部件布置。

图3为本发明一实施例的基于本地计算和分布式计算的数据计算系统的示意 性结构图。如图3所示,本实施例的基于本地计算和分布式计算的数据计算系 统包括:训练模块310、模型生成模块320和调用执行模块330,其中:

所述训练模块310,用于分别调用预设的本地计算模式和分布式计算模式对 相同数据项目进行计算,将其中计算耗时较短的计算模式记为所述数据项目的 优选计算模式;获取所述优选计算模式的计算耗时,得到包含所述数据项目的 数据量、优选计算模式以及计算耗时的训练样本;

优选的,所述训练模块310具体包括:

准备单元,用于同时调用预设的本地计算模式和分布式计算模式对相同数 据项目进行计算,还用于统计数据项目的数据量;检测单元,用于检测率先返 回计算结果的计算模式,将其记为所述数据项目的优选计算模式;以及,终止 单元,用于得到包含所述数据项目的数据量、优选计算模式以及计算耗时的训 练样本之后,终止未返回计算结果的计算模式对所述数据项目的计算,以及时 回收资源。

所述模型生成模块320,用于根据若干所述训练样本生成训练模型;

可以理解,所述训练模型中包含数据量、与各数据量对应的优选计算模式 和计算耗时等信息。

作为一优选实施方式,可预先为本地计算模式和分布式计算模式设定标识 信息,以进行区分识别,所述训练样本或者所述训练模型中,记录对应的模式 标识即可。

作为一优选实施方式,可将设定时间内产生的全部训练样本作为基础生成 训练模型;或者,将距离当前时间最近的设定数据的训练样本作为基础生成训 练模型。可以理解,设定时间范围越大、或者所参考的训练样本数量越大,生 成的训练模型越准确,同时生成训练模型的复杂度也增大。

作为一优选实施方式,所述模型生成模块320包括,模型调优单元,用于 在根据若干所述训练样本生成训练模型之前,分析所述训练样本的数据集,对 其中数据量相同或者相近的数据进行聚类处理或者拟合出数据分布曲线,以剔 除离群数据。

所述调用执行模块330,用于估算待处理数据项目的数据量,根据所述训练 模型、所述待处理数据项目的数据量确定出与所述待处理数据项目相适应的计 算模式,调用该计算模式对所述待处理数据项目进行计算。

其中,根据所述训练模型、所述待处理数据项目的数据量确定出与所述待 处理数据项目相适应的计算模式可包括,将所述待处理数据项目的数据量输入 所述训练模型,匹配出数据量与待处理数据项目的数据量最接近、且计算耗时 最短的训练样本,将该训练样本的优选计算模式作为与所述待处理数据项目相 适应的计算模式。

可以理解,当训练模型达到理想状态的时候,可准确为不同规模的数据项 目选择与其数据量大小相适应的计算策略,使不同规模的数据项目的计算耗时 最短,优化计算效率。

作为一优选实施方式,所述基于本地计算和分布式计算的数据计算系统还 包括,

模型调整模块340,用于将与所述待处理数据项目相适应的计算模式作为主 模式,将另一个计算模式作为辅助模式,并调用辅助模式对所述待处理数据项 目进行计算;判断主模式是否率先返回所述待处理数据项目的计算结果,若是, 终止辅助模式对所述待处理数据项目的计算,若否,当辅助模式返回所述待处 理数据项目的计算结果时终止主模式对所述待处理数据项目的计算;以及获取 率先返回所述待处理数据项目的计算结果的主模式或辅助模式的计算耗时,根 据所述待处理数据项目的数据量、率先返回计算结果的主模式或辅助模式以及 计算耗时得到一条新训练样本,用该新训练样本对所述训练模型进行调整。

根据本发明上述基于本地计算和分布式计算的数据计算系统实施例,有需 要处理的数据项目时,综合比较本地技术模式和分布式计算模式,为小中大规 模的数据项目自动选择与其数据量相适应的计算模式,自动便捷,减少人工干 预,实现成本低,优化了计算效率。

需要说明的是,上述实施例中各模块/单元之间的信息交互、执行过程等内 容,由于与本发明前述方法实施例基于同一构思,其带来的技术效果与本发明 前述方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再 赘述。

此外,上述示例的基于本地计算和分布式计算的数据计算系统的实施方式 中,各功能模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出 于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的 功能模块完成,即将所述基于本地计算和分布式计算的数据计算系统的内部结 构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详 述的部分,可以参见其它实施例的相关描述。

另外,在本发明前述各个实施例中的各功能模块可以集成在一个处理模块 中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个 模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模 块的形式实现。

所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或 使用时,可以存储在一个计算机可读取存储介质中。本领域普通技术人员可以 理解本发明的任意实施例指定的方法的全部或部分步骤是可以通过程序来指令 相关的硬件(个人计算机、服务器、或者网络设备等)来完成。该程序可以存储于 一计算机可读存储介质中。该程序在执行时,可执行上述任意实施例指定的方 法的全部或部分步骤。前述存储介质可以包括任何可以存储程序代码的介质, 例如只读存储器(Read-OnlyMemory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。

以上为对本发明所提供的基于本地计算和分布式计算的数据计算方法及系 统的描述,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实 施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发 明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号