CN116170514B - 一种用于中台业务的服务策略调用实现方法及系统 - Google Patents

一种用于中台业务的服务策略调用实现方法及系统 Download PDF

Info

Publication number
CN116170514B
CN116170514B CN202310430702.2A CN202310430702A CN116170514B CN 116170514 B CN116170514 B CN 116170514B CN 202310430702 A CN202310430702 A CN 202310430702A CN 116170514 B CN116170514 B CN 116170514B
Authority
CN
China
Prior art keywords
service
node
call
abnormal
instance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310430702.2A
Other languages
English (en)
Other versions
CN116170514A (zh
Inventor
仲俊光
戴小佳
谭若男
麻明宁
咸彬
张雯惠
巩在飞
王炳成
张先登
王跃飞
冯璐
姜涛
郜文乔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huaneng Shandong Power Generation Co Ltd
Huaneng Yantai Bajiao Thermoelectricity Co Ltd
Huaneng Information Technology Co Ltd
Original Assignee
Huaneng Shandong Power Generation Co Ltd
Huaneng Yantai Bajiao Thermoelectricity Co Ltd
Huaneng Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huaneng Shandong Power Generation Co Ltd, Huaneng Yantai Bajiao Thermoelectricity Co Ltd, Huaneng Information Technology Co Ltd filed Critical Huaneng Shandong Power Generation Co Ltd
Priority to CN202310430702.2A priority Critical patent/CN116170514B/zh
Publication of CN116170514A publication Critical patent/CN116170514A/zh
Application granted granted Critical
Publication of CN116170514B publication Critical patent/CN116170514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/064Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供了一种用于中台业务的服务策略调用实现方法及系统,涉及服务调用技术领域,包括当服务网关读取服务调用请求后,利用从服务注册中心查询得到的第一服务调用信息调用的目标服务接口指向的目标服务处理所述服务调用请求;通过利用异常检测模型来识别当前时间段的服务是否存在异常,若存在异常,则向服务调用客户端发送重试请求,并在接收到请求允许后,提取当前时间段的全量调用链数据进行异常根因定位,通过整合并封装负载均衡、容错保护以及服务注册等组件,在微服务系统中实现服务调用的同时,利用对故障信息的统计结果和分层根因定位,准确定位至发生故障的节点,有效提升了微服务系统运维工作的效率与准确率。

Description

一种用于中台业务的服务策略调用实现方法及系统
技术领域
本发明涉及服务调用技术领域,特别涉及一种用于中台业务的服务策略调用实现方法及系统。
背景技术
随着互联网的不断发展,用户需求急速增长,传统的单体应用结构已经难以支撑现有的业务体系,分布式应用架构逐渐成为发展趋势,可以将原来的单体应用进行拆分,分为多个服务,通过远程调用多个服务共同实现业务。
目前,微服务作为一种颗粒度更小的分布式架构,适用于中台业务,可为前台业务提供快速强力的能力支持,赋予公司快速试错、敏捷调整业务方向的能力,故如何实现服务间的远程调用以及精准定位服务调用故障节点,来有效保证服务调用的效率和准确率就显得尤为重要。
因此,本发明提供一种用于中台业务的服务策略调用实现方法及系统。
发明内容
本发明提供一种用于中台业务的服务策略调用实现方法及系统,用以通过整合并封装负载均衡、容错保护以及服务注册等组件,在微服务系统中实现服务调用的同时,利用对故障信息的统计结果和分层根因定位,准确定位至发生故障的节点,有效提升了微服务系统运维工作的效率与准确率。
本发明提供一种用于中台业务的服务策略调用实现方法,包括:
步骤1:利用服务调用客户端的用户交互接口实时获取目标用户的服务申请数据并向接入层发送服务调用请求,经过接入层身份认证后,进入服务网关;
步骤2:通过服务网关读取服务调用请求,再从服务注册中心查询得到第一服务调用信息;
步骤3:根据所述第一服务调用信息调用目标服务接口,从而利用该目标服务接口指向的目标服务处理所述服务调用请求,得到第一服务结果;
步骤4:通过利用系统运行过程中产生的历史数据训练得到的异常检测模型来识别当前时间段的服务是否存在异常;
若存在异常,则向服务调用客户端发送重试请求,并在接收到请求允许后,提取当前时间段的全量调用链数据进行异常根因定位,以便于后续修正。
优选的,利用服务调用客户端的用户交互接口实时获取目标用户的服务申请数据并向接入层发送服务调用请求,再经过接入层身份认证后,进入服务网关,包括:
步骤11:用户交互接口响应于来自终端PC的用户指令,实时获取目标用户的服务申请数据后,向接入层发送服务调用请求;
步骤12:接入层读取服务调用请求,利用公钥认证机制对目标用户进行身份认证,得到认证结果;
步骤13:分析所述认证结果,若认证结果为成功,则向服务网关发送服务调用请求。
优选的,通过服务网关读取服务调用请求,再从服务注册中心查询得到第一服务调用信息,包括:
步骤21:服务网关接收服务调用请求后,利用Ribbon的负载均衡策略从服务注册中心提取的服务实例列表中选取得到第一服务实例;
步骤22:对所述第一服务实例发起实际的负载均衡请求,得到第一服务调用信息并返回给服务网关;
步骤23:服务网关配合Hystrix组件,基于配置熔断和降级规则,实现对服务调用故障的快速处理。
优选的,利用Ribbon的负载均衡策略从服务注册中心提取的服务实例列表中选取得到第一服务实例,包括:
步骤31:对服务实例列表初始化,得到各个服务实例的关键性能指标数据;
步骤32:基于关键性能指标数据,将第j个服务实例的第i个关键性能指标的当前占用率与整个服务集群中对应第i个关键性能指标的当前占用率均值/>按预设周期进行对比,得到对比结果,其中/>,n表示服务实例总个数;/>
步骤33:分析所述对比结果,若,则提高所述第j个服务实例的第i个关键性能指标的权重值,从而得到所述第j个服务实例的第i个关键性能指标的新权重值;
否则,减少所述第j个服务实例的第i个关键性能指标的权重值,得到所述第j个服务实例的第i个关键性能指标的新权重值;
步骤34:基于各个服务实例的关键性能指标的新权重值,计算得到各个服务实例的第一剩余负载率并分别与预设高阈值、预设低阈值进行比较;
其中,若第一剩余负载率大于预设高阈值,则将对应服务实例的初始加权值作为第一加权值输出;
若第一剩余负载率处于预设高阈值与预设低阈值之间,则利用更新公式更新服务实例加权值,并作为第一加权值输出;
其中,更新公式如下所示:
;其中,/>表示为第a个服务实例的第一加权值;/>表示为第a个服务实例的初始加权值;/>表示为剩余负载率的预设高阈值;/>表示为第a个服务实例的第一剩余负载率;/>表示为放大服务实例加权值减小的效果因子;
若第一剩余负载率小于预设低阈值,则将对应服务实例从服务实例列表中剔除;
步骤35:选取第一加权值最大的对应服务实例作为第一服务实例输出。
优选的,所述第一服务调用信息指的是服务提供端预先在服务注册中心注册的服务 IP 地址以及服务名称。
优选的,通过利用系统运行过程中产生的历史数据训练得到的异常检测模型来识别当前时间段的服务是否存在异常,若存在异常,则向服务调用客户端发送重试请求,并在接收到请求允许后,提取当前时间段的全量调用链数据进行异常根因定位,包括:
将利用服务网关监控功能采集到的当前服务数据输入所述异常检测模型中进行异常检测,得到第一检测结果;
若第一检测结果不小于预设异常占比阈值,则判定当前服务数据存在异常,并将当前时刻标记为目标时刻;
获取所述目标时刻前后的时间周期T内所有的调用链,根据调用链TraceID将属于同一条链的所有数据抽取出来,得到目标数据集;
基于节点ID和父节点PID构建的父子关系,对目标数据集中的所有数据进行串联得到一条完整的目标调用链;
对目标调用链数据进行处理后,得到第一调用链;
以服务节点为对象,从第一调用链的头节点往后逐步判断是否为异常节点,若判定为异常节点则继续向后搜索,否则停止搜索;
基于对第一调用链自顶到底搜索过程中判定每个节点为异常节点以及疑似异常节点的次数的统计结果,得到各个节点的异常率;
其中,异常率求取公式如下:
;其中,/>表示为第x个节点的异常率;/>表示为第x个节点被判定为疑似异常节点的次数;/>表示为第x个节点被判定为异常节点的次数;/>表示为第x个节点被判定为正常节点的次数;
从第一调用链底层往上逐步判断,若存在异常,则将当前层作为目标层进行根因定位,得到根因节点。
优选的,将当前层作为目标层进行根因定位,得到根因节点,包括:
对目标层进行搜索,若目标层存在单个异常节点或疑似异常节点,则直接将所述单个异常节点或疑似异常节点作为根因节点;
若存在多个异常节点,则从存在的所有异常节点中选取故障返回次数最多的异常节点作为根因节点;
若存在多个异常节点且故障次数相同,则从存在的所有异常节点中选取异常率最高的异常节点作为根因节点。
本发明提供一种用于中台业务的服务策略调用实现系统,包括:
数据获取模块:利用服务调用客户端的用户交互接口实时获取目标用户的服务申请数据并向接入层发送服务调用请求,经过接入层身份认证后,进入服务网关;
信息查询模块:通过服务网关读取服务调用请求,再从服务注册中心查询得到第一服务调用信息;
服务确定模块:根据所述第一服务调用信息调用目标服务接口,从而利用该目标服务接口指向的目标服务处理所述服务调用请求,得到第一服务结果;
异常定位模块:通过利用系统运行过程中产生的历史数据训练得到的异常检测模型来识别当前时间段的服务是否存在异常;
若存在异常,则向服务调用客户端发送重试请求,并在接收到请求允许后,提取当前时间段的全量调用链数据进行异常根因定位,以便于后续修正。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种用于中台业务的服务策略调用实现方法的流程图;
图2为本发明实施例中一种用于中台业务的服务策略调用实现系统的结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提供一种用于中台业务的服务策略调用实现方法,如图1所示,包括:
步骤1:利用服务调用客户端的用户交互接口实时获取目标用户的服务申请数据并向接入层发送服务调用请求,经过接入层身份认证后,进入服务网关;
步骤2:通过服务网关读取服务调用请求,再从服务注册中心查询得到第一服务调用信息;
步骤3:根据所述第一服务调用信息调用目标服务接口,从而利用该目标服务接口指向的目标服务处理所述服务调用请求,得到第一服务结果;
步骤4:通过利用系统运行过程中产生的历史数据训练得到的异常检测模型来识别当前时间段的服务是否存在异常;
若存在异常,则向服务调用客户端发送重试请求,并在接收到请求允许后,提取当前时间段的全量调用链数据进行异常根因定位,以便于后续修正。
该实施例中,服务调用客户端作为服务调用的请求方,利用用户交换接口来获取目标用户的所需服务相关数据,实现服务调用,其中,用户交互接口指的是系统与用户之间进行交互和信息交换的软件接口;服务申请数据主要包括有服务项目,比如权证认证,以及服务方式,比如电话服务、网上服务。
该实施例中,接入层作为客户端与关键服务器的隔离层,在接收到用户的服务申请数据后转送至服务网关,其优势在于有效降低消息的丢失率,提高系统的稳定性;服务调用请求是指微服务之间通过网络远程访问,调用其他服务;接入层进行身份认证的方式是公钥认证机制,在分布式系统中呈高优越性;服务网关主要负责将传入的请求路由转发到具体的服务实例,具备有服务路由、负载均衡以及服务监控等功能。
该实施例中,服务注册中心用于监听微服务的心跳,动态维护可访问的服务地址列表,其中服务提供端将主机号、服务端口号、服务地址以及服务名称等信息注册到注册中心;第一服务调用信息是指服务提供端预先在服务注册中心注册的服务IP 地址以及服务名称。
该实施例中,目标服务接口是根据第一服务调用信息匹配得到的,用于调用目标服务来处理对应的服务调用请求;第一服务结果是由目标服务所包含的业务逻辑处理服务调用请求得到的。
该实施例中,历史数据主要是指历史日志数据和历史调用链数据;全量调用链数据是指某一时间段内的所有调用链数据,比如调用链上的所有节点名称、节点之间的父子关系;异常根因定位是指对全量调用链上存在异常的节点的确认。
上述技术方案的有益效果是:通过整合并封装负载均衡、容错保护以及服务注册等组件,在微服务系统中实现服务调用的同时,利用对故障信息的统计结果和分层根因定位,准确定位至发生故障的节点,有效提升了微服务系统运维工作的效率与准确率。
本发明实施例提供一种用于中台业务的服务策略调用实现方法,利用服务调用客户端的用户交互接口实时获取目标用户的服务申请数据并向接入层发送服务调用请求,再经过接入层身份认证后,进入服务网关,包括:
步骤11:用户交互接口响应于来自终端PC的用户指令,实时获取目标用户的服务申请数据后,向接入层发送服务调用请求;
步骤12:接入层读取服务调用请求,利用公钥认证机制对目标用户进行身份认证,得到认证结果;
步骤13:分析所述认证结果,若认证结果为成功,则向服务网关发送服务调用请求。
该实施例中,用户交互接口指的是系统与用户之间进行交互和信息交换的软件接口;用户指令是指用户在终端PC界面提交的执行某种操作的命令;服务申请数据主要是指服务项目数据以及服务方式数据;接入层作为客户端与关键服务器的隔离层,在接收到用户的服务申请数据后转送至服务网关;服务调用请求是指微服务之间通过网络远程访问,调用其他服务;公钥认证机制是一种使用数字证书进行身份验证的机制。
上述技术方案的有益效果是:通过利用公钥认证机制,在接入层读取服务调用请求后进行身份认证,若认证结果为成功,则向服务网关发送服务调用请求,保证了服务调用过程中,分布式系统的安全性与稳定性。
本发明实施例提供一种用于中台业务的服务策略调用实现方法,通过服务网关读取服务调用请求,再从服务注册中心查询得到第一服务调用信息,包括:
步骤21:服务网关接收服务调用请求后,利用Ribbon的负载均衡策略从服务注册中心提取的服务实例列表中选取得到第一服务实例;
步骤22:对所述第一服务实例发起实际的负载均衡请求,得到第一服务调用信息并返回给服务网关;
步骤23:服务网关配合Hystrix组件,基于配置熔断和降级规则,实现对服务调用故障的快速处理。
该实施例中,Ribbon是负载均衡器,主要用于解决由于集群服务造成服务无法高效访问的问题,其可提供各种负载均衡策略。
该实施例中,服务注册中心指的是对服务调用客户端与服务提供端之间进行解耦,用于监听微服务的心跳,动态维护可访问的服务地址列表;服务实例列表;第一服务实例指的是基于服务的关键性能指标和剩余负载率进行均衡算法后对应分配的服务实例;第一服务调用信息指的是服务提供端预先在服务注册中心注册的服务IP地址以及服务名称。
该实施例中,Hystrix组件实现容错机制,在一个系统中当有服务无法用时,与该服务存在调用关系的服务也无法使用,此时为防止这种级联故障,导致整个系统崩溃,通过Hystrix组件实现服务降级、限流等措施。
上述技术方案的有益效果是:通过利用服务网关读取服务调用请求后,再对结合Ribbon组件的负载均衡策略得到的第一服务实例发起实际的负载均衡请求,得到第一服务调用信息,有效保证了准确调用服务的同时避免负载资源浪费。
本发明实施例提供一种用于中台业务的服务策略调用实现方法,利用Ribbon的负载均衡策略从服务注册中心提取的服务实例列表中选取得到第一服务实例,包括:
步骤31:对服务实例列表初始化,得到各个服务实例的关键性能指标数据;
步骤32:基于关键性能指标数据,将第j个服务实例的第i个关键性能指标的当前占用率与整个服务集群中对应第i个关键性能指标的当前占用率均值/>按预设周期进行对比,得到对比结果,其中/>,n表示服务实例总个数;/>
步骤33:分析所述对比结果,若,则提高所述第j个服务实例的第i个关键性能指标的权重值,从而得到所述第j个服务实例的第i个关键性能指标的新权重值;
否则,减少所述第j个服务实例的第i个关键性能指标的权重值,得到所述第j个服务实例的第i个关键性能指标的新权重值;
步骤34:基于各个服务实例的关键性能指标的新权重值,计算得到各个服务实例的第一剩余负载率并分别与预设高阈值、预设低阈值进行比较;
其中,若第一剩余负载率大于预设高阈值,则将对应服务实例的初始加权值作为第一加权值输出;
若第一剩余负载率处于预设高阈值与预设低阈值之间,则利用更新公式更新服务实例加权值,并作为第一加权值输出;
其中,更新公式如下所示:
;其中,/>表示为第a个服务实例的第一加权值;/>表示为第a个服务实例的初始加权值;/>表示为剩余负载率的预设高阈值;/>表示为第a个服务实例的第一剩余负载率;/>表示为放大服务实例加权值减小的效果因子;
若第一剩余负载率小于预设低阈值,则将对应服务实例从服务实例列表中剔除;
步骤35:选取第一加权值最大的对应服务实例作为第一服务实例输出。
该实施例中,关键性能指标数据包括有CPU 利用率、I/O利用率、内存利用率、网络带宽利用率 4个性能指标,用于综合评价服务实例的动态负载状态;预设周期是提前设定好的时间周期。
该实施例中,比如,存在服务实例1对应性能指标2的当前占用率大于性能指标2在整个服务集群中的当前占用率/>,此时提高第1个服务实例的第2个关键性能指标的权重值,得到对应新权重值。
该实施例中,预设高阈值与预设低阈值是提前设定好的。
该实施例中,提高或减少性能指标的权重值的目的是为了有助于对服务实例当前状态的精确判断。
该实施例中,比如,存在服务实例2、3、4,对应的第一剩余负载率分别是、/>和/>,其中/>大于预设高阈值,/>小于预设低阈值;/>处于预设高阈值处于预设低阈值之间,此时将服务实例2的初始加权值作为第一加权值输出;利用更新公式更新服务实例4的初始加权值后得到的加权值作为第一加权值输出,并将服务实例3从服务实例列表中剔除;
最后将服务实例2与服务实例4的第一加权值进行对比,选取值最大的服务实例作为第一服务实例输出。
上述技术方案的有益效果是:通过动态更新服务实例各项性能指标权值与服务权值来优化微服务架构中的负载均衡技术,有效减少请求延迟,提高服务调用的可靠性和资源利用性。
本发明实施例提供一种用于中台业务的服务策略调用实现方法,通过利用系统运行过程中产生的历史数据训练得到的异常检测模型来识别当前时间段的服务是否存在异常,若存在异常,则向服务调用客户端发送重试请求,并在接收到请求允许后,提取当前时间段的全量调用链数据进行异常根因定位,包括:
将利用服务网关监控功能采集到的当前服务数据输入所述异常检测模型中进行异常检测,得到第一检测结果;
若第一检测结果不小于预设异常占比阈值,则判定当前服务数据存在异常,并将当前时刻标记为目标时刻;
获取所述目标时刻前后的时间周期T内所有的调用链,根据调用链TraceID将属于同一条链的所有数据抽取出来,得到目标数据集;
基于节点ID和父节点PID构建的父子关系,对目标数据集中的所有数据进行串联得到一条完整的目标调用链;
对目标调用链数据进行处理后,得到第一调用链;
以服务节点为对象,从第一调用链的头节点往后逐步判断是否为异常节点,若判定为异常节点则继续向后搜索,否则停止搜索;
基于对第一调用链自顶到底搜索过程中判定每个节点为异常节点以及疑似异常节点的次数的统计结果,得到各个节点的异常率;
其中,异常率求取公式如下:
;其中,/>表示为第x个节点的异常率;/>表示为第x个节点被判定为疑似异常节点的次数;/>表示为第x个节点被判定为异常节点的次数;/>表示为第x个节点被判定为正常节点的次数;
从第一调用链底层往上逐步判断,若存在异常,则将当前层作为目标层进行根因定位,得到根因节点。
该实施例中,调用链是分布式系统中的重要数据,其表明了一个完整服务在分布式系统中的执行顺序或流程;将从数据库中提取大量的系统运行过程中产生的历史数据作为训练样本,其中,历史数据中的历史关键性能指标数据(时延 调用链成功率等)作为输入,对历史数据中的异常进行人工标注作为输出,来对神经网络模型进行训练,完成对异常检测模型的建立,其中,历史数据主要是指历史日志数据和历史调用链数据;历史关键性能指标数据指的是历史时延以及历史成功率;异常检测模型用于实时对服务数据进行故障检测,是基于存储在数据库中的系统运行中产生的历史数据,结合历史关键性能指标训练得到的。
该实施例中,当前服务数据指的是当前日志数据、调用链数据以及当前服务的业务指标数据,比如网络延时、吞吐量、成功率;第一检测结果指的是当前服务数据中的时延高于预设时延阈值与失败率高于预设失败阈值的调用链比例,其中预设时延阈值和预设失败阈值是采用人工可调的方式设定的;预设异常占比阈值是提前设定好的;目标时刻指的是判定存在异常的对应时间点。
该实施例中,TraceID指的是调用链序号,每条调用链都拥有唯一的调用链序号;目标数据集由同一条链上的所有数据构成。
该实施例中,对目标调用链数据的处理指的是预先计算并保留算法中需要用到的结果,比如存在某一目标调用链m1,经过计算并保留需要用到的结果,包括由调用链TraceID、PID数据、IDz1数据以及子节点IDz1实耗时间总和为9s,子节点IDz1调用成功;第一调用链是对目标调用链数据进行预先计算并保留计算结果到的,其中第一调用链上的每个节点数据包含了各自的延时数据以及是否调用成功信息。
该实施例中,判断是否为异常节点主要从是否存在延时异常、调用状态失败、当前节点后续子节点调用失败以及当前节点的父节点异常,且延时占用父节点延时的一半及以上四个方面来确定。
该实施例中,从第一调用链底层往上逐步判断是由于底层节点为根因的概率更大,更易于定位,其中定位的标准则依赖于异常率。
上述技术方案的有益效果是:通过结合故障信息的统计和分层根因定位,来准确得到根因节点,有效提升了服务调用过程的效率和准确率。
本发明实施例提供一种用于中台业务的服务策略调用实现方法,将当前层作为目标层进行根因定位,得到根因节点,包括:
对目标层进行搜索,若目标层存在单个异常节点或疑似异常节点,则直接将所述单个异常节点或疑似异常节点作为根因节点;
若存在多个异常节点,则从存在的所有异常节点中选取故障返回次数最多的异常节点作为根因节点;
若存在多个异常节点且故障次数相同,则从存在的所有异常节点中选取异常率最高的异常节点作为根因节点。
该实施例中,比如,存在目标层a1,该层存在异常节点1、2、3,对应的故障次数分别是3、9和1,此时将异常节点2作为根因节点输出。
上述技术方案的有益效果是:通过采用故障次数作为定位判定依据进行根因节点的获取,保证了定位的精度,有利于提升服务运维的效率。
本发明实施例提供一种用于中台业务的服务策略调用实现系统,如图2所示,包括:
数据获取模块:利用服务调用客户端的用户交互接口实时获取目标用户的服务申请数据并向接入层发送服务调用请求,经过接入层身份认证后,进入服务网关;
信息查询模块:通过服务网关读取服务调用请求,再从服务注册中心查询得到第一服务调用信息;
服务确定模块:根据所述第一服务调用信息调用目标服务接口,从而利用该目标服务接口指向的目标服务处理所述服务调用请求,得到第一服务结果;
异常定位模块:通过利用系统运行过程中产生的历史数据训练得到的异常检测模型来识别当前时间段的服务是否存在异常;
若存在异常,则向服务调用客户端发送重试请求,并在接收到请求允许后,提取当前时间段的全量调用链数据进行异常根因定位,以便于后续修正。
上述技术方案的有益效果是:通过整合并封装负载均衡、容错保护以及服务注册等组件,在微服务系统中实现服务调用的同时,利用对故障信息的统计结果和分层根因定位,准确定位至发生故障的节点,有效提升了微服务系统运维工作的效率与准确率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (6)

1.一种用于中台业务的服务策略调用实现方法,其特征在于,包括:
步骤1:利用服务调用客户端的用户交互接口实时获取目标用户的服务申请数据并向接入层发送服务调用请求,经过接入层身份认证后,进入服务网关;
步骤2:通过服务网关读取服务调用请求,再从服务注册中心查询得到第一服务调用信息;
步骤3:根据所述第一服务调用信息调用目标服务接口,从而利用该目标服务接口指向的目标服务处理所述服务调用请求,得到第一服务结果;
步骤4:通过利用系统运行过程中产生的历史数据训练得到的异常检测模型来识别当前时间段的服务是否存在异常;
若存在异常,则向服务调用客户端发送重试请求,并在接收到请求允许后,提取当前时间段的全量调用链数据进行异常根因定位,以便于后续修正;
其中,通过服务网关读取服务调用请求,再从服务注册中心查询得到第一服务调用信息,包括:
步骤21:服务网关接收服务调用请求后,利用Ribbon的负载均衡策略从服务注册中心提取的服务实例列表中选取得到第一服务实例;
步骤22:对所述第一服务实例发起实际的负载均衡请求,得到第一服务调用信息并返回给服务网关;
步骤23:服务网关配合Hystrix组件,基于配置熔断和降级规则,实现对服务调用故障的快速处理;
其中,利用Ribbon的负载均衡策略从服务注册中心提取的服务实例列表中选取得到第一服务实例,包括:
步骤31:对服务实例列表初始化,得到各个服务实例的关键性能指标数据;
步骤32:基于关键性能指标数据,将第j个服务实例的第i个关键性能指标的当前占用率与整个服务集群中对应第i个关键性能指标的当前占用率均值/>按预设周期进行对比,得到对比结果,其中/>,n表示服务实例总个数;/>
步骤33:分析所述对比结果,若,则提高所述第j个服务实例的第i个关键性能指标的权重值,从而得到所述第j个服务实例的第i个关键性能指标的新权重值;
否则,减少所述第j个服务实例的第i个关键性能指标的权重值,得到所述第j个服务实例的第i个关键性能指标的新权重值;
步骤34:基于各个服务实例的关键性能指标的新权重值,计算得到各个服务实例的第一剩余负载率并分别与预设高阈值、预设低阈值进行比较;
其中,若第一剩余负载率大于预设高阈值,则将对应服务实例的初始加权值作为第一加权值输出;
若第一剩余负载率处于预设高阈值与预设低阈值之间,则利用更新公式更新服务实例加权值,并作为第一加权值输出;
其中,更新公式如下所示:
;其中,/>表示为第a个服务实例的第一加权值;/>表示为第a个服务实例的初始加权值;/>表示为剩余负载率的预设高阈值;/>表示为第a个服务实例的第一剩余负载率;/>表示为放大服务实例加权值减小的效果因子;
若第一剩余负载率小于预设低阈值,则将对应服务实例从服务实例列表中剔除;
步骤35:选取第一加权值最大的对应服务实例作为第一服务实例输出。
2.根据权利要求1所述的一种用于中台业务的服务策略调用实现方法,其特征在于,利用服务调用客户端的用户交互接口实时获取目标用户的服务申请数据并向接入层发送服务调用请求,再经过接入层身份认证后,进入服务网关,包括:
步骤11:用户交互接口响应于来自终端PC的用户指令,实时获取目标用户的服务申请数据后,向接入层发送服务调用请求;
步骤12:接入层读取服务调用请求,利用公钥认证机制对目标用户进行身份认证,得到认证结果;
步骤13:分析所述认证结果,若认证结果为成功,则向服务网关发送服务调用请求。
3.根据权利要求1所述的一种用于中台业务的服务策略调用实现方法,其特征在于,所述第一服务调用信息指的是服务提供端预先在服务注册中心注册的服务IP地址以及服务名称。
4.根据权利要求1所述的一种用于中台业务的服务策略调用实现方法,其特征在于,通过利用系统运行过程中产生的历史数据训练得到的异常检测模型来识别当前时间段的服务是否存在异常,若存在异常,则向服务调用客户端发送重试请求,并在接收到请求允许后,提取当前时间段的全量调用链数据进行异常根因定位,包括:
将利用服务网关监控功能采集到的当前服务数据输入所述异常检测模型中进行异常检测,得到第一检测结果;
若所述第一检测结果不小于预设异常占比阈值,则判定当前服务数据存在异常,并将当前时刻标记为目标时刻;
获取所述目标时刻前后的时间周期T内所有的调用链,根据调用链TraceID将属于同一条链的所有数据抽取出来,得到目标数据集;
基于节点ID和父节点PID构建的父子关系,对目标数据集中的所有数据进行串联得到一条完整的目标调用链;
对目标调用链数据进行处理后,得到第一调用链;
以服务节点为对象,从第一调用链的头节点往后逐步判断是否为异常节点,若判定为异常节点则继续向后搜索,否则停止搜索;
基于对第一调用链自顶到底搜索过程中判定每个节点为异常节点以及疑似异常节点的次数的统计结果,得到各个节点的异常率;
其中,异常率求取公式如下:
;其中,/>表示为第x个节点的异常率;/>表示为第x个节点被判定为疑似异常节点的次数;/>表示为第x个节点被判定为异常节点的次数;/>表示为第x个节点被判定为正常节点的次数;
从第一调用链底层往上逐步判断,若存在异常,则将当前层作为目标层进行根因定位,得到根因节点。
5.根据权利要求4所述的一种用于中台业务的服务策略调用实现方法,其特征在于,将当前层作为目标层进行根因定位,得到根因节点,包括:
对目标层进行搜索,若目标层存在单个异常节点或疑似异常节点,则直接将所述单个异常节点或疑似异常节点作为根因节点;
若存在多个异常节点,则从存在的所有异常节点中选取故障返回次数最多的异常节点作为根因节点;
若存在多个异常节点且故障次数相同,则从存在的所有异常节点中选取异常率最高的异常节点作为根因节点。
6.一种用于中台业务的服务策略调用实现系统,其特征在于,包括:
数据获取模块:利用服务调用客户端的用户交互接口实时获取目标用户的服务申请数据并向接入层发送服务调用请求,经过接入层身份认证后,进入服务网关;
信息查询模块:通过服务网关读取服务调用请求,再从服务注册中心查询得到第一服务调用信息;
服务确定模块:根据所述第一服务调用信息调用目标服务接口,从而利用该目标服务接口指向的目标服务处理所述服务调用请求,得到第一服务结果;
异常定位模块:通过利用系统运行过程中产生的历史数据训练得到的异常检测模型来识别当前时间段的服务是否存在异常;
若存在异常,则向服务调用客户端发送重试请求,并在接收到请求允许后,提取当前时间段的全量调用链数据进行异常根因定位,以便于后续修正;
其中,信息查询模块,用于:
服务网关接收服务调用请求后,利用Ribbon的负载均衡策略从服务注册中心提取的服务实例列表中选取得到第一服务实例;
对所述第一服务实例发起实际的负载均衡请求,得到第一服务调用信息并返回给服务网关;
服务网关配合Hystrix组件,基于配置熔断和降级规则,实现对服务调用故障的快速处理;
其中,利用Ribbon的负载均衡策略从服务注册中心提取的服务实例列表中选取得到第一服务实例,包括:
对服务实例列表初始化,得到各个服务实例的关键性能指标数据;
基于关键性能指标数据,将第j个服务实例的第i个关键性能指标的当前占用率与整个服务集群中对应第i个关键性能指标的当前占用率均值/>按预设周期进行对比,得到对比结果,其中/>,n表示服务实例总个数;/>
分析所述对比结果,若,则提高所述第j个服务实例的第i个关键性能指标的权重值,从而得到所述第j个服务实例的第i个关键性能指标的新权重值;
否则,减少所述第j个服务实例的第i个关键性能指标的权重值,得到所述第j个服务实例的第i个关键性能指标的新权重值;
基于各个服务实例的关键性能指标的新权重值,计算得到各个服务实例的第一剩余负载率并分别与预设高阈值、预设低阈值进行比较;
其中,若第一剩余负载率大于预设高阈值,则将对应服务实例的初始加权值作为第一加权值输出;
若第一剩余负载率处于预设高阈值与预设低阈值之间,则利用更新公式更新服务实例加权值,并作为第一加权值输出;
其中,更新公式如下所示:
;其中,/>表示为第a个服务实例的第一加权值;/>表示为第a个服务实例的初始加权值;/>表示为剩余负载率的预设高阈值;/>表示为第a个服务实例的第一剩余负载率;/>表示为放大服务实例加权值减小的效果因子;
若第一剩余负载率小于预设低阈值,则将对应服务实例从服务实例列表中剔除;
选取第一加权值最大的对应服务实例作为第一服务实例输出。
CN202310430702.2A 2023-04-21 2023-04-21 一种用于中台业务的服务策略调用实现方法及系统 Active CN116170514B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310430702.2A CN116170514B (zh) 2023-04-21 2023-04-21 一种用于中台业务的服务策略调用实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310430702.2A CN116170514B (zh) 2023-04-21 2023-04-21 一种用于中台业务的服务策略调用实现方法及系统

Publications (2)

Publication Number Publication Date
CN116170514A CN116170514A (zh) 2023-05-26
CN116170514B true CN116170514B (zh) 2023-07-18

Family

ID=86416671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310430702.2A Active CN116170514B (zh) 2023-04-21 2023-04-21 一种用于中台业务的服务策略调用实现方法及系统

Country Status (1)

Country Link
CN (1) CN116170514B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282635A (zh) * 2021-04-12 2021-08-20 国电南瑞科技股份有限公司 一种微服务系统故障根因定位方法及装置
CN115237717A (zh) * 2022-07-28 2022-10-25 西南科技大学 一种微服务异常检测方法和系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111245888A (zh) * 2019-12-24 2020-06-05 北京中盾安全技术开发公司 一种视频图像服务管理方法
CN112000448B (zh) * 2020-07-17 2023-08-25 北京计算机技术及应用研究所 基于微服务架构的应用管理方法
EP4193302A1 (en) * 2020-08-05 2023-06-14 Avesha, Inc. Performing load balancing self adjustment within an application environment
CN114528175A (zh) * 2020-10-30 2022-05-24 亚信科技(中国)有限公司 一种微服务应用系统根因定位方法、装置、介质及设备
CN113032238B (zh) * 2021-05-25 2021-08-17 南昌惠联网络技术有限公司 基于应用知识图谱的实时根因分析方法
CN114257493B (zh) * 2021-12-17 2024-04-23 中国电信股份有限公司 网络节点的故障预警方法、装置、介质及电子设备
CN115269357B (zh) * 2022-09-23 2023-02-14 华南理工大学 一种基于调用链的微服务异常检测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282635A (zh) * 2021-04-12 2021-08-20 国电南瑞科技股份有限公司 一种微服务系统故障根因定位方法及装置
CN115237717A (zh) * 2022-07-28 2022-10-25 西南科技大学 一种微服务异常检测方法和系统

Also Published As

Publication number Publication date
CN116170514A (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
US11269718B1 (en) Root cause detection and corrective action diagnosis system
CN108595157B (zh) 区块链数据的处理方法、装置、设备和存储介质
KR102417742B1 (ko) Api 데이터 수집시스템 및 그에 관한 방법
CN110704231A (zh) 一种故障处理方法及装置
US20220084031A1 (en) Backend architecture method and system for aggregate payment, computer device, and storage medium
JP6062034B2 (ja) 処理制御システム、処理制御方法、および処理制御プログラム
US10554701B1 (en) Real-time call tracing in a service-oriented system
US20210117779A1 (en) Method, device, and computer program product for error evaluation
CN110780870A (zh) 一种业务执行方法、装置、设备及存储介质
CN112446786A (zh) 一种异常交易处理方法、装置、电子设备和可读存储介质
CN112954031B (zh) 一种基于云手机的设备状态通知方法
CN113282630A (zh) 基于接口切换的数据查询方法及装置
JP5007247B2 (ja) ジョブ処理システムおよびジョブ管理方法
CN111367782B (zh) 回归测试数据自动生成的方法及装置
US8224933B2 (en) Method and apparatus for case-based service composition
CN116170514B (zh) 一种用于中台业务的服务策略调用实现方法及系统
CN113255929A (zh) 异常用户可解释原因的获取方法和装置
CN112969172A (zh) 一种基于云手机的通讯流量控制方法
CN116723154A (zh) 一种基于负载均衡的路由分发方法及系统
CN116226138A (zh) 一种基于区块链的信息漏洞处理方法及装置
CN110865918A (zh) 数据库的监控方法、装置、计算机设备和存储介质
CN116185797A (zh) 预测服务器资源饱和度的方法、装置及存储介质
US10466984B2 (en) Identifying and associating computer assets impacted by potential change to a particular computer asset
CN114928529A (zh) 一种信息系统及信息系统故障检测方法
CN115373641A (zh) 一种基于加密算法的软件开发系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant