CN114125020B - 实时数据通信的方法、电子设备和系统 - Google Patents
实时数据通信的方法、电子设备和系统 Download PDFInfo
- Publication number
- CN114125020B CN114125020B CN202010958010.1A CN202010958010A CN114125020B CN 114125020 B CN114125020 B CN 114125020B CN 202010958010 A CN202010958010 A CN 202010958010A CN 114125020 B CN114125020 B CN 114125020B
- Authority
- CN
- China
- Prior art keywords
- data
- contract
- resource pool
- resource
- data stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 128
- 238000004891 communication Methods 0.000 title claims abstract description 30
- 238000010187 selection method Methods 0.000 claims description 40
- 238000011176 pooling Methods 0.000 claims description 35
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 238000005304 joining Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本公开提出了用于实时数据通信的方法、电子设备和系统。一种在数据接收方的电子设备处执行的用于实时数据通信的方法包括:向区块链网络发布资源池合约,该资源池合约用于触发建立包括第一数量的资源在内的资源池;与对应于资源池中的第二数量的资源的数据提供方建立数据流,该第二数量小于第一数量;以及通过数据流来接收数据提供方发送的实时数据。
Description
技术领域
本公开涉及通信领域,且更具体地涉及用于实时数据通信的方法、电子设备和系统。
背景技术
随着通信技术的飞速发展,物联网(IoT)已经日益受到关注。物联网,即“万物相连的互联网”,是互联网基础上的延伸和扩展的网络,其是将各种信息传感设备(即,传感器)与互联网结合起来而形成的一个巨大网络,实现在任何时间、任何地点,人、机、物的互联互通。
根据市场调研报告“State of the market:Internet of things 2016”统计,全球IoT传感器市场已经超过6000亿/年,包括传感器的购买、安装、维护以及传感器接口软件等。通过传感器,传感器拥有者能够获得更多的数据,以及服务提供商也可基于传感器数据来提供增值服务。随着5G技术的发展,传感器数据的传送更加便利,传感器数据可以快捷、实时的发送到数据接收方。
因此,未来是数据时代已经在通信业、制造业等各行业内达成共识。数据交易将是未来的发展趋势。数据交易一方面能够降低传感器拥有者的投资、运维成本,另一方面也能够促进数据的价值挖掘。
在传统的数据交易方法中,数据交易通常通过第三方交易中心来完成。这种数据交易方法难以维护交易数据的完整性,并且由于交易的非透明性、交易历史难以追溯等原因,因此交易过程的相关信息很容易被修改。此外,这种数据交易方法也难以保证在由于网络原因或者数据提供方原因而导致数据流断流时能够及时为数据接收方建立新的数据流,从而可能使得交易双方的利益受损。
发明内容
为了至少部分解决或减轻上述问题,提供了根据本公开实施例的用于实时数据通信的方法、电子设备和系统。考虑到可能存在的数据断流现象,当某个数据流出现断流时,数据接收方可以自动切换到其他数据流,从而保证在任意时刻与满足数据量需求的数据提供方建立合约。
根据本公开的第一方面,提供了一种在数据购买方的电子设备处执行的用于实时数据通信的方法。该方法可以包括:向区块链网络发布资源池合约,所述资源池合约用于触发建立包括第一数量的资源在内的资源池;与对应于所述资源池中的第二数量的资源的数据发送方建立数据流,所述第二数量小于所述第一数量;以及通过所述数据流来接收所述数据发送方发送的实时数据。
在一些实施例中,所述资源池合约包括资源选择方法,所述资源选择方法用于在所述区块链网络中的一个或多个节点判断满足资源切换条件时被调用,以使得所述数据接收方与对应于第二数量的资源的数据发送方建立数据流。在一些实施例中,所述资源选择方法还被所述区块链网络中的一个或多个节点调用,以选择所述资源池中的除了当前存在与所述数据接收方的相应数据流的资源之外的资源,并使得所述数据接收方与对应于所选择的资源的数据提供方建立新的数据流。在一些实施例中,所述资源切换条件包括以下一项或多项:资源切换周期;以及数据流断流。在一些实施例中,所述资源池合约包括资源入池方法,所述资源入池方法包括资源入池规则,其中,所述资源入池方法用于触发所述区块链网络中的一个或多个节点在确定资源满足所述资源入池规则时将所述资源加入到所述资源池中。在一些实施例中,所述资源池中的资源是数据发送方或数据流合约中的至少一项。在一些实施例中,在所述资源是数据发送方的情况下,所述资源池合约还包括以下至少一项:数据发送方标识列表;数据发送方切换周期;数据流价格和/或计价方式;数据发送方入池方法;数据发送方选择方法;以及数据流建立方法。在一些实施例中,在所述资源是数据流合约的情况下,所述资源池合约还包括以下至少一项:数据流合约标识列表;数据流合约切换周期;数据流合约入池方法;以及数据流合约选择方法。在一些实施例中,与对应于所述资源池中的第二数量的资源的数据发送方建立数据流的步骤包括:执行所述资源池合约中的数据流建立方法与不超过对应于所述第二数量的资源的数据发送方建立数据流,或执行所述资源池合约中的数据流合约选择方法触发不超过所述第二数量的数据流合约,以与所述第二数量的数据流合约对应的数据发送方建立数据流。
根据本公开的第二方面,提供了一种数据购买方处使用的第一电子设备。该电子设备包括:处理器;存储器,存储指令,所述指令在由所述处理器执行时使得所述第一电子设备执行根据本公开的第一方面所述的方法。
根据本公开的第三方面,提供了一种在数据提供方的电子设备处执行的用于实时数据通信的方法。该方法包括:从区块链网络接收资源池合约,所述资源池合约用于触发建立包括第一数量的资源在内的资源池,所述资源池合约还包括指示了所述资源池中预期应当同时激活的资源的第二数量的参数,所述第二数量小于所述第一数量;以及向所述区块链网络发送指示同意加入所述资源池的消息。
在一些实施例中,所述方法还包括:在执行所述资源池合约的所述区块链网络的协调下,与发布所述资源池合约的数据接收方建立数据流;以及通过所建立的数据流向相应的数据接收方发送实时数据。
根据本公开的第四方面,提供了一种在数据提供方的电子设备处执行的用于实时数据通信的方法。该方法包括:向区块链网络发布数据流合约,所述数据流合约用于触发由所述数据提供方提供的数据流作为资源加入资源池,所述资源池是由数据接收方发布的资源池合约所触发建立的包括第一数量的资源在内的资源池,所述资源池合约还包括指示了所述资源池中预期应当同时激活的资源的第二数量的参数,所述第二数量小于所述第一数量;以及从所述区块链网络接收指示所述数据流合约加入了所述资源池的消息。
在一些实施例中,所述方法还包括:在执行所述数据流合约的所述区块链网络的协调下,与发布所述资源池合约的数据接收方建立数据流;以及通过所建立的数据流向相应的数据接收方发送实时数据。在一些实施例中,所述的方法,其中,所述数据流合约包括以下至少一项:数据流合约标识;所述数据发送方的标识;数据流价格和/或计价方式;内容信息;数据流建立方法;以及资源池加入方法。
根据本公开的第五方面,提供了一种数据提供方处使用的第二电子设备。该电子设备包括:处理器;存储器,存储指令,所述指令在由所述处理器执行时使得所述第二电子设备执行根据本公开的第三方面或第四方面所述的方法。
根据本公开的第六方面,提供了一种用于实时数据通信的系统。该系统包括:区块链网络;第一电子设备,与所述区块链网络通信耦接并包括:第一处理器;第一存储器,存储指令,所述指令在由所述第一处理器执行时使得所述第一电子设备执行以下操作:向所述区块链网络发布资源池合约,所述资源池合约用于触发建立包括第一数量的资源在内的资源池;与对应于所述资源池中的第二数量的资源的数据发送方建立数据流,所述第二数量小于所述第一数量;以及通过所述数据流来接收所述数据发送方发送的实时数据;一个或多个第二电子设备,每个所述第二电子设备与所述区块链网络通信耦接并包括:第二处理器;第二存储器,存储指令,所述指令在由相应第二处理器执行时使得相应第二电子设备执行以下操作:从所述区块链网络接收所述资源池合约;以及向所述区块链网络发送指示同意加入所述资源池的消息,或者执行以下操作:向所述区块链网络发布数据流合约,所述数据流合约用于触发由所述数据提供方提供的数据流作为资源加入所述资源池;以及从所述区块链网络接收指示所述数据流合约加入了所述资源池的消息。
根据本公开的第七方面,还提供了一种计算机可读存储介质,其上存储有指令,所述指令在由处理器执行时,使得所述处理器能够执行上述第一方面、第三方面或第四方面的用于实时数据通信的方法。
在使用上述方法、电子设备、系统和/或计算机可读存储介质的情况下,一方面避免由于数据提供方的设备故障造成的数据缺失,另一方面避免因与更多的数据提供方建立合约而支出的额外费用。
附图说明
通过下面结合附图说明本公开的优选实施例,将使本公开的上述及其它目的、特征和优点更加清楚,其中:
图1是示出了用于说明基于区块链网络的示例智能合约的示例应用场景的示意图;
图2是示出了根据本公开实施例的基于区块链的数据交易场景的示意图;
图3是示出了根据本公开实施例的示例实时数据交易过程的消息流的示意图;
图4是示出了根据本公开另一实施例的示例实时数据交易过程的消息流的示意图;
图5是示出了根据本公开实施例的检测数据流断流的示意图;
图6是示出了根据本公开实施例的在数据接收方的电子设备中执行的示例方法的流程图;
图7是示出了根据本公开实施例的在数据发送方的电子设备中执行的示例方法的流程图;
图8是示出了根据本公开实施例的在数据发送方的电子设备中执行的另一示例方法的流程图;以及
图9是示出了根据本公开实施例的用于实时数据通信的设备的示意硬件布置图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。应注意,以下描述只用于举例说明,并不用于限制本公开。在以下描述中,为了提供对本公开的透彻理解,阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本公开。在其他实例中,为了避免混淆本公开,未具体描述公知的电路、材料或方法。
在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本公开至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”、“在实施例中”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和/或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。这里使用的术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。
需要注意的是:尽管下文中以“实时数据交易”为例来详细描述本文的实施例,但本公开不限于此。事实上,实时数据交易仅是本文中所提出的“实时数据通信”方案的一种具体应用场景,而本申请中的实时数据通信方案可适用于任何需要进行实时数据通信的情况,例如,非交易性的实时数据通信。
此外,尽管本文中采用了以太坊(ethereum)技术中的术语“智能合约”或“合约”以及其使用的Solidity编程语言,但本公开不限于此。事实上,在本文中术语“合约”可以用来指代数据交易(或数据通信)中至少一方提出的与建立、维护、改变、拆除数据流等相关的信息,且因此术语“智能合约”和/或“合约”等也可以是应用、APP、源代码、可执行代码、消息、文本、二进制数据、软件、固件等任何可以在网络上传递的信息。在外,当被应用在实时数据通信之外的领域时,术语“智能合约”和/或“合约”也可以不涉及与数据流相关的其它信息。
此外,术语“数据流”通常指在其传输过程中被用于发送或接收信息的一系列数字编码的有序信号或其载体。换言之,术语“数据流”在本文中既可以指代在两个或多个实体之间所传输的一系列信息本身,也可以指代在这两个或多个实体之间所建立的用于传输这些信息的逻辑信道。
如前所述,传统的数据交易方法存在多种问题,例如:难以维护交易数据的完整性、交易的非透明性、交易历史难以追溯、相关信息很容易被修改、在数据断流时不能及时为数据接收方建立新的数据流等,从而使得数据交易双方的利益都可能受到损害。相比于传统的数据交易方法,基于区块链的数据交易方法由于分布式、去中心化、交易数据不可篡改和撤销等优点而受到越来越多的关注。
基于区块链的数据交易系统通常包括一个或多个数据提供方(在本文中,也可称为“数据发送方”)、一个或多个数据购买方(在本文中,也可称为“数据接收方”)以及区块链网络。区块链网络通常包括多个节点。数据提供方和数据购买方之间的有关数据交易的信息可以被存储区块链网络中的多个节点中。在数据交易过程中,数据购买方或数据提供方中的一者或二者可以向区块链网络发布智能合约。该智能合约可以触发数据购买方与数据提供方建立数据流,并且通过该数据流接收数据并付费。
智能合约是基于区块链的数据交易的重要特性之一。智能合约的概念是NickSzabo在1994年首次提出的,他将智能合约定义如下:“一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议”。智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易是可追踪并且通常是不可逆的(除非合约中设有撤回条款等)。
更一般地,可以将智能合约视为一段计算机程序或交易协议,其意在根据合约或协议中的条款对法律相关事件进行自动执行、控制或留档。智能合约的目的在于减少对可信仲裁人的需要、减少了仲裁和强制执行的成本、减少了欺诈损失、减少了恶意行为和意外行为。
而基于区块链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。将智能合约以数字化的形式写入区块链中,由区块链技术的特性来保证存储、读取、执行整个过程透明、可跟踪、不可篡改。同时,可以通过区块链自带的共识算法来构建一套状态机系统,使得智能合约能够更高效地运行。接下来,将结合图1来详细说明基于区块链网络的智能合约。
图1是示出了用于说明基于区块链网络的示例智能合约的示例应用场景10的示意图。如图1所示,场景10包括想要销售自己的汽车140的用户-1 110、想要购买汽车的用户-2120、以及包括多个节点151~154在内的区块链网络150。然而,需要注意的是,图1的场景10仅用于示例说明,且本公开不限于此。在其它实施例中,场景10中可以包括更多的用户、物品(例如,汽车140),且区块链网络150可以包括更多、更少或不同的节点。
如图1所示,用户-1 110想要出售自己的汽车140。因此,在步骤1处,用户-1 110可以编写智能合约130并向区块链网络150发布该智能合约130。
例如,在一些实施例中,用户-1 110可以向例如以太坊网络注册,并获得其分配的账号ID(例如,123456),然后通过以太坊网络提供的应用向其网络上的节点151~154中的至少一个节点上传并部署其编写的智能合约130。
在一些实施例中,一个简单的示例智能合约130的内容可以如下所示:
以上代码的大体功能可以如图1中“智能合约130”中所描述的,当某一个买家(例如,用户-2 120)向用户-1 110支付10个以太币,则该智能合约自动将智能锁的密码告知该买家并等待买家确认收货,在成功收货之后,区块链网络150将通过所发布的事件来记录车辆所有权的转换并将这10个以太币转给用户-1 110。
具体地,在初始化(或实例化)该智能合约130时,卖家(例如,用户-1 110)可通过例如合约的构造函数“constructor”来设置卖家的区块链网络地址(例如,图1中所示的123456)、车辆的区块链网络地址(例如,图1中所示的330524)和与汽车相关的智能锁的密码(例如,上面代码中的成员变量“passcode”)。
此外,在步骤1之前、之后或同时,用户-1 110可以在步骤1a处,将汽车140寄存到一个公用车库,并且使用可通过智能合约130控制的智能锁来锁定该汽车140(例如,将汽车140放入由智能锁锁定的指定车库中),并设置其解锁密码为例如前面的passcode。在其他实施例中,该智能锁可以具有联网功能,并可以在智能合约130的控制下在每次交易前自动生成新的密码,以防止前次交易失败导致密码被最终买家之外的其他人所获知。
之后,该智能合约130本身可以例如通过例如网页发布让公众知晓。
稍后,在步骤2处,想要购买汽车的用户-2 120可以通过网页或者直接在区块链网络150上找到用户-1 110所发布的智能合约130,通过该智能合约130了解到有关信息(例如,通过与智能合约130相关联的网页,或者在另一些实施例中,在智能合约130中直接写明该车辆的条件),并在想要购买该汽车的情况下签署该智能合约130。具体地,用户-2 120可以通过例如调用上面的“confirmPurchase()”成员方法来签署该合约130。
在接收到用户-2 120的签署(或方法调用)之后,在步骤3处,区块链网络150中的多个节点可以对该交易进行验证,例如验证用户-1 110是否是车主(例如,通过检查与车辆ID 330524有关的交易记录),并且用户-2 120的账户有足够的款项进行支付(例如,通过上面代码中confirmPurchase()方法的修饰符condition(msg.value==1e19)来验证),并且在验证成功的情况下,向用户-2 120自动发送智能锁的解锁密码并记录用户-2 120的账户中减少了相应金额,同时将记录用户-1 110的账户上增加了相应金额。
在步骤4处,用户-2 120可以在从区块链网络150获取智能锁解锁密码之后,通过所获取的解锁密码来提取车辆140。在另一些实施例中,用户-2 120也可以在确定车辆140可被提取之后再确认交易成功(如上面示例代码所示)并进而确认相应转账操作。
在一些实施例中,区块链网络150可以将该交易信息记录在多个节点151~154中的至少一个节点处。例如,可以在上面的代码中发出的多个事件时,在各个节点中记录相应的事件,以对交易进程进行记录。
需要注意的是:尽管上面给出了一个简单的用于交易的智能合约的示例,但本公开不限于此。事实上,可以对智能合约130进行修改,以使其能够包含更多或不同的成员变量和/或成员方法等。如以下所描述的,其也可以用于数据交易的场景。
例如,可以由数据提供方作为用户-1 110而数据购买方作为用户-2 120,并可以在智能合约中通过例如参数(例如,成员方法或成员变量中的参数)来规定双方之间进行数据交易的细节,例如(但不限于):如何建立数据流、数据流的价格/定价方式、如何结算数据流、如何结束数据流、发生分歧的解决方案、解约条件等等。在采用区块链网络150来实现这样的数据交易的情况下,可以很好地解决难以维护交易数据的完整性、交易的非透明性、交易历史难以追溯、相关信息很容易被修改等问题。
然而,在一些情况下,当数据购买方需要同时与多个数据提供方进行交易以获得足够的数据时,例如,在一个生产设备提供商(作为数据购买方)想要从使用其生产设备的多个工厂(作为数据提供方)获取其生产设备的实时生产数据以改进相应生产设备时,该生产设备提供商可以同时与多个工厂建立数据流,获取各个工厂的数据并且对每个数据流进行支付。在这种情况下,可能存在如下问题:某一个或多个数据提供方在一段时间内不提供数据。例如由于生产计划调整生产线停产,数据提供方的生产设备无法上传设备运营数据。又例如,工业生产设备可能因为故障导致无法正常工作也无法上传设备运营数据。上述情况都会导致数据断流,影响数据购买方的正常业务。
一种解决该问题的方案是:数据购买方为了保证获取足够的数据,可以与更多的数据提供方建立合约,从而避免因为设备的故障导致数据的缺失。例如,数据购买方在正常情况下可能需要2个数据提供方的数据,但是为了在其中的一个或甚至两个数据提供方断流的情况下保证获取足够的数据,数据购买方通常将与3个或更多个数据提供方建立数据流,并对这些数据流进行支付。
然而,这会产生新的问题:一方面数据购买方需要支付额外的费用,另一方面数据购买方可能由于处理能力有限无法对购买的实时数据进行完全处理,造成费用和数据资源的浪费。
为此,提出了根据本公开实施例的用于实时数据通信的方案。以下,将结合图2~图5来详细描述该技术方案。
图2是示出了根据本公开实施例的基于区块链的数据交易场景20的示意图。在该示例场景20中,可以存在4个数据提供方210-1至210-4(以下统称为数据提供方或数据发送方210)和3个数据购买方220-1至220-3(以下统称为数据购买方或数据接收方220)。数据提供方210和数据购买方220可通过区块链网络250进行数据交易。区块链网络250可包括彼此之间互相通信的四个节点251至254。然而,本公开不限于此。在另一些实施例中,可以存在更多、更少或不同的数据提供方、数据购买方和/或区块链网络250的节点。
具体而言,每个数据提供方210-1至210-4可以分别向区块链网络250发布智能合约,该智能合约可以包含与数据交易有关的信息,例如数据提供方所提供的数据流的类型、价格、数据流建立方法等内容。每个数据购买方220-1至220-3可以根据自身需要来签署相应智能合约,并与相应的一个或多个数据提供方进行交易。在一些实施例中,这种数据的交易是通过在数据购买方与数据提供方之间建立的数据流来实现的。
类似地,数据购买方220-1至220~3也可以向区块链网络250发布智能合约,以求购相应的实时数据流。此时,数据提供方210可以根据自身的能力以及意愿来选择前述相应的智能合约,并通过建立数据流来实现数据交易。在另一些实施例中,数据提供方210-1至210~4和数据购买方220-1至220-3可以各自发布自己的智能合约,以分别提供或求购实时数据。
如前所述,在数据购买方220为了避免因为设备的故障导致数据的缺失而与比实际所需的数量更多的数据提供方210建立合约的情况下,一方面数据购买方220需要支付额外的费用;另一方面数据购买方220可能由于处理能力有限无法完全对购买的数据进行处理,造成费用的浪费。
为了至少部分解决或减轻上述问题,提供了根据本公开实施例的用于实时数据通信的方法、电子设备和系统。大体上,该方案可以通过建立具有比所需额定资源多的资源的资源池,在某个资源出现断流时,会自动切换到其他资源,从而保证在任意时刻与满足资源需求的数据提供方建立合约。以下,将结合图3和图4来分别描述两种建立资源池的实施例。
图3是示出了根据本公开实施例的示例实时数据交易过程的消息流的示意图。如图3所示,该方法示例性地包括四个阶段,即形成阶段、使用阶段、调整阶段和解约阶段。然而需要注意的是:这些阶段之间不一定按所示顺序出现,而是可以调换顺序。例如,解约阶段可以出现在调整阶段甚至使用阶段之前,从而保证数据购买方和/或数据提供方有权在满足智能合约规定的情况下随时终止交易。此外,如下文中将描述的,各个阶段中的步骤也可以例如交织执行,且因此本公开的实施例不限于图3所示的步骤执行顺序。
此外,尽管图3所示实施例仅涉及了图2中的数据购买方220-1、数据提供方210-1、数据提供方210-2以及区块链网络250,但本公开不限于此,该实施例仅用于辅助读者理解本公开的技术内容。在另一些实施例中,完全可以涉及更多的数据购买方和/数据提供方。
以下,将结合图2来详细描述图3所示的各个阶段。
形成阶段
在步骤S310处,数据购买方220-1可向区块链网络250发布资源池合约(或更具体地,数据提供方合约),该资源池合约可用于触发建立包括第一数量(在该示例中为2,然而不限于此)的资源(或更具体地,数据提供方)在内的资源池。在一些实施例中,资源池合约可以包括以下至少一项:数据提供方标识列表;数据提供方切换周期;数据流价格和/或计价方式;数据提供方入池方法;数据提供方选择方法;以及数据流建立方法。
例如,下表1中示出了该智能合约中可能包括的成员变量和成员方法。
表1示例资源池合约的成员表
在本实施例中,可以将数据提供方作为资源,即成员变量“最大数据提供方数量”称为第一数量,其用于限定该智能合约所对应的资源池中所能容纳的资源数量。此外,成员变量“额定数据提供方数量”称为第二数量,其用于限定资源池中同时工作(或激活)的资源的预期数量,其通常小于第一数量。在资源池正常工作时,通常有至少一个资源作为备用资源,其可在发生数据流断流时与数据购买方(例如,数据购买方220-1)立刻建立数据流并进而提供实时数据,从而解决或至少减轻数据购买方220-1所可能遇到的数据断流问题。此外,由于并未实际建立数据流来进行数据交易,所以可以用最低成本来邀请数据提供方加入资源池。换言之,在资源池中的资源对应于数据提供方(数据发送方)的情况下,数据购买方(或数据接收方)可以与资源池中的第二数量的资源(即,数据提供方或数据发送方)建立数据流,该第二数量可小于该资源池的最大数据提供方数量(即,第一数量)。因此,由于资源本身也可以对应于数据提供方,也可以认为数据购买方(或数据接收方)与对应于资源池中的第二数量的资源的数据提供方(或数据发送方)建立数据流。
回到图3,在步骤S315a和步骤S315b处,数据提供方210-1和210-2可分别签署由数据购买方220-1发布的该资源池合约。例如,可以通过调用其“数据提供方入池方法()”来实现将相应数据提供方加入资源池。需要注意的是:这两个步骤可以是同时或至少部分先后执行的。
在步骤S320处,区块链网络250可以根据加入的数据提供方210-1和210-2来形成资源池。在图3所示实施例中,由于例如在发布的资源池合约中限定了“最大数据提供方数量”为2,因此资源池可包括数据提供方210-1和210-2两个资源。在一些实施例中,接下来,可以进入资源池的使用阶段。
此外,如表1所示,数据提供方入池方法可以包括入池规则,其可指定加入资源池的数据提供方应当满足的规则。例如,该规则可以与数据提供方提供的数据的内容、质量、价格或数据提供方的信誉评分等有关。例如,入池规则可以是:数据提供方提供的数据的内容需要满足相关要求;数据的质量或数据提供方的信誉评分高于某一阈值;或数据的价格低于某一阈值等。在形成资源池时,可以是由数据提供方自己主动要求加入资源池的,也可以是区块链网络250向满足入池规则的数据提供方发送加入资源池的邀请,并且在该数据提供方同意加入资源池的情况下通过将该数据提供方的标识符加入到资源池合约中的数据提供方列表中来将该数据提供方加入资源池中。此外,如果满足入池规则的数据提供方不同意加入资源池,则区块链网络250可以找到另一满足入池规则的数据提供方并向其发送加入资源池的邀请。该过程可以重复执行,直到资源池中包括资源池合约中指定的第一数量的资源为止。
使用阶段
在步骤S330处,区块链网络250中的一个或多个节点或数据购买方220-1可调用资源池合约中的数据提供方选择方法来选择第二数量的数据提供方。在一些实施例中,第二数量可小于第一数量。在图3所示的实施例中,区块链250可选择数据提供方210-1。在一些实施例中,数据提供方选择方法可以是例如基于数据质量的选择方法、基于数据价格的选择方法、基于数据提供方的信誉得分的选择方法等。在另一些实施例中,数据提供方选择方法也可以是随机选择方法。
接下来,在步骤S335a和/或S335b中,区块链250可以分别指示数据购买方220-1和数据提供方210-1要与彼此建立数据流。例如,可以通过调用资源池合约中的“建立数据流方法()”来建立二者之间的数据流。例如,在该方法中可向数据购买方220-1或数据提供方210-1提供对方的信息,并使其据此建立与对方的数据流。在另一些实施例中,如果需要对数据流进行监管,则区块链网络250可以分别与数据购买方220-1和数据提供方210-1建立数据流,并在两个数据流之间进行转发,从而使得数据流能够得到监管,并例如据此进行公平、公开、公正的计费处理(例如,数据流所传输的数据量、是否断流等等)。
在步骤S340处,数据购买方220-1可以通过所建立的数据流从数据提供方210-1接收实时数据并进行相应处理。
在上面的实施例中,建立数据流的步骤S335a和/或S335b是在区块链网络250形成资源池的步骤S320之后执行的。然而本公开不限于此。事实上,在另一些实施例中,建立数据流的步骤S335a和/或S335b可以是在先执行或与形成资源池同期执行的,例如在数据购买方220-1发布资源池合约之前或同时,其就和数据提供方210-1建立有用于传输实时数据的数据流,且之后通过例如形成阶段来补签资源池合约,并将已建立的数据流的数据提供方210-1纳入该资源池中,作为资源池中的一个资源。
调整阶段
在调整阶段,当区块链网络250中的一个或多个节点确定满足资源切换条件时,可以再次调用资源池合约中的数据提供方选择方法来重新选择第二数量的数据提供方。在一些实施例中,资源切换条件可以是资源切换周期。在另一实施例中,资源切换条件可以是数据流断流。该数据流断流可能是由数据提供方的设备故障造成的。
例如,在图3的实施例中,在步骤S350处,区块链网络250中的一个或多个节点检测到发生数据流断流,例如如下面通过图5所示的方式检测到。在步骤S355中,区块链网络250中的一个或多个节点可通过例如调用“数据提供方选择方法()”来重新选择数据提供方(例如,数据提供方210-2)。
接下来,类似于步骤S335a和步骤S335b,在步骤S360a和/或S360b处,区块链250中的一个或多个节点可以分别指示数据购买方220-1和数据提供方210-2建立数据流的一段并最终形成经过区块链网络转发的数据流,或者指示其中一方与另一方直接在二者之间建立数据流。
在步骤S365处,数据购买方220-1可通过新建立的数据流从重新选择的数据提供方210-2接收实时数据。
解约阶段
在步骤S370a和步骤S370b处,数据购买方220-1和/或数据提供方210-2可以向区块链网络250发送用于解除资源池合约的请求。例如,在一些实施例中,当数据提供方210-2需要停工维修时,其可以考虑暂时退出该资源池,且因此可以在步骤S370b处发起对资源池合约的解除。在另一些实施例中,当数据购买方220-1可能需要临时维护设备时,也可以发起资源池合约的解除。当然,这些资源池合约解除请求不应当违反之前发布的资源池合约中可能存在的相关规定,例如资源池合约期限等。此外,在另一些实施例中,当数据购买方S220-1获得所需的数据之后,其也可以发起对资源池合约的解除。
在步骤S375处,区块链网络250中的一个或多个节点可以判断数据购买方220-1和/或数据提供方210-2是否满足合约解除条件。例如,针对数据购买方220-1,合约解除条件可以是数据购买方是否对数据进行了支付。针对数据提供方210-2,合约解除条件可以是数据提供方是否提供了足够的数据等。此外,还可以如前所述检查双方是否满足其他解约条件,例如资源池合约期限等等。
在区块链网络250中的一个或多个节点确定数据购买方220-1和/或数据提供方210-2满足合约解除条件的情况下,在步骤S380a和/或S380b处,区块链网络250中的一个或多个节点可指示数据购买方220-1和/或数据提供方210-2解除合约并拆除二者之间的数据流。例如,在前述二者之间直接建立数据流的情况下,可以指示二者之一拆除数据流,而在数据流经由区块链网络250来建立的情况下,可以向二者分别指示拆除数据流。
在步骤S385处,数据购买方220-1和数据提供方210-2之间的数据流被拆除,且合约终止。
这样,通过采用图3所示的数据通信方法,可以通过建立资源池来为数据购买方220-1提供备用资源(例如,数据提供方210-2的备用数据流),以防止在某一数据流(例如,数据提供方210-1的数据流)断流的情况下无法及时建立新的数据流。此外,这样建立的数据流其相关信息都被保留在区块链网络中,使得其可具有良好的可追溯性,方便合约双方对数据交易业务进行管理、维护等。
图4是示出了根据本公开另一实施例的示例实时数据交易过程的消息流的示意图。与图3类似,该方法也示例性地包括四个阶段,即形成阶段、使用阶段、调整阶段和解决阶段。然而需要注意的是:这些阶段之间不一定按所示顺序出现,而是可以调换顺序。例如,解约阶段可以出现在调整阶段甚至使用阶段之前,从而保证数据购买方和/或数据提供方有权在满足智能合约规定的情况下随时终止交易。此外,尽管图4所示实施例仅涉及了图2中的数据购买方220-1、数据提供方210-1、数据提供方210-2以及区块链网络250,但本公开不限于此,该实施例仅用于辅助读者理解本公开的技术内容。在另一些实施例中,完全可以涉及更多的数据购买方和/数据提供方。
以下将结合图2来详细描述图4所示的各个阶段。
形成阶段
在步骤410处,数据购买方220-1可向区块链网络250发布资源池合约。与图3类似,该资源池合约可用于触发建立包括第一数量(在该示例中为2,然而不限于此)的资源(更具体地,数据流)在内的资源池(更具体地,数据流合约池、数据流池)。在一些实施例中,资源池合约可以包括以下至少一项:数据流合约标识列表、数据流合约切换周期、数据流合约入池方法、以及数据流合约选择方法。在其他实施例中,资源池合约还可以附加地或者备选地包括当前数据流数量和当前数据流列表中的一项或多项。数据流合约入池方法可以包括数据流池入池条件或规则。
例如,下表2中示出了该智能合约中可能包括的成员变量和成员方法。
表2另一示例资源池合约的成员表
与表1所示的成员表不同的是,在表2中资源可以是“数据流合约”(或数据流)而不是数据提供方。换言之,在图4所示实施例中,数据购买方220-1所要建立的资源池是针对数据流的资源池,而不是针对数据提供方的资源池。此外,表2中的成员方法与表1中的成员方法相比,也少了建立数据流方法(),这是因为其可以在由各数据提供方提供的数据流合约中实现该方法,例如参见以下描述。
与图3所示实施例类似地,在资源池中的资源对应于数据流合约(或数据流)的情况下,数据购买方(或数据接收方)可以和相应的数据提供方(或数据发送方)建立数据流,这些数据提供方对应于资源池中的第二数量的数据流合约(或数据流)。
在步骤S415a和S415b处,数据提供方210-1和数据提供方210-2可分别向区块链网络250发布自己的数据流合约。在一些实施例中,该数据流合约可以包括以下至少一项:数据流合约标识;数据提供方的标识;数据流价格和/或计价方式;内容信息;数据流建立方法;以及数据流池加入方法。
例如,下表3中示出了该智能合约中可能包括的成员变量和成员方法。
表3示例数据流合约的成员表
在步骤S420处,区块链网络250中的一个或多个节点可以分别判断数据提供方210-1和数据提供方210-2发布的数据流合约是否满足资源池合约中的入池条件。例如,数据购买方220-1所发布的资源池合约的“数据流合约入池方法()”(参见表2)可以通过调用数据提供方210-1和/或210-2发布的数据流合约中的“加入数据池方法()”(参见表3),或者反之(取决于这两个方法的具体实现),来判断其是否能够加入该资源池。
在数据提供方210-1和数据提供方210-2发布的数据流合约满足资源池合约中的入池条件的情况下,区块链网络250中的一个或多个节点可在步骤S425形成资源池(或数据流合约池、数据流池)。在该示例中,数据流合约池可包括由数据提供方210-1和210-2提供的数据流合约。
在一些实施例中,入池规则条件或规则可以与数据提供方提供的数据的内容、质量、价格或数据提供方的信誉评分等有关。例如,入池条件或规则可以是数据流的内容满足相关要求或者数据流的价格低于某一阈值。此外,类似于图3所示的实施例,在形成资源池时,可以是由数据提供方的数据流合约自己主动要求加入资源池的,也可以是区块链网络250向满足入池规则的数据提供方的数据流合约发送加入资源池的邀请,并且在该数据流合约同意加入资源池的情况下通过将该数据流合约的标识符加入到资源池合约中的数据流合约标识列表中来将该数据流合约加入资源池中。此外,如果满足入池规则的数据流合约不同意加入资源池,则区块链网络250可以找到另一满足入池规则的数据流合约并向其调用其入池方法。该过程可以重复执行,直到资源池中包括资源池合约中指定的第一数量的资源(即,数据流合约)为止。
使用阶段
在步骤S430处,区块链网络250中的一个或多个节点调用资源池合约中的数据流选择方法来选择第二数量的数据流合约。在一些实施例中,第二数量可小于第一数量。在图4所示的实施例中,区块链250中的一个或多个节点可选择数据提供方210-1提供的数据流合约。在一些实施例中,数据流选择方法可以是例如基于数据质量的选择方法、基于数据价格的选择方法、基于数据提供方的信誉得分的选择方法等。在其他实施例中,数据流选择方法也可以是随机选择方法。
在步骤S435a和S435b中,区块链网络250中的一个或多个节点可以分别指示数据购买方220-1和数据提供方210-1要与彼此建立数据流。例如,可以通过调用数据提供方210-1发布的数据流合约中的“建立数据流方法()”来建立二者之间的数据流。与图3所示实施例类似的,该数据流也可以是通过区块链网络250来建立的,也可以是在二者之间直接建立的。
在步骤S440处,数据购买方220-1可以通过所建立的数据流从数据提供方210-1接收实时数据并进行相应处理。
调整阶段
当区块链网络250中的一个或多个节点确定满足数据流切换条件时,可以调用资源池合约中的数据流合约选择方法来重新选择第二数量的数据流合约。一些实施例中,资源切换条件可以是资源切换周期。在另一实施例中,资源切换条件可以是数据流的中断。该数据流中断可能是由数据提供方的设备故障造成的。
在图4的实施例中,在步骤S450处,区块链网络250中的一个或多个节点或数据购买方220-1检测到数据购买方220-1和数据提供方210-1之间的数据流中断,例如如下面通过图5所示的方式检测到。在步骤S455处,区块链网络250中的一个或多个节点可根据“数据流合约选择方法()”来重新选择由数据提供方(例如,数据提供方210-2)提供的数据流合约。
接下来,类似于步骤S435a和S435b,在步骤S460a和/或S460b处,区块链250中的一个或多个节点可以分别指示数据购买方220-1和数据提供方210-2要与彼此建立数据流,或者指示其中一方与另一方建立数据流。
在步骤S465处,数据购买方220-1可通过新建立的数据流从重新选择的数据提供方210-2接收实时数据。
解约阶段
在步骤S470a和步骤S470b处,数据购买方220-1和/或数据提供方210-2可以向区块链网络250发送用于解除资源池合约的请求。例如,在一些实施例中,当数据提供方210-2需要停工维修时,其可以考虑暂时退出该资源池,且因此可以在步骤S370b处发起对自己发布的数据流合约的解除。在另一些实施例中,当数据购买方220-1可能需要临时维护设备时,也可以发起对自己发布的资源池合约的解除。当然,这些资源池合约或数据流合约的解除请求不应当违反之前发布的资源池合约和/或数据流合约中可能存在的相关规定,例如资源池合约期限、数据流合约期限等。此外,在一些实施例中,当数据购买方S220-1获得所需的数据之后,其也可以发起对资源池合约的解除。
图4所示的后续的步骤与图3所示的对应步骤大体上相似,且因此不再赘述。
根据图3或图4的实施例,当区块链网络250中的一个或多个节点确定满足资源切换条件时,可以调用资源池合约中的资源选择方法(例如,表1中的数据提供方选择方法或表2中的数据流合约选择方法)来重新选择第二数量的资源,其中该资源切换条件可以是数据流的断流或周期性地。
在数据交易中,由数据提供方向数据购买方提供的数据流除了包括内容信息之外,通常还可以包括时间戳、数据提供方的标识等信息。可以根据不同时刻检测到的数据流的信息来判断是否发生了数据流断流。
图5是示出了根据本公开实施例的检测数据流断流的示意图。在图5的实施例中,区块链网络(例如,区块链网络250)中的一个或多个节点可以通过判断在检验时刻T1和检验时刻T2获取的数据流中的时间戳和/或数据提供方法标识来判断数据是否为实时数据和/或是否发生了数据流断流。例如,在检验时刻T1,区块链网络中的一个或多个节点或数据购买方220-1可以通过数据流中的数据提供方标识判断出当前正在有3个数据提供方210-1至210-3为数据购买方220-1提供数据。在检验时刻T2,区块链网络中的一个或多个节点或数据购买方220-1可以通过数据流中的数据提供方标识判断出当前正在有2个数据提供方210-1和210-2为数据购买方220-1提供数据。通过比较在检验时刻T1和T2处获取的数据流,区块链网络中的一个或多个节点或数据购买方220-1可以确定在检验时刻T2处数据提供方210-3没有向数据购买方220-1提供数据,由此确定在数据提供方210-3和数据购买方220-1之间可能发生了数据流断流。
图6示出了根据本公开实施例的可以在数据接收方的电子设备中执行的方法600的流程图。
方法600可以包括:在步骤S610处,可向区块链网络发布资源池合约,该资源池合约用于触发建立包括第一数量的资源在内的资源池。
方法600还可以包括:在步骤S620处,可与对应于资源池中的第二数量的资源的数据提供方建立数据流,其中,该第二数量可小于第一数量。
方法600还可以包括:在步骤S630处,可通过数据流来接收数据提供方发送的实时数据。
在一些实施例中,资源池合约可以包括资源选择方法。该资源选择方法可用于在区块链网络中的一个或多个节点判断满足资源切换条件时被调用,以使得数据购买方与对应于第二数量的资源的数据提供方建立数据流。在一些实施例中,资源选择方法还可被区块链网络中的一个或多个节点调用,以选择资源池中的除了当前存在与数据接收方的相应数据流的资源之外的资源,并使得数据接收方与对应于所选择的资源的数据提供方建立新的数据流。在一些实施例中,资源切换条件可以包括以下一项或多项:资源切换周期;以及数据流断流。在一些实施例中,资源池合约可包括资源入池方法,资源入池方法可包括资源入池规则。该资源入池方法可用于触发区块链网络中的一个或多个节点在确定资源满足资源入池规则时将资源加入到资源池中。在一些实施例中,资源池中的资源可以是数据提供方或数据流合约中的至少一项。在资源是数据提供方的情况下,资源池合约还可以包括以下至少一项:数据提供方标识列表;数据提供方切换周期;数据流价格和/或计价方式;数据提供方入池方法;数据提供方选择方法;以及数据流建立方法。在资源是数据流合约的情况下,资源池合约还可以包括以下至少一项:数据流合约标识列表;数据流合约切换周期;数据流合约入池方法;以及数据流合约选择方法。在资源是数据流合约的情况下,步骤S620可以包括:执行资源池合约中的数据流建立方法与不超过对应于第二数量的资源的数据发送方建立数据流,或执行资源池合约中的数据流合约选择方法触发不超过第二数量的数据流合约,以与第二数量的数据流合约对应的数据发送方建立数据流。
图7示出了根据本公开实施例的可以在数据发送方的电子设备中执行的方法700的流程图。
方法700可以包括:在步骤S710处,可以从区块链网络接收资源池合约,该资源池合约可以用于触发建立包括第一数量的资源在内的资源池,该资源池合约还可以包括指示了资源池中预期应当同时激活的资源的第二数量的参数,该第二数量可以小于第一数量。
方法700还可以包括:在步骤S720处,可以向区块链网络发送指示同意加入资源池的消息。
在一些实施例中,方法700还可以包括,在执行数据流合约的区块链网络的协调下,可以与发布资源池合约的数据购买方建立数据流;以及通过所建立的数据流向相应的数据购买方发送实时数据。
图8示出了根据本公开实施例的可以在数据发送方的电子设备中执行的另一方法800的流程图。
方法800可以包括:在步骤S810处,可以向区块链网络发布数据流合约,该数据流合约可以用于触发由数据提供方提供的数据流作为资源加入资源池,该资源池可以是由数据购买方发布的资源池合约所触发建立的包括第一数量的资源在内的资源池,该资源池合约还可以包括指示了资源池中预期应当同时激活的资源的第二数量的参数,该第二数量可以小于第一数量。
方法800还可以包括:可以从区块链网络接收指示数据流合约加入了资源池的消息。在一些实施例中,方法800还可以包括:在执行数据流合约的区块链网络的协调下,可以与发布资源池合约的数据购买方建立数据流;以及通过所建立的数据流向相应的数据购买方发送实时数据。在一些实施例中,数据流合约可以包括以下至少一项:数据流合约标识;数据提供方的标识;数据流价格和/或计价方式;内容信息;数据流建立方法;以及资源池加入方法。
图9是示出了根据本公开实施例的用于实时数据通信的电子设备900(例如,图2~图5中所示的数据提供方210和数据购买方220中的任一个)的硬件的示意布置图。硬件布置900可包括处理器或控制器906(例如,数字信号处理器(DSP)、中央处理单元(CPU)等)。处理器906可以是用于执行本文描述的流程的不同动作的单一处理单元或者是多个处理单元。布置900还可以包括用于从其他实体接收信号的输入单元902、以及用于向其他实体提供信号的输出单元904。输入单元902和输出单元904可以被布置为单一实体或者是分离的实体。
此外,布置900可以包括具有非易失性或易失性存储器形式的至少一个可读存储介质908,例如是电可擦除可编程只读存储器(EEPROM)、闪存、和/或硬盘驱动器。可读存储介质908包括计算机程序910,该计算机程序910包括代码/计算机可读指令,其在由布置900中的处理器909执行时使得硬件布置900和/或包括硬件布置900在内的设备可以执行例如上面结合图3~5所描述的流程及其任何变形。
计算机程序910可被配置为具有例如计算机程序模块910A~910C架构的计算机程序代码。因此,在例如数据购买方220中使用硬件布置900时的示例实施例中,布置900的计算机程序中的代码可包括:模块910A,用于向区块链网络发布资源池合约,该资源池合约用于触发建立包括第一数量的资源在内的资源池;模块910B,用于与对应于该资源池中的第二数量的资源的数据发送方建立数据流,该第二数量小于该第一数量;以及模块910C,用于通过该数据流来接收数据发送方发送的实时数据。
此外,在例如数据提供方210中使用硬件布置900时的示例实施例中,布置900的计算机程序中的代码可包括:模块910D,用于从区块链网络接收资源池合约,该资源池合约用于触发建立包括第一数量的资源在内的资源池,该资源池合约还包括指示了资源池中预期应当同时激活的资源的第二数量的参数,该第二数量小于第一数量;以及模块910E,用于向区块链网络发送指示同意加入资源池的消息。
此外,在另一些实施例中,在例如数据提供方210中使用硬件布置900时的示例实施例中,布置900的计算机程序中的代码可包括:模块910D,用于向区块链网络发布数据流合约,数据流合约用于触发由数据提供方提供的数据流作为资源加入资源池,资源池是由数据接收方发布的资源池合约所触发建立的包括第一数量的资源在内的资源池,资源池合约还包括指示了资源池中预期应当同时激活的资源的第二数量的参数,第二数量小于第一数量;以及模块910E,用于从区块链网络接收指示数据流合约加入了资源池的消息。
计算机程序模块实质上可以执行图3~5中所示出的流程中的各个动作,以模拟数据提供方210和/或数据购买方220。换言之,当在处理器或控制器909中执行不同计算机程序模块时,它们可以对应于模拟数据提供方210和/或数据购买方220中的不同单元或模块。
尽管上面结合图9所公开的实施例中的代码手段被实现为计算机程序模块,其在处理器906中执行时使得硬件布置900执行上面结合图3~5所描述的动作,然而在备选实施例中,该代码手段中的至少一项可以至少被部分地实现为硬件电路。
处理器可以是单个CPU(中央处理单元),但也可以包括两个或更多个处理单元。例如,处理器可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))。处理器还可以包括用于缓存用途的板载存储器。计算机程序可以由连接到处理器的计算机程序产品来承载。计算机程序产品可以包括其上存储有计算机程序的计算机可读介质。例如,计算机程序产品可以是闪存、随机存取存储器(RAM)、只读存储器(ROM)、EEPROM,且上述计算机程序模块在备选实施例中可以用电子设备内的存储器的形式被分布到不同计算机程序产品中。
其至此已经结合优选实施例对本公开进行了描述。应该理解,本领域技术人员在不脱离本公开的精神和范围的情况下,可以进行各种其它的改变、替换和添加。因此,本公开的范围不局限于上述特定实施例,而应由所附权利要求所限定。
Claims (16)
1.一种在数据接收方的电子设备处执行的用于实时数据通信的方法,包括:
向区块链网络发布资源池合约,所述资源池合约用于触发建立包括第一数量的资源在内的资源池;
与对应于所述资源池中的第二数量的资源的数据发送方建立数据流,所述第二数量小于所述第一数量;以及
通过所述数据流来接收所述数据发送方发送的实时数据,
其中,所述资源池合约包括资源选择方法,所述资源选择方法用于在所述区块链网络中的一个或多个节点判断满足资源切换条件时被调用,以使得所述数据接收方与对应于所述资源池中的第二数量的资源的数据发送方建立数据流,以及所述资源切换条件包括数据流断流。
2.根据权利要求1所述的方法,其中,所述资源选择方法还被所述区块链网络中的一个或多个节点调用,以选择所述资源池中的除了当前存在与所述数据接收方的相应数据流的资源之外的资源,并使得所述数据接收方与对应于所选择的资源的数据提供方建立新的数据流。
3.根据权利要求1所述的方法,其中,所述资源切换条件还包括资源切换周期。
4.根据权利要求1所述的方法,其中,所述资源池合约包括资源入池方法,所述资源入池方法包括资源入池规则,
其中,所述资源入池方法用于触发所述区块链网络中的一个或多个节点在确定资源满足所述资源入池规则时将所述资源加入到所述资源池中。
5.根据权利要求1至4中任一项所述的方法,其中,所述资源池中的资源是数据发送方或数据流合约中的至少一项。
6.根据权利要求5所述的方法,其中,在所述资源是数据发送方的情况下,所述资源池合约还包括以下至少一项:
数据发送方标识列表;
数据发送方切换周期;
数据流价格和/或计价方式;
数据发送方入池方法;
数据发送方选择方法;以及
数据流建立方法。
7.根据权利要求5所述的方法,其中,在所述资源是数据流合约的情况下,所述资源池合约还包括以下至少一项:
数据流合约标识列表;
数据流合约切换周期;
数据流合约入池方法;以及
数据流合约选择方法。
8.根据权利要求6或7所述的方法,其中,与对应于所述资源池中的第二数量的资源的数据发送方建立数据流的步骤包括:
执行所述资源池合约中的数据流建立方法与不超过对应于所述第二数量的资源的数据发送方建立数据流,或
执行所述资源池合约中的数据流合约选择方法触发不超过所述第二数量的数据流合约,以与所述资源池中的所述第二数量的数据流合约对应的数据发送方建立数据流。
9.一种数据接收方处使用的第一电子设备,包括:
处理器;
存储器,存储指令,所述指令在由所述处理器执行时使得所述第一电子设备执行根据权利要求1~8中任一项所述的方法。
10.一种在数据发送方的电子设备处执行的用于实时数据通信的方法,包括:
从区块链网络接收资源池合约,所述资源池合约用于触发建立包括第一数量的资源在内的资源池,所述资源池合约还包括指示了所述资源池中预期应当同时激活的资源的第二数量的参数,所述第二数量小于所述第一数量;以及
向所述区块链网络发送指示同意加入所述资源池的消息,
其中,所述资源池合约还包括资源选择方法,所述资源选择方法用于在所述区块链网络中的一个或多个节点判断满足资源切换条件时被调用,以使得数据接收方与对应于所述资源池中的第二数量的资源的数据发送方建立数据流,以及所述资源切换条件包括数据流断流。
11.根据权利要求10所述的方法,还包括:
在执行所述资源池合约的所述区块链网络的协调下,与发布所述资源池合约的数据接收方建立数据流;以及
通过所建立的数据流向相应的数据接收方发送实时数据。
12.一种在数据发送方的电子设备处执行的用于实时数据通信的方法,包括:
向区块链网络发布数据流合约,所述数据流合约用于触发由所述数据提供方提供的数据流作为资源加入资源池,所述资源池是由数据接收方发布的资源池合约所触发建立的包括第一数量的资源在内的资源池,所述资源池合约还包括指示了所述资源池中预期应当同时激活的资源的第二数量的参数,所述第二数量小于所述第一数量;以及
从所述区块链网络接收指示所述数据流合约加入了所述资源池的消息,
其中,所述资源池合约包括资源选择方法,所述资源选择方法用于在所述区块链网络中的一个或多个节点判断满足资源切换条件时被调用,以使得所述数据接收方与对应于所述资源池中的第二数量的资源的数据发送方建立数据流,以及所述资源切换条件包括数据流断流。
13.根据权利要求12所述的方法,还包括:
在执行所述数据流合约的所述区块链网络的协调下,与发布所述资源池合约的数据接收方建立数据流;以及
通过所建立的数据流向相应的数据接收方发送实时数据。
14.根据权利要求12所述的方法,其中,所述数据流合约包括以下至少一项:
数据流合约标识;
所述数据发送方的标识;
数据流价格和/或计价方式;
内容信息;
数据流建立方法;以及
资源池加入方法。
15.一种数据发送方处使用的第二电子设备,包括:
处理器;
存储器,存储指令,所述指令在由所述处理器执行时使得所述第二电子设备执行根据权利要求10~14中任一项所述的方法。
16.一种用于实时数据通信的系统,包括:
区块链网络;
第一电子设备,与所述区块链网络通信耦接并包括:
第一处理器;
第一存储器,存储指令,所述指令在由所述第一处理器执行时使得所述第一电子设备执行以下操作:
向所述区块链网络发布资源池合约,所述资源池合约用于触发建立包括第一数量的资源在内的资源池;
与对应于所述资源池中的第二数量的资源的数据发送方建立数据流,所述第二数量小于所述第一数量;以及
通过所述数据流来接收所述数据发送方发送的实时数据,
其中,所述资源池合约包括资源选择方法,所述资源选择方法用于在所述区块链网络中的一个或多个节点判断满足资源切换条件时被调用,以使得数据接收方与对应于所述资源池中的第二数量的资源的数据发送方建立数据流,以及所述资源切换条件包括数据流断流;
一个或多个第二电子设备,每个所述第二电子设备与所述区块链网络通信耦接并包括:
第二处理器;
第二存储器,存储指令,所述指令在由相应第二处理器执行时使得相应第二电子设备执行以下操作:
从所述区块链网络接收所述资源池合约;以及向所述区块链网络发送指示同意加入所述资源池的消息,或者执行以下操作:
向所述区块链网络发布数据流合约,所述数据流合约用于触发由数据提供方提供的数据流作为资源加入所述资源池;以及从所述区块链网络接收指示所述数据流合约加入了所述资源池的消息。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010958010.1A CN114125020B (zh) | 2020-09-11 | 2020-09-11 | 实时数据通信的方法、电子设备和系统 |
PCT/CN2021/116694 WO2022052885A1 (zh) | 2020-09-11 | 2021-09-06 | 实时数据通信的方法、电子设备和系统 |
JP2023516216A JP2023541900A (ja) | 2020-09-11 | 2021-09-06 | リアルタイムデータ通信の方法、電子機器及びシステム |
KR1020237012155A KR20230066597A (ko) | 2020-09-11 | 2021-09-06 | 실시간 데이터 통신의 방법, 전자 기기 및 시스템 |
EP21865939.9A EP4213467A1 (en) | 2020-09-11 | 2021-09-06 | Method for real-time data communication, electronic device, and system |
US18/044,376 US20240029158A1 (en) | 2020-09-11 | 2021-09-06 | Method for real-time data communication, electronic device, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010958010.1A CN114125020B (zh) | 2020-09-11 | 2020-09-11 | 实时数据通信的方法、电子设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114125020A CN114125020A (zh) | 2022-03-01 |
CN114125020B true CN114125020B (zh) | 2023-08-29 |
Family
ID=80360649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010958010.1A Active CN114125020B (zh) | 2020-09-11 | 2020-09-11 | 实时数据通信的方法、电子设备和系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20240029158A1 (zh) |
EP (1) | EP4213467A1 (zh) |
JP (1) | JP2023541900A (zh) |
KR (1) | KR20230066597A (zh) |
CN (1) | CN114125020B (zh) |
WO (1) | WO2022052885A1 (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301536A (zh) * | 2017-06-12 | 2017-10-27 | 腾讯科技(深圳)有限公司 | 资源转移方法及装置 |
CN107801249A (zh) * | 2016-09-01 | 2018-03-13 | 鸿海精密工业股份有限公司 | 无线通信系统的资源分配方法及其设备和系统 |
CN108197944A (zh) * | 2017-11-22 | 2018-06-22 | 远光软件股份有限公司 | 基于区块链技术的资源交易方法及装置 |
CN108665261A (zh) * | 2018-04-20 | 2018-10-16 | 杭州环普数据技术有限公司 | 一种去中心化的物联网数据交易系统 |
CN108696760A (zh) * | 2017-04-07 | 2018-10-23 | 京东方科技集团股份有限公司 | 一种信息获取、提供方法及装置 |
SE1750684A1 (en) * | 2017-05-31 | 2018-12-01 | Scania Cv Ab | Method and system for performing data transactions in exchange for assets on a network |
CN109803004A (zh) * | 2019-01-03 | 2019-05-24 | 深圳壹账通智能科技有限公司 | 区块链智能合约管理方法与装置、电子设备、存储介质 |
WO2019223869A1 (en) * | 2018-05-24 | 2019-11-28 | Nokia Solutions And Networks Oy | Migration of service |
KR20190132800A (ko) * | 2018-05-21 | 2019-11-29 | 최승용 | 실시간 영상 데이터 거래 시스템 및 방법 |
CN111402055A (zh) * | 2020-03-19 | 2020-07-10 | 合肥工业大学 | 一种基于区块链的去中心化数据交易方法 |
KR20200098222A (ko) * | 2019-02-12 | 2020-08-20 | 이왕재 | P2p 기반의 데이터 트랜잭션 장치 및 방법 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080221743A1 (en) * | 2007-03-09 | 2008-09-11 | Gordon * Howard Associates, Inc. | Onboard Starter-Interrupt Device Incorporating Wireless Personal Area Network |
US7724780B2 (en) * | 2007-04-19 | 2010-05-25 | Cisco Technology, Ink. | Synchronization of one or more source RTP streams at multiple receiver destinations |
US20170330159A1 (en) * | 2016-05-13 | 2017-11-16 | Bank Of America Corporation | Resource allocation and transfer in a distributed network |
US10158703B2 (en) * | 2016-06-10 | 2018-12-18 | Bank Of America Corporation | Resource allocation and transfer utilizing holds and a distributed network |
US20190318353A1 (en) * | 2018-04-12 | 2019-10-17 | Bank Of America Corporation | Real time data processing platform for resources on delivery interactions |
US20200076742A1 (en) * | 2018-08-28 | 2020-03-05 | Hewlett Packard Enterprise Development Lp | Sending data using a plurality of credit pools at the receivers |
US11270296B2 (en) * | 2018-11-09 | 2022-03-08 | International Business Machines Corporation | Protection of data trading |
CN110335037A (zh) * | 2019-04-19 | 2019-10-15 | 矩阵元技术(深圳)有限公司 | 基于区块链和多方安全计算的交易方法、装置及存储介质 |
CN111061713A (zh) * | 2019-12-11 | 2020-04-24 | 北京时代云链信息科技有限公司 | 区块链数据融合方法、装置、设备以及存储介质 |
CN111163132A (zh) * | 2019-12-11 | 2020-05-15 | 支付宝(杭州)信息技术有限公司 | 基于区块链的服务提供方法、装置、设备及系统 |
-
2020
- 2020-09-11 CN CN202010958010.1A patent/CN114125020B/zh active Active
-
2021
- 2021-09-06 US US18/044,376 patent/US20240029158A1/en active Pending
- 2021-09-06 WO PCT/CN2021/116694 patent/WO2022052885A1/zh active Application Filing
- 2021-09-06 KR KR1020237012155A patent/KR20230066597A/ko unknown
- 2021-09-06 EP EP21865939.9A patent/EP4213467A1/en active Pending
- 2021-09-06 JP JP2023516216A patent/JP2023541900A/ja active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107801249A (zh) * | 2016-09-01 | 2018-03-13 | 鸿海精密工业股份有限公司 | 无线通信系统的资源分配方法及其设备和系统 |
CN108696760A (zh) * | 2017-04-07 | 2018-10-23 | 京东方科技集团股份有限公司 | 一种信息获取、提供方法及装置 |
SE1750684A1 (en) * | 2017-05-31 | 2018-12-01 | Scania Cv Ab | Method and system for performing data transactions in exchange for assets on a network |
CN107301536A (zh) * | 2017-06-12 | 2017-10-27 | 腾讯科技(深圳)有限公司 | 资源转移方法及装置 |
CN108197944A (zh) * | 2017-11-22 | 2018-06-22 | 远光软件股份有限公司 | 基于区块链技术的资源交易方法及装置 |
CN108665261A (zh) * | 2018-04-20 | 2018-10-16 | 杭州环普数据技术有限公司 | 一种去中心化的物联网数据交易系统 |
KR20190132800A (ko) * | 2018-05-21 | 2019-11-29 | 최승용 | 실시간 영상 데이터 거래 시스템 및 방법 |
WO2019223869A1 (en) * | 2018-05-24 | 2019-11-28 | Nokia Solutions And Networks Oy | Migration of service |
CN109803004A (zh) * | 2019-01-03 | 2019-05-24 | 深圳壹账通智能科技有限公司 | 区块链智能合约管理方法与装置、电子设备、存储介质 |
KR20200098222A (ko) * | 2019-02-12 | 2020-08-20 | 이왕재 | P2p 기반의 데이터 트랜잭션 장치 및 방법 |
CN111402055A (zh) * | 2020-03-19 | 2020-07-10 | 合肥工业大学 | 一种基于区块链的去中心化数据交易方法 |
Also Published As
Publication number | Publication date |
---|---|
US20240029158A1 (en) | 2024-01-25 |
KR20230066597A (ko) | 2023-05-16 |
WO2022052885A1 (zh) | 2022-03-17 |
EP4213467A1 (en) | 2023-07-19 |
CN114125020A (zh) | 2022-03-01 |
JP2023541900A (ja) | 2023-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109544160B (zh) | 一种基于区块链和智能合约的交易真实性验证方法及系统 | |
JP7413330B2 (ja) | エネルギ資源ネットワーク | |
CN107358420B (zh) | 用于实现热点账户的区块链系统以及实现热点账户的方法 | |
KR102573433B1 (ko) | 블록체인을 이용한 에너지 거래 플랫폼 및 그 방법 | |
CN109118219B (zh) | 交易数据处理方法和装置 | |
CN101202642B (zh) | 在多播消息传送环境中订阅应用消息的方法和系统 | |
WO2020108147A1 (zh) | 基于区块链的共享资源租赁方法、装置和计算机设备 | |
CN110928951A (zh) | 一种基于区块链的数据共享及仲裁方法 | |
CN112907244B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN114125020B (zh) | 实时数据通信的方法、电子设备和系统 | |
CN115801407A (zh) | 异常节点屏蔽方法、装置、存储介质及目标节点 | |
El-Sisi et al. | Argumentation based negotiation in multiagent system | |
CN106251077A (zh) | 一种信息交互的方法 | |
CN103927680A (zh) | 一种网络应用相关商品的发货通知发送方法和装置 | |
Younas et al. | An efficient composition of Web services with active network support | |
CN1322388C (zh) | 对具有拷贝导出权限的版权进行限制的方法及装置 | |
CN112037062B (zh) | 交易共识方法、装置、电子设备及可读存储介质 | |
CN114066655A (zh) | 预言机数据的聚合方法及装置 | |
CN114119216A (zh) | 数据通信的方法和电子设备 | |
CN110458701A (zh) | 一种数据处理方法、装置、区块链节点设备及介质 | |
Burgos et al. | Tackling Trust and Scalability of the Blockchain-Based Shared Manufacturing Concept | |
CN115526718A (zh) | 基于智能合约的数据资源保护方法 | |
CN113259131B (zh) | 区块链节点、系统和区块链构建方法 | |
Zhong | Research on optimization strategy of trade economy supply chain based on PBFT algorithm | |
US20220182221A1 (en) | Methods and Systems for a Heterogeneous Multi-Chain Framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |