分布式系统平台的性能优化方法及装置与流程

文档序号:14253128阅读:253来源:国知局
分布式系统平台的性能优化方法及装置与流程

本发明涉及信息技术领域,尤其涉及一种分布式系统平台的性能优化方法及装置。



背景技术:

近些年来,随着信息技术的飞速发展,分布式系统得到广泛应用,分布式系统是建立在网络之上的软件系统,处理各项协助的任务,然后整合出结果。而分布式系统中的并行运算性能与分区数量相关,例如,spark是一个大数据分布式系统计算平台,不仅实现了mapreduce的算子map函数和reduce函数及计算模型,还提供更为丰富的算子,partition分区的数量确定了spark并行运算的能力,partition分区数量越多,spark并发能力相对更好。

目前,分区数量是通过编码的方式,并使用相应的api(applicationprogramminginterface,应用程序编程接口)接口进行设置,相当于将分区数量和具体的代码融合在了一起。

然而,在对分布式系统进行性能优化的情况下,当需要不断调整分区数量时,通过上述设置分区数量的方式,每次都需要修改代码并重新打包,会造成分区数量的调整效率较低,进而影响了分布式系统的性能优化。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的分布式系统平台的性能优化方法及装置。

为了达到上述目的,本发明主要提供如下技术方案:

一方面,本发明提供了一种分布式系统平台的性能优化方法,该方法包括:

获取携带有分区数量配置信息的配置文件,所述配置文件是在分布式系统平台接收任务时传入的;

解析所述配置文件,得到所述分区数量配置信息;

根据所述分区数量配置信息,对所述分布式系统平台中的分区数量进行更新。

进一步地,所述获取携带有分区数量配置信息的配置文件之前,所述方法还包括:

将所述分布式系统平台中需要设置的分区数量通过预设全局标识符进行替代;

根据接收到的配置文件的配置指令,对所述配置文件的分区数量配置信息中与所述预设全局标识符对应的分区数量进行配置;

所述获取携带有分区数量配置信息的配置文件,具体包括:

获取配置后的所述配置文件。

具体地,所述根据所述分区数量配置信息,对所述分布式系统平台中的分区数量进行更新,具体包括:

将所述分布式系统平台中与所述预设全局标识符对应的分区数量,替换为所述分区数量配置信息中与所述预设全局标识符对应的分区数量。

进一步地,所述方法还包括:按照预定时间间隔检测所述分布式系统平台是否接收到新的配置文件;所述获取携带有分区数量配置信息的配置文件,具体包括:若是,则获取所述分布式系统平台最新接收到的配置文件。

进一步地,所述方法还包括:触发所述分布式系统平台根据更新后的分区数量划分分区,以使得所述分布式系统平台通过划分后的分区执行所述提交任务。

另一方面,本发明提供了一种分布式系统平台的性能优化装置,该装置包括:

获取单元,可以用于获取携带有分区数量配置信息的配置文件,所述配置文件是在分布式系统平台接收任务时传入的;

解析单元,可以用于解析所述配置文件,得到所述分区数量配置信息;

更新单元,可以用于根据所述分区数量配置信息,对所述分布式系统平台中的分区数量进行更新。

进一步地,所述装置还包括:替代单元和配置单元;

所述替代单元,用于将所述分布式系统平台中需要设置的分区数量通过预设全局标识符进行替代;

所述配置单元,用于根据接收到的配置文件的配置指令,对所述配置文件的分区数量配置信息中与所述预设全局标识符对应的分区数量进行配置;

所述获取单元,具体用于获取配置后的所述配置文件。

具体地,所述更新单元,具体用于将所述分布式系统平台中与所述预设全局标识符对应的分区数量,替换为所述分区数量配置信息中与所述预设全局标识符对应的分区数量。

进一步地,所述装置还包括:检测单元;

所述检测单元,用于按照预定时间间隔检测所述分布式系统平台是否接收到新的配置文件;

所述获取单元,具体用于若所述检测单元检测出分布式系统平台接收到了新的配置文件,则获取所述分布式系统平台最新接收到的配置文件。

进一步地,所述装置还包括:

触发单元,用于触发所述分布式系统平台根据更新后的分区数量划分分区,以使得所述分布式系统平台通过划分后的分区执行所述提交任务。

借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:

本发明提供的一种分布式系统平台的性能优化方法及装置,首先获取携带有分区数量配置信息的配置文件,配置文件是在分布式系统平台接收任务时传入的;然后解析所述配置文件,得到分区数量配置信息;最后根据所述分区数量配置信息,对所述分布式系统平台中的分区数量进行更新。与目前每次都需要修改代码并重新打包来调整分区数量相比,本发明将配置好的配置文件提交到分布式系统平台进行解析,以便根据配置文件中携带的分区数量配置信息进行调整分区数量,可以实现每次进行分布式系统性能优化时,只需要修改外部配置文件,即可修改分区数量,不需要每次都进行修改代码并重新打包,进而大大节约了调优时间,提高了分区数量的调整效率,从而提升了分布式系统的性能优化效果。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种分布式系统平台的性能优化方法流程示意图;

图2示出了本发明实施例提供的另一种分布式系统平台的性能优化方法流程示意图;

图3示出了本发明实施例提供的一种分布式系统平台的性能优化装置结构示意图;

图4示出了本发明实施例提供的另一种分布式系统平台的性能优化装置结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供的一种分布式系统平台的性能优化方法,如图1所示,该方法包括:

101、获取携带有分区数量配置信息的配置文件。

其中,配置文件是在分布式系统平台接收任务时传入的。配置文件中的具体内容可以由技术人员根据需要调整的分区数量预先进行编写配置。分区数量配置信息中包含需要配置的分区数量。该分区数量可以为每个弹性分布式数据集的分区数据量。

对于本发明实施例的执行主体可以为配置在分布式系统中用于调整分区数量的装置。具体地,可以预先设置一个全局标识符,用于表示分区数量,即分布式系统中需要设置分区数量的地方,都可以用这个全局标识符表示,然后该全局标识符可以通过配置文件进行设置,该配置文件通过提交任务时传入到分布式系统中,当调整分区数量的装置检测到分布式系统接收到配置文件时,可以获取该配置文件,以便对该配置文件进行解析。

102、解析配置文件,得到分区数量配置信息。

例如,解析传入的外部配置文件,根据预先定义好的配置项获取得到该配置文件中包含的分区数量配置信息,进而可以得到需要配置的分区数量。

103、根据分区数量配置信息,对分布式系统平台中的分区数量进行更新。

具体地,在获取得到需要配置的分区数量后,可以为将分布式系统平台中的分区数量替换为这个获取得到的分区数量,实现分布式系统中的分区数量调整,进而在执行具体的任务时,按照调整后的分区数量划分分区,并通过划分后的分区执行任务,从而达到分布式系统性能优化的目的,并且后续再需要对分区数量调整时,只需修改配置文件即可。

本发明实施例提供的一种分布式系统平台的性能优化方法,首先获取携带有分区数量配置信息的配置文件,配置文件是在分布式系统平台接收任务时传入的;然后解析所述配置文件,得到分区数量配置信息;最后根据分区数量配置信息,对分布式系统平台中的分区数量进行更新。与目前每次都需要修改代码并重新打包来调整分区数量相比,本发明实施例将配置好的配置文件提交到分布式系统平台进行解析,以便根据配置文件中携带的分区数量配置信息进行调整分区数量,可以实现每次进行分布式系统性能优化时,只需要修改外部配置文件,即可修改分区数量,不需要每次都进行修改代码并重新打包,进而大大节约了调优时间,提高了分区数量的调整效率,从而提升了分布式系统的性能优化效果。

具体的,本发明实施例提供了另一种分布式系统平台的性能优化方法,以spark分布式系统平台中的partition分区数量的调整为例,如图2所示,该方法包括:

201、按照预定时间间隔检测分布式系统平台是否接收到新的配置文件。

其中,预定时间间隔可以根据具体情况进行设定,可以为1分钟、10分钟等,本发明实施例不做限定。

在本发明实施例中,在步骤201之前,上述方法还包括:将分布式系统平台中需要设置的分区数量通过预设全局标识符进行替代;根据接收到的配置文件的配置指令,对配置文件的分区数量配置信息中与预设全局标识符对应的分区数量进行配置。配置文件中携带有分区数量配置信息,分区数量配置信息中包含与预设全局标识符对应的分区数量,预设全局标识符可以根据实际需求进行配置,具体可以为能够全局唯一的标识符。

例如,预先设置一个全局标识符,用于表示partition分区数量,即spark分布式系统中需要设置partition分区数量的地方,都可以用这个全局标识符表示,而这个全局标识符可以通过配置文件进行设置,进而用户可以在配置文件中定义好需要调整的partition分区数量。配置文件的组成可以为xxxxx.properties,其中xxxxx表示文件名,可以随意修改,但始终与编写的分布式系统程序中的配置文件名称保持一致。

202、若分布式系统平台接收到了新的配置文件,则获取分布式系统平台最新接收到的配置文件。

其中,所述配置文件是在分布式系统平台接收任务时传入的。

例如,每隔1分钟检测spark分布式系统平台是否接收到新的配置文件,若spark分布式系统平台接收到新的配置文件,如此时外部配置文件通过提交spark任务提交到spark分布式系统平台中,获取spark分布式系统平台最新接收到的配置文件。

需要说明的是,通过按照预定时间间隔进行自动检测,可以及时的获取分布式系统平台上接收到的新的配置文件,以便及时进行分区数量调整,进而可以提高分布式系统性能优化的效果。

203、解析配置文件,得到分区数量配置信息。

例如,解析传入的配置文件,并根据预先定义好的配置项获取到里面的partition分区数量,如spark.partition.num=21,其中spark.partition.num用于表示sparkpartition,即预设全局标识符,而21表示数目,即为spark的partition分区数量为21。

204、将分布式系统平台中与预设全局标识符对应的分区数量,替换为分区数量配置信息中与预设全局标识符对应的分区数量。

例如,当检测到spark分布式系统平台接收到新的配置文件时,获取并解析接收到的配置文件,得到partition分区数量为25,根据与该partition分区数量对应的全局标识符,确定spark分布式系统平台中需要替换partition分区数量参数的位置a,将分布式系统平台中位置a原来的partition分区数量12替换为25,进而完成partition分区数量的调整,由于partition分区数量确定了spark分布式系统平台的并行运算的能力,将partition分区数量调高可以相应提高spark分布式系统平台并发能力;然后当spark分布式系统平台又接收到一个配置文件时,获取并解析接收到的配置文件,得到partition分区数量为35,将位置a之前的partition分区数量25替换为35。

在本发明实施例中,通过在外部配置文件,并把分区数量信息配置在外部配置文件中,当需要对分布式系统进行性能优化时,可以直接修改外部配置文件进行优化,无需修改代码并打包发送,进而大大节约了调优时间,提高了分区数量的调整效率,从而提升了分布式系统的性能优化效果。

205、触发分布式系统平台根据更新后的分区数量划分分区。

通过上述步骤205触发分布式系统平台根据更新后的分区数量划分分区,能够使得分布式系统平台通过划分后的分区执行提交任务。

例如,在调整partition分区数量后,当spark分布式系统平台执行具体任务时,便会按照这个调整后的partition分区数量,划分具体的partition分区,从而达到了spark分布式系统平台性能优化的目的,并且后续还需要调整partition分区数量时,只需修改配置文件即可。

进一步地,除了利用配置文件的方式调整分区数量以外,上述方法还可以包括:当分布式系统平台接收到的预定参数信息存在更新时,获取预定参数信息中包含的分区数量配置信息;根据分区数量配置信息,对所述分布式系统平台中的分区数量进行更新。其中,预定参数信息可以根据实际需求进行选择配置。

例如,可以将partition分区数量的配置信息预先配置在spark的conf参数中,利用spark的submit命令,在提交spark任务时通过该conf参数传入到spark分布式平台中,然后触发进行解析,得到其中的partition分区数量,并根据该partition分区数量完成分区数量的调整,以便spark分布式系统平台在执行具体任务时,按照这个调整后的partition分区数量,划分具体的partition分区,从而达到了spark分布式系统平台性能优化的目的,并且后续还需要调整partition分区数量时,只需修改conf参数即可。

本发明实施例提供的另一种分布式系统平台的性能优化方法,通过按照预定时间间隔检测分布式系统平台是否接收到新的配置文件,可以及时的获取分布式系统平台上接收到的新的配置文件,以便及时进行分区数量调整,进而可以提高分布式系统性能优化的效果;然后解析配置文件,得到分区数量配置信息;最后根据分区数量配置信息,对分布式系统平台中的分区数量进行更新。与目前每次都需要修改代码并重新打包来调整分区数量相比,本发明实施例将配置好的配置文件提交到分布式系统平台进行解析,以便根据配置文件中携带的分区数量配置信息进行调整分区数量,可以实现每次进行分布式系统性能优化时,只需要修改外部配置文件,即可修改分区数量,不需要每次都进行修改代码并重新打包,进而大大节约了调优时间,提高了分区数量的调整效率,从而提升了分布式系统的性能优化效果。

进一步地,作为图1所示方法的具体实现,本发明实施例提供了一种分布式系统平台的性能优化装置,如图3所示,所述装置包括:获取单元31、解析单元32、更新单元33。

获取单元31,可以用于获取携带有分区数量配置信息的配置文件,配置文件是在分布式系统平台接收任务时传入的。

解析单元32,可以用于解析获取单元31获取的配置文件,得到分区数量配置信息。

更新单元33,可以用于根据解析单元32解析得到的分区数量配置信息,对分布式系统平台中的分区数量进行更新。

需要说明的是,本发明实施例提供的一种分布式系统平台的性能优化装置所涉及各功能单元的其他相应描述,可以参考图1的对应描述,在此不再赘述。

本发明实施例提供的一种分布式系统平台的性能优化装置,包括获取单元、解析单元、更新单元等,首先通过获取单元获取携带有分区数量配置信息的配置文件,所述配置文件是在分布式系统平台接收提交任务时传入的;然后通过解析单元解析所述配置文件,得到所述分区数量配置信息;最后更新单元根据所述分区数量配置信息,对所述分布式系统平台中的分区数量进行更新。与目前每次都需要修改代码并重新打包来调整分区数量相比,本发明实施例将配置好的配置文件提交到分布式系统平台进行解析,以便根据配置文件中携带的分区数量配置信息进行调整分区数量,可以实现每次进行分布式系统性能优化时,只需要修改外部配置文件,即可修改分区数量,不需要每次都进行修改代码并重新打包,进而大大节约了调优时间,提高了分区数量的调整效率,从而提升了分布式系统的性能优化效果。

进一步地,作为图2所示方法的具体实现,本发明实施例提供了另一种分布式系统平台的性能优化装置,如图4所示,所述装置包括:获取单元41、解析单元42、更新单元43。

获取单元41,可以用于获取携带有分区数量配置信息的配置文件,配置文件是在分布式系统平台接收任务时传入的。

解析单元42,可以用于解析获取单元41获取的配置文件,得到分区数量配置信息。

更新单元43,可以用于根据解析单元42解析得到的分区数量配置信息,对分布式系统平台中的分区数量进行更新。

进一步地,上述装置还包括:替代单元44、配置单元45。

替代单元44,可以用于将所述分布式系统平台中需要设置的分区数量通过预设全局标识符进行替代。

配置单元45,可以用于根据接收到的配置文件的配置指令,对配置文件的分区数量配置信息中与预设全局标识符对应的分区数量进行配置。

获取单元41,具体可以用于获取配置后的所述配置文件。

更新单元43,具体可以用于将分布式系统平台中与预设全局标识符对应的分区数量,替换为分区数量配置信息中与预设全局标识符对应的分区数量。

进一步地,上述装置还包括:检测单元46。

检测单元46,可以用于按照预定时间间隔检测所述分布式系统平台是否接收到新的配置文件。

获取单元41,具体可以用于若检测单元46检测出分布式系统平台接收到了新的配置文件,则获取分布式系统平台最新接收到的配置文件。

进一步地,上述装置还包括:触发单元47,

触发单元47,可以用于触发分布式系统平台根据更新后的分区数量划分分区,以使得分布式系统平台通过划分后的分区执行提交任务。

需要说明的是,本发明实施例提供的另一种分布式系统平台的性能优化装置所涉及各功能单元的其他相应描述,可以参考图2的对应描述,在此不再赘述。

本发明实施例提供的一种分布式系统平台的性能优化装置,包括获取单元、解析单元、更新单元、检测单元等,通过检测单元按照预定时间间隔检测分布式系统平台是否接收到新的配置文件,可以及时的获取分布式系统平台上接收到的新的配置文件,以便及时进行分区数量调整,进而可以提高分布式系统性能优化的效果;然后通过解析单元解析所述配置文件,得到所述分区数量配置信息;最后更新单元根据分区数量配置信息,对分布式系统平台中的分区数量进行更新。与目前每次都需要修改代码并重新打包来调整分区数量相比,本发明实施例将配置好的配置文件提交到分布式系统平台进行解析,以便根据配置文件中携带的分区数量配置信息进行调整分区数量,可以实现每次进行分布式系统性能优化时,只需要修改外部配置文件,即可修改分区数量,不需要每次都进行修改代码并重新打包,进而大大节约了调优时间,提高了分区数量的调整效率,从而提升了分布式系统的性能优化效果。

所述分布式系统平台的性能优化装置包括处理器和存储器,上述获取单元、解析单元、更新单元、替代单元、配置单元、检测单元、触发单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中每次都需要修改代码并重新打包来调整分区数量,会造成分区数量的调整效率较低,进而影响了分布式系统的性能优化的问题。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:获取携带有分区数量配置信息的配置文件,所述配置文件是在分布式系统平台接收任务时传入的;然后解析所述配置文件,得到所述分区数量配置信息;根据所述分区数量配置信息,对所述分布式系统平台中的分区数量进行更新。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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