服务架构的迁移方法、装置、介质和设备制造方法及图纸

技术编号:34036964 阅读:17 留言:0更新日期:2022-07-06 12:32
本公开涉及一种服务架构的迁移方法、装置、介质和设备,所述方法包括:在目标平台启动时,监听目标事件,其中,所述目标事件用于表示服务启动对应的系统环境准备完成;在监听到所述目标事件后,基于第二服务架构下的服务暴露代码生成服务提供者对应的控制层代码,基于所述第二服务架构下的服务引入代码生成服务消费者对应的客户端代码,其中,所述控制层代码和所述客户端代码为所述第一服务架构下的代码,所述第一服务架构和所述第二服务架构不同;基于所述控制层代码和所述客户端代码,将所述服务提供者和所述服务消费者对应的服务注册到注册中心。由此,在进行服务架构迁移时,可以无需技术人员手动修改代码,从而大大降低技术人员工作量。技术人员工作量。技术人员工作量。

Migration methods, devices, media and devices of service architecture

【技术实现步骤摘要】
服务架构的迁移方法、装置、介质和设备


[0001]本公开涉及计算机
,具体地,涉及一种服务架构的迁移方法、装置、介质和设备。

技术介绍

[0002]随着计算机技术的发展和市场竞争的逐渐激烈,数字化采购模式在企业公供应链管理中的应用逐渐增多。采购平台中SaaS(Software

as

a

Service,软件即服务)模式的出现,使得中小企业能以比较低的成本、短期内就可以拥有属于自己的系统。
[0003]在数字化采购平台模式下,SaaS平台通常需要有良好的开放性,以满足其与不同业务系统的集成,以及同外部不同服务商的集成。实际应用场景中,客户的业务系统使用的架构与服务的底层架构可能不同,该情况下则需要将服务的底层架构向客户的业务系统的架构进行迁移,以便于服务与客户方内部业务系统的集成。相关技术中,通常需要技术人员对服务的底层架构代码进行手动修改,难以保证迁移代码的一致性,同时对技术人员增加了大量的工作量。

技术实现思路

[0004]为了克服上述技术问题,本公开的目的是提供一种服务架构的迁移方法、装置、介质和设备。
[0005]根据本公开的第一方面,提供一种服务架构的迁移方法,所述方法包括:在目标平台启动时,监听目标事件,其中,所述目标事件用于表示服务启动对应的系统环境准备完成;在监听到所述目标事件后,基于第二服务架构下的服务暴露代码生成服务提供者对应的控制层代码,基于所述第二服务架构下的服务引入代码生成服务消费者对应的客户端代码,其中,所述控制层代码和所述客户端代码为所述第一服务架构下的代码,所述第一服务架构和所述第二服务架构不同;基于所述控制层代码和所述客户端代码,将所述服务提供者和所述服务消费者对应的服务注册到注册中心。
[0006]可选地,所述基于第二服务架构下的服务暴露代码生成服务提供者对应的控制层代码,包括:对所述服务提供者对应的接口进行扫描,确定所述服务提供者对应的第一目标接口;针对每一所述第一目标接口,从所述服务暴露代码中确定所述第一目标接口对应的服务暴露代码,并基于所述服务暴露代码和所述第一服务架构下的目标规则,生成所述第一目标接口对应的控制层代码。
[0007]可选地,所述方法还包括:针对每一所述第一目标接口,确定所述第一目标接口所属的服务的第一服务名
称;基于所述第一目标接口的接口名称和所述第一目标接口对应的第一服务名称,生成对应关系,并将所述对应关系存储至所述注册中心。
[0008]可选地,所述基于所述第二服务架构下的服务引入代码生成服务消费者对应的客户端代码,包括:对所述服务消费者对应的接口进行扫描,确定所述服务消费者对应的第二目标接口;确定所述服务消费者对应的服务的第二服务名称;针对每一所述第二目标接口,从所述服务引入代码中确定所述第二目标接口对应的服务引入代码,并基于所述服务引入代码和所述第一服务架构下的目标规则,生成所述第二目标接口对应的客户端代码。
[0009]可选地,所述方法还包括:在监听到所述目标事件后,基于配置模块加载目标配置类,其中,所述目标配置类包括所述服务消费者对应的第一配置类和所述服务提供者对应的第二配置类;基于所述第一配置类在所述服务消费者的客户端注册协议编码器,所述协议编码器用于对所述服务消费者对应的传入参数进行编码,以基于编码后的传入参数生成调用请求;基于所述第二配置类在所述服务提供者的控制层注册协议解码器,所述协议解码器用于调用请求中的传入参数进行解码,以基于解码后的传入参数进行服务调用。
[0010]可选地,所述第一服务架构为Spring Cloud框架,第二服务架构为Dubbo框架。
[0011]可选地,所述Dubbo框架下的泛化服务接口为所述客户端代码对应的接口类的父类;所述生成服务消费者对应的客户端代码,还包括:对所述Dubbo框架下的泛化服务接口中的父类泛化调用函数进行复写,生成目标泛化调用函数,其中,在所述目标泛化调用函数中,基于所述泛化服务接口的代理类对所述父类泛化调用函数的目标参数指示的方法进行反射调用;将所述目标泛化调用函数对应的代码添加至所述客户端代码。
[0012]根据本公开的第二方面,提供一种服务架构的迁移装置,所述装置包括:监听模块,用于在目标平台启动时,监听目标事件,其中,所述目标事件用于表示服务启动对应的系统环境准备完成;第一生成模块,用于在监听到所述目标事件后,基于第二服务架构下的服务暴露代码生成服务提供者对应的控制层代码,基于所述第二服务架构下的服务引入代码生成服务消费者对应的客户端代码,其中,所述控制层代码和所述客户端代码为所述第一服务架构下的代码,所述第一服务架构和所述第二服务架构不同;第一注册模块,用于基于所述控制层代码和所述客户端代码,将所述服务提供者和所述服务消费者对应的服务注册到注册中心。
[0013]根据本公开的第三方面,提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一项所述方法的步骤。
[0014]根据本公开的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面任一项所述方法的步骤。
[0015]在上述技术方案中,在目标平台启动时,监听服务启动对应的系统环境准备完成的目标事件,从而可以在监听到所述目标事件后,自动生成服务提供者对应的控制层代码和服务消费者对应的客户端代码,进而可以基于所述控制层代码和所述客户端代码,将所述服务提供者和所述服务消费者对应的服务注册到注册中心。由此,通过上述技术方案生成的控制层代码和客户端代码为待集成的服务架构下的代码,无需技术人员手动修改代码,便能够自动进行代码转换,获得待集成的服务架构下的可以识别的代码,在大大降低技术人员工作量的同时,保证生成的代码风格的一致性和标准性,便于后续进行代码调试和维护。并且,为实现不同服务结构下的系统集成提供支持,适用于SaaS模型下对不同业务系统的对接,进一步拓宽本公开方法的适用范围。
[0016]本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0017]附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1为根据本公开的一种实施方式提供的服务架构的迁移方法的流程图;图2为在Dubbo框架下的服务调用过程的示意图;图3为本公开的一种实施方式提供的将Dubbo框架下的系统实现迁移至Spring Cloud框架下的服务调用过程的示意图;图4为根据本公开的一种实施方式提供的服务架构的迁移装置的框图;图5是根据一示例性实施例示出的一种电子设备的框图;图6是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
[0018]以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务架构的迁移方法,其特征在于,所述方法包括:在目标平台启动时,监听目标事件,其中,所述目标事件用于表示服务启动对应的系统环境准备完成;在监听到所述目标事件后,基于第二服务架构下的服务暴露代码生成服务提供者对应的控制层代码,基于所述第二服务架构下的服务引入代码生成服务消费者对应的客户端代码,其中,所述控制层代码和所述客户端代码为所述第一服务架构下的代码,所述第一服务架构和所述第二服务架构不同;基于所述控制层代码和所述客户端代码,将所述服务提供者和所述服务消费者对应的服务注册到注册中心。2.根据权利要求1所述的方法,其特征在于,所述基于第二服务架构下的服务暴露代码生成服务提供者对应的控制层代码,包括:对所述服务提供者对应的接口进行扫描,确定所述服务提供者对应的第一目标接口;针对每一所述第一目标接口,从所述服务暴露代码中确定所述第一目标接口对应的服务暴露代码,并基于所述服务暴露代码和所述第一服务架构下的目标规则,生成所述第一目标接口对应的控制层代码。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:针对每一所述第一目标接口,确定所述第一目标接口所属的服务的第一服务名称;基于所述第一目标接口的接口名称和所述第一目标接口对应的第一服务名称,生成对应关系,并将所述对应关系存储至所述注册中心。4.根据权利要求1所述的方法,其特征在于,所述基于所述第二服务架构下的服务引入代码生成服务消费者对应的客户端代码,包括:对所述服务消费者对应的接口进行扫描,确定所述服务消费者对应的第二目标接口;确定所述服务消费者对应的服务的第二服务名称;针对每一所述第二目标接口,从所述服务引入代码中确定所述第二目标接口对应的服务引入代码,并基于所述服务引入代码和所述第一服务架构下的目标规则,生成所述第二目标接口对应的客户端代码。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在监听到所述目标事件后,基于配置模块加载目标配置类,其中,所述目标配置类包括所述服务消费者对应的第一配置类和所述服务提供者对应的第二配置类;基于所述第...

【专利技术属性】
技术研发人员:石玉军
申请(专利权)人:北京商越网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1