[go: up one dir, main page]

HK40009197B - Data processing method, system and related device - Google Patents

Data processing method, system and related device Download PDF

Info

Publication number
HK40009197B
HK40009197B HK19132815.2A HK19132815A HK40009197B HK 40009197 B HK40009197 B HK 40009197B HK 19132815 A HK19132815 A HK 19132815A HK 40009197 B HK40009197 B HK 40009197B
Authority
HK
Hong Kong
Prior art keywords
block
target
user terminal
server
processing request
Prior art date
Application number
HK19132815.2A
Other languages
Chinese (zh)
Other versions
HK40009197A (en
Inventor
艾立超
Original Assignee
腾讯科技(深圳)有限公司
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of HK40009197A publication Critical patent/HK40009197A/en
Publication of HK40009197B publication Critical patent/HK40009197B/en

Links

Description

Data processing method, system and related equipment
Technical Field
The present invention relates to the field of internet technologies, and in particular, to a data processing method, system, and related device.
Background
In the current technical solution, when a user needs to play a certain video file on an intelligent terminal integrated with a video application, the intelligent terminal needs to obtain a dynamic library integrated in the video application in advance, and then further obtain parameters (such as a version number of the video application, different channels, a production line, and the like) to be transmitted into the dynamic library to generate an electronic network key corresponding to the video file, where the electronic network key may be understood as one obtained through a hash encryption algorithm. Then, the intelligent terminal may further send the electronic network key and the video file to be played to a service background, so that the service background checks the received electronic network key and returns a playing address corresponding to the video file when the checking is successful.
Because the generation process of the electronic network key occurs in the intelligent terminal, when an illegal user acquires the installation package file corresponding to the dynamic library in the intelligent terminal, the installation package file can be decompressed to obtain the dynamic library file which can run in the video application, and then the dynamic library file can be used for generating the corresponding electronic network key, so that the authentication of the illegal user by a service background is invalid, namely, the identification degree of the user can be reduced, and in addition, the security of multimedia data can be seriously influenced when the authentication of the electronic network key is invalid.
Disclosure of Invention
Embodiments of the present invention provide a data processing method, system and related device, which can further ensure data security while improving user recognition.
An embodiment of the present invention provides a data processing method, where the method includes:
receiving a processing request aiming at target data sent by a target user terminal;
determining a block with the largest generation time stamp in the stored block chain as a first block according to the processing request, and sending the first block and a block construction rule to the target user terminal;
receiving a second block sent by the target user terminal, wherein the second block is generated by the target user terminal based on the first block and the block construction rule;
and checking the second block according to the first block, acquiring a target address corresponding to the target data when the second block passes the checking, and returning the target address to the target user terminal.
An embodiment of the present invention provides a data processing method, including:
sending a processing request aiming at the target data to a server;
receiving a first block and a block construction rule returned by the server based on the processing request; the first block is a block with a largest generation timestamp in a block chain stored by the server;
generating a second block based on the first block and the block construction rule, and sending the second block to the server, so that the server checks the second block based on the first block, and when the check is passed, acquiring a target address corresponding to the target data;
and receiving the target address returned by the server, and loading the target data according to the target address.
An embodiment of the present invention provides a data processing method, including:
a target user terminal sends a processing request aiming at target data to a server;
the server determines a block with the maximum generation timestamp in the stored block chain as a first block according to the processing request, and sends the first block and a block construction rule to the target user terminal;
the target user terminal generates a second block based on the first block and the block construction rule, and sends the second block to the server;
and the server checks the second block according to the first block, acquires a target address corresponding to the target data when the second block passes the check, and returns the target address to the target user terminal.
An aspect of an embodiment of the present invention provides a server, where the server includes:
the first request receiving module is used for receiving a processing request aiming at target data sent by a target user terminal;
a first block sending module, configured to determine, according to the processing request, a block with a maximum generation timestamp in the stored block chain as a first block, and send the first block and a block construction rule to the target user terminal;
a second block receiving module, configured to receive a second block sent by the target user terminal, where the second block is generated by the target user terminal based on the first block and the block construction rule;
and the block checking module is used for checking the second block according to the first block, acquiring a target address corresponding to the target data when the checking is passed, and returning the target address to the target user terminal.
An embodiment of the present invention provides a user terminal, where the user terminal includes:
the first request sending module is used for sending a processing request aiming at target data to the server;
a first block receiving module, configured to receive a first block and a block construction rule returned by the server based on the processing request; the first block is a block with a largest generation timestamp in a block chain stored by the server;
a second block sending module, configured to generate a second block based on the first block and the block construction rule, and send the second block to the server, so that the server checks the second block based on the first block, and obtains a target address corresponding to the target data when the check is passed;
and the first address receiving module is used for receiving the target address returned by the server and loading the target data according to the target address.
An aspect of an embodiment of the present invention provides a data processing system, where the system includes: a server and a user terminal, wherein the server is the server mentioned in one aspect of the embodiments of the present invention, and the user terminal is the user terminal mentioned in one aspect of the embodiments of the present invention.
An embodiment of the present invention provides a server, including: a processor, a memory, and a network interface;
the processor is connected with a memory and a network interface, wherein the network interface is used for connecting a target user terminal, the memory is used for storing program codes, and the processor is used for calling the program codes to execute the following operations:
receiving a processing request aiming at target data sent by a target user terminal;
determining a block with the largest generation time stamp in the stored block chain as a first block according to the processing request, and sending the first block and a block construction rule to the target user terminal;
receiving a second block sent by the target user terminal, wherein the second block is generated by the target user terminal based on the first block and the block construction rule;
and checking the second block according to the first block, acquiring a target address corresponding to the target data when the second block passes the checking, and returning the target address to the target user terminal.
An embodiment of the present invention provides a user terminal, including: a processor, a memory, and a network interface;
the processor is connected with the memory and the network interface, wherein the network interface is used for connecting the server, the memory is used for storing program codes, and the processor is used for calling the program codes to execute the following operations:
sending a processing request aiming at the target data to a server;
receiving a first block and a block construction rule returned by the server based on the processing request; the first block is a block with a largest generation timestamp in a block chain stored by the server;
generating a second block based on the first block and the block construction rule, and sending the second block to the server, so that the server checks the second block based on the first block, and when the check is passed, acquiring a target address corresponding to the target data;
and receiving the target address returned by the server, and playing the target data according to the target address.
An aspect of the present embodiments provides a computer storage medium storing a computer program, the computer program comprising program instructions that, when executed by a processor, perform a method according to an aspect of the present embodiments.
An aspect of the present embodiments provides a computer storage medium storing a computer program, the computer program comprising program instructions that, when executed by a processor, perform a method according to an aspect of the present embodiments.
In this embodiment of the present invention, when receiving a processing request sent by a target user terminal, a server may determine, in a block chain, a last block that passes a check as a first block according to a time sequence generated by each block, where the first block is a block with a largest timestamp in a stored block chain, and further, the server may send the first block to the target user terminal to receive a second block returned by the target user terminal based on the first block. It can be seen that the generation of the second chunk is determined based on the first chunk distributed by the server and the chunk construction rule, and since the check counter in each chunk in the chunk chain can be used to record that the chunk is the second chunk to be checked, for the second chunk that passes the check, the data related to the target user terminal stored in the second chunk will have uniqueness and non-tamper property, so that the security of the data can be further ensured while the identity of the user is improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic structural diagram of a network architecture according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a data interaction provided by an embodiment of the invention;
FIG. 3 is a flow chart of a data processing method according to an embodiment of the present invention;
FIG. 4 is a block diagram according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a block chain according to an embodiment of the present invention;
FIG. 6 is a block diagram illustrating a second parity chunk according to an embodiment of the present invention;
FIG. 7 is a flow chart illustrating another data processing method according to an embodiment of the present invention;
FIG. 8 is another data processing method provided by embodiments of the present invention;
FIG. 9 is a diagram illustrating a second block generation according to an embodiment of the present invention;
FIG. 10 is a diagram illustrating a data interaction method according to an embodiment of the present invention;
fig. 11 is a schematic structural diagram of a server according to an embodiment of the present invention;
FIG. 12 is a schematic structural diagram of another server provided in the embodiment of the present invention;
fig. 13 is a schematic structural diagram of a user terminal according to an embodiment of the present invention;
fig. 14 is a schematic structural diagram of another ue according to an embodiment of the present invention;
fig. 15 is a schematic structural diagram of a data processing system according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Fig. 1 is a schematic structural diagram of a network architecture according to an embodiment of the present invention. As shown in fig. 1, the network architecture may include a server 2000 and a user terminal cluster; the user terminal cluster may include a plurality of user terminals, as shown in fig. 1, where the plurality of user terminals may specifically include a user terminal 3000a, user terminals 3000b, …, and a user terminal 3000 n;
further, it is understood that the network architecture may further include the server 2000 shown in fig. 1 and a user terminal, which may be any one of the user terminals (e.g., the user terminal 3000a) shown in fig. 1. The server 2000 may be a background server corresponding to target data (for example, the target data may be audio data, video data, text data, picture data, etc.) on a network service platform in the user terminal. Therefore, the ue can perform a network connection with the server 2000, so that the target data can be subsequently obtained from the server 2000 when the authentication is passed.
Further, as shown in fig. 1, the user terminal 3000a, the user terminals 3000b, …, and the user terminal 3000n may be respectively connected to the server 2000 through a network, and the user terminals may implement interaction between user data through the server 2000 corresponding to the network service platform. The network service platform may be a video network platform corresponding to a video application integrated in a user terminal, and it may be understood that one or more video applications in any user terminal may be provided. The video data in the target application may be referred to as target data, and through data interaction between the user terminal installed with the target application and the server 2000, it may be understood that the server 2000 receives a processing request sent by the user terminal for the target data, so that the server 2000 may obtain a target address corresponding to the target data based on the processing request. It should be understood that the target application may also be other applications besides the video application, such as an audio application, a social application, a payment application, and the like, and the application installed in the user terminal will not be particularly limited herein. Furthermore, the target data may be other data besides video data, such as audio data, text data, picture data, etc., and the target data in the user terminal will not be particularly limited herein.
The server 2000 may also be connected to a distributed terminal through a network. The distributed terminal may store a target address corresponding to the target data, for example, the target address corresponding to the target data in the target application may be stored. Optionally, the distributed terminal may be further integrated in the server 2000, in this case, the distributed terminal may be equivalent to a background database in the server 2000, and therefore, when the server 2000 receives a processing request sent by a user terminal, and when the verification passes, the server 2000 may obtain a target address corresponding to the target data from the distributed terminal integrated in the server 2000.
For convenience of understanding, in the embodiment of the present invention, one user terminal may be selected as the target user terminal from the plurality of user terminals shown in fig. 1, for example, the user terminal 3000a shown in fig. 1 may be used as the target user terminal. Wherein the target user terminal may include: the intelligent terminal has data loading and data playing functions, such as a smart phone, a tablet computer, a desktop computer and a smart television.
It should be understood that for each user terminal to access the target application, the background server corresponding to the target application may be the server 2000 shown in fig. 1. Therefore, the server 2000 may further authenticate the processing request initiated by each ue to be accessed to verify the validity of each ue to be accessed. In order to better understand the present solution, the embodiment of the present invention takes the target ue as an example of a ue to be accessed into the target application, so as to further describe a specific process of data interaction between the target ue and the server 2000. Further, please refer to fig. 2, which is a schematic diagram of data interaction according to an embodiment of the present invention.
As shown in fig. 2, the target ue may be the ue 3000a shown in fig. 1, where B1-B9 shown in fig. 2 exist in the ue 3000a, and are used to represent a play sequence included in a certain video file in a target application installed in the ue 3000a, that is, the sequences B1-B9 are sub-videos obtained by splitting content in a certain complete video file in the target application, and the sub-videos may be obtained by sorting according to a play sequence. It will be appreciated that each play sequence corresponds to a destination address, and that each destination address may be stored in the distributed terminal shown in fig. 2. The distributed terminal may be a Content Delivery Network (CDN), which is a novel Network Content service system and may be constructed based on an IP (Internet Protocol, inter-Network interconnection Protocol) Network, and the Content Delivery Network may provide Content Delivery and service based on efficiency requirements, quality requirements, and Content order of Content access and application. In other words, the CDN may avoid bottlenecks and links on the internet that may affect the data transmission speed and stability as much as possible, so as to ensure faster and more stable transmission of the distribution content.
In view of this, before the user terminal 3000a sends a processing request for the target data, a touch operation instruction (which may also be referred to as a play instruction) executed by a target user (the user holding the user terminal 3000a) on the target data (for example, the sequence B6 in the video sequence shown in fig. 2) may also be received, and the device identifier and the target data in the user terminal 3000a may be added to the processing request according to the touch operation instruction, so that when the server 2000 receives the processing request, the device identifier and the target data carried in the processing request may be further obtained, and whether the device identifier and the target data exist may be queried in the stored blockchain, and determines that the processing request initiated by the user terminal 3000a is the first processing request when it is determined that the device identifier and the target data do not exist.
It should be understood that the blockchain is a chain data structure that combines data blocks in a sequential manner according to a time sequence, and is cryptographically guaranteed to be a non-falsifiable and non-falsifiable distributed ledger. Since each tile in the tile chain is a valuable tile generated by each user terminal based on the received tile construction rules during the data interaction with the server. Therefore, the blockchain is involved in verifying and storing data by using a blockchain data structure, generating and updating data by using a distributed node consensus algorithm, and ensuring the security of data transmission and access by using a cryptographic mode.
Further, when the server 2000 determines that the processing request is a first processing request (e.g., the first processing request is a processing request initiated by a target ue for the first time), a last verified block (e.g., block a, in this case, the block a may be understood as a block with the largest timestamp in the block chain) may be sent to the ue 3000a on the block chain, so that the ue 3000a may generate a block B according to the block a and the block construction rule issued by the server 2000. The server 2000 can then check the block B and add the block B to the block chain when the check passes. Meanwhile, the server 2000 may further generate identification information corresponding to the sequence B6 when the verification passes, and package and send the identification information and the sequence B6 to a distributed terminal having a network connection relationship with the server 2000, so that the distributed terminal may return a destination address corresponding to the destination data (i.e., the sequence B6) when acquiring the identification information, and return the destination address to the server 2000. Finally, the server 2000 may return the received destination address to the user terminal 3000a as a response corresponding to the first processing request, so that the user terminal 3000a may load and play the video content corresponding to the sequence B6 in the display interface shown in fig. 2.
It is understood that the transaction information (i.e., the interaction information between each ue and the server) stored in the blockchain is public, for example, the ue 3000a and the ue 3000b have performed data interaction with the server 2000, that is, the server has received the first processing request sent by the ue 3000b and the ue 3000a in sequence. For generating the block B by the verified block a, the ue 3000a cannot know the mutual information between the ue 3000B and the server 2000 included in the block a when receiving the block a delivered by the server 2000. In other words, the user identity information of the user terminal 3000b after passing the authentication is stored in the block a in the block chain, and the user identity information of the user terminal 3000b stored in the block chain is highly encrypted, so that the user terminal 3000b can continue to access the identity information stored in the block a (for example, the device identifier of the user terminal 3000 b) only under the authorization condition, thereby ensuring the data security and the personal privacy.
The process of data interaction between any user terminal of the multiple user terminals shown in fig. 1 and the server 2000 may refer to a specific process of data interaction between the target user terminal (i.e., the user terminal 3000a) and the server 2000 provided in the embodiment of the present invention, and is not described herein again.
A specific process of the server obtaining the first block, checking the received second block based on the first block, and returning the target address to the target user terminal may refer to the following embodiments corresponding to fig. 3 to 7; for a specific process of the target ue generating the second block based on the block generation rule and the first block, see the embodiment corresponding to fig. 8.
Further, please refer to fig. 3, which is a flowchart illustrating a data processing method according to an embodiment of the present invention. As shown in fig. 3, the method is applied to a server, and the method of the embodiment of the present invention may include the following steps S101 to S104.
Step S101, receiving a processing request aiming at target data sent by a target user terminal;
specifically, the server may obtain, when receiving a processing request initiated by a target user terminal, a device identifier and version information corresponding to the target user terminal, which are carried in the processing request; further, the server may query the stored blockchain for the device identifier and the version information corresponding to the target ue; further, if the server does not inquire the device identifier and the version information corresponding to the target user terminal in the block chain, determining that the processing request is a first processing request; optionally, if the device identifier and the version information corresponding to the target user equipment are queried in the block chain, it is determined that the processing request is a second processing request.
If the version information is version information of a target application in the target user terminal, the version information may include a playback sequence of the target data (the playback sequence of the target data may be the sequence B6 in the embodiment corresponding to fig. 2, that is, a sub-video of the target application), and it should be understood that the target application may also be referred to as a target client integrated in the target user terminal.
The blockchain is a data structure combining blocks together in a chain manner, is suitable for storing simple data which have precedence relationship and can be verified in a system, and guarantees that the data stored in the blockchain cannot be tampered and forged by using cryptography (namely, a Hash encryption algorithm). In the block chain technique, the stored data is permanently stored in the form of electronic records, and the file storing the electronic records is further referred to as a block (block). It can be understood that the blocks in the block chain are sequentially generated one after another in time sequence, and each block records transaction data in a time period from the time when the timestamp is generated by the last block (for example, the block a in the embodiment corresponding to fig. 2) to the time when the timestamp is generated by the block (for example, the block B in the embodiment corresponding to fig. 2).
For easy understanding, please refer to fig. 4, which is a block diagram according to an embodiment of the present invention. It should be understood that for any one block in the block chain, the block structure of the block may include the following three parts: namely, the chunk data amount 10, the chunk header 20 and the check counter 30 as shown in fig. 4, wherein the chunk data amount 10 may be understood as the size of each chunk, and in order to prevent resource waste, the size of each chunk is limited to be within 1M, wherein the size of the chunk header 20 is fixed to 80 bytes, and the chunk header 20 may include at least five parts, namely, a chunk version 201, a historical chunk hash value 202 (i.e., the chunk hash value 30 calculated from the historical chunk hash value of the last chunk), a mercker root 203, a generation timestamp 204, and check data 205; optionally, the tile structure may also contain a workload difficulty target for the tile and parameter values for calculating the target. Wherein the check counter 30 is used to record the current number of checks. In addition, the chunk header 20 may be used to link to the last verified chunk, so that the integrity of the blockchain database may be guaranteed.
It can be seen that the block structure has two very important features: first, the transaction recorded on each block is all value exchange activities that have occurred after the last block was formed and before the block was created, a feature that ensures the integrity of the database. Second, in most cases, a new block is added to the last of the blockchain once it has been verified, and the data record of the last block added to the blockchain is permanently stored in the blockchain, i.e. the data record in the block cannot be changed or deleted any more. This feature ensures the stringency and non-tamper of the blockchain database. Since the information of all the user terminals passing the verification is recorded in the blockchain, when the server receives a processing request initiated by a target user terminal, the server can obtain the device identifier and the version information carried in the processing request (i.e. the version number of the target application, and the target application at the version number may include the play sequence of the target data). The device identifier may be understood as a user terminal identifier of the target user terminal, for example, a factory serial number, a physical address, and the like, which are allocated when the target user terminal is shipped from a factory. The server may then look up in a blockchain database whether the device identifier and the version information are present; if so, the server may determine that the processing request originated by the target ue was received before the processing request was received, (e.g., a first processing request originated by the target ue was received). In view of this, the server may refer to the processing request currently received as a second processing request. Optionally, if the processing request does not exist, the processing request currently received may be referred to as a first processing request, where the first processing request is a processing request initiated by the target user terminal for the first time.
Among these, it is understood that: the second processing request is a processing request initiated after the first processing request, that is, the second processing request can be understood as a processing request initiated again by the target user terminal for the target data subsequently.
It is understood that, when the server receives the processing request, step S102 may be further executed, that is, step S102 may be executed for each initiated processing request without determining whether the processing request is the first processing request. Optionally, the server may further determine whether the processing request is a first processing request when receiving the processing request, if so, further perform step S102, otherwise, determine that the processing request is a second processing request, and may further verify the validity of the target client based on the second processing request.
Step S102, determining a block with the maximum generation time stamp in the stored block chain as a first block according to the processing request, and sending the first block and a block construction rule to the target user terminal;
if the processing request determined by the server in the step S101 is a first processing request, that is, the first processing request is a processing request initiated by the target user terminal for the first time; the tile having the largest generation timestamp in the stored tile chain may be determined as the first tile according to the first processing request, and the first tile and tile construction rules may be transmitted to the target user terminal.
Among these, it is understood that: each node in the block chain stores complete data according to a block chain structure, that is, the storage of each node in the block chain is independent and equal in status, and a consensus result can be achieved among blocks by means of a consensus mechanism (i.e., a minority follows a majority principle). Wherein each node in the blockchain may correspond to a different user terminal that interacts data with the server. For easy understanding, please refer to fig. 5, which is a schematic structural diagram of a block chain according to an embodiment of the present invention. The block chain shown in fig. 5 is a merkel tree obtained by binary tree form of the blocks, where the merkel tree includes 7 nodes, that is, there are 7 blocks, and each block corresponds to one user terminal, that is, each block stores data encryption information (for example, a device identifier and/or registration account information of the user terminal) corresponding to the user terminal. Further, please refer to table 1, which is a mapping relationship table provided in the embodiment of the present invention.
TABLE 1
As shown in table 1, the block 40 shown in fig. 5 corresponds to the data encryption information of the user terminal 1, the block 50 corresponds to the data encryption information of the user terminal 2, the block 60 corresponds to the data encryption information of the user terminal 3, the block 70 corresponds to the data encryption information of the user terminal 4, the block 80 corresponds to the data encryption information of the user terminal 5, the block 90 corresponds to the data encryption information of the user terminal 6, and the block 100 corresponds to the data encryption information of the user terminal 7. Since the block header of each block in the block chain contains the transaction information compression value of the previous block, i.e. the historical block hash value, a long chain is formed by connecting the created block (i.e. block 40) to the current block (i.e. block 100). Thus, there is no way to generate a chunk 100 without knowing the historical chunk hash value of the previous chunk (i.e., chunk 90).
In view of this, it can be understood that each block in the block chain must follow the previous block in time sequence, and in this way, all blocks use the historical block hash value of the previous block as a reference structure, so that the existing block set can form a long data chain, that is, the following block chain can be obtained according to the generation timestamp of each block:
block 40 → block 50 → block 60 → block 70 → block 80 → block 90 → block 100.
In addition, as shown in fig. 5, the top-most block of the merkel tree is the merkel root node of the merkel tree, i.e. the block 40 corresponding to the merkel root node is the first block in the block chain, so that the first block may be referred to as a century creation block, and the count value of the parity counter in the century creation block is 0, so that the block structure of the century creation block may include a block data amount, a block header and a parity counter based on the block structure in the embodiment corresponding to fig. 4. In addition, the specific process of the server generating the tile 50 based on the tile 40 can be described as: in the mercker tree, the block 50 corresponding to the node N1 is the second block in the block chain, and since the previous block of the block 50 is the block 40, the server can generate the block 50 based on the century creation block, at this time, the count value of the check counter in the block 50 is obtained by accumulating the count value of the check counter of the block 40, for example, the count value of the check counter in the block 50 may be 1. Based on the block structure in the embodiment corresponding to fig. 4, the block structure of the block 50 may also include a block data amount, a block header and a check counter. Similarly, in the merkel tree, the generation process of the blocks 60, 70, 80, 90, and 100 can refer to the specific process of the server generating the block 50 based on the block 40, and will not be further described here.
The D0 includes data encryption information corresponding to the authenticated user terminal 4, the D1 includes data encryption information corresponding to the authenticated user terminal 5, the D2 includes data encryption information corresponding to the authenticated user terminal 6, and the D3 includes data encryption information corresponding to the authenticated user terminal 7, in other words, D0, D1, D2, and D3 are the encrypted user data information in the blockchain database, so that only the user terminal with the decryption key can view the corresponding user data information, thereby ensuring privacy and security of personal data.
It should be understood that in the block chain of 7 blocks shown in fig. 5, the block that passes the verification last time is block 100, i.e. block 100 is the block with the largest timestamp. After determining that the processing request currently initiated by the target user terminal is the first processing request, the server may further refer to the block 100 as a first block, and issue the first block and the block construction rule to the target user terminal, so that the target user terminal may generate a new block based on the first block and the block construction rule, and the newly produced block may be referred to as a second block.
Step S103, receiving a second block sent by the target user terminal;
wherein the second block is generated by the target user terminal based on the first block and the block construction rule. Since the second block and the first block are constructed based on the same block construction rule, the first block and the second block both include the block structure in the embodiment corresponding to fig. 4.
The historical hash value of the block 100 is a hash value calculated by the ue 7 based on the historical hash value of the previous block (i.e. the block 90 in the embodiment corresponding to fig. 5). In other words, the target ue may generate a new tile (the new tile may be referred to as a second tile, which may be tile 110) based on the received first tile and the tile construction rule, wherein the generation timestamp of the second tile (i.e., tile 110) is smaller than the generation timestamp of the first tile (i.e., tile 100). Therefore, the historical chunk hash value in the second chunk generated by the target ue is the chunk hash value obtained after the hash operation is performed on the historical chunk hash value of the received first chunk (i.e. the chunk 100), and the obtained chunk hash value may be referred to as the first hash value.
In conjunction with the process of obtaining the historical chunk hash value 202 of the chunk 100 in the embodiment corresponding to fig. 4, a specific process of the target ue generating the chunk hash value 206 of the chunk 110 may be described as follows: the target user terminal may first perform a hash operation on a chunk header 20 in a chunk (e.g., the chunk 100, where the chunk 100 may be referred to as a first chunk) obtained from a server, and since the chunk header 20 of the chunk 100 includes a historical chunk hash value 202, the hash operation performed by the target user terminal on the chunk header 20 may be understood as performing a hash operation on the historical chunk hash value 202 in the chunk header 20, so as to obtain a chunk hash value 206 after the hash operation, and obtain the first hash value in the chunk 110 by using the chunk hash value 206 as a historical chunk hash value in the chunk 110 (i.e., a second chunk).
After receiving the first block issued by the server, any user terminal in the embodiment corresponding to fig. 1 may perform hash operation on the block header in the first block, that is, may convert an input with any length into an output with a fixed length by using a hash algorithm; therefore, the hash value with a fixed length output by the hash algorithm is the obtained hash value, and the hash value generally has the following two characteristics: unidirectional and unique.
Wherein, the one-way property means that the obtained hash value cannot be obtained by inverse operation to obtain the original data. For example, a piece of the number "1234" may be hashed to a hash value a, but there is no way to decrypt the original number "1234" from the hash value a.
And step S104, verifying the second block according to the first block, acquiring a target address corresponding to the target data when the verification is passed, and returning the target address to the target user terminal.
Specifically, when receiving the second block sent by the target user terminal, the server may further perform integrity check on the data in the second block, and when determining that the data carried in the second block has integrity, further search the first block in the block chain; optionally, the server may further notify the target ue to resend the generated second chunk when it is determined that the data carried in the second chunk does not have integrity (for example, there is data loss). Further, the server may perform hash operation on the hash value of the historical chunk in the first chunk to obtain a second hash value; the server may then compare the second hash value to the first hash value in the second chunk; if the second hash value is equal to the first hash value, the verification is confirmed to be successful, and when the verification is passed, a target address corresponding to the target data is obtained and serves as a response corresponding to the processing request to be returned to the target user terminal; optionally, if the second hash value is not equal to the first hash value, it is determined that the verification fails, and failure prompt information may be further generated, and the failure prompt information is returned to the target user terminal as a response corresponding to the processing request (for example, the first processing request).
The purpose of integrity check on the second block is to ensure that the received data in the second block has integrity, so as to prevent the data in the second block from being lost or tampered. For each block in the block chain, the hash value in the block header of the block is the hash value obtained by performing the hash operation on the hash value in the block header of the previous block. Therefore, when the server determines that the received data in the second chunk has integrity, the server may further verify the validity of the second chunk, in other words, the server may further determine whether the chunk hash value (i.e., the second hash value) corresponding to the first chunk in the chunk chain (i.e., the chunk with the largest timestamp in the chunk chain) is consistent with the historical chunk hash value (i.e., the first hash value calculated by the target user end) in the second chunk; if the first block is identical to the second block, the verification is determined to be successful, and the second block is legal, namely, a target user side generating the second block is a legal terminal; otherwise, it is determined that the verification fails, i.e. the second block is illegal, i.e. the target ue generating the second block is an illegal terminal.
When an illegal terminal is used as a target user terminal, in order to obtain the target data, a virtual block needs to be forged in the illegal terminal, so as to obtain a first hash value based on a historical block hash value of the virtual block, that is, obtain a historical block hash value in a second block, and send the first hash value in the second block to a server, so that the server can calculate the second hash value based on a block (that is, a first block) with a maximum timestamp in the block chain. Since the hash calculation has a unidirectional property and the data in the chunk chain is not tamper-proof, the first hash value calculated based on the virtual chunk is not equal to the second hash value calculated based on the first chunk in the chunk chain (i.e. the chunk with the largest timestamp that passes the verification), and therefore, the server can further confirm that the generated second chunk is illegal, so that the illegal terminal can be effectively intercepted, and the security of the target data can be ensured.
For easy understanding, please refer to fig. 6, which is a schematic diagram illustrating a verification of the second block according to an embodiment of the present invention. As shown in fig. 6, after completing the integrity check on the data in the second chunk, the server may further obtain the chunk 100 from the chunk chain corresponding to fig. 4, that is, obtain the first chunk, and perform a hash operation on the historical chunk hash value in the chunk header of the first chunk in the chunk structure of the first chunk to obtain a second hash value. The historical chunk hash value of the second chunk shown in fig. 6 received by the server is a first hash value obtained by the target user terminal performing hash operation based on the chunk header of the first chunk sent by the server. Therefore, the server can further judge the first hash value and the second hash value, and when the first hash value and the second hash value are determined to be consistent, the server determines that the verification is passed; alternatively, as shown in fig. 6, the server may further determine that the verification fails when it is determined that the first hash value is not equal to the second hash value, and at this time, the target user terminal that sent the processing request may be considered as an illegal terminal.
In an implementation manner of the embodiment of the present invention, when the processing request is a processing request initiated by the target user terminal for the first time, the server may further perform step S102. Optionally, in another implementation manner in the embodiment of the present invention, when the processing request is a processing request initiated again by the target user terminal, the server may also repeatedly perform the above step S102 to step S104. That is, the server may further perform step S102 to step S104 each time it receives a processing request for the target data initiated by the target user terminal. It can be understood that, for the two processing requests initiated in sequence, the server may issue the block with the largest timestamp (i.e. the first block) to the target user terminal, so that the target user terminal may further generate a second block based on the received first block, and return the second block to the server. Then, the server may further check the second block based on the first block, and return a target address corresponding to the target data to the target user terminal after the check is passed. Therefore, based on the characteristics of the block chain, the second block that was added to the block chain first is stored in parallel in the block chain stored in the server.
In this embodiment of the present invention, when receiving a processing request sent by a target user terminal, a server may determine, in a block chain, a last block that passes a check as a first block according to a time sequence generated by each block, where the first block is a block with a largest timestamp in a stored block chain, and further, the server may send the first block to the target user terminal to receive a second block returned by the target user terminal based on the first block. It can be seen that the generation of the second chunk is determined based on the first chunk distributed by the server and the chunk construction rule, and since the check counter in each chunk in the chunk chain can be used to record that the chunk is the second chunk to be checked, for the second chunk that passes the check, the data related to the target user terminal stored in the second chunk will have uniqueness and non-tamper property, so that the security of the data can be further ensured while the identity of the user is improved.
Further, please refer to fig. 7, which shows another data processing method according to an embodiment of the present invention. As shown in fig. 7, the method is applied to a server, and the method at least comprises the following steps:
step S201, receiving a processing request aiming at target data sent by a target user terminal;
step S202, judging whether the processing request is a first processing request;
specifically, the server may further obtain, when obtaining the processing request, a device identifier and version information corresponding to the target user terminal, where the device identifier and version information are carried in the processing request; further, the server may query the stored blockchain for the device identifier and the version information corresponding to the target ue; if the device identifier and the version information corresponding to the target user terminal are not queried in the block chain, determining that the processing request is a first processing request, and performing step S203; optionally, if the device identifier and the version information corresponding to the target user terminal are queried in the block chain, the server may determine that the processing request is a second processing request, and may further perform step S206;
wherein the second processing request is a processing request initiated after the first processing request; the first processing request may be understood as a processing request initiated by the target user terminal for the first time.
In the embodiment of the present invention, when the server receives a processing request (first processing request) initiated by the target user terminal for the first time, the following steps S203 to S205 will be executed. Alternatively, when the server further receives a processing request (second processing request) initiated again by the target user terminal, the following steps S206 to S207 will be performed.
Step S203, if yes, determining the block with the largest generation timestamp in the stored block chain as a first block according to the first processing request, and sending the first block and the block construction rule to the target user terminal; the first processing request is a processing request initiated by the target user terminal for the first time;
for example, the server may determine the block 100 as a first block based on the block chain in the embodiment shown in fig. 5, and send the first block and the block construction rule to the target user terminal, so that the user terminal may subsequently generate a new block (i.e., a second block) based on the block construction rule and the first block.
Step S204, receiving a second block sent by the target user terminal.
Wherein the second block is generated by the target user terminal based on the first block and the block construction rule.
Step S205, verifying the second block according to the first block, and when the verification passes, acquiring a target address corresponding to the target data, and returning the target address to the target user terminal.
If the destination address is stored in the distributed terminal and the distributed terminal is another terminal independent of the server, the server may further notify the distributed terminal to return the destination address corresponding to the destination data when the verification passes, that is, the distributed terminal may authenticate the destination address based on the identification information corresponding to the destination data sent by the server, and return the destination address corresponding to the destination data to the server when the authentication is successful. Then, the server may further return the destination address to the destination user terminal as a response corresponding to the first processing request.
Optionally, if the target address is stored in a background database of the server, that is, equivalent to that the distributed terminal is integrated in the server, at this time, the server may obtain the target address corresponding to the target data from the background database when the verification is passed, and return the target address to the target user terminal as a response corresponding to the first processing request.
For specific implementation of steps S201 to S205, reference may be made to the description of steps S101 to S104 in the embodiment corresponding to fig. 3, and details will not be further described here.
Step S206, if not, determining that the processing request is a second processing request, and performing validity verification on the target user terminal according to the target verification key value pair and the user verification key value pair in the second processing request.
Wherein the target check key value pair comprises a count value of a second check counter extracted from the second chunk by the server and a historical chunk hash value extracted from the second chunk; the count value of the second check counter is a value obtained by accumulating the count value of the first check counter in the first block;
therefore, before the server performs validity verification on the target user terminal according to the target verification key value pair and the user verification key value pair in the second processing request, the server may further include the following steps:
the server may further add the second chunk to the chunk chain after determining that the verification of the second chunk is successful, so as to update the merkel tree corresponding to the chunk chain, and store the target verification key value pair corresponding to the second chunk in the updated merkel tree. Thus, when receiving a second processing request sent by the target user terminal based on a second block stored locally, the server may perform validity verification on the target user terminal according to the target verification key value pair and the user verification key value pair in the second processing request;
wherein the user check key value pair includes a count value of a second check counter extracted from the second chunk by the target user terminal and a historical chunk hash value extracted from the second chunk.
For convenience of understanding, in the embodiment of the present invention, taking the block added to the block chain as the block 110 in the embodiment corresponding to fig. 3 as an example, since the block 100 stores the user data information corresponding to the target user terminal, when the target user terminal initiates a processing request for the target data (for example, the sequence B6 described above), the server may determine that the processing request initiated at this time is the second processing request based on the device identifier carried in the processing request and the version information including the sequence B6. At this time, the count value of the parity counter of the block 110 and the historical block hash value of the block 110 are stored in the target ue, that is, the count value of the second parity counter of the second block (i.e., the block 110 added to the block chain) stored in the target ue is a value (e.g., 7) obtained by accumulating the count value (e.g., 6) of the first parity counter of the first block (i.e., the block 100) in the embodiment corresponding to fig. 5. In addition, the target ue also stores the historical chunk hash value of the chunk 110.
Therefore, the target user terminal may further perform storage processing on the second block when receiving verification notification information sent by the server to store the generated second block or when receiving the second block returned by the server after the verification is passed. The "count value of the check counter" in the stored second block (i.e. block 110) can be understood as an ID value (i.e. index value) for indexing, and the ID value added to each block (including verified block 110) in the block chain has uniqueness, which is incremented.
Since each chunk in the blockchain stored in the server stores the historical chunk hash value of the previous chunk (i.e., the parent chunk hash value of each chunk), and the index value and the historical chunk hash value of the complete merkel node (i.e., all verified chunks) are also stored in the blockchain database (i.e., the background database of the server). Therefore, for each user terminal having data interaction with the server, a user check key value pair may be constructed in advance based on the count value of the check counter of the block stored in the user terminal and the historical block hash value before sending the second processing request. The structure of the user check key value pair may be written as a count value of a check counter, a historical block hash value >. Therefore, when the server acquires the second processing request, the user verification key value pair in the second request may be further acquired.
It is to be understood that the user check key value pair includes a count value of a second check counter extracted by the target user terminal from a second block stored in the terminal and a history block hash value extracted from the second block.
For another example, for a target user terminal (i.e., a terminal held by user 1) that has already generated the block B by one-time check, the check counter in block B stored in the target ue records that block B is the first to be checked, assuming that the value of the check counter of block B in the target ue is 999, and the historical tile hash value for tile B is 0XFF6E (it should be understood that the actual historical tile hash value would be longer than this length), when user 1 needs to play the target data in the target application again, the user verification key-value pair (i.e., <999,0xFF6E >) may be added to the processing request so that, when the server may determine that the processing request is a second processing request, the user verification key-value pair in the second processing request is obtained, so that it can further index whether there is a target check key-value pair that matches the user check key-value pair in the blockchain database. Wherein the target check key value pair comprises a count value of a check counter of the block B extracted by the server from the block B added to the block chain and a historical block hash value extracted from the block B. Therefore, if the server can find the target verification key value pair (i.e., <999,0xFF6E >) identical to the user verification key value pair in the database of the blockchain, it can determine that the target user terminal is a valid user, otherwise, it determines that the target user terminal is an invalid user. Since the user key value pair <999,0xFF6E > is encrypted asymmetrically in the process of data interaction between the target user terminal and the server and also encrypted when stored in the target user terminal, the phenomenon that the data of the block B in the target user terminal is stolen can be effectively prevented, the authentication strength is improved, and the security of multimedia data can be ensured.
Step S207, when it is determined that the target user terminal is a valid user, acquiring a target address corresponding to the target data, and returning the target address to the target user terminal.
At this time, the distributed terminal storing the target data may be integrated with the server. Optionally, the distributed terminal may also be independent of the server.
For example, when the server determines that the target user terminal is a valid user, the server may generate identification information corresponding to the multimedia data, and send the identification information and the target data to the distributed terminal (that is, the distributed terminal may be a content distribution network storing the target data), so that, after receiving the identification information and the target data, the distributed terminal may further authenticate the identification information, and when the authentication is passed, obtain a target address corresponding to the target data (for example, sequence B6), and return the target address to the server, so that the server may further return the target address to the target user terminal as a response corresponding to the second processing request.
It can be seen that, when the distributed terminal is independent of the server, the step S207 may further be: and when the target user terminal is determined to be a legal user, informing the distributed terminal to return a target address corresponding to the target data, and returning the target address to the target user terminal as a response corresponding to the second processing request. For a specific process of the distributed terminal returning the target address corresponding to the target data, reference may be made to the description of the target address corresponding to the returned target data in step S205, and details will not be described again here.
Optionally, after adding the second chunk to the above block chain, the server may further determine the generation timestamp in the second chunk as the maximum generation timestamp in the updated block chain, so that, when a processing request initiated by another user terminal (for example, the user terminal 3000n in the embodiment corresponding to fig. 1) is received for the first time, the step of determining, as the first chunk, the chunk having the largest generation timestamp in the stored chunk chain according to the processing request is performed, for example, the client case 3000n can now be used as a new target ue to repeat the above steps, the specific implementation manner of repeatedly executing the steps by the user terminal 3000n may refer to the specific implementation manner of each execution step in the embodiment corresponding to fig. 7, and details will not be further described here.
In this embodiment of the present invention, when receiving a processing request sent by a target user terminal, a server may determine, in a block chain, a last block that passes a check as a first block according to a time sequence generated by each block, where the first block is a block with a largest timestamp in a stored block chain, and further, the server may send the first block to the target user terminal to receive a second block returned by the target user terminal based on the first block. It can be seen that the generation of the second chunk is determined based on the first chunk distributed by the server and the chunk construction rule, and since the check counter in each chunk in the chunk chain can be used to record that the chunk is the second chunk to be checked, the second chunk that passes the check will have uniqueness and non-tamper property, so that the security of the data can be further ensured while the identification of the user is improved.
Further, please refer to fig. 8, which is another data processing method provided in an embodiment of the present invention, where the method may be applied to any user terminal in the embodiment corresponding to fig. 1, and the method at least includes:
step S301, sending a processing request aiming at target data to a server;
after receiving a processing request sent by a user terminal (for example, the user terminal may be a target user terminal in the embodiment corresponding to fig. 1), the server further determines whether the processing request belongs to the first processing request, where a specific determination process of the processing request by the server may refer to the description of step S202 in the embodiment corresponding to fig. 7, and details will not be further described here.
Since all authenticated user terminal information (e.g., device identifiers of the user terminals) may be stored in the blockchain, the server may compare the device identifier carried in the received processing request with the device identifier existing in the blockchain, and may further determine whether the received processing request is the first processing request.
Optionally, since all the blocks passing the verification are added to the block chain, the server may further send the second block passing the verification to the target user terminal, so that the target user terminal stores the received second block, and optionally, the server may generate and send verification notification information corresponding to the target user terminal when it is determined that the verification is successful (the verification notification information is used for notifying the target user terminal to store the generated second block), so that the target user terminal stores the generated second block in the local terminal. Therefore, the target user terminal may further configure the count value of the second checksum in the stored second chunk and the historical chunk hash value as a user checksum value pair. Therefore, when the user check key pair exists in the terminal, the target user terminal may also determine that the initiated processing request is the second processing request, otherwise, the target user terminal may determine that the initiated processing request is the first processing request. Wherein. The first processing request is a processing request initiated by a target user terminal for the first time;
step S302, if the processing request is a first processing request, receiving a first block and a block construction rule returned by the server according to the first processing request;
wherein the first block is a block with a largest generation timestamp in a block chain stored by the server;
step S303, generating a second block based on the first block and the block construction rule, and sending the second block to the server;
specifically, the target user terminal may further generate a to-be-processed block corresponding to the first block based on the received block construction rule; wherein the block to be processed comprises a second block data volume and a second check counter; the second check counter is used for recording the count value of the to-be-processed block; the count value of the block to be processed is the value obtained by accumulating the count value of the first check counter; further, the target ue may generate a second block header in the to-be-processed block according to the block construction rule and the first block header, and determine the to-be-processed block including the second block header, a second block data amount, and a second check counter as a second block; finally, the target user terminal may further send the second block to the server, so that the server checks the second block based on the first block, and returns a target address corresponding to the target data when the check is passed.
It should be understood that, when the target user terminal receives the first block, it will also perform integrity check on the data in the first block, and when it is determined that the data carried in the first block has integrity, construct a block structure including the above-mentioned embodiment corresponding to fig. 4 based on the received block construction rule, that is, the target user terminal may first perform numerical processing on the first block data amount and the first check counter included in the first block to obtain a to-be-processed block including a second block data amount and a second check counter. The second check counter may be configured to record a count value of the generated to-be-processed block; the count value of the block to be processed is a value obtained by accumulating the count value of the first check counter in the first block.
Further, the target user terminal may determine, according to the received block construction rule, the device identifier and the version information carried in the first processing request as the check data in the block to be processed; then, performing hash operation on the historical block hash value in the first block header to obtain a first hash value, and determining the first hash value as the historical block hash value in the block to be processed; finally, the target user terminal may further determine a chunk version, a historical chunk hash value, a mercker root, a generation timestamp, and check data included in the to-be-processed chunk as a second chunk header in the to-be-processed chunk, and determine the to-be-processed chunk including the second chunk header, a second chunk data amount, and a second check counter as the second chunk.
For easy understanding, please refer to fig. 9, which is a schematic diagram of generating the second block according to an embodiment of the present invention. As shown in fig. 9, the first block includes a first block data amount, a first block header and a first check counter. The first check counter is configured to record a count value of the first block, for example, the count value N of the first block is 6, so that the target ue can further copy a to-be-processed block that matches the block structure of the first block in advance according to the received block construction rule, that is, the to-be-processed block also has the block structure corresponding to fig. 4. In other words, the target ue may generate a pending block corresponding to the first block based on the block construction rule, where the pending block may include a second block data amount and a second parity counter. Wherein, the second check counter is used for recording the count value of the to-be-processed block; the count value of the to-be-processed block is obtained by accumulating the count value of the first check counter, for example, the count value of the to-be-processed block may be 7 (i.e., N +1 is 6+ 1); as shown in fig. 9, the first chunk header of the first chunk includes a chunk version a1, a historical chunk hash value a2, a mercker root A3, a generation timestamp a4, and check data a5, and since the to-be-processed chunk is a chunk header with a null value obtained after copying the first chunk based on the chunk construction rule, the target user terminal may further write the version number and the device identifier of the play sequence including the target data into the check data of the to-be-processed chunk to obtain the check data B5 shown in fig. 9. Meanwhile, the target user terminal may perform hash operation on the historical chunk hash value a2 of the first chunk, refer the hash value obtained after the hash operation to be the first hash value shown in fig. 9, and assign the hash value to the historical chunk hash value of the to-be-processed chunk, so as to obtain the historical chunk hash value of the second chunk shown in fig. 9. It should be understood that the generation time stamp of the second block is the time stamp when the block to be processed including the second block header, the second block data amount, and the second check counter is determined as the second block. After generating the second block shown in fig. 9, the target user terminal may further send the generated second block to the server, so that the server may further check the second block based on the first block in the block chain, and obtain a target address corresponding to the target data when the check is passed.
The specific process of the server verifying the second block based on the first block may refer to the description of step S104 in the embodiment corresponding to fig. 3, and will not be further described here.
Step S304, receiving the target address returned by the server, and loading the target data according to the target address.
In an implementation manner in this embodiment of the present invention, when the server determines that the received processing request is the processing request initiated by the target user terminal for the first time, the target user terminal may further perform steps S302 to S304, and when the server subsequently receives the touch operation instruction for the target data again, the target user terminal may further perform steps S305 to S309, that is, the target user terminal may enable the server to trigger the server to execute the description of the second processing request in the embodiment corresponding to fig. 7 when the server determines that the received processing request is the processing request initiated by the target user terminal again, which will not be described again.
Optionally, in another implementation manner in the embodiment of the present invention, when the server determines that the received processing request is a processing request initiated again by the target user terminal, the target user terminal may further perform step S302, that is, the target user terminal may repeatedly perform the above-mentioned steps S302 to S304. That is, each time the server receives a processing request for the target data initiated by the target user terminal, the server may refer to the processing request initiated for the first time or the processing request initiated again as the first processing request, so as to further perform steps S302 to S304. It can be understood that, for the two processing requests initiated successively, the server issues the block (i.e., the first block) with the largest timestamp to the target user terminal, so that the target user terminal may further generate the second block based on the first block received successively, and return the second block generated successively to the server.
Optionally, in step S305, check notification information returned by the server when the check is passed is received, and the second block is stored according to the check notification information.
Optionally, after the server adds the second chunk to the chunk chain, the target ue may further receive the second chunk returned by the server, and store the second chunk.
Step S306, when a touch operation instruction for the target data is received, extracting a count value of the second check counter and a historical tile hash value of the second tile from the second tile;
step S307, constructing a user check key value pair corresponding to the second block according to the count value of the second check counter and the historical block hash value of the second block;
step S308, the user verification key value pair is encrypted, a second processing request is generated based on the encrypted user verification key value pair, and the second processing request is sent to the server.
After the target user terminal sends the second processing request to the server, the server may further perform validity verification on the target user terminal according to a target verification key value pair and a user verification key value pair in the second processing request, and further obtain a target address corresponding to the target data when the target user terminal is confirmed to be a valid user.
For a specific process of the server verifying the user verification key value pair in the second processing request, reference may be made to the specific process of the server verifying the user verification key value pair in the embodiment corresponding to fig. 7, which will not be further described herein.
Step S309, receiving the target address returned by the server, and loading the target data according to the target address.
The step S305 may be executed after the step S304 is executed, or before the step S304 is executed, or simultaneously with the step S304.
In the embodiment of the present invention, after the server determines that the processing request sent by the target user terminal is a first processing request, that is, the first processing request is a processing request initiated by the target user terminal for the first time, the target user terminal may receive a first block and a block construction rule distributed by the server, so that a second block having an association relationship with the first block may be generated, and since data stored in a block chain has uniqueness and non-tamper-ability, the second block generated based on the first block is also unique, and therefore, the second block that passes verification will also have uniqueness and non-tamper-ability, so that data security may be further ensured while the user identity is improved.
Further, please refer to fig. 10, which is a schematic diagram of a data interaction method according to an embodiment of the present invention. As shown in fig. 10, the method may include:
step S401, a target user terminal sends a processing request aiming at target data to a server;
step S402, the server judges whether the processing request is a first processing request;
for a specific implementation manner of step S402, reference may be made to the description of step S202 in the embodiment corresponding to fig. 7, and details will not be further described here.
Step S403, if the server determines that the received processing request is a first processing request, the server determines, according to the first processing request, a block with a maximum generation timestamp in the stored block chain as a first block, and sends the first block and a block construction rule to the target user terminal;
for a specific implementation manner of step S403, reference may be made to the description of step S102 in the embodiment corresponding to fig. 3, and details will not be further described here.
Step S404, the target user terminal generates a second block based on the first block and the block construction rule, and sends the second block to the server;
for a specific implementation manner of step S404, reference may be made to the description of step S303 in the embodiment corresponding to fig. 8, and details will not be further described here.
Step S405, the server checks the second block according to the first block;
the specific implementation manner of S405 may refer to the description of step S104 in the embodiment corresponding to fig. 3, and details will not be further described here.
Step S406, when the verification is passed, the server acquires a target address corresponding to the target data, and returns the target address to the target user terminal.
The specific implementation manner of S406 may refer to the description of step S104 in the embodiment corresponding to fig. 3, and details will not be further described here.
Optionally, the server may further generate verification notification information after the verification passes, and send the verification notification information to the target user terminal.
Optionally, the server may further return the second chunk to the target user terminal after the check is passed or after the second chunk is added to the chunk chain, so that the target user terminal performs storage processing on the received second chunk.
Step S407, the target user terminal loads the target data according to the target address.
Step S408, the server adds the second block to the block chain to update the mercker tree corresponding to the block chain, and stores the target verification key value pair corresponding to the second block in the updated mercker tree;
step S409, the target user terminal receives the verification notification information returned by the server when the server passes the verification, and stores the second block according to the verification notification information;
step S410, when receiving the touch operation instruction for the target data, the target user terminal generates a second processing request based on the second block, and sends the second processing request to the server;
for a specific implementation manner of step S410, reference may be made to the description of step S306 to step S308 in the embodiment corresponding to fig. 8, and details will not be further described here.
Step S411, when receiving the second processing request, the server performs validity verification on the target user terminal according to the target verification key value pair and the user verification key value pair in the second processing request;
for a specific implementation manner of step S411, reference may be made to the description of step S206 in the embodiment corresponding to fig. 7, and details will not be further described here.
Step S412, when determining that the target user terminal is a valid user, the server obtains a target address corresponding to the target data, and returns the target address to the target user terminal.
Optionally, after the server performs step S408, the server may further perform step S403 of determining the generation timestamp in the second block as the maximum generation timestamp in the updated blockchain, so that when a processing request initiated by another user terminal for the first time is received, the step S403 is repeatedly performed, that is, the block with the maximum generation timestamp in the stored blockchain is determined as the first block according to the processing request.
The specific implementation manner of step S402 may be described as: the server acquires the equipment identifier and the version information corresponding to the target user terminal carried in the processing request; the server inquires the device identifier and the version information corresponding to the target user terminal in the stored block chain; if the device identifier and the version information corresponding to the target user terminal are not inquired in the block chain, determining that the processing request is a first processing request; optionally, if the device identifier and the version information corresponding to the target user equipment are queried in the block chain, determining that the processing request is a second processing request; the second processing request is a processing request initiated after the first processing request.
In this embodiment of the present invention, when receiving a processing request sent by a target user terminal, a server may determine, in a block chain, a last block that passes a check as a first block according to a time sequence generated by each block, where the first block is a block with a largest timestamp in a stored block chain, and further, the server may send the first block to the target user terminal to receive a second block returned by the target user terminal based on the first block. It can be seen that the generation of the second chunk is determined based on the first chunk distributed by the server and the chunk construction rule, and since the check counter in each chunk in the chunk chain can be used to record that the chunk is the second chunk to be checked, the second chunk that passes the check will have uniqueness and non-tamper property, so that the security of the data can be further ensured while the identification of the user is improved.
Further, please refer to fig. 11, which is a schematic structural diagram of a server according to an embodiment of the present invention, and the server 1 may be the server 2000 in the embodiment corresponding to fig. 1. As shown in fig. 10, the server 1 may include: the server 1 may further include a first request receiving module 100, a first block sending module 200, a second block receiving module 300, and a block checking module 400: a block adding module 500, a second request receiving module 600 and a timestamp updating module 700;
a first request receiving module 100, configured to receive a processing request for target data sent by a target user terminal;
wherein the first request receiving module 100 includes: an information acquisition unit 101, an information inquiry unit 102 and a request determination unit 103;
an information obtaining unit 101, configured to obtain a device identifier and version information corresponding to the target user terminal, where the device identifier and version information are carried in the processing request;
an information querying unit 102, configured to query the stored block chain for the device identifier and the version information corresponding to the target user equipment;
a request determining unit 103, configured to determine that the processing request is a first processing request if the device identifier and the version information corresponding to the target user terminal are not queried in the block chain; the first processing request is a processing request initiated by the target client for the first time;
the request determining unit 103 is further configured to determine that the processing request is a second processing request if the device identifier and the version information corresponding to the target user terminal are queried in the block chain; the second processing request is a processing request initiated after the first processing request.
For specific implementation manners of the information obtaining unit 101, the information querying unit 102, and the request determining unit 103, reference may be made to the description of step S202 in the embodiment corresponding to fig. 10, and details will not be further described here.
A first block sending module 200, configured to determine, according to the processing request, a block with a largest generation timestamp in the stored block chain as a first block, and send the first block and a block construction rule to the target user terminal;
a second block receiving module 300, configured to receive a second block sent by the target ue, where the second block is generated by the target ue based on the first block and the block construction rule;
the block checking module 400 is configured to check the second block according to the first block, and when the check is passed, obtain a target address corresponding to the target data, and return the target address to the target user terminal.
The historical block hash value in the second block is a first hash value obtained by performing hash operation on the historical block hash value in the block acquired by the target user terminal from the server;
the block check module 400 may include: a block search unit 401, a hash operation unit 402, a hash comparison unit 403, a first determination unit 404, and a second determination unit 405;
a block searching unit 401, configured to perform integrity check on the data in the second block, and search the first block in the block chain when it is determined that the data carried in the second block has integrity;
a hash operation unit 402, configured to perform a hash operation on a hash value of a historical block in the first block to obtain a second hash value;
a hash comparison unit 403, configured to compare the second hash value with the first hash value in the second chunk;
a first determining unit 404, configured to determine that the verification is successful if the second hash value is equal to the first hash value.
Optionally, the second determining unit 405 is configured to determine that the verification fails if the second hash value is not equal to the first hash value, generate failure prompt information, and return the failure prompt information to the target user terminal as a response corresponding to the processing request.
The specific implementation manners of the block searching unit 401, the hash operation unit 402, the hash comparison unit 403, the first determining unit 404, and the second determining unit 40 may refer to the description of step S104 in the embodiment corresponding to fig. 3, and the description thereof will not be repeated here.
The specific implementation manners of the first request receiving module 100, the first block sending module 200, the second block receiving module 300, and the block checking module 400 may refer to the descriptions of step S101 to step S104 in the embodiment corresponding to fig. 3, and the description thereof will not be repeated here.
The processing request initiated for the first time is a first processing request, where the first processing request is used to trigger the first block sending module 200 to execute the block with the largest generation timestamp in the stored block chain according to the processing request, and determine the block as the first block;
optionally, the block adding module 500 is configured to add the second block to the block chain to update the mercker tree corresponding to the block chain, and store the target verification key value pair corresponding to the second block in the updated mercker tree; the target check key value pair comprises a count value of a second check counter extracted from the second chunk by a server and a historical chunk hash value extracted from the second chunk; the count value of the second check counter is a value obtained by accumulating the count value of the first check counter in the first block;
a second request receiving module 600, configured to, when a second processing request sent by the target user terminal subsequently based on the second block is received, perform validity verification on the target user terminal according to the target verification key value pair and a user verification key value pair in the second processing request; the user check key value pair comprises a count value of a second check counter extracted from the second block by the target user terminal and a historical block hash value extracted from the second block; the second processing request is a processing request initiated again by the target user terminal.
Wherein the second request receiving module 600 includes: a key-value pair acquisition unit 601 and a key-value pair search unit 602;
a key-value pair obtaining unit 601, configured to obtain, when a second processing request sent by the target user terminal subsequently based on the second block is received, the user verification key-value pair carried in the second processing request;
a key-value pair searching unit 602, configured to determine that the target user terminal initiating the second processing request is a valid user when the target check key value pair matching the user check key value pair is searched in the block chain, obtain a target address corresponding to the target data, and return the target address to the target user terminal as a response corresponding to the second processing request.
For specific implementation manners of the key-value pair obtaining unit 601 and the key-value pair searching unit 602, reference may be made to the description of step S206 to step S207 in the embodiment corresponding to fig. 7, and details will not be further described here.
The timestamp updating module 700 determines the generation timestamp in the second block as the maximum generation timestamp in the updated block chain, so that when a processing request initiated by another user terminal for the first time is received in the following sequence, the first block sending module 200 is notified to execute the block which will have the maximum generation timestamp in the stored block chain according to the processing request, and the block is determined as the first block.
The specific implementation manners of the block adding module 500, the second request receiving module 600 and the timestamp updating module 700 may refer to the descriptions of steps S408 to step 412 in the embodiment corresponding to fig. 10, and will not be further described here.
In this embodiment of the present invention, the server may determine, when receiving a processing request sent by a target user terminal, a last verified chunk as a first chunk in the chunk chain according to a time sequence generated by each chunk, where the first chunk is a chunk with a largest timestamp in the stored chunk chain, and further, the server may send the first chunk to the target user terminal to receive a second chunk returned by the target user terminal based on the first chunk. It can be seen that the generation of the second chunk is determined based on the first chunk distributed by the server and the chunk construction rule, and since the check counter in each chunk in the chunk chain can be used to record that the chunk is the second chunk to be checked, the second chunk that passes the check will have uniqueness and non-tamper property, so that the security of the data can be further ensured while the identification of the user is improved.
Further, please refer to fig. 12, which is a schematic structural diagram of another server according to an embodiment of the present invention. As shown in fig. 12, the server 1000 may be applied to the server 2000 in the corresponding embodiment of fig. 1, where the server 1000 may include: processor 1001, network interface 1004 and memory 1005, and the terminal 1000 can further include: a user interface 1003, and at least one communication bus 1002. Wherein a communication bus 1002 is used to enable connective communication between these components. The user interface 1003 may include a Display screen (Display) and a Keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface and a standard wireless interface. The network interface 1004 may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface). The memory 1004 may be a high-speed RAM memory or a non-volatile memory (e.g., at least one disk memory). The memory 1005 may optionally be at least one memory device located remotely from the processor 1001. As shown in fig. 12, a memory 1005, which is a kind of computer storage medium, may include therein an operating system, a network communication module, a user interface module, and a device control application program.
The network interface 1004 in the 1000 may also be connected with a target user terminal, and the optional user interface 1003 may also include a Display screen (Display) and a Keyboard (Keyboard). In the server 1000 shown in fig. 9, the network interface 1004 may provide a network communication function; the user interface 1003 is an interface for providing a user with input; and the processor 1001 may be used to invoke a device control application stored in the memory 1005 to implement:
receiving a processing request aiming at target data sent by a target user terminal;
determining a block with the largest generation time stamp in the stored block chain as a first block according to the processing request, and sending the first block and a block construction rule to the target user terminal;
receiving a second block sent by the target user terminal, wherein the second block is generated by the target user terminal based on the first block and the block construction rule;
and checking the second block according to the first block, acquiring a target address corresponding to the target data when the second block passes the checking, and returning the target address to the target user terminal.
It should be understood that the server 1000 described in the embodiment of the present invention may perform the description of the data processing method in the embodiment corresponding to fig. 3 and fig. 7, and may also perform the description of the server 1 in the embodiment corresponding to fig. 11, which is not described herein again. In addition, the beneficial effects of the same method are not described in detail.
Further, here, it is to be noted that: an embodiment of the present invention further provides a computer storage medium, where the computer storage medium stores the aforementioned computer program executed by the server 1, and the computer program includes program instructions, and when the processor executes the program instructions, the description of the data processing method in the embodiment corresponding to fig. 3 and fig. 7 can be performed, so that details are not repeated here. In addition, the beneficial effects of the same method are not described in detail. For technical details not disclosed in the embodiments of the computer storage medium to which the present invention relates, reference is made to the description of the method embodiments of the present invention.
Further, please refer to fig. 13, which is a schematic structural diagram of a user terminal according to an embodiment of the present invention. The user terminal 2 may be a target user terminal in the embodiment corresponding to fig. 1. Further, the user terminal 2 may include: a first request sending module 10, a first block receiving module 20, a second block sending module 30, a first address receiving module 40; further, the user terminal 2 may further include: a notification reception module 50 and a second request transmission module 60;
a first request sending module 10, configured to send a processing request for target data to a server;
a first block receiving module 20, configured to receive a first block and a block construction rule returned by the server based on the processing request; the first block is a block with a largest generation timestamp in a block chain stored by the server;
a second block sending module 30, configured to generate a second block based on the first block and the block construction rule, and send the second block to the server, so that the server checks the second block based on the first block, and obtains a target address corresponding to the target data when the check is passed;
the second block transmitting module 30 includes: a block to be processed generating unit 301, a second block determining unit 302, and a second block transmitting unit 303;
a to-be-processed block generating unit 301, configured to generate a to-be-processed block corresponding to the first block based on the block construction rule; the block to be processed comprises a second block data volume and a second check counter; the second check counter is used for recording the count value of the to-be-processed block; the count value of the block to be processed is the value obtained by accumulating the count value of the first check counter;
the to-be-processed block generating unit 301 is specifically configured to perform integrity check on the data in the first block, and when it is determined that the data carried in the first block has integrity, perform numerical processing on the first block data size and the first check counter included in the first block based on the block construction rule, so as to obtain a to-be-processed block including a second block data size and a second check counter.
A second block determining unit 302, configured to generate a second block header in the to-be-processed block according to the block construction rule and the first block header, and determine the to-be-processed block including the second block header, a second block data amount, and a second check counter as a second block;
wherein the second block determining unit 302 includes: a check data determining subunit 3021, a hash value determining subunit 3022, and a block determining subunit 3023;
a check data determining subunit 3021, configured to determine, according to the block construction rule, the device identifier and the version information carried in the processing request as the check data in the block to be processed;
a hash value determining subunit 3022, configured to perform hash operation on the historical block hash value in the first block header to obtain a first hash value, and determine the first hash value as the historical block hash value in the to-be-processed block;
a block determining subunit 3023, configured to determine a block version, a historical block hash value, a mercker root, a generation timestamp, and check data included in the block to be processed as a second block header in the block to be processed, and determine a block to be processed including the second block header, a second block data amount, and a second check counter as a second block.
For specific implementation manners of the check data determining subunit 3021, the hash value determining subunit 3022, and the block determining subunit 3023, reference may be made to the description of step S303 in the embodiment corresponding to fig. 8, and details will not be further described here.
A second block sending unit 303, configured to send the second block to the server.
For specific implementation manners of the to-be-processed block generating unit 301, the second block determining unit 302, and the second block sending unit 303, reference may be made to the description of step S303 in the embodiment corresponding to fig. 8, and details will not be further described here.
A first address receiving module 40, configured to receive the target address returned by the server, and load the target data according to the target address.
For specific implementation manners of the first request sending module 10, the first block receiving module 20, the second block sending module 30, and the first address receiving module 40, reference may be made to the description of step S301 to step S304 in the embodiment corresponding to fig. 8, and details will not be further described here.
And a notification receiving module 50, configured to receive verification notification information returned by the server when the server passes verification, and store the second block according to the verification notification information.
Wherein, the first processing request is a processing request initiated by the user terminal 2 for the first time;
a second request sending module 60, configured to, when a touch operation instruction for the target data is received, extract a count value of the second check counter and a historical tile hash value of the second tile from the second tile;
the second request sending module 60 is further configured to construct a user check key value pair corresponding to the second block according to the count value of the second check counter and the historical block hash value of the second block;
the second request sending module 60 is further configured to encrypt the user verification key value pair, generate a second processing request based on the encrypted user verification key value pair, and send the second processing request to the server, so that the server performs validity verification on the user terminal 2 according to the target verification key value pair and the user verification key value pair in the second processing request; the target check key value pair comprises a count value of a second check counter extracted from the second chunk by the server and a historical chunk hash value extracted from the second chunk; the second processing request is a processing request initiated again by the user terminal.
For specific implementation of the notification receiving module 50 and the second request sending module 60, reference may be made to the description of step S305 to step S308 in the embodiment corresponding to fig. 8, and details will not be further described here.
In the embodiment of the present invention, after the server determines that the processing request sent by the target user terminal is the first processing request, that is, the first processing request is a processing request initiated by the user terminal 2 for the first time, the user terminal 2 may receive the first block and the block construction rule distributed by the server, so as to generate the second block having an association relationship with the first block, and since the data stored in the block chain has uniqueness and non-tamper-ability property, the second block generated based on the first block is also unique, and therefore, the second block passing verification will also have uniqueness and non-tamper-ability property, so as to further ensure the security of the data while improving the user identification.
Please refer to fig. 14, which is a schematic structural diagram of another ue according to an embodiment of the present invention. As shown in fig. 14, the ue 4000 may be the target ue in the embodiment corresponding to fig. 1. The user terminal 4000 may include: a processor 4001, a network interface 4004 and a memory 4005, wherein the server 4000 further comprises: a user interface 4003, and at least one communication bus 4002. The communication bus 4002 is used to realize connection communication among these components. The user interface 4003 may include a Display (Display) and a Keyboard (Keyboard), and the optional user interface 4003 may also include a standard wired interface and a standard wireless interface. Network interface 4004 may optionally include a standard wired interface, a wireless interface (e.g., a WI-FI interface). The memory 4004 may be a high-speed RAM memory or a non-volatile memory (e.g., at least one disk memory). The memory 4005 may alternatively be at least one memory device located remotely from the processor 4001. As shown in fig. 14, a memory 4005, which is a kind of computer storage medium, may include therein an operating system, a network communication module, a user interface module, and a device control application program.
The network interface 4004 in the server 4000 may also be connected to the server 2000 in the embodiment corresponding to fig. 1, and the optional user interface 4003 may also include a Display (Display) and a Keyboard (Keyboard). In the server 4000 shown in fig. 14, a network interface 4004 may provide a network communication function; and user interface 4003 is primarily an interface for providing input to a user; and processor 4001 may be used to invoke a device control application stored in memory 4005 to implement:
sending a processing request aiming at the target data to a server;
receiving a first block and a block construction rule returned by the server based on the processing request; the first block is a block with a largest generation timestamp in a block chain stored by the server;
generating a second block based on the first block and the block construction rule, and sending the second block to the server, so that the server checks the second block based on the first block, and when the check is passed, acquiring a target address corresponding to the target data;
and receiving the target address returned by the server, and loading the target data according to the target address.
It should be understood that the ue 4000 described in the embodiment of the present invention may perform the description of the data processing method in the embodiment corresponding to fig. 8, and may also perform the description of the ue 2 in the embodiment corresponding to fig. 13, which is not described herein again. In addition, the beneficial effects of the same method are not described in detail.
Further, here, it is to be noted that: an embodiment of the present invention further provides a computer storage medium, where the computer storage medium stores the aforementioned computer program executed by the user terminal 2, and the computer program includes program instructions, and when the processor executes the program instructions, the description of the data processing method in the embodiment corresponding to fig. 8 can be executed, so that details are not repeated here. In addition, the beneficial effects of the same method are not described in detail. For technical details not disclosed in the embodiments of the computer storage medium to which the present invention relates, reference is made to the description of the method embodiments of the present invention.
Further, please refer to fig. 15, which is a schematic structural diagram of a data processing system according to an embodiment of the present invention. As shown in fig. 15, the data processing system 3 may specifically include a server 1a and a user terminal 2 a.
It should be understood that the server 1a described in the embodiment of the present invention may perform the description of the data processing method in the embodiment corresponding to fig. 3 and fig. 7, and may also perform the description of the server 1000 in the embodiment corresponding to fig. 12, which is not described herein again. In addition, the beneficial effects of the same method are not described in detail. In addition, the ue 2a described in the embodiment of the present invention may perform the description of the data processing method in the embodiment corresponding to fig. 8, and may also perform the description of the ue 4000 in the embodiment corresponding to fig. 14, which is not described herein again. In addition, the beneficial effects of the same method are not described in detail.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), or the like.
The above disclosure is only for the purpose of illustrating the preferred embodiments of the present invention, and it is therefore to be understood that the invention is not limited by the scope of the appended claims.

Claims (14)

1. A data processing method, comprising:
the method comprises the steps that a server receives a first processing request aiming at target data sent by a target user terminal;
determining a block with the largest generation timestamp in the stored block chain as a first block according to the first processing request, and sending the first block and a block construction rule to the target user terminal;
receiving a second block sent by the target user terminal, wherein the second block is generated by the target user terminal based on the first block and the block construction rule;
checking the second block according to the first block, acquiring a target address corresponding to the target data when the checking is passed, and returning the target address to the target user terminal;
adding the second block to a block chain to update a Mercker tree corresponding to the block chain, and storing a target check key value pair corresponding to the second block in the updated Mercker tree;
when a second processing request sent by the target user terminal based on the second block is received, acquiring a user verification key value pair carried in the second processing request;
and when the target check key value pair matched with the user check key value pair is searched in the block chain, determining that the target user terminal initiating the second processing request is a legal user, acquiring a target address corresponding to the target data, and returning the target address to the target user terminal.
2. The method according to claim 1, wherein the historical chunk hash value in the second chunk is a first hash value obtained by hashing the historical chunk hash value in the chunk acquired by the target user terminal from a server;
the verifying the second block according to the first block comprises:
carrying out integrity check on the data in the second block, and searching the first block in the block chain when the data carried in the second block is determined to have integrity;
performing hash operation on the historical block hash value in the first block to obtain a second hash value;
comparing the second hash value to the first hash value in the second chunk;
and if the second hash value is equal to the first hash value, confirming that the verification is successful.
3. The method of claim 2, further comprising:
and if the second hash value is not equal to the first hash value, confirming that the verification fails, generating failure prompt information, and returning the failure prompt information to the target user terminal.
4. The method of claim 2, wherein the target check key value pair comprises a count value of a second check counter extracted from the second chunk by a server and a historical chunk hash value extracted from the second chunk; the count value of the second check counter is a value obtained by accumulating the count value of the first check counter in the first block;
the user check key value pair includes a count value of a second check counter extracted from the second chunk by the target user terminal and a historical chunk hash value extracted from the second chunk.
5. The method of claim 4, further comprising:
and determining the generation timestamp in the second block as the maximum generation timestamp in the updated block chain, so that when a processing request initiated by another user terminal for the first time is received in the following process, the step of determining the block with the maximum generation timestamp in the stored block chain as the first block according to the processing request is executed.
6. The method of claim 1, wherein the receiving a processing request for target data sent by a target user terminal comprises:
acquiring the device identifier and version information corresponding to the target user terminal carried in the processing request;
inquiring the device identifier and the version information corresponding to the target user terminal in the stored block chain;
if the device identifier and the version information corresponding to the target user terminal are not inquired in the block chain, determining that the processing request is a first processing request;
if the device identifier and the version information corresponding to the target user terminal are inquired in the block chain, determining that the processing request is a second processing request; the second processing request is a processing request initiated after the first processing request.
7. A data processing method, comprising:
a target user terminal sends a first processing request aiming at target data to a server;
receiving a first block and a block construction rule returned by the server based on the first processing request; the first block is a block with a largest generation timestamp in a block chain stored by the server;
generating a second block based on the first block and the block construction rule, and sending the second block to the server, so that the server checks the second block based on the first block, and when the check is passed, acquiring a target address corresponding to the target data;
receiving the target address returned by the server, and loading the target data according to the target address; the server is further configured to add the second chunk to a chunk chain to update a merkel tree corresponding to the chunk chain, and store a target check key value pair corresponding to the second chunk in the updated merkel tree;
and the target user terminal subsequently sends a second processing request to the server based on the second block so as to enable the server to obtain a user check key value pair carried in the second processing request, when the target check key value pair matched with the user check key value pair is searched in the block chain, the target user terminal initiating the second processing request is determined to be a legal user, a target address corresponding to the target data is obtained, and the target address is returned to the target user terminal.
8. A server, comprising:
the first request receiving module is used for receiving a first processing request aiming at target data sent by a target user terminal;
a first block sending module, configured to determine, according to the first processing request, a block with a maximum generation timestamp in the stored block chain as a first block, and send the first block and a block construction rule to the target user terminal;
a second block receiving module, configured to receive a second block sent by the target user terminal, where the second block is generated by the target user terminal based on the first block and the block construction rule;
the block checking module is used for checking the second block according to the first block, acquiring a target address corresponding to the target data when the checking is passed, and returning the target address to the target user terminal;
a block adding module, configured to add the second block to a block chain, so as to update a tacle tree corresponding to the block chain, and store a target check key value pair corresponding to the second block in the updated tacle tree;
a second request receiving module, configured to, when a second processing request sent by the target user terminal subsequently based on the second block is received, obtain a user check key value pair carried in the second processing request;
the second request receiving module is further configured to determine that the target user terminal initiating the second processing request is a valid user, acquire a target address corresponding to the target data, and return the target address to the target user terminal when the target check key pair matching the user check key pair is searched in the block chain.
9. A user terminal, comprising:
the first request sending module is used for sending a first processing request aiming at target data to the server;
a first block receiving module, configured to receive a first block and a block construction rule returned by the server based on the first processing request; the first block is a block with a largest generation timestamp in a block chain stored by the server;
a second block sending module, configured to generate a second block based on the first block and the block construction rule, and send the second block to the server, so that the server checks the second block based on the first block, and obtains a target address corresponding to the target data when the checking is passed;
the first address receiving module is used for receiving the target address returned by the server and loading the target data according to the target address; the server is further configured to add the second chunk to a chunk chain to update a merkel tree corresponding to the chunk chain, and store a target check key value pair corresponding to the second chunk in the updated merkel tree;
and a second request sending module, configured to subsequently send a second processing request to the server based on the second block, so that the server obtains the user check key value pair carried in the second processing request, determines, when the target check key value pair matching the user check key value pair is searched in the block chain, that a target user terminal initiating the second processing request is a valid user, obtains a target address corresponding to the target data, and returns the target address to the target user terminal.
10. A data processing system, characterized in that the system comprises: a server according to claim 8, and a user terminal according to claim 9.
11. A server, comprising: a processor, a memory, and a network interface;
the processor is connected with a memory and a network interface, wherein the network interface is used for connecting a target user terminal, the memory is used for storing program codes, and the processor is used for calling the program codes to execute the following operations:
receiving a first processing request aiming at target data sent by a target user terminal;
determining a block with the largest generation timestamp in the stored block chain as a first block according to the first processing request, and sending the first block and a block construction rule to the target user terminal;
receiving a second block sent by the target user terminal, wherein the second block is generated by the target user terminal based on the first block and the block construction rule;
checking the second block according to the first block, acquiring a target address corresponding to the target data when the second block passes the checking, and returning the target address to the target user terminal;
adding the second block to a block chain to update a Mercker tree corresponding to the block chain, and storing a target check key value pair corresponding to the second block in the updated Mercker tree;
when a second processing request sent by the target user terminal based on the second block is received, acquiring a user verification key value pair carried in the second processing request;
and when the target check key value pair matched with the user check key value pair is searched in the block chain, determining that the target user terminal initiating the second processing request is a legal user, acquiring a target address corresponding to the target data, and returning the target address to the target user terminal.
12. A computer storage medium, characterized in that the computer storage medium stores a computer program comprising program instructions which, when executed by a processor, perform the method according to claims 1-6.
13. A user terminal, comprising: a processor, a memory, and a network interface;
the processor is connected with the memory and the network interface, wherein the network interface is used for connecting the server, the memory is used for storing program codes, and the processor is used for calling the program codes to execute the following operations:
sending a first processing request aiming at target data to a server;
receiving a first block and a block construction rule returned by the server based on the first processing request; the first block is a block with a largest generation timestamp in a block chain stored by the server;
generating a second block based on the first block and the block construction rule, and sending the second block to the server, so that the server checks the second block based on the first block, and when the check is passed, acquiring a target address corresponding to the target data;
receiving the target address returned by the server, and loading the target data according to the target address; the server is further configured to add the second chunk to a chunk chain to update a merkel tree corresponding to the chunk chain, and store a target check key value pair corresponding to the second chunk in the updated merkel tree;
and subsequently sending a second processing request to the server based on the second block, so that the server acquires a user check key value pair carried in the second processing request, determines that the target user terminal initiating the second processing request is a legal user when the target check key value pair matched with the user check key value pair is searched in the block chain, acquires a target address corresponding to the target data, and returns the target address to the user terminal.
14. A computer storage medium, characterized in that the computer storage medium stores a computer program comprising program instructions which, when executed by a processor, perform the method of claim 7.
HK19132815.2A 2019-11-27 Data processing method, system and related device HK40009197B (en)

Publications (2)

Publication Number Publication Date
HK40009197A HK40009197A (en) 2020-06-19
HK40009197B true HK40009197B (en) 2021-08-20

Family

ID=

Similar Documents

Publication Publication Date Title
CN110263579B (en) Data processing method, system and related equipment
CN111865920B (en) Gateway authentication and identity authentication platform and method thereof
CN112926982B (en) Transaction data processing method, device, equipment and storage medium
US10747721B2 (en) File management/search system and file management/search method based on block chain
CN110912707B (en) Block chain-based digital certificate processing method, device, equipment and storage medium
CN113409047B (en) Data processing method, device and equipment based on block chain and readable storage medium
CN109474838B (en) Data processing method, device, system and storage medium
US11108545B2 (en) Creating a blockchain account and verifying blockchain transactions
CN111367923B (en) Data processing method, device, node equipment and storage medium
CN114826719B (en) Trusted terminal authentication method, system, device and storage medium based on blockchain
US20240163118A1 (en) Blockchain-based data processing method, device, and readable storage medium
KR102367052B1 (en) Method for providing relational decentralized identifier service and blockchain node using them
HK40009197B (en) Data processing method, system and related device
HK40009197A (en) Data processing method, system and related device
CN105872013A (en) Cloud computing system
CN112035891B (en) A decentralized electronic contract certification platform
CN110958285B (en) Data storage system based on block chain
US20260012367A1 (en) Blockchain-based data processing method, device, and readable storage medium
CN112202453A (en) Information processing method, device, equipment and medium for compressing ciphertext
CN116841991B (en) On-chain data management method, device, storage medium, and program product
CN110968442B (en) Data processing method and device
CN119887200A (en) Block chain-based data processing method, equipment and readable storage medium
CN119918096A (en) A data processing method, device and readable storage medium based on blockchain
HK40051775B (en) Data processing method, device, equipment and readable storage medium based on blockchain
HK40051775A (en) Data processing method, device, equipment and readable storage medium based on blockchain