一种数据鉴权方法和装置与流程

文档序号:18923447发布日期:2019-10-19 03:47阅读:298来源:国知局
一种数据鉴权方法和装置与流程

本发明涉及数据处理领域,特别是涉及一种数据鉴权方法和装置。



背景技术:

客户端可以通过向服务器端发送数据请求,从服务器获取所述数据请求所请求的数据。为了敏感数据的安全性等考虑,一般会对数据和客户端设置权限,客户端只能获取与其权限相对应的数据。由此,在客户端向服务器请求获取数据的过程中,服务器需要对客户端请求获取的数据进行鉴权,通过鉴权判断该客户端具有获取所请求数据中的哪些数据的权限,并将具有获取权限的数据返回给客户端。

目前的鉴权过程,服务器需要对客户端请求获取的全部数据全部完成鉴权后,才能向该客户端返回鉴权结果,鉴权时间长,效率很低。尤其遇到客户端请求获取数据的数据量较大时,服务器还有可能出现卡死等情况。导致经常出现客户端等待鉴权结果时间过长甚至等不到鉴权结果的情况,用户体验差。



技术实现要素:

为了解决上述技术问题,本发明提供了一种数据鉴权方法和装置,以使得仅对部分所请求数据进行鉴权便可向客户端返回该部分的鉴权结果,减少了客户端等待鉴权结果的时间。

本发明实施例公开了如下技术方案:

一种数据鉴权方法,所述方法包括:

服务器获取客户端发送的数据获取请求,所述数据获取请求包括客户端标识和请求获取的数据集合,所述数据集合包括N个数据,N大于等于2;

所述服务器判断N是否大于第一阈值,若大于,

所述服务器从所述N个数据中提取M个未鉴权数据,并保存提取记录,所述未鉴权数据为未被所述服务器通过鉴权服务器进行对应所述客户端的鉴权的数据,所述提取记录用于记录提取数据的数据信息,M<N;

所述服务器通过鉴权服务器对所述M个未鉴权数据进行对应所述客户端的鉴权,以便确定出确权数据,所述确权数据为所述N个数据中所述客户端具有获取权限的数据;

所述服务器根据所述客户端标识向所述客户端返回确权数据和所述提取记录,所述提取记录用于指示所述客户端在展示结束数据时,向所述服务器返回所述提取记录,所述结束数据为所述客户端获取的确权数据中,依据展示顺序排在最后的数据。

可选的,还包括:

所述服务器若获取所述客户端返回的所述提取记录,根据所述提取记录从所述N个数据中提取M个未鉴权数据,并根据提取的未鉴权数据更新所述提取记录;或者,所述服务器若获取所述客户端返回的所述提取记录,当所述N个数据中的未鉴权数据不足M个时,根据所述提取记录从所述N个数据中提取剩余的未鉴权数据,并在所述提取记录中添加结束标识,添加了结束标识的提取记录用于指示所述客户端所述请求获取的数据集合已经鉴权完毕;

所述服务器通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权;

所述服务器根据所述客户端标识向所述客户端返回确权数据和所述提取记录。

可选的,所述服务器从所述N个数据中提取M个数据,并保存提取记录,包括:

所述服务器确定所述N个数据存储在资源服务器上的存储顺序;

所述服务器根据所述存储顺序依次提取M个未鉴权数据,所述提取记录具体用于记录提取过程中最后一个被提取的数据在所述存储顺序中的位置信息。

可选的,所述服务器若获取所述客户端返回的所述提取记录,根据所述提取记录从所述N个数据中提取M个未鉴权数据,包括:

所述服务器根据所述提取记录中所记录的位置信息,从存储顺序中所述位置信息的下一个位置的数据开始,依次提取M个未鉴权数据,所述存储顺序为所述N个数据存储在资源服务器上的存储顺序,所述位置信息为提取过程中最后一个被提取的数据在所述存储顺序中的位置信息;或者,

所述服务器若获取所述客户端返回的所述提取记录,当所述N个数据中的未鉴权数据不足M个时,根据所述提取记录从所述N个数据中提取剩余的未鉴权数据,包括:

所述服务器若获取所述客户端返回的所述提取记录,当所述N个数据中的未鉴权数据不足M个时,所述服务器根据所述提取记录中所记录的位置信息,从所述存储顺序中所述位置信息的下一个位置的数据开始,依次提取剩余数据。

可选的,在所述服务器通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权之后,还包括:

所述服务器判断通过所述鉴权得到的确权数据的总数是否超过第二阈值;

若超过,所述服务器根据所述客户端标识向所述客户端返回确权数据和所述提取记录;

若未超过,所述服务器根据所述提取记录从所述N个数据中提取M个未鉴权数据,并通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权;所述服务器累加通过所述鉴权得到的确权数据的总数,并继续判断所述确权数据的总数是否超过第二阈值;或者,

若未超过,且若所述N个数据中的未鉴权数据不足M个,所述服务器根据所述提取记录从所述N个数据中提取剩余未鉴权数据,并在所述提取记录中添加结束标识;所述服务器通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权;所述服务器根据所述客户端标识向所述客户端返回确权数据和所述提取记录。

可选的,所述服务器根据所述客户端标识向所述客户端返回确权数据和所述提取记录,包括:

所述服务器向所述客户端返回所述提取记录和获取的全部确权数据,以使得所述客户端展示所述确权数据,或者分页展示所述确权数据;

或者,所述服务器根据所述客户端标识向所述客户端返回确权数据和所述提取记录,包括:

所述服务器对获取的全部确权数据进行分页;

所述服务器根据所述客户端标识向所述客户端返回分页后的首页确权数据、所述提取记录和分页信息,所述分页信息包括分页页数。

一种数据鉴权装置,所述装置包括:

获取单元,原有获取客户端发送的数据获取请求,所述数据获取请求包括客户端标识和请求获取的数据集合,所述数据集合包括N个数据,N大于等于2;

第一判断单元,用于判断N是否大于第一阈值,若大于,触发提取单元;

所述提取单元,用于从所述N个数据中提取M个未鉴权数据,并保存提取记录,所述未鉴权数据为未被所述服务器通过鉴权服务器进行对应所述客户端的鉴权的数据,所述提取记录用于记录提取数据的数据信息,M<N;

鉴权单元,用于通过鉴权服务器对所述M个未鉴权数据进行对应所述客户端的鉴权,以便确定出确权数据,所述确权数据为所述N个数据中所述客户端具有获取权限的数据;

返回单元,用于根据所述客户端标识向所述客户端返回确权数据和所述提取记录,所述提取记录用于指示所述客户端在展示结束数据时,向所述服务器返回所述提取记录,所述结束数据为所述客户端获取的确权数据中,依据展示顺序排在最后的数据。

可选的,还包括:

若所述获取单元获取所述客户端返回的所述提取记录,所述提取单元还用于根据所述提取记录从所述N个数据中提取M个未鉴权数据,并根据提取的未鉴权数据更新所述提取记录;或者,若所述获取单元获取所述客户端返回的所述提取记录,当所述N个数据中的未鉴权数据不足M个时,所述提取单元根据所述提取记录从所述N个数据中提取剩余的未鉴权数据,并在所述提取记录中添加结束标识,添加了结束标识的提取记录用于指示所述客户端所述请求获取的数据集合已经鉴权完毕;

所述鉴权单元还用于通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权;

所述返回单元还用于根据所述客户端标识向所述客户端返回确权数据和所述提取记录。

可选的,所述提取单元包括:

确定子单元,用于确定所述N个数据存储在资源服务器上的存储顺序;

提取子单元,用于根据所述存储顺序依次提取M个未鉴权数据,所述提取记录具体用于记录提取过程中最后一个被提取的数据在所述存储顺序中的位置信息。

可选的,

所述提取单元还用于根据所述提取记录中所记录的位置信息,从所述存储顺序中所述位置信息的下一个位置的数据开始,依次提取M个未鉴权数据,所述存储顺序为所述N个数据存储在资源服务器上的存储顺序,所述位置信息为提取过程中最后一个被提取的数据在所述存储顺序中的位置信息;或者,

所述提取单元还用于当所述N个数据中的未鉴权数据不足M个时,根据所述提取记录中所记录的位置信息,从所述存储顺序中所述位置信息的下一个位置的数据开始,依次提取剩余数据。

可选的,还包括:

第二判断单元,用于在触发所述鉴权单元之后,判断通过所述鉴权得到的确权数据的总数是否超过第二阈值;

若超过,触发所述返回单元根据所述客户端标识向所述客户端返回确权数据和所述提取记录;

若未超过,触发所述提取单元根据所述提取记录从所述N个数据中提取M个未鉴权数据,并触发所述鉴权单元通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权;所述第二判断单元累加通过所述鉴权得到的确权数据的总数,并继续判断所述确权数据的总数是否超过第二阈值;或者,

若未超过,且若所述N个数据中的未鉴权数据不足M个,触发所述提取单元根据所述提取记录从所述N个数据中提取剩余未鉴权数据,并在所述提取记录中添加结束标识;触发所述鉴权单元通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权;触发所述返回单元根据所述客户端标识向所述客户端返回确权数据和所述提取记录。

可选的,所述返回单元包括:

返回子单元,用于向所述客户端返回所述提取记录和获取的全部确权数据,以使得所述客户端展示所述确权数据,或者分页展示所述确权数据;

或者,所述返回单元还包括:

分页子单元,用于对获取的全部确权数据进行分页;

所述返回子单元还用于根据所述客户端标识向所述客户端返回分页后的首页确权数据、所述提取记录和分页信息,所述分页信息包括分页页数。

由上述技术方案可以看出,当客户端请求的数据数量较多时,服务器将通过鉴权服务器从所述客户端请求获取的数据中提取一部分数据进行鉴权,以确定出提取的这部分数据中的确权数据,并在提取过程中保存提取记录,鉴权后,将确权数据和提取记录向所述客户端返回,使得所述服务器不需要对所述客户端请求获取的全部数据都鉴权后,才向所述客户端返回鉴权结果,而只需要对其中部分数据进行鉴权后即可向所述客户端返回确权数据,减少了客户端等待鉴权结果的时间,提高了用户体验。

附图说明

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

图1为本发明实施例提供的一种数据鉴权方法的方法流程图;

图2为本发明实施例提供的一种数据鉴权方法的方法流程图;

图3为本发明实施例提供的一种数据鉴权装置的装置结构图。

具体实施方式

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

一般在设定权限级别的数据系统中,客户端只能获取与自身权限级别相对应的数据,而不允许获取高于自身权限的数据。由此可以提高系统的安全性,一定程度上可以避免系统敏感数据的泄漏。在客户端向服务器请求获取数据的过程中,服务器需要对客户端请求获取的数据进行鉴权,通过鉴权判断该客户端具有获取所请求数据中的哪些数据的权限,并将具有获取权限的数据返回给客户端。由于这些确定出的数据的数量一般较多,无法一次性全部在客户端展示,故在返回给客户端之前,服务器需要对这些数据进行分页处理,以便可以在客户端进行分页展示。

为了能够实现上述分页处理,目前的鉴权过程,服务器向客户端返回鉴权结果之前,需要对该客户端请求获取的全部数据全部完成鉴权。对全部请求的数据都进行鉴权的原因是,只有在全部数据均被鉴权后,服务器才能确定这些数据中共有多少个是该客户端具有获取权限的数据,由此服务器才能根据该客户端具有获取权限数据的数量确定出分页后的总页数。

然而,将客户端请求获取的全部数据一次性全部鉴权的时间会相对较长,处理效率很低。尤其遇到客户端请求获取数据的数据量较大时,还有可能出现卡死等情况。导致经常出现客户端等待鉴权结果时间过长甚至等不到鉴权结果的情况,用户体验差。

为此,本发明实施例提供了一种数据鉴权方法和装置,当客户端请求的数据数量较多时,服务器将通过鉴权服务器从所述客户端请求获取的数据中提取一部分数据进行鉴权,以确定出提取的这部分数据中的确权数据,并在提取过程中保存提取记录,鉴权后,将确权数据和提取记录向所述客户端返回,使得所述服务器不需要对所述客户端请求获取的全部数据都鉴权后,才向所述客户端返回鉴权结果,而只需要对其中部分数据进行鉴权后即可向所述客户端返回确权数据,减少了客户端等待鉴权结果的时间,提高了用户体验。

当接收到所述客户端返回的所述提取记录时,所述服务器会继续从所述客户端请求获取的数据中提取出部分未鉴权的数据进行鉴权,并返回鉴权结果和更新后的提取记录,所述服务器将传统方式中对全部数据的一次全部鉴权改进为多次的部分鉴权,这种方式提高了鉴权效率,在所述客户端获取部分鉴权结果即可满足需求时,所述服务器可以不再需要对所述客户端请求获取的数据中尚未鉴权的剩余数据继续鉴权,提高系统资源的利用率。

需要注意的是,有些情况下,所述服务器提取的部分数据在鉴权后,只确定出少量甚至没有确定出符合所述客户端权限的确权数据,如果所述服务器将鉴权结果直接返回所述客户端,导致客户端只能展示少量确权数据甚至无法展示确权数据,由此可能会降低用户体验。为此,在本发明实施例中,在所述服务器通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权之后,所述服务器进一步判断确权数据数量是否超过第二阈值,若未超过,所述服务器将继续提取未鉴权数据进行鉴权,直到获取的确权数据超过第二阈值或者对所述客户端请求获取的数据全部完成鉴权为止,这样所述服务器可以向所述客户端返回相对较多的确权数据,以使得所述客户端可以对获取的确权数据进行合理的展示,进一步提高了用户体验。

图1为本发明实施例提供的一种数据鉴权方法的方法流程图,所述方法包括:

S101:服务器获取客户端发送的数据获取请求,所述数据获取请求包括客户端标识和请求获取的数据集合,所述数据集合包括N个数据,N大于等于2。

举例说明,所述数据集合中包括的数据可以存储在资源服务器上,所述客户端发送的数据获取请求中,并不会包括所述数据集合中的数据,而是通过数据标识的形式明确想要获取的数据都有哪些,即通过数据标识向服务器明确请求获取的多个数据。所述服务器可以根据所述数据获取请求确定这些数据存储的位置,例如存储在具体资源服务器等。所述数据集合中多个数据的数据标识可以以数据列表的方式体现。

所述客户端标识用于标识所述客户端的位置信息或身份信息,以便所述服务器根据位置信息或身份信息向所述客户端返回数据。所述客户端标识也可以包括所述客户端的权限信息,所述客户端的权限信息可以理解为使用该客户端登录的用户的权限信息,或者,也可以理解为所述客户端所固有的权限信息等。

S102:所述服务器判断N是否大于第一阈值。若大于,执行S103。

通过判断所述数据集合中的数据数量,所述服务器可以确定是否需要对接收到的数据获取请求实施分次鉴权的操作。若数据集合a中的数据数量较小,例如小于M,那么实际上可以直接对该数据集合a中的全部数据进行一次全部鉴权即可。但是若数据集合b的数据数量N大于第一阈值,如果仍然对数据集合b的全部数据进行一次全部鉴权的话,就可能会导致客户端等待鉴权结果时间过长等问题,故需要改进鉴权方式,采用本发明实施例提供的部分鉴权的方式。

S103:所述服务器从所述N个数据中提取M个未鉴权数据,并保存提取记录,所述未鉴权数据为未被所述服务器通过鉴权服务器进行对应所述客户端的鉴权的数据,所述提取记录用于记录提取数据的数据信息,M<N。

举例说明,所述服务器可以从确定出的存储所述数据集合的资源服务器上提取所述M个未鉴权数据,M的具体数值可以根据应用场景的需求设定。具体的提取数据的方式本发明并不限定,可以采用随机提取的方式,也可以采用顺序提取的方式等。需要注意的是,这里所述的未鉴权数据具体是指所述数据集合包括的N个数据中尚未在针对所述数据获取请求的鉴权过程中被鉴权的数据。

所述提取记录的作用包括确定针对所述数据获取请求的数据提取过程中,所述N个数据中哪些已经被提取用于鉴权。以此避免针对所述数据获取请求再次从所述N个数据中提取数据时,错误提取之前已经被提取数据的情况发生。由此保证了从所述N个数据中提取未鉴权数据的正确性。

所述提取记录所记录的提取数据的数据信息的具体内容可以与所采取的提取数据的方式相关。例如,若数据提取具体采用随机提取的方式,所述提取记录可以包括每一个被提取数据的信息。若数据提取具体采用顺序提取的方式,那么提取顺序是预先确定的,所述提取记录可以仅包括最后一个被提取的数据,通过预先确定的提取顺序和最后一个被提取的数据便可保证不会出现一个数据重复被提取或者被遗漏未提取的情况发生。

可选的,本发明实施例提供了一种顺序提取未鉴权数据的方式,所述服务器从所述N个数据中提取M个数据,并保存提取记录,包括:

所述服务器确定所述N个数据存储在资源服务器上的存储顺序。

所述服务器根据所述存储顺序依次提取M个未鉴权数据,所述提取记录具体用于记录提取过程中最后一个被提取的数据在所述存储顺序中的位置信息。

可以看出,为了便于实施,本发明实施例使用已经明确的所述N个数据的存储顺序作为提取未鉴权数据的提取顺序。相应的,在提取记录中记录提取过程中最后一个被提取的数据在所述存储顺序中的位置信息,这里所述的最后一个可以理解为,所述服务器从所述N个数据中提取M个未鉴权数据,这M个未鉴权数据中最后一个被提取出来的数据的位置就是所述提取记录所记录的位置信息,如果所述服务器再一次从所述N个数据中提取M个未鉴权数据,将所述提取记录中记录的位置信息更新为本次提取中最后一个数据的位置信息。举例说明,假设所述服务器接收客户端发送的数据获取请求a,数据获取请求a所请求获取的数据集合包括1000个数据,即N为1000个,设置M为100个,第一次从这1000个数据中提取100个数据,这100个数据可以是存储顺序的第一个到第一百个,由于是第一次提取,这100个数据均为未鉴权数据。针对第一次提取,提取记录中记录提取过程中最后一个被提取的数据在所述存储顺序中的位置信息,可以是100,即最后一个被提取的数据,第100个数据在存储顺序中的位置信息。当第二次提取时,根据所述提取记录中记录的位置信息100,由于是按照存储顺序进行提取,排列在所述提取记录所记录的存储位置之后的数据必然是未被提取,也未被鉴权的数据。第二次从存储顺序的第101个数据开始提取,一直提取到存储顺序的第200个数据,共100个,这100个数据显然也是未鉴权数据。针对第二次提取,更新后的提取记录中记录的位置信息为200,即最后一个被提取的数据,第200个数据在存储顺序中的位置信息。之后的数据提取可以以此类推。

S104:所述服务器通过鉴权服务器对所述M个未鉴权数据进行对应所述客户端的鉴权,以便确定出确权数据,所述确权数据为所述N个数据中所述客户端具有获取权限的数据。

举例说明,所述服务器可以向所述鉴权服务器发送针对这M个未鉴权数据的鉴权请求,已完成对所述M个未鉴权数据的鉴权。鉴权过程中,需要使用到所述客户端的权限信息,所述客户端的权限信息可以通过所述数据获取请求得到,或者和所述客户端标识之间具有对应关系并预存在服务器中,由此通过所述客户端标识查到得到。需要注意的是,这里所述的确权数据具体是指所述数据集合包括的N个数据中已经在针对所述数据获取请求的鉴权过程中被鉴权的数据。

确定出的确权数据的数量小于等于M,需要注意的是,有些情况下,所述服务器提取的部分数据在鉴权后,只确定出少量甚至没有确定出符合所述客户端权限的确权数据,如果所述服务器将鉴权结果直接返回所述客户端,导致客户端只能展示少量确权数据甚至无法展示确权数据,由此可能会降低用户体验。

为此,可选的,本发明实施例提供了一种确权数据的数量判断方式。在所述服务器通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权之后,还包括:

所述服务器判断通过所述鉴权得到的确权数据的总数是否超过第二阈值。

若超过,所述服务器根据所述客户端标识向所述客户端返回确权数据和所述提取记录。

若未超过,所述服务器根据所述提取记录从所述N个数据中提取M个未鉴权数据,并通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权;所述服务器累加通过所述鉴权得到的确权数据的总数,并继续判断所述确权数据的总数是否超过第二阈值。或者,

若未超过,且若所述N个数据中的未鉴权数据不足M个,所述服务器根据所述提取记录从所述N个数据中提取剩余未鉴权数据,并在所述提取记录中添加结束标识;所述服务器通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权;所述服务器根据所述客户端标识向所述客户端返回确权数据和所述提取记录。

举例说明,所述确权数据的总数可以理解为,在向所述客户端返回确权数据和提取记录之前,所述服务器获取的确权数据累计之和,当所述服务器向所述客户端返回确权数据和提取记录之后,所述确权数据的总数将清零,并在再次提取未鉴权数据进行鉴权时,重新进行累计获取的确权数据。举例说明,假设所述服务器接收客户端发送的数据获取请求a,数据获取请求a所请求获取的数据集合包括1000个数据,即N为1000个。设置M为100个,第二阈值为90个。所述服务器第一次从所述1000个数据中提取100个未鉴权数据,通过鉴权得到10个确权数据,未超过第二阈值90。所述服务器第二次提取100个未鉴权数据,通过鉴权得到40个确权数据,所述确权数据的总数累计为10+40=50,依然未超过第二阈值90。所述服务器第三次提取100个未鉴权数据,通过鉴权得到48个确权数据,所述确权数据的总数累计为10+40+48=98,超过第二阈值90。所述服务器便可以根据所述客户端标识向所述客户端返回确权数据和所述提取记录,并将所述确权数据的总数清零。若之后收到所述客户端返回的所述提取记录,所述服务器将再次从所述1000个数据中提取100个未鉴权数据,通过鉴权得到22个确权数据,未超过第二阈值90。所述服务器继续提取100个未鉴权数据,通过鉴权得到85个确权数据,所述确权数据的总数累计为22+85=107,超过第二阈值90。所述服务器便可以根据所述客户端标识向所述客户端返回确权数据和所述提取记录,并将所述确权数据的总数清零。若所述服务器再次接收到所述客户端返回的所述提取记录,所述服务器的操作可以以此类推。

在所述确权数据的总数未超过所述第二阈值时,所述服务器将继续从所述N个数据中提取M个未鉴权数据进行鉴权,以增加获得的确权数据的数量,直到所述确权数据的总数累计超过第二阈值为止。还有一种可能出现的情况,即所述N个数据在所述确权数据的总数未超过所述第二阈值之前就将被所述服务器提取完。在这种情况下,所述服务器取完所述N个数据中剩余的未鉴权数据,并在所述提取记录中添加结束标识,添加了结束标识的提取记录用于指示所述客户端所述请求获取的数据集合已经鉴权完毕。即使最终获取的确权数据的总数仍然没有超过所述第二阈值,所述服务器也可以根据所述客户端标识向所述客户端返回确权数据和所述提取记录。可见,所述第二阈值一般不推荐设置过大,在本发明实施例中,所述第二阈值的值一般推荐设置小于等于M。

可见在所述服务器通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权之后,所述服务器进一步判断确权数据数量是否超过第二阈值,若未超过,所述服务器将继续提取未鉴权数据进行鉴权,直到获取的确权数据超过第二阈值或者对所述客户端请求获取的数据全部完成鉴权为止,这样所述服务器可以向所述客户端返回相对较多的确权数据,以使得所述客户端可以对获取的确权数据进行合理的展示,进一步提高了用户体验。

S105:所述服务器根据所述客户端标识向所述客户端返回确权数据和所述提取记录,所述提取记录用于指示所述客户端在展示结束数据时,向所述服务器返回所述提取记录,所述结束数据为所述客户端获取的确权数据中,依据展示顺序排在最后的数据。

举例说明,所述提取记录除了可以记录提取数据的数据信息,为所述服务器提取未鉴权数据提供提取基础以外,所述提取记录若发送到所述客户端,还可以用于指示所述客户端在展示结束数据时,向所述服务器返回所述提取记录。所述客户端展示确权数据的方式本发明并不限定,可以全部展示,也可以分页展示。在分页展示的情况下,所述结束数据一般位于分页的最后一页中。例如,所述客户端获取的确权数据被分为了5页,当所述客户端向用户展示到第5页时,若所述提取记录中没有添加结束标识,所述客户端将向所述服务器返回所述提取记录,以获得后续的确权数据。

所述服务器向所述客户端返回确权数据可以有多种方式,比如将全部确权数据返回所述客户端,由所述客户端在需要时对获取的确权数据进行分页。或者,所述服务器可以自行对获取的全部确权数据进行分页,并向所述客户端返回分页后的首页确权数据、所述提取记录和分页信息。使用哪一种具体的方式可以根据应用场景的需求进行相应设置。

也就是说,可选的,所述服务器根据所述客户端标识向所述客户端返回确权数据和所述提取记录,包括:

所述服务器向所述客户端返回所述提取记录和获取的全部确权数据,以使得所述客户端展示所述确权数据,或者分页展示所述确权数据。

或者,所述服务器根据所述客户端标识向所述客户端返回确权数据和所述提取记录,包括:

所述服务器对获取的全部确权数据进行分页;

所述服务器根据所述客户端标识向所述客户端返回分页后的首页确权数据、所述提取记录和分页信息,所述分页信息包括分页页数。

需要注意的是,由所述客户端对确权数据进行分页的方式可以较好的节约所述客户端和所述服务器之间的数据请求的交互次数,提高系统稳定性。而由所述服务器进行分页的方式可以减少所述服务器一次向所述客户端返回的数据量,降低传输失败可能性。

根据图1所对应的实施例可以看出,当客户端请求的数据数量较多时,服务器将通过鉴权服务器从所述客户端请求获取的数据中提取一部分数据进行鉴权,以确定出提取的这部分数据中的确权数据,并在提取过程中保存提取记录,鉴权后,将确权数据和提取记录向所述客户端返回,使得所述服务器不需要对所述客户端请求获取的全部数据都鉴权后,才向所述客户端返回鉴权结果,而只需要对其中部分数据进行鉴权后即可向所述客户端返回确权数据,减少了客户端等待鉴权结果的时间,提高了用户体验。

需要注意的是,当接收到所述客户端返回的所述提取记录时,所述服务器会继续从所述客户端请求获取的数据中提取出部分未鉴权的数据进行鉴权,并返回鉴权结果和更新后的提取记录。

也就是说,可选的,在图1所对应实施例的基础上,图2为本发明实施例提供的一种数据鉴权方法的方法流程图,所述方法包括:

S201:服务器获取客户端发送的数据获取请求,所述数据获取请求包括客户端标识和请求获取的数据集合,所述数据集合包括N个数据,N大于等于2。

S202:所述服务器判断N是否大于第一阈值。若大于,执行S203。

S203:所述服务器从所述N个数据中提取M个未鉴权数据,并保存提取记录,所述未鉴权数据为未被所述服务器通过鉴权服务器进行对应所述客户端的鉴权的数据,所述提取记录用于记录提取数据的数据信息,M<N。

S204:所述服务器通过鉴权服务器对所述M个未鉴权数据进行对应所述客户端的鉴权,以便确定出确权数据,所述确权数据为所述N个数据中所述客户端具有获取权限的数据。

S205:所述服务器根据所述客户端标识向所述客户端返回确权数据和所述提取记录,所述提取记录用于指示所述客户端在展示结束数据时,向所述服务器返回所述提取记录,所述结束数据为所述客户端获取的确权数据中,依据展示顺序排在最后的数据。

S206:所述服务器若获取所述客户端返回的所述提取记录,根据所述提取记录从所述N个数据中提取M个未鉴权数据,并根据提取的未鉴权数据更新所述提取记录;或者,所述服务器若获取所述客户端返回的所述提取记录,当所述N个数据中的未鉴权数据不足M个时,根据所述提取记录从所述N个数据中提取剩余的未鉴权数据,并在所述提取记录中添加结束标识,添加了结束标识的提取记录用于指示所述客户端所述请求获取的数据集合已经鉴权完毕。

举例说明,所述服务器获取所述客户端返回的所述提取记录,将会根据所述提取记录中包括的提取数据的信息,按照之前的实施的提取数据的提取方式,从所述N个数据中继续提取未鉴权数据。提取未鉴权数据的数量与所述N个数据中剩余未鉴权数据的数量相关。一般来说,若剩余未鉴权数据的数量大于等于M,则从所述N个数据中提取M个未鉴权数据,若剩余未鉴权数据的数量小于M,则从所述N个数据中将剩余的未鉴权数据均提取出来。需要注意的是,若将所述N个数据中的未鉴权数据均提取出来,需要在更新所述提取记录时,在所述提取记录中添加结束标识。当所述客户端接收到添加有结束标识的提取记录,所述客户端可以确定针对所述数据获取请求的确权数据已经全部发送完毕。若这种情况下所述客户端展示到所述接收数据,可以不将添加了结束标识的提取记录返回所述服务器,或者,也可以将所述添加了结束标识的提取记录返回所述服务器,但是所述服务器不会根据所述添加了结束标识的提取记录进行操作。

针对从所述N个数据中提取M个未鉴权数据,可选的,所述服务器若获取所述客户端返回的所述提取记录,根据所述提取记录从所述N个数据中提取M个未鉴权数据,包括:

所述服务器根据所述提取记录中所记录的位置信息,从所述存储顺序中所述位置信息的下一个位置的数据开始,依次提取M个未鉴权数据。

或者,针对从所述N个数据中提取剩余的未鉴权数据,可选的,所述服务器若获取所述客户端返回的所述提取记录,当所述N个数据中的未鉴权数据不足M个时,根据所述提取记录从所述N个数据中提取剩余的未鉴权数据,包括:

所述服务器若获取所述客户端返回的所述提取记录,当所述N个数据中的未鉴权数据不足M个时,所述服务器根据所述提取记录中所记录的位置信息,从所述存储顺序中所述位置信息的下一个位置的数据开始,依次提取剩余数据。

S207:所述服务器通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权。

S208:所述服务器根据所述客户端标识向所述客户端返回确权数据和所述提取记录。

从图2所对应实施例可以看出,所述服务器将传统方式中对全部数据的一次全部鉴权改进为多次的部分鉴权,这种方式提高了鉴权效率,在所述客户端获取部分鉴权结果即可满足需求时,所述服务器可以不再需要对所述客户端请求获取的数据中尚未鉴权的剩余数据继续鉴权,提高系统资源的利用率。

实施例二

图3为本发明实施例提供的一种数据鉴权装置的装置结构图,所述装置包括:

获取单元301,原有获取客户端发送的数据获取请求,所述数据获取请求包括客户端标识和请求获取的数据集合,所述数据集合包括N个数据,N大于等于2。

第一判断单元302,用于判断N是否大于第一阈值,若大于,触发提取单元。

所述提取单元303,用于从所述N个数据中提取M个未鉴权数据,并保存提取记录,所述未鉴权数据为未被所述服务器通过鉴权服务器进行对应所述客户端的鉴权的数据,所述提取记录用于记录提取数据的数据信息,M<N。

鉴权单元304,用于通过鉴权服务器对所述M个未鉴权数据进行对应所述客户端的鉴权,以便确定出确权数据,所述确权数据为所述N个数据中所述客户端具有获取权限的数据。

返回单元305,用于根据所述客户端标识向所述客户端返回确权数据和所述提取记录,所述提取记录用于指示所述客户端在展示结束数据时,向所述服务器返回所述提取记录,所述结束数据为所述客户端获取的确权数据中,依据展示顺序排在最后的数据。

可选的,还包括:

若所述获取单元301获取所述客户端返回的所述提取记录,所述提取单元303还用于根据所述提取记录从所述N个数据中提取M个未鉴权数据,并根据提取的未鉴权数据更新所述提取记录;或者,若所述获取单元301获取所述客户端返回的所述提取记录,当所述N个数据中的未鉴权数据不足M个时,所述提取单元303根据所述提取记录从所述N个数据中提取剩余的未鉴权数据,并在所述提取记录中添加结束标识,添加了结束标识的提取记录用于指示所述客户端所述请求获取的数据集合已经鉴权完毕;

所述鉴权单元304还用于通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权;

所述返回单元305还用于根据所述客户端标识向所述客户端返回确权数据和所述提取记录。

可选的,所述提取单元303包括:

确定子单元,用于确定所述N个数据存储在资源服务器上的存储顺序;

提取子单元,用于根据所述存储顺序依次提取M个未鉴权数据,所述提取记录具体用于记录提取过程中最后一个被提取的数据在所述存储顺序中的位置信息。

可选的,

所述提取单元303还用于根据所述提取记录中所记录的位置信息,从所述存储顺序中所述位置信息的下一个位置的数据开始,依次提取M个未鉴权数据,所述存储顺序为所述N个数据存储在资源服务器上的存储顺序,所述位置信息为提取过程中最后一个被提取的数据在所述存储顺序中的位置信息;或者,

所述提取单元303还用于当所述N个数据中的未鉴权数据不足M个时,根据所述提取记录中所记录的位置信息,从所述存储顺序中所述位置信息的下一个位置的数据开始,依次提取剩余数据。

可选的,还包括:

第二判断单元,用于在触发所述鉴权单元304之后,判断通过所述鉴权得到的确权数据的总数是否超过第二阈值;

若超过,触发所述返回单元305根据所述客户端标识向所述客户端返回确权数据和所述提取记录;

若未超过,触发所述提取单元303根据所述提取记录从所述N个数据中提取M个未鉴权数据,并触发所述鉴权单元304通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权;所述第二判断单元累加通过所述鉴权得到的确权数据的总数,并继续判断所述确权数据的总数是否超过第二阈值;或者,

若未超过,且若所述N个数据中的未鉴权数据不足M个,触发所述提取单元303根据所述提取记录从所述N个数据中提取剩余未鉴权数据,并在所述提取记录中添加结束标识;触发所述鉴权单元304通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权;触发所述返回单元305根据所述客户端标识向所述客户端返回确权数据和所述提取记录。

可选的,所述返回单元305包括:

返回子单元,用于向所述客户端返回所述提取记录和获取的全部确权数据,以使得所述客户端展示所述确权数据,或者分页展示所述确权数据;

或者,所述返回单元还包括:

分页子单元,用于对获取的全部确权数据进行分页;

所述返回子单元还用于根据所述客户端标识向所述客户端返回分页后的首页确权数据、所述提取记录和分页信息,所述分页信息包括分页页数。

可以看出,当客户端请求的数据数量较多时,服务器将通过鉴权服务器从所述客户端请求获取的数据中提取一部分数据进行鉴权,以确定出提取的这部分数据中的确权数据,并在提取过程中保存提取记录,鉴权后,将确权数据和提取记录向所述客户端返回,使得所述服务器不需要对所述客户端请求获取的全部数据都鉴权后,才向所述客户端返回鉴权结果,而只需要对其中部分数据进行鉴权后即可向所述客户端返回确权数据,减少了客户端等待鉴权结果的时间,提高了用户体验。

当接收到所述客户端返回的所述提取记录时,所述服务器会继续从所述客户端请求获取的数据中提取出部分未鉴权的数据进行鉴权,并返回鉴权结果和更新后的提取记录,所述服务器将传统方式中对全部数据的一次全部鉴权改进为多次的部分鉴权,这种方式提高了鉴权效率,在所述客户端获取部分鉴权结果即可满足需求时,所述服务器可以不再需要对所述客户端请求获取的数据中尚未鉴权的剩余数据继续鉴权,提高系统资源的利用率。

在所述服务器通过鉴权服务器对提取的未鉴权数据进行对应所述客户端的鉴权之后,所述服务器进一步判断确权数据数量是否超过第二阈值,若未超过,所述服务器将继续提取未鉴权数据进行鉴权,直到获取的确权数据超过第二阈值或者对所述客户端请求获取的数据全部完成鉴权为止,这样所述服务器可以向所述客户端返回相对较多的确权数据,以使得所述客户端可以对获取的确权数据进行合理的展示,进一步提高了用户体验。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

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

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