CN111427611A - 一种利用指纹码实现的嵌入式软件版本状态管控方法 - Google Patents
一种利用指纹码实现的嵌入式软件版本状态管控方法 Download PDFInfo
- Publication number
- CN111427611A CN111427611A CN202010255558.XA CN202010255558A CN111427611A CN 111427611 A CN111427611 A CN 111427611A CN 202010255558 A CN202010255558 A CN 202010255558A CN 111427611 A CN111427611 A CN 111427611A
- Authority
- CN
- China
- Prior art keywords
- embedded software
- version
- fingerprint
- test equipment
- fingerprint code
- 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
- 238000000034 method Methods 0.000 title claims abstract description 12
- 238000012360 testing method Methods 0.000 claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000008520 organization Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Abstract
本发明公开了一种利用指纹码实现的嵌入式软件版本状态管控方法,包括:将嵌入式软件的代码烧写在单机设备的硬件存储区域内,系统加电后,嵌入式软件被引导至SRAM运行;测试设备向嵌入式软件发送指令,用于获取嵌入式软件的唯一标识;嵌入式软件接收到指令后,从硬件存储区域内读取烧写文件,利用MD5算法计算出4个链接变量,作为指纹码发送给测试设备;测试设备记录指纹码,作为嵌入式软件的版本状态管控的依据。本发明中的指纹码通过对嵌入式软件可执行文件的全部内容进行扫描自动生成一个128位散列值,来唯一标识该版本。而该版本做任何修改,即使不改动版本号,再次生成的128位数值也是不同的,实现版本的精确控制。
Description
技术领域
本发明涉及嵌入式软件版本状态管控技术领域,具体的说,是一种利用指纹码实现的嵌入式软件版本状态管控方法。
背景技术
在工程研制过程中,总体单位通常将各单机产品分配给不同厂家进行设计生产。各单机产品上的嵌入式软件版本通常由单机生产厂家自行管控,验收交付时以技术文档的形式提交给总体单位。对于一些关键性等级较高的软件,总体单位希望在单机产品每次通电后的自检过程中再次确认软件技术状态,单机产品研制生产厂家也希望在研制生产过程中能够实时跟踪软件的技术状态变化。而现有技术中,即使烧写在硬件上的嵌入式软件内容发生变化,只要软件版本号未改动或未及时升级,那么检测出的仍然是原来的版本号,即无法记录此次版本更新,导致无法准确地管控嵌入式软件版本状态。
发明内容
本发明的目的在于提供一种利用指纹码实现的嵌入式软件版本状态管控方法,用于解决现有技术中由于嵌入式软件版本号未改动,检测出的仍然是原来的版本号,无法精确掌控软件版本状态的问题。
本发明通过下述技术方案解决上述问题:
一种利用指纹码实现的嵌入式软件版本状态管控方法,包括:
步骤S1:将嵌入式软件的代码烧写在单机设备的硬件存储区域内,系统加电后,嵌入式软件被引导至SRAM运行;
步骤S2:测试设备向嵌入式软件发送指令,用于获取嵌入式软件的唯一标识;
步骤S3:嵌入式软件接收到指令后,从硬件存储区域内读取烧写文件,利用MD5算法计算出4个链接变量,4个链接变量级联后生成一个128位散列值作为指纹码发送给测试设备;
步骤S4:测试设备记录指纹码,作为嵌入式软件的版本状态管控的依据。
进一步地,所述步骤S3中读取烧写文件时,每次读取512位数据作为MD5算法的一个分组进行计算,该分组计算完毕后,继续读取下一个分组进行计算,直到读完整个烧写文件。
进一步地,所述步骤S3也可以是:嵌入式软件接收到指令后,向测试设备发送硬件存储区域的烧写文件,测试设备接收到烧写文件后,利用MD5算法计算出4个链接变量,4个链接变量级联后生成一个128位散列值作为指纹码。
本发明与现有技术相比,具有以下优点及有益效果:
本发明中的指纹码通过对嵌入式软件可执行文件的全部内容进行扫描自动生成一个128位散列值,来唯一标识该版本。而该版本做任何修改,即使不改动版本号,再次生成的128位数值也是不同的,实现了对版本进行精确控制;克服了现有技术中由于软件版本号是人为定义,可能存在修改了软件技术状态但忘记升级版本号的情况,导致同一个版本号的软件并不唯一的问题。
附图说明
图1为本发明的原理框图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例1:
结合附图1所示,一种利用指纹码实现的嵌入式软件版本状态管控方法,包括:
步骤S1:将嵌入式软件的代码烧写在单机设备SOC的硬件存储区域即嵌入式软件烧写区域(如FLASH),系统加电后,嵌入式软件被引导至嵌入式软件运行区域(如SRAM)运行;
步骤S2:测试设备向嵌入式软件发送指令,用于获取嵌入式软件的唯一标识;
步骤S3:嵌入式软件接收到指令后,从硬件存储区域内读取烧写文件,利用MD5算法计算出4个链接变量,4个链接变量级联后生成一个128位散列值作为指纹码发送给测试设备;
步骤S4:测试设备记录指纹码,作为嵌入式软件的版本状态管控的依据,可实现对当前烧写在单机产品上的嵌入式软件的技术状态实时检测和确认。
进一步地,所述步骤S3中读取烧写文件时,每次读取512位数据作为MD5算法的一个分组进行计算,该分组计算完毕后,继续读取下一个分组进行计算,直到读完整个烧写文件。
进一步地,所述步骤S3也可以是:嵌入式软件接收到指令后,向测试设备发送硬件存储区域的烧写文件,测试设备接收到烧写文件后,利用MD5算法计算出4个链接变量,4个链接变量级联后生成一个128位散列值作为指纹码。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
Claims (3)
1.一种利用指纹码实现的嵌入式软件版本状态管控方法,其特征在于,包括:
步骤S1:将嵌入式软件的代码烧写在单机设备的硬件存储区域内,系统加电后,嵌入式软件被引导至SRAM运行;
步骤S2:测试设备向嵌入式软件发送指令,用于获取嵌入式软件的唯一标识;
步骤S3:嵌入式软件接收到指令后,从硬件存储区域内读取烧写文件,利用MD5算法计算出4个链接变量,4个链接变量级联后生成一个128位散列值作为指纹码发送给测试设备;
步骤S4:测试设备记录指纹码,作为嵌入式软件的版本状态管控的依据。
2.根据权利要求1所述的一种利用指纹码实现的嵌入式软件版本状态管控方法,其特征在于,所述步骤S3中读取烧写文件时,每次读取512位数据作为MD5算法的一个分组进行计算,该分组计算完毕后,继续读取下一个分组进行计算,直到读完整个烧写文件。
3.根据权利要求1所述的一种利用指纹码实现的嵌入式软件版本状态管控方法,其特征在于,所述步骤S3替换为:嵌入式软件接收到指令后,向测试设备发送硬件存储区域的烧写文件,测试设备接收到烧写文件后,利用MD5算法计算出4个链接变量,4个链接变量级联后生成一个128位散列值作为指纹码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010255558.XA CN111427611A (zh) | 2020-04-02 | 2020-04-02 | 一种利用指纹码实现的嵌入式软件版本状态管控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010255558.XA CN111427611A (zh) | 2020-04-02 | 2020-04-02 | 一种利用指纹码实现的嵌入式软件版本状态管控方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111427611A true CN111427611A (zh) | 2020-07-17 |
Family
ID=71555623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010255558.XA Pending CN111427611A (zh) | 2020-04-02 | 2020-04-02 | 一种利用指纹码实现的嵌入式软件版本状态管控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427611A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905227A (zh) * | 2021-02-09 | 2021-06-04 | 中国工商银行股份有限公司 | 开源软件版本登记方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130173923A1 (en) * | 2011-12-30 | 2013-07-04 | Peking University | Method and system for digital content security cooperation |
CN105763369A (zh) * | 2016-02-04 | 2016-07-13 | 湖南长城信息金融设备有限责任公司 | 一种终端设备远程软件版本分发方法及系统 |
CN106293831A (zh) * | 2016-08-09 | 2017-01-04 | 南京南瑞继保电气有限公司 | 一种嵌入式软件安装与维护的方法和系统 |
CN107992325A (zh) * | 2017-11-09 | 2018-05-04 | 北京航空航天大学 | 一种通过特征码检验比对文件信息的方法 |
CN109101427A (zh) * | 2018-08-17 | 2018-12-28 | 四川航天系统工程研究所 | 一种嵌入式软件的源代码级错误检测方法 |
CN109992280A (zh) * | 2017-12-29 | 2019-07-09 | 深圳市优必选科技有限公司 | 一种嵌入式软件升级的方法、终端装置及存储装置 |
CN110806891A (zh) * | 2019-09-27 | 2020-02-18 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 嵌入式设备软件版本的生成方法及装置 |
-
2020
- 2020-04-02 CN CN202010255558.XA patent/CN111427611A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130173923A1 (en) * | 2011-12-30 | 2013-07-04 | Peking University | Method and system for digital content security cooperation |
CN105763369A (zh) * | 2016-02-04 | 2016-07-13 | 湖南长城信息金融设备有限责任公司 | 一种终端设备远程软件版本分发方法及系统 |
CN106293831A (zh) * | 2016-08-09 | 2017-01-04 | 南京南瑞继保电气有限公司 | 一种嵌入式软件安装与维护的方法和系统 |
CN107992325A (zh) * | 2017-11-09 | 2018-05-04 | 北京航空航天大学 | 一种通过特征码检验比对文件信息的方法 |
CN109992280A (zh) * | 2017-12-29 | 2019-07-09 | 深圳市优必选科技有限公司 | 一种嵌入式软件升级的方法、终端装置及存储装置 |
CN109101427A (zh) * | 2018-08-17 | 2018-12-28 | 四川航天系统工程研究所 | 一种嵌入式软件的源代码级错误检测方法 |
CN110806891A (zh) * | 2019-09-27 | 2020-02-18 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 嵌入式设备软件版本的生成方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905227A (zh) * | 2021-02-09 | 2021-06-04 | 中国工商银行股份有限公司 | 开源软件版本登记方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102713774B (zh) | 可编程控制器系统及开发系统 | |
JP5583305B2 (ja) | プログラマブルロジックコントローラ、プログラミングツール及びプログラム・パラメータ編集システム | |
US20030051235A1 (en) | Method and apparatus for verifying and analyzing computer software installation | |
US8078294B2 (en) | Conditional download of data from embedded historians | |
US6701284B1 (en) | Methods and apparatus for maintaining a programmable logic control revision history | |
CN107357614B (zh) | 参数更新方法及参数更新装置、种植箱和存储介质 | |
CN103221891A (zh) | 用于分布式控制系统的智能接口 | |
CN111427611A (zh) | 一种利用指纹码实现的嵌入式软件版本状态管控方法 | |
CN104599433A (zh) | 一种指标数据的监测方法、装置及服务器 | |
CN116011026B (zh) | 数据库组态安全快速验证方法、系统、设备及存储介质 | |
CN111275289A (zh) | 主调度系统与备调度系统一致性校验方法、装置 | |
CN116991622A (zh) | 一种可信dcs控制器系统无法启动时的恢复方法及系统 | |
CN109558163B (zh) | 一种基于控制器中运行文件的版本生成和管理方法 | |
CN116303348A (zh) | 一种基于canal在线迁移DRDS分库分表的方法及系统 | |
CN111026569A (zh) | 一种在联盟链中修复指定区块数据的方法 | |
CN116431186A (zh) | 一种车载ecu的升级方法、装置及介质 | |
CN116126379A (zh) | 一种bios固件升级方法、装置、设备及存储介质 | |
CN113986939A (zh) | 数据库的数据变更方法及装置 | |
CN113159674B (zh) | 物料信息的创建方法、物料管理装置和存储介质 | |
CN113420091A (zh) | 基于区块链的用户行为采集方法及装置 | |
CN111652377A (zh) | 一种基于区块链的机器人学习方法、设备及介质 | |
JP2015022511A (ja) | プログラマブルコントローラシステム、その支援装置、プログラム | |
CN110637263B (zh) | 监视辅助装置、监视辅助方法及记录介质 | |
CN107797915B (zh) | 故障的修复方法、装置及系统 | |
JP7069431B1 (ja) | データ配信プログラム、サーバ装置、端末装置、データ配信方法およびデータ配信システム |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200717 |