一种用户注册方法和装置与流程

文档序号:12376960阅读:349来源:国知局
一种用户注册方法和装置与流程

本发明涉及互联网技术领域,尤其涉及一种用户注册方法和装置。



背景技术:

一个品牌的官网通常对应的会有服务平台、开发者平台、移动端平台和PC端平台等多个平台,而这些平台都对接着一个唯一的用户登录注册系统。随着这个品牌的不断壮大,随之而来的是用户群体的不断增大,如果用户登录注册系统承受不了高并发而发生宕机现象,将会导致与用户登录注册系统相对应的多个平台都无法进行正常的登录和注册操作。



技术实现要素:

本发明的主要目的在于提出一种用户注册方法和装置,旨在解决多个用户同时注册时,用户登录注册系统出现宕机的现象。

为实现上述目的,本发明提供的一种用户注册装置,包括:

获取模块,用于获取每个用户的特征信息;

存储模块,用于将所述特征信息存储到待发送队列中;

发送模块,用于将所述待发送队列中的所述特征信息顺序发送到用户登录注册系统数据库中。

进一步的,所述特征信息包括:用户注册信息以及用户ID信息;

所述用户注册信息包括用户注册时使用的用户名、邮箱和密码;

所述用户ID信息是利用设定算法为每个用户生成的唯一ID。

进一步的,所述存储模块,还用于:

将所述特征信息存储到缓存数据库中,以便注册成功的用户下次登录时直接从所述缓存数据库中获取所述特征信息。

进一步的,所述发送模块,具体用于:

实时监听所述待发送队列,当所述待发送队列中出现所述特征信息时,将所述特征信息顺序发送到用户登录注册系统数据库中,并将所述特征信息从所述待发送队列中删除。

进一步的,所述装置还包括:

用户名存储模块,用于将每个所述特征信息中的用户名存储到用户名数据库中;

用户名校验模块,用于当新用户注册时,校验所述新用户注册时使用的用户名是否已存在于所述用户名数据库中,若是,则所述新用户的注册失败,若否,则所述存储模块将包括所述用户名的特征信息分别存储到缓存数据库以及待发送队列中。

此外,为实现上述目的,本发明还提出一种用户注册方法,包括:

获取每个用户的特征信息;

将所述特征信息存储到待发送队列中;

将所述待发送队列中的所述特征信息顺序发送到用户登录注册系统数据库中。

进一步的,所述特征信息包括:用户注册信息以及用户ID信息;

所述用户注册信息包括用户注册时使用的用户名、邮箱和密码;

所述用户ID信息是利用设定算法为每个用户生成的唯一ID。

进一步的,所述方法还包括:

将所述特征信息存储到缓存数据库中,以便注册成功的用户下次登录时直接从所述缓存数据库中获取所述特征信息。

进一步的,所述将所述待发送队列中的所述特征信息顺序发送到用户登录注册系统数据库中,包括:

实时监听所述待发送队列,当所述待发送队列中出现所述特征信息时,将所述特征信息顺序发送到用户登录注册系统数据库中,并将所述特征信息从所述待发送队列中删除。

进一步的,所述方法还包括:

将每个所述特征信息中的用户名存储到用户名数据库中;

当新用户注册时,校验所述新用户注册时使用的用户名是否已存在于所述用户名数据库中,若是,则所述新用户的注册失败,若否,则所述存储模块将包括所述用户名的特征信息分别存储到缓存数据库以及待发送队列中。

本发明提出的一种用户注册方法和装置,对用户登录注册系统的数据同步方式进行了改进,将传统的并发插入数据库的方式改进为顺序插入数据库的方式。本发明将特征信息先存放到待发送队列中,再将待发送队列中的特征信息顺序插入到用户登录注册系统数据库中。

附图说明

图1为本发明第一实施例的用户注册装置的组成结构示意图;

图2为本发明第二实施例的用户注册装置的组成结构示意图;

图3为本发明第三实施例的用户注册方法的流程图;

图4为本发明第四实施例的用户注册方法的流程图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。

如图1所示,本发明第一实施例提出一种用户注册装置,所述装置具体包括以下组成部分:

1)获取模块101,用于获取每个用户的特征信息。

具体的,所述特征信息包括:用户注册信息以及用户ID信息。

所述用户注册信息为新用户注册时提供的所有个人信息,例如:新用户注册时所设置的用户名、密码,新用户注册时所填写的手机号、出生年月日、邮箱、工作单位、籍贯、性别、学历、身份证号和兴趣爱好等。

所述用户ID信息是当用户提交完用户注册信息后,利用设定算法为每个用户生成的唯一ID。

进一步的,可利用twitter开源的分布式自增ID算法为所述用户生成一个唯一的ID。所述利用twitter开源的分布式自增ID算法生成的ID采用64位的结构,第一位未被使用,接下来的41位为毫秒级时间,然后的10位是根据当前服务器序号值生成的,最后12位是毫秒内的计数(12位的计数顺序号支持每个节点每毫秒产生4096个ID序号)。所述ID整体上按照时间自增排序,并且在整个分布式系统内不会产生ID碰撞,并且效率较高。一般情况下使用twitter开源的分布式自增ID算法每秒能够产生26万个ID。

2)存储模块102,用于将所述特征信息分别存储到缓存数据库以及待发送队列中。

具体的,将所述特征信息缓存到缓存数据库中,因此,当注册成功后的用户下次登录时,无需从用户登录注册系统数据库中读取所述用户的特征信息,可以直接从所述缓存数据库中获取所述用户的特征信息。

将待发送到用户登录注册系统数据库中去的特征信息按照顺序暂时存放在所述待发送队列中,当所述待发送队列中的特征信息发送到用户登录注册系统数据库中时,所述特征信息从所述待发送队列中删除。

通过所述待发送队列,可以将传统的把特征信息并发插入用户登录注册系统数据库中的方式改为按照顺序把特征信息一个一个的插入到用户登录注册系统数据库中的方式。此外,当发现读取待发送队列中的特征信息过于缓慢时,可以利用多台服务器并发的读取所述待发送队列中的特征信息,以加快顺序插入用户登录注册系统数据库的速度。

3)发送模块103,用于将所述待发送队列中的所述特征信息顺序发送到用户登录注册系统数据库中。

具体的,发送模块103,用于:

实时监听所述待发送队列,当所述待发送队列中出现所述特征信息时,将所述特征信息顺序发送到用户登录注册系统数据库中,并将所述特征信息从所述待发送队列中删除。

如图2所示,本发明第二实施例提出一种用户注册装置,所述装置具体包括以下组成部分:

1)获取模块201,用于获取每个用户的特征信息。

具体的,所述特征信息包括:用户注册信息以及用户ID信息。

所述用户注册信息为新用户注册时提供的所有个人信息,例如:新用户注册时所设置的用户名、密码,新用户注册时所填写的手机号、出生年月日、邮箱、工作单位、籍贯、性别、学历、身份证号和兴趣爱好等。

所述用户ID信息是当用户提交完用户注册信息后,利用设定算法为每个用户生成的唯一ID。

进一步的,可利用twitter开源的分布式自增ID算法为所述用户生成一个唯一的ID。所述利用twitter开源的分布式自增ID算法生成的ID采用64位的结构,第一位未被使用,接下来的41位为毫秒级时间,然后的10位是根据当前服务器序号值生成的,最后12位是毫秒内的计数(12位的计数顺序号支持每个节点每毫秒产生4096个ID序号)。所述ID整体上按照时间自增排序,并且在整个分布式系统内不会产生ID碰撞,并且效率较高。一般情况下使用twitter开源的分布式自增ID算法每秒能够产生26万个ID。

2)用户名存储模块202,用于将每个所述特征信息中的用户名存储到用户名数据库中。

3)用户名校验模块203,用于当新用户注册时,校验所述新用户注册时使用的用户名是否已存在于所述用户名数据库中,若是,则所述新用户的注册失败,若否,则触发存储模块204。

传统的用户名校验方式是从用户登录注册系统数据库中获取已存在的用户名,因此,会造成大量的读取用户登录注册系统数据库的操作。而用户名校验模块203可以快速的校验新用户注册时使用的用户名是否已存在,无需对用户登录注册系统数据库进行读取操作。

4)存储模块204,用于将所述特征信息分别存储到缓存数据库以及待发送队列中。

具体的,所述存储模块204,用于:

按照预设要求,将所述特征信息中的部分信息存储到缓存数据库中;例如,只将用户登录时所需要的用户名、密码、邮箱和ID缓存到缓存数据库中。因此,当注册成功后的用户下次登录时,无需从用户登录注册系统数据库中读取所述用户登录时所需的特征信息,可以直接从所述缓存数据库中获取所述用户登录时所需的特征信息。

将待发送到用户登录注册系统数据库中去的特征信息按照顺序暂时存放在所述待发送队列中;所述待发送到用户登录注册系统数据库中去的特征信息为特征信息中的全部信息。

通过所述待发送队列,可以将传统的将特征信息并发插入用户登录注册系统数据库中的方式改为按照顺序将特征信息一个一个的插入到用户登录注册系统数据库中的方式。此外,当发现读取待发送队列中的特征信息过于缓慢时,可以利用多台服务器并发的读取所述待发送队列中的特征信息,以加快顺序插入用户登录注册系统数据库的速度。

进一步的,所述存储模块可通过搭建redis集群实现,所述redis集群包括:redis队列和redis数据库。所述redis队列相当于所述存储模块中的待发送队列,用于存储所述特征信息中的全部信息。所述redis数据库相当于所述存储模块中的缓存数据库,用于存储所述特征信息中的部分信息。

5)发送模块205,用于将所述待发送队列中的所述特征信息顺序发送到用户登录注册系统数据库中。

具体的,发送模块205,用于:

实时监听所述待发送队列,当所述待发送队列中出现所述特征信息时,将所述特征信息顺序发送到用户登录注册系统数据库中,并将所述特征信息从所述待发送队列中删除。

如图3所示,本发明第三实施例提出一种用户注册方法,所述方法具体包括以下步骤:

步骤S301:获取每个用户的特征信息。

具体的,所述特征信息包括:用户注册信息以及用户ID信息。

所述用户注册信息为新用户注册时提供的所有个人信息,例如:新用户注册时所设置的用户名、密码,新用户注册时所填写的手机号、出生年月日、邮箱、工作单位、籍贯、性别、学历、身份证号和兴趣爱好等。

所述用户ID信息是当用户提交完用户注册信息后,利用设定算法为每个用户生成的唯一ID。

进一步的,可利用twitter开源的分布式自增ID算法为所述用户生成一个唯一的ID。所述利用twitter开源的分布式自增ID算法生成的ID采用64位的结构,第一位未被使用,接下来的41位为毫秒级时间,然后的10位是根据当前服务器序号值生成的,最后12位是毫秒内的计数(12位的计数顺序号支持每个节点每毫秒产生4096个ID序号)。所述ID整体上按照时间自增排序,并且在整个分布式系统内不会产生ID碰撞,并且效率较高。一般情况下使用twitter开源的分布式自增ID算法每秒能够产生26万个ID。

步骤S302:将所述特征信息分别存储到缓存数据库以及待发送队列中。

具体的,将所述特征信息缓存到缓存数据库中,因此,当注册成功后的用户下次登录时,无需从用户登录注册系统数据库中读取所述用户的特征信息,可以直接从所述缓存数据库中获取所述用户的特征信息。

将待发送到用户登录注册系统数据库中去的特征信息按照顺序暂时存放在所述待发送队列中,当所述待发送队列中的特征信息发送到用户登录注册系统数据库中时,所述特征信息从所述待发送队列中删除。

通过所述待发送队列,可以将传统的把特征信息并发插入用户登录注册系统数据库中的方式改为按照顺序把特征信息一个一个的插入到用户登录注册系统数据库中的方式。此外,当发现读取待发送队列中的特征信息过于缓慢时,可以利用多台服务器并发的读取所述待发送队列中的特征信息,以加快顺序插入用户登录注册系统数据库的速度。

步骤S303:将所述待发送队列中的所述特征信息顺序发送到用户登录注册系统数据库中。

具体的,所述步骤S303,包括:

实时监听所述待发送队列,当所述待发送队列中出现所述特征信息时,将所述特征信息顺序发送到用户登录注册系统数据库中,并将所述特征信息从所述待发送队列中删除。

如图4所示,本发明第四实施例提出一种用户注册方法,所述方法具体包括以下步骤:

步骤S401:用于获取每个用户的特征信息。

具体的,所述特征信息包括:用户注册信息以及用户ID信息。

所述用户注册信息为新用户注册时提供的所有个人信息,例如:新用户注册时所设置的用户名、密码,新用户注册时所填写的手机号、出生年月日、邮箱、工作单位、籍贯、性别、学历、身份证号和兴趣爱好等。

所述用户ID信息是当用户提交完用户注册信息后,利用设定算法为每个用户生成的唯一ID。

进一步的,可利用twitter开源的分布式自增ID算法为所述用户生成一个唯一的ID。所述利用twitter开源的分布式自增ID算法生成的ID采用64位的结构,第一位未被使用,接下来的41位为毫秒级时间,然后的10位是根据当前服务器序号值生成的,最后12位是毫秒内的计数(12位的计数顺序号支持每个节点每毫秒产生4096个ID序号)。所述ID整体上按照时间自增排序,并且在整个分布式系统内不会产生ID碰撞,并且效率较高。一般情况下使用twitter开源的分布式自增ID算法每秒能够产生26万个ID。

步骤S402:将每个所述特征信息中的用户名存储到用户名数据库中。

步骤S403:当新用户注册时,校验所述新用户注册时使用的用户名是否已存在于所述用户名数据库中,若是,则所述新用户的注册失败,若否,则执行步骤S404。

传统的用户名校验方式是从用户登录注册系统数据库中获取已存在的用户名,因此,会造成大量的读取用户登录注册系统数据库的操作。而本实施例中介绍的方法可以快速的校验新用户注册时使用的用户名是否已存在,无需对用户登录注册系统数据库进行读取操作。

步骤S404:将所述特征信息分别存储到缓存数据库以及待发送队列中。

具体的,所述步骤S404,包括:

按照预设要求,将所述特征信息中的部分信息存储到缓存数据库中;例如,只将用户登录时所需要的用户名、密码、邮箱和ID缓存到缓存数据库中。因此,当注册成功后的用户下次登录时,无需从用户登录注册系统数据库中读取所述用户登录时所需的特征信息,可以直接从所述缓存数据库中获取所述用户登录时所需的特征信息。

将待发送到用户登录注册系统数据库中去的特征信息按照顺序暂时存放在所述待发送队列中;所述待发送到用户登录注册系统数据库中去的特征信息为特征信息中的全部信息。

通过所述待发送队列,可以将传统的将特征信息并发插入用户登录注册系统数据库中的方式改为按照顺序将特征信息一个一个的插入到用户登录注册系统数据库中的方式。此外,当发现读取待发送队列中的特征信息过于缓慢时,可以利用多台服务器并发的读取所述待发送队列中的特征信息,以加快顺序插入用户登录注册系统数据库的速度。

进一步的,所述步骤S404可通过搭建redis集群实现,所述redis集群包括:redis队列和redis数据库。所述redis队列相当于所述存储模块中的待发送队列,用于存储所述特征信息中的全部信息。所述redis数据库相当于所述存储模块中的缓存数据库,用于存储所述特征信息中的部分信息。

步骤S405:将所述待发送队列中的所述特征信息顺序发送到用户登录注册系统数据库中。

具体的,所述步骤S405,包括:

实时监听所述待发送队列,当所述待发送队列中出现所述特征信息时,将所述特征信息顺序发送到用户登录注册系统数据库中,并将所述特征信息从所述待发送队列中删除。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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