发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据文件加密的方法、一种数据文件处理的方法、一种数据文件加密的装置、一种数据文件处理的装置和一种终端设备。
为了解决上述问题,本申请公开了一种数据文件的加密方法,包括:
确定待加密的数据文件,所述数据文件包括多个数据表页面;
在所述数据文件的指定数据表页面中添加加密标识;
加密所述数据文件中除所述指定数据表页面之外的数据表页面。
可选地,所述确定待加密的数据文件的步骤包括:
当创建数据文件时,将创建的数据文件确定为待加密的数据文件。
可选地,所述数据表页面包括页头,所述在所述数据文件的指定数据表页面中添加加密标识的步骤包括:
将所述数据文件的第一个数据表页面作为指定数据表页面;
在所述指定数据表页面的页头中添加加密标识。
可选地,还包括:
将所述加密后的数据文件转换为非加密的数据文件。
可选地,所述将所述加密后的数据文件转换为非加密的数据文件的步骤包括:
确定所述加密后的数据文件的第一个数据表页面;
将所述第一个数据表页面的页头中的加密标识修改为非加密标识。
本申请实施例还公开了一种数据文件的处理方法,所述数据文件包括指定数据表页面,所述方法包括:
接收数据文件处理操作指令;
根据所述指定数据表页面确定所述数据文件是否为加密的数据文件;
若是,则对所述数据文件中除所述指定数据表页面之外的数据表页面按照所述处理操作指令进行处理。
可选地,所述指定数据表页面为所述数据文件中的第一个数据表页面,所述根据所述指定数据表页面确定所述数据文件是否为加密的数据文件的步骤包括:
判断所述数据文件中的第一个数据表页面的页头是否具有加密标识。
可选地,所述处理操作指令包括读取操作指令,所述对所述数据文件中除所述指定数据表页面之外的数据表页面按照所述处理操作指令进行解密的步骤包括:
基于所述读取操作指令确定所述数据文件中待读取的数据表页面;
对所述待读取的数据表页面进行解密;
读取所述解密后的待读取的数据表页面。
可选地,所述处理操作指令包括写入操作指令,所述对所述数据文件中除所述指定数据表页面之外的数据表页面按照所述处理操作指令进行解密的步骤包括:
基于所述写入操作指令确定所述数据文件中待写入的数据表页面;
对所述待写入的数据表页面进行加密;
将所述加密后的待写入的数据表页面写入所述数据文件中。
可选地,所述处理操作指令包括恢复操作指令,所述对所述数据文件中除所述指定数据表页面之外的数据表页面按照所述处理操作指令进行解密的步骤包括:
基于所述恢复操作指令确定所述数据文件中待恢复的数据表页面;
对所述待恢复的数据表页面进行解密;
恢复所述解密后的待恢复的数据表页面。
本申请实施例还公开了一种数据文件的加密装置,包括:
数据文件确定模块,用于确定待加密的数据文件,所述数据文件包括多个数据表页面;
加密标识添加模块,用于在所述数据文件的指定数据表页面中添加加密标识;
数据文件加密模块,用于加密所述数据文件中除所述指定数据表页面之外的数据表页面。
可选地,所述数据文件确定模块包括:
待加密数据文件确定子模块,用于当创建数据文件时,将创建的数据文件确定为待加密的数据文件。
可选地,所述数据表页面包括页头,所述加密标识添加模块包括:
指定数据表页面确定子模块,用于将所述数据文件的第一个数据表页面作为指定数据表页面;
加密标识添加子模块,用于在所述指定数据表页面的页头中添加加密标识。
可选地,还包括:
数据文件转换模块,用于将所述加密后的数据文件转换为非加密的数据文件。
可选地,所述数据文件转换模块包括:
第一个数据表页面确定子模块,用于确定所述加密后的数据文件的第一个数据表页面;
加密标识修改子模块,用于将所述第一个数据表页面的页头中的加密标识修改为非加密标识。
本申请实施例还公开了一种数据文件的处理装置,所述数据文件包括指定数据表页面,所述装置包括:
处理操作指令接收模块,用于接收数据文件处理操作指令;
加密数据文件判断模块,用于根据所述指定数据表页面确定所述数据文件是否为加密的数据文件;若是,则调用数据文件处理模块;
数据文件处理模块,用于对所述数据文件中除所述指定数据表页面之外的数据表页面按照所述处理操作指令进行处理。
可选地,所述指定数据表页面为所述数据文件中的第一个数据表页面,所述加密数据文件判断模块包括:
加密标识判断模块,用于判断所述数据文件中的第一个数据表页面的页头是否具有加密标识。
可选地,所述处理操作指令包括读取操作指令,所述数据文件处理模块包括:
第一数据表页面确定子模块,用于基于所述读取操作指令确定所述数据文件中待读取的数据表页面;
数据表页面解密子模块,用于对所述待读取的数据表页面进行解密;
数据表页面读取子模块,用于读取所述解密后的待读取的数据表页面。
可选地,所述处理操作指令包括写入操作指令,所述数据文件处理模块包括:
第二数据表页面确定子模块,用于基于所述写入操作指令确定所述数据文件中待写入的数据表页面;
数据表页面加密子模块,用于对所述待写入的数据表页面进行加密;
将所述加密后的待写入的数据表页面写入所述数据文件中。
可选地,所述处理操作指令包括恢复操作指令,所述数据文件处理模块包括:
基于所述恢复操作指令确定所述数据文件中待恢复的数据表页面;
对所述待恢复的数据表页面进行解密;
恢复所述解密后的待恢复的数据表页面。
本申请实施例还公开了一种终端设备,包括:
一个或者一个以上处理器;
存储器;以及
一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
确定待加密的数据文件,所述数据文件包括多个数据表页面;
在所述数据文件的指定数据表页面中添加加密标识;
加密所述数据文件中除所述指定数据表页面之外的数据表页面。
本申请实施例还公开了一种终端设备,包括:
一个或者一个以上处理器;
存储器;以及
一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
接收数据文件处理操作指令;
根据所述指定数据表页面确定所述数据文件是否为加密的数据文件;
若是,则对所述数据文件中除所述指定数据表页面之外的数据表页面按照所述处理操作指令进行处理。
本申请实施例包括以下优点:
本申请实施例中对于数据文件以数据表页面为单位进行处理,具体地,在加密数据文件时,首先确定待加密的数据文件,然后针对该待加密的数据文件的指定数据表页面中添加加密标识,以表示该数据文件需要进行加密,最后对于该数据文件中除指定数据表页面之外的其他数据表页面进行加密,应用本申请实施例,即便数据文件的数据格式是公开的,但是会对于数据文件除指定数据表页面之外的其他数据表页面进行加密,不会产生数据泄露的风险。
当处理数据文件时,需要对于已加密的数据文件进行解密,具体地,在接收到针对数据文件的处理操作指令时,首先根据数据文件的指定数据表页面确定数据文件是否为加密的数据文件,若是,则对数据文件中除所述指定数据表页面的数据表页面按照处理操作指令进行处理,在本申请实施例,由于以数据表页面为单位,故而在按照处理操作指令的时候进行加解密,可以防止数据文件丢失造成的数据泄露。并且,用户在使用数据文件的过程中并不会知道数据文件的加解密的过程,用户是透明无感知的。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种数据文件的加密方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,确定待加密的数据文件,所述数据文件包括多个数据表页面;
在具体实现中,数据文件是指在数据库的用于存储数据的文件,也可以称为逻辑对象,是包含有一个或多个数据表页面的数据表,在本申请实施例中可以以数据表页面为单位,对于数据文件进行相应的操作。需要说明的是,本申请尤其适用于具有多个数据表页面的数据文件。
在一种示例中,对于InnoDB引擎,数据文件的保存格式可以是IBD格式,IBD格式以默认16k为一个page大小对数据进行保存。当然,在实际中数据文件也可以采用其他格式进行保存,本申请实施例对此不加以限制。
在本申请的一种优选实施例中,所述步骤101可以包括如下子步骤:
子步骤S11,当创建数据文件时,将创建的数据文件确定为待加密的数据文件。对于在数据库中增加一个create table option(创建表的选项),例如:
Create table t(id int)block_format=encrypted
其中,block_format=encrypted指令表示这个数据表是加密的,当有新的数据表被创建时,该数据表将自动对于其下的数据表页面进行加密。
步骤102,在所述数据文件的指定数据表页面中添加加密标识;
在本申请实施例中,可以在数据文件的指定数据表页面中添加加密标识,以表示该数据文件是需要加密的。
需要说明的是,本申请实施例中加密标识仅仅是添加在指定数据表页面中,并且,该指定数据表页面不需要加密,对于数据文件中的其他数据表页面,则可以通过该指定数据表页面是否有加密标识,来确定是否需要进行加密的操作。
在本申请的一种优选实施例中,所述数据表页面可以包括页头,所述步骤102可以包括如下子步骤:
子步骤S21,将所述数据文件的第一个数据表页面作为指定数据表页面;
子步骤S22,在所述指定数据表页面的页头中添加加密标识。
指定数据表页面可以设置为是数据文件中的第一个数据表页面,当确定待加密的数据文件后,在数据文件中的第一个数据表页面的页头中添加加密标识。
在一种示例中,当使用create table指令创建t.ibd数据文件的时候,在第一个数据表页面,即数据文件中页码为0的页头上,在加密位(encrypt bit)中写入“1”,以表示该数据文件需要加密,那么后续对于这个数据文件的数据表页面将会相应进行加密操作,这样就持久化了数据文件的加密特性。
当然,在实施本申请实施例时,对于加密标识的添加方式不一定局限于上述的写入“1”,根据数据文件格式的不同,也可以采用相应的方式来添加加密标识,本申请实施例对此不加以限制。
步骤103,加密所述数据文件中除所述指定数据表页面之外的数据表页面。
在本申请实施例中,指定数据表页面不需要加密,在数据文件的指定数据表页面中添加加密标识后,对于数据文件中的其他数据表页面,将采用诸如AES等加密算法来进行加密。
AES算法在密码学中又称Rijndael加密法,是一种块加密算法。所谓块加密算法,是指对于加密对象进行加密时,该加密对象需要是整数倍数,例如是16的倍数,如果加密对象为非16的倍数,那么就需要两次加密,使得两次加密的数据都是16的倍数,此时还可能会重复加密,浪费系统资源。
数据表页面的大小为16K,是16的倍数,现有技术中对数据表页面进行加密时,由于页头由于需要记录该数据表页面是否加密故而不进行加密,因此针对页面数据进行加密,故采用AES算法对于数据表页面进行加密时加密的对象不是16的倍数,导致需要两段加密,浪费系统资源。
而在本申请实施例中,采用AES算法时并非只对数据表页面的页面数据进行加密,而是对于数据表页面进行整块加密,也即是说加密对象是16的倍数,可以无需进行两段加密,可以节省系统资源。
需要说明的是,在本申请实施例中,仅需要对于一个指定数据表页面添加加密标识,其他的数据表页面则可以直接采用诸如AES等块加密算法对于数据表页面进行加密。由于块加密算法进行加密是对于整个数据表页面进行加密,故而相对于在先对数据文件的全部数据表页面进行加密的方式而言,可以节省不少系统资源。
在本申请的一种优选实施例中,所述方法还可以包括如下步骤:
将所述加密后的数据文件转换为非加密的数据文件。
在实际中,还可以将加密数据文件转换为非加密数据文件,即对于该数据文件可以不需要进行加密。具体来说,如果希望数据表从自动加密的属性更改成非自动加密的属性,可以使用以下指令:
alter table t block_format=default
即,如果有数据表在先具有自动加密的属性,则使用上述指令后对于该数据表将不再进行加密操作。
在本申请的一种优选实施例中,所述将所述加密后的数据文件转换为非加密的数据文件的步骤包括:
确定所述加密后的数据文件的第一个数据表页面;
将所述第一个数据表页面的页头中的加密标识修改为非加密标识。
在一种应用中,如果接收到将加密数据文件转换为非加密数据文件的操作指令,那么将会将指定数据表页面,比如数据文件中的第一个数据表页面的页头的加密标识修改为非加密标识,即,第一个数据表页面的页头的加密位中写入“0”,以表示该数据文件不再需要加密,那么后续对于这个数据文件的数据表页面将不会再进行加密操作。
本申请实施例中对于数据文件以数据表页面为单位进行处理,具体地,在加密数据文件时,首先确定待加密的数据文件,然后针对该待加密的数据文件的指定数据表页面中添加加密标识,以表示该数据文件需要进行加密,最后对于该数据文件中除指定数据表页面之外的其他数据表页面进行加密,应用本申请实施例,即便数据文件的数据格式是公开的,但是会对于数据文件除指定数据表页面之外的其他数据表页面进行加密,不会产生数据泄露的风险。
此外,当对于数据文件为采用块加密算法进行加密处理时,由于加密的是整个数据表页面,因此不需要两次加密,节省了系统资源。
参照图2,示出了本申请的一种数据文件的解密方法实施例的步骤流程图,所述数据文件包括指定数据表页面,具体可以包括如下步骤:
步骤201,接收数据文件处理操作指令;
在具体实现中,对于加密的数据文件,后续可以根据接收到的处理操作指令,来对于数据文件进行读取、写入和恢复等操作。
其中,在处理操作指令中包括有其所要进行处理的数据文件的标识,以及具体对应的数据文件的数据表页面的标识。例如,处理操作指令可以是针对数据文件A中第1页的数据表页面。
步骤202,根据所述指定数据表页面确定所述数据文件是否为加密的数据文件;若是,则执行步骤203;
在针对数据文件按照处理操作指令进行处理之前,首先需要根据数据文件的指定数据表页面确定是否为加密的数据文件。在本申请的一种优选实施例中,所述步骤202具体可以为如下子步骤:
步骤S31,判断所述数据文件中的第一个数据表页面的页头是否具有加密标识。
具体来说,首先确定数据文件中的指定数据表页面,一般而言,设置数据文件中的第一个数据表页面作为指定数据表页面,故而,可以直接获取第一个数据表页面,并判断第一个数据表页面的页头中是否具有加密标识,若第一个数据表页面的页头中具有加密标识(页头的encrypt bit为1),则可以确定为该数据文件是加密的数据文件。
反之,如果第一个数据表页面的页头中不具有加密标识(页头的encrypt bit为0),则可以确定为该数据文件是非加密的数据文件。
当确定数据文件为加密的数据文件时,将按照处理操作指令来对于数据文件进行诸如读取、写入和恢复等操作。
步骤203,对所述数据文件中除所述指定数据表页面之外的数据表页面按照所述处理操作指令进行处理。
在本申请的一种优选实施例中,所述处理操作指令可以包括读取操作指令,所述步骤203可以包括如下子步骤:
子步骤S41,基于所述读取操作指令确定所述数据文件中待读取的数据表页面;
子步骤S42,对所述待读取的数据表页面进行解密;
子步骤S43,读取所述解密后的待读取的数据表页面。
当接收到读取操作指令时,如果读取操作指令所针对的数据,如果在内存中没有命中数据表页面的时候,就从数据文件中读取该读取操作指令相应的数据表页面,在访问数据表页面中的页面数据之前,使用诸如AES解密算法,解密该数据表页面,然后再读取该数据表页面中的页面数据。
其中,数据库中数据表页面是缓存在缓存池中,但缓存池的大小有限,故而当读取的时候,发现这个page不再buffer pool中,就是没有命中的意思。
在本申请的一种优选实施例中,所述处理操作指令可以包括写入操作指令,所述步骤203可以包括如下子步骤:
子步骤S51,基于所述写入操作指令确定所述数据文件中待写入的数据表页面;
子步骤S52,对所述待写入的数据表页面进行加密;
子步骤S53,将所述加密后的待写入的数据表页面写入所述数据文件中。
当接收到写入操作指令时,可以对于数据表页面进行写入的操作,具体地,当需要写入数据的时候,先使用AES加密算法去加密写入了数据的数据表页面,然后再将该数据表页面写入到数据文件中相应的位置。
其中,当写入数据的时候,这个数据表页面已经在内存中了,故在完成对于数据表页面的写入操作时,就可以对数据表页面加密,然后将加密过的数据表页面写入数据文件相应的位置。
在本申请的一种优选实施例中,所述处理操作指令可以包括读取操作指令,所述步骤203可以包括如下子步骤:
子步骤S61,基于所述恢复操作指令确定所述数据文件中待恢复的数据表页面;
子步骤S62,对所述待恢复的数据表页面进行解密;
子步骤S63,恢复所述解密后的待恢复的数据表页面。
当数据文件异常关闭,需要数据库做恢复操作的时候,首先读取数据文件中指定数据表页面,例如页码为0的页头来判断这个数据文件是否是加密的,如果是加密的,随后对这个数据文件的其它数据表页面的读取都调用AES解密算法进行解密。
其中,当数据文件异常关闭需要进行数据恢复时,并不需要对于数据文件中每一个数据表页面进行恢复,如果仅仅是某个数据表页面需要恢复,则可以只读取该数据表页面,读取进入缓存池的时候,调用AES解密算法进行解密。可以理解,本申请对于有多个数据表页面的数据文件也就仅需要加密和解密一次,即本申请尤其适用于具有多个数据表页面的数据文件。
需要说明的是,上述对于数据文件的操作仅仅是作为示例,在实际中可以根据实际情况对于数据文件进行其他处理操作,本申请实施例对此不加以限制。
当处理数据文件时,需要对于已加密的数据文件进行解密,具体地,在接收到针对数据文件的处理操作指令时,首先根据数据文件的指定数据表页面确定数据文件是否为加密的数据文件,若是,则对数据文件中除所述指定数据表页面的数据表页面按照处理操作指令进行处理,在本申请实施例,由于以数据表页面为单位,故而在按照处理操作指令的时候进行加解密,可以防止数据文件丢失造成的数据泄露。并且,用户在使用数据文件的过程中并不会知道数据文件的加解密的过程,用户是透明无感知的。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图3,示出了本申请的一种数据文件的加密装置实施例的结构框图,具体可以包括如下模块:
数据文件确定模块301,用于确定待加密的数据文件,所述数据文件包括多个数据表页面;
加密标识添加模块302,用于在所述数据文件的指定数据表页面中添加加密标识;
数据文件加密模块303,用于加密所述数据文件中除所述指定数据表页面之外的数据表页面。
在本申请的一种优选实施例中,所述数据文件确定模块301包括:
待加密数据文件确定子模块,用于当创建数据文件时,将创建的数据文件确定为待加密的数据文件。
在本申请的一种优选实施例中,所述数据表页面包括页头,所述加密标识添加模块302包括:
指定数据表页面确定子模块,用于将所述数据文件的第一个数据表页面作为指定数据表页面;
加密标识添加子模块,用于在所述指定数据表页面的页头中添加加密标识。
在本申请的一种优选实施例中,还包括:
数据文件转换模块,用于将所述加密后的数据文件转换为非加密的数据文件。
在本申请的一种优选实施例中,所述数据文件转换模块包括:
第一个数据表页面确定子模块,用于确定所述加密后的数据文件的第一个数据表页面;
加密标识修改子模块,用于将所述第一个数据表页面的页头中的加密标识修改为非加密标识。
参照图4,示出了本申请的一种数据文件的处理装置实施例的结构框图,所述数据文件包括指定数据表页面,所述装置具体可以包括如下模块:
处理操作指令接收模块401,用于接收数据文件处理操作指令;
加密数据文件判断模块402,用于根据所述指定数据表页面确定所述数据文件是否为加密的数据文件;若是,则调用数据文件处理模块403;
数据文件处理模块403,用于对所述数据文件中除所述指定数据表页面之外的数据表页面按照所述处理操作指令进行处理。
在本申请的一种优选实施例中,所述指定数据表页面为所述数据文件中的第一个数据表页面,所述加密数据文件判断模块402可以包括:
加密标识判断模块,用于判断所述数据文件中的第一个数据表页面的页头是否具有加密标识。
在本申请的一种优选实施例中,所述处理操作指令包括读取操作指令,所述数据文件处理模块403可以包括:
第一数据表页面确定子模块,用于基于所述读取操作指令确定所述数据文件中待读取的数据表页面;
数据表页面解密子模块,用于对所述待读取的数据表页面进行解密;
数据表页面读取子模块,用于读取所述解密后的待读取的数据表页面。
在本申请的一种优选实施例中,所述处理操作指令包括写入操作指令,所述数据文件处理模块403可以包括:
第二数据表页面确定子模块,用于基于所述写入操作指令确定所述数据文件中待写入的数据表页面;
数据表页面加密子模块,用于对所述待写入的数据表页面进行加密;
将所述加密后的待写入的数据表页面写入所述数据文件中。
在本申请的一种优选实施例中,所述处理操作指令包括恢复操作指令,所述数据文件处理模块403可以包括:
基于所述恢复操作指令确定所述数据文件中待恢复的数据表页面;
对所述待恢复的数据表页面进行解密;
恢复所述解密后的待恢复的数据表页面。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图5是本申请实施例提供的一种终端设备结构示意图。参见图5,该终端设备可以用于实施上述实施例中提供的业务数据的加载方法。其中,该终端设备可以为手机、平板电脑pad、穿戴式移动设备(如智能手表)等。
终端设备1300可以包括通信单元1310、包括有一个或一个以上计算机可读存储介质的存储器1320、输入单元1330、显示单元1340、传感器1350、音频电路1360、WiFi(wireless fidelity,无线保真)模块1370、包括有一个或者一个以上处理核心的处理器1380、以及电源1390等部件。本领域技术人员可以理解,图5中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
通信单元1310可用于收发信息或通话过程中,信号的接收和发送,该通信单元1310可以为RF(Radio Frequency,射频)电路、路由器、调制解调器、等网络通信设备。特别地,当通信单元1310为RF电路时,将基站的下行信息接收后,交由一个或者一个以上处理器1380处理;另外,将涉及上行的数据发送给基站。通常,作为通信单元的RF电路包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,通信单元1310还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division MultipleAccess,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。存储器1320可用于存储软件程序以及模块,处理器1380通过运行存储在存储器1320的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备1300的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1320还可以包括存储器控制器,以提供处理器1380和输入单元1330对存储器1320的访问。
输入单元1330可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。可选地,输入单元1330可包括触敏表面1331以及其他输入设备1332。触敏表面1331,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面1331上或在触敏表面1331附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面1331可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1380,并能接收处理器1380发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面1331。除了触敏表面1331,输入单元1330还可以包括其他输入设备1332。可选地,其他输入设备1332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1340可用于显示由用户输入的信息或提供给用户的信息以及终端设备1300的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1340可包括显示面板1341,可选的,可以采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板1341。进一步的,触敏表面1331可覆盖显示面板1341,当触敏表面1331检测到在其上或附近的触摸操作后,传送给处理器1380以确定触摸事件的类型,随后处理器1380根据触摸事件的类型在显示面板1341上提供相应的视觉输出。虽然在图5中,触敏表面1331与显示面板1341是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面1331与显示面板1341集成而实现输入和输出功能。
终端设备1300还可包括至少一种传感器1350,比如光传感器、运动传感器以及其他传感器。可选地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1341的亮度,接近传感器可在终端设备1300移动到耳边时,关闭显示面板1341和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备1300还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1360、扬声器1361,传声器1362可提供用户与终端设备1300之间的音频接口。音频电路1360可将接收到的音频数据转换后的电信号,传输到扬声器1361,由扬声器1361转换为声音信号输出;另一方面,传声器1362将收集的声音信号转换为电信号,由音频电路1360接收后转换为音频数据,再将音频数据输出处理器1380处理后,经RF电路1310以发送给比如另一终端设备,或者将音频数据输出至存储器1320以便进一步处理。音频电路1360还可能包括耳塞插孔,以提供外设耳机与终端设备1300的通信。
为了实现无线通信,该终端设备上可以配置有无线通信单元1370,该无线通信单元1370可以为WiFi模块。WiFi属于短距离无线传输技术,终端设备1300通过无线通信单元1370可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了无线通信单元1370,但是可以理解的是,其并不属于终端设备1300的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1380是终端设备1300的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1320内的软件程序和/或模块,以及调用存储在存储器1320内的数据,执行终端设备1300的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1380可包括一个或多个处理核心;优选的,处理器1380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1380中。
终端设备1300还包括给各个部件供电的电源1390(比如电池),优选的,电源可以通过电源管理系统与处理器1380逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1390还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端设备1300还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端设备的显示单元是触摸屏显示器,终端设备还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
确定待加密的数据文件,所述数据文件包括多个数据表页面;
在所述数据文件的指定数据表页面中添加加密标识;
加密所述数据文件中除所述指定数据表页面之外的数据表页面。
可选地,所述确定待加密的数据文件的步骤包括:
当创建数据文件时,将创建的数据文件确定为待加密的数据文件。
可选地,所述数据表页面包括页头,所述在所述数据文件的指定数据表页面中添加加密标识的步骤包括:
将所述数据文件的第一个数据表页面作为指定数据表页面;
在所述指定数据表页面的页头中添加加密标识。
可选地,还包括:
将所述加密后的数据文件转换为非加密的数据文件。
可选地,所述将所述加密后的数据文件转换为非加密的数据文件的步骤包括:
确定所述加密后的数据文件的第一个数据表页面;
将所述第一个数据表页面的页头中的加密标识修改为非加密标识。
图6是本申请实施例提供的一种终端设备结构示意图。参见图6,该终端设备可以用于实施上述实施例中提供的业务数据的加载方法。其中,该终端设备可以为手机、平板电脑pad、穿戴式移动设备(如智能手表)等。
终端设备1500可以包括通信单元1510、包括有一个或一个以上计算机可读存储介质的存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、WiFi(wireless fidelity,无线保真)模块1570、包括有一个或者一个以上处理核心的处理器1580、以及电源1590等部件。本领域技术人员可以理解,图6中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
通信单元1510可用于收发信息或通话过程中,信号的接收和发送,该通信单元1510可以为RF(Radio Frequency,射频)电路、路由器、调制解调器、等网络通信设备。特别地,当通信单元1510为RF电路时,将基站的下行信息接收后,交由一个或者一个以上处理器1580处理;另外,将涉及上行的数据发送给基站。通常,作为通信单元的RF电路包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,通信单元1510还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division MultipleAccess,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备1500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1520还可以包括存储器控制器,以提供处理器1580和输入单元1530对存储器1520的访问。
输入单元1530可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。可选地,输入单元1530可包括触敏表面1531以及其他输入设备1532。触敏表面1531,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面1531上或在触敏表面1531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面1531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1580,并能接收处理器1580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面1531。除了触敏表面1531,输入单元1530还可以包括其他输入设备1532。可选地,其他输入设备1532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1540可用于显示由用户输入的信息或提供给用户的信息以及终端设备1500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1540可包括显示面板1541,可选的,可以采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板1541。进一步的,触敏表面1531可覆盖显示面板1541,当触敏表面1531检测到在其上或附近的触摸操作后,传送给处理器1580以确定触摸事件的类型,随后处理器1580根据触摸事件的类型在显示面板1541上提供相应的视觉输出。虽然在图6中,触敏表面1531与显示面板1541是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面1531与显示面板1541集成而实现输入和输出功能。
终端设备1500还可包括至少一种传感器1550,比如光传感器、运动传感器以及其他传感器。可选地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1541的亮度,接近传感器可在终端设备1500移动到耳边时,关闭显示面板1541和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备1500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1560、扬声器1561,传声器1562可提供用户与终端设备1500之间的音频接口。音频电路1560可将接收到的音频数据转换后的电信号,传输到扬声器1561,由扬声器1561转换为声音信号输出;另一方面,传声器1562将收集的声音信号转换为电信号,由音频电路1560接收后转换为音频数据,再将音频数据输出处理器1580处理后,经RF电路1510以发送给比如另一终端设备,或者将音频数据输出至存储器1520以便进一步处理。音频电路1560还可能包括耳塞插孔,以提供外设耳机与终端设备1500的通信。
为了实现无线通信,该终端设备上可以配置有无线通信单元1570,该无线通信单元1570可以为WiFi模块。WiFi属于短距离无线传输技术,终端设备1500通过无线通信单元1570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了无线通信单元1570,但是可以理解的是,其并不属于终端设备1500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1580是终端设备1500的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或模块,以及调用存储在存储器1520内的数据,执行终端设备1500的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1580可包括一个或多个处理核心;优选的,处理器1580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1580中。
终端设备1500还包括给各个部件供电的电源1590(比如电池),优选的,电源可以通过电源管理系统与处理器1580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1590还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端设备1500还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端设备的显示单元是触摸屏显示器,终端设备还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
接收数据文件处理操作指令;
根据所述指定数据表页面确定所述数据文件是否为加密的数据文件;
若是,则对所述数据文件中除所述指定数据表页面之外的数据表页面按照所述处理操作指令进行处理。
可选地,所述指定数据表页面为所述数据文件中的第一个数据表页面,所述根据所述指定数据表页面确定所述数据文件是否为加密的数据文件的步骤包括:
判断所述数据文件中的第一个数据表页面的页头是否具有加密标识。
可选地,所述处理操作指令包括读取操作指令,所述对所述数据文件中除所述指定数据表页面的数据表页面按照所述处理操作指令进行解密的步骤包括:
基于所述读取操作指令确定所述数据文件中待读取的数据表页面;
对所述待读取的数据表页面进行解密;
读取所述解密后的待读取的数据表页面。
可选地,所述处理操作指令包括写入操作指令,所述对所述数据文件中除所述指定数据表页面的数据表页面按照所述处理操作指令进行解密的步骤包括:
基于所述写入操作指令确定所述数据文件中待写入的数据表页面;
对所述待写入的数据表页面进行加密;
将所述加密后的待写入的数据表页面写入所述数据文件中。
可选地,所述处理操作指令包括恢复操作指令,所述对所述数据文件中除所述指定数据表页面的数据表页面按照所述处理操作指令进行解密的步骤包括:
基于所述恢复操作指令确定所述数据文件中待恢复的数据表页面;
对所述待恢复的数据表页面进行解密;
恢复所述解密后的待恢复的数据表页面。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种数据文件加密的方法、一种数据文件处理的方法、一种数据文件加密的装置、以及一种数据文件处理的装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。