一种分布式计算数据合并方法、系统及其装置的制作方法

文档序号:6574816阅读:207来源:国知局

专利名称::一种分布式计算数据合并方法、系统及其装置的制作方法
技术领域
:本发明涉及网络通信
技术领域
,特别是涉及一种分布式计算数据合并方法、系统及其装置。
背景技术
:随着互联网技术的飞速发展,对于互联网上存在海量信息的处理就成为了难题。如果要在单机上处理这些数据量非常庞大的信息,就需要有很强的处理能力和端口能力,然而一方面这种高性能单机价格不菲,而且这种依靠单机的处理模式也是有限度的。因此人们提出了分布式计算的概念,利用互联网上有很多互连计算机的空闲资源来处理互联网上的海量信息。分布式计算把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,在上传运算结果后再统一合并得出数据结论。因此,分布式计算的主要可以分为以下几个部分1、任务分割根据每个应用的不同,采用不同的方法将任务进行分割,最终达到的目的是任务尽可能的平均分配,各个任务之间互不相关。2、计算任务任务分割完成后就被分发给分布式节点,有各个分布式节点进行计算,得到各个子任务包的计算结果。3、结果合并在一台服务机器上,对各个分布式节点的处理结果进行合并,得到最终的处理结果。现有的的分布式计算中,针对每个不同的应用处理的方式都是不同的,每个应用都要用户自己进行处理,对于分布式计算中并发处理,容错,负载均衡等等细节问题都要考虑,因此导致代码非常复杂。比如说分析用户访问网站的访问路径,就需要编写任务分割的代码、编写分析访问路径代码、编写结果合并代码,并且在这些代码中都要处理数据的同步、并发问题,容错、负载问题。如果出现新的应用,则这些过程都要重新进行一遍,并且还要考虑任务分割、结果合并,数据的同步等等问题,增加了用户的负担。
发明内容本发明要解决的问题是提供一种分布式计算数据合并方法、系统及其装置,可以使分布式计算数据合并只需几个步骤就能完成,减轻用户工作量。为达到上述目的,本发明的实施例的技术方案提出一种分布式计算数据合并方法,包括以下步骤根据分布式计算任务分割的情况设置配置文件;数据合并服务器将所述配置文件导入,并建立与所述配置文件对应的数据库表;各个分布式节点完成分布式计算任务后将计算结果信息插入所述数据库表;所述数据合并服务器将数据库表中的数据合并。其中,在所述数据合并服务器将数据库表中的数据合并之后,还包括以下步骤将所述数据合并结果导出成文件。其中,所述根据分布式计算任务分割的情况设置配置文件具体包括需要合并数据表名、字段名、数据插入方式和合并方式。其中,所述将数据库表中的数据合并具体包括根据所述配置文件中的合并方式对数据库中字段进行处理。其中,所述根据分布式计算任务分割的情况设置配置文件具体还包括记录最大数量、错误处理方式、最大错误记录数和记录保存方式。其中,所述各个分布式节点将计算结果信息插入所述数据库表,具体包括以下步骤所述分布式节点根据所述合并数据表名将计算结果插入所述数据库表。其中,所述计算结果信息包括分布式任务ID,分布式配置项名称和计算结果。其中,所述计算结果信息以ASCII码分隔。为达到上述目的,本发明的实施例的技术方案还提出一种分布式计算数据合并系统,包括至少一个分布式节点和数据合并服务器,所述数据合并服务器,用于根据用户设置的配置文件建立与所述配置文件对应的数据库表,并在各个分布式节点将计算结果信息上报后将数据库表中的数据合并;所述分布式节点,用于在完成分布式计算任务后将计算结果信息插入所述数据库表。其中,所述数据合并服务器包括数据库表建立模块和数据合并模块,所述数据库表建立模块用于根据用户设置的配置文件建立与所述配置文件对应的数据库表;所述数据合并模块用于在各个分布式节点将计算结果信息上报后将数据库表中的数据合并。其中,所述数据合并服务器还包括计算结果统计模块,用于判断所述各个分布式节点是否全部将计算结果信息上报。其中,所述数据合并服务器还包括中间数据存储模块,用于在数据合并之前存储数据库表。本发明的实施例的技术方案还提出一种数据合并服务器,包括数据库表建立模块和数据合并模块,所述数据库表建立模块用于根据用户设置的配置文件建立与所述配置文件对应的数据库表;所述数据合并模块用于在各个分布式节点将计算结果信息上报后将数据库表中的数据合并。其中,所述数据合并服务器还包括计算结果统计模块,用于判断所述各个分布式节点是否全部将计算结果信息上4艮。其中,所述数据合并服务器还包括中间数据存储模块,用于在数据合并之前存储数据库表。通过本发明实施例的技术方案用户只需要根据接口标准编写配置文件,系统就会自动进行数据合并,隐藏了分布式计算中的数据合并细节,减轻了用户的工作量。图1为本发明实施例分布式计算数据合并系统结构图;图2为本发明实施例分布式计算数据合并方法的流程图;图3为本发明实施例另一种分布式计算数据合并方法的流程图。具体实施方式本发明实施例利用数据库做平台与本发明实施例相结合,封装了分布式计算的数据合并的具体细节。用户只需要根据通过预先定义的标准编写配置文件,本发明就会自动进行数据合并,只需要简单的几个步骤就能完成以前需要几百行代码才能完成的工作。下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述如图l所示,为本发明实施例分布式计算数据合并系统结构图。该分布式计算数据合并系统包括至少一个分布式节点2和数据合并服务器1,数据合并服务器1用于根据用户设置的配置文件建立与该配置文件对应的数据库表,并在各个分布式节点2将计算结果信息上报后将数据库表中的数据合并;分布式节点2用于在完成分布式计算任务后将计算结果信息插入数据合并服务器1中的数据库表。通过该分布式计算数据合并系统将计算结果合并的过程如下首先,根据数据合并过程需要用到的方式方法订立数据合并接口的标准,该标准规范了不同的分布式计算的应用,用户使用这个标准就可以通过本发明处理不同的分布式计算的应用,不需要在各个分布式应用上重复编写代码。用户根据此标准编写相应的配置文件,该配置文件根据分布式计算的任务分割和任务计算步骤的情况设置,包括根据分布任务分割情况建立数据表名、字段名、数据插入方式和合并方式;还包括记录最大数量、错误处理方式、最大错误记录数和记录保存方式;并且可根据需要进行扩充。其中,数据插入方式是指插入数据库的方式,可采用直接插入或间接插入;记录保存方式是指以数据库方式保存,还是以远程网络文件或本地磁盘文件的方式保存。数据合并服务器i读取设置的配置文件,根据预定的数据合并接口标准分析该配置文件,得到需要合并的数据表名、字段名、数据插入方式和合并方式及记录最大数量、错误处理方式、最大错误记录数和记录保存方式等用户配置的信息;利用数据合并服务器1上的数据库根据这些信息建立数据库表,以用户配置的数据表名命名该数据库表,并记录用户配置的数据合并方式。各个分布式节点2在完成分布式计算任务之后,自动调用本发明提供的接口将计算结果信息插入该数据库表中,其中计算结果信息包括分布式任务ID,分布式配置项名称和计算结果,该计算结果信息的各个部分采用ASCII码分隔,例如用\5分隔。数据合并服务器1根据记录的用户配置的数据合并方式对上述数据库表进行合并,该合并操作利用数据库实现;在该合并操作完成后根据用户的配置文件将最后合并结果导出,以数据库表的方式、远程网络文件或本地磁盘文件的方式保存。对于数据合并的方式用户可以选择数据库支持的所有合并操作,例如对数据表中的某个字段分组,对某个字段进行加合,对某个字段求最大值等。其中,数据合并服务器1包括数据库表建立模块11和数据合并模块12,数据库表建立模块11用于根据用户设置的配置文件建立与该配置文件对应的数据库表;数据合并模块12用于在各个分布式节点2将计算结果信息上报后将数据库表中的数据合并。其中,数据合并服务器1还包括计算结果统计模块13和中间数据存储模块14,计算结果统计模块13用于判断各个分布式节点2是否全部将计算结果信息上报;中间数据存储模块14用于在数据合并之前存储数据库表。如图2所示,为本发明实施例分布式计算数据合并方法的流程图,包括以下步骤步骤201,根据分布式计算任务分割的情况^没置配置文件,该配置文件根据分布式计算的任务分割和任务计算步骤的情况设置,包括^^艮据分布任务分割情况建立数据表名、字段名、数据插入方式和合并方式;还包括记录最大数量、错误处理方式、最大错误记录数和记录保存方式;并且该配置文件信息可根据需要进行扩充。其中,数据插入方式是指插入数据库的方式,可采用直接插入或间接插入;记录保存方式是指以数据库方式保存,还是以远程网络文件或本地磁盘文件的方式保存。步骤202,数据合并服务器将所述配置文件导入,并建立与该配置文件对应的数据库表。数据合并服务器读取设置的配置文件,根据预定的数据合并接口标准分析该配置文件,得到需要合并的数据表名、字段名、数据插入方式和合并方式及记录最大数量、错误处理方式、最大错误记录数和记录保存方式等用户配置的信息;利用数据合并服务器上的数据库根据这些信息建立数据库表,以用户配置的数据表名命名该数据库表,并记录用户配置的数据合并方式。步骤203,各个分布式节点完成分布式计算任务后将计算结果信息插入所述数据库表。各个分布式节点在完成分布式计算任务之后,自动调用本发明提供的接口将计算结果信息插入该数据库表中,其中计算结果信息包括分布式任务ID,分布式配置项名称和计算结果,该计算结果信息的各个部分采用ASCII码分隔,例如用\5分隔。步骤204,数据合并服务器将数据库表中的数据合并。数据合并服务器根据记录的用户配置的数据合并方式对上述数据库表进行合并,该合并操作利用数据库实现;在该合并操作完成后根据用户的配置文件将最后合并结果导出,以数据库表的方式、远程网络文件或本地磁盘文件的方式保存。对于数据合并的方式用户可以选择数据库支持的所有合并操作,例如对数据表中的某个字段分组,对某个字段进行加合,对某个字段求最大值等。如图3所示,为本发明实施例另一种分布式计算婆:据合并方法的流程图,包括以下步骤步骤301,根据数据合并过程需要用到的方式方法订立数据合并接口的标准,该标准规范了不同的分布式计算的应用,用户使用这个标准就可以通过本发明处理不同的分布式计算的应用,不需要在各个分布式应用上重复编写代码。该标准对于本发明实施例的分布式计算数据合并方法不是必须的,但createmergedatatable—name(field1—namefield1—typefield1—class,field2—namefield2jypefield2—class)[limit[m啊xerrorn][directload][globalfile/localfile]其中,field为字段是根据分布式计算数据合并之前的任务分割情况设定的;Limit是指记录按照从大到小排列后的最大的数量;Maxerror是指插入数据库中允许的最大错误记录数;Directlad是指插入数据库的方式,直接还是非直4妄方式;Globalfile/localfile:是指记录保存的方式,是以数据库的方式,本发明实施例还可以根据用户的需要,对上述数据合并接口的标准进行扩充。步骤302,4艮据分布式计算任务分割的情况设置配置文件。以下为本实施例中用户根据自身要求设置的配置文件。CREATEmergedataANALOG—RES—SUMMARY—DAILYPROFILEIDREPORT—TIMEPAGEV正WVISITSAVER—VISIT_LEN画Q一VISITORVISITl一VISITORPAGEV正WlVISITNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERNUMBERkey,key,order,order,order,order,order,orderlimit1max6irors1directloadlocalfilej步骤303,数据合并服务器将所述配置文件导入,并建立与该配置文件对应的数据库表。数据合并服务器读取设置的配置文件,根据预定的数据合并接口标准分析该配置文件,得到需要合并的数据表名、字段名、数据插入方式和合并方式及记录最大数量、错误处理方式、最大错误记录数和记录保存方式等用户配置的信息;利用数据合并服务器上的数据库根据这些信息建立数据库表,以用户配置的数据表名命名该数据库表,并记录用户配置的数据合并方式。根据上述用户根据自身要求设置的配置文件,我们可以得到以下信息上述配置文件中根据任务分割的情况,任务计算的结果应当有8个字段,分另寸为profile—id、report—time、pageview,visits、aver—visit—len、quiq_visitor、visitl—visitor和pageviewl—visit;不限制结果数;直4妄的方式进4亍数4居导入;允许的最大错误是l;ANALOG—RES—SUMMARY—DAILY为其数据表名;导出方式为本地磁盘文件。根据上述用户设置的配置文件,Fieldl—class指出了合并方式,在本例中是以profile—id和report_time的field_class是key,其他字)爻的field—class为order,就是指以profile—id和report—time为关4建字,求这些字段page—view,visits,aver—visit—len,uniq_visitor,visitl一vistor,pageviewl—visit的和。根据以上信息,数据合并服务器调用数据库,在数据库上创建包含以上信息的数据库表,并将上述合并方式保存。步骤304,各个分布式节点完成分布式计算任务后将计算结果信息插入所述数据库表。各个分布式节点在完成分布式计算任务之后,自动调用本发明提供的接口将计算结果信息插入该数据库表中,其中计算结果信息包括需要插入的数据表名和计算结果等用户配置信息,该计算结果信息的各个部分采用ASCII码分隔。例如上例中上报的信息有数据表名ANALOG—RES—SUMMARY—DAILY,以及插入的数据"2\520070214\5100\550\523\524\512\548",该插入的数据以ASCII码5分隔,就是指插入的数据为profile—id=2、report—time=20070214、pageview=100、visits=50、aver—visit—len=23、quiq_visitor=24、visitl_visitor=l2、pageviewl—visit=48。步骤305,数据合并服务器将数据库表中的数据合并。如用户设定的合并方式为在profile—id和report—time相同的情况下合并pageview、visits、aver—visit_len、quiq_visitor、visit1—visitor、pageviewl—visit这六个字段,数据合并服务器调用数据库根据上述合并方式将数据合并,并将合并结果导出成文件在本地,兹盘文件上保存。本发明实施例通过数据合并服务器和分布式节点对合并数据的自动处理,隐藏了分布式计算中数据合并的细节,减轻了用户的工作量。因此用户不需要去了解分布式计算中数据合并的细节,也不需要针对各个不同的应用方式编写代码。通过本发明实施例只需要简单的几个步骤就能完成以前需要几百行代码才能完成的工作。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。权利要求1.一种分布式计算数据合并方法,其特征在于,包括以下步骤根据分布式计算任务分割的情况设置配置文件;数据合并服务器将所述配置文件导入,并建立与所述配置文件对应的数据库表;各个分布式节点完成分布式计算任务后将计算结果信息插入所述数据库表;所述数据合并服务器将数据库表中的数据合并。2、如权利要求1所述分布式计算数据合并方法,其特征在于,在所述数据合并服务器将数据库表中的数据合并之后,还包括以下步骤将所述数据合并结果导出成文件。3、如权利要求1所述分布式计算数据合并方法,其特征在于,所述根据分布式计算任务分割的情况设置配置文件具体包括需要合并数据表名、字#殳名、凄t据插入方式和合并方式。4、如权利要求3所述分布式计算数据合并方法,其特征在于,所述将数据库表中的数据合并具体包括根据所述配置文件中的合并方式对数据库中字段进行处理。5、如权利要求3所述分布式计算数据合并方法,其特征在于,所述根据分布式计算任务分割的情况设置配置文件具体还包括记录最大数量、错误处理方式、最大错误记录数和记录保存方式。6、如权利要求3所述分布式计算数据合并方法,其特征在于,所述各个分布式节点将计算结果信息插入所述数据库表,具体包括以下步骤所述分布式节点根据所述合并数据表名将计算结果插入所述数据库表。7、如权利要求1所述分布式计算数据合并方法,其特征在于,所述计算结果信息包括分布式任务ID,分布式配置项名称和计算结果。8、如权利要求7所述分布式计算数据合并方法,其特征在于,所述计算结果信息以ASCII码分隔。9、一种分布式计算数据合并系统,其特征在于,包括至少一个分布式节点和数据合并服务器,所述数据合并服务器,用于根据用户设置的配置文件建立与所述配置文件对应的数据库表,并在各个分布式节点将计算结果信息上报后将数据库表中的数据合并;所述分布式节点,用于在完成分布式计算任务后将计算结果信息插入所述数据库表。10、如权利要求9所述分布式计算数据合并系统,其特征在于,所述数据合并服务器包括数据库表建立模块和数据合并模块,所述数据库表建立模块用于根据用户设置的配置文件建立与所述配置文件对应的数据库表;所述数据合并模块用于在各个分布式节点将计算结果信息上报后将数据库表中的数据合并。11、如权利要求IO所述分布式计算数据合并系统,其特征在于,所述数据合并服务器还包括计算结果统计模块,用于判断所述各个分布式节点是否全部将计算结果信息上报。12、如权利要求IO所述分布式计算数据合并系统,其特征在于,所述数据合并服务器还包括中间数据存储模块,用于在数据合并之前存储数据库表。13、一种数据合并服务器,其特征在于,包括数据库表建立模块和数据合并模块,所述数据库表建立模块用于根据用户设置的配置文件建立与所述配置文件对应的数据库表;所述数据合并模块用于在各个分布式节点将计算结果信息上报后将数据库表中的数据合并。14、如权利要求13所述数据合并服务器,其特征在于,还包括计算结果统计模块,用于判断所述各个分布式节点是否全部将计算结果信息上报。15、如权利要求13所述数据合并服务器,其特征在于,还包括中间数据存储模块,用于在数据合并之前存储数据库表。全文摘要本发明公开了一种分布式计算数据合并方法,包括以下步骤根据分布式计算任务分割的情况设置配置文件;数据合并服务器将所述配置文件导入,并建立与所述配置文件对应的数据库表;各个分布式节点完成分布式计算任务后将计算结果信息插入所述数据库表;所述数据合并服务器将数据库表中的数据合并。通过本发明用户只需要根据接口标准编写配置文件,系统就会自动进行数据合并,隐藏了分布式计算中的数据合并细节,减轻了用户的工作量。文档编号G06F17/30GK101276364SQ20071009099公开日2008年10月1日申请日期2007年3月30日优先权日2007年3月30日发明者吴伟勋,李江华,松陈申请人:阿里巴巴公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1