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 PDFInfo
- 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
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
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.
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)
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)
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)
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 |
-
2014
- 2014-02-21 CN CN201410060564.4A patent/CN103853661B/en active Active
Patent Citations (2)
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)
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. |