标准规范下载简介
DB43/T 2258-2021 信息技术应用创新工程建设规范 第11部分:迁移适配通用技术要求.pdf简介:
DB43/T 2258-2021《信息技术应用创新工程建设规范 第11部分:迁移适配通用技术要求》是一个技术标准,它主要针对信息技术应用创新工程中的迁移适配环节提供通用性的技术指导。迁移适配通常指的是在系统升级、架构变更或者平台转换过程中,将现有的应用程序或数据从一个环境迁移到另一个环境,同时确保其功能、性能和数据完整性不受影响。
该标准可能涵盖了以下方面内容:
1. 迁移策略:明确了迁移过程中的策略选择,如数据迁移、应用程序迁移等,并提供了评估迁移风险和优先级的方法。
2. 技术方法:规定了迁移工具的选择、使用和配置,以及可能采用的迁移技术,如容器迁移、虚拟机迁移等。
3. 兼容性和互操作性:确保迁移到新环境的应用或系统能与现有系统无缝对接,保证数据格式、接口、协议等方面的兼容性。
4. 数据安全和隐私保护:在迁移过程中,如何保护敏感信息不丢失,遵循数据保护法规。
5. 性能和可用性:对迁移后的系统性能、响应时间、可用性等提出要求,以保证服务质量。
6. 测试和验证:对迁移后的系统进行严格的测试,包括功能测试、性能测试、兼容性测试等,确保其满足预期。
7. 文档和知识管理:强调了迁移过程中的文档记录和知识转移,为后期的维护和优化提供依据。
综上,DB43/T 2258-2021标准为信息技术应用创新工程中的迁移适配提供了规范化、系统化的方法和流程,有助于提高迁移的成功率和质量。
DB43/T 2258-2021 信息技术应用创新工程建设规范 第11部分:迁移适配通用技术要求.pdf部分内容预览:
DB43/T 22582021
信息技术应用创新工程建设规范
11部分:迁移适配通用技术要求
本文件规定了应用软件程序和设备驱动程序在不同操作系统之间迁移适配的技术要求,应用软件迁 移适配要求包括开发环境迁移适配、代码重编译、运行环境迁移适配、存储位置、权限、安装脚本和兼 容性要求,设备驱动程序迁移适配包括代码设计、代码适配、代码重编译、打包、内核兼容性等要求, 并提出迁移后的功能验证和性能优化要求。 本文件适用于指导信息技术应用创新工程建设中应用软件和设备驱动程序在不同操作系统上的迁 移适配工作,也为应用软件和设备驱动程序迁移后的软件测试提供指导。
下列文件审的内容通过文中的规范性引用而构成本文件必不可少的条款。其中DBJ/T13-407-2022 福建省建筑装配式内装修工程技术标准(附条文说明).pdf,注日期的引用文件 仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本 文件。 DB43/T1777.6一2020信息技术应用创新工程建设规范第6部分:操作系统软件兼容性通用技 术要求 DB43/T2260一2021信息技术应用创新工程建设规范第9部分:驱动开发通用技术要求 DB43/T2259一2021信息技术应用创新工程建设规范第10部分:应用开发通用技术要求
下列缩略语适用于本文件:
下列缩略语适用于本文件:
DB43/T 22582021
CRC:循环冗余校验(CyclicRedundancyCheck) DKMS:动态内核模块支持(DynamicKernelModule Support) GDK:图形开发工具包(GraphicsDevelopmentKit) GPU:图形处理器(GraphicsProcessingUnit) GTK:跨多种平台的图形工具包(GIMPToolkit)
在迁移适配工作开始之前,应按以下要求进行迁移适配评估: a)迁移软件源码分析:分析迁移软件的主要功能和模块组成,建立功能模块与功能实现的映 射关系; b)基础运行环境分析:分析迁移软件所在源平台和目标平台的开发环境、运行环境、开发规范 以及处理器指令集的差异,评估这些差异对迁移软件代码的影响; c)第三方软件栈分析:分析目标平台上的第三方软件栈(包括数据库、中间件、办公套件、浏 览器等)数据、二次开发接口、操作习惯等是否兼容,确定可以重用、需要迁移改造的功能模 块和代码段范围,确定迁移适配的技术路线; d)迁移适配工作量评估:根据迁移适配可能的技术路线,从技术方案和管理实施等角度评估 不同组合的迁移工作量、复杂度和成本; e)迁移环境准备:主要包括硬件设备、操作系统以及调试工具等的准备和部署。
5.2编译型应用软件迁移适配实施要求
5.2.1开发环境迁移适配要求
a) 1 应分析应用软件的架构和实现技术、与操作系统平台的耦合度和依赖度,确定迁移所涉及的 各类系统机制; b)将与系统调用无关的部分代码进行剥离,在国产操作系统环境下重建工程,重用代码; C)不 根据软件分析中运行环境、开发环境和接口的差异进行代码修改,实现与原系统相同的软件 功能,例如Qt项目迁移,当前主要从Qt4迁移到Qt5,具体迁移参照表应符合附录A的规定; Gtk迁移主要从gtk2迁移到gtk3,具体内容应符合附录B的规定。
5.2.2代码重编译要求
代码重新编译时,应对编译脚本和编译选项进行移植,将编译脚本和编译选项更改为目标体系结构 支持的编译脚本和编译选项。生成软件包时,命名和打包规范应按照DB43/T1777.6一2020中6.5节要 求执行。
5.2.3运行环境迁移适配要求
DB43/T 22582021
5.3解释型应用软件迁移适配实施要求
应用软件可执行程序、动态库、配置文件、数据文件、缓存文件的存储位置,应符合DB43/T2 021第6章的要求
5.5.1权限分离要求
具有前端交互逻辑的应用软件的可执行程序,应以普通用户权限运行,不应使用sudo、pkexec等 命令来提权运行。 具有前端交互逻辑的应用软件的可执行程序,如果需要特权态执行某些操作,应使用前后端分离的 方式实现,通过dbus等技术与后端具有管理员权限的服务端通讯,实现相关功能
5.5.2权限提升要求时用户鉴别要求
前端应用程序使用dbus等技术与后端具备管理员权限的服务通讯时,应使用policykit等技术进 行身份鉴别,用于确定用户是否具备该项行为的权限。
a) 宜将维护者脚本作为软件包的一部分,当安装、升级、移除软件包时,软件包管理系统会自 动执行这些脚本; b) 维护者脚本应是可执行文件,以#!符号开头,且这些脚本应是可读的,可被任何人执行,不 应全局可写; c)包管理系统可查看维护者脚本的退出状态,如果脚本运行错误,应返回一个非零值;如果脚本 运行正常,应返回零值; d)用户与软件包通过维护者脚本中的配置文件进行交互时,应先安装一个配置脚本作为控制 信息文件; e)升级软件包时,包管理系统将调用旧版本和新版本软件包中的脚本组合,用户应检查参数
DB43/T 22582021
以保证正确性: f)在软件包解压之前应先为正在被升级的包停止相关服务,然后完成所需的配置工作;在移 除软件包之前,应先停止一个软件包的相关进程,然后修改相关文件或连接,和/或卸载软件 包所创建的文件; g)维护者脚本调用的程序不应在程序名前添加路径,其路径会设置在PATH环境变量中。
5.7.1与操作系统解耦要求
5.7.2动态库依赖自包含要求
应用软件迁移适配后,应进行以下功能验证: a) 按照应用软件的功能点逐一进行功能测试,保证迁移后的系统与原有系统功能一致; b) 检查迁移后应用软件的用户界面,是否符合通用规范,是否符合美观性和易用性; C) 检查迁移后应用软件的安全性,是否与原有系统具有相同的安全性; d) 检查迁移后应用软件的容错性,是否与原有系统具有相同的容错性; e)x 检查应用软件在不同平台的安装配置能力,检查在不同平台、不同配置下应用软件的适 配性; f) 与原有系统集成适配验证; g)用户使用场景验证。
迁移适配时,应通过数据采集、瓶颈分析、问题定位、策略优化、修改验证5个过程的多次选代进 行性能优化,使应用软件迁移后的性能不低于迁移前的性能。迁移过程包含以下内容: a)数据采集:通过设置Web会话、线程、CPU、I/0、网络、内存等数据采集点,持续采集应 用软件的运行数据,同时根据性能指标评估体系,对应用软件性能指标采集性能评估数据; b)瓶颈分析:对采集到的数据开展分析,对耗时较多部分,运用时间切片工具进行分析,找 出消耗量大的资源; c)问题定位:使用运行监控分析工具分析资源消耗较大的原因,可从线程、内存等层面逐步 定位问题; d)策略优化:建立用于性能优化的专家知识库,提供系统性建议,为快速解决问题提供依据 和建议方案; e)修改验证:实施建议方案并进行效果验证,确保问题得到解决; f)宜通过1oadrunner、JMeter等性能测试工具分析应用软件的性能,分析比对找出瓶颈并进行 优化
DB43/T 22582021
在迁移适配工作开始之前,应按以下要求进行迁移适配评估: a)软件分析:应从适配性、规范性以及体系结构相关代码三个方面进行分析,初步得到了代 码的移植范围。具体的软件分析方法见附录D; b)技术路线选定:应根据软件分析的成果,按照尽量少地对驱动程序进行修改的原则设计迁 移技术路线,以满足驱动的兼容性要求; c)工作量评估:应结合关键性、性能、复杂处理、体系结构支持等对工作量进行加权,获取较 为科学的工作量,并根据这个工作量以及工作计划要求来合理配置研发人员和测试人员; d)迁移环境准备:主要包括硬件设备、操作系统以及测试验证工具的准备和部署。
6.2迁移适配实施要求
6.2.1代码设计要求
驱动程序宜进行合理的代码层次分离,分为内核框架层和核心代码逻辑层,其中内核框架层实现驱 动程序内核与Linux内核进行对接的部分,调用Linux提供的API接口函数和数据结构,这部分随着内 核的升级而变化,需要重编译;核心代码逻辑层实现驱动程序的核心功能,比如读硬件寄存器的操作、 核心算法等,通过内核框架层代码挂接入Linux内核。
6.2.2代码编写要求
代码编写应符合以下适配要求: a)驱动程序中应加入驱动签名,增加作者和许可证等签名信息; b)应根据内核和相关依赖模块的接口变化模块校验信息和模块版本控制信息,修改驱动程序 接口,保证符号表、模块校验信息和模块版本控制信息等与当前系统的匹配; c)应对驱动程序代码中的体系结构相关指令、嵌入式汇编函数和编译宏进行替换。 为了保证Linux内核升级时驱动程序内部调用的符号可用,应遵循DB43/T2260.1一2021中5.1 节规定的原则。
6.2.3代码重编译要求
代码重新编译时,应对编译脚本和编译选项进行移植,将编译脚本和编译选项更改为目标体系纟 的编译脚本和编译选项
为了减少Linux内核升级导致设备驱动程序重新编译的工作量,驱动程序打包时宜采用DKMS 央打包方式砼工程施工方案.5,内核模块打包应符合DB43/T2260一2021中第6.6节要求。
6.2.5内核兼容性要求
6.2.5.1导出符号的CRC信息
设备驱动程序所使用的导出符号的CRC信息应与内核中所记录的对应符号的CRC信息保持一致 呆设备驱动程序和内核的兼容性
DB43/T 22582021
DB43/T 22582021
CJJ∕T 107-2019 生活垃圾填埋场无害化评价标准6.2.5.2多内核版本兼容
若识别驱动程序需同时兼容多个内核版本,驱动程序中应包含对所兼容的内核版本的相关判困
驱动程序迁移适配后,应进行以下功能验证: a) 按照驱动程序的功能点逐一进行功能测试,保证迁移后的驱动与原有功能一致; D) 检查内核能否正常加载驱动程序; 2 检查驱动程序在不同平台的安装配置能力,检查在不同平台、不同配置下驱动程序的适配性; 1) + 若发现问题,应跟踪系统日志,分析问题产生的原因并进行相应的修改,然后进行回归测试, 直到通过所有的功能测试