CN105141472A - 一种基于异或运算的流计算跟踪方法及系统 - Google Patents
一种基于异或运算的流计算跟踪方法及系统 Download PDFInfo
- Publication number
- CN105141472A CN105141472A CN201510484506.9A CN201510484506A CN105141472A CN 105141472 A CN105141472 A CN 105141472A CN 201510484506 A CN201510484506 A CN 201510484506A CN 105141472 A CN105141472 A CN 105141472A
- Authority
- CN
- China
- Prior art keywords
- stream
- data
- sub
- current
- rootid
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于异或运算的流计算跟踪方法及系统,其方法包括:步骤1:流生成器生成一个流数据并处理;步骤2:将所有子流数据分别发送到不同的流处理器中;步骤3:选取当前流处理器,将所有子流数据进行处理生成新数据;步骤4:流跟踪器将母id与第一子id做异或运算,得到第一跟踪id;步骤5:将接收新数据的下一个流处理器作为当前流处理器;步骤6:将传输到当前流处理器中的所有新数据和/或子流数据处理生成更新数据;步骤7:得到当前跟踪id,判断当前跟踪id是否为零,如果是,执行步骤8;否则,将更新数据传输至下一个流处理器,执行步骤5;步骤8:当前更新数据为空。本发明运算量小,速度快,思路简单巧妙。
Description
技术领域
本发明涉及一种基于异或运算的流计算跟踪方法及系统。
背景技术
流数据是一组顺序、大量、快速、连续到达的数据序列,一般情况下,数据流可被视为一个随时间延续而无限增长的动态数据集合。应用于网络监控、传感器网络、航空航天、气象测控和金融服务等领域。
流数据具有四个特点:
1)数据实时到达;
2)数据到达次序独立,不受应用系统所控制;
3)数据规模宏大且不能预知其最大值;
4)数据一经处理,除非特意保存,否则不能被再次取出处理,或者再次提取数据代价昂贵。
过去的网络服务提供商主要用传统的网络流量监控方法,就是采用离线分析,即先保存,在对其进行数据挖掘等处理。但实际中的一些需求是:用户要知道当前网络中的流量现状。进而根据当前状况采取可以提高服务性能的有利措施或者对有害行为进行预警等。而要在监控对象是实时、大量流数据的前提下,实现以上的需求,传统的方法是不合适的。
发明内容
本发明所要解决的技术问题是提供一种基于异或运算的基本原理,通过对流数据进行数据标记,增加跟踪器,来达到监控整个数据流是否被完全处理的目的基于异或运算的流计算跟踪方法及系统。
本发明解决上述技术问题的技术方案如下:一种基于异或运算的流计算跟踪方法,具体包括以下步骤:
步骤1:流生成器生成一个流数据,并为所述流数据匹配一个唯一对应的rootid,对所述流数据进行处理,生成至少两个子流数据和母id;
步骤2:将rootid和母id发送到流跟踪器,并将所有子流数据分别发送到不同的流处理器中,同时将rootid发送到每个流处理器中;
步骤3:按序选取一个流处理器作为当前流处理器,将传输到当前流处理器中的所有子流数据进行处理生成新数据,将新数据传输至下一个流处理器,同时将子流数据进行异或运算获得第一子id,将rootid和第一子id发送到流跟踪器;
步骤4:流跟踪器将母id与第一子id做异或运算,得到第一跟踪id;
步骤5:将接收新数据的下一个流处理器作为当前流处理器;
步骤6:将传输到当前流处理器中的所有新数据和/或子流数据进行处理生成更新数据,将更新数据传输至下一个流处理器,同时将新数据和/或子流数据进行异或运算获得当前子id,将rootid和当前子id发送到流跟踪器;
步骤7:流跟踪器将第一跟踪id与当前子id做异或运算,得到当前跟踪id,判断当前跟踪id是否为零,如果是,执行步骤8;否则,将更新数据作为新数据传输至下一个流处理器,执行步骤5;
步骤8:当前更新数据为空,对应所述rootid的流数据处理完成。
本发明的有益效果是:本发明通过对数据增加跟踪器,进行数据标记,通过简单的异或运算,解决了流数据处理中数据是否在制定的时间内完全被处理的难题。本发明运算量小,速度快,思路简单巧妙,可用于所有流计算处理平台。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述rootid将传递到流数据跟踪器以及每一个流处理器,用于作为所述流数据的唯一标识。
进一步,所述流跟踪器可同时处理多个流数据,当同时处理多个流数据时,将rootid作为唯一标识识别是否为同一流数据。
进一步,所述母id和所有子id采用64位整数进行表示。
本发明解决上述技术问题的技术方案如下:一种基于异或运算的流计算跟踪系统,包括生成模块、发送模块、处理模块、运算模块、设定模块、更新模块和判断模块;
所述生成模块用于流生成器生成一个流数据,并为所述流数据匹配一个唯一对应的rootid,对所述流数据进行处理,生成至少两个子流数据和母id;
所述发送模块用于将rootid和母id发送到流跟踪器,并将所有子流数据分别发送到不同的流处理器中,同时将rootid发送到每个流处理器中;
所述处理模块用于按序选取一个流处理器作为当前流处理器,将传输到当前流处理器中的所有子流数据进行处理生成新数据,将新数据传输至下一个流处理器,同时将子流数据进行异或运算获得第一子id,将rootid和第一子id发送到流跟踪器;
所述运算模块用于流跟踪器将母id与第一子id做异或运算,得到第一跟踪id;
所述设定模块用于将接收新数据的下一个流处理器作为当前流处理器;
所述更新模块用于将传输到当前流处理器中的所有新数据和/或子流数据进行处理生成更新数据,将更新数据传输至下一个流处理器,同时将新数据和/或子流数据进行异或运算获得当前子id,将rootid和当前子id发送到流跟踪器;
所述判断模块用于流跟踪器将第一跟踪id与当前子id做异或运算,得到当前跟踪id,判断当前跟踪id是否为零,如果是,当前更新数据为空,对应所述rootid的流数据处理完成;否则,将更新数据作为新数据传输至下一个流处理器,触发设定模块。
本发明的有益效果是:本发明通过对数据增加跟踪器,进行数据标记,通过简单的异或运算,解决了流数据处理中数据是否在制定的时间内完全被处理的难题。本发明运算量小,速度快,思路简单巧妙,可用于所有流计算处理平台。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述rootid将传递到流数据跟踪器以及每一个流处理器,用于作为所述流数据的唯一标识。
进一步,所述流跟踪器可同时处理多个流数据,当同时处理多个流数据时,将rootid作为唯一标识识别是否为同一流数据。
进一步,所述母id和所有子id采用64位整数进行表示。
在流数据处理系统中,每一个生成流数据的数据生成器会给生成的每一条数据对应一个64位的整数,作为rootid,rootid会传递给流数据跟踪器以及每一个流数据器来作为该数据的唯一标示。同时,无论是流数据生成器还是处理器,当他基于输入的数据有产生一个新的数据时,都会赋予新数据一个64位的整数id。当数据生成器将数据传递给数据处理器的时候,会告知数据跟踪器自己发送数据的rootid和生成的数据id,而数据处理器每次接收到一个数据并且处理完毕后,会告知数据跟踪器自己处理的输入数据的id和新生成的数据的id。数据跟踪器只要对这些id做一个简单的异或运算,就能判断出该rootid对应的数据是否处理完毕。
本发明数学原理:
AxorA=0.
AxorB…xorBxorA=0,其中每一个操作数出现且仅出现两次;
xor代表异或运算。
附图说明
图1为本发明所述的一种基于异或运算的流计算跟踪方法流程图;
图2为本发明所述的一种基于异或运算的流计算跟踪系统结构框图;
图3为本发明具体实施例2的流生成器的数据流向图;
图4为本发明具体实施例2的流处理器的数据流向图;
图5为本发明具体实施例2的另一个流生成器的数据流向图;
图6为本发明具体实施例2的第三个流生成器的数据流向图。
附图中,各标号所代表的部件列表如下:
1、生成模块,2、发送模块,3、处理模块,4、运算模块,5、设定模块,6、更新模块,7、判断模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,为本发明所述的一种基于异或运算的流计算跟踪方法,具体包括以下步骤:
步骤1:流生成器生成一个流数据,并为所述流数据匹配一个唯一对应的rootid,对所述流数据进行处理,生成至少两个子流数据和母id;
步骤2:将rootid和母id发送到流跟踪器,并将所有子流数据分别发送到不同的流处理器中,同时将rootid发送到每个流处理器中;
步骤3:按序选取一个流处理器作为当前流处理器,将传输到当前流处理器中的所有子流数据进行处理生成新数据,将新数据传输至下一个流处理器,同时将子流数据进行异或运算获得第一子id,将rootid和第一子id发送到流跟踪器;
步骤4:流跟踪器将母id与第一子id做异或运算,得到第一跟踪id;
步骤5:将接收新数据的下一个流处理器作为当前流处理器;
步骤6:将传输到当前流处理器中的所有新数据和/或子流数据进行处理生成更新数据,将更新数据传输至下一个流处理器,同时将新数据和/或子流数据进行异或运算获得当前子id,将rootid和当前子id发送到流跟踪器;
步骤7:流跟踪器将第一跟踪id与当前子id做异或运算,得到当前跟踪id,判断当前跟踪id是否为零,如果是,执行步骤8;否则,将更新数据作为新数据传输至下一个流处理器,执行步骤5;
步骤8:当前更新数据为空,对应所述rootid的流数据处理完成。
所述rootid将传递到流数据跟踪器以及每一个流处理器,用于作为所述流数据的唯一标识。
所述流跟踪器可同时处理多个流数据,当同时处理多个流数据时,将rootid作为唯一标识识别是否为同一流数据。
所述母id和所有子id采用64位整数进行表示。
如图2所示,为本发明所述的一种基于异或运算的流计算跟踪系统,包括生成模块1、发送模块2、处理模块3、运算模块4、设定模块5、更新模块6和判断模块7;
所述生成模块1用于流生成器生成一个流数据,并为所述流数据匹配一个唯一对应的rootid,对所述流数据进行处理,生成至少两个子流数据和母id;
所述发送模块2用于将rootid和母id发送到流跟踪器,并将所有子流数据分别发送到不同的流处理器中,同时将rootid发送到每个流处理器中;
所述处理模块3用于按序选取一个流处理器作为当前流处理器,将传输到当前流处理器中的所有子流数据进行处理生成新数据,将新数据传输至下一个流处理器,同时将子流数据进行异或运算获得第一子id,将rootid和第一子id发送到流跟踪器;
所述运算模块4用于流跟踪器将母id与第一子id做异或运算,得到第一跟踪id;
所述设定模块5用于将接收新数据的下一个流处理器作为当前流处理器;
所述更新模块6用于将传输到当前流处理器中的所有新数据和/或子流数据进行处理生成更新数据,将更新数据传输至下一个流处理器,同时将新数据和/或子流数据进行异或运算获得当前子id,将rootid和当前子id发送到流跟踪器;
所述判断模块7用于流跟踪器将第一跟踪id与当前子id做异或运算,得到当前跟踪id,判断当前跟踪id是否为零,如果是,当前更新数据为空,对应所述rootid的流数据处理完成;否则,将更新数据作为新数据传输至下一个流处理器,触发设定模块。
所述rootid将传递到流数据跟踪器以及每一个流处理器,用于作为所述流数据的唯一标识。
所述流跟踪器可同时处理多个流数据,当同时处理多个流数据时,将rootid作为唯一标识识别是否为同一流数据。
所述母id和所有子id采用64位整数进行表示。
本发明具体实施例具体1包括以下步骤:
步骤1:流生成器生成一个流数据,并为所述流数据匹配一个唯一对应的rootid,对所述流数据进行处理,生成第一流数据、第二流数据和第一id;
步骤2:将第一流数据和第二流数据分别发送到第一流处理器和第二流处理器,将rootid和第一id发送到流跟踪器;
步骤3:第一流处理器将第一流数据处理生成第一处理数据,将第一处理数据发送到第三流处理器,并根据第一流数据和第一处理数据计算获得第一处理器id,将rootid和第一处理器id发送到流跟踪器;
步骤4:流跟踪器对第一id和第一处理器id做异或运算处理,得到第一跟踪id;
步骤5:第二流处理器将第二流数据处理生成第二处理数据,将第二处理数据发送到第三流处理器,并根据第二流数据和第二处理数据计算获得第二处理器id,将rootid和第二处理器id发送到流跟踪器;
步骤6:流跟踪器对第一跟踪id和第一处理器id做异或运算处理,得到第二跟踪id;
步骤7:第三流处理器对第一处理数据和第二处理数据进行异或运算得到第三处理器id,不生成新数据,将第三处理器id发送到流跟踪器;
步骤8:流跟踪器将第二跟踪id和第三处理器id做异或运算,得到第三跟踪id,第三跟踪id为零,表明数据已处理完毕。
以下通过附图3-6具体描述本发明具体实施例2所述的基于异或运算的流计算跟踪方法的流程。
如图3所示:流生成器产生一个routeid为0001的数据流Message1,经过流生成器的处理产生两个新的数据流0010和1011,并传递给流处理器1和流处理器2。流生成器做完此操作后进行数据运算如图中虚线所示,然后将结果0001:1001发送给流跟踪器。
如图4所示:数据0010提交给流处理器1处理,流处理器1处理完毕后生成数据0110,并将数据0110传递给流处理器3处理。然后流处理器1做异或运算如果所示,并将结果0001:0100传递给流跟踪器,流跟踪器做异或运算生成结果数据0001:1101。
如图5所示:数据1011提交给流处理器2处理,流处理器1处理完毕后生成数据0111,并将数据0111传递给流处理器3处理。然后流处理器2做异或运算如果所示,并将结果0001:1100传递给流跟踪器,流跟踪器做异或运算生成结果数据0001:0001。
如图6所示:数据0110和0111提交给流处理器3处理,流处理器3处理完毕后不在生成数据,数据0001已经处理完毕。流处理器3做异或运算如果所示,并将结果0001:0001传递给流跟踪器,流跟踪器做异或运算生成结果数据0001:0000,0000表明数据0001已经处理完毕,与实际的业务处理逻辑相符。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于异或运算的流计算跟踪方法,其特征在于,具体包括以下步骤:
步骤1:流生成器生成一个流数据,并为所述流数据匹配一个唯一对应的rootid,对所述流数据进行处理,生成至少两个子流数据和母id;
步骤2:将rootid和母id发送到流跟踪器,并将所有子流数据分别发送到不同的流处理器中,同时将rootid发送到每个流处理器中;
步骤3:按序选取一个流处理器作为当前流处理器,将传输到当前流处理器中的所有子流数据进行处理生成新数据,将新数据传输至下一个流处理器,同时将子流数据进行异或运算获得第一子id,将rootid和第一子id发送到流跟踪器;
步骤4:流跟踪器将母id与第一子id做异或运算,得到第一跟踪id;
步骤5:将接收新数据的下一个流处理器作为当前流处理器;
步骤6:将传输到当前流处理器中的所有新数据和/或子流数据进行处理生成更新数据,将更新数据传输至下一个流处理器,同时将新数据和/或子流数据进行异或运算获得当前子id,将rootid和当前子id发送到流跟踪器;
步骤7:流跟踪器将第一跟踪id与当前子id做异或运算,得到当前跟踪id,判断当前跟踪id是否为零,如果是,执行步骤8;否则,将更新数据作为新数据传输至下一个流处理器,执行步骤5;
步骤8:当前更新数据为空,对应所述rootid的流数据处理完成。
2.根据权利要求1所述的一种基于异或运算的流计算跟踪方法,其特征在于,所述rootid将传递到流数据跟踪器以及每一个流处理器,用于作为所述流数据的唯一标识。
3.根据权利要求1所述的一种基于异或运算的流计算跟踪方法,其特征在于,所述流跟踪器可同时处理多个流数据,当同时处理多个流数据时,将rootid作为唯一标识识别是否为同一流数据。
4.根据权利要求1所述的一种基于异或运算的流计算跟踪方法,其特征在于,所述母id和所有子id采用64位整数进行表示。
5.一种基于异或运算的流计算跟踪系统,其特征在于,包括生成模块、发送模块、处理模块、运算模块、设定模块、更新模块和判断模块;
所述生成模块用于流生成器生成一个流数据,并为所述流数据匹配一个唯一对应的rootid,对所述流数据进行处理,生成至少两个子流数据和母id;
所述发送模块用于将rootid和母id发送到流跟踪器,并将所有子流数据分别发送到不同的流处理器中,同时将rootid发送到每个流处理器中;
所述处理模块用于按序选取一个流处理器作为当前流处理器,将传输到当前流处理器中的所有子流数据进行处理生成新数据,将新数据传输至下一个流处理器,同时将子流数据进行异或运算获得第一子id,将rootid和第一子id发送到流跟踪器;
所述运算模块用于流跟踪器将母id与第一子id做异或运算,得到第一跟踪id;
所述设定模块用于将接收新数据的下一个流处理器作为当前流处理器;
所述更新模块用于将传输到当前流处理器中的所有新数据和/或子流数据进行处理生成更新数据,将更新数据传输至下一个流处理器,同时将新数据和/或子流数据进行异或运算获得当前子id,将rootid和当前子id发送到流跟踪器;
所述判断模块用于流跟踪器将第一跟踪id与当前子id做异或运算,得到当前跟踪id,判断当前跟踪id是否为零,如果是,当前更新数据为空,对应所述rootid的流数据处理完成;否则,将更新数据作为新数据传输至下一个流处理器,触发设定模块。
6.根据权利要求5所述的一种基于异或运算的流计算跟踪系统,其特征在于,所述rootid将传递到流数据跟踪器以及每一个流处理器,用于作为所述流数据的唯一标识。
7.根据权利要求5所述的一种基于异或运算的流计算跟踪系统,其特征在于,所述流跟踪器可同时处理多个流数据,当同时处理多个流数据时,将rootid作为唯一标识识别是否为同一流数据。
8.根据权利要求5所述的一种基于异或运算的流计算跟踪系统,其特征在于,所述母id和所有子id采用64位整数进行表示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510484506.9A CN105141472A (zh) | 2015-08-07 | 2015-08-07 | 一种基于异或运算的流计算跟踪方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510484506.9A CN105141472A (zh) | 2015-08-07 | 2015-08-07 | 一种基于异或运算的流计算跟踪方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105141472A true CN105141472A (zh) | 2015-12-09 |
Family
ID=54726689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510484506.9A Pending CN105141472A (zh) | 2015-08-07 | 2015-08-07 | 一种基于异或运算的流计算跟踪方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105141472A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021212385A1 (zh) * | 2020-04-22 | 2021-10-28 | 深圳市欢太科技有限公司 | 数据检测方法、装置、服务器以及数据处理系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103346901A (zh) * | 2013-06-07 | 2013-10-09 | 中国科学院信息工程研究所 | 一种面向数据流处理的元组跟踪方法及系统 |
CN103699599A (zh) * | 2013-12-13 | 2014-04-02 | 华中科技大学 | 一种基于Storm实时流计算框架的消息可靠处理保障方法 |
-
2015
- 2015-08-07 CN CN201510484506.9A patent/CN105141472A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103346901A (zh) * | 2013-06-07 | 2013-10-09 | 中国科学院信息工程研究所 | 一种面向数据流处理的元组跟踪方法及系统 |
CN103699599A (zh) * | 2013-12-13 | 2014-04-02 | 华中科技大学 | 一种基于Storm实时流计算框架的消息可靠处理保障方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021212385A1 (zh) * | 2020-04-22 | 2021-10-28 | 深圳市欢太科技有限公司 | 数据检测方法、装置、服务器以及数据处理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jiang et al. | A short-term and high-resolution distribution system load forecasting approach using support vector regression with hybrid parameters optimization | |
CN105095961A (zh) | 一种人工神经网络和脉冲神经网络的混合系统 | |
CN105095966A (zh) | 人工神经网络和脉冲神经网络的混合计算系统 | |
GB2602415A (en) | Labeling images using a neural network | |
CN107729322A (zh) | 分词方法及装置、建立句子向量生成模型方法及装置 | |
CN110149207A (zh) | 基于机器学习的新型连续变量量子密钥分发方法 | |
CN109543083B (zh) | 一种多元电网实时数据中异常数据的检测方法 | |
Zheng et al. | Real-time transient stability assessment based on deep recurrent neural network | |
Moiseev et al. | Intelligent decision-making support on the level of encryption of information transmitted in the UMV information exchange channels | |
CN106712928A (zh) | 基于大数据彩虹表的解密方法和装置 | |
CN105224577A (zh) | 一种多标签文本分类方法及系统 | |
CN105141472A (zh) | 一种基于异或运算的流计算跟踪方法及系统 | |
CN107168250A (zh) | 一种包装检测任务的自动分配方法及服务器 | |
CN104879295A (zh) | 一种基于多层流模型和故障树最小割集的大型复杂系统故障诊断方法 | |
US11340601B2 (en) | Disturbance source positioning method | |
CN117094412A (zh) | 针对非独立同分布医疗场景下的联邦学习方法和装置 | |
CN106844608A (zh) | 探测和切换数据的方法、装置和电子设备 | |
CN105302894A (zh) | 一种基于并行关联规则的舆情热点跟踪方法与跟踪装置 | |
CN106058856B (zh) | 一种快速分析电网静态安全的方法 | |
Guerriero et al. | A repeated significance test with applications to sequential detection in sensor networks | |
CN109684856A (zh) | 一种针对MapReduce计算的数据保密方法及系统 | |
CN105577769A (zh) | 一种多路高端计算机系统中的资源分配系统 | |
Kulkarni et al. | Mobile agent based distributed data mining | |
GB2608529A (en) | Graph convolutional networks for video grounding | |
MENG | Dynamic information spreading model based on online social network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151209 |