物联网智能设备的事件处理方法、装置、设备及存储介质与流程

文档序号:20997807发布日期:2020-06-05 22:21阅读:166来源:国知局
物联网智能设备的事件处理方法、装置、设备及存储介质与流程

本发明实施例涉及数据处理技术领域,尤其涉及一种物联网智能设备的事件处理方法、装置、设备及存储介质。



背景技术:

在一个应用网络中,应用平台通常都会提供用户自定义的事件处理策略(即设备联动)。例如,当物联网中的温度传感器感应到的温度低于某个阈值时,可以根据自定义的时间处理策略打开对应的取暖器等。应用网络中设备数量越多,对应用平台的效率要求也就越高。

现有技术在处理应用网络中的事件时,一般会使用关系数据库或非关系数据库等持久化存储手段对保存自定义的事件处理策略。在事件发生时,通过查询数据库来检查该事件是否有自定义的事件处理策略。

发明人在实现本发明的过程中,发现现有技术存在如下缺陷:由于自定义的事件处理策略的数量相对于事件的总数来说只占相当小的比例,因此会导致大量的数据库查询无法命中,进而导致事件处理效率降低。



技术实现要素:

本发明实施例提供一种物联网智能设备的事件处理方法、装置、设备及存储介质,以提高事件处理效率。

第一方面,本发明实施例提供了一种物联网智能设备的事件处理方法,包括:

获取待处理事件;

根据过滤服务器对所述待处理事件的自定义处理策略进行查询,得到第一策略查询结果;其中,所述过滤服务器仅存储自定义处理策略的触发条件;

根据所述第一策略查询结果对所述待处理事件进行处理。

第二方面,本发明实施例还提供了一种物联网智能设备的事件处理装置,包括:

待处理事件获取模块,用于获取待处理事件;

自定义处理策略查询模块,用于根据过滤服务器对所述待处理事件的自定义处理策略进行查询,得到第一策略查询结果;其中,所述过滤服务器仅存储自定义处理策略的触发条件;

待处理事件处理模块,用于根据所述第一策略查询结果对所述待处理事件进行处理。

第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的物联网智能设备的事件处理方法。

第四方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的物联网智能设备的事件处理方法。

本发明实施例通过仅存储自定义处理策略的触发条件的过滤服务器对待处理事件的自定义处理策略进行查询,以根据获取的第一策略查询结果对待处理事件进行处理,解决现有事件处理方法存在的效率低的问题,从而提高事件处理效率。

附图说明

图1是本发明实施例一提供的一种物联网智能设备的事件处理方法的流程图;

图2是本发明实施例二提供的一种物联网智能设备的事件处理方法的流程图;

图3a是本发明实施例三提供的一种物联网智能设备的事件处理方法的流程图;

图3b是本发明实施例三提供的一种物联网智能设备的事件处理方法的流程图;

图4是本发明实施例四提供的一种物联网智能设备的事件处理装置的示意图;

图5为本发明实施例五提供的一种计算机设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。

另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

实施例一

图1是本发明实施例一提供的一种物联网智能设备的事件处理方法的流程图,本实施例可适用于高效处理应用网络中事件的情况,该方法可以由物联网智能设备的事件处理装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在计算机设备中。该计算机设备可以是应用网络中的平台系统设备。相应的,如图1所示,该方法包括如下操作:

s110、获取待处理事件。

其中,待处理事件可以是应用网络中需要处理的事件。待处理事件的类型需要根据应用网络的类型确定。其中,应用网络可以是物联网网络。示例性的,假设应用网络为具有智能设备的物联网网络,则待处理事件可以是待处理的设备事件。假设应用网络为企业小型物联网,该应用网络中的平台系统为软件类型系统,则待处理事件可以是待处理的鼠标事件、键盘事件、按钮事件或html(hypertextmarkuplanguage,超文本标记语言)事件等,本发明实施例并不对待处理事件的具体事件类型进行限定。

在本发明实施例中,当应用网络中有事件发生时,应用网络的平台系统可以获取到待处理事件。可以理解的是,待处理事件可以包括两种类型,一种是系统默认事件,这类事件触发时根据事件的默认处理流程处理即可。另一种是具有自定义处理策略的事件,这类事件触发时需要按照匹配的自定义处理策略进行处理。

s120、根据过滤服务器对所述待处理事件的自定义处理策略进行查询,得到第一策略查询结果。

其中,过滤服务器仅存储自定义处理策略的触发条件。自定义处理策略可以是通过功能函数等形式制定的,用于对待处理事件进行自定义处理的策略。

其中,第一策略查询结果可以是通过过滤服务器对待处理事件的自定义处理策略进行查询得到的结果。

相应的,当平台系统获取到待处理事件后,需要确定待处理事件是否具有匹配的自定义处理策略。在本发明实施例中,确定待处理事件是否具有匹配的自定义处理策略时,可以通过过滤服务器进行查询,得到对应的第一策略查询结果。

可以理解的是,事件的主体可以包括两个组成结构,即触发条件和执行策略。触发条件即为触发事件的条件,例如,温度低于某个设定阈值可以是温度调节事件的触发条件,或,点击鼠标左键可以是鼠标事件的触发条件。执行策略即为事件具体的处理策略,例如,打开取暖器可以是温度调节事件的执行策略,或确定点击位置可以是鼠标事件的执行策略。

需要说明的是,本发明实施例中的过滤服务器仅存储自定义处理策略的触发条件,而不存储自定义处理策略的执行策略。同时,过滤服务器可以通过内存存储自定义处理策略的触发条件。通过内存仅存储自定义处理策略的触发条件的好处是:提高自定义处理策略的查询速度,进而提升事件处理效率。

可选的,过滤服务器可以是支持元素删除的布隆过滤服务器。所谓支持元素删除,即为对保存元素的比特的数量进行扩展,以使元素反应的数据特征可以添加或删除。例如,将1比特扩展为8比特。其中,元素可以是布隆过滤服务器中的关键字key。布隆过滤服务器采用基于概率的数据结构对元素进行存储。需要说明的是,为了保证高可用性,过滤服务器可以采用多台服务器组成的集群。

在本发明的一个可选实施例中,在获取待处理事件之前,还可以包括:遍历数据存储数据库,获取全部存储事件的自定义处理策略;将各所述自定义处理策略匹配的设备标识和事件标识组合成关键字标识,并将各所述关键字标识加入所述过滤服务器。

其中,数据存储数据库可以用于持久化存储事件的关联数据,其中,关联数据包括触发条件和执行策略。也即,数据存储数据库可以存储完整的事件数据。可选的,数据存储数据库可以是关系数据库或非关系数据库,本发明实施例并不对数据存储数据库的具体类型进行限定。设备标识可以是设备id(identity,身份标识号码),事件标识可以是事件id。

相应的,平台系统在获取待处理事件之前可以遍历数据存储数据库,以获取数据存储数据库全部存储事件的自定义处理策略。然后将各自定义处理策略匹配的设备标识和事件标识组合成关键字标识key,并将各关键字标识key加入过滤服务器中,以使过滤服务器完成初始化,并在确定设备发生待处理事件时,可以快速查询待处理事件是否具有匹配的自定义处理策略。

需要说明的是,过滤服务器对自定义处理策略的触发条件的存储形式为非持久化存储。也即,每当平台系统重新启动时,都需要首先进行上述初始化的过程。

s130、根据所述第一策略查询结果对所述待处理事件进行处理。

相应的,根据过滤服务器得到待处理事件的第一策略查询结果后,即可根据第一策略查询结果对待处理事件进行处理。

本发明实施例通过仅存储自定义处理策略的触发条件的过滤服务器对待处理事件的自定义处理策略进行查询,以根据获取的第一策略查询结果对待处理事件进行处理,解决现有事件处理方法存在的效率低的问题,从而提高事件处理效率。

实施例二

图2是本发明实施例二提供的一种物联网智能设备的事件处理方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,给出了根据所述第一策略查询结果对所述待处理事件进行处理的具体实现方式。相应的,如图2所示,本实施例的方法可以包括:

s210、获取待处理事件。

s220、根据过滤服务器对所述待处理事件的自定义处理策略进行查询,得到第一策略查询结果。

s230、根据所述第一策略查询结果对所述待处理事件进行处理。

其中,所述第一策略查询结果包括不存在自定义处理策略和存在自定义处理策略。相应的,s230可以包括下述具体操作:

s231、确定所述第一策略查询结果为不存在自定义处理策略,进入默认事件处理流程。

具体的,如果平台系统根据过滤服务器的查询结果确定待处理事件不存在自定义处理策略,则可以进入默认事件处理流程对待处理事件进行处理。其中,默认事件处理流程可以是系统预先定义的事件处理流程,本发明实施例并不对默认事件处理流程的具体内容进行限定。

s232、确定所述第一策略查询结果为存在自定义处理策略,根据所述数据存储数据库对所述待处理事件的自定义处理策略进行查询,得到第二策略查询结果。

其中,第二策略查询结果可以是通过数据存储数据库对待处理事件的自定义处理策略进行查询得到的结果。第二策略查询结果可以包括存在自定义处理策略和不存在自定义处理策略。

需要说明的是,过滤服务器存在约为1%的假阳性(falsepositive)误报,也即,实际上并不存在自定义处理策略,但是过滤服务器认为存在,这种假阳性误报是概率性数据结构的固有特性。

相应的,如果平台系统根据过滤服务器的查询结果确定待处理事件不存在自定义处理策略,为了避免过滤服务器假阳性误报,可以再根据数据存储数据库对待处理事件的自定义处理策略进行查询,得到对应第二策略查询结果。

s233、判断第二策略查询结果是否为不存在自定义处理策略,若是,则执行s234,否则,执行s235。

s234、进入默认事件处理流程。

同理,如果平台系统根据数据存储数据库的查询结果确定待处理事件不存在自定义处理策略,则可以确定待处理事件确实不存在自定义处理策略,并进入默认事件处理流程对待处理事件进行处理。

s235、从所述数据存储数据库读取所述待处理事件匹配的自定义处理策略,并根据所述待处理事件匹配的自定义处理策略对所述待处理事件进行处理。

相应的,如果平台系统根据数据存储数据库的第二策略查询结果确定待处理事件存在自定义处理策略,则可以从数据存储数据库读取待处理事件匹配的自定义处理策略,并根据待处理事件匹配的自定义处理策略对待处理事件进行处理。

需要说明的是,图2仅是一种实现方式的示意图,步骤s231和步骤s232-s235之间并没有先后顺序关系,可以先实施步骤s231,再实施步骤s232-s235,也可以先实施步骤s232-s235,再实施步骤s231,还可以两者并行实施。

采用上述技术方案,通过结合过滤服务器和数据存储数据库的查询结果判断待处理事件是否存在自定义处理策略,以根据两者的查询结果对待处理事件进行处理,能够有效提高查询结果的准确性和可靠性,从而进一步提高事件处理的准确性和可靠性。

实施例三

图3a是本发明实施例三提供的一种物联网智能设备的事件处理方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,给出了根据所述待处理事件匹配的自定义处理策略对所述待处理事件进行处理的具体实现方式。相应的,如图3a所示,本实施例的方法可以包括:

s310、获取待处理事件。

s320、根据过滤服务器对所述待处理事件的自定义处理策略进行查询,得到第一策略查询结果。

s330、确定所述第一策略查询结果为不存在自定义处理策略,进入默认事件处理流程。

s340、确定所述第一策略查询结果为存在自定义处理策略,根据所述数据存储数据库对所述待处理事件的自定义处理策略进行查询,得到第二策略查询结果。

s350、判断第二策略查询结果是否为不存在自定义处理策略,若是,则执行s360,否则,执行s370。

s360、进入默认事件处理流程。

s370、确定所述第二策略查询结果为存在自定义处理策略,从所述数据存储数据库读取所述待处理事件匹配的自定义处理策略,并根据所述待处理事件匹配的自定义处理策略对所述待处理事件进行处理。

相应的,s370具体可以包括下述操作:

s371、确定所述待处理事件匹配的自定义处理策略的优先级等级。

s372、根据所述优先级等级以及所述自定义处理策略对所述待处理事件进行处理。

具体的,根据待处理事件匹配的自定义处理策略对待处理事件进行处理时,可以确定待处理事件匹配的自定义处理策略的优先级等级,从而根据确定的优先级等级以及自定义处理策略对待处理事件进行处理。

需要说明的是,可以在创建应用网络的过程中为待处理事件匹配的自定义处理策略添加优先级等级属性,以使平台系统从数据存储数据库读取到待处理事件匹配的自定义处理策略后,可以根据自定义处理策略的优先级等级属性确定自定义处理策略的优先级等级。或者,也还可以在应用网络运营过程中,由管理人员根据实际的应用需求对自定义处理策略添加优先级等级属性进行更改,本发明实施例对此并不进行限制。

在本发明的一个可选实施例中,所述优先级等级可以包括第一优先级;所述根据所述优先级等级以及所述自定义处理策略对所述待处理事件进行处理,可以包括:将所述待处理事件及所述自定义处理策略进行打包,并发送至第一优先级消息队列;通过第一线程池从所述第一优先级消息队列中读取到所述待处理事件及所述自定义处理策略后,根据第一策略处理模式及所述自定义处理策略对所述待处理事件进行处理。

可选的,优先级等级可以包括不同数量的等级,如包括第一优先级和第二优先级。其中,第一优先级可以是低优先级,也即普通优先级,第二优先级可以是高优先级。优先级等级还可以划分为三个等级,如第一优先级、第二优先级和第三优先级。其中,第一优先级可以是低优先级,第二优先级可以是中优先级,第三优先级可以是高优先级。各优先级的级别重要度为:高优先级的级别重要度大于中优先级的级别重要度,中优先级的级别重要度大于低优先级的级别重要度,本发明实施例并不对优先级等级的数量进行限定。

在本发明实施例中,优先级等级可以划分为两个等级,即第一优先级和第二优先级。其中,第一优先级可以是低优先级,第二优先级可以是高优先级。高优先级的级别重要度大于低优先级的级别重要度。相应的,第一优先级消息队列可以是用于存放第一优先级的消息的队列,也即普通优先级消息队列。第一线程池可以是用于处理第一优先级消息队列中各消息的专属线程池。第一策略处理模式可以是用于对第一优先级消息队列中各消息进行处理的模式。

相应的,如果自定义处理策略的优先级等级为第一优先级,则平台系统可以将待处理事件及匹配自定义处理策略进行打包,形成对应的消息,并发送至第一优先级消息队列,以排队等待处理。当用于专属处理第一优先级消息队列的第一线程池读取到待处理事件及自定义处理策略形成的消息后,可以根据第一策略处理模式及自定义处理策略的具体策略内容对待处理事件进行处理。

在本发明的一个可选实施例中,所述根据第一策略处理模式及所述自定义处理策略对所述待处理事件进行处理,可以包括:根据所述自定义处理策略及第一预设策略执行时间对所述待处理事件进行处理;如果确定所述待处理事件在所述第一预设策略执行时间内未完成处理,则触发惩罚机制对所述自定义处理策略进行惩罚;如果确定所述自定义处理策略的惩罚次数超过第一设定阈值,则禁用所述自定义处理策略,并将禁用处理结果通知策略关联用户。

其中,第一预设策略执行时间可以是根据实际需求设定的策略执行时间,如30s或60s等,第一设定阈值同样可以是根据实际需求设定的数值,如5或10等,本发明实施例并不对第一预设策略执行时间的具体时间数值以及第一设定阈值的具体数值进行限定。策略关联用户可以包括但不限于个人用户、企业用户及平台系统管理员等,只要是与自定义处理策略相关联的人员或账户等均可以作为策略关联用户,本发明实施例并不对策略关联用户的具体类型进行限制。

具体的,根据第一策略处理模式及自定义处理策略对待处理事件进行处理时,可以根据自定义处理策略及第一预设策略执行时间对待处理事件进行处理。如果平台系统确定待处理事件在第一预设策略执行时间内未完成处理,则触发惩罚机制对自定义处理策略进行惩罚。示例性的,对自定义处理策略进行惩罚可以是:向关联用户发送自定义处理策略超时未完成的通知。自定义处理策略每触发一次惩罚机制,平台系统可以累加记数。当平台系统确定自定义处理策略的惩罚次数超过第一设定阈值,则可以禁用该自定义处理策略,并将该自定义处理策略对应的禁用处理结果通知策略关联用户。

在本发明的一个可选实施例中,所述优先级等级可以包括第二优先级;所述根据所述优先级等级以及所述自定义处理策略对所述待处理事件进行处理,可以包括:将所述待处理事件及所述自定义处理策略进行打包,并发送至第二优先级消息队列;通过第二线程池从所述第二优先级消息队列中读取到所述待处理事件及所述自定义处理策略后,根据第二策略处理模式及所述自定义处理策略对所述待处理事件进行处理。

其中,第二优先级消息队列可以是用于存放第二优先级的消息的队列,也即高优先级消息队列。第二线程池可以是用于处理第二优先级消息队列中各消息的专属线程池。第二策略处理模式可以是用于对第二优先级消息队列中各消息进行处理的模式。需要说明的是,第一线程池和第二线程池为专属线程池,也即,当第一线程池和第二线程池空闲时,也不会被其他程序所占用,从而保证事件的处理效率。

相应的,如果自定义处理策略的优先级等级为第二优先级,则平台系统可以将待处理事件及匹配自定义处理策略进行打包,形成对应的消息,并发送至第二优先级消息队列,以排队等待处理。当用于专属处理第二优先级消息队列的第二线程池读取到待处理事件及自定义处理策略形成的消息后,可以根据第二策略处理模式及自定义处理策略的具体策略内容对待处理事件进行处理。

在本发明的一个可选实施例中,所述根据第二策略处理模式及所述自定义处理策略对所述待处理事件进行处理,可以包括:根据所述自定义处理策略及第二预设策略执行时间对所述待处理事件进行处理;如果确定所述待处理事件在所述第二预设策略执行时间内未完成处理,则将打包后的所述待处理事件及所述自定义处理策略发送至所述第一优先级消息队列,以通过所述第一线程池从所述第一优先级消息队列中读取到所述待处理事件及所述自定义处理策略后,根据所述第一策略处理模式及所述自定义处理策略对所述待处理事件进行处理;触发惩罚机制对所述自定义处理策略进行惩罚;如果确定所述自定义处理策略的惩罚次数超过第二设定阈值,则对所述自定义处理策略进行降级处理,并将降级处理结果通知所述策略关联用户。

其中,第二预设策略执行时间可以是根据实际需求设定的策略执行时间,如1s或2s等,第二设定阈值同样可以是根据实际需求设定的数值,如2或3等,本发明实施例并不对第二预设策略执行时间的具体时间数值以及第二设定阈值的具体数值进行限定。

具体的,根据第二策略处理模式及自定义处理策略对待处理事件进行处理时,可以根据自定义处理策略及第二预设策略执行时间对待处理事件进行处理。如果平台系统确定待处理事件在第二预设策略执行时间内未完成处理,则将打包后的待处理事件及自定义处理策略形成的消息发送至第一优先级消息队列,以通过第一线程池从第一优先级消息队列中读取到待处理事件及自定义处理策略后,根据第一策略处理模式及自定义处理策略采用上述方案对待处理事件进行处理。这样设置的好处是:由于第二优先级等级的优先级等级程度较高,将未在时限内处理完成的待处理事件及自定义处理策略发送至第一优先级消息队列进行处理,可以保证待处理事件能够被处理。同时,平台系统也会触发惩罚机制对自定义处理策略进行惩罚。示例性的,对自定义处理策略进行惩罚可以是:向关联用户发送自定义处理策略超时未完成的通知。第二优先级的自定义处理策略在第二优先级消息队列中每触发一次惩罚机制,平台系统可以累加记数。同时,第二优先级的自定义处理策略在第一优先级消息队列中每触发一次惩罚机制,平台系统可以在第二优先级消息队列计算的惩罚次数的基础上继续累加记数。当平台系统确定自定义处理策略的惩罚次数超过第二设定阈值,则可以对自定义处理策略进行降级处理,也即,将自定义处理策略的优先级等级属性设置为第一优先级,并将降级处理结果通知策略关联用户。

需要说明的是,第二优先级的自定义处理策略对应的超时机制要比第一优先级的自定义处理策略对应的超时机制更加严格,以保证优先级等级程度较高的自定义处理策略可以快速完成处理。

另外还需要说明的是,图3a仅是一种实现方式的示意图,步骤s330和步骤s340-s370之间并没有先后顺序关系,可以先实施步骤s330,再实施步骤s340-s370,也可以先实施步骤s340-s370,再实施步骤s330,还可以两者并行实施。

图3b是本发明实施例三提供的一种物联网智能设备的事件处理方法的流程图,在一个具体的例子中,如图3b所示,平台系统启动时,遍历数据存储数据库中已经存在的事件的自定义处理策略,并将各自定义处理策略对应的设备id和事件id组合作为key,加入到过滤服务器,完成初始化过程。初始化完成之后,每当某个设备有事件发生时,平台系统先到过滤服务器中检查该设备的该事件是否存在对应的自定义处理策略,如果不存在,则结束,进入默认事件处理流程。如果过滤服务器判断存在自定义处理策略,由于过滤服务器有大约1%左右的假阳性误报,需要到数据存储数据库中再进行一次查询,检查是否真的存在自定义处理策略。如果不存在自定义处理策略,则结束,进入默认事件处理流程。如果存在,则从数据存储数据库中读取自定义处理策略,并循环判断每一个自定义处理策略是否属于高优先级。对于属于高优先级的自定义处理策略,平台系统将该事件和对应的自定义处理策略打包并发送到高优先级消息队列。对于普通级的自定义处理策略,则将该事件和对应的自定义处理策略打包并发送到普通优先级消息队列。高优先级消息队列专属的线程池读取到打包消息,并进行具体的处理。对于高优先级的自定义处理策略,可以设置严格的超时机制,如果超过了指定的时间还未处理完,则将该消息放入普通优先级消息队列进行处理(保证该消息会被处理)。同时会触发惩罚机制,如某一个自定义处理策略在指定时间段内多次受到惩罚,会将其降级并通知策略关联用户。普通优先级消息队列同样由专属的线程池读取消息并处理,但是普通级消息的超时时间限制会比高优先级宽松。比如,高优先级的限制为1秒,普通级限制为30秒甚至60秒。超时同样会触发惩罚机制,多次受到惩罚,普通级的自定义处理策略会直接被禁用并通知策略关联用户。平台系统还可以对各自定义处理策略的惩罚情况进行记录。相应的,平台系统处理完自定义处理策略之后,结束事件处理流程。

假设应用网络中发生的事件中约有5%的事件有自定义处理策略,采用上述技术方案,首先通过查询过滤服务器确定待处理事件是否存在自定义处理策略,能够减少大约94%的数据存储数据库查询,从而大幅提高事件处理效率。同时,过滤服务器额外增加的内存几乎可以忽略不计,比如有5万个自定义处理策略,则这些自定义处理策略额外占用的内存不到1m字节。过滤服务器添加key及检查key的操作都在内存中完成,算法复杂度是o(1),由此可见,本发明实施例所提供的物联网智能设备的事件处理方法的复杂程度并不高。虽然过滤服务器存在1%左右的假阳性率,但由于假阳性增加的数据存储数据库查询大约为仅通过数据存储数据库查询方案的1%。另外,通过区分优先级和各优先级的超时机制,能够使得在线程数有限的情况下,保证高优先级的事件都能在非常短的时间内处理完,从而提高平台系统的事件处理性能。

本发明实施例通过在过滤服务器得到存在自定义处理策略的第一策略查询结果时,根据数据存储数据库对待处理事件的自定义处理策略进行查询,并在数据存储数据库得到存在自定义处理策略的第二策略查询结果时,从数据存储数据库读述待处理事件匹配的自定义处理策略,并确定待处理事件匹配的自定义处理策略的优先级等级,以根据优先级等级以及自定义处理策略对待处理事件进行处理,从而有效提高事件处理效率。

需要说明的是,以上各实施例中各技术特征之间的任意排列组合也属于本发明的保护范围。

实施例四

图4是本发明实施例四提供的一种物联网智能设备的事件处理装置的示意图,如图4所示,所述装置包括:待处理事件获取模块410、自定义处理策略查询模块420以及待处理事件处理模块430,其中:

待处理事件获取模块410,用于获取待处理事件;

自定义处理策略查询模块420,用于根据过滤服务器对所述待处理事件的自定义处理策略进行查询,得到第一策略查询结果;其中,所述过滤服务器仅存储自定义处理策略的触发条件;

待处理事件处理模块430,用于根据所述第一策略查询结果对所述待处理事件进行处理。

本发明实施例通过仅存储自定义处理策略的触发条件的过滤服务器对待处理事件的自定义处理策略进行查询,以根据获取的第一策略查询结果对待处理事件进行处理,解决现有事件处理方法存在的效率低的问题,从而提高事件处理效率。

可选的,所述装置还包括:自定义处理策略获取模块,用于遍历数据存储数据库,获取全部存储事件的自定义处理策略;自定义处理策略添加模块,用于将各所述自定义处理策略匹配的设备标识和事件标识组合成关键字标识,并将各所述关键字标识加入所述过滤服务器。

可选的,所述第一策略查询结果包括不存在自定义处理策略;待处理事件处理模块430包括:第一事件默认处理单元,用于进入默认事件处理流程。

可选的,所述第一策略查询结果包括存在自定义处理策略;待处理事件处理模块430包括:第二策略查询结果获取单元,用于根据所述数据存储数据库对所述待处理事件的自定义处理策略进行查询,得到第二策略查询结果;第二事件默认处理单元,用于如果确定所述第二策略查询结果为不存在自定义处理策略,则进入默认事件处理流程;待处理事件处理单元,用于如果确定所述第二策略查询结果为存在自定义处理策略,则从所述数据存储数据库读取所述待处理事件匹配的自定义处理策略,并根据所述待处理事件匹配的自定义处理策略对所述待处理事件进行处理。

可选的,待处理事件处理单元包括:优先级等级确定子单元,用于确定所述待处理事件匹配的自定义处理策略的优先级等级;待处理事件处理子单元,用于根据所述优先级等级以及所述自定义处理策略对所述待处理事件进行处理。

可选的,所述优先级等级包括第一优先级;待处理事件处理子单元具体用于:将所述待处理事件及所述自定义处理策略进行打包,并发送至第一优先级消息队列;通过第一线程池从所述第一优先级消息队列中读取到所述待处理事件及所述自定义处理策略后,根据第一策略处理模式及所述自定义处理策略对所述待处理事件进行处理。

可选的,待处理事件处理子单元具体用于:根据所述自定义处理策略及第一预设策略执行时间对所述待处理事件进行处理;如果确定所述待处理事件在所述第一预设策略执行时间内未完成处理,则触发惩罚机制对所述自定义处理策略进行惩罚;如果确定所述自定义处理策略的惩罚次数超过第一设定阈值,则禁用所述自定义处理策略,并将禁用处理结果通知策略关联用户。

可选的,所述优先级等级包括第二优先级;待处理事件处理子单元具体用于:将所述待处理事件及所述自定义处理策略进行打包,并发送至第二优先级消息队列;通过第二线程池从所述第二优先级消息队列中读取到所述待处理事件及所述自定义处理策略后,根据第二策略处理模式及所述自定义处理策略对所述待处理事件进行处理。

可选的,待处理事件处理子单元具体用于:根据所述自定义处理策略及第二预设策略执行时间对所述待处理事件进行处理;如果确定所述待处理事件在所述第二预设策略执行时间内未完成处理,则将打包后的所述待处理事件及所述自定义处理策略发送至所述第一优先级消息队列,以通过所述第一线程池从所述第一优先级消息队列中读取到所述待处理事件及所述自定义处理策略后,根据所述第一策略处理模式及所述自定义处理策略对所述待处理事件进行处理;触发惩罚机制对所述自定义处理策略进行惩罚;如果确定所述自定义处理策略的惩罚次数超过第二设定阈值,则对所述自定义处理策略进行降级处理,并将降级处理结果通知所述策略关联用户。

上述物联网智能设备的事件处理装置可执行本发明任意实施例所提供的物联网智能设备的事件处理方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的物联网智能设备的事件处理方法。

由于上述所介绍的物联网智能设备的事件处理装置为可以执行本发明实施例中的物联网智能设备的事件处理方法的装置,故而基于本发明实施例中所介绍的物联网智能设备的事件处理方法,本领域所属技术人员能够了解本实施例的物联网智能设备的事件处理装置的具体实施方式以及其各种变化形式,所以在此对于该物联网智能设备的事件处理装置如何实现本发明实施例中的物联网智能设备的事件处理方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中物联网智能设备的事件处理方法所采用的装置,都属于本申请所欲保护的范围。

实施例五

图5为本发明实施例五提供的一种计算机设备的结构示意图。图5示出了适于用来实现本发明实施方式的计算机设备512的框图。图5显示的计算机设备512仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。计算机设备512典型的是承担应用网络中平台系统功能的计算设备。

如图5所示,计算机设备512以通用计算设备的形式表现。计算机设备512的组件可以包括但不限于:一个或者多个处理器516,存储装置528,连接不同系统组件(包括存储装置528和处理器516)的总线518。

总线518表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industrystandardarchitecture,isa)总线,微通道体系结构(microchannelarchitecture,mca)总线,增强型isa总线、视频电子标准协会(videoelectronicsstandardsassociation,vesa)局域总线以及外围组件互连(peripheralcomponentinterconnect,pci)总线。

计算机设备512典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备512访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储装置528可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(randomaccessmemory,ram)530和/或高速缓存存储器532。计算机设备512可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统534可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(compactdisc-readonlymemory,cd-rom)、数字视盘(digitalvideodisc-readonlymemory,dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线518相连。存储装置528可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块526的程序536,可以存储在例如存储装置528中,这样的程序模块526包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块526通常执行本发明所描述的实施例中的功能和/或方法。

计算机设备512也可以与一个或多个外部设备514(例如键盘、指向设备、摄像头、显示器524等)通信,还可与一个或者多个使得用户能与该计算机设备512交互的设备通信,和/或与使得该计算机设备512能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(input/output,i/o)接口522进行。并且,计算机设备512还可以通过网络适配器520与一个或者多个网络(例如局域网(localareanetwork,lan),广域网wideareanetwork,wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器520通过总线518与计算机设备512的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备512使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(redundantarraysofindependentdisks,raid)系统、磁带驱动器以及数据备份存储系统等。

处理器516通过运行存储在存储装置528中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的物联网智能设备的事件处理方法。

也即,所述处理单元执行所述程序时实现:获取待处理事件;根据过滤服务器对所述待处理事件的自定义处理策略进行查询,得到第一策略查询结果;其中,所述过滤服务器仅存储自定义处理策略的触发条件;根据所述第一策略查询结果对所述待处理事件进行处理。

实施例六

本发明实施例六还提供一种存储计算机程序的计算机存储介质,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例任一所述的物联网智能设备的事件处理方法:获取待处理事件;根据过滤服务器对所述待处理事件的自定义处理策略进行查询,得到第一策略查询结果;其中,所述过滤服务器仅存储自定义处理策略的触发条件;根据所述第一策略查询结果对所述待处理事件进行处理。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(readonlymemory,rom)、可擦式可编程只读存储器((erasableprogrammablereadonlymemory,eprom)或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、射频(radiofrequency,rf)等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言——诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1