CN117081726B - Method and device for transmitting files in blocking and grading mode - Google Patents

Method and device for transmitting files in blocking and grading mode Download PDF

Info

Publication number
CN117081726B
CN117081726B CN202311184062.8A CN202311184062A CN117081726B CN 117081726 B CN117081726 B CN 117081726B CN 202311184062 A CN202311184062 A CN 202311184062A CN 117081726 B CN117081726 B CN 117081726B
Authority
CN
China
Prior art keywords
node
file
sharing
downloading
hash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311184062.8A
Other languages
Chinese (zh)
Other versions
CN117081726A (en
Inventor
陈臻
祝乃国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Digital Shandong Construction and Operation Co Ltd
Original Assignee
Inspur Digital Shandong Construction and Operation Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Digital Shandong Construction and Operation Co Ltd filed Critical Inspur Digital Shandong Construction and Operation Co Ltd
Priority to CN202311184062.8A priority Critical patent/CN117081726B/en
Publication of CN117081726A publication Critical patent/CN117081726A/en
Application granted granted Critical
Publication of CN117081726B publication Critical patent/CN117081726B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The application provides a method and a device for block hierarchical transmission of files. Relates to the technical field of file transmission. The method comprises the following steps: acquiring current state data of a file to be downloaded from a server; determining estimated remaining time of the sharing terminal and estimated time consumption of each file block based on time consumption of downloading each file block of each sharing terminal; determining a downloading path plan based on the total estimated time consumption of all file blocks corresponding to each node, the number of the sharing terminals and the residual time of the sharing terminals; and downloading each file block based on the downloading path planning, and performing integrity check based on hash values in the hash tree. The multi-level blocking multi-level sharing mode realized by the hash tree improves the flexibility of file sharing, reduces the resource consumption of sharing equipment, and can effectively ensure the safety of data by taking the hash value as a verification tag.

Description

Method and device for transmitting files in blocking and grading mode
Technical Field
The application relates to the field of file transmission, in particular to a method and a device for block hierarchical transmission of files.
Background
File data transmission is a common function in an IT system, and quick, timely and accurate completion is a required target. In general, the file transmission is that the two parties establish a connection relationship through a certain protocol (such as TCP, UDP, etc.), and the files are copied from one position to another designated position through data packets, so that the transmission efficiency is low and the security is poor.
Disclosure of Invention
An object of the embodiments of the present application is to provide a method and an apparatus for block hierarchical transmission of a file, so as to improve file transmission efficiency and reduce interference to a sharing device.
In a first aspect, the present invention provides a method for transmitting files in a block hierarchical manner, including:
obtaining current state data of a file to be downloaded from a server, wherein the current state data comprises a hash tree and information of a shared terminal, the hash tree comprises a plurality of nodes, each node is used for storing hash values and information of the shared terminal capable of providing shared services for a file block corresponding to the node, the nodes form n layers, a root node is located in a 1 st layer, the leaf node is located in the n th layer, the k-1 st layer comprises a plurality of first nodes, the k-th layer comprises a plurality of second nodes, each first node and the second nodes have father-son relations, the hash values of the first nodes are hash values of a hash value set of all sub nodes corresponding to the first node, the hash values of the leaf nodes are hash values of corresponding file blocks, the file to be downloaded is divided into a plurality of file blocks, each file block corresponds to one leaf node, a shared terminal capable of providing shared services for the file block corresponding to the node is a time-consuming terminal downloading shared by the shared terminal of the file block to be downloaded, and the shared terminal is not provided with shared by the shared terminal of the node and the shared terminal is a shared terminal of the shared terminal is not provided with the shared terminal; wherein k and n are natural numbers, and k is any value which is more than or equal to 1 and less than or equal to n;
Determining estimated remaining time of the sharing terminal and estimated time consumption of each file block based on time consumption of downloading each file block of each sharing terminal;
determining a downloading path plan based on the total estimated time consumption of all file blocks corresponding to each node, the number of the shared terminals and the residual time of the shared terminals, wherein the downloading path plan comprises one or more groups of hash values/sub hash trees and the corresponding relation of addresses of the shared terminals;
and downloading each file block based on the downloading path planning, and performing integrity check based on hash values in the hash tree.
In an alternative embodiment, the estimated time consumption of the file block is the average time consumption or the median time consumption of downloading the file block of each sharing terminal; the estimated remaining time of the sharing terminal is determined according to the duty ratio of all the file blocks which are downloaded by the sharing terminal and correspond to the files to be downloaded and the total time consumption of all the file blocks which are downloaded by the sharing terminal.
In an optional embodiment, the determining the download path plan based on the total estimated time consumption of all the file blocks corresponding to each node, the number of the shared terminals, and the remaining time of the shared terminals includes:
Sequentially determining third nodes of the downloading paths to be established, which are included in the current jth level, from small to large based on the n levels until all nodes are marked as established downloading paths, wherein j and n are natural numbers, and j is any value which is greater than or equal to 1 and less than or equal to n;
when the information of the sharing terminals which can provide the sharing service for the file blocks corresponding to the node exists in the third node, determining estimated remaining time of one or more first sharing terminals recorded by the third node;
when the third node is a non-leaf node and the estimated residual time of one or more first sharing terminals is in total consumption of downloading all first file blocks corresponding to a first file block set corresponding to the third node, establishing a corresponding relation between the address of the first sharing terminal with the maximum estimated residual time and a first sub-hash tree corresponding to the third node, wherein the first sub-hash tree comprises hash values of the third node and hash values of all nodes contained in the j+1th level to the nth level; and marking all nodes corresponding to the first sub-hash tree as established download paths.
In an alternative embodiment, the method further comprises:
and when the information of the sharing terminal which can provide the sharing service for the file block corresponding to the node does not exist in the third node, maintaining the mark of the downloading path to be established of the third node.
In an alternative embodiment, the method further comprises:
and when the estimated residual time of one or more first sharing terminals does not exist to meet the total download consumption of all the first file blocks corresponding to the first file block set corresponding to the third node, maintaining the mark of the download path to be established of the third node.
In an alternative embodiment, the method further comprises:
when the third node is a leaf node and the estimated residual time of one or more first sharing terminals is equal to the total download consumption of all the first file blocks corresponding to the first file block set corresponding to the third node, a corresponding relation between the address of the first sharing terminal with the maximum estimated residual time and a first sub-hash value corresponding to the third node is established, and the node corresponding to the first sub-hash value is marked as an established download path.
In an alternative embodiment, the method further comprises:
When the leaf node does not have the information of the sharing terminal which can provide the sharing service for the file block corresponding to the node, and the label corresponding to the leaf node is to be established, establishing the corresponding relation between the address of the server and the hash value corresponding to the leaf node, and marking the leaf node as the established download path.
In an alternative embodiment, the server is a content distribution network SDN, the content distribution network comprising edge nodes; when there is no information of a shared terminal that can provide a shared service for a file block corresponding to the node in the leaf node, and when the label corresponding to the leaf node is to-be-established download path, establishing a corresponding relationship between an address of the server and a hash value corresponding to the leaf node, and labeling the leaf node as an established download path, including:
when the information of the shared terminal which can provide the shared service for the file block corresponding to the node does not exist in the leaf node, and the mark corresponding to the leaf node is a downloading path to be established, a file downloading request is sent to the server, wherein the file downloading request comprises a hash value corresponding to the leaf node and the address of the current terminal;
The receiving server determines the address of the edge node meeting the requirements based on the hash value corresponding to the leaf node and the address of the current terminal;
and establishing a corresponding relation between the address of the edge node meeting the requirements and the hash value corresponding to the leaf node, and marking the leaf node as an established downloading path.
In an optional implementation manner, the downloading of each file block based on the downloading path planning includes:
determining the corresponding relation between one or more groups of hash values/sub hash trees included in the download path planning and the addresses of the sharing terminals;
respectively obtaining file blocks corresponding to the hash value/sub-hash tree from addresses of sharing terminals corresponding to the hash value/sub-hash tree;
when the downloading of a second file block corresponding to a second hash value/sub-hash tree is abnormal, acquiring current state data of the second file block from a server;
re-determining the address of a third shared terminal corresponding to the second hash value/sub-hash tree based on the current state data of the second file block;
and acquiring the second file block from the address of the third sharing terminal.
In a second aspect, the present invention provides a device for transmitting files in a hierarchical manner, including:
The method comprises the steps that current state data of a file to be downloaded is obtained from a server, the current state data comprise a hash tree and information of a shared terminal, the hash tree comprises a plurality of nodes, each node is used for storing hash values and information of the shared terminal capable of providing shared services for file blocks corresponding to the node, the nodes form n layers, a root node is located in a 1 st layer, the leaf node is located in the n th layer, the k-1 th layer comprises a plurality of first nodes, the k-th layer comprises a plurality of second nodes, each first node and the second nodes have father-son relations, the hash values of the first nodes are hash values of a hash value set of all sub-nodes corresponding to the first node, the hash values of the leaf nodes are hash values of corresponding file blocks, the file to be downloaded is divided into a plurality of file blocks, each file block corresponds to one leaf node, the shared terminal capable of providing shared services for the file blocks corresponding to the node is a shared terminal of the file to be downloaded, the hash values of the shared terminal of the file blocks corresponding to the node are not shared terminals of the file blocks and the shared terminal is a shared terminal of the shared terminal is not downloaded, and the shared terminal has time consumption is not provided for the shared terminal of the file to the shared terminal; wherein k and n are natural numbers, and k is any value which is more than or equal to 1 and less than or equal to n;
The determining module is used for determining estimated residual time of the sharing terminal and estimated time consumption of each file block based on time consumption of downloading each file block of each sharing terminal;
the planning module is used for determining a downloading path plan based on the total estimated time consumption of all file blocks corresponding to each node, the number of the shared terminals and the residual time of the shared terminals, wherein the downloading path plan comprises one or more groups of hash values/sub-hash trees and the corresponding relation of addresses of the shared terminals;
and the downloading module is used for downloading each file block based on the downloading path planning and carrying out integrity check based on the hash value in the hash tree.
In an alternative embodiment, the estimated time consumption of the file block is the average time consumption or the median time consumption of downloading the file block of each sharing terminal; the estimated remaining time of the sharing terminal is determined according to the duty ratio of all the file blocks which are downloaded by the sharing terminal and correspond to the files to be downloaded and the total time consumption of all the file blocks which are downloaded by the sharing terminal.
In an alternative embodiment, the planning module is specifically configured to:
Sequentially determining third nodes of the downloading paths to be established, which are included in the current jth level, from small to large based on the n levels until all nodes are marked as established downloading paths, wherein j and n are natural numbers, and j is any value which is greater than or equal to 1 and less than or equal to n;
when the information of the sharing terminals which can provide the sharing service for the file blocks corresponding to the node exists in the third node, determining estimated remaining time of one or more first sharing terminals recorded by the third node;
when the third node is a non-leaf node and the estimated residual time of one or more first sharing terminals is in total consumption of downloading all first file blocks corresponding to a first file block set corresponding to the third node, establishing a corresponding relation between the address of the first sharing terminal with the maximum estimated residual time and a first sub-hash tree corresponding to the third node, wherein the first sub-hash tree comprises hash values of the third node and hash values of all nodes contained in the j+1th level to the nth level; and marking all nodes corresponding to the first sub-hash tree as established download paths.
In an alternative embodiment, the planning module is further configured to:
and when the information of the sharing terminal which can provide the sharing service for the file block corresponding to the node does not exist in the third node, maintaining the mark of the downloading path to be established of the third node.
In an alternative embodiment, the planning module is further configured to:
and when the estimated residual time of one or more first sharing terminals does not exist to meet the total download consumption of all the first file blocks corresponding to the first file block set corresponding to the third node, maintaining the mark of the download path to be established of the third node.
In an alternative embodiment, the planning module is further configured to:
when the third node is a leaf node and the estimated residual time of one or more first sharing terminals is equal to the total download consumption of all the first file blocks corresponding to the first file block set corresponding to the third node, a corresponding relation between the address of the first sharing terminal with the maximum estimated residual time and a first sub-hash value corresponding to the third node is established, and the node corresponding to the first sub-hash value is marked as an established download path.
In an alternative embodiment, the planning module is further configured to:
when the leaf node does not have the information of the sharing terminal which can provide the sharing service for the file block corresponding to the node, and the label corresponding to the leaf node is to be established, establishing the corresponding relation between the address of the server and the hash value corresponding to the leaf node, and marking the leaf node as the established download path.
In an alternative embodiment, the server is a content distribution network SDN, the content distribution network comprising edge nodes; the planning module is further configured to:
when the information of the shared terminal which can provide the shared service for the file block corresponding to the node does not exist in the leaf node, and the mark corresponding to the leaf node is a downloading path to be established, a file downloading request is sent to the server, wherein the file downloading request comprises a hash value corresponding to the leaf node and the address of the current terminal;
the receiving server determines the address of the edge node meeting the requirements based on the hash value corresponding to the leaf node and the address of the current terminal;
and establishing a corresponding relation between the address of the edge node meeting the requirements and the hash value corresponding to the leaf node, and marking the leaf node as an established downloading path.
In an alternative embodiment, the downloading module is specifically configured to:
determining the corresponding relation between one or more groups of hash values/sub hash trees included in the download path planning and the addresses of the sharing terminals;
respectively obtaining file blocks corresponding to the hash value/sub-hash tree from addresses of sharing terminals corresponding to the hash value/sub-hash tree;
when the downloading of a second file block corresponding to a second hash value/sub-hash tree is abnormal, acquiring current state data of the second file block from a server;
re-determining the address of a third shared terminal corresponding to the second hash value/sub-hash tree based on the current state data of the second file block;
and acquiring the second file block from the address of the third sharing terminal.
The embodiment of the application provides a method and a device for transmitting files in a blocking and grading manner. Acquiring current state data of a file to be downloaded from a server; determining estimated remaining time of the sharing terminal and estimated time consumption of each file block based on time consumption of downloading each file block of each sharing terminal; determining a downloading path plan based on the total estimated time consumption of all file blocks corresponding to each node, the number of the shared terminals and the residual time of the shared terminals, wherein the downloading path plan comprises one or more groups of hash values/sub hash trees and the corresponding relation of addresses of the shared terminals; and downloading each file block based on the downloading path planning, and performing integrity check based on hash values in the hash tree. The method has the advantages that the files can be subjected to block sharing, the flexibility is improved, the burden of single sharing equipment is reduced, the flexibility of file sharing is further improved in a multi-stage block and multi-stage sharing mode realized through the hash tree, the downloading rate of the files can be guaranteed during one-to-one sharing, the resource consumption of the sharing equipment is further reduced, meanwhile, the hash value is used as a verification tag, the safety of data can be effectively guaranteed, and the possibility of tampering of the data is reduced.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments of the present application will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and should not be considered as limiting the scope, and other related drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic flow chart of a method for block hierarchical transmission of a file according to an embodiment of the present application;
fig. 2 is a schematic diagram of a hash tree structure according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of a block hierarchical transmission device for files according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.
Fig. 1 is a schematic flow chart of a method for block hierarchical transmission of a file according to an embodiment of the present application. The method may be applied in a terminal for requesting a file from a server, which may be a content distribution network. As shown in fig. 1, the method comprises the steps of:
S110, current state data of the file to be downloaded is obtained from the server, wherein the current state data comprises hash trees and information of the sharing terminals.
As shown in fig. 2, the hash tree includes a plurality of nodes, each of which is used to store a hash value and information of a sharing terminal that can provide a sharing service for a file block corresponding to the node.
The plurality of nodes form n levels, the root node is located at the 1 st level, the leaf node is located at the n th level, the k-1 th level comprises a plurality of first nodes (intermediate nodes), the k th level comprises a plurality of second nodes (intermediate nodes), and each first node has a parent-child relationship with the plurality of second nodes. Wherein k and n are natural numbers, and k is any value of 1 or more and n or less. In some embodiments, n may be an integer multiple of 2.
The file to be downloaded is divided into a plurality of file blocks, each file block corresponds to a leaf node, the hash value of the leaf node is the hash value of the corresponding file block, and the hash value of the first node is the hash value of the hash value set of all the child nodes corresponding to the first node.
The files to be downloaded can be split according to a fixed number, for example, the number of leaf nodes can be fixed, the files to be downloaded can be split into a plurality of file blocks on average according to the number of leaf nodes, each leaf node can be correspondingly numbered, and each file block can be sequentially corresponding to the leaf nodes according to the sequence of the numbers, so that when combined, the files to be downloaded can be extracted and combined according to the sequence, and the files to be downloaded can be restored. The file block can be split according to a fixed size, and the last file block can be filled with a preset value.
For hash values in leaf nodes, the hash value for its corresponding chunk may be. The specific hash algorithm can be determined according to actual needs and preset. Wherein in some embodiments different hierarchies may employ different hash algorithms.
The hash value for an intermediate node may be the hash value of all hash values of its corresponding next level node. For example, the intermediate node m of the k-1 layer has a parent-child relationship with the intermediate node p and the intermediate node q of the k layer, and then the hash value of the intermediate node m may be the hash value of the intermediate node p and the hash value of the intermediate node q.
The shared terminal which can provide the sharing service for the file block corresponding to the node is a terminal which has downloaded the file block corresponding to the node and does not provide service for other terminals in the terminals which are downloading the file to be downloaded, and the information of the shared terminal comprises the address of the shared terminal and the time consumption of the shared terminal for downloading the file block.
The shared terminal may be a terminal that opens the sharing function, and for a terminal that does not open the sharing function, the shared service may not be provided.
When the terminal downloads the file to be downloaded, the terminal can share the file block already downloaded to other terminals under download through the sharing service, so as to reduce the resource consumption of the terminal by the sharing service and promote the enthusiasm of the user for sharing, and the sharing terminal can be appointed to provide service for only one terminal. Of course, in practical application, the one may be a specified number, or a combination, which may be managed by a combination identifier. In the case where a shared service can be provided for a plurality of terminals, when the number of shared services provided by the terminal does not reach the maximum value, it can be determined that it can continue to provide the service.
S120, determining estimated remaining time of the sharing terminal and estimated time consumption of each file block based on time consumption of downloading each file block of each sharing terminal;
the estimated time consumption of the file block is the average time consumption or the median time consumption of downloading the file block of each sharing terminal; the estimated remaining time of the sharing terminal is determined according to the duty ratio of all the file blocks which are downloaded by the sharing terminal and correspond to the files to be downloaded and the total consumption time of all the file blocks which are downloaded by the sharing terminal.
When each terminal downloads each file block, the start time and the end time of the downloading can be determined, and based on the start time and the end time, the time consumption of the terminal for downloading the file block can be determined. Based on the time consumption of downloading a file block by each terminal, the estimated time consumption required by downloading the file block can be obtained.
In addition, the downloading speed is mainly related to the bandwidth, the bandwidth of each terminal can be obtained, a curve is obtained through fitting according to the corresponding relation between the bandwidth and the time consumption, and the estimated time consumption can be obtained based on the curve mapping based on the bandwidth of the current terminal.
The estimated remaining time of the sharing terminal may be the sum of estimated time consumption of the file blocks which are not downloaded. In order to further improve the accuracy of the estimation, the number ratio of the number of all the file blocks which are already downloaded by the sharing terminal in the number of all the file blocks corresponding to the file to be downloaded and the time consumption ratio of the actual time consumption of all the file blocks which are already downloaded by the sharing terminal in the estimated time consumption of all the file blocks corresponding to the file to be downloaded can be determined, wherein if the difference between the number ratio and the time consumption ratio is within a preset range, the estimated remaining time of the sharing terminal can be directly used as the estimated remaining time of the sharing terminal, and if the difference between the number ratio and the time consumption ratio is not within the preset range, the estimated remaining time of the sharing terminal can be determined based on the following formula:
Estimated remaining time of the shared terminal = estimated time consumption (1-number ratio and average of time consumption ratio) of all file blocks corresponding to the file to be downloaded.
The preset range may be determined according to practical needs, and may be ±10%, for example.
S130, determining a downloading path plan based on the total estimated time consumption of all file blocks corresponding to each node, the number of the sharing terminals and the residual time of the sharing terminals, wherein the downloading path plan comprises one or more groups of hash values/sub hash trees and the corresponding relation of addresses of the sharing terminals.
The download path planning can be determined on the basis of the condition that the number of connections is the least and the possibility of downloading interruption is the lowest. Here, the number of connections may refer to the number of other shared terminals or content distribution servers connected. The possibility of interruption of the download here may refer to the possibility that the sharing terminal pauses the sharing during the download, and since the sharing terminal can end the sharing after the completion of the file download, the possibility here may be determined according to the download remaining time of the sharing terminal.
In some embodiments, a third node of the downloading path to be established, which is included in the current jth level, may be sequentially determined from small to large based on the n levels until all nodes are marked as established downloading paths, where j and n are natural numbers, and j is any value greater than or equal to 1 and less than or equal to n; when the information of the sharing terminals which can provide the sharing service for the file block corresponding to the node exists in the third node, determining the estimated remaining time of one or more first sharing terminals recorded by the third node; when the third node is a non-leaf node and the estimated residual time of one or more first sharing terminals is provided with a total download consumption of all first file blocks corresponding to a first file block set corresponding to the third node, a corresponding relation between the address of the first sharing terminal with the maximum estimated residual time and a first sub-hash tree corresponding to the third node is established, wherein the first sub-hash tree comprises hash values of the third node and hash values of all nodes contained by the third node in the j+1th level to the n-th level; and marking the nodes corresponding to the first sub-hash tree as established download paths.
When there is no information of a sharing terminal that can provide a sharing service for a file block corresponding to the node in the third node, a flag of the third node to establish a download path is maintained.
When the estimated remaining time of one or more first sharing terminals does not exist to meet the total downloading consumption of all the first file blocks corresponding to the first file block set corresponding to the third node, maintaining the mark of the downloading path to be established of the third node.
When the third node is a leaf node and the estimated residual time of one or more first sharing terminals is provided with the total download consumption of all the first file blocks corresponding to the first file block set corresponding to the third node, a corresponding relation between the address of the first sharing terminal with the maximum estimated residual time and the first sub-hash value corresponding to the third node is established, and the node corresponding to the first sub-hash value is marked as an established download path.
When the leaf node does not have the information of the sharing terminal which can provide the sharing service for the file block corresponding to the node, and the label corresponding to the leaf node is to be established, establishing the corresponding relation between the address of the server and the hash value corresponding to the leaf node, and marking the leaf node as the established download path.
In some embodiments, the server is a content distribution network SDN, the content distribution network comprising edge nodes; based on the above, when there is no information of a shared terminal that can provide a shared service for a file block corresponding to the node in the leaf node, and when the flag corresponding to the leaf node is to-be-established download path, a file download request is sent to the server, where the file download request includes a hash value corresponding to the leaf node and an address of a current terminal; the receiving server determines the address of the edge node meeting the requirements based on the hash value corresponding to the leaf node and the address of the current terminal; and establishing a corresponding relation between the addresses of the edge nodes meeting the requirements and hash values corresponding to the leaf nodes, and marking the leaf nodes as established download paths.
And S140, downloading each file block based on the downloading path planning, and performing integrity check based on hash values in the hash tree.
The corresponding relation between one or more groups of hash values/sub hash trees included in the download path planning and the address of the sharing terminal can be determined; respectively obtaining file blocks corresponding to the hash value/sub-hash tree from addresses of sharing terminals corresponding to the hash value/sub-hash tree; when the downloading of the second file block corresponding to the second hash value/sub-hash tree is abnormal, acquiring current state data of the second file block from a server; re-determining the address of the third shared terminal corresponding to the second hash value/sub-hash tree based on the current state data of the second file block; and acquiring a second file block from the address of the third sharing terminal.
For downloading the file blocks of the single connection, the integrity check can be performed according to the hash value of the node with the highest level of the sub-hash tree corresponding to the connection. For example, the intermediate node r of the n-1 layer has a parent-child relationship with the leaf node s and the leaf node t of the n layer, and is a sub-hash tree downloaded by a certain shared terminal, wherein in the sub-hash tree, the leaf node s records a hash value a and the leaf node t records a hash value b, and the intermediate node r records a hash value c; after the downloading of the sub hash number is completed, the hash value A of the file block downloaded by the leaf node s and the hash value B of the file block downloaded by the leaf node t can be respectively determined according to a preset hash algorithm, further, the hash value C of the intermediate node r is obtained by carrying out hash operation according to the hash value A and the hash value B, whether the hash value C is consistent with the hash value C or not is determined, if so, the file is complete, and if not, the file is incomplete.
After the downloading of the whole file to be downloaded is completed, the integrity check can be performed based on the hash value corresponding to the root node.
According to the embodiment of the application, the files can be subjected to block sharing, flexibility is improved, the burden of single sharing equipment is reduced, the flexibility of file sharing is further improved in a multi-stage block multi-stage sharing mode realized through the hash tree, the downloading rate of the files can be guaranteed during one-to-one sharing, the resource consumption of the sharing equipment is further reduced, meanwhile, the hash value is used as a verification tag, the safety of data can be effectively guaranteed, and the possibility of tampering of the data is reduced.
Fig. 3 is a schematic structural diagram of a block hierarchical transmission device for files according to an embodiment of the present application. As shown in fig. 3, the apparatus includes:
the obtaining module 301 is configured to obtain current state data of a file to be downloaded from a server, where the current state data includes a hash tree and information of a shared terminal, the hash tree includes a plurality of nodes, each node is configured to store a hash value and information of the shared terminal that can provide a shared service for a file block corresponding to the node, the plurality of nodes form n levels, a root node is located in the 1 st level, the leaf node is located in the n th level, the k-1 th level includes a plurality of first nodes, the k-th level includes a plurality of second nodes, each first node and the plurality of second nodes have a parent-child relationship, the hash value of the first node is a hash value of a hash value set of all child nodes corresponding to the first node, the hash value of the leaf node is a hash value of a corresponding file block, the file to be downloaded is divided into a plurality of file blocks, each file block corresponds to one leaf node, a shared terminal that can provide a shared service for the file block corresponding to the node is already downloaded in a terminal that is downloading the file block corresponding to the node, and the shared terminal is not providing a shared terminal for the shared terminal that is not providing the shared service for the file block corresponding to the node, and the shared terminal includes a shared terminal; wherein k and n are natural numbers, and k is any value which is more than or equal to 1 and less than or equal to n;
A determining module 302, configured to determine, based on the time consumed by each sharing terminal in downloading each file block, an estimated remaining time of the sharing terminal and an estimated time consumed by each file block;
a planning module 303, configured to determine a download path plan based on the total estimated time consumption of all the file blocks corresponding to each node, the number of shared terminals, and the remaining time of the shared terminals, where the download path plan includes a correspondence between one or more groups of hash values/sub-hash trees and addresses of the shared terminals;
and the downloading module 304 is configured to download each file block based on the downloading path planning, and perform integrity check based on the hash value in the hash tree.
In some embodiments, the estimated time consumption of a file block is the average time consumption or the median time consumption of downloading the file block for each sharing terminal; the estimated remaining time of the sharing terminal is determined according to the duty ratio of all the file blocks which are downloaded by the sharing terminal and correspond to the files to be downloaded and the total consumption time of all the file blocks which are downloaded by the sharing terminal.
In some embodiments, the planning module 303 is specifically configured to:
sequentially determining third nodes of the downloading paths to be established, which are included in the current jth level, from small to large based on the n levels until all nodes are marked as established downloading paths, wherein j and n are natural numbers, and j is any value which is greater than or equal to 1 and less than or equal to n;
When the information of the sharing terminals which can provide the sharing service for the file block corresponding to the node exists in the third node, determining the estimated remaining time of one or more first sharing terminals recorded by the third node;
when the third node is a non-leaf node and the estimated residual time of one or more first sharing terminals is provided with a total download consumption of all first file blocks corresponding to a first file block set corresponding to the third node, a corresponding relation between the address of the first sharing terminal with the maximum estimated residual time and a first sub-hash tree corresponding to the third node is established, wherein the first sub-hash tree comprises hash values of the third node and hash values of all nodes contained by the third node in the j+1th level to the n-th level; and marking the nodes corresponding to the first sub-hash tree as established download paths.
In some embodiments, the planning module 303 is further to:
when there is no information of a sharing terminal that can provide a sharing service for a file block corresponding to the node in the third node, a flag of the third node to establish a download path is maintained.
In some embodiments, the planning module 303 is further to:
when the estimated remaining time of one or more first sharing terminals does not exist to meet the total downloading consumption of all the first file blocks corresponding to the first file block set corresponding to the third node, maintaining the mark of the downloading path to be established of the third node.
In some embodiments, the planning module 303 is further to:
when the third node is a leaf node and the estimated residual time of one or more first sharing terminals is provided with the total download consumption of all the first file blocks corresponding to the first file block set corresponding to the third node, a corresponding relation between the address of the first sharing terminal with the maximum estimated residual time and the first sub-hash value corresponding to the third node is established, and the node corresponding to the first sub-hash value is marked as an established download path.
In some embodiments, the planning module 303 is further to:
when the leaf node does not have the information of the sharing terminal which can provide the sharing service for the file block corresponding to the node, and the label corresponding to the leaf node is to be established, establishing the corresponding relation between the address of the server and the hash value corresponding to the leaf node, and marking the leaf node as the established download path.
In some embodiments, the server is a content distribution network SDN, the content distribution network comprising edge nodes; the planning module 303 is further configured to:
when the information of the shared terminal which can provide the shared service for the file block corresponding to the node does not exist in the leaf node, and the mark corresponding to the leaf node is a downloading path to be established, a file downloading request is sent to a server, wherein the file downloading request comprises a hash value corresponding to the leaf node and the address of the current terminal;
The receiving server determines the address of the edge node meeting the requirements based on the hash value corresponding to the leaf node and the address of the current terminal;
and establishing a corresponding relation between the addresses of the edge nodes meeting the requirements and hash values corresponding to the leaf nodes, and marking the leaf nodes as established download paths.
In some embodiments, the download module 304 is specifically configured to:
determining the corresponding relation between one or more groups of hash values/sub hash trees included in the download path planning and the addresses of the sharing terminals;
respectively obtaining file blocks corresponding to the hash value/sub-hash tree from addresses of sharing terminals corresponding to the hash value/sub-hash tree;
when the downloading of the second file block corresponding to the second hash value/sub-hash tree is abnormal, acquiring current state data of the second file block from a server;
re-determining the address of the third shared terminal corresponding to the second hash value/sub-hash tree based on the current state data of the second file block;
and acquiring a second file block from the address of the third sharing terminal.
The embodiment of the present application further provides an electronic device, as shown in fig. 4, including a processor 410, a communication interface 420, a memory 430, and a communication bus 440, where the processor 410, the communication interface 420, and the memory 430 complete communication with each other through the communication bus 440.
A memory 430 for storing a computer program;
the processor 410 is configured to execute the program stored in the memory 430, and implement the following steps:
determining a plurality of pieces of transaction information to be displayed, wherein each piece of transaction information comprises a transfer-out party, a transfer-in party and transaction amount;
clustering the transfer-in parties respectively based on the transfer-out parties to obtain a plurality of transfer-in categories, clustering the transfer-in parties to obtain a plurality of transfer-in categories, and determining the total transaction amount of each transfer-in category, the total transaction amount of each transfer-in category and the transaction relationship between the transfer-out category and the transfer-in category;
analyzing the total transaction amounts of the plurality of the transfer-out categories, determining a peculiar value therein, and determining a plurality of first transfer-out categories corresponding to the total transaction amounts except the peculiar value and a second transfer-out category corresponding to the peculiar value;
determining a first transfer-in category with a transaction relation with the second transfer-out category in a plurality of transfer-in categories based on the transaction relation between the transfer-out category and the transfer-in category, wherein the first transfer-in category does not have the transaction relation and is the second transfer-in category; splitting the first transfer-in category into a first sub-transfer-in category and a second sub-transfer-in category, wherein the total transaction amount corresponding to the first sub-transfer-in category corresponds to the first transfer-out category, and the total transaction amount corresponding to the second sub-transfer-in category corresponds to the second transfer-out category;
Generating a first fund flow direction analysis chart according to the transaction relation and the transaction amount based on the first sub-transfer category, the second transfer category and the first transfer category; generating a second fund flow direction analysis chart based on the second sub-transfer-in category and the second transfer-out category according to the transaction relation and the transaction amount, wherein the fund flow direction chart comprises transaction nodes and compound tree-shaped indication lines, the transaction nodes correspond to the transfer-in category or the transfer-out category, the compound tree-shaped indication lines correspond to multiple ends, each end corresponds to one transaction node, and the thickness of each end is related to the transaction amount of the corresponding transaction node.
The communication bus mentioned above may be a peripheral component interconnect standard (Peripheral Component Interconnect, PCI) bus or an extended industry standard architecture (Extended Industry Standard Architecture, EISA) bus, or the like. The communication bus may be classified as an address bus, a data bus, a control bus, or the like. For ease of illustration, the figures are shown with only one bold line, but not with only one bus or one type of bus.
The communication interface is used for communication between the electronic device and other devices.
The Memory may include random access Memory (Random Access Memory, RAM) or may include Non-Volatile Memory (NVM), such as at least one disk Memory. Optionally, the memory may also be at least one memory device located remotely from the aforementioned processor.
The processor may be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU), a network processor (Network Processor, NP), etc.; but also digital signal processors (Digital Signal Processing, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), field programmable gate arrays (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
Since the implementation manner and the beneficial effects of the solution to the problem of each device of the electronic apparatus in the foregoing embodiment may be implemented by referring to each step in the embodiment shown in fig. 1, the specific working process and the beneficial effects of the electronic apparatus provided in the embodiment of the present application are not repeated herein.
In yet another embodiment provided herein, there is also provided a computer readable storage medium having instructions stored therein that when run on a computer cause the computer to perform the funds flow data processing method of any of the above embodiments.
In yet another embodiment provided herein, there is also provided a computer program product containing instructions that, when run on a computer, cause the computer to perform the method of processing a funds flow data of any of the above embodiments.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as methods, systems, or computer program products. Accordingly, embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present application may take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
Embodiments of the present application are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. It is therefore intended that the following claims be interpreted to embrace the preferred embodiments and all such variations and modifications as fall within the scope of the embodiments herein.
The above is only an example of the present application, and is not intended to limit the scope of the present application, and various modifications and variations will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application should be included in the protection scope of the present application.

Claims (9)

1. A method for block hierarchical transmission of a file, comprising:
obtaining current state data of a file to be downloaded from a server, wherein the current state data comprises a hash tree and information of a shared terminal, the hash tree comprises a plurality of nodes, each node is used for storing hash values and information of the shared terminal for providing shared services for a file block corresponding to the node, the nodes form n layers, a root node is located in a 1 st layer, a leaf node is located in the n th layer, the k-1 st layer comprises a plurality of first nodes, the k-th layer comprises a plurality of second nodes, each first node and the second nodes have father-son relations, the hash values of the first nodes are hash values of a hash value set of all child nodes corresponding to the first node, the hash values of the leaf nodes are hash values of corresponding file blocks, the file to be downloaded is divided into a plurality of file blocks, each file block corresponds to one leaf node, the shared terminal for providing shared services for the file block corresponding to the node is a shared terminal which is downloading the file block to be downloaded, the shared terminal is not provided with shared by the shared terminal and the shared terminal is not provided with the shared terminal, and the shared terminal has time consumption time is consumed by the shared terminal; wherein k and n are natural numbers, and k is any value which is more than or equal to 1 and less than or equal to n;
Determining estimated remaining time of the sharing terminal and estimated time consumption of each file block based on time consumption of downloading each file block by each sharing terminal;
determining a downloading path plan based on the total estimated time consumption of all file blocks corresponding to each node, the number of the shared terminals and the residual time of the shared terminals, wherein the downloading path plan comprises one or more groups of hash values/sub hash trees and the corresponding relation of addresses of the shared terminals;
downloading each file block based on the downloading path planning, and performing integrity check based on hash values in the hash tree;
the determining the download path plan based on the total estimated time consumption of all the file blocks corresponding to each node, the number of the shared terminals and the remaining time of the shared terminals includes: sequentially determining third nodes of the downloading paths to be established, which are included in the current jth level, from small to large based on the n levels until all nodes are marked as established downloading paths, wherein j and n are natural numbers, and j is any value which is greater than or equal to 1 and less than or equal to n; when the information of the sharing terminals providing the sharing service for the file block corresponding to the node exists in the third node, determining estimated remaining time of one or more first sharing terminals recorded by the third node; when the third node is a non-leaf node and the estimated residual time of one or more first sharing terminals is in total consumption of downloading all first file blocks corresponding to a first file block set corresponding to the third node, establishing a corresponding relation between the address of the first sharing terminal with the maximum estimated residual time and a first sub-hash tree corresponding to the third node, wherein the first sub-hash tree comprises hash values of the third node and hash values of all nodes contained in the j+1th level to the nth level; and marking all nodes corresponding to the first sub-hash tree as established download paths.
2. The method according to claim 1, wherein the estimated time consumption of a file block is an average time consumption or a median time consumption of downloading the file block by each of the sharing terminals; the estimated remaining time of the sharing terminal is determined according to the duty ratio of all the file blocks which are downloaded by the sharing terminal and correspond to the files to be downloaded and the total time consumption of all the file blocks which are downloaded by the sharing terminal.
3. The method as recited in claim 1, further comprising:
when the information of the sharing terminal providing the sharing service for the file block corresponding to the node does not exist in the third node, the mark of the downloading path to be established of the third node is maintained.
4. The method as recited in claim 1, further comprising:
and when the estimated residual time of one or more first sharing terminals does not exist to meet the total download consumption of all the first file blocks corresponding to the first file block set corresponding to the third node, maintaining the mark of the download path to be established of the third node.
5. The method as recited in claim 1, further comprising:
When the third node is a leaf node and the estimated residual time of one or more first sharing terminals is equal to the total download consumption of all the first file blocks corresponding to the first file block set corresponding to the third node, a corresponding relation between the address of the first sharing terminal with the maximum estimated residual time and a first sub-hash value corresponding to the third node is established, and the node corresponding to the first sub-hash value is marked as an established download path.
6. The method as recited in claim 1, further comprising:
when the information of the sharing terminal providing the sharing service for the file block corresponding to the node does not exist in the leaf node, and the label corresponding to the leaf node is to be established as the download path, establishing the corresponding relation between the address of the server and the hash value corresponding to the leaf node, and marking the leaf node as the established download path.
7. The method of claim 6, wherein the server is a content distribution network SDN, the content distribution network comprising edge nodes; when there is no information of a shared terminal providing a shared service for a file block corresponding to a leaf node, and when a label corresponding to the leaf node is to be a download path to be established, establishing a corresponding relationship between an address of the server and a hash value corresponding to the leaf node, and labeling the leaf node as an established download path, including:
When the information of the shared terminal providing the shared service for the file block corresponding to the node does not exist in the leaf node, and the mark corresponding to the leaf node is a downloading path to be established, a file downloading request is sent to the server, wherein the file downloading request comprises a hash value corresponding to the leaf node and the address of the current terminal;
the receiving server determines the address of the edge node meeting the requirements based on the hash value corresponding to the leaf node and the address of the current terminal;
and establishing a corresponding relation between the address of the edge node meeting the requirements and the hash value corresponding to the leaf node, and marking the leaf node as an established downloading path.
8. The method of claim 1, wherein the downloading of each file block based on the download path plan comprises:
determining the corresponding relation between one or more groups of hash values/sub hash trees included in the download path planning and the addresses of the sharing terminals;
respectively obtaining file blocks corresponding to the hash value/sub-hash tree from addresses of sharing terminals corresponding to the hash value/sub-hash tree;
when the downloading of a second file block corresponding to a second hash value/sub-hash tree is abnormal, acquiring current state data of the second file block from a server;
Re-determining the address of a third shared terminal corresponding to the second hash value/sub-hash tree based on the current state data of the second file block;
and acquiring the second file block from the address of the third sharing terminal.
9. A block hierarchical transmission device for a file, comprising:
the system comprises an acquisition module, a server and a sharing module, wherein the acquisition module is used for acquiring current state data of a file to be downloaded from the server, the current state data comprises a hash tree and information of a sharing terminal, the hash tree comprises a plurality of nodes, each node is used for storing hash values and information of the sharing terminal for providing sharing service of a file block corresponding to the node, the nodes form n layers, a root node is located at a 1 st layer, the leaf node is located at the n th layer, the k-1 th layer comprises a plurality of first nodes, the k-th layer comprises a plurality of second nodes, each first node and the second nodes have father-son relations, the hash values of the first nodes are hash values of a hash value set of all the corresponding sub nodes, the hash values of the leaf nodes are hash values of the corresponding file blocks, the file to be downloaded is divided into a plurality of file blocks, each file block corresponds to one leaf node, the sharing terminal for providing sharing service of the file block corresponding to the node is the terminal for downloading the file block to be downloaded, the hash values of the shared terminal of the file block to be downloaded are not downloaded, and the shared terminal addresses of the file to be downloaded are not shared by the other terminals are provided for the shared terminals; wherein k and n are natural numbers, and k is any value which is more than or equal to 1 and less than or equal to n;
The determining module is used for determining estimated remaining time of the sharing terminal and estimated time consumption of each file block based on time consumption of downloading each file block by each sharing terminal;
the planning module is used for determining a downloading path plan based on the total estimated time consumption of all file blocks corresponding to each node, the number of the shared terminals and the residual time of the shared terminals, wherein the downloading path plan comprises one or more groups of hash values/sub-hash trees and the corresponding relation of addresses of the shared terminals;
the downloading module is used for downloading each file block based on the downloading path planning and carrying out integrity check based on the hash value in the hash tree;
the determining the download path plan based on the total estimated time consumption of all the file blocks corresponding to each node, the number of the shared terminals and the remaining time of the shared terminals includes: sequentially determining third nodes of the downloading paths to be established, which are included in the current jth level, from small to large based on the n levels until all nodes are marked as established downloading paths, wherein j and n are natural numbers, and j is any value which is greater than or equal to 1 and less than or equal to n; when the information of the sharing terminals providing the sharing service for the file block corresponding to the node exists in the third node, determining estimated remaining time of one or more first sharing terminals recorded by the third node; when the third node is a non-leaf node and the estimated residual time of one or more first sharing terminals is in total consumption of downloading all first file blocks corresponding to a first file block set corresponding to the third node, establishing a corresponding relation between the address of the first sharing terminal with the maximum estimated residual time and a first sub-hash tree corresponding to the third node, wherein the first sub-hash tree comprises hash values of the third node and hash values of all nodes contained in the j+1th level to the nth level;
And marking all nodes corresponding to the first sub-hash tree as established download paths.
CN202311184062.8A 2023-09-13 2023-09-13 Method and device for transmitting files in blocking and grading mode Active CN117081726B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311184062.8A CN117081726B (en) 2023-09-13 2023-09-13 Method and device for transmitting files in blocking and grading mode

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311184062.8A CN117081726B (en) 2023-09-13 2023-09-13 Method and device for transmitting files in blocking and grading mode

Publications (2)

Publication Number Publication Date
CN117081726A CN117081726A (en) 2023-11-17
CN117081726B true CN117081726B (en) 2024-03-19

Family

ID=88719584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311184062.8A Active CN117081726B (en) 2023-09-13 2023-09-13 Method and device for transmitting files in blocking and grading mode

Country Status (1)

Country Link
CN (1) CN117081726B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546731A (en) * 2010-12-30 2012-07-04 中国移动通信集团公司 Subchunk integrity checking method and system of peer-to-peer streaming media system
CN105320899A (en) * 2014-07-22 2016-02-10 北京大学 User-oriented cloud storage data integrity protection method
CN107360156A (en) * 2017-07-10 2017-11-17 广东工业大学 P2P network method for cloud storage based on block chain under a kind of big data environment
CN109586896A (en) * 2018-11-14 2019-04-05 陕西师范大学 A kind of data integrity verification method based on Hash prefix trees
CN109889505A (en) * 2019-01-23 2019-06-14 平安科技(深圳)有限公司 The data property held verification method and terminal device
CN111709058A (en) * 2020-06-09 2020-09-25 陕西师范大学 Data integrity verification method based on identity and ring signature
CN112131609A (en) * 2020-08-27 2020-12-25 国网湖北省电力有限公司电力科学研究院 Merkle tree-based electric energy quality data exchange format file integrity verification method and system
CN113901395A (en) * 2021-12-06 2022-01-07 深圳市名竹科技有限公司 Data processing method, data processing device, computer equipment and storage medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546731A (en) * 2010-12-30 2012-07-04 中国移动通信集团公司 Subchunk integrity checking method and system of peer-to-peer streaming media system
CN105320899A (en) * 2014-07-22 2016-02-10 北京大学 User-oriented cloud storage data integrity protection method
CN107360156A (en) * 2017-07-10 2017-11-17 广东工业大学 P2P network method for cloud storage based on block chain under a kind of big data environment
CN109586896A (en) * 2018-11-14 2019-04-05 陕西师范大学 A kind of data integrity verification method based on Hash prefix trees
CN109889505A (en) * 2019-01-23 2019-06-14 平安科技(深圳)有限公司 The data property held verification method and terminal device
CN111709058A (en) * 2020-06-09 2020-09-25 陕西师范大学 Data integrity verification method based on identity and ring signature
CN112131609A (en) * 2020-08-27 2020-12-25 国网湖北省电力有限公司电力科学研究院 Merkle tree-based electric energy quality data exchange format file integrity verification method and system
CN113901395A (en) * 2021-12-06 2022-01-07 深圳市名竹科技有限公司 Data processing method, data processing device, computer equipment and storage medium

Also Published As

Publication number Publication date
CN117081726A (en) 2023-11-17

Similar Documents

Publication Publication Date Title
CN111163130B (en) Network service system and data transmission method thereof
CN107682397A (en) Customer resources acquisition methods, device, terminal device and storage medium
CN109388417B (en) Communication protocol updating method, system and terminal equipment
CN108429701A (en) network acceleration system
CN109447820B (en) Data processing method, device, computer equipment and storage medium
CN111090581B (en) Intelligent contract testing method, intelligent contract testing device, computer equipment and storage medium
US10594804B2 (en) Directory service discovery and/or learning
CN110659905A (en) Transaction verification method, device, terminal equipment and storage medium
CN113890712A (en) Data transmission method and device, electronic equipment and readable storage medium
WO2017211076A1 (en) Automatic filling method for associated documents
US11557005B2 (en) Addressing propagation of inaccurate information in a social networking environment
CN108228197A (en) A kind of method and apparatus for installing software in the cluster
CN117081726B (en) Method and device for transmitting files in blocking and grading mode
CN113542405A (en) Block chain-based network communication system, method, device and storage medium
CN112311741B (en) Firewall rule management method, device, medium and equipment
CN111951112A (en) Intelligent contract execution method based on block chain, terminal equipment and storage medium
CN108038127A (en) A kind of method, apparatus, terminal device and the storage medium of data synchronization
CN116303250A (en) Accounting archive data management method and device, electronic equipment and medium
CN116361153A (en) Method and device for testing firmware codes, electronic equipment and storage medium
CN115470264A (en) Data auditing method and device, electronic equipment and storage medium
CN114401239A (en) Metadata transmission method and device, computer equipment and storage medium
CN114221883A (en) Message testing method, device, server and storage medium
CN114900459B (en) Route multiplexing method, device, equipment and storage medium
CN114679466B (en) Consensus processing method, device, computer equipment and medium for block chain network
CN115002100B (en) File transmission method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant