基于Actor模型的规则引擎及场景联动实现方法技术

技术编号:33090939 阅读:27 留言:0更新日期:2022-04-15 11:04
本申请提供一种基于Actor模型的规则引擎及场景联动实现方法,应用于物联网平台。第一Actor从预设数据库加载所有账户标识信息,生成每个账户标识信息对应的第二Actor。每个第二Actor根据自身账户标识信息对应的规则链生成第三Actor,每个第三Actor生成自身规则链下属的多个第四Actor,每个第四Actor根据业务类型生成不同的业务处理类,并确定自身对应的出关系列表。规则引擎基于各Actor形成,规则引擎进行数据流转和场景联动时,第一Actor至第四Actor都可以根据各自处理逻辑并行执行,为物联网平台提供了场景联动实现方法,提高了消息处理效率,有利于物联网平台的广泛应用。有利于物联网平台的广泛应用。有利于物联网平台的广泛应用。

【技术实现步骤摘要】
基于Actor模型的规则引擎及场景联动实现方法


[0001]本申请涉及通信
,尤其涉及一种基于Actor模型的规则引擎及场景联动实现方法。

技术介绍

[0002]规则引擎的场景联动在物联网领域,特别是智能家居领域有着很重要的应用价值。场景联动已经成为物联网领域的核心应用之一,设备相互连接并且相互作用,催促着物联网领域不断向前发展。
[0003]物联网的场景联动总是条件触发的,触发点可能来着自于下端设备采集的设备数据,亦可能是上层应用的输入,又或是内在既定业务逻辑的驱动,这些自动化业务逻辑运转使得每个设备、场景、人等互相联动,这种规则模型称为TCA模型,一般由触发器(Trigger)、执行条件(Condition)、执行动作(Action)三个部分组成。
[0004]然而,目前开源的物联网平台大都缺乏场景联动的功能,又或者采用串行的模型来进行数据的流转处理,执行效率较低。

技术实现思路

[0005]本申请提供一种基于Actor模型的规则引擎及场景联动实现方法,基于Actor模型为物联网平台提供不同节点间的并行处理逻辑及执行方案,实现物联网平台的场景联动。
[0006]第一方面,本申请提供一种基于Actor模型的规则引擎,应用于物联网平台,包括:
[0007]第一Actor,用于从预设数据库加载所有账户标识信息,以生成每个账户标识信息对应的第二Actor;
[0008]所述每个第二Actor用于根据自身账户标识信息对应的规则链生成各自对应的一个或多个第三Actor,所述规则链包括各个账户标识信息与各条业务标识信息之间的映射关系,每条业务标识信息用于对应标识每条业务;
[0009]每个第三Actor用于生成自身规则链下属的多个第四Actor;
[0010]每个第四Actor,用于根据业务类型生成不同的业务处理类,并确定自身对应的出关系列表,所述出关系列表用于表征所述每个第四Actor在所述规则链中的拓扑关系。
[0011]在一种可能的设计中,所述第一Actor还用于根据账户标识信息将上报信息上报给对应的第二Actor;
[0012]所述每个第二Actor还用于接收所述待上报消息,并根据所述规则链将所述待上报消息上报给自身对应的所述每个第三Actor;
[0013]所述每个第三Actor还用于接收所述待上报消息,并根据首个第四Actor的节点标识信息将所述待上报消息上报给所述第四Actor中的首个第四Actor,所述每个第四Actor通过各自的节点标识信息唯一标识。
[0014]在一种可能的设计中,所述第一Actor在根据所述账户标识信息将所述上报信息上报给对应的第二Actor时,具体用于:
[0015]监听消息队列,以收到业务设备上报的所述待上报消息,所述待上报消息携带所述业务标识信息;
[0016]响应于所述待上报消息,根据所述业务标识信息获取对应的所述账户标识信息;
[0017]将所述待上报消息上报给所述账户标识信息对应的第二Actor。
[0018]在一种可能的设计中,当所述规则链发生更新时,所述每个第二Actor还用于接收更新消息,并响应于所述更新消息更新所述规则链,以及上报所述更新消息给所述每个第三Actor;
[0019]所述每个第三Actor还用于响应于所述更新消息,更新所述规则链,并上报所述更新消息给自身下属的所述每个第四Actor;
[0020]所述每个第四Actor还用于根据所述更新消息重新配置规则节点处理类。
[0021]在一种可能的设计中,所述每个第四Actor还用于根据所述更新消息重新配置规则节点处理类时,具体用于:
[0022]若所述更新消息包括节点配置更新消息,则关闭原始规则节点,并根据所述节点配置更新消息重新配置规则节点处理类。
[0023]第二方面,本申请提供一种场景联动实现方法,应用于第一方面提供的任意一种可能的基于Actor模型的规则引擎;所述方法,包括:
[0024]每个第三Actor根据目标路由关系将待处理消息发送给第四Actor中的首个第四Actor,所述目标路由关系用于表征所述每个第三Actor与所述第四Actor之间的设备对应关系,所述待处理消息符合所述业务的业务处理条件;
[0025]所述首个第四Actor将所述待处理消息透传给目标触发器,由所述目标触发器根据对所述待处理消息的判断结果将所述待处理消息透传给目标执行条件节点;
[0026]所述目标执行条件节点对所述待处理消息进行逻辑判断,并根据判断结果发送所述待处理消息给下级的多个执行动作节点,以使每个执行动作节点执行所述待处理消息对应的预设操作。
[0027]在一种可能的设计中,所述首个第四Actor将所述待处理消息透传给目标触发器,由所述目标触发器根据对所述待处理消息的判断结果将所述待处理消息透传给所述目标执行条件节点,包括:
[0028]所述首个第四Actor将所述待处理消息透传给所述目标触发器中的首个触发器;
[0029]所述首个触发器根据第一预设逻辑条件判断所述待处理消息是否为真;
[0030]若是,则所述首个触发器将所述待处理消息透传给过渡节点,由所述过渡节点透传所述待处理消息给所述目标执行条件节点;
[0031]若否,则所述首个触发器生成反馈消息,并回传所述反馈信息给所述首个第四Actor,所述首个第四Actor透传所述待处理消息给所述目标触发器中的另一个触发器。
[0032]在一种可能的设计中,所述目标执行条件节点用于对所述待处理消息进行逻辑判断,并根据判断结果发送所述待处理消息给下级的多个执行动作节点,包括:
[0033]首位执行条件节点根据第二预设逻辑条件判断所述待处理消息是否为真;
[0034]若是,则所述首位执行条件节点发送所述待处理消息给下一执行条件节点,所述下一执行条件节点根据所述第二预设逻辑条件继续判断所述待处理消息是否为真;
[0035]直到末位执行条件节点根据所述第二预设逻辑条件判断所述待处理消息为真时,
所述末位执行条件节点同时发送所述待处理消息给所述下级的多个执行动作节点;
[0036]其中,所述目标执行条件节点包括所述首位执行条件节点、所述下一执行条件节点以及所述末位执行条件节点。
[0037]在一种可能的设计中,所述第二预设逻辑条件包括设备状态条件和/或时间范围条件;
[0038]所述设备状态条件是指所述规则引擎缓存的物联设备状态与所述待处理消息携带的物联设备状态是否一致,;
[0039]所述时间范围条件是指所述待处理消息携带的时间信息是否为当前时间。
[0040]在一种可能的设计中,所述预设操作包括设备操作和/或告警输出;
[0041]所述设备操作通过向所述待处理消息对应的业务设备发送对应操作指令实现;
[0042]所述告警输出包括生成所述待处理消息对应的告警信息,记录所述告警本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Actor模型的规则引擎,其特征在于,应用于物联网平台,包括:第一Actor,用于从预设数据库加载所有账户标识信息,以生成每个账户标识信息对应的第二Actor;所述每个第二Actor用于根据自身账户标识信息对应的规则链生成各自对应的一个或多个第三Actor,所述规则链包括各个账户标识信息与各条业务标识信息之间的映射关系,每条业务标识信息用于对应标识每条业务;每个第三Actor用于生成自身规则链下属的多个第四Actor;每个第四Actor,用于根据业务类型生成不同的业务处理类,并确定自身对应的出关系列表,所述出关系列表用于表征所述每个第四Actor在所述规则链中的拓扑关系。2.根据权利要求1所述的规则引擎,其特征在于,所述第一Actor还用于根据账户标识信息将上报信息上报给对应的第二Actor;所述每个第二Actor还用于接收所述待上报消息,并根据所述规则链将所述待上报消息上报给自身对应的所述每个第三Actor;所述每个第三Actor还用于接收所述待上报消息,并根据首个第四Actor的节点标识信息将所述待上报消息上报给所述第四Actor中的首个第四Actor,所述每个第四Actor通过各自的节点标识信息唯一标识。3.根据权利要求2所述的规则引擎,其特征在于,所述第一Actor在根据所述账户标识信息将所述上报信息上报给对应的第二Actor时,具体用于:监听消息队列,以收到业务设备上报的所述待上报消息,所述待上报消息携带所述业务标识信息;响应于所述待上报消息,根据所述业务标识信息获取对应的所述账户标识信息;将所述待上报消息上报给所述账户标识信息对应的第二Actor。4.根据权利要求1

3任一项所述的规则引擎,其特征在于,当所述规则链发生更新时,所述每个第二Actor还用于接收更新消息,并响应于所述更新消息更新所述规则链,以及上报所述更新消息给所述每个第三Actor;所述每个第三Actor还用于响应于所述更新消息,更新所述规则链,并上报所述更新消息给自身下属的所述每个第四Actor;所述每个第四Actor还用于根据所述更新消息重新配置规则节点处理类。5.根据权利要求4所述的规则引擎,其特征在于,所述每个第四Actor还用于根据所述更新消息重新配置规则节点处理类时,具体用于:若所述更新消息包括节点配置更新消息,则关闭原始规则节点,并根据所述节点配置更新消息重新配置规则节点处理类。6.一种场景联动实现方法,其特征在于,应用于权利要求1

5中任一项所述的基于Actor模型的规则引擎;所述方法,包括:每个第三Actor根据目标路由关系将待处理消息发送给第四Actor中的首个第四Actor,所述目标路由关系用于表征所述每个第三Actor与所述第四Actor之间的设备对应关系,所述待处理消息符合所述业务的业务处理条件;所述首个第四Actor将所述待处理消息透传给目标触发器,由所述目标触发器根据对所述待处理消息的判断结果将所述待处理消息透传给目标执行条件节点;
所述目标执行条件节点对所述待处理消息进行逻辑判断,并根据判断结果发送所述待处理消息给下级的多个执行动作节点,以使每个执行动作节点执行所述待处理消息对应的预设操作...

【专利技术属性】
技术研发人员:宋俊谕钱建华陈叶能尤智浩
申请(专利权)人:联通浙江产业互联网有限公司
类型:发明
国别省市:

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

1