软件授权方法、装置、电子设备及存储介质与流程

文档序号:33463370发布日期:2023-03-15 05:40阅读:35来源:国知局
软件授权方法、装置、电子设备及存储介质与流程

1.本公开涉及软件许可证技术领域,尤其涉及一种软件授权方法、装置、电子设备及存储介质。


背景技术:

2.软件许可证分为终端许可证(node license)和浮动许可证(floating license),其中,浮动许可证浮动在网络上,配合服务器为本地或远程客户端服务,通过动态地将浮动许可证分配给网络上申请使用软件的各个客户端,完成软件许可证的浮动并发授权。
3.相关技术中,大型软件的授权管理经常使用浮动许可证来进行软件授权,用户购买一定数量的浮动许可证,通过浮动许可证的动态发放与回收实现软件的授权管理;但相关技术中,很多用户在打开软件后没有主动关闭软件并释放浮动许可证的意识,或者由于打开软件时程序运行较慢,关闭后再次申请使用软件浪费时间,或者因为用户经常需要使用软件,不愿意去频繁关闭软件并释放浮动许可证等原因,导致已经发放给用户的浮动许可证长期被占用,由于浮动许可证总数有限,其他用户申请使用软件时没有可发放的浮动许可证,导致申请使用软件的用户得不到授权,进而带来软件授权灵活性较差,浮动许可证使用效率较低的技术问题。


技术实现要素:

4.本公开提供一种软件授权方法、装置、电子设备及存储介质,以至少解决相关技术中已发放的许可证长期被占用,其他用户申请使用软件时得不到授权,软件授权灵活性较差,浮动许可证使用效率较低等问题。本公开的技术方案如下:
5.根据本公开实施例的一方面,提供一种软件授权方法,包括:
6.接收第一客户端发送的目标软件的启动授权请求;
7.获取所述目标软件的启动许可证数目;
8.在所述启动许可证数目为零的情况下,获取第二客户端的第一许可借用信息;所述第二客户端为同意借出第一许可证的客户端;所述第一许可证为已授权给所述第二客户端的所述目标软件对应的启动许可证;
9.在所述第一许可借用信息中的第一借用指示信息为待借出,且所述借入时长小于等于所述剩余借出时长的情况下,向所述第二客户端发送许可证获取请求以借用所述第一许可证;
10.接收所述第二客户端发送的所述第一许可证;
11.向所述第一客户端发送所述第一许可证,以使所述第一客户端基于所述第一许可证,启动所述目标软件。启动授权请求
12.根据本公开实施例的第二方面,提供一种软件授权方法,应用于第一客户端,包括:
13.向服务器发送目标软件的启动授权请求,以使所述服务器获取所述目标软件的启
动许可证数目,在所述启动许可证数目为零的情况下,获取第二客户端的第一许可借用信息;在所述所述第一许可借用信息中的第一借用指示信息为待借出的情况下,从所述第二客户端获取所述第一许可证;所述第二客户端为同意借出第一许可证的客户端;所述第一许可证为已授权给所述第二客户端的所述目标软件对应的启动许可证,
14.接收所述服务器发送的所述第一许可证;
15.基于所述第一许可证,启动所述目标软件。
16.根据本公开实施例的第三方面,提供一种软件授权装置,包括:
17.启动请求接收模块,用于接收第一客户端发送的目标软件的启动授权请求;
18.启动许可证数目获取模块,用于获取所述目标软件的启动许可证数目;
19.第一许可借用信息获取模块,用于在所述启动许可证数目为零的情况下,获取第二客户端的第一许可借用信息;所述第二客户端为同意借出第一许可证的客户端;所述第一许可证为已授权给所述第二客户端的所述目标软件对应的启动许可证;
20.许可证获取请求发送模块,用于在所述第一许可借用信息中的第一借用指示信息为待借出的情况下,向所述第二客户端发送许可证获取请求;
21.第二客户端许可证接收模块,用于接收所述第二客户端发送的所述第一许可证;
22.第一客户端许可证发送模块,用于向所述第一客户端发送所述第一许可证,以使所述第一客户端基于所述第一许可证,启动所述目标软件。
23.根据本公开实施例的第四方面,提供一种软件授权装置,应用于第一客户端,包括:
24.启动请求发送模块,用于向服务器发送目标软件的启动授权请求,以使所述服务器获取所述目标软件的启动许可证数目,在所述启动许可证数目为零的情况下,获取第二客户端的第一许可借用信息;在所述第一许可借用信息中的第一借用指示信息为待借出,且所述借入时长小于等于所述剩余借出时长的情况下,从所述第二客户端获取所述第一许可证;所述第二客户端为同意借出第一许可证的客户端;所述第一许可证为已授权给所述第二客户端的所述目标软件对应的启动许可证,
25.第一许可证接收模块,用于接收所述服务器发送的所述第一许可证;
26.软件启动模块,用于基于所述第一许可证,启动所述目标软件。
27.根据本公开实施例的第五方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上述第一方面和第二方面中任一项所述的方法。
28.根据本公开实施例的第六方面,提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行本公开实施例的第一方面或第二方面中任一项所述方法。
29.本公开的实施例提供的技术方案至少带来以下有益效果:
30.在进行软件授权管理时,若接收第一客户端发送的目标软件的启动授权请求,可以获取目标软件的启动许可证数目,并在启动许可证数目为零,即没有可发放的启动许可证的情况下,获取第二客户端的第一许可借用信息;在第一许可借用信息中的第一借用指示信息为待借出,即第二客户端可以向第一客户端借出目标软件的启动许可证的情况下,可以从第二客户端获取目标软件的第一许可证,并发送给第一客户端,以使第一客户端基
于第一许可证,启动目标软件,实现在用户申请使用软件没有可发放的启动许可证,导致申请使用软件的用户得不到授权时,可以向已获得软件授权的用户借用许可证,通过共享许可证的方式获得软件授权以使用软件,有效提升了软件授权灵活性和软件的启动许可证的使用效率。
31.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
32.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
33.图1是根据一示例性实施例示出的一种应用环境的示意图;
34.图2是根据一示例性实施例示出的一种软件授权方法的流程图;
35.图3是根据一示例性实施例示出的另一种软件授权方法的的流程示意图;
36.图4是根据一示例性实施例示出的另一种软件授权方法的的流程示意图;
37.图5是根据一示例性实施例示出的另一种软件授权方法的流程示意图;
38.图6是根据一示例性实施例示出的另一种软件授权方法的流程图;
39.图7是根据一示例性实施例示出的另一种软件授权方法的流程图;
40.图8是根据一示例性实施例示出的另一种软件授权方法的流程图;
41.图9是根据一示例性实施例示出的一种以服务器为执行主体的软件授权方法的流程图;
42.图10是根据一示例性实施例示出的一种以第一客户端为执行主体的软件授权方法额流程图;
43.图11是根据一示例性实施例示出的一种软件授权装置框图;
44.图12是根据一示例性实施例示出的另一种软件授权装置框图;
45.图13是根据一示例性实施例示出的一种用于软件授权的电子设备的框图;
46.图14是根据一示例性实施例示出的一种用于软件授权的电子设备的框图。
具体实施方式
47.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
48.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
49.需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
50.请参阅图1,图1是根据一示例性实施例示出的一种应用环境的示意图,该应用环境可以包括多个客户端100和服务器200。
51.在一个可选的实施例中,多个客户端100可以为本地或远程客户端,多个客户端100可以用于面向任一用户提供目标软件的交互服务。服务器200可以通过动态地将目标软件对应的启动许可证分配给网络上申请使用目标软件的多个客户端100,实现对多个客户端100的软件授权管理。
52.在一个可选的实施例中,多个客户端100可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑等类型的电子设备,可选的,电子设备上运行的操作系统可以包括但不限于安卓系统、ios系统、linux、windows等;服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。
53.此外,需要说明的是,图1所示的仅仅是本公开提供的一种应用环境,在实际应用中,还可以包括其他应用环境,例如可以包括更多的服务器。
54.本说明书实施例中,上述多个客户端100和服务器200可以通过有线或无线通信方式进行直接或间接地连接,本公开在此不做限制。
55.以下从客户端和服务器交互的角度介绍本技术一种软件授权方法的实施例,如图2所示,图2是根据一示例性实施例示出的一种软件授权方法的流程图,该方法可以包括以下步骤:
56.在步骤s201中,第一客户端向服务器发送目标软件的启动授权请求。
57.在一个具体的实施例中,上述第一客户端可以为申请使用目标软件的客户端;上述目标软件可以为采用客户端/服务器(c/s)结构,并使用浮动许可证对本地或远程客户端进行授权管理的软件。
58.上述启动授权请求可以包括:第一客户端的标识信息和第一客户端指定的服务器标识信息,具体的,第一客户端的标识信息可以为客户端ip地址信息,第一客户端指定的服务器标识信息可以为服务器主机名或服务器ip地址信息。可选的,用户可以通过客户端提供的用户操作界面,触发上述启动授权请求,也可以结合预设的外接设备触发上述启动授权请求。
59.在一个可选的实施例中,上述启动授权请求还可以包括借入时长,具体的,借入时长可以为第一客户端用户提前设置的拟借用目标软件的启动许可证的时长,具体的,目标软件的启动许可证为浮动许可证。借入时长可以结合实际应用需求进行设置,例如十分钟等。
60.在上述实施例中,第一客户端通过向服务器发送启动授权请求的方式,向服务器申请使用目标软件,便于后续在服务器侧没有可授权的目标软件对应的启动许可证的情况下,能够基于启动授权请求尝试向其他客户端借用目标软件对应的启动许可证以获得软件授权,提高了第一客户端获得软件授权的概率。
61.在步骤s203中,服务器获取目标软件的启动许可证数目。
62.在一个具体的实施例中,上述启动许可证数目可以为存放于服务器中的目标软件对应的启动许可证的数目。
63.在上述实施例中,服务器通过获取目标软件的启动许可证数目,判断当前是否有
可以向第一客户端发送的目标软件对应的启动许可证,基于启动许可证数目进行后续操作,保证了后续软件授权管理的准确性。
64.在步骤s205中,在启动许可证数目为零的情况下,服务器获取第二客户端的第一许可借用信息。
65.在一个具体的实施例中,上述第二客户端可以为同意借出第一许可证的客户端;上述第一许可证可以为已授权给第二客户端的目标软件对应的启动许可证。第一许可借用信息可以包括:第一借用指示信息,具体的,第一借用指示信息可以为指示第一许可证当前借用状态的信息,具体的,第一借用指示信息可以为待借出或已借用。
66.在一个可选的实施例中,上述第一许可借用信息还可以包括:第一剩余借出时长,具体的,第一剩余借出时长为第一许可证当前剩余的可被借出使用的时长。
67.在一个可选的实施例中,第二客户端在暂停使用目标软件的情况下,预先通过向服务器发送借出请求,以生成上述第一许可借用信息,相应的,在服务器获取第二客户端的第一许可借用信息之前,上述方法还包括:
68.第二客户端向服务器发送第一许可证的借出请求;
69.服务器基于借用时段信息,生成第一许可借用信息。
70.具体的,上述借出请求可以包括借用时段信息;上述借用时段信息可以为第二客户端设置的拟借出第一许可证的时间段,例如,2021年7月9号12:30-13:00。
71.在一个可选的实施例中,上述基于借用时段信息,生成第一许可借用信息可以包括:基于借用时段信息,确定第一剩余借出时长;并生成当前借用状态为待借出的第一借用指示信息;并将第一剩余借出时长和第一借用指示信息作为第一许可借用信息。具体的,服务器可以基于借用时段信息与当前时间信息计算出第一剩余借出时长。
72.在一个具体的实施例中,上述借出请求还可以包括:第二客户端的标识信息,具体的,第二客户端的标识信息可以为服务器与第二客户端的socket连接描述符,也可以为第二客户端的ip地址信息;可选的,可以结合第二客户端的标识信息来存储上述第一许可借用信息。
73.上述实施例中,第二客户端先向服务器发送第一许可证的借出请求,通过第二客户端在不使用软件时将第一许可证借出的方式,便于后续与其他客户端共享第一许可证,显著提升了许可证的使用效率。
74.在一个可选的实施例中,上述第一许可借用信息还可以包括:借用频率信息,相应的,上述服务器基于借用时段信息,生成第一许可借用信息包括:
75.服务器获取第二客户端的历史许可借用信息;
76.服务器根据历史许可借用信息,确定借用频率信息;
77.服务器基于借用时段信息和借用频率信息,生成第一许可借用信息。
78.在一个具体的实施例中,上述历史许可借用信息可以为表征第二客户端在历史时间段内的许可证借出情况的信息,具体的,历史许可借用信息可以包括第二客户端在历史时间段内的借出次数信息和借出时长信息,具体的,历史时间段可以为结合实际应用需求进行设置,例如当前时间之前的一个小时等。
79.在一个具体的实施例中,上述服务器根据历史许可借用信息,确定借用频率信息可以包括:服务器基于借出次数信息和借出时长信息,计算第二客户端在历史时间段内的
借用频率信息;
80.在一个具体的实施例中,上述服务器基于借用时段信息和借用频率信息,生成第一许可借用信息可以包括:服务器基于借用时段信息,确定第一剩余借出时长;生成当前借用状态为待借出的第一借用指示信息;并将第一剩余借出时长、第一借用指示信息、借用频率信息,作为第一许可借用信息。
81.在一个可选的实施例中,在服务器基于借用时段信息和借用频率信息,生成第一许可借用信息之后,上述方法还包括:
82.在借用频率大于预设借用频率的情况下,服务器向第二客户端发送停止使用信息;
83.第二客户端基于停止使用信息,暂停使用目标软件;
84.第二客户端向服务器发送第一许可证;
85.第二客户端退出目标软件。
86.在一个具体的实施例中,上述预设借用频率可以为在服务器中提前设置的频率信息,具体的,在服务器中提前设置的频率信息可以为表征客户端在一定时间段内被允许借出许可证的最大频率信息,例如,5次/小时;上述停止使用信息可以为指示第二客户端暂停使用目标软件向服务器发送第一许可证,并在发送第一许可证之后退出目标软件的指示信息。
87.在一个具体的实施例中,上述在借用频率大于预设借用频率的情况下,服务器向第二客户端发送停止使用信息可以包括:服务器比对借用频率和预设借用频率生成比对结果,具体的,比对结果可以为借用频率大于、小于或等于预设借用频率,在比对结果为借用频率大于预设借用频率的情况下,服务器生成停止使用信息,并向第二客户端发送停止使用信息。
88.在一个具体的实施例中,在上述第二客户端退出目标软件之后,上述方法还包括:
89.服务器更新第一许可借用信息;
90.具体的,服务器可以将该第二客户端对应的第一许可借用信息从服务器中删除。
91.上述实施例中,在第二客户端的借用频率大于预设借用频率的情况下,服务器向第二客户端发送停止使用信息,以使第二客户端返还第一许可证并退出目标软件,有效防止了第二客户端不关闭目标软件,企图永久占用许可证的恶意频繁借用情况,进而保证了许可证的使用效率,提升了软件授权的合理性与灵活性。
92.在步骤s207中,在第一借用指示信息为待借出的情况下,服务器向第二客户端发送许可证获取请求以借用第一许可证。
93.在一个具体的实施例中,在第一借用指示信息为待借出的情况下,可以确定已授权给第二客户端的第一许可证,可以借用给第一客户端,相应的,服务器向第二客户端发送许可证获取请求,具体的,上述许可证获取请求可以为服务器向第二客户端发送的获取第一许可证的请求信息。
94.在一个可选的实施例中,启动授权请求可以包括借入时长,第一许可借用信息还可以包括第一剩余借出时长,上述在第一借用指示信息为待借出的情况下,向第二客户端发送许可证获取请求以借用第一许可证还包括:
95.在第一借用指示信息为待借出,且借入时长小于等于剩余借出时长的情况下,向
第二客户端发送许可证获取请求以借用第一许可证。
96.具体的,在第一借用指示信息为待借出,且借入时长小于等于剩余借出时长的情况下,可以确定已授权给第二客户端的第一许可证,可以保证在不影响第二客户端正常使用的前提下,将第一许可证借用给第一客户端,相应的,服务器向第二客户端发送许可证获取请求。
97.在一个可选的实施例中,上述方法还包括:
98.在第一借用指示信息为已借用,或,第一借用指示信息为待借出且借入时长大于第一剩余借出时长的情况下,上述服务器向第一客户端发送拒绝获取请求信息。
99.在一个具体的实施例中,在第一借用指示信息为已借用,或,第一借用指示信息为待借出且借入时长大于第一剩余借出时长的情况下,可以确定已授权给第二客户端的第一许可证,无法借用给第一客户端,相应的,服务器可以向第一客户端发送拒绝获取请求信息。具体的,上述拒绝获取请求信息可以为拒绝进行软件授权的提示信息。
100.上述实施例中,在结合第二客户端的第一借用指示信息和第一剩余借出时长,以及第一客户端的借入时长,可以确定是否能将授权给第二客户端的第一许可证借用给第一客户端,进而可以增加第一客户端获得软件授权的几率。
101.在步骤s209中,第二客户端向服务器发送第一许可证。
102.在一个具体的实施例中,在第二客户端向服务器发送第一许可证之前,上述方法还包括:
103.第二客户端暂停使用目标软件。
104.在步骤s211中,服务器向第一客户端发送第一许可证。
105.在一个可选的实施例中,在服务器向第一客户端发送第一许可证的情况下,上述方法还包括:服务器更新第一许可借用信息。
106.具体的,服务器更新第一许可借用信息可以包括服务器更新第一借用指示信息为已借用,并更新第一剩余借出时长。
107.上述实施例中,服务器向第一客户端发送第一许可证,使得第一客户端在获取不到未授权的启动许可证时,能借用第二客户端的第一许可证进而正常使用目标软件;在向第一客户端发送第一许可证之后,服务器及时更新第一许可借用信息,便于后续客户端申请使用软件时,根据实际的第一许可证借用情况进行软件授权管理,从而提升了软件授权的灵活性。
108.在步骤s213中,第一客户端基于第一许可证,启动目标软件。
109.在一个可选的实施例中,如图3所示,在服务器向第一客户端发送第一许可证之后,上述方法还可以包括:
110.在步骤s215中,第二客户端向服务器发送第一停止借用请求;
111.在步骤s217中,基于第一停止借用请求,服务器向第一客户端发送第一停止借用指令;
112.在步骤s219中,第一客户端响应于第一停止借用指令,暂停使用目标软件;
113.在步骤s221中,第一客户端向服务器发送第一许可证;
114.在步骤s223中,第一客户端退出目标软件;
115.在步骤s225中,服务器向第二客户端发送第一许可证;
116.在步骤s227中,第二客户端基于第一许可证,启动目标软件。
117.在一个可选的实施例中,上述第一停止借用请求可以为第二客户端在第一剩余借出时长到期之前申请提前结束借用的请求信息,上述第一停止借用指令可以为指示第一客户端停止借用并返还第一许可证的指示信息。
118.上述实施例中,在服务器向第一客户端发送第一许可证之后,第二客户端可以通过向服务器发送第一停止借用请求的方式收回第一许可证,服务器向第一客户端发送第一停止借用指令,基于第一停止借用指令第一客户端归还第一许可证,可以在如第二客户端因为紧急事务需要立刻使用软件的情况下提前结束借出,保证了第二客户端使用第一许可证的优先权,进而提升了软件授权的灵活性。
119.在一个可选的实施例中,如图4所示,在第一客户端基于第一许可证启动目标软件之后,上述方法还包括:
120.在步骤s229中,服务器检测启动许可证数目;
121.在步骤s231中,在检测到启动许可证数目大于零的情况下,服务器获取目标软件的第二许可证;
122.在步骤s233中,服务器向第一客户端发送第二许可证;
123.在步骤s235中,第一客户端暂停使用目标软件
124.在步骤s237中,第一客户端向服务器发送第一许可证;
125.在步骤s239中,第一客户端基于第二许可证继续使用目标软件;
126.在步骤s241中,服务器向第二客户端发送第一许可证;
127.在一个具体的实施例中,上述服务器检测启动许可证数目可以包括,服务器实时或定时检测启动许可证数目;在上述在检测到启动许可证数目大于零的情况下,可以确定服务器侧存在未授权给任一客户端的目标软件对应的启动许可证,因此,服务器能够获取目标软件对应的第二许可证,并将该第二许可证发送给第一客户端。具体的,第二许可证可以为服务器侧未授权给任一客户端的目标软件对应的启动许可证。
128.在一个具体的实施例中,在上述第一客户端向服务器发送第一许可证之后,上述方法还包括:服务器更新第一许可借用信息。
129.具体的,服务器更新第一许可借用信息可以包括:服务器更新第一借用指示信息为待借出,并更新第一剩余借出时长。
130.上述实施例中,在第一客户端基于第一许可证启动目标软件之后,服务器检测启动许可证数目,并在启动许可证数目大于零的情况下向第一客户端发送第二许可证,使得第一客户端基于第二许可证正常使用目标软件并结束许可证借用,保证第一客户端能优先使用第二许可证,基于第二许可证获得正式的软件授权,同时收回第一许可证也增加了其他客户端获取第一许可证的几率,提高了第一许可证和第二许可证的使用效率,从而提升软件授权的准确性与灵活性。
131.在一个可选的实施例中,第一许可借用信息还包括:第一剩余借出时长;在第一客户端基于第一许可证,启动目标软件之后,如图5所示,上述方法还包括:
132.在步骤s243中,在第一剩余借出时长小于预设时长的情况下,服务器向第一客户端发送到期提示信息。
133.在一个可选的实施例中,在服务器向第一客户端发送到期提示信息之后,上述方
法还包括:
134.在步骤s245中,基于到期提示信息,第一客户端向服务器发送续借请求;
135.在步骤s247中,服务器向第二客户端发送续借询问请求;
136.在步骤s249中,第二客户端基于续借时长,生成续借指示信息;
137.在步骤s251中,第二客户端向服务器发送续借指示信息;
138.在步骤s253中,在续借指示信息为同意续借的情况下,服务器向第一客户端发送允许续借指令;
139.在步骤s255中,第一客户端响应于允许续借指令,继续使用目标软件。
140.在一个具体的实施例中,上述续借询问请求包括续借时长,具体的,续借时长可以为第一客户端设置的继续借用第一许可证的时长;上述续借指示信息可以用于指示第二客户端是否同意续借的情况,具体的,续借指示信息可以为同意续借或不同意续借。
141.在一个可选的实施例中,在续借指示信息为不同意续借的情况下,如图6所示,上述方法还包括:
142.在步骤s257中,服务器查找第三客户端的第二许可借用信息。
143.在步骤s259中,在第二借用指示信息为待借出,且续借时长小于等于第二剩余借出时长的情况下,服务器向第三客户端发送许可证获取请求;
144.在步骤s261中,第三客户端向服务器发送第三许可证;
145.在步骤s263中,服务器向第一客户端发送第三许可证;
146.在步骤s265中,在使用目标软件的时长到达借用时长的情况下,第一客户端暂停使用目标软件;
147.在步骤s267中,第一客户端向服务器发送第一许可证;
148.在步骤s269中,第一客户端基于第三许可证,继续使用目标软件。
149.在一个具体的实施例中,第三客户端为除第二客户端以外的同意借出第三许可证的客户端,第三许可证为已授权给第三客户端的目标软件对应的启动许可证;第二许可借用信息可以包括:第二借用指示信息和第二剩余借出时长,具体的,第二借用指示信息可以为指示第三许可证当前借用状态的信息,第二剩余借出时长可以为第三许可证当前剩余的可被借出使用的时长。
150.在一个可选的实施例中,如图7所示,在第二借用指示信息为已借用,或,第二借用指示信息为待借出且续借时长大于第二剩余借出时长的情况下,上述方法还包括:
151.在步骤s271中,服务器向第一客户端发送续借拒绝指令;
152.在步骤s273中,第一客户端响应于续借拒绝指令,在使用目标软件的时长到达借用时长的情况下,第一客户端暂停使用目标软件;
153.在步骤s275中,第一客户端向服务器发送第一许可证;
154.在步骤s277中,第一客户端退出目标软件;
155.在步骤s279中,服务器向第二客户端发送第一许可证;
156.在步骤s281中,第二客户端基于第一许可证,继续使用目标软件。
157.上述实施例中,服务器向第一客户端发送到期提示信息,第一客户端向服务器发送续借请求,第二客户端用户根据实际情况回应续借询问请求,基于第二客户端对续借询问请求的回应,服务器向第一客户端发送允许续借指令或续借拒绝指令,使得第一客户端
能够在借用时长到期时基于第一许可证继续使用目标软件,或者在第一客户端被拒绝续借时,通过服务器查找并借用第三客户端的第三许可证继续使用目标软件,或者在第一客户端被拒绝续借且查找不到可借用的第三许可证的情况下,能在借用时长到期时及时归还第一许可证,进而提升第一许可证和第三许可证的使用效率,提高软件授权的灵活性。
158.在一个可选的实施例中,如图8所示,在服务器获取目标软件的启动许可证数目之后,上述方法还包括:
159.在步骤s801中,在启动许可证数目大于零的情况下,服务器向第一客户端发送目标软件的第二许可证;
160.在步骤s803中,第一客户端基于第二许可证,启动目标软件。
161.在一个具体的实施例中,上述第二许可证可以为未授权给任一客户端的目标软件对应的启动许可证。
162.上述实施例中,服务器获取目标软件的启动许可证数目,根据启动许可证数目等于零或大于零判断当前是否能够向发送启动授权请求的第一客户端直接进行软件授权,在启动许可证数目大于零的情况下,服务器向第一客户端发送目标软件的第二许可证,从而对第一客户端进行授权,保证当服务器中存在第二许可证(未授权给客户端的目标软件对应的启动许可证)时,优先将第二许可证发送给第一客户端,进而提升软件授权的准确性。
163.以下以服务器为执行主体,介绍本技术一种软件授权方法,如图9所示,上述方法可以包括:
164.在步骤s901中,接收第一客户端发送的目标软件的启动授权请求;
165.在步骤s903中,获取目标软件的启动许可证数目;
166.在步骤s905中,在启动许可证数目为零的情况下,获取第二客户端的第一许可借用信息;第二客户端为同意借出第一许可证的客户端;第一许可证为已授权给第二客户端的目标软件对应的启动许可证;
167.在步骤s907中,在第一许可借用信息中的第一借用指示为待借出的情况下,向第二客户端发送许可证获取请求;
168.在步骤s909中,接收第二客户端发送的第一许可证;
169.在步骤s911中,向第一客户端发送第一许可证,以使第一客户端基于第一许可证,启动目标软件。
170.在一个可选的实施例中,上述在第一许可借用信息中的第一借用指示为待借出的情况下,向第二客户端发送许可证获取请求还包括:
171.在所述第一借用指示信息为待借出,且所述借入时长小于等于所述剩余借出时长的情况下,向第二客户端发送许可证获取请求。
172.在一个可选的实施例中,上述方法还包括:
173.在第一借用指示信息为已借用,或,第一借用指示信息为待借出且借入时长大于第一剩余借出时长的情况下,向第一客户端发送拒绝获取请求信息。
174.在一个可选的实施例中,第一许可借用信息包括:第一剩余借出时长;在向第一客户端发送第一许可证之后,上述方法还包括:
175.在第一剩余借出时长小于预设时长的情况下,向第一客户端发送到期提示信息。
176.在一个可选的实施例中,在向第一客户端发送到期提示信息之后,上述方法还包
括:
177.接收第一客户端基于到期提示信息发送的续借请求,续借请求包括续借时长;
178.向第二客户端发送续借询问请求,续借询问请求包括续借时长,以使第二客户端基于续借时长,生成续借指示信息;
179.接收第二客户端发送的续借指示信息
180.在续借指示信息为同意续借的情况下,向第一客户端发送允许续借指令,以使第一客户端响应于允许续借指令,继续使用目标软件。
181.在一个可选的实施例中,上述方法还包括:
182.在续借指示信息为不同意续借的情况下,查找第三客户端的第二许可借用信息,第三客户端为除第二客户端以外的同意借出第三许可证的客户端,第三许可证为已授权给第三客户端的目标软件对应的启动许可证;第二许可借用信息包括:第二借用指示信息和第二剩余借出时长;
183.在第二借用指示信息为待借出,且续借时长小于等于第二剩余借出时长的情况下,向第三客户端发送许可证获取请求;
184.接收第三客户端发送的第三许可证;
185.向第一客户端发送第三许可证;
186.在使用目标软件的时长到达借用时长,第一客户端暂停使用目标软件的情况下;接收第一客户端发送的第一许可证,以使第一客户端基于第三许可证,继续使用目标软件。
187.在一个可选的实施例中,上述方法还包括:
188.在第二借用指示信息为已借用,或,第二借用指示信息为待借出且续借时长大于第二剩余借出时长的情况下,向第一客户端发送续借拒绝指令,以使第一客户端响应于续借拒绝指令,在使用目标软件的时长到达借用时长的情况下,退出目标软件;
189.接收第一客户端发送的第一许可证;
190.向第二客户端发送第一许可证,以使第二客户端基于第一许可证,启动目标软件。
191.在一个可选的实施例中,在向第一客户端发送第一许可证之后,上述方法还包括:
192.接收第二客户端发送的第一停止借用请求;
193.基于第一停止借用请求,向第一客户端发送第一停止借用指令,以使第一客户端响应于第一停止借用指令,退出目标软件;
194.接收第一客户端发送的第一许可证;
195.向第二客户端发送第一许可证,以使第二客户端基于第一许可证,启动目标软件;
196.更新第一许可借用信息。
197.在一个可选的实施例中,在向第一客户端发送第一许可证之后,上述方法还包括:
198.检测启动许可证数目;
199.在检测到启动许可证数目大于零的情况下,获取目标软件的第二许可证,第二许可证为目标软件的启动许可证中未授权出去的启动许可证;
200.向第一客户端发送第二许可证;
201.在第一客户端暂停使用目标软件的情况下,接收第一客户端发送的第一许可证,以使第一客户端基于第二许可证继续使用目标软件;
202.向第二客户端发送第一许可证;
203.更新第一许可借用信息。
204.在一个可选的实施例中,在获取目标软件的启动许可证数目之后,上述方法还包括:
205.在启动许可证数目大于零的情况下,向第一客户端发送目标软件的第二许可证,以使第一客户端基于第二许可证,启动目标软件。
206.在一个可选的实施例中,在获取第二客户端的第一许可借用信息之前,上述方法还包括:
207.接收第二客户端发送的第一许可证的借出请求,借出请求包括借用时段信息;
208.基于借用时段信息,生成第一许可借用信息。
209.在一个可选的实施例中,第一许可借用信息还包括:借用频率信息;基于借用时段信息,生成第一许可借用信息包括:
210.获取第二客户端的历史许可借用信息;
211.根据历史许可借用信息,确定借用频率信息;
212.基于借用时段信息和借用频率信息,生成第一许可借用信息。
213.在一个可选的实施例中,上述方法还包括:
214.在借用频率大于预设借用频率的情况下,向第二客户端发送停止使用信息,以使第二客户端基于停止使用信息暂停使用目标软件;
215.接收第二客户端发送的第一许可证,以使第二客户端退出目标软件。
216.关于上述服务器侧的实施例中的相关步骤的具体实施方式已经在有关该方法的交互侧实施例中进行了详细描述,此处将不做详细阐述说明。
217.以下以第一客户端为执行主体,介绍本技术一种软件授权方法,如图10所示,上述方法可以包括:
218.在步骤s1001中,向服务器发送目标软件的启动授权请求;以使服务器获取目标软件的启动许可证数目,在启动许可证数目为零的情况下,获取第二客户端的第一许可借用信息;在第一许可借用信息中的第一借用指示信息为待借出,且借入时长小于等于剩余借出时长的情况下,从第二客户端获取第一许可证;第二客户端为同意借出第一许可证的客户端;第一许可证为已授权给第二客户端的目标软件对应的启动许可证,
219.在步骤s1003中,接收服务器发送的第一许可证;
220.在步骤s1005中,基于第一许可证,启动目标软件。
221.关于上述第一客户端侧的实施例中的相关步骤的具体实施方式已经在有关该方法的交互侧实施例中进行了详细描述,此处将不做详细阐述说明。
222.图11是根据一示例性实施例示出的一种软件授权装置框图。参照图11,该装置包括:
223.启动请求接收模块1110,用于接收第一客户端发送的目标软件的启动授权请求;
224.启动许可证数目获取模块1120,用于获取目标软件的启动许可证数目;
225.第一许可借用信息获取模块1130,用于在启动许可证数目为零的情况下,获取第二客户端的第一许可借用信息;第二客户端为同意借出第一许可证的客户端;第一许可证为已授权给第二客户端的目标软件对应的启动许可证;
226.许可证获取请求发送模块1140,用于在第一许可借用信息中的第一借用指示信息
为待借出,且借入时长小于等于剩余借出时长的情况下,向第二客户端发送许可证获取请求;
227.第二客户端许可证接收模块1150,用于接收第二客户端发送的第一许可证;
228.第一客户端许可证发送模块1160,用于向第一客户端发送第一许可证,以使第一客户端基于第一许可证,启动目标软件。
229.在一个可选的实施例中,上述第一许可借用信息获取模块1230还包括:
230.第一借用指示信息获取单元,用于获取第二客户端第一借用指示信息;
231.第一剩余借出时长获取单元,用于获取第二客户端第一剩余借出时长。
232.在一个可选的实施例中,上述装置还包括:
233.拒绝信息发送模块,用于在第一借用指示信息为已借用,或,第一借用指示信息为待借出且借入时长大于第一剩余借出时长的情况下,向第一客户端发送拒绝获取请求信息。
234.在一个可选的实施例中,上述装置还包括:
235.到期提示模块,用于在剩余借出时长小于预设时长的情况下,向第一客户端发送到期提示信息。
236.在一个可选的实施例中,上述到期提示模块还包括:
237.续借请求接收单元,用于接收第一客户端基于到期提示信息发送的续借请求,续借请求包括续借时长;
238.续借询问单元,用于向第二客户端发送续借询问请求,续借询问请求包括续借时长,以使第二客户端基于续借时长,生成续借指示信息;
239.续借指示信息接收单元,用于接收第二客户端发送的续借指示信息;
240.允许续借指令发送单元,用于在续借指示信息为同意续借的情况下,向第一客户端发送允许续借指令,以使第一客户端响应于允许续借指令,继续使用目标软件。
241.在一个可选的实施例中,上述到期提示模块还包括:
242.第二许可借用信息查找单元,用于在续借指示信息为不同意续借的情况下,查找第三客户端的第二许可借用信息,第三客户端为除第二客户端以外的同意借出第三许可证的客户端,第三许可证为已授权给第三客户端的目标软件对应的启动许可证;第二许可借用信息包括:第二借用指示信息和第二剩余借出时长;
243.第三客户端请求发送单元,用于在第二借用指示信息为待借出,且续借时长小于等于第二剩余借出时长的情况下,向第三客户端发送许可证获取请求;
244.第三客户端许可证接收单元,用于接收第三客户端发送的第三许可证;
245.第三客户端许可证发送单元,向第一客户端发送第三许可证;
246.第一客户端第一许可证接收单元,用于在使用目标软件的时长到达借用时长,第一客户端暂停使用目标软件的情况下;接收第一客户端发送的第一许可证,以使第一客户端基于第三许可证,继续使用目标软件。
247.在一个可选的实施例中,上述到期提示模块还包括:
248.拒绝指令发送单元,用于在第二借用指示信息为已借用,或,第二借用指示信息为待借出且续借时长大于第二剩余借出时长的情况下,向第一客户端发送续借拒绝指令,以使第一客户端响应于续借拒绝指令,在使用目标软件的时长到达借用时长的情况下,退出
目标软件;
249.第一客户端第一许可证接收单元,接收第一客户端发送的第一许可证;
250.第二客户端第一许可证发送单元,用于向第二客户端发送第一许可证,以使第二客户端基于第一许可证,启动目标软件。
251.在一个可选的实施例中,在向第一客户端发送第一许可证之后,上述装置还包括:
252.停止许可证获取请求接收模块,用于接收第二客户端发送的第一停止借用请求;
253.第一停止借用指令发送模块,用于基于第一停止借用请求,向第一客户端发送第一停止借用指令,以使第一客户端响应于第一停止借用指令,退出目标软件;
254.第一客户端第一许可证接收模块,用于接收第一客户端发送的第一许可证;
255.第二客户端第一许可证发送模块,向第二客户端发送第一许可证,以使第二客户端基于第一许可证,启动目标软件;
256.第一许可借用信息更新模块,用于更新第一许可借用信息。
257.在一个可选的实施例中,在向第一客户端发送第一许可证之后,上述装置还包括:
258.启动许可证数目监测模块,用于检测启动许可证数目;
259.第二许可证获取模块,用于在检测到启动许可证数目大于零的情况下,获取目标软件的第二许可证,第二许可证为目标软件的启动许可证中未授权出去的启动许可证;
260.第一客户端第二许可证发送模块,用于向第一客户端发送第二许可证;
261.第一客户端第一许可证接收模块,用于在第一客户端暂停使用目标软件的情况下,接收第一客户端发送的第一许可证,以使第一客户端基于第二许可证继续使用目标软件;
262.第二客户端第一许可证发送模块,用于向第二客户端发送第一许可证;
263.第一许可借用信息更新模块,用于更新第一许可借用信息。
264.在一个可选的实施例中,在获取目标软件的启动许可证数目之后,上述装置还包括:
265.第一客户端第二许可证发送模块,用于在启动许可证数目大于零的情况下,向第一客户端发送目标软件的第二许可证,以使第一客户端基于第二许可证,启动目标软件。
266.在一个可选的实施例中,在获取第二客户端的第一许可借用信息之前,上述装置还包括:
267.第一许可证借出请求接收模块,用于接收第二客户端发送的第一许可证的借出请求,借出请求包括借用时段信息;
268.第一许可借用信息生成模块,用于基于借用时段信息,生成第一许可借用信息。
269.在一个可选的实施例中,第一许可借用信息还包括:借用频率信息,上述第一许可借用信息生成模块还包括:
270.历史许可借用信息获取单元,用于获取第二客户端的历史许可借用信息;
271.借用频率信息确定单元,用于根据历史许可借用信息,确定借用频率信息;
272.第一许可借用信息生成单元,用于基于借用时段信息和借用频率信息,生成第一许可借用信息。
273.在一个可选的实施例中,上述装置还包括:
274.停止使用信息发送模块,用于在借用频率大于预设借用频率的情况下,向第二客
户端发送停止使用信息,以使第二客户端基于停止使用信息暂停使用目标软件。
275.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
276.图12是根据一示例性实施例示出的另一种软件授权装置框图。参照图12,该装置包括:
277.启动请求发送模块1210,用于向服务器发送目标软件的启动授权请求,以使服务器获取目标软件的启动许可证数目,在启动许可证数目为零的情况下,获取第二客户端的第一许可借用信息;在第一许可借用信息中的第一借用指示信息为待借出,且借入时长小于等于剩余借出时长的情况下,从第二客户端获取第一许可证;第二客户端为同意借出第一许可证的客户端;第一许可证为已授权给第二客户端的目标软件对应的启动许可证,
278.第一许可证接收模块1230,用于接收服务器发送的第一许可证;
279.软件启动模块1250,用于基于第一许可证,启动目标软件。
280.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
281.图13是根据一示例性实施例示出的一种用于软件授权的电子设备的框图,该电子设备可以是车载终端,其内部结构图可以如图13所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种软件授权方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
282.图14是根据一示例性实施例示出的一种用于软件授权的电子设备的框图,该电子设备可以是服务器,其内部结构图可以如图14所示。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种软件授权方法。
283.本领域技术人员可以理解,图13或图14中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
284.在示例性实施例中,还提供了一种电子设备,包括:处理器;用于存储该处理器可执行指令的存储器;其中,该处理器被配置为执行该指令,以实现如本公开实施例中的软件授权方法。
285.在示例性实施例中,还提供了一种计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例中的软件授权方法。
286.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
287.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
288.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1