数据存储方法及装置与流程

文档序号:15685115发布日期:2018-10-16 20:58阅读:147来源:国知局

本公开涉及终端技术领域,尤其涉及一种数据存储方法及装置。



背景技术:

随着终端技术的不断发展,终端上存储的数据越来越多,如,图片、视频或文本等数据,这些数据存储于终端中,需要占用存储空间,而终端中的存储空间被大量占用,会降低终端的运行速度,影响终端性能,所以如何合理的存储数据成为人们十分关心的问题。

一般的,为了降低数据对终端存储空间的占用,人们可以对数据进行云存储,将需要存储的数据上传至云服务器中,从而使数据存储在云服务器的存储空间中。



技术实现要素:

为克服相关技术中存在的问题,本公开提供了一种数据存储方法及装置。

根据本公开实施例的第一方面,提供一种数据存储方法,应用于第一设备,包括:

当检测到区块链网络中有至少两个第二设备时,将待存储的数据发送至所述至少两个第二设备,所述至少两个第二设备为具备数据存储能力的设备,所述第一设备和所述至少两个第二设备同属于所述区块链网络;

当所述至少两个第二设备存储完成时,生成第一存储事件信息,所述第一存储事件信息用于指示所述第一设备和所述至少两个第二设备的数据存储事件;

基于所述第一存储事件信息,生成第一区块,将所述第一区块加入至所述区块链网络中各个设备上所配置的区块链中,所述第一区块用于存储所述第一存储事件信息。

在一种可能实现方式中,所述将待存储的数据发送至所述至少两个第二设备之前,所述方法还包括:

向所述区块链网络中的多个设备发送数据存储询问请求,所述数据存储询问请求用于询问每个设备是否具备数据存储能力;

当接收到至少两个设备的存储允许信息时,确定检测到区块链网络中有至少两个第二设备。

在一种可能实现方式中,所述向多个第二设备发送数据发送询问请求前,所述方法还包括:

获取用户在所述第一设备上输入的第一字符串;

接收多个设备的第二字符串;

对比所述第一字符串与所述多个设备的第二字符串;

当所述第一字符串与所述多个设备的第二字符串相同时,将所述第一设备与所述多个设备组成所述区块链网络。

在一种可能实现方式中,所述将待存储的数据发送至所述至少两个第二设备包括:

根据所述第一设备的私钥对所述数据的特征值进行签名,得到签名信息;

将所述签名信息添加至所述数据中,并将添加后的数据作为所述待存储的数据发送至所述至少两个第二设备。

在一种可能实现方式中,所述基于所述第一存储事件信息,生成第一区块,将所述第一区块加入至所述区块链网络中各个设备上所配置的区块链中后,所述方法还包括:

当接收到对所述数据的数据删除请求时,根据所述数据的第一存储事件信息,确定所述至少两个第二设备;

向所述至少两个第二设备发送数据删除询问请求,所述数据删除询问请求用于指示所述至少两个第二设备将所述数据备份至所述区块链网络中至少两个第三设备,所述至少两个第三设备为至少两个未存储所述数据的设备;

当接收到所述至少两个第二设备的允许删除信息时,删除所述数据。

根据本公开实施例的第二方面,提供一种数据存储方法,应用于第二设备,包括:

当接收到第一设备的数据存储询问请求,检测所述第二设备是否具备数据存储能力,所述数据存储询问请求用于询问每个设备是否具备数据存储能力;

当确定所述第二设备具备数据存储能力时,向所述第一设备发送存储允许信息;

接收并存储所述第一设备发送的数据;

当存储完成后,获取第一区块,将所述第一区块加入至所述区块链网络中各个设备上所配置的区块链中,所述第一区块用于存储所述第一存储事件信息。

在一种可能实现方式中,所述接收并存储所述第一设备发送的数据包括:

接收所述第一设备发送的数据;

根据所述第一设备的公钥对所述数据所携带的签名信息进行解密成功时,得到第一特征值;

获取所述数据中的数据部分的第二特征值;

当所述第一特征值和所述第二特征值相同时,存储所述数据。

在一种可能实现方式中,所述基于所述第一存储事件信息,生成第一区块,将所述第一区块加入至所述区块链网络中各个设备上所配置的区块链中之后,所述方法还包括:

当接收到第一设备的数据删除询问请求时,将所述数据发送至至少两个第三设备中,所述数据删除询问请求用于指示所述第二设备将所述数据备份至所述区块链网络中至少两个第三设备,所述至少两个第三设备为至少两个未存储所述数据的设备;

当所述至少两个第三设备存储完成时,生成第二存储事件信息,所述第二存储事件信息用于指示所述第二设备和所述至少两个第三设备的数据存储事件;

基于所述第二存储事件信息,生成第二区块,将所述第二区块加入至所述区块链网络中各个设备上所配置的区块链中;

将允许删除信息发送至所述第一设备,所述允许删除信息用于指示所述第一设备删除所述数据。

根据本公开实施例的第三方面,提供一种数据存储装置,包括:

发送模块,被配置为当检测到区块链网络中有至少两个第二设备时,将待存储的数据发送至所述至少两个第二设备,所述至少两个第二设备为具备数据存储能力的设备,所述第一设备和所述至少两个第二设备同属于所述区块链网络;

生成模块,被配置为当所述至少两个第二设备存储完成时,生成第一存储事件信息,所述第一存储事件信息用于指示所述第一设备和所述至少两个第二设备的数据存储事件;

加入模块,被配置为基于所述第一存储事件信息,生成第一区块,将所述第一区块加入至所述区块链网络中各个设备上所配置的区块链中,所述第一区块用于存储所述第一存储事件信息。

在一种可能实现方式中,所述装置还包括检测模块,被配置为:

向所述区块链网络中的多个设备发送数据存储询问请求,所述数据存储询问请求用于询问每个设备是否具备数据存储能力;

当接收到至少两个设备的存储允许信息时,确定检测到区块链网络中有至少两个第二设备。

在一种可能实现方式中,所述装置还包括组成模块,被配置为:

获取用户在所述第一设备上输入的第一字符串;

接收多个设备的第二字符串;

对比所述第一字符串与所述多个设备的第二字符串;

当所述第一字符串与所述多个设备的第二字符串相同时,将所述第一设备与所述多个设备组成所述区块链网络。

在一种可能实现方式中,所述发送模块被配置为:

根据所述第一设备的私钥对所述数据的特征值进行签名,得到签名信息;

将所述签名信息添加至所述数据中,并将添加后的数据作为所述待存储的数据发送至所述至少两个第二设备。

在一种可能实现方式中,所述装置还包括删除模块,被配置为:

当接收到对所述数据的数据删除请求时,根据所述数据的第一存储事件信息,确定所述至少两个第二设备;

向所述至少两个第二设备发送数据删除询问请求,所述数据删除询问请求用于指示所述至少两个第二设备将所述数据备份至所述区块链网络中至少两个第三设备,所述至少两个第三设备为至少两个未存储所述数据的设备;

当接收到所述至少两个第二设备的允许删除信息时,删除所述数据。

根据本公开实施例的第四方面,提供一种数据存储装置,包括:

检测模块,被配置为当接收到第一设备的数据存储询问请求,检测所述第二设备是否具备数据存储能力,所述数据存储询问请求用于询问每个设备是否具备数据存储能力;

发送模块,被配置为当确定所述第二设备具备数据存储能力时,向所述第一设备发送存储允许信息;

接收存储模块,被配置为接收并存储所述第一设备发送的数据;

获取模块,被配置为当存储完成后,获取第一区块,将所述第一区块加入至所述区块链网络中各个设备上所配置的区块链中,所述第一区块用于存储所述第一存储事件信息。

在一种可能实现方式中,所述接收存储模块被配置为:

接收所述第一设备发送的数据;

根据所述第一设备的公钥对所述数据所携带的签名信息进行解密成功时,得到第一特征值;

获取所述数据中的数据部分的第二特征值;

当所述第一特征值和所述第二特征值相同时,存储所述数据。

在一种可能实现方式中,所述装置还包括删除模块,被配置为:

当接收到第一设备的数据删除询问请求时,将所述数据发送至至少两个第三设备中,所述数据删除询问请求用于指示所述第二设备将所述数据备份至所述区块链网络中至少两个第三设备,所述至少两个第三设备为至少两个未存储所述数据的设备;

当所述至少两个第三设备存储完成时,生成第二存储事件信息,所述第二存储事件信息用于指示所述第二设备和所述至少两个第三设备的数据存储事件;

基于所述第二存储事件信息,生成第二区块,将所述第二区块加入至所述区块链网络中各个设备上所配置的区块链中;

将允许删除信息发送至所述第一设备,所述允许删除信息用于指示所述第一设备删除所述数据。

根据本公开实施例的第五方面,提供一种数据存储装置,包括:

处理器;

用于存储处理器可执行的指令的存储器;

其中,所述处理器被配置为:

当检测到区块链网络中有至少两个第二设备时,将待存储的数据发送至所述至少两个第二设备,所述至少两个第二设备为具备数据存储能力的设备,所述第一设备和所述至少两个第二设备同属于所述区块链网络;

当所述至少两个第二设备存储完成时,生成第一存储事件信息,所述第一存储事件信息用于指示所述第一设备和所述至少两个第二设备的数据存储事件;

基于所述第一存储事件信息,生成第一区块,将所述第一区块加入至所述区块链网络中各个设备上所配置的区块链中,所述第一区块用于存储所述第一存储事件信息。

根据本公开实施例的第五方面,提供一种数据存储装置,包括:

处理器;

用于存储处理器可执行的指令的存储器;

其中,所述处理器被配置为:

当接收到第一设备的数据存储询问请求,检测所述第二设备是否具备数据存储能力,所述数据存储询问请求用于询问每个设备是否具备数据存储能力;

当确定所述第二设备具备数据存储能力时,向所述第一设备发送存储允许信息;

接收并存储所述第一设备发送的数据;

当存储完成后,获取第一区块,将所述第一区块加入至所述区块链网络中各个设备上所配置的区块链中,所述第一区块用于存储所述第一存储事件信息。

根据本公开实施例的第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面和第二方面所述的方法步骤。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

本公开实施例提供的技术方案带来的有益效果是:

当第一设备需要存储数据时,在第一设备与多个设备组成的区块链网络中,确定具备数据存储能力的第二设备,通过区块链技术将待存储的数据存储至至少两个第二设备中,并将该数据存储事件的区块加入至所述区块链网络中各个设备上所配置的区块链中。通过上述过程,可以将第一设备中的数据存储至第二设备中,在节省第一设备的存储空间的同时,提升了第二设备的利用率,而且通过区块链技术进行数据存储,既能保障数据安全,又能方便以后对存储事件进行查询,由此可见,这种数据存储方法是一种经济实惠且安全高效的数据存储方法。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是根据一示例性实施例示出的一种数据存储方法的流程图;

图2是根据一示例性实施例示出的一种数据存储方法的流程图;

图3是根据一示例性实施例示出的一种数据存储方法的流程图;

图4是根据一示例性实施例示出的一种数据存储装置的框图;

图5是根据一示例性实施例示出的一种数据存储装置的框图;

图6是根据一示例性实施例示出的一种数据存储装置600的框图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种数据存储方法的流程图。如图1所示,该数据存储方法应用于第一设备中,包括以下步骤。

在步骤101中,当检测到区块链网络中有至少两个第二设备时,将待存储的数据发送至至少两个第二设备,至少两个第二设备为具备数据存储能力的设备,该第一设备和该至少两个第二设备同属于该区块链网络。

在步骤102中,当该至少两个第二设备存储完成时,生成第一存储事件信息,该第一存储事件信息用于指示该第一设备和该至少两个第二设备的数据存储事件。

在步骤103中,基于该第一存储事件信息,生成第一区块,将该第一区块加入至该区块链网络中各个设备上所配置的区块链中,所述第一区块用于存储所述第一存储事件信息。

本公开实施例提供的数据存储方法,当第一设备需要存储数据时,在第一设备与多个设备组成的区块链网络中,确定具备数据存储能力的第二设备,通过区块链技术将待存储的数据存储至至少两个第二设备中,并将该数据存储事件的区块加入至所述区块链网络中各个设备上所配置的区块链中。通过上述过程,可以将第一设备中的数据存储至第二设备中,在节省第一设备的存储空间的同时,提升了第二设备的利用率,而且通过区块链技术进行数据存储,既能保障数据安全,又能方便以后对存储事件进行查询,由此可见,这种数据存储方法是一种经济实惠且安全高效的数据存储方法。

在一种可能实现方式中,将待存储的数据发送至至少两个第二设备之前,该方法还包括:

向该区块链网络中的多个设备发送数据存储询问请求,该数据存储询问请求用于询问每个设备是否具备数据存储能力;

当接收到至少两个设备的存储允许信息时,确定检测到区块链网络中有至少两个第二设备。

在一种可能实现方式中,向多个第二设备发送数据发送询问请求前,该方法还包括:

获取用户在该第一设备上输入的第一字符串;

接收多个设备的第二字符串;

对比第一字符串与多个设备的第二字符串;

当第一字符串与多个设备的第二字符串相同时,将第一设备与多个设备组成区块链网络。

在一种可能实现方式中,将待存储的数据发送至至少两个第二设备包括:

根据该第一设备的私钥对该数据的特征值进行签名,得到签名信息;

将该签名信息添加至该数据中,并将添加后的数据作为该待存储的数据发送至该至少两个第二设备。

在一种可能实现方式中,基于该第一存储事件信息,生成第一区块,将该第一区块加入至该区块链网络中各个设备上所配置的区块链中后,该方法还包括:

当接收到对该数据的数据删除请求时,根据该数据的第一存储事件信息,确定该至少两个第二设备;

向至少两个第二设备发送数据删除询问请求,该数据删除询问请求用于指示该至少两个第二设备将该数据备份至该区块链网络中至少两个第三设备,该至少两个第三设备为至少两个未存储该数据的设备;

当接收到该至少两个第二设备的允许删除信息时,删除该数据。

上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。

图2是根据一示例性实施例示出的一种数据存储方法的流程图。如图2所示,该数据存储方法应用于第二设备中,包括以下步骤。

在步骤201中,当接收到第一设备的数据存储询问请求,检测该第二设备是否具备数据存储能力,该数据存储询问请求用于询问每个设备是否具备数据存储能力。

在步骤202中,当确定该第二设备具备数据存储能力时,向该第一设备发送存储允许信息。

在步骤203中,接收并存储该第一设备发送的数据。

在步骤204中,当存储完成后,获取第一区块,将该第一区块加入至该区块链网络中各个设备上所配置的区块链中,所述第一区块用于存储所述第一存储事件信息。

本公开实施例提供的数据存储方法,当第一设备需要存储数据时,在第一设备与多个设备组成的区块链网络中,确定具备数据存储能力的第二设备,通过区块链技术将待存储的数据存储至至少两个第二设备中,并将该数据存储事件的区块加入至所述区块链网络中各个设备上所配置的区块链中。通过上述过程,可以将第一设备中的数据存储至第二设备中,在节省第一设备的存储空间的同时,提升了第二设备的利用率,而且通过区块链技术进行数据存储,既能保障数据安全,又能方便以后对存储事件进行查询,由此可见,这种数据存储方法是一种经济实惠且安全高效的数据存储方法。

在一种可能实现方式中,接收并存储该第一设备发送的数据包括:

接收该第一设备发送的数据;

根据该第一设备的公钥对该数据所携带的签名信息进行解密成功时,得到第一特征值;

获取该数据中的数据部分的第二特征值;

当该第一特征值和该第二特征值相同时,存储该数据。

在一种可能实现方式中,基于该第一存储事件信息,生成第一区块,将该第一区块加入至该区块链网络中各个设备上所配置的区块链中之后,该方法还包括:

当接收到第一设备的数据删除询问请求时,将该数据发送至至少两个第三设备中,该数据删除询问请求用于指示该第二设备将该数据备份至该区块链网络中至少两个第三设备,该至少两个第三设备为至少两个未存储该数据的设备;

当该至少两个第三设备存储完成时,生成第二存储事件信息,该第二存储事件信息用于指示该第二设备和该至少两个第三设备的数据存储事件;

基于该第二存储事件信息,生成第二区块,将该第二区块加入至该区块链网络中各个设备上所配置的区块链中;

将允许删除信息发送至该第一设备,该允许删除信息用于指示该第一设备删除该数据。

图3是根据一示例性实施例示出的一种数据存储方法的流程图。如图3所示,包括以下步骤。

在步骤301中,当第一设备的第一字符串与多个设备的第二字符串相同时,将第一设备与多个设备组成区块链网络。

其中,第一设备和多个设备可以是移动电话、计算机或平板设备等具备网络传输功能的存储设备,本公开实施例对此不进行具体限定。

其中,第一字符串为用户在第一设备中输入的字符串,第二字符串为用户在除第一设备外的多个设备中输入的字符串,该字符串可以为用户自定义的字符串,也可以为设备中预设的字符串,本公开实施例对此不进行具体限定,该字符串可以由数字、字母以及符号中至少一类组成,本公开实施例对此不进行具体限定。

在本公开实施例中,将第一设备与该多个设备基于输入字符串组成区块链网络包括以下步骤301A至步骤301D:

在步骤301A中,第一设备获取用户在该第一设备上输入的第一字符串。

具体过程为,当第一设备检测到指定操作时,显示输入框,当第一设备通过该输入框获取到用户输入的字符串时,将该字符串作为第一字符串。

其中,指定操作可以是触发区块链网络建立的操作,例如,当第一设备检测到用户对指定应用程序的启动操作时,启动指定应用程序,该指定操作可以为对该指定应用程序所提供的区块链建立选项的点击操作,当检测到该点击操作时,可以显示输入框以及后续过程。该指定应用程序为用于进行基于区块链进行数据存储的应用程序。

进一步的,为了将多个设备与第一设备组成区块链网络,多个设备需要获取用户在该多个设备上输入的第二字符串,该多个设备获取该第二字符串的过程与上述第一设备获取第一字符串的过程相同,在此不再赘述。

在步骤301B中,第一设备接收多个设备的第二字符串。

当多个设备获取第二字符串时,将该第二字符串发送至第一设备。该发送过程可以是由用户手动触发,如,在设备的指定应用程序中显示发送选项,当检测到用户对该发送选项的触发操作时,将第二字符串发送至第一设备。当然,该发送过程还可以是设备自动进行,如,设备在获取到第二字符串后自动发送,本公开实施例对此不进行具体限定。

上述过程是基于设备获取用户实时输入的第二字符串为例进行说明,而在实际场景中,第一设备向多个设备发送区块链建立请求,任一个设备在接收到该区块链建立请求时,将预先存储的第二字符串发送至第一设备。该预先存储的第二字符串可以是用户自定义并存储至设备中或设备中的预设字符串。

在步骤301C中,第一设备对比该第一字符串与该多个设备的第二字符串。

第一设备获取到多个设备的第二字符串时,逐一将每个第二字符串与第一字符串进行对比。

在步骤301D中,当第一设备的第一字符串与多个设备的第二字符串相同时,将该第一设备与该多个设备组成该区块链网络。

本公开实施例是以多个设备发送第二字符串且多个设备所发送的第二字符串均与第一字符串相同为例,实际上,多个设备所发送的第二字符串也可能不是均与第一字符串相同,而是有部分第二字符串与第一字符串相同,也即是,多个设备中仅有部分设备能够与第一设备组成区块链网络。

其中,区块链网络中共包含三个或三个以上设备。由于字符串是由用户定义的,所以将具有相同字符串的第一设备与多个设备组成区块链网络,能够帮助用户建立自己的小型区块链网络。进一步的,当第一设备获取到的具有相同字符串的设备数量小于两个时,不能组成区块链网络。

本公开实施例中,第一字符串与第二字符串是用于验证是否将第一设备与多个设备组成区块链,通过字符串的验证可以根据用户需求组成区块链网络,因此当第一字符串与第二字符串不相同时,不会将该设备加入区块链网络,以此来保证区块链网络的隐私性和安全性。

在步骤302中,第一设备向该区块链网络中的多个设备发送数据存储询问请求,该数据存储询问请求用于询问每个设备是否具备数据存储能力。

第一设备与多个设备组成区块链网络后,当第一设备需要将数据存储至区块链网络中的设备中时,可以向区块链网络中的每个设备都发送数据存储询问请求,以检测区块链网络中具备数据存储能力的设备,保障数据的正常存储,该数据存储询问请求携带有该数据的数据量,该数据量用于指示该数据所占存储空间的大小。

本公开实施例中,第一设备向该区块链网络中的多个设备发送数据存储询问请求的过程可以为:当第一设备检测到用户选中第一设备中的数据时,显示数据存储选项,该数据存储选项用于指示将该数据存储至区块链网络中的设备中,当检测到用户对该数据存储选项的触发时,生成数据存储询问请求,并将该数据存储询问请求发送至第一设备所在的区块链网络中的设备。其中,第一设备中的数据可以为第一设备中的图片、视频或文本等数据,本公开实施例对此不进行具体限定。

在步骤303中,当设备接收到第一设备的数据存储询问请求,检测该设备是否具备数据存储能力。

该检测的具体过程包括:该设备根据设备能力信息,判断该设备能力信息是否指示该设备具备存储功能。当该设备能力信息指示该设备不具备存储功能时,确定该设备不具备数据存储能力。当该设备能力信息指示该设备具备存储功能时,检测该设备的剩余容量,并对比该剩余容量与数据量,其中,剩余容量用于指示该设备中剩余存储空间的大小,当该剩余容量大于该数据量时,确定该设备具备数据存储能力,当该剩余容量小于该数据量时,确定该设备不具备数据存储能力。

在步骤304中,当确定该设备具备数据存储能力时,该设备向该第一设备发送存储允许信息。

其中,存储允许信息用于指示允许第一设备将该数据存储至该设备的信息。当该设备确定具备数据存储能力时,生成存储允许信息,并将该存储允许信息发送至第一设备。

可选地,当设备检测到不具备数据存储能力时,生成存储禁止信息,并将存储禁止信息发送至第一设备,从而提示用户及时查看该不具备数据存储能力的设备,以便对其进行相应处理,如,将该设备从区块链网络中删除或对设备的存储空间进行清理,以恢复该设备的数据存储能力等。

在本公开实施例中,该存储允许信息与该存储禁止信息中携带有该设备的设备标识,以便第一设备可以根据该设备的设备标识,识别该设备。

在步骤305中,当第一设备接收到至少两个设备的存储允许信息时,确定检测到区块链网络中有至少两个第二设备。

其中,第二设备为具备数据存储能力的设备。当第一设备接收到至少两个存储允许信息时,根据该存储允许信息中携带的设备标识,识别该至少两个设备,该至少两个设备称为至少两个第二设备。

在步骤306中,当第一设备检测到区块链网络中有至少两个第二设备时,将待存储的数据发送至该至少两个第二设备。

在本公开实施例中,第一设备将待存储的数据发送至该至少两个第二设备包括以下步骤306A至步骤306B:

在步骤306A中,第一设备根据该第一设备的私钥对该数据的特征值进行签名,得到签名信息。

第一设备中存储有私钥,该私钥具有关联的公钥,一对公钥和私钥可以用于不同设备基于不对称算法来验证信息来源的可靠性。该数据的特征值为基于该数据,根据特征值算法计算得到的一串字符串,该特征值可以用于唯一标识该数据。

在步骤306B中,第一设备将该签名信息添加至该数据中,并将添加后的数据作为待存储的数据发送至至少两个第二设备。

将数据存储至区块链网络中的至少两个设备中,可以使得至少两个设备上存储有相同一份数据,能够保障数据安全,当一个存储有该数据的设备发生故障时,还可以通过区块链网络中的其他设备查看该数据。

进一步的,待存储的数据可以通过无线网络发送至第二设备,如WI-FI(无线局域网,Wireless Fidelity)等,还可以通过移动通信网络发送至第二设备,如,2G(2nd Generation,第二代移动通信技术)、3G(3rd Generation,第三代移动通信技术)、4G(4th Generation,第四代移动通信技术)或5G(5rd Generation,第五代移动通信技术)等,本发明实施例对此不进行具体限定。

上述步骤中,是以第一设备检测到区块链网络中有两个第二设备时,将待存储的数据发送至该两个第二设备为例进行说明。而实际场景中,当第一设备检测到区块链网络中有两个以上第二设备时,可以将待存储的数据发送至该两个以上第二设备中的两个或多个,本公开实施例对此不进行具体限定。

在步骤307中,第二设备接收并存储该第一设备发送的数据。

当第一设备将待存储的数据发送至第二设备后,第二设备根据该待存储数据中的该签名信息接收并存储数据。

在本公开实施例中,第二设备接收并存储数据的过程包括以下步骤307A至步骤307E:

在步骤307A中,第二设备接收该第一设备发送的数据。

在步骤307B中,第二设备根据该第一设备的公钥对该数据所携带的签名信息进行解密。

第二设备根据数据中的设备标识,从已存储的设备和公钥之间的对应关系中,获取该第一设备的公钥,并基于该公钥对签名信息进行解密。第二设备解密成功时,则说明该待存储的数据是由第一设备发送,可以继续执行接下来的存储过程。当第二设备不能成功解密时,则说明该待存储的数据可能不是由第一设备发送的,为了保护第二设备的安全,防止其他设备的恶意攻击,不再继续存储该数据。

通过上述解密过程,能够保障第二设备中存储的数据是由第一设备发送的,防止其他设备恶意访问。

在步骤307C中,当第二设备解密成功时,得到第一特征值。

在步骤307D中,第二设备获取该数据中的数据部分的第二特征值。

上述第一特征值以及第二特征值中的第一和第二并不涉及任何关于数值大小或者获取顺序的限定,第一特征值仅用于指示基于第一设备提供的签名信息解密得到的特征值,而第二特征值用于指示基于接收到的数据实时生成的特征值。

当第二设备确定该数据是由第一设备发送时,获取该待存储数据中的数据部分,根据该数据部分,通过上述与步骤306A中相同的特征值算法,计算出该数据的第二特征值。

在步骤307E中,第二设备比对该第一特征值与该第二特征值。

当该第一特征值和该第二特征值相同时,存储该数据。当第二设备对该数据存储完成后,生成存储完成信息,并将该存储完成信息发送至第一设备。可选地,当该第一特征值和该第二特征值不相同时,不存储该数据,同时第二设备还可以向第一设备发送存储未完成信息,从而提示第一设备该存储过程未完成,以便用户及时掌握情况,并进行相应处理。

通过验证第二特征值与第一特征值是否相同,可以保障接收到的数据为第一设备发出的完整的数据,防止其他设备对该数据的恶意篡改等。

在步骤308中,当数据存储完成后,第一设备获取该数据的第一存储事件信息,该第一存储事件信息用于指示该第一设备和该至少两个第二设备的数据存储事件,该第一区块用于存储所述第一存储事件信息。

其中,该第一存储事件信息中至少包含所述数据的特征值、第一设备的设备标识以第二设备的设备标识。第一设备根据该数据的存储过程生成第一存储事件信息,能够方便第一设备查询该数据的存储情况。

当第一设备接收到至少两个存储完成信息时,确定该数据已存储至区块链网络中的至少两个第二设备,第一设备根据此次存储事件生成第一存储事件信息。

在步骤309中,第一设备基于该第一存储事件信息,生成第一区块,将所述第一区块加入至所述区块链网络中各个设备上所配置的区块链中。

第一设备生成第一区块时,会将该第一区块发送至区块链网络中的其他设备上,该其他设备为区块链网络中除该第一设备外的设备,当其他设备接收到第一区块时,将该区块添加到设备所配置的区块链中,从而保证区块链网络中的所有设备配置有相同的区块链。

更进一步的,当区块链网络中第一设备与至少两个第二设备发生数据存储事件时,若此时该区块链网络中任意一个或多个设备处于关机状态,则一旦该设备处于开机状态下,区块链网路会自动将该第一区块加入至该设备所配置的区块链中,以保障区块链网络中的各个设备所配置的区块链中的区块相同。

当第一设备需要存储数据时,在第一设备与多个设备组成的区块链网络中,确定具备数据存储能力的第二设备,通过区块链技术将待存储的数据存储至至少两个第二设备中,并将该数据存储事件的区块加入至所述区块链网络中各个设备上所配置的区块链中。通过上述过程,可以将第一设备中的数据存储至第二设备中,在节省第一设备的存储空间的同时,提升了第二设备的利用率,而且通过区块链技术进行数据存储,既能保障数据安全,又能方便以后对存储事件进行查询,由此可见,这种数据存储方法是一种经济实惠且安全高效的数据存储方法。

进一步的,还可以将第一设备中的数据删除,如,当第一设备的存储空间中存储的数据过多时,可以通过删除数据来降低对第一设备存储空间的占用,保障第一设备的性能,为了保障不丢失数据,当数据存储至区块链网络中的设备上时,在删除数据前可以对该数据进行进一步的备份,对数据备份后再删除数据的步骤包括下述步骤310A至步骤310F:

在步骤310A中,当第一设备接收到对该数据的数据删除请求时,根据该数据的第一存储事件信息,确定该至少两个第二设备。

具体过程为,当第一设备检测到用户选中第一设备中的数据时,生成数据删除选项,该数据删除选项用于指示将该数据在该第一设备中删除,当检测到用户对该数据删除选项的触发操作时,生成数据删除请求,该数据删除请求中至少包括第一设备的设备标识和该数据的特征值。第一设备根据该数据删除请求,查找区块链中该数据的第一存储事件信息,并根据该第一存储事件信息确定区块链网络中存储该数据的第二设备。

在步骤310B中,第一设备向该至少两个第二设备发送数据删除询问请求,该数据删除询问请求用于指示该至少两个第二设备将该数据备份至该区块链网络中至少两个第三设备。

该至少两个第三设备为至少两个未存储该数据的设备,该至少两个第三设备可以由该至少两个第二设备通过检测确定,其检测过程与上述第一设备检测至少两个第二设备的过程相同,详见上述步骤302-305,在此不再赘述。

当第一设备根据该第一存储事件信息,确定区块链网络中存储该数据的第二设备时,生成数据删除询问请求,并将该数据删除询问请求发送至该至少两个第二设备。

在步骤310C中,当第二设备接收到第一设备的数据删除询问请求时,第二设备将该数据发送至至少两个第三设备中。

在步骤310D中,当该至少两个第三设备存储完成时,第二设备生成第二存储事件信息,该第二存储事件信息用于指示该第二设备和该至少两个第三设备的数据存储事件。然后,基于该第二存储事件信息,生成第二区块,将该第二区块加入至该区块链网络中各个设备上所配置的区块链中,该第二区块用于存储该第二存储事件信息。

其中,至少两个第二设备将该数据存储至该区块链网络中至少两个第三设备的过程,与上述第一设备将数据存储至至少两个第二设备的过程相同,详见上述步骤302-307,在此不再赘述。

在步骤310E中,当第二设备确定至少两个第三设备存储完成时,第二设备将允许删除信息发送至该第一设备,该允许删除信息用于指示该第一设备删除该数据。

在步骤310F中,当第一设备接收到该至少两个第二设备的允许删除信息时,删除该数据。

第一设备在删除数据时,先根据第一设备中配置的区块链,确定存储有该待删除数据的第二设备,并将该数据由第二设备备份至第三设备,第一设备确定第三设备已备份完成后,再删除数据,既降低了数据对第一设备中存储空间的占用,还保障了数据的存储安全,即使当第二设备发生故障,如发生丢失数据或无法查看数据等情况时,用户还可以查看第三设备中存储的数据。

图4是根据一示例性实施例示出的一种数据存储装置的框图。参照图4,该装置包括发送模块401、生成模块402和加入模块403。

该发送模块401,被配置为当检测到区块链网络中有至少两个第二设备时,将待存储的数据发送至该至少两个第二设备,该至少两个第二设备为具备数据存储能力的设备,该第一设备和该至少两个第二设备同属于该区块链网络。

该生成模块402,被配置为当该至少两个第二设备存储完成时,生成第一存储事件信息,该第一存储事件信息用于指示该第一设备和该至少两个第二设备的数据存储事件。

该加入模块403,被配置为基于该第一存储事件信息,生成第一区块,将该第一区块加入至该区块链网络中各个设备上所配置的区块链中,所述第一区块用于存储所述第一存储事件信息。

本公开实施例提供的数据存储装置,当第一设备需要存储数据时,在第一设备与多个设备组成的区块链网络中,确定具备数据存储能力的第二设备,通过区块链技术将待存储的数据存储至至少两个第二设备中,并将该数据存储事件的区块加入至所述区块链网络中各个设备上所配置的区块链中。通过上述过程,可以将第一设备中的数据存储至第二设备中,在节省第一设备的存储空间的同时,提升了第二设备的利用率,而且通过区块链技术进行数据存储,既能保障数据安全,又能方便以后对存储事件进行查询,由此可见,这种数据存储方法是一种经济实惠且安全高效的数据存储方法。

在一种可能实现方式中,该装置还包括检测模块405,被配置为:

向该区块链网络中的多个设备发送数据存储询问请求,该数据存储询问请求用于询问每个设备是否具备数据存储能力;

当接收到至少两个设备的存储允许信息时,确定检测到区块链网络中有至少两个第二设备。

在一种可能实现方式中,该装置还包括组成模块406,被配置为:

获取用户在该第一设备上输入的第一字符串;

接收多个设备的第二字符串;

对比该第一字符串与该多个设备的第二字符串;

当该第一字符串与该多个设备的第二字符串相同时,将该第一设备与该多个设备组成该区块链网络。

在一种可能实现方式中,该发送模块407被配置为:

根据该第一设备的私钥对该数据的特征值进行签名,得到签名信息;

将该签名信息添加至该数据中,并将添加后的数据作为该待存储的数据发送至该至少两个第二设备。

在一种可能实现方式中,该装置还包括删除模块408,被配置为:

当接收到对该数据的数据删除请求时,根据该数据的第一存储事件信息,确定该至少两个第二设备;

向该至少两个第二设备发送数据删除询问请求,该数据删除询问请求用于指示该至少两个第二设备将该数据备份至该区块链网络中至少两个第三设备,该至少两个第三设备为至少两个未存储该数据的设备;

当接收到该至少两个第二设备的允许删除信息时,删除该数据。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图5是根据一示例性实施例示出的一种数据存储装置的框图。参照图5,该装置包括检测模块501、发送模块502、接收存储模块503和获取模块504。

该检测模块501,被配置为当接收到第一设备的数据存储询问请求,检测该第二设备是否具备数据存储能力,该数据存储询问请求用于询问每个设备是否具备数据存储能力。

该发送模块502,被配置为当确定该第二设备具备数据存储能力时,向该第一设备发送存储允许信息。

该接收存储模块503,被配置为接收并存储该第一设备发送的数据。

该获取模块504,被配置为当存储完成后,获取第一区块,将该第一区块加入至该区块链网络中各个设备上所配置的区块链中,所述第一区块用于存储所述第一存储事件信息。

本公开实施例提供的数据存储装置,当第一设备需要存储数据时,在第一设备与多个设备组成的区块链网络中,确定具备数据存储能力的第二设备,通过区块链技术将待存储的数据存储至至少两个第二设备中,并将该数据存储事件的区块加入至所述区块链网络中各个设备上所配置的区块链中。通过上述过程,可以将第一设备中的数据存储至第二设备中,在节省第一设备的存储空间的同时,提升了第二设备的利用率,而且通过区块链技术进行数据存储,既能保障数据安全,又能方便以后对存储事件进行查询,由此可见,这种数据存储方法是一种经济实惠且安全高效的数据存储方法。

在一种可能实现方式中,该接收存储模块503被配置为:

接收该第一设备发送的数据;

根据该第一设备的公钥对该数据所携带的签名信息进行解密成功时,得到第一特征值;

获取该数据中的数据部分的第二特征值;

当该第一特征值和该第二特征值相同时,存储该数据。

在一种可能实现方式中,该装置还包括删除模块504,被配置为:

当接收到第一设备的数据删除询问请求时,将该数据发送至至少两个第三设备中,该数据删除询问请求用于指示该第二设备将该数据备份至该区块链网络中至少两个第三设备,该至少两个第三设备为至少两个未存储该数据的设备;

当该至少两个第三设备存储完成时,生成第二存储事件信息,该第二存储事件信息用于指示该第二设备和该至少两个第三设备的数据存储事件;

基于该第二存储事件信息,生成第二区块,将该第二区块加入至该区块链网络中各个设备上所配置的区块链中;

将允许删除信息发送至该第一设备,该允许删除信息用于指示该第一设备删除该数据。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图6是根据一示例性实施例示出的一种数据存储装置600的框图。例如,数据存储装置600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图6,装置600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件616。

处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。

存储器604被配置为存储各种类型的数据以支持在装置600的操作。这些数据的示例包括用于在装置600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件606为装置600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。

多媒体组件608包括在该装置600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。该触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与该触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当装置600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。

I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件614包括一个或多个传感器,用于为装置600提供各个方面的状态评估。例如,传感器组件614可以检测到设备600的打开/关闭状态,组件的相对定位,例如该组件为装置600的显示器和小键盘,传感器组件614还可以检测装置600或装置600一个组件的位置改变,用户与装置600接触的存在或不存在,装置600方位或加速/减速和装置600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件616被配置为便于装置600和其他设备之间有线或无线方式的通信。装置600可以接入基于通信标准的无线网络,如Wi-Fi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,该通信部件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由装置500的处理器520执行以完成上述方法。例如,该非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条指令,上述至少一条指令可由处理器加载并执行以完成上述实施例中的数据存储方法。例如,计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random-Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1