多进程处理方法、装置和系统制造方法及图纸

技术编号:11603474 阅读:64 留言:0更新日期:2015-06-15 17:07
本申请公开了一种多进程处理方法、装置和系统,包括:为本地的数据文件编号;输入每个进程需处理的数据文件个数M;获取本地的数据文件总数N;根据所述N与所述M的取模结果确定需要启动的进程数k;启动k个进程,为每个进程分配至多M个数据文件编号;所述进程根据所分配的数据文件编号加载对应的数据文件进行处理。利用本发明专利技术,可以较低的工作量实现灵活的速度调整,以降低人工编辑量。

【技术实现步骤摘要】

本申请涉及数据处理设备的数据处理
,尤其涉及一种多进程处理方法、装置和系统
技术介绍
随着互联网业务的普及,用户数据的增长,网络中的设备处理几百G或T的数据是比较常见的。为了能够适应巨量数据的处理任务,目前业界通常采用分布式多进程处理巨量数据。如图1为现有的分布式多进程处理技术的一种处理示意图;参见图1,其中,用竖虚线来划分不同的机器,所述竖虚线划分出的每一个区域就是一台机器上的部署情况,如区域101为第一台机器上的部署情况,区域102为第二台机器上的部署情况。每一台机器可以启动多个进程,如图1每一台机器对应的区域中,所述矩形框内每个小块分别对应一个进程,每台机器还配置有配置文件,配置文件内包括启动的进程个数,每个进程处理的数据文件的配置信息等,所述配置信息需要包括每个进程对应的文件名和路径信息。在数据处理过程中,启动的进程需要从所述配置文件中读取该进程对应的文件名和路径,并到该路径下读取该数据文件的数据并对数据进行相应业务的处理,然后导入到本地或远程机器的内存提供给对外服务的互联网应用程序。但是,现有技术在导入少数文件的情况下是适用的,而在导入大量文件的情况下,会存在以下缺点:(1)由于数据文件不一样,配置文件不一样,需要编辑每行配置文件。如果同时有100台机器处理,每台机器启动10个进程,需要有1000行数据进行编辑,编辑量过大,人工成本高。(2)在实际的运营过程中,常常需要根据运营需要调整每台机器上导入数据的速度,这就需要对进程的个数和进程对应处理的数据文件名称路径等进行修改,因此如果需要调整,则所有配置都要跟着重新调整,工作量巨大,且极易出错。因此,现有的这种技术方案的导入数据的速度不方便随意更改,操作不灵活。
技术实现思路
有鉴于此,本专利技术的主要目的是提供一种多进程处理方法,可以较低的工作量实现灵活的速度调整,以降低人工编辑量。本专利技术的另一目的是提供一种多进程处理装置,可以较低的工作量实现灵活的速度调整,以降低人工编辑量。本专利技术的另一目的是提供一种多进程处理系统,可以较低的工作量实现灵活的速度调整,以降低人工编辑量。本专利技术的技术方案是这样实现的:一种多进程处理方法,包括:为本地的数据文件编号;输入每个进程需处理的数据文件个数M;获取本地的数据文件总数N;根据所述N与所述M的取模结果确定需要启动的进程数k;启动k个进程,为每个进程分配至多M个数据文件编号;所述进程根据所分配的数据文件编号加载对应的数据文件进行处理。一种多进程处理装置,包括:配置模块,用于为本地的数据文件编号;输入模块,用于输入每个进程需处理的数据文件个数M;文件数模块,用于获取本地的数据文件总数N;进程数模块,用于根据所述N与所述M的取模结果确定需要启动的进程数k;分配模块,用于启动k个进程,为每个进程分配至多M个数据文件编号;进程模块,用于运行进程,所述进程根据所分配的数据文件编号加载对应的数据文件进行处理。一种多进程处理系统,包括二台以上计算设备,其中每台计算设备中包括所述的多进程处理装置。与现有技术相比,本专利技术不必配置进程与数据文件的固定对应关系,而是可以实现进程与所加载的数据文件之间自适应的、动态映射的关系,在希望对的导入数据的速度进行调整时,用户只需要重新输入每个进程需处理的数据文件个数M即可,之后本专利技术的方法可以自动确定需要启动的进程个数,并且根据上述分配方法将本地的数据文件分配给所启动的进程,由所述进程加载对应的数据文件进行处理,所调整的工作量极其微小,只需要修改一下输入的M值即可,因此本专利技术可以实现可以较低的工作量实现灵活的速度调整,以降低人工编辑量。附图说明图1为现有的分布式多进程处理技术的一种处理示意图;图2为本专利技术所述多进程处理方法的一种流程图;图3为本专利技术所述方法的一种处理示意图;图4为本专利技术所述多进程处理装置的一种组成示意图;图5为本专利技术所述多进程处理系统的一种组成示意图。具体实施方式下面结合附图及具体实施例对本专利技术再作进一步详细的说明。本专利技术中,所述本地是指本地的机器,即本机,所述机器是指具有数据处理能力的计算设备,如计算机,服务器,工作站等,这种机器的可以是物理上的独立机器,也可以是逻辑划分的机器,如逻辑划分的计算机集群等。本专利技术中,所述的进程是计算设备的操作系统结构的基础;是一次程序的执行;是一个程序及其数据在处理机上顺序执行时所发生的活动;是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。图2为本专利技术所述多进程处理方法的一种流程图。参见图2,该方法包括:步骤201、为本地的数据文件编号。步骤202、输入每个进程需处理的数据文件个数M。步骤203、获取本地的数据文件总数N。步骤204、根据所述N与所述M的取模结果确定需要启动的进程数k。步骤205、启动k个进程,为每个进程分配至多M个数据文件编号。这M个数据文件编号不重合,这样就可以全覆盖所有的数据文件。步骤206、所述进程根据所分配的数据文件编号加载对应的数据文件进行处理。在一种具体的优选实施例中,在上述步骤204中,所述根据所述N与所述M的取模结果确定需要启动的进程数k,具体包括:进行取模运算,即:N%M;如果N%M等于0,则所述k为:N除以M得到的商的整数部分,即N/M;如果N%M不等于0,则所述k为:N除以M得到的商的整数部分,再加上1,即N/M+1。在一种具体的优选实施例中,在所述步骤205中,所述为每个进程分配至多M个数据文件编号,具体为:按照所述本地的数据文件的编号,从第一个进程开始,每个进程依次分配至多M个数据文件编号,直到分配完本地所有的数据文件编号为止。这样,就可以保证这M个数据文件编号不重合,这样就可以全覆盖所有的数据文件。更为具体的一种实施例中,步骤201所述为本地的数据文件编号,具体为:对本地的数据文件从0开始编号。步骤205中所述从第一个进程开始,每个进程依次分配至多M个数据文件编号,直到分配完本地所有的数据文件编号为止,具体包括:设置所启动的进程编号,设p表示所启动的进程的编号,p=0,1,…,k-1,则:若(p+1)×M–1小于最后一个数据文件编号,则编号为p的进程对应分配的数据文件编号为:从第p×M到第(p+1)×M–1;若本文档来自技高网
...

【技术保护点】
一种多进程处理方法,其特征在于,包括:为本地的数据文件编号;输入每个进程需处理的数据文件个数M;获取本地的数据文件总数N;根据所述N与所述M的取模结果确定需要启动的进程数k;启动k个进程,为每个进程分配至多M个数据文件编号;所述进程根据所分配的数据文件编号加载对应的数据文件进行处理。

【技术特征摘要】
1.一种多进程处理方法,其特征在于,包括:
为本地的数据文件编号;
输入每个进程需处理的数据文件个数M;
获取本地的数据文件总数N;
根据所述N与所述M的取模结果确定需要启动的进程数k;
启动k个进程,为每个进程分配至多M个数据文件编号;
所述进程根据所分配的数据文件编号加载对应的数据文件进行处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述N与所述M
的取模结果确定需要启动的进程数k,具体包括:
进行取模运算:N%M;
如果N%M等于0,则所述k为:N除以M得到的商的整数部分;
如果N%M不等于0,则所述k为:N除以M得到的商的整数部分,再加
上1。
3.根据权利要求1所述的方法,其特征在于,所述为每个进程分配至多M
个数据文件编号,具体为:按照所述本地的数据文件的编号,从第一个进程开
始,每个进程依次分配至多M个数据文件编号,直到分配完本地所有的数据文
件编号为止。
4.根据权利要求3所述的方法,其特征在于,
所述为本地的数据文件编号,具体为:对本地的数据文件从0开始编号;
所述从第一个进程开始,每个进程依次分配至多M个数据文件编号,直到
分配完本地所有的数据文件编号为止,具体包括:
设置所启动的进程编号,设p表示所启动的进程的编号,p=0,1,…,k-1,则:
若(p+1)×M–1小于最后一个数据文件编号,则编号为p的进程对应
分配的数据文件编号为:从第p×M到第(p+1)×M–1;
若(p+1)×M–1大于等于最后一个数据文件编号,则编号为p的进程

\t对应分配的数据文件编号为:从第p×M到最后一个数据文件编号。
5.根据权利要求1至4任一项所述的方法,其特征在于,
所述进程根据所分配的数据文件编号加载对应的数据文件进行处理,具体
包括:
所述进程根据所分配的数据文件编号读取该数据文件对应的路径地址;
所述进程从所述路径地址读取对应数据文件的数据,进行加载处理。
6.根据权利要求1所述的方法,其特征在于,在具有二台以上计算设备的
处理系统中,针对每台计算设备分别执行本多...

【专利技术属性】
技术研发人员:邢玉东
申请(专利权)人:腾讯科技北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1