CN111399770B - 数据存储方式转换方法、装置及存储介质 - Google Patents
数据存储方式转换方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111399770B CN111399770B CN202010119660.7A CN202010119660A CN111399770B CN 111399770 B CN111399770 B CN 111399770B CN 202010119660 A CN202010119660 A CN 202010119660A CN 111399770 B CN111399770 B CN 111399770B
- Authority
- CN
- China
- Prior art keywords
- storage
- bit
- value
- encryption
- data
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/602—Providing cryptographic facilities or services
-
- 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/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据存储方式转换方法、装置及存储介质。其中方法包括:S110:服务端将卷以设定容量为单位分段,采用bitmap表的每一位的位值标记所述卷的每个段的偏移位置存储方式是否为加密;S120:所述服务端接收客户端的进行加密存储与非加密存储之间的转换请求;S130:所述服务端依次对所述bitmap表的每一位值进行检测,并根据所述转换请求,对所述bitmap表每一位对应的偏移位置的存储方式进行转换。本发明实现了存储系统能够在服务的过程中加密与非加密转换,并具有通用性。
Description
技术领域
本发明涉及计算机存储技术领域,更为具体地,涉及一种数据存储方式转换方法、装置及存储介质。
背景技术
云盘是一种专业的互联网存储工具,是互联网云技术的产物,它通过互联网为企业和个人提供信息的储存、读取、下载等服务,具有安全稳定、海量存储的特点。用户在使用各种云盘的过程中,对于一些敏感性的数据,如:涉及隐私的照片、企业敏感数据等,考虑安全性要求,需要加密上传到云盘保存,对于电影、软件、普通文档/照片等就不需要加密上传到云盘保存。
虚拟化场景下的云盘实现方式多种多样,部分通过分布式存储系统实现,部分通过本地磁盘实现。当虚拟机云盘有需求提供加密服务时,会面临以下问题:
1、存储系统创建时就设置了加密存储,不可更改。
2、且对于本地磁盘创建的云盘,都不支持加密存储。
3、不同存储系统,实现加密和非加密存储转换方式的通用性差。
4、不能在存储系统服务的过程中进行数据存储方式的转化。
发明内容
鉴于上述问题,本发明的目的是提供一种数据存储方式转换方法、装置及存储介质。能够实现存储系统在服务的过程中加密与非加密转换,并具有通用性。
根据本发明的一个方面,提供了一种数据存储方式转换方法,包括以下步骤:
S110:服务端将卷以设定容量为单位分段,采用bitmap表的每一位的位值标记所述卷的每个段的偏移位置存储方式是否为加密;
S120:所述服务端接收客户端的进行加密存储与非加密存储之间的转换请求;
S130:所述服务端依次对所述bitmap表的每一位值进行检测,并根据所述转换请求,对所述bitmap表每一位对应的偏移位置的存储方式进行转换,若所述转换请求是加密存储转换为非加密存储,则对所述采用bitmap表中位值标记为加密的偏移位置的存储方式,进行加密存储到非加密存储的转换;
若所述转换请求是非加密存储转换为加密存储,则对所述采用bitmap表中位值标记为非加密的偏移位置的存储方式,进行非加密存储到加密存储的转换。
进一步,在S110中,所述采用bitmap表的每一位的位值标记所述卷的每个段的偏移位置存储方式是否为加密,包括:若所述位值为第一位值,则对应的偏移位置的存储方式为加密;若所述位值为第二位值,则对应的偏移位置的存储方式为非加密;所述第一位值与所述第二位值为不同的位值。
若所述卷的存储方式为加密存储,所述服务端则设置所述bitmap表的位值均为第一位值,所述服务端将所述客户端发送的数据加密写入所述卷;
若所述卷的存储方式为非加密存储,所述服务端则设置所述bitmap表的位值均为第二位值,所述服务端将所述客户端发送的数据直接写入所述卷;
若所述卷正在加密存储与非加密存储之间的转换过程中,则所述bitmap表的位值部分为第一位值部分为第二位值,则所述服务端等待转换完毕后将所述客户端发送的数据按照转换后的存储方式写入所述卷。
进一步,在S120中,还包括:所述服务端设置所述转换请求的标记值,所述标记值是所述卷进行加密存储与非加密存储的转换标志,若所述转换请求是加密存储转换为非加密存储,则所述标记值设置为第一预设值,与所述转换请求对应的卷记录所述第一预设值;若所述转换请求是非加密存储转换为加密存储,则所述标记值设置为第二预设值,与所述转换请求对应的卷记录所述第二预设值;所述第一预设值与所述第二预设值为不同的值。
所述服务端根据所述标记值,对所述bitmap表每一位对应的偏移位置的存储方式进行转换,
若所述标记值为第一预设值,所述服务端依次读取所述bitmap表的每一位的位值,判断所述读取位的位值是否为第一位值;
若为第一位值,则读出所述位对应的偏移位置的数据,解密后覆盖原位置数据,并将所述位的位值设置为第二位值,完成所述位对应的偏移位置加密存储转换为非加密存储,
若所述标记值为第二预设值,所述服务端依次读取所述bitmap表的每一位的位值,判断所述读取位的位值是否为第二位值;
若为第二位值,则读出所述位对应的偏移位置的数据,加密后覆盖原位置数据,并将所述位的位值设置为第一位值,完成所述位对应的偏移位置非加密存储转换为加密存储。
进一步,在读出所述位对应的偏移位置的数据,解密后覆盖原位置数据的过程中,所述服务端调取内存中的密钥信息,对读出的所述位对应的偏移位置的数据进行解密;
在读出所述位对应的偏移位置的数据,加密后覆盖原位置数据的过程中,所述服务端调取内存中的密钥信息,对读出的所述位对应的偏移位置的数据进行加密。
进一步,在所述服务端设置有互斥锁机制,当有数据要写入偏移位置时,检测所述偏移位置的转换请求线程是否执行完毕,若执行完毕则将所述数据写入所述偏移位置,否则等待所述偏移位置的转换请求线程执行完毕后将所述数据写入所述偏移位置。
根据本发明的另一方面,提供了一种数据存储方式转换系统,包括:
存储方式标记单元,用于服务端将卷以设定容量为单位分段,采用bitmap表的每一位的位值标记所述卷的每个段的偏移位置存储方式是否为加密;
转换请求接收单元,用于所述服务端接收客户端的进行加密存储与非加密存储之间的转换请求;
存储方式转换单元,用于所述服务端依次对所述bitmap表的每一位值进行检测,并根据所述转换请求,对所述bitmap表每一位对应的偏移位置的存储方式进行转换,
若所述转换请求是加密存储转换为非加密存储,则对所述采用bitmap表中位值标记为加密的偏移位置的存储方式,进行加密存储到非加密存储的转换;
若所述转换请求是非加密存储转换为加密存储,则对所述采用bitmap表中位值标记为非加密的偏移位置的存储方式,进行非加密存储到加密存储的转换。
根据本发明的另一方面,提供了一种电子装置,包括:存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据存储方式转换方法的步骤。
根据本发明的另一方面,提供了一种计算机可读存储介质,包括:所述计算机可读存储介质中存储有数据存储方式转换程序,所述数据存储方式转换程序被处理器执行时,实现上述的数据存储方式转换方法的步骤。
利用上述根据本发明的数据存储方式转换方法、装置及存储介质,在qemu(虚拟操作系统模拟器)和存储系统之间提供一个服务端,服务端以每个卷的大小分成以设定容量为单位的段,每个段对应的偏移位置采用bitmap(位图)表的位值来标记存储系统的加密存储区域和非加密存储区域,如果非加密存储向加密存储转换时,对标记为非加密的区域进行转换,如果加密存储向非加密存储转换时,对标记为加密的区域进行转换。实现每个卷的存储区域可按用户需求实现加密与非加密之间的转换。由于该方法采用以卷的大小生成以设定容量为单位的段,bitmap表来标记存储系统的加密存储区域和非加密存储区域,所以可以适用于多种存储系统加密和非加密之间的转换。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
附图说明
通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
图1为根据本发明实施例1的数据存储方式转换方法的流程图;
图2为根据本发明实施例2的数据存储方式转换系统的逻辑结构示意图;
图3为根据本发明实施例3的电子装置的逻辑结构示意图。
在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施方式
在下面的描述中,出于说明的目的,为了提供对一个或多个实施例的全面理解,阐述了许多具体细节。然而,很明显,也可以在没有这些具体细节的情况下实现这些实施例。在其它例子中,为了便于描述一个或多个实施例,公知的结构和设备以方框图的形式示出。
名词解释:存储系统的存储空间分为若干逻辑磁盘,逻辑磁盘通常称之为卷。
偏移位置为卷分段后,在段内某一地址相对于段首地址的偏移量。
以下将结合附图对本发明的具体实施例进行详细描述。
实施例1
图1示出了根据本发明实施例1的数据存储方式转换方法的流程图。
如图1所示,本实施例提供的数据存储方式转换方法,包括如下步骤:
S110:分别建立服务端和客户端,服务端将卷以设定容量为单位分段,采用bitmap表的每一位的位值标记卷的每个段的偏移位置存储方式是否为加密。
S120:服务端接收客户端的进行加密存储与非加密存储之间的转换请求。
S130:服务端依次对bitmap表的每一位值进行检测,并根据转换请求,对bitmap表每一位对应的偏移位置的存储方式进行操作,
若转换请求是加密存储转换为非加密存储,则对采用bitmap表中位值标记为加密的偏移位置的存储方式,进行加密存储到非加密存储的转换;
若转换请求是非加密存储转换为加密存储,则对采用bitmap表中位值标记为非加密的偏移位置的存储方式,进行非加密存储到加密存储的转换。
在步骤S110中:
服务端将卷以设定容量为单位分段,具体为:各种存储系统的存储空间都可分为若干逻辑磁盘,一个逻辑磁盘通常称之为一个卷。所以将卷的存储空间,以设定容量为单位来分段,适用于各种存储系统。其中,每个段的大小等于设定容量,设定容量可根据卷存储空间的大小而定,卷存储空间的大小=设定容量×bitmap位数。
一个bitmap表对应一个卷,bitmap表从头到尾的每一位依次对应一个卷从头到尾分段得到的每一个偏移位置。
采用bitmap表的每一位的位值标记一个卷的每个段的偏移位置存储方式是否为加密,具体为:bitmap表的每一位的值分别用于标记组成卷的每个段(即每个段的存储空间)内存储方式是否为加密存储。若位值为第一位值,则对应的偏移位置的存储方式为加密;若位值为第二位值,则对应的偏移位置的存储方式为非加密;第一位值与所述第二位值为不同的位值。
bitmap表的每一位的位值或是0或者是1。本实施例中第一位值可设置为1,第二位值可设置为0。这样bitmap表中位值为1的位,对应的偏移位置的存储方式为加密,bitmap表中位值为0的位,对应的偏移位置的存储方式为非加密。
若一个卷的存储方式为加密存储,服务端则设置bitmap表的位值均为1,服务端将客户端发送的数据加密写入卷;因为一个卷的存储方式为加密存储,那么卷中的所有段对应的偏移位置的存储方式均是加密存储,所以bitmap表中对应的位值均为1。
若一个卷的存储方式为非加密存储,服务端则设置bitmap表的位值均为0,服务端将客户端发送的数据直接写入卷;因为一个卷的存储方式为非加密存储,那么卷中的所有段对应的偏移位置的存储方式均是非加密存储,所以bitmap表中对应的位值均为0。
若一个卷正在的加密存储与非加密存储之间的转换过程中,则bitmap表的位值部分为0部分为1,服务端等待转换完毕后将客户端发送的数据按照转换后的存储方式写入卷。因为在转换过程中,一个卷中的所有段对应的偏移位置的存储方式是不同的,所以bitmap表中对应的位值部分为0部分为1。
客户端可在虚拟机中建立,客户端对接API(Application Program Interface,应用程序接口),用于接收进行加密存储与非加密存储之间的转换请求,并发送给服务端。还可接收客户的读写请求和所写数据,并将读写请求和所写数据传递到服务端。
在步骤S120中:
服务端接收客户端的进行加密存储与非加密存储之间的转换请求,可为:服务端根据转换请求,设置转换请求的标记值,标记值是指卷进行加密存储与非加密存储的转换标志,若转换请求为加密存储转换为非加密存储,则标记值设置为第一预设值,若转换请求为非加密存储转换为加密存储,则标记值设置为第二预设值。第一预设值与所述第二预设值为不同的值。第一预设值可设置为1,1表示转换请求为加密存储转换为非加密存储;第二预设值可设置为2,2转换请求为非加密存储转换为加密存储。
其中,标记值是加密存储与非加密存储之间的转换标志,标记值的初始值可设置为0。若转换请求为加密存储转换为非加密存储,服务端设置标记值为1,与转换请求对应的卷记录标记值1;若转换请求为非加密存储转换为加密存储,服务端设置标记值为2,与转换请求对应的卷记录标记值2。
服务端根据标记值与bitmap表每一位对应的位值,对偏移位置的存储方式进行转换。
若标记值为1时,对bitmap表中位值为1的偏移位置的存储方式,进行加密存储到非加密存储的转换。
若标记值为2时,对bitmap表中位值为0的偏移位置的存储方式,进行非加密存储到加密存储的转换。
服务端接收客户端的进行加密存储与非加密存储之间的转换请求中,还可设置第一预设值为un-encrypt,表示转换请求为加密存储转换为非加密存储;可设置第二预设值为encrypt,encrypt转换请求为非加密存储转换为加密存储。标记值的初始值可设置为0。若转换请求为加密存储转换为非加密存储,服务端设置标记值为un-encrypt,与转换请求对应的卷记录标记值un-encrypt;若转换请求为非加密存储转换为加密存储,服务端设置标记值为encrypt,与转换请求对应的卷记录标记值encrypt。
服务端根据标记值与bitmap表每一位对应的位值,对偏移位置的存储方式进行转换。
若标记值为un-encrypt时,对bitmap表中位值为1的偏移位置的存储方式,进行加密存储到非加密存储的转换。
若标记值为encrypt时,对bitmap表中位值为0的偏移位置的存储方式,进行非加密存储到加密存储的转换。
在步骤S130中:
若转换请求是加密存储转换为非加密存储,则对采用bitmap表中位值标记为加密的偏移位置的存储方式,进行加密存储到非加密存储的转换,过程具体包括:服务端可根据标记值,对bitmap表每一位对应的偏移位置的存储方式进行操作,若标记值为第一预设值时,位值为1的偏移位置的数据依次读出到服务端,分别解密后覆盖原位置数据,同时设置bitmap表中转换后的位值为0,实现了bitmap表对应偏移位置存储方式加密存储到非加密存储的转换;
若转换请求是非加密存储转换为加密存储,则对采用bitmap表中位值标记为非加密的偏移位置的存储方式,进行非加密存储到加密存储的转换,过程具体包括:服务端可根据标记值,对bitmap表每一位对应的偏移位置的存储方式进行操作,若标记值为第二预设值时,位值为0的偏移位置的数据依次读出到服务端,分别加密后覆盖原位置数据,同时设置bitmap表中转换后的位值为1,实现了bitmap表对应偏移位置存储方式非加密存储到加密存储的转换。
服务端可根据标记值,对bitmap表每一位对应的偏移位置的存储方式进行操作,具体过程包括:若标记值为1时,表示转换请求为加密存储转换为非加密存储,服务端依次读取bitmap表的每一位的位值时,判断读取的位值是否为1;若为1,则读出该位对应的偏移位置的数据,解密后再覆盖原位置数据,并将该位的位值设置为0,完成该位对应的偏移位置存储方式从加密存储转换为非加密存储;若不为1,则说明该位对应的偏移位值的存储方式已为非加密存储,不进行操作;
若标记值为2时,表示转换请求为非加密存储转换为加密存储,服务端依次读取bitmap表的每一位的位值时,判断读取的位值是否为0;若为0,则读出该位对应的偏移位置的数据,加密后覆盖原位置数据,并将该位的位值设置为1,完成该位对应的偏移位置的存储方式从非加密存储转换为加密存储;若不为0,则说明该位对应的偏移位值的存储方式已为加密存储,不进行操作。
读出该位对应的偏移位置的数据,解密后再覆盖原位置数据,具体过程包括:服务端调取内存中的密钥信息,对读出的该位对应的偏移位置的数据进行解密;解密后再写入原位置,覆盖原位置数据。
读出该位对应的偏移位置的数据,加密后覆盖原位置数据,具体过程包括:服务端调取内存中的密钥信息,对读出的该位对应的偏移位置的数据进行加密;加密后再写入原位置,覆盖原位置数据。
本发明中的密钥信息可为对称密钥。可采用加密方式可为AES(AdvancedEncryption Standard,高级加密标准)算法和SM4(分组密码)算法,两个加密算法中均包含加密的API和解密的API,加密和解密的方式是对称的。
S130还可包括:服务端设置互斥锁机制,当有数据要写入偏移位置时,检测偏移位置的转换请求线程是否完毕,若完毕再将数据写入该偏移位置。
其中,当有客户端有写操作时,服务端判断要写入的内容是属于哪一个偏移位置,利用互斥锁机制等待转化完毕后,再进行写入操作。
设定容量的偏移位置是一个bitmap表管理的最小单元,使用一个位值来描述这个最小的单元加密与否,使用互斥锁保证了这个最小单元中,不会既有加密的,也有未加密的数据。
本发明加密存储向非加密存储转换的工作过程为:
加密存储的存储系统正常情况下,客户端的API接收用户写入的数据,发送给服务端,服务端加密写入卷;假设卷的大小为100G,服务端以4M为设定容量分段,生成bitmap表,bitmap表的位数为100G÷4M=100×1024M÷4M=25600个,即100G的卷被分为25600个4M,bitmap表每一位对应的偏移位置的数据大小为4M。由于存储系统为加密方式,服务端设置bitmap表每一位为1。
客户端接收了用户的加密储存向非加密存储转换请求,发送给服务端,服务端设置标记值为1,发送到卷,标记值为1持久化到了卷的元数据中,并更新内存中的标记值为1。
服务端与卷连接通信后,服务端从头依次对bitmap表的每一位值检测,将位值为1的偏移位置内的数据,读出然后解密,写入原位置,转换位值为0,直到将该卷的所有bit位值都转换为0。实现了该卷的存储方式从加密存储到非加密存储的转换。
若接下来服务端没有接收到转换请求,标记值保持为1不变。
若在请求转换的过程中,如果有写操作,客户端将写操作请求发送到服务端后,服务端利用互斥锁机制检测要写入的偏移位置,由加密存储转换为非加密的线程是否完毕。如果完毕则服务端将数据直接写入此容量为4M的偏移位置;如果没有完毕正在转换的过程中,则等待转换线程结束后,再将写操作的数据写入此4M的偏移位置;如果还未进行转换,则需要先将偏移位置中加密的数据全部读取,读取成功后,进行解密,解密完毕后,写入此4M的偏移位置中,再更新bitmap表对应的位值为已加密0,并将其固化,再执行写操作将要写入的数据直接写入此偏移位置。实现了存储方式从加密向非加密的转换。
本发明非加密储存向加密存储转换的工作过程为:
非加密存储的存储系统正常情况下,客户端的API接收用户写入的数据,发送给服务端,服务端直接将数据存储进相应的卷;假设卷的大小为100G,服务端以4M为设定容量分段,生成bitmap表,bitmap表的位数为100G÷4M=100×1024M÷4M=25600个,即100G的卷被分为25600个4M,bitmap表每一位对应的偏移位置的数据大小为4M。由于存储系统为非加密存储方式,服务端设置bitmap表每一位为0。
客户端接收了用户的非加密储存向加密存储转换请求,发送给服务端,服务端设置标记值为2,发送到卷,标记值为2持久化到了卷的元数据中,并更新内存中的标记值为2。
服务端从头依次对bitmap表的每一位值检测,将位值为0的偏移位置内的数据,读出然后加密,覆盖原位置数据,转换位值为1,直到将该卷的所有bit位值都转换为1。实现了该卷的存储方式从加密存储到非加密存储的转换。
若接下来服务端没有接收到转换请求,标记值保持为2不变。
若在请求转换的过程中,如果有写操作,客户端将写操作请求发送到服务端后,服务端利用互斥锁机制检测要写入的偏移位置,由非加密存储转换为加密的线程是否完毕。如果完毕则服务端将数据直接加密写入此容量为4M的偏移位置;如果没有完毕正在转换的过程中,则等待转换线程结束后,再将写操作的数据加密写入此4M的偏移位置;如果还未进行转换,则需要先将此偏移位置中未加密的数据全部读取,读取成功后,进行加密,加密完毕后,先写入此偏移位置中,再更新bitmap表对应的位值为已加密1,并将其固化,再执行写操作将要写入的数据加密写入此偏移位置。实现了存储方式从非加密向加密的转换。
本发明中,使用bitmap表中一位来描述一个4M是否加密,可采用一个64位的字节描述64*4M=256M的块是否加密,则100G的卷需要400个64位来描述所有100G是否加密。其bitmap大小大约为400*64位,遍历从第一个64位开始。以此类推,对100G中,所有的位进行转化。
本发明具有通用性,即适合本地磁盘,例如sata盘(Serial ATA口的硬盘,又叫串口硬盘),ssd(Solid State Drives,固态硬盘),也适合分布式存储提供的磁盘,例如ceph(分布式文件系统)分布式存储提供的RBD(rados block devices,块存储)功能等。
可见,上述实施例提供的数据存储方式转换方法,通过预先以卷的大小生成以设定容量为单位的段,利用bitmap表来标记存储系统的加密存储区域和非加密存储区域,然后根据对标记值的识别来确定对应的加密存储与非加密存储之间的转换需求并执行相应的转换操作,不仅能够有效解决现有技术中无法对不支持加密的存储系统转化为可加密问题、对已经加密的存储系统无法恢复为不加密的问题,还能够解决不同存储系统下加密与非加密转换方法的通用性问题,可以方便灵活的适用于多种存储系统加密和非加密之间的转换。
实施例2
图2示出了根据本发明实施例2的数据存储方式转换系统的逻辑结构示意图。
如图2所示,本实施例提供的数据存储方式转换系统,包括:存储方式标记单元、转换请求接收单元、存储方式转换单元。
存储方式标记单元,用于服务端将卷以设定容量为单位分段,采用bitmap表的每一位的位值标记所述卷的每个段的偏移位置存储方式是否为加密;
转换请求接收单元,用于所述服务端接收客户端的进行加密存储与非加密存储之间的转换请求;
存储方式转换单元,用于所述服务端依次对所述bitmap表的每一位值进行检测,并根据所述转换请求,对所述bitmap表每一位对应的偏移位置的存储方式进行转换,若所述转换请求是加密存储转换为非加密存储,则对所述采用bitmap表中位值标记为加密的偏移位置的存储方式,进行加密存储到非加密存储的转换;若所述转换请求是非加密存储转换为加密存储,则对所述采用bitmap表中位值标记为非加密的偏移位置的存储方式,进行非加密存储到加密存储的转换。
本实施例提供的数据存储方式转换系统,通过预先以卷的大小生成以设定容量为单位的段,利用bitmap表来标记存储系统的加密存储区域和非加密存储区域,然后根据加密存储与非加密存储之间的转换需求并执行相应的转换操作,不仅能够有效解决现有技术中无法对不支持加密的存储系统转化为可加密问题、对已经加密的存储系统无法恢复为不加密的问题,还能够解决不同存储系统下加密与非加密转换方法的通用性问题,可以方便灵活的适用于多种存储系统加密和非加密之间的转换。
实施例3
图3示出了根据本发明实施例3的电子装置的逻辑结构示意图。
如图3所示,一种电子装置1,包括存储器3和处理器2,存储器中存储有计算机程序4,计算机程序4被处理器3执行时实现实施例1中的数据存储方式转换方法的步骤。
实施例4
一种计算机可读存储介质,计算机可读存储介质中包括数据存储方式转换程序,数据存储方式转换程序被处理器执行时,实现实施例1中的数据存储方式转换方法的步骤。
如上参照图1、图2和图3以示例的方式描述根据本发明的数据存储方式转换方法、装置及存储介质。但是,本领域技术人员应当理解,对于上述本发明所提出的数据存储方式转换方法、装置及存储介质,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。
Claims (8)
1.一种数据存储方式转换方法,其特征在于,包括以下步骤:
S110:服务端将卷以设定容量为单位分段,采用bitmap表的每一位的位值标记所述卷的每个段的偏移位置存储方式是否为加密;
S120:所述服务端接收客户端的进行加密存储与非加密存储之间的转换请求,
所述服务端设置所述转换请求的标记值,所述标记值是所述卷进行加密存储与非加密存储的转换标志,若所述转换请求是加密存储转换为非加密存储,则所述标记值设置为第一预设值,与所述转换请求对应的卷记录所述第一预设值;若所述转换请求是非加密存储转换为加密存储,则所述标记值设置为第二预设值,与所述转换请求对应的卷记录所述第二预设值;所述第一预设值与所述第二预设值为不同的值;
S130:所述服务端依次对所述bitmap表的每一位值进行检测,并根据所述转换请求,对所述bitmap表每一位对应的偏移位置的存储方式进行操作,
若所述转换请求是加密存储转换为非加密存储,则对所述采用bitmap表中位值标记为加密的偏移位置的存储方式,进行加密存储到非加密存储的转换;
若所述转换请求是非加密存储转换为加密存储,则对所述采用bitmap表中位值标记为非加密的偏移位置的存储方式,进行非加密存储到加密存储的转换;
所述服务端根据所述标记值,对所述bitmap表每一位对应的偏移位置的存储方式进行转换,
若所述标记值为第一预设值,所述服务端依次读取所述bitmap表的每一位的位值,判断所述位值是否为第一位值;
若为第一位值,则读出所述位对应的偏移位置的数据,解密后覆盖原位置数据,并将所述位的位值设置为第二位值,完成所述位对应的偏移位置加密存储转换为非加密存储,
若所述标记值为第二预设值,所述服务端依次读取所述bitmap表的每一位的位值,判断所述位值是否为第二位值;
若为第二位值,则读出所述位对应的偏移位置的数据,加密后覆盖原位置数据,并将所述位的位值设置为第一位值,完成所述位对应的偏移位置非加密存储转换为加密存储。
2.如权利要求1所述的数据存储方式转换方法,其特征在于,在S110中,所述采用bitmap表的每一位的位值标记所述卷的每个段的偏移位置存储方式是否为加密,包括:若所述位值为第一位值,则对应的偏移位置的存储方式为加密;若所述位值为第二位值,则对应的偏移位置的存储方式为非加密;所述第一位值与所述第二位值为不同的位值。
3.如权利要求2所述的数据存储方式转换方法,其特征在于,若所述卷的存储方式为加密存储,所述服务端则设置所述bitmap表的位值均为第一位值,所述服务端将所述客户端发送的数据加密写入所述卷;
若所述卷的存储方式为非加密存储,所述服务端则设置所述bitmap表的位值均为第二位值,所述服务端将所述客户端发送的数据直接写入所述卷;
若所述卷正在加密存储与非加密存储之间的转换过程中,则所述bitmap表的位值部分为第一位值部分为第二位值,则所述服务端等待转换完毕后将所述客户端发送的数据按照转换后的存储方式写入所述卷。
4.如权利要求1所述的数据存储方式转换方法,其特征在于,
在读出所述位对应的偏移位置的数据,解密后覆盖原位置数据的过程中,所述服务端调取内存中的密钥信息,对读出的所述位对应的偏移位置的数据进行解密;
在读出所述位对应的偏移位置的数据,加密后覆盖原位置数据的过程中,所述服务端调取内存中的密钥信息,对读出的所述位对应的偏移位置的数据进行加密。
5.如权利要求1所述的数据存储方式转换方法,其特征在于,在所述服务端设置有互斥锁机制,当有数据要写入偏移位置时,检测所述偏移位置的转换请求线程是否执行完毕,若执行完毕则将所述数据写入所述偏移位置,否则等待所述偏移位置的转换请求线程执行完毕后将所述数据写入所述偏移位置。
6.一种数据存储方式转换系统,其特征在于,包括:
存储方式标记单元,用于服务端将卷以设定容量为单位分段,采用bitmap表的每一位的位值标记所述卷的每个段的偏移位置存储方式是否为加密;
转换请求接收单元,用于所述服务端接收客户端的进行加密存储与非加密存储之间的转换请求;
所述服务端设置所述转换请求的标记值,所述标记值是所述卷进行加密存储与非加密存储的转换标志,若所述转换请求是加密存储转换为非加密存储,则所述标记值设置为第一预设值,与所述转换请求对应的卷记录所述第一预设值;若所述转换请求是非加密存储转换为加密存储,则所述标记值设置为第二预设值,与所述转换请求对应的卷记录所述第二预设值;所述第一预设值与所述第二预设值为不同的值;
存储方式转换单元,用于所述服务端依次对所述bitmap表的每一位值进行检测,并根据所述转换请求,对所述bitmap表每一位对应的偏移位置的存储方式进行转换,
若所述转换请求是加密存储转换为非加密存储,则对所述采用bitmap表中位值标记为加密的偏移位置的存储方式,进行加密存储到非加密存储的转换;
若所述转换请求是非加密存储转换为加密存储,则对所述采用bitmap表中位值标记为非加密的偏移位置的存储方式,进行非加密存储到加密存储的转换;
所述服务端根据所述标记值,对所述bitmap表每一位对应的偏移位置的存储方式进行转换,
若所述标记值为第一预设值,所述服务端依次读取所述bitmap表的每一位的位值,判断所述位值是否为第一位值;
若为第一位值,则读出所述位对应的偏移位置的数据,解密后覆盖原位置数据,并将所述位的位值设置为第二位值,完成所述位对应的偏移位置加密存储转换为非加密存储,
若所述标记值为第二预设值,所述服务端依次读取所述bitmap表的每一位的位值,判断所述位值是否为第二位值;
若为第二位值,则读出所述位对应的偏移位置的数据,加密后覆盖原位置数据,并将所述位的位值设置为第一位值,完成所述位对应的偏移位置非加密存储转换为加密存储。
7.一种电子装置,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任意一项所述的数据存储方式转换方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有数据存储方式转换程序,所述数据存储方式转换程序被处理器执行时,实现如权利要求1至5中任一项所述的数据存储方式转换方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119660.7A CN111399770B (zh) | 2020-02-26 | 2020-02-26 | 数据存储方式转换方法、装置及存储介质 |
PCT/CN2020/099227 WO2021169121A1 (zh) | 2020-02-26 | 2020-06-30 | 数据存储方式转换方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119660.7A CN111399770B (zh) | 2020-02-26 | 2020-02-26 | 数据存储方式转换方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111399770A CN111399770A (zh) | 2020-07-10 |
CN111399770B true CN111399770B (zh) | 2023-07-11 |
Family
ID=71435955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010119660.7A Active CN111399770B (zh) | 2020-02-26 | 2020-02-26 | 数据存储方式转换方法、装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111399770B (zh) |
WO (1) | WO2021169121A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112003851A (zh) * | 2020-08-19 | 2020-11-27 | 浪潮云信息技术股份公司 | 一种RADOS Gateway应用于IAM系统的方法 |
CN113268456B (zh) * | 2021-05-20 | 2023-12-08 | 济南浪潮数据技术有限公司 | 一种文件处理方法、系统、设备及计算机可读存储介质 |
CN117707414A (zh) * | 2022-09-06 | 2024-03-15 | 成都华为技术有限公司 | 数据处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07182112A (ja) * | 1993-12-24 | 1995-07-21 | Matsushita Electric Ind Co Ltd | 機密保護機能を持つデータ処理装置 |
CN102012993A (zh) * | 2010-11-29 | 2011-04-13 | 北京卓微天成科技咨询有限公司 | 一种数据选择加密解密方法及装置 |
CN105389526A (zh) * | 2015-12-03 | 2016-03-09 | 泰华智慧产业集团股份有限公司 | 加密区和非加密区一体化的移动硬盘及其数据存储方法 |
CN107315964A (zh) * | 2017-06-14 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种基于加密机实现加密卷转换的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081575A (zh) * | 2011-01-27 | 2011-06-01 | 北京深思洛克软件技术股份有限公司 | 虚拟磁盘存储空间的动态分配方法和装置 |
WO2013185303A1 (en) * | 2012-06-13 | 2013-12-19 | Qualcomm Incorporated | Encryption bitmap for a device-to-device expression |
CN102724207B (zh) * | 2012-06-28 | 2015-07-15 | 上海西本网络科技有限公司 | 服务请求的发送/处理方法和装置、客户端及服务端 |
CN106788994B (zh) * | 2016-12-06 | 2020-04-07 | 中国电子科技集团公司第三十二研究所 | 适用于云存储系统的密钥更新方法 |
-
2020
- 2020-02-26 CN CN202010119660.7A patent/CN111399770B/zh active Active
- 2020-06-30 WO PCT/CN2020/099227 patent/WO2021169121A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07182112A (ja) * | 1993-12-24 | 1995-07-21 | Matsushita Electric Ind Co Ltd | 機密保護機能を持つデータ処理装置 |
CN102012993A (zh) * | 2010-11-29 | 2011-04-13 | 北京卓微天成科技咨询有限公司 | 一种数据选择加密解密方法及装置 |
CN105389526A (zh) * | 2015-12-03 | 2016-03-09 | 泰华智慧产业集团股份有限公司 | 加密区和非加密区一体化的移动硬盘及其数据存储方法 |
CN107315964A (zh) * | 2017-06-14 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种基于加密机实现加密卷转换的方法 |
Non-Patent Citations (1)
Title |
---|
基于改进型MBF的命名数据网PIT存储结构研究;许亚平;李卓;刘开华;马东来;杨奕康;重庆邮电大学学报(自然科学版)(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111399770A (zh) | 2020-07-10 |
WO2021169121A1 (zh) | 2021-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101852724B1 (ko) | 컴퓨터 프로그램, 비밀관리방법 및 시스템 | |
US6249866B1 (en) | Encrypting file system and method | |
CN111399770B (zh) | 数据存储方式转换方法、装置及存储介质 | |
JP5623561B2 (ja) | ストレージ用論理データオブジェクトの変換方法およびシステム | |
US8392727B2 (en) | System and method for transparent disk encryption | |
US8761403B2 (en) | Method and system of secured data storage and recovery | |
KR100678927B1 (ko) | 비보안 영역에 보안 영역을 할당하는 방법 및 이를제공하는 휴대용 저장 장치 | |
US8495365B2 (en) | Content processing apparatus and encryption processing method | |
US20090089593A1 (en) | Recording system, information processing apparatus, storage apparatus, recording method, and program | |
US8750519B2 (en) | Data protection system, data protection method, and memory card | |
US20090210724A1 (en) | Content management method and content management apparatus | |
KR20100039359A (ko) | 파일 시스템 레벨에서 명확하게 인지되는 데이터 변환을 위한 시스템 및 방법 | |
US20140129848A1 (en) | Method and Apparatus for Writing and Reading Hard Disk Data | |
JP2008527532A (ja) | 非セキュリティ領域にセキュリティ領域を割り当てる方法及び携帯用保存装置 | |
CN112711764A (zh) | 一种数据读写方法、装置及电子设备 | |
US12058259B2 (en) | Data storage device encryption | |
US20220121781A1 (en) | Data storage device encryption | |
JPH10275115A (ja) | データ暗号化保存方法及びシステム装置 | |
JPH05233460A (ja) | ファイル保護方式 | |
JPH10340232A (ja) | ファイル複写防止装置及びファイル読込装置 | |
JP4867935B2 (ja) | 暗号化データ記憶装置、暗号化データ管理方法、データ暗号化装置、及び暗号化データ管理制御プログラム | |
CN114968935A (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 |