一种组件统计上报方法、设备及介质技术

技术编号:37137687 阅读:14 留言:0更新日期:2023-04-06 21:38
本发明专利技术实施例公开了一种组件统计上报方法、设备及介质,方法包括:读取并加载组件包中的spring.factories配置文件内容;实例化所述pring.factories配置文件中的StatisticHandle类;调用StatisticHandle类中的定义的report初始化方法以收集组件配置信息;将收集到的组件配置信息上报给展示端。本发明专利技术采用了技术组件自动注册上报的方法,使组件统计更简单;上报统计信息可以自由约定和调整,使统计信息更丰富也更加灵活;本发明专利技术自动注册上报的方法相比扫描的方法,组件统计数据更准确。更准确。更准确。

【技术实现步骤摘要】
一种组件统计上报方法、设备及介质


[0001]本专利技术涉及计算机软件
,具体涉及一种组件统计上报方法、设备及介质。

技术介绍

[0002]Spring Cloud Alibaba为开发构建微服务架构提供了全领域的解决方案。使用Spring Cloud Alibaba搭建一个微服务开发技术平台统一公司技术架构,不但可以统一公司技术栈,积累公司技术资产,还可以在使用统一的平台为业务开发进行赋能,即提供业务开发的质量,又可以降低开发的技术门槛。
[0003]为了更好的对技术平台进行的维护升级和扩展,就需要对公司使用技术平台的不同项目使用的平台技术组件进行统计,然后,针对高频使用的技术组件加强测试,提高稳定性;针对低频使用的组件也需要调研分析项目不使用原因,进而采取相对于的措施。
[0004]对于组件进行统计的方法当前主流模式是针对项目进行全包扫描,在扫包过程中扫描项目所有依赖的平台组件进行记录上报。主要的扫描方式一般有一下两种:
[0005]一是对项目的pom文件进行扫描。pom文件是一个xml文件,使用xml文件读取技术可以获取xml文件内容,然后对内容进行解析,找到其中引用的平台技术组件。此种方式有一个较大的缺陷,pom文件配置的依赖是可以父子传递的,例如:项目中引用A组件,但是A组件又引用了B组件,基于pom依赖传递的特性,项目中可以同时使用A、B组件的功能,但是扫描pom文件仅可以扫描到A组件,导致统计数据不准确。
[0006]二是对项目的最终运行打包进行扫描。项目在打包时会把pom依赖及其传递的依赖都统一打到运行包总,对运行包总进行扫描可以解决第一种方案的缺陷,不会漏扫。此种方法也存在缺陷,不同的项目运行容器不同决定打包方式不同,既有Jar又有war包形式,无法兼顾到不同的使用场景。

技术实现思路

[0007]针对现有技术中的技术缺陷,本专利技术实施例的目的在于提供一种组件统计上报方法、设备及介质,本专利技术的组件统计上报方法采用组件加载时自动注册上报机制,可以解决
技术介绍
中现有技术方案中的不足,而且基于spring.factories机制实现,技术难度较低,代码维护简单。
[0008]为实现上述目的,第一方面,本专利技术实施例提供了一种组件统计上报方法,应用于统计端中,包括:
[0009]读取并加载组件包中的spring.factories配置文件内容;
[0010]实例化所述pring.factories配置文件中的StatisticHandle类;
[0011]调用StatisticHandle类中的定义的report初始化方法以收集组件配置信息;
[0012]将收集到的组件配置信息上报给展示端。
[0013]进一步,所述spring.factories配置文件为根据组件包实际情况预先编写生成;
[0014]所述spring.factories配置文件中包含组件加载时需要实例化的类列表。
[0015]进一步,所述实例化所述pring.factories配置文件中的StatisticHandle类,包括:
[0016]读取spring.factories配置文件,解析所述spring.factories配置文件中的配置内容,得到com.sca4cloud.sca.common.statistic.StatisticHandle处理类类路径;
[0017]通过java反射方法调用StatisticHandle类的无参构造器函数,从而获得StatisticHandle类的实例对象,完成实例化过程。
[0018]进一步,所述组件配置信息包括组件本身信息和StatisticProperties类中定义的信息,所述StatisticProperties类为预先定义的统计参数配置类。
[0019]进一步,所述StatisticProperties类中定义的信息配置在统计端的项目配置文件中。
[0020]进一步,所述StatisticHandle类和StatisticProperties类单独封装在组件包中的一个公共jar包中。
[0021]进一步,通过异步Http请求调用所述展示端数据接收接口,将收集到的组件配置信息上报给展示端。
[0022]进一步,所述方法还包括:
[0023]接收展示端返回的处理状态,将所述处理状态打印输出到统计端日志文件中。
[0024]第二方面,本专利技术实施例提供了一种电子设备,所述电子设备包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如第一方面所述的方法步骤。
[0025]第三方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,其特征在于,所述程序指令被处理器执行时实现如第一方面所述的方法步骤。
[0026]实施本专利技术实施例提供的方法:
[0027]1、本专利技术采用了技术组件自动注册上报的方法,使组件统计更简单;上报统计信息可以自由约定和调整,使统计信息更丰富也更加灵活;
[0028]2、本专利技术自动注册上报的方法相比扫描的方法,组件统计数据更准确。
附图说明
[0029]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0030]图1是本专利技术实施例提供的展示端的结构框图;
[0031]图2是本专利技术实施例提供的展示端的界面图;
[0032]图3是本专利技术实施例提供的组件统计上报方法的流程图;
[0033]图4是本专利技术实施例提供的组件统计上报系统的结构示意图。
[0034]本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并
不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
[0035]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0036]需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种组件统计上报方法,应用于统计端中,其特征在于,包括:读取并加载组件包中的spring.factories配置文件内容;实例化所述pring.factories配置文件中的StatisticHandle类;调用StatisticHandle类中的定义的report初始化方法以收集组件配置信息;将收集到的组件配置信息上报给展示端。2.如权利要求1所述一种组件统计上报方法,其特征在于,所述spring.factories配置文件为根据组件包实际情况预先编写生成;所述spring.factories配置文件中包含组件加载时需要实例化的类列表。3.如权利要求1所述一种组件统计上报方法,其特征在于,所述实例化所述pring.factories配置文件中的StatisticHandle类,包括:读取spring.factories配置文件,解析所述spring.factories配置文件中的配置内容,得到com.sca4cloud.sca.common.statistic.StatisticHandle处理类类路径;通过java反射方法调用StatisticHandle类的无参构造器函数,从而获得StatisticHandle类的实例对象,完成实例化过程。4.如权利要求1所述一种组件统计上报方法,其特征在于,所述组件配置信息包括组件本身信息和StatisticProperties类...

【专利技术属性】
技术研发人员:李铭成李家菁廖财兴胡强
申请(专利权)人:深圳市雁联计算系统有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1