CN116009960B - 一种目标微服务迁移方法、系统和电子设备 - Google Patents
一种目标微服务迁移方法、系统和电子设备 Download PDFInfo
- Publication number
- CN116009960B CN116009960B CN202310109095.XA CN202310109095A CN116009960B CN 116009960 B CN116009960 B CN 116009960B CN 202310109095 A CN202310109095 A CN 202310109095A CN 116009960 B CN116009960 B CN 116009960B
- Authority
- CN
- China
- Prior art keywords
- result
- service
- data model
- target
- migration
- 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
Links
- 230000005012 migration Effects 0.000 title claims abstract description 217
- 238000013508 migration Methods 0.000 title claims abstract description 217
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000013499 data model Methods 0.000 claims abstract description 178
- 238000012790 confirmation Methods 0.000 claims abstract description 15
- 238000012549 training Methods 0.000 claims description 153
- 238000004422 calculation algorithm Methods 0.000 claims description 46
- 230000004048 modification Effects 0.000 claims description 44
- 238000012986 modification Methods 0.000 claims description 44
- 230000004044 response Effects 0.000 claims description 32
- 230000006872 improvement Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 48
- 230000006870 function Effects 0.000 description 35
- 230000009466 transformation Effects 0.000 description 34
- 238000012545 processing Methods 0.000 description 30
- 239000010410 layer Substances 0.000 description 25
- 238000007726 management method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 14
- 238000010295 mobile communication Methods 0.000 description 12
- 238000013527 convolutional neural network Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 10
- 238000012827 research and development Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000000605 extraction Methods 0.000 description 7
- 230000010076 replication Effects 0.000 description 7
- 238000011160 research Methods 0.000 description 7
- 239000000463 material Substances 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000003416 augmentation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000586 desensitisation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种目标微服务迁移方法、系统和电子设备。本发明实施例提供的技术方案中,终端设备响应于用户对目标微服务的更新操作,从远端服务器获取最新数据模型;响应于所述用户对所述目标微服务的目标迁移框架类型的选择操作,根据所述最新数据模型、所述目标迁移框架类型,对所述目标微服务的项目源码进行自动化修改,生成迁移所述目标微服务的第一结果;响应于所述用户对所述第一结果的确认操作,生成迁移所述目标微服务的第二结果,实现自动化迁移微服务,降低人力成本且准确率高。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种目标微服务迁移方法、系统和电子设备。
背景技术
微服务化已经成为当前十分热门的服务架构,从而催生了各种微服务框架,每种微服务框架都有着自身的特性。目前微服务迁移中,涉及微服务框架的修改,主要依靠人工修改,人力成本高且准确率难以保证。
发明内容
有鉴于此,本发明实施例提供了一种目标微服务迁移方法、系统和电子设备,实现自动化迁移微服务,降低人力成本且准确率高。
第一方面,本发明实施例提供了一种目标微服务迁移方法,应用于终端设备,所述方法包括:
响应于用户对目标微服务的更新操作,从远端服务器获取最新数据模型;
响应于所述用户对所述目标微服务的目标迁移框架类型的选择操作,根据所述最新数据模型、所述目标迁移框架类型,对所述目标微服务的项目源码进行自动化修改,生成迁移所述目标微服务的第一结果;
响应于所述用户对所述第一结果的确认操作,生成迁移所述目标微服务的第二结果。通过本发明实施例提供的最新数据模型,实现了通过工具进行自动化修改,即操作人员可以实现通过选择迁移类型进行一键式操作,快速完成代码改造工作,不仅可以大幅提高迁移改造速度,而且通过工具自动化,可以大大减少人为操作失误的可能性,实现了让一个研发人员具备可以同时进行修改多个项目的能力,不仅可以节约人力,而且降低了学习成本;通过迁移工具自动化修改,对能力复制效率变得十分容易,且准确性和可靠性可以保证。在大规模迁移改造场景中,由于实现了自动化迁移,使得本发明相比于相关技术,更加有优势。
结合第一方面,在第一方面的某些实现方式中,所述响应于所述用户对所述目标微服务的目标迁移框架类型的选择操作,根据所述最新数据模型、所述目标迁移框架类型,对所述目标微服务的项目源码进行自动化修改,生成迁移所述目标微服务的第一结果,包括:
解析所述最新数据模型,得到解析后的数据模型;
根据所述解析后的数据模型、所述目标迁移框架类型,对所述目标微服务的项目代码进行自动化修改,生成所述第一结果。
结合第一方面,在第一方面的某些实现方式中,所述响应于用户对目标微服务的更新操作,从远端服务器获取最新数据模型之前,还包括:
响应于所述用户对迁移工具的打开操作,打开所述迁移工具的主界面,所述主界面包括所述目标微服务的多个操作控件。
结合第一方面,在第一方面的某些实现方式中,所述从远端服务器获取最新数据模型之后,还包括:
根据所述最新数据模型,将本地数据模型更新为所述最新数据模型。
结合第一方面,在第一方面的某些实现方式中,所述生成迁移所述目标微服务的第一结果之后,还包括:
显示所述第一结果;
响应于所述用户对所述第一结果的调整操作,调整所述第一结果。本发明实施例显示第一结果,方便用户查看,并且支持用户对第一结果进行调整。
结合第一方面,在第一方面的某些实现方式中,所述生成迁移所述目标微服务的第二结果之后,还包括:
显示所述第二结果。本发明实施例显示最终结果,方便用户查看。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:
响应于所述用户在迁移工具中对参与用户改进计划选项的选择操作,将所述第一结果和所述第二结果上传至所述远端服务器,以使所述远端服务器根据所述第一结果和所述第二结果更新所述最新数据模型。本发明实施例通过参与用户改进计划功能,将使用过程中新增修改进行收集,通过正反馈增强训练模型准确度,进一步提高工具的可靠性。
结合第一方面,在第一方面的某些实现方式中,所述第一结果为所述项目源码的修改标记结果。例如,修改标记结果中,迁移工具将差异点和修改后的结果高亮展示出来,方便操作人员进行查看。
结合第一方面,在第一方面的某些实现方式中,所述第二结果为所述项目源码的修改完成结果。
第二方面,本发明实施例提供了一种目标微服务迁移方法,应用于远端服务器,所述方法包括:
根据训练样本,得到最新数据模型;
接收终端设备发送的所述最新数据模型的获取请求;
根据所述获取请求,将所述最新数据模型发送至所述终端设备,以使所述终端设备根据所述最新数据模型对目标微服务的项目源码进行自动化修改,以完成所述目标微服务的迁移。本发明实施例通过预先训练好最新数据模型实现微服务的自动化迁移,能有效提高微服务迁移速度,降低迁移成本,避免人工迁移改造时出现的遗漏和失误。
结合第二方面,在第二方面的某些实现方式中,所述根据所述训练样本,得到最新数据模型,包括:
通过第一算法对所述训练样本进行特征提取,得到多个特征数据;
通过第二算法对所述训练样本和所述多个特征数据进行多轮训练,得到所述最新数据模型。本发明实施例通过第一算法对训练样本进行特性提取,为下一步训练数据模型预处理数据;使用第二算法,对输入样本进行多轮训练,并生成最新数据模型。将训练得到的最新数据模型存储到远端服务器上,以供迁移工具获取和使用。
结合第二方面,在第二方面的某些实现方式中,所述第一算法包括RNN算法。
结合第二方面,在第二方面的某些实现方式中,所述第二算法包括CNN算法。
结合第二方面,在第二方面的某些实现方式中,所述根据训练样本,得到最新数据模型之前,还包括:
获取所述训练样本,所述训练样本包括标记训练样本和无标记训练样本。
结合第二方面,在第二方面的某些实现方式中,所述获取所述训练样本,所述训练样本包括标记训练样本和无标记训练样本,包括:
获取人工经验标记样本;
根据数据模板对所述人工经验标记样本进行格式化,得到所述标记训练样本;
通过获取三方件不同版本的源码,得到所述无标记训练样本。本发明实施例通过机器学习技术,大量学习比对不同微服务框架版本差异,三方件依赖差异,结合人工经验输入训练样本,从而获得训练的最新数据模型,并开发集成到IDEA插件,作为自动化搬迁工具进行发布,实现经验复用,提高微服务改造迁移效率。本发明实施例通过获取三方件不同版本的源码,作为无标签训练样本输入,能够提高数据模型的泛化能力。
结合第二方面,在第二方面的某些实现方式中,所述根据所述获取请求,将所述最新数据模型发送至所述终端设备之后,还包括:
接收所述终端设备发送的第一结果和第二结果;
根据所述第一结果和所述第二结果更新所述最新数据模型。本发明实施例通过参与用户改进计划功能,可以正反馈增强最新数据模型准确度,进一步提高技术方案的可靠性。
结合第二方面,在第二方面的某些实现方式中,所述根据所述第一结果和所述第二结果更新所述最新数据模型,包括:
将所述第一结果和所述第二结果并入所述训练样本,并继续执行所述根据训练样本,得到最新数据模型的步骤。本发明实施例通过参与用户改进计划功能,将使用过程中新增修改进行收集,通过正反馈增强训练模型准确度,进一步提高工具的可靠性。
结合第二方面,在第二方面的某些实现方式中,所述数据模板包括:样本开始格式标记字段、修改文件类型字段、操作类型字段、源数据字段和目标数据字段。本发明实施例定义了一种数据模板,数据模板通过type参数进行分类,对操作类型进行定义,并包含了目标初始状态和目标最终状态描述;该数据模板使用声明式的方式进行标记,不仅便于理解,而且功能丰富,对于常见的多中文件可以很好的支持。本发明实施例通过标准化修改经验,实现了大规模快速积累修改经验,同时标准化后,对能力复制大大提高了效率。本发明实施例定义的数据模板,实现了将风格各异人工修改经验样本进行格式化,对为后续经验复用,提供了基础材料;通过将训练模型的样本进行标准化,有利于训练自动化迁移改造的数据模型。
结合第二方面,在第二方面的某些实现方式中,所述修改文件类型字段的取值范围为{yaml,yml,xml,properties,java,txt}。
结合第二方面,在第二方面的某些实现方式中,所述操作类型字段的取值范围为{add,remove,replace}。
结合第二方面,在第二方面的某些实现方式中,所述源数据字段取值为String。
结合第二方面,在第二方面的某些实现方式中,所述目标数据字段取值为String。
第三方面,本发明实施例提供了一种目标微服务迁移系统,所述系统包括:
远端服务器,用于根据训练样本,得到最新数据模型;
终端设备,用于响应于用户对目标微服务的更新操作,从所述远端服务器获取所述最新数据模型;响应于所述用户对所述目标微服务的目标迁移框架类型的选择操作,根据所述最新数据模型、所述目标迁移框架类型,对所述目标微服务的项目源码进行自动化修改,生成迁移所述目标微服务的第一结果;响应于所述用户对所述第一结果的确认操作,生成迁移所述目标微服务的第二结果。
第四方面,本发明实施例提供了一种电子设备,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,当所述处理器运行所述程序指令时,使所述电子设备执行如上述所述的方法的步骤。
第五方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述程序请求被计算机运行时使所述计算机执行如上述所述的方法。
第六方面,本发明实施例提供了一种计算机程序产品,所述计算机程序产品包含指令,当所述计算机程序产品在计算机或任一至少一种处理器上运行时,使得所述计算机执行如上述方法中的功能/步骤。
本发明实施例提供的目标微服务迁移方法、系统和电子设备的技术方案中,终端设备响应于用户对目标微服务的更新操作,从远端服务器获取最新数据模型;响应于所述用户对所述目标微服务的目标迁移框架类型的选择操作,根据所述最新数据模型、所述目标迁移框架类型,对所述目标微服务的项目源码进行自动化修改,生成迁移所述目标微服务的第一结果;响应于所述用户对所述第一结果的确认操作,生成迁移所述目标微服务的第二结果,实现自动化迁移微服务,降低人力成本且准确率高。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种电子设备的结构示意图;
图2为本发明实施例的电子设备100的软件结构框图;
图3为目前微服务迁移方法的交互图;
图4为本发明实施例提供的一种目标微服务迁移系统的架构图;
图5为本发明实施例中按照数据模板将人工修改经验样本进行格式化后的效果示意图;
图6为本发明实施例中得到自动化搬迁工具的示意图;
图7为本发明实施例中目标微服务迁移总体方案的示意图
图8为本发明实施例提供的一种目标微服务迁移方法的信令交互图;
图9为本发明实施例提供的一种目标微服务迁移方法的流程图;
图10为本发明实施例提供的一种目标微服务迁移方法的流程图;
图11为图10中远端服务器获取训练样本的具体流程图;
图12为图10中远端服务器根据训练样本,得到最新数据模型的具体流程图;
图13为图10中终端设备响应于用户对迁移工具的打开操作,打开迁移工具的主界面,主界面包括目标微服务的多个操作控件的具体流程图;
图14为图10中终端设备响应于用户对目标微服务的目标迁移框架类型的选择操作,根据最新数据模型、目标迁移框架类型,对目标微服务的项目源码进行自动化修改,生成迁移目标微服务的第一结果的具体流程图;
图15为本发明实施例提供的一种终端设备的结构示意图;
图16为本发明实施例提供的一种远端服务器的结构示意图。
具体实施方式
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,甲和/或乙,可以表示:单独存在甲,同时存在甲和乙,单独存在乙这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1示出了电子设备100的结构示意图。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC ,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system ,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP 用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network ,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图2是本发明实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如: MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
微服务化已经成为当前十分热门的服务架构,从而催生了各种微服务框架,每种微服务框架都有着自身的特性。在线下运作场景下,并无太大痛点。然而目前大规模上云场景下,不同的微服务架构,与云厂商的商业产品适配成了一个不可忽视的痛点。微服务搬迁中常见切框架后,导致三方件版本依赖修改,从而导致项目现有代码出现不兼容,比如:方法变更、接口变更、冲突等。在微服务搬迁上云场景中,微服务框架切换占据了大量时间和人力成本,成为业务上云的痛点。因此,如何快速解决微服务框架切换,成为了快速实现业务快速大规模上云的痛点。
微服务搬迁上云主要是业务研发人员和云厂商技术人员支持共同完成微服务框架切换搬迁上云。图3为目前微服务迁移方法的交互图,如图3所示,目前微服务迁移方法包括如下步骤:
步骤201、业务研发人员从项目代码仓库中获取当前要进行迁移的项目代码。
步骤202、业务研发人员将项目代码脱敏后提供给云厂商技术人员进行评估。
步骤203、云厂商技术人员评估后,与业务研发人员沟通迁移方案。
步骤204、业务研发人员向云厂商技术人员确定迁移框架和涉及项目代码规模和数量。
步骤205、云厂商技术人员根据经验选择典型项目进行迁移改造,并输出迁移改造培训材料。
步骤206、云厂商技术人员对业务研发人员进行组织改造迁移培训,并提供迁移改造总结材料给业务研发人员。
步骤207、业务研发人员根据培训学习,对剩余项目代码进行改造迁移。
步骤208、业务研发人员遇到非培训内容,自己难以修改的场景,需要咨询云厂商技术人员进行协助支持。
步骤209、云厂商技术人员参与到剩余项目迁移改造中,对于业务研发人员难以解决的问题,进行逐一解决和修改。
步骤210、改造完毕后,云厂商技术人员将改造结果与业务研发人员进行确认和验证。
步骤211、业务研发人员验证完毕后,将最终修改结果合入到项目代码仓库,完成改造迁移。
以上,目前微服务迁移方法单纯由业务研发人员进行改造,不仅涉及大量人力成本,往往还涉及学习成本,从而降低了业务搬迁上云的意愿和积极性。如果由云厂商技术人员进行承担改造任务,不仅对云厂商人力成本进行耗费,还进而提高了云厂商的成本投入,在大规模上云场景中,这种方法不可持续。并且,单纯依靠人力修改,能力复制效率低,可靠性相对较低。
基于上述技术问题,本发明实施例提供一种目标微服务迁移系统。图4为本发明实施例提供的一种目标微服务迁移系统的架构图。
如图4所示,目标微服务迁移系统包括远端服务器A和终端设备B,远端服务器A和终端设备B无线连接。远端服务器A包括样本获取模块A1、模型训练模块A2、更新模块A3和第一通信模块A4。终端设备B包括迁移工具B1、屏幕B2和第二通信模块B3。远端服务器A和终端设备B之间通过第一通信模块A4、第二通信模块B3实现无线传输。
样本获取模块A1用于获取训练样本,并将训练样本发送至模型训练模块A2。
示例性的,训练样本包括标记训练样本和无标记训练样本。
样本获取模块A1具体用于获取人工经验标记样本;根据数据模板对人工经验标记样本进行格式化,得到标记训练样本;通过获取三方件不同版本的源码,得到无标记训练样本。
本发明实施例定义了一种数据模板,数据模板通过type参数进行分类,对操作类型进行定义,并包含了目标初始状态和目标最终状态描述。
示例性的,数据模板包括:样本开始格式标记字段、修改文件类型字段、操作类型字段、源数据字段和目标数据字段。
示例性的,修改文件类型字段的取值范围为{yaml,yml,xml,properties,java,txt}。
示例性的,操作类型字段的取值范围为{add,remove,replace}。
示例性的,源数据字段取值为String,支持多行。
示例性的,目标数据字段取值为String。
例如,数据模板的相关参数介绍如下所示:
samples: // 样本开始格式标记字段
-type: // 修改文件类型字段
operation: //操作类型字段,如果不写该字段,表示是替换类型
source: // 源数据字段,即待修改的内容,支持多行内容操作
target:// 目标数据字段,即要修改成的结果
图5为本发明实施例中按照数据模板将人工修改经验样本进行格式化后的效果示意图,如图5所示,该数据模板使用声明式的方式进行标记,不仅便于理解,而且功能丰富,对于常见的多中文件可以很好的支持。
本发明实施例定义的数据模板,实现了将风格各异人工修改经验样本进行格式化,对为后续经验复用,提供了基础材料;通过将训练模型的样本进行标准化,有利于训练自动化迁移改造的数据模型。
模型训练模块A2用于根据训练样本,得到最新数据模型。
模型训练模块A2具体用于通过第一算法对训练样本进行特征提取,得到多个特征数据;通过第二算法对训练样本和多个特征数据进行多轮训练,得到最新数据模型。
示例性的,第一算法包括循环神经网络(Recurrent Neural Network,RNN)算法。
示例性的,第二算法包括卷积神经网络(Convolutional Neural Networks,CNN)算法。
本发明实施例通过RNN算法对训练样本进行特性提取,为下一步训练数据模型预处理数据;使用CNN算法,对输入样本进行多轮训练,并生成最新数据模型。将训练得到的最新数据模型存储到远端服务器A上,以供迁移工具B1获取和使用。
本发明实施例通过机器学习技术,大量学习比对不同微服务框架版本差异,三方件依赖差异,结合人工经验输入训练样本,从而获得训练的最新数据模型,并开发集成到IDEA插件,作为自动化搬迁工具进行发布,实现经验复用,提高微服务改造迁移效率。图6为本发明实施例中得到自动化搬迁工具的示意图,如图6所示,得到自动化搬迁工具主要可以分为以下三个阶段:
第一阶段:基于人工经验,通过人工输入常见典型微服务框架修改样本,建立基于规则的匹配模型。
第二阶段:通过大规模机器学习,将海量三方件样本中常见的三方件不同版本差异、变更点进行全量数据挖掘和模型训练,建立常见三方件冲突模型。本发明实施例通过获取三方件不同版本的源码,作为无标签训练样本输入,能够提高数据模型的泛化能力。
第三阶段:根据IDEA插件扩展能力,将训练的最新数据模型(包括基于规则的匹配模型和常见三方件冲突模型)封装,以插件形式安装在IDEA上。
迁移工具B1用于响应于用户对迁移工具B1的打开操作,打开迁移工具B1的主界面,主界面包括目标微服务的多个操作控件。
示例性的,用户对迁移工具B1的打开操作包括用户点击迁移工具B1的图标。
示例性的,目标微服务的多个操作控件至少包括更新控件、迁移框架类型选择控件和参与用户改进计划选项控件等。
迁移工具B1还用于响应于用户对目标微服务的更新操作,从远端服务器A获取最新数据模型。
具体的,迁移工具B1具体用于响应于用户对目标微服务的更新操作,生成最新数据模型的获取请求,并将获取请求发送至第二通信模块B3。第二通信模块B3用于将获取请求发送至第一通信模块A4。第一通信模块A4用于将获取请求发送至模型训练模块A2。模型训练模块A2用于根据获取请求,将最新数据模型发送至第一通信模块A4。第一通信模块A4用于将最新数据模型发送至第二通信模块B3。第二通信模块B3用于将最新数据模型发送至迁移工具B1。
迁移工具B1还用于响应于用户对目标微服务的目标迁移框架类型的选择操作,根据最新数据模型、目标迁移框架类型,对目标微服务的项目源码进行自动化修改,生成迁移目标微服务的第一结果。具体的,迁移工具B1具体用于解析最新数据模型,得到解析后的数据模型;根据解析后的数据模型、目标迁移框架类型,对目标微服务的项目代码进行自动化修改,生成第一结果。
示例性的,迁移工具B1根据目标迁移框架类型,自动执行迁移命令,通过将最新数据模型进行解析,按照最新数据模型规则对待修改的项目代码进行扫描和比对,识别出要修改的内容和差异点,并进行修改。
通过本发明实施例提供的最新数据模型,实现了通过工具进行自动化修改,即操作人员可以实现通过选择迁移类型进行一键式操作,快速完成代码改造工作,不仅可以大幅提高迁移改造速度,而且通过工具自动化,可以大大减少人为操作失误的可能性,实现了让一个研发人员具备可以同时进行修改多个项目的能力,不仅可以节约人力,而且降低了学习成本;通过迁移工具B1自动化修改,对能力复制效率变得十分容易,且准确性和可靠性可以保证。在大规模迁移改造场景中,由于实现了自动化迁移,使得本发明相比于相关技术,更加有优势。
示例性的,第一结果为项目源码的修改标记结果。例如,修改标记结果中,迁移工具B1将差异点和修改后的结果高亮展示出来,方便操作人员进行查看。
可选地,迁移工具B1还用于根据最新数据模型,将本地数据模型更新为最新数据模型。
迁移工具B1还用于将第一结果发送至屏幕B2。
屏幕B2用于显示第一结果。
可选地,迁移工具B1还用于响应于用户对第一结果的调整操作,调整第一结果。
迁移工具B1还用于响应于用户对第一结果的确认操作,生成迁移目标微服务的第二结果。
示例性的,第二结果为项目源码的修改完成结果。
可选地,迁移工具B1还用于响应于用户对调整后的第一结果的确认操作,生成迁移目标微服务的第二结果。
示例性的,第二结果为项目源码的修改完成结果。
迁移工具B1还用于将第二结果发送至屏幕B2。
屏幕B2还用于显示第二结果。
可选地,迁移工具B1还用于响应于用户在迁移工具B1中对参与用户改进计划选项的选择操作,将第一结果和第二结果上传至远端服务器A,以使远端服务器A根据第一结果和第二结果更新最新数据模型。具体的,迁移工具B1具体用于响应于用户在迁移工具B1中对参与用户改进计划选项的选择操作,将第一结果和第二结果发送至第二通信模块B3。第二通信模块B3用于将第一结果和第二结果发送至第一通信模块A4。第一通信模块A4用于将第一结果和第二结果发送至更新模块A3。更新模块A3用于根据第一结果和第二结果生成更新命令,并将更新命令发送至模型训练模块A2,该更新携带第一结果和第二结果。模型训练模块A2还用于根据更新命令,将第一结果和第二结果并入训练样本,并继续执行根据训练样本,得到最新数据模型的步骤。本发明实施例通过参与用户改进计划功能,可以正反馈增强最新数据模型准确度,进一步提高技术方案的可靠性。
本发明实施例提供的目标微服务迁移系统适用于改造微服务的场景,例如,企业上云场景、个体用户微服务项目框架改造场景和三方件漏洞解决场景。
其中,企业上云场景需要接入云厂商的云平台,根据云厂商要求将微服务架构统一,涉及到存量的业务的代码改造。本发明实施例提供的目标微服务迁移系统,可以让用户高效快速的实现搬迁上云,并提高上云的效率,缩短上云周期。
其中,个体用户微服务项目框架改造场景,终端设备通过云厂商平台提供的下载功能界面,下载最新数据模型到本地,自动化改造本地项目,达到快速低门槛切换项目框架的目的。
其中,三方件漏洞解决场景中,可以通过本发明实施例的数据模板对待解决三方件的项目源码进行记录修改,然后通过最新数据模型执行自动化修改以修复漏洞,同时将修改经验上传远端服务器进行贡献使用。
图7为本发明实施例中目标微服务迁移总体方案的示意图,如图7所示,虚线框中的模型训练流程属于前置操作,在用户实际使用流程中,并不需要每次都进行操作,属于远端服务器后台操作。终端设备B通过迁移工具B1从远端服务器A拉取最新数据模型到本地,在选择目标迁移框架类型后下发自动化迁移命令,在完成自动化修改后确认修改结果。
目前,相关技术主要通过将已有的人工修改经验记录到文档中,通过文档的形式将修改经验传递下去。而本发明实施例定义了一种数据模板,通过改模板,将人工修改经验进行格式化;并将格式化后的数据,通过算法进行多轮训练,最终生成自动化迁移的数据模型,从而实现了将已有经验批量传递的能力。相比记录到文档中,标准格式化后,更加有利于经验的复用和积累。
综上,本发明实施例通过提出一种数据模板,通过标准化修改经验,实现了大规模快速积累修改经验,同时标准化后,对能力复制大大提高了效率。本发明实施例通过预先训练好的最新数据模型实现微服务的自动化迁移,能有效提高微服务迁移速度,降低迁移成本,避免人工迁移改造时出现的遗漏和失误。同时,通过参与用户改进计划功能,将使用过程中新增修改进行收集,通过正反馈增强训练模型准确度,进一步提高工具的可靠性。
基于图4所示的系统架构,本发明实施例提供一种目标微服务迁移方法。图8为本发明实施例提供的一种目标微服务迁移方法的信令交互图,如图8所示,该方法包括:
步骤302、样本获取模块获取训练样本。
示例性的,训练样本包括标记训练样本和无标记训练样本。
在一些可能的实施例中,步骤302具体包括:样本获取模块具体用于获取人工经验标记样本;根据数据模板对人工经验标记样本进行格式化,得到标记训练样本;通过获取三方件不同版本的源码,得到无标记训练样本。
本发明实施例定义了一种数据模板,数据模板通过type参数进行分类,对操作类型进行定义,并包含了目标初始状态和目标最终状态描述。
示例性的,数据模板包括:样本开始格式标记字段、修改文件类型字段、操作类型字段、源数据字段和目标数据字段。
示例性的,修改文件类型字段的取值范围为{yaml,yml,xml,properties,java,txt}。
示例性的,操作类型字段的取值范围为{add,remove,replace}。
示例性的,源数据字段取值为String,支持多行。
示例性的,目标数据字段取值为String。
本发明实施例中,数据模板使用声明式的方式进行标记,不仅便于理解,而且功能丰富,对于常见的多中文件可以很好的支持。
本发明实施例定义的数据模板,实现了将风格各异人工修改经验样本进行格式化,对为后续经验复用,提供了基础材料;通过将训练模型的样本进行标准化,有利于训练自动化迁移改造的数据模型。
步骤304、样本获取模块将训练样本发送至模型训练模块。
步骤306、模型训练模块根据训练样本,得到最新数据模型。
在一些可能的实施例中,步骤306具体包括:模型训练模块通过第一算法对训练样本进行特征提取,得到多个特征数据;通过第二算法对训练样本和多个特征数据进行多轮训练,得到最新数据模型。
示例性的,第一算法包括循环神经网络(Recurrent Neural Network,RNN)算法。
示例性的,第二算法包括卷积神经网络(Convolutional Neural Networks,CNN)算法。
本发明实施例通过RNN算法对训练样本进行特性提取,为下一步训练数据模型预处理数据;使用CNN算法,对输入样本进行多轮训练,并生成最新数据模型。将训练得到的最新数据模型存储到远端服务器上,以供迁移工具获取和使用。
本发明实施例通过机器学习技术,大量学习比对不同微服务框架版本差异,三方件依赖差异,结合人工经验输入训练样本,从而获得训练的最新数据模型,并开发集成到IDEA插件,作为自动化搬迁工具进行发布,实现经验复用,提高微服务改造迁移效率。
步骤308、迁移工具响应于用户对迁移工具的打开操作,打开迁移工具的主界面,主界面包括目标微服务的多个操作控件;响应于用户对目标微服务的更新操作,生成最新数据模型的获取请求。
示例性的,用户对迁移工具的打开操作包括用户点击迁移工具的图标。
示例性的,目标微服务的多个操作控件至少包括更新控件、迁移框架类型选择控件和参与用户改进计划选项控件等。
迁移工具将主界面的信息发送至屏幕,屏幕根据主界面的信息显示主界面。
步骤310、迁移工具将获取请求发送至第二通信模块。
步骤312、第二通信模块将获取请求发送至第一通信模块。
步骤314、第一通信模块将获取请求发送至模型训练模块。
步骤316、模型训练模块根据获取请求,将最新数据模型发送至第一通信模块。
步骤318、第一通信模块将最新数据模型发送至第二通信模块。
步骤320、第二通信模块将最新数据模型发送至迁移工具。
步骤322、迁移工具响应于用户对目标微服务的目标迁移框架类型的选择操作,根据最新数据模型、目标迁移框架类型,对目标微服务的项目源码进行自动化修改,生成迁移目标微服务的第一结果。
示例性的,迁移工具根据目标迁移框架类型,自动执行迁移命令,通过将最新数据模型进行解析,按照最新数据模型规则对待修改的项目代码进行扫描和比对,识别出要修改的内容和差异点,并进行修改。
通过本发明实施例提供的最新数据模型,实现了通过工具进行自动化修改,即操作人员可以实现通过选择迁移类型进行一键式操作,快速完成代码改造工作,不仅可以大幅提高迁移改造速度,而且通过工具自动化,可以大大减少人为操作失误的可能性,实现了让一个研发人员具备可以同时进行修改多个项目的能力,不仅可以节约人力,而且降低了学习成本;通过迁移工具自动化修改,对能力复制效率变得十分容易,且准确性和可靠性可以保证。在大规模迁移改造场景中,由于实现了自动化迁移,使得本发明相比于相关技术,更加有优势。
示例性的,第一结果为项目源码的修改标记结果。例如,修改标记结果中,迁移工具将差异点和修改后的结果高亮展示出来,方便操作人员进行查看。
可选地,迁移工具还根据最新数据模型,将本地数据模型更新为最新数据模型。步骤324、迁移工具将第一结果发送至屏幕。
步骤326、屏幕显示第一结果。
可选地,步骤326之后,迁移工具还可以响应于用户对第一结果的调整操作,调整第一结果,屏幕显示调整后的第一界面。
步骤328、迁移工具响应于用户对第一结果的确认操作,生成迁移目标微服务的第二结果。
示例性的,第二结果为项目源码的修改完成结果。
可选地,步骤328具体包括:迁移工具响应于用户对调整后的第一结果的确认操作,生成迁移目标微服务的第二结果。
示例性的,第二结果为项目源码的修改完成结果。
步骤330、迁移工具将第二结果发送至屏幕。
步骤332、屏幕显示第二结果。
可选地,若用户在迁移工具中对参与用户改进计划选项进行选择操作,则步骤332之后,所述方法还包括:
步骤334、迁移工具将第一结果和第二结果发送至第二通信模块。
步骤336、第二通信模块将第一结果和第二结果发送至第一通信模块。
步骤338、第一通信模块将第一结果和第二结果发送至更新模块。
步骤340、更新模块根据第一结果和第二结果生成更新命令。
步骤342、更新模块将更新命令发送至模型训练模块,该更新携带第一结果和第二结果。
步骤344、模型训练模块根据更新命令,将第一结果和第二结果并入训练样本,并继续执行根据训练样本,得到最新数据模型的步骤。本发明实施例通过参与用户改进计划功能,可以正反馈增强最新数据模型准确度,进一步提高技术方案的可靠性。
综上,本发明实施例通过提出一种数据模板,通过标准化修改经验,实现了大规模快速积累修改经验,同时标准化后,对能力复制大大提高了效率。本发明实施例通过预先训练好的最新数据模型实现微服务的自动化迁移,能有效提高微服务迁移速度,降低迁移成本,避免人工迁移改造时出现的遗漏和失误。同时,通过参与用户改进计划功能,将使用过程中新增修改进行收集,通过正反馈增强训练模型准确度,进一步提高工具的可靠性。
基于图4所示的系统架构,本发明实施例提供又一种目标微服务迁移方法。图9为本发明实施例提供的一种目标微服务迁移方法的流程图,如图9所示,该方法包括:
步骤402、远端服务器根据训练样本,得到最新数据模型。
步骤404、终端设备响应于用户对目标微服务的更新操作,从远端服务器获取最新数据模型。
步骤406、终端设备响应于用户对目标微服务的目标迁移框架类型的选择操作,根据最新数据模型、目标迁移框架类型,对目标微服务的项目源码进行自动化修改,生成迁移目标微服务的第一结果。
步骤408、终端设备响应于用户对第一结果的确认操作,生成迁移目标微服务的第二结果。
本发明实施例提供的目标微服务迁移方法的技术方案中,远端服务器根据训练样本,得到最新数据模型;终端设备响应于用户对目标微服务的更新操作,从远端服务器获取最新数据模型;响应于用户对目标微服务的目标迁移框架类型的选择操作,根据最新数据模型、目标迁移框架类型,对目标微服务的项目源码进行自动化修改,生成迁移目标微服务的第一结果;响应于用户对第一结果的确认操作,生成迁移目标微服务的第二结果,实现自动化迁移微服务,降低人力成本且准确率高。
基于图4所示的系统架构,本发明实施例提供又一种目标微服务迁移方法。图10为本发明实施例提供的一种目标微服务迁移方法的流程图,如图10所示,该方法包括:
步骤502、远端服务器获取训练样本。
示例性的,训练样本包括标记训练样本和无标记训练样本。
在一些可能的实施例中,如图11所示,步骤502具体包括:
步骤502a、远端服务器获取人工经验标记样本。
步骤502b、远端服务器根据数据模板对人工经验标记样本进行格式化,得到标记训练样本。
本发明实施例定义了一种数据模板,数据模板通过type参数进行分类,对操作类型进行定义,并包含了目标初始状态和目标最终状态描述。
示例性的,数据模板包括:样本开始格式标记字段、修改文件类型字段、操作类型字段、源数据字段和目标数据字段。
示例性的,修改文件类型字段的取值范围为{yaml,yml,xml,properties,java,txt}。
示例性的,操作类型字段的取值范围为{add,remove,replace}。
示例性的,源数据字段取值为String,支持多行。
示例性的,目标数据字段取值为String。
例如,数据模板的相关参数介绍如下所示:
samples: // 样本开始格式标记字段
-type: // 修改文件类型字段
operation: //操作类型字段,如果不写该字段,表示是替换类型
source: // 源数据字段,即待修改的内容,支持多行内容操作
target:// 目标数据字段,即要修改成的结果
图5为本发明实施例中按照数据模板将人工修改经验样本进行格式化后的效果示意图,如图5所示,该数据模板使用声明式的方式进行标记,不仅便于理解,而且功能丰富,对于常见的多中文件可以很好的支持。
本发明实施例定义的数据模板,实现了将风格各异人工修改经验样本进行格式化,对为后续经验复用,提供了基础材料;通过将训练模型的样本进行标准化,有利于训练自动化迁移改造的数据模型。
步骤502c、远端服务器通过获取三方件不同版本的源码,得到无标记训练样本。
步骤504、远端服务器根据训练样本,得到最新数据模型。
在一些可能的实施例中,如图12所示,步骤504具体包括:
步骤504a、远端服务器通过第一算法对训练样本进行特征提取,得到多个特征数据。
示例性的,第一算法包括RNN算法。本发明实施例通过RNN算法对训练样本进行特性提取,为下一步训练数据模型预处理数据。
步骤504b、远端服务器通过第二算法对训练样本和多个特征数据进行多轮训练,得到最新数据模型。
示例性的,第二算法包括CNN算法。本发明实施例使用CNN算法,对输入样本进行多轮训练,并生成最新数据模型。将训练得到的最新数据模型存储到远端服务器上,以供迁移工具获取和使用。
本发明实施例通过机器学习技术,大量学习比对不同微服务框架版本差异,三方件依赖差异,结合人工经验输入训练样本,从而获得训练的最新数据模型,并开发集成到IDEA插件,作为自动化搬迁工具进行发布,实现经验复用,提高微服务改造迁移效率。
步骤506、终端设备响应于用户对目标微服务的更新操作,从远端服务器获取最新数据模型。
可选地,步骤506之前还包括:
步骤505、终端设备响应于用户对迁移工具的打开操作,打开迁移工具的主界面,主界面包括目标微服务的多个操作控件。
示例性的,用户对迁移工具的打开操作包括用户点击迁移工具的图标。
示例性的,目标微服务的多个操作控件至少包括更新控件、迁移框架类型选择控件和参与用户改进计划选项控件等。
在一些可能的实施例中,如图13所示,步骤506具体包括:
步骤506a、终端设备响应于用户对目标微服务的更新操作,生成最新数据模型的获取请求。
步骤506b、终端设备将获取请求发送至远端服务器。
步骤506c、远端服务器根据获取请求,将最新数据模型发送至终端设备。
可选地,步骤506之后还包括:
步骤507、终端设备根据最新数据模型,将本地数据模型更新为最新数据模型。
步骤508、终端设备响应于用户对目标微服务的目标迁移框架类型的选择操作,根据最新数据模型、目标迁移框架类型,对目标微服务的项目源码进行自动化修改,生成迁移目标微服务的第一结果。
示例性的,第一结果为项目源码的修改标记结果。例如,修改标记结果中,迁移工具将差异点和修改后的结果高亮展示出来,方便操作人员进行查看。
示例性的,迁移工具根据目标迁移框架类型,自动执行迁移命令,通过将最新数据模型进行解析,按照最新数据模型规则对待修改的项目代码进行扫描和比对,识别出要修改的内容和差异点,并进行修改。
通过本发明实施例提供的最新数据模型,实现了通过工具进行自动化修改,即操作人员可以实现通过选择迁移类型进行一键式操作,快速完成代码改造工作,不仅可以大幅提高迁移改造速度,而且通过工具自动化,可以大大减少人为操作失误的可能性,实现了让一个研发人员具备可以同时进行修改多个项目的能力,不仅可以节约人力,而且降低了学习成本;通过迁移工具自动化修改,对能力复制效率变得十分容易,且准确性和可靠性可以保证。在大规模迁移改造场景中,由于实现了自动化迁移,使得本发明相比于相关技术,更加有优势。
在一些可能的实施例中,如图14所示,步骤508具体包括:
步骤508a、终端设备解析最新数据模型,得到解析后的数据模型。
步骤508b、终端设备根据解析后的数据模型、目标迁移框架类型,对目标微服务的项目代码进行自动化修改,生成第一结果。
可选地,步骤508之后还包括:
步骤5092、终端设备显示第一结果。
步骤5094、终端设备响应于用户对第一结果的调整操作,调整第一结果。
步骤510、终端设备响应于用户对第一结果的确认操作,生成迁移目标微服务的第二结果。
示例性的,第二结果为项目源码的修改完成结果。
在一些可能的实施例中,步骤510具体包括:终端设备响应于用户对调整后的第一结果的确认操作,生成迁移目标微服务的第二结果。
步骤512、终端设备显示第二结果。
可选地,若用户在迁移工具中对参与用户改进计划选项进行选择操作,步骤512之后还包括:
步骤514、终端设备将第一结果和第二结果上传至远端服务器。
步骤516、远端服务器根据第一结果和第二结果更新最新数据模型。
在一些可能的实施例中,步骤516具体包括:远端服务器将第一结果和第二结果并入训练样本,并继续执行步骤504。
本发明实施例提供的目标微服务迁移方法的技术方案中,远端服务器根据训练样本,得到最新数据模型;终端设备响应于用户对目标微服务的更新操作,从远端服务器获取最新数据模型;响应于用户对目标微服务的目标迁移框架类型的选择操作,根据最新数据模型、目标迁移框架类型,对目标微服务的项目源码进行自动化修改,生成迁移目标微服务的第一结果;响应于用户对第一结果的确认操作,生成迁移目标微服务的第二结果,实现自动化迁移微服务,降低人力成本且准确率高。
图15为本发明实施例提供的一种终端设备的结构示意图,应理解,终端设备600能够执行上述目标微服务迁移方法中终端设备的各个步骤,为了避免重复,此处不再详述。终端设备600包括:第一处理单元601、显示单元602和第一收发单元603。
第一收发单元603用于响应于用户对目标微服务的更新操作,从远端服务器获取最新数据模型;第一处理单元601用于响应于用户对目标微服务的目标迁移框架类型的选择操作,根据最新数据模型、目标迁移框架类型,对目标微服务的项目源码进行自动化修改,生成迁移目标微服务的第一结果;响应于用户对第一结果的确认操作,生成迁移目标微服务的第二结果。
可选地,所述第一处理单元601具体用于解析所述最新数据模型,得到解析后的数据模型;根据所述解析后的数据模型、所述目标迁移框架类型,对所述目标微服务的项目代码进行自动化修改,生成所述第一结果。
可选地,所述第一收发单元603响应于用户对目标微服务的更新操作,从远端服务器获取最新数据模型之前,所述第一处理单元601还用于响应于所述用户对迁移工具的打开操作,打开所述迁移工具的主界面,所述主界面包括所述目标微服务的多个操作控件。
可选地,所述第一收发单元603从远端服务器获取最新数据模型之后,所述第一处理单元601还用于根据所述最新数据模型,将本地数据模型更新为所述最新数据模型。
可选地,所述第一处理单元601生成迁移所述目标微服务的第一结果之后,显示单元602用于显示所述第一结果;所述第一处理单元601还用于响应于所述用户对所述第一结果的调整操作,调整所述第一结果。
可选地,所述第一处理单元601生成迁移所述目标微服务的第二结果之后,所述显示单元602还用于显示所述第二结果。
可选地,所述第一收发单元603还用于响应于所述用户在迁移工具中对参与用户改进计划选项的选择操作,将所述第一结果和所述第二结果上传至所述远端服务器,以使所述远端服务器根据所述第一结果和所述第二结果更新所述最新数据模型。
图16为本发明实施例提供的一种远端服务器的结构示意图,应理解,远端服务器700能够执行上述目标微服务迁移方法中远端服务器的各个步骤,为了避免重复,此处不再详述。远端服务器700包括:第二处理单元701和第二收发单元702。
第二处理单元701用于根据训练样本,得到最新数据模型。
第二收发单元702用于接收终端设备发送的所述最新数据模型的获取请求;根据所述获取请求,将所述最新数据模型发送至所述终端设备,以使所述终端设备根据所述最新数据模型对目标微服务的项目源码进行自动化修改,以完成所述目标微服务的迁移。
可选地,所述第二处理单元701具体用于通过第一算法对所述训练样本进行特征提取,得到多个特征数据;通过第二算法对所述训练样本和所述多个特征数据进行多轮训练,得到所述最新数据模型。
可选地,所述第一算法包括RNN算法。
可选地,所述第一算法包括RNN算法。
可选地,所述第二处理单元701根据训练样本,得到最新数据模型之前,所述第二处理单元701还用于获取所述训练样本,所述训练样本包括标记训练样本和无标记训练样本。
可选地,所述第二处理单元701具体用于获取人工经验标记样本;根据数据模板对所述人工经验标记样本进行格式化,得到所述标记训练样本;通过获取三方件不同版本的源码,得到所述无标记训练样本。
可选地,所述第二收发单元702根据所述获取请求,将所述最新数据模型发送至所述终端设备之后,所述第二收发单元702还用于接收所述终端设备发送的第一结果和第二结果;所述第二处理单元701还用于根据所述第一结果和所述第二结果更新所述最新数据模型。
可选地,所述第二处理单元701具体用于将所述第一结果和所述第二结果并入所述训练样本,并继续执行所述根据训练样本,得到最新数据模型的操作。
可选地,所述数据模板包括:样本开始格式标记字段、修改文件类型字段、操作类型字段、源数据字段和目标数据字段。
可选地,所述修改文件类型字段的取值范围为{yaml,yml,xml,properties,java,txt}。
可选地,所述操作类型字段的取值范围为{add,remove,replace}。
可选地,所述源数据字段取值为String。
可选地,所述目标数据字段取值为String。
应理解,这里的终端设备600和远端服务器700以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。例如,“单元”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本发明的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本申请实施例提供一种电子设备,该电子设备可以是终端设备也可以是内置于所述终端设备的电路设备。该电子设备可以用于执行上述方法实施例中的功能/步骤。
本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在终端设备上运行时,使得终端设备执行如上述方法实施例中的功能/步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机或任一至少一种处理器上运行时,使得计算机执行如上述方法实施例中的功能/步骤。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a, b, c, a-b,a-c, b-c,或a-b-c,其中a, b, c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种目标微服务迁移方法,其特征在于,应用于终端设备,所述方法包括:
响应于用户对目标微服务的更新操作,从远端服务器获取最新数据模型,所述最新数据模型是根据训练样本得到,所述训练样本包括标记训练样本和无标记训练样本,所述标记训练样本是根据数据模板对人工经验标记样本进行格式化得到;所述数据模板包括:样本开始格式标记字段、修改文件类型字段、操作类型字段、源数据字段和目标数据字段;所述修改文件类型字段的取值范围为{yaml,yml,xml,properties,java,txt};所述操作类型字段的取值范围为{add,remove,replace};所述无标记训练样本包括三方件不同版本的源码;
响应于所述用户对所述目标微服务的目标迁移框架类型的选择操作,根据所述最新数据模型、所述目标迁移框架类型,对所述目标微服务的项目源码进行自动化修改,生成迁移所述目标微服务的第一结果,所述第一结果为所述项目源码的修改标记结果;
响应于所述用户对所述第一结果的确认操作,生成迁移所述目标微服务的第二结果,所述第二结果为所述项目源码的修改完成结果;
响应于所述用户在迁移工具中对参与用户改进计划选项的选择操作,将所述第一结果和所述第二结果上传至所述远端服务器,以使所述远端服务器根据所述第一结果和所述第二结果更新所述最新数据模型;
所述响应于所述用户对所述目标微服务的目标迁移框架类型的选择操作,根据所述最新数据模型、所述目标迁移框架类型,对所述目标微服务的项目源码进行自动化修改,生成迁移所述目标微服务的第一结果,包括:
解析所述最新数据模型,得到解析后的数据模型;
根据所述解析后的数据模型、所述目标迁移框架类型,对所述目标微服务的项目代码进行自动化修改,生成所述第一结果;
所述生成迁移所述目标微服务的第一结果之后,还包括:
显示所述第一结果;
响应于所述用户对所述第一结果的调整操作,调整所述第一结果。
2.根据权利要求1所述的方法,其特征在于,所述响应于用户对目标微服务的更新操作,从远端服务器获取最新数据模型之前,还包括:
响应于所述用户对迁移工具的打开操作,打开所述迁移工具的主界面,所述主界面包括所述目标微服务的多个操作控件。
3.根据权利要求1所述的方法,其特征在于,所述从远端服务器获取最新数据模型之后,还包括:
根据所述最新数据模型,将本地数据模型更新为所述最新数据模型。
4.根据权利要求1所述的方法,其特征在于,所述生成迁移所述目标微服务的第二结果之后,还包括:
显示所述第二结果。
5.一种目标微服务迁移方法,其特征在于,应用于远端服务器,所述方法包括:
获取人工经验标记样本;
根据数据模板对所述人工经验标记样本进行格式化,得到标记训练样本;
通过获取三方件不同版本的源码,得到无标记训练样本;
根据训练样本,得到最新数据模型,所述训练样本包括所述标记训练样本和所述无标记训练样本;所述数据模板包括:样本开始格式标记字段、修改文件类型字段、操作类型字段、源数据字段和目标数据字段;所述修改文件类型字段的取值范围为{yaml,yml,xml,properties,java,txt};所述操作类型字段的取值范围为{add,remove,replace};
接收终端设备发送的所述最新数据模型的获取请求;
根据所述获取请求,将所述最新数据模型发送至所述终端设备,以使所述终端设备根据所述最新数据模型对目标微服务的项目源码进行自动化修改并生成迁移所述目标微服务的第一结果和第二结果,以完成所述目标微服务的迁移;
接收所述终端设备发送的所述第一结果和所述第二结果,所述第一结果为所述项目源码的修改标记结果;所述第二结果为所述项目源码的修改完成结果;
根据所述第一结果和所述第二结果更新所述最新数据模型;
所述第一结果还用于所述终端设备显示所述第一结果并响应于用户对所述第一结果的调整操作调整所述第一结果。
6.根据权利要求5所述的方法,其特征在于,所述根据所述训练样本,得到最新数据模型,包括:
通过第一算法对所述训练样本进行特征提取,得到多个特征数据;
通过第二算法对所述训练样本和所述多个特征数据进行多轮训练,得到所述最新数据模型。
7.根据权利要求6所述的方法,其特征在于,所述第一算法包括RNN算法。
8.根据权利要求6所述的方法,其特征在于,所述第二算法包括CNN算法。
9.根据权利要求5所述的方法,其特征在于,所述根据所述第一结果和所述第二结果更新所述最新数据模型,包括:
将所述第一结果和所述第二结果并入所述训练样本,并继续执行所述根据训练样本,得到最新数据模型的步骤。
10.根据权利要求5所述的方法,其特征在于,所述源数据字段取值为String。
11.根据权利要求5所述的方法,其特征在于,所述目标数据字段取值为String。
12.一种目标微服务迁移系统,其特征在于,所述系统包括:
远端服务器,用于获取人工经验标记样本;根据数据模板对所述人工经验标记样本进行格式化,得到标记训练样本;通过获取三方件不同版本的源码,得到无标记训练样本;根据训练样本,得到最新数据模型,所述训练样本包括所述标记训练样本和所述无标记训练样本;所述数据模板包括:样本开始格式标记字段、修改文件类型字段、操作类型字段、源数据字段和目标数据字段;所述修改文件类型字段的取值范围为{yaml,yml,xml,properties,java,txt};所述操作类型字段的取值范围为{add,remove,replace};所述无标记训练样本包括三方件不同版本的源码;
终端设备,用于响应于用户对目标微服务的更新操作,从所述远端服务器获取所述最新数据模型;响应于所述用户对所述目标微服务的目标迁移框架类型的选择操作,根据所述最新数据模型、所述目标迁移框架类型,对所述目标微服务的项目源码进行自动化修改,生成迁移所述目标微服务的第一结果,所述第一结果为所述项目源码的修改标记结果;响应于所述用户对所述第一结果的确认操作,生成迁移所述目标微服务的第二结果,所述第二结果为所述项目源码的修改完成结果;响应于所述用户在迁移工具中对参与用户改进计划选项的选择操作,将所述第一结果和所述第二结果上传至所述远端服务器;
所述远端服务器,还用于根据所述第一结果和所述第二结果更新所述最新数据模型;
所述终端设备具体用于解析所述最新数据模型,得到解析后的数据模型;根据所述解析后的数据模型、所述目标迁移框架类型,对所述目标微服务的项目代码进行自动化修改,生成所述第一结果;
所述终端设备生成迁移所述目标微服务的所述第一结果之后,还用于显示所述第一结果;响应于所述用户对所述第一结果的调整操作,调整所述第一结果。
13.一种电子设备,其特征在于,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,当所述处理器运行所述程序指令时,使所述电子设备执行如权利要求1-11中任一项所述方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述程序请求被计算机运行时使所述计算机执行如权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310109095.XA CN116009960B (zh) | 2023-02-14 | 2023-02-14 | 一种目标微服务迁移方法、系统和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310109095.XA CN116009960B (zh) | 2023-02-14 | 2023-02-14 | 一种目标微服务迁移方法、系统和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116009960A CN116009960A (zh) | 2023-04-25 |
CN116009960B true CN116009960B (zh) | 2024-01-23 |
Family
ID=86034049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310109095.XA Active CN116009960B (zh) | 2023-02-14 | 2023-02-14 | 一种目标微服务迁移方法、系统和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116009960B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919501A (zh) * | 2015-12-25 | 2017-07-04 | 北京计算机技术及应用研究所 | 基于缺陷模式的静态分析方法和工具 |
CN111221570A (zh) * | 2019-12-30 | 2020-06-02 | 中国平安财产保险股份有限公司 | 微服务框架的迁移方法、装置、设备及存储介质 |
CN111258551A (zh) * | 2018-11-30 | 2020-06-09 | 中国移动通信集团浙江有限公司 | 一种代码生成方法以及装置 |
CN112181489A (zh) * | 2020-09-28 | 2021-01-05 | 中国平安人寿保险股份有限公司 | 代码迁移方法、装置、计算机设备及存储介质 |
CN114035786A (zh) * | 2021-11-10 | 2022-02-11 | 中国建设银行股份有限公司 | 一种基于依赖的微前端兼容迁移方法及系统 |
CN114579141A (zh) * | 2022-03-09 | 2022-06-03 | 平安普惠企业管理有限公司 | require框架转化为VUE框架的方法及装置 |
CN115080505A (zh) * | 2021-09-08 | 2022-09-20 | 荣耀终端有限公司 | 数据迁移方法、终端、存储介质和程序产品 |
CN115268868A (zh) * | 2022-07-26 | 2022-11-01 | 中国海洋大学 | 一种基于有监督学习的智能源码转换方法 |
CN115437647A (zh) * | 2022-08-23 | 2022-12-06 | 鹏城实验室 | 适配多框架的微服务部署方法、装置、终端及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11488064B2 (en) * | 2020-03-30 | 2022-11-01 | International Business Machines Corporation | Machine learning model for micro-service compliance requirements |
-
2023
- 2023-02-14 CN CN202310109095.XA patent/CN116009960B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919501A (zh) * | 2015-12-25 | 2017-07-04 | 北京计算机技术及应用研究所 | 基于缺陷模式的静态分析方法和工具 |
CN111258551A (zh) * | 2018-11-30 | 2020-06-09 | 中国移动通信集团浙江有限公司 | 一种代码生成方法以及装置 |
CN111221570A (zh) * | 2019-12-30 | 2020-06-02 | 中国平安财产保险股份有限公司 | 微服务框架的迁移方法、装置、设备及存储介质 |
CN112181489A (zh) * | 2020-09-28 | 2021-01-05 | 中国平安人寿保险股份有限公司 | 代码迁移方法、装置、计算机设备及存储介质 |
CN115080505A (zh) * | 2021-09-08 | 2022-09-20 | 荣耀终端有限公司 | 数据迁移方法、终端、存储介质和程序产品 |
CN114035786A (zh) * | 2021-11-10 | 2022-02-11 | 中国建设银行股份有限公司 | 一种基于依赖的微前端兼容迁移方法及系统 |
CN114579141A (zh) * | 2022-03-09 | 2022-06-03 | 平安普惠企业管理有限公司 | require框架转化为VUE框架的方法及装置 |
CN115268868A (zh) * | 2022-07-26 | 2022-11-01 | 中国海洋大学 | 一种基于有监督学习的智能源码转换方法 |
CN115437647A (zh) * | 2022-08-23 | 2022-12-06 | 鹏城实验室 | 适配多框架的微服务部署方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116009960A (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134316B (zh) | 模型训练方法、情绪识别方法及相关装置和设备 | |
CN109981885B (zh) | 一种电子设备在来电时呈现视频的方法和电子设备 | |
CN113254409A (zh) | 文件共享方法、系统及相关设备 | |
CN114579389A (zh) | 应用的管理方法、装置、设备及存储介质 | |
CN111343326A (zh) | 获取测试日志的方法及相关装置 | |
CN113837984A (zh) | 播放异常检测方法、电子设备和计算机可读存储介质 | |
CN116009960B (zh) | 一种目标微服务迁移方法、系统和电子设备 | |
WO2022242412A1 (zh) | 杀应用的方法及相关设备 | |
WO2022007757A1 (zh) | 跨设备声纹注册方法、电子设备及存储介质 | |
CN113784331B (zh) | 更新用户身份识别模块卡系统数据的方法及装置 | |
CN114079642B (zh) | 一种邮件处理方法及电子设备 | |
CN116032942A (zh) | 跨设备的导航任务的同步方法、装置、设备及存储介质 | |
CN113467821A (zh) | 应用程序的修复方法、装置、设备及可读存储介质 | |
CN114003241A (zh) | 应用程序的界面适配显示方法、系统、电子设备和介质 | |
CN114971107A (zh) | 一种隐私风险反馈方法、装置及第一终端设备 | |
CN113867851A (zh) | 电子设备操作引导信息录制方法、获取方法和终端设备 | |
CN114664306A (zh) | 一种编辑文本的方法、电子设备和系统 | |
CN116048629B (zh) | 系统服务切换方法及控制装置、电子设备和存储介质 | |
CN116719376B (zh) | 电压控制方法、装置、设备和存储介质 | |
CN117130765B (zh) | 计算资源的配置方法和电子设备 | |
WO2023045876A1 (zh) | 应用程序安装方法及相关设备 | |
CN117667506A (zh) | 一种图库克隆方法、系统和电子设备 | |
CN117724860A (zh) | 一种数据处理方法和电子设备 | |
CN116382728A (zh) | 传播名显示方法和终端设备 | |
CN116757259A (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 |