A hazardous source information management method

By using a global hazard source hash list and blockchain technology, the problems of untraceable anonymous submissions and incomplete risk assessment records have been solved. This enables anonymous user status tracking and tamper-proof risk assessment records, ensuring the integrity and traceability of hazard source information.

CN116521665BActive Publication Date: 2026-03-24CHINA ACAD OF CIVIL AVIATION SCI & TECH
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-20
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

In existing hazard source information management systems, anonymously submitted hazard sources cannot be tracked, dispute processes cannot be recorded during risk assessment, and hazard source information coverage or display is incomplete during continuous monitoring, leading to data loss or confusion.

Method used

Employing a global hazard source hash list and blockchain technology, hazard source information is stored and managed through a state machine. Each release generates the state of the target hazard source, records it in the current block, and updates the global hash list. A Merkle tree is used to store the state and release tree, enabling anonymous filling tracking and tamper-proof recording.

Benefits of technology

It enables anonymous user status tracking, ensures the integrity of risk assessment records throughout the entire lifecycle, resolves data conflict issues caused by hazard source version upgrades, and ensures the traceability and immutability of information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116521665B_ABST
    Figure CN116521665B_ABST
Patent Text Reader

Abstract

The application provides a dangerous source information management method, and belongs to the field of safety management. The method sets a global dangerous source HASH list, and saves and manages dangerous source information based on a published state machine and a block chain; each publication generates a state of a target dangerous source, the data of the target dangerous source in the state is saved into a current block, then the HASH of the target dangerous source is recalculated and the global dangerous source HASH list is updated, and the state conversion of the target dangerous source is completed; each publication is recorded in the current block, and when the number of publications exceeds a threshold value, a new block is created. The application can truly realize a user anonymous mechanism, while ensuring that an anonymous user can track the dangerous source state filled by the user in real time, and ensuring a full-cycle and tamper-proof risk evaluation record. In addition, when a dangerous source under continuous monitoring reinitiates dangerous source identification, the problem of data conflict caused by dangerous source version upgrade is solved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the field of safety management, and particularly relates to a dangerous source information management method. BACKGROUND

[0002] At present, the information management of dangerous sources is based on traditional structured databases or non-structured database designs, such as shown in the following figure. Figure 1 As shown in the figure, it mainly includes five steps of dangerous source identification, risk assessment, selection of risk control scheme, implementation of risk control measures and risk continuous monitoring, and specifically as follows:

[0003] Dangerous source identification is a process of identifying situations and conditions that may cause personal injury or property loss. The system receives formatted data through the dangerous source new dialog box in this stage, and enters the database.

[0004] Risk assessment is to judge the possibility of risk situation and the severity of consequences by quantitative or qualitative assessment methods, and finally determine the risk degree. In this stage, the risk assessment dialog box or directly modifying the risk degree and other key parameters of the dangerous source in the dangerous source detail page is used.

[0005] Selection of risk control scheme includes steps of determining the control scheme of risk situation, analyzing the feasibility of the scheme, evaluating the risk control scheme, analyzing the residual risk and determining the final scheme. The system enters various formatted data through the module risk control dialog box in this stage.

[0006] Implementation of risk control measures refers to that for the dangerous sources that have been determined to be controlled, the management institution should develop a risk control scheme and implement the plan. The administrator enters the measures task and specifies the task person in charge and the executor in this stage.

[0007] Continuous monitoring refers to checking the effectiveness during and after the implementation of risk control measures. If the risk control measures are ineffective, the reasons need to be determined, and appropriate corrective measures need to be taken to ensure that the risk is controlled or solved. After the risk management process is completed, the records and reports of the risk management process are archived. The administrator checks the data in the dangerous source library at regular or irregular intervals in this stage, and restarts the dangerous source identification to start the above steps if necessary.

[0008] However, the prior art has the following problems:

[0009] 1. Dangerous source identification can be initiated through multiple different entrances such as random shooting, running monitoring, unsafe events and safety inspection. For the dangerous source filled anonymously by random shooting, it is either impossible to achieve complete anonymity or the anonymous filler cannot track the state when filling the dangerous source.

[0010] 2. The risk assessment process cannot record key information such as dispute process;

[0011] 3. In the continuous monitoring stage, once the hazard source identification is reinitiated, the original information of the hazard source is covered, and new risk assessment, risk control scheme and risk control measure tasks are reassociated; b) new risk assessment, risk control scheme and risk control measure tasks are added to the associated information of the original hazard source. If a is used, the hazard source history information cannot be preserved or displayed; if b is used, all related historical information will be displayed on the detail page and each control interface, and the current real state of the hazard source cannot be determined. SUMMARY

[0012] The present application aims to solve the problems existing in the prior art, and provides a hazard source information management method, which better manages the data in each stage of hazard source identification, risk assessment, risk control and continuous monitoring, and fundamentally improves the current system.

[0013] The present application is achieved by the following technical solutions:

[0014] The present application provides a hazard source information management method, which sets a global hazard source HASH list and saves and manages hazard source information based on a published state machine and a blockchain;

[0015] Each publication generates a state of a target hazard source, the data of the target hazard source in the state is saved to a current block, then the HASH of the target hazard source is recalculated and the global hazard source HASH list is updated, and the state conversion of the target hazard source is completed;

[0016] Each publication is recorded in the current block, and when the number of publications exceeds a threshold, a new block is created.

[0017] Further improvement of the present application is that the global hazard source HASH list is used to record the HASH of the current hazard source;

[0018] Each item of the global hazard source HASH list includes two fields, namely block number and hazard source HASH;

[0019] A global data block is used to save the global hazard source HASH list.

[0020] Further improvement of the present application is that:

[0021] Each block on the blockchain includes a block header and a block body;

[0022] Each block header includes an index of a previous block, a hazard source state tree, a publication tree of the block, a timestamp and a random number;

[0023] The hazard source state tree stores hazard source library data;

[0024] The publishing tree stores a collection of all publications of the block;

[0025] Each block body includes a hazard source list and a publication list, which are used to save hazard source state data and publication content respectively.

[0026] The further improvement of the present application is that:

[0027] The hazard source library data includes hazard source code, creation time, description, current state, possibility, severity, and block number and address of each publication, and if there is a historical version, the block number and address of the previous version are also recorded;

[0028] The publication includes publication type, hazard source code, publisher, description, and publication time; if there are additional fields for different publication types, they are saved in the data field;

[0029] The publication type includes anonymous creation, creation, hazard source identification, risk assessment, additional information, version upgrade, comment, and archiving.

[0030] The further improvement of the present application is that:

[0031] The method uses a Merkle tree to save the hazard source state tree and the publication tree;

[0032] The leaf node of the hazard source state tree comes from the global hazard source HASH list;

[0033] The leaf node of the publication tree comes from the publication list of the current block body.

[0034] The further improvement of the present application is that:

[0035] The operation of establishing the publication tree includes:

[0036] (1) saving the publication to the publication list of the current block body;

[0037] (2) judging whether the publication type of the publication is creation or anonymous creation, if yes, go to step (3), if no, go to step (4);

[0038] (3) creating a new hazard source and saving it to the hazard source list of the current block body, and then going to step (5);

[0039] (4) updating the target hazard source state and saving it to the hazard source list of the current block body;

[0040] (5) updating the global hazard source HASH list;

[0041] (6) judging whether the block is full, if yes, going to step (7), if no, going to step (8);

[0042] (7) traversing the publication list, generating the publication tree of the current block, creating a new block, and writing the state tree root node and the publication tree root node into the block header of the new block;

[0043] (8) ending;

[0044] The operation of judging whether the block is full in the step (6) comprises:

[0045] judging whether the number of publications is greater than a threshold, if yes, determining that the block is full, if no, determining that the block is not full.

[0046] The further improvement of the application is:

[0047] The method comprises the following operations if a hazard source needs to be created:

[0048] Firstly, a publication of a publication type of creation is submitted;

[0049] Then, the following operations are performed:

[0050] a. adding the content of the publication in the publication list and calculating the HASH;

[0051] b. creating a hazard source data structure, filling the state, code, description and creation time of the hazard source according to the content of the publication;

[0052] c. adding the current block number and the index of the publication to the publication list field of the hazard source;

[0053] d. calculating the hazard source HASH according to the hazard source data, and adding the hazard source HASH to the global hazard source HASH list.

[0054] The further improvement of the application is:

[0055] The method comprises the following operations if hazard source identification needs to be performed:

[0056] Firstly, a publication of a publication type of hazard source identification is submitted;

[0057] Then, the following operations are performed:

[0058] a. traversing the global hazard source HASH list to read the block number and the HASH;

[0059] b. locating to the block corresponding to the block number, finding the hazard source data corresponding to the HASH in the hazard source list in the block body of the block, and returning the hazard source data;

[0060] c. Add the content of the release to the release list and calculate the HASH;

[0061] d. Modify the state of the hazard source to identification;

[0062] e. Add the current block number and the index of the release to the release list field of the hazard source;

[0063] f. Recalculate the hazard source HASH, and update the HASH in the global hazard source HASH list to the new HASH.

[0064] The application is further improved in that:

[0065] The method comprises the following steps if it is necessary to create a hazard source anonymously:

[0066] First, a release of the release type of anonymous creation is submitted, the address in the release person field of the release is encrypted by the account RSA public key of the release person, and the data content is the unique code of the hazard source and the hazard source description;

[0067] Then, the following operations are performed:

[0068] a. Add the content of the release to the release list and calculate the HASH;

[0069] b. Create a hazard source data structure, and fill in the state, code, description, and creation time of the hazard source according to the content of the release;

[0070] c. Add the current block number and the index of the release to the release list field of the hazard source;

[0071] d. Calculate the HASH of the hazard source according to the hazard source data, and add the hazard source HASH to the global hazard source HASH list.

[0072] The application is further improved in that:

[0073] The method comprises the following steps if it is necessary to upgrade the version of the hazard source:

[0074] Submit a release of the release type of version upgrade;

[0075] Update the state of the hazard source to new, clear all data except the code and the hazard source description, record the current block number and the HASH of the hazard source, save to the current block and calculate the HASH, and then update the global hazard source HASH list;

[0076] The new version of the hazard source comprises an index pointing to the old version and the block number of the block where the new version is located, and the additional information of the old version is copied to the new version.

[0077] Compared with the prior art, the present application has the following advantages:

[0078] 1、The present application can truly realize user anonymity mechanism, while ensuring that the anonymous user tracks the dangerous source state filled by himself in real time;

[0079] 2、The present application ensures the risk evaluation record in the whole cycle and cannot be tampered with;

[0080] 3、The present application solves the problem of data conflict caused by dangerous source version upgrade when the dangerous source reinitiates dangerous source identification in the continuous monitoring state. BRIEF DESCRIPTION OF DRAWINGS

[0081] Figure 1 Step block diagram of the dangerous source information management method;

[0082] Figure 2 Dangerous source state conversion schematic diagram of the present application;

[0083] Figure 3 Data structure diagram of the block in the dangerous source information management method of the present application;

[0084] Figure 4 Schematic diagram of the generation process of the dangerous source state tree in the dangerous source information management method of the present application;

[0085] Figure 5 Schematic diagram of the generation process of the release tree in the dangerous source information management method of the present application. DETAILED DESCRIPTION

[0086] The present application will be described in further detail below in combination with the drawings:

[0087] The present application provides a dangerous source information management method, which sets a global dangerous source HASH list and saves and manages dangerous source information based on a released state machine and blockchain technology; each release generates a state of a target dangerous source, the data of the target dangerous source in the state is saved to the current block, then the HASH of the target dangerous source is recalculated and the global dangerous source HASH list is updated, and the state conversion of the target dangerous source is completed. Figure 2 As shown in the figure.

[0088] The present application method uses a global dangerous source HASH list to record the HASH of the current dangerous source, and the global dangerous source HASH list is saved using a global data block and is not stored on the blockchain. Each item of the global dangerous source HASH list includes two fields, namely the block number and the HASH of the dangerous source. Each release is recorded in the current block, and when the number of releases exceeds the threshold, a release tree is generated and a new block is created.

[0089] The data structure of each block is shown in Figure 3 , which includes a block body and a block header.

[0090] Each block header includes the following information: index of the previous block (i.e. Hash(block N-1)), hazard source status tree, publishing tree of the block, timestamp and random number. Each block has its own status tree root node and publishing tree root node, but only one global hazard source HASH list is used to index the latest hazard source. The hazard source status tree of each block stores the hazard source state set at the time of block generation, i.e. hazard source library data; the publishing tree of each block stores the set of all publications of the block.

[0091] Each block body includes two pieces of data: hazard source list and publication list, which are used to save hazard source state data and publication content respectively. The initial content of the two pieces of data is empty, as shown below:

[0092] "hazards / * hazard source list * / ": [],

[0093] "publishes / * publication list * / ": [],

[0094] Specifically, the hazard source library data (these data are contained in "hazard N" in Figure 3 ) includes hazard source code, creation time, description, current state, possibility, severity and block number and address of each publication, and if there is a historical version, the block number and address of the previous version are also recorded, as follows:

[0095]

[0096] The publishing tree records the specific content of all publications of the block (these contents are contained in "publish N" in Figure 3 ), including: publication type, hazard source code, publisher, description and publication time, etc. Different types may have additional fields saved in the "data" field.

[0097] The publication type includes: "anonymous creation", "creation", "hazard source identification", "risk assessment", "additional information", "version upgrade", "comment" and "archive", etc. The publication type can be set according to actual needs.

[0098] The present application uses an existing Merkle tree to save the hazard source status tree, as shown in Figure 3 .

[0099] The hazard source status tree is generated by the global hazard source HASH list when a new block is established, as shown in Figure 4 , including:

[0100] Traverse the global hazard source HASH list, combine Hashes two by two into left and right nodes, then combine the Hashes of the left and right nodes to obtain the Hash of the parent node, repeat this process until the root node of the state tree is generated. For example Figure 3 Hazard source 1 to hazard source 7 in are different hazard sources, combine the Hashes of hazard source 1 and hazard source 2 into Hash12, combine the Hashes of hazard source 3 and hazard source 4 into Hash34, and then combine Hash12 and Hash34 into Hash1234, and so on until the root node of the state tree is generated.

[0101] When creating a new block, first generate the publication tree of the current block. Figure 3 Publication 1, 2, 3, and 4 in refer to each publication, such as “anonymous creation”, “risk assessment”, and so on. The generation method of the publication tree is the same as that of the hazard source state tree, that is, as shown in Figure 4 , except that the leaf nodes of the publication tree come from the publication list of the current block body, and the leaf nodes of the hazard source state tree come from the global hazard source HASH list. The process is as shown in Figure 5 , including:

[0102] (1) save the publication to the publication list of the current block body;

[0103] (2) determine whether the publication type of the publication is creation or anonymous creation, if so, go to step (3), if not, go to step (4);

[0104] (3) create a hazard source and save it to the hazard source list of the current block body, and then go to step (5);

[0105] (4) update the target hazard source state and save it to the hazard source list of the current block body;

[0106] (5) update the global hazard source HASH list;

[0107] (6) determine whether the block is full, if so, go to step (7), if not, go to step (8);

[0108] The operation of determining whether the block is full in step (6) includes:

[0109] determine whether the number of publications is greater than a threshold value, if so, determine that the block is full, if not, determine that the block is not full. The threshold value can be set as needed, and in this embodiment, the threshold value is set to 32, that is, if there are 32 publications, it is determined that the block is full, and a new block is created.

[0110] (7) traverse the publication list to generate the publication tree of the current block (i.e., use Figure 4The method shown generates a release tree, then creates a new block, traverses the global hazard source HASH list, and generates a hazard source state tree (i.e., the hazard source state tree is generated by using Figure 4 The method shown generates a hazard source state tree, and writes the state tree root node and the release tree root node into the block header of the new block.

[0111] (8) End.

[0112] During use, the operation of creating a hazard source is as follows:

[0113] First, submit a release of the following type as a creation:

[0114]

[0115] Then perform the following operations:

[0116] a. Add the content of this release to the release list and calculate the HASH;

[0117] b. Create a hazard source data structure, and fill in the fields of the hazard source state, code, description, and creation time according to the content of the release;

[0118] c. Add the current block number and the index of the release to the release list field of the hazard source;

[0119] d. Calculate the hazard source HASH according to the hazard source data, and add the hazard source HASH to the global hazard source HASH list.

[0120] At this time, the content of the hazard source list in the block body is as follows:

[0121]

[0122] The release list in the block body is as follows:

[0123]

[0124] The global hazard source HASH list adds the following data:

[0125]

[0126] During use, the operation of hazard source identification includes:

[0127] Submit a release of the following type as an identification:

[0128]

[0129] Then, first perform hazard source searching, and the specific steps are as follows:

[0130] a. Traverse the global hazard source HASH list, read the block number and HASH;

[0131] b. Locate the block corresponding to the block number, find the hazard source data corresponding to the HASH in the hazard source list in the block body of the block, and return the hazard source data;

[0132] Then, similar steps as "creation" are performed, as follows:

[0133] c. Add the content of this release to the release list and calculate the HASH;

[0134] d. Modify the state of the hazard source to identified;

[0135] e. Add the current block number and the index of the release to the release list field of the hazard source;

[0136] f. Recalculate the hazard source HASH, and update the HASH in the global hazard source HASH list to the new HASH.

[0137] At this time, the content of the hazard source list of the block body is as follows:

[0138]

[0139] The content of the release list of the block body is as follows:

[0140]

[0141] The global hazard source HASH corresponding item is updated as follows:

[0142]

[0143] The latest state of the corresponding target hazard source.

[0144] The characteristics of the method of the application are as follows:

[0145] 1. The application designs a chain structure suitable for hazard source information, that is, Figure 3 The structure shown.

[0146] 2. The application sets a multi-channel hazard source identification entrance, and establishes anonymous authentication on the channel that needs to be anonymous.

[0147] The "anonymous submission" in the prior art has two implementation ways, but both have disadvantages, as follows:

[0148] One is "pseudo-anonymous", that is, record but do not show the ID of the submitter, achieve "anonymous" at the system UI level, but the submitter can be queried through the database level; another implementation is to completely record the submitter ID information at the database level, achieve "anonymous" in the true sense, but in this case, the submitter himself cannot query and operate the "I submitted" data record.

[0149] And all operations of the danger source are recorded on the publication tree, the publication tree is a Merkle Tree, the leaf node is the index of the publication, and the information of the "publisher" field in the publication records the identification field of the "publisher". When the "publication type" is "anonymous creation", the field is an address encrypted by the RSA public key of the account of the "publisher", and in the absence of the private key, others cannot know the detailed information of the field, thereby realizing "true anonymity"; at the same time, the "publisher" can prove the ownership of the "publication" through the private key, thereby completing anonymous query.

[0150] The anonymous authentication is generated on the blockchain through zero-knowledge proof technology to achieve anonymous filling of the danger source and obtain the reading permission of the corresponding record through the authentication.

[0151] Specifically, the method for realizing anonymous danger source filling by using the blockchain anonymous authentication is as follows:

[0152] Submit a "publication" with a "publication type" of "anonymous creation" by Weishoubai, and the data content is the unique code of the danger source and the description of the danger source, etc. The details of the "publication" are hung on the publication tree of the current block, and at the same time, the upper system sends a notification containing the address of the danger source to the administrator. Update the danger source state to "to be identified", and after a new block is generated, use SHA256 to establish HASH, update the global danger source HASH list, and update the process of the danger source state as shown in Figure 5 .

[0153] For "running monitoring", "unsafe event" and "safety check", a "publication" is also submitted, and the other steps are the same as the above paragraph.

[0154] 3. The application continuously monitors the danger source through secondary assessment, and triggers the identification mechanism to upgrade the version of the danger source.

[0155] After "secondary assessment", if the risk of the danger source is reduced to an acceptable level, the danger source is in a "continuous monitoring" state. The safety personnel continuously monitor the danger source state, and once it is found that the risk occurs again, it is called "secondary risk", and the version of the danger source should be upgraded.

[0156] "Version upgrade" is also a publication type, and the process is as follows Figure 5The state of the hazard source is updated to "newly created", all data except the code and description is emptied, the current block number and the hazard source HASH (the hazard source has a unique code, but there are multiple states, and each state corresponds to a HASH) are recorded, saved to the current block and the HASH is calculated. Then, the global hazard source HASH list is updated, and the HASH value of the previous version of the hazard source is replaced with the new HASH.

[0157] The new version of the hazard source contains an index pointing to the old version and the block number of the block where it is located, so that the historical information can be traced back. At the same time, the "name", "number" and "description" and other "additional information" of the old version are copied to the new version, and then the "hazard source identification" process is entered.

[0158] In the data structure described in the present application, the new version of the hazard source is also a state of the hazard source, which is mainly different from other states in two points:

[0159] a. The "release list" in the hazard source is emptied, and the historical release data is cleaned up;

[0160] b. A "prev" field is added to save the block number and HASH of the previous version, so that the index can be traced back;

[0161] "Secondary risk" refers to the re-discovery of risk of a hazard source in the "continuous monitoring" state, and "identification mechanism" refers to the process of monitoring the hazard source, discovering the risk and starting the identification.

[0162] 4. The present application records the input data of multiple participants in real time in the risk assessment process by the tamper-proof feature of the block chain data. The hazard source information is recorded through the chain structure of the block chain, and the multi-dimensional information and data of the hazard source are traced back. The present application uses the block chain to realize the risk assessment of the hazard source and record the details of the whole life cycle of the risk assessment, which is as follows:

[0163] After receiving the notification, the administrator queries the hazard source corresponding to the hazard source address in the notification on the global hazard source HASH list, and confirms whether the hazard source is real, false or repeated (judgment can be made by using existing technology, which will not be described here). That is, the work of "hazard source identification" is completed.

[0164] At the same time, a "release" of the type "hazard source identification" is submitted on the chain, and the details of the "release" should also be hung on the release tree of the current block, and then the safety experts who choose to perform "risk assessment" in the upper system are sent a notification containing the hazard source address (i.e. sending a notification to the safety experts). The state of the hazard source is updated to "to be evaluated", and after a new block is generated, the global hazard source HASH list is updated.

[0165] The process of risk assessment is to collect the evaluation results of many people to obtain the conclusion of whether the risk source has risk, and the output result of risk assessment is risk level, and yes indicates that the risk level is higher than the normal value, and risk control needs to be performed, and no indicates that the risk level is in the normal range, and no subsequent processing is needed.

[0166] The selection of the risk management scheme and the implementation of the risk control measure are realized by using the existing method.

[0167] After the implementation of the risk control measure, secondary assessment is performed.

[0168] The method for saving the multi-dimensional information of the full version of the risk source by using the chain data structure of the blockchain which cannot be tampered with is as follows:

[0169] When the risk source in the state of continuous monitoring occurs secondary risk, the risk source reenters the state of risk source identification by submitting the release of the release type of version upgrade. At this time, the risk source should not exist in the risk assessment process. At this time, the risk source is brand new and has nothing to do with the past; but at the same time, historical data needs to be saved for reference and backtracking. Therefore, a risk source should include historical information in addition to corresponding to an existing entity, that is, it includes two-dimensional information of time and space, and in addition, the historical information cannot be tampered with.

[0170] The state of the risk source in the application is changed by different releases, and the historical release data of the same version risk source is saved in the release list field of the risk source. As described above, the version upgrade is also a release type, and the flow is as shown in Figure 5 At the same time of emptying the historical release list field, the block number and the old version risk source HASH are recorded, and each historical version can be indexed according to the field.

[0171] Finally, it should be noted that the above technical solution is only one embodiment of the application, and for those skilled in the art, on the basis of the application disclosed application method and principle, various types of improvements or modifications can be easily made, and are not limited to the method described in the above embodiment, therefore, the above described method is only preferred, and does not have the meaning of limitation.

Claims

1. A hazardous source information management method characterized by comprising: The method sets a global hazard source HASH list, and saves and manages hazard source information based on a published state machine and a blockchain; Each publication generates a state of a target hazard source, and data of the target hazard source in the state is saved to a current block, then a HASH of the target hazard source is recalculated and the global hazard source HASH list is updated, and a state conversion of the target hazard source is completed; Each publication is recorded in the current block, and when the number of publications exceeds a threshold, a new block is created; The global hazard source HASH list is used to record a HASH of a current hazard source; Each item of the global hazard source HASH list includes two fields, namely a block number and a HASH of a hazard source; A global data block is used to save the global hazard source HASH list; Each block on the blockchain includes a block header and a block body; Each block header includes an index of a previous block, a hazard source state tree, a publication tree of the block, a timestamp and a random number; The hazard source state tree stores hazard source library data; The publication tree stores a set of all publications of the block; Each block body includes a hazard source list and a publication list, which are used to save hazard source state data and publication contents respectively; The hazard source library data includes a hazard source code, a creation time, a description, a current state, a possibility, a severity, and block numbers and addresses of each publication, and if there is a historical version, a block number and an address of a previous version are also recorded; The publication includes a publication type, a hazard source code, a publisher, a description and a publication time; if there are additional fields for different publication types, the additional fields are saved in a data field; The publication type includes anonymous creation, creation, hazard source identification, risk assessment, additional information, version upgrade, comment and archiving; When the publication type is anonymous creation, an address encrypted by a RSA public key of the publisher is used as the publisher.

2. The hazardous source information management method according to claim 1, characterized by: The method uses a Merkle tree to save the hazard source state tree and the publication tree; Leaf nodes of the hazard source state tree come from the global hazard source HASH list; Leaf nodes of the publication tree come from a publication list of a current block body.

3. The hazardous source information management method according to claim 2, characterized by: Operations of establishing the publication tree include: (1) saving a publication to the publication list of the current block body; (2) judging whether the publication type of the publication is creation or anonymous creation, if yes, going to step (3), if no, going to step (4); (3) creating a new hazard source and saving it to the hazard source list of the current block body, and then going to step (5); (4) updating a target hazard source state and saving it to the hazard source list of the current block body; (5) updating the global hazard source HASH list; (6) judging whether a block is full, if yes, going to step (7), if no, going to step (8); (7) traversing the publication list to generate a publication tree of the current block, creating a new block, and writing a state tree root node and a publication tree root node into a block header of the new block; (8) ending; Operations of judging whether the block is full in step (6) include: Determine whether the number of posts published is greater than a threshold value, and if so, determine that the block is full, and if not, determine that the block is not full.

4. The hazardous source information management method according to claim 2, characterized by: The method comprises the following steps if a hazard source needs to be created: First, submit a post of the type of creation; Then, the following operations are performed: a. Add the content of the post to the post list and calculate the HASH; b. Create a hazard source data structure, fill in the state, code, description, and creation time of the hazard source according to the content of the post; c. Add the current block number and the index of the post to the post list field of the hazard source; d. Calculate the hazard source HASH according to the hazard source data, and add the hazard source HASH to the global hazard source HASH list.

5. The hazardous source information management method according to claim 2, characterized by: The method comprises the following steps if a hazard source needs to be identified: First, submit a post of the type of hazard source identification; Then, the following operations are performed: a. Traverse the global hazard source HASH list, read the block number and HASH; b. Locate the block corresponding to the block number, find the hazard source data corresponding to the HASH in the hazard source list in the block body of the block, and return the hazard source data; c. Add the content of the post to the post list and calculate the HASH; d. Modify the state of the hazard source to identification; e. Add the current block number and the index of the post to the post list field of the hazard source; f. Recalculate the hazard source HASH, and update the HASH in the global hazard source HASH list to the new HASH.

6. The hazardous source information management method according to Claim 2, characterized by: The method comprises the following steps if a hazard source needs to be created anonymously: First, submit a post of the type of anonymous creation, the publisher field of which is encrypted using the account RSA public key of the publisher, and the data content is the unique code of the hazard source and the hazard source description; Then, the following operations are performed: a. Add the content of the post to the post list and calculate the HASH; b. Create a hazard source data structure, fill in the state, code, description, and creation time of the hazard source according to the content of the post; c. Add the current block number and the index of the post to the post list field of the hazard source; d. Calculate the hazard source HASH according to the hazard source data, and add the hazard source HASH to the global hazard source HASH list.

7. The hazardous source information management method according to Claim 2, characterized by: The method comprises the following steps if a hazard source needs to be upgraded: Submit a post of the type of version upgrade; Update the state of the hazard source to new, clear all data except the code and hazard source description, record the current block number and the HASH of the hazard source, save to the current block and calculate the HASH, and then update the global hazard source HASH list; The new version of the hazard source includes an index pointing to the old version and the block number of the block where the old version is located, and the additional information of the old version is copied to the new version.

Citation Information

Patent Citations

  • A danger source identification and management system

    CN109726207A

  • Information query and consensus method, system and device and storage medium

    CN110008233A

  • Shared data storage method and device based on business data blockchain

    CN111694837A