CN113961342B - 边云协同的复杂事件检测方法 - Google Patents
边云协同的复杂事件检测方法 Download PDFInfo
- Publication number
- CN113961342B CN113961342B CN202111209986.XA CN202111209986A CN113961342B CN 113961342 B CN113961342 B CN 113961342B CN 202111209986 A CN202111209986 A CN 202111209986A CN 113961342 B CN113961342 B CN 113961342B
- Authority
- CN
- China
- Prior art keywords
- node
- event
- detection
- edge
- complex event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 122
- 230000005540 biological transmission Effects 0.000 claims abstract description 60
- 238000013508 migration Methods 0.000 claims abstract description 33
- 230000005012 migration Effects 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000010187 selection method Methods 0.000 claims description 7
- 230000009191 jumping Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 9
- 230000008569 process Effects 0.000 abstract description 8
- 238000003860 storage Methods 0.000 abstract description 8
- 238000012545 processing Methods 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002195 synergetic effect Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/502—Proximity
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种边云协同的复杂事件检测方法,将复杂事件检测引入边云协同场景之中,允许将复杂事件检测算法部署在事件源端或者距离事件源端更近的边缘节点进行,缩短了数据传输的距离,真正意义上降低了延迟。首先该方法通过检测点选择策略将不同的复杂事件规则分配给不同节点,以此最小化复杂事件检测过程中事件的传输次数,从而减少网络通信时间。其次,考虑到边缘节点相对有限的内存,提出了复杂事件检测规则迁移策略在边缘节点存储不足的时候,选择合适的迁移策略避免原始事件的丢失,保证复杂事件检测结果的正确性。
Description
技术领域
本发明涉及边云协同检测的技术领域,具体地,涉及边云协同的复杂事件检测方法。
背景技术
复杂事件处理作为一种基于动态环境中事件流的分析技术,已经成为大规模系统和应用程序中海量数据实时分析和检测的重要工具。复杂事件处理利用过滤、关联、聚合等技术来分析事件间的关系,根据事件间的时序关系(顺序关系)、逻辑关系(逻辑析取(OR),并列(AND))和给定大小的时间窗口和延迟限制来制定检测规则,然后持续地从事件流中查询出符合要求的事件序列,最终分析得到更复杂的复合事件。复杂事件处理的目的上就是从低级事件流中抽取出具有更丰富语义的高级事件——复杂事件。
由于复杂事件处理能够实时高效处理来自不同事件源事件流的特性,复杂事件处理被广泛应用于物联网应用、股票交易、风险监控、网络安全攻击检测、云资源和云性能监控、业务流程管理和监控。
在公开号为CN111200528A的专利文献中公开了一种边云协同的智慧城市智能联动方法,涉及边云协同和智慧城市技术领域,该方法通过在云侧配置通用的联动规则,一旦系统检测到有联动事件,会即时调用设备进行联动任务,从而实现城市事件的自动化、智能化处理;联动任务的执行过程中,采用了边云协同的策略:由边缘侧进行设备控制及简单或初步的数据处理工作;云侧负责复杂数据的深度分析处理,以及跨边缘网关、多边缘网关的资源调度任务。
目前,大多数研究集中于分布式的复杂事件检测。通过使用并行的复杂事件处理方法实现更具可扩展性的系统,提升处理海量数据的速度和效率并实现资源的弹性分配。随着设备数激增,从设备实时获取的数据量也呈现出几何级的增长。数据来源广、数据量庞大,其采集的数据往往在几毫秒内就会发生重大的变化,因此企业将数据转换为洞察力再转换为执行力的速度就显得尤为关键。那么,如何在数据从生成到决策再到执行的整个过程中保持尽可能小的延迟?因此,只有通过缩短数据传输的距离,才能从真正意义上降低延迟。在一个只有“云”的世界中,数据可能要传输数百甚至数千英里,延迟在所难免,因此,需要提出一种技术方案以改善上述技术问题。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种边云协同的复杂事件检测方法。
根据本发明提供的一种边云协同的复杂事件检测方法,包括检测点选择方法和CEP规则迁移方法,所述检测点选择方法包括如下步骤:
步骤S1:对于CEP规则集P中的每一条CEP规则Pi,1≤i≤|P|,统计每个边缘节点生成的相关原始事件数量,得到其中生成的相关原始事件数量最多的边缘节点mj,事件数量为N';
步骤S2当Pi完成匹配生成的对应复杂事件,判断mj是否订阅CEi,若订阅,跳转至步骤S3;否则,跳转到步骤S4;
步骤S3:当订阅CEi的边缘节点的个数时,判断是否满足,其中为订阅CEi的云中心的个数,若是,则将Pi分配在mj处进行检测;否则,将Pi分配在云中心m0处进行检测;当时,判断N≤2N'是否满足,若是,则将Pi分配在mj处进行检测;否则,将Pi分配在m0处进行检测;
步骤S4:判断N≤2N'-1是否满足,若是,则将Pi分配在mj处进行检测;否则,将Pi分配在m0处进行检测,将其Pi加入对应节点的检测集D中;
步骤S5:分配完成后,对于每个边缘节点ml,1≤l≤k得到对应的检测集Dl,k为边缘节点的个数。
优选地,所述步骤S1中若有多个移动节点生成的相关原始事件数量相等,则优先选择其中订阅了复杂事件CEi的节点作为mj。
优选地,所述步骤2中若mj订阅了复杂事件CEi,则在mj处检测所需的原始事件传输次数每个不在该移动节点生成的原始事件传输到该节点需要两次传输,传输复杂事件给订阅节点所需次数为在mj处检测所需的总传输次数
对于其他边缘节点mq(q≠j),在节点mq生成相关的原始事件数Nq(Nq<N');在节点mq检测所需的原始事件传输次数所以Tpq>Tpj;mj订阅了复杂事件,所以在mq检测所需的传输复杂事件给订阅节点的传输次数大于等于在mj检测所需的传输复杂事件给订阅节点的传输次数因为该复杂事件在mj检测,且mj订阅了该复杂事件,所以该复杂事件无需传输给mj,当mq订阅复杂事件时取等号;因此即在mq检测所需的总传输次数大于在mj检测所需的总传输次数Tq>Tj,最优解为m0或mj;
在m0处检测时,总传输次数T0可由下式表示:
其中,为在m0处检测所需的原始事件传输次数,为在m0处检测所需的传输复杂事件给订阅节点的传输次数,Se为订阅了该复杂事件的边缘节点个数;
在mj处检测时,总传输次数Tj可由下式表示:
其中Se为订阅了该复杂事件的边缘节点个数,Sc是订阅了该复杂事件的云中心个数;
令T0≥Tj,将等式(1)(2)带入,解得:
当Se>1时,若N≤2N',则在mj处检测为最优解,否则在m0处检测为最优解;当Se=1时,若N≤2N'-Sc+1,则在mj处检测为最优解,否则在m0处检测为最优解。
优选地,所述步骤S2中若mj未订阅复杂事件CEi,其他边缘节点也未订阅,云中心m0订阅复杂事件CEi;则在m0处检测时,总传输次数T0可由下式表示:
在mj处检测时,总传输次数Tj可由下式表示:
令T0≥Tj,将等式(3)(4)带入,解得:
若N≤2N'-1,则在mj处检测为最优解,否则在m0处检测为最优解。
优选地,所述步骤S2中若mj未订阅复杂事件CEi,其他边缘节点订阅复杂事件CEi;定义订阅了复杂事件CEi的边缘节点中生成相关原始事件最多的节点为mq(q≠j),相关的原始事件数量为Nq(Nq<N');则在mj处检测,总传输次数Tj可由下式表示:
在mq处检测,总传输次数Tq可由下式表示:
其中,为在mq处检测所需的原始事件传输次数,为在mq处检测所需的传输复杂事件给订阅节点的传输次数;
结合(5)(6),可以得出:
当Se=1时,Tq=2(N-Nq)+Sc≥2(N-(N'-1))+Sc≥2(N-N')+2=Tj;当Se>1时,Tq=2(N-Nq)+Se≥2(N-(N'-1))+Se>2(N-N')+Se+1=Tj;
在m0处检测,总传输次数T0可由下式表示:
令T0≥Tj,将等式(6)(7)带入,解得:
若N≤2N'-1,则在mj处检测为最优解,否则在m0处检测为最优解。
优选地,所述步骤S3中将Pi加入对应节点的检测集D中。
优选地,所述CEP规则迁移方法包括如下步骤:
步骤1:每检测100个事件,计算ml对应检测集Dl中CEP规则的价值成本比,Dl中CEP规则个数为x,并按CEP规则的价值成本比从低到高进行排序,将排序后的检测集标记为其中Ply(1≤y≤x)为节点ml中价值成本比第y小的CEP规则;
步骤2:每检测1个事件,判断是否满足迁移条件;若满足,则将中前1/3的CEP规则迁移至云中心m0进行检测;
步骤3:若节点当前剩余内存小于总内存的10%,则将该节点的全部CEP规则迁移;
步骤4:若节点当前剩余内存大于总内存的50%,则将迁移到云中心的CEP规则再迁移回该节点。
优选地,所述步骤1中当边缘节点内存不足时,需要迁移一些CEP规则,将匹配完成概率比较低的CEP规则迁移到云中心;将Pi的匹配完成概率Proi和Pi对应的匹配在内存中占据的大小Memi作为特征来建模Pi的价值成本比VCi。
优选地,在每个边缘节点中建立一张部分匹配统计表来统计在该节点中进行检测的CEP规则的模式Pi所对应的部分匹配的数量Ni和完成的部分匹配数量两者的比值为Pi对应的匹配完成概率Proi,即:
优选地,CEP规则的模式Pi所对应的部分匹配包括部分匹配ID、部分匹配的groupID、部分匹配当前状态、部分匹配模式和匹配开始时间;通过递归计算计算Pi对应部分匹配在内存中占据的大小Memi为:
其中,Li是Pi的长度。
与现有技术相比,本发明具有如下的有益效果:
1、本发明通过引入边云协同缩短了数据传输的距离,真正意义上降低检测延迟;
2、本发明通过使用检测点选择方法最小化了检测过程中事件的传输次数从而减少了网络通信时间;
3、本发明通过使用CEP规则迁移方法一方面保证了边缘节点存储不足的时候检测结果的正确性,从另一方面也解决了云节点和边缘节点负载均衡问题。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的模型结构图;
图2为本发明检测CEP规则的模式对应的LogPDA的结构图;
图3为本发明部分匹配对象在java堆的布局图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明提供一种边云协同的复杂事件检测方法,将复杂事件处理引入了边云协同的场景之中,复杂事件检测不仅可以在中心节点或云端进行,也可以在部署在事件源端或者距离事件源端更近的边缘节点进行,通过在不同节点上分配不同的CEP规则来实现并行化。
在模型中,定义m0为云中心,云中心的数量为1,ml(1≤l≤k)为与它相连的边缘节点,边缘节点数量为k。假设CEP规则集P中的某条CEP规则Pi,1≤i≤|P|由N个原始事件构成,其中在边缘节点mj(1≤j≤k)生成的相关原始事件最多,数量为N'(N'<N)。例如,对于模式(A,(B&C),(D|E),假如原始事件A、B、C都在边缘节点m1生成,原始事件D在m2生成,原始事件E在m3生成,则j=1、N'=3。
CEP规则Pi检测成功后会生成对应的复杂事件CEi。根据复杂事件订阅表S可以统计订阅了复杂事件CEi的节点个数,定义订阅了CEi的云中心个数为边缘节点个数为当检测点选择策略执行完成后,每个节点ml(1≤l≤k)会得到一个对应的检测集Dl。
在实际应用中,我们可以把分布在不同地方的传感器(也可以是摄像头等设备)采集的信号定义成不同类型的原始事件,而将我们关心的信号组合定义成复杂事件。
通过检测点选择方法将这些复杂事件分配到不同边缘节点的事件处理代理的检测集中进行检测以最小化检测过程中的网络通信时间。
在真正面向海量数据的应用程序中,带宽是一个重要问题,并且中心节点或云端成为通信和计算的瓶颈。因此在大规模CEP应用程序中如何减少网络中的通信时间是一个重要的问题。其次,边缘节点有限的内存可能会影响检测结果的正确性,当新的事件到来时,而此时移动节点的存储正好又不足时,就只能将该事件丢弃,这就可能会造成某个发生的复杂事件没有被检测出来。因此在复杂事件检测过程中当移动节点存储不足时,如何通过某种补偿策略来保证复杂事件检测的正确性也是要考虑的问题。
对于每个CEP规则,即复杂事件查询,检测点选择策略根据原始事件的事件源和订阅该复杂事件的节点把该CEP规则分配到某个节点,包括云端节点,以此最小化事件的传输次数从而减少网络通信时间。
对于边缘节点,在复杂事件检测的过程中会产生大量的中间结果可能造成其存储不足。使用复杂事件检测规则迁移策略来解决边缘节点存储不足的问题,通过构建价值成本比,来决定将哪些CEP规则迁移到云端进行检测。把CEP规则完成匹配的概率,即该CEP规则完成匹配的个数与该CEP的部分匹配个数的比值,和在内存所占大小作为特征来建模该CEP规则的价值成本比。同时,通过原始事件的流量和边缘节点的剩余空闲内存来决定复杂事件检测规则迁移的时机。
本发明将复杂事件检测引入边云协同场景之中,允许将复杂事件检测算法部署在事件源端或者距离事件源端更近的边缘节点进行,缩短了数据传输的距离,真正意义上降低了延迟。首先本发明通过检测点选择策略将不同的复杂事件规则分配给不同节点,以此最小化复杂事件检测过程中事件的传输次数,从而减少网络通信时间。其次,考虑到边缘节点相对有限的内存,提出了复杂事件检测规则迁移策略在边缘节点存储不足的时候,选择合适的迁移策略避免原始事件的丢失,保证复杂事件检测结果的正确性。
事件模型:在深入研究事件的处理方式之前,应该对事件有个合适的定义。在模型中,事件可以由元组(eventID,eventType,eventSource,startTime,groupID)表示。其中,eventID在事件源中唯一标识一个事件;eventType是一组事件对象的规范,这些对象具有相同的语义意图和相同的结构,为简单起见,在下文中等效地使用“事件”和“事件类型”;eventSource是生成此事件的实体的标识,在本发明中为边缘节点的标识;startTime表示事件发生的时间;groupID唯一标识事件分组,拥有相同groupID的事件是对同一物体或同一流程的状态描述。
操作符、CEP规则、模式与复杂事件订阅表:CEP规则包含基本的运算符,但不含否定操作符,即指定事件不出现。算法支持的运算符如下:
AND(A1&A2&...&An):当参与的原始事件全部发生,生成一个复杂事件。
OR(A1|A2|...|An):当任意一个参与的原始事件发生,生成一个复杂事件。
SEQ(A1,A2,...,An):当参与原始事件按照指定序列发生,生成一个复杂事件。
值得注意的是,操作符的输入事件可以是原始事件也可以是复杂事件,因此某个操作符输出的复杂事件可以作为另一个操作符的输入事件。CEP规则规定了操作符与输入事件,还规定了时间窗口W,来表示对于该CEP规则输入事件的最大存活时间。例如CEP规则((A&B&C),W)规定了在时间窗口W内,如果事件A、事件B、事件C都发生就生成一个对应复杂事件。而(A&B&C)就是该规则的模式。
在算法中,每一条CEP规则由一个CEP代理检测。而在检测的时候需要明确两个策略。第一是事件选择策略,即CEP代理在检测事件时决定让哪些事件参与匹配的策略。在算法中,CEP代理只选择相关事件,即对应CEP规则的输入事件进行匹配。第二是事件消耗策略,即输入事件可以参与的匹配次数。选择可重用策略作为事件消耗策略,这意味着事件可以参与所有与它们相关的匹配。
复杂事件订阅表记录了每个节点订阅了哪些复杂事件,即记录了每一种复杂事件检测规则完成匹配后生成的复杂事件要被发往哪些节点。用一个二维矩阵来S来表示。当Sij=1表示节点Ni订阅了复杂事件CEj,ID为j的CEP规则对应的复杂事件,若Sij=0则表示节点Ni未订阅复杂事件CEj。
自推式NFA和部分匹配:当前,非确定性有限自动机NFA是检测CEP规则最常用的方法。在本发明中,基于LogPDA自动机来进行CEP规则的检测。LogPDA自动机的构造流程如下:根据CEP规则的模式来确定LogPDA的主要结构,即LogPDA的状态和状态之间的转移表达式。很明显地,可以看出将每个逻辑运算符视为一个逻辑块,作为状态转移的条件,当该条件的值为True时,则状态发生转移。例如,图2展示模式(A,(B&C),(D|E))对应的LogPDA自动机的结构。S0为初始状态,当事件A到达后,进入状态S1。当事件B到达,事件C还没到达时,B&C的值不为True,此时状态不发生转移;而当事件C也到达时,B&C的值为True,进入状态S2。而当事件D或者事件E到达时,D|E的值为True,进入结束态S3,匹配完成,生成一个对应的复杂事件。而当该匹配开始并还没到达结束状态,处于某个中间状态时,可以称当前匹配为部分匹配,就如图1中状态S1对应的匹配的模式((B&C),(D|E))、状态S2对应的匹配的模式(D|E)。
对于一个复杂事件,根据输入事件在各个节点分配的情况和复杂事件订阅表,选择一个节点作为检测该复杂事件,以最小化事件,即原始事件与复杂事件传输的次数,降低网络通信成本;在边缘节点存储不足的时候,如何迁移CEP规则能保证输入事件不会被丢弃而影响检测结果,同时保证检测的效率。
(1)检测点选择策略
对于CEP规则的模式Pi,检测该事件所需的事件传输次数T分为两部分,第一部分是将与Pi相关的原始事件传输到检测Pi的节点所需传输次数Tp,第二部分是匹配完成后将生成复杂事件CEi传输给订阅节点所需阐述次数Tc,T=Tp+Tc。
在模型中,定义m0为云中心,云中心的数量为1,ml(1≤l≤k)为与它相连的边缘节点,数量为k,Pi由N个原始事件构成。假设其中在边缘节点mj(1≤j≤k)生成的相关原始事件最多,数量为N'(N'<N)。例如,对于模式(A,(B&C),(D|E),假如原始事件A、B、C都在边缘节点m1生成,原始事件D在m2生成,原始事件E在m3,则j=1、N'=3。
CEP规则Pi检测成功后会生成对应的复杂事件CEi。根据复杂事件订阅表S可以统计订阅了复杂事件CEi的节点个数,定义订阅了CEi的云中心个数为边缘节点个数为当检测点选择策略执行完成后,每个节点ml(1≤l≤k)会得到一个对应的检测集Dl。
目标是找到节点mt(0≤t≤k)检测Pi,使得T最小。接下来分情况讨论,并求得最优解。
(a)mj订阅了复杂事件CEi
首先,不难证明最优解必然是在m0或mj处进行检测。
在mj处检测所需的原始事件传输次数传输复杂事件给订阅节点所需次数为总传输次数
对于其他边缘节点mq(q≠j),在该节点生成相关的原始事件数Nq(Nq<N')。在该节点检测所需的原始事件传输次数所以Tpq>Tpj。又因为mj订阅了该复杂事件,所以当mq也订阅了该复杂事件时取等号。因此Tq>Tj,最优解不可能为其他边缘节点,必然为m0或mj。
在m0处检测时,总传输次数T0可由下式表示:
在mj处检测时,总传输次数Tj可由下式表示:
令T0≥Tj,将等式(1)(2)带入,解得:
当时,若N≤2N',则在mj处检测为最优解,否则在m0处检测为最优解;当时,若则在mj处检测为最优解,否则在m0处检测为最优解。
(b)mj未订阅复杂事件CEi,其他边缘节点也未订阅,只有云中心m0订阅。
同理,最优解必然是在m0或mj处进行检测。
在m0处检测时,总传输次数T0可由下式表示:
在mj处检测时,总传输次数Tj可由下式表示:
令T0≥Tj,将等式(3)(4)带入,解得:
若N≤2N'-1,则在mj处检测为最优解,否则在m0处检测为最优解。
(c)mj未订阅复杂事件CEi,有其他边缘节点订阅。
这种情况比情况(a)(b)复杂,定义订阅了复杂事件CEi的边缘节点中生成相关原始事件最多的节点为mq(q≠j),相关的原始事件数量为Nq(Nq<N')。
那么此时的最优解可能为m0、mj、mq。首先,可以证明在mq处检测不可能为最优解。
在mj处检测,总传输次数Tj可由下式表示:
在mq处检测,总传输次数Tj可由下式表示:
结合(5)(6),可以得出:
当时,当时,
所以只可能在m0或mj处检测。
在m0处检测,总传输次数T0可由下式表示:
令T0≥Tj,将等式(6)(7)带入,解得:
若N≤2N'-1,则在mj处检测为最优解,否则在m0处检测为最优解。
综上所述,检测点选择策略的具体流程如下:
A.对于CEP规则集P中的每一条CEP规则Pi(1≤i≤|P|),统计每个边缘节点生成的相关原始事件数量,得到其中生成的相关原始事件数量最多的移动节点mj,事件数量为N'。若有多个移动节点生成的相关原始事件数量相等,则优先选择其中订阅了复杂事件CEi的节点作为mj。
B.判断mj是否订阅了CEi。若订阅了,跳转至C;否则,跳转到D。
C.当时,判断是否满足。若是,则将Pi分配在mj处进行检测;否则,将Pi分配在m0处进行检测。当时,判断N≤2N'是否满足。若是,则将Pi分配在mj处进行检测;否则,将Pi分配在m0处进行检测。将其Pi加入对应节点的检测集D中。
D.判断N≤2N'-1是否满足。若是,则将Pi分配在mj处进行检测;否则,将Pi分配在m0处进行检测。将其Pi加入对应节点的检测集D中。
E.分配完成后,对于每个节点ml(1≤l≤k)得到对应的检测集Dl。
(2)CEP规则迁移策略
复杂事件迁移策略规定了在存储节点内存不足时迁移哪些CEP规则和进行迁移的条件。
(a)迁移的CEP规则选择
当边缘节点内存不足的时候,需要迁移一些CEP规则保证该输入该节点的原始事件不被丢弃。首先,倾向于将匹配完成概率比较低的CEP规则迁移到云中心。例如,有一些CEP规则的匹配完成概率很低,如果当内存不足时,选择将它们不迁移它们,那么这些CEP规则模式Pi对应绝大部分部分匹配会长时间的停留在内存中,因为它们的匹配完成概率很低。只有当超过设定的时间窗口时,这些部分匹配才会被丢弃。如果将它们迁移到云中心,那么之后在边缘节点内存中新生成部分匹配的完成概率就会相对较高,这些部分匹配完成匹配后就会释放内存,能更好地缓解边缘节点内存不足的情况。其次,CEP规则模式Pi对应的匹配在内存中占据的大小也是一个重要的考虑因素,所以将Pi的匹配完成概率和Pi对应的匹配在内存中占据的大小作为特征来建模Pi的价值成本比VCi。
综上,在每个边缘节点中建立一张部分匹配统计表来统计在该节点中进行检测的CEP规则的模式Pi所对应的部分匹配的数量Ni和完成的部分匹配数量两者的比值为该规则匹配完成的概率,即:
在策略中,部分匹配包含以下属性:部分匹配ID,部分匹配的groupID,部分匹配当前状态,部分匹配模式,匹配开始时间。如图所示,通过递归计算计算部分匹配在内存中占据的大小为:
其中,Li是Pi的长度。需要注意的是,在java中对象占用的内存为8字节的整数倍。
显然,Pi的的匹配完成概率Proi和VCi成正比,而Pi对应的匹配在内存中占据的大小Memi和VCi成反比,所以VCi可以表示为:
可以根据(10)式计算CEP规则的价值成本比并进行排序,将价值成本比低的CEP规则迁移到云中心进行检测。
(b)迁移条件
一方面,过晚迁移CEP规则会导致输入事件的丢失;另一方面,过早迁移迁移CEP规则会造成检测效率的下降。接下来,要说明该策略是如何定义迁移的条件。在决定迁移的时机时,需要考虑输入事件的流量和边缘节点的剩余内存大小。迁移条件如下所示:
其中,Ne为当前事件缓存区的输入事件个数,Npm为每个原始事件输入增加的部分匹配的平均数量,Mempm为新增的部分匹配在内存的平均大小,为边缘节点mi的剩余内存。若当前事件缓存区全部输入事件生成的部分匹配所占内存大于边缘节点剩余内存大小则进行迁移。
(c)迁移操作
通过(1)的检测点选择策略,对于每个边缘节点ml(1≤l≤k)都能得到一个检测集Dl={Pl 1,Pl 2,...,Pl x}(Dl中CEP规则个数为x)。假设事件B(groupID为10000)输入,触发迁移条件,而Pl 1(A,(B&C),(D|E))需要迁移,如果直接将Pl 1从Dl删除,然后将其加入D0,那么可能会导致groupID为10000的复杂事件无法被检测出来。因此通过维护多版本的检测计划来实现CEP规则的迁移。
具体迁移操作的流程:
A.对于每个节点ml(1≤l≤k),通过检测点选择策略都能得到对应的的检测集Dl,定义初始查询计划为(Dl,0),其中第一项为检测集,第二项为groupID,若当输入事件的groupID大于等于该值,就执行该查询计划。把放入查询计划列表Listl中。
B.当触发迁移条件时,记录当前输入事件的groupID为X,将要迁移的CEP规则从检测集Dl移出得到添加到D0中得到然后新建查询计划为将加入查询计划列表Listl中。
C.当新的事件event输入时,从查询计划列表Listl尾部向前遍历,若当前的Planl.groupID<event.groupId,则执行该查询计划。
(d)CEP规则迁移策略整体流程
本迁移策略通过分阶段的迁移在确保输入事件不会丢失的同时,保证了检测的效率,还通过迁移恢复来保证在边缘节点内存恢复空闲时将原本在该节点检测的CEP规则迁移回来。对于边缘节点ml,具体流程如下:
A.每检测100个事件,计算ml对应检测集Dl(Dl中CEP规则个数为x)中CEP规则的价值成本比,并从低到高进行排序,将排序后的CEP规则标记为其中Ply(1≤y≤x)为节点ml中价值成本比第y小的CEP规则。
B.每检测1个事件,判断是否满足(11)的迁移条件。若满足,则将中前1/3的CEP规则迁移至云中心m0进行检测。
C.若节点当前剩余内存小于总内存的10%,则将该节点的全部CEP规则迁移。
D.若节点当前剩余内存大于总内存的50%,则将迁移到云中心的CEP规则再迁移回该节点。
本发明通过引入边云协同缩短了数据传输的距离,真正意义上降低检测延迟;通过使用检测点选择方法最小化了检测过程中事件的传输次数从而减少了网络通信时间;通过使用CEP规则迁移方法一方面保证了边缘节点存储不足的时候检测结果的正确性,从另一方面也解决了云节点和边缘节点负载均衡问题。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (9)
1.一种边云协同的复杂事件检测方法,其特征在于,包括检测点选择方法和CEP规则迁移方法,所述检测点选择方法包括如下步骤:
步骤S1:对于CEP规则集P中的每一条CEP规则Pi,1≤i≤|P|,统计每个边缘节点生成的相关原始事件数量,得到其中生成的相关原始事件数量最多的边缘节点mj,事件数量为N';
步骤S2:当Pi完成匹配生成的对应复杂事件,判断边缘节点mj是否订阅CEi,若订阅,跳转至步骤S3;否则,跳转到步骤S4;
步骤S3:当订阅CEi的边缘节点的个数时,判断是否满足,其中为订阅CEi的云中心的个数,若是,则将Pi分配在边缘节点mj处进行检测;否则,将Pi分配在云中心m0处进行检测;当时,判断N≤2N'是否满足,若是,则将Pi分配在边缘节点mj处进行检测;否则,将Pi分配在m0处进行检测;
步骤S4:判断N≤2N'-1是否满足,若是,则将Pi分配在边缘节点mj处进行检测;否则,将Pi分配在m0处进行检测,将其Pi加入对应节点的检测集D中;
步骤S5:分配完成后,对于每个边缘节点ml,1≤l≤k得到对应的检测集Dl,k为边缘节点的个数;
所述CEP规则迁移方法包括如下步骤:
步骤1:每检测100个事件,计算ml对应检测集Dl中CEP规则的价值成本比,Dl中CEP规则个数为x,并按CEP规则的价值成本比从低到高进行排序,将排序后的检测集标记为其中Ply(1≤y≤x)为节点ml中价值成本比第y小的CEP规则;
步骤2:每检测1个事件,判断是否满足迁移条件;若满足,则将中前1/3的CEP规则迁移至云中心m0进行检测;
步骤3:若节点当前剩余内存小于总内存的10%,则将该节点的全部CEP规则迁移;
步骤4:若节点当前剩余内存大于总内存的50%,则将迁移到云中心的CEP规则再迁移回该节点。
2.根据权利要求1所述的边云协同的复杂事件检测方法,其特征在于,所述步骤S1中若有多个移动节点生成的相关原始事件数量相等,则优先选择其中订阅了复杂事件CEi的节点作为mj。
3.根据权利要求1所述的边云协同的复杂事件检测方法,其特征在于,所述步骤S2中若边缘节点mj订阅了复杂事件CEi,则在边缘节点mj处检测所需的原始事件传输次数每个不在该边缘节点生成的原始事件传输到该节点需要两次传输,传输复杂事件给订阅节点所需次数为在mj处检测所需的总传输次数对于其他边缘节点mq(q≠j),在节点mq生成相关的原始事件数Nq(Nq<N');在节点mq检测所需的原始事件传输次数所以边缘节点mj订阅了复杂事件,所以在mq检测所需的传输复杂事件给订阅节点的传输次数大于等于在边缘节点mj检测所需的传输复杂事件给订阅节点的传输次数因为该复杂事件在mj检测,且边缘节点mj订阅了该复杂事件,所以该复杂事件无需传输给边缘节点mj,当mq订阅复杂事件时取等号;因此即在mq检测所需的总传输次数大于在边缘节点mj检测所需的总传输次数Tq>Tj,最优解为m0或mj;
在m0处检测时,总传输次数T0可由下式表示:
其中,为在m0处检测所需的原始事件传输次数,为在m0处检测所需的传输复杂事件给订阅节点的传输次数,Se为订阅了该复杂事件的边缘节点个数;
在边缘节点mj处检测时,总传输次数Tj可由下式表示:
其中Se为订阅了该复杂事件的边缘节点个数,Sc是订阅了该复杂事件的云中心个数;
令T0≥Tj,将等式(1)(2)带入,解得:
当Se>1时,若N≤2N',则在边缘节点mj处检测为最优解,否则在m0处检测为最优解;当Se=1时,若N≤2N'-Sc+1,则在边缘节点mj处检测为最优解,否则在m0处检测为最优解。
4.根据权利要求1所述的边云协同的复杂事件检测方法,其特征在于,所述步骤S2中若mj未订阅复杂事件CEi,其他边缘节点也未订阅,云中心m0订阅复杂事件CEi;则在m0处检测时,总传输次数T0可由下式表示:
在mj处检测时,总传输次数Tj可由下式表示:
令T0≥Tj,将等式(3)(4)带入,解得:
若N≤2N'-1,则在mj处检测为最优解,否则在m0处检测为最优解。
5.根据权利要求1所述的边云协同的复杂事件检测方法,其特征在于,所述步骤S2中若mj未订阅复杂事件CEi,其他边缘节点订阅复杂事件CEi;定义订阅了复杂事件CEi的边缘节点中生成相关原始事件最多的节点为mq(q≠j),相关的原始事件数量为Nq(Nq<N');则在mj处检测,总传输次数Tj可由下式表示:
在mq处检测,总传输次数Tq可由下式表示:
其中,为在mq处检测所需的原始事件传输次数,为在mq处检测所需的传输复杂事件给订阅节点的传输次数;
结合(5)(6),可以得出:
当Se=1时,Tq=2(N-Nq)+Sc≥2(N-(N'-1))+Sc≥2(N-N')+2=Tj;当Se>1时,Tq=2(N-Nq)+Se≥2(N-(N'-1))+Se>2(N-N')+Se+1=Tj;
在m0处检测,总传输次数T0可由下式表示:
令T0≥Tj,将等式(6)(7)带入,解得:
若N≤2N'-1,则在mj处检测为最优解,否则在m0处检测为最优解。
6.根据权利要求1所述的边云协同的复杂事件检测方法,其特征在于,所述步骤S3中将Pi加入对应节点的检测集D中。
7.根据权利要求1所述的边云协同的复杂事件检测方法,其特征在于,所述步骤1中当边缘节点内存不足时,需要迁移一些CEP规则,将匹配完成概率比较低的CEP规则迁移到云中心;将Pi的匹配完成概率Proi和Pi对应的匹配在内存中占据的大小Memi作为特征来建模Pi的价值成本比VCi。
8.根据权利要求7所述的边云协同的复杂事件检测方法,其特征在于,在每个边缘节点中建立一张部分匹配统计表来统计在该节点中进行检测的CEP规则的模式Pi所对应的部分匹配的数量Ni和完成的部分匹配数量两者的比值为Pi对应的匹配完成概率Proi,即:
9.根据权利要求8所述的边云协同的复杂事件检测方法,其特征在于,CEP规则的模式Pi所对应的部分匹配包括部分匹配ID、部分匹配的groupID、部分匹配当前状态、部分匹配模式和匹配开始时间;通过递归计算计算Pi对应部分匹配在内存中占据的大小Memi为:
其中,Li是Pi的长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111209986.XA CN113961342B (zh) | 2021-10-18 | 2021-10-18 | 边云协同的复杂事件检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111209986.XA CN113961342B (zh) | 2021-10-18 | 2021-10-18 | 边云协同的复杂事件检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113961342A CN113961342A (zh) | 2022-01-21 |
CN113961342B true CN113961342B (zh) | 2024-07-09 |
Family
ID=79465031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111209986.XA Active CN113961342B (zh) | 2021-10-18 | 2021-10-18 | 边云协同的复杂事件检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113961342B (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10756995B2 (en) * | 2015-07-27 | 2020-08-25 | Datagrid Systems, Inc. | Method, apparatus and system for real-time optimization of computer-implemented application operations using machine learning techniques |
CN105242967B (zh) * | 2015-09-29 | 2019-06-25 | 上海新储集成电路有限公司 | 一种基于dvfs技术的多核系统内混合内存上数据迁移的方法 |
US20170124497A1 (en) * | 2015-10-28 | 2017-05-04 | Fractal Industries, Inc. | System for automated capture and analysis of business information for reliable business venture outcome prediction |
CN106407017B (zh) * | 2016-10-31 | 2019-10-18 | 华南理工大学 | 面向rfid的复杂事件规则动态调度与数据恢复方法 |
WO2019022979A1 (en) * | 2017-07-26 | 2019-01-31 | Amazon Technologies, Inc. | MULTI-LEVEL DATA PROCESSING FOR IOT DEVICE GROUPS |
CN109936843B (zh) * | 2018-05-11 | 2020-02-14 | 华为技术有限公司 | 订阅更新方法、设备及系统 |
CN111090522B (zh) * | 2019-12-13 | 2023-07-28 | 南京邮电大学 | 一种移动边缘计算环境下服务部署与迁移的调度系统及决策方法 |
CN111163002B (zh) * | 2019-12-31 | 2022-06-10 | 广州智光电气股份有限公司 | 一种基于容器的边缘网关系统和能源数据处理方法 |
-
2021
- 2021-10-18 CN CN202111209986.XA patent/CN113961342B/zh active Active
Non-Patent Citations (1)
Title |
---|
"CLOSED: A Cloud-Edge Dynamic Collaborative Strategy for Complex Event Detection";Jian Cao;《2022 IEEE International Conference on Web Services (ICWS)》;20220916;第73-78页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113961342A (zh) | 2022-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Stela: Enabling stream processing systems to scale-in and scale-out on-demand | |
CN110222091A (zh) | 一种海量数据实时统计分析方法 | |
CN104915717A (zh) | 数据处理方法、知识库推理方法及相关装置 | |
CN111522786A (zh) | 日志处理系统及方法 | |
CN115277574B (zh) | 一种sdn架构下数据中心网络负载均衡方法 | |
CN110059829A (zh) | 一种异步参数服务器高效并行架构与方法 | |
CN107346270A (zh) | 基于实时计算的基数估计的方法和系统 | |
CN106909624B (zh) | 一种海量数据实时排序优化方法 | |
Duan et al. | Computation offloading scheduling for deep neural network inference in mobile computing | |
Iannaccone | Fast prototyping of network data mining applications | |
CN116389156A (zh) | 一种在大数据量环境下的实时异常检测系统 | |
CN111708981A (zh) | 一种基于位运算的图三角形计数方法 | |
CN113961342B (zh) | 边云协同的复杂事件检测方法 | |
CN114610765B (zh) | 流计算方法、装置、设备及存储介质 | |
CN113821361B (zh) | 一种基于流式处理的物联网平台消息处理方法和系统 | |
Tang et al. | Intelligent awareness of delay-sensitive internet traffic in digital twin network | |
CN112445675B (zh) | 基于层树网络的大规模并行程序性能数据快速收集方法 | |
Wang et al. | A quick adaptive migration algorithm for virtual network function | |
CN107016083B (zh) | 一种支持处理单元在线切换的流数据处理方法 | |
Cao et al. | CLOSED: A cloud-edge dynamic collaborative strategy for complex event detection | |
CN113872882A (zh) | 一种网络流量处理方法、装置、存储介质及电子设备 | |
CN113360576A (zh) | 一种基于Flink Streaming的电网海量数据实时处理方法及装置 | |
CN115062771B (zh) | 一种分布式机器学习梯度汇聚方法、装置及模型训练方法 | |
CN106533756A (zh) | 一种通信特征抽取、流量产生方法及装置 | |
Song et al. | The multi-agent data collection in HLA-based simulation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |