Real-time data communication methods, electronic devices and systems

A blockchain-based system enables automatic switching to backup data streams, addressing data integrity and transparency issues in conventional data trading, ensuring continuous and cost-effective data delivery.

JP7879853B2Active Publication Date: 2026-06-24BOE TECHNOLOGY GROUP CO LTD +1

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
BOE TECHNOLOGY GROUP CO LTD
Filing Date
2021-09-06
Publication Date
2026-06-24

AI Technical Summary

Technical Problem

Conventional data trading methods face challenges in maintaining data integrity, transparency, and timely establishment of new data streams due to network issues or provider-side interruptions, potentially harming both parties in the transaction.

Method used

Implementing a blockchain-based system that allows data receivers to automatically switch to alternative data streams from a resource pool when interruptions occur, ensuring continuous data delivery by establishing contracts with backup data providers.

Benefits of technology

Ensures uninterrupted data delivery by avoiding additional costs associated with over-provisioning and maintaining data integrity and transparency through blockchain-based smart contracts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007879853000004
    Figure 0007879853000004
  • Figure 0007879853000005
    Figure 0007879853000005
  • Figure 0007879853000006
    Figure 0007879853000006
Patent Text Reader

Abstract

The present disclosure proposes a method, an electronic device, and a system for real-time data communication. The method for real-time data communication, executed in a data receiving electronic device, includes: distributing a resource pool contract to a blockchain network, triggering the resource pool contract to establish a resource pool including a first quantity of resources; establishing a data stream with a data provider corresponding to a second quantity of resources in the resource pool, the second quantity being smaller than the first quantity; and receiving real-time data sent by the data sender through the data stream.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of communications, and more specifically, to a method, an electronic device, and a system for real-time data communication.

Background Art

[0002] With the rapid development of communication technologies, the Internet of Things (IoT) has attracted increasing attention. The Internet of Things, that is, the "Internet where all things are connected", is a network extended and expanded based on the Internet. It is a huge network formed by combining various information sensing facilities (i.e., sensors) with the Internet, and realizes the interconnection of people, machines, and things at any time and anywhere.

[0003] Based on the market research report "State of the market: Internet of things 2016", the global IoT sensor market has already exceeded 600 billion per year, including the purchase, installation, maintenance of sensors, and sensor interface software, etc. With sensors, sensor owners can obtain more data, and service providers can also provide value-added services based on sensor data. With the development of 5G technology, the transmission of sensor data is more convenient, and sensor data can be quickly and real-time transmitted to the data receiving side.

[0004] Therefore, it has been agreed in various industries such as the communication industry and the manufacturing industry that the future is the data era. Data trading is a future development trend. Data trading can, on the one hand, reduce the investment and operation and maintenance costs of sensor owners, and on the other hand, promote the exploration of data value.

[0005] In conventional data trading methods, data transactions are generally completed by a third-party trading center. Such data trading methods make it difficult to maintain the integrity of transaction data, and the lack of transparency and difficulty in tracking transaction history make relevant information in the transaction process susceptible to modification. Furthermore, these data trading methods also make it difficult to guarantee the timely establishment of a new data stream at the data recipient's end when a data stream is interrupted due to network issues or issues on the data provider's side, potentially harming the interests of both parties in the transaction. [Overview of the project] [Means for solving the problem]

[0006] To at least partially solve or mitigate the above-mentioned problems, the present disclosure provides methods, electronic devices, and systems for real-time data communication according to embodiments of this disclosure. Taking into account possible data interruption phenomena, if a data stream is interrupted, the data receiver can automatically switch to another data stream, thereby ensuring that a contract is established with a data provider to meet the data volume demand at any given time.

[0007] A first aspect of this disclosure provides a method for real-time data communication performed on an electronic device of a data purchaser. The method includes: delivering a resource pool contract to a blockchain network and triggering the resource pool contract to establish a resource pool containing a first quantity of resources; establishing a data stream with a data sender corresponding to a second quantity of resources in the resource pool, wherein the second quantity is less than the first quantity; and receiving real-time data transmitted by the data sender through the data stream.

[0008] In some embodiments, the resource pool contract includes a resource selection method, which is invoked when one or more nodes in the blockchain network determine that a resource switching condition is met, causing the data receiver to establish a data stream with a data sender corresponding to a second quantity of resources. In some embodiments, the resource selection method is further invoked by one or more nodes in the blockchain network to select a resource other than the resource for which a corresponding data stream with the current data receiver exists in the resource pool, and the data receiver establishes a new data stream with a data provider corresponding to the selected resource. In some embodiments, the resource switching condition includes one or more of a resource switching cycle and data stream blocking. In some embodiments, the resource pool contract includes a resource pool access method, which includes resource pool access rules, and the resource pool access method triggers one or more nodes in the blockchain network to join the resource pool when they determine that a resource satisfies the resource pool access rules. In some embodiments, a resource in the resource pool is at least one of a data sender or a data stream contract. In some embodiments, if the resource is a data sender, the resource pool contract further includes at least one of the following: a list of data sender identifiers, a data sender switching cycle, a data stream price and / or a price calculation method, a data sender pool access method, a data sender selection method, and a data stream establishment method. In some embodiments, if the resource is a data stream contract, the resource pool contract further includes at least one of the following: a list of data stream contract identifiers, a data stream contract switching cycle, a data stream contract pool access method, and a data stream contract selection method.In some embodiments, the step of establishing a data sender and data stream corresponding to a second quantity of resources in the resource pool includes: executing a data stream establishment method in the resource pool contract to establish a data sender and data stream that does not exceed the resources corresponding to the second quantity; or executing a data stream contract selection method in the resource pool contract to trigger a data stream contract that does not exceed the second quantity, thereby establishing a data sender and data stream corresponding to the data stream contract for the second quantity.

[0009] A second aspect of this disclosure provides a first electronic device for use by a data purchaser. The electronic device includes a processor and a memory that stores instructions causing the first electronic device to perform the method described in the first aspect of this disclosure when executed by the processor.

[0010] A third aspect of this disclosure provides a method for real-time data communication performed on an electronic device of a data provider. The method includes receiving a resource pool contract from a blockchain network, triggering the resource pool contract to establish a resource pool containing a first quantity of resources, the resource pool contract further including a parameter indicating a second quantity of resources to be expected to be activated simultaneously in the resource pool, the second quantity being smaller than the first quantity, and sending a message instructing the blockchain network to agree to join the resource pool.

[0011] In some embodiments, the method further includes, in coordination with the blockchain network executing the resource pool contract, establishing a data stream with a data receiver that delivers the resource pool contract, and transmitting real-time data to the corresponding data receiver via the established data stream.

[0012] A fourth aspect of this disclosure provides a method for real-time data communication performed on an electronic device of a data provider. The method includes delivering a data stream contract to a blockchain network, the data stream contract triggering the data stream provided by the data provider to join a resource pool as a resource, the resource pool being a resource pool containing a first quantity of resources established by a resource pool contract delivered by a data receiver, the resource pool contract further including a parameter indicating a second quantity of resources expected to be activated simultaneously in the resource pool, the second quantity being smaller than the first quantity, and receiving a message from the blockchain network indicating that the data stream contract has joined the resource pool.

[0013] In some embodiments, the method further includes establishing a data stream with a data receiver that delivers the resource pool contract, in coordination with the blockchain network executing the data stream contract, and transmitting real-time data to the corresponding data receiver via the established data stream. In some embodiments, the data stream contract includes at least one of a data stream contract identifier, an identifier for the data sender, a data stream price and / or a pricing method, content information, a data stream establishment method, and a resource pool joining method.

[0014] A fifth aspect of this disclosure provides a second electronic device for use by a data provider. The electronic device includes a processor and a memory that stores instructions for the second electronic device to perform the method described in the third or fourth aspect when executed by the processor.

[0015] A sixth aspect of this disclosure provides a system for real-time data communication. The system includes a blockchain network, a first electronic device connected to the blockchain by network communication, and one or more second electronic devices connected to the blockchain by network communication, wherein the first electronic device includes a first processor and a first memory that stores a command causing the first electronic device, when executed by the first processor, to deliver a resource pool contract to the blockchain network, trigger the resource pool contract to establish a resource pool containing a first quantity of resources, establish a data stream with a data sender corresponding to a second quantity of resources in the resource pool, the second quantity being less than the first quantity, and the data stream receiving real-time data transmitted by the data sender. One or more second electronic devices include a second processor and a second memory that stores instructions to cause a corresponding second electronic device, when executed by the corresponding second processor, to perform the operations of receiving the resource pool contract from the blockchain network and sending a message instructing the blockchain network to agree to join the resource pool, or to deliver a data stream contract to the blockchain network, triggering the data stream contract to join the resource pool as a resource provided by the data provider, and receiving a message from the blockchain network indicating that the data stream contract has joined the resource pool.

[0016] According to a seventh aspect of the present disclosure, a computer-readable storage medium is further provided, wherein instructions are stored therein, and when the instructions are executed by the processor, the processor can perform the methods for real-time data communication of the first, third, or fourth aspect described above.

[0017] When using the above method, electronic devices, systems, and / or computer-readable storage media, data shortages due to equipment failures on the data provider's side are avoided, on the one hand, and additional costs associated with establishing contracts with more data providers are avoided. [Brief explanation of the drawing]

[0018] The above and other purposes, features, and advantages of this disclosure will be further clarified by describing preferred embodiments of this disclosure with reference to the drawings below.

[0019] [Figure 1] Figure 1 is a schematic diagram illustrating an exemplary application scenario illustrating smart contracts based on a blockchain network. [Figure 2] Figure 2 is a schematic diagram showing a blockchain-based data transaction scene according to an embodiment of this disclosure. [Figure 3] Figure 3 is a schematic diagram illustrating a message stream that exemplifies a real-time data trading process according to an embodiment of the present disclosure. [Figure 4] Figure 4 is a schematic diagram illustrating a message stream that exemplifies a real-time data trading process according to another embodiment of the present disclosure. [Figure 5] Figure 5 is a schematic diagram illustrating the detection of data stream interruption according to an embodiment of the present disclosure. [Figure 6] Figure 6 is a flowchart illustrating an exemplary method performed in a data-receiving electronic device according to an embodiment of the present disclosure. [Figure 7] Figure 7 is a flowchart illustrating an exemplary method performed in a data-transmitting electronic device according to an embodiment of the present disclosure. [Figure 8] Figure 8 is a flowchart illustrating another exemplary method performed in the data-transmitting electronic device according to an embodiment of the present disclosure. [Figure 9] Figure 9 is a schematic hardware configuration diagram showing equipment for real-time data communication according to an embodiment of the present disclosure.

Best Mode for Carrying Out the Invention

[0020] To make the objectives, technical solutions and advantages of the present application clearer, the present application will be described in more detail below with reference to the drawings. It should be noted that the following description is merely illustrative and does not limit the present disclosure. In the following description, many specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be apparent to those skilled in the art that these specific details are not necessary to practice the present disclosure. In other instances, well-known circuits, materials or methods are not specifically described in order to avoid obscuring the present disclosure.

[0021] Throughout the specification, references to "one embodiment", "an embodiment", "an example" or "an illustration" mean that a particular feature, structure or characteristic described in connection with the embodiment or example is included in at least one embodiment of the present disclosure. Thus, the phrases "in one embodiment", "in an embodiment", "an example" or "an illustration" appearing in various places in the specification are not necessarily all referring to the same embodiment or example. Also, the specific features, structures or characteristics may be combined in any suitable combination and / or sub-combination in one or more embodiments or examples. Also, it should be understood by those skilled in the art that the drawings provided herein are for illustrative purposes only and are not necessarily drawn to scale. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items.

[0022] It should be noted that, hereinafter, the embodiments of the present specification will be described in detail by taking "real-time data transaction" as an example, but the present disclosure is not limited thereto. In fact, the real-time data transaction is a specific application scenario of the "real-time data communication" solution mentioned in the present specification, and the real-time data communication solution in the present application can be applied to any situation where real-time data communication needs to be performed, such as non-trading real-time data communication.

[0023] Furthermore, this specification adopts the terms “smart contract” or “contract” and the Solidity programming language used in Ethereum technology, but this disclosure is not limited thereto. In practice, the term “contract” as used herein may refer to information concerning the establishment, maintenance, modification, removal of data streams, etc., of at least one of the data transactions (or data communications), and terms such as “smart contract” and / or “contract” may refer to any network-transmittable information such as applications, apps, source code, executable code, messages, text, binary data, software, firmware, etc. When applied externally to areas other than real-time data communications, the terms “smart contract” and / or “contract” may not refer to other information related to data streams.

[0024] Furthermore, the term “data stream” generally refers to a series of digitally encoded sequential signals or their carriers that transmit or receive information during their transmission. In other words, the term “data stream” as used herein can refer not only to the series of information itself transmitted between two or more entities, but also to the logical channel established between these two or more entities for transmitting this information.

[0025] As mentioned above, conventional data trading methods have various problems, such as the lack of integrity in transaction data, the lack of transparency in transactions, the difficulty in tracking transaction history, the susceptibility of related information to modification, and the inability of the data recipient to establish a new data stream in a timely manner when data is blocked. These problems can potentially harm the interests of both parties in data trading. Compared to conventional data trading methods, blockchain-based data trading methods are attracting increasing attention due to their advantages such as distributed nature, decentralization, and the prevention and cancellation of transaction data tampering.

[0026] A blockchain-based data trading system generally includes one or more data providers (also referred to herein as “data senders”), one or more data buyers (also referred to herein as “data receivers”), and a blockchain network. The blockchain network typically includes multiple nodes. Information regarding data transactions between data providers and data buyers may be stored on multiple nodes in the blockchain network. In the data transaction process, one or both of the data buyers or data providers may deliver a smart contract to the blockchain network. The smart contract may trigger the establishment of a data stream between the data buyer and the data provider, and may receive and pay for data through that data stream.

[0027] Smart contracts are a key characteristic of blockchain-based data transactions. The concept of smart contracts was first introduced by Nick Szabo in 1994, who defined them as follows: "A smart contract is a set of numerically defined approvals that include a negotiation on which the contracting party can perform these approvals." Smart contracts are computer negotiations aimed at propagating, verifying, or executing contracts in an informational manner. Smart contracts allow for trusted transactions in the absence of third parties, and these transactions are traceable and generally irreversible (unless, for example, a clause is removed from the contract).

[0028] More generally, a smart contract can be considered a computer program or transactional agreement that automatically executes, controls, or suspends legally related events based on the terms of the contract or agreement. The purpose of smart contracts is to reduce the demand for reliable arbitrators, reduce the costs of arbitration and enforcement, reduce fraud losses, and decrease malicious and accidental acts.

[0029] Smart contracts based on blockchain technology not only offer cost-effective advantages but also prevent malicious interference that could compromise the successful execution of a contract. By writing smart contracts to the blockchain in a digital form, the characteristics of blockchain technology ensure transparency, traceability, and immutability of the entire process, including storage, reading, and execution. Simultaneously, smart contracts can operate more efficiently by building a state machine system using the blockchain's built-in consensus algorithm. Next, we will describe smart contracts based on a blockchain network in detail with reference to Figure 1.

[0030] Figure 1 is a schematic diagram illustrating an exemplary application scenario 10 showing a smart contract based on a blockchain network. As shown in Figure 1, scenario 10 includes user-1 110 who wants to sell his car 140, user-2 120 who wants to buy the car, and a blockchain network 150 including several nodes 151-154. However, it should be noted that scenario 10 in Figure 1 is for illustrative purposes only, and this disclosure is not limited thereto. In other embodiments, scenario 10 may include more users, items (e.g., car 140), and the blockchain network 150 may include more, fewer, or different nodes.

[0031] As shown in Figure 1, user-1 110 wants to sell his car 140. Therefore, in step 1, user-1 110 can edit the smart contract 130 and distribute the smart contract 130 to the blockchain network 150.

[0032] For example, in some embodiments, user-1 110 can register with, for example, an Ethernet network and obtain an assigned account ID (e.g., 123456), and then upload and deploy the edited smart contract 130 to at least one of the nodes 151-154 on that network via an application provided by the Ethernet network.

[0033] In some embodiments, the contents of a simple, illustrative smart contract 130 can be shown as follows: / / SPDX-License-Identifier: GPL-3.0 pragma solidity >0.6.99 <0.8.0; contract Sell_A_Car{ address payable public seller; / / / Member variable "seller" address payable public buyer; / / / Member variable "buyer" address public car; / / / Member variable "automobile" bytes32 passcode; / / / Member variable "Smart Lock Password" enum State {Created, Locked, Release, Inactive} State public state; / / / Member variable "contract state" modifier condition(bool _condition) { require(_condition); _; } modifier onlyBuyer() { require( msg.sender == buyer, "Only purchasers can call this function." ); _; } modifier onlySeller() { require( msg.sender == seller, "Only the seller can call this function." ); _; } modifier inState(State _state) { require( state == _state, "Inactive state" ); _; } event Aborted(); / / / Streams an event where the seller cancels the transaction. event PurchaseConfirmed(); / / / Streams an event to confirm the purchase by the buyer. event CarReceived(); / / / Streams an event when a buyer receives a vehicle. event SellerRefunded(); / / / Streams an event when the seller has received payment. / / / Construction function that initializes the contract and specifies the seller's identity, vehicle identity, and smart lock password related to this contract. constructor(address payable _car, bytes32 _passcode) payable { seller = msg.sender; car = _car; passcode = _passcode; } / / / This is a purchase cancellation function that can only be called before the seller locks the contract. function abort() public onlySeller inState(State.Created) { emit Aborted(); state = State.Inactive; } / / / A function that allows the buyer to confirm the purchase, and the contract notifies the buyer of the smart lock password.

[0034] / / / The transaction must contain 10 Ethereum coins, and these Ethereum coins will be locked until the confirmReceived function is called. function confirmPurchase() returns (bytes32) public inState(State.Created) condition(msg.value == 1e19) paidable { emit PurchaseConfirmed(); buyer = msg.sender; state = State.Locked; return passcode; } / / / A function that confirms the buyer has received the vehicle and releases the locked Ethereum. function confirmReceived() public onlyBuyer inState(State.Locked) { emit CarReceived(); state = State.Release; } / / / This function repays the seller, i.e., pays the seller the price of the car. function refundSeller() public onlySeller inState(State.Release) { emit SellerRefunded(); state = State.Inactive; seller.transfer(address(this).balance) } }

[0035] The general functionality of the above code is as described in "Smart Contract 130" in Figure 1. When a buyer (e.g., User-2 120) pays User-1 110 10 Ethercoins, the smart contract automatically notifies the buyer of the smart lock password and waits for the buyer to confirm receipt of the goods. After successful receipt, the blockchain network 150 records the conversion of vehicle ownership based on the distributed event and transfers these 10 Ethercoins to User-1 110.

[0036] Specifically, when initializing (or implementing) the smart contract 130, the seller (e.g., user-1 110) can set the seller's blockchain network address (e.g., 123456 shown in Figure 1), the vehicle's blockchain network address (e.g., 330524 shown in Figure 1), and the password for the smart lock associated with the vehicle (e.g., the member variable "passcode" in the above code) using, for example, the contract construction function "constructor".

[0037] Furthermore, before, after, or simultaneously with step 1, user-1 110 may, in step 1a, deposit the car 140 in a public garage and lock the car 140 using a smart lock controllable by smart contract 130 (for example, placing the car 140 inside a designated garage locked with the smart lock), and set the unlock password to, for example, the previous passcode. In other embodiments, the smart lock has networking capabilities and can automatically generate a new password before each transaction under the control of smart contract 130, thereby preventing the password from being known to anyone other than the final buyer due to a failed previous transaction.

[0038] Subsequently, the smart contract 130 itself becomes known to the public, for example, through web page distribution.

[0039] Later, in step 2, user-2 120 who intends to purchase a car can find the smart contract 130 distributed by user-1 110 on the blockchain network 150, either on a webpage or directly, understand the relevant information (for example, a webpage related to the smart contract 130, or, in another embodiment, a direct description of the vehicle's conditions in the smart contract 130), and sign the smart contract 130 if he intends to purchase the car. Specifically, user-2 120 can sign the contract 130 by, for example, calling the "confirmPurchase()" member method described above.

[0040] After receiving the signature (or method call) from user-2 120, in step 3, multiple nodes in the blockchain network 150 can verify the transaction, for example, by verifying whether user-1 110 is the owner (for example, by checking the transaction record associated with vehicle ID 330524), and by making the payment with sufficient funds in user-2 120's account (for example, by verifying with the qualifier condition(msg.value == 1e19) of the confirmPurchase() method in the above code), and if the verification is successful, they automatically send the smart lock unlock password to user-2 120 and record that the corresponding amount has been deducted from user-2 120's account, and at the same time record that the corresponding amount has been increased in user-1 110's account.

[0041] In step 4, user-2 120 can retrieve the smart lock unlock password from the blockchain network 150 and then extract vehicle 140 using the retrieved unlock password. In another embodiment, after determining that vehicle 140 is extractable, user-2 120 can further confirm the transaction success (as shown in the example code above) and confirm the corresponding transfer operation.

[0042] In some embodiments, the blockchain network 150 can record the transaction information on at least one of several nodes 151 to 154. For example, when multiple events are sent in the above code, the transaction process can be recorded by recording the events corresponding to each node.

[0043] It should be noted that while the above provides a simple example of a smart contract for trading, this disclosure is not limited to this. In practice, smart contract 130 can be modified to include more or different member variables and / or member methods, etc. It may be used in data trading scenarios, as described below.

[0044] For example, the data provider could be User-1 110 and the data buyer could be User-2 120, and the details of the data transaction between the two could be defined in a smart contract, for example, by parameters (for example, parameters in the member method or member variables). These might include, for example (but not limited to), how to establish a data stream, a pricing / fee determination method for the data stream, how to settle the data stream, how to terminate the data stream, a method for causing branching, and termination conditions. When implementing such data transactions using the blockchain network 150, problems such as difficulty in maintaining the integrity of transaction data, lack of transparency in transactions, difficulty in tracking transaction history, and the susceptibility of related information to modification can be effectively resolved.

[0045] However, in some situations, the data buyer needs to acquire sufficient data by trading with multiple data providers simultaneously. For example, if a single production equipment provider (the data buyer) needs to acquire real-time production data from multiple factories (the data providers) that use that equipment to improve the corresponding equipment, the equipment provider can establish data streams with multiple factories simultaneously, acquire data from each factory, and pay for each data stream. In such situations, the following problems may arise: one or more data providers may not provide data within a certain period. For example, a production line may stop due to adjustments in the production plan, and the data provider's production equipment may not be able to upload equipment operation data. Alternatively, industrial production equipment may not be able to operate properly due to a malfunction, and therefore may not be able to upload equipment operation data. Both of the above situations result in data interruptions and affect the normal operations of the data buyer.

[0046] The solution to this problem is as follows: To ensure that the data buyer obtains sufficient data, they can establish contracts with more data providers, thereby avoiding data loss due to equipment failure. For example, a data buyer may normally need data from two data providers, but to ensure that they obtain sufficient data if one or two more data providers are down, the data buyer will generally establish data streams with three or more data providers and pay for these data streams.

[0047] However, this creates a new problem: on the one hand, the data buyer has to pay additional costs, and on the other hand, because the data buyer has limited processing capacity, they may not be able to fully process the real-time data they have purchased, potentially leading to wasted costs and data resources.

[0048] To this end, the present disclosure provides a solution for real-time data communication according to an embodiment of this disclosure. The solution will be described in detail below with reference to Figures 2 to 5.

[0049] Figure 2 is a schematic diagram showing a blockchain-based data transaction scene 20 according to an embodiment of the present invention. In this exemplary scene 20, there may be four data providers 210-1 to 210-4 (hereinafter collectively referred to as data providers or data senders 210) and three data buyers 220-1 to 220-3 (hereinafter collectively referred to as data buyers or data receivers 220). The data providers 210 and data buyers 220 can conduct data transactions using a blockchain network 250. The blockchain network 250 may include four nodes 251 to 254 that can communicate with each other. However, the disclosure is not limited thereto. In other embodiments, there may be more, fewer, or different data providers, data buyers, and / or nodes in the blockchain network 250.

[0050] Specifically, each data provider 210-1 to 210-4 can deliver a smart contract to the blockchain network 250, and this smart contract may include information related to data transactions, such as the type of data stream provided by the data provider, its price, and the details of how the data stream is established. Each data buyer 220-1 to 220-3 can sign a corresponding smart contract and conduct transactions with one or more corresponding data providers as needed. In some embodiments, such data transactions are realized by a data stream established between the data buyer and the data provider.

[0051] Similarly, data buyers 220-1 to 220-3 can distribute smart contracts to the blockchain network 250, thereby purchasing the corresponding real-time data stream. At this time, data provider 210 can realize data transactions by selecting the aforementioned corresponding smart contract according to its own capabilities and will and establishing the data stream. In other embodiments, data providers 210-1 to 210-4 and data buyers 220-1 to 220-3 can each provide or purchase real-time data by distributing their own smart contracts.

[0052] As described above, in order to avoid data loss due to equipment failure, the data buyer 220 enters into a contract with the data provider 210 for a quantity greater than actually needed. On the one hand, the data buyer 220 has to pay additional costs; on the other hand, because the data buyer 220 has limited processing capacity, it may not be able to fully process the purchased data, potentially resulting in wasted costs.

[0053] To at least partially solve or mitigate the above-mentioned problems, the present disclosure provides methods, electronic devices, and systems for real-time data communication according to embodiments of this disclosure. Generally, the solution can ensure that, by establishing a resource pool with more resources than the required rated resources, if one resource is interrupted, it automatically switches to another resource, thereby establishing a contract with a data provider that can meet resource requests at any given time. Two embodiments of establishing resource pools are described below with reference to Figures 3 and 4, respectively.

[0054] Figure 3 is a schematic diagram of a message stream illustrating an example of a real-time data trading process according to an embodiment of the present disclosure. As shown in Figure 3, the method exemplary includes four stages: a formation stage, a usage stage, an adjustment stage, and a termination stage. However, it should be noted that these stages do not necessarily appear in the order shown and can be rearranged. For example, the termination stage may appear before the adjustment stage or the usage stage, thereby ensuring that the data buyer and / or data provider has the right to terminate the transaction at any time if the provisions of the smart contract are met. Furthermore, as will be described below, the steps in each stage may be performed interleaved, for example, and therefore the embodiments of the present disclosure are not limited to the order in which the steps are performed as shown in Figure 3.

[0055] Furthermore, while the embodiment shown in Figure 3 relates only to the data buyer 220-1, data provider 210-1, data provider 210-2 and blockchain network 250 in Figure 2, this disclosure is not limited thereto, and this embodiment is used solely to help readers understand the technical content of this disclosure. Other embodiments may relate to more data buyers and / or data providers.

[0056] The following steps, as shown in Figure 3, will be explained in detail with reference to Figure 2.

[0057] Formation stage

[0058] In step S310, the data buyer 220-1 can deliver a resource pool contract (or more specifically, a data provider contract) to the blockchain network 250, which can trigger the creation of a resource pool containing a first quantity (2 in this example, but not limited to 2) of resources (or more specifically, data providers). In some embodiments, the resource pool contract may include at least one of a data provider identifier list, a data provider switching cycle, a data stream price and / or a price calculation method, a data provider pool access method, a data provider selection method, and a data stream creation method.

[0059] For example, Table 1 below shows the member variables and member methods included in the smart contract.

[0060] [Table 1]

[0061] In this embodiment, data providers can be treated as resources, and the member variable "Maximum Number of Data Providers" is referred to as the first quantity, which limits the number of resources that can be accommodated in the resource pool corresponding to the smart contract. The member variable "Rated Number of Data Providers" is referred to as the second quantity, which limits the expected number of resources that will operate (or be activated) simultaneously in the resource pool, and is usually smaller than the first quantity. When the resource pool is operating normally, generally at least one resource is set up as a backup resource, which can immediately establish a data stream with the data buyer (e.g., data buyer 220-1) to provide more real-time data when a data stream interruption occurs, thereby resolving or at least mitigating the data interruption problem that data buyer 220-1 may encounter. Furthermore, since no data stream is actually established and data transactions are not performed, data providers can be invited to join the resource pool at the lowest cost. In other words, if a resource in a resource pool corresponds to a data provider (data sender), then a data buyer (or data receiver) can establish a data stream with a second quantity of resources in the resource pool (i.e., a data provider or data sender), and this second quantity is smaller than the maximum quantity of data providers in the resource pool (i.e., the first quantity). Therefore, the resource itself may correspond to a data provider, and it can be considered that the data buyer (or data receiver) establishes a data stream with a data provider (or data sender) corresponding to the second quantity of resources in the resource pool.

[0062] Returning to Figure 3, in steps S315a and S315b, data providers 210-1 and 210-2 can each sign the resource pool contract distributed by data buyer 220-1. For example, by calling their "data provider pool access method()", the corresponding data provider can be added to the resource pool. It should be noted that these two steps can be performed simultaneously or at least partially sequentially.

[0063] In step S320, the blockchain network 250 can form a resource pool based on the joined data providers 210-1 and 210-2. In the embodiment shown in Figure 3, for example, the distributed resource pool contract limits the "maximum number of data providers" to 2, so the resource pool can include two resources, data providers 210-1 and 210-2. In some embodiments, the next step may be to use the resource pool.

[0064] Furthermore, as shown in Table 1, the data provider pool access method can include pool access rules, which can specify rules that data providers joining the resource pool must satisfy. For example, these rules may relate to the content, quality, price, or reputation score of the data provided by the data provider. For example, the pool access rules may be as follows: the content of the data provided by the data provider must satisfy the relevant requirements; the quality of the data or the reputation score of the data provider must be higher than a certain threshold; or the price of the data must be lower than a certain threshold. When forming a resource pool, the data provider may proactively request to join the resource pool, or the blockchain network 250 may send an invitation to join the resource pool to data providers that satisfy the pool access rules, and if the data provider agrees to join the resource pool, the data provider is added to the data provider list in the resource pool contract by adding the data provider identifier to the resource pool contract. If a data provider that satisfies the pool access rules does not agree to join the resource pool, the blockchain network 250 can find another data provider that satisfies the pool access rules and send an invitation to join the resource pool to that person. This process can be repeated until the resource pool contains the first quantity of resources specified in the resource pool contract.

[0065] Usage stage

[0066] In step S330, one or more nodes or data buyers 220-1 in the blockchain network 250 can select a second quantity of data providers by calling a data provider selection method in the resource pool contract. In some embodiments, the second quantity may be smaller than the first quantity. In the embodiment shown in Figure 3, the blockchain 250 can select a data provider 210-1. In some embodiments, the data provider selection method may be, for example, a selection method based on data quality, a selection method based on data price, a selection method based on the data provider's reputation score, etc. In other embodiments, the data provider selection method may be a random selection method.

[0067] Next, in steps S335a and / or S335b, the blockchain 250 can instruct the data buyer 220-1 and the data provider 210-1, respectively, to establish data streams with each other. For example, a data stream can be established between them by calling the "Data Stream Establishment Method()" in the resource pool contract. For example, in this method, information about the other party can be provided to the data buyer 220-1 or the data provider 210-1, and a data stream can be established with the other party based on that information. In other embodiments, if it is necessary to monitor the data streams, the blockchain network 250 can establish data streams with the data buyer 220-1 and the data provider 210-1, respectively, and transfer data between the two data streams, thereby enabling monitoring of the data streams and, for example, performing fair, public, and equitable billing processing (e.g., the amount of data transmitted by the data stream, whether to block it or not, etc.) based on this.

[0068] In step S340, the data purchaser 220-1 can receive real-time data from the data provider 210-1 via the established data stream and perform the corresponding processing.

[0069] In the above embodiment, steps S335a and / or S335b for establishing a data stream are performed after step S320 in which the blockchain network 250 forms a resource pool. However, the present invention is not limited thereto. In fact, in other embodiments, steps S335a and / or S335b for establishing a data stream can be performed earlier or in synchronization with the formation of the resource pool, for example, before or at the same time as the data buyer 220-1 delivers the resource pool contract, it establishes a data stream for transmitting real-time data with the data provider 210-1, and thereafter, for example, by the formation stage, it re-signs the resource pool contract and puts the data provider 210-1 of the established data stream into the resource pool, making it one of the resources in the resource pool.

[0070] Adjustment stage

[0071] During the adjustment phase, if it is determined that one or more nodes in the blockchain network 250 meet the resource switching conditions, the data provider selection method in the resource pool contract can be invoked again to select a second data provider. In some embodiments, the resource switching conditions may be a resource switching cycle. In other embodiments, the resource switching conditions may be a data stream interruption, which may be due to equipment failure on the data provider side.

[0072] For example, in the embodiment shown in Figure 3, in step S350, one or more nodes in the blockchain network 250 detect that a data stream interruption has occurred, for example, in the manner shown in Figure 5 below. In step S355, one or more nodes in the blockchain network 250 can re-select a data provider (for example, data provider 210-2) by calling, for example, "data provider selection method()".

[0073] Next, similar to steps S335a and S335b, in step S360a and / or S360b, one or more nodes of the blockchain 250 may instruct the data buyer 220-1 and the data provider 210-2 to establish a portion of the data stream and ultimately form a data stream transferred by the blockchain network, or one of them may instruct the other to directly establish a data stream between them.

[0074] In step S365, the data purchaser 220-1 can receive real-time data from the newly selected data provider 210-2 via the newly established data stream.

[0075] Cancellation stage

[0076] In steps S370a and S370b, the data buyer 220-1 and / or the data provider 210-2 may send a request to the blockchain network 250 to release the resource pool contract. For example, in some embodiments, if the data provider 210-2 needs to stop its service for maintenance, it may consider temporarily logging out of the resource pool and therefore can trigger a release of the resource pool contract in step S370b. In other embodiments, if the data buyer 220-1 needs to temporarily maintain its equipment, it may trigger a release of the resource pool contract. Naturally, these requests to release the resource pool contract should not violate any relevant provisions that may exist in the previously delivered resource pool contract, such as the duration of the resource pool contract. Also in other embodiments, after the data buyer S220-1 has obtained the necessary data, it may trigger a release of the resource pool contract.

[0077] In step S375, one or more nodes in the blockchain network 250 can determine whether the data buyer 220-1 and / or the data provider 210-2 have met the contract termination conditions. For example, for the data buyer 220-1, the contract termination condition may be whether the data buyer pays for the data. For the data provider 210-2, the contract termination condition may be whether the data provider provides sufficient data, etc. Also, as described above, it is possible to check whether both have met other termination conditions, such as the term of the resource pool contract.

[0078] If one or more nodes in the blockchain network 250 determine that the data buyer 220-1 and / or the data provider 210-2 have met the contract release conditions, then in steps S380a and / or S380b, one or more nodes in the blockchain network 250 may instruct the data buyer 220-1 and / or the data provider 210-2 to release the contract and remove the data stream between them. For example, if a data stream is directly established between them as described above, one of them may be instructed to remove the data stream, and if the data stream is established via the blockchain network 250, both may be instructed to remove the data stream.

[0079] In step S385, the data stream between the data buyer 220-1 and the data provider 210-2 is disconnected, and the contract is terminated.

[0080] Thus, by adopting the data communication method shown in Figure 3, a resource pool is established to provide the data buyer 220-1 with backup resources (for example, backup data streams from the data provider 210-2). This prevents the inability to establish a new data stream in a timely manner if a data stream (for example, the data stream from the data provider 210-1) is interrupted. Furthermore, all related information for the data streams established in this way is stored on the blockchain network, thereby enabling good traceability and facilitating the management and maintenance of data transaction operations by both parties in the contract.

[0081] Figure 4 is a schematic diagram of a message stream illustrating an example of a real-time data trading process according to another embodiment of the present disclosure. Similar to Figure 3, the method exemplifies four stages: formation, use, adjustment, and resolution. However, it should be noted that these stages do not necessarily appear in the order shown and can be rearranged. For example, the termination stage may appear before the adjustment or use stage, thereby ensuring that the data buyer and / or data provider terminates the transaction at any time when the provisions of the smart contract are met. Furthermore, the embodiment shown in Figure 4 relates only to the data buyer 220-1, data provider 210-1, data provider 210-2 and blockchain network 250 in Figure 2, but the present disclosure is not limited thereto, and this embodiment is used only to help readers understand the technical content of the present disclosure. Other embodiments may relate to more data buyers and / or data providers.

[0082] The following will explain each step shown in Figure 4 in detail, referring to Figure 2.

[0083] Formation stage

[0084] In step 410, the data buyer 220-1 can deliver a resource pool contract to the blockchain network 250. Similar to Figure 3, the resource pool contract triggers the establishment of a resource pool (more specifically, a data stream contract pool, data stream pool) containing a first quantity (2 in this example, but not limited to 2) of resources (more specifically, data streams). In some embodiments, the resource pool contract may include at least one of the following: a list of data stream contract identifiers, a data stream contract switching cycle, a method for pool access to data stream contracts, and a method for selecting data stream contracts. In other embodiments, the resource pool contract may further additionally or alternatively include one or more of the current data stream quantity and the current data stream list. The method for pool access to data stream contracts may include data stream pool access conditions or rules.

[0085] For example, Table 2 below shows the member variables and member methods included in the smart contract.

[0086] [Table 2]

[0087] Unlike the member table shown in Table 1, in Table 2, the resource may be a "data stream contract" (or data stream) rather than a data provider. In other words, in the embodiment shown in Figure 4, the resource pool that the data buyer 220-1 intends to establish is a resource pool for the data stream, not a resource pool for the data provider. Furthermore, the member method in Table 2 does not have a method for establishing a data stream, compared to the member method in Table 1, because this method can be implemented in the data stream contract provided by each data provider. See, for example, the following explanation.

[0088] Similar to the embodiment shown in Figure 3, if the resources in the resource pool correspond to data stream contracts (or data streams), the data buyer (or data receiver) can establish a data stream with the corresponding data provider (or data sender), and these data providers correspond to a second quantity of data stream contracts (or data streams) in the resource pool.

[0089] In steps S415a and S415b, data providers 210-1 and 210-2 can each distribute their data stream contracts to the blockchain network 250. In some embodiments, the data stream contract may include at least one of a data stream contract identifier, a data provider identifier, a data stream price and / or a price calculation method, content information, a data stream establishment method, and a data flow pool joining method.

[0090] For example, Table 3 below shows the member variables and member methods included in the smart contract.

[0091] [Table 3]

[0092] In step S420, one or more nodes in the blockchain network 250 can determine whether the data stream contracts distributed by data providers 210-1 and 210-2 satisfy the pool access conditions in the resource pool contract. For example, the "Data Stream Contract Pool Access Method()" (see Table 2) of the resource pool contract distributed by data buyer 220-1 can call the "Data Pool Join Method()" in the data stream contract distributed by data providers 210-1 and / or 210-2 (see Table 3), or conversely (depending on the specific implementation of these two methods), it can determine whether it can join the resource pool.

[0093] If the data stream contracts distributed by data providers 210-1 and 210-2 satisfy the pool access conditions in the resource pool contract, one or more nodes in the blockchain network 250 can form a resource pool (or data stream contract pool, data stream pool) in step S425. In this example, the data stream contract pool may include the data stream contracts provided by data providers 210-1 and 210-2.

[0094] In some embodiments, pool access conditions or rules may relate to the content, quality, price, or reputation score of the data provided by the data provider. For example, pool access conditions or rules may be that the content of the data stream meets relevant requirements or that the price of the data stream is below a certain threshold. Also, similar to the embodiment shown in Figure 3, when forming a resource pool, the data provider's data stream contract may proactively request to join the resource pool. The blockchain network 250 sends an invitation to join the resource pool to the data provider's data stream contract that satisfies the pool access rules, and if the data stream contract agrees to join the resource pool, the blockchain network 250 adds the data stream contract identifier to the data stream contract identifier list in the resource pool contract, thereby adding the data stream contract identifier to the resource pool. If a data stream contract that satisfies the pool access rules does not agree to join the resource pool, the blockchain network 250 can find another data stream contract that satisfies the pool access rules and invoke its pool access method. This process can be repeated until the resource pool contains the first quantity of resources (i.e., data stream contracts) specified in the resource pool contract.

[0095] Usage stage

[0096] In step S430, one or more nodes in the blockchain network 250 call a data stream selection method in the resource pool contract to select a second quantity of data stream contracts. In some embodiments, the second quantity may be smaller than the first quantity. In the embodiment shown in Figure 4, one or more nodes in the blockchain 250 can select a data stream contract provided by the data provider 210-1. In some embodiments, the data stream selection method may be, for example, a selection method based on data quality, a selection method based on data price, a selection method based on the data provider's reputation score, etc. In other embodiments, the data stream selection method may be a random selection method.

[0097] In steps S435a and S435b, one or more nodes in the blockchain network 250 can instruct the data buyer 220-1 and the data provider 210-1 to establish data streams with each other. For example, the data stream between the two can be established by calling the "method for establishing data stream()" in the data stream contract distributed by the data provider 210-1. Similar to the embodiment shown in Figure 3, the data stream may be established by the blockchain network 250 or directly between the two.

[0098] In step S440, the data purchaser 220-1 can receive real-time data from the data provider 210-1 via the established data stream and perform the corresponding processing.

[0099] Adjustment stage

[0100] If one or more nodes in the blockchain network 250 determine that the data stream switching condition is met, the method for selecting a data stream contract in the resource pool contract can be invoked to select a second quantity of data stream contracts. In some embodiments, the resource switching condition may be a resource switching cycle. In other embodiments, the resource switching condition may be a data stream interruption. Such a data stream interruption may be due to a failure of the data provider's equipment.

[0101] In the embodiment shown in Figure 4, in step S450, one or more nodes in the blockchain network 250 or the data buyer 220-1 detects an interruption in the data stream between the data buyer 220-1 and the data provider 210-1, for example, in the manner shown in Figure 5 below. In step S455, one or more nodes in the blockchain network 250 can re-select the data stream contract provided by the data provider (e.g., data provider 210-2) based on the "data stream contract selection method()".

[0102] Next, similar to steps S435a and S435b, in step S460a and / or S460b, one or more nodes of the blockchain 250 may each instruct the data buyer 220-1 and the data provider 210-2 to establish data streams with each other, or instruct one of them to establish data streams with the other.

[0103] In step S465, the data purchaser 220-1 can receive real-time data from the newly selected data provider 210-2 via the newly established data stream.

[0104] Cancellation stage

[0105] In steps S470a and S470b, the data buyer 220-1 and / or the data provider 210-2 may send a request to the blockchain network 250 to release the resource pool contract. For example, in some embodiments, if the data provider 210-2 needs to stop its service for maintenance, it may consider temporarily logging out of the resource pool and therefore can trigger a release for the data stream contract delivered to it in step S370b. In another embodiment, if the data buyer 220-1 needs to temporarily maintain its equipment, it may trigger a release for the resource pool contract delivered to it. Naturally, these requests to release resource pool contracts or data stream contracts should not violate any relevant provisions that may exist in the previously delivered resource pool contract and / or data stream contract, such as the term of the resource pool contract, the term of the data stream contract, etc. Also, in some embodiments, after the data buyer S220-1 has obtained the necessary data, it may trigger a release for the resource pool contract.

[0106] The subsequent steps shown in Figure 4 are almost identical to the corresponding steps shown in Figure 3, and therefore their explanation is omitted.

[0107] According to the embodiment shown in Figure 3 or Figure 4, when one or more nodes in the blockchain network 250 determine that a resource switching condition is met, a resource selection method in the resource pool contract (for example, the data provider selection method in Table 1 or the data stream contract selection method in Table 2) can be invoked to select a second quantity of resources, where the resource switching condition may be data stream interruption or periodicity.

[0108] In data transactions, data streams provided by data providers to data buyers can generally include information such as timestamps and data provider identifiers, in addition to content information. It is possible to determine whether a data stream has been blocked based on data stream information detected at different times.

[0109] Figure 5 is a schematic diagram illustrating the detection of data stream interruption according to an embodiment of the present disclosure. In the embodiment of Figure 5, one or more nodes in the blockchain network (e.g., blockchain network 250) can determine whether the data is real-time data and / or whether a data stream interruption has occurred by determining the timestamp and / or data provision method identifier in the data stream acquired at check time T1 and check time T2. For example, at check time T1, one or more nodes in the blockchain network or data buyer 220-1 can determine from the data provider identifier in the data stream that three data providers 210-1 to 210-3 are currently providing data to data buyer 220-1. At check time T2, one or more nodes in the blockchain network or data buyer 220-1 can determine from the data provider identifier in the data stream that two data providers 210-1 and 210-2 are currently providing data to data buyer 220-1. By comparing the data streams obtained at check times T1 and T2, one or more nodes or data buyers 220-1 in the blockchain network can determine that data provider 210-3 did not provide data to data buyer 220-1 at check time T2, and that this may result in a data stream blockage between data provider 210-3 and data buyer 220-1.

[0110] Figure 6 shows a flowchart of method 600 that can be performed in the data receiving electronic device according to an embodiment of the present disclosure.

[0111] Method 600 may include the following: In step S610, a resource pool contract may be delivered to the blockchain network, which triggers the creation of a resource pool containing a first quantity of resources.

[0112] Method 600 may further include: in step S620, a data provider and data stream can be established corresponding to a second quantity of resources in the resource pool, where the second quantity is smaller than the first quantity.

[0113] Method 600 may further include: In step S630, real-time data transmitted from the data provider can be received via a data stream.

[0114] In some embodiments, the resource pool contract may include a resource selection method. This resource selection method is invoked when one or more nodes in the blockchain network determine that a resource switching condition is met, causing the data buyer to establish a data stream with a data provider corresponding to a second quantity of resources. In some embodiments, the resource selection method may be invoked by one or more nodes in the blockchain network to select a resource other than the one for which a corresponding data stream exists with the current data receiver in the resource pool, and the data receiver to establish a new data stream with a data provider corresponding to the selected resource. In some embodiments, the resource switching condition may include one or more of a resource switching cycle and data stream blocking. In some embodiments, the resource pool contract may include a resource pool access method, which may include resource pool access rules. This resource pool access method triggers a resource to join the resource pool when one or more nodes in the blockchain network determine that the resource satisfies the resource pool access rules. In some embodiments, a resource in the resource pool may be at least one of a data provider or a data stream contract. If the resource is a data provider, the resource pool contract may include at least one of the following: a list of data provider identifiers, a data provider switching cycle, a data stream price and / or a pricing method, a data provider pool access method, a data provider selection method, and a data stream establishment method. If the resource is a data stream contract, the resource pool contract may include at least one of the following: a list of data stream contract identifiers, a data stream contract switching cycle, a data stream contract pool access method, and a data stream contract selection method.If the resource is a data stream contract, step S620 may include: executing a data stream establishment method in a resource pool contract to establish a data sender and data stream that does not exceed the resources corresponding to the second quantity, or executing a data stream contract selection method in a resource pool contract to trigger a data stream contract that does not exceed the second quantity and establish a data sender and data stream that corresponds to the data stream contract of the second quantity.

[0115] Figure 7 shows a flowchart of a method 700 that can be implemented in the data-transmitting electronic device according to an embodiment of the present disclosure.

[0116] Method 700 may include the following: In step S710, a resource pool contract may be received from a blockchain network, which triggers the establishment of a resource pool containing a first quantity of resources, the resource pool contract may further include a parameter indicating a second quantity of resources to be expected to be activated simultaneously in the resource pool, the second quantity being smaller than the first quantity.

[0117] Method 700 may further include: In step S720, a message can be sent to the blockchain network instructing it to agree to join the resource pool.

[0118] In some embodiments, Method 700 may further include: establishing a data stream with a data buyer that has delivered a resource pool contract through the coordination of a blockchain network executing a data stream contract; and transmitting real-time data to the corresponding data buyer via the established data stream.

[0119] Figure 8 shows a flowchart of another method 800 that can be performed in the data-transmitting electronic device according to an embodiment of the present disclosure.

[0120] Method 800 may include the following: In step S810, a data stream contract may be delivered to a blockchain network, which triggers the data stream provided by the data provider to join a resource pool as a resource, which may be a resource pool containing a first quantity of resources established by a resource pool contract delivered by the data buyer, which may further include a parameter indicating a second quantity of resources expected to be activated simultaneously in the resource pool, which may be less than the first quantity.

[0121] Method 800 may further include: receiving a message from the blockchain network indicating that the data stream contract has joined the resource pool. In some embodiments, Method 800 may further include: establishing a data stream with the data buyer that delivered the resource pool contract through the coordination of the blockchain network executing the data stream contract; and transmitting real-time data to the corresponding data buyer via the established data stream. In some embodiments, the data stream contract may include at least one of: a data stream contract identifier, a data provider identifier, a data stream price and / or a price calculation method, content information, a data stream establishment method, and a resource pool joining method.

[0122] Figure 9 is a schematic hardware layout diagram of an electronic device 900 for real-time data communication according to an embodiment of the present disclosure (for example, one of the data provider 210 and data purchaser 220 shown in Figures 2 to 5). The hardware layout 900 may include a processor or controller 906 (for example, a digital signal processor (DSP), a central processing unit (CPU), etc.). The processor 906 may be a single processing unit or multiple processing units for performing different operations of the flow described herein. The layout 900 may further include an input unit 902 for receiving signals from other entities and an output unit 904 for providing signals to other entities. The input unit 902 and the output unit 904 may be a single entity or separate entities.

[0123] Furthermore, the configuration 900 may include at least one readable storage medium 908 having the form of non-volatile or volatile memory, such as electrically erasable programmable read-only memory (EEPROM), flash memory, and / or a hard disk drive. The readable storage medium 908 includes a computer program 910, which includes code / computer-readable instructions, and when executed by the processor 909 in the configuration 900, the hardware configuration 900 and / or the equipment including the hardware configuration 900 can perform the flows described with reference to, for example, Figures 3-5 and any variations thereof.

[0124] The computer program 910 can be configured, for example, as computer program code having a computer program module 910A to 910C architecture. Thus, in an exemplary embodiment where the hardware deployment 900 is used on the data purchasing side 220, for example, the code in the computer program of the deployment 900 may include: module 910A, used to deliver a resource pool contract to the blockchain network, which triggers the creation of a resource pool containing a first quantity of resources; module 910B, which creates a data stream with a data sender corresponding to a second quantity of resources in the resource pool, where the second quantity is smaller than the first quantity; and module 910C, which receives real-time data transmitted by the data sender via the data stream.

[0125] Furthermore, in an exemplary embodiment where, for example, the data provider 210 uses the hardware configuration 900, the code in the computer program for the configuration 900 may include: a module 910D used to receive a resource pool contract from the blockchain network, which triggers the establishment of a resource pool containing a first quantity of resources, which further includes a parameter indicating a second quantity of resources to be expected to be activated simultaneously in the resource pool, the second quantity being smaller than the first quantity; and a module 910E sending a message to the blockchain network instructing it to agree to join the resource pool.

[0126] Furthermore, in other embodiments, for example, in an exemplary embodiment where the hardware deployment 900 is used on the data provider side 210, the code in the computer program for the deployment 900 may include: module 910D which delivers a data stream contract to the blockchain network, the data stream contract which triggers the data stream provided by the data provider to join a resource pool as a resource, the resource pool which is a resource pool containing a first quantity of resources that is established triggered by a resource pool contract delivered by the data receiver, the resource pool contract further includes a parameter which indicates a second quantity of resources that are expected to be activated simultaneously in the resource pool, the second quantity being less than the first quantity; and module 910E which receives a message from the blockchain network indicating that the data stream contract has joined the resource pool.

[0127] The computer program modules can effectively perform each operation in the flow shown in Figures 3-5, thereby simulating the data provider 210 and / or data purchaser 220. In other words, if different computer program modules are executed in the processor or controller 909, they can correspond to simulating different units or modules in the data provider 210 and / or data purchaser 220.

[0128] In the embodiment disclosed in Figure 9, the coding means is implemented as a computer program module and, when executed on the processor 906, causes the hardware configuration 900 to perform the operations described with reference to Figures 3 to 5. However, in a selected embodiment, at least one of the coding means may be implemented at least partially as a hardware circuit.

[0129] The processor may be a single CPU (Central Processing Unit), but may include two or more processing units. For example, the processor may include a general-purpose microprocessor, a command set processor and / or an associated chipset and / or a dedicated microprocessor (e.g., a dedicated integrated circuit (ASIC)). The processor may further include onboard memory for cache purposes. The computer program may be carried by a computer program product connected to the processor. The computer program product may include a computer-readable medium on which the computer program is stored. For example, the computer program product may be flash memory, random access memory (RAM), read-only memory (ROM), or EEPROM, and the computer program modules may be distributed to different computer program products in the form of memory within the electronic device in a selected embodiment.

[0130] The above has described the present disclosure, including preferred embodiments. It should be understood that those skilled in the art can make various other modifications, substitutions, and additions without departing from the spirit and scope of the present disclosure. Therefore, the scope of the present disclosure is not limited to the specific embodiments described above, but should be limited by the appended claims. [Explanation of symbols]

[0131] 902 Input Unit 904 Output Unit 906 Processor 908 Readable storage medium

Claims

1. A method for real-time data communication executed on the processor of an electronic device receiving data, Distributing a resource pool contract to the blockchain network and triggering the said resource pool contract to establish a resource pool containing a first quantity of resources, A data sender and data stream are established corresponding to the second quantity of resources in the resource pool, and the second quantity is smaller than the first quantity. The data stream includes receiving real-time data transmitted by the data sender, The resource pool contract includes a resource selection method, which is invoked when the resource selection method determines that one or more nodes in the blockchain network satisfy the resource switching conditions, thereby the data receiver establishes a data stream with the data sender corresponding to a second quantity of resources in the resource pool. The resource selection method is further invoked by one or more nodes in the blockchain network to select a resource other than the resource in the resource pool that currently has a corresponding data stream with the data receiver, and the data receiver establishes a new data stream with the data sender corresponding to the selected resource. The aforementioned resource switching conditions include data stream interruption, The resources in the resource pool are at least one of the following: a data sender or a data stream contract. A method for real-time data communication.

2. The aforementioned resource switching conditions further Includes resource switching cycle The method according to claim 1.

3. The resource pool contract includes a resource pool access method, and the resource pool access method includes resource pool access rules. The resource pool access method triggers the addition of the resource to the resource pool when one or more nodes in the blockchain network determine that the resource pool access rules are met. The aforementioned resource pool access rules specify the rules that resources joining the resource pool must satisfy. The method according to claim 1.

4. If the resource is the data sender, the resource pool contract further: Data sender identifier list, Data transmission side switching cycle, Data stream pricing and / or pricing method, Data sender pool access method, Method for selecting the data sender, and A method for establishing a data stream, including at least one of the following: The method according to claim 1.

5. If the resource is a data stream contract, the resource pool contract further: Data stream contract identifier list, Data stream contract switching cycle, How to access the pool of data stream contracts, and A method for selecting a data stream contract, including at least one of the following: The method according to claim 1.

6. The step of establishing a data sender and data stream corresponding to the second quantity of resources in the resource pool is as follows: Execute the data stream establishment method in the resource pool contract and establish a data stream with a data sender corresponding to a resource that does not exceed the second quantity, or This includes performing a method for selecting data stream contracts in the resource pool contract and triggering data stream contracts that do not exceed the second quantity, thereby establishing data senders and data streams corresponding to the second quantity of data stream contracts in the resource pool. The method according to claim 4 or 5.

7. A first electronic device used on the data receiving side, Processor and Includes a memory that stores a command to cause the first electronic device to perform the method according to any one of claims 1 to 6 when executed by the processor. First electronic equipment.

8. A method for real-time data communication, which is executed on the processor of an electronic device that transmits data, A resource pool contract is received from the blockchain network, and the resource pool contract is triggered to establish a resource pool containing a first quantity of resources, and the resource pool contract further includes a parameter indicating a second quantity of resources to be expected to be activated simultaneously in the resource pool, wherein the second quantity is smaller than the first quantity. This includes sending a message to the blockchain network instructing it to agree to add the resources to the resource pool, The resource pool contract includes a resource selection method, which is invoked when the resource selection method determines that one or more nodes in the blockchain network satisfy the resource switching conditions, thereby establishing a data stream between the data receiver and the data sender corresponding to a second quantity of resources in the resource pool. The resource selection method is further invoked by one or more nodes in the blockchain network to select a resource other than the resource in the resource pool that currently has a corresponding data stream with the data receiver, and the data receiver establishes a new data stream with the data sender corresponding to the selected resource. The aforementioned resource switching conditions include data stream interruption, The resources in the resource pool are at least one of the following: a data sender or a data stream contract. A method for real-time data communication.

9. In cooperation with the blockchain network that executes the resource pool contract, a data receiving side that distributes the resource pool contract and a data stream are established. This further includes transmitting real-time data to the corresponding data receiver via the established data stream. The method according to claim 8.

10. A method for real-time data communication, which is executed on the processor of an electronic device that transmits data, A data stream contract is delivered to the blockchain network, the data stream contract triggers the data stream provided by the data sender to join a resource pool as a resource, the resource pool is a resource pool containing a first quantity of resources that is established triggered by a resource pool contract delivered by the data receiver, the resource pool further includes a parameter indicating a second quantity of resources that are expected to be activated simultaneously in the resource pool, the second quantity being smaller than the first quantity, This includes receiving a message from the blockchain network instructing the data stream contract to join the resource pool, The resource pool contract includes a resource selection method, which is invoked when the resource selection method determines that one or more nodes in the blockchain network satisfy the resource switching conditions, thereby the data receiver establishes a data stream with the data sender corresponding to a second quantity of resources in the resource pool. The resource selection method is further invoked by one or more nodes in the blockchain network to select a resource other than the resource in the resource pool that currently has a corresponding data stream with the data receiver, and the data receiver establishes a new data stream with the data sender corresponding to the selected resource. The aforementioned resource switching conditions include data stream interruption, The resources in the resource pool are at least one of the following: a data sender or a data stream contract. A method for real-time data communication.

11. In cooperation with the blockchain network that executes the aforementioned data stream contract, a data receiving side that distributes the resource pool contract and a data stream are established, The established data stream transmits real-time data to the corresponding data receiver, Includes The method according to claim 10.

12. The aforementioned data stream contract is Data stream contract identifier, The identifier of the data transmission side, Data stream pricing and / or pricing method, Content information, Method for establishing a data stream, and Includes at least one of the methods for joining a resource pool. The method according to claim 10.

13. A second electronic device used on the data transmission side, Processor and Includes a memory that stores a command to cause the second electronic device to perform the method according to any one of claims 8 to 12 when executed by the processor. Second electronic device.

14. A system for real-time data communication, Blockchain network and A first electronic device connected to the aforementioned blockchain network via communication, Includes one or more second electronic devices connected to the aforementioned blockchain network via communication, The first electronic device is, First processor, When executed by the first processor, the first processor of the first electronic device, The distribution of a resource pool contract to the aforementioned blockchain network, and the triggering of the resource pool contract to establish a resource pool containing a first quantity of resources, A data sender and data stream are established corresponding to the second quantity of resources in the resource pool, and the second quantity is smaller than the first quantity. Includes a first memory that stores a command to perform the operation of receiving real-time data transmitted by the data transmitting side via the data stream, The aforementioned one or more second electronic devices are The second processor, When executed by the corresponding second processor, the second processor of the corresponding second electronic device, To perform the operations of receiving the resource pool contract from the blockchain network and sending a message to the blockchain network instructing it to agree to add the resources to the resource pool, or The system includes a second memory that records instructions for performing the following operations: delivering a data stream contract to the blockchain network, triggering the data stream contract to join the resource pool as a resource using the data stream provided by the data sender, and receiving a message from the blockchain network instructing the data stream contract to join the resource pool. The resource pool contract includes a resource selection method, which is invoked when the resource selection method determines that one or more nodes in the blockchain network satisfy the resource switching conditions, thereby establishing a data stream between the data receiver and the data sender corresponding to a second quantity of resources in the resource pool. The resource selection method is further invoked by one or more nodes in the blockchain network to select a resource other than the resource in the resource pool that currently has a corresponding data stream with the data receiver, and the data receiver establishes a new data stream with the data sender corresponding to the selected resource. The aforementioned resource switching conditions include data stream interruption, The resources in the resource pool are at least one of the following: a data sender or a data stream contract. system.