数据处理方法及系统的制作方法

文档序号:9708326阅读:336来源:国知局
数据处理方法及系统的制作方法
【技术领域】
[0001]本发明涉及通信技术,尤其涉及一种数据处理方法及系统。
【背景技术】
[0002]Storm系统是一个开源、免费的分布式实时计算系统,以其简单、可靠、高效地处理数据的特性而被广泛应用;相关技术提供的Storm系统存在数据吞吐性能低下的问题,例如,当Storm系统需要针对业务数据进行处理以得到每月的业务信息时,需要从数据源获取每天的业务数据并分别对每天的业务数据进行处理,以得到一个月份的业务信息;由于Storm用于处理海量数据,这就导致未及时进行处理的业务数据必然会给Storm系统带来相当大的存储压力,影响Storm系统的数据吞吐性能。

【发明内容】

[0003]本发明实施例提供一种数据处理方法及系统,能够减小数据处理系统存储待处理数据的压力,提升数据处理系统的数据吞吐性能。
[0004]本发明实施例的技术方案是这样实现的:
[0005]本发明实施例提供了一种数据处理方法,应用于数据处理系统,所述方法包括:
[0006]所述数据处理系统根据预设数据源配置信息从数据源获取业务数据;
[0007]将所获取的业务数据分配到所述数据处理系统的N个数据处理层,N为所述业务数据对应的业务处理策略指示的不同粒度业务信息的数量,所述粒度为对所述业务数据进行处理以得到所述业务信息的基本单位,N为大于1的整数;
[0008]在所述数据处理系统的第i处理层,以第i粒度对所接收的业务数据进行合并,得到第i粒度业务数据,i为大于等于1且小于等于N的整数;
[0009]利用所述业务数据对应的业务处理策略,对所述第i粒度业务数据进行处理,得到第i业务信息;其中,所述第i粒度大于第i_l粒度,所述第i_l粒度为在所述数据处理系统的第i_l处理层对所接收的业务数据进行合并的粒度。
[0010]上述方案中,将所获取的业务数据分配到所述数据处理系统的N个数据处理层之前,所述方法还包括:
[0011]根据所述业务数据的数据结构,在所述业务数据的数据结构内部封装所述业务数据对应的业务处理策略。
[0012]上述方案中,所述业务数据的数据结构采用元组类型时,在所述业务数据的数据结构内部封装所述业务数据对应的业务处理策略,包括:
[0013]在所述元组类型内部封装至少一个处理接口:数据获取接口 ;数据清洗接口 ;数据合并接口 ;数据更新接口 ;其中,
[0014]所述处理接口与所述业务处理策略指示对所述业务数据进行的处理对应。
[0015]上述方案中,所述数据处理系统根据预设数据源配置信息从数据源获取业务数据,包括:
[0016]通过调用所述元组类型中封装的数据获取接口,在所述元组类型内部填充从所述数据源获取的业务数据,得到封装有所述业务数据的元组;
[0017]所述利用所述业务数据对应的业务处理策略,对所述第i粒度业务数据进行处理,包括:
[0018]调用以下处理接口至少一个处理封装有所述第i粒度业务数据的元组:调用数据清洗接口、数据合并接口、数据更新接口。
[0019]上述方案中,所述以第i粒度对所接收的业务数据进行合并,包括:
[0020]采用以下维度至少之一作为所述第i粒度,对所接收的业务数据进行合并:
[0021]时间维度;空间维度。
[0022]上述方案中,当所述业务数据以元组的形式封装时,所述在数据处理系统的第i处理层,以第i粒度对所接收的业务数据进行合并,包括:
[0023]提取所述第i粒度对应的业务数据的元组中封装的业务数据字段;
[0024]根据所述元组对应的元组类型,将所提取的业务数据字段存储至目标元组,将所述目标元组标识为以所述第i粒度合并的业务数据的元组。
[0025]本发明实施例提供了一种数据处理系统,所述数据处理系统包括:
[0026]数据源单元,用于根据预设数据源配置信息从数据源获取业务数据;
[0027]所述数据源单元,还用于将所获取的业务数据分配到所述数据处理系统的N个数据处理层,N为所述业务数据对应的业务处理策略指示的不同粒度业务信息的数量,所述粒度为对所述业务数据进行处理以得到所述业务信息的基本单位,N为大于1的整数;
[0028]数据合并单元,用于在所述数据处理系统的第i处理层,以第i粒度对所接收的业务数据进行合并,得到第i粒度业务数据,i为大于等于1且小于等于N的整数;
[0029]更新单元,用于利用所述业务数据对应的业务处理策略,对所述第i粒度业务数据进行处理,得到第i业务信息;其中,所述第i粒度大于第1-Ι粒度,所述第1-Ι粒度为在所述数据处理系统的第1-ι处理层对所接收的业务数据进行合并的粒度。
[0030]上述方案中,所述数据处理系统还包括:
[0031]归一化单元,用于在所述数据源单元将所获取的业务数据分配到所述数据处理系统的N个数据处理层之前,根据所述业务数据的数据结构,在所述业务数据的数据结构内部封装所述业务数据对应的业务处理策略。
[0032]上述方案中,所述归一化单元,还用于在所述业务数据的数据结构采用元组类型时,在所述元组类型内部封装至少一个处理接口:数据获取接口 ;数据清洗接口 ;数据合并接口 ;数据更新接口 ;其中,
[0033]所述处理接口与所述业务处理策略指示对所述业务数据进行的处理对应。
[0034]上述方案中,所述数据源单元,还用于通过调用所述元组类型中封装的数据获取接口,在所述元组类型内部填充从所述数据源获取的业务数据,得到封装有所述业务数据的元组;
[0035]所述更新单元,用于调用以下处理接口至少一个处理封装有所述第i粒度业务数据的元组:调用数据清洗接口、数据合并接口、数据更新接口。
[0036]上述方案中,所述归一化单元,还用于采用以下维度至少之一作为所述第i粒度,对所接收的业务数据进行合并:时间维度;空间维度。
[0037]上述方案中,所述归一化单元,还用于当所述业务数据以元组的形式封装时,提取所述第i粒度对应的业务数据的元组中封装的业务数据字段;
[0038]根据所述元组对应的元组类型,将所提取的业务数据字段存储至目标元组,将所述目标元组标识为以所述第i粒度合并的业务数据的元组。
[0039]本发明实施例中,将数据处理系统中的更新阶段拆分成N数据处理层,在每个数据处理层进行合并和更新,减小了数据处理系统存储待处理数据的压力,提升了数据处理系统的数据吞吐性能;通过在元组类型内部封装业务处理策略,使得在元组类型外部不需要区分元组的业务处理策略,从而能够支持多种业务的接入,实现了 Bolt的复用,节约了Storm集群的计算资源。
【附图说明】
[0040]图1是相关技术提供的Storm系统的示意图;
[0041]图2是Storm系统流的示意图;
[0042]图3是Topoloy的一个拓扑示意图;
[0043]图4是部署Storm系统的一个示意图;
[0044]图5是相关技术提供的Storm系统对流进行处理的流程图;
[0045]图6a是本发明实施例一中数据处理方法的流程图;
[0046]图6b是本发明实施例一中数据处理系统的示意图一;
[0047]图6c是本发明实施例一中数据处理系统的示意图二 ;
[0048]图7是本发明实施例二中数据处理系统的示意图;
[0049]图8a是本发明实施例三中数据处理系统的示意图一;
[0050]图8b是本发明实施例三中数据处理系统的示意图二 ;
[0051]图8c是本发明实施例三中数据处理系统的示意图三;
[0052]图8d是本发明实施例三中数据处理系统的示意图四;
[0053]图9是本发明实施例四中数据处理系统的示意图;
[0054]图10是本发明实施例五中数据处理系统的示意图;
[0055]图11是本发明实施例六中通过编程框架提交Topology并启动Storm系统的处理流程图。
【具体实施方式】
[0056]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0057]相关技术提供的Storm系统的一个示意图如图1所示,Storm系统主要是由一个主节点(Master node)和工作节点(Worker node)组成,通过Zookeeper进行协调;其中,
[0058]主节点运行一个后台程序Nimbus,用于在Storm系统中的资源分配和任务调度,并且监控系统状态;
[0059]工作节点(主节点和多个工作节点由服务器的集群即Storm集群实现)运行一个后台程序Supervisor,用于接收分配的任务,根据需要管理(启动或关闭)Worker进程;
[0060]Zookeeper,用于存放公有数据(如心跳信息、Storm系统的状态和配置信息);Nimbus、Supervisor和Worker都把心跳信息保存在Zookeeper ;以使Nimbus根据Zookeeper上的心跳信息和系统状态,进行资源分配和任务调度。
[0061]每个节点都是拓扑(Topology)中一个子集的实现,Topology为Storm系统中运行的一个实时应用程序,可以表征各个组件(Spout和Bolt)间的消息流(Stream,简称为流)的传递形成的逻辑上的一个拓扑结构,如图2所示,Storm系统中的数据以流的形式传递,流的基本单位为元组(Tuple),Storm中的流可以视为由元组组成的有向无界(在时间上无界)的序列;
[0062]一个Topology的示意图如图3所示,Topology可以视为由Bolt和Spout组成
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1