CN107741947A - 基于hdfs文件系统的随机数密钥的存储与获取方法 - Google Patents
基于hdfs文件系统的随机数密钥的存储与获取方法 Download PDFInfo
- Publication number
- CN107741947A CN107741947A CN201710760282.9A CN201710760282A CN107741947A CN 107741947 A CN107741947 A CN 107741947A CN 201710760282 A CN201710760282 A CN 201710760282A CN 107741947 A CN107741947 A CN 107741947A
- Authority
- CN
- China
- Prior art keywords
- random number
- cache module
- files
- blocks
- hdfs
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/134—Distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
一种基于HDFS文件系统的随机数密钥的存储与获取方法,包括随机数存储以及随机数获取,该方法通过将随机数序列分为小的文件块,并将该些文件块从写入缓存模块存入HDFS分布式文件系统以及通过读取缓存模块获取随机数序列,在写入缓存模块可实时的进行随机数序列补充,摒弃了对HDFS分布式文件系统进行频繁写入的方式,在整体的时域内提高了系统的存储能力,同时,外界获取随机数密钥只需从读取缓存模块中获取即可,从读取缓存模块获取密钥的响应时间极短,仅为HDFS分布式文件系统以及传统的数据库的百分之一至千分之一,很大程度上提高了密钥获取的效率。
Description
技术领域
本发明涉及密钥存储技术领域,特别涉及一种基于HDFS文件系统的随机数密钥的存储与获取方法。
背景技术
随着互联网的大范围普及,人类之间的信息传递达到了前所未有的数量和频率,各种隐私信息越来越多地暴露在互联网上,因此,人类对保密通信的需求也到了前所未有的高度,目前,数据信息采用随机数密钥加密是最常规保证通信安全的手段,所以对随机数密钥的需求量是很大的,在大量随机数密钥存储方面就存在着许多问题。一般而言,随机数密钥是被拆分成固定长度的大小,存储在传统数据库中,获取随机数密钥时,在传统数据库里获取指定个数的密钥。但这种存储方式存在的问题是:密钥的长度被固定,需要把整个固定长度的密钥获取完,才能补充新的随机数密钥,这样就导致了实时存储密钥的数量受到限制,无法存储TB级别的随机数密钥数量;另外,在密钥获取时直接从数据库获取,其获取的响应时间较慢。
发明内容
本发明目的在于提供一种基于HDFS文件系统的随机数密钥的存储与获取方法,以解决现有技术中密钥存储中的密钥的长度被固定,需要把整个固定长度的密钥获取完,才能补充新的随机数密钥,导致实时存储密钥的数量受到限制,无法存储TB级别的随机数密钥数量;以及在密钥获取时直接从数据库获取,其获取的响应时间较慢的技术性缺陷。
本发明的技术方案是这样实现的:
一种基于HDFS文件系统的随机数密钥的存储与获取方法,包括可产生随机数的随机数发生器、写入缓存模块、HDFS分布式文件系统、文件名索引数据库、读取缓存模块以及获取任意长度随机数节点,所述随机数发生器依次连接写入缓存模块、HDFS分布式文件系统、文件名索引数据库,所述文件名索引数据库分别连接写入缓存模块与读取缓存模块,所述获取随机数节点连接读取缓存模块,所述存储与分发包括以下步骤:
随机数存储
a)随机数发生器产生随机数,该些随机数写入到固定大小的写入缓存模块中;
b)当写入的随机数到达一定的阈值M大小时,写入到HDFS文件系统并以文件块的形式进行存储;
c)对写入随机数的文件块进行保存,同时将该文件块对应的文件名保存在文件名索引数据库中;
获取随机数
d)获取随机数节点从读取缓存模块中获取指定长度的随机数;
e)如果读取缓存模块为空或者长度小于一定阈值M,则从文件名索引数据库中选出一条,根据对应文件名,从HDFS分布式文件系统中读出一个文件块到读取缓存模块中;
f)在读取缓存模块设置有一个指针,每次要获取多少长度的密钥,就将该指针移动相应位数;
g)读取缓存模块大小为可容纳若干文件块,文件块之间设置有临界区,当指针移动跨越N个文件块的临界区时,就证明N个文件块中的所有密钥已经被获取完,则在文件名索引数据库中删除该N个文件块的文件名记录,并从文件名索引数据库中取出一条文件记录,从HDFS分布式文件系统中获取一个新的文件块到读取缓存模块中;
h)HDFS分布式文件系统中被读取出的文件块位置通过写入缓存模块内的随机数补充,进而写入缓存模块内的空余位置通过随机数发生器产生随机数补充。
优选地,所述获取随机数节点每次要获取的随机数小于或等于N个文件块内所存储的随机数。
优选地,所述读取缓存模块大小只容纳两个文件块,当指针移动跨越两个文件块的临界区时,就证明一个文件块中的所有随机数已经被获取完。
优选地,步骤g)中,若指针移动没有跨越文件块的临界区时,就证明一个文件块中的密钥没被获取完,则不需要从HDFS分布式文件系统中获取一个新的文件块到读取缓存模块中。
与现有技术相比,本发明有以下有益效果:
本发明的基于HDFS文件系统的随机数密钥的存储与获取方法,通过将随机数序列分为小的文件块,并将该些文件块从写入缓存模块存入HDFS分布式文件系统以及通过读取缓存模块获取随机数序列,在写入缓存模块可实时的进行随机数序列补充,摒弃了对HDFS分布式文件系统进行频繁写入的方式,在整体的时域内提高了系统的存储能力,同时,外界获取随机数密钥只需从读取缓存模块中获取即可,从读取缓存模块获取密钥的响应时间极短,仅为HDFS分布式文件系统以及传统的数据库的百分之一至千分之一,很大程度上提高了密钥获取的效率。
附图说明
图1为本发明基于HDFS文件系统的随机数密钥的存储与获取方法的原理图。
图中:随机数发生器100、写入缓存模块200、HDFS分布式文件系统300、文件名索引数据库400、读取缓存模块500、获取任意长度随机数节点600。
具体实施方式
下面将结合本发明实施例中的附图,对本发明进行清楚、完整地描述。
如图1所示,一种基于HDFS文件系统的随机数密钥的存储与获取方法,包括可产生随机数的随机数发生器100、写入缓存模块200、HDFS分布式文件系统300、文件名索引数据库400、读取缓存模块500以及获取任意长度随机数节点600,所述随机数发生器100依次连接写入缓存模块200、HDFS分布式文件系统300、文件名索引数据库400,所述文件名索引数据库400分别连接写入缓存模块200与读取缓存模块500,所述获取随机数节点600连接读取缓存模块500,其中,运行在HDFS分布式文件系统300上的应用具有很大的数据集,系统上的一个典型文件大小一般都在G字节至T字节。因此,HDFS被调节以支持大文件存储。它应该能提供整体上高的数据传输带宽,能在一个集群里扩展到数百个节点来支持文件块。一个单一的HDFS实例能支撑数以千万计的文件块。所述存储与分发包括以下步骤:
随机数存储
a)随机数发生器产生随机数,该些随机数写入到固定大小的写入缓存模块中;
b)当写入的随机数到达一定的阈值M大小时,写入到HDFS文件系统并以文件块的形式进行存储,该些文件块的大小一般需要由获取随机数节点决定,需要获取的随机数密钥长度一般要小于一至两个文件块的大小;
c)对写入随机数的文件块进行保存,同时将该文件块对应的文件名保存在文件名索引数据库中,随机数密钥采用文件块的形式存储在HDFS文件系统中,可有效的降低了文件名字节数,为文件名索引数据库节省了大量的存储空间;
获取随机数
d)获取随机数节点从读取缓存模块中获取指定长度的随机数;
e)如果读取缓存模块为空或者长度小于一定阈值M,则从文件名索引数据库中选出一条,根据对应文件名,从HDFS分布式文件系统中读出一个文件块到读取缓存模块中,读取缓存模块可实时的补充内部的随机数密钥,其补充随机数密钥所需的响应时间不影响获取随机数节点从读取缓存模块获取密钥的时间;
f)在读取缓存模块设置有一个指针,每次要获取多少长度的密钥,就将该指针移动相应位数,该指针起到了书签的作用;
g)读取缓存模块大小为可容纳若干文件块,文件块之间设置有临界区,当指针移动跨越N个文件块的临界区时,就证明N个文件块中的所有密钥已经被获取完,则在文件名索引数据库中删除该N个文件块的文件名记录,并从文件名索引数据库中取出一条文件记录,从HDFS分布式文件系统中获取一个新的文件块到读取缓存模块中;
h)HDFS分布式文件系统中被读取出的文件块位置通过写入缓存模块内的随机数补充,进而写入缓存模块内的空余位置通过随机数发生器产生随机数补充。
所述获取随机数节点每次要获取的随机数小于或等于N个文件块内所存储的随机数,保证了获取随机数节点能一次性获取足够多的随机数密钥,避免了多次获取影响效率。
所述读取缓存模块大小只容纳两个文件块,当指针移动跨越两个文件块的临界区时,就证明一个文件块中的所有随机数已经被获取完。
步骤g)中,若指针移动没有跨越文件块的临界区时,就证明一个文件块中的密钥没被获取完,则不需要从HDFS分布式文件系统中获取一个新的文件块到读取缓存模块中。
综合本发明的原理可知,本发明的基于HDFS文件系统的随机数密钥的存储与获取方法,通过将随机数序列分为小的文件块,并将该些文件块从写入缓存模块存入HDFS分布式文件系统以及通过读取缓存模块获取随机数序列,在写入缓存模块可实时的进行随机数序列补充,摒弃了对HDFS分布式文件系统进行频繁写入的方式,在整体的时域内提高了系统的存储能力,同时,外界获取随机数密钥只需从读取缓存模块中获取即可,从读取缓存模块获取密钥的响应时间极短,仅为HDFS分布式文件系统以及传统的数据库的百分之一至千分之一,很大程度上提高了密钥获取的效率。
Claims (4)
1.一种基于HDFS文件系统的随机数密钥的存储与获取方法,其特征在于,包括可产生随机数的随机数发生器、写入缓存模块、HDFS分布式文件系统、文件名索引数据库、读取缓存模块以及获取任意长度随机数节点,所述随机数发生器依次连接写入缓存模块、HDFS分布式文件系统、文件名索引数据库,所述文件名索引数据库分别连接写入缓存模块与读取缓存模块,所述获取随机数节点连接读取缓存模块,所述存储与分发包括以下步骤:
随机数存储
a)随机数发生器产生随机数,该些随机数写入到固定大小的写入缓存模块中;
b)当写入的随机数到达一定的阈值M大小时,写入到HDFS文件系统并以文件块的形式进行存储;
c)对写入随机数的文件块进行保存,同时将该文件块对应的文件名保存在文件名索引数据库中;
获取随机数
d)获取随机数节点从读取缓存模块中获取指定长度的随机数;
e)如果读取缓存模块为空或者长度小于一定阈值M,则从文件名索引数据库中选出一条,根据对应文件名,从HDFS分布式文件系统中读出一个文件块到读取缓存模块中;
f)在读取缓存模块设置有一个指针,每次要获取多少长度的密钥,就将该指针移动相应位数;
g)读取缓存模块大小为可容纳若干文件块,文件块之间设置有临界区,当指针移动跨越N个文件块的临界区时,就证明N个文件块中的所有密钥已经被获取完,则在文件名索引数据库中删除该N个文件块的文件名记录,并从文件名索引数据库中取出一条文件记录,从HDFS分布式文件系统中获取该文件块到读取缓存模块中;
h)HDFS分布式文件系统中被读取出的文件块位置通过写入缓存模块内的随机数补充,进而写入缓存模块内的空余位置通过随机数发生器产生随机数补充。
2.如权利要求1所述的基于HDFS文件系统的随机数密钥的存储与获取方法,其特征在于,所述获取随机数节点每次要获取的随机数小于或等于N个文件块内所存储的随机数。
3.如权利要求2所述的基于HDFS文件系统的随机数密钥的存储与获取方法,其特征在于,所述读取缓存模块大小只容纳两个文件块,当指针移动跨越两个文件块的临界区时,就证明一个文件块中的所有随机数已经被获取完。
4.如权利要求3所述的基于HDFS文件系统的随机数密钥的存储与获取方法,其特征在于,步骤g)中,若指针移动没有跨越文件块的临界区时,就证明一个文件块中的密钥没被获取完,则不需要从HDFS分布式文件系统中获取一个新的文件块到读取缓存模块中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710760282.9A CN107741947B (zh) | 2017-08-30 | 2017-08-30 | 基于hdfs文件系统的随机数密钥的存储与获取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710760282.9A CN107741947B (zh) | 2017-08-30 | 2017-08-30 | 基于hdfs文件系统的随机数密钥的存储与获取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107741947A true CN107741947A (zh) | 2018-02-27 |
CN107741947B CN107741947B (zh) | 2020-04-24 |
Family
ID=61235762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710760282.9A Active CN107741947B (zh) | 2017-08-30 | 2017-08-30 | 基于hdfs文件系统的随机数密钥的存储与获取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107741947B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108932287A (zh) * | 2018-05-22 | 2018-12-04 | 广东技术师范学院 | 一种基于Hadoop的海量小文件写入方法 |
CN108958666A (zh) * | 2018-07-26 | 2018-12-07 | 浪潮电子信息产业股份有限公司 | 一种数据处理方法及主控芯片 |
CN110781140A (zh) * | 2019-09-06 | 2020-02-11 | 平安科技(深圳)有限公司 | 区块链中数据签名的方法、装置、计算机设备及存储介质 |
CN112559445A (zh) * | 2020-12-11 | 2021-03-26 | 上海哔哩哔哩科技有限公司 | 数据写入方法及装置 |
CN114745118A (zh) * | 2022-05-26 | 2022-07-12 | 北京金橙子科技股份有限公司 | 一种基于哈希表索引的密钥查找方法和计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515851A (zh) * | 2001-10-09 | 2009-08-26 | 高通股份有限公司 | 用于数据处理系统内安全性的方法和装置 |
CN103731261A (zh) * | 2014-01-09 | 2014-04-16 | 西安电子科技大学 | 加密重复数据删除场景下的密钥分发方法 |
US20140188964A1 (en) * | 2012-12-28 | 2014-07-03 | Edward G. Weaver, Jr. | Instruction And Logic For Mid-Level Caching of Random Numbers Distributed to Multiple Computing Units |
US9160533B2 (en) * | 2013-03-05 | 2015-10-13 | International Business Machines Corporation | Random number generation |
US9483494B1 (en) * | 2013-03-14 | 2016-11-01 | Emc Corporation | Opportunistic fragmentation repair |
CN106357396A (zh) * | 2016-09-23 | 2017-01-25 | 浙江神州量子网络科技有限公司 | 数字签名方法和系统以及量子密钥卡 |
-
2017
- 2017-08-30 CN CN201710760282.9A patent/CN107741947B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515851A (zh) * | 2001-10-09 | 2009-08-26 | 高通股份有限公司 | 用于数据处理系统内安全性的方法和装置 |
US20140188964A1 (en) * | 2012-12-28 | 2014-07-03 | Edward G. Weaver, Jr. | Instruction And Logic For Mid-Level Caching of Random Numbers Distributed to Multiple Computing Units |
US9160533B2 (en) * | 2013-03-05 | 2015-10-13 | International Business Machines Corporation | Random number generation |
US9483494B1 (en) * | 2013-03-14 | 2016-11-01 | Emc Corporation | Opportunistic fragmentation repair |
CN103731261A (zh) * | 2014-01-09 | 2014-04-16 | 西安电子科技大学 | 加密重复数据删除场景下的密钥分发方法 |
CN106357396A (zh) * | 2016-09-23 | 2017-01-25 | 浙江神州量子网络科技有限公司 | 数字签名方法和系统以及量子密钥卡 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108932287A (zh) * | 2018-05-22 | 2018-12-04 | 广东技术师范学院 | 一种基于Hadoop的海量小文件写入方法 |
CN108958666A (zh) * | 2018-07-26 | 2018-12-07 | 浪潮电子信息产业股份有限公司 | 一种数据处理方法及主控芯片 |
CN110781140A (zh) * | 2019-09-06 | 2020-02-11 | 平安科技(深圳)有限公司 | 区块链中数据签名的方法、装置、计算机设备及存储介质 |
CN110781140B (zh) * | 2019-09-06 | 2023-08-18 | 平安科技(深圳)有限公司 | 区块链中数据签名的方法、装置、计算机设备及存储介质 |
CN112559445A (zh) * | 2020-12-11 | 2021-03-26 | 上海哔哩哔哩科技有限公司 | 数据写入方法及装置 |
CN112559445B (zh) * | 2020-12-11 | 2022-12-27 | 上海哔哩哔哩科技有限公司 | 数据写入方法及装置 |
CN114745118A (zh) * | 2022-05-26 | 2022-07-12 | 北京金橙子科技股份有限公司 | 一种基于哈希表索引的密钥查找方法和计算机可读存储介质 |
CN114745118B (zh) * | 2022-05-26 | 2024-07-02 | 北京金橙子科技股份有限公司 | 一种基于哈希表索引的密钥查找方法和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107741947B (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107741947A (zh) | 基于hdfs文件系统的随机数密钥的存储与获取方法 | |
CN107423422B (zh) | 基于网格的空间数据分布式存储及检索方法和系统 | |
CN103092775B (zh) | 一种基于键值结构的空间数据双缓存方法及机制 | |
CN101533408B (zh) | 一种海量数据的处理方法及处理装置 | |
CN103488709B (zh) | 一种索引建立方法及系统、检索方法及系统 | |
CN106570018B (zh) | 序列化与反序列化的方法、装置、系统以及电子设备 | |
CN109085997A (zh) | 用于非易失性存储器的存储器高效持续键值储存 | |
CN105117417A (zh) | 一种读优化的内存数据库Trie树索引方法 | |
CN107357843B (zh) | 基于数据流结构的海量网络数据查找方法 | |
CN102902724B (zh) | 海量栅格瓦块地图发布方法 | |
CN103914483B (zh) | 文件存储方法、装置及文件读取方法、装置 | |
CN104850572A (zh) | HBase非主键索引构建与查询方法及其系统 | |
CN103595797B (zh) | 一种分布式存储系统中的缓存方法 | |
CN102890722A (zh) | 应用于时序历史数据库的索引方法 | |
CN104408111A (zh) | 一种删除重复数据的方法及装置 | |
CN103744913A (zh) | 一种基于搜索引擎技术的数据库检索方法 | |
CN102411632B (zh) | 基于链表的内存数据库页式存储方法 | |
CN103207889A (zh) | 一种基于Hadoop的海量人脸图像的检索方法 | |
CN104298697A (zh) | 一种fat32格式的数据文件管理系统 | |
CN104008134A (zh) | 基于HBase的高效存储方法及系统 | |
CN106354890A (zh) | 一种基于N‑ary树结构的随机访问的文件系统的实现方法 | |
CN103473258A (zh) | 云存储文件系统 | |
Changtong | An improved HDFS for small file | |
CN107066503A (zh) | 海量元数据分片分布的方法及装置 | |
CN106776795A (zh) | 基于Hbase数据库的数据写入方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB03 | Change of inventor or designer information |
Inventor after: Zhao Yiming Inventor after: Cao Wenzhao Inventor after: Jiang Haitao Inventor after: Zhao Yibo Inventor before: Zhao Yiming Inventor before: Cao Wenzhao Inventor before: Zhao Yibo |
|
CB03 | Change of inventor or designer information | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |