CN111245907A - 一种基于规则匹配的事件处理方法及系统 - Google Patents
一种基于规则匹配的事件处理方法及系统 Download PDFInfo
- Publication number
- CN111245907A CN111245907A CN201911424016.4A CN201911424016A CN111245907A CN 111245907 A CN111245907 A CN 111245907A CN 201911424016 A CN201911424016 A CN 201911424016A CN 111245907 A CN111245907 A CN 111245907A
- Authority
- CN
- China
- Prior art keywords
- rule
- message
- event
- service
- queue
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5045—Making service definitions prior to deployment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5051—Service on demand, e.g. definition and deployment of services in real time
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
一种基于规则匹配的事件处理方法及系统,包括:事件接入服务,配置事件源对应的接入规则,通过调用接口完成事件的接入;事件切分服务,订阅源消息,按照规则进行消息的切分、清洗和入库;计算服务,订阅切分消息,根据计算规则,调用对应的计算服务,将返回结果和源切分消息组合成一条新消息,按照入库规则进行操作;规则匹配服务,订阅计算消息,根据规则进行过滤,对满足条件的消息,封装对应的执行动作和推送方式,写入消息;推送服务,配置订阅的规则消息对应的消息模板、选择模板中需要变量替换的字段以及接收人。
Description
技术领域
本发明涉及计算机网络技术领域,更具体地,涉及一种基于规则匹配的事件处理方法及系统。
背景技术
在日常工作场景中,存在大量的事件,如:应用报警、产品更新、工单、系统操作、脚步执行等,这些事件各有不同的处理需求,都涉及规则匹配。在传统的涉及业务规则的应用系统开发过程中,业务规则一般都是在需求分析阶段由用户提供,内嵌在应用系统的程序代码中。应用系统一旦开发完成,业务规则便相对固定不易被改动。
发明内容
为了满足快速变化的业务需求,以及提高应用系统的灵活性,将事件的处理拆分成多个功能独立的服务,采用基于消息的触发方式,能够做到完全解耦,同时引入规则匹配引擎,将业务规则从程序代码中分离出来,规则通过界面配置产生,以支撑快速变化的业务需求。
本发明提供一种基于规则匹配的事件处理方法,包括:
步骤一、接入服务,配置事件源对应的接入规则,选择接入方式,对各种不同类型的事件,采用统一的方式接收并写入接入队列;
步骤二、切分服务,订阅接入队列,根据事件源对应的切分规则进行消息的切分、清洗,将消息内容格式化key-value键值对,写入切分队列;
步骤三、计算服务,订阅切分队列,根据事件对应的计算规则,对该事件消息进行关联计算,消息内容富化,将计算结果和切分消息组合成一条更完整的新事件消息,写入计算队列;
步骤四、规则服务,订阅计算队列,根据事件对应的字段匹配规则、服务调用和通知规则,过滤掉不符合匹配规则的事件消息,对符合匹配规则的事件消息,在源事件消息的基础上,附带上执行服务调用和通知方式的规则封装为一条新消息,写入规则队列;
步骤五、通知服务,订阅规则队列,读取匹配事件消息,根据事件消息附带的执行服务的规则,调用服务,并根据通知方式,以及通知模板,进行变量替换,完成通知推送。
在本公开的一实施例中,所述步骤一中,支持的接入方式有http、tcp和UDP。
在本公开的一实施例中,所述步骤二中,支持的切分模式有JSON模式、分隔符模式、自定义方法模式。
在本公开的一实施例中,所述步骤三中,所述计算规则为支持任何基于Restful的服务的计算函数。
在本公开的一实施例中,所述步骤四中,所述规则包括逻辑规则(and,or,not,in)或比较规则(=,!=,>,<,>=,<=,in,not in,List)。
在本公开的一实施例中,所述步骤五中,推送通知方式包括邮件、短信、语音、钉钉群。
本发明还提供一种基于规则匹配的事件处理系统,包括:
接入服务模块,配置事件源对应的接入规则,选择接入方式,对各种不同类型的事件,采用统一的方式接收并写入接入队列;
切分服务模块,订阅接入队列,根据事件源对应的切分规则进行消息的切分、清洗,将消息内容格式化key-value键值对,写入切分队列;
计算服务模块,订阅切分队列,根据事件对应的计算规则,对该事件消息进行关联计算,消息内容富化,将计算结果和切分消息组合成一条更完整的新事件消息,写入计算队列;
规则服务模块,订阅计算队列,根据事件对应的字段匹配规则、服务调用和通知规则,过滤掉不符合匹配规则的事件消息,对符合匹配规则的事件消息,在源事件消息的基础上,附带上执行服务调用和通知方式的规则封装为一条新消息,写入规则队列;
通知服务模块,订阅规则队列,读取匹配事件消息,根据事件消息附带的执行服务的规则,调用服务,并根据通知方式,以及通知模板,进行变量替换,完成通知推送。
在本公开的一实施例中,所述接入服务模块中,支持的接入方式有http、tcp和UDP。
在本公开的一实施例中,所述切分服务模块中,支持的切分模式有JSON模式、分隔符模式、自定义方法模式。
在本公开的一实施例中,所述规则服务模块中,所述规则包括逻辑规则(and,or,not,in)或比较规则(=,!=,>,<,>=,<=,in,not in,List)。
在本公开的一实施例中,所述通知服务模块中,推送通知方式包括邮件、短信、语音、钉钉群。
本发明提供的基于规则匹配的事件处理方法及系统,具有的技术效果为,通过采用消息的传递方式,做到了各服务之间完全的解耦,各服务均可以独立分布式部署,同时依据各服务的实际负载可以实现动态扩缩容。事件的接入,可以根据实际情况,自由选择处理方式,如果只需要进行信息推送,则事件可以直接写入推送服务订阅的消息中,省略不必要的环节,保证信息推送的高效和便捷。
本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明实施例的技术方案做进一步的详细描述。
附图说明
图1是基于规则匹配的事件处理方法流程图;
图2是基于规则匹配的事件处理系统架构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的实施例之一提供一种基于规则匹配的事件处理方法,整体技术方案是按照如图1所示的流程,步骤如下
步骤1:配置事件源对应的接入规则,配置包括事件源名称、事件源描述等。选择接入方式,支持的接入方式有http、tcp、UDP,确认并生成唯一的接入地址。事件生产者通过调用该接入地址,完成事件的接入,事件将以消息的方式存储;对各种不同类型的事件,采用统一的方式接收并写入接入队列,支持的消息类型有MNS、kafka、MQ等。
步骤2:选择接入事件源,配置该事件源对应的切分模式,支持的切分模式有JSON模式、分隔符模式、自定义方法模式。订阅接入队列,根据事件源对应的切分规则,对该事件消息内容按照规则进行切分、清洗,将消息内容格式化key-value键值对,写入切分队列。
步骤3:选择切分事件源,按照该事件源的字段,配置对应的计算函数,计算函数支持任何基于Restful的服务。订阅切分队列,在切分数据源的基础上,根据事件对应的计算规则,对该事件消息进行关联计算,消息内容富化,将计算结果和切分消息组合成一条更完整的新事件消息,写入计算队列。
步骤4:选择计算事件源,按照该事件源的字段,配置规则,规则包括逻辑规则(and,or),比较规则(=,!=,>,<,>=,<=,in,not in,List)。如下表1所示,字段规则“字段1=a”“字段2>5”分别标记为AB规则,规则表达式为“A AND B”。
表1
配置该事件源,在符合规则情况下,需要执行的服务和通知的方式(邮件、短信、语音、钉钉群)。订阅计算队列,读取计算之后的事件消息,根据事件对应的字段匹配规则、服务调用和通知规则,过滤掉不符合匹配规则的事件消息,对符合匹配规则的事件消息,在源事件消息的基础上,附带上执行服务调用和通知方式的规则封装为一条新消息,写入规则队列。
步骤5:订阅规则队列,读取匹配事件消息,根据事件消息附带的执行服务的规则,调用服务,并根据通知方式,以及通知模板,进行变量替换,完成通知推送。
本发明的另一实施例提供一种基于规则匹配的事件处理系统,该系统采用分布式的微服务架构,各服务模块依据功能进行划分,如图2所示,包括:
一、接入服务模块
1、配置事件源对应的接入规则,配置包括事件源名称、事件源描述等。
2、选择接入方式,支持的接入方式有http、tcp、UDP,确认并生成唯一的接入地址。
3、事件生产者,通过调用该接入地址,完成事件的接入,事件基于消息存储,写入接入队列,支持的消息类型有MNS、kafka、MQ等。
二、切分服务模块
1、选择接入事件源,配置该事件源对应的切分模式,支持的切分模式有JSON模式、分隔符模式、自定义方法模式。
2、切分服务订阅接入队列,按照事件源对应的切分规则,进行消息的切分、清洗,结果基于消息存储,写入切分队列。
三、计算服务模块
1、选择切分事件源,按照该事件源的字段,配置对应的计算函数,计算函数支持任何基于Restful的服务。
2、计算服务订阅切分队列,根据该事件源对应的计算规则,调用对应的计算服务,将计算结果和切分消息组合成一条新消息,写入计算队列。
四、规则服务模块
1、选择计算事件源,按照该事件源的字段,配置规则,规则包括逻辑规则(and,or),比较规则(=,!=,>,<,>=,<=,in,not in,List)。
2、配置该事件源,在符合规则情况下,需要执行的服务和通知的方式(邮件、短信、语音、钉钉群)。
3、规则服务订阅计算队列,根据规则匹配结果进行过滤,对符合规则的消息,在此基础上封装对应的执行服务和通知方式为一条新消息,写入规则队列。
五、推送服务模块
通知服务订阅规则队列,根据消息上封装的执行服务的规则,调用服务,并根据通知方式,以及通知模板,进行变量替换,完成通知推送。
本发明为了满足快速变化的业务需求,以及提高应用系统的灵活性,将事件的处理拆分成多个功能独立的服务,通过采用消息的触发传递方式,做到了各服务之间完全的解耦,各服务均可以独立分布式部署,同时依据各服务的实际负载可以实现动态扩缩容。同时引入规则匹配引擎,将业务规则从程序代码中分离出来,规则通过界面配置产生,根据业务需求实时变化,保证事件处理的高效和便捷,以支撑快速变化的业务需求。
以上所述仅为本发明的较佳实施例而已,为方便本领域的技术人员更容易理解而设计,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种基于规则匹配的事件处理方法,其特征在于,包括:
步骤一、接入服务,配置事件源对应的接入规则,选择接入方式,对各种不同类型的事件,采用统一的方式接收并写入接入队列;
步骤二、切分服务,订阅接入队列,根据事件源对应的切分规则进行消息的切分、清洗,将消息内容格式化key-value键值对,写入切分队列;
步骤三、计算服务,订阅切分队列,根据事件对应的计算规则,对该事件消息进行关联计算,消息内容富化,将计算结果和切分消息组合成一条更完整的新事件消息,写入计算队列;
步骤四、规则服务,订阅计算队列,根据事件对应的字段匹配规则、服务调用和通知规则,过滤掉不符合匹配规则的事件消息,对符合匹配规则的事件消息,在源事件消息的基础上,附带上执行服务调用和通知方式的规则封装为一条新消息,写入规则队列;
步骤五、通知服务,订阅规则队列,读取匹配事件消息,根据事件消息附带的执行服务的规则,调用服务,并根据通知方式,以及通知模板,进行变量替换,完成通知推送。
2.如权利要求1所述的方法,其特征在于,所述步骤一中,支持的接入方式有http、tcp和UDP。
3.如权利要求1所述的方法,其特征在于,所述步骤二中,支持的切分模式有JSON模式、分隔符模式、自定义方法模式。
4.如权利要求1所述的方法,其特征在于,所述步骤三中,所述计算规则为支持任何基于Restful的服务的计算函数。
5.如权利要求1所述的方法,其特征在于,所述步骤四中,所述规则包括逻辑规则:and,or,not,in,或比较规则:=,!=,>,<,>=,<=,in,not in,List。
6.如权利要求1所述的方法,其特征在于,所述步骤五中,推送通知方式包括邮件、短信、语音、钉钉群。
7.一种基于规则匹配的事件处理系统,其特征在于,包括:
接入服务模块,配置事件源对应的接入规则,选择接入方式,对各种不同类型的事件,采用统一的方式接收并写入接入队列;
切分服务模块,订阅接入队列,根据事件源对应的切分规则进行消息的切分、清洗,将消息内容格式化key-value键值对,写入切分队列;
计算服务模块,订阅切分队列,根据事件对应的计算规则,对该事件消息进行关联计算,消息内容富化,将计算结果和切分消息组合成一条更完整的新事件消息,写入计算队列;
规则服务模块,订阅计算队列,根据事件对应的字段匹配规则、服务调用和通知规则,过滤掉不符合匹配规则的事件消息,对符合匹配规则的事件消息,在源事件消息的基础上,附带上执行服务调用和通知方式的规则封装为一条新消息,写入规则队列;
通知服务模块,订阅规则队列,读取匹配事件消息,根据事件消息附带的执行服务的规则,调用服务,并根据通知方式,以及通知模板,进行变量替换,完成通知推送。
8.如权利要求7所述的系统,其特征在于,所述接入服务模块中,支持的接入方式有http、tcp和UDP。
9.如权利要求7所述的系统,其特征在于,所述切分服务模块中,支持的切分模式有JSON模式、分隔符模式、自定义方法模式。
10.如权利要求7所述的系统,其特征在于,所述计算服务模块中,所述计算规则为支持任何基于Restful的服务的计算函数。
11.如权利要求7所述的系统,其特征在于,所述规则服务模块中,所述规则包括逻辑规则:and,or,not,in,或比较规则:=,!=,>,<,>=,<=,in,not in,List。
12.如权利要求7所述的系统,其特征在于,所述通知服务模块中,推送通知方式包括邮件、短信、语音、钉钉群。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911424016.4A CN111245907B (zh) | 2019-12-31 | 2019-12-31 | 一种基于规则匹配的事件处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911424016.4A CN111245907B (zh) | 2019-12-31 | 2019-12-31 | 一种基于规则匹配的事件处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111245907A true CN111245907A (zh) | 2020-06-05 |
CN111245907B CN111245907B (zh) | 2022-04-22 |
Family
ID=70872894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911424016.4A Active CN111245907B (zh) | 2019-12-31 | 2019-12-31 | 一种基于规则匹配的事件处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111245907B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708645A (zh) * | 2020-06-12 | 2020-09-25 | 北京思特奇信息技术股份有限公司 | 基于流处理的事件处理方法及系统 |
CN112199206A (zh) * | 2020-08-28 | 2021-01-08 | 杭州数云信息技术有限公司 | 基于事件机制模板对实时流事件配置化处理方法及系统 |
CN113011839A (zh) * | 2021-03-10 | 2021-06-22 | 中国民航信息网络股份有限公司 | 一种航班保障任务的触发方法及相关设备 |
WO2023125189A1 (zh) * | 2021-12-31 | 2023-07-06 | 华为技术有限公司 | 一种事件规则、事件的处理方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070083866A1 (en) * | 2005-10-10 | 2007-04-12 | Oracle International Corporation | Leveraging advanced queues to implement event based job scheduling |
CN107450495A (zh) * | 2017-08-25 | 2017-12-08 | 艾普工华科技(武汉)有限公司 | 一种基于消息规则引擎的柔性在制品管理业务模型系统 |
CN107479984A (zh) * | 2016-09-29 | 2017-12-15 | 北京超图软件股份有限公司 | 基于消息的分布式空间数据处理系统 |
US20180212830A1 (en) * | 2017-01-23 | 2018-07-26 | Bsquare Corp. | Rules implementation system |
CN108399176A (zh) * | 2017-02-07 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 一种基于规则的数据处理方法及规则引擎装置 |
-
2019
- 2019-12-31 CN CN201911424016.4A patent/CN111245907B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070083866A1 (en) * | 2005-10-10 | 2007-04-12 | Oracle International Corporation | Leveraging advanced queues to implement event based job scheduling |
CN107479984A (zh) * | 2016-09-29 | 2017-12-15 | 北京超图软件股份有限公司 | 基于消息的分布式空间数据处理系统 |
US20180212830A1 (en) * | 2017-01-23 | 2018-07-26 | Bsquare Corp. | Rules implementation system |
CN108399176A (zh) * | 2017-02-07 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 一种基于规则的数据处理方法及规则引擎装置 |
CN107450495A (zh) * | 2017-08-25 | 2017-12-08 | 艾普工华科技(武汉)有限公司 | 一种基于消息规则引擎的柔性在制品管理业务模型系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708645A (zh) * | 2020-06-12 | 2020-09-25 | 北京思特奇信息技术股份有限公司 | 基于流处理的事件处理方法及系统 |
CN112199206A (zh) * | 2020-08-28 | 2021-01-08 | 杭州数云信息技术有限公司 | 基于事件机制模板对实时流事件配置化处理方法及系统 |
CN112199206B (zh) * | 2020-08-28 | 2023-12-26 | 杭州数云信息技术有限公司 | 基于事件机制模板对实时流事件配置化处理方法及系统 |
CN113011839A (zh) * | 2021-03-10 | 2021-06-22 | 中国民航信息网络股份有限公司 | 一种航班保障任务的触发方法及相关设备 |
WO2023125189A1 (zh) * | 2021-12-31 | 2023-07-06 | 华为技术有限公司 | 一种事件规则、事件的处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111245907B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111245907B (zh) | 一种基于规则匹配的事件处理方法及系统 | |
CN107515878B (zh) | 一种数据索引的管理方法及装置 | |
CN109254966A (zh) | 数据表查询方法、装置、计算机设备及存储介质 | |
CN103748579A (zh) | 在映射化简框架中处理数据 | |
US8572110B2 (en) | Textual search for numerical properties | |
CN107402950B (zh) | 基于分库分表的文件处理方法和装置 | |
CN110781183A (zh) | Hive数据库中增量数据的处理方法、装置以及计算机设备 | |
CN106503274A (zh) | 一种数据整合与搜索方法及服务器 | |
CN110188100A (zh) | 数据处理方法、装置及计算机存储介质 | |
US20110264703A1 (en) | Importing Tree Structure | |
US20080222063A1 (en) | Extensible mechanism for detecting duplicate search items | |
CN110580255A (zh) | 一种存储并检索数据的方法以及系统 | |
EP2213066A2 (en) | Acquisition and expansion of storage area network interoperation relationships | |
CN107729579A (zh) | 数据库分离设计方法及装置 | |
CN111061576B (zh) | 一种实体对象的创建方法及系统 | |
JP2015102878A (ja) | プログラム関連分析方法 | |
CN107247621B (zh) | 批处理任务的调度方法及装置 | |
CN112989775A (zh) | 一种报表生成方法及系统 | |
CN110928876A (zh) | 资信数据存储的方法和装置 | |
EP3077925B1 (en) | Enhanced service environments with user-specific working sets | |
US11809390B2 (en) | Context-dependent event cleaning and publication | |
US20100061382A1 (en) | Method, apparatus and computer program for processing a message using a message processing node | |
CN104053135A (zh) | 一种实现非结构化补充数据业务的方法及装置 | |
CN102932178A (zh) | 一种实现lvs自动化运维的方法和一种运维管理设备 | |
CN111767048B (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 |