掌桥专利:专业的专利平台
掌桥专利
首页

一种用于智慧工地的规则引擎系统及方法

文献发布时间:2023-06-19 19:40:14


一种用于智慧工地的规则引擎系统及方法

技术领域

本发明涉及智慧工地技术领域,尤其涉及一种用于智慧工地的规则引擎系统及方法。

背景技术

规则引擎是一种接受数据输入,并根据业务规则做出业务决策的系统,实现了将业务决策从应用程序代码中分离,并使用预定义的语义模块编写业务决策的目的。智慧工地系统需要接入终端设备实时采集数据,用户设置规则,当数据满足一定条件时,执行报警等特定动作。要想实现用户对规则的设置,就需要使用规则引擎系统。

目前,通用的规则引擎系统可以对业务数据进行判断决策,决定后续采用何种处理方法。虽然通用规则引擎系统能支持一般业务处理,但智慧工地终端设备多样、种类繁多、支持的协议和数据传输方式各异、应用场景复杂、与业务结合紧密,直接将通用规则引擎应用于智慧工地场景仍有技术困难。针对施工场景的规则引擎系统,只针对一种或一类预先确定的指标进行监控,无法实现用户较为灵活的设置。目前未有针对智慧工地场景,规则引擎系统。

若使用在智慧工地系统内进行硬编码的方案,则规则需要在编写程序时预先确定,规则难以维护和变更,若发生变化就必须在修改程序后重启服务。

若使用规则引擎方案,对规则的配置较为繁琐,需要用户编写专用于特定规则引擎系统的规则文件,学习成本高,不便于智慧工地的用户使用。

发明内容

为了解决现有技术的缺陷,本发明的目的在于提供一种用于智慧工地的规则引擎系统,用户通过前端交互配置规则,后端进行数据实时计算,判定规则触发时执行后续动作,容易对规则进行变更,适用于智慧工地的多种应用场景。

为了实现上述目的,本发明提供的用于智慧工地的规则引擎系统,包括:

数据网关模块,其分别连接终端设备、数据存储模块和规则判断模块,接收并处理所述终端设备发送的数据,将处理后的数据发送给数据存储模块和规则判断模块;

数据存储模块,用于存储所述处理后的数据和用户交互模块发送的配置规则;

规则判断模块,根据所述规则,对所述处理后的数据进行判断处理;

用户交互模块,用于展示所述判断处理结果,接收用户发送的配置规则的指令。

进一步地,所述数据网关模块,其向所述终端设备发送指令并接收所述终端设备发送的数据,对所述数据进行数据解析、异常数据清除的预处理和格式转换,将处理后的数据分别通过MQTT协议发送到数据存储模块和规则判断模块。

进一步地,所述数据存储模块,包括:规则数据存储模块和时序数据存储模块,其中,

所述规则数据存储模块,用于存储所述规则;

所述时序数据存储模块,用于监听并存储所述数据网关模块发送的数据消息和所述规则判断模块的判断处理结果。

进一步地,所述规则判断模块,其对所述处理后的数据进行判断处理的过程包括:接收到数据网关模块发送的数据后,从数据存储模块中查询该设备所定义的规则,以及是否有正在生效的报警记录,根据以下四种情况决定是否发出新的报警消息:

若所述数据满足规则判断条件,有正在生效的报警记录,不做处理;

若所述数据满足规则判断条件,没有正在生效的报警记录,需要发出报警消息;

若所述数据不满足规则判断条件,有正在生效的报警记录,需要发出解除报警的消息;

若所述数据不满足规则判断条件,没有正在生效的报警记录,不做处理。

进一步地,所述规则包括:设备标识符、订阅消息主题、判断标准和后续动作。

进一步地,所述判断标准,包括:报警触发规则、报警解除规则。

进一步地,所述报警触发规则、报警解除规则包括:单次满足条件即触发或解除、连续多次满足条件即触发或解除、在预设时间内连续满足条件即触发或解除。

进一步地,所述后续动作,包括:发送用户消息、发送MQTT消息。

更进一步地,所述用户交互模块,还提供可视化操作页面,通过点选终端设备的属性和输入阈值,配置终端设备的规则。

为了实现上述目的,本发明还提供一种用于智慧工地的规则引擎方法,包括以下步骤:

终端设备接收数据网关模块发送的指令,向所述数据网关模块发送采集的数据;

数据网关模块对所述数据进行处理,并将处理后的数据发送给数据存储模块和规则判断模块;

用户交互模块接收用户的配置规则指令,将所述配置规则发送给所述数据存储模块进行存储;

规则判断模块根据所述规则对所述处理后的数据进行判断处理;

所述用户交互模块展示所述判断处理结果。

本发明提供的用于智慧工地的规则引擎系统及方法,与现有技术相比具有如下

有益效果:

使智慧工地的业务系统与规则引擎系统分离,适用于智慧工地的多种应用场景,容易对规则进行变更,系统根据规则,可实现实时的设备报警和消息推送;

简化了智慧工地系统用户配置设备规则的方式,用户无需编写代码或配置文件,只需交互式点选,填写少量参数即可完成规则配置。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为根据本发明实施例一的用于智慧工地的规则引擎系统结构示意图;

图2为根据本发明实施例二的用于智慧工地的规则引擎系统结构示意图;

图3为根据本发明实施例二的数据库结构示意图;

图4为根据本发明实施例三的用于智慧工地的规则引擎方法流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。

需要注意,本发明中可能提及了“第一”、“第二”等概念仅用于对不同的装置、组件或部件进行区分,并非用于限定这些装置、组件或部件所执行的功能的顺序或者相互依存关系。

需要注意,本发明中可能提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。

下面,将参考附图详细地说明本发明的实施例。

实施例1

本实施例提供一种用于智慧工地的规则引擎系统,如图1所示,包括:用户交互模块1、数据存储模块2、规则判断模块3、数据网关模块4,其中,

数据网关模块4分别与多个现场的终端设备5、数据存储模块2和规则判断模块3相连,数据存储模块2与规则判断模块3相连,用户交互模块1与数据存储模块2相连;

数据网关模块4,其向终端设备5发送指令,接收并处理终端设备5采集的数据,对所述数据进行数据解析、异常数据清除的预处理和格式转换后,通过MQTT协议将处理后的数据发送给数据存储模块2和规则判断模块3;

数据存储模块2,用于存储所述处理后的数据和用户交互模块1发送的配置规则;

规则判断模块3,根据所述规则,对所述处理后的数据进行判断处理;

用户交互模块1,用于展示所述判断处理结果,接收用户设置的配置规则指令。

数据存储模块2可进一步分为时序数据存储模块和规则数据存储模块,其中规则数据存储模块用于存储所述规则;时序数据存储模块用于监听并存储所述数据网关模块发送的数据消息和所述规则判断模块的判断处理结果。

本发明实施例中,所述时序数据存储模块可以采用时序数据库,优选ElasticSearch;所述规则数据存储模块可以采用关系型数据库,优选Postgres数据库。

本发明实施例中,在智慧工地现场安装有环境监测类传感器、摄像头、RFID、UWB定位标签、门禁、塔吊监测等多种设备,数据网关模块4采用串口、485线、4G、5G或LoRa(远距离无线电)与这些设备相连,实现数据传输与格式转换。

所述数据传输通过有线或无线网络发送数据,其中无线网络包括Wifi、4G、5G,数据采用MQTT协议。MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议。

本发明实施例中,数据存储模块2通过时序数据存储模块监听MQTT消息,收到数据网关模块4传来的数据消息时对数据进行存储,也接收并存储规则判断模块3发送的报警信息。

本发明实施例中,规则判断模块3监听MQTT消息,收到经过数据网关模块4处理后的数据时,对数据存储模块2中的规则数据存储模块进行查询,获取对应设备的规则,根据所述规则对所述数据进行判断处理,若符合规则中的判断标准,则通过MQTT协议发出报警信息。

具体地,规则判断模块3在接收到所述数据消息时,从数据存储模块2中查询对应设备的规则,以及是否有正在生效的报警记录,根据以下四种情况决定是否发出新的报警消息:

若数据满足规则判断条件,有正在生效的报警记录,说明现在的异常情况是该条报警记录的延续,不做处理;

若数据满足规则判断条件,没有正在生效的报警记录,说明需要触发一次新的报警,需要发出报警消息;

若数据不满足规则判断条件,有正在生效的报警记录,说明该条报警记录已接触,需要发出解除报警的消息;

若数据不满足规则判断条件,没有正在生效的报警记录,说明设备运行正常,不做处理。

本发明实施例中,所述规则包括设备标识符、订阅消息主题、判断标准、后续动作。其中,判断标准又进一步包括报警触发规则、报警解除规则;后续动作又进一步包括发送用户消息、发送MQTT消息。进一步地,报警触发规则和报警解除规则可分为:单次满足条件即触发或解除、连续多次满足条件即触发或解除、在预设时间内连续满足条件即触发或解除。

本发明实施例中,用户交互模块1提供可视化用户操作界面,用户可以点选设备,选择设备所支持的属性,填写阈值,设置报警规则。用户也可以在用户交互模块1点选设备并指定起止日期,对设备的报警记录进行查询等等。

实施例2

本实施例提供一种用于智慧工地的规则引擎系统,如图2所示,用户交互模块1将新增规则、配置规则数据传输给规则数据存储模块21,并通过移动终端接收来自规则判断模块3的后续动作消息;

规则数据存储模块21通过规则模板以及接收到的用户配置的规则,生成对应设备的规则并发送给规则判断模块3;

规则判断模块3,根据接收到的规则和来自数据网关模块4的订阅消息,决定是否触发判断,若触发判断,则将触发记录发送给规则数据存储模块2以报警记录进行存储,并移动终端将后续动作消息发送给用户交互模块1;

数据网关模块4,负责分别向时序数据存储模块22和规则判断模块3发送订阅消息。

本发明实施例中,时序数据存储模块具有状态记录和属性记录的功能。

在实施例1的基础上,本实施例还对各类设备定义了规则模板,规则模板的格式如图3所示,规则模板包括名称、设备类型、规则、参数等内容,设备规则对应设备及其规则、动作。规则模板与设备规则对应,根据设备规则触发报警记录,所述报警记录包括报警级别、触发时间、解除时间、触发记录以及报警状态等内容。

本发明实施例中,数据存储模块的数据库设计为:

[

{

"ID":"规则模板编号",

"Unique":true或false//是否满足一次性条件

"CreateRule"://触发条件

{

"Params":{"参数名称":参数值},

"Type"://规则类型及参数

{

"TypeName"://规则类型

"Params":参数

}

"Actions":后续动作

}

"ClearRule"://解除条件,格式同触发条件

}.

…//可配置多条规则的列表

],

其中,设备规则需要根据某个规则模板创建,为1对多关系;报警记录由某一个设备规则触发,也为1对多关系。

本发明实施例中,用户在用户界面选择设备时,系统根据设备类型列出可供选择的规则模板,用户可通过点选属性和填写属性值的方式,交互式地生成规则,并存入规则数据存储模块21。

本发明实施例中,规则判断模块3在接收到经数据网关模块4处理过的设备数据时,分别从规则数据存储模块21、时序数据存储模块22中查询对应设备的规则以及是否有正在生效的报警记录。若满足规则判断条件,没有正在生效的报警记录,说明需要触发一次新的报警,需要发出报警消息。若不满足规则判断条件,有正在生效的报警记录,说明该条报警记录已接触,需要发出解除报警的消息。

本发明实施例中,用户通过用户交互模块1配置规则时,也可选择是否通过短信或微信小程序发送通知,并可以选择接收者的手机号码。当规则判断模块3需要发出报警或解除报警的消息时,将同时通过短信或微信小程序消息通知相关人员。

实施例3

参考图4,本发明实施例中提供了一种用于智慧工地的规则引擎方法,包括:

步骤S1,用户交互模块接收用户的配置规则指令,将所述配置规则发送给所述数据存储模块进行存储。

步骤S11,用户通过用户交互模块点选设备,选择设备所支持的属性,填写阈值,设置报警规则;

步骤S12,用户交互模块将用户配置的设备规则发送给数据存储模块进行存储,等待规则判断模块的访问。

步骤S2,终端设备采集现场数据,接收数据网关模块发送的指令时,将采集的数据发送给所述数据网关模块。

步骤S3,数据网关模块对所述数据进行处理,并将处理后的数据发送给数据存储模块和规则判断模块。

步骤S31,数据网关模块对接收到的数据进行格式转换等预处理,将处理后的数据通过MQTT协议发送给数据存储模块和规则判断模块。

步骤S4,规则判断模块根据所述规则对所述处理后的数据进行判断处理。

步骤S41,规则判断模块在接收到经过数据网关模块处理过的设备数据时,查询数据存储模块中提前配置的设备规则以及是否有正在生效的报警记录,结合所述规则和报警记录的情况,对所述数据进行判断处理,具体地,包括:

步骤S411,若数据满足规则判断条件,有正在生效的报警记录,说明现在的异常情况是该条报警记录的延续,不做处理;

步骤S412,若数据满足规则判断条件,没有正在生效的报警记录,说明需要触发一次新的报警,需要发出报警消息;

步骤S413,若数据不满足规则判断条件,有正在生效的报警记录,说明该条报警记录已接触,需要发出解除报警的消息;

步骤S414,若数据不满足规则判断条件,没有正在生效的报警记录,说明设备运行正常,不做处理。

步骤S5,用户交互模块展示所述判断处理结果。

步骤S51,用户交互模块接收规则判断模块的处理结果,并提供报警记录的展示。

本发明提供的用于智慧工地的规则引擎系统及方法,使智慧工地的业务系统与规则引擎系统分离,适用于智慧工地的多种应用场景;容易对规则进行变更,系统根据配置的规则,实现实时的设备报警和消息推送;简化了智慧工地系统用户配置设备规则的方式,规则配置灵活,用户无需编写代码或配置文件,只需通过用户交互模块进行交互,点选设备,填写少量参数即可完成设备规则的配置。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120115993257