A data caching system and method based on blockchain

By adopting a blockchain-based data caching system in mobile networks, the problem of lack of management of content caching and distribution is solved, efficient cache resource management and allocation is achieved, user experience is improved and data security is ensured.

CN115834609BActive Publication Date: 2025-04-15ZHONGBEI UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211418567.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-14
Publication Date
2025-04-15
Estimated Expiration
2042-11-14

AI Technical Summary

Technical Problem

In the prior art, the lack of management of cache and distribution of content in mobile networks leads to inefficiency and poor user experience.

Method used

The blockchain-based data caching system is adopted to realize the management and allocation of cache resources through collaborative work between the blockchain network, the ISP control platform and the CP control platform. The specific steps include the ISP control platform broadcasting cache resource distribution information, the CP control platform obtains legal information to generate cache resource application information, the ISP control platform allocates cache resources and responds to application response information, and designates the cache node to obtain and cache data from the content source server.

Benefits of technology

Through blockchain technology, the transparency, trustworthiness and manageability of cache resources are achieved, and the efficiency and user experience of content caching and distribution are improved, ensuring the security and integrity of data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115834609B_ABST
    Figure CN115834609B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a data cache system and method based on blockchain, which is applied in the field of information technology. The ISP control platform broadcasts its own cache resource distribution information in the blockchain network; the CP control platform obtains legal cache resource distribution information; generates and sends cache resource application information to the ISP control platform that manages the designated cache node; the ISP control platform allocates cache resources of the designated cache node to the CP control platform that sends the cache resource application information, generates and sends cache resource application response information to the CP control platform that sends the cache resource application information; the CP control platform generates data cache information; sends data cache information to the ISP control platform that manages the designated cache node; the ISP control platform sends data acquisition information to the designated cache node; the designated cache node acquires designated data and caches the designated data. The solution of the embodiment of the present application can realize the management of cache and distribution in mobile networks.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of information technology, and in particular to a data caching system and method based on blockchain. Background Art

[0002] At present, in order to cope with the explosive growth of mobile traffic, the industry has proposed edge caching technology. By deploying intelligent high-speed cache on the wireless access network side of the mobile network, popular content is cached in the edge base station closest to the user. When a user makes a content request, if the base station close to the user has the content cached, the content will be directly transmitted to the user, thereby reducing repeated content transmission and improving user experience.

[0003] However, currently, content caching and distribution are generally controlled by ISPs (Internet Service Providers), and content caching and distribution in mobile networks are often poorly managed. Summary of the invention

[0004] The purpose of the embodiment of the present application is to provide a blockchain-based data caching system and method to solve the problem that content caching and distribution in mobile networks are often lacking in management. The specific technical solution is as follows:

[0005] In a first aspect of an embodiment of the present application, a data caching system based on blockchain is provided, the system comprising: a blockchain network, a plurality of content source servers, and a plurality of cache nodes, the blockchain network comprising a plurality of network service provider ISP management and control platforms and a plurality of content provider CP management and control platforms;

[0006] The ISP control platform is used to broadcast its own cache resource distribution information in the blockchain network, wherein, for any ISP control platform, the cache resource distribution information of the ISP control platform includes node information of each cache node controlled by the ISP control platform;

[0007] The CP management and control platform is used to obtain legal cache resource distribution information; generate cache resource application information for requesting cache resources of a designated cache node according to the node information in the legal cache resource distribution information; and send the cache resource application information to the ISP management and control platform that manages the designated cache node;

[0008] The ISP management and control platform is further configured to allocate cache resources of the designated cache node to the CP management and control platform that sent the cache resource application information in response to receiving the cache resource application information, and generate corresponding cache resource application response information; and send the cache resource application response information to the CP management and control platform that sent the cache resource application information;

[0009] The CP management and control platform is further configured to generate data cache information after receiving the cache resource application response information, wherein the data cache information indicates that the designated cache node is required to cache designated data in the designated content source server; and send the data cache information to the ISP management and control platform that manages the designated cache node;

[0010] The ISP management and control platform is further configured to send data acquisition information to the designated cache node in response to receiving the data cache information, wherein the data acquisition information indicates that the designated cache node is instructed to cache designated data in a designated content source server;

[0011] The designated cache node is used to obtain the designated data from the designated content source server in response to receiving the data acquisition information, and cache the designated data.

[0012] Optionally, the CP management and control platform is also used to generate cache resource application confirmation information corresponding to the cache resource application response information after receiving the cache resource application response information; broadcast the cache resource application confirmation information in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the cache resource application confirmation information.

[0013] Optionally, the designated cache node is further configured to obtain, after caching the designated data, a hash value corresponding to the designated data cached by itself to obtain a target hash value; generate a content acquisition response including the target hash value, and send the content acquisition response to the ISP management and control platform corresponding to itself;

[0014] The ISP management and control platform is further configured to send content acquisition confirmation information to the CP management and control platform that sent the data cache information after receiving the content acquisition response, wherein the content acquisition confirmation information includes the target hash value;

[0015] The CP management and control platform is further used to verify whether the designated data cached in the designated cache node is correct according to the target hash value after receiving the content acquisition confirmation information, and if correct, generate content pre-cache confirmation information indicating that the designated cache node has completed caching of the designated data, and broadcast the content pre-cache confirmation information in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the content pre-cache confirmation information;

[0016] The CP management and control platform is further configured to resend the data cache information to the ISP management and control platform that manages the designated cache node if it is verified that the designated data cached in the designated cache node is incorrect.

[0017] Optionally, the ISP management and control platform is specifically used to determine whether the remaining available cache resources of the designated cache node are less than the requested value in response to receiving the cache resource application information, wherein the requested value is the size of the cache resources of the designated cache node requested in the cache resource application information; if not, the cache resources of the designated cache node with the size of the requested value are allocated to the CP management and control platform that sent the cache resource application information; if less than, all the remaining cache resources of the designated cache node are allocated to the CP management and control platform that sent the cache resource application information.

[0018] Optionally, the CP management and control platform is further configured to send a content cache deletion request to the ISP management and control platform that manages the designated cache node when the designated data needs to be deleted, wherein the content cache deletion request includes an identifier of the designated data;

[0019] The ISP management and control platform is further configured to, in response to receiving the content cache deletion request, forward the content cache deletion request to the designated cache node;

[0020] The designated cache node is configured to, in response to receiving the content cache deletion request, delete the content to be deleted according to the identifier of the designated data in the content cache deletion request; generate and send content cache deletion response information to the ISP management and control platform;

[0021] The ISP management and control platform is further configured to generate content cache deletion confirmation information in response to receiving the content cache deletion response information, and send the content cache deletion confirmation information to the CP management and control platform that sent the content cache deletion request;

[0022] The CP management and control platform is also used to generate content cache deletion broadcast information in response to receiving the content cache deletion confirmation information, and broadcast the content cache deletion broadcast information in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the content cache deletion broadcast information.

[0023] Optionally, the ISP control platform is further configured to, after receiving a content request sent by a client, forward the content request to a corresponding CP control platform according to an identifier of the CP control platform in the content request, wherein the content request includes an identifier of the CP control platform, an identifier of the encrypted target data requested by the client, and location information of the client;

[0024] The CP management and control platform is further used to, in response to receiving the content request, decrypt the identifier of the target data in the content request; determine whether there is a cache node that caches the target data within a preset range of the client according to the location information and the identifier of the target data; if there is a cache node that caches the target data within the preset range, obtain the identifiers of all cache nodes that cache the target data within the preset range of the client, and obtain at least one first node identifier; and feed back a link state request including all first node identifiers to the ISP management and control platform;

[0025] The ISP management and control platform is further configured to, in response to receiving the link state request, determine, for each first node identifier in the link state request, a link state between the cache node represented by the first node identifier and the client, and obtain a link state corresponding to the first node identifier; generate link state response information including link states corresponding to all first node identifiers, and feed back the link state response information to the CP management and control platform;

[0026] The CP management and control platform is further configured to, in response to receiving the link status response information, determine a first node identifier with a best link status, and send a first content distribution request to the ISP management and control platform, wherein the first content distribution request includes the first node identifier with a best link status;

[0027] The ISP management and control platform is further used to create a communication connection between a first cache node and the client in response to receiving the first content distribution request, so that the first cache node sends the target data to the client through the created communication connection, wherein the first cache node is the cache node represented by the first node identifier carried in the first content distribution request.

[0028] Optionally, the target data is video data;

[0029] The CP management and control platform is further used to determine whether there is a cache node that caches a higher bit rate version corresponding to the target data within the preset range of the client if there is no cache node that caches the target data within the preset range; if there is a cache node that caches a higher bit rate version corresponding to the target data within the preset range, obtain the identifiers of all cache nodes that cache the higher bit rate version corresponding to the target data within the preset range of the client, and obtain at least one second node identifier; and feed back the link and computing status request including all second node identifiers to the ISP management and control platform;

[0030] The ISP management and control platform is further used to, in response to receiving the link and computing status request, determine, for each second node identifier in the link and computing status request, the link status between the cache node represented by the second node identifier and the client, and determine the available computing resources of the cache node represented by the second node identifier, and obtain the link status and available computing resources corresponding to the second node identifier; generate link and computing status response information including the link status and available computing resources corresponding to all second node identifiers; and feed back the link and computing status response information to the CP management and control platform;

[0031] The CP management and control platform is further configured to, in response to receiving the link and computing status response information, select a second node identifier with the best link status from among the second node identifiers whose computing resources meet the transcoding requirements to obtain a target node identifier; and send a second content distribution request including the target node identifier to the ISP management and control platform;

[0032] The ISP management and control platform is further used to establish a communication connection between a second cache node and the client in response to receiving the second content distribution request, wherein the second cache node is a cache node represented by a target node identifier carried in the second content distribution request;

[0033] The second cache node is used to convert the higher bit rate version corresponding to the target data into the target data, and send the target data to the client based on the communication connection with the client.

[0034] Optionally, the CP control platform is further configured to obtain an identifier of a content source server storing the target data if there is no cache node caching a higher bit rate version corresponding to the target data within a preset range, and obtain an identifier of a target content source server; and send a link establishment request including the identifier of the target content source server to the ISP control platform;

[0035] The ISP management and control platform is further configured to establish a communication connection between the content source server indicated by the target content source server identifier and the client in response to receiving the link establishment request.

[0036] Optionally, the ISP management and control platform is further configured to send content distribution confirmation information to the CP management and control platform in response to receiving content distribution response information sent by the client, wherein the content distribution response information is sent by the client after downloading the target data, the content distribution response information includes a hash value of an encrypted digest of the target data, and the content distribution confirmation information includes a hash value of an encrypted digest of the target data;

[0037] The CP management and control platform is also used to, in response to receiving the content distribution confirmation information, use its own pre-stored private key to decrypt the hash value of the encrypted target data summary to obtain the hash value of the target data summary; verify the hash value of the decrypted target data summary, and when the verification passes, generate content distribution transaction information indicating that the client successfully obtains the target data, broadcast the content distribution transaction information in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the content distribution transaction information; when the verification fails, execute an operation in response to receiving the content request.

[0038] Optionally, the blockchain network is used to select a target network node from each ISP control platform and each CP control platform of the blockchain network at each preset time interval;

[0039] The target network node is used to select a preset number of transactions from its own transaction pool and encapsulate them into a target block; broadcast the target block in the blockchain network so that other nodes in the blockchain network can determine whether the target block is legal, and add the target block to the end of the blockchain when the target block is legal;

[0040] The ISP management and control platform and the CP management and control platform are further used to update their own ISP cache resource distribution information table according to the cache resource distribution information; update their own CP cache resource allocation information table according to the cache resource application confirmation information; update their own content cache status information table according to the content pre-cache confirmation information and the content cache deletion broadcast information; and update their own content distribution information table according to the content distribution transaction information.

[0041] A second aspect of the embodiment of the present application provides a blockchain-based data caching method, which is applied to an ISP management and control platform in a blockchain network, and the method includes:

[0042] Broadcasting its own cache resource distribution information in the blockchain network, wherein, for any ISP control platform, the cache resource distribution information of the ISP control platform includes node information of each cache node controlled by the ISP control platform;

[0043] In response to receiving the cache resource application information, allocating cache resources of the designated cache node to the CP management and control platform that sent the cache resource application information, and generating corresponding cache resource application response information; sending the cache resource application response information to the CP management and control platform that sent the cache resource application information;

[0044] In response to receiving the data caching information, data acquisition information is sent to the designated cache node, so that the designated cache node acquires the designated data from the designated content source server and caches the designated data in response to receiving the data acquisition information, wherein the data acquisition information indicates that the designated cache node is cached in the designated content source server.

[0045] Optionally, the method further includes:

[0046] After receiving the content acquisition response, content acquisition confirmation information is sent to the CP management and control platform that sent the data cache information, wherein the content acquisition confirmation information includes the target hash value.

[0047] Optionally, in response to receiving the cache resource application information, allocating cache resources of the designated cache node to the CP management and control platform that sent the cache resource application information includes:

[0048] In response to receiving the cache resource application information, determine whether the remaining available cache resources of the designated cache node are less than the requested value, wherein the requested value is the size of the cache resources of the designated cache node requested in the cache resource application information; if not, allocate the cache resources of the designated cache node with the requested value size to the CP management and control platform that sent the cache resource application information; if less than, allocate all the remaining available cache resources of the designated cache node to the CP management and control platform that sent the cache resource application information.

[0049] Optionally, the method further includes:

[0050] In response to receiving the content cache deletion request, forwarding the content cache deletion request to the designated cache node;

[0051] In response to receiving the content cache deletion response information, generating content cache deletion confirmation information, and sending the content cache deletion confirmation information to the CP management and control platform that sent the content cache deletion request.

[0052] Optionally, the method further includes:

[0053] After receiving the content request sent by the client, forwarding the content request to the corresponding CP management and control platform according to the identifier of the CP management and control platform in the content request, wherein the content request includes the identifier of the CP management and control platform, the identifier of the encrypted target data requested by the client, and the location information of the client;

[0054] In response to receiving the link status request, for each first node identifier in the link status request, determining the link status between the cache node represented by the first node identifier and the client, and obtaining the link status corresponding to the first node identifier; generating link status response information including the link status corresponding to all the first node identifiers, and feeding back the link status response information to the CP management and control platform;

[0055] In response to receiving the first content distribution request, a communication connection is created between a first cache node and the client, so that the first cache node sends the target data to the client through the created communication connection, wherein the first cache node is the cache node represented by the first node identifier carried in the first content distribution request.

[0056] Optionally, the method further includes:

[0057] In response to receiving the link and computing status request, for each second node identifier in the link and computing status request, determining the link status between the cache node represented by the second node identifier and the client, and determining the available computing resources of the cache node represented by the second node identifier, and obtaining the link status and available computing resources corresponding to the second node identifier; generating link and computing status response information including the link status and available computing resources corresponding to all second node identifiers; and feeding back the link and computing status response information to the CP management and control platform;

[0058] In response to receiving the second content distribution request, a communication connection between a second cache node and the client is established, wherein the second cache node is the cache node represented by the target node identifier carried in the second content distribution request.

[0059] Optionally, the method further includes:

[0060] In response to receiving the link establishment request, a communication connection is established between the content source server indicated by the target content source server identifier and the client.

[0061] Optionally, the method further includes:

[0062] In response to receiving the content distribution response information sent by the client, content distribution confirmation information is sent to the CP management and control platform, wherein the content distribution response information is sent by the client after downloading the target data, the content distribution response information includes the hash value of the encrypted target data digest, and the content distribution confirmation information includes the hash value of the encrypted target data digest.

[0063] Optionally, the method further includes:

[0064] At each preset time interval, a target network node is selected from each ISP management and control platform and each CP management and control platform of the blockchain network, and a preset number of transactions are selected from the target network node's own transaction pool to be packaged into a target block; the target block is broadcasted in the blockchain network so that other nodes in the blockchain network can determine whether the target block is legal, and if the target block is legal, the target block is added to the end of the blockchain;

[0065] Update its own ISP cache resource distribution information table according to the cache resource distribution information; update its own CP cache resource allocation information table according to the cache resource application confirmation information; update its own content cache status information table according to the content pre-cache confirmation information and the content cache deletion broadcast information; update its own content distribution information table according to the content distribution transaction information.

[0066] In a third aspect of the embodiments of the present application, a data caching method based on blockchain is provided, which is applied to a CP management and control platform in a blockchain network; the method comprises:

[0067] Obtaining legal cache resource distribution information; generating cache resource application information for requesting cache resources of a designated cache node according to the node information in the legal cache resource distribution information; and sending the cache resource application information to an ISP management and control platform that manages the designated cache node;

[0068] After receiving the cache resource request response information, data cache information is generated, wherein the data cache information indicates that the designated cache node is to cache the designated data in the designated content source server; the data cache information is sent to the ISP control platform that manages the designated cache node, so that the ISP control platform sends data acquisition information to the designated cache node in response to receiving the data cache information, and the designated cache node acquires the designated data from the designated content source server and caches the designated data in response to receiving the data acquisition information, wherein the data acquisition information indicates that the designated cache node is to cache the designated data in the designated content source server.

[0069] Optionally, the method further includes:

[0070] After receiving the cache resource application response information, generate cache resource application confirmation information corresponding to the cache resource application response information; broadcast the cache resource application confirmation information in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the cache resource application confirmation information.

[0071] Optionally, the method further includes:

[0072] After receiving the content acquisition confirmation information, verify whether the designated data cached in the designated cache node is correct according to the target hash value. If correct, generate content pre-cache confirmation information indicating that the designated cache node has completed caching of the designated data, and broadcast the content pre-cache confirmation information in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the content pre-cache confirmation information.

[0073] Optionally, the method further includes:

[0074] If it is verified that the designated data cached in the designated cache node is incorrect, the data cache information is resent to the ISP management and control platform that manages the designated cache node.

[0075] Optionally, the method further includes:

[0076] In the case where the designated data needs to be deleted, sending a content cache deletion request to the ISP management and control platform that manages the designated cache node, wherein the content cache deletion request includes an identifier of the designated data;

[0077] In response to receiving the content cache deletion confirmation information, generating content cache deletion broadcast information, and broadcasting the content cache deletion broadcast information in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the content cache deletion broadcast information.

[0078] Optionally, the method further includes:

[0079] In response to receiving the content request, decrypting the identifier of the target data requested by the encrypted client, obtaining and judging whether there is a cache node that caches the target data within a preset range of the client based on the location information and the identifier of the target data; if there is a cache node that caches the target data within the preset range, obtaining the identifiers of all cache nodes that cache the target data within the preset range of the client, and obtaining at least one first node identifier; feeding back a link status request including all first node identifiers to the ISP management and control platform;

[0080] In response to receiving the link status response information, determining a first node identifier with the best link status, and sending a first content distribution request to the ISP management and control platform, wherein the first content distribution request includes the first node identifier with the best link status.

[0081] Optionally, the method further includes:

[0082] If there is no cache node that caches the target data within the preset range, determine whether there is a cache node that caches a higher bit rate version corresponding to the target data within the preset range of the client; if there is a cache node that caches a higher bit rate version corresponding to the target data within the preset range, obtain the identifiers of all cache nodes that cache the higher bit rate version corresponding to the target data within the preset range of the client, and obtain at least one second node identifier; feedback the link and calculation status request including all second node identifiers to the ISP management and control platform;

[0083] In response to receiving the link and computing status response information, among the second node identifiers whose available computing resources meet the transcoding requirements, a second node identifier with the best link status is selected to obtain a target node identifier; and a second content distribution request including the target node identifier is sent to the ISP management and control platform.

[0084] Optionally, the method further includes:

[0085] If there is no cache node within the preset range that caches a higher bit rate version corresponding to the target data, obtain the identifier of the content source server that stores the target data to obtain the target content source server identifier; and send a link establishment request including the target content source server identifier to the ISP management and control platform.

[0086] Optionally, the method further includes:

[0087] In response to receiving the content distribution confirmation information, the hash value of the encrypted target data digest is decrypted using its own pre-stored private key to obtain the hash value of the target data digest; the hash value of the decrypted target data digest is verified, and when the verification passes, content distribution transaction information indicating that the client has successfully obtained the target data is generated, and the content distribution transaction information is broadcast in the blockchain network so that other nodes in the blockchain network update their own transaction pools according to the content distribution transaction information; when the verification fails, an operation in response to receiving the content request is executed.

[0088] Optionally, the method further includes:

[0089] At each preset time interval, a target network node is selected from each ISP management and control platform and each CP management and control platform of the blockchain network, and a preset number of transactions are selected from the target network node's own transaction pool to be packaged into a target block; the target block is broadcasted in the blockchain network so that other nodes in the blockchain network can determine whether the target block is legal, and if the target block is legal, the target block is added to the end of the blockchain;

[0090] Update its own ISP cache resource distribution information table according to the cache resource distribution information; update its own CP cache resource allocation information table according to the cache resource application confirmation information; update its own content cache status information table according to the content pre-cache confirmation information and the content cache deletion broadcast information; update its own content distribution information table according to the content distribution transaction information.

[0091] Another aspect of an embodiment of the present application provides an electronic device, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other via the communication bus;

[0092] Memory, used to store computer programs;

[0093] The processor is used to implement any of the above-mentioned blockchain-based data caching methods when executing a program stored in the memory.

[0094] In another aspect of an embodiment of the present application, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, any of the above-mentioned blockchain-based data caching methods is implemented.

[0095] An embodiment of the present application also provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute any of the above-mentioned blockchain-based data caching methods.

[0096] Beneficial effects of the embodiments of the present application:

[0097] The embodiment of the present application provides a data caching system and method based on blockchain, the system comprising: a blockchain network, multiple content source servers, and multiple cache nodes, the blockchain network comprising multiple network service provider ISP management and control platforms and multiple content provider CP management and control platforms; the ISP management and control platform is used to broadcast its own cache resource distribution information in the blockchain network, wherein, for any ISP management and control platform, the cache resource distribution information of the ISP management and control platform includes the node information of each cache node controlled by the ISP management and control platform; the CP management and control platform is used to obtain legal cache resource distribution information; according to the node information in the legal cache resource distribution information, generate cache resource application information for requesting cache resources of a specified cache node; send the cache resource application information to the ISP management and control platform that manages the specified cache node; the ISP management and control platform is also used to send the cache resource application information in response to receiving the cache resource application information. The CP management and control platform that receives the resource application information allocates the cache resources of the designated cache node and generates corresponding cache resource application response information; sends the cache resource application response information to the CP management and control platform that sent the cache resource application information; the CP management and control platform is also used to generate data cache information after receiving the cache resource application response information, wherein the data cache information indicates that the designated cache node is cached with the designated data in the designated content source server; sends the data cache information to the ISP management and control platform that manages the designated cache node; the ISP management and control platform is also used to send data acquisition information to the designated cache node in response to receiving the data cache information, wherein the data acquisition information indicates that the designated cache node is cached with the designated data in the designated content source server; the designated cache node is used to obtain the designated data from the designated content source server and cache the designated data in response to receiving the data acquisition information. Through the solution of the embodiment of the present application, after the CP control platform sends cache resource application information to the ISP control platform, the ISP control platform can allocate cache resources to the corresponding CP control platform and send response information to the CP control platform, so that the CP control platform generates data cache information and sends the data cache information to the ISP control platform, so that the ISP control platform sends data acquisition information to the designated cache node, so that the designated cache node obtains the designated data from the designated content source server and caches it.

[0098] Of course, implementing any product or method of the present application does not necessarily require achieving all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS

[0099] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other embodiments can also be obtained based on these drawings.

[0100] Figure 1 A schematic diagram of a structure of a blockchain-based data caching system provided in an embodiment of the present application;

[0101] Figure 2 An example diagram of a blockchain-based data caching system provided in an embodiment of the present application;

[0102] Figure 3 A flowchart of a blockchain-based data caching method provided in an embodiment of the present application;

[0103] Figure 4 Another flowchart of a blockchain-based data caching method provided in an embodiment of the present application;

[0104] Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application;

[0105] Figure 6 Another schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0106] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field based on the present application belong to the scope of protection of the present application.

[0107] In a first aspect of the embodiments of the present application, a data caching system based on blockchain is provided. Figure 1 The above system includes: a blockchain network 101, multiple content source servers 102, multiple cache nodes 103, and the blockchain network includes multiple Internet service providers ISP (Internet Service Provider) management and control platforms 1011 and multiple content providers CP (Content Provider) management and control platforms 1012;

[0108] The ISP control platform 1011 is used to broadcast its own cache resource distribution information in the blockchain network, wherein, for any ISP control platform, the cache resource distribution information of the ISP control platform includes the node information of each cache node controlled by the ISP control platform;

[0109] The CP management and control platform 1012 is used to obtain legal cache resource distribution information; generate cache resource application information for requesting cache resources of a designated cache node according to the node information in the legal cache resource distribution information; and send the cache resource application information to the ISP management and control platform that manages the designated cache node;

[0110] The ISP management and control platform 1011 is further configured to allocate cache resources of a designated cache node to the CP management and control platform that sent the cache resource application information in response to receiving the cache resource application information, and generate corresponding cache resource application response information; and send the cache resource application response information to the CP management and control platform that sent the cache resource application information;

[0111] The CP management and control platform 1012 is further configured to generate data cache information after receiving the cache resource request response information, wherein the data cache information indicates that the designated cache node is instructed to cache designated data in the designated content source server; and send the data cache information to the ISP management and control platform that manages the designated cache node;

[0112] The ISP management and control platform 1011 is further configured to send data acquisition information to a designated cache node in response to receiving the data cache information, wherein the data acquisition information indicates that the designated cache node is instructed to cache designated data in a designated content source server;

[0113] The designated cache node is used to obtain designated data from the designated content source server in response to receiving the data acquisition information, and cache the designated data.

[0114] The ISP management and control platform in the embodiment of the present application may refer to network operators such as China Mobile, China Unicom, and China Telecom, and the CP management and control platform may refer to operators that operate content resources. Figure 2 Each ISP has an ISP control platform, and each CP has a CP control platform. The information exchange between the ISP and the CP is completed through the ISP control platform and the CP control platform. The ISP control platform and the CP control platform together constitute a blockchain network.

[0115] For an example, see Figure 2 , the content caching process in the embodiment of the present application includes:

[0116] Step 1.1: The ISP control platform broadcasts the "cache resource distribution information" on the blockchain network, which carries: transaction hash value, ISP identification, cache node ID, cache node location information, available cache resources, timestamp, Nonce value, the ISP's public key, and the ISP's digital signature. The transaction hash value is the result calculated using a hash function based on the ISP identification, cache node ID, cache node location information, available cache resources, timestamp, and Nonce value. The calculated transaction hash value must be less than TargetHash1 by continuously adjusting the Nonce value. The ISP identification indicates which ISP control platform published the "cache resource distribution information", and the cache node ID, cache node location information, and available cache resources indicate the distribution of the ISP's cache resources (generally, ISPs will deploy multiple cache nodes in multiple locations).

[0117] Step 1.2: After receiving the "cache resource distribution information", other nodes in the blockchain network need to verify the legitimacy of the transaction. The integrity and authenticity of the transaction are verified based on the digital signature and public key in the transaction. If the verification fails, the transaction will be directly discarded. If the verification passes, it means that the transaction is a legal transaction and it will be added to the transaction pool.

[0118] Step 1.3: The CP management and control platform sends a "cache resource application request" to the corresponding ISP management and control platform, which carries: CP identification, cache node ID, cache node location information, and required cache resources. The cache node ID, cache node location information, and required cache resources indicate the CP's cache requirements.

[0119] Step 1.4: After receiving the "Cache Resource Application Request", the ISP Management and Control Platform checks the "ISP Cache Resource Distribution Information Table". If the available cache resources of the cache node are greater than or equal to the cache resources required by the CP, the cache resources required by it are allocated; if the available cache resources of the cache node are less than the cache resources required by the CP, the cache resources with the largest amount of available resources are allocated. Then, a "Cache Resource Application Response" is sent to the CP Management and Control Platform, which carries: ISP identification, cache node ID, cache node location information, allocated cache resources, the ISP's public key, and the ISP's digital signature. The cache node ID, cache node location information, and allocated cache resources indicate the cache resource information allocated by the ISP to the CP.

[0120] Step 1.5: After receiving the "cache resource application response", the CP management and control platform broadcasts the "cache resource application confirmation information" to the blockchain network, which carries: transaction hash value, CP logo, ISP logo, cache node ID, cache node location information, allocated cache resources, timestamp, Nonce value, the ISP's public key, the ISP's digital signature, the CP's public key, and the CP's digital signature. The transaction hash value is the result calculated using a hash function based on the CP logo, ISP logo, cache node ID, cache node location information, allocated cache resources, timestamp, and Nonce value. The calculated transaction hash value must be less than TargetHash2 by continuously adjusting the Nonce value.

[0121] Step 1.6: After receiving the "caching resource application confirmation information", other nodes of the blockchain network need to verify the legitimacy of the transaction. First, verify the integrity and authenticity of the transaction based on the digital signature and public key in the transaction, and then check the "ISP cache resource distribution information table". If the available cache resources of the corresponding cache node are less than the allocated cache resources, the transaction will be directly discarded. If the available cache resources of the corresponding cache node are greater than or equal to the allocated cache resources, it means that the transaction is a legal transaction and it will be added to the transaction pool.

[0122] It can be seen that through the system of the embodiment of the present application, after the CP control platform sends cache resource application information to the ISP control platform, the ISP control platform can allocate cache resources to the corresponding CP control platform and send response information to the CP control platform, so that the CP control platform generates data cache information and sends the data cache information to the ISP control platform, so that the ISP control platform sends data acquisition information to the designated cache node, so that the designated cache node obtains the designated data from the designated content source server and caches it.

[0123] Optionally, the CP management and control platform 1012 is also used to generate cache resource application confirmation information corresponding to the cache resource application response information after receiving the cache resource application response information; broadcast the cache resource application confirmation information in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the cache resource application confirmation information.

[0124] Optionally, the designated cache node is further used to obtain the hash value corresponding to the designated data cached by itself after caching the designated data, and obtain the target hash value; generate a content acquisition response including the target hash value, and send the content acquisition response to the ISP control platform corresponding to itself;

[0125] The ISP management and control platform 1011 is further configured to send content acquisition confirmation information to the CP management and control platform that sent the data cache information after receiving the content acquisition response, wherein the content acquisition confirmation information includes a target hash value;

[0126] The CP management and control platform 1012 is also used to verify whether the specified data cached in the specified cache node is correct according to the target hash value after receiving the content acquisition confirmation information. If it is correct, it generates content pre-cache confirmation information indicating that the specified cache node has completed the caching of the specified data, and broadcasts the content pre-cache confirmation information in the blockchain network, so that other nodes in the blockchain network can update their own transaction pools according to the content pre-cache confirmation information.

[0127] Optionally, the CP management and control platform 1012 is further configured to resend data cache information to the ISP management and control platform that manages the designated cache node if it is verified that the designated data cached in the designated cache node is incorrect.

[0128] Optionally, the ISP management and control platform 1011 is specifically used to determine whether the remaining available cache resources of the designated cache node are less than the requested value in response to receiving the cache resource application information, wherein the requested value is the size of the cache resources of the designated cache node requested in the cache resource application information; if not, the cache resources of the requested value size in the designated cache node are allocated to the CP management and control platform that sent the cache resource application information; if less than, all the remaining available cache resources of the designated cache node are allocated to the CP management and control platform that sent the cache resource application information.

[0129] In one example, the CP management and control platform can determine which versions of content are most popular with users in different locations based on the content distribution information table and using a preset algorithm, and cache the most popular content in cache nodes at different locations in advance. Specifically, after step 1.6, the following may also be included:

[0130] Step 1.7: The CP control platform sends a "content pre-caching request" to the ISP control platform, which carries: CP identification, cache node ID, content URI, bitrate version, source server address. (For example, the CP caches the bitrate version (numbered 3) of "Movie ***" in cache node 1)

[0131] Step 1.8: The ISP control platform sends a "content acquisition request" to the corresponding cache node (cache node 1) based on the received "content pre-cache request", which carries: content URI (movie ***), bit rate version (3), and source server address.

[0132] Step 1.9: Cache node 1 obtains the bitrate version (3) of "Movie ***" from the source server based on the "content acquisition request".

[0133] Step 1.10: After the content is acquired, cache node 1 sends a "content acquisition response" to the ISP management platform, which carries: cache node ID, content URI, bitrate version, hash value of content summary, and content acquisition completion identifier. The content acquisition completion identifier is 1, indicating that the content is acquired, and 0, indicating that the acquisition is not completed.

[0134] Step 1.11: The ISP control platform sends a "Content Acquisition Confirmation" to the CP control platform, which carries: ISP ID, cache node ID, content URI, bitrate version, hash value of content summary, content acquisition completion identifier, the ISP's public key, and the ISP's digital signature.

[0135] Step 1.12: After receiving the "Content Acquisition Confirmation", the CP Management and Control Platform verifies the content summary hash value carried in it. If the value is wrong, it means that the content has gone wrong during the transmission process, and steps 1.7 to 1.11 need to be re-executed; if the value is correct, it indicates that the ISP has correctly cached the content. After that, the CP Management and Control Platform broadcasts the "Content Pre-cache Confirmation Information" to the blockchain network, which carries: transaction hash value, CP logo, ISP logo, cache node ID, content URI, code rate version, timestamp, Nonce value, the ISP's public key, the ISP's digital signature, the CP's public key, and the CP's digital signature. The transaction hash value is the result calculated using a hash function based on the CP logo, ISP logo, cache node ID, content URI, code rate version, timestamp, and Nonce value. The calculated transaction hash value must be less than TargetHash3 by continuously adjusting the Nonce value.

[0136] Step 1.13: After receiving the "Content Pre-cache Confirmation Information", other nodes in the blockchain network need to verify the legitimacy of the transaction. The integrity and authenticity of the transaction are verified based on the digital signature and public key in the transaction. If the verification fails, the transaction will be directly discarded. If the verification passes, it means that the transaction is a legal transaction and it will be added to the transaction pool.

[0137] Optionally, the CP management and control platform 1012 is further configured to send a content cache deletion request to the ISP management and control platform that manages the specified cache node when the specified data needs to be deleted, wherein the content cache deletion request includes an identifier of the specified data;

[0138] The ISP management and control platform 1011 is further configured to, in response to receiving a content cache deletion request, forward the content cache deletion request to a designated cache node;

[0139] The designated cache node is used to respond to receiving the content cache deletion request and delete the content to be deleted according to the identifier of the specified data in the content cache deletion request; generate and send content cache deletion response information to the ISP management and control platform;

[0140] The ISP management and control platform 1011 is further configured to generate content cache deletion confirmation information in response to receiving the content cache deletion response information, and send the content cache deletion confirmation information to the CP management and control platform that sent the content cache deletion request;

[0141] The CP management and control platform 1012 is also used to generate content cache deletion broadcast information in response to receiving content cache deletion confirmation information, and broadcast the content cache deletion broadcast information in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the content cache deletion broadcast information.

[0142] In an example, if the CP management platform determines that a certain bitrate version of a certain content is no longer popular with users, it needs to be deleted from the cache space. The specific steps include:

[0143] Step 2.1: The CP management and control platform sends a "content cache deletion request" to the ISP management and control platform, which carries: CP identifier, cache node ID, content URI, and bitrate version.

[0144] Step 2.2: The ISP control platform forwards the "content cache deletion request" to the corresponding cache node.

[0145] Step 2.3: The cache node deletes the bitrate version of the corresponding content from the cache space according to the "content cache deletion request". After the content is deleted, the cache node sends a "content cache deletion response" to the ISP management and control platform, which carries: cache node ID, CP identifier, content URI, bitrate version, content cache deletion completion identifier. The content cache deletion completion identifier is 1, indicating that the content deletion is completed, and 0, indicating that the deletion is not completed.

[0146] Step 2.4: The ISP control platform sends a "Content Cache Deletion Confirmation" to the CP control platform, which carries: ISP ID, CP ID, cache node ID, content URI, bitrate version, content cache deletion completion identifier, the ISP's public key, and the ISP's digital signature.

[0147] Step 2.5: After receiving the "Content Cache Deletion Confirmation", the CP management platform broadcasts the "Content Cache Deletion Confirmation Information" to the blockchain network, which carries: transaction hash value, ISP ID, CP ID, cache node ID, content URI, code rate version, timestamp, Nonce value, the ISP's public key, the ISP's digital signature, the CP's public key, and the CP's digital signature. The transaction hash value is the result calculated using the hash function based on the ISP ID, CP ID, cache node ID, content URI, code rate version, timestamp, and Nonce value. The Nonce value must be continuously adjusted to make the calculated transaction hash value less than TargetHash4.

[0148] Step 2.6: After receiving the "Content Cache Deletion Confirmation Information", other nodes in the blockchain network need to verify the legitimacy of the transaction. The integrity and authenticity of the transaction are verified based on the digital signature and public key in the transaction. If the verification fails, the transaction will be directly discarded. If the verification passes, it means that the transaction is a legal transaction and it will be added to the transaction pool.

[0149] In an example, if the CP management platform determines that a certain bitrate version of a certain content is about to become popular, it needs to be added to the cache space. The specific steps include:

[0150] Step 2.7: The CP management and control platform sends a "content cache increase request" to the ISP management and control platform, which carries: CP identifier, cache node ID, content URI, bitrate version, and source server address.

[0151] Repeat steps 1.8 to 1.13.

[0152] Optionally, the ISP control platform 1011 is further configured to forward the content request to a corresponding CP control platform according to the identifier of the CP control platform in the content request after receiving the content request sent by the client, wherein the content request includes the identifier of the CP control platform, the identifier of the encrypted target data requested by the client, and the location information of the client;

[0153] The CP management and control platform 1012 is further configured to, in response to receiving a content request, decrypt the identifier of the target data in the content request; determine whether there is a cache node that caches the target data within a preset range of the client according to the location information and the identifier of the target data; if there is a cache node that caches the target data within the preset range, obtain the identifiers of all cache nodes that cache the target data within the preset range of the client, and obtain at least one first node identifier; and feed back a link state request including all first node identifiers to the ISP management and control platform;

[0154] The ISP management and control platform 1011 is further configured to, in response to receiving a link state request, determine, for each first node identifier in the link state request, a link state between a cache node represented by the first node identifier and a client, and obtain a link state corresponding to the first node identifier; generate link state response information including link states corresponding to all first node identifiers, and feed back the link state response information to the CP management and control platform;

[0155] The CP management and control platform 1012 is further configured to determine the first node identifier with the best link status in response to receiving the link status response information, and send a first content distribution request to the ISP management and control platform, wherein the first content distribution request includes the first node identifier with the best link status;

[0156] The ISP management and control platform 1011 is also used to create a communication connection between the first cache node and the client in response to receiving the first content distribution request, so that the first cache node sends target data to the client through the created communication connection, wherein the first cache node is the cache node represented by the first node identifier carried in the first content distribution request.

[0157] Optionally, the target data is video data;

[0158] The CP management and control platform 1012 is further configured to determine whether there is a cache node that caches a higher bit rate version corresponding to the target data within the preset range of the client if there is no cache node that caches the target data within the preset range; if there is a cache node that caches a higher bit rate version corresponding to the target data within the preset range, obtain the identifiers of all cache nodes that cache the higher bit rate version corresponding to the target data within the preset range of the client, and obtain at least one second node identifier; and feed back the link and computing status request including all second node identifiers to the ISP management and control platform;

[0159] The ISP management and control platform 1011 is further used to, in response to receiving the link and computing status request, determine, for each second node identifier in the link and computing status request, the link status between the cache node represented by the second node identifier and the client, and determine the available computing resources of the cache node represented by the second node identifier, and obtain the link status and available computing resources corresponding to the second node identifier; generate link and computing status response information including the link status and available computing resources corresponding to all second node identifiers; and feed back the link and computing status response information to the CP management and control platform;

[0160] The CP management and control platform 1012 is further configured to, in response to receiving the link and computing status response information, select the second node identifier with the best link status from the second node identifiers whose available computing resources meet the transcoding requirements to obtain the target node identifier; and send a second content distribution request including the target node identifier to the ISP management and control platform.

[0161] The ISP management and control platform 1011 is further configured to, in response to receiving a second content distribution request, establish a communication connection between a second cache node and a client, wherein the second cache node is a cache node represented by a target node identifier carried in the second content distribution request;

[0162] The second cache node is used to convert the higher bit rate version corresponding to the target data into the target data, and send the target data to the client based on the communication connection with the client.

[0163] Optionally, the CP management and control platform 1012 is further configured to obtain an identifier of a content source server storing the target data if there is no cache node caching a higher bit rate version corresponding to the target data within a preset range, and obtain an identifier of a target content source server; and send a link establishment request including the identifier of the target content source server to the ISP management and control platform;

[0164] The ISP management and control platform 1011 is further configured to establish a communication connection between the content source server indicated by the target content source server identifier and the client in response to receiving a link establishment request.

[0165] Optionally, the ISP management and control platform 1011 is further configured to send content distribution confirmation information to the CP management and control platform in response to receiving content distribution response information sent by the client, wherein the content distribution response information is sent by the client after downloading the target data, the content distribution response information includes a hash value of the encrypted target data digest, and the content distribution confirmation information includes a hash value of the encrypted target data digest;

[0166] The CP management and control platform 1012 is also used to, in response to receiving content distribution confirmation information, decrypt the hash value of the encrypted target data summary using its own pre-stored private key to obtain the hash value of the target data summary; verify the hash value of the decrypted target data summary, and when the verification passes, generate content distribution transaction information indicating that the client successfully obtains the target data, broadcast the content distribution transaction information in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the content distribution transaction information; when the verification fails, execute operations in response to receiving the content request.

[0167] In an example, a user may send a content request through a UE (User Equipment), and the specific steps include:

[0168] Step 3.1: UE sends a "content request" that carries the UE ID (Identity Document), UE location information, encrypted content URI (Uniform Resource Identifier), bitrate version, and CP identifier. Encrypted content URI means that the UE encrypts the content URI with the public key of the corresponding CP to ensure that only the corresponding CP can know the content URI requested by the UE. For example, if the content requested by the user belongs to CP1, the content URI is encrypted with the public key of CP1.

[0169] Step 3.2: The ISP management and control platform forwards the UE's "content request" to the corresponding CP management and control platform.

[0170] Step 3.3: After receiving the "content request", the CP management and control platform first uses its own private key to decrypt the content URI, and then checks the "content cache status information table" based on the UE's location, content URI, bit rate version and other information.

[0171] In one case, when a cache node has cached the bitrate version of the requested content within a certain range near the UE, steps 3.4 to 3.8 and steps 3.17 to 3.20 may be performed.

[0172] Step 3.4: The CP management and control platform sends a "link status request" to the ISP management and control platform, which carries: CP identifier, UEID, cache node ID. The cache node ID here refers to the ID of the cache node that has cached the bitrate version of the requested content.

[0173] Step 3.5: The ISP control platform sorts the cache nodes in the "link status request" according to the link status between the UE and the cache node, and puts the cache nodes with good link status in front. Then the ISP control platform sends a "link status response" to the CP control platform, which carries: ISP ID, UE ID, and sorted cache node ID.

[0174] Step 3.6: After receiving the "link status response", the CP control platform selects the cache node with the best link status (i.e. the cache node ranked first) and sends a "content distribution request" to the ISP control platform, which carries: CP identifier, UE ID, cache node ID, content URI, bitrate version. The cache node ID here refers to the ID of the cache node with the best link status.

[0175] Step 3.7: After receiving the "content distribution request" sent by the CP control platform, the ISP control platform establishes a data plane connection between the corresponding UE and the cache node, and then forwards the "content distribution request" to the corresponding cache node.

[0176] Step 3.8: The cache node sends the bitrate version of the requested content to the UE.

[0177] In another case, when no cache node within a certain range near the UE has cached the bitrate version of the requested content, but a cache node has cached a higher bitrate version of the requested content, steps 3.9-3.13 and steps 3.17-3.20 may be executed.

[0178] Step 3.9: The CP control platform sends a "link and computing status request" to the ISP control platform, which carries: CP ID, UE ID, cache node ID, and computing resources required for content transcoding. The cache node ID here refers to the ID of the cache node that has cached a higher bitrate version of the requested content. Because different cache nodes may cache different bitrate versions, the computing resources required for content transcoding may also be different for different cache nodes.

[0179] Step 3.10: The ISP control platform sorts the cache nodes in the "Link and Computing Status Request" according to the link status between the UE and the cache node and the computing resources available at the cache node, and puts the cache nodes with good link status and computing resources required for transcoding in front. Then the ISP control platform sends a "Link and Computing Status Response" to the CP control platform, which carries: ISP ID, UE ID, and sorted cache node ID.

[0180] Step 3.11: After receiving the "Link and Computing Status Response", the CP management and control platform selects the cache node with the best link status and the computing resources required for transcoding (i.e. the cache node ranked first), and sends a "Content Distribution Request" to the ISP management and control platform, which carries: CP ID, UE ID, cache node ID, content URI, bitrate version. The cache node ID here refers to the ID of the cache node with the best link status and the computing resources required for transcoding.

[0181] Step 3.12: After receiving the "content distribution request" sent by the CP control platform, the ISP control platform establishes a data plane connection between the corresponding UE and the cache node, and then forwards the "content distribution request" to the corresponding cache node.

[0182] Step 3.13: The cache node transcodes the cached high-bitrate version of the content into a low-bitrate version of the content in real time, and sends the bitrate version of the requested content to the UE.

[0183] In another case, when no cache node has cached the bitrate version of the requested content, and no cache node has cached a higher bitrate version of the requested content within a certain range near the UE, steps 3.14-3.16 and steps 3.17-3.20 may be executed.

[0184] Step 3.14: The CP control platform sends a "link establishment request" to the ISP control platform, which carries: CP identifier, UEID, and source server address.

[0185] Step 3.15: The ISP control platform establishes a data plane connection between the corresponding UE and the source server. After the connection is established, it sends a "link establishment response" to the CP control platform, which carries: ISP ID, UE ID, source server address, and link establishment completion identifier. The link establishment completion identifier is 1, indicating that the link establishment is complete, and 0, indicating that the link establishment is not complete.

[0186] Step 3.16: The content source server sends the bitrate version of the requested content to the UE via the established data plane link.

[0187] For the above three situations, continue to execute steps 3.17 to 3.20.

[0188] Step 3.17: After the content distribution is completed, the UE sends a "content distribution response" to the ISP management and control platform, which carries: CP identification, UE ID, content URI, bit rate version, encrypted content summary hash value, the UE's public key, and the UE's digital signature. Here, "encrypted content summary hash value" means that the UE first performs a hash operation on the received content summary to obtain a hash value, and then encrypts the hash value with the corresponding CP's public key.

[0189] Step 3.18: After receiving the "Content Distribution Response" sent by the user, the ISP management and control platform sends a "Content Distribution Confirmation" to the CP management and control platform, which carries: CP ID, ISP ID, UE ID, cache node ID, content URI, bit rate version, hash value of the encrypted content summary, the UE's public key, the UE's digital signature, the ISP's public key, and the ISP's digital signature. The cache node ID here refers to the ID of the cache node that sent the content to the UE in step 3.8 or step 3.13. If it is the third case, the cache node ID is NULL.

[0190] Step 3.19: After receiving the "Content Distribution Confirmation", the CP management platform first uses its own private key to decrypt the content summary hash value, and then verifies the content summary hash value. If the value is wrong, it means that the content received by the UE is incorrect, and it is necessary to re-execute steps 3.6 to 3.8, 3.11 to 3.13, and 3.16 to 3.18; if the value is correct, it means that the content received by the UE is correct. Then the CP management platform broadcasts the "Content Distribution Confirmation Information" to the blockchain network, which carries: transaction hash value, CP identifier, ISP identifier, UE ID, cache node ID, content URI, code rate version, timestamp, Nonce value, the public key of the UE, the digital signature of the UE, the public key of the ISP, the digital signature of the ISP, the public key of the CP, and the digital signature of the CP. The transaction hash value is the result calculated by the hash function based on the CP identifier, ISP identifier, UE ID, cache node ID, content URI, code rate version, timestamp, and Nonce value. The calculated transaction hash value should be less than TargetHash5 by continuously adjusting the Nonce value.

[0191] Step 3.20: After receiving the "Content Distribution Confirmation Information", other nodes in the blockchain network need to verify the legitimacy of the transaction. The integrity and authenticity of the transaction are verified based on the digital signature and public key in the transaction. If the verification fails, the transaction will be directly discarded. If the verification passes, it means that the transaction is a legal transaction and it will be added to the transaction pool.

[0192] Optionally, the blockchain network is used to select a target network node from each ISP control platform and each CP control platform of the blockchain network at each preset time interval;

[0193] The target network node is used to select a preset number of transactions from its own transaction pool and encapsulate them into a target block; broadcast the target block in the blockchain network so that other nodes in the blockchain network can determine whether the target block is legal, and add the target block to the end of the blockchain if the target block is legal;

[0194] The ISP management and control platform and the CP management and control platform are also used to update their own ISP cache resource distribution information table according to the cache resource distribution information; update their own CP cache resource allocation information table according to the cache resource application confirmation information; update their own content cache status information table according to the content pre-cache confirmation information and the content cache deletion broadcast information; and update their own content distribution information table according to the content distribution transaction information.

[0195] Specifically, the nodes of the blockchain network in the embodiment of the present application are composed of a CP management and control platform and an ISP management and control platform, and the transactions of the blockchain network include "cache resource distribution information", "cache resource application confirmation information", "content pre-cache confirmation information", "content cache deletion confirmation information", and "content distribution confirmation information". The nodes in the blockchain network can also reach a consensus on the resources in the blockchain network, including:

[0196] Step 4.1: Every period T, a blockchain network node will take a certain number of transactions from the transaction pool and encapsulate them into a block, and broadcast them to other nodes in the blockchain network. Each block contains a block header and a block body. The block body consists of multiple transactions. The transactions in the block body are stored in a Merkle tree structure. The root of the Merkle tree is recorded in the block header as a summary of all transactions in the block, which is convenient for verifying and finding transactions. In addition to the Merkle tree root, the block header also contains the block number, timestamp, number of transactions, hash value of the parent block, and hash value of the current block. The number of the genesis block is 0, and its number increases by 1 for each subsequent block; the timestamp records the generation time of the block; the number of transactions refers to the number of transactions contained in the block body of the block; the hash value of the parent block is used to form a chain structure; the hash value of the current block is calculated using a hash function based on the block number, timestamp, number of transactions, hash value of the parent block, Merkle tree root and other information in the block header.

[0197] Step 4.2: After receiving the block, other nodes will use a consensus algorithm (PoS, DPoS, PBFT, etc.) to reach a consensus on the legitimacy of the block. If the block is legal, it will be added to the end of the blockchain; if the block is illegal, it will be discarded.

[0198] Step 4.3: When a legal block is added to the blockchain, all blockchain network nodes will update the "ISP cache resource distribution information table", "CP cache resource allocation information table", "content cache status information table", and "content distribution information table" according to the transactions in the block. "Cache resource distribution information" is used to update the "ISP cache resource distribution information table", "cache resource application confirmation information" is used to update the "CP cache resource allocation information table", "content pre-cache confirmation information" and "content cache deletion confirmation information" are used to update the "content cache status information table", and "content distribution confirmation information" is used to update the "content distribution information table". Among them, the "ISP cache resource distribution information table" contains ISP identification, cache node ID, cache node location information, available cache resources, and timestamp; the "CP cache resource allocation information table" contains CP identification, ISP identification, cache node ID, cache node location information, allocated cache resources, and timestamp; the "content cache status information table" contains CP identification, ISP identification, cache node ID, content URI, bit rate version, and timestamp; the "content distribution information table" contains CP identification, ISP identification, UE ID, cache node ID, content URI, bit rate version, and distribution times.

[0199] Specifically, the steps for updating the above information table include:

[0200] (1) If the transaction is "cache resource distribution information", then update the "ISP cache resource distribution information table". If there is an entry about the cache node of the corresponding ISP in the "ISP cache resource distribution information table", when the timestamp in the "cache resource distribution information" is greater than the timestamp of the existing entry (the information in the "cache resource distribution information" is the latest), update the available cache resources, timestamp and other information of the cache node of the corresponding ISP; when the timestamp in the "cache resource distribution information" is less than or equal to the timestamp of the existing entry (the information in the "cache resource distribution information" is older), do not update. If there is no entry about the cache node of the corresponding ISP in the "ISP cache resource distribution information table", add the corresponding ISP identification, cache node ID, cache node location information, available cache resources, timestamp and other information.

[0201] (2) If the transaction is "cache resource application confirmation information", then update the "CP cache resource allocation information table". If there are entries about the corresponding CP and cache node in the "CP cache resource allocation information table", when the timestamp in the "cache resource application confirmation information" is greater than the timestamp of the existing entry (the information in the "cache resource application confirmation information" is the latest), update the cache resources, timestamp and other information allocated by the corresponding CP in the corresponding cache node; when the timestamp in the "cache resource application confirmation information" is less than or equal to the timestamp of the existing entry (the information in the "cache resource application confirmation information" is older), do not update. If there are no entries about the corresponding CP and cache node in the "CP cache resource allocation information table", add the corresponding CP ID, ISP ID, cache node ID, cache node location information, allocated cache resources, timestamp and other information.

[0202] (3) If the transaction is "content pre-cache confirmation information", the CP identifier, ISP identifier, cache node ID, content URI, bitrate version, timestamp and other information are added to the "content cache status information table".

[0203] (4) If the transaction is "Content Cache Deletion Confirmation Information", the corresponding entry in the "Content Cache Status Information Table" is deleted according to the ISP ID, CP ID, cache node ID, content URI, bitrate version and other information therein.

[0204] (5) If the transaction is "content distribution confirmation information", the "distribution times" information in the "content distribution information table" is updated according to the CP identifier, ISP identifier, UE ID, cache node ID, content URI, bit rate version and other information (i.e., the distribution times is increased by 1 for each distribution); if the "content distribution information table" does not contain entries corresponding to the CP identifier, ISP identifier, UE ID, cache node ID, content URI, bit rate version and other information, then the corresponding CP identifier, ISP identifier, UE ID, cache node ID, content URI, bit rate version, distribution times and other information are added to the "content distribution information table" according to the "content distribution confirmation information".

[0205] In a second aspect of the embodiment of the present application, a data caching method based on blockchain is provided, which is applied to a network service provider ISP management and control platform in a blockchain-based data caching system, wherein the blockchain-based data caching system comprises: a blockchain network, multiple content source servers, and multiple cache nodes, wherein the blockchain network comprises multiple ISP management and control platforms and multiple content provider CP management and control platforms;

[0206] See also Figure 3 , the above method comprises:

[0207] Step S31, broadcasting its own cache resource distribution information in the blockchain network, wherein, for any ISP control platform, the cache resource distribution information of the ISP control platform includes the node information of each cache node controlled by the ISP control platform;

[0208] Step S32, in response to receiving the cache resource application information, allocating cache resources of the designated cache node to the CP management and control platform that sent the cache resource application information, and generating corresponding cache resource application response information; sending the cache resource application response information to the CP management and control platform that sent the cache resource application information;

[0209] Step S33, in response to receiving the data caching information, sending data acquisition information to the designated cache node, so that the designated cache node, in response to receiving the data acquisition information, acquires the designated data from the designated content source server and caches the designated data, wherein the data acquisition information indicates that the designated cache node is to cache the designated data in the designated content source server.

[0210] Optionally, the above method further includes:

[0211] After receiving the content acquisition response, content acquisition confirmation information is sent to the CP management and control platform that sent the data cache information, wherein the content acquisition confirmation information includes the target hash value.

[0212] Optionally, in response to receiving the cache resource application information, allocating cache resources of a designated cache node to the CP management and control platform that sends the cache resource application information includes:

[0213] In response to receiving the cache resource application information, it is determined whether the remaining available cache resources of the designated cache node are less than the requested value, wherein the requested value is the size of the cache resources of the designated cache node requested in the cache resource application information; if not, the cache resources of the size of the requested value in the designated cache node are allocated to the CP management and control platform that sent the cache resource application information; if less than, all the remaining available cache resources of the designated cache node are allocated to the CP management and control platform that sent the cache resource application information.

[0214] Optionally, the above method further includes:

[0215] In response to receiving the content cache deletion request, forwarding the content cache deletion request to a designated cache node;

[0216] In response to receiving the content cache deletion response information, content cache deletion confirmation information is generated, and the content cache deletion confirmation information is sent to the CP management and control platform that sent the content cache deletion request.

[0217] Optionally, the above method further includes:

[0218] After receiving the content request sent by the client, forward the content request to the corresponding CP management and control platform according to the identifier of the CP management and control platform in the content request, wherein the content request includes the identifier of the CP management and control platform, the identifier of the encrypted target data requested by the client, and the location information of the client;

[0219] In response to receiving the link status request, for each first node identifier in the link status request, determine the link status between the cache node represented by the first node identifier and the client, and obtain the link status corresponding to the first node identifier; generate link status response information including the link status corresponding to all the first node identifiers, and feed back the link status response information to the CP management and control platform;

[0220] In response to receiving the first content distribution request, a communication connection is created between the first cache node and the client, so that the first cache node sends target data to the client through the created communication connection, wherein the first cache node is the cache node represented by the first node identifier carried in the first content distribution request.

[0221] Optionally, the above method further includes:

[0222] In response to receiving the link and computing status request, for each second node identifier in the link and computing status request, determine the link status between the cache node represented by the second node identifier and the client, and determine the available computing resources of the cache node represented by the second node identifier, and obtain the link status and available computing resources corresponding to the second node identifier; generate link and computing status response information including the link status and available computing resources corresponding to all second node identifiers; and feed back the link and computing status response information to the CP management and control platform;

[0223] In response to receiving the second content distribution request, a communication connection between the second cache node and the client is established, wherein the second cache node is the cache node indicated by the target node identifier carried in the second content distribution request.

[0224] Optionally, the above method further includes:

[0225] In response to receiving the link establishment request, a communication connection is established between the content source server indicated by the target content source server identifier and the client.

[0226] Optionally, the above method further includes:

[0227] In response to receiving the content distribution response information sent by the client, content distribution confirmation information is sent to the CP management and control platform, wherein the content distribution response information is sent by the client after downloading the target data, and the content distribution response information includes the hash value of the encrypted target data digest, and the content distribution confirmation information includes the hash value of the encrypted target data digest.

[0228] Optionally, the above method further includes:

[0229] At each preset time interval, a target network node is selected from each ISP control platform and each CP control platform of the blockchain network, and a preset number of transactions are selected from the target network node’s own transaction pool to be encapsulated into a target block; the target block is broadcasted in the blockchain network so that other nodes in the blockchain network can determine whether the target block is legal, and if the target block is legal, the target block is added to the end of the blockchain;

[0230] Update its own ISP cache resource distribution information table according to the cache resource distribution information; update its own CP cache resource allocation information table according to the cache resource application confirmation information; update its own content cache status information table according to the content pre-cache confirmation information and content cache deletion broadcast information; update its own content distribution information table according to the content distribution transaction information.

[0231] Through the method of the embodiment of the present application, cache resources can be allocated to the corresponding CP management and control platform, and response information can be sent to the CP management and control platform, so that the CP management and control platform generates data cache information and sends the data cache information to the ISP management and control platform, thereby sending data acquisition information to the designated cache node, so that the designated cache node can obtain the designated data from the designated content source server and cache it.

[0232] In a third aspect of the embodiment of the present application, a data caching method based on blockchain is provided, which is applied to a content provider CP management and control platform in a data caching system based on blockchain, wherein the data caching system based on blockchain includes: a blockchain network, multiple content source servers, and multiple cache nodes, and the blockchain network includes multiple network service provider ISP management and control platforms and multiple CP management and control platforms;

[0233] See also Figure 4 , the above method comprises:

[0234] Step S41, obtaining legal cache resource distribution information; generating cache resource application information for requesting cache resources of a designated cache node according to the node information in the legal cache resource distribution information; and sending the cache resource application information to an ISP management and control platform that manages the designated cache node;

[0235] Step S42, after receiving the cache resource request response information, generate data cache information, wherein the data cache information indicates that the designated cache node is ordered to cache the designated data in the designated content source server; send the data cache information to the ISP control platform that manages the designated cache node, so that the ISP control platform responds to receiving the data cache information and sends data acquisition information to the designated cache node, and the designated cache node responds to receiving the data acquisition information and acquires the designated data from the designated content source server and caches the designated data, wherein the data acquisition information indicates that the designated cache node is ordered to cache the designated data in the designated content source server.

[0236] Optionally, the above method further includes:

[0237] After receiving the cache resource application response information, generate cache resource application confirmation information corresponding to the cache resource application response information; broadcast the cache resource application confirmation information in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the cache resource application confirmation information.

[0238] Optionally, the above method further includes:

[0239] After receiving the content acquisition confirmation information, the specified data cached in the specified cache node is verified to be correct according to the target hash value. If correct, content pre-cache confirmation information is generated to indicate that the specified cache node has completed caching the specified data, and the content pre-cache confirmation information is broadcast in the blockchain network, so that other nodes in the blockchain network can update their own transaction pools according to the content pre-cache confirmation information.

[0240] Optionally, the above method further includes:

[0241] If it is verified that the specified data cached in the specified cache node is incorrect, the data cache information is resent to the ISP control platform that manages the specified cache node.

[0242] Optionally, the above method further includes:

[0243] When the specified data needs to be deleted, a content cache deletion request is sent to the ISP management and control platform that manages the specified cache node, wherein the content cache deletion request includes an identifier of the specified data;

[0244] In response to receiving the content cache deletion confirmation information, content cache deletion broadcast information is generated, and the content cache deletion broadcast information is broadcasted in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the content cache deletion broadcast information.

[0245] Optionally, the above method further includes:

[0246] In response to receiving the content request, decrypting the identifier of the target data requested by the client encrypted in the content request, obtaining and judging whether there is a cache node caching the target data within a preset range of the client according to the location information and the identifier of the target data; if there is a cache node caching the target data within the preset range, obtaining the identifiers of all cache nodes caching the target data within the preset range of the client, and obtaining at least one first node identifier; feeding back a link state request including all first node identifiers to the ISP control platform;

[0247] In response to receiving the link status response information, a first node identifier with the best link status is determined, and a first content distribution request is sent to the ISP management and control platform, wherein the first content distribution request includes the first node identifier with the best link status.

[0248] Optionally, the above method further includes:

[0249] If there is no cache node caching the target data within the preset range, determine whether there is a cache node caching a higher bit rate version corresponding to the target data within the preset range of the client; if there is a cache node caching a higher bit rate version corresponding to the target data within the preset range, obtain the identifiers of all cache nodes caching the higher bit rate version corresponding to the target data within the preset range of the client, and obtain at least one second node identifier; feedback the link and computing status request including all second node identifiers to the ISP management and control platform;

[0250] In response to receiving the link and computing status response information, among the second node identifiers whose available computing resources meet the transcoding requirements, the second node identifier with the best link status is selected to obtain the target node identifier; and a second content distribution request including the target node identifier is sent to the ISP management and control platform.

[0251] Optionally, the above method further includes:

[0252] If there is no cache node within the preset range that caches a higher bit rate version corresponding to the target data, then obtain the identifier of the content source server that stores the target data and obtain the target content source server identifier; and send a link establishment request including the target content source server identifier to the ISP management and control platform.

[0253] Optionally, the above method further includes:

[0254] In response to receiving content distribution confirmation information, the hash value of the encrypted target data summary is decrypted using its own pre-stored private key to obtain the hash value of the target data summary; the hash value of the decrypted target data summary is verified, and when the verification passes, content distribution transaction information indicating that the client has successfully obtained the target data is generated, and the content distribution transaction information is broadcast in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the content distribution transaction information; when the verification fails, an operation in response to receiving a content request is executed.

[0255] Optionally, the above method further includes:

[0256] At each preset time interval, a target network node is selected from each ISP control platform and each CP control platform of the blockchain network, and a preset number of transactions are selected from the target network node’s own transaction pool to be encapsulated into a target block; the target block is broadcasted in the blockchain network so that other nodes in the blockchain network can determine whether the target block is legal, and if the target block is legal, the target block is added to the end of the blockchain;

[0257] Update its own ISP cache resource distribution information table according to the cache resource distribution information; update its own CP cache resource allocation information table according to the cache resource application confirmation information; update its own content cache status information table according to the content pre-cache confirmation information and content cache deletion broadcast information; update its own content distribution information table according to the content distribution transaction information.

[0258] Through the method of the embodiment of the present application, after receiving the cache resource request response information, the CP management and control platform generates data cache information and sends the data cache information to the ISP management and control platform, so that the ISP management and control platform sends data acquisition information to the designated cache node, so that the designated cache node obtains the designated data from the designated content source server and caches it.

[0259] The present application also provides an electronic device, such as Figure 5 As shown, it includes a processor 501, a communication interface 502, a memory 503 and a communication bus 504, wherein the processor 501, the communication interface 502, and the memory 503 communicate with each other through the communication bus 504.

[0260] Memory 503, used for storing computer programs;

[0261] The processor 501 is used to execute the program stored in the memory 503, and implements the following steps:

[0262] Broadcast its own cache resource distribution information in the blockchain network, wherein, for any ISP control platform, the cache resource distribution information of the ISP control platform includes the node information of each cache node controlled by the ISP control platform;

[0263] In response to receiving the cache resource application information, allocating cache resources of the designated cache node to the CP management and control platform that sent the cache resource application information, and generating corresponding cache resource application response information; sending the cache resource application response information to the CP management and control platform that sent the cache resource application information;

[0264] In response to receiving the data caching information, data acquisition information is sent to the designated cache node, so that the designated cache node acquires the designated data from the designated content source server and caches the designated data in response to receiving the data acquisition information, wherein the data acquisition information indicates that the designated cache node is cached in the designated content source server.

[0265] The present application also provides an electronic device, such as Figure 6 As shown, it includes a processor 601, a communication interface 602, a memory 603 and a communication bus 604, wherein the processor 601, the communication interface 602, and the memory 603 communicate with each other through the communication bus 604.

[0266] Memory 603, used for storing computer programs;

[0267] The processor 601 is used to execute the program stored in the memory 603 to implement the following steps:

[0268] Obtaining legal cache resource distribution information; generating cache resource application information for requesting cache resources of a designated cache node according to the node information in the legal cache resource distribution information; and sending the cache resource application information to an ISP management and control platform that manages the designated cache node;

[0269] After receiving the cache resource request response information, data cache information is generated, wherein the data cache information indicates that the designated cache node is ordered to cache the designated data in the designated content source server; the data cache information is sent to the ISP control platform that manages the designated cache node, so that the ISP control platform sends data acquisition information to the designated cache node in response to receiving the data cache information, and the designated cache node acquires the designated data from the designated content source server and caches the designated data in response to receiving the data acquisition information, wherein the data acquisition information indicates that the designated cache node is ordered to cache the designated data in the designated content source server.

[0270] The communication bus mentioned in the above electronic device can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.

[0271] The communication interface is used for communication between the above electronic device and other devices.

[0272] The memory may include a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.

[0273] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0274] In another embodiment provided in the present application, a computer-readable storage medium is also provided, in which a computer program is stored. When the computer program is executed by a processor, any of the above-mentioned blockchain-based data caching methods is implemented.

[0275] In another embodiment provided by the present application, a computer program product comprising instructions is also provided, which, when executed on a computer, enables the computer to execute any of the blockchain-based data caching methods in the above embodiments.

[0276] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive Solid State Disk (SSD)), etc.

[0277] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0278] Each embodiment in this specification is described in a related manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the method, electronic device, storage medium, and computer program product embodiments, since they are basically similar to the system embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0279] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application are included in the protection scope of the present application.

Claims

1. A data cache system based on blockchain, characterized in that: The system comprises: A blockchain network, multiple content source servers, and multiple cache nodes, wherein the blockchain network includes multiple network service provider ISP management and control platforms and multiple content provider CP management and control platforms; The ISP control platform is used to broadcast its own cache resource distribution information in the blockchain network, wherein, for any ISP control platform, the cache resource distribution information of the ISP control platform includes node information of each cache node controlled by the ISP control platform; The CP management and control platform is used to obtain legal cache resource distribution information; generate cache resource application information for requesting cache resources of a designated cache node according to the node information in the legal cache resource distribution information; and send the cache resource application information to the ISP management and control platform that manages the designated cache node; The ISP management and control platform is also used to allocate cache resources of the designated cache node to the CP management and control platform that sent the cache resource application information in response to receiving the cache resource application information, and generate corresponding cache resource application response information; send the cache resource application response information to the CP management and control platform that sent the cache resource application information; wherein the ISP management and control platform is specifically used to determine whether the remaining available cache resources of the designated cache node are less than the request value in response to receiving the cache resource application information, wherein the request value is the size of the cache resources of the designated cache node requested in the cache resource application information; if not less than, then allocate the cache resources of the designated cache node with the size of the request value to the CP management and control platform that sent the cache resource application information; if less than, then allocate all the remaining available cache resources of the designated cache node to the CP management and control platform that sent the cache resource application information; The CP management and control platform is further configured to generate data cache information after receiving the cache resource application response information, wherein the data cache information indicates that the designated cache node is required to cache designated data in the designated content source server; and send the data cache information to the ISP management and control platform that manages the designated cache node; The ISP management and control platform is further configured to send data acquisition information to the designated cache node in response to receiving the data cache information, wherein the data acquisition information indicates that the designated cache node is instructed to cache designated data in a designated content source server; The designated cache node is used to obtain the designated data from the designated content source server in response to receiving the data acquisition information, and cache the designated data.

2. The system according to claim 1, characterized in that The designated cache node is further configured to obtain, after caching the designated data, a hash value corresponding to the designated data cached by itself to obtain a target hash value; generate a content acquisition response including the target hash value, and send the content acquisition response to the ISP management and control platform corresponding to itself; The ISP management and control platform is further configured to send content acquisition confirmation information to the CP management and control platform that sent the data cache information after receiving the content acquisition response, wherein the content acquisition confirmation information includes the target hash value; The CP management and control platform is further used to verify whether the designated data cached in the designated cache node is correct according to the target hash value after receiving the content acquisition confirmation information, and if correct, generate content pre-cache confirmation information indicating that the designated cache node has completed caching of the designated data, and broadcast the content pre-cache confirmation information in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the content pre-cache confirmation information; The CP management and control platform is further configured to resend the data cache information to the ISP management and control platform that manages the designated cache node if it is verified that the designated data cached in the designated cache node is incorrect.

3. The system according to claim 1, characterized in that The CP management and control platform is further configured to send a content cache deletion request to the ISP management and control platform that manages the designated cache node when the designated data needs to be deleted, wherein the content cache deletion request includes an identifier of the designated data; The ISP management and control platform is further configured to, in response to receiving the content cache deletion request, forward the content cache deletion request to the designated cache node; The designated cache node is configured to, in response to receiving the content cache deletion request, delete the content to be deleted according to the identifier of the designated data in the content cache deletion request; generate and send content cache deletion response information to the ISP management and control platform; The ISP management and control platform is further configured to generate content cache deletion confirmation information in response to receiving the content cache deletion response information, and send the content cache deletion confirmation information to the CP management and control platform that sent the content cache deletion request; The CP management and control platform is also used to generate content cache deletion broadcast information in response to receiving the content cache deletion confirmation information, and broadcast the content cache deletion broadcast information in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the content cache deletion broadcast information.

4. The system according to claim 1, characterized in that The ISP control platform is further configured to forward the content request to a corresponding CP control platform according to the identifier of the CP control platform in the content request after receiving the content request sent by the client, wherein the content request includes the identifier of the CP control platform, the identifier of the encrypted target data requested by the client, and the location information of the client; The CP management and control platform is further used to, in response to receiving the content request, decrypt the identifier of the target data in the content request; determine whether there is a cache node that caches the target data within a preset range of the client according to the location information and the identifier of the target data; if there is a cache node that caches the target data within the preset range, obtain the identifiers of all cache nodes that cache the target data within the preset range of the client, and obtain at least one first node identifier; and feed back a link state request including all first node identifiers to the ISP management and control platform; The ISP management and control platform is further configured to, in response to receiving the link state request, determine, for each first node identifier in the link state request, a link state between the cache node represented by the first node identifier and the client, and obtain a link state corresponding to the first node identifier; generate link state response information including link states corresponding to all first node identifiers, and feed back the link state response information to the CP management and control platform; The CP management and control platform is further configured to, in response to receiving the link status response information, determine a first node identifier with a best link status, and send a first content distribution request to the ISP management and control platform, wherein the first content distribution request includes the first node identifier with a best link status; The ISP management and control platform is further used to create a communication connection between a first cache node and the client in response to receiving the first content distribution request, so that the first cache node sends the target data to the client through the created communication connection, wherein the first cache node is the cache node represented by the first node identifier carried in the first content distribution request.

5. The system according to claim 4, characterized in that The target data is video data; The CP management and control platform is further configured to determine whether there is a cache node with a higher bit rate version corresponding to the target data cached within a preset range of the client if there is no cache node with the target data cached within a preset range; If there is a cache node that caches a higher bit rate version corresponding to the target data within the preset range, obtain the identifiers of all cache nodes that cache a higher bit rate version corresponding to the target data within the preset range of the client, and obtain at least one second node identifier; and feed back the link and calculation status request including all second node identifiers to the ISP management and control platform; The ISP management and control platform is further used to, in response to receiving the link and computing status request, determine, for each second node identifier in the link and computing status request, a link status between the cache node represented by the second node identifier and the client, and determine the available computing resources of the cache node represented by the second node identifier, and obtain the link status and available computing resources corresponding to the second node identifier; generate link and computing status response information including the link status and available computing resources corresponding to all second node identifiers; Feedback the link and computing status response information to the CP management and control platform; The CP management and control platform is further configured to, in response to receiving the link and computing status response information, select a second node identifier with the best link status from among the second node identifiers whose available computing resources meet the transcoding requirements to obtain a target node identifier; and send a second content distribution request including the target node identifier to the ISP management and control platform; The ISP management and control platform is further used to establish a communication connection between a second cache node and the client in response to receiving the second content distribution request, wherein the second cache node is a cache node represented by a target node identifier carried in the second content distribution request; The second cache node is used to convert the higher bit rate version corresponding to the target data into the target data, and send the target data to the client based on the communication connection with the client.

6. The system according to any one of claims 4-5, characterized in that: The ISP management and control platform is further configured to send content distribution confirmation information to the CP management and control platform in response to receiving content distribution response information sent by the client, wherein the content distribution response information is sent by the client after downloading the target data, the content distribution response information includes a hash value of an encrypted target data digest, and the content distribution confirmation information includes a hash value of an encrypted target data digest; The CP management and control platform is also used to, in response to receiving the content distribution confirmation information, use its own pre-stored private key to decrypt the hash value of the encrypted target data summary to obtain the hash value of the target data summary; verify the hash value of the decrypted target data summary, and when the verification passes, generate content distribution transaction information indicating that the client successfully obtains the target data, broadcast the content distribution transaction information in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the content distribution transaction information; when the verification fails, execute an operation in response to receiving the content request.

7. The system according to claim 6, characterized in that The CP management and control platform is further configured to generate cache resource application confirmation information corresponding to the cache resource application response information after receiving the cache resource application response information; broadcast the cache resource application confirmation information in the blockchain network, so that other nodes in the blockchain network update their own transaction pools according to the cache resource application confirmation information; The blockchain network is used to select a target network node from each ISP control platform and each CP control platform of the blockchain network at intervals of a preset duration; The target network node is used to select a preset number of transactions from its own transaction pool and encapsulate them into a target block; broadcast the target block in the blockchain network so that other nodes in the blockchain network can determine whether the target block is legal, and add the target block to the end of the blockchain when the target block is legal; The ISP management and control platform and the CP management and control platform are further used to update their own ISP cache resource distribution information table according to the cache resource distribution information; update their own CP cache resource allocation information table according to the cache resource application confirmation information; update their own content cache status information table according to the content pre-cache confirmation information and the content cache deletion broadcast information; and update their own content distribution information table according to the content distribution transaction information.

8. A data caching method based on blockchain, characterized in that: An ISP management and control platform applied to a blockchain network, the method comprising: Broadcasting its own cache resource distribution information in the blockchain network, wherein, for any ISP control platform, the cache resource distribution information of the ISP control platform includes node information of each cache node controlled by the ISP control platform; In response to receiving the cache resource application information, allocating cache resources of the designated cache node to the CP management and control platform that sent the cache resource application information, and generating corresponding cache resource application response information; sending the cache resource application response information to the CP management and control platform that sent the cache resource application information; wherein, in response to receiving the cache resource application information, allocating cache resources of the designated cache node to the CP management and control platform that sent the cache resource application information includes: in response to receiving the cache resource application information, determining whether the remaining available cache resources of the designated cache node are less than the request value, wherein the request value is the size of the cache resources of the designated cache node requested in the cache resource application information; if not, allocating the cache resources of the designated cache node with the size of the request value to the CP management and control platform that sent the cache resource application information; if less than, allocating the remaining available cache resources of the designated cache node to the CP management and control platform that sent the cache resource application information; In response to receiving the data caching information, data acquisition information is sent to the designated cache node, so that the designated cache node acquires the designated data from the designated content source server and caches the designated data in response to receiving the data acquisition information, wherein the data acquisition information indicates that the designated cache node is to cache the designated data in the designated content source server.

9. A data caching method based on blockchain, characterized in that: CP management and control platform applied to blockchain network, The method comprises: Obtain legal cache resource distribution information; generate cache resource application information for requesting cache resources of a designated cache node according to the node information in the legal cache resource distribution information; send the cache resource application information to an ISP control platform that manages the designated cache node, so that the ISP control platform receives the cache resource application information and determines whether the remaining available cache resources of the designated cache node are less than the requested value, wherein the requested value is the size of the cache resources of the designated cache node requested in the cache resource application information; if not, allocate the cache resources of the designated cache node with the requested value size to the CP control platform that sent the cache resource application information; if less than, allocate all the remaining available cache resources of the designated cache node to the CP control platform that sent the cache resource application information; After receiving the cache resource request response information, data cache information is generated, wherein the data cache information indicates that the designated cache node is to cache the designated data in the designated content source server; the data cache information is sent to the ISP control platform that manages the designated cache node, so that the ISP control platform sends data acquisition information to the designated cache node in response to receiving the data cache information, and the designated cache node acquires the designated data from the designated content source server and caches the designated data in response to receiving the data acquisition information, wherein the data acquisition information indicates that the designated cache node is to cache the designated data in the designated content source server.

Citation Information

Patent Citations

  • Data access system and method based on blockchain and smart contract, and mobile base station

    CN111741000A

  • Block chain network-based edge caching method, base station and system

    CN112988412A