一种基于特定异常错误编码定位异常位置的方法技术

技术编号:37180962 阅读:18 留言:0更新日期:2023-04-20 22:47
本发明专利技术提供一种基于特定异常错误编码定位异常位置的方法,涉及计算机技术领域,包括:对每个服务程序存在的每种错误均定义一个错误码;对每个服务程序设置两个错误码字段,本服务错误码和外部服务错误码;设置调用服务程序的外部服务错误码为被调用服务程序的本服务错误码和外部服务错误码的并集;当服务程序多级调用失败时,各级被调用服务程序向其对应的调用服务程序反馈本服务错误码和外部服务错误码,直至第一级调用服务程序得到本服务错误码和外部服务错误码;各级调用服务程序根据自身的本服务错误码和外部服务错误码直接定位错误产生的服务程序及对应的错误。本发明专利技术可快速定位服务调用过程产生错误的实际位置,实现错误的快速处置。现错误的快速处置。现错误的快速处置。

【技术实现步骤摘要】
一种基于特定异常错误编码定位异常位置的方法


[0001]本专利技术涉及计算机
,尤其是涉及一种基于特定异常错误编码定位异常位置的方法。

技术介绍

[0002]目前的IT系统中,每个公司都有自己的一套程序异常错误码的编码方法,这些错误码的定义能解决错误信息的合理化展示问题,但是缺乏一些能够通过编码直接定位服务程序错误位置的快速定位手段。
[0003]例如:一个系统页面调用一个服务A来完成某个业务的开通,服务A内部由于业务逻辑的需要同步调用外部系统的服务B,服务部B需要同步调用外部系统的服务C,服务C需要同步调用外部系统的服务D。当服务D、C、B、A的逻辑都正确执行完毕,服务A返回给系统页面成功信息。如果D、C、B服务其中有一个服务执行失败(假设为C),那么B也返回失败,导致A失败,于是A告知页面业务办理失败。这个时候,导致这个业务办理失败的根本原因,谁都说不清楚,页面只能说是服务A所在系统的问题,然后服务A所在系统只知道是服务B所在系统的问题,只有服务B所在系统继续查才知道是服务C所在系统的问题。
[0004]因此,如何快速定位服务程序错误产生的实际位置成为亟待解决的问题。

技术实现思路

[0005]针对上述问题,本专利技术提供了一种基于特定异常错误编码定位异常位置的方法,通过设计错误编码,能够快速定位错误产生的实际位置,解决现有技术的问题。
[0006]为实现上述目的,本专利技术公开了一种基于特定异常错误编码定位异常位置的方法,包括:
[0007]对每个服务程序存在的每种错误均定义一个唯一的错误码;
[0008]对每个服务程序设置两个错误码字段存储所述错误码,所述错误码字段包括:本服务错误码和外部服务错误码;
[0009]在服务程序调用过程中,设置调用服务程序的外部服务错误码为被调用服务程序的本服务错误码和外部服务错误码的并集;
[0010]当服务程序多级调用失败时,最末级被调用服务程序向其对应的调用服务程序反馈本服务错误码,中间各级被调用服务程序向其对应的调用服务程序反馈本服务错误码和外部服务错误码,直至第一级调用服务程序得到本服务错误码和外部服务错误码;
[0011]各级调用服务程序根据自身的本服务错误码和外部服务错误码可直接定位一个或多个错误产生的服务程序及对应的错误。
[0012]作为本专利技术的进一步改进,所述错误码中添加有服务程序前缀,各服务程序的所述前缀不同。
[0013]作为本专利技术的进一步改进,所述错误码的第一位、第二位代表错误类型。
[0014]作为本专利技术的进一步改进,所述错误码的第一位代表服务程序错误,所述错误码
的第二位代表业务级错误。
[0015]作为本专利技术的进一步改进,所述错误码的第三位到第五为由系统自定义,且同一系统中各错误码的第三位至第五位不重复。
[0016]作为本专利技术的进一步改进,所述错误码的第六位及之后的各位代表服务名或类的名称。
[0017]作为本专利技术的进一步改进,对每个服务程序设置一个错误信息描述字段,用于记录并反馈实际的错误信息描述。
[0018]作为本专利技术的进一步改进,为每个服务程序设置异常处理逻辑,包括:将本服务程序自身的本服务错误码、外部服务错误码与系统输出信息进行配置形成异常信息表配置表;服务程序在被调用过程中产生错误码时,查询所述异常信息表配置表获取系统输出信息。
[0019]作为本专利技术的进一步改进,所述异常处理逻辑在获取到系统输出信息后,对本服务程序自身的本服务错误码、外部服务错误码及系统输出信息进行存储。
[0020]与现有技术相比,本专利技术的有益效果为:
[0021]本专利技术通过对各服务错误码的定义、内外部服务错误码字段的区分及外部服务错误码计算方式的定义,能够快速定位服务调用过程产生错误的实际位置,便于对错误的快速处置。
[0022]本专利技术对各系统或服务自身的业务逻辑没有入侵,不需要大规模的修改业务逻辑,只需切片式植入,能够通过java的AOP轻松实现。
附图说明
[0023]图1为本专利技术一种实施例公开的基于特定异常错误编码定位异常位置的方法流程图。
具体实施方式
[0024]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0025]下面结合附图对本专利技术做进一步的详细描述:
[0026]如图1所示,本专利技术提供的一种基于特定异常错误编码定位异常位置的方法,包括:
[0027](1)对每个服务程序存在的每种错误均定义一个唯一的错误码;
[0028]如:A服务程序,设置错误码由A0001—A3258;
[0029](2)对每个服务程序设置两个错误码字段存储错误码,错误码字段包括:本服务错误码errorCode和外部服务错误码sourceErrorCode;
[0030](3)在服务调用过程中,设置调用服务程序的外部服务错误码为被调用服务程序的本服务错误码和外部服务错误码的并集;
[0031]如:A服务调用B服务,在服务调用过程中B服务程序运行错误,得到B服务程序的
errorCode为B0002,sourceErrorCode为0,则A服务程序的sourceErrorCode为B0002。
[0032](4)当服务多级调用失败时,最末级被调用服务程序向其对应的调用服务程序反馈本服务错误码,中间各级被调用服务程序向其对应的调用服务程序反馈本服务错误码和外部服务错误码,直至第一级调用服务程序得到本服务错误码和外部服务错误码;
[0033]如:针对复合服务的业务场景,页面调用一个服务A来完成某个业务的开通。服务A内部由于业务逻辑的需要,需要同步调用服务B,服务B需要同步调用服务C,服务C需要同步调用服务D;当服务D、C、B、A的逻辑都正确执行完毕,服务A返回给页面成功信息;如果D、C、B、A任一服务服务执行失败,那么,各级服务失败时错误码流向及服务A页面展示结果如表1所示:
[0034]表1
[0035][0036](5)各级调用服务程序根据本服务错误码和外部服务错误码可直接定位一个或多个错误产生的服务程序及对应的错误。
[0037]如表1所示,服务A根据页面展示的错误码可以直接获知错误发生在哪个服务系统,如:根据错误码D0001直接获知错误发生在服务D的系统。
[0038]其中,
[0039]错误码中添加有服务程序前缀,各服务的服务程序前缀不同。如表1所示,服务A、B、C、D的错误码对应的服务程序前缀依次为A、B、C、D,避免调用服务程序将被调用服务程序的本服务错误码和外部服务错误码取并集获取调用服务程序的外部服务错误码时,被调用服本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于特定异常错误编码定位异常位置的方法,其特征在于,包括:对每个服务程序存在的每种错误均定义一个唯一的错误码;对每个服务程序设置两个错误码字段存储所述错误码,所述错误码字段包括:本服务错误码和外部服务错误码;在服务程序调用过程中,设置调用服务程序的外部服务错误码为被调用服务程序的本服务错误码和外部服务错误码的并集;当服务程序多级调用失败时,最末级被调用服务程序向其对应的调用服务程序反馈本服务错误码,中间各级被调用服务程序向其对应的调用服务程序反馈本服务错误码和外部服务错误码,直至第一级调用服务程序得到本服务错误码和外部服务错误码;各级调用服务程序根据自身的本服务错误码和外部服务错误码可直接定位一个或多个错误产生的服务程序及对应的错误。2.根据权利要求1所述的基于特定异常错误编码定位异常位置的方法,其特征在于:所述错误码中添加有服务程序前缀,各服务程序的所述前缀不同。3.根据权利要求1所述的基于特定异常错误编码定位异常位置的方法,其特征在于:所述错误码的第一位、第二位代表错误类型。4.根据权利要求3所述的基于特定异常错误编码定位异常位置的方法,其特征在于:所述错...

【专利技术属性】
技术研发人员:赵东伟
申请(专利权)人:北京思特奇信息技术股份有限公司
类型:发明
国别省市:

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

1