CN108846263B - 软件授权处理及运行方法和装置、电子设备 - Google Patents

软件授权处理及运行方法和装置、电子设备 Download PDF

Info

Publication number
CN108846263B
CN108846263B CN201810551922.XA CN201810551922A CN108846263B CN 108846263 B CN108846263 B CN 108846263B CN 201810551922 A CN201810551922 A CN 201810551922A CN 108846263 B CN108846263 B CN 108846263B
Authority
CN
China
Prior art keywords
token
information
software
terminal device
request message
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
CN201810551922.XA
Other languages
English (en)
Other versions
CN108846263A (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.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development 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 Beijing Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN201810551922.XA priority Critical patent/CN108846263B/zh
Publication of CN108846263A publication Critical patent/CN108846263A/zh
Application granted granted Critical
Publication of CN108846263B publication Critical patent/CN108846263B/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/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例公开了软件授权处理及运行方法和装置、电子设备,其中软件授权处理方法包括:接收终端设备按照心跳周期发送的第一请求消息,所述第一请求消息中包括用于控制软件运行的第一令牌和用户信息;根据所述第一请求消息,确定是否向所述终端设备授权所述软件的使用。本发明实施例可以有效控制终端设备上软件的运行、有效控制同一用户信息同时使用该软件的数量,本发明实施例可应用于任何终端设备,例如计算机、虚拟机等。

Description

软件授权处理及运行方法和装置、电子设备
技术领域
本发明涉及互联网技术,尤其是一种软件授权处理及运行方法和装置、电子设备。
背景技术
软件保护和授权对于软件产品开发商是非常重要而且必要的技术环节,在实际应用中,用户购买软件后,如果运行软件所需的用户信息被扩散,则该软件可能被其他用户无偿使用。然而,从软件诞生开始,软件被零成本的使用就常有发生,对软件生产商造成重大损失。
发明内容
本发明实施例提供一种用于软件授权及运行的技术方案。
根据本发明实施例的一个方面,提供的一种软件授权处理方法,包括:
接收终端设备按照心跳周期发送的第一请求消息,所述第一请求消息中包括用于控制软件运行的第一令牌和用户信息;
根据所述第一请求消息,确定是否向所述终端设备授权所述软件的使用。
可选地,在上述各软件授权处理方法实施例中,所述方法还包括:
在确定向所述终端设备授权所述软件的使用的情况下,向所述终端设备发放第二令牌;所述第二令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第二令牌的使用时效信息。
可选地,在上述各软件授权处理方法实施例中,所述设备信息包括以下任意一项或多项:IP地址、MAC地址、CPU型号。
可选地,在上述各软件授权处理方法实施例中,所述接收终端设备按照心跳周期发送的第一请求消息之后,还包括:
基于所述心跳周期确定所述第二令牌的使用时效。
可选地,在上述各软件授权处理方法实施例中,所述第二令牌的使用时效信息对应的时长大于一个所述心跳周期对应的时长且小于两个所述心跳周期对应的时长。
可选地,在上述各软件授权处理方法实施例中,所述第二令牌中还包括:所述心跳周期的更新信息,以便所述终端设备按照所述心跳周期的更新信息更新所述心跳周期。
可选地,在上述各软件授权处理方法实施例中,所述用户信息包括:用户名和密码。
可选地,在上述各软件授权处理方法实施例中,所述确定是否向所述终端设备授权所述软件的使用,包括:
基于所述第一令牌中包含的信息是否与预设信息相匹配、以及当前的统计周期内针对所述用户信息的已发放令牌的数量是否达到所述用户信息对应的最大允许使用数量,确定是否向所述终端设备授权所述软件的使用。
可选地,在上述各软件授权处理方法实施例中,所述基于所述第一令牌中包含的信息是否与预设信息相匹配、以及当前的统计周期内针对所述用户信息的已发放令牌的数量是否达到所述用户信息对应的最大允许使用数量,确定是否向所述终端设备授权所述软件的使用,包括:
在所述第一令牌中包含的信息与预设信息相匹配、且当前的统计周期内针对所述用户信息的已发放令牌的数量未达到所述用户信息对应的最大允许使用数量的情况下,确定向所述终端设备授权所述软件的使用。
可选地,在上述各软件授权处理方法实施例中,所述方法还包括:
按照预设的所述统计周期,统计针对所述用户信息的已发放令牌的数量;或者
根据针对所述用户信息已发放的至少一个令牌的设备信息和令牌发放时间,确定当前有效的令牌数量,并将所述当前有效的令牌数量确定为针对所述用户信息的已发放令牌的数量。
可选地,在上述各软件授权处理方法实施例中,所述统计周期对应的时长大于一个所述心跳周期且小于两个所述心跳周期。
可选地,在上述各软件授权处理方法实施例中,在所述接收终端设备按照心跳周期发送的第一请求消息之前,还包括:
接收所述终端设备发送的第二请求消息,所述第二请求消息中包括所述终端设备的设备信息和所述用户信息;
在所述用户信息具有所述软件的使用权限、且在当前的统计周期内针对所述用户信息的已发放令牌的数量未达到所述用户信息对应的最大允许使用数量的情况下,向所述终端设备发放所述第一令牌,所述第一令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第一令牌的使用时效信息。
可选地,在上述各软件授权处理方法实施例中,所述第一令牌还包括所述心跳周期;或者
所述心跳周期预先设置在所述软件中。
可选地,在上述各软件授权处理方法实施例中,所述第一令牌中还包括本地时刻信息,以便所述终端设备基于所述本地时刻信息进行时钟同步。
根据本发明实施例的另一个方面,提供的一种软件运行方法,包括:
按照预设心跳周期向服务器发送第一请求消息,所述第一请求消息中包括用于控制软件运行的第一令牌和用户信息,所述第一令牌为所述服务器发放的令牌;
接收所述服务器基于所述第一请求消息发放的第二令牌;
基于所述第二令牌运行所述软件。
可选地,在上述各软件运行方法实施例中,所述第二令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第二令牌的使用时效信息。
可选地,在上述各软件运行方法实施例中,所述第二令牌中包括所述终端设备的设备信息;
所述基于所述第二令牌运行所述软件,包括:
确定终端设备的设备信息是否与所述第二令牌中的设备信息一致;
在所述终端设备的设备信息与所述第二令牌中的设备信息一致的情况下,在所述终端设备上运行所述软件。
可选地,在上述各软件运行方法实施例中,所述设备信息包括以下任意一项或多项:IP地址、MAC地址、CPU型号。
可选地,在上述各软件运行方法实施例中,所述第二令牌中包括所述第二令牌的使用时效信息;
所述基于所述第二令牌运行所述软件,包括:
在所述第二令牌的使用时效信息限定的时间内运行所述软件。
可选地,在上述各软件运行方法实施例中,所述第二令牌的使用时效信息对应的时长大于一个所述心跳周期对应的时长且小于两个所述心跳周期对应的时长。
可选地,在上述各软件运行方法实施例中,所述用户信息包括:用户名和密码。
可选地,在上述各软件运行方法实施例中,在所述向服务器发送第一请求消息之前,还包括:
向所述服务器发送第二请求消息,所述第二请求消息中包括所述终端设备的设备信息和所述用户信息;
接收所述服务器发放的所述第一令牌,所述第一令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第一令牌的使用时效信息;
基于所述第一令牌运行所述软件。
可选地,在上述各软件运行方法实施例中,所述第一令牌中还包括心跳周期;或者
所述心跳周期预先设置在所述软件中。
可选地,在上述各软件运行方法实施例中,所述第一令牌中还包括本地时刻信息;
所述方法还包括:
所述终端设备基于所述本地时刻信息进行时钟同步。
可选地,在上述各软件运行方法实施例中,所述第二令牌中还包括:所述心跳周期的更新信息;
所述方法还包括:
所述软件按照所述心跳周期的更新信息更新所述心跳周期。
根据本发明实施例的又一个方面,提供的一种软件授权处理装置,包括:
第一接收模块,用于接收终端设备按照心跳周期发送的第一请求消息,所述第一请求消息中包括用于控制软件运行的第一令牌和用户信息;
第一确定模块,用于根据所述第一请求消息,确定是否向所述终端设备授权所述软件的使用。
可选地,在上述各软件授权处理装置实施例中,所述装置还包括:
发放模块,用于在确定向所述终端设备授权所述软件的使用的情况下,向所述终端设备发放第二令牌;所述第二令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第二令牌的使用时效信息。
可选地,在上述各软件授权处理装置实施例中,所述设备信息包括以下任意一项或多项:IP地址、MAC地址、CPU型号。
可选地,在上述各软件授权处理装置实施例中,所述装置还包括:
第二确定模块,用于基于所述心跳周期确定所述第二令牌的使用时效。
可选地,在上述各软件授权处理装置实施例中,所述第二令牌的使用时效信息对应的时长大于一个所述心跳周期对应的时长且小于两个所述心跳周期对应的时长。
可选地,在上述各软件授权处理装置实施例中,所述第二令牌中还包括:所述心跳周期的更新信息,以便所述终端设备按照所述心跳周期的更新信息更新所述心跳周期。
可选地,在上述各软件授权处理装置实施例中,所述用户信息包括:用户名和密码。
可选地,在上述各软件授权处理装置实施例中,所述第一确定模块,具体用于基于所述第一令牌中包含的信息是否与预设信息相匹配、以及当前的统计周期内针对所述用户信息的已发放令牌的数量是否达到所述用户信息对应的最大允许使用数量,确定是否向所述终端设备授权所述软件的使用。
可选地,在上述各软件授权处理装置实施例中,所述第一确定模块,具体用于在所述第一令牌中包含的信息与预设信息相匹配、且当前的统计周期内针对所述用户信息的已发放令牌的数量未达到所述用户信息对应的最大允许使用数量的情况下,确定向所述终端设备授权所述软件的使用。
可选地,在上述各软件授权处理装置实施例中,所述装置还包括:
统计模块,用于:按照预设的所述统计周期,统计针对所述用户信息的已发放令牌的数量;或者,根据针对所述用户信息已发放的至少一个令牌的设备信息和令牌发放时间,确定当前有效的令牌数量,并将所述当前有效的令牌数量确定为针对所述用户信息的已发放令牌的数量。
可选地,在上述各软件授权处理装置实施例中,所述统计周期对应的时长大于一个所述心跳周期且小于两个所述心跳周期。
可选地,在上述各软件授权处理装置实施例中,所述第一接收模块,还用于接收所述终端设备发送的第二请求消息,所述第二请求消息中包括所述终端设备的设备信息和所述用户信息;
所述发放模块,还用于在所述用户信息具有所述软件的使用权限、且在当前的统计周期内针对所述用户信息的已发放令牌的数量未达到所述用户信息对应的最大允许使用数量的情况下,向所述终端设备发放所述第一令牌,所述第一令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第一令牌的使用时效信息。
可选地,在上述各软件授权处理装置实施例中,所述第一令牌还包括所述心跳周期;或者
所述心跳周期预先设置在所述软件中。
可选地,在上述各软件授权处理装置实施例中,所述第一令牌中还包括本地时刻信息,以便所述终端设备基于所述本地时刻信息进行时钟同步。
根据本发明实施例的再一个方面,提供的一种软件运行装置,所述软件运行装置应用于软件中,包括:
发送模块,用于按照预设心跳周期向服务器发送第一请求消息,所述第一请求消息中包括用于控制软件运行的第一令牌和用户信息,所述第一令牌为所述服务器发放的令牌;
第二接收模块,用于接收所述服务器基于所述第一请求消息发放的第二令牌;
运行控制模块,用于基于所述第二令牌运行所述软件。
可选地,在上述各软件运行装置实施例中,所述第二令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第二令牌的使用时效信息。
可选地,在上述各软件运行装置实施例中,所述第二令牌中包括所述终端设备的设备信息;
所述运行控制模块,具体用于确定终端设备的设备信息是否与所述第二令牌中的设备信息一致;在所述终端设备的设备信息与所述第二令牌中的设备信息一致的情况下,在所述终端设备上运行所述软件。
可选地,在上述各软件运行装置实施例中,所述设备信息包括以下任意一项或多项:IP地址、MAC地址、CPU型号。
可选地,在上述各软件运行装置实施例中,所述第二令牌中包括所述第二令牌的使用时效信息;
所述运行控制模块,具体用于在所述第二令牌的使用时效信息限定的时间内运行所述软件。
可选地,在上述各软件运行装置实施例中,所述第二令牌的使用时效信息对应的时长大于一个所述心跳周期对应的时长且小于两个所述心跳周期对应的时长。
可选地,在上述各软件运行装置实施例中,所述用户信息包括:用户名和密码。
可选地,在上述各软件运行装置实施例中,所述发送模块,还用于向所述服务器发送第二请求消息,所述第二请求消息中包括所述终端设备的设备信息和所述用户信息;
所述第二接收模块,还用于接收所述服务器发放的所述第一令牌,所述第一令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第一令牌的使用时效信息;
所述运行控制模块,还用于基于所述第一令牌运行所述软件。
可选地,在上述各软件运行装置实施例中,所述第一令牌中还包括心跳周期;或者
所述心跳周期预先设置在所述软件中。
可选地,在上述各软件运行装置实施例中,所述第一令牌中还包括本地时刻信息;
所述装置还包括:
同步控制模块,用于控制所述终端设备基于所述本地时刻信息进行时钟同步。
可选地,在上述各软件运行装置实施例中,所述第二令牌中还包括:所述心跳周期的更新信息;
所述装置还包括:
更新模块,用于按照所述心跳周期的更新信息更新所述心跳周期。
根据本发明实施例的再一个方面,提供的一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述本发明上述任一实施例所述的方法。
根据本发明实施例的再一个方面,提供的一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述本发明上述任一实施例所述的方法。
根据本发明实施例的再一个方面,提供的一种计算机程序,包括计算机指令,当所述计算机指令在设备的处理器中运行时,实现上述本发明上述任一实施例所述的方法。
根据本发明实施例的再一个方面,提供的一种计算机程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任一可能的实现方式中所述的人体关键点检测方法。
在一个可选实施方式中,所述计算机程序产品具体为计算机存储介质,在另一个可选实施方式中,所述计算机程序产品具体为软件产品,例如软件开发包(SoftwareDevelopment Kit,SDK),等等。
基于本发明上述实施例提供的软件授权处理方法和装置、电子设备、程序和介质,接收终端设备按照心跳周期发送的第一请求消息,其中包括用于控制软件运行的第一令牌和用户信息;根据该第一请求消息,确定是否向终端设备授权软件的使用,可以有效控制终端设备上软件的运行、有效控制同一用户信息同时使用该软件的数量,实现对软件按照使用数量进行收费,且无需绑定运行该软件的特定终端设备。本发明实施例可应用于任何终端设备,例如计算机、虚拟机等。
基于本发明上述实施例提供的软件运行方法和装置、电子设备、程序和介质,按照预设心跳周期向服务器发送第一请求消息,其中包括用于控制软件运行的第一令牌和用户信息,该第一令牌为服务器发放的令牌;接收服务器基于第一请求消息发放的第二令牌;基于该第二令牌运行软件。第二令牌本发明实施例可以通过服务器发放的令牌有效控制终端设备上软件的运行、有效控制同一用户信息同时使用该软件的数量,实现对软件按照使用数量进行收费,且无需绑定运行该软件的特定终端设备。本发明实施例可应用于任何终端设备,例如计算机、虚拟机等。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明一个实施例的软件授权处理方法的流程图。
图2为本发明另一个实施例的软件授权处理方法的流程图。
图3为本发明一个实施例的软件运行方法的流程图。
图4为本发明一个应用实施例的软件运行方法的流程图。
图5为本发明一个实施例的软件授权处理装置的结构示意图。
图6为本发明另一个实施例的软件授权处理装置的结构示意图。
图7为本发明一个实施例的软件运行装置的结构示意图。
图8为本发明另一个实施例的软件运行装置的结构示意图。
图9为本发明一个应用实施例的电子设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
在实现本发明的过程中,发明人通过研究发现,目前常用的软件保护和授权的方法有:硬件狗、软件狗、软件加壳、序列号、证书文件等。然而,随着大数据、云计算等新技术的出现,许多软件产品需要部署在云平台上的虚拟机上使用,目前常用的软件保护和授权方法将不能够满足实际的应用,例如硬件狗需要将狗插到机器上,但是云端的机器一般是不允许插狗,而且也是不方便的。对于软件狗,软件加壳,序列号,证书文件等通过获取机器指纹信息的保护和授权方法,只能够获得虚拟机的指纹信息,而虚拟操作系统是可以随意被复制的,因此这些方法也无法实现对软件的有效保护和授权。
图1为本发明一个实施例的软件授权处理方法的流程图。该实施例的软件授权处理方法可以由一个服务器(可以称为验证服务器)执行。如图1所示,该实施例的软件授权处理方法包括:
102,接收终端设备按照心跳周期发送的第一请求消息。
该第一请求消息中包括用于控制软件运行的第一令牌(Token)和用户信息。
其中的用户信息即授权用户使用上述软件的权限信息,例如可以包括用户名和密码。其中的用户名唯一标识一个用户,可以是个人用户的用户标识(ID),也可以是公司用户的公司名等等。该用户信息可以在用户购买软件产品后分配给用户,用户可以更改初始分配的密码信息。上述用户信息可以在授权用户使用软件时记录在该软件的授权中心(可以称为用户授权中心),用户更改其中的密码时,用户授权中心的用户信息同步更新。另外,用户授权中心可以实时记录和更新授权使用某一软件的授权使用数量,即:有多少用户具有使用该软件的权限。
由于请求消息是按照预设心跳周期,周期性发送消息,因此也称为软件利用心跳算法产生的心跳数据。
104,根据上述第一请求消息,确定是否向上述终端设备授权上述软件的使用。
基于本发明上述实施例提供的软件授权处理方法,接收终端设备按照心跳周期发送的第一请求消息,其中包括用于控制软件运行的第一令牌和用户信息;根据该第一请求消息,确定是否向终端设备授权软件的使用,第二令牌可以有效控制终端设备上软件的运行、有效控制同一用户信息同时使用该软件的数量,实现对软件按照使用数量进行收费,且无需绑定运行该软件的特定终端设备。本发明实施例可应用于任何终端设备,例如计算机、虚拟机等。
另外,在上述软件授权处理方法实施例的操作104之前,还可以包括:
108,在确定向上述终端设备授权上述软件的使用的情况下,向该终端设备发放第二令牌。
其中的第二令牌中例如可以包括但不限于下列信息中的至少一项:终端设备的设备信息、第二令牌的使用时效信息。
在第二令牌中包括终端设备的设备信息时,可用于限制在与该第二令牌中设备信息一致的终端设备上运行上述软件。如果该软件所在终端设备的设备信息与第二令牌中设备信息不一致,则终端设备停止运行该软件,例如,可以根据预设策略立即停止运行该软件。
其中的设备信息用于唯一对应一个设备,该设备可以是硬件设备,例如计算机、服务器等,也可以是软件设备,例如虚拟机、虚拟服务器等。在其中一些可选示例中,上述设备信息例如可以包括但不限于以下任意一项或多项:IP地址、MAC地址、CPU型号等等。
通过在发送给终端设备的第二令牌中携带终端设备的设备信息,可限制只能在与该第二令牌中设备信息一致的终端设备上运行上述软件,从而可以全面了解在哪些终端设备上运行了该软件。
在第二令牌中包括第二令牌的使用时效信息时,可用于限制终端设备在该第二令牌的使用时效信息限定的时间内运行该软件。其中的第二使用时效可以是一个时长,也可以是未来的一个时刻点。如果该软件所在终端设备的设备信息与第二令牌中设备信息一致、但在该第二令牌的使用时效信息限定的时间结束前未收到下一个令牌,则将在该第二令牌的使用时效信息限定的时间结束时停止运行该软件。
通过在发送给终端设备的第二令牌中携带第二令牌的使用时效信息,可以以第二令牌的使用时效信息控制终端设备运行该软件的时间,从而实现对软件时间的及时控制。
在第二令牌中同时包括终端设备的设备信息和第二令牌的使用时效信息时,可用于限制在设备信息与第二令牌中设备信息一致的终端设备上、第二令牌的使用时效信息限定的时间内运行该软件。
如图2所示,为本发明另一个实施例的软件授权处理方法的流程图。
再参见图2,在本发明上述各实施例的软件授权处理方法的一些可选实施例中,还可以包括:
106,基于心跳周期确定第二令牌的使用时效。
可选地,该操作106中,第二令牌的使用时效可以是一个基于固定的心跳周期预设的固定时间值(例如,5分钟),也可以根据更新后的心跳周期临时确定的时间值,或者初始为一个预设的固定时间值,后续可以根据心跳周期的更新重新确定其时间值。
在其中一些可选示例中,第二令牌的使用时效信息对应的时长可以大于一个心跳周期对应的时长且小于两个心跳周期对应的时长。设定第二令牌的使用时效信息对应的时长大于一个心跳周期,可以有效保障终端设备连续运行该软件、用户正常连续使用该软件,而不会由于未及时接收到第二令牌被暂时中断运行该软件,而第二令牌的使用时效信息对应的时长小于两个心跳周期,可以避免用户在不符合第二令牌发放条件时继续长时间使用该软件,从而实现对软件使用权限的及时控制。
在其中一些实施方式中,操作104,可以包括:
基于第一令牌中包含的信息是否与预设信息相匹配、以及当前的统计周期内针对用户信息的已发放令牌的数量是否达到用户信息对应的最大允许使用数量,确定是否向终端设备授权软件的使用。
在第一令牌中包含的信息与预设信息相匹配、且当前的统计周期内针对用户信息的已发放令牌的数量未达到用户信息对应的最大允许使用数量的情况下,确定向终端设备授权软件的使用。
其中,用户信息对应的最大允许使用数量即:授权基于该用户信息可以同时使用该软件的终端设备的数量,为用户购买的该软件的同时使用数量。
在其中一些可选示例中,可以按照预设判断条件判断第一令牌中包含的信息是否与预设信息相匹配,例如,第一令牌的格式是否满足预设格式要求,例如按照预设格式携带用户信息、使用时效等;第一令牌的签发服务器标识是否为本地服务器;等等。
基于上述实施例,无需绑定固定的计算机,通过请求消息的数量及其是否携带第一令牌就可以获知同时有多少终端设备在使用该软件,根据最大允许使用数量控制同一用户信息同时使用该软件的终端设备的数量,从而利用心跳算法对软件进行保护和授权,可以解决在云端使用的软件授权存在的问题,比如无法确定同时使用软件的设备数量、软件是否被复制盗用等。
另外,在本发明又一个实施例的软件授权处理方法中,还可以包括:
按照预设的上述统计周期,统计针对各用户信息已发放令牌的数量;或者,
根据针对用户信息已发放的至少一个令牌的设备信息和令牌发放时间,确定当前有效的令牌数量,并将该当前有效的令牌数量确定为针对该用户信息的已发放令牌的数量。
其中,上述统计周期对应的时长可以大于一个心跳周期且小于两个心跳周期,可以有效保障全面统计到针对同一用户信息已发放令牌的数量(即:同时使用该软件的用户数量),并且避免了在同一个统计周期内重复统计同一令牌,确保了针对同一用户信息已发放令牌的数量的准确性。
另外,在另一些实施例中,还可以包括:按照预设信息交互周期获取授权上述用户信息对应的最大允许使用数量。在一个可选示例中,按照预设信息交互周期获取用户信息对应的最大允许使用数量,例如,可以由执行本实施例的服务器从用户授权中心获取用户信息对应的最大允许使用数量。其中的信息交互周期可以根据实际需求设定,例如可以是几个心跳周期或者小于心跳周期的大小。其中,用户可能根据实际需求,随时购买软件的更多使用数量,或者在软件的使用需求降低时退订软件的部分使用数量、甚至取消软件的使用授权,为了可以及时获知用户信息对应的最大允许使用数量以控制软件的使用,可以设置较小的信息交互周期,来获取用户信息对应的最大允许使用数量。
另外,在本发明上述各实施例的软件授权处理方法之前,还可以包括:
接收终端设备发送的第二请求消息,该第二请求消息中包括上述终端设备的设备信息和用户信息;
在上述用户信息具有软件的使用权限、且在当前的统计周期内针对该用户信息的已发放令牌的数量未达到用户信息对应的最大允许使用数量的情况下,向终端设备发放第一令牌,该第一令牌中例如可以包括但不限于下列信息中的至少一项:终端设备的设备信息、第一令牌的使用时效信息。该令牌可以用于限制在与第一令牌中设备信息一致的终端设备上、该第一令牌的使用时效信息对应的时间内运行该软件。
如果该软件所在终端设备的设备信息与第一令牌中设备信息不一致,则终端设备不会运行该软件。
在本发明各实施例中,服务器每次发放的令牌的使用时效信息对应的时长可以相同,也可以不同,或者,服务器也可以在某一时间段发放的令牌的使用时效信息对应的时长可以相同,不同时间段发放的令牌的使用时效信息对应的时长不同。由此,上述第一令牌和第二令牌的使用时效信息对应的时长可以相同或不同。
在本发明各实施例的一些可选示例中,可以预先在软件中设置用于执行上述流程的验证服务器的IP地址,在终端设备(例如虚拟机)上运行的软件可以向该验证服务器发送请求消息心跳数据,服务器接收到心跳数据时,便可获得终端设备的IP地址,从而可以向终端设备签发令牌。
基于本实施例,终端设备首次发送请求消息时,可以携带该终端设备的设备信息以及用户信息,服务器会验证该请求消息的合法性,例如其中用户信息对应的用户是否已经购买此软件产品,并确认同一心跳周期内已发放令牌的数量是否已达到该用户信息对应的最大允许使用数量(即;该用户信息对应用户购买的同时使用该软件的设备数量),若合法性通过验证且同一心跳周期内已发放令牌的数量未达到用户信息对应的最大允许使用数量,向终端设备发放带有设备信息以及使用时效限制的令牌,从而实现对软件的使用授权和保护。
在本发明上述各实施例中,上述心跳周期可以通过动态配置的方式配置,也可以通过静态配置的方式配置,并可以根据需要实时调整。
在本发明各实施例的一些实施方式中,可以通过动态配置的方式,由服务器设置心跳周期并通过令牌发送给终端设备并设置在软件中,例如,可以向终端设备首次发送的第一令牌中携带预设心跳周期,后续终端设备可以基于该预设心跳周期发送请求消息。
或者,在本发明各实施例的另一些实施方式中,也可以通过静态配置的方式,将上述预设心跳周期预先设置在软件中。其中的预设心跳周期例如可以是30s。
另外,可选地,向软件发送预设心跳周期或者在软件中设置预设周期后,也可以根据软件的使用情况或者其他需求调整该心跳周期。调整该心跳周期时,例如可以通过在第二令牌中携带新的心跳周期的方式向终端设备发送该新的心跳周期,即:该实施例中的第二令牌中还包括新的心跳周期,也可以单独向终端设备发送新的心跳周期,以便终端设备按照该新的心跳周期确定的时刻发送新的请求消息。
在本发明各实施例的一些实施方式中,首次发送给终端设备的第一令牌中还可以包括本地时刻信息,以便终端设备基于该本地时刻信息进行时钟同步、以与发送该第一令牌的服务器中的时刻信息一致,以便可以更精确的控制该终端设备中软件的运行时间。
图3为本发明一个实施例的软件运行方法的流程图。该实施例可以由终端设备执行。如图3所示,该实施例的软件运行方法包括:
202,按照预设心跳周期向服务器发送第一请求消息。
该第一请求消息中包括用于控制软件运行的第一令牌和用户信息,其中的第一令牌为服务器发放的令牌。
其中的用户信息即授权用户使用上述软件的权限信息,例如可以包括用户名和密码。其中的用户名唯一标识一个用户,可以是个人用户的用户标识(ID),也可以是公司用户的公司名等等。该用户信息可以在用户购买软件产品后分配给用户,用户可以更改初始分配的密码信息。上述用户信息可以在授权用户使用软件时记录在该软件的授权中心(可以称为用户授权中心),用户更改其中的密码时,用户授权中心的用户信息同步更新。另外,用户授权中心可以实时记录和更新授权使用某一软件的授权使用数量,即:有多少用户具有使用该软件的权限。
由于请求消息是按照预设心跳周期,周期性发送消息,因此也称为软件利用心跳算法产生的心跳数据。
204,接收服务器基于上述第一请求消息发放的第二令牌。
206,基于上述第二令牌运行软件。
基于本发明上述实施例提供的软件运行方法,按照预设心跳周期向服务器发送第一请求消息,其中包括用于控制软件运行的第一令牌和用户信息,该第一令牌为服务器发放的令牌;接收服务器基于第一请求消息发放的第二令牌;基于该第二令牌运行软件。本发明实施例可以通过服务器发放的令牌有效控制终端设备上软件的运行、有效控制同一用户信息同时使用该软件的数量,实现对软件按照使用数量进行收费,且无需绑定运行该软件的特定终端设备。本发明实施例可应用于任何终端设备,例如计算机、虚拟机等。
在其中一些实施方式中,上述服务器发放的第二令牌中例如可以包括但不限于下列信息中的至少一项:终端设备的设备信息、第二令牌的使用时效信息。
其中的设备信息用于唯一对应一个设备,该设备可以是硬件设备,例如计算机、服务器等,也可以是软件设备,例如虚拟机、虚拟服务器等。在其中一些可选示例中,上述设备信息例如可以包括但不限于以下任意一项或多项:IP地址、MAC地址、CPU型号等等。
在其中一些可选示例中,第二令牌中包括终端设备的设备信息时,操作206可以包括:确定终端设备的设备信息是否与第二令牌中的设备信息一致;在该终端设备的设备信息与第二令牌中的设备信息一致的情况下,在终端设备上运行软件。
如果该软件所在终端设备的设备信息与第二令牌中设备信息不一致,则当前终端设备停止运行该软件,例如,可以根据预设策略立即停止运行该软件。通过在发送给终端设备的第二令牌中携带终端设备的设备信息,可限制只能在与该第二令牌中设备信息一致的终端设备上运行上述软件,从而可以全面了解有哪些终端设备在运行该软件。
在其中一些可选示例中,第二令牌中包括该第二令牌的使用时效信息时,操作206可以包括:在第二令牌的使用时效信息限定的时间内运行软件。
在第二令牌中包括第二令牌的使用时效信息时,终端设备可以在该第二令牌的使用时效信息限定的时间内运行该软件。其中的第二使用时效可以是一个时长,也可以是未来的一个时刻点。如果该软件所在终端设备的设备信息与第二令牌中设备信息一致、但在该第二令牌的使用时效信息限定的时间结束前未收到下一个令牌,则将在该第二令牌的使用时效信息限定的时间结束时停止运行该软件。
通过在发送给终端设备的第二令牌中携带第二令牌的使用时效信息,可以以第二令牌的使用时效信息控制终端设备运行该软件的时间,从而实现对软件时间的及时控制。
在第二令牌中同时包括终端设备的设备信息和第二令牌的使用时效信息时,可限制在设备信息与第二令牌中设备信息一致的终端设备上、第二令牌的使用时效信息限定的时间内运行该软件。
在其中一些可选示例中,上述第二令牌的使用时效信息对应的时长可以大于一个心跳周期对应的时长且小于两个心跳周期对应的时长。设定第二令牌的使用时效信息对应的时长大于一个心跳周期,可以有效保障终端设备连续运行该软件、用户正常连续使用该软件,而不会由于未及时接收到第二令牌被暂时中断运行该软件,而第二令牌的使用时效信息对应的时长小于两个心跳周期,可以避免用户在不符合第二令牌发放条件时继续长时间使用该软件,从而实现对软件使用权限的及时控制。
另外,在本发明上述各实施例的软件运行方法之前,还可以包括:
向服务器发送第二请求消息,第二请求消息中包括终端设备的设备信息和用户信息;
接收服务器发放的第一令牌,该第一令牌中例如可以包括但不限于下列信息中的至少一项:终端设备的设备信息、第一令牌的使用时效信息;
基于第一令牌运行软件。
在本发明上述各实施例中,上述心跳周期可以通过动态配置的方式配置,也可以通过静态配置的方式配置,并可以根据需要实时调整。
在本发明各实施例的一些实施方式中,可以通过动态配置的方式,由服务器设置心跳周期并通过第一令牌发送给终端设备并设置在软件中,后续终端设备可以基于该预设心跳周期发送请求消息。
或者,在本发明各实施例的另一些实施方式中,也可以通过静态配置的方式,将上述预设心跳周期预先设置在软件中。其中的预设心跳周期例如可以是30s。
可选地,在本发明各实施例的一些实施方式中,第二令牌中还可以包括:心跳周期的更新信息。相应地,该实施例的软件运行方法还可以包括:软件按照心跳周期的更新信息更新心跳周期。
基于该实施例实现了心跳周期的及时更新,以便终端设备可以按照该新的心跳周期确定的时刻向服务器发送新的请求消息。
另外,在本发明各实施例的一些实施方式中,上述第一令牌中还可以包括本地时刻信息;相应地,该实施例的软件运行方法还可以包括:终端设备基于该本地时刻信息进行时钟同步,以与发送该第一令牌的服务器中的时刻信息一致,以便可以更精确的控制该终端设备中软件的运行时间。
另外,可选地,在本发明上述各实施例中,终端设备首次发送给服务器的第二请求消息中的用户信息中,除了用户名和密码外,还可以包括其他用户验证信息,服务器接收到终端设备上报的该用户信息后,可以对该用户信息(包括:用户名和密码,其他用户验证信息)进行验证,在用户信息验证通过、且同时满足本发明上述各实施例记载的确定向终端设备授权软件的使用条件时,才向该终端设备发放第一令牌。
在其中一种可能的实现方式中,上述其他用户验证信息例如可以是,服务器可以在用户购买该软件时向用户授权中心预留的、与运行该软件的终端设备相关的特定用户标识,例如终端设备的用户登录信息等,这样,终端设备首次发送给服务器的第二请求消息时,直接获取该终端设备的用户登录信息并携带在用户信息中发送给服务器,服务器将第二请求消息中的用户信息(包括:用户名和密码,特定用户标识)与从授权中心获取的用户信息进行比对,二者一致确认该用户信息合法,在同时满足本发明上述各实施例记载的确定向终端设备授权软件的使用条件时,向该终端设备发放第一令牌。
基于上述实施例,由于服务器确定是否向上述终端设备授权上述软件的使用时,还需要进一步结合其他用户验证信息对用户信息的合法性进行验证,在该用户信息的合法性通过验证、且同时满足本发明上述各实施例记载的确定向终端设备授权软件的使用条件时,才向该终端设备发放第一令牌,由此可以避免用户信息被扩散后其他终端设备运行该软件,有效避免了软件被非法复制、盗版的问题,避免软件被非法复制或者零成本使用的风险。
图4为本发明一个应用实施例的软件授权处理方法的流程图。该应用实施例可以由服务器(可以称为验证服务器)和终端设备交互执行。该实施例中以第二使用时效信息与第一使用时效信息对应的时长相同为例进行说明。本领域技术人员基于本发明实施例的记载,可以知晓服务器向终端设备发放的不同令牌中使用时效信息对应时长不同的实现方式,本发明实施例不再赘述。如图4所示,该实施例的软件授权处理方法包括:
302,终端设备首次运行软件时,向服务器发送第二请求消息、并按照预设心跳周期计时,该第二请求消息中包括设备信息和用户信息。
到达下一心跳周期时,执行操作312。
304,服务器根据上述第二请求消息,确定是否向上述终端设备授权上述软件的使用。
例如,服务器基于上述用户信息是否具有软件的使用权限、且在当前的统计周期内针对该用户信息的已发放令牌的数量是否达到用户信息对应的最大允许使用数量,确定是否向终端设备授权软件的使用。
在上述用户信息具有软件的使用权限、且在当前的统计周期内针对该用户信息的已发放令牌的数量未达到用户信息对应的最大允许使用数量的情况下,确定向终端设备授权软件的使用。
若确定向上述终端设备授权上述软件的使用,执行操作306,否则,若确定不向上述终端设备授权上述软件的使用,不执行本实施例的后续流程。
306,服务器向上述终端设备发放第一令牌,该第一令牌中包括终端设备的设备信息、第一令牌的使用时效信息。
308,终端设备接收服务器发放的第一令牌后,识别该终端设备的设备信息是否与第一令牌中的设备信息一致。
若该终端设备的设备信息与第一令牌中的设备信息一致,执行操作310。否则,若该终端设备的设备信息与第一令牌中的设备信息不一致,执行操作322。
310,终端在上述第一使用时效信息限定的时间内运行该软件,并确认在该第一令牌的使用时效信息限定的时间结束前是否接收到第二令牌。
若在该第二令牌的使用时效信息限定的时间结束前接收到第二令牌,执行操作318。否则,若未在该第二令牌的使用时效信息限定的时间结束前接收到第二令牌,执行操作324。
312,终端设备向服务器发送第一请求消息、并按照预设的心跳周期计时,该第一请求消息中包括第一令牌和用户信息。
到达预设的下一心跳周期时,再次执行该操作312。
314,服务器根据上述第一请求消息,确定是否向上述终端设备授权上述软件的使用。
若确定向上述终端设备授权上述软件的使用,执行操作316。否则,若确定不向上述终端设备授权上述软件的使用,不执行本实施例的后续流程。
316,服务器向终端设备发放第二令牌。
其中,第二令牌中包括终端设备的设备信息以及第二令牌的使用时效信息。
318,终端设备识别该终端设备的设备信息是否与该第二令牌中的设备信息一致。
若该终端设备的设备信息与该第二令牌中的设备信息一致,执行操作320。否则,若该终端设备的设备信息与该第二令牌中的设备信息一致不一致,执行操作322。
320,终端设备在上述第二令牌的使用时效信息限定的时间内运行上述软件。
之后,终端设备可以确认在该第二令牌的使用时效信息限定的时间结束前是否接收到下一第二令牌,若在该第二令牌的使用时效信息限定的时间结束前接收到第二令牌,执行操作318。否则,若未在该第二令牌的使用时效信息限定的时间结束前接收到第二令牌,执行操作324。
322,终端设备不运行上述软件。
之后,不执行本实施例的后续流程。
324,终端设备在上述第一令牌或第二令牌的使用时效信息限定的时间结束时停止运行上述软件。
基于本实施例,终端设备首次向服务器发送请求消息(第二请求消息)时,可以携带该终端设备的设备信息以及用户信息,服务器会验证该请求消息的合法性,例如其中用户信息对应的用户是否已经购买此软件产品,并确认同一心跳周期内已发放令牌的数量是否已达到该用户信息对应的最大允许使用数量(即;该用户信息对应用户购买的同时使用该软件的设备数量),若合法性通过验证且同一心跳周期内已发放令牌的数量未达到用户信息对应的最大允许使用数量,向终端设备发放带有设备信息以及使用时效限制的第一令牌,从而实现对软件的使用授权和保护。在终端设备运行该软件的过程中,会按照预设心跳周期,周期性将第一令牌以及用户信息作为发送给服务器,服务器判断该第一请求消息合法(第一令牌中包含的信息是否与预设信息相匹配、以及当前的统计周期内针对用户信息的已发放令牌的数量是否达到用户信息对应的最大允许使用数量)后签发第二令牌,终端设备接收到第二令牌后,判断该终端设备的设备信息与服务器下发的第二令牌中的设备信息是否一致,如果不一致则可以停止运行软件,如一直在第二令牌的使用时效信息限定的时间内继续运行该软件。由于服务器每次签发的令牌中包含设备信息,所以如果将令牌复制到其他终端设备上是无法使用的。如果长时间(例如超过一个预设统计周期)收不到请求消息这一心跳数据,服务器可以认为该终端设备上的软件已经下线,可以更新同一统计周期内针对该用户信息签发的令牌数量。
本发明实施例提供的任一种软件授权处理方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本发明实施例提供的任一种软件授权处理方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本发明实施例提及的任一种软件授权处理方法。下文不再赘述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图5为本发明一个实施例的软件授权处理装置的结构示意图。该实施例的软件授权处理装置可设置在服务器中或者作为服务器,实现本发明上述各软件授权处理方法实施例。如图5所示,该实施例的软件授权处理装置包括:第一接收模块和第一确定模块。其中:
第一接收模块,用于接收终端设备按照心跳周期发送的第一请求消息,第一请求消息中包括用于控制软件运行的第一令牌和用户信息。
其中的用户信息即授权用户使用上述软件的权限信息,例如可以包括用户名和密码。其中的用户名唯一标识一个用户,可以是个人用户的用户标识(ID),也可以是公司用户的公司名等等。该用户信息可以在用户购买软件产品后分配给用户,用户可以更改初始分配的密码信息。上述用户信息可以在授权用户使用软件时记录在该软件的授权中心(可以称为用户授权中心),用户更改其中的密码时,用户授权中心的用户信息同步更新。另外,用户授权中心可以实时记录和更新授权使用某一软件的授权使用数量,即:有多少用户具有使用该软件的权限。
由于请求消息是按照预设心跳周期,周期性发送消息,因此也称为软件利用心跳算法产生的心跳数据。
第一确定模块,用于根据第一请求消息,确定是否向终端设备授权软件的使用。
基于本发明上述实施例提供的软件授权处理装置,接收终端设备按照心跳周期发送的第一请求消息,其中包括用于控制软件运行的第一令牌和用户信息;根据该第一请求消息,确定是否向终端设备授权软件的使用,第二令牌可以有效控制终端设备上软件的运行、有效控制同一用户信息同时使用该软件的数量,实现对软件按照使用数量进行收费,且无需绑定运行该软件的特定终端设备。本发明实施例可应用于任何终端设备,例如计算机、虚拟机等。
图6为本发明另一个实施例的软件授权处理装置的结构示意图。如图6所示,与图5所示的实施例相比,该实施例的软件授权处理装置还包括:发放模块,用于在确定向终端设备授权软件的使用的情况下,向终端设备发放第二令牌。
其中的第二令牌中例如可以包括但不限于下列信息中的至少一项:终端设备的设备信息、第二令牌的使用时效信息。
在第二令牌中包括终端设备的设备信息时,可用于限制在与该第二令牌中设备信息一致的终端设备上运行上述软件。如果该软件所在终端设备的设备信息与第二令牌中设备信息不一致,则终端设备停止运行该软件,例如,可以根据预设策略立即停止运行该软件。
其中的设备信息用于唯一对应一个设备,该设备可以是硬件设备,例如计算机、服务器等,也可以是软件设备,例如虚拟机、虚拟服务器等。在其中一些可选示例中,上述设备信息例如可以包括但不限于以下任意一项或多项:IP地址、MAC地址、CPU型号等等。
通过在发送给终端设备的第二令牌中携带终端设备的设备信息,可限制只能在与该第二令牌中设备信息一致的终端设备上运行上述软件,从而可以全面了解有哪些终端设备在运行该软件。
在第二令牌中包括第二令牌的使用时效信息时,可用于限制终端设备在该第二令牌的使用时效信息限定的时间内运行该软件。其中的第二使用时效可以是一个时长,也可以是未来的一个时刻点。如果该软件所在终端设备的设备信息与第二令牌中设备信息一致、但在该第二令牌的使用时效信息限定的时间结束前未收到下一个令牌,则将在该第二令牌的使用时效信息限定的时间结束时停止运行该软件。
通过在发送给终端设备的第二令牌中携带第二令牌的使用时效信息,可以以第二令牌的使用时效信息控制终端设备运行该软件的时间,从而实现对软件时间的及时控制。
在第二令牌中同时包括终端设备的设备信息和第二令牌的使用时效信息时,可用于限制在设备信息与第二令牌中设备信息一致的终端设备上、第二令牌的使用时效信息限定的时间内运行该软件。
在其中一些可选示例中,第二令牌的使用时效信息对应的时长可以大于一个心跳周期对应的时长且小于两个心跳周期对应的时长。设定第二令牌的使用时效信息对应的时长大于一个心跳周期,可以有效保障终端设备连续运行该软件、用户正常连续使用该软件,而不会由于未及时接收到第二令牌被暂时中断运行该软件,而第二令牌的使用时效信息对应的时长小于两个心跳周期,可以避免用户在不符合第二令牌发放条件时继续长时间使用该软件,从而实现对软件使用权限的及时控制。
在其中一些实施方式中,第一确定模块,具体用于基于第一令牌中包含的信息是否与预设信息相匹配、以及当前的统计周期内针对用户信息的已发放令牌的数量是否达到用户信息对应的最大允许使用数量,确定是否向终端设备授权软件的使用。
在其中一些实施方式中,第一确定模块,具体用于在第一令牌中包含的信息与预设信息相匹配、且当前的统计周期内针对用户信息的已发放令牌的数量未达到用户信息对应的最大允许使用数量的情况下,确定向终端设备授权软件的使用。
另外,再参见图6,在又一实施例的软件授权处理装置中,还可以包括:统计模块,用于:按照预设的统计周期,统计针对用户信息的已发放令牌的数量;或者,根据针对用户信息已发放的至少一个令牌的设备信息和令牌发放时间,确定当前有效的令牌数量,并将当前有效的令牌数量确定为针对用户信息的已发放令牌的数量。
其中,上述统计周期对应的时长可以大于一个心跳周期且小于两个心跳周期,可以有效保障全面统计到针对同一用户信息已发放令牌的数量(即:同时使用该软件的用户数量),并且避免了在同一个统计周期内重复统计同一令牌,确保了针对同一用户信息已发放令牌的数量的准确性。
另外,再参见图6,在再一实施例的软件授权处理装置中,还可以包括:第二确定模块,用于基于心跳周期确定第二令牌的使用时效。
另外,可选地,在上述各实施例的软件授权处理装置中,第一接收模块,还可用于接收终端设备发送的第二请求消息,该第二请求消息中包括终端设备的设备信息和用户信息;相应地,发放模块,还可用于在用户信息具有软件的使用权限、且在当前的统计周期内针对用户信息的已发放令牌的数量未达到用户信息对应的最大允许使用数量的情况下,向终端设备发放第一令牌,该第一令牌中包括下列信息中的至少一项:终端设备的设备信息、第一令牌的使用时效信息。
可选地,上述第一令牌还可以包括心跳周期;或者,上述心跳周期预先设置在软件中。
可选地,上述第一令牌还可以包括本地时刻信息,以便终端设备基于本地时刻信息进行时钟同步。
可选地,上述第二令牌还可以包括心跳周期的更新信息,以便终端设备按照该心跳周期的更新信息更新心跳周期。
图7为本发明一个实施例的软件运行装置的结构示意图。该实施例的软件运行装置可应用于终端设备中,实现本发明上述各软件运行方法实施例。如图7所示,该实施例的软件运行装置包括:发送模块,第二接收模块和运行控制模块。其中:
发送模块,用于按照预设心跳周期向服务器发送第一请求消息,第一请求消息中包括用于控制软件运行的第一令牌和用户信息,第一令牌为服务器发放的令牌。
其中的用户信息即授权用户使用上述软件的权限信息,例如可以包括用户名和密码。其中的用户名唯一标识一个用户,可以是个人用户的用户标识(ID),也可以是公司用户的公司名等等。该用户信息可以在用户购买软件产品后分配给用户,用户可以更改初始分配的密码信息。上述用户信息可以在授权用户使用软件时记录在该软件的授权中心(可以称为用户授权中心),用户更改其中的密码时,用户授权中心的用户信息同步更新。另外,用户授权中心可以实时记录和更新授权使用某一软件的授权使用数量,即:有多少用户具有使用该软件的权限。
第二接收模块,用于接收服务器基于第一请求消息发放的第二令牌。
在其中一些实施方式中,上述服务器发放的第二令牌中例如可以包括但不限于下列信息中的至少一项:终端设备的设备信息、第二令牌的使用时效信息。
其中的设备信息用于唯一对应一个设备,该设备可以是硬件设备,例如计算机、服务器等,也可以是软件设备,例如虚拟机、虚拟服务器等。在其中一些可选示例中,上述设备信息例如可以包括但不限于以下任意一项或多项:IP地址、MAC地址、CPU型号等等。
运行控制模块,用于基于第二令牌运行软件。
基于本发明上述实施例提供的软件运行装置,按照预设心跳周期向服务器发送第一请求消息,其中包括用于控制软件运行的第一令牌和用户信息,该第一令牌为服务器发放的令牌;接收服务器基于第一请求消息发放的第二令牌;基于该第二令牌运行软件。第二令牌本发明实施例可以通过服务器发放的令牌有效控制终端设备上软件的运行、有效控制同一用户信息同时使用该软件的数量,实现对软件按照使用数量进行收费,且无需绑定运行该软件的特定终端设备。本发明实施例可应用于任何终端设备,例如计算机、虚拟机等。
在其中一些实施方式中,第二令牌中包括终端设备的设备信息。相应地,该实施例中,运行控制模块,具体用于确定终端设备的设备信息是否与第二令牌中的设备信息一致;在终端设备的设备信息与第二令牌中的设备信息一致的情况下,在终端设备上运行软件。
在其中一些实施方式中,第二令牌中包括第二令牌的使用时效信息。相应地,该实施例中,运行控制模块,具体用于在第二令牌的使用时效信息限定的时间内运行软件。
在其中一些可选示例中,上述第二令牌的使用时效信息对应的时长可以大于一个心跳周期对应的时长且小于两个心跳周期对应的时长。设定第二令牌的使用时效信息对应的时长大于一个心跳周期,可以有效保障终端设备连续运行该软件、用户正常连续使用该软件,而不会由于未及时接收到第二令牌被暂时中断运行该软件,而第二令牌的使用时效信息对应的时长小于两个心跳周期,可以避免用户在不符合第二令牌发放条件时继续长时间使用该软件,从而实现对软件使用权限的及时控制。
另外,在本发明另一个实施例的软件运行装置中,发送模块,还可用于向服务器发送第二请求消息,第二请求消息中包括终端设备的设备信息和用户信息。相应地,该实施例中,第二接收模块,还可用于接收服务器发放的第一令牌,第一令牌中包括下列信息中的至少一项:终端设备的设备信息、第一令牌的使用时效信息;运行控制模块,还可用于基于第一令牌运行软件。
在其中一些实施方式中,上述第一令牌中还可以包括心跳周期;或者,心跳周期预先设置在软件中。
在其中一些实施方式中,上述第一令牌中还可以包括本地时刻信息。图8为本发明又一个实施例的软件运行装置的结构示意图。如图8所示,与图7所示的实施例相比,该实施例的软件运行装置还包括:同步控制模块,用于控制终端设备基于本地时刻信息进行时钟同步。
在其中一些实施方式中,上述第二令牌中还可以包括:心跳周期的更新信息。再参见图8,再一个实施例的软件运行装置还可以包括:更新模块,用于按照心跳周期的更新信息更新心跳周期。
另外,本发明实施例还提供了另一种电子设备,包括:
存储器,用于存储可执行指令;以及
处理器,用于与存储器通信以执行可执行指令从而完成本发明上述任一实施例所述方法的操作。
图9为本发明一个应用实施例的电子设备结构示意图。下面参考图9,其示出了适于用来实现本申请实施例的终端设备或服务器的电子设备的结构示意图。如图9所示,该电子设备包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(CPU),和/或一个或多个图像处理器(GPU)等,处理器可以根据存储在只读存储器(ROM)中的可执行指令或者从存储部分加载到随机访问存储器(RAM)中的可执行指令而执行各种适当的动作和处理。通信部可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡,处理器可与只读存储器和/或随机访问存储器中通信以执行可执行指令,通过总线与通信部相连、并经通信部与其他目标设备通信,从而完成本申请实施例提供的任一方法对应的操作,例如,接收终端设备按照心跳周期发送的第一请求消息,所述第一请求消息中包括用于控制软件运行的第一令牌和用户信息;根据所述第一请求消息,确定是否向所述终端设备授权所述软件的使用。再如,按照预设心跳周期向服务器发送第一请求消息,所述第一请求消息中包括用于控制软件运行的第一令牌和用户信息,所述第一令牌为所述服务器发放的令牌;接收所述服务器基于所述第一请求消息发放的第二令牌;基于所述第二令牌运行所述软件。
此外,在RAM中,还可存储有装置操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。在有RAM的情况下,ROM为可选模块。RAM存储可执行指令,或在运行时向ROM中写入可执行指令,可执行指令使处理器执行本发明上述任一方法对应的操作。输入/输出(I/O)接口也连接至总线。通信部可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在总线链接上。
以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。
需要说明的,如图9所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图9的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如GPU和CPU可分离设置或者可将GPU集成在CPU上,通信部可分离设置,也可集成设置在CPU或GPU上,等等。这些可替换的实施方式均落入本发明公开的保护范围。
另外,本发明实施例还提供了一种计算机存储介质,用于存储计算机可读取的指令,该指令被执行时实现本发明上述任一实施例所述方法的操作。
另外,本发明实施例还提供了一种计算机程序,包括计算机可读取的指令,当计算机可读取的指令在设备中运行时,设备中的处理器执行用于实现本发明上述任一实施例所述方法中的步骤的可执行指令。
在一个可选实施方式中,所述计算机程序具体为软件产品,例如软件开发包(Software Development Kit,SDK),等等。
在一个或多个可选实施方式中,本发明实施例还提供了一种计算机程序程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任一可能的实现方式中所述方法。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,所述计算机程序产品具体体现为软件产品,例如SDK等等。
在一个或多个可选实施方式中,本发明实施例还提供了一种软件授权处理及运行控制方法和装置、电子设备、计算机存储介质、计算机程序以及计算机程序产品,其中,该方法包括:第一装置向第二装置发送请求消息,该请求消息使得第二装置执行上述任一可能的实施例中的软件授权处理方法;第一装置接收第二装置发送的令牌。相应地,响应于接收到令牌,第一装置可以执行上述软件运行方法中的任意实施例中的步骤和/或流程。
特别地,根据本发明实施例的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明实施例的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本发明实施例提供的方法步骤对应的指令,例如,接收终端设备按照心跳周期发送的第一请求消息,所述第一请求消息中包括用于控制软件运行的第一令牌和用户信息;根据所述第一请求消息,确定是否向所述终端设备授权所述软件的使用。再如,按照预设心跳周期向服务器发送第一请求消息,所述第一请求消息中包括用于控制软件运行的第一令牌和用户信息,所述第一令牌为所述服务器发放的令牌;接收所述服务器基于所述第一请求消息发放的第二令牌;基于所述第二令牌运行所述软件。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (44)

1.一种软件授权处理方法,其特征在于,包括:
接收终端设备按照心跳周期发送的第一请求消息,所述第一请求消息中包括用于控制软件运行的第一令牌和用户信息;
根据所述第一请求消息,确定是否向所述终端设备授权所述软件的使用;
在确定向所述终端设备授权所述软件的使用的情况下,向所述终端设备发放第二令牌;所述第二令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第二令牌的使用时效信息;其中,所述第二令牌中的设备信息用于限制在与该第二令牌中设备信息一致的终端设备上运行所述软件,所述第二令牌中的使用时效信息用于限制在该第二令牌的使用时效信息限定的时间内运行所述软件。
2.根据权利要求1所述的方法,其特征在于,所述设备信息包括以下任意一项或多项:IP地址、MAC地址、CPU型号。
3.根据权利要求1所述的方法,其特征在于,所述接收终端设备按照心跳周期发送的第一请求消息之后,还包括:
基于所述心跳周期确定所述第二令牌的使用时效。
4.根据权利要求1-3任一所述的方法,其特征在于,所述第二令牌的使用时效信息对应的时长大于一个所述心跳周期对应的时长且小于两个所述心跳周期对应的时长。
5.根据权利要求1-3任一所述的方法,其特征在于,所述第二令牌中还包括:所述心跳周期的更新信息,以便所述终端设备按照所述心跳周期的更新信息更新所述心跳周期。
6.根据权利要求1-3任一所述的方法,其特征在于,所述用户信息包括:用户名和密码。
7.根据权利要求1-3任一所述的方法,其特征在于,所述根据所述第一请求消息,确定是否向所述终端设备授权所述软件的使用,包括:
基于所述第一令牌中包含的信息是否与预设信息相匹配、以及当前的统计周期内针对所述用户信息的已发放令牌的数量是否达到所述用户信息对应的最大允许使用数量,确定是否向所述终端设备授权所述软件的使用。
8.根据权利要求7所述的方法,其特征在于,所述基于所述第一令牌中包含的信息是否与预设信息相匹配、以及当前的统计周期内针对所述用户信息的已发放令牌的数量是否达到所述用户信息对应的最大允许使用数量,确定是否向所述终端设备授权所述软件的使用,包括:
在所述第一令牌中包含的信息与预设信息相匹配、且当前的统计周期内针对所述用户信息的已发放令牌的数量未达到所述用户信息对应的最大允许使用数量的情况下,确定向所述终端设备授权所述软件的使用。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
按照预设的所述统计周期,统计针对所述用户信息的已发放令牌的数量;或者
根据针对所述用户信息已发放的至少一个令牌的设备信息和令牌发放时间,确定当前有效的令牌数量,并将所述当前有效的令牌数量确定为针对所述用户信息的已发放令牌的数量。
10.根据权利要求7所述的方法,其特征在于,所述统计周期对应的时长大于一个所述心跳周期且小于两个所述心跳周期。
11.根据权利要求1-3、8-10任一所述的方法,其特征在于,在所述接收终端设备按照心跳周期发送的第一请求消息之前,还包括:
接收所述终端设备发送的第二请求消息,所述第二请求消息中包括所述终端设备的设备信息和所述用户信息;
在所述用户信息具有所述软件的使用权限、且在当前的统计周期内针对所述用户信息的已发放令牌的数量未达到所述用户信息对应的最大允许使用数量的情况下,向所述终端设备发放所述第一令牌,所述第一令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第一令牌的使用时效信息。
12.根据权利要求11所述的方法,其特征在于,所述第一令牌还包括所述心跳周期;或者
所述心跳周期预先设置在所述软件中。
13.根据权利要求11所述的方法,其特征在于,所述第一令牌中还包括本地时刻信息,以便所述终端设备基于所述本地时刻信息进行时钟同步。
14.一种软件运行方法,其特征在于,包括:
按照预设心跳周期向服务器发送第一请求消息,所述第一请求消息中包括用于控制软件运行的第一令牌和用户信息,所述第一令牌为所述服务器发放的令牌;
接收所述服务器基于所述第一请求消息发放的第二令牌;所述第二令牌是在所述服务器根据所述第一请求消息,确定向终端设备授权所述软件的使用的情况下发放的;
基于所述第二令牌运行所述软件;所述第二令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第二令牌的使用时效信息;
在所述第二令牌中包括所述终端设备的设备信息的情况下,所述基于所述第二令牌运行所述软件,包括:
确定终端设备的设备信息是否与所述第二令牌中的设备信息一致;在所述终端设备的设备信息与所述第二令牌中的设备信息一致的情况下,在所述终端设备上运行所述软件;
在所述第二令牌中包括所述第二令牌的使用时效信息的情况下,所述基于所述第二令牌运行所述软件,包括:
在所述第二令牌的使用时效信息限定的时间内运行所述软件。
15.根据权利要求14所述的方法,其特征在于,所述设备信息包括以下任意一项或多项:IP地址、MAC地址、CPU型号。
16.根据权利要求14所述的方法,其特征在于,所述第二令牌的使用时效信息对应的时长大于一个所述心跳周期对应的时长且小于两个所述心跳周期对应的时长。
17.根据权利要求14-16任一所述的方法,其特征在于,所述用户信息包括:用户名和密码。
18.根据权利要求14-16任一所述的方法,其特征在于,在所述向服务器发送第一请求消息之前,还包括:
向所述服务器发送第二请求消息,所述第二请求消息中包括所述终端设备的设备信息和所述用户信息;
接收所述服务器发放的所述第一令牌,所述第一令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第一令牌的使用时效信息;
基于所述第一令牌运行所述软件。
19.根据权利要求18所述的方法,其特征在于,所述第一令牌中还包括心跳周期;或者
所述心跳周期预先设置在所述软件中。
20.根据权利要求19所述的方法,其特征在于,所述第一令牌中还包括本地时刻信息;
所述方法还包括:
所述终端设备基于所述本地时刻信息进行时钟同步。
21.根据权利要求14-16、19-20任一所述的方法,其特征在于,所述第二令牌中还包括:所述心跳周期的更新信息;
所述方法还包括:
所述软件按照所述心跳周期的更新信息更新所述心跳周期。
22.一种软件授权处理装置,其特征在于,包括:
第一接收模块,用于接收终端设备按照心跳周期发送的第一请求消息,所述第一请求消息中包括用于控制软件运行的第一令牌和用户信息;
第一确定模块,用于根据所述第一请求消息,确定是否向所述终端设备授权所述软件的使用;
发放模块,用于在确定向所述终端设备授权所述软件的使用的情况下,向所述终端设备发放第二令牌;所述第二令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第二令牌的使用时效信息;其中,所述第二令牌中的设备信息用于限制在与该第二令牌中设备信息一致的终端设备上运行所述软件,所述第二令牌中的使用时效信息用于限制在该第二令牌的使用时效信息限定的时间内运行所述软件。
23.根据权利要求22所述的装置,其特征在于,所述设备信息包括以下任意一项或多项:IP地址、MAC地址、CPU型号。
24.根据权利要求22所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于基于所述心跳周期确定所述第二令牌的使用时效。
25.根据权利要求22-24任一所述的装置,其特征在于,所述第二令牌的使用时效信息对应的时长大于一个所述心跳周期对应的时长且小于两个所述心跳周期对应的时长。
26.根据权利要求22-24任一所述的装置,其特征在于,所述第二令牌中还包括:所述心跳周期的更新信息,以便所述终端设备按照所述心跳周期的更新信息更新所述心跳周期。
27.根据权利要求22-24任一所述的装置,其特征在于,所述用户信息包括:用户名和密码。
28.根据权利要求22-24任一所述的装置,其特征在于,所述第一确定模块,具体用于基于所述第一令牌中包含的信息是否与预设信息相匹配、以及当前的统计周期内针对所述用户信息的已发放令牌的数量是否达到所述用户信息对应的最大允许使用数量,确定是否向所述终端设备授权所述软件的使用。
29.根据权利要求28所述的装置,其特征在于,所述第一确定模块,具体用于在所述第一令牌中包含的信息与预设信息相匹配、且当前的统计周期内针对所述用户信息的已发放令牌的数量未达到所述用户信息对应的最大允许使用数量的情况下,确定向所述终端设备授权所述软件的使用。
30.根据权利要求28所述的装置,其特征在于,所述装置还包括:
统计模块,用于:按照预设的所述统计周期,统计针对所述用户信息的已发放令牌的数量;或者,根据针对所述用户信息已发放的至少一个令牌的设备信息和令牌发放时间,确定当前有效的令牌数量,并将所述当前有效的令牌数量确定为针对所述用户信息的已发放令牌的数量。
31.根据权利要求28所述的装置,其特征在于,所述统计周期对应的时长大于一个所述心跳周期且小于两个所述心跳周期。
32.根据权利要求22-24、29-31任一所述的装置,其特征在于,所述第一接收模块,还用于接收所述终端设备发送的第二请求消息,所述第二请求消息中包括所述终端设备的设备信息和所述用户信息;
所述发放模块,还用于在所述用户信息具有所述软件的使用权限、且在当前的统计周期内针对所述用户信息的已发放令牌的数量未达到所述用户信息对应的最大允许使用数量的情况下,向所述终端设备发放所述第一令牌,所述第一令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第一令牌的使用时效信息。
33.根据权利要求32所述的装置,其特征在于,所述第一令牌还包括所述心跳周期;或者
所述心跳周期预先设置在所述软件中。
34.根据权利要求32所述的装置,其特征在于,所述第一令牌中还包括本地时刻信息,以便所述终端设备基于所述本地时刻信息进行时钟同步。
35.一种软件运行装置,其特征在于,包括:
发送模块,用于按照预设心跳周期向服务器发送第一请求消息,所述第一请求消息中包括用于控制软件运行的第一令牌和用户信息,所述第一令牌为所述服务器发放的令牌;
第二接收模块,用于接收所述服务器基于所述第一请求消息发放的第二令牌;所述第二令牌是在所述服务器根据所述第一请求消息,确定向终端设备授权所述软件的使用的情况下发放的;
运行控制模块,用于基于所述第二令牌运行所述软件;所述第二令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第二令牌的使用时效信息;
在所述第二令牌中包括所述终端设备的设备信息的情况下,所述运行控制模块,具体用于确定终端设备的设备信息是否与所述第二令牌中的设备信息一致;在所述终端设备的设备信息与所述第二令牌中的设备信息一致的情况下,在所述终端设备上运行所述软件;
在所述第二令牌中包括所述第二令牌的使用时效信息的情况下,所述运行控制模块,具体用于在所述第二令牌的使用时效信息限定的时间内运行所述软件。
36.根据权利要求35所述的装置,其特征在于,所述设备信息包括以下任意一项或多项:IP地址、MAC地址、CPU型号。
37.根据权利要求35所述的装置,其特征在于,所述第二令牌的使用时效信息对应的时长大于一个所述心跳周期对应的时长且小于两个所述心跳周期对应的时长。
38.根据权利要求35-37任一所述的装置,其特征在于,所述用户信息包括:用户名和密码。
39.根据权利要求35-37任一所述的装置,其特征在于,所述发送模块,还用于向所述服务器发送第二请求消息,所述第二请求消息中包括所述终端设备的设备信息和所述用户信息;
所述第二接收模块,还用于接收所述服务器发放的所述第一令牌,所述第一令牌中包括下列信息中的至少一项:所述终端设备的设备信息、所述第一令牌的使用时效信息;
所述运行控制模块,还用于基于所述第一令牌运行所述软件。
40.根据权利要求39所述的装置,其特征在于,所述第一令牌中还包括心跳周期;或者
所述心跳周期预先设置在所述软件中。
41.根据权利要求40所述的装置,其特征在于,所述第一令牌中还包括本地时刻信息;
所述装置还包括:
同步控制模块,用于控制所述终端设备基于所述本地时刻信息进行时钟同步。
42.根据权利要求35-37、40-41任一所述的装置,其特征在于,所述第二令牌中还包括:所述心跳周期的更新信息;
所述装置还包括:
更新模块,用于按照所述心跳周期的更新信息更新所述心跳周期。
43.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述权利要求1-21任一所述的方法。
44.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现上述权利要求1-21任一所述的方法。
CN201810551922.XA 2018-05-31 2018-05-31 软件授权处理及运行方法和装置、电子设备 Active CN108846263B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810551922.XA CN108846263B (zh) 2018-05-31 2018-05-31 软件授权处理及运行方法和装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810551922.XA CN108846263B (zh) 2018-05-31 2018-05-31 软件授权处理及运行方法和装置、电子设备

Publications (2)

Publication Number Publication Date
CN108846263A CN108846263A (zh) 2018-11-20
CN108846263B true CN108846263B (zh) 2020-10-27

Family

ID=64210361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810551922.XA Active CN108846263B (zh) 2018-05-31 2018-05-31 软件授权处理及运行方法和装置、电子设备

Country Status (1)

Country Link
CN (1) CN108846263B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032836A (zh) * 2019-03-08 2019-07-19 厦门中控智慧信息技术有限公司 一种终端设备与应用软件的绑定方法及系统
CN110008659B (zh) * 2019-03-29 2021-03-23 深圳华锐金融技术股份有限公司 软件许可的离线管理方法、装置、计算机设备及存储介质
CN111147515B (zh) * 2019-12-31 2021-12-17 北京深思数盾科技股份有限公司 一种访问控制方法和装置
CN111556012B (zh) * 2020-03-24 2023-08-29 福建星网视易信息系统有限公司 一种盗版检测与远程管控方法、装置、设备和介质
CN114745149B (zh) * 2022-02-17 2023-12-05 惠州市博实结科技有限公司 一种软件授权管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102497374A (zh) * 2011-12-13 2012-06-13 方正国际软件有限公司 基于云计算可离线的软件许可集中安全认证系统及其方法
CN103714273A (zh) * 2013-12-31 2014-04-09 深圳市兴邦创新信息技术有限公司 一种基于在线动态授权的软件授权系统及方法
CN104734849A (zh) * 2013-12-19 2015-06-24 阿里巴巴集团控股有限公司 对第三方应用进行鉴权的方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100391189C (zh) * 2006-04-05 2008-05-28 中国科学院研究生院 基于互联网的访问和共享远程设备的系统和方法
US9280871B2 (en) * 2006-07-07 2016-03-08 Emc Corporation Gaming systems with authentication token support
US9672574B2 (en) * 2012-03-20 2017-06-06 Facebook, Inc. Bypass login for applications on mobile devices
CN107294967A (zh) * 2017-06-21 2017-10-24 浙江唯见科技有限公司 一种共享无限制登录系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102497374A (zh) * 2011-12-13 2012-06-13 方正国际软件有限公司 基于云计算可离线的软件许可集中安全认证系统及其方法
CN104734849A (zh) * 2013-12-19 2015-06-24 阿里巴巴集团控股有限公司 对第三方应用进行鉴权的方法及系统
CN103714273A (zh) * 2013-12-31 2014-04-09 深圳市兴邦创新信息技术有限公司 一种基于在线动态授权的软件授权系统及方法

Also Published As

Publication number Publication date
CN108846263A (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
CN108846263B (zh) 软件授权处理及运行方法和装置、电子设备
CN110428257B (zh) 密码破解任务处理方法、设备及存储介质
CN111478967B (zh) 一种请求处理方法及装置
US11423498B2 (en) Multimedia content player with digital rights management while maintaining privacy of users
EP2630606B1 (en) Application usage policy enforcement
US9117055B2 (en) Method and apparatus for downloading DRM module
US10361864B2 (en) Enabling a secure OEM platform feature in a computing environment
US9460272B2 (en) Method and apparatus for group licensing of device features
CN104160405A (zh) 用于信任配置的安全设备环境
CN113079164B (zh) 堡垒机资源的远程控制方法、装置、存储介质及终端设备
CN111526111B (zh) 登录轻应用的控制方法、装置和设备及计算机存储介质
CN110832479A (zh) 用于软件激活和许可证跟踪的系统和方法
US20140157368A1 (en) Software authentication
CN111159657A (zh) 一种应用程序鉴权方法及系统
US20240012883A1 (en) Monitoring license constraints in a container orchestration system
CN109792446A (zh) 瞬态交易服务器
CN105324774B (zh) 许可程序的装置、程序交易装置及其许可程序的方法
CN107154930B (zh) 一种测试漏洞的方法和系统
CN105405008B (zh) 代扣费方法和装置
CN109643337A (zh) 基于云的服务提供方法
KR20230052782A (ko) 디지털 객체 소유권 관리 방법 및 장치
CN105868603A (zh) 基于配置数据的用于访问资源的指纹
CN112862466A (zh) 一种资源转移的方法及结账终端、服务器节点
CN111415148A (zh) 无感支付的方法、装置、电子设备和存储介质
CN110766407A (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