CN103853661B - The space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree - Google Patents

The space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree Download PDF

Info

Publication number
CN103853661B
CN103853661B CN201410060564.4A CN201410060564A CN103853661B CN 103853661 B CN103853661 B CN 103853661B CN 201410060564 A CN201410060564 A CN 201410060564A CN 103853661 B CN103853661 B CN 103853661B
Authority
CN
China
Prior art keywords
basic block
hash
merkle
tree
weighting
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.)
Active
Application number
CN201410060564.4A
Other languages
Chinese (zh)
Other versions
CN103853661A (en
Inventor
李尚杰
吕紫旭
周启平
程胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shenzhou Aerospace Software Technology Co.,Ltd.
Original Assignee
BEIJING SHENZHOU AEROSPACE SOFTWARE TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING SHENZHOU AEROSPACE SOFTWARE TECHNOLOGY Co Ltd filed Critical BEIJING SHENZHOU AEROSPACE SOFTWARE TECHNOLOGY Co Ltd
Priority to CN201410060564.4A priority Critical patent/CN103853661B/en
Publication of CN103853661A publication Critical patent/CN103853661A/en
Application granted granted Critical
Publication of CN103853661B publication Critical patent/CN103853661B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention discloses a kind of space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree, it is characterised in that: step is as follows: utilize compiler to generate corresponding weighting Merkle Hash tree for critical code section;Then, under operating system is supported, carry out fine granularity, efficient error detection based on Merkle Hash tree during the task free time, thus fine granularity, efficient single-point error detection mechanism are provided.The invention provides fine granularity, efficient single-point error detection mechanism, provide support for AEROSPACE APPLICATION system realizes Flouride-resistani acid phesphatase mistake system.

Description

The space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree
Technical field
The invention belongs to software reliability field, specifically, relate to a kind of based on weighting Merkle tree realization Space Flouride-resistani acid phesphatase fault detection method.
Background technology
Cosmic radiation is the significant threat that spacecraft faces.Space space has many high energy particles, these grains After son enters quasiconductor, ionize out a large amount of electric charge by coulomb interaction, thus cause quasiconductor digital integration electricity The logic upset on road, locking, it could even be possible to burn device, include: single-particle inversion, list specifically Particle breech lock and single event burnout, the logic state that may result in semiconductor circuit overturns, i.e. from Logic 1 is turned to logical zero or vice versa.The satellite failure that single particle effect is caused take up space radiation effect therefore The 80% of barrier sum.Owing to the cost of Flouride-resistani acid phesphatase device is very big with power consumption, and performance is relatively low, therefore, In space electronic system, commonly used software and hardware combining mode completes error detection and the mistake of single-particle inversion Recovery technology, and the single-particle inversion detection technique of high efficient and reliable is the key of Flouride-resistani acid phesphatase design.
The process variations that detection radiation brings becomes the basic function of Spacecraft Electronic system.In order to protect safety Critical software correctness, inspection software enters error condition becomes the important proposition of software design and operation.? In security critical software, the execution route protection to key code is a kind of effective method.Hash value is one Individual wide variety of integrity verification technology.Utilize whether Hash technology can detect program code as required Change, once find inconsistent i.e. to make a mistake, can trigger fault recovering mechanism, thus avoid be System enters into error condition.
In space Flouride-resistani acid phesphatase is applied, tradition Hash technology realizes the method for error detection and would ordinarily be encountered as follows Problem:
1, the fault of space single-particle inversion be non-permanent nature, can by rewrite with refreshing recover Original state, therefore verification makes mistakes is to need accurate Error Location, and position is the most accurate, the effect of Fault recovery Rate is the highest;
2, whole code segment, data segment are carried out one by one Hash verification expense excessive, and there is waste, According to sixteen principles, the focus code of 20% is often performed with hot spot data and accesses, its data integrity pair Very big in the impact of security of system, remainder is then less on security of system impact.
3, the impact position of space single-particle inversion is random, and problem possibly be present at code segment optional position, Being likely to occur in the position preserving Hash table, a simple Hash table cannot judge that Single Point of Faliure can go out The most where.
Summary of the invention
The technical problem to be solved in the present invention is to overcome drawbacks described above, it is provided that a kind of based on weighting Merkle tree side Formula realizes efficient error detection method, by building weighting based on basic block hash value for system code section Merkle tree, such that it is able to avoid hash value to be tampered the wrong report mechanism brought, and can be with fine granularity, height Imitate carries out error detection, thus provides strong support for fine granularity, efficient time data recovery mechanism.
For solving the problems referred to above, the technical solution adopted in the present invention is:
A kind of space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree, it is characterised in that: step Rapid as follows: to utilize compiler to generate corresponding weighting Merkle Hash tree for critical code section;Then in operation Under system is supported, during the task free time, carry out fine granularity, efficient error detection based on Merkle Hash tree, from And fine granularity, efficient single-point error detection mechanism are provided.
Improve as one, the structure of described weighting Merkle Hash tree;
1), in program compilation process, for the code segment of system, it is that unit divides according to basic block; Basic block is the elementary cell that program order performs, and the first statement of basic block is once performed, then base The statement of this block inside is the most necessarily executed once;If a basic block is excessive, then basic block is split as Some basic blocks of uniform size, thus total system code segment is divided into the basic block of N number of approximate size;? In compilation process, calculate the hash value of each basic block correspondence binary code of above-mentioned establishment, obtain N number of Hash value;
2), in compilation process, use the generation of profiler instrument calls figure, it is thus achieved that the critical path of system With focus;
3), basic block is arranged from high to Low according to its execution focus value, give weight coefficient i respectively For N, N-1, N-2 ..., 3,2,1;For the critical path of code segment, whether it is in key according to it Path, corresponding basic block gives weight coefficient j, respectively 1.2(critical path), the general path of 1.0(), 0.8(abnormality processing path);Calculate the weight coefficient WP=i × j of each basic block;
4), basic block is arranged according to weight coefficient WP, thus build corresponding Merkle tree, wherein The hash value of each basic block is the leaf node of Merkle Hash tree, and the hash value of intermediate node is sub-joint The hash budget result of point value: Hash (H)=hash (Hl | Hr);
5), Merkle leaf node sequence number and basic block code address are saved in a sparse matrix;
6), Merkle tree is saved in program configuration file;
Improving as one, the step that described single-particle inversion checks is as follows:
1), in system operation, concordance patrol task CircuitCheckTask, and concordance are built Preliminary examination task PreCheckTask;
2), patrol task CircuitCheckTask will verify each according to Merkle tree the most successively The hash value that the hash value of leaf node calculates with corresponding basic block is the most consistent;
3), preliminary examination task PreCheckTask is by the execution position mark according to current safety mission critical, root According to function calling relationship, check that hash value that its subsequent execution basic block is corresponding with the hash value of leaf node is No unanimously.
Improving as one, described hash value checking procedure is as follows:
1) if hash value comparative result is consistent, illustrate that corresponding basic block list does not occur with Merkle tree Point mistake;
2) if hash value is inconsistent, illustrate that corresponding basic block and Merkle tree there may exist single-point wrong By mistake;Now, in order to further determine that whether single-point mistake occurs in Merkle tree, by Merkle tree The hash value of the hash value consolidator father node of hash value and the right side brotgher of node, and with father node Hash value compares;If comparative result is consistent, illustrate that single-point mistake occurs, at corresponding basic block, should make By fault recovering mechanism, correspondence basic block is recovered;If comparative result is inconsistent, then Merkle is described There is single-point mistake in table corresponding node, needs the hash value using basic block to recalculate correspondence, and update Merkle tree.
Owing to have employed technique scheme, compared with prior art, the present invention utilizes compiler for crucial generation Code section generates corresponding weighting Merkle Hash tree;Then operating system support under, during the task free time based on Merkle Hash tree carries out fine granularity, efficient error detection, thus provides fine granularity, efficient single-point wrong Error detection mechanism, provides support for realizing Flouride-resistani acid phesphatase mistake system in AEROSPACE APPLICATION system.
Merkle Hash tree can be compared and checking work, but traversal Merkle tree is to search out correspondence The process of leaf node needs regular hour expense.In order to reduce the time overhead of lookup, method introduces Weighted value, the focus performed according to program and critical path calculate a weighted value so that repeatedly perform Focus basic block and the critical path basic block necessarily performed are as far as possible near the left side of Merkle tree, thus carry The speed of high integrality verification and the speed of traversal Merkle tree.
Use function basic block as the basis of Hash, perform general such that it is able to calculate it in units of basic block Rate with whether be positioned on critical path.On the one hand this can improve the granularity of Hash verification, on the other hand can To ensure the effectiveness of each Hash check results.
Detailed description of the invention
Embodiment:
A kind of space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree, step is as follows: utilize Compiler is that critical code section generates corresponding weighting Merkle Hash tree;Then under operating system is supported, Carry out fine granularity, efficient error detection based on Merkle Hash tree during the task free time, thus provide fine granularity, Efficient single-point error detection mechanism.
In the present embodiment, the structure of described weighting Merkle Hash tree;
1), in program compilation process, for the code segment of system, it is that unit divides according to basic block; Basic block is the elementary cell that program order performs, and the first statement of basic block is once performed, then base The statement of this block inside is the most necessarily executed once;If a basic block is excessive, then basic block is split as Some basic blocks of uniform size, thus total system code segment is divided into the basic block of N number of approximate size;? In compilation process, calculate the hash value of each basic block correspondence binary code of above-mentioned establishment, obtain N number of Hash value.
2), in compilation process, use the generation of profiler instrument calls figure, it is thus achieved that the critical path of system With focus.
3), basic block is arranged from high to Low according to its execution focus value, give weight coefficient i respectively For N, N-1, N-2 ..., 3,2,1;For the critical path of code segment, whether it is in key according to it Path, corresponding basic block gives weight coefficient j, respectively 1.2(critical path), the general path of 1.0(), 0.8(abnormality processing path);Calculate the weight coefficient WP=i × j of each basic block.
4), basic block is arranged according to weight coefficient WP, thus build corresponding Merkle tree, wherein The hash value of each basic block is the leaf node of Merkle Hash tree, and the hash value of intermediate node is sub-joint The hash budget result of point value: Hash (H)=hash (Hl | Hr).
5), Merkle leaf node sequence number and basic block code address are saved in sparse square in a continuous array Battle array.
6), Merkle tree is saved in program configuration file.
In the present embodiment, the step that described single-particle inversion checks is as follows:
1), in system operation, concordance patrol task CircuitCheckTask, and concordance are built Preliminary examination task PreCheckTask;
2), patrol task CircuitCheckTask will verify each according to Merkle tree the most successively The hash value that the hash value of leaf node calculates with corresponding basic block is the most consistent;
3), preliminary examination task PreCheckTask is by the execution position mark according to current safety mission critical, root According to function calling relationship, check that hash value that its subsequent execution basic block is corresponding with the hash value of leaf node is No unanimously.
Described hash value checking procedure is as follows:
1) if hash value comparative result is consistent, illustrate that corresponding basic block list does not occur with Merkle tree Point mistake;
2) if hash value is inconsistent, illustrate that corresponding basic block and Merkle tree there may exist single-point wrong By mistake;Now, in order to further determine that whether single-point mistake occurs in Merkle tree, by Merkle tree The hash value of the hash value consolidator father node of hash value and the right side brotgher of node, and with father node Hash value compares;If comparative result is consistent, illustrate that single-point mistake occurs, at corresponding basic block, should make By fault recovering mechanism, correspondence basic block is recovered;If comparative result is inconsistent, then Merkle is described There is single-point mistake in table corresponding node, needs the hash value using basic block to recalculate correspondence, and update Merkle tree.
Merkle Hash tree can be compared and checking work, but traversal Merkle tree is to search out correspondence The process of leaf node needs regular hour expense.In order to reduce the time overhead of lookup, method introduces Weighted value, the focus performed according to program and critical path calculate a weighted value so that repeatedly perform Focus basic block and the critical path basic block necessarily performed are as far as possible near the left side of Merkle tree, thus carry The speed of high integrality verification and the speed of traversal Merkle tree.
Use function basic block as the basis of Hash, perform general such that it is able to calculate it in units of basic block Rate with whether be positioned on critical path.On the one hand this can improve the granularity of Hash verification, on the other hand can To ensure the effectiveness of each Hash check results.

Claims (1)

1. the space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree, it is characterised in that: Step is as follows: utilize compiler to generate corresponding weighting Merkle Hash tree for critical code section;Then behaviour Make, under system support, during the task free time, to carry out fine granularity, efficient error detection based on Merkle Hash tree, Thus fine granularity, efficient single-point error detection mechanism are provided;
The structure of described weighting Merkle Hash tree:
1), in program compilation process, for the code segment of system, it is that unit divides according to basic block; Basic block is the elementary cell that program order performs, and the first statement of basic block is once performed, then base The statement of this block inside is the most necessarily executed once;If a basic block is excessive, then basic block is split as Some basic blocks of uniform size, thus total system code segment is divided into the basic block of N number of approximate size;? In compilation process, calculate the hash value of each basic block correspondence binary code created, obtain N number of Hash Value;
2), in compilation process, use the generation of profiler instrument calls figure, it is thus achieved that the critical path of system With focus;
3), basic block is arranged from high to Low according to its execution focus value, give weight coefficient i respectively For N, N-1, N-2 ..., 3,2,1;For the critical path of code segment, whether it is in key according to it Path, corresponding basic block gives weight coefficient j, when j takes 1.2 expression critical paths, takes 1.0 expressions one as j As path, represent abnormality processing when j takes 0.8;Calculate the weight coefficient WP=i × j of each basic block;
4), basic block is arranged according to weight coefficient WP, thus build corresponding Merkle tree, wherein The hash value of each basic block is the leaf node of Merkle Hash tree, and the hash value of intermediate node is sub-joint The hash budget result of point value: Hash (H)=hash (Hl | Hr);
5), the leaf node sequence number of Merkle Hash tree and basic block code address are saved in a sparse square In Zhen;
6), Merkle tree is saved in program configuration file.
CN201410060564.4A 2014-02-21 2014-02-21 The space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree Active CN103853661B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410060564.4A CN103853661B (en) 2014-02-21 2014-02-21 The space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410060564.4A CN103853661B (en) 2014-02-21 2014-02-21 The space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree

Publications (2)

Publication Number Publication Date
CN103853661A CN103853661A (en) 2014-06-11
CN103853661B true CN103853661B (en) 2016-08-31

Family

ID=50861338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410060564.4A Active CN103853661B (en) 2014-02-21 2014-02-21 The space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree

Country Status (1)

Country Link
CN (1) CN103853661B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109767245A (en) * 2019-01-08 2019-05-17 中国联合网络通信集团有限公司 Consumption information checking method, equipment and storage medium
CN110837505B (en) * 2019-11-06 2022-07-19 杭州复杂美科技有限公司 State data storage method, state data synchronization device and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005459A (en) * 2007-01-18 2007-07-25 西安电子科技大学 Radio sensor access control method based on key chain
CN101853190A (en) * 2010-06-04 2010-10-06 华中科技大学 Data integrity verification method suitable for embedded processor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386835B2 (en) * 2010-05-17 2013-02-26 Oracle International Corporation System and method for end-to-end data integrity in a network file system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005459A (en) * 2007-01-18 2007-07-25 西安电子科技大学 Radio sensor access control method based on key chain
CN101853190A (en) * 2010-06-04 2010-10-06 华中科技大学 Data integrity verification method suitable for embedded processor

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种细粒度数据完整性检验方法;陈龙等;《计算机学报》;20090430;第20卷(第4期);第902-909页 *
有限域上高效的细粒度数据完整性检验方法;陈龙等;《计算机学报》;20110531;第34卷(第5期);第847-855页 *

Also Published As

Publication number Publication date
CN103853661A (en) 2014-06-11

Similar Documents

Publication Publication Date Title
Wu et al. FT-ScaLAPACK: Correcting soft errors on-line for ScaLAPACK Cholesky, QR, and LU factorization routines
CN102915768B (en) The fault-tolerant devices and methods therefor of triplication redundancy based on EDAC module to memory
CN103544410B (en) It is a kind of that embedded microprocessor is non-clones function key authentication system and method
EP2748707B1 (en) Digital error correction
Le Scouarnec Exact scalar minimum storage coordinated regenerating codes
CN108874571A (en) high data integrity processing system
CN103853661B (en) The space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree
CN106537352A (en) Distributed storage data recovery
CN112053737B (en) Online parallel processing soft error real-time error detection and recovery method and system
Argyrides et al. Matrix codes: Multiple bit upsets tolerant method for SRAM memories
CN106328209B (en) Memory single-particle multi-bit upset fault-tolerant method and circuit
CN103150227B (en) Based on the variable subscription uniqueness security processing of redundancy encoding
CN110489268B (en) Two-stage error correction coding method and system applied to storage system in satellite severe environment
Bouissou et al. Boolean approximation for calculating the reliability of a very large repairable system with dependencies among components
Venkataraman et al. Multi-directional error correction schemes for SRAM-based FPGAs
Tong et al. Effectiveness and failure modes of error correcting code in industrial 65 nm CMOS SRAMs exposed to heavy ions
CN202838976U (en) EDAC (Error Detection And Correction)-module-based fault-tolerant device of triple modular redundancy to storage
CN108400787B (en) Parallel FIR filter fault-tolerant method based on BCH coding
Liu et al. Z codes: General systematic erasure codes with optimal repair bandwidth and storage for distributed storage systems
Liu et al. Soft error detection for iterative applications using offline training
CN112036117B (en) CRC (cyclic redundancy check) control system suitable for parallel input data with multiple bit widths
Sundary et al. Multiple error detection and correction over GF (2 m) using novel cross parity code
CN108259137A (en) A kind of quick error-checking method in continuous variable quantum key distribution system
Qu et al. An optimal design approach for fault-tolerant Petri net controllers using arc weights minimization
Ye et al. Research on ECC Algorithm FPGA Acceleration Circuit for High Reliable AIoT System

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100094 No. 28, Yongfeng Road, Beijing, Haidian District

Patentee after: Beijing Shenzhou Aerospace Software Technology Co.,Ltd.

Address before: 100094 No. 28, Yongfeng Road, Beijing, Haidian District

Patentee before: BEIJING SHENZHOU AEROSPACE SOFTWARE TECHNOLOGY Co.,Ltd.