一种数据文件的处理方法、系统、大数据处理服务器和计算机
存储介质
技术领域
本发明涉及数据文件的处理技术,尤其涉及一种数据文件的处理方法、系统、大数据处理服务器和计算机存储介质。
背景技术
在大数据平台中存储有各个系统或者各个用户的数据,出于安全考虑,对于存储在大数据平台中的数据,需要对数据文件进行加密处理,以防止被其他人窃取。
其中,大数据平台中可能存在分布式文件系统(Hadoop)平台、Teradata 平台等多种数据源,不同数据源对各自的数据文件进行加密的方法是不同的;以对外开放的平台即服务(PaaS,Platform-as-a-Service)为例,PaaS中存储了公共数据和私有数据,为了保证所有数据文件不会被获取,都会采用加密的方式存储,用户只有知晓数据文件的密钥和加密算法才可以获取数据文件,并且,在对数据文件的操作时,先对数据文件中的隐私列进行解密,再对解密后的数据文件进行操作,得到操作结果,然而,该方法得到的操作结果公开了原有的数据文件,不利于大数据平台对于数据文件的保护;在现有的PaaS平台中,主要是为了提供支持私有数据与公有数据的操作,或者私有数据与其他私有数据的操作的同时,仍然可以实现对数据文件的隐私保护,也就是说,现有的大数据平台中无法保证数据文件的隐私性的同时实现对数据文件的操作。
发明内容
有鉴于此,本发明实施例期望提供一种数据文件的处理方法、系统、大数据处理服务器和计算机存储介质,旨在实现大数据平台中保证数据文件的隐私性的同时实现对数据文件进行操作,获取多个数据关联之后的信息。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面,本发明实施例提供一种数据文件的处理方法,包括:接收数据文件的操作请求,根据所述操作请求获取所述数据文件的一个以上密钥和所述数据文件的一个以上解密算法;获取服务器侧的文件加密密钥及加密算法;基于所述数据文件的一个以上密钥、所述数据文件的一个以上解密算法、所述服务器侧的文件加密密钥及加密算法,生成与所述操作请求对应的操作指令;将所述操作指令向大数据处理服务器发送,接收所述大数据处理服务器对所述数据文件的操作指令的响应,所述响应中至少包括对所述数据文件的操作结果的存储位置;其中,所述操作结果是所述大数据处理服务器根据所述数据文件的一个以上密钥和所述数据文件的一个以上解密算法对所述数据文件进行解密,根据所述操作指令将对解密后的数据文件进行与所述操作指令对应的操作,以及根据所述服务器侧的文件加密密钥及加密算法对操作后的数据文件进行加密得到的。
进一步地,所述根据所述操作请求获取所述数据文件的一个以上密钥和所述数据文件的一个以上解密算法,包括:将所述操作请求中携带的用户身份信息与预先存储的用户身份信息进行匹配;若匹配成功,根据所述操作请求获取所述数据文件的一个以上密钥和所述数据文件的一个以上解密算法。
进一步地,所述若匹配成功,根据所述操作请求获取所述数据文件的一个以上密钥和所述数据文件的一个以上解密算法,包括:若匹配成功,将所述操作请求的操作类型与预先存储的所述用户身份信息对应的操作权限中的操作类型进行匹配;若匹配成功,根据所述操作请求获取所述数据文件的一个以上密钥和所述数据文件的一个以上解密算法。
进一步地,所述操作请求的操作类型包括以下一项或多项:连接操作、结合操作、排序操作、分组操作。
进一步地,所述密钥的安全等级,包括以下一项或多项:表级、分区级、行级、时间段级。
第二方面,本发明实施例提供一种数据文件的处理方法,包括:接收数据文件的操作指令;根据所述操作指令中携带的所述数据文件的一个以上密钥和所述数据文件的一个以上解密算法,解密所述数据文件,得到解密后的数据文件;根据所述操作指令,对所述解密后的数据文件进行与所述操作指令对应的操作,得到操作后的数据文件;根据所述操作指令中携带的文件加密密钥和加密算法,对所述操作后的数据文件进行加密,得到所述数据文件的操作结果;确定所述数据文件的操作结果的存储位置,并进行存储;发送所述数据文件的操作结果的存储位置至数据文件的处理系统。
进一步地,所述操作指令的操作类型包括以下一项或多项:连接操作、结合操作、排序操作、分组操作。
进一步地,所述密钥的安全等级,包括以下一项或多项:表级、分区级、行级、时间段级。
第三方面,本发明实施例提供一种数据文件的处理系统,所述系统至少包括处理器和配置为存储可执行指令的存储介质,其中:处理器配置为执行存储的可执行指令,所述可执行指令包括:接收数据文件的操作请求,根据所述操作请求获取所述数据文件的一个以上密钥和所述数据文件的一个以上解密算法;获取服务器侧的文件加密密钥及加密算法;基于所述数据文件的一个以上密钥、所述数据文件的一个以上解密算法、所述服务器侧的文件加密密钥及加密算法,生成与所述操作请求对应的操作指令;将所述操作指令向大数据处理服务器发送,接收所述大数据处理服务器对所述数据文件的操作指令的响应,所述响应中至少包括对所述数据文件的操作结果的存储位置;其中,所述操作结果是所述大数据处理服务器根据所述数据文件的一个以上密钥和所述数据文件的一个以上解密算法对所述数据文件进行解密,根据所述操作指令将对解密后的数据文件进行与所述操作指令对应的操作,以及根据所述服务器侧的文件加密密钥及加密算法对操作后的数据文件进行加密得到的。
进一步地,所述根据所述操作请求获取所述数据文件的一个以上密钥和所述数据文件的一个以上解密算法中,所述处理器还用于执行所述音频信号的调整程序,以实现以下步骤:将所述操作请求中携带的用户身份信息与预先存储的用户身份信息进行匹配;若匹配成功,根据所述操作请求获取所述数据文件的一个以上密钥和所述数据文件的一个以上解密算法。
进一步地,所述若匹配成功,根据所述操作请求获取所述数据文件的一个以上密钥和所述数据文件的一个以上解密算法中,所述处理器还用于执行所述音频信号的调整程序,以实现以下步骤:若匹配成功,将所述操作请求的操作类型与预先存储的所述用户身份信息对应的操作权限中的操作类型进行匹配;若匹配成功,根据所述操作请求获取所述数据文件的一个以上密钥和所述数据文件的一个以上解密算法。
进一步地,所述操作请求的操作类型包括以下一项或多项:连接操作、结合操作、排序操作、分组操作。
进一步地,所述密钥的安全等级,包括以下一项或多项:表级、分区级、行级、时间段级。
第四方面,本发明实施例提供一种大数据处理服务器,所述服务器至少包括处理器和配置为存储可执行指令的存储介质,其中:处理器配置为执行存储的可执行指令,所述可执行指令包括:接收数据文件的操作指令;根据所述操作指令中携带的所述数据文件的一个以上密钥和所述数据文件的一个以上解密算法,解密所述数据文件,得到解密后的数据文件;根据所述操作指令,对所述解密后的数据文件进行与所述操作指令对应的操作,得到操作后的数据文件;根据所述操作指令中携带的文件加密密钥和加密算法,对所述操作后的数据文件进行加密,得到所述数据文件的操作结果;确定所述数据文件的操作结果的存储位置,并进行存储;发送所述数据文件的操作结果的存储位置至数据文件的处理系统。
进一步地,所述操作指令的操作类型包括以下一项或多项:连接操作、结合操作、排序操作、分组操作。
进一步地,所述密钥的安全等级,包括以下一项或多项:表级、分区级、行级、时间段级。
第五方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述一个或多个实施例中数据文件的处理系统提供的数据文件的处理方法。
第六方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述一个或多个实施例中大数据处理服务器提供的数据文件的处理方法。
本发明实施例所提供的一种数据文件的处理方法、系统、大数据处理服务器和计算机存储介质,该方法包括:首先,接收数据文件的操作请求,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法,然后获取服务器侧的文件加密密钥和加密算法,基于数据文件的一个以上密钥、数据文件的一个以上解密算法、服务器侧的文件加密密钥和加密算法生成操作请求对应的操作指令;这样,使得操作指令中携带有数据文件的一个以上密钥、数据文件的一个以上解密算法和服务器侧的文件加密密钥和加密算法,再将操作指令发送至大数据处理服务器,那么,大数据处理服务器根据数据文件的一个以上密钥和数据文件的一个以上解密算法对数据文件进行解密,根据操作指令将对解密后的数据文件进行与操作指令对应的操作,以及根据服务器侧的文件加密密钥及加密算法对操作后的数据文件进行加密,得到对数据文件的操作指令的响应,响应中至少包括对数据文件的操作结果的存储位置,以方便对数据文件的操作结果进行读取和写入;也就是说,本发明实施例中,通过利用数据文件的一个以上密钥、数据文件的一个以上解密算法、服务器侧的文件加密密钥及加密算法生成的数据文件的操作指令,使得大数据服务器可以根据操作指令得到操作结果,且操作结果是根据服务器侧的文件加密密钥及加密算法经过加密得到的,这样在保护数据文件的同时实现了对数据文件的操作,有利于大数据平台对大数据进行解析,在保护数据文件的隐私性的同时能够实现对大数据平台中数据文件的操作,提高了大数据平台的可用性。
附图说明
图1为大数据处理系统的结构示意图;
图2为本发明实施例中的数据文件的处理方法的流程交互示意图;
图3为本发明实施例中的数据文件的处理方法的一种可选的流程示意图;
图4为本发明实施例中的数据文件的处理方法的另一种可选的流程示意图;
图5为本发明实施例中的数据文件的处理系统的结构示意图;
图6为本发明实施例中的大数据处理服务器的结构示意图;
图7为本发明实施例中的计算机存储介质的一种可选的结构示意图;
图8为本发明实施例中的计算机存储介质的另一种可选的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供一种数据文件的处理方法,该方法可以应用于大数据处理系统中,图1为大数据处理系统的结构示意图,如图1所示,大数据处理系统的可以包括:数据文件的处理系统11和大数据处理服务器12,且数据文件的处理系统11与大数据处理服务器12相连接。
其中,数据文件的处理系统11对各个用户(用户1,用户2,……用户n) 提供数据操作服务,该数据文件的处理系统11可以为一个分布式文件系统,并且,可以与大数据处理服务器12分别独立存在,也可以部署于大数据处理服务器12中。
上述大数据处理服务器12主要用于存储大数据,其中,大数据处理服务器 12可以存储提供给各个用户共享的公有数据,也可以存储提供给自身的私有数据,另外,大数据处理服务器12可以对数据进行加密或者解密,并可以实现对加密后的数据或者解密后的数据进行存储;图2为本发明实施例中的数据文件的处理方法的流程交互示意图,如图2所示,上述数据文件的处理方法可以包括:
S201:数据文件的处理服务器11接收数据文件的操作请求,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法;
其中,上述数据文件的个数可以是一个,也可以是多个,并且,上述数据文件可以是以表的形式存储,也可以以组的形式存储,这里,本发明实施例不作具体限定。
本发明实施例为了描述方便,将数据文件以表为例,具体来说,由于大数据处理服务器12中对于数据文件的加密一般是针对一个或多个隐私列,以下面表A、表B、表C和表D举例来说:
表A
表B
表C
表D
其中,上述表A(Ta)为客户表,表B(Tb)为基础行为表,表A和表B 为共有数据,由移动公司提供,表C(Tc)为上网行为表,属于网络公司的私有数据,表D(Td)为购买行为表,属于互联网公司的私有数据;上述表A分别对隐私列手机号和身份证号进行加密,表B、表C和表D对隐私列手机号进行加密。
以上述表A、表B、表C和表D为例,在大数据Paas平台中保存了公共数据和用户的私有数据,如果各个私有数据及公有数据对隐私列的加密方法是不同的,例如,表A、表B、表C和表D对隐私列手机号的加密方法是不同的,或者在某个用户的内部,不同时间的加密方法或者密钥是不同的,例如,表C 中不同时间段对隐私列手机号的加密方法是不同的,则隐私列里面虽然原始相同的数据,在被不同的加密处理后,结果是不同的,这样导致在以下几个场景,是无法操作的。
场景1,当大数据平台接收到来自用户的union操作(union操作为hive的 SQL命令中的操作)时,如果针对的列是隐私列,是无法操作的,不同表之间无法进行union操作,由于不同的表对隐私列如B每个月有一张表,而不同的表的隐私列采用不同的加密算法,表B中,8月表中第一行MSISDN加密后为 13位字符串:15874635241;9月表中第一行MSISDN加密后位13位字符串: 17842365897;这两位的原始值均为139****1111,union之后手机号字段均为密文,但相同手机号的密文又不同,导致后续无法进一步操作和使用;再如分区的情况也类似,举例如表B,表B是一个分区表,为了确保安全,针对每个分区可以设置一个加密密钥,这样防止万一有密钥泄露,也只能被盗取一个分区的数据,但这样产生的问题是,当有对多个分区之间进行union以达到汇总统计的谜底,手机号字段已经被加密,例如,无法将两个密文不同的手机号识别为同一个手机号,同时如果有下一步操作,将无法进一步进行groupby等操作。同样,如果对Unoin之后的结果对手机号字段进行orderby操作也是无效的。导致union后结果不可用。
场景2,当大数据平台接收到来自用户的join操作(hive的SQL命令中的操作)时,针对join的关键列是隐私列,无法操作;在举例如表C和表D,这两个表示不同用户的私有表,他们分别对手机号字段进行了隐私处理,不同用户有可能采用不同的加密算法以及密钥,当需要统计在各个基站小区(laccell) 中用户消费特点,需要对C和D按照手机字段,进行join操作,而现有的隐私保护方法导致这两列在加密之后,值无法对应,是无法进行join操作的,例如,表C中第一行MSISDN字段加密后为10位二进制码:0100111111;表D中第一行MSISDN字段加密后为11位数字:53269874512;这两个字段原始值均为 139****1111,原来可以进行join操作,但加密后无法进行join操作。
因此,为了在以上场景出现时能够即保护用户的隐私,例如表C和表D来自不同用户的私有数据,其中手机号字段为隐私列。但是,可以允许用户对表 C和表D实现数据文件的操作,保护手机号隐私的情况下,可以让用户获取其他信息。比如获取群组信息,虽然手机号是隐私字段,但是在实现表C和表D 的join操作后,可以得到在某个基站小区中,大家购买最多的产品列表,以此对地域及产品进行分析,此操作不需要了解用户手机号码,而是一个群组分析,该场景则可以使用以下方法来实现:
数据文件的处理系统11在接收到数据文件的操作请求时,如果是对一个数据文件的操作请求,例如orderby,需要对一个数据文件进行排序,但是该数据文件中不同月份对于手机号的加密密钥和加密算法是不同的,为了实现对一年内手机号码的通话次数的排序,需要先获取该数据文件中每个月的密钥和解密算法;如果是对一个以上的数据文件进行操作请求,例如表C和表D进行union 操作,但是表C和表D对手机号进行加密的密钥和解密算法是不同的,此时需要先获取表C和表D的密钥和解密算法,即根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法。
为了获取数据文件的一个以上密钥和数据文件的一个以上解密算法,可以通过以下一种或多种方式来实现:
在一种可选的实施例中,S201中根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法,包括:将操作请求中携带的用户身份信息与预先存储的用户身份信息进行匹配;若匹配成功,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法。
这里,数据文件的处理系统11在接收到数据文件的操作请求之后,例如是对表C和表D进行union操作,那么,数据文件的处理系统11根据操作请求识别用户操作的表和字段,然后将操作请求中携带的用户身份信息与预先存储的用户身份信息进行匹配;若匹配成功,说明该用户具有操作权限,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法。
在另一种可选的实施例中,若匹配成功,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法,包括:若匹配成功,将操作请求的操作类型与预先存储的用户身份信息对应的操作类型进行匹配;若匹配成功,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法。
这里,在操作请求的操作类型与预先存储的用户身份信息对应的操作类型匹配成功的情况下,再将操作请求的操作类型与预先存储的用户身份信息对应的操作类型进行匹配,匹配成功,说明该用户具有操作权限,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法。
S202:数据文件的处理服务器11获取服务器侧的文件加密密钥和加密算法;
其中,上述服务器侧的文件加密密钥和加密算法可以是由用户来设定的,也可以是数据文件的处理系统自动分配的,这里,本发明实施例不作具体限定。
S203:数据文件的处理服务器11基于数据文件的一个以上密钥、数据文件的一个以上解密算法、服务器侧的文件加密密钥及加密算法,生成与操作请求对应的操作指令;
在S201和S202中分别得到数据文件的一个以上密钥、数据文件的一个以上解密算法、服务器侧的文件加密密钥及加密算法,基于此,生成与操作请求对应的操作指令。
S204:数据文件的处理服务器11发送操作指令至大数据处理服务器12;
S205:大数据处理服务器12根据操作指令中携带的数据文件的一个以上密钥和数据文件的一个以上解密算法,解密数据文件,得到解密后的数据文件;
其中,上述数据文件是存放在大数据平台的;
S206:大数据处理服务器12根据操作指令,对解密后的数据文件进行与操作指令对应的操作,得到操作后的数据文件;
S207:大数据处理服务器12根据操作指令中携带的文件加密密钥和加密算法,对操作后的数据文件进行加密,得到数据文件的操作结果;
其中,大数据处理服务器12在接收到操作指令之后,根据操作指令中携带有数据文件的一个以上密钥和一个以上解密算法,对数据文件进行解密,例如,为了实现表C和表D的union操作,在获取到表C的手机号的密钥和解密算法,表D的手机号的密钥和解密算法之后,根据表C的手机号的密钥和解密算法对表C进行解密,根据表D的手机号的密钥和解密算法对表D进行解密,从而得到解密后表C和表D;
然后对解密后的表C和解密后的表D进行union操作,得到操作后的数据文件,最后,根据文件加密密钥和加密算法,对操作后的数据文件进行加密,得到数据文件的操作结果,上述文件加密密钥和加密算法可以是针对手机号的,也可以是针对手机号和其他新增的隐私列的,这里,本发明实施例不作具体限定。
在实际应用中,当进行数据的外部装载时,大数据处理服务器12由现有的装载工具如flume或者其他工具会调用分布式文件系统(HDFS)的客户端 (Client)写入数据。本发明实施例在client增加调用数据加解密模块。
数据写入流程:HDFSclient调用数据加密模块,根据权限服务器读取的用户隐私列、加密算法、密钥进行数据加密后写入分布式文件系统HDFS。
数据读出流程:HDFSclient调用数据解密模块,根据权限服务器读取的用户隐私列、加密算法、密钥进行解密,转换为原文后输出。
大数据处理服务器12进行数据文件的操作中,默认流程(以编程模型 mapreduce为例),由主服务器节点对数据进行分片,由各个服务节点读入负责的分片数据,然后进行数据操作;本发明实施例中在各个服务节点读取入数据分片后,如果为隐私字段,则加入一个数据解密环节,需要对读取的数据字段进行解密,后续操作与原来大数据平台相同。
在进行操作结果输出时,由用户提前对输出表格进行定义,定义内容包括隐私列、加密算法、密钥,然后由分片服务器在进行结果输出时,自动对输出结果的隐私列按照加密算法和密钥进行加密后,写入大数据平台的分布式文件系统。
S208:大数据处理服务器12确定数据文件的操作结果的存储位置,并进行存储;
在得到数据文件的操作结果之后,大数据处理服务器12确定数据文件的操作结果在分布式文件系统中的存储位置,然后将数据文件的操作结果存储至确定出的存储位置中。
大数据处理服务器12根据数据文件的操作结果的存储位置生成对数据文件的操作指令的响应。
S208:大数据处理服务器12将操作指令的响应发送至数据文件的处理系统 11。
其中,响应中至少包括对数据文件的操作结果的存储位置。
至此,数据文件的处理系统可以获知数据文件的操作结果的存储位置,当需要查看操作结果时,可以实现对大数据处理服务器12中的数据的读取和写入,从而获取到操作结果,并且操作结果中的隐私部分仍然是加密的。
其中,上述操作类型包括以下一项或多项:连接操作、结合操作、排序操作、分组操作。
例如,SQL命令中的union,join,orderby,groupby,count,sum等等。
本发明实施例主要关注对于隐私列的处理,同样也可以进行权限管理及设计,具体来说,针对隐私列,权限可以分为以下三大类:
X:操作权限,可以对隐私列进行操作,如join、union;
R:读权限,可以对隐私列进行原文的读取,例如select操作;
W:写权限,可以对隐私列进行写操作,包括更新和新增,包括insert和 update;
Null为没有以上权限;
也就是说,当用户发出的操作类型与操作权限中的操作类型匹配时,说明该用户具有该操作权限。
以表A、表B、表C和表D举例,用户权限表如下:
|
用户1 |
用户2 |
用户3 |
Ta.MSISDN |
RWX |
X |
X |
Ta.ID |
Null |
Null |
X |
Tb.MSISDN |
X |
X |
RW |
Tc.MSISDN |
Null |
X |
X |
Td.MSISDN |
Null |
X |
Null |
其中,上述密钥的安全等级,包括以下一项或多项:表级、分区级、行级、时间段级。
密钥一般可以专门由一个密钥服务器进行管理,该密钥服务器可以位于数据文件的处理系统11中,实现对所有的密钥进行管理,增删改查;加密算法也保存在密钥服务器中,用户也可以选择不同的加密算法;除默认算法外,密钥服务器还可提供算法管理能力,包括常规算法以及自定义算法等,还是以表A、表B、表C和表D举例:
针对密钥级别分类,密钥按照安全等级的由低至高,分为表级密钥、分区级密钥、行级密钥;其中,表级密钥为针对每个表格设定一个密钥,密钥存储格式如下:
|
Key |
Algorithm |
Ta.MSISDN |
|
|
Ta.ID |
|
|
Tb.MSISDN |
|
|
分区级密钥,针对每个表的每个分区设立一个密钥:
|
区域(Partion) |
Key |
Algorithm |
Tb.MSISDN.P |
9 |
|
|
Tb.MSISDN.P |
10 |
|
|
Tc.MSISDN.P |
9 |
|
|
行级密钥,这里可以对每个行分别设置密钥,由于行数较多,建议与数据存储一起而不是单独放在密钥服务器;且由于复杂度过高,应用较少。
时间段密钥,避免行级密钥复杂度,考虑灵活度以及效率,在实际中可采用按照时间分片对行进行密钥设立,该方法要求每个行,要记录该行记录产生的时间戳,由时间戳在时间段密钥表中,匹配得到该行所需的密钥,时间段密钥采用拉链表的方式进行记录,例如如果时间戳在20170619日12点01分之后, 20170621日12点之前采用key1密钥,2017年0621日12点01分之后一直持续使用Key2密钥,如下表所示:
|
Startime |
Endtime |
Key |
Algorithm |
Tb.MSISDN.L |
20170619120100 |
20170621120000 |
Key1 |
|
Tb.MSISDN.L |
20170621120100 |
9999 |
Key2 |
|
上述密钥的生成,可以由用户指定(针对用户私有数据,可自定义密钥),也可由密钥服务器自动生成,用户输入密钥的相关参数,自动生成密钥,密钥更新机制包括周期性和事件触发两种模式,周期性密钥采用一定时间周期,如 7天、30天定期更新,或者由用户触发,更换密钥,时间段密钥往往采用密钥服务器自动生成密钥的方式,密钥一旦更新,会引起隐私数据重新处理的流程,数据文件的处理系统会触发所有隐私数据的重新加密流程。
另外,如果出现密钥丢失的可能,用户会发起更换密钥流程,这里的密钥更换不同于密钥更新,是指对于现在的当前密钥进行更换,例如表A,使用了表级密钥,当用户发起密钥更换流程的时候,触发以下环节:
用户定义密钥或者密钥服务器生成最新密钥,触发hadoop的任务,读取相关表格的隐私字段,进行解密及重新加密处理,写入大数据平台分布式文件系统。
在本发明实施例中,通过获取数据文件采用的各种加密手段和方法,来保护存储在大数据处理服务器12中的数据隐私,隐私数据一旦处理后,尤其是不同用户,或者用户的不同时期的数据,都可以在隐私保护的情况下,进行互相关联和连接等操作。
本发明实施例所提供的一种数据文件的处理方法,该方法包括:首先,接收数据文件的操作请求,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法,然后获取服务器侧的文件加密密钥和加密算法,基于数据文件的一个以上密钥、数据文件的一个以上解密算法、服务器侧的文件加密密钥和加密算法生成操作请求对应的操作指令;这样,使得操作指令中携带有数据文件的一个以上密钥、数据文件的一个以上解密算法和服务器侧的文件加密密钥和加密算法,再将操作指令发送至大数据处理服务器,那么,大数据处理服务器根据数据文件的一个以上密钥和数据文件的一个以上解密算法对数据文件进行解密,根据操作指令将对解密后的数据文件进行与操作指令对应的操作,以及根据服务器侧的文件加密密钥及加密算法对操作后的数据文件进行加密,得到对数据文件的操作指令的响应,响应中至少包括对数据文件的操作结果的存储位置,以方便对数据文件的操作结果进行读取和写入;也就是说,本发明实施例中,通过利用数据文件的一个以上密钥、数据文件的一个以上解密算法、服务器侧的文件加密密钥及加密算法生成的数据文件的操作指令,使得大数据服务器可以根据操作指令得到操作结果,且操作结果是根据服务器侧的文件加密密钥及加密算法经过加密得到的,这样在保护数据文件的同时实现了对数据文件的操作,有利于大数据平台对大数据进行解析,在保护数据文件的隐私性的同时能够实现对大数据平台中数据文件的操作,提高了大数据平台的可用性。
下面以大数据处理系统中各个系统侧对上述数据文件的处理方法进行说明。
首先,以数据文件的处理系统对数据文件的处理方法进行描述。
图3为本发明实施例中的数据文件的处理方法的一种可选的流程示意图,如图3所示,该方法包括:
S301:接收数据文件的操作请求,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法;
S302:获取服务器侧的文件加密密钥及加密算法;
S303:基于数据文件的一个以上密钥、数据文件的一个以上解密算法、服务器侧的文件加密密钥及加密算法,生成与操作请求对应的操作指令;
S304:将操作指令向大数据处理服务器发送,接收大数据处理服务器对数据文件的操作指令的响应。
其中,响应中至少包括对数据文件的操作结果的存储位置。
其中,操作结果是大数据处理服务器根据数据文件的一个以上密钥和数据文件的一个以上解密算法对数据文件进行解密,根据操作指令将对解密后的数据文件进行与操作指令对应的操作,以及根据服务器侧的文件加密密钥及加密算法对操作后的数据文件进行加密得到的。
在一种可选的实施例中,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法,包括:
将操作请求中携带的用户身份信息与预先存储的用户身份信息进行匹配;若匹配成功,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法。
在一种可选的实施例中,若匹配成功,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法,包括:
若匹配成功,将操作请求的操作类型与预先存储的用户身份信息对应的操作权限中的操作类型进行匹配;若匹配成功,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法。
其中,上述操作请求的操作类型包括以下一项或多项:连接操作、结合操作、排序操作、分组操作;上述密钥的安全等级,包括以下一项或多项:表级、分区级、行级、时间段级。
其次,以大数据处理服务器侧对数据文件的处理方法进行描述。
图4为本发明实施例中的数据文件的处理方法的另一种可选的流程示意图,如图4所示,该方法包括:
S401:接收数据文件的操作指令;
S402:根据操作指令中携带的数据文件的一个以上密钥和数据文件的一个以上解密算法,解密数据文件,得到解密后的数据文件;
S403:根据操作指令,对解密后的数据文件进行与操作指令对应的操作,得到操作后的数据文件;
S404:根据操作指令中携带的文件加密密钥和加密算法,对操作后的数据文件进行加密,得到数据文件的操作结果;
S405:确定数据文件的操作结果的存储位置,并进行存储;
S406:发送数据文件的操作结果的存储位置至数据文件的处理系统.
其中,上述操作请求的操作类型包括以下一项或多项:连接操作、结合操作、排序操作、分组操作;上述密钥的安全等级,包括以下一项或多项:表级、分区级、行级、时间段级。
基于同一发明构思,本发明实施例提供一种数据文件的处理系统,与上述一个或者多个实施例中所述的数据文件的处理系统一致。
图5为本发明实施例中的数据文件的处理系统的结构示意图,如图5所示,该数据文件的处理系统11至少包括处理器51和配置为存储可执行指令的存储介质52,其中:
处理器51配置为执行存储的可执行指令,所述可执行指令包括:
接收数据文件的操作请求,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法;
获取服务器侧的文件加密密钥及加密算法;
基于数据文件的一个以上密钥、数据文件的一个以上解密算法、服务器侧的文件加密密钥及加密算法,生成与操作请求对应的操作指令;
将操作指令向大数据处理服务器发送,接收大数据处理服务器对数据文件的操作指令的响应。
其中,响应中至少包括对数据文件的操作结果的存储位置;
其中,操作结果是大数据处理服务器根据数据文件的一个以上密钥和数据文件的一个以上解密算法对数据文件进行解密,根据操作指令将对解密后的数据文件进行与操作指令对应的操作,以及根据服务器侧的文件加密密钥及加密算法对操作后的数据文件进行加密得到的。
在一种可选的实施例中,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法中,所述处理器51还用于执行所述数据文件的处理程序,以实现以下步骤:将操作请求中携带的用户身份信息与预先存储的用户身份信息进行匹配;若匹配成功,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法。
在一种可选的实施例中,若匹配成功,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法中,所述处理器51还用于执行所述数据文件的处理程序,以实现以下步骤:若匹配成功,将操作请求的操作类型与预先存储的用户身份信息对应的操作权限中的操作类型进行匹配;若匹配成功,根据操作请求获取数据文件的一个以上密钥和数据文件的一个以上解密算法。
其中,上述操作请求的操作类型包括以下一项或多项:连接操作、结合操作、排序操作、分组操作;上述密钥的安全等级,包括以下一项或多项:表级、分区级、行级、时间段级。
基于同一发明构思,本发明实施例提供一种大数据处理服务器,与上述一个或者多个实施例中所述的大数据处理服务器一致。
图6为本发明实施例中的大数据处理服务器的结构示意图,如图6所示,该大数据处理服务器12至少包括处理器61和配置为存储可执行指令的存储介质62,其中:
处理器61配置为执行存储的可执行指令,所述可执行指令包括:
接收数据文件的操作指令;
根据操作指令中携带的数据文件的一个以上密钥和数据文件的一个以上解密算法,解密数据文件,得到解密后的数据文件;
根据操作指令,对解密后的数据文件进行与操作指令对应的操作,得到操作后的数据文件;
根据操作指令中携带的文件加密密钥和加密算法,对操作后的数据文件进行加密,得到数据文件的操作结果;
确定数据文件的操作结果的存储位置,并进行存储;
发送数据文件的操作结果的存储位置至数据文件的处理系统。
其中,上述操作类型包括以下一项或多项:连接操作、结合操作、排序操作、分组操作;上述密钥的安全等级,包括以下一项或多项:表级、分区级、行级、时间段级。
本发明实施例提供一种计算机存储介质,图7为本发明实施例中的计算机存储介质的一种可选的结构示意图,如图7所示,所述计算机存储介质700中存储有计算机可执行指令,该计算机可执行指令配置为执行本发明其他实施例中数据文件的处理系统提供的数据文件的处理方法。
本发明实施例提供一种计算机存储介质,图8为本发明实施例中的计算机存储介质的另一种可选的结构示意图,如图8所示,所述计算机存储介质800 中存储有计算机可执行指令,该计算机可执行指令配置为执行本发明其他实施例中大数据处理服务器提供的数据文件的处理方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。