CN112184206A - 数据获取方法、设备和存储介质 - Google Patents
数据获取方法、设备和存储介质 Download PDFInfo
- Publication number
- CN112184206A CN112184206A CN202011062212.4A CN202011062212A CN112184206A CN 112184206 A CN112184206 A CN 112184206A CN 202011062212 A CN202011062212 A CN 202011062212A CN 112184206 A CN112184206 A CN 112184206A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- full
- full node
- information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 244000061520 Angelica archangelica Species 0.000 description 1
- 235000001287 Guettarda speciosa Nutrition 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/28—Pre-payment schemes, e.g. "pay before"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据获取方法、设备和存储介质,适用于区块链等技术领域,该方法包括:接收第一非全节点生成的第一数据获取费预存交易;向第一全节点划转第一数据获取费预存交易所预存的第一数量个第一资产并确定相对应的第一预付费信息;将第一非全节点的第一标识信息与第一预付费信息的对应关系记录到区块链上;在当前节点为第一全节点时,在本地链下数据库更新第一预付费信息;接收第二非全节点生成的获取第一归档数据的第一请求信息,在本地链下数据库查询到存在对应的第二预付费信息,且第二预付费信息足以支付获取第一归档数据的数据获取费时,向第二非全节点返回第一归档数据,并更新第二预付费信息。本申请保证不会丢失区块数据。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种数据获取方法、设备和存储介质。
背景技术
在现有技术中,假设每个节点都存有block(1)~block(10999),回滚深度为10000;在当前节点生成block(11000)时,向其它区块链节点广播block(11000),具体的广播、共识机制在此不做赘述;当block(11000)执行成功时即认为block(1)~block(1000)不会被改变了;当前节点根据block(1)~block(1000)计算第一数据chunkhash,节点与chunkhash的距离的计算方法为:xor(节点id,chunkhash);当前节点通过迭代查询的方式最终找到D1为全局最近节点(即xor(节点id(D1),chunkhas h)最小),当前节点向D1发送数据集合{chunkhash、chunk},chunk为block(1)~block(1000)的归档数据(归档数据可以为block(1)~block(1000)本身,也可以配置为block(1)~block(1000)的对称加密数据、block(1)~block(1000)的压缩数据等可以还原出block(1)~block(1000)的数据,也可以配置为区块高度区间[1,1000]),D1收到数据集合时,在本地P2P模块存储chunk(当归档数据为区块高度区间[1,1000],D1根据[1,1000]生成chunk,在本地P2P模块存储所生成的chunk);在一段时间后,区块链中所有节点的blockchain模块都会删除block(1)~block(1000);
在上述机制中,当前节点寻找D1的过程需要经过较长时间,若在此期间当前节点宕机,则可能造成D1没有收到chunkhash,D1就不会在P2P模块额外打包一份block(1)~block(1000),在一段时间后,区块链中所有节点的blockchain模块都会删除block(1)~block(1000),整个区块链网络中没有地方可以查询到block(1)~block(1000)的区块数据。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种不会丢失区块数据的数据获取方法、设备和存储介质。
第一方面,本发明提供一种适用于全节点的数据获取方法,区块链网络中的节点分为全节点和非全节点,全节点存储有各归档数据,归档数据由待存储的第一数量个连续区块生成,上述方法包括:
接收第一非全节点生成的第一数据获取费预存交易;其中,第一数据获取费预存交易包括指定的第一全节点的节点ID;
执行第一数据获取费预存交易:
向第一全节点划转第一数据获取费预存交易所预存的第一数量个第一资产,根据第一数量个第一资产确定相对应的第一预付费信息;
将第一非全节点的第一标识信息与第一预付费信息的对应关系记录到区块链上;
在当前节点为第一全节点时,在本地链下数据库更新第一预付费信息;
接收第二非全节点生成的获取第一归档数据的第一请求信息,根据第二非全节点的第二标识信息在本地链下数据库查询是否存在对应的第二预付费信息:
是,则判断第二预付费信息是否足以支付获取第一归档数据的数据获取费:
是,则向第二非全节点返回第一归档数据,并更新第二预付费信息。
第二方面,本发明提供一种适用于非全节点的数据获取方法,区块链网络中的节点分为全节点和非全节点,全节点存储有各归档数据,归档数据由待存储的第一数量个连续区块生成,方法包括:
生成第一数据获取费预存交易;其中,第一数据获取费预存交易包括指定的第一全节点的节点ID;
将第一数据获取费预存交易发送至区块链网络,以供各区块链节点执行第一数据获取费预存交易:
向第一全节点划转第一数据获取费预存交易所预存的第一数量个第一资产,根据第一数量个第一资产确定相对应的第一预付费信息;
将当前节点的第一标识信息与第一预付费信息的对应关系记录到区块链上;其中,第一数据获取费预存交易还用于供第一全节点在执行第一数据获取费预存交易时,在本地链下数据库更新第一预付费信息;
生成获取第一归档数据的第一请求信息并发送至第二全节点,以供第二全节点:
根据第一标识信息在本地链下数据库查询是否存在对应的第二预付费信息:
是,则判断第二预付费信息是否足以支付获取第一归档数据的数据获取费:
是,则向当前节点返回第一归档数据,并更新第二预付费信息。
第三方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的数据获取方法。
第四方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的数据获取方法。
本发明诸多实施例提供的数据获取方法、设备和存储介质通过接收第一非全节点生成的第一数据获取费预存交易;向第一全节点划转第一数据获取费预存交易所预存的第一数量个第一资产并确定相对应的第一预付费信息;将第一非全节点的第一标识信息与第一预付费信息的对应关系记录到区块链上;在当前节点为第一全节点时,在本地链下数据库更新第一预付费信息;接收第二非全节点生成的获取第一归档数据的第一请求信息,在本地链下数据库查询到存在对应的第二预付费信息,且第二预付费信息足以支付获取第一归档数据的数据获取费时,向第二非全节点返回第一归档数据,并更新第二预付费信息的方法,保证不会丢失区块数据。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种数据获取方法的流程图。
图2为图1所示方法的一种优选实施方式中步骤S141的流程图。
图3为图2所示方法的一种优选实施方式的流程图。
图4为图2所示方法的另一种优选实施方式的流程图。
图5为图2所示方法的一种优选实施方式中步骤S14121的流程图。
图6为本发明一实施例提供的另一种数据获取方法的流程图。
图7为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种数据获取方法的流程图。如图1所示,在本实施例中,本发明提供一种适用于全节点的数据获取方法,区块链网络中的节点分为全节点和非全节点,全节点存储有各归档数据,归档数据由待存储的第一数量个连续区块生成,上述方法包括:
S12:接收第一非全节点生成的第一数据获取费预存交易;其中,第一数据获取费预存交易包括指定的第一全节点的节点ID;
执行第一数据获取费预存交易:
S131:向第一全节点划转第一数据获取费预存交易所预存的第一数量个第一资产,根据第一数量个第一资产确定相对应的第一预付费信息;
S132:将第一非全节点的第一标识信息与第一预付费信息的对应关系记录到区块链上;
S133:在当前节点为第一全节点时,在本地链下数据库更新第一预付费信息;
S141:接收第二非全节点生成的获取第一归档数据的第一请求信息,根据第二非全节点的第二标识信息在本地链下数据库查询是否存在对应的第二预付费信息:
是,则执行步骤S1421:判断第二预付费信息是否足以支付获取第一归档数据的数据获取费:
是,则执行步骤S14211:向第二非全节点返回第一归档数据,并更新第二预付费信息。
具体地,以资产与预付费信息的对应关系为1coin=10次,且数据获取费预存交易所预存的第一数量个第一资产为1coin,标识信息为公钥为例;假设区块链网络中有全节点FN1~FN4,非全节点N1~N25;第一非全节点为N1,第一全节点为FN1,第二非全节点也为N1;
以当前节点为FN1为例;
FN1执行步骤S12,接收N1生成的数据获取费预存交易tx1;tx1包括FN1的节点ID;
FN1执行tx1(包括以下步骤S131~S133):
FN1执行步骤S131,向FN1划转tx1所预存的第一数量个第一资产,根据第一数量个第一资产确定相对应的第一预付费信息,由于tx1所预存的第一数量个第一资产为1coin,则相应的预付费信息为FN1为N1提供10次数据获取服务;
FN1执行步骤S132,将pub(N1)与“FN1为N1提供10次数据获取服务”的对应关系记录到区块链上;
由于当前节点为FN1,FN1执行步骤S133,在本地链下数据库更新FN1为N1提供10次数据获取服务;
需要说明的是,各区块链节点都同步执行S12~S132;
FN1执行步骤S141,接收N1生成的获取归档数据chunk1的请求信息,根据pub(N1)在本地链下数据库查询是否存在对应的预付费信息:
由于本地有“FN1为N1提供10次数据获取服务”,则执行步骤S1421,判断上述预付费信息是否足以支付获取chunk1的数据获取费:
由于当前剩余的数据获取服务的次数还有10次,足够,则FN1执行步骤S14211,向N1返回chunk1,并更新预付费信息为“FN1为N1提供9次数据获取服务”。
在更多实施例中,资产与预付费信息的对应关系还可以根据实际需求进行配置,例如,1coin=10MB,即tx1所预存的资产为1coin,则相应的预付费信息为FN1为N1提供10MB的数据获取服务,则FN1向N1返回chunk1后,假设chunk1为1MB,则应更新预付费信息为“FN1为N1提供9MB数据获取服务”,可实现相同的技术效果。
在更多实施例中,标识信息还可以根据实际需求配置为其它参数,例如配置为节点id,或其它可以唯一标识节点的参数,可实现相同的技术效果。
需要说明的是,本领域技术应当理解“第一数据获取费预存交易包括指定的第一全节点的节点ID”中的节点ID应当可以替换为其它可以唯一标识节点的参数,例如配置为第一全节点的公钥,可实现相同的技术效果。
需要说明的是,本领域技术应当理解,虽然只有FN1在本地更新有“FN1为N1提供10次数据获取服务”,但若FN1不向N1提供数据获取服务,N1可以生成申诉交易并发送至区块链网络以供各区块链节点执行,申诉交易包括唯一标识FN1的参数;且本领域技术人员应当理解,申诉交易也需要花费手续费,因此N1并不会无故生成申诉交易,保障N1的权益。
需要说明的是,本领域技术应当理解,一般情况下,FN1在本地链下数据库查询不到对应的第二预付费信息,或FN1判断第二预付费信息不足以支付获取第一归档数据的数据获取费时,FN1不会向N1返回chunk1,但本领域技术人员可以根据实际需求配置为其它操作,例如配置为“在本地链下数据库不存在对应的第二预付费信息,或第二预付费信息不足以支付获取第一归档数据的数据获取费时,根据第一归档数据和各非全节点的节点ID找到应当存有第一归档数据的各第三非全节点;判断各第三非全节点是否均未存有所述第一归档数据:是,则向所述第二非全节点发送所述第一归档数据。”。本申请不作具体限制。
上述实施例使得区块链网络中的区块数据不会丢失。
图2为图1所示方法的一种优选实施方式中步骤S141的流程图。如图2所示,在一实施例中,步骤S141包括:
S1411:接收第二非全节点生成的获取第一归档数据的第一请求信息,根据第一归档数据和各非全节点的节点ID找到应当存有第一归档数据的各第三非全节点;
S14121:判断各第三非全节点是否均未存有第一归档数据:
是,则执行步骤S14122:向第二非全节点发送第一归档数据;
否,则执行步骤S14124:根据第二非全节点的第二标识信息在本地链下数据库查询是否存在对应的第二预付费信息。
假设各第三非全节点为N5~N10;
FN1执行步骤S1411,接收N1生成的获取归档数据chunk1的请求信息,根据chunk1和各非全节点的节点ID找到应当存有chunk1的各非全节点N5~N10;
FN1执行步骤S14121,判断N5~N10是否均未存有chunk1:
如果N5~N10均未存有chunk1,则执行步骤S14122,向N1发送chunk1;
如果N5~N10中至少有一个节点存有chunk1,则执行步骤S14124,根据pub(N1)在本地链下数据库查询是否存在对应的预付费信息。
N1理应根据chunk1和各非全节点的节点ID找到应当存有chunk1的各非全节点N5~N10,向N5~N10中的一个或多个节点请求chunk1以获取chunk1;但N1向FN1请求chunk1,有以下两种情况:1、为节省算力而直接向全节点请求chunk1;2、区块链网络丢失了chunk1(即N5~N10上丢失了chunk1);
在上述1中,若所有非全节点都向全节点请求归档数据,则全节点负载过高;非全节点应当付出一定的经济利益以获取全节点提供的归档数据。
在上述2中,若区块链网络丢失了chunk1,则全节点可以免费为非全节点提供归档数据。
上述实施例改善了部署非全节点的用户的用户体验。
图3为图2所示方法的一种优选实施方式的流程图。如图3所示,在一实施例中,步骤S14122后,还包括:
S14123:向各第三非全节点发送第一归档数据以供存储第一归档数据。
具体地,FN1向N5~N10发送chunk1,以供N5~N10重新存储有chunk1。
N5~N10获取chunk1后,会互相广播chunkhash(chunk1),以互相提醒不要删除P2P模块中的chunk1;N5~N10为后续其它非全节点提供chunk1。
图4为图2所示方法的另一种优选实施方式的流程图。如图4所示,在一实施例中,步骤S1411前,还包括:
S1410:通过保险合约执行第一保费缴纳交易,将第一非全节点所缴纳的保费存入第一全节点的合约保费账户;
步骤S1411包括:
S14111:接收第二非全节点生成的获取第一归档数据的第一请求信息,判断第二非全节点是否缴纳过保费:是,则根据第一归档数据和各非全节点的节点ID找到应当存有第一归档数据的各第三非全节点。
具体地,FN1执行步骤S1410,通过保险合约执行第一保费缴纳交易tx2,将N1所缴纳的保费存入FN1的合约保费账户;需要说明的是,各区块链节点都同步执行当前步骤;
FN1执行步骤S14111,判断N1是否缴纳过保费:由于N1缴纳过保费,则根据chunk1和各非全节点的节点ID找到应当存有第一归档数据的各非全节点。
在上述实施例中,非全节点只需要缴纳一次保险费即可,在更多实施例中,还可以根据实际需求配置保险策略,例如,保险费与预付费信息相同,1coin=10次查询区块链网络是否丢失了归档数据的服务;首先,各区块链节点在执行tx2时,还应当根据N1所缴纳的保费确定相对应的预付查询费信息,且FN1在执行tx2时,还应当在本地链下数据库更新预付查询费信息;FN1在收到N1的请求信息后,应当判断N1的预付查询费是否足以支付chunk1的数据查询费,足以支付,则根据chunk1和各非全节点的节点ID找到应当存有chunk1的各非全节点N5~N10;且如果N5~N10均丢失了chunk1,则FN1只扣除N1的一次数据查询费并向N1返回chunk1;如果N5~N10中有一个或多个未丢失chunk1,则扣除一次数据查询费,以及,一次数据获取服务费。可以看出,数据查询费应远小于数据获取费。
需要说明的是,FN1可从FN1的合约保费账户中提取资产。
上述实施例与图2所示的实施例的技术效果相同,均改善了部署非全节点的用户的用户体验,同时还保障了全节点的利益。
图5为图2所示方法的一种优选实施方式中步骤S14121的流程图。如图5所示,在一实施例中,步骤S14121包括:
S141211:向各第三非全节点发送获取第一区块数据的第二请求信息;其中,第一区块数据包括于第一归档数据;
S141212:判断在第一时长内是否未收到任意第三非全节点返回的第一区块数据。
图5所示的方法同样适用于图3和图4所示的方法。
需要说明的是,本领域技术人员应当理解,各实施例之间在逻辑清晰的情况下应当可以互相结合,例如,图4所示的方法同样适用于图3所示的方法。
图6为本发明一实施例提供的另一种数据获取方法的流程图。如图6所示,在本实施例中,本发明提供一种适用于非全节点的数据获取方法,区块链网络中的节点分为全节点和非全节点,全节点存储有各归档数据,归档数据由待存储的第一数量个连续区块生成,方法包括:
S22:生成第一数据获取费预存交易;其中,第一数据获取费预存交易包括指定的第一全节点的节点ID;
S24:将第一数据获取费预存交易发送至区块链网络,以供各区块链节点执行第一数据获取费预存交易:
向第一全节点划转第一数据获取费预存交易所预存的第一数量个第一资产,根据第一数量个第一资产确定相对应的第一预付费信息;
将当前节点的第一标识信息与第一预付费信息的对应关系记录到区块链上;其中,第一数据获取费预存交易还用于供第一全节点在执行第一数据获取费预存交易时,在本地链下数据库更新第一预付费信息;
S26:生成获取第一归档数据的第一请求信息并发送至第二全节点,以供第二全节点:
根据第一标识信息在本地链下数据库查询是否存在对应的第二预付费信息:
是,则判断第二预付费信息是否足以支付获取第一归档数据的数据获取费:
是,则向当前节点返回第一归档数据,并更新第二预付费信息。
上述实施例的数据获取原理可参考图1所示的方法,此处不再赘述。
优选地,根据第一标识信息在本地链下数据库查询是否存在对应的第二预付费信息包括:
根据第一归档数据和各非全节点的节点ID找到应当存有第一归档数据的各第三非全节点;
判断各第三非全节点是否均未存有第一归档数据:
是,则向当前节点发送第一归档数据;
否,则根据第一标识信息在本地链下数据库查询是否存在对应的第二预付费信息。
上述实施例的数据获取原理可参考图2所示的方法,此处不再赘述。
优选地,向第二非全节点发送第一归档数据后,还包括:
向各第三非全节点发送第一归档数据以供存储第一归档数据。
上述实施例的数据获取原理可参考图3所示的方法,此处不再赘述。
优选地,根据第一归档数据和各非全节点的节点ID找到应当存有第一归档数据的各第三非全节点前,还包括:
通过保险合约执行第一保费缴纳交易,将第一非全节点所缴纳的保费存入合约保费账户;
根据第一归档数据和各非全节点的节点ID找到应当存有第一归档数据的各第三非全节点包括:
判断第二非全节点是否缴纳过保费:是,则根据第一归档数据和各非全节点的节点ID找到应当存有第一归档数据的各第三非全节点。
上述实施例的数据获取原理可参考图4所示的方法,此处不再赘述。
优选地,判断各第三非全节点是否均未存有第一归档数据包括:
向各第三非全节点发送获取第一区块数据的第二请求信息;其中,第一区块数据包括于第一归档数据;
判断在第一时长内是否未收到任意第三非全节点返回的第一区块数据。
上述实施例的数据获取原理可参考图5所示的方法,此处不再赘述。
图7为本发明一实施例提供的一种设备的结构示意图。如图7所示,作为另一方面,本申请还提供了一种设备,包括一个或多个中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有设备700操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述任一方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请提供的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种数据获取方法,其特征在于,区块链网络中的节点分为全节点和非全节点,所述全节点存储有各归档数据,所述归档数据由待存储的第一数量个连续区块生成,所述方法适用于全节点,所述方法包括:
接收第一非全节点生成的第一数据获取费预存交易;其中,所述第一数据获取费预存交易包括指定的第一全节点的节点ID;
执行所述第一数据获取费预存交易:
向所述第一全节点划转所述第一数据获取费预存交易所预存的第一数量个第一资产,根据所述第一数量个第一资产确定相对应的第一预付费信息;
将所述第一非全节点的第一标识信息与所述第一预付费信息的对应关系记录到区块链上;
在当前节点为所述第一全节点时,在本地链下数据库更新所述第一预付费信息;
接收第二非全节点生成的获取第一归档数据的第一请求信息,根据所述第二非全节点的第二标识信息在本地链下数据库查询是否存在对应的第二预付费信息:
是,则判断所述第二预付费信息是否足以支付获取所述第一归档数据的数据获取费:
是,则向所述第二非全节点返回所述第一归档数据,并更新所述第二预付费信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第二非全节点的第二标识信息在本地链下数据库查询是否存在对应的第二预付费信息包括:
根据所述第一归档数据和各非全节点的节点ID找到应当存有所述第一归档数据的各第三非全节点;
判断各所述第三非全节点是否均未存有所述第一归档数据:
是,则向所述第二非全节点发送所述第一归档数据;
否,则根据所述第二非全节点的第二标识信息在本地链下数据库查询是否存在对应的第二预付费信息。
3.根据权利要求2所述的方法,其特征在于,所述向所述第二非全节点发送所述第一归档数据后,还包括:
向各所述第三非全节点发送所述第一归档数据以供存储所述第一归档数据。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第一归档数据和各非全节点的节点ID找到应当存有所述第一归档数据的各第三非全节点前,还包括:
通过保险合约执行第一保费缴纳交易,将第一非全节点所缴纳的保费存入所述第一全节点的合约保费账户;
所述根据所述第一归档数据和各非全节点的节点ID找到应当存有所述第一归档数据的各第三非全节点包括:
判断所述第二非全节点是否缴纳过保费:是,则根据所述第一归档数据和各非全节点的节点ID找到应当存有所述第一归档数据的各第三非全节点。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述判断各所述第三非全节点是否均未存有所述第一归档数据包括:
向各所述第三非全节点发送获取第一区块数据的第二请求信息;其中,所述第一区块数据包括于所述第一归档数据;
判断在第一时长内是否未收到任意所述第三非全节点返回的第一区块数据。
6.一种数据获取方法,其特征在于,区块链网络中的节点分为全节点和非全节点,所述全节点存储有各归档数据,所述归档数据由待存储的第一数量个连续区块生成,所述方法适用于非全节点,所述方法包括:
生成第一数据获取费预存交易;其中,所述第一数据获取费预存交易包括指定的第一全节点的节点ID;
将所述第一数据获取费预存交易发送至区块链网络,以供各区块链节点执行所述第一数据获取费预存交易:
向所述第一全节点划转所述第一数据获取费预存交易所预存的第一数量个第一资产,根据所述第一数量个第一资产确定相对应的第一预付费信息;
将当前节点的第一标识信息与所述第一预付费信息的对应关系记录到区块链上;其中,所述第一数据获取费预存交易还用于供所述第一全节点在执行所述第一数据获取费预存交易时,在本地链下数据库更新所述第一预付费信息;
生成获取第一归档数据的第一请求信息并发送至第二全节点,以供所述第二全节点:
根据所述第一标识信息在本地链下数据库查询是否存在对应的第二预付费信息:
是,则判断所述第二预付费信息是否足以支付获取所述第一归档数据的数据获取费:
是,则向当前节点返回所述第一归档数据,并更新所述第二预付费信息。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一标识信息在本地链下数据库查询是否存在对应的第二预付费信息包括:
根据所述第一归档数据和各非全节点的节点ID找到应当存有所述第一归档数据的各第三非全节点;
判断各所述第三非全节点是否均未存有所述第一归档数据:
是,则向当前节点发送所述第一归档数据;
否,则根据所述第一标识信息在本地链下数据库查询是否存在对应的第二预付费信息。
8.根据权利要求7所述的方法,其特征在于,所述向所述第二非全节点发送所述第一归档数据后,还包括:
向各所述第三非全节点发送所述第一归档数据以供存储所述第一归档数据。
9.根据权利要求7所述的方法,其特征在于,所述根据所述第一归档数据和各非全节点的节点ID找到应当存有所述第一归档数据的各第三非全节点前,还包括:
通过保险合约执行第一保费缴纳交易,将第一非全节点所缴纳的保费存入所述第一全节点的合约保费账户;
所述根据所述第一归档数据和各非全节点的节点ID找到应当存有所述第一归档数据的各第三非全节点包括:
判断所述第二非全节点是否缴纳过保费:是,则根据所述第一归档数据和各非全节点的节点ID找到应当存有所述第一归档数据的各第三非全节点。
10.根据权利要求7-9任一项所述的方法,其特征在于,所述判断各所述第三非全节点是否均未存有所述第一归档数据包括:
向各所述第三非全节点发送获取第一区块数据的第二请求信息;其中,所述第一区块数据包括于所述第一归档数据;
判断在第一时长内是否未收到任意所述第三非全节点返回的第一区块数据。
11.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-10中任一项所述的方法。
12.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011062212.4A CN112184206A (zh) | 2020-09-30 | 2020-09-30 | 数据获取方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011062212.4A CN112184206A (zh) | 2020-09-30 | 2020-09-30 | 数据获取方法、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112184206A true CN112184206A (zh) | 2021-01-05 |
Family
ID=73947608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011062212.4A Pending CN112184206A (zh) | 2020-09-30 | 2020-09-30 | 数据获取方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112184206A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9100430B1 (en) * | 2014-12-29 | 2015-08-04 | Palantir Technologies Inc. | Systems for network risk assessment including processing of user access rights associated with a network of devices |
CN108418795A (zh) * | 2018-01-30 | 2018-08-17 | 百度在线网络技术(北京)有限公司 | 跨区块链的数据访问方法、装置、系统及计算机可读介质 |
CN110019235A (zh) * | 2017-12-29 | 2019-07-16 | 百度在线网络技术(北京)有限公司 | 基于区块链的数据存储、恢复方法、装置、设备及介质 |
CN110060162A (zh) * | 2019-03-29 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 基于区块链的数据授权、查询方法和装置 |
CN111209346A (zh) * | 2020-04-24 | 2020-05-29 | 腾讯科技(深圳)有限公司 | 一种区块链数据归档方法、装置和计算机可读存储介质 |
CN111476670A (zh) * | 2020-04-08 | 2020-07-31 | 杭州复杂美科技有限公司 | 区块链回滚保险方法、设备和存储介质 |
CN111585751A (zh) * | 2020-04-10 | 2020-08-25 | 四川大学 | 基于区块链的数据共享方法 |
US20200293514A1 (en) * | 2019-03-12 | 2020-09-17 | International Business Machines Corporation | Managing access by third parties to data in a network |
-
2020
- 2020-09-30 CN CN202011062212.4A patent/CN112184206A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9100430B1 (en) * | 2014-12-29 | 2015-08-04 | Palantir Technologies Inc. | Systems for network risk assessment including processing of user access rights associated with a network of devices |
CN110019235A (zh) * | 2017-12-29 | 2019-07-16 | 百度在线网络技术(北京)有限公司 | 基于区块链的数据存储、恢复方法、装置、设备及介质 |
CN108418795A (zh) * | 2018-01-30 | 2018-08-17 | 百度在线网络技术(北京)有限公司 | 跨区块链的数据访问方法、装置、系统及计算机可读介质 |
US20200293514A1 (en) * | 2019-03-12 | 2020-09-17 | International Business Machines Corporation | Managing access by third parties to data in a network |
CN110060162A (zh) * | 2019-03-29 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 基于区块链的数据授权、查询方法和装置 |
CN111476670A (zh) * | 2020-04-08 | 2020-07-31 | 杭州复杂美科技有限公司 | 区块链回滚保险方法、设备和存储介质 |
CN111585751A (zh) * | 2020-04-10 | 2020-08-25 | 四川大学 | 基于区块链的数据共享方法 |
CN111209346A (zh) * | 2020-04-24 | 2020-05-29 | 腾讯科技(深圳)有限公司 | 一种区块链数据归档方法、装置和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9983868B2 (en) | Selective notifications according to merge distance for software version branches within a software configuration management system | |
US20200218737A1 (en) | Method, system and program product for matching of transaction records | |
CN109961365B (zh) | 一种基于区块链智能合约的收账记录处理方法及系统 | |
CN112364209B (zh) | 分布式数据存储方法、数据查询方法、设备和存储介质 | |
CN110287196B (zh) | 区块存储方法、平行链交易获取方法、设备和存储介质 | |
WO2022121346A1 (zh) | 钱包找回方法、设备和存储介质 | |
CN111966538B (zh) | 一种区块链数据的恢复方法和装置 | |
CN107392582B (zh) | 资源转移的实现方法和装置、收付款的实现方法和装置 | |
CN109669789A (zh) | 交易排队方法、交易池存储方法、设备和存储介质 | |
CN112182029B (zh) | 数据查询方法、设备和存储介质 | |
CN113553378A (zh) | 一种区块链数据的删除方法和装置 | |
CN111401866A (zh) | 手续费的预存和扣除方法、设备和存储介质 | |
CN113127564B (zh) | 一种参数同步方法和装置 | |
CN112184206A (zh) | 数据获取方法、设备和存储介质 | |
CN109544329B (zh) | 撮合匹配方法、装置和系统 | |
US9652766B1 (en) | Managing data stored in memory locations having size limitations | |
CN112417054B (zh) | 分布式数据存储方法、数据查询方法、设备和存储介质 | |
CN110309163A (zh) | 区块链关系型数据库维护方法和数据查询方法 | |
CN107038617B (zh) | 支付订单的预创建方法及装置 | |
CN110222268A (zh) | 确定业务推送对象的方法和装置 | |
KR20200099268A (ko) | 데이터 공유를 위한 위성 데이터 서비스 시스템 | |
CN114969071A (zh) | 一种数据更新方法及装置 | |
CN110535922B (zh) | 状态数据存储方法和平行链区块生成方法 | |
CN113112272A (zh) | 基于区块链的外汇业务处理方法及装置 | |
US11726979B2 (en) | Determining a chronological order of transactions executed in relation to an object stored in a storage system |
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 |