本发明涉及计算机软件,具体涉及一种组件统计上报方法、设备及介质。
背景技术:
1、spring cloud alibaba为开发构建微服务架构提供了全领域的解决方案。使用spring cloud alibaba搭建一个微服务开发技术平台统一公司技术架构,不但可以统一公司技术栈,积累公司技术资产,还可以在使用统一的平台为业务开发进行赋能,即提供业务开发的质量,又可以降低开发的技术门槛。
2、为了更好的对技术平台进行的维护升级和扩展,就需要对公司使用技术平台的不同项目使用的平台技术组件进行统计,然后,针对高频使用的技术组件加强测试,提高稳定性;针对低频使用的组件也需要调研分析项目不使用原因,进而采取相对于的措施。
3、对于组件进行统计的方法当前主流模式是针对项目进行全包扫描,在扫包过程中扫描项目所有依赖的平台组件进行记录上报。主要的扫描方式一般有一下两种:
4、一是对项目的pom文件进行扫描。pom文件是一个xml文件,使用xml文件读取技术可以获取xml文件内容,然后对内容进行解析,找到其中引用的平台技术组件。此种方式有一个较大的缺陷,pom文件配置的依赖是可以父子传递的,例如:项目中引用a组件,但是a组件又引用了b组件,基于pom依赖传递的特性,项目中可以同时使用a、b组件的功能,但是扫描pom文件仅可以扫描到a组件,导致统计数据不准确。
5、二是对项目的最终运行打包进行扫描。项目在打包时会把pom依赖及其传递的依赖都统一打到运行包总,对运行包总进行扫描可以解决第一种方案的缺陷,不会漏扫。此种方法也存在缺陷,不同的项目运行容器不同决定打包方式不同,既有jar又有war包形式,无法兼顾到不同的使用场景。
技术实现思路
1、针对现有技术中的技术缺陷,本发明实施例的目的在于提供一种组件统计上报方法、设备及介质,本发明的组件统计上报方法采用组件加载时自动注册上报机制,可以解决背景技术中现有技术方案中的不足,而且基于spring.factories机制实现,技术难度较低,代码维护简单。
2、为实现上述目的,第一方面,本发明实施例提供了一种组件统计上报方法,应用于统计端中,包括:
3、读取并加载组件包中的spring.factories配置文件内容;
4、实例化所述pring.factories配置文件中的statistichandle类;
5、调用statistichandle类中的定义的report初始化方法以收集组件配置信息;
6、将收集到的组件配置信息上报给展示端。
7、进一步,所述spring.factories配置文件为根据组件包实际情况预先编写生成;
8、所述spring.factories配置文件中包含组件加载时需要实例化的类列表。
9、进一步,所述实例化所述pring.factories配置文件中的statistichandle类,包括:
10、读取spring.factories配置文件,解析所述spring.factories配置文件中的配置内容,得到com.sca4cloud.sca.common.statistic.statistichandle处理类类路径;
11、通过java反射方法调用statistichandle类的无参构造器函数,从而获得statistichandle类的实例对象,完成实例化过程。
12、进一步,所述组件配置信息包括组件本身信息和statisticproperties类中定义的信息,所述statisticproperties类为预先定义的统计参数配置类。
13、进一步,所述statisticproperties类中定义的信息配置在统计端的项目配置文件中。
14、进一步,所述statistichandle类和statisticproperties类单独封装在组件包中的一个公共jar包中。
15、进一步,通过异步http请求调用所述展示端数据接收接口,将收集到的组件配置信息上报给展示端。
16、进一步,所述方法还包括:
17、接收展示端返回的处理状态,将所述处理状态打印输出到统计端日志文件中。
18、第二方面,本发明实施例提供了一种电子设备,所述电子设备包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如第一方面所述的方法步骤。
19、第三方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,其特征在于,所述程序指令被处理器执行时实现如第一方面所述的方法步骤。
20、实施本发明实施例提供的方法:
21、1、本发明采用了技术组件自动注册上报的方法,使组件统计更简单;上报统计信息可以自由约定和调整,使统计信息更丰富也更加灵活;
22、2、本发明自动注册上报的方法相比扫描的方法,组件统计数据更准确。
1.一种组件统计上报方法,应用于统计端中,其特征在于,包括:
2.如权利要求1所述一种组件统计上报方法,其特征在于,所述spring.factories配置文件为根据组件包实际情况预先编写生成;
3.如权利要求1所述一种组件统计上报方法,其特征在于,所述实例化所述pring.factories配置文件中的statistichandle类,包括:
4.如权利要求1所述一种组件统计上报方法,其特征在于,所述组件配置信息包括组件本身信息和statisticproperties类中定义的信息,所述statisticproperties类为预先定义的统计参数配置类。
5.如权利要求4所述一种组件统计上报方法,其特征在于,所述statisticproperties类中定义的信息配置在统计端的项目配置文件中。
6.如权利要求4所述一种组件统计上报方法,其特征在于,所述statistichandle类和statisticproperties类单独封装在组件包中的一个公共jar包中。
7.如权利要求1所述一种组件统计上报方法,其特征在于,通过异步http请求调用所述展示端数据接收接口,将收集到的组件配置信息上报给展示端。
8.如权利要求1所述一种组件统计上报方法,其特征在于,所述方法还包括:
9.一种电子设备,其特征在于,所述电子设备包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-8任一项所述的方法步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,其特征在于,所述程序指令被处理器执行时实现如权利要求1-8任一项所述的方法步骤。