Spark运行参数的确定方法、装置、设备和存储介质与流程

文档序号:26004177发布日期:2021-07-23 21:22阅读:112来源:国知局
Spark运行参数的确定方法、装置、设备和存储介质与流程

本申请属于计算机技术领域,尤其涉及一种spark运行参数的确定方法、装置、设备和存储介质。



背景技术:

apachespark(简称为spark)是专为大规模数据处理而设计的快速通用的计算引擎,近年来,随着数据规模的指数式增长,spark已经成为工业界数据挖掘处理的主要手段之一。据统计,spark的运行参数多达几百个,而运行参数的设置对spark的运行效率具有至关重要的影响,若由人工对这些运行参数进行设置,无疑是费时费力的。

传统技术中,通常采用一定的训练集训练得到一个网络模型,再使用该网络模型通过遗传算法确定spark的运行参数。然而,传统技术中所确定的运行参数精确度并不高。



技术实现要素:

本申请实施例提供了一种spark运行参数的确定方法、装置、设备和存储介质,可以解决传统技术中所确定的运行参数精确度不高的问题。

第一方面,本申请实施例提供了一种spark运行参数的确定方法,包括:

获取第一运行参数集和第二运行参数集,所述第一运行参数集和所述第二运行参数集的获取方式不同;

基于所述第一运行参数集,将任务数据的数据大小和任务类型输入第一模型,根据第一输出结果确定所述第一模型中的目标模型,所述第一模型包括多个数据模型;

基于所述第二运行参数集,将所述数据大小和所述任务类型输入所述目标模型,根据第二输出结果确定spark的目标运行参数。

上述实施例中,首先基于第一运行参数集确定与任务类型匹配的目标模型,再基于第二运行参数集确定与任务类型匹配的目标运行参数,可以针对不同任务类型的任务数据确定对应的最优运行参数,进而提高了所确定的spark运行参数的精确度。

在第一方面的一种可能的实现方式中,基于所述第一运行参数集,将任务数据的数据大小和任务类型输入第一模型,根据第一输出结果确定所述第一模型中的目标模型,包括:

针对每个数据模型,基于所述第一运行参数集,将所述数据大小和所述任务类型输入所述数据模型,输出每组第一运行参数对应的预测运行时间;

根据所述每组第一运行参数对应的预测运行时间,确定所述多个数据模型中的目标模型。

上述实施例中,通过对每个数据模型输出的预测运行时间进行分析,确定多个数据模型中的目标模型,即得到与当前的任务类型匹配的目标模型,进而确定处理该类型的任务数据时的最优运行参数,提高了所确定的spark运行参数的精确度。

在第一方面的一种可能的实现方式中,根据所述每组第一运行参数对应的预测运行时间,确定所述多个数据模型中的目标模型,包括:

针对每个数据模型,根据所述每组第一运行参数对应的预测运行时间,确定所述数据模型对应的决定系数;

将最大决定系数所对应的数据模型作为所述目标模型。

上述实施例中,通过对每个数据模型输出的预测运行时间进行分析,确定每个数据模型的决定系数,进而得到与当前的任务类型匹配的目标模型,即确定处理该类型的任务数据时的最优运行参数,提高了所确定的spark运行参数的精确度。

在第一方面的一种可能的实现方式中,基于所述第二运行参数集,将所述数据大小和所述任务类型输入所述目标模型,根据第二输出结果确定spark的目标运行参数,包括:

基于所述第二运行参数集,将所述数据大小和所述任务类型输入所述目标模型,得到每组第二运行参数对应的预测运行时间;

将最短预测运行时间所对应的第二运行运行参数作为所述目标运行参数。

上述实施例中,基于第二运行参数集确定与任务类型匹配的目标运行参数,可以针对不同任务类型的任务数据确定对应的最优运行参数,进而提高了所确定的spark运行参数的精确度。

在第一方面的一种可能的实现方式中,上述方法还包括:

将所述目标运行参数加入所述第一运行参数集中,并将所述目标运行参数和所述目标运行参数对应的预测运行时间存储至数据库。

上述实施例中,当需要对另一种任务类型的任务数据确定目标运行参数时,则可以采用扩充后的第一运行参数集确定目标模型,即不断丰富参数集数据,以降低模型误差,提高算法准确率。

在第一方面的一种可能的实现方式中,获取第一运行参数集之后,上述方法还包括:

采用预设的插值算法对所述第一运行参数集中的空值数据进行插值处理,得到处理后的第一运行参数集。

上述实施例中,通过对空值数据进行插值处理,可提高第一运行参数集的全面性,有助于提高所确定的目标模型的精确度。

在第一方面的一种可能的实现方式中,上述方法还包括:

若所述第一运行参数集中包括非数值型的运行参数,将所述非数值型的运行参数转换为数值型的运行参数。

第二方面,本申请实施例提供了一种spark运行参数的确定装置,包括:

获取模块,用于获取第一运行参数集和第二运行参数集,所述第一运行参数集和所述第二运行参数集的获取方式不同;

第一确定模块,用于基于所述第一运行参数集,将任务数据的数据大小和任务类型输入第一模型,根据第一输出结果确定所述第一模型中的目标模型,所述第一模型包括多个数据模型;

第二确定模块,用于基于所述第二运行参数集,将所述数据大小和所述任务类型输入所述目标模型,根据第二输出结果确定spark的目标运行参数。

第三方面,本申请实施例提供了一种计算机设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的spark运行参数的确定方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的spark运行参数的确定方法。

第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机设备上运行时,使得计算机设备执行上述第一方面中任一项所述的spark运行参数的确定方法。

可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施例提供的计算机设备的结构示意图;

图2是本申请一实施例提供的spark运行参数的确定方法的流程示意图;

图3是本申请另一实施例提供的spark运行参数的确定方法的流程示意图;

图4是本申请实施例提供的spark运行参数的确定装置的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

本申请实施例提供的spark运行参数的确定方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmentedreality,ar)/虚拟现实(virtualreality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonalcomputer,umpc)、上网本、个人数字助理(personaldigitalassistant,pda)、服务器等计算机设备上,本申请实施例对计算机设备的具体类型不作任何限制。

图1为本申请一实施例提供的计算机设备的结构示意图。如图1所示,该实施例的计算机设备1包括:至少一个处理器10(图1中仅示出一个)处理器、存储器11以及存储在所述存储器11中并可在所述至少一个处理器10上运行的计算机程序12,所述处理器10执行所述计算机程序12时实现上述任意各个视频关键帧提取方法实施例中的步骤。

所述计算机设备1可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该计算机设备1可包括,但不仅限于,处理器10、存储器11。本领域技术人员可以理解,图1仅仅是计算机设备1的举例,并不构成对计算机设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。

所称处理器10可以是中央处理单元(centralprocessingunit,cpu),该处理器10还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器11在一些实施例中可以是所述计算机设备1的内部存储单元,例如计算机设备1的硬盘或内存。所述存储器11在另一些实施例中也可以是所述计算机设备1的外部存储设备,例如所述计算机设备1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器11还可以既包括所述计算机设备1的内部存储单元也包括外部存储设备。所述存储器11用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。

当前,spark在进行大规模数据处理时需要的运行参数多达四百多个,这些参数若由人工进行设置是非常费时费力的,因此,需要研究如何对spark运行参数进行自动化设置。传统技术中通常收集不同spark运行参数下spark任务的运行时间得到训练集,采用遗传进化的思想使用该训练集训练神经网络模型,得到性能预测模型,再使用性能预测模型,通过遗传算法搜索spark最优运行参数。然而,不同的spark任务通常是不同类型的,若采用传统技术中的性能预测模型,其所确定的运行参数并不能适配不同类型的spark任务,因此传统技术中所确定的运行参数精确度并不高。本申请实施例提供的spark运行参数的确定方法、装置、设备和存储介质,旨在解决上述技术问题。

图2示出了本申请提供的spark运行参数的确定方法的示意性流程图,作为示例而非限定,该方法可以应用于上述计算机设备1中,该方法包括:

s101,获取第一运行参数集和第二运行参数集,所述第一运行参数集和所述第二运行参数集的获取方式不同。

具体地,第一运行参数集可以由计算机设备基于大数据基准测试平台bigdatabench获取,通过将bigdatabench中spark任务的运行脚本进行适配,使其能使用自定义的运行参数运行,以收集第一运行参数集。第二运行参数集可以由计算机设备按照spark运行参数的范围随机生成。需要说明的是,本实施例中第一运行参数集和第二运行参数集的获取方式不同,但对两个参数集的获取方式并不作限制。

s102,基于所述第一运行参数集,将任务数据的数据大小和任务类型输入第一模型,根据第一输出结果确定所述第一模型中的目标模型,所述第一模型包括多个数据模型。

具体地,第一模型可以为性能预测模型,包括多个数据模型,该多个数据模型包括但不限于通过线性回归算法、梯度提升树回归算法、决策树回归算法、随机森林回归算法或者神经网络建立的数据模型;通过第一模型对输入数据的处理,可以预测出所采用的第一运行参数的性能参数。其中,任务数据为执行spark任务的运行输入数据,其任务类型可以由开发人员进行标记并输入计算机设备中。

第一输出结果可以包括表征第一运行参数优劣的性能参数,如运行时间、运行速度等,还可以包括根据性能参数得到的推荐分数。当计算机设备基于第一运行参数集将任务数据的数据大小和任务类型输入第一模型时,即是将数据大小和任务类型分别输入各数据模型中,各数据模型可以分别输出所预测的每组第一运行参数对应的推荐分数。例如,数据模型1所输出的第一组第一运行参数的推荐分数为90分,第二组第一运行参数的推荐分数为80分,以此类推。可选地,对于每个数据模型,计算机设备可以将所得到的推荐分数进行平均求和,然后将平均分数最高的数据模型作为目标模型,可以理解为,在第一运行参数集下,该目标模型在预测执行上述任务类型的任务数据时预测效果最优。

s103,基于所述第二运行参数集,将所述数据大小和所述任务类型输入所述目标模型,根据第二输出结果确定spark的目标运行参数。

具体地,在第二运行参数集的基础上,计算机设备再将上述任务数据的数据大小和任务类型输入所确定的目标模型中,该目标模型同样可以输出所预测的每组第二运行参数对应的推荐分数(即第二输出结果),并将最高推荐分数对应的第二运行参数作为目标运行参数,那么该目标运行参数即为spark运行上述任务类型的任务数据时的最优参数。可选地,计算机设备还可以通过随机递归搜索算法将第二运行参数输入到目标模型中确定目标运行参数。

值得说明的是,对于另一种任务类型的任务数据,计算机设备同样可以采用上述先确定目标模型再确定目标运行参数的过程,以确定spark运行该类任务数据的最优参数。

上述spark运行参数的确定方法,计算机设备首先基于第一运行参数集确定与任务类型匹配的目标模型,再基于第二运行参数集确定与任务类型匹配的目标运行参数,可以针对不同任务类型的任务数据确定对应的最优运行参数,进而提高了所确定的spark运行参数的精确度。

在一个实施例中,上述s102中基于所述第一运行参数集,将任务数据的数据大小和任务类型输入第一模型,根据第一输出结果确定所述第一模型中的目标模型的过程可以包括:针对每个数据模型,基于所述第一运行参数集,将所述数据大小和所述任务类型输入所述数据模型,输出每组第一运行参数对应的预测运行时间;根据所述每组第一运行参数对应的预测运行时间,确定所述多个数据模型中的目标模型。

其中,数据模型可以是基于第一运行参数集,建立任务数据的数据大小、任务类型、运行参数与运行时间之间的对应关系,因此对于每个数据模型,可以输出每组第一运行参数对应的预测运行时间。可选地,对于每个数据模型,可以将所预测的运行时间求和,并将运行时间之和最短(或平均运行时间最短)对应的数据模型作为目标模型。

可选地,对于每个数据模型,计算机设备还可以根据每组第一运行参数对应的预测运行时间,确定该数据模型对应的决定系数,并将最大决定系数对应的数据模型作为目标模型。作为示例而非限定,计算机设备可以采用的关系式计算数据模型对应的决定系数,其中,y(i)为第i组第一运行参数对应的预测运行时间,为m组第一运行参数的平均预测运行时间,为m组第一运行参数的预测运行时间之和,r2为决定系数,其取值范围为(-∞,1],值越接近1则说明对应的数据模型越优。

上述spark运行参数的确定方法,通过对每个数据模型输出的预测运行时间进行分析,确定多个数据模型中的目标模型,即得到与当前的任务类型匹配的目标模型,进而确定处理该类型的任务数据时的最优运行参数,提高了所确定的spark运行参数的精确度。

在另一个实施例中,上述s103中基于所述第二运行参数集,将所述数据大小和所述任务类型输入所述目标模型,根据第二输出结果确定spark的目标运行参数,包括:基于所述第二运行参数集,将所述数据大小和所述任务类型输入所述目标模型,得到每组第二运行参数对应的预测运行时间;将最短预测运行时间所对应的第二运行运行参数作为所述目标运行参数。

示例性的,假设spark运行时所需的运行参数包括a、b和c,a、b和c分别取不同值时构成第一运行参数集{(a1、b1、c1)、(a2、b2、c2)...(a10、b10、c10)}和第二运行参数集{(a11、b11、c11)、(a12、b12、c12)...(a20、b20、c20)},需要说明的是,本示例以第一运行参数集和第二运行参数集中各包括10组参数值为例进行说明,但对其具体数量不作限定。计算机设备基于第一运行参数集将任务数据的数据大小和任务类型输入第一模型的多个数据模型后,数据模型1可以输出运行参数(a1、b1、c1)对应的预测运行时间、(a2、b2、c2)对应的预测运行时间、直至(a10、b10、c10)对应的预测运行时间,数据模型2至数据模型n也可以输出各组运行参数对应的预测运行时间,然后根据各组运行参数对应的预测运行时间计算每个数据模型对应的决定系数,进而确定目标模型。假设该目标模型为数据模型2,则计算机设备基于第二运行数据集,将上述数据大小和任务类型输入数据模型2,可以输出运行参数(a11、b11、c11)对应的预测运行时间、(a12、b12、c12)对应的预测运行时间、直至(a20、b20、c20)对应的预测运行时间,然后将最短预测运行时间对应的第二运行参数作为目标运行参数。假设目标运行参数为(a12、b12、c12),则可以认为spark运行上述任务类型的任务数据时采用(a12、b12、c12)参数的性能最好。

在另一个实施例中,在计算机设备确定了spark运行上述任务类型的任务数据所对应的目标运行参数后,便可以将目标运行参数配置至spark平台上,以执行相同任务类型的任务数据。另外,还可以将该目标运行参数加入上述第一运行参数集中,当需要对另一种任务类型的任务数据确定目标运行参数时,则可以采用扩充后的第一运行参数集确定目标模型,即不断丰富参数集数据,以降低模型误差,提高算法准确率。进一步地,还可以将目标运行参数和该目标运行参数对应的预测运行时间存储至数据库中。

在另一个实施例中,上述s101所获取的第一运行参数集中可能存在空值数据,计算机设备还可以采用预设的插值算法对该第一运行参数集中的空值数据进行插值处理,得到处理后第一运行参数集。可选地,可以采用拉格朗日插值法、牛顿插值法、knn插值及其改进方法等算法对第一运行参数集中的空值数据进行插值处理。优选地,采用重心拉格朗日插值法,其插值函数为:其中,n表示第一运行参数中的参数个数,x表示空值的位置,xi、xj表示自变量的值(或位置),ωi表示重心权重,yi表示自变量(或位置)为xi时的取值。通过对空值数据进行插值处理,可提高第一运行参数集的全面性,有助于提高所确定的目标模型的精确度。另一方面,若第一运行参数集中包括非数值型的运行参数,如类别型的运行参数,计算机设备还可以将该非数值型的运行参数转换为数值型的运行参数。可选地,可以采用序号编码、独热编码、二进制编码或者categorical编码技术对上述非数值型的运行参数进行转换。

为更方便理解上述spark运行参数的确定方法的整个过程,下面再以一个实施例对该方法进行介绍,如图3所示,该方法包括:

s201,获取第一运行参数集和第二运行参数集。

s202,采用预设的插值算法对所述第一运行参数集中的空值数据进行插值处理,得到处理后的第一运行参数集。

s203,若所述第一运行参数集中包括非数值型的运行参数,将所述非数值型的运行参数转换为数值型的运行参数。

s204,针对每个数据模型,基于所述第一运行参数集,将所述数据大小和所述任务类型输入所述数据模型,输出每组第一运行参数对应的预测运行时间。

s205,根据每组第一运行参数对应的预测运行时间,确定所述数据模型对应的决定系数;将最大决定系数所对应的数据模型作为所述目标模型。

s206,基于所述第二运行参数集,将所述数据大小和所述任务类型输入所述目标模型,得到每组第二运行参数对应的预测运行时间。

s207,将最短预测运行时间所对应的第二运行运行参数作为所述目标运行参数。

s208,将所述目标运行参数加入所述第一运行参数集中,并将所述目标运行参数和所述目标运行参数对应的预测运行时间存储至数据库。

关于本实施例各步骤的实现过程,可以参见上述实施例的描述,其实现原理和技术效果类似,在此不再赘述。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例所述的spark运行参数的确定方法,图4示出了本申请实施例提供的spark运行参数的确定装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图4,该装置包括:获取模块21、第一确定模块22和第二确定模块23。

具体地,获取模块21,用于获取第一运行参数集和第二运行参数集,所述第一运行参数集和所述第二运行参数集的获取方式不同。

第一确定模块22,用于基于所述第一运行参数集,将任务数据的数据大小和任务类型输入第一模型,根据第一输出结果确定所述第一模型中的目标模型,所述第一模型包括多个数据模型。

第二确定模块23,用于基于所述第二运行参数集,将所述数据大小和所述任务类型输入所述目标模型,根据第二输出结果确定spark的目标运行参数。

在一个实施例中,上述第一确定模块22,具体用于针对每个数据模型,基于所述第一运行参数集,将所述数据大小和所述任务类型输入所述数据模型,输出每组第一运行参数对应的预测运行时间;根据所述每组第一运行参数对应的预测运行时间,确定所述多个数据模型中的目标模型。

在一个实施例中,上述第一确定模块22,具体用于针对每个数据模型,根据所述每组第一运行参数对应的预测运行时间,确定所述数据模型对应的决定系数;将最大决定系数所对应的数据模型作为所述目标模型。

在一个实施例中,上述第二确定模块23,具体用于基于所述第二运行参数集,将所述数据大小和所述任务类型输入所述目标模型,得到每组第二运行参数对应的预测运行时间;将最短预测运行时间所对应的第二运行运行参数作为所述目标运行参数。

在一个实施例中,上述装置还包括存储模块,用于将所述目标运行参数加入所述第一运行参数集中,并将所述目标运行参数和所述目标运行参数对应的预测运行时间存储至数据库。

在一个实施例中,上述装置还包括处理模块,用于采用预设的插值算法对所述第一运行参数集中的空值数据进行插值处理,得到处理后的第一运行参数集。

在一个实施例中,上述处理模块,还用于在所述第一运行参数集中包括非数值型的运行参数的情况下,将所述非数值型的运行参数转换为数值型的运行参数。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请实施例还提供了一种计算机设备,该计算机设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机设备上运行时,使得计算机设备执行时实现可实现上述各个方法实施例中的步骤。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到上述装置/计算机设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

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

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1