CN108537063A - 一种数据存储的方法、装置及设备 - Google Patents

一种数据存储的方法、装置及设备 Download PDF

Info

Publication number
CN108537063A
CN108537063A CN201810159643.9A CN201810159643A CN108537063A CN 108537063 A CN108537063 A CN 108537063A CN 201810159643 A CN201810159643 A CN 201810159643A CN 108537063 A CN108537063 A CN 108537063A
Authority
CN
China
Prior art keywords
block
data
block chain
node
special
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
Application number
CN201810159643.9A
Other languages
English (en)
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.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810159643.9A priority Critical patent/CN108537063A/zh
Publication of CN108537063A publication Critical patent/CN108537063A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Abstract

本说明书公开一种数据存储的方法、装置及设备,该方法中区块链节点接收到数据共享请求后,可以根据该数据共享请求中包含的待共享数据,生成区块,若该区块链节点为共识网络中的主节点,可以将该区块添加到自身存储的区块链中,并将该区块发送给共识网络中的其他区块链节点进行存储,若该区块链节点为从节点,则可将该区块发送给共识网络中的主节点,以使该主节点对该区块进行验证,并在确定该区块通过验证后,将该区块写入自身存储的区块链中,以及将该区块发送给共识网络中的其他区块链节点进行存储。

Description

一种数据存储的方法、装置及设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种数据存储的方法、装置及设备。
背景技术
在多方合作完成诸如业务开发、测试等工作时,往往需要共同使用、维护、管理一些共享数据。通常情况下,这些共享数据会存储在诸如云盘、数据库等第三方存储设备中进行管理。
然而,若是将共享数据存储在第三方存储设备中,任意一方对共享数据进行篡改,其余各方很难有效的对这一篡改操作实施监控。不仅如此,若是存储共享数据的第三方存储设备出现诸如宕机、运行故障等情况时,各方也将无法使用存储在第三方存储设备中的共享数据,从而对自身工作的实施造成影响。
基于现有技术,需要一种更为安全的数据存储方式。
发明内容
本说明书提供一种数据存储的方法,用以解决现有技术中通过第三方存储设备存储共享数据会带来安全隐患的问题。
本说明书提供了一种数据存储的方法,共识网络由多个区块链节点构成,所述区块链节点包含主节点和从节点,所述方法包括:
区块链节点接收数据共享请求;
根据所述数据共享请求中包含的待共享数据,生成区块;
若所述区块链节点为主节点,将所述区块添加到自身存储的区块链中,并将所述区块发送给所述共识网络中的其他区块链节点进行存储;
若所述区块链节点为从节点,将所述区块发送给所述共识网络中的主节点进行验证,以使所述主节点在对所述区块通过验证后,将所述区块添加到所述主节点自身存储的区块链中,并将所述区块发送给其他区块链节点进行存储。
本说明书提供一种数据存储的装置,用以解决现有技术中通过第三方存储设备存储共享数据会带来安全隐患的问题。
本说明书提供了一种数据存储的装置,共识网络由多个区块链节点构成,所述区块链节点包含主节点和从节点,所述装置包括:
接收模块,接收数据共享请求;
生成模块,根据所述数据共享请求中包含的待共享数据,生成区块;
存储模块,若所述装置为主节点,将所述区块添加到自身存储的区块链中,并将所述区块发送给所述共识网络中的其他区块链节点进行存储;若所述装置为从节点,将所述区块发送给所述共识网络中的主节点进行验证,以使所述主节点在对所述区块通过验证后,将所述区块添加到所述主节点自身存储的区块链中,并将所述区块发送给其他区块链节点进行存储。
本说明书提供一种数据存储的区块链节点,用以解决现有技术中通过第三方存储设备存储共享数据会带来安全隐患的问题。
本说明书提供了一种数据存储的区块链节点,包括一个或多个存储器以及处理器,所述存储器存储程序,并且被配置成由所述一个或多个处理器执行以下步骤:
接收数据共享请求;
根据所述数据共享请求中包含的待共享数据,生成区块;
若所述区块链节点为主节点,将所述区块添加到自身存储的区块链中,并将所述区块发送给所述共识网络中的其他区块链节点进行存储;
若所述区块链节点为从节点,将所述区块发送给所述共识网络中的主节点进行验证,以使所述主节点在对所述区块通过验证后,将所述区块添加到所述主节点自身存储的区块链中,并将所述区块发送给其他区块链节点进行存储。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书一个或多个实施例中,由于可将待共享数据存储在各个区块链节点的区块链中,所以,即使一部分区块链节点发生诸如宕机、运行故障等状况,依然可以从其他运行正常的区块链节点中获取到该待共享数据。不仅如此,由于区块链具备的防篡改特性,致使任意一方无法私自对区块链中的共享数据进行篡改,从而有效保证了共享数据的安全性。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书提供的数据存储过程的示意图;
图2为本说明书提供的根据各特殊区块中的区块生成时间以及头哈希值存储各特殊区块的示意图;
图3为本说明书提供的通过数据平台向区块链节点进行数据存储以及数据查询的示意图;
图4为本说明书提供的一种数据存储的装置示意图;
图5为本说明书提供的一种数据存储的区块链节点的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
图1为本说明书提供的数据存储过程的示意图,具体包括以下步骤:
S100:区块链节点接收数据共享请求。
各个机构在多方合作的场景中,可能需要共同使用、维护一些共享数据。为了保证这些共享数据的安全性,在本说明书中,各个机构可以将这些共享数据存储在区块链中,以防止这些共享数据被任意一个机构进行随意篡改。并且,由于这些共享数据可以存储在各个机构对应的区块链节点中,所以,即使一些机构存储共享数据的区块链节点出现故障,也不会妨碍其他机构使用这些共享数据,从而保证了共享数据的正常使用。
在本说明书中,每个机构可以设置一个或多个区块链节点,各区块链节点可以是硬件形式的,也可以是诸如虚拟机等软件形式的。各机构可以根据实际需求,在整个共识网络中配置新的区块链节点,其中,在对新的区块链节点配置完相应的节点信息后,可以向共识网络中的各区块链节点发送通知,以对新的区块链节点进行数据同步,新的区块链节点接收到同步的区块链后,可以通过区块链包含的各区块中的哈希值,对该区块链进行数据验证,在确定该区块链验证通过后,可以将该区块链进行存储。这里提到区块链可以是私有链形式的。
在本说明书中,当需要将待共享数据存储在区块链时,可以向区块链节点发送数据共享请求,以使该区块链节点通过共识网络,将该待共享数据存储在各个区块链节点中的区块链上。其中,该待共享数据可以是维护该区块链节点的机构需要进行共享的数据,也可以是其他机构借用该区块链节点需要共享到共识网络中各区块链节点的数据。
S102:根据所述数据共享请求中包含的待共享数据,生成区块。
区块链节点接收到该数据共享请求后,可以确定出当前自身保存的区块链中位于最后一个区块的头哈希值,进而可以根据该头哈希值、该数据共享请求中包含的待共享数据以及其他信息,生成区块的头哈希值(也即该区块的摘要信息)。而后,区块链节点可以通过自身所持有的私钥,对该区块的头哈希值进行签名,得到相应的签名信息,进而根据该区块的头哈希值、待共享数据、签名信息、自身保存的区块链中最后一个区块的头哈希值(也即该区块的上一区块的头哈希值)以及其他信息,生成该区块。其中,这里提到的其他信息可以是指该区块链节点的IP地址、该区块链节点的区块标识、该区块的生成时间等信息。
在本说明书中,该待共享数据可以是指诸如文档、图片等需要共享给其他机构的新数据,也可以是指在原来已共享的数据(即,已存储在区块链中的数据,为方便,后续将该数据称之为原始数据)的基础上进行过增、删、改等操作后的数据。其中,若是需要将在原始数据基础上进行过增、删、改等操作后得到的数据进行共享,则可以将该数据的所有内容作为待共享数据。当然,为了节省存储空间,也可确定出原始数据与待共享数据之间的数据变更参数,并将该数据变更参数作为待共享数据。
其中,这里提到的数据变更参数可以是指原始数据与该待共享数据的在内容上存在差异的部分。例如,假设原始数据为ABCCCDXV,经过修改该原始数据得到的待共享数据为ABCBCDCV,则在该待共享数据中的第四位B和第七位C的数据即是该待共享数据相比于原始数据的数据变更参数。当然,在本说明书中,该数据变更参数也可以区块链节点通过预设算法,确定出的原始数据变更为该待共享数据的参数。
例如,该区块链节点在接收到该数据共享请求后,可以根据该数据共享请求中包含的该待共享数据对应的数据标识,从自身存储的区块链中确定出该数据标识所对应的原始数据。而后,该区块链节点可以通过预设的Myers算法,确定出从该原始数据变更为该待共享数据的路径d以及最终坐标k,进而将确定出的路径d以及最终坐标k作为该数据变更参数,并将该数据变更参数作为待共享数据,生成相应的区块。
由于该区块中包含有该数据变更参数,所以,当该区块通过各区块链节点的验证并存储在各区块链节点的区块链中后,各机构则可以根据该区块中包含的数据标识,确定出该数据标识对应的原始数据,而后根据该原始数据以及该数据变更参数,还原出原始数据变更后的数据(即待共享数据),进而对该数据实施操作。
需要说明的是,这里提到的原始数据可以是最开始的初始数据,也可以是多次变更初始数据后的数据。例如,假设,数据A为最原始的数据,即不是通过其他数据变更而来的数据,则可以将数据A称之为是初始数据,A′为在初始数据A的基础上进行变更后并存储在区块链上的数据,而待共享数据A″则是在数据A′的基础上再次进行变更后得到的数据。所以,对于待共享数据A″来说,则数据A以及数据A′均可以称之为是待共享数据A″的原始数据。
当然,在本说明书中,上述数据变更参数也可以由发送数据共享请求的机构确定出来,并携带在该数据共享请求中发送给区块链节点。
上述数据变更参数可以采用多种数据格式进行存储,如,可以Json格式存储在区块链中。数据变更参数中包含的内容可以Key-Value的形式出现。在本说明书中,数据变更参数中包含的内容可以根据实际需求自行进行定义、规范,如,数据变更参数中可以包含有诸如版本号、作者名、数据唯一标识(可以是上述提到的最原始的数据所对应的数据唯一标识,后续通过变更该最原始的数据所得到的数据可以采用与该最原始的数据相同的数据唯一标识)、变更原始数据所采用的操作类型(如、增、删、改等)等内容。
S104:若所述区块链节点为主节点,将所述区块添加到自身存储的区块链中,并将所述区块发送给所述共识网络中的其他区块链节点进行存储。
S106:若所述区块链节点为从节点,将所述区块发送给所述共识网络中的主节点进行验证,以使所述主节点在对所述区块通过验证后,将所述区块添加到所述主节点自身存储的区块链中,并将所述区块发送给其他区块链节点进行存储。
在本说明书中,整个共识网络中可以由多个区块链节点构成,在这些区块链节点中包含有一个主节点以及多个从节点,主节点可以将需要存储在区块链上的区块发送给共识网络中各从节点,以指示各从节点对该区块进行存储。主节点并不是一直不变的,可以通过投票机制进行更改,由得票数最多的区块链节点进行担任。
在本说明书中,若该区块链节点为共识网络中的从节点,则可以采用Raft分布式协议,将该区块发送给共识网络中的主节点。主节点可以通过自身所持有的公钥,对该区块中包含的签名信息进行验证,在确定出该签名信息通过验证后,再根据该区块中包含的内容,对该区块的头哈希值进行验证。在确定该区块的头哈希值通过验证后,则可确定该区块通过验证,进而将该区块通过共识网络,发送给其他区块链节点,并将该区块作为区块存储在自身的区块链中。
其他区块链节点接收到该区块后,可以采用同样的方式,对该区块进行验证,并在确定该区块通过验证后,将该区块作为区块存储在自身存储的区块链中。
而若该区块链节点为主节点,则可以将该区块添加到自身存储的区块链中,并将该区块发送给共识网络中的各从节点,以使各从节点在确定该区块通过验证后,将该区块添加到各自存储的区块链中。
需要说明的是,在实际应用中,可以会存在多个从节点同时向主节点发送各自区块的情况发生,在这种情况下,各节点生成的区块中包含的上一区块的头哈希值也可能是相同的,而若是主节点确定这些区块均通过验证,则将这些区块存储在区块链的过程中,将出现“分叉”,也即支链,从而增加了区块链的复杂度。
为此,在本说明书中,主节点在接收至少两个特殊区块时,则可以根据预设的规则,对接收到的至少两个特殊区块进行排序。其中,这里提到的特殊区块即是指包含有相同的上一区块的头哈希值的区块。
主节点可以针对除排在首位的每个特殊区块,将该特殊区块中包含的上一区块的头哈希值变更为排在自身前一个的特殊区块的头哈希值,而后根据变更的上一区块的头哈希值,对该特殊区块的头哈希值进行更新。主节点可以将更新后的各特殊区块以及排在首位的特殊区块添加到自身存储的区块链中。
其中,主节点可以根据各特殊区块中包含的区块生成时间和/或各特殊区块的头哈希值,对各特殊区块进行排序,进而基于得到的排序结果,对各特殊区块包含的上一区块的头哈希值以及各特殊区块对应的头哈希值进行更新,并对这些特殊区块进行存储,如图2所示。
图2为本说明书提供的根据各特殊区块中的区块生成时间以及头哈希值存储各特殊区块的示意图。
从图2中可以看出,主节点接收到的区块A和区块B中包含的上一区块的头哈希值相同,因此,这两个区块为特殊区块。若是按照正常的方式,将这两个区块作为区块写入到区块链中,则在区块链中,这两个区块将会在头哈希值为a8392ddsn54773fcwe46fgxh532h的区块下方产生支链。
而在本说明书中,主节点在接收到特殊区块A和B后,可以根据这两个特殊区块中包含的区块生成时间,对这两个特殊区块进行排序,(即,时间在前的特殊区块排在前面),而后,将排在前面的特殊区块A的头哈希值作为排在后面的特殊区块B的上一区块的头哈希值,并根据此时该特殊区块B中包含的内容,更新该特殊区块B的头哈希值,进而根据更新后的头哈希值,得到更新后的特殊区块B′。这样一来,主节点以及共识网络中的其他区块链节点即可以根据特殊区块A和B′中包含的头哈希值,将这两个特殊区块按照顺序存储在区块链中。
需要说明的是,若是主节点同时接收到的各特殊区块中包含的区块生成时间相同,则可以按照一定的规则以及各特殊区块对应的头哈希值,对各特殊区块进行排序,进而基于得到的排序结果,将通过验证的各特殊区块存储在区块链中。
例如,假设主节点接收到的特殊区块C和D中的区块生成时间相同,则主节点可以按照0~9~z的顺序,将这两个特殊区块对应的头哈希值的首字符排位靠前的特殊区块排在前,得到的排序结果,并对排在后面的特殊区块的头哈希值以及包含的上一区块的头哈希值进行更新,进而将这两个特殊区块写入到区块链中。
再例如,对于区块生成时间相同的两个特殊区块来说,主节点也可以针对每个特殊区块对应的头哈希值,将该头哈希值的前设定个字符分别转化为二级制,并对得到的二级制进行加和,得到和值。而后,主节点可以比较针对各特殊区块得到的和值,并根据比较得出的结果,对各特殊区块进行排序,进而基于排序结果,对各特殊区块进行更新,并存储在区块链中。
当然,主节点也可以通过其他的方式,对包含的上一区块的头哈希值相同的特殊区块进行排序、更新,在此就不一一举例说明了。
从上述方法中可以看出,由于可将待共享数据存储在各个区块链节点的区块链中,所以,即使一部分区块链节点发生诸如宕机、运行故障等状况,依然可以从其他运行正常的区块链节点中获取到该待共享数据。不仅如此,由于区块链具备的防篡改特性,致使任意一方无法私自对区块链中的共享数据进行篡改,从而有效保证了共享数据的安全性。
需要说明的是,在本说明书中,各区块链节点生成的区块中可以设有扩展字段空间,后续各区块链节点可以根据实际需求,在新生成的区块中添加需要的扩展字段。
为了保证数据的传输安全,区块链节点可以采用安全套接层(Security SocketLayer,SSL)协议,将区块发送给主节点。同理,主节点也可以采用SSL协议,将通过验证的区块发送给共识网络中的其他区块链节点。当然,也可以采用其他的安全协议进行数据传输,在此就不一一举例说明了。
在本说明书中,每个机构可以设置至少一个数据平台,以通过设置的数据平台,向该机构所对应的区块链节点进行数据存储和数据查询,如图3所示。
图3为本说明书提供的通过数据平台向区块链节点进行数据存储以及数据查询的示意图。
各机构可以通过自身对应的数据平台,向对接该数据平台的区块链节点发送数据共享请求,该区块链节点可以根据该数据共享请求,生成相应的区块,并将该区块添加到自身存储的区块链中,并将该区块发送给主节点,以通过该主节点发送给共识网络中的其他区块链节点进行存储。
而在需要查询共享数据时,则可以通过数据平台,向该区块链节点发送数据查询请求,该区块链节点可以从自身存储的区块链中,查询出该数据查询请求对应的共享数据,并将该共享数据返回给数据平台,以供用户进行使用。
以上为本说明书的一个或多个实施例提供的数据存储方法,基于同样的思路,本说明书还提供了相应的数据存储的装置,如图4所示。
图4为本说明书提供的一种数据存储的装置示意图,具体包括:
接收模块401,接收数据共享请求;
生成模块402,根据所述数据共享请求中包含的待共享数据,生成区块;
存储模块403,若所述装置为主节点,将所述区块添加到自身存储的区块链中,并将所述区块发送给所述共识网络中的其他区块链节点进行存储;若所述装置为从节点,将所述区块发送给所述共识网络中的主节点进行验证,以使所述主节点在对所述区块通过验证后,将所述区块添加到所述主节点自身存储的区块链中,并将所述区块发送给其他区块链节点进行存储。
所述生成模块402,根据所述数据共享请求中包含的数据标识,查询所述待共享数据对应的原始数据;确定所述原始数据变更为所述待共享数据的数据变更参数;根据所述数据变更参数,生成所述区块。
若所述装置为主节点,所述存储模块403,采用安全套接层SSL协议,将所述区块发送给所述共识网络中的其他区块链节点存储;
若所述装置为从节点,所述存储模块403,采用安全套接层SSL协议,将所述区块发送给所述共识网络中的主节点进行验证。
所述存储模块403,当接收到其他区块链节点发送的至少两个特殊区块时,根据预设的规则,对所述至少两个特殊区块进行排序,所述至少两个特殊区块中包含有相同的上一区块的头哈希值;针对除排在首位的每个特殊区块,将该特殊区块中包含的上一区块的头哈希值变更为排在前一个的特殊区块的头哈希值;根据变更后的上一区块的头哈希值,更新该特殊区块对应的头哈希值;将各特殊区块添加到自身存储的区块链中。
所述存储模块403,根据所述至少两个特殊区块中包含的区块生成时间和/或各特殊区块对应的头哈希值,对所述至少两个特殊区块进行排序。
所述接收模块401,接收与所述装置对应的数据平台发送的数据共享请求;
所述接收模块401,接收与所述装置对应的数据平台的数据查询请求;从所述装置存储的区块链中查询所述数据查询请求对应的共享数据,并将所述共享数据返回给所述数据平台。
基于上述说明的数据存储的方法,本说明书还对应提供了一种用于数据存储的区块链节点,如图5所示。该区块链节点包括一个或多个存储器以及处理器,所述存储器存储程序,并且被配置成由所述一个或多个处理器执行以下步骤:
接收数据共享请求;
根据所述数据共享请求中包含的待共享数据,生成区块;
若所述区块链节点为主节点,将所述区块添加到自身存储的区块链中,并将所述区块发送给所述共识网络中的其他区块链节点进行存储;
若所述区块链节点为从节点,将所述区块发送给所述共识网络中的主节点进行验证,以使所述主节点在对所述区块通过验证后,将所述区块添加到所述主节点自身存储的区块链中,并将所述区块发送给其他区块链节点进行存储。
在本说明书的一个或多个实施例中,区块链节点接收到数据共享请求后,可以根据该数据共享请求中包含的待共享数据,生成区块,若该区块链节点为共识网络中的主节点,可以将该区块添加到自身存储的区块链中,并将该区块发送给共识网络中的其他区块链节点进行存储,若该区块链节点为从节点,则可将该区块发送给共识网络中的主节点,以使该主节点对该区块进行验证,并在确定该区块通过验证后,将该区块写入自身存储的区块链中,以及将该区块发送给共识网络中的其他区块链节点进行存储。
由于可将待共享数据存储在各个区块链节点的区块链中,所以,即使一部分区块链节点发生诸如宕机、运行故障等状况,依然可以从其他运行正常的区块链节点中获取到该待共享数据。不仅如此,由于区块链具备的防篡改特性,致使任意一方无法私自对区块链中的共享数据进行篡改,从而有效保证了共享数据的安全性。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书一个或多个实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书的一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (13)

1.一种数据存储的方法,共识网络由多个区块链节点构成,所述区块链节点包含主节点和从节点,所述方法包括:
区块链节点接收数据共享请求;
根据所述数据共享请求中包含的待共享数据,生成区块;
若所述区块链节点为主节点,将所述区块添加到自身存储的区块链中,并将所述区块发送给所述共识网络中的其他区块链节点进行存储;
若所述区块链节点为从节点,将所述区块发送给所述共识网络中的主节点进行验证,以使所述主节点在对所述区块通过验证后,将所述区块添加到所述主节点自身存储的区块链中,并将所述区块发送给其他区块链节点进行存储。
2.如权利要求1所述的方法,根据所述数据共享请求中包含的待共享数据,生成区块,具体包括:
根据所述数据共享请求中包含的数据标识,查询所述待共享数据对应的原始数据;
确定所述原始数据变更为所述待共享数据的数据变更参数;
根据所述数据变更参数,生成所述区块。
3.如权利要求1所述的方法,若所述区块链节点为主节点,将所述区块发送给共识网络中的其他区块链节点进行存储,具体包括:
采用安全套接层SSL协议,将所述区块发送给所述共识网络中的其他区块链节点存储;
若所述区块链节点为从节点,将所述区块发送给所述共识网络中的主节点进行验证,具体包括:
采用安全套接层SSL协议,将所述区块发送给所述共识网络中的主节点进行验证。
4.如权利要求1所述的方法,若所述区块链节点为主节点,所述方法还包括:
当接收到其他区块链节点发送的至少两个特殊区块时,根据预设的规则,对所述至少两个特殊区块进行排序,所述至少两个特殊区块中包含有相同的上一区块的头哈希值;
针对除排在首位的每个特殊区块,将该特殊区块中包含的上一区块的头哈希值变更为排在前一个的特殊区块的头哈希值;
根据变更后的上一区块的头哈希值,更新该特殊区块对应的头哈希值;
将各特殊区块添加到自身存储的区块链中。
5.如权利要求4所述的方法,根据预设的规则,对所述至少两个特殊区块进行排序,具体包括:
根据所述至少两个特殊区块中包含的区块生成时间和/或各特殊区块对应的头哈希值,对所述至少两个特殊区块进行排序。
6.如权利要求1所述的方法,一个区块链节点至少向一个数据平台提供数据存储和数据查询服务;
区块链节点接收数据共享请求,具体包括:
接收与所述区块链节点对应的数据平台发送的数据共享请求;
所述方法还包括:
接收与所述区块链节点对应的数据平台的数据查询请求;
从所述区块链节点存储的区块链中查询所述数据查询请求对应的共享数据,并将所述共享数据返回给所述数据平台。
7.一种数据存储的装置,共识网络由多个区块链节点构成,所述区块链节点包含主节点和从节点,所述装置包括:
接收模块,接收数据共享请求;
生成模块,根据所述数据共享请求中包含的待共享数据,生成区块;
存储模块,若所述装置为主节点,将所述区块添加到自身存储的区块链中,并将所述区块发送给所述共识网络中的其他区块链节点进行存储;若所述装置为从节点,将所述区块发送给所述共识网络中的主节点进行验证,以使所述主节点在对所述区块通过验证后,将所述区块添加到所述主节点自身存储的区块链中,并将所述区块发送给其他区块链节点进行存储。
8.如权利要求7所述的装置,所述生成模块,根据所述数据共享请求中包含的数据标识,查询所述待共享数据对应的原始数据;确定所述原始数据变更为所述待共享数据的数据变更参数;根据所述数据变更参数,生成所述区块。
9.如权利要求7所述的装置,若所述装置为主节点,所述存储模块,采用安全套接层SSL协议,将所述区块发送给所述共识网络中的其他区块链节点存储;
若所述装置为从节点,所述存储模块,采用安全套接层SSL协议,将所述区块发送给所述共识网络中的主节点进行验证。
10.如权利要求7所述的装置,所述存储模块,当接收到其他区块链节点发送的至少两个特殊区块时,根据预设的规则,对所述至少两个特殊区块进行排序,所述至少两个特殊区块中包含有相同的上一区块的头哈希值;针对除排在首位的每个特殊区块,将该特殊区块中包含的上一区块的头哈希值变更为排在前一个的特殊区块的头哈希值;根据变更后的上一区块的头哈希值,更新该特殊区块对应的头哈希值;将各特殊区块添加到自身存储的区块链中。
11.如权利要求10所述的装置,所述存储模块,根据所述至少两个特殊区块中包含的区块生成时间和/或各特殊区块对应的头哈希值,对所述至少两个特殊区块进行排序。
12.如权利要求7所述的装置,所述接收模块,接收与所述装置对应的数据平台发送的数据共享请求;
所述接收模块,接收与所述装置对应的数据平台的数据查询请求;从所述装置存储的区块链中查询所述数据查询请求对应的共享数据,并将所述共享数据返回给所述数据平台。
13.一种数据存储的区块链节点,包括一个或多个存储器以及处理器,所述存储器存储程序,并且被配置成由所述一个或多个处理器执行以下步骤:
接收数据共享请求;
根据所述数据共享请求中包含的待共享数据,生成区块;
若所述区块链节点为主节点,将所述区块添加到自身存储的区块链中,并将所述区块发送给所述共识网络中的其他区块链节点进行存储;
若所述区块链节点为从节点,将所述区块发送给所述共识网络中的主节点进行验证,以使所述主节点在对所述区块通过验证后,将所述区块添加到所述主节点自身存储的区块链中,并将所述区块发送给其他区块链节点进行存储。
CN201810159643.9A 2018-02-26 2018-02-26 一种数据存储的方法、装置及设备 Pending CN108537063A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810159643.9A CN108537063A (zh) 2018-02-26 2018-02-26 一种数据存储的方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810159643.9A CN108537063A (zh) 2018-02-26 2018-02-26 一种数据存储的方法、装置及设备

Publications (1)

Publication Number Publication Date
CN108537063A true CN108537063A (zh) 2018-09-14

Family

ID=63485849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810159643.9A Pending CN108537063A (zh) 2018-02-26 2018-02-26 一种数据存储的方法、装置及设备

Country Status (1)

Country Link
CN (1) CN108537063A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109714652A (zh) * 2018-12-18 2019-05-03 京信通信系统(中国)有限公司 Odn管理系统的数据存储方法、系统、存储介质及设备
CN109710190A (zh) * 2018-12-26 2019-05-03 百度在线网络技术(北京)有限公司 一种数据存储方法、装置、设备及存储介质
CN110321199A (zh) * 2019-07-09 2019-10-11 成都卫士通信息产业股份有限公司 一种共用数据变更的通知方法、装置、电子设备及介质
CN110336833A (zh) * 2019-07-30 2019-10-15 中国工商银行股份有限公司 基于区块链的图片内容共识方法、服务器
CN110969527A (zh) * 2018-09-29 2020-04-07 北京天能博信息科技有限公司 一种区块链的数据处理方法及相关设备
CN111177277A (zh) * 2020-04-10 2020-05-19 支付宝(杭州)信息技术有限公司 数据存储方法、交易存储方法及装置
CN111339089A (zh) * 2020-02-21 2020-06-26 联动优势(北京)数字科技有限公司 一种应用于区块链的数据存储与获取方法及装置
CN111368343A (zh) * 2020-03-31 2020-07-03 北京俩撇科技有限公司 一种区块链系统、数据存储方法及装置
CN111400402A (zh) * 2020-03-13 2020-07-10 支付宝(杭州)信息技术有限公司 一种基于区块链的数据共享方法、装置及设备
CN111723158A (zh) * 2020-03-16 2020-09-29 支付宝(杭州)信息技术有限公司 用于区块链网络中的数据同步的方法、装置和计算设备
CN111737104A (zh) * 2019-10-25 2020-10-02 北京沃东天骏信息技术有限公司 区块链网络服务平台及其测试用例共享方法、存储介质
CN112214518A (zh) * 2020-11-09 2021-01-12 广东新禾道信息科技有限公司 一种基于区块链的地理空间基础数据共享方法及系统
CN113364754A (zh) * 2021-05-31 2021-09-07 支付宝(杭州)信息技术有限公司 数据共享方法、装置及设备
WO2021217849A1 (zh) * 2020-04-30 2021-11-04 平安科技(深圳)有限公司 区块链的节点同步方法、装置、设备及存储介质
CN111340481B (zh) * 2018-12-19 2023-05-12 北京沃东天骏信息技术有限公司 基于多链区块链网络的数据处理方法、装置和设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1934540A (zh) * 2004-03-25 2007-03-21 索福帮Bb股份有限公司 备份系统以及备份方法
CN105975868A (zh) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 一种基于区块链的证据保全方法及装置
CN107104816A (zh) * 2017-03-07 2017-08-29 阿里巴巴集团控股有限公司 一种信息变更监控方法和装置
CN107222482A (zh) * 2017-06-01 2017-09-29 黑龙江卓亚科技有限公司 一种基于复合区块链网络的数据管理系统及方法
US20170364701A1 (en) * 2015-06-02 2017-12-21 ALTR Solutions, Inc. Storing differentials of files in a distributed blockchain
CN107592293A (zh) * 2017-07-26 2018-01-16 阿里巴巴集团控股有限公司 区块链节点间通讯方法、数字证书管理方法、装置和电子设备
CN107679863A (zh) * 2017-09-19 2018-02-09 中国银行股份有限公司 一种区块链系统及快速验证区块的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1934540A (zh) * 2004-03-25 2007-03-21 索福帮Bb股份有限公司 备份系统以及备份方法
US20170364701A1 (en) * 2015-06-02 2017-12-21 ALTR Solutions, Inc. Storing differentials of files in a distributed blockchain
CN105975868A (zh) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 一种基于区块链的证据保全方法及装置
CN107104816A (zh) * 2017-03-07 2017-08-29 阿里巴巴集团控股有限公司 一种信息变更监控方法和装置
CN107222482A (zh) * 2017-06-01 2017-09-29 黑龙江卓亚科技有限公司 一种基于复合区块链网络的数据管理系统及方法
CN107592293A (zh) * 2017-07-26 2018-01-16 阿里巴巴集团控股有限公司 区块链节点间通讯方法、数字证书管理方法、装置和电子设备
CN107679863A (zh) * 2017-09-19 2018-02-09 中国银行股份有限公司 一种区块链系统及快速验证区块的方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110969527A (zh) * 2018-09-29 2020-04-07 北京天能博信息科技有限公司 一种区块链的数据处理方法及相关设备
CN110969527B (zh) * 2018-09-29 2023-02-24 北京天能博信息科技有限公司 一种区块链的数据处理方法及相关设备
CN109714652A (zh) * 2018-12-18 2019-05-03 京信通信系统(中国)有限公司 Odn管理系统的数据存储方法、系统、存储介质及设备
CN111340481B (zh) * 2018-12-19 2023-05-12 北京沃东天骏信息技术有限公司 基于多链区块链网络的数据处理方法、装置和设备
CN109710190A (zh) * 2018-12-26 2019-05-03 百度在线网络技术(北京)有限公司 一种数据存储方法、装置、设备及存储介质
CN109710190B (zh) * 2018-12-26 2022-03-08 百度在线网络技术(北京)有限公司 一种数据存储方法、装置、设备及存储介质
CN110321199A (zh) * 2019-07-09 2019-10-11 成都卫士通信息产业股份有限公司 一种共用数据变更的通知方法、装置、电子设备及介质
CN110321199B (zh) * 2019-07-09 2022-04-12 成都卫士通信息产业股份有限公司 一种共用数据变更的通知方法、装置、电子设备及介质
CN110336833A (zh) * 2019-07-30 2019-10-15 中国工商银行股份有限公司 基于区块链的图片内容共识方法、服务器
CN111737104A (zh) * 2019-10-25 2020-10-02 北京沃东天骏信息技术有限公司 区块链网络服务平台及其测试用例共享方法、存储介质
CN111339089A (zh) * 2020-02-21 2020-06-26 联动优势(北京)数字科技有限公司 一种应用于区块链的数据存储与获取方法及装置
CN111339089B (zh) * 2020-02-21 2023-09-22 联动优势科技有限公司 一种应用于区块链的数据存储与获取方法及装置
CN111400402A (zh) * 2020-03-13 2020-07-10 支付宝(杭州)信息技术有限公司 一种基于区块链的数据共享方法、装置及设备
CN111723158A (zh) * 2020-03-16 2020-09-29 支付宝(杭州)信息技术有限公司 用于区块链网络中的数据同步的方法、装置和计算设备
CN111368343A (zh) * 2020-03-31 2020-07-03 北京俩撇科技有限公司 一种区块链系统、数据存储方法及装置
CN111177277A (zh) * 2020-04-10 2020-05-19 支付宝(杭州)信息技术有限公司 数据存储方法、交易存储方法及装置
WO2021217849A1 (zh) * 2020-04-30 2021-11-04 平安科技(深圳)有限公司 区块链的节点同步方法、装置、设备及存储介质
CN112214518A (zh) * 2020-11-09 2021-01-12 广东新禾道信息科技有限公司 一种基于区块链的地理空间基础数据共享方法及系统
CN112214518B (zh) * 2020-11-09 2021-06-11 广东新禾道信息科技有限公司 一种基于区块链的地理空间基础数据共享方法及系统
CN113364754A (zh) * 2021-05-31 2021-09-07 支付宝(杭州)信息技术有限公司 数据共享方法、装置及设备
CN113364754B (zh) * 2021-05-31 2023-10-13 支付宝(杭州)信息技术有限公司 数据共享方法、装置及设备

Similar Documents

Publication Publication Date Title
CN108537063A (zh) 一种数据存储的方法、装置及设备
US20230281192A1 (en) Method of generating globally verifiable unique identifiers using a scalable interlinked blockchain structure
CN107196989B (zh) 一种业务请求的处理方法及装置
CN107562775A (zh) 一种基于区块链的数据处理方法及设备
US10204114B2 (en) Replicating data across data centers
CN107395665A (zh) 一种区块链业务受理及业务共识方法及装置
CN107196900A (zh) 一种共识校验的方法及装置
CN107402824A (zh) 一种数据处理的方法及装置
CN107040585A (zh) 一种业务校验的方法及装置
CN107395659A (zh) 一种业务受理及共识的方法及装置
JP2020515197A (ja) ブロックデータ検証方法および装置
CN106970936A (zh) 数据处理方法及装置、数据查询方法及装置
CN107526777A (zh) 一种基于版本号对文件进行处理的方法及设备
CN108418851A (zh) 策略发布系统、方法、装置及设备
CN107679700A (zh) 业务流程处理方法、装置及服务器
CN107644286A (zh) 工作流处理方法及装置
CN110046036A (zh) 一种操作请求分配方法、装置及设备
CN109582485A (zh) 一种配置变更异常检测方法及装置
CN108959341A (zh) 一种数据同步的方法、装置及设备
CN110134668A (zh) 应用于区块链的数据迁移方法、装置和设备
US9342251B2 (en) Data integrity protection in storage volumes
CN108074024A (zh) 风险识别方法、装置及系统
CN108415792A (zh) 容灾系统、方法、装置及设备
CN108334340A (zh) 一种跨环境数据通信方法、装置和系统
CN108304455A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1258939

Country of ref document: HK

TA01 Transfer of patent application right

Effective date of registration: 20201021

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201021

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240228

Address after: 128 Meizhi Road, Guohao Times City # 20-01, Singapore 189773

Applicant after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands

TA01 Transfer of patent application right