WO2021169121A1 - 数据存储方式转换方法、装置及存储介质 - Google Patents
数据存储方式转换方法、装置及存储介质 Download PDFInfo
- Publication number
- WO2021169121A1 WO2021169121A1 PCT/CN2020/099227 CN2020099227W WO2021169121A1 WO 2021169121 A1 WO2021169121 A1 WO 2021169121A1 CN 2020099227 W CN2020099227 W CN 2020099227W WO 2021169121 A1 WO2021169121 A1 WO 2021169121A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- storage
- encrypted
- bit
- value
- data
- Prior art date
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
Definitions
- the client can be established in a virtual machine, and the client can interface with an API (Application Program Interface) to receive a conversion request between encrypted storage and non-encrypted storage, and send it to the server. It can also receive the client's read and write requests and written data, and pass the read and write requests and written data to the server.
- API Application Program Interface
- step S120 the server receives the client's request for conversion between encrypted storage and non-encrypted storage, which may be: the server sets the tag value of the conversion request according to the conversion request.
- the tag value refers to whether the volume is encrypted or non-encrypted. If the conversion request is converted from encrypted storage to non-encrypted storage, the mark value is set to the first preset value; if the conversion request is converted from non-encrypted storage to encrypted storage, the mark value is set to the second preset value .
- the first preset value and the second preset value are different values.
- the first preset value can be set to 1, which means that the conversion request is converted from encrypted storage to non-encrypted storage; the second preset value can be set to 2, and the conversion request is converted from non-encrypted storage to encrypted storage.
- the mark value is a conversion mark between encrypted storage and non-encrypted storage, and the initial value of the mark value can be set to 0. If the conversion request is converted from encrypted storage to non-encrypted storage, the server sets the flag value to 1, and the volume record flag value corresponding to the conversion request is 1; if the conversion request is converted from non-encrypted storage to encrypted storage, the server sets the flag value to 2 , The volume record flag value 2 corresponding to the conversion request.
- the server converts the storage mode of the offset position according to the tag value and the bit value corresponding to each bit in the bitmap table.
- the specific process includes: the server retrieves the key information in the memory, and decrypts the read data of the offset position corresponding to the bit ; After decryption, write to the original position and overwrite the original position data.
- the specific process includes: the server retrieves the key information in the memory, and encrypts the read data at the offset position corresponding to the bit; Write to the original location after encryption, overwriting the original location data.
- the key information in this application can be a symmetric key.
- the available encryption methods can be AES (Advanced Encryption Standard) algorithm and SM4 (block cipher) algorithm. Both encryption algorithms include encryption API and decryption API, and the encryption and decryption methods are symmetrical.
- the server determines which offset position the content to be written belongs to, and uses the mutex lock mechanism to wait for the conversion to be completed before performing the write operation.
- the working process of the conversion from encrypted storage to non-encrypted storage in this application is as follows: Under normal circumstances of the encrypted storage storage system, the client API receives the data written by the user and sends it to the server, and the server writes the volume encrypted; assuming that the size of the volume is 100G, the server uses 4M as the set capacity segmentation to generate a bitmap table.
- the data size of the offset position corresponding to one bit is 4M. Since the storage system is encrypted, the server sets each bit of the bitmap table to 1.
- the working process of the conversion from non-encrypted storage to encrypted storage in this application is: Under normal circumstances in a storage system with non-encrypted storage, the client API receives the data written by the user and sends it to the server, and the server directly stores the data in the corresponding volume; Suppose the volume size is 100G, and the server uses 4M as the set capacity segmentation to generate a bitmap table.
- the data storage mode conversion system includes: a storage mode marking unit, a conversion request receiving unit, and a storage mode conversion unit.
- an electronic device 1 includes a memory 3 and a processor 2, and a computer program 4 is stored in the memory.
- the computer program 4 is executed by the processor 3, the steps of the data storage mode conversion method in Embodiment 1 are implemented. .
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
本申请要求申请号为202010119660.7,申请日为2020年02月26日,发明创造名称为“数据存储方式转换方法、装置及存储介质”的专利申请的优先权。
本申请涉及大数据技术领域,进一步涉及数据库,更为具体地,涉及一种数据存储方式转换方法、装置及存储介质。
云盘是一种专业的互联网存储工具,是互联网云技术的产物,它通过互联网为企业和个人提供信息的储存、读取、下载等服务,具有安全稳定、海量存储的特点。用户在使用各种云盘的过程中,对于一些敏感性的数据,如:涉及隐私的照片、企业敏感数据等,考虑安全性要求,需要加密上传到云盘保存,对于电影、软件、普通文档/照片等就不需要加密上传到云盘保存。
虚拟化场景下的云盘实现方式多种多样,部分通过分布式存储系统实现,部分通过本地磁盘实现。发明人发现当虚拟机云盘有需求提供加密服务时,会面临以下问题:1、存储系统创建时就设置了加密存储,不可更改;2、且对于本地磁盘创建的云盘,都不支持加密存储;3、不同存储系统,实现加密和非加密存储转换方式的通用性差;4、不能在存储系统服务的过程中进行数据存储方式的转化。
发明内容
鉴于上述问题,本申请的目的是提供一种数据存储方式转换方法、装置及存储介质。能够实现存储系统在服务的过程中加密与非加密转换,并具有通用性。
根据本申请的一个方面,提供了一种数据存储方式转换方法,包括以下步骤:S110:服务端将卷以设定容量为单位分段,采用bitmap表的每一位的位值标记所述卷的每个段的偏移位置存储方式是否为加密;S120:所述服务端接收客户端的进行加密存储与非加密存储之间的转换请求;S130:所述服务端依次对所述bitmap表的每一位值进行检测,并根据所述转换请求,对所述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(Advanced Encryption 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 (20)
- 一种数据存储方式转换方法,其中,包括以下步骤:S110:服务端将卷以设定容量为单位分段,采用bitmap表的每一位的位值标记所述卷的每个段的偏移位置存储方式是否为加密;S120:所述服务端接收客户端的进行加密存储与非加密存储之间的转换请求;S130:所述服务端依次对所述bitmap表的每一位值进行检测,并根据所述转换请求,对所述bitmap表每一位对应的偏移位置的存储方式进行操作,若所述转换请求是加密存储转换为非加密存储,则对所述采用bitmap表中位值标记为加密的偏移位置的存储方式,进行加密存储到非加密存储的转换;若所述转换请求是非加密存储转换为加密存储,则对所述采用bitmap表中位值标记为非加密的偏移位置的存储方式,进行非加密存储到加密存储的转换。
- 如权利要求1所述的数据存储方式转换方法,其中,在S110中,所述采用bitmap表的每一位的位值标记所述卷的每个段的偏移位置存储方式是否为加密,包括:若所述位值为第一位值,则对应的偏移位置的存储方式为加密;若所述位值为第二位值,则对应的偏移位置的存储方式为非加密;所述第一位值与所述第二位值为不同的位值。
- 如权利要求2所述的数据存储方式转换方法,其中,若所述卷的存储方式为加密存储,所述服务端则设置所述bitmap表的位值均为第一位值,所述服务端将所述客户端发送的数据加密写入所述卷;若所述卷的存储方式为非加密存储,所述服务端则设置所述bitmap表的位值均为第二位值,所述服务端将所述客户端发送的数据直接写入所述卷;若所述卷正在加密存储与非加密存储之间的转换过程中,则所述bitmap表的位值部分为第一位值部分为第二位值,则所述服务端等待转换完毕后将所述客户端发送的数据按照转换后的存储方式写入所述卷。
- 如权利要求2所述的数据存储方式转换方法,其中,所述第一位值为1,第二位值为0。
- 如权利要求1所述的数据存储方式转换方法,其中,所述客户端对接API,用于接收所述进行加密存储与非加密存储之间的转换请求,并发送给所述服务端。
- 如权利要求5所述的数据存储方式转换方法,其中,所述客户端接收客户的读写请求和所写数据,并将所述读写请求和所写数据传递到所述服务端。
- 如权利要求1所述的数据存储方式转换方法,其中,在S120中,还包括:所述服务端设置所述转换请求的标记值,所述标记值是所述卷进行加密存储与非加密存储的转换标志,若所述转换请求是加密存储转换为非加密存储,则所述标记值设置为第一预设值,与所述转换请求对应的卷记录所述第一预设值;若所述转换请求是非加密存储转换为加密存储,则所述标记值设置为第二预设值,与所述转换请求对应的卷记录所述第二预设值;所述第一预设值与所述第二预设值为不同的值。
- 如权利要求7所述的数据存储方式转换方法,其中,所述第一预设值为1,所述第二预设值为2。
- 如权利要求7所述的数据存储方式转换方法,其中,所述第一预设值为un-encrypt,所述第二预设值为encrypt。
- 如权利要求7所述的数据存储方式转换方法,其中,所述标记值的初始值设置为0。
- 如权利要求7所述的数据存储方式转换方法,其中,所述服务端根据所述标记值,对所述bitmap表每一位对应的偏移位置的存储方式进行转换,若所述标记值为第一预设值,所述服务端依次读取所述bitmap表的每一位的位值,判断所述读取位的位值是否为第一位值;若为第一位值,则读出所述位对应的偏移位置的数据,解密后覆盖原位置数据,并将所述位的位值设置为第二位值,完成所述位对应的偏移位置加密存储转换为非加密存 储,若所述标记值为第二预设值,所述服务端依次读取所述bitmap表的每一位的位值,判断所述读取位的位值是否为第二位值;若为第二位值,则读出所述位对应的偏移位置的数据,加密后覆盖原位置数据,并将所述位的位值设置为第一位值,完成所述位对应的偏移位置非加密存储转换为加密存储。
- 如权利要求11所述的数据存储方式转换方法,其中,在读出所述位对应的偏移位置的数据,解密后覆盖原位置数据的过程中,所述服务端调取内存中的密钥信息,对读出的所述位对应的偏移位置的数据进行解密;在读出所述位对应的偏移位置的数据,加密后覆盖原位置数据的过程中,所述服务端调取内存中的密钥信息,对读出的所述位对应的偏移位置的数据进行加密。
- 如权利要求12所述的数据存储方式转换方法,其中,所述密钥信息为对称密钥。
- 如权利要求12所述的数据存储方式转换方法,其中,所述密钥信息的加密方式为高级加密标准算法和分组密码算法。
- 如权利要求1所述的数据存储方式转换方法,其中,在所述服务端设置有互斥锁机制。
- 如权利要求15所述的数据存储方式转换方法,其中,所述互斥锁机制包括,当有数据要写入偏移位置时,检测所述偏移位置的转换请求线程是否执行完毕,若执行完毕则将所述数据写入所述偏移位置,否则等待所述偏移位置的转换请求线程执行完毕后将所述数据写入所述偏移位置。
- 如权利要求1所述的数据存储方式转换方法,其中,所述卷包括本地磁盘或分布式存储提供的磁盘的逻辑磁盘。
- 一种数据存储方式转换系统,其中,包括:存储方式标记单元,用于服务端将卷以设定容量为单位分段,采用bitmap表的每一位的位值标记所述卷的每个段的偏移位置存储方式是否为加密;转换请求接收单元,用于所述服务端接收客户端的进行加密存储与非加密存储之间的转换请求;存储方式转换单元,用于所述服务端依次对所述bitmap表的每一位值进行检测,并根据所述转换请求,对所述bitmap表每一位对应的偏移位置的存储方式进行转换,若所述转换请求是加密存储转换为非加密存储,则对所述采用bitmap表中位值标记为加密的偏移位置的存储方式,进行加密存储到非加密存储的转换;若所述转换请求是非加密存储转换为加密存储,则对所述采用bitmap表中位值标记为非加密的偏移位置的存储方式,进行非加密存储到加密存储的转换。
- 一种电子装置,其中,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至15任意一项所述的数据存储方式转换方法的步骤。
- 一种计算机可读存储介质,其中,所述计算机可读存储介质中存储有数据存储方式转换程序,所述数据存储方式转换程序被处理器执行时,实现如权利要求1至15中任一项所述的数据存储方式转换方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119660.7 | 2020-02-26 | ||
CN202010119660.7A CN111399770B (zh) | 2020-02-26 | 2020-02-26 | 数据存储方式转换方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021169121A1 true WO2021169121A1 (zh) | 2021-09-02 |
Family
ID=71435955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/099227 WO2021169121A1 (zh) | 2020-02-26 | 2020-06-30 | 数据存储方式转换方法、装置及存储介质 |
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 (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012993A (zh) * | 2010-11-29 | 2011-04-13 | 北京卓微天成科技咨询有限公司 | 一种数据选择加密解密方法及装置 |
CN102081575A (zh) * | 2011-01-27 | 2011-06-01 | 北京深思洛克软件技术股份有限公司 | 虚拟磁盘存储空间的动态分配方法和装置 |
CN102724207A (zh) * | 2012-06-28 | 2012-10-10 | 上海西本网络科技有限公司 | 服务请求的发送/处理方法和装置、客户端及服务端 |
WO2013185303A1 (en) * | 2012-06-13 | 2013-12-19 | Qualcomm Incorporated | Encryption bitmap for a device-to-device expression |
CN106788994A (zh) * | 2016-12-06 | 2017-05-31 | 中国电子科技集团公司第三十二研究所 | 适用于云存储系统的密钥更新方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07182112A (ja) * | 1993-12-24 | 1995-07-21 | Matsushita Electric Ind Co Ltd | 機密保護機能を持つデータ処理装置 |
CN105389526B (zh) * | 2015-12-03 | 2018-02-23 | 泰华智慧产业集团股份有限公司 | 加密区和非加密区一体化的移动硬盘及其数据存储方法 |
CN107315964B (zh) * | 2017-06-14 | 2020-09-25 | 苏州浪潮智能科技有限公司 | 一种基于加密机实现加密卷转换的方法 |
-
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 (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012993A (zh) * | 2010-11-29 | 2011-04-13 | 北京卓微天成科技咨询有限公司 | 一种数据选择加密解密方法及装置 |
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 |
CN102724207A (zh) * | 2012-06-28 | 2012-10-10 | 上海西本网络科技有限公司 | 服务请求的发送/处理方法和装置、客户端及服务端 |
CN106788994A (zh) * | 2016-12-06 | 2017-05-31 | 中国电子科技集团公司第三十二研究所 | 适用于云存储系统的密钥更新方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111399770A (zh) | 2020-07-10 |
CN111399770B (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4593774B2 (ja) | 暗号化ファイルシステム及び方法 | |
WO2021169121A1 (zh) | 数据存储方式转换方法、装置及存储介质 | |
JP6055988B1 (ja) | コンピュータプログラム、秘密管理方法及びシステム | |
US7185205B2 (en) | Crypto-pointers for secure data storage | |
US8892905B2 (en) | Method and apparatus for performing selective encryption/decryption in a data storage system | |
US8495365B2 (en) | Content processing apparatus and encryption processing method | |
KR100678927B1 (ko) | 비보안 영역에 보안 영역을 할당하는 방법 및 이를제공하는 휴대용 저장 장치 | |
US20080228770A1 (en) | Method for Performing Recoverable Live Context Migration in a Stacked File System | |
EP3103048B1 (en) | Content item encryption on mobile devices | |
US7886158B2 (en) | System and method for remote copy of encrypted data | |
US20070014403A1 (en) | Controlling distribution of protected content | |
JP2004185152A (ja) | ライセンス移動装置及びプログラム | |
WO2019080112A1 (zh) | 一种基于 Ukey 的软件解密的方法及终端 | |
CN114611123A (zh) | 一种文件透明加解密方法和系统 | |
JP2009064055A (ja) | 計算機システム及びセキュリティ管理方法 | |
US20130166923A1 (en) | Automatic virtualization medium, automatic virtualization method, and information processing apparatus | |
JPH10301856A (ja) | ファイルアクセスシステムおよび記録媒体 | |
US20220123932A1 (en) | Data storage device encryption | |
US8516212B2 (en) | Data processing apparatus, computer program therefor, and data processing method | |
JPH05233460A (ja) | ファイル保護方式 | |
JPH10340232A (ja) | ファイル複写防止装置及びファイル読込装置 | |
CN114968935A (zh) | 文件操作方法、装置、设备、可读存储介质 | |
JPH1145202A (ja) | ファイル消去防止装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20922270 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20922270 Country of ref document: EP Kind code of ref document: A1 |