CN108769146A - 一种基于区块链的数据传输方法、装置及区块链*** - Google Patents
一种基于区块链的数据传输方法、装置及区块链*** Download PDFInfo
- Publication number
- CN108769146A CN108769146A CN201810451153.6A CN201810451153A CN108769146A CN 108769146 A CN108769146 A CN 108769146A CN 201810451153 A CN201810451153 A CN 201810451153A CN 108769146 A CN108769146 A CN 108769146A
- Authority
- CN
- China
- Prior art keywords
- data
- stored
- block
- node
- memory node
- 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.)
- Granted
Links
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/007—Unequal 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所示,该区块链***10可以包括:用户节点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 (10)
1.一种基于区块链的数据传输方法,其特征在于,应用于区块链***中的转发节点,包括:
接收来自用户节点的数据存储请求,所述数据存储请求携带有待存储数据;
响应所述数据存储请求,按照预设的冗余编码规则,对所述待存储数据进行冗余编码,获得所述待存储数据对应的数据块,并从所述区块链***的存储节点中确定相应的第一存储节点;
将所述待存储数据对应的数据块分别发送给所述第一存储节点进行存储。
2.根据权利要求1所述的方法,其特征在于,所述按照预设的冗余编码规则,对所述待存储数据进行冗余编码,获得所述待存储数据对应的数据块,包括:
对所述待存储数据进行分块,获得N个数据块,N为大于等于1的整数;
将所述N个数据块输入预设的编码矩阵进行冗余编码,获得输出的N个待存储数据块,其中,所述N个待存储数据块的数据量大于所述N个数据块的数据量;
将所述N个待存储数据块确定为所述待存储数据对应的数据块。
3.根据权利要求2所述的方法,其特征在于,所述从所述区块链***的存储节点中确定相应的第一存储节点,包括:
从所述区块链***获取各存储节点的空闲存储空间信息;
根据所述空闲存储空间信息,从所述各存储节点中确定N个第一存储节点。
4.根据权利要求3所述的方法,其特征在于,所述根据所述空闲存储空间信息,从所述各存储节点中确定N个第一存储节点,包括:
根据所述空闲存储空间信息,对所述存储节点按照空闲存储空间由大到小排序,并从排序后的存储节点中确定出所述N个第一存储节点。
5.根据权利要求1所述的方法,其特征在于,所述将所述待存储数据对应的数据块分别发送给所述第一存储节点进行存储之后,所述方法还包括:
统计所述待存储数据对应的第一数据传输工作量,并基于所述第一数据传输工作量向所述区块链***发送对应的第一奖励请求,所述第一奖励请求用于请求所述区块链***为所述转发节点分配第一奖励。
6.根据权利要求1所述的方法,其特征在于,在所述获取来自用户节点的数据存储请求之后,所述方法还包括:
将所述待存储数据存储在本地缓存中。
7.根据权利要求6所述的方法,其特征在于,在所述将所述待存储数据存储在本地缓存中之后,所述方法还包括:
接收来自所述用户节点的数据获取请求,所述数据获取请求中携带有目标数据的存储标识;
响应所述数据获取请求,根据所述存储标识查询所述本地缓存中是否存储有所述目标数据;
若查询到所述目标数据,则将所述目标数据发送给所述用户节点。
8.根据权利要求7所述的方法,其特征在于,在所述将所述目标数据发送给所述用户节点之后,所述方法还包括:
统计所述目标数据对应的第二数据传输工作量,并基于所述第二数据传输工作量向所述区块链***发送第二奖励请求;
获得由所述区块链***发送的所述第二奖励,所述第二奖励是由所述区块链***在所述用户节点证明已收到所述目标数据之后为所述转发节点分配的奖励。
9.一种基于区块链的数据传输装置,其特征在于,包括:
第一接收模块,用于接收来自用户节点的数据存储请求,所述数据存储请求携带有待存储数据;
编码模块,用于响应所述数据存储请求,按照预设的冗余编码规则,对所述待存储数据进行冗余编码,获得所述待存储数据对应的数据块;
第一确定模块,用于从所述区块链***的存储节点中确定相应的第一存储节点;
第一发送模块,用于将所述待存储数据对应的数据块分别发送给所述第一存储节点进行存储。
10.一种区块链***,其特征在于,包括:用户节点、转发节点和存储节点;所述存储节点包括第一存储节点;其中,
所述用户节点,用于向转发节点发送数据存储请求,所述数据存储请求携带有待存储数据;
所述转发节点,用于响应所述数据存储请求,按照预设的冗余编码规则,对所述待存储数据进行冗余编码,获得所述待存储数据对应的数据块,并从所述区块链***的存储节点中确定相应的第一存储节点;将所述待存储数据对应的数据块分别发送给所述第一存储节点;
所述第一存储节点,用于存储所述待存储数据对应的数据块。
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 true CN108769146A (zh) | 2018-11-06 |
CN108769146B 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) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109302495A (zh) * | 2018-11-20 | 2019-02-01 | 北京邮电大学 | 一种数据存储方法及装置 |
CN110764698A (zh) * | 2019-09-29 | 2020-02-07 | 北京航空航天大学 | 信息收发方法及设备 |
CN111182067A (zh) * | 2019-12-31 | 2020-05-19 | 上海焜耀网络科技有限公司 | 一种基于星际文件***ipfs的数据写入方法及设备 |
WO2019228562A3 (en) * | 2019-09-11 | 2020-07-09 | Alibaba Group Holding Limited | Shared blockchain data storage based on error correction coding in trusted execution environments |
WO2020147673A1 (zh) * | 2019-01-17 | 2020-07-23 | 华为技术有限公司 | 区块链账本的存储方法及装置 |
CN111666582A (zh) * | 2019-03-08 | 2020-09-15 | 深圳市网安计算机安全检测技术有限公司 | 基于区块链的数据清理方法、装置、设备及存储介质 |
CN112131229A (zh) * | 2020-09-29 | 2020-12-25 | 中国银行股份有限公司 | 基于区块链的分布式数据存取方法、装置及存储节点 |
CN112148797A (zh) * | 2020-09-29 | 2020-12-29 | 中国银行股份有限公司 | 基于区块链的分布式数据存取方法、装置及存储节点 |
CN110290192B (zh) * | 2019-06-18 | 2021-03-19 | 贝富(广州)新技术有限公司 | 基于区块链的数据分布式存储以及数据获取方法、装置 |
CN113901144A (zh) * | 2021-10-15 | 2022-01-07 | 北京智融云河科技有限公司 | 非全网共识区块链下的查询方法、设备及存储介质 |
Citations (7)
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 |
-
2018
- 2018-05-11 CN CN201810451153.6A patent/CN108769146B/zh active Active
Patent Citations (7)
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)
Title |
---|
飞向未来TY: "关于IPFS的热门问题", 《HTTPS://KUAIBAO.QQ.COM/S/20171216G0CDQI00?REFER=CP_1026%E3%80%81》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109302495A (zh) * | 2018-11-20 | 2019-02-01 | 北京邮电大学 | 一种数据存储方法及装置 |
WO2020147673A1 (zh) * | 2019-01-17 | 2020-07-23 | 华为技术有限公司 | 区块链账本的存储方法及装置 |
CN111666582A (zh) * | 2019-03-08 | 2020-09-15 | 深圳市网安计算机安全检测技术有限公司 | 基于区块链的数据清理方法、装置、设备及存储介质 |
CN111666582B (zh) * | 2019-03-08 | 2024-05-03 | 深圳市网安计算机安全检测技术有限公司 | 基于区块链的数据清理方法、装置、设备及存储介质 |
CN110290192B (zh) * | 2019-06-18 | 2021-03-19 | 贝富(广州)新技术有限公司 | 基于区块链的数据分布式存储以及数据获取方法、装置 |
US10833846B1 (en) | 2019-09-11 | 2020-11-10 | Alibaba Group Holding Limited | Shared blockchain data storage based on error correction coding in trusted execution environments |
WO2019228562A3 (en) * | 2019-09-11 | 2020-07-09 | Alibaba Group Holding Limited | Shared blockchain data storage based on error correction coding in trusted execution environments |
CN110764698B (zh) * | 2019-09-29 | 2021-01-29 | 北京航空航天大学 | 信息收发方法及设备 |
CN110764698A (zh) * | 2019-09-29 | 2020-02-07 | 北京航空航天大学 | 信息收发方法及设备 |
CN111182067A (zh) * | 2019-12-31 | 2020-05-19 | 上海焜耀网络科技有限公司 | 一种基于星际文件***ipfs的数据写入方法及设备 |
CN112131229A (zh) * | 2020-09-29 | 2020-12-25 | 中国银行股份有限公司 | 基于区块链的分布式数据存取方法、装置及存储节点 |
CN112148797A (zh) * | 2020-09-29 | 2020-12-29 | 中国银行股份有限公司 | 基于区块链的分布式数据存取方法、装置及存储节点 |
CN112148797B (zh) * | 2020-09-29 | 2024-06-21 | 中国银行股份有限公司 | 基于区块链的分布式数据存取方法、装置及存储节点 |
CN113901144A (zh) * | 2021-10-15 | 2022-01-07 | 北京智融云河科技有限公司 | 非全网共识区块链下的查询方法、设备及存储介质 |
CN113901144B (zh) * | 2021-10-15 | 2024-02-06 | 北京智融云河科技有限公司 | 非全网共识区块链下的查询方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108769146B (zh) | 2022-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108769146A (zh) | 一种基于区块链的数据传输方法、装置及区块链*** | |
KR102154469B1 (ko) | 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치 | |
CN111681003B (zh) | 资源跨链转移方法、装置、计算机设备以及存储介质 | |
CN108712488B (zh) | 一种基于区块链的数据处理方法、装置、区块链*** | |
JP2023175927A (ja) | ブロックチェーンIoT装置のためのオペレーティングシステム | |
CN116820695A (zh) | 用于启用事件删除的分布式数据库的方法和设备 | |
CN108648084A (zh) | 一种区块链网络的数据处理方法、装置、设备及存储介质 | |
JP2018196150A (ja) | トランザクション処理装置、トランザクション処理方法、及びそのためのプログラム | |
CN108596627B (zh) | 一种基于区块链和雾计算的大数据计算方法及*** | |
CN110689349A (zh) | 一种区块链中的交易哈希值存储和搜索方法及装置 | |
CN108667717A (zh) | 基于即时通信消息记录的区块链处理方法、介质、装置和计算设备 | |
CN111416709B (zh) | 基于区块链***的投票方法、装置、设备及存储介质 | |
KR20170099155A (ko) | 가상 화폐를 이용하여 주식을 발행하여 분배하고 발행된 주식의 소유권을 이전하는 방법 및 서버 | |
US20230088625A1 (en) | Operation method of blockchain remittance service system, and electronic wallet for remittance | |
CN110263579A (zh) | 一种数据处理方法、***及相关设备 | |
CN110020945A (zh) | 一种基于多个区块链网络的数据读取方法及*** | |
CN109345242A (zh) | 基于区块链的密钥存储、更新方法、装置、设备和介质 | |
CN110020846A (zh) | 一种转账业务处理方法及*** | |
CN110278255A (zh) | 一种基于区块链的物联网iot设备间通信的方法及装置 | |
CN115049070A (zh) | 联邦特征工程数据的筛选方法及装置、设备及存储介质 | |
CN109214209A (zh) | 一种数据发送方法、数据存储方法及装置 | |
JP2023553783A (ja) | 複数のサブネットを有する分散ネットワーク | |
CN117082505A (zh) | 数据安全共享方法、***及装置、电子设备和存储介质 | |
US11522995B2 (en) | Number management system, number management method, and number management device | |
CN111709857A (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 |