CN116521767A - 数据信息的确定方法和装置、存储介质及电子装置 - Google Patents
数据信息的确定方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN116521767A CN116521767A CN202310326230.6A CN202310326230A CN116521767A CN 116521767 A CN116521767 A CN 116521767A CN 202310326230 A CN202310326230 A CN 202310326230A CN 116521767 A CN116521767 A CN 116521767A
- Authority
- CN
- China
- Prior art keywords
- micro
- determining
- services
- service
- engineering source
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000004458 analytical method Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000009960 carding Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据信息的确定方法和装置、存储介质及电子装置,涉及智慧家庭技术领域,该数据信息的确定方法包括:获取多个微服务中每一个微服务对应的工程源码以及每一个微服务直接连接基础数据库的目标方法;其中,所述基础数据库包括:多个子数据库,每一个子数据库存储一种数据类型;从所述工程源码中解析出所述多个微服务对应的第一依赖关系,其中,所述第一依赖关系用于指示微服务被其他服务直接调用的信息;汇总所述多个微服务对应的所述第一依赖关系和所述目标方法,得到所述多个微服务对应的第一调用关系链;基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息。
Description
技术领域
本申请涉及通信领域,具体而言,涉及一种数据信息的确定方法和装置、存储介质及电子装置。
背景技术
在目前的后端开发工作中,越来越多的服务端开始转向微服务,在我们的商城系统中,整个业务被划分为商品、价格、支付、订单等几个大的业务服务板块,每一个大的业务板块又会细分出来很多子的业务板块,各个微服务通过RPC框架调用。随着业务的快速迭代,各个微服务工程中的数据库连接越来越多,当涉及到大的业务变更或者业务重构时,需要清楚的知道各个工程提供的接口连接了哪些数据库,每个数据库被哪些工程调用连接,做到需求开发完全覆盖,不遗漏需要变更的接口。目前这部分主要依赖于主要业务开发负责人进行梳理,因此快速梳理服务工程的数据库连接调用以及方向的接口依赖数据库是一项待解决的问题。
针对相关技术中,只能凭借人工梳理确定微服务在运行时调用的数据信息等问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据信息的确定方法和装置、存储介质及电子装置,以至少解决相关技术中,只能凭借人工梳理确定微服务在运行时调用的数据信息等问题。
根据本申请实施例的一个实施例,提供了一种数据信息的确定方法,包括:获取多个微服务中每一个微服务对应的工程源码以及每一个微服务直接连接基础数据库的目标方法;其中,所述基础数据库包括:多个子数据库,每一个子数据库存储一种数据类型;从所述工程源码中解析出所述多个微服务对应的第一依赖关系,其中,所述第一依赖关系用于指示微服务被其他服务直接调用的信息;汇总所述多个微服务对应的所述第一依赖关系和所述目标方法,得到所述多个微服务对应的第一调用关系链;基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息。
在一个示例性实施例中,获取多个微服务中每一个微服务对应的工程源码之前,所述方法还包括:在确定存在工程源码对应的历史记录的情况下,获取所述工程源码对应的更新周期;基于所述更新周期确定获取所述工程源码的目标时间点,并识别所述目标时间点获取的最新工程源码与所述历史记录中最近一次获取的历史工程源码的差异度;根据所述差异度确定是否在解析前对所述工程源码进行更新。
在一个示例性实施例中,根据所述差异度确定是否在解析前对所述工程源码进行更新之后,所述方法还包括:在所述差异度大于或者等于预设差异度的情况下,确定所述工程源码进行了迭代变更,禁止使用历史工程源码执行解析;在所述差异度小于预设差异度的情况下,确定所述工程源码未进行了迭代变更,允许使用历史工程源码执行解析。
在一个示例性实施例中,从所述工程源码中解析出所述多个微服务对应的第一依赖关系之后,所述方法还包括:在确定所述工程源码进行了迭代变更的情况下,获取迭代变更后的最新工程源码;从所述最新工程源码解析出所述多个微服务对应的第二依赖关系;汇总所述多个微服务对应的所述第二依赖关系和所述目标方法,得到所述多个微服务对应的第二调用关系链。
在一个示例性实施例中,汇总所述多个微服务对应的所述第二依赖关系和所述目标方法,得到所述多个微服务对应的第二调用关系链之后,所述方法还包括:确定所述第二调用关系链和所述第一调用关系链中的差异节点;将所述差异节点对应的差异信息发送至目标对象;接收所述目标对象对于所述差异信息的反馈结果;在所述反馈结果指示更新第一调用关系链的情况下,使用所述差异节点对应的第二调用关系链上的第二节点信息替换第一调用关系链上的第一节点信息,以得到更新后的第一调用关系链。
在一个示例性实施例中,基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息之后,所述方法还包括:确定每一个微服务对应的调用接口;将所述调用接口与所述数据信息进行关联,并将对应的关联关系保存在所述第一调用关系链对应的节点中。
在一个示例性实施例中,基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息之后,所述方法还包括:在获取到目标对象的查询请求的情况下,确定查询请求对应的微服务并显示微服务对应的第一调用关系链;获取目标对象基于第一调用关系链发出的操作信息,其中,所述操作信息用于确定数据信息是否显示以及显示顺序。
根据本申请实施例的另一个实施例,还提供了一种数据信息的确定装置,包括:获取模块,用于获取多个微服务中每一个微服务对应的工程源码以及每一个微服务直接连接基础数据库的目标方法;其中,所述基础数据库包括:多个子数据库,每一个子数据库存储一种数据类型;解析模块,用于从所述工程源码中解析出所述多个微服务对应的第一依赖关系,其中,所述第一依赖关系用于指示微服务被其他服务直接调用的信息;汇总模块,用于汇总所述多个微服务对应的所述第一依赖关系和所述目标方法,得到所述多个微服务对应的第一调用关系链;确定模块,用于基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息。
根据本申请实施例的又一实施例,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据信息的确定方法。
根据本申请实施例的又一实施例,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的数据信息的确定方法。
在本申请实施例中,获取多个微服务中每一个微服务对应的工程源码以及每一个微服务直接连接基础数据库的目标方法;其中,所述基础数据库包括:多个子数据库,每一个子数据库存储一种数据类型;从所述工程源码中解析出所述多个微服务对应的第一依赖关系,其中,所述第一依赖关系用于指示微服务被其他服务直接调用的信息;汇总所述多个微服务对应的所述第一依赖关系和所述目标方法,得到所述多个微服务对应的第一调用关系链;基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息。也就是说,通过对微服务的工程源码解析得到的微服务的依赖关系,并将不同微服务的依赖关系和连接方法汇总后,确定每一个微服务在运行时调用的数据信息。采用上述技术方案,解决了只能凭借人工梳理确定微服务在运行时调用的数据信息等问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例的一种数据信息的确定方法的硬件环境示意图;
图2是根据本申请实施例的数据信息的确定方法的流程图;
图3是根据本申请可选实施例的数据信息的确定方法的时序图;
图4是根据本申请实施例的一种数据信息的确定装置的结构框图(一);
图5是根据本申请实施例的一种数据信息的确定装置的结构框图(二)。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种数据信息的确定方法。该数据信息的确定方法广泛应用于智慧家庭(Smart Home)、智能家居、智能家用设备生态、智慧住宅(Intelligence House)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述数据信息的确定方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。终端设备102可以并不限定于为PC、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
在本实施例中提供了一种数据信息的确定方法,应用于上述终端设备,图2是根据本申请实施例的数据信息的确定方法的流程图,该流程包括如下步骤:
步骤S202,获取多个微服务中每一个微服务对应的工程源码以及每一个微服务直接连接基础数据库的目标方法;其中,所述基础数据库包括:多个子数据库,每一个子数据库存储一种数据类型;
步骤S204,从所述工程源码中解析出所述多个微服务对应的第一依赖关系,其中,所述第一依赖关系用于指示微服务被其他服务直接调用的信息;
步骤S206,汇总所述多个微服务对应的所述第一依赖关系和所述目标方法,得到所述多个微服务对应的第一调用关系链;
步骤S208,基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息。
通过上述步骤,接获取多个微服务中每一个微服务对应的工程源码以及每一个微服务直接连接基础数据库的目标方法;其中,所述基础数据库包括:多个子数据库,每一个子数据库存储一种数据类型;从所述工程源码中解析出所述多个微服务对应的第一依赖关系,其中,所述第一依赖关系用于指示微服务被其他服务直接调用的信息;汇总所述多个微服务对应的所述第一依赖关系和所述目标方法,得到所述多个微服务对应的第一调用关系链;基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息。采用上述技术方案,解决了只能凭借人工梳理确定微服务在运行时调用的数据信息等问题。
在一个示例性实施例中,获取多个微服务中每一个微服务对应的工程源码之前,所述方法还包括:在确定存在工程源码对应的历史记录的情况下,获取所述工程源码对应的更新周期;基于所述更新周期确定获取所述工程源码的目标时间点,并识别所述目标时间点获取的最新工程源码与所述历史记录中最近一次获取的历史工程源码的差异度;根据所述差异度确定是否在解析前对所述工程源码进行更新。
也就是说,通过工程源码的历史更新周期,预测下一次获取工程源码的时间点。将预测时间点获取到的工程源码与历史版本中最接近预测时间点工程源码进行对比,如果两个版本的工程源码存在差异,则确定两个版本的差异度。如果差异度比预设的差异度大,则说明需要在解析前进行替换。
在一个示例性实施例中,根据所述差异度确定是否在解析前对所述工程源码进行更新之后,所述方法还包括:在所述差异度大于或者等于预设差异度的情况下,确定所述工程源码进行了迭代变更,禁止使用历史工程源码执行解析;在所述差异度小于预设差异度的情况下,确定所述工程源码未进行了迭代变更,允许使用历史工程源码执行解析。
也就是说,如果工程源码的差异过大,则说明工程源码发生了迭代变更,则不允许就的工程源码再被解析。如果工程源码的差异度小于预设的差异度,则说明工程源码没有进行迭代变更,则旧的工程源码可以被解析。
在实际应用过程中,如果差异度大于预设的差异度,说明工程源码的变化较大。那么旧的工程源码对应的解析方案可能无法实现对新的工程源码进行解析,或者出现解析异常的情况。因此,当差异度大于预设差异度的情况下,还可以根据存在差异的工程源码确定新的解析方案。
可选地,获取历史工程源码与最新工程源码的差异源码;识别差异源码中标记的功能信息,其中所述功能信息用于指差异源码对应的功能;根据差异源码的对应的功能的优先级,确定差异源码的解析顺序。
在一个示例性实施例中,从所述工程源码中解析出所述多个微服务对应的第一依赖关系之后,所述方法还包括:在确定所述工程源码进行了迭代变更的情况下,获取迭代变更后的最新工程源码;从所述最新工程源码解析出所述多个微服务对应的第二依赖关系;汇总所述多个微服务对应的所述第二依赖关系和所述目标方法,得到所述多个微服务对应的第二调用关系链。
也就是说,如果源码发生了迭代变更,那么其对应的依赖关系可能也发生了变化。对变化后的工程源码进行解析,得到新的依赖关系。对新的依赖关系和目标方法进行汇总后,得到新的微服务对应的调用关系链。
在一个示例性实施例中,汇总所述多个微服务对应的所述第二依赖关系和所述目标方法,得到所述多个微服务对应的第二调用关系链之后,所述方法还包括:确定所述第二调用关系链和所述第一调用关系链中的差异节点;将所述差异节点对应的差异信息发送至目标对象;接收所述目标对象对于所述差异信息的反馈结果;在所述反馈结果指示更新第一调用关系链的情况下,使用所述差异节点对应的第二调用关系链上的第二节点信息替换第一调用关系链上的第一节点信息,以得到更新后的第一调用关系链。
需要说明的是,每条调用关系链中有多个调用关系节点,不同的调用关系节点可以对应不同的数据库,数据库表,数据值等。将源码发生迭代变更后对应的新的调用关系链和历史源码对应的调用关系链进行对比。也就是将两个调用关系链上的调用关系节点进行对比,得到差异节点。把差异节点对应的差异信息发送给用户,用户基于差异信息可以确定是否要对差异节点进行替换,仅而得到更新的调用关系链。
在一个示例性实施例中,基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息之后,所述方法还包括:确定每一个微服务对应的调用接口;将所述调用接口与所述数据信息进行关联,并将对应的关联关系保存在所述第一调用关系链对应的节点中。
也就是说,通过将确定微服务与接口的对应关系,进而可以明确接口和数据信息关联关系,将关联关系存在调用关系链对应的节点中。
在一个示例性实施例中,基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息之后,所述方法还包括:在获取到目标对象的查询请求的情况下,确定查询请求对应的微服务并显示微服务对应的第一调用关系链;获取目标对象基于第一调用关系链发出的操作信息,其中,所述操作信息用于确定数据信息是否显示以及显示顺序。
也就是说,用户可以根据需求查询微服务对应的调用关系链,在基于调用关系链明确了调用关系后,可以通过反馈进而查看详细的数据信息。若用户发出反馈的时间过长(也就是大于预设时长),那么可存在网络延迟等可能,那么对应的数据信息的显示可能也存在问题。因此认为反馈是无效的。若用户发出反馈的时间小于等于预设时长,则用户的反馈是有效的。可以根据反馈进行显示。
作为一种可选的实施方式,获取目标对象基于第一调用关系链发出的操作信息之后,所述方法还包括:
确定所述操作信息从发出到执行的第一时长;在所述第一时长小于或等于预设时长的情况下,确定所述操作信息为有效信息,在所述第一时长大于预设时长的情况下,确定所述操作信息为无效信息。
为了更好的理解上述数据信息的确定方法的过程,以下再结合可选实施例对上述数据信息的确定的实现方法流程进行说明,但不用于限定本申请实施例的技术方案。
在本实施例中提供了一种数据信息的确定方法,图3是根据本申请可选实施例的数据信息的确定方法的时序图,如图3所示,具体如下步骤:
需要说明的是,Elasticsearch是一个基于Apache Lucene的开源搜索引擎,提供了一个分布式多用户能力的全文搜索引擎,下文简称为es;git是一种开源的分布式版本控制系统。
步骤S301:用户发出使git拉取工程源代码的命令;
步骤S302:利用依赖分析设备对工程二方库依赖关系解析,构建工程依赖关系;
步骤S303:将步骤S302得到的工程依赖关系存入es;
步骤S304:利用依赖分析设备对各个工程并行处理,得到直接连接数据库方法;
步骤S305:依赖分析设备将各个直连数据库方法节点写入es,父节点为工程名;
步骤S306:依赖分析设备递归处理引用直连数据库方法,直至最外层接口级别;
步骤S307:依赖分析设备将各个方法节点写入es,父节点为下层方法;
步骤S308:用户查询数据库调用依赖/接口调用依赖;
步骤S309:es将对应的数据库调用依赖/接口调用依赖返回至用户;
步骤S310:在上述步骤执行的情况下,还可以实时或定时抓取git提交信息,增加更改以来信息和各个方法的节点信息,修改增量更新的节点信息。
也就是说,基于工程源代码做静态分析,首先通过git获取所有工程的源代码,解析各个工程的二方库依赖信息(公司内部的,发布到中央仓库可供其他应用直接依赖/使用的依赖包),构建工程依赖关系作为根节点信息,将数据存入ElasticSearch,后续简称es。
其次,并行化处理各个工程直连数据库的方法,父节点为根节点的工程名,将数据存入es;最后递归的去处理方法调用链,将节点信息存入es,处理完毕后,es中就保留了完整的调用关系链,可通过es进行搜索查询.另外通过git可以实时或者定时更新es中调用关系链的信息,更新是通过git提交的代码变更局部更新节点信息写入es。进而达到自动的检测接口调用流程中调用的所有数据库表;避免了人工去梳理;此外,数据库被接口调用以及反过来的接口调用了哪些数据库非常直观展现,工程多且复杂的情况下依旧适用。进一步地,能够检测跨工程的调用,多工程之间的调用关系更加清晰。
综上,根据上述实施例,在触发设备满足设置条件的时候,可以有效避免因设备多次上报满足条件的状态而重复执行场景,减少资源浪费,达到用户设置场景预期,提高用户满意度。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
图4是根据本申请实施例的一种数据信息的确定装置的结构框图(一);如图4所示,包括:
获取模块42,用于获取多个微服务中每一个微服务对应的工程源码以及每一个微服务直接连接基础数据库的目标方法;其中,所述基础数据库包括:多个子数据库,每一个子数据库存储一种数据类型;
解析模块44,用于从所述工程源码中解析出所述多个微服务对应的第一依赖关系,其中,所述第一依赖关系用于指示微服务被其他服务直接调用的信息;
汇总模块46,用于汇总所述多个微服务对应的所述第一依赖关系和所述目标方法,得到所述多个微服务对应的第一调用关系链;
确定模块48,用于基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息。
通过上述装置,获取多个微服务中每一个微服务对应的工程源码以及每一个微服务直接连接基础数据库的目标方法;其中,所述基础数据库包括:多个子数据库,每一个子数据库存储一种数据类型;从所述工程源码中解析出所述多个微服务对应的第一依赖关系,其中,所述第一依赖关系用于指示微服务被其他服务直接调用的信息;汇总所述多个微服务对应的所述第一依赖关系和所述目标方法,得到所述多个微服务对应的第一调用关系链;基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息,解决了只能凭借人工梳理确定微服务在运行时调用的数据信息等问题。
在一个示例性实施例中,图5是根据本申请实施例的一种数据信息的确定装置的结构框图(二);如图5所示,除包括上述图4中的所有模块之外,上述装置还包括:更新模块52,用于在确定存在工程源码对应的历史记录的情况下,获取所述工程源码对应的更新周期;基于所述更新周期确定获取所述工程源码的目标时间点,并识别所述目标时间点获取的最新工程源码与所述历史记录中最近一次获取的历史工程源码的差异度;根据所述差异度确定是否在解析前对所述工程源码进行更新。
在一个示例性实施例中,更新模块52,还用于在所述差异度大于或者等于预设差异度的情况下,确定所述工程源码进行了迭代变更,禁止使用历史工程源码执行解析;在所述差异度小于预设差异度的情况下,确定所述工程源码未进行了迭代变更,允许使用历史工程源码执行解析。
在一个示例性实施例中,上述装置还包括:关系模块54,用于确定所述工程源码进行了迭代变更的情况下,获取迭代变更后的最新工程源码;从所述最新工程源码解析出所述多个微服务对应的第二依赖关系;汇总所述多个微服务对应的所述第二依赖关系和所述目标方法,得到所述多个微服务对应的第二调用关系链。
在一个示例性实施例中,关系模块54,还用于确定所述第二调用关系链和所述第一调用关系链中的差异节点;将所述差异节点对应的差异信息发送至目标对象;接收所述目标对象对于所述差异信息的反馈结果;在所述反馈结果指示更新第一调用关系链的情况下,使用所述差异节点对应的第二调用关系链上的第二节点信息替换第一调用关系链上的第一节点信息,以得到更新后的第一调用关系链。
在一个示例性实施例中,上述装置还包括:关联模块56,还用于确定每一个微服务对应的调用接口;将所述调用接口与所述数据信息进行关联,并将对应的关联关系保存在所述第一调用关系链对应的节点中。
在一个示例性实施例中,上述关联模块56,还用于在获取到目标对象的查询请求的情况下,确定查询请求对应的微服务并显示微服务对应的第一调用关系链;获取目标对象基于第一调用关系链发出的操作信息,其中,所述操作信息用于确定数据信息是否显示以及显示顺序。
本申请的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,获取多个微服务中每一个微服务对应的工程源码以及每一个微服务直接连接基础数据库的目标方法;其中,所述基础数据库包括:多个子数据库,每一个子数据库存储一种数据类型;
S2,从所述工程源码中解析出所述多个微服务对应的第一依赖关系,其中,所述第一依赖关系用于指示微服务被其他服务直接调用的信息;
S3,汇总所述多个微服务对应的所述第一依赖关系和所述目标方法,得到所述多个微服务对应的第一调用关系链;
S4,基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取多个微服务中每一个微服务对应的工程源码以及每一个微服务直接连接基础数据库的目标方法;其中,所述基础数据库包括:多个子数据库,每一个子数据库存储一种数据类型;
S2,从所述工程源码中解析出所述多个微服务对应的第一依赖关系,其中,所述第一依赖关系用于指示微服务被其他服务直接调用的信息;
S3,汇总所述多个微服务对应的所述第一依赖关系和所述目标方法,得到所述多个微服务对应的第一调用关系链;
S4,基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种数据信息的确定方法,其特征在于,包括:
获取多个微服务中每一个微服务对应的工程源码以及每一个微服务直接连接基础数据库的目标方法;其中,所述基础数据库包括:多个子数据库,每一个子数据库存储一种数据类型;
从所述工程源码中解析出所述多个微服务对应的第一依赖关系,其中,所述第一依赖关系用于指示微服务被其他服务直接调用的信息;
汇总所述多个微服务对应的所述第一依赖关系和所述目标方法,得到所述多个微服务对应的第一调用关系链;
基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息。
2.根据权利要求1所述的数据信息的确定方法,其特征在于,获取多个微服务中每一个微服务对应的工程源码之前,所述方法还包括:
在确定存在工程源码对应的历史记录的情况下,获取所述工程源码对应的更新周期;
基于所述更新周期确定获取所述工程源码的目标时间点,并识别所述目标时间点获取的最新工程源码与所述历史记录中最近一次获取的历史工程源码的差异度;
根据所述差异度确定是否在解析前对所述工程源码进行更新。
3.根据权利要求2所述的数据信息的确定方法,其特征在于,根据所述差异度确定是否在解析前对所述工程源码进行更新之后,所述方法还包括:
在所述差异度大于或者等于预设差异度的情况下,确定所述工程源码进行了迭代变更,禁止使用历史工程源码执行解析;
在所述差异度小于预设差异度的情况下,确定所述工程源码未进行了迭代变更,允许使用历史工程源码执行解析。
4.根据权利要求1所述的数据信息的确定方法,其特征在于,从所述工程源码中解析出所述多个微服务对应的第一依赖关系之后,所述方法还包括:
在确定所述工程源码进行了迭代变更的情况下,获取迭代变更后的最新工程源码;
从所述最新工程源码解析出所述多个微服务对应的第二依赖关系;
汇总所述多个微服务对应的所述第二依赖关系和所述目标方法,得到所述多个微服务对应的第二调用关系链。
5.根据权利要求4所述的数据信息的确定方法,其特征在于,汇总所述多个微服务对应的所述第二依赖关系和所述目标方法,得到所述多个微服务对应的第二调用关系链之后,所述方法还包括:
确定所述第二调用关系链和所述第一调用关系链中的差异节点;
将所述差异节点对应的差异信息发送至目标对象;
接收所述目标对象对于所述差异信息的反馈结果;
在所述反馈结果指示更新第一调用关系链的情况下,使用所述差异节点对应的第二调用关系链上的第二节点信息替换第一调用关系链上的第一节点信息,以得到更新后的第一调用关系链。
6.根据权利要求1所述的数据信息的确定方法,其特征在于,基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息之后,所述方法还包括:确定每一个微服务对应的调用接口;
将所述调用接口与所述数据信息进行关联,并将对应的关联关系保存在所述第一调用关系链对应的节点中。
7.根据权利要求1所述的数据信息的确定方法,其特征在于,基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息之后,所述方法还包括:在获取到目标对象的查询请求的情况下,确定查询请求对应的微服务并显示微服务对应的第一调用关系链;
获取目标对象基于第一调用关系链发出的操作信息,其中,所述操作信息用于确定数据信息是否显示以及显示顺序。
8.一种数据信息的确定装置,其特征在于,包括:
获取模块,用于获取多个微服务中每一个微服务对应的工程源码以及每一个微服务直接连接基础数据库的目标方法;其中,所述基础数据库包括:多个子数据库,每一个子数据库存储一种数据类型;
解析模块,用于从所述工程源码中解析出所述多个微服务对应的第一依赖关系,其中,所述第一依赖关系用于指示微服务被其他服务直接调用的信息;
汇总模块,用于汇总所述多个微服务对应的所述第一依赖关系和所述目标方法,得到所述多个微服务对应的第一调用关系链;
确定模块,用于基于所述第一调用关系链确定每一个微服务在运行时调用的数据信息。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310326230.6A CN116521767A (zh) | 2023-03-29 | 2023-03-29 | 数据信息的确定方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310326230.6A CN116521767A (zh) | 2023-03-29 | 2023-03-29 | 数据信息的确定方法和装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116521767A true CN116521767A (zh) | 2023-08-01 |
Family
ID=87394935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310326230.6A Pending CN116521767A (zh) | 2023-03-29 | 2023-03-29 | 数据信息的确定方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116521767A (zh) |
-
2023
- 2023-03-29 CN CN202310326230.6A patent/CN116521767A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160378822A1 (en) | Automated recommendation and creation of database index | |
CN114697150B (zh) | 命令的下发方法和装置、存储介质及电子装置 | |
CN114064439A (zh) | 微服务工作流运行时长预测方法、装置、设备以及介质 | |
CN116521767A (zh) | 数据信息的确定方法和装置、存储介质及电子装置 | |
CN114911535B (zh) | 应用程序组件配置方法、存储介质及电子装置 | |
CN116027937A (zh) | 待编辑组件的渲染方法和装置、存储介质及电子装置 | |
CN116225834A (zh) | 告警信息的发送方法、装置、存储介质及电子装置 | |
CN115390466A (zh) | 行为偏好表的生成方法和装置、存储介质及电子装置 | |
CN115858007A (zh) | 扩展组件的加载方法和装置、存储介质及电子装置 | |
CN114864047A (zh) | 食谱推荐方法、存储介质及电子装置 | |
CN112035102A (zh) | 数据接口的配置方法及装置、存储介质、电子装置 | |
CN117573320A (zh) | 任务节点的执行方法、装置、存储介质及电子装置 | |
CN116450229A (zh) | 应用软件的预启动方法、装置、存储介质及电子装置 | |
CN116723232A (zh) | 消息推送方法及装置、存储介质及电子装置 | |
CN114938365B (zh) | 功能模块的更新方法、装置、存储介质及电子装置 | |
CN116541012A (zh) | 基础参数的修改方法及装置、存储介质及电子装置 | |
CN115981715A (zh) | 应用的构建方法及装置、存储介质及电子装置 | |
CN116540979A (zh) | 待测试信息的生成方法和装置、存储介质及电子装置 | |
CN116541377B (zh) | 任务的物化视图的处理方法、系统和电子设备 | |
CN117749548A (zh) | 交互业务的发起控制方法和装置、存储介质及电子装置 | |
CN116756480A (zh) | 数据统计方法和装置、存储介质及电子装置 | |
CN116521157A (zh) | 项目集成方法和装置、存储介质及电子装置 | |
CN117743116A (zh) | 概率确定方法及装置、存储介质及电子装置 | |
Popescu et al. | Towards predicting the runtime of iterative analytics with predict | |
CN116467176A (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 |