发明内容
本公开实施例提供一种报警方法、装置、电子设备及计算机可读存储介质。
第一方面,本公开实施例中提供了一种报警方法。
具体的,所述报警方法,包括:响应于第一监控指标发生的第一异常事件,获取所述第一监控指标的预设血缘关系数据;其中,所述预设血缘关系数据用于记录至少一个第二监控指标与所述第一监控指标之间的血缘关系,所述血缘关系根据所述第二监控指标与所述第一监控指标之间的依赖关系确定;根据所述预设血缘关系数据以及所述第二监控指标的异常情况调整所述第一监控指标的报警方式
进一步地,所述的报警方法还包括:获取所述第一监控指标;确定与所述第一监控指标所监控的第一对象具有依赖关系的第二对象;其中,所述第二监控指标用于监控所述第二对象;根据所述依赖关系建立所述第一监控指标与所述第二监控指标之间的所述预设血缘关系数据。
进一步地,根据所述依赖关系建立所述第一监控指标与所述第二监控指标之间的所述预设血缘关系数据,包括:在所述第一对象依赖于所述第二对象时,确定所述第二监控指标为所述第一监控指标的父级血缘;在所述第二对象依赖于所述第一对象时,确定所述第二监控指标为所述第一监控指标的子级血缘;在所述第一对象与所述第二对象同时依赖于同一对象时,确定所述第二监控指标为所述第一监控指标的同级血缘。
进一步地,根据所述预设血缘关系数据以及第二监控指标的异常情况调整所述第一监控指标的报警方式,包括:根据所述预设血缘关系数据确定所述第一监控指标和所述第二监控指标的血缘关系;根据所述血缘关系以及所述第二监控指标的异常情况确定所述第一监控指标是否为异常根源。
进一步地,根据所述预设血缘关系数据以及第二监控指标的异常情况调整所述第一监控指标的报警方式,还包括:在所述第一监控指标为异常根源时,将所述第一监控指标的报警方式调整为预设的根源报警方式。
进一步地,根据所述预设血缘关系数据以及第二监控指标的异常情况调整所述第一监控指标的报警方式,还包括:在所述第一监控指标不为异常根源时,确定是否存在为所述第一监控指标的同级血缘的所述第二监控指标;存在为所述第一监控指标的同级血缘的所述第二监控指标时,调整所述第一监控指标以及同级监控指标的报警方式;其中,所述同级监控指标包括为所述第一监控指标的同级血缘的一个或多个所述第二监控指标。
进一步地,存在为所述第一监控指标的同级血缘的所述第二监控指标时,调整所述第一监控指标以及同级监控指标的报警方式,包括:在预定时间段内产生了第二异常事件的所述同级监控指标的数量超过预设阈值时,将所述第一监控指标和所述同级监控指标的报警方式进行合并处理,降低合并处理后所述报警方式的报警等级;其中,所述预设时间段包括所述第一异常事件的产生时间的一段时间;和/或,在预定时间段内产生了第二异常事件的所述同级监控指标的数量超过预设阈值时,触发父级监控指标的第三异常事件;其中,所述父级监控指标为所述第一监控指标和所述同级监控指标的父级血缘。
进一步地,根据所述血缘关系以及所述第二监控指标的异常情况确定所述第一监控指标是否为异常根源,包括:不存在为所述第一监控指标的父级血缘和/或同级血缘的所述第二监控指标时,确定所述第一监控指标为异常根源;存在为所述第一监控指标的父级血缘和/或同级血缘的所述第二监控指标,且所述第二监控指标未产生异常时,确定所述第一监控指标为异常根源。
第二方面,本公开实施例提供了一种报警装置,包括:第一获取模块,被配置为响应于第一监控指标发生的第一异常事件,获取所述第一监控指标的预设血缘关系数据;其中,所述预设血缘关系数据用于记录至少一个第二监控指标与所述第一监控指标之间的血缘关系,所述血缘关系根据所述第二监控指标与所述第一监控指标之间的依赖关系确定;调整模块,被配置为根据所述预设血缘关系数据以及所述第二监控指标的异常情况调整所述第一监控指标的报警方式。
进一步地,所述报警装置还包括:第二获取模块,被配置为获取所述第一监控指标;第一确定模块,被配置为确定与所述第一监控指标所监控的第一对象具有依赖关系的第二对象;其中,所述第二监控指标用于监控所述第二对象;建立模块,被配置为根据所述依赖关系建立所述第一监控指标与所述第二监控指标之间的所述预设血缘关系数据。
进一步地,所述建立模块包括:第一确定子模块,被配置为在所述第一对象依赖于所述第二对象时,确定所述第二监控指标为所述第一监控指标的父级血缘;第二确定子模块,被配置为在所述第二对象依赖于所述第一对象时,确定所述第二监控指标为所述第一监控指标的子级血缘;第三确定子模块,被配置为在所述第一对象与所述第二对象同时依赖于同一对象时,确定所述第二监控指标为所述第一监控指标的同级血缘。
进一步地,所述调整模块包括:第四确定子模块,被配置为根据所述预设血缘关系数据确定所述第一监控指标和所述第二监控指标的血缘关系;第五确定子模块,被配置为根据所述血缘关系以及所述第二监控指标的异常情况确定所述第一监控指标是否为异常根源。
进一步地,所述调整模块还包括:第一调整子模块,被配置为在所述第一监控指标为异常根源时,将所述第一监控指标的报警方式调整为预设的根源报警方式。
进一步地,所述调整模块还包括:第六确定子模块,被配置为在所述第一监控指标不为异常根源时,确定是否存在为所述第一监控指标的同级血缘的所述第二监控指标;第二调整子模块,被配置为存在为所述第一监控指标的同级血缘的所述第二监控指标时,调整所述第一监控指标以及同级监控指标的报警方式;其中,所述同级监控指标包括为所述第一监控指标的同级血缘的一个或多个所述第二监控指标。
进一步地,所述第二调整子模块包括:合并子模块,被配置为在预定时间段内产生了第二异常事件的所述同级监控指标的数量超过预设阈值时,将所述第一监控指标和所述同级监控指标的报警方式进行合并处理,降低合并处理后所述报警方式的报警等级;其中,所述预设时间段包括所述第一异常事件的产生时间的一段时间;和/或,触发子模块,被配置为在预定时间段内产生了第二异常事件的所述同级监控指标的数量超过预设阈值时,触发父级监控指标的第三异常事件;其中,所述父级监控指标为所述第一监控指标和所述同级监控指标的父级血缘。
进一步地,所述第五确定子模块包括:第七确定子模块,被配置为不存在为所述第一监控指标的父级血缘和/或同级血缘的所述第二监控指标时,确定所述第一监控指标为异常根源;第八确定子模块,被配置为存在为所述第一监控指标的父级血缘和/或同级血缘的所述第二监控指标,且所述第二监控指标未产生异常时,确定所述第一监控指标为异常根源。
所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,报警装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持报警装置执行上述第一方面中报警方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述报警装置还可以包括通信接口,用于报警装置与其他设备或通信网络通信。
第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现第一方面所述的方法步骤。
第四方面,本公开实施例提供了一种计算机可读存储介质,用于存储报警装置所用的计算机指令,其包含用于执行上述第一方面中报警方法所涉及的计算机指令。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开实施例通过响应于第一监控指标触发的第一异常事件,首先获得第一监控指标的预设血缘关系数据,并根据预设血缘关系数据获取与第一监控指标具有血缘关系的第二监控指标,之后再根据第二监控指标的异常情况调整第一监控指标的报警方式。通过本公开上述方式,在接收到监控指标的异常事件后,先不进行报警,而是根据与该监控指标有血缘关系的其他监控指标的异常情况,再确定如何对该监控指标的报警方式进行调整,以在同一个根源造成多个监控指标异常后,避免发生多次报警,使得监控人员无需针对同一根源造成的多次报警进行多次处理,能够节省监控人员对报警信息的处理时间以及其他资源。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
为了第一时间发现异常问题,也为了提高报警的敏感度,监控人员通常会将一范围较大的监控指标拆分为多个范围较小的监控指标,例如手机app上购买商品时的支付成功率为一范围较大的监控指标,因为已有可选的支付渠道可以包括多种,如银行卡支付、微信支付、支付宝支付等等,如果不进行拆分,可能无法从一个大的监控指标发现小的指标出现的异常问题。例如,如果微信支付的成功率下降,而微信支付使用的人特别少,那么如果单单从支付成功率这一大的指标监控,短时间是无法看出问题的,因此监控人员会选择将大的指标进行拆分,然后订阅拆分后小的指标的异常告警。但是,可以肯定的是这些拆分之后的小指标实际的订阅人是同一批人。然而拆分解决了敏感度问题但是也带来了另外一个问题,例如,如果手机app出现问题而导致支付出现问题,那么订阅了小指标异常的监控人员将会在短时间内收到很多告警,这个时候如果将全部的指标异常都展示出来,那对于监控人员将是灾难性的。因此,如何将这些拆分后的小指标异常进行收敛成为了亟待解决的技术问题。
为解决上述技术问题,本公开实施例提出了一种报警方法,该报警方法通过预先在监控指标间建立血缘关系,并在产生异常事件时,基于血缘关系调整各个具有依赖关系的监控指标的报警方式,以便减少监控人员收到的报警条数,节省报警人员的时间和其他资源,提高用户体验。
图1示出根据本公开一实施方式的报警方法的流程图。如图1所示,所述报警方法包括以下步骤S101-S102:
在步骤S101中,响应于第一监控指标发生的第一异常事件,获取所述第一监控指标的预设血缘关系数据;其中,所述预设血缘关系数据用于记录至少一个第二监控指标与所述第一监控指标之间的血缘关系,所述血缘关系根据所述第二监控指标与所述第一监控指标之间的依赖关系确定;
在步骤S102中,根据所述预设血缘关系数据以及所述第二监控指标的异常情况调整所述第一监控指标的报警方式。
本实施例中,第一监控指标和第二监控指标为在监控系统平台中预先设置好的监控指标。针对系统平台中的监控对象,可以设定对应的监控指标,在该监控对象产生异常时,可能会触发相应的监控指标产生异常事件。监控对象可以是硬件或软件;硬件例如可以是服务器以及服务器中的硬件组件、网络通信设备等;软件可以是应用、数据、应用中的某个功能等。监控指标产生异常表示对应的监控对象的功能或者某个指数发生了异常,例如服务器宕机后,针对服务器的监控指标会产生异常,或者前面提到的支付成功率,如果支付成功率低于设定的监控指标,则认为该监控指标异常。监控对象以及监控指标根据所监控的系统平台的不同而多种多样,具体可以根据实际情况设定,在此不做限制。
第一异常事件是指第一监控指标发生异常时所触发的异常事件。本公开实施例中,在监控到第一监控指标发生异常时,不是直接进行报警,而是先获取该第一监控指标的预设血缘关系数据。预设血缘关系数据为预先针对第一监控指标所建立的,其中包括与第一监控指标具有血缘关系的一个或多个第二监控指标,第一监控指标与第二监控指标之间的血缘关系根据两者之间的依赖关系确定。两个监控指标之间具有依赖关系可以理解为其中一个监控指标发生异常,会引发另一个监控指标也发生异常,或者说第三个监控指标的异常会同时引起该两个监控指标发生异常。因此,第二监控指标至少包括以下三种:第一监控指标的异常能够引起异常的监控指标;其异常能够引起第一监控指标的异常的监控指标;能够与第一监控指标同时被另一个监控指标引起异常的监控指标。也可以理解为,第一监控指标与第二监控指标之间具有依赖关系,那么存在以下三种情况下:第一、第二监控指标的异常会引起第一监控指标的异常;第二、第一监控指标的异常会引起第二监控指标的异常;第三、至少存在一个父级监控指标,且父级监控指标的异常能够同时引起第一监控指标和第二监控指标的异常。根据上述三种依赖关系,可以将第一监控指标与第二监控指标之间的血缘关系划分为三种:父级血缘关系、子级血缘关系和同级血缘关系。在第二监控指标的异常会引起第一监控指标的异常情况下,第二监控指标为第一监控指标的父级血缘,在第一监控指标的异常会引起第二监控指标的异常的情况下,第二监控指标为第一监控指标的子级血缘,在至少存在一个父级监控指标,且父级监控指标的异常能够同时引起第一监控指标和第二监控指标的异常的情况下,第二监控指标为第一监控指标的同级血缘。
本实施例中,与第一监控指标具有血缘关系的第二监控指标可以为0,也可以为一个或多个。如果与第一监控指标具有血缘关系的第二监控指标为0,也即不存在与第一监控指标具有血缘关系的第二监控指标,那么对于第一监控指标的异常事件可以不按照本公开实施例提出的报警方法进行处理,而是可以按照正常的报警方式直接报警。如果与第一监控指标具有血缘关系的第二监控指标为一个或多个,那么就可以根据第二监控指标的异常情况来调整第一监控指标的报警方式,以便针对同一异常根源减少对同一个监控人员的报警条目。调整第一监控指标的报警方式的最终目的是针对订阅第一监控指标和第二监控指标为同一批监控人员的情况,尽可能的找到异常根源,减少对于同一根源异常情况的报警条目,以便监控人员能够及时发现异常根源,并提出解决办法。第二监控指标的异常情况可以包括第二监控指标也出现了异常并触发了异常事件和第二监控指标未出现异常。如果与第一监控指标具有血缘关系的第二监控指标也发生异常并触发了异常事件,那么可以认为第一监控指标和第二监控指标的异常是同一个根源造成的。因此,可以根据第二监控指标的异常情况确定是否调整第一监控指标的报警方式,如果第一监控指标为异常的根源,则可以按照根源的报警方式进行报警,如果不是根源,则可以按照不是根源的报警方式进行报警。
需要说明的是,第二监控指标的异常情况指的是第一监控指标触发第一异常事件的期间所产生的异常情况,例如在第一监控指标触发第一异常事件的时间所在的预设时间范围内,第二监控指标发生了异常或者未发生异常。如果第二监控指标触发的异常事件与第一监控指标触发的第一异常事件不在同一个预设时间范围内,也可以认为两者不是同一个根源造成的,不在本公开实施例的考虑范围内,因此不做限制。
本公开实施例通过响应于第一监控指标触发的第一异常事件,首先获得第一监控指标的预设血缘关系数据,并根据预设血缘关系数据确定与第一监控指标具有血缘关系的第二监控指标,之后再根据第二监控指标的异常情况调整第一监控指标的报警方式。通过本公开上述方式,在接收到监控指标的异常事件后,先不进行报警,而是根据与该监控指标有血缘关系的其他监控指标的异常情况,确定如何对该监控指标的报警方式进行调整,以在同一个根源造成多个监控指标异常后,避免发生多次报警,使得监控人员无需针对同一根源造成的多次报警进行多次处理,能够节省监控人员对报警信息的处理时间以及其他资源。。
在本实施例的一个可选实现方式中,如图2所示,所述报警方法进一步包括以下步骤S201-S203:
在步骤S201中,获取所述第一监控指标;
在步骤S202中,确定与所述第一监控指标所监控的第一对象具有依赖关系的第二对象;其中,所述第二监控指标用于监控所述第二对象;
在步骤S203中,根据所述依赖关系建立所述第一监控指标与所述第二监控指标之间的所述预设血缘关系数据。
该可选的实现方式中,在设置了第一监控指标后,可以根据第一监控指标所监控的第一对象建立第一监控指标的血缘关系数据。第一监控指标的预设血缘关系数据可以根据第一监控指标所监控得第一对象来确定。第一对象如果依赖于第二对象,那么监控第二对象的第二监控指标与第一监控指标具有依赖关系。这是因为,在第二对象出现异常引起第一监控指标触发第一异常事件时,由于第一对象依赖于第二对象,因此第一对象也可能会出现异常,进而引起第二监控指标触发第二异常事件,第一监控指标和第二监控指标异常的根源是第二对象发生了异常,因此可以在第一监控指标和第二监控指标之间建立血缘关系,以便在后续监控到指标异常后,能够追溯到异常的根源。
第一对象和第二对象之间的依赖关系可以理解为第一对象的正常运行依赖于第二对象的正常运行,或者第二对象的正常运行依赖于第一对象的正常运行。例如应用之间的调用关系、数据之间的联动关系(第一数据是由第二数据得到的,那么第一数据和第二数据之间具有联动关系,也即依赖关系);服务器之间的交互关系(第一服务器从第二服务器接收信息,并根据接收到的信息执行特定动作,如果第二服务器宕机了,那么第一服务器就无法执行该特定动作),应用与服务器之间的依附关系(安装在服务器上的应用,如果服务器宕机,应用也无法使用),应用中的功能与应用之间的依附关系(应用如果某种原因无法响应了,则应用的各个功能也将无法使用)等。本实施例中通过对象之间的依赖关系,建立监控这些对象的监控指标之间的血缘关系,以便在监控指标发生异常时,能够通过血缘关系追溯到其他监控指标。
在本实施例的一个可选实现方式中,如图3所示,所述步骤S203,即根据所述依赖关系建立所述第一监控指标与所述第二监控指标之间的所述预设血缘关系数据的步骤,进一步包括以下步骤S301-S303:
在步骤S301中,在所述第一对象依赖于所述第二对象时,确定所述第二监控指标为所述第一监控指标的父级血缘;
在步骤S302中,在所述第二对象依赖于所述第一对象时,确定所述第二监控指标为所述第一监控指标的子级血缘;
在步骤S303中,在所述第一对象与所述第二对象同时依赖于同一对象时,确定所述第二监控指标为所述第一监控指标的同级血缘。
在该可选的实现方式中,第一监控指标和第二监控指标之间的血缘关系可以包括三种:父级血缘关系、子级血缘关系和同级血缘关系。如果第一对象依赖于第二对象,也即第二对象的异常会引起第一对象时,用于监控第二对象的第二监控指标是用于监控第一对象的第一监控指标的父级血缘,相反地,如果第二对象依赖于第一对象,则第二监控指标为第一监控指标的子级血缘关系;如果第一对象和第二对象同时依赖于第三对象,则第三对象的第三监控指标为第一监控指标和第二监控指标的父级血缘,而第二监控指标为第一监控指标的同级血缘。需要说明的是,第一监控指标可以没有父级血缘、子级血缘和/或同级血缘,第一监控指标也可以有一个或多个父级血缘,在多个父级血缘时,同级血缘可以有多组。在一实施例中,也可以不考虑子级血缘关系,这是因为本公开实施例的主要目的是追溯引起第一监控指标异常的异常根源,因此可以不针对子级血缘关系进行处理。该可选的实现方式通过第一对象之间的依赖与被依赖关系建立监控指标之间不同的血缘关系。
在本实施例的一个可选实现方式中,如图4所示,所述步骤S102,即根据所述预设血缘关系数据以及第二监控指标的异常情况调整所述第一监控指标的报警方式的步骤,进一步包括以下步骤:
在步骤S401中,根据所述预设血缘关系数据确定所述第一监控指标和所述第二监控指标的血缘关系;
在步骤S402中,根据所述血缘关系以及所述第二监控指标的异常情况确定所述第一监控指标是否为异常根源。
该可选的实现方式中,在没有排查出第一监控指标异常的原因所在之前,可以根据与第一监控指标有依赖关系的第二监控指标的异常情况以及第一监控指标与第二监控指标之间的血缘关系来确定。在针对第一监控指标进行报警之前,可以先根据预设血缘关系数据找出与第一监控指标具有血缘关系的所有第二监控指标,之后再根据第一监控指标与第二监控指标之间的血缘关系以及第二监控指标的异常情况确定第一监控指标是否为异常根源。如果第一监控指标为异常根源,那么可以确定的是与其具有同级血缘或者父级血缘关系的第二监控指标不会出现异常,而只有与其具有子级血缘关系的第二监控指标会出现异常,而如果第一监控指标不是异常根源,那么可能会存在至少一个父级血缘或者同级血缘的第二监控指标存在异常。第一监控指标的报警方式可以根据其是否为根源异常进行调整。该可选的实现方式可以根据监控指标之间的血缘关系以及是否出现异常情况来确定该监控指标是否为异常根源。
在本实施例的一个可选实现方式中,所述步骤S102,即根据所述预设血缘关系数据以及第二监控指标的异常情况调整所述第一监控指标的报警方式的步骤,进一步还包括以下步骤:
在所述第一监控指标为异常根源时,将所述第一监控指标的报警方式调整为预设的根源报警方式。
在该可选的实现方式中,如果第一监控指标为异常根源,那么可以按照根源报警方式进行报警。报警方式可以包括报警等级、报警信息、报警频率、是否为根源报警等。根源报警方式可以是预先设定好的,由于是异常根源,可以根据第一监控指标的重要程度以较高等级进行报警,并且还可以在报警信息中提示该第一监控指标为异常根源,如果可能的话,还可以将该第一监控指标产生异常的原因提取出来,并附带在报警信息中。通过这种方式,可以在将报警信息推送给监控人员之前找到异常根源,并以根源报警方式进行报警,以提示监控人员重点针对该报警进行处理。
在本实施例的一个可选实现方式中,如图5所示,所述步骤S102,即根据所述预设血缘关系数据以及第二监控指标的异常情况调整所述第一监控指标的报警方式的步骤,进一步包括以下步骤:
在步骤S501中,在所述第一监控指标不为异常根源时,确定是否存在为所述第一监控指标的同级血缘的所述第二监控指标;
在步骤S502中,存在为所述第一监控指标的同级血缘的所述第二监控指标时,调整所述第一监控指标以及同级监控指标的报警方式;其中,所述同级监控指标包括为所述第一监控指标的同级血缘的一个或多个所述第二监控指标。
该可选的实现方式中,如果第一监控指标不为异常根源,则不需要以预设的根源报警方式进行报警。但是为了减少同一异常根源引起的多次报警,也即同一异常根源引起多个监控指标发生异常时,可以将这些同级监控指标进行合并处理。第一监控指标的同级监控指标包括与第一监控指标具有同一父级血缘的第二监控指标,该同一父级血缘的异常会同时引起第一监控指标和第二监控指标产生异常。因此,在第一监控指标不是根源异常的情况下,如果存在与第一监控指标具有同级血缘关系的第二监控指标也产生了异常,则可以通过调整第一监控指标和同级监控指标的报警方式,以减少同一异常根源引起的报警条目,节省监控人员的处理时间。
在本实施例的一个可选实现方式中,所述步骤S502,即存在为所述第一监控指标的同级血缘的所述第二监控指标时,调整所述第一监控指标以及同级监控指标的报警方式的步骤,进一步还包括以下步骤:
在预定时间段内产生了第二异常事件的所述同级监控指标的数量超过预设阈值时,将所述第一监控指标和所述同级监控指标的报警方式进行合并处理,降低合并处理后所述报警方式的报警等级;其中,所述预设时间段包括所述第一异常事件的产生时间的一段时间;和/或,
在预定时间段内产生了第二异常事件的所述同级监控指标的数量超过预设阈值时,触发父级监控指标的第三异常事件;其中,所述父级监控指标为所述第一监控指标和所述同级监控指标的父级血缘。
在该可选的实现方式中,如果第一监控指标的同级监控指标产生了第二异常事件,第二异常事件的产生时间与第一异常事件在预设时间段内,且发生异常的同级监控指标的数量超出了预设阈值,则可以认为第一监控指标与同级监控指标的异常为同一父级监控指标所引起,因此可以将第一监控指标和同级监控指标的报警方式进行合并处理,这样可以针对同一异常根源减少报警条目,方便监控人员处理;此外,由于对于异常根源的监控指标可以按照预设的根源报警方式进行报警,根源报警方式通常以较高等级进行报警,而第一监控指标和同级监控指标均不是异常根源,且它们的父级监控指标的处理流程中会以根源报警方式进行报警,因此在将第一监控指标和同级监控指标合并之后,还可以降低报警等级。
在另一实施例中,如果发生异常的同级监控指标的数量超出了预设阈值,则可以认为第一监控指标与同级监控指标的异常为同一父级监控指标所引起,因此还可以触发该父级监控指标产生第三异常事件。当然可以理解的是,如果该父级监控指标已经自动地产生了第三异常事件,则不再重复触发该第三异常事件。
在本实施例的一可选的实现方式中,所述步骤S402,即根据所述血缘关系以及所述第二监控指标的异常情况确定所述第一监控指标是否为异常根源的步骤,进一步还可以包括以下步骤:
不存在为所述第一监控指标的父级血缘和/或同级血缘的所述第二监控指标时,确定所述第一监控指标为异常根源;
存在为所述第一监控指标的父级血缘和/或同级血缘的所述第二监控指标,且所述第二监控指标未产生异常时,确定所述第一监控指标为异常根源。
该可选的实现方式中,如果不存在与第一监控指标具有父级血缘关系和/或同级血缘关系的第二监控指标,则可以确定的是没有能够引起第一监控指标产生异常的父级监控指标,因此可以认为第一监控指标为异常根源;此外,如果存在与第一监控指标具有父级血缘关系和/或同级血缘关系的一个或多个第二监控指标,但是这个或者这些第二监控指标并未产生异常事件时,也可以认为第一监控指标为异常根源,否则这个或者这些第二监控指标也会产生异常。通过这种方式,能够根据与第一监控指标具有血缘关系的第二监控指标的异常情况确定第一监控指标是否为异常根源,这种确定方式较为简单,能够在真正处理异常之前发现异常根源,并且能够根据是否异常根源来选择不同的报警方式进行报警。
在本实施例的一可选的实现方式中,所述步骤S102,即根据所述预设血缘关系数据以及第二监控指标的异常情况调整所述第一监控指标的报警方式的步骤,进一步还可以包括以下步骤:
根据所述预设血缘关系数据确定与所述第一监控指标具有血缘关系、且在预设时间段内产生了第四异常事件的所述第二监控指标;其中,所述预设时间段包括产生所述第一异常事件的时间;
根据所述第一监控指标与所述第二监控指标的血缘关系调整所述第一监控指标的报警方式。
该可选的实现方式中,在追溯第一监控指标是否为根源异常的过程中,可以通过查看与其具有血缘关系第二监控指标是否产生了第四异常事件,并且第四异常事件是否与第一异常事件在同一预设时间段内产生。因此,可以先根据预设血缘关系数据找出与第一监控指标具有血缘关系的第二监控指标,之后再确定第二监控指标是否产生了第四异常事件,并在后续通过遍历这些产生了第四异常事件的第二监控指标辅助判断第一监控指标是否为异常根源,而没有产生第四异常事件的第二监控指标就可以被排除在外,节省了遍历时间。
在本实施例的一可选的实现方式中,所述步骤S102,即根据所述预设血缘关系数据以及第二监控指标的异常情况调整所述第一监控指标的报警方式的步骤,进一步还可以包括以下步骤:
确定在预设时间段内产生了第五异常事件的第三监控指标;
将所述第三监控指标与所述预设血缘关系数据进行匹配,得到所述第二监控指标;
根据所述第一监控指标与所述第二监控指标的血缘关系调整所述第一监控指标的报警方式。
该可选的实现方式中,与上一可选实现方式类似,可以在追溯第一监控指标产生异常的根源异常的过程中,先将与第一监控指标具有血缘关系,但是未产生异常的第二监控指标排除在外。该可选的实现方式中,先找到与第一异常事件同一时间段产生第五异常事件的第三监控指标,之后再将第三监控指标与预设血缘关系数据进行匹配,得到与第一监控指标具有血缘关系且产生了异常的第二监控指标。同样,通过这种方式能够将未产生异常的第二监控指标排除,仅利用产生了异常的第二监控指标辅助判断第一监控指标是否为异常根源,节省了遍历时间。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图6示出根据本公开一实施方式的报警装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图6所示,所述报警装置包括第一获取模块601和调整模块602:
第一获取模块601,被配置为响应于第一监控指标发生的第一异常事件,获取所述第一监控指标的预设血缘关系数据;其中,所述预设血缘关系数据用于记录至少一个第二监控指标与所述第一监控指标之间的血缘关系,所述血缘关系根据所述第二监控指标与所述第一监控指标之间的依赖关系确定;
调整模块602,被配置为根据所述预设血缘关系数据以及所述第二监控指标的异常情况调整所述第一监控指标的报警方式。
本实施例中,第一监控指标和第二监控指标为在监控系统平台中预先设置好的监控指标。针对系统平台中的监控对象,可以设定对应的监控指标,在该监控对象产生异常时,可能会触发相应的监控指标产生异常事件。监控对象可以是硬件或软件;硬件例如可以是服务器以及服务器中的硬件组件、网络通信设备等;软件可以是应用、数据、应用中的某个功能等。监控指标产生异常表示对应的监控对象的功能或者某个指数发生了异常,例如服务器宕机后,针对服务器的监控指标会产生异常,或者前面提到的支付成功率,如果支付成功率低于设定的监控指标,则认为该监控指标异常。监控对象以及监控指标根据所监控的系统平台的不同而多种多样,具体可以根据实际情况设定,在此不做限制。
第一异常事件是指第一监控指标发生异常时所触发的异常事件。本公开实施例中,在监控到第一监控指标发生异常时,不是直接进行报警,而是先获取该第一监控指标的预设血缘关系数据。预设血缘关系数据为预先针对第一监控指标所建立的,其中包括与第一监控指标具有血缘关系的一个或多个第二监控指标,第一监控指标与第二监控指标之间的血缘关系根据两者之间的依赖关系确定。两个监控指标之间具有依赖关系可以理解为其中一个监控指标发生异常,会引发另一个监控指标也发生异常,或者说第三个监控指标的异常会同时引起该两个监控指标发生异常。因此,第二监控指标至少包括以下三种:第一监控指标的异常能够引起异常的监控指标;其异常能够引起第一监控指标的异常的监控指标;能够与第一监控指标同时被另一个监控指标引起异常的监控指标。也可以理解为,第一监控指标与第二监控指标之间具有依赖关系,那么存在以下三种情况下:第一、第二监控指标的异常会引起第一监控指标的异常;第二、第一监控指标的异常会引起第二监控指标的异常;第三、至少存在一个父级监控指标,且父级监控指标的异常能够同时引起第一监控指标和第二监控指标的异常。根据上述三种依赖关系,可以将第一监控指标与第二监控指标之间的血缘关系划分为三种:父级血缘关系、子级血缘关系和同级血缘关系。在第二监控指标的异常会引起第一监控指标的异常情况下,第二监控指标为第一监控指标的父级血缘,在第一监控指标的异常会引起第二监控指标的异常的情况下,第二监控指标为第一监控指标的子级血缘,在至少存在一个父级监控指标,且父级监控指标的异常能够同时引起第一监控指标和第二监控指标的异常的情况下,第二监控指标为第一监控指标的同级血缘。
本实施例中,与第一监控指标具有血缘关系的第二监控指标可以为0,也可以为一个或多个。如果与第一监控指标具有血缘关系的第二监控指标为0,也即不存在与第一监控指标具有血缘关系的第二监控指标,那么对于第一监控指标的异常事件可以不按照本公开实施例提出的报警装置进行处理,而是可以按照正常的报警方式直接报警。如果与第一监控指标具有血缘关系的第二监控指标为一个或多个,那么就可以根据第二监控指标的异常情况来调整第一监控指标的报警方式,以便针对同一异常根源减少对同一个监控人员的报警条目。调整第一监控指标的报警方式的最终目的是针对订阅第一监控指标和第二监控指标为同一批监控人员的情况,尽可能的找到异常根源,减少对于同一根源异常情况的报警条目,以便监控人员能够及时发现异常根源,并提出解决办法。第二监控指标的异常情况可以包括第二监控指标也出现了异常并触发了异常事件和第二监控指标未出现异常。如果与第一监控指标具有血缘关系的第二监控指标也发生异常并触发了异常事件,那么可以认为第一监控指标和第二监控指标的异常是同一个根源造成的。因此,可以根据第二监控指标的异常情况确定是否调整第一监控指标的报警方式,如果第一监控指标为异常的根源,则可以按照根源的报警方式进行报警,如果不是根源,则可以按照不是根源的报警方式进行报警。
需要说明的是,第二监控指标的异常情况指的是第一监控指标触发第一异常事件的期间所产生的异常情况,例如在第一监控指标触发第一异常事件的时间所在的预设时间范围内,第二监控指标发生了异常或者未发生异常。如果第二监控指标触发的异常事件与第一监控指标触发的第一异常事件不在同一个预设时间范围内,也可以认为两者不是同一个根源造成的,不在本公开实施例的考虑范围内,因此不做限制。
本公开实施例通过响应于第一监控指标触发的第一异常事件,首先获得第一监控指标的预设血缘关系数据,并根据预设血缘关系数据确定与第一监控指标具有血缘关系的第二监控指标,之后再根据第二监控指标的异常情况调整第一监控指标的报警方式。通过本公开上述装置,在接收到监控指标的异常事件后,先不进行报警,而是根据与该监控指标有血缘关系的其他监控指标的异常情况,确定如何对该监控指标的报警方式进行调整,以在同一个根源造成多个监控指标异常后,避免发生多次报警,使得监控人员无需针对同一根源造成的多次报警进行多次处理,能够节省监控人员对报警信息的处理时间以及其他资源。
在本实施例的一个可选实现方式中,如图7所示,所述报警装置,还包括第二获取模块701、第一确定模块702和建立模块703:
第二获取模块701,被配置为获取所述第一监控指标;
第一确定模块702,被配置为确定与所述第一监控指标所监控的第一对象具有依赖关系的第二对象;其中,所述第二监控指标用于监控所述第二对象;
建立模块703,被配置为根据所述依赖关系建立所述第一监控指标与所述第二监控指标之间的所述预设血缘关系数据。
该可选的实现方式中,在设置了第一监控指标后,可以根据第一监控指标所监控的第一对象建立第一监控指标的血缘关系数据。第一监控指标的预设血缘关系数据可以根据第一监控指标所监控得第一对象来确定。第一对象如果依赖于第二对象,那么监控第二对象的第二监控指标与第一监控指标具有依赖关系。这是因为,在第二对象出现异常引起第一监控指标触发第一异常事件时,由于第一对象依赖于第二对象,因此第一对象也可能会出现异常,进而引起第二监控指标触发第二异常事件,第一监控指标和第二监控指标异常的根源是第二对象发生了异常,因此可以在第一监控指标和第二监控指标之间建立血缘关系,以便在后续监控到指标异常后,能够追溯到异常的根源。
第一对象和第二对象之间的依赖关系可以理解为第一对象的正常运行依赖于第二对象的正常运行,或者第二对象的正常运行依赖于第一对象的正常运行。例如应用之间的调用关系、数据之间的联动关系(第一数据是由第二数据得到的,那么第一数据和第二数据之间具有联动关系,也即依赖关系);服务器之间的交互关系(第一服务器从第二服务器接收信息,并根据接收到的信息执行特定动作,如果第二服务器宕机了,那么第一服务器就无法执行该特定动作),应用与服务器之间的依附关系(安装在服务器上的应用,如果服务器宕机,应用也无法使用),应用中的功能与应用之间的依附关系(应用如果某种原因无法响应了,则应用的各个功能也将无法使用)等。本实施例中通过对象之间的依赖关系,建立监控这些对象的监控指标之间的血缘关系,以便在监控指标发生异常时,能够通过血缘关系追溯到其他监控指标。
在本实施例的一个可选实现方式中,如图8所示,所述建立模块703包括第一确定子模块801、第二确定子模块802和第三确定子模块803:
第一确定子模块801,被配置为在所述第一对象依赖于所述第二对象时,确定所述第二监控指标为所述第一监控指标的父级血缘;
第二确定子模块802,被配置为在所述第二对象依赖于所述第一对象时,确定所述第二监控指标为所述第一监控指标的子级血缘;
第三确定子模块803,被配置为在所述第一对象与所述第二对象同时依赖于同一对象时,确定所述第二监控指标为所述第一监控指标的同级血缘。
在该可选的实现方式中,第一监控指标和第二监控指标之间的血缘关系可以包括三种:父级血缘关系、子级血缘关系和同级血缘关系。如果第一对象依赖于第二对象,也即第二对象的异常会引起第一对象时,用于监控第二对象的第二监控指标是用于监控第一对象的第一监控指标的父级血缘,相反地,如果第二对象依赖于第一对象,则第二监控指标为第一监控指标的子级血缘关系;如果第一对象和第二对象同时依赖于第三对象,则第三对象的第三监控指标为第一监控指标和第二监控指标的父级血缘,而第二监控指标为第一监控指标的同级血缘。需要说明的是,第一监控指标可以没有父级血缘、子级血缘和/或同级血缘,第一监控指标也可以有一个或多个父级血缘,在多个父级血缘时,同级血缘可以有多组。在一实施例中,也可以不考虑子级血缘关系,这是因为本公开实施例的主要目的是追溯引起第一监控指标异常的异常根源,因此可以不针对子级血缘关系进行处理。该可选的实现方式通过第一对象之间的依赖与被依赖关系建立监控指标之间不同的血缘关系。
在本实施例的一个可选实现方式中,如图9所示,所述调整模块602包括第四确定子模块901和第五确定子模块902:
第四确定子模块901,被配置为根据所述预设血缘关系数据确定所述第一监控指标和所述第二监控指标的血缘关系;
第五确定子模块902,被配置为根据所述血缘关系以及所述第二监控指标的异常情况确定所述第一监控指标是否为异常根源。
该可选的实现方式中,在没有排查出第一监控指标异常的原因所在之前,可以根据与第一监控指标有依赖关系的第二监控指标的异常情况以及第一监控指标与第二监控指标之间的血缘关系来确定。在针对第一监控指标进行报警之前,可以先根据预设血缘关系数据找出与第一监控指标具有血缘关系的所有第二监控指标,之后再根据第一监控指标与第二监控指标之间的血缘关系以及第二监控指标的异常情况确定第一监控指标是否为异常根源。如果第一监控指标为异常根源,那么可以确定的是与其具有同级血缘或者父级血缘关系的第二监控指标不会出现异常,而只有与其具有子级血缘关系的第二监控指标会出现异常,而如果第一监控指标不是异常根源,那么可能会存在至少一个父级血缘或者同级血缘的第二监控指标存在异常。第一监控指标的报警方式可以根据其是否为根源异常进行调整。该可选的实现方式可以根据监控指标之间的血缘关系以及是否出现异常情况来确定该监控指标是否为异常根源。
在本实施例的一个可选实现方式中,所述调整模块602进一步包括第一调整子模块:
第一调整子模块:被配置为当所述第一监控指标为异常根源时,将所述第一监控指标的报警方式调整为预设的根源报警方式。
在该可选的实现方式中,如果第一监控指标为异常根源,那么可以按照根源报警方式进行报警。报警方式可以包括报警等级、报警信息、报警频率、是否为根源报警等。根源报警方式可以是预先设定好的,由于是异常根源,可以根据第一监控指标的重要程度以较高等级进行报警,并且还可以在报警信息中提示该第一监控指标为异常根源,如果可能的话,还可以将该第一监控指标产生异常的原因提取出来,并附带在报警信息中。通过这种方式,可以在将报警信息推送给监控人员之前找到异常根源,并以根源报警方式进行报警,以提示监控人员重点针对该报警进行处理。
在本实施例的一个可选实现方式中,如图10所示,所述调整模块602进一步包括第六确定子模块1001和第二调整子模块1002:
第六确定子模块1001,在所述第一监控指标不为异常根源时,确定是否存在为所述第一监控指标的同级血缘的所述第二监控指标;
第二调整子模块1002,存在为所述第一监控指标的同级血缘的所述第二监控指标时,调整所述第一监控指标以及同级监控指标的报警方式;其中,所述同级监控指标包括为所述第一监控指标的同级血缘的一个或多个所述第二监控指标。
该可选的实现方式中,如果第一监控指标不为异常根源,则不需要以预设的根源报警方式进行报警。但是为了减少同一异常根源引起的多次报警,也即同一异常根源引起多个监控指标发生异常时,可以将这些同级监控指标进行合并处理。第一监控指标的同级监控指标包括与第一监控指标具有同一父级血缘的第二监控指标,该同一父级血缘的异常会同时引起第一监控指标和第二监控指标产生异常。因此,在第一监控指标不是根源异常的情况下,如果存在与第一监控指标具有同级血缘关系的第二监控指标也产生了异常,则可以通过调整第一监控指标和同级监控指标的报警方式,以减少同一异常根源引起的报警条目,节省监控人员的处理时间。
在本实施例的一个可选实现方式中,所述第二调整子模块1002,进一步还包括合并子模块和触发子模块:
合并子模块,被配置为在预定时间段内产生了第二异常事件的所述同级监控指标的数量超过预设阈值时,将所述第一监控指标和所述同级监控指标的报警方式进行合并处理,降低合并处理后所述报警方式的报警等级;其中,所述预设时间段包括所述第一异常事件的产生时间的一段时间;和/或,
触发子模块,被配置为在预定时间段内产生了第二异常事件的所述同级监控指标的数量超过预设阈值时,触发父级监控指标的第三异常事件;其中,所述父级监控指标为所述第一监控指标和所述同级监控指标的父级血缘。
在该可选的实现方式中,如果第一监控指标的同级监控指标产生了第二异常事件,第二异常事件的产生时间与第一异常事件在预设时间段内,且发生异常的同级监控指标的数量超出了预设阈值,则可以认为第一监控指标与同级监控指标的异常为同一父级监控指标所引起,因此可以将第一监控指标和同级监控指标的报警方式进行合并处理,这样可以针对同一异常根源减少报警条目,方便监控人员处理;此外,由于对于异常根源的监控指标可以按照预设的根源报警方式进行报警,根源报警方式通常以较高等级进行报警,而第一监控指标和同级监控指标均不是异常根源,且它们的父级监控指标的处理流程中会以根源报警方式进行报警,因此在将第一监控指标和同级监控指标合并之后,还可以降低报警等级。
在另一实施例中,如果发生异常的同级监控指标的数量超出了预设阈值,则可以认为第一监控指标与同级监控指标的异常为同一父级监控指标所引起,因此还可以触发该父级监控指标产生第三异常事件。当然可以理解的是,如果该父级监控指标已经自动地产生了第三异常事件,则不再重复触发该第三异常事件。
在本实施例的一可选的实现方式中,所述第五确定子模块902进一步还可以包括第七确定子模块和第八确定子模块:
第七确定子模块,被配置为不存在为所述第一监控指标的父级血缘和/或同级血缘的所述第二监控指标时,确定所述第一监控指标为异常根源;
第八确定子模块,被配置为存在为所述第一监控指标的父级血缘和/或同级血缘的所述第二监控指标,且所述第二监控指标未产生异常时,确定所述第一监控指标为异常根源。
该可选的实现方式中,如果不存在与第一监控指标具有父级血缘关系和/或同级血缘关系的第二监控指标,则可以确定的是没有能够引起第一监控指标产生异常的父级监控指标,因此可以认为第一监控指标为异常根源;此外,如果存在与第一监控指标具有父级血缘关系和/或同级血缘关系的一个或多个第二监控指标,但是这个或者这些第二监控指标并未产生异常事件时,也可以认为第一监控指标为异常根源,否则这个或者这些第二监控指标也会产生异常。通过这种方式,能够根据与第一监控指标具有血缘关系的第二监控指标的异常情况确定第一监控指标是否为异常根源,这种确定方式较为简单,能够在真正处理异常之前发现异常根源,并且能够根据是否异常根源来选择不同的报警方式进行报警。
在本实施例的一可选的实现方式中,所述调整模块602进一步还可以包括第九确定子模块和第三调整子模块:
第九确定子模块,被配置为根据所述预设血缘关系数据确定与所述第一监控指标具有血缘关系、且在预设时间段内产生了第四异常事件的所述第二监控指标;其中,所述预设时间段包括产生所述第一异常事件的时间;
第三调整子模块,被配置为根据所述第一监控指标与所述第二监控指标的血缘关系调整所述第一监控指标的报警方式。
该可选的实现方式中,在追溯第一监控指标是否为根源异常的过程中,可以通过查看与其具有血缘关系第二监控指标是否产生了第四异常事件,并且第四异常事件是否与第一异常事件在同一预设时间段内产生。因此,可以先根据预设血缘关系数据找出与第一监控指标具有血缘关系的第二监控指标,之后再确定第二监控指标是否产生了第四异常事件,并在后续通过遍历这些产生了第四异常事件的第二监控指标辅助判断第一监控指标是否为异常根源,而没有产生第四异常事件的第二监控指标就可以被排除在外,节省了遍历时间。
在本实施例的一可选的实现方式中,所述调整模块602进一步还可以包括第十确定子模块、匹配子模块和第四调整子模块:
第十确定子模块,被配置为确定在预设时间段内产生了第五异常事件的第三监控指标;
匹配子模块,被配置为将所述第三监控指标与所述预设血缘关系数据进行匹配,得到所述第二监控指标;
第四调整子模块,被配置为根据所述第一监控指标与所述第二监控指标的血缘关系调整所述第一监控指标的报警方式。
该可选的实现方式中,与上一可选实现方式类似,可以在追溯第一监控指标产生异常的根源异常的过程中,先将与第一监控指标具有血缘关系,但是未产生异常的第二监控指标排除在外。该可选的实现方式中,先找到与第一异常事件同一时间段产生第五异常事件的第三监控指标,之后再将第三监控指标与预设血缘关系数据进行匹配,得到与第一监控指标具有血缘关系且产生了异常的第二监控指标。同样,通过这种方式能够将未产生异常的第二监控指标排除,仅利用产生了异常的第二监控指标辅助判断第一监控指标是否为异常根源,节省了遍历时间。
图11是适于用来实现根据本公开实施方式的报警装置的电子设备的结构示意图。
如图11所示,电子设备1100包括中央处理单元(CPU)1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行上述图1所示的实施方式中的各种处理。在RAM1103中,还存储有电子设备1100操作所需的各种程序和数据。CPU1101、ROM1102以及RAM1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本公开的实施方式,上文参考图1描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行图1的方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。