利索能及
我要发布
收藏
专利号: 2019105964824
申请人: 平安科技(深圳)有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-09-09
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于管理平台的微服务预警方法,其特征在于,包括:

接收第一微服务发送的附带有调用信息的调用指定微服务的调用报文,其中,所述调用报文基于指定通信协议封装而成,所述调用信息包括所述指定微服务的服务名称、服务URL地址或者服务功能中的至少一项;

判断所述指定通信协议与所述指定微服务的预设通信协议是否相同;

若所述指定通信协议与所述指定微服务的预设通信协议相同,则根据所述指定通信协议的格式解析所述调用报文,从而获得调用报文头;

采用预设的相似度算法计算所述调用报文头与预设的标准调用报文头的相似度值,并判断所述相似度值是否大于预设的相似度阈值;

若所述相似度值大于预设的相似度阈值,则将所述调用报文中的调用报文头替换为所述标准调用报文头,从而获得替换后调用报文;

根据所述调用信息,获取预定时间内所述指定微服务的被调用次数,并判断所述被调用次数是否大于预设的第一预警次数阈值;

若所述被调用次数大于预设的第一预警次数阈值,则生成预警信息,并将所述预警信息和所述替换后调用报文发送给所述指定微服务,并使用预设的监控插件将所述指定微服务加入预设的监控列表中。

2.根据权利要求1所述的基于管理平台的微服务预警方法,其特征在于,所述判断所述指定通信协议与所述指定微服务的预设通信协议是否相同的步骤之前,包括:判断所述第一微服务与所述指定微服务是否属于同一个微服务集群;

若所述第一微服务与所述指定微服务不属于同一个微服务集群,则判断所述调用报文是否携带有身份令牌,其中所述身份令牌是所述管理平台针对所述第一微服务生成的身份认证信息;

若所述调用报文携带有身份令牌,则根据预设的身份令牌与权限对应关系,判断所述调用报文携带的身份令牌是否具有调用所述指定微服务的权限;

若所述调用报文携带的身份令牌具有调用所述指定微服务的权限,则判断所述调用报文的调用参数是否与所述指定微服务的预定参数相匹配;

若所述调用报文的调用参数与所述指定微服务的预定参数相匹配,则生成通信协议判断指令,其中所述通信协议判断指令用于指示判断所述指定通信协议与所述指定微服务的预设通信协议是否相同。

3.根据权利要求1所述的基于管理平台的微服务预警方法,其特征在于,所述若所述指定通信协议与所述指定微服务的预设通信协议相同,则根据所述指定通信协议的格式解析所述调用报文,从而获得调用报文头的步骤,包括:若所述指定通信协议与所述指定微服务的预设通信协议相同,则根据预设的指定通信协议的格式,确定所述调用报文中的报文头的位置;

判断所述报文头的位置中的内容是否符合预设的报文头的格式;

若所述报文头的位置中的内容符合预设的报文头的格式,则提取所述报文头的位置中的内容,并记为调用报文头。

4.根据权利要求1所述的基于管理平台的微服务预警方法,其特征在于,所述采用预设的相似度算法计算所述调用报文头与预设的标准调用报文头的相似度值,并判断所述相似度值是否大于预设的相似度阈值的步骤,包括:采用公式:

计算所述调用报文头与预设的标准调用报文头的相似度值;其中,A为所述调用报文头的字符频率向量,B为预设的标准调用报文头的字符频率向量,Ai、Bi分别为所述向量A和B的第i个分向量,n为向量A和B二者中分向量数量最多的分向量数量值,并判断所述相似度值是否大于预设的相似度阈值。

5.根据权利要求1所述的基于管理平台的微服务预警方法,其特征在于,所述根据所述调用信息,获取预定时间内所述指定微服务的被调用次数,并判断所述被调用次数是否大于预设的第一预警次数阈值的步骤之前,包括:执行对所述替换后调用报文的识别命令;

判断执行所述识别命令的过程是否报错;

若执行所述识别命令的过程未报错,则生成预警判断指令,其中所述预警判断指令用于指示根据所述调用信息,获取预定时间内所述指定微服务的被调用次数,并判断所述被调用次数是否大于预设的第一预警次数阈值。

6.根据权利要求1所述的基于管理平台的微服务预警方法,其特征在于,所述根据所述调用信息,获取预定时间内所述指定微服务的被调用次数,并判断所述被调用次数是否大于预设的第一预警次数阈值的步骤之后,包括:若所述被调用次数不大于预设的第一预警次数阈值,则统计预定时间内所指定微服务的流量数据,并判断所述流量数据随时间变化的分布是否处于预设的流量数据分布范围内;

若所述流量数据随时间变化的分布处于预设的流量数据分布范围内,则将所述替换后调用报文发送给所述指定微服务。

7.根据权利要求1所述的基于管理平台的微服务预警方法,其特征在于,所述若所述被调用次数大于预设的第一预警次数阈值,则生成预警信息,并将所述预警信息和所述替换后调用报文发送给所述指定微服务,并使用预设的监控插件将所述指定微服务加入预设的监控列表中的步骤,包括:若所述被调用次数大于预设的第一预警次数阈值,则生成预警信息,并将所述预警信息和所述替换后调用报文发送给所述指定微服务;

使用预设的基于java agent技术的监控插件进行字节码修改,以在所述指定微服务的通信端口处增加数据埋点,从而将所述指定微服务加入预设的监控列表中。

8.一种基于管理平台的微服务预警装置,其特征在于,包括:

调用报文接收单元,用于接收第一微服务发送的附带有调用信息的调用指定微服务的调用报文,其中,所述调用报文基于指定通信协议封装而成,所述调用信息包括所述指定微服务的服务名称、服务URL地址或者服务功能中的至少一项;

通信协议判断单元,用于判断所述指定通信协议与所述指定微服务的预设通信协议是否相同;

解析单元,用于若所述指定通信协议与所述指定微服务的预设通信协议相同,则根据所述指定通信协议的格式解析所述调用报文,从而获得调用报文头;

相似度阈值判断单元,用于采用预设的相似度算法计算所述调用报文头与预设的标准调用报文头的相似度值,并判断所述相似度值是否大于预设的相似度阈值;

替换单元,用于若所述相似度值大于预设的相似度阈值,则将所述调用报文中的调用报文头替换为所述标准调用报文头,从而获得替换后调用报文;

被调用次数判断单元,用于根据所述调用信息,获取预定时间内所述指定微服务的被调用次数,并判断所述被调用次数是否大于预设的第一预警次数阈值;

预警信息生成单元,用于若所述被调用次数大于预设的第一预警次数阈值,则生成预警信息,并将所述预警信息和所述替换后调用报文发送给所述指定微服务,并使用预设的监控插件将所述指定微服务加入预设的监控列表中。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。