CN115079960B - 数据的处理方法、加速卡及数据处理系统 - Google Patents
数据的处理方法、加速卡及数据处理系统 Download PDFInfo
- Publication number
- CN115079960B CN115079960B CN202210989877.2A CN202210989877A CN115079960B CN 115079960 B CN115079960 B CN 115079960B CN 202210989877 A CN202210989877 A CN 202210989877A CN 115079960 B CN115079960 B CN 115079960B
- Authority
- CN
- China
- Prior art keywords
- sector
- accelerator card
- command
- data
- copy
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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/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
- G06F21/80—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 in storage media based on magnetic or optical technology, e.g. disks with sectors
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种数据的处理方法、加速卡及数据处理系统,该方法应用于加速卡,加速卡分别与主机和磁盘电连接,该方法包括:加速卡接收主机发送的扇区拷贝命令,第一扇区的逻辑标识为目标扇区的逻辑标识;加速卡根据扇区拷贝命令,生成拷贝执行命令;加速卡将拷贝执行命令发送至磁盘,以控制磁盘将源扇区的数据复制至目标扇区内,其中,源扇区的数据为待拷贝的数据。从而不再通过主机读取数据,而是通过加速卡直接命令磁盘内部拷贝操作,省去了主机读取数据的时间,从而提高了效率,进而解决了现有方案的数据处理中的拷贝时,需要主机先读取数据,再写入数据,而造成效率较差的问题。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种数据的处理方法、加速卡、计算机可读存储介质及数据处理系统。
背景技术
存储数据加密是指可在数据储存的过程中,保障数据的机密性、完整性,是数据安全的重要保障技术,是信息安全的重要领域,尤其在政务、金融、交通文旅、央企、工业等行业,个人信息保护、商业秘密保护、国密合规等方面建设的要求,都离不开数据存储加密这个环节的保障。
而磁盘作为计算机数据存储的主要载体,既可以作为计算机的本地磁盘,也可以是以DAS、SAN架构的方式存在于数据中心,对其上存储数据的加密,可有效防止非法第三方窃取磁盘中明文数据。同时对磁盘加密不改变用户应用程序的架构以及用户使用习惯,整个加密过程对用户透明,更利于其实现广泛的部署;
磁盘存储加密原理:计算机文件和分区表等信息是以扇区块为基本单位,存放在硬盘、U盘或软盘等存储设备中。利用有关数学加密算法,在数据写入磁盘前,先进行加密处理,然后再写入磁盘的对应扇区中,这样磁盘里的数据就以密文的形式存在。读取时,扇区块先做解密处理,再提供给相应的应用使用。
目前磁盘存储加密技术主要的技术挑战:
1.降低系统性能
由于数据写入,读出前增加了额外的加解密运算,所以会降低系统的IO性能。
2.增加CPU处理负载
若磁盘存储加密由软件实现,加解密运算主要由CPU完成,这会给CPU带来额外的负载,随着SSD等高速磁盘的应用。特别的在数据中心的应用场景下,多用户、多磁盘、高并发的使用情况下,CPU负载增加情况更加严重。
3.以扇区块为基本单位的加解密在某些场景下效率需要提高:
文件大小一般不会正好是扇区块的整数倍,对文件结束到扇区边界处的加解密是无效的运算。
应用随机读写文件时,一般也不会整个扇区使用,应用没有实际用到的部分,加解密是无效的运算。
有些场景下,是不需要加解密操作的,比如文件的同盘拷贝。
同一扇区数据被不同用户打开时,需解密多次,不能实现一次解密后数据共享。
发明内容
本申请的主要目的在于提供一种数据的处理方法、加速卡、计算机可读存储介质及数据处理系统,以解决现有方案的数据处理中的拷贝时,需要主机先读取数据,再写入数据,而造成效率较差的问题。
根据本发明实施例的一个方面,提供了一种数据的处理方法,该方法应用于加速卡,加速卡分别与主机和磁盘电连接,该方法包括:所述加速卡接收所述主机发送的扇区拷贝命令,其中,所述扇区拷贝命令为在所述主机接收到文件拷贝请求之后,获取第一扇区的逻辑标识并根据所述第一扇区的逻辑标识生成的命令,所述第一扇区的逻辑标识为目标扇区的逻辑标识;所述加速卡根据所述扇区拷贝命令,生成拷贝执行命令;所述加速卡将所述拷贝执行命令发送至所述磁盘,以控制所述磁盘将源扇区的数据复制至所述目标扇区内,其中,源扇区的数据为待拷贝的数据。
可选地,所述加速卡根据所述扇区拷贝命令,生成拷贝执行命令包括:所述加速卡根据所述扇区拷贝命令和映射信息,将第一扇区的逻辑标识转换为第一扇区的物理标识,其中,所述映射信息用于表征逻辑扇区和物理扇区的映射关系,且所述映射信息存储在所述加速卡中,所述第一扇区的物理标识为所述目标扇区的物理标识;所述加速卡根据所述扇区拷贝命令和所述第一扇区的物理标识,生成所述拷贝执行命令。
可选地,在所述加速卡接收到所述主机发送的扇区拷贝命令之前,所述方法还包括:所述加速卡构建所述逻辑扇区和所述物理扇区之间的映射关系;所述加速卡根据所述逻辑扇区和所述物理扇区的映射关系,生成所述映射信息。
可选地,所述方法还包括:所述加速卡接收到所述主机发送的读取命令;所述加速卡根据所述读取命令,确定所述加速卡的缓存中是否包括待读取数据;在所述加速卡的缓存不包括所述待读取数据的情况下,所述加速卡根据所述读取命令和所述映射信息,将第二扇区的逻辑标识转换为第二扇区的物理标识;所述加速卡根据所述第二扇区的物理标识和所述读取命令,生成读取执行命令,并将所述读取执行命令发送至所述磁盘,其中,所述读取执行命令用于控制所述磁盘读取所述第二扇区的第一密文;所述加速卡接收到所述磁盘发送的所述第一密文,并对所述第一密文进行解密处理,得到第一明文,其中,所述第一明文与所述待读取数据相同;所述加速卡将所述第一明文存储至所述加速卡的缓存中,并将所述第一明文发送至所述主机。
可选地,所述方法还包括:在所述加速卡的缓存包括所述待读取数据的情况下,所述加速卡将所述待读取数据发送至所述主机。
可选地,所述方法还包括:所述加速卡接收到所述主机发送的写入命令,其中,所述写入命令包括第二明文;所述加速卡根据所述写入命令,确定所述加速卡的缓存中是否包括第二明文;在所述加速卡的缓存包括所述第二明文的情况下,所述加速卡对所述第二明文进行加密处理,得到第二密文;所述加速卡根据所述写入命令和所述映射信息,将第三扇区的逻辑标识转换为第三扇区的物理标识;所述加速卡根据所述第三扇区的物理标识、所述第二密文和所述写入命令,生成写入执行命令,并将所述写入执行命令发送至所述磁盘,其中,所述写入执行命令用于控制所述磁盘将所述第二密文写入所述第三扇区中。
可选地,在所述加速卡根据所述写入命令和所述映射信息,将第三扇区的逻辑标识转换为第三扇区的物理标识之前,所述方法还包括:在所述加速卡的缓存不包括所述第二明文的情况下,所述加速卡将所述第二明文存储至所述加速卡的缓存中;所述加速卡对所述第二明文进行加密处理,得到所述第二密文。
根据本发明实施例的另一方面,还提供了一种加速卡,该加速卡包括第一接收单元、第一生成单元和第一发送单元,第一接收单元用于接收主机发送的扇区拷贝命令,其中,所述扇区拷贝命令为在所述主机接收到文件拷贝请求之后,获取第一扇区的逻辑标识并根据所述第一扇区的逻辑标识生成的命令,所述第一扇区的逻辑标识为目标扇区的逻辑标识;第一生成单元用于根据所述扇区拷贝命令,生成拷贝执行命令;第一发送单元用于将所述拷贝执行命令发送至磁盘,以控制所述磁盘将源扇区的数据复制至所述目标扇区内,其中,源扇区的数据为待拷贝的数据。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行任意一种所述的数据的处理方法,
根据本发明实施例的另一方面,还提供了一种数据处理系统,该系统包括加速卡、主机和磁盘,所述加速卡分别与所述主机和所述磁盘电连接,所述加速卡用于执行任意一种所述的数据的处理方法。
在本发明实施例中,通过加速卡根据主机发送的扇区拷贝命令,生成拷贝执行命令,再将拷贝执行命令发送至所述磁盘,以控制所述磁盘将源扇区的数据复制至所述第一扇区的逻辑标识内,从而不再通过主机读取数据,而是通过加速卡直接命令磁盘内部拷贝操作,省去了主机读取数据的时间,从而提高了效率,进而解决了现有方案的数据处理中的拷贝时,需要主机先读取数据,再写入数据,而造成效率较差的问题。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请实施例的数据的处理方法的流程图;
图2示出了根据本申请实施例的数据的处理方法中读取工作的流程图;
图3示出了根据本申请实施例的数据的处理方法中写入工作的流程图;
图4示出了根据本申请实施例的加速卡的示意图;
图5示出了根据本申请实施例的数据的处理方案的流程图;
图6示出了根据本申请实施例的数据处理系统的示意图;
图7示出了根据本申请实施例的数据处理系统的分层处理架构的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应该理解的是,当元件(诸如层、膜、区域、或衬底)描述为在另一元件“上”时,该元件可直接在该另一元件上,或者也可存在中间元件。而且,在说明书以及权利要求书中,当描述有元件“连接”至另一元件时,该元件可“直接连接”至该另一元件,或者通过第三元件“连接”至该另一元件。
正如背景技术中所说的,现有方案的数据处理中的拷贝时,需要主机先读取数据,再写入数据,从而使得效率较差,为了解决现有方案的数据处理中的拷贝时,需要主机先读取数据,再写入数据,而造成效率较差的问题,本申请的一种典型的实施方式中,提供了一种数据的处理方法、加速卡、计算机可读存储介质及数据处理系统。
实施例1
根据本发明实施例,提供了一种数据的处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请的实施例,提供了一种数据的处理方法,该方法应用于加速卡,加速卡分别与主机和磁盘电连接。
如图1所示,该方法包括以下步骤:
步骤S101,上述加速卡接收上述主机发送的扇区拷贝命令,其中,上述扇区拷贝命令为在上述主机接收到文件拷贝请求之后,获取第一扇区的逻辑标识并根据上述第一扇区的逻辑标识生成的命令,上述第一扇区的逻辑标识为目标扇区的逻辑标识;
具体地,扇区拷贝命令是由主机的应用程序生成的命令。
步骤S102,上述加速卡根据上述扇区拷贝命令,生成拷贝执行命令;
步骤S103,上述加速卡将上述拷贝执行命令发送至上述磁盘,以控制上述磁盘将源扇区的数据复制至上述目标扇区内,其中,源扇区的数据为待拷贝的数据。
上述步骤中,通过加速卡根据主机发送的扇区拷贝命令,生成拷贝执行命令,再将拷贝执行命令发送至上述磁盘,以控制上述磁盘将源扇区的数据复制至上述第一扇区的逻辑标识内,从而不再通过主机读取数据,而是通过加速卡直接命令磁盘内部拷贝操作,省去了主机读取数据的时间,从而提高了效率,进而解决了现有方案的数据处理中的拷贝时,需要主机先读取数据,再写入数据,而造成效率较差的问题。
另外,提供卡内缓存,对多用户读取同一数据不需要多次解密,提高效率和性能。通过卡内存储的虚拟磁盘对物理磁盘扇区的映射信息,为主机提供磁盘虚拟化支持。
可选地,上述加速卡根据上述扇区拷贝命令,生成拷贝执行命令包括:上述加速卡根据上述扇区拷贝命令和映射信息,将第一扇区的逻辑标识转换为第一扇区的物理标识,其中,上述映射信息用于表征逻辑扇区和物理扇区的映射关系,且上述映射信息存储在上述加速卡中,上述第一扇区的物理标识为上述目标扇区的物理标识,且用于被上述磁盘识别;上述加速卡根据上述扇区拷贝命令和上述第一扇区的物理标识,生成上述拷贝执行命令。此过程中数据只是在磁盘内复制,不涉及操作系统读写过程,也不涉及文件数据加解密过程,极大的提高了操作的效率。
具体地,例如,有六个扇区,分别为扇区A、扇区B、扇区C、扇区D、扇区E和扇区F,将六个扇区分为三块区域,第一区域包括扇区A和扇区B,第二区域包括扇区C和扇区D,第三区域包括扇区E和扇区F,则六个扇区的物理标识分别为1、2、3、4、5、6,六个扇区的逻辑标识则分别为Q1、Q2、W1、W2、R1、R2,因此需要加速卡将扇区的逻辑标识转换为物理标识才可被磁盘识别。
可选地,在上述加速卡接收到上述主机发送的扇区拷贝命令之前,上述方法还包括:上述加速卡构建上述逻辑扇区和上述物理扇区之间的映射关系;上述加速卡根据上述逻辑扇区和上述物理扇区的映射关系,生成上述映射信息。映射信息存储至加速卡中便于加速卡后续根据映射信息完成逻辑标识和物理标识之间的转换。
可选地,如图2所示,上述方法还包括:上述加速卡接收到上述主机发送的读取命令;上述加速卡根据上述读取命令,确定上述加速卡的缓存中是否包括待读取数据;在上述加速卡的缓存不包括上述待读取数据的情况下,上述加速卡根据上述读取命令和上述映射信息,将第二扇区的逻辑标识转换为第二扇区的物理标识;上述加速卡根据上述第二扇区的物理标识和上述读取命令,生成读取执行命令,并将上述读取执行命令发送至上述磁盘,其中,上述读取执行命令用于控制上述磁盘读取上述第二扇区的第一密文;上述加速卡接收到上述磁盘发送的上述第一密文,并对上述第一密文进行解密处理,得到第一明文,其中,上述第一明文与上述待读取数据相同;上述加速卡将上述第一明文存储至上述加速卡的缓存中,并将上述第一明文发送至上述主机。
具体地,加速卡根据主机发送的读取命令,先来确定加速卡的缓存中是否包括了待读取数据,若加速卡的缓存不包括上述待读取数据,加速卡则根据上述读取命令和上述映射信息,将第二扇区的逻辑标识转换为第二扇区的物理标识,从而完成逻辑标识和物理标识之间的转换,且根据第二扇区的物理标识和上述读取命令,生成读取执行命令,使得该读取执行命令来控制磁盘读取上述第二扇区中存储的第一密文,磁盘将第一密文发送至加速卡,加速卡对第一密文进行解密,从而得到第一明文,最后加速卡将第一明文发送至主机,以完成读取工作,并且加速卡将第一明文存储至加速卡的缓存中,以备下次使用。
可选地,如图2所示,上述方法还包括:在上述加速卡的缓存包括上述待读取数据的情况下,上述加速卡将上述待读取数据发送至上述主机。即说明加速卡的缓存包括上述待读取数据,就不再需要去磁盘获取待读取数据了,加速卡直接将待读取数据发送至主机,即可完成读取工作。
可选地,如图3所示,上述方法还包括:上述加速卡接收到上述主机发送的写入命令,其中,上述写入命令包括第二明文;上述加速卡根据上述写入命令,确定上述加速卡的缓存中是否包括第二明文;在上述加速卡的缓存包括上述第二明文的情况下,上述加速卡对上述第二明文进行加密处理,得到第二密文;上述加速卡根据上述写入命令和上述映射信息,将第三扇区的逻辑标识转换为第三扇区的物理标识;上述加速卡根据上述第三扇区的物理标识、上述第二密文和上述写入命令,生成写入执行命令,并将上述写入执行命令发送至上述磁盘,其中,上述写入执行命令用于控制上述磁盘将上述第二密文写入上述第三扇区中。
具体地,如图3所示,加速卡根据主机发送的写入命令,确定上述加速卡的缓存中是否包括第二明文,若加速卡的缓存包括上述第二明文,则上述加速卡对上述第二明文进行加密处理,得到第二密文,且加速卡根据上述写入命令和上述映射信息,将第三扇区的逻辑标识转换为第三扇区的物理标识,加速卡根据上述第三扇区的物理标识、上述第二密文和上述写入命令,生成写入执行命令,并将写入执行命令发送至上述磁盘,以控制磁盘将上述第二密文写入上述第三扇区中,从而完成写入工作。避免无效加解密,提高系统性能。主要体现在文件拷贝操作不需要加解密运算,小文件读取,写入不需要进行整个扇区的加解密,这对于扇区尺寸大的磁盘,效果更明显。
可选地,在上述加速卡根据上述写入命令和上述映射信息,将第三扇区的逻辑标识转换为第三扇区的物理标识之前,上述方法还包括:在上述加速卡的缓存不包括上述第二明文的情况下,上述加速卡将上述第二明文存储至上述加速卡的缓存中;上述加速卡对上述第二明文进行加密处理,得到上述第二密文。以备下次写入的时候直接使用。
实施例2
本申请实施例还提供了一种加速卡,需要说明的是,本申请实施例的加速卡可以用于执行本申请实施例所提供的用于数据的处理方法。以下对本申请实施例提供的加速卡进行介绍。
如图4所示,该加速卡包括:第一接收单元10、第一生成单元20和第一发送单元30;第一接收单元10用于接收主机发送的扇区拷贝命令,其中,上述扇区拷贝命令为在上述主机接收到文件拷贝请求之后,获取第一扇区的逻辑标识并根据上述第一扇区的逻辑标识生成的命令,上述第一扇区的逻辑标识为目标扇区的逻辑标识;第一生成单元20用于根据上述扇区拷贝命令,生成拷贝执行命令;第一发送单元30用于将上述拷贝执行命令发送至磁盘,以控制上述磁盘将源扇区的数据复制至上述目标扇区内,其中,源扇区的数据为待拷贝的数据。
上述加速卡中,通过加速卡根据主机发送的扇区拷贝命令,生成拷贝执行命令,再将拷贝执行命令发送至上述磁盘,以控制上述磁盘将源扇区的数据复制至上述第一扇区的逻辑标识内,从而不再通过主机读取数据,而是通过加速卡直接命令磁盘内部拷贝操作,省去了主机读取数据的时间,从而提高了效率,进而解决了现有方案的数据处理中的拷贝时,需要主机先读取数据,再写入数据,而造成效率较差的问题。
可选地,第一生成单元包括转换模块和生成模块,转换模块用于根据上述扇区拷贝命令和映射信息,将第一扇区的逻辑标识转换为第一扇区的物理标识,其中,上述映射信息用于表征逻辑扇区和物理扇区的映射关系,且上述映射信息存储在上述加速卡中,上述第一扇区的物理标识为上述目标扇区的物理标识;生成模块用于根据上述扇区拷贝命令和上述第一扇区的物理标识,生成上述拷贝执行命令。此过程中数据只是在磁盘内复制,不涉及操作系统读写过程,也不涉及文件数据加解密过程,极大的提高了操作的效率。
具体地,例如,有六个扇区,分别为扇区A、扇区B、扇区C、扇区D、扇区E和扇区F,将六个扇区分为三块区域,第一区域包括扇区A和扇区B,第二区域包括扇区C和扇区D,第三区域包括扇区E和扇区F,则六个扇区的物理标识分别为1、2、3、4、5、6,六个扇区的逻辑标识则分别为Q1、Q2、W1、W2、R1、R2,因此需要加速卡将扇区的逻辑标识转换为物理标识才可被磁盘识别。
可选地,该加速卡还包括构建单元和第二生成单元,在上述加速卡接收到上述主机发送的扇区拷贝命令之前,构建单元用于构建上述逻辑扇区和上述物理扇区之间的映射关系;第二生成单元用于根据上述逻辑扇区和上述物理扇区的映射关系,生成上述映射信息。映射信息存储至加速卡中便于加速卡后续根据映射信息完成逻辑标识和物理标识之间的转换。
可选地,该加速卡还包括第二接收单元、第一确定单元、第一转换单元、第三生成单元、第三接收单元和第一存储单元,第二接收单元用于接收到上述主机发送的读取命令;第一确定单元用于根据上述读取命令,确定上述加速卡的缓存中是否包括待读取数据;在上述加速卡的缓存不包括上述待读取数据的情况下,第一转换单元用于根据上述读取命令和上述映射信息,将第二扇区的逻辑标识转换为第二扇区的物理标识;第三生成单元用于根据上述第二扇区的物理标识和上述读取命令,生成读取执行命令,并将上述读取执行命令发送至上述磁盘,其中,上述读取执行命令用于控制上述磁盘读取上述第二扇区的第一密文;第三接收单元用于接收到上述磁盘发送的上述第一密文,并对上述第一密文进行解密处理,得到第一明文,其中,上述第一明文与上述待读取数据相同;第一存储单元用于将上述第一明文存储至上述加速卡的缓存中,并将上述第一明文发送至上述主机。
具体地,加速卡根据主机发送的读取命令,先来确定加速卡的缓存中是否包括了待读取数据,若加速卡的缓存不包括上述待读取数据,加速卡则根据上述读取命令和上述映射信息,将第二扇区的逻辑标识转换为第二扇区的物理标识,从而完成逻辑标识和物理标识之间的转换,且根据第二扇区的物理标识和上述读取命令,生成读取执行命令,使得该读取执行命令来控制磁盘读取上述第二扇区中存储的第一密文,磁盘将第一密文发送至加速卡,加速卡对第一密文进行解密,从而得到第一明文,最后加速卡将第一明文发送至主机,以完成读取工作,并且加速卡将第一明文存储至加速卡的缓存中,以备下次使用。
可选地,该加速卡还包括第二发送单元,在上述加速卡的缓存包括上述待读取数据的情况下,第二发送单元用于将上述待读取数据发送至上述主机。即说明加速卡的缓存包括上述待读取数据,就不再需要去磁盘获取待读取数据了,加速卡直接将待读取数据发送至主机,即可完成读取工作。
可选地,该加速卡还包括第四接收单元、第二确定单元、第一加密单元、第二转换单元和第四生成单元,第四接收单元用于接收到上述主机发送的写入命令,其中,上述写入命令包括第二明文;第二确定单元用于根据上述写入命令,确定上述加速卡的缓存中是否包括第二明文;在上述加速卡的缓存包括上述第二明文的情况下,第一加密单元用于对上述第二明文进行加密处理,得到第二密文;第二转换单元用于根据上述写入命令和上述映射信息,将第三扇区的逻辑标识转换为第三扇区的物理标识;第四生成单元用于根据上述第三扇区的物理标识、上述第二密文和上述写入命令,生成写入执行命令,并将上述写入执行命令发送至上述磁盘,其中,上述写入执行命令用于控制上述磁盘将上述第二密文写入上述第三扇区中。
具体地,加速卡根据主机发送的写入命令,确定上述加速卡的缓存中是否包括第二明文,若加速卡的缓存包括上述第二明文,则上述加速卡对上述第二明文进行加密处理,得到第二密文,且加速卡根据上述写入命令和上述映射信息,将第三扇区的逻辑标识转换为第三扇区的物理标识,加速卡根据上述第三扇区的物理标识、上述第二密文和上述写入命令,生成写入执行命令,并将写入执行命令发送至上述磁盘,以控制磁盘将上述第二密文写入上述第三扇区中,从而完成写入工作。
可选地,该加速卡还包括第二存储单元和第二加密单元,在上述加速卡根据上述写入命令和上述映射信息,将第三扇区的逻辑标识转换为第三扇区的物理标识之前,上述方法还包括:在上述加速卡的缓存不包括上述第二明文的情况下,第二存储单元用于将上述第二明文存储至上述加速卡的缓存中;第二加密单元用于对上述第二明文进行加密处理,得到上述第二密文。以备下次写入的时候直接使用。
上述加速卡包括处理器和存储器,上述第一接收单元、第一生成单元和第一发送单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有方案的数据处理中的拷贝时,需要主机先读取数据,再写入数据,而造成效率较差的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
实施例3
本申请实施例还提供了一种数据的处理方案,如图5所示,该方案包括以下步骤:
步骤1:加速卡接收上述主机发送的扇区拷贝命令,其中,上述扇区拷贝命令为在上述主机接收到文件拷贝请求之后,获取第一扇区的逻辑标识并根据上述第一扇区的逻辑标识生成的命令,上述第一扇区的逻辑标识为目标扇区的逻辑标识
步骤2:上述加速卡根据上述扇区拷贝命令和映射信息,将第一扇区的逻辑标识转换为第一扇区的物理标识,其中,上述映射信息用于表征逻辑扇区和物理扇区的映射关系,且上述映射信息存储在上述加速卡中,上述第一扇区的物理标识为上述目标扇区的物理标识,且用于被上述磁盘识别;
步骤3:上述加速卡根据上述扇区拷贝命令和上述第一扇区的物理标识,生成上述拷贝执行命令;
步骤4:上述加速卡将上述拷贝执行命令发送至上述磁盘,以控制上述磁盘将源扇区的数据复制至上述目标扇区内,其中,源扇区的数据为待拷贝的数据。
实施例4
本申请实施例还提供了一种数据处理系统,该系统包括加速卡、主机和磁盘,加速卡分别与主机和磁盘电连接,加速卡用于执行实施例1中任意一种上述的数据的处理方法,如图6所示,主机包括主机数据缓存、扩展的操作系统文件读写模块和设备驱动,加速卡包括加速卡缓存、加解密卸载引擎、映射信息、磁盘数据管理信息、磁盘接口控制器和命令执行引擎,其中加速卡缓存和主机数据缓存之间为直接进行数据交互的关系,无需采用CPU处理,磁盘接口控制器和主机数据缓存之间也是直接进行数据交互的关系。
扩展的操作系统文件读写模块和设备驱动,本发明扩充了负责将普通IO操作分解成事先定义好的,可由加速卡上命令执行引擎可执行的磁盘加解密基本操作原语,例如针对某个扇区的读取并全部解密,读取扇区并部分解密,复制扇区到一个新扇区,加密写入整个扇区,加密更新扇区的一部分后写入磁盘等。命令执行引擎负责解析并执行设备驱动发来的磁盘加解密基本操作原语;加解密卸载引擎 负责各类加解密算法实现,加解密操作和密钥管理的卸载执行。磁盘接口控制器负责磁盘接口控制;磁盘数据管理信息存贮磁盘及内部扇区管理的信息存储;映射信息存储虚拟磁盘对物理磁盘扇区的映射信息存储;加速卡缓存提供解密后数据的缓存。
加速卡命令执行引擎可以实现为一个嵌入式CPU加相应的固件,也可以是完全硬件实现;加速卡命令执行引擎不限于前面列出的命令,可以根据操作系统和应用的不同进行扩展。加速卡缓存可以根据需要缓存各类数据,并根据需要被配置成不同的缓存策略。映射信息提供了虚拟磁盘对物理磁盘扇区的映射信息,通过命令执行引擎为主机提供磁盘虚拟化支持。加速卡接口提供给主机的可以是由逻辑扇区构成的虚拟的磁盘,通过映射信息的对应关系,将主机操作的扇区,映射为实际的硬盘物理扇区。
实施例5
本申请实施例还提供了一种文件处理系统的分层处理架构,如图7所示,该分层处理架构包括系统调用层、虚拟文件系统层(即VFS层)、特定文件系统层、扇区数据信息扩展层、通用块设备驱动层、特定块设备驱动层(即加解密卡驱动)、加密卡物理层和磁盘设备物理层。
加密卡物理层是指所发明的加解密加速卡物理设备。特定块设备驱动层(加解密卡驱动),是指针对所发明的加解密加速卡所开发的操作系统设备驱动。扇区数据信息扩展层,扩展于特定文件系统层和通用块设备驱动层的新的处理层,主要工作是根据特定文件系统层保留的需读写的文件的信息,来收集所涉及扇区的的额外元信息,比如读写数据在扇区内的起始偏移量,真实长度等。该元信息的集合,会被扩展附着在调用下层的输入数据结构上(Linux上是BIO请求数据),并最终传递到加解密卡驱动,用于生成请求加解密卡执行的磁盘加解密基本操作原语。特定文件系统层包括特定文件系统接口,特定文件系统接口为在特定文件系统层扩展的对文件系统操作的接口,比如增加、删除文件,修改文件信息,以及申请、释放文件所占数据块等。系统调用层包括设备文件接口,设备文件接口为加解密卡驱动额外提供一个设备文件接口,用于提供不能通过原操作系统文件读写各层次来实现的文件数据操作功能。比如说文件拷贝。
图7的右侧描述了不涉及读写磁盘扇区内具体数据的操作流程,比如说文件拷贝。具体步骤是通过设备文件接口,接收应用特定请求,请求投稿虚拟文件系统层,到达特定文件系统层,通过特定文件接口获取完成应用特定请求所需的文件关联磁盘扇区信息,以文件拷贝为例,这一步骤获得的源文件所在的磁盘扇区列表和新文件的扇区列表。然后继续向下,到达特定块设备驱动层,生成加解密加速卡能够执行的命令,并最终发送到卡设备物理层去执行, 执行命令所需的磁盘扇区操作具体由磁盘设备物理层具体实施。
图7的左侧描述了需要读写磁盘扇区内具体数据的操作流程,比如说文件内容的读入和写出。系统调用层会在应用需要读写文件时被调用,调用按层次向下调用,依次通过虚拟文件系统层,特定文件系统层,到达本发明扩展的磁盘扇区扩展层,在该层,增加了获取读写文件所涉及扇区的的额外元信息,比如读写数据在扇区内的起始偏移量,真实长度等。该元信息的集合,会被扩展附着在调用下层的输入数据结构上(Linux上是BIO请求数据),并继续向下调用,最终传递到特定块设备驱动层,生成加解密加速卡能够执行的命令,并最终发送到卡设备物理层去执行, 执行命令所需的磁盘扇区操作具体由磁盘设备物理层具体实施。
实施例6
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现实施例1的数据的处理方法。
实施例7
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行实施例1的数据的处理方法。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (8)
1.一种数据的处理方法,其特征在于,应用于加速卡,加速卡分别与主机和磁盘电连接,包括:
所述加速卡接收所述主机发送的扇区拷贝命令,其中,所述扇区拷贝命令为在所述主机接收到文件拷贝请求之后,获取第一扇区的逻辑标识并根据所述第一扇区的逻辑标识生成的命令,所述第一扇区的逻辑标识为目标扇区的逻辑标识;
所述加速卡根据所述扇区拷贝命令,生成拷贝执行命令;
所述加速卡将所述拷贝执行命令发送至所述磁盘,以控制所述磁盘将源扇区的数据复制至所述目标扇区内,其中,源扇区的数据为待拷贝的数据;
所述加速卡根据所述扇区拷贝命令,生成拷贝执行命令,包括:
所述加速卡根据所述扇区拷贝命令和映射信息,将第一扇区的逻辑标识转换为第一扇区的物理标识,其中,所述映射信息用于表征逻辑扇区和物理扇区的映射关系,且所述映射信息存储在所述加速卡中,所述第一扇区的物理标识为所述目标扇区的物理标识;
所述加速卡根据所述扇区拷贝命令和所述第一扇区的物理标识,生成所述拷贝执行命令
所述方法还包括:
所述加速卡接收到所述主机发送的读取命令;
所述加速卡根据所述读取命令,确定所述加速卡的缓存中是否包括待读取数据;
在所述加速卡的缓存不包括所述待读取数据的情况下,所述加速卡根据所述读取命令和所述映射信息,将第二扇区的逻辑标识转换为第二扇区的物理标识;
所述加速卡根据所述第二扇区的物理标识和所述读取命令,生成读取执行命令,并将所述读取执行命令发送至所述磁盘,其中,所述读取执行命令用于控制所述磁盘读取所述第二扇区的第一密文;
所述加速卡接收到所述磁盘发送的所述第一密文,并对所述第一密文进行解密处理,得到第一明文,其中,所述第一明文与所述待读取数据相同;
所述加速卡将所述第一明文存储至所述加速卡的缓存中,并将所述第一明文发送至所述主机。
2.根据权利要求1所述的方法,其特征在于,在所述加速卡接收到所述主机发送的扇区拷贝命令之前,所述方法还包括:
所述加速卡构建所述逻辑扇区和所述物理扇区之间的映射关系;
所述加速卡根据所述逻辑扇区和所述物理扇区的映射关系,生成所述映射信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述加速卡的缓存包括所述待读取数据的情况下,所述加速卡将所述待读取数据发送至所述主机。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述加速卡接收到所述主机发送的写入命令,其中,所述写入命令包括第二明文;
所述加速卡根据所述写入命令,确定所述加速卡的缓存中是否包括第二明文;
在所述加速卡的缓存包括所述第二明文的情况下,所述加速卡对所述第二明文进行加密处理,得到第二密文;
所述加速卡根据所述写入命令和所述映射信息,将第三扇区的逻辑标识转换为第三扇区的物理标识;
所述加速卡根据所述第三扇区的物理标识、所述第二密文和所述写入命令,生成写入执行命令,并将所述写入执行命令发送至所述磁盘,其中,所述写入执行命令用于控制所述磁盘将所述第二密文写入所述第三扇区中。
5.根据权利要求4所述的方法,其特征在于,在所述加速卡根据所述写入命令和所述映射信息,将第三扇区的逻辑标识转换为第三扇区的物理标识之前,所述方法还包括:
在所述加速卡的缓存不包括所述第二明文的情况下,所述加速卡将所述第二明文存储至所述加速卡的缓存中;
所述加速卡对所述第二明文进行加密处理,得到所述第二密文。
6.一种加速卡,其特征在于,包括:
第一接收单元,用于接收主机发送的扇区拷贝命令,其中,所述扇区拷贝命令为在所述主机接收到文件拷贝请求之后,获取第一扇区的逻辑标识并根据所述第一扇区的逻辑标识生成的命令,所述第一扇区的逻辑标识为目标扇区的逻辑标识;
第一生成单元,用于根据所述扇区拷贝命令,生成拷贝执行命令;
第一发送单元,用于将所述拷贝执行命令发送至磁盘,以控制所述磁盘将源扇区的数据复制至所述目标扇区内,其中,源扇区的数据为待拷贝的数据;
所述加速卡还用于执行以下步骤:
所述加速卡根据所述扇区拷贝命令和映射信息,将第一扇区的逻辑标识转换为第一扇区的物理标识,其中,所述映射信息用于表征逻辑扇区和物理扇区的映射关系,且所述映射信息存储在所述加速卡中,所述第一扇区的物理标识为所述目标扇区的物理标识;
所述加速卡根据所述扇区拷贝命令和所述第一扇区的物理标识,生成所述拷贝执行命令
所述加速卡接收到所述主机发送的读取命令;
所述加速卡根据所述读取命令,确定所述加速卡的缓存中是否包括待读取数据;
在所述加速卡的缓存不包括所述待读取数据的情况下,所述加速卡根据所述读取命令和所述映射信息,将第二扇区的逻辑标识转换为第二扇区的物理标识;
所述加速卡根据所述第二扇区的物理标识和所述读取命令,生成读取执行命令,并将所述读取执行命令发送至所述磁盘,其中,所述读取执行命令用于控制所述磁盘读取所述第二扇区的第一密文;
所述加速卡接收到所述磁盘发送的所述第一密文,并对所述第一密文进行解密处理,得到第一明文,其中,所述第一明文与所述待读取数据相同;
所述加速卡将所述第一明文存储至所述加速卡的缓存中,并将所述第一明文发送至所述主机。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1至5中任意一项所述的数据的处理方法。
8.一种数据处理系统,其特征在于,包括:加速卡、主机和磁盘,所述加速卡分别与所述主机和所述磁盘电连接,所述加速卡用于执行权利要求1至5中任意一项所述的数据的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210989877.2A CN115079960B (zh) | 2022-08-18 | 2022-08-18 | 数据的处理方法、加速卡及数据处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210989877.2A CN115079960B (zh) | 2022-08-18 | 2022-08-18 | 数据的处理方法、加速卡及数据处理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115079960A CN115079960A (zh) | 2022-09-20 |
CN115079960B true CN115079960B (zh) | 2022-12-06 |
Family
ID=83245451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210989877.2A Active CN115079960B (zh) | 2022-08-18 | 2022-08-18 | 数据的处理方法、加速卡及数据处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115079960B (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1286434A (zh) * | 2000-09-13 | 2001-03-07 | 张巨洪 | 密文卷—ide数据通道加密卡 |
CN200990081Y (zh) * | 2006-10-27 | 2007-12-12 | 上海宏光经济信息发展中心青岛电子技术部 | 计算机硬盘数据加密卡 |
US8874935B2 (en) * | 2011-08-30 | 2014-10-28 | Microsoft Corporation | Sector map-based rapid data encryption policy compliance |
CN102622307B (zh) * | 2012-02-27 | 2016-03-30 | 记忆科技(深圳)有限公司 | 硬盘数据的操作方法和硬盘控制器 |
US10203888B2 (en) * | 2015-12-18 | 2019-02-12 | Intel Corporation | Technologies for performing a data copy operation on a data storage device with a power-fail-safe data structure |
CN110334145A (zh) * | 2018-02-24 | 2019-10-15 | 北京京东尚科信息技术有限公司 | 数据处理的方法和装置 |
CN111078120B (zh) * | 2018-10-18 | 2023-11-03 | 深信服科技股份有限公司 | 一种分布式文件系统的数据迁移方法、系统及相关组件 |
CN112579311B (zh) * | 2019-09-30 | 2023-11-10 | 华为技术有限公司 | 访问固态硬盘的方法及存储设备 |
CN113806756A (zh) * | 2020-06-16 | 2021-12-17 | 北京龙腾融智信息技术有限公司 | 磁盘数据加密方法、解密方法、装置、设备和存储介质 |
CN114780448A (zh) * | 2022-05-18 | 2022-07-22 | 苏州忆联信息系统有限公司 | 数据快速拷贝的方法、装置、计算机设备及存储介质 |
-
2022
- 2022-08-18 CN CN202210989877.2A patent/CN115079960B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115079960A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110784463B (zh) | 一种基于区块链的文件存储和访问方法 | |
CN102945355B (zh) | 基于扇区映射的快速数据加密策略遵从 | |
US9836616B2 (en) | Creating distinct user spaces through user identifiers | |
US8924739B2 (en) | System and method for in-place encryption | |
US8281152B2 (en) | Storage data encryption | |
CN102855452B (zh) | 基于加密组块的快速数据加密策略遵从 | |
US11068446B2 (en) | Multi-cloud bi-directional storage replication system and techniques | |
US20120216052A1 (en) | Efficient volume encryption | |
CN100585608C (zh) | 一种数据文件的安全处理方法及系统 | |
KR101047213B1 (ko) | 암호화 장치, 암호화 방법 및 컴퓨터 판독가능한 기록 매체 | |
AU2012204448A1 (en) | System and method for in-place encryption | |
JP6095330B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
US20140129848A1 (en) | Method and Apparatus for Writing and Reading Hard Disk Data | |
US20210191880A1 (en) | System, apparatus, and method for secure deduplication | |
CN110704161A (zh) | 虚拟机创建方法、装置及计算机设备 | |
CN115146318B (zh) | 虚拟磁盘安全存储方法 | |
KR20190106551A (ko) | 블록체인 기반의 접근 제어 장치 및 그 동작 방법 | |
CN110826099A (zh) | 适用于嵌入式实时操作系统的安全存储方法及系统 | |
JP2009064055A (ja) | 計算機システム及びセキュリティ管理方法 | |
CN113568568A (zh) | 一种基于分布式存储的硬件加密方法、系统及装置 | |
CN115079960B (zh) | 数据的处理方法、加速卡及数据处理系统 | |
CN101604296A (zh) | 磁盘数据扇区级加密方法 | |
KR102013678B1 (ko) | 데이터의 실시간 암호화 기능을 갖춘 보안파일시스템과 운영방법 | |
CN101763319A (zh) | 一种磁盘全盘加密系统及方法 | |
CN117234427B (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 |