CN105468626B - 数据处理方法及系统 - Google Patents
数据处理方法及系统 Download PDFInfo
- Publication number
- CN105468626B CN105468626B CN201410448683.7A CN201410448683A CN105468626B CN 105468626 B CN105468626 B CN 105468626B CN 201410448683 A CN201410448683 A CN 201410448683A CN 105468626 B CN105468626 B CN 105468626B
- Authority
- CN
- China
- Prior art keywords
- data
- service
- processing
- tuple
- ith
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法及系统;所述方法包括:数据处理系统根据预设数据源配置信息从数据源获取业务数据;将所获取的业务数据分配到所述数据处理系统的N个数据处理层;在所述数据处理系统的第i处理层,以第i粒度对所接收的业务数据进行合并,得到第i粒度业务数据;利用所述业务数据对应的业务处理策略,对所述第i粒度业务数据进行处理,得到第i业务信息。采用本发明的技术方案,能够提升了数据处理系统的数据吞吐性能;支持多种业务的接入,节约Storm集群的计算资源。
Description
技术领域
本发明涉及通信技术,尤其涉及一种数据处理方法及系统。
背景技术
Storm系统是一个开源、免费的分布式实时计算系统,以其简单、可靠、高效地处理数据的特性而被广泛应用;相关技术提供的Storm系统存在数据吞吐性能低下的问题,例如,当Storm系统需要针对业务数据进行处理以得到每月的业务信息时,需要从数据源获取每天的业务数据并分别对每天的业务数据进行处理,以得到一个月份的业务信息;由于Storm用于处理海量数据,这就导致未及时进行处理的业务数据必然会给Storm系统带来相当大的存储压力,影响Storm系统的数据吞吐性能。
发明内容
本发明实施例提供一种数据处理方法及系统,能够减小数据处理系统存储待处理数据的压力,提升数据处理系统的数据吞吐性能。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种数据处理方法,应用于数据处理系统,所述方法包括:
所述数据处理系统根据预设数据源配置信息从数据源获取业务数据;
将所获取的业务数据分配到所述数据处理系统的N个数据处理层,N为所述业务数据对应的业务处理策略指示的不同粒度业务信息的数量,所述粒度为对所述业务数据进行处理以得到所述业务信息的基本单位,N为大于1的整数;
在所述数据处理系统的第i处理层,以第i粒度对所接收的业务数据进行合并,得到第i粒度业务数据,i为大于等于1且小于等于N的整数;
利用所述业务数据对应的业务处理策略,对所述第i粒度业务数据进行处理,得到第i业务信息;其中,所述第i粒度大于第i-1粒度,所述第i-1粒度为在所述数据处理系统的第i-1处理层对所接收的业务数据进行合并的粒度。
上述方案中,将所获取的业务数据分配到所述数据处理系统的N个数据处理层之前,所述方法还包括:
根据所述业务数据的数据结构,在所述业务数据的数据结构内部封装所述业务数据对应的业务处理策略。
上述方案中,所述业务数据的数据结构采用元组类型时,在所述业务数据的数据结构内部封装所述业务数据对应的业务处理策略,包括:
在所述元组类型内部封装至少一个处理接口:数据获取接口;数据清洗接口;数据合并接口;数据更新接口;其中,
所述处理接口与所述业务处理策略指示对所述业务数据进行的处理对应。
上述方案中,所述数据处理系统根据预设数据源配置信息从数据源获取业务数据,包括:
通过调用所述元组类型中封装的数据获取接口,在所述元组类型内部填充从所述数据源获取的业务数据,得到封装有所述业务数据的元组;
所述利用所述业务数据对应的业务处理策略,对所述第i粒度业务数据进行处理,包括:
调用以下处理接口至少一个处理封装有所述第i粒度业务数据的元组:调用数据清洗接口、数据合并接口、数据更新接口。
上述方案中,所述以第i粒度对所接收的业务数据进行合并,包括:
采用以下维度至少之一作为所述第i粒度,对所接收的业务数据进行合并:
时间维度;空间维度。
上述方案中,当所述业务数据以元组的形式封装时,所述在数据处理系统的第i处理层,以第i粒度对所接收的业务数据进行合并,包括:
提取所述第i粒度对应的业务数据的元组中封装的业务数据字段;
根据所述元组对应的元组类型,将所提取的业务数据字段存储至目标元组,将所述目标元组标识为以所述第i粒度合并的业务数据的元组。
本发明实施例提供了一种数据处理系统,所述数据处理系统包括:
数据源单元,用于根据预设数据源配置信息从数据源获取业务数据;
所述数据源单元,还用于将所获取的业务数据分配到所述数据处理系统的N个数据处理层,N为所述业务数据对应的业务处理策略指示的不同粒度业务信息的数量,所述粒度为对所述业务数据进行处理以得到所述业务信息的基本单位,N为大于1的整数;
数据合并单元,用于在所述数据处理系统的第i处理层,以第i粒度对所接收的业务数据进行合并,得到第i粒度业务数据,i为大于等于1且小于等于N的整数;
更新单元,用于利用所述业务数据对应的业务处理策略,对所述第i粒度业务数据进行处理,得到第i业务信息;其中,所述第i粒度大于第i-1粒度,所述第i-1粒度为在所述数据处理系统的第i-1处理层对所接收的业务数据进行合并的粒度。
上述方案中,所述数据处理系统还包括:
归一化单元,用于在所述数据源单元将所获取的业务数据分配到所述数据处理系统的N个数据处理层之前,根据所述业务数据的数据结构,在所述业务数据的数据结构内部封装所述业务数据对应的业务处理策略。
上述方案中,所述归一化单元,还用于在所述业务数据的数据结构采用元组类型时,在所述元组类型内部封装至少一个处理接口:数据获取接口;数据清洗接口;数据合并接口;数据更新接口;其中,
所述处理接口与所述业务处理策略指示对所述业务数据进行的处理对应。
上述方案中,所述数据源单元,还用于通过调用所述元组类型中封装的数据获取接口,在所述元组类型内部填充从所述数据源获取的业务数据,得到封装有所述业务数据的元组;
所述更新单元,用于调用以下处理接口至少一个处理封装有所述第i粒度业务数据的元组:调用数据清洗接口、数据合并接口、数据更新接口。
上述方案中,所述归一化单元,还用于采用以下维度至少之一作为所述第i粒度,对所接收的业务数据进行合并:时间维度;空间维度。
上述方案中,所述归一化单元,还用于当所述业务数据以元组的形式封装时,提取所述第i粒度对应的业务数据的元组中封装的业务数据字段;
根据所述元组对应的元组类型,将所提取的业务数据字段存储至目标元组,将所述目标元组标识为以所述第i粒度合并的业务数据的元组。
本发明实施例中,将数据处理系统中的更新阶段拆分成N数据处理层,在每个数据处理层进行合并和更新,减小了数据处理系统存储待处理数据的压力,提升了数据处理系统的数据吞吐性能;通过在元组类型内部封装业务处理策略,使得在元组类型外部不需要区分元组的业务处理策略,从而能够支持多种业务的接入,实现了Bolt的复用,节约了Storm集群的计算资源。
附图说明
图1是相关技术提供的Storm系统的示意图;
图2是Storm系统流的示意图;
图3是Topoloy的一个拓扑示意图;
图4是部署Storm系统的一个示意图;
图5是相关技术提供的Storm系统对流进行处理的流程图;
图6a是本发明实施例一中数据处理方法的流程图;
图6b是本发明实施例一中数据处理系统的示意图一;
图6c是本发明实施例一中数据处理系统的示意图二;
图7是本发明实施例二中数据处理系统的示意图;
图8a是本发明实施例三中数据处理系统的示意图一;
图8b是本发明实施例三中数据处理系统的示意图二;
图8c是本发明实施例三中数据处理系统的示意图三;
图8d是本发明实施例三中数据处理系统的示意图四;
图9是本发明实施例四中数据处理系统的示意图;
图10是本发明实施例五中数据处理系统的示意图;
图11是本发明实施例六中通过编程框架提交Topology并启动Storm系统的处理流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
相关技术提供的Storm系统的一个示意图如图1所示,Storm系统主要是由一个主节点(Master node)和工作节点(Worker node)组成,通过Zookeeper进行协调;其中,
主节点运行一个后台程序Nimbus,用于在Storm系统中的资源分配和任务调度,并且监控系统状态;
工作节点(主节点和多个工作节点由服务器的集群即Storm集群实现)运行一个后台程序Supervisor,用于接收分配的任务,根据需要管理(启动或关闭)Worker进程;
Zookeeper,用于存放公有数据(如心跳信息、Storm系统的状态和配置信息);Nimbus、Supervisor和Worker都把心跳信息保存在Zookeeper;以使Nimbus根据Zookeeper上的心跳信息和系统状态,进行资源分配和任务调度。
每个节点都是拓扑(Topology)中一个子集的实现,Topology为Storm系统中运行的一个实时应用程序,可以表征各个组件(Spout和Bolt)间的消息流(Stream,简称为流)的传递形成的逻辑上的一个拓扑结构,如图2所示,Storm系统中的数据以流的形式传递,流的基本单位为元组(Tuple),Storm中的流可以视为由元组组成的有向无界(在时间上无界)的序列;
一个Topology的示意图如图3所示,Topology可以视为由Bolt和Spout组成的计算拓扑,Bolt和Spout通过Worker进程中的线程运行,线程也可以称为任务(Task);Spout为Storm系统中流的源头,用于从外部数据源(如消息队列或数据库)获取流并发送至Storm;Bolt为Storm系统中的计算单元,它可以只传输流,也可以根据自身的消息处理逻辑处理来自上游(Bolt或Spout)的流,进行过滤,聚合,查询等操作,并根据处理逻辑向下游的Bolt发送处理后的流或将处理后得到的结果入库存储。
Topology中每一个计算组件(Spout和Bolt)都有一个并行执行度,在创建Topology时可以进行指定,Zookeeper会在集群内分配对应并行度个数的线程(也即Task)来同时运行组件;如图3所示,Topology中使用流(也即消息流)分组(Streaming Grouping)来指定组件之间的流的发送,即Bolt/上游Spout发送(也可以称为发射)流的目标下游Bolt、以及目标下游Blot中用于处理流的目标Task;在如图3的示出的流分组一个示意图中,Spout将流发送至下游的Bolt a和Bolt b中Task处理,Bolt b将处理后的结果发送至Bolt c中的Task。
提交Topology至Storm集群以部署Storm系统的一个示意图如图4所示,主节点中的Nimbus获取到提交的Topology(提交的Topology为可执行文件,对应的代码中已经描述有图3所示的拓扑信息),Nimbus与Zookeeper交互,获取工作节点的心跳信息,并通过Zookeeper向工作节点中Supervisor分派任务,由Supervisor启动Worker中的线程来执行任务;Worker还向Zookeeper发送心跳信息。
发明人在实施本发明的过程中发现,相关技术提供的Storm系统(也即通过Topology实现Storm系统的拓扑)对流进行处理的流程图如图5所示,包括数据获取、数据清洗和更新计算结果;上述处理由Storm系统中的组件如Spout或Bolt来实现;其中,
数据获取,是指Spout从外部系统获取需要处理的数据;例如可以从redis或kafka消息队列中拉取待处理的原始数据;数据以流的形式在Storm系统中的组件之间传递(流的基本单位为元组);
数据清洗,指的是对原始数据进行缺省值填充、特殊值对齐处理、合法性判断等操作,然后根据(Bolt)自身的业务逻辑过滤掉不需要的数据即“脏数据”的过程;
更新计算结果:是指Bolt根据业务逻辑、以及来自上游的数据更新相应的数据指标,或是对计算结果进行入库存储。
可以看出,相关技术提供的Storm系统在实际应用中存在以下问题:
待处理数据存储负荷重,影响了Storm系统的数据吞吐能力;由于Storm系统往往用来处理海量数据(TB级别甚至更大),相关技术提供的Storm系统的数据吞吐能力无法满足处理海量数据的需求,例如当Storm系统需要针对业务数据进行处理以得到每月的业务信息时,需要从数据源获取每天的业务数据并分别对每天的业务数据进行处理,以得到一个月份的业务信息;这就导致未及时进行处理的业务数据必然会给Storm系统带来相当大的存储压力,影响Storm系统的数据吞吐性能。
发明人还发现,如果Storm系统中的Bolt能够按照业务处理策略中不同的处理粒度要求对业务数据进行合并,并利用合并后的元组在Storm系统中的不同层进行处理得到业务信息,则能够明显提升Storm系统的数据吞吐性能,下面将进行详细说明。
实施例一
本实施例记载一种数据处理方法,可以应用于数据处理系统(如Storm系统),如图6a所示,本实施例记载的数据处理方法包括以下步骤:
步骤101,所述数据处理系统根据预设数据源配置信息从数据源获取业务数据。
作为一个示例,Storm系统中的组件Spout可以从外部数据源获取业务数据。
步骤102,将所获取的业务数据分配到所述数据处理系统的N个数据处理层。
N为所述业务数据对应的业务处理策略指示的不同粒度的数量,所述粒度为对所述业务数据进行处理以得到业务信息的基本单位,N为大于1的整数。
步骤103,在所述数据处理系统的第i处理层,以第i粒度对所接收的业务数据进行合并,得到第i粒度业务数据。
i为大于等于1且小于等于N的整数;
步骤104,利用所述业务数据对应的业务处理策略,对所述第i粒度业务数据进行处理,得到第i业务信息。
其中,所述第i粒度大于第i-1粒度,所述第i-1粒度为在所述数据处理系统的第i-1处理层对所接收的业务数据进行合并的粒度;需要指出的是,所述第i粒度可以采用时间维度和空间维度的至少之一,例如,所述第i-1粒度可以采用月份和省份为单位,所说第i粒度可以采用年和全国为单位。
作为一个示例,每个数据处理层可以包括Storm系统中的一个或多个Bolt组件;每个数据处理层包括的Bolt进行该数据处理层接收的业务数据的合并,并根据合并后的业务数据、以及业务处理策略进行处理得到业务消息;这里所述的业务处理策略可以包括以下基本操作:过滤,聚合,查询。
作为一个示例,当所述业务数据以元组的形式封装时,所述在数据处理系统的第i处理层,以第i粒度对所接收的业务数据进行合并,可以提取所述第i粒度对应的业务数据的元组中封装的业务数据字段;根据所述元组对应的元组类型,将所提取的业务数据字段存储至目标元组,将所述目标元组标识为以所述第i粒度合并的业务数据的元组。
下面结合具体示例对上述步骤进行说明,设业务处理策略指示根据每天的更新的业务数据进行一次处理得到业务信息,根据每周更新的业务数据进行一次更新处理得到业务信息;Storm系统的一个结构示意图如图6b所示,可以看出,Storm系统中设置有两个数据处理层,第一数据处理层包括Bolt b1和Bolt c1;第二数据处理层包括Bolt b1和Bolt c1;其中,第一数据处理层用于属于每天的业务消息,第二数据处理层用户输出每周的业务消息;当用每天更新的业务数据进行计算时,第二数据处理层的Bolt b2首先将每周的更新的业务数据进行合并(也即将最小粒度的业务数据进行合并),并由Bolt c2利用合并后的业务数据进行计算当利用每周的更新的业务数据进行计算时,Bolt b2首先将每周的更新的业务数据进行合并(也即将最小粒度的业务数据进行合并),并由Bolt c2利用合并后的业务数据进行计算,这样Spout可以一次性从外部数据源获取每周更新的业务数据,而不是每次获取一天更新的业务数据,并重复执行,直至获取到每周更新的业务数据;从而可以提升Spout一次从外部数据源获取数据的总量,进而提升了Storm系统的数据吞吐性能。
发明人在实施本发明的过程中,还发现相关技术提供的Storm存在无法支持多业务同时接入的问题;由于Storm系统中的Bolt的代码耦合度过重致使复用性差,导致无法对来自对接入的多个数据源的业务数据进行处理;也就是说,同一Storm系统(也即使用一个Topology部署至Storm集群的Storm系统)无法对来自多个数据源的业务数据进行处理;当需要对多个数据源的业务数据进行处理得到业务信息时,需要对根据每个数据源内的业务数据的业务处理策略,向Storm集群提交对应的Topology以部署Storm系统;对Storm集群的计算资源造成了浪费,提高了数据处理的实施成本。
鉴于上述问题,发明人在实施本发明的过程中发现,相关技术提供的Storm中,在组件(Spout、Bolt)之间传递的元组(传输的流的基本单位)仅仅封装有原始的ASCII数据或二进制数据,当元组在组件之间以流的形式传递时,Bolt必然需要根据自身的业务逻辑对数据进行处理,不同的业务的数据需要进行不同的处理,导致Bolt的代码复用率低下;如果Storm系统能够根据业务数据的数据结构,将业务数据的业务处理策略(也可以称为业务处理逻辑)封装入数据结构的内部;相当于对来自不同数据源的业务数据进行归一化处理,使Bolt根据接收到的元组中封装的业务处理策略对元组中的数据进行处理,从而使Bolt可以支持多种业务数据的接入,并根据元组中封装的业务处理策略对元组中的数据进行处理;
例如,当数据结构采用元组类型时,可以采用以下方式将业务数据的业务处理策略封装入元组类型的内部,在所述元组类型内部封装至少一个处理接口:数据获取接口;数据清洗接口;数据合并接口;数据更新接口;其中,所述处理接口与所述业务处理策略指示对所述业务数据进行的处理对应;
相应地,当数据处理系统根据预设数据源配置信息从数据源获取业务数据时,可以通过调用所述元组类型中封装的数据获取接口对所述元组类型进行实例化,也即在所述元组类型内部填充从所述数据源获取的业务数据,从而得到封装有所述业务数据的元组;当在第i数据处理层利用所述业务数据对应的业务处理策略,对所述第i粒度业务数据进行处理时,可以采用调用以下处理接口至少一个处理封装有所述第i粒度业务数据的元组:调用数据清洗接口、数据合并接口、数据更新接口;
如图6c所示,将数据获取的业务处理策略以Retriver接口(interface)表示,将数据清洗和归一化的业务处理策略以Parser interface表示;将数据合并的业务处理策略以Combiner interface表示;将更新计算结果的业务处理策略以Updater interface表示;
Bolt中将元组向上转型(upcasting)为Retriver interface,并调用Retriverinterface定义的方法,可以实现对元组的数据清洗;Spout将元组向上转型为Retriverinterface,并调用Retriver interface定义的方法,可以实现对元组的发送处理;Bolt a和Bolt b将元组向上转型为Parser interface,并调用Parser interface定义的方法,可以实现对元组的数据清洗;
在第一数据处理层,Bolt b1将元组向上转型为Combiner interface,并调用Combiner interface定义的方法,可以实现对元组以第一粒度的合并;Bolt c1将元组向上转型为Updater interface,并调用Updater interface定义的方法,可以实现利用第一粒度的元组以及业务处理策略得到第一业务信息,也即第一数据处理层的业务信息;
在第二数据处理层,Bolt b2将元组向上转型为Combiner interface,并调用Combiner interface定义的方法,可以实现对元组以第二粒度的合并;Bolt c2将元组向上转型为Updater interface,并调用Updater interface定义的方法,可以实现利用第二粒度的元组以及业务处理策略得到第二业务信息,也即第二数据处理层的业务信息。
Storm系统中的上述组件Spout Bolt可以通过工作节点(位于Stomr集群中的一个或多个服务器)实现,可以与工作节点中运行的Worker进程中的线程对应,每个组件可以作为一个任务,从而可以使Spout和Bolt均支持并行运行;例如,当Topology中指定Bolt a的并行度为5时,则工作节点中运行的Supervisor可以为Bolt a分配5个线程。
实施例二
本实施例记载一种Storm系统,如图7所示,所述数据处理系统包括:
数据源单元(对应Storm系统中的组件Spout),用于根据预设数据源配置信息从数据源获取业务数据;
所述数据源单元,还用于将所获取的业务数据分配到所述数据处理系统的N个数据处理层,N为所述业务数据对应的业务处理策略指示的不同粒度业务的数量,所述粒度为对所述业务数据进行处理以得到业务信息的基本单位,N为大于1的整数;
数据合并单元(对应Storm系统中的组件Bolt b1),用于在所述数据处理系统的第i处理层,以第i粒度对所接收的业务数据进行合并,得到第i粒度业务数据,i为大于等于1且小于等于N的整数;
更新单元,用于利用所述业务数据对应的业务处理策略,对所述第i粒度业务数据进行处理,得到第i业务信息;其中,所述第i粒度大于第i-1粒度,所述第i-1粒度为在所述数据处理系统的第i-1处理层对所接收的业务数据进行合并的粒度。
作为一个实施方式,所述数据处理系统还包括:
归一化单元(对应Storm系统中的组件Bolt b),用于在所述数据源单元将所获取的业务数据分配到所述数据处理系统的N个数据处理层之前,根据所述业务数据的数据结构,在所述业务数据的数据结构内部封装所述业务数据对应的业务处理策略。
作为一个实施方式,所述归一化单元,还用于在所述业务数据的数据结构采用元组类型时,在所述元组类型内部封装至少一个处理接口:数据获取接口;数据清洗接口;数据合并接口;数据更新接口;其中,
所述处理接口与所述业务处理策略指示对所述业务数据进行的处理对应。
作为一个实施方式,所述数据源单元,还用于通过调用所述元组类型中封装的数据获取接口,在所述元组类型内部填充从所述数据源获取的业务数据,得到封装有所述业务数据的元组;
所述更新单元,用于调用以下处理接口至少一个处理封装有所述第i粒度业务数据的元组:调用数据清洗接口、数据合并接口、数据更新接口。
作为一个实施方式,所述归一化单元,还用于采用以下维度至少之一作为所述第i粒度,对所接收的业务数据进行合并:时间维度;空间维度。
作为一个实施方式,所述归一化单元,还用于当所述业务数据以元组的形式封装时,提取所述第i粒度对应的业务数据的元组中封装的业务数据字段;根据所述元组对应的元组类型,将所提取的业务数据字段存储至目标元组,将所述目标元组标识为以所述第i粒度合并的业务数据的元组。
如图7所示,实际应用中,可以将数据获取的业务处理策略以Retriver接口表示,将数据清洗和归一化的业务处理策略以Parser interface表示;将数据合并的业务处理策略以Combiner interface表示;将更新计算结果的业务处理策略以Updater interface表示;
Bolt中将元组向上转型为Retriver interface,并调用Retriver interface定义的方法,可以实现对元组的数据清洗;Spout将元组向上转型为Retriver interface,并调用Retriver interface定义的方法,可以实现对元组的发送处理;Bolt a和Bolt b将元组向上转型为Parser interface,并调用Parser interface定义的方法,可以实现对元组的数据清洗;
在第一数据处理层,Bolt b1将元组向上转型为Combiner interface,并调用Combiner interface定义的方法,可以实现对元组以第一粒度的合并;Bolt c1将元组向上转型为Updater interface,并调用Updater interface定义的方法,可以实现利用第一粒度的元组以及业务处理策略得到第一业务信息,也即第一数据处理层的业务信息;
在第N数据处理层,Bolt bN将元组向上转型为Combiner interface,并调用Combiner interface定义的方法,可以实现对元组以第二粒度的合并;Bolt cN将元组向上转型为Updater interface,并调用Updater interface定义的方法,可以实现利用第二粒度的元组以及业务处理策略得到第N业务信息,也即第二数据处理层的业务信息。
Storm系统中的上述单元与可以通过工作节点(位于Stomr集群中的一个或多个服务器)实现,具体地,可以与工作节点中运行的Worker进程中的线程对应。
实施例三
本实施例记载的Storm系统可以支持接入多种业务数据的接入,也即可以对接入的多个数据源的业务数据进行处理,避免相关技术中Bolt代码复用率低下的问题,能够节省Storm集群的计算资源;如图8a所示,本实施例记载的Storm系统包括:
Spout,用于向Bolt发射至少两个业务的数据,数据以流的形式在Spout与Bolt之间传递,流的基本传输单位为元组;
Bolt a,用于对来自多个业务的数据进行清洗,包括对数据进行缺省值填充、特殊值对齐处理、合法性判断等操作,根据Bolt a自身的业务逻辑过滤掉不需要的数据即“脏数据”的过程,将处理后的数据以流的形式(基本单元为元组)发送至Bolt b;
Bolt b,用于进行归一化处理,也即在接收的元组内部封装业务对应的业务处理逻辑,并将封装后的元组发送至Boltr c;
Bolt c,用于更新计算结果,也即根据元组内部的封装的业务逻辑对元组内的数据进行处理,并将处理后的结果(以流的形式,基本传输单位为元组)发送至下游Bolt C或将计算结果入库存储。
如图8b所示,作为一个示例,实际应用中,将数据获取的业务处理策略以Retriver接口表示,将数据清洗和归一化的业务处理策略以Parser interface表示;将数据合并的业务处理策略以Combiner interface表示;将更新计算结果的业务处理策略以Updaterinterface表示;
Bolt中将元组向上转型为Retriver interface,并调用Retriver interface定义的方法,可以实现对元组的数据清洗;Bolt中将元组向上转型为Retriver interface,并调用Retriver interface定义的方法,可以实现对元组的发送;Bolt将元组向上转型为Parser interface,并调用Parser interface定义的方法,可以实现对元组的数据清洗;Bolt将元组向上转型为Updater interface,并调用Updater interface定义的方法,可以实现根据元组更新计算结果。
如图8c所示,Storm系统中的上述组件可以通过工作节点(位于Stomr集群中的一个或多个服务器)实现,可以与工作节点中运行的Worker进程中的线程对应,每个组件可以作为一个任务,从而可以使Spout和Bolt均支持并行运行;例如,当Topology中指定Bolt a的并行度为5时,则工作节点中运行的Supervisor可以为Bolt a分配5个线程。
如图8d所示,Bolt a、Bolt b、Bolt C的并行度均为2,即均分配有两个工作节点Worker进程中的线程。
下面结合实际应用场景进行说明,场景说明,业务1(如分析广告订单平台的实时竞价数据的排序)和业务2(如分析空广告订单的地域性排序),在将业务1的数据与业务2的业务数据归一化处理的基础上,业务1和业务2可以接入同一个Storm系统(也即使用同一Topology部署的Storm集群),如8d所示,业务1的业务数据和业务2的业务数据均经过Bolta、Bolt b、Bolt C的处理,包括:
1)当Bolt a接收到元组(业务1的元组或业务2的元组)时进行清洗操作,包括对元组中的数据进行缺省值填充、特殊值对齐处理、合法性判断等操作,根据Bolt a自身的业务逻辑过滤掉不需要的数据即“脏数据”的过程,将处理后的数据以流的形式(基本单元为元组)发送至Bolt b;
2)当Bolt b接收到业务1的元组时,将业务1的元组内封装入业务1的业务处理策略;当Bolt b接收到业务1的元组时,将业务1的元组内封装入业务1的业务处理策略;
3)Bolt c接收到业务1的元组时,根据业务1的元组内封装的业务处理策略处理业务1的元组中封装的数据;Bolt b接收到业务2的元组时,根据业务2的元组内封装的业务处理策略处理业务2的元组中封装的数据。
可以看出,相关技术中,受制于业务1和业务2的业务数据的业务处理策略的不同,当提交了处理业务1的Topology并由Storm集群进行处理时,如果还需要处理业务2的业务数据,则根据业务2的业务处理策略向Storm集群提交Topology以部署Storm系统,这必然会造成计算资源的浪费;而本实施例中,通过将不同业务的元组进行归一化处理,实现了不同业务可使用同一Toplogy部署的Strom系统支持多个业务的接入,节约了Storm集群的计算资源。
实施例四
相关技术提供的Storm系统在实际应用中还存在以下问题:数据存储负荷重,由于Storm系统往往用来处理海量数据(TB级别甚至更大),相关技术提供的storm系统的数据吞吐能力无法满足处理海量数据需求,这就增大了存储storm系统未处理数据的负荷,进而提高了实施成本;相应地,发明人还发现,如果Storm系统中的Bolt能够能够按照业务处理策略中的指示的获取的业务信息的粒度,对元组进行合并,并利用合并后的元组进行计算,则能够明显提升Storm系统的数据吞吐性能;例如,当业务处理策略指示根据每天的更新的业务数据进行一次计算,根据每周更新的业务数据进行一次更新计算;当利用每周的更新的业务数据进行计算时,Bolt首先将每周的更新的业务数据进行合并(也即将最小粒度的业务数据进行合并),并利用合并后的业务数据进行计算,这样Spout可以一次性从外部数据源获取每周的更新的业务数据,而不是每次获取一天更新的业务数据,并重复执行,直至获取到每周更新的业务数据;从而可以提升Spout一次从外部数据源获取数据的总量,进而提升了Storm系统的数据吞吐性能。
本实施例记载一种Storm系统,如图9所示,包括:
Spout,用于向Bolt发送至少两个业务的数据,数据以流的形式在Spout与Bolt之间传递,流的基本传输单位为元组;
Bolt a,用于对来自多个业务的数据进行清洗,包括对数据进行缺省值填充、特殊值对齐处理、合法性判断等操作,根据Bolt a自身的业务逻辑过滤掉不需要的数据即“脏数据”的过程,将处理后的数据以流的形式(基本单元为元组)发送至Bolt b;
Storm系统还包括Bolt b1~Bolt b,以及Bolt c1~Bolt cN,N为大于1的整数;其中,
Bolt b1,用于以第一粒度(例如天)为粒度合并元组,并发送合并后的元组至Boltc1;
Bolt c1,用于更新计算结果,也即根据元组内部的封装的业务逻辑对元组内的数据进行处理,并将处理后的结果(以流的形式,基本传输单位为元组)发送至下游Bolt或将计算结果入库存储;
Bolt bi,用于以第i(大于1,小于n)粒度合并元组,并发送合并后的元组至Boltci;
Bolt ci,用于根据第i粒度的数据的合并结果,更新计算结果,也即根据元组内部的封装的业务逻辑对元组内的数据进行处理,并将处理后的结果(以流的形式,基本传输单位为元组)发送至下游Bolt或将计算结果入库存储;
Bolt bN,用于以第N粒度(大于第N-1粒度。例如周)合并元组,并发送合并后的元组至Bolt cn;
Bolt cN,用于根据第N粒度的数据的合并结果,更新计算结果,也即根据元组内部的封装的业务处理策略对元组内的数据进行处理,并将处理后的结果(以流的形式,基本传输单位为元组)发送至下游Bolt或将计算结果入库存储;
需要指出的是,上述第1粒度至第N粒度的可以时间和/或空间为维度进行划分;
以业务处理策略指示根据每天的更新的业务数据进行一次计算,根据每周更新的业务数据进行一次更新计算为例进行说明,Bolt b1以天为粒度对接收的数据进行合并,并将合并后的数据发送中Bolt c1,Bolt c1利用合并后的数据进行计算;Bolt b2以周为粒度对接收的数据进行合并,并将合并后的数据发送中Bolt c2,Bolt c2利用合并的后数据更新计算结果;这样,Spout可以根据粒度从Storm系统的外部数据源获取数据,减少了网络调用的次数,提升了Storm集群的数据吞吐性能;
如图9所示,Storm系统中的上述组件可以通过工作节点(位于Stomr集群中的一个或多个服务器)实现,可以与工作节点中运行的Worker进程中的线程对应,每个组件可以作为一个任务,从而可以使Spout和Bolt均支持并行运行;例如,当Topology中指定Bolt a的并行度为5时,则工作节点中运行的Supervisor可以为Bolt a分配5个线程。
如图9所示,作为一个示例,实际应用中,可以将数据获取的业务处理策略以Retriver interface表示,将数据清洗和归一化处理的业务处理策略以Parser interface表示;将元组合并处理的业务处理策略以Combiner interface表示;将更新计算结果的业务处理策略以Updater interface表示;Bolt中将元组向上转型为Retriver interface,并调用Retriver interface定义的方法,可以实现对元组的数据清洗;Bolt中将元组向上转型为Retriver interface,并调用Retriver interface定义的方法,可以实现对元组的发送;Bolt将元组向上转型为Parser interface,并调用Parser interface定义的方法,可以实现对元组的数据清洗;Bolt将元组向上转型为Combiner interface,并调用Combinerinterface定义的方法,可以实现对元组的合并;Bolt将元组向上转型为Updaterinterface,并调用Updater interface定义的方法,可以实现根据元组更新计算结果。
实施例五
本实施例记载的Storm系统可以支持接入多种业务的数据的接入,也即可以对多种业务的数据进行处理,避免相关技术中Bolt代码复用率低下的问题;如图10所示,本实施例记载的Storm系统包括:
Spout,用于向Bolt发射至少两个业务的数据,数据以流的形式在Spout与Bolt之间传递,流的基本传输单位为元组;
Bolt a,用于对来自多个业务的数据进行清洗,包括对数据进行缺省值填充、特殊值对齐处理、合法性判断等操作,根据Bolt a自身的业务逻辑过滤掉不需要的数据即“脏数据”的过程,将处理后的数据以流的形式(基本单元为元组)发送至Bolt b;
Bolt b,用于进行归一化处理,也即在接收的元组内部封装业务对应的业务处理逻辑,并将封装后的元组发送至Bolt c;以图7示出的业务1和业务2为例,当Bolt b接收到业务1的元组时,在业务1的元组内封装入业务1的业务处理策略;当Bolt b接收到业务1的元组时,在业务1的元组内封装入业务1的业务处理策略;
Bolt c,用于更新计算结果,也即根据元组内部的封装的业务处理策略对元组内的数据进行处理,并将处理后的结果(以流的形式,基本传输单位为元组)发送至下游Boltc或将计算结果入库存储;
Storm系统还包括Bolt b1~Bolt b,以及Bolt c1~Bolt cN,N为大于1的整数;其中,
Bolt b1,用于以第一粒度(例如天)为粒度合并元组,并发送合并后的元组至Boltc1;
Bolt c1,用于更新计算结果,也即根据元组内部的封装的业务处理策略对元组内的数据进行处理,并将处理后的结果(以流的形式,基本传输单位为元组)发送至下游Bolt或将计算结果入库存储;
Bolt bN,用于以第n粒度(大于第N-1粒度。例如周)合并元组,并发送合并后的元组至Bolt cn;
Bolt cN,用于根据第N粒度的数据的合并结果,更新计算结果,也即根据元组内部的封装的业务处理策略对元组内的数据进行处理,并将处理后的结果(以流的形式,基本传输单位为元组)发送至下游Bolt或将计算结果入库存储;
以业务1处理策略指示根据每天的更新的业务数据进行一次计算,根据每周更新的业务数据进行一次更新计算为例进行说明,Bolt b1以天为粒度对接收的数据进行合并,并将合并后的数据发送中Bolt c1,Bolt c1利用合并的后数据进行计算;Bolt b2以周为粒度对接收的数据进行合并,并将合并后的数据发送中Bolt c2,Bolt c2利用合并的后数据更新计算结果;对于业务2的处理与以上类似,这里不再赘述。这样,Spout可以根据粒度从Storm系统的外部数据源获取数据,减少了网络调用的次数,提升了Storm集群的数据吞吐性能;同时,通过将不同业务的元组进行归一化处理,实现了不同业务可使用同一Toplogy部署的Strom系统支持多个业务的接入,节约了Storm集群的计算资源。
实施例六
还需要指出的是,相关技术提供的Storm系统在实际应用中还存在以下问题:当需要调整Storm系统的拓扑结构即Topology时,需要在Topology的代码中进行调整,编译Topology代码为可执行文件并重新提交至Storm集群,实施过程复杂;实际应用中,经常需要对已经部署的Storm系统进行调整如调整并行度时,采用上述方式必然导致操作效率低下,甚至影响对数据的实时处理;相应地,Storm集群中的任一服务器,可以支持运行一特定编程框架,该编程框架支持将Topology代码中的配置项信息提取到配置文件作为私有配置,包括Worker数,Spout和Bolt的并发数;并根据开发人员的输入的信息调整配置文件中的配置项,当向Storm集群提交Topology文件时,首先读取配置文件中的配置项信息,并根据配置信息编程生成可执行的Topology文件,这样,当开发人员需要调整Storm系统时,无需对Topology的代码进行调整,只需要在编程框架提供的配置项中进行修改即可,实施效率高。
通过编程框架提交Topology并启动Storm系统的处理流程如图11所示,包括以下步骤:
步骤201,编程框架读取共有配置。
步骤202,继承关系检查,如果通过,则执行步骤203;否则,提交Topology失败。
步骤203,读取私有配置,生成Topology。
步骤204,检查Retriver、Parser、Updater等接口是否存在;如果存在,则执行步骤205;否则,提交Topology失败。
步骤205,提交Topology至Storm集群。
步骤206,初始化Ececutor。
步骤207,反射初始化Retriver、Parser、Updater实例,如果成功,则成功启动Storm系统;否则,Spout、Bolt初始化失败。
本发明实施例还记载一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行图1所示的数据处理方法。
综上所述,本发明上述实施例中,将数据处理系统中的更新阶段拆分成N数据处理层,在每个数据处理层进行合并和更新,提升了数据处理系统的数据吞吐性能;通过在元组类型内部封装业务处理策略,使得在元组类型外部不需要区分元组的业务处理策略,从而能够支持多种业务的接入,实现了Bolt的复用,节约了Storm集群的计算资源。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、随机存取存储器(RAM,Random Access Memory)、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、RAM、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种数据处理方法,应用于数据处理系统,其特征在于,所述方法包括:
所述数据处理系统根据预设数据源配置信息从数据源获取业务数据;
根据所述业务数据的数据结构,在所述业务数据的数据结构内部封装所述业务数据对应的业务处理策略;
将所获取的业务数据分配到所述数据处理系统的N个数据处理层,N为所述业务数据对应的业务处理策略指示的不同粒度业务信息的数量,所述粒度为对所述业务数据进行处理以得到所述业务信息的基本单位,N为大于1的整数;
在所述数据处理系统的第i处理层,以第i粒度对所接收的业务数据进行合并,得到第i粒度业务数据,i为大于等于1且小于等于N的整数;
利用所述业务数据对应的业务处理策略,对所述第i粒度业务数据进行处理,得到第i业务信息;其中,所述第i粒度大于第i-1粒度,所述第i-1粒度为在所述数据处理系统的第i-1处理层对所接收的业务数据进行合并的粒度。
2.如权利要求1所述的方法,其特征在于,所述业务数据的数据结构采用元组类型时,在所述业务数据的数据结构内部封装所述业务数据对应的业务处理策略,包括:
在所述元组类型内部封装至少一个处理接口:数据获取接口;数据清洗接口;数据合并接口;数据更新接口;其中,
所述处理接口与所述业务处理策略指示对所述业务数据进行的处理对应。
3.如权利要求2所述的方法,其特征在于,
所述数据处理系统根据预设数据源配置信息从数据源获取业务数据,包括:
通过调用所述元组类型中封装的数据获取接口,在所述元组类型内部填充从所述数据源获取的业务数据,得到封装有所述业务数据的元组;
所述利用所述业务数据对应的业务处理策略,对所述第i粒度业务数据进行处理,包括:
调用以下处理接口至少一个处理封装有所述第i粒度业务数据的元组:调用数据清洗接口、数据合并接口、数据更新接口。
4.如权利要求1所述的方法,其特征在于,所述以第i粒度对所接收的业务数据进行合并,包括:
采用以下维度至少之一作为所述第i粒度,对所接收的业务数据进行合并:
时间维度;空间维度。
5.如权利要求1至4任一项所述的方法,其特征在于,当所述业务数据以元组的形式封装时,所述在数据处理系统的第i处理层,以第i粒度对所接收的业务数据进行合并,包括:
提取所述第i粒度对应的业务数据的元组中封装的业务数据字段;
根据所述元组对应的元组类型,将所提取的业务数据字段存储至目标元组,将所述目标元组标识为以所述第i粒度合并的业务数据的元组。
6.一种数据处理系统,其特征在于,所述数据处理系统包括:
数据源单元,用于根据预设数据源配置信息从数据源获取业务数据;
归一化单元,用于在所述数据源单元将所获取的业务数据分配到所述数据处理系统的N个数据处理层之前,根据所述业务数据的数据结构,在所述业务数据的数据结构内部封装所述业务数据对应的业务处理策略;
所述数据源单元,还用于将所获取的业务数据分配到所述数据处理系统的N个数据处理层,N为所述业务数据对应的业务处理策略指示的不同粒度业务信息的数量,所述粒度为对所述业务数据进行处理以得到所述业务信息的基本单位,N为大于1的整数;
数据合并单元,用于在所述数据处理系统的第i处理层,以第i粒度对所接收的业务数据进行合并,得到第i粒度业务数据,i为大于等于1且小于等于N的整数;
更新单元,用于利用所述业务数据对应的业务处理策略,对所述第i粒度业务数据进行处理,得到第i业务信息;其中,所述第i粒度大于第i-1粒度,所述第i-1粒度为在所述数据处理系统的第i-1处理层对所接收的业务数据进行合并的粒度。
7.如权利要求6所述的数据处理系统,其特征在于,
所述归一化单元,还用于在所述业务数据的数据结构采用元组类型时,在所述元组类型内部封装至少一个处理接口:数据获取接口;数据清洗接口;数据合并接口;数据更新接口;其中,
所述处理接口与所述业务处理策略指示对所述业务数据进行的处理对应。
8.如权利要求7所述的数据处理系统,其特征在于,
所述数据源单元,还用于通过调用所述元组类型中封装的数据获取接口,在所述元组类型内部填充从所述数据源获取的业务数据,得到封装有所述业务数据的元组;
所述更新单元,用于调用以下处理接口至少一个处理封装有所述第i粒度业务数据的元组:调用数据清洗接口、数据合并接口、数据更新接口。
9.如权利要求6所述的数据处理系统,其特征在于,
所述归一化单元,还用于采用以下维度至少之一作为所述第i粒度,对所接收的业务数据进行合并:时间维度;空间维度。
10.如权利要求6至9任一项所述的数据处理系统,其特征在于,
所述归一化单元,还用于当所述业务数据以元组的形式封装时,提取所述第i粒度对应的业务数据的元组中封装的业务数据字段;
根据所述元组对应的元组类型,将所提取的业务数据字段存储至目标元组,将所述目标元组标识为以所述第i粒度合并的业务数据的元组。
11.一种存储介质,其特征在于,存储有可执行指令,所述可执行指令被执行时,用于实现如权利要求1至5任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410448683.7A CN105468626B (zh) | 2014-09-04 | 2014-09-04 | 数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410448683.7A CN105468626B (zh) | 2014-09-04 | 2014-09-04 | 数据处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105468626A CN105468626A (zh) | 2016-04-06 |
CN105468626B true CN105468626B (zh) | 2019-12-13 |
Family
ID=55606333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410448683.7A Active CN105468626B (zh) | 2014-09-04 | 2014-09-04 | 数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468626B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786626B (zh) * | 2016-04-11 | 2019-02-19 | 南京邮电大学 | 基于K划分的Storm平台线程分配方法 |
CN106095425A (zh) * | 2016-06-07 | 2016-11-09 | 中国建设银行股份有限公司 | 一种流式处理装置及流式处理系统 |
CN106202503B (zh) * | 2016-07-19 | 2019-08-16 | 北京百分点信息科技有限公司 | 数据处理方法及装置 |
CN106991070B (zh) * | 2016-10-11 | 2021-02-26 | 创新先进技术有限公司 | 实时计算方法及装置 |
CN108259373B (zh) * | 2016-12-29 | 2021-11-02 | 中移(苏州)软件技术有限公司 | 一种数据分配调度的方法及系统 |
CN108509448A (zh) * | 2017-02-27 | 2018-09-07 | 北京京东尚科信息技术有限公司 | 数据处理方法和装置 |
CN107526706B (zh) * | 2017-08-04 | 2021-07-13 | 北京奇虎科技有限公司 | 一种分布式计算平台中的数据处理方法和装置 |
CN107766504A (zh) * | 2017-10-20 | 2018-03-06 | 华迪计算机集团有限公司 | 一种实时流式数据处理分析方法及系统 |
CN109039730B (zh) * | 2018-07-25 | 2021-09-24 | 网宿科技股份有限公司 | 服务器集群及服务器集群配置信息管理方法 |
CN110222078B (zh) * | 2019-06-03 | 2021-05-28 | 中国工商银行股份有限公司 | 一种数据处理方法及装置 |
CN110377356B (zh) * | 2019-06-14 | 2022-09-20 | 北京奇艺世纪科技有限公司 | 任务处理方法、装置、系统及计算机可读存储介质 |
CN112667304A (zh) * | 2019-09-29 | 2021-04-16 | 北京奇虎科技有限公司 | 一种流式数据处理方法和装置 |
CN112783874A (zh) * | 2019-11-08 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 一种数据分析方法、装置和系统 |
CN111369302A (zh) * | 2020-03-17 | 2020-07-03 | 中国邮政储蓄银行股份有限公司 | 实时生成积分的方法、系统及计算机可读存储介质 |
CN111695126A (zh) * | 2020-05-28 | 2020-09-22 | 武汉中海庭数据技术有限公司 | 一种众包数据解密方法、装置、电子设备及存储介质 |
CN112668843A (zh) * | 2020-12-16 | 2021-04-16 | 中国汽车技术研究中心有限公司 | 车险理赔风险管控方法及系统、电子设备、介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477547A (zh) * | 2009-01-20 | 2009-07-08 | 中国测绘科学研究院 | 一种基于规则的空间数据整合方法 |
CN101620602A (zh) * | 2008-06-30 | 2010-01-06 | 上海全成通信技术有限公司 | 一种特定数据信息的展示处理方法 |
-
2014
- 2014-09-04 CN CN201410448683.7A patent/CN105468626B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620602A (zh) * | 2008-06-30 | 2010-01-06 | 上海全成通信技术有限公司 | 一种特定数据信息的展示处理方法 |
CN101477547A (zh) * | 2009-01-20 | 2009-07-08 | 中国测绘科学研究院 | 一种基于规则的空间数据整合方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105468626A (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105468626B (zh) | 数据处理方法及系统 | |
de Assuncao et al. | Distributed data stream processing and edge computing: A survey on resource elasticity and future directions | |
US11086687B2 (en) | Managing resource allocation in a stream processing framework | |
US10606711B2 (en) | Recovery strategy for a stream processing system | |
US11392416B2 (en) | Automated reconfiguration of real time data stream processing | |
US10439987B2 (en) | Systems and methods for securing network traffic flow in a multi-service containerized application | |
US20190250947A1 (en) | Stream Processing Task Deployment Using Precompiled Libraries | |
US20180253335A1 (en) | Maintaining throughput of a stream processing framework while increasing processing load | |
US9338226B2 (en) | Actor system and method for analytics and processing of big data | |
CN108564470B (zh) | 一种区块链中并行建块的交易分发方法 | |
US10084839B2 (en) | Upload operation using multiple connections | |
CN110019651A (zh) | 一种流式规则引擎及业务数据处理方法 | |
US20110208947A1 (en) | System and Method for Simplifying Transmission in Parallel Computing System | |
US20160182614A1 (en) | Elastic scale out policy service | |
CN109726004B (zh) | 一种数据处理方法及装置 | |
CN107766147A (zh) | 分布式的数据分析任务调度系统 | |
US10623281B1 (en) | Dynamically scheduled checkpoints in distributed data streaming system | |
CN104008012A (zh) | 一种基于虚拟机动态迁移的高性能MapReduce实现机制 | |
Ge et al. | Adaptive analytic service for real-time internet of things applications | |
US10108473B2 (en) | System and method for automatic error classification in integration systems | |
US20210374144A1 (en) | System for embedding stream processing execution in a database | |
Nasser et al. | An efficient Time-sensitive data scheduling approach for Wireless Sensor Networks in smart cities | |
CN111190963A (zh) | 一种区块链应用后端系统 | |
Qiu et al. | A software-defined security middle platform architecture | |
CN113254143A (zh) | 虚拟化网络功能网元编排调度方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |