CN116737216A - 技术资源的管理方法、装置、设备、存储介质和程序产品 - Google Patents

技术资源的管理方法、装置、设备、存储介质和程序产品 Download PDF

Info

Publication number
CN116737216A
CN116737216A CN202310698718.1A CN202310698718A CN116737216A CN 116737216 A CN116737216 A CN 116737216A CN 202310698718 A CN202310698718 A CN 202310698718A CN 116737216 A CN116737216 A CN 116737216A
Authority
CN
China
Prior art keywords
technical
resource
code file
information
technical resources
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.)
Pending
Application number
CN202310698718.1A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202310698718.1A priority Critical patent/CN116737216A/zh
Publication of CN116737216A publication Critical patent/CN116737216A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation

Abstract

本申请涉及一种技术资源的管理方法、装置、计算机设备、存储介质和计算机程序产品,涉及计算机技术领域。可用于金融科技领域或其他相关领域,所述方法包括:获取技术资源的元数据信息和代码文件;根据元数据信息,判断代码文件中是否存在技术资源;在代码文件中存在技术资源的情况下,创建索引信息,并记录技术资源的类型信息;根据技术资源的类型信息和索引信息,绘制资源视图;响应于针对技术资源的调用事件,确定技术资源的索引信息。根据技术资源的索引信息,从资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。采用本方法加快了技术资源的获取速度,从而提高了技术资源的获取效率。

Description

技术资源的管理方法、装置、设备、存储介质和程序产品
技术领域
本申请涉及计算机技术领域,特别是涉及一种技术资源的管理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机软件技术的飞速发展,对软件开发的需求也越来越多。软件开发中涉及到的技术资源也越来越多,例如,在软件开发中使用的分布式架构,需要将应用的工程模块拆分得更小,使用的技术栈更加丰富多样,一般情况下,工程模块中包含接近几千个代码文件,存在的技术资源是零碎且多样的。
传统技术,在集成开发环境的分布式架构中,是通过关键字获取代码文件,从代码文件中靠人工查找想要获取的技术资源。
但是这种方式获取技术资源的效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高技术资源的获取效率的技术资源的管理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种技术资源的管理方法。所述方法包括:
获取技术资源的元数据信息;所述元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种;
获取代码文件;
根据所述元数据信息,判断代码文件中是否存在技术资源;
在所述代码文件中存在技术资源的情况下,为所述代码文件中存在的技术资源创建索引信息,并记录所述代码文件中技术资源的类型信息;所述技术资源的类型信息包括第一类技术资源、第二类技术资源和第三类技术资源;
根据所述技术资源的类型信息和所述索引信息,绘制资源视图;
响应于针对所述技术资源的调用事件,确定所述技术资源的索引信息;
根据所述技术资源的索引信息,从所述资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。
在其中一个实施例中,所述在所述代码文件中存在技术资源的情况下,为所述代码文件中存在的技术资源创建索引信息,包括:
在所述代码文件中存在技术资源的情况下,根据所述代码文件,获取代码文件对应的描述信息;
根据所述描述信息,获取每个代码文件的所在工程模组名、包名、类名或接口名、以及函数名;
根据每个代码文件的所在工程模组名、包名、类名或接口名、以及函数名,为所述代码文件中存在的技术资源创建所述索引信息。
在其中一个实施例中,所述根据所述技术资源的类型信息和所述索引信息,绘制资源视图,包括:
依据所述技术资源的类型信息,将不同类型的技术资源作为根节点;
将所述工程模组名、所述包名、所述类名或所述接口名、以及所述函数名作为子节点,绘制针对不同类型的技术资源的资源视图。
在其中一个实施例中,所述将所述工程模组名、所述包名、所述类名或所述接口名、以及所述函数名作为子节点,绘制针对不同类型的技术资源的资源视图,包括:
将所述工程模组名作为第一层子节点、所述包名作为第二层子节点、所述类名或所述接口名作为第三层子节点、所述函数名作为第四层子节点,绘制针对不同标签信息的资源视图。
在其中一个实施例中,所述方法还包括:
在监测到所述代码文件存在变化的情况下,根据所述技术资源的元数据信息,确定所述代码文件中是否存在技术资源的更新;
在所述代码文件中存在技术资源更新的情况下,按照设定的时间间隔和/或检测所述代码文件中累计变更的字符数量达到阈值,更新所述资源视图。
在其中一个实施例中,所述方法还包括:
在监测到存在新代码文件的生成的情况下,获取新代码文件;
根据所述技术资源的元数据信息,判断新代码文件中是否存在技术资源;
在新代码文件中存在技术资源的情况下,将新代码文件中的技术资源更新至所述资源视图中。
第二方面,本申请还提供了一种技术资源的管理装置。所述装置包括:
元数据信息获取模块,用于获取技术资源的元数据信息;所述元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种;
代码文件获取模块,用于获取代码文件;
技术资源判断模块,用于根据所述元数据信息,判断代码文件中是否存在技术资源;
索引信息创建模块,用于在所述代码文件中存在技术资源的情况下,为所述代码文件中存在的技术资源创建索引信息,并记录所述代码文件中技术资源的类型信息;所述技术资源的类型信息包括第一类技术资源、第二类技术资源和第三类技术资源;
资源视图绘制模块,用于根据所述技术资源的类型信息和所述索引信息,绘制资源视图;
索引信息确定模块,用于响应于针对所述技术资源的调用事件,确定所述技术资源的索引信息;
技术资源获取模块,用于根据所述技术资源的索引信息,从所述资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取技术资源的元数据信息;所述元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种;
获取代码文件;
根据所述元数据信息,判断代码文件中是否存在技术资源;
在所述代码文件中存在技术资源的情况下,为所述代码文件中存在的技术资源创建索引信息,并记录所述代码文件中技术资源的类型信息;所述技术资源的类型信息包括第一类技术资源、第二类技术资源和第三类技术资源;
根据所述技术资源的类型信息和所述索引信息,绘制资源视图;
响应于针对所述技术资源的调用事件,确定所述技术资源的索引信息;
根据所述技术资源的索引信息,从所述资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取技术资源的元数据信息;所述元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种;
获取代码文件;
根据所述元数据信息,判断代码文件中是否存在技术资源;
在所述代码文件中存在技术资源的情况下,为所述代码文件中存在的技术资源创建索引信息,并记录所述代码文件中技术资源的类型信息;所述技术资源的类型信息包括第一类技术资源、第二类技术资源和第三类技术资源;
根据所述技术资源的类型信息和所述索引信息,绘制资源视图;
响应于针对所述技术资源的调用事件,确定所述技术资源的索引信息;
根据所述技术资源的索引信息,从所述资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取技术资源的元数据信息;所述元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种;
获取代码文件;
根据所述元数据信息,判断代码文件中是否存在技术资源;
在所述代码文件中存在技术资源的情况下,为所述代码文件中存在的技术资源创建索引信息,并记录所述代码文件中技术资源的类型信息;所述技术资源的类型信息包括第一类技术资源、第二类技术资源和第三类技术资源;
根据所述技术资源的类型信息和所述索引信息,绘制资源视图;
响应于针对所述技术资源的调用事件,确定所述技术资源的索引信息;
根据所述技术资源的索引信息,从所述资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。
上述技术资源的管理方法、装置、计算机设备、存储介质和计算机程序产品,获取技术资源的元数据信息;元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种;获取代码文件;根据元数据信息,判断代码文件中是否存在技术资源;在代码文件中存在技术资源的情况下,为代码文件中存在的技术资源创建索引信息,并记录代码文件中技术资源的类型信息;技术资源的类型信息包括第一类技术资源、第二类技术资源和第三类技术资源;根据技术资源的类型信息和索引信息,绘制资源视图;响应于针对技术资源的调用事件,确定技术资源的索引信息。根据技术资源的索引信息,从资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。本方法中通过索引信息,加快了技术资源的获取速度,从而提高了技术资源的获取效率;通过绘制的资源视图,实现了对技术资源的管理和可视化的展示,从而提高了软件研发的质量。
附图说明
图1为一个实施例中技术资源的管理方法的应用环境图;
图2为一个实施例中技术资源的管理方法的流程示意图;
图3为另一个实施例中技术资源的管理方法的流程示意图;
图4为一个实施例中技术资源的管理装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的技术资源的管理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。
终端102从服务器104中获取技术资源的元数据信息和获取代码文件;终端102根据元数据信息,判断代码文件中是否存在技术资源;在代码文件中存在技术资源的情况下,为代码文件中存在的技术资源创建索引信息,并记录代码文件中技术资源的类型信息;根据技术资源的类型信息和索引信息,绘制资源视图;响应于针对技术资源的调用事件,确定技术资源的索引信息;根据技术资源的索引信息,从资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种技术资源的管理方法,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,获取技术资源的元数据信息;所述元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种。
其中,技术资源可以为代码文件中能够实现某些功能的代码。具体地,技术资源可以为HTTP(HyperText Transfer Protocol,超文本传输协议)调用资源、微服务调用资源以及ORM(Object Relational Mapping,对象关系映射)数据库操作资源。
元数据信息可以基于分布式应用的关键技术栈,分析和拆解出技术栈对应的基本元素信息构成。技术栈指的是将N种技术互相组合在一起,作为一个有机的整体来实现某种目的或功能。
元数据信息可以包括代码注解类型信息、接口信息或路径信息中至少一种。例如,元数据信息可以为注解类型、XML(Extensible Markup Language,可扩展标记语言)路径信息、HTTP接口信息、URL(Uniform Resource Locator,统一资源定位符)路径信息等等。
示例性地,终端可以从服务器中获取技术资源,以根据技术资源,获取技术资源的元数据信息。
步骤204,获取代码文件。
其中,代码文件指程序开发人员根据编程语言的语法规则,所编写的用于实现某些功能操作的文件。具体地,代码文件可以为IDE(Integrated Development Environment,集成开发环境)中的代码工程中的代码文件。集成开发环境适用于提成程序开发环境的应用程序,集成代码编辑、分析和编译、调试和运行功能以及扩展等一体化的软件开发套件。
在一种实施例中,可以将软件开发阶段中的代码文件存储至数据库中,以从数据库中获取代码文件。
在一种示例中,可以在IDE中创建IDE扩展模块,以加载技术资源的元数据信息。在通过IDE打开代码工程中,通过IDE主动扫描的方式,获取代码工程中的代码文件。
步骤206,根据所述元数据信息,判断代码文件中是否存在技术资源。
示例性地,检测代码文件中是否存在元数据信息,若代码文件中存在元数据信息,则确定代码文件中存在技术资源;若代码文件中不存在元数据信息,则确定代码文件中不存在技术资源。
步骤208,在所述代码文件中存在技术资源的情况下,为所述代码文件中存在的技术资源创建索引信息,并记录所述代码文件中技术资源的类型信息;所述技术资源的类型信息包括第一类技术资源、第二类技术资源和第三类技术资源。
其中,索引信息用于指向数据存储的位置,以通过索引信息,获取索引信息对应的数据。技术资源的类型信息可以为三类,包括:第一类技术资源、第二类技术资源和第三类技术资源。一个代码文件中可能包括多个技术资源。
示例性地,技术资源的类型信息基于技术资源对应的元数据信息进行划分,其中,第一类技术资源可以为HTTP调用技术资源、第二类技术资源可以为微服务调用技术资源,第三类技术资源可以为ORM数据库操作的技术资源。
在具体实践中,使用@RestController、@Controller两种注解的代码文件可以归属为HTTP调用技术资源;使用@Service、@Reference两种注解的代码文件,可以归属为微服务调用技术资源;使用@Mapper注解的代码文件,可以归属为ORM数据库操作的技术资源。其中,针对HTTP调用代码文件的每个函数,使用@Mapping、@RequestMapping、@GetMapping、@PostMapping、@PutMapping、@DeleteMapping,读取其Value属性,可以归属为HTTP调用技术资源的URL。
步骤210,根据所述技术资源的类型信息和所述索引信息,绘制资源视图。
其中,资源视图的结构可以为树状结构,可以包括根节点和子节点。
示例性地,可以将技术资源的类型信息作为根节点,技术资源对应的索引信息,作为子节点,进行绘制资源视图。
在具体实践中,针对一个软件的开发过程,可以通过资源视图进行核查开发人员的代码撰写规范,以及进行格式的统一,从而通过资源视图,提高了软件研发的质量。
步骤212,响应于针对所述技术资源的调用事件,确定所述技术资源的索引信息。
其中,调用事件中包括技术资源的索引信息。技术资源的索引信息用于指示该技术资源所存储的位置,以通过索引信息,获取索引信息对应的技术资源。
在具体实践中,可以通过在资源视图中选中一个节点,来触发对这个技术资源的调用。
在一种实施例中,终端可以接收针对技术资源的调用信息,以响应于针对技术资源的调用事件,确定技术资源的索引信息。
步骤214,根据所述技术资源的索引信息,从所述资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。
其中,一个代码文件中可以包括多个技术资源。资源视图是由技术资源所构建的可视化视图,以实现通过资源视图,对技术资源的管理。
在一种实施例中,可以根据技术资源的索引信息,从资源视图中,确定相应的代码文件,从而在代码文件中获取对应的技术资源所在的代码行。
上述技术资源的管理方法中,获取技术资源的元数据信息;元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种;获取代码文件;根据元数据信息,判断代码文件中是否存在技术资源;在代码文件中存在技术资源的情况下,为代码文件中存在的技术资源创建索引信息,并记录代码文件中技术资源的类型信息;技术资源的类型信息包括第一类技术资源、第二类技术资源和第三类技术资源;根据技术资源的类型信息和索引信息,绘制资源视图;响应于针对技术资源的调用事件,确定技术资源的索引信息。根据技术资源的索引信息,从资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。本方法中通过索引信息,加快了技术资源的获取速度,从而提高了技术资源的获取效率;通过绘制的资源视图,实现了对技术资源的管理和可视化的展示,从而提高了软件研发的质量。
在一个实施例中,步骤208包括:
步骤2082,在所述代码文件中存在技术资源的情况下,根据所述代码文件,获取代码文件对应的描述信息;
步骤2084,根据所述描述信息,获取每个代码文件的所在工程模组名、包名、类名或接口名、以及函数名;
其中,工程模组名为代码文件所在的代码工程模块的名称。
包名可以为代码文件中与其他代码文件相区别的名称,一般为一个字符串,有简单名和路径名之分。简单名,仅含一个简单的名称。路径名,以包所位于的外围包的名字作为前缀的包名。
类名可以为类的标识,类就是同一类事物在概念层次上的抽象,一个类通常就是代表一类实体的定义,是实体的抽象;一般命名是能够比较直观的描述出该类的作用。
接口名可以接口的名称或标识符,用于区分不同的接口。
函数名,也为方法名,是代表功能的模块。通常需要一个完整的功能体来描述方法的具体功能,功能体中则是代表具体功能的代码语句,也叫做“功能语句”。
步骤2086,根据每个代码文件的所在工程模组名、包名、类名或接口名、以及函数名,为所述代码文件中存在的技术资源创建所述索引信息。
在一种实施例中,在代码文件中存在技术资源的情况下,可以根据代码文件,获取代码文件对应的描述信息,从而获取每个代码文件的所在工程模组名、包名、类名或接口名、以及函数名,以根据代码文件的所在工程模组名、包名、类名或接口名、以及函数名,为代码文件中存在技术资源创建索引信息。
在上述实施例中,通过代码文件的描述信息,为代码文件中存在的技术资源创建索引信息,在响应于针对技术资源的调用事件的情况下,通过技术资源的索引信息,获取技术资源,提高了技术资源的获取速度。
在一个实施例中,步骤210,包括:
步骤2102,依据所述技术资源的类型信息,将不同类型的技术资源作为根节点。
步骤2104,将所述工程模组名、所述包名、所述类名或所述接口名、以及所述函数名作为子节点,绘制针对不同类型的技术资源的资源视图。
其中,资源视图的结构为树状结构,一个资源视图中可以包括一个根节点和对应的多个子节点。
在一种实施例中,可以根据技术资源的类型信息,将不同类型的技术资源作为根节点,将同一类型的技术资源对应的工程模组名、包名、类名或接口名、以及函数名作为子节点,以绘制针对不同类型的技术资源的资源视图。具体地,当技术资源的类型信息为三类,则对应着3个不同的根节点,以及根节点分别对应多个子节点。
在上述实施例中,依据技术资源的类型信息,将不同类型的技术资源作为根节点。将工程模组名、包名、类名或接口名、以及函数名作为子节点,绘制针对不同类型的技术资源的资源视图,以实现通过资源视图对技术资源的管理和可视化的展示。
在一个实施例中,步骤2104,包括:
将所述工程模组名作为第一层子节点、所述包名作为第二层子节点、所述类名或所述接口名作为第三层子节点、所述函数名作为第四层子节点,绘制针对不同类型的技术资源的资源视图。
其中,在资源视图中,子节点可以包括第一层子节点、第二层子节点、第三层子节点和第四层子节点。具体地,第一层子节点为工程模组名;第二层子节点为包名;第三层子节点为类名或者接口名;第四层子节点为函数名。
在上述实施例中,将工程模组名作为第一层子节点、包名作为第二层子节点、类名或接口名作为第三层子节点、函数名作为第四层子节点,绘制针对不同类型的技术资源的资源视图,通过资源视图,实现了对技术资源的管理和可视化展示。
在一个示例中,在IDE界面中,资源视图可以展示在界面的下边框,当然,也支持用户将资源视图移动至左、右侧边框。可以将技术资源的类型信息设为标签,以切换标签可以展示不同类型的技术资源。对于资源视图所展示的节点信息,支持用户通过鼠标等设备进行选中,以根据节点关联的代码文件的索引信息在IDE编辑窗口中打开具体的代码文件,并且可以定位到想要获取的技术资源的所在代码行。
在一个实施例中,所述方法还包括:
在监测到所述代码文件存在变化的情况下,根据所述技术资源的元数据信息,确定所述代码文件中是否存在技术资源的更新;
在所述代码文件中存在技术资源更新的情况下,按照设定的时间间隔和/或检测所述代码文件中累计变更的字符数量达到阈值,更新所述资源视图。
其中,技术资源的更新可以包括已经存在的代码文件中技术资源的新增、修改、或删除中至少一种。设定的时间间隔可以为5分钟。阈值的大小可以为100个字符。
具体地,设定的时间间隔的大小和阈值的大小,可以根据经验值进行设定,本发明在此不作限定。
在一种实施例中,可以监测代码文件是否存在变化,在监测代码文件中存在变化的情况下,根据技术资源的元数据信息,确定代码文件中是否存在技术资源的更新。在代码文件中存在技术资源更新的情况下,按照设定的时间间隔和/或检测代码文件中累计变更的字符数量达到阈值,更新资源视图。
在一个示例中,可以监听IDE推送的代码文件的变化事件,以实时感知代码文件的变化情况,根据元数据信息,解析代码文件的变动内容是否涉及技术资源的更新。在涉及到技术资源的更新之后,将实时解析的每个字符的变动调整为根据固定的间隔时间或固定的字符数量的延时解析措施,实现系统资源消耗的整体可控,从而动态刷新资源视图。
在上述实施例中,在监测代码文件中存在变化的情况下,根据技术资源的元数据信息,确定代码文件中是否存在技术资源的更新。在代码文件中存在技术资源更新的情况下,按照设定的时间间隔和/或检测代码文件中累计变更的字符数量达到阈值,更新资源视图,实现了对技术资源的更新,并且,通过资源视图实现了对技术资源的管理和可视化的展示。
在一个实施例中,所述方法还包括:
在监测到存在新代码文件的生成的情况下,获取新代码文件;
根据所述技术资源的元数据信息,判断新代码文件中是否存在技术资源;
在新代码文件中存在技术资源的情况下,将新代码文件中的技术资源更新至所述资源视图中。
示例性地,代码文件可以存储至一个代码数据库中,在监测到存在新代码文件的生成的情况下,可以获取新代码文件,并根据元数据信息,判断新代码文件中是否存在技术资源,在新代码文件中存在技术资源的情况下,将新代码文件中的技术资源更新至资源视图中。
在上述实施例中,通过元数据信息,判断新代码文件中是否存在技术资源,在新代码文件中存在技术资源的情况下,将新代码文件中的技术资源更新至资源视图中,实现了对资源视图的更新,从而通过资源视图实现了对技术资源的管理和可视化的展示。
为了更好地理解本发明实施例中技术资源的管理的完整过程,以一完整示例加以说明,参考图3,示出了另一个实施例中技术资源的管理方法的流程示意图,包括以下步骤:
步骤302,获取技术资源的元数据信息和代码文件。
具体地,元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种。一个代码文件中可能存在一个或多个技术资源。
步骤304,根据元数据信息,判断代码文件中是否存在技术资源。
步骤306,在代码文件中存在技术资源的情况下,根据代码文件,获取代码文件对应的描述信息;根据描述信息,获取每个文件的所在工程模组名、包名、类名或接口名、以及函数名;根据每个文件的所在工程模组名、包名、类名或接口名、以及函数名,为代码文件中存在的技术资源创建索引信息。
步骤308,依据技术资源的类型信息,将不同类型的技术资源作为根节点;将工程模组名作为第一层子节点、包名作为第二层子节点、类名或接口名作为第三层子节点、函数名作为第四层子节点,绘制针对不同类型的技术资源的资源视图。
步骤310,响应于针对技术资源的调用事件,确定技术资源的索引信息;根据技术资源的索引信息,从资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。
步骤312,在监测到代码文件存在变化的情况下,根据技术资源的元数据信息,确定代码文件中是否存在技术资源的更新;在代码文件中存在技术资源更新的情况下,按照设定的时间间隔和/或检测代码文件中累计变更的字符数量达到阈值,更新资源视图。
步骤314,在监测到存在新代码文件的生成的情况下,获取新代码文件;根据技术资源的元数据信息,判断新代码文件中是否存在技术资源;在新代码文件中存在技术资源的情况下,将新代码文件中的技术资源更新至资源视图中。
上述技术资源的管理方法中,获取技术资源的元数据信息;元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种;获取代码文件;根据元数据信息,判断代码文件中是否存在技术资源;在代码文件中存在技术资源的情况下,为代码文件中存在的技术资源创建索引信息,并记录代码文件中技术资源的类型信息;技术资源的类型信息包括第一类技术资源、第二类技术资源和第三类技术资源;根据技术资源的类型信息和索引信息,绘制资源视图;响应于针对技术资源的调用事件,确定技术资源的索引信息。根据技术资源的索引信息,从资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。本方法中通过索引信息,加快了技术资源的获取速度,从而提高了技术资源的获取效率;通过绘制的资源视图,实现了对技术资源的管理和可视化的展示,从而提高了软件研发的质量。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的技术资源的管理方法的技术资源的管理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个技术资源的管理装置实施例中的具体限定可以参见上文中对于技术资源的管理方法的限定,在此不再赘述。
在一个实施例中,如图4所示,提供了一种技术资源的管理装置,包括:元数据信息获取模块402、代码文件获取模块404、技术资源判断模块406、索引信息创建模块408、资源视图绘制模块410、索引信息确定模块412和技术资源获取模块414,其中:
元数据信息获取模块402,用于获取技术资源的元数据信息;所述元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种。
代码文件获取模块404,用于获取代码文件。
技术资源判断模块406,用于根据所述元数据信息,判断代码文件中是否存在技术资源。
索引信息创建模块408,用于在所述代码文件中存在技术资源的情况下,为所述代码文件中存在的技术资源创建索引信息,并记录所述代码文件中技术资源的类型信息;所述技术资源的类型信息包括第一类技术资源、第二类技术资源和第三类技术资源。
资源视图绘制模块410,用于根据所述技术资源的类型信息和所述索引信息,绘制资源视图。
索引信息确定模块412,用于响应于针对所述技术资源的调用事件,确定所述技术资源的索引信息。
技术资源获取模块414,用于根据所述技术资源的索引信息,从所述资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。
在一些实施例中,所述索引信息创建模块408,包括:
描述信息获取子模块,用于在所述代码文件中存在技术资源的情况下,根据所述代码文件,获取代码文件对应的描述信息;
文件信息获取子模块,用于根据所述描述信息,获取每个代码文件的所在工程模组名、包名、类名或接口名、以及函数名;
索引信息创建子模块,用于根据每个代码文件的所在工程模组名、包名、类名或接口名、以及函数名,为所述代码文件中存在的技术资源创建所述索引信息。
在一些实施例中,所述资源视图绘制模块410,包括:
根节点确定子模块,用于依据所述技术资源的类型信息,将不同类型的技术资源作为根节点;
资源视图绘制子模块,用于将所述工程模组名、所述包名、所述类名或所述接口名、以及所述函数名作为子节点,绘制针对不同类型的技术资源的资源视图。
在一些实施例中,所述资源视图绘制子模块,包括:
资源视图绘制单元,用于将所述工程模组名作为第一层子节点、所述包名作为第二层子节点、所述类名或所述接口名作为第三层子节点、所述函数名作为第四层子节点,绘制针对不同类型的技术资源的资源视图。
在一些实施例中,所述装置还包括:
技术资源更新确定模块,用于在监测到所述代码文件存在变化的情况下,根据所述技术资源的元数据信息,确定所述代码文件中是否存在技术资源的更新;
第一资源视图更新模块,用于在所述代码文件中存在技术资源更新的情况下,按照设定的时间间隔和/或检测所述代码文件中累计变更的字符数量达到阈值,更新所述资源视图。
在一些实施例中,所述装置还包括:
新代码文件获取模块,用于在监测到存在新代码文件的生成的情况下,获取新代码文件;
新代码文件判断模块,用于根据所述技术资源的元数据信息,判断新代码文件中是否存在技术资源;
第二资源视图更新模块,用于在新代码文件中存在技术资源的情况下,将新代码文件中的技术资源更新至所述资源视图中。
上述技术资源的管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储技术资源的元数据信息和代码文件。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种技术资源的管理方法。
该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取技术资源的元数据信息;所述元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种;
获取代码文件;
根据所述元数据信息,判断代码文件中是否存在技术资源;
在所述代码文件中存在技术资源的情况下,为所述代码文件中存在的技术资源创建索引信息,并记录所述代码文件中技术资源的类型信息;所述技术资源的类型信息包括第一类技术资源、第二类技术资源和第三类技术资源;
根据所述技术资源的类型信息和所述索引信息,绘制资源视图;
响应于针对所述技术资源的调用事件,确定所述技术资源的索引信息;
根据所述技术资源的索引信息,从所述资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取技术资源的元数据信息;所述元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种;
获取代码文件;
根据所述元数据信息,判断代码文件中是否存在技术资源;
在所述代码文件中存在技术资源的情况下,为所述代码文件中存在的技术资源创建索引信息,并记录所述代码文件中技术资源的类型信息;所述技术资源的类型信息包括第一类技术资源、第二类技术资源和第三类技术资源;
根据所述技术资源的类型信息和所述索引信息,绘制资源视图;
响应于针对所述技术资源的调用事件,确定所述技术资源的索引信息;
根据所述技术资源的索引信息,从所述资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取技术资源的元数据信息;所述元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种;
获取代码文件;
根据所述元数据信息,判断代码文件中是否存在技术资源;
在所述代码文件中存在技术资源的情况下,为所述代码文件中存在的技术资源创建索引信息,并记录所述代码文件中技术资源的类型信息;所述技术资源的类型信息包括第一类技术资源、第二类技术资源和第三类技术资源;
根据所述技术资源的类型信息和所述索引信息,绘制资源视图;
响应于针对所述技术资源的调用事件,确定所述技术资源的索引信息;
根据所述技术资源的索引信息,从所述资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种技术资源的管理方法,其特征在于,所述方法包括:
获取技术资源的元数据信息;所述元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种;
获取代码文件;
根据所述元数据信息,判断代码文件中是否存在技术资源;
在所述代码文件中存在技术资源的情况下,为所述代码文件中存在的技术资源创建索引信息,并记录所述代码文件中技术资源的类型信息;所述技术资源的类型信息包括第一类技术资源、第二类技术资源和第三类技术资源;
根据所述技术资源的类型信息和所述索引信息,绘制资源视图;
响应于针对所述技术资源的调用事件,确定所述技术资源的索引信息;
根据所述技术资源的索引信息,从所述资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。
2.根据权利要求1所述的方法,其特征在于,所述在所述代码文件中存在技术资源的情况下,为所述代码文件中存在的技术资源创建索引信息,包括:
在所述代码文件中存在技术资源的情况下,根据所述代码文件,获取代码文件对应的描述信息;
根据所述描述信息,获取每个代码文件的所在工程模组名、包名、类名或接口名、以及函数名;
根据每个代码文件的所在工程模组名、包名、类名或接口名、以及函数名,为所述代码文件中存在的技术资源创建所述索引信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述技术资源的类型信息和所述索引信息,绘制资源视图,包括:
依据所述技术资源的类型信息,将不同类型的技术资源作为根节点;
将所述工程模组名、所述包名、所述类名或所述接口名、以及所述函数名作为子节点,绘制针对不同类型的技术资源的资源视图。
4.根据权利要求3所述的方法,其特征在于,所述将所述工程模组名、所述包名、所述类名或所述接口名、以及所述函数名作为子节点,绘制针对不同类型的技术资源的资源视图,包括:
将所述工程模组名作为第一层子节点、所述包名作为第二层子节点、所述类名或所述接口名作为第三层子节点、所述函数名作为第四层子节点,绘制针对不同类型的技术资源的资源视图。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在监测到所述代码文件存在变化的情况下,根据所述技术资源的元数据信息,确定所述代码文件中是否存在技术资源的更新;
在所述代码文件中存在技术资源更新的情况下,按照设定的时间间隔和/或检测所述代码文件中累计变更的字符数量达到阈值,更新所述资源视图。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在监测到存在新代码文件的生成的情况下,获取新代码文件;
根据所述技术资源的元数据信息,判断新代码文件中是否存在技术资源;
在新代码文件中存在技术资源的情况下,将新代码文件中的技术资源更新至所述资源视图中。
7.一种技术资源的管理装置,其特征在于,所述装置包括:
元数据信息获取模块,用于获取技术资源的元数据信息;所述元数据信息包括代码注解类型信息、接口信息或路径信息中至少一种;
代码文件获取模块,用于获取代码文件;
技术资源判断模块,用于根据所述元数据信息,判断代码文件中是否存在技术资源;
索引信息创建模块,用于在所述代码文件中存在技术资源的情况下,为所述代码文件中存在的技术资源创建索引信息,并记录所述代码文件中技术资源的类型信息;所述技术资源的类型信息包括第一类技术资源、第二类技术资源和第三类技术资源;
资源视图绘制模块,用于根据所述技术资源的类型信息和所述索引信息,绘制资源视图;
索引信息确定模块,用于响应于针对所述技术资源的调用事件,确定所述技术资源的索引信息;
技术资源获取模块,用于根据所述技术资源的索引信息,从所述资源视图中,确定相应的代码文件,以获取对应的技术资源所在的代码行。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的技术资源的管理方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的技术资源的管理方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的技术资源的管理方法的步骤。
CN202310698718.1A 2023-06-13 2023-06-13 技术资源的管理方法、装置、设备、存储介质和程序产品 Pending CN116737216A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310698718.1A CN116737216A (zh) 2023-06-13 2023-06-13 技术资源的管理方法、装置、设备、存储介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310698718.1A CN116737216A (zh) 2023-06-13 2023-06-13 技术资源的管理方法、装置、设备、存储介质和程序产品

Publications (1)

Publication Number Publication Date
CN116737216A true CN116737216A (zh) 2023-09-12

Family

ID=87907550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310698718.1A Pending CN116737216A (zh) 2023-06-13 2023-06-13 技术资源的管理方法、装置、设备、存储介质和程序产品

Country Status (1)

Country Link
CN (1) CN116737216A (zh)

Similar Documents

Publication Publication Date Title
US11816100B2 (en) Dynamically materialized views for sheets based data
US11755606B2 (en) Dynamically updated data sheets using row links
KR102035984B1 (ko) 데이터 보강 제안 기법
US20120072435A1 (en) Multidimensional tags
US9015608B2 (en) Regenerating a user interface area
US20170212930A1 (en) Hybrid architecture for processing graph-based queries
CN112860777B (zh) 数据处理方法、装置及设备
WO2023160137A1 (zh) 图数据存储方法、系统及计算机设备
CN115544183A (zh) 数据可视化方法、装置、计算机设备和存储介质
US10366081B2 (en) Declarative partitioning for data collection queries
US20150169675A1 (en) Data access using virtual retrieve transformation nodes
US20070100848A1 (en) Node index
CN106991116A (zh) 数据库执行计划的优化方法和装置
CN112970011A (zh) 记录查询优化中的谱系
CN106802922B (zh) 一种基于对象的溯源存储系统及方法
CN116737216A (zh) 技术资源的管理方法、装置、设备、存储介质和程序产品
US20070174322A1 (en) Method for building data encapsulation layers for highly variable schema
CN111459547B (zh) 一种函数调用链路的展示方法和装置
US20130218893A1 (en) Executing in-database data mining processes
CN114816408A (zh) 信息处理方法及装置
CN114077575A (zh) 用于内存快照文件的格式转换方法、设备和系统
US7996401B2 (en) Inserting new transactions into a transaction stream
WO2024016789A1 (zh) 日志数据查询方法、装置、设备和介质
CN116594628A (zh) 数据溯源方法、装置和计算机设备
CN113761040A (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