CN110471987B - 数据存储方法、设备及计算机可读存储介质 - Google Patents

数据存储方法、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN110471987B
CN110471987B CN201910732885.7A CN201910732885A CN110471987B CN 110471987 B CN110471987 B CN 110471987B CN 201910732885 A CN201910732885 A CN 201910732885A CN 110471987 B CN110471987 B CN 110471987B
Authority
CN
China
Prior art keywords
data
stored
accounting
node
block
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
CN201910732885.7A
Other languages
English (en)
Other versions
CN110471987A (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.)
Iallchain Co Ltd
Original Assignee
Iallchain 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 Iallchain Co Ltd filed Critical Iallchain Co Ltd
Priority to CN201910732885.7A priority Critical patent/CN110471987B/zh
Publication of CN110471987A publication Critical patent/CN110471987A/zh
Application granted granted Critical
Publication of CN110471987B publication Critical patent/CN110471987B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供一种数据存储方法、设备及计算机可读存储介质。本发明实施例通过记账节点检测到待存储数据,以及用户节点对所述待存储数据的出价信息;所述记账节点检测自身的剩余存储空间是否足够存储所述待存储数据;其中若是不够,则所述记账节点基于所述用户节点的出价信息,从当前已存储的数据中删除对应出价比所述待存储数据低的一个或多个数据;所述记账节点存储所述待存储数据。本发明实施例通过将数据对应的出价作为数据的存储优先级,这样就能够使得出价高的数据优先得到存储,并在存储空间不足的情况下,优先删除出价低的数据保留出价高的数据,这样就能够实现高出价数据的长期存储,低出价数据的自然消亡。

Description

数据存储方法、设备及计算机可读存储介质
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据存储方法、设备及计算机可读存储介质。
背景技术
在存储区块链中,数据的存储是没有优先级的,并且在存储区块链中存储的数据都一样,会在区块链的存储服务节点中一直存在下去,但是在实际场景中,有的存储内容有永久存储的需求,有的存储内容可能只需要短时间存储就可以了,那么如何保证有永久存储需求的内容永远在区块链中存在下去,而无时限要求的内容自然消亡,这是一个问题。
发明内容
本发明实施例提供一种数据存储方法、设备及计算机可读存储介质,用以提高高出价数据的存储优先级,实现高出价数据的长期存储,低出价数据的自然消亡。
第一方面,本发明实施例提供一种数据存储方法,包括:
记账节点检测到待存储数据,以及用户节点对所述待存储数据的出价信息;
所述记账节点检测自身的剩余存储空间是否足够存储所述待存储数据;
其中若是不够,则所述记账节点基于所述用户节点的出价信息,从当前已存储的数据中删除对应出价比所述待存储数据低的一个或多个数据;
所述记账节点存储所述待存储数据。
可选的,所述记账节点存储所述待存储数据,包括:
记账节点根据区块链网络中上一个区块的哈希值确定出一个数字N;
所述记账节点确定其存储的多个存储数据中每个存储数据的第N个数据块;
所述记账节点计算所述每个存储数据的第N个数据块对应的数据除以区块链难度值之后的余数;
所述记账节点确定所述多个存储数据分别对应的余数中的最小余数,并根据所述最小余数确定第一时间;
所述记账节点在所述上一个区块生成后的第一时间内生成新的区块;
所述记账节点在所述新的区块上存储所述待存储数据。
可选的,所述记账节点确定所述多个存储数据分别对应的余数中的最小余数,并根据所述最小余数确定第一时间,包括:
若有两个或两个以上的存储数据对应的余数相同,且为最小余数,则所述记账节点从所述两个或两个以上的存储数据中确定出目标存储数据,并根据所述目标存储数据对应的余数确定所述第一时间,其中所述目标存储数据在所述两个或两个以上的存储数据中对应的出价最高。
可选的,所述记账节点在所述上一个区块生成后的第一时间内生成新的区块,包括:
在所述上一个区块生成后的第一时间内,若其他记账节点没有确定出最小余数,则所述记账节点生成新的区块。
可选的,所述记账节点在所述上一个区块生成后的第一时间内生成新的区块,包括:
在所述上一个区块生成后的第一时间内,若所述记账节点用于生成最小余数的存储数据的出价高于其他记账节点用于生成最小余数的存储数据的出价,则所述记账节点生成新的区块。
第二方面,本发明实施例提供一种记账节点,包括:
存储器;
处理器;
通讯接口;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以下操作:
检测到待存储数据,以及用户节点对所述待存储数据的出价信息;
检测自身的剩余存储空间是否足够存储所述待存储数据;
其中若是不够,则基于所述用户节点的出价信息,从当前已存储的数据中删除对应出价比所述待存储数据低的一个或多个数据;
存储所述待存储数据。
可选的,所述处理器在存储所述待存储数据时,用于:
根据区块链网络中上一个区块的哈希值确定出一个数字N;
确定其存储的多个存储数据中每个存储数据的第N个数据块;
计算所述每个存储数据的第N个数据块对应的数据除以区块链难度值之后的余数;
确定所述多个存储数据分别对应的余数中的最小余数,并根据所述最小余数确定第一时间;
在所述上一个区块生成后的第一时间内生成新的区块;
在所述新的区块上存储所述待存储数据。
可选的,所述处理器在确定所述多个存储数据分别对应的余数中的最小余数,并根据所述最小余数确定第一时间时,用于:
当有两个或两个以上的存储数据对应的余数相同,且为最小余数时,从所述两个或两个以上的存储数据中确定出目标存储数据,并根据所述目标存储数据对应的余数确定所述第一时间,其中所述目标存储数据在所述两个或两个以上的存储数据中对应的出价最高。
可选的,所述处理器在所述上一个区块生成后的第一时间内生成新的区块时,用于:
在所述上一个区块生成后的第一时间内,若其他记账节点没有确定出最小余数,则生成新的区块。
所述处理器在所述上一个区块生成后的第一时间内生成新的区块时,用于:
在所述上一个区块生成后的第一时间内,若所述记账节点用于生成最小余数的存储数据的出价高于其他记账节点用于生成最小余数的存储数据的出价,则生成新的区块。
第三方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
本发明实施例提供的数据存储方法、设备及计算机可读存储介质,通过记账节点检测待存储数据,用户节点对待存储数据的出价信息,以及自身的剩余存储空间是否足够存储所述待存储数据;其中若是不够,则记账节点基于用户节点的出价信息,从当前已存储的数据中删除对应出价比待存储数据低的一个或多个数据以空出足够空间存储待存储数据。本发明实施例通过将数据对应的出价作为数据的存储优先级,这样就能够使得出价高的数据优先得到存储,并在存储空间不足的情况下,优先删除出价低的数据保留出价高的数据,这样就能够实现高出价数据的长期存储,低出价数据的自然消亡。
附图说明
图1为本发明实施例提供的一种应用场景的示意图;
图2为本发明实施例提供的数据存储方法的流程图;
图3为本发明实施例提供的步骤204的执行方法流程图;
图4为本发明实施例提供的记账节点的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本发明实施例提供的数据存储方法,可以适用于图1所示的通信系统。如图1所示,该通信系统包括:用户节点、记账节点1、记账节点2、记账节点3、记账节点4。其中,用户节点、记账节点1、记账节点2、记账节点3、记账节点4是区块链网络中的参与节点。可以理解,此处只是示意性说明,并不限定该区块链网络中的节点个数和种类。其中,记账节点1、记账节点2、记账节点3、记账节点4均具有记账功能和存储功能。用户节点具体可以是用户终端,例如,智能手机、平板电脑、个人计算机等。区块链网络的账本中只记录存储的数据的哈希值以及用户节点为存储该数据所支付的转账费用。
本发明实施例提供的数据存储方法,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图2为本发明实施例提供的数据存储方法的流程图,如图2所示,该方法包括如下步骤:
步骤201、记账节点检测到待存储数据,以及用户节点对所述待存储数据的出价信息。
在本实施例中,用户节点可以将其待存储的数据存储到多个记账节点上,该用户节点还可以采用自己的私钥对该待存储数据的哈希值进行签名,并将签名后的哈希值广播到该区块链网络中。本实施例中的记账节点可以是该区块链网络中参与区块记账的节点,同时也可以是该区块链网络中的云存储节点。即在本实施例中,记账节点不仅具有区块链记账的功能,还具有数据存储的功能。
在本实施例中,当用户节点有数据要存储到区块链网络时,首先在区块链网络中广播待存储数据的信息(比如待存储数据的类型及大小等),以及用户节点愿意为该待存储数据所支付的出价信息(比如,币种,金额等)。
步骤202、所述记账节点检测自身的剩余存储空间是否足够存储所述待存储数据。
可选的在检测到待存储数据之后,记账节点可以对待存储数据的大小进行判断,进一步的,再对自身的剩余空间进行检测,若剩余空间大于待存储数据的大小,则将待存储数据直接存储在自身的存储空间中,若剩余空间小于待存储数据的大小,则执行步骤203。
或者在另一种实施例方式中记账节点还可以对待存储数据的类型进行检测,若记账节点所能存储的数据类型包括待存储数据的数据类型,且剩余空间大于待存储数据的大小,则直接将待存储数据存储在自身的存储空间中,若记账节点所能存储的数据类型包括待存储数据的数据类型,但剩余空间小于待存储数据的大小,则执行步骤203。
步骤203、若是不够,则所述记账节点基于所述用户节点的出价信息,从当前已存储的数据中删除对应出价比所述待存储数据低的一个或多个数据。
举例来说,用户节点愿意为待存储数据支付每个字符空间5元的价钱,而在记账节点已存储的数据中包括出价低于每个字符空间5元的数据(比如,包括出价每字符空间2元、3元、4元的数据等),则从该些数据中删除一个或多个,以使记账节点空出足够的空间存储待存储数据。
优选的,可以从记账节点中逐个删除数据每次删除的对象均为记账节点中剩余的数据中出价最低的数据,直到空出足够的空间存储待存储数据为止。
步骤204、所述记账节点存储所述待存储数据。
这里需要说明的是,用户节点为了自己存储的数据不被删除,在数据存储到记账节点之后,还可以随时追加金额,以保证自己的数据不会被删除。
本发明实施例提供的数据存储方法、设备及计算机可读存储介质,通过记账节点检测待存储数据,用户节点对待存储数据的出价信息,以及自身的剩余存储空间是否足够存储所述待存储数据;其中若是不够,则记账节点基于用户节点的出价信息,从当前已存储的数据中删除对应出价比待存储数据低的一个或多个数据以空出足够空间存储待存储数据。本发明实施例通过将数据对应的出价作为数据的存储优先级,这样就能够使得出价高的数据优先得到存储,并在存储空间不足的情况下,优先删除出价低的数据保留出价高的数据,这样就能够实现高出价数据的长期存储,低出价数据的自然消亡。
下面对上述实施例进行进一步的优化和扩展。
图3为本发明实施例提供的步骤204的执行方法流程图,如图3所示,记账节点存储待存储数据的方法如下:
步骤301、记账节点根据区块链网络中上一个区块的哈希值确定出一个数字N。
在本实施例中,区块链网络中存在多个记账节点,多个记账节点抢夺区块链账本的记账权,即当某个记账节点计算出一个符合一定条件的数值时,该记账节点就可以在该区块链账本中增加一个区块,该区块链账本中的区块是首尾相连的,即当前区块中记录有上一个区块的信息,例如,当前区块中记录有上一个区块的哈希值。
以一个记账节点为例,该记账节点可根据该区块链网络中上一个区块的哈希值确定出一个数字N,例如,该记账节点可以取出该上一个区块的哈希值中的第5个字节,并根据该第5个字节上的比特值按照预先约定的算法计算出该数字N。
或者,从上一个区块的哈希值中取出第F个字符,其中F为记账节点中数据出价排序的第F位,比如当F为记账节点中出价排序的第5位时,那么就从上一个区块的哈希值中提取第5个字节。
步骤302、所述记账节点确定其存储的多个存储数据中每个存储数据的第N个数据块。
在本实施例中,每个记账节点都具有数据存储功能,相应的,一个记账节点可存储有多个存储数据,该多个存储数据可以是来自于不同用户节点上传的数据。假设某一个记账节点存储有3个存储数据,例如,存储数据1、存储数据2和存储数据3。该记账节点分别从存储数据1、存储数据2和存储数据3中提取第N个数据块,即存储数据1的第N个数据块、存储数据2的第N个数据块和存储数据3的第N个数据块。在本实施例中,每个数据块的大小可以是256个字节,或者,每个数据块的大小可以是区块链网络中统一规定的一定固定数量的字节。
步骤303、所述记账节点计算所述每个存储数据的第N个数据块对应的数据除以区块链难度值之后的余数。
当该记账节点提取出存储数据1的第N个数据块、存储数据2的第N个数据块和存储数据3的第N个数据块之后,可以进一步计算存储数据1的第N个数据块对应的数据除以区块链难度值之后的余数、存储数据2的第N个数据块对应的数据除以区块链难度值之后的余数、存储数据3的第N个数据块对应的数据除以区块链难度值之后的余数。该余数代表了到期时间Deadline。该到期时间是指从上一个区块生成时刻到新的区块生成时刻之间的时间间隔。可选的,余数的值等于该Deadline的值,该Deadline的单位可以是毫秒或秒。
步骤304、所述记账节点确定所述多个存储数据分别对应的余数中的最小余数,并根据所述最小余数确定第一时间。
进一步,该记账节点确定存储数据1、存储数据2、存储数据3分别对应的余数中的最小余数。假设存储数据3的第N个数据块对应的数据除以区块链难度值之后的余数是存储数据1、存储数据2、存储数据3分别对应的余数中的最小余数。假设该最小余数是23,则该最小余数对应的到期时间Deadline(即第一时间)为23毫秒或秒。
或者,当存储数据2、存储数据3对应的余数相同,且为三个中最小余数,则记账节点查询存储数据2和存储数据3对应的出价,若存储数据3对应的出价高于存储数据2的出价,则根据存储数据3对应的余数确定第一时间,也就是说,当有两个或两个以上的存储数据对应的余数相同,且为最小余数时,记账节点可以从所述两个或两个以上的存储数据中确定出目标存储数据,并根据目标存储数据对应的余数确定所述第一时间,其中目标存储数据在所述两个或两个以上的存储数据中对应的出价最高。这样在争夺记账权时由于存储数据3的出价较高,具有较高的存储优先权,因而可以提高记账节点争夺到记账权的概率。
步骤305、所述记账节点在所述上一个区块生成后的第一时间内生成新的区块。
例如,该记账节点可以在上一个区块生成后的23秒内生成新的区块。
可选的,所述记账节点在所述上一个区块生成后的第一时间内生成新的区块,包括:在所述上一个区块生成后的第一时间内,若其他记账节点没有确定出最小余数,则所述记账节点生成新的区块。
例如,区块链网络中的记账节点不止一个,其他的记账节点也存储有多个存储数据,并且其他的记账节点也采用如上所述的方法寻找自己存储的多个存储数据分别对应的余数中的最小余数。
例如,在上一个区块生成后的23秒后,如果其他的记账节点没有计算出比23更小的余数,则该新的区块生成成功。也就是说,每个记账节点都可以计算出一个自己存储的多个存储数据对应的最小余数。而每个记账节点计算出的最小余数可能也不相同,这样就可以确定出哪个记账节点计算出的最小余数是最小的。因此,哪个记账节点计算出的最小余数最小,该记账节点就可以成功创建一个新的区块。理论上而言,如果某个记账节点存储的数据越多,则该记账节点寻找到最小余数的概率越大。因此,记账节点为了能够计算出最小余数,以成功创建新的区块,并获得该新的区块的记账权,该记账节点就需要存储更多的数据,这样才有更大的机会计算出最小余数。
或者,所述记账节点在所述上一个区块生成后的第一时间内生成新的区块,还可以包括:在所述上一个区块生成后的第一时间内,若所述记账节点用于生成最小余数的存储数据的出价高于其他记账节点用于生成最小余数的存储数据的出价,则所述记账节点生成新的区块。
也就是说,当在第一时间内,多个记账节点均生成了最小余数,且最小余数相同,那么此时根据各记账节点生成最小余数所采用的数据的出价高低来决定最终的记账权,比如记账节点1和记账节点2生成的最小余数均为23,记账节点1生成该最小余数所采用的数据的出价为每字节空间5元,记账节点2生成该最小余数所采用的数据的出价为每字节空间3元,则记账节点1获得记账权。
步骤306、所述记账节点在所述新的区块上存储所述待存储数据。
本发明实施例提供的数据存储方法、设备及计算机可读存储介质,通过记账节点检测待存储数据,用户节点对待存储数据的出价信息,以及自身的剩余存储空间是否足够存储所述待存储数据;其中若是不够,则记账节点基于用户节点的出价信息,从当前已存储的数据中删除对应出价比待存储数据低的一个或多个数据以空出足够空间存储待存储数据。本发明实施例通过将数据对应的出价作为数据的存储优先级,这样就能够使得出价高的数据优先得到存储,并在存储空间不足的情况下,优先删除出价低的数据保留出价高的数据,这样就能够实现高出价数据的长期存储,低出价数据的自然消亡。
图4为本发明实施例提供的记账节点的结构示意图。本发明实施例提供的记账节点可以执行数据存储方法实施例提供的处理流程,如图4所示,记账节点40包括:存储器41、处理器42、计算机程序和通讯接口43;其中,计算机程序存储在存储器41中,并被配置为由处理器42执行以下操作:检测到待存储数据,以及用户节点对所述待存储数据的出价信息;
检测自身的剩余存储空间是否足够存储所述待存储数据;其中若是不够,则基于所述用户节点的出价信息,从当前已存储的数据中删除对应出价比所述待存储数据低的一个或多个数据;存储所述待存储数据。
可选的,所述处理器在存储所述待存储数据时,用于:
根据区块链网络中上一个区块的哈希值确定出一个数字N;确定其存储的多个存储数据中每个存储数据的第N个数据块;计算所述每个存储数据的第N个数据块对应的数据除以区块链难度值之后的余数;确定所述多个存储数据分别对应的余数中的最小余数,并根据所述最小余数确定第一时间;在所述上一个区块生成后的第一时间内生成新的区块;在所述新的区块上存储所述待存储数据。
可选的,所述处理器在确定所述多个存储数据分别对应的余数中的最小余数,并根据所述最小余数确定第一时间时,用于:
当有两个或两个以上的存储数据对应的余数相同,且为最小余数时,从所述两个或两个以上的存储数据中确定出目标存储数据,并根据所述目标存储数据对应的余数确定所述第一时间,其中所述目标存储数据在所述两个或两个以上的存储数据中对应的出价最高。
可选的,所述处理器在所述上一个区块生成后的第一时间内生成新的区块时,用于:
在所述上一个区块生成后的第一时间内,若其他记账节点没有确定出最小余数,则生成新的区块。
所述处理器在所述上一个区块生成后的第一时间内生成新的区块时,用于:
在所述上一个区块生成后的第一时间内,若所述记账节点用于生成最小余数的存储数据的出价高于其他记账节点用于生成最小余数的存储数据的出价,则生成新的区块。
图4所示实施例的记账节点可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
另外,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的数据存储方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (7)

1.一种数据存储方法,其特征在于,包括:
记账节点检测到待存储数据,以及用户节点对所述待存储数据的出价信息;
所述记账节点检测自身的剩余存储空间是否足够存储所述待存储数据;
其中若是不够,则所述记账节点基于所述用户节点的出价信息,从当前已存储的数据中删除对应出价比所述待存储数据低的一个或多个数据;
所述记账节点存储所述待存储数据;
记账节点是区块链网络中参与区块记账的节点,用户节点将其待存储的数据存储到多个记账节点上,多个记账节点抢夺区块链账本的记账权;
所述记账节点存储所述待存储数据,包括:
记账节点根据区块链网络中上一个区块的哈希值确定出一个数字N;
所述记账节点确定其存储的多个存储数据中每个存储数据的第N个数据块;
所述记账节点计算所述每个存储数据的第N个数据块对应的数据除以区块链难度值之后的余数;
所述记账节点确定所述多个存储数据分别对应的余数中的最小余数,并根据所述最小余数确定第一时间;
所述记账节点在所述上一个区块生成后的第一时间内生成新的区块;
所述记账节点在所述新的区块上存储所述待存储数据;
所述记账节点确定所述多个存储数据分别对应的余数中的最小余数,并根据所述最小余数确定第一时间,包括:
若有两个或两个以上的存储数据对应的余数相同,且为最小余数,则所述记账节点从所述两个或两个以上的存储数据中确定出目标存储数据,并根据所述目标存储数据对应的余数确定所述第一时间,其中所述目标存储数据在所述两个或两个以上的存储数据中对应的出价最高。
2.根据权利要求1所述的方法,其特征在于,所述记账节点在所述上一个区块生成后的第一时间内生成新的区块,包括:
在所述上一个区块生成后的第一时间内,若其他记账节点没有确定出最小余数,则所述记账节点生成新的区块。
3.根据权利要求1所述的方法,其特征在于,所述记账节点在所述上一个区块生成后的第一时间内生成新的区块,包括:
在所述上一个区块生成后的第一时间内,若所述记账节点用于生成最小余数的存储数据的出价高于其他记账节点用于生成最小余数的存储数据的出价,则所述记账节点生成新的区块。
4.一种记账节点,其特征在于,包括:
存储器;
处理器;
通讯接口;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以下操作:
检测到待存储数据,以及用户节点对所述待存储数据的出价信息;
检测自身的剩余存储空间是否足够存储所述待存储数据;
其中若是不够,则基于所述用户节点的出价信息,从当前已存储的数据中删除对应出价比所述待存储数据低的一个或多个数据;
存储所述待存储数据;
记账节点是区块链网络中参与区块记账的节点,用户节点将其待存储的数据存储到多个记账节点上,多个记账节点抢夺区块链账本的记账权;
所述处理器在存储所述待存储数据时,用于:
根据区块链网络中上一个区块的哈希值确定出一个数字N;
确定其存储的多个存储数据中每个存储数据的第N个数据块;
计算所述每个存储数据的第N个数据块对应的数据除以区块链难度值之后的余数;
确定所述多个存储数据分别对应的余数中的最小余数,并根据所述最小余数确定第一时间;
在所述上一个区块生成后的第一时间内生成新的区块;
在所述新的区块上存储所述待存储数据;
所述处理器在确定所述多个存储数据分别对应的余数中的最小余数,并根据所述最小余数确定第一时间时,用于:
当有两个或两个以上的存储数据对应的余数相同,且为最小余数时,从所述两个或两个以上的存储数据中确定出目标存储数据,并根据所述目标存储数据对应的余数确定所述第一时间,其中所述目标存储数据在所述两个或两个以上的存储数据中对应的出价最高。
5.根据权利要求4所述的记账节点,其特征在于,所述处理器在所述上一个区块生成后的第一时间内生成新的区块时,用于:
在所述上一个区块生成后的第一时间内,若其他记账节点没有确定出最小余数,则生成新的区块。
6.根据权利要求4所述的记账节点,其特征在于,所述处理器在所述上一个区块生成后的第一时间内生成新的区块时,用于:
在所述上一个区块生成后的第一时间内,若所述记账节点用于生成最小余数的存储数据的出价高于其他记账节点用于生成最小余数的存储数据的出价,则生成新的区块。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-3任一项所述的方法。
CN201910732885.7A 2019-08-09 2019-08-09 数据存储方法、设备及计算机可读存储介质 Active CN110471987B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910732885.7A CN110471987B (zh) 2019-08-09 2019-08-09 数据存储方法、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910732885.7A CN110471987B (zh) 2019-08-09 2019-08-09 数据存储方法、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110471987A CN110471987A (zh) 2019-11-19
CN110471987B true CN110471987B (zh) 2023-02-21

Family

ID=68511669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910732885.7A Active CN110471987B (zh) 2019-08-09 2019-08-09 数据存储方法、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110471987B (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9106972B2 (en) * 2010-12-30 2015-08-11 Google Technology Holdings LLC Social networking for bandwidth conservation in video on demand systems
CN104135687A (zh) * 2014-07-29 2014-11-05 深圳创维数字技术股份有限公司 一种节目数据处理的方法及数字电视终端
CN106155595A (zh) * 2016-08-01 2016-11-23 乐视控股(北京)有限公司 存储器的存储优化方法和系统
CN108876361A (zh) * 2017-05-12 2018-11-23 李平 区块链系统、区块生成方法及计算机可读存储介质
CN109522462B (zh) * 2018-10-18 2021-06-04 上海达家迎信息科技有限公司 一种基于区块链的云查询方法、装置、设备及存储介质
CN109491968B (zh) * 2018-11-13 2021-01-22 恒生电子股份有限公司 一种文件处理方法、装置、设备及计算机可读存储介质
CN109726229B (zh) * 2018-11-30 2023-10-10 深圳市元征科技股份有限公司 一种区块链数据存储方法及装置
CN109903163A (zh) * 2019-03-05 2019-06-18 杭州秘猿科技有限公司 一种区块链的出块奖励方法、装置和电子设备

Also Published As

Publication number Publication date
CN110471987A (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
CN107169865B (zh) 基于区块链技术的资产数据处理系统
US11392612B2 (en) Data processing method and device
CN109949111A (zh) 电子票据标识分配方法、电子票据生成方法、装置及系统
CN109064345A (zh) 消息处理方法、系统以及计算机可读存储介质
CN110233741B (zh) 服务计费方法、装置、设备及存储介质
US20160379122A1 (en) Recommendation algorithm optimization method, device and system
CN110851535B (zh) 基于区块链的数据处理方法、装置、存储介质及终端
CN110839069B (zh) 一种节点数据部署方法、部署节点、系统及介质
CN109918382A (zh) 数据处理方法、装置、终端及存储介质
CN105075217A (zh) 质量可配置的随机数据服务
JPWO2019038839A1 (ja) ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム
CN110851427A (zh) 数据库容量变更方法和装置
CN109949064B (zh) 一种开放接口调用计费方法和装置
CN111064776B (zh) 区块链中区块的生成方法、记账节点及存储介质
CN109858285B (zh) 区块链数据的处理方法、装置、设备和介质
CN114070847B (zh) 服务器的限流方法、装置、设备及存储介质
CN110471987B (zh) 数据存储方法、设备及计算机可读存储介质
CN110083501A (zh) 接口调用计数方法和装置
CN110858211B (zh) 数据存储方法、装置及系统、存储介质
CN110489231B (zh) 交易信息记录方法、设备及计算机可读存储介质
CN115827646A (zh) 索引配置方法、装置和电子设备
EP3908015A1 (en) Method of determining shared service index for shared service communication certificate
CN109560916A (zh) 一种电子发票的发放方法、领用方法及相关装置
CN110808961B (zh) 用于安全验证的数据处理方法及装置
CN114513469A (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