A blockchain-based content distribution system and method
By leveraging a blockchain-based content distribution system and the collaborative efforts of ISPs and content providers (CPs) management platforms, the problem of CPs being unable to obtain genuine content requests and distribution data due to ISPs directly responding to user requests has been resolved, thus achieving transparency and trustworthiness in content distribution.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZHONGBEI UNIV
- Filing Date
- 2022-11-14
- Publication Date
- 2026-04-17
AI Technical Summary
In existing technologies, ISPs directly use cached content to respond to user requests, making it difficult for content providers (CPs) to obtain the actual content request and distribution data.
A blockchain-based content distribution system is adopted, which manages content caching and distribution through the collaborative work of the ISP management platform and the CP management platform. This includes steps such as content caching request, acquisition confirmation, hash value verification, and content distribution confirmation, to ensure the authenticity of the CP's content request and distribution data.
This technology enables content providers (CPs) to obtain genuine content request and distribution data through a verification mechanism during the content caching process. This solves the problem of ISPs directly responding to user requests and ensures the transparency and trustworthiness of content distribution.
Smart Images

Figure CN115733846B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of information technology, and in particular to a blockchain-based content distribution system and method. Background Technology
[0002] To cope with the explosive growth of mobile traffic, the industry has proposed edge caching technology. By deploying intelligent high-speed caches on the mobile network radio access network side, popular content is cached at the edge base stations closest to users. When a user requests content, if the nearest base station has the content cached, the content is directly transmitted to the user. This method can reduce duplicate content transmission, alleviate the pressure on the base station backhaul link, quickly respond to user requests, and improve user experience.
[0003] However, in the current technology, content caching and distribution are controlled by ISPs (Internet Service Providers). There are cases where ISPs use cached content to directly respond to users' content requests without notifying the content provider. Therefore, it is difficult for content providers (CPs) to obtain the real content request and distribution data. Summary of the Invention
[0004] The purpose of this application is to provide a blockchain-based content distribution system and method to solve the problem that ISPs directly respond to user content requests using cached content, making it difficult for content providers (CPs) to obtain the actual content requests and distribution data. The specific technical solution is as follows:
[0005] A first aspect of this application provides a blockchain-based content distribution system, the system including a blockchain network, multiple content source servers, and multiple cache nodes, the blockchain network including multiple network service provider (ISP) management platforms and multiple content provider (CP) management platforms;
[0006] The ISP management platform is used to determine, based on a content distribution information table, the first data to be cached and the first cache node for caching the first data, wherein the content distribution information table stores historical distribution information of the content published by the CP management platform; and to send content caching request information to the CP management platform that published the first data.
[0007] The CP management platform is used to, upon receiving the content caching request information, determine the first content source server to which the first data belongs, and generate content caching response information including the identifier of the first content source server; and send the content caching response information to the ISP management platform.
[0008] The ISP management platform is also used to send a content retrieval request for the target content to the first cache node in response to receiving the content cache response information;
[0009] The first cache node is configured to, in response to receiving the content retrieval request information, retrieve at least a portion of the data from the first source server; and send content retrieval response information to the ISP management platform;
[0010] The ISP management platform is also configured to send content acquisition confirmation information to the CP management platform in response to receiving the content acquisition response information, wherein the content acquisition confirmation information includes the hash value of the content digest of the at least part of the data;
[0011] The CP management platform is also used to verify the hash value of the content digest in response to receiving the content acquisition confirmation information; when the verification is successful, it broadcasts the content cache confirmation information to the blockchain network so that other nodes in the blockchain network can receive and verify the content cache confirmation information, and add it to their own transaction pool when the verification is successful.
[0012] The ISP management platform is also used to receive and obtain response information and content cache confirmation information based on the content, and update its own local content cache status table.
[0013] In one possible implementation, the CP management platform is used to broadcast its own content publishing information in the blockchain network so that other nodes in the blockchain network can receive and verify the content publishing information. When the verification is successful, the information is added to the transaction pool of each node. For any CP management platform, the content publishing information of the CP management platform includes the identification information of the CP management platform and the identification of the data to be distributed in the content source server managed by the CP management platform.
[0014] In one possible implementation, the ISP management platform is further configured to send a content cache deletion request for specified content to the second cache node, wherein the content cache deletion request includes the identification information of the specified content;
[0015] The second cache node is configured to, in response to receiving the content cache deletion request information, identify the specified content from its own cache space according to the identifier information of the specified content and delete it; after the deletion is completed, send content cache deletion response information to the ISP management platform;
[0016] The ISP management platform is also used to broadcast content cache deletion confirmation information to other nodes in the blockchain network in response to receiving the content cache deletion response information, so that other nodes in the blockchain network can respond to receiving the content cache deletion confirmation information and verify it. When the verification is successful, the corresponding transaction is added to the transaction pool of each node; and the local content cache status table is updated according to the content cache deletion response information and the content cache deletion confirmation information.
[0017] In one possible implementation, the ISP management platform is further configured to, upon receiving a content request message for specified content sent by the user equipment, view its own local content cache status table based on the content request message.
[0018] In one possible implementation, the ISP management platform is further configured to identify the link status between the user equipment and multiple third cache nodes that have cached the specified content; select the cache node with the best corresponding link status among the multiple third cache nodes as the fourth cache node; create a data connection between the fourth cache node and the user equipment; and send a content distribution request for the second data to the fourth cache node.
[0019] The fourth cache node is configured to, in response to receiving the content distribution request, send at least a portion of the second data to the user equipment; and send content distribution response information to the ISP management platform;
[0020] The ISP management platform is also used to send the remaining part of the content distribution request information of the second data to the CP management platform after receiving the content distribution response information;
[0021] The CP management platform is used to send a link establishment request to the ISP management platform in response to receiving the remaining content distribution request information;
[0022] The ISP management platform is also used to respond to receiving the link establishment request by establishing a data connection between the user equipment and the content source server; and to send link establishment response information to the CP management platform.
[0023] The content source server is used to send the remaining part of the second data to the user equipment in an encrypted manner through the established data connection;
[0024] The user equipment is configured to receive the remaining portion of the second data transmitted in an encrypted manner, and decrypt it using its own private key to obtain the remaining portion of the second data.
[0025] In one possible implementation, the ISP management platform is further configured to: identify the link status between the user equipment and the cache node that has cached the higher bitrate version of the second data; select the cache node with the best corresponding link status as the fifth cache node; establish a data connection between the user equipment and the fifth cache node; and send content distribution request information to the fifth cache node.
[0026] The fifth cache node is configured to, in response to receiving the content distribution request information, convert the second data of the higher bitrate version stored in its own storage into the corresponding bitrate version and send it to the user equipment.
[0027] In one possible implementation, the ISP management platform is further configured to send complete content distribution request information of the third data to the CP management platform;
[0028] The CP management platform is also used to send a link establishment request to the ISP management platform in response to receiving the complete content distribution request information;
[0029] The ISP management platform is also used to, in response to receiving the link establishment request information, establish a data connection between the user equipment and the content source server; and send link establishment response information to the CP management platform.
[0030] The content source server is used to send the third data to the user equipment via an encrypted method through an established data connection;
[0031] The user equipment is configured to receive third data sent in an encrypted manner and decrypt it using its own private key to obtain the third data.
[0032] In one possible implementation, the user equipment is further configured to send complete content distribution completion information to the ISP management platform;
[0033] The ISP management platform is also configured to send content distribution confirmation information to the CP management platform in response to receiving the complete content distribution completion information, wherein the content distribution confirmation information includes the hash value of the digest of the third data;
[0034] The CP management platform is also used to receive the content distribution confirmation information and verify the hash value of the digest of the third data; when the verification is successful, it broadcasts the content distribution confirmation information to other nodes in the blockchain network so that other nodes in the blockchain network can receive and verify the content distribution confirmation information, and when the verification is successful, it adds it to the transaction pool of each node.
[0035] In one possible implementation, the blockchain network is used to select a target network node from each ISP management platform and each CP management platform of the blockchain network at preset time intervals.
[0036] 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. The preset number of transactions includes content publishing information, content cache confirmation information, content cache deletion confirmation information, and content distribution confirmation information. The target block is broadcast in the blockchain network so that other nodes in the blockchain network can determine whether the target block is valid. If the target block is valid, the target block is added to the end of the blockchain.
[0037] The ISP management platform and the CP management platform are also used to update their own content publishing information table, global content cache status information table, and content distribution information table based on the content publishing information, content cache confirmation information, content cache deletion confirmation information, and content distribution confirmation information in the target block.
[0038] A second aspect of this application provides a blockchain-based content distribution method applied to a blockchain-based content distribution system, the system comprising: a blockchain network, multiple content source servers, and multiple cache nodes, wherein the blockchain network includes multiple network service provider (ISP) management platforms and multiple content provider (CP) management platforms.
[0039] The method includes:
[0040] The ISP management platform determines the first data to be cached and the first cache node for caching the first data based on the content distribution information table, wherein the content distribution information table stores the historical distribution information of the content published by the CP management platform; and sends a content caching request to the CP management platform that published the first data.
[0041] Upon receiving the content caching request information, the CP management platform determines the first content source server to which the first data belongs, generates content caching response information including the identifier of the first content source server, and sends the content caching response information to the ISP management platform.
[0042] Upon receiving the content caching response information, the ISP management platform sends a content retrieval request for the target content to the first caching node.
[0043] In response to receiving the content retrieval request information, the first cache node retrieves at least a portion of the data from the first source server and sends a content retrieval response to the ISP management platform.
[0044] In response to receiving the content retrieval response information, the ISP management platform sends content retrieval confirmation information to the CP management platform, wherein the content retrieval confirmation information includes the hash value of the content digest of at least a portion of the data;
[0045] Upon receiving the content acquisition confirmation information, the CP management platform verifies the hash value of the content digest. When the verification is successful, it broadcasts the content cache confirmation information to the blockchain network so that other nodes in the blockchain network can receive and verify the content cache confirmation information. When the verification is successful, the content cache confirmation information is added to each node's own transaction pool.
[0046] The system receives and obtains response information and content cache confirmation information from the ISP management platform, and updates its local content cache status table accordingly.
[0047] In one possible implementation, the method further includes:
[0048] The CP management platform broadcasts its own content publishing information in the blockchain network so that other nodes in the blockchain network can receive and verify the content publishing information. When the verification is successful, the information is added to the transaction pool of each node. For any CP management platform, the content publishing information of the CP management platform includes the identification information of the CP management platform and the identification of the data to be distributed in the content source server managed by the CP management platform.
[0049] In one possible implementation, the method further includes:
[0050] The ISP management platform sends a content cache deletion request to the second cache node for the specified content, wherein the content cache deletion request includes the identification information of the specified content;
[0051] In response to receiving the content cache deletion request, the second cache node identifies and deletes the specified content from its own cache space based on the identifier information of the specified content; after deletion, it sends a content cache deletion response to the ISP management platform.
[0052] Upon receiving the content cache deletion response information, the ISP management platform broadcasts the content cache deletion confirmation information to other nodes in the blockchain network. This allows other nodes in the blockchain network to receive and verify the content cache deletion confirmation information. Upon successful verification, the corresponding transaction is added to each node's own transaction pool. The platform also updates its local content cache status table based on the content cache deletion response information and the content cache deletion confirmation information.
[0053] In one possible implementation, the method further includes:
[0054] Upon receiving a content request message for specified content from a user device, the ISP management platform can check its local content cache status table based on the content request message.
[0055] In one possible implementation, the method further includes:
[0056] The ISP management platform identifies the link status between the user device and multiple third cache nodes that have cached the specified content; selects the cache node with the best link status among the multiple third cache nodes as the fourth cache node; creates a data connection between the fourth cache node and the user device, and sends a content distribution request for the second data to the fourth cache node;
[0057] In response to receiving the content distribution request, the fourth cache node sends at least a portion of the second data to the user equipment and sends content distribution response information to the ISP management platform.
[0058] After receiving the content distribution response information through the ISP management platform, the remaining part of the second data content distribution request information is sent to the CP management platform.
[0059] In response to receiving the remaining content distribution request information, the CP management platform sends a link establishment request to the ISP management platform.
[0060] Upon receiving the link establishment request, the ISP management platform establishes a data connection between the user equipment and the content source server; and sends a link establishment response message to the CP management platform.
[0061] The content source server sends the remaining portion of the second data to the user equipment via an encrypted method through an established data connection.
[0062] The user equipment receives the remaining portion of the second data sent in an encrypted manner and decrypts it using its own private key to obtain the remaining portion of the second data.
[0063] In one possible implementation, the method further includes:
[0064] The ISP management platform identifies the link status between the user device and the cache node that has cached the higher bitrate version of the second data; selects the cache node with the best corresponding link status as the fifth cache node; establishes a data connection between the user device and the fifth cache node; and sends a content distribution request to the fifth cache node.
[0065] In response to receiving the content distribution request information, the fifth cache node converts the second data of the higher bitrate version stored within it into the corresponding bitrate version and sends it to the user device.
[0066] In one possible implementation, the method further includes:
[0067] The ISP management platform sends a complete content distribution request for third-party data to the CP management platform.
[0068] In response to receiving the complete content distribution request information, the CP management platform sends a link establishment request information to the ISP management platform.
[0069] Upon receiving the link establishment request information, the ISP management platform establishes a data connection between the user equipment and the content source server; and sends a link establishment response message to the CP management platform.
[0070] The content source server sends the third data to the user device via an encrypted method through an established data connection.
[0071] The user equipment receives third data sent in an encrypted manner and decrypts it using its own private key to obtain the third data.
[0072] In one possible implementation, the method further includes:
[0073] The user equipment sends complete content distribution completion information to the ISP management platform.
[0074] Upon receiving the complete content distribution completion information, the ISP management platform sends content distribution confirmation information to the CP management platform, wherein the content distribution confirmation information includes the hash value of the digest of the third data;
[0075] The CP management platform receives the content distribution confirmation information and verifies the hash value of the digest of the third data. When the verification is successful, the content distribution confirmation information is broadcast to other nodes in the blockchain network so that other nodes in the blockchain network can receive and verify the content distribution confirmation information. When the verification is successful, the information is added to the transaction pool of each node.
[0076] In one possible implementation, the method further includes:
[0077] At preset intervals, a target network node is selected from each ISP management platform and each CP management platform of the blockchain network.
[0078] The target network node selects a preset number of transactions from its own transaction pool and encapsulates them into a target block. The preset number of transactions includes content publishing information, content cache confirmation information, content cache deletion confirmation information, and content distribution confirmation information. The target block is broadcast in the blockchain network so that other nodes in the blockchain network can determine whether the target block is valid. If the target block is valid, it is added to the end of the blockchain.
[0079] The ISP management platform and the CP management platform update their own content publishing information table, global content cache status information table, and content distribution information table based on the content publishing information, content cache confirmation information, content cache deletion confirmation information, and content distribution confirmation information in the target block.
[0080] In another aspect of this application, an electronic device is provided, 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 through the communication bus;
[0081] Memory, used to store computer programs;
[0082] The processor, when executing programs stored in memory, implements any of the aforementioned blockchain-based content distribution methods.
[0083] In another aspect of this application, a computer-readable storage medium is provided, wherein a computer program is stored therein, and when the computer program is executed by a processor, it implements any of the above-described blockchain-based content distribution methods.
[0084] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to execute any of the above-described blockchain-based content distribution methods.
[0085] Beneficial effects of the embodiments in this application:
[0086] This application provides a blockchain-based content distribution system and method. The system includes a blockchain network, multiple content source servers, and multiple cache nodes. The blockchain network includes multiple Internet Service Provider (ISP) management platforms and multiple Content Provider (CP) management platforms. The ISP management platform is used to determine, based on a content distribution information table, a first piece of data to be cached and a first cache node for caching the first data. The content distribution information table stores historical distribution information of content published by the CP management platform. It then sends a content caching request to the CP management platform that published the first data. Upon receiving the content caching request, the CP management platform determines the first content source server to which the first data belongs and generates content caching response information including the identifier of the first content source server. It then sends the content caching response to the ISP management platform. The ISP management platform is further used to, in response to receiving the content caching response, send a message to the first cache node. The system includes: a content retrieval request information for the target content; a first cache node, configured to, in response to receiving the content retrieval request information, retrieve at least a portion of the data from the first source server; send content retrieval response information to the ISP management platform; the ISP management platform, further configured to, in response to receiving the content retrieval response information, send content retrieval confirmation information to the CP management platform, wherein the content retrieval confirmation information includes the hash value of the content digest of the at least a portion of the data; the CP management platform, further configured to, in response to receiving the content retrieval confirmation information, verify the hash value of the content digest; when verification is successful, broadcast the content cache confirmation information to the blockchain network so that other nodes in the blockchain network can receive and verify the content cache confirmation information, and add it to their own transaction pools when verification is successful; the ISP management platform, further configured to receive and update its own local content cache status table based on the content retrieval response information and the content cache confirmation information. This allows the CP management platform to verify the content caching process by sending content retrieval confirmation information to the CP management platform, thus solving the problem that ISPs directly respond to user content requests using cached content, making it difficult for CPs to obtain genuine content requests and distribute data.
[0087] Of course, implementing any product or method of this application does not necessarily require achieving all of the advantages described above at the same time. Attached Figure Description
[0088] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other embodiments can be obtained based on these drawings.
[0089] Figure 1 A schematic diagram of a blockchain-based content distribution system provided in this application embodiment;
[0090] Figure 2 An example diagram of a blockchain-based content distribution system provided in this application embodiment;
[0091] Figure 3 A schematic flowchart of a blockchain-based content distribution method provided in this application embodiment;
[0092] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0093] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art based on this application are within the scope of protection of this application.
[0094] A first aspect of this application provides a blockchain-based content distribution system, see [link to relevant documentation]. Figure 1 The aforementioned system includes a blockchain network 101, multiple content source servers 102, and multiple cache nodes 103. The blockchain network includes multiple ISP (Internet Service Provider) management platforms 1011 and multiple CP (Content Provider) management platforms 1012.
[0095] The ISP management platform 1011 is used to determine the first data to be cached and the first cache node for caching the first data based on the content distribution information table. The content distribution information table stores the historical distribution information of the content published by the CP management platform. It also sends content caching request information to the CP management platform that published the first data.
[0096] The CP management platform 1012 is used to determine the first content source server to which the first data belongs after receiving the content caching request information, and generate content caching response information including the identifier of the first content source server; and send the content caching response information to the ISP management platform.
[0097] The ISP management platform 1011 is also used to send a content retrieval request for the target content to the first cache node in response to receiving the content cache response information;
[0098] The first cache node is used to respond to a received content retrieval request information by retrieving at least a portion of the data from the first source server and sending content retrieval response information to the ISP management platform.
[0099] The ISP management platform 1011 is also used to send content acquisition confirmation information to the CP management platform in response to receiving content acquisition response information, wherein the content acquisition confirmation information includes the hash value of the content digest of at least a portion of the data;
[0100] The CP management platform 1012 is also used to respond to the received content acquisition confirmation information and verify the hash value of the content digest; when the verification is successful, it broadcasts the content cache confirmation information to the blockchain network so that other nodes in the blockchain network can receive the content cache confirmation information and verify it, and add it to the transaction pool of each node when the verification is successful.
[0101] The ISP management platform 1011 is also used to receive and obtain response information and content cache confirmation information based on the content, and update its own local content cache status table.
[0102] In one example, see, for instance Figure 2 The content caching process in this embodiment includes:
[0103] Step 1.1: The ISP management platform sends a "content caching request" to the CP management platform, which carries: ISP identifier, content URI (Uniform Resource Identifier), and bitrate version.
[0104] Step 1.2: The CP management platform sends a "content cache response" to the ISP management platform, which carries: CP identifier, content URI, bitrate version, and source server address.
[0105] Step 1.3: The ISP selects a suitable cache node (assuming cache node 1 is selected) and sends a "content retrieval request" to cache node 1, which carries: content URI, bitrate version, and source server address.
[0106] Step 1.4: Cache node 1 retrieves the bitrate version of the corresponding content from the origin server based on the "content retrieval request". Note: The origin server does not transmit the entire content to the cache node, but only a portion of the content (assuming only the first 80% of the content is transmitted).
[0107] Step 1.5: After content retrieval is complete, cache node 1 sends a "content retrieval response" to the ISP management platform, which includes: cache node ID, content URI, bitrate version, hash value of content digest, and content retrieval completion identifier. A content retrieval completion identifier of 1 indicates successful retrieval, while 0 indicates incomplete retrieval.
[0108] Step 1.6: The ISP management platform sends a "Content Acquisition Confirmation" to the CP management platform, which includes: ISP identifier, content URI, bitrate version, hash value of content digest, content acquisition completion identifier, the ISP's public key, and the ISP's digital signature.
[0109] Step 1.7: After receiving the "Content Acquisition Confirmation," the CP management platform verifies the hash value of the content digest it carries. If the value is incorrect, it indicates that the content encountered an error during transmission, and steps 1.3 to 1.6 need to be re-executed. If the value is correct, it indicates that the ISP has correctly cached the content. The CP management platform then broadcasts "Content Cache Confirmation Information" to the blockchain network, which includes: transaction hash value, CP identifier, ISP identifier, content URI, bitrate version, cached complete content identifier, 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 calculated using a hash function based on the CP identifier, ISP identifier, content URI, bitrate version, cached complete content identifier, timestamp, and nonce value. The nonce value is continuously adjusted to ensure that the calculated transaction hash value is less than TargetHash2. A cached complete content identifier of 1 indicates that the complete content is cached, while 0 indicates that only a portion of the content is cached.
[0110] Step 1.8: After receiving the "Content Cache Confirmation Message," other nodes in the blockchain network need to verify the legality of the transaction. They verify the integrity and authenticity of the transaction based on the digital signature and public key in the transaction. If the verification fails, the transaction is discarded; if the verification passes, it is considered a legitimate transaction and is added to the transaction pool.
[0111] Step 1.9: The ISP management platform updates the "Local Content Cache Status Information Table" based on the received "Content Acquisition Response" and "Content Cache Confirmation Information." The "Local Content Cache Status Information Table" contains the CP identifier, content URI, bitrate version, cache node ID, cached complete content identifier, and timestamp. The specific update operation involves adding the CP identifier, content URI, bitrate version, cache node ID, cached complete content identifier, and timestamp to the "Local Content Cache Status Information Table."
[0112] In one possible implementation, the CP management platform 1012 is used to broadcast its own content publishing information in the blockchain network so that other nodes in the blockchain network can receive and verify the content publishing information. When the verification is successful, the information is added to the transaction pool of each node. For any CP management platform, the content publishing information of the CP management platform includes the identification information of the CP management platform and the identification of the data to be distributed in the content source server managed by the CP management platform.
[0113] In one example, a content provider (CP) management platform broadcasts a "content publishing information" message on the blockchain network, which includes: a transaction hash value, a CP identifier, a content URI, a list of bitrate version numbers, a timestamp, a nonce value, the CP's public key, and the CP's digital signature. The transaction hash value is calculated using a hash function based on the CP identifier, content URI, bitrate version number list, timestamp, and nonce value. The nonce value is continuously adjusted to ensure the calculated transaction hash value is less than a target hash value, TargetHash1. The CP identifier indicates which CP management platform published the "content publishing information," and the content URI and bitrate version number list indicate what content the CP possesses. Other nodes in the blockchain network, upon receiving the "content publishing information," need to verify the transaction's legitimacy. They verify the transaction's integrity and authenticity based on the digital signature and public key. If verification fails, the transaction is discarded; if verification succeeds, it is considered a legitimate transaction and added to the transaction pool.
[0114] As can be seen, the system of this application embodiment can send content acquisition confirmation information to the CP management platform during the content caching process, so that the CP management platform can verify the content and solve the problem that the ISP directly responds to the user's content request by using the cached content, and the CP has difficulty obtaining the real content request and distribution data.
[0115] In one possible implementation, the ISP management platform 1011 is further configured to send a content cache deletion request message for specified content to the second cache node, wherein the content cache deletion request message includes the identification information of the specified content.
[0116] The second cache node is used to respond to a content cache deletion request, identify the specified content from its own cache space based on the identifier information of the specified content, and delete it; after deletion, it sends a content cache deletion response to the ISP management platform;
[0117] The ISP management platform 1011 is also used to broadcast content cache deletion confirmation information to other nodes in the blockchain network in response to receiving content cache deletion response information, so that other nodes in the blockchain network can respond to receiving content cache deletion confirmation information and verify it. When the verification is successful, the corresponding transaction is added to the transaction pool of each node; and the local content cache status table is updated according to the content cache deletion response information and the content cache deletion confirmation information.
[0118] In one example, the content cache deletion step in this application embodiment specifically includes:
[0119] Step 2.1: The ISP management platform sends a "content cache deletion request" to the corresponding cache node, which carries the content URI and bitrate version.
[0120] Step 2.2: Based on the "Content Cache Deletion Request," the cache node deletes the bitrate version of the corresponding content from the cache space. After the content deletion is complete, the cache node sends a "Content Cache Deletion Response" to the ISP management platform, which includes: cache node ID, content URI, bitrate version, and content cache deletion completion identifier. A content cache deletion completion identifier of 1 indicates that the content deletion is complete, and 0 indicates that the deletion is not complete.
[0121] Step 2.3: The ISP management platform broadcasts a "content cache deletion confirmation message" to the blockchain network, which includes: transaction hash value, ISP identifier, CP identifier, content URI, bitrate version, timestamp, nonce value, the ISP's public key, and the ISP's digital signature. The transaction hash value is calculated using a hash function based on the ISP identifier, CP identifier, content URI, bitrate version, timestamp, and nonce value. The nonce value is continuously adjusted to ensure that the calculated transaction hash value is less than TargetHash3.
[0122] Step 2.4: After receiving the "Content Cache Deletion Confirmation Message," other nodes in the blockchain network need to verify the legality of the transaction. They verify the integrity and authenticity of the transaction based on the digital signature and public key. If the verification fails, the transaction is discarded; if the verification passes, it is considered a legitimate transaction and is added to the transaction pool.
[0123] Step 2.5: The ISP management platform updates the "Local Content Cache Status Information Table" based on the "Content Cache Deletion Response" received in Step 2.2 and the "Content Cache Deletion Confirmation Information" received in Step 2.4. Specifically, the update operation involves deleting the corresponding entries in the "Local Content Cache Status Information Table" based on information such as the CP identifier, content URI, bitrate version, and cache node ID (Identity Document).
[0124] In one possible implementation, the ISP management platform 1011 is also used to check its own local content cache status table based on the content request information after receiving content request information for specified content sent by the user equipment.
[0125] For example, a UE (User Equipment) sends a "content request" containing the UE ID, UE location information, content URI, bitrate version, CP identifier, and UE public key. After receiving the "content request," the ISP management platform checks the "local content cache status information table" based on the UE's location, content URI, and bitrate version.
[0126] In one possible implementation, the ISP management platform 1011 is further configured to identify the link status between the user equipment and multiple third cache nodes that have cached the specified content; select the cache node with the best corresponding link status among the multiple third cache nodes as the fourth cache node; create a data connection between the fourth cache node and the user equipment; and send a content distribution request for the second data to the fourth cache node.
[0127] The fourth cache node is used to respond to a received content distribution request by sending at least a portion of the second data to the user equipment and sending content distribution response information to the ISP management platform.
[0128] The ISP management platform 1011 is also used to send the remaining part of the content distribution request information of the second data to the CP management platform after receiving the content distribution response information;
[0129] CP management platform 1012 is used to send a link establishment request to the ISP management platform in response to receiving the remaining content distribution request information;
[0130] The ISP management platform 1011 is also used to respond to a received link establishment request, establish a data connection between the user equipment and the content source server, and send link establishment response information to the CP management platform.
[0131] Content source server 102 is used to send the remaining portion of the second data to the user device in an encrypted manner through the established data connection;
[0132] User equipment is used to receive the remaining part of the second data sent in an encrypted manner, and decrypt it according to its own private key to obtain the remaining part of the second data.
[0133] In one possible implementation, the ISP management platform 1011 is further configured to identify the link status between the user equipment and the cache node that has cached the higher bitrate version of the second data; select the cache node with the best corresponding link status as the fifth cache node; establish a data connection between the user equipment and the fifth cache node; and send content distribution request information to the fifth cache node.
[0134] The fifth cache node is used to respond to the received content distribution request information by converting the second data of the higher bitrate version stored in its own storage into the corresponding bitrate version and sending it to the user device.
[0135] In one possible implementation, the ISP management platform 1011 is also used to send complete content distribution request information of the third data to the CP management platform;
[0136] The CP management platform 1012 is also used to send a link establishment request to the ISP management platform in response to receiving a complete content distribution request.
[0137] The ISP management platform 1011 is also used to respond to received link establishment request information, establish a data connection between the user equipment and the content source server, and send link establishment response information to the CP management platform;
[0138] Content source server 102 is used to send third-party data to user devices in an encrypted manner through the established data connection;
[0139] User equipment is used to receive third data sent in an encrypted manner and decrypt it using its own private key to obtain the third data.
[0140] In one possible implementation, the user equipment is also used to send complete content distribution completion information to the ISP management platform;
[0141] The ISP management platform 1011 is also used to send content distribution confirmation information to the CP management platform in response to receiving complete content distribution completion information. The content distribution confirmation information includes the hash value of the digest of the third data.
[0142] The CP management platform 1012 is also used to receive content distribution confirmation information and verify the hash value of the digest of third-party data. When the verification is successful, it broadcasts the content distribution confirmation information to other nodes in the blockchain network so that other nodes in the blockchain network can receive and verify the content distribution confirmation information. When the verification is successful, it is added to the transaction pool of each node.
[0143] For example, the content request process in this embodiment of the application specifically includes:
[0144] Step 3.1: The UE sends a "Content Request", which includes the UE ID, UE location information, content URI, bitrate version, CP identifier, and UE public key.
[0145] Step 3.2: After receiving the "content request", the ISP management platform checks the "local content cache status information table" based on the UE's location, content URI, and bitrate version.
[0146] In one scenario: within a certain range near the UE, there are already cache nodes that have cached the bitrate version of the requested content.
[0147] Step 3.3: Based on the link status between the UE and the cache node that has already cached the bitrate version of the requested content, the ISP management platform selects the cache node with the best link status, establishes a data plane connection between the cache node and the UE, and then sends a "content distribution request" to the cache node, which carries: UE ID, content URI, and bitrate version.
[0148] Step 3.4: The cache node sends the bitrate version of the content it requests to the UE.
[0149] Step 3.5: After content distribution is complete, the cache node sends a "content distribution response" to the ISP management platform, which includes: cache node ID, UE ID, content URI, bitrate version, and content distribution completion identifier. A content distribution completion identifier of 1 indicates that content distribution is complete, while 0 indicates that distribution is incomplete.
[0150] Step 3.6: After receiving the "Content Distribution Response," the ISP management platform checks the corresponding entry's cached complete content identifier in the "Local Content Cache Status Information Table" based on the content URI, bitrate version, cache node ID, and other information. A cached complete content identifier of 0 indicates that only part of the content is cached. Then, the ISP management platform sends a "Remaining Content Distribution Request" to the CP management platform, carrying: ISP identifier, UE ID, content URI, bitrate version, and UE's public key.
[0151] Step 3.7: The CP management platform sends a "link establishment request" to the ISP management platform, which carries: CP identifier, UEID, and source server address.
[0152] Step 3.8: The ISP management 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 management platform, which includes: ISP identifier, UE ID, source server address, and link establishment completion identifier. A link establishment completion identifier of 1 indicates that the link establishment is complete, and a value of 0 indicates that the link establishment is incomplete.
[0153] Step 3.9: The content source server sends the remaining bitrate version of the requested content to the UE via the established data plane link using an encrypted method. The encryption method refers to the content source server encrypting the remaining bitrate version of the requested content using the UE's public key and then transmitting the encrypted content to the UE.
[0154] Step 3.10: After receiving the content, the UE decrypts it using its private key to obtain the remaining part of the bitrate version of the requested content.
[0155] In another scenario: within a certain range near the UE, no cached node caches the bitrate version of the requested content, but some cached nodes cache a higher bitrate version of the requested content.
[0156] Step 3.11: The ISP management platform selects the cache node with the best link status and meets the computational resources required for transcoding based on the link status between the UE and the cache node that has already cached the higher bitrate version of the requested content, the computational resources required for transcoding, and the computational resources available to the cache node. It then establishes a data plane connection between the cache node and the UE and sends a "content distribution request" to the cache node, which carries: UE ID, content URI, and bitrate version.
[0157] Step 3.12: The cache node transcodes the cached high-bitrate version of the content into a low-bitrate version in real time and sends the bitrate version of the requested content to the UE.
[0158] Repeat steps 3.5 to 3.10 above.
[0159] In another scenario: within a certain range near the UE, there are neither cache nodes that cache the bitrate version of the requested content nor cache nodes that cache a higher bitrate version of the requested content.
[0160] Step 3.13: The ISP management platform sends a "complete content distribution request" to the CP management platform, which includes: ISP identifier, UE ID, content URI, bitrate version, and UE's public key.
[0161] Step 3.14: The CP management platform sends a "link establishment request" to the ISP management platform, which carries: CP identifier, UEID, and source server address.
[0162] Step 3.15: The ISP management 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 management platform, which carries: ISP identifier, UE ID, source server address, and link establishment completion identifier. A link establishment completion identifier of 1 indicates that the link establishment is complete, and a value of 0 indicates that the link establishment is incomplete.
[0163] Step 3.16: The content source server sends the bitrate version of its requested content to the UE using an encrypted method via the established data plane link. Encryption means that the content source server encrypts the bitrate version of the requested content using the UE's public key and then transmits the encrypted content to the UE.
[0164] Step 3.17: After receiving the content, the UE decrypts it using its private key to obtain the bitrate version of the requested content.
[0165] Steps 3.18 to 3.21 are common to all three cases mentioned above.
[0166] Step 3.18: After content distribution is complete, the UE sends "Complete content distribution completed" to the ISP management platform, which includes: CP identifier, UE ID, content URI, bitrate version, hash value of the content digest, the UE's public key, and the UE's digital signature. The "hash value of the content digest" refers to the hash value obtained by the UE through hashing the received complete content digest.
[0167] Step 3.19: After receiving the "Complete content distribution completed" message from the user, the ISP management platform sends a "Content distribution confirmation" message to the CP management platform, which includes: CP identifier, ISP identifier, UE ID, content URI, bitrate version, hash value of content digest, public key of the UE, digital signature of the UE, public key of the ISP, and digital signature of the ISP.
[0168] Step 3.20: After receiving the "Content Distribution Confirmation," the CP management platform first verifies the content digest hash value. If the value is incorrect, it indicates that the content received by the UE is incorrect, and steps 3.3 to 3.19 need to be re-executed. If the value is correct, it indicates that the content received by the UE is correct. The CP management platform then broadcasts the "Content Distribution Confirmation Information" to the blockchain network, which includes: transaction hash value, CP identifier, ISP identifier, UE ID, content URI, bitrate version, timestamp, nonce value, the UE's public key, the UE's digital signature, 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 calculated using a hash function based on the CP identifier, ISP identifier, UE ID, content URI, bitrate version, timestamp, and nonce value. The nonce value is continuously adjusted to ensure that the calculated transaction hash value is less than TargetHash4.
[0169] Step 3.21: After receiving the "Content Distribution Confirmation Message," other nodes in the blockchain network need to verify the legality of the transaction. They verify the integrity and authenticity of the transaction based on the digital signature and public key. If the verification fails, the transaction is discarded; if the verification passes, it is considered a legitimate transaction and is added to the transaction pool.
[0170] In one possible implementation, the blockchain network 101 is used to select a target network node from each ISP management platform and each CP management platform of the blockchain network at preset intervals.
[0171] 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. The preset number of transactions includes content publishing information, content cache confirmation information, content cache deletion confirmation information, and content distribution confirmation information. The target block is broadcast in the blockchain network so that other nodes in the blockchain network can determine whether the target block is valid. If the target block is valid, it is added to the end of the blockchain.
[0172] The ISP management platform 1011 and the CP management platform 1012 are also used to update their own content publishing information table, global content cache status information table, and content distribution information table based on the content publishing information, content cache confirmation information, content cache deletion confirmation information, and content distribution confirmation information in the target block.
[0173] For example, the nodes of a blockchain network consist of a content provider (CP) management platform and an ISP management platform, and the transactions in a blockchain network include "content publishing information", "content cache confirmation information", "content cache deletion confirmation information", and "content distribution confirmation information".
[0174] Step 4.1: Every period T, a blockchain network node will take a certain number of transactions from the transaction pool, encapsulate them into a block, and broadcast it to other nodes in the blockchain network.
[0175] Each block contains a block header and a block body. The block body consists of multiple transactions, which are stored in a Merkle tree structure. The root of the Merkle tree (a trusted tree) is recorded in the block header as a summary of all transactions in the block, facilitating transaction verification and retrieval. In addition to the Merkle tree root, the block header also includes the block number, timestamp, number of transactions, hash value of the parent block, and hash value of the current block. The genesis block is numbered 0, and its number is incremented by 1 for each subsequent block. The timestamp records the time the block was created. The number of transactions refers to the number of transactions contained in the block body. 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, and Merkle tree root information from the block header.
[0176] Step 4.2: After receiving the block, other nodes will use consensus algorithms (PoS (Proof of Stake), DPoS (Delegated Proof of Stake), PBFT (Practical Byzantine Fault Tolerance), etc.) to reach a consensus on the legality of the block. If the block is legal, it will be added to the end of the blockchain; if the block is invalid, it will be discarded.
[0177] Step 4.3: When a valid block is added to the blockchain, all blockchain network nodes update the "Content Publishing Information Table," "Global Content Cache Status Information Table," and "Content Distribution Information Table" based on the transactions in that block. The "Content Publishing Information" updates the "Content Publishing Information Table," while the "Content Cache Confirmation Information" and "Content Cache Deletion Confirmation Information" update the "Global Content Cache Status Information Table," and the "Content Distribution Confirmation Information" updates the "Content Distribution Information Table." Specifically, the "Content Publishing Information Table" contains the CP identifier, content URI, bitrate version number list, and timestamp; the "Global Content Cache Status Information Table" contains the ISP identifier, CP identifier, content URI, bitrate version, and timestamp; and the "Content Distribution Information Table" contains the CP identifier, ISP identifier, UE ID, content URI, bitrate version, and distribution count.
[0178] The specific update steps are as follows:
[0179] (1) If the transaction is "Content Release Information", then update the "Content Release Information Table". If there is an entry for the corresponding CP in the "Content Release Information Table", and the timestamp in the "Content Release Information" is greater than the timestamp of the existing entry (the information in the "Content Release Information" is the latest), update the content URI, bitrate version number list, timestamp, etc. of the corresponding CP; if the timestamp in the "Content Release Information" is less than or equal to the timestamp of the existing entry (the information in the "Content Release Information" is older), then do not update. If there is no entry for the corresponding CP in the "Content Release Information Table", then add the corresponding CP identifier, content URI, bitrate version number list, timestamp, etc.
[0180] (2) If the transaction is “Content Cache Confirmation Information”, add information such as ISP identifier, CP identifier, content URI, bitrate version, and timestamp to the “Global Content Cache Status Information Table”.
[0181] (3) If the transaction is "Content Cache Deletion Confirmation Information", then delete the corresponding entry in the "Global Content Cache Status Information Table" based on the ISP identifier, CP identifier, content URI, bitrate version and other information therein.
[0182] (4) If the transaction is “Content Distribution Confirmation Information”, then update the “Distribution Count” information in the “Content Distribution Information Table” according to the CP identifier, ISP identifier, UE ID, content URI, bitrate version and other information (i.e., increment the distribution count by 1 for each distribution); if there is no entry corresponding to the CP identifier, ISP identifier, UE ID, content URI, bitrate version and other information in the “Content Distribution Information Table”, then add the corresponding CP identifier, ISP identifier, UE ID, content URI, bitrate version, distribution count and other information in the “Content Distribution Confirmation Information”.
[0183] A second aspect of this application provides a blockchain-based content distribution method, applied to a blockchain-based content distribution system. The system includes: a blockchain network, multiple content source servers, and multiple cache nodes. The blockchain network includes multiple network service provider (ISP) management platforms and multiple content provider (CP) management platforms.
[0184] See Figure 3 The above methods include:
[0185] Step S31: Based on the content distribution information table, the ISP management platform determines the first data to be cached and the first cache node for caching the first data. The content distribution information table stores the historical distribution information of the content published by the CP management platform. A content caching request is sent to the CP management platform that published the first data.
[0186] Step S32: After receiving the content caching request information, the CP management platform determines the first content source server to which the first data belongs, and generates content caching response information including the identifier of the first content source server; and sends the content caching response information to the ISP management platform.
[0187] Step S33: Upon receiving the content caching response information, the ISP management platform sends a content retrieval request for the target content to the first cache node.
[0188] Step S34: In response to the received content retrieval request information, the first cache node retrieves at least a portion of the data from the first source server; and sends content retrieval response information to the ISP management platform.
[0189] Step S35: In response to receiving the content retrieval response information, the ISP management platform sends content retrieval confirmation information to the CP management platform. The content retrieval confirmation information includes the hash value of the content digest of at least a portion of the data.
[0190] Step S36: Upon receiving the content acquisition confirmation information, the CP management platform verifies the hash value of the content digest. When the verification is successful, the content cache confirmation information is broadcast to the blockchain network so that other nodes in the blockchain network can receive and verify the content cache confirmation information. When the verification is successful, the information is added to the transaction pool of each node.
[0191] Step S37: Receive and obtain response information and content cache confirmation information from the ISP management platform, and update the local content cache status table.
[0192] In one possible implementation, the above method further includes:
[0193] The CP management platform broadcasts its own content publishing information in the blockchain network so that other nodes in the blockchain network can receive and verify the content publishing information. When the verification is successful, the content is added to the transaction pool of each node. For any CP management platform, the content publishing information of the CP management platform includes the identification information of the CP management platform and the identification of the data to be distributed in the content source server managed by the CP management platform.
[0194] In one possible implementation, the above method further includes:
[0195] The ISP management platform sends a content cache deletion request to the second cache node for the specified content. The content cache deletion request includes the identification information of the specified content.
[0196] Upon receiving a content cache deletion request, the second cache node identifies and deletes the specified content from its own cache space based on the content's identifier. After deletion, it sends a content cache deletion response to the ISP management platform.
[0197] Upon receiving the content cache deletion response information, the ISP management platform broadcasts the content cache deletion confirmation information to other nodes in the blockchain network. This allows other nodes in the blockchain network to respond to and verify the content cache deletion confirmation information. Upon successful verification, the corresponding transaction is added to each node's own transaction pool. The ISP also updates its local content cache status table based on the content cache deletion response information and the content cache deletion confirmation information.
[0198] In one possible implementation, the above method further includes:
[0199] After receiving a content request for specified content from a user device, the ISP management platform responds by checking its local content cache status table based on the content request information.
[0200] In one possible implementation, the above method further includes:
[0201] The link status between the user device and multiple third-party cache nodes that have cached the specified content is identified through the ISP management platform; the cache node with the best link status among the multiple third-party cache nodes is selected as the fourth cache node; a data connection is created between the fourth cache node and the user device, and a content distribution request for the second data is sent to the fourth cache node;
[0202] In response to receiving a content distribution request, the fourth cache node sends at least a portion of the second data to the user equipment; and sends content distribution response information to the ISP management platform.
[0203] After receiving the content distribution response information through the ISP management platform, it sends the remaining part of the second data content distribution request information to the CP management platform.
[0204] Upon receiving the remaining content distribution request information, the CP management platform sends a link establishment request to the ISP management platform.
[0205] Upon receiving a link establishment request, the ISP management platform establishes a data connection between the user equipment and the content source server; and sends a link establishment response message to the CP management platform.
[0206] The remaining portion of the second data is sent to the user device via an encrypted method through an established data connection by the content source server;
[0207] The user equipment receives the remaining part of the second data sent in an encrypted manner and decrypts it using its own private key to obtain the remaining part of the second data.
[0208] In one possible implementation, the above method further includes:
[0209] The link status between the user device and the cache node that has cached the higher bitrate version of the second data is identified through the ISP management platform; the cache node with the best corresponding link status is selected as the fifth cache node; a data connection is established between the user device and the fifth cache node; and a content distribution request is sent to the fifth cache node.
[0210] In response to a received content distribution request, the fifth cache node converts the second data stored in its higher bitrate version into the corresponding bitrate version and sends it to the user device.
[0211] In one possible implementation, the above method further includes:
[0212] Send the complete content distribution request information of the third-party data to the CP management platform through the ISP management platform;
[0213] Upon receiving the complete content distribution request information, the CP management platform sends a link establishment request information to the ISP management platform.
[0214] Upon receiving a link establishment request, the ISP management platform establishes a data connection between the user equipment and the content source server; and sends a link establishment response to the CP management platform.
[0215] The content source server sends third-party data to the user device using encrypted methods through an established data connection;
[0216] The user equipment receives third-party data sent in an encrypted manner and decrypts it using its own private key to obtain the third-party data.
[0217] In one possible implementation, the above method further includes:
[0218] Send complete content distribution completion information to the ISP management platform through the user equipment;
[0219] Upon receiving the complete content distribution completion information, the ISP management platform sends a content distribution confirmation message to the CP management platform. The content distribution confirmation message includes the hash value of the digest of the third-party data.
[0220] The CP management platform receives content distribution confirmation information and verifies the hash value of the third-party data digest. When the verification is successful, the content distribution confirmation information is broadcast to other nodes in the blockchain network so that other nodes in the blockchain network can receive and verify the content distribution confirmation information. When the verification is successful, it is added to the transaction pool of each node.
[0221] In one possible implementation, the above method further includes:
[0222] By setting a preset time interval in the blockchain network, a target network node is selected from each ISP management platform and each CP management platform in the blockchain network.
[0223] The target network node selects a preset number of transactions from its own transaction pool and encapsulates them into a target block. The preset number of transactions includes content publishing information, content cache confirmation information, content cache deletion confirmation information, and content distribution confirmation information. The target block is then broadcast in the blockchain network so that other nodes in the blockchain network can determine whether the target block is valid. If the target block is valid, it is added to the end of the blockchain.
[0224] The ISP management platform and CP management platform update their own content publishing information table, global content cache status information table, and content distribution information table based on the content publishing information, content cache confirmation information, content cache deletion confirmation information, and content distribution confirmation information in the target block.
[0225] As can be seen, the method of this application embodiment can send content acquisition confirmation information to the CP management platform during the content caching process, so that the CP management platform can verify the content and solve the problem that the ISP directly responds to the user's content request using the cached content, making it difficult for the CP to obtain the real content request and distribution data.
[0226] This application also provides an electronic device, such as... Figure 4 As shown, it includes a processor 401, a communication interface 402, a memory 403, and a communication bus 404, wherein the processor 401, the communication interface 402, and the memory 403 communicate with each other through the communication bus 404.
[0227] Memory 403 is used to store computer programs;
[0228] When processor 401 executes the program stored in memory 403, it performs the following steps:
[0229] Based on the content distribution information table, the ISP management platform determines the first data to be cached and the first cache node for caching the first data. The content distribution information table stores the historical distribution information of the content published by the CP management platform. A content caching request is then sent to the CP management platform that published the first data.
[0230] After receiving the content caching request information, the CP management platform determines the first content source server to which the first data belongs, and generates content caching response information including the identifier of the first content source server; and sends the content caching response information to the ISP management platform.
[0231] Upon receiving the content caching response information, the ISP management platform sends a content retrieval request for the target content to the first caching node.
[0232] In response to the received content retrieval request information, the first cache node retrieves at least a portion of the data from the first source server and sends a content retrieval response to the ISP management platform.
[0233] Upon receiving the content retrieval response information, the ISP management platform sends a content retrieval confirmation message to the CP management platform. The content retrieval confirmation message includes the hash value of the content digest of at least a portion of the data.
[0234] Upon receiving the content acquisition confirmation information, the CP management platform verifies the hash value of the content digest. When the verification is successful, it broadcasts the content cache confirmation information to the blockchain network so that other nodes in the blockchain network can receive and verify the content cache confirmation information. When the verification is successful, it adds the content cache confirmation information to each node's own transaction pool.
[0235] The system receives and retrieves response information and content cache confirmation information from the ISP management platform, and updates its local content cache status table accordingly.
[0236] The communication bus mentioned in the above electronic devices can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.
[0237] The communication interface is used for communication between the aforementioned electronic devices and other devices.
[0238] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0239] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0240] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the steps of any of the above-described blockchain-based content distribution methods.
[0241] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute any of the blockchain-based content distribution methods described above.
[0242] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially 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, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk (SSD)).
[0243] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0244] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0245] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.
Claims
1. A blockchain-based content distribution system, characterized in that, The system includes: The blockchain network comprises multiple content source servers and multiple cache nodes, including multiple network service provider (ISP) management platforms and multiple content provider (CP) management platforms. The ISP management platform is used to determine, based on a content distribution information table, the first data to be cached and the first cache node for caching the first data, wherein the content distribution information table stores historical distribution information of the content published by the CP management platform; and to send content caching request information to the CP management platform that published the first data. The CP management platform is used to, upon receiving the content caching request information, determine the first content source server to which the first data belongs, and generate content caching response information including the identifier of the first content source server; and send the content caching response information to the ISP management platform. The ISP management platform is also used to send a content retrieval request for the target content to the first cache node in response to receiving the content cache response information; The first cache node is configured to, in response to receiving the content retrieval request information, retrieve at least a portion of the data from the first source server; and send content retrieval response information to the ISP management platform. The ISP management platform is also configured to send content acquisition confirmation information to the CP management platform in response to receiving the content acquisition response information, wherein the content acquisition confirmation information includes the hash value of the content digest of the at least part of the data; The CP management platform is also used to verify the hash value of the content digest in response to receiving the content acquisition confirmation information; when the verification is successful, it broadcasts the content cache confirmation information to the blockchain network so that other nodes in the blockchain network can receive and verify the content cache confirmation information, and add it to their own transaction pool when the verification is successful. The ISP management platform is also used to receive and obtain response information and content cache confirmation information based on the content, and update its own local content cache status table.
2. The system according to claim 1, characterized in that, The CP management platform is used to broadcast its own content publishing information in the blockchain network so that other nodes in the blockchain network can receive and verify the content publishing information. When the verification is successful, the information is added to the transaction pool of each node. For any CP management platform, the content publishing information of the CP management platform includes the identification information of the CP management platform and the identification of the data to be distributed in the content source server managed by the CP management platform.
3. The system according to claim 1, characterized in that, The ISP management platform is also used to send a content cache deletion request to the second cache node for specified content, wherein the content cache deletion request includes the identification information of the specified content; The second cache node is configured to, in response to receiving the content cache deletion request information, identify the specified content from its own cache space according to the identifier information of the specified content and delete it; after deletion is completed, send content cache deletion response information to the ISP management platform; The ISP management platform is also used to broadcast content cache deletion confirmation information to other nodes in the blockchain network in response to receiving the content cache deletion response information, so that other nodes in the blockchain network can respond to receiving the content cache deletion confirmation information and verify it. When the verification is successful, the corresponding transaction is added to the transaction pool of each node; and the local content cache status table is updated according to the content cache deletion response information and the content cache deletion confirmation information.
4. The system according to claim 1, characterized in that, The ISP management platform is also used to, in response to receiving a content request message for specified content sent by a user device, check its own local content cache status table based on the content request message.
5. The system according to claim 4, characterized in that, The ISP management platform is also used to identify the link status of the user equipment and multiple third cache nodes that have cached the specified content; and select the cache node with the best corresponding link status among the multiple third cache nodes as the fourth cache node; A data connection is established between the fourth cache node and the user device, and a content distribution request for the second data is sent to the fourth cache node; The fourth cache node is configured to, in response to receiving the content distribution request, send at least a portion of the second data to the user equipment; and send content distribution response information to the ISP management platform; The ISP management platform is also used to send the remaining part of the content distribution request information of the remaining part of the second data to the CP management platform after receiving the content distribution response information; The CP management platform is used to send a link establishment request to the ISP management platform in response to receiving the remaining content distribution request information; The ISP management platform is also used to respond to receiving the link establishment request by establishing a data connection between the user equipment and the content source server; and to send link establishment response information to the CP management platform. The content source server is used to send the remaining part of the second data to the user equipment in an encrypted manner through the established data connection; The user equipment is configured to receive the remaining portion of the second data transmitted in an encrypted manner, and decrypt it using its own private key to obtain the remaining portion of the second data.
6. The system according to claim 4, characterized in that, The ISP management platform is also used to identify the link status between the user equipment and the cache node that has cached the higher bitrate version of the second data; select the cache node with the best corresponding link status as the fifth cache node; establish a data connection between the user equipment and the fifth cache node; and send content distribution request information to the fifth cache node. The fifth cache node is configured to, in response to receiving the content distribution request information, convert the second data of the higher bitrate version stored in its own storage into the corresponding bitrate version and send it to the user equipment.
7. The system according to claim 4, characterized in that, The ISP management platform is also used to send complete content distribution request information of the third data to the CP management platform; The CP management platform is also used to send a link establishment request to the ISP management platform in response to receiving the complete content distribution request information; The ISP management platform is also used to, in response to receiving the link establishment request information, establish a data connection between the user equipment and the content source server; and send link establishment response information to the CP management platform; The content source server is used to send the third data to the user equipment via an encrypted method through an established data connection; The user equipment is configured to receive third data sent in an encrypted manner and decrypt it using its own private key to obtain the third data.
8. The system according to claim 7, characterized in that, The user equipment is also used to send complete content distribution completion information to the ISP management platform; The ISP management platform is also configured to send content distribution confirmation information to the CP management platform in response to receiving the complete content distribution completion information, wherein the content distribution confirmation information includes the hash value of the digest of the third data; The CP management platform is also used to receive the content distribution confirmation information and verify the hash value of the digest of the third data; when the verification is successful, it broadcasts the content distribution confirmation information to other nodes in the blockchain network so that other nodes in the blockchain network can receive and verify the content distribution confirmation information, and when the verification is successful, it adds it to the transaction pool of each node.
9. The system according to claim 1, characterized in that, The blockchain network is used to select a target network node from each ISP management platform and each CP management platform of the blockchain network at preset intervals. 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, wherein the preset number of transactions includes content publishing information, content cache confirmation information, content cache deletion confirmation information, and content distribution confirmation information; The target block is broadcast in the blockchain network so that other nodes in the blockchain network can determine whether the target block is valid, and if the target block is valid, the target block is added to the end of the blockchain; The ISP management platform and the CP management platform are also used to update their own content publishing information table, global content cache status information table, and content distribution information table based on the content publishing information, content cache confirmation information, content cache deletion confirmation information, and content distribution confirmation information in the target block.
10. A content distribution method based on blockchain, characterized in that, The system is applied to a blockchain-based content distribution system, which includes: a blockchain network, multiple content source servers, and multiple cache nodes. The blockchain network includes multiple network service provider (ISP) management platforms and multiple content provider (CP) management platforms. The method includes: The ISP management platform determines the first data to be cached and the first cache node for caching the first data based on the content distribution information table, wherein the content distribution information table stores the historical distribution information of the content published by the CP management platform; and sends a content caching request to the CP management platform that published the first data. Upon receiving the content caching request information, the CP management platform determines the first content source server to which the first data belongs, generates content caching response information including the identifier of the first content source server, and sends the content caching response information to the ISP management platform. Upon receiving the content caching response information, the ISP management platform sends a content retrieval request for the target content to the first caching node. In response to receiving the content retrieval request information, the first cache node retrieves at least a portion of the data from the first source server and sends a content retrieval response to the ISP management platform. In response to receiving the content retrieval response information, the ISP management platform sends content retrieval confirmation information to the CP management platform, wherein the content retrieval confirmation information includes the hash value of the content digest of at least a portion of the data; Upon receiving the content acquisition confirmation information, the CP management platform verifies the hash value of the content digest. When the verification is successful, it broadcasts the content cache confirmation information to the blockchain network so that other nodes in the blockchain network can receive and verify the content cache confirmation information. When the verification is successful, the content cache confirmation information is added to each node's own transaction pool. The system receives and obtains response information and content cache confirmation information from the ISP management platform, and updates its local content cache status table accordingly.
Citation Information
Patent Citations
Data access system and method based on blockchain and smart contract, and mobile base station
CN111741000A
Data processing method based on block chain network and related equipment
CN112417001A