CN109074394B - 用于具有永久完整性保证的分布式数据存储的方法和系统 - Google Patents
用于具有永久完整性保证的分布式数据存储的方法和系统 Download PDFInfo
- Publication number
- CN109074394B CN109074394B CN201780026461.8A CN201780026461A CN109074394B CN 109074394 B CN109074394 B CN 109074394B CN 201780026461 A CN201780026461 A CN 201780026461A CN 109074394 B CN109074394 B CN 109074394B
- Authority
- CN
- China
- Prior art keywords
- key
- value
- processing server
- data
- generated
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用于生成通用分布式数据存储的方法,包括:接收多个数据值;针对所述多个数据值中的每个数据值生成密钥,其中相应的密钥是通过将哈希算法应用于相关联的数据值来生成的;在数据库中将所述多个数据值中的每一个和相关联的生成的密钥存储为多个密钥‑值对;接收多个附加密钥‑值对,其中所述多个密钥‑值对中的每个值不包含在所述多个数据值中;并且在所述数据库中存储所述多个附加密钥‑值对中的每一个,其中,在所述多个密钥‑值对中包含的每个密钥是通过将哈希算法应用于相关联的值而生成,并且不包含在对所述多个数据值中的每个数据值生成的密钥中。
Description
相关申请的交叉引用
本申请要求于2016年5月5日递交的美国申请No.15/146,971的权益和优先权。上述申请的全部公开内容通过引用被并入本申请。
技术领域
本申请涉及在通用分布式数据存储(universal distributed data storage)中数据的存储,具体地,涉及使用抗碰撞哈希算法来生成适于密钥-值存储的密钥以存储具有完整性保证的虚拟的无限数据集。
背景技术
通常,当数据存储在数据库中时,所述数据与标识符相关联以更容易访问和识别。在许多情况下,分配给数据值或数据值集合的标识符可以相对于用于存储在该特定数据组(例如,数据表)或数据库中的所有数据的其他标识符而言是唯一的。这样的标识符通常被称为“主密钥”,其中数据库可能需要添加到表格或数据库的每个新数据值或数据值集合都具有与其相关联的唯一主密钥用于存储。
在许多情况下,主密钥必须对于所讨论的单个表和/或数据库是唯一的,但是可以在多个表或多个数据库中重复。例如,在许多情况下,一个表中的数据值的各个集合被分配编号,其中数据值的第一集合开始于1或另一预定值,其中每个新条目使用序列中的下一个数字(例如,2、3、4等)。同一数据库中的其他表格可以使用相同编号系统,其中数据库中的多组数据值可以各自被分配相同的标识号(例如,1),但是其中,标识号对于数据库中的相应表格可以是唯一的(例如,每个表格仅具有一个数据值集合被分配标识符“1”)。
此类系统对于较小数据库是有用的,但在组合两个数据集的情况下,尤其是当涉及多个实体时,可能是有害的。例如,两个公司可能需要交换存储在内部存储器中的文档集合。每个公司可使用相同编号系统进行标识,这可导致多个文档具有冲突标识符。结果,各个文档必须存储在单独的表格和/或数据库中,或者必须对一个或两个集合修改标识符。在前一种情况下,可能难以一次对两个表/数据库进行调整,并且出于排序(sort)和存储的目的可能是不方便的。在后一种情况下,双方必须都同意替代标识,因此,一方或双方修改他们的先前的识别系统,由于在他们的接下来的业务中普遍使用所述标识符,这可能是高度不方便的甚至可能是有害的。此外,未来对标识符的任何改变,诸如由于商业实践的改变,或者在遇到与具有冲突标识符的第三方进行交易的情况中,都必须告知另一方。当实体与越来越多的实体通信和交易时,多个冲突可能复合,其中对标识符的改变可能以不合理的速率发生并且对每个实体进行业务的能力产生负面影响。
因此,需要一种技术方案来实现通用分布式数据存储,其中每个数据集不管实体、数据的类型、存储的方法等可以在没有任何标识冲突的情况下被组合,并且完整性不受将来向数据集添加数据的影响。
发明内容
本申请提供了对用于生成通用分布式数据存储的系统和方法的描述。使用抗碰撞哈希来开发用于不同数据集的标识值可以使得在不冲突的条件下组合数据集,并且可以在未来将附加数据集组合到通用数据存储中之后保持数据集的完整性和它们的标识。
一种用于生成通用分布式数据存储的方法,包括:由处理服务器的接收装置接收叠加有多个数据值的数据信号;由所述处理服务器的哈希模块对所述多个数据值中的每个数据值生成密钥,其中各个密钥是经由将哈希算法应用于相关联的数据值来生成的;由所述处理服务器的查询模块对所述处理服务器的数据库执行第一查询,以将所述多个数据值中的每一个和所述相关联的生成的密钥存储为多个密钥-值对;由所述处理服务器的所述接收装置接收叠加有多个附加密钥-值对的数据信号,其中所述多个附加密钥-值对中的每个值不包含在所述多个数据值中;以及由所述处理服务器的所述查询模块对所述处理服务器的所述数据库执行第二查询,以存储所述多个附加密钥-值对中的每一个,其中所述多个附加密钥-值对中包含的每个密钥是通过将所述哈希算法应用于相关联的值来生成的,并且不包括在对所述多个数据值中的每个值生成的密钥中。
一种用于生成通用分布式数据存储的系统包括:处理服务器的数据库;所述处理服务器的接收装置,其经配置成接收叠加有多个数据值的数据信号;所述处理服务器的哈希模块,其配置成对所述多个数据值中的每个值生成密钥,其中各个密钥是经由将哈希算法应用于相关联的数据值来生成的;以及所述处理服务器的查询模块,其配置成对所述处理服务器的数据库执行第一查询,以将所述多个数据值中的每个数据值与所述相关联的生成的密钥存储为多个密钥-值对。所述处理服务器的接收装置进一步配置成接收叠加有多个附加密钥-值对的数据信号,其中所述多个附加密钥-值对中的每个值都不包含于所述多个数据值中。所述处理服务器的查询模块进一步配置成对所述处理服务器的数据库执行第二查询以存储所述多个附加密钥-值对中的每一个,其中所述多个附加密钥-值对中所包含的每个密钥是通过将所述哈希算法应用于相关联的值生成的,并且不包含在对于所述多个数据值中的每个值生成的所述密钥中。
附图说明
当结合附图阅读时,根据示例性实施例的以下详细描述更好地理解本发明的范围。附图中包括以下视图:
图1是示出根据示例性实施例的用于生成通用分布式数据存储的高级系统架构的框图;
图2是示出根据示例性实施例的用于生成通用分布式数据存储的图1的处理服务器的框图;
图3是示出根据示例性实施例的使用图1的系统将数据集添加到通用分布式数据存储的方法的流程图;
图4是示出根据示例性实施例的通用数据存储中的两个不同数据集的组合的图;
图5是示出根据示例性实施例的用于生成通用分布式数据存储的示例性方法的流程图;
图6是示出根据示例性实施例的计算机系统架构的框图。
根据下文提供的详细描述,本申请的其它应用领域将变得显而易见。应当理解,示例性实施例的详细描述旨在仅用于说明的目的,因而不一定在限制本申请的范围。
具体实施方式
用于通用分布式数据存储的系统
图1示出了用于生成通用分布式数据存储的系统100。
系统100可以包括处理服务器102。下面会更详细地讨论的处理服务器102可以配置为将数据集组合作为通用分布式数据存储的一部分。处理服务器102可以从多个不同的数据提供者104接收数据集,数据提供者104在图1中示为数据提供者104a和104a。每个数据提供者104可以经由通信网络106将数据集以电子方式传送到处理服务器102,以包括在通用数据存储中。
通信网络106可以是适合于执行本申请所讨论功能的任何类型的通信网络。例如,通信网络106可以是局域网、无线区域网络、因特网、射频网络、蜂窝通信网络等,并且利用任何合适的协议来实现与之的数据传送。在一些情形中,数据提供者104与处理服务器102之间的通信可利用多个通信网络106,例如两个或更多个独立的通信网络106的组合。例如,数据提供者104可以通过局域网将数据集以电子方式传送到第一计算装置,该第一计算装置可以通过互联网将数据集转发到第二计算装置,第二计算装置可以通过另一个局域网将数据集转发到处理服务器102。
在一些示例中,由数据提供者104以电子方式传送到处理服务器102的数据集可被叠加在通过通信网络106以电子方式传送的数据信号上,或者要不然在通过通信网络106以电子方式传送的数据信号上编码。处理服务器102可以接收数据信号并且可以使用合适的方法和系统从其中解析数据集。在一些情况下,数据集可被叠加在以电子方式传送到处理服务器102的单个数据信号上或要不然在以电子方式传送到处理服务器102的单个数据信号上编码,或者可以叠加在以电子方式传送到处理服务器102的多个不同数据信号上,或者要不然在以电子方式传送到处理服务器102的多个不同数据信号上编码。例如,数据集可包括多个不同的数据值,每个数据值被叠加在单独的数据信号上,以由处理服务器102接收。在一些这样的情况下,由于带宽和/或数据大小限制,可使用多个数据信号。
由数据提供者104以电子方式传送到处理服务器102的数据集可以包括多个不同的数据值。每个数据值可以由适于传送到处理服务器102的任何格式的数据组成。例如,数据值可以是十六进制或其他类型的字符的集合或字符串,可以是整数或浮点数,可以是任何格式的数据文件等。在一些实例中,处理服务器102可以配置为接收任何数据值,而不管格式、文件类型、文件大小等,以存储在通用数据存储中。例如,由数据提供者104提供的数据值的集合可以包括字母数字字符串、数据库文件、图像文件、文档文件、视频文件和/或多个数值。处理服务器102可以配置为组合不同数据值的数据值的数据集,使得任何两个数据集可以具有不同数目的数据值,其中所述数据集包括不同类型的数据值。
处理服务器102可以从数据提供者104接收数据值的集合,并且可以对每个数据值生成密钥。密钥可以由处理服务器102经由将哈希算法应用于相应的数据值来生成。所述哈希算法可以是抗碰撞哈希算法,诸如安全哈希算法(SHA)SHA-256或SHA-512。抗碰撞哈希算法可以是通过使用这种算法生成的哈希值可以高度抗碰撞的算法。在这种情况下,当与针对几乎任何其他可能的数据值生成的哈希值相比时,由处理服务器102针对任何数据值产生的哈希值对于该数据值可以是唯一的。
一旦针对每个数据值生成密钥,处理服务器102便可以将所述数据值及对应的密钥作为多个密钥-值对存储到数据存储中。然后,处理服务器102可以针对一个或多个附加数据集重复该过程,所述一个或多个附加数据集可以经由通信网络106从同一数据提供者104或从一个或多个其他数据提供者104接收。由于使用了抗碰撞哈希算法,相对于在数据存储中存储的所有其他密钥,针对所述数据值生成的每个密钥对于该数据值是唯一的可能性接近于无限。因此,针对数据值的每个集合的密钥-值对可存储在所述数据存储中,不需要修改现有的密钥-值对且在各个密钥之间无冲突。另外,由于通过哈希算法生成的密钥的唯一性,在所述数据存储中存储的密钥-值对的完整性可能是永久性的。
因此,这里讨论的方法和系统可以使得处理服务器102能够产生数据存储,其中所述数据存储能够几乎无限次地存储几乎无限数量的数据值,而不发生冲突并且不损害密钥的整体性。因此,由处理服务器102生成的数据存储可以是通用数据存储,因为使用相同的抗碰撞哈希算法来生成密钥的任何数据存储可以在没有冲突的情况下组合在一起,使得每个数据存储成为通用数据存储的一部分。
处理服务器102使用本申请所讨论的方法生成的通用数据存储可以提供在两个实体之间更容易且更高效的数据共享。例如,第一实体和第二实体可以各自交换作为存储在通用数据存储中的密钥-值对中的值的文档。当每个文档被生成唯一的密钥时,这些文档可以在没有冲突的情况下交换和存储,并且对存储的任何附加数据或每个实体使用的数据存储方案没有负面影响。另外,每个实体可以使用其唯一密钥来指代文档,这可以确保每个实体由于相关联的密钥的唯一性而识别正确的文档。这种益处,当涉及另外的实体时,甚至可以具有更高的效用。由于两个实体可以交换密钥作为数据值的指代,使用通过哈希算法生成的密钥可以针对数据盗取提供更高的安全性,因此通过哈希算法生成的密钥的使用也是有益的,其中,在没有掌握密钥-值对的条件下,不能从密钥确定数据值,因此即使破解了密钥也不危及相关联的数据值。
此外,使用通用数据存储还可以提供比传统系统中更高效的密钥改变。在传统系统中,如果一个实体想要修改其用于数据的标识方案,则他们必须通知共享该数据的每个实体关于标识的变化。然后那些实体中的每一个必须修改其对该数据的可能导致冲突的标识,这可能导致进一步的改变,这可能需要通知其他实体,然后继续下去直到所有实体之间的所有冲突被解决。在使用通用数据存储的情况下,可以使用新的抗碰撞哈希算法针对每个数据值产生新的密钥,这可由存储密钥-值对的每个实体针对数据值中的任意数据值独立地执行。对数据值重散列以生成新的密钥,也可以在不交换任何数据值或相关密钥的情形下执行,因而可以提供用于数据值的显著更快和更高效的密钥转换。
处理服务器
图2示出了系统100的处理服务器102的实施例。相关领域的技术人员将明白,图2所示的处理服务器102的实施例仅作为图示提供,并没有穷尽适合执行这里所讨论功能的处理服务器102的所有可能配置。例如,图6中示出并在下文中更详细地讨论的计算机系统600可以是处理服务器102的合适配置。
处理服务器102可以包括接收装置202。接收装置202可以配置为经由一个或多个网络协议通过一个或多个网络接收数据。在一些实施例中,接收装置202可以配置为通过一个或多个通信网络106使用与之相关联的协议和基础设施来接收数据。接收装置202可以配置为经由可以利用相同或不同通信协议的一个或多个不同的通信网络106从数据提供者104和其他实体接收数据。在一些实施例中,接收装置202可包括多个装置,例如,通过不同网络接收数据的不同接收装置,诸如用于通过局域网接收数据的第一接收装置和用于通过因特网接收数据的第二接收装置。接收装置202可以接收以电子方式传送的数据信号,其中数据可以叠加或编码在数据信号上并且通过接收装置202接收数据信号而被解码、解析、读取或以其他方式获得。在一些示例中,接收装置202可以包括解析模块,用于解析所接收的数据信号来获得叠加在其上的数据。例如,接收装置202可包括解析程序,该解析程序被配置成接收数据信号,并且将所接收的数据信号转换成可用输入,用于由处理装置执行的各种功能以执行本文描述的方法和系统。
接收装置202可配置成接收由数据提供者104以电子方式传送的数据信号,这些数据信号叠加有数据值或用数据值编码。数据值可以是任何类型的数据格式和数据大小的任何类型的数据值,其适合于向其应用哈希算法以生成哈希值作为对应的密钥。接收装置202还可配置成从数据提供者104接收数据信号,所述数据信号叠加有重散列请求,所述重散列请求可以请求使用另一种哈希算法或哈希摘要和/或可以指定该另一种哈希算法或哈希摘要、或数据请求。数据请求可包括请求对应数据值的一个或多个密钥。
处理服务器102还可以包括通信模块204。通信模块204可以配置为在处理服务器102的模块、引擎、数据库、存储器和其它部件之间传送数据,以用于执行本文所讨论的功能。通信模块204可以包括一个或多个通信类型并且利用各种通信方法在计算装置内进行通信。例如,通信模块204可包括总线、插针连接器、导线等。在一些实施例中,通信模块204还可配置成在处理服务器102的内部部件与处理服务器102的外部部件(诸如外部连接的数据库、显示装置、输入装置等)之间通信。处理服务器102还可以包括处理装置。所述处理装置可配置成执行这里讨论的处理服务器102的功能,这对于相关领域的技术人员将显而易见的。在一些实施例中,所述处理装置可以包括专门配置为执行处理装置的一个或多个功能的多个引擎和/或模块,如查询模块214、哈希模块216等,和/或由多个引擎和/或诸如查询模块214、哈希模块216等的专门配置为执行处理装置的一个或多个功能的模块组成。如这里使用的,术语“模块”可以是特别编程为接收输入、使用所述输入执行一个或多个处理和提供输出的软件或硬件。根据本申请,由各种模块执行的输入、输出和处理对于本领域技术人员将是显而易见的。
处理服务器102可以包括数据库206。数据库206可配置成使用合适的数据存储格式和模式来存储多个密钥-值对208。数据库206可以是关系数据库,其利用结构化查询语言用于对在其中存储的结构化数据集进行存储、标识、修改、更新、访问等。每个密钥-值对208可以是被配置为任何类型、格式、大小等的数据值以及由此生成的密钥的结构化数据集。数据库206可以是通用数据存储的一部分,使得存储在其中的每个密钥-值对208可以具有对于可能潜在地存储在数据库206中的几乎任意其它数据值而言是唯一的密钥。
处理服务器102可以包括查询模块214。查询模块214可以配置为对数据库执行查询以识别信息。查询模块214可以接收一个或多个数据值或查询字符串,并基于此可以在诸如数据库206的所指示的数据库上执行查询字符串,以识别存储在其中的信息或执行与所指示的数据库的管理相关的任何其他功能。查询模块214则可以根据需要向处理服务器102的适当引擎或模块输出所识别的信息或所执行的查询的结果。查询模块214可例如在数据库206上执行查询以基于所提供的密钥来识别密钥-值对208中的数据值,针对新接收的数据值将新密钥-值对208存储在数据库206中,或修改针对数据值的现有密钥,例如作为重散列的请求的结果而产生的密钥。
处理服务器102还可包括哈希模块216。哈希模块216可配置成通过将哈希算法应用于所提供的数据而从所提供的数据产生哈希值。哈希模块216可接收数据值,可将哈希算法应用于该数据值,且将所产生的哈希值输出到处理服务器102的一个或多个模块或引擎。在一些实例中,哈希模块216可接收关于哈希算法和/或相关联的哈希摘要与数据值一起使用的指示。在其它实例中,在哈希所提供的数据值时,哈希模块216可识别哈希算法和/或哈希摘要以使用。在示例性实施例中,哈希模块216可配置成通过对数据值使用诸如SHA-256算法或SHA-512算法的抗碰撞哈希算法产生作为密钥-值对208中的密钥的哈希值。
处理服务器102还可以包括传送装置220。传送装置220可配置成经由一个或多个网络协议通过一个或多个网络传送数据。在一些实施例中,传送装置220可以配置为通过一个或多个通信网络106使用与其相关联的协议和基础设施来传送数据。传送装置220可以配置为经由可以利用相同或不同通信协议的一个或多个不同的通信网络106向数据提供方104和其它实体以电子方式传送数据。在一些实施例中,传送装置220可包括多个装置,例如用于通过不同网络传送数据的不同传送装置,例如用于通过局域网传送数据的第一传送装置和用于通过因特网传送数据的第二传送装置。传送装置220可以以电子方式传送数据信号,所述数据信号叠加有数据,可由接收计算装置解析。在一些实例中,传送装置220可包含用于将数据叠加、编码或以其它方式格式化成适于传送的数据信号的一个或多个模块。
传送装置220可配置成向数据提供者104以电子方式传送数据信号,这些数据信号可与密钥、数据值、哈希算法和/或摘要、或其他合适的数据叠加。例如,响应于包含对应密钥的接收到的数据请求,传送装置220可以向数据提供者104以电子方式传送叠加有数据值或者用数据值编码的数据信号。在另一示例中,传送装置220可以将用新哈希算法叠加或者用新哈希算法编码的数据信号以电子方式传送到数据提供者104用于生成密钥-值对208的密钥,例如用于密钥的重散列。
处理服务器102还可以包括存储器222。存储器222可配置成存储供处理服务器102在执行本文中所讨论的功能时使用的数据。存储器222可配置成使用合适的数据格式化方法和方案来存储数据,并且可以是任何合适类型的存储器,例如,只读存储器、随机存取存储器等。存储器222可包括例如加密密钥和算法、通信协议和标准、数据格式化标准和协议、用于处理装置的模块和应用程序的程序代码,以及如所属领域的技术人员将明了的可适合于由处理服务器102在执行本申请中所揭示的功能时使用的其它数据。在一些实施例中,存储器222可以由关系数据库组成或可以包括关系数据库,其中关系数据库利用结构化查询语言对于存储在其中的结构化数据集进行存储、识别、修改、更新、访问等。
用于在通用数据存储中生成密钥的过程
图3示出了处理服务器102生成向数据提供者104提供的用于通用数据存储的密钥的过程300,用于在没有冲突的情况下存储和标识数据并且同时维持永久完整性。
在步骤302中,数据提供者104可以通过通信网络106向处理服务器102以电子方式传送数据信号,其中所述数据信号叠加有多个附加数据值,或者所述数据信号使用多个附加数据值编码,对所述多个附加数据值请求密钥。所述数据值可以是任何数据大小的任何合适数据格式的任何类型的数据。处理服务器102的接收装置202可以从数据提供者104接收所述数据信号并且解析该信号以获得在其上编码的所述数据值。
在步骤304中,处理服务器102的哈希模块216可以哈希数据提供者104提供的每个数据值,以生成每个数据值的密钥。对每个数据值的哈希可包括将哈希算法应用于相应数据值以产生作为哈希值的所得密钥。在示例性实施例中,该哈希算法可以是抗碰撞哈希算法,例如SHA-256算法。在步骤306中,处理服务器102的查询模块214可以对处理服务器102的数据库206执行查询,以针对数据提供者104提供的每个附加数据值在其中存储新密钥-值对208。每个新密钥-值对208可包含相应的附加数据值及由哈希模块216产生的对应密钥。
在步骤308中,处理服务器102的传送装置220可以通过通信网络106将数据信号以电子方式传送回到数据提供者104,其中所述数据信号叠加有针对每个附加数据值生成的密钥或用针对每个附加数据值生成的密钥进行了编码。在一些实施例中,所述密钥可以伴随有数据提供者104相应数据值用于对其进行标识。在一些示例中,所述密钥可以伴随有哈希模块216在生成对应密钥时使用的哈希算法和/或相关联的哈希摘要,或者被所述哈希算法和/或相关联的哈希摘要代替。在这样的示例中,数据提供者104能够在必要时通过哈希模块216使用的哈希算法生成用于指代数据值的密钥。
通用数据存储的组合和排序
图4示出了在没有碰撞的情况下将通用数据存储的两个部分组合成单个数据存储,以及基于唯一地生成的密钥对其排序。
如图4所示,处理服务器102可以将第一数据集402与第二数据集404组合。每个数据集402和404可以包括多个密钥-值对208,并且可以是要组合在一起的数据库206的一部分或可以包括数据库206。在一些示例中,数据集402或404可以是存储在数据库206中的密钥-值对208,而其他数据集404或402可以分别包括根据数据提供者104提供并且经由接收装置202接收的数据集,由处理服务器102的哈希模块216和查询模块214生成的密钥-值对208。
包括数据集402和404中每个数据集的密钥-值对208中的每一密钥-值对可以由密钥和对应数据值组成。如图4所示,每个数据值可以具有不同的数据类型和格式,在所示示例中,该数据类型和格式可以包括图像、文档、数据和初始化文件的混合,其可以各自具有不同的数据大小。每个密钥-值对208中的密钥可以是通过将抗碰撞哈希算法应用于对应数据值来生成的密钥。相关领域的技术人员将明白,图4所示的密钥出于图示目的而提供的,且由哈希模块216使用抗碰撞哈希算法生成的密钥可具有不同长度和字符组成。
处理服务器102可以将每个数据集402和404组合成单个数据集406。单个数据集406可包括各数据集402和404二者中所包含的密钥-值对208中的每个密钥-值对。如图4所示,处理服务器102的查询模块214可以对单个数据集406执行查询以对其进行排序。在所示示例中,密钥-值对208可通过其相应的密钥存储。由于每个密钥的唯一性,密钥-值对208可以以这样的方式来排序,使得拥有相同数据值的任何实体(例如,数据提供者104)可以实现相同排序。结果,具有相同数据值的多个实体可拥有相同的对应密钥-值对208的集合,而不交换实际数据值,这可经由密钥提供更高效且有效的未来通信。
用于生成通用分布式数据存储的示例性方法
图5示出了通过对不同数据集的数据值使用哈希算法生成密钥来生成通用分布式数据存储的方法500。
在步骤502中,可以由处理服务器(例如,处理服务器102)的接收装置(例如,接收装置202)接收被叠加有多个数据值的数据信号。在步骤504中,处理服务器的哈希模块(例如,哈希模块216)可以针对所述多个数据值中的每个数据值生成密钥,其中通过将哈希算法应用于相关联的数据值来产生相应的密钥。在步骤506中,可以由处理服务器的查询模块(例如,查询模块214)在处理服务器的数据库(例如,数据库206)上执行第一查询,以将所述多个数据值中的每个数据值及相关联的所产生的密钥存储为多个密钥-值对(例如,密钥-值对208)。
在步骤508中,可由处理服务器的接收装置接收被叠加有多个附加密钥-值对的数据信号,其中所述多个附加密钥-值对中的每个值不包含于所述多个数据值中。在步骤510中,可由处理服务器的查询模块在处理服务器的数据库上执行第二查询以存储所述多个附加密钥-值对中的每一个,其中在所述多个附加密钥-值对中包含的每一密钥是通过将哈希算法应用于相关联的值而生成的,并且不包含于针对所述多个数据值中的每一个生成的密钥中。
在一个实施例中,所述哈希算法可以是抗碰撞算法。在进一步的实施例中,所述哈希算法可以是SHA-256算法。在一些实施例中,方法500可还包括由处理服务器的查询模块在处理服务器的数据库上执行第三查询,以基于相应的密钥对多个密钥-值对和多个附加密钥-值对进行排序。
在一个实施例中,方法500还可以包括:由处理服务器的接收装置接收被叠加有重散列请求的数据信号,其中重散列请求指示不同的哈希算法;由所述处理服务器的所述哈希模块针对所述多个数据值中的每个数据值和所述多个附加密钥-值对中所包含的每个值生成新密钥;以及由所述处理服务器的所述查询模块在所述处理服务器的所述数据库上执行第三查询,以使用所述相应的所生成的新密钥来替换所述多个密钥-值对中的和所述多个附加密钥-值对中的每个密钥-值对的所述密钥。在进一步的实施例中,方法500甚至可进一步包括由处理服务器的查询模块在处理服务器的数据库上执行第四查询,以基于相应的生成的新密钥对所述多个所述密钥-值对和多个附加密钥-值对进行排序。在另一进一步的实施例中,所述不同的哈希算法可以是抗碰撞哈希算法。在更进一步的实施例中,所述哈希算法可以是SHA-256算法。
在一些实施例中,方法500还可以包括:由处理服务器的接收装置接收被叠加有值请求的数据信号,其中所述值请求至少包括请求密钥;由所述处理服务器的查询模块在所述处理服务器的数据库上执行第三查询以识别特定的密钥-值对,在所述特定的密钥-值对中,所述密钥对应于所述请求密钥;以及响应于所接收的值请求,由所述处理服务器的传送装置以电子方式传送至少叠加有在所识别的特定密钥-值对中所包含的所述值的数据信号。在一个实施例中,所述哈希算法可以使得每个生成的密钥相对于所有其他生成的密钥是唯一的。
计算机系统架构
图6示出了计算机系统600,其中本申请的实施例或其部分可以实现为计算机可读代码。例如,图1的处理服务器102可使用硬件、软件、固件、其上存储有指令的非暂时性计算机可读介质、或它们的组合来实施于计算机系统600中,并且可实施于一个或多个计算机系统或其它处理系统中。硬件、软件或其任何组合可以体现用于实现图3和图5的方法的模块和部件。
如果使用可编程逻辑,那么这种逻辑可在市售处理平台上执行,其中所述处理平台由可执行软件代码配置成变成专用计算机或专用装置(例如,可编程逻辑阵列、专用集成电路等)。本领域普通技术人员可以理解,所公开的主题的实施例可以用各种计算机系统配置来实施,包括多核多处理器系统、小型计算机、大型计算机、与分布式功能链接或群集的计算机、以及可以嵌入到几乎任何设备中的普适或微型计算机。例如,至少一个处理器装置和存储器可以用于实现上述实施例。
如本申请所讨论的处理器单元或装置可以是单个处理器、多个处理器或其组合。处理器装置可以具有一个或多个处理器“核”。如本文所讨论的术语“计算机程序介质”、“非暂时性计算机可读介质”和“计算机可用介质”通常用于指代诸如可移动存储单元618、可移动存储单元622和安装在硬盘驱动器612中的硬盘的有形介质。
利用该示例计算机系统600来描述本申请的各种实施例。在阅读本说明书之后,相关领域技术人员将明白如何使用其他计算机系统和/或计算机架构来实现本申请。虽然各个操作可以被描述为顺序进程,但是一些操作实际上可以并行地、同时地和/或在分布式环境中执行,并且利用本地或远程存储的由单个或多个处理器机器访问的程序代码。另外,在一些实施例中,可在不脱离所揭示主题的精神的情况下重新布置各个操作次序。
处理器装置604可以是专门配置成执行本申请所讨论功能的专用或通用处理器装置。处理器装置604可以连接到通信基础设施606,诸如总线、消息队列、网络、多核消息传递方案等。所述网络可以是适合于执行如本申请所公开的功能的任何网络,并且可以包括局域网(LAN)、广域网(WAN)、无线网络(例如,WiFi)、移动通信网络、卫星网络、因特网、光纤、同轴电缆、红外、射频(RF)或其任何组合。其它合适的网络类型和配置对于相关领域的技术人员将是显而易见的。计算机系统600还可以包括主存储器608(例如,随机存取存储器、只读存储器等),并且还可以包括辅助存储器610。辅助存储器610可以包括硬盘驱动器612和可移动存储驱动器614,诸如软盘驱动器、磁带驱动器、光盘驱动器、闪存等。
可移动存储驱动器614可以以众所周知的方式从可移动存储单元618读取和/或向其写入。可移动存储单元618可以包括可以由可移动存储驱动器614读取和写入的可移动存储介质。例如,如果可移动存储驱动器614是软盘驱动器或通用串行总线端口,则可移动存储单元618可以分别是软盘或便携式闪存驱动器。在一个实施例中,可移动存储单元618可以是非暂时性计算机可读的记录介质。
在一些实施例中,辅助存储器610可以包括用于允许计算机程序或其它指令被加载到计算机系统600中的替代装置,例如可移动存储单元622和接口620。这样的装置的示例可以包括程序盒和盒接口(例如,如视频游戏系统中存在的)、可移动存储器芯片(例如,EEPROM、PROM等)和相关联的插座,以及其他可移动存储单元622和接口620,它们对于相关领域的技术人员也将是显而易见的。
存储在计算机系统600中(例如,在主存储器608和/或辅助存储器610中)的数据可以存储在任何类型的合适的计算机可读介质上,诸如光存储器(例如,光盘、数字多功能盘、蓝光盘等)或磁带存储器(例如,硬盘驱动器)。所述数据可以被配置在任何类型的合适的数据库配置中,诸如关系数据库、结构化查询语言(SQL)数据库、分布式数据库、对象数据库等。合适的配置和存储类型对于相关领域的技术人员将是显而易见的。
计算机系统600还可以包括通信接口624。通信接口624可以被配置为允许软件和数据在计算机系统600和外部设备之间传送。示例性通信接口624可以包括调制解调器、网络接口(例如以太网卡)、通信端口、PCMCIA插槽和卡等。经由通信接口624传送的软件和数据可以是信号的形式,这些信号可以是电子的、电磁的、光学的或对于相关领域技术人员而言将显而易见的其他信号。所述信号可以经由通信路径626行进,通信路径626可以配置为传送所述信号并且可以使用电线、电缆、光纤、电话线、蜂窝电话链路、射频链路等来实现。
计算机系统600还可以包括显示器接口602。显示器接口602可以配置为允许在计算机系统600和外部显示器630之间传送数据。示例性显示接口602可以包括高清晰度多媒体接口(HDMI)、数字视频接口(DVI)、视频图形阵列(VGA)等。显示器630可以是用于显示经由计算机系统600的显示器接口602传送的数据的任何合适类型的显示器,包括阴极射线管(CRT)显示器,液晶显示器(LCD)、发光二极管(LED)显示器、电容式触摸显示器、薄膜晶体管(TFT)显示器等。
计算机程序介质和计算机可用介质可以指存储器,例如主存储器608和辅助存储器610,它们可以是半导体存储器(例如DRAM等)。这些计算机程序产品可以是用于向计算机系统600提供软件的装置。计算机程序(例如计算机控制逻辑)可以存储在主存储器608和/或辅助存储器610中。计算机程序也可以经由通信接口624接收。这样的计算机程序在被执行时可以使得计算机系统600能够实现如本申请所讨论的本方法。特别地,所述计算机程序在被执行时可以使得处理器装置604能够实现如本文所讨论的图3和图5所示的方法。因此,这样的计算机程序可以表示计算机系统600的控制器。在使用软件实现本申请的情况下,所述软件可以存储在计算机程序产品中并且使用可移动存储驱动器614、接口620和硬盘驱动器612或通信接口624加载到计算机系统600中。
处理器装置604可以包括被配置为执行计算机系统600的功能的一个或多个模块或引擎。所述模块或引擎中的每一个都可以使用硬件来实施,且在一些情况下还可利用软件,例如对应于存储在主存储器608或辅助存储器610中的程序代码和/或程序。在这样的情况下,程序代码可以在由计算机系统600的硬件执行之前由处理器装置604(例如,由编译模块或引擎)编译。例如,所述程序代码可以是以编程语言编写的源代码,其被翻译成低级语言,诸如汇编语言或机器语言,以供处理器装置604和/或计算机系统600的任何附加硬件部件执行。编译进程可包括使用词法分析、预处理、解析、语义分析、句法导向翻译、代码生成、代码优化、以及可适于将程序代码翻译成适合控制计算机系统600以执行本申请所公开的功能的低级语言的任何其他技术。相关领域的技术人员将明白,此类进程导致计算机系统600成为经过专门配置的计算机系统600,其被独特地编程以执行上文所讨论的功能。
除其他特征外,与本申请一致的技术提供了用于生成通用分布式数据存储的系统和方法。虽然上面已经描述了所公开的系统和方法的各种示例性实施例,但是应当理解,它们仅出于示例的目的呈现的,而不是限制的目的,不是穷尽的并且不将本申请限制到所公开的精确形式。在不脱离本发明的广度或范围的情况下,根据上述教导,修改和变化是可能的,或者可以从本发明的实践中获得修改和变化。
Claims (16)
1.一种用于生成通用分布式数据存储的方法,包括:
通过处理服务器的接收装置接收叠加有多个数据值的数据信号;
通过所述处理服务器的处理器执行的哈希模块对所述多个数据值中的每个数据值生成密钥,其中,各个密钥是通过对相关联数据值应用哈希算法生成的;
通过所述处理服务器的所述处理器执行的查询模块对所述处理服务器的密钥-值数据库执行第一查询,以将所述多个数据值中的每一个和关联的生成的密钥在所述处理服务器的所述数据库中存储为多个密钥-值对,其中,所生成的密钥是所述密钥-值对中的密钥,并且其中所述数据值是所述密钥-值对中的值;
通过所述处理服务器的所述接收装置接收叠加有多个附加密钥-值对的数据信号,其中所述多个附加密钥-值对中的每个值不包括在所述多个数据值中;和
通过所述处理服务器的所述查询模块对所述处理服务器的所述密钥-值数据库执行第二查询,以在所述处理服务器的所述数据库中存储所述多个附加密钥-值对中的每一个,
通过所述处理服务器的所述接收装置接收叠加有重哈希请求的数据信号,其中所述重哈希请求指示不同的哈希算法;
通过所述处理服务器的所述哈希模块为所述多个数据值中的每一个以及包括在所述多个附加密钥-值对中的每个值生成新密钥,其中所述新密钥是通过将所述不同的哈希算法应用到各数据值来生成的;
通过所述处理服务器的所述查询模块对所述处理服务器的所述数据库执行第三查询,以用生成的相应的新密钥替换所述多个密钥-值对以及多个附加密钥-值对中的每一对中的所述密钥,其中
所述多个附加密钥-值对中包含的每个密钥是通过对相关联的值应用所述哈希算法而生成的,并且不包含在针对所述多个数据值中的每个数据值而生成的密钥中;
所述方法还包括,由所述处理服务器的所述查询模块对所述处理服务器的所述数据库执行第三查询,以基于各个密钥对所述多个密钥-值对和多个附加密钥-值对进行排序。
2.如权利要求1所述的方法,其中,所述哈希算法是抗碰撞哈希算法。
3.如权利要求2所述的方法,其中,所述哈希算法是SHA-256算法。
4.如权利要求1所述的方法,其中,所述不同的哈希算法是抗碰撞哈希算法。
5.如权利要求4所述的方法,其中,所述哈希算法是SHA-256算法。
6.如权利要求1所述的方法,还包括:
通过所述处理服务器的所述查询模块对所述处理服务器的所述数据库执行第四查询,以基于生成的各个新密钥对所述多个密钥-值对和多个附加密钥-值对进行排序。
7.如权利要求1所述的方法,还包括:
通过所述处理服务器的所述接收装置接收叠加有值请求的数据信号,其中所述值请求至少包括请求密钥;
通过所述处理服务器的所述查询模块对所述处理服务器的所述数据库执行第三查询,以识别特定密钥-值对,在该特定密钥-值对中的密钥对应于所述请求密钥;和
响应于所接收的值请求,通过所述处理服务器的传送装置,以电子方式传送至少叠加有被包括在所识别的特定密钥-值对中的所述值的数据信号。
8.如权利要求1所述的方法,其中,所述哈希算法使得每个生成的密钥相对于所有其他生成的密钥是唯一的。
9.一种用于生成通用分布式数据存储的系统,包括:
处理服务器的数据库;
所述处理服务器的接收装置,其配置成接收叠加有多个数据值的数据信号;
通过所述处理服务器的处理器执行的哈希模块,其配置成对所述多个数据值中的每一个生成密钥,其中,各个密钥是通过对相关联的数据值应用哈希算法生成的;和
通过所述处理服务器的所述处理器执行的查询模块,其配置成对所述处理服务器的数据库执行第一查询,以将所述多个数据值中的每一个和相关联的生成的密钥存储为多个密钥-值对,其中,所生成的密钥是所述密钥-值对中的密钥,并且其中,所述数据值是所述密钥-值对中的值,其中
所述处理服务器的所述接收装置还配置成接收叠加有多个附加密钥-值对的数据信号,其中,所述多个附加密钥-值对中的每个值不包含在所述多个数据值中,
所述处理服务器的所述查询模块进一步配置成对所述处理服务器的所述数据库执行第二查询,以存储所述多个附加密钥-值对中的每一个,
所述处理服务器的所述接收装置还被配置为接收叠加有重哈希请求的数据信号,其中所述重哈希请求指示不同的哈希算法;
所述处理服务器的所述哈希模块还被配置为,为所述多个数据值中的每一个以及包括在所述多个附加密钥-值对中的每个值生成新密钥,其中所述新密钥是通过将所述不同的哈希算法应用到各数据值来生成的;
所述处理服务器的所述查询模块还被配置为对所述处理服务器的所述数据库执行第三查询,以用生成的相应的新密钥替换所述多个密钥-值对以及多个附加密钥-值对中的每一对中的所述密钥,并且
所述多个附加密钥-值对中包含的每个密钥是通过对所述相关联的值应用所述哈希算法而生成的,并且不包含在针对所述多个数据值中的每一个生成的密钥中;
其中,所述处理服务器的所述查询模块进一步配置成对所述处理服务器的所述数据库执行第三查询,以基于各个密钥对所述多个密钥-值对和多个附加密钥-值对进行排序。
10.如权利要求9所述的系统,其中,所述哈希算法是抗碰撞哈希算法。
11.如权利要求10所述的系统,其中,所述哈希算法是SHA-256算法。
12.如权利要求9所述的系统,其中,所述不同的哈希算法是抗碰撞哈希算法。
13.如权利要求12所述的系统,其中,所述哈希算法是SHA-256算法。
14.如权利要求9所述的系统,其中,所述处理服务器的所述查询模块进一步配置成对所述处理服务器的所述数据库执行第四查询,以基于生成的各个新密钥对所述多个密钥-值对和多个附加密钥-值对进行排序。
15.如权利要求9所述的系统,还包括:
所述处理服务器的传送装置,其中
所述处理服务器的所述接收装置进一步配置成接收叠加有值请求的数据信号,其中所述值请求至少包括请求密钥,
所述处理服务器的所述查询模块进一步配置成对所述处理服务器的所述数据库执行第三查询,以识别特定密钥-值对,在该特定密钥-值对中的密钥对应于所述请求密钥,和
所述处理服务器的所述传送装置配置成响应于所接收到的值请求,以电子方式传送至少叠加有所识别的特定密钥-值对中包含的值的数据信号。
16.如权利要求9所述的系统,其中,所述哈希算法使得每个生成的密钥相对于所有其他生成的密钥是唯一的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211135771.2A CN115455499A (zh) | 2016-05-05 | 2017-03-28 | 用于具有永久完整性保证的分布式数据存储的方法和系统 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/146,971 US11249970B2 (en) | 2016-05-05 | 2016-05-05 | Method and system for distributed data storage with eternal integrity guarantees |
US15/146,971 | 2016-05-05 | ||
PCT/US2017/024422 WO2017192219A1 (en) | 2016-05-05 | 2017-03-28 | Method and system for distributed data storage with eternal integrity guarantees |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211135771.2A Division CN115455499A (zh) | 2016-05-05 | 2017-03-28 | 用于具有永久完整性保证的分布式数据存储的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109074394A CN109074394A (zh) | 2018-12-21 |
CN109074394B true CN109074394B (zh) | 2022-10-11 |
Family
ID=58489442
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211135771.2A Pending CN115455499A (zh) | 2016-05-05 | 2017-03-28 | 用于具有永久完整性保证的分布式数据存储的方法和系统 |
CN201780026461.8A Active CN109074394B (zh) | 2016-05-05 | 2017-03-28 | 用于具有永久完整性保证的分布式数据存储的方法和系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211135771.2A Pending CN115455499A (zh) | 2016-05-05 | 2017-03-28 | 用于具有永久完整性保证的分布式数据存储的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11249970B2 (zh) |
EP (2) | EP3452920B1 (zh) |
CN (2) | CN115455499A (zh) |
SG (2) | SG10202106015UA (zh) |
WO (1) | WO2017192219A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11635908B2 (en) | 2017-06-22 | 2023-04-25 | Adobe Inc. | Managing digital assets stored as components and packaged files |
US10970302B2 (en) | 2017-06-22 | 2021-04-06 | Adobe Inc. | Component-based synchronization of digital assets |
CN113660336B (zh) * | 2018-03-30 | 2024-03-15 | 北京忆芯科技有限公司 | 利用kv存储设备的云计算与雾计算系统 |
US11487822B2 (en) * | 2018-06-13 | 2022-11-01 | International Business Machines Corporation | Facilitating spatial indexing on distributed key-value stores |
US11321012B2 (en) * | 2018-10-12 | 2022-05-03 | Adobe Inc. | Conflict resolution within synchronized composite-part-based digital assets |
CN110391906B (zh) * | 2019-07-25 | 2022-10-25 | 深圳壹账通智能科技有限公司 | 基于区块链的数据处理方法、电子装置及可读存储介质 |
CN112491857B (zh) * | 2020-11-20 | 2023-05-02 | 北京人大金仓信息技术股份有限公司 | 集合类型数据的传输方法、装置和设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1969501A (zh) * | 2004-04-30 | 2007-05-23 | 捷讯研究有限公司 | 安全地产生共享密钥的系统和方法 |
CN103109292A (zh) * | 2010-09-24 | 2013-05-15 | 日立数据系统有限公司 | 在容错数据库管理系统中聚集查询结果的系统和方法 |
CN103685162A (zh) * | 2012-09-05 | 2014-03-26 | 中国移动通信集团公司 | 文件存储和共享方法 |
US8826023B1 (en) * | 2006-06-30 | 2014-09-02 | Symantec Operating Corporation | System and method for securing access to hash-based storage systems |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1387292A1 (en) * | 2002-07-26 | 2004-02-04 | LION Bioscience AG | Method and apparatus for combining data of biological sequences into a non-redundant data source |
US7152942B2 (en) * | 2002-12-02 | 2006-12-26 | Silverbrook Research Pty Ltd | Fixative compensation |
US8499078B2 (en) * | 2003-12-24 | 2013-07-30 | Sap Aktiengesellschaft | Address generation in distributed systems using tree method |
US7370048B2 (en) * | 2005-05-27 | 2008-05-06 | International Business Machines Corporation | File storage method and apparatus |
US7840540B2 (en) | 2006-04-20 | 2010-11-23 | Datascout, Inc. | Surrogate hashing |
US7590672B2 (en) | 2006-12-11 | 2009-09-15 | Bycast Inc. | Identification of fixed content objects in a distributed fixed content storage system |
JP5200374B2 (ja) * | 2006-12-18 | 2013-06-05 | 富士ゼロックス株式会社 | 文書管理システム、文書処理クライアント装置及びプログラム |
US8655939B2 (en) * | 2007-01-05 | 2014-02-18 | Digital Doors, Inc. | Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor |
US8078646B2 (en) * | 2008-08-08 | 2011-12-13 | Oracle International Corporation | Representing and manipulating RDF data in a relational database management system |
TW201038036A (en) * | 2009-04-03 | 2010-10-16 | Ra Link Technology Corp | Method for generating hash keys and apparatus for using the same |
US8204865B2 (en) * | 2009-08-26 | 2012-06-19 | Oracle International Corporation | Logical conflict detection |
US8458144B2 (en) | 2009-10-22 | 2013-06-04 | Oracle America, Inc. | Data deduplication method using file system constructs |
US9246882B2 (en) * | 2011-08-30 | 2016-01-26 | Nokia Technologies Oy | Method and apparatus for providing a structured and partially regenerable identifier |
CN103975333B (zh) * | 2011-12-01 | 2016-10-12 | 国际商业机器公司 | 跨系统安全登录 |
US8868926B2 (en) * | 2012-04-06 | 2014-10-21 | Exablox Corporation | Cryptographic hash database |
US9368130B2 (en) * | 2012-07-16 | 2016-06-14 | Marvell International Ltd. | Data storage system, method of writing to storage in the data storage system, hard disk and method of forming the hard disk |
US8959067B1 (en) | 2012-08-08 | 2015-02-17 | Amazon Technologies, Inc. | Data storage inventory indexing |
US9069879B2 (en) | 2012-12-27 | 2015-06-30 | Dropbox, Inc. | Globally unique identifiers in an online content management system |
US9684672B2 (en) * | 2013-07-01 | 2017-06-20 | Empire Technology Development Llc | System and method for data storage |
IN2013MU02918A (zh) | 2013-09-10 | 2015-07-03 | Tata Consultancy Services Ltd | |
US9672216B2 (en) * | 2014-12-09 | 2017-06-06 | Dell International L.L.C. | Managing deduplication in a data storage system using a bloomier filter data dictionary |
US11030187B1 (en) * | 2016-05-18 | 2021-06-08 | Salesforce.Com, Inc. | Distributed database systems and structures |
-
2016
- 2016-05-05 US US15/146,971 patent/US11249970B2/en active Active
-
2017
- 2017-03-28 WO PCT/US2017/024422 patent/WO2017192219A1/en active Application Filing
- 2017-03-28 SG SG10202106015UA patent/SG10202106015UA/en unknown
- 2017-03-28 EP EP17715891.2A patent/EP3452920B1/en active Active
- 2017-03-28 SG SG11201808262PA patent/SG11201808262PA/en unknown
- 2017-03-28 CN CN202211135771.2A patent/CN115455499A/zh active Pending
- 2017-03-28 CN CN201780026461.8A patent/CN109074394B/zh active Active
- 2017-03-28 EP EP23194847.2A patent/EP4280081A1/en active Pending
-
2022
- 2022-01-19 US US17/579,017 patent/US20220138172A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1969501A (zh) * | 2004-04-30 | 2007-05-23 | 捷讯研究有限公司 | 安全地产生共享密钥的系统和方法 |
US8826023B1 (en) * | 2006-06-30 | 2014-09-02 | Symantec Operating Corporation | System and method for securing access to hash-based storage systems |
CN103109292A (zh) * | 2010-09-24 | 2013-05-15 | 日立数据系统有限公司 | 在容错数据库管理系统中聚集查询结果的系统和方法 |
CN103685162A (zh) * | 2012-09-05 | 2014-03-26 | 中国移动通信集团公司 | 文件存储和共享方法 |
Also Published As
Publication number | Publication date |
---|---|
SG10202106015UA (en) | 2021-07-29 |
EP3452920B1 (en) | 2023-09-06 |
CN109074394A (zh) | 2018-12-21 |
EP3452920A1 (en) | 2019-03-13 |
WO2017192219A1 (en) | 2017-11-09 |
US11249970B2 (en) | 2022-02-15 |
SG11201808262PA (en) | 2018-10-30 |
US20220138172A1 (en) | 2022-05-05 |
US20170322936A1 (en) | 2017-11-09 |
EP4280081A1 (en) | 2023-11-22 |
CN115455499A (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11811911B2 (en) | Method and system for partitioned blockchains and enhanced privacy for permissioned blockchains | |
JP7213310B2 (ja) | マシン可読コードを介したオフラインデータ転送のための方法及びシステム | |
CN109074394B (zh) | 用于具有永久完整性保证的分布式数据存储的方法和系统 | |
US11831782B2 (en) | Method and system for verification of identity attribute information | |
US10417188B2 (en) | Method and system for transferring trust across block chain segments | |
US20180349896A1 (en) | Method and system for anonymization of electronic transactions via blockchain | |
US11849025B2 (en) | Method and system for optimization of blockchain data storage | |
US20220311755A1 (en) | Method and system for general data protection compliance via blockchain | |
CN115298679A (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 |