智能运维方法、装置、计算机设备及存储介质与流程

文档序号:17695710发布日期:2019-05-17 21:29阅读:178来源:国知局
智能运维方法、装置、计算机设备及存储介质与流程

本发明涉及云监控领域,尤其涉及一种智能运维方法、装置、计算机设备及存储介质。



背景技术:

现今业内还没有能够自动检测已经上线运行的软件中出现的问题或缺陷,导致线上的软件出现问题后,无法第一时间发现并采取有效的应对措施以减少损失,且即使能够发现软件出现问题,也无法准确获取软件中该问题对应缺陷的位置,往往会导致损失扩大,因此需要一种可以自动检测并提示风险、以及维护线上软件的方法和装置,以减少运营成本,并提升用户体验。



技术实现要素:

基于此,本发明提供一种智能运维方法、装置、计算机设备及存储介质,用于在应用程序的运行数据出现异常时评估所述应用程序的风险级别,并根据所述风险级别分别进行应急处理,以避免对用户造成不必要的损失,增强用户体验。

一种智能运维方法,包括:

获取应用程序各功能模块输入和输出的运行数据;

遍历所有预设的数据异常规则,检测各所述数据异常规则中是否存在与所述功能模块输入的运行数据相匹配的输入数据;每一个所述数据异常规则中均包含至少一项输入数据以及与该输入数据关联的正常输出数据,所述正常输出数据是指该输入数据输入所述功能模块中之后,该功能模块正常运行时应输出的运行数据;

当所述数据异常规则中存在与所述功能模块输入的运行数据相匹配的输入数据时,检测所述功能模块输出的运行数据,和所述数据异常规则中与该输入数据关联的所述正常输出数据是否匹配;

当和所述数据异常规则中与该输入数据关联的所述正常输出数据不匹配时,确认所述功能模块输出的运行数据异常,并记录所述功能模块异常的运行数据;

根据所述应用程序中所有功能模块异常的运行数据,通过预设的风险规则评估所述应用程序的风险级别;

根据所述应用程序的风险级别对该应用程序进行应急处理或/和对预设的运维方进行预警。

一种智能运维装置,包括:

数据获取模块,用于获取应用程序各功能模块输入和输出的运行数据;

检测模块,用于遍历所有预设的数据异常规则,检测各所述数据异常规则中是否存在与所述功能模块输入的运行数据相匹配的输入数据;每一个所述数据异常规则中均包含至少一项输入数据以及与该输入数据关联的正常输出数据,所述正常输出数据是指该输入数据输入所述功能模块中之后,该功能模块正常运行时应输出的运行数据;

匹配模块,用于当所述数据异常规则中存在与所述功能模块输入的运行数据相匹配的输入数据时,检测所述功能模块输出的运行数据,和所述数据异常规则中与该输入数据关联的所述正常输出数据是否匹配;

异常模块,用于当和所述数据异常规则中与该输入数据关联的所述正常输出数据不匹配时,确认所述功能模块输出的运行数据异常,并记录所述功能模块异常的运行数据;

评估模块,用于根据所述应用程序中所有功能模块异常的运行数据,通过预设的风险规则评估所述应用程序的风险级别;

处理预警模块,用于根据所述应用程序的风险级别对该应用程序进行应急处理或/和对预设的运维方进行预警。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述智能运维方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述智能运维方法的步骤。

上述智能运维方法、装置、计算机设备及存储介质,通过对应用程序在运行过程中产生的运行数据进行智能分析,以判断所述应用程序在运行过程中产生的数据是否出现异常,在所述应用程序的运行数据出现异常时,进一步对所述运行数据的异常情形进行智能分析,评估出所述应用程序在出现数据异常时的风险,从而根据不同的风险级别对所述应用程序进行应急处理,以避免对用户造成不必要的损失,增强用户体验。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例中智能运维方法的应用环境示意图;

图2是本发明一实施例中智能运维方法的流程图;

图3是本发明一实施例中智能运维方法的步骤s40的流程图;

图4是本发明一实施例中智能运维方法的步骤s50的流程图;

图5是本发明另一实施例中智能运维方法的流程图;

图6是本发明另一实施例中智能运维方法的流程图;

图7是本发明一实施例中智能运维装置的原理框图;

图8是本发明一实施例中计算机设备的一示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请提供的智能运维方法,可应用在如图1的应用环境中,其中,客户端(计算机设备/终端设备)通过网络与服务器(服务端)进行通信。首先获取应用程序运行过程中产生的运行数据,并对其进行分析,以判定其是否出现异常,在出现异常时通过进一步分析评估出所述应用程序的风险级别,并根据不同的风险级别分别进行应急处理。其中,客户端(计算机设备/终端设备)包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一实施例中,如图2所示,提供一种智能运维方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:

s10:获取应用程序各功能模块输入和输出的运行数据。

所述运行数据是指,应用程序在运行过程中所产生的数据,比如,当所述应用程序为浏览器时,所述运行数据包括但不限于网页名称、网页数量、统一资源定位符、网页上显示的时间、网页上显示的链接数量、网页上显示的广告文本等;又如,当所述应用程序为支付系统时,所述运行数据包括但不限于用户输入的支付金额、所述支付系统向被支付方支付的金额、所述用户在所述支付系统中预先存储的金额等数据。可理解地,每一项所述运行数据均对应于所述应用程序中的一个功能模块,也即所述运行数据是由所述应用程序中的其中一个功能模块在运行过程中产生的数据。比如,所述应用程序为支付系统时,用户输入的支付金额(即运行数据)对应于该支付系统的输入功能模块(即所述用户输入的支付金额是由该支付系统的输入功能模块在运行过程中产生的数据),所述支付系统向被支付方支付的金额对应于该支付系统的支付功能模块。具体地,每个应用程序的功能模块中的输入的运行数据以及输出的运行数据均为所述运行数据中的一种;获取所述运行数据,以供检测所述运行数据是否出现异常。

s20:遍历所有预设的数据异常规则,检测各所述数据异常规则中是否存在与所述功能模块输入的运行数据相匹配的输入数据;每一个所述数据异常规则中均包含至少一项输入数据以及与该输入数据关联的正常输出数据,所述正常输出数据是指该输入数据输入所述功能模块中之后,该功能模块正常运行时应输出的运行数据。

其中,所述数据异常规则根据需求预先设定,并存储在服务器的数据库中;每一个所述数据异常规则中均包含至少一项输入数据(包括该输入数据的数据类型、规格等)以及与该输入数据关联的正常输出数据(包括该正常输出数据的数据类型、规格等),在所述输入数据输入所述应用程序中的某个功能模块中时,可以使得该功能模块根据该输入数据在正常运行状态下输出的运行数据为正常输出数据。所述正常输出数据是所述应用程序的开发者在开发所述应用程序时预先设定,在该应用程序的该功能模块中,若输入所述输入数据,此时根据所述输入数据正常运行该功能模块之后输出的运行数据即为该正常输出数据;若输出的运行数据不是该正常输出数据,则代表此时运行数据异常。所述输入数据和所述正常输出数据可以是多个数据的集合,亦可是一个确定且具体的数据。

比如,当应用程序为支付系统时,一条数据异常规则如下:在用户输入的待支付金额(即输入数据的类型)是0-50000元(即输入数据的规格)时,则该支付系统(也即应用程序)的支付模块(功能模块)向被支付方转账的支付金额(即运行数据的正常输出数据的类型)与用户输入的待支付金额相等(即所述正常输出数据的规格);此时所述应用程序根据该输入数据(待支付金额)正常运行后,所输出的运行数据(支付金额)的正常输出数据即为与所述待支付金额相等的支付金额,在所述支付系统向被支付方转账的支付金额与所述待支付金额不相等时,说明所述输出的运行数据不是正常输出数据,此时代表运行数据(对应于该支付模块的输出的运行数据)异常。又如,当应用程序为浏览器时,一条数据异常规则如下:用户通过点击预设的广告按钮发送的广告请求指令(即输入数据的类型),则该浏览器(应用程序)的广告显示模块(功能模块)显示的广告(即正常输出数据的类型)数量为10条(即正常输出数据的规格),在本条数据异常规则中,输入数据为广告请求指令,所述应用程序根据该输入数据正常运行后,所输出的运行数据的正常输出数据为显示10条广告;在显示的广告数量不是10条或/和显示的不是广告时,说明该输出的运行数据不是正常输出数据,此时代表运行数据(对应于该广告显示模块的运行数据)异常。

可理解地,所述相匹配是指一个所述功能模输入的运行数据与一个所述数据异常规则中的输入数据匹配,同时二者的数据类型、规格等亦匹配,比如,若所述输入的运行数据为待支付金额500元,则若要使二者相匹配,所述数据异常规则中的输入数据亦须是待支付金额,且该数据异常规则中的待支付金额必须包含500元,比如所述数据异常规则中的待支付金额(输入数据)为0-50000元;也即,当所述数据异常规则中的输入数据是多个数据的集合(如上述0-50000元)时,所述输入的运行数据只要属于该输入数据的集合的区间范围内(比如所述输入的运行数据为500元),即代表所述输入的运行数据与所述数据异常规则中的输入数据匹配。

具体地,遍历所有预设的数据异常规则,检测各所述数据异常规则中是否存在与所述功能模块输入的运行数据相匹配的输入数据,以供在步骤s30中检测所述功能模块输出的运行数据,和所述数据异常规则中与该输入数据关联的所述正常输出数据是否匹配。

s30:当所述数据异常规则中存在与所述功能模块输入的运行数据相匹配的输入数据时,检测所述功能模块输出的运行数据,和所述数据异常规则中与该输入数据关联的所述正常输出数据是否匹配。

当所述数据异常规则中存在与所述功能模块输入的运行数据相匹配的输入数据时,代表所述输入的运行数据是正常数据,也即未出现异常,此时,检测所述功能模块输出的运行数据,和所述数据异常规则中与该输入数据关联的所述正常输出数据是否匹配,以供在步骤s40中判断所述功能模块输出的运行数据是否出现异常。

s40:当和所述数据异常规则中与该输入数据关联的所述正常输出数据不匹配时,确认所述功能模块输出的运行数据异常,并记录所述功能模块异常的运行数据。

当所述功能模块输出的运行数据,和所述数据异常规则中与该输入数据关联的所述正常输出数据不匹配时,代表所述功能模块输出的运行数据并非所述应用程序的开发者在开发所述应用程序时预先设定,在该应用程序的该功能模块中,若输入所述输入数据(即输入的运行数据)时根据所述输入数据正常运行该功能模块之后输出的运行数据,也即所述功能模块输出的运行数据存在异常,此时,确认所述功能模块输出的运行数据异常,并记录所述功能模块异常的运行数据,以供在步骤s50中通过预设的风险规则,评估所述应用程序的风险级别。

s50:根据所述应用程序中所有功能模块异常的运行数据,通过预设的风险规则评估所述应用程序的风险级别。

其中,所述风险规则根据用户的需求预先设定,并存储在服务器的数据库中。作为优选,各所述应用程序的风险级别包括警告级别和高危级别。当所述运行数据异常时,代表产生所述运行数据对应的功能模块出现异常,即无法正常实现该应用程序的开发者预先设定的所述运行数据对应的功能模块须达到的功能,此时,根据所述应用程序中所有功能模块异常的运行数据,通过预设的风险规则评估所述应用程序的风险级别,以便在后续步骤中根据所述应用程序的风险级别分别进行应急处理或/和对预设的运维方进行预警。

s60:根据所述应用程序的风险级别对该应用程序进行应急处理或/和对预设的运维方进行预警。

所述应急处理是指,暂停出现异常的所述运行数据对应的功能模块的运行、延迟异常的所述运行数据对应的功能模块功能的实现等,比如,在当所述应用程序为支付系统,所述出现异常的运行数据为支付功能模块的运行数据时,延迟支付的时间,即用户输入支付金额且发送支付指令后,延迟一定的时间支付,直至所述运行数据的异常原因被相关运维人员检测到原因并修复。所述运维方是指该应用程序的运营和维护方,如线上运维人员等。对所述运维方进行预警,可以通过将异常的所述运行数据汇总并编辑成邮件的方式发送至所述运维方,还可以通过在预设的显示界面上显示相应的风险级别,从而对所述运维方进行预警。

根据不同的所述风险级别,对所述应用程序分别进行不同的应急处理;在一实施例中,仅在所述风险级别为高危级别时对所述运维方进行预警,在风险级别并未达到高危级别时,仅记录所述运行数据的异常,以及所述运行数据对应的功能模块等并存储至服务器的数据库中,等待运维人员的调取。将高危级别即优先处理级别最高的运行数据异常及时通知所述运维方处理,将优先处理级别低的运行数据异常记录下来并存储至服务器的数据库中,以便运维方处理完高优先处理级别后再调取查看,提升了运维的效率,增强用户体验。

本实施例的智能运维方法通过对应用程序在运行过程中产生的运行数据进行智能分析,以判断所述应用程序在运行过程中产生的数据是否出现异常,在所述应用程序的运行数据出现异常时,进一步对所述运行数据的异常情形进行智能分析,评估出所述应用程序在出现数据异常时的风险,从而根据不同的风险级别对所述应用程序进行应急处理,以避免对用户造成不必要的损失,增强用户体验。

在一实施例中,所述步骤s30之后,还包括:

当和所述数据异常规则中与该输入数据关联的所述正常输出数据匹配时,确认所述功能模块输出的运行数据正常,并返回至继续获取应用程序各功能模块输入和输出的运行数据。

可理解地,当所述功能模块输出的运行数据,和所述数据异常规则中与该输入数据关联的所述正常输出数据匹配,即所述功能模块输出的运行数据和所述数据异常规则中与该输入数据关联的所述正常输出数据的数值、数据类型、规格等均匹配,即代表所述运行数据未出现异常,此时,确认所述运行数据无异常,并返回至继续获取应用程序各功能模块输入和输出的运行数据。

在一实施例中,如图3所示,所述步骤s50包括以下步骤:

s501,根据预设的风险规则,获取同一应用程序中所有异常的所述运行数据的风险等级。

其中,所述风险等级为0-9之间的自然数,每一所述风险规则包含一个功能模块,以及该功能模块的运行数据出现异常时的风险等级。比如,当所述应用程序为支付系统时,一条风险规则如下:当支付功能模块的运行数据出现异常时,风险等级为9。具体地,检测一异常的所述运行数据对应的功能模块,进一步地,遍历所有所述风险规则,检测该异常的运行数据对应的功能模块与各所述风险规则中的功能模块是否匹配,当该异常的运行数据对应的功能模块与所述风险规则中的功能模块匹配时,所述风险规则中的功能模块的运行数据出现异常时的风险等级,即为该异常的运行数据的风险等级,此时,获取该异常的运行数据的风险等级,并对下一异常的所述运行数据执行上述的获取过程,直至所有异常的所述运行数据的风险等级均被获取,以供在步骤s502中检测所有所述风险等级之和是否大于预设的高危阈值。

s502,检测所有所述风险等级之和是否大于预设的高危阈值。

所述高危阈值可以根据用户的需求预先设定,作为优选,所述高危阈值为7。

检测所有所述风险等级之和是否大于所述高危阈值,当所有所述风险等级之和大于所述高危阈值时,进入步骤s503,评估所述应用程序的风险级别为高危级别;当所有所述风险等级之和小于或等于所述高危阈值时,评估所述应用程序为预警级别。

s503,当所有所述风险等级之和大于所述高危阈值时,评估所述应用程序的风险级别为高危级别。

当所有所述风险等级之和大于所述高危阈值时,代表所述应用程序中出现异常的运行数据对所述应用程序的主要功能的实现具有重大影响,此时,评估所述应用程序的风险级别为高危级别,以供在后续步骤中根据所述风险级别对所述应用程序进行应急处理。

s504,当所有所述风险等级之和小于或等于所述高危阈值时,评估所述应用程序的风险级别为预警级别。

当所有所述风险等级之和小于或等于所述高危阈值时,代表所述应用程序中出现异常的运行数据对所述应用程序的主要功能的实现影响较小,此时,评估所述应用程序的风险级别为预警级别,以供在后续步骤中根据所述风险级别对所述应用程序进行应急处理。

本实施例的风险级别评估方法通过判断所有所述风险等级之和是否大于所述高危阈值,可以更准确评估所述应用程序的风险级别,以便于在后续步骤中根据所述风险级别分别对所述应用程序进行应急处理。

在一实施例中,所述风险级别包括预警级别和高危级别;所述运行数据是由所述应用程序的功能模块在运行中产生;如图4所示,所述步骤s60中,所述根据所述风险级别进行应急处理,包括以下步骤:

s601,检测所述应用程序的风险级别是否为警告级别;

s602,当所述应用程序的风险级别为警告级别时,暂停异常的所述运行数据对应的功能模块的运行。

如上述,所述运行数据是由应用程序的功能模块在运行中产生,也即所述运行程序属于所述应用程序中的某功能模块。当所述风险级别为警告级别时,即代表出现异常的所述运行数据对应的功能模块并非是应用程序的主要功能模块(执行该应用程序的主要功能),比如,当所述应用程序为音乐播放软件时,出现异常的所述运行数据对应的功能模块并非音乐播放模块等主要模块,如歌词显示模块等模块的运行数据出现异常,此时,因为出现运行数据异常的功能模块并非影响该应用程序主要功能实现的功能模块,故暂停所述运行数据对应的功能模块的运行,记录出现异常的所述运行数据及其风险级别,并将记录的所述运行数据发送至预设的运维方以供所述运维方进行维护,暂停出现运行数据异常的功能模块,即可以减少运行内存,提升运行速率,还可以防止因为持续运行程序错误的(所述程序错误即指运行数据出现异常)功能模块可能导致的整个应用程序的崩溃,且仅暂停所述程序错误的功能模块,并未影响该应用程序的主要功能模块的运行,以使用户在应用程序的非主要功能模块的运行数据出现异常时,仍能继续使用,增强用户体验。

s603,当所述应用程序的风险级别为高危级别时,暂停所述应用程序的运行。

当所述风险级别为高危级别时,代表出现异常的所述运行数据对应的功能模块是应用程序中的主要功能模块,比如,当所述应用程序为支付系统时,支付功能模块的运行数据出现异常,此时,因为该应用程序的主要功能模块出现异常的运行数据,若继续维持该应用程序的运行,可能会导致整个应用程序的崩溃,和给用户带来损失;可理解地,当所述风险级别为高危级别时,亦可能代表有且仅有多个非主要功能模块的运行数据出现异常,此时,多个非主要功能模块的运行数据同时出现异常,代表该应用程序可能出现深层次的错误,或不适合当前的运行环境;因此,在所述风险级别为高危级别时,均需暂停所述应用程序的运行,记录出现异常的所述运行数据及其风险级别,并将所述异常的运行数据以及其风险级别发送至预设的运维方以进行修复和维护,直至所述运维方完成修复后并通过点击预设的按钮重新启动该应用程序的运行,避免了对用户造成不必要的损失,增强用户体验。

在一实施例中,如图5所示,所述步骤s40之后,还包括步骤:

s70,检测异常的所述运行数据对应的功能模块,并获取该功能模块的程序程序代码;

可理解地,当所述运行数据异常时,所述运行数据对应的功能模块的程序程序代码亦会存在相应的错误,所述错误可能为形成完整循环回路的程序代码出现所述回路无法循环(即在所述回路中的某一环节出现断层,无法完整的进行循环),亦或者出现死循环(所述回路在运行时一直循环,且每一次循环均无法得出正确结果或预设数据以进入下一步)等情况,此时,检测异常的所述运行数据对应的功能模块,进一步地,获取异常的所述运行数据对应的功能模块中,用于根据输入数据输出异常的所述运行数据的程序代码,以供在后续步骤中对该程序代码进行修正。

s80,对获取的该功能模块的程序代码进行修正。

其中,所述修正过程即将获取的所述功能模块的程序代码替换为其备用程序代码,所述备用程序代码由所述应用程序的开发者预先编辑。具体地,首先获取所述功能模块的程序代码的备用程序代码,进一步地,使用该备用程序代码执行在步骤s70中获取的所述功能模块的程序代码所执行的功能,以消除该功能模块的运行数据的异常。

在一实施例中,如图6所示,所述步骤s10之前,还包括步骤:

s90,遍历所述应用程序的代码,检测所述应用程序的代码是否具有语法错误。

具体地,遍历所述应用程序的代码,根据预设的语法规则,检测所述代码是否具有语法错误。所述语法规则根据用户的需求预先设定,即包含有业界通用的语法规则,如变量是否被定义、是否包含所需要的库函数头文件、各种符号(如冒号、分号、大括号、小括号)的运用是否符合规范等,亦包含有所述应用程序规定的特殊语法规则,即在所述应用程序编程过程中需要满足的特殊语法规则(该语法规则仅适用所述应用程序)。当所述应用程序中的代码具有语法错误时,标记具有语法错误的代码及其所在的序列(如第几行的#include<stdio.h>),并将具有语法错误的代码及其所在序列展示在当前显示界面上,以供预设的运维方可以快速获取出现语法错误的代码并对其进行修正;当所述应用程序的代码均不存在语法错误时,进入步骤s100,运行所述应用程序的代码,以检测所述代码是否具有逻辑错误。

在一实施例中,在检测到所述应用程序的代码具有语法错误后,可根据所述语法规则,形成正确的代码(即补全或修正具有语法错误的代码之后的代码),并替换对应的具有语法错误的代码,以实现检测以及修正的自动化,提升运维效率。

s100,当所述应用程序的代码不具有语法错误时,试运行所述应用程序的代码,以检测所述应用程序的代码是否具有逻辑错误。

当所述应用程序的代码不具有语法错误时,试运行所述应用程序的代码,通过输入预设的数据,检测是否输出正确的数据(所述正确的数据是指应用程序的开发者在开发所述应用程序时预先设定的,在输入所述输入数据时,根据所述输入数据该应用程序须输出的数据),判定所述应用程序的代码是否具有逻辑错误,即在所述应用程序启动运行前,对所述应用程序进行试运行并模拟运行数据,当模拟的所述运行数据正常时(即符合上述的数据异常规则),即代表所述应用程序的代码不具有逻辑错误,此时,确认所述应用程序的代码不具有逻辑错误;当模拟的所述运行数据异常时,也即所述应用程序的代码具有逻辑错误时,通过对所述应用程序的代码设置断点,对所述应用程序的代码逐句进行调试试运行,检测具有逻辑错误的所述应用程序的代码及其所在的序列,对其进行标记,并展示在当前显示界面上,以供预设的运维方可以快速获取逻辑错误的代码并对其进行修正,提升运维的效率。

s110,当所述应用程序的代码不具有逻辑错误时,运行所述应用程序的代码,生成所述应用程序的运行数据。

当所述应用程序的代码不具有逻辑错误时,代表支持所述应用程序运行的代码正常无错误,此时,运行所述应用程序,以供在后续步骤中根据该应用程序运行中产生的运行数据,检测该应用程序是否存在风险。

本发明通过对应用程序在运行过程中产生的运行数据进行智能分析,以判断所述应用程序在运行过程中产生的数据是否出现异常,在所述应用程序的运行数据出现异常时,进一步对所述运行数据的异常情形进行智能分析,评估出所述应用程序在出现数据异常时的风险,从而根据不同的风险级别对所述应用程序进行应急处理,以避免对用户造成不必要的损失,且不仅能在所述应用程序上线运行前检测所述应用程序的功能完整性和正确性,还能智能检测在所述应用程序运行过程中导致所述运行数据出现异常的代码,并对其进行应急处理,增强用户体验。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种智能运维装置,该智能运维装置与上述实施例中智能运维方法一一对应。如图7所示,该智能运维装置包括数据获取模块11、检测模块12、匹配模块13、异常模块14、评估模块15、处理预警模块16。各功能模块详细说明如下:

所述数据获取模块11,用于获取应用程序各功能模块输入和输出的运行数据;

所述检测模块12,用于遍历所有预设的数据异常规则,检测各所述数据异常规则中是否存在与所述功能模块输入的运行数据相匹配的输入数据;每一个所述数据异常规则中均包含至少一项输入数据以及与该输入数据关联的正常输出数据,所述正常输出数据是指该输入数据输入所述功能模块中之后,该功能模块正常运行时应输出的运行数据;

所述匹配模块13,用于当所述数据异常规则中存在与所述功能模块输入的运行数据相匹配的输入数据时,检测所述功能模块输出的运行数据,和所述数据异常规则中与该输入数据关联的所述正常输出数据是否匹配;

所述异常模块14,用于当和所述数据异常规则中与该输入数据关联的所述正常输出数据不匹配时,确认所述功能模块输出的运行数据异常,并记录所述功能模块异常的运行数据;

所述评估模块15,用于根据所述应用程序中所有功能模块异常的运行数据,通过预设的风险规则评估所述应用程序的风险级别;

处理预警模块16,用于根据所述应用程序的风险级别对该应用程序进行应急处理或/和对预设的运维方进行预警。

在一实施例中,所述评估模块15包括:

获取单元,用于根据预设的风险规则,获取同一应用程序中所有异常的所述运行数据的风险等级;

风险检测单元,用于检测所有所述风险等级之和是否大于预设的高危阈值;

第一评估单元,用于当所有所述风险等级之和大于所述高危阈值时,评估所述应用程序的风险级别为高危级别;

第二评估单元,用于当所有所述风险等级之和小于或等于所述高危阈值时,评估所述应用程序的风险级别为预警级别。

在一实施例中,所述处理预警模块16包括:

检测单元,用于检测所述应用程序的风险级别;

警告单元,用于当所述应用程序的风险级别为警告级别时,暂停异常的所述运行数据对应的功能模块的运行;

高危单元,用于当所述应用程序的风险级别为高危级别时,暂停所述应用程序的运行。

在一实施例中,所述智能运维装置还包括:

获取模块,用于检测异常的所述运行数据对应的功能模块,并获取该功能模块的程序代码;

修正模块,用于对获取的该功能模块的程序代码进行修正。

在一实施例中,所述智能运维装置还包括:

语法检测模块,用于遍历所述应用程序的代码,检测所述应用程序的代码是否具有语法错误;

试运行模块,用于当所述应用程序的代码不具有语法错误时,试运行所述应用程序的代码,以检测所述应用程序的代码是否具有逻辑错误;

生成模块,用于当所述应用程序的代码不具有逻辑错误时,运行所述应用程序,以生成所述应用程序的运行数据。

在一实施例中,所述智能运维装置还包括:

确认模块,用于当和所述数据异常规则中与该输入数据关联的所述正常输出数据匹配时,确认所述功能模块输出的运行数据正常,并返回至继续获取应用程序各功能模块输入和输出的运行数据。

关于智能运维装置的具体限定可以参见上文中对于智能运维方法的限定,在此不再赘述。上述智能运维装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种智能运维方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

获取应用程序各功能模块输入和输出的运行数据;

遍历所有预设的数据异常规则,检测各所述数据异常规则中是否存在与所述功能模块输入的运行数据相匹配的输入数据;每一个所述数据异常规则中均包含至少一项输入数据以及与该输入数据关联的正常输出数据,所述正常输出数据是指该输入数据输入所述功能模块中之后,该功能模块正常运行时应输出的运行数据;

当所述数据异常规则中存在与所述功能模块输入的运行数据相匹配的输入数据时,检测所述功能模块输出的运行数据,和所述数据异常规则中与该输入数据关联的所述正常输出数据是否匹配;

当和所述数据异常规则中与该输入数据关联的所述正常输出数据不匹配时,确认所述功能模块输出的运行数据异常,并记录所述功能模块异常的运行数据;

根据所述应用程序中所有功能模块异常的运行数据,通过预设的风险规则评估所述应用程序的风险级别;

根据所述应用程序的风险级别对该应用程序进行应急处理或/和对预设的运维方进行预警。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取应用程序各功能模块输入和输出的运行数据;

遍历所有预设的数据异常规则,检测各所述数据异常规则中是否存在与所述功能模块输入的运行数据相匹配的输入数据;每一个所述数据异常规则中均包含至少一项输入数据以及与该输入数据关联的正常输出数据,所述正常输出数据是指该输入数据输入所述功能模块中之后,该功能模块正常运行时应输出的运行数据;

当所述数据异常规则中存在与所述功能模块输入的运行数据相匹配的输入数据时,检测所述功能模块输出的运行数据,和所述数据异常规则中与该输入数据关联的所述正常输出数据是否匹配;

当和所述数据异常规则中与该输入数据关联的所述正常输出数据不匹配时,确认所述功能模块输出的运行数据异常,并记录所述功能模块异常的运行数据;

根据所述应用程序中所有功能模块异常的运行数据,通过预设的风险规则评估所述应用程序的风险级别;

根据所述应用程序的风险级别对该应用程序进行应急处理或/和对预设的运维方进行预警。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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