掌桥专利:专业的专利平台
掌桥专利
首页

邀请码生成方法和装置

文献发布时间:2023-06-19 13:49:36


邀请码生成方法和装置

技术领域

本申请涉及终端技术领域,尤其涉及一种邀请码生成方法和装置。

背景技术

现今的商业模式中,以老带新成为一种有效的推广模式。例如,在利用邀请码推广应用程序(application,APP)的场景中,邀请人可以利用终端设备生成的邀请码,并发送给被邀请人,被邀请人下载相应的APP后并填写该邀请码,实现APP的推广。

通常情况下,邀请码可以由数字和字母构成的四位或六位的随机序列构成,当生成邀请码后,终端设备可以验证该新生成的邀请码是否与缓存中存储的邀请码重复,若该新生成的邀请码与缓存中存储的邀请码重复,则可以重新生成邀请码,直到新生成的邀请码与该缓存中的邀请码不同。

然而,上述邀请码生成方法中需要对邀请码进行多次重复验证,且上述验证过程的耗能较高。

发明内容

本申请实施例提供一种邀请码生成方法和装置,可以降低邀请码的重复率,减少对邀请码进行多次验证的次数,降低验证过程的耗能情况。

第一方面,本申请实施例提供一种邀请码生成方法,应用于第一设备,方法包括响应于生成第一邀请码的第一操作,获取第一设备的标识;第一设备的标识为数字;基于第一参数对第一设备的标识进行扩大,得到第二参数;第一设备将第二参数转换为第一邀请码。

可选的,将第二参数转换为第一邀请码,包括:基于第一参数、以及生成参数将第二参数转换为第一邀请码;其中,生成参数包括:第一数组、用于标识第一数组的大小的第三参数、以及第一随机数。

可选的,第三参数与第一参数互质。

可选的,第二参数为第一数值与第一随机数的和,第一数值为第一设备的标识与第一参数的乘积。

可选的,第一邀请码中包括N个数值,N为正整数;第一邀请码中的第N个数值,是基于第二数值对第三参数求余得到的;第二数值为第三数值与第一参数的乘积,第三数值为第一邀请码中的前N-1个数值的和;第一邀请码的前N-1个数值中的任一个数值,是基于第四数值对第三参数求余得到的;第四数值为第五数值与第六数值的和,第六数值为i与第二参数的乘积;第五数值为第二参数与第七数值相除得到的;第七数值为第三参数的j次方;其中,i为0到N-1中的任一个数值;j为1到N中的任一个数值;j为i与1的和。

可选的,生成参数包括:用于标识所第一邀请码的个数的第四参数、以及用于对第一邀请码进行混淆的第五参数,方法还包括:基于第五参数、以及第四参数对第一邀请码进行混淆处理,得到第二邀请码。

可选的,第二邀请码中包括N个数值,N为正整数;第二邀请码中的第m个数值在第一邀请码中的顺序为第八数值;其中,第八数值是基于第九数值对第四参数求余得到的,第九数值为m与第五参数的乘积,m为1到N中的任一个数值。

可选的,第五参数与第四参数互质。

可选的,还包括:确定是否能从服务器中查找到第一邀请码;服务器中存储有多组对应关系,任一组对应关系用于指示邀请码与第一设备的标识之间的对应关系;当第一设备未从服务器中查找到第一邀请码时,将第一邀请码与第一设备的标识之间的对应关系存储到服务器中。

可选的,还包括:获取第一邀请码的生成时间;当生成时间中指示第一邀请码的有效时间超出第一时长阈值时,从服务器中删除第一邀请码。

可选的,响应于生成第一邀请码的第一操作,获取第一设备的标识之前,方法还包括:第一设备显示第一界面,第一界面中包括用于生成第一邀请码的第一控件;第一设备接收针对第一控件的第一操作;响应于生成第一邀请码的第一操作,获取第一设备的标识,包括:响应于针对第一控件的第一操作,获取第一设备的标识。

可选的,方法还包括:向第二设备发送第一邀请码;接收第二设备发送的第一设备的标识和第二设备的标识之间的对应关系。

第二方面,本申请实施例提供另一种邀请码生成方法,应用于第二设备,方法包括:接收输入第一邀请码的第二操作;响应于第二操作,获取第一邀请码以及第二设备的标识;当第二设备确定服务器中存储有第一邀请码时,对第一邀请码进行解码,得到第一设备的标识;服务器中存储有多组对应关系,任一组对应关系用于指示邀请码与第一设备的标识之间的对应关系;将第一设备的标识和第二设备之间的对应关系保存到服务器中,并删除服务器中存储的第一邀请码。

可选的,获取第一邀请码以及第二设备的标识之后,还包括:获取第一邀请码对应的分布式锁。

可选的,将第一设备的标识和第二设备的之间对应关系保存到服务器中,并删除服务器中存储的第一邀请码,包括:当第二设备确定服务器中存储有第一邀请码与第一设备的标识之间的对应关系时,将第一设备的标识和第二设备的标识之间的对应关系保存到服务器中,解除第一邀请码对应的分布式锁,并删除服务器中存储的第一邀请码。

可选的,方法还包括:接收第一设备发送的第一邀请码;将第一设备的标识和第二设备的标识之间的对应关系发送至第一设备。

第三方面,本申请实施例提供一种邀请码生成装置,装置包括处理单元和获取单元;

响应于生成第一邀请码的第一操作,获取单元,用于获取第一设备的标识;第一设备的标识为数字;处理单元,还用于基于第一参数对第一设备的标识进行扩大,得到第二参数;处理单元,还用于将第二参数转换为第一邀请码。

可选的,处理单元,具体用于基于第一参数、以及生成参数将第二参数转换为第一邀请码;其中,生成参数包括:第一数组、用于标识第一数组的大小的第三参数、以及第一随机数。

可选的,第三参数与第一参数互质。

可选的,第二参数为第一数值与第一随机数的和,第一数值为第一设备的标识与第一参数的乘积。可选的,第一邀请码中包括N个数值,N为正整数;第一邀请码中的第N个数值,是基于第二数值对第三参数求余得到的;第二数值为第三数值与第一参数的乘积,第三数值为第一邀请码中的前N-1个数值的和;第一邀请码的前N-1个数值中的任一个数值,是基于第四数值对第三参数求余得到的;第四数值为第五数值与第六数值的和,第六数值为i与第二参数的乘积;第五数值为第二参数与第七数值相除得到的;第七数值为第三参数的j次方;其中,i为0到N-1中的任一个数值;j为1到N中的任一个数值;j为i与1的和。可选的,生成参数包括:用于标识第一邀请码的个数的第四参数、以及用于对第一邀请码进行混淆的第五参数;处理单元,还用于基于第五参数、以及第四参数对第一邀请码进行混淆处理,得到第二邀请码。

可选的,第二邀请码中包括N个数值,N为正整数;第二邀请码中的第m个数值在第一邀请码中的顺序为第八数值;其中,第八数值是基于第九数值对第四参数求余得到的,第九数值为m与第五参数的乘积,m为1到N中的任一个数值。

可选的,第五参数与第四参数互质。

可选的,处理单元,还用于确定是否能从服务器中查找到第一邀请码;服务器中存储有多组对应关系,任一组对应关系用于指示邀请码与第一设备的标识之间的对应关系;当第一设备未从服务器中查找到第一邀请码时,处理单元,还用于将第一邀请码与第一设备的标识之间的对应关系存储到服务器中。

可选的,处理单元,还用于获取第一邀请码的生成时间;当生成时间中指示第一邀请码的有效时间超出第一时长阈值时,处理单元,还用于从服务器中删除第一邀请码。

可选的,装置还包括显示单元,显示单元,用于显示第一界面,第一界面中包括用于生成第一邀请码的第一控件;处理单元,还用于接收针对第一控件的第一操作;响应于针对第一控件的第一操作,获取单元,还用于获取第一设备的标识。

可选的,装置还包括通信单元,通信单元用于向第二设备发送第一邀请码;通信单元,还用于接收第二设备发送的第一设备的标识和第二设备的标识之间的对应关系。

第四方面,本申请实施例提供另一种邀请码生成装置,装置包括处理单元和获取单元;处理单元,用于接收输入第一邀请码的第二操作;响应于第二操作,获取单元,用于获取第一邀请码以及第二设备的标识;当第二设备确定服务器中存储有第一邀请码时,处理单元,还用于对第一邀请码进行解码,得到第一设备的标识;服务器中存储有多组对应关系,任一组对应关系用于指示邀请码与第一设备的标识之间的对应关系;处理单元,还用于将第一设备的标识和第二设备之间的对应关系保存到服务器中,并删除服务器中存储的第一邀请码。

可选的,获取单元,还用于获取第一邀请码对应的分布式锁。

可选的,当第二设备确定服务器中存储有第一邀请码与第一设备的标识之间的对应关系时,处理单元,具体用于将第一设备的标识和第二设备的标识之间的对应关系保存到服务器中,解除第一邀请码对应的分布式锁,并删除服务器中存储的第一邀请码。

可选的,装置包括通信单元,通信单元,用于接收第一设备发送的第一邀请码;通信单元,还用于将第一设备的标识和第二设备的标识之间的对应关系发送至第一设备。

第五方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述第一方面或第一方面的任一种实现中的邀请码生成方法,用于实现如上述第二方面或第二方面的任一种实现中的邀请码生成方法。

第六方面,本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时用于实现如上述第一方面或第一方面的任一种实现中的邀请码生成方法,或者,用于实现如上述第二方面或第二方面的任一种实现中的邀请码生成方法。

本申请实施例提供一种邀请码生成方法,当第一设备接收到用于生成第一邀请码的操作时,第一设备可以获取第一设备的标识,并基于第一参数对第一设备的标识进行扩大,得到第二参数,进而将该第二参数转换为第三参数对应的进制数得到第一邀请码,经过上述步骤得到的第一邀请码通过扩大的步骤完成了差异化的扩散,可以降低该第一邀请码的重复性。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本申请实施例提供的一种场景示意图;

图2为本申请实施例提供的一种邀请码生成方法的流程示意图;

图3为本申请实施例提供的一种生成邀请码的界面示意图;

图4为本申请实施例中提供的另一种邀请码生成方法的流程示意图;

图5为本申请实施例提供的邀请码生成装置的结构示意图;

图6为本申请实施例提供的一种电子设备的结构示意图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在介绍本申请实施例之前,首先对本申请的背景技术进行解释说明:

在利用邀请码进行推广、或分佣的场景中,老用户可以利用终端设备生成邀请码,并将该邀请码通知到新用户;当新用户使用该邀请码时,可以实现新用户与老用户之间的绑定关系,进而老用户可以通过推广获得现金、或积分等奖励。

示例性的,图1为本申请实施例提供的一种场景示意图。如图1所示,该场景中可以包括第一设备101、第二设备102以及服务器103。其中,该第一设备101以及第二设备102均可以为手机等,该服务器103可以为云端服务器等。

如图1所示,当用户A(或可以理解为邀请人)利用邀请码进行APP推广时,用户A可以利用第一设备101生成邀请码,第一设备101可以验证该邀请码是否与服务器103中存储的邀请码重复,当该邀请码与服务器103中存储的邀请码重复时,则说明该邀请码已经被其他设备占用,因此第一设备101可以重新生成邀请码,直到该重新生成的邀请码与服务器中存储的邀请码不同,则该重新生成的邀请码可以显示在第一设备101的显示屏中。

可能的实现方式中,该邀请码的生成方法可以包括如下两种:

一种实现中,第一设备101可以基于数字和字母的组合随机生成6位邀请码,例如该邀请码可以为T307DT。其中,为了防止数字和字母的混淆,可以去掉0、1、O以及I等字符,并且该字母通常可以取大写字母。

另一种实现中,第一设备101可以基于用户的身份标识号(identity document,ID)、数字、和字母的组合随机生成6位邀请码。例如,将用户ID融入到邀请码中,如在用户ID数据后加上任意随机数,进而得到6位邀请码,若用户ID为234,则基于用户ID生成的邀请码可以为234TYS。其中,该邀请码的位数也可以为4位或8位等。

进一步的,用户A可以将第一设备101生成的邀请码发送至用户B(或可以理解为被邀请人)的第二设备102中,或者,用户A也可以将该邀请码通知到用户B。当用户B在用于输入邀请码的界面中输入用户A告知的邀请码时,第二设备102可以建立第一设备101与第二设备102之间的绑定关系,并将用户A告知的邀请码的状态设置为已使用,从而防止该邀请码被多人使用。

然而,在上述生成邀请码的方法中,当第一设备101基于数字和字母的组合随机生成6位邀请码时,由于在10个数字和26个英文字母去除0、1、O以及I字符,得到32个可以用于生成邀请码的字符,该32个字符可以得到1073741824(或理解为32

本申请针对上述技术问题,本申请实施例的技术构思过程如下:为了降低邀请码的重复性以及提高邀请码的安全性,本申请实施例可以对生成该邀请码的参数进行扩充,使得基于第一设备的标识、以及用于扩大邀请码的第一参数得到邀请码的重复性更低,进而降低验证邀请码时的耗能情况,并且可以通过对扩大后的参数的进制转换增加该邀请码的安全性。

可以理解的是,上述第一设备(或第二设备)也可以称为终端,(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。其中,第一设备(或第二设备)可以为手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、或带无线收发功能的电脑等设备,本申请的实施例对第一设备(或第二设备)所采用的具体技术和具体设备形态不做限定。

下面通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

示例性的,图2为本申请实施例提供的一种邀请码生成方法的流程示意图。如图2所示,该邀请码生成方法可以包括如下步骤:

S201、响应于生成第一邀请码的第一操作,获取第一设备的标识。

本申请实施例中,该第一操作可以为触摸操作、拖拽操作、或语音唤醒操作等。该第一设备的标识(下文简称ID)可以包括:用户的ID、或设备的ID等,该ID可以为数字。例如,在进行APP推广的场景中,该用户的ID可以为APP中的用户设置(或系统自动生成)的ID。

示例性的,图3为本申请实施例提供的一种生成邀请码的界面示意图。在图3对应的实施例中,以终端设备为手机为例进行示例说明,该示例并不构成对本申请实施例的限定。

当手机接收到用户打开用于推广APP的界面时,手机可以显示如图3中的a所示的界面,该界面中可以包括用于生成邀请码的控件301。

如图3中的a所示的界面,当手机接收到用户针对该控件301的第一操作时,手机可以基于S201-S203对应的步骤生成第一邀请码,并显示如图3中的b所示的界面,该界面中可以显示邀请码302和提示信息,如该邀请码302可以为ABCD23,该提示信息可以为,注:邀请码有效时长为2小时。可能的实现方式中,如图3中的b所示的界面中,还可以显示用于重新生成邀请码的控件、以及分享控件等。其中,该分享控件用于将生成的邀请码分享至其他设备或用户。

S202、第一设备基于第一参数对第一设备的标识进行扩大,得到第二参数。

示例性的,该第二参数可以满足下述公式:

第二参数=ID×PRIME1

S203、第一设备将第二参数转换为第一邀请码。

本申请实施例中,该第一邀请码可以由数字或字母构成;第三参数(CHARS_LENGTH)与PRIME1互质,可以保证(ID×PRIME1)%CHARS_LENGTH在[0,CHARS_LENGTH)的范围内呈均匀分布。其中,该PRIME1可以取值为3,该CHARS_LENGTH可以取值为32。

可选的,S204、第一设备将第一邀请码发送至第二设备。

本申请实施例中,第一设备可以基于用于通信的APP、或者蓝牙等方式,将第一邀请码发送至第二设备。

适应的,第二设备可以接收到该第一设备发送的第一邀请码。

S205、第二设备接收用于输入第一邀请码的第二操作。

其中,该第二操作的可能的实现形式可以参见S201所示的步骤中的第一操作,在此不再赘述。

S206、响应于第二操作,第二设备获取第一邀请码以及第二设备的标识。

其中,该第二设备的标识的可能的实现形式可以参见S201所示的步骤中的第一设备的标识,在此不再赘述。

S207、当第二设备确定服务器中存储有第一邀请码时,第二设备对第一邀请码进行解码,得到第一设备的标识。

其中,该服务器中可以存储有第一邀请码,或者,该服务器中可以存储第一邀请码和第一设备的标识之间的对应关系。

示例性的,该解码过程可以为生成邀请码的逆向计算过程,在此不再赘述。

可选的,S208、第二设备可以将第一设备的标识和第二设备的标识的之间的对应关系发送至第一设备。

本申请实施例提供一种邀请码生成方法,当第一设备接收到用于生成第一邀请码的操作时,第一设备可以获取第一设备的标识,并基于第一参数对第一设备的标识进行扩大,得到第二参数,进而将该第二参数转换为第三参数对应的进制数得到第一邀请码,经过上述步骤得到的第一邀请码通过扩大的步骤完成了差异化的扩散,可以降低该第一邀请码的重复性。

在上述实施例的基础上,S203包括:第一设备基于第一参数、以及生成参数将第二参数转换为第一邀请码;其中,生成参数包括:第一数组、用于标识第一数组的大小的第三参数、以及第一随机数(SLAT)。

本申请实施例中,该第一数组可以包括由去除0、1、O和I后的数字和字母构成,该第一数组中可以包括32个字符。

可选的,第二参数为第一数值与第一随机数的和,第一数值为第一设备的标识与第一参数的乘积。其中,该第一数值可以为ID×PRIME1。

示例性的,结合生成参数,该第二参数还可以满足下述公式:

第二参数=ID×PRIME1+SLAT。

进一步的,第一设备可以将第二参数转换为第三参数对应的进制数,以及第四参数对应的个数的第一邀请码。例如,可以将该第二参数转换为32进制的6位邀请码。

可选的,第一邀请码中包括N个数值,N为正整数;第一邀请码中的第N个数值,是基于第二数值对第三参数求余得到的;第二数值为第三数值与第一参数的乘积,第三数值为第一邀请码中的前N-1个数值的和;第一邀请码的前N-1个数值中的任一个数值,是基于第四数值对第三参数求余得到的;第四数值为第五数值与第六数值的和,第六数值为i与第二参数的乘积;第五数值为第二参数与第七数值相除得到的;第七数值为第三参数的j次方;其中,i为0到N-1中的任一个数值;j为1到N中的任一个数值;j为i与1的和。

其中,该第二数值可以为

其中b[i]满足:

b[i]=(m[j]+i×第二参数)%CHARS_LENGTH

其中,%可以理解为求余运算,i为0到N-1中的任一个数值;j为1到N中的任一个数值;j=i+1;

m[j]=m[j-1]/CHARS_LENGTH

其中,当j为1时,m[0]为第二参数;

其中,当i为N时,b[N]满足:

可以理解的是,该第一数组、第三参数、第四参数以及第一随机数的取值可以根据实际场景包括其他内容,本申请实施例中对此不做限定。

本申请实施例提供一种邀请码生成方法,可以通过生成参数实现对于邀请码的扩大,使得完成了差异化的扩散的邀请码的重复率更低。

在上述实施例的基础上,生成参数包括用于标识第一邀请码的个数的第四参数(CODE_LENGTH)、以及用于对第一邀请码进行混淆的第五参数(PRIME2),还包括:第一设备基于第五参数、第四参数对第一邀请码进行混淆处理,得到第二邀请码。其中该CODE_LENGTH可以为4或6等。

可选的,第二邀请码中的第m个数值在第一邀请码中的顺序为第八数值;其中,第八数值是基于第九数值对第四参数求余得到的,第九数值为m与第五参数的乘积,m为0到N中的任一个数值。其中,该第八数值可以为(m×PRIME2)%CODE_LENGTH,第九数值可以为m×PRIME2。

示例性的,第二邀请码可以由下述公式得到。第二邀请码可以包括:c[0]至c[N]。

其中,c[m]满足:

c[m]=b[(m×PRIME2)%CODE_LENGTH]

其中,m为0到N中的任一个数值,N为正整数;PRIME2与CODE_LENGTH互质,可以保证(m×PRIME2)%CODE_LENGTH在[0,CODE_LENGTH)的范围内呈均匀分布。该PRIME2可以取值为11。

本申请实施例提供一种邀请码生成方法,可以通过改变第一邀请码中的字符的顺序,对第一邀请码进行混淆处理,使得经过混淆后的第二邀请码具有更高的复杂度,进而提高该第二邀请码的安全性。

在上述实施例的基础上,还包括:第一设备确定是否能从服务器中查找到第一邀请码;当第一设备未从服务器中查找到第一邀请码时,第一设备将第一邀请码与第一设备的标识之间的对应关系存储到服务器中。其中,服务器中存储有多组对应关系,任一组对应关系用于指示邀请码与第一设备的标识之间的对应关系。

可能的实现方式中,当从服务器中查找到该第一邀请码时,则第一设备可以重新生成邀请码。

本申请实施例提供一种邀请码生成方法,可以通过对邀请码的重复性校验,保证邀请码的唯一性,防止该邀请码被其他用户使用。

在上述实施例的基础上,第一设备还可以为第一邀请码定制防重缓存策略,例如:第一设备获取第一邀请码的生成时间;当生成时间中指示第一邀请码的有效时间超出第一时长阈值时,第一设备从服务器中删除第一邀请码。

示例性的,在生成第一邀请码时,第一设备可以为第一邀请码设置用于记录生成时间的时间戳,并在服务器中设置定时任务,该定时任务用于定时清除第一邀请码。例如,在第二时长阈值内,如每2个小时,第一设备可以将时间戳中指示的生成时间的数值,与当前时间的差值大于邀请码的通用有效时长(或理解为第一时长阈值)的第一邀请码清除掉。其中,不同邀请码可以对应于同一个第一时长阈值,且该第二时长阈值可以大于第一时长阈值。

可以理解的是,上述校验过程可以用于校验是否在同一个邀请人中存在相同的邀请码,并且上述校验过程可以由第一设备指示服务器完成,或者,也可以由服务器完成,本申请实施例中对此不做限定。

本申请实施例提供一种邀请码生成方法,可以通过为第一邀请码设置的防重缓存策略,进一步的降低第一邀请码的重复性。

在上述实施例的基础上,S206之后,还包括:第二设备获取第一邀请码对应的分布式锁。其中,该分布式锁可以为控制分布式系统同步访问共享资源的一种方式。

本申请实施例中,该分布式锁用于防止同一个邀请码被多人同时使用,或可以理解为一个邀请码在一定时间内只能被一个设备加锁,加锁成功后才可以进行解码、以及对第一设备的标识和第二设备的标识进行绑定的操作。

可能的实现方式中,该分布式锁的功能也可以由数据库、或者动物园管理员(zookeeper)组件等实现。其中,由于数据库的排他性,使得无论多少台设备对数据库进行操作,同一条记录可以允许一台设备进行更改。该zookeeper可以为分布式应用提供一致性服务的中间件。

本申请实施例提供一种邀请码生成方法,可以通过为邀请码设置分布式锁增强该邀请码的唯一性,防止同一个邀请码被多人同时使用。

在上述实施例的基础上,S207包括:当第二设备确定服务器中存储有第一邀请码与第一设备的标识之间的对应关系时,第二设备将第一设备的标识和第二设备的标识之间的对应关系保存到服务器中,解除第一邀请码对应的分布式锁,并删除服务器中存储的第一邀请码。

本申请实施例提供一种邀请码生成方法,可以通过为邀请码设置分布式锁增强该邀请码的唯一性,防止同一个邀请码被多人同时使用。

基于上述实施例中所描述的内容,为了更好的理解本申请各实施例,参照图4,图4为本申请实施例中提供的另一种邀请码生成方法的流程示意图,如图4所示,该邀请码生成方法可以包括以下步骤:

S401、当邀请人点击页面请求生成邀请码时,邀请人设备可以基于定制的邀请码生成算法生成邀请码。

本申请实施例中,邀请人设备可以基于邀请人设备的标识(如邀请人ID或设备ID)、PRIME1、CHARS_LENGTH、CODE_LENGTH、第一数组、SLAT以及PRIME2等参数生成邀请码,具体生成邀请码的过程在此不再赘述。

S402、邀请人设备可以基于定制邀请码防重缓存策略对邀请码进行校验。

本申请实施例中,该邀请码防重缓存策略可以用于在邀请码缓存中定期清理超出时长的邀请码。

S403、邀请人设备判断该生成的邀请码是否与定制的邀请码缓存中的邀请码重复。其中,该邀请码缓存可以理解为用于存储邀请码的服务器等。

本申请实施例中,当邀请人设备确定该生成的邀请码与定制的邀请码缓存中的邀请码重复时,则邀请人设备可以基于S401所示的步骤重新生成邀请码;或者,当邀请人设备确定该生成的邀请码与定制的邀请码缓存中的邀请码不重复时,邀请人设备可以执行S404所示的步骤。

S404、邀请人设备将邀请码存储到定制的邀请码缓存中。

可能的实现方式中,也可以将邀请人ID与邀请码之间的对应关系存储到定制的邀请码缓存中。

S405、邀请人设备将邀请码发送至被邀请人设备(或告知被邀请人)。

适应的,被邀请人设备可以接收到该邀请人设备发送的邀请码。

S406、当邀请人填写邀请码时,被邀请人设备可以为该邀请码开启分布式锁。

S407、被邀请人设备判断该生成的邀请码是否已经在定制的邀请码缓存中存在。

本申请实施例中,当被邀请人设备确定该生成的邀请码在定制的邀请码缓存中存在时,则被邀请人设备可以执行S408所示的步骤;或者,当被邀请人设备确定该生成的邀请码在定制的邀请码缓存中不存在时,则被邀请人设备可以提示被邀请人邀请码填写错误,并指示被邀请人重新填写邀请码。

S408、被邀请人设备基于定制的邀请码解码算法对邀请码进行解码,得到邀请人ID。

S409、被邀请人设备可以将邀请人ID与被邀请人ID进行绑定,关闭邀请码的分布式锁,并在邀请码缓存中删除该邀请码。

可能的实现方式中,被邀请人设备也可以将邀请人ID与被邀请人ID绑定的消息存储至邀请码缓存中。

S410、被邀请人设备可以将邀请人ID与被邀请人ID绑定的消息发送至邀请人设备。

适应的,邀请人设备可以接收到该被邀请人设备发送的邀请人ID与被邀请人ID绑定的消息。

可能的实现方式中,在S404之前,邀请人设备还可以为邀请码设置缓存时长(图4中未示出)。

示例性的,在将邀请码存储到邀请码缓存前,邀请人设备可以为该邀请码设置缓存时长;在邀请码缓存中,当该邀请码的存储时间超过设置的缓存时长时,则邀请码缓存可以删除该邀请码。可以理解的是,不同邀请码的缓存时长可以不同。

本申请实施例提供一种邀请码生成方法,使得基于定制的邀请码生成算法得到的邀请码的重复率较低,进而降低对邀请码进行验证时的耗能情况;同时,在被邀请人设备中可以通过为邀请码设置分布式锁,防止同一个邀请码被多人同时使用,增强该邀请码的唯一性和安全性。

本申请描述的多个实施例之间可以任意组合或步骤之间相互交叉执行,各个实施例的执行顺序和各个实施例的步骤之间的执行顺序均不是固定不变的,也不限于图中所示,各个实施例的执行顺序和各个实施例的各个步骤的交叉执行顺序应以其功能和内在逻辑确定。

上面对本申请实施例的方法进行了说明,下面对本申请实施例提供的执行上述方法的测试装置进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本申请实施例提供的一种邀请码生成装置可以执行上述邀请码生成方法所执行的步骤。

示例性的,图5为本申请实施例提供的邀请码生成装置的结构示意图。如图5所示,该装置可以包括处理单元501和获取单元502。可能的实现方式中,该装置还可以包括通信单元503以及显示单元504。

本申请实施例中,上述邀请码生成装置中的处理单元501用执行邀请码生成方法中的处理步骤;获取单元502用于执行邀请码生成方法中的获取步骤;该通信单元503用于实现邀请码生成方法中的发送和接收的步骤;该显示单元504用于实现邀请码生成方法中的显示的步骤。

具体的,本申请实施例提供一种邀请码生成装置,响应于生成第一邀请码的第一操作,获取单元502,用于获取第一设备的标识;第一设备的标识为数字;处理单元501,还用于基于第一参数对第一设备的标识进行扩大,得到第二参数;处理单元501,还用于将第二参数转换为第一邀请码。

可选的,处理单元501,具体用于基于第一参数、以及生成参数将第二参数转换为第一邀请码;其中,生成参数包括:第一数组、用于标识第一数组的大小的第三参数、以及第一随机数。

可选的,第三参数与第一参数互质。

可选的,第二参数为第一数值与第一随机数的和,第一数值为第一设备的标识与第一参数的乘积。可选的,第一邀请码中包括N个数值,N为正整数;第一邀请码中的第N个数值,是基于第二数值对第三参数求余得到的;第二数值为第三数值与第一参数的乘积,第三数值为第一邀请码中的前N-1个数值的和;第一邀请码的前N-1个数值中的任一个数值,是基于第四数值对第三参数求余得到的;第四数值为第五数值与第六数值的和,第六数值为i与第二参数的乘积;第五数值为第二参数与第七数值相除得到的;第七数值为第三参数的j次方;其中,i为0到N-1中的任一个数值;j为1到N中的任一个数值;j为i与1的和。可选的,生成参数包括:用于标识第一邀请码的个数的第四参数、以及用于对第一邀请码进行混淆的第五参数;处理单元501,还用于基于第五参数、以及第四参数对第一邀请码进行混淆处理,得到第二邀请码。

可选的,第二邀请码中包括N个数值,N为正整数;第二邀请码中的第m个数值在第一邀请码中的顺序为第八数值;其中,第八数值是基于第九数值对第四参数求余得到的,第九数值为m与第五参数的乘积,m为1到N中的任一个数值。

可选的,第五参数与第四参数互质。

可选的,处理单元501,还用于确定是否能从服务器中查找到第一邀请码;服务器中存储有多组对应关系,任一组对应关系用于指示邀请码与第一设备的标识之间的对应关系;当第一设备未从服务器中查找到第一邀请码时,处理单元501,还用于将第一邀请码与第一设备的标识之间的对应关系存储到服务器中。

可选的,处理单元501,还用于获取第一邀请码的生成时间;当生成时间中指示第一邀请码的有效时间超出第一时长阈值时,处理单元501,还用于从服务器中删除第一邀请码。

可选的,装置还包括显示单元504,显示单元504,用于显示第一界面,第一界面中包括用于生成第一邀请码的第一控件;处理单元501,还用于接收针对第一控件的第一操作;响应于针对第一控件的第一操作,获取单元502,还用于获取第一设备的标识。

可选的,装置还包括通信单元503,通信单元503用于向第二设备发送第一邀请码;通信单元503,还用于接收第二设备发送的第一设备的标识和第二设备的标识之间的对应关系。

具体的,本申请实施例提供另一种邀请码生成装置,装置包括处理单元501和获取单元502;可能的实现方式中,该装置还可以包括通信单元503。

处理单元501,用于接收输入第一邀请码的第二操作;响应于第二操作,获取单元502,用于获取第一邀请码以及第二设备的标识;当第二设备确定服务器中存储有第一邀请码时,处理单元501,还用于对第一邀请码进行解码,得到第一设备的标识;服务器中存储有多组对应关系,任一组对应关系用于指示邀请码与第一设备的标识之间的对应关系;处理单元501,还用于将第一设备的标识和第二设备之间的对应关系保存到服务器中,并删除服务器中存储的第一邀请码。

可选的,获取单元502,还用于获取第一邀请码对应的分布式锁。

可选的,当第二设备确定服务器中存储有第一邀请码与第一设备的标识之间的对应关系时,处理单元501,具体用于将第一设备的标识和第二设备的标识之间的对应关系保存到服务器中,解除第一邀请码对应的分布式锁,并删除服务器中存储的第一邀请码。

可选的,装置包括通信单元503,通信单元503,用于接收第一设备发送的第一邀请码;通信单元503,还用于将第一设备的标识和第二设备的标识之间的对应关系发送至第一设备。

本申请实施例提供的邀请码生成装置,可用于执行上述实施例中邀请码生成方法对应的技术方案,其实现原理和技术效果类似,在此不再赘述。

需要说明的是,应理解以上装置的各个单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元通过处理元件调用软件的形式实现,部分单元通过硬件的形式实现。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

图6为本申请实施例提供的一种电子设备的结构示意图。如图6所示,该设备可以包括:处理器601和存储器602。

可选的,该电子设备还可以包括收发器604。收发器604、存储器602可以通过系统总线603与处理器601连接并完成相互间的通信。收发器604用于和其他设备进行通信,该收发器604构成通信接口。

可选的,在硬件实现上,上述图5所示实施例中的通信单元503对应于本实施例中的收发器604。

处理器601执行存储器存储的计算机执行指令,使得处理器601执行上述实施例中的方案。

处理器601可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

存储器602存储计算机执行指令,可能包含随机存取存储器(random accessmemory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

系统总线603可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行上述实施例的方案。

本申请实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中的方案。

本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,至少一个处理器可以从计算机可读存储介质读取计算机程序,至少一个处理器执行计算机程序时可实现上述实施例中的方案。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

技术分类

06120113822325