当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于边缘云原生的实时规则引擎构建方法技术

技术编号:39251926 阅读:11 留言:0更新日期:2023-10-30 12:03
一种基于边缘云原生的实时规则引擎调度方法,包括:(1)对于输入的请求,按照请求预测到达时间与每个请求容器创建时间的差进行排序;(2)将第1个请求的前置方案集合s初始为空;(3)遍历n个请求,寻找每个请求的启动时间,完成每个请求的全局缓存表gc,并将全局缓存表gc合并为方案集合s;(4)在完成所有请求的gc表计算后,以最后一个请求的截止期筛选符合条件的策略,选择端到端延迟与占用资源最少的策略。本发明专利技术引入一种基于动态规划的边缘云原生实时规则引擎构建方法,支持对多个规则的资源分配,并且拥有较强的可扩展性。相比于暴力等枚举算法,有效降低了资源分配的计算开销,提高规则引擎的执行效率。规则引擎的执行效率。规则引擎的执行效率。

【技术实现步骤摘要】
一种基于边缘云原生的实时规则引擎构建方法


[0001]本专利技术提供一种基于边缘云原生的实时规则引擎构建方法。

技术介绍

[0002]随着容器化的流行,规则引擎作为边缘云物联网平台的基本中间件也在逐渐向容器化方向发展。在许多现有的解决方案中,规则引擎已经开始运行于容器化环境中,利用容器的隔离性、可移植性和便捷性带来更高效的数据处理和决策机制。边缘云原生规则引擎通常将规则中的动作以容器形式执行,可以根据实际需求进行灵活扩展和管理。它支持基于事件驱动的规则引擎模型,能够通过自定义规则实现实时数据分析和处理,从而实现智能化决策和自动化控制。
[0003]然而,在运行边缘云原生规则引擎时,单条规则的端到端时延与规则对应容器的执行时间可能存在较大差异。这是因为单条规则端到端时延除了规则对应容器的执行时间外,还包括容器的创建时间,而且容器创建时间占比较大,不能忽略。虽然可以通过预测事件触发时间提前启动容器来减少冷启动时间,但是规则引擎和容器运行时之间的松耦合设计,意味着规则引擎无法得知真正的容器需求(即需要多少资源以及它们的截止期),因此可能会提供不适当的资源量,导致响应延迟过长。
[0004]因此,当规则引擎获取了可用资源量与容器需求时,如何进行资源的分配、何时启动容器就显得尤为重要,这将对规则的端到端延迟产生较大影响。一种直接的方法是详尽枚举所有可能的组合,对每个容器的资源分配量及启动时间进行枚举,得到其中满足截止期且资源消耗最少的方案。然而,随着触发的规则数量增加,决策空间呈指数级增长,计算最优解的时间开销远大于实时规则引擎的时延要求。同时,根据不同的QoE动态调整决策也进一步复杂化了问题。

技术实现思路

[0005]本专利技术要克服现有技术的上述缺点,本专利技术提供了一种基于前向归并动态规划的调度算法及应用方式。本质上,该算法使用截止时间和资源约束来修剪搜索空间,并为每个规则考虑资源分配方案和临时最优解,根据先进先出的顺序逐渐处理其他规则,并合并已有的计算结果。
[0006]本专利技术的一种基于边缘云原生的实时规则引擎构建方法,包括以下步骤:
[0007]步骤1:对于输入的请求,按照请求预测到达时间与每个请求容器创建时间的差进行排序。
[0008]步骤1.1:对于输入请求的截止期ddl、预测到达的时间t
pred
和每个请求对应容器的创建时间t
cold
,将n个请求按照(t
pred

t
cold
)的结果排序。
[0009]步骤2:将第1个请求的前置方案集合s初始为空。
[0010]步骤3:遍历n个请求,寻找每个请求的启动时间,完成每个请求的全局缓存表gc,并将全局缓存表gc合并为方案集合s。
[0011]步骤3.1:对于第i个请求,根据当前资源量与该请求的截止期,确定可选资源集合{r}。
[0012]步骤3.1.1:对于第i个请求,遍历该请求的可选资源分配方案r,根据当前系统可用资源量R,判断r是否小于等于R,若是,则将r加入资源集合{r}。
[0013]步骤3.1.2:对于第i个请求,遍历该请求的可选资源方案r,如果该容器在给定资源r的情况下,执行时间不会超过该请求的截止期,则将r加入资源集合{r}。
[0014]步骤3.2:对于步骤3.1确定的可选资源集合{r},对于可调节参数λ,寻找在[t
pred

t
cold
,t
pred
+λ]范围内可提供r资源的起始时间t
start
,填入全局缓存表gc中。
[0015]步骤3.2.1:将步骤3.1生成的资源集合{r}作为全局缓存表gc的第一列表项,意为第i个容器的可选资源集合。
[0016]步骤3.2.2:将第i

1个请求的资源集合s作为gc表的表头。
[0017]步骤3.2.3:对于gc表的每一个表项,寻找对于第i

1个请求方案集合s占用资源的情况下,可提供r资源的起始时间t
start
,若t
start
在[t
pred

t
cold
,t
pred
+λ]范围内,则将t
start
填入start表中。
[0018]步骤3.3:对于步骤3.2形成的gc表,对于表中的每两项gc

,gc

,根据如下公式寻找是否存在k,若存在,则将这两个表项合并成一项,填入s表;若不存在,则将这两个表项都加入s表。
[0019][0020]步骤4:在完成所有请求的gc表计算后,以最后一个请求的截止期筛选符合条件的策略,选择端到端延迟与占用资源最少的策略。
[0021]与现有技术相比,本专利技术的有益效果是:引入一种基于动态规划的边缘云原生实时规则引擎构建方法,支持对多个规则的资源分配,并且拥有较强的可扩展性。相比于暴力等枚举算法,有效降低了资源分配的计算开销,提高规则引擎的执行效率。
附图说明
[0022]为了更清楚地说明本专利技术实例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1是本专利技术方法的数据结构图。
[0024]图2是本专利技术方法的工作流程图。
具体实施方式
[0025]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实
施例,都属于本专利技术的保护范围。
[0026]本专利技术提供了一种基于边缘云原生的实时规则引擎构建方法的物联网智慧家居控制方法。本质上,该方法的核心算法使用截止时间和资源约束来修剪搜索空间,并为每个规则考虑资源分配方案和临时最优解,根据先进先出的顺序逐渐处理其他规则,并合并已有的计算结果。
[0027]具体包括以下步骤:
[0028]步骤1:对于输入规则对应的请求,按照请求预测到达时间与每个请求容器创建时间的差进行排序。
[0029]步骤1.1:对于输入规则请求的截止期ddl、预测到达的时间t
pred
和每个请求对应容器的创建时间t
cold
,将n个请求按照(t
pred

t
cold
)的结果排序。
[0030]步骤2:将第1个请求的前置方案集合s初始为空。
[0031]步骤3:遍历n个请求,完成每个请求的全局缓存表gc和方案集合s。
[0032]步骤3.1:对于第i个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于边缘云原生的实时规则引擎构建方法,包括以下步骤:步骤1:对于输入的请求,按照请求预测到达时间与每个请求容器创建时间的差进行排序;步骤2:将第1个请求的前置方案集合s初始为空;步骤3:遍历n个请求,寻找每个请求的启动时间,完成每个请求的全局缓存表gc,并将全局缓存表gc合并为方案集合s;步骤4:在完成所有请求的gc表计算后,以最后一个请求的截止期筛选符合条件的策略,选择端到端延迟与占用资源最少的策略。2.如权利要求1所述的一种基于边缘云原生的实时规则引擎构建方法,其特征在于:步骤1具体包括:对于输入请求的截止期ddl、预测到达的时间t
pred
和每个请求对应容器的创建时间t
cold
,将n个请求按照(t
pred

t
cold
)的结果排序。3.如权利要求1所述的一种基于边缘云原生的实时规则引擎构建方法,其特征在于:步骤3具体包括:步骤3.1:对于第i个请求,根据当前资源量与该请求的截止期,确定可选资源集合{r};步骤3.1.1:对于第i个请求,遍历该请求的可选资源分配方案r,根据当前系统可用资源量R,判断r是否小于等于R,若是,则将r加入资源集合{r};步骤3.1.2:对于第i个请求,遍历该请求的可选资源方案r,如果该容器在给定资源r的情况下,执行时间不会超过该请求的截止期,...

【专利技术属性】
技术研发人员:董玮滕依筱高艺张文照
申请(专利权)人:浙江大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1