WO2013078682A1 - Method and device for processing data stream - Google Patents

Method and device for processing data stream Download PDF

Info

Publication number
WO2013078682A1
WO2013078682A1 PCT/CN2011/083386 CN2011083386W WO2013078682A1 WO 2013078682 A1 WO2013078682 A1 WO 2013078682A1 CN 2011083386 W CN2011083386 W CN 2011083386W WO 2013078682 A1 WO2013078682 A1 WO 2013078682A1
Authority
WO
WIPO (PCT)
Prior art keywords
data stream
window
attribute
data
condition
Prior art date
Application number
PCT/CN2011/083386
Other languages
French (fr)
Chinese (zh)
Inventor
王澜
刘晓
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2011/083386 priority Critical patent/WO2013078682A1/en
Priority to CN201180004017.9A priority patent/CN103262072B/en
Publication of WO2013078682A1 publication Critical patent/WO2013078682A1/en

Links

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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries

Definitions

  • the present invention relates to the field of information processing, and in particular, to a method and apparatus for processing a data stream. Background technique
  • Data stream refers to a series of sequential, continuous Dynamically generated data, that is, a data stream consists of a series of data that is contiguous in time.
  • CEP Complex Event Processing
  • the CEP system is able to obtain the relationship between the data by analyzing different data in the data stream, and then obtain more advanced data and business processes based on the relationship between the data and the data.
  • Esper is a data stream handler engine.
  • the window defined by Esper filters out a piece of continuous data in a certain data stream according to the screening conditions, and saves the selected data.
  • the data in the window is subjected to the specified operation (grouping, summation, averaging, etc.). ).
  • the expired data saved in the window is deleted.
  • the expiration condition described above may be the time of the window (i.e., the data over which the specified time is translated and released), the length of the window (i.e., the most advanced event is translated and released after a specified number of times).
  • For the stock price data stream use a window to filter out the price of all stocks in the last minute, and calculate the price average of all stocks in the last minute based on the filtered price.
  • the average price obtained can be used for other Data processing, when the time exceeds the last minute, the deletion window stores the price of the stock earlier than one minute.
  • the window function defined by the prior art is relatively simple, and it is impossible to implement a selective processing process on the data stream as needed.
  • Embodiments of the present invention provide a method and apparatus for processing a data stream that is capable of performing a selective processing of the data stream as needed.
  • an embodiment of the present invention provides a method for processing a data stream, including:
  • the window corresponding to the data stream is not enabled, determining whether the attribute of the specified data stream satisfies the condition for opening the window, where the specified data stream is at least one of all data streams of the data stream group;
  • the window is opened, and the data of the data stream is processed through the window;
  • an embodiment of the present invention provides an apparatus for processing a data stream, including: a receiving module, configured to receive a data stream group, and if the attribute of the specified data stream does not satisfy a condition for opening the window, receive the next data stream.
  • a group the data stream group includes at least one data stream; and a detecting module, configured to detect whether a window corresponding to the data stream is enabled;
  • a first determining module configured to determine, if the window corresponding to the data stream is not enabled, whether the attribute of the specified data stream satisfies a condition for opening the window, where the specified data stream is all data of the data stream group At least one of the streams;
  • a first startup module configured to: if the attribute of the specified data stream satisfies a condition for opening the window, open the window, and process data of the data stream through the window.
  • the method and device provided by the embodiments of the present invention can define a window according to attributes of a data stream.
  • the conditions are turned on and off, the window is turned on and off, and the data stream is selectively processed as needed.
  • the embodiment of the present invention can open or close a window as needed, thereby enabling a more complicated processing process for the data stream.
  • FIG. 1 is a flowchart of a method for processing a data stream according to Embodiment 1 of the present invention
  • FIG. 2 is a flowchart of a method for processing a data stream according to Embodiment 2 of the present invention
  • FIG. 3 is a flowchart of a specific example of a method for processing a data stream according to Embodiment 2 of the present invention
  • FIG. 4 is a flowchart of a specific example of a method for processing a data stream according to Embodiment 2 of the present invention
  • FIG. 6 is a schematic structural diagram of an apparatus for processing a data stream according to Embodiment 4 of the present invention.
  • An embodiment of the present invention provides a method for processing a data stream. As shown in FIG. 1, the method includes: Step 101: Receive a data stream group.
  • the data stream group includes at least one data stream.
  • Step 102 Detect whether a window corresponding to the data stream is enabled.
  • Step 103 If the window corresponding to the data stream is not enabled, determine whether the attribute of the specified data stream satisfies the condition for opening the window.
  • the designated data stream is at least one of all data streams of the data stream group.
  • the designated data stream may be the data stream having the corresponding window or the data stream having the corresponding window.
  • the attribute of the specified data stream may specifically be a time attribute, a price attribute, a speed attribute, a location attribute or a speed attribute of the specified data stream, and the type of the attribute of the data stream is not limited to these.
  • the attributes of the specified data stream may have one or more items.
  • the attributes of the specified data stream may include time attributes, and may also include time attributes and price attributes.
  • the attributes of the specified data stream may be from the same data stream; or, the attributes of the specified data stream are respectively from at least two different data streams in the specified data stream, for example, if a data stream is specified If the attribute includes a time attribute and a price attribute, the time attribute and the price attribute may each come from two different data streams in the specified data stream.
  • Step 104 If the attribute of the specified data stream satisfies the condition for opening the window, the window is opened, and the data of the data stream is processed through the window.
  • Step 105 If the attribute of the specified data stream does not satisfy the condition for opening the window, receive the next data stream group.
  • the method provided by the embodiment of the present invention can define the opening and closing conditions of the window according to the attributes of the data stream, realize the opening and closing functions of the window, and enable the window to perform a selective processing process on the data stream according to requirements.
  • the embodiment of the present invention can turn on or close the window as needed, thereby enabling a more complicated processing process for the data stream.
  • An embodiment of the present invention provides a method for processing a data stream. As shown in FIG. 2, the method includes: Step 201: Define a switchable window.
  • the data processing device defines a window having a switching function according to a query language in the CEP system.
  • the defined window can be based on the properties of the data stream, or The properties of his data stream, open or close the window.
  • a window is defined using CQL (Continuous Query Language).
  • CQL Continuous Query Language
  • the CQL is a query language and is well known in the art, and details are not described herein again.
  • the specific definition statement is as follows:
  • start window_condition_expression indicates the condition that the window is open
  • end_ window_condition-expression indicates that the window is closed conditions of
  • the window can be turned on or off according to the conditions specified in the definition statement.
  • the ping-pong switching is:
  • the signal will be switched more than 5 times between the fixed two base stations, and every two consecutive switching time intervals is less than 7 seconds, then it is determined to be a ping-pong switch.
  • the definition of the handover is as follows: A user is cut by the base station A to the base station B, which is a single handover of the ping-pong switch, and consecutive A->B, B->A, A->B, B->A... It is called a ping-pong switch (switching more than 5 times in a row, that is, 6 consecutive times, 7 times or more is still a ping-pong switch).
  • the end of a ping-pong switch is: There is no more switching within 7 s of the last switching interval. At the same time, other data streams with similar data arrangement patterns can also be considered as ping-pong switching.
  • the data generated by the data processing engine is used to perform data processing on the data stream having the ping-pong switching mode, and the window can be defined by CQL.
  • the definition statement is as follows:
  • the time in the definition statement belongs to the attribute of the data stream, and represents the time truncation of the data stream, that is, the time information.
  • the previous (time) is a function, and the time truncation of the previous data of the current data in the data stream can be obtained, that is, the current data.
  • the meaning of the definition statement is: Determine whether the time difference between the current data and the previous data is within 7 seconds, and if so, the window is opened; when the window is opened, for the newly arrived data, the data is judged with the previous one.
  • the time difference between the data is not greater than 7 seconds, and if so, the window is closed.
  • the window defined by the definition statement all the switching records satisfying one ping-pong switching mode can be put into the same window, and the number of records of each ping-pong switching can be obtained through subsequent counting operations, for subsequent judgment and processing. Lay the foundation.
  • Step 202 Receive a data flow group.
  • the data stream group includes at least one data stream.
  • the data processing device in the CEP system receives more than one data stream at the same time, and in step 201 defines a window for the data stream that needs to be processed, and the defined window can be based on the The properties of the corresponding data stream open or close the window.
  • the data processing device determines a data stream with ping-pong switching in the data stream group, generates a window for processing the data stream having the ping-pong switching mode, and uses the window to The data stream of the ping-pong switch is processed, and the window can obtain the time slice of the previous data of the current data according to the previous (time) function used in the definition statement, thereby obtaining the time difference between the adjacent two data, and thus retaining the phase in the window Adjacent to the two data (ie, retaining the current data and its adjacent previous data), the data retained by the window is stored in the storage unit of the data processing device.
  • Step 203 Detect whether a window corresponding to the data stream is enabled.
  • the data processing device in the CEP system detects whether the window corresponding to the data stream has been opened.
  • the data processing device can detect whether the window corresponding to the data stream has been opened by the window management module.
  • the method and the step of detecting whether the window corresponding to the data stream has been opened by the window management module are well known in the art, and are not described herein again.
  • step 204 is performed; if the data stream is If the corresponding window is already open, go to step 205.
  • Step 204 If the window corresponding to the data stream is not enabled, determine whether the attribute of the specified data stream satisfies the condition for opening the window.
  • the designated data stream is at least one of all data streams of the data stream group. If the condition for opening the window is met, step 206 is performed; if the window is not satisfied, the next data stream group is received.
  • the attribute of the specified data stream refers to an attribute of the data stream used as a condition for determining whether the window is switched or not, and may be an attribute of the data stream, or may be a plurality of data streams.
  • the data processing device determines, according to the attributes and the definition statement of the window, whether the attribute of the specified data stream satisfies the condition for opening the window, according to the defined window.
  • the attributes of the specified data stream can come from the same data stream. Further, the attributes of the specified data stream can come from different data streams. Specifically, the following can be divided into the following cases:
  • the attributes of the specified data stream are from the same data stream, and there is only one attribute for the specified data stream.
  • the attribute of the specified data stream is specifically a time attribute.
  • window b is the window of data stream a, and window b can obtain the time slice of the previous data of the current data of data stream a according to the previous (time) function used in the definition statement, thereby obtaining data stream a
  • the specified data stream is data stream a.
  • the window b can obtain the time slice of the previous data of the current data stream of another data stream b in the same data stream group according to the previous (time) function used in the definition statement, that is, Get the attributes of other data streams except data stream a as the specified data stream (The data stream is specified here as the data stream b) to determine whether window b is enabled.
  • the attributes of the specified data stream are from the same data stream, and there are at least two attributes for the specified data stream.
  • the attributes of the specified data stream are from the same data stream, and the attributes of the specified data stream are the destination attribute and the source attribute.
  • the attribute of the data stream a has the target attribute and the source attribute origin.
  • the window b can obtain the target attribute value of the previous data of the current data in the data stream b according to the previous (target) function used in the definition statement, and the data is defined according to the definition.
  • the attributes of the specified data stream are from different data streams. There are at least two attributes of the specified data stream, and the attributes of the specified data stream can come from the data stream itself with the window and other data streams without the window, or all of them from other data streams.
  • a data stream that does not have a window is not limited herein.
  • the attributes of the specified data stream have time attributes and price attributes, and are derived from different data streams in the same data stream group.
  • the price attribute in the attribute of the data stream that is, the value of the price attribute: [A.price>5, B.price>8], that is, in the current data stream (can be data stream A, data stream B, or other data stream) window operation, when data in data stream A
  • the window of the data stream W is the window w; after that, when the price attribute value of the data reaches >8 in the data stream B, the window ⁇ is closed in the current stream.
  • the window w is opened in the current stream; after that, when the time attribute value of the data reaches >8 in the B stream, the current stream is closed in the current stream.
  • the window w that is, the attribute for judging the opening of the window and the attribute for judging the closing of the window may be different.
  • the window implementation process is similar to the above, and is not described in this section.
  • the data processing device can open a window according to the relationship between different data streams through a defined window to meet more complex business scenarios.
  • Step 205 Determine whether the attribute of the specified data stream satisfies the condition for closing the window.
  • step 207 If the attribute of the specified data stream satisfies the condition for closing the window, step 207 is performed; if the attribute of the specified data stream does not satisfy the condition for closing the window, step 208 is performed.
  • the attribute of the specified data stream refers to an attribute of the data stream used as a condition for determining whether the window is switched or not, and may be an attribute of the data stream, or may be a plurality of data streams.
  • the data processing device determines, according to the attributes and the definition statement of the window, whether the attribute of the specified data stream satisfies the condition for opening the window, according to the defined window.
  • the attributes of the specified data stream can come from the same data stream. Further, the attributes of the specified data stream can come from different data streams. Specifically, the following can be divided into the following cases:
  • the attributes of the specified data stream are from the same data stream, and there is only one attribute for the specified data stream.
  • the attribute of the specified data stream is specifically a time attribute.
  • window b is the window of data stream a
  • window b can obtain the time slice of the previous data of the current data of data stream a according to the previous (time) function used in the definition statement, thereby obtaining data stream a
  • window b is on, if A is greater than 7 seconds, window b is closed.
  • the specified data stream is data stream a.
  • the window b can obtain the time slice of the previous data of the current data stream of another data stream b in the same data stream group according to the previous (time) function used in the definition statement, that is, The attribute of the data stream other than the data stream a is obtained as an attribute of the specified data stream (in this case, the data stream is the data stream b), to determine whether the opened window b is closed.
  • the attributes of the specified data stream are from the same data stream, and there are at least two attributes for the specified data stream.
  • the attributes of the specified data stream are from the same data stream, and the attributes of the specified data stream are the destination attribute and the source attribute.
  • the attribute of the data stream a has the target attribute and the source attribute origin.
  • the window b can obtain the target attribute value of the previous data of the current data in the data stream b according to the previous (target) function used in the definition statement, and the data is defined according to the definition.
  • the attributes of the specified data stream are from different data streams.
  • the attributes of the specified data stream have at least two items, and the attributes of the specified data stream can come from the data stream itself with the window and other windows.
  • the data stream of the port may also be from other data streams that do not have a window, and is not limited herein.
  • a specific example is as described in the third of step 204.
  • the data processing device can open a window according to the relationship between different data streams through a defined window to meet more complex business scenarios.
  • the data processing device can perform data processing on the specified data stream according to the relationship between different data streams through the defined window, thereby implementing more complicated data stream processing.
  • Step 206 the window is opened.
  • the data of the data stream is processed through the window.
  • Step 207 close the window.
  • Step 208 processing the data retained in the window.
  • the method for processing the data retained in the window includes: grouping, summing, or averaging, and the like. Methods for processing data retained in a window are well known in the art and will not be described again.
  • the method provided by the embodiment of the present invention can define the opening and closing conditions of the window according to the attributes of the data stream, realize the opening and closing functions of the window, and enable the window to perform a selective processing process on the data stream according to requirements. It is also possible to define the opening and closing conditions of the window according to the attributes of the data streams in the plurality of data streams, and realize the opening and closing functions of the window, so that the window can process the data stream according to the relationship between different data streams. Compared with the prior art, the embodiment of the present invention can open or close a window as needed, thereby enabling a more complicated processing process for the data stream.
  • An embodiment of the present invention provides an apparatus for processing a data stream.
  • the apparatus includes: a receiving module 501, a detecting module 502, a first determining module 503, and a first starting module 504.
  • the receiving module 501 is configured to receive a data stream group.
  • the detecting module 502 is configured to detect whether a window corresponding to the data stream is turned on.
  • the first determining module 503 is configured to determine, if the window corresponding to the data stream is not enabled, whether the attribute of the specified data stream satisfies the condition for opening the window, where the specified data stream is all of the data stream group At least one of the data streams.
  • the first startup module 504 is configured to: if the attribute of the specified data stream satisfies the condition for opening the window, open the window, and process data of the data stream through the window.
  • the next data stream group is received by the receiving module 501.
  • the device provided by the embodiment of the present invention can receive the data stream through the receiving module, and according to the attribute of the data stream, the detecting module detects whether the window is opened, and determines whether the window meets the open condition by the first determining module, and then passes the first start.
  • the module launches the window and implements a selective processing of the data stream as needed to implement the window opening function.
  • it can also define the opening condition of the window according to the attributes of other data streams, realize the opening function of the window, and enable the window to process the data according to the relationship between different data streams.
  • the embodiment of the present invention can open the window as needed, thereby enabling a more complicated processing process for the data stream.
  • An embodiment of the present invention provides an apparatus for processing a data stream.
  • the apparatus includes: a receiving module 501, a detecting module 502, a first determining module 503, a first starting module 504, a defining module 505, and a second determining The module 506, the shutdown module 507, the second startup module 508, and the data processing module 509.
  • a definition module 505 is defined for defining a switchable window.
  • the receiving module 501 is configured to receive a data stream group.
  • the data stream group includes at least one data stream, the attributes of the specified data stream are from the same data stream, or the attributes of the specified data stream are respectively from at least two different data in the specified data stream. flow.
  • the attribute of the specified data stream does not satisfy the condition for opening the window, then receiving A data stream group, the data stream group including at least one data stream.
  • the detecting module 502 is configured to detect whether a window corresponding to the data stream is enabled.
  • the first determining module 503 is configured to determine, if the window corresponding to the data stream is not enabled, whether the attribute of the specified data stream satisfies the condition for opening the window.
  • the designated data stream is at least one of all data streams of the data stream group. Further, the attribute of the specified data stream is respectively derived from at least two different data streams in the specified data stream, and the first determining module is specifically configured to determine, according to at least one of a time attribute and a price attribute, whether Meet the conditions to open this window.
  • the second determining module 506 is configured to determine, if the window corresponding to the data stream is already open, whether the attribute of the specified data stream meets the condition for closing the window.
  • the designated data stream is at least one of all data streams of the data stream group. Further, the attribute of the specified data stream is respectively derived from at least two different data streams in the specified data stream, and the first determining module is specifically configured to determine, according to at least one of a time attribute and a price attribute, whether Meet the conditions to open this window.
  • the first startup module 504 is configured to: if the attribute of the specified data stream satisfies the condition for opening the window, open the window, and process data of the data stream through the window.
  • the next data stream group is received by the receiving module 501.
  • the module 507 is closed for closing the window if the condition for closing the window is met.
  • the second startup module 508 is configured to process the data of the data stream by the data processing module 509 if the attribute of the specified data stream does not satisfy the condition for closing the window.
  • the data processing module 509 is configured to process data retained in the window.
  • the method for processing the data retained in the window may be: grouping, summing, or averaging, and the like.
  • the method of processing the data retained in the window has been The domain is well known and will not be described here.
  • the device provided by the embodiment of the present invention can receive the data stream through the receiving module, and according to the attribute of the data stream, the detecting module detects whether the window is opened, and determines whether the window meets the opening condition by the first determining module, and passes the second judgment.
  • the module determines whether the window satisfies the closed condition, and then starts the window through the first startup module and implements a selective processing process on the data stream according to the need, or closes the window satisfying the closing condition by closing the module, thereby implementing the window opening and closing function.
  • it can also define the opening and closing conditions of the window according to the attributes of other data streams, realize the opening and closing function of the window, and enable the window to process the data according to the relationship between different data streams.
  • the embodiment of the present invention can open or close a window as needed, thereby enabling a more complicated processing process for the data stream.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Disclosed are a method and device for processing a data stream, which relate to the field of information processing. The method of the present invention comprises: receiving a data stream group; detecting whether a window corresponding to the data stream is opened; if the window corresponding to the data stream is not opened, judging whether a specified attribute of the data stream satisfies a condition of opening the window; if the specified attribute of the data stream satisfies the condition of opening the window, opening the window, and processing data of the data stream through the window; and if the specified attribute of the data stream does not satisfy the condition of opening the window, receiving a next data stream group. The present invention is applicable to processing of a data stream.

Description

处理数据流的方法及装置 技术领域  Method and device for processing data stream
本发明涉及信息处理领域, 尤其涉及一种处理数据流的方法及装置。 背景技术  The present invention relates to the field of information processing, and in particular, to a method and apparatus for processing a data stream. Background technique
随着信息处理技术的发展, 需要处理的数据量急剧增多, 传统的静态数 据处理设备已无法满足需求, 便产生了基于数据流的数据处理技术, 数据流 是指一串具有时序性的, 连续动态生成的数据, 即数据流由一系列数据组成, 且这些数据在时间上是连续的。 CEP ( Complex Event Processing , 复杂事件处 理)技术就是一种用于处理数据流的数据处理技术。 CEP ***能够通过分析 数据流中的不同数据, 获取数据之间的关系, 再根据这些数据及数据间的关 系获得更高级的数据及商业流程。  With the development of information processing technology, the amount of data that needs to be processed has increased dramatically. Traditional static data processing equipment has been unable to meet the demand, and data processing technology based on data stream has been generated. Data stream refers to a series of sequential, continuous Dynamically generated data, that is, a data stream consists of a series of data that is contiguous in time. CEP (Complex Event Processing) technology is a data processing technique for processing data streams. The CEP system is able to obtain the relationship between the data by analyzing different data in the data stream, and then obtain more advanced data and business processes based on the relationship between the data and the data.
使用 CEP***进行数据处理时, 往往需要定义一个窗口, 该窗口根据筛 选条件对某一条数据流中一段连续的数据进行 选, 并对 选出的数据进行 处理。  When using the CEP system for data processing, it is often necessary to define a window that selects a piece of continuous data in a data stream based on the screening criteria and processes the selected data.
例如: Esper是一种数据流处理程序引擎。 Esper定义的窗口根据筛选条 件筛选出某一条数据流中的一段连续的数据, 并将 选出的数据进行保存, 同时, 窗口中的数据被进行指定的运算(分组、 求和、 求平均值等)。 当数据 流的属性满足过期条件时, 则删除窗口中保存的过期数据。 上述的过期条件 可以是窗口的时间 (即超过指定时间的数据被译放出窗口)、 窗口的长度(即 超过指定个数后, 最先进来的事件被译放出窗口)等。 例如: 对于股票价格 的数据流, 使用一个窗口筛选出最后一分钟内所有股票的价格, 并根据筛选 出的价格统计最后一分钟内所有股票的价格均值, 所求出的价格均值可以用 于其他数据处理, 当时间超过了最后一分钟, 删除窗口储存的时间早于一分 钟的股票的价格。  For example: Esper is a data stream handler engine. The window defined by Esper filters out a piece of continuous data in a certain data stream according to the screening conditions, and saves the selected data. At the same time, the data in the window is subjected to the specified operation (grouping, summation, averaging, etc.). ). When the attribute of the data stream satisfies the expiration condition, the expired data saved in the window is deleted. The expiration condition described above may be the time of the window (i.e., the data over which the specified time is translated and released), the length of the window (i.e., the most advanced event is translated and released after a specified number of times). For example: For the stock price data stream, use a window to filter out the price of all stocks in the last minute, and calculate the price average of all stocks in the last minute based on the filtered price. The average price obtained can be used for other Data processing, when the time exceeds the last minute, the deletion window stores the price of the stock earlier than one minute.
在实现上述发明的过程中, 发明人发现现有技术中至少存在如下问题: 现有技术所定义的窗口功能较为简单, 无法实现根据需要对数据流进行 有选择的处理过程。 In the process of realizing the above invention, the inventors found that at least the following problems exist in the prior art: The window function defined by the prior art is relatively simple, and it is impossible to implement a selective processing process on the data stream as needed.
发明内容 Summary of the invention
本发明的实施例提供一种处理数据流的方法及装置, 能够根据需要对数 据流进行有选择的处理过程。  Embodiments of the present invention provide a method and apparatus for processing a data stream that is capable of performing a selective processing of the data stream as needed.
为达到上述目的, 本发明的实施例釆用如下技术方案:  In order to achieve the above object, embodiments of the present invention use the following technical solutions:
一方面, 本发明的实施例提供一种处理数据流的方法, 包括:  In one aspect, an embodiment of the present invention provides a method for processing a data stream, including:
接收数据流组, 所述数据流组中包括至少一个数据流;  Receiving a data stream group, where the data stream group includes at least one data stream;
检测所述数据流所对应的窗口是否已开启;  Detecting whether a window corresponding to the data stream is turned on;
若所述数据流所对应的窗口没有开启, 则判断指定数据流的属性是否满 足开启该窗口的条件, 所述指定数据流为所述数据流组的所有数据流中的至 少一个;  If the window corresponding to the data stream is not enabled, determining whether the attribute of the specified data stream satisfies the condition for opening the window, where the specified data stream is at least one of all data streams of the data stream group;
如果所述指定数据流的属性满足开启该窗口的条件, 则开启该窗口, 并 通过该窗口处理所述数据流的数据;  If the attribute of the specified data stream satisfies the condition for opening the window, the window is opened, and the data of the data stream is processed through the window;
如果所述指定数据流的属性不满足开启该窗口的条件, 则接收下一个数 据流组。  If the attribute of the specified data stream does not satisfy the condition for opening the window, the next data stream group is received.
另一方面, 本发明的实施例提供一种处理数据流的装置, 包括: 接收模块, 用于接收数据流组, 如果指定数据流的属性不满足开启该窗 口的条件, 则接收下一个数据流组, 所述数据流组中包括至少一个数据流; 检测模块, 用于检测所述数据流所对应的窗口是否已开启;  In another aspect, an embodiment of the present invention provides an apparatus for processing a data stream, including: a receiving module, configured to receive a data stream group, and if the attribute of the specified data stream does not satisfy a condition for opening the window, receive the next data stream. a group, the data stream group includes at least one data stream; and a detecting module, configured to detect whether a window corresponding to the data stream is enabled;
第一判断模块, 用于若所述数据流所对应的窗口没有开启, 则判断所述 指定数据流的属性是否满足开启该窗口的条件, 所述指定数据流为所述数据 流组的所有数据流中的至少一个;  a first determining module, configured to determine, if the window corresponding to the data stream is not enabled, whether the attribute of the specified data stream satisfies a condition for opening the window, where the specified data stream is all data of the data stream group At least one of the streams;
第一启动模块, 用于如果所述指定数据流的属性满足开启该窗口的条件, 则开启该窗口, 并通过该窗口处理所述数据流的数据。  And a first startup module, configured to: if the attribute of the specified data stream satisfies a condition for opening the window, open the window, and process data of the data stream through the window.
本发明实施例提供的方法及装置, 能够根据数据流的属性, 定义窗口的 开启及关闭条件, 实现窗口的开启和关闭功能, 实现根据需要对数据流进行 有选择的处理过程。 与现有技术相比, 本发明实施例能够根据需要开启或关 闭窗口, 从而能够实现对数据流更为复杂的处理过程。 The method and device provided by the embodiments of the present invention can define a window according to attributes of a data stream. The conditions are turned on and off, the window is turned on and off, and the data stream is selectively processed as needed. Compared with the prior art, the embodiment of the present invention can open or close a window as needed, thereby enabling a more complicated processing process for the data stream.
附图说明 DRAWINGS
为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例描述中 所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的 前提下, 还可以根据这些附图获得其它的附图。  In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly described. It is obvious that the drawings in the following description are only some embodiments of the present invention. Other drawings may also be obtained from those of ordinary skill in the art in light of the inventive work.
图 1为本发明实施例 1提供的处理数据流的方法的流程图;  1 is a flowchart of a method for processing a data stream according to Embodiment 1 of the present invention;
图 2为本发明实施例 2提供的处理数据流的方法的流程图;  2 is a flowchart of a method for processing a data stream according to Embodiment 2 of the present invention;
图 3为本发明实施例 2提供的处理数据流的方法的具体实例的流程图; 图 4为本发明实施例 2提供的处理数据流的方法的具体实例的流程图; 图 5为本发明实施例 3提供的处理数据流的装置的结构示意图;  3 is a flowchart of a specific example of a method for processing a data stream according to Embodiment 2 of the present invention; FIG. 4 is a flowchart of a specific example of a method for processing a data stream according to Embodiment 2 of the present invention; A schematic structural diagram of an apparatus for processing a data stream provided in Example 3;
图 6为本发明实施例 4提供的处理数据流的装置的结构示意图。  FIG. 6 is a schematic structural diagram of an apparatus for processing a data stream according to Embodiment 4 of the present invention.
具体实施方式 detailed description
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而 不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其它实施例, 都属于本发明保护的范围。  The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
为使本发明技术方案的优点更加清楚, 下面结合附图和实施例对本发明 作详细说明。  In order to make the advantages of the technical solutions of the present invention clearer, the present invention will be described in detail below with reference to the accompanying drawings and embodiments.
实施例 1  Example 1
本发明实施例提供一种处理数据流的方法, 如图 1所示, 该方法包括: 步骤 101 , 接收数据流组。  An embodiment of the present invention provides a method for processing a data stream. As shown in FIG. 1, the method includes: Step 101: Receive a data stream group.
其中, 所述数据流组中包括至少一个数据流。  The data stream group includes at least one data stream.
步骤 102, 检测所述数据流所对应的窗口是否已开启。 步骤 103 , 若所述数据流所对应的窗口没有开启, 则判断指定数据流的属 性是否满足开启该窗口的条件。 Step 102: Detect whether a window corresponding to the data stream is enabled. Step 103: If the window corresponding to the data stream is not enabled, determine whether the attribute of the specified data stream satisfies the condition for opening the window.
其中, 所述指定数据流为所述数据流组的所有数据流中的至少一个。 可 选的, 该指定数据流可以是上述有对应窗口的数据流, 也可以不是上述有对 应窗口的数据流。  The designated data stream is at least one of all data streams of the data stream group. Optionally, the designated data stream may be the data stream having the corresponding window or the data stream having the corresponding window.
进一步的, 所述指定数据流的属性具体可以是所述指定数据流的时间属 性、 价格属性、 速度属性、 位置属性或速度属性等, 数据流的属性的种类不 限于这些。 在实际应用中, 指定数据流的属性可以有一项或多项, 例如, 指 定数据流的属性可以包括时间属性, 也可以包括时间属性和价格属性。  Further, the attribute of the specified data stream may specifically be a time attribute, a price attribute, a speed attribute, a location attribute or a speed attribute of the specified data stream, and the type of the attribute of the data stream is not limited to these. In practical applications, the attributes of the specified data stream may have one or more items. For example, the attributes of the specified data stream may include time attributes, and may also include time attributes and price attributes.
更进一步的, 所述指定数据流的属性可以来自同一个数据流; 或, 所述 指定数据流的属性分别来自所述指定数据流中的至少二个不同的数据流, 例 如, 如果指定数据流的属性如果包括时间属性和价格属性, 则时间属性和所 述价格属性可以分别来自所述指定数据流中二个不同的数据流。  Further, the attributes of the specified data stream may be from the same data stream; or, the attributes of the specified data stream are respectively from at least two different data streams in the specified data stream, for example, if a data stream is specified If the attribute includes a time attribute and a price attribute, the time attribute and the price attribute may each come from two different data streams in the specified data stream.
步骤 104, 如果所述指定数据流的属性满足开启该窗口的条件, 则开启该 窗口, 并通过该窗口处理所述数据流的数据。  Step 104: If the attribute of the specified data stream satisfies the condition for opening the window, the window is opened, and the data of the data stream is processed through the window.
步骤 105 , 如果所述指定数据流的属性不满足开启该窗口的条件, 则接收 下一个数据流组。  Step 105: If the attribute of the specified data stream does not satisfy the condition for opening the window, receive the next data stream group.
本发明实施例提供的方法, 能够根据数据流的属性, 定义窗口的开启及 关闭条件, 实现窗口的开启和关闭功能, 使窗口能够实现根据需要对数据流 进行有选择的处理过程。 与现有技术相比, 本发明实施例能够根据需要开启 或关闭窗口, 从而能够实现对数据流更为复杂的处理过程。  The method provided by the embodiment of the present invention can define the opening and closing conditions of the window according to the attributes of the data stream, realize the opening and closing functions of the window, and enable the window to perform a selective processing process on the data stream according to requirements. Compared with the prior art, the embodiment of the present invention can turn on or close the window as needed, thereby enabling a more complicated processing process for the data stream.
实施例 2  Example 2
本发明实施例提供一种处理数据流的方法, 如图 2所示, 该方法包括: 步骤 201 , 定义可开关窗口。  An embodiment of the present invention provides a method for processing a data stream. As shown in FIG. 2, the method includes: Step 201: Define a switchable window.
具体的,在本实施例中,数据处理设备根据 CEP***中的查询语言定义具 有开关功能的窗口。 其中, 经过定义的窗口能够根据本数据流的属性, 或其 他数据流的属性, 开启或关闭窗口。 Specifically, in the embodiment, the data processing device defines a window having a switching function according to a query language in the CEP system. Where the defined window can be based on the properties of the data stream, or The properties of his data stream, open or close the window.
其中, 窗口之间不存在有重叠的情况。 当一个窗口开启时, 在没有关闭 的情况下, 不会有下一个窗口的开启。  There is no overlap between the windows. When a window is opened, there will be no opening of the next window without being closed.
例如:  E.g:
使用 CQL ( Continuous Query Language, 连续查询语言)对一个窗口进行 定义。 其中, CQL为一种查询语言, 且已为本领域所熟知, 在此不再赘述。 具体的定义语句如下:  A window is defined using CQL (Continuous Query Language). The CQL is a query language and is well known in the art, and details are not described herein again. The specific definition statement is as follows:
[start— window— condition— expression,end— window— condition— expression] 其中,在对窗口进行的条件定义中, start window condition expression指 明了窗口开启的条件; end— window— condition— expression指明了窗口关闭的条 件。  [start_ window_condition_expression,end_ window_condition-expression] where, in the conditional definition of the window, the start window condition expression indicates the condition that the window is open; end_ window_condition-expression indicates that the window is closed conditions of.
即通过以上定义语句对窗口进行定义后, 窗口能够根据定义语句中所指 明的条件开启或关闭。  That is, after the window is defined by the above definition statement, the window can be turned on or off according to the conditions specified in the definition statement.
再例如:  Another example:
如图 3所示, 为使用流处理技术对通信技术中的乒乓切换现象进行过滤及 提取, 所述乒乓切换为:  As shown in FIG. 3, in order to filter and extract the ping-pong switching phenomenon in the communication technology by using a stream processing technology, the ping-pong switching is:
在移动通讯设备的一次通话过程中, 信号会在固定两个基站间发生 5次以 上切换, 且每连续的两次切换时间间隔小于 7秒, 则判定为乒乓切换。 其中, 切换的定义为: 一个用户由基站 A切到基站 B, 是乒乓切换的单次切换, 连续 的 A->B、 B->A、 A->B、 B->A... 切换称为一次乒乓切换(连续 5次以上切换, 即连续的 6次、 7次或者更多次仍然是一次乒乓切换) 。 一次乒乓切换的结束 为: 在最后一个切换的时间间隔内 7s内没有再发生切换。 同时, 其他具有类似 数据排列模式的数据流也可视为乒乓切换。  During a call of the mobile communication device, the signal will be switched more than 5 times between the fixed two base stations, and every two consecutive switching time intervals is less than 7 seconds, then it is determined to be a ping-pong switch. The definition of the handover is as follows: A user is cut by the base station A to the base station B, which is a single handover of the ping-pong switch, and consecutive A->B, B->A, A->B, B->A... It is called a ping-pong switch (switching more than 5 times in a row, that is, 6 consecutive times, 7 times or more is still a ping-pong switch). The end of a ping-pong switch is: There is no more switching within 7 s of the last switching interval. At the same time, other data streams with similar data arrangement patterns can also be considered as ping-pong switching.
使用数据处理引擎生成的窗口对具有乒乓切换模式的数据流进行数据处 理, 可以通过 CQL对该窗口进行定义, 定义语句如下:  The data generated by the data processing engine is used to perform data processing on the data stream having the ping-pong switching mode, and the window can be defined by CQL. The definition statement is as follows:
[time-previous(time)<=7 second, time-previous(time)>7 second] 其中, 定义语句中的 time属于数据流的属性, 表示数据流的时间截, 即时 间信息, previous(time)是一个函数,可以获得数据流中当前数据的前一个数据 的时间截, 即当前数据的前一个数据的 time属性值。 该定义语句的含义为: 判 断当前数据与前一个数据之间的时间差是否在 7秒之内,如果是,则窗口开启; 当窗口开启后, 对于新到达的数据, 再判断该数据与前一个数据之间的时间 差不是大于 7秒, 如果是, 则窗口关闭。 经过该定义语句定义的窗口, 可以将 所有满足一次乒乓切换模式的所有切换记录放入到同一个窗口内, 并通过后 续的计数运算, 获得每次乒乓切换的记录数, 为后续的判断、 处理奠定基础。 [time-previous(time)<=7 second, time-previous(time)>7 second] The time in the definition statement belongs to the attribute of the data stream, and represents the time truncation of the data stream, that is, the time information. The previous (time) is a function, and the time truncation of the previous data of the current data in the data stream can be obtained, that is, the current data. The value of the time attribute of the previous data. The meaning of the definition statement is: Determine whether the time difference between the current data and the previous data is within 7 seconds, and if so, the window is opened; when the window is opened, for the newly arrived data, the data is judged with the previous one. The time difference between the data is not greater than 7 seconds, and if so, the window is closed. Through the window defined by the definition statement, all the switching records satisfying one ping-pong switching mode can be put into the same window, and the number of records of each ping-pong switching can be obtained through subsequent counting operations, for subsequent judgment and processing. Lay the foundation.
步骤 202, 接收数据流组。  Step 202: Receive a data flow group.
其中, 所述数据流组中包括至少一个数据流。  The data stream group includes at least one data stream.
具体的,在本实施例中, CEP***中的数据处理设备在同一时间接收到一 个以上的数据流, 并在步骤 201中对需要进行处理的数据流定义了窗口, 经过 定义的窗口能够根据所对应的数据流的属性开启或关闭窗口。  Specifically, in this embodiment, the data processing device in the CEP system receives more than one data stream at the same time, and in step 201 defines a window for the data stream that needs to be processed, and the defined window can be based on the The properties of the corresponding data stream open or close the window.
例如:  E.g:
如图 3所示, 数据处理设备在接收到数据流组后, 确定所述数据流组中具 有乒乓切换的数据流, 生成用于处理有乒乓切换模式的数据流的窗口, 并使 用窗口对有乒乓切换的数据流进行处理, 该窗口能够根据定义语句中使用的 previous(time)函数,获取当前数据的前一个数据的时间截,从而得到相邻两个 数据间的时间差, 因此在窗口保留相邻两个数据 (即保留当前数据以及其相 邻的前一个数据), 窗口所保留的数据存储在数据处理设备的存储单元中。  As shown in FIG. 3, after receiving the data stream group, the data processing device determines a data stream with ping-pong switching in the data stream group, generates a window for processing the data stream having the ping-pong switching mode, and uses the window to The data stream of the ping-pong switch is processed, and the window can obtain the time slice of the previous data of the current data according to the previous (time) function used in the definition statement, thereby obtaining the time difference between the adjacent two data, and thus retaining the phase in the window Adjacent to the two data (ie, retaining the current data and its adjacent previous data), the data retained by the window is stored in the storage unit of the data processing device.
步骤 203 , 检测所述数据流所对应的窗口是否已开启。  Step 203: Detect whether a window corresponding to the data stream is enabled.
具体的,在本实施例中, CEP***中的数据处理设备检测数据流所对应的 窗口是否已经开启, 例如: 数据处理设备可以通过窗口管理模块来检测数据 流所对应的窗口是否已经开启。 其中, 通过窗口管理模块检测数据流所对应 的窗口是否已经开启的方法及步骤已为本领域所熟知, 在此不再赘述。  Specifically, in this embodiment, the data processing device in the CEP system detects whether the window corresponding to the data stream has been opened. For example, the data processing device can detect whether the window corresponding to the data stream has been opened by the window management module. The method and the step of detecting whether the window corresponding to the data stream has been opened by the window management module are well known in the art, and are not described herein again.
若所述数据流所对应的窗口没有开启, 则执行步骤 204; 若所述数据流所 对应的窗口已经开启, 则执行步骤 205。 If the window corresponding to the data stream is not enabled, step 204 is performed; if the data stream is If the corresponding window is already open, go to step 205.
步骤 204, 若所述数据流所对应的窗口没有开启, 判断指定数据流的属性 是否满足开启该窗口的条件。  Step 204: If the window corresponding to the data stream is not enabled, determine whether the attribute of the specified data stream satisfies the condition for opening the window.
其中, 所述指定数据流为所述数据流组的所有数据流中的至少一个。 如果满足开启该窗口的条件,则执行步骤 206;如果不满足开启该窗口的, 则接收下一个数据流组。  The designated data stream is at least one of all data streams of the data stream group. If the condition for opening the window is met, step 206 is performed; if the window is not satisfied, the next data stream group is received.
具体的, 在本实施例中, 指定数据流的属性是指被用于作为判断窗口开 关与否的条件的数据流的属性, 可以是数据流的一项属性, 也可以是数据流 的多项属性, 数据处理设备通过经过定义的窗口根据这些属性及窗口的定义 语句判断所述指定数据流的属性是否满足开启该窗口的条件。 指定数据流的 属性可以来自同一个数据流, 进一步的, 指定数据流的属性可以来自不同数 据流, 具体的, 可以分为以下几种情况:  Specifically, in this embodiment, the attribute of the specified data stream refers to an attribute of the data stream used as a condition for determining whether the window is switched or not, and may be an attribute of the data stream, or may be a plurality of data streams. Attribute, the data processing device determines, according to the attributes and the definition statement of the window, whether the attribute of the specified data stream satisfies the condition for opening the window, according to the defined window. The attributes of the specified data stream can come from the same data stream. Further, the attributes of the specified data stream can come from different data streams. Specifically, the following can be divided into the following cases:
其一:  One:
指定数据流的属性来自同一个数据流, 并且指定数据流的属性只有一项。 例如:  The attributes of the specified data stream are from the same data stream, and there is only one attribute for the specified data stream. E.g:
指定数据流的属性具体为时间属性。  The attribute of the specified data stream is specifically a time attribute.
对于数据流 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。  For data stream a, window b is the window of data stream a, and window b can obtain the time slice of the previous data of the current data of data stream a according to the previous (time) function used in the definition statement, thereby obtaining data stream a The time difference A between two adjacent data, and according to the definition statement: [time-previous(time)<=7 second, time-previous(time)>7 second] Get: If A is not more than 7 seconds, Then window b is turned on, and other data processing operations on data stream a are started. If A is greater than 7 seconds, window b is not opened and the next data stream group continues to be received. Here, the specified data stream is data stream a.
进一步的, 也可以是, 对于数据流 a, 窗口 b能够根据定义语句中使用的 previous(time)函数, 获取同一个数据流组中另外一个数据流 b当前数据的前一 个数据的时间截, 即获取除数据流 a以外的其他数据流的属性作为指定数据流 (这里指定数据流为数据流 b ) 的属性, 来判断窗口 b是否开启。 Further, for the data stream a, the window b can obtain the time slice of the previous data of the current data stream of another data stream b in the same data stream group according to the previous (time) function used in the definition statement, that is, Get the attributes of other data streams except data stream a as the specified data stream (The data stream is specified here as the data stream b) to determine whether window b is enabled.
其二:  Second:
指定数据流的属性来自同一个数据流, 并且指定数据流的属性有至少两 项。  The attributes of the specified data stream are from the same data stream, and there are at least two attributes for the specified data stream.
例如:  E.g:
指定数据流的属性来自同一个数据流, 并且具体指定数据流的属性是目 标地属性和来源地属性。  The attributes of the specified data stream are from the same data stream, and the attributes of the specified data stream are the destination attribute and the source attribute.
数据流 a的属性中有目标地属性 target和来源地属性 origin。 窗口 b能够根据 定义语句中使用的 previous(target)函数,得到数据流 a中当前数据的前一个数据 的 目 标地属性 target值 , 并才艮据定义语 句 [origin=privious(target), origin<>privious(target)] 到: 如果当前数据的来源地属性 origin值等于前一个 数据的目标地属性 target值, 则窗口 b开启, 并开始对其所对应的数据流进行数 据处理。  The attribute of the data stream a has the target attribute and the source attribute origin. The window b can obtain the target attribute value of the previous data of the current data in the data stream a according to the previous (target) function used in the definition statement, and then according to the definition statement [origin=privious(target), origin<> Privious(target)] to: If the source data origin value of the current data is equal to the target data attribute target value of the previous data, the window b is turned on, and data processing of the corresponding data stream is started.
进一步的, 也可以是, 对于数据流 a, 窗口 b能够根据定义语句中使用的 previous(target)函数, 获取数据流 b中当前数据的前一个数据的目标地属性 target值,并才艮据定义语句 [origin=privious(target), originoprivious(target)]得到: 如果当前数据的来源地属性 origin值等于前一个数据的目标地属性 target值,则 数据流 a的窗口 b开启, 并开始对其所对应的数据流进行数据处理。 即获取除 数据流 a以外的其他数据流的多个具体属性值, 来判断窗口 b是否开启。  Further, for the data stream a, the window b can obtain the target attribute value of the previous data of the current data in the data stream b according to the previous (target) function used in the definition statement, and the data is defined according to the definition. The statement [origin=privious(target), originoprivious(target)] gets: If the source value of the current data attribute is equal to the target attribute value of the previous data, the window b of the data stream a is turned on, and starts to be The corresponding data stream is processed for data. That is, a plurality of specific attribute values of the data stream other than the data stream a are obtained to determine whether the window b is turned on.
其三:  Third:
指定数据流的属性来自不同数据流, 指定数据流的属性有至少两项, 其 中, 并且指定数据流的属性可以来自具有窗口的数据流本身和其他不具有窗 口的数据流, 也可以全部来自其他不具有窗口的数据流, 在此并不限定。  The attributes of the specified data stream are from different data streams. There are at least two attributes of the specified data stream, and the attributes of the specified data stream can come from the data stream itself with the window and other data streams without the window, or all of them from other data streams. A data stream that does not have a window is not limited herein.
例如:  E.g:
指定数据流的属性有时间属性和价格属性, 并且分别来自同一数据流组 中不同的数据流。 如图 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,即用于判断窗口开启的属性以及判断窗口关闭的属 性可以不一样。 窗口实现流程与前述类似, 在本节不做累述。 The attributes of the specified data stream have time attributes and price attributes, and are derived from different data streams in the same data stream group. As shown in Figure 4, the price attribute in the attribute of the data stream, that is, the value of the price attribute: [A.price>5, B.price>8], that is, in the current data stream (can be data stream A, data stream B, or other data stream) window operation, when data in data stream A When the price attribute value is >5, the window of the data stream W is the window w; after that, when the price attribute value of the data reaches >8 in the data stream B, the window \¥ is closed in the current stream. Alternatively, when the price attribute value of the data in the A stream is >5, the window w is opened in the current stream; after that, when the time attribute value of the data reaches >8 in the B stream, the current stream is closed in the current stream. The window w, that is, the attribute for judging the opening of the window and the attribute for judging the closing of the window may be different. The window implementation process is similar to the above, and is not described in this section.
综上所述, 数据处理设备能够通过经过定义的窗口根据不同数据流之间 的关系开启窗口, 以满足更复杂的业务场景。  In summary, the data processing device can open a window according to the relationship between different data streams through a defined window to meet more complex business scenarios.
步骤 205 , 判断指定数据流的属性是否满足关闭该窗口的条件。  Step 205: Determine whether the attribute of the specified data stream satisfies the condition for closing the window.
如果指定数据流的属性满足关闭该窗口的条件, 则执行步骤 207; 如果指 定数据流的属性不满足关闭该窗口的条件, 则执行步骤 208。  If the attribute of the specified data stream satisfies the condition for closing the window, step 207 is performed; if the attribute of the specified data stream does not satisfy the condition for closing the window, step 208 is performed.
具体的, 在本实施例中, 指定数据流的属性是指被用于作为判断窗口开 关与否的条件的数据流的属性, 可以是数据流的一项属性, 也可以是数据流 的多项属性, 数据处理设备通过经过定义的窗口根据这些属性及窗口的定义 语句判断所述指定数据流的属性是否满足开启该窗口的条件。 指定数据流的 属性可以来自同一个数据流, 进一步的, 指定数据流的属性可以来自不同数 据流, 具体的, 可以分为以下几种情况:  Specifically, in this embodiment, the attribute of the specified data stream refers to an attribute of the data stream used as a condition for determining whether the window is switched or not, and may be an attribute of the data stream, or may be a plurality of data streams. Attribute, the data processing device determines, according to the attributes and the definition statement of the window, whether the attribute of the specified data stream satisfies the condition for opening the window, according to the defined window. The attributes of the specified data stream can come from the same data stream. Further, the attributes of the specified data stream can come from different data streams. Specifically, the following can be divided into the following cases:
其一:  One:
指定数据流的属性来自同一个数据流, 并且指定数据流的属性只有一项。 例如:  The attributes of the specified data stream are from the same data stream, and there is only one attribute for the specified data stream. E.g:
指定数据流的属性具体为时间属性。  The attribute of the specified data stream is specifically a time attribute.
对于数据流 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。 For data stream a, window b is the window of data stream a, and window b can obtain the time slice of the previous data of the current data of data stream a according to the previous (time) function used in the definition statement, thereby obtaining data stream a The time difference A between two adjacent data, and according to the definition statement: [time-previous(time)<=7 second, time-previous(time)>7 second] Get: Data stream a When window b is on, if A is greater than 7 seconds, window b is closed. In this example, the specified data stream is data stream a.
进一步的, 也可以是, 对于数据流 a, 窗口 b能够根据定义语句中使用的 previous(time)函数, 获取同一个数据流组中另外一个数据流 b当前数据的前一 个数据的时间截, 即获取除数据流 a以外的其他数据流的属性作为指定数据流 (这里指定数据流为数据流 b ) 的属性, 来判断已开启的窗口 b是否关闭。  Further, for the data stream a, the window b can obtain the time slice of the previous data of the current data stream of another data stream b in the same data stream group according to the previous (time) function used in the definition statement, that is, The attribute of the data stream other than the data stream a is obtained as an attribute of the specified data stream (in this case, the data stream is the data stream b), to determine whether the opened window b is closed.
其二:  Second:
指定数据流的属性来自同一个数据流, 并且指定数据流的属性有至少两 项。  The attributes of the specified data stream are from the same data stream, and there are at least two attributes for the specified data stream.
例如:  E.g:
指定数据流的属性来自同一个数据流, 并且具体指定数据流的属性是目 标地属性和来源地属性。  The attributes of the specified data stream are from the same data stream, and the attributes of the specified data stream are the destination attribute and the source attribute.
数据流 a的属性中有目标地属性 target和来源地属性 origin。 窗口 b能够根据 定义语句中使用的 previous(target)函数,得到数据流 a中当前数据的前一个数据 的 目 标地属性 target值 , 并才艮据定义语 句 [origin=privious(target), origin<>privious(target)]得到: 如果窗口 b开启后, 当前数据的 origin值不等于 前一个数据的 target值, 则关闭窗口 b。  The attribute of the data stream a has the target attribute and the source attribute origin. The window b can obtain the target attribute value of the previous data of the current data in the data stream a according to the previous (target) function used in the definition statement, and then according to the definition statement [origin=privious(target), origin<> Privious(target)] gets: If the original value of the current data is not equal to the target value of the previous data after the window b is turned on, the window b is closed.
进一步的, 也可以是, 对于数据流 a, 窗口 b能够根据定义语句中使用的 previous(target)函数, 获取数据流 b中当前数据的前一个数据的目标地属性 target值,并才艮据定义语句 [origin=privious(target), originoprivious(target)]得到: 如果窗口 b开启后, 当前数据的 origin值不等于前一个数据的 target值, 则关闭 数据流 a的窗口 b。 即获取除数据流 a以外的其他数据流的多个具体属性值, 来 判断窗口 b是否开启。  Further, for the data stream a, the window b can obtain the target attribute value of the previous data of the current data in the data stream b according to the previous (target) function used in the definition statement, and the data is defined according to the definition. The statement [origin=privious(target), originoprivious(target)] obtains: If the original value of the current data is not equal to the target value of the previous data after the window b is opened, the window b of the data stream a is closed. That is, a plurality of specific attribute values of the data stream other than the data stream a are obtained to determine whether the window b is turned on.
其三:  Third:
指定数据流的属性来自不同数据流, 指定数据流的属性有至少两项, 其 中, 并且指定数据流的属性可以来自具有窗口的数据流本身和其他不具有窗 口的数据流, 也可以全部来自其他不具有窗口的数据流, 在此并不限定。 具体实例如步骤 204中的其三所述。 The attributes of the specified data stream are from different data streams. The attributes of the specified data stream have at least two items, and the attributes of the specified data stream can come from the data stream itself with the window and other windows. The data stream of the port may also be from other data streams that do not have a window, and is not limited herein. A specific example is as described in the third of step 204.
综上所述, 数据处理设备能够通过经过定义的窗口根据不同数据流之间 的关系开启窗口, 以满足更复杂的业务场景。  In summary, the data processing device can open a window according to the relationship between different data streams through a defined window to meet more complex business scenarios.
从而, 数据处理设备能够通过经过定义的窗口根据不同数据流之间的关 系, 对指定的数据流进行数据处理, 实现更复杂的数据流处理。  Therefore, the data processing device can perform data processing on the specified data stream according to the relationship between different data streams through the defined window, thereby implementing more complicated data stream processing.
步骤 206, 开启该窗口。  Step 206, the window is opened.
通过该窗口处理所述数据流的数据。  The data of the data stream is processed through the window.
步骤 207, 关闭该窗口。  Step 207, close the window.
其中, 若关闭的窗口中留有未处理的数据, 则对这些进行处理。  Among them, if there is unprocessed data left in the closed window, these are processed.
步骤 208, 处理窗口中保留的数据。  Step 208, processing the data retained in the window.
具体的, 在本实施例中, 对窗口中保留的数据进行处理的方法包括: 分 组、 求和、 或求平均值等。 对窗口中保留的数据进行处理的方法已为本领域 所熟知, 在此不再赘述。  Specifically, in the embodiment, the method for processing the data retained in the window includes: grouping, summing, or averaging, and the like. Methods for processing data retained in a window are well known in the art and will not be described again.
本发明实施例提供的方法, 能够根据数据流的属性, 定义窗口的开启及 关闭条件, 实现窗口的开启和关闭功能, 使窗口能够实现根据需要对数据流 进行有选择的处理过程。 还能够根据多个数据流中的数据流的属性, 定义窗 口的开启及关闭条件, 实现窗口的开启和关闭功能, 使窗口能够根据不同数 据流之间的关系处理数据流。 与现有技术相比, 本发明实施例能够根据需要 对开启或关闭窗口, 从而能够实现对数据流更为复杂的处理过程。  The method provided by the embodiment of the present invention can define the opening and closing conditions of the window according to the attributes of the data stream, realize the opening and closing functions of the window, and enable the window to perform a selective processing process on the data stream according to requirements. It is also possible to define the opening and closing conditions of the window according to the attributes of the data streams in the plurality of data streams, and realize the opening and closing functions of the window, so that the window can process the data stream according to the relationship between different data streams. Compared with the prior art, the embodiment of the present invention can open or close a window as needed, thereby enabling a more complicated processing process for the data stream.
实施例 3  Example 3
本发明实施例提供一种处理数据流的装置, 如图 5 所示, 该装置包括: 接收模块 501、 检测模块 502、第一判断模块 503、第一启动模块 504。  An embodiment of the present invention provides an apparatus for processing a data stream. As shown in FIG. 5, the apparatus includes: a receiving module 501, a detecting module 502, a first determining module 503, and a first starting module 504.
接收模块 501 , 用于接收数据流组。  The receiving module 501 is configured to receive a data stream group.
其中, 如果指定数据流的属性不满足开启该窗口的条件, 则接收下一个 数据流组, 所述数据流组中包括至少一个数据流。 检测模块 502, 用于检测所述数据流所对应的窗口是否已开启。 If the attribute of the specified data stream does not satisfy the condition for opening the window, the next data stream group is received, and the data stream group includes at least one data stream. The detecting module 502 is configured to detect whether a window corresponding to the data stream is turned on.
第一判断模块 503 , 用于若所述数据流所对应的窗口没有开启, 则判断所 述指定数据流的属性是否满足开启该窗口的条件, 所述指定数据流为所述数 据流组的所有数据流中的至少一个。  The first determining module 503 is configured to determine, if the window corresponding to the data stream is not enabled, whether the attribute of the specified data stream satisfies the condition for opening the window, where the specified data stream is all of the data stream group At least one of the data streams.
第一启动模块 504, 用于如果所述指定数据流的属性满足开启该窗口的条 件, 则开启该窗口, 并通过该窗口处理所述数据流的数据。  The first startup module 504 is configured to: if the attribute of the specified data stream satisfies the condition for opening the window, open the window, and process data of the data stream through the window.
其中, 如果不满足开启该窗口的, 则通过接收模块 501接收下一个数据流 组。  If the window is not satisfied, the next data stream group is received by the receiving module 501.
本发明实施例提供的装置, 能够通过接收模块接受数据流, 并根据数据 流的属性, 通过检测模块检测窗口是否开启, 并通过第一判断模块判断窗口 是否满足开启的条件, 再通过第一启动模块启动窗口并实现根据需要对数据 流进行有选择的处理过程, 从而实现窗口的开启功能。 同时还能够根据其他 数据流的属性, 定义窗口的开启条件, 实现窗口的开启功能, 使窗口能够根 据不同数据流之间的关系处理数据。 与现有技术相比, 本发明实施例能够根 据需要对开启窗口, 从而能够实现对数据流更为复杂的处理过程。  The device provided by the embodiment of the present invention can receive the data stream through the receiving module, and according to the attribute of the data stream, the detecting module detects whether the window is opened, and determines whether the window meets the open condition by the first determining module, and then passes the first start. The module launches the window and implements a selective processing of the data stream as needed to implement the window opening function. At the same time, it can also define the opening condition of the window according to the attributes of other data streams, realize the opening function of the window, and enable the window to process the data according to the relationship between different data streams. Compared with the prior art, the embodiment of the present invention can open the window as needed, thereby enabling a more complicated processing process for the data stream.
实施例 4  Example 4
本发明实施例提供一种处理数据流的装置, 如图 6所示, 该装置包括: 接收模块 501、检测模块 502、第一判断模块 503、第一启动模块 504、定义模 块 505、第二判断模块 506、 关闭模块 507、第二启动模块 508、数据处理模块 509。  An embodiment of the present invention provides an apparatus for processing a data stream. As shown in FIG. 6, the apparatus includes: a receiving module 501, a detecting module 502, a first determining module 503, a first starting module 504, a defining module 505, and a second determining The module 506, the shutdown module 507, the second startup module 508, and the data processing module 509.
定义模块 505 , 用于定义可开关窗口。  A definition module 505 is defined for defining a switchable window.
接收模块 501 , 用于接收数据流组。  The receiving module 501 is configured to receive a data stream group.
其中, 所述数据流组中包括至少一个数据流, 所述指定数据流的属性来 自同一个数据流, 或所述指定数据流的属性分别来自所述指定数据流中的至 少二个不同的数据流。  The data stream group includes at least one data stream, the attributes of the specified data stream are from the same data stream, or the attributes of the specified data stream are respectively from at least two different data in the specified data stream. flow.
进一步的, 如果指定数据流的属性不满足开启该窗口的条件, 则接收下 一个数据流组, 所述数据流组中包括至少一个数据流。 Further, if the attribute of the specified data stream does not satisfy the condition for opening the window, then receiving A data stream group, the data stream group including at least one data stream.
检测模块 502, 用于检测所述数据流所对应的窗口是否已开启。  The detecting module 502 is configured to detect whether a window corresponding to the data stream is enabled.
第一判断模块 503 , 用于若所述数据流所对应的窗口没有开启, 则判断所 述指定数据流的属性是否满足开启该窗口的条件。  The first determining module 503 is configured to determine, if the window corresponding to the data stream is not enabled, whether the attribute of the specified data stream satisfies the condition for opening the window.
其中, 所述指定数据流为所述数据流组的所有数据流中的至少一个。 进一步的, 所述指定数据流的属性分别来自所述指定数据流中的至少二 个不同的数据流, 所述第一判断模块, 具体用于根据时间属性和价格属性中 的至少一项判断是否满足开启该窗口的条件。  The designated data stream is at least one of all data streams of the data stream group. Further, the attribute of the specified data stream is respectively derived from at least two different data streams in the specified data stream, and the first determining module is specifically configured to determine, according to at least one of a time attribute and a price attribute, whether Meet the conditions to open this window.
第二判断模块 506, 用于若所述数据流所对应的窗口已经开启, 则判断指 定数据流的属性是否满足关闭该窗口的条件。  The second determining module 506 is configured to determine, if the window corresponding to the data stream is already open, whether the attribute of the specified data stream meets the condition for closing the window.
其中, 所述指定数据流为所述数据流组的所有数据流中的至少一个。 进一步的, 所述指定数据流的属性分别来自所述指定数据流中的至少二 个不同的数据流, 所述第一判断模块, 具体用于根据时间属性和价格属性中 的至少一项判断是否满足开启该窗口的条件。  The designated data stream is at least one of all data streams of the data stream group. Further, the attribute of the specified data stream is respectively derived from at least two different data streams in the specified data stream, and the first determining module is specifically configured to determine, according to at least one of a time attribute and a price attribute, whether Meet the conditions to open this window.
第一启动模块 504, 用于如果所述指定数据流的属性满足开启该窗口的条 件, 则开启该窗口, 并通过该窗口处理所述数据流的数据。  The first startup module 504 is configured to: if the attribute of the specified data stream satisfies the condition for opening the window, open the window, and process data of the data stream through the window.
其中, 如果不满足开启该窗口的条件, 则通过接收模块 501接收下一个数 据流组。  If the condition for opening the window is not met, the next data stream group is received by the receiving module 501.
关闭模块 507 , 用于如果满足关闭该窗口的条件, 则关闭该窗口。  The module 507 is closed for closing the window if the condition for closing the window is met.
其中, 若关闭的窗口中留有未处理的数据, 则通过数据处理模块 509对这 些进行处理。  Wherein, if unprocessed data remains in the closed window, these are processed by the data processing module 509.
第二启动模块 508 , 用于如果指定数据流的属性不满足关闭该窗口的条 件, 则通过数据处理模块 509处理所述数据流的数据。  The second startup module 508 is configured to process the data of the data stream by the data processing module 509 if the attribute of the specified data stream does not satisfy the condition for closing the window.
数据处理模块 509, 用于处理窗口中保留的数据。  The data processing module 509 is configured to process data retained in the window.
具体的, 在本实施例中, 对窗口中保留的数据进行处理的方法可以是: 分组、 求和、 或求平均值等。 对窗口中保留的数据进行处理的方法已为本领 域所熟知, 在此不再赘述。 Specifically, in this embodiment, the method for processing the data retained in the window may be: grouping, summing, or averaging, and the like. The method of processing the data retained in the window has been The domain is well known and will not be described here.
该处理数据流的装置具体的操作方法已在方法实施例中详细描述, 这里 不做赘述。  The specific operation method of the device for processing the data stream has been described in detail in the method embodiment, and will not be described herein.
本发明实施例提供的装置, 能够通过接收模块接受数据流, 并根据数据 流的属性, 通过检测模块检测窗口是否开启, 并通过第一判断模块判断窗口 是否满足开启的条件, 以及通过第二判断模块判断窗口是否满足关闭的条件, 再通过第一启动模块启动窗口并实现根据需要对数据流进行有选择的处理过 程, 或通过关闭模块关闭满足关闭条件的窗口, 从而实现窗口的开启和关闭 功能。 同时, 还能够根据其他数据流的属性, 定义窗口的开启及关闭条件, 实现窗口的开启和关闭功能, 使窗口能够根据不同数据流之间的关系处理数 据。 与现有技术相比, 本发明实施例能够根据需要对开启或关闭窗口, 从而 能够实现对数据流更为复杂的处理过程。  The device provided by the embodiment of the present invention can receive the data stream through the receiving module, and according to the attribute of the data stream, the detecting module detects whether the window is opened, and determines whether the window meets the opening condition by the first determining module, and passes the second judgment. The module determines whether the window satisfies the closed condition, and then starts the window through the first startup module and implements a selective processing process on the data stream according to the need, or closes the window satisfying the closing condition by closing the module, thereby implementing the window opening and closing function. . At the same time, it can also define the opening and closing conditions of the window according to the attributes of other data streams, realize the opening and closing function of the window, and enable the window to process the data according to the relationship between different data streams. Compared with the prior art, the embodiment of the present invention can open or close a window as needed, thereby enabling a more complicated processing process for the data stream.
本领域普通技术人员可以理解实现上述实施例装置中的全部或部分流 程, 是可以通过计算机程序来指令相关的硬件来完成, 所述的程序可存储于 一计算机可读取存储介质中, 该程序在执行时, 可包括如上述各装置的实施 例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体( Read-Only Memory, ROM )或随机存^ ^己忆体 ( Random Access Memory, RAM )等。  A person skilled in the art can understand that all or part of the process of implementing the foregoing embodiment apparatus can be completed by a computer program to instruct related hardware, and the program can be stored in a computer readable storage medium. In execution, the flow of an embodiment of the various devices as described above may be included. The storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易 想到的变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保 护范围应该以权利要求的保护范围为准。  The above is only the specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any change or replacement that can be easily conceived by those skilled in the art within the technical scope of the present invention is All should be covered by the scope of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

权利要求 书 Claim
1、 一种处理数据流的方法, 其特征在于, 包括:  A method for processing a data stream, comprising:
接收数据流组, 所述数据流组中包括至少一个数据流;  Receiving a data stream group, where the data stream group includes at least one data stream;
检测所述数据流所对应的窗口是否已开启;  Detecting whether a window corresponding to the data stream is turned on;
若所述数据流所对应的窗口没有开启, 则判断指定数据流的属性是否满足 开启该窗口的条件, 所述指定数据流为所述数据流组的所有数据流中的至少一 个;  If the window corresponding to the data stream is not enabled, determining whether the attribute of the specified data stream satisfies the condition for opening the window, where the specified data stream is at least one of all data streams of the data stream group;
如果所述指定数据流的属性满足开启该窗口的条件, 则开启该窗口, 并通 过该窗口处理所述数据流的数据;  If the attribute of the specified data stream satisfies the condition for opening the window, the window is opened, and the data of the data stream is processed through the window;
如果所述指定数据流的属性不满足开启该窗口的条件, 则接收下一个数据 流组。  If the attribute of the specified data stream does not satisfy the condition for opening the window, the next data stream group is received.
2、 根据权利要求 1所述的处理数据流的方法, 其特征在于, 所述方法还包 括:  2. The method of processing a data stream according to claim 1, wherein the method further comprises:
若所述数据流所对应的窗口已经开启, 则判断指定数据流的属性是否满足 关闭该窗口的条件;  If the window corresponding to the data stream is already enabled, determining whether the attribute of the specified data stream satisfies the condition for closing the window;
如果满足关闭该窗口的条件, 则关闭该窗口;  If the condition for closing the window is met, the window is closed;
如果不满足关闭该窗口的条件, 则通过该窗口处理所述数据流的数据。 If the condition for closing the window is not met, the data of the data stream is processed through the window.
3、 根据权利要求 1或 2所述的处理数据流的方法, 其特征在于, 所述指定数 据流的属性来自同一个数据流。 3. A method of processing a data stream according to claim 1 or 2, wherein the attributes of the specified data stream are from the same data stream.
4、 根据权利要求 1或 2所述的处理数据流的方法, 其特征在于, 所述指定数 据流的属性分别来自所述指定数据流中的至少二个不同的数据流。  The method of processing a data stream according to claim 1 or 2, wherein the attributes of the specified data stream are respectively derived from at least two different data streams in the specified data stream.
5、 根据权利要求 1或 2所述的处理数据流的方法, 其特征在于, 所述指定数 据流的属性包括所述指定数据流的时间属性和价格属性中的至少一项;  The method for processing a data stream according to claim 1 or 2, wherein the attribute of the specified data stream includes at least one of a time attribute and a price attribute of the specified data stream;
所述判断指定数据流的属性是否满足开启该窗口的条件为: 根据时间属性 和价格属性中的至少一项判断是否满足开启该窗口的条件;  The determining whether the attribute of the specified data stream satisfies the condition for opening the window is: determining whether the condition for opening the window is satisfied according to at least one of the time attribute and the price attribute;
所述判断指定数据流的属性是否满足关闭所述窗口的条件为: 根据时间属 性和价格属性中的至少一项判断是否满足关闭该窗口的条件。 The determining whether the attribute of the specified data stream satisfies the condition for closing the window is: At least one of the sex and price attributes determines whether the condition for closing the window is met.
6、 一种处理数据流的装置, 其特征在于, 包括:  6. A device for processing a data stream, comprising:
接收模块, 用于接收数据流组, 如果指定数据流的属性不满足开启该窗口 的条件, 则接收下一个数据流组, 所述数据流组中包括至少一个数据流;  a receiving module, configured to receive a data stream group, if the attribute of the specified data stream does not satisfy the condition for opening the window, receive the next data stream group, where the data stream group includes at least one data stream;
检测模块, 用于检测所述数据流所对应的窗口是否已开启;  a detecting module, configured to detect whether a window corresponding to the data stream is enabled;
第一判断模块, 用于若所述数据流所对应的窗口没有开启, 则判断所述指 定数据流的属性是否满足开启该窗口的条件, 所述指定数据流为所述数据流组 的所有数据流中的至少一个;  a first determining module, configured to determine, if the window corresponding to the data stream is not enabled, whether the attribute of the specified data stream satisfies a condition for opening the window, where the specified data stream is all data of the data stream group At least one of the streams;
第一启动模块, 用于如果所述指定数据流的属性满足开启该窗口的条件, 则开启该窗口, 并通过该窗口处理所述数据流的数据。  And a first startup module, configured to: if the attribute of the specified data stream satisfies a condition for opening the window, open the window, and process data of the data stream through the window.
7、 根据权利要求 6所述的处理数据流的装置, 其特征在于, 所述装置还包 括:  The device for processing a data stream according to claim 6, wherein the device further comprises:
第二判断模块, 用于若所述数据流所对应的窗口已经开启, 则判断指定数 据流的属性是否满足关闭该窗口的条件;  a second determining module, configured to determine, if the window corresponding to the data stream is already open, whether the attribute of the specified data stream meets the condition for closing the window;
关闭模块, 用于如果满足关闭该窗口的条件, 则关闭该窗口;  Closing the module, if the condition for closing the window is met, closing the window;
第二启动模块, 用于如果不满足关闭该窗口的条件, 则通过该窗口处理所 述数据流的数据。  And a second startup module, configured to process data of the data stream through the window if the condition for closing the window is not met.
8、 根据权利要求 6或 7所述的处理数据流的装置, 其特征在于, 所述指定数 据流的属性来自同一个数据流。  8. Apparatus for processing a data stream according to claim 6 or claim 7, wherein the attributes of the specified data stream are from the same data stream.
9、 根据权利要求 6或 7所述的处理数据流的装置, 其特征在于, 所述指定数 据流的属性分别来自所述指定数据流中的至少二个不同的数据流。  9. Apparatus for processing a data stream according to claim 6 or claim 7, wherein the attributes of the specified data stream are respectively derived from at least two different data streams in the specified data stream.
10、 根据权利要求 6或 7所述的处理数据流的装置, 其特征在于, 所述指定 数据流的属性包括所述指定数据流的时间属性和价格属性中的至少一项;  The apparatus for processing a data stream according to claim 6 or 7, wherein the attribute of the specified data stream includes at least one of a time attribute and a price attribute of the specified data stream;
所述第一判断模块, 具体用于根据时间属性和价格属性中的至少一项判断 是否满足开启该窗口的条件;  The first determining module is specifically configured to determine, according to at least one of a time attribute and a price attribute, whether a condition for opening the window is met;
所述第二判断模块, 具体用于根据时间属性和价格属性中的至少一项判断 是否满足关闭该窗口的条件 c The second determining module is specifically configured to determine according to at least one of a time attribute and a price attribute Close the window satisfies the condition c
PCT/CN2011/083386 2011-12-02 2011-12-02 Method and device for processing data stream WO2013078682A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2011/083386 WO2013078682A1 (en) 2011-12-02 2011-12-02 Method and device for processing data stream
CN201180004017.9A CN103262072B (en) 2011-12-02 Process the method and device of data stream

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/083386 WO2013078682A1 (en) 2011-12-02 2011-12-02 Method and device for processing data stream

Publications (1)

Publication Number Publication Date
WO2013078682A1 true WO2013078682A1 (en) 2013-06-06

Family

ID=48534652

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/083386 WO2013078682A1 (en) 2011-12-02 2011-12-02 Method and device for processing data stream

Country Status (1)

Country Link
WO (1) WO2013078682A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9853878B2 (en) 2015-06-09 2017-12-26 International Business Machines Corporation Limiting data output from windowing operations
US10042891B2 (en) 2015-05-08 2018-08-07 International Business Machines Corporation Windowing across operators in a streaming environment

Citations (4)

* Cited by examiner, † Cited by third party
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 (en) * 2009-07-22 2010-03-31 中兴通讯股份有限公司 Event handling method and event handling equipment
CN101957832A (en) * 2009-07-16 2011-01-26 Sap股份公司 Unified window support for the flow of event data management
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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 (en) * 2009-07-16 2011-01-26 Sap股份公司 Unified window support for the flow of event data management
CN101685466A (en) * 2009-07-22 2010-03-31 中兴通讯股份有限公司 Event handling method and event handling equipment
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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10042891B2 (en) 2015-05-08 2018-08-07 International Business Machines Corporation Windowing across operators in a streaming environment
US10133784B2 (en) 2015-05-08 2018-11-20 International Business Machines Corporation Windowing across operators in a streaming environment
US11921724B2 (en) 2015-05-08 2024-03-05 International Business Machines Corporation Windowing across operators in a streaming environment
US9853878B2 (en) 2015-06-09 2017-12-26 International Business Machines Corporation Limiting data output from windowing operations
US10079750B2 (en) 2015-06-09 2018-09-18 International Business Machines Corporation Limiting data output from windowing operations

Also Published As

Publication number Publication date
CN103262072A (en) 2013-08-21

Similar Documents

Publication Publication Date Title
CN111682954B (en) Method, system, and computer readable medium for managing a network of microservices
US11693688B2 (en) Recommendation generation based on selection of selectable elements of visual representation
US10313375B2 (en) Method and apparatus for malicious attack detection in an SDN network
US9986331B2 (en) Method and apparatus for selecting main microphone
WO2010025644A1 (en) Method and terminal for preventing interruption
US8489588B2 (en) Interactive visualization of sender and recipient information in electronic communications
WO2014117573A1 (en) Method and apparatus for clearing notification icon, and storage medium
CN105426244B (en) Application process management method and application process managing device
WO2015196976A1 (en) Method and system for optimization of sliding performance of asynchronously loaded data, and mobile terminal
WO2018077052A1 (en) Upgrading method and device for virtual switch
CN111181964A (en) Security policy matching method and device, network device and storage medium
WO2016197458A1 (en) Traffic control method and apparatus
WO2016183918A1 (en) Method and device for processing storage space
WO2014166230A1 (en) Automatic recording method, apparatus, and mobile terminal
US10409620B2 (en) Spanning tree protocol warm reboot system
WO2013078682A1 (en) Method and device for processing data stream
WO2017219446A1 (en) Icon processing method and device
CN106332255A (en) Voice communication method of mobile terminal, device and mobile terminal
WO2018133801A1 (en) Apparatus and method for controlling usage of a non-optimal path
CN114494943A (en) Novel video target detection and evaluation method, device, product and storage medium
CN107623606B (en) flow table entry idle timeout detection method based on openflow switch
CN104834553B (en) Service concurrent processing method of user terminal and user terminal
WO2017177698A1 (en) Method and apparatus for clearing up process, and storage medium
CN109525512B (en) BGP neighbor establishing method and device
CN114553765B (en) OSPF neighbor oscillation processing method, device and medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11876437

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11876437

Country of ref document: EP

Kind code of ref document: A1