《获取平台用户资料的方法和系统.pdf》由会员分享,可在线阅读,更多相关《获取平台用户资料的方法和系统.pdf(10页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104125254A43申请公布日20141029CN104125254A21申请号201310153128722申请日20130427H04L29/08200601H04L9/3220060171申请人博雅网络游戏开发(深圳)有限公司地址518057广东省深圳市南山区中山园路1001号TCL产业园国际E城D3栋9BC72发明人周坚李宏业74专利代理机构广州华进联合专利商标代理有限公司44224代理人何平54发明名称获取平台用户资料的方法和系统57摘要本发明提供了一种获取平台用户资料的方法,所述方法包括获取用户访问请求,所述用户访问请求中包含用户标识和验证信息;将所述用户标识。
2、和验证信息加入队列中;按照队列的排序依次获取用户标识,对每一用户标识,执行根据所述用户标识和验证信息从资料服务器中获取对应的用户资料数据,并存储。采用该方法,能够减少资料服务器的负载,使得资料服务器能够快速响应,从而能够及时返回用户资料数据,提高了应用程序的正常运行概率。此外,还提供了一种获取平台用户资料的系统。51INTCL权利要求书2页说明书5页附图2页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书5页附图2页10申请公布号CN104125254ACN104125254A1/2页21一种获取平台用户资料的方法,所述方法包括获取用户访问请求,所述用户访问请求中包含用户标。
3、识和验证信息;将所述用户标识和验证信息加入队列中;按照队列的排序依次获取用户标识,对每一用户标识,执行根据所述用户标识和验证信息从资料服务器中获取对应的用户资料数据,并存储。2根据权利要求1所述的方法,其特征在于,所述将用户标识和验证信息加入队列中,包括将所述用户标识和验证信息存储在REDIS集合中。3根据权利要求2所述的方法,其特征在于,所述将用户标识和验证信息存储在REDIS集合中,包括对所述用户标识进行求模,并散列到预设数量的数据集中,所述数据集包括散列后的用户标识、平台标识和验证信息。4根据权利要求3所述的方法,其特征在于,所述按照队列的排序依次获取用户标识,包括对每个所述数据集启动一。
4、组守护进程,执行所述守护进程从所述数据集中取出相应的数据,组装成用户标识和验证信息。5根据权利要求1所述的方法,其特征在于,在所述获取用户访问请求之后,还包括根据用户标识从缓存服务器中获取对应的用户资料数据;所述根据用户标识和验证信息从资料服务器中获取对应的用户资料数据,并存储,包括根据用户标识和验证信息从资料服务器中获取对应的用户资料数据;将所述获取的用户资料数据存储在缓存服务器和数据库服务器中。6一种获取平台用户资料的系统,其特征在于,所述系统包括WEB服务器,用于获取用户访问请求,所述用户访问请求中包含用户标识和验证信息;队列服务器,用于将所述用户标识和验证信息加入队列中;进程服务器,用。
5、于按照队列的排列依次获取用户标识,对每一个用户标识,执行根据所述用户标识和验证信息从资料服务器中获取对应的用户资料数据,并存储;资料服务器,用于保存用户资料数据。7根据权利要求6所述的系统,其特征在于,所述队列服务器用于将所述用户标识和验证信息存储在REDIS集合中。8根据权利要求7所述的系统,其特征在于,所述队列服务器用于对所述用户标识进行求模,并散列到预设数据的数据集中,所述数据集包括散列后的用户标识、平台标识和验证信息。9根据权利要求8所述的系统,其特征在于,所述进程服务器用于对每个所述数据集启动一组守护进程,执行所述守护进程从所述数据集中取出相应的数据,组装成用户标识和验证信息。10根。
6、据权利要求6所述的系统,其特征在于,所述系统还包括缓存服务器,用户缓存用户资料数据;数据库服务器,用于保存用户资料数据;权利要求书CN104125254A2/2页3所述WEB服务器还用于在获取用户访问请求后,根据所述用户标识从所述缓存服务器中获取对应的用户资料数据;所述进程服务器还用于根据所述用户标识和验证信息从所述资料服务器中获取对应的用户资料数据,将获取的用户资料数据存储在所述缓存服务器和数据库服务器中。权利要求书CN104125254A1/5页4获取平台用户资料的方法和系统技术领域0001本发明涉及计算机技术,特别是涉及一种获取平台用户资料的方法和系统。背景技术0002在登录各种平台的应。
7、用程序时,都需要获取平台用户资料数据。传统技术中,用户通过浏览器访问应用程序,WEB服务器会直接从保存用户资料的服务器获取用户资料。例如,用户通过浏览器访问SNS社区,点击某个连接进入到某个游戏的应用程序,则WEB服务器会从保存用户在该游戏的资料数据的服务器获取用户资料,根据获取到的用户资料用户即可对游戏应用程序进行游戏相关操作。0003然而,由于传统技术中,WEB服务器直接与资料服务器进行交互,当网络出现问题或者资料服务器出现问题时,将会导致应用程序无法正常运行;且如果访问量在某一时刻骤增,则WEB服务器将会高频率的与资料服务器交互,易造成用户资料数据返回超时,容易出现响应不及时或响应超时等。
8、问题,严重影响用户体验。发明内容0004基于此,有必要针对传统技术中容易导致应用程序无法正常运行或响应不及时、超时的问题,提供一种获取平台用户资料的方法和系统,能够减少资料服务器的负载,使得资料服务器能够快速响应。0005一种获取平台用户资料的方法,所述方法包括0006获取用户访问请求,所述用户访问请求中包含用户标识和验证信息;0007将所述用户标识和验证信息加入队列中;0008按照队列的排序依次获取用户标识,对每一用户标识,执行0009根据所述用户标识和验证信息从资料服务器中获取对应的用户资料数据,并存储。0010在其中一个实施例中,所述将用户标识和验证信息加入队列中,包括0011将所述用户。
9、标识和验证信息存储在REDIS集合中。0012在其中一个实施例中,所述将用户标识和验证信息存储在REDIS集合中,包括0013对所述用户标识进行求模,并散列到预设数量的数据集中,所述数据集包括散列后的用户标识、平台标识和验证信息。0014在其中一个实施例中,所述按照队列的排序依次获取用户标识,包括0015对每个所述数据集启动一组守护进程,执行所述守护进程从所述数据集中取出相应的数据,组装成用户标识和验证信息。0016在其中一个实施例中,在所述获取用户访问请求之后,还包括0017根据用户标识从缓存服务器中获取对应的用户资料数据;0018所述根据用户标识和验证信息从资料服务器中获取对应的用户资料数。
10、据,并存储,包括说明书CN104125254A2/5页50019根据用户标识和验证信息从资料服务器中获取对应的用户资料数据;0020将所述获取的用户资料数据存储在缓存服务器和数据库服务器中。0021一种获取平台用户资料的系统,所述系统包括0022WEB服务器,用于获取用户访问请求,所述用户访问请求中包含用户标识和验证信息;0023队列服务器,用于将所述用户标识和验证信息加入队列中;0024进程服务器,用于按照队列的排列依次获取用户标识,对每一个用户标识,执行根据所述用户标识和验证信息从资料服务器中获取对应的用户资料数据,并存储;0025资料服务器,用于保存用户资料数据。0026在其中一个实施例。
11、中,所述队列服务器用于将所述用户标识和验证信息存储在REDIS集合中。0027在其中一个实施例中,所述队列服务器用于对所述用户标识进行求模,并散列到预设数据的数据集中,所述数据集包括散列后的用户标识、平台标识和验证信息。0028在其中一个实施例中,所述进程服务器用于对每个所述数据集启动一组守护进程,执行所述守护进程从所述数据集中取出相应的数据,组装成用户标识和验证信息。0029在其中一个实施例中,所述系统还包括0030缓存服务器,用户缓存用户资料数据;0031数据库服务器,用于保存用户资料数据;0032所述WEB服务器还用于在获取用户访问请求后,根据所述用户标识从所述缓存服务器中获取对应的用户。
12、资料数据;0033所述进程服务器还用于根据所述用户标识和验证信息从所述资料服务器中获取对应的用户资料数据,将获取的用户资料数据存储在所述缓存服务器和数据库服务器中。0034上述获取平台用户资料的方法和系统,通过将用户标识和验证信息加入队列,从队列中依序取出用户标识进行处理,返回对应用户标识的用户资料数据,相对于传统的WEB服务器与资料服务器直接交互的方式,能够减少资料服务器的负载,使得资料服务器能够快速响应,从而能够及时返回用户资料数据,提高了应用程序的正常运行概率。附图说明0035图1为一个实施例中获取平台用户资料的方法的流程图;0036图2为一个实施例中获取平台用户资料的系统的结构示意图;。
13、0037图3为另一个实施例中获取平台用户资料的系统的结构示意图。具体实施方式0038如图1所示,在一个实施例中,提供了一种获取平台用户资料的方法,该方法包括0039步骤102,获取用户访问请求,用户访问请求中包含用户标识和验证信息。0040本实施例中,用户可通过浏览器访问应用程序,WEB服务器获取到用户访问请求,其中用户访问请求中携带有用户标识,用户标识用于唯一标识一个用户。进一步的,可接收用户输入的登录信息,包括帐号、密码等,根据登录信息通过验证后则登录进入应用程序。说明书CN104125254A3/5页6本实施例中,在验证通过后可生成验证信息,该验证信息是用来获取用户资料数据的验证凭证,可。
14、以是根据登录信息生成的字符串。进一步的,为提高安全性,还可设置该字符串的生命周期,例如1小时到24小时不等。0041在一个实施例中,在获取到用户访问请求之后,可根据用户标识从缓存服务器中获取对应的用户资料数据。本实施例中,上次访问获取到的用户资料数据在缓存服务器中进行缓存,因此可直接从缓存服务器中获取与用户标识对应的用户资料数据,这些用户资料数据包括用户姓名、用户昵称、用户性别等基本信息,根据这些用户资料数据可直接登录进入应用程序并进行相关操作。0042步骤104,将用户标识和验证信息加入队列中。0043在一个实施例中,可将用户标识和验证信息存储在REDIS集合中。采用REDIS集合存储队列,。
15、可以保证集合中的用户标识的唯一性,保证一个用户在短时间内只更新一次资料,不会造成资源浪费。0044进一步的,在一个实施例中,将用户标识和验证信息存储在REDIS集合中的步骤包括对用户标识进行求模,并散列到预设数量的数据集中,数据集中包含散列后的用户标识、平台标识和验证信息。其中,散列的一种情况可以是,对用户标识进行求模后,得到的结果相同的用户标识存储在同一数据集中,而对所有用户标识进行求模后,则会得到预设数量的数据集,即为将所有用户标识散列到了预设数量的数据集中。这样,在获取用户标识时,可直接根据其求模结果去相应的数据集中查找,因此能够提高查找效率。本实施例中,由于REDIS是一个高性能的KE。
16、YVALUE(键值)存储系统(一种分布式存储系统),因此需要设计一个KEY来存储数据,而一个KEY中存储的数据大小有限,因此需要将用户标识进行拆分。0045进一步的,在REDIS集合中,为防止分隔符扰乱正常数据,可采用JSON(JAVASCRIPTOBJECTNOTATION,一种轻量级的数据交换格式)存储数据。以将用户标识进行求模,散列到10个数据集中为例进行说明。假设用户标识用MID表示,对MID求模并分配KEY。例如KEY1MID101,KEY2MID102,KEY10MID1010,即KEY1为第一个数据集,KEY2为第二个数据集,以此类推。则REDIS集合中的数据为JSONENCOD。
17、EARRAY123,123456,1,SESSIONKEY,ENCODEARRAY124,2222333,1,SESSIONKEY,ENCODEARRAY125,888888,1,SESSIONKEY等,共10个数据集。其中,123、124、125是散列后的用户标识,123456是平台标识、1为语言类型,SESSIONKEY为验证信息。0046步骤106,按照队列的排序获取用户标识,对每一用户标识,执行根据用户标识和验证信息从资料服务器获取对应的用户资料数据,并存储。0047本实施例中,按照队列的排序从REDIS集合中一个一个的取出数据,由于之前对用户标识进行了求模,并散列到多个数据集中,可获。
18、取这些数据集,根据用户标识的求模结果从相应的数据集中分解出用户标识和验证信息。具体的,可对每个数据集启动一组守护进程,执行守护进程从数据集中取出相应的数据,组装成用户标识和验证信息。0048对于REDIS集合中的数据,每取出一条数据,则清空删除相应KEY的数据,对每个数据集启动一组守护进程进行处理,取出相应数据并组装成用户标识和验证信息后,根据用户标识和验证信息去资料服务器获取与用户标识对应的用户资料数据,其中验证信息用于判断获取数据的合法性,当验证信息合法时,才允许获取与用户标识对应的用户资料数说明书CN104125254A4/5页7据。0049进一步的,可将从资料服务器获取的与用户标识对应。
19、的用户资料数据存储在缓存服务器和数据库服务器中,以对缓存服务器和数据库服务器中的对应该用户标识的用户资料数据进行更新。0050如图2所示,在一个实施例中,提供了一种获取平台用户资料的系统,包括WEB服务器202、队列服务器204、进程服务器206,资料服务器208和数据库服务器210,其中0051WEB服务器202用于获取用户访问请求,用户访问请求中包含用户标识和验证信息。0052本实施例中,用户可通过浏览器访问应用程序,WEB服务器202获取到用户访问请求,其中用户访问请求中携带有用户标识,用户标识用于唯一标识一个用户。进一步的,WEB服务器202可接收用户输入的登录信息,包括帐号、密码等,。
20、根据登录信息通过验证后则登录进入应用程序。本实施例中,在验证通过后可生成验证信息,该验证信息是用来获取用户资料数据的验证凭证,可以是根据登录信息生成的字符串。进一步的,为提高安全性,还可设置该字符串的生命周期,例如1小时到24小时不等。0053队列服务器204用于将用户标识和验证信息加入队列中。0054在一个实施例中,队列服务器204可用于将用户标识和验证信息存储在REDIS集合中。采用REDIS集合存储队列,可以保证集合中的用户标识的唯一性,保证一个用户在短时间内只更新一次资料,不会造成资源浪费。0055进一步的,在一个实施例中,队列服务器204还用于对用户标识进行求模,并散列到预设数量的数。
21、据集中,数据集中包含散列后的用户标识、平台标识和验证信息。本实施例中,由于REDIS是一个KEYVALUE存储系统,因此需要设计一个KEY(键)来存储数据,而一个KEY中存储的数据大小有限,因此队列服务器204需要将用户标识进行拆分。0056进一步的,在REDIS集合中,为防止分隔符扰乱正常数据,可采用JSON(JAVASCRIPTOBJECTNOTATION,一种轻量级的数据交换格式)存储数据。以将用户标识进行求模,散列到10个数据集中为例进行说明。假设用户标识用MID表示,对MID求模并分配KEY。例如KEY1MID101,KEY2MID102,KEY10MID1010,即KEY1为第一个。
22、数据集,KEY2为第二个数据集,以此类推。则REDIS集合中的数据为JSONENCODEARRAY123,123456,1,SESSIONKEY,ENCODEARRAY124,2222333,1,SESSIONKEY,ENCODEARRAY125,888888,1,SESSIONKEY等,共10个数据集。其中,123、124、125是散列后的用户标识,123456是平台标识、1为语言类型,SESSIONKEY为验证信息。0057进程服务器206用于按照队列的排序获取用户标识,对每一用户标识,执行根据用户标识和验证信息从资料服务器获取对应的用户资料数据,并存储。0058资料服务器208用于保存用。
23、户资料数据。0059数据库服务器210用于存储进程服务器206获取到的与用户标识对应的用户资料数据。0060本实施例中,进程服务器206按照队列的排序从REDIS集合中一个一个的取出数据,由于之前队列服务器204对用户标识进行了求模,并散列到多个数据集中,则进程服务器206可获取这些数据集,从中分解出用户标识和验证信息。具体的,进程服务器206可用于对每个数据集启动一组守护进程,执行守护进程从数据集中取出相应的数据,组装成用说明书CN104125254A5/5页8户标识和验证信息。0061对于REDIS集合中的数据,进程服务器206每取出一条数据,则队列服务器204清空删除相应KEY的数据。进。
24、程服务器206对每个数据集启动一组守护进程进行处理,取出相应数据并组装成用户标识和验证信息后,根据用户标识和验证信息从资料服务器208获取与用户标识对应的用户资料数据,其中验证信息用于判断获取数据的合法性,当验证信息合法时,资料服务器208才允许进程服务器206获取与用户标识对应的用户资料数据。0062在一个实施例中,如图3所示,在图2所示实施例的基础上,获取平台用户资料的系统还包括缓存服务器203,其中0063缓存服务器203用于缓存用户资料数据。0064本实施例中,WEB服务器202与多个用户终端进行交互,当获取到用户访问请求后,根据访问请求中的用户标识从缓存服务器203中获取对应的用户资。
25、料数据。本实施例中,上次访问获取到的用户资料数据在缓存服务器203中进行缓存,因此可直接从缓存服务器203中获取与用户标识对应的用户资料数据,这些用户资料数据包括用户姓名、用户昵称、用户性别等基本信息,根据这些用户资料数据可直接登录进入应用程序并进行相关操作。0065进一步的,进程服务器206可将从资料服务器208获取的与用户标识对应的用户资料数据存储在缓存服务器203和数据库服务器210中,以对缓存服务器203和数据库服务器210中的对应该用户标识的用户资料数据进行更新。0066上述获取平台用户资料的方法和系统,通过将用户标识和验证信息加入队列中,从队列中依序取出用户标识进行处理,返回对应用。
26、户标识的用户资料数据,相对于传统的WEB服务器与资料服务器直接交互的方式,能够减少资料服务器的负载,使得资料服务器能够快速响应,从而能够及时返回用户资料数据,提高了应用程序的正常运行概率。0067此外,在获取用户访问请求后,可先从缓存服务器中获取用户资料数据,即使资料服务器出现问题,也不影响应用程序的运行。通过队列这种异步处理的方式,大大减少了网络超时或链路不通的情形,能够加快运行应用程序的效率。通过验证信息一起加入到队列中,还能提高处理的安全性。0068以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。说明书CN104125254A1/2页9图1图2说明书附图CN104125254A2/2页10图3说明书附图CN104125254A10。