CN113158173B - 账号分配方法、介质、装置和计算设备 - Google Patents

账号分配方法、介质、装置和计算设备 Download PDF

Info

Publication number
CN113158173B
CN113158173B CN202110521279.8A CN202110521279A CN113158173B CN 113158173 B CN113158173 B CN 113158173B CN 202110521279 A CN202110521279 A CN 202110521279A CN 113158173 B CN113158173 B CN 113158173B
Authority
CN
China
Prior art keywords
account
label
count value
current count
terminal equipment
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.)
Active
Application number
CN202110521279.8A
Other languages
English (en)
Other versions
CN113158173A (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.)
Hangzhou Netease Zhiqi Technology Co Ltd
Original Assignee
Hangzhou Netease Zhiqi Technology Co Ltd
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 Hangzhou Netease Zhiqi Technology Co Ltd filed Critical Hangzhou Netease Zhiqi Technology Co Ltd
Priority to CN202110521279.8A priority Critical patent/CN113158173B/zh
Publication of CN113158173A publication Critical patent/CN113158173A/zh
Application granted granted Critical
Publication of CN113158173B publication Critical patent/CN113158173B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本公开的实施方式提供了一种账号分配方法、介质、装置和计算设备。该方法包括:从终端设备接收账号申请,账号申请中包含终端设备的标识;在账号数据库中不存在终端设备的标识对应的第一账号的情况下,获取账号标签及账号标签对应的当前计数值;账号数据库预先保存至少两个账号标签以及各个账号标签对应的当前计数值,还保存已被分配第一账号的终端设备的标识以及标识与第一账号的对应关系;根据账号标签及账号标签对应的当前计数值,得到第一账号,向终端设备返回第一账号,并将终端设备的标识与第一账号的对应关系保存在账号数据库中。本公开实施例能够简化对账号的管理方式,从而降低应用系统的复杂性,并减少对系统性能及资源的消耗。

Description

账号分配方法、介质、装置和计算设备
技术领域
本公开的实施方式涉及通讯服务应用技术领域,更具体地,本公开的实施方式涉及账号分配方法、介质、装置和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是相关技术。
在通讯服务类应用(APP,Application)中,用户可以采用已注册的账号登录并进行通信,也可以采用应用系统为用户分配的账号进行通信。应用系统为用户分配的账号通常是临时有效的,例如,匿名账号即是一种应用系统为用户分配的临时账号。
以通讯服务类应用中的会议应用为例,当终端设备请求加入会议时,如果账号表中没有可用的账号(如匿名账号),则系统为该终端设备新建一个账号(如匿名账号),并将该账号分配给该终端设备,同时将该账号标记为正在使用。当终端设备离开会议时,系统需要回收为该终端上设备分配的账号。可见,应用系统需要对各个账号分别进行管理,导致应用系统的复杂性较高,同时对系统性能及资源有更多的消耗。
发明内容
本公开期望提供一种账号分配方法和装置。
在本公开实施方式的第一方面中,提供了一种账号分配方法,包括:
从终端设备接收账号申请,账号申请中包含终端设备的标识;
在账号数据库中不存在终端设备的标识对应的第一账号的情况下,获取账号标签及账号标签对应的当前计数值;账号数据库预先保存至少两个账号标签以及各个账号标签对应的当前计数值,还保存已被分配第一账号的终端设备的标识以及标识与第一账号的对应关系;
根据账号标签及账号标签对应的当前计数值,得到第一账号,向终端设备返回第一账号,并将终端设备的标识与第一账号的对应关系保存在账号数据库中。
在本公开的一个实施例中,上述方法还包括:
预先设置至少两个账号标签,每个账号标签具有对应的有效周期;
在账号标签的有效周期过期的情况下,根据账号标签生成的第一账号被回收。
在本公开的一个实施例中,上述根据账号标签及账号标签对应的当前计数值,得到第一账号,包括:
将账号标签对应的当前计数值增加1,作为更新后的当前计数值;
根据账号标签及更新后的当前计数值,生成第一账号。
在本公开的一个实施例中,上述方法还包括:
判断账号数据库中是否存在账号标签及更新后的当前计数值对应的第一账号;如果存在,则获取对应的第一账号;否则,继续执行根据账号标签及更新后的当前计数值,生成第一账号的步骤。
在本公开的一个实施例中,上述获取账号标签及账号标签对应的当前计数值,包括:
判断当前账号标签对应的当前计数值是否存在;
如果存在,则获取当前账号标签及当前账号标签对应的当前计数值;
如果不存在,则切换账号标签,获取切换后的账号标签及切换后的账号标签对应的当前计数值。
在本公开的一个实施例中,上述方法还包括:
为第一账号设置有效时间,将第一账号对应的有效时间保存在账号数据库中;
在第一账号的有效时间过期的情况下,从账号数据库中删除第一账号与终端设备的标识的对应关系。
在本公开实施方式的第二方面中,提供了一种账号分配装置,包括:
接收模块,用于从终端设备接收账号申请,账号申请中包含终端设备的标识;
获取模块,用于在账号数据库中不存在终端设备的标识对应的第一账号的情况下,获取账号标签及账号标签对应的当前计数值;账号数据库预先保存至少两个账号标签以及各个账号标签对应的当前计数值,还保存已被分配第一账号的终端设备的标识以及标识与第一账号的对应关系;
分配模块,用于根据账号标签及账号标签对应的当前计数值,得到第一账号,向终端设备返回第一账号,并将终端设备的标识与第一账号的对应关系保存在账号数据库中。
在本公开的一个实施例中,上述装置还包括:
预设模块,用于预先设置至少两个账号标签,每个账号标签具有对应的有效周期;
在账号标签的有效周期过期的情况下,根据账号标签生成的第一账号被回收。
在本公开的一个实施例中,上述分配模块用于,将账号标签对应的当前计数值增加1,作为更新后的当前计数值;根据账号标签及更新后的当前计数值,生成第一账号。
在本公开的一个实施例中,上述装置还包括:
判断模块,用于判断账号数据库中是否存在账号标签及更新后的当前计数值对应的第一账号;如果存在,则获取对应的第一账号;否则,指示分配模块生成第一账号。
在本公开的一个实施例中,上述获取模块用于,判断当前账号标签对应的当前计数值是否存在;如果存在,则获取当前账号标签及当前账号标签对应的当前计数值;如果不存在,则切换账号标签,获取切换后的账号标签及切换后的账号标签对应的当前计数值。
在本公开的一个实施例中,上述装置还包括:
过期删除模块,用于为第一账号设置有效时间,将第一账号对应的有效时间保存在账号数据库中;在第一账号的有效时间过期的情况下,从账号数据库中删除第一账号与终端设备的标识的对应关系。
在本公开实施方式的第三方面中,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现上述账号分配方法的步骤。
在本公开实施方式的第四方面中,提供了一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现账号分配方法的步骤。
根据本公开实施方式的账号分配方法和装置,可以简化对账号进行管理的方式,降低应用系统的复杂性,并减少对系统性能及资源的消耗。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示意性地示出了根据本公开一实施方式的账号分配方法实现流程图一;
图2示意性地示出了根据本公开一实施方式的账号分配方法中,根据账号标签及账号标签对应的当前计数值,得到第一账号的实现流程图一;
图3示意性地示出了根据本公开一实施方式的账号分配方法中,根据账号标签及账号标签对应的当前计数值,得到第一账号的实现流程图二;
图4示意性地示出了根据本公开一实施方式的账号分配方法中,获取账号标签及该账号标签对应的当前计数值的实现流程图;
图5示意性地示出了根据本公开一实施方式的账号分配方法中,设置第一账号有效时间的实现流程图;
图6示意性地示出了根据本公开一实施方式的账号分配方法实现流程图二;
图7示意性地示出了根据本公开一实施方式的用于账号分配方法的介质示意图;
图8示意性地示出了根据本公开一实施方式的账号分配装置结构示意图;
图9示意性地示出了根据本公开一实施方式的计算设备的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本公开的实施方式,提出了一种账号分配方法、介质、装置和计算设备。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
发明概述
现有的通信服务类应用中,针对终端设备采用系统分配的账号进行通信的情况,系统需要分别管理为终端设备分配的各个账号,这种方案在实际应用时会增加系统的复杂性,同时对系统性能及资源有更多的消耗。特别是在高并发的场景下,前述缺点更为突出。
有鉴于此,本公开提供一种账号分配方法和装置,在接收到终端设备的账号申请后,采用账号标签及其对应的当前计数值为终端设备生成账号。由于存在至少两个账号标签,因此生成的账号能够根据账号标签被划分为不同的组,同一组的账号对应同一个账号标签。这种方式便于系统以组为单位对账号进行管理,从而降低系统的复杂性,降低对资源的消耗,提高系统性能。
在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。
示例性方法
下面参考图1来描述根据本公开示例性实施方式的账号分配方法。
如图1所示,本公开实施例的账号分配方法包括以下步骤:
S11:从终端设备接收账号申请,该账号申请中包含该终端设备的标识。
本公开提出的账号分配方法可以应用于通信服务类应用,如会议应用等。以本公开应用于会议类应用为例,例如,用户开启终端设备中的会议类应用客户端,在该会议类应用客户端中提交账号申请;终端设备将该账号申请发送至服务器,请求服务器为该终端设备分配匿名账号(anonymous_account)。匿名账号可以指用户在未注册账号并登录到会议系统的状态下,为加入或创建会议所使用的可复用的账号,该账号对系统及会议中的其他与会人员匿名。服务器从终端设备接收匿名账号申请,该匿名账号申请中包含该终端设备的标识。例如,前述终端设备的标识可以指设备编号(device_id),即终端设备在该会议类应用终端额唯一标识编号。
S12:在账号数据库中不存在该终端设备的标识对应的第一账号的情况下,获取账号标签及该账号标签对应的当前计数值;该账号数据库预先保存至少两个账号标签以及各个账号标签对应的当前计数值,还保存已被分配第一账号的终端设备的标识以及该标识与第一账号的对应关系。
以本公开应用于会议应用为例,本公开提出的方法可以应用于会议应用的服务器端。服务器端设置账号数据库,在账号数据库中预先保存至少两个账号标签以及各个账号标签对应的当前计数值,如果服务器端为某个终端设备分配了第一账号,可以进一步将该终端设备与该第一账号的对应关系保存在账号数据库中。
在本步骤中,账号数据库中不存在该终端设备的标识对应的第一账号的情况下,说明服务器尚未为该终端设备分配过第一账号,或者虽然分配过第一账号、但该第一账号已过期。这种情况下,服务器可以从账号数据库中获取一个账号标签(如当前时间有效的账号标签)以及该账号标签对应的当前计数器,用于为该终端设备生成账号。
S13:根据该账号标签及账号标签对应的当前计数值,得到第一账号,向该终端设备返回该第一账号,并将该终端设备的标识与该第一账号的对应关系保存在账号数据库中。
如上述步骤S13所示,服务器端可以根据当前的账号标签及对应的当前计数值得到第一账号,因此得到的第一账号必然与账号标签相关。那么,可以根据账号标签将生成的所有第一账号进行划分。例如,根据同一账号标签生成的第一账号可以被认为属于同一个组,根据不同账号标签生成的第一账号可以被认为属于不同的组。可见,采用这种方式生成的第一账号便于服务器端以组为单位进行管理,因此能够降低系统的复杂性,降低对资源的消耗,并提高系统性能。
另外,如果服务器端之前已经为该终端设备分配过第一账号、并且该第一账号尚未过期,则服务器端在接收到终端设备发送的账号申请后,可以直接将该终端设备的标识所对应的第一账号返回至终端设备。采用这种方式可以避免为同一个终端设备重复分配第一账号,提高账号的利用率。
上述第一账号是服务器端为参与通信的终端设备临时生成的,并且能够被回收,因此该第一账号可以为匿名账号。匿名账号(anonymous account)是指用户在未注册账号登陆到会议应用系统的状态下,加入或者创建会议所使用的可复用的账号,该账户与终端设备或用户本身的信息无关。
在一种可能的实施方式中,上述方法还可以包括:预先设置至少两个上述账号标签,每个账号标签具有对应的有效周期;
在账号标签的有效周期过期的情况下,根据该账号标签生成的第一账号可以被回收。
采用上述方式,将为终端设备分配的第一账号所构成的账号池划分成了N个组;N为正整数,代表账号标签的个数。每个账号标签对应一个有效周期,不同的有效周期内交替使用账号池中的第一账号。例如,第一个有效周期使用利用账号标签A1生成的第一账号,在第一个有效周期过期的情况下,利用账号标签A1生成的第一账号被自动回收;第二个有效周期使用利用账号标签A2生成的第一账号,在第二个有效周期过期的情况下,利用账号标签A2生成的第一账号被自动回收;如此循环。
由于有效周期过期时对应的第一账号会自动被回收,服务器端不需要分别为各个第一账号开启单独的线程来实现账号回收,因此能够减少业务实现的复杂度。
如图2所示,在一种可能的实施方式中,上述步骤S13中,根据账号标签及账号标签对应的当前计数值,得到第一账号的过程可以包括:
S21:将账号标签对应的当前计数值增加1,作为更新后的当前计数值;
S22:根据该账号标签及该更新后的当前计数值,生成第一账号。
当前计数值的初始值可以设置为0、1或其他数值。以当前计数值的初始值被设置为0为例,在首次根据账号标签A1生成第一账号时,根据账号标签A1和当前计数值(取值为0),生成第一账号。在第二次根据账号标签A1生成第一账号时,首先将当前计数值增加1,作为更新后的当前计数值(取值为1);再根据账号标签A1和更新后的当前计数值(取值为1),生成第一账号。如此继续生成并分配账号标签A1对应的第一账号。在账号标签A1过期时,切换至下一账号标签,如切换至账号标签A2,利用账号标签A2及A2对应的当前计数值生成第一账号。如此反复,切换账号标签,并生成各个标签对应的第一账号。
本公开可以采用将账号标签与当前计数值组合的方式,生成第一账号。例如,账号标签的长度为X比特,当前计数值的长度为Y比特,X和Y均为正整数。根据账号标签和当前计数值可以生成长度为X+Y的第一账号,该第一账号的前X个比特与账号标签的取值相同,后Y个比特与当前计数值的取值相同。
接上例,每个账号标签可以对应无限多个第一账号,并且,利用同一个账号标签生成的第一账号的前X个比特的取值相同,后Y个比特的取值依次增大。由于每个账号标签对应一个有效周期,因此同一个有效周期内的第一账号允许无限扩张。
采用上述方式,实现了对第一账号的分组,根据同一账号标签生成的第一账号可以被认为属于同一个组;属于同一个组的第一账号,其前X比特的取值相同。根据不同账号标签生成的第一账号可以被认为属于不同的组;属于不同组的第一账号,其前X比特的取值不同。
由于实现了对第一账号的分组,服务器可以以组为单位,统一管理各个分组的第一账号,而不需要分别为各个第一账号开启单独的线程来实现账号管理,因此能够减少业务实现的复杂度。
上述第一账号的生成方式仅为举例,本公开不排除其他的生成方式,例如将第一账号任意位置的一个或多个比特设置为与账号标签的取值相同。
如图3所示,在一种可能的实施方式中,上述步骤S13中,根据账号标签及账号标签对应的当前计数值,得到第一账号的过程可以包括:
S21:将账号标签对应的当前计数值增加1,作为更新后的当前计数值;
S31:判断账号数据库中是否存在该账号标签及该更新后的当前计数值对应的第一账号;如果存在,则执行步骤S32;否则,执行步骤S22,即根据该账号标签及该更新后的当前计数值,生成第一账号。
S32:获取账号数据库中与该账号标签及该更新后的当前计数值对应的第一账号。
后续地,步骤S32中获取第一账号之后,可以将获取的第一账号返回给终端设备;步骤S22中生成第一账号后,可以将生成的第一账号返回给终端设备,并在账号数据库中保存该终端设备的标识与该第一账号的对应关系。在保存终端设备的标识与第一账号的对应关系的同时,本公开还可以将该第一账号的有效时间保存入账号数据库;例如,将有效时间设置为1天,1天后,账号数据库中保存的终端设备的标识与该第一账号的对应关系被删除。如果终端设备后续重新发起账号申请,则服务器端需要重新为该终端设备生成第一账号。设置有效时间的方式避免了为单个终端设备无限制地创建第一账号,提高了账号的利用率,也减轻了服务器的压力。
步骤S31的判断步骤是为了防止重复生成同样的第一账号;针对某个账号标签,在发现账号数据库中存在更新后的当前计数值对应的第一账号的情况下,将该对应的第一账号分配给终端设备,从而避免了针对一个账号标签采用同一数值生成两个以上的第一账号。
如图4所示,在一种可能的实施方式中,上述步骤S12中,获取账号标签及该账号标签对应的当前计数值的过程可以包括:
S41:判断当前账号标签对应的当前计数值是否存在;如果存在,则执行步骤S42;如果不存在,则执行步骤S43。
S42:获取当前账号标签及该当前账号标签对应的当前计数值;结束当前流程。
S43:切换账号标签,获取切换后的账号标签及该切换后的账号标签对应的当前计数值。
在一些实施方式中,从服务器端的配置中获取当前账号标签以及该当前账号标签对应的当前计数值。在上述步骤S41中,判断账号数据库中是否存在该当前账号标签对应的当前计数值,如果不存在,则有可能是由于该当前账号标签已过期、或服务器端因出错导致重置(Reset)等原因。在发生这种情况时,切换标签账号,并获取切换后的账号标签及该切换后的账号标签对应的当前计数值,采用切换后的账号标签及其对应的当前计数值为终端设备生成并分配第一账号。可见,前述过程相当于一种容错机制,能够保证获取正确的账号标签及当前计数值,从而保证生成第一账号的准确性。
图5示意性地示出了根据本公开一实施方式的账号分配方法中,设置第一账号有效时间的实现流程图。如图5所示,本公开实施例在为终端设备分配第一账号后,还可以包括:
S51:为第一账号设置有效时间,将该第一账号对应的有效时间保存在账号数据库中;
S52:在该第一账号的有效时间过期的情况下,从该账号数据库中删除该第一账号与终端设备的标识的对应关系。
这种方式可以防止为同一终端设备重复创建第一账号。以会议应用为例,当某个终端设备初次加入会议时,会议应用的服务器端根据当前的账号标签及当前计数值为该终端设备创建并分配一个第一账号,并将该终端设备与该第一账号的对应关系保存在账号数据库中。同时,还将该第一账号的有效时间保存在账号数据库中。如果该会议的预计结束时刻为t,则可以将该第一账号的有效时间设置为t,并将该第一账号的有效时间保存在账号数据库中。当该终端设备退出会议、之后又重新加入该会议时,如果此时尚未超过该有效时间,则账号数据库仍保存有该终端设备与之前分配的第一账号的对应关系,可以直接将该第一账号返回给终端设备,从而避免了重复创建第一账号;如果此时已经超过该有效时间,则账号数据库原先保存的该终端设备与之前分配的第一账号的对应关系已被删除,服务器可以重新根据当前有效的账号标签及其对应的当前技术值为该终端设备重新分配并返回第一账号。这种方式避免了相关技术中由于用户反复加入和退出会议所导致的重复分配账号的情况,提高了第一账号的利用率,并减轻重复分配第一账号对服务器造成的压力。
本公开中的账号数据库可以采用远程字典服务(Redis,Remote DictionaryServer),Redis是一种高性能的键(Key)-值(Value)数据库。以下参照图6,以账号数据库采用Redis为例介绍本公开提出的账号分配方法,该方法可以应用于服务器端。在图6所示的实施方式中,为用户设备分配的第一账号为匿名账号。如图6所示,该实施方式包括以下步骤:
S601:收到终端设备发送的匿名账号请求。
S602:判断Redis中是否存在该终端设备的设备标识deviceID对应的匿名账号accountID。如果存在,则向该终端设备返回对应的匿名账号accountID。如果不存在,则执行步骤S603。
S603:从服务器端的配置中获取当前账号标签,在本实施例中,账号标签用bucket表示。如获取到的当前账号标签为bucket 1。
S604:获取该bucket 1对应的当前计数值,在本实施例中的,当前计数值用currentCounterKey表示。例如,从Redis中查找bucket 1对应的当前计数值。
S605:判断Redis中是否存在该当前计数值。如果存在,执行步骤S608。如果不存在,则执行步骤S606。在一些实施方式中,采用Redis技术中的以下函数确定Redis中是否存在当前计数值:
redisUtil.exists(CurrentCounterKey);
例如,上述函数的返回值为1时,表示Redis中存在该当前计数值;上述函数的返回值为0时,表示Redis中不存在该当前计数值。
S606:切换新的账号标签,例如,将当前账号标签由bucket 1切换至bucket 2。进一步地,可以将切换后的账号标签重置到服务器端的配置表中。
S607:根据切换后的账号标签(如上述bucket 2),确定该账号标签对应的当前计数值。例如,从Redis中查找bucket 2对应的当前计数值。
S608:确定当前账号标签对应的匿名账号最大编号,在本实施例中,匿名账号最大编号用currentCount表示,currentCount等于当前账号对应的当前计数值+1。并将当前计数值的值增加1。
在一些实施方式中,采用Redis技术中的以下函数执行上述过程:
currentCount=redisUtil.incBy(CurrentCounterKey,1);
上述函数的含义为:将CurrentCounterKey增加1,并将currentCount的取值设置等于为数值增加1后的CurrentCounterKey。
S609:判断当前的账号标签及currentCount对应的匿名账号是否存在,如果存在,则执行步骤S610。如果不存在,则执行步骤S611。
S610:将当前的账号标签及currentCount对应的匿名账号返回至终端设备,继续执行步骤S612。
S611:根据当前的账号标签及currentCount创建匿名账号,将该匿名账号返回至终端设备,继续执行步骤S612。
S612:将匿名账号与终端设备的设备标识的对应关系保存至Redis。
例如,会议应用的服务器接收到终端设备发送的匿名账号请求,该匿名账号请求中包含该终端设备的设备标识,如device_id x。服务器查询Redis中是否存在device_id x对应的匿名账号;如,Redis中保存有多个键值对,各个键值对中,键(Key)存储设备标识、值(Value)存储对应的匿名账号;服务器利用device_id x依次查找各个键值对,没有查找到与device_id x相同的设备标识,说明之前没有为标识该终端设备分配过匿名账号。此时,服务器从当前配置中获取当前账号标签,如bucket x,并从Redis中查找bucket x对应的当前计数值。
假定查找到的当前计数值为CurrentCounterKey x,之后执行以下函数:
currentCount=redisUtil.incBy(CurrentCounterKey x,1);
采用上述函数将当前计数值CurrentCounterKey x增加1,得到匿名账号最大编号,假定得到的匿名账号最大编号为currentCount x。将增加1后的当前计数值设置为新的当前计数值。
之后,采用bucket x和currentCount x,为终端设备device_id x生成匿名账号anonymous account x,并将该匿名账号返回至终端设备device_id x。并且,服务器在Redis中保存device_id x与anonymous account x的对应关系,以避免为终端设备device_id x无限创建匿名账号。
本实施例还可以为上述匿名账号设置有效时间,并将有效时间保存在Redis中。当有效时间过期时,将该匿名账号与终端设备的设备标识的对应关系从Redis中删除,从而防止为单一用户无限制地创建匿名账号,以提高匿名账号的利用率。
综上可见,本公开提出的账号分配方法实现了对账号的分组,服务器端可以以组为单位实现对账号的回收,而不需要为各个账号单独开启线程实现回收,从而减少了业务实现的复杂度。在分配账号时,不需要查询账号数据库中是否有可用的账号,而是可以采用账号标签和当前计数值生成新的账号,提升了分配账号的性能。并且,本公开通过设置为终端设备分配的账号的有效时间,能够防止为同一终端设备重复分配账号,提高了账号的利用率。
示例性介质
在介绍了本公开示例性实施方式的方法之后,接下来,参考图7对本公开示例性实施方式的介质进行说明。
在一些可能的实施方式中,本公开的各个方面还可以实现为一种计算机可读介质,其上存储有程序,当所述程序被处理器执行时用于实现本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的账号分配方法中的步骤。
具体地,上述处理器执行上述程序时用于实现如下步骤:
从终端设备接收账号申请,该账号申请中包含该终端设备的标识;
在账号数据库中不存在该终端设备的标识对应的第一账号的情况下,获取账号标签及该账号标签对应的当前计数值;该账号数据库预先保存至少两个账号标签以及各个该账号标签对应的当前计数值,还保存已被分配第一账号的终端设备的标识以及该标识与第一账号的对应关系;
根据该账号标签及该账号标签对应的当前计数值,得到第一账号,向该终端设备返回该第一账号,并将该终端设备的标识与该第一账号的对应关系保存在该账号数据库中。
需要说明的是:上述的介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图7所示,描述了根据本公开的实施方式的介质70,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序,并可以在设备上运行。然而,本公开不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算设备。
示例性装置
在介绍了本公开示例性实施方式的介质之后,接下来,参考图8对本公开示例性实施方式的装置进行说明。
如图8所示,本公开实施例的账号分配装置可以包括:
接收模块810,用于从终端设备接收账号申请,账号申请中包含终端设备的标识;
获取模块820,用于在账号数据库中不存在终端设备的标识对应的第一账号的情况下,获取账号标签及账号标签对应的当前计数值;账号数据库预先保存至少两个账号标签以及各个账号标签对应的当前计数值,还保存已被分配第一账号的终端设备的标识以及标识与第一账号的对应关系;
分配模块830,用于根据账号标签及账号标签对应的当前计数值,得到第一账号,向终端设备返回第一账号,并将终端设备的标识与第一账号的对应关系保存在账号数据库中。
如图8所示,在一种可能的实施方式中,上述装置还包括:
预设模块840,用于预先设置至少两个账号标签,每个账号标签具有对应的有效周期;
在账号标签的有效周期过期的情况下,根据账号标签生成的第一账号被回收。
在一种可能的实施方式中,上述分配模块830用于,将账号标签对应的当前计数值增加1,作为更新后的当前计数值;根据账号标签及更新后的当前计数值,生成第一账号。
如图8所示,在一种可能的实施方式中,上述装置还包括:
判断模块850,用于判断账号数据库中是否存在账号标签及更新后的当前计数值对应的第一账号;如果存在,则获取对应的第一账号;否则,指示分配模块830生成第一账号。
在一种可能的实施方式中,上述获取模块820用于,判断当前账号标签对应的当前计数值是否存在;如果存在,则获取当前账号标签及当前账号标签对应的当前计数值;如果不存在,则切换账号标签,获取切换后的账号标签及切换后的账号标签对应的当前计数值。
如图8所示,在一种可能的实施方式中,上述装置还包括:
过期删除模块860,用于为第一账号设置有效时间,将第一账号对应的有效时间保存在账号数据库中;在第一账号的有效时间过期的情况下,从账号数据库中删除第一账号与终端设备的标识的对应关系。
示例性计算设备
在介绍了本公开示例性实施方式的方法、介质和装置之后,接下来,参考图9对本公开示例性实施方式的计算设备进行说明。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本公开实施方式的计算设备可以至少包括至少一个处理单元以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本公开的各种示例性实施方式的账号分配方法中的步骤。
下面参照图9来描述根据本公开的这种实施方式的计算设备90。图9显示的计算设备90仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,计算设备90以通用计算设备的形式表现。计算设备90的组件可以包括但不限于:上述至少一个处理单元901、上述至少一个存储单元902,连接不同系统组件(包括处理单元901和存储单元902)的总线903。
总线903包括数据总线、控制总线和地址总线。
存储单元902可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)9021和/或高速缓存存储器9022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(ROM)9023。
存储单元902还可以包括具有一组(至少一个)程序模块9024的程序/实用工具9025,这样的程序模块9024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备90也可以与一个或多个外部设备904(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口905进行。并且,计算设备90还可以通过网络适配器906与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图9所示,网络适配器906通过总线903与计算设备90的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备90使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了账号分配装置的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (14)

1.一种账号分配方法,其特征在于,包括:
从终端设备接收账号申请,所述账号申请中包含所述终端设备的标识;
在账号数据库中不存在所述终端设备的标识对应的第一账号的情况下,获取账号标签及所述账号标签对应的当前计数值;所述账号数据库预先保存至少两个账号标签以及各个所述账号标签对应的当前计数值,在已为所述终端设备分配过第一帐号的情况下还保存有所述终端设备的标识以及所述标识与第一账号的对应关系;
根据所述账号标签及所述账号标签对应的当前计数值,得到第一账号,向所述终端设备返回所述第一账号,并将所述终端设备的标识与所述第一账号的对应关系保存在所述账号数据库中。
2.根据权利要求1所述的方法,其特征在于,还包括:
预先设置至少两个所述账号标签,每个所述账号标签具有对应的有效周期;
在账号标签的有效周期过期的情况下,根据所述账号标签生成的第一账号被回收。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述账号标签及所述账号标签对应的当前计数值,得到第一账号,包括:
将所述账号标签对应的当前计数值增加1,作为更新后的当前计数值;
根据所述账号标签及所述更新后的当前计数值,生成第一账号。
4.根据权利要求3所述的方法,其特征在于,还包括:
判断账号数据库中是否存在所述账号标签及所述更新后的当前计数值对应的第一账号;如果存在,则获取所述对应的第一账号;否则,继续执行所述根据所述账号标签及所述更新后的当前计数值,生成第一账号的步骤。
5.根据权利要求1或2所述的方法,其特征在于,所述获取账号标签及所述账号标签对应的当前计数值,包括:
判断当前账号标签对应的当前计数值是否存在;
如果存在,则获取当前账号标签及所述当前账号标签对应的当前计数值;
如果不存在,则切换账号标签,获取切换后的账号标签及所述切换后的账号标签对应的当前计数值。
6.根据权利要求1或2所述的方法,其特征在于,还包括:
为所述第一账号设置有效时间,将所述第一账号对应的有效时间保存在所述账号数据库中;
在所述第一账号的有效时间过期的情况下,从所述账号数据库中删除所述第一账号与终端设备的标识的对应关系。
7.一种账号分配装置,其特征在于,包括:
接收模块,用于从终端设备接收账号申请,所述账号申请中包含所述终端设备的标识;
获取模块,用于在账号数据库中不存在所述终端设备的标识对应的第一账号的情况下,获取账号标签及所述账号标签对应的当前计数值;所述账号数据库预先保存至少两个账号标签以及各个所述账号标签对应的当前计数值,在已为所述终端设备分配过第一帐号的情况下还保存有所述终端设备的标识以及所述标识与第一账号的对应关系;
分配模块,用于根据所述账号标签及所述账号标签对应的当前计数值,得到第一账号,向所述终端设备返回所述第一账号,并将所述终端设备的标识与所述第一账号的对应关系保存在所述账号数据库中。
8.根据权利要求7所述的装置,其特征在于,还包括:
预设模块,用于预先设置至少两个所述账号标签,每个所述账号标签具有对应的有效周期;
在账号标签的有效周期过期的情况下,根据所述账号标签生成的第一账号被回收。
9.根据权利要求7或8所述的装置,其特征在于,所述分配模块用于,将所述账号标签对应的当前计数值增加1,作为更新后的当前计数值;根据所述账号标签及所述更新后的当前计数值,生成第一账号。
10.根据权利要求9所述的装置,其特征在于,还包括:
判断模块,用于判断账号数据库中是否存在所述账号标签及所述更新后的当前计数值对应的第一账号;如果存在,则获取所述对应的第一账号;否则,指示所述分配模块生成第一账号。
11.根据权利要求7或8所述的装置,其特征在于,所述获取模块用于,判断当前账号标签对应的当前计数值是否存在;如果存在,则获取当前账号标签及所述当前账号标签对应的当前计数值;如果不存在,则切换账号标签,获取切换后的账号标签及所述切换后的账号标签对应的当前计数值。
12.根据权利要求7或8所述的装置,其特征在于,还包括:
过期删除模块,用于为所述第一账号设置有效时间,将所述第一账号对应的有效时间保存在所述账号数据库中;在所述第一账号的有效时间过期的情况下,从所述账号数据库中删除所述第一账号与终端设备的标识的对应关系。
13.一种介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的方法。
14.一种计算设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
CN202110521279.8A 2021-05-13 2021-05-13 账号分配方法、介质、装置和计算设备 Active CN113158173B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110521279.8A CN113158173B (zh) 2021-05-13 2021-05-13 账号分配方法、介质、装置和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110521279.8A CN113158173B (zh) 2021-05-13 2021-05-13 账号分配方法、介质、装置和计算设备

Publications (2)

Publication Number Publication Date
CN113158173A CN113158173A (zh) 2021-07-23
CN113158173B true CN113158173B (zh) 2022-11-15

Family

ID=76874751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110521279.8A Active CN113158173B (zh) 2021-05-13 2021-05-13 账号分配方法、介质、装置和计算设备

Country Status (1)

Country Link
CN (1) CN113158173B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113901011A (zh) * 2021-10-19 2022-01-07 广东互视达电子科技有限公司 一种无纸化智能会议管理方法和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9503537B1 (en) * 2013-04-09 2016-11-22 Amazon Technologies, Inc. Device tracker for user accounts
CN105306203A (zh) * 2014-06-26 2016-02-03 中兴通讯股份有限公司 账号登录方法、装置及系统
US10817544B2 (en) * 2015-04-20 2020-10-27 Splunk Inc. Scaling available storage based on counting generated events
CN111726561B (zh) * 2020-06-17 2022-07-08 千脉文化传媒(上海)有限公司 异终端同账号的会议方法、系统、设备及存储介质
CN111866207B (zh) * 2020-06-29 2022-11-22 厦门亿联网络技术股份有限公司 一种音视频会议系统号码分配方法及系统

Also Published As

Publication number Publication date
CN113158173A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
CN108537543B (zh) 区块链数据的并行处理方法、装置、设备和存储介质
US11586673B2 (en) Data writing and reading method and apparatus, and cloud storage system
CN111897638B (zh) 分布式任务调度方法及系统
CN108681565B (zh) 区块链数据并行处理方法、装置、设备和存储介质
CN110442560B (zh) 一种日志重演方法、装置、服务器和存储介质
CN109597853B (zh) 业务场景元素序列号生成方法、装置、介质和计算机设备
US20100115070A1 (en) Method for generating manipulation requests of an initialization and administration database of server cluster, data medium and corresponding a server cluster, data medium and corresponding service cluster
US9104501B2 (en) Preparing parallel tasks to use a synchronization register
CN109886693B (zh) 区块链系统的共识实现方法、装置、设备和介质
CN109857723B (zh) 基于可扩容数据库集群的动态数据迁移方法及相关设备
CN111127181A (zh) 一种凭证记账方法和装置
CN105516086A (zh) 业务处理方法及装置
CN113037529A (zh) 一种预留带宽分配方法、装置、设备及存储介质
CN111163186B (zh) 一种id生成方法、装置、设备和存储介质
CN113158173B (zh) 账号分配方法、介质、装置和计算设备
CN113760847A (zh) 日志数据处理方法、装置、设备及存储介质
CN112148467A (zh) 计算资源的动态分配
CN108829798B (zh) 基于分布式数据库的数据存储方法及系统
CN111124291A (zh) 分布式存储系统的数据存储处理方法、装置、电子设备
CN110798358A (zh) 分布式服务标识方法、装置、计算机可读介质及电子设备
CN113360558B (zh) 数据处理方法、数据处理装置、电子设备及存储介质
CN112035460A (zh) 一种标识分配方法、装置、设备和存储介质
US20220398073A1 (en) System and method for intelligent update flow across inter and intra update dependencies
US11494239B2 (en) Method for allocating computing resources, electronic device, and computer program product
CN114356925A (zh) 标识生成方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210930

Address after: 310052 Room 408, building 3, No. 399, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou Netease Zhiqi Technology Co.,Ltd.

Address before: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: HANGZHOU LANGHE TECHNOLOGY Ltd.

GR01 Patent grant
GR01 Patent grant