一种数据访问方法、装置及电子设备与流程

文档序号:17158590发布日期:2019-03-20 00:19阅读:275来源:国知局
一种数据访问方法、装置及电子设备与流程

本发明涉及通信技术领域,尤其涉及一种数据访问方法、装置及电子设备。



背景技术:

随着互联网的发展,各种基于开放平台的应用和社会化登录也随之出现。将自身的产品和服务与大网站平台对接,不仅能省去注册等繁琐工作,不用为储存和传输大量的用户账号信息而烦恼,还可以迅速的带来流量、用户资源,并得到更好的推广。

通常,服务器将各应用中用户相关信息与用户账号进行关联,从而服务器和客户端之间可以基于用户账号进行交互,例如,客户端可以基于用户账号向服务器请求用户相关信息。以英雄联盟游戏应用为例,该应用基于qq账号进行登录,并将qq账号作为大部分游戏资料的存储主键,同时也作为链接游戏用户与其他腾讯业务的中间桥梁。

由于用户账号通常属于用户的隐私数据,为了避免在客户端和服务器交互时泄露用户账号,目前通常是在服务器对每个用户账号生成一个唯一映射的用户标识uuid,并存储用户账号和uuid的映射关系。当客户端向服务器请求数据时,需要向服务器发送用户的uuid,从而服务器根据接收的用户的uuid从用户账号和uuid的映射关系中查询对应的用户账号,从而进一步根据用户账号查找客户端所请求的数据并发送给客户端。

上述方式虽然在一定程度上可以避免用户账号泄露,但是这种方式一方面需要额外的存储空间以存储用户账号和uuid的映射关系;另一方面由于客户端每次向服务器发送请求,服务器都需要根据uuid查询对应的用户账号,影响查询效率。



技术实现要素:

本发明实施例提供一种数据访问方法、装置及电子设备,以解决数据访问效率较低且需要占用额外的存储空间的问题。

第一方面,本发明实施例提供了一种数据访问方法。该方法包括:接收客户端发送的访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中;对所述访问令牌进行解密,得到所述隐私数据;从所述预设数据库中查找与所述隐私数据关联的请求数据;将与所述隐私数据关联的请求数据发送给所述客户端。

第二方面,本发明实施例提供了一种数据访问方法。该方法包括:向服务器发送访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中;接收所述服务器根据所述访问令牌返回的请求数据。

第三方面,本发明实施例还提供一种数据访问装置。该装置包括:接收模块,用于接收客户端发送的访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中;解密模块,用于对所述访问令牌进行解密,得到所述隐私数据;查找模块,用于从所述预设数据库中查找与所述隐私数据关联的请求数据;发送模块,用于将与所述隐私数据关联的请求数据发送给所述客户端。

第四方面,本发明实施例还提供一种数据访问装置。该装置包括:发送模块,用于向服务器发送访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中;接收模块,用于接收所述服务器根据所述访问令牌返回的请求数据。

第五方面,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的数据访问方法。

第六方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的数据访问方法。

这样,本发明实施例中,接收客户端发送的访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中;对所述访问令牌进行解密,得到所述隐私数据;从所述预设数据库中查找与所述隐私数据关联的请求数据;将与所述隐私数据关联的请求数据发送给所述客户端。本发明实施例通过解析客户端发送的访问令牌可以直接得到用户的隐私数据,从而可以根据用户的隐私数据查询对应的请求数据并返回给客户端,相比于现有技术,无需额外的存储空间以存储用户隐私数据和用户标识的映射关系,也无需根据用户标识查询用户的隐私数据,从而可以提高数据访问的效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的数据访问方法的硬件环境的示意图;

图2是本发明实施例提供的数据访问方法的流程图;

图3是本发明又一实施例提供的数据访问方法的流程图;

图4是相关技术提供的数据访问方法的流程图;

图5是本发明又一实施例提供的数据访问方法的流程图;

图6是本发明实施例提供的明文填充的示意图;

图7是本发明又一实施例提供的数据访问方法的流程图;

图8是本发明实施例提供的数据访问系统的结构图;

图9是本发明实施例提供的数据访问装置的结构图之一;

图10是本发明实施例提供的数据访问装置的结构图之二;

图11是本发明实施例提供的数据访问装置的结构图之三;

图12是本发明实施例提供的数据访问装置的结构图之四;

图13是本发明实施例提供的数据访问装置的结构图之五;

图14是本发明第六实施例提供的电子设备的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了便于描述,以下本发明实施例涉及的一些术语进行说明:

tea算法:tinyencryptionalgorithm,即微型加密算法。具体的,tea算法是一种分组加密算法。

base64编码:一种用于传输8位字节代码的编码方式。具体的,base64编码可以将每三个8bit的字节转换为四个6bit的字节,其中,转换之后的这四个字节中每6个有效bit为是有效数据,空余的那两个bit用0补上成为一个字节。

加盐处理:一种对系统登录口令的加密方式,它实现的方式可以是将每一个口令同一个叫做盐值(salt)的n位随机数相关联。

重放攻击:又称重播攻击、回放攻击或新鲜性攻击,是指攻击者发送一个目的主机已接收过的包,特别是在认证的过程中,用于认证用户身份所接收的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的安全性。

根据本发明实施例,提供了一种数据访问方法,通过解密客户端发送的访问令牌,可以直接得到用户的隐私数据,并基于用户的隐私数据查询客户端所需要的请求数据并返回给客户端,由于访问令牌是基于用户的隐私数据加密得到的,在一定程度上可以保证用户隐私数据的安全,而且无需额外的存储空间以存储用户隐私数据和用户标识的映射关系,也无需根据用户标识查询用户的隐私数据,以查询客户端所需要的请求数据,可以提高数据访问的效率。

可选的,在本实施例中,上述数据访问方法可以应用于如图1所示的由客户端01和服务器02所构成的硬件环境中。如图1所示,客户端01和服务器02可以通过网络进行连接,上述网络包括但不限于:广域网、城域网或局域网。客户端01可以是pc、手机、平板电脑等。

具体的,服务器02中可以预先将用户的隐私数据和客户端01需要访问的数据(即请求数据)关联存储,客户端01在需要向服务器02请求数据时,可以通过访问令牌向服务器02请求数据,服务器02在接收到客户端01发送的访问令牌后,对访问令牌进行解析,以得到用户的隐私数据,其中,用户的隐私数据可以是用户的qq账号、微信账号、手机号码、身份证号等。服务器02在得到用户的隐私数据后,可以根据隐私数据查询客户端01所需要的请求数据,并返回给客户端01。

需要说明的是,图1所示的硬件环境还可以根据需求包含其他的硬件模块,本发明实施例的数据访问方法也可以由其他的硬件模块执行,本实施例对此不做限定。

参见图2,图2是本发明实施例提供的数据访问方法的流程图,如图2所示,包括以下步骤:

步骤201、接收客户端发送的访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中。

本实施例中,用户隐私数据可以是用户的qq账号、微信账号、手机号码、身份证号等。访问令牌为对用户的隐私数据加密生成的令牌,例如,可以对用户的qq账号进行加密,并将加密后的数据作为访问令牌,以向服务器请求与用户的qq账号关联存储的请求数据。

具体的,本实施例中隐私数据和请求数据关联存储于预设数据库中,以英雄联盟游戏为例,将用户的qq账号作为大部分游戏资料的存储主键,在客户端需要查询游戏资料时,可以向服务器发送访问令牌,服务器通过解析访问令牌以获得用户的qq账号,从而根据用户的qq账号查询该客户端所需要的游戏资料。

步骤202、对所述访问令牌进行解密,得到所述隐私数据。

例如,若是访问令牌为仅通过对用户的隐私数据加密得到的令牌,则可以直接对该访问令牌进行解密,以得到用户的隐私数据;若是访问令牌为通过对用户的隐私数据加密,且对加密后的数据进行了其他编码处理得到的令牌,则可以对访问令牌先进行解码处理,并对解码处理后的数据进行解密处理,以得到用户的隐私数据。

步骤203、从所述预设数据库中查找与所述隐私数据关联的请求数据。

本实施例中,由于隐私数据和请求数据关联存储于预设数据库中,从而服务器可以根据用户的隐私数据快速从预设数据库中查询到客户端所需要访问的请求数据。

步骤204、将与所述隐私数据关联的请求数据发送给所述客户端。

以下结合图3和图4,以通过qq账号访问游戏资料为例对本发明实施例进行说明:

图3是本发明实施例提供的数据访问方法的流程图,参见图3,客户端通过访问令牌向服务器请求数据,服务器接收到访问令牌后,解析访问令牌,得到qq账号,并通过qq账号从游戏资料数据库中查询客户端所请求的游戏资料,并将查询到的游戏资料返回给客户端。需要说明的是,上述游戏资料数据库中游戏资料和用户的qq账号关联存储,例如,用户的qq账号作为游戏资料的存储主键。

图4是相关技术提供的数据访问方法的流程图,参见图4,客户端通过用户标识uuid向服务器请求数据,服务器接收到uuid后,从uuid数据库查询该uuid对应的qq账号,并基于查询到的qq账号从游戏资料数据库中查询客户端所请求的游戏资料,并将查询到的游戏资料返回给客户端。需要说明的是,上述uuid数据库中存储了用户的qq账号和uuid的映射关系,上述游戏资料数据库中游戏资料和用户的qq账号关联存储,例如,用户的qq账号作为游戏资料的存储主键。

由上对比可知,本实施例提供的数据访问方法,通过解析客户端发送的访问令牌,可以直接得到用户的qq账号,相比于现有技术中通过客户端发送的uuid查询对应的qq账号,不仅不需要额外的存储空间存储uuid数据库,而且可以节省从uuid数据库中查询qq账号的时间,从而可以提高游戏资料的查询效率。

本发明实施例的数据访问方法,接收客户端发送的访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中;对所述访问令牌进行解密,得到所述隐私数据;从所述预设数据库中查找与所述隐私数据关联的请求数据;将与所述隐私数据关联的请求数据发送给所述客户端。本发明实施例通过解析客户端发送的访问令牌可以直接得到用户的隐私数据,从而可以根据用户的隐私数据查询对应的请求数据并返回给客户端,相比于现有技术,无需额外的存储空间以存储用户隐私数据和用户标识的映射关系,也无需根据用户标识查询用户的隐私数据,从而可以提高数据访问的效率。

参见图5,图5是本发明实施例提供的数据访问方法的流程图。如图5所示,本发明实施提供的数据访问方法包括以下步骤:

步骤501、对用户的隐私数据进行加密,得到访问令牌。

本实施例中,服务器可以分别对各个用户的隐私数据进行加密以生成访问令牌,并将生成的各个访问令牌分别下发给对应的客户端。例如,英雄联盟游戏的游戏资料访问,服务器可以对注册该英雄联盟游戏的所有qq账号进行加密生成访问令牌,并将访问令牌下发给对应的客户端。具体的,对用户的隐私数据进行加密的加密算法可以是序列密码算法、分组加密算法等。

可选的,为了提高加密数据的安全性,对所述隐私数据进行加密,得到所述访问令牌,包括:采用分组加密算法对所述隐私数据进行加密,得到所述访问令牌,其中,所述分组加密算法所采用的密钥长度大于第一预设长度。

本实施例中,分组加密算法可以是tea(tinyencryptionalgorithm,微型加密算法)算法、3des(tripledataencryptionstandard,三重数据加密标准)算法、aes(advancedencryptionstandard,高级加密标准)算法、idea(internationaldataencryptionalgorithm,国际数据加密算法)算法等。具体的,分组加密算法包括ecb(electroniccodebook,电码本)、cbc(cipherblockchaining,密码分组链接)、cfb(cipherfeedback,密码反馈)和ofb(outputfeedback,输出反馈)这几种模式,可选的,本实例的分组加密算法可以采用cbc模式。

需要说明的是,本实施例中分组加密算法所采用的密钥的长度大于第一预设长度,其中,第一预设长度可以根据实际情况进行设置,例如,第一预设长度可以是112位。

本实施例通过采用密钥长度大于第一预设长度的分组加密算法对用户的隐私数据进行加密,以生成访问令牌,可以提高加密所得到的访问令牌的安全性。

可选的,为了进一步提高加密数据的安全性,所述采用分组加密算法对所述隐私数据进行加密,得到所述访问令牌,包括:将所述隐私数据按照第二预设长度分块,得到多个明文块;分别对所述多个明文块中各个明文块进行加盐处理,得到多个输入明文;采用所述分组加密算法对所述多个输入明文进行加密,得到所述访问令牌。

本实施例中,第二预设长度可以根据所采用的具体的分组加密算法进行设置,例如,64位。通过将隐私数据按照第二预设长度分块,得到多个明文块,需要说明的是,对于不满足第二预设长度的明文块,可以对其进行字符填充,使其满足第二预设长度。

本实施例中,对明文块进行加盐处理是向明文块中的特定位置插入特定的字符串,其中,特定的字符串可以是随机生成的字符串,也可以是按照预设规则生成的字符串。以下以tea算法为例进行说明:

参见图6,通过对原始明文(即上述明文块)进行填充,使得用于输入tea算法的输入明文的第一个字节的高5位为随机数,后3位为填充长度n,随后填充n个字节的随机数,再接2个字节的盐值(即salt),然后接原始明文,最后填充7个字节的“\0”。

由上可知,由于每次填充的随机数不同,所以即便是相同的明文和密钥,通过上述tea算法所输出的加密数据也不相同,从而可以提高加密数据的安全性。

可选的,所述对所述隐私数据进行加密,得到所述访问令牌,包括:采用base64编码对加密后的隐私数据进行编码,得到所述访问令牌。

为了便于加密后的数据的网络传输,本实施例可以采用base64编码对加密后的隐私数据进行编码,并将编码后的数据作为访问令牌。相应的,在根据访问令牌解析得到隐私数据时,可以先对访问令牌进行base64解码,并基于解码后的数据进行解密,得到用户的隐私数据。

需要说明的是,base64编码是一种用于传输8位(bit)字节代码的编码方式,具体的,base64编码可以将每三个8bit的字节转换为四个6bit的字节,其中,转换之后的这四个字节中每6个有效bit为是有效数据,空余的那两个bit用0补上成为一个字节。

可选的,在得到访问令牌后,可以将访问令牌和有效期(即lifetime)组合,得到携带有有效期的访问令牌,其中,有效期用于表征该访问令牌的有效期限,一旦该访问令牌的有效期到期,则该访问令牌也自动过期,相应的,服务器会拒绝过期的访问令牌的请求。

步骤502、将所述访问令牌下发给所述客户端。

本实施例中,服务器可以将生成的访问令牌下发给对应的客户端,从而客户端在需要访问数据时,可以通过该访问令牌向服务器请求数据。

步骤503、接收客户端发送的访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中。

该步骤同上述步骤201,在此不再赘述。

步骤504、对所述访问令牌进行解密,得到所述隐私数据。

本实施例中,在访问令牌携带有有效期时,则可以在接收到访问令牌后,先判断该访问令牌的有效期是否到期,在该访问令牌的有效期到期时,则可以直接拒绝该访问令牌的数据请求,从而可以抵御重放攻击。在所述访问令牌的有效期未到期时,则可以对所述访问令牌进行解密,得到所述隐私数据,并基于隐私数据查询客户端所需要访问的请求数据,并返回给客户端。

步骤505、从所述预设数据库中查找与所述隐私数据关联的请求数据。

该步骤同上述步骤203,在此不再赘述。

步骤506、将与所述隐私数据关联的请求数据发送给所述客户端。

由上可知,本发明实施例的数据访问方法,使用分组加密算法(例如,tea算法)和base64编码生成访问令牌,不需要额外的存储成本,不会影响查询效率并且不存在性能瓶颈。此外,本实施例可以为每个访问令牌加入一个有效期(也称为生命期),每一个访问令牌在生命期到期之后,就会自动过期,相应的,服务器拒绝过期的访问令牌的请求,从而可以抵御重放攻击。最后,本实施例可以对明文进行加盐处理(也即在分组加密算法中增加了加盐处理的步骤),使得同一个用户每次请求生成的访问令牌都不同,这样即使被脱库(即访问令牌到用户隐私数据的映射被大量非法存储),由于客户端每次用于请求数据的访问令牌不同,使得脱库变得毫无价值。

本发明实施例的数据访问方法,通过对用户的隐私数据进行加密,得到访问令牌;将所述访问令牌下发给所述客户端;接收客户端发送的访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中;对所述访问令牌进行解密,得到所述隐私数据;从所述预设数据库中查找与所述隐私数据关联的请求数据;将与所述隐私数据关联的请求数据发送给所述客户端。本实施例中访问令牌的生成和解析都可以在服务器侧执行,而客户端仅需要执行透传即可,而无需理解访问令牌的内容。此外,本发明实施例通过解析客户端发送的访问令牌可以直接得到用户的隐私数据,从而可以根据用户的隐私数据查询对应的请求数据并返回给客户端,相比于现有技术,无需额外的存储空间以存储用户隐私数据和用户标识的映射关系,也无需根据用户标识查询用户的隐私数据,从而可以提高数据访问的效率。

根据本发明实施例,还提供了一种数据访问方法,参见图7,图7是本发明实施提供的数据访问方法的流程图,如图7所示,本发明实施提供的数据访问方法包括以下步骤:

步骤701、向服务器发送访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中。

本实施例中,客户端可以向服务器发送携带有访问令牌的访问请求,服务器在接收到客户端发送的访问令牌后,对该访问令牌进行解密,以得到用户的隐私数据,并根据用户的隐私数据从预设数据库中获取客户端需要访问的请求数据,并发送给客户端。

可选的,上述访问令牌可以为由服务器对用户的隐私数据进行加密生成的令牌,并将生成的访问令牌下发给客户端。

可选的,上述访问令牌可以是采用分组加密算法对所述隐私数据进行加密生成的访问令牌,其中,所述分组加密算法所采用的密钥长度大于第一预设长度。

可选的,上述访问令牌可以是采用包括加盐处理的分组加密算法对所述隐私数据进行加密生成的访问令牌。

可选的,上述访问令牌可以是采用包括加盐处理的分组加密算法对所述隐私数据进行加密,并对加密后的数据进行base64编码生成的访问令牌。

步骤702、接收所述服务器根据所述访问令牌返回的请求数据。

可选的,上述访问令牌携带有有效期,从而服务器在接收到访问令牌后,先判断该访问令牌的有效期是否到期,在该访问令牌的有效期到期时,则可以直接拒绝该访问令牌的数据请求,从而可以抵御重放攻击。在所述访问令牌的有效期未到期时,则可以对所述访问令牌进行解密,得到所述隐私数据,并基于隐私数据查询客户端所需要访问的请求数据,并返回给客户端。

本发明实施例的数据访问方法,通过向服务器发送访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储;接收所述服务器根据所述访问令牌返回的请求数据。本发明实施例通过访问令牌向服务器请求数据,并接收服务器根据访问令牌返回的请求数据,相比于现有技术,无需额外的存储空间以存储用户隐私数据和用户标识的映射关系,也无需根据用户标识查询用户的隐私数据,从而可以提高数据访问的效率。

以下结合图8对本发明实施例进行说明:

参见图8,本实施例的数据访问系统包括:客户端01、逻辑服务器021、密钥管理服务器022和资料存储服务器023。

具体的,逻辑服务器021用于生成访问令牌以及解析访问令牌。密钥管理服务器022用于分配和管理密钥,其中,密钥为对隐私数据进行加密所需的密钥。本实施例中,密钥可以是定时更新,也可以是按需更新,不同业务的密钥可以不同。资料存储服务器023用于存储客户端所需访问的请求数据,例如,上述的游戏资料。

例如,以隐私数据为qq账号为例,本实施例中,逻辑服务器021生成访问令牌包括如下步骤:

步骤a1、逻辑服务器021可以采用一个密钥(key)将qq账号通过16轮的tea算法加密,得到输出结果。

步骤a2、将输出结果通过base64编码生成访问令牌。

步骤a3、将生成的访问令牌与生命期(即有效期)组合,得到携带有生命期的访问令牌。

逻辑服务器021解析访问令牌包括如下步骤:

步骤b1、逻辑服务器021从携带有生命期的访问令牌中分别取出访问令牌和生命期。

步骤b2、将访问令牌通过base64解码得到输出结果。

步骤b3、将输出结果运用与加密相同的密钥(key)通过16轮的tea算法解密得到qq账号。

本实施例中,客户端01发送访问令牌给逻辑服务器021,逻辑服务器021解析访问令牌,得到qq账号,并基于qq账号从资料存储服务器023获取请求数据,并将请求数据发送给客户端01。

由上可知,本发明实施例的数据访问方法,使用分组加密算法(例如,tea算法)和base64编码生成访问令牌,不需要额外的存储成本,不会影响查询效率并且不存在性能瓶颈。此外,本实施例可以为每个访问令牌加入一个有效期(也称为生命期),每一个访问令牌在生命期到期之后,就会自动过期,相应的,服务器拒绝过期的访问令牌的请求,从而可以抵御重放攻击。最后,本实施例可以对明文进行加盐处理(也即在分组加密算法中增加了加盐处理的步骤),使得同一个用户每次请求生成的访问令牌都不同,这样即使被脱库(即访问令牌到用户隐私数据的映射被大量非法存储),由于客户端每次用于请求数据的访问令牌不同,使得脱库变得毫无价值。

参见图9,图9是本发明实施提供的数据访问装置的结构图,如图9所示,数据访问装置900包括接收模块901、解密模块902、查找模块903和发送模块904,其中:

接收模块901,用于接收客户端发送的访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中;

解密模块902,用于对所述访问令牌进行解密,得到所述隐私数据;

查找模块903,用于从所述预设数据库中查找与所述隐私数据关联的请求数据;

发送模块904,用于将与所述隐私数据关联的请求数据发送给所述客户端。

可选的,参见图10,所述装置还包括:加密模块905,用于在所述接收客户端发送的访问请求之前,对所述隐私数据进行加密,得到所述访问令牌;下发模块906,用于将所述访问令牌下发给所述客户端。

可选的,参见图11,所述加密模块905包括:加密单元9051,用于采用分组加密算法对所述隐私数据进行加密,得到所述访问令牌,其中,所述分组加密算法所采用的密钥长度大于第一预设长度。

可选的,所述加密单元9051具体用于:将所述隐私数据按照第二预设长度分块,得到多个明文块;分别对所述多个明文块中各个明文块进行加盐处理,得到多个输入明文;采用所述分组加密算法对所述多个输入明文进行加密,得到所述访问令牌。

可选的,参见图12,所述加密模块905包括:编码单元9052,用于采用base64编码对加密后的隐私数据进行编码,得到所述访问令牌。

可选的,所述访问令牌携带有有效期,所述解密模块902具体用于:在所述访问令牌的有效期未到期时,对所述访问令牌进行解密,得到所述隐私数据。

数据访问装置900能够实现图2和图5的方法实施例中各个过程,为避免重复,这里不再赘述。

本发明实施例的数据访问装置900,通过接收模块901接收客户端发送的访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储;解密模块902对所述访问令牌进行解密,得到所述隐私数据;查找模块903从所述预设数据库中查找与所述隐私数据关联的请求数据;发送模块904将与所述隐私数据关联的请求数据发送给所述客户端。本发明实施例通过解析客户端发送的访问令牌可以直接得到用户的隐私数据,从而可以根据用户的隐私数据查询对应的请求数据并返回给客户端,相比于现有技术,无需额外的存储空间以存储用户隐私数据和用户标识的映射关系,也无需根据用户标识查询用户的隐私数据,从而可以提高数据访问的效率。

参见图13,图13是本发明实施提供的数据访问装置的结构图,如图13所示,数据访问装置1300包括发送模块1301和接收模块1302,其中:

发送模块1301,用于向服务器发送访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储;

接收模块1302,用于接收所述服务器根据所述访问令牌返回的请求数据。

本发明实施例的数据访问装置1300,通过发送模块1301向服务器发送访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中;接收模块1302接收所述服务器根据所述访问令牌返回的请求数据。本发明实施例通过访问令牌向服务器请求数据,并接收服务器根据访问令牌返回的请求数据,相比于现有技术,无需额外的存储空间以存储用户隐私数据和用户标识的映射关系,也无需根据用户标识查询用户的隐私数据,从而可以提高数据访问的效率。

本发明实施例还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一方法实施例的数据访问方法。

参见图14,图14是本发明实施提供的电子设备的结构图,如图14所示,电子设备1400包括:至少一个处理器1401、存储器1402、至少一个网络接口1404和用户接口1403。电子设备1400中的各个组件通过总线系统1405耦合在一起。可理解,总线系统1405用于实现这些组件之间的连接通信。总线系统1405除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图14中将各种总线都标为总线系统1405。

其中,用户接口1403可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。

可以理解,本发明实施例中的存储器1402可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。本文描述的系统和方法的存储器1402旨在包括但不限于这些和任意其它适合类型的存储器。

在一些实施方式中,存储器1402存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统14021和应用程序14022。

其中,操作系统14021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序14022,包含各种应用程序,例如媒体播放器(mediaplayer)、浏览器(browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序14022中。

在本发明实施例中,通过调用存储器1402存储的程序或指令,具体的,可以是应用程序14022中存储的程序或指令,处理器1401用于:接收客户端发送的访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中;对所述访问令牌进行解密,得到所述隐私数据;从所述预设数据库中查找与所述隐私数据关联的请求数据;将与所述隐私数据关联的请求数据发送给所述客户端。

上述本发明实施例揭示的方法可以应用于处理器1401中,或者由处理器1401实现。处理器1401可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1401中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1401可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1402,处理器1401读取存储器1402中的信息,结合其硬件完成上述方法的步骤。

可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(applicationspecificintegratedcircuits,asic)、数字信号处理器(digitalsignalprocessing,dsp)、数字信号处理设备(dspdevice,dspd)、可编程逻辑设备(programmablelogicdevice,pld)、现场可编程门阵列(field-programmablegatearray,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。

对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。

可选的,处理器1401还用于:在所述接收客户端发送的访问请求之前,对所述隐私数据进行加密,得到所述访问令牌;将所述访问令牌下发给所述客户端。

可选的,处理器1401执行所述对所述隐私数据进行加密,得到所述访问令牌,包括:采用分组加密算法对所述隐私数据进行加密,得到所述访问令牌,其中,所述分组加密算法所采用的密钥长度大于第一预设长度。

可选的,处理器1401执行所述采用分组加密算法对所述隐私数据进行加密,得到所述访问令牌,包括:将所述隐私数据按照第二预设长度分块,得到多个明文块;分别对所述多个明文块中各个明文块进行加盐处理,得到多个输入明文;采用所述分组加密算法对所述多个输入明文进行加密,得到所述访问令牌。

可选的,处理器1401执行所述对所述隐私数据进行加密,得到所述访问令牌,包括:采用base64编码对加密后的隐私数据进行编码,得到所述访问令牌。

可选的,所述访问令牌携带有有效期,处理器1401执行所述对所述访问令牌进行解密,得到所述隐私数据,包括:在所述访问令牌的有效期未到期时,对所述访问令牌进行解密,得到所述隐私数据。

电子设备1400能够实现前述实施例中的各个过程,为避免重复,这里不再赘述。

本发明实施例的电子设备1400,通过接收客户端发送的访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中;对所述访问令牌进行解密,得到所述隐私数据;从所述预设数据库中查找与所述隐私数据关联的请求数据;将与所述隐私数据关联的请求数据发送给所述客户端。本发明实施例通过解析客户端发送的访问令牌可以直接得到用户的隐私数据,从而可以根据用户的隐私数据查询对应的请求数据并返回给客户端,相比于现有技术,无需额外的存储空间以存储用户隐私数据和用户标识的映射关系,也无需根据用户标识查询用户的隐私数据,从而可以提高数据访问的效率。

可选的,在本发明实施例中,通过调用存储器1402存储的程序或指令,具体的,可以是应用程序14022中存储的程序或指令,处理器1401用于:向服务器发送访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中;接收所述服务器根据所述访问令牌返回的请求数据。

本发明实施例的电子设备1400,通过向服务器发送访问请求,其中,所述访问请求携带访问令牌,所述访问令牌为对用户隐私数据加密生成的令牌,所述隐私数据和请求数据关联存储于预设数据库中;接收所述服务器根据所述访问令牌返回的请求数据。本发明实施例通过访问令牌向服务器请求数据,并接收服务器根据访问令牌返回的请求数据,相比于现有技术,无需额外的存储空间以存储用户隐私数据和用户标识的映射关系,也无需根据用户标识查询用户的隐私数据,从而可以提高数据访问的效率。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一方法实施例的数据访问方法。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1