CN116775171B - 一种架构切换方法、装置、电子设备及存储介质 - Google Patents

一种架构切换方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116775171B
CN116775171B CN202311075684.7A CN202311075684A CN116775171B CN 116775171 B CN116775171 B CN 116775171B CN 202311075684 A CN202311075684 A CN 202311075684A CN 116775171 B CN116775171 B CN 116775171B
Authority
CN
China
Prior art keywords
architecture
target
initial
information
level
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.)
Active
Application number
CN202311075684.7A
Other languages
English (en)
Other versions
CN116775171A (zh
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.)
Taiping Pension Insurance Co ltd
Taiping Financial Technology Services Shanghai Co Ltd Shenzhen Branch
Original Assignee
Taiping Pension Insurance Co ltd
Taiping Financial Technology Services Shanghai Co Ltd Shenzhen Branch
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 Taiping Pension Insurance Co ltd, Taiping Financial Technology Services Shanghai Co Ltd Shenzhen Branch filed Critical Taiping Pension Insurance Co ltd
Priority to CN202311075684.7A priority Critical patent/CN116775171B/zh
Publication of CN116775171A publication Critical patent/CN116775171A/zh
Application granted granted Critical
Publication of CN116775171B publication Critical patent/CN116775171B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种架构切换方法、装置、电子设备及存储介质。该方法包括:获取初始架构的初始架构信息以及目标架构的目标架构信息;其中,初始架构包括单体架构,目标架构包括微服务架构;初始架构信息包括初始架构层级信息,目标架构信息包括目标架构层级信息;通过初始架构信息和目标架构信息中的至少一种确定初始架构的架构更改方式;根据架构更改方式确定当前架构,并根据架构发布方式,将初始架构切换为当前架构。通过运行本发明实施例所提供的技术方案,可以解决若通过停止系统运行切换架构,可能导致相应损失;若在系统运行过程中直接将架构进行整体切换,可能导致产生大量错误引起切换失败的问题,实现架构更改的灵活性。

Description

一种架构切换方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术,尤其涉及一种架构切换方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的进步和业务发展等的需要,需要将原先存在代码不规范、层次结构较乱、框架较老等问题的旧架构更新为新架构。
若通过停止系统运行切换架构,可能导致相应损失;若在系统运行过程中直接将架构进行整体切换,可能导致产生大量错误引起切换失败。
发明内容
本发明提供一种架构切换方法、装置、电子设备及存储介质,以实现提高架构切换的成功率和灵活性。
根据本发明的一方面,提供了一种架构切换方法,该方法包括:
获取初始架构的初始架构信息以及目标架构的目标架构信息;其中,初始架构包括单体架构,所述目标架构包括微服务架构;所述初始架构信息包括初始架构层级信息,所述目标架构信息包括目标架构层级信息;
通过所述初始架构信息和所述目标架构信息中的至少一种确定所述初始架构的架构更改方式;
根据所述架构更改方式确定当前架构,并根据架构发布方式,将所述初始架构切换为所述当前架构。
根据本发明的另一方面,提供了一种架构切换装置,该装置包括:
架构信息获取模块,用于获取初始架构的初始架构信息以及目标架构的目标架构信息;其中,初始架构包括单体架构,所述目标架构包括微服务架构;所述初始架构信息包括初始架构层级信息,所述目标架构信息包括目标架构层级信息;
架构更改方式确定模块,用于通过所述初始架构信息和所述目标架构信息中的至少一种确定所述初始架构的架构更改方式;
架构切换模块,用于根据所述架构更改方式确定当前架构,并根据架构发布方式,将所述初始架构切换为所述当前架构。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的架构切换方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的架构切换方法。
本实施例所提供的技术方案,通过获取初始架构的初始架构信息以及目标架构的目标架构信息;其中,初始架构包括单体架构,目标架构包括微服务架构;初始架构信息包括初始架构层级信息,目标架构信息包括目标架构层级信息; 通过初始架构信息和目标架构信息中的至少一种确定初始架构的架构更改方式;从而将初始架构的架构层级适应性更改为目标架构的架构层级,解决初始架构存在的代码不规范、层次结构较乱、重复代码较多的问题。
根据初始架构信息和目标架构信息中的至少一种确定初始架构的架构更改方式,可以为根据初始架构信息确定架构更改方式,对初始架构进行改进;还可以为若初始架构信息与目标架构信息存在相同部分,且相同部分存在差异,则可根据初始架构信息和目标架构信息存在差异的部分确定架构更改方式,以将初始架构的该部分更改为目标架构的该部分,提高架构更改的灵活性。
根据架构更改方式确定当前架构,以将初始架构更改为当前架构,根据架构发布方式将初始架构切换为当前架构,使得更改后的初始架构进行实际应用,提高架构更改的有效性。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
图1为本发明实施例一提供的一种架构切换方法的流程图;
图2为本发明实施例二提供的一种架构切换方法的流程图;
图3为本发明实施例三提供的一种架构切换装置的结构示意图;
图4为用来实施本发明实施例的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供的一种架构切换方法的流程图,本实施例可适用于由初始架构切换为目标架构的情况,该方法可以由本发明实施例所提供的架构切换装置来执行,该装置可以由软件和/或硬件的方式实现。参见图1,本实施例提供的架构切换方法,包括:
步骤S110、获取初始架构的初始架构信息以及目标架构的目标架构信息;其中,初始架构包括单体架构,目标架构包括微服务架构;初始架构信息包括初始架构层级信息,目标架构信息包括目标架构层级信息;初始架构信息包括初始架构层级信息;目标架构信息包括目标架构层级信息。
其中,初始架构为待切换的架构,架构为系统架构,可以为当前应用的架构;目标架构为初始架构需要切换至的架构,可以为克服初始架构缺点的架构,也可以为由于业务需求等原因需要应用的与初始架构不同的新架构,本实施例对此不进行限制。
初始架构信息为初始架构包含的信息,可以为初始架构的结构信息、规则信息、项目信息等。目标架构信息为目标架构包含的信息,可以为目标架构的结构信息、规则信息、项目信息等。
初始架构包括单体架构,目标架构包括微服务架构,其中,单体架构为通过一个应用将所有功能都部署在一起的架构;微服务架构可为将业务功能拆分为多个相互独立的微服务,不同服务间松耦合,通过远程协议进行同步或异步通信的架构;微服务架构中的各服务均可被单独部署、扩/缩容以及升/降级。
初始架构信息包括初始架构层级信息,初始架构层级信息为初始架构与层级相关的信息,例如初始架构包含服务连接器Servlet层与实体Bean层。
目标架构信息包括目标架构层级信息,目标架构层级信息为目标架构与层级相关的信息,例如目标架构包含控制Controller层、通用业务处理Manager层、业务逻辑Service层、数据持久DAO层等。
步骤S120、通过初始架构信息和目标架构信息中的至少一种确定初始架构的架构更改方式。
通过初始架构信息和目标架构信息中的至少一种确定初始架构的架构更改方式,可以为若初始架构信息与目标架构信息存在相同部分,且相同部分存在差异,则可根据初始架构信息和目标架构信息存在差异的部分确定架构更改方式。
架构更改方式可以为将初始架构中存在差异的部分全部更改为目标架构相应的部分。示例性的,若初始架构层级信息与目标架构层级信息存在差异,则将初始架构的层级全部更改为目标架构的层级,例如将Servlet层更改为Controller层,将Bean层更改为Manager层、Service层与DAO层。
可选的,初始架构信息包括初始服务信息,目标架构信息包括目标服务信息,架构更改方式可以根据初始服务信息和目标服务信息共同确定,例如初始架构为单体架构,目标架构为微服务架构时,对单体架构时的项目通过领域模型进行微服务拆分细化,未进行服务化拆分,避免多个业务模块混合导致难以管理。拆分部分以微服务形式运行,未拆分部分以原有项目形式运行,避免影响系统运行;可以将拆分后的项目立即进行删除,也可以在拆分后的微服务应用无差错时进行删除,使得拆分失败时可进行回滚,避免拆分失败影响系统运行。
还可以根据初始架构信息,对初始架构进行改进。
可选的,初始架构信息包括初始依赖信息,架构更改方式可以根据初始依赖信息确定。例如若初始依赖包信息为所有依赖均在对应的项目中,且依赖之间冲突比较大,升级和管理难度较大,其中,依赖为在Java开发过程中引入的各种jar包和第三方库;则架构更改方式可以为借助Maven依赖管理工具,对依赖进行集中管理和引入,例如引入springcloud、spring boot、mybatis、apollo、xxljob等依赖供后续使用,每个项目在用到依赖时可从Maven中统一获取,避免全部配置内容均在都在项目内,且所有人可见、可改,导致安全不高的问题,并且在某个依赖发生改变时,仅需Maven中进行修改,无需在每个包含该依赖的项目中对应修改,从而提高依赖修改和获取的灵活性。
可选的,初始架构信息包括初始构造信息,架构更改方式可以根据初始构造信息确定,由于在单体架构中通常将属性配置和代码硬编码放在一起,然而在微服务架构中由于存在多个服务实例,需分别管理每个具体服务工程中的配置,上线需要准备核对表并逐个检查每个上线服务是否正确,在系统上线之后一旦修改了某个配置可能需要重启服务,因此可以通过搭建中间件平台,将项目配置信息以及跑批任务等公用信息迁移至中间件平台统一进行配置管理,提高信息管理的有效性,以及信息获取的灵活性和效率。
本实施例中,可选的,初始架构信息包括初始事务规则,目标架构信息包括目标事务规则;
通过初始架构信息和目标架构信息中的至少一种确定初始架构的架构更改方式,包括:
根据第二预设JAVA类对象,确定事务规则更换方式;
确定架构更改方式为根据事务规则更换方式将初始事务规则更换为目标事务规则。
其中,初始事务规则为初始架构中事务执行的规则,例如为事务启动、提交、回滚的具体流程,通常采用JAVA事务API进行事务管理;目标事务规则为目标架构中事务执行的规则,例如为事务启动、提交、回滚的具体流程,通常采用Spring进行事务管理。初始事务规则可能与目标事务规则不同,例如初始事务规则中事务启动通过对象A,目标事务规则中事务启动通过对象B等。
第二预设JAVA类对象为预先封装的JAVA类对象,例如为NGpUserTransactionImpl,通过读取第二预设JAVA类对象可以确定事务规则更换方式,例如为将初始事务规则转换为目标事务规则的方式,从而继承目标架构中管理事务的规则,使得代码根据目标事务规则运行,无需改动大量代码,避免影响业务运行,提高架构更改的过程中事务执行的成功率以及架构更改的效率。
步骤S130、根据架构更改方式确定当前架构,并根据架构发布方式,将初始架构切换为当前架构。
当前架构为通过架构更改方式,将初始架构更改后得到的架构,可以为完整的目标架构、也可以为由初始架构更改至目标架构的过程中得到的架构,也可以为目标架构的基础上进行改进的新架构,本实施例对此不进行限制。
通过架构发布方式将当前架构发布至使用该架构的用户,从而使得用户应用的架构由初始架构切换为当前架构。其中,架构发布方式可以为发布至指定用户,后扩展到全部用户,本实施例对此不进行限制。
本实施例中,可选的,根据架构更改方式确定当前架构,并根据架构发布方式,将初始架构切换为当前架构,包括:
根据架构更改方式,将初始架构更改为当前架构;
根据预设注册配置中心的动态刷新功能,确定目标发布用户;
将目标发布用户的系统架构切换为当前架构。
其中,预设注册配置中心可以为Nacos,包含注册中心和配置中心的功能,目标发布用户为需要发布的用户,预设注册配置中心的动态刷新功能,可以将发布方案根据调整实时更换,例如原本需要将当前架构发布至百分之十的目标发布用户,现在需要发布至百分之二十的目标发布用户,则将相关配置由百分之十调整至百分之二十后通过动态刷新功能将当前架构发布至百分之二十的目标发布用户,使得该部分用户的应用的架构切换为当前架构,无需重启服务器,提高发布的效率。
可以通过限制IP的方式,确定目标发布用户,并且不同的应用可以对应不同的目标发布用户方案,示例性的,若需要发布应用1的架构,则可确定IP范围1的用户为目标发布用户,若需要发布应用2的架构,则可确定IP范围2的用户为目标发布用户,并且可以通过动态刷新功能实时调整IP范围,提高发布的灵活性。
发布方式可以为使得一部分用户继续使用初始架构,一部分用户应用当前架构,若用户对当前架构存在的反对意见比例小于预设阈值,则逐步扩大当前架构的应用范围,最终将用户的系统架构都切换为当前架构,在不影响系统运行的前提下,使得用户无感知架构切换。如果用户对当前架构存在的反对意见比例大于等于预设阈值就重新使用初始架构,从而保证系统整体的稳定,在及时发现、调整架构更改时的问题,提高架构更改的有效性。
本实施例所提供的技术方案,通过获取初始架构的初始架构信息以及目标架构的目标架构信息;其中,初始架构包括单体架构,目标架构包括微服务架构;初始架构信息包括初始架构层级信息,目标架构信息包括目标架构层级信息; 通过初始架构信息和目标架构信息中的至少一种确定初始架构的架构更改方式;从而将初始架构的架构层级适应性更改为目标架构的架构层级,解决初始架构存在的代码不规范、层次结构较乱、重复代码较多的问题。
根据初始架构信息和目标架构信息中的至少一种确定初始架构的架构更改方式,可以为根据初始架构信息确定架构更改方式,对初始架构进行改进;还可以为若初始架构信息与目标架构信息存在相同部分,且相同部分存在差异,则可根据初始架构信息和目标架构信息存在差异的部分确定架构更改方式,以将初始架构的该部分更改为目标架构的该部分,提高架构更改的灵活性。
根据架构更改方式确定当前架构,以将初始架构更改为当前架构,根据架构发布方式将初始架构切换为当前架构,使得更改后的初始架构进行实际应用,提高架构更改的有效性。
实施例二
图2为本发明实施例二提供的一种架构切换方法的流程图,本技术方案是针对通过初始架构信息和目标架构信息中的至少一种确定初始架构的架构更改方式的过程进行补充说明的。与上述方案相比,本方案具体优化为,通过初始架构信息和目标架构信息中的至少一种确定初始架构的架构更改方式,包括:
根据初始架构层级信息确定初始架构中的初始第一层级,根据目标架构层级信息确定目标架构中的目标第一层级;其中,初始第一层级包括服务连接器层,目标第一层级包括控制层;
确定架构更改方式包括根据目标第一层级将初始第一层级更改为当前第一层级;
确定架构更改方式包括将当前第一层级的第一部分以及初始架构中的初始第二层级,更改为目标架构中的目标第二层级、目标第三层级和目标第四层级,并将当前第一层级的第二部分更改为目标第一层级;其中,初始第二层级包括实体层、目标第二层级包括通用业务处理层、目标第三层级包括业务逻辑层、目标第四层级包括数据持久层。具体的,架构切换方法的流程图如图2所示:
步骤S210、获取初始架构的初始架构信息以及目标架构的目标架构信息;其中,初始架构包括单体架构,目标架构包括微服务架构;初始架构信息包括初始架构层级信息,目标架构信息包括目标架构层级信息。
步骤S220、根据初始架构层级信息确定初始架构中的初始第一层级,根据目标架构层级信息确定目标架构中的目标第一层级;其中,初始第一层级包括服务连接器层,目标第一层级包括控制层。
其中,初始第一层级为初始架构中首先进行更改的层级,目标第一层级为需要将初始第一层级更改至的层级。初始第一层级包括服务连接器层,目标第一层级包括控制层。
步骤S230、确定架构更改方式包括根据目标第一层级将初始第一层级更改为当前第一层级。
确定架构更改方式包括根据目标第一层级将初始第一层级更改为当前第一层级,其中当前第一层级为初始第一层级在更改为目标第一层级的过程中的层级,可以为不更改初始第一层级包括的地址入口,使得当前第一层级兼容原jsp页面模式,更改该地址入口指向的部分或全部结果,并且当前第一层及还可以包含其它目标架构层级所需获取的内容。
步骤S240、确定架构更改方式包括将当前第一层级的第一部分以及初始架构中的初始第二层级,更改为目标架构中的目标第二层级、目标第三层级和目标第四层级,并将当前第一层级的第二部分更改为目标第一层级;其中,初始第二层级包括实体层、目标第二层级包括通用业务处理层、目标第三层级包括业务逻辑层、目标第四层级包括数据持久层。
其中,当前第一层级的第一部分为与目标第二层级、目标第三层级和目标第四层级相关的部分,将当前第一层级的第一部分以及初始架构中的初始第二层级,拆分为目标架构中的目标第二层级、目标第三层级和目标第四层级,示例性的,将当前第一层级层中与Manager层、Service层与DAO层相关的部分以及Bean层拆分为Manager层、Service层与DAO层。
当前第一层级的第二部分与目标第二层级相关的部分,即将当前第一层级的第二部分更改为目标第一层级,示例性的,将当前第一层级层中仅与Controller层相关的部分更改为Controller层。
本实施例中,可选的,在将当前第一层级的第一部分以及初始架构中的初始第二层级,更改为目标架构中的目标第二层级、目标第三层级和目标第四层级的过程中,还包括:
通过读取JAVA启动类中的预设注解,加载第一预设JAVA类对象,以获取枚举配置信息;
根据枚举配置信息生成消息队列信息,并根据消息队列信息执行消息队列创建操作;其中,消息队列信息包括队列信息、交换机信息和绑定信息中的至少一种。
在层级更改的过程中,还保留部分Bean层信息,可以将初始架构的通信方式进行更改,例如将多线程模式更改为消息队列(Message Queue,MQ)模式,即通过MQ进行跨进程、异步的通信,以使上下游传递消息。
JAVA启动类中的预设注解可以为Spring框架本身自带@Import注解,例如为@EnableMQTask,该注解预先添加在JAVA启动类中,通过读取JAVA启动类中的预设注解,可在系统启动时自动加载预先封装好的第一预设JAVA类对象, 例如为DeFaultTaskQueueDefImportBeanRegistrarImpl,通过加载第一预设JAVA类对象获取包含的枚举配置信息,其中枚举配置信息预先设定。
根据枚举配置信息可自动生成消息队列信息,并执行消息队列创建操作;其中,执行消息队列创建操作可以为根据当前场景创建消息队列、创建消息交换机、将消息队列与消息交换机进行绑定等操作。
消息队列信息包括队列信息、交换机信息和绑定信息中的至少一种,其中,队列信息用于创建消息队列,交换机信息用于创建消息交换机、绑定信息用于将消息队列与交换机进行绑定。
通过读取JAVA启动类中的预设注解,加载第一预设JAVA类对象,以获取枚举配置信息,将生成消息队列信息的方式定义在枚举配置信息中,若生成方式发生改变,仅需要修改枚举配置信息,提高了消息队列信息生成与更改的效率;并且通过枚举配置信息生成消息队列信息,并根据消息队列信息执行消息队列创建操作,自动实现创建消息队列、创建消息交换机、将消息队列与消息交换机进行绑定等操作,无需人工完成,降低了人工的理解成本和开发成本,提高了消息传递的效率。
本实施例中,可选的,在将当前第一层级的第一部分以及初始架构中的初始第二层级,更改为目标架构中的目标第二层级、目标第三层级和目标第四层级的过程中,还包括:
通过JavaBean类名称查询并调用与插件关联的JavaBean类;其中,JavaBean类名称与JavaBean类的位置信息关联;
若查询失败,则获取JavaBean类的类路径,并根据类路径查询调用JavaBean类。
其中,JavaBean类可以通过预设表与插件关联,例如在预设表中配置与插件相关的具体实现类,在系统应用插件时通过预设表确定需要调用的具体实现类,并进行查询和调用。
在层级更改的过程中,在微服务框架下且所有类均为Spring Bean管理的情况下,若需要查询JavaBean类,可通过预设表中的预设字段获取JavaBean类名称,通过JavaBean类名称查询并调用与插件关联的JavaBean类。其中,JavaBean类名称与JavaBean类的位置信息关联;JavaBean类的位置信息可以为路径,也可以为其它表明JavaBean类位置的信息。
若通过JavaBean类名称无法查询JavaBean类,例如JavaBean类名称与JavaBean类的位置信息关联错误或JavaBean类名称不存在等,则获取JavaBean类的类路径,并根据类路径查询调用JavaBean类,其中,类路径为可查询JavaBean类的路径。
通过JavaBean类名称查询并调用与插件关联的JavaBean类,适应目标架构的管理方式,并且通过将JavaBean类名称与JavaBean类的位置信息关联,在JavaBean类的位置变化时,仅需更新关联JavaBean类名称对应的位置信息,提高信息更新效率。并且在通过JavaBean类名称查询失败时,获取JavaBean类的类路径,并根据类路径查询调用JavaBean类,保留了初始架构中查询JavaBean类的方式,保证架构切换过程中的兼容性,提高JavaBean类查询的成功率。
步骤S250、根据架构更改方式确定当前架构,并根据架构发布方式,将初始架构切换为当前架构。
本实施例中,可选的,还包括:
引入预设工具,获取目标浏览器的浏览器类型,并根据浏览器类型确定对应的第三预设JAVA类对象的对象类型;其中,对象类型包括原始对象类型和当前对象类型;
若对象类型为原始对象类型,则将第三预设JAVA类对象的对象名称更换为当前对象类型的对象名称。
其中,预设工具用于通过对异步JavaScript和XML(Asynchronous JavascriptAnd XML And HTML,Ajax)的重新构建,智能化识别各浏览器对第三预设JAVA类对象的支持。
目标浏览器可以为需要切换架构的系统的前端应用的浏览器,可通过在前端页面,全局通用JavaScript中引入预设工具,从而根据浏览器类型确定对应的第三预设JAVA类对象的对象类型;其中,浏览器类型为浏览器的具体类型以及版本,例如IE浏览器、火狐浏览器等。对象类型包括原始对象类型和当前对象类型;其中,第三预设JAVA类对象的原始对象类型可以为ActiveXObject,当前对象类型可以为XMLHttpRequest。
根据浏览器类型确定对应的第三预设JAVA类对象的对象类型,可以为若浏览器类型为IE浏览器的8.0版本及以下,则确定第三预设JAVA类对象为原始对象类型;若浏览器类型为IE浏览器的8.0版本以上,以及其它浏览器,则确定第三预设JAVA类对象为当前对象类型。
若对象类型为原始对象类型,则将第三预设JAVA类对象的对象名称更换为当前对象类型的对象名称,便于浏览器使用第三预设JAVA类对象。示例性的,若对象类型为ActiveXObject,则将第三预设JAVA类对象的涉及到的关于ActiveXObject的名称均替换为XMLHttpRequest。
由于当前Ajax 全面使用XMLHttpRequest,若存在仅支持ActiveXObject的浏览器,则可能在浏览器解析时被判定为浏览器不支持,无法对该浏览器进行后续操作,因此判断浏览器应用原始对象类型的第三预设JAVA类对象时,由于浏览器的解析方式难以更改,可将对象名称更换为当前对象类型的对象名称,避免浏览器解析失败。在架构更改过程中实现使得浏览器保持对原始对象类型和当前对象类型的第三预设JAVA类对象的双向支持,并且实现代码的最小改动,提高架构更改的效率和有效性。
本发明实施例通过首先根据目标第一层级将初始第一层级更改为当前第一层级,在保持初始第一层级中部分信息的情况下,将初始第一层级向目标第一层级进行部分更改,使得当前第一层级兼容初始架构和目标架构的信息获取方式。便于后续根据实际需要逐渐将当前第一层级的第一部分以及初始架构中的初始第二层级,更改为目标架构中的目标第二层级、目标第三层级和目标第四层级,以及将当前第一层级的第二部分更改为目标第一层级,无需一次性进行更改,降低对系统的影响,减少架构更改错误成本,提高架构更改的成功率和平稳性。
实施例三
图3为本发明实施例三提供的一种架构切换装置的结构示意图。该装置可以由硬件和/或软件的方式来实现,可执行本发明任意实施例所提供的一种架构切换方法,具备执行方法相应的功能模块和有益效果。如图3所示,该装置包括:
架构信息获取模块310,用于获取初始架构的初始架构信息以及目标架构的目标架构信息;其中,初始架构包括单体架构,所述目标架构包括微服务架构;所述初始架构信息包括初始架构层级信息,所述目标架构信息包括目标架构层级信息;
架构更改方式确定模块320,用于通过所述初始架构信息和所述目标架构信息中的至少一种确定所述初始架构的架构更改方式;
架构切换模块330,用于根据所述架构更改方式确定当前架构,并根据架构发布方式,将所述初始架构切换为所述当前架构。
在上述各技术方案的基础上,可选的,所述架构更改方式确定模块,包括:
目标第一层级确定单元,用于根据所述初始架构层级信息确定所述初始架构中的初始第一层级,根据所述目标架构层级信息确定所述目标架构中的目标第一层级;其中,所述初始第一层级包括服务连接器层,所述目标第一层级包括控制层;
第一架构更改方式确定单元,用于确定所述架构更改方式包括根据所述目标第一层级将所述初始第一层级更改为当前第一层级;
第二架构更改方式确定单元,用于确定所述架构更改方式包括将所述当前第一层级的第一部分以及所述初始架构中的初始第二层级,更改为所述目标架构中的目标第二层级、目标第三层级和目标第四层级,并将所述当前第一层级的第二部分更改为所述目标第一层级;其中,所述初始第二层级包括实体层、所述目标第二层级包括通用业务处理层、所述目标第三层级包括业务逻辑层、所述目标第四层级包括数据持久层。
在上述各技术方案的基础上,可选的,所述装置还包括:
枚举配置信息获取单元,用于在将所述当前第一层级的第一部分以及所述初始架构中的初始第二层级,更改为所述目标架构中的目标第二层级、目标第三层级和目标第四层级的过程中,通过读取JAVA启动类中的预设注解,加载第一预设JAVA类对象,以获取枚举配置信息;
创建操作执行单元,用于根据所述枚举配置信息生成消息队列信息,并根据所述消息队列信息执行消息队列创建操作;其中,所述消息队列信息包括队列信息、交换机信息和绑定信息中的至少一种。
在上述各技术方案的基础上,可选的,所述装置还包括:
第一类查询调用单元,在将所述当前第一层级的第一部分以及所述初始架构中的初始第二层级,更改为所述目标架构中的目标第二层级、目标第三层级和目标第四层级的过程中,通过JavaBean类名称查询并调用与插件关联的JavaBean类;其中,所述JavaBean类名称与JavaBean类的位置信息关联;
第二类查询调用单元,用于若所述类查询调用单元查询失败,则获取JavaBean类的类路径,并根据所述类路径查询调用所述JavaBean类。
在上述各技术方案的基础上,可选的,所述初始架构信息包括初始事务规则,所述目标架构信息包括目标事务规则;
所述架构更改方式确定模块,包括:
规则更换方式确定单元,用于根据第二预设JAVA类对象,确定事务规则更换方式;
第三架构更改方式确定单元,用于确定所述架构更改方式为根据所述事务规则更换方式将所述初始事务规则更换为所述目标事务规则。
在上述各技术方案的基础上,可选的,所述装置还包括:
对象类型确定模块,用于引入预设工具,获取目标浏览器的浏览器类型,并根据浏览器类型确定对应的第三预设JAVA类对象的对象类型;其中,所述对象类型包括原始对象类型和当前对象类型;
对象名称更换模块,用于若所述对象类型为原始对象类型,则将所述第三预设JAVA类对象的对象名称更换为所述当前对象类型的对象名称。
在上述各技术方案的基础上,可选的,所述架构切换模块,包括:
架构更改单元,用于根据所述架构更改方式,将所述初始架构更改为所述当前架构;
用户确定单元,用于根据预设注册配置中心的动态刷新功能,确定目标发布用户;
架构切换单元,用于将所述目标发布用户的系统架构切换为所述当前架构。
实施例四
图4示出了可以用来实施本发明实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图4所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如架构切换方法。
在一些实施例中,架构切换方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的架构切换方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行架构切换方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (9)

1.一种架构切换方法,其特征在于,包括:
获取初始架构的初始架构信息以及目标架构的目标架构信息;其中,初始架构包括单体架构,所述目标架构包括微服务架构;所述初始架构信息包括初始架构层级信息,所述目标架构信息包括目标架构层级信息;
通过所述初始架构信息和所述目标架构信息中的至少一种确定所述初始架构的架构更改方式;
根据所述架构更改方式确定当前架构,并根据架构发布方式,将所述初始架构切换为所述当前架构;
所述通过所述初始架构信息和所述目标架构信息中的至少一种确定所述初始架构的架构更改方式,包括:
根据所述初始架构层级信息确定所述初始架构中的初始第一层级,根据所述目标架构层级信息确定所述目标架构中的目标第一层级;其中,所述初始第一层级包括服务连接器层,所述目标第一层级包括控制层;
确定所述架构更改方式包括根据所述目标第一层级将所述初始第一层级更改为当前第一层级;
确定所述架构更改方式包括将所述当前第一层级的第一部分以及所述初始架构中的初始第二层级,更改为所述目标架构中的目标第二层级、目标第三层级和目标第四层级,并将所述当前第一层级的第二部分更改为所述目标第一层级;其中,所述初始第二层级包括实体层、所述目标第二层级包括通用业务处理层、所述目标第三层级包括业务逻辑层、所述目标第四层级包括数据持久层;
所述初始架构信息包括初始依赖信息,所述架构更改方式根据初始依赖信息确定,其中,依赖为在Java开发过程中引入的jar包和第三方库;所述架构更改方式为借助Maven依赖管理工具,对依赖进行集中管理和引入。
2.根据权利要求1所述的方法,其特征在于,在将所述当前第一层级的第一部分以及所述初始架构中的初始第二层级,更改为所述目标架构中的目标第二层级、目标第三层级和目标第四层级的过程中,还包括:
通过读取JAVA启动类中的预设注解,加载第一预设JAVA类对象,以获取枚举配置信息;
根据所述枚举配置信息生成消息队列信息,并根据所述消息队列信息执行消息队列创建操作;其中,所述消息队列信息包括队列信息、交换机信息和绑定信息中的至少一种。
3.根据权利要求1所述的方法,其特征在于,在将所述当前第一层级的第一部分以及所述初始架构中的初始第二层级,更改为所述目标架构中的目标第二层级、目标第三层级和目标第四层级的过程中,还包括:
通过JavaBean类名称查询并调用与插件关联的JavaBean类;其中,所述JavaBean类名称与JavaBean类的位置信息关联;
若查询失败,则获取JavaBean类的类路径,并根据所述类路径查询调用所述JavaBean类。
4.根据权利要求1所述的方法,其特征在于,所述初始架构信息包括初始事务规则,所述目标架构信息包括目标事务规则;
通过所述初始架构信息和所述目标架构信息中的至少一种确定所述初始架构的架构更改方式,包括:
根据第二预设JAVA类对象,确定事务规则更换方式;
确定所述架构更改方式为根据所述事务规则更换方式将所述初始事务规则更换为所述目标事务规则。
5.根据权利要求1所述的方法,其特征在于,还包括:
引入预设工具,获取目标浏览器的浏览器类型,并根据浏览器类型确定对应的第三预设JAVA类对象的对象类型;其中,所述对象类型包括原始对象类型和当前对象类型;
若所述对象类型为原始对象类型,则将所述第三预设JAVA类对象的对象名称更换为所述当前对象类型的对象名称。
6.根据权利要求1所述的方法,其特征在于,根据所述架构更改方式确定当前架构,并根据架构发布方式,将所述初始架构切换为所述当前架构,包括:
根据所述架构更改方式,将所述初始架构更改为所述当前架构;
根据预设注册配置中心的动态刷新功能,确定目标发布用户;
将所述目标发布用户的系统架构切换为所述当前架构。
7.一种架构切换装置,其特征在于,包括:
架构信息获取模块,用于获取初始架构的初始架构信息以及目标架构的目标架构信息;其中,初始架构包括单体架构,所述目标架构包括微服务架构;所述初始架构信息包括初始架构层级信息,所述目标架构信息包括目标架构层级信息;
架构更改方式确定模块,用于通过所述初始架构信息和所述目标架构信息中的至少一种确定所述初始架构的架构更改方式;
架构切换模块,用于根据所述架构更改方式确定当前架构,并根据架构发布方式,将所述初始架构切换为所述当前架构;
所述架构更改方式确定模块,包括:
目标第一层级确定单元,用于根据所述初始架构层级信息确定所述初始架构中的初始第一层级,根据所述目标架构层级信息确定所述目标架构中的目标第一层级;其中,所述初始第一层级包括服务连接器层,所述目标第一层级包括控制层;
第一架构更改方式确定单元,用于确定所述架构更改方式包括根据所述目标第一层级将所述初始第一层级更改为当前第一层级;
第二架构更改方式确定单元,用于确定所述架构更改方式包括将所述当前第一层级的第一部分以及所述初始架构中的初始第二层级,更改为所述目标架构中的目标第二层级、目标第三层级和目标第四层级,并将所述当前第一层级的第二部分更改为所述目标第一层级;其中,所述初始第二层级包括实体层、所述目标第二层级包括通用业务处理层、所述目标第三层级包括业务逻辑层、所述目标第四层级包括数据持久层;
所述初始架构信息包括初始依赖信息,所述架构更改方式根据初始依赖信息确定,其中,依赖为在Java开发过程中引入的jar包和第三方库;所述架构更改方式为借助Maven依赖管理工具,对依赖进行集中管理和引入。
8.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的架构切换方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-6中任一项所述的架构切换方法。
CN202311075684.7A 2023-08-25 2023-08-25 一种架构切换方法、装置、电子设备及存储介质 Active CN116775171B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311075684.7A CN116775171B (zh) 2023-08-25 2023-08-25 一种架构切换方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311075684.7A CN116775171B (zh) 2023-08-25 2023-08-25 一种架构切换方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116775171A CN116775171A (zh) 2023-09-19
CN116775171B true CN116775171B (zh) 2023-12-05

Family

ID=88013768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311075684.7A Active CN116775171B (zh) 2023-08-25 2023-08-25 一种架构切换方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116775171B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112491948A (zh) * 2020-10-12 2021-03-12 大家信科有限责任公司 非侵入式的单体应用微服务化方法、装置及计算机设备
CN114968225A (zh) * 2022-03-30 2022-08-30 中国人寿保险股份有限公司 微服务统一构建方法、环境生成方法及相关设备
CN115145722A (zh) * 2022-06-01 2022-10-04 延锋伟世通电子科技(上海)有限公司 切换微服务架构和单体架构的系统及方法
CN115185495A (zh) * 2022-07-18 2022-10-14 交叉信息核心技术研究院(西安)有限公司 单体应用微服务拆分方法、系统、设备及存储介质
CN115190019A (zh) * 2022-07-04 2022-10-14 四川虹美智能科技有限公司 一种不修改终端的云端架构升级方法
CN116089036A (zh) * 2022-12-30 2023-05-09 长城证券股份有限公司 多线程多模块的业务流编排处理方法、设备及存储介质
EP4184338A1 (en) * 2020-07-16 2023-05-24 Huawei Technologies Co., Ltd. System architecture switching method and apparatus

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11567760B2 (en) * 2020-02-26 2023-01-31 International Business Machines Corporation Transforming select portions of a monolithic application to microservices

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4184338A1 (en) * 2020-07-16 2023-05-24 Huawei Technologies Co., Ltd. System architecture switching method and apparatus
CN112491948A (zh) * 2020-10-12 2021-03-12 大家信科有限责任公司 非侵入式的单体应用微服务化方法、装置及计算机设备
CN114968225A (zh) * 2022-03-30 2022-08-30 中国人寿保险股份有限公司 微服务统一构建方法、环境生成方法及相关设备
CN115145722A (zh) * 2022-06-01 2022-10-04 延锋伟世通电子科技(上海)有限公司 切换微服务架构和单体架构的系统及方法
CN115190019A (zh) * 2022-07-04 2022-10-14 四川虹美智能科技有限公司 一种不修改终端的云端架构升级方法
CN115185495A (zh) * 2022-07-18 2022-10-14 交叉信息核心技术研究院(西安)有限公司 单体应用微服务拆分方法、系统、设备及存储介质
CN116089036A (zh) * 2022-12-30 2023-05-09 长城证券股份有限公司 多线程多模块的业务流编排处理方法、设备及存储介质

Also Published As

Publication number Publication date
CN116775171A (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
CN111125057B (zh) 一种业务请求的处理方法、装置及计算机系统
CN113886455A (zh) 全局唯一序列号生成方法、装置、电子设备及存储介质
CN116775171B (zh) 一种架构切换方法、装置、电子设备及存储介质
CN113541987A (zh) 一种更新配置数据的方法和装置
CN110599112B (zh) 一种网络页面开发、维护方法和装置
CN115757179A (zh) 测试环境管理方法、装置、设备及存储介质
CN113076343B (zh) 数据查询方法、装置、设备及存储介质
CN115454971A (zh) 数据迁移方法、装置、电子设备及存储介质
CN114218313A (zh) 数据管理方法、装置、电子设备、存储介质及产品
CN111159179A (zh) 表分区方法及相关设备、计算机可读存储介质
CN116893834B (zh) 负载更新方法、装置、系统、电子设备及可读存储介质
CN114443035A (zh) 应用程序的代码生成方法、代码生成器、电子设备及介质
CN114860312A (zh) 一种基于信贷业务的移动端适配方法、装置、设备及介质
CN114528267A (zh) 全局存储数据一致性的方法、装置、网关、介质及产品
CN115981657A (zh) 代码生成方法、装置、电子设备及可读介质
CN116991825A (zh) 一种数据库闪回方法、装置、设备及存储介质
CN117093274A (zh) 一种应用运行堆栈解析方法、装置、设备及存储介质
CN116821144A (zh) 一种升级方法、装置、设备及存储介质
CN115687529A (zh) 数据同步方法、装置、电子设备及存储介质
CN115576713A (zh) 基于类库的grpc服务应用方法及装置
CN116049311A (zh) 一种数据同步方法、装置、电子设备和存储介质
CN117234521A (zh) 一种文件编译方法、装置、设备及存储介质
CN115098520A (zh) 设备数据更新方法、装置、电子设备及存储介质
CN115237968A (zh) 数据库系统中的节点管理方法、装置、设备及存储介质
CN117971302A (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