一种数据处理的方法及装置制造方法

文档序号:6505073阅读:176来源:国知局
一种数据处理的方法及装置制造方法
【专利摘要】本申请提供一种数据处理的方法及装置,该方法包括:比较前次处理的第一输入数据和本次需要处理的第二输入数据,以获得被删除数据和新添加数据;对被删除数据和新添加数据进行第一处理,以获得被删除数据键索引集和新添加数据键索引集以及被删除映射数据集和新添加映射数据集;从第一映射数据集中删除与被删除映射数据相对应的映射数据,将新添加映射数据添加到第一映射数据集以形成第二映射数据集;对第二映射数据集中与被删除数据键索引集和新添加数据键索引集相对应的映射数据进行第二处理以获得变化输出数据;将第一输出数据中的要被替换输出数据替换成变化输出数据以得到第二输出数据。采用本申请可避免重复处理不变的输入数据。
【专利说明】一种数据处理的方法及装置

【技术领域】
[0001]本申请涉及计算机【技术领域】,尤其涉及一种数据处理的方法及装置。

【背景技术】
[0002]在大规模计算领域,云计算正受到人们的强烈关注,作为云计算的核心技术,MapReduce (映射化简)也受到了广泛关注。MapReduce系统通过Map (映射)和Reduce (化简)这样两个简单的概念来构成运算基本单元。用户只需编写Map函数和Reduce函数即可实现对大规模海量数据集的并行处理。MapReduce系统可以根据输入数据的大小及作业的配置等信息,自动将该作业初始化为多个相同的Map任务和Reduce任务,分别读取不同的输入数据块并调用Map函数和Reduce函数进行处理。
[0003]在现阶段的实际应用中,MapReduce数据处理系统通常设置为定时运行的状态,例如每天运行。MapReduce数据处理过程的输入数据,通常是一段时间内积累的数据,例如,最近15天积累的数据。对这样的数据进行MapReduce处理的特点是,本次的MapReduce数据处理过程的输入数据与上一次的数据处理过程的输入数据大部分是相同的,只有部分数据在本次MapReduce数据处理过程被删除,以及/或者本次MapReduce数据处理过程又新增部分数据。对于这样的MapReduce数据处理,当前的应用中都忽略了输入数据的这个性质,从而对所有数据进行完整的MapReduce处理。然而,很多数据其实在相邻的两次MapReduce处理过程中是不变的,对这些数据的处理计算工作其实是重复的,浪费了计算资源。


【发明内容】

[0004]本申请为克服上述缺陷,提供一种数据处理的方法及装置,以避免重复处理不变的数据的流程。
[0005]根据本申请的一个方面,提供一种数据处理的方法,包括:比较前次处理的第一输入数据和本次需要处理的第二输入数据,以获得变化数据,所述变化数据包括所述第二输入数据相对于所述第一输入数据的被删除数据和新添加数据;对所述被删除数据和新添加数据进行第一处理,以获得被删除数据键索引集和新添加数据键索引集,以及分别与所述被删除数据键索引集和新添加数据键索引集相对应的以键为索引的被删除映射数据集和新添加映射数据集;从以键为索引的第一映射数据集中删除与所述被删除映射数据集中的被删除映射数据相对应的映射数据,并将所述新添加映射数据集中的新添加映射数据添加到所述第一映射数据集中,以形成与所述第二输入数据相对应的以键为索引的第二映射数据集,其中,所述第一映射数据集分别与第一输入数据、以键为索引的第一输出数据相对应;对所述第二映射数据集中与所述被删除数据键索引集和所述新添加数据键索引集相对应的映射数据进行第二处理以获得以键为索引的变化输出数据;以及将所述第一输出数据中与所述变化输出数据的键索引相应的要被替换输出数据替换成所述变化输出数据以得到本次处理过程的以键为索引的第二输出数据。
[0006]根据本申请的实施例,在该方法中,所述新添加映射数据集、第一映射数据集、第二映射数据集分别包括至少一个数据子集,其中,与相同的键对应的数据在以该键为索引的一个数据子集中。
[0007]根据本申请的实施例,在该方法中,对所述第二映射数据集中与所述被删除数据键索引集和所述新添加数据键索引集相对应的映射数据进行第二处理以获得以键为索引的变化输出数据的步骤,包括:确定所述第二映射数据集中与所述被删除数据键索引集和所述新添加数据键索引集中的键索引相同的变化数据子集;对所述变化数据子集进行第二处理以获得以键为索引的变化输出数据。
[0008]根据本申请的实施例,在该方法中,将所述第一输出数据中与所述变化输出数据的键索引相应的要被替换输出数据替换成所述变化输出数据以得到本次处理过程的以键为索引的第二输出数据的步骤,包括:在所述第一输出数据中查找与所述变化输出数据中各个键相同的要被替换输出数据;将所述要被替换输出数据替换成所述变化输出数据,并将替换后的第一输出数据作为本次处理过程的第二输出数据。
[0009]根据本申请的实施例,在该方法中,所述被删除数据为所述第一输入数据中出现的而在所述第二输入数据中未出现的数据;所述新添加数据为所述第一输入数据中未出现的而在所述第二输入数据中出现的数据。
[0010]根据本申请的实施例,在该方法中,所述第一处理包括:基于所要处理的数据提取键值对,以获得以键为索引的键索引集,并形成以键为索引的映射数据集;并且其中,所述第一处理还包括:提取所要处理的数据的记录标记,所述记录标记包括:文件路径、行号;所述第二处理包括:对所要处理的数据根据预定规则进行处理,获得以键为索引的输出数据。
[0011]根据本申请的另一方面,提供一种数据处理的装置,包括:比较模块,用于比较前次处理的第一输入数据和本次需要处理的第二输入数据,以获得变化数据,所述变化数据包括所述第二输入数据相对于所述第一输入数据的被删除数据和新添加数据;第一处理模块,用于对所述被删除数据和新添加数据进行第一处理,以获得被删除数据键索引集和新添加数据键索引集,以及分别与所述被删除数据键索引集和新添加数据键索引集相对应的以键为索引的被删除映射数据集和新添加映射数据集;中间处理模块,用于从以键为索引的第一映射数据集中删除与所述被删除映射数据集中的被删除映射数据相对应的映射数据,并将所述新添加映射数据集中的新添加映射数据添加到所述第一映射数据集中,以形成与所述第二输入数据相对应的以键为索引的第二映射数据集,其中,所述第一映射数据集分别与第一输入数据、以键为索引的第一输出数据相对应;第二处理模块,用于对所述第二映射数据集中与所述被删除数据键索引集和所述新添加数据键索引集相对应的映射数据进行第二处理以获得以键为索引的变化输出数据;以及输出数据获取模块,用于将所述第一输出数据中与所述变化输出数据的键索引相应的要被替换输出数据替换成所述变化输出数据以得到本次处理过程的以键为索引的第二输出数据。
[0012]根据本申请的实施例,在该装置中,所述新添加映射数据集、第一映射数据集、第二映射数据集分别包括至少一个数据子集,其中,与相同的键对应的数据在以该键为索引的一个数据子集中。
[0013]根据本申请的实施例,在该装置中,所述第二处理模块包括:确定子模块,用于确定所述第二映射数据集中与所述被删除数据键索引集和所述新添加数据键索引集中的键索引相同的变化数据子集;处理子模块,用于对所述变化数据子集进行第二处理以获得以键为索引的变化输出数据。
[0014]根据本申请的实施例,在该装置中,所述获得模块包括:查找子模块,用于在所述第一输出数据中查找与所述变化输出数据中各个键相同的要被替换输出数据;替换子模块,用于将所述要被替换输出数据替换成所述变化输出数据,并将替换后的第一输出数据作为本次处理过程的第二输出数据。
[0015]根据本申请的实施例,在该装置中,所述被删除数据为所述第一输入数据中出现的而在所述第二输入数据中未出现的数据;所述新添加数据为所述第一输入数据中未出现的而在所述第二输入数据中出现的数据。
[0016]根据本申请的实施例,在该装置中,所述第一处理包括:基于所要处理的数据提取键值对,以获得以键为索引的键索引集,并形成以键为索引的映射数据集;并且其中,所述第一处理还包括:提取所要处理的数据的记录标记,所述记录标记包括:文件路径、行号;所述第二处理包括:对所要处理的数据根据预定规则进行处理,获得以键为索引的输出数据。
[0017]与现有技术相比,根据本申请的技术方案,可以避免重复处理不变的输入数据,从而可以缩短数据处理的时间,节省数据处理资源。

【专利附图】

【附图说明】
[0018]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0019]图1是本申请实施例涉及的一种数据处理的方法的流程图;
[0020]图2是本申请实施例涉及的一种数据处理的方法中前次处理的数据和本次处理的数据的示意图;
[0021]图3是本申请实施例的图1中的步骤S104的具体流程图;
[0022]图4是本申请实施例的图1中的步骤S105的具体流程图;以及
[0023]图5是本申请实施例涉及的一种数据处理的装置的框图。

【具体实施方式】
[0024]本申请的主要思想在于,通过对比前次处理和本次处理过程中的输入数据得到变化的数据,并对变化的输入数据进行处理得到以键为索引的变化输出数据,并根据所述变化输出数据的键索引替换前次处理过程中相应的输出数据,以得到本次处理的以键为索引的输出数据。
[0025]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0026]参考图1,图1是本申请的一种数据处理方法的流程图。
[0027]在步骤SlOl中,比较前次处理的第一输入数据和本次需要处理的第二输入数据,以获得变化数据。
[0028]所述变化数据包括所述第二输入数据相对于所述第一输入数据的被删除数据和新添加数据。其中,所述被删除数据为所述第一输入数据中出现的而在所述第二输入数据中未出现的数据。所述新添加数据为所述第一输入数据中未出现的而在所述第二输入数据中出现的数据。
[0029]在实际应用中,数据处理一般可以设置的时间间隔或频率运行,例如,可以每天做一次数据处理,而处理的数据一般为一段时间积累的数据,例如,最近15天的数据。本申请中的前次处理和本次处理,是指在时间上先后进行的两个处理过程,对于每一个处理过程,在执行时都可以作为本次处理,而在其之前进行的上一次处理过程可以作为其前次处理过程,而其也是其后一次处理过程的前次处理过程。如图2所示,例如,每天处理5天积累的数据,那么昨天处理的数据210就是前次处理的第一输入数据,而今天需要处理的数据220就是本次处理的第二输入数据。今天处理的第二输入数据中,删除了昨天处理的连续5天积累的第一输入数据中第I天产生的数据,而添加了今天新产生的数据。也就是说,从第一输入数据中需被删除第I天产生的输入数据(被删除数据)并添加今天产生的输入数据(新添加数据),可以得到本次需要处理的第二输入数据。
[0030]例如,在一个对用户访问日志进行处理的实施例中。所述前次处理的数据(第一输入数据)为:
[0031]URL:111.com,日期:20130214, 11:00:00,8
[0032]URL:222.com,日期:20130214, 13:00:00,7
[0033]URL:111.com,日期:20130214, 15:00:00,5
[0034]URL:222.com,日期:20130214, 17:00:00,7
[0035]URL:111.com,日期:20130215, 14:00:00,5
[0036]URL:333.com,日期:20130215, 16:00:00,3
[0037]URL:333.com,日期:20130216, 15:00:00,8
[0038]URL:555.com,日期:20130216, 16:00:00,11
[0039]URL:222.com,日期:20130217, 15:00:00,6
[0040]URL:555.com,日期:20130217, 15:00:00,10
[0041]URL:666.com,日期:20130218, 14:00:00,8
[0042]URL:666.com,日期:20130218, 15:00:00,9
[0043]URL:666.com,日期:20130218, 16:00:00,5
[0044]本次需要处理的数据(第二输入数据)为:
[0045]URL:111.com,日期:20130215, 14:00:00,5
[0046]URL:333.com,日期:20130215, 16:00:00,3
[0047]URL:333.com,日期:20130216, 15:00:00,8
[0048]URL:555.com,日期:20130216, 16:00:00,11
[0049]URL:222.com,日期:20130217, 15:00:00,6
[0050]URL:555.com,日期:20130217, 15:00:00,10
[0051]URL:666.com,日期:20130218, 14:00:00,8
[0052]URL:666.com,日期:20130218, 15:00:00,9
[0053]URL:666.com,日期:20130218, 16:00:00,5
[0054]URL:222.com,日期:20130219, 15:00:00,9
[0055]URL:333.com,日期:20130219, 16:00:00,6
[0056]URL:222.com,日期:20130219, 17:00:00,9
[0057]URL:333.com,日期:20130219, 18:00:00,8
[0058]比较第一输入数据和第二输入数据,可以得到第一输入数据相对于第二输入数据的被删除数据为:
[0059]URL:111.com,日期:20130214, 11:00:00,8
[0060]URL:222.com,日期:20130214, 13:00:00,7
[0061]URL:111.com,日期:20130214, 15:00:00,5
[0062]URL:222.com,日期:20130214, 17:00:00,7
[0063]以及,新添加数据为:
[0064]URL:222.com,日期:20130224, 15:00:00,9
[0065]URL:333.com,日期:20130224, 16:00:00,6
[0066]URL:222.com,日期:20130224, 17:00:00,9
[0067]URL:333.com,日期:20130224, 18:00:00,8
[0068]在步骤S102中,对所述被删除数据和新添加数据进行第一处理,以获得被删除数据键索引集和新添加数据键索引集,以及分别与所述被删除数据键索引集和新添加数据键索引集相对应的以键为索引的被删除映射数据集和新添加映射数据集。其中,所述第一处理可以包括:基于所要处理的数据提取键值对,以获得以键为索引的键索引集,并形成以键为索引的映射数据集。其中键索引是指以数据的键为索引,即,可以将所要处理的数据映射成为键值对数据,也就是对所要处理的数据可以进行映射处理,得到每个数据的键(key)与值(value)相对应的键值对(key-value)数据,并且,可以根据得到的键值对数据,以每个数据的键为索引,生成对应的以键为索引的映射数据集。所述映射数据集可以包含至少一个数据子集,其中,与相同的键对应的数据在以该键为索引的数据子集中。也就是说,所述映射数据集可以包含一个或多个数据子集,其中,每个数据子集包含键相同的一个或多个数据,并且,以所述一个或多个数据的相同的键作为该数据子集的键索引。因此,对被删除数据和新添加数据分别进行第一处理,可以得到每个被删除数据的键和每个新添加数据的键,将各个被删除数据的键组成集合,即为被删除数据键索引集,以及将各个新添加数据的键组成集合,即为新添加数据键索引集。所述第一处理还可以包括:提取所要处理的数据的记录标记,所述记录标记可以包括:文件路径、行号,记录标记可以用于标识各数据,例如,可以用行号作为数据的记录标记。
[0069]例如,以URL作为数据的键(key),在步骤SlOl中已经得到被删除数据和新添加数据,对得到的数据进行映射处理,可以获得各个被删除数据的键(key)分别为111.com、222.comUll.com、222.com,各个新添加数据的键(key)分别为 222.com、333.com、222.com、333.com,因此,可以得到,被删除数据键索引集为{111.com, 222.com},新添加数据键索引集为{222.com、333.com}。
[0070]并且,根据对所述被删除数据和新添加数据进行映射处理得到的键值对数据,可以得到以键为索引的被删除映射数据集和新添加映射数据集,并且所述被删除映射数据集和新添加映射数据集分别与被删除数据键索引集和新添加数据键索引集中的键索引相对应。以键为索引的被删除映射数据集或新添加映射数据集,包括至少一个数据子集,其中,与相同的键对应的数据在以该键为索引的一个数据子集中。也就是说,被删除映射数据集和新添加映射数据集中,至少包括一个由键相同的数据组成的子集合,这些子集合可以以各子集中的映射数据的相同的键为索引,因此,被删除映射数据集和新添加映射数据集中每个数据子集的键索引与被删除数据键索引集和新添加数据键索弓I集相对应。并且,所述被删除映射数据集和新添加映射数据集还可以包括数据的记录标记,作为数据的标识,也就是说,记录标记可以作为各个数据在其所在的以键为索引的数据子集中的标识,例如,可以以每个数据的行号作为该数据的记录标记。
[0071]因此,可以获得以键为索引的被删除映射数据集为:
[0072]lll.com:
[0073]8 "AO
[0074]5"A2
[0075](以上为以111.com为索引的被删除映射数据集的一个数据子集,该数据子集包括数据8 ~AO和5 ~A2,这些数据的键都相同为111.com,其中,8和5为数据的值,AO和A2表示数据所在行的行号分别为O和2,可以行号作为数据的记录标记。)
[0076]222.com:
[0077]7"A1
[0078]7"A3
[0079]以键为索引的新添加映射数据集为:
[0080]222.com:
[0081]9"A13
[0082]9"A14
[0083]333.com:
[0084]6"A15
[0085]8"A16
[0086]其中,Ai表不行号,其中i为1,2,3,..., η。
[0087]在步骤S103中,从以键为索引的第一映射数据集中删除与所述被删除映射数据集中的被删除映射数据相对应的映射数据,并将所述新添加映射数据集中的新添加映射数据添加到所述第一映射数据集中,以形成与所述第二输入数据相对应的以键为索引的第二映射数据集。其中,所述第一映射数据集分别与第一输入数据、以键为索引的第一输出数据相对应。第一映射数据集是在前次处理中得到的以键为索引的数据的集合、该集合包括至少一个数据子集,其中,与相同的键对应的数据在以该键为索引的一个数据子集中。也就是说,第一映射数据集中,包括一个或多个由键相同的数据组成的子集合,这些子集合以各子集中的映射数据共同的键为索引。并且,所述第一映射数据集还可以包含数据的记录标记,作为数据的标识,即,以键为所述第一映射数据集中每个数据子集的索引,以数据的记录标记来标识每个映射数据,例如,可以每个数据的行号作为该数据的记录标记。
[0088]也就是说,可以根据被删除映射数据集中的所有键索引和每个数据的记录标记,删除所述第一映射数据集中的相应的映射数据,例如,根据上述步骤S102中得到的被删除映射数据集中包括以lll.Com、222.com为索引的映射数据,并且,该被删除映射数据集中的数据是以数据的行号为记录标记的,那么,根据键索引和行号找到第一映射数据集中相应的映射数据,并删除它们。具体来说,可以根据被删除映射数据集中的键索引111.com和222.com,在第一映射数据集中查找键索引为111.com和222.com的数据子集,并根据被删除映射数据集中记录的被删除数据的行号查找相应的映射数据并删除将查找到的映射数据删除,由于所述第一映射数据集分别与第一输入数据、以键为索引的第一输出数据相对应,因此,可以提取每个被删除数据在所述第一输入数据中的行号作为第一映射数据集中每个被删除映射数据的记录标记,根据每个被删除数据的记录标记就可以在第一映射数据集相应的子集中删除相应的映射数据。并且,将所述新添加映射数据集中的新添加映射数据添加到所述第一映射数据集中。也就是说,将新添加的映射数据添加到第一映射数据中,从而得到所述第二输入数据相对应的以键为索引的第二映射数据集。具体来说,可以将新添加的映射数据集中各个以键为索引的数据子集根据各个数据子集的键索引添加到第一映射数据中相应的以键为索引的数据子集中,从而得到相对应的以键为索引的第二映射数据集。从而,所述第二映射数据亦如所述第一映射数据,包括至少一个由键相同的数据组成的子集合,这些子集合可以各子集中的映射数据共同的键为索引,并且,所述第二映射数据集还可以包含数据的记录标记,作为数据的标识,即,以键为所述第二映射数据集中每个数据子集的索引,以数据的记录标记来标识每个映射数据。
[0089]例如,在前次处理过程中得到的第一映射数据集为:
[0090]lll.com:
[0091]8 "AO
[0092]5"A2
[0093]8"A4
[0094]222.com:
[0095]7"A1
[0096]7"A3
[0097]6"A8
[0098]333.com:
[0099]3"A5
[0100]8"A6
[0101]555.com:
[0102]1ΓΑ7
[0103]10"A9
[0104]666.com:
[0105]8"A10
[0106]9"A11
[0107]5"A12
[0108]并且,在步骤S102中得到被删除数据键索引集为{111.com,222.com},新添加数据键索引集为{222.com、333.com},被删除映射数据集:
[0109]lll.com
[0110]8 "A0
[0111]5~A2
[0112]222.com:
[0113]7~A1
[0114]7"A3
[0115]新添加映射数据集为:
[0116]222.com:
[0117]9"A13
[0118]9"A14
[0119]333.com:
[0120]6"A15
[0121]8"A16
[0122]因此,将被删除映射数据集中的被删除映射数据从第一映射数据集中删除,并且将新添加映射数据集中的新添加映射数据添加到第一映射数据集中,可以得到:第二映射数据集为:
[0123]lll.com:
[0124]8"A4
[0125]222.com:
[0126]6"A8
[0127]9"A13
[0128]9"A14
[0129]333.com:
[0130]3"A5
[0131]8"A6
[0132]6"A15
[0133]8"A16
[0134]555.com:
[0135]1ΓΑ7
[0136]10"A9
[0137]666.com:
[0138]8"A10
[0139]9"A11
[0140]5"A12
[0141]在步骤S104中,对所述第二映射数据集中与被删除数据键索引集和新添加数据键索引集相对应的映射数据进行第二处理以获得以键为索引的变化输出数据。步骤S104具体可参考图3所示,图3为步骤S104的具体流程图,如图3所示:
[0142]在步骤S301中,确定所述第二映射数据集中与所述被删除数据键索引集和所述新添加数据键索引集中的键索引相同的变化数据子集。在前面的步骤S103中,已经得到了以键为索引的第二映射数据集,而该集合包括至少一个由键相同的数据组成的数据子集,其中,与相同的键对应的数据在以该键为索引的一个数据子集中。根据所述被删除数据键索引集和所述新添加数据键索引集在所述第二映射数据中查找与被删除数据键索引集和新添加数据键索引集中的键索引相同的数据子集,就可以确定第二映射数据相对于第一映射数据的变化数据子集。
[0143]在步骤S302中,对所述变化数据子集进行第二处理以获得变化输出数据。所述第二处理可以包括:对所要处理的数据根据预定规则进行处理,获得以键为索引的输出数据。其中,预定规则可根据数据处理的具体需要进行设定。即,对上述得到的变化数据子集按照预定规则进行处理,得到变化输出数据,其中,所述变化输出数据可以是以键为索引的输出数据。
[0144]例如,在上述的步骤S103中,得到第二映射数据集为:
[0145]lll.com:
[0146]8"A4
[0147]222.com:
[0148]6"A8
[0149]9"A13
[0150]9"A14
[0151]333.com:
[0152]3"A5
[0153]8"A6
[0154]6"A15
[0155]8"A16
[0156]555.com:
[0157]1ΓΑ7
[0158]10"A9
[0159]666.com:
[0160]8"A10
[0161]9"A11
[0162]5"A12
[0163]而被删除数据键索引集和新添加数据键索引集分别为{111.com,222.com}和{222.com、333.com},
[0164]因此,在步骤S301中,可以得到的变化数据子集分别为以111.com、222.com、333.com为索引的数据子集,SP,
[0165]111.com:
[0166]8"A4
[0167]222.com:
[0168]6"A8
[0169]9"A13
[0170]9"A14
[0171]333.com:
[0172]3"A5
[0173]8~A6
[0174]6~A15
[0175]8~A16
[0176]在步骤S302中,对得到的数据子集按照预定规则进行处理,例如:做加法运算,可以得到以键为索引的变化输出数据如下:
[0177]111.com:
[0178]8
[0179]222.com:
[0180]24
[0181]333.com:
[0182]25
[0183]在步骤S105中,将所述第一输出数据中与所述变化输出数据的键索引相应的要被替换输出数据替换成所述变化输出数据以得到本次处理过程的以键为索引的第二输出数据。
[0184]步骤S105,具体可参考图4所示,图4为步骤S105的具体流程图,如图4所示:
[0185]在步骤S401中,在所述第一输出数据中查找与所述变化输出数据中各个键相同的要被替换输出数据。也就是说,根据以键为索引的变化输出数据的所有的键索引,查找所述第一输出数据中与变化输出数据的键相同的键索引输出数据,即为要被替换输出数据。
[0186]在步骤S402中,将所述要被替换输出数据替换成所述变化输出数据,并将替换后的第一输出数据作为本次处理过程的第二输出数据。即,将查找到的第一输出数据中要被替换输出数据替换成与其键索引相同的变化输出数据,替换后的第一输出数据即为本次处理过程的第二输出数据。具体来说,也就是在输出数据时,将发生变化的数据相对应的以键为索引输出数据替换成键相同的变化输出数据输出,而不变的数据相对应的键索引输出数据按照原来的第一输出数据不变的输出。
[0187]例如,前次处理得到的第一输出数据为:
[0188]lll.com:
[0189]21
[0190]222.com:
[0191]20
[0192]333.com:
[0193]11
[0194]555.com:
[0195]21
[0196]666.com:
[0197]22
[0198]因此,在步骤S402中,根据在步骤S104中得到的以键为索引的变化输出数据,可以查找到与所述变化输出数据中各个键相同的要被替换输出数据为:
[0199]lll.com:
[0200]21
[0201]222.com:
[0202]20
[0203]333.com:
[0204]11
[0205]将它们替换为步骤S104中得到的变化输出数据,得到本次处理的第二输出数据为:
[0206]lll.com:
[0207]8
[0208]222.com:
[0209]24
[0210]333.com:
[0211]25
[0212]555.com:
[0213]21
[0214]666.com:
[0215]22
[0216]第二输出数据中,以555.com和666.com为索引的输出数据没有改变,并且也不需要进行上述两次处理,从而减少了处理量。
[0217]另外,对于第一次处理过程(B卩,没有前次处理过程),涉及到的前次处理过程的数据都视为空,如第一输入数据、第一映射数据集、第一输出数据。即,本次处理执行过程中,在步骤SlOl中,本次的第二输入数据即为前次处理的第一输入数据相对于本次处理的第二输入数据的新添加数据,而被删除数据为空,在步骤S102中,得到新添加数据键索引集、被删除数据键索引集、新添加映射数据集以及第二映射数据集,其中,被删除数据键索引集为空,第二映射数据集即为新添加映射数据集,步骤S103-S105以此类推,此处不在赘述,因此,最后得到的本次处理的第二输出数据即为对所述新添加映射数据进行第二处理得到的变化输出数据。
[0218]参考图5,图5根据本申请的另一方面而提供一种数据处理装置的框图,如图5所示,该装置可以包括:比较模块510、第一处理模块520、中间处理模块530、第二处理模块540、输出数据获取模块550。
[0219]比较模块510,可以用于比较前次处理的第一输入数据和本次需要处理的第二输入数据,以获得变化数据,所述变化数据包括所述第二输入数据相对于所述第一输入数据的被删除数据和新添加数据。
[0220]第一处理模块520,可以用于对所述被删除数据和新添加数据进行第一处理,以获得被删除数据键索引集和新添加数据键索引集,以及分别与被删除数据键索引集和新添加数据键索引集相对应的被删除映射数据集和新添加映射数据集。
[0221]中间处理模块530,可以用于从以键为索引的第一映射数据集中删除与所述被删除映射数据集中的被删除映射数据相对应的映射数据,并将所述新添加映射数据集中的新添加映射数据添加到所述第一映射数据集中,以形成与所述第二输入数据相对应的第二映射数据集,其中,所述第一映射数据集分别与第一输入数据、以键为索引的第一输出数据相对应。
[0222]第二处理模块540,用于对所述第二映射数据集中与被删除数据键索引集和新添加数据键索引集相对应的映射数据进行第二处理以获得以键为索引的变化输出数据。
[0223]输出数据获取模块550,用于将所述第一输出数据中与所述变化输出数据的键索引相应的要被替换输出数据替换成所述变化输出数据以得到本次处理过程的以键为索引的第二输出数据。
[0224]其中,所述新添加映射数据集、第一映射数据集、第二映射数据集分别包括至少一个数据子集,其中,与相同的键对应的数据在以该键为索引的一个数据子集中。
[0225]所述第二处理模块540可以包括:确定子模块541和处理子模块542.
[0226]确定子模块541,可以用于确定所述第二映射数据集中与所述被删除数据键索引集和所述新添加数据键索引集中的键索引相同的变化数据子集。
[0227]处理子模块542,可以用于对所述变化数据子集进行第二处理以获得以键为索引的变化输出数据。
[0228]所述输出数据获取模块550可以包括:查找子模块551、替换子模块552。
[0229]查找子模块551,可以用于在所述第一输出数据中查找与所述变化输出数据中各个键相同的要被替换输出数据;
[0230]替换子模块552,可以用于将所述要被替换输出数据替换成所述变化输出数据,并将替换后的第一输出数据作为本次处理过程的第二输出数据。
[0231]其中,所述被删除数据为所述第一输入数据中出现的而在所述第二输入数据中未出现的数据;所述新添加数据为所述第一输入数据中未出现的而在所述第二输入数据中出现的数据。
[0232]所述第一处理可以包括:基于所要处理的数据提取键值对,以获得以键为索引的键索引集,并形成以键为索引的映射数据集;并且其中,所述第一处理还包括:提取所要处理的数据的记录标记,所述记录标记包括:文件路径、行号。
[0233]所述第二处理可以包括:对所要处理的数据根据预定规则进行处理,获得以键为索引的输出数据。
[0234]由于本实施例的装置所实现的功能基本相应于前述图1至图4所示的方法实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
[0235]本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块或单元。一般地,程序模块或单元可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。一般来说,程序模块或单元可以由软件、硬件或两者的结合来实现。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块或单元可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0236]最后,还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0237]本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其主要思想;同时,对于本领域的一般技术人员,依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本申请的权利要求范围之内。综上所述,本说明书内容不应理解为对本申请的限制。
[0238]本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0239]在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0240]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0241]以上所述仅为本申请的实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
【权利要求】
1.一种数据处理的方法,其特征在于,包括: 比较前次处理的第一输入数据和本次需要处理的第二输入数据,以获得变化数据,所述变化数据包括所述第二输入数据相对于所述第一输入数据的被删除数据和新添加数据; 对所述被删除数据和新添加数据进行第一处理,以获得被删除数据键索引集和新添加数据键索引集,以及分别与所述被删除数据键索引集和新添加数据键索引集相对应的以键为索引的被删除映射数据集和新添加映射数据集; 从以键为索引的第一映射数据集中删除与所述被删除映射数据集中的被删除映射数据相对应的映射数据,并将所述新添加映射数据集中的新添加映射数据添加到所述第一映射数据集中,以形成与所述第二输入数据相对应的以键为索引的第二映射数据集,其中,所述第一映射数据集分别与第一输入数据、以键为索引的第一输出数据相对应; 对所述第二映射数据集中与所述被删除数据键索引集和所述新添加数据键索引集相对应的映射数据进行第二处理以获得以键为索引的变化输出数据;以及 将所述第一输出数据中与所述变化输出数据的键索引相应的要被替换输出数据替换成所述变化输出数据以得到本次处理过程的以键为索引的第二输出数据。
2.根据权利要求1所述的方法,其特征在于,所述新添加映射数据集、第一映射数据集、第二映射数据集分别包括至少一个数据子集,其中,与相同的键对应的数据在以该键为索引的一个数据子集中。
3.根据权利要求2所述的方法,其特征在于,对所述第二映射数据集中与所述被删除数据键索引集和所述新添加数据键索引集相对应的映射数据进行第二处理以获得以键为索引的变化输出数据的步骤,包括: 确定所述第二映射数据集中与所述被删除数据键索引集和所述新添加数据键索引集中的键索引相同的变化数据子集; 对所述变化数据子集进行第二处理以获得以键为索引的变化输出数据。
4.根据权利要求2所述的方法,其特征在于,将所述第一输出数据中与所述变化输出数据的键索引相应的要被替换输出数据替换成所述变化输出数据以得到本次处理过程的以键为索引的第二输出数据的步骤,包括: 在所述第一输出数据中查找与所述变化输出数据中各个键相同的要被替换输出数据; 将所述要被替换输出数据替换成所述变化输出数据,并将替换后的第一输出数据作为本次处理过程的第二输出数据。
5.根据权利要求1所述的方法其特征在于, 所述被删除数据为所述第一输入数据中出现的而在所述第二输入数据中未出现的数据; 所述新添加数据为所述第一输入数据中未出现的而在所述第二输入数据中出现的数据。
6.根据权利要求1所述的方法,其特征在于, 所述第一处理包括:基于所要处理的数据提取键值对,以获得以键为索引的键索引集,并形成以键为索引的映射数据集;并且其中,所述第一处理还包括:提取所要处理的数据的记录标记,所述记录标记包括:文件路径、行号; 所述第二处理包括:对所要处理的数据根据预定规则进行处理,获得以键为索引的输出数据。
7.一种数据处理的装置,其特征在于,包括: 比较模块,用于比较前次处理的第一输入数据和本次需要处理的第二输入数据,以获得变化数据,所述变化数据包括所述第二输入数据相对于所述第一输入数据的被删除数据和新添加数据; 第一处理模块,用于对所述被删除数据和新添加数据进行第一处理,以获得被删除数据键索引集和新添加数据键索引集,以及分别与所述被删除数据键索引集和新添加数据键索引集相对应的以键为索引的被删除映射数据集和新添加映射数据集; 中间处理模块,用于从以键为索引的第一映射数据集中删除与所述被删除映射数据集中的被删除映射数据相对应的映射数据,并将所述新添加映射数据集中的新添加映射数据添加到所述第一映射数据集中,以形成与所述第二输入数据相对应的以键为索引的第二映射数据集,其中,所述第一映射数据集分别与第一输入数据、以键为索引的第一输出数据相对应;第二处理模块,用于对所述第二映射数据集中与所述被删除数据键索引集和所述新添加数据键索引集相对应的映射数据进行第二处理以获得以键为索引的变化输出数据;以及输出数据获取模块,用于将所述第一输出数据中与所述变化输出数据的键索引相应的要被替换输出数据替换成所述变化输出数据以得到本次处理过程的以键为索引的第二输出数据。
8.根据权利要求7所述的装置,其特征在于,所述新添加映射数据集、第一映射数据集、第二映射数据集分别包括至少一个数据子集,其中,与相同的键对应的数据在以该键为索引的一个数据子集中。
9.根据权利要求8所述的装置,其特征在于,所述第二处理模块包括: 确定子模块,用于确定所述第二映射数据集中与所述被删除数据键索引集和所述新添加数据键索引集中的键索引相同的变化数据子集; 处理子模块,用于对所述变化数据子集进行第二处理以获得以键为索引的变化输出数据。
10.根据权利要求8所述的装置,其特征在于,所述获得模块包括: 查找子模块,用于在所述第一输出数据中查找与所述变化输出数据中各个键相同的要被替换输出数据; 替换子模块,用于将所述要被替换输出数据替换成所述变化输出数据,并将替换后的第一输出数据作为本次处理过程的第二输出数据。
11.根据权利要求7所述的装置,其特征在于, 所述被删除数据为所述第一输入数据中出现的而在所述第二输入数据中未出现的数据; 所述新添加数据为所述第一输入数据中未出现的而在所述第二输入数据中出现的数据。
12.根据权利要求7所述的装置,其特征在于, 所述第一处理包括:基于所要处理的数据提取键值对,以获得以键为索引的键索引集,并形成以键为索引的映射数据集;并且其中,所述第一处理还包括:提取所要处理的数据的记录标记,所述记录标记包括:文件路径、行号; 所述第二处理包括:对所要处理的数据根据预定规则进行处理,获得以键为索引的输出数据。
【文档编号】G06F17/30GK104252486SQ201310268334
【公开日】2014年12月31日 申请日期:2013年6月28日 优先权日:2013年6月28日
【发明者】王立, 刘立川 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1