[发明专利]一种分布式系统中错误码传递方法在审
申请号: | 202110986614.1 | 申请日: | 2021-08-26 |
公开(公告)号: | CN113626247A | 公开(公告)日: | 2021-11-09 |
发明(设计)人: | 刘谦;钱晓炯;李侠 | 申请(专利权)人: | 宁波菊风系统软件有限公司 |
主分类号: | G06F11/08 | 分类号: | G06F11/08 |
代理公司: | 宁波诚源专利事务所有限公司 33102 | 代理人: | 刘凤钦;邓青玲 |
地址: | 315040 浙江省宁波*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 系统 错误 传递 方法 | ||
本发明涉及一种分布式系统中错误码传递方法,其特征在于:对分布式系统中的服务模块进行编码唯一对应的领域编码,当分布式系统中的服务模块产生错误并生成错误代码以后,将自身产生的错误代码与其自身领域编号进行合并,形成一个新的错误码,然后返回给调用的上级中间服务模块,中间调用的服务模块在传递错误码时,会将自身的领域编码与上一级返回的错误码一起向上级调用的服务模块传递。与现有技术相比,本发明的优点在于:业务请求发起者可以通过下级服务模块返回的错误码直接获得根源错误码,从根源错误码可以之间获得错误发生的服务模块领域编码,从而快速定位错误产生的具体应用模块和错误原因。
技术领域
本发明涉及一种错误码传递方法。
背景技术
错误码是一种接口调用失败情况下输出或者返回的根源错误信息,用于协助开发者发现和定位问题。随着互联网服务的发展,其组成架构也日益复杂,发现和定位问题的难度也日益增加。HTTP错误码是一种常见的错误码设计,其采用数字错误码形式,通过不同的数字错误码,表示不同的错误类型;例如数字错误码100-199,表示临时响应并需要请求者继续执行操作的状态代码;数字错误码200-299表示成功处理了请求的状态代码;数字错误码300-399表示要完成请求,需要进一步操作;数字错误码400-499表示请求可能出错,妨碍了服务器的处理的状态代码;数字错误码500-599表示服务器在尝试处理请求时发生内部错误的状态代码。其他系统中的错误码设计机制,大多也是采用数字代码形式,如Linux系统中errno。不同的数字错误码代表的错误含义由各个模块的开发者负责制定。
这些错误码在传递过程中,某一个节点(该节点可以是某一个功能模块,也可以是某一个应用服务模块)直接将产生的错误码返回上级调用节点。这种错误码的传递方式主要存在以下三方面的问题:
第一,在分布式系统中,一次业务请求通常会经过多个节点处理,而HTTP错误码只适用于节点与节点之间传递根源错误信息,不适合业务请求的错误码传递;因为一旦一个业务请求经过多个节点处理后,返回给请求方的错误码仅为与请求方连接的节点返回的错误码,无法获取其他节点产生错误码,因此请求方是无法准确得知到底是哪一个节点产生错误,无法对错误根源进行快速分析定位
第二、HTTP错误码只是对错误原因进行定义,没有约定一种在各个节点之间的错误的传递机制;
第三、面向本地调用接口的数字错误码传递时,一般功能模块或应用服务模块,没有考虑整个系统的中的一致性问题,不同功能模块或应用服务模块存在不同规则的错误码机制,本地调用也没有考虑错误码传递问题,这也会造成系统错误定位困难的问题。
发明内容
本发明所要解决的技术问题是针对上述现有技术提供一种能快速定位错误产生的具体应用模块和错误原因的分布式系统中错误码传递方法。
本发明解决上述技术问题所采用的技术方案为:一种分布式系统中错误码传递方法,适用于分布式系统中同一个业务请求调用的多个服务模块之间的错误码传递,当同一个业务请求调用的多个服务模块中某一个服务模块产生错误后,将产生错误的服务模块称为错误根源服务模块,将调用错误根源服务模块的服务模块称为第一级调用模块,将调用第一级调用模块的服务模块称为第二级调用模块,将调用第二级调用模块的服务模块称为第三级调用模块,依次类推,将调用第N-1级调用模块的服务模块称为第N级调用模块,N为大于等于2的自然数;其特征在于:对分布式系统中的服务模块进行编码唯一对应的领域编码,即分布式系统中的每个服务模块唯一对应一个领域编码;
当分布式系统中错误根源服务模块产生错误并生成错误代码以后,错误根源服务模块将自身产生的错误代码与错误根源服务模块的领域编号进行合并,形成一个新的错误码,将该新的错误码称为根源错误码,并将该根源错误码返回调用该错误根源服务模块的第一级调用模块,同时错误根源服务模块将根源错误信息也一并返回给第一级调用模块;其中根源错误信息为错误产生的原因;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宁波菊风系统软件有限公司,未经宁波菊风系统软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110986614.1/2.html,转载请声明来源钻瓜专利网。