业务问题的监控方法、装置以及电子设备制造方法及图纸

技术编号:20588569 阅读:22 留言:0更新日期:2019-03-16 07:03
本发明专利技术实施例提供了一种业务问题的监控方法、装置以及电子设备。该方法包括:在加载业务代码时,调用已植入异常监控逻辑的底层代码,将所述异常监控逻辑添加到所述业务代码;运行所述业务代码,通过所述异常监控逻辑获取系统产生业务问题时生成的异常数据。本发明专利技术实施例通过对底层代码进行修改,来实现对业务代码的监控,以获取系统抛出异常情况下的业务问题。不需要在业务代码中手动添加大量的日志代码,能够降低开发和维护成本。且无须人工介入,避免了因人为因素而出现遗漏的风险,提高了系统性能。

Monitoring methods, devices and electronic devices for business problems

The embodiment of the present invention provides a monitoring method, device and electronic equipment for business problems. The method includes: when loading business code, calling the underlying code embedded with anomaly monitoring logic, adding the anomaly monitoring logic to the business code, and running the business code to obtain the anomaly data generated when the system generates business problems through the anomaly monitoring logic. The embodiment of the present invention realizes the monitoring of the business code by modifying the underlying code to obtain the business problems in case the system throws an exception. There is no need to manually add a lot of log code to the business code, which can reduce the cost of development and maintenance. It avoids the risk of omission due to human factors and improves the system performance without manual intervention.

【技术实现步骤摘要】
业务问题的监控方法、装置以及电子设备
本专利技术涉及计算机
,尤其涉及一种业务问题的监控方法、装置以及电子设备。
技术介绍
在web系统中,当出现与正常系统功能不相符合的系统表现时,通常称为出现业务问题或bug。而对于系统中出现的业务问题,如果依赖测试人员手动或以脚本的方式进行验证,或者依赖线上用户的反馈,则效率非常低,且容易出现遗漏。在现有技术中,一般采用分析日志的方式进行业务问题的监控。首先,在业务代码中添加日志记录代码,通过该日志记录代码实时或者定时地获取日志文件,对所有的日志文件进行文本分析、建立索引并存储。然后,用户通过设置关键词(用于识别错误日志),进行检索,以获取符合条件的日志信息(即,业务问题信息)。专利技术人在实现本专利技术的过程中,发现现有技术至少存在如下问题:基于日志分析进行业务问题监控的方式,需要在业务代码中手动设置充足的日志记录代码,设置和维护成本较高,开发工作量较大,且不可衡量充分性;对日志的记录和分析工作,需要消耗大量机器资源;需要人工编写和录入关键词,存在因人为因素而出现遗漏的风险。
技术实现思路
本专利技术实施例提供一种业务问题的监控方法、装置以及电子设备,以解决现有技术的缺陷,降低对web系统业务问题的监控成本,提高检测效率。为达到上述目的,本专利技术实施例提供了一种业务问题的监控方法,包括:在加载业务代码时,调用已植入异常监控逻辑的底层代码,将所述异常监控逻辑添加到所述业务代码;运行所述业务代码,通过所述异常监控逻辑获取系统产生业务问题时生成的异常数据。本专利技术实施例还提供了一种业务问题的监控装置,包括:添加模块,用于在加载业务代码时,调用已植入异常监控逻辑的底层代码,将所述异常监控逻辑添加到所述业务代码;获取模块,用于运行所述业务代码,通过所述异常监控逻辑获取系统产生业务问题时生成的异常数据。本专利技术实施例还提供一种电子设备,包括:存储器,用于存储程序;处理器,用于运行所述存储器中存储的所述程序,以用于:在加载业务代码时,调用已植入异常监控逻辑的底层代码,将所述异常监控逻辑添加到所述业务代码;运行所述业务代码,通过所述异常监控逻辑获取系统产生业务问题时生成的异常数据。本专利技术实施例提供的业务问题的监控方法、装置以及电子设备,通过对底层代码进行修改,实现对业务代码的监控,获取系统抛出异常情况下的业务问题,降低了开发和维护成本,避免了因人为因素而出现的遗漏,提高了系统性能。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为本专利技术实施例提供的业务系统的结构示意图;图2为本专利技术提供的业务问题的监控方法一个实施例的流程图;图3为本专利技术提供的业务问题的监控方法另一个实施例的流程图;图4为本专利技术提供的业务问题的监控装置一个实施例的结构示意图;图5为本专利技术提供的业务问题的监控装置另一个实施例的结构示意图;图6为本专利技术提供的电子设备实施例的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。针对现有技术的缺陷,本申请提供一种解决方案,其主要原理是:在底层代码中植入异常监控逻辑。在程序的执行过程中,大多公共功能由底层代码提供,大部分业务代码的执行过程都需要调用底层代码来实现。所以,通过对底层代码的少量改动添加监控逻辑(例如,通过字节码增强的方式修改java中的jdk代码等),便能够做到对全部业务代码的功能的覆盖,从底层实现对上层业务执行过程数据的更全面地获取。当业务代码调用底层代码时,执行该异常监控逻辑,为业务代码植入监控逻辑。当用户的访问请求访问已植入异常监控逻辑的业务代码时,开始执行监控程序,监控系统所抛出的异常代码。通过对底层代码进行修改,实现对业务代码的监控,获取系统抛出异常情况下的业务问题。现有的基于日志分析的监控方式中,日志记录代码是业务开发者为了发现问题而编写的一种业务代码,专门负责记录系统运行中出现的问题,完全依赖于开发者的意识,且日志记录代码的数量是随着业务代码的数量线性增加的,通常是业务代码总量的1%左右。而本申请提供的解决方案,不需要在业务代码中手动添加大量的日志代码,只需在底层代码中植入固定的异常监控逻辑,该异常监控逻辑可以对某一类问题全记录,具有一次编写长期复用的特性。因此,能够极大地降低开发和维护成本。且无须人工介入,避免因人为因素而出现遗漏的风险。本专利技术实施例提供的方法可应用于任何提供web服务的业务系统。图1为本专利技术实施例提供的业务系统的结构示意图。如图1所示,业务系统中包括监控装置。该监控装置包括:添加模块和获取模块,可以用来执行下述图2所示的处理流程。首先,在底层代码中植入异常监控逻辑。当业务代码调用底层代码时,执行该异常监控逻辑,为业务代码植入监控逻辑。当用户通过客户端访问业务系统时,若访问请求访问的是已植入异常监控逻辑的业务代码,开始执行监控程序,监控系统所抛出的异常代码。若系统抛出异常代码,则通过异常监控逻辑获取该访问请求的相关数据。该业务系统通过对底层代码进行修改,来实现对业务代码的监控,以获取系统抛出异常情况下的业务问题。不需要在业务代码中手动添加大量的日志代码,能够降低开发和维护成本。且无须人工介入,避免了因人为因素而出现遗漏的风险。上述实施例是对本专利技术实施例的技术原理和示例性的应用框架的说明,下面通过多个实施例来进一步对本专利技术实施例具体技术方案进行详细描述。首先,对各实施例中出现的术语进行解释:业务代码和底层代码:举例说明,编写“helloworld”的java代码就是业务代码,而“helloworld”要能执行,需要业务代码通过jdk来执行,jdk等公用的代码就是底层代码。在程序的执行过程中,一些公共的功能由底层代码提供,大部分业务代码的执行过程中都需要调用底层代码来实现。异常监控逻辑:对业务代码进行监控的代码,能够获取系统抛出的异常代码。异常数据:系统抛出异常代码时,异常监控逻辑获取到的访问请求的相关数据,包括:抛出异常代码的接口、接口的函数值、入参、参数结构、返回值、调用链等。字节码增强工具:在Java语言中,当Java字节码生成之后,能够对字节码源文件进行修改的工具,从而增强字节码的功能,相当于对应用程序的二进制文件进行修改。实施例一图2为本专利技术提供的业务问题的监控方法一个实施例的流程图,该方法的执行主体可以为上述实施例所描述的业务系统中的监控装置。如图2所示,该业务问题的监控方法包括如下步骤:S201,在加载业务代码时,调用已植入异常监控逻辑的底层代码,将异常监控逻辑添加到业务代码。本专利技术实施例中,在加载业务代码之前,将异常监控逻辑植入到底层代本文档来自技高网...

【技术保护点】
1.一种业务问题的监控方法,其特征在于,包括:在加载业务代码时,调用已植入异常监控逻辑的底层代码,将所述异常监控逻辑添加到所述业务代码;运行所述业务代码,通过所述异常监控逻辑获取系统产生业务问题时生成的异常数据。

【技术特征摘要】
1.一种业务问题的监控方法,其特征在于,包括:在加载业务代码时,调用已植入异常监控逻辑的底层代码,将所述异常监控逻辑添加到所述业务代码;运行所述业务代码,通过所述异常监控逻辑获取系统产生业务问题时生成的异常数据。2.根据权利要求1所述的业务问题的监控方法,其特征在于,在加载所述业务代码之前,还包括:将所述异常监控逻辑植入到所述底层代码。3.根据权利要求2所述的业务问题的监控方法,其特征在于,所述将所述异常监控逻辑植入到所述底层代码,具体为:通过字节码增强的方式,将所述异常监控逻辑植入到所述底层代码。4.根据权利要求3所述的业务问题的监控方法,其特征在于,所述通过字节码增强的方式,将所述异常监控逻辑植入到所述底层代码,包括:在加载所述底层代码时,通过字节码增强工具修改所述底层代码,以将所述异常监控逻辑植入到所述底层代码。5.根据权利要求1所述的业务问题的监控方法,其特征在于,所述通过所述异常监控逻辑获取系统产生业务问题时生成的异常数据,包括:在执行访问请求时,若系统抛出异常代码,则通过所述异常监控逻辑获取所述访问请求的相关数据,所述相关数据包括抛出所述异常代码的接口。6.根据权利要求5所述的业务问题的监控方法,其特征在于,还包括:从所述异常数据中解析所述接口的入参;根据所述入参,重新调用所述接口;根据所述接口的执行结果,验证所述业务问题。7.根据权利要求6所述的业务问题的监控方法,其特征在于,所述根据所述接口的执行结果,验证所述业务问题,包括:当所述接口未抛出异常代码时,确认所述业务问题已被修复。8.根据权利要求1至7中任一权利要求所述的业务问题的监控方法,...

【专利技术属性】
技术研发人员:徐兵黄先荣胡文文秦成刚胡瑞永徐琴朱泽全
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1