Space data access system and method
By using a distributed aerospace data storage and retrieval system and blockchain technology, the problem of low data acquisition efficiency in centralized systems has been solved, enabling efficient and secure data sharing and access, and adapting to the needs of multi-level users.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZHEJIANG LAB
- Filing Date
- 2023-01-03
- Publication Date
- 2026-06-19
AI Technical Summary
While ensuring security, existing centralized aerospace data management systems result in low efficiency for users to obtain aerospace data, and hardware performance bottlenecks limit data processing speed.
The system employs a distributed aerospace data storage and retrieval system, utilizing blockchain technology. Through the collaborative work of data storage nodes, data publishing nodes, and data acquisition nodes, it achieves data block processing and consensus mechanisms, ensuring data security and reliability. At the same time, it provides flexible user access methods and highly versatile application interfaces.
It improves the efficiency and security of aerospace data acquisition, ensures reliable data sharing and tamper-proof data, adapts to the needs of users at different levels and platforms, and enables flexible data distribution and access.
Smart Images

Figure CN115951835B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of Internet technology, and in particular to a space data access system and method. Background Technology
[0002] In today's information age, aerospace data, as a type of electronic data with high real-time performance and high accuracy, has made outstanding contributions in many fields. However, aerospace data also faces the risk of being stolen, tampered with, or forged. Therefore, very strict security measures are currently in place to process aerospace data.
[0003] However, while the high level of protection ensures the security of aerospace data, it also significantly reduces the efficiency for users to access this data. In existing centralized aerospace data management systems, a large amount of aerospace data is stored on the same node, and the bottleneck in hardware performance limits the efficiency of data processing, resulting in slow data retrieval speeds for users.
[0004] To address the aforementioned issues, this specification provides a more flexible aerospace data access system. Summary of the Invention
[0005] This specification provides a space data access system and method to at least partially solve the aforementioned problems existing in the prior art.
[0006] The following technical solution is adopted in this specification:
[0007] This specification provides an aerospace data access system, which includes at least several data storage nodes, several data publishing nodes, and several data acquisition nodes;
[0008] The data storage node is used to store raw aerospace data, and in response to the publishing operation of the first user, to generate data blocks based on the raw aerospace data and send the obtained data blocks to the data publishing node;
[0009] The data publishing node is used to receive data blocks sent by the data storage node and broadcast the data blocks to other data publishing nodes so that the data publishing nodes can reach a consensus on the data blocks and store the data blocks in the first blockchain after the consensus is passed.
[0010] The data acquisition node is configured to respond to the access request of the second user to the first blockchain, acquire the first blockchain from the data publishing node, determine the target data block in the first blockchain according to the second user's acquisition operation of the data block in the first blockchain, generate an acquisition request for the target data block, and broadcast the acquisition request to other data acquisition nodes so that the data acquisition nodes can reach a consensus on the acquisition request, and send the acquisition request to the data publishing node when the consensus is passed.
[0011] The data publishing node is also used to receive the acquisition request sent by the data acquisition node, determine the first user who publishes the target data block as the designated user based on the acquisition request, and send a prompt message to the designated user. The prompt message is used to prompt the designated user to push the original aerospace data corresponding to the target data block to the second user.
[0012] Optionally, the raw aerospace data stored in each data storage node is different.
[0013] Optionally, data blocks are generated based on the original space data, specifically including:
[0014] Determine the basic attributes and data index of the raw aerospace data;
[0015] The original space data is encrypted to obtain encrypted space data;
[0016] Determine the digital digest of the encrypted space data;
[0017] The basic attributes, the data index, and the digital digest are defined as data blocks.
[0018] Optionally, the basic attributes include at least the virtual address of the data storage node storing the original aerospace data and the user identifier of the first user.
[0019] Optionally, the data index may include at least the tags of the original space data.
[0020] Optionally, determining the data index of the original space data specifically includes:
[0021] Based on the category to which the original space data belongs, determine the first label of the original space data;
[0022] Based on the keywords contained in the original space data, determine the second tag of the original space data;
[0023] The first and second tags are determined as the data indexes of the original aerospace data.
[0024] Optionally, the acquisition request may include at least a digital digest of the target data block, the user identifier of the second user, and the virtual address of the data acquisition node.
[0025] Optionally, the data acquisition nodes reach a consensus on the acquisition request, specifically including:
[0026] For each data acquisition node in the system, determine the judgment result of whether the user identifier pre-stored in the data acquisition node matches the user identifier of the second user;
[0027] The verification is considered successful when the number of data acquisition nodes that meet the criteria is not less than the specified threshold.
[0028] Optionally, after the data acquisition nodes reach a consensus on the acquisition request and the consensus is passed, the data acquisition node is further configured to:
[0029] The acquisition request is stored in the second blockchain;
[0030] Before the data publishing node determines the designated first user to publish the target data block based on the acquisition request, the data publishing node is further configured to:
[0031] Check if the acquisition request exists in the second blockchain;
[0032] If it does not exist, the request to obtain it will be rejected.
[0033] Optionally, the plurality of data publishing nodes maintain the first blockchain, and the plurality of data acquiring nodes maintain the second blockchain.
[0034] This specification provides a data publishing method, which is applied to any data storage node in an aerospace data access system. The method includes:
[0035] In response to the first user's publishing action, determine the raw aerospace data that needs to be published;
[0036] Determine the basic attributes and data index of the raw aerospace data;
[0037] The original space data is encrypted to obtain encrypted space data;
[0038] Determine the digital digest of the encrypted space data;
[0039] The basic attributes, the data index, the digital digest, and the virtual address of the data storage node are sent as a data block to the data publishing node, which then broadcasts the data block to other data publishing nodes to achieve consensus on the data block. After the consensus is reached, the data block is stored in the first blockchain.
[0040] This specification provides a data acquisition method, which is applied to any data acquisition node in a space data access system. The method includes:
[0041] In response to a second user's access operation to the first blockchain, the first blockchain is obtained from the data publishing node;
[0042] Based on the second user's acquisition operation of data blocks in the first blockchain, the target data block is determined and an acquisition request to access the target data block is generated;
[0043] The acquisition request is broadcast to other data acquisition nodes, enabling the data acquisition nodes to reach a consensus on the acquisition request.
[0044] When consensus is reached, the data acquisition request is sent to the data publishing node, which then determines the first user to publish the target data block as the designated user based on the acquisition request, and sends a prompt message to the designated user. The prompt message is used to prompt the designated user to push the original aerospace data corresponding to the target data block to the second user.
[0045] This specification provides a data processing method, which is applied to any data publishing node in an aerospace data access system. The method includes:
[0046] In response to receiving a data block sent by a data storage node, the data block is broadcast to other data publishing nodes to achieve consensus on the data block, and after consensus is reached, the data block is stored in the first blockchain; and,
[0047] In response to an acquisition request sent by a receiving data acquisition node, a first user for publishing the target data block is determined based on the acquisition request, designated as a specified user, and a prompt message is sent to the specified user, which prompts the specified user to push the original aerospace data corresponding to the target data block to a second user.
[0048] This specification provides a data publishing device, the device comprising:
[0049] The data determination module is used to determine the raw aerospace data to be published in response to the first user's publishing operation;
[0050] The attribute determination module is used to determine the basic attributes and data indexes of the raw aerospace data;
[0051] The encryption module encrypts the original aerospace data to obtain encrypted aerospace data;
[0052] The digest determination module is used to determine the digital digest of the encrypted space data;
[0053] The first sending module is used to send the basic attributes, the data index, the digital digest, and the virtual address of the data storage node as a data block to the data publishing node, so that the data publishing node broadcasts the data block to other data publishing nodes, so that the data publishing nodes reach a consensus on the data block, and after the consensus is passed, the data block is stored in the first blockchain.
[0054] This specification provides a data acquisition device, the device comprising:
[0055] The acquisition module is used to acquire the first blockchain from the data publishing node in response to the access operation of the second user to the first blockchain;
[0056] The generation module is used to determine the target data block and generate an access request to the target data block based on the second user's access operation on the data block in the first blockchain.
[0057] The broadcast module is used to broadcast the acquisition request to other data acquisition nodes, so that the data acquisition nodes can reach a consensus on the acquisition request;
[0058] The second sending module is used to send the data acquisition request to the data publishing node when consensus is reached, so that the data publishing node determines the first user to publish the target data block as the designated user based on the acquisition request, and sends a prompt message to the designated user. The prompt message is used to prompt the designated user to push the original aerospace data corresponding to the target data block to the second user.
[0059] This specification provides a data processing apparatus, the apparatus comprising:
[0060] The first receiving module is configured to, in response to receiving a data block sent by a data storage node, broadcast the data block to other data publishing nodes, so that the data publishing nodes can reach a consensus on the data block, and after the consensus is passed, store the data block in the first blockchain; and,
[0061] The second receiving module is used to respond to the acquisition request sent by the receiving data acquisition node, determine the first user of the target data block as the designated user according to the acquisition request, and send a prompt message to the designated user. The prompt message is used to prompt the designated user to push the original aerospace data corresponding to the target data block to the second user.
[0062] This specification provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method.
[0063] This specification provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the method described above.
[0064] The above-mentioned technical solutions adopted in this specification can achieve the following beneficial effects:
[0065] The aerospace data access system provided in this specification includes at least several data storage nodes, several data acquisition nodes, and several data publishing nodes. Data storage nodes store raw aerospace data and, in response to the first user's publishing operation, perform block processing on the raw aerospace data and send the resulting data blocks to the data publishing nodes. Data acquisition nodes, in response to the second user's access operation, generate an acquisition request for the target data block and send the request to other data acquisition nodes to achieve consensus on the acquisition request. Upon successful verification, the acquisition request is sent to the data publishing nodes. Data publishing nodes receive and store data blocks sent by the data storage nodes, receive acquisition requests from data access nodes, and notify the first user, enabling the first user to push the raw aerospace data corresponding to the data block to the second user. Attached Figure Description
[0066] The accompanying drawings, which are included to provide a further understanding of this specification and form part of this specification, illustrate exemplary embodiments and are used to explain this specification, but do not constitute an undue limitation thereof. In the drawings:
[0067] Figure 1 This is a schematic diagram of the system structure of a space data access system described in this specification;
[0068] Figure 2 This is a schematic diagram of the service application architecture of a space data access system described in this specification.
[0069] Figure 3 This is a flowchart illustrating one data publishing method described in this specification.
[0070] Figure 4 This is a flowchart illustrating one data acquisition method described in this specification.
[0071] Figure 5 This is a flowchart illustrating one data processing method described in this specification.
[0072] Figure 6 This is a schematic diagram of a data publishing device provided in this specification;
[0073] Figure 7 This is a schematic diagram of a data acquisition device provided in this specification;
[0074] Figure 8 This is a schematic diagram of a data processing device provided in this specification;
[0075] Figure 9 The corresponding information provided in this specification Figure 3 A schematic diagram of an electronic device. Detailed Implementation
[0076] Currently, aerospace data services are only provided to a very small number of large organizations, and the coverage of these services falls far short of the needs of joint operational tasks. Joint operational tasks require collaboration between different organizations and levels to complete a mission. Therefore, aerospace data distribution services, as information support, need to distribute data to multiple users at different levels, on different platforms, and with different usage habits. This necessitates that aerospace data services have flexible user access methods and highly versatile application interfaces. This applies not only to users but also to data service nodes.
[0077] Therefore, this specification provides a blockchain-based aerospace data storage and retrieval system and method.
[0078] To make the objectives, technical solutions, and advantages of this specification clearer, the technical solutions of this specification will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments in this specification without creative effort are within the scope of protection of this application.
[0079] The technical solutions provided in the various embodiments of this specification are described in detail below with reference to the accompanying drawings.
[0080] Figure 1 This is a schematic diagram of the structure of a data access system in this specification. The data access system includes at least several data storage nodes, several data acquisition nodes, and several data publishing nodes.
[0081] The data storage node is used to store raw aerospace data, and in response to the publishing operation of the first user, to generate data blocks based on the raw aerospace data and send the obtained data blocks to the data publishing node.
[0082] In the data access system provided in this specification, data storage nodes are used to store raw aerospace data. Typically, the raw aerospace data is pre-stored in the data storage nodes by a first user. In this specification, the first user is the producer and manager of the aerospace data, and can be any aerospace department or organization with the capability and authority to produce aerospace data. Similarly, the data storage node can be any electronic device owned by the first user that has computing and storage functions, such as a server. The aerospace data access system can have several data storage nodes, with no limit on the number. Each first user uses a different data storage node, and each first user can own multiple corresponding data storage nodes. Furthermore, the raw aerospace data stored in each data storage node is also different.
[0083] The data publishing node is configured to receive data blocks sent by the data storage node and broadcast the data blocks to other data publishing nodes to achieve consensus on the data blocks. After consensus is reached, the data blocks are stored in the first blockchain. The data publishing node is also configured to receive acquisition requests sent by the data acquisition node, determine a first user to publish the target data block based on the acquisition request, designate this user as a designated user, and send a prompt message to the designated user, prompting the designated user to push the original aerospace data corresponding to the target data block to a second user.
[0084] In the data access system provided in this specification, data publishing nodes are used to receive and store aerospace data in the form of data blocks. Simultaneously, data publishing nodes can display partial data from each data block to second users, enabling them to understand the attributes of the original aerospace data corresponding to a data block and find the data block containing the original aerospace data they need, even when they cannot directly access the original aerospace data. It is worth noting that when any data storage node sends a data block to any data publishing node, the receiving data publishing node will broadcast the data block to other data publishing nodes. That is to say, typically, the data blocks stored in each data publishing node are the same, representing all data blocks.
[0085] The data acquisition node is configured to respond to the access request of the second user to the first blockchain, acquire the first blockchain from the data publishing node, determine the target data block in the first blockchain according to the second user's acquisition operation of the data block in the first blockchain, generate an acquisition request for the target data block, and broadcast the acquisition request to other data acquisition nodes so that the data acquisition nodes can reach a consensus on the acquisition request, and send the acquisition request to the data publishing node when the consensus is passed.
[0086] In the data access system provided in this specification, the data acquisition node is used to generate an acquisition request under the operation of a second user and send the acquisition request to the data publishing node to obtain aerospace data. The second user can be any user with the authority to obtain aerospace data, and the data acquisition node can be any electronic device with computing capabilities owned by the second user, such as a terminal.
[0087] The aerospace data access system provided in this manual primarily implements functions including at least the storage, distribution, and retrieval of aerospace data. Storage is achieved through data storage nodes, which store raw aerospace data. Data distribution allows a first user to publish the raw aerospace data from the data storage nodes to a data distribution node. Data retrieval involves a second user sending a retrieval request to the data distribution node through a data retrieval node, thereby obtaining the corresponding raw aerospace data.
[0088] The data publishing process involves the data storage node obtaining data blocks based on the original aerospace data and then sending these data blocks to the data publishing node. Upon responding to the first user's publishing operation on the original aerospace data, the data storage node first obtains the corresponding data blocks based on the original aerospace data. Specifically, this involves determining the basic attributes and data index of the original aerospace data; encrypting the original aerospace data to obtain encrypted aerospace data; determining the digital digest of the encrypted aerospace data; and defining the basic attributes, the data index, and the digital digest as data blocks.
[0089] The basic attributes of the original space data are used to characterize its source and may include at least the virtual address of the data storage node storing the original space data and the user identifier of the first user. The data index of the original space data is mainly used to enable the second user to match the space data they need when searching, and may include at least the tags of the original space data. When determining the index of the original space data, a first tag is determined based on the category to which the original space data belongs; a second tag is determined based on the keywords contained in the original space data; and the first and second tags are used as the data index of the original space data.
[0090] In the space data access system and method provided in this specification, the first tag is a tag obtained based on the category to which the content of the raw space data belongs, mainly used to characterize the classification of the raw space data. The first tag of the raw space data may include, but is not limited to, categories such as remote sensing, meteorology, surveying and mapping, and telemetry and control. The second tag is a tag obtained based on the keywords contained in the raw space data, mainly used to characterize the main content contained in the raw space data. The second tag of the raw space data may include, but is not limited to, keywords such as visible light, radar, and sound waves. It is worth mentioning that, typically, only one first tag and one second tag can be determined for each piece of raw space data.
[0091] The data acquisition process involves the data acquisition node generating an acquisition request, sending the request to the data publishing node, and the data publishing node notifying the first user to push the raw aerospace data to the second user. Upon responding to the second user's operation to acquire the target aerospace data, the data acquisition node can generate an acquisition request. This acquisition request may include at least a digital digest of the target aerospace data, the second user's user identifier, and the virtual address of the data acquisition node.
[0092] Because the first blockchain displays digital digests, basic attributes, and data indexes of data blocks for second users to browse and query the aerospace data they wish to obtain, the acquisition request generated by the data acquisition node when a second user performs a data acquisition operation can carry a digital digest of the target aerospace data to be acquired. Simultaneously, the acquisition request also includes at least the second user's user identifier and the virtual address of the data acquisition node that generated the acquisition request, used to verify the second user's identity.
[0093] When any data acquisition node generates an acquisition request, it first broadcasts the request to all other data acquisition nodes to achieve consensus. Specifically, for each data acquisition node in the system, a judgment result is determined on whether the user identifier pre-stored in the data acquisition node matches the user identifier of the second user; when the number of data acquisition nodes with the judgment result being yes is not less than a specified threshold, consensus is considered to have passed.
[0094] Similar to the data publishing nodes, the data stored in each data acquisition node is typically the same. Each data acquisition node pre-stores the user identifiers of all second users and the virtual addresses of each data acquisition node. When an acquisition request is received, it verifies whether the user identifier of the second user in the acquisition request matches any of the pre-stored user identifiers of the second users. If they match, it indicates that the current second user has the authority to acquire space data; otherwise, if the current second user's user identifier does not match any of the pre-stored user identifiers, it indicates that the current second user does not have the authority to acquire space data. Additionally, the same method can be used to further verify the virtual addresses in the acquisition request; this specification does not impose specific restrictions on this.
[0095] During consensus formation, each data acquisition node needs to verify the acquisition request and provide a separate result indicating whether the user identifier of the second user included in the acquisition request matches a pre-stored user identifier. When the number of data acquisition nodes that confirm a match is not less than a specified threshold, it can be assumed that the current second user is likely a user with the authority to acquire aerospace data, and consensus can be confirmed. The specified threshold can be adjusted based on the total number of data acquisition nodes and actual needs; it can be a specific value or a percentage, and this specification does not impose specific restrictions on it.
[0096] Once consensus is reached, the data acquisition node can send the acquisition request to the data publishing node. Simultaneously, each data acquisition node records this access. When the data publishing node receives the acquisition request, it can determine the corresponding data block based on the digital digest contained in the request, and query the basic attributes of the data block to determine the data storage node that published the data block and the information of the first user. At this point, the data publishing node can notify the first user to send the raw aerospace data stored in the data storage node to the second user. Specifically, the first user can send the raw aerospace data to the second user's data acquisition node through the data storage node.
[0097] Even better, upon receiving a data acquisition request, the data publishing node can determine the data storage node for the original aerospace data corresponding to the target data block based on the request, and send a push command to that data storage node, enabling it to directly push the original aerospace data corresponding to the target database to the second user. This approach eliminates the need for additional confirmation from the first user, further simplifying the data acquisition process and accelerating its efficiency.
[0098] To further ensure security when acquiring aerospace data, after consensus is reached, the acquisition request can be stored in the second blockchain as a data block. Before the data publishing node receives the acquisition request and determines the first user to publish the target data block based on the request, it can check in the second blockchain whether the acquisition request exists. If the query result is that the request does not exist, it indicates that the data publishing node may have received a fake acquisition request, and in this case, it can refuse to respond to the acquisition request.
[0099] Additionally, to ensure the second user obtains the correct original space data, the data acquisition node, after acquiring the original space data, can encrypt the original space data using the same encryption method employed by the data storage node when block-based processing, and determine a digital digest of the encrypted data. When the digital digest determined by the data acquisition node matches the digital digest of the corresponding data block stored in the data publishing node, the second user can be considered to have obtained the correct original space data.
[0100] It is worth noting that in the aerospace data access system provided in this manual, a device can not only serve as one type of node. For example, when one aerospace unit wants to access certain raw aerospace data managed by another aerospace unit, the data storage node can also serve as a data acquisition node.
[0101] Additionally, in the aerospace data sharing and access service, different aerospace data access permissions can be set for different levels of users. For example, high-level users can access all data and directories across the entire domain; mid-level users can access data and the entire directory for a specific aerospace business area; and low-level users can only access a portion of the data and directory for a specific aerospace business area. Access control for aerospace data is implemented based on the security level of the data content and the user's role authentication. According to the system's security policy, the security level of all information resources in the system is set. When a user makes a request, the security level of the resource the user wants to access is matched with the user's authentication information to determine whether permission is granted to the user.
[0102] As can be seen, the aerospace data access system provided in this manual establishes a data publishing blockchain composed of data publishing nodes and a data acquisition blockchain composed of data acquisition nodes, based on blockchain technology. This lays the foundation for addressing the shortcomings of distributed sharing applications of aerospace data and ensuring the security, integrity, traceability, and immutability of aerospace data sharing application processes.
[0103] Additionally, the system architecture of the space data access system provided in this specification can be as follows: Figure 2 As shown.
[0104] The system architecture can be divided into three layers: hardware infrastructure, software infrastructure, and application layer.
[0105] The hardware infrastructure includes various nodes and network equipment. The software infrastructure, centered on a comprehensive resource information service platform, comprises a space data regional sharing model based on a shared metadata ontology set, a distributed resource virtual directory view, space information service management, a distributed intelligent service engine, and authorization and security management mechanisms. It provides space resource sharing directory services, data indexing services, trusted space data sharing and distribution services, and trusted access services. Supported by various service technologies, it ultimately enables data retrieval, customization, and acquisition within the system. The application layer includes several basic applications for the services, supporting user node access, data publishing, and data access through a shared portal website. The shared portal website uses a combination of raster and vector spatial information representation, providing end-users with functions such as heterogeneous spatial information aggregation, personalized content customization, and single sign-on, enabling rapid display, browsing, and querying of space data.
[0106] Meanwhile, in the aerospace data access system provided in this manual, blockchain communication technology employs a decentralized approach for real-time communication. User nodes do not connect to specific server nodes but instead form a peer-to-peer (P2P) network. They authenticate each other and maintain message confidentiality through Public Key Infrastructure (PKI) encryption and decryption mechanisms, while digital signatures ensure security during message transmission. By integrating P2P transmission, version control, PKI encryption and decryption, and binary hash chains, a trusted environment for sharing aerospace data is constructed.
[0107] Based on the security level and user role requirements of aerospace data content, smart contract modeling for aerospace business is implemented using Fabric chaincode. A mapping model between aerospace data sharing business and blockchain smart contract scripts is established, and smart contracts are written into the blockchain in digital form. By creating visualization tools, business maintenance personnel can customize block smart contracts as needed. The characteristics of blockchain technology ensure the security, transparency, traceability, and immutability of the entire business process execution. No central institution is required, and mutual trust between the parties is not necessary. Through the traceability and tamper-proof supervision of data from independent business systems, trusted access and trusted sharing and distribution of various types of aerospace data are effectively realized.
[0108] Figure 3 This is a flowchart illustrating one data publishing method described in this specification, which specifically includes the following steps:
[0109] S100: In response to the first user's release operation, determine the raw space data that needs to be released.
[0110] All steps in the data publishing method provided in this manual can be implemented by any electronic device with computing capabilities, such as a terminal or server. The specific implementation process of the data publishing method has been described in the aforementioned aerospace data access system; for the sake of brevity, it will not be repeated here.
[0111] S102: Determine the basic attributes and data index of the original aerospace data.
[0112] S104: Encrypt the original aerospace data to obtain encrypted aerospace data.
[0113] S106: Determine the digital digest of the encrypted space data.
[0114] S108: The basic attributes, the data index, the digital digest, and the virtual address of the data storage node are sent as a data block to the data publishing node, so that the data publishing node broadcasts the data block to other data publishing nodes, so that the data publishing nodes reach a consensus on the data block, and after the consensus is passed, the data block is stored in the first blockchain.
[0115] Figure 4 This is a flowchart illustrating one data acquisition method described in this specification, which specifically includes the following steps:
[0116] S200: In response to a second user's access operation to the first blockchain, obtain the first blockchain from the data publishing node.
[0117] All steps in the data acquisition method provided in this manual can be implemented by any electronic device with computing capabilities, such as a terminal or server. Similarly, the specific implementation process of the data acquisition method has been described in the aforementioned aerospace data access system, and will not be repeated here for the sake of brevity.
[0118] S202: Based on the second user's operation to acquire data blocks in the first blockchain, determine the target data block and generate an acquisition request to access the target data block.
[0119] S204: Broadcast the acquisition request to other data acquisition nodes so that all data acquisition nodes can reach a consensus on the acquisition request.
[0120] S206: When consensus is reached, the data acquisition request is sent to the data publishing node, so that the data publishing node determines the first user to publish the target data block as the designated user based on the acquisition request, and sends a prompt message to the designated user. The prompt message is used to prompt the designated user to push the original aerospace data corresponding to the target data block to the second user.
[0121] Figure 5 This is a flowchart illustrating one data processing method described in this specification, which specifically includes the following steps:
[0122] S300: In response to receiving a data block sent by a data storage node, broadcast the data block to other data publishing nodes so that the data publishing nodes can reach a consensus on the data block, and store the data block in the first blockchain after the consensus is passed.
[0123] All steps in the data acquisition method provided in this specification can be implemented by any data publishing node in the aforementioned aerospace data access system. The data publishing node can be any electronic device with computing capabilities, such as a terminal or server. Similarly, the specific implementation process of the data processing method has been described in the aforementioned aerospace data access system; for the sake of brevity, it will not be repeated here.
[0124] S302: In response to the acquisition request sent by the receiving data acquisition node, determine the first user of the target data block as the designated user according to the acquisition request, and send a prompt message to the designated user. The prompt message is used to prompt the designated user to push the original aerospace data corresponding to the target data block to the second user.
[0125] It is worth noting that in this data processing method, both steps S300 and S302 are response-triggered steps, and there is no temporal order between them. In other words, steps S300 and S302 are parallel steps and can be implemented simultaneously.
[0126] The above describes the data publishing method, data acquisition method, and data processing method provided in this manual. Based on the same approach, this manual also provides corresponding data publishing devices, data acquisition devices, and data processing devices, such as... Figure 6 , Figure 7 and Figure 8 As shown.
[0127] Figure 6 A schematic diagram of a data publishing device provided in this specification specifically includes:
[0128] The data determination module 400 is used to determine the raw aerospace data to be published in response to the publishing operation of the first user;
[0129] The attribute determination module 402 is used to determine the basic attributes and data index of the original aerospace data;
[0130] Encryption module 404 encrypts the original aerospace data to obtain encrypted aerospace data;
[0131] Digest determination module 406 is used to determine the digital digest of the encrypted space data;
[0132] The first sending module 408 is used to send the basic attributes, the data index, the digital digest, and the virtual address of the data storage node as a data block to the data publishing node, so that the data publishing node broadcasts the data block to other data publishing nodes, so that the data publishing nodes reach a consensus on the data block, and after the consensus is passed, the data block is stored in the first blockchain.
[0133] Figure 7 This specification provides a schematic diagram of a data acquisition device, which specifically includes:
[0134] The acquisition module 500 is used to acquire the first blockchain from the data publishing node in response to the second user's access operation to the first blockchain;
[0135] The generation module 502 is used to determine the target data block and generate an access request to the target data block based on the second user's access operation to the data block in the first blockchain.
[0136] Broadcast module 504 is used to broadcast the acquisition request to other data acquisition nodes, so that the data acquisition nodes can reach a consensus on the acquisition request;
[0137] The second sending module 506 is used to send the data acquisition request to the data publishing node when consensus is reached, so that the data publishing node determines the first user to publish the target data block as the designated user based on the acquisition request, and sends a prompt message to the designated user. The prompt message is used to prompt the designated user to push the original aerospace data corresponding to the target data block to the second user.
[0138] Figure 8 This specification provides a schematic diagram of a data acquisition device, which specifically includes:
[0139] The first receiving module 600 is configured to, in response to receiving a data block sent by a data storage node, broadcast the data block to other data publishing nodes, so that the data publishing nodes can reach a consensus on the data block, and after the consensus is passed, store the data block in the first blockchain; and,
[0140] The second receiving module 602 is used to respond to the acquisition request sent by the receiving data acquisition node, determine the first user of the target data block as the designated user according to the acquisition request, and send a prompt message to the designated user. The prompt message is used to prompt the designated user to push the original aerospace data corresponding to the target data block to the second user.
[0141] This specification also provides a computer-readable storage medium storing a computer program that can be used to execute the above-described... Figure 3 Provided data publishing methods, Figure 4 Provided data acquisition methods and Figure 5 The provided data processing methods.
[0142] This instruction manual also provides Figure 9 The diagram shows a schematic structural representation of the electronic device. Figure 9 At the hardware level, the electronic device includes a processor, internal bus, network interface, memory, and non-volatile memory, and may also include other hardware required for the business operations. The processor reads the corresponding computer program from the non-volatile memory into memory and then runs it to achieve the above-mentioned functions. Figure 3 Provided data publishing methods, Figure 4 Provided data acquisition methods and Figure 5 The provided data processing methods. Of course, in addition to software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of hardware and software, etc. In other words, the execution subject of the following processing flow is not limited to individual logic units, but can also be hardware or logic devices.
[0143] Improvements in a technology can be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many improvements to the methodology can now be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that an improvement in methodology cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog are the most commonly used. Those skilled in the art should understand that by simply performing some logic programming on the method flow using one of these hardware description languages and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.
[0144] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0145] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.
[0146] For ease of description, the above devices are described in terms of function, divided into various units. Of course, in implementing this specification, the functions of each unit can be implemented in one or more software and / or hardware.
[0147] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0148] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0149] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0150] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0151] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0152] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0153] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0154] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0155] Those skilled in the art will understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0156] This specification can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This specification can also be practiced in distributed computing environments, where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0157] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.
[0158] The above description is merely an embodiment of this specification and is not intended to limit this specification. Various modifications and variations can be made to this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of the claims of this application.
Claims
1. A space data access system, characterized by, The system includes at least several data storage nodes, several data publishing nodes, and several data acquisition nodes; The data storage node is used to store raw aerospace data, and in response to the publishing operation of the first user, to generate data blocks based on the raw aerospace data and send the obtained data blocks to the data publishing node, wherein the data blocks are used to indicate the attributes of the corresponding raw aerospace data; The data publishing node is used to receive data blocks sent by the data storage node and broadcast the data blocks to other data publishing nodes so that the data publishing nodes can reach a consensus on the data blocks and store the data blocks in the first blockchain after the consensus is passed. The data acquisition node is configured to respond to the access request of the second user to the first blockchain, acquire the first blockchain from the data publishing node, determine the target data block in the first blockchain according to the second user's acquisition operation of the data block in the first blockchain, generate an acquisition request for the target data block, and broadcast the acquisition request to other data acquisition nodes so that the data acquisition nodes can reach a consensus on the acquisition request, and send the acquisition request to the data publishing node when the consensus is passed; The data publishing node is also used to receive the acquisition request sent by the data acquisition node, determine the first user who publishes the target data block according to the acquisition request, as the designated user, and send a prompt message to the designated user. The prompt message is used to prompt the designated user to push the original aerospace data corresponding to the target data block to the second user. After the data acquisition nodes reach a consensus on the acquisition request and the consensus is successful, the data acquisition node is further configured to: The acquisition request is stored in the second blockchain; Before the data publishing node determines the first user to publish the target data block based on the acquisition request, the data publishing node is also configured to: Check if the acquisition request exists in the second blockchain; If it does not exist, the request to obtain it will be rejected.
2. The system of claim 1, wherein, The raw aerospace data stored in each data storage node is different.
3. The system as described in claim 1, characterized in that, Data blocks are generated based on the original space data, specifically including: Determine the basic attributes and data index of the raw aerospace data; The original space data is encrypted to obtain encrypted space data; Determine the digital digest of the encrypted space data; The basic attributes, the data index, and the digital digest are defined as data blocks.
4. The system as described in claim 3, characterized in that, The basic attributes include at least the virtual address of the data storage node storing the original aerospace data and the user identifier of the first user.
5. The system as described in claim 3, characterized in that, The data index includes at least the tags of the original space data.
6. The system as described in claim 5, characterized in that, Determining the data index of the original space data specifically includes: Based on the category to which the original space data belongs, determine the first label of the original space data; Based on the keywords contained in the original space data, determine the second tag of the original space data; The first and second tags are determined as the data indexes of the original aerospace data.
7. The system as described in claim 1, characterized in that, The acquisition request includes at least a digital digest of the target data block, the user identifier of the second user, and the virtual address of the data acquisition node.
8. The system as described in claim 7, characterized in that, Each data acquisition node reaches a consensus on the acquisition request, specifically including: For each data acquisition node in the system, determine the judgment result of whether the user identifier pre-stored in the data acquisition node matches the user identifier of the second user; When the number of data acquisition nodes that meet the criteria is not less than a specified threshold, consensus is considered to have been reached.
9. The system as described in claim 1, characterized in that, The plurality of data publishing nodes maintain the first blockchain, and the plurality of data acquiring nodes maintain the second blockchain.
10. A data publishing method, characterized in that, The method is applied to any data storage node in a space data access system, wherein the space data access system is the space data access system as described in any one of claims 1 to 9; the method includes: In response to the first user's publishing action, determine the raw aerospace data that needs to be published; Determine the basic attributes and data index of the raw aerospace data; The original space data is encrypted to obtain encrypted space data; Determine the digital digest of the encrypted space data; The basic attributes, the data index, the digital digest, and the virtual address of the data storage node are sent as a data block to the data publishing node, which then broadcasts the data block to other data publishing nodes to achieve consensus on the data block. After the consensus is reached, the data block is stored in the first blockchain.
11. A data acquisition method, characterized in that, The method is applied to any data acquisition node in a space data access system, wherein the space data access system is the space data access system as described in any one of claims 1 to 9; the method includes: In response to a second user's access operation to the first blockchain, the first blockchain is obtained from the data publishing node; Based on the second user's acquisition operation of data blocks in the first blockchain, the target data block is determined and an acquisition request to access the target data block is generated; The acquisition request is broadcast to other data acquisition nodes, enabling the data acquisition nodes to reach a consensus on the acquisition request. When consensus is reached, the acquisition request is sent to the data publishing node, which then determines the first user to publish the target data block as the designated user based on the acquisition request, and sends a prompt message to the designated user. The prompt message is used to prompt the designated user to push the original aerospace data corresponding to the target data block to the second user.
12. A data processing method, characterized in that, The method is applied to any data publishing node in the aerospace data access system, wherein the aerospace data access system is the aerospace data access system as described in any one of claims 1 to 9; the method includes: In response to receiving a data block sent by a data storage node, the data block is broadcast to other data publishing nodes to achieve consensus on the data block, and after consensus is reached, the data block is stored in the first blockchain; and, In response to an acquisition request sent by a receiving data acquisition node, a first user for publishing the target data block is determined based on the acquisition request, designated as a specified user, and a prompt message is sent to the specified user, which prompts the specified user to push the original aerospace data corresponding to the target data block to a second user.
13. A data publishing device, characterized in that, The device is applied to any data storage node in a space data access system, wherein the space data access system is the space data access system as described in any one of claims 1 to 9; the device comprises: The data determination module is used to determine the raw aerospace data to be published in response to the first user's publishing operation; The attribute determination module is used to determine the basic attributes and data indexes of the raw aerospace data; The encryption module encrypts the original aerospace data to obtain encrypted aerospace data; The digest determination module is used to determine the digital digest of the encrypted space data; The first sending module is used to send the basic attributes, the data index, the digital digest, and the virtual address of the data storage node as a data block to the data publishing node, so that the data publishing node broadcasts the data block to other data publishing nodes, so that the data publishing nodes reach a consensus on the data block, and after the consensus is passed, the data block is stored in the first blockchain.
14. A data acquisition device, characterized in that, The device is applied to any data acquisition node in a space data access system, wherein the space data access system is the space data access system as described in any one of claims 1 to 9; the device comprises: The acquisition module is used to acquire the first blockchain from the data publishing node in response to the access operation of the second user to the first blockchain; The generation module is used to determine the target data block and generate an access request to the target data block based on the second user's access operation on the data block in the first blockchain. The broadcast module is used to broadcast the acquisition request to other data acquisition nodes, so that the data acquisition nodes can reach a consensus on the acquisition request; The second sending module is used to send the acquisition request to the data publishing node when consensus is reached, so that the data publishing node determines the first user to publish the target data block as the designated user based on the acquisition request, and sends a prompt message to the designated user. The prompt message is used to prompt the designated user to push the original aerospace data corresponding to the target data block to the second user.
15. A data processing apparatus, characterized in that, The device is applied to any data publishing node in a space data access system, wherein the space data access system is the space data access system as described in any one of claims 1 to 9; the device includes: The first receiving module is configured to, in response to receiving a data block sent by a data storage node, broadcast the data block to other data publishing nodes, so that the data publishing nodes can reach a consensus on the data block, and after the consensus is passed, store the data block in the first blockchain; and, The second receiving module is used to respond to the acquisition request sent by the receiving data acquisition node, determine the first user of the target data block as the designated user according to the acquisition request, and send a prompt message to the designated user. The prompt message is used to prompt the designated user to push the original aerospace data corresponding to the target data block to the second user.
16. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the method described in any one of claims 10 to 12.
17. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the method described in any one of claims 10 to 12.