CN112364107A - ***分析可视化方法、装置、电子设备及计算机可读存储介质 - Google Patents

***分析可视化方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN112364107A
CN112364107A CN202011246852.0A CN202011246852A CN112364107A CN 112364107 A CN112364107 A CN 112364107A CN 202011246852 A CN202011246852 A CN 202011246852A CN 112364107 A CN112364107 A CN 112364107A
Authority
CN
China
Prior art keywords
data set
file
analyzed
data
class
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
CN202011246852.0A
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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management Co Ltd
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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202011246852.0A priority Critical patent/CN112364107A/zh
Publication of CN112364107A publication Critical patent/CN112364107A/zh
Priority to PCT/CN2021/091439 priority patent/WO2022100032A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及大数据技术,揭露了一种***分析可视化方法,包括:获取待分析***数据集;根据所述待分析***数据集中存在的引用关系构建接口调用关系图;查找所述待分析***数据集中的实体类文件,并根据所述实体类文件构建数据模型图;获取更新***数据集,并与所述待分析***数据集进行比较,得到***文件差异表;根据所述接口调用关系图、所述数据模型图和所述***文件差异表展示所述待分析***数据集对应的***内容。同时,本发明还提出了一种***分析可视化装置及计算机可读存储介质。此外,本发明还涉及区块链技术,待分析***数据集可存储于区块链节点中。本发明可以实现更全面、清晰的***分析可视化。

Description

***分析可视化方法、装置、电子设备及计算机可读存储介质
技术领域
本发明涉及大数据技术领域,尤其涉及一种***分析可视化方法、装置、电子设备及计算机可读存储介质。
背景技术
一个业务***的背后包含大规模的代码文件、数据文件等,而且业务***在完成进入使用后也不是一成不变的,往往还需要后期的维护,更新等,因此需要对***内部代码文件进行分析可视化,以便于对后续***进行维护或更新。
目前的***分析可视化主要是根据文档记录,展示出***的主要模块,但这种方式无法清晰的展示出***内部代码之间逻辑调用关系,对业务***的内容展示的不够全面,清晰,不利于后续对***进行维护或更新。
发明内容
本发明提供一种***分析可视化方法、装置、电子设备及计算机可读存储介质,其主要目的在于提供更全面、清晰的***分析可视化方法。
为实现上述目的,本发明提供的一种***分析可视化方法,包括:
获取待分析***数据集;
根据所述待分析***数据集中存在的引用关系构建接口调用关系图;
查找所述待分析***数据集中的实体类文件,并根据所述实体类文件构建数据模型图;
获取更新***数据集,并与所述待分析***数据集进行比较,得到***文件差异表;
根据所述接口调用关系图、所述数据模型图和所述***文件差异表,展示所述待分析***数据集对应的***内容。
可选地,所述根据所述待分析***数据集中各个类之间的引用关系构建接口调用关系图,包括:
利用根类寻找法查找所述待分析***数据集中的根类文件,并将所述根类文件作为根节点;
在所述待分析***数据集中查找引用了所述根类文件的类文件,并将所述根类文件的类文件作为所述根节点的子节点;
在所述待分析***数据集中查找引用了与所述子节点对应的类文件的类文件,并将与所述子节点对应的类文件的类文件作为所述子节点的下一子节点;
重复上述步骤,直到查找的类文件没有被其他类文件引用为止,得到所述待分析***数据集对应的所述接口调用关系图。
可选地,所述利用根类寻找法查找所述待分析***数据集中的根类文件,包括:
遍历所述待分析***数据集中的类文件;
提取当前遍历的类文件的头部数据;
若所述头部数据中没有引用其他的类文件,则将所述当前遍历的类文件判定为根类文件。
可选地,所述查找所述待分析***数据集中的实体类文件,包括:
根据所述待分析***数据集中类文件中预设的标记获取类型为实体类的类文件;
将所述类型为实体类的类文件汇集,得到多个实体类文件。
可选地,所述数据模型图包括实体、实体的属性、实体间的关联关系,所述根据所述实体类文件构建数据模型图,包括:
根据所述实体类文件的类名确定数据模型图中的实体;
根据所述实体类文件内包含的成员变量确定所述数据模型图中对应实体的属性;
根据所述实体类文件中的注解为所述数据模型图中各实体添加关联关系。
可选地,所述获取更新***数据集,并与所述待分析***数据集进行比较,得到***文件差异表,包括:
获取更新***数据集;
将所述更新***数据集按照类型进行划分,得到多个子***数据集;
遍历每个所述子***数据集,根据所述子***数据集的类型采用与所述类型对应的预设对比算法,对每个所述子***数据集中的每个文件与在所述待分析***数据集中与该文件名称一致的文件进行对比,识别每个所述子***数据集中文件的修改部分;
在所述子***数据集中将所述修改部分进行标识,并将所述修改部分保存至文件差异表中。
可选地,所述预设对比算法包括相似度比对算法,所述对每个所述子***数据集中的每个文件与在所述待分析***数据集中与该文件名称一致的文件进行对比,包括:
判断所述子***数据集的类型;当所述子***数据集的类型为实体类时,逐行获取所述子***数据集中的每个文件的数据,得到对比数据,并逐行获取在所述待分析***数据集中与该文件名称一致的文件的数据,得到原始数据;
采用相似度对比算法计算所述对比数据和原始数据的相似度,在相似度低于预设阈值时,将所述对比数据进行标识。
为了解决上述问题,本发明还提供一种***分析可视化装置,所述装置包括:
数据获取模块,用于获取待分析***数据集;
接口关系调用图模块,用于根据所述待分析***数据集中存在的引用关系构建接口调用关系图;
数据模型图模块,用于查找所述待分析***数据集中的实体类文件,并根据所述实体类文件构建数据模型图;
文件差异表模块,用于获取更新***数据集,并与所述待分析***数据集进行比较,得到***文件差异表;
展示输出模块,用于根据所述接口调用关系图、所述数据模型图和所述***文件差异表,展示所述待分析***数据集对应的***内容。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的***分析可视化方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,包括存储数据区和存储程序区,其中,所述存储数据区存储创建的数据,所述存储程序区存储有计算机程序;其中,所述计算机程序被处理器执行时实现上述所述的***分析可视化方法。
本发明实施例通过构建接口调用关系图呈现出***的模块划分和内部代码逻辑调用关系;通过构建数据模型图反映出***内的数据结构关系以及***中各个实体类之间具有的关联关系;通过***文件差异表清晰的展示***中每次变更的内容;以接口调用关系图、数据模型图和***文件差异表的形式进行展示,可以将***内容进行全面、直观的展示出来,便于后续对***进行维护或更新。因此本发明提出的***分析可视化方法、装置及计算机可读存储介质,可以提实现更全面、清晰的***分析可视化的目的。
附图说明
图1为本发明一实施例提供的***分析可视化方法的流程示意图;
图2为本发明一实施例提供的***分析可视化装置的模块示意图;
图3为本发明一实施例提供的实现***分析可视化方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供的***分析可视化方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述***分析可视化方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
本发明提供一种***分析可视化方法。参照图1所示,为本发明一实施例提供的***分析可视化方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,***分析可视化方法包括:
S1、获取待分析***数据集。
本发明实施例中,所述待分析***数据集是一个业务***的全套源代码,包括多个类文件、工具包、配置文件等。
优选地,***开发时使用的编程语言多种多样,常用的包括java、C/C++、php、python等。而在面向对象的编程语言中,以类和对象为基础,语言中的所有操作都是通过对象进行的,一个类代码文件中可以定义很多功能,并通过实例化前述类对象来实现功能。本发明实施例中所述待分析***数据集是以类对象为基础的业务***中的数据。
详细地,所述待分析***数据集可以从预设的服务器中获取。
优选地,所述待分析***数据集还可以从一区块链的节点获取,通过将所述待分析***数据集存储于区块链中,提高所述待分析***数据集的安全性。
S2、根据所述待分析***数据集中存在的引用关系构建接口调用关系图。
较佳地,一个业务***中会包含大量类文件,各种类文件之间存在相互调用关系,由多个类文件共同实现一个***功能。
本发明实施例中,所述接口调用关系图是一种树形图,以父子层次结构来组织对象。所述接口调用关系图中包括多个根节点和子节点,通过所述接口调用关系图可以展示所述待分析***数据集中的模块分布情况和各个类文件之间的调用关系,还可以展示出对应业务***的详细功能。
详细地,所述根据所述待分析***数据集中各个类之间的引用关系构建接口调用关系图,包括:
利用根类寻找法查找所述待分析***数据集中的根类文件,并将所述根类文件作为根节点;
在所述待分析***数据集中查找引用了所述根类文件的类文件,并将所述根类文件的类文件作为所述根节点的子节点;
在所述待分析***数据集中查找引用了与所述子节点对应的类文件类文件,并将与所述子节点对应的类文件的类文件作为所述子节点的下一子节点;
重复上述步骤,直到查找的类文件没有被其他类文件引用为止,得到所述待分析***数据集对应的所述接口调用关系图。
较佳地,所述根类文件是指没有被其他类文件引用的类文件,如接口、定时任务、消息的入口和废弃的孤立类等。进一步地,所述利用根类寻找法查找所述待分析***数据集中的根类文件,包括:
遍历所述待分析***数据集中的类文件;
提取当前遍历的类文件的头部数据;
若所述头部数据中没有引用其他的类文件,则将所述当前遍历的类文件判定为根类文件。
其中,所述头部数据是指一个类文件在开头的包名、引用其他类文件等数据信息,在引用其他类文件时,会使用标识字符“import”。
可选地,本发明一可选实施例中,还可以对所述接口调用关系图进行完善,包括:统计出各个类文件被引用次数;获取所述待分析***数据集中类文件的注解和注释;将上述数据信息添加至所述接口调用图中对应类文件处。
优选地,用户通过所述接口调用关系图快速了解所述待分析***数据集对应的业务***,以便进行下一步地分析。如,可以快速定位到对外的接口,以及内部接口调用关系,同时也可以分析出哪些类之间的关系紧密,哪些类之间的关系稀疏;可以根据模块划分高内聚低耦合的原则,分析业务***中模块划分的合理性,对模块划分提供一个量化的依据;还可以分析业务***中哪些类是孤立的,哪些调用链已经废弃,从而进行精简,有利于业务***的优化。
S3、查找所述待分析***数据集中的实体类文件,并根据所述实体类文件构建数据模型图。
本发明实施例中所述待分析***数据集中类文件的类型包括多种,如实体类、服务类、工具类和配置类等。其中,所述实体类是描述现实世界中的客观事物的数据,可以指人,如教师、学生等,也可以指物,如书、仓库等。
详细地,所述查找所述待分析***数据集中的实体类文件,包括:
根据所述待分析***数据集中类文件中预设的标记获取类型为实体类的类文件;
将所述类型为实体类的类文件汇集,得到多个实体类文件。
其中,所述预设的标记是***开发人员在构建类文件时对各种类文件进行区分的方法标记,例如,若一个类文件为实体类,则在命名时在名称末尾加“Entity”,若所述类文件为服务类,则在命名时在名称末尾加“Service”。
较佳地,本发明实施例中所述数据模型图可以是E-R图(Entity RelationshipDiagram,实体-联系图),用来描述信息需求或要存储在数据库中的信息的类型,所述数据模型图包括实体、实体的属性和实体间的关联关系。
详细地,所述根据所述实体类文件构建数据模型图,包括:
根据所述实体类文件的类名确定数据模型图中的实体;
根据所述实体类文件内包含的成员变量确定所述数据模型图中对应实体的属性;
根据所述实体类文件中的注解为所述数据模型图中各实体添加关联关系。
其中,所述成员变量是类文件的属性,定义在类文件中,在整个类文件中都可以被访问。所述注解是一种代码级别的说明,在类文件中进行声明,用来所述类文件进行说明或注释,根据所述注解可以得到所述类文件与其他类文件之间的关联。
优选地,在实际的业务***开发中,各种数据一般以数据表的形式保存在数据库中,各个数据表及其属性以及各数据表之间的关系代表了实际业务***中的数据结构,本发明实施例中数据库中的数据表与***中的实体类为一一对应关系,因此,本发明实施例通过所述数据模型图可以完整的反映出数据结构关系,还可以反映出各个实体类之间具有的关联关系。
S4、获取更新***数据集,并与所述待分析***数据集进行比较,得到***文件差异表。
详细地,一个业务***在开发完成后还需要进行后期的维护或者功能优化,因此,还需要对业务***进行更新。本发明实施例中所述更新***数据集是对业务***更新后的全套源代码。
详细地,所述S4包括:
获取更新***数据集;
将所述更新***数据集按照类型进行划分,得到多个子***数据集;
遍历每个所述子***数据集,根据所述子***数据集的类型采用与所述类型对应的预设对比算法,对每个所述子***数据集中的每个文件与在所述待分析***数据集中与该文件名称一致的文件进行对比,识别每个所述子***数据集中文件的修改部分;
在所述子***数据集中将所述修改部分进行标识,并将所述修改部分保存至文件差异表中。
其中,所述类型是根据各文件的作用进行划分的,如实体类、服务类、工具类和配置类等。文件类型不同,文件的数据形式也不同,因此需要采取不同对比算法对所述更新***数据集中的文件进行对比,所述预设对比算法包括特征向量比较法、语义分析对比法和相似度比对算法等。
进一步地,所述对每个所述子***数据集中的每个文件与在所述待分析***数据集中与该文件名称一致的文件进行对比,包括:
判断所述子***数据集的类型;
当所述子***数据集的类型为实体类时,逐行获取所述子***数据集中的每个文件的数据,得到对比数据,并获取在所述待分析***数据集中与该文件名称一致的文件的数据,得到原始数据;
采用相似度对比算法计算所述对比数据和原始数据的相似度,在相似度低于预设阈值时,将所述对比数据进行标识。其中,所述相似度对比算法是以连续字符串为单元块,相同单元块越大越多越相似,相异部分的单元块越小越少越相似,并以此计算相似度值的一种算法。
通过所述文件差异表可以清晰的展示每次变更的内容,便于用户准确评估每次变更对***业务逻辑的影响,降低未知变更带来的风险,保证了***的稳定性,提升***安全质量。
S5、根据所述接口调用关系图、所述数据模型图和所述***文件差异表,展示所述待分析***数据集对应的***内容。
详细地,本发明实施例将上述得到的接口调用关系图、数据模型图和文件差异表进行合并,得到的多个图表作为可视化方案,将所述待分析***数据集对应的***内容进行展示。所述可视化方案中的接口调用关系图、数据模型图和文件差异表是根据所述待分析***数据集构建的,能够以一种清晰、直观的方式展现出所述待分析***数据集对应的***内容,使用户不需要面对复杂大规模的代码数据。所述可视化方案简明易懂,便于后续对***进行进一步处理,提高了工作效率。
进一步地,用户可以通过文件差异表查看***中的修改文件,根据修改文件名称可以在接口调用关系图中查看所述修改文件在整个***的位置及功能,并可以通过数据模型图查看所述修改文件的数据结构,以及所述修改文件修改后对其他文件是否具有影响。
本发明实施例中所述可视化方案以图表的形式展示了复杂的***代码包中包含的各个模块以及内部的调用关系,还展示了***的整体数据结构和***的变更情况。用户,如开发人员或维护人员,浏览所述可视化方案即可快速了解业务***的基本情况,便于用户后续对业务***进行维护或优化。
本发明实施例通过构建接口调用关系图呈现出***的模块划分和内部代码逻辑调用关系;通过构建数据模型图反映出***内的数据结构关系以及***中各个实体类之间具有的关联关系;通过***文件差异表清晰的展示***中每次变更的内容;以接口调用关系图、数据模型图和***文件差异表的形式进行展示,可以将***内容进行全面、直观的展示出来,便于后续对***进行维护或更新。因此本发明提出的***分析可视化方法、装置及计算机可读存储介质,可以提实现更全面、清晰的***分析可视化的目的。
如图2所示,是本发明***分析可视化装置的模块示意图。
本发明所述***分析可视化装置100可以安装于电子设备中。根据实现的功能,所述***分析可视化装置可以包括数据获取模块101、接口关系调用图模块102、数据模型图模块103、文件差异表模块104和展示输出模块105。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述数据获取模块101,用于获取待分析***数据集。
本发明实施例中,所述待分析***数据集是一个业务***的全套源代码,包括多个类文件、工具包、配置文件等。
优选地,***开发时使用的编程语言多种多样,常用的包括java、C/C++、php、python等。而在面向对象的编程语言中,以类和对象为基础,语言中的所有操作都是通过对象进行的,一个类代码文件中可以定义很多功能,并通过实例化前述类对象来实现功能。本发明实施例中所述待分析***数据集是以类对象为基础的业务***中的数据。
详细地,所述待分析***数据集可以从预设的服务器中获取。
优选地,所述待分析***数据集还可以从一区块链的节点获取,通过将所述待分析***数据集存储于区块链中,提高所述待分析***数据集的安全性。
所述接口关系调用图模块102,用于根据所述待分析***数据集中存在的引用关系构建接口调用关系图。
较佳地,一个业务***中会包含大量类文件,各种类文件之间存在相互调用关系,由多个类文件共同实现一个***功能。
本发明实施例中,所述接口调用关系图是一种树形图,以父子层次结构来组织对象。所述接口调用关系图中包括多个根节点和子节点,通过所述接口调用关系图可以展示所述待分析***数据集中的模块分布情况和各个类文件之间的调用关系,还可以展示出对应业务***的详细功能。
详细地,所述接口关系调用图模块102具体用于:
利用根类寻找法查找所述待分析***数据集中的根类文件,并将所述根类文件作为根节点;
在所述待分析***数据集中查找引用了所述根类文件的类文件,并将所述根类文件的类文件作为所述根节点的子节点;
在所述待分析***数据集中查找引用了与所述子节点对应的类文件类文件,并将与所述子节点对应的类文件的类文件作为所述子节点的下一子节点;
重复上述步骤,直到查找的类文件没有被其他类文件引用为止,得到所述待分析***数据集对应的所述接口调用关系图。
较佳地,所述根类文件是指没有被其他类文件引用的类文件,如接口、定时任务、消息的入口和废弃的孤立类等。进一步地,所述利用根类寻找法查找所述待分析***数据集中的根类文件,包括:
遍历所述待分析***数据集中的类文件;
提取当前遍历的类文件的头部数据;
若所述头部数据中没有引用其他的类文件,则将所述当前遍历的类文件判定为根类文件。
其中,所述头部数据是指一个类文件在开头的包名、引用其他类文件等数据信息,在引用其他类文件时,会使用标识字符“import”。
可选地,本发明一可选实施例中,还可以对所述接口调用关系图进行完善,包括:统计出各个类文件被引用次数;获取所述待分析***数据集中类文件的注解和注释;将上述数据信息添加至所述接口调用图中对应类文件处。
优选地,用户通过所述接口调用关系图快速了解所述待分析***数据集对应的业务***,以便进行下一步地分析。如,可以快速定位到对外的接口,以及内部接口调用关系,同时也可以分析出哪些类之间的关系紧密,哪些类之间的关系稀疏;可以根据模块划分高内聚低耦合的原则,分析业务***中模块划分的合理性,对模块划分提供一个量化的依据;还可以分析业务***中哪些类是孤立的,哪些调用链已经废弃,从而进行精简,有利于业务***的优化。
所述数据模型图模块103,用于查找所述待分析***数据集中的实体类文件,并根据所述实体类文件构建数据模型图。
本发明实施例中所述待分析***数据集中类文件的类型包括多种,如实体类、服务类、工具类和配置类等。其中,所述实体类是描述现实世界中的客观事物的数据,可以指人,如教师、学生等,也可以指物,如书、仓库等。
详细地,在查找所述待分析***数据集中的实体类文件时,所述数据模型图模块103具体执行下述操作:
根据所述待分析***数据集中类文件中预设的标记获取类型为实体类的类文件;
将所述类型为实体类的类文件汇集,得到多个实体类文件。
其中,所述预设的标记是***开发人员在构建类文件时对各种类文件进行区分的方法标记,例如,若一个类文件为实体类,则在命名时在名称末尾加“Entity”,若所述类文件为服务类,则在命名时在名称末尾加“Service”。
较佳地,本发明实施例中所述数据模型图可以是E-R图(Entity RelationshipDiagram,实体-联系图),用来描述信息需求或要存储在数据库中的信息的类型,所述数据模型图包括实体、实体的属性和实体间的关联关系。
详细地,在根据所述实体类文件构建数据模型图时,所述数据模型图模块103具体执行下述操作:
根据所述实体类文件的类名确定数据模型图中的实体;
根据所述实体类文件内包含的成员变量确定所述数据模型图中对应实体的属性;
根据所述实体类文件中的注解为所述数据模型图中各实体添加关联关系。
其中,所述成员变量是类文件的属性,定义在类文件中,在整个类文件中都可以被访问。所述注解是一种代码级别的说明,在类文件中进行声明,用来所述类文件进行说明或注释,根据所述注解可以得到所述类文件与其他类文件之间的关联。
优选地,在实际的业务***开发中,各种数据一般以数据表的形式保存在数据库中,各个数据表及其属性以及各数据表之间的关系代表了实际业务***中的数据结构,本发明实施例中数据库中的数据表与***中的实体类为一一对应关系,因此,本发明实施例通过所述数据模型图可以完整的反映出数据结构关系,还可以反映出各个实体类之间具有的关联关系。
所述文件差异表模块104,用于获取更新***数据集,并与所述待分析***数据集进行比较,得到***文件差异表。
详细地,一个业务***在开发完成后还需要进行后期的维护或者功能优化,因此,还需要对业务***进行更新。本发明实施例中所述更新***数据集是对业务***更新后的全套源代码。
详细地,所述文件差异表模块104具体用于:
获取更新***数据集;
将所述更新***数据集按照类型进行划分,得到多个子***数据集;
遍历每个所述子***数据集,根据所述子***数据集的类型采用与所述类型对应的预设对比算法,对每个所述子***数据集中的每个文件与在所述待分析***数据集中与该文件名称一致的文件进行对比,识别每个所述子***数据集中文件的修改部分;
在所述子***数据集中将所述修改部分进行标识,并将所述修改部分保存至文件差异表中。
其中,所述类型是根据各文件的作用进行划分的,如实体类、服务类、工具类和配置类等。文件类型不同,文件的数据形式也不同,因此需要采取不同对比算法对所述更新***数据集中的文件进行对比,所述预设对比算法包括特征向量比较法、语义分析对比法和相似度比对算法等。
进一步地,所述对每个所述子***数据集中的每个文件与在所述待分析***数据集中与该文件名称一致的文件进行对比,包括:
判断所述子***数据集的类型;
当所述子***数据集的类型为实体类时,逐行获取所述子***数据集中的每个文件的数据,得到对比数据,并获取在所述待分析***数据集中与该文件名称一致的文件的数据,得到原始数据;
采用相似度对比算法计算所述对比数据和原始数据的相似度,在相似度低于预设阈值时,将所述对比数据进行标识。其中,所述相似度对比算法是以连续字符串为单元块,相同单元块越大越多越相似,相异部分的单元块越小越少越相似,并以此计算相似度值的一种算法。
通过所述文件差异表可以清晰的展示每次变更的内容,便于用户准确评估每次变更对***业务逻辑的影响,降低未知变更带来的风险,保证了***的稳定性,提升***安全质量。
所述展示输出模块105,用于根据所述接口调用关系图、所述数据模型图和所述***文件差异表展示所述待分析***数据集对应的***内容。
详细地,本发明实施例将上述得到的接口调用关系图、数据模型图和文件差异表进行合并,得到的多个图表作为可视化方案,将所述待分析***数据集对应的***内容进行展示。所述可视化方案中的接口调用关系图、数据模型图和文件差异表是根据所述待分析***数据集构建的,能够以一种清晰、直观的方式展现出所述待分析***数据集对应的***内容,使用户不需要面对复杂大规模的代码数据。所述可视化方案简明易懂,便于后续对***进行进一步处理,提高了工作效率。
进一步地,用户可以通过文件差异表查看***中的修改文件,根据修改文件名称可以在接口调用关系图中查看所述修改文件在整个***的位置及功能,并可以通过数据模型图查看所述修改文件的数据结构,以及所述修改文件修改后对其他文件是否具有影响。
本发明实施例中所述可视化方案以图表的形式展示了复杂的***代码包中包含的各个模块以及内部的调用关系,还展示了***的整体数据结构和***的变更情况。用户,如开发人员或维护人员,浏览所述可视化方案即可快速了解业务***的基本情况,便于用户后续对业务***进行维护或优化。
如图3所示,是本发明实现***分析可视化方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如***分析可视化程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如***分析可视化程序12的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行***分析可视化程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的***分析可视化程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
获取待分析***数据集;
根据所述待分析***数据集中存在的引用关系构建接口调用关系图;
查找所述待分析***数据集中的实体类文件,并根据所述实体类文件构建数据模型图;
获取更新***数据集,并与所述待分析***数据集进行比较,得到***文件差异表;
根据所述接口调用关系图、所述数据模型图和所述***文件差异表展示所述待分析***数据集对应的***内容。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
进一步地,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图表记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。***权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种***分析可视化方法,其特征在于,所述方法包括:
获取待分析***数据集;
根据所述待分析***数据集中存在的引用关系构建接口调用关系图;
查找所述待分析***数据集中的实体类文件,并根据所述实体类文件构建数据模型图;
获取更新***数据集,并与所述待分析***数据集进行比较,得到***文件差异表;
根据所述接口调用关系图、所述数据模型图和所述***文件差异表,展示所述待分析***数据集对应的***内容。
2.如权利要求1所述的***分析可视化方法,其特征在于,所述根据所述待分析***数据集中各个类之间的引用关系构建接口调用关系图,包括:
利用根类寻找法查找所述待分析***数据集中的根类文件,并将所述根类文件作为根节点;
在所述待分析***数据集中查找引用了所述根类文件的类文件,并将所述根类文件的类文件作为所述根节点的子节点;
在所述待分析***数据集中查找引用了与所述子节点对应的类文件的类文件,并将与所述子节点对应的类文件的类文件作为所述子节点的下一子节点;
重复上述步骤,直到查找的类文件没有被其他类文件引用为止,得到所述待分析***数据集对应的所述接口调用关系图。
3.如权利要求2所述的***分析可视化方法,其特征在于,所述利用根类寻找法查找所述待分析***数据集中的根类文件,包括:
遍历所述待分析***数据集中的类文件;
提取当前遍历的类文件的头部数据;
若所述头部数据中没有引用其他的类文件,则将所述当前遍历的类文件判定为根类文件。
4.如权利要求1所述的***分析可视化方法,其特征在于,所述查找所述待分析***数据集中的实体类文件,包括:
根据所述待分析***数据集中类文件中预设的标记获取类型为实体类的类文件;
将所述类型为实体类的类文件汇集,得到多个实体类文件。
5.如权利要求1所述的***分析可视化方法,其特征在于,所述数据模型图包括实体、实体的属性、实体间的关联关系,所述根据所述实体类文件构建数据模型图,包括:
根据所述实体类文件的类名确定数据模型图中的实体;
根据所述实体类文件内包含的成员变量确定所述数据模型图中对应实体的属性;
根据所述实体类文件中的注解为所述数据模型图中各实体添加关联关系。
6.如权利要求1所述的***分析可视化方法,其特征在于,所述获取更新***数据集,并与所述待分析***数据集进行比较,得到***文件差异表,包括:
获取更新***数据集;
将所述更新***数据集按照类型进行划分,得到多个子***数据集;
遍历每个所述子***数据集,根据所述子***数据集的类型采用与所述类型对应的预设对比算法,对每个所述子***数据集中的每个文件与在所述待分析***数据集中与该文件名称一致的文件进行对比,识别每个所述子***数据集中文件的修改部分;
在所述子***数据集中将所述修改部分进行标识,并将所述修改部分保存至文件差异表中。
7.如权利要求6所述的***分析可视化方法,其特征在于,所述预设对比算法包括相似度比对算法,所述对每个所述子***数据集中的每个文件与在所述待分析***数据集中与该文件名称一致的文件进行对比,包括:
判断所述子***数据集的类型;当所述子***数据集的类型为实体类时,逐行获取所述子***数据集中的每个文件的数据,得到对比数据,并逐行获取在所述待分析***数据集中与该文件名称一致的文件的数据,得到原始数据;
采用相似度对比算法计算所述对比数据和原始数据的相似度,在相似度低于预设阈值时,将所述对比数据进行标识。
8.一种***分析可视化装置,其特征在于,所述装置包括:
数据获取模块,用于获取待分析***数据集;
接口关系调用图模块,用于根据所述待分析***数据集中存在的引用关系构建接口调用关系图;
数据模型图模块,用于查找所述待分析***数据集中的实体类文件,并根据所述实体类文件构建数据模型图;
文件差异表模块,用于获取更新***数据集,并与所述待分析***数据集进行比较,得到***文件差异表;
展示输出模块,用于根据所述接口调用关系图、所述数据模型图和所述***文件差异表,展示所述待分析***数据集对应的***内容。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的***分析可视化方法。
10.一种计算机可读存储介质,包括存储数据区和存储程序区,其特征在于,所述存储数据区存储创建的数据,所述存储程序区存储有计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的***分析可视化方法。
CN202011246852.0A 2020-11-10 2020-11-10 ***分析可视化方法、装置、电子设备及计算机可读存储介质 Pending CN112364107A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011246852.0A CN112364107A (zh) 2020-11-10 2020-11-10 ***分析可视化方法、装置、电子设备及计算机可读存储介质
PCT/CN2021/091439 WO2022100032A1 (zh) 2020-11-10 2021-04-30 ***分析可视化方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011246852.0A CN112364107A (zh) 2020-11-10 2020-11-10 ***分析可视化方法、装置、电子设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN112364107A true CN112364107A (zh) 2021-02-12

Family

ID=74508566

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011246852.0A Pending CN112364107A (zh) 2020-11-10 2020-11-10 ***分析可视化方法、装置、电子设备及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN112364107A (zh)
WO (1) WO2022100032A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419795A (zh) * 2021-07-21 2021-09-21 网易(杭州)网络有限公司 调用关系的展示方法、装置、计算机设备及存储介质
CN113590088A (zh) * 2021-07-21 2021-11-02 上海淇玥信息技术有限公司 一种自动分析组件使用情况的方法、装置和电子设备
CN113721976A (zh) * 2021-07-31 2021-11-30 远光软件股份有限公司 基于bi分析软件的数据迁移方法、装置、存储介质及电子设备
WO2022100032A1 (zh) * 2020-11-10 2022-05-19 平安普惠企业管理有限公司 ***分析可视化方法、装置、电子设备及计算机可读存储介质
CN115292205A (zh) * 2022-10-08 2022-11-04 四川无限智达科技有限公司 接口的关系拓扑图生成方法、装置、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114721970B (zh) * 2022-06-08 2022-10-04 易方信息科技股份有限公司 建设接口自动化测试及精准测试的方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681835A (zh) * 2010-12-20 2012-09-19 微软公司 代码克隆通知以及体系结构改变可视化
US20160092336A1 (en) * 2014-09-29 2016-03-31 Radu-Florian Atanasiu Code analysis for cloud-based integrated development environments
CN110134800A (zh) * 2019-04-17 2019-08-16 深圳壹账通智能科技有限公司 一种文档关系可视化处理方法及装置
CN110333898A (zh) * 2019-05-27 2019-10-15 北京达佳互联信息技术有限公司 一种代码关系生成方法、装置、电子设备及存储介质
US20190347268A1 (en) * 2017-03-09 2019-11-14 Data.World, Inc. Matching subsets of tabular data arrangements to subsets of graphical data arrangements at ingestion into data driven collaborative datasets
CN111639143A (zh) * 2020-06-05 2020-09-08 广州市玄武无线科技股份有限公司 数据仓库的数据血缘关系展示方法及装置、电子设备
US20200342029A1 (en) * 2017-12-06 2020-10-29 DataWalk Spólka Akcyjna Systems and methods for querying databases using interactive search paths

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8336023B2 (en) * 2007-10-22 2012-12-18 Oracle International Corporation Extensible code visualization
US9335979B1 (en) * 2014-09-15 2016-05-10 The Mathworks, Inc. Data type visualization
CN106873974A (zh) * 2016-12-30 2017-06-20 武汉默联股份有限公司 智能代码生成引擎***及方法
CN109032586A (zh) * 2018-07-09 2018-12-18 中国银行股份有限公司 一种数据可视化方法及装置
CN109976747B (zh) * 2019-02-01 2022-05-13 杭州电子科技大学 一种模块级代码结构的可视化开发实现***
CN112364107A (zh) * 2020-11-10 2021-02-12 平安普惠企业管理有限公司 ***分析可视化方法、装置、电子设备及计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681835A (zh) * 2010-12-20 2012-09-19 微软公司 代码克隆通知以及体系结构改变可视化
US20160092336A1 (en) * 2014-09-29 2016-03-31 Radu-Florian Atanasiu Code analysis for cloud-based integrated development environments
US20190347268A1 (en) * 2017-03-09 2019-11-14 Data.World, Inc. Matching subsets of tabular data arrangements to subsets of graphical data arrangements at ingestion into data driven collaborative datasets
US20200342029A1 (en) * 2017-12-06 2020-10-29 DataWalk Spólka Akcyjna Systems and methods for querying databases using interactive search paths
CN110134800A (zh) * 2019-04-17 2019-08-16 深圳壹账通智能科技有限公司 一种文档关系可视化处理方法及装置
CN110333898A (zh) * 2019-05-27 2019-10-15 北京达佳互联信息技术有限公司 一种代码关系生成方法、装置、电子设备及存储介质
CN111639143A (zh) * 2020-06-05 2020-09-08 广州市玄武无线科技股份有限公司 数据仓库的数据血缘关系展示方法及装置、电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Sourcetrail Documentation for version 2019.4", pages 1 - 56, Retrieved from the Internet <URL:http ://itindex. net/detail/60163-sourcetrail-documentation> *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022100032A1 (zh) * 2020-11-10 2022-05-19 平安普惠企业管理有限公司 ***分析可视化方法、装置、电子设备及计算机可读存储介质
CN113419795A (zh) * 2021-07-21 2021-09-21 网易(杭州)网络有限公司 调用关系的展示方法、装置、计算机设备及存储介质
CN113590088A (zh) * 2021-07-21 2021-11-02 上海淇玥信息技术有限公司 一种自动分析组件使用情况的方法、装置和电子设备
CN113419795B (zh) * 2021-07-21 2022-05-03 网易(杭州)网络有限公司 调用关系的展示方法、装置、计算机设备及存储介质
CN113590088B (zh) * 2021-07-21 2023-07-21 上海淇玥信息技术有限公司 一种自动分析组件使用情况的方法、装置和电子设备
CN113721976A (zh) * 2021-07-31 2021-11-30 远光软件股份有限公司 基于bi分析软件的数据迁移方法、装置、存储介质及电子设备
CN113721976B (zh) * 2021-07-31 2024-02-06 远光软件股份有限公司 基于bi分析软件的数据迁移方法、装置、存储介质及电子设备
CN115292205A (zh) * 2022-10-08 2022-11-04 四川无限智达科技有限公司 接口的关系拓扑图生成方法、装置、电子设备及存储介质
CN115292205B (zh) * 2022-10-08 2022-12-09 四川无限智达科技有限公司 接口的关系拓扑图生成方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2022100032A1 (zh) 2022-05-19

Similar Documents

Publication Publication Date Title
CN112364107A (zh) ***分析可视化方法、装置、电子设备及计算机可读存储介质
CN111813963B (zh) 知识图谱构建方法、装置、电子设备及存储介质
CN111930962A (zh) 文献数据价值评估方法、装置、电子设备及存储介质
CN111428458A (zh) 通用报表生成方法、装置及计算机可读存储介质
CN114979120B (zh) 数据上传方法、装置、设备及存储介质
CN113672781A (zh) 数据查询方法、装置、电子设备及存储介质
CN112115143A (zh) 数据自动更新及同步方法、装置、电子设备及存储介质
CN113946690A (zh) 潜在客户挖掘方法、装置、电子设备及存储介质
CN113806434B (zh) 大数据处理方法、装置、设备及介质
CN114610747A (zh) 数据查询方法、装置、设备及存储介质
CN115408399A (zh) 基于sql脚本的血缘关系分析方法、装置、设备及存储介质
CN112231417A (zh) 数据分类方法、装置、电子设备及存储介质
CN113887941A (zh) 业务流程生成方法、装置、电子设备及介质
CN111897856A (zh) 监管报文生成方法、装置、电子设备及可读存储介质
CN114612194A (zh) 产品推荐方法、装置、电子设备及存储介质
CN115129753A (zh) 数据血缘关系分析方法、装置、电子设备及存储介质
CN113434542A (zh) 数据关系识别方法、装置、电子设备及存储介质
CN111930963B (zh) 知识图谱生成方法、装置、电子设备及存储介质
CN111932147A (zh) 指标统筹的可视化方法、装置、电子设备及存储介质
CN115114297A (zh) 数据轻量存储及查找方法、装置、电子设备及存储介质
CN114547011A (zh) 数据抽取方法、装置、电子设备及存储介质
CN113657546A (zh) 信息分类方法、装置、电子设备及可读存储介质
CN113590856A (zh) 标签查询方法、装置、电子设备及可读存储介质
CN113064928A (zh) 报表数据查询方法、装置、电子设备及存储介质
CN113360505B (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