本申请涉及互联网技术领域,尤其涉及一种数据的处理方法和装置。
背景技术:
在大数据时代,共享数据已经成为大势所趋。目前,服务器在接收到来自客户端的数据请求消息后,会获取该数据请求消息所请求的数据,并通过数据响应消息将数据返回给客户端,由客户端利用该数据进行业务处理。例如,客户端向服务器发送请求用户1的数据的数据请求消息,服务器在接收到该数据请求消息后,获取用户1的数据(如订单信息1),并通过数据响应消息将订单信息1返回给客户端。客户端在获得订单信息1后,利用该订单信息1进行业务处理,例如,该订单信息表示用户1的订单a正处在退款状态,且在10小时内将完成退款业务时,则可以通知用户1其订单a正处在退款状态,且在10小时内将完成退款业务。
由于服务器上存储的数据中会包括多个数据对象,如订单信息1、邮箱地址1、手机号码1等,而在上述方式中,服务器会通过数据响应消息将订单信息1、邮箱地址1、手机号码1等数据均返回给客户端,而在将邮箱地址1、手机号码1等数据返回给客户端时,会造成安全隐患。
技术实现要素:
本申请提供一种数据的处理方法,应用在服务器上,包括:
在接收到用户通过客户端发送的数据请求消息后,生成包括数据的数据响应消息,所述数据包括至少一个数据对象;
获取所述用户对应的第一权限等级;
针对每个数据对象,获取所述数据对象对应的第二权限等级;
当所述第一权限等级小于所述第二权限等级时,则对所述数据对象进行脱敏处理;
将包含脱敏处理后的数据对象的数据响应消息返回给所述客户端。
所述获取所述用户对应的第一权限等级的过程,具体包括:
从所述数据请求消息中解析出所述用户的用户标识;
利用用户标识与权限等级的映射关系,确定所述用户标识对应的第一权限等级。
所述利用用户标识与权限等级的映射关系,确定所述用户标识对应的第一权限等级的过程,具体包括:
利用预先配置的用户标识与用户角色的映射关系,确定所述用户标识对应的用户角色,所述用户标识对应的用户角色为一个或者多个;
当所述用户标识对应一个用户角色时,则利用预先配置的用户角色与权限等级的映射关系,确定所述一个用户角色对应的权限等级;
将所述一个用户角色对应的权限等级确定为所述用户标识对应的第一权限等级;
当所述用户标识对应多个用户角色时,则利用预先配置的用户角色与权限等级的映射关系,确定所述多个用户角色分别对应的权限等级;
将多个权限等级中的最高权限等级,确定为所述用户标识对应的第一权限等级。
所述获取所述数据对象对应的第二权限等级的过程,具体包括:
确定所述数据对象对应的数据类型;
利用预先配置的数据类型与权限等级的映射关系,确定所述数据类型对应的权限等级;
将所述数据类型对应的权限等级确定为所述数据对象对应的第二权限等级。
所述方法进一步包括:
在获取所述数据对象对应的第二权限等级之后,当所述第一权限等级大于等于所述第二权限等级时,则拒绝对所述数据对象进行脱敏处理。
所述对所述数据对象进行脱敏处理的过程,具体包括:
确定所述数据对象对应的数据类型;
利用预先配置的数据类型与脱敏处理策略的映射关系,确定所述数据类型对应的脱敏处理策略;
利用所述脱敏处理策略对所述数据对象进行脱敏处理。
所述对所述数据对象进行脱敏处理的过程,具体包括:
在所述数据响应消息中,对所述数据对象进行屏蔽处理;或者,在所述数据响应消息中,将所述数据对象转换为不可恢复的部分数据对象。
本申请提供一种数据的处理方法,应用在客户端上,包括:
向服务器发送数据请求消息,以使所述服务器生成包括数据的数据响应消息,所述数据包括至少一个数据对象,获取用户对应的第一权限等级,并针对每个数据对象,获取所述数据对象对应的第二权限等级;
接收所述服务器返回的包含脱敏处理后的数据对象的数据响应消息,其中,所述脱敏处理后的数据对象是所述服务器在所述第一权限等级小于所述第二权限等级时,对所述数据对象进行脱敏处理后得到的数据对象。
本申请提供一种数据的处理装置,应用在服务器上,包括:
生成模块,用于在接收到用户通过客户端发送的数据请求消息后,生成包括数据的数据响应消息,所述数据包括至少一个数据对象;
第一获取模块,用于获取所述用户对应的第一权限等级;
第二获取模块,用于针对每个数据对象,获取所述数据对象对应的第二权限等级;
处理模块,用于当所述第一权限等级小于所述第二权限等级时,则对所述数据对象进行脱敏处理;
发送模块,用于将包含脱敏处理后的数据对象的数据响应消息返回给所述客户端。
所述第一获取模块,具体用于在获取所述用户对应的第一权限等级的过程中,从所述数据请求消息中解析出所述用户的用户标识,并利用用户标识与权限等级的映射关系,确定所述用户标识对应的第一权限等级。
所述第一获取模块,具体用于在利用用户标识与权限等级的映射关系,确定所述用户标识对应的第一权限等级的过程中,利用预先配置的用户标识与用户角色的映射关系,确定所述用户标识对应的用户角色,所述用户标识对应的用户角色为一个或者多个;当所述用户标识对应一个用户角色时,则利用预先配置的用户角色与权限等级的映射关系,确定所述一个用户角色对应的权限等级,并将所述一个用户角色对应的权限等级确定为所述用户标识对应的第一权限等级;当所述用户标识对应多个用户角色时,则利用预先配置的用户角色与权限等级的映射关系,确定所述多个用户角色分别对应的权限等级,并将多个权限等级中的最高权限等级,确定为所述用户标识对应的第一权限等级。
所述第二获取模块,具体用于在获取所述数据对象对应的第二权限等级的过程中,确定所述数据对象对应的数据类型,并利用预先配置的数据类型与权限等级的映射关系,确定所述数据类型对应的权限等级,并将所述数据类型对应的权限等级确定为所述数据对象对应的第二权限等级。
所述处理模块,还用于在获取所述数据对象对应的第二权限等级后,当第一权限等级大于等于第二权限等级时,则拒绝对所述数据对象进行脱敏处理。
所述处理模块,具体用于在对所述数据对象进行脱敏处理的过程中,确定所述数据对象对应的数据类型,并利用预先配置的数据类型与脱敏处理策略的映射关系,确定所述数据类型对应的脱敏处理策略,并利用所述脱敏处理策略对所述数据对象进行脱敏处理。
所述处理模块,具体用于在对所述数据对象进行脱敏处理的过程中,在所述数据响应消息中,对所述数据对象进行屏蔽处理;或者,在所述数据响应消息中,将所述数据对象转换为不可恢复的部分数据对象。
本申请提供一种数据的处理装置,应用在客户端上,包括:
发送模块,用于向服务器发送数据请求消息,以使所述服务器生成包括数据的数据响应消息,所述数据包括至少一个数据对象,获取用户对应的第一权限等级,并针对每个数据对象,获取所述数据对象对应的第二权限等级;
接收模块,用于接收所述服务器返回的包含脱敏处理后的数据对象的数据响应消息,所述脱敏处理后的数据对象是所述服务器在所述第一权限等级小于所述第二权限等级时,对所述数据对象进行脱敏处理后得到的数据对象。
基于上述技术方案,本申请实施例中,在接收到来自客户端的数据请求消息后,生成包括数据的数据响应消息,所述数据包括至少一个数据对象,并获取用户对应的第一权限等级;针对每个数据对象,获取所述数据对象对应的第二权限等级;当所述第一权限等级小于所述第二权限等级时,则对所述数据对象进行脱敏处理;将所述数据响应消息返回给所述客户端。基于此,当请求数据的用户的权限较高时,则服务器可以将所有的数据对象均返回给客户端,如将订单信息1、邮箱地址1、手机号码1等均返回给客户端,这样可以保证客户端获取到所有数据对象,并进行业务处理,提高业务体验,并提高用户使用感受。当请求数据的用户的权限较低时,则服务器可以只将部分数据对象返回给客户端,而其它数据对象被进行脱敏处理,如将订单信息1返回给客户端,而邮箱地址1、手机号码1被进行脱敏处理,这样可以保证客户端只获取到业务处理所需的部分数据对象,从而保证安全性。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请一种实施方式中的应用场景示意图;
图2是本申请一种实施方式中的数据的处理方法的流程图;
图3是本申请一种实施方式中的权限等级比较的示意图;
图4是本申请另一种实施方式中的数据的处理方法的流程图;
图5是本申请另一种实施方式中的数据的处理方法的流程图;
图6是本申请一种实施方式中的服务器的硬件结构图;
图7是本申请一种实施方式中的数据的处理装置的结构图;
图8是本申请一种实施方式中的客户端的硬件结构图;
图9是本申请一种实施方式中的数据的处理装置的结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
针对现有技术中存在的问题,本申请实施例中提出一种数据的处理方法,该方法可以应用于包括客户端和服务器(如应用服务器等)的系统中。如图1所示,为本申请实施例的应用场景示意图。用户a通过客户端a登录到服务器,并请求用户1的数据,用户b通过客户端b登录到服务器,并请求用户1的数据。在一个例子中,用户a可以是系统管理员,用户b是普通用户。
本申请实施例中所指的数据,可以是用户数据,也可以是其它类型数据,如公司的经营数据等,可以是各种类型的业务数据,本申请实施例中对于数据的来源不做限制,所有类型均在本申请保护范围之内,后续以用户数据为例进行说明,即用户a/用户b请求用户1的数据,即用户1的用户数据。
在本申请实施例中,存在两种类型的用户,第一种类型的用户可以是:用于请求数据的用户,如上述的用户a和用户b等,第二种类型的用户可以是:存储的数据(向用户a/用户b提供的数据)所对应的用户,如上述的用户1等。
其中,针对每个用户维护多个数据类型的数据,并可以将每个数据类型的数据的具体内容称为一个数据对象。例如,针对所有用户,维护的数据类型可以是订单信息、邮箱地址、手机号码等。而针对用户1,则对应于订单信息的数据对象可以为:订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务;此外,对应于邮箱地址的数据对象可以为:abc@126.com,且对应于手机号码的数据对象可以为:13800000000。在一个例子中,维护的数据可以如表1所示,表1所示只是一个示例,在实际应用中还可以有其它方式,对此不做限制,所有可以维护数据的方式,均在本申请实施例的保护范围之内。
表1
其中,表1所示的内容可以维护在服务器的数据库中,也可以维护在服务器的本地存储介质(如硬盘、内存等)中,还可以维护在其它服务器上,且服务器可以从其它服务器上获得该数据,对此存储位置不做限制。
本申请实施例中,基于安全因素的考虑,当不同的用户(如上述的用户a和用户b)请求同一用户(如用户1)的数据时,可以向不同的用户提供不同的数据对象,以保证数据的安全性。例如,当用户a请求用户1的数据时,考虑到用户a是系统管理员,则可以向用户a返回订单信息(订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务)、邮箱地址(abc@126.com)和手机号码(13800000000)。当用户b请求用户1的数据时,考虑到用户b是普通用户,则只向用户a返回订单信息(订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务)。
为了实现上述不同的用户请求同一用户的数据时,向不同的用户提供不同的数据对象的过程,本申请实施例中提出的数据的处理方法可以参见图2所示,该方法可以应用在服务器上,且该方法可以包括以下步骤:
步骤201,在接收到用户通过客户端发送的数据请求消息后,生成包括数据的数据响应消息,该数据包括至少一个数据对象。
步骤202,获取该用户对应的第一权限等级。
其中,该用户可以是第一种类型的用户,如用户a和用户b等。
在一个例子中,并不限制“生成包括数据的数据响应消息”与“获取该用户对应的第一权限等级”的执行顺序,可以先执行“生成包括数据的数据响应消息”,后执行“获取该用户对应的第一权限等级”,也可以先执行“获取该用户对应的第一权限等级”,后执行“生成包括数据的数据响应消息”。此外,也并不限制上述步骤与后面步骤的执行顺序,本实施例中以这个顺序为例。
本发明实施例中,获取用户对应的第一权限等级的过程,具体可以包括但不限于如下方式:从数据请求消息中解析出所述用户的用户标识,并利用用户标识与权限等级的映射关系,确定所述用户标识对应的第一权限等级。
在一个例子中,可以在服务器上直接配置用户标识与权限等级的映射关系,例如,配置用户a与权限等级2的映射关系,并配置用户b与权限等级1的映射关系。这样,服务器在解析出用户标识之后,就可以通过查询用户标识与权限等级的映射关系,得到用户对应的第一权限等级。例如,服务器在解析出用户a之后,可以得到用户对应的第一权限等级为权限等级2;在解析出用户b之后,可以得到用户对应的第一权限等级为权限等级1。
在另一个例子中,还可以在服务器上直接配置用户角色与权限等级的映射关系,且每个用户标识均对应有一个或者多个用户角色。基于此,上述利用用户标识与权限等级的映射关系,确定所述用户标识对应的第一权限等级的过程,具体可以包括但不限于如下方式:利用预先配置的用户标识与用户角色的映射关系,确定所述用户标识对应的用户角色,所述用户标识对应的用户角色为一个或者多个。当所述用户标识对应一个用户角色时,则利用预先配置的用户角色与权限等级的映射关系,确定所述一个用户角色对应的权限等级,并将所述一个用户角色对应的权限等级确定为所述用户标识对应的第一权限等级。当所述用户标识对应多个用户角色时,则利用预先配置的用户角色与权限等级的映射关系,确定所述多个用户角色分别对应的权限等级,并将多个权限等级中的最高权限等级,确定为所述用户标识对应的第一权限等级。
例如,用户角色可以包括系统管理员和普通用户,并配置系统管理员与权限等级2的映射关系,配置普通用户与权限等级1的映射关系。此外,还可以配置系统管理员包括如下用户:用户a、用户a1、用户a2、用户a3等,并配置普通用户包括如下用户:用户b、用户b1、用户b2、用户b3等。
服务器在解析出用户标识为用户a后,基于预先配置的用户标识与用户角色的映射关系,确定用户a对应的用户角色为系统管理员;基于预先配置的用户角色与权限等级的映射关系,确定系统管理员对应的权限等级为权限等级2,因此确定用户a对应的第一权限等级为权限等级2。同理,在解析出用户标识为用户b后,确定用户b对应的用户角色为普通用户,并确定普通用户对应的权限等级为权限等级1,即用户b对应的第一权限等级为权限等级1。
在另一个例子中,假设系统管理员包括用户b,且普通用户也包括用户b,则服务器在解析出用户标识为用户b后,基于预先配置的用户标识与用户角色的映射关系,确定用户b对应的用户角色为系统管理员和普通用户,即用户b对应的用户角色为多个。基于预先配置的用户角色与权限等级的映射关系,确定系统管理员对应的权限等级为权限等级2,并确定普通用户对应的权限等级为权限等级1。之后,从当前确定的所有权限等级(即权限等级1和权限等级2)中选择最高权限等级(即权限等级2),并将该最高权限等级确定为用户b对应的第一权限等级,即用户b对应的第一权限等级为权限等级2。
本申请实施例中,针对生成包括数据的数据响应消息的过程,所述数据包括至少一个数据对象,且该数据可以是第二种类型的用户(如用户1)的数据。
其中,服务器在接收到来自客户端的数据请求消息之后,如果该数据请求消息用于请求用户1的数据,则可以获取到用户1的数据(如从本地获取到该数据,或者从远程的其它服务器获取到该数据),并生成包括该用户1的数据的数据响应消息,该生成过程不再详加赘述。
例如,基于表1所示的内容,服务器在从数据请求消息中解析出当前需要请求用户1的数据时,则可以得到用户1对应的数据为:订单信息(订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务)、邮箱地址(abc@126.com)和手机号码(13800000000)。
其中,在利用上述数据生成数据响应消息后,该数据响应消息中会包含三个数据对象,分别为:订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务;abc@126.com;13800000000。
步骤203,针对每个数据对象,获取所述数据对象对应的第二权限等级。
本申请实施例中,获取所述数据对象对应的第二权限等级的过程,具体可以包括但不限于如下方式:确定所述数据对象对应的数据类型,并利用预先配置的数据类型与权限等级的映射关系,确定所述数据类型对应的权限等级,并将所述数据类型对应的权限等级确定为所述数据对象对应的第二权限等级。
在一个例子中,可以在服务器上直接配置数据类型与权限等级的映射关系,例如,当数据类型可以包括订单信息、邮箱地址和手机号码时,则可以配置订单信息与权限等级1的映射关系,并配置邮箱地址与权限等级2的映射关系,并配置手机号码与权限等级2的映射关系。基于此,针对数据对象(订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务),则确定所述数据对象对应的数据类型为订单信息,基于预先配置的数据类型与权限等级的映射关系,则确定订单信息对应的权限等级为权限等级1,因此确定所述数据对象对应的第二权限等级为权限等级1。针对数据对象(abc@126.com),则确定所述数据对象对应的数据类型为邮箱地址,基于预先配置的数据类型与权限等级的映射关系,则确定邮箱地址对应的权限等级为权限等级2,因此,确定所述数据对象对应的第二权限等级为权限等级2。针对数据对象(13800000000),则确定所述数据对象对应的数据类型为手机号码,基于预先配置的数据类型与权限等级的映射关系,则确定手机号码对应的权限等级为权限等级2,因此,确定所述数据对象对应的第二权限等级为权限等级2。
本申请实施例中,上述第一权限等级和第二权限等级只是为了区分方便,给出的一个示例,第一权限等级表示用户对应的权限等级,第二权限等级表示数据对象对应的权限等级。在实际应用中,还可以使用其它名称,如第一权限等级称为用户权限等级,第二权限等级称为对象权限等级等,对此不作限制。
本申请实施例中,上述第一权限等级和第二权限等级可以使用数字表示,数字越大,则对应的权限等级越高,数字越小,则对应的权限等级越低。例如,权限等级1小于权限等级2。在实际应用中,权限等级还可以使用其它符号表示,如权限等级a和权限等级b,或者,权限等级a和权限等级b等,对此权限等级的表示方式不作限制,只要能够区分不同权限等级的高低顺序即可。
在一个例子中,针对配置数据类型与权限等级的映射关系的过程,如果多个数据类型对应同一个权限等级,还可以将这多个数据类型划分到同一个类型组中,并针对该类型组,配置一个权限等级。例如,将邮箱地址和手机号码划分到类型组1中,并针对类型组1,配置权限等级2。这样,该类型组1中的邮箱地址和手机号码,对应的第二权限等级均为权限等级2。
步骤204,针对每个数据对象,比较所述数据对象对应的第二权限等级与用户对应的第一权限等级(即步骤202中获得的第一权限等级)。
步骤205,当第一权限等级小于第二权限等级时,则对所述数据对象进行脱敏处理。此外,在另一个例子中,当第一权限等级大于等于第二权限等级时,则拒绝对所述数据对象进行脱敏处理。
如图3所示,为权限等级比较的示例,每个用户角色对应第一权限等级,每个数据对象对应第二权限等级。通过比较数据对象对应的第二权限等级与用户所属的用户角色对应第一权限等级,确定出是否对数据对象进行脱敏处理。
例如,服务器获取到用户a对应的第一权限等级为权限等级2,针对数据对象(订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务),对应的第二权限等级为权限等级1,因此,第一权限等级大于第二权限等级,拒绝对数据对象(订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务)进行脱敏处理。针对数据对象(abc@126.com),对应的第二权限等级为权限等级2,因此,第一权限等级等于第二权限等级,拒绝对数据对象(abc@126.com)进行脱敏处理。针对数据对象(13800000000),对应的第二权限等级为权限等级2,因此,第一权限等级等于第二权限等级,拒绝对数据对象(13800000000)进行脱敏处理。
又例如,服务器获取到用户b对应的第一权限等级为权限等级1,针对数据对象(订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务),对应的第二权限等级为权限等级1,因此,第一权限等级等于第二权限等级,拒绝对数据对象(订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务)进行脱敏处理。针对数据对象(abc@126.com),对应的第二权限等级为权限等级2,因此,第一权限等级小于第二权限等级,需要对数据对象(abc@126.com)进行脱敏处理。针对数据对象(13800000000),对应的第二权限等级为权限等级2,因此,第一权限等级小于第二权限等级,需要对数据对象(13800000000)进行脱敏处理。
本申请实施例中,对所述数据对象进行脱敏处理的过程,具体可以包括但不限于如下方式:确定所述数据对象对应的数据类型,并利用预先配置的数据类型与脱敏处理策略的映射关系,确定所述数据类型对应的脱敏处理策略,并利用所述脱敏处理策略对所述数据对象进行脱敏处理。
在一个例子中,可以在服务器上直接配置数据类型与脱敏处理策略的映射关系,例如,当数据类型可以包括订单信息、邮箱地址和手机号码时,则可以配置订单信息与脱敏处理策略a的映射关系,并配置邮箱地址与脱敏处理策略a的映射关系,并配置手机号码与脱敏处理策略b的映射关系。基于此,针对用户b,在对数据对象(abc@126.com)进行脱敏处理时,获取到所述数据对象对应的数据类型为邮箱地址,并确定邮箱地址对应的脱敏处理策略为脱敏处理策略a,因此利用脱敏处理策略a对数据对象(abc@126.com)进行脱敏处理。在对数据对象(13800000000)进行脱敏处理时,获取到所述数据对象对应的数据类型为手机号码,并确定手机号码对应的脱敏处理策略为脱敏处理策略b,因此利用脱敏处理策略b对数据对象(13800000000)进行脱敏处理。
在一个例子中,还可以在服务器上直接配置数据类型、权限等级、脱敏处理策略的映射关系。例如,当数据类型可以包括订单信息、邮箱地址和手机号码时,则可以在服务器上直接配置订单信息、权限等级1、脱敏处理策略a的映射关系,并配置邮箱地址、权限等级2、脱敏处理策略a的映射关系,并配置手机号码、权限等级2、脱敏处理策略b的映射关系。
本申请实施例中,对所述数据对象进行脱敏处理的过程,具体可以包括但不限于如下方式:在数据响应消息中,对所述数据对象进行屏蔽处理;或者,在数据响应消息中,将所述数据对象转换为不可恢复的部分数据对象。
在一个例子中,脱敏处理策略给出了一个脱敏处理的方式,例如,脱敏处理策略可以包括但不限于:屏蔽处理或者不可恢复的处理。基于此,当所述数据对象对应的脱敏处理策略为屏蔽处理时,则服务器可以对所述数据对象进行屏蔽处理;当所述数据对象对应的脱敏处理策略为不可恢复的处理时,则服务器可以将所述数据对象转换为不可恢复的部分数据对象。
例如,在对数据对象(abc@126.com)进行屏蔽处理时,则可以从数据响应消息中删除数据对象(abc@126.com)。在对数据对象(13800000000)进行屏蔽处理时,则可以从数据响应消息中删除数据对象(13800000000)。
又例如,在将数据对象(abc@126.com)转换为不可恢复的部分数据对象时,则可以在数据响应消息中,将abc@126.com修改为***@126.com,而且其中的***不可恢复,无法将***还原回abc,且@126.com可以认为是部分数据对象。在将数据对象(13800000000)转换为不可恢复的部分数据对象时,则可以在数据响应消息中,将13800000000修改为138********,而且其中的********不可恢复,无法将********还原,且138可以认为是部分数据对象。
步骤206,将包含脱敏处理后的数据对象的数据响应消息返回给客户端。
基于上述处理过程,在一个例子中,在用户a通过客户端a向服务器发送数据请求消息之后,则客户端a收到的数据响应消息中,携带数据对象(订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务),并携带数据对象(abc@126.com)和数据对象(13800000000)。此外,在用户b通过客户端b向服务器发送数据请求消息之后,则客户端b收到的数据响应消息中,携带数据对象(订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务),不携带数据对象(abc@126.com)或者携带不可恢复的部分数据对象(***@126.com),不携带数据对象(13800000000)或者携带不可恢复的部分数据对象(138********)。
客户端a/客户端b在收到数据响应消息后,可以利用数据响应消息中的数据对象进行业务处理。例如,在得到数据对象(订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务)后,通知用户1其订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务。
基于上述技术方案,本申请实施例中,当请求数据的用户(如用户a)的权限较高时,则服务器可以将所有的数据对象均返回给其对应的客户端,如将数据对象(订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务)、数据对象(abc@126.com)和数据对象(13800000000)等均返回给客户端,这样可以保证客户端获取到所有数据对象,并进行业务处理,提高业务体验,并提高用户使用感受。当请求数据的用户(如用户b)的权限较低时,则服务器可以只将部分数据对象返回给其对应的客户端,而其它数据对象被进行脱敏处理,如将数据对象(订单号是120414316629的订单1,正处在退款状态,且在10小时内将完成退款业务)返回给客户端,而数据对象(abc@126.com)和数据对象(13800000000)被进行脱敏处理,这样可以保证客户端只获取到业务处理所需的部分数据对象,从而保证安全性。
而且,上述方式抽离出一套通用模型(即步骤201-步骤206的处理流程),来对数据对象进行脱敏处理,以满足不同用户的需求,降低了系统的开发工作量,提高了系统的维护性、扩展性,可以适用于企业内部的所有系统。
以下结合图4所示的流程图,对数据的处理方法进行进一步的说明。
步骤401,服务器接收来自客户端的数据请求消息,并生成包括数据的数据响应消息(与所述数据请求消息对应的数据响应消息),所述数据包括至少一个数据对象。
步骤402,服务器从数据请求消息中解析出用户标识,并确定所述用户标识对应的第一权限等级。
在一个例子中,服务器可以利用预先配置的用户标识与用户角色的映射关系,确定所述用户标识对应的用户角色,所述用户标识对应的用户角色为一个或者多个。当所述用户标识对应一个用户角色时,则利用预先配置的用户角色与权限等级的映射关系,确定所述一个用户角色对应的权限等级,并将所述一个用户角色对应的权限等级确定为所述用户标识对应的第一权限等级。当所述用户标识对应多个用户角色时,则利用预先配置的用户角色与权限等级的映射关系,确定所述多个用户角色分别对应的权限等级,并将多个权限等级中的最高权限等级,确定为所述用户标识对应的第一权限等级。
步骤403,服务器从所述数据响应消息中选取一个未处理过的数据对象,针对当前选取的数据对象,获取所述数据对象对应的第二权限等级。
步骤404,服务器判断第一权限等级是否小于所述数据对象对应的第二权限等级。如果是,则执行步骤405;如果否,则执行步骤406。其中,当判断结果为否时,则不再执行对数据对象进行脱敏处理的过程,直接执行步骤406。
步骤405,服务器对所述数据对象进行脱敏处理,之后执行步骤306。
步骤406,服务器判断所述数据响应消息中是否存在未处理过的数据对象。如果是,则执行步骤403;如果否,则执行步骤407。
步骤407,服务器将数据响应消息返回给客户端。
本申请实施例中提出的数据的处理方法还可以参见图5所示,该方法可以应用在客户端上,且该方法可以包括以下步骤:
步骤501,向服务器发送数据请求消息,以使所述服务器生成包括数据的数据响应消息,所述数据包括至少一个数据对象,获取用户对应的第一权限等级,并针对每个数据对象,获取所述数据对象对应的第二权限等级。
步骤502,接收所述服务器返回的包含脱敏处理后的数据对象的数据响应消息,其中,所述脱敏处理后的数据对象是所述服务器在所述第一权限等级小于所述第二权限等级时,对所述数据对象进行脱敏处理后得到的数据对象。
针对步骤501和步骤502的详细处理流程,参见图2和图4的详细处理流程,在此不再重复赘述。
基于与上述方法同样的申请构思,本申请实施例中还提供了一种数据的处理装置120,应用在服务器10上。该数据的处理装置120可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的服务器10的处理器11,读取非易失性存储器12中对应的计算机程序指令形成的。从硬件层面而言,如图6所示,为本申请提出的数据的处理装置120所在的服务器10的一种硬件结构图,除了图6所示的处理器11、非易失性存储器12外,服务器还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该服务器10还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图7所示,为本申请提出的数据的处理装置120的结构图,可以应用在服务器上,所述数据的处理装置120具体包括:
生成模块121,用于在接收到用户通过客户端发送的数据请求消息后,生成包括数据的数据响应消息,所述数据包括至少一个数据对象;
第一获取模块122,用于获取所述用户对应的第一权限等级;
第二获取模块123,用于针对每个数据对象,获取所述数据对象对应的第二权限等级;
处理模块124,用于当所述第一权限等级小于所述第二权限等级时,则对所述数据对象进行脱敏处理;
发送模块125,用于将包含脱敏处理后的数据对象的数据响应消息返回给所述客户端。
所述第一获取模块122,具体用于在获取所述用户对应的第一权限等级的过程中,从所述数据请求消息中解析出所述用户的用户标识,并利用用户标识与权限等级的映射关系,确定所述用户标识对应的第一权限等级。
所述第一获取模块122,具体用于在利用用户标识与权限等级的映射关系,确定所述用户标识对应的第一权限等级的过程中,利用预先配置的用户标识与用户角色的映射关系,确定所述用户标识对应的用户角色,所述用户标识对应的用户角色为一个或者多个;当所述用户标识对应一个用户角色时,则利用预先配置的用户角色与权限等级的映射关系,确定所述一个用户角色对应的权限等级,并将所述一个用户角色对应的权限等级确定为所述用户标识对应的第一权限等级;当所述用户标识对应多个用户角色时,则利用预先配置的用户角色与权限等级的映射关系,确定所述多个用户角色分别对应的权限等级,并将多个权限等级中的最高权限等级,确定为所述用户标识对应的第一权限等级。
所述第二获取模块123,具体用于在获取所述数据对象对应的第二权限等级的过程中,确定所述数据对象对应的数据类型,并利用预先配置的数据类型与权限等级的映射关系,确定所述数据类型对应的权限等级,并将所述数据类型对应的权限等级确定为所述数据对象对应的第二权限等级。
所述处理模块124,还用于在获取所述数据对象对应的第二权限等级后,当第一权限等级大于等于第二权限等级时,则拒绝对所述数据对象进行脱敏处理。
所述处理模块124,具体用于在对所述数据对象进行脱敏处理的过程中,确定所述数据对象对应的数据类型,并利用预先配置的数据类型与脱敏处理策略的映射关系,确定所述数据类型对应的脱敏处理策略,并利用所述脱敏处理策略对所述数据对象进行脱敏处理。
所述处理模块124,具体用于在对所述数据对象进行脱敏处理的过程中,在所述数据响应消息中,对所述数据对象进行屏蔽处理;或者,在所述数据响应消息中,将所述数据对象转换为不可恢复的部分数据对象。
其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
基于与上述方法同样的申请构思,本申请实施例中还提供了一种数据的处理装置220,应用在客户端20上。该数据的处理装置220可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的客户端20的处理器21,读取非易失性存储器22中对应的计算机程序指令形成的。从硬件层面而言,如图8所示,为本申请提出的数据的处理装置220所在的客户端20的一种硬件结构图,除了图8所示的处理器21、非易失性存储器22外,客户端20还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,客户端20还可能是分布式设备,可能包括多个接口卡,以在硬件层面进行报文处理的扩展。
如图9所示,为本申请提出的数据的处理装置220的结构图,可以应用在客户端20上,所述数据的处理装置具体包括:
发送模块221,用于向服务器发送数据请求消息,以使所述服务器生成包括数据的数据响应消息,所述数据包括至少一个数据对象,获取用户对应的第一权限等级,并针对每个数据对象,获取所述数据对象对应的第二权限等级;
接收模块222,用于接收所述服务器返回的包含脱敏处理后的数据对象的数据响应消息,所述脱敏处理后的数据对象是所述服务器在所述第一权限等级小于所述第二权限等级时,对所述数据对象进行脱敏处理后得到的数据对象。
其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。