CN114968338A - 一种利用md5码对船用软件版本检核的系统及方法 - Google Patents
一种利用md5码对船用软件版本检核的系统及方法 Download PDFInfo
- Publication number
- CN114968338A CN114968338A CN202210610457.9A CN202210610457A CN114968338A CN 114968338 A CN114968338 A CN 114968338A CN 202210610457 A CN202210610457 A CN 202210610457A CN 114968338 A CN114968338 A CN 114968338A
- Authority
- CN
- China
- Prior art keywords
- file
- version
- software
- directory
- checking
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种利用MD5码对船用软件版本检核的系统及方法,包括:生成校验文件模块,用于在开发环境下,船用软件产生版本更新时生成校验文件;版本检核模块,用于利用校验文件对软件版本进行校验。本发明能够满足船用现场设备软件版本的检核与管理的需求,解决设备中软件及其配套文件版本不正确或不一致等技术问题。
Description
技术领域
本发明属于计算机应用与数据验证技术领域,涉及一种船用软件版本检核的系统及方法,尤其是一种利用MD5码对船用软件版本检核的系统及方法。
背景技术
在船用软件开发、试验、交付及后续维护的过程中,软件本身及其相关配套文件会出现很多不同的版本。对于船用设备中放置运行的软件及其配套文件版本的正确性需要有一套机制进行检核,防止软件及其配套文件版本问题导致的运行错误,同时由于船用软件的运行系统多样,要求该检核方法可运行在Windows、Linux、Vxworks系统上。
但现有技术中的船用软件版本检核的方法存在如下缺陷:
现有实船安装的软件版本控制多采用版本文件内填写版本号的形式,实际的软件版本记录在软件开发端,依靠手动更新版本号进行。以人工查看实船安装环境下版本文件内的版本号作为检查手段,不能保证实船环境下软件运行所需的各类文件真正都属于正确的版本,且无法识别出错误的文件,真实查证版本困难,在无法确定软件版本的情况下,对设备故障的排查也将造成很大的影响。
经检索,未发现与本发明相同或相似的已公开的专利文献。
发明内容
本发明的目的在于克服现有技术的不足,提出一种利用MD5码对船用软件版本检核的系统及方法,能够满足船用现场设备软件版本的检核与管理的需求,解决设备中软件及其配套文件版本不正确或不一致等技术问题。
本发明解决其现实问题是采取以下技术方案实现的:
一种利用MD5码对船用软件版本检核的系统,包括:
生成校验文件模块,用于在开发环境下,船用软件产生版本更新时生成校验文件;
版本检核模块,用于利用校验文件对软件版本进行校验。
而且,所述利用MD5码对船用软件版本检核的系统还包括:校验文件及版本检核模块的复制模块,用于所生成的校验文件及版本检核模块复制到实船软件所安装的目录下。
一种利用MD5码对船用软件版本检核的方法,如图2至图6所示,包括以下步骤:
步骤1、在开发环境下,船用软件产生版本更新时利用生成校验文件模块生成校验文件;
步骤2、在对实船环境下软件版本进行检核时,将步骤一所生成的校验文件及版本检核模块复制到实船软件所安装的目录下;
步骤3、利用版本检核模块对软件版本进行校验;
而且,所述步骤1的具体步骤包括:
(1)根据船用软件工作的系统环境不同,在船用软件所在目录下加载相应系统下的生成校验文件模块;
(2)生成校验文件模块读取当前目录名称并在目录下创建空白校验文件,命名为目录名称.LIST;
(3)生成校验文件模块读取当前文件夹下文件信息结构体;
(4)判断当前文件信息结构体是文件或是目录,当前文件为目录时,软件进入该目录并重复步骤(3)-步骤(4);
(5)当前文件为文件时,软件读入文件内容调用MD5算法,生成MD5码,并将文件MD5码与文件相对路径存入校验文件;
(6)船用软件根据文件信息结构体判断文件是否为当前目录最后一个,若为不为最后一个,重复步骤(4)-步骤(6);
(7)软件判断文件为当前目录最后一个,并判断是否为顶层目录最后一个,非顶层左后一个返回上层目录,判断是否回到顶层目录,若未回到顶层目录,执行步骤(6),若为顶层目录最后一个执行步骤(9);
(8)若回到顶层目录,判断文件是否为目录最后一个,若不为最后一个,回到步骤(4);
(9)若回到顶层目录,并判断文件是为目录最后一个,保存校验文件,并输出成功信息,并退出。
而且,所述步骤3的具体步骤包括:
(1)在船用软件所在目录下加载步骤2所复制的版本检核模块;
(2)版本检核模块读取当前目录中步骤2所复制的.LIST校验文件内容;
(3)版本检核模块读取一条校验信息中的文件位置和MD5码;
(4)版本检核模块查找文件位置,若文件不存在,记录文件丢失加一;
(5)若文件存在版本检核模块调用MD5算法生成MD5码并与校验信息中MD5码对比,若MD5码不一致,文件错误加一;
(6)版本检核模块判断是否为.LIST校验文件中最后一条信息,若不是重复步骤(3)-步骤(6);
(7)版本检核模块判断是否为目录下最后一个.LIST文件,若不是重复步骤(2)-步骤(7);
(8)输出校验结果完成校验。
而且,在所述步骤3之后还包括如下步骤:
步骤4、根据步骤3输出的校验结果查找替换错误、缺失的文件,完成软件版本纠正。
在本实施例中,根据检查结果对找到丢失与错误的文件,完成船用设备上安装软件的版本检核。
本发明的优点和有益效果:
1、本发明提出一种利用MD5码对船用软件版本检核的系统及方法,能够对船用软件及其配套文件版本的正确性进行验证检查,达到保障质量、减少故障的效果。本发明操作简单,应用方便,占用资源少,可对船用设备中的软件进行版本检核。软件使用时由生成校验文件模块、版本检核模块、校验文件配合使用。
2、本发明提出一种基于MD5码的数据检核的系统及方法,能够解决实船软件安装版本混乱,查证困难的问题,加快工作人员对故障的排查,并且本发明能够覆盖常用船用设备操作系统(Windows、Linux、VxWorks),有广泛的适用性,应用便捷。
附图说明
图1为本发明的系统的工作原理图;
图2为本发明的生成校验文件流程图;
图3为本发明的校验文件内容图;
图4为本发明的生成校验文件模块成功运行结果图;
图5为本发明的版本检核流程图;
图6为本发明的文件缺失运行结果图。
具体实施方式
以下结合附图对本发明实施例作进一步详述:
一种利用MD5码对船用软件版本检核的系统,如图1所示,包括:
生成校验文件模块,用于在开发环境下,船用软件产生版本更新时生成校验文件;
版本检核模块,用于利用校验文件对软件版本进行校验。
所述利用MD5码对船用软件版本检核的系统还包括:校验文件及版本检核模块的复制模块,用于所生成的校验文件及版本检核模块复制到实船软件所安装的目录下。
一种利用MD5码对船用软件版本检核的方法,如图2至图6所示,包括以下步骤:
步骤1、在开发环境下,船用软件产生版本更新时利用生成校验文件模块生成校验文件;
所述步骤1的具体步骤包括:
(1)根据船用软件工作的系统环境不同,在船用软件所在目录下加载相应系统下的生成校验文件模块;
(2)生成校验文件模块读取当前目录名称并在目录下创建空白校验文件,命名为目录名称.LIST;
(3)生成校验文件模块读取当前文件夹下文件信息结构体;
(4)判断当前文件信息结构体是文件或是目录,当前文件为目录时,软件进入该目录并重复步骤(3)-步骤(4);
(5)当前文件为文件时,软件读入文件内容调用MD5算法,生成MD5码,并将文件MD5码与文件相对路径存入校验文件;
(6)船用软件根据文件信息结构体判断文件是否为当前目录最后一个,若为不为最后一个,重复步骤(4)-步骤(6);
(7)软件判断文件为当前目录最后一个,并判断是否为顶层目录最后一个,非顶层左后一个返回上层目录,判断是否回到顶层目录,若未回到顶层目录,执行步骤(6),若为顶层目录最后一个执行步骤(9);
(8)若回到顶层目录,判断文件是否为目录最后一个,若不为最后一个,回到步骤(4);
(9)若回到顶层目录,并判断文件是为目录最后一个,保存校验文件,并输出成功信息,并退出。
步骤2、在对实船环境下软件版本进行检核时,将步骤一所生成的校验文件及版本检核模块复制到实船软件所安装的目录下;
步骤3、利用版本检核模块对软件版本进行校验;
所述步骤3的具体步骤包括:
(1)在船用软件所在目录下加载步骤2所复制的版本检核模块;
(2)版本检核模块读取当前目录中步骤2所复制的.LIST校验文件内容;
(3)版本检核模块读取一条校验信息中的文件位置和MD5码;
(4)版本检核模块查找文件位置,若文件不存在,记录文件丢失加一;
(5)若文件存在版本检核模块调用MD5算法生成MD5码并与校验信息中MD5码对比,若MD5码不一致,文件错误加一;
(6)版本检核模块判断是否为.LIST校验文件中最后一条信息,若不是重复步骤(3)-步骤(6);
(7)版本检核模块判断是否为目录下最后一个.LIST文件,若不是重复步骤(2)-步骤(7);
(8)输出校验结果完成校验。
步骤4、根据步骤3输出的校验结果查找替换错误、缺失的文件,完成软件版本纠正;
根据检查结果对找到丢失与错误的文件,完成船用设备上安装软件的版本检核。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (6)
1.一种利用MD5码对船用软件版本检核的系统,其特征在于:包括:
生成校验文件模块,用于在开发环境下,船用软件产生版本更新时生成校验文件;
版本检核模块,用于利用校验文件对软件版本进行校验。
2.根据权利要求1所述的一种利用MD5码对船用软件版本检核的系统,其特征在于:所述利用MD5码对船用软件版本检核的系统还包括:校验文件及版本检核模块的复制模块,用于所生成的校验文件及版本检核模块复制到实船软件所安装的目录下。
3.一种利用MD5码对船用软件版本检核的方法,其特征在于:包括以下步骤:
步骤1、在开发环境下,船用软件产生版本更新时利用生成校验文件模块生成校验文件;
步骤2、在对实船环境下软件版本进行检核时,将步骤一所生成的校验文件及版本检核模块复制到实船软件所安装的目录下;
步骤3、利用版本检核模块对软件版本进行校验。
4.根据权利要求3所述的一种利用MD5码对船用软件版本检核的方法,其特征在于:所述步骤1的具体步骤包括:
(1)根据船用软件工作的系统环境不同,在船用软件所在目录下加载相应系统下的生成校验文件模块;
(2)生成校验文件模块读取当前目录名称并在目录下创建空白校验文件,命名为目录名称.LIST;
(3)生成校验文件模块读取当前文件夹下文件信息结构体;
(4)判断当前文件信息结构体是文件或是目录,当前文件为目录时,软件进入该目录并重复步骤(3)-步骤(4);
(5)当前文件为文件时,软件读入文件内容调用MD5算法,生成MD5码,并将文件MD5码与文件相对路径存入校验文件;
(6)船用软件根据文件信息结构体判断文件是否为当前目录最后一个,若为不为最后一个,重复步骤(4)-步骤(6);
(7)软件判断文件为当前目录最后一个,并判断是否为顶层目录最后一个,非顶层左后一个返回上层目录,判断是否回到顶层目录,若未回到顶层目录,执行步骤(6),若为顶层目录最后一个执行步骤(9);
(8)若回到顶层目录,判断文件是否为目录最后一个,若不为最后一个,回到步骤(4);
(9)若回到顶层目录,并判断文件是为目录最后一个,保存校验文件,并输出成功信息,并退出。
5.根据权利要求3所述的一种利用MD5码对船用软件版本检核的方法,其特征在于:所述步骤3的具体步骤包括:
(1)在船用软件所在目录下加载步骤2所复制的版本检核模块;
(2)版本检核模块读取当前目录中步骤2所复制的.LIST校验文件内容;
(3)版本检核模块读取一条校验信息中的文件位置和MD5码;
(4)版本检核模块查找文件位置,若文件不存在,记录文件丢失加一;
(5)若文件存在版本检核模块调用MD5算法生成MD5码并与校验信息中MD5码对比,若MD5码不一致,文件错误加一;
(6)版本检核模块判断是否为.LIST校验文件中最后一条信息,若不是重复步骤(3)-步骤(6);
(7)版本检核模块判断是否为目录下最后一个.LIST文件,若不是重复步骤(2)-步骤(7);
(8)输出校验结果完成校验。
6.根据权利要求3所述的一种利用MD5码对船用软件版本检核的方法,其特征在于:在所述步骤3之后还包括如下步骤:
步骤4、根据步骤3输出的校验结果查找替换错误、缺失的文件,完成软件版本纠正。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210610457.9A CN114968338A (zh) | 2022-05-31 | 2022-05-31 | 一种利用md5码对船用软件版本检核的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210610457.9A CN114968338A (zh) | 2022-05-31 | 2022-05-31 | 一种利用md5码对船用软件版本检核的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114968338A true CN114968338A (zh) | 2022-08-30 |
Family
ID=82956856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210610457.9A Pending CN114968338A (zh) | 2022-05-31 | 2022-05-31 | 一种利用md5码对船用软件版本检核的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968338A (zh) |
-
2022
- 2022-05-31 CN CN202210610457.9A patent/CN114968338A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106371940B (zh) | 一种程序崩溃解决方法及装置 | |
US20060107121A1 (en) | Method of speeding up regression testing using prior known failures to filter current new failures when compared to known good results | |
US20020059561A1 (en) | Software package verification | |
CN111240980A (zh) | 一种基于云管平台的自动回归测试方法 | |
CN110928556A (zh) | 轨道车辆用程序自动烧录方法及装置、测试方法及系统 | |
CN116627848B (zh) | 应用程序的自动化测试方法和系统 | |
CN111400267A (zh) | 记录日志的方法和装置 | |
CN112148614A (zh) | 回归测试方法及装置 | |
CN114924737A (zh) | 一种电池管理系统源代码集成测试方法、测试装置及电子设备 | |
CN110780904A (zh) | 一种应用更新方法及装置 | |
CN117312270A (zh) | 一种数据库自动化构建和部署的变更管理方法 | |
CN114968338A (zh) | 一种利用md5码对船用软件版本检核的系统及方法 | |
CN110674038A (zh) | 一种对软件测试中错误信息的分类方法及装置 | |
CN115373885A (zh) | 一种故障修复方法、装置、存储介质及电子设备 | |
CN115328771A (zh) | 测试工具的故障测试方法、装置、设备及介质 | |
US20220318005A1 (en) | Generation of software program repair explanations | |
CN113918162A (zh) | 一种基于集中式管理模式下的前端代码自动化校验方法 | |
CN113805928A (zh) | 热补丁文件生成、一致性检测方法、装置、设备和介质 | |
US11645045B2 (en) | Efficient defect location in new code versions | |
CN117131004A (zh) | 数据库变更方法、装置及电子设备 | |
CN111651364B (zh) | 并行开发下的sql检查方法及装置 | |
CN111367816B (zh) | 移动测试方法、装置、计算机设备及存储介质 | |
Jabeen et al. | Fault simulation and memory leak detection over custom kernel module by using KEDR | |
CN117971692A (zh) | 代码提交方法、电子设备、存储介质和程序产品 | |
CN116954671A (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 |