CN108769146B - 一种基于区块链的数据传输方法、装置及区块链系统 - Google Patents

一种基于区块链的数据传输方法、装置及区块链系统 Download PDF

Info

Publication number
CN108769146B
CN108769146B CN201810451153.6A CN201810451153A CN108769146B CN 108769146 B CN108769146 B CN 108769146B CN 201810451153 A CN201810451153 A CN 201810451153A CN 108769146 B CN108769146 B CN 108769146B
Authority
CN
China
Prior art keywords
data
storage
stored
node
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810451153.6A
Other languages
English (en)
Other versions
CN108769146A (zh
Inventor
胡宇光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201810451153.6A priority Critical patent/CN108769146B/zh
Publication of CN108769146A publication Critical patent/CN108769146A/zh
Application granted granted Critical
Publication of CN108769146B publication Critical patent/CN108769146B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/007Unequal error protection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于区块链的数据传输方法、装置及区块链系统,以有效地防止数据的丢失,并保证区块链中数据传输的可靠性。上述数据传输方法可以应用于区块链系统的转发节点,该方法包括:接收来自用户节点的数据存储请求,所述数据存储请求携带有待存储数据;响应所述数据存储请求,按照预设的冗余编码规则,对所述待存储数据进行冗余编码,获得所述待存储数据对应的数据块,并从所述区块链系统的存储节点中确定相应的第一存储节点;将所述待存储数据对应的数据块分别发送给所述第一存储节点进行存储。

Description

一种基于区块链的数据传输方法、装置及区块链系统
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的数据传输方法、装置及区块链系统。
背景技术
区块链(Block chain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模,具有去中心化、集体维护、不可篡改、数据透明、用户匿名等特点。
目前,区块链系统中的矿工可以通过为客户提供数据存储来获取加密货币,相反的,客户可以通过花费加密货币来雇佣矿工来存储或分发数据。当客户需要存储数据时,往往是用户节点和存储节点在区块链系统内进行匹配,当配得到合适的存储节点后,用户节点就将待存储的数据发送给存储节点进行存储。
但是,这样就会存在如果发生该存储节点离线或者无法通信的情况,该存储节点上的数据就无法被其他节点获取,影响区块链系统中数据存储的可靠性。
发明内容
有鉴于此,本发明提供一种基于区块链的数据传输方法、装置及区块链系统,用以有效地防止数据的丢失,并保证区块链中数据传输的可靠性。
为了实现上述目的,第一方面,本发明实施例提供一种基于区块链的数据传输方法,应用于区块链系统中的转发节点,包括:接收来自用户节点的数据存储请求,所述数据存储请求携带有待存储数据;响应所述数据存储请求,按照预设的冗余编码规则,对所述待存储数据进行冗余编码,获得所述待存储数据对应的数据块,并从所述区块链系统的存储节点中确定相应的第一存储节点;将所述待存储数据对应的数据块分别发送给所述第一存储节点进行存储。
第二方面,本发明实施例提供一种基于区块链的数据传输装置,包括:第一接收模块,用于接收来自用户节点的数据存储请求,所述数据存储请求携带有待存储数据;编码模块,用于响应所述数据存储请求,按照预设的冗余编码规则,对所述待存储数据进行冗余编码,获得所述待存储数据对应的数据块;第一确定模块,用于从所述区块链系统的存储节点中确定相应的第一存储节点;第一发送模块,用于将所述待存储数据对应的数据块分别发送给所述第一存储节点进行存储。
第三方面,本发明实施例提供一种基于区块链的数据传输设备,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如上述一个或者多个技术方案所述的方法步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述一个或者多个技术方案所述的方法步骤。
第五方面,本发明实施例提供一种区块链系统,包括:用户节点、转发节点和存储节点;所述存储节点包括第一存储节点;其中,所述用户节点,用于向转发节点发送数据存储请求,所述数据存储请求携带有待存储数据;所述转发节点,用于响应所述数据存储请求,按照预设的冗余编码规则,对所述待存储数据进行冗余编码,获得所述待存储数据对应的数据块,并从所述区块链系统的存储节点中确定相应的第一存储节点;将所述待存储数据对应的数据块分别发送给所述第一存储节点;所述第一存储节点,用于存储所述待存储数据对应的数据块。
本发明实施例所提供的基于区块链的数据传输方法、装置及区块链系统中,转发节点在获取来自用户节点的数据存储请求后,响应该数据存储请求,根据该请求中携带的预设的冗余度,从区块链系统的存储节点中确定相应的第一存储节点,并对待存储数据按照预设的冗余度进行冗余编码,获得待存储数据对应的数据块,然后,将待存储数据对应的数据块分别发送给第一存储节点进行存储,可见,转发节点将用户节点发送的待存储数据进行冗余处理,获得待存储数据对应的数据块,这里,这些数据块的数据量是大于待存储数据的数据量的,然后,转发节点将这些数据块发送给多个第一存储节点进行存储,这样有效地防止数据的丢失,并保证区块链中数据传输的可靠性。
附图说明
图1为本发明实施例中的区块链系统的架构示意图;
图2为本发明实施例中的基于区块链的数据传输方法的流程示意图一;
图3为本发明实施例中的基于区块链的数据传输方法的流程示意图二;
图4为本发明实施例中的基于区块链的数据传输装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先,本发明实施例提供一种区块链系统。图1为本发明实施例中的区块链系统的架构示意图,参见图1所示,该区块链系统100可以包括:用户节点 101、转发节点102、存储节点103。这三类节点本质都是区块链对应的计算机节点,在原有挖矿功能的基础上,不同类型的节点具有不同的功能,例如存储节点,其主要功能是为了存储数据。转发节点,主要是用来代理存储节点和用户之间的网络链接,以代替存储节点和用户节点之间进行数据交互,为用户节点提供便利。上述三类节点是实时变化的,任何一个计算机节点在成为某类节点之后(例如成为存储节点之后)都不会永久保持不变。任何一个计算机节点只要满足对应的条件都能够成为对应类型的节点,当然,若某类节点不再满足对应的条件也会相应剔除。
在实际应用中,上述用户节点,还可以用于在原有挖矿的基础上,用来发布待存储数据的计算机节点,当然,用户节点也可以从其他计算机节点中获取自身想要的数据。
上述转发节点,用于在原有挖矿的基础上,用来为用户节点查找能够用来存储用户节点发布的待存储数据的第一存储节点,并担当用户节点和存储节点之间的通信中转站,例如,从用户节点接收发布的待存储数据发送给第一存储节点,或者将用户节点需要的数据从第二存储节点中查找出来,并转发给用户节点。
上述存储节点,用于存储用户节点发布的待存储数据,或者存储用户节点想要的数据。
进一步地,上述区块链系统还可以包括:中心节点,主要用来确定转发节点、存储节点,并且可以根据转发节点的数据传输工作量发放对应的奖励,以及根据存储节点的数据存储工作量发放对应的奖励等。
下面结合上述区块链系统,对本发明实施例提供的基于区块链的数据传输方法进行说明。
图2为本发明实施例中的基于区块链的数据传输方法的流程示意图一,参见图2所示,该方法可以包括:
S201:用户节点向转发节点发送数据存储请求;
其中,该数据存储请求中携带有待存储数据;
这里,用户想要将某一数据,即待存储数据存储到区块链系统中的存储节点,用户在用户设备上进行操作,向转发节点发送数据存储请求,该数据存储请求中携带有该待存储数据。
S202:转发节点响应数据存储请求,按照预设的冗余编码规则,对待存储数据进行冗余编码,获得待存储数据对应的数据块;
在具体实施过程中,S203可以包括:对待存储数据进行分块,获得N个数据块,N为大于等于1的整数;将N个数据块输入预设的编码矩阵进行冗余编码,获得输出的N个待存储数据块,其中,N个待存储数据块的数据量大于 N个数据块的数据量;将N个待存储数据块确定为待存储数据对应的数据块。
这里,在冗余编码的处理过程中,转发节点将待存储数据划分为N个数据块,然后,对这N个数据块按照预设的编码矩阵进行冗余编码,以获得N个待存储数据块,每个待存储数据块中均冗余有相邻数据块的部分数据内容,故而,N个待存储数据块的数据量要大于原N个数据块的数据量。而如果将待存储数据划分为N个数据块后直接存储到各个第一存储节点中的话,那么,若某个第一存储节点损坏或者离线,则会导致数据丢失,无法恢复。所以,为了防止这一情况发生,在本发明实施例中,采用了冗余编码的机制,使N个数据块经冗余编码处理为N个待存储数据块,这N个待存储数据块就是待存储数据对应的数据块。转发节点待存储数据进行冗余编码处理的主要目的就是为了防止数据丢失,保证数据安全。为了防止这一情况发生,本发明实施例在区块链传输数据时,采用了冗余编码的机制,使得N个数据块经冗余编码处理为N 个待存储数据块,各待存储数据块中按照预设冗余度存储相邻数据块的部分数据内容,也就是说,相邻冗余块上存储的数据均有重叠,这样做的好处就是,在恢复数据时,无需全部查找到全部的第一存储设备,只需要查找到其中的部分第一存储节点,即可完全恢复待存储数据,进而保证数据存储的完整性。
举例来说,待存储数据为20M,将其划分为N=20个数据块,每个数据块的数据量为1M,而预设的冗余度为1.5,那么,将这20个数据块按照预设的冗余度处理为20个待存储数据块,每个待存储数据块的数据量均为1.5M,也就是说,每个待存储数据块会多存储0.5M的相邻数据块的数据内容,然后将这20个待存储数据块分别存储到20个第一存储节点中。那么,当用户节点向转发节点索要待存储数据时,转发节点可以只从上述20个第一存储节点中获得17个第一存储节点中存储的待存储数据块,即可恢复完整的待存储数据,并发送给用户节点。由此,可以避免因为查找不到第一存储节点而导致数据丢失的情况出现,保证了区块链系统中数据传输的可靠性;进一步地,由于无需找到全部20个第一存储节点就能够恢复待存储数据,提高了区块链系统中数据传输的效率。
需要说明的是,上述冗余编码规则可以由用户通过用户节点进行设置,如上例所示,可以将冗余编码规则设置为数据块数量N=20,冗余度为1.5;还可以为区块链系统根据系统当前的运行情况,确定当前可以接受的数据块数量和冗余度,此时,冗余编码规则可以是实时变化的。当然,冗余编码规则的设置还可以有其他情况,本发明实施例不做具体限定。
S203:转发节点按照预设的冗余编码规则,从区块链系统的存储节点中确定相应的第一存储节点;
在具体实施过程中,S203可以包括:从区块链系统获取各存储节点的空闲存储空间信息;根据空闲存储空间信息,从各存储节点中确定N个第一存储节点。
具体来说,转发节点在接收到数据存储请求后,响应该请求,从区块链系统中的中心节点获取各存储节点的空闲存储空间信息,这里,空闲存储空间信息为每一个存储节点当前剩余的空闲存储空间的空间大小。然后,转发节点根据空闲存储空间信息,对存储节点按照空闲存储空间由大到小排序,并将排在前N个的存储节点确定为N个第一存储节点。
在本发明其他实施例中,可以先从区块链系统的所有存储节点中先确认出待存储节点,然后再从待存储节点中确认出第一存储节点。具体来说,在确认待存储节点的过程中,首先,可以由转发节点从区块链系统对应的所有计算机节点里面确定出空闲存储空间大于预设阈值的节点,将其作为待存储节点。其次,可以利用DPOS(委任权益证明,Delegated Proof of Stake)+PBFT(实用拜占庭容错算法,Practical Byzantine FaultTolerance)共识机制,采用闲置空间证明来确定出空闲存储空间大于预设阈值的节点。具体来说,各区块链对应的计算机节点,可以从区块链系统中查询并计算出各自的空闲存储空间信息,然后将各自的空闲存储空间信息广播给各个计算机节点(包括转发节点、中心节点等)。而对于转发节点来说,转发节点接收到各计算机节点广播的空闲存储空间信息,则会判断各计算机节点广播的空闲存储空间是否大于预设阈值,若大于,则表示对应的计算机节点的空闲存储空间满足存储待存储数据的要求,故而可将其作为待存储节点。而对于中心节点来说,和转发节点的判断过程类似。即:中心节点用于从所述区块链对应的所有计算机节点里面确定出的空闲存储空间大于预设阈值的节点作为待存储节点。
另外,各存储节点都有自己的报价,转发节点可以根据各存储节点的报价确定出第一存储节点。举例来说,可根据各存储节点的报价高低,将报价低的前N个存储节点确定为第一存储节点。
需要说明的是,上述S202和S203的执行顺序可以为先响应数据存储请求,执行S203,再执行S202;或者先响应数据存储请求,执行S202,再执行S203;还可以响应数据存储请求,同时执行S202和S203,本发明实施例不作具体限定。
S204:转发节点将待存储数据对应的数据块分别发送给第一存储节点;
S205:第一存储节点分别存储待存储数据对应的数据块。
至此,便完成了用户节点将待存储数据由转发节点发送给第一存储节点的过程。
本发明实施例所提供的基于区块链的数据传输方法中,转发节点在获取来自用户节点的数据存储请求后,响应该数据存储请求,根据该请求中携带的预设的冗余度,从区块链系统的存储节点中确定相应的第一存储节点,并对待存储数据按照预设的冗余度进行冗余编码,获得待存储数据对应的数据块,然后,将待存储数据对应的数据块分别发送给第一存储节点进行存储,可见,转发节点将用户节点发送的待存储数据进行冗余处理,获得待存储数据对应的数据块,这里,这些数据块的数据量是大于待存储数据的数据量的,然后,转发节点将这些数据块发送给多个第一存储节点进行存储,这样有效地防止数据的丢失,并保证区块链中数据传输的可靠性。
基于前述实施例,在区块链系统中,由于转发节点主要用于代理存储节点的网络链接,可以通过转发数据来获得奖励,那么,在S204之后,该方法还可以包括:转发节点统计待存储数据对应的第一数据传输工作量,并基于第一数据传输工作量向区块链系统发送对应的第一奖励请求,第一奖励请求用于请求区块链系统为转发节点分配第一奖励。
也就是说,转发节点可以实时向区块链系统请求分配对应的第一奖励。在具体的实施过程中,转发节点实时统计待存储数据对应的第一数据传输工作量,在每一次将待存储数据冗余处理后发送给第一存储节点之后,转发节点可以基于对应的数据传输工作量向区块链系统请求分配对应的第一奖励。当然,转发节点还可以定时或定量向区块链系统请求分配对应的第一奖励。在具体的实施过程中,转发节点会实时统计并记录待传输数据对应的第一数据传输工作量,然后在预设时间段中获得总的数据传输工作量,然后基于总的数据传输工作量向区块链系统请求分配对应的第一奖励。例如,转发节点可以统计一天中获得的总数据传输工作量,然后,每天定时向区块链系统请求分配对应的第一奖励。
但是,在区块链系统中,转发节点向区块链系统发送请求分配对应的第一奖励的第一奖励请求之后,是不会立即得到第一奖励的,而是在区块链系统等待第一存储节点发送待存储数据对应的数据存储证明之后,才能够获得第一奖励,也就是说,第一存储节点在接收到待存储数据之后,会生成数据存储证明,并将其发送给区块链系统,那么,区块链系统若接收到该数据存储证明,则表示转发节点确实将待存储数据发送给了第一存储节点,那么,区块链系统就会向转发节点分配第一奖励,如此能够防止转发节点冒领奖励的情况发生,保证转发节点的可靠性。
在本发明其他实施例中,在S201之后,该方法还可以包括:转发节点将待存储数据存储在本地缓存中。也就是说,由于转发节点自身可以具有一定的存储能力,那么,转发节点在接收到待存储数据后可以将该待存储数据在本地缓存一份,缓存完毕之后,可以定时对缓存中的数据进行清理,比如,将待存储数据缓存7天后删除,或者缓存30天后删除,当然,还可以根据待存储数据的数据类型对应不同的缓存期限来进行缓存,比如,视频文件可以缓存3天后删除,音频文件可以缓存7天后删除。当然,缓存规则还可以有其他情况,本发明实施例不作具体限定。
在此情况下,当用户想要获取某一数据是,可以通过用户节点直接从转发节点获取,或者从存储节点获取。那么,图3为本发明实施例中的基于区块链的数据传输方法的流程示意图二,参见图3中实线所示,上述方法还可以包括:
S301:用户节点向转发节点发送数据获取请求;
其中,数据获取请求中携带有目标数据的存储标识,如目标数据的哈希值,或者存储有目标数据的转发节点的哈希值;
S302:转发节点响应数据获取请求,根据存储标识查询本地缓存中是否存储有目标数据;
这里,当目标数据的存储标识为目标数据的哈希值时,由于转发节点在本地缓存中可能存储有目标数据,所以,转发节点需要先确定本地缓冲中是否存储有目标数据,也就是在本地缓存中查找是否存在目标数据的哈希值,如果找到了,则表明本地缓存中存储有目标数据,反之,则表明本地缓存中没有存储有目标数据。
进一步地,当目标数据的存储标识为存储有目标数据的转发节点的哈希值时,由于转发节点可以为多个节点,此时,每一个转发节点都可以将存储有目标数据的转发节点的哈希值与自身的哈希值进行比对,若一致,则表明该转发节点中存储有目标数据,反之,则表明该转发节点中没有存储有目标数据。
当然,针对于不同的目标数据的存储标识,还可以存在其他的查询情况,本发明实施例不做具体限定。
S303:若查询到目标数据,则转发节点将目标数据发送给用户节点。
这里,转发节点若查询到自身存储有目标数据,就可以直接将该目标数据发送给用户节点,加快了用户节点获取目标数据的速度,提高了区块链系统中数据传输的效率。
进一步地,仍参见图3中虚线所示,在S302之后,上述方法还可以包括:
S304:若未查询到目标数据,则转发节点从区块链系统获取各存储节点的存储信息;
这里,转发节点在自身的缓存中未查询到目标数据,则从区块链系统中获取当前各个存储节点的存储信息,这些存储信息可以包括各个存储节点当前存储的所有数据的数据信息,如数据名称、数据类型、数据大小等。当然,还可以包括该数据在存储节点中的存储路径,本发明实施例不作具体限定。
S305:转发节点根据各存储节点的存储信息,从各存储节点中确定存储有目标数据对应的数据块的第二存储节点;
这里,转发节点获取到上述存储信息后,就能够获知存储有目标数据的存储节点具体为哪些存储节点。而若目标数据经过上述一个或者多个实施例中所述的冗余编码处理后,以数据块的形式存储于存储节点的话,转发节点可以根据各个存储节点的存储信息获知哪些存储节点存储有目标数据对应的数据块,此时,这些存储有数据块的存储节点便为第二存储节点。
S306:转发节点从第二存储节点获取目标数据对应的数据块;
S307:转发节点对目标数据对应的数据块进行冗余解码,恢复目标数据;
S308:转发节点将目标数据发送给用户节点。
这里,S306至S308可以为:转发节点在确定第二存储节点后,从这些第二存储节点一一获取目标数据对应的数据块,然后,按照预设的冗余解码规则,进行冗余解码,以恢复目标数据。这里,对数据块的解码为上述冗余编码的逆过程,就将目标数据的数据块输入原编码矩阵的逆矩阵,获得输出的目标数据,即恢复后的目标数据。最后,转发节点将恢复后的目标节点发送给用户节点。
至此,便完成了用户节点通过转发节点获取目标数据的过程。
相应地,在区块链场景下,转发节点也可以通过为用户节点转发目标数据来获取奖励。那么,在S308之后,该方法还可以包括:统计目标数据对应的第二数据传输工作量,并基于第二数据传输工作量向区块链系统发送第二奖励请求;获得由区块链系统发送的第二奖励,第二奖励是由区块链系统在用户节点证明已收到目标数据之后为转发节点分配的奖励。
在具体实施过程中,转发节点可以实时统计目标数据对应的第二数据传输工作量,在每一次将目标数据发送给用户节点之后,转发节点可以基于对应的数据传输工作量向区块链系统请求分配对应的第二奖励。当然,转发节点还可以实时统计并记录目标数据对应的第二数据传输工作量,然后在预设时间段中获得总的数据传输工作量,然后基于总的数据传输工作量向区块链系统请求分配对应的第二奖励。例如,转发节点可以统计一天中获得的总数据传输工作量,然后,每天定时向区块链系统请求分配对应的第二奖励。
与上述请求分配第一奖励的过程类似,在区块链系统中,转发节点向区块链系统发送请求分配对应的第二奖励的第二奖励请求之后,是不会立即得到第二奖励的,而是在区块链系统等待用户节点发送目标数据对应的数据接收证明之后,转发节点才能够获得第二奖励,也就是说,用户节点在接收到目标数据之后,会生成数据接收证明,并将其发送给区块链系统,那么,区块链系统若接收到该数据接收证明,则表示转发节点确实将目标数据发送给了用户节点,那么,区块链系统就会向转发节点分配第二奖励,如此,防止转发节点冒领奖励的情况发生,保证转发节点的可靠性。
基于同一发明构思,本发明实施例提供一种基于区块链的数据传输装置,应用于上述一个或者多个实施例所述的转发节点。
图4为本发明实施例中的基于区块链的数据传输装置的结构示意图,参见图4所示,该装置400可以包括:第一接收模块401,用于接收来自用户节点的数据存储请求,数据存储请求携带有待存储数据;编码模块402,用于响应数据存储请求,按照预设的冗余编码规则,对待存储数据进行冗余编码,获得待存储数据对应的数据块;第一确定模块403,用于从区块链系统的存储节点中确定相应的第一存储节点;第一发送模块404,用于将待存储数据对应的数据块分别发送给第一存储节点进行存储。
在本发明其他实施例中,编码模块,用于对待存储数据进行分块,获得N 个数据块,N为大于等于1的整数;将N个数据块输入预设的编码矩阵进行冗余编码,获得输出的N个待存储数据块,其中,N个待存储数据块的数据量大于N个数据块的数据量;将N个待存储数据块确定为待存储数据对应的数据块。
在本发明其他实施例中,第一确定模块,用于从区块链系统获取各存储节点的空闲存储空间信息;根据空闲存储空间信息,从各存储节点中确定N个第一存储节点。
在本发明其他实施例中,第一确定模块,用于根据空闲存储空间信息,对存储节点按照空闲存储空间由大到小排序,并从排序后的存储节点中确定出N 个第一存储节点。
在本发明其他实施例中,上述装置还包括:第一工作量统计模块和第二发送模块;第一工作量统计模块,用于在第一发送模块将待存储数据对应的数据块分别发送给第一存储节点进行存储之后,统计待存储数据对应的第一数据传输工作量;第二发送模块,用于基于第一数据传输工作量向区块链系统发送对应的第一奖励请求,第一奖励请求用于请求区块链系统为转发节点分配第一奖励。
在本发明其他实施例中,上述装置还包括:本地缓存模块,用于在第一接收模块接收来自用户节点的数据存储请求之后,缓存待存储数据。
在本发明其他实施例中,上述装置还包括:查询模块和第三发送模块;第一接收模块,用于在本地缓存模块缓存待存储数据之后,接收来自用户节点的数据获取请求,数据获取请求中携带有目标数据的存储标识;查询模块,用于响应数据获取请求,根据存储标识查询本地缓存中是否存储有目标数据;第三发送模块,用于若查询到目标数据,则将目标数据发送给用户节点。
在本发明其他实施例中,上述装置还包括:第一获取模块、第二确定模块、第二获取模块和解码模块;第一获取模块,用于在查询模块根据存储标识查询本地缓存中是否存储有目标数据之后,若未查询到目标数据,则从区块链系统获取各存储节点的存储信息;第二确定模块,用于根据各存储节点的存储信息,从各存储节点中确定存储有目标数据对应的数据块的第二存储节点;第二获取模块,用于从第二存储节点获取目标数据对应的数据块;解码模块,用于对目标数据对应的数据块进行冗余解码,恢复目标数据;第三发送模块,用于将目标数据发送给用户节点。
在本发明其他实施例中,上述装置还包括:第二工作量统计模块、第四发送模块和第一奖励获得模块;第二工作量统计模块,用于在将目标数据发送给用户节点之后,统计目标数据对应的第二数据传输工作量;第四发送模块,用于基于第二数据传输工作量向区块链系统发送第二奖励请求;第一奖励获得模块,用于获得由区块链系统发送的第二奖励,第二奖励是由区块链系统在用户节点证明已收到目标数据之后为转发节点分配的奖励。
这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
基于同一发明构思,本发明实施例提供一种区块链系统,参见图1所示,该区块链系统100可以包括:用户节点101、转发节点102和存储节点103;存储节点103包括第一存储节点103a;其中,用户节点101,用于向转发节点 102发送数据存储请求,数据存储请求携带有待存储数据;转发节点102,用于响应数据存储请求,按照预设的冗余编码规则,对待存储数据进行冗余编码,获得待存储数据对应的数据块,并从区块链系统的存储节点中确定相应的第一存储节点;将待存储数据对应的数据块分别发送给第一存储节点103a;第一存储节点103a,用于存储待存储数据对应的数据块。
在本发明其他实施例中,上述转发节点,用于对待存储数据进行分块,获得N个数据块;将N个数据块输入预设的编码矩阵进行冗余编码,获得输出的N个待存储数据块,其中,N个待存储数据块的数据量大于N个数据块的数据量;将N个待存储数据块确定为待存储数据对应的数据块。
在本发明其他实施例中,上述转发节点,用于从区块链系统获取各存储节点的空闲存储空间信息;根据空闲存储空间信息,从各存储节点中确定N个第一存储节点。
在本发明其他实施例中,上述转发节点,用于根据空闲存储空间信息,对存储节点按照空闲存储空间由大到小排序,并从排序后的存储节点中确定出N 个第一存储节点。
在本发明其他实施例中,上述转发节点,还用于将待存储数据对应的数据块分别发送给第一存储节点进行存储之后,统计待存储数据对应的第一数据传输工作量,并基于第一数据传输工作量向区块链系统发送对应的第一奖励请求,第一奖励请求用于请求区块链系统为转发节点分配第一奖励。
在本发明其他实施例中,上述转发节点,还用于在获取来自用户节点的数据存储请求之后,将待存储数据存储在本地缓存中。
在本发明其他实施例中,上述转发节点,还用于在将待存储数据存储在本地缓存中之后,接收来自用户节点的数据获取请求,数据获取请求中携带有目标数据的存储标识;响应数据获取请求,根据存储标识查询本地缓存中是否存储有目标数据;若查询到目标数据,则将目标数据发送给用户节点。
在本发明其他实施例中,上述转发节点,还用于在根据存储标识查询本地缓存中是否存储有目标数据之后,若未查询到目标数据,则从区块链系统获取各存储节点的存储信息;根据各存储节点的存储信息,从各存储节点中确定存储有目标数据对应的数据块的第二存储节点;从第二存储节点获取目标数据对应的数据块;对目标数据对应的数据块进行冗余解码,恢复目标数据;将目标数据发送给用户节点。
在本发明其他实施例中,上述转发节点,还用于在将目标数据发送给用户节点之后,统计目标数据对应的第二数据传输工作量,并基于第二数据传输工作量向区块链系统发送第二奖励请求;获得由区块链系统发送的第二奖励,第二奖励是由区块链系统在用户节点证明已收到目标数据之后为转发节点分配的奖励。
这里需要指出的是:以上系统实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明系统实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
基于同一发明构思,本发明实施例提供一种基于区块链的数据传输设备,与上述一个或者多个实施例中所述的转发节点一致。该设备可以包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行如上述一个或者多个实施例所述的方法步骤。
基于同一发明构思,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述一个或者多个实施例所述的方法步骤。
进一步地,本发明实施例还提供:A1、一种基于区块链的数据传输方法,应用于区块链系统中的转发节点,包括:接收来自用户节点的数据存储请求,所述数据存储请求携带有待存储数据;响应所述数据存储请求,按照预设的冗余编码规则,对所述待存储数据进行冗余编码,获得所述待存储数据对应的数据块,并从所述区块链系统的存储节点中确定相应的第一存储节点;将所述待存储数据对应的数据块分别发送给所述第一存储节点进行存储。
A2、根据A1所述的方法,所述按照预设的冗余编码规则,对所述待存储数据进行冗余编码,获得所述待存储数据对应的数据块,包括:对所述待存储数据进行分块,获得N个数据块,N为大于等于1的整数;将所述N个数据块输入预设的编码矩阵进行冗余编码,获得输出的N个待存储数据块,其中,所述N个待存储数据块的数据量大于所述N个数据块的数据量;将所述N个待存储数据块确定为所述待存储数据对应的数据块。
A3、根据A2所述的方法,所述从所述区块链系统的存储节点中确定相应的第一存储节点,包括:从所述区块链系统获取各存储节点的空闲存储空间信息;根据所述空闲存储空间信息,从所述各存储节点中确定N个第一存储节点。
A4、根据A3所述的方法,所述根据所述空闲存储空间信息,从所述各存储节点中确定N个第一存储节点,包括:根据所述空闲存储空间信息,对所述存储节点按照空闲存储空间由大到小排序,并从排序后的存储节点中确定出所述N个第一存储节点。
A5、根据A1所述的方法,所述将所述待存储数据对应的数据块分别发送给所述第一存储节点进行存储之后,所述方法还包括:统计所述待存储数据对应的第一数据传输工作量,并基于所述第一数据传输工作量向所述区块链系统发送对应的第一奖励请求,所述第一奖励请求用于请求所述区块链系统为所述转发节点分配第一奖励。
A6、根据A1所述的方法,在所述获取来自用户节点的数据存储请求之后,所述方法还包括:将所述待存储数据存储在本地缓存中。
A7、根据A6所述的方法,在所述将所述待存储数据存储在本地缓存中之后,所述方法还包括:接收来自所述用户节点的数据获取请求,所述数据获取请求中携带有目标数据的存储标识;响应所述数据获取请求,根据所述存储标识查询所述本地缓存中是否存储有所述目标数据;若查询到所述目标数据,则将所述目标数据发送给所述用户节点。
A8、根据A7所述的方法,在所述根据所述存储标识查询所述本地缓存中是否存储有所述目标数据之后,所述方法还包括:若未查询到所述目标数据,则从所述区块链系统获取各存储节点的存储信息;根据所述各存储节点的存储信息,从所述各存储节点中确定存储有所述目标数据对应的数据块的第二存储节点;从所述第二存储节点获取所述目标数据对应的数据块;对所述目标数据对应的数据块进行冗余解码,恢复所述目标数据;将所述目标数据发送给所述用户节点。
A9、根据A7或A8所述的方法,在所述将所述目标数据发送给所述用户节点之后,所述方法还包括:统计所述目标数据对应的第二数据传输工作量,并基于所述第二数据传输工作量向所述区块链系统发送第二奖励请求;获得由所述区块链系统发送的所述第二奖励,所述第二奖励是由所述区块链系统在所述用户节点证明已收到所述目标数据之后为所述转发节点分配的奖励。
进一步地,本发明实施例还提供:B1、一种基于区块链的数据传输装置,包括:第一接收模块,用于接收来自用户节点的数据存储请求,所述数据存储请求携带有待存储数据;编码模块,用于响应所述数据存储请求,按照预设的冗余编码规则,对所述待存储数据进行冗余编码,获得所述待存储数据对应的数据块;第一确定模块,用于从所述区块链系统的存储节点中确定相应的第一存储节点;第一发送模块,用于将所述待存储数据对应的数据块分别发送给所述第一存储节点进行存储。
B2、根据B1所述的装置,所述编码模块,用于对所述待存储数据进行分块,获得N个数据块,N为大于等于1的整数;将所述N个数据块输入预设的编码矩阵进行冗余编码,获得输出的N个待存储数据块,其中,所述N个待存储数据块的数据量大于所述N个数据块的数据量;将所述N个待存储数据块确定为所述待存储数据对应的数据块。
B3、根据B2所述的装置,所述第一确定模块,用于从所述区块链系统获取各存储节点的空闲存储空间信息;根据所述空闲存储空间信息,从所述各存储节点中确定N个第一存储节点。
B4、根据B3所述的装置,所述第一确定模块,用于根据所述空闲存储空间信息,对所述存储节点按照空闲存储空间由大到小排序,并从排序后的存储节点中确定出所述N个第一存储节点。
B5、根据B1所述的装置,所述装置还包括:第一工作量统计模块和第二发送模块;所述第一工作量统计模块,用于在所述第一发送模块将所述待存储数据对应的数据块分别发送给所述第一存储节点进行存储之后,统计所述待存储数据对应的第一数据传输工作量;所述第二发送模块,用于基于所述第一数据传输工作量向所述区块链系统发送对应的第一奖励请求,所述第一奖励请求用于请求所述区块链系统为所述转发节点分配第一奖励。
B6、根据B1所述的装置,所述装置还包括:本地缓存模块,用于在所述第一接收模块接收来自用户节点的数据存储请求之后,缓存所述待存储数据。
B7、根据B6所述的装置,所述装置还包括:查询模块和第三发送模块;所述第一接收模块,用于在所述本地缓存模块缓存所述待存储数据之后,接收来自所述用户节点的数据获取请求,所述数据获取请求中携带有目标数据的存储标识;所述查询模块,用于响应所述数据获取请求,根据所述存储标识查询所述本地缓存中是否存储有所述目标数据;所述第三发送模块,用于若查询到所述目标数据,则将所述目标数据发送给所述用户节点。
B8、根据B7所述的装置,所述装置还包括:第一获取模块、第二确定模块、第二获取模块和解码模块;所述第一获取模块,用于在所述查询模块根据所述存储标识查询所述本地缓存中是否存储有所述目标数据之后,若未查询到所述目标数据,则从所述区块链系统获取各存储节点的存储信息;所述第二确定模块,用于根据所述各存储节点的存储信息,从所述各存储节点中确定存储有所述目标数据对应的数据块的第二存储节点;所述第二获取模块,用于从所述第二存储节点获取所述目标数据对应的数据块;所述解码模块,用于对所述目标数据对应的数据块进行冗余解码,恢复所述目标数据;所述第三发送模块,用于将所述目标数据发送给所述用户节点。
B9、根据B7或B8所述的装置,所述装置还包括:第二工作量统计模块、第四发送模块和第一奖励获得模块;所述第二工作量统计模块,用于在将所述目标数据发送给所述用户节点之后,统计所述目标数据对应的第二数据传输工作量;所述第四发送模块,用于基于所述第二数据传输工作量向所述区块链系统发送第二奖励请求;所述第一奖励获得模块,用于获得由所述区块链系统发送的所述第二奖励,所述第二奖励是由所述区块链系统在所述用户节点证明已收到所述目标数据之后为所述转发节点分配的奖励。
进一步地,本发明实施例还提供:C1、一种基于区块链的数据传输设备,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如A1-A9任一项所述的方法步骤。
进一步地,本发明实施例还提供:D1、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如A1-A9任一项所述的方法步骤。
进一步地,本发明实施例还提供:E1、一种区块链系统,包括:用户节点、转发节点和存储节点;所述存储节点包括第一存储节点;其中,所述用户节点,用于向转发节点发送数据存储请求,所述数据存储请求携带有待存储数据;所述转发节点,用于响应所述数据存储请求,按照预设的冗余编码规则,对所述待存储数据进行冗余编码,获得所述待存储数据对应的数据块,并从所述区块链系统的存储节点中确定相应的第一存储节点;将所述待存储数据对应的数据块分别发送给所述第一存储节点;所述第一存储节点,用于存储所述待存储数据对应的数据块。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (17)

1.一种基于区块链的数据传输方法,其特征在于,应用于区块链系统中的转发节点,包括:
接收来自用户节点的数据存储请求,所述数据存储请求携带有待存储数据;
响应所述数据存储请求,按照预设的冗余编码规则,对所述待存储数据进行冗余编码,获得所述待存储数据对应的数据块,并从所述区块链系统的存储节点中确定相应的第一存储节点;
将所述待存储数据对应的数据块分别发送给所述第一存储节点进行存储;
其中,所述按照预设的冗余编码规则,对所述待存储数据进行冗余编码,获得所述待存储数据对应的数据块,包括:
对所述待存储数据进行分块,获得N个数据块,N为大于等于1的整数;
将所述N个数据块输入预设的编码矩阵进行冗余编码,获得输出的N个待存储数据块,其中,所述N个待存储数据块的数据量大于所述N个数据块的数据量;
将所述N个待存储数据块确定为所述待存储数据对应的数据块;
其中,所述从所述区块链系统的存储节点中确定相应的第一存储节点,包括:
从所述区块链系统获取各存储节点的空闲存储空间信息;
根据所述空闲存储空间信息,从所述各存储节点中确定N个第一存储节点。
2.根据权利要求1所述的方法,其特征在于,所述根据所述空闲存储空间信息,从所述各存储节点中确定N个第一存储节点,包括:
根据所述空闲存储空间信息,对所述存储节点按照空闲存储空间由大到小排序,并从排序后的存储节点中确定出所述N个第一存储节点。
3.根据权利要求1所述的方法,其特征在于,所述将所述待存储数据对应的数据块分别发送给所述第一存储节点进行存储之后,所述方法还包括:统计所述待存储数据对应的第一数据传输工作量,并基于所述第一数据传输工作量向所述区块链系统发送对应的第一奖励请求,所述第一奖励请求用于请求所述区块链系统为所述转发节点分配第一奖励。
4.根据权利要求1所述的方法,其特征在于,在所述接收来自用户节点的数据存储请求之后,所述方法还包括:
将所述待存储数据存储在本地缓存中。
5.根据权利要求4所述的方法,其特征在于,在所述将所述待存储数据存储在本地缓存中之后,所述方法还包括:
接收来自所述用户节点的数据获取请求,所述数据获取请求中携带有目标数据的存储标识;
响应所述数据获取请求,根据所述存储标识查询所述本地缓存中是否存储有所述目标数据;
若查询到所述目标数据,则将所述目标数据发送给所述用户节点。
6.根据权利要求5所述的方法,其特征在于,在所述根据所述存储标识查询所述本地缓存中是否存储有所述目标数据之后,所述方法还包括:
若未查询到所述目标数据,则从所述区块链系统获取各存储节点的存储信息;
根据所述各存储节点的存储信息,从所述各存储节点中确定存储有所述目标数据对应的数据块的第二存储节点;
从所述第二存储节点获取所述目标数据对应的数据块;
对所述目标数据对应的数据块进行冗余解码,恢复所述目标数据;
将所述目标数据发送给所述用户节点。
7.根据权利要求5或6所述的方法,其特征在于,在所述将所述目标数据发送给所述用户节点之后,所述方法还包括:
统计所述目标数据对应的第二数据传输工作量,并基于所述第二数据传输工作量向所述区块链系统发送第二奖励请求;
获得由所述区块链系统发送的所述第二奖励,所述第二奖励是由所述区块链系统在所述用户节点证明已收到所述目标数据之后为所述转发节点分配的奖励。
8.一种基于区块链的数据传输装置,应用于区块链系统中的转发节点,其特征在于,包括:
第一接收模块,用于接收来自用户节点的数据存储请求,所述数据存储请求携带有待存储数据;
编码模块,用于响应所述数据存储请求,按照预设的冗余编码规则,对所述待存储数据进行冗余编码,获得所述待存储数据对应的数据块;
第一确定模块,用于从所述区块链系统的存储节点中确定相应的第一存储节点;
第一发送模块,用于将所述待存储数据对应的数据块分别发送给所述第一存储节点进行存储;
其中,所述编码模块,还用于对所述待存储数据进行分块,获得N个数据块,N为大于等于1的整数;
将所述N个数据块输入预设的编码矩阵进行冗余编码,获得输出的N个待存储数据块,其中,所述N个待存储数据块的数据量大于所述N个数据块的数据量;
将所述N个待存储数据块确定为所述待存储数据对应的数据块;
其中,所述第一确定模块,还用于从所述区块链系统获取各存储节点的空闲存储空间信息;根据所述空闲存储空间信息,从所述各存储节点中确定N个第一存储节点。
9.根据权利要求8所述的装置,其特征在于,所述第一确定模块,还用于根据所述空闲存储空间信息,对所述存储节点按照空闲存储空间由大到小排序,并从排序后的存储节点中确定出所述N个第一存储节点。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:第一工作量统计模块和第二发送模块;其中,
所述第一工作量统计模块,用于在所述第一发送模块将所述待存储数据对应的数据块分别发送给所述第一存储节点进行存储之后,统计所述待存储数据对应的第一数据传输工作量;
所述第二发送模块,用于基于所述第一数据传输工作量向所述区块链系统发送对应的第一奖励请求,所述第一奖励请求用于请求所述区块链系统为所述转发节点分配第一奖励。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
本地缓存模块,用于在所述第一接收模块接收来自用户节点的数据存储请求之后,缓存所述待存储数据。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:查询模块和第三发送模块;其中,
所述第一接收模块,还用于在所述本地缓存模块缓存所述待存储数据之后,接收来自所述用户节点的数据获取请求,所述数据获取请求中携带有目标数据的存储标识;
所述查询模块,用于响应所述数据获取请求,根据所述存储标识查询所述本地缓存中是否存储有所述目标数据;
所述第三发送模块,用于若查询到所述目标数据,则将所述目标数据发送给所述用户节点。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:第一获取模块、第二确定模块、第二获取模块和解码模块;其中,
所述第一获取模块,用于在所述查询模块根据所述存储标识查询所述本地缓存中是否存储有所述目标数据之后,若未查询到所述目标数据,则从所述区块链系统获取各存储节点的存储信息;
所述第二确定模块,用于根据所述各存储节点的存储信息,从所述各存储节点中确定存储有所述目标数据对应的数据块的第二存储节点;
所述第二获取模块,用于从所述第二存储节点获取所述目标数据对应的数据块;
所述解码模块,用于对所述目标数据对应的数据块进行冗余解码,恢复所述目标数据;所述第三发送模块,用于将所述目标数据发送给所述用户节点。
14.根据权利要求12或13所述的装置,其特征在于,所述装置还包括:第二工作量统计模块、第四发送模块和第一奖励获得模块;其中,
所述第二工作量统计模块,用于在将所述目标数据发送给所述用户节点之后,统计所述目标数据对应的第二数据传输工作量;
所述第四发送模块,用于基于所述第二数据传输工作量向所述区块链系统发送第二奖励请求;
所述第一奖励获得模块,用于获得由所述区块链系统发送的所述第二奖励,所述第二奖励是由所述区块链系统在所述用户节点证明已收到所述目标数据之后为所述转发节点分配的奖励。
15.一种基于区块链的数据传输设备,包括:存储器和处理器;其中,
所述存储器用于存储计算机程序;
所述处理器用于在调用所述计算机程序时执行如权利要求1-7任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的方法。
17.一种区块链系统,其特征在于,所述系统用于应用如权利要求1所述的基于区块链的数据传输方法。
CN201810451153.6A 2018-05-11 2018-05-11 一种基于区块链的数据传输方法、装置及区块链系统 Active CN108769146B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810451153.6A CN108769146B (zh) 2018-05-11 2018-05-11 一种基于区块链的数据传输方法、装置及区块链系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810451153.6A CN108769146B (zh) 2018-05-11 2018-05-11 一种基于区块链的数据传输方法、装置及区块链系统

Publications (2)

Publication Number Publication Date
CN108769146A CN108769146A (zh) 2018-11-06
CN108769146B true CN108769146B (zh) 2022-01-21

Family

ID=64010267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810451153.6A Active CN108769146B (zh) 2018-05-11 2018-05-11 一种基于区块链的数据传输方法、装置及区块链系统

Country Status (1)

Country Link
CN (1) CN108769146B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109302495A (zh) * 2018-11-20 2019-02-01 北京邮电大学 一种数据存储方法及装置
CN111447055B (zh) * 2019-01-17 2022-02-25 华为技术有限公司 区块链账本的存储方法及装置
CN111666582B (zh) * 2019-03-08 2024-05-03 深圳市网安计算机安全检测技术有限公司 基于区块链的数据清理方法、装置、设备及存储介质
CN112637300B (zh) * 2019-06-18 2022-11-11 贝富(广州)新技术有限公司 基于区块链的影视信息分布式存储以及获取方法、装置
SG11202002712UA (en) 2019-09-11 2020-04-29 Alibaba Group Holding Ltd Shared blockchain data storage based on error correction coding in trusted execution environments
CN110764698B (zh) * 2019-09-29 2021-01-29 北京航空航天大学 信息收发方法及设备
CN111182067B (zh) * 2019-12-31 2021-08-27 上海焜耀网络科技有限公司 一种基于星际文件系统ipfs的数据写入方法及设备
CN112148797A (zh) * 2020-09-29 2020-12-29 中国银行股份有限公司 基于区块链的分布式数据存取方法、装置及存储节点
CN112131229A (zh) * 2020-09-29 2020-12-25 中国银行股份有限公司 基于区块链的分布式数据存取方法、装置及存储节点
CN113901144B (zh) * 2021-10-15 2024-02-06 北京智融云河科技有限公司 非全网共识区块链下的查询方法、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176865A (zh) * 2013-03-12 2013-06-26 华中科技大学 一种纠删码存储中负载感知的读优化方法
CN103984607A (zh) * 2013-02-08 2014-08-13 华为技术有限公司 分布式存储的方法、装置和系统
CN104035732A (zh) * 2014-06-17 2014-09-10 中国人民解放军国防科学技术大学 一种面向纠删码的数据放置方法
CN105095013A (zh) * 2015-06-04 2015-11-25 华为技术有限公司 数据存储方法、恢复方法、相关装置以及系统
CN106843750A (zh) * 2016-12-20 2017-06-13 中国科学院苏州生物医学工程技术研究所 分布式存储系统
CN106897906A (zh) * 2017-02-28 2017-06-27 北京众享比特科技有限公司 激励式内容分发方法及系统
WO2017163090A1 (en) * 2016-03-24 2017-09-28 Mount Watatic Ltd Device, method and system for a distributed ledger

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984607A (zh) * 2013-02-08 2014-08-13 华为技术有限公司 分布式存储的方法、装置和系统
CN103176865A (zh) * 2013-03-12 2013-06-26 华中科技大学 一种纠删码存储中负载感知的读优化方法
CN104035732A (zh) * 2014-06-17 2014-09-10 中国人民解放军国防科学技术大学 一种面向纠删码的数据放置方法
CN105095013A (zh) * 2015-06-04 2015-11-25 华为技术有限公司 数据存储方法、恢复方法、相关装置以及系统
WO2017163090A1 (en) * 2016-03-24 2017-09-28 Mount Watatic Ltd Device, method and system for a distributed ledger
CN106843750A (zh) * 2016-12-20 2017-06-13 中国科学院苏州生物医学工程技术研究所 分布式存储系统
CN106897906A (zh) * 2017-02-28 2017-06-27 北京众享比特科技有限公司 激励式内容分发方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
关于IPFS的热门问题;飞向未来TY;《https://kuaibao.qq.com/s/20171216G0CDQI00?refer=cp_1026%E3%80%81》;20171216;第1-3页 *

Also Published As

Publication number Publication date
CN108769146A (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
CN108769146B (zh) 一种基于区块链的数据传输方法、装置及区块链系统
CN108712488B (zh) 一种基于区块链的数据处理方法、装置、区块链系统
CN110019240B (zh) 一种业务数据交互方法、装置及系统
CN111818112B (zh) 一种基于Kafka系统的发送消息的方法和装置
JP6716727B2 (ja) ストリーミングデータ分散処理方法及び装置
US11902173B2 (en) Dynamic allocation of network resources using external inputs
CN110995513B (zh) 物联网系统中的数据发送、接收方法、物联网设备及平台
CN108924244B (zh) 分布式系统以及用于该系统的流量分配方法和装置
KR20160139493A (ko) 클라우드 서비스를 위한 암호화 키 관리 방법 및 그 장치
CN103067525A (zh) 一种基于特征码的云存储数据备份方法
CN111614761B (zh) 区块链消息传输方法、装置、计算机以及可读存储介质
US11132221B2 (en) Method, apparatus, and computer-readable medium for dynamic binding of tasks in a data exchange
CN113361913A (zh) 一种通信业务编排方法、装置、计算机设备及存储介质
KR101428649B1 (ko) 맵 리듀스 기반의 대용량 개인정보 암호화 시스템 및 그의 동작 방법
CN111737751B (zh) 实现隐私保护的分布式数据处理的方法及装置
CN107295032B (zh) 一种数据中心的数据同步的方法和设备
CN103414756A (zh) 一种任务分发方法、分发节点及系统
CN111008071A (zh) 任务调度系统、方法和服务器
US10673624B2 (en) Communication control device, communication control method, and computer program product
CN112653539B (zh) 一种待存储数据的存储方法、装置以及设备
CN108399099A (zh) 文件安全存储和内容保护方法
CN112367189B (zh) 一种分布式节点管理方法、设备及存储介质
CN108388658A (zh) 数据文件可靠存储方法
CN114553727A (zh) 一种基于内容分发网络的数据处理方法及装置
CN108334291B (zh) 建立移动终端可信环境的方法

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