[发明专利]服务调用记录方法、装置、计算机设备和存储介质有效
| 申请号: | 201910578080.1 | 申请日: | 2019-06-28 | 
| 公开(公告)号: | CN110290212B | 公开(公告)日: | 2020-06-23 | 
| 发明(设计)人: | 季延彬 | 申请(专利权)人: | 浙江大搜车软件技术有限公司 | 
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 | 
| 代理公司: | 杭州华进联浙知识产权代理有限公司 33250 | 代理人: | 雷志刚 | 
| 地址: | 310000 浙江省杭州市余*** | 国省代码: | 浙江;33 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 服务 调用 记录 方法 装置 计算机 设备 存储 介质 | ||
本申请涉及一种服务调用记录方法、装置、计算机设备和存储介质。所述方法包括:获取检测到的调用服务的调用类型;启用与所述调用类型对应的动态代理,通过所述动态代理拦截所述调用服务的服务调用数据;从所述服务调用数据中提取出调用方法,判断所述调用方法是否属于所述动态代理的目标监控方法;当判定出所述调用方法属于所述目标监控方法时,根据所述动态代理中的增强探针从所述服务调用数据中提取目标监控数据,将所述目标监控数据进行记录。采用本方法能够提高业务开发工作效率。
技术领域
本申请涉及计算机技术领域,特别是涉及一种服务调用记录方法、装置、计算机设备和存储介质。
背景技术
在业务开发过程中,有些业务功能可能会涉及多个系统之间的调用,外部系统提供远程服务,客户端基于服务提供者提供的接口去调用远程服务,本地业务系统也会通过暴露的远程接口被外部系统进行远程服务调用。
在本地系统与其它远程服务进行交互时,为了能快速排查交互过程中出现的问题,需要对远程服务调用过程中的调用数据进行记录,目前,在开发过程中,由于各项业务需要拦截记录的调用方法和记录内容会存在差别,在各项业务的业务代码中均需编写远程服务调用数据的记录代码,导致在业务代码中会存在着大量的相似的模板性代码,增加了业务开发的工作量,降低业务开发的工作效率,也造成系统开发过程中出现较多的冗余代码。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高业务开发工作效率的服务调用记录方法、装置、计算机设备和存储介质。
一种服务调用记录方法,所述方法包括:
获取检测到的调用服务的调用类型;
启用与所述调用类型对应的动态代理,通过所述动态代理拦截所述调用服务的服务调用数据;
从所述服务调用数据中提取出调用方法,判断所述调用方法是否属于所述动态代理的目标监控方法;
当判定出所述调用方法属于所述目标监控方法时,根据所述动态代理中的增强探针从所述服务调用数据中提取目标监控数据,将所述目标监控数据进行记录。
针对每一类调用服务,设置与调用类型对应的动态代理,通过动态代理对使用该调用服务的各业务的服务调用数据进行统一监控、拦截、数据提取及记录,无需在每个业务开发过程中均进行数据记录功能的代码编写,从而有效减少了业务开发工作量和代码冗余,并可在动态代理中设置需要进行监控的调用方法,实现定制化地数据拦截记录。
在其中一个实施例中,获取检测到的调用服务的调用类型之前,还包括:
当检测到程序启动时,从所述程序的实例配置文件中解析出注解信息;
获取所述注解信息所标识的属性类型,创建与所述属性类型对应的动态代理;
从所述注解信息中提取增强参数,根据所述增强参数创建增强探针,在所述动态代理中配置所述增强探针。
实现服务调用数据的监控记录功能时,只需要将包含监控需求的注解信息添加至服务实例代码中合适的位置中即可,无需针对各业务再分别进行代码编写,减少系统中的代码冗余,且提高系统开发的工作效率。
在其中一个实施例中,所述方法还包括:
接收服务监控需求信息;
从所述服务监控需求信息中提取目标服务和监控对象参数;
根据所述监控对象参数生成注解信息,将所述注解信息添加至所述目标服务对应的实例代码中。
上述方法中,可以根据业务需要对一类服务的实例代码统一进行注解添加,并可根据具体的监控需求进行定制化注解,能够方便灵活地实现服务调用的数据监控功能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大搜车软件技术有限公司,未经浙江大搜车软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910578080.1/2.html,转载请声明来源钻瓜专利网。





