应用系统适配迁移是一个艰巨、繁杂的过程,需要在充分调研的基础上统筹规划推动,在长期的项目适配过程中总结出一套行之有效的方法论,简单归纳如下:
1、 系统现状评估
2、 系统适配
3、测试验证、迁移
1、系统现状评估
系统现状的评估包含三个方面的内容:硬件评估、基础软件评估和应用软件调研。
1.1 硬件评估
硬件包括整机和关键元器件。整机主要是PC终端、服务器、交换机、存储设备;关键元器件有CPU、磁盘、显卡等。其中的核心是CPU,它是计算机系统的心脏。而国产化对于CPU的设计、代工、生产、封测各环节都有相应的要求。在PC机和服务器CPU中,x86架构占据了绝对优势地位。
1.2 基础软件评估
基础软件评估对象主要有操作系统、数据库、中间件。
1.3 操作系统
操作系统是计算机系统的内核与基石,主要管理硬件与软件资源,对于上层软件的架构、开发等有决定性影响,可以说操作系统决定了整个软件生态。由于历史的原因,目前PC机领域几乎被windows垄断,服务器领域主要是linux或其他类unix系统。
1.4 数据库
数据库主要提供了数据存储和管理功能,是现代信息系统的核心组成部分,为其提供数据支撑服务。数据库的配置(cpu/内存/存储)、并发度、主备架构、读写分离等功能特性对于整个信息系统的功能、性能有着决定性的影响。目前信息系统中最常用的数据库主要有Oracle、SQL Server、MySQL。
1.5 中间件
中间件是介于应用程序和操作系统之间的一类软件,它屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,将注意力集中在自己的业务上,减少了程序设计的复杂性。中间件种类繁多,最常用的主要有消息中间件和应用服务器中间件。
1)消息中间件
消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并给予数据通信来进行分布式系统的集成。其最突出的特点是提供数据传输的可靠性与高效性,主要解决分布式系统的数据传输需求。其主要作用如下:
应用解耦——将传统的紧耦合(如函数调用)方式用松耦合(消息发布/订阅)方式代替,确保服务调用方的问题不会扩散到服务提供方(或反之),最大限度提升系统整体可用性。
异步调用——尽量用异步掉头代替同步调用,提高效率。
流量削峰——在访问量急剧增加的情况下,利用消息中间件的缓存能力,保证程序不会因为突发的超负荷请求而崩溃。
2)应用服务器中间件
应用服务器又称为应用服务器软件平台,是为应用程序提供业务逻辑的代码,通常基于组件,位于以服务器为中心的架构的中间层,该架构主要基于web,与应用服务器相对应的还有web服务器。简单来说,web服务器只负责处理http协议,只能发送静态 页面的内容;而jsp、asp、php等动态内容需要通过CGI等接口交给其他程序去处理,这个其他程序就是应用服务器,也就是能实现动态网页技术的服务器。
1.6应用软件调研
应用软件调研主要是了解软件的架构、插件、开发语言等,以便对应用软件适配难度进行初步评估。应用软件。
信创工作要解决应用向国产架构体系化迁移的三大难点,保障全面落地
伴随近年来信创实践的加速落地,以及信创需求的持续释放,信创产业正在逐渐形成“应用-反馈-迭代调优-再应用”的正向循环。从应用落地解析,可以发现,信创工作的重中之重,是从原有架构平滑地全面迁移到信创架构,并满足业务性能以及不断增长的需要,通过应用治理能力,无侵入式保障业务应用可靠运行。
在这个过程中,信创工作遇到的众多问题与挑战,可以归纳为应用向国产架构体系化迁移的三大难点。
难点一:应用是否能平滑迁移
比如,信创生态中存在多种多样的国产化环境,涉及不同架构的芯片,各个厂商的操作系统、数据库、中间件等。如何挑选最优的组合,以利于尽早确定信创技术栈,保证在原有原有架构上运行的众多业务应用,能够顺利迁移到信创架构,并在信创环境中平稳运行?
比如,怎样通过迁移工具降低迁移风险,保障按照替换时间表,在任务紧迫的压力下,快速有效地完成从硬件到软件层面的全栈替换,实现业务系统迁移后的良好运行,同时提升信创验收的顺畅度?
难点二:能否满足业务高并发性能的需要
比如,怎样进行支撑业务需求变化的各种逻辑处理,保障迁移到信创环境的应用能够满足高并发请求,以及后续业务连续增长对性能的要求,实现良好运行?
比如,大型企业的业务应用众多且存在交叉关联,那些原本支持几十万人同时在线处理的应用,迁移到信创环境后,是否还能支持到这种量级?
难点三:应用黑盒,是否能够进行有效治理
比如,业务系统治理需要用户全面掌控系统使用情况。那么,如何为治理需要而破解应用黑盒,利于企业直接对应用进行数据分析,细粒度的掌握系统运行情况,实现无侵入式的应用快速治理,确保业务应用可靠运行?
在护航不同客户信创落地的众多实践中,我们结合多项经验与客户行业实际,整理了体系化的应用迁移方案,帮助客户突破应用向国产架构体系化迁移的三大难点,助力企业快速完成信创实践。
实践中的具体内容,包括但不限于:
怎么规划全栈体系与后续系统,制定迁移方案,实现数据梳理、硬件替换,达成平滑迁移;
在系统改造上要做哪些设计,针对哪些方面进行重点测试,保障满足业务高并发性能的需要;
哪些方面可能以前没考虑到,还要去联调、考察,突破应用黑盒实现应用治理,保证项目顺利实施;
系统切换是直接由以前的体系切到信创体系,还是要保持双轨运行,通过灰度发布的方式从外围到核心慢慢地将流量切过来,护航平滑迁移与业务运行;
通过应用迁移、自动化测试等系列保障工具,进行全生命周期管理、监控运维,帮助客户更好地从需求到设计、上线、运行,乃至更新迭代,结合客户实际情况解决三大难点,保障信创迁移,支持信创发展。
迁移方法1:修改注册表来迁移应用程序
注册表是Windows操作系统的核心,实质上是一个庞大的数据库,存放有计算机硬件和全部配置信息、系统和应用软件的初始化信息、应用软件和文档文件的关联关系、硬件设备说明等,用户通过修改注册表可以实现应用程序的迁移,如下所示是修改注册表来实现win10应用搬家的操作步骤。
步骤1 :在目标磁盘中新建 “Program Files (86)”文件夹。
步骤2 :将C盘中的“Program Files”和“Program Files (x86)”目录复制到目标磁盘中的文件夹。
步骤3 :按下组合键“Win+R”,以管理员身份依次输入以下命令,并在每一行命令后按一次Enter键执行。
Robocopy" C:\ Program Files" " "D:\ Program Files" / mir
Robocopy" C:\ Program Files(x86)" " "D:\ Program Files(x86)" / mir
注意:D是所新建的文件夹所在的驱动器的驱动器号。
步骤4:按下组合键“Win+R”,输入regedit并按回车键打开注册表编辑器。
步骤5: 找到文件夹路径并将C盘更改为目标驱动器。
Windows10/11的路径:HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion
Windows7/8/8.1的路径:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion
修改系统注册表的操作方法比较专业,适合有一定计算机知识的用户,如果是小白用户,请谨慎使用该方法,因为误操作注册表,可能会直接导致系统崩溃。
迁移方法2:使用好用的应用搬家软件
对于win10应用搬家,用户可以借助于专业的数据迁移软件——易我电脑迁移,不仅可以把已安装的软件迁移到另一台电脑,同时,还可以迁移大型文件,尤其是那种占用大量磁盘空间的程序文件或服务器文件,支持迁移的应用程序包括MS Office(Word、Excel、Outlook等)。易我电脑迁移还可以迁移电脑用户帐户、个性化设置以及电源设置转移新电脑中,操作简单高效。
易我电脑迁移软件(EaseUS Todo PCTrans Pro)——智能的文件/数据/应用程序和用户帐户迁移工具。好上手的用户界面确保使用起来简单方便!
将一个Android应用迁移到鸿蒙系统需要进行细致的工作,因为两者之间存在一些根本性的差异,涉及到代码、架构、界面等多个方面的修改和适配。以下是迁移工作可能涉及的一些主要方面,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。
1.代码转换和适配:
语言转换: 如果原始Android应用是使用Java编写的,需要考虑将Java代码转换为鸿蒙系统所支持的语言,如Java、JS、C、C++等。
API适配: 鸿蒙系统使用不同的API,需要修改和适配原始Android应用中使用的Android API。
2.界面适配:
布局适配: Android使用XML定义界面布局,而鸿蒙系统使用不同的布局系统。需要修改和适配布局文件。
控件适配: Android和鸿蒙系统可能使用不同的UI控件,需要将原有控件替换为鸿蒙系统支持的控件。
3.资源适配:
图像资源: 需要将原有的Android图像资源适配到鸿蒙系统,确保图像显示正确。
字符串资源: Android和鸿蒙系统可能使用不同的字符串资源管理方式,需要进行适配。
4.权限适配:
权限管理: 鸿蒙系统和Android可能有不同的权限模型,需要检查并适配应用的权限请求。
5.网络和数据适配:
网络请求: 如果应用中有网络请求,需要适配网络模块,确保网络请求在鸿蒙系统中正常工作。
数据存储: Android和鸿蒙系统的数据存储方式可能不同,需要适配数据存储模块。
6.多设备适配:
设备适配: 鸿蒙系统支持多种设备,需要确保应用在不同设备上的适配性,包括屏幕尺寸、分辨率等。
分布式能力: 如果需要发挥鸿蒙系统的分布式能力,可能需要对应用的架构进行调整。
7.性能优化:
资源管理: 鸿蒙系统和Android系统的资源管理方式可能有所不同,需要进行性能优化,确保应用在鸿蒙系统上的流畅运行。
8.测试和调试:
测试环境: 创建鸿蒙系统的测试环境,进行功能测试、性能测试等。
调试工具: 鸿蒙系统可能有不同的调试工具,需要熟悉并使用这些工具。
需要注意的是,鸿蒙系统和Android系统的差异较大,因此迁移工作可能是一项复杂的任务,具体的工作量评估取决于应用的规模、复杂度以及使用的特定功能。在进行迁移之前,建议先对应用进行全面的分析,确定可能涉及到的问题和适配工作。同时,可以逐步进行迁移,先进行基本功能的迁移和验证,再逐步适配其他复杂功能。
适配迁移方案整体理解
根据对应用系统现状及需求分析的理解,整体理解如下:
1、首先对应用系统进行现状调研,了解应用系统的功能内容、性能指标、使用情况等,根据了解到的需求情况编写应用适配方案,即可开始准备适配与迁移改造工作。
2、为了不影响用户正常使用应用系统处理工作,因此本次应用适配与迁移按照“双轨并行、试点突破、符合实际、有效验证”的战略要求,“双轨并行”路线主要是不对实际的业务处理结果产生实质性影响,保证混合环境运行的一致性和完整性,圆满完成应用的适配与迁移。
3、数据库适配是本次应用迁移重点、难点,解决方案是使用国产数据库自有的适配迁移工具和人工重复多次验证,最终保障数据完整迁移,不异常。
4、鉴于原系统建设单位并非我单位,适配与迁移过程中还存在与原软件开发商协调的风险,我单位会与原厂商积极协调,紧密合作,圆满完成本次迁移工作。
5、为了防范物理损坏导致的数据丢失问题,在数据安全方面,最重要的是保障数据的备份和恢复,尤其是在双环境分布式数据架构环境中,不仅需要使用国产数据库软件提供的备份工具进行本地备份,还需要开发不依赖于特定数据库基础软件的工具程序,将数据备份到指定的备份服务器上,使数据体系具备多个副本,尽可能保证在设备异常情况下,能够及时恢复数据,维系应用系统的不间断运行。
6、本次迁移适配选择以飞腾CPU、长城整机体系代表的国产ARM架构,ARM技术架构具有体积小、低功耗、低成本、高性能、执行速度快等明显优势。
二、 技术路线
目前国产CPU 厂商得到了相应指令集的架构授权,CPU 的指令集分为复杂指令集(CISC)和精简指令集(RISC)两大类。复杂指令集以 x86 架构为代表,精简指令集则包括 ARM、MIPS、Alpha、Power 等。
我单位选择的迁移适配技术路线是以飞腾CPU、长城整机为体系代表的国产ARM架构。
ARM架构的优势体现在:
1、ARM 通过三大层级授权联合行业伙伴,扩展产业应用生态。
使用层级授权:是最低的授权层级,可以使用封装完毕的ARM处理器核心,可通过增加封装之外的DSP核心的形式实现更多的功能和特性,例如频率、功耗等,不可改变原有设计,ARM 对大多中国背景的企业采用这一级别的授权。
内核层级授权:可以以内核为基础添加外设,比如USART、GPIO、 SPI、ADC 等,最终都形成了新的 MCN,代表厂商为三星、德州仪器、 博通、飞思卡尔、富士通等。
架构/指令集层级授权:可以对 ARM架构或 ARM指令集进行改造以实现自行设计处理器,代表厂商为高通 Krait、Marvell 以及飞腾等。
2、体积小、低功耗、低成本、高性能
ARM 架构是一个精简指令集(RISC)处理器架构家族,ARM处理器体积小,不占空间,能够完美完成嵌入式环境下的应用,ARM同样保持着超强的性能,在世界都处于领先地位,不仅如此还力求做到最低的功率消耗。ARM结构的优点是能兼顾到性能、功耗、代码密度、价格等几个方面,而且做得比较均衡。
3、指令执行速度更快,指令长度固定
ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。与ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。
4、很好的兼容8位/16位器件
ARM微处理器同时还支持较新体系结构中的支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。但同时Thumb指令集又是ARM指令集的功能子集。
5、丰富的可选择芯片
拥有丰富的芯片,在国内市场上,常见的有ST、TI、NXP、Atmel、Samsung、OKI、Sharp、Hynix、Crystal等厂家的芯片。用户可以根据各自的应用需求,从性能、功能等方面考察,在许多具体型号中选择最合适的芯片来设计自己的应用系统。