CN112307443A - 产品激活方法、装置、系统、存储介质及计算设备 - Google Patents

产品激活方法、装置、系统、存储介质及计算设备 Download PDF

Info

Publication number
CN112307443A
CN112307443A CN202011585540.2A CN202011585540A CN112307443A CN 112307443 A CN112307443 A CN 112307443A CN 202011585540 A CN202011585540 A CN 202011585540A CN 112307443 A CN112307443 A CN 112307443A
Authority
CN
China
Prior art keywords
user
product
sequence code
activation
time
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
CN202011585540.2A
Other languages
English (en)
Other versions
CN112307443B (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.)
CHANJET INFORMATION TECHNOLOGY CO LTD
Original Assignee
CHANJET INFORMATION 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 CHANJET INFORMATION TECHNOLOGY CO LTD filed Critical CHANJET INFORMATION TECHNOLOGY CO LTD
Priority to CN202011585540.2A priority Critical patent/CN112307443B/zh
Publication of CN112307443A publication Critical patent/CN112307443A/zh
Application granted granted Critical
Publication of CN112307443B publication Critical patent/CN112307443B/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开一种产品激活方法、装置、系统、存储介质及计算设备,该方法可应用于服务器端或用户端,包括:应用于服务器端,该方法包括:接收用户端发起的激活请求,激活请求中包括用户通过交互接口输入的序列码,其中用户端被配置为:获取用户使用产品的次数,在用户首次产品时、以及在用户使用产品的次数达到预设的使用次数阈值时,发起激活请求;对序列码进行验证,在验证通过时生成对应于该序列码的有效时间;将有效时间打包于验证结果中,并发送给用户端,以使用户端可在有效时间内激活产品。本申请解决现有技术中产品激活安全性低的技术问题。

Description

产品激活方法、装置、系统、存储介质及计算设备
技术领域
本申请涉及数据安全技术领域,具体而言,涉及一种产品激活方法、装置、系统、存储介质及计算设备。
背景技术
软件产品或增值产品通常需要针对不同的用户做出不同的权限控制,其中产品激活便是一种控制手段。具体的控制手段为仅针对授权用户发出合法的激活序列码,使得相对应的产品仅提供给授权用户使用。然而,目前存在的包括激活功能的产品大部分是在线的一次性激活,即通过联网验证用户输入的激活序列码是否合法,在序列码合法的情况下完成产品激活,激活后用户可以断网长期使用。然而,这种激活方式用户在激活完成后,与激活相关的数据被存储于用户端本地的配置文件中,该配置文件易于被破解或者修改,使得产品权限控制形同虚设,无法保证产品的安全,给产品开发者造成财务损失和安全隐患。
针对上述现有技术中产品激活安全性低的技术问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种产品激活方法、装置、系统、存储介质及计算设备,以至少解决现有技术中产品激活安全性低的技术问题。
根据本申请实施例的一个方面,提供了一种产品激活方法,应用于服务器端,该方法包括:接收用户端发起的激活请求,激活请求中包括用户通过交互接口输入的序列码,其中用户端被配置为:获取用户使用产品的次数,在用户首次产品时、以及在用户使用产品的次数达到预设的使用次数阈值时,发起激活请求;对序列码进行验证,在验证通过时生成对应于该序列码的有效时间;将有效时间打包于验证结果中,并发送给用户端,以使用户端可在有效时间内激活产品。
根据本申请实施例的另一个方面,提供了一种产品激活方法,应用于用户端,该方法包括:接收用户通过交互接口输入的序列码,获取用户使用所述产品的次数,在用户首次所述产品时、以及在用户使用所述产品的次数达到预设的使用次数阈值时,发起包含所述序列码的激活请求;向服务器发送激活请求,以使服务器对序列码进行验证,并生成包含有效时间的验证结果;接收服务器返回的验证结果,当验证结果为验证通过时,在有效时间内使产品可激活。
根据本申请实施例的另一个方面,提供了一种产品激活装置,应用于服务器端,该装置包括:接收模块,用于接收用户端发起的激活请求,激活请求中包括用户通过交互接口输入的序列码,其中用户端被配置为:获取用户使用产品的次数,在用户首次产品时、以及在用户使用产品的次数达到预设的使用次数阈值时,发起激活请求;验证模块,用于对序列码进行验证,在验证通过时生成对应于该序列码的有效时间;发送模块,用于将有效时间打包于验证结果中,并发送给用户端,以使用户端可在有效时间内激活产品;所述装置还包括:获取模块,用于获取所述序列码对应的用户使用状态;生成模块,生成对应于所述用户使用状态的预设使用次数阈值,并将所述预设使用次数阈值打包于验证结果中,以更新所述用户端中存储的预设使用次数阈值。
根据本申请实施例的另一个方面,提供了一种产品激活装置,应用于用户端,该装置包括:交互模块,用于接收用户通过交互接口输入的序列码,获取用户使用所述产品的次数,在用户首次所述产品时、以及在用户使用所述产品的次数达到预设的使用次数阈值时,发起包含所述序列码的激活请求;激活模块,用于向服务器发送所述激活请求,以使服务器对所述序列码进行验证,并生成包含有效时间的验证结果;使能模块,用于接收所述服务器返回的验证结果,当所述验证结果为验证通过时,在所述有效时间内使所述产品可激活,其中服务器被配置为获取所述序列码对应的用户使用状态;生成对应于所述用户使用状态的预设使用次数阈值,并将所述预设使用次数阈值打包于验证结果中,以更新所述用户端中存储的预设使用次数阈值。
根据本申请实施例的另一个方面,提供了一种产品激活系统,包括服务器及用户端,其中,用户端接收用户通过交互接口输入的序列码,获取用户使用所述产品的次数,在用户首次所述产品时、以及在用户使用所述产品的次数达到预设的使用次数阈值时,发起包含所述序列码的激活请求,并通过通信接口向服务器发送激活请求;服务器接收用户端发起的激活请求,对激活请求中的序列码进行验证,在验证通过时生成对应于该序列码的有效时间,获取所述序列码对应的用户使用状态;生成对应于所述用户使用状态的预设使用次数阈值,并将所述预设使用次数阈值和所述有效时间打包于验证结果中发送给所述用户端,以更新所述用户端中存储的预设使用次数阈值;用户端接收服务器返回的验证结果,当验证结果为验证通过时,在有效时间内使产品可激活。
根据本申请实施例的另一个方面,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任一实施例所述的方法。
根据本申请实施例的另一个方面,提供了一种计算设备,包括处理器,处理器用于运行程序,其中,程序运行时执行上述任一实施例所述的方法。
在上述任一实施例的基础上,在将验证结果发送给所述用户端之前,所述方法还包括:获取所述序列码对应的用户使用状态;生成对应于所述用户使用状态的预设使用次数阈值,并将所述预设使用次数阈值打包于验证结果中,以更新所述用户端中存储的预设使用次数阈值。在上述任一实施例的基础上,服务器本地存储有配置文件,所述配置文件中记录有至少一个序列码及其对应的用户使用状态,所述用户使用状态包括:用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少一种,其中,在验证通过时生成对应于该序列码的有效时间包括:获取所述序列码对应的用户使用状态以及标准有效时间;判断用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少一种是否大于预设值;若是,生成对应于该序列码的第一有效时间,其中所述第一有效时间小于所述标准有效时间;若否,生成对应于该序列码的第二有效时间,其中所述第二有效时间大于所述标准有效时间。
在上述任一实施例的基础上,所述用户使用状态包括:用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少两种,其中,在验证通过时生成对应于该序列码的有效时间包括:获取所述序列码对应的用户使用状态以及标准有效时间;对用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少两种按照对应预设权值进行加权计算,得到用户使用总值;确定有效时间调整系数,其中所述有效时间调整系数与所述用户使用总值负相关;基于所述有效时间调整系数和所述标准有效时间,生成对应于所述序列码的有效时间。
在上述任一实施例的基础上,服务器本地存储有配置文件,配置文件中记录有至少一个序列码及其对应的产品信息,激活请求中还包括产品的产品标识,其中,对序列码进行验证包括:获取服务器本地配置文件;验证激活请求中的序列码是否存在于配置文件中;验证激活请求中的产品标识是否与配置文件中序列码对应的产品信息一致;当二者均为是时,序列码验证通过。
在上述任一实施例的基础上,服务器本地存储有配置文件,配置文件中记录有至少一个序列码及其对应的使用状态,其中,对序列码进行验证,在验证通过时生成对应于该序列码的有效时间包括;获取服务器本地配置文件;当判断出激活请求中的序列码存在于配置文件中时,读取序列码对应的使用状态;根据序列码的使用状态生成序列码的有效时间。
在上述任一实施例的基础上,序列码对应的使用状态至少包括待首次激活和待安全验证,其中根据序列码的使用状态生成序列码的有效时间包括:当序列码的使用状态为待首次激活时,生成序列码的第一有效时间,并将使用状态修改为待安全验证;当序列码的使用状态为待安全验证时,获取用户的使用状态,并根据用户的使用状态生成序列码的第二有效时间 。
在上述任一实施例的基础上,用户的使用状态包括用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少一种,根据用户的使用状态生成第二有效时间包括:当用户总激活次数大于设定值而用户错误激活次数小于设定值,或者用户错误激活比率小于设定值时,和/或用户使用产品的设备个数小于设定值,使得第二有效时间大于第一有效时间,当用户总激活次数小于设定值而用户错误激活次数大于设定值,或者用户错误激活比率大于设定值时,和/或用户使用产品的设备个数大于设定值,使得第二有效时间小于第一有效时间。
在上述任一实施例的基础上,序列码对应的使用状态至少包括待首次激活和待安全验证,服务器配置文件中还记录有至少一个序列码、其对应的使用次数、其对应的使用次数阈值以及其对应的有效时间。其中该方法还包括:服务器生成对应于该序列码的有效时间和使用次数阈值,并写入该配置文件中。
在上述任一实施例的基础上,生成对应于该序列码的有效时间和使用次数阈值包括:获取序列码对应的使用状态,当序列码的使用状态为待首次激活时,生成序列码的第一有效时间和第一使用次数阈值,并将使用状态修改为待安全验证;当序列码的使用状态为待安全验证时,获取用户的使用状态,并根据用户的使用状态生成序列码的第二有效时间和第二使用次数阈值。使用状态例如包括用户总激活次数、用户错误激活次数、用户使用产品的设备个数等,根据用户的使用状态生成第二有效时间和第二使用次数阈值包括:当用户总激活次数大于设定值而用户错误激活次数小于设定值,或者用户错误激活比率小于设定值时,和/或用户使用产品的设备个数小于设定值,使得第二有效时间和第二使用次数阈值大于第一有效时间和第一使用次数阈值;当用户总激活次数小于设定值而用户错误激活次数大于设定值,或者用户错误激活比率大于设定值时,和/或用户使用产品的设备个数大于设定值,使得第二有效时间和第二使用次数阈值小于第一有效时间和第一使用次数阈值。
在上述任一实施例的基础上,该方法还包括:当服务器判断出有效时间内用户使用该序列码对应的产品的次数达到使用次数阈值、或者到达该有效时间时,禁用该产品的激活状态,使得用户需要再次输入序列码以激活该产品。
在上述任一实施例的基础上,服务器本地存储有配置文件,配置文件中记录有至少一个预先生成的序列码,其中,序列码的生成步骤包括:随机获取第一数量的字母,存入第一变量中;获取产品的父级标识,取模处理后存入第二变量中;获取产品的分类标识 ,取模处理后存入第三变量中;通过随机函数获取第二数量的数字,存入第四变量中;使用连接符连接上述第一变量、第二变量、第三变量以及第四变量,得到序列码。
在上述任一实施例的基础上,该方法还包括:在序列码验证通过时,向用户端返回激活成功的信息,和/或在序列码验证未通过时,向用户端返回激活失败的信息以及对应的失败原因。
在上述任一实施例的基础上,用户端本地存储有配置文件,用于记录用户使用产品的次数以及使用次数阈值,其中用户端发起的激活请求包括:在用户使用产品时,累积用户使用产品的次数并写入配置文件;当用户使用产品的次数达到使用次数阈值时,初始化配置文件中用户使用产品的次数,并发起激活请求。
在本申请实施例中,通过用户端接收用户通过交互接口输入的序列码,获取用户使用所述产品的次数,在用户首次所述产品时、以及在用户使用所述产品的次数达到预设的使用次数阈值时,发起包含所述序列码的激活请求,并通过通信接口向服务器发送激活请求;服务器接收用户端发起的激活请求,对激活请求中的序列码进行验证,在验证通过时生成对应于该序列码的有效时间,并将有效时间打包于验证结果中发送给用户端;用户端接收服务器返回的验证结果,当验证结果为验证通过时,在有效时间内使产品可激活,实现了灵活控制产品激活过程的技术效果,进而解决了现有技术中产品激活安全性低的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于实现产品激活方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例的一种产品激活方法的流程图;
图3是根据本申请实施例的又一种产品激活方法的流程图;
图4是根据本申请实施例的另一种产品激活方法的流程图;
图5是根据本申请实施例的一种产品激活装置的结构示意图;
图6是根据本申请实施例的又一种产品激活装置的结构示意图;以及
图7是根据本申请实施例的一种产品激活系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本申请实施例,还提供了一种产品激活方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现产品激活方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的产品激活确定方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的产品激活方法方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处,需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
本申请在上述运行环境下运行如图2所示的一种产品激活方法。图2是根据本申请实施例的产品激活方法的流程图,该方法应用于服务器端,服务器可基于图1所述的计算机终端实现。
参见图2所示,产品激活方法可以包括:
步骤S202:接收用户端发起的激活请求,激活请求中包括用户通过交互接口输入的序列码,其中所述用户端被配置为:获取用户使用所述产品的次数,在用户首次登录使用所述产品时、以及在用户使用所述产品的次数达到预设的使用次数阈值时,发起所述激活请求;
在一种可选的方案中,交互接口例如用户交互界面即UI界面,其中提供了图形窗口和输入控件,以供用户输入序列码。交互接口又如命令行界面,无需提供窗口界面,用户只需输入相对应的命令和序列码即可。
在一种可选的方案中,产品例如可以是增值产品例如福袋,亦或是软件应用。当产品出售者或管理平台确认用户购买了该产品后,或者确认用户通过其他渠道取得该产品使用权限后,向用户发送服务器端生成的合法序列码。该序列码具有全局唯一性,任意两个序列码不会重复。
在一种可选的方案中,用户端指用户终端,例如用户使用的移动设备;或者,用户端指安装于计算机设备上的用户客户端,即软件应用。用户可以通过特定网络页面或者软件客户端进入激活界面,该界面至少包括供用户输入序列码的接口即可。本申请不限制用户端的范围,用户端只用于表示其与服务器端形成对应。
在一种可选的方案中,激活请求可以在用户点击交互接口中所提供的激活控件时触发,例如在首次激活时由用户的点击行为触发,或者,激活请求可以由用户使用该产品的次数触发,当用户端逻辑判断出用户使用该产品的次数超出阈值时,可以显示激活页面,以供用户输入序列码进行验证。
在一种可选的方案中,预设使用次数阈值可以为一个值,在累积使用次数达到该值时便发起激活请求,这种情况下每次激活成功即可清零该累积使用次数;或者,预设使用次数可以为多个值构成的序列,如10,18,26,34等,在用户累积使用的次数分别达到10次、18次、26次或34次时发起激活请求,此时则不同清零累积使用次数。
步骤S204:对序列码进行验证,在验证通过时生成对应于该序列码的有效时间;
在一种可选的方案中,当服务器接收到用户输入的序列码时,首先对该序列码进行权限验证,以验证该序列码是否为出售者或管理平台下发的合法序列码。如果判断为是则验证通过,随之可以获取该序列码对应的有效时间。有效时间对应于用户可使用该产品的时间期限,例如开始日期与结束日期。出售者或管理平台可赋予不同用户以不同的使用时间期限。
在一种可选的方案中,用户发起的激活请求中可包括用户终端标识、用户标识、用户网络标识、产品类型标识、产品版本标识中的至少一种或多种的组合。对应的,服务器端存储了用户终端标识、用户标识、用户网络标识、产品类型标识、产品版本标识中的至少一种或多种的组合与发放给该用户的序列码的对应关系。该对应关系可以存储于数据库中,例如以Key-Value键值对的形式存储,也可存储于服务器配置文件中。此处需要说明的时,该数据库可以存储于该服务器中,也可以独立于该服务器存储。
在一种可选的方案中,对该序列码进行验证的步骤除了验证序列码是否合法之外,还可对应包括验证该用户终端标识、用户标识、用户网络标识、产品类型标识、产品版本标识与序列码的对应关系。该手段不仅验证了序列码的合法性,还验证了序列码与用户的对应性,避免序列码盗用的情况。在另一种具体实施方式中,序列码可以对应于多个用户终端标识、用户标识、用户网络标识、产品类型标识、产品版本标识中的至少一种,可以利于用户在多个终端上或使用该产品的多个版本,而不会对用户使用造成过多限制。
步骤S206:将有效时间打包于验证结果中,并发送给用户端,以使用户端可在有效时间内激活产品。
在一种可选的方案中,有效时间可以是常规使用的日期时间,例如*年*月*日*时*分,用户可以在该指定的时间之前激活使用该产品。有效时间还可以是指定的时间段,例如*个小时,从用户激活开始计时,直至累计使用时长达到该时间段;还可以从用户开始激活并使用该产品开始计时,不使用时停止计时,直至用户真实使用该产品的时长达到该时间段。当到达该有效时间后该序列码失效,用户将无法继续使用该产品,用户端触发激活流程,例如显示激活页面,以供用户输入序列码进行验证。
在本申请实施例中,通过用户端接收用户通过交互接口输入的序列码,生成包含序列码的激活请求,并通过通信接口向服务器发送激活请求;服务器接收用户端发起的激活请求,对激活请求中的序列码进行验证,在验证通过时生成对应于该序列码的有效时间,并将有效时间打包于验证结果中发送给用户端;用户端接收服务器返回的验证结果,当验证结果为验证通过时,在有效时间内使产品可激活,实现了灵活控制产品激活过程的技术效果,进而解决了现有技术中产品激活安全性低的技术问题的技术问题。
在一种具体实施方式中,例如,客户购买福袋应用后获得对应序列码,序列码同时记录在后端数据库,客户在激活入口输入序列码后,后端获取到序列码,先验证序列码是否存在后端库、并验证序列码的合法性,验证合法时记录应用的过期时间并返回给客户。该方案中用户激活福袋应用简单、快速,一次联网激活,可以保证产品安全;使用激活后的福袋应用可保证产品的正版、功能安全,可提高用户工作效率,也可获得更好的客户体验、售后服务等。
可选地,用户端本地存储有配置文件,例如用户激活记录表,用于记录用户使用序列码激活对应产品的情况,包括如下至少一个配置项;用户激活产品的时间、用户使用产品的次数、使用产品次数阈值、加密后的序列码。在用户首次激活产品之前,配置文件中的上述配置项被设置为默认值,当用户完成首次激活、且接收到包含有效时间的验证结果时,可根据验证结果修改上述配置项,具体修改过程可以包括:
SA:将用户激活产品的时间这一配置项修改为用户接收到验证结果的时间、或者是用户端发出激活请求的时间。
SB:在用户完成首次激活之后、下一次安全验证之前,累积用户使用该产品的次数,例如,每次用户登陆使用该产品,就将该用户使用产品的次数这一配置项按序加一。
SC:将使用产品次数阈值这一配置项修改为预设的使用次数阈值。
在一种可选实施方式中,预设的使用次数阈值可以为固定值。用户端在接收到验证结果后,将该固定值写入配置文件中使用产品次数阈值这一配置项。在用户端发起激活请求之前,用户端执行的方法还包括:在用户登录使用该产品时,获取用户使用产品的次数;当用户使用产品的次数达到使用产品次数阈值时,发起激活请求。上述方法通过在用户本地创建用户激活记录表,并在每次激活或者验证时更新用户激活记录表中的数据,其中,可以通过在用户本地写入固定次数,当用户使用相关产品达到首次写入的次数时,在客户端触发验证激活流程。通过上述方法,可以实现一次激活、定期验证的技术效果。
在另一种可选实施方式中,预设的使用次数阈值根据用户情况变化,例如服务器根据该激活请求生成对应的使用次数阈值,随后在验证通过后,将使用次数阈值打包于验证结果中,并发送给用户端,以使用户端修改配置文件中激活产品次数阈值这一配置项。上述方法通过在用户本地创建用户激活记录表,并在每次激活或者验证时更新用户激活记录表中的数据,其中,从读取服务器端返回的验证结果中读取使用次数阈值写入本地,当用户使用相关产品达到首次写入的次数时,在客户端触发验证激活流程。上述方法不仅实现了一次激活、定期验证的技术效果,同时由服务器设置使用次数阈值,可以避免破解用户端本地配置文件而带来的安全隐患。
SD:将加密后的序列码这一配置项修改为通过验证的、经加密的序列码。
在上述任一实施例的基础上,在将验证结果发送给所述用户端之前,所述方法还包括:
获取所述序列码对应的用户使用状态;
生成对应于所述用户使用状态的预设使用次数阈值,并将所述预设使用次数阈值打包于验证结果中,以更新所述用户端中存储的预设使用次数阈值。
在上述实施例中,用户使用状态例如包括:用户总激活次数、用户错误激活次数、用户使用产品的设备个数、用户使用次数、用户信用评级中的至少一种。通过根据用户使用状态来动态生成预设使用次数阈值,使得针对状态稳定、信用优质的用户,增加对应的预设使用次数阈值,减少其激活验证的次数,在保证产品安全性的同时可以提高用户体验,而针对存在安全隐患的用户或低信用用户,减少其对应的预设使用次数阈值,从而增加了该用户使用过程中激活验证的次数,进一步提高了产品的安全性。
其中,生成对应于所述用户使用状态的预设使用次数阈值包括:确定预设使用次数阈值与用户使用状态的相关性类别系数(如高相关类别系数a、中相关类别系数b、低相关类别系数c,其中a>b>c),确定预设使用次数阈值与用户使用状态的相关性系数(如正相关系数m,负相关系数n,其中m>n),基于相关性类别系数和相关性系数确定预设使用次数阈值。
例如,预设使用次数阈值与用户总激活次数低相关,可设置为正相关,也可设置为负相关,记c*m或c*n;
例如,预设使用次数阈值与用户错误激活次数高相关、且负相关,记a*n;
例如,预设使用次数阈值与用户使用产品的设备个数中相关,且负相关,记b*n;
例如,预设使用次数阈值与用户使用次数低相关,可设置为正相关,也可设置为负相关,记c*m或c*n;
例如,预设使用次数阈值与用户信用评级高相关、且负相关,记a*n。
以用户使用状态包括以上所有为例,可确定预设使用次数阈值为:2c*m+2a*n+b*n。
上述实施例不仅实现动态调整了用户端使用的预设使用次数阈值,且能够基于用户使用状态进行针对性的、个性化的调整,使得每一用户的预设使用次数阈值均不相同。还可在服务器端记录用户使用产品的次数和预设使用次数阈值,对用户端发出激活请求的情况进行校验,避免用户端的篡改。
在上述任一实施例的基础上,服务器本地存储有配置文件,所述配置文件中记录有至少一个序列码及其对应的用户使用状态,所述用户使用状态包括:用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少一种,其中,在验证通过时生成对应于该序列码的有效时间包括:获取所述序列码对应的用户使用状态以及标准有效时间;判断用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少一种是否大于预设值;若是,生成对应于该序列码的第一有效时间,其中所述第一有效时间小于所述标准有效时间;若否,生成对应于该序列码的第二有效时间,其中所述第二有效时间大于所述标准有效时间。
在上述任一实施例的基础上,所述用户使用状态包括:用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少两种,其中,在验证通过时生成对应于该序列码的有效时间包括:获取所述序列码对应的用户使用状态以及标准有效时间;对用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少两种按照对应预设权值进行加权计算,得到用户使用总值;确定有效时间调整系数,其中所述有效时间调整系数与所述用户使用总值负相关;基于所述有效时间调整系数和所述标准有效时间,生成对应于所述序列码的有效时间。
例如;用户总激活次数p1对应权值q1、用户错误激活次数p2对应权值q2、用户使用产品的设备个数p3对应权值q3,用户使用总值为:p1*q1+ p2*q2+p3*q3。上述实施例中仍然需要在客户端创建本地文件,虽然该文件不用于验证序列码,而仅用于记录用户激活次数以触发验证流程,但是仍然存在被破解、无法定期安全验证的风险,为解决上述问题,本申请还提供一种将配置文件创建于服务器中的实施例,具体方案如下所述。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个序列码,步骤S204:对序列码进行验证包括:获取服务器本地配置文件;验证激活请求中的序列码是否存在于配置文件中;若是,序列码验证通过。可选地,服务器本地存储有配置文件,该配置文件中记录有至少一个序列码、其对应的使用次数、其对应的使用次数阈值以及其对应的有效时间。服务器端具体的执行流程包括:
SE:服务器端在用户使用序列码首次激活该产品、且序列码验证通过后,生成序列码对应的第一有效时间和第一使用次数阈值,并分别写入该配置文件中。
SF:服务器将第一有效时间打包在验证结果中发送给用户端,使得用户端可以在第一有效时间内维持产品的激活状态,此时用户可以不用输入激活码而直接使用该产品。
SG:服务器在用户每次使用该序列码对应的产品时,修改配置文件中该序列码对应的使用次数,例如将对应的使用次数这一配置项按序加一。
SH:当服务器判断出第一有效时间内用户使用该序列码对应的产品的次数达到第一使用次数阈值、或者到达该第一有效时间时,禁用该产品的激活状态,使得用户需要再次输入序列码以激活该产品。
SI:当服务器禁用产品的激活状态后,在用户端重新显示激活页面,以供用户再次输入序列码进行验证。此时服务器接收用户输入的序列码并继续验证,在序列码验证通过后,生成序列码对应的第二有效时间和第二使用次数阈值,并分别写入该配置文件中,循环执行SF-SH步骤。其中,第二有效时间和第二使用次数阈值可以分别与第一有效时间和第一使用次数阈值相同,也可以不同。例如,服务器获取用户的使用状态,使用状态例如包括用户总激活次数、用户错误激活次数、用户使用产品的设备个数等,根据用户的使用状态生成第二有效时间和第二使用次数阈值,例如当用户总激活次数大于设定值而用户错误激活次数小于设定值,或者用户错误激活比率小于设定值时,和/或用户使用产品的设备个数小于设定值,使得第二有效时间和第二使用次数阈值大于第一有效时间和第一使用次数阈值,反之亦然。如此,可以对用户进行类似信用评级,针对优质用户,动态延长有效时间和使用次数阈值,提升用户体验。
通过上述手段,在服务器端创建配置文件,并在服务器端记录用户激活、使用该产品的情况,由服务器控制产品的激活状态,避免用户端本地配置文件被破解的风险,提高了产品激活的控制效率和安全性。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个序列码及其对应的产品信息,激活请求中还包括产品的产品标识,其中,步骤S204:对序列码进行验证包括:
步骤S2041:获取服务器本地配置文件;
步骤S2043:验证激活请求中的序列码是否存在于配置文件中;
步骤S2045:验证激活请求中的产品标识是否与配置文件中序列码对应的产品信息一致;
步骤S2047:当二者均为是时,序列码验证通过。
在一种可选的方案中,配置文件可以以文本方式存储,也可以数据库形式存储。配置文件中存储了多个预先生成的合法序列码,以及每个序列码对应的产品信息。产品信息可以是产品类型标识,产品版本标识,产品id,或者产品序列号等等,只要能用于识别对应的产品即可。通过该手段,可以确保序列码及其对应产品的一致性,一方面可保证产品安全,另一方面也可避免用户使用不匹配产品误激活。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个序列码及其对应的使用状态,其中,步骤S204:对序列码进行验证,在验证通过时生成对应于该序列码的有效时间包括;
步骤S2042:获取服务器本地配置文件;
步骤S2044:当判断出激活请求中的序列码存在于配置文件中时,读取序列码对应的使用状态;
步骤S2046:根据序列码的使用状态生成序列码的有效时间。
在一种可选的方案中,配置文件可以以文本方式存储,也可以数据库形式存储。配置文件中存储了多个预先生成的合法序列码,以及每个序列码对应的使用状态,例如未使用状态或待首次激活状态,已激活状态或待安全验证状态。在验证序列码的合法性之后,或者在验证了序列码对应产品的一致性之后,服务器根据使用状态判断该序列码是待首次激活还是待安全验证,待首次激活时,生成并记录产品的第一有效时间并返回给用户端,待安全验证时,生成并记录产品的第二有效时间并返回给用户端。第一有效时间和第二有效时间一方面可以在用户端提示用户使用期限,避免用户忘记具体使用时间,另一方面还可以在服务器端控制产品的激活有效期,使得在到达第一有效时间或第二有效时间后禁用产品的激活状态。同时,用户端接收到打包有有效时间的验证结果后,可以修改其本地配置文件,例如用户激活记录表,包括如下至少一个配置项;用户激活产品的时间、用户激活产品的次数、激活产品次数阈值、加密后的序列码。在用户首次激活产品之前,配置文件中的上述配置项被设置为默认值,当用户完成首次激活/验证激活、且接收到包含有效时间的验证结果时,可根据验证结果修改上述配置项,具体修改过程可以参考上述步骤SA-SD,囿于篇幅不再赘述。其中,第二有效时间与第一有效时间可以相同,也可以不同。例如,服务器获取用户的使用状态,使用状态例如包括用户总激活次数、用户错误激活次数、用户使用产品的设备个数等,根据用户的使用状态生成第二有效时间,例如当用户总激活次数大于设定值而用户错误激活次数小于设定值,或者用户错误激活比率小于设定值时,和/或用户使用产品的设备个数小于设定值,使得第二有效时间大于第一有效时间,反之亦然。如此,可以对用户进行类似信用评级,针对优质用户,动态延长有效时间,提升用户体验。
可选地,使用状态至少包括待首次激活和待安全验证,其中根据序列码的使用状态生成序列码的有效时间包括:
当序列码的使用状态为待首次激活时,生成序列码的第一有效时间,并将使用状态修改为待安全验证;
当序列码的使用状态为待安全验证时,获取用户的使用状态,并根据用户的使用状态生成序列码的第二有效时间。
可选地,使用状态包括用户总激活次数、用户错误激活次数、用户使用产品的设备个数,根据用户的使用状态生成第二有效时间包括:当用户总激活次数大于设定值而用户错误激活次数小于设定值,或者用户错误激活比率小于设定值时,和/或用户使用产品的设备个数小于设定值,使得第二有效时间大于第一有效时间,当用户总激活次数小于设定值而用户错误激活次数大于设定值,或者用户错误激活比率大于设定值时,和/或用户使用产品的设备个数大于设定值,使得第二有效时间小于第一有效时间。如此,可以对用户进行类似信用评级,针对优质用户,动态延长有效时间,提升用户体验。
可选地,序列码对应的使用状态至少包括待首次激活和待安全验证,服务器本地存储有配置文件,该配置文件中记录有至少一个序列码、其对应的使用次数、其对应的使用次数阈值以及其对应的有效时间。
其中该方法还包括:服务器生成对应于该序列码的有效时间和使用次数阈值,并写入该配置文件中,具体包括:
获取序列码对应的使用状态,当序列码的使用状态为待首次激活时,生成序列码的第一有效时间和第一使用次数阈值,并将使用状态修改为待安全验证;
当序列码的使用状态为待安全验证时,获取用户的使用状态,并根据用户的使用状态生成序列码的第二有效时间和第二使用次数阈值。使用状态例如包括用户总激活次数、用户错误激活次数、用户使用产品的设备个数等,根据用户的使用状态生成第二有效时间和第二使用次数阈值包括:当用户总激活次数大于设定值而用户错误激活次数小于设定值,或者用户错误激活比率小于设定值时,和/或用户使用产品的设备个数小于设定值,使得第二有效时间和第二使用次数阈值大于第一有效时间和第一使用次数阈值;当用户总激活次数小于设定值而用户错误激活次数大于设定值,或者用户错误激活比率大于设定值时,和/或用户使用产品的设备个数大于设定值,使得第二有效时间和第二使用次数阈值小于第一有效时间和第一使用次数阈值。此时服务器端执行的具体流程可以参考上述步骤SE-SI,囿于篇幅不再赘述。
在上述任一实施例的基础上,该方法还包括:当服务器判断出有效时间内用户使用该序列码对应的产品的次数达到使用次数阈值、或者到达该有效时间时,禁用该产品的激活状态,使得用户需要再次输入序列码以激活该产品。
首次激活与安全验证的区别在于,首次激活会修改序列码的基础数据信息,包括序列码状态、序列码有效期,同时用户激活记录表插入数据,用户本地新建激活文件用来识别唯一性;安全验证是在激活的基础上进行用户合法性的验证,重点是验证,会根据用户输入或带入的相关信息,查询序列码表、激活记录表来判断用户是否已经激活、是否在有效期等验证;服务器处理流程在于用户存在激活记录即为验证、不存在为激活。
在完成首次激活后,服务器可以修改被使用序列码的状态,由未使用、未激活状态改为已使用、已激活,在该序列码的鉴权字段上增加开始日期与结束日期,保证序列码的有效时限;同时在用户激活记录表中增加一条该用户使用本序列码激活对应产品的记录;在用户电脑本地写一个激活文件,文件中包括激活的信息以及唯一的通过加密的激活码,用于后期验证用户是否有效等;最后返回激活成功。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个预先生成的序列码,其中,序列码的生成步骤包括:随机获取第一数量的字母,存入第一变量中;获取产品的父级标识,取模处理后存入第二变量中;获取产品的分类标识,取模处理后存入第三变量中;通过随机函数获取第二数量的数字,存入第四变量中;使用连接符连接上述第一变量、第二变量、第三变量以及第四变量,得到序列码。
上述步骤用以降低序列码被破解的风险,通过在生成序列码中逻辑中加入多个校验参数,例如产品的id,分类id以及分类id的父级id添加进去,再加入其它验证值,使得激活码校验出现多个维度、多个方面来处理,提高安全度,降低风险。
在一种可选的方案中,生成序列码方法具体可以为:
1)通过PHP的for循环方法随机获取4个大写字母,存入变量中$letter;
2)根据增值产品的所属父级id取模10生成产品模数,存入变量$product_mode;
3)通过产品的分类id取模10生成分类模数,存入$cate_mode;
4)通过PHP函数str_pad()、mt_rand()函数随机取10位数字,不足十位使用0补位,存入变量$rand;
5)最后使用PHP中“.”连接上述字符串,拼接成为无序序列码。
该方法对应的具体代码为:
//序列码生成方法
Public function testcode($product)
{
//随机大写字母
$letter = ””;
For ($i=1; $i<=4; $i++){
$letter=letter.chr(rand(65,90));
}
//随机大写字母
$product_mode=($product[‘partner_id’]%10);
$cate_mode=($product[‘cate_id’]%10);
$rand=str_pad(
mt_rand(0,99999999), pad_length:10, pad_string:’0’, pad_type:STR_PAD_LEFT
);
Return $product_mode . $cate_mode . $rand . $letter;
}
在一种可选的方案中,本功能采用主流的PHP开发技术,结合Redis、MySql等数据库存储服务,使用高可用的代码逻辑,为客户使用产品提供强有力的技术支持,用户激活福袋应用简单、快速,一次联网激活、定期激活验证,保证客户的易用性,人性化设计可多电脑激活,避免用户人为原因导致的激活与使用平台不一致后不能使用问题;序列码的生成采用特定逻辑生成唯一可识别的不重复序列码,可激活指定福袋应用。
可选地,该方法还包括:在序列码验证通过时,向用户端返回激活成功的信息,和/或在序列码验证未通过时,向用户端返回激活失败的信息以及对应的失败原因。
在上述任一实施例的基础上,用户端本地存储有配置文件,用于记录用户使用产品的次数以及使用次数阈值,其中用户端发起的激活请求包括:在用户使用产品时,累积用户使用产品的次数并写入配置文件;当用户使用产品的次数达到使用次数阈值时,初始化配置文件中用户使用产品的次数,并发起激活请求。
用户端本地配置文件例如用户激活记录表,用于记录用户使用序列码激活对应产品的情况,包括如下至少一个配置项;用户激活产品的时间、用户激活产品的次数、激活产品次数阈值、加密后的序列码。在用户首次激活产品之前,配置文件中的上述配置项被设置为默认值,当用户完成首次激活、且接收到包含有效时间的验证结果时,可根据验证结果修改上述配置项,具体修改过程可以包括:
SA:将用户激活产品的时间这一配置项修改为用户接收到验证结果的时间、或者是用户端发出激活请求的时间。
SB:在用户完成首次激活之后、下一次安全验证之前,累积用户使用该产品的次数,例如,每次用户激活使用该产品,就将该用户激活产品的次数这一配置项按序加一。
SC:将激活产品次数阈值这一配置项修改为预设的使用次数阈值。
在一种可选实施方式中,预设的使用次数阈值可以为固定值。用户端在接收到验证结果后,将该固定值写入配置文件中激活产品次数阈值这一配置项。在用户端发起激活请求之前,用户端执行的方法还包括:在用户登录使用该产品时,获取用户激活产品的次数;当用户激活产品的次数达到激活产品次数阈值时,发起激活请求。上述方法通过在用户本地创建用户激活记录表,并在每次激活或者验证时更新用户激活记录表中的数据,其中,可以通过在用户本地写入固定次数,当用户使用相关产品达到首次写入的次数时,在客户端触发验证激活流程。通过上述方法,可以实现一次激活、定期验证的技术效果。
在另一种可选实施方式中,预设的使用次数阈值根据用户情况变化,例如服务器根据该激活请求生成对应的使用次数阈值,随后在验证通过后,将使用次数阈值打包于验证结果中,并发送给用户端,以使用户端修改配置文件中激活产品次数阈值这一配置项。上述方法通过在用户本地创建用户激活记录表,并在每次激活或者验证时更新用户激活记录表中的数据,其中,从读取服务器端返回的验证结果中读取使用次数阈值写入本地,当用户使用相关产品达到首次写入的次数时,在客户端触发验证激活流程。上述方法不仅实现了一次激活、定期验证的技术效果,同时由服务器设置使用次数阈值,可以避免破解用户端本地配置文件而带来的安全隐患。
SD:将加密后的序列码这一配置项修改为通过验证的、经加密的序列码。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的产品激活方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
实施例2
根据本申请实施例,还提供了一种产品激活方法实施例,其中,图3示出了产品激活方法的流程图,该方法应用于用户端,其中用户端可基于图1所述的计算机终端实现。
参见图3所示,该方法包括:
步骤S302:接收用户通过交互接口输入的序列码,获取用户使用所述产品的次数,在用户首次所述产品时、以及在用户使用所述产品的次数达到预设的使用次数阈值时,发起包含所述序列码的激活请求;
在一种可选的方案中,交互接口例如用户交互界面即UI界面,其中提供了图形窗口和输入控件,以供用户输入序列码。交互接口又如命令行界面,无需提供窗口界面,用户只需输入相对应的命令和序列码即可。
在一种可选的方案中,产品例如可以是增值产品例如福袋,亦或是软件应用。当产品出售者或管理平台确认用户购买了该产品后,或者确认用户通过其他渠道取得该产品使用权限后,向用户发送服务器端生成的合法序列码。该序列码具有全局唯一性,任意两个序列码不会重复。
在一种可选的方案中,用户端指用户终端,例如用户使用的移动设备;或者,用户端指安装于计算机设备上的用户客户端,即软件应用。用户可以通过特定网络页面或者软件客户端进入激活界面,该界面至少包括供用户输入序列码的接口即可。本申请不限制用户端的范围,用户端只用于表示其与服务器端形成对应。
在一种可选的方案中,激活请求可以在用户点击交互接口中所提供的激活控件时触发,例如在首次激活时由用户的点击行为触发,或者,激活请求可以由用户使用该产品的次数触发,当用户端逻辑判断出用户使用该产品的次数超出阈值时,可以显示激活页面,以供用户输入序列码进行验证。
步骤S304:向服务器发送激活请求,以使服务器对序列码进行验证,并生成包含有效时间的验证结果,其中服务器被配置为获取所述序列码对应的用户使用状态;生成对应于所述用户使用状态的预设使用次数阈值,并将所述预设使用次数阈值打包于验证结果中,以更新所述用户端中存储的预设使用次数阈值;
在一种可选的方案中,当服务器接收到用户输入的序列码时,首先对该序列码进行权限验证,以验证该序列码是否为出售者或管理平台下发的合法序列码。如果判断为是则验证通过,随之可以获取该序列码对应的有效时间。有效时间对应于用户可使用该产品的时间期限。出售者或管理平台可赋予不同用户以不同的使用时间期限。
在一种可选的方案中,用户发起的激活请求中可包括用户终端标识、用户标识、用户网络标识、产品类型标识、产品版本标识中的至少一种或多种的组合。对应的,服务器端存储了用户终端标识、用户标识、用户网络标识、产品类型标识、产品版本标识中的至少一种或多种的组合与发放给该用户的序列码的对应关系。该对应关系可以存储于数据库中,例如以Key-Value键值对的形式存储,也可存储于服务器配置文件中。此处需要说明的时,该数据库可以存储于该服务器中,也可以独立于该服务器存储。
在一种可选的方案中,对该序列码进行验证的步骤除了验证序列码是否合法之外,还可对应包括验证该用户终端标识、用户标识、用户网络标识、产品类型标识、产品版本标识与序列码的对应关系。该手段不仅验证了序列码的合法性,还验证了序列码与用户的对应性,避免序列码盗用的情况。在另一种具体实施方式中,序列码可以对应于多个用户终端标识、用户标识、用户网络标识、产品类型标识、产品版本标识中的至少一种,可以利于用户在多个终端上或使用该产品的多个版本,而不会对用户使用造成过多限制。
步骤S306:接收服务器返回的验证结果,当验证结果为验证通过时,在有效时间内使产品可激活。
在一种可选的方案中,有效时间可以是常规使用的日期时间,例如*年*月*日*时*分,用户可以在该指定的时间之前激活使用该产品。有效时间还可以是指定的时间段,例如*个小时,从用户激活开始计时,直至累计使用时长达到该时间段;还可以从用户开始激活并使用该产品开始计时,不使用时停止计时,直至用户真实使用该产品的时长达到该时间段。
在本申请实施例中,通过用户端接收用户通过交互接口输入的序列码,生成包含序列码的激活请求,并通过通信接口向服务器发送激活请求;服务器接收用户端发起的激活请求,对激活请求中的序列码进行验证,在验证通过时生成对应于该序列码的有效时间,并将有效时间打包于验证结果中发送给用户端;用户端接收服务器返回的验证结果,当验证结果为验证通过时,在有效时间内使产品可激活,实现了灵活控制产品激活过程的技术效果,进而解决了现有技术中产品激活安全性低的技术问题的技术问题。
在上述任一实施例的基础上,用户端本地存储有配置文件,用于记录用户使用产品的次数以及使用次数阈值,其中用户端发起的激活请求包括:在用户使用产品时,累积用户使用产品的次数并写入配置文件;当用户使用产品的次数达到使用次数阈值时,初始化配置文件中用户使用产品的次数,并发起激活请求。
可选地,用户端本地存储有配置文件,例如用户激活记录表,用于记录用户使用序列码激活对应产品的情况,包括如下至少一个配置项;用户激活产品的时间、用户使用产品的次数、使用产品次数阈值、加密后的序列码。在用户首次激活产品之前,配置文件中的上述配置项被设置为默认值,当用户完成首次激活、且接收到包含有效时间的验证结果时,可根据验证结果修改上述配置项,具体修改过程可以包括:
SA:将用户激活产品的时间这一配置项修改为用户接收到验证结果的时间、或者是用户端发出激活请求的时间。
SB:在用户完成首次激活之后、下一次安全验证之前,累积用户使用该产品的次数,例如,每次用户登陆使用该产品,就将该用户使用产品的次数这一配置项按序加一。
SC:将使用产品次数阈值这一配置项修改为预设的使用次数阈值。
在一种可选实施方式中,预设的使用次数阈值可以为固定值。用户端在接收到验证结果后,将该固定值写入配置文件中使用产品次数阈值这一配置项。在用户端发起激活请求之前,用户端执行的方法还包括:在用户登录使用该产品时,获取用户使用产品的次数;当用户使用产品的次数达到使用产品次数阈值时,发起激活请求。上述方法通过在用户本地创建用户激活记录表,并在每次激活或者验证时更新用户激活记录表中的数据,其中,可以通过在用户本地写入固定次数,当用户使用相关产品达到首次写入的次数时,在客户端触发验证激活流程。通过上述方法,可以实现一次激活、定期验证的技术效果。
在另一种可选实施方式中,预设的使用次数阈值根据用户情况变化,例如服务器根据该激活请求生成对应的使用次数阈值,随后在验证通过后,将使用次数阈值打包于验证结果中,并发送给用户端,以使用户端修改配置文件中激活产品次数阈值这一配置项。上述方法通过在用户本地创建用户激活记录表,并在每次激活或者验证时更新用户激活记录表中的数据,其中,从读取服务器端返回的验证结果中读取使用次数阈值写入本地,当用户使用相关产品达到首次写入的次数时,在客户端触发验证激活流程。上述方法不仅实现了一次激活、定期验证的技术效果,同时由服务器设置使用次数阈值,可以避免破解用户端本地配置文件而带来的安全隐患。
SD:将加密后的序列码这一配置项修改为通过验证的、经加密的序列码。
在上述任一实施例的基础上,在将验证结果发送给所述用户端之前,所述方法还包括:
获取所述序列码对应的用户使用状态;
生成对应于所述用户使用状态的预设使用次数阈值,并将所述预设使用次数阈值打包于验证结果中,以更新所述用户端中存储的预设使用次数阈值。
在上述实施例中,用户使用状态例如包括:用户总激活次数、用户错误激活次数、用户使用产品的设备个数、用户使用次数、用户信用评级中的至少一种。通过根据用户使用状态来动态生成预设使用次数阈值,使得针对状态稳定、信用优质的用户,增加对应的预设使用次数阈值,减少其激活验证的次数,在保证产品安全性的同时可以提高用户体验,而针对存在安全隐患的用户或低信用用户,减少其对应的预设使用次数阈值,从而增加了该用户使用过程中激活验证的次数,进一步提高了产品的安全性。
其中,生成对应于所述用户使用状态的预设使用次数阈值包括:确定预设使用次数阈值与用户使用状态的相关性类别系数(如高相关类别系数a、中相关类别系数b、低相关类别系数c,其中a>b>c),确定预设使用次数阈值与用户使用状态的相关性系数(如正相关系数m,负相关系数n,其中m>n),基于相关性类别系数和相关性系数确定预设使用次数阈值。
例如,预设使用次数阈值与用户总激活次数低相关,可设置为正相关,也可设置为负相关,记c*m或c*n;
例如,预设使用次数阈值与用户错误激活次数高相关、且负相关,记a*n;
例如,预设使用次数阈值与用户使用产品的设备个数中相关,且负相关,记b*n;
例如,预设使用次数阈值与用户使用次数低相关,可设置为正相关,也可设置为负相关,记c*m或c*n;
例如,预设使用次数阈值与用户信用评级高相关、且负相关,记a*n。
以用户使用状态包括以上所有为例,可确定预设使用次数阈值为:2c*m+2a*n+b*n。
上述实施例不仅实现动态调整了用户端使用的预设使用次数阈值,且能够基于用户使用状态进行针对性的、个性化的调整,使得每一用户的预设使用次数阈值均不相同。还可在服务器端记录用户使用产品的次数和预设使用次数阈值,对用户端发出激活请求的情况进行校验,避免用户端的篡改。
在上述任一实施例的基础上,服务器本地存储有配置文件,所述配置文件中记录有至少一个序列码及其对应的用户使用状态,所述用户使用状态包括:用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少一种,其中,在验证通过时生成对应于该序列码的有效时间包括:获取所述序列码对应的用户使用状态以及标准有效时间;判断用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少一种是否大于预设值;若是,生成对应于该序列码的第一有效时间,其中所述第一有效时间小于所述标准有效时间;若否,生成对应于该序列码的第二有效时间,其中所述第二有效时间大于所述标准有效时间。
在上述任一实施例的基础上,所述用户使用状态包括:用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少两种,其中,在验证通过时生成对应于该序列码的有效时间包括:获取所述序列码对应的用户使用状态以及标准有效时间;对用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少两种按照对应预设权值进行加权计算,得到用户使用总值;确定有效时间调整系数,其中所述有效时间调整系数与所述用户使用总值负相关;基于所述有效时间调整系数和所述标准有效时间,生成对应于所述序列码的有效时间。
例如;用户总激活次数p1对应权值q1、用户错误激活次数p2对应权值q2、用户使用产品的设备个数p3对应权值q3,用户使用总值为:p1*q1+ p2*q2+p3*q3。
上述实施例中仍然需要在客户端创建本地文件,虽然该文件不用于验证序列码,而仅用于记录用户激活次数以触发验证流程,但是仍然存在被破解、无法定期安全验证的风险,为解决上述问题,本申请还提供一种将配置文件创建于服务器中的实施例,具体方案如下所述。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个序列码,步骤S204:对序列码进行验证包括:获取服务器本地配置文件;验证激活请求中的序列码是否存在于配置文件中;若是,序列码验证通过。可选地,服务器本地存储有配置文件,该配置文件中记录有至少一个序列码、其对应的使用次数、其对应的使用次数阈值以及其对应的有效时间。服务器端具体的执行流程包括:
SE:服务器端在用户使用序列码首次激活该产品、且序列码验证通过后,生成序列码对应的第一有效时间和第一使用次数阈值,并分别写入该配置文件中。
SF:服务器将第一有效时间打包在验证结果中发送给用户端,使得用户端可以在第一有效时间内维持产品的激活状态,此时用户可以不用输入激活码而直接使用该产品。
SG:服务器在用户每次使用该序列码对应的产品时,修改配置文件中该序列码对应的使用次数,例如将对应的使用次数这一配置项按序加一。
SH:当服务器判断出第一有效时间内用户使用该序列码对应的产品的次数达到第一使用次数阈值、或者到达该第一有效时间时,禁用该产品的激活状态,使得用户需要再次输入序列码以激活该产品。
SI:当服务器禁用产品的激活状态后,在用户端重新显示激活页面,以供用户再次输入序列码进行验证。此时服务器接收用户输入的序列码并继续验证,在序列码验证通过后,生成序列码对应的第二有效时间和第二使用次数阈值,并分别写入该配置文件中,循环执行SF-SH步骤。其中,第二有效时间和第二使用次数阈值可以分别与第一有效时间和第一使用次数阈值相同,也可以不同。例如,服务器获取用户的使用状态,使用状态例如包括用户总激活次数、用户错误激活次数、用户使用产品的设备个数等,根据用户的使用状态生成第二有效时间和第二使用次数阈值,例如当用户总激活次数大于设定值而用户错误激活次数小于设定值,或者用户错误激活比率小于设定值时,和/或用户使用产品的设备个数小于设定值,使得第二有效时间和第二使用次数阈值大于第一有效时间和第一使用次数阈值,反之亦然。如此,可以对用户进行类似信用评级,针对优质用户,动态延长有效时间和使用次数阈值,提升用户体验。
通过上述手段,在服务器端创建配置文件,并在服务器端记录用户激活、使用该产品的情况,由服务器控制产品的激活状态,避免用户端本地配置文件被破解的风险,提高了产品激活的控制效率和安全性。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个序列码及其对应的产品信息,激活请求中还包括产品的产品标识,其中,步骤S304:对序列码进行验证包括:
步骤S3041:获取服务器本地配置文件;
步骤S3043:验证激活请求中的序列码是否存在于配置文件中;
步骤S3045:验证激活请求中的产品标识是否与配置文件中序列码对应的产品信息一致;
步骤S3047:当二者均为是时,序列码验证通过。
在一种可选的方案中,配置文件可以以文本方式存储,也可以数据库形式存储。配置文件中存储了多个预先生成的合法序列码,以及每个序列码对应的产品信息。产品信息可以是产品类型标识,产品版本标识,产品id,或者产品序列号等等,只要能用于识别对应的产品即可。通过该手段,可以确保序列码及其对应产品的一致性,一方面可保证产品安全,另一方面也可避免用户使用不匹配产品误激活。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个序列码及其对应的使用状态,其中,步骤S304:对序列码进行验证,在验证通过时生成对应于该序列码的有效时间包括;
步骤S3042:获取服务器本地配置文件;
步骤S3044:当判断出激活请求中的序列码存在于配置文件中时,读取序列码对应的使用状态;
步骤S3046:根据序列码的使用状态生成序列码的有效时间。
在一种可选的方案中,配置文件可以以文本方式存储,也可以数据库形式存储。配置文件中存储了多个预先生成的合法序列码,以及每个序列码对应的使用状态,例如未使用状态或待首次激活状态,已激活状态或待安全验证状态。在验证序列码的合法性之后,或者在验证了序列码对应产品的一致性之后,服务器根据使用状态判断该序列码是待首次激活还是待安全验证,待首次激活时,生成并记录产品的第一有效时间并返回给用户端,待安全验证时,生成并记录产品的第二有效时间并返回给用户端。第一有效时间和第二有效时间一方面可以在用户端提示用户使用期限,避免用户忘记具体使用时间,另一方面还可以在服务器端控制产品的激活有效期,使得在到达第一有效时间或第二有效时间后禁用产品的激活状态。同时,用户端接收到打包有有效时间的验证结果后,可以修改其本地配置文件,例如用户激活记录表,包括如下至少一个配置项;用户激活产品的时间、用户激活产品的次数、激活产品次数阈值、加密后的序列码。在用户首次激活产品之前,配置文件中的上述配置项被设置为默认值,当用户完成首次激活/验证激活、且接收到包含有效时间的验证结果时,可根据验证结果修改上述配置项,具体修改过程可以参考上述步骤SA-SD,囿于篇幅不再赘述。其中,第二有效时间与第一有效时间可以相同,也可以不同。例如,服务器获取用户的使用状态,使用状态例如包括用户总激活次数、用户错误激活次数、用户使用产品的设备个数等,根据用户的使用状态生成第二有效时间,例如当用户总激活次数大于设定值而用户错误激活次数小于设定值,或者用户错误激活比率小于设定值时,和/或用户使用产品的设备个数小于设定值,使得第二有效时间大于第一有效时间,反之亦然。如此,可以对用户进行类似信用评级,针对优质用户,动态延长有效时间,提升用户体验。
可选地,使用状态至少包括待首次激活和待安全验证,其中根据序列码的使用状态生成序列码的有效时间包括:
当序列码的使用状态为待首次激活时,生成序列码的第一有效时间,并将使用状态修改为待安全验证;
当序列码的使用状态为待安全验证时,获取用户的使用状态,并根据用户的使用状态生成序列码的第二有效时间。
可选地,使用状态包括用户总激活次数、用户错误激活次数、用户使用产品的设备个数,根据用户的使用状态生成第二有效时间包括:当用户总激活次数大于设定值而用户错误激活次数小于设定值,或者用户错误激活比率小于设定值时,和/或用户使用产品的设备个数小于设定值,使得第二有效时间大于第一有效时间,当用户总激活次数小于设定值而用户错误激活次数大于设定值,或者用户错误激活比率大于设定值时,和/或用户使用产品的设备个数大于设定值,使得第二有效时间小于第一有效时间。如此,可以对用户进行类似信用评级,针对优质用户,动态延长有效时间,提升用户体验。
可选地,序列码对应的使用状态至少包括待首次激活和待安全验证,服务器本地存储有配置文件,该配置文件中记录有至少一个序列码、其对应的使用次数、其对应的使用次数阈值以及其对应的有效时间。
其中该方法还包括:服务器生成对应于该序列码的有效时间和使用次数阈值,并写入该配置文件中,具体包括:
获取序列码对应的使用状态,当序列码的使用状态为待首次激活时,生成序列码的第一有效时间和第一使用次数阈值,并将使用状态修改为待安全验证;
当序列码的使用状态为待安全验证时,获取用户的使用状态,并根据用户的使用状态生成序列码的第二有效时间和第二使用次数阈值。使用状态例如包括用户总激活次数、用户错误激活次数、用户使用产品的设备个数等,根据用户的使用状态生成第二有效时间和第二使用次数阈值包括:当用户总激活次数大于设定值而用户错误激活次数小于设定值,或者用户错误激活比率小于设定值时,和/或用户使用产品的设备个数小于设定值,使得第二有效时间和第二使用次数阈值大于第一有效时间和第一使用次数阈值;当用户总激活次数小于设定值而用户错误激活次数大于设定值,或者用户错误激活比率大于设定值时,和/或用户使用产品的设备个数大于设定值,使得第二有效时间和第二使用次数阈值小于第一有效时间和第一使用次数阈值。此时服务器端执行的具体流程可以参考上述步骤SE-SI,囿于篇幅不再赘述。
在上述任一实施例的基础上,该方法还包括:当服务器判断出有效时间内用户使用该序列码对应的产品的次数达到使用次数阈值、或者到达该有效时间时,禁用该产品的激活状态,使得用户需要再次输入序列码以激活该产品。
首次激活与安全验证的区别在于,首次激活会修改序列码的基础数据信息,包括序列码状态、序列码有效期,同时用户激活记录表插入数据,用户本地新建激活文件用来识别唯一性;安全验证是在激活的基础上进行用户合法性的验证,重点是验证,会根据用户输入或带入的相关信息,查询序列码表、激活记录表来判断用户是否已经激活、是否在有效期等验证;服务器处理流程在于用户存在激活记录即为验证、不存在为激活。
在完成首次激活后,服务器可以修改被使用序列码的状态,由未使用、未激活状态改为已使用、已激活,在该序列码的鉴权字段上增加开始日期与结束日期,保证序列码的有效时限;同时在用户激活记录表中增加一条该用户使用本序列码激活对应产品的记录;在用户电脑本地写一个激活文件,文件中包括激活的信息以及唯一的通过加密的激活码,用于后期验证用户是否有效等;最后返回激活成功。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个预先生成的序列码,其中,序列码的生成步骤包括:随机获取第一数量的字母,存入第一变量中;获取产品的父级标识,取模处理后存入第二变量中;获取产品的分类标识 ,取模处理后存入第三变量中;通过随机函数获取第二数量的数字,存入第四变量中;使用连接符连接上述第一变量、第二变量、第三变量以及第四变量,得到序列码。
上述步骤用以降低序列码被破解的风险,通过在生成序列码中逻辑中加入多个校验参数,例如产品的id,分类id以及分类id的父级id添加进去,再加入其它验证值,使得激活码校验出现多个维度、多个方面来处理,提高安全度,降低风险。在一种可选的方案中,本功能采用主流的PHP开发技术,结合Redis、MySql等数据库存储服务,使用高可用的代码逻辑,为客户使用产品提供强有力的技术支持,用户激活福袋应用简单、快速,一次联网激活、定期激活验证(定期验证是在首次激活时,在用户本地写入固定次数,当用户使用相关产品达到首次写入的次数就会触发验证,验证是由用户使用次数在客户端触发)、保证客户的易用性,人性化设计可多电脑激活,避免用户人为原因导致的激活与使用平台不一致后不能使用问题;序列码的生成采用特定逻辑生成唯一可识别的不重复序列码,可激活指定福袋应用。
可选地,该方法还包括:在序列码验证通过时,向用户端返回激活成功的信息,和/或在序列码验证未通过时,向用户端返回激活失败的信息以及对应的失败原因。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的产品激活方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
基于上述实施例1或实施例2给出的产品激活方法,本申请实施例还提供一种如图4所示的产品激活方法的流程图,该方法以CJT福袋产品为例进行说明。如图4所示,该方法由三大部分组成:后台序列码生成功能、福袋应用渲染入口展示、后台激活功能。该方法包括:
CJT后台配置生成序列码或购买福袋应用生成序列码;
用户购买福袋后获得激活码,用户购买界面上还可展示多个产品及对应的产品类别;
用户登录福袋页面准备使用该激活码激活产品;福袋页面上可以渲染有激活入口和验证入口,在用户首次使用需要先去激活页面使用序列码激活应用,当用户已激活时需要去验证入口验证激活;
根据用户输入的序列码,查询后台库存的序列码,验证序列码、应用是否合法,已确定是否激活成功;
如果激活成功,则修改被使用序列码的状态,由未使用、未激活状态改为已使用、已激活,在该序列码的鉴权字段上增加开始日期与结束日期,保证序列码的有效时限;同时在用户激活记录表中增加一条该用户使用本序列码激活对应产品的记录;在用户电脑本地写一个激活文件,文件中包括激活的信息以及唯一的通过加密的激活码,用于后期验证用户是否有效等;最后返回激活成功;
如果激活失败,给用户提示对应失败原因,重新查询序列码激活。
本申请通过增值产品福袋项目为入口,软件产品、云产品的用户在社区、优选商城、服宝机器人客户端等平台购买增值产品后获得对应产品的无序序列码,该序列码使用互联网php、mysql等技术生成,具有唯一性、多变性,可在增值产品激活页面使用,也可在激活的增值产品内的续购页面使用;产品被激活后序列码改变使用状,并增加规定使用时间段,增值产品需要定期使用该序列码进行验证,同时更新验证时间,便于服务用户。
本申请涉及到CJT的软件包增值产品,福袋应用增值产品,在激活时会存在链接网络请求CJT后台数据库验证相关数据可用性,主要针对为购买了福袋应用产品客户,客户在使用过程中会不定期检查产品激活状态,可以保证产品安全;使用激活后的福袋应用可保证产品的正版、功能安全,可提高用户工作效率,也可获得更好的客户体验、售后服务等;并且会定时提醒用户将要过期的福袋应用,使客户及时续费、新购等。
相比于现有技术中其他同类型相似激活产品,大部分为一次性激活长期使用,并且激活文件存在本地配置文件中,存在可能会被找到破解的风险;本申请的技术方案主要采用链接网络激活、定时链接网络验证逻辑;主要应用于福袋产品:依赖CJT软件包产品、云产品、CJT服宝,激活一体化,可配置化,并发性高,激活多面化,可以根据客户的不同福袋应用各次激活,实时同步的激活用户福袋应用,效率高,安全高。
实施例3
根据本申请实施例,还提供了一种用于实施上述产品激活方法的产品激活装置,该装置以软件或硬件方式实现于服务器端,服务器可基于图1所述的计算机终端实现。
如图5所示,该产品激活装置500包括:接收模块5002,验证模块5004以及发送模块5006。其中:
接收模块5002,用于接收用户端发起的激活请求,激活请求中包括用户通过交互接口输入的序列码,其中所述用户端被配置为:获取用户使用所述产品的次数,在用户首次登录使用所述产品时、以及在用户使用所述产品的次数达到预设的使用次数阈值时,发起所述激活请求;
验证模块5004,用于对序列码进行验证,在验证通过时生成对应于该序列码的有效时间;
发送模块5006,用于将有效时间打包于验证结果中,并发送给用户端,以使用户端可在有效时间内激活产品。
此处,需要说明的是,上述接收模块5002,验证模块5004以及发送模块5006对应于实施例1中的步骤S202至步骤S206,上述三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
其中,所述装置还包括:
获取模块,用于获取所述序列码对应的用户使用状态;
生成模块,生成对应于所述用户使用状态的预设使用次数阈值,并将所述预设使用次数阈值打包于验证结果中,以更新所述用户端中存储的预设使用次数阈值。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个序列码及其对应的产品信息,激活请求中还包括产品的产品标识,其中,对序列码进行验证包括:获取服务器本地配置文件;验证激活请求中的序列码是否存在于配置文件中;验证激活请求中的产品标识是否与配置文件中序列码对应的产品信息一致;当二者均为是时,序列码验证通过。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个序列码及其对应的使用状态,其中,对序列码进行验证,在验证通过时生成对应于该序列码的有效时间包括;获取服务器本地配置文件;当判断出激活请求中的序列码存在于配置文件中时,读取序列码对应的使用状态;根据序列码的使用状态生成序列码的有效时间。
可选地,使用状态至少包括待首次激活和待安全验证,其中根据序列码的使用状态生成序列码的有效时间包括:当序列码的使用状态为待首次激活时,生成序列码的第一有效时间,并将使用状态修改为待安全验证;当序列码的使用状态为待安全验证时,生成序列码的第二有效时间 。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个预先生成的序列码,其中,序列码的生成步骤包括:随机获取第一数量的字母,存入第一变量中;获取产品的父级标识,取模处理后存入第二变量中;获取产品的分类标识 ,取模处理后存入第三变量中;通过随机函数获取第二数量的数字,存入第四变量中;使用连接符连接上述第一变量、第二变量、第三变量以及第四变量,得到序列码。
可选地,在序列码验证通过时,向用户端返回激活成功的信息,和/或在序列码验证未通过时,向用户端返回激活失败的信息以及对应的失败原因。
实施例4
根据本申请实施例,还提供了一种用于实施上述产品激活方法的产品激活装置,该装置以软件或硬件方式实现于用户端,用户端可基于图1所述的计算机终端实现。
如图6所示,该产品激活装置600包括:交互模块6002,激活模块6004以及使能模块6006。其中:
交互模块6002,用于接收用户通过交互接口输入的序列码,获取用户使用所述产品的次数,在用户首次所述产品时、以及在用户使用所述产品的次数达到预设的使用次数阈值时,发起包含所述序列码的激活请求;
激活模块6004,用于向服务器发送所述激活请求,以使服务器对所述序列码进行验证,并生成包含有效时间的验证结果,其中服务器被配置为获取所述序列码对应的用户使用状态;生成对应于所述用户使用状态的预设使用次数阈值,并将所述预设使用次数阈值打包于验证结果中,以更新所述用户端中存储的预设使用次数阈值;
使能模块6006,用于接收所述服务器返回的验证结果,当所述验证结果为验证通过时,在所述有效时间内使所述产品可激活。
此处,需要说明的是,上述交互模块6002,激活模块6004以及使能模块6006对应于实施例2中的步骤S302至步骤S306,上述三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个序列码及其对应的产品信息,激活请求中还包括产品的产品标识,其中,对序列码进行验证包括:获取服务器本地配置文件;验证激活请求中的序列码是否存在于配置文件中;验证激活请求中的产品标识是否与配置文件中序列码对应的产品信息一致;当二者均为是时,序列码验证通过。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个序列码及其对应的使用状态,其中,对序列码进行验证,在验证通过时生成对应于该序列码的有效时间包括;获取服务器本地配置文件;当判断出激活请求中的序列码存在于配置文件中时,读取序列码对应的使用状态;根据序列码的使用状态生成序列码的有效时间。
可选地,使用状态至少包括待首次激活和待安全验证,其中根据序列码的使用状态生成序列码的有效时间包括:当序列码的使用状态为待首次激活时,生成序列码的第一有效时间,并将使用状态修改为待安全验证;当序列码的使用状态为待安全验证时,生成序列码的第二有效时间 。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个预先生成的序列码,其中,序列码的生成步骤包括:随机获取第一数量的字母,存入第一变量中;获取产品的父级标识,取模处理后存入第二变量中;获取产品的分类标识 ,取模处理后存入第三变量中;通过随机函数获取第二数量的数字,存入第四变量中;使用连接符连接上述第一变量、第二变量、第三变量以及第四变量,得到序列码。
可选地,在序列码验证通过时,向用户端返回激活成功的信息,和/或在序列码验证未通过时,向用户端返回激活失败的信息以及对应的失败原因。
实施例5
本申请的实施例可以提供一种计算设备,该计算设备可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算设备也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述计算设备包括一个或多个处理器、存储器、以及传输装置。其中,存储器可用于存储软件程序以及模块,如本申请实施例中的产品激活方法和装置对应的程序指令/模块。处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的产品激活方法。
可选地,存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备120。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
在本实施例中,上述计算设备中的处理器运行存储的程序代码时可以执行以下方法步骤:接收用户端发起的激活请求,激活请求中包括用户通过交互接口输入的序列码;对序列码进行验证,在验证通过时生成对应于该序列码的有效时间;将有效时间打包于验证结果中,并发送给用户端,以使用户端可在有效时间内激活产品。
在本实施例中,上述计算设备中的处理器运行存储的程序代码时还可以执行以下方法步骤:接收用户通过交互接口输入的序列码,生成包含序列码的激活请求;向服务器发送激活请求,以使服务器对序列码进行验证,并生成包含有效时间的验证结果;接收服务器返回的验证结果,当验证结果为验证通过时,在有效时间内使产品可激活。
进一步地,在本实施例中,上述计算设备中的处理器运行存储的程序代码时可以执行实施例1或实施例2中所列举的任一方法步骤,囿于篇幅不再赘述。
实施例6
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述产品激活方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收用户端发起的激活请求,激活请求中包括用户通过交互接口输入的序列码;对序列码进行验证,在验证通过时生成对应于该序列码的有效时间;将有效时间打包于验证结果中,并发送给用户端,以使用户端可在有效时间内激活产品。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收用户通过交互接口输入的序列码,生成包含序列码的激活请求;向服务器发送激活请求,以使服务器对序列码进行验证,并生成包含有效时间的验证结果;接收服务器返回的验证结果,当验证结果为验证通过时,在有效时间内使产品可激活。
进一步地,在本实施例中,存储介质被设置为存储用于执行实施例1或2中所列举的任一方法步骤的程序代码,囿于篇幅不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
实施例7
根据本申请实施例,还提供了一种产品激活系统,该系统可执行实施例1或2所提供的产品激活方法,如图7所示,该系统包括:用户端及服务器。
可选地,用户端包括处理器、存储器、I/O接口、交互接口及通信接口,服务器包括处理器、存储器、I/O接口、通信接口及数据库,其中,
用户端接收用户通过交互接口输入的序列码,由处理器执行存储器中存储的程序代码,获取用户使用所述产品的次数,在用户首次登录使用所述产品时、以及在用户使用所述产品的次数达到预设使用次数阈值时,生成所述激活请求,并通过通信接口经由传输介质向服务器发送激活请求;
服务器通过通信接口接收用户端发起的激活请求,由处理器执行存储器中存储的程序代码,以对激活请求中的序列码进行验证,在验证通过时生成对应于该序列码的有效时间,获取所述序列码对应的用户使用状态;生成对应于所述用户使用状态的预设使用次数阈值,并将所述预设使用次数阈值和所述有效时间打包于验证结果中发送给所述用户端,以更新所述用户端中存储的预设使用次数阈值,将该验证结果通过通信接口经由传输介质发送给用户端;
用户端通过通信接口接收服务器返回的验证结果,当验证结果为验证通过时,在有效时间内使产品可激活。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个序列码及其对应的产品信息,激活请求中还包括产品的产品标识,其中,对序列码进行验证包括:获取服务器本地配置文件;验证激活请求中的序列码是否存在于配置文件中;验证激活请求中的产品标识是否与配置文件中序列码对应的产品信息一致;当二者均为是时,序列码验证通过。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个序列码及其对应的使用状态,其中,对序列码进行验证,在验证通过时生成对应于该序列码的有效时间包括;获取服务器本地配置文件;当判断出激活请求中的序列码存在于配置文件中时,读取序列码对应的使用状态;根据序列码的使用状态生成序列码的有效时间。
可选地,使用状态至少包括待首次激活和待安全验证,其中根据序列码的使用状态生成序列码的有效时间包括:当序列码的使用状态为待首次激活时,生成序列码的第一有效时间,并将使用状态修改为待安全验证;当序列码的使用状态为待安全验证时,生成序列码的第二有效时间 。
可选地,服务器本地存储有配置文件,配置文件中记录有至少一个预先生成的序列码,其中,序列码的生成步骤包括:随机获取第一数量的字母,存入第一变量中;获取产品的父级标识,取模处理后存入第二变量中;获取产品的分类标识 ,取模处理后存入第三变量中;通过随机函数获取第二数量的数字,存入第四变量中;使用连接符连接上述第一变量、第二变量、第三变量以及第四变量,得到序列码。
可选地,在序列码验证通过时,向用户端返回激活成功的信息,和/或在序列码验证未通过时,向用户端返回激活失败的信息以及对应的失败原因。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种产品激活方法,其特征在于,应用于服务器端,该方法包括:
接收用户端发起的激活请求,所述激活请求中包括用户通过交互接口输入的序列码,其中所述用户端被配置为:获取用户使用所述产品的次数,在用户首次登录使用所述产品时、以及在用户使用所述产品的次数达到预设使用次数阈值时,发起所述激活请求;
对所述序列码进行验证,在验证通过时生成对应于该序列码的有效时间;
将所述有效时间打包于验证结果中,并发送给所述用户端,以使所述用户端可在所述有效时间内激活所述产品;
其中,在将验证结果发送给所述用户端之前,所述方法还包括:
获取所述序列码对应的用户使用状态;
生成对应于所述用户使用状态的预设使用次数阈值,并将所述预设使用次数阈值打包于验证结果中,以更新所述用户端中存储的预设使用次数阈值。
2.根据权利要求1所述的方法,其特征在于,所述服务器本地存储有配置文件,所述配置文件中记录有至少一个序列码及其对应的用户使用状态,所述用户使用状态包括:用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少一种,其中,在验证通过时生成对应于该序列码的有效时间包括:
获取所述序列码对应的用户使用状态以及标准有效时间;
判断用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少一种是否大于预设值;
若是,生成对应于该序列码的第一有效时间,其中所述第一有效时间小于所述标准有效时间;
若否,生成对应于该序列码的第二有效时间,其中所述第二有效时间大于所述标准有效时间。
3.根据权利要求2所述的方法,其特征在于,所述用户使用状态包括:用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少两种,其中,在验证通过时生成对应于该序列码的有效时间包括:
获取所述序列码对应的用户使用状态以及标准有效时间;
对用户总激活次数、用户错误激活次数、用户使用产品的设备个数中的至少两种按照对应预设权值进行加权计算,得到用户使用总值;
确定有效时间调整系数,其中所述有效时间调整系数与所述用户使用总值负相关;
基于所述有效时间调整系数和所述标准有效时间,生成对应于所述序列码的有效时间。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述服务器本地存储有配置文件,所述配置文件中记录有至少一个序列码及其对应的产品信息,所述激活请求中还包括所述产品的产品标识,其中,对所述序列码进行验证包括:
获取服务器本地配置文件;
验证所述激活请求中的序列码是否存在于所述配置文件中;
验证所述激活请求中的产品标识是否与所述配置文件中所述序列码对应的产品信息一致;
当二者均为是时,所述序列码验证通过。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述服务器本地存储有配置文件,所述配置文件中记录有至少一个预先生成的序列码,其中,序列码的生成步骤包括:
随机获取第一数量的字母,存入第一变量中;
获取所述产品的父级标识,取模处理后存入第二变量中;
获取所述产品的分类标识,取模处理后存入第三变量中;
通过随机函数获取第二数量的数字,存入第四变量中;
使用连接符连接上述第一变量、第二变量、第三变量以及第四变量,得到所述序列码。
6.一种产品激活方法,其特征在于,应用于用户端,该方法包括:
接收用户通过交互接口输入的序列码获取用户使用所述产品的次数,在用户首次所述产品时、以及在用户使用所述产品的次数达到预设的使用次数阈值时,发起包含所述序列码的激活请求;
向服务器发送所述激活请求,以使服务器对所述序列码进行验证,并生成包含有效时间的验证结果,其中服务器被配置为获取所述序列码对应的用户使用状态;生成对应于所述用户使用状态的预设使用次数阈值,并将所述预设使用次数阈值打包于验证结果中,以更新所述用户端中存储的预设使用次数阈值;
接收所述服务器返回的验证结果,当所述验证结果为验证通过时,在所述有效时间内使所述产品可激活。
7.一种产品激活装置,其特征在于,应用于服务器端,该装置包括:
接收模块,用于接收用户端发起的激活请求,所述激活请求中包括用户通过交互接口输入的序列码,其中所述用户端被配置为:获取用户使用所述产品的次数,在用户首次登录使用所述产品时、以及在用户使用所述产品的次数达到预设使用次数阈值时,发起所述激活请求;
验证模块,用于对所述序列码进行验证,在验证通过时生成对应于该序列码的有效时间;
发送模块,用于将所述有效时间打包于验证结果中,并发送给所述用户端,以使所述用户端可在所述有效时间内激活所述产品;
其中,所述装置还包括:
获取模块,用于获取所述序列码对应的用户使用状态;
生成模块,生成对应于所述用户使用状态的预设使用次数阈值,并将所述预设使用次数阈值打包于验证结果中,以更新所述用户端中存储的预设使用次数阈值。
8.一种产品激活系统,其特征在于,包括服务器及用户端,其中,
用户端接收用户通过交互接口输入的序列码,获取用户使用所述产品的次数,在用户首次所述产品时、以及在用户使用所述产品的次数达到预设的使用次数阈值时,发起包含所述序列码的激活请求,并通过通信接口向服务器发送所述激活请求;
服务器接收用户端发起的激活请求,对所述激活请求中的序列码进行验证,在验证通过时生成对应于该序列码的有效时间,获取所述序列码对应的用户使用状态;生成对应于所述用户使用状态的预设使用次数阈值,并将所述预设使用次数阈值和所述有效时间打包于验证结果中发送给所述用户端,以更新所述用户端中存储的预设使用次数阈值;
用户端接收所述服务器返回的验证结果,当所述验证结果为验证通过时,在所述有效时间内使所述产品可激活。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1-6任一项所述的方法。
10.一种计算设备,包括处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行如权利要求1-6任一项所述的方法。
CN202011585540.2A 2020-12-29 2020-12-29 产品激活方法、装置、系统、存储介质及计算设备 Active CN112307443B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011585540.2A CN112307443B (zh) 2020-12-29 2020-12-29 产品激活方法、装置、系统、存储介质及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011585540.2A CN112307443B (zh) 2020-12-29 2020-12-29 产品激活方法、装置、系统、存储介质及计算设备

Publications (2)

Publication Number Publication Date
CN112307443A true CN112307443A (zh) 2021-02-02
CN112307443B CN112307443B (zh) 2021-03-19

Family

ID=74487636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011585540.2A Active CN112307443B (zh) 2020-12-29 2020-12-29 产品激活方法、装置、系统、存储介质及计算设备

Country Status (1)

Country Link
CN (1) CN112307443B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116016168A (zh) * 2022-12-12 2023-04-25 深圳市汇川技术股份有限公司 软件功能激活方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101227281A (zh) * 2008-02-13 2008-07-23 刘海云 动态防窃密及身份认证方法
CN101814122A (zh) * 2009-12-08 2010-08-25 北京启扬讯达软件有限公司 一种软件使用授权信息的监控方法和系统
US8850602B2 (en) * 2009-11-27 2014-09-30 Samsung Electronics Co., Ltd Method for protecting application and method for executing application using the same
CN106133720A (zh) * 2014-03-17 2016-11-16 微软技术许可有限责任公司 持续小书签授权
CN108124480A (zh) * 2016-12-27 2018-06-05 深圳配天智能技术研究院有限公司 一种软件授权方法、系统及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101227281A (zh) * 2008-02-13 2008-07-23 刘海云 动态防窃密及身份认证方法
US8850602B2 (en) * 2009-11-27 2014-09-30 Samsung Electronics Co., Ltd Method for protecting application and method for executing application using the same
CN101814122A (zh) * 2009-12-08 2010-08-25 北京启扬讯达软件有限公司 一种软件使用授权信息的监控方法和系统
CN106133720A (zh) * 2014-03-17 2016-11-16 微软技术许可有限责任公司 持续小书签授权
CN108124480A (zh) * 2016-12-27 2018-06-05 深圳配天智能技术研究院有限公司 一种软件授权方法、系统及设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116016168A (zh) * 2022-12-12 2023-04-25 深圳市汇川技术股份有限公司 软件功能激活方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112307443B (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
CN111478967B (zh) 一种请求处理方法及装置
EP3051755B1 (en) Installation package authorization method and device
US20160210632A1 (en) Secured payment method and relevant device and system
CN104599123A (zh) 账户信息的管理方法、账户管理服务器和销售终端及系统
CN103249033A (zh) Sim卡自助换号实现方法及终端
CN114257551A (zh) 一种分布式限流的方法及系统、存储介质
CN105787727A (zh) 一种hce脱机支付系统及实现方法
CN105338000A (zh) 一种验证方法、验证系统
CN110326011B (zh) 确定计算设备处的合法条件
CN112307443B (zh) 产品激活方法、装置、系统、存储介质及计算设备
CN110659899B (zh) 一种离线支付方法、装置及设备
CN111260342B (zh) 一种认证支付方法及装置
CN104462934A (zh) 一种信息处理方法及电子设备
CN114329358A (zh) 应用签名方法、系统、交易终端及服务平台
CN113904774A (zh) 一种区块链地址认证方法、装置及计算机设备
CN105916135A (zh) 虚拟卡终端中进行nfc支付的方法及虚拟卡终端
CN104636920A (zh) 一种数据交互方法、设备和系统
CN115330486A (zh) 目标订单的生成方法及装置
CN110086761B (zh) 一种提供资源的方法和设备
CN109474565B (zh) 信息验证方法和装置、存储介质和电子装置
CN112862466A (zh) 一种资源转移的方法及结账终端、服务器节点
CN111833054A (zh) 区块链上互联网电商数据的存储方法及其装置
TWI599971B (zh) Digital wallet in the virtual card management
CN106411913A (zh) 在线支付动态码处理方法、装置及电子设备
CN111831730A (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
CB03 Change of inventor or designer information

Inventor after: Liu Baohua

Inventor after: Wan Zheng

Inventor after: Wang Qingyang

Inventor after: Li Kun

Inventor after: Jing Zhen

Inventor before: Wan Zheng

Inventor before: Wang Qingyang

Inventor before: Liu Baohua

Inventor before: Li Kun

Inventor before: Jing Zhen

CB03 Change of inventor or designer information