具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一个或多个一部分实施例,而不是全部的实施例。基于本说明书一个或多个中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书一个或多个保护的范围。
本说明书一个或多个实施例提供了一种配置变更异常检测方法及装置,能够实现一键批量自动完成多个应用的相关配置数据的比对,快速确定出发生变更的配置数据,以便及时对变更后的配置数据进行回滚操作,进而保证因应用的配置变更引起的业务运行异常恢复的及时性和时效性。
图1为本说明书一个或多个实施例提供的配置变更异常检测方法的第一种流程示意图,如图1所示,该方法至少包括以下步骤:
S101,确定针对待处理的业务异常的目标应用标识信息,其中,该业务异常是因至少一个应用的配置数据变更引起的业务运行异常;
具体的,由于新业务功能上线或者对原业务功能升级时,需要对与该业务功能相关的应用进行配置数据变更,此时可能出现因配置数据变更导致对外提供的业务服务异常的情况,因此,需要针对该业务服务异常进行原因排除,以便及时进行业务运行恢复;
例如,以上线红包分发的业务功能为例,通过对目标应用的配置数据进行变更,实现整点分发预设数量的红包,实现该业务功能的目标应用可以包括:应用1、应用2和应用3,如果各目标应用的相关配置数据变更后,发现在整点并未按时进行红包分发或者红包分发与预期分发效果存在差异,该红包分发异常即为待处理的业务异常,针对该待处理的业务异常的目标应用标识信息可以以应用标识列表的形式生成,该应用标识列表中包含的目标应用有:应用1、应用2和应用3;
S102,获取与确定出的目标应用标识信息相关的线上配置数据以及预先拉取的基线配置数据,其中,该线上配置数据是分布式配置管理系统对目标应用进行配置变更后当前使用的最新配置数据,该基线配置数据是针对待处理的业务异常变更前的参考配置数据;
具体的,由于每个目标应用均对应于多个配置项,每个配置项可以包含所需的配置数据,在对目标应用进行配置变更后,可能只有部分配置项的配置数据发生了变更,在发生了变更的配置数据中又可能只有部分配置数据与业务异常有关,在确定业务异常引发原因时,需要将目标应用当前使用的线上配置数据与预先拉取的基线配置数据进行对应比对;
因此,在确定出针对业务异常的目标应用标识信息后,基于该目标应用标识信息,拉取各目标应用分别对应的多个配置项当前所用的线上配置数据,以及从预设数据库中查询各线上配置数据对应的基线配置数据,其中,上述分布式配置管理系统(DRM,Distributed Resource Management)可以是一个分布式环境下实时动态的后台配置管理系统,对应的,上述线上配置数据即为DRM线上数据,上述基线配置数据基于DRM基线数据;
S103,将获取到的线上配置数据与基线配置数据进行比对,生成针对上述业务异常的异常检测结果;
具体的,上述异常检测结果可以是配置数据比对结果,该配置数据比对结果可以包括各线上配置数据的相关信息,该相关信息可以包括:变更与否标识、具体变更内容和特征信息中至少一项,该特征信息可以包括:所属业务类型和/或变更时间,其中,在确定出针对业务异常的配置数据比对结果后,可以基于该配置数据比对结果对线上配置数据进行自动回滚处理,以便及时进行业务异常解除。
本说明书一个或多个实施例中,基于确定出的目标应用标识信息自动获取对应的线上配置数据以及预先拉取的基线配置数据,进而将线上配置数据与基线配置数据进行匹配并比对,这样能够实现一键批量自动完成多个应用的相关配置数据的比对,快速确定出发生变更的配置数据,以便及时对变更后的配置数据进行回滚操作,进而保证因应用的配置变更引起的业务运行异常恢复的及时性和时效性。
其中,针对目标应用标识信息确定的过程,可以基于业务异常监控系统生成的报警信息来确定,这样能够提高目标应用标识信息的确定准确度和效率,进而提高后续配置数据比对效率,基于此,如图2所示,上述步骤S101确定针对待处理的业务异常的目标应用标识信息,具体包括:
S1011,接收业务异常监控系统发送的报警信息,其中,该报警信息包括:发生运行异常的业务信息;
其中,上述报警信息中包含的业务信息可以是用于表征业务异常的所属业务类型的信息,例如,仍以业务异常为红包分发异常为例,对应的业务信息为红包分发配置,通过预设业务类型与应用之间的对应关系,可以红包分发配置对应的应用包括:应用1、应用2和应用3,进而能够确定出针对待处理的业务异常的目标应用标识信息,又如,若业务异常为账户登录异常,对应的业务信息为账户登录配置;
S1012,根据上述发生运行异常的业务信息,确定针对待处理的业务异常的目标应用标识信息;
在具体实施时,通过业务异常监控系统对业务运行状态进行实时监控,当检测到业务运行状态出现异常时,将自动生成携带有针对业务运行异常的业务信息的报警信息,因此,可以结合业务异常监控系统生成的报警信息自动确定与待处理的业务异常相关的目标应用的标识信息。
进一步的,为了实现一键快速业务运行恢复,可以在基于业务异常生成配置数据比对结果后,需要根据该配置数据比对结果对相关的线上配置数据进行数据回滚处理,以解除该业务异常,基于此,如图3所示,在步骤S103将获取到的线上配置数据与基线配置数据进行比对,生成针对上述业务异常的异常检测结果之后,还包括:
S104,根据生成的针对待处理的业务异常的异常检测结果,确定需要回滚的线上配置数据;
S105,针对确定出的每个需要回滚的线上配置数据,获取与该线上配置数据对应的基线配置数据;
具体的,在确定出需要回滚的线上配置数据后,需要获取该线上配置数据对应的基线配置数据,其中,为了提高基线配置数据的获取效率,在线上配置数据与基线配置数据进行比对时,可以将确定出发生变更的线上配置数据对应的基线配置数据存入预设缓存中,以便于进行配置数据回滚时快速获取对应的基线配置数据;
S106,基于获取到的基线配置数据,对该需要回滚的线上配置数据进行回滚操作;
具体的,对线上配置数据进行回滚操作即为将该线上配置数据变更回对应的基线配置数据,以将业务服务恢复至预设状态,并且采用自动进行一键快速配置数据回滚的方式,无需人工手动逐一对配置数据进行回滚。
其中,由于无论在进行配置数据比对,还是配置数据回滚均需要使用线上配置数据对应的基线配置数据,因此,需要按照预设规则预先拉取各应用的基线配置数据,基于此,如图4所示,在上述步骤S101确定针对待处理的业务异常的目标应用标识信息之前,还包括:
S107,在确定满足预设基线数据拉取条件时,拉取各应用的配置属性信息和基线配置数据;
具体的,在接收到用户输入的拉取请求或者确定满足预设时间条件后,针对每个应用,自动拉取该应用下的配置属性信息,以及查询各配置属性信息对应的属性值作为基线配置数据,其中,上述配置属性信息包括:属性名称和该属性名称的元数据,该元数据用于解释属性的具体含义,一个属性用于控制一种业务状态;
其中,为了提高配置数据的查询效率,采用多线程并发查询的方式,并行查询多个应用下的各配置属性信息;以及,采用多线程并发查询的方式,基于查询到的各配置属性信息,并行查询各配置属性信息对应的属性值作为基线配置数据;
S108,将拉取到的配置属性信息和各配置属性信息对应的基线配置数据存入预设数据库中;
在具体实施时,为了便于后续快速查询到线上配置数据对应的基线配置数据,在拉取到各应用的配置属性信息和各配置属性信息对应的基线配置数据后,基于各基线配置数据的哈希值,将拉取到的配置属性信息和各配置属性信息对应的基线配置数据按序存入预设数据库中,其中,该基线配置数据的哈希值是利用哈希算法对基线配置数据的配置属性信息进行哈希取模得到的。
在一个具体实施例中,如图5所示,针对配置变更异常检测过程中各服务端的信息交互示意图,具体包括:
S501,数据拉取服务端在确定满足预设基线数据拉取条件时,拉取各应用下的配置属性信息和各配置属性信息对应的基线配置数据;
S502,数据拉取服务端将拉取到的配置属性信息和各配置属性信息对应的基线配置数据写入数据库服务端;
S503,数据比对服务端接收业务异常监控系统发送的报警信息,其中,该报警信息包括:针对待处理的业务异常的业务信息;
S504,数据比对服务端根据接收到的报警信息,确定针对待处理的业务异常的目标应用标识信息;
S505,数据比对服务端触发数据拉取服务端并发拉取与确定出的目标应用标识信息相关的线上配置数据;
S506,数据比对服务端从数据库服务端并发查询获取到的各线上配置数据对应的基线配置数据;
S507,数据比对服务端将获取到的线上配置数据与基线配置数据进行对应比对,生成针对上述业务异常的异常检测结果;
S508,数据比对服务端将生成的异常检测结果写入数据库服务端;
S509,数据回滚服务端从数据库服务端查询针对上述业务异常的异常检测结果;
S510,数据回滚服务端根据查询到的异常检测结果,确定需要回滚的线上配置数据;
S511,数据回滚服务端对确定出的需要回滚的线上配置数据进行回滚操作。
其中,在确定出针对待处理的业务异常的目标应用标识信息后,需要获取对应的线上配置数据和基线配置数据,考虑到每个目标应用对应的配置数据的数据量可能比较大,为了提高配置数据的获取效率,基于此,如图6所示,上述步骤S102获取与确定出的目标应用标识信息相关的线上配置数据以及预先拉取的基线配置数据,具体包括:
S1021,采用多线程并发查询的方式,基于确定出的目标应用标识信息从各目标应用处并行拉取线上配置数据;
具体的,在确定出目标应用标识信息后,结合该目标应用标识信息利用多线程并发查询并拉取各目标应用下的线上配置数据;
S1022,采用多线程并发查询的方式,从预设数据库中并行查询各拉取到的线上配置数据对应的基线配置数据;
具体的,在获取到线上配置数据后,结合各目标应用对应的配置属性信息利用多线程并发查询各线上配置数据对应的基线配置数据,以便将线上配置数据与基线配置数据进行匹配比对,确定哪个配置属性信息下的配置数据发生了变更,进而确定导致业务异常的变更;
其中,为了进一步提高从预设数据库中查询线上配置数据对应的基线配置数据的查询效率,在从预设数据库中查询各线上配置数据对应的基线配置数据的过程,并不是采用基于线上配置数据的名称查找预设数据库中各基线配置数据的名称一一配对,而是采用基于线上配置数据的哈希值在预设数据库中查询对应的基线配置数据;
具体的,由于线上配置数据的配置属性信息与该线上配置数据对应的基线配置数据的配置属性信息一致,在基于哈希值对基线配置数据进行有序存储的前提下,再基于哈希值进行基线配置数据的快速查询,这样能够进一步提高基线配置数据的查询效率,在具体实施时,基于各线上配置数据的哈希值,从预设数据库中查询各线上配置数据对应的基线配置数据,其中,该线上配置数据的哈希值是利用哈希算法对线上配置数据的配置属性信息进行哈希取模得到的。
其中,考虑到在进行配置数据比对时,需要查询到各线上配置数据对应的基线配置数据,为了进一步提高基线配置数据的查询效率,可以基于哈希值将各基线配置数据有序存储至预设数据库中,基于此,上述步骤S108将拉取到的配置属性信息和各配置属性信息对应的基线配置数据存入预设数据库中,具体包括:
步骤一,针对每个拉取到的基线配置数据,利用哈希算法基于该基线配置数据的配置属性信息,确定该基线配置数据的哈希值;
具体的,将基线配置数据的配置属性信息进行扁平化处理,将扁平化处理后的配置属性信息作为唯一性字符串,对该唯一性字符串进行哈希取模即可得到各基线配置数据的哈希值;
步骤二,根据各基线配置数据对应的哈希值,按序将拉取到的配置属性信息和各配置属性信息对应的基线配置数据存入预设数据库中;
具体的,根据各基线配置数据的哈希值的大小,确定该基线配置数据的存储位置,其中,该存储位置是指该基线配置数据在存储队列中的位置标识,即该位置标识用于表征该基线配置数据处于存储队列中第多少位,这样将基线配置数据按序存储至预设数据库中,以便后续快速查询到与线上配置数据对应的基线配置数据。
对应的,在基于哈希值向预设数据库中存储基线配置数据的情况下,上述步骤S1022采用多线程并发查询的方式,从预设数据库中并行查询各拉取到的线上配置数据对应的基线配置数据,具体包括:
步骤一,针对每个拉取到的线上配置数据,利用哈希算法基于该线上配置数据的配置属性信息,确定该线上配置数据的哈希值;
具体的,确定线上配置数据的哈希值与确定基线配置数据的哈希值的过程相同,即将线上配置数据的配置属性信息进行扁平化处理,将扁平化处理后的配置属性信息作为唯一性字符串,对该唯一性字符串进行哈希取模即可得到各线上配置数据的哈希值;
其中,由于线上配置数据的配置属性信息与该线上配置数据对应的基线配置数据的配置属性信息一致,因此,线上配置数据的哈希值与该线上配置数据对应的基线配置数据的哈希值相同,从而能够通过线上配置数据的哈希值查询对应的基线配置数据;
步骤二,根据各线上配置数据对应的哈希值,确定与该线上配置数据对应的基线配置数据的存储位置;
具体的,根据各线上配置数据的哈希值的大小,确定该线上配置数据对应的基线配置数据的存储位置,其中,该存储位置是指该基线配置数据在存储队列中的位置标识,即该位置标识用于表征该基线配置数据处于存储队列中第多少位,这样结合确定出的各存储位置能够快速锁定与线上配置数据对应的基线配置数据在存储队列中的排序,例如,若确定出线上配置数据对应的哈希值等于100,直接锁定存储队列中第100位处的基线配置数据即为线上配置数据对应的基线配置数据;
步骤三,采用多线程并发查询的方式,从预设数据库中根据确定出的各基线配置数据的存储位置,并行查询与各线上配置数据分别对应的基线配置数据;
具体的,在确定出各线上配置数据对应的基线配置数据的存储位置后,结合确定出的基线配置数据的存储位置,利用多线程在预设数据库中并发查询并获取各线上配置数据分别对应的基线配置数据。
在一个具体实施中,如图7所示,结合配置数据的哈希值进行数据有序存储和数据快速查询,针对配置变更异常检测过程中各服务端的信息交互示意图,具体包括:
S501,数据拉取服务端在确定满足预设基线数据拉取条件时,拉取各应用下的配置属性信息和各配置属性信息对应的基线配置数据;
S5021,数据拉取服务端针对每个拉取到的基线配置数据,利用哈希算法基于该基线配置数据的配置属性信息,确定该基线配置数据的哈希值;
S5022,数据拉取服务端根据各基线配置数据的哈希值,按序将拉取到的配置属性信息和各配置属性信息对应的基线配置数据存入数据库服务端;
S503,数据比对服务端接收业务异常监控系统发送的报警信息,其中,该报警信息包括:针对待处理的业务异常的业务信息;
S504,数据比对服务端根据接收到的报警信息,确定针对待处理的业务异常的目标应用标识信息;
S505,数据比对服务端触发数据拉取服务端并发拉取与确定出的目标应用标识信息相关的线上配置数据;
S5061,数据比对服务端针对每个拉取到的线上配置数据,利用哈希算法基于该线上配置数据的配置属性信息,确定该线上配置数据的哈希值;
S5062,数据比对服务端根据各线上配置数据对应的哈希值,确定与该线上配置数据对应的基线配置数据的存储位置;
S5063,数据比对服务端从数据库服务端根据确定出的各基线配置数据的存储位置,并行查询与各线上配置数据分别对应的基线配置数据;
S507,数据比对服务端将获取到的线上配置数据与基线配置数据进行对应比对,生成针对上述业务异常的异常检测结果;
S508,数据比对服务端将生成的异常检测结果写入数据库服务端;
S509,数据回滚服务端从数据库服务端查询针对上述业务异常的异常检测结果;
S510,数据回滚服务端根据查询到的异常检测结果,确定需要回滚的线上配置数据;
S511,数据回滚服务端对确定出的需要回滚的线上配置数据进行回滚操作。
其中,在获取到所需的线上配置数据和对应的基线配置数据后,需要将线上配置数据与对应的基线配置数据进行一一比对,针对配置数据进行比对的过程,上述步骤S103将获取到的线上配置数据与基线配置数据进行比对,生成针对上述业务异常的异常检测结果,具体包括:
步骤一,针对每个获取到的线上配置数据,将该线上配置数据与对应的基线配置数据进行一致匹配;
步骤二,根据上述线上配置数据的一致性检测结果,生成针对该业务异常的异常检测结果。
具体的,通过将线上配置数据与该线上配置数据对应的基线配置数据进行一致性匹配,确定该线上配置数据是否发生了变更,得到配置数据比对结果。
其中,针对配置数据的回滚过程,考虑到如果直接将比对出的所有发生了变更的线上配置数据均进行回滚,这样将与业务异常无关的线上配置数据也回滚到了变更前状态,后续还需要再次将该配置数据进行重新变更,增加了分布式配置管理系统的数据变更处理量,因此,如图8所示,上述步骤S104根据生成的针对上述业务异常的异常检测结果,确定需要回滚的线上配置数据,具体包括:
S1041,根据针对上述业务异常的异常检测结果,将存在变更的线上配置数据作为候选线上配置数据;
S1042,在多个候选线上配置数据中,选取与上述业务异常相关的目标线上配置数据;
S1043,将选取出的目标线上配置数据确定为需要回滚的线上配置数据。
具体的,在根据异常检测结果确定出发生了变更的线上配置数据后,可以将所有发生了变更的线上配置数据均进行回滚操作,然而,考虑到确定出的存在变更的线上配置数据不一定是引起业务异常的原因,因此,可以在确定出的发生变更的配置数据中,准确地识别出引起业务运行异常的配置数据变更,减少因不必要的回滚操作而导致后续所需进行的配置数据变更操作,其中,可以利用预设规则决策引擎基于时间相关性和业务相关性,将各发生了变更的线上配置数据的特征信息与针对业务异常的报警信息进行关联匹配,确定出真正引起业务异常的线上配置数据的变更;
仍以上线红包分发的业务功能为例,例如,通过对目标应用的配置数据进行变更,实现整点分发预设数量的红包,实现该业务功能的目标应用包括:应用1、应用2和应用3,由于应用1、应用2和应用3还可能同时与其他业务功能的实现相关,例如,应用2的配置数据变更与账户登录相关,因此,每个应用可能同时因多个业务功能的上线进行不同配置数据的变更;
如果待处理的业务异常为红包分发异常,此时,将各候选线上配置数据的特征信息与报警信息进行关联匹配,确定出与业务异常相关的目标线上配置数据,即将与账户登录相关的候选线上配置数据排除掉,确定出与红包分发异常相关的目标线上配置数据。
具体的,为了减少后续不必要的配置数据变更的数据处理量,并不是直接将所有的发生变更的配置数据均进行回滚处理,而是根据生成的配置数据比对结果确定哪些配置数据的变更与本次业务异常报警相吻合,确定出与本次业务异常报警直接相关的配置数据变更,只对与业务异常报警相吻合的线上配置数据进行回滚处理,这样能够有针对性地对配置数据进行恢复,从而减少配置数据的误回滚情况,基于此,上述步骤S1042在多个候选线上配置数据中,选取与上述业务异常相关的目标线上配置数据,具体包括:
步骤一,获取针对上述业务异常的报警信息,其中,该报警信息包括:用于表征业务异常的所属业务类型的业务信息和/或异常发生时间;
步骤二,根据获取到的报警信息以及各候选线上配置数据的特征信息,确定各候选线上配置数据的变更异常概率,其中,该特征信息包括:业务类型和/或变更时间;
其中,可以从业务类型维度和时间维度判断哪些变更与待处理的业务异常相关度满足预设条件,进而确定真正需要回滚的线上配置数据;具体的,各候选线上配置数据的变更异常概率的计算公式为:R=b1x+b2y,其中,R表示候选线上配置数据的变更异常概率,b1表示针对业务类型维度的权重系数,b2表示针对时间维度的权重系数,x表示针对业务类型维度的第二相关度,y表示针对时间维度的第二相关度;
步骤三,在多个候选线上配置数据中,将变更异常概率大于预设阈值的候选线上配置数据确定为与上述业务异常相关的目标线上配置数据;
具体的,各候选线上配置数据的变更异常概率越大,说明该候选线上配置数据的变更与业务异常的相关性越高,因此,可以对变更异常概率比较高的候选线上配置数据进行回滚处理,在具体实施时,可以将预设阈值设置偏小,这样能够保证所有导致业务异常的线上配置数据均完成了回滚操作。
其中,在确定出需要进行回滚的线上配置数据后,考虑到可能存在同一时间内处理的报警并不止一个,为了应对业务异常并发出现的情况,达到保证配置数据回滚的及时性的目的,基于此,上述步骤S106基于获取到的基线配置数据,对该需要回滚的线上配置数据进行回滚操作,具体包括:
采用多线程并发处理的方式,基于获取到的基线配置数据,并发对各需要回滚的线上配置数据进行回滚操作。
具体的,在确定出需要回滚的线上配置数据,以及针对每个需要回滚的线上配置数据,获取到该线上配置数据对应的基线配置数据后,利用多线程并发对各需要回滚的线上配置数据进行回滚操作,以快速将业务服务恢复至预设状态。
本说明书一个或多个实施例中的配置变更异常检测方法,确定针对待处理的业务异常的目标应用标识信息,其中,该业务异常是因至少一个应用的配置数据变更引起的业务运行异常;获取与该目标应用标识信息相关的线上配置数据以及预先拉取的基线配置数据;将获取到的线上配置数据与基线配置数据进行比对,生成针对上述业务异常的异常检测结果。本说明书一个或多个实施例中,能够实现一键批量自动完成多个应用的相关配置数据的比对,快速确定出发生变更的配置数据,以便及时对变更后的配置数据进行回滚操作,进而保证因应用的配置变更引起的业务运行异常恢复的及时性和时效性。
对应上述图1至图8描述的配置变更异常检测方法,基于相同的技术构思,本说明书一个或多个实施例还提供了一种配置变更异常检测装置,图9为本说明书一个或多个实施例提供的配置变更异常检测装置的第一种模块组成示意图,该装置用于执行图1至图8描述的配置变更异常检测方法,如图9所示,该装置包括:
应用标识确定模块901,用于确定针对待处理的业务异常的目标应用标识信息,其中,所述业务异常是因至少一个应用的配置数据变更引起的业务运行异常;
配置数据获取模块902,用于获取与所述目标应用标识信息相关的线上配置数据以及预先拉取的基线配置数据,其中,所述线上配置数据是分布式配置管理系统对所述目标应用进行配置变更后当前使用的最新配置数据,所述基线配置数据是针对所述业务异常变更前的参考配置数据;
配置数据比对模块903,用于将所述线上配置数据与所述基线配置数据进行比对,生成针对所述业务异常的异常检测结果。
本说明书一个或多个实施例中,首先确定针对待处理的业务异常的目标应用标识信息,其中,该业务异常是因至少一个应用的配置数据变更引起的业务运行异常;然后获取与该目标应用标识信息相关的线上配置数据以及预先拉取的基线配置数据;最后将获取到的线上配置数据与基线配置数据进行比对,生成针对上述业务异常的异常检测结果,这样能够实现一键批量自动完成多个应用的相关配置数据的比对,快速确定出发生变更的配置数据,以便及时对变更后的配置数据进行回滚操作,进而保证因应用的配置变更引起的业务运行异常恢复的及时性和时效性。
可选地,如图10所示,所述装置还包括配置数据回滚模块904,用于:
根据针对所述业务异常的所述异常检测结果,确定需要回滚的线上配置数据;
针对每个所述需要回滚的线上配置数据,获取与该线上配置数据对应的基线配置数据;
基于获取到的所述基线配置数据,对所述线上配置数据进行回滚操作。
可选地,所述装置还包括基线数据拉取模块905,用于:
在确定满足预设基线数据拉取条件时,拉取各应用的配置属性信息和基线配置数据;
将拉取到的所述配置属性信息和所述基线配置数据存入预设数据库中。
可选地,所述配置数据获取模块902,具体用于:
采用多线程并发查询的方式,基于所述目标应用标识信息从各目标应用处并行拉取线上配置数据;以及,
采用多线程并发查询的方式,从所述预设数据库中并行查询各所述线上配置数据对应的预先拉取的基线配置数据。
可选地,所述基线数据拉取模块905,具体用于:
针对每个所述基线配置数据,利用哈希算法基于该基线配置数据的所述配置属性信息,确定该基线配置数据的哈希值;
根据各所述基线配置数据对应的所述哈希值,按序将拉取到的所述配置属性信息和所述基线配置数据存入预设数据库中。
可选地,其特征在于,所述配置数据获取模块902,进一步具体用于:
针对每个所述线上配置数据,利用哈希算法基于该线上配置数据的配置属性信息,确定该线上配置数据的哈希值;
根据所述线上配置数据对应的所述哈希值,确定与所述线上配置数据对应的基线配置数据的存储位置;
采用多线程并发查询的方式,从预设数据库中根据各所述基线配置数据的所述存储位置,并行查询与各所述线上配置数据分别对应的所述基线配置数据。
可选地,所述配置数据比对模块903,具体用于:
针对每个所述线上配置数据,将该线上配置数据与对应的所述基线配置数据进行一致匹配;
根据所述线上配置数据的一致性检测结果,生成针对所述业务异常的异常检测结果。
可选地,所述配置数据回滚模块904,具体用于:
根据针对所述业务异常的所述异常检测结果,将存在变更的线上配置数据作为候选线上配置数据;
在多个所述候选线上配置数据中,选取与所述业务异常相关的目标线上配置数据;
将选取出的所述目标线上配置数据确定为需要回滚的线上配置数据。
可选地,所述配置数据回滚模块904,进一步具体用于:
获取针对所述业务异常的报警信息;
根据所述报警信息以及各所述候选线上配置数据的特征信息,确定所述候选线上配置数据的变更异常概率,其中,所述特征信息包括:业务类型和/或变更时间;
在多个所述候选线上配置数据中,将变更异常概率大于预设阈值的所述候选线上配置数据确定为与所述业务异常相关的目标线上配置数据。
可选地,所述配置数据回滚模块904,还具体用于:
采用多线程并发处理的方式,基于获取到的所述基线配置数据,并发对所述线上配置数据进行回滚操作。
可选地,所述应用标识确定模块901,具体用于:
接收业务异常监控系统发送的报警信息,其中,所述报警信息包括:发生运行异常的业务信息;
根据所述发生运行异常的业务信息,确定针对待处理的业务异常的目标应用标识信息。
本说明书一个或多个实施例中的配置变更异常检测装置,确定针对待处理的业务异常的目标应用标识信息,其中,该业务异常是因至少一个应用的配置数据变更引起的业务运行异常;获取与该目标应用标识信息相关的线上配置数据以及预先拉取的基线配置数据;将获取到的线上配置数据与基线配置数据进行比对,生成针对上述业务异常的异常检测结果。本说明书一个或多个实施例中,能够实现一键批量自动完成多个应用的相关配置数据的比对,快速确定出发生变更的配置数据,以便及时对变更后的配置数据进行回滚操作,进而保证因应用的配置变更引起的业务运行异常恢复的及时性和时效性。
需要说明的是,本说明书中关于配置变更异常检测装置的实施例与本说明书中关于配置变更异常检测方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的配置变更异常检测方法的实施,重复之处不再赘述。
进一步地,对应上述图1至图8所示的方法,基于相同的技术构思,本说明书一个或多个实施例还提供了一种配置变更异常检测设备,该设备用于执行上述的配置变更异常检测方法,如图11所示。
配置变更异常检测设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器1101和存储器1102,存储器1102中可以存储有一个或一个以上存储应用或数据。其中,存储器1102可以是短暂存储或持久存储。存储在存储器1102的应用可以包括一个或一个以上模块(图示未示出),每个模块可以包括对配置变更异常检测设备中的一系列计算机可执行指令。更进一步地,处理器1101可以设置为与存储器1102通信,在配置变更异常检测设备上执行存储器1102中的一系列计算机可执行指令。配置变更异常检测设备还可以包括一个或一个以上电源1103,一个或一个以上有线或无线网络接口1104,一个或一个以上输入输出接口1105,一个或一个以上键盘1106等。
在一个具体的实施例中,配置变更异常检测设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对配置变更异常检测设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
确定针对待处理的业务异常的目标应用标识信息,其中,所述业务异常是因至少一个应用的配置数据变更引起的业务运行异常;
获取与所述目标应用标识信息相关的线上配置数据以及预先拉取的基线配置数据,其中,所述线上配置数据是分布式配置管理系统对所述目标应用进行配置变更后当前使用的最新配置数据,所述基线配置数据是针对所述业务异常变更前的参考配置数据;
将所述线上配置数据与所述基线配置数据进行比对,生成针对所述业务异常的异常检测结果。
本说明书一个或多个实施例中,能够实现一键批量自动完成多个应用的相关配置数据的比对,快速确定出发生变更的配置数据,以便及时对变更后的配置数据进行回滚操作,进而保证因应用的配置变更引起的业务运行异常恢复的及时性和时效性。
可选地,计算机可执行指令在被执行时,还包含用于进行以下计算机可执行指令:在生成针对所述业务异常的异常检测结果之后,还包括:
根据针对所述业务异常的所述异常检测结果,确定需要回滚的线上配置数据;
针对每个所述需要回滚的线上配置数据,获取与该线上配置数据对应的基线配置数据;
基于获取到的所述基线配置数据,对所述线上配置数据进行回滚操作。
可选地,计算机可执行指令在被执行时,还包含用于进行以下计算机可执行指令:在确定针对待处理的业务异常的目标应用标识信息之前,还包括:
在确定满足预设基线数据拉取条件时,拉取各应用的配置属性信息和基线配置数据;
将拉取到的所述配置属性信息和所述基线配置数据存入预设数据库中。
可选地,计算机可执行指令在被执行时,所述获取与所述目标应用标识信息相关的线上配置数据以及预先拉取的基线配置数据,包括:
采用多线程并发查询的方式,基于所述目标应用标识信息从各目标应用处并行拉取线上配置数据;以及,
采用多线程并发查询的方式,从所述预设数据库中并行查询各所述线上配置数据对应的预先拉取的基线配置数据。
可选地,计算机可执行指令在被执行时,所述将拉取到的所述配置属性信息和所述基线配置数据存入预设数据库中,包括:
针对每个所述基线配置数据,利用哈希算法基于该基线配置数据的所述配置属性信息,确定该基线配置数据的哈希值;
根据各所述基线配置数据对应的所述哈希值,按序将拉取到的所述配置属性信息和所述基线配置数据存入预设数据库中。
可选地,计算机可执行指令在被执行时,所述采用多线程并发查询的方式,从所述预设数据库中并行查询各所述线上配置数据对应的预先拉取的基线配置数据,包括:
针对每个所述线上配置数据,利用哈希算法基于该线上配置数据的配置属性信息,确定该线上配置数据的哈希值;
根据所述线上配置数据对应的所述哈希值,确定与所述线上配置数据对应的基线配置数据的存储位置;
采用多线程并发查询的方式,从预设数据库中根据各所述基线配置数据的所述存储位置,并行查询与各所述线上配置数据分别对应的所述基线配置数据。
可选地,计算机可执行指令在被执行时,所述将所述线上配置数据与所述基线配置数据进行比对,生成针对所述业务异常的异常检测结果,包括:
针对每个所述线上配置数据,将该线上配置数据与对应的所述基线配置数据进行一致匹配;
根据所述线上配置数据的一致性检测结果,生成针对所述业务异常的异常检测结果。
可选地,计算机可执行指令在被执行时,所述根据针对所述业务异常的所述异常检测结果,确定需要回滚的线上配置数据,包括:
根据针对所述业务异常的所述异常检测结果,将存在变更的线上配置数据作为候选线上配置数据;
在多个所述候选线上配置数据中,选取与所述业务异常相关的目标线上配置数据;
将选取出的所述目标线上配置数据确定为需要回滚的线上配置数据。
可选地,计算机可执行指令在被执行时,所述在多个所述候选线上配置数据中,选取与所述业务异常相关的目标线上配置数据,包括:
获取针对所述业务异常的报警信息;
根据所述报警信息以及各所述候选线上配置数据的特征信息,确定所述候选线上配置数据的变更异常概率,其中,所述特征信息包括:业务类型和/或变更时间;
在多个所述候选线上配置数据中,将变更异常概率大于预设阈值的所述候选线上配置数据确定为与所述业务异常相关的目标线上配置数据。
可选地,计算机可执行指令在被执行时,所述基于获取到的所述基线配置数据,对所述线上配置数据进行回滚操作,包括:
采用多线程并发处理的方式,基于获取到的所述基线配置数据,并发对所述线上配置数据进行回滚操作。
可选地,计算机可执行指令在被执行时,所述确定针对待处理的业务异常的目标应用标识信息,包括:
接收业务异常监控系统发送的报警信息,其中,所述报警信息包括:发生运行异常的业务信息;
根据所述发生运行异常的业务信息,确定针对待处理的业务异常的目标应用标识信息。
本说明书一个或多个实施例中的配置变更异常检测设备,确定针对待处理的业务异常的目标应用标识信息,其中,该业务异常是因至少一个应用的配置数据变更引起的业务运行异常;获取与该目标应用标识信息相关的线上配置数据以及预先拉取的基线配置数据;将获取到的线上配置数据与基线配置数据进行比对,生成针对上述业务异常的异常检测结果。本说明书一个或多个实施例中,能够实现一键批量自动完成多个应用的相关配置数据的比对,快速确定出发生变更的配置数据,以便及时对变更后的配置数据进行回滚操作,进而保证因应用的配置变更引起的业务运行异常恢复的及时性和时效性。
进一步地,对应上述图1至图8所示的方法,基于相同的技术构思,本说明书一个或多个实施例还提供了一种存储介质,用于存储计算机可执行指令,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
确定针对待处理的业务异常的目标应用标识信息,其中,所述业务异常是因至少一个应用的配置数据变更引起的业务运行异常;
获取与所述目标应用标识信息相关的线上配置数据以及预先拉取的基线配置数据,其中,所述线上配置数据是分布式配置管理系统对所述目标应用进行配置变更后当前使用的最新配置数据,所述基线配置数据是针对所述业务异常变更前的参考配置数据;
将所述线上配置数据与所述基线配置数据进行比对,生成针对所述业务异常的异常检测结果。
本说明书一个或多个实施例中,能够实现一键批量自动完成多个应用的相关配置数据的比对,快速确定出发生变更的配置数据,以便及时对变更后的配置数据进行回滚操作,进而保证因应用的配置变更引起的业务运行异常恢复的及时性和时效性。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,还实现以下流程:在生成针对所述业务异常的异常检测结果之后,还包括:
根据针对所述业务异常的所述异常检测结果,确定需要回滚的线上配置数据;
针对每个所述需要回滚的线上配置数据,获取与该线上配置数据对应的基线配置数据;
基于获取到的所述基线配置数据,对所述线上配置数据进行回滚操作。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,还实现以下流程:在确定针对待处理的业务异常的目标应用标识信息之前,还包括:
在确定满足预设基线数据拉取条件时,拉取各应用的配置属性信息和基线配置数据;
将拉取到的所述配置属性信息和所述基线配置数据存入预设数据库中。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述获取与所述目标应用标识信息相关的线上配置数据以及预先拉取的基线配置数据,包括:
采用多线程并发查询的方式,基于所述目标应用标识信息从各目标应用处并行拉取线上配置数据;以及,
采用多线程并发查询的方式,从所述预设数据库中并行查询各所述线上配置数据对应的预先拉取的基线配置数据。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述将拉取到的所述配置属性信息和所述基线配置数据存入预设数据库中,包括:
针对每个所述基线配置数据,利用哈希算法基于该基线配置数据的所述配置属性信息,确定该基线配置数据的哈希值;
根据各所述基线配置数据对应的所述哈希值,按序将拉取到的所述配置属性信息和所述基线配置数据存入预设数据库中。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述采用多线程并发查询的方式,从所述预设数据库中并行查询各所述线上配置数据对应的预先拉取的基线配置数据,包括:
针对每个所述线上配置数据,利用哈希算法基于该线上配置数据的配置属性信息,确定该线上配置数据的哈希值;
根据所述线上配置数据对应的所述哈希值,确定与所述线上配置数据对应的基线配置数据的存储位置;
采用多线程并发查询的方式,从预设数据库中根据各所述基线配置数据的所述存储位置,并行查询与各所述线上配置数据分别对应的所述基线配置数据。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述将所述线上配置数据与所述基线配置数据进行比对,生成针对所述业务异常的异常检测结果,包括:
针对每个所述线上配置数据,将该线上配置数据与对应的所述基线配置数据进行一致匹配;
根据所述线上配置数据的一致性检测结果,生成针对所述业务异常的异常检测结果。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述根据针对所述业务异常的所述异常检测结果,确定需要回滚的线上配置数据,包括:
根据针对所述业务异常的所述异常检测结果,将存在变更的线上配置数据作为候选线上配置数据;
在多个所述候选线上配置数据中,选取与所述业务异常相关的目标线上配置数据;
将选取出的所述目标线上配置数据确定为需要回滚的线上配置数据。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述在多个所述候选线上配置数据中,选取与所述业务异常相关的目标线上配置数据,包括:
获取针对所述业务异常的报警信息;
根据所述报警信息以及各所述候选线上配置数据的特征信息,确定所述候选线上配置数据的变更异常概率,其中,所述特征信息包括:业务类型和/或变更时间;
在多个所述候选线上配置数据中,将变更异常概率大于预设阈值的所述候选线上配置数据确定为与所述业务异常相关的目标线上配置数据。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述基于获取到的所述基线配置数据,对所述线上配置数据进行回滚操作,包括:
采用多线程并发处理的方式,基于获取到的所述基线配置数据,并发对所述线上配置数据进行回滚操作。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述确定针对待处理的业务异常的目标应用标识信息,包括:
接收业务异常监控系统发送的报警信息,其中,所述报警信息包括:发生运行异常的业务信息;
根据所述发生运行异常的业务信息,确定针对待处理的业务异常的目标应用标识信息。
本说明书一个或多个实施例中的存储介质存储的计算机可执行指令在被处理器执行时,确定针对待处理的业务异常的目标应用标识信息,其中,该业务异常是因至少一个应用的配置数据变更引起的业务运行异常;获取与该目标应用标识信息相关的线上配置数据以及预先拉取的基线配置数据;将获取到的线上配置数据与基线配置数据进行比对,生成针对上述业务异常的异常检测结果。本说明书一个或多个实施例中,能够实现一键批量自动完成多个应用的相关配置数据的比对,快速确定出发生变更的配置数据,以便及时对变更后的配置数据进行回滚操作,进而保证因应用的配置变更引起的业务运行异常恢复的及时性和时效性。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HD Cal、JHDL(Java Hardware Description Language)、Lava、Lola、My HDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个是参照根据本说明书一个或多个实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书一个或多个的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书一个或多个的实施例而已,并不用于限制本说明书一个或多个。对于本领域技术人员来说,本说明书一个或多个可以有各种更改和变化。凡在本说明书一个或多个的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个的权利要求范围之内。