Disclosure of Invention
The invention aims to provide a block chain data processing system based on cloud computing, aiming at the defects of the current block chain data processing.
In order to overcome the defects of the prior art, the invention adopts the following technical scheme:
a block chain data processing system based on cloud computing comprises a broadcast receiving module, a data acquisition module, a server and a data verification module;
the broadcast module is used for verifying the address of a user connected with the node to determine the protection level and the check sequence, wherein if the address of the user is verified, the verified user is an authorized user, and the address associated with the data server of the node and the data resource on the data server are broadcast;
the data acquisition module receives the information on the broadcasting module and stores the information in a buffer area, and if the broadcasting content in the broadcasting module is verified as a new block through the data verification module, the broadcasting content is authorized to be stored on a chain; if the broadcast content is not a new block, the chain is not updated, and the buffer area is cleared;
the data checking module is used for checking the data stored in the local node in a period so as to detect the type information of the data and the integrity of the data and change the strategy of data receiving; wherein the type information includes an address, an inheritance relationship and a data capacity of the broadcast content; if the type information of the checked data and the integrity of the data are good and the data need to be updated, the data checking module sends an update request to the data acquisition module;
the data acquisition module receives the update request sent by the data verification module to acquire the available data source in the broadcast receiving module, and establishes a transmission link with the server to receive the broadcast content and record the broadcast content in a local link.
Optionally, the data verification module is configured to verify data in the broadcast to determine whether the data in the chain needs to be updated; acquiring a data segment and a block address addr of the broadcasting module from the buffer area, and calculating the integrity between the data of the block corresponding to the block address and the data of the local block; verifying the data integrity comprises: before data is written, data verification is carried out on the data segment in the buffer area to obtain a first checksum; after the data is written into the cache unit of the local block, the corresponding data segment is checked again to obtain a second checksum, and the calculated first checksum and the second checksum are compared; when the two checksums are the same, the data is stored on the local block; if the two checksums are different, the data are different, the caching operation is abandoned, and the data corresponding to the same block are read through other block chains;
the data checking module comprises an extractor and an evaluation unit, wherein the extractor extracts data of the broadcasting module in the buffer area; the extractor divides data of a broadcasting module into a plurality of characteristics of one or more categories, converts the plurality of characteristics into a group of one or more category identification fragments corresponding to the one or more categories, and evaluates each data segment divided by the extractor by the evaluation unit through each divided identification fragment by the evaluation unit so as to determine the state of the data.
Optionally, data corresponding to the block address addr of the broadcast module in the buffer area is collected, and the data on the data is split to form a set ai,
Wherein u isIs a storage row address label; v is a storage column address label; a isuvA data value representing the u row and v column; splitting according to the data stored in the corresponding storage unit in the local block to form a comparison set BiAnd will aggregate AiAnd set BiCarrying out comparison;
during the alignment process, a plurality of sparse binary bit vectors are written into the set Bi and the set AiReceiving or retrieving addresses in the m bit vectors in the corresponding memory addresses to compare data in the corresponding memory addresses; setting a pointer s in the determined storage address, wherein the pointer s sequentially traverses the storage addresses indicated by the sparse binary bit vectors, and identifies corresponding data in the addresses of the bit vectors row by row to calculate similarity scores of data values in the storage addresses and sort the similarity scores; wherein 1 is accumulated by the pointer s to realize one-by-one traversal of the memory addresses indicated by the sparse bit binary vector.
Optionally, the calculation is performed according to the capacity of the data segment in the broadcast, and the broadcast data is stored in the chain after the data acquisition module determines to receive the update request sent by the data verification module; and marking the data segment; tagging the data segment includes accessing one or more of a flag, a parent name, an annotation, transaction information, and a static value.
Alternatively to this, the first and second parts may,
the data verification module comprises a data management unit, and the data management unit is used for managing data on the chain so as to delete the repeated data;
when the broadcast content in the broadcast module is determined to be recorded or downloaded to a local chain, reading the compressed data file in the global cache of the buffer area into the local buffer area, and selecting one data verification level from a plurality of data verification levels to verify the compressed data file; decompressing the data block of each data file according to the determined data verification level; the decompressed data blocks are used to verify the integrity of the compressed data file after decompression.
Optionally, the plurality of data authentication levels includes at least a first authentication level and a second authentication level, wherein each authentication level requires different computing resources and different authentication response times; selecting a data verification level with a response time to decompress a single data block of each read compressed data file; each individual decompressed data block of each compressed data file is simultaneously compared with at least one data block of the corresponding uncompressed data file stored in the global memory.
Alternatively to this, the first and second parts may,
comparing each individual decompressed data block of each compressed data file with at least one data block of a corresponding uncompressed data file stored in the global memory, including in particular determining a similarity between information comprising a cyclic redundancy check field and a data integrity field and information of individual data blocks of the at least one data block of the corresponding uncompressed data file; if the data files are confirmed to be similar, the compressed data files read from the global cache are verified; if the similarity is not satisfied, the compressed data file read from the global cache is not verified.
The beneficial effects obtained by the invention are as follows:
1. the broadcast receiving module, the data acquisition module, the server and the data verification module are matched to improve the data processing capacity;
2. the integrity of the data is determined by adopting a feedback device to feed back the state of the data;
3. by adjusting the strategy, the data can be more perfect and organized more clearly in the processing process;
4. the data acquisition module is adopted to receive the updating request sent by the data verification module so as to acquire the available data source in the broadcast receiving module, and a transmission link is established with the server so as to receive the broadcast content and record the broadcast content in a local link, so that the data transmission is safe and reliable;
5. the data corresponding to the addresses of a plurality of bit vectors in the storage addresses are identified to calculate the similarity scores of the data values in the storage addresses, and the similarity scores are sequenced, so that the integrity of the data can be checked, and the integrity of the data on the whole chain is improved;
6. by compressing the data transmitted by the Huhu, the reliability in the data transmission process is improved, and meanwhile, the data transmission speed is also considered, and in addition, the data can be decompressed in the comparison or verification process, so that the data can be verified;
7. through the cooperation between high in the clouds server and the display screen to the realization shows data on the chain, makes the user can carry out audio-visual observation or look over to the operation of data and execution that generate.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail below with reference to embodiments thereof; it should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention. Other systems, methods, and/or features of the present embodiments will become apparent to those skilled in the art upon review of the following detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the accompanying claims. Additional features of the disclosed embodiments are described in, and will be apparent from, the detailed description that follows.
The same or similar reference numerals in the drawings of the embodiments of the present invention correspond to the same or similar components; in the description of the present invention, it should be understood that if there is an orientation or positional relationship indicated by the terms "upper", "lower", "left", "right", etc. based on the orientation or positional relationship shown in the drawings, it is only for convenience of describing the present invention and simplifying the description, but it is not intended to indicate or imply that the device or component referred to must have a specific orientation, be constructed in a specific orientation, and be operated, and therefore, the terms describing the positional relationship in the drawings are only used for illustrative purposes and are not to be construed as limiting the present patent, and the specific meaning of the terms described above will be understood by those of ordinary skill in the art according to the specific circumstances.
The first embodiment is as follows: according to fig. 1 to 5, a cloud computing-based blockchain data processing system is provided, which includes a broadcast receiving module, a data obtaining module, a server, a data verification module and a processor; the processor is respectively in control connection with the broadcast receiving module, the data acquisition module, the server and the data verification module, and controls the broadcast receiving module, the data acquisition module, the server and the data verification module based on the processor so as to improve the capacity of processing data.
The broadcast module is used for verifying the address of a user connected with the node to determine the protection level and the check sequence, wherein if the address of the user is verified, the verified user is an authorized user, and the address associated with the data server of the node and the data resource on the data server are broadcast; different protection levels and check sequences exist in different users, and the determination of each protection level and check sequence is positively correlated with the contribution degree of each user to the block chain.
The data acquisition module receives the information on the broadcast module and stores the information in a buffer area, and if the broadcast content in the broadcast module is a new block through the data verification module, the broadcast content is authorized to be stored on a chain; if the broadcast content is not a new block, the chain is not updated, and the buffer area is cleared;
the data acquisition module comprises a feedback device, and when data is stored in a chain, the feedback device feeds back the state of the data to determine the integrity of the data; the feedback device acquires the capacity G of the data and executes a detection algorithm to feed back the integrity of the data; wherein the detection algorithm is in accordance with the following equation:
wherein, FED represents the feedback value of the feedback device, d is the index range of the storage address occupied by the data; biStoring an address for the end of the ith row; a isiStoring an address for the head of row i; i belongs to d; during the storage process, the storage addresses are necessarily continuous, and during the storage process, the storage state of the acquired data can be realized through the address-based storage.
The data checking module is used for checking the data stored in the local node in a period so as to acquire the type information of the data and the integrity of the data and adjust the strategy of data receiving on the chain; wherein the type information includes an address, an inheritance relationship and a data capacity of the broadcast content; if the type information of the checked data and the integrity of the data are good and the data need to be updated, the data checking module sends an update request to the data acquisition module;
wherein the strategies include, but are not limited to, the following listed ones: compressing, directly storing, marking or establishing a corresponding relation with the chain, and the like. By adjusting the strategy, the data can be more perfect and organized more clearly in the processing process;
for the period of verification, its updating strategyTEFast:
Wherein f istIs the frequency of the broadcast; f. oft=1/T, T being the time of the interval; t is an element of n; if the TEFast exceeds a set threshold, a check of the data is triggered to determine whether the data on the chain is updated synchronously with the broadcasted data content.
The data acquisition module receives the update request sent by the data verification module to acquire the available data source in the broadcast receiving module, and establishes a transmission link with the server to receive the broadcast content and record the broadcast content in a local link.
Optionally, the data verification module is configured to verify data in the broadcast to determine whether the data in the chain needs to be updated; acquiring a data segment and a block address addr of the broadcasting module from the buffer area, and calculating the integrity between the data of the block corresponding to the block address and the data of the local block; verifying the data integrity comprises: before data is written, data verification is carried out on the data segment in the buffer area to obtain a first checksum; after the data is written into the cache unit of the local block, the corresponding data segment is checked again to obtain a second checksum, and the calculated first checksum and the second checksum are compared; when the two checksums are the same, the data is stored on the local block; if the two checksums are different, the data are different, the caching operation is abandoned, and the data corresponding to the same block are read through other block chains; the data checking module comprises an extractor and an evaluation unit, wherein the extractor extracts data of the broadcasting module in the buffer area; the evaluation unit evaluates each data segment split by the extractor to determine the state of the data;
the extractor splits data of a broadcast module into a plurality of features of one or more categories, converts the plurality of features into a set of one or more category identification fragments corresponding to the one or more categories, and evaluates each split identification fragment by the evaluation unit.
The extractor identifies hash values of the data of the broadcast modules in the buffer to determine the corresponding locations of the data in the broadcast. And in the process of identifying the hash value, verifying whether the hash value is stored on a local chain, and if the hash value is stored on the local chain, correspondingly storing the data of the corresponding hash value so as to store the broadcast data on the chain. If the hash value is not the local hash value, data sharing is performed on other block chains through a sharing mechanism among the block chains so as to update the data on the local chain, meanwhile, the fact that the hash value is not on the chain is verified again, and if the hash value does not exist, a new block is established on the chain.
Alternatively to this, the first and second parts may,
collecting data corresponding to the block address addr of the broadcast module in the buffer area, splitting the data on the data to form a set Ai,
Wherein u is a storage row address label; v is a storage column address label; a isuvA data value representing the u row and v column; splitting according to the data stored in the corresponding storage unit in the local block to form a comparison set BiAnd will aggregate AiAnd set BiCarrying out comparison;
during the alignment process, a plurality of sparse binary bit vectors are written into the set Bi and the set AiReceiving or retrieving addresses in the m bit vectors in the corresponding memory addresses to compare data in the corresponding memory addresses; setting a pointer s in the determined storage address, wherein the pointer s sequentially traverses the storage addresses indicated by the sparse binary bit vectors, and identifies corresponding data in the addresses of the bit vectors row by row to calculate similarity scores of data values in the storage addresses and sort the similarity scores; wherein accumulating 1 by the pointer s to realize the sparse bit binary vectorIndicating a traversal-by-traversal of the memory address. In the comparison process, the data of two same bit vectors are compared to determine whether the data in the address are the same, and the data are sequentially compared according to the address sequence pointed by the pointer s. Optionally, the calculation is performed according to the capacity of the data segment in the broadcast, and the broadcast data is stored in the chain after the data acquisition module determines to receive the update request sent by the data verification module; and marking the data segment; tagging the data segment includes accessing one or more of a flag, a parent name, an annotation, transaction information, and a static value.
Optionally, the data verification module verifies data stored in the chain to obtain a file storage request and integrity check of the specified file;
the data verification module comprises a data management unit, and the data management unit is used for managing data on the chain so as to delete the repeated data; after the block is provided with the data, the repeatability of the data can be verified by determining the hash value of the data; and if the same hash value exists, deleting the data stored in the buffer area.
When the broadcast content in the broadcast module is determined to be recorded or downloaded to a local chain, reading the compressed data file in the global cache of the buffer area into the local buffer area, and selecting one data verification level from a plurality of data verification levels to verify the compressed data file; decompressing the data block of each data file according to the determined data verification level; the decompressed data blocks are used to verify the integrity of the compressed data file after decompression.
Optionally, the plurality of data authentication levels includes at least a first authentication level and a second authentication level, wherein each authentication level requires different computing resources and different authentication response times; selecting a data verification level with a response time to decompress a single data block of each read compressed data file; each individual decompressed data block of each compressed data file is simultaneously compared with at least one data block of the corresponding uncompressed data file stored in the global memory.
The first verification level comprises a serial number of a received compressed data file and an identifier corresponding to the received data; generating an irreversible hash value by carrying out verification operation on a compressed data file serial number and an identifier corresponding to data; writing the hash into a safe distributed data storage unit, and waiting for the verification of a second verification level;
the data verification module receives auxiliary data of the compressed data file, wherein Hash is generated by operating a product serial number, an identifier corresponding to the data and the auxiliary data; the helper data is written to the data store such that it is linked to the hash. The hash value is written into a distributed data storage unit together with the helper data.
Since the data is compressed during downloading in order to ensure the transmission speed, the data can be decompressed during comparison or verification so that the data can be verified.
The second authentication level comprises authenticating the new block or the broadcasted block, wherein the authentication comprises: receiving a compressed data file sequence number; receiving an identifier corresponding to the data; verifying a compressed data file serial number and an identifier corresponding to data to generate an irreversible hash value; searching the hash value in the secure distributed data storage unit; and providing for verifying whether the hash exists in the secure distributed data storage unit for the corresponding hash value according to the search result. If the corresponding hash value exists, the verification is passed, and the hash value is confirmed; and if the verification is not passed, refusing to confirm the hash value.
When the hash value is confirmed, feeding back confirmation information, wherein the confirmation information comprises providing a location already stored in the distributed data storage unit and corresponding auxiliary data, so that a new chunk can be linked to the hash value and the corresponding auxiliary data.
Optionally, the comparing comprises determining a similarity between the information comprising the cyclic redundancy check field and the data integrity field and the information of a single data block of the at least one data block of the corresponding uncompressed data file; if the similarity is found, the compressed data file read from the global cache is verified; if the similarity is not satisfied, the compressed data file read from the global cache is not verified.
Example two: this embodiment should be understood to at least include all the features of any one of the foregoing embodiments and further improve on the same, and according to fig. 1 to 5, it is also characterized in that the local blockchain needs to be connected with an external blockchain network through the server for data transmission or broadcasting, so as to implement data broadcasting, and enable sharing or data transmission between chains through a sharing mechanism or an intelligent contract between blockchains.
The local node is coupled to the server and is in communication connection with the server through the communication interface processor so as to realize interaction or sharing with an external blockchain network; in this example, the server is configured as a cloud server to implement data sharing or data transmission with a non-local block chain.
The cloud server determines the sub-blocks of the storage block chain and the variation of the variable parameters on the sub-blocks to obtain modified variable parameters and difference values, wherein the difference values represent the difference between the modified variable parameters and the original variable parameters (before modification); comparing the difference value with an allowable difference threshold value on the sub-blocks, wherein the difference threshold value can be set artificially so as to have multiple types or categories between the data of each block on the block chain; the variable parameters include, but are not limited to, the following listed ones: capacity change and packaged information; the cloud server approves the number of the variable parameter changes according to the determination result by comparing the difference value with a plurality of preset difference thresholds, wherein the approval of the number of the variable parameter changes comprises: determining that the discrepancy value does not exceed a first threshold value of the plurality of predetermined discrepancy threshold values, a first approved quantity that falls within a first threshold region; a second approved number falling in the interval if the discrepancy value exceeds a first threshold value of the plurality of predetermined discrepancy threshold values but does not exceed a second threshold value of the plurality of predetermined discrepancy threshold values; determining that the discrepancy value exceeds a second threshold value of the plurality of predetermined discrepancy threshold values, a third approved amount that falls within the interval; the first threshold is less than the second threshold, and the first approval number, the second approval number, and the third approval number are sequentially incremented.
Receiving a corresponding plurality of approval inputs for approving the modification of the variable parameter; determining, based on the received plurality of approval inputs, that an approval threshold is met; and after the approval threshold is determined to be met, one or more computer readable instruction commands are sent to the server, the data change corresponding to the change of the variable parameters existing in the local node is indicated in the broadcast data of the external block chain, if the event of the data change is the data required by the local node, the information on the broadcast module is received by the server through the data acquisition module and is stored in the buffer area, and if the broadcast content in the broadcast module is verified as a new block through the data verification module, the new block is authorized to be stored on the chain.
The computer readable instructions are stored in the memory, and when the readable instructions are executed by the processor, the instructions enable the cloud server to receive input data of a block and generate a storage indication including a parent block when the input data generated by the block is received, where the storage indication may be calculated by using the hash value or the hash algorithm, which is a technical means known by those skilled in the art, and thus, details are not repeated in this embodiment.
Determining to split a parent block of a storage block chain into one or more sub-blocks; the generated one or more sub-blocks are linked to the parent block through the stored blocks; generating a generation indication of one or more sub-blocks to feed back to the cloud server;
meanwhile, the cloud server displays the data through a display screen, so that the user can observe the generated data and the executed operation; the method comprises the steps of sending a display instruction of one or more sub-blocks to a display screen, sending a generation instruction of the one or more sub-blocks to enable the display screen to display a connection relation interface between the blocks, indicating the relation between one or more parent blocks and the one or more sub-blocks, and displaying on the display screen, so that the state between the blocks can be visually displayed.
In addition, when the local node needs to send out broadcasting, the block or the information to be broadcasted is broadcasted through the cloud server, and the block or the information is shared by other chains.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Although the invention has been described above with reference to various embodiments, it should be understood that many changes and modifications may be made without departing from the scope of the invention. That is, the methods, systems, and devices discussed above are examples. Various configurations may omit, substitute, or add various procedures or components as appropriate. For example, in alternative configurations, the methods may be performed in an order different than that described, and/or various components may be added, omitted, and/or combined. Moreover, features described with respect to certain configurations may be combined in various other configurations, as different aspects and elements of the configurations may be combined in a similar manner. Further, elements therein may be updated as technology evolves, i.e., many elements are examples and do not limit the scope of the disclosure or claims.
Specific details are given in the description to provide a thorough understanding of the exemplary configurations including implementations. However, configurations may be practiced without these specific details, for example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail in order to avoid obscuring the configurations. This description provides example configurations only, and does not limit the scope, applicability, or configuration of the claims. Rather, the foregoing description of the configurations will provide those skilled in the art with an enabling description for implementing the described techniques. Various changes may be made in the function and arrangement of elements without departing from the spirit or scope of the disclosure.
In conclusion, it is intended that the foregoing detailed description be regarded as illustrative rather than limiting, and that it be understood that these examples are illustrative only and are not intended to limit the scope of the invention. After reading the description of the invention, the skilled person can make various changes or modifications to the invention, and these equivalent changes and modifications also fall into the scope of the invention defined by the claims.