系统异常的处理方法及服务器与流程

文档序号:17262496发布日期:2019-03-30 09:45阅读:370来源:国知局
系统异常的处理方法及服务器与流程

本发明属于数据处理技术领域,尤其涉及一种系统异常的处理方法及服务器。



背景技术:

当前,业内的自动捕获程序异常信息的技术方案,都是通过监测模块捕获用户使用过程中程序出错产生的异常信息,并定时将相关的异常信息通知对应的开发人员,以提醒开发人员进行修正。

但是上述方法的不足之处在于,只能自动化地完成异常信息的收集上传的工作,因此开发人员需要通过逐个浏览日志管理程序上的各个错误日志,才能确定具体出错的业务功能,并人工提取相应的代码进行修正,这个过程需要耗费一定的时间。此外,在开发人员无法通过已有知识修正代码时,经常需要手动检索出相应的修复策略和正确的代码,因此便捷性和自动化程度都较差。



技术实现要素:

有鉴于此,本发明实施例提供了一种系统异常的处理方法及服务器,以解决现有技术在修复系统异常功能时存在的修复便捷性差以及自动化程度低的问题。

本发明实施例的第一方面提供了一种系统异常的处理方法,包括:

调取预设的关联映射信息表,所述关联映射信息表包括业务功能、代码包地址以及邮箱地址三者的对应关系;根据预设时间段内的日志文件,确定异常的业务功能,并根据所述关联映射信息表,将所述异常的业务功能对应的邮箱地址作为目标邮箱地址;从预设的网络数据库中抓取与所述异常的业务功能对应的解决方案文本;从所述异常的业务功能对应的代码包地址调取目标代码包,并将所述异常的业务功能对应的解决方案文本以及所述目标代码包发送至所述目标邮箱地址。

本发明实施例的第二方面提供了一种服务器,包括存储器以及处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如下步骤:

调取预设的关联映射信息表,所述关联映射信息表包括业务功能、代码包地址以及邮箱地址三者的对应关系;根据预设时间段内的日志文件,确定异常的业务功能,并根据所述关联映射信息表,将所述异常的业务功能对应的邮箱地址作为目标邮箱地址;从预设的网络数据库中抓取与所述异常的业务功能对应的解决方案文本;从所述异常的业务功能对应的代码包地址调取目标代码包,并将所述异常的业务功能对应的解决方案文本以及所述目标代码包发送至所述目标邮箱地址。

本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:

调取预设的关联映射信息表,所述关联映射信息表包括业务功能、代码包地址以及邮箱地址三者的对应关系;根据预设时间段内的日志文件,确定异常的业务功能,并根据所述关联映射信息表,将所述异常的业务功能对应的邮箱地址作为目标邮箱地址;从预设的网络数据库中抓取与所述异常的业务功能对应的解决方案文本;从所述异常的业务功能对应的代码包地址调取目标代码包,并将所述异常的业务功能对应的解决方案文本以及所述目标代码包发送至所述目标邮箱地址。

在本发明实施例中,通过预设时间段内的日志文件,确定异常的业务功能,调取预设的关联映射信息表中包含的业务功能、代码包地址以及邮箱地址三者的对应关系,将异常的业务功能对应的邮箱地址作为目标邮箱地址;从预设的网络数据库中抓取与异常的业务功能对应的解决方案文本,在从异常的业务功能对应的代码包地址调取目标代码包之后,将所述异常的业务功能对应的解决方案文本以及所述目标代码包发送至所述目标邮箱地址,以提高异常代码修复的便捷性和效率。

附图说明

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

图1是本发明实施例提供的系统异常的处理方法的实现流程图;

图2是本发明实施例提供的关联映射信息表的生成流程图;

图3是本发明实施例提供的系统异常的处理方法s103的具体实现流程图;

图4是本发明实施例提供的系统异常的处理方法s1032的具体实现流程图;

图5是本发明实施例提供的系统异常的处理装置的结构框图;

图6是本发明实施例提供的服务器的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

图1示出了本发明实施例提供的系统异常的处理方法的实现流程,该方法流程包括步骤s101至s104。各步骤的具体实现原理如下。

s101:调取预设的关联映射信息表,所述关联映射信息表包括业务功能、代码包地址以及邮箱地址三者的对应关系。

在本发明实施例中,业务功能指在一个系统中某种业务类别下的具体业务功能,例如:业务类别包括:查询功能类别、计算功能类别、风险分析功能类别以及信息录入功能类别等,值得注意地,每一种大的业务类别下包含若干属于该类别的业务功能,每个业务功能都有其对应的功能id,用于在后续的过程中准确锁定一个业务功能。

在本发明实施例中,代码包地址对应一个代码包,所述代码包用于实现一个业务功能。可以理解地,代码包由工程人员预先编写好并存储于代码包地址对应的存储位置中。

在本发明实施例中,邮箱地址为编写代码包的工程人员或工程团队所登记的邮箱的地址。可以理解地,当一个工程人员或工程团队所开发的业务功能的代码包出现运行异常时,系统可以根据该邮箱地址,向工程人员或工程团队发送对应的数据,该数据包括:代码包以及相关异常情况的解决方案,工程人员在收到这些数据后,可以更加快捷地对代码包进行修改。

可以理解地,本发明实施例通过关联映射信息表将业务功能、代码包地址以及邮箱地址三者的对应关系进行存储,有利于在后续的步骤中对异常的业务功能进行相应的处理。

可选地,本发明实施例在所述调取预设的关联映射信息表之前,需要首先生成一个关联映射信息表,如图2所示,该关联映射信息表的生成流程包括:

s201,通过jenkins工具每隔预设时间间隔,调取服务器生成的业务功能对应的代码包,并为所述代码包分配一个代码包地址,将所述代码包存入所述代码包地址对应的文件。

jenkins工具是开源的java语言开发持续集成工具,可用于调取服务器中的代码包,并为该代码包分配一个代码包地址。

可选地,通过jenkins工具每隔预设时间间隔,调取服务器生成的业务功能对应的代码包,包括:创建gitlab库,通过安全外壳协议(secureshell,ssh)每隔预设时间间隔拉取服务器生成的代码包至gitlab库。

s202,获取各个业务功能的代码包对应的开发人员的邮箱地址。

s203,通过所述jenkins工具将所述业务功能、所述代码包地址以及所述邮箱地址三者的对应关系存入所述关联映射信息表。

可选地,业务功能、代码包地址以及邮箱地址三者的对应关系可以作为一个以json格式存在的数组,业务功能、代码包地址或邮箱地址分别为一个json对象。可以理解地,所述关联映射信息表也可以是一个json数据表。

可选地,本发明实施例还可以根据一个业务功能对应的代码包地址以及邮箱地址,生成一个注解头,并通过fileheader工具将所述注解头添加在所述代码包的文件名之前,以对所述代码包进行重命名。在其他的操作过程中,服务器可以根据工程人员的邮箱地址,快速地搜索出其编写的代码包地址,并下载相关的代码包,以使工程人员更易调取相应的代码包,此外无访问关联映射信息表权限的用户也可以根据代码包的名称,直接确定编写该代码包的工程人员的邮箱地址,并通知该工程人员进行相应的操作。

s102:根据预设时间段内的日志文件,确定异常的业务功能,并根据所述关联映射信息表,将所述异常的业务功能对应的邮箱地址作为目标邮箱地址。

由于本发明实施例是对系统异常的处理,所以需要根据日志文件确定异常的业务功能,可以理解地,该日志文件记录有各个业务功能的运行情况。

在本发明实施例中,在生成日志文件的过程中,会根据预设的判断线程监控各个业务功能的运行情况,确定异常的业务功能,并通过e.getmessage函数获取异常的业务功能的信息,该信息包括:异常的业务功能的通用数据包名称、异常出现时间以及异常事项等数据。再通过e.printstacktrace()函数将所述异常的业务功能的信息输出至异常程序栈,生成日志文件的异常程序栈信息。

可选地,提取所述日志文件中异常程序栈信息中的各个通用数据包的名称,生成异常名称集合;若所述关联映射信息表中的业务功能的名称存在于所述异常名称集合,则将该业务功能标定为异常的业务功能。

在本发明实施例中,只要一个业务功能的名称存在于异常名称集合中,则证明该名称所对应的业务功能存在异常,因此将该业务功能标定为异常的业务功能。

s103,从预设的网络数据库中抓取与所述异常的业务功能对应的解决方案文本。

在本发明实施例中,通过爬虫技术对相关的解决方案进行抓取。可以理解地,在抓取之前必须确定从网络数据库中的哪个网页中抓取解决方案。

作为本发明的一个实施例,如图3所示,上述s103包括:

s1031,从预设的关键词数据库中提取所述异常的业务功能对应的关键词,作为目标关键词。

在本发明实施例中,预设的关键词数据中存储有业务功能id或业务功能名称与关键词的对应关系,其中,一个业务功能可能与多个关键词对应,一个关键词也可能能和多个业务功能对应。可以理解地,在通过上文所介绍的方法确定出异常的业务功能后,可以通过所述关键词数据库确定该异常的业务功能对应的目标关键词。

s1032,计算在所述预设的网络数据库中各个网页与所述目标关键词的相关度。

作为本发明的一个实施例,如图4所示,上述s1032包括:

s10321,对所述预设的网络数据库中的各个网页的内容进行分词处理,生成各个网页对应的词语集合。

在本发明实施例中,网络数据库中的各个网页的内容都是由多个词语组成的,所以需要首先对各个网页的内容进行分词处理,以生成各个网页对应的词语集合。

值得注意地,一个词语集合中可以包括重复出现的相同的词语,例如在一个甲网页中出现了5个“检索功能”,那么在甲网页对应的词语集合中就存在5个“检索功能”,即在甲网页对应的词语集合中“检索功能”会反复出现5次,而并不会将5个“检索功能”合并成一个词语。

s10322,通过预设的公式计算所述目标关键词在各个网页中的概率参数。

可选地,所述预设的公式包括:其中,所述proi为目标关键词在网页i中的概率参数,所述numpri为所述目标关键词在网页i对应的所述词语集合中的出现次数,totalnumi为网页i对应的词语集合中含有的词语总和,所述basetotal为所述网络数据库中包含的网页的数量总和,所述webnum为所述网络数据库中包含所述目标关键词的网页的数量。

可以理解地,概率参数并不是简单的目标关键词在各个网页中的概率,而是结合目标关键词在网页i对应的所述词语集合中的出现次数、网页i对应的词语集合中含有的词语总和、网络数据库中包含的网页的数量总和以及网络数据库中包含所述目标关键词这4个重要参数,计算出的反应目标关键词与一个网页贴近程度的参数。

s10323,根据预设的概率参数区间与相关度的对应关系,确定所述目标关键词与各个网页的相关度。

在本发明实施例中,目标关键词与各个网页的概率参数并不是最后的与各个网页的相关度,而是需要调用预设的概率参数区间与相关度的对应关系,计算上一步骤中的概率参数对应的相关度,作为目标关键词与各个网页的相关度。

在本发明实施例中,通过s10322中预设的公式计算目标关键词在各个网页中的概率参数,并进而根据预设的概率参数区间与相关度的对应关系,确定目标关键词与各个网页的相关度,可以更加客观准确地计算出目标关键词与各个网页的相关度,有利于后续推荐的准确性。

s1033,抓取与所述目标关键词的相关度大于或等于预设相关度阈值的网页中的内容,作为解决方案文本。

在本发明实施例中,网络爬虫是一个自动提取网页的程序,它可以从预设的网络数据库中提取并下载符合要求的网页。可选地,网络爬虫从一个或多个初始网页的url开始,获得初始网页上的url,在抓取网页的过程中,不断从当前页面上抽取新的url放入队列,直到满足网络爬虫抓取的停止条件。

在本发明实施例中,从与目标关键词的相关度最高的网页开始抓取,逐渐按照与目标关键词的相关度由高到低依次抓取网页,停止条件为:当与目标关键词小于预设相关度阈值即停止抓取。所有被网络爬虫抓取的网页中的内容将会被系统存贮,生成解决方案文本。可以理解地,由于之前的网络数据库存储的都是与各种异常功能的解决方案有关的网页,所以解决方案文本中包含的多个网页的内容可能包含针对不同异常功能的解决方案。

s104,从所述异常的业务功能对应的代码包地址调取目标代码包,并将所述异常的业务功能对应的解决方案文本以及所述目标代码包发送至所述目标邮箱地址。

在本发明实施例中,发送目标代码包的目的是让工程人员直接修复异常的业务功能对应的代码,不需要再手动调用。另一方面,当一个工程人员不清楚如何修复异常的业务功能时,可以通过阅读邮箱接收到的解决方案文本找到对应的解决策略。

在本发明实施例中,通过预设时间段内的日志文件,确定异常的业务功能,调取预设的关联映射信息表中包含的业务功能、代码包地址以及邮箱地址三者的对应关系,将异常的业务功能对应的邮箱地址作为目标邮箱地址;从预设的网络数据库中抓取与异常的业务功能对应的解决方案文本,在从异常的业务功能对应的代码包地址调取目标代码包之后,将所述异常的业务功能对应的解决方案文本以及所述目标代码包发送至所述目标邮箱地址,以提高异常代码修复的便捷性和效率。

对应于上文实施例所述的系统异常的处理方法,图5示出了本发明实施例提供的系统异常的处理装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。

参照图5,该装置包括:

调取模块501,用于调取预设的关联映射信息表,所述关联映射信息表包括业务功能、代码包地址以及邮箱地址三者的对应关系;

确定模块502,用于根据预设时间段内的日志文件,确定异常的业务功能,并根据所述关联映射信息表,将所述异常的业务功能对应的邮箱地址作为目标邮箱地址;

抓取模块503,用于从预设的网络数据库中抓取与所述异常的业务功能对应的解决方案文本;

发送模块504,用于从所述异常的业务功能对应的代码包地址调取目标代码包,并将所述异常的业务功能对应的解决方案文本以及所述目标代码包发送至所述目标邮箱地址。

可选地,在所述调取预设的关联映射信息表之前,还包括:

通过jenkins工具每隔预设时间间隔,调取服务器生成的业务功能对应的代码包,并为所述代码包分配一个代码包地址,将所述代码包存入所述代码包地址对应的文件;获取各个业务功能的代码包对应的开发人员的邮箱地址;通过所述jenkins工具将所述业务功能、所述代码包地址以及所述邮箱地址三者的对应关系存入所述关联映射信息表。

可选地,所述根据预设时间段内的日志文件,确定异常的业务功能,包括:

提取所述日志文件中异常程序栈信息中的各个通用数据包的名称,生成异常名称集合;若所述关联映射信息表中的业务功能的名称存在于所述异常名称集合,则将该业务功能标定为异常的业务功能。

可选地,所述从预设的网络数据库中抓取与所述异常的业务功能对应的解决方案文本,包括:

从预设的关键词数据库中提取所述异常的业务功能对应的关键词,作为目标关键词;计算在所述预设的网络数据库中各个网页与所述目标关键词的相关度;抓取与所述目标关键词的相关度大于或等于预设相关度阈值的网页中的内容,作为解决方案文本。

可选地,所述计算在所述预设的网络数据库中各个网页与所述目标关键词的相关度,包括:

对所述预设的网络数据库中的各个网页的内容进行分词处理,生成各个网页对应的词语集合;通过公式:计算所述目标关键词在各个网页中的概率参数,其中,所述proi为目标关键词在网页i中的概率参数,所述numpri为所述目标关键词在网页i对应的所述词语集合中的出现次数,totalnumi为网页i对应的词语集合中含有的词语总和,所述basetotal为所述网络数据库中包含的网页的数量总和,所述webnum为所述网络数据库中包含所述目标关键词的网页的数量;根据预设的概率参数区间与相关度的对应关系,确定所述目标关键词与各个网页的相关度。

在本发明实施例中,通过预设时间段内的日志文件,确定异常的业务功能,调取预设的关联映射信息表中包含的业务功能、代码包地址以及邮箱地址三者的对应关系,将异常的业务功能对应的邮箱地址作为目标邮箱地址;从预设的网络数据库中抓取与异常的业务功能对应的解决方案文本,在从异常的业务功能对应的代码包地址调取目标代码包之后,将所述异常的业务功能对应的解决方案文本以及所述目标代码包发送至所述目标邮箱地址,以提高异常代码修复的便捷性和效率。

图6是本发明一实施例提供的服务器的示意图。如图6所示,该实施例的服务器6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如系统异常的处理程序。所述处理器60执行所述计算机程序62时实现上述各个系统异常的处理方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示单元501至504的功能。

示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述服务器6中的执行过程。

所述服务器6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述服务器可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是服务器6的示例,并不构成对服务器6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器还可以包括输入输出设备、网络接入设备、总线等。

所称处理器60可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器61可以是所述服务器6的内部存储单元,例如服务器6的硬盘或内存。所述存储器61也可以是所述服务器6的外部存储设备,例如所述服务器6上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器61还可以既包括所述服务器6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述服务器所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中。

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

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