CN113318456A - 数据凭证系统、方法、设备及介质 - Google Patents

数据凭证系统、方法、设备及介质 Download PDF

Info

Publication number
CN113318456A
CN113318456A CN202110735452.4A CN202110735452A CN113318456A CN 113318456 A CN113318456 A CN 113318456A CN 202110735452 A CN202110735452 A CN 202110735452A CN 113318456 A CN113318456 A CN 113318456A
Authority
CN
China
Prior art keywords
data
batch
certificate
data certificate
certificates
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
CN202110735452.4A
Other languages
English (en)
Other versions
CN113318456B (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.)
Perfect World Chongqing Interactive Technology Co ltd
Original Assignee
Perfect World Chongqing Interactive 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 Perfect World Chongqing Interactive Technology Co ltd filed Critical Perfect World Chongqing Interactive Technology Co ltd
Priority to CN202110735452.4A priority Critical patent/CN113318456B/zh
Publication of CN113318456A publication Critical patent/CN113318456A/zh
Application granted granted Critical
Publication of CN113318456B publication Critical patent/CN113318456B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/792Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for payment purposes, e.g. monthly subscriptions
    • 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
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0209Incentive being awarded or redeemed in connection with the playing of a video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0239Online discounts or incentives
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2133Verifying human interaction, e.g., Captcha

Abstract

本申请实施例提供一种数据凭证系统、方法、设备及介质。该系统中,本地计算终端响应于数据凭证生成请求,将数据凭证生成请求中待生成的数据凭证序列号以及数据凭证数量通过游戏服务器转发给中心服务器;中心服务器根据接收到数据凭证数量确定待生成的批次以及各批次中的数据凭证数量,并通过游戏服务器转发给本地计算终端;本地计算终端基于接收到的数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证。该系统中,按照数据凭证数量分批次获取目标数据凭证,且相同批次中各个目标数据凭证的数据凭证编号不重复,使得数据凭证生成后无需进行去重处理,大大降低计算资源消耗,避免服务器卡顿,提高数据凭证业务的处理效率。

Description

数据凭证系统、方法、设备及介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据凭证系统、方法、设备及介质。
背景技术
数据凭证主要用于兑换某一资源。例如,游戏中用于游戏资源的礼品码、电商场景中用于获取积分的积分兑换码、商品包装上用于表示产品信息的产品码。
以游戏中的礼品码为例,礼品码主要用于兑换游戏中的资源奖励,如游戏皮肤、道具、特殊关卡等。礼品码分为固定礼品码和随机礼品码(下文将所有随机生成的数据凭证简称为随机码)。
相关技术中,为保证随机码的唯一性,采用随机算法批量生成随机码后,通常还需要对随机码进行去重处理,即判断是否存在重复的随机码,并在存在重复现象时重新生成随机码。当需要生成的随机码达到一定数量时,去重处理需要消耗的计算资源过多,容易出现服务器卡顿、业务处理效率低等问题。
因此,亟待提出一种新的解决方案,用以克服目前存在的至少一个技术问题。
发明内容
本申请的多个方面提供一种数据凭证系统、方法、设备及介质,用以降低计算资源消耗,提高数据凭证业务的处理效率。
本申请实施例提供一种数据凭证系统,该系统包括本地计算终端、游戏服务器以及中心服务器,其中
本地计算终端,用于响应于数据凭证生成请求,将数据凭证生成请求中待生成的数据凭证序列号以及数据凭证数量发送给游戏服务器;基于接收到的数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证;其中,各个目标数据凭证由所在批次、校验码以及数据凭证编号组成,相同批次中各个目标数据凭证的数据凭证编号不重复;
游戏服务器,用于将接收到的数据凭证数量转发给中心服务器;将接收到的数据凭证序列号、批次以及各批次中的数据凭证数量转发给本地计算终端;
中心服务器,用于根据接收到数据凭证数量确定待生成的批次以及各批次中的数据凭证数量;将待生成的批次以及各批次中的数据凭证数量发送给游戏服务器。
可选地,游戏服务器,还用于随机生成各批次的批次标识,并将各批次的批次标识发送给本地计算终端;
本地计算终端生成各批次的目标数据凭证,具体用于:根据接收到的各批次中的数据凭证数量和批次标识,通过多个线程并列生成各批次中的校验码和数据凭证编号,得到各批次中的目标数据凭证;将各批次中的目标数据凭证组合为数据凭证文件。
可选地,游戏服务器,还用于接收用户输入的待验证数据凭证;判断待验证数据凭证的长度是否符合设定位数阈值;若长度符合设定位数阈值,则将通过长度验证的待验证数据凭证发送给中心服务器;
中心服务器,还用于对通过长度验证的待验证数据凭证进行解析,并判断解析结果是否与预先存储的数据凭证相匹配,其中,解析结果包括待验证数据凭证所在批次、校验码、以及数据凭证序号;若解析结果与预先存储的数据凭证相匹配,则将验证结果与待验证数据凭证的数据凭证序列号发送给游戏服务器;
游戏服务器,还用于根据接收到的验证结果与待验证数据凭证的数据凭证序列号,向用户发放对应的游戏资源。
可选地,游戏服务器,还用于根据接收到的待验证数据凭证的数据凭证序列号,验证待验证数据凭证对应的数据凭证配置参数;对于验证通过的待验证数据凭证,生成待验证数据凭证的使用请求;将使用请求发送给中心服务器;
中心服务器,还用于根据接收到的使用请求,将待验证数据凭证所在批次、数据凭证编号以及解析结果标识存储到已使用数据凭证列表中,以使待验证数据凭证标记为已使用的数据凭证。
本申请实施例提供一种数据凭证生成方法,包括:
获取待生成的数据凭证序列号以及数据凭证数量;
根据待生成的数据凭证数量确定待生成的批次以及各批次中的数据凭证数量;
基于数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证;
其中,各个目标数据凭证由所在批次、校验码以及数据凭证编号组成,相同批次中各个目标数据凭证的数据凭证编号不重复。
可选地,基于数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证,包括:
随机生成各批次的批次标识;
根据各批次中的数据凭证数量和批次标识,通过多个线程并列生成各批次中的校验码和数据凭证编号,得到各批次中的目标数据凭证;
将各批次中的目标数据凭证组合为数据凭证文件。
其中,可选地,根据各批次中的数据凭证数量和批次标识,通过多个线程并列生成各批次中的校验码和数据凭证编号,得到各批次中的目标数据凭证,包括:
对于任一批次待生成的数据凭证,基于当前批次中的数据凭证数量确定当前批次中各个数据凭证的初始编号,其中,相同批次中数据凭证的初始编号不重复;
将预设哈希质数与各个数据凭证的初始编号和当前批次标识之和相乘,得到当前批次中各个数据凭证的校验码;
将当前批次标识、各个数据凭证的初始编号以及校验码通过乱序放置策略进行编码,得到各个数据凭证的初始编码;
将各个数据凭证的初始编码进行加密,得到各个数据凭证的加密编码;
将各个数据凭证的加密编码转换为设定编码类型的数值编码,以得到当前批次中的各个目标数据凭证。
其中,可选地,获取各个数据凭证的加密编码的加密方式包括RC4加密;
方法还包括:
由字母和数字随机混合生成设定位数的RC4密钥,并将RC4密钥存储在服务器中。
其中,可选地,该方法还包括:将各个目标数据凭证中第一目标位的数值移动至第二目标位,以得到经过干扰处理的各个目标数据凭证。
本申请实施例提供一种数据凭证验证方法,包括:
接收用户输入的待验证数据凭证;
判断待验证数据凭证的长度是否符合设定位数阈值;
若长度符合设定位数阈值,则对通过长度验证的待验证数据凭证进行解析,并判断解析结果是否与预先存储的数据凭证相匹配,其中,解析结果包括待验证数据凭证所在批次、校验码、以及数据凭证序号;
若解析结果与预先存储的数据凭证相匹配,则向用户发放对应的游戏资源。
可选地,还包括:
待验证数据凭证所在批次、数据凭证编号以及解析结果标识存储到已使用数据凭证列表中,以使待验证数据凭证标记为已使用的数据凭证。
可选地,对通过长度验证的待验证数据凭证进行解析,并判断解析结果是否与预先存储的数据凭证相匹配,包括:
获取与待验证数据凭证对应的数据凭证序号,数据凭证序号用于在服务器中查询预先存储的解密密钥、哈希质数、校验码;
基于设定编码类型对应的解码方式对待验证数据凭证进行解码,得到待验证数据凭证对应的初始解码值;
采用预先存储的加密密钥对初始解码值进行解密,得到待验证数据凭证对应的解密数组;
基于预先存储的哈希质数对解密数组进行计算,以得到待验证数据凭证对应的校验码;
若待验证数据凭证对应的校验码与预先存储的校验码一致,则从解密数组中获取批次标识和数据凭证编号;
判断解密数组中获取的批次标识和数据凭证编号是否与预先存储的批次标识和数据凭证编号相匹配。
其中,可选地,判断解密数组中获取的批次标识和数据凭证编号是否与预先存储的批次标识和数据凭证编号相匹配之后,还包括以下一种或多种验证方式:
判断解密数组对应的解析结果标识是否使用过;
判断解密数组中获取的批次标识是否已生成;
判断解密数组中获取的数据凭证编号是否超出当前批次范围。
本申请实施例还提供一种数据凭证生成装置,该装置包括:
收发模块,用于获取待生成的数据凭证序列号以及数据凭证数量;
处理模块,用于根据待生成的数据凭证数量确定待生成的批次以及各批次中的数据凭证数量;基于数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证;
其中,各个目标数据凭证由所在批次、校验码以及数据凭证编号组成,相同批次中各个目标数据凭证的数据凭证编号不重复。
本申请实施例还提供一种数据凭证使用装置,该装置包括:
收发模块,用于接收用户输入的待验证数据凭证;
处理模块,用于判断待验证数据凭证的长度是否符合设定位数阈值;若长度符合设定位数阈值,则对通过长度验证的待验证数据凭证进行解析,并判断解析结果是否与预先存储的数据凭证相匹配,解析结果包括待验证数据凭证所在批次、校验码、数据凭证编号以及数据凭证序号;若解析结果与预先存储的数据凭证相匹配,则向用户发放对应的游戏资源。
本申请实施例还提供一种电子设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:执行本申请实施例提供的方法中的步骤。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现本申请实施例提供的方法中的步骤。
在本申请实施例提供的技术方案中,获取待生成的数据凭证序列号以及数据凭证数量,该待生成的数据凭证序列号例如是数据凭证序列码(Serial Number,SN),该待生成的数据凭证数量即需要生成的数据凭证总数。进而,根据待生成的数据凭证数量确定待生成的批次以及各批次中的数据凭证数量,基于数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证。该目标数据凭证由所在批次、校验码以及数据凭证编号组成。本方案中,按照待生成的数据凭证数量分批次获取目标数据凭证,并且在相同批次中各个目标数据凭证的数据凭证编号不重复,使得数据凭证生成后无需进行去重处理,大大降低计算资源消耗,避免服务器卡顿,提高数据凭证业务的处理效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的数据凭证系统的结构示意图;
图2为本申请一示例性实施例提供的数据凭证生成方法的流程示意图;
图3为本申请一示例性实施例提供的数据凭证的示意图;
图4为本申请一示例性实施例提供的数据凭证生成方法的原理示意图;
图5为本申请一示例性实施例提供的数据凭证系统的交互流程示意图;
图6为本申请一示例性实施例提供的数据凭证验证方法的流程示意图;
图7为本申请一示例性实施例提供的数据凭证验证方法的原理示意图;
图8为本申请一示例性实施例提供的数据凭证系统的交互流程示意图;
图9为本申请一示例性实施例提供的数据凭证生成装置的结构示意图;
图10为本申请一示例性实施例提供的数据凭证验证装置的结构示意图;
图11为本申请一示例性实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着电子设备进入生活中的各种领域,如何实现人机交互成为重点关注的命题之一。而扫码是常见的人机交互方式之一。“扫码”操作中的码,即是指本申请涉及到的数据凭证。
目前,数据凭证主要用于兑换某一资源。例如数据凭证可用于兑换游戏皮肤、财务票据、影视资源,等等。
数据凭证的实现形式有多种,例如二维码、条形码等。不同功能的数据凭证的名称也不同。例如游戏中用于游戏资源的礼品码、电商场景中用于获取积分的积分兑换码、商品包装上用于表示产品信息的产品码。
以游戏中的礼品码为例,礼品码主要用于兑换游戏中的资源奖励,如游戏皮肤、道具等。例如,新手玩家登录游戏后,可以输入新手礼品码兑换游戏资源奖励。礼品码分为固定礼品码(即通码)和随机礼品码(本文将所有随机生成的数据凭证简称为随机码)。
相关技术中,为保证随机码的唯一性,采用随机算法批量生成随机码后,通常还需要对随机码进行去重处理,即判断是否存在重复的随机码,并在存在重复现象时重新生成随机码。当需要生成的随机码达到一定数量时,去重处理需要消耗的计算资源过多,容易出现服务器卡顿、业务处理效率低等问题。
此外,使用随机码的过程中,需要将随机码加载到服务器中,并验证用户输入的随机码是否与服务器中加载的随机码一致。当需要验证的随机码达到一定数量时,随机码加载及验证也需要消耗大量的计算资源,同样也容易出现服务器卡顿,影响玩家游戏体验。
因此,亟待提出一种新的解决方案,用以克服目前存在的至少一个技术问题。尤其是,针对大批量数据凭证生成及使用场景的解决方案。
针对上述至少一个技术问题,在本申请一些实施例中,提供了一种解决方案,以下结合附图,详细说明本申请各实施例提供的技术方案。
本申请实施例提供的技术方案可以由一电子设备来执行,该电子设备可以是服务器。该服务器可以是包含一独立主机的物理服务器,或者也可以为主机集群承载的虚拟服务器,或者也可以为云服务器。该电子设备也可以是诸如平板电脑、PC机、笔记本电脑等终端设备。当然,该技术方案还可由服务器与终端设备配合执行,或多个电子设备配合执行,本申请并不限定。
本申请实施例中的技术方案,都可以由服务器和终端设备配合实现。服务器侧例如包括:游戏服务器和中心服务器。其中,游戏服务器主要用于实现游戏中具体功能逻辑,实际应用中各个游戏服务器对应区域都可以设置对应的游戏服务器。中心服务器可以是一台设备也可以是服务器集群,中心服务器与多个游戏服务器相连。
本申请实施例提供了一种数据凭证系统,图1为本申请一示例性实施例提供的数据凭证系统的结构示意图。如图1所示,该系统包括本地计算终端01、游戏服务器02以及中心服务器03,各部分的具体功能如下:
本地计算终端01,用于响应于数据凭证生成请求,将数据凭证生成请求中待生成的数据凭证序列号以及数据凭证数量发送给游戏服务器02;基于接收到的数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证;其中,各个目标数据凭证由所在批次、校验码以及数据凭证编号组成,相同批次中各个目标数据凭证的数据凭证编号不重复;
游戏服务器02,用于将接收到的数据凭证数量转发给中心服务器03;将接收到的数据凭证序列号、批次以及各批次中的数据凭证数量转发给本地计算终端01;
中心服务器03,用于根据接收到数据凭证数量确定待生成的批次以及各批次中的数据凭证数量;将待生成的批次以及各批次中的数据凭证数量发送给游戏服务器02。
通过上述系统,能够按照待生成的数据凭证数量分批次获取目标数据凭证,并且在相同批次中各个目标数据凭证的数据凭证编号不重复,使得数据凭证生成后无需进行去重处理,大大降低计算资源消耗,避免服务器卡顿,提高数据凭证业务的处理效率。
另外,在一可选实施例中,数据凭证的验证过程中,游戏服务器02以及中心服务器03还具有如下功能:
游戏服务器02,还用于接收用户输入的待验证数据凭证;判断待验证数据凭证的长度是否符合设定位数阈值;若长度符合设定位数阈值,则将通过长度验证的待验证数据凭证发送给中心服务器03;根据接收到的验证结果与待验证数据凭证的数据凭证序列号,向用户发放对应的游戏资源;
中心服务器03,还用于对通过长度验证的待验证数据凭证进行解析,并判断解析结果是否与预先存储的数据凭证相匹配,其中,解析结果包括待验证数据凭证所在批次、校验码、以及数据凭证序号;若解析结果与预先存储的数据凭证相匹配,则将验证结果与待验证数据凭证的数据凭证序列号发送给游戏服务器02。
上述数据凭证系统中各个部分功能的具体实现方式,可参见下文实施例中的相关描述,此处暂不展开。
值得说明的是,本申请实施例提供的技术方案适用于各种数据凭证,例如随机码、通码。
无论应用于何种数据凭证,本申请实施例提供的数据凭证处理方案的核心思路都是:获取待生成的数据凭证序列号以及数据凭证数量,该待生成的数据凭证数量即需要生成的数据凭证总数。进而,根据待生成的数据凭证数量确定待生成的批次以及各批次中的数据凭证数量,基于数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证。该目标数据凭证由所在批次、校验码以及数据凭证编号组成。本方案中,按照待生成的数据凭证数量分批次获取目标数据凭证,并且在相同批次中各个目标数据凭证的数据凭证编号不重复,使得数据凭证生成后无需进行去重处理,大大降低计算资源消耗,避免服务器卡顿,提高数据凭证业务的处理效率。
下面结合以下实施例对技术方案的执行过程进行说明。
本申请实施例提供了一种数据凭证生成方法,图2为本申请一示例性实施例提供的数据凭证生成方法的流程示意图。该数据凭证生成方法中各步骤的执行主体均可以是同一设备,也可以是不同设备。如图2所示,该方法包括:
201、获取待生成的数据凭证序列号以及数据凭证数量;
202、根据待生成的数据凭证数量确定待生成的批次以及各批次中的数据凭证数量;
203、基于数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证。
本申请实施例中,目标数据凭证的实现形式包括但不限于:数字码、二维码、条形码等。值得说明的是,无论何种实现形式的目标数据凭证都需要包含所在批次、校验码以及数据凭证编号。当然,所在批次、校验码以及数据凭证编号这些信息可以直接展示在目标数据凭证中,也可以隐含于目标数据凭证的图像中(例如二维码、条形码等),本申请并不限定。目标数据凭证中的校验码例如是哈希校验码。
实际应用中,目标数据凭证包含的所在批次、校验码以及数据凭证编号,可以根据配置信息设置。
本申请实施例中,目标数据凭证对应的配置信息包括但不限于:数据凭证序列号、使用等级、数据凭证权限、发放渠道、发放服务器、凭证类型。可选地,基于发放渠道可以选取构成数值凭证的字符类型,例如中文、英文、日文、德文、数字、特殊字符等。凭证类型例如是否为渠道直通礼包。使用等级即可使用该数据凭证的玩家的等级范围,例如30级以上,或者10级以内(如新手礼品码)。可选地,可以通过划分组别来限定数据凭证权限,例如同组中只可使用一个数据凭证。
以图3示出的数据凭证为例,该目标数据凭证可实现为8个字节的数字码。其中,前4个字节(1-4字节)用于表示该目标数据凭证所在批次,例如批次标识;第5字节用于表示该目标数据凭证的校验码;后3个字节(6-8字节)用于表示该目标数据凭证的数据凭证编号。
具体地,在图3中,假设目标数据凭证是礼品码,基于此,该礼品码的编码结构可以是Long结构,字节单位为byte。进一步地,还可将礼品码从Long结构编码转换为BASE24编码。例如,将8byte的Long结构编码转换为14位BASE24编码格式的礼品码。BASE24编码格式的礼品码由字母数字组成。
本申请实施例中,为避免去重处理为服务器带来负担,相同批次中各个目标数据凭证的数据凭证编号不重复。也就是说,对于每一批次而言,当前批次中所有目标数据凭证的数据凭证编号均是唯一的。例如,按照预设顺序生成当前批次的数据凭证编号,如000000001、000000010、000000011、000000100、……。或者,随机生成当前批次的数据凭证编号。
举例来说,仍假设数据凭证编号为3个字节,由此,每一批次最多生成830万个目标数据凭证。假设待生成的数据凭证数量为1000万。
基于上述假设,201中,获取待生成的数据凭证SN以及待生成的数据凭证数量为1000万。进而,202中,计算出需要使用2个批次来生成1000万个目标数据凭证,并计算出2个批次中各自所需生成的数据凭证数量。
值得说明的是,若需采用多个批次来生成目标数据凭证,则各个批次中所需生成的目标数据凭证可以是均分的,如上例中2个批次分别生成500万目标数据凭证。当然,也可以是根据各批次的实施设备的计算能力决定,或者还可以是根据随机分配的,本申请并不限定。
进而,203中,基于数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证,可以实现为:
随机生成各批次的批次标识;根据各批次中的数据凭证数量和批次标识,通过多个线程并列生成各批次中的校验码和数据凭证编号,得到各批次中的目标数据凭证;将各批次中的目标数据凭证组合为数据凭证文件。
继续上文示例,假设数据凭证编号为3个字节,即3个字节的最大存储值为8388607(即2^23)。假设待生成的数据凭证数量为1000万。假设2个批次各自需要生成500万数据凭证。
基于此,确定需要使用2个批次以及2个批次中各自所需生成的数据凭证数量之后,203中,随机生成2个批次的批次标识。其中,批次标识可以是4位随机数值,也可以是4位由数字、字母或其他符号混合的随机值。例如,2个批次的批次标识分别0001、1100。
可选地,使用随机算法生成各个批次的批次标识。例如,在0到最大值之间随机计算出整数作为批次标识(range Id)。最大值可以设置为21亿,从而,随机范围在0-21亿之间,大大降低了批次标识的重复概率,进一步避免去重处理。并且,有助于保证目标数据凭证的随机性。
进而,根据2个批次中的数据凭证数量和批次标识,通过2个线程并列生成这2个批次中的校验码和数据凭证编号,得到这2个批次中的目标数据凭证,然后将这2个批次中的目标数据凭证组合为数据凭证文件。
可选地,可将数据凭证文件存储到多个游戏服务器中,以便在各个游戏服务器对应区域中分发对应的目标数据凭证,从而避免由中心服务器同一存储数据凭证文件带来的加载时延。例如,假设有5个游戏服务器对应区域,可以将数据凭证文件划分为5个部分,从而分别由5个游戏服务器对应区域的游戏服务器向玩家分发礼品码。这样,可以降低各个游戏服务器对应区域中玩家兑换礼品码所消耗的计算资源,缩短礼品码加载时延。
下面结合具体示例,说明如何根据各批次中的数据凭证数量和批次标识得到各批次中的目标数据凭证。如图4所示,其中一种具体实现方式包括以下步骤:
401、对于任一批次待生成的数据凭证,基于当前批次中的数据凭证数量确定当前批次中各个数据凭证的初始编号,其中,相同批次中数据凭证的初始编号不重复。
例如,假设某一数据凭证的初始编号为i,其中i处于0到n之间。具体地,基于当前批次中的数据凭证数量n确定当前批次中各个数据凭证的初始编号,如i0到in
402、将预设哈希质数与各个数据凭证的初始编号和当前批次标识之和相乘,得到当前批次中各个数据凭证的校验码。
以哈希校验码为例,假设预设哈希质数为哈希质数X,并且假设当前批次标识为range Id 1。基于上述假设,先获取各个数据凭证的初始编号(如i0到in)与range Id 1之和,得到初始计算结果,并将初始计算结果与哈希质数X的与range Id 1之和相乘,得到当前批次中各个数据凭证的校验码,即j0到jn
当然,除了上文示例中的随机生成方式外,还可采用其他方式获取当前批次中各个数据凭证的校验码,本申请并不限定。
403、将当前批次标识、各个数据凭证的初始编号以及校验码通过乱序放置策略进行编码,得到各个数据凭证的初始编码。
在一可选示例中,乱序放置策略可以具体实现为:将上述当前批次标识(如rangeId)、各个数据凭证的初始编号(如i0到in)以及校验码j转换为byte格式,按照预设位次乱序放入8byte编码中。
例如,预设位次中,range Id放入8byte编码中的第1、6、8、4位,校验码j放入8byte编码中的第3位,各个数据凭证的初始编号i0到in分别放入8byte编码中的第2、7、5位,得到8byte数组中,记为arrayB。
404、将各个数据凭证的初始编码进行加密,得到各个数据凭证的加密编码。
可选地,获取各个数据凭证的加密编码的加密方式包括RC4加密。可选地,还可由字母和数字随机混合生成设定位数的RC4密钥,并将RC4密钥存储在服务器中。
举例来说,上述404中,采用RC4密钥对arrayB进行加密,得到加密后的数据凭证的加密编码,记为arrayR。具体地,可以采用字母和数字(如0-9a-zA-Z)随机生成设定位数的RC4密钥,并将RC4密钥存储在服务器的配置文件中。
405、将各个数据凭证的加密编码转换为设定编码类型的数值编码,以得到当前批次中的各个目标数据凭证。
具体地,将各个数据凭证的加密编码arrayR,转换为Long类型的数值编码。进而,再将Long类型的数值编码转换为24进制的字符串strL。最后,将24进制的字符串strL转换为BASE24编码格式(即设定编码类型)的数值编码strE。其中,Long类型的数值编码转换为24进制后通常最多为14位,若不足14位则用设定数值补足。
可选地,还可将各个目标数据凭证中第一目标位的数值移动至第二目标位,以得到经过干扰处理的各个目标数据凭证。
例如,将目标数据凭证中前两位的数值移动插入到第8、9位,得到经过干扰处理的目标数据凭证。或者,将当前目标数据凭证中的前两位数值修改为数值映射表中的对应数值,从而得到经过干扰处理的目标数据凭证。
除了上述示例外,还可采用其他方式对目标数值凭证所包含的内容(如位次、数值等)进行调整,达到干扰处理的目的。
通过步骤401至405,能够根据各批次中的数据凭证数量和批次标识,通过多个线程并列生成各批次中的校验码和数据凭证编号,得到各批次中的目标数据凭证。
其中,多个线程可以是由多个设备实现的,例如多个终端设备、或者多个虚拟机。实际应用中,上述步骤401至405可以由多个终端设备分别实现,从而并行生成多个批次中的校验码和数据凭证编号,得到多个批次中的目标数据凭证。这样,可以将目标数据凭证的生成业务分散至多个终端设备,降低服务器的处理压力。
实际应用中,上述步骤201至203可以由多个设备配合执行,也可由单一设备执行,本申请并不限定。下面以多个设备配合实现201至203为例,介绍图2示出的数据凭证生成方法的实际应用场景:
假设执行设备包括服务器和终端设备。假设服务器侧包括游戏服务器和中心服务器。假设终端设备中搭载有用于生成目标数据凭证的应用程序。
基于上述假设,201之前,在终端设备搭载的应用程序中,响应于用户输入的需求信息,从需求信息中获取待生成的数据凭证序列号以及数据凭证数量,并将数据凭证序列号以及数据凭证数量发送给游戏服务器。
进而,201中,游戏服务器接收待生成的数据凭证序列号以及数据凭证数量,并转发给中心服务器。202中,中心服务器接收待生成的数据凭证序列号以及数据凭证数量之后,根据待生成的数据凭证数量,随机生成批次标识,并确定待生成的各批次中的数据凭证数量。然后,中心服务器将待生成的数据凭证序列号、批次标识存储到数据库或内存缓存中,并将批次标识以及各批次中的数据凭证数量返回给游戏服务器。
最终,203中,游戏服务器基于数据凭证序列号、批次标识以及各批次中的数据凭证数量生成各批次的目标数据凭证,并反馈给终端设备搭载的应用程序。或者,为减轻游戏服务器的处理压力,也可以通过游戏服务器将数据凭证序列号、批次标识以及各批次中的数据凭证数量发送给终端设备搭载的应用程序,以使得应用程序基于数据凭证序列号、批次标识以及各批次中的数据凭证数量生成各批次的目标数据凭证。
上述步骤中,基于待生成的数据凭证数量分批次获取目标数据凭证,并且在相同批次中各个目标数据凭证的数据凭证编号不重复,使得数据凭证生成后无需进行去重处理,大大降低计算资源消耗,避免服务器卡顿,提高数据凭证业务的处理效率。
值得说明的是,为便于进一步提高生成效率,降低服务器处理压力,游戏服务器可将数据凭证序列号、批次标识以及各批次中的数据凭证数量按照批次分为多组,并分别发送给多个终端设备搭载的应用程序。进而,由多个终端设备搭载的应用程序基于各组数据并行生成各批次的目标数据凭证,并输出至同一数据凭证文件中。这样,将目标数据凭证生成过程的处理压力分散到多个终端设备中,进一步降低了服务器的处理压力,避免服务器卡顿。通过多线程并行处理的方式,还可进一步提升目标数据凭证的生成效率,更适用于大批量目标数据凭证的生成场景。通过此方式可支持千万级目标数据凭证的生成场景。
当然,除采用多个终端设备多线程并行处理之外,也可采用部署在服务端的多个虚拟机或云计算主机多线程并行生成目标数据凭证,本申请并不限定。
通过图2示出的数据凭证生成方法,基于待生成的数据凭证数量分批次获取目标数据凭证,并且在相同批次中各个目标数据凭证的数据凭证编号不重复,使得数据凭证生成后无需进行去重处理,大大降低计算资源消耗,避免服务器卡顿,提高数据凭证业务的处理效率。
参见图1示出的数据凭证系统,图5为本申请一示例性实施例提供的数据凭证系统的交互流程示意图。该系统可以是图1示出的数据凭证系统。如图5所示,该系统包括本地计算终端01、游戏服务器02以及中心服务器03,具体交互流程如下:
501、本地计算终端01响应于数据凭证生成请求,将数据凭证生成请求中待生成的数据凭证序列号以及数据凭证数量发送给游戏服务器02;
502、游戏服务器02将接收到的数据凭证数量转发给中心服务器03;
503、中心服务器03根据接收到数据凭证数量确定待生成的批次以及各批次中的数据凭证数量;
504、中心服务器03将待生成的批次以及各批次中的数据凭证数量发送给游戏服务器02;
505、游戏服务器02将接收到的数据凭证序列号、批次以及各批次中的数据凭证数量转发给本地计算终端01;
506、本地计算终端01基于接收到的数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证。
其中,各个目标数据凭证由所在批次、校验码以及数据凭证编号组成,相同批次中各个目标数据凭证的数据凭证编号不重复。
可选地,游戏服务器02还用于随机生成各批次的批次标识,并将各批次的批次标识发送给本地计算终端01。进而,本地计算终端01生成各批次的目标数据凭证,具体用于:根据接收到的各批次中的数据凭证数量和批次标识,通过多个线程并列生成各批次中的校验码和数据凭证编号,得到各批次中的目标数据凭证;将各批次中的目标数据凭证组合为数据凭证文件。
值得说明的是,图5示出的交互流程中各个步骤的具体实现方式,可以参见上文实施例中的具体描述,此处不再赘述。
本申请实施例提供了一种数据凭证验证方法,图6为本申请一示例性实施例提供的数据凭证验证方法的流程示意图。该数据凭证验证方法中各步骤的执行主体均可以是同一设备,也可以是不同设备。如图6所示,该方法包括:
601、接收用户输入的待验证数据凭证;
602、判断待验证数据凭证的长度是否符合设定位数阈值;
603、若长度符合设定位数阈值,则对通过长度验证的待验证数据凭证进行解析,并判断解析结果是否与预先存储的数据凭证相匹配,其中,解析结果包括待验证数据凭证所在批次、校验码、以及数据凭证序号;
604、若解析结果与预先存储的数据凭证相匹配,则向用户发放对应的游戏资源。
下面以执行设备为服务器(包括游戏服务器和中心服务器)以及终端设备为例,结合具体示例介绍如何实现上述步骤601至604。
首先,601中,接收用户输入的待验证数据凭证。
假设终端设备中搭载有用于生成目标数据凭证的应用程序。基于此,601中,在终端设备搭载的应用程序中,将用户输入的待验证数据凭证发送给游戏服务器。例如,假设应用程序为游戏客户端,待验证数据凭证为待验证的礼品码,基于此,玩家在游戏客户端中输入待验证的礼品码,以请求兑换游戏资源。
602中,判断待验证数据凭证的长度是否符合设定位数阈值;
继续上文示例,游戏服务器接收到兑换游戏资源的请求后,从请求中提取出待验证的礼品码,并验证待验证的礼品码的长度是否达到预设位数阈值,如14位。若未达到,则说明验证失败。此情况下,可以向游戏客户端提示礼品码不合法,请重新输入。若达到,则说明验证成功,可以将待验证的礼品码发送至中心服务器,并由中心服务器进行下一步骤。
603中,若长度符合设定位数阈值,则该待验证数据凭证的合法性经过初步验证。此情况下,可以进一步判断该待验证数据凭证的合法性。具体而言,对通过长度验证的待验证数据凭证进行解析,并判断解析结果是否与预先存储的数据凭证相匹配。
继续上文示例,603中,中心服务器接收到通过长度验证的礼品码之后,可以参考与上文实施例中生成过程的方式,如图7所示,中心服务器可以执行以下步骤,进一步判断该待验证数据凭证的合法性:
701、获取与待验证数据凭证对应的数据凭证序号,该数据凭证序号用于在服务器中查询预先存储的解密密钥、哈希质数、校验码;
702、基于设定编码类型对应的解码方式对待验证数据凭证进行解码,得到待验证数据凭证对应的初始解码值;
703、采用预先存储的加密密钥对初始解码值进行解密,得到待验证数据凭证对应的解密数组;
704、基于预先存储的哈希质数对解密数组进行计算,以得到待验证数据凭证对应的校验码;
705、若待验证数据凭证对应的校验码与预先存储的校验码一致,则从解密数组中获取批次标识和数据凭证编号;
706、判断解密数组中获取的批次标识和数据凭证编号是否与预先存储的批次标识和数据凭证编号相匹配。
上述步骤中使用的解密密钥、哈希质数、校验码,与上文实施例类似,此处不再赘述。
可选地,603之后,还可将待验证数据凭证所在批次、数据凭证编号以及解析结果标识存储到已使用数据凭证列表中,以使待验证数据凭证标记为已使用的数据凭证。从而,避免重复发放同一数据凭证对应的游戏资源。
进而,若603中判定解密数组中获取的批次标识与预先存储的批次标识相匹配,并且判定解密数组中获取的数据凭证编号与预先存储的数据凭证编号相匹配,那么,说明解析结果与预先存储的数据凭证相匹配,此情况下,604中,中心服务器可以将验证通过的数据凭证以及数据凭证序列号发送给游戏服务器。
进而,游戏服务器接收到中心服务器验证通过的数据凭证以及数据凭证序列号之后,查询验证通过的数据凭证对应的配置信息。然后,游戏服务器基于配置信息确定该数据凭证对应的游戏资源,并向用户发放对应的游戏资源。其中,游戏资源包括游戏道具、指定关卡、技能奖励、金币奖励,等等。可选地,数据凭证对应的配置信息包括但不限于:数据凭证序列号、使用等级、数据凭证权限、发放渠道、发放服务器、凭证类型。具体配置信息与上文实施例类似,此处不再赘述。
可选地,游戏服务器还可基于配置信息进一步验证数据凭证是否可以使用。例如,游戏服务器接收到中心服务器验证通过的数据凭证以及数据凭证序列号之后,执行以下一种或多种验证方式:
方式一、判断解密数组对应的解析结果标识是否使用过。
若判定解密数组对应的解析结果标识(如decode Id)已使用过,则说明该数据凭证已经用于游戏资源的兑换,不可重复执行兑换操作,此时可向游戏客户端反馈数据凭证使用失败。
方式二、判断解密数组中获取的批次标识是否已生成。
若判定解密数组中获取的批次标识未生成过,则说明该数据凭证不合法,可能是输入错误或遇到假数据凭证,此时也可向游戏客户端反馈数据凭证使用失败。
方式三、判断解密数组中获取的数据凭证编号是否超出当前批次范围。
若判定数据凭证编号超出当前批次范围,例如数据凭证编号大于当前批次范围中数据凭证编号的最大值,则说明该数据凭证不合法,可能是输入错误或遇到假数据凭证,此时也可向游戏客户端反馈数据凭证使用失败。
若数据凭证通过上述三种方式未发现异常,则游戏服务器可以确定该数据凭证验证通过,并向用户发放对应的游戏资源。
通过图6示出的数据凭证验证方法,首先通过判断待验证数据凭证的长度是否符合设定位数阈值,初步验证待验证数据凭证是否合法;其次,若长度符合设定位数阈值,则对通过长度验证的待验证数据凭证进行解析,并判断解析结果是否与预先存储的数据凭证相匹配,从而进一步判断待验证数据凭证是否合法。若解析结果与预先存储的数据凭证相匹配,则说明待验证数据凭证合法,此情况下,可以向用户发放对应的游戏资源。通过上述验证方法,能够通过验证待验证数据凭证所在批次、校验码、以及数据凭证序号来判断待验证数据凭证的合法性,从而避免大量加载数据凭证带来的计算资源消耗,避免服务器卡顿,提升数据凭证验证效率。
参见图1示出的数据凭证系统,图8为本申请另一示例性实施例提供的数据凭证系统的交互流程示意图。该系统可以是图1示出的数据凭证系统。如图8所示,该系统包括本地计算终端01、游戏服务器02以及中心服务器03,具体交互流程如下:
801、游戏服务器02接收用户输入的待验证数据凭证;
802、游戏服务器02判断待验证数据凭证的长度是否符合设定位数阈值;
803、游戏服务器02若长度符合设定位数阈值,则将通过长度验证的待验证数据凭证发送给中心服务器03;
804、中心服务器03对通过长度验证的待验证数据凭证进行解析,并判断解析结果是否与预先存储的数据凭证相匹配,其中,解析结果包括所述待验证数据凭证所在批次、校验码、以及数据凭证序号;
805、中心服务器03若解析结果与预先存储的数据凭证相匹配,则将验证结果与待验证数据凭证的数据凭证序列号发送给游戏服务器02;
806、游戏服务器02根据接收到的验证结果与待验证数据凭证的数据凭证序列号,向用户发放对应的游戏资源。
可选地,游戏服务器02,还用于根据接收到的待验证数据凭证的数据凭证序列号,验证待验证数据凭证对应的数据凭证配置参数;对于验证通过的待验证数据凭证,生成待验证数据凭证的使用请求;将使用请求发送给中心服务器03。中心服务器03,还用于根据接收到的使用请求,将待验证数据凭证所在批次、数据凭证编号以及解析结果标识存储到已使用数据凭证列表中,以使待验证数据凭证标记为已使用的数据凭证。
可选地,801之前,通过本地计算终端01接收用户输入的待验证数据凭证,并将接收到的待验证数据凭证转发给游戏服务器02的。这里,图8中涉及的本地计算终端01与图5中涉及的本地计算终端01可以是相同,也可以是不同的。相同的本地计算终端01中可以安装用于执行不同功能的应用程序。
值得说明的是,图8示出的交互流程中各个步骤的具体实现方式,可以参见上文实施例中的具体描述,此处不再赘述。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤203的执行主体可以为设备A;又比如,步骤201的执行主体可以为设备A,步骤202和203的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202、203等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图9为本申请实施例提供的一种数据凭证生成装置的结构示意图。如图9所示,该数据凭证生成装置包括收发模块91和处理模块92,其中
收发模块91,用于获取待生成的数据凭证序列号以及数据凭证数量;
处理模块92,用于根据待生成的数据凭证数量确定待生成的批次以及各批次中的数据凭证数量;基于数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证;
其中,各个目标数据凭证由所在批次、校验码以及数据凭证编号组成,相同批次中各个目标数据凭证的数据凭证编号不重复。
可选地,处理模块92基于数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证时,具体用于:
随机生成各批次的批次标识;
根据各批次中的数据凭证数量和批次标识,通过多个线程并列生成各批次中的校验码和数据凭证编号,得到各批次中的目标数据凭证;
将各批次中的目标数据凭证组合为数据凭证文件。
其中,可选地,处理模块92根据各批次中的数据凭证数量和批次标识,通过多个线程并列生成各批次中的校验码和数据凭证编号,得到各批次中的目标数据凭证时,具体用于:
对于任一批次待生成的数据凭证,基于当前批次中的数据凭证数量确定当前批次中各个数据凭证的初始编号,其中,相同批次中数据凭证的初始编号不重复;
将预设哈希质数与各个数据凭证的初始编号和当前批次标识之和相乘,得到当前批次中各个数据凭证的校验码;
将当前批次标识、各个数据凭证的初始编号以及校验码通过乱序放置策略进行编码,得到各个数据凭证的初始编码;
将各个数据凭证的初始编码进行加密,得到各个数据凭证的加密编码;
将各个数据凭证的加密编码转换为设定编码类型的数值编码,以得到当前批次中的各个目标数据凭证。
其中,可选地,获取各个数据凭证的加密编码的加密方式包括RC4加密。
处理模块92还用于:由字母和数字随机混合生成设定位数的RC4密钥,并将RC4密钥存储在服务器中。
其中,可选地,处理模块92还用于:将各个目标数据凭证中第一目标位的数值移动至第二目标位,以得到经过干扰处理的各个目标数据凭证。
图10为本申请实施例提供的一种数据凭证验证装置的结构示意图。如图10所示,该数据凭证验证装置包括收发模块101和处理模块102,其中
收发模块101,用于接收用户输入的待验证数据凭证;
处理模块102,用于判断待验证数据凭证的长度是否符合设定位数阈值;若长度符合设定位数阈值,则对通过长度验证的待验证数据凭证进行解析,并判断解析结果是否与预先存储的数据凭证相匹配,解析结果包括待验证数据凭证所在批次、校验码、数据凭证编号以及数据凭证序号;若解析结果与预先存储的数据凭证相匹配,则向用户发放对应的游戏资源。
可选地,处理模块102还用于:
待验证数据凭证所在批次、数据凭证编号以及解析结果标识存储到已使用数据凭证列表中,以使待验证数据凭证标记为已使用的数据凭证。
可选地,处理模块102对通过长度验证的待验证数据凭证进行解析,并判断解析结果是否与预先存储的数据凭证相匹配时,具体用于:
获取与待验证数据凭证对应的数据凭证序号,数据凭证序号用于在服务器中查询预先存储的解密密钥、哈希质数、校验码;
基于设定编码类型对应的解码方式对待验证数据凭证进行解码,得到待验证数据凭证对应的初始解码值;
采用预先存储的加密密钥对初始解码值进行解密,得到待验证数据凭证对应的解密数组;
基于预先存储的哈希质数对解密数组进行计算,以得到待验证数据凭证对应的校验码;
若待验证数据凭证对应的校验码与预先存储的校验码一致,则从解密数组中获取批次标识和数据凭证编号;
判断解密数组中获取的批次标识和数据凭证编号是否与预先存储的批次标识和数据凭证编号相匹配。
其中,可选地,处理模块102判断解密数组中获取的批次标识和数据凭证编号是否与预先存储的批次标识和数据凭证编号相匹配之后,还用于实现以下一种或多种验证方式:
判断解密数组对应的解析结果标识是否使用过;
判断解密数组中获取的批次标识是否已生成;
判断解密数组中获取的数据凭证编号是否超出当前批次范围。
图11是本申请一示例性实施例提供的电子设备的结构示意图,如图11所示,该电子设备包括:存储器1101、处理器1102、通信组件1103以及显示组件1104。
存储器1101,用于存储计算机程序,并可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
其中,存储器1101可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器1102,与存储器1101耦合,用于执行存储器1101中的计算机程序,以用于:通过显示组件1104在图形界面中显示处于第一状态或第二状态的目标控件组;响应针对目标控件组的第一指令,从为目标控件组配置的多个功能中,确定满足第一指令的目标功能;触发显示模块将目标控件组从第一状态切换至用于实现目标功能的第二状态,其中,目标控件组在不同状态下的控件布局不同。
进一步,如图11所示,该电子设备还包括:电源组件1105、音频组件1106等其它组件。图11中仅示意性给出部分组件,并不意味着电子设备只包括图11所示组件。
其中,通信组件1103被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
其中,显示组件1104包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。未屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
其中,电源组件1105,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的各个模块可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对本申请做出贡献的部分可以以计算机产品的形式体现出来,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (13)

1.一种数据凭证系统,其特征在于,所述系统包括本地计算终端、游戏服务器以及中心服务器,其中
所述本地计算终端,用于响应于数据凭证生成请求,将所述数据凭证生成请求中待生成的数据凭证序列号以及数据凭证数量发送给所述游戏服务器;基于接收到的数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证;其中,各个目标数据凭证由所在批次、校验码以及数据凭证编号组成,相同批次中各个目标数据凭证的数据凭证编号不重复;
所述游戏服务器,用于将接收到的数据凭证数量转发给所述中心服务器;将接收到的数据凭证序列号、批次以及各批次中的数据凭证数量转发给所述本地计算终端;
所述中心服务器,用于根据接收到数据凭证数量确定待生成的批次以及各批次中的数据凭证数量;将待生成的批次以及各批次中的数据凭证数量发送给所述游戏服务器。
2.根据权利要求1所述的系统,其特征在于,
所述游戏服务器,还用于随机生成各批次的批次标识,并将各批次的批次标识发送给所述本地计算终端;
所述本地计算终端生成各批次的目标数据凭证,具体用于:根据接收到的各批次中的数据凭证数量和批次标识,通过多个线程并列生成各批次中的校验码和数据凭证编号,得到各批次中的目标数据凭证;将各批次中的目标数据凭证组合为数据凭证文件。
3.根据权利要求1所述的系统,其特征在于,
所述游戏服务器,还用于接收用户输入的待验证数据凭证;判断所述待验证数据凭证的长度是否符合设定位数阈值;若所述长度符合设定位数阈值,则将通过长度验证的所述待验证数据凭证发送给所述中心服务器;
所述中心服务器,还用于对通过长度验证的所述待验证数据凭证进行解析,并判断所述解析结果是否与预先存储的数据凭证相匹配,其中,所述解析结果包括所述待验证数据凭证所在批次、校验码、以及数据凭证序号;若所述解析结果与预先存储的数据凭证相匹配,则将验证结果与所述待验证数据凭证的数据凭证序列号发送给所述游戏服务器;
所述游戏服务器,还用于根据接收到的验证结果与所述待验证数据凭证的数据凭证序列号,向用户发放对应的游戏资源。
4.根据权利要求3所述的系统,其特征在于,
所述游戏服务器,还用于根据接收到的所述待验证数据凭证的数据凭证序列号,验证所述待验证数据凭证对应的数据凭证配置参数;对于验证通过的所述待验证数据凭证,生成所述待验证数据凭证的使用请求;将所述使用请求发送给所述中心服务器;
所述中心服务器,还用于根据接收到的所述使用请求,将所述待验证数据凭证所在批次、数据凭证编号以及解析结果标识存储到已使用数据凭证列表中,以使所述待验证数据凭证标记为已使用的数据凭证。
5.一种数据凭证生成方法,其特征在于,包括:
获取待生成的数据凭证序列号以及数据凭证数量;
根据待生成的数据凭证数量确定待生成的批次以及各批次中的数据凭证数量;
基于数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证;
其中,各个目标数据凭证由所在批次、校验码以及数据凭证编号组成,相同批次中各个目标数据凭证的数据凭证编号不重复。
6.根据权利要求5所述的方法,其特征在于,所述基于数据凭证序列号、批次以及各批次中的数据凭证数量生成各批次的目标数据凭证,包括:
随机生成各批次的批次标识;
根据各批次中的数据凭证数量和批次标识,通过多个线程并列生成各批次中的校验码和数据凭证编号,得到各批次中的目标数据凭证;
将各批次中的目标数据凭证组合为数据凭证文件。
7.根据权利要求6所述的方法,其特征在于,所述根据各批次中的数据凭证数量和批次标识,通过多个线程并列生成各批次中的校验码和数据凭证编号,得到各批次中的目标数据凭证,包括:
对于任一批次待生成的数据凭证,基于当前批次中的数据凭证数量确定当前批次中各个数据凭证的初始编号,其中,相同批次中数据凭证的初始编号不重复;
将预设哈希质数与各个数据凭证的初始编号和当前批次标识之和相乘,得到当前批次中各个数据凭证的校验码;
将当前批次标识、各个数据凭证的初始编号以及校验码通过乱序放置策略进行编码,得到各个数据凭证的初始编码;
将各个数据凭证的初始编码进行加密,得到各个数据凭证的加密编码;
将各个数据凭证的加密编码转换为设定编码类型的数值编码,以得到当前批次中的各个目标数据凭证。
8.一种数据凭证验证方法,其特征在于,包括:
接收用户输入的待验证数据凭证;
判断所述待验证数据凭证的长度是否符合设定位数阈值;
若所述长度符合设定位数阈值,则对通过长度验证的所述待验证数据凭证进行解析,并判断所述解析结果是否与预先存储的数据凭证相匹配,其中,所述解析结果包括所述待验证数据凭证所在批次、校验码、以及数据凭证序号;
若所述解析结果与预先存储的数据凭证相匹配,则向用户发放对应的游戏资源。
9.根据权利要求8所述的方法,其特征在于,还包括:
所述待验证数据凭证所在批次、数据凭证编号以及解析结果标识存储到已使用数据凭证列表中,以使所述待验证数据凭证标记为已使用的数据凭证。
10.根据权利要求8所述的方法,其特征在于,所述对通过长度验证的所述待验证数据凭证进行解析,并判断所述解析结果是否与预先存储的数据凭证相匹配,包括:
获取与所述待验证数据凭证对应的数据凭证序号,所述数据凭证序号用于在服务器中查询预先存储的解密密钥、哈希质数、校验码;
基于设定编码类型对应的解码方式对所述待验证数据凭证进行解码,得到所述待验证数据凭证对应的初始解码值;
采用预先存储的加密密钥对初始解码值进行解密,得到所述待验证数据凭证对应的解密数组;
基于预先存储的哈希质数对解密数组进行计算,以得到所述待验证数据凭证对应的校验码;
若所述待验证数据凭证对应的校验码与预先存储的校验码一致,则从解密数组中获取批次标识和数据凭证编号;
判断解密数组中获取的批次标识和数据凭证编号是否与预先存储的批次标识和数据凭证编号相匹配。
11.根据权利要求10所述的方法,其特征在于,判断解密数组中获取的批次标识和数据凭证编号是否与预先存储的批次标识和数据凭证编号相匹配之后,还包括以下一种或多种验证方式:
判断解密数组对应的解析结果标识是否使用过;
判断解密数组中获取的批次标识是否已生成;
判断解密数组中获取的数据凭证编号是否超出当前批次范围。
12.一种电子设备,其特征在于,包括:存储器和处理器;
所述存储器用于存储一条或多条计算机指令;
所述处理器用于执行所述一条或多条计算机指令以用于:执行权利要求5-11任一项所述的方法中的步骤。
13.一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序被执行时能够实现权利要求5-11任一项所述的方法中的步骤。
CN202110735452.4A 2021-06-30 2021-06-30 数据凭证系统、方法、设备及介质 Active CN113318456B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110735452.4A CN113318456B (zh) 2021-06-30 2021-06-30 数据凭证系统、方法、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110735452.4A CN113318456B (zh) 2021-06-30 2021-06-30 数据凭证系统、方法、设备及介质

Publications (2)

Publication Number Publication Date
CN113318456A true CN113318456A (zh) 2021-08-31
CN113318456B CN113318456B (zh) 2024-04-02

Family

ID=77423527

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110735452.4A Active CN113318456B (zh) 2021-06-30 2021-06-30 数据凭证系统、方法、设备及介质

Country Status (1)

Country Link
CN (1) CN113318456B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6935957B1 (en) * 2001-05-14 2005-08-30 Barona Tribal Gaming Authority Method and system for wireless validation of gaming vouchers
CN103503037A (zh) * 2011-02-07 2014-01-08 科学游戏控股有限公司 用于参与多个游戏组件的方法和相关的彩票游戏卡/票券
CN107465728A (zh) * 2017-07-24 2017-12-12 湖南搜云网络科技股份有限公司 关于标识码的信息处理方法、中央服务器及存储介质
CN110738513A (zh) * 2019-09-11 2020-01-31 完美世界(北京)软件科技发展有限公司 一种用于生成、验证兑换码的方法和装置
CN111723360A (zh) * 2019-03-18 2020-09-29 北京京东尚科信息技术有限公司 凭证码处理方法、装置及存储介质
CN112202737A (zh) * 2020-09-15 2021-01-08 深圳市虎匠科技投资发展有限公司 一种用于基于区块链技术的工人技能评级方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6935957B1 (en) * 2001-05-14 2005-08-30 Barona Tribal Gaming Authority Method and system for wireless validation of gaming vouchers
CN103503037A (zh) * 2011-02-07 2014-01-08 科学游戏控股有限公司 用于参与多个游戏组件的方法和相关的彩票游戏卡/票券
CN107465728A (zh) * 2017-07-24 2017-12-12 湖南搜云网络科技股份有限公司 关于标识码的信息处理方法、中央服务器及存储介质
CN111723360A (zh) * 2019-03-18 2020-09-29 北京京东尚科信息技术有限公司 凭证码处理方法、装置及存储介质
CN110738513A (zh) * 2019-09-11 2020-01-31 完美世界(北京)软件科技发展有限公司 一种用于生成、验证兑换码的方法和装置
CN112202737A (zh) * 2020-09-15 2021-01-08 深圳市虎匠科技投资发展有限公司 一种用于基于区块链技术的工人技能评级方法

Also Published As

Publication number Publication date
CN113318456B (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
AU2021203184B2 (en) Transaction messaging
US20220116745A1 (en) Methods and systems for asset obfuscation
US11956230B2 (en) First factor contactless card authentication system and method
US9009484B2 (en) Method and system for securing communication
TWI526037B (zh) 用於交易鑑認之抽象化及隨機化單次使用密碼之方法及系統
CN117579281A (zh) 用于使用区块链的所有权验证的方法和系统
KR102291623B1 (ko) 온라인 신원의 분산 검증을 위한 시스템 및 방법
CN116670673A (zh) 从远程有限访问钱包转移加密货币
KR102055625B1 (ko) 인증 서버 장치, 프로그램 및 인증 방법
WO2019115393A1 (en) Method for authenticating a user based on an image relation rule and corresponding first user device, server and system
CN104935435A (zh) 登录方法、终端及应用服务器
KR20120087095A (ko) 실시간 패스워드를 생성하는 장치 및 방법 및 저장 매체
US20150074823A1 (en) Server, terminal and digital copyright management method
Rossudowski et al. A security privacy aware architecture and protocol for a single smart card used for multiple services
CN111212058A (zh) 一种手机验证码登录方法、装置及系统
CN113318456B (zh) 数据凭证系统、方法、设备及介质
KR102208082B1 (ko) 서버 장치, 정보관리 시스템, 정보관리 방법 및 컴퓨터 프로그램을 저장한 기록매체
KR102532655B1 (ko) 인터넷 사용 제한을 위한 스케줄링 규칙의 설정을 통해 전자 단말에 대한 인터넷 접속 관리를 수행할 수 있는 인터넷 접속 관리 서비스 서버 및 그 동작 방법
CN112580003B (zh) 一种基于bs架构的权限控制方法及服务器
KR102391952B1 (ko) 암호화 분산 처리 시스템, 장치 또는 이를 위한 방법
US11558371B2 (en) Authentication system(s) with multiple authentication modes using one-time passwords of increased security
CN116760585A (zh) 一种基于特征信息的信息验证方法、装置、服务器及介质
KR101679124B1 (ko) 2 팩터 또는 2 채널을 이용하는 패스워드 수신 방법 및 장치
CN117097552A (zh) 一种数据通信方法、装置、设备及介质
CN114666108A (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
GR01 Patent grant
GR01 Patent grant