CN112000525B - 用于目标数据存储与恢复的方法、装置及数据存储节点 - Google Patents

用于目标数据存储与恢复的方法、装置及数据存储节点 Download PDF

Info

Publication number
CN112000525B
CN112000525B CN202011168754.XA CN202011168754A CN112000525B CN 112000525 B CN112000525 B CN 112000525B CN 202011168754 A CN202011168754 A CN 202011168754A CN 112000525 B CN112000525 B CN 112000525B
Authority
CN
China
Prior art keywords
data
split
random
encrypted
target
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
CN202011168754.XA
Other languages
English (en)
Other versions
CN112000525A (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.)
Beijing Testor Technology Co ltd
Shanghai Tongtai Information Technology Co ltd
Beijing Dongfangtong Software Co ltd
Original Assignee
Beijing Testor Technology Co ltd
Shanghai Tongtai Information Technology Co ltd
Beijing Dongfangtong Software 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 Beijing Testor Technology Co ltd, Shanghai Tongtai Information Technology Co ltd, Beijing Dongfangtong Software Co ltd filed Critical Beijing Testor Technology Co ltd
Priority to CN202011168754.XA priority Critical patent/CN112000525B/zh
Publication of CN112000525A publication Critical patent/CN112000525A/zh
Application granted granted Critical
Publication of CN112000525B publication Critical patent/CN112000525B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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/602Providing cryptographic facilities or services
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明适用于电数字数据处理技术领域,提供了一种用于目标数据存储与恢复的方法、装置及数据存储节点。其中,所述目标数据恢复方法,由分布式数据存储服务器执行,所述数据恢复方法包括:接收恢复目标数据的请求;响应所述请求,确定所述目标数据拆分后组合存储在不同数据存储服务器上的第一组拆分数据和第二组拆分数据;根据所述第一组拆分数据和第二组拆分数据,分别对应计算得到第一加密数据和第二加密数据;返回所述第一加密数据和第二加密数据,指示发起所述请求的终端设备根据所述第一加密数据和第二加密数据,解密目标数据。本发明具有在不需要耗费较长计算时长的情况下确保数据的安全存储的效果。

Description

用于目标数据存储与恢复的方法、装置及数据存储节点
技术领域
本发明属于电数字数据处理技术领域,具体涉及数据的安全传输与安全存储的技术,尤其涉及一种用于目标数据存储与恢复的方法、装置及数据存储节点。
背景技术
在移动网络通信技术高速发展的当下,用户在移动终端设备上的应用也越来丰富,与此同时,用户数据的安全性也越显重要。现有技术中在对于数据安全的处理上主要采用传输加密,以及基于密钥的加密等。虽然这些现有技术具有保密的效果,不过复杂的密钥算法同时需要耗费较长的计算时间。
发明内容
鉴于上述问题,本发明实施例提供了一种用于目标数据存储与恢复的方法、装置及数据存储节点,以解决在保证数据安全性的情况下,提升数据处理速度的问题。
本发明的第一方面,提供了一种目标数据恢复方法,由分布式数据存储服务器执行,所述数据恢复方法包括:接收恢复目标数据的请求;响应所述请求,确定所述目标数据拆分后组合存储在不同数据存储服务器上的第一组拆分数据和第二组拆分数据;根据所述第一组拆分数据和第二组拆分数据,分别对应计算得到第一加密数据和第二加密数据;返回所述第一加密数据和第二加密数据,指示发起所述请求的终端设备根据所述第一加密数据和第二加密数据,解密目标数据。
本发明的第二方面,提供了一种目标数据恢复装置,设置于分布式数据存储服务器上,所述目标数据恢复装置包括:接收模块,被配置为接收恢复目标数据的请求;索引模块,被配置为响应所述请求,确定所述目标数据拆分后组合存储在不同数据存储服务器上的第一组拆分数据和第二组拆分数据;加密模块,被配置为根据所述第一组拆分数据和第二组拆分数据,分别对应计算得到第一加密数据和第二加密数据;发送模块,被配置为返回所述第一加密数据和第二加密数据,指示发起所述请求的终端设备根据所述第一加密数据和第二加密数据,解密目标数据。
本发明的第三方面,提供了一种目标数据存储方法,由与分布式数据存储服务器网络连接的终端设备执行,所述目标数据存储方法包括:获取待存储的目标数据;基于随机加法,拆分所述目标数据为第一数据和第二数据;根据第一随机数和第一数据,生成第一随机数据和第二随机数据;根据第二随机数和第二数据,生成第三随机数据和第四随机数据;向所述分布式存储服务器中至少两个不同的数据存储服务器对应发送第一组拆分数据和第二组拆分数据进行存储,所述第一组拆分数据包括所述第一随机数据和第三随机数据,所述第二组拆分数据包括所述第二随机数据和第四随机数据。
本发明的第四方面,提供了一种目标数据存储装置,设置于与分布式数据存储服务器网络连接的终端设备上,所述目标数据存储装置包括:目标数据模块,被配置为获取待存储的目标数据;第一拆分模块,被配置为基于随机加法,拆分所述目标数据为第一数据和第二数据;第二拆分模块,被配置为根据第一随机数和第一数据,生成第一随机数据和第二随机数据;第三拆分模块,被配置为根据第二随机数和第二数据,生成第三随机数据和第四随机数据;存储发送模块,被配置为向所述分布式存储服务器中至少两个不同的数据存储服务器对应发送第一组拆分数据和第二组拆分数据进行存储,所述第一组拆分数据包括所述第一随机数据和第三随机数据,所述第二组拆分数据包括所述第二随机数据和第四随机数据。
本发明的第五方面,提供了一种数据存储节点,包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,当所述处理器运行所述计算机程序时,实现如第一方面或第三方面所述方法的步骤。
本发明与现有技术相比的有益效果在于:所述数据存储方法通过对待存储的目标数据进行随机拆分,并进一步进行数据变换加密成多个随机数,即第一随机数、第二随机数、第三随机数和第四随机数,最后对这些随机数对应数据拆分的进行交错组合,并将组合的数据存储至不同的存储设备中,在数据存储和处理过程中,不涉及复杂计算,为此数据存储的处理速度相比现有技术更快,从而实现在不需要耗费较长计算时长的情况下确保数据的安全存储的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明在一实施例中提供的可以应用本发明数据恢复方法或数据存储方法的分布式数据存储架构;
图2为本发明在一实施例中提供的数据存储方法的实现流程图;
图3为本发明在另一实施例中提供的数据存储方法的实现流程图;
图4为本发明在一实施例中提供的数据恢复方法的流程图;
图5为本发明在一示例中提供的目标数据存储装置的原理示意图;
图6为本发明在一示例中提供的目标数据恢复装置的原理示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
第一实施例
图1为本发明在一实施例中提供的可以应用本发明数据恢复方法或数据存储方法的分布式数据存储架构。
请参见图1,所述分布式数据存储架构100包括终端设备101、102、103,网络104和服务器105、106、107,所述网络用于在终端设备101、102、103与服务器105、106、107提供通信链路。所述网络104可以包括用于实现网络连接的软件、硬件或者两者的结合。示例性的,所述网络104为软件时,所述网络104可以为路由管理程序、分布式存储管理程序等;所述网络104为硬件时,所述网络104可以为路由器、网关、交换机、网线、数据线等介质。当然,所述网络104也可以是上述示例中软件与硬件的结合。
其中,所述服务器105、106、107可以是一个服务器集群,所述服务器集群可以用于实现数据存储或处理等,例如服务器105、106、107可以为数据中心。此外,所述服务器105、106、107也可以是一个云服务器。
其中,所述服务器105、106、107还可以是一个分布式服务器,所述分布式服务器用于将业务分布至不同的服务器中进行处理。示例性的,以图1为例,服务器105、106、107可以对任一终端设备101、102、103发送的数据进行拆分存储。例如,当终端设备101向服务器发送数据a和b时,所述服务器106用户存储数据a,所述服务器107用于存储数据b。此外,分布式服务器中的每一个节点都可以是一个服务器集群,而服务器集群则不一定是分布式的。
其中,终端设备101、102、103可以包括软件、硬件或两者的结合。当所述终端设备101、102、103为硬件时,所述终端设备101、102、103可以包括计算机、笔记本、平板电脑、手机终端、智能穿戴设备、机顶盒、智能网关和服务器等电子设备。当所述终端设备101、102、103为软件时,可以为安装在上述硬件设备上的应用,例如,购物、支付、娱乐等应用软件,或者用于实现本发明中数据恢复方法或数据存储方法的计算机程序等。当然,所述终端设备101、102、103也可以为上述示例中硬件和软件的结合。
由上可知,执行本发明提供的目标数据存储方法或目标数据恢复方法的可以是一个数据存储节点。为此,在一些实施例中,可以提供一种数据存储节点,包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,当所述处理器运行所述计算机程序时,实现如本发明提供的目标数据存储方法或目标数据恢复方法的步骤。其中,所述数据存储节点,可以是上述终端设备101、102或103,或者是服务器105、106或107等设备。
需要说明的是,以上分布式数据存储架构中关于终端设备和服务器的数量并不仅限于图1所示出的个数,且终端设备和服务器的网络连接方式或结构也不仅限于上述示例,在实际应用中,本领域的技术人员可以根据实际情况,在上述示例的启发下做具体的设计与拓展,这里不再赘述。
第二实施例
图2为本发明在一实施例中提供的数据存储方法的实现流程图。
本实施例是从实现数据存储的用户侧角度来对本发明的技术方案进行详细说明,其中,所述数据存储方法可以由与分布式数据存储服务器网络连接的终端设备执行,例如,图1所示的终端设备101、102或103。
如图2所示,所述数据存储方法包括以下步骤S210-S250:
S210:获取待存储的目标数据。
具体的,所述目标数据可以是用户存储在客户端上的数据,或者用户在客户端上使用应用程序的过程中产生的数据,或者其它在客户端上产生或保存的数据。示例性的,所述客户端可以是图1中的任一终端设备101、102或103。
S220:基于随机加法,拆分所述目标数据为第一数据和第二数据。
具体的,所述随机加法是指将一个目标数据随机拆分为至少两个不同的数据,其中,在拆分以后,所述目标数据等于拆分得到的不同数据相加。示例性的,假设所述目标数据为c,对c进行随机加法拆分为第一数据a和第二数据b,那么c=a+b。
S230:根据第一随机数和第一数据,生成第一随机数据和第二随机数据。
具体的,结合上述示例来说,假设a长度为n比特,那么可以在环
Figure DEST_PATH_IMAGE001
中选取任一个第一随机数
Figure DEST_PATH_IMAGE002
,记为
Figure DEST_PATH_IMAGE003
。那么,令
Figure DEST_PATH_IMAGE004
Figure DEST_PATH_IMAGE005
。由此可见,所述第一随机数据可以为
Figure DEST_PATH_IMAGE006
Figure DEST_PATH_IMAGE007
中的其一,所述第二随机数据可以为
Figure 646588DEST_PATH_IMAGE006
Figure 626045DEST_PATH_IMAGE007
中的其二,即第一随机数据可以为
Figure 405782DEST_PATH_IMAGE006
Figure 614041DEST_PATH_IMAGE007
,对应的,所述第二随机数据则为
Figure 428413DEST_PATH_IMAGE007
Figure 250875DEST_PATH_IMAGE006
其中,基于数论可知,环
Figure 580226DEST_PATH_IMAGE001
可以理解为一个范围,如设定范围是11,则超过11的数都要mod11,假设a=13则13mod11=2,13这个数映射到环中的值就是2。
其中,所述
Figure DEST_PATH_IMAGE008
表示对数
Figure DEST_PATH_IMAGE009
求模,可以理解为求余数,例如13 mod11=2。
S240:根据第二随机数和第二数据,生成第三随机数据和第四随机数据。
具体的,接着上述示例来说,同理,对于第二数据b,也可以基于第二随机数
Figure DEST_PATH_IMAGE010
来得到
Figure 90710DEST_PATH_IMAGE011
Figure DEST_PATH_IMAGE012
,这里不再重复。由此,所述第三随机数据可以为
Figure 821906DEST_PATH_IMAGE011
Figure 815270DEST_PATH_IMAGE012
中的其一,所述第四随机数据可以为
Figure 382648DEST_PATH_IMAGE011
Figure 119660DEST_PATH_IMAGE012
中的其二,即第三随机数据可以为
Figure 705362DEST_PATH_IMAGE011
Figure 135207DEST_PATH_IMAGE012
,对应的,所述第四随机数据则为
Figure 376832DEST_PATH_IMAGE013
其中,所述第一随机数
Figure 963540DEST_PATH_IMAGE002
和第二随机数
Figure 607011DEST_PATH_IMAGE010
是环
Figure 4494DEST_PATH_IMAGE001
中的一个随机数,该随机数可以是随机生成,或者是用户选择。当然,所述第一随机数
Figure 733416DEST_PATH_IMAGE002
和第二随机数
Figure 812230DEST_PATH_IMAGE010
存在相等的可能。
S250:向所述分布式存储服务器中至少两个不同的数据存储服务器对应发送第一组拆分数据和第二组拆分数据进行存储,所述第一组拆分数据包括所述第一随机数据和第三随机数据,所述第二组拆分数据包括所述第二随机数据和第四随机数据。
具体的,所述第一组拆分数据包括基于第一数据生成的随机数中的其一和基于第二数据生成的随机数中的其二;同理,第二组拆分数据也是一样。为此,结合上述示例来说,所述第一组拆分数据可以为以下任一组合:
Figure 123257DEST_PATH_IMAGE006
Figure 894904DEST_PATH_IMAGE011
Figure 845542DEST_PATH_IMAGE006
Figure 790365DEST_PATH_IMAGE012
Figure 142849DEST_PATH_IMAGE007
Figure 396981DEST_PATH_IMAGE011
Figure 834916DEST_PATH_IMAGE007
Figure 317850DEST_PATH_IMAGE012
对应的,当第一组拆分数据为
Figure 790420DEST_PATH_IMAGE006
Figure 903869DEST_PATH_IMAGE011
时,那么上述第二组拆分数据为
Figure 642149DEST_PATH_IMAGE007
Figure 866457DEST_PATH_IMAGE012
;当第一组拆分数据为
Figure 990271DEST_PATH_IMAGE006
Figure 274622DEST_PATH_IMAGE012
时,那么上述第二组拆分数据为
Figure 687148DEST_PATH_IMAGE007
Figure 20872DEST_PATH_IMAGE011
;当第一组拆分数据为
Figure 202455DEST_PATH_IMAGE007
Figure 454445DEST_PATH_IMAGE011
时,那么上述第二组拆分数据为
Figure 354268DEST_PATH_IMAGE006
Figure 733428DEST_PATH_IMAGE012
;当第一组拆分数据为
Figure 35096DEST_PATH_IMAGE007
Figure 395670DEST_PATH_IMAGE012
时,那么上述第二组拆分数据为
Figure 845106DEST_PATH_IMAGE006
Figure 214907DEST_PATH_IMAGE011
至此,所述数据存储方法通过对待存储的目标数据进行随机拆分,并进一步进行数据变换加密成多个随机数,即第一随机数、第二随机数、第三随机数和第四随机数,最后对这些随机数对应数据拆分的进行交错组合,并将组合的数据存储至不同的存储设备中,例如存储服务器中,以此来实现数据的安全存储的效果。
再参见图3,为本发明在另一实施例中提供的数据存储方法的实现流程图。
在一些实施例中,当完成数据的存储后,如果用户需要使用所述目标数据时,在客户端侧,还可以包括如图3所示的以下步骤S310-S330:
S310:向所述分布式数据存储服务器发送恢复目标数据的请求。
具体的,所述恢复目标数据的请求,即用户在客户端上需要使用该目标数据,或者在所述客户端上读取该目标数据,或者在使用应用程序过程中需要使用该目标数据等操作时,所触发的数据恢复指令或数据使用指令。
S320:接收所述分布式数据存储服务器响应所述请求,返回的第一加密数据和第二加密数据。
具体的,在所述分布式数据存储服务器响应上述请求时,即恢复目标数据的请求,并不是直接返回如上述S250所发送的第一组拆分数据和第二组拆分数据,而是分别返回基于所述第一组拆分数据,加密生成的第一加密数据,以及基于第二组拆分数据,加密生成的第二加密数据,以此来保证数据的安全性。
其中,关于第一加密数据和第二加密数据的具体实现过程,将在下面数据存储侧的实施例中予以详细说明。
S330:根据所述第一加密数据和第二加密数据,解密得到所述目标数据。
具体的,所述第一加密数据可以是服务器返回的对第一组拆分数据进行计算得到的密钥或加密数据,同理,所述第二加密数据可以是服务器返回的对第二组拆分数据进行计算得到密钥或加密数据。
示例性的,假设第一加密数据为
Figure DEST_PATH_IMAGE014
,第二加密数据为
Figure 417087DEST_PATH_IMAGE015
,其中,第一加密数据
Figure 276459DEST_PATH_IMAGE014
=
Figure 885295DEST_PATH_IMAGE006
+
Figure 58787DEST_PATH_IMAGE011
Figure 882518DEST_PATH_IMAGE015
=
Figure 850474DEST_PATH_IMAGE007
+
Figure 8923DEST_PATH_IMAGE012
。那么,解密目标数据可以通过计算c=Rec(
Figure DEST_PATH_IMAGE016
),即可恢复出所述目标数据。
再具体的,所述c=Rec(
Figure 32111DEST_PATH_IMAGE016
)=
Figure 897299DEST_PATH_IMAGE017
。例如,假设
Figure DEST_PATH_IMAGE018
=1,环的范围是11,则
Figure 98473DEST_PATH_IMAGE017
= (9+1) mod11=10。
第三实施例
图4为本发明在一实施例中提供的数据恢复方法的流程图。
本实施例是从实现数据存储的服务器侧角度来对本发明的技术方案进行详细的说明,与第二实施例属于一个总的发明构思。
其中,所述数据恢复方法可以由图1所示的分布式数据存储服务器执行。例如,将图1所示服务器105作为中心服务器,服务器106、107是与所述中心服务器105连接的数据存储服务器,所述服务器105、106、107构成一个分布式服务器。其中,所述服务器105,即中心服务器中有数据库维护用户、密钥以及服务器106和服务器107的关系。所述数据恢复方法,可以由用户通过请求中心服务器进行,这里等同一般C/S架构下的用户请求服务器来执行任务。
如图4所示,所述数据恢复方法包括以下步骤S410-S440:
S410:接收恢复目标数据的请求。
具体的,所述目标数据可以是用户存储在客户端上的数据,或者是用户在客户端上使用应用程序的过程中产生的数据,或者其他在客户端上产生或保存的数据。示例性的,所述客户端可以是图1中的任一终端设备101、102或103。
其中,恢复目标数据的请求,即用户在客户端上需要使用该目标数据,或者在所述客户端上读取该目标数据,或者在使用应用程序过程中需要使用该目标数据等操作时,所触发的数据恢复指令或数据使用指令。
示例性的,结合图1来说,当有用户在终端设备101上发起恢复目标数据的请求时,该恢复目标数据的请求通过网络104被服务器105所接收。当然,在服务器105与终端设备101建立通信连接前是否需要进行通信建立认证,或者服务器105在收到该恢复目标数据的请求时,需不需要对该恢复目标数据的请求进行权限验证等,不在本发明的技术方案说明范围之内,故不做讨论。
S420:响应所述请求,确定所述目标数据拆分后组合存储在不同数据存储服务器上的第一组拆分数据和第二组拆分数据。
具体的,由于第一组拆分数据和第二组拆分数据是被存储在不同的数据存储服务器上。为此,所述响应所述请求,可以是由存储所述第一组拆分数据的服务器和存储所述第二组拆分数据的服务器来直接分别响应所述请求。
示例一,以图1所示为例,假设所述分布式数据存储服务器包括服务器106、107,其中,所述服务器106可以为第一数据存储服务器,所述服务器107可以为第二数据存储服务器。此时,所述分布式数据存储服务器可以不包括所述服务器105,即所述终端设备101、102、103分别通过网络104直接连接于所述服务器106、107。
由此,当所述目标数据恢复方法在所述第一数据存储服务器上执行时,在接收恢复目标数据的请求之后,上述步骤S420可以具体包括:由所述第一数据存储服务器响应所述请求,索引确定所述第一组拆分数据;根据所述第一组拆分数据,计算得到第一加密数据;返回所述第一加密数据。
此外,当所述目标数据恢复方法在所述第二数据存储服务器上执行时,在接收恢复目标数据的请求之后,上述步骤S420可以具体包括:由所述第二数据存储服务器响应所述请求,索引确定所述第二组拆分数据;根据所述第二组拆分数据,计算得到第二加密数据;返回所述第二加密数据,用于指示发起所述请求的终端设备根据所述第一加密数据和第二加密数据,解密目标数据。
示例二,以以图1所示为例,假设所述分布式数据存储服务器包括服务器105、106、107,其中,所述服务器105可以为中心服务器,所述服务器106可以为第一数据存储服务器,所述服务器107可以为第二数据存储服务器。
由此,当所述目标数据恢复方法在所述中心服务器上执行时,所述目标数据恢复方法,可以具体包括:由所述中心服务器接收恢复目标数据的请求;响应所述请求,索引确定所述目标数据拆分后组合存储在第一数据存储服务器上的第一组拆分数据,以及所述目标数据拆分后组合存储在第二数据存储服务器上的第二组拆分数据;根据所述第一组拆分数据和第二组拆分数据,分别对应计算得到第一加密数据和第二加密数据;返回所述第一加密数据和第二加密数据,用于指示发起所述请求的终端设备根据所述第一加密数据和第二加密数据,解密目标数据。
在具体的,所述目标数据的索引可以由服务器105、106、或107中维护的索引表来实现。示例性的,所述索引表的对应关系可以是:用户表记录用户信息,密钥表记录密钥信息,服务器表记录服务器信息,用户密钥表关联用户和密钥,密钥服务器表关联密钥和服务器。
S430:根据所述第一组拆分数据和第二组拆分数据,分别对应计算得到第一加密数据和第二加密数据。
具体的,由于所述数据存储方法是由分布式数据存储服务器执行的,为此上述步骤S430是由不同的数据存储服务器上来执行实现的。
紧接上述示例一来说,所述步骤S430可以具体包括:由第一数据存储服务器根据第一组拆分数据,计算得到第一加密数据;由第二数据存储服务器根据所述第二组拆分数据,计算得到第二加密数据。
示例性的,假设,第一组拆分数据为
Figure 681902DEST_PATH_IMAGE006
Figure 744667DEST_PATH_IMAGE011
,第二组拆分数据为
Figure 729940DEST_PATH_IMAGE007
Figure 102016DEST_PATH_IMAGE012
。那么,在存储所述第一组拆分数据的第一数据存储服务器上,将由第一数据存储服务器计算第一加密数据
Figure 172740DEST_PATH_IMAGE014
,即
Figure 226146DEST_PATH_IMAGE014
=
Figure 377511DEST_PATH_IMAGE006
+
Figure 858171DEST_PATH_IMAGE011
;同理,在存储所述第二组拆分数据的第二数据存储服务器上,将由第二数据存储服务计算第二加密数据
Figure 212929DEST_PATH_IMAGE015
,即
Figure 70026DEST_PATH_IMAGE015
=
Figure 764313DEST_PATH_IMAGE007
+
Figure 228923DEST_PATH_IMAGE012
紧接上述示例二来说,所述步骤S430可以具体包括:由中心服务器根据第一组拆分数据,计算得到第一加密数据;以及,由中心服务器根据第二组拆分数据,计算得到第二加密数据。
示例性的,假设,第一组拆分数据为
Figure 336557DEST_PATH_IMAGE006
Figure 731766DEST_PATH_IMAGE011
,第二组拆分数据为
Figure 280559DEST_PATH_IMAGE007
Figure 686045DEST_PATH_IMAGE012
。那么,所述中心服务器可以根据存储所述第一数据存储服务器上的第一组拆分数据,计算得到第一加密数据
Figure 953078DEST_PATH_IMAGE014
,即
Figure 214295DEST_PATH_IMAGE014
=
Figure 617594DEST_PATH_IMAGE006
+
Figure 876537DEST_PATH_IMAGE011
;以及,所述中心服务器可以根据存储在所述第二数据存储服务器上的第二组拆分数据,计算得到第二加密数据
Figure 443916DEST_PATH_IMAGE015
,即
Figure 180928DEST_PATH_IMAGE015
=
Figure 766630DEST_PATH_IMAGE007
+
Figure 196474DEST_PATH_IMAGE012
S440:返回所述第一加密数据和第二加密数据,指示发起所述请求的终端设备根据所述第一加密数据和第二加密数据,解密目标数据。
具体的,紧接上述示例一来说,可以由第一数据存储服务器和第二数据存储服务器分别直接返回所述第一加密数据和第二加密数据给客户端。或者,紧接上述示例二来说,可以由中心服务器将计算得到的第一加密数据和第二加密数据返回给客户端。再或者,可以是由中心服务器将第一数据存储服务器计算得到的第一加密数据,以及第二数据存储服务器计算得到的第二加密数据返回给客户端。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
第四实施例
在与上述第二实施例和第三实施例同一发明构思的情况下,对应的,本实施例还提供了一种目标数据存储装置和目标数据恢复装置。
图5为本发明在一示例中提供的目标数据存储装置的原理示意图。
其中,所述设置于与分布式数据存储服务器网络连接的终端设备上,例如图1所示的终端设备101、102或103。
如图5所示,所述目标数据存储装置500,包括:目标数据模块510,被配置为获取待存储的目标数据;第一拆分模块520,被配置为基于随机加法,拆分所述目标数据为第一数据和第二数据;第二拆分模块530,被配置为根据第一随机数和第一数据,生成第一随机数据和第二随机数据;第三拆分模块540,被配置为根据第二随机数和第二数据,生成第三随机数据和第四随机数据;存储发送模块550,被配置为向所述分布式存储服务器中至少两个不同的数据存储服务器对应发送第一组拆分数据和第二组拆分数据进行存储,所述第一组拆分数据包括所述第一随机数据和第三随机数据,所述第二组拆分数据包括所述第二随机数据和第四随机数据。
在一些实施例中,所述目标数据存储装置,还包括:数据请求模块,被配置为向所述分布式数据存储服务器发送恢复目标数据的请求;数据接收模块,被配置为接收所述分布式数据存储服务器响应所述请求,返回的第一加密数据和第二加密数据;数据解密模块,被配置为根据所述第一加密数据和第二加密数据,解密得到所述目标数据。
图6为本发明在一示例中提供的目标数据恢复装置的原理示意图。
其中,所述目标数据恢复装置可以设置于分布式数据存储服务器上,如图6所示,所述目标数据恢复装置600包括:接收模块610,被配置为接收恢复目标数据的请求;索引模块620,被配置为响应所述请求,确定所述目标数据拆分后组合存储在不同数据存储服务器上的第一组拆分数据和第二组拆分数据;加密模块630,被配置为根据所述第一组拆分数据和第二组拆分数据,分别对应计算得到第一加密数据和第二加密数据;发送模块640,被配置为返回所述第一加密数据和第二加密数据,指示发起所述请求的终端设备根据所述第一加密数据和第二加密数据,解密目标数据。
在一些实施例中,所述分布式数据存储服务器包括第一数据存储服务器,所述第一数据存储服务器上存储有所述目标数据拆分后组合的第一组拆分数据;那么,在所述第一数据存储服务器上,所述目标数据恢复装置中:
所述索引模块,可以具体包括:第一数据索引单元,被配置为由所述第一数据存储服务器响应所述请求,索引确定所述第一组拆分数据;
所述加密模块,可以具体包括:第一数据机密单元,被配置为根据所述第一组拆分数据,计算得到第一加密数据;
所述发送模块,可以具体包括,第一数据返回单元,被配置为返回所述第一加密数据。
紧着上述实施例,所述分布式数据存储服务器包括第二数据存储服务器,所述第二数据存储服务器上存储有所述目标数据拆分后组合的第二组拆分数据;那么,在所述第一数据存储服务器上,所述目标数据恢复装置中:
所述索引模块,可以具体包括:第二数据索引单元,被配置为由所述第二数据存储服务器响应所述请求,索引确定所述第二组拆分数据;
所述加密模块,可以具体包括:第二数据机密单元,被配置为根据所述第二组拆分数据,计算得到第二加密数据;
所述发送模块,可以具体包括,第二数据返回单元,被配置为返回所述第二加密数据,用于指示发起所述请求的终端设备根据所述第一加密数据和第二加密数据,解密目标数据。
在一些实施例中,所述分布式数据存储服务器包括中心服务器、第一数据存储服务器和第二数据存储服务器,所述中心服务器分别与所述第一数据存储服务器和第二数据存储服务器分布网络连接;那么,在所述第一数据存储服务器上,所述目标数据恢复装置中:
所述接收模块,可以具体包括:中心服务器接收单元,被配置为由所述中心服务器接收恢复目标数据的请求。
具体的,所述第一组拆分数据包括从第一数据拆分出来的第一随机数据和从第二数据拆分出来的第二随机数据,所述目标数据等于所述第一数据与第二数据相加;那么,第一数据机密单元,具体被配置为:根据所述第一随机数据和第二随机数据,相加计算得到第一加密数据。
具体的,所述第二组拆分数据包括从第一数据拆分出来的第三随机数据和从第二数据拆分出来的第四随机数据,所述目标数据等于所述第一数据与第二数据相加;那么,第二数据机密单元,具体被配置为:根据所述第三随机数据和第四随机数据,相加计算得到第二加密数据。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (12)

1.一种目标数据恢复方法,由分布式数据存储服务器执行,其特征在于,所述数据恢复方法包括:
接收恢复目标数据的请求;
响应所述请求,确定所述目标数据拆分后组合存储在不同数据存储服务器上的第一组拆分数据和第二组拆分数据;其中,所述目标数据为基于随机加法拆分成的第一数据和第二数据,所述第一数据包括根据第一随机数生成的第一随机数据和第二随机数据,所述第二数据包括根据第二随机数生成的第三随机数据和第四随机数据;所述第一组拆分数据包括第一随机数据和第三随机数据,所述第二组拆分数据包括第二随机数据和第四随机数据;
根据所述第一组拆分数据和第二组拆分数据,分别对应计算得到第一加密数据和第二加密数据;
返回所述第一加密数据和第二加密数据,指示发起所述请求的终端设备根据所述第一加密数据和第二加密数据,解密目标数据。
2.根据权利要求1所述的目标数据恢复方法,其特征在于:
所述分布式数据存储服务器包括第一数据存储服务器,所述第一数据存储服务器上存储有所述目标数据拆分后组合的第一组拆分数据;
当所述目标数据恢复方法在所述第一数据存储服务器上执行时,在接收恢复目标数据的请求之后,具体包括:
由所述第一数据存储服务器响应所述请求,索引确定所述第一组拆分数据;
根据所述第一组拆分数据,计算得到第一加密数据;
返回所述第一加密数据。
3.根据权利要求2所述的目标数据恢复方法,其特征在于:
所述分布式数据存储服务器包括第二数据存储服务器,所述第二数据存储服务器上存储有所述目标数据拆分后组合的第二组拆分数据;
当所述目标数据恢复方法在所述第二数据存储服务器上执行时,在接收恢复目标数据的请求之后,具体包括:
由所述第二数据存储服务器响应所述请求,索引确定所述第二组拆分数据;
根据所述第二组拆分数据,计算得到第二加密数据;
返回所述第二加密数据,用于指示发起所述请求的终端设备根据所述第一加密数据和第二加密数据,解密目标数据。
4.根据权利要求1所述的目标数据恢复方法,其特征在于:
所述分布式数据存储服务器包括中心服务器、第一数据存储服务器和第二数据存储服务器,所述中心服务器分别与所述第一数据存储服务器和第二数据存储服务器分布网络连接;
当所述目标数据恢复方法在所述中心服务器上执行时,所述目标数据恢复方法,具体包括:
由所述中心服务器接收恢复目标数据的请求;
响应所述请求,索引确定所述目标数据拆分后组合存储在第一数据存储服务器上的第一组拆分数据,以及所述目标数据拆分后组合存储在第二数据存储服务器上的第二组拆分数据;
根据所述第一组拆分数据和第二组拆分数据,分别对应计算得到第一加密数据和第二加密数据;
返回所述第一加密数据和第二加密数据,用于指示发起所述请求的终端设备根据所述第一加密数据和第二加密数据,解密目标数据。
5.根据权利要求1、3或4所述的目标数据恢复方法,其特征在于:
所述第一加密数据的计算方法,具体包括:根据所述第一随机数据和第二随机数据,相加计算得到第一加密数据。
6.根据权利要求5所述的目标数据恢复方法,其特征在于:
所述第二加密数据的计算方法,具体包括:根据所述第三随机数据和第四随机数据,相加计算得到第二加密数据。
7.一种目标数据恢复装置,设置于分布式数据存储服务器上,其特征在于,所述目标数据恢复装置包括:
接收模块,被配置为接收恢复目标数据的请求;
索引模块,被配置为响应所述请求,确定所述目标数据拆分后组合存储在不同数据存储服务器上的第一组拆分数据和第二组拆分数据;其中,所述目标数据为基于随机加法拆分成的第一数据和第二数据,所述第一数据包括根据第一随机数生成的第一随机数据和第二随机数据,所述第二数据包括根据第二随机数生成的第三随机数据和第四随机数据;所述第一组拆分数据包括第一随机数据和第三随机数据;所述第二组拆分数据包括第二随机数据和第四随机数据;
加密模块,被配置为根据所述第一组拆分数据和第二组拆分数据,分别对应计算得到第一加密数据和第二加密数据;
发送模块,被配置为返回所述第一加密数据和第二加密数据,指示发起所述请求的终端设备根据所述第一加密数据和第二加密数据,解密目标数据。
8.一种目标数据存储方法,由与分布式数据存储服务器网络连接的终端设备执行,其特征在于,所述目标数据存储方法包括:
获取待存储的目标数据;
基于随机加法,拆分所述目标数据为第一数据和第二数据;
根据第一随机数和第一数据,生成第一随机数据和第二随机数据;
根据第二随机数和第二数据,生成第三随机数据和第四随机数据;
向所述分布式存储服务器中至少两个不同的数据存储服务器对应发送第一组拆分数据和第二组拆分数据进行存储,所述第一组拆分数据包括所述第一随机数据和第三随机数据,所述第二组拆分数据包括所述第二随机数据和第四随机数据。
9.根据权利要求8所述的目标数据存储方法,其特征在于,还包括:
向所述分布式数据存储服务器发送恢复目标数据的请求;
接收所述分布式数据存储服务器响应所述请求,返回的第一加密数据和第二加密数据;
根据所述第一加密数据和第二加密数据,解密得到所述目标数据。
10.一种目标数据存储装置,设置于与分布式数据存储服务器网络连接的终端设备上,其特征在于,所述目标数据存储装置包括:
目标数据模块,被配置为获取待存储的目标数据;
第一拆分模块,被配置为基于随机加法,拆分所述目标数据为第一数据和第二数据;
第二拆分模块,被配置为根据第一随机数和第一数据,生成第一随机数据和第二随机数据;
第三拆分模块,被配置为根据第二随机数和第二数据,生成第三随机数据和第四随机数据;
存储发送模块,被配置为向所述分布式存储服务器中至少两个不同的数据存储服务器对应发送第一组拆分数据和第二组拆分数据进行存储,所述第一组拆分数据包括所述第一随机数据和第三随机数据,所述第二组拆分数据包括所述第二随机数据和第四随机数据。
11.根据权利要求10所述的目标数据存储装置,其特征在于,所述目标数据存储装置,还包括:
数据请求模块,被配置为向所述分布式数据存储服务器发送恢复目标数据的请求;
数据接收模块,被配置为接收所述分布式数据存储服务器响应所述请求,返回的第一加密数据和第二加密数据;
数据解密模块,被配置为根据所述第一加密数据和第二加密数据,解密得到所述目标数据。
12.一种数据存储节点,包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,当所述处理器运行所述计算机程序时,实现如权利要求1、2、3、4、5、6、8或9所述方法的步骤。
CN202011168754.XA 2020-10-28 2020-10-28 用于目标数据存储与恢复的方法、装置及数据存储节点 Active CN112000525B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011168754.XA CN112000525B (zh) 2020-10-28 2020-10-28 用于目标数据存储与恢复的方法、装置及数据存储节点

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011168754.XA CN112000525B (zh) 2020-10-28 2020-10-28 用于目标数据存储与恢复的方法、装置及数据存储节点

Publications (2)

Publication Number Publication Date
CN112000525A CN112000525A (zh) 2020-11-27
CN112000525B true CN112000525B (zh) 2021-02-19

Family

ID=73475202

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011168754.XA Active CN112000525B (zh) 2020-10-28 2020-10-28 用于目标数据存储与恢复的方法、装置及数据存储节点

Country Status (1)

Country Link
CN (1) CN112000525B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108718315A (zh) * 2018-06-01 2018-10-30 四川科瑞达电子技术有限公司 一种碎片化加密用户信息的云平台隐私保护方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108718315A (zh) * 2018-06-01 2018-10-30 四川科瑞达电子技术有限公司 一种碎片化加密用户信息的云平台隐私保护方法

Also Published As

Publication number Publication date
CN112000525A (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
US20210377010A1 (en) Key management method and related device
KR102566892B1 (ko) 블록체인 합의 방법, 디바이스 및 시스템
CN112751673B (zh) 一种基于端边云协同的可监管数据隐私共享方法
CN102427442A (zh) 组合请求相关元数据和元数据内容
CN112926051A (zh) 多方安全计算方法和装置
CN114024686B (zh) 基于区块链的智慧社区物联网信息共享模型
JP4156588B2 (ja) 暗号通信システム、その鍵配布サーバ、端末装置及び鍵共有方法
WO2014114080A1 (zh) 数据加密保护方法及系统
CN109995739A (zh) 一种信息传输方法、客户端、服务器及存储介质
US20150023498A1 (en) Byzantine fault tolerance and threshold coin tossing
CN115664629A (zh) 一种基于同态加密的智慧物联平台数据隐私保护方法
CN114329533A (zh) 安全多方计算方法及相关设备
CN110784318B (zh) 群密钥更新方法、装置、电子设备、存储介质及通信系统
KR102269753B1 (ko) 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치
JP4133215B2 (ja) データ分割方法及びデータ復元方法並びにプログラム
CN112000525B (zh) 用于目标数据存储与恢复的方法、装置及数据存储节点
CN117349685A (zh) 一种通信数据的聚类方法、系统、终端及介质
CN111709053A (zh) 基于松散耦合交易网络的作业方法及作业装置
CN112948803B (zh) 应用程序的登录方法、系统、设备和存储介质
CN114417309A (zh) 一种双向身份验证方法、装置、设备及存储介质
CN114760602A (zh) 全息通信方法、装置、系统及计算机可读存储介质
CN111368309A (zh) 信息处理方法、系统及设备
CN110958285A (zh) 一种基于区块链的数据存储系统
CN113949508B (zh) 基于随机数共识机制的过程数据处理方法及装置
CN114826614B (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