分布式实时计算系统及其数据处理方法.pdf

上传人:n****g 文档编号:6170404 上传时间:2019-05-16 格式:PDF 页数:14 大小:1.16MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310741313.8

申请日:

2013.12.27

公开号:

CN103701906A

公开日:

2014.04.02

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):H04L 29/08登记生效日:20180713变更事项:专利权人变更前权利人:北京奇安信科技有限公司变更后权利人:北京奇安信科技有限公司变更事项:地址变更前权利人:100015 北京市朝阳区酒仙桥路甲10号3号楼15层17层1701-26变更后权利人:100015 北京市朝阳区酒仙桥路甲10号3号楼15层17层1701-26变更事项:共同专利权人变更后权利人:网神信息技术(北京)股份有限公司|||授权|||专利申请权的转移IPC(主分类):H04L 29/08登记生效日:20161212变更事项:申请人变更前权利人:北京奇虎科技有限公司变更后权利人:北京奇安信科技有限公司变更事项:地址变更前权利人:100088 北京市西城区新街口外大街28号D座112室(德胜园区)变更后权利人:100015 北京市朝阳区酒仙桥路甲10号3号楼15层17层1701-26变更事项:申请人变更前权利人:奇智软件(北京)有限公司|||实质审查的生效IPC(主分类):H04L 29/08申请日:20131227|||公开

IPC分类号:

H04L29/08; G06F11/14

主分类号:

H04L29/08

申请人:

北京奇虎科技有限公司; 奇智软件(北京)有限公司

发明人:

董方

地址:

100088 北京市西城区新街口外大街28号D座112室(德胜园区)

优先权:

专利代理机构:

北京智汇东方知识产权代理事务所(普通合伙) 11391

代理人:

康正德;薛峰

PDF下载: PDF下载
内容摘要

本发明提供了一种分布式实时计算系统及其数据处理方法。其中分布式实时计算系统的数据处理方法包括以下步骤:将父节点分配的数据写入备份文件;将备份文件同步至系统中所有子节点的存储装置中;监控子节点对数据的处理进程;当出现子节点中的任意一个出现处理进程崩溃的情况,利用除处理进程崩溃的子节点之外的子节点将存储装置中保存的备份文件进行数据还原。利用本发明的技术方案,在某个子节点出现处理进程崩溃的情况时,及时利用其他子节点对已经同步的备份数据文件进行数据还原,弥补了崩溃中丢失数据的损失,实现了分布式实时计算系统的数据持久化,从而满足了某些应用环境对数据完整性较高的要求。

权利要求书

权利要求书
1.  一种分布式实时计算系统的数据处理方法,包括:
将父节点分配的数据写入备份文件;
将所述备份文件同步至系统中所有子节点的存储装置中;
监控所述子节点对所述数据的处理进程;
当出现所述子节点中的任意一个出现处理进程崩溃的情况,利用除处理进程崩溃的子节点之外的子节点将所述存储装置中保存的备份文件进行数据还原。

2.  根据权利要求1所述的方法,其中,在将父节点分配的数据写入备份文件之前还包括:
由所述父节点将外部数据源的数据导入所述分布式实时计算系统,并将导入的数据进行拆分后分配所述子节点。

3.  根据权利要求2所述的方法,其中,所述分布式实时计算系统为网站请求实时分析系统,所述外部数据源的数据为向网站服务器发送的访问请求。

4.  根据权利要求1至3中任一项所述的方法,其中,将父节点分配的数据写入备份文件包括:
接收由所述父节点分配的数据,并存入缓存区;
将存入缓存区的所述数据写入预设的存储模型,形成所述备份文件。

5.  根据权利要求1至4中任一项所述的方法,其中,将所述备份文件同步至系统中所有子节点的存储装置中包括:
利用布置在各个所述子节点的客户端监控备份文件的变化;
将变化的数据同步到所述所有子节点的存储装置中。

6.  根据权利要求1至5中任一项所述的方法,其中,在利用除处理进程崩溃的子节点之外的子节点将所述存储装置中保存的备份文件进行数据还原之后还包括:
使用所述处理进程对还原后的数据进行处理,将处理结果保存到数据库中。

7.  一种分布式实时计算系统,包括一个父节点和和多个子节点,其中,
所述父节点,用于将数据分配给多个子节点;
每个所述子节点用于将父节点分配的数据写入备份文件,并执行预设的处理进程对所述分配的数据进行处理;
所述分布式实时计算系统还包括:
同步装置,用于将每个所述子节点备份文件同步至系统中所有所述子节点的存储装置中;
监控装置,用于监控所述子节点对所述数据的处理进程;
数据还原装置,用于当出现所述子节点中的任意一个出现处理进程崩溃的情况,利用除处理进程崩溃的子节点之外的子节点将所述存储装置中保存的备份文件进行数据还原。

8.  根据权利要求7所述的系统,其中,所述父节点还用于:
将外部数据源的数据导入所述分布式实时计算系统,并将导入的数据进行拆分后,以分配所述子节点。

9.  根据权利要求7所述的系统,其中,所述分布式实时计算系统用于对向网站服务器发送的访问请求进行分析。

10.  根据权利要求7至9中任一项所述的系统,其中,所述子节点被配置为:接收由所述父节点分配的数据,并存入缓存区;将存入缓存区的所述数据写入预设的存储模型,形成所述备份文件。

说明书

说明书分布式实时计算系统及其数据处理方法
技术领域
本发明涉及互联网,特别是涉及分布式实时计算系统及其数据处理方法。
背景技术
伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样、更加便捷,同时对于信息的时效性要求也越来越高。在网页安全分析、大型网络购物平台、搜索引擎等应用环境下,需要在事件出现后必须尽快地对数据进行处理,最好的方式为数据出现时便立刻对其进行处理,发生一个事件进行一次处理,而不是缓存起来成一批处理。
这种实时性要求较高的应用,数据以一个或多个连续数据流的形式进行传输,传统的数据库管理系统的设计并非为了快速连续地存放单独的数据单元,而且也不支持持续快速处理。因此为了实现实时大数据的分析要求,现有技术中迅速出现多种实时数据流计算系统,例如雅虎公司的S4、推特公司的Storm、IBM公司的StreamBase以及学术界开源的Borealis等。
其中,Storm以简单的编程模型、支持各种编程语言和较好的容错性能的特点,在多种环境下都有应用。Storm是一种自由的,分布式的、容错的开源实时计算系统。Storm对数据流做连续查询,在计算时就将结果以流的形式输出给用户,每秒可以处理数以百万计的消息。
Storm集群由一个主节点和多个工作节点组成。主节点用于分配代码、布置任务及故障检测。各个工作节点用于监听工作,开始并终止工作进程。在进行数据处理过程中,如果工作节点出现故障,可以实现快速重启恢复,从而容错性能较高。
在某些应用环境下,使用storm技术,在工作节点出现故障丢失的数据可以忽略不计,并不影响整个数据流的分析过程,然而在另一些应用环境下,如网站安全分析系统中,需要对形成分析报表,丢失的数据可能导致报表的准确性和连续性。针对storm系统工作节点快速恢复过程中丢失数据的问题,现有技术中尚没有提出有效的解决方案。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的分布式实时计算系统和相应的分布式实时计算系统的数据处理方法。本发明一个进一步的目的是要解决使用分布式实时计算系统进行数据处理时,部分数据丢失的问题。
依据本发明的一个方面,提供了分布式实时计算系统的数据处理方法。该分布式实时计算系统的数据处理方法,包括:将父节点分配的数据写入备份文件;将备份文件同步至系统中所有子节点的存储装置中;监控子节点对数据的处理进程;当出现子节点中的任意一个出现处理进程崩溃的情况,利用除处理进程崩溃的子节点之外的子节点将存储装置中保存的备份文件进行数据还原。
可选地,在将父节点分配的数据写入备份文件之前还包括:由父节点将外部数据源的数据导入分布式实时计算系统,并将导入的数据进行拆分后分配子节点。
可选地,分布式实时计算系统为网站请求实时分析系统,外部数据源的数据为向网站服务器发送的访问请求。
可选地,将父节点分配的数据写入备份文件包括:接收由父节点分配的数据,并存入缓存区;将存入缓存区的数据写入预设的存储模型,形成备份文件。
可选地,将备份文件同步至系统中所有子节点的存储装置中包括:利用布置在各个子节点的客户端监控备份文件的变化;将变化的数据同步到所有子节点的存储装置中。
可选地,在利用除处理进程崩溃的子节点之外的子节点将存储装置中保存的备份文件进行数据还原之后还包括:使用处理进程对还原后的数据进行处理,将处理结果保存到数据库中。
根据本发明的另一个方面,还提供了一种分布式实时计算系统。该分布式实时计算系统,包括一个父节点和和多个子节点,其中,父节点用于将数据分配给多个子节点;每个子节点用于将父节点分配的数据写入备份文件,并执行预设的处理进程对分配的数据进行处理;所述分布式实时计算系统还包括:同步装置,用于将每个子节点备份文件同步至系统中所有子节点的存储装置中;监控装置,用于监控子节点对数据的处理进程;数据还原装置,用于当出现子节点中的任意一个出现处理进程崩溃的情况,利用除处理进程崩溃的子节点之外的子节点将存储装置中保存的备份文件进行数据还原。
可选地,父节点还用于:将外部数据源的数据导入分布式实时计算系统, 并将导入的数据进行拆分后,以分配子节点。
可选地,分布式实时计算系统用于对向网站服务器发送的访问请求进行分析。
可选地,子节点被配置为:接收由父节点分配的数据,并存入缓存区;将存入缓存区的数据写入预设的存储模型,形成备份文件。
可选地,同步装置被配置为:利用布置在各个子节点的客户端监控备份文件的变化;将变化的数据同步到所有子节点的存储装置中。
可选地,子节点还用于:在利用除处理进程崩溃的子节点之外的子节点将存储装置中保存的备份文件进行数据还原之后,使用处理进程对还原后的数据进行处理,将处理结果保存到数据库中。
本发明的分布式实时计算系统及其数据处理方法在分布式实时计算系统中某个子节点出现处理进程崩溃的情况时,及时利用其他子节点对已经同步的备份数据文件进行数据还原,弥补了崩溃中丢失数据的损失,实现了分布式实时计算系统的数据持久化,从而满足了某些应用环境对数据完整性较高的要求。
进一步地,本发明的分布式实时计算系统及其数据处理方法应用于对网站请求实时分析中,在保证数据实时性的前提下,避免了数据丢失引起的报表异常,提高了报表的准确性和客观性,满足了用户需求。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据现有技术中的分布式实时计算系统100的网络拓扑图;
图2是根据本发明一个实施例的分布式实时计算系统200的示意图;
图3是根据本发明一个实施例的分布式实时计算系统的数据处理方法的示 意图;以及
图4是根据本发明一个实施例的分布式实时计算系统作为网站请求实时分析系统的系统架构图。
具体实施方式
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
本发明实施例中提供了一种分布式实时计算系统和相应的分布式实时计算系统的数据处理方法,该分布是实时计算系统优选为Storm系统。
Storm是一种自由的,分布式的、容错的开源实时计算系统。图1是根据现有技术中的分布式实时计算系统100的网络拓扑图,Storm系统把数据处理抽象成由一个个逻辑单元组成的拓扑结构,每个逻辑单元由运算和输入输出组成,按照Storm的术语,其中父节点(spout)110是应用中产生源数据流的组件。通常情况下spout110会从外部数据源中读取数据,然后转换为Storm内部的数据流。Spout运行了一个名为“Nimbus”的进程,用于为各子节点(bolt)121、122、123……分配代码、布置任务,以拆分数据并分配给bolt进行处理。
Bolt在一个系统中为接受数据然后执行处理的组件。Bolt可以执行过滤、函数操作、合并、写数据库等任何操作。用户可以在其中执行自己需要的操作。
Storm将大量的数据及时地分配给多个子节点进行处理,根据storm系统特性,当任一个bolt出现进程崩溃的情况时,可以进行迅速重启,相对于巨大的数量而言,丢失的数据可以忽略不计,但是在某些特殊的应用环境下,这部分丢失的数据的影响可能会比较大。例如在Strom平台作为网络安全系统的数据分析系统,如果出现短时的数据丢失,有可能会造成对某个网站的请求分析统计报表在某个时点突然出现下降的问题,这会影响网站用户的使用。
这对以上问题,本实施例的分布式实时计算系统对各个子节点的数据进行了持久化处理,将子节点的数据模型转换为存储模型,并进行数据同步,在出现节点崩溃的情况下,可以及时利用其他子节点将数据进行恢复并继续进行处理。
图2是根据本发明一个实施例的分布式实时计算系统200的示意图,该分 布式实时计算系统200一般性地可以包括以下部件:一个父节点210,多个子节点221、222、223……,同步装置230,数据还原装置240,数据还原装置250。
在以上部件中父节点210用于将数据分配给多个子节点221、222、223……;每个子节点用于将父节点分配给各自的数据写入各自的备份文件,并执行预设的处理进程对分配的数据进行处理。
另外,同步装置230用于将每个子节点221、222、223……的备份文件同步至系统中所有子节点的存储装置中;监控装置240用于监控子节点221、222、223……对数据的处理进程;数据还原装置250用于当出现子节点21、222、223……中的任意一个出现处理进程崩溃的情况,利用除处理进程崩溃的子节点之外的子节点将存储装置中保存的备份文件进行数据还原。
例如,在以上子节点221、222、223……中进行数据处理过程中,监控装置240检测到子节点222的处理进程出现了崩溃,此时,数据还原装置可以利用子节点221或者子节点223将同步装置230同步的备份文件进行数据还原,将在崩溃期间在子节点222中处理数据进行恢复,并继续处理。保证了数据的完整性。
父节点210还可以将外部数据源的数据导入分布式实时计算系统200,并将导入的数据进行拆分后,以分配子节点221、222、223……。例如,当前处理的数据为网站访问日志数据,父节点210可以将访问日志按照子节点的数量和工作状态进行拆分,快速及时地分配给子节点进行处理,子节点按照预设的分析算法,对网站的请求进行处理,得到需要的分析结果,用于对网站的请求量、安全性、请求类型等进行统计和分析,并生成相应的报表,供网站使用者使用。本实施例的分布式实时计算系统200优先使用于对向网站服务器发送的访问请求进行分析。
子节点进行数据持久化的一种配置方式为:接收由父节点210分配的数据,并存入缓存区;将存入缓存区的数据写入预设的存储模型,形成备份文件。同步装置230利用布置在各个子节点的客户端监控备份文件的变化;将变化的数据同步到所有子节点的存储装置中。
在利用除处理进程崩溃的子节点之外的子节点将存储装置中保存的备份文件进行数据还原之后,进行数据还原的子节点使用处理进程对还原后的数据进行处理,将处理结果保存到数据库中。
借助于Storm框架的强大实时处理能力,本实施例的分布式实时计算系统 对日志的分析可以迅速产生实时报表,并保证了数据的完整性。
本发明实施例还提供了一种以上分布式实时计算系统200的数据处理方法,该数据处理方法由以上实施例中介绍的分布式实时计算系统200执行,以解决针对storm系统工作节点快速恢复过程中丢失数据的问题。图3是根据本发明一个实施例的分布式实时计算系统的数据处理方法的示意图,该分布式实时计算系统的数据处理方法包括以下步骤:
步骤S302,将父节点分配的数据写入备份文件;
步骤S304,将备份文件同步至系统中所有子节点的存储装置中;
步骤S306,监控子节点对数据的处理进程;
步骤S308,判断是否出现子节点中的任意一个出现处理进程崩溃;
步骤S310,当出现子节点中的任意一个出现处理进程崩溃的情况,利用除处理进程崩溃的子节点之外的子节点将存储装置中保存的备份文件进行数据还原。
其中,在步骤S302之前,由父节点将外部数据源的数据导入分布式实时计算系统,并将导入的数据进行拆分后分配子节点。在本实施例的数据处理方法用于对网络请求分析时,父节点将接收到的向不同目标主机发送的访问请求拆分为Storm平台内部的数据流格式,分配给各个子节点,由各个子节点按照目标主机、URL、请求源ip对访问请求进行分类和分析,将分析结果存储对应数据库中。
步骤S302的存储过程可以采用一种数据持久化的操作,具体包括:接收由父节点分配的数据,并存入缓存区;将存入缓存区的数据写入预设的存储模型,形成备份文件。备份文件使用的存储模型可以是关系模型、XML、二进制流等。
步骤S304进行了数据同步,具体可以包括:利用布置在各个子节点的客户端监控备份文件的变化;将变化的数据同步到所有子节点的存储装置中。文件同步机制可以通过一个可共享的分层数据注册命名空间来协调分布部署的各个进程。以上命名空间非常像一个标准文件系统。每个名称都是用“/”分隔的一系列路径。每个空间都被用一个路径标示,每个路径都以“/”也就是根路径开始。数据读请求由它所连接的那个子节点处理。假如读请求在某个空间注册了一个监视事件,这个监视也由这个子节点来负责。写请求会被发给多个子节点,在所有子节点都完成之后才会返回响应,从而保证子节点的一致性。
步骤S306可以利用linux的内核监控文件系统,并且及时向专门的应用程 序发出相关的事件警告。一种实现方式为:首先创建一个文件描述符,附加一个或多个监视器,然后使用读方法从描述符获取事件。
在步骤S308确定出子节点的的任意一个出现处理进程崩溃的情况时,数据同步机制可以有一个子节点读取已经同步的备份文件,实现数据还原。然后使用该子节点的处理进程对还原后的数据进行处理,将处理结果保存到数据库中。弥补了进程崩溃的子节点在崩溃过程中丢失的数据
本实施例的分布式实时计算系统及其数据处理方法可以优选作为网站请求实时分析系统,图4是根据本发明一个实施例的分布式实时计算系统作为网站请求实时分析系统的系统架构图。
按照图4示出的架构,父节点完成在线流量实时采集的步骤,首先导入网站请求数量,实时进行数据拆分,分配给各个子节点进行分布式数据处理,子节点将各个子节点按照请求源,请求目标主站进行分类,并将分析结果存储应用数据库中。
子节点在接收来自于父节点的分配数据写入缓存的过程中,将缓存的数据写入备份文件,并进行数据同步处理,将备份文件备份到所有子节点对应的存储装置中。其中,子节点1对应备份文件1,子节点2对应备份文件2,所有备份文件中的数据是同步的。
若在处理过程中,出现某一子节点的处理进程崩溃,例如子节点1出现崩溃,如果不使用本实施例的分布式实时计算系统和数据处理方法,有可能丢失掉某一主机在某一时段的请求数据,后续利用数据库中的处理结果生成报表或曲线时,会导致某一时刻的数据异常。如果利用本实施例的分布式实时计算系统,系统可以由子节点2从备份文件中读取子节点1正在处理的数据,并进行处理,从而弥补了丢失的数据,保证了报表数据的完整性以及曲线的平滑。
本实施例的分布式实时计算系统及其数据处理方法在某个子节点出现处理进程崩溃的情况时,及时利用其他子节点对已经同步的备份数据文件进行数据还原,弥补了崩溃中丢失数据的损失,实现了分布式实时计算系统的数据持久化,从而满足了某些应用环境对数据完整性较高的要求。
进一步地,本发明的分布式实时计算系统及其数据处理方法应用于对网站请求实时分析中,在保证数据实时性的前提下,避免了数据丢失引起的报表异常,提高了报表的准确性和客观性,满足了用户需求。
本发明的实施例公开了:
A1.一种分布式实时计算系统的数据处理方法,包括:
将父节点分配的数据写入备份文件;
将所述备份文件同步至系统中所有子节点的存储装置中;
监控所述子节点对所述数据的处理进程;
当出现所述子节点中的任意一个出现处理进程崩溃的情况,利用除处理进程崩溃的子节点之外的子节点将所述存储装置中保存的备份文件进行数据还原。
A2.根据A1所述的方法,其中,在将父节点分配的数据写入备份文件之前还包括:
由所述父节点将外部数据源的数据导入所述分布式实时计算系统,并将导入的数据进行拆分后分配所述子节点。
A3.根据A2所述的方法,其中,所述分布式实时计算系统为网站请求实时分析系统,所述外部数据源的数据为向网站服务器发送的访问请求。
A4.根据A1至A3中任一项所述的方法,其中,将父节点分配的数据写入备份文件包括:
接收由所述父节点分配的数据,并存入缓存区;
将存入缓存区的所述数据写入预设的存储模型,形成所述备份文件。
A5.根据A1至A4中任一项所述的方法,其中,将所述备份文件同步至系统中所有子节点的存储装置中包括:
利用布置在各个所述子节点的客户端监控备份文件的变化;
将变化的数据同步到所述所有子节点的存储装置中。
A6.根据A1至A5中任一项所述的方法,其中,在利用除处理进程崩溃的子节点之外的子节点将所述存储装置中保存的备份文件进行数据还原之后还包括:
使用所述处理进程对还原后的数据进行处理,将处理结果保存到数据库中。
B7.一种分布式实时计算系统,包括一个父节点和和多个子节点,其中,
所述父节点,用于将数据分配给多个子节点;
每个所述子节点用于将父节点分配的数据写入备份文件,并执行预设的处理进程对所述分配的数据进行处理;
所述分布式实时计算系统还包括:
同步装置,用于将每个所述子节点备份文件同步至系统中所有所述子节点的存储装置中;
监控装置,用于监控所述子节点对所述数据的处理进程;
数据还原装置,用于当出现所述子节点中的任意一个出现处理进程崩溃的情况,利用除处理进程崩溃的子节点之外的子节点将所述存储装置中保存的备份文件进行数据还原。
B8.根据B7所述的系统,其中,所述父节点还用于:
将外部数据源的数据导入所述分布式实时计算系统,并将导入的数据进行拆分后,以分配所述子节点。
B9.根据B7所述的系统,其中,所述分布式实时计算系统用于对向网站服务器发送的访问请求进行分析。
B10.根据B7至B9中任一项所述的系统,其中,所述子节点被配置为:接收由所述父节点分配的数据,并存入缓存区;将存入缓存区的所述数据写入预设的存储模型,形成所述备份文件。
B11.根据B7至B10中任一项所述的系统,其中,所述同步装置被配置为:
利用布置在各个所述子节点的客户端监控备份文件的变化;将变化的数据同步到所述所有子节点的存储装置中。
B12.根据B7至B11中任一项所述的系统,其中,所述子节点还用于:
在利用除处理进程崩溃的子节点之外的子节点将所述存储装置中保存的备份文件进行数据还原之后,使用所述处理进程对还原后的数据进行处理,将处理结果保存到数据库中。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实 施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的分布式实时计算系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因 此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。

分布式实时计算系统及其数据处理方法.pdf_第1页
第1页 / 共14页
分布式实时计算系统及其数据处理方法.pdf_第2页
第2页 / 共14页
分布式实时计算系统及其数据处理方法.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《分布式实时计算系统及其数据处理方法.pdf》由会员分享,可在线阅读,更多相关《分布式实时计算系统及其数据处理方法.pdf(14页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103701906 A (43)申请公布日 2014.04.02 CN 103701906 A (21)申请号 201310741313.8 (22)申请日 2013.12.27 H04L 29/08(2006.01) G06F 11/14(2006.01) (71)申请人 北京奇虎科技有限公司 地址 100088 北京市西城区新街口外大街 28 号 D 座 112 室 (德胜园区) 申请人 奇智软件 (北京) 有限公司 (72)发明人 董方 (74)专利代理机构 北京智汇东方知识产权代理 事务所 ( 普通合伙 ) 11391 代理人 康正德 薛峰 (54) 发明名称。

2、 分布式实时计算系统及其数据处理方法 (57) 摘要 本发明提供了一种分布式实时计算系统及其 数据处理方法。其中分布式实时计算系统的数 据处理方法包括以下步骤 : 将父节点分配的数据 写入备份文件 ; 将备份文件同步至系统中所有子 节点的存储装置中 ; 监控子节点对数据的处理进 程 ; 当出现子节点中的任意一个出现处理进程崩 溃的情况, 利用除处理进程崩溃的子节点之外的 子节点将存储装置中保存的备份文件进行数据还 原。 利用本发明的技术方案, 在某个子节点出现处 理进程崩溃的情况时, 及时利用其他子节点对已 经同步的备份数据文件进行数据还原, 弥补了崩 溃中丢失数据的损失, 实现了分布式实时计。

3、算系 统的数据持久化, 从而满足了某些应用环境对数 据完整性较高的要求。 (51)Int.Cl. 权利要求书 2 页 说明书 8 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书8页 附图3页 (10)申请公布号 CN 103701906 A CN 103701906 A 1/2 页 2 1. 一种分布式实时计算系统的数据处理方法, 包括 : 将父节点分配的数据写入备份文件 ; 将所述备份文件同步至系统中所有子节点的存储装置中 ; 监控所述子节点对所述数据的处理进程 ; 当出现所述子节点中的任意一个出现处理进程崩溃的情况, 利用除处理进程崩溃。

4、的子 节点之外的子节点将所述存储装置中保存的备份文件进行数据还原。 2. 根据权利要求 1 所述的方法, 其中, 在将父节点分配的数据写入备份文件之前还包 括 : 由所述父节点将外部数据源的数据导入所述分布式实时计算系统, 并将导入的数据进 行拆分后分配所述子节点。 3. 根据权利要求 2 所述的方法, 其中, 所述分布式实时计算系统为网站请求实时分析 系统, 所述外部数据源的数据为向网站服务器发送的访问请求。 4.根据权利要求1至3中任一项所述的方法, 其中, 将父节点分配的数据写入备份文件 包括 : 接收由所述父节点分配的数据, 并存入缓存区 ; 将存入缓存区的所述数据写入预设的存储模型,。

5、 形成所述备份文件。 5.根据权利要求1至4中任一项所述的方法, 其中, 将所述备份文件同步至系统中所有 子节点的存储装置中包括 : 利用布置在各个所述子节点的客户端监控备份文件的变化 ; 将变化的数据同步到所述所有子节点的存储装置中。 6.根据权利要求1至5中任一项所述的方法, 其中, 在利用除处理进程崩溃的子节点之 外的子节点将所述存储装置中保存的备份文件进行数据还原之后还包括 : 使用所述处理进程对还原后的数据进行处理, 将处理结果保存到数据库中。 7. 一种分布式实时计算系统, 包括一个父节点和和多个子节点, 其中, 所述父节点, 用于将数据分配给多个子节点 ; 每个所述子节点用于将父。

6、节点分配的数据写入备份文件, 并执行预设的处理进程对所 述分配的数据进行处理 ; 所述分布式实时计算系统还包括 : 同步装置, 用于将每个所述子节点备份文件同步至系统中所有所述子节点的存储装置 中 ; 监控装置, 用于监控所述子节点对所述数据的处理进程 ; 数据还原装置, 用于当出现所述子节点中的任意一个出现处理进程崩溃的情况, 利用 除处理进程崩溃的子节点之外的子节点将所述存储装置中保存的备份文件进行数据还原。 8. 根据权利要求 7 所述的系统, 其中, 所述父节点还用于 : 将外部数据源的数据导入所述分布式实时计算系统, 并将导入的数据进行拆分后, 以 分配所述子节点。 9. 根据权利要。

7、求 7 所述的系统, 其中, 所述分布式实时计算系统用于对向网站服务器 发送的访问请求进行分析。 10. 根据权利要求 7 至 9 中任一项所述的系统, 其中, 所述子节点被配置为 : 接收由所 权 利 要 求 书 CN 103701906 A 2 2/2 页 3 述父节点分配的数据, 并存入缓存区 ; 将存入缓存区的所述数据写入预设的存储模型, 形成 所述备份文件。 权 利 要 求 书 CN 103701906 A 3 1/8 页 4 分布式实时计算系统及其数据处理方法 技术领域 0001 本发明涉及互联网, 特别是涉及分布式实时计算系统及其数据处理方法。 背景技术 0002 伴随着信息科技。

8、日新月异的发展, 信息呈现出爆发式的膨胀, 人们获取信息的途 径也更加多样、 更加便捷, 同时对于信息的时效性要求也越来越高。在网页安全分析、 大型 网络购物平台、 搜索引擎等应用环境下, 需要在事件出现后必须尽快地对数据进行处理, 最 好的方式为数据出现时便立刻对其进行处理, 发生一个事件进行一次处理, 而不是缓存起 来成一批处理。 0003 这种实时性要求较高的应用, 数据以一个或多个连续数据流的形式进行传输, 传 统的数据库管理系统的设计并非为了快速连续地存放单独的数据单元, 而且也不支持持续 快速处理。因此为了实现实时大数据的分析要求, 现有技术中迅速出现多种实时数据流计 算系统, 例。

9、如雅虎公司的 S4、 推特公司的 Storm、 IBM 公司的 StreamBase 以及学术界开源的 Borealis 等。 0004 其中, Storm 以简单的编程模型、 支持各种编程语言和较好的容错性能的特点, 在 多种环境下都有应用。Storm 是一种自由的, 分布式的、 容错的开源实时计算系统。Storm 对数据流做连续查询, 在计算时就将结果以流的形式输出给用户, 每秒可以处理数以百万 计的消息。 0005 Storm集群由一个主节点和多个工作节点组成。 主节点用于分配代码、 布置任务及 故障检测。各个工作节点用于监听工作, 开始并终止工作进程。在进行数据处理过程中, 如 果工作。

10、节点出现故障, 可以实现快速重启恢复, 从而容错性能较高。 0006 在某些应用环境下, 使用 storm 技术, 在工作节点出现故障丢失的数据可以忽略 不计, 并不影响整个数据流的分析过程, 然而在另一些应用环境下, 如网站安全分析系统 中, 需要对形成分析报表, 丢失的数据可能导致报表的准确性和连续性。针对 storm 系统工 作节点快速恢复过程中丢失数据的问题, 现有技术中尚没有提出有效的解决方案。 发明内容 0007 鉴于上述问题, 提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的分布式实时计算系统和相应的分布式实时计算系统的数据处理方法。 本发明一个 进一步的目的是。

11、要解决使用分布式实时计算系统进行数据处理时, 部分数据丢失的问题。 0008 依据本发明的一个方面, 提供了分布式实时计算系统的数据处理方法。该分布式 实时计算系统的数据处理方法, 包括 : 将父节点分配的数据写入备份文件 ; 将备份文件同 步至系统中所有子节点的存储装置中 ; 监控子节点对数据的处理进程 ; 当出现子节点中的 任意一个出现处理进程崩溃的情况, 利用除处理进程崩溃的子节点之外的子节点将存储装 置中保存的备份文件进行数据还原。 0009 可选地, 在将父节点分配的数据写入备份文件之前还包括 : 由父节点将外部数据 说 明 书 CN 103701906 A 4 2/8 页 5 源的。

12、数据导入分布式实时计算系统, 并将导入的数据进行拆分后分配子节点。 0010 可选地, 分布式实时计算系统为网站请求实时分析系统, 外部数据源的数据为向 网站服务器发送的访问请求。 0011 可选地, 将父节点分配的数据写入备份文件包括 : 接收由父节点分配的数据, 并存 入缓存区 ; 将存入缓存区的数据写入预设的存储模型, 形成备份文件。 0012 可选地, 将备份文件同步至系统中所有子节点的存储装置中包括 : 利用布置在各 个子节点的客户端监控备份文件的变化 ; 将变化的数据同步到所有子节点的存储装置中。 0013 可选地, 在利用除处理进程崩溃的子节点之外的子节点将存储装置中保存的备份 。

13、文件进行数据还原之后还包括 : 使用处理进程对还原后的数据进行处理, 将处理结果保存 到数据库中。 0014 根据本发明的另一个方面, 还提供了一种分布式实时计算系统。该分布式实时计 算系统, 包括一个父节点和和多个子节点, 其中, 父节点用于将数据分配给多个子节点 ; 每 个子节点用于将父节点分配的数据写入备份文件, 并执行预设的处理进程对分配的数据进 行处理 ; 所述分布式实时计算系统还包括 : 同步装置, 用于将每个子节点备份文件同步至 系统中所有子节点的存储装置中 ; 监控装置, 用于监控子节点对数据的处理进程 ; 数据还 原装置, 用于当出现子节点中的任意一个出现处理进程崩溃的情况,。

14、 利用除处理进程崩溃 的子节点之外的子节点将存储装置中保存的备份文件进行数据还原。 0015 可选地, 父节点还用于 : 将外部数据源的数据导入分布式实时计算系统, 并将导入 的数据进行拆分后, 以分配子节点。 0016 可选地, 分布式实时计算系统用于对向网站服务器发送的访问请求进行分析。 0017 可选地, 子节点被配置为 : 接收由父节点分配的数据, 并存入缓存区 ; 将存入缓存 区的数据写入预设的存储模型, 形成备份文件。 0018 可选地, 同步装置被配置为 : 利用布置在各个子节点的客户端监控备份文件的变 化 ; 将变化的数据同步到所有子节点的存储装置中。 0019 可选地, 子节。

15、点还用于 : 在利用除处理进程崩溃的子节点之外的子节点将存储装 置中保存的备份文件进行数据还原之后, 使用处理进程对还原后的数据进行处理, 将处理 结果保存到数据库中。 0020 本发明的分布式实时计算系统及其数据处理方法在分布式实时计算系统中某个 子节点出现处理进程崩溃的情况时, 及时利用其他子节点对已经同步的备份数据文件进行 数据还原, 弥补了崩溃中丢失数据的损失, 实现了分布式实时计算系统的数据持久化, 从而 满足了某些应用环境对数据完整性较高的要求。 0021 进一步地, 本发明的分布式实时计算系统及其数据处理方法应用于对网站请求实 时分析中, 在保证数据实时性的前提下, 避免了数据丢。

16、失引起的报表异常, 提高了报表的准 确性和客观性, 满足了用户需求。 0022 上述说明仅是本发明技术方案的概述, 为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施, 并且为了让本发明的上述和其它目的、 特征和优点能够 更明显易懂, 以下特举本发明的具体实施方式。 0023 根据下文结合附图对本发明具体实施例的详细描述, 本领域技术人员将会更加明 了本发明的上述以及其他目的、 优点和特征。 说 明 书 CN 103701906 A 5 3/8 页 6 附图说明 0024 通过阅读下文优选实施方式的详细描述, 各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用。

17、于示出优选实施方式的目的, 而并不认为是对本发明 的限制。而且在整个附图中, 用相同的参考符号表示相同的部件。在附图中 : 0025 图 1 是根据现有技术中的分布式实时计算系统 100 的网络拓扑图 ; 0026 图 2 是根据本发明一个实施例的分布式实时计算系统 200 的示意图 ; 0027 图 3 是根据本发明一个实施例的分布式实时计算系统的数据处理方法的示意图 ; 以及 0028 图 4 是根据本发明一个实施例的分布式实时计算系统作为网站请求实时分析系 统的系统架构图。 具体实施方式 0029 在此提供的算法和显示不与任何特定计算机、 虚拟系统或者其它设备固有相关。 各种通用系统也可。

18、以与基于在此的示教一起使用。根据上面的描述, 构造这类系统所要求 的结构是显而易见的。此外, 本发明也不针对任何特定编程语言。应当明白, 可以利用各种 编程语言实现在此描述的本发明的内容, 并且上面对特定语言所做的描述是为了披露本发 明的最佳实施方式。 0030 本发明实施例中提供了一种分布式实时计算系统和相应的分布式实时计算系统 的数据处理方法, 该分布是实时计算系统优选为 Storm 系统。 0031 Storm 是一种自由的, 分布式的、 容错的开源实时计算系统。图 1 是根据现有技术 中的分布式实时计算系统 100 的网络拓扑图, Storm 系统把数据处理抽象成由一个个逻辑 单元组成。

19、的拓扑结构, 每个逻辑单元由运算和输入输出组成, 按照 Storm 的术语, 其中父节 点 (spout) 110 是应用中产生源数据流的组件。通常情况下 spout110 会从外部数据源中读 取数据, 然后转换为 Storm 内部的数据流。Spout 运行了一个名为 “Nimbus” 的进程, 用于为 各子节点 (bolt) 121、 122、 123分配代码、 布置任务, 以拆分数据并分配给 bolt 进行处 理。 0032 Bolt 在一个系统中为接受数据然后执行处理的组件。Bolt 可以执行过滤、 函数操 作、 合并、 写数据库等任何操作。用户可以在其中执行自己需要的操作。 0033 。

20、Storm 将大量的数据及时地分配给多个子节点进行处理, 根据 storm 系统特性, 当 任一个 bolt 出现进程崩溃的情况时, 可以进行迅速重启, 相对于巨大的数量而言, 丢失的 数据可以忽略不计, 但是在某些特殊的应用环境下, 这部分丢失的数据的影响可能会比较 大。例如在 Strom 平台作为网络安全系统的数据分析系统, 如果出现短时的数据丢失, 有可 能会造成对某个网站的请求分析统计报表在某个时点突然出现下降的问题, 这会影响网站 用户的使用。 0034 这对以上问题, 本实施例的分布式实时计算系统对各个子节点的数据进行了持久 化处理, 将子节点的数据模型转换为存储模型, 并进行数据。

21、同步, 在出现节点崩溃的情况 下, 可以及时利用其他子节点将数据进行恢复并继续进行处理。 0035 图 2 是根据本发明一个实施例的分布式实时计算系统 200 的示意图, 该分布式 说 明 书 CN 103701906 A 6 4/8 页 7 实时计算系统 200 一般性地可以包括以下部件 : 一个父节点 210, 多个子节点 221、 222、 223, 同步装置 230, 数据还原装置 240, 数据还原装置 250。 0036 在以上部件中父节点 210 用于将数据分配给多个子节点 221、 222、 223 ; 每个 子节点用于将父节点分配给各自的数据写入各自的备份文件, 并执行预设的。

22、处理进程对分 配的数据进行处理。 0037 另外, 同步装置 230 用于将每个子节点 221、 222、 223的备份文件同步至系统 中所有子节点的存储装置中 ; 监控装置 240 用于监控子节点 221、 222、 223对数据的处 理进程 ; 数据还原装置 250 用于当出现子节点 21、 222、 223中的任意一个出现处理进程 崩溃的情况, 利用除处理进程崩溃的子节点之外的子节点将存储装置中保存的备份文件进 行数据还原。 0038 例如, 在以上子节点 221、 222、 223中进行数据处理过程中, 监控装置 240 检测 到子节点222的处理进程出现了崩溃, 此时, 数据还原装置。

23、可以利用子节点221或者子节点 223将同步装置230同步的备份文件进行数据还原, 将在崩溃期间在子节点222中处理数据 进行恢复, 并继续处理。保证了数据的完整性。 0039 父节点 210 还可以将外部数据源的数据导入分布式实时计算系统 200, 并将导入 的数据进行拆分后, 以分配子节点 221、 222、 223。例如, 当前处理的数据为网站访问日 志数据, 父节点 210 可以将访问日志按照子节点的数量和工作状态进行拆分, 快速及时地 分配给子节点进行处理, 子节点按照预设的分析算法, 对网站的请求进行处理, 得到需要的 分析结果, 用于对网站的请求量、 安全性、 请求类型等进行统计。

24、和分析, 并生成相应的报表, 供网站使用者使用。本实施例的分布式实时计算系统 200 优先使用于对向网站服务器发送 的访问请求进行分析。 0040 子节点进行数据持久化的一种配置方式为 : 接收由父节点 210 分配的数据, 并存 入缓存区 ; 将存入缓存区的数据写入预设的存储模型, 形成备份文件。 同步装置230利用布 置在各个子节点的客户端监控备份文件的变化 ; 将变化的数据同步到所有子节点的存储装 置中。 0041 在利用除处理进程崩溃的子节点之外的子节点将存储装置中保存的备份文件进 行数据还原之后, 进行数据还原的子节点使用处理进程对还原后的数据进行处理, 将处理 结果保存到数据库中。。

25、 0042 借助于 Storm 框架的强大实时处理能力, 本实施例的分布式实时计算系统对日志 的分析可以迅速产生实时报表, 并保证了数据的完整性。 0043 本发明实施例还提供了一种以上分布式实时计算系统 200 的数据处理方法, 该数 据处理方法由以上实施例中介绍的分布式实时计算系统 200 执行, 以解决针对 storm 系统 工作节点快速恢复过程中丢失数据的问题。图 3 是根据本发明一个实施例的分布式实时计 算系统的数据处理方法的示意图, 该分布式实时计算系统的数据处理方法包括以下步骤 : 0044 步骤 S302, 将父节点分配的数据写入备份文件 ; 0045 步骤 S304, 将备份。

26、文件同步至系统中所有子节点的存储装置中 ; 0046 步骤 S306, 监控子节点对数据的处理进程 ; 0047 步骤 S308, 判断是否出现子节点中的任意一个出现处理进程崩溃 ; 0048 步骤 S310, 当出现子节点中的任意一个出现处理进程崩溃的情况, 利用除处理进 说 明 书 CN 103701906 A 7 5/8 页 8 程崩溃的子节点之外的子节点将存储装置中保存的备份文件进行数据还原。 0049 其中, 在步骤 S302 之前, 由父节点将外部数据源的数据导入分布式实时计算系 统, 并将导入的数据进行拆分后分配子节点。在本实施例的数据处理方法用于对网络请求 分析时, 父节点将接。

27、收到的向不同目标主机发送的访问请求拆分为 Storm 平台内部的数据 流格式, 分配给各个子节点, 由各个子节点按照目标主机、 URL、 请求源 ip 对访问请求进行 分类和分析, 将分析结果存储对应数据库中。 0050 步骤 S302 的存储过程可以采用一种数据持久化的操作, 具体包括 : 接收由父节点 分配的数据, 并存入缓存区 ; 将存入缓存区的数据写入预设的存储模型, 形成备份文件。备 份文件使用的存储模型可以是关系模型、 XML、 二进制流等。 0051 步骤 S304 进行了数据同步, 具体可以包括 : 利用布置在各个子节点的客户端监控 备份文件的变化 ; 将变化的数据同步到所有子。

28、节点的存储装置中。文件同步机制可以通过 一个可共享的分层数据注册命名空间来协调分布部署的各个进程。 以上命名空间非常像一 个标准文件系统。每个名称都是用 “/” 分隔的一系列路径。每个空间都被用一个路径标示, 每个路径都以 “/” 也就是根路径开始。数据读请求由它所连接的那个子节点处理。假如读 请求在某个空间注册了一个监视事件, 这个监视也由这个子节点来负责。写请求会被发给 多个子节点, 在所有子节点都完成之后才会返回响应, 从而保证子节点的一致性。 0052 步骤S306可以利用linux的内核监控文件系统, 并且及时向专门的应用程序发出 相关的事件警告。一种实现方式为 : 首先创建一个文件。

29、描述符, 附加一个或多个监视器, 然 后使用读方法从描述符获取事件。 0053 在步骤 S308 确定出子节点的的任意一个出现处理进程崩溃的情况时, 数据同步 机制可以有一个子节点读取已经同步的备份文件, 实现数据还原。然后使用该子节点的处 理进程对还原后的数据进行处理, 将处理结果保存到数据库中。弥补了进程崩溃的子节点 在崩溃过程中丢失的数据 0054 本实施例的分布式实时计算系统及其数据处理方法可以优选作为网站请求实时 分析系统, 图 4 是根据本发明一个实施例的分布式实时计算系统作为网站请求实时分析系 统的系统架构图。 0055 按照图 4 示出的架构, 父节点完成在线流量实时采集的步骤。

30、, 首先导入网站请求 数量, 实时进行数据拆分, 分配给各个子节点进行分布式数据处理, 子节点将各个子节点按 照请求源, 请求目标主站进行分类, 并将分析结果存储应用数据库中。 0056 子节点在接收来自于父节点的分配数据写入缓存的过程中, 将缓存的数据写入备 份文件, 并进行数据同步处理, 将备份文件备份到所有子节点对应的存储装置中。其中, 子 节点 1 对应备份文件 1, 子节点 2 对应备份文件 2, 所有备份文件中的数据是同步的。 0057 若在处理过程中, 出现某一子节点的处理进程崩溃, 例如子节点 1 出现崩溃, 如果 不使用本实施例的分布式实时计算系统和数据处理方法, 有可能丢失。

31、掉某一主机在某一时 段的请求数据, 后续利用数据库中的处理结果生成报表或曲线时, 会导致某一时刻的数据 异常。如果利用本实施例的分布式实时计算系统, 系统可以由子节点 2 从备份文件中读取 子节点 1 正在处理的数据, 并进行处理, 从而弥补了丢失的数据, 保证了报表数据的完整性 以及曲线的平滑。 0058 本实施例的分布式实时计算系统及其数据处理方法在某个子节点出现处理进程 说 明 书 CN 103701906 A 8 6/8 页 9 崩溃的情况时, 及时利用其他子节点对已经同步的备份数据文件进行数据还原, 弥补了崩 溃中丢失数据的损失, 实现了分布式实时计算系统的数据持久化, 从而满足了某。

32、些应用环 境对数据完整性较高的要求。 0059 进一步地, 本发明的分布式实时计算系统及其数据处理方法应用于对网站请求实 时分析中, 在保证数据实时性的前提下, 避免了数据丢失引起的报表异常, 提高了报表的准 确性和客观性, 满足了用户需求。 0060 本发明的实施例公开了 : 0061 A1. 一种分布式实时计算系统的数据处理方法, 包括 : 0062 将父节点分配的数据写入备份文件 ; 0063 将所述备份文件同步至系统中所有子节点的存储装置中 ; 0064 监控所述子节点对所述数据的处理进程 ; 0065 当出现所述子节点中的任意一个出现处理进程崩溃的情况, 利用除处理进程崩溃 的子节点。

33、之外的子节点将所述存储装置中保存的备份文件进行数据还原。 0066 A2. 根据 A1 所述的方法, 其中, 在将父节点分配的数据写入备份文件之前还包括 : 0067 由所述父节点将外部数据源的数据导入所述分布式实时计算系统, 并将导入的数 据进行拆分后分配所述子节点。 0068 A3. 根据 A2 所述的方法, 其中, 所述分布式实时计算系统为网站请求实时分析系 统, 所述外部数据源的数据为向网站服务器发送的访问请求。 0069 A4. 根据 A1 至 A3 中任一项所述的方法, 其中, 将父节点分配的数据写入备份文件 包括 : 0070 接收由所述父节点分配的数据, 并存入缓存区 ; 00。

34、71 将存入缓存区的所述数据写入预设的存储模型, 形成所述备份文件。 0072 A5. 根据 A1 至 A4 中任一项所述的方法, 其中, 将所述备份文件同步至系统中所有 子节点的存储装置中包括 : 0073 利用布置在各个所述子节点的客户端监控备份文件的变化 ; 0074 将变化的数据同步到所述所有子节点的存储装置中。 0075 A6. 根据 A1 至 A5 中任一项所述的方法, 其中, 在利用除处理进程崩溃的子节点之 外的子节点将所述存储装置中保存的备份文件进行数据还原之后还包括 : 0076 使用所述处理进程对还原后的数据进行处理, 将处理结果保存到数据库中。 0077 B7. 一种分布。

35、式实时计算系统, 包括一个父节点和和多个子节点, 其中, 0078 所述父节点, 用于将数据分配给多个子节点 ; 0079 每个所述子节点用于将父节点分配的数据写入备份文件, 并执行预设的处理进程 对所述分配的数据进行处理 ; 0080 所述分布式实时计算系统还包括 : 0081 同步装置, 用于将每个所述子节点备份文件同步至系统中所有所述子节点的存储 装置中 ; 0082 监控装置, 用于监控所述子节点对所述数据的处理进程 ; 0083 数据还原装置, 用于当出现所述子节点中的任意一个出现处理进程崩溃的情况, 利用除处理进程崩溃的子节点之外的子节点将所述存储装置中保存的备份文件进行数据 说 。

36、明 书 CN 103701906 A 9 7/8 页 10 还原。 0084 B8. 根据 B7 所述的系统, 其中, 所述父节点还用于 : 0085 将外部数据源的数据导入所述分布式实时计算系统, 并将导入的数据进行拆分 后, 以分配所述子节点。 0086 B9. 根据 B7 所述的系统, 其中, 所述分布式实时计算系统用于对向网站服务器发 送的访问请求进行分析。 0087 B10. 根据 B7 至 B9 中任一项所述的系统, 其中, 所述子节点被配置为 : 接收由所述 父节点分配的数据, 并存入缓存区 ; 将存入缓存区的所述数据写入预设的存储模型, 形成所 述备份文件。 0088 B11.。

37、 根据 B7 至 B10 中任一项所述的系统, 其中, 所述同步装置被配置为 : 0089 利用布置在各个所述子节点的客户端监控备份文件的变化 ; 将变化的数据同步到 所述所有子节点的存储装置中。 0090 B12. 根据 B7 至 B11 中任一项所述的系统, 其中, 所述子节点还用于 : 0091 在利用除处理进程崩溃的子节点之外的子节点将所述存储装置中保存的备份文 件进行数据还原之后, 使用所述处理进程对还原后的数据进行处理, 将处理结果保存到数 据库中。 0092 在此处所提供的说明书中, 说明了大量具体细节。然而, 能够理解, 本发明的实施 例可以在没有这些具体细节的情况下实践。 在。

38、一些实例中, 并未详细示出公知的方法、 结构 和技术, 以便不模糊对本说明书的理解。 0093 类似地, 应当理解, 为了精简本公开并帮助理解各个发明方面中的一个或多个, 在 上面对本发明的示例性实施例的描述中, 本发明的各个特征有时被一起分组到单个实施 例、 图、 或者对其的描述中。 然而, 并不应将该公开的方法解释成反映如下意图 : 即所要求保 护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说, 如下面 的权利要求书所反映的那样, 发明方面在于少于前面公开的单个实施例的所有特征。 因此, 遵循具体实施方式的权利要求书由此明确地并入该具体实施方式, 其中每个权利要求本身。

39、 都作为本发明的单独实施例。 0094 本领域那些技术人员可以理解, 可以对实施例中的设备中的模块进行自适应性地 改变并且把它们设置在与该实施例不同的一个或多个设备中。 可以把实施例中的模块或单 元或组件组合成一个模块或单元或组件, 以及此外可以把它们分成多个子模块或子单元或 子组件。除了这样的特征和 / 或过程或者单元中的至少一些是相互排斥之外, 可以采用任 何组合对本说明书 (包括伴随的权利要求、 摘要和附图) 中公开的所有特征以及如此公开的 任何方法或者设备的所有过程或单元进行组合。 除非另外明确陈述, 本说明书 (包括伴随的 权利要求、 摘要和附图) 中公开的每个特征可以由提供相同、 。

40、等同或相似目的的替代特征来 代替。 0095 此外, 本领域的技术人员能够理解, 尽管在此所述的一些实施例包括其它实施例 中所包括的某些特征而不是其它特征, 但是不同实施例的特征的组合意味着处于本发明的 范围之内并且形成不同的实施例。 例如, 在权利要求书中, 所要求保护的实施例的任意之一 都可以以任意的组合方式来使用。 0096 本发明的各个部件实施例可以以硬件实现, 或者以在一个或者多个处理器上运行 说 明 书 CN 103701906 A 10 8/8 页 11 的软件模块实现, 或者以它们的组合实现。 本领域的技术人员应当理解, 可以在实践中使用 微处理器或者数字信号处理器 (DSP)。

41、 来实现根据本发明实施例的分布式实时计算系统中的 一些或者全部部件的一些或者全部功能。 本发明还可以实现为用于执行这里所描述的方法 的一部分或者全部的设备或者装置程序 (例如, 计算机程序和计算机程序产品) 。这样的实 现本发明的程序可以存储在计算机可读介质上, 或者可以具有一个或者多个信号的形式。 这样的信号可以从因特网网站上下载得到, 或者在载体信号上提供, 或者以任何其他形式 提供。 0097 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制, 并且本领 域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对权。

42、利要求的限制。单词 “包含” 不排除存在 未列在权利要求中的元件或步骤。位于元件之前的单词 “一” 或 “一个” 不排除存在多个这 样的元件。 本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来 实现。在列举了若干装置的单元权利要求中, 这些装置中的若干个可以是通过同一个硬件 项来具体体现。单词第一、 第二、 以及第三等的使用不表示任何顺序。可将这些单词解释为 名称。 0098 至此, 本领域技术人员应认识到, 虽然本文已详尽示出和描述了本发明的多个示 例性实施例, 但是, 在不脱离本发明精神和范围的情况下, 仍可根据本发明公开的内容直接 确定或推导出符合本发明原理的许多其他变型或修改。因此, 本发明的范围应被理解和认 定为覆盖了所有这些其他变型或修改。 说 明 书 CN 103701906 A 11 1/3 页 12 图 1 图 2 说 明 书 附 图 CN 103701906 A 12 2/3 页 13 图 3 说 明 书 附 图 CN 103701906 A 13 3/3 页 14 图 4 说 明 书 附 图 CN 103701906 A 14 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1