1.本申请涉及计算机技术领域,特别是涉及一种基于国产信创软硬件平台的迁移适配方法、装置和设备。
背景技术:
2.随着计算机技术的发展,不同种类的应用系统先后陆续出现。通常情况下,一种应用系统需要通过软硬件进行适配后,才能迁移至非原生平台使用,比如,非国产的应用系统需要通过软硬件适配后才能迁移至国产的平台使用。
3.传统方法中,都是单独在迁移过程中,针对应用系统中的某一个或者几个部分进行适配,比如,仅针对数据库的迁移适配等。然而,仅对迁移过程中某一个或者几个部分进行适配,会存在兼容性等方面的问题,所以,最终导致迁移后的应用系统的整体性能不高。
技术实现要素:
4.基于此,有必要针对上述技术问题,提供一种能够提高整体性能的基于国产信创软硬件平台的迁移适配方法、装置、计算机设备和存储介质。
5.一种基于国产信创软硬件平台的迁移适配方法,所述方法包括:
6.根据待迁移的应用系统所对应的技术栈,预测所述应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果;
7.根据所述应用系统迁移预测结果,确定应用系统迁移方案;所述应用系统迁移方案包括使所述应用系统适配于所述目标平台的软件信息和硬件信息;
8.在所述目标平台中,安装所述软件的信息所对应的软件以及外接所述硬件信息所对应的硬件,得到所述应用系统所需的运行环境;
9.将所述应用系统迁移至所述目标平台中创建的所述运行环境,并按照性能指标对迁移后的所述应用系统进行性能测试;
10.根据性能测试结果,对迁移至所述目标平台的所述应用系统进行性能优化。
11.在其中一个实施例中,所述根据待迁移的应用系统所对应的技术栈,预测所述应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果,包括:
12.根据待迁移的应用系统所对应的应用软件栈、系统软件栈以及计算机硬件系统,预测应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果。在其中一个实施例中,所述在所述目标平台中,安装所述软件的信息所对应的软件以及外接所述硬件信息所对应的硬件,包括:
13.在所述目标平台中,安装所述软件的信息所对应的操作系统、编译器、解释语言的软件开发工具包、依赖库以及相关辅助工具软件;
14.在所述目标平台中,外接所述硬件信息所对应的硬件。
15.在其中一个实施例中,所述将所述应用系统迁移至所述目标平台中创建的所述运行环境,包括:
16.将应用系统所对应的组件、应用框架、各种应用软件包、编程语言、系统架构、数据库、中间件、cpu和各种外接设备,通过相应迁移工具,迁移至所述目标平台所创建的所述运行环境。
17.在其中一个实施例中,所述按照性能指标对迁移后的所述应用系统进行性能测试,包括:
18.按照针对所述应用系统设置的初步性能指标,在模拟运行环境下对迁移后的所述应用系统中的计算机系统进行性能模拟测试;
19.根据性能模拟测试结果和所述初步性能指标,确定目标性能指标;
20.按照所述目标性能指标,在迁移至的所述运行环境下对所述应用系统进行性能测试。
21.在其中一个实施例中,所述根据性能测试结果,对迁移至所述目标平台的所述应用系统进行性能优化,包括:
22.根据性能测试结果,创建基准数据和优化目标;
23.对所述应用系统进行压力测试;
24.将得到的压力测试结果与建立的基准数据和优化目标作比较,分析出所述应用系统的性能瓶颈;
25.获取针对所述性能瓶颈的优化方案,并根据所述优化方案进行性能优化。
26.在其中一个实施例中,所述根据所述优化方案进行性能优化,包括:
27.根据优化方案,对所述应用系统的cpu与内存、网络、磁盘接口、应用程序、虚拟机、数据库以及中间件中的至少一个进行性能优化。
28.一种基于国产信创软硬件平台的迁移适配装置,所述装置包括:
29.预测模块,用于根据待迁移的应用系统所对应的技术栈,预测所述应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果;
30.确定模块,用于根据所述应用系统迁移预测结果,确定应用系统迁移方案;所述应用系统迁移方案包括使所述应用系统适配于所述目标平台的软件信息和硬件信息;
31.安装模块,用于在所述目标平台中,安装所述软件的信息所对应的软件以及外接所述硬件信息所对应的硬件,得到所述应用系统所需的运行环境;
32.测试模块,用于将所述应用系统迁移至所述目标平台中创建的所述运行环境,并按照性能指标对迁移后的所述应用系统进行性能测试;
33.优化模块,用于根据性能测试结果,对迁移至所述目标平台的所述应用系统进行性能优化。
34.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
35.根据待迁移的应用系统所对应的技术栈,预测所述应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果;
36.根据所述应用系统迁移预测结果,确定应用系统迁移方案;所述应用系统迁移方案包括使所述应用系统适配于所述目标平台的软件信息和硬件信息;
37.在所述目标平台中,安装所述软件的信息所对应的软件以及外接所述硬件信息所对应的硬件,得到所述应用系统所需的运行环境;
38.将所述应用系统迁移至所述目标平台中创建的所述运行环境,并按照性能指标对迁移后的所述应用系统进行性能测试;
39.根据性能测试结果,对迁移至所述目标平台的所述应用系统进行性能优化。
40.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
41.根据待迁移的应用系统所对应的技术栈,预测所述应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果;
42.根据所述应用系统迁移预测结果,确定应用系统迁移方案;所述应用系统迁移方案包括使所述应用系统适配于所述目标平台的软件信息和硬件信息;
43.在所述目标平台中,安装所述软件的信息所对应的软件以及外接所述硬件信息所对应的硬件,得到所述应用系统所需的运行环境;
44.将所述应用系统迁移至所述目标平台中创建的所述运行环境,并按照性能指标对迁移后的所述应用系统进行性能测试;
45.根据性能测试结果,对迁移至所述目标平台的所述应用系统进行性能优化。
46.上述基于国产信创软硬件平台的迁移适配方法、装置、计算机设备和存储介质,先根据待迁移的应用系统所对应的技术栈,预测所述应用系统在目标平台下的可迁移性和迁移工作量,再根据得到的应用系统迁移预测结果,确定合理的迁移方案,即为后续迁移应用系统到目标平台确定所需的使应用系统适配于目标平台的软件和硬件。在目标平台安装确定好的使应用系统适配于目标平台的软件和硬件,即得到了应用系统所需的运行环境,准备好运行环境即可以将应用系统迁移至目标平台。进一步按照性能指标对迁移至目标平台的应用系统进行性能测试,以针对性能测试结果中对应于目标平台可进行优化的地方进行优化。综合上述步骤,从应用系统所对应的技术栈进行预测可以确定符合应用系统的迁移方案,然后按照迁移方案,对应用系统进行整体迁移,避免了部分迁移导致的兼容性的问题。在完成迁移之后,按照性能指标进行性能测试,针对应用系统中性能不高的部分进行性能优化,从而迁移后的应用系统的整体性能得到了提高。
附图说明
47.图1为一个实施例中基于国产信创软硬件平台的迁移适配方法的流程示意图;
48.图2为一个实施例中性能优化方法的流程示意图;
49.图3为一个实施例中性能优化过程中的具体措施示意图;
50.图4为一个实施例中基于国产信创软硬件平台的迁移适配方法步骤的流程示意图;
51.图5为一个实施例中基于国产信创软硬件平台的迁移适配装置的结构框图;
52.图6为另一个实施例中基于国产信创软硬件平台的迁移适配装置的结构框图;
53.图7为一个实施例中计算机设备的内部结构图。
具体实施方式
54.为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不
用于限定本申请。
55.在一个实施例中,如图1所示,提供了一种基于国产信创软硬件平台的迁移适配方法,本实施例以该方法应用于目标平台进行举例说明,可以理解的是,该目标平台可以是服务器或终端。本实施例中,该方法包括以下步骤:
56.步骤102,根据待迁移的应用系统所对应的技术栈,预测应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果。
57.其中,应用系统,包括计算机硬件系统、系统软件和应用软件组。计算机基本硬件系统包括运算器和控制器、存储器、外围接口和外围设备。系统软件包括操作系统、编译程序、数据库管理系统和多种高级语言。应用软件包括通用支援软件和多种应用软件包。技术栈,是开发应用系统时使用到的多项技术。目标平台,是应用系统待迁移至的平台。可迁移性,是指应用系统能够迁移至目标平台的特性。迁移工作量,是将应用系统迁移至目标平台所需的工作量。应用系统迁移预测结果,包含应用系统所对应的技术栈的软件和硬件的特性。
58.具体地,目标平台对待迁移的应用系统所对应的技术栈进行软件和硬件类型识别,得出待迁移的应用系统所使用的软件和硬件的信息。目标平台根据应用系统所使用的软件和硬件的信息,预测出将应用系统迁移至目标平台的可迁移性和迁移工作量,得到应用系统迁移预测结果。
59.可以理解,目标平台可以根据应用系统所对应的技术栈从多个方面进行预测,以预测应用系统在目标平台下的可迁移性和迁移工作量。比如,目标平台可以对待迁移的应用系统所对应的技术栈中所用到的编程语言进行预测识别,得出应用系统迁移预测结果中关于编程语言的预测结果。比如,识别出应用系统所对应的技术栈所使用的语言为编译型语言,则得到应该对编译型语言进行编译的预测结果。目标平台还可以对应用系统所对应的应用软件栈进行预测识别,得出应用系统迁移预测结果中关于应用软件栈的预测结果。
60.步骤104,根据应用系统迁移预测结果,确定应用系统迁移方案;应用系统迁移方案包括使应用系统适配于目标平台的软件信息和硬件信息。
61.其中,应用系统迁移方案,是应用系统迁移前确定的方案。软件信息,是目标平台所需要安装的、且用于使应用系统适配于目标平台的软件的信息。硬件信息,是目标平台所需要安装的、且用于使应用系统适配于目标平台的外接硬件的信息。
62.具体地,目标平台根据应用系统迁移预测结果,将能够使应用系统适配于目标平台的软件信息和硬件信息作为方案提供给用户。用户可以根据目标平台提供的方案从应用系统的可迁移性和迁移工作量做评估,以对方案的可行性进行把控。
63.比如,目标平台检测到应用系统迁移预测结果中的依赖组件不包含arm(advanced risc machine,英国acorn有限公司设计的risc微处理器)版本,那么对应于该预测结果在提供的方案中包含需要下载对应的arm版本信息。
64.步骤106,在目标平台中,安装软件的信息所对应的软件以及外接硬件信息所对应的硬件,得到应用系统所需的运行环境。
65.其中,运行环境,是安装好软件和外接好硬件的目标平台所运行的环境,安装好的软件和外接好的硬件能使待迁移的应用系统适配于目标平台。
66.具体地,目标平台将安装好应用系统迁移方案中的软件的信息所对应的软件,以
及外接好应用系统迁移方案中的硬件信息所对应的硬件得到的运行环境进行运行,等待应用系统进行迁移。
67.步骤108,将应用系统迁移至目标平台中创建的运行环境,并按照性能指标对迁移后的应用系统进行性能测试。
68.其中,性能指标,是迁移至目标平台后的应用系统的性能的检查项。性能测试,是对迁移至目标平台后的应用系统的性能做测试。
69.具体地,用户在目标平台上触发应用系统迁移操作。运行着应用系统所适配的运行环境的目标平台,响应于用户触发的应用系统迁移操作,实现应用系统迁移。目标平台按照性能指标对迁移至自身的应用系统进行性能测试。
70.步骤110,根据性能测试结果,对迁移至目标平台的应用系统进行性能优化。
71.其中,性能测试结果,是对迁移至目标平台后的应用系统的性能测试得出的结果。性能优化,是对迁移至目标平台后的应用系统的性能做优化。
72.具体地,目标平台根据对迁移至自身的应用系统进行性能测试所得的性能测试结果提供给用户。用户针对目标平台得出的性能测试结果制定优化方案。目标平台根据用户制定的优化方案对迁移至目标平台后的应用系统的性能做优化。
73.上述基于国产信创软硬件平台的迁移适配方法,先根据待迁移的应用系统所对应的技术栈,预测所述应用系统在目标平台下的可迁移性和迁移工作量,再根据得到的应用系统迁移预测结果,确定合理的迁移方案,即为后续迁移应用系统到目标平台确定所需的使应用系统适配于目标平台的软件和硬件。在目标平台安装确定好的使应用系统适配于目标平台的软件和硬件,即得到了应用系统所需的运行环境,准备好运行环境即可以将应用系统迁移至目标平台。进一步按照性能指标对迁移至目标平台的应用系统进行性能测试,以针对性能测试结果中对应于目标平台可进行优化的地方进行优化。综合上述步骤,从应用系统所对应的技术栈进行预测可以确定符合应用系统的迁移方案,然后按照迁移方案,对应用系统进行整体迁移,避免了部分迁移导致的兼容性的问题。在完成迁移之后,按照性能指标进行性能测试,针对应用系统中性能不高的部分进行性能优化,从而迁移后的应用系统的整体性能得到了提高。
74.在一个实施例中,根据待迁移的应用系统所对应的技术栈,预测应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果,包括:根据待迁移的应用系统所对应的应用软件栈、系统软件栈以及计算机硬件系统,预测应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果。
75.其中,应用软件栈,包括通用支援软件和各种应用软件包;通用支援软件,包括组件和应用框架;系统软件栈,包括编程语言、系统架构、依赖库、操作系统、数据库以及中间件;计算机硬件系统包括cpu和各种外接设备。
76.具体地,目标平台可以根据待迁移的应用系统涉及到的技术,包括组件、应用框架、各种应用软件包、编程语言、系统架构、依赖库、操作系统、数据库、中间件、cpu和各种外接设备,针对应用系统在目标平台下的可迁移性和迁移工作量作预测,得到应用系统迁移预测结果。
77.在一个实施例中,目标平台按照解释型语言和编译型语言这两种语言类别,对待迁移的应用系统的编程语言类别进行识别,并识别编译型语言对应的依赖库。目标平台还
识别待迁移的应用系统使用的组件和框架为开源或是闭源。目标平台还识别待迁移的应用系统的数据量对应的数据库类型。其中,编译型语言对应的依赖库,是在目标平台对编译型语言重新编译后运行的动态链接库。
78.在一个实施例中,解释型语言可以是“java”或者“python”,编译型语言可以是“c\c++”或者“go”。
79.在一个实施例中,目标平台可以对编译型语言“c\c++”编译后运行动态链接库。
80.在一个实施例中,目标平台根据应用系统所使用的编程语言类别作迁移可行性分析,迁移可行性分析对应的应用系统迁移预测结果可以是针对解释型语言不需要修改源代码即可迁移,而编译型语言则需要重新编译,并且在应用系统迁移至目标平台后需要运行对应于编译型的依赖库才可迁移。目标平台预测的迁移工作量,对应于应用系统迁移预测结果可以是相较于解释型语言,编译型语言的迁移工作量较大。
81.在一个实施例中,目标平台根据应用系统所使用的组件和框架为开源或是闭源类型作迁移可行性分析,迁移可行性分析对应的应用系统迁移预测结果可以是针对闭源的组件和框架,需要替换成开源的组件和框架才可迁移。目标平台预测的迁移工作量,对应于应用系统迁移预测结果可以是相较于开源的组件和框架,闭源的组件和框架的迁移工作量较大。
82.在一个实施例中,目标平台根据应用系统所使用的数据库类型作迁移可行性分析,迁移可行性分析对应的应用系统迁移预测结果可以是针对不同类型的数据库之间的数据迁移,需要对迁移的数据量做分析以及在迁移应用系统的数据后需要作数据校验。目标平台预测的迁移工作量,对应于应用系统迁移预测结果可以是数据库以及数据库中的数据量不同迁移工作量不同。
83.在一个实施例中,目标平台根据应用系统所使用的系统架构,预测迁移后的系统架构应与应用系统所使用的系统架构保持一致。目标平台预测的迁移工作量,对应于应用系统迁移预测结果可以是架构的复杂程度不同迁移工作量不同。
84.在一个实施例中,系统架构可以是cs系统架构(client-server,服务器-客户机)或者bs系统架构(web-server,浏览器和服务器架构模式),按系统架构的复杂程度可以分为三层架构或者四层架构。
85.在一个实施例中,目标平台可以通过迁移分析工具对应用系统在目标平台下的可迁移性和迁移工作量作预测。
86.本实施例中,在应用系统迁移前,只要是应用系统涉及到的技术,均作预测,可以为后期如何确定迁移方案的合理性提供参考依据。
87.在一个实施例中,在目标平台中,安装软件的信息所对应的软件以及外接硬件信息所对应的硬件,包括:在目标平台中,安装软件的信息所对应的操作系统、编译器、解释语言的软件开发工具包、依赖库以及相关辅助工具软件;在目标平台中,外接硬件信息所对应的硬件。
88.其中,相关辅助工具软件,是使应用系统迁移到目标平台能够兼容所需要的软件。
89.具体地,目标平台可以将应用系统迁移方案中软件信息涉及的软件,包括操作系统、编译器、解释语言的软件开发工具包、依赖库以及相关辅助工具软件,进行安装。目标平台还可以将应用系统迁移方案中硬件信息涉及的外接硬件进行连接。
90.在一个实施例中,若依赖组件有arm版本,目标平台则可以直接安装对应的arm版本。若依赖组件无arm版本但有对应的开源软件包,目标平台则可以直接下载开源软件包。若依赖组件无arm版本且无开源软件包,目标平台则可以直接下载源码重新编译。若依赖组件无arm版本且编程语言闭源,但有存在相同功能arm组件,则安装相同功能arm组件。若依赖组件无arm版本且编程语言闭源,也不存在相同功能arm组件,目标平台则可以分析应用系统的系统架构中需要使用arm版本的应用相对应的上层应用的影响,以裁剪对应的上层应用的功能模块,使得在无可使用的arm版本时,也不存在应用系统兼容性的影响。
91.在一个实施例中,arm的版本可以是64位也可以是32位。
92.在一个实施例中,对解释型语言目标平台需安装替换arm版本的解释语言的软件开发工具包或pvm(process virtual machine,流程虚拟机)。
93.在一个实施例中,目标平台安装的解释语言的软件开发工具包是支持arm架构的解释语言的软件开发工具包。
94.在一个实施例中,目标平台安装的编译器是支持arm架构的编译器,如“gcc9.1”以上版本的编译器。
95.在一个实施例中,目标平台安装的驱动可以是来源于硬件厂商或者os(operating system,操作系统)厂商。
96.本实施例中,按照应用系统迁移方案安装好相应的软件并外接好相应的硬件,以便于为后续的迁移替代实现阶段提供运行环境支持。
97.在一个实施例中,将应用系统迁移至目标平台中创建的运行环境,包括:将应用系统所对应的组件、应用框架、各种应用软件包、编程语言、系统架构、数据库、中间件、cpu和各种外接设备,通过相应迁移工具,迁移至所述目标平台所创建的所述运行环境。
98.具体地,在安装好软件的信息所对应的软件以及外接硬件信息所对应的硬件的目标平台,运行创建的运行环境。目标平台通过相应的迁移工具,将应用系统所对应的组件、应用框架、各种应用软件包、编程语言、系统架构、数据库、中间件、cpu和各种外接设备,迁移至此运行环境中。
99.在一个实施例中,目标平台针对应用系统的cpu和操作系统作了适配软件的安装,安装开源组件以替换应用系统的闭源的组件,对无法直接迁移的依赖库重新编译得到适配的依赖库,同时对中间件和数据库作了适配安装,还对外接的设备,如终端插件,作了适配连接。
100.本实施例中,针对应用系统所对应的应用软件栈、编程语言、系统架构、依赖库、组件以及应用框架安装好软件并外接好硬件,目标平台运行创建的运行环境,即可将应用系统所对应的组件、应用框架、各种应用软件包、编程语言、系统架构、数据库、中间件、cpu和各种外接设备,迁移至此适配的运行环境中。
101.在一个实施例中,按照性能指标对迁移后的应用系统进行性能测试,包括:按照针对应用系统设置的初步性能指标,在模拟运行环境下对迁移后的应用系统中的计算机系统进行性能模拟测试;根据性能模拟测试结果和初步性能指标,确定目标性能指标;按照目标性能指标,在迁移至的运行环境下对应用系统进行性能测试。
102.其中,初步性能指标,是未确定下来的性能指标。性能模拟测试,是在相似的运行环境中做的相似的性能测试。模拟运行环境,是与目标平台创建的运行环境相似的环境。目
标性能指标,是用于在真实创建的运行环境进行性能测试的性能指标。
103.在一个实施例中,模拟环境可以是目标平台的一款专门用于做模拟测试的软件。
104.具体地,目标平台先采用确定可用的性能指标作为模拟测试的性能指标。目标平台在模拟的运行环境下对迁移后的应用系统中的计算机系统进行性能模拟测试,并根据性能模拟测试结果和初步性能指标,完善初步性能指标,确定出目标性能指标。目标平台依次按照目标性能指标,在所创建的真实的运行环境下对应用系统进行性能测试。若其中一个目标性能指标的测试不通过,用户可以需要重新调试目标平台,直到所有目标性能指标均测试通过。
105.在一个实施例中,目标平台可以对应用系统整体进行性能测试,重点针对功能、接口以及兼容性做性能测试。
106.在一个实施例中,目标平台可以对应用系统中的部分进行性能测试,可以采用日常工作业务流程覆盖核心功能部分进行脚本录制后,对录制的脚本作性能测试。
107.在一个实施例中,目标平台可以在对应用系统中的部分进行性能测试后,再对应用系统中的各个部分作多系统集成联调测试,重点针对应用系统中的各个部分的数据交互作性能测试。
108.在一个实施例中,目标平台可以采取模拟实际工作状态中的用户的方式,对迁移至的应用系统进行实际操作测试。
109.在一个实施例中,目标平台还可以对组件之间兼容性进行测试。
110.本实施例中,先对迁移后的计算机系统在模拟环境下进行初步性能测试,以确保应用系统迁移后西性能测试的性能指标的完整性。性能测试过程中存在某个目标性能指标未通过性能测试,需要确定未通过原因,调试目标平台的运行环境后重新测试并通过,再进行下一个目标性能指标的性能测试,以提高找出性能测试不通过的原因的效率。
111.在一个实施例中,根据性能测试结果,对迁移至目标平台的应用系统进行性能优化,包括:根据性能测试结果,创建基准数据和优化目标;对应用系统进行压力测试;将得到的压力测试结果与建立的基准数据和优化目标作比较,分析出应用系统的性能瓶颈;获取针对性能瓶颈的优化方案,并根据优化方案进行性能优化。
112.其中,基准数据,包括硬件配置数据、组网数据、测试模型数据、应用系统运行数据。优化目标,是基于应用系统的架构所能期望达到的性能水平而设定的目标。压力测试,是对迁移后的应用系统作的承压能力的测试,包括io(input/output)、并发、负载方面的压力测试。性能瓶颈,是影响性能提升且需要攻克的地方。
113.具体地,在进行迁移后的应用系统进行性能优化前,用户根据性能测试结果,在目标平台首先要建立一个基准数据和优化目标。目标平台对迁移至的应用系统进行压力测试后,将得到的压力测试结果与建立的基准数据和优化目标作比较,分析出应用系统的性能瓶颈。目标平台针对性能瓶颈执行优化方案后,再进行压力测试,监控并记录压力测试结果。若压力测试结果仍未为达到优化目标,则执行修改后的优化方案后再作压力测试,直到达到优化目标为止。
114.在一个实施例中,如图2所示,在进行迁移后的应用系统进行性能优化前,用户根据性能测试结果,确定基准数据和优化目标。目标平台对迁移至的应用系统进行压力测试并监测性能瓶颈。用户对测试环节进行梳理,以及对测试结果分析,识别性能瓶颈。用户针
对性能瓶颈,制定优化方案。目标平台实施优化方案,对迁移后的应用系统进行性能优化。若出现负优化,目标平台则进行优化方案回滚,并在每一次执行完优化方案,目标平台均进行压力测试,记录优化结果,直到达到优化目标为止。
115.在一个实施例中,目标平台可以通过峰值工作负载或者专业的压力测试工具对系统应用进行压力测试。
116.在一个实施例中,目标平台可以通过性能监视工具监控并记录压力测试结果。
117.在一个实施例中,可以针对cpu过于繁忙、io等待、网络等待、系统之间的组网以及网络带宽方面综合分析出应用系统的性能瓶颈。
118.在一个实施例中,确定应用系统的性能瓶颈之后,目标平台执行优化方案,并且在遇到负优化时,进行优化方案回滚。
119.本实施例中,通过对迁移后的应用系统进行压力测试,并根据压力测试结果确定出性能瓶颈,以便于针对性能瓶颈对应用系统的性能进行优化。
120.在一个实施例中,根据优化方案进行性能优化,包括:根据优化方案,对应用系统的cpu与内存、网络、磁盘接口、应用程序、虚拟机、数据库以及中间件中的至少一个进行性能优化。
121.具体地,目标平台执行优化方案对应用系统的性能瓶颈作优化。若性能瓶颈与应用系统的cpu与内存、网络、磁盘接口、应用程序、虚拟机、数据库以及中间件中的一个有关,目标平台则针对其中的一个执行相关的优化方案进行优化。若性能瓶颈与应用系统的cpu与内存、网络、磁盘接口、应用程序、虚拟机、数据库以及中间件中的多个有关,目标平台则执行综合的优化方案。
122.在一个实施例中,如图3所示,目标平台针对应用系统的cpu与内存的性能优化,可以是通过修改cpu预取开关的方式。比如,在数据比较集中时,目标平台则自动打开cpu预取开关,将需要访问的数据读取到cpu高速缓冲存储器中。反之则关闭cpu预取开关。
123.在一个实施例中,如图3所示,目标平台可以在应用系统使用开源自由软件及函数库时,打开cpu预取开关,而在使用测试工具、使用代理服务器和数据库时则关闭cpu预取开关。其中,开源自由软件及函数库可以是“x265软件”。测试工具可以是“stream测试工具”。代理服务器可以是“nginx”。
124.在一个实施例中,如图3所示,在cpu不需要定时器时,目标平台可以针对内核的非周期性时钟进行控制,在不需中断的情况下,减少时钟中断。其中,内核可以是“linux 2.6.17”版本及以后的版本。非周期性时钟可以是“nohz机制”。
125.在一个实施例中,如图3所示,目标平台可以调整内存页大小,以增加cpu内部存放页表的缓存访问率。其中页表缓存可以是tlb(translation lookaside buffer)。
126.在一个实施例中,如图3所示,目标平台执行的优化方案可以是调整线程并发数。
127.在一个实施例中,如图3所示,目标平台针对网络性能执行的优化方案可以有多种。比如,可以是优化pcie(peripheral component interconnect express,高速串行计算机扩展总线标准)有效载重的大小配置,调整pcie总线每次数据传输的最大值;可以是通过设置网卡队列数,调整网卡队列数量;可以是将每个网卡中断分别绑定到cpu,减少numa(non uniform memory access,非一致内存访问);可以是调整合适的参数以减少中断处理次数;还可以是开启tcp(transmission control protocol,传输控制协议)分段卸载,将
tcp的分片处理交给网卡处理。
128.在一个实施例中,如图3所示,目标平台针对磁盘输入或输出性能执行的优化方案可以有多种。可以是调整脏数据缓存到期时间;可以是调整脏页面占用总内存最大的比例;可以是根据局性原理,在读取磁盘数据时,额外地多读设置量的数据缓存到内存;可以是根据业务处理数据的特点,选择合适的输入/输出调度器。
129.在一个实施例中,如图3所示,目标平台针对应用程序性能执行的优化方案可以有多种。可以是优化编译选项;可以是选择合适的文件缓冲机制;可以是将执行结果缓存;可以是使用jemalloc(内存分配器)优化内存分配;可以是cacheline(缓存行)优化;可以是arm核心附带的浮点simd(single instruction multiple data,单指令多数据流)引擎指令加速;可以是使用编译器能力自动向量化加速。
130.在一个实施例中,目标平台针对虚拟机性能执行的优化方案可以有多种。可以是使用gc(garbage collection,垃圾回收机制)进行分析;可以是虚拟机线程优化;可以是调整线程堆栈大小。其中,虚拟机可以是jvm(java virtual machine)。
131.在一个实施例中,如图3所示,目标平台针对数据库性能执行的优化方案可以有多种。可以是参数配置优化;可以是sql(structured query language,结构化查询语言)优化。
132.在一个实施例中,目标平台针对中间件性能执行的优化方案可以有多种。可以是“java”启动参数调整;可以是gc性能优化。
133.本实施例中,通过对迁移至目标平台后的应用系统进行性能优化,可以使迁移至目标平台的应用系统整体性能更高。
134.在一个实施例中,如图4所示,提供了一种基于国产信创软硬件平台的迁移适配方法。本实施例中,该方法包括以下步骤:
135.步骤1:对应用系统对应的技术栈的预测。
136.具体地,目标平台根据待迁移的应用系统所对应的组件、应用框架、各种应用软件包、编程语言、系统架构、依赖库、操作系统、数据库、中间件、cpu和各种外接设备,预测应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果。
137.步骤2:根据预测结果确定应用系统迁移方案。
138.具体地,应用系统迁移方案包括重写汇编代码、编译语言读取以及安装编译语言对应的依赖库的相关执行信息。
139.步骤3:根据应用系统迁移方案对应用系统进行迁移。
140.具体地,目标平台上安装应用系统迁移方案对应的操作系统、编译器、解释语言的软件开发工具包、依赖库以及相关辅助工具软件,并外接应用系统迁移方案对应的硬件,得到应用系统所需的运行环境。目标平台将应用系统迁移到适配好的运行环境中。
141.步骤4:对迁移后的应用系统作性能测试。
142.具体地,用户对应用系统性能指标作定义,并对比迁移前后关键性能测试结果。目标平台根据用户所定义的性能指标,作全覆盖测试、系统集成联调测试以及用户测试。
143.步骤5:对迁移后的应用系统作性能优化。
144.具体地,目标平台针对性能瓶颈,进行cpu与内存、网络、磁盘输入/输出、应用程序、虚拟机、数据库以及中间件性能优化,直到压力测试结果达到优化目标。
145.应该理解的是,虽然上述各个实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各个实施例的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
146.在一个实施例中,如图5所示,提供了一种基于国产信创软硬件平台的迁移适配装置500,包括:预测模块502、确定模块504、安装模块506、测试模块508和优化模块510,其中:
147.预测模块502,用于根据待迁移的应用系统所对应的技术栈,预测应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果。
148.确定模块504,用于根据应用系统迁移预测结果,确定应用系统迁移方案;应用系统迁移方案包括使应用系统适配于目标平台的软件信息和硬件信息。
149.安装模块506,用于在目标平台中,安装软件的信息所对应的软件以及外接硬件信息所对应的硬件,得到应用系统所需的运行环境。
150.测试模块508,用于将应用系统迁移至目标平台中创建的运行环境,并按照性能指标对迁移后的应用系统进行性能测试。
151.优化模块510,用于根据性能测试结果,对迁移至目标平台的应用系统进行性能优化。
152.在一个实施例中,预测模块502,还用于根据待迁移的应用系统所对应的应用软件栈、系统软件栈以及计算机硬件系统,预测应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果。
153.在一个实施例中,安装模块506,还用于在目标平台中,安装软件的信息所对应的操作系统、编译器、解释语言的软件开发工具包、依赖库以及相关辅助工具软件;在目标平台中,外接硬件信息所对应的硬件。
154.在一个实施例中,如图6所示,装置还包括:
155.迁移模块507,用于将应用系统所对应的组件、应用框架、各种应用软件包、编程语言、系统架构、数据库、中间件、cpu和各种外接设备,通过相应迁移工具,迁移至所述目标平台所创建的所述运行环境。
156.在一个实施例中,测试模块508,还用于按照针对应用系统设置的初步性能指标,在模拟运行环境下对迁移后的应用系统中的计算机系统进行性能模拟测试;根据性能模拟测试结果和初步性能指标,确定目标性能指标;按照目标性能指标,在迁移至的运行环境下对应用系统进行性能测试。
157.在一个实施例中,优化模块510,还用于根据性能测试结果,创建基准数据和优化目标;对应用系统进行压力测试;将得到的压力测试结果与建立的基准数据和优化目标作比较,分析出应用系统的性能瓶颈;获取针对性能瓶颈的优化方案,并根据优化方案进行性能优化。
158.在一个实施例中,优化模块510,还用于根据优化方案,对应用系统的cpu与内存、网络、磁盘接口、应用程序、虚拟机、数据库以及中间件中的至少一个进行性能优化。
159.关于基于国产信创软硬件平台的迁移适配装置的具体限定可以参见上文中对于基于国产信创软硬件平台的迁移适配方法的限定,在此不再赘述。上述应用系统迁移装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
160.在一个实施例中,提供了一种计算机设备,该计算机设备可以是目标平台,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于国产信创软硬件平台的迁移适配方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
161.本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
162.在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
163.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
164.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
165.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
166.以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
技术特征:
1.一种基于国产信创软硬件平台的迁移适配方法,其特征在于,所述方法包括:根据待迁移的应用系统所对应的技术栈,预测所述应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果;根据所述应用系统迁移预测结果,确定应用系统迁移方案;所述应用系统迁移方案包括使所述应用系统适配于所述目标平台的软件信息和硬件信息;在所述目标平台中,安装所述软件的信息所对应的软件以及外接所述硬件信息所对应的硬件,得到所述应用系统所需的运行环境;将所述应用系统迁移至所述目标平台中创建的所述运行环境,并按照性能指标对迁移后的所述应用系统进行性能测试;根据性能测试结果,对迁移至所述目标平台的所述应用系统进行性能优化。2.根据权利要求1所述的方法,其特征在于,所述根据待迁移的应用系统所对应的技术栈,预测所述应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果,包括:根据待迁移的应用系统所对应的应用软件栈、系统软件栈以及计算机硬件系统,预测应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果。3.根据权利要求1所述的方法,其特征在于,所述在所述目标平台中,安装所述软件的信息所对应的软件以及外接所述硬件信息所对应的硬件,包括:在所述目标平台中,安装所述软件的信息所对应的操作系统、编译器、解释语言的软件开发工具包、依赖库以及相关辅助工具软件;在所述目标平台中,外接所述硬件信息所对应的硬件。4.根据权利要求1所述的方法,其特征在于,所述将所述应用系统迁移至所述目标平台中创建的所述运行环境,包括:将应用系统所对应的组件、应用框架、各种应用软件包、编程语言、系统架构、数据库、中间件、cpu和各种外接设备,通过相应迁移工具,迁移至所述目标平台所创建的所述运行环境。5.根据权利要求1所述的方法,其特征在于,所述按照性能指标对迁移后的所述应用系统进行性能测试,包括:按照针对所述应用系统设置的初步性能指标,在模拟运行环境下对迁移后的所述应用系统中的计算机系统进行性能模拟测试;根据性能模拟测试结果和所述初步性能指标,确定目标性能指标;按照所述目标性能指标,在迁移至的所述运行环境下对所述应用系统进行性能测试。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述根据性能测试结果,对迁移至所述目标平台的所述应用系统进行性能优化,包括:根据性能测试结果,创建基准数据和优化目标;对所述应用系统进行压力测试;将得到的压力测试结果与建立的基准数据和优化目标作比较,分析出所述应用系统的性能瓶颈;获取针对所述性能瓶颈的优化方案,并根据所述优化方案进行性能优化。7.根据权利要求5所述的方法,其特征在于,所述根据所述优化方案进行性能优化,包
括:根据优化方案,对所述应用系统的cpu与内存、网络、磁盘接口、应用程序、虚拟机、数据库以及中间件中的至少一个进行性能优化。8.一种基于国产信创软硬件平台的迁移适配装置,其特征在于,所述装置包括:预测模块,用于根据待迁移的应用系统所对应的技术栈,预测所述应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果;确定模块,用于根据所述应用系统迁移预测结果,确定应用系统迁移方案;所述应用系统迁移方案包括使所述应用系统适配于所述目标平台的软件信息和硬件信息;安装模块,用于在所述目标平台中,安装所述软件的信息所对应的软件以及外接所述硬件信息所对应的硬件,得到所述应用系统所需的运行环境;测试模块,用于将所述应用系统迁移至所述目标平台中创建的所述运行环境,并按照性能指标对迁移后的所述应用系统进行性能测试;优化模块,用于根据性能测试结果,对迁移至所述目标平台的所述应用系统进行性能优化。9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
技术总结
本申请涉及一种基于国产信创软硬件平台的迁移适配方法、装置和设备。根据待迁移的应用系统所对应的技术栈,预测应用系统在目标平台下的可迁移性和迁移工作量,得到应用系统迁移预测结果;根据应用系统迁移预测结果,确定应用系统迁移方案;应用系统迁移方案包括使应用系统适配于目标平台的软件信息和硬件信息;在目标平台中,安装软件的信息所对应的软件以及外接硬件信息所对应的硬件,得到应用系统所需的运行环境;将应用系统迁移至目标平台中创建的运行环境,并按照性能指标对迁移后的应用系统进行性能测试;根据性能测试结果,对迁移至目标平台的应用系统进行性能优化。采用本方法能够提高迁移后的应用系统的整体性能。法能够提高迁移后的应用系统的整体性能。法能够提高迁移后的应用系统的整体性能。
技术研发人员:曾维仲 林昆 冯志鹏 刘艺彬 孙风建 区旸 胡勇 区奕宁
受保护的技术使用者:中通服建设有限公司
技术研发日:2020.12.17
技术公布日:2021/3/8
转载请注明原文地址:https://wp.8miu.com/read-65269.html