CN107741947A - 基于hdfs文件系统的随机数密钥的存储与获取方法 - Google Patents

基于hdfs文件系统的随机数密钥的存储与获取方法 Download PDF

Info

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
Application number
CN201710760282.9A
Other languages
English (en)
Other versions
CN107741947B (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.)
Zhejiang Kyushu Quantum Information Technology Ltd By Share Ltd
Original Assignee
Zhejiang Kyushu Quantum Information Technology Ltd By Share 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 Zhejiang Kyushu Quantum Information Technology Ltd By Share Ltd filed Critical Zhejiang Kyushu Quantum Information Technology Ltd By Share Ltd
Priority to CN201710760282.9A priority Critical patent/CN107741947B/zh
Publication of CN107741947A publication Critical patent/CN107741947A/zh
Application granted granted Critical
Publication of CN107741947B publication Critical patent/CN107741947B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation 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文件系统的随机数密钥的存储与获取方法
技术领域
本发明涉及密钥存储技术领域,特别涉及一种基于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分布式文件系统中获取一个新的文件块到读取缓存模块中。
CN201710760282.9A 2017-08-30 2017-08-30 基于hdfs文件系统的随机数密钥的存储与获取方法 Active CN107741947B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 浙江神州量子网络科技有限公司 数字签名方法和系统以及量子密钥卡

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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