CN111782737A - 信息处理方法、装置、设备及存储介质 - Google Patents
信息处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111782737A CN111782737A CN202010809690.0A CN202010809690A CN111782737A CN 111782737 A CN111782737 A CN 111782737A CN 202010809690 A CN202010809690 A CN 202010809690A CN 111782737 A CN111782737 A CN 111782737A
- Authority
- CN
- China
- Prior art keywords
- service
- calling
- data
- services
- applications
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 46
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 230000006870 function Effects 0.000 claims abstract description 36
- 238000004458 analytical method Methods 0.000 claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 14
- 230000003068 static effect Effects 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 7
- 238000011144 upstream manufacturing Methods 0.000 claims description 6
- 238000012800 visualization Methods 0.000 claims description 4
- 239000004071 soot Substances 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 16
- 230000008859 change Effects 0.000 description 10
- 230000000007 visual effect Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
- G06F16/287—Visualization; Browsing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Stored Programmes (AREA)
Abstract
本发明的实施例提出一种信息处理方法,可用于金融领域,该方法包括:获取至少一个应用的源程序代码,对所述源程序代码进行静态解析,得到经解析的数据;对所述经解析的数据进行分析,获取服务之间的调用关系,其中,所述服务包括经由所述应用提供的功能,所述调用关系包括所述应用之间的服务调用关系和所述应用内的服务调用关系;对获得的所述服务之间的调用关系进行可视化展示。根据本发明实施例的信息处理方法,通过对应用涉及的服务调用的相关数据进行结构化处理及展示,以便当应用接口改造或功能变更时,能够快速、准确地确定对服务调用的影响范围,从而为项目前期的设计工作提供有效支持。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种信息处理方法、装置、设备及存储介质。
背景技术
在银行或其他互联网企业中,进行业务处理时,通常涉及对多个应用(例如由银行系统或企业系统支持)的功能的使用,对于程序内部设计来说,即表现为服务之间的调用关系。通常,服务的调用不仅涉及单个应用内的服务之间的调用,还涉及跨应用之间的服务之间的调用。
当涉及应用功能改造时,或者涉及内部服务、公共模块、公共表变更时,对服务之间的调用关系具有一定影响。相关技术中,为了确定应用改造或功能变更涉及的服务调用的影响范围,需要架构师、开发师等进行手工搜索查询相关的编码方案,并且对代码逻辑进行确认,存在效率低、容易出现梳理遗漏等问题。
发明内容
本发明实施例提供了涉及信息处理方法、装置及存储介质。在一些实施方式中,本文描述的方法、装置通过对应用涉及的服务调用的相关数据进行结构化处理及展示,以便当应用接口改造或功能变更时,能够快速、准确地确定对服务调用的影响范围,从而为项目前期的设计工作提供有效支持。
在一方面,提供了一种信息处理方法,包括:获取至少一个应用的源程序代码,对所述源程序代码进行静态解析,得到经解析的数据;对所述经解析的数据进行分析,获取服务之间的调用关系,其中,所述服务包括经由所述应用提供的功能,所述调用关系包括所述应用之间的服务调用关系和所述应用内的服务调用关系;对获得的所述服务之间的调用关系进行可视化展示。
在一些实施方式中,对所述源程序代码进行静态解析包括:按文件类型对所述源程序代码执行对应的解析。
在一些实施方式中,当所述文件类型为Java文件时,对所述Java文件执行ASTParser解析或Soot解析。
在一些实施方式中,当所述文件类型为XML文件时,对所述XML文件执行以下至少之一:SAXBuilder解析、DOM解析、JDOM解析、DOM4j解析。
在一些实施方式中,按照所述文件类型与所述服务相关联的格式,存储所述经解析的数据。
在一些实施方式中,信息处理方法还包括:根据所述服务之间的调用关系建立调用链路,其中,所述调用链路示出各个服务与其上游服务和下游服务之间的调用关系;以及设置所述调用链路的长度。
在一些实施方式中,信息处理方法还包括:对所述调用链路、服务被一个或多个应用调用的频率进行可视化展示。
在一些实施方式中,所述可视化展示经由以下至少之一的可视化工具实现:Echarts、HighCharts、D3JS、ChartJS、ThreeJS、Metric-Graphics。
在一些实施方式中,信息处理方法还包括:获取所述至少一个应用的更新的源程序代码,并对所述更新的源程序代码进行更新的静态代码解析。
在另一方面,提供了一种信息处理装置,包括:采集及解析模块,用于获取至少一个应用的源程序代码,对所述源程序代码进行静态解析,得到经解析的数据;处理模块,用于对所述经解析的数据进行分析,获取服务之间的调用关系,其中,所述服务包括经由所述应用提供的功能,所述调用关系包括所述应用之间的服务调用关系和所述应用内的服务调用关系;展示模块,用于对获得的所述服务之间的调用关系进行可视化展示。
在另一方面,还提供了一种信息处理设备,包括:处理器;存储器,其上存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述实施例中的信息处理方法。
在另一方面,还提供了一种计算机可读存储介质,用于存储程序,其中,所述程序被执行时实现上述实施例中的信息处理方法。
附图说明
通过下文中参照附图对本发明所作的描述,本发明的其它目的和优点将显而易见,并可帮助对本发明有全面的理解。
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了根据本发明实施方式的信息处理方法的流程示意图;
图2示出了图1中的信息处理方法的其中之一的应用场景示意图;
图3示出了图1中的信息处理方法的另一应用场景示意图;
图4示出了根据本发明实施方式的信息处理方法获得的结构化数据的示意图;
图5示出了根据本发明实施方式的信息处理装置的结构示意图;
图6示出了根据本发明实施方式的为实现信息处理对应用进行配置的流程示意图;
图7示出了根据本发明实施方式的计算机系统的结构示意图。
需要说明的是,附图并不一定按比例来绘制,而是仅以不影响读者理解的示意性方式示出。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均应当属于本发明保护的范围。
除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。
需要说明的是,本公开实施例的信息处理方法和信息处理装置可用于金融领域,也可用于除金融领域之外的任意领域,本公开实施例对信息处理方法和信息处理装置的应用领域不做限定。
根据本发明实施例的信息处理方法或装置,支持多应用联合部署的项目,当涉及应用接口改造或功能变更时,对应用内或应用之间的服务调用的影响范围便于快速、准确圈定,从而便于为调用方提供有效的服务调用信息。
图1示出了根据本发明实施方式的信息处理方法的流程示意图。
步骤S101,获取至少一个应用的源程序代码,对所述源程序代码进行静态解析,得到经解析的数据。
对于多应用联合部署的项目,应用通过提供相应的功能以实现服务化。应用通常配置接口,不同的接口可用于实现不同功能,这些功能可对应不同服务。在一些情况下,当基于应用执行某项操作时,涉及的服务调用关系往往较复杂,不仅会发生应用内的服务之间调用,还会涉及两个或更多应用之间的服务之间调用。
为清楚了解应用提供的各功能(例如经由各接口提供)与服务调用之间的关系,首先使两者之间建立联系。可通过对应用程序进行静态分析,以获取结构化数据或信息。在一些实施方式中,对应用的源程序代码(以下简称源码)进行静态解析,以获得结构化数据。
在一些实施方式中,可针对不同类型的文件执行不同规则的源码解析。例如,对于Java文件,可进行ASTParser解析或Soot解析,从而获取具有服务调用的Java类及函数、服务名称,获取具有调用Mybatis的Java类及函数、Mybatis的ID。
在一些实施方式中,对于XML文件,可通过SAXBuilder进行解析,例如解析mapper.xml文件时,获取执行的SQL语句的类型、表名(或序列号等);当解析服务注册dubbo-provider.xml文件时,获取相关服务接口定义及对应的服务类。在其他一些实施方式中,对于XML文件,还可进行以下至少之一的解析:DOM解析、JDOM解析、DOM4j解析。
通过配置文件与服务之间建立联系,例如当Java文件中某类表涉及变更时,通过已经建立的联系,便于了解该变更对哪些文件、应用或是服务产生了影响,从而调用方可根据产生的影响进行相应改造或配合测试等。
在一些实施方式中,将步骤S101获得的经解析的数据,按照文件类型与服务相关联的数据格式,即形成结构化数据,对这些结构化数据进行存储,以支持对这些数据随时抽取。
步骤S102,对所述经解析的数据进行分析,获取服务之间的调用关系,其中,所述服务包括经由所述应用提供的功能,所述调用关系包括所述应用之间的服务调用关系和所述应用内的服务调用关系。
为更清楚了解应用之间的服务调用的关系或步骤,以便在应用功能发生改造或变更时,通过服务调用关系或步骤来确定影响范围,通过对步骤S101中经解析的数据进行提取和分析,以获取服务之间的调用关系。
图2示出了图1中的信息处理方法的其中之一的应用场景示意图。如图2所示,应用与服务调用之间的关系可以包括:应用内的服务调用关系和应用之间的服务调用关系。例如,基于应用1,当执行某项服务1时,该服务1同时需要调用服务2,服务2需要调用服务3,当服务1、服务2以及服务3均为由应用1的接口提供的相关方法或功能时,此时涉及的服务调用为应用内的服务调用。又例如,为进行服务2,该服务2原属于应用2的接口提供的方法或功能,进一步,该服务2还需调用服务3,该服务3原属于应用n的接口提供的方法或功能,此时涉及的服务调用即为跨应用之间的服务调用。
通过对步骤S101获得的数据进行分析,以获取服务调用关系或服务调用的详细步骤。在一些实施方式中,可通过Oracle数据库的递归函数实现抽取服务之间的调用关系,该服务之间的调用关系包括应用内的服务调用关系以及两个或多个应用之间的服务调用关系。
在一些实施方式中,还可以通过分析步骤S101获得的数据来获取服务涉及的对象。图3示出了图1中的信息处理方法的另一应用场景示意图。如图3所示,通过对结构化数据进行分析,不仅可获取服务之间的调用关系,还能够获取服务涉及的对象以及存储过程等。服务涉及的对象包括涉及的所有表、表中的字段、序列号等。如图3所示,服务1涉及的对象可以包括多个或多种,例如包括对象1,对象2,对象3,…,对象n。同时的,其他服务例如服务2和服务3也涉及到多个或多种对象,这些对象不限于图中所列举的对象1,对象2,对象3。
在一些实施方式中,步骤S101可对经解析的数据进行存储时,将数据按结构化数据格式进行存储,以便数据之间建立联系。图4示出了根据本发明实施方式的信息处理方法获得的结构化数据的示意图。如图4所示,数据之间可通过建立上下游关系以便对相关数据进行快速查找搜索。例如,需要查找与数据B1相关的数据或信息时,可通过找到与数据B1相关的上游数据A、下游数据C1或者更多的数据D1、数据D2,通过数据之间的连贯性,便于对数据之间的关系产生清晰的把握。
在其他实施方式中,数据之间还可以是通过其他形式建立联系,以形成结构化数据。例如基于表形式,表中各区域内容形成联系,例如将调用方所属应用、服务(服务类、服务名称)等分别设置在表中相应区域,彼此关联,通过关联可获取所需要的相关信息。又例如,对于Java方法,其涉及的服务、服务名称以及该服务调用的其他服务(以及该服务所属应用等),可通过使这些数据或信息之间建立联系,以便对数据提取时,提高数据提取效率,或者有利于获取到准确的信息。
步骤S103,对获得的所述服务之间的调用关系进行可视化展示。
通过可视化展示以便提供更直观的数据之间关联性,例如通过可视化展示服务之间的调用关系,使调用方能够对应用改造或变更涉及的影响范围准确圈定,有利于提高数据梳理时的效率。在一些实施方式中,可根据业务数据呈现方式的需要,对数据进行多种形式的展示,展示包括图表、树状结构等形式。例如展示数据之间的关系时,可提供基于树状结构的可视化分析,通过数据之间的连贯性,便于查找一系列相关信息。当展示数据中的数据构成时,可提供饼图以展示某种维度的在总成分中的比例。还可以提供柱状图,展示数据中的某种数据的排列,或者提供折线图,展示数据中的某种数据的发展趋势。对数据的展示形式不限于本发明实施例所列举的。
在一些实施方式中,用于可视化展示的工具可以包括:Echarts、HighCharts、D3JS、ChartJS、ThreeJS、Metric-Graphics,可根据实际需求选择。
根据本发明实施方式的信息处理方法,还可以根据获得的所述服务之间的调用关系建立调用链路,该调用链路能够更清晰地呈现服务之间的调用关系或者服务调用的步骤,例如调用链路可示出各个服务与其上游服务和下游服务之间的调用关系。进一步,通过控制调用链路的长度,以避免服务调用之间出现死循环。或者,当服务调用关系较复杂时,可将调用链路设置成分段、各段之间进行衔接,由此可避免调用链路长度过长时影响展示效果。
在一些实施方式中,对数据的可视化展示还可以包括:对调用链路、服务被一个或多个应用调用的频率进行可视化展示。即根据实际需求,选择数据内容或信息进行可视化展示,用于后续对数据进行查询、提取、分析、梳理等操作。
在一些实施方式中,信息处理方法还包括:获取所述至少一个应用的更新的源程序代码,并对所述更新的源程序代码进行更新的静态代码解析。经过此步骤可保证应用提供的相关方法或功能的有效性。
根据本发明实施例的信息处理方法,经由静态解析源码,获取不同文件类型下的数据,将数据按结构化数据格式存储,并进一步对存储的数据进行多次提取分析以获得与服务调用相关的信息,并通过可视化展示,解决相关技术中当涉及应用接口改造或功能变更时,无法快速确认涉及的服务调用影响范围的问题,有助于为项目经理、架构师以及开发经理等在方案设计阶段提供技术支持,或者为新入行的开发人员在代码学习方面提供指导。
本发明实施例还提供一种信息处理装置,图5示出了根据本发明实施方式的信息处理装置的结构示意图。如图5所示,信息处理装置200包括:采集及解析模块22,用于获取至少一个应用的源程序代码,对所述源程序代码进行静态解析,得到经解析的数据;处理模块23,用于对所述经解析的数据进行分析,获取服务之间的调用关系,其中,所述服务包括经由所述应用提供的功能,所述调用关系包括所述应用之间的服务调用关系和所述应用内的服务调用关系;展示模块24,用于对获得的所述服务之间的调用关系进行可视化展示。
针对多应用联合部署的项目,应用通过提供相应的功能以实现服务化。应用通常配置接口,不同的接口可用于实现不同功能,这些功能可对应不同服务。在一些情况下,当基于应用执行某项操作时,涉及的服务调用关系往往较复杂,不仅会发生应用内的服务之间调用,还会涉及两个或更多应用之间的服务之间调用。
为清楚了解应用提供的各功能(例如经由各接口提供)与服务调用之间的关系,首先使两者之间建立联系。可通过对应用程序进行静态分析,以获取结构化数据或信息。采集及解析模块22可获取应用的源码,并对该源码进行静态解析,以获得结构化数据。
在一些实施方式中,可针对不同类型的文件执行不同规则的源码解析。例如,对于Java文件,可进行ASTParser解析或Soot解析,从而获取具有服务调用的Java类及函数、服务名称,获取具有调用Mybatis的Java类及函数、Mybatis的ID。
在一些实施方式中,对于XML文件,可通过SAXBuilder进行解析,例如解析mapper.xml文件时,获取执行的SQL语句的类型、表名(或序列号等);当解析服务注册dubbo-provider.xml文件时,获取相关服务接口定义及对应的服务类。在其他一些实施方式中,对于XML文件,还可进行以下至少之一的解析:DOM解析、JDOM解析、DOM4j解析。
通过配置文件与服务之间建立联系,例如当Java文件中某类表涉及变更时,通过已经建立的联系,便于了解该变更对哪些文件、应用或是服务产生了影响,从而调用方可根据产生的影响进行相应改造或配合测试等。
在一些实施方式中,采集及解析模块22还可对经解析的数据,按照文件类型与服务相关联的数据格式,即形成结构化数据,对这些结构化数据进行存储,以支持对这些数据随时抽取。
在一些实施方式中,采集及解析模块22对经解析的数据进行存储时,将数据按结构化数据格式进行存储,以便数据之间建立联系。图4示出了根据本发明实施方式的信息处理方法获得的结构化数据的示意图。如图4所示,数据之间可通过建立上下游关系以便对相关数据进行快速查找搜索。例如,需要查找与数据B1相关的数据或信息时,可通过找到与数据B1相关的上游数据A、下游数据C1或者更多的数据D1、数据D2,通过数据之间的连贯性,便于对数据之间的关系产生清晰的把握。
进一步,处理模块23用于对上述存储的数据进行提取、分析,以获取服务之间的调用关系。如图2所示,应用与服务调用之间的关系可以包括:应用内的服务调用关系和应用之间的服务调用关系。例如,基于应用1,当执行某项服务1时,该服务1同时需要调用服务2,服务2需要调用服务3,当服务1、服务2以及服务3均为由应用1的接口提供的相关方法或功能时,此时涉及的服务调用为应用内的服务调用。又例如,为进行服务2,该服务2原属于应用2的接口提供的方法或功能,进一步,该服务2还需调用服务3,该服务3原属于应用n的接口提供的方法或功能,此时涉及的服务调用即为跨应用之间的服务调用。
在一些实施方式中,处理模块23还用于对上述存储的数据进行提取、分析,以获取服务涉及的对象。如图3所示,通过对结构化数据进行分析,不仅可获取服务之间的调用关系,还能够获取服务涉及的对象以及存储过程等。服务涉及的对象包括涉及的所有表、表中的字段、序列号等。如图3所示,服务1涉及的对象可以包括多个或多种,例如包括对象1,对象2,对象3,…,对象n。同时的,其他服务例如服务2和服务3也涉及到多个或多种对象,这些对象不限于图中所列举的对象1,对象2,对象3。
进一步,展示模块24对上述分析后的数据进行可视化呈现。在一些实施方式中,可根据业务数据呈现方式的需要,对数据进行多种形式的展示,展示包括图表、树状结构等形式。例如展示数据之间的关系时,可提供基于树状结构的可视化分析,通过数据之间的连贯性,便于查找一系列相关信息。当展示数据中的数据构成时,可提供饼图以展示某种维度的在总成分中的比例。还可以提供柱状图,展示数据中的某种数据的排列,或者提供折线图,展示数据中的某种数据的发展趋势。对数据的展示形式不限于本发明实施例所列举的。
进一步,在一些实施方式中,信息处理装置200还包括更新模块21,用于更新所述至少一个应用的源程序代码,以便所述采集及解析模块22对所述更新的源程序代码进行更新的静态代码解析。
进一步,在一些实施方式中,信息处理装置200还包括调用关系链建立模块25,用于根据所述服务之间的调用关系建立调用链路,该调用链路可示出各个服务与其上游服务和下游服务之间的调用关系;进一步可通过设置所述调用链路的长度,来避免服务调用之间出现死循环,或者,当服务调用关系较复杂时,可将调用链路设置成分段、各段之间进行衔接,由此可避免调用链路长度过长时影响展示效果。
展示模块24还可对调用链路、服务被一个或多个应用调用的频率进行可视化展示。即根据实际需求,选择数据内容或信息进行可视化展示,用于后续对数据进行查询、提取、分析、梳理等操作。
根据本发明实施方式的信息处理方法或装置,可将采集及解析模块22的功能与处理模块23的功能进行封装,封装为一个可执行的解析Jar包,由此当获取到各应用源码后,执行解析Jar包以获得结构化数据。
图6示出了根据本发明实施方式的为实现信息处理对应用进行配置的流程示意图。例如对各应用配置jinkens定时任务以获取更新的源码,然后经由源码解析获得结构化数据,并对结构化数据进行分析,获取服务之间调用关系、服务涉及的对象等信息,通过将分析得到的信息进行可视化展示,实现信息有效管理,便于技术人员或调用方对应用改造或功能变更涉及到的服务调用影响进行掌握,从而提供技术支持。
根据本发明实施例的信息处理方法或装置,对应用及应用涉及的服务之间的相关数据进行管理,提供便于数据查询、梳理的方法,以解决服务调用关系复杂,当涉及应用接口改造或功能变更时,进行人工数据查询、核对代码效率低、容易梳理遗漏的问题。
本发明实施例还提供一种计算机系统的结构示意图,图7示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图7示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,根据本公开实施例的计算机系统300包括处理器30,其可以根据存储在只读存储器(ROM)31中的程序或者从存储部分37加载到随机访问存储器(RAM)32中的程序而执行各种适当的动作和处理。处理器30例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器30还可以包括用于缓存用途的板载存储器。处理器30可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 32中,存储有系统300操作所需的各种程序和数据。处理器30、ROM 31以及RAM 32通过总线33彼此相连。处理器30通过执行ROM 31和/或RAM 32中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 31和RAM32以外的一个或多个存储器中。处理器30也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统300还可以包括输入/输出(I/O)接口34,输入/输出(I/O)接口34也连接至总线33。系统300还可以包括连接至I/O接口34的以下部件中的一项或多项:包括键盘、鼠标等的输入部分35;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分36;包括硬盘等的存储部分37;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分38。通信部分38经由诸如因特网的网络执行通信处理。驱动器39也根据需要连接至I/O接口34。可拆卸介质310,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器39上,以便于从其上读出的计算机程序根据需要被安装入存储部分37。
本发明实施例还提供一种信息处理设备,包括:处理器;存储器,其上存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述实施例中的信息处理方法。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,其中,所述程序被执行时实现上述实施例中的信息处理方法。
对于本发明的实施例,还需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种信息处理方法,包括:
获取至少一个应用的源程序代码,对所述源程序代码进行静态解析,得到经解析的数据;
对所述经解析的数据进行分析,获取服务之间的调用关系,其中,所述服务包括经由所述应用提供的功能,所述调用关系包括所述应用之间的服务调用关系和所述应用内的服务调用关系;
对获得的所述服务之间的调用关系进行可视化展示。
2.根据权利要求1所述的方法,其中,
对所述源程序代码进行静态解析包括:按文件类型对所述源程序代码执行对应的解析。
3.根据权利要求2所述的方法,其中,
当所述文件类型为Java文件时,对所述Java文件执行ASTParser解析或Soot解析。
4.根据权利要求2所述的方法,其中,
当所述文件类型为XML文件时,对所述XML文件执行以下至少之一:SAXBuilder解析、DOM解析、JDOM解析、DOM4j解析。
5.根据权利要求2-4中任一项所述的方法,还包括:
按照所述文件类型与所述服务相关联的格式,存储所述经解析的数据。
6.根据权利要求1-4中任一项所述的方法,还包括:
根据所述服务之间的调用关系建立调用链路,其中,所述调用链路示出各个服务与其上游服务和下游服务之间的调用关系;以及
设置所述调用链路的长度。
7.根据权利要求6所述的方法,还包括:
对所述调用链路、服务被一个或多个应用调用的频率进行可视化展示。
8.根据权利要求1或7所述的方法,其中,
所述可视化展示经由以下至少之一的可视化工具实现:Echarts、HighCharts、D3JS、ChartJS、ThreeJS、Metric-Graphics。
9.根据权利要求1所述的方法,还包括:
获取所述至少一个应用的更新的源程序代码,并对所述更新的源程序代码进行更新的静态代码解析。
10.一种信息处理装置,包括:
采集及解析模块,用于获取至少一个应用的源程序代码,对所述源程序代码进行静态解析,得到经解析的数据;
处理模块,用于对所述经解析的数据进行分析,获取服务之间的调用关系,其中,所述服务包括经由所述应用提供的功能,所述调用关系包括所述应用之间的服务调用关系和所述应用内的服务调用关系;
展示模块,用于对获得的所述服务之间的调用关系进行可视化展示。
11.一种信息处理设备,包括:
处理器;
存储器,其上存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-9中任一项所述的信息处理方法。
12.一种计算机可读存储介质,用于存储程序,其中,所述程序被执行时实现权利要求1-9中任一项所述的信息处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010809690.0A CN111782737B (zh) | 2020-08-12 | 2020-08-12 | 信息处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010809690.0A CN111782737B (zh) | 2020-08-12 | 2020-08-12 | 信息处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782737A true CN111782737A (zh) | 2020-10-16 |
CN111782737B CN111782737B (zh) | 2024-05-28 |
Family
ID=72761868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010809690.0A Active CN111782737B (zh) | 2020-08-12 | 2020-08-12 | 信息处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782737B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612556A (zh) * | 2020-12-24 | 2021-04-06 | 江苏满运物流信息有限公司 | 中台执行链路生成方法、系统、设备及存储介质 |
CN113297076A (zh) * | 2021-05-21 | 2021-08-24 | 建信金融科技有限责任公司 | 基于调用链的服务变更识别方法及装置 |
CN113706299A (zh) * | 2021-09-10 | 2021-11-26 | 京东科技控股股份有限公司 | 数据处理的方法、装置、电子设备及介质 |
CN114721744A (zh) * | 2022-04-25 | 2022-07-08 | 平安普惠企业管理有限公司 | 接口改造评估方法、装置、电子设备及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360368A (zh) * | 2011-10-09 | 2012-02-22 | 山东大学 | 基于抽取模板可视化定制的Web数据抽取方法 |
CN106790718A (zh) * | 2017-03-16 | 2017-05-31 | 北京搜狐新媒体信息技术有限公司 | 服务调用链路分析方法及系统 |
CN109857630A (zh) * | 2017-11-30 | 2019-06-07 | 阿里巴巴集团控股有限公司 | 代码检测方法、系统及设备 |
CN109902105A (zh) * | 2019-02-28 | 2019-06-18 | 携程旅游网络技术(上海)有限公司 | 用于微服务架构的数据查询系统、方法、设备及存储介质 |
CN109976761A (zh) * | 2019-02-27 | 2019-07-05 | 平安科技(深圳)有限公司 | 软件开发工具包的生成方法、装置及终端设备 |
CN110086682A (zh) * | 2019-05-22 | 2019-08-02 | 四川新网银行股份有限公司 | 基于tcp的服务链路调用关系视图和故障根因定位方法 |
CN110162296A (zh) * | 2019-04-15 | 2019-08-23 | 平安科技(深圳)有限公司 | 应用程序编程接口文档的生成方法、装置及终端设备 |
CN110727429A (zh) * | 2019-09-18 | 2020-01-24 | 东软集团股份有限公司 | 一种前端页面的生成方法、装置及设备 |
-
2020
- 2020-08-12 CN CN202010809690.0A patent/CN111782737B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360368A (zh) * | 2011-10-09 | 2012-02-22 | 山东大学 | 基于抽取模板可视化定制的Web数据抽取方法 |
CN106790718A (zh) * | 2017-03-16 | 2017-05-31 | 北京搜狐新媒体信息技术有限公司 | 服务调用链路分析方法及系统 |
CN109857630A (zh) * | 2017-11-30 | 2019-06-07 | 阿里巴巴集团控股有限公司 | 代码检测方法、系统及设备 |
CN109976761A (zh) * | 2019-02-27 | 2019-07-05 | 平安科技(深圳)有限公司 | 软件开发工具包的生成方法、装置及终端设备 |
CN109902105A (zh) * | 2019-02-28 | 2019-06-18 | 携程旅游网络技术(上海)有限公司 | 用于微服务架构的数据查询系统、方法、设备及存储介质 |
CN110162296A (zh) * | 2019-04-15 | 2019-08-23 | 平安科技(深圳)有限公司 | 应用程序编程接口文档的生成方法、装置及终端设备 |
CN110086682A (zh) * | 2019-05-22 | 2019-08-02 | 四川新网银行股份有限公司 | 基于tcp的服务链路调用关系视图和故障根因定位方法 |
CN110727429A (zh) * | 2019-09-18 | 2020-01-24 | 东软集团股份有限公司 | 一种前端页面的生成方法、装置及设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612556A (zh) * | 2020-12-24 | 2021-04-06 | 江苏满运物流信息有限公司 | 中台执行链路生成方法、系统、设备及存储介质 |
CN112612556B (zh) * | 2020-12-24 | 2022-07-15 | 江苏满运物流信息有限公司 | 中台执行链路生成方法、系统、设备及存储介质 |
CN113297076A (zh) * | 2021-05-21 | 2021-08-24 | 建信金融科技有限责任公司 | 基于调用链的服务变更识别方法及装置 |
CN113297076B (zh) * | 2021-05-21 | 2023-06-23 | 建信金融科技有限责任公司 | 基于调用链图的服务变更识别方法及装置 |
CN113706299A (zh) * | 2021-09-10 | 2021-11-26 | 京东科技控股股份有限公司 | 数据处理的方法、装置、电子设备及介质 |
CN114721744A (zh) * | 2022-04-25 | 2022-07-08 | 平安普惠企业管理有限公司 | 接口改造评估方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111782737B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782737B (zh) | 信息处理方法、装置、设备及存储介质 | |
CN111177231B (zh) | 报表生成方法和报表生成装置 | |
US8984485B2 (en) | Analysis of source code changes | |
US8375361B2 (en) | Identifying changes in source code | |
JP2020510925A (ja) | テストケースを利用してテストを遂行する方法および装置 | |
US20170193375A1 (en) | Rule guided fabrication of structured data and messages | |
CN111651460A (zh) | 一种数据治理方法、装置、电子设备及可读存储介质 | |
Dakrory et al. | Automated ETL testing on the data quality of a data warehouse | |
US10360208B2 (en) | Method and system of process reconstruction | |
CN108694172B (zh) | 信息输出方法和装置 | |
US10606728B2 (en) | Framework for detecting source code anomalies | |
CN111459830B (zh) | 测试案例生成方法及装置 | |
US12001815B2 (en) | Cloud portability code scanning tool | |
US8126931B2 (en) | Method and apparatus for displaying the composition of a data structure during runtime | |
CN112650526A (zh) | 版本一致性的检测方法、装置、电子设备和介质 | |
US11544179B2 (en) | Source traceability-based impact analysis | |
CN111679983B (zh) | Java接口静态测试方法及装置 | |
CN114675952A (zh) | 信息处理方法、装置、电子设备、介质和程序产品 | |
CN113268231A (zh) | 一种数据采集比对方法 | |
Anderson | Modeling and analysis of SQL queries in PHP systems | |
Moon et al. | A Survey for Software Visualization | |
CN112000366B (zh) | 基于代码生成器的系统参数配置方法及装置 | |
CN115759019B (zh) | 业务数据计算方法、装置、存储介质、计算机设备 | |
CN117743439A (zh) | 目标数据的关系获取方法及其装置、电子设备 | |
CN117033380A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |