CN104572850A - 一种注册号码的生成方法 - Google Patents

一种注册号码的生成方法 Download PDF

Info

Publication number
CN104572850A
CN104572850A CN201410780846.1A CN201410780846A CN104572850A CN 104572850 A CN104572850 A CN 104572850A CN 201410780846 A CN201410780846 A CN 201410780846A CN 104572850 A CN104572850 A CN 104572850A
Authority
CN
China
Prior art keywords
afterbody
stem
pond
internal memory
number pond
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410780846.1A
Other languages
English (en)
Other versions
CN104572850B (zh
Inventor
王笑霏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Wanqiao Technology Co., Ltd.
Original Assignee
Sea Of Clouds Science And Technology Ltd Can Be Thought In Beijing
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sea Of Clouds Science And Technology Ltd Can Be Thought In Beijing filed Critical Sea Of Clouds Science And Technology Ltd Can Be Thought In Beijing
Priority to CN201410780846.1A priority Critical patent/CN104572850B/zh
Publication of CN104572850A publication Critical patent/CN104572850A/zh
Application granted granted Critical
Publication of CN104572850B publication Critical patent/CN104572850B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提出了一种注册号码的生成方法,包括:接收来自终端的号码注册请求;如果内存中没有同时缓存首部号码池和尾部号码池,则访问数据库并将所述首部号尾部号码池和所述尾部号码池缓存至内存中;从内存中的首部号码池随机选取一首部号码;从内存中的尾部号码池随机选取一尾部号码;组合所述一首部号码和所述一尾部号码以生成所述唯一注册号码;将所述唯一注册号码发送至所述终端。通过本发明实现了减少重新生成可用号码的次数;使得对数据库的访问减少,有效减少了数据库访问压力;有效增强了注册号码的私密性、安全性;使得既不浪费系统资源又能够满足用户注册的实际需要,使得系统具有较强的适应性。

Description

一种注册号码的生成方法
技术领域
本发明涉及计算机技术,特别涉及一种注册号码的生成方法。
背景技术
现今,人们在使用计算机程序或手机应用时经常需要注册号码,据统计每一用户平均每个月要注册1-2个号码,这些号码分别用于访问不同的网站、服务器等等。在一已有技术中,用户往往需要自行输入唯一注册号码,在注册初期并不明显,但是后期注册的用户往往需要进行多次尝试才能满足其用户名的唯一性。在另一已有的技术中,每一次注册号码操作均需要生成新的注册号码并且需要访问一次数据库,在这种情况下,数据库的负载非常大,造成巨大的访问开销;另一方面,当用户成功注册号码后,往往容易根据自己注册号码推测其他用户的可能号码,对注册号码的安全性造成威胁。
发明内容
为解决上述现有技术所存在的问题,本发明引入号码池技术,利用内存进行缓存,通过首部号码和尾部号码进行随机组合,有效解决了上述技术问题。本发明提出的一种注册号码的生成方法包括:接收来自终端的号码注册请求,所述号码注册请求用于申请唯一注册号码;如果内存中没有同时缓存首部号码池和尾部号码池,则访问数据库并将所述首部号尾部号码池和所述尾部号码池缓存至内存中,其中所述首部号码池中包括第一预定数量的号码,所述尾部号码池中包括第二预定数量的号码;从内存中的首部号码池随机选取一首部号码,并将所述一首部号码从所述首部号码池中清除;从内存中的尾部号码池随机选取一尾部号码,并将所述一尾部号码从所述尾部号码池中清除;组合所述一首部号码和所述一尾部号码以生成所述唯一注册号码;将所述唯一注册号码发送至所述终端;如果首部号码池中可用号码的数量等于第一预定临界值时,则生成新的首部号码补充到首部号码池中;如果尾部号码池中可用号码的数量等于第二预定临界值时,则生成新的尾部号码补充到尾部号码池中。
优选地,所述第一预定数量与所述第二预定数量不相等,所述第一预定临界值与所述第二预定数量临界值不相等。
优选地,所述选取一首部号码之后,立即将所述一首部号码暂存在第一变量中,以及所述选取一尾部号码之后,立即将所述一尾部号码暂存在第二变量中。
优选地,所述生成新的首部号码补充到首部号码池中包括:将所述数据库中的首部号码池替换为内存中的首部号码池;生成N个新的首部号码补充到所述数据库中的首部号码池中,所述N等于所述第一预定数量减去所述第一预定临界值;将所述内存中的首部号码池替换为所述数据库中的首部号码池。
优选地,所述生成新的尾部号码补充到尾部号码池中包括:将所述数据库中的尾部号码池替换为内存中的尾部号码池;生成N个新的尾部号码补充到所述数据库中的尾部号码池中,所述N等于所述第二预定数量减去所述第二预定临界值;将所述内存中的尾部号码池替换为所述数据库中的尾部号码池。
优选地,所述从内存中的首部号码池随机选取一首部号码包括:获取首部号码池中首部号码的当前数量C1;获取系统时钟的微秒值并转换为3位数字T1;选取首部号码池中第mod(T1,C1)+1个首部号码作为所述一首部号码, mod()是求余函数。
优选地,所述从内存中的尾部号码池随机选取一尾部号码包括:获取当前尾部号码池中尾部号码的数量C2;获取系统时钟的微秒值并转换为3位数字T2;选取首部号码池中第mod(T2,C2)+1个尾部号码作为所述一尾部号码, mod()是求余函数。
优选地,组合所述一首部号码和所述一尾部号码以生成所述唯一注册包括:将所述一首部号码和所述一尾部号码以首尾相连的方式进行合并。
优选地,组合所述一首部号码和所述一尾部号码以生成所述唯一注册包括:将所述一首部号码和所述一尾部号码以逐位间隔排列的方式进行合并。
优选地,在所述生成N个新的首部号码补充到所述数据库中的首部号码池中之前还包括以下步骤:根据当前注册量的增长趋势调高或降低所述第一预定临界值的大小;并且在所述生成N个新的尾部号码补充到所述数据库中的尾部号码池中之前还包括以下步骤:根据当前注册量的增长趋势调高或降低所述第二预定临界值的大小。
本发明相比现有技术,具有以下优点:
通过引入号码池技术,可一次生成多个候选码段,包括可用的首部号码和尾部号码,大大减少了重新生成可用号码的次数。
通过引入内存缓存技术,同时将首部号码池和尾部号码池缓存至内容,使得对数据库的访问大大减少,有效减少了数据库访问压力。
通过采用首部号码和尾部号码的随机组合,有效增强了注册号码的私密性、安全性。
通过动态调整号码池预定临界值,使得根据注册量的趋势调整号码池的大小,既不浪费系统资源又能够满足用户注册的实际需要,使得系统具有较强的适应性。
附图说明
图1是根据本发明实施例的注册号码生成方法的流程图。
具体实施方式
下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
图1示出根据本发明实施例的注册号码生成方法的流程图。所述注册号码生成方法包括:服务器接收来自终端的号码注册请求,所述号码注册请求用于申请唯一注册号码,其中所述号码注册请求由用户经由终端向服务器提出,本领域技术人员应当意识到,服务器同时接收来自多个终端的多个号码注册请求,当服务器同时收到多个号码注册请求时,所述多个号码注册请求依次缓存在队列中并依次进行处理。
在处理号码注册请求阶段,响应于所述号码注册请求,首先判断内存中是否同时缓存有首部号码池和尾部号码池。如果内存中没有同时缓存首部号码池和尾部号码池,则访问数据库并将所述首部号尾部号码池和所述尾部号码池缓存至内存中,其中所述首部号码池中包括第一预定数量的号码,所述尾部号码池中包括第二预定数量的号码,其中首部号码池和尾部号码池是预先生成并保存在所述数据库中的,所述首部号码池中的第一预定数量的号码是根据第一预定规则生成的,所述尾部号码池中的第二预定数量的号码是根据第二预定规则生成的。所述第一预定规则例如是生成m位十进制数字,所述第二预定规则例如是生成n位十进制数字,m和n相等或不相等,例如m和n同为5,或者m为6并且n为4。其中所述首部号码池中的第一预定数量的号码各不相同,所述尾部号码池中的第二预定数量的号码各不相同。其中所述第一预定数量与所述第二预定数量不相等。其中,根据所述第一预定数量例如是100,1000或10000,所述第二预定数量例如是200,2000,或20000。其中根据当前注册量的增长趋势调高或降低所述第一预定数量和所述第二预定数量,例如近期单位时间内注册量上升则调高所述第一预定数量和所述第二预定数量,近期单位时间内注册量下降则降低所述第一预定数量和所述第二预定数量。
接着,从内存中的首部号码池随机选取一首部号码,并将所述一首部号码从所述首部号码池中清除。其中所述随机选取可以使用以下两种技术之一:其一,保持首部号码池中的所有号码的规律性,当需要从内存中的首部号码池选取一首部号码时,随机选取其中一个号码。其二,保持首部号码池中的所有号码的随机性,当需要从内存中的首部号码池选取一首部号码时,顺序选取其中一个号码。当将所述一首部号码从所述首部号码池中清除后,根据上述不同技术分别重新排序首部号码池中的所有号码。从内存中的尾部号码池随机选取一尾部号码,并将所述一尾部号码从所述尾部号码池中清除。其中尾部号码池中的选取方法同在首部号码池中的上述选取方法相同。组合所述一首部号码和所述一尾部号码以生成所述唯一注册号码。最后,将所述唯一注册号码发送至所述终端,供用户使用。
在本发明优选实施例中,如果首部号码池中可用号码的数量等于第一预定临界值时,则生成新的首部号码补充到首部号码池中,所生成的新的首部号码顺序补充到首部号码池中其他号码的尾部,或者所生成的新的首部号码与首部号码池中其他号码全部进行随机排序。如果尾部号码池中可用号码的数量等于第二预定临界值时,则生成新的尾部号码补充到尾部号码池中, 所生成的新的尾部号码顺序补充到尾部号码池中其他号码的尾部,或者所生成的新的尾部号码与尾部号码池中其他号码全部进行随机排序。其中,所述第一预定临界值与所述第二预定数量临界值不相等,例如所述第一预定临界值是50,500,或5000;所述第二预定临界值是100,1000,或10000。在所述生成N个新的首部号码补充到所述数据库中的首部号码池中之前还包括以下步骤:根据当前注册量的增长趋势调高或降低所述第一预定临界值的大小;并且在所述生成N个新的尾部号码补充到所述数据库中的尾部号码池中之前还包括以下步骤:根据当前注册量的增长趋势调高或降低所述第二预定临界值的大小。
在优选实施例中,所述选取一首部号码之后,立即将所述一首部号码暂存在第一变量中,以及所述选取一尾部号码之后,立即将所述一尾部号码暂存在第二变量中。
在优选实施例中,所述生成新的首部号码补充到首部号码池中包括:将所述数据库中的首部号码池替换为内存中的首部号码池;生成N个新的首部号码补充到所述数据库中的首部号码池中,所述N等于所述第一预定数量减去所述第一预定临界值;将所述内存中的首部号码池替换为所述数据库中的首部号码池。所述生成新的尾部号码补充到尾部号码池中包括:将所述数据库中的尾部号码池替换为内存中的尾部号码池;生成N个新的尾部号码补充到所述数据库中的尾部号码池中,所述N等于所述第二预定数量减去所述第二预定临界值;将所述内存中的尾部号码池替换为所述数据库中的尾部号码池。
在优选实施例中,所述从内存中的首部号码池随机选取一首部号码包括:获取首部号码池中首部号码的当前数量C1;获取系统时钟的微秒值并转换为3位数字T1;选取首部号码池中第mod(T1,C1)+1个首部号码作为所述一首部号码, mod()是求余函数。所述从内存中的尾部号码池随机选取一尾部号码包括:获取当前尾部号码池中尾部号码的数量C2;获取系统时钟的微秒值并转换为3位数字T2;选取首部号码池中第mod(T2,C2)+1个尾部号码作为所述一尾部号码, mod()是求余函数。
在优选实施例中,组合所述一首部号码和所述一尾部号码以生成所述唯一注册包括:将所述一首部号码和所述一尾部号码以首尾相连的方式进行合并。在另一优选实施例中,组合所述一首部号码和所述一尾部号码以生成所述唯一注册包括:将所述一首部号码和所述一尾部号码以逐位间隔排列的方式进行合并。
综上所述,本发明提出的注册号码的生成方法,实现大大减少了重新生成可用号码的次数;使得对数据库的访问大大减少,有效减少了数据库访问压力;有效增强了注册号码的私密性、安全性;使得既不浪费系统资源又能够满足用户注册的实际需要,使得系统具有较强的适应性。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (9)

1.一种注册号码的生成方法,包括:
接收来自终端的号码注册请求,所述号码注册请求用于申请唯一注册号码;
如果内存中没有同时缓存首部号码池和尾部号码池,则访问数据库并将所述首部号尾部号码池和所述尾部号码池缓存至内存中,其中所述首部号码池中包括第一预定数量的号码,所述尾部号码池中包括第二预定数量的号码;
从内存中的首部号码池随机选取一首部号码,并将所述一首部号码从所述首部号码池中清除;
从内存中的尾部号码池随机选取一尾部号码,并将所述一尾部号码从所述尾部号码池中清除;
组合所述一首部号码和所述一尾部号码以生成所述唯一注册号码;
将所述唯一注册号码发送至所述终端;
如果首部号码池中可用号码的数量等于第一预定临界值时,则生成新的首部号码补充到首部号码池中;
如果尾部号码池中可用号码的数量等于第二预定临界值时,则生成新的尾部号码补充到尾部号码池中。
2.根据权利要求1所述的方法,其特征在于,所述第一预定数量与所述第二预定数量不相等,所述第一预定临界值与所述第二预定数量临界值不相等。
3.根据权利要求1所述的方法,其特征在于,所述选取一首部号码之后,立即将所述一首部号码暂存在第一变量中,以及所述选取一尾部号码之后,立即将所述一尾部号码暂存在第二变量中。
4.根据权利要求1所述的方法,其特征在于,所述生成新的首部号码补充到首部号码池中包括:
将所述数据库中的首部号码池替换为内存中的首部号码池;
生成N个新的首部号码补充到所述数据库中的首部号码池中,所述N等于所述第一预定数量减去所述第一预定临界值;
将所述内存中的首部号码池替换为所述数据库中的首部号码池。
5.根据权利要求1所述的方法,其特征在于,所述生成新的尾部号码补充到尾部号码池中包括:
将所述数据库中的尾部号码池替换为内存中的尾部号码池;
生成N个新的尾部号码补充到所述数据库中的尾部号码池中,所述N等于所述第二预定数量减去所述第二预定临界值;
将所述内存中的尾部号码池替换为所述数据库中的尾部号码池。
6.根据权利要求1所述的方法,其特征在于,所述从内存中的首部号码池随机选取一首部号码包括:
获取首部号码池中首部号码的当前数量C1;
获取系统时钟的微秒值并转换为3位数字T1;
选取首部号码池中第mod(T1,C1)+1个首部号码作为所述一首部号码, mod()是求余函数。
7.根据权利要求1所述的方法,其特征在于,所述从内存中的尾部号码池随机选取一尾部号码包括:
获取当前尾部号码池中尾部号码的数量C2;
获取系统时钟的微秒值并转换为3位数字T2;
选取首部号码池中第mod(T2,C2)+1个尾部号码作为所述一尾部号码, mod()是求余函数。
8.根据权利要求1所述的方法,其特征在于,组合所述一首部号码和所述一尾部号码以生成所述唯一注册包括:
将所述一首部号码和所述一尾部号码以首尾相连的方式进行合并。
9.根据权利要求1所述的方法,其特征在于,组合所述一首部号码和所述一尾部号码以生成所述唯一注册包括:
将所述一首部号码和所述一尾部号码以逐位间隔排列的方式进行合并。
CN201410780846.1A 2014-12-17 2014-12-17 一种注册号码的生成方法 Expired - Fee Related CN104572850B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410780846.1A CN104572850B (zh) 2014-12-17 2014-12-17 一种注册号码的生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410780846.1A CN104572850B (zh) 2014-12-17 2014-12-17 一种注册号码的生成方法

Publications (2)

Publication Number Publication Date
CN104572850A true CN104572850A (zh) 2015-04-29
CN104572850B CN104572850B (zh) 2017-12-05

Family

ID=53088912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410780846.1A Expired - Fee Related CN104572850B (zh) 2014-12-17 2014-12-17 一种注册号码的生成方法

Country Status (1)

Country Link
CN (1) CN104572850B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1369809A (zh) * 2002-01-14 2002-09-18 张国柱 一种批量生产的计算机软件的注册码防盗版加密方法
US20040255114A1 (en) * 2003-05-07 2004-12-16 Samsung Electronics Co., Ltd. Method of authenticating content provider and assuring content integrity
CN102236761A (zh) * 2010-04-27 2011-11-09 张云梯 一种软件防盗版中注册码生成方法
CN102708310A (zh) * 2012-01-12 2012-10-03 苏州百正信息科技有限公司 一种批量生产的计算机软件的注册码防盗版加密方法
CN103093129A (zh) * 2013-01-09 2013-05-08 上海大唐移动通信设备有限公司 一种用于软件许可的注册码生成方法和装置
CN103955379A (zh) * 2014-03-31 2014-07-30 广州视睿电子科技有限公司 一种注册软件的方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1369809A (zh) * 2002-01-14 2002-09-18 张国柱 一种批量生产的计算机软件的注册码防盗版加密方法
US20040255114A1 (en) * 2003-05-07 2004-12-16 Samsung Electronics Co., Ltd. Method of authenticating content provider and assuring content integrity
CN102236761A (zh) * 2010-04-27 2011-11-09 张云梯 一种软件防盗版中注册码生成方法
CN102708310A (zh) * 2012-01-12 2012-10-03 苏州百正信息科技有限公司 一种批量生产的计算机软件的注册码防盗版加密方法
CN103093129A (zh) * 2013-01-09 2013-05-08 上海大唐移动通信设备有限公司 一种用于软件许可的注册码生成方法和装置
CN103955379A (zh) * 2014-03-31 2014-07-30 广州视睿电子科技有限公司 一种注册软件的方法和系统

Also Published As

Publication number Publication date
CN104572850B (zh) 2017-12-05

Similar Documents

Publication Publication Date Title
US11317240B2 (en) Geo-location based event gallery
WO2018214833A1 (zh) 一种业务执行的方法及装置
CN105373986B (zh) 医院无胶片化云计算的实现方法
CN110391895B (zh) 数据预处理方法、密文数据获取方法、装置和电子设备
WO2016045641A2 (zh) 数据块储存方法、数据查询方法和数据修改方法
CN109493043A (zh) 交易记录区块化方法、装置、电子设备及存储介质
KR102084300B1 (ko) 서비스 구현
CN109726563B (zh) 一种数据统计的方法、装置以及设备
CN107315972A (zh) 一种大数据非结构化文件动态脱敏方法及系统
CN110460435B (zh) 数据交互方法、装置、服务器和电子设备
CN105227425A (zh) 聚合消息的方法、设备和网络社交系统
Wang et al. ReRAM-based processing-in-memory architecture for blockchain platforms
CN104657432A (zh) 一种降低长地址转换为短地址重复率的方法
CN107784073B (zh) 一种本地缓存的数据查询方法、存储介质和服务器
CN110069533B (zh) 一种基于区块链的事件订阅方法及装置
CN104408178A (zh) Web控件加载装置和方法
US10078492B2 (en) Generating pseudo-random numbers using cellular automata
WO2019109739A1 (zh) 验证问卷的生成方法和装置
CN105511814A (zh) 一种静态数据文件的存储方法
CN107181666A (zh) 一种社交应用分享平台访问权限的设置方法
CN105897412A (zh) 一种网站密码生成方法及装置
CN104572850A (zh) 一种注册号码的生成方法
US20150106884A1 (en) Memcached multi-tenancy offload
KR101728878B1 (ko) 개인정보 이관 시스템
US10735189B2 (en) Data exchange for multi-party computation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150917

Address after: 225400, room 4, building 401, traffic district, Taixing Town, Taixing, Jiangsu

Applicant after: Ju Qiuping

Address before: 100020 Beijing city Chaoyang District auspicious A Jiahui International Center No. 14 block 1506

Applicant before: Sea of clouds Science and Technology Ltd. can be thought in Beijing

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190404

Address after: 518000 Haiwang Building 32F, Nanhai Avenue, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Wanqiao Technology Co., Ltd.

Address before: 225400 Room 401, building 4, traffic district, Taixing Town, Taixing, Jiangsu.

Patentee before: Ju Qiuping

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171205

Termination date: 20201217

CF01 Termination of patent right due to non-payment of annual fee