CN103262072A - 处理数据流的方法及装置 - Google Patents
处理数据流的方法及装置 Download PDFInfo
- Publication number
- CN103262072A CN103262072A CN2011800040179A CN201180004017A CN103262072A CN 103262072 A CN103262072 A CN 103262072A CN 2011800040179 A CN2011800040179 A CN 2011800040179A CN 201180004017 A CN201180004017 A CN 201180004017A CN 103262072 A CN103262072 A CN 103262072A
- Authority
- CN
- China
- Prior art keywords
- data flow
- window
- attribute
- data
- condition
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000001514 detection method Methods 0.000 claims description 12
- 238000011282 treatment Methods 0.000 claims description 10
- 230000010365 information processing Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 20
- 230000000717 retained effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 241001269238 Data Species 0.000 description 2
- 230000006854 communication Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 239000004984 smart glass Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例公开了一种处理数据流的方法及装置,涉及信息处理领域。本发明的方法包括:接收数据流组;检测所述数据流所对应的窗口是否已开启;若所述数据流所对应的窗口没有开启,则判断指定数据流的属性是否满足开启该窗口的条件;如果所述指定数据流的属性满足开启该窗口的条件,则开启该窗口,并通过该窗口处理所述数据流的数据;如果所述指定数据流的属性不满足开启该窗口的条件,则接收下一个数据流组。本发明适用于处理数据流。
Description
处理数据流的方法及装置 技术领域
本发明涉及信息处理领域, 尤其涉及一种处理数据流的方法及装置。 背景技术
随着信息处理技术的发展, 需要处理的数据量急剧增多, 传统的静态数 据处理设备已无法满足需求, 便产生了基于数据流的数据处理技术, 数据流 是指一串具有时序性的, 连续动态生成的数据, 即数据流由一系列数据组成, 且这些数据在时间上是连续的。 CEP ( Complex Event Processing , 复杂事件处 理)技术就是一种用于处理数据流的数据处理技术。 CEP 系统能够通过分析 数据流中的不同数据, 获取数据之间的关系, 再根据这些数据及数据间的关 系获得更高级的数据及商业流程。
使用 CEP系统进行数据处理时, 往往需要定义一个窗口, 该窗口根据筛 选条件对某一条数据流中一段连续的数据进行 选, 并对 选出的数据进行 处理。
例如: Esper是一种数据流处理程序引擎。 Esper定义的窗口根据筛选条 件筛选出某一条数据流中的一段连续的数据, 并将 选出的数据进行保存, 同时, 窗口中的数据被进行指定的运算(分组、 求和、 求平均值等)。 当数据 流的属性满足过期条件时, 则删除窗口中保存的过期数据。 上述的过期条件 可以是窗口的时间 (即超过指定时间的数据被译放出窗口)、 窗口的长度(即 超过指定个数后, 最先进来的事件被译放出窗口)等。 例如: 对于股票价格 的数据流, 使用一个窗口筛选出最后一分钟内所有股票的价格, 并根据筛选 出的价格统计最后一分钟内所有股票的价格均值, 所求出的价格均值可以用 于其他数据处理, 当时间超过了最后一分钟, 删除窗口储存的时间早于一分 钟的股票的价格。
在实现上述发明的过程中, 发明人发现现有技术中至少存在如下问题:
现有技术所定义的窗口功能较为简单, 无法实现根据需要对数据流进行 有选择的处理过程。
发明内容
本发明的实施例提供一种处理数据流的方法及装置, 能够根据需要对数 据流进行有选择的处理过程。
为达到上述目的, 本发明的实施例釆用如下技术方案:
一方面, 本发明的实施例提供一种处理数据流的方法, 包括:
接收数据流组, 所述数据流组中包括至少一个数据流;
检测所述数据流所对应的窗口是否已开启;
若所述数据流所对应的窗口没有开启, 则判断指定数据流的属性是否满 足开启该窗口的条件, 所述指定数据流为所述数据流组的所有数据流中的至 少一个;
如果所述指定数据流的属性满足开启该窗口的条件, 则开启该窗口, 并 通过该窗口处理所述数据流的数据;
如果所述指定数据流的属性不满足开启该窗口的条件, 则接收下一个数 据流组。
另一方面, 本发明的实施例提供一种处理数据流的装置, 包括: 接收模块, 用于接收数据流组, 如果指定数据流的属性不满足开启该窗 口的条件, 则接收下一个数据流组, 所述数据流组中包括至少一个数据流; 检测模块, 用于检测所述数据流所对应的窗口是否已开启;
第一判断模块, 用于若所述数据流所对应的窗口没有开启, 则判断所述 指定数据流的属性是否满足开启该窗口的条件, 所述指定数据流为所述数据 流组的所有数据流中的至少一个;
第一启动模块, 用于如果所述指定数据流的属性满足开启该窗口的条件, 则开启该窗口, 并通过该窗口处理所述数据流的数据。
本发明实施例提供的方法及装置, 能够根据数据流的属性, 定义窗口的
开启及关闭条件, 实现窗口的开启和关闭功能, 实现根据需要对数据流进行 有选择的处理过程。 与现有技术相比, 本发明实施例能够根据需要开启或关 闭窗口, 从而能够实现对数据流更为复杂的处理过程。
附图说明
为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例描述中 所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的 前提下, 还可以根据这些附图获得其它的附图。
图 1为本发明实施例 1提供的处理数据流的方法的流程图;
图 2为本发明实施例 2提供的处理数据流的方法的流程图;
图 3为本发明实施例 2提供的处理数据流的方法的具体实例的流程图; 图 4为本发明实施例 2提供的处理数据流的方法的具体实例的流程图; 图 5为本发明实施例 3提供的处理数据流的装置的结构示意图;
图 6为本发明实施例 4提供的处理数据流的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而 不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其它实施例, 都属于本发明保护的范围。
为使本发明技术方案的优点更加清楚, 下面结合附图和实施例对本发明 作详细说明。
实施例 1
本发明实施例提供一种处理数据流的方法, 如图 1所示, 该方法包括: 步骤 101 , 接收数据流组。
其中, 所述数据流组中包括至少一个数据流。
步骤 102, 检测所述数据流所对应的窗口是否已开启。
步骤 103 , 若所述数据流所对应的窗口没有开启, 则判断指定数据流的属 性是否满足开启该窗口的条件。
其中, 所述指定数据流为所述数据流组的所有数据流中的至少一个。 可 选的, 该指定数据流可以是上述有对应窗口的数据流, 也可以不是上述有对 应窗口的数据流。
进一步的, 所述指定数据流的属性具体可以是所述指定数据流的时间属 性、 价格属性、 速度属性、 位置属性或速度属性等, 数据流的属性的种类不 限于这些。 在实际应用中, 指定数据流的属性可以有一项或多项, 例如, 指 定数据流的属性可以包括时间属性, 也可以包括时间属性和价格属性。
更进一步的, 所述指定数据流的属性可以来自同一个数据流; 或, 所述 指定数据流的属性分别来自所述指定数据流中的至少二个不同的数据流, 例 如, 如果指定数据流的属性如果包括时间属性和价格属性, 则时间属性和所 述价格属性可以分别来自所述指定数据流中二个不同的数据流。
步骤 104, 如果所述指定数据流的属性满足开启该窗口的条件, 则开启该 窗口, 并通过该窗口处理所述数据流的数据。
步骤 105 , 如果所述指定数据流的属性不满足开启该窗口的条件, 则接收 下一个数据流组。
本发明实施例提供的方法, 能够根据数据流的属性, 定义窗口的开启及 关闭条件, 实现窗口的开启和关闭功能, 使窗口能够实现根据需要对数据流 进行有选择的处理过程。 与现有技术相比, 本发明实施例能够根据需要开启 或关闭窗口, 从而能够实现对数据流更为复杂的处理过程。
实施例 2
本发明实施例提供一种处理数据流的方法, 如图 2所示, 该方法包括: 步骤 201 , 定义可开关窗口。
具体的,在本实施例中,数据处理设备根据 CEP系统中的查询语言定义具 有开关功能的窗口。 其中, 经过定义的窗口能够根据本数据流的属性, 或其
他数据流的属性, 开启或关闭窗口。
其中, 窗口之间不存在有重叠的情况。 当一个窗口开启时, 在没有关闭 的情况下, 不会有下一个窗口的开启。
例如:
使用 CQL ( Continuous Query Language, 连续查询语言)对一个窗口进行 定义。 其中, CQL为一种查询语言, 且已为本领域所熟知, 在此不再赘述。 具体的定义语句如下:
[start— window— condition— expression,end— window— condition— expression] 其中,在对窗口进行的条件定义中, start window condition expression指 明了窗口开启的条件; end— window— condition— expression指明了窗口关闭的条 件。
即通过以上定义语句对窗口进行定义后, 窗口能够根据定义语句中所指 明的条件开启或关闭。
再例如:
如图 3所示, 为使用流处理技术对通信技术中的乒乓切换现象进行过滤及 提取, 所述乒乓切换为:
在移动通讯设备的一次通话过程中, 信号会在固定两个基站间发生 5次以 上切换, 且每连续的两次切换时间间隔小于 7秒, 则判定为乒乓切换。 其中, 切换的定义为: 一个用户由基站 A切到基站 B, 是乒乓切换的单次切换, 连续 的 A->B、 B->A、 A->B、 B->A... 切换称为一次乒乓切换(连续 5次以上切换, 即连续的 6次、 7次或者更多次仍然是一次乒乓切换) 。 一次乒乓切换的结束 为: 在最后一个切换的时间间隔内 7s内没有再发生切换。 同时, 其他具有类似 数据排列模式的数据流也可视为乒乓切换。
使用数据处理引擎生成的窗口对具有乒乓切换模式的数据流进行数据处 理, 可以通过 CQL对该窗口进行定义, 定义语句如下:
[time-previous(time)<=7 second, time-previous(time)>7 second]
其中, 定义语句中的 time属于数据流的属性, 表示数据流的时间截, 即时 间信息, previous(time)是一个函数,可以获得数据流中当前数据的前一个数据 的时间截, 即当前数据的前一个数据的 time属性值。 该定义语句的含义为: 判 断当前数据与前一个数据之间的时间差是否在 7秒之内,如果是,则窗口开启; 当窗口开启后, 对于新到达的数据, 再判断该数据与前一个数据之间的时间 差不是大于 7秒, 如果是, 则窗口关闭。 经过该定义语句定义的窗口, 可以将 所有满足一次乒乓切换模式的所有切换记录放入到同一个窗口内, 并通过后 续的计数运算, 获得每次乒乓切换的记录数, 为后续的判断、 处理奠定基础。
步骤 202, 接收数据流组。
其中, 所述数据流组中包括至少一个数据流。
具体的,在本实施例中, CEP系统中的数据处理设备在同一时间接收到一 个以上的数据流, 并在步骤 201中对需要进行处理的数据流定义了窗口, 经过 定义的窗口能够根据所对应的数据流的属性开启或关闭窗口。
例如:
如图 3所示, 数据处理设备在接收到数据流组后, 确定所述数据流组中具 有乒乓切换的数据流, 生成用于处理有乒乓切换模式的数据流的窗口, 并使 用窗口对有乒乓切换的数据流进行处理, 该窗口能够根据定义语句中使用的 previous(time)函数,获取当前数据的前一个数据的时间截,从而得到相邻两个 数据间的时间差, 因此在窗口保留相邻两个数据 (即保留当前数据以及其相 邻的前一个数据), 窗口所保留的数据存储在数据处理设备的存储单元中。
步骤 203 , 检测所述数据流所对应的窗口是否已开启。
具体的,在本实施例中, CEP系统中的数据处理设备检测数据流所对应的 窗口是否已经开启, 例如: 数据处理设备可以通过窗口管理模块来检测数据 流所对应的窗口是否已经开启。 其中, 通过窗口管理模块检测数据流所对应 的窗口是否已经开启的方法及步骤已为本领域所熟知, 在此不再赘述。
若所述数据流所对应的窗口没有开启, 则执行步骤 204; 若所述数据流所
对应的窗口已经开启, 则执行步骤 205。
步骤 204, 若所述数据流所对应的窗口没有开启, 判断指定数据流的属性 是否满足开启该窗口的条件。
其中, 所述指定数据流为所述数据流组的所有数据流中的至少一个。 如果满足开启该窗口的条件,则执行步骤 206;如果不满足开启该窗口的, 则接收下一个数据流组。
具体的, 在本实施例中, 指定数据流的属性是指被用于作为判断窗口开 关与否的条件的数据流的属性, 可以是数据流的一项属性, 也可以是数据流 的多项属性, 数据处理设备通过经过定义的窗口根据这些属性及窗口的定义 语句判断所述指定数据流的属性是否满足开启该窗口的条件。 指定数据流的 属性可以来自同一个数据流, 进一步的, 指定数据流的属性可以来自不同数 据流, 具体的, 可以分为以下几种情况:
其一:
指定数据流的属性来自同一个数据流, 并且指定数据流的属性只有一项。 例如:
指定数据流的属性具体为时间属性。
对于数据流 a, 窗口 b是数据流 a的窗口, 窗口 b能够根据定义语句中使用的 previous(time)函数, 获取数据流 a自身的当前数据的前一个数据的时间截, 从 而得到数据流 a中相邻两个数据间的时间差值 A , 并根据定义语句: [time-previous(time)<=7 second, time-pre vious(time)>7 second] 得到: 如果 A不大 于 7秒, 则窗口 b开启, 并开始对数据流 a进行其他数据运算处理。 如果 A大于 7 秒, 则不开启窗口 b , 继续接收下一个数据流组。 在这里, 指定数据流为数据 流 a。
进一步的, 也可以是, 对于数据流 a, 窗口 b能够根据定义语句中使用的 previous(time)函数, 获取同一个数据流组中另外一个数据流 b当前数据的前一 个数据的时间截, 即获取除数据流 a以外的其他数据流的属性作为指定数据流
(这里指定数据流为数据流 b ) 的属性, 来判断窗口 b是否开启。
其二:
指定数据流的属性来自同一个数据流, 并且指定数据流的属性有至少两 项。
例如:
指定数据流的属性来自同一个数据流, 并且具体指定数据流的属性是目 标地属性和来源地属性。
数据流 a的属性中有目标地属性 target和来源地属性 origin。 窗口 b能够根据 定义语句中使用的 previous(target)函数,得到数据流 a中当前数据的前一个数据 的 目 标地属性 target值 , 并才艮据定义语 句 [origin=privious(target), origin<>privious(target)] 到: 如果当前数据的来源地属性 origin值等于前一个 数据的目标地属性 target值, 则窗口 b开启, 并开始对其所对应的数据流进行数 据处理。
进一步的, 也可以是, 对于数据流 a, 窗口 b能够根据定义语句中使用的 previous(target)函数, 获取数据流 b中当前数据的前一个数据的目标地属性 target值,并才艮据定义语句 [origin=privious(target), originoprivious(target)]得到: 如果当前数据的来源地属性 origin值等于前一个数据的目标地属性 target值,则 数据流 a的窗口 b开启, 并开始对其所对应的数据流进行数据处理。 即获取除 数据流 a以外的其他数据流的多个具体属性值, 来判断窗口 b是否开启。
其三:
指定数据流的属性来自不同数据流, 指定数据流的属性有至少两项, 其 中, 并且指定数据流的属性可以来自具有窗口的数据流本身和其他不具有窗 口的数据流, 也可以全部来自其他不具有窗口的数据流, 在此并不限定。
例如:
指定数据流的属性有时间属性和价格属性, 并且分别来自同一数据流组 中不同的数据流。 如图 4所示, 数据流的属性中的价格属性, 即 price属性值:
[A.price>5, B.price>8] , 即在当前的数据流中 (可以是数据流 A, 数据流 B, 或 者是其他的数据流)进行窗口操作, 当在数据流 A中数据的 price属性值 >5时, 数据流 W的窗口是窗口 w; 之后, 当在数据流 B中, 到达某数据的 price属性值 >8时,在当前流中关闭该窗口\¥。也可以是当在 A流中数据的 price属性值 >5时, 在当前流中打开窗口 w; 之后, 当在 B流中, 到达某数据的 time属性值 >8时, 在当前流中关闭该窗口 w,即用于判断窗口开启的属性以及判断窗口关闭的属 性可以不一样。 窗口实现流程与前述类似, 在本节不做累述。
综上所述, 数据处理设备能够通过经过定义的窗口根据不同数据流之间 的关系开启窗口, 以满足更复杂的业务场景。
步骤 205 , 判断指定数据流的属性是否满足关闭该窗口的条件。
如果指定数据流的属性满足关闭该窗口的条件, 则执行步骤 207; 如果指 定数据流的属性不满足关闭该窗口的条件, 则执行步骤 208。
具体的, 在本实施例中, 指定数据流的属性是指被用于作为判断窗口开 关与否的条件的数据流的属性, 可以是数据流的一项属性, 也可以是数据流 的多项属性, 数据处理设备通过经过定义的窗口根据这些属性及窗口的定义 语句判断所述指定数据流的属性是否满足开启该窗口的条件。 指定数据流的 属性可以来自同一个数据流, 进一步的, 指定数据流的属性可以来自不同数 据流, 具体的, 可以分为以下几种情况:
其一:
指定数据流的属性来自同一个数据流, 并且指定数据流的属性只有一项。 例如:
指定数据流的属性具体为时间属性。
对于数据流 a, 窗口 b是数据流 a的窗口, 窗口 b能够根据定义语句中使用的 previous(time)函数, 获取数据流 a自身的当前数据的前一个数据的时间截, 从 而得到数据流 a中相邻两个数据间的时间差值 A , 并根据定义语句: [time-previous(time)<=7 second, time-pre vious(time)>7 second] 得到: 数据流 a的
窗口 b开启时, 如果 A大于 7秒, 则窗口 b关闭。 这个例子中, 指定数据流为数 据流 a。
进一步的, 也可以是, 对于数据流 a, 窗口 b能够根据定义语句中使用的 previous(time)函数, 获取同一个数据流组中另外一个数据流 b当前数据的前一 个数据的时间截, 即获取除数据流 a以外的其他数据流的属性作为指定数据流 (这里指定数据流为数据流 b ) 的属性, 来判断已开启的窗口 b是否关闭。
其二:
指定数据流的属性来自同一个数据流, 并且指定数据流的属性有至少两 项。
例如:
指定数据流的属性来自同一个数据流, 并且具体指定数据流的属性是目 标地属性和来源地属性。
数据流 a的属性中有目标地属性 target和来源地属性 origin。 窗口 b能够根据 定义语句中使用的 previous(target)函数,得到数据流 a中当前数据的前一个数据 的 目 标地属性 target值 , 并才艮据定义语 句 [origin=privious(target), origin<>privious(target)]得到: 如果窗口 b开启后, 当前数据的 origin值不等于 前一个数据的 target值, 则关闭窗口 b。
进一步的, 也可以是, 对于数据流 a, 窗口 b能够根据定义语句中使用的 previous(target)函数, 获取数据流 b中当前数据的前一个数据的目标地属性 target值,并才艮据定义语句 [origin=privious(target), originoprivious(target)]得到: 如果窗口 b开启后, 当前数据的 origin值不等于前一个数据的 target值, 则关闭 数据流 a的窗口 b。 即获取除数据流 a以外的其他数据流的多个具体属性值, 来 判断窗口 b是否开启。
其三:
指定数据流的属性来自不同数据流, 指定数据流的属性有至少两项, 其 中, 并且指定数据流的属性可以来自具有窗口的数据流本身和其他不具有窗
口的数据流, 也可以全部来自其他不具有窗口的数据流, 在此并不限定。 具体实例如步骤 204中的其三所述。
综上所述, 数据处理设备能够通过经过定义的窗口根据不同数据流之间 的关系开启窗口, 以满足更复杂的业务场景。
从而, 数据处理设备能够通过经过定义的窗口根据不同数据流之间的关 系, 对指定的数据流进行数据处理, 实现更复杂的数据流处理。
步骤 206, 开启该窗口。
通过该窗口处理所述数据流的数据。
步骤 207, 关闭该窗口。
其中, 若关闭的窗口中留有未处理的数据, 则对这些进行处理。
步骤 208, 处理窗口中保留的数据。
具体的, 在本实施例中, 对窗口中保留的数据进行处理的方法包括: 分 组、 求和、 或求平均值等。 对窗口中保留的数据进行处理的方法已为本领域 所熟知, 在此不再赘述。
本发明实施例提供的方法, 能够根据数据流的属性, 定义窗口的开启及 关闭条件, 实现窗口的开启和关闭功能, 使窗口能够实现根据需要对数据流 进行有选择的处理过程。 还能够根据多个数据流中的数据流的属性, 定义窗 口的开启及关闭条件, 实现窗口的开启和关闭功能, 使窗口能够根据不同数 据流之间的关系处理数据流。 与现有技术相比, 本发明实施例能够根据需要 对开启或关闭窗口, 从而能够实现对数据流更为复杂的处理过程。
实施例 3
本发明实施例提供一种处理数据流的装置, 如图 5 所示, 该装置包括: 接收模块 501、 检测模块 502、第一判断模块 503、第一启动模块 504。
接收模块 501 , 用于接收数据流组。
其中, 如果指定数据流的属性不满足开启该窗口的条件, 则接收下一个 数据流组, 所述数据流组中包括至少一个数据流。
检测模块 502, 用于检测所述数据流所对应的窗口是否已开启。
第一判断模块 503 , 用于若所述数据流所对应的窗口没有开启, 则判断所 述指定数据流的属性是否满足开启该窗口的条件, 所述指定数据流为所述数 据流组的所有数据流中的至少一个。
第一启动模块 504, 用于如果所述指定数据流的属性满足开启该窗口的条 件, 则开启该窗口, 并通过该窗口处理所述数据流的数据。
其中, 如果不满足开启该窗口的, 则通过接收模块 501接收下一个数据流 组。
本发明实施例提供的装置, 能够通过接收模块接受数据流, 并根据数据 流的属性, 通过检测模块检测窗口是否开启, 并通过第一判断模块判断窗口 是否满足开启的条件, 再通过第一启动模块启动窗口并实现根据需要对数据 流进行有选择的处理过程, 从而实现窗口的开启功能。 同时还能够根据其他 数据流的属性, 定义窗口的开启条件, 实现窗口的开启功能, 使窗口能够根 据不同数据流之间的关系处理数据。 与现有技术相比, 本发明实施例能够根 据需要对开启窗口, 从而能够实现对数据流更为复杂的处理过程。
实施例 4
本发明实施例提供一种处理数据流的装置, 如图 6所示, 该装置包括: 接收模块 501、检测模块 502、第一判断模块 503、第一启动模块 504、定义模 块 505、第二判断模块 506、 关闭模块 507、第二启动模块 508、数据处理模块 509。
定义模块 505 , 用于定义可开关窗口。
接收模块 501 , 用于接收数据流组。
其中, 所述数据流组中包括至少一个数据流, 所述指定数据流的属性来 自同一个数据流, 或所述指定数据流的属性分别来自所述指定数据流中的至 少二个不同的数据流。
进一步的, 如果指定数据流的属性不满足开启该窗口的条件, 则接收下
一个数据流组, 所述数据流组中包括至少一个数据流。
检测模块 502, 用于检测所述数据流所对应的窗口是否已开启。
第一判断模块 503 , 用于若所述数据流所对应的窗口没有开启, 则判断所 述指定数据流的属性是否满足开启该窗口的条件。
其中, 所述指定数据流为所述数据流组的所有数据流中的至少一个。 进一步的, 所述指定数据流的属性分别来自所述指定数据流中的至少二 个不同的数据流, 所述第一判断模块, 具体用于根据时间属性和价格属性中 的至少一项判断是否满足开启该窗口的条件。
第二判断模块 506, 用于若所述数据流所对应的窗口已经开启, 则判断指 定数据流的属性是否满足关闭该窗口的条件。
其中, 所述指定数据流为所述数据流组的所有数据流中的至少一个。 进一步的, 所述指定数据流的属性分别来自所述指定数据流中的至少二 个不同的数据流, 所述第一判断模块, 具体用于根据时间属性和价格属性中 的至少一项判断是否满足开启该窗口的条件。
第一启动模块 504, 用于如果所述指定数据流的属性满足开启该窗口的条 件, 则开启该窗口, 并通过该窗口处理所述数据流的数据。
其中, 如果不满足开启该窗口的条件, 则通过接收模块 501接收下一个数 据流组。
关闭模块 507 , 用于如果满足关闭该窗口的条件, 则关闭该窗口。
其中, 若关闭的窗口中留有未处理的数据, 则通过数据处理模块 509对这 些进行处理。
第二启动模块 508 , 用于如果指定数据流的属性不满足关闭该窗口的条 件, 则通过数据处理模块 509处理所述数据流的数据。
数据处理模块 509, 用于处理窗口中保留的数据。
具体的, 在本实施例中, 对窗口中保留的数据进行处理的方法可以是: 分组、 求和、 或求平均值等。 对窗口中保留的数据进行处理的方法已为本领
域所熟知, 在此不再赘述。
该处理数据流的装置具体的操作方法已在方法实施例中详细描述, 这里 不做赘述。
本发明实施例提供的装置, 能够通过接收模块接受数据流, 并根据数据 流的属性, 通过检测模块检测窗口是否开启, 并通过第一判断模块判断窗口 是否满足开启的条件, 以及通过第二判断模块判断窗口是否满足关闭的条件, 再通过第一启动模块启动窗口并实现根据需要对数据流进行有选择的处理过 程, 或通过关闭模块关闭满足关闭条件的窗口, 从而实现窗口的开启和关闭 功能。 同时, 还能够根据其他数据流的属性, 定义窗口的开启及关闭条件, 实现窗口的开启和关闭功能, 使窗口能够根据不同数据流之间的关系处理数 据。 与现有技术相比, 本发明实施例能够根据需要对开启或关闭窗口, 从而 能够实现对数据流更为复杂的处理过程。
本领域普通技术人员可以理解实现上述实施例装置中的全部或部分流 程, 是可以通过计算机程序来指令相关的硬件来完成, 所述的程序可存储于 一计算机可读取存储介质中, 该程序在执行时, 可包括如上述各装置的实施 例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体( Read-Only Memory, ROM )或随机存^ ^己忆体 ( Random Access Memory, RAM )等。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易 想到的变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保 护范围应该以权利要求的保护范围为准。
Claims (10)
- 权利要求 书1、 一种处理数据流的方法, 其特征在于, 包括:接收数据流组, 所述数据流组中包括至少一个数据流;检测所述数据流所对应的窗口是否已开启;若所述数据流所对应的窗口没有开启, 则判断指定数据流的属性是否满足 开启该窗口的条件, 所述指定数据流为所述数据流组的所有数据流中的至少一 个;如果所述指定数据流的属性满足开启该窗口的条件, 则开启该窗口, 并通 过该窗口处理所述数据流的数据;如果所述指定数据流的属性不满足开启该窗口的条件, 则接收下一个数据 流组。
- 2、 根据权利要求 1所述的处理数据流的方法, 其特征在于, 所述方法还包 括:若所述数据流所对应的窗口已经开启, 则判断指定数据流的属性是否满足 关闭该窗口的条件;如果满足关闭该窗口的条件, 则关闭该窗口;如果不满足关闭该窗口的条件, 则通过该窗口处理所述数据流的数据。
- 3、 根据权利要求 1或 2所述的处理数据流的方法, 其特征在于, 所述指定数 据流的属性来自同一个数据流。
- 4、 根据权利要求 1或 2所述的处理数据流的方法, 其特征在于, 所述指定数 据流的属性分别来自所述指定数据流中的至少二个不同的数据流。
- 5、 根据权利要求 1或 2所述的处理数据流的方法, 其特征在于, 所述指定数 据流的属性包括所述指定数据流的时间属性和价格属性中的至少一项;所述判断指定数据流的属性是否满足开启该窗口的条件为: 根据时间属性 和价格属性中的至少一项判断是否满足开启该窗口的条件;所述判断指定数据流的属性是否满足关闭所述窗口的条件为: 根据时间属 性和价格属性中的至少一项判断是否满足关闭该窗口的条件。
- 6、 一种处理数据流的装置, 其特征在于, 包括:接收模块, 用于接收数据流组, 如果指定数据流的属性不满足开启该窗口 的条件, 则接收下一个数据流组, 所述数据流组中包括至少一个数据流;检测模块, 用于检测所述数据流所对应的窗口是否已开启;第一判断模块, 用于若所述数据流所对应的窗口没有开启, 则判断所述指 定数据流的属性是否满足开启该窗口的条件, 所述指定数据流为所述数据流组 的所有数据流中的至少一个;第一启动模块, 用于如果所述指定数据流的属性满足开启该窗口的条件, 则开启该窗口, 并通过该窗口处理所述数据流的数据。
- 7、 根据权利要求 6所述的处理数据流的装置, 其特征在于, 所述装置还包 括:第二判断模块, 用于若所述数据流所对应的窗口已经开启, 则判断指定数 据流的属性是否满足关闭该窗口的条件;关闭模块, 用于如果满足关闭该窗口的条件, 则关闭该窗口;第二启动模块, 用于如果不满足关闭该窗口的条件, 则通过该窗口处理所 述数据流的数据。
- 8、 根据权利要求 6或 7所述的处理数据流的装置, 其特征在于, 所述指定数 据流的属性来自同一个数据流。
- 9、 根据权利要求 6或 7所述的处理数据流的装置, 其特征在于, 所述指定数 据流的属性分别来自所述指定数据流中的至少二个不同的数据流。
- 10、 根据权利要求 6或 7所述的处理数据流的装置, 其特征在于, 所述指定 数据流的属性包括所述指定数据流的时间属性和价格属性中的至少一项;所述第一判断模块, 具体用于根据时间属性和价格属性中的至少一项判断 是否满足开启该窗口的条件;所述第二判断模块, 具体用于根据时间属性和价格属性中的至少一项判断 是否满足关闭该窗口的条件 c
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/083386 WO2013078682A1 (zh) | 2011-12-02 | 2011-12-02 | 处理数据流的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103262072A true CN103262072A (zh) | 2013-08-21 |
CN103262072B CN103262072B (zh) | 2016-11-30 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210364A1 (en) * | 2008-02-20 | 2009-08-20 | Asaf Adi | Apparatus for and Method of Generating Complex Event Processing System Rules |
CN101685466A (zh) * | 2009-07-22 | 2010-03-31 | 中兴通讯股份有限公司 | 事件处理方法和设备 |
CN101957832A (zh) * | 2009-07-16 | 2011-01-26 | Sap股份公司 | 对于事件流数据管理的统一的窗口支持 |
WO2011019706A1 (en) * | 2009-08-11 | 2011-02-17 | Certusview Technologies, Llc | Systems and methods for complex event processing of vehicle information and image information relating to a vehicles |
CN102118322A (zh) * | 2009-12-30 | 2011-07-06 | 蒋斌 | 一种在聊天工具中自动控制聊天窗口数量的控制方法 |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210364A1 (en) * | 2008-02-20 | 2009-08-20 | Asaf Adi | Apparatus for and Method of Generating Complex Event Processing System Rules |
CN101957832A (zh) * | 2009-07-16 | 2011-01-26 | Sap股份公司 | 对于事件流数据管理的统一的窗口支持 |
CN101685466A (zh) * | 2009-07-22 | 2010-03-31 | 中兴通讯股份有限公司 | 事件处理方法和设备 |
WO2011019706A1 (en) * | 2009-08-11 | 2011-02-17 | Certusview Technologies, Llc | Systems and methods for complex event processing of vehicle information and image information relating to a vehicles |
CN102118322A (zh) * | 2009-12-30 | 2011-07-06 | 蒋斌 | 一种在聊天工具中自动控制聊天窗口数量的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2013078682A1 (zh) | 2013-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Peng et al. | An improved feature selection algorithm based on ant colony optimization | |
CN105830080A (zh) | 使用特定于应用和特定于应用类型的模型进行移动设备行为的高效分类的方法和系统 | |
US7567942B2 (en) | Intelligence engine software architecture | |
CN106303370A (zh) | 确定目标对象位置的方法、装置及系统 | |
CN101446966A (zh) | 数据存储方法及系统 | |
Tavares et al. | Overlapping analytic stages in online process mining | |
CN109700383A (zh) | 机器人的清洁方法、机器人及终端设备 | |
CN109756467A (zh) | 一种钓鱼网站的识别方法及装置 | |
CN105487381A (zh) | 一种处理方法及电子设备 | |
CN110427404A (zh) | 一种区块链跨链数据检索系统 | |
CN103809955B (zh) | 结束进程的方法和装置 | |
CN106484077A (zh) | 移动终端及其基于应用软件分类的省电方法 | |
CN103262072A (zh) | 处理数据流的方法及装置 | |
CN105491633B (zh) | 无线网络垂直切换方法和装置 | |
Sun et al. | Artificial intelligence and its application in computer network technology | |
CN110460593A (zh) | 一种移动流量网关的网络地址识别方法、装置及介质 | |
CN107450986B (zh) | 一种基于软件通信体系结构的资源调度方法 | |
CN103262072B (zh) | 处理数据流的方法及装置 | |
CN115514558A (zh) | 一种入侵检测方法、装置、设备及介质 | |
Ding et al. | InterSpot: Interactive Spammer Detection in Social Media. | |
CN108710606A (zh) | 一种任务进度监控方法、计算机可读存储介质及终端设备 | |
Zhu et al. | A Universal High‐Performance Correlation Analysis Detection Model and Algorithm for Network Intrusion Detection System | |
WO2023169425A1 (zh) | 通信网络中的数据处理方法及网络侧设备 | |
Noa Vargas et al. | Particle swarm optimization with resets–improving the balance between exploration and exploitation | |
WO2023213246A1 (zh) | 模型选择方法、装置及网络侧设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220217 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |