用于对每条接收数据执行聚合处理的系统和方法

文档序号:8282122阅读:309来源:国知局
用于对每条接收数据执行聚合处理的系统和方法
【技术领域】
[0001]本发明涉及用于对每条接收数据执行聚合处理的系统、方法和程序。
【背景技术】
[0002]传统上,作为处理大量到来或到达事件或数据的方法,存在一种方法,其暂时累积接收到的事件或各条数据,并通过以天、周、月等为单位进行批处理来在其上集体地执行处理。另一方面,对于即时地处理到达数据的方法存在不断增长的需要。例如,已知一种技术被称为CEP (复杂事件处理),根据该技术,预先设定数据的处理内容或分析场景,并且当到达数据与条件匹配时,即时地执行预设动作(例如,参见专利文献I)。还存在一种称为ETL(提取变换加载)的技术,其执行这样的处理:对数据库中的各条数据集体地进行变换、并将其保存在另一数据库中(例如,参见专利文献2)。
[0003][引用列表]
[0004][专利文献]
[0005][专利文献I] JP2Ol2-1l8928A
[0006][专利文献2] JP2OO5-OlI19A

【发明内容】

[0007]技术问题
[0008]作为处理到达数据的方法,存在一种聚合处理,其在将该数据与所保持的数据合并之后执行处理并保存结果。作为用于对到达数据即时地执行此聚合处理的技术,存在着将传统的数据库管理系统(DBMS)、用于即时处理数据的流处理的中间件等进行结合的应用。然而,针对大量数据的聚合处理涉及极其大量的数据访问处理,并且不能容易地使上面提及的应用处理针对大量数据的聚合处理,而且,开发是极为昂贵的。
[0009]本发明的目的是提供一种用于容易地实现聚合处理的系统,所述聚合处理针对每条到达数据在将到达数据与已经保持的数据合并之后对到达数据执行处理并保存结果。
[0010]问题的解决方案
[0011]针对这样的目的,本发明提供了一种用于从外部接收具有键(key)的数据并针对每条接收数据执行聚合处理的系统,所述键是用于进行分类的值,所述系统包括:接收单元,用于接收作为聚合处理的目标的具有键的第一数据;保持单元,用于保持数据库;以及存储单元,用于将第二数据存储在由保持单元保持的数据库中,所述第二数据具有键并且在至少一个运算器的处理中被生成,所述处理是对由接收单元接收的第一数据执行的,所述至少一个运算器是用于执行聚合处理的处理单元。
[0012]在这里,除了第一数据之外,由存储单元调用的运算器还可以接收从数据库中读取的第三数据,并且基于第一数据和第三数据对第一数据执行处理。
[0013]此外,本发明还提供了一种用于从外部接收具有键的数据并针对每条接收数据执行聚合处理的系统,所述键是用于进行分类的值,所述系统包括:保持单元,用于保持数据库;以及多个处理单元,用于接收具有键的特定数据作为第一输入数据,对第一输入数据执行预定处理,并且基于处理结果输出第一输出数据和第二输出数据中的至少一个,所述第一输出数据具有键,所述第二输出数据具有键并且将被存储在由保持单元保持的数据库中,其中,在多个处理单元中,将从外部接收的数据作为第一输入数据的处理单元是第一处理单元,并且接收由另一处理单元输出的第一输出数据作为第一输入数据的处理单元跟随在另一处理单元之后。
[0014]在这里,除了第一输入数据之外,处理单元还可以接收从数据库中读取的数据作为第二输入数据,并且基于第一输入数据和第二输入数据执行预定处理。
[0015]而且,在从多个处理单兀没有输出第一输出数据、或者不存在将所输出的第一输出数据作为第一输入数据的另一处理单元的情况下,针对具有键的数据的聚合处理可以结束。
[0016]此外,本发明还提供了一种用于从外部接收具有键的数据并针对每条接收数据执行聚合处理的系统,所述键是用于进行分类的值,所述系统包括:接收单元,用于接收作为聚合处理的目标的具有键的第一输入数据;保持单元,用于保持数据库;处理单元,用于调用作为取决于由接收单元接收的第一输入数据而执行聚合处理的装置的至少一个运算器,通过所调用的至少一个运算器对第一输入数据执行预定处理,并且在每个运算器的处理中输出第一输出数据和第二输出数据中的至少一个,所述第一输出数据具有键,所述第二输出数据具有键并且将被存储在由保持单元保持的数据库中;以及存储单元,用于存储由处理单元输出的第一输出数据,其中,当接收到第一输入数据时,如果存在存储于存储单元中的第一输出数据,则接收单元接收第一输出数据作为第一输入数据,并且如果不存在存储于存储单元中的第一输出数据,则接收单元接收从外部接收的数据作为第一输入数据。
[0017]在这里,在处理单元的预定处理结束之后,如果不存在存储于存储单元中的第一输出数据,则在其中存储第二输出数据的数据库的内容可以被固定。
[0018]而且,每当处理单元执行的运算器的处理结束时,数据库的内容可以被固定。
[0019]此外,本发明还提供了一种用于从外部接收具有键的数据并针对每条接收数据执行聚合处理的方法,所述键是用于进行分类的值,所述方法包括:接收作为聚合处理的目标的具有键的第一数据;以及由作为用于执行聚合处理的处理单元的至少一个运算器对所接收的第一数据执行处理,并将第二数据存储在存储单元中所存储的数据库中,所述第二数据具有键并且在所述至少一个运算器的处理中被生成。
[0020]另外,本发明还提供了一种程序,用于使计算机从外部接收具有键的数据并针对每条接收数据执行聚合处理,所述键是用于进行分类的值,所述程序使计算机实现以下功能:接收作为聚合处理的目标的具有键的第一数据;以及由作为用于执行聚合处理的处理单元的至少一个运算器对所接收的第一数据执行处理,以及将第二数据存储在存储单元中所存储的数据库中,所述第二数据具有键并且在所述至少一个运算器的处理中被生成。
[0021]根据本发明,可以提供一种用于容易地实现聚合处理的系统,所述聚合处理针对每条到达数据,在将到达数据与已经保持的数据合并之后对到达数据执行处理,并保存结果O
【附图说明】
[0022]图1是示出根据本发明实施例的聚合处理系统的示意性配置的示例的图;
[0023]图2是用于描述根据实施例的基本模型的示例的图;
[0024]图3是用于描述其中合并了根据实施例的基本模型的配置的示例的图;
[0025]图4是示出根据实施例的数据处理单元的示例功能配置的框图;
[0026]图5(a)和5(b)是示出根据实施例的元组定义信息的示例的图;
[0027]图6是示出根据实施例的表格定义信息的示例的图;
[0028]图7 (a)和7 (b)是示出根据实施例的运算器定义信息的示例的图;
[0029]图8是示出根据实施例的数据处理单元的聚合处理过程的示例的流程图;
[0030]图9是用于描述根据实施例的数据处理单元的聚合处理的具体示例的图;
[0031]图10是示出根据实施例的定义信息的描述示例的图;
[0032]图11是示出根据实施例的数据处理单元的聚合处理过程的另一示例的流程图;
[0033]图12-1是用于描述根据实施例的优化处理的第一示例的图;
[0034]图12-2是用于描述根据实施例的优化处理的第一示例的图;
[0035]图13是示出根据实施例执行归组运算器的过程示例的流程图;
[0036]图14是用于描述根据实施例的优化处理的第二示例的图;
[0037]图15是示出根据实施例的并行化处理的过程示例的流程图;并且
[0038]图16是示出适合用于配置根据实施例的数据处理单元的示例硬件配置的图。
【具体实施方式】
[0039]在下面,将参考附图详细描述本发明的实施例。
[0040]<聚合处理系统的简要描述>
[0041]图1是示出根据本发明实施例的聚合处理系统I的示意性配置的示例的图。聚合处理系统I是当许多条数据正在从外部一个接一个地到达时,每当一条数据到达时执行聚合处理的系统,其无需在累积各条数据之后才以集体的方式执行处理。在实施例中,聚合处理是指在将到达数据与已经保持的数据合并之后对到达数据执行算术处理、保存结果并更新数据库的处理。
[0042]根据实施例的聚合处理基于以下规则来执行。当数据从外部到达聚合处理系统I时,已经到达的数据被变换成元组格式。元组是要被存储到数据库中的每一条数据,并且元组包括含有特定名称和类型的至少一个列。而且,针对元组定义作为键的至少一个列(以下,作为键的列被称为键列)。每个元组根据输入到该键列中的值而进行分类(以下,输入到键列中的值被称为键值)。
[0043]然后,聚合处理系统I将具有同一键值的多个元组视为数据串,并按照到达顺序处理之。然而,具有不同键值的各条数据可以不按照到达顺序来处理。而且,总体来说,聚合处理系统I并行地接收许多条数据,但是具有相同键值的各条数据被假定为不是并行地同时到达。
[0044]而且,聚合处理系统I针对每一条到达数据执行一个或多个聚合处理。这些聚合处理作为事务来执行。事务是作为一个处理单位放置在一起的多个相关处理,并且所述处理通过被提交或被中止而结束。“被提交”的状态是事务的处理已经成功并且处理结果已固定的状态,而“被中止”的状态是事务的处理已经失败并且处理结果未被反映出来的状态。
[0045]也即是说,聚合处理系统I作为事务在一条到达数据上执行一个或多个聚合处理。然后,在事务的所有聚合处理都正常结束的情况下,事务被提交,并且聚合处理的处理结果被假定为在数据库中被固定且得到反映。另一方面,在事务的聚合处理中的至少一个聚合处理由于故障的出现而被打断的情况下,该事务被中止并且已经执行的聚合处理的处理结果被取消,并且将数据库返回到事务执行之前的原始状态。以这种方式,聚合处理系统I与许多条数据的接收并行地执行针对每条数据的聚合处理。
[0046]〈聚合处理系统的配置的描述〉
[0047]接下来,将描述图1中示出的聚合处理系统I的结构元件。根据实施例的聚合处理系统I包括:数据发送单元2,用于将作为聚合处理系统I的聚合处理的目标的数据变换成元组格式、以及用于将数据发送到数据处理单元3 ;以及数据处理单元3,用于对已经被发送的元组执行聚合处理。而且,数据发送单元2包括多个元组发送单元201,并且数据处理单元3包括多个RDA (实时数据聚合)服务器进程301和RDB (关系数据库)服务器进程302。RDA服务器进程是用于实现根据实施例的聚合处理(实时数据聚合:RDA)的服务器进程。RDB服务器进程是用于以具有行和列的表格格式来管理数据的服务器进程。而且,服务器进程是为了特定目的由服务器设备执行的处理装置。
[0048]在数据发送单元2处,每个元组发送单元201执行元组发送程序以将作为聚合处理的目标的数据变换成元组格式,并将变换后的元组发送到数据处理单元3的RDA服务器进程301。元组发送单元201将从聚合处理系统I外部的设备接收到的具有将会成为聚合处理的目标的数据的数据变换成元组。而且,每个元组发送单元201与RDA服务器进程301互连。在发送元组的时刻,元组发送单元201基于元组的键值获取用于标识RDA服务器进程301的标识符,并将元组发送到由所获取的标识符标识的RDA服务器进程30
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1