CN110704049B - 一种简单易用的规则引擎条件配置方法 - Google Patents

一种简单易用的规则引擎条件配置方法 Download PDF

Info

Publication number
CN110704049B
CN110704049B CN201910953853.XA CN201910953853A CN110704049B CN 110704049 B CN110704049 B CN 110704049B CN 201910953853 A CN201910953853 A CN 201910953853A CN 110704049 B CN110704049 B CN 110704049B
Authority
CN
China
Prior art keywords
data
reporting
product
configuration
type
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
Application number
CN201910953853.XA
Other languages
English (en)
Other versions
CN110704049A (zh
Inventor
邱海飞
王旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unicloud Technology Co Ltd
Original Assignee
Unicloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Unicloud Technology Co Ltd filed Critical Unicloud Technology Co Ltd
Priority to CN201910953853.XA priority Critical patent/CN110704049B/zh
Publication of CN110704049A publication Critical patent/CN110704049A/zh
Application granted granted Critical
Publication of CN110704049B publication Critical patent/CN110704049B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种简单易用的规则引擎条件配置方法,包括以下步骤:创建规则;订阅配置;目的地配置;用户选择启动/暂停规则。本发明有益效果:能够灵活选择数据订阅类型;可以灵活的选择订阅数据内容;可以在条件配置页动态加载订阅数据,方便使用者直观的查询使用;采用mvel语法,更加符合面向对象思想,对开发者更为友好。

Description

一种简单易用的规则引擎条件配置方法
技术领域
本发明属于规则引擎的配置技术领域,尤其是涉及一种简单易用的规则引擎条件配置方法。
背景技术
现有的规则引擎条件配置,有些直接使用sql编写,有些使用下拉选项,有些仅支持事件转发。对于使用者而言sql编写要求较高,需要知道表格信息及字段信息,同时需要对sql语言有一定的技术要求;使用下拉选项局限性较大,只能选择选项内的信息,同时操作起来较为复杂,当条件过多时需要一个一个的配置,较为繁琐;仅支持事件转发有时又无法满足用户的需求。
发明内容
有鉴于此,本发明旨在提出一种简单易用的规则引擎条件配置方法,以解决上述问题的不足之处。
为达到上述目的,本发明的技术方案是这样实现的:
一种简单易用的规则引擎条件配置方法,包括以下步骤:
I.创建规则;
II.订阅配置;
III.目的地配置;
IV.用户选择启动/暂停规则。
进一步的,所述步骤I中创建规则的过程为,填写规则名称,选择规则转发数据类型。
进一步的,所述步骤I中转发数据类型包括属性、事件和服务。
进一步的,所述步骤II中订阅配置的过程为,选择产品,根据产品选择数据上报类型和上报数据。
进一步的,所述步骤IV中启动规则进行数据处理的过程为:
IV1.数据上报;
IV2.对步骤IV1的数据进行解析;
IV3.判断数据类型;
IV4.索引已启动的转发数据类型的规则;
IV5.转发至规则目的地。
进一步的,所述步骤I中当转发数据类型为属性时,步骤II的订阅配置过程为:选择产品,根据产品选择数据上报类型和上报数据,数据上报类型包括触发上报和周期上报,上报数据包含两个层面,一个层面为产品中定义的属性选择,另一个层面为产品下的设备选择,两个层面相互独立,然后取配置的交集进行属性数据的订阅。
进一步的,当所述转发数据类型为属性时,步骤IV的过程为:当属性数据上报时,根据上报属性中携带的设备信息,根据步骤II中的配置索引到设备从属的所有已启动规则,然后根据规则条件配置,将上报的数据值替换掉条件中的变量,使条件形成一条可进行运算的指令,然后对该指令进行运算,返回运算结果,
如果运算结果为true,则将该数据转发到步骤III中配置的目的地中,如果运算结果为false,则将该数据丢弃,不进行转发。
进一步的,所述规则引擎条件配置方法采用mvel语法编写。
进一步的,在所述规则条件配置的配置页动态加载已订阅的设备属性信息,所述设备属性信息包括属性对应的字段信息,通过字段信息查询属性信息,通过属性信息查询字段信息,并且在所述规则条件配置中设有函数库和提示单元,所述提示单元用于显示提示信息和帮助说明。
进一步的,所述步骤I中当转发数据类型为事件时,步骤II的订阅配置过程为:选择产品,根据产品选择数据上报类型和上报数据,上报类型为触发上报,上报数据包含两个层面,一个层面为产品中定义的事件选择,另一个层面为产品下的设备选择,两个层面相互独立,然后取配置的交集进行事件数据的订阅。
进一步的,当所述转发数据类型为事件时,步骤IV的过程为:当事件数据上报时,根据上报事件中携带的设备信息,根据步骤II中的配置索引到设备从属的所有已启动规则,将该数据转发到步骤III中配置的目的地中。
进一步的,所述步骤I中当转发数据类型为服务时,步骤II的订阅配置过程为:选择产品,根据产品选择数据上报类型和上报数据,上报类型为触发上报,上报数据包含两个层面,一个层面为产品中定义的服务选择,,另一个层面为产品下的设备选择,两个层面相互独立,最终取配置的交集进行服务数据的订阅。
进一步的,当所述转发数据类型为服务时,步骤IV的过程为:当服务数据下发时,根据下发服务中携带的设备信息,根据步骤II的配置索引到设备从属的所有已启动规则,将该数据转发到步骤III的配置的目的地中。
相对于现有技术,本发明所述的简单易用的规则引擎条件配置方法具有以下优势:
本发明所述的简单易用的规则引擎条件配置方法能够灵活选择数据订阅类型(属性、服务、事件);可以灵活的选择订阅数据内容(数据层面和设备层面);可以在条件配置页动态加载订阅数据,方便使用者直观的查询使用;采用mvel语法,更加符合面向对象思想,对开发者更为友好。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的规则引擎条件配置方法流程图;
图2为本发明实施例所述的启动规则进行数据处理时的流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
如图1所示,一种简单易用的规则引擎条件配置方法,包括以下步骤:
I.创建规则;
II.订阅配置;
III.目的地配置;
IV.用户选择启动/暂停规则。
所述步骤I中创建规则的过程为,填写规则名称,选择规则转发数据类型。
所述步骤I中转发数据类型包括属性、事件和服务。
所述步骤II中订阅配置的过程为,选择产品,根据产品选择数据上报类型和上报数据。
如图2所示,所述步骤IV中启动规则进行数据处理的过程为:
IV1.数据上报;
IV2.对步骤IV1的数据进行解析;
IV3.判断数据类型;
IV4.索引已启动的转发数据类型的规则;
IV5.转发至规则目的地。
所述步骤I中当转发数据类型为属性时,步骤II的订阅配置过程为:选择产品,根据产品选择数据上报类型和上报数据,数据上报类型包括触发上报和周期上报,用户可根据使用场景自行选择,其中,触发上报为触发式的上报数据,发起方为真实物理设备,平台实时监听设备上报的数据,周期上报为周期式的上报数据,平台会根据上报周期,获取设备周期内最新的数据;上报数据包含两个层面,一个层面为产品中定义的属性选择,该配置可有针对性的对某些属性进行订阅配置;另一个层面为产品下的设备选择,该配置可有针对性的对某些设备进行订阅配置,两个层面相互独立,然后取配置的交集进行属性数据的订阅。例如选择了产品的P1、P2属性,选择了产品的D1设备,那么该规则最终订阅的数据为D1设备的P1、P2属性。
当所述转发数据类型为属性时,步骤IV的过程为:当属性数据上报时,根据上报属性中携带的设备信息,根据步骤II中的配置索引到设备从属的所有已启动规则,然后根据规则的条件配置,将上报的数据值替换掉条件中的变量,使条件形成一条可进行运算的指令,例如条件配置为P1+P2>2,上报数据为P1是1,P2是2,则本发明会将条件转换为1+2>2,然后对该指令进行运算,返回运算结果,如果运算结果为true,则将该数据转发到步骤III中配置的目的地中,如果运算结果为false,则将该数据丢弃,不进行转发。至此,一次完整的属性类型的规则引擎处理就结束了。
在所述规则条件配置的配置页动态加载已订阅的设备属性信息,所述设备属性信息包括属性对应的字段信息,用于后续条件编写,并且提供多维度的查询功能,通过字段信息查询属性信息,通过属性信息查询字段信息,方便编写与对比,所述字段信息均在其他页面中可见,为公开数据,不会涉及数据安全问题。并且在所述规则条件配置中设有函数库和提示单元,所述提示单元为可随时开关的悬浮框,所述提示单元用于显示提示信息和帮助说明,即便是初次使用者也能够直观快速上手,为使用者提供便捷的操作环境。
所述步骤I中当转发数据类型为事件时,步骤II的订阅配置过程为:选择产品,根据产品选择数据上报类型和上报数据,上报类型为触发上报,这是因为相比属性的规则配置,事件都是触发式的,即默认为触发上报,不存在周期上报的概念;上报数据包含两个层面,一个层面为产品中定义的事件选择,该配置可有针对性的对某些事件进行订阅配置,另一个层面为产品下的设备选择,该配置可有针对性的对某些设备进行订阅配置,两个层面相互独立,然后取配置的交集进行事件数据的订阅,例如选择了产品的E1、E2事件,选择了产品的D1设备,那么该规则最终订阅的数据为D1设备的E1、E2事件。
当所述转发数据类型为事件时,步骤IV的过程为:当事件数据上报时,根据上报事件中携带的设备信息,根据步骤II中的配置索引到设备从属的所有已启动规则,将该数据转发到步骤III中配置的目的地中,这是因为事件不存在条件配置,因此只要设备上报事件,则会无条件的进行转发。至此,一次完整的事件类型的规则引擎处理就结束了。
所述步骤I中当转发数据类型为服务时,步骤II的订阅配置过程为:选择产品,根据产品选择数据上报类型和上报数据,上报类型为触发上报,上报数据包含两个层面,一个层面为产品中定义的服务选择,该配置可有针对性的对某些服务进行订阅配置,另一个层面为产品下的设备选择,该配置可有针对性的对某些设备进行订阅配置,两个层面相互独立,最终取配置的交集进行服务数据的订阅,例如选择了产品的S1、S2服务,选择了产品的D1设备,那么该规则最终订阅的数据为D1设备的S1、S2服务。
当所述转发数据类型为服务时,步骤IV的过程为:当服务数据下发时,根据下发服务中携带的设备信息,根据步骤II的配置索引到设备从属的所有已启动规则,将该数据转发到步骤III的配置的目的地中,由于服务不存在条件配置,因此只要平台下发服务,则会无条件的进行转发。至此,一次完整的服务类型的规则引擎处理就结束了。
所述规则引擎条件配置方法采用mvel语法编写,该语法受到java语法的启发,旨在成为更为有效的表达式语言,比如直接支持集合、数组和字符串匹配,正则表达式的等运算操作,通过点操作,更符合面向对象开发者的使用习惯。在条件表达式编写完成后,会进行合法性校验,避免使用者由于手误而配置了无效的条件表达式。
本实施例中,所述设备是指对真实物理设备的映射概念,例如空气传感器,智能锁等真实存在的物理设备,可以在平台上创建对应的设备信息,用于物理设备和平台进行数据传输。所述产品是拥有相同规格设备的抽象概念,可以在产品(例如传感器)中定义属性(例如空气湿度,空气温度)、事件(例如断电报警)、服务(例如打开喷淋),然后可以基于此产品(例如传感器)批量添加设备,同一产品下的设备均拥有产品定义的属性、服务、事件。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种简单易用的规则引擎条件配置方法,其特征在于,包括以下步骤:
I.创建规则;
II.订阅配置;
III.目的地配置;
IV.用户选择启动/暂停规则;
所述步骤IV中启动规则进行数据处理的过程为:
IV1.数据上报;
IV2.对步骤IV1的数据进行解析;
IV3.判断数据类型;
IV4.索引已启动的转发数据类型的规则;
IV5.转发至规则目的地;
选择产品,根据产品选择数据上报类型和上报数据,数据上报类型包括触发上报和周期上报,上报数据包含两个层面,一个层面为产品中定义的属性选择,另一个层面为产品下的设备选择,两个层面相互独立,然后取配置的交集进行属性数据的订阅;
当所述转发数据类型为属性时,步骤IV的过程为:当属性数据上报时,根据上报属性中携带的设备信息,根据步骤II中的配置索引到设备从属的所有已启动规则,然后根据规则的条件配置,将上报的数据值替换掉条件中的变量,使条件形成一条可进行运算的指令,然后对该指令进行运算,返回运算结果,如果运算结果为true,则将该数据转发到步骤III中配置的目的地中,如果运算结果为false,则将该数据丢弃,不进行转发;
在所述规则条件配置的配置页动态加载已订阅的设备属性信息,所述设备属性信息包括属性对应的字段信息,通过字段信息查询属性信息,通过属性信息查询字段信息,并且在所述规则条件配置中设有函数库和提示单元,所述提示单元用于显示提示信息和帮助说明。
2.根据权利要求1所述的一种简单易用的规则引擎条件配置方法,其特征在于:所述步骤I中创建规则的过程为,填写规则名称,选择规则转发数据类型。
3.根据权利要求1所述的一种简单易用的规则引擎条件配置方法,其特征在于,所述步骤I中当转发数据类型为事件时,步骤II的订阅配置过程为:选择产品,根据产品选择数据上报类型和上报数据,上报类型为触发上报,上报数据包含两个层面,一个层面为产品中定义的事件选择,另一个层面为产品下的设备选择,两个层面相互独立,然后取配置的交集进行事件数据的订阅。
4.根据权利要求3所述的一种简单易用的规则引擎条件配置方法,其特征在于,当所述转发数据类型为事件时,步骤IV的过程为:当事件数据上报时,根据上报事件中携带的设备信息,根据步骤II中的配置索引到设备从属的所有已启动规则,将该数据转发到步骤III中配置的目的地中。
5.根据权利要求1所述的一种简单易用的规则引擎条件配置方法,其特征在于,所述步骤I中当转发数据类型为服务时,步骤II的订阅配置过程为:选择产品,根据产品选择数据上报类型和上报数据,上报类型为触发上报,上报数据包含两个层面,一个层面为产品中定义的服务选择,另一个层面为产品下的设备选择,两个层面相互独立,最终取配置的交集进行服务数据的订阅。
6.根据权利要求5所述的一种简单易用的规则引擎条件配置方法,其特征在于,当所述转发数据类型为服务时,步骤IV的过程为:当服务数据下发时,根据下发服务中携带的设备信息,根据步骤II的配置索引到设备从属的所有已启动规则,将该数据转发到步骤III的配置的目的地中。
CN201910953853.XA 2019-10-09 2019-10-09 一种简单易用的规则引擎条件配置方法 Active CN110704049B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910953853.XA CN110704049B (zh) 2019-10-09 2019-10-09 一种简单易用的规则引擎条件配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910953853.XA CN110704049B (zh) 2019-10-09 2019-10-09 一种简单易用的规则引擎条件配置方法

Publications (2)

Publication Number Publication Date
CN110704049A CN110704049A (zh) 2020-01-17
CN110704049B true CN110704049B (zh) 2023-07-04

Family

ID=69199437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910953853.XA Active CN110704049B (zh) 2019-10-09 2019-10-09 一种简单易用的规则引擎条件配置方法

Country Status (1)

Country Link
CN (1) CN110704049B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112583897A (zh) * 2020-11-30 2021-03-30 北京百度网讯科技有限公司 规则引擎的数据目的地创建方法、装置、电子设备和存储介质
CN112422695A (zh) * 2020-12-07 2021-02-26 重庆忽米网络科技有限公司 一种支持多协议多规则的工业设备数据转发方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617705A (zh) * 2013-12-10 2014-03-05 北京邮电大学 一种基于规则的物联网报警方法和系统
CN104023020A (zh) * 2014-06-13 2014-09-03 中国民航信息网络股份有限公司 针对移动设备的TypeB报文订阅推送系统及相应方法
CN104702638A (zh) * 2013-12-06 2015-06-10 华为技术有限公司 事件的订阅分发方法和装置
EP2901750A2 (en) * 2012-09-27 2015-08-05 Alcatel Lucent Congestion control for radio access networks (ran)
CN106464665A (zh) * 2014-02-28 2017-02-22 泰科消防及安全有限公司 与消息路由结合的规则引擎

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7898423B2 (en) * 2007-07-31 2011-03-01 At&T Intellectual Property I, L.P. Real-time event notification
TWI615037B (zh) * 2012-06-27 2018-02-11 尤比奎蒂網絡公司 控制感應器裝置的方法和設備
CN104050543B (zh) * 2014-06-30 2017-06-20 华为技术有限公司 流处理系统中的事件处理方法及流处理系统
CN106101090A (zh) * 2016-06-07 2016-11-09 中国建设银行股份有限公司 用于规则引擎的操作方法以及规则引擎系统
CN107566498A (zh) * 2017-09-08 2018-01-09 深圳市智物联网络有限公司 一种基于物联网的数控机床监控方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2901750A2 (en) * 2012-09-27 2015-08-05 Alcatel Lucent Congestion control for radio access networks (ran)
CN104702638A (zh) * 2013-12-06 2015-06-10 华为技术有限公司 事件的订阅分发方法和装置
CN103617705A (zh) * 2013-12-10 2014-03-05 北京邮电大学 一种基于规则的物联网报警方法和系统
CN106464665A (zh) * 2014-02-28 2017-02-22 泰科消防及安全有限公司 与消息路由结合的规则引擎
CN104023020A (zh) * 2014-06-13 2014-09-03 中国民航信息网络股份有限公司 针对移动设备的TypeB报文订阅推送系统及相应方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SRE: Semantic Rules Engine for the Industrial Internet-Of-Things Gateways;Charbel El Kaed等;《 IEEE Transactions on Industrial Informatics 》;715 - 724 *
基于发布订阅的分布式复杂事件处理系统的研究与实现;王奇;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-390 *

Also Published As

Publication number Publication date
CN110704049A (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
JP7037555B2 (ja) サービス層のためのアクセス制御ポリシーの同期
US11687413B1 (en) Data snapshots for configurable screen on a wearable device
KR101975845B1 (ko) M2m 시스템들에 대한 시맨틱 주석 및 시맨틱 저장소
US8417690B2 (en) Automatically avoiding unconstrained cartesian product joins
US7451136B2 (en) System and method for searching multiple disparate search engines
US9680782B2 (en) Identifying relevant content in email
US7970823B2 (en) System for sharing data objects among applications
CN110704049B (zh) 一种简单易用的规则引擎条件配置方法
US20050204367A1 (en) Integration architecture for non-integrated tools
US20060047648A1 (en) Comprehensive query processing and data access system and user interface
JP2019537775A (ja) 分散されたセマンティック記述子に対するセマンティッククエリ
WO2007143198A2 (en) A system for adaptively querying a data storage repository
CN110196888A (zh) 基于Hadoop的数据更新方法、装置、系统及介质
CN115062046A (zh) 数据库查询方法、装置、电子设备及存储介质
CN105634822B (zh) 基于告警分组实现快速查询告警信息的方法及装置
CN101562633B (zh) 可视化服务网络用户交互系统
US20190294418A1 (en) Multi-platform interface framework
CN105681100A (zh) 一种综合网管多协议采集调度方法
US20200167133A1 (en) Web service mashup orchestrator
KR20190074552A (ko) 이종 데이터를 통합하기 위한 매쉬업 방법 및 그 장치
US7155503B2 (en) Data server
CN111324388A (zh) 网页信息监控方法和装置、存储介质、电子设备
US11842118B1 (en) Interface for data visualizations on a wearable device
KR101132741B1 (ko) 메타데이터 관리 시스템 및 방법
CN116756727B (zh) 一种数据权限控制方法、装置、电子设备和存储介质

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
GR01 Patent grant