一种从hp-ux平台至k-ux平台的c/c++应用迁移工具的制作方法

文档序号:8208956阅读:423来源:国知局
一种从hp-ux平台至k-ux平台的c/c++应用迁移工具的制作方法
【技术领域】
[0001]本发明涉及计算机信息技术领域,具体地说是一种实用性强、从HP-UX平台至K-UX平台的C/C++应用迀移工具。
【背景技术】
[0002]高端服务器承载着行业的核心应用,广泛应用在金融、电信、能源、交通等关键应用领域,其运行直接关系到社会、经济的正常运转。长期以来,由于缺乏高端服务器设计和制造能力,我国高端服务器市场一直为国外厂商把持,其中IBM长期占据50%以上的国内市场。在科技部“十一五”863计划的支持下,相关部门、科研单位积极配合,浪潮已成功研制了 32路高端容错计算机系统,可用度达到99.999%,系统联机事务处理能力达到世界先进水平。为提高信息化建设重大装备的自主可控性,越来越多的信息系统倾向于使用自主产品。因此,在未来较长的一段时间内,国内的IT系统建设面临着国产化的变革,具体的信息系统建设与实施层面,体现为越来越多的跨平台迀移工作,其中大量的迀移是从IBM HP-UX平台至浪潮K-UX平台。
[0003]C/C++源代码是构建基础软件的基石,例如数据库软件、交易中间件、消息中间件、系统工具均基于c/c++语言开发。且在金融、电信、高性能计算等领域的核心应用软件也大量使用C/C++语言开发。由于异构服务器平台的CPU指令集差异、操作系统差异以及编译器差异,使得异构服务器平台C/C++源代码移植技术难度高,工作量大。如何降低移植难度,减少工作量,是进行异构服务器平台下C/C++源代码移植需要解决的关键问题。

【发明内容】

[0004]本发明的技术任务是针对以上不足之处,提供一种实用性强、从HP-UX平台至K-UX平台的C/C++应用迀移工具。
[0005]一种从HP-UX平台至K-UX平台的C/C++应用迀移工具,该工具的结构包括:
迀移工具软件架构,该架构基于JAVA语言实现,所述架构包括交互模块、均与交互模块相连接的操作系统差异识别模块、编译器差异识别模块和修改建议模块,操作系统差异识别模块、编译器差异识别模块均连接上述修改建议模块;其中:
所述交互模块用于人机交互,把手动设定的信息发送至操作系统差异识别模块、编译器差异识别模块,接收操作系统差异识别模块、编译器差异识别模块发送来的实时扫描信息并显示界面上,交互模块接收修改建议模块发送的失配源代码、失配源代码位置以及修改建议信息,并将其显示在界面上,同时允许用户在界面上针对每项失配的修改建议进行确认和对每项失配进行手动修改,经用户确认后将确认信息与修改信息发送至修改建议模块;
操作系统差异识别模块接收交互模块发送的手动设定信息,根据手动设定信息及HP-UX与K-UX操作系统差异规则,扫描程序源代码与makefile文件,识别程序源代码与makefile文件中因源平台与目标平台的操作系统差异造成的失配,生成自动修改建议,并将所有的失配信息及修改建议发送至修改建议模块,同时,操作系统差异识别模块会将扫描状态实时发送至交互模块供交互模块实时显示;
编译器差异识别模块接收交互模块发送的手动设定信息,根据手动设定信息及HP-UXC编译器与K-UX C编译器差异规则,扫描程序源代码与makefile文件,识别程序源代码与makefile文件中因源平台与目标平台的编译器差异造成的失配,生成自动修改建议,并将所有的失配信息及修改建议发送至修改建议模块,同时,编译器差异识别模块会将扫描状态实时发送至交互模块供交互模块实时显示;
修改建议模块接收操作系统差异识别模块与编译器差异识别模块发送的失配信息及自动修改建议后,将失配源代码、失配源代码位置以及修改建议整理成表格输出至交互模块,并在收到交互发送的确认信息与手动修改信息后,使这些修改结果在程序源代码和makefile文件中生效,并保存新的源代码和makefile文件。
[0006]所述交互模块第以输入/输出端口与操作系统差异识别模块第一输入/输出端口连接,交互模块第二输入/输出端口与编译器差异识别模块第一输入/输出端口连接,交互模块第三输入/输出端口与修改建议模块第三输入/输出端口连接,操作系统差异识别模块第二输入/输出端口与修改建议模块第一输入/输出端口连接,编译器差异识别模块第二输入/输出端口与修改建议模块第二输入/输出端口连接。
[0007]所述操作系统差异识别模块、编译器差异识别模块均生成相应规则,其具体规则为:
HP-UX与K-UX操作系统差异规则,包括进程处理规则、文件操作规则、指针操作规则,其是操作系统差异识别模块扫描程序源代码与makefile文件时,识别由HP-UX平台与K-UX平台的操作系统差异造成的代码失配的判定标准,以及提供失配代码修改建议的依据;HP-UX C编译器与K-UX C编译器差异规则,该规则是编译器差异识别模块扫描程序源代码与makefile文件时,识别由HP-UX平台与K-UX平台的编译器差异造成的代码失配的判定标准,以及提供失配代码修改建议的依据。
[0008]所述HP-UX与K-UX操作系统差异规则中,进程处理规则用于识别因HP-UX平台与K-UX平台进程处理差异导致运行结果错误的失配源代码,同时操作系统差异识别模块根据进程处理规则生成进程处理失配源代码修改建议;文件操作规则用于识别因HP-UX平台与K-UX平台文件操作差异导致运行结果错误的失配源代码,同时操作系统差异识别模块可根据文件操作规则生成文件操作失配源代码修改建议;指针操作规则用于识别因HP-UX平台与K-UX平台指针操作差异导致运行结果错误的失配源代码,同时操作系统差异识别模块根据指针操作规则生成指针操作失配源代码修改建议。
[0009]本发明的一种从HP-UX平台至K-UX平台的C/C++应用迀移工具,具有以下优点: 该发明的一种从HP-UX平台至K-UX平台的C/C++应用迀移工具根据C/C++源代码在不同CPU指令集、操作系统以及编译器环境下的不同的处理方式,归纳一套规则,能够识别因平台差异造成的源代码、makefile文件与操作系统、编译器的失配,提出修改建议,最终输出扫描结果,扫描结果中体现所有识别到的源代码失配及失配修改建议,同时可在扫描结果中作出手动修改,手动修改结果可在源代码与makefile文件中生效,大大降低C/C++程序迀移工作量,提高应用程序迀移工作的效率,降低迀移难度;实用性强,易于推广。
【附图说明】
[0010]附图1为本发明的结构示意图。
【具体实施方式】
[0011]下面结合附图和具体实施例对本发明作进一步说明。
[0012]本发明提出一种从HP-UX平台至K-UX平台的C/C++应用迀移工具,可跨平台安装,通过扫描源代码与makefile文件,根据建立的HP-UX平台与K-UX平台操作系统差异规则、编译器差异规则,识别源代码、makefile文件与操作系统、编译器的失配,提出修改建议,最终输出扫描结果,扫描结果中体现所有识别到的源代码失配及失配修改建议,同时可在扫描结果中作出手动修改,手动修改结果可在源代码与makefile文件中生效。如附图1所示,该工具的结构包括:
迀移工具软件架构,该架构基于JAVA语言实现,所述架构包括交互模块、均与交互模块相连接的操作系统差异识别模块、编译器差异识别模块和修改建议模块,操作系统差异识别模块、编译器差异识别模块均连接上述修改建议模块;其中:
所述交互模块用于人机交互,把手动设定的信息发送至操作系统差异识别模块、编译器差异识别模块,接收操作系统差异识别模块、编译器差异识别模块发送来的实时扫描信息并显示界面上,交互模块接收修改建议模块发送的失配源代码、失配源代码位置以及修改建议信息,并将其显示在界面上,同时允许用户在界面上针对每项失配的修改建议进行确认和对每项失配进行手动修改,经用户确认后将确认信息与修改信息发送至修改建议模块;
操作系统差异识别模块接收交互模块发送的手动设定信息,根据手动设定信息及HP-UX与K-UX操作系统差异规则,扫描程序源代码与makefile文件,识别程序源代码与makefile文件中因源平台与目标平台的操作系统差异造成的失配,生成自动修改建议,并将所有的失配信息及修改建议发送至修改建议模块,同时,操作系统差异识别模块会将扫描状态实时发送至交互模块供交互模块实时显示;
编译器差异识别模块接收交互模块发送的手动设定信息,根据手动设定信息及HP-UXC编译器与K-UX C编译器差异规则,扫描程序源代码与makefile文件,识别程序源代码与makefile文件中因源平台与目标平台的编译器差异造成的失配,生成自动修改建议,并将所有的失配信息及修改建议发送至修改建议模块,同时,编译器差异识别模块会将扫描状态实时发送至交互模块供交互模块实时显示;
修改建议模块接收操作系统差异识别模块与编译器差异识别模块发送的失配信息及自动修改建议后,将失配源代码、失配源代码位置以及修改建议整理成表格输出至交互模块,并在收到交互发送的确认信息与手动修改信息后,使这些修改结果在程序源代码和makefile文件中生效,并保存新的源代码和makefile文件。
[0013]所述交互模块第以输入/输出端口与操作系统差异识别模块第一输入/输出端口连接,交互模块第二输入/输出端口与编译器差异识别模块第一输入/输出端口连接,交互模块第三输入/输出端口与修改建议模块第三输入/输出端口连接,操作系统差异识别模块第二输入/输出端口与修改建议模块第一输入/输出端口连接,编译器差异识别模块第二输入/输出端口与修
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1