CN111177214B - 事件联动处理方法、装置、***、电子设备及存储介质 - Google Patents

事件联动处理方法、装置、***、电子设备及存储介质 Download PDF

Info

Publication number
CN111177214B
CN111177214B CN201911318014.7A CN201911318014A CN111177214B CN 111177214 B CN111177214 B CN 111177214B CN 201911318014 A CN201911318014 A CN 201911318014A CN 111177214 B CN111177214 B CN 111177214B
Authority
CN
China
Prior art keywords
event
linkage
rule
processed
parameter
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
CN201911318014.7A
Other languages
English (en)
Other versions
CN111177214A (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.)
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Cloud Computing Beijing 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 Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Cloud Computing Beijing Co Ltd
Priority to CN201911318014.7A priority Critical patent/CN111177214B/zh
Publication of CN111177214A publication Critical patent/CN111177214A/zh
Application granted granted Critical
Publication of CN111177214B publication Critical patent/CN111177214B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及计算机技术领域,公开了一种事件联动处理方法、装置、***、电子设备及存储介质,方法包括:接收待处理事件,待处理事件包括事件类型和事件参数;在联动规则数据库中查询与待处理事件的事件类型对应的第一联动规则,联动规则数据库中的每一联动规则包括事件类型、触发条件、目标业务***和响应动作;从第一联动规则中选出事件参数所满足的触发条件以及选出的触发条件对应的联动规则,将选出的联动规则确定为目标联动规则;通知目标联动规则中的目标业务***执行对应的响应动作。本申请实施例提供的事件联动处理方法、装置、***、电子设备及存储介质,提高了事件联动处理方法的可扩展性,从而提高了不同应用场景下的软件开发效率。

Description

事件联动处理方法、装置、***、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种事件联动处理方法、装置、***、电子设备及存储介质。
背景技术
随着技术的不断发展,可通过集成各类硬件子***,并开发相应的软件***对各类硬件子***进行联动控制,即可实现各种应用场景下的自动化处理,如仓库管理***、安保***、物联网***等。现有的各种***中,各硬件子***之间相互独立,子***之间的联动机制主要靠事先编辑好的软件代码实现,灵活性差和可扩展性很差,当场景发生变化或需要增加新的设备联动场景时,需要对软件代码进行更改和重新发布,当***中涉及的设备种类、数量较多时,代码的开发、更改、维护难度成指数增长。
发明内容
本申请实施例提供一种事件联动处理方法、装置、***、电子设备及存储介质,提高了事件联动处理方法的可扩展性,从而提高了不同应用场景下的软件开发效率。
一方面,本申请一实施例提供了一种事件联动处理方法,包括:
接收待处理事件,所述待处理事件包括事件类型和事件参数;
在联动规则数据库中查询与所述待处理事件的事件类型对应的第一联动规则,所述联动规则数据库中的每一联动规则包括事件类型和触发条件,所述联动规则数据库还包括每一联动规则对应的目标业务***和响应动作;
从所述第一联动规则中选出所述事件参数所满足的触发条件以及选出的触发条件对应的联动规则,将选出的联动规则确定为目标联动规则;
通知所述目标联动规则对应的目标业务***执行对应的响应动作。
一方面,本申请一实施例提供了一种事件联动处理装置,包括:
接收模块,用于接收待处理事件,所述待处理事件包括事件类型和事件参数;
查询模块,用于在联动规则数据库中查询与所述待处理事件的事件类型对应的第一联动规则,所述联动规则数据库中的每一联动规则包括事件类型和触发条件,所述联动规则数据库还包括每一联动规则对应的目标业务***和响应动作;
匹配模块,用于从所述第一联动规则中选出所述事件参数所满足的触发条件以及选出的触发条件对应的联动规则,将选出的联动规则确定为目标联动规则;
通知模块,用于通知所述目标联动规则对应的目标业务***执行对应的响应动作。
可选地,所述触发条件包括主要条件,所述事件参数包括主要参数和次要参数;
相应地,所述匹配模块,具体用于:
从所述第一联动规则中选出所述主要参数所满足的主要条件以及选出的主要条件对应的第二联动规则;
若所述第二联动规则的触发条件还包括至少一个次要条件,则从所述第二联动规则中选出所述次要参数所满足的次要条件以及选出的次要条件对应的联动规则,则将选出的次要条件对应的联动规则确定为目标联动规则;
若所述第二联动规则的触发条件不包括次要条件,则将所述第二联动规确定为目标联动规则。
可选地,所述联动规则数据库中,相同的事件类型所对应的联动规则存储在同一规则列表中;
相应地,所述查询模块,具体用于在联动规则数据库中查询与所述待处理事件的事件类型对应的第一规则列表,将所述第一规则列表中的联动规则确定为第一联动规则。
可选地,每一规则列表对应一个索引列表,索引列表中的索引值为主要条件中的参数名和该参数名对应的参数值;
所述匹配模块,具体用于:
将所述主要参数的参数名和参数值作为查询条件,在所述索引列表中查询到符合查询条件的索引值;
从所述第一规则列表中找到所述符合查询条件的索引值对应的行,将所述对应的行中的联动规则确定为所述第二联动规则。
可选地,本申请实施例提供的事件联动处理装置还包括配置模块,用于:
响应通过规则配置界面提交的规则配置请求,所述规则配置请求包括:事件类型、触发条件、目标业务***和响应动作;
在联动规则数据库中查询与所述规则配置请求中的事件类型相同的规则列表;
按预设格式,将所述规则配置请求中的事件类型和触发条件作为一条新的联动规则,写入查询到的规则列表中;
将所述规则配置请求中的目标业务***和响应动作为所述新的联动规则对应目标业务***和响应动作,写入查询到的规则列表中;
在对应的索引列表中为所述新的联动规则创建索引。
可选地,所述通知模块,具体用于针对多个目标联动规则,通知各个目标联动规则对应的目标业务***执行对应的响应动作。
可选地,本申请实施例提供的事件联动处理装置还包括统计模块,用于:
若未确定出目标联动规则,则所述待处理事件对应的无响应次数增加1;
若所述待处理事件对应的无响应次数超过无响应阈值,则当接收到与所述待处理事件相同的待处理事件时,直接丢弃该待处理事件。
可选地,所述统计模块,还用于若所述待处理事件对应的无响应次数超过无响应阈值,生成针对所述待处理事件的告警信息。
可选地,所述响应动作包括:处理所述待处理事件或者处理指定事件。
可选地,所述联动规则还包括自定义参数;
相应地,所述通知模块,还用于在将所述待处理事件转发给所述目标业务***的同时,将所述目标联动规则中的自定义参数一同转发给所述目标业务***,以使所述目标业务***基于所述自定义参数处理所述待处理事件。
一方面,本申请一实施例提供了一种事件联动处理***,包括:多个业务***和事件联动模块;
每个业务***用于产生待处理事件,将产生的待处理事件发送给所述事件联动模块,以及处理所述事件联动模块发送的响应动作;
所述事件联动模块用于执行上述任一种方法的步骤。
一方面,本申请一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
本申请实施例提供的事件联动处理方法、装置、***、电子设备及存储介质,使得运维人员可根据业务场景的需求自由地配置、调整联动规则的事件类型、触发条件以及对应的目标业务***和响应动作。因此,当业务场景发生变化时,不需修改软件逻辑,只需要调整联动规则的事件类型、触发条件目标业务***或响应动作,即可实现业务场景的变更。当需要增加新的业务场景时,运维人员只需要根据新的业务场景件配置新的联动规则或复用已有相似业务场景的联动规则即可。简单的联动规则配置方式提高了应对业务场景变化的开发效率,提高了事件联动处理方法的可扩展性,同时也降低了对运维人员的专业要求。此外,本申请实施例的事件联动处理方法,使得产生待处理事件的业务***和消费待处理事件的业务***之间的软件逻辑完全解耦,提高了事件联动处理方法的可扩展性,从而提高了不同应用场景下的软件开发效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的事件联动处理方法的应用场景示意图;
图2为本申请一实施例提供的一种事件联动处理方法的流程示意图;
图3为本申请一实施例提供的事件联动处理方法中确定目标联动规则的流程示意图;
图4为本申请一实施例提供的事件联动处理方法中确定目标联动规则的流程示意图;
图5为本申请一实施例提供的一种事件联动处理方法的流程示意图;
图6为本申请一实施例提供的一种事件联动处理方法的流程示意图;
图7为本申请一实施例提供的事件联动处理装置的结构示意图;
图8为本申请一实施例提供的电子设备的结构示意图;
图9为本申请一实施例提供的事件联动处理***的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
为了方便理解,下面对本申请实施例中涉及的名词进行解释:
事件,从软件的角度而言,就是一系列的参数和对应的参数值的数据集合,即一系列的key-value对(或称为键值对)。
终端设备:可以安装各类应用,并且能够将已安装的应用中提供的对象进行显示的设备,该电子设备可以是移动的,也可以是固定的。例如,手机、平板电脑、各类可穿戴设备、车载设备、个人数字助理(personal digital assistant,PDA)、销售终端(point ofsales,POS)或其它能够实现上述功能的电子设备等。
附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
在具体实践过程中,一个***中的各硬件子***之间相互独立,子***之间的联动机制主要靠事先编辑好的软件代码实现,以实现具体的场景,灵活性差和可扩展性很差,当场景发生变化或需要增加新的设备联动场景时,需要对软件代码进行更改和重新发布,当***中涉及的设备种类、数量较多时,代码的开发、更改、维护难度成指数增长。其次,为一个场景设计的软件***无法适用于其他场景,例如,边防检查***执行的处理逻辑为:首先通过人脸识别子***对比受检人员和***人脸库,然后扫码识别护照,并显示出护照信息供边检人员对比;同样是对人进行检查,边防检查***的处理逻辑无法适用到交警路检***中,因为两者的查验条件完全不同,执行的响应也完全不同,针对交警路检***需要另外开发一套软件***。此外,现有技术中还有通过统一的协议来实现各硬件子***间联动的方法,但是,目前已有的联动协议,往往是针对某类应用范围比较小的场景进行设计的,比如应用于物联网***中的MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)协议,但是基于这类协议配置的过滤规则往往着眼于设备与设备之间的关联,难以进行***与***之间的匹配对接,导致当联动的设备过多时,软件***的复杂度和维护难度依然会大幅增长,并且当产生新的场景需求时,还需要对协议进行修改,这可能会影响已有场景的软件逻辑。因此,通过统一协议进行联动的方式依然存在扩展性不足、软件维护难度大的问题。
为此,本申请的发明人统一了每个业务***生成的待处理事件的格式,每一待处理事件中至少包括事件类型和事件参数,并设置了事件联动模块和联动规则数据库,每个业务***均与事件联动模块连接,联动规则数据库中存储有运维人员配置的联动规则,每一联动规则包括事件类型和触发条件,联动规则数据库还包括每一联动规则对应的目标业务***和响应动作。任一业务***产生的待处理事件后,将待处理事件发送给事件联动模块,事件联动模块在联动规则数据库中查询与该待处理事件的事件类型相同的第一联动规则,然后从第一联动规则中选出事件参数所满足的触发条件对应的联动规则,确定为目标联动规则,并通知目标联动规则对应的目标业务***执行对应的响应动作。由于联动规则中的触发条件可以随时、随意配置和调节,因而当场景发生变化时不需修改软件逻辑,且产生待处理事件的业务***和消费待处理事件的业务***之间的软件逻辑完全解耦,即产生待处理事件的业务***只关注待处理事件的产生,而处理待处理事件的业务***只关注事件的处理,因此,即便增加新的业务***,这些增加的业务***也可以使用原有的联动规则,而无需重新开发软件,提高了事件联动处理方法的可扩展性,从而提高了不同应用场景下各业务***间联动软件的开发效率。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
参考图1,其为本申请实施例提供的事件联动处理方法的应用场景示意图。该应用场景包括多个业务***101和事件联动模块102。其中,各业务***101可通过无线或有线网络与事件联动模块102连接。业务***101可以是由硬件设备和软件***组成的用于处理一些业务的专用***,如门禁***、停车管理***、结账***等。业务***101也可以是可处理各类业务的终端设备,各终端设备101可通过无线或有线网络与事件联动模块102连接,终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视、POS机、人脸识别设备、传感器设备等电子设备。事件联动模块102可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。需要说明的是,本申请实施例对业务***101的构成以及具体处理的业务不作限定。
本申请实施例中的任一业务***101既可以是待处理事件的产生方,同时也可以是待处理事件的处理方,对此不作限定。
当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
下面结合图1所示的应用场景,对本申请实施例提供的技术方案进行说明。
参考图2,本申请实施例提供一种事件联动处理方法,应用于图1所示的事件联动模块,具体包括以下步骤:
S201、接收待处理事件,该待处理事件包括事件类型和事件参数。
具体实施时,每个业务***产生的待处理事件均采用统一的格式,这样可方便事件联动模块对待处理事件进行解析和处理,快速从待处理事件中提取出事件类型和事件参数。
实际应用中,可预先定义多种事件类型,例如支付类事件、门禁类事件、人脸识别类事件等,每个业务***可产生至少一种事件类型的事件,每一待处理事件仅对应一种事件类型。使用过程中,可根据业务需求随时增加新的事件类型,本申请实施例对事件类型不作限定。
本申请实施例中,待处理事件中的事件参数为后续处理该待处理事件时所需要的数据,例如用于与联动规则中的触发条件进行匹配,或目标业务***处理该待处理事件所需的数据。每一待处理事件中包括至少一个事件参数,每一事件参数包括参数名和对应的参数值,例如,参数“userID”的参数值为“user_B”,表示该待处理事件针对“用户ID为user_B”的用户的事件,参数“doorID”的参数值为“d_1234”,表示该待处理事件是针对“商铺门d_1234”的事件。每一待处理事件中的事件参数可根据实际业务需求确定,本申请实施例对事件类型不作限定。
举例说明,一个待处理事件的事件类型为开门事件,事件参数包括“doorID=d_1234”、“userID=user_B”、“result=success”,则该待处理事件用文字描述为:“用户user_B成功开启了商铺门d_1234”。
S202、在联动规则数据库中查询与待处理事件的事件类型对应的第一联动规则,联动规则数据库中的每一联动规则包括事件类型和触发条件,联动规则数据库还包括每一联动规则对应的目标业务***和响应动作。
本申请实施例中,联动规则中的事件类型与待处理事件中的事件类型的定义一致。
本申请实施例中,触发条件是针对待处理事件中的事件参数设定的,具体地,触发条件可以是某一参数的参数值与指定参数值之间的关系,例如,触发条件可以是:参数“userID”的参数值为“user_A”;触发条件还可以是:参数“支付金额”的参数值大于“100元”;触发条件还可以是:参数“支付方式”的参数值不是“现金支付”,实际应用中可采用的触发条件不限于上述列举的形式。通过比对待处理事件的事件参数是否满足联动规则的触发条件,来确定该待处理事件是否与该联动规则匹配,从而确定出目标联动规则。
需要说明的是,某一事件类型下的联动规则中触发条件中的参数种类均来自于该事件类型下的待处理事件中事件参数的种类,即同一事件类型下,触发条件中使用的参数只能从该事件类型下的待处理事件使用的事件参数中选择。例如,若门禁类事件中可使用的事件参数包括C1、C2、…C10,则针对门禁类事件,只能参数C1、C2、…C10中选择至少一个参数作为触发条件中的参数。
本申请实施例中,目标业务***指处理该待处理事件的业务***,响应动作指需要目标业务***处理的业务,可在配置联动规则时对目标业务***和响应动作进行指定。运维人员可根据实际业务需求为联动规则配置相应的目标业务***和响应动作,本申请实施例不作限定。
举例说明,一个联动规则中的事件类型为餐饮支付类事件,触发条件为:“businessID=XX餐馆”和“支付金额≥100元”,该联动规则对应的目标业务***为停车管理***,响应动作为“向待处理事件中的用户赠送停车券”,该联动规则表示:当用户A在XX餐馆消费满100元时用户A可获得停车券。
S203、从第一联动规则中选出事件参数所满足的触发条件以及选出的触发条件对应的联动规则,将选出的联动规则确定为目标联动规则。
具体实施时,针对事件联动模块接收到的每一待处理事件,事件联动模块先从联动规则数据库中筛选出与待处理事件的事件类型对应的所有联动规则,作为第一联动规则,然后将每个第一联动规则的触发条件分别与待处理事件中的事件参数进行对比,若事件参数满足某一第一联动规则中的触发条件,则将该第一联动规则确定为目标联动规则。
具体实施时,当第一联动规则中包括多个触发条件时,需要待处理事件同时满足这多个触发条件,才可以将该第一联动规则确定为目标联动规则,只要有一个触发条件无法被满足,则不将该第一联动规则作为目标联动规则。
举例说明,假设筛选出的其中一个第一联动规则的触发条件为:“businessID=XX餐馆”和“支付金额≥100元”。若待处理事件A中的事件参数至少包括“businessID=XX餐馆”和“支付金额=200元”,则第一联动规则为该处理事件A的目标联动规则。若处理事件B中的事件参数至少包括“businessID=XX餐馆”和“支付金额=50元”,则该第一联动规则不是该处理事件B的目标联动规则。
S204、通知目标联动规则对应的目标业务***执行对应的响应动作。
具体实施时,若仅确定出一个目标联动规则,则通知该目标联动规则对应的目标业务***执行对应的响应动作。若确定出多个目标联动规则,则针对每个目标联动规则,通知该目标联动规则对应的目标业务***执行对应的响应动作。例如,确定出两个目标联动规则Rule1和Rule2,Rule1对应的目标业务***为Sys1,响应动作为M1,Rule2对应的目标业务***为Sys2,响应动作为M2,则通知业务***Sys1执行响应动作M1,通知业务***Sys2执行响应动作M2。
具体实施时,响应动作可以是处理待处理事件或者处理指定事件。运维人员在配置联动规则时,可选择当待处理事件命中该联动规则时,是直接将该处理事件转发给目标业务***,还是将运维人员为该联动规则配置的指定事件转发给目标业务***。当响应动作为处理待处理事件,事件联动模块可以直接将待处理事件转发给目标业务***,以使目标业务***对待处理事件进行处理;当响应动作为处理指定事件时,事件联动模块将响应动作中配置的指定事件转发给目标业务***,以使目标业务***对指定事件进行处理。其中,指定事件可由运维人员根据实际场景需求确定,本申请实施例不作限定,这样运维人员即可自由配置在产生待处理事件时目标业务***所要执行的业务逻辑。
本申请实施例的事件联动处理方法,统一了每个业务***生成的待处理事件的格式,使得生成的待处理事件中至少包括事件类型和事件参数,并设置了事件联动模块和联动规则数据库,每个业务***均与事件联动模块连接。联动规则数据库中存储有运维人员配置的联动规则,每一联动规则包括事件类型和触发条件,联动规则数据库还包括每一联动规则对应的目标业务***和响应动作。任一业务***产生的待处理事件后,将待处理事件发送给事件联动模块,事件联动模块在联动规则数据库中查询与该待处理事件的事件类型对应的第一联动规则,然后从第一联动规则中选出事件参数所满足的触发条件以及选出触发条件对应的联动规则,将选出的联动规则确定为目标联动规则,并通知目标联动规则对应的目标业务***执行对应的响应动作。
为此,运维人员可根据业务场景的需求自由地配置、调整联动规则的事件类型、触发条件以及对应的目标业务***和响应动作。因此,当业务场景发生变化时,不需修改软件逻辑,只需要调整联动规则的事件类型、触发条件目标业务***或响应动作,即可实现业务场景的变更。当需要增加新的业务场景时,运维人员只需要根据新的业务场景件配置新的联动规则或复用相似业务场景中的联动规则即可。简单的联动规则配置方式提高了应对业务场景变化的开发效率,提高了事件联动处理方法的可扩展性,同时也降低了对运维人员的专业要求。
此外,本申请实施例的事件联动处理方法,使得产生待处理事件的业务***和消费待处理事件的业务***之间的软件逻辑完全解耦,即产生待处理事件的业务***只关注事件的产生,而处理待处理事件的业务***只关注事件的处理,因此,即便增加新的业务***,这些增加的业务***也可以使用联动规则数据库中已有的联动规则,而无需重新开发新的软件逻辑,提高了事件联动处理方法的可扩展性,从而提高了不同应用场景下的软件开发效率。而待处理事件与联动规则的匹配完全由事件联动模块处理,可释放各个业务***的设计复杂度,降低各业务***计算资源的损耗。
在上述任一实施例的基础上,为了提高匹配目标联动规则的处理效率,本申请实施对业务***产生的待处理事件的格式和联动规则的格式做出进一步的限定。
在一种可能的实施方式中,当业务场景较多或涉及的业务***较多时,可能同时存在大量的事件类型,为了通过事件类型快速定位到与之匹配的联动规则,可设置多级事件类型,如设置多个一级事件类型,每个一级事件类型下可设置多个二级事件类型,每个二级事件类型下还可以设置多个三级事件类型,以此类推,设置的事件类型的级数可根据具体业务场景确定,本申请实施例不作限定。例如,支付类事件为一级事件类型,支付类事件下可包括餐饮支付类事件、购物类支付事件、娱乐类支付事件等二级事件类型。
通过设置多级事件类型的方式,方便对事件类型进行管理,运维人员配置联动规则时可以快速精准地选取到合适的事件类型。此外,当每种事件类型对应的联动规则较多时,更精细化的事件类型划分有助于减少每种事件类型对应的联动规则,从而提高联动规则的匹配效率。
在一种可能的实施方式中,业务***生成的待处理事件中的事件参数可包括主要参数和次要参数。在匹配目标联动规则时,优先将主要参数与基于事件类型查询到的第一联动规则中的触发条件进行匹配,以筛选出使得主要参数满足触发条件的第一联动规则,然后,再将次要参数与这些筛选出的第一联动规则的触发条件进行匹配,若次要参数满足第一联动规则的触发条件,则将该第一联动规则确定为目标联动规则。
具体实施时,待处理事件中可包含至少一个主要参数和至少一个次要参数。当然,待处理事件中也可以仅包含一个或多个主要参数,而不包含次要参数。
实际应用中,运维人员可根据具体业务场景的需要确定哪些事件参数作为主要参数,哪些事件参数作为次要参数,本申请实施例对此不作限定。
例如,场景一:当用户user_B打开商铺门d_1234时,门禁管理***可产生如下待处理事件:
上述待处理事件中,action字段表示这是一个事件,doorAccess字段表示这是一个门禁类事件,openDoor字段表示这是一个开门类子事件,userID字段表示触发此事件的用户ID(此处的用户是指商户营业人员),doorID字段表示商铺门的门禁ID,result字段表示开门动作是否成功,main表示主要参数,aux表示次要参数,在上述待处理事件中,主要参数为doorID和userID,次要参数为result。上述代处理事件用文字描述即为:“用户user_B成功开启了商铺门d_1234”。
又如,场景二:当用户user_C在xx餐馆结账时,服务***(当用户使用微信结账时,此处的服务***可以是微信后台服务***)可产生如下待处理事件:
上述待处理事件中,action字段表示这是一个事件,pay字段表示这是一个支付类事件,restaurant字段表示这是一个餐饮消费类子事件,userID字段表示触发此事件的用户ID(此处的用户是指消费者),businessID字段表示商户ID,type字段表示支付方式,“cash”表示微信支付中的零钱支付方式,amount字段表示支付金额,如“200”表示支付金额为200元,main表示主要参数,aux表示次要参数,在上述待处理事件中,主要参数为userID和businessID,次要参数为type和amount。上述代处理事件用文字描述即为:“用户user_C在xx餐馆用微信零钱支付了200元”。
待处理事件按照既定格式产生之后,需要根据后续处理待处理事件的业务逻辑确定对待处理事件感兴趣的业务***(即目标业务***),并按照一定格式配置联动规则。
在一种可能的实施方式中,联动规则的触发条件可包括主要条件和次要条件。在匹配目标联动规则时,优先根据主要条件进行匹配,再根据次要条件进行匹配。
具体实施时,联动规则可包含至少一个主要条件和至少一个次要条件。当然,联动规则也可以仅包含一个或多个主要条件,而不包含次要条件。
进一步地,为了提高匹配效率,联动规则可以仅包含一个主要条件。
实际应用中,运维人员可根据具体业务场景的需要确定哪些条件可作为主要条件,哪些条件可作为次要条件,本申请实施例对此不作限定。
进一步地,为了提高匹配效率,可选择参数值与指定参数值之间的关系为相等的条件作为主要条件。例如,“businessID="XX餐馆"”可作为主要条件,“amount≥100”不可作为主要条件,只能作为次要条件。与“amount≥100”这种范围类的条件相比,基于“businessID="XX餐馆"”这类相等关系的条件进行筛选,可获得更少的筛选结果,进而降低后续需要匹配的数据量。
进一步地,为了提高匹配效率,主要条件中的参数对应待处理事件中的主要参数。次要条件中的参数可以对应待处理事件中的主要参数,也可以对应次要参数。
举例说明,在上述场景一中,对门禁管理***产生的待处理事件感兴趣的业务***为微信后台服务***Sw。微信后台服务***Sw关注开门事件,但并不关注所有的开门事件,而是只关注商铺门d_1234的开门情况,这就形成了一个联动规则Rule1,该联动规则Rule1的格式如下:
其中,condition字段表示这是一个联动规则,doorAccess字段表示该联动规则关注门禁类事件,openDoor字段表示该联动规则关注开门类子事件,doorID="d_1234"表示该联动规则关注商铺门d_1234,result="success"表示门禁必须成功开启。上述联动规则Rule1用文字描述即为:“关注门禁开门事件,触发条件为商铺门d_1234被成功开启”。
然后,运维人员可指定联动规则Rule1对应的目标业务***为微信后台服务***Sw,响应动作可根据具体业务需求确定,例如处理待处理事件。
在上述场景一中,根据业务需求,还可配置如下联动规则Rule2:
/>
可以看到,这一条联动规则与上一条联动规则的差别在于main字段的取值,即主要条件不同。联动规则Rule2用文字描述即为:“关注门禁开门事件,触发条件为商户user_B成功打开了任意商铺门”。
然后,运维人员可指定联动规则Rule2对应的目标业务***为微信后台服务***Sw,响应动作可根据具体业务需求确定,例如处理待处理事件。
举例说明,在上述场景二中,对服务***产生的待处理事件感兴趣的业务***为停车管理***Sp。可配置如下联动规则Rule3:
联动规则Rule3用文字描述即为:“关注餐饮消费类事件,触发条件为:xx餐馆中有消费大于等于100元的账单”。
然后,运维人员可指定联动规则Rule3对应的目标业务***为停车管理***Sp,响应动作可根据具体业务需求确定,例如处理待处理事件。
在此基础上,步骤S203具体包括如下步骤:从第一联动规则中选出主要参数所满足的主要条件以及选出的主要条件对应的第二联动规则;若第二联动规则的触发条件还包括至少一个次要条件,则从第二联动规则中选出待处理事件的事件参数所满足的次要条件以及选出的次要条件对应的联动规则,将选出的次要条件对应的联动规则确定为目标联动规则;若第二联动规则的触发条件不包括次要条件,则将第二联动规则确定为目标联动规则。
参考图3,当待处理事件中只包含一个主要参数时,步骤S203具体包括:
S301、从第一联动规则中选出待处理事件的主要参数所满足的主要条件以及选出的主要条件对应的第二联动规则。
S302、获取一条第二联动规则。
S303、判断获取的第二联动规则的触发条件是否包含次要条件,若是,则执行步骤S304,若否,则执行步骤S306。
S304、判断待处理事件的次要参数是否满足该第二联动规则的次要条件,若是,则执行步骤S305,若否,则获取下一条第二联动规则,并返回步骤S303。
需要说明的是,若第二联动规则包括多个次要条件,则需要待处理事件的次要参数满足这多个次要条件,才认定待处理事件的次要参数满足该第二联动规则的次要条件。
S305、将该第二联动规则确定为目标联动规则。
参考图4,当待处理事件中包含多个主要参数时,步骤S203具体包括:
S401、获取待处理事件中的一个主要参数Cn
S402、从第一联动规则中选出获取的主要参数Cn所满足的主要条件以及选出的主要条件对应的第二联动规则。
S403、获取一条第二联动规则。
S404、判断获取的第二联动规则的触发条件是否包含次要条件,若是,则执行步骤S405,若否,则执行步骤S406。
S405、判断除主要参数Cn以外的其他事件参数是否满足该第二联动规则的次要条件,若是,则执行步骤S406,若否,则执行步骤S407。
S406、将该第二联动规则确定为目标联动规则,并执行步骤S407。
S407、判断是否为最后一条第二联动规则,若是,则执行步骤S408,若否,则获取下一条第二联动规则,并返回步骤S404。
S408、判断是否为最后一个主要参数,若是,则结束,若否,则n的数值加1,并返回步骤S401。
本申请实施例的事件联动处理方法,在待处理事件中设置主要参数和次要参数,相应地,在联动规则中区分了主要条件和次要条件,通过先对主要参数和主要条件进行匹配,筛选出部分联动规则,提高了联动规则的匹配效率。
在上述任一实施例的基础上,联动规则中还可以包括自定义参数,该自定义参数为目标业务***的处理待处理事件时所需的参数,可由运维人员根据目标业务***的处理逻辑确定。联动规则中“info”字段内的数据为自定义参数,例如,在增加上“info”字段的Rule1为:
在此基础上,本申请实施的事件联动处理方法还包括如下步骤:在将待处理事件转发给目标业务***的同时,将目标联动规则中的自定义参数一同转发给目标业务***,以使目标业务***基于自定义参数处理待处理事件。
为此,运维人员可在配置联动规则时,配置自定义参数,目标业务***可以利用自定义参数,实现自定义的软件逻辑,提高了事件联动处理方法的灵活性和可扩展性。
进一步地,本申请实施例还可以通过优化联动规则数据库的存储方式,来提高匹配目标联动规则的处理效率。
具体实施时,在联动规则数据库中,可将事件类型相同的联动规则存储在同一规则列表中,并为每一规则列表建立一个索引列表,为此,索引列表中的索引值为主要条件中的参数名和该参数名对应的参数值。其中,每条联动规则中仅包括一个主要条件,可提高检索效率,但是联动规则包含的次要条件的数量不限。通过索引在规则列表中快速定位到目标联动规则,提高目标联动规则的匹配速度。
在此基础上,步骤S202具体包括如下步骤:在联动规则数据库中查询与所述待处理事件的事件类型对应的第一规则列表,将所述第一规则列表中的联动规则确定为第一联动规则。
进一步地,步骤S203中的从第一联动规则中选出所述主要参数所满足的主要条件以及选出的主要条件对应的第二联动规则,具体包括:将主要参数的参数名和参数值作为查询条件,在索引列表中查询到符合查询条件的索引值;从第一规则列表中找到符合查询条件的索引值对应的行,将对应的行中的联动规则确定为第二联动规则。
具体地,参考图5,本申请实施例的事件联动处理方法包括如下步骤:
S501、接收待处理事件,该待处理事件包括事件类型和事件参数。
S502、在联动规则数据库中查询与待处理事件的事件类型对应的第一规则列表。
其中,联动规则数据库中每一规则列表对应一种事件类型,每一规则列表中存储针对该事件类型的所有联动规则。具体实施时,可根据待处理事件的事件类型,从联动规则数据库中查找到具有相同事件类型的第一规则列表。
S503、将主要参数的参数名和参数值作为查询条件,在索引列表中查询到符合查询条件的索引值。
S504、从第一规则列表中找到符合查询条件的索引值对应的行,将对应的行中的联动规则确定为第二联动规则。
S505、判断第二联动规则的触发条件是否包含次要条件,若是,则执行步骤S506,若否,则执行步骤S507。
S506、从第二联动规则中选出待处理事件的事件参数所满足的次要条件以及选出的次要条件对应的联动规则,将选出的次要条件对应的联动规则确定为目标联动规则,执行步骤S508。
S507、将第二联动规则确定为目标联动规则,执行步骤S508。
S508、通知目标联动规则对应的目标业务***执行对应的响应动作。
实际应用中,可采用主流关系型数据库或者是非关系型数据库对联动规则进行存储。
下面以MySQL为例,说明联动规则的存储方式和匹配方式。
联动规则所属的事件类型,对应MySQL中的数据库(database)名和表(table)名。例如,场景一中的门禁类事件可以对应db_door_access.t_open_door,或者(当需要统一管理database时)对应在同一个database中的table:db_event_linkage.t_door_access_open_door,即通过一个database或一个table存储针对某一事件类型的所有联动规则,此处database或table的作用相同与规则列表。当一个待处理事件产生时,事件联动模块根据事件类型,即可以快速找到其所对应的database或table。
下面以MySQL中的table为例,说明联动规则的存储方式。
table中的每一数据行对应一条联动规则,联动规则中的主要条件分为部分存储:参数名和参数值。所有主要条件中的参数名存储在table中名为“main_key”的列中,table中存储的参数名的类型为varchar或char。主要条件中参数名对应的参数值,存储在table中名为“main_value”的列中,table中存储的参数值的类型为varchar或char。
针对联动规则中的次要条件,可以有多种存储方式。无论采用何种方式,只需要满足以下条件即可:当按照“main_key”和“main_value”命中一个table中的数据行时,能够连带列出次要条件。
在一种可能的实施方式中,可通过如下方式存储联动规则中的次要条件:将次要条件序列化为json字符串,然后存储在名为“aux_params”的列中,“aux_params”列中的数值类型为varchar。
具体实施时,与联动规则相关的目标业务***、响应动作以及自定义参数等数据都可以存储在table中同一行的不同列中,具体存储方式可参考次要条件的存储方式,不再赘述。
表1为场景一中门禁开门类事件的table存储的部分联动规则。第一行数据对应场景一中的Rule1,第二行数据对应场景一中的Rule2。
表1
针对每一个table,还需要创建一个索引列表。对于MySQL的情况,需要创建一个多列索引列表,索引字段为:“main_key”和“main_value”,对应的索引创建语句为:
CREATE INDEX`index_main_param`ON`表名`(`main_key`,`main_value`)。
索引对提高联动规则的搜索速度有着关键的作用。以场景一为例,当产生门禁开门类事件时:
该待处理事件包含了两个主要参数doorID="d_1234"和userID="user_B"。在联动规则数据库中查找主要参数doorID="d_1234"对应联动规则的SQL语句为:SELECT*FROMdb_door_access.t_open_door WHERE`main_key`=’doorID’AND`main_value`=’d_1234’。
在联动规则数据库中查找主要参数userID="user_B"对应联动规则的SQL语句为:SELECT*FROM db_door_access.t_open_door WHERE`main_key`=’userID’AND`main_value`=’user_B’。
在MySQL的InnoDB引擎中,索引采用B+树进行存储,其时间复杂度为O(logN)。对于海量数据来说,这已经算是一个时间复杂度非常优秀的搜索速度了。接下来对于次要条件,则根据第一次SQL语句在table中搜索出来的数据条目,一个一个地进行O(N)复杂度的匹配。由于已经在主要条件过滤的阶段排除了绝大部分无关联动规则,因此后续时间复杂度为O(N)的看似低效的匹配,因此总耗时并不多。
以场景一为例,两个主要参数分别是doorID和userID。主要参数doorID可以对应到唯一的一个商户,那么涉及的场景就是关注某一个商户发生的某些事件,需要匹配的联动规则的数量一下就减少了很多。主要参数doorID可以对应到某个人,那么涉及的场景就是关注发生在某个用户身上的具体事件,需要匹配的联动规则的数量也较少。因此,基于这类相等关系的条件进行筛选,可以快速地在海量的、与本事件无关的联动规则中,查找到少数的可能相关的联动规则,并且能够在后续条件中再进一步过滤。由于已经在主要条件过滤的阶段排除了绝大部分无关联动规则,因此后续时间复杂度为O(N)的看似低效的匹配,实际上耗时不多。
下面以MongoDB为例,说明联动规则的存储方式和匹配方式。
MongoDB的使用方式和MySQL的使用方式类似。联动规则所属的事件类型对应MongoDB中的数据库(database)名和集合(collection)。比如场景一的门禁开门类事件可以对应db_door_access.c_open_door,或者也可以(当需要统一管理database时)对应在同一个database中的collection:db_event_linkage.c_door_access_open_door,即通过一个database或一个collection存储针对某一事件类型的所有联动规则,此处database或collection的作用相同与规则列表。当一个待处理事件产生时,事件联动模块根据事件类型和子类型,即可以快速找到其所对应的database或collection。
下面以MongoDB中的集合(collection)为例,说明联动规则的存储方式。
联动规则中的主要条件分为部分存储:参数名和参数值。主要条件中的参数名,在集合中存储在名为“main_key”、类型为string的列中,主要条件中的参数值被转换为字符串后存储在名为“main_value”的列中。在MongoDB中,集合中的列可以为任意类型,只要与存储的参数值的类型对应即可。
针对联动规则中的次要条件,可以有多种存储方式。无论采用何种方式,只需要满足以下条件即可:当按照“main_key”和“main_value”命中一个MongoDB中的数据行时,能够连带列出次要条件。
在一种可能的实施方式中,可通过如下方式存储联动规则中的次要条件:将次要条件中的参数名和参数值,按照MongoDB的普通key-value规则对应存在MongoDB的每一个document中。这样,当读取MongoDB数据时,即少了前文采用MySQL存储时的序列化和反序列化过程。
具体实施时,与联动规则相关的目标业务***、响应动作以及自定义参数等数据都可以按照MongoDB的普通key-value规则,对应存在MongoDB的每一个document中。
同样地,为了提高规联动则的搜索效率,需要为MongoDB集合创建索引。创建索引的方法与MySQL中创建索引的方法相同,对应的索引创建语句为:
db.集合名.createIndex({main_key:1,main_value:1})。
同样,在场景一中,对联动规则的搜索语句也是充分利用了上述复合索引的作用:
db.集合名.find({main_key:“doorID”,main_value:“d_1234”});
db.集合名.find({main_key:“userID”,main_value:“user_B”})。
MongoDB的复合索引采用红黑树存储。红黑树的搜索时间复杂度和B+树一样是O(logN),但由于具体分叉策略有略微差异,因此红黑树的查询效率比B+树更高一些。MongoDB的查询流程与MySQL原理一致,不再赘述。
具体实施时,运维人员可通过任一业务***的操作端或任一可连接事件联动模块的终端设备登陆规则配置界面,并通过该规则操作界面进行联动规则的配置。
为此,参考图6,本申请实施例的事件联动处理方法还包括如下步骤:
S601、响应通过规则配置界面提交的规则配置请求,规则配置请求包括:事件类型、触发条件、目标业务***和响应动作。
具体实施时,运维人员可通过规则配置界面选择事件类型,然后规则配置界面会显示选择的事件类型对应的可选参数列表,该可选参数列表中的参数来自于该事件类型对应的待处理事件包含的事件参数,运维人员可从可选参数列表中选择至少一个参数作为触发条件中的参数,并为触发条件中的参数配置判断逻辑,如参数C1=XXX,参数C2>a等。此外,运维人员还可以通过规则配置界面设置主要条件和次要条件。
具体实施时,规则配置界面中还显示有业务***列表和动作列表,该业务***列表包括所有可使用的业务***,该动作列表中包括可选择的响应动作,运维人员可从业务***列表中选择至少一个业务***作为该联动规则的目标业务***,从动作列表中选择至少一个响应动作作为该联动规则的响应动作,当然,运维人员也可以自定义该联动规则对应的响应动作。
S602、在联动规则数据库中查询与规则配置请求中的事件类型相同的规则列表。
具体实施时,若未查询到与规则配置请求中的事件类型相同的规则列表,则在联动规则数据库中为该事件类型新建对应的规则列表。
S603、按预设格式,将规则配置请求中的事件类型和触发条件作为一条新的联动规则,写入查询到的规则列表中。
S604、按预设格式,将规则配置请求中的目标业务***和响应动作为新的联动规则对应的目标业务***和响应动作,写入查询到的规则列表中。
其中,预设格式可参考MongoDB和MySQL的存储方式,不再赘述。
S605、在对应的索引列表中为新的联动规则创建索引。
其中,建立索引方式可参考MongoDB和MySQL中的索引创建方式,不再赘述。
具体实施时,在将规则配置请求对应的联动规则写入联动规则数据库之前,事件联动模块会对规则配置请求对应的联动规则进行自检,若检测到联动规则数据库中已有完全一致的联动规则,则在规则配置界面上显示规则已存在的提示信息。
具体实施时,针对同一类型的事件配置有的大量的条联动规则,运维人员可以对其中相关的联动规则进行关联处理,例如,将目标业务***相同、且响应动作相同、但触发条件不同的联动规则进行关联,针对任一待处理事件,若匹配到的多条关联的目标联动规则,则可仅执行对目标业务***通知一次,避免重复通知。
在此基础上,当确定出的目标联动规则中的多个目标联动规则之间存在关联关系时,针对这多个存在关联关系的目标联动规则,仅通知多个联动规则中任一联动规则中的目标业务***执行对应的响应动作,其中,存在关联关系的多条联动规则中的目标业务***和响应动作均相同;针对不存在关联关系的目标联动规则,执行通知该目标联动规则中的目标业务***执行对应的响应动作。
例如,针对待处理事件匹配到4条目标联动规则,其中3条目标联动规则具有关联关系,则表明这3条目标联动规则对应的目标业务***和响应动作是一致的,假设这3条目标联动规则对应的目标业务***均为Sys1,对应的响应动作均为M1,则针对这3条关联的目标联动规则,仅对目标业务***Sys1发送一次响应动作为M1的通知。针对剩余的1条无关联关系的目标联动规则,则通知该目标联动规则中的目标业务***执行对应的响应动作。
在上述任一实施的基础上,本申请实施例的事件联动处理方法还包括如下步骤:若未确定出目标联动规则,则待处理事件对应的无响应次数增加1;若待处理事件对应的无响应次数超过无响应阈值,则当接收到与待处理事件相同的待处理事件时,直接丢弃该待处理事件。其中,无响应阈值可根据实际业务需求确定,本申请实施例不作限定。
为此,事件联动模块可以对所有待处理事件进行统计,对联动规则的匹配率进行监控,忽略无响应次数超过无响应阈值的待处理事件,从而提高了匹配效率和计算资源的利用率。
具体实施时,当待处理事件对应的无响应次数超过无响应阈值时,事件联动处理模块可生成针对该待处理事件的告警信息,并将向相应的运维人员发送告警信息,这样运维人员可对这类待处理事件进行核实,确定是否需要为这类待处理事件配置相应的联动规则。在运维人员为这类待处理事件配置对应的联动规则后,将该类待处理事件对应的无响应次数清零。
如图7所示,基于与上述事件联动处理方法相同的发明构思,本申请实施例还提供了一种事件联动处理装置70,包括接收模块701、查询模块702、匹配模块703和通知模块704。
接收模块701,用于接收待处理事件,所述待处理事件包括事件类型和事件参数。
查询模块702,用于在联动规则数据库中查询与所述待处理事件的事件类型对应的第一联动规则,所述联动规则数据库中的每一联动规则包括事件类型和触发条件,所述联动规则数据库还包括每一联动规则对应的目标业务***和响应动作。
匹配模块703,用于从所述第一联动规则中选出所述事件参数所满足的触发条件以及选出的触发条件对应的联动规则,将选出的联动规则确定为目标联动规则。
通知模块704,用于通知所述目标联动规则对应的目标业务***执行对应的响应动作。
可选地,触发条件包括主要条件,事件参数包括主要参数和次要参数。
相应地,匹配模块703,具体用于:
从所述第一联动规则中选出所述主要参数所满足的主要条件以及选出的主要条件对应的第二联动规则;
若所述第二联动规则的触发条件还包括至少一个次要条件,则从所述第二联动规则中选出所述次要参数所满足的次要条件以及选出的次要条件对应的联动规则,则将选出的次要条件对应的联动规则确定为目标联动规则;
若所述第二联动规则的触发条件不包括次要条件,则将所述第二联动规确定为目标联动规则。
可选地,所述联动规则数据库中,相同的事件类型所对应的联动规则存储在同一规则列表中。
相应地,查询模块702,具体用于在联动规则数据库中查询与所述待处理事件的事件类型对应的第一规则列表,将所述第一规则列表中的联动规则确定为第一联动规则。
可选地,每一规则列表对应一个索引列表,索引列表中的索引值为主要条件中的参数名和该参数名对应的参数值。
相应地,匹配模块703,具体用于:将主要参数的参数名和参数值作为查询条件,在索引列表中查询到符合查询条件的索引值;从第一规则列表中找到符合查询条件的索引值对应的行,将对应的行中的联动规则确定为第二联动规则。
可选地,本申请实施例提供的事件联动处理装置还包括配置模块,用于:
响应通过规则配置界面提交的规则配置请求,规则配置请求包括:事件类型、触发条件、目标业务***和响应动作;
在联动规则数据库中查询与规则配置请求中的事件类型相同的规则列表;
按预设格式,将规则配置请求中的事件类型和触发条件作为一条新的联动规则,写入查询到的规则列表中;
将规则配置请求中的目标业务***和响应动作为新的联动规则对应目标业务***和响应动作,写入查询到的规则列表中;
在对应的索引列表中为新的联动规则创建索引。
可选地,通知模块704,具体用于:针对多个目标联动规则,通知各个目标联动规则对应的目标业务***执行对应的响应动作。
可选地,本申请实施例提供的事件联动处理装置还包括统计模块,用于:若未确定出目标联动规则,则待处理事件对应的无响应次数增加1;若待处理事件对应的无响应次数超过无响应阈值,则当接收到与待处理事件相同的待处理事件时,直接丢弃该待处理事件。
可选地,统计模块,还用于若待处理事件对应的无响应次数超过无响应阈值,生成针对待处理事件的告警信息。
可选地,响应动作包括:处理待处理事件或者处理指定事件。
可选地,联动规则还包括自定义参数。
相应地,通知模块704,还用于在将待处理事件转发给目标业务***的同时,将目标联动规则中的自定义参数一同转发给目标业务***,以使目标业务***基于自定义参数处理待处理事件。
本申请实施例提的事件联动处理装置与上述事件联动处理方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
基于与上述事件联动处理方法相同的发明构思,本申请实施例还提供了一种电子设备,该电子设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、服务器等。如图8所示,该电子设备80可以包括处理器801和存储器802。
处理器801可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于与上述事件联动处理方法相同的发明构思,本申请实施例还提供了一种事件联动处理***,参数图9,该事件联动处理***包括:多个业务***901和事件联动模块902。各业务***901可通过无线或有线网络与事件联动模块902连接。其中,每个业务***901用于产生待处理事件,将产生的待处理事件发送给事件联动模块902,以及处理事件联动模块902发送的响应动作。其中,事件联动模块902用于执行上述事件联动处理方法的步骤。
其中,业务***901可以是由硬件设备和软件***组成的用于处理一些业务的专用***,如门禁***、停车管理***、结账***等。业务***901也可以是处理某些业务的终端设备,如支付终端、终端机器人等,终端设备包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视、POS机、人脸识别设备、传感器设备等电子设备,终端设备通过其内部的引硬件设备和处理特定业务的软件程序,实现特定业务的处理并产生待处理事件或消费待处理事件。
其中,事件联动模块902可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。
本申请实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行上述事件联动处理方法的程序。
上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
以上,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本申请实施例的方法,不应理解为对本申请实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本申请实施例的保护范围之内。

Claims (17)

1.一种事件联动处理方法,其特征在于,所述方法应用于事件联动模块中,包括:
接收任一业务***发送的待处理事件,所述待处理事件包括事件类型和事件参数,所述事件参数包括主要参数与次要参数;
在联动规则数据库中查询与所述待处理事件的事件类型对应的第一联动规则,所述联动规则数据库中的每一联动规则包括事件类型和触发条件,所述联动规则数据库还包括:每一联动规则对应的目标业务***、响应动作和自定义参数,所述响应动作是所述待处理事件,所述自定义参数是所述目标业务***处理所述待处理事件时所需的参数;
从所述第一联动规则中选出与所述主要参数所满足的主要条件对应的第二联动规则,其中,在所述主要参数与所述主要条件所指示的指定参数值之间为相等关系的情况下,确定所述主要参数满足所述主要条件;在被选出的所述第二联动规则的触发条件列出所连带的至少一个次要条件的情况下,将所述第二联动规则中选出的与所述次要参数所满足的次要条件对应的联动规则,确定为目标联动规则;在被选出的所述第二联动规则的触发条件并未列出所连带的次要条件的情况下,将所述第二联动规确定为目标联动规则;
将所述待处理事件与所述目标联动规则中的自定义参数,一同转发给所述目标业务***,以使所述目标业务***基于所述自定义参数处理所述待处理事件。
2.根据权利要求1所述的方法,其特征在于,所述联动规则数据库中,相同的事件类型所对应的联动规则存储在同一规则列表中;
所述在联动规则数据库中查询与所述待处理事件的事件类型对应的第一联动规则,具体包括:
在联动规则数据库中查询与所述待处理事件的事件类型对应的第一规则列表,将所述第一规则列表中的联动规则确定为第一联动规则。
3.根据权利要求2所述的方法,其特征在于,每一规则列表对应一个索引列表,索引列表中的索引值为主要条件中的参数名和该参数名对应的参数值;
所述从所述第一联动规则中选出所述主要参数所满足的主要条件对应的第二联动规则,具体包括:
将所述主要参数的参数名和参数值作为查询条件,在所述索引列表中查询到符合查询条件的索引值;
从所述第一规则列表中找到所述符合查询条件的索引值对应的行,将所述对应的行中的联动规则确定为所述第二联动规则。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应通过规则配置界面提交的规则配置请求,所述规则配置请求包括:事件类型、触发条件、目标业务***和响应动作;
在联动规则数据库中查询与所述规则配置请求中的事件类型相同的规则列表;
按预设格式,将所述规则配置请求中的事件类型和触发条件作为一条新的联动规则,写入查询到的规则列表中;
将所述规则配置请求中的目标业务***和响应动作为所述新的联动规则对应目标业务***和响应动作,写入查询到的规则列表中;
在对应的索引列表中为所述新的联动规则创建索引。
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
若未确定出目标联动规则,则所述待处理事件对应的无响应次数增加1;
若所述待处理事件对应的无响应次数超过无响应阈值,则当接收到与所述待处理事件相同的待处理事件时,直接丢弃该待处理事件。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述待处理事件对应的无响应次数超过无响应阈值,生成针对所述待处理事件的告警信息。
7.根据权利要求1至4任一所述的方法,其特征在于,所述响应动作还包括:处理指定事件。
8.一种事件联动处理装置,其特征在于,所述装置应用于事件联动模块中,包括:
接收模块,用于接收任一业务***发送的待处理事件,所述待处理事件包括事件类型和事件参数,所述事件参数包括主要参数与次要参数;
查询模块,用于在联动规则数据库中查询与所述待处理事件的事件类型对应的第一联动规则,所述联动规则数据库中的每一联动规则包括事件类型和触发条件,所述联动规则数据库还包括:每一联动规则对应的目标业务***、响应动作和自定义参数,所述响应动作是所述待处理事件,所述自定义参数是所述目标业务***处理所述待处理事件时所需的参数;
匹配模块,从所述第一联动规则中选出与所述主要参数所满足的主要条件对应的第二联动规则,其中,在所述主要参数与所述主要条件所指示的指定参数值之间为相等关系的情况下,确定所述主要参数满足所述主要条件;在被选出的所述第二联动规则的触发条件列出所连带的至少一个次要条件的情况下,将所述第二联动规则中选出的与所述次要参数所满足的次要条件对应的联动规则,确定为目标联动规则;在被选出的所述第二联动规则的触发条件并未列出所连带的次要条件的情况下,将所述第二联动规确定为目标联动规则;
通知模块,用于将所述待处理事件与所述目标联动规则中的自定义参数,一同转发给所述目标业务***,以使所述目标业务***基于所述自定义参数处理所述待处理事件。
9.根据权利要求8所述的装置,其特征在于,所述联动规则数据库中,相同的事件类型所对应的联动规则存储在同一规则列表中;所述查询模块还用于:
在联动规则数据库中查询与所述待处理事件的事件类型对应的第一规则列表,将所述第一规则列表中的联动规则确定为第一联动规则。
10.根据权利要求9所述的装置,其特征在于,每一规则列表对应一个索引列表,索引列表中的索引值为主要条件中的参数名和该参数名对应的参数值;所述匹配模块还用于:
将所述主要参数的参数名和参数值作为查询条件,在所述索引列表中查询到符合查询条件的索引值;
从所述第一规则列表中找到所述符合查询条件的索引值对应的行,将所述对应的行中的联动规则确定为所述第二联动规则。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
配置模块,用于响应通过规则配置界面提交的规则配置请求,所述规则配置请求包括:事件类型、触发条件、目标业务***和响应动作;在联动规则数据库中查询与所述规则配置请求中的事件类型相同的规则列表;按预设格式,将所述规则配置请求中的事件类型和触发条件作为一条新的联动规则,写入查询到的规则列表中;将所述规则配置请求中的目标业务***和响应动作为所述新的联动规则对应目标业务***和响应动作,写入查询到的规则列表中;在对应的索引列表中为所述新的联动规则创建索引。
12.根据权利要求8至11任一所述的装置,其特征在于,所述装置还包括:
统计模块,用于若未确定出目标联动规则,则所述待处理事件对应的无响应次数增加1;若所述待处理事件对应的无响应次数超过无响应阈值,则当接收到与所述待处理事件相同的待处理事件时,直接丢弃该待处理事件。
13.根据权利要求12所述的装置,其特征在于,所述统计模块还用于:
若所述待处理事件对应的无响应次数超过无响应阈值,生成针对所述待处理事件的告警信息。
14.根据权利要求8至11任一所述的装置,其特征在于,所述查询模块还包括通过以下方式实现所述响应动作:处理指定事件。
15.一种事件联动处理***,其特征在于,包括:多个业务***和事件联动模块;
每个业务***用于产生待处理事件,将产生的待处理事件发送给所述事件联动模块,所述待处理事件包括事件类型和事件参数,所述事件参数包括主要参数与次要参数,所述主要参数用于与所述事件类型关联的第一联动规则进行匹配,所述次要参数用于与所述主要参数满足所述主要条件的第一联动规则进行匹配,得到目标联动规则;以及处理所述事件联动模块发送的用于指示所述业务***处理所述待处理事件的响应动作;
所述事件联动模块用于执行如权利要求1至9中任一所述方法。
16.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,
该计算机程序指令被处理器执行时实现权利要求1至7任一项所述方法的步骤。
CN201911318014.7A 2019-12-19 2019-12-19 事件联动处理方法、装置、***、电子设备及存储介质 Active CN111177214B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911318014.7A CN111177214B (zh) 2019-12-19 2019-12-19 事件联动处理方法、装置、***、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911318014.7A CN111177214B (zh) 2019-12-19 2019-12-19 事件联动处理方法、装置、***、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111177214A CN111177214A (zh) 2020-05-19
CN111177214B true CN111177214B (zh) 2024-02-09

Family

ID=70624202

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911318014.7A Active CN111177214B (zh) 2019-12-19 2019-12-19 事件联动处理方法、装置、***、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111177214B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111787094B (zh) * 2020-06-29 2022-01-28 腾讯科技(深圳)有限公司 数据处理方法、装置、存储介质及设备
CN112181624A (zh) * 2020-10-12 2021-01-05 南方电网数字电网研究院有限公司 楼宇***联动方法、装置、计算机设备和存储介质
CN112230616A (zh) * 2020-10-28 2021-01-15 腾讯科技(深圳)有限公司 一种联动控制方法、装置及联动中间件
CN112306715A (zh) * 2020-10-30 2021-02-02 北京字节跳动网络技术有限公司 一种事件处理方法及装置
CN112506197A (zh) * 2020-12-09 2021-03-16 深圳市优必选科技股份有限公司 一种导览机器人的控制方法、装置、电子设备及存储介质
CN113095624A (zh) * 2021-03-17 2021-07-09 中国民用航空总局第二研究所 一种民航机场不安全事件分类方法及***
CN113093578A (zh) * 2021-04-09 2021-07-09 上海商汤智能科技有限公司 控制方法及装置、电子设备和存储介质
CN113377426A (zh) * 2021-07-01 2021-09-10 中煤航测遥感集团有限公司 车辆监管规则配置方法、装置、计算机设备及存储介质
CN114157725B (zh) * 2021-11-11 2023-09-12 珠海格力电器股份有限公司 设备联动的方法、装置、服务器、电子设备以及存储介质
CN114419838A (zh) * 2021-12-30 2022-04-29 杭州晨鹰军泰科技有限公司 一种联动报警配置方法、装置、设备及可读存储介质
CN114386836A (zh) * 2022-01-12 2022-04-22 城云科技(中国)有限公司 基于业务规则的事件流转方法、装置及应用
CN115314529B (zh) * 2022-10-11 2023-03-21 之江实验室 一种通用的设备联动方法和***
CN116204177B (zh) * 2023-03-17 2023-10-03 湖北坤盈数字科技有限公司 一种***业务模块开发耦合组装方法、装置及计算机设备
CN116661762B (zh) * 2023-05-24 2023-11-28 珠海银弹谷网络有限公司 ***应用平台配置方法、装置、设备、存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1556613A (zh) * 2003-12-30 2004-12-22 上海交通大学 可信任主动式策略联动方法
CN101222483A (zh) * 2007-01-11 2008-07-16 华为技术有限公司 业务触发方法、***及业务触发装置
CN103077358A (zh) * 2011-09-20 2013-05-01 株式会社Pfu 信息处理装置和事件控制方法
CN104679330A (zh) * 2015-01-29 2015-06-03 深圳市中兴移动通信有限公司 基于无边框终端的控制方法及装置
CN104854810A (zh) * 2013-07-08 2015-08-19 华为技术有限公司 Gtp消息的发送控制方法及设备、数据的发送方法及设备
CN105009132A (zh) * 2013-03-11 2015-10-28 惠普发展公司,有限责任合伙企业 基于置信因子的事件关联
CN107370644A (zh) * 2017-07-18 2017-11-21 深圳市斑点猫信息技术有限公司 联动控制方法、装置、计算机可读存储介质及计算机设备
CN108733005A (zh) * 2017-04-21 2018-11-02 北京京东尚科信息技术有限公司 一种控制智能设备联动的方法及装置
CN109271298A (zh) * 2018-11-19 2019-01-25 武汉达梦数据库有限公司 一种数据库无响应故障的检测方法
CN110532536A (zh) * 2019-08-30 2019-12-03 深圳前海微众银行股份有限公司 一种规则配置方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1556613A (zh) * 2003-12-30 2004-12-22 上海交通大学 可信任主动式策略联动方法
CN101222483A (zh) * 2007-01-11 2008-07-16 华为技术有限公司 业务触发方法、***及业务触发装置
CN103077358A (zh) * 2011-09-20 2013-05-01 株式会社Pfu 信息处理装置和事件控制方法
CN105009132A (zh) * 2013-03-11 2015-10-28 惠普发展公司,有限责任合伙企业 基于置信因子的事件关联
CN104854810A (zh) * 2013-07-08 2015-08-19 华为技术有限公司 Gtp消息的发送控制方法及设备、数据的发送方法及设备
CN104679330A (zh) * 2015-01-29 2015-06-03 深圳市中兴移动通信有限公司 基于无边框终端的控制方法及装置
CN108733005A (zh) * 2017-04-21 2018-11-02 北京京东尚科信息技术有限公司 一种控制智能设备联动的方法及装置
CN107370644A (zh) * 2017-07-18 2017-11-21 深圳市斑点猫信息技术有限公司 联动控制方法、装置、计算机可读存储介质及计算机设备
CN109271298A (zh) * 2018-11-19 2019-01-25 武汉达梦数据库有限公司 一种数据库无响应故障的检测方法
CN110532536A (zh) * 2019-08-30 2019-12-03 深圳前海微众银行股份有限公司 一种规则配置方法及装置

Also Published As

Publication number Publication date
CN111177214A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN111177214B (zh) 事件联动处理方法、装置、***、电子设备及存储介质
US11580680B2 (en) Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items
US10948526B2 (en) Non-parametric statistical behavioral identification ecosystem for electricity fraud detection
US10831761B2 (en) Spatial change detector and check and set operation
US10880363B2 (en) Integrating logic in micro batch based event processing systems
US20190102387A1 (en) Geo-hashing for proximity computation in a stream of a distributed system
US20160055164A1 (en) News alert system and method
US10885167B1 (en) Intrusion detection based on anomalies in access patterns
US11714869B2 (en) Automated assistance for generating relevant and valuable search results for an entity of interest
US10990940B1 (en) Server validation of website scraped data
US20200058025A1 (en) System, methods, and devices for payment recovery platform
US11288673B1 (en) Online fraud detection using machine learning models
US20230205755A1 (en) Methods and systems for improved search for data loss prevention
US20210065245A1 (en) Using machine learning to discern relationships between individuals from digital transactional data
US10937073B2 (en) Predicting delay in a process
US20190258723A1 (en) Domain-based search engine
CN110880128A (zh) 异常信息挖掘方法、装置、***及终端设备
CN113807923B (zh) 一种订单处理方法、装置、电子设备及可读存储介质
US20230412452A1 (en) Detecting network anomalies by correlating multiple information sources
CN116521750A (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN116975118A (zh) 一种数据查询方法、装置、电子设备和存储介质
KR20230142108A (ko) 딥시그널을 통한 유저 맞춤화된 토픽에 대한 리스크 또는 기회 이벤트 모니터링 방법, 장치 및 컴퓨터-판독가능 기록매체
CN116821122A (zh) 数据存储方法、数据查询方法、以及装置、电子设备
CN114706926A (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