CN107016083B - 一种支持处理单元在线切换的流数据处理方法 - Google Patents

一种支持处理单元在线切换的流数据处理方法 Download PDF

Info

Publication number
CN107016083B
CN107016083B CN201710206785.1A CN201710206785A CN107016083B CN 107016083 B CN107016083 B CN 107016083B CN 201710206785 A CN201710206785 A CN 201710206785A CN 107016083 B CN107016083 B CN 107016083B
Authority
CN
China
Prior art keywords
node
data
processing
stream data
type
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
Application number
CN201710206785.1A
Other languages
English (en)
Other versions
CN107016083A (zh
Inventor
王建民
黄向东
张博
龙明盛
邱明明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201710206785.1A priority Critical patent/CN107016083B/zh
Publication of CN107016083A publication Critical patent/CN107016083A/zh
Application granted granted Critical
Publication of CN107016083B publication Critical patent/CN107016083B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种支持处理单元在线切换的流数据处理方案,属于计算机数据处理技术领域。首先对流数据处理业务进行抽象,将处理业务分为处理框架和处理单元,其中处理框架是固定逻辑,处理单元是可变逻辑。其次,对处理单元进行抽象,采用JVM类加载器实现处理单元的加载。对于新增处理单元,在不重新启动系统的条件下,只需要重新加载相应的类文件即可完成处理单元在线切换,保证了流数据处理系统的高可用性。该发明提出了一种有效的流数据处理单元在线切换的方案,方法简单直观、可靠有效、便于使用。

Description

一种支持处理单元在线切换的流数据处理方法
技术领域
本发明涉及一种支持处理单元在线切换的流数据处理方法,属于计算机数据处理技术领域。
背景技术
近年来,随着工业物联网、气象信息网等技术的发展,人们需要处理的流数据量呈现出爆炸式的增长,数据成为了当今社会增长最快的资源之一。如何存储、处理、分析、应用大数据成为政府、学术界、产业界界共同关注的重大问题。随着数据量的不断增加和对数据处理实时性要求的快速提升,流式计算适应于数据实时性要求高、数据不断流入的场景。面对大数据时效性要求日益突出的应用场景,越来越多的大数据应用趋向于使用流式计算模式。
传统流式计算框架主要以数据库为存储方式,数据规模较小且数据形式单一,而大数据流式处理需要构建高效率、高可靠、低延迟、长期稳定的流式数据处理系统。在诸如气象、能源、工业等关键领域的流式计算使用场景中,往往对系统的可用性要求非常高,不允许处理系统在任何时间出现不能服务的情况;同时,对数据所要进行的处理又不是一成不变的。例如在气象大数据处理过程中,往往面临着新的观测数据类型加入、数据解码算法改变、数据计算和分析算法改变的问题,且这种改变是随着气象业务的升级而经常发生的,是大数据的一种新常态。如何对流数据业务进行抽象,并在此抽象基础上实现对可变逻辑进行动态加载,成为现有流数据处理系统在领域应用中面临的一大挑战。
发明内容
本发明的目的是提出一种支持处理单元在线切换的流数据处理方法,针对已有流数据处理系统中处理框架与处理单元过度耦合、业务改变要求动态改变处理方案的问题,基于对流数据处理系统的流程抽象,首先分离出处理框架和处理单元,其次应用JVM动态加载的机制完成应用算法的动态加载,使系统具有动态应对业务改变的能力,并保持7×24在线服务的高可用性。
本发明方法提出的支持处理单元在线切换的流数据处理方法,包括以下步骤:
(1)建立一个流数据处理的拓扑模型,拓扑模型为一个包括多个起始节点和多个终止节点的有向无环图,将拓扑模型记为二元组<V,E>,其中V为节点集合,E为边集合,节点集合V中的元素节点vi包括:节点名称n、处理单元p和节点类型g,节点类型定义为源节点g1和处理节点g2;处理单元p包括:并发度s、处理逻辑l、输入单元id和输出单元od,输入单元id和输出单元od中分别含有流数据最大采集时间长度tmax、流数据描述信息a、流数据类型m和流数据值d四个属性;处理逻辑l包括键值集合KV,键值集合元素KVi由流数据类型m和数据方法f构成,即KVi=<m,f>;边集合E中的元素ei为由节点集合V中的任意两个相邻节点vx和vy构成的元组,即ei=<vx,vy>,记vx节点为vy节点的前驱节点,vy节点为vx节点的后继节点,前驱节点vx在完成逻辑处理后将流数据传输给后继节点vy
(2)对上述拓扑模型的节点集合V中的节点类型进行判断,若节点vi的类型为g1,则节点vi根据输入单元id的描述信息a中的数据来源信息进行数据采集,若节点vi的类型为g2,则节点vi根据输入单元id的描述信息a中的数据监听网络端口信息,等待其他节点的数据到来后进行数据采集;
(3)节点vi的处理单元p接收采集的数据,根据节点vi的输入单元id中的最大采集时间长度tmax对当前采集数据的时间长度tcurrent进行判断,若tcurrent≥tmax,则停止采集数据,进入步骤(4),若tcurrent<tmax,则重复本步骤;
(4)节点vi的处理单元p的输入单元id接收采集的数据,采集数据进入处理单元p中的处理逻辑l,处理逻辑l根据输入单元id的流数据类型m,对处理逻辑l的键值集合KV进行检索,若键值集合KV中存在流数据类型m与输入单元id的流数据类型m相等的KVi,则处理逻辑l根据处理单元p的并发度s,调用KVi中的数据方法f,使用s个线程处理数据,进入步骤(5),若键值集合KV中不存在流数据类型m与输入单元id的流数据类型m相等的KVi,则返回上述步骤(3);
(5)经上述步骤(4)处理后的数据流入输出单元od,输出单元od对边集合E进行检索,若边集合E中存在当前节点vi的节点名称n与前驱节点vx的节点名称n相同的ei,则输出单元od将流入的数据传送给该ei中的后继节点vy,并返回上述步骤(2),若边集合E中不存在当前节点vi的节点名称n与前驱节点vx的节点名称n相同的ei,则输出单元od将流入的数据输出,得到流数据处理结果,并返回上述步骤(2)。
本发明提出的支持处理单元在线切换的流数据处理方案,其优点是:
1、本发明方法对流数据处理过程进行抽象,将不需要根据业务改变的处理框架和需要根据业务在线切换的处理单元进行分离,具有很强的通用性。
2、本发明可以应用于任何需要业务实时改变的流数据处理场景,具有良好的扩展性。
3、本发明具有不需要重新启动流数据处理系统、无需停止服务,具有7×24高可用的特点。
附图说明
图1是本发明提出的流数据处理的拓扑模型图。
图2是本发明提出的支持处理单元在线切换的流数据处理方法的流程框图。
具体实施方式
本发明提出一种支持处理单元在线切换的流数据处理方法,其流程框图如图2所示,包括以下步骤:
(1)建立一个流数据处理的拓扑模型,拓扑模型为一个包括多个起始节点和多个终止节点的有向无环图,将拓扑模型记为二元组<V,E>,其中V为节点集合,E为边集合,图1所示为拓扑模型的简单示意,图1所有节点组成节点集合V,所有的边,即图中的所有的箭头组成边集合E。拓扑模型用于对流数据处理流程进行描述。拓扑模型遵循流数据处理的业务过程,为按照一定前置约束条件进行数据上下游流转的流程。拓扑模型是流数据处理流程的抽象载体。其中节点集合V中的元素节点vi包括:节点名称n、处理单元p和节点类型g,节点类型定义为源节点g1和处理节点g2;处理单元p包括:并发度s、处理逻辑l、输入单元id和输出单元od,输入单元id和输出单元od中分别含有流数据最大采集时间长度tmax、流数据描述信息a、流数据类型m和流数据值d四个属性;处理逻辑l包括键值集合KV,键值集合元素KVi由流数据类型m和数据方法f构成,即KVi=<m,f>;边集合E中的元素ei为由节点集合V中的任意两个相邻节点vx和vy构成的元组,即ei=<vx,vy>,记vx节点为vy节点的前驱节点,vy节点为vx节点的后继节点,前驱节点vx在完成逻辑处理后将流数据传输给后继节点vy
(2)对上述拓扑模型的节点集合V中的节点类型进行判断,若节点vi的类型为g1,则节点vi根据输入单元id的描述信息a中的数据来源信息进行数据采集,若节点vi的类型为g2,则节点vi根据输入单元id的描述信息a中的数据监听网络端口信息,等待其他节点的数据到来后进行数据采集;
(3)节点vi的处理单元p接收采集的数据,根据节点vi的输入单元id中的最大采集时间长度tmax对当前采集数据的时间长度tcurrent进行判断,若tcurrent≥tmax,则停止采集数据,进入步骤(4),若tcurrent<tmax,则重复本步骤;
(4)节点vi的处理单元p的输入单元id接收采集的数据,采集数据进入处理单元p中的处理逻辑l,处理逻辑l根据输入单元id的流数据类型m,对处理逻辑l的键值集合KV进行检索,若键值集合KV中存在流数据类型m与输入单元id的流数据类型m相等的KVi,则处理逻辑l根据处理单元p的并发度s,调用KVi中的数据方法f,使用s个线程处理数据,进入步骤(5),若键值集合KV中不存在流数据类型m与输入单元id的流数据类型m相等的KVi,则返回上述步骤(3);本步骤根据输入单元id的流数据类型m调用不同的数据方法f,即实现了处理单元在线切换的逻辑,在具体的程序语言实现中,即采用JVM类加载器实现处理单元的加载与切换。
(5)经上述步骤(4)处理后的数据流入输出单元od,输出单元od对边集合E进行检索,若边集合E中存在当前节点vi的节点名称n与前驱节点vx的节点名称n相同的ei,则输出单元od将流入的数据传送给该ei中的后继节点vy,并返回上述步骤(2),若边集合E中不存在当前节点vi的节点名称n与前驱节点vx的节点名称n相同的ei,则输出单元od将流入的数据输出,得到流数据处理结果,并返回上述步骤(2)。

Claims (1)

1.一种支持处理单元在线切换的流数据处理方法,其特征在于该方法包括以下步骤:
(1)建立一个流数据处理的拓扑模型,拓扑模型为一个包括多个起始节点和多个终止节点的有向无环图,将拓扑模型记为二元组<V,E>,其中V为节点集合,E为边集合,其中节点集合V中的元素节点vi包括:节点名称n、处理单元p和节点类型g,节点类型定义为源节点g1和处理节点g2;处理单元p包括:并发度s、处理逻辑l、输入单元id和输出单元od,输入单元id和输出单元od中分别含有流数据最大采集时间长度tmax、流数据描述信息a、流数据类型m和流数据值d四个属性;处理逻辑l包括键值集合KV,键值集合元素KVi由流数据类型m和数据方法f构成,即KVi=<m,f>;边集合E中的元素ei为由节点集合V中的任意两个相邻节点vx和vy构成的元组,即ei=<vx,vy>,记vx节点为vy节点的前驱节点,vy节点为vx节点的后继节点,前驱节点vx在完成逻辑处理后将流数据传输给后继节点vy
(2)对上述拓扑模型的节点集合V中的节点类型进行判断,若节点vi的类型为g1,则节点vi根据输入单元id的描述信息a中的数据来源信息进行数据采集,若节点vi的类型为g2,则节点vi根据输入单元id的描述信息a中的数据监听网络端口信息,等待其他节点的数据到来后进行数据采集;
(3)节点vi的处理单元p接收采集的数据,根据节点vi的输入单元id中的最大采集时间长度tmax对当前采集数据的时间长度tcurrent进行判断,若tcurrent≥tmax,则停止采集数据,进入步骤(4),若tcurrent<tmax,则重复本步骤;
(4)节点vi的处理单元p的输入单元id接收采集的数据,采集数据进入处理单元p中的处理逻辑l,处理逻辑l根据输入单元id的流数据类型m,对处理逻辑l的键值集合KV进行检索,若键值集合KV中存在流数据类型m与输入单元id的流数据类型m相等的KVi,则处理逻辑l根据处理单元p的并发度s,调用KVi中的数据方法f,使用s个线程处理数据,进入步骤(5),若键值集合KV中不存在流数据类型m与输入单元id的流数据类型m相等的KVi,则返回上述步骤(3);
(5)经上述步骤(4)处理后的数据流入输出单元od,输出单元od对边集合E进行检索,若边集合E中存在当前节点vi的节点名称n与前驱节点vx的节点名称n相同的ei,则输出单元od将流入的数据传送给该ei中的后继节点vy,并返回上述步骤(2),若边集合E中不存在当前节点vi的节点名称n与前驱节点vx的节点名称n相同的ei,则输出单元od将流入的数据输出,得到流数据处理结果,并返回上述步骤(2)。
CN201710206785.1A 2017-03-31 2017-03-31 一种支持处理单元在线切换的流数据处理方法 Active CN107016083B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710206785.1A CN107016083B (zh) 2017-03-31 2017-03-31 一种支持处理单元在线切换的流数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710206785.1A CN107016083B (zh) 2017-03-31 2017-03-31 一种支持处理单元在线切换的流数据处理方法

Publications (2)

Publication Number Publication Date
CN107016083A CN107016083A (zh) 2017-08-04
CN107016083B true CN107016083B (zh) 2020-02-07

Family

ID=59444903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710206785.1A Active CN107016083B (zh) 2017-03-31 2017-03-31 一种支持处理单元在线切换的流数据处理方法

Country Status (1)

Country Link
CN (1) CN107016083B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107797728A (zh) * 2017-10-31 2018-03-13 维沃移动通信有限公司 一种访问应用程序的方法和移动终端

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1441561A (zh) * 2001-10-22 2003-09-10 松下电器产业株式会社 数据流选择输出装置、控制程序、数据流选择输出方法
CN1912926A (zh) * 2005-11-10 2007-02-14 威盛电子股份有限公司 可中断图形处理单元处理多个程序的方法和图形处理单元
CN101216911A (zh) * 2008-01-04 2008-07-09 清华大学 支持分布式执行的工作流模型动态分割方法
CN101387958A (zh) * 2008-10-20 2009-03-18 东软集团股份有限公司 一种图像数据的处理方法及装置
CN101615269A (zh) * 2009-08-11 2009-12-30 用友软件股份有限公司 一种工作流管理系统中的回退方法和装置
CN101923471A (zh) * 2010-08-26 2010-12-22 北京天融信科技有限公司 网络事件处理方法
CN106202192A (zh) * 2016-06-28 2016-12-07 浪潮软件集团有限公司 一种基于工作流的大数据分析方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822540A (en) * 1995-07-19 1998-10-13 Fujitsu Network Communications, Inc. Method and apparatus for discarding frames in a communications device
US7751344B2 (en) * 2006-11-08 2010-07-06 Sicortex, Inc. Computer system and method using a kautz-like digraph to interconnect computer nodes and having control back channel between nodes
US8291400B1 (en) * 2007-02-07 2012-10-16 Tilera Corporation Communication scheduling for parallel processing architectures
CN101593294A (zh) * 2008-05-29 2009-12-02 国际商业机器公司 动态配置工作流的方法和系统
CN102332125B (zh) * 2011-11-08 2014-03-19 南京大学 基于后继任务的工作流挖掘方法
US9405553B2 (en) * 2012-01-30 2016-08-02 International Business Machines Corporation Processing element management in a streaming data system
CN103412794A (zh) * 2013-08-08 2013-11-27 南京邮电大学 一种面向流计算的动态调度分配方法
WO2015139048A1 (en) * 2014-03-14 2015-09-17 Concurrent, Inc. Cluster (sub) graph isomorphism logical data flow mapping rules
US9984105B2 (en) * 2014-12-04 2018-05-29 International Business Machines Corporation Automatic discovery of code and data stores that populate a user interface element
CN105607907B (zh) * 2015-12-21 2018-08-31 用友网络科技股份有限公司 一种工作流引擎动态切换的模型驱动控制系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1441561A (zh) * 2001-10-22 2003-09-10 松下电器产业株式会社 数据流选择输出装置、控制程序、数据流选择输出方法
CN1912926A (zh) * 2005-11-10 2007-02-14 威盛电子股份有限公司 可中断图形处理单元处理多个程序的方法和图形处理单元
CN101216911A (zh) * 2008-01-04 2008-07-09 清华大学 支持分布式执行的工作流模型动态分割方法
CN101387958A (zh) * 2008-10-20 2009-03-18 东软集团股份有限公司 一种图像数据的处理方法及装置
CN101615269A (zh) * 2009-08-11 2009-12-30 用友软件股份有限公司 一种工作流管理系统中的回退方法和装置
CN101923471A (zh) * 2010-08-26 2010-12-22 北京天融信科技有限公司 网络事件处理方法
CN106202192A (zh) * 2016-06-28 2016-12-07 浪潮软件集团有限公司 一种基于工作流的大数据分析方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于带权有向图的网格工作流数据传输策略";韩宗芬 等;《华中科技大学学报(自然科学版)》;20051231;第33卷(第12期);第112-114页 *

Also Published As

Publication number Publication date
CN107016083A (zh) 2017-08-04

Similar Documents

Publication Publication Date Title
CN106790718A (zh) 服务调用链路分析方法及系统
CN109033109B (zh) 数据处理方法及系统
CN107623639B (zh) 基于emd距离的数据流分布式相似性连接方法
CN110851473A (zh) 一种数据处理方法、装置和系统
CN111694643A (zh) 一种面向图神经网络应用的任务调度执行系统及方法
Cederman et al. Concurrent data structures for efficient streaming aggregation
CN104850577A (zh) 一种基于有序复合树结构的数据流最大频繁项集挖掘方法
CN107832344A (zh) 一种基于storm流计算框架的食品安全网络舆情分析方法
CN106909624B (zh) 一种海量数据实时排序优化方法
CN107454009B (zh) 面向数据中心的离线场景低带宽开销流量调度方案
CN102087665B (zh) 支持持续查询的自动服务组合方法与系统
Liu et al. A clustering method for web service discovery
CN107016083B (zh) 一种支持处理单元在线切换的流数据处理方法
Theeten et al. Chive: Bandwidth optimized continuous querying in distributed clouds
WO2016197858A1 (zh) 一种消息通知方法和设备
CN104125146A (zh) 一种业务处理方法及装置
Pasteris et al. Data distribution and scheduling for distributed analytics tasks
CN109977138A (zh) 一种基于Kafka和SQL的数据查询方法
Wang et al. High-performance complex event processing for large-scale RFID applications
US11106656B2 (en) Method and apparatus for a software-seamed and augmented view of an asynchronous network fabric
CN113761121A (zh) 一种结构化数据的知识抽取方法
CN113961342B (zh) 边云协同的复杂事件检测方法
Foo et al. Configuring trees of classifiers in distributed multimedia stream mining systems
Zhang et al. T-QoS-aware based parallel ant colony algorithm for services composition
CN108737522A (zh) 一种消息的处理方法、装置和系统

Legal Events

Date Code Title Description
PB01 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