软件许可方法与流程

文档序号:11691226阅读:444来源:国知局

本发明涉及计算机应用技术,特别是涉及一种软件许可方法。



背景技术:

随着计算机技术的迅猛发展,计算机软件也获得了长足发展,计算机软件市场也发生了巨大的变化。由软件常常会带来巨大的经济效益和社会效益,软件的盗版对软件企业的收入也将会造成巨大的损失。如何保护计算机软件的版权,一直成为人们关注和研究的热门话题。

现有的软件版权保护方案中,通常采用对合法用户进行版权许可的方式进行软件保护,在用户安装软件时,服务端需要根据用户注册的软件授权信息,对用户的合法性进行验证,只有验证通过后才能正常安装软件。

上述软件版权保护方案,由于需要依赖于企业服务端的在线认证,从而存在离线状态下,无法对软件的合法性进行认证的漏洞。现有的盗版软件,通常利用此漏洞,对软件进行非法使用。例如,对原程序反汇编,分析反汇编代码获取注册信息或破解注册验证算法编写注册机,利用所获取的注册信息或利用注册机生成注册信息,对软件进行离线注册,可以使得软件具有和正版软件同样的功能,达到对软件盗用的目的。



技术实现要素:

有鉴于此,本发明的主要目的在于提供一种软件许可方法,该方法可以解决离线状态下无法对软件版权进行保护的问题。

为了达到上述目的,本发明提出的技术方案为:

一种软件许可方法,包括:

a、当软件在离线状态下被触发运行时,软件客户端判断所述软件的离线许可是否被激活,如果是,则执行步骤c,否则,执行步骤b;其中,所述离线许可由所述软件的云平台发布;

b、所述软件客户端触发用户激活所述软件的离线许可,如果所述激活成功,则根据所述离线许可,设置所述软件的离线许可使用时长,允许所述软件的运行,退出所述方法;否则,禁止所述软件的运行,退出所述方法;

c、所述软件客户端根据所述离线许可和所述软件的离线许可使用时长,判断是否允许所述软件运行,如果是,则允许所述软件的运行,否则,禁止所述软件的运行。

综上所述,本发明提出的软件许可方法中,软件客户端利用软件的云平台为用户发布的离线许可,对软件的运行进行许可控制,可以解决离线状态下无法对软件版权进行保护的问题。

附图说明

图1为本发明实施例的方法流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。

本发明的核心思想是:为软件的合法用户签发软件的离线许可,这样,在离线状态下,软件客户端可以基于软件的离线许可,对是否允许软件的运行进行控制,从而可以解决离线状态下无法对软件版权进行保护的问题。

图1为本发明实施例的方法流程示意图,如图1所示,该实施例实现的软件许可方法主要包括:

步骤101、当软件在离线状态下被触发运行时,软件客户端判断所述软件的离线许可是否被激活,如果是,则执行步骤107,否则,执行步骤102。

本步骤中,当软件客户端监测到软件在离线状态下被触发运行时,将判断该软件的离线许可是否被激活,以便基于判断结果对是否允许软件的正常运行进行控制,即当软件的离线许可已被激活时,需要执行步骤107,以触发根据软件的离线许可以及当前软件的离线使用情况,确定是否允许软件的运行,而当软件的离线许可未被激活时,则需要执行步骤102,以触发用户激活软件的离线许可,并根据激活结果,确定是否允许软件的运行。

这里,软件的离线许可将由软件的云平台发布给用户,在具体应用时,合法用户可以通过登录软件的云平台,获取云平台为其签发的软件的离线许可。较佳地,软件的离线许可包括的信息有:软件的有效时间和许可的离线时长,其中,软件的有效时间用于限定软件的有效使用期限,许可的离线时长用于限定软件的离线许可使用时长的最大值,软件的有效时间大于等于许可的离线时长。

进一步地,还可以根据实际应用中的许可控制需要、提高离线许可控制的灵活性,在软件的离线许可中增加离线使用控制指标,具体地,离线使用控制指标可以根据实际应用中的离线许可控制策略确定,例如可以是软件激活最大次数、激活设备最大累计数量和/或同时激活设备数量,其中,软件激活最大次数用于限定软件的每个离线许可以被激活的最高累计次数;激活设备最大累计数量用于限定可以激活软件的离线许可的设备累计数量;同时激活设备数量用于限定同一个离线许可以在不同台设备上同时处于激活状态的设备数量;在实际应用中,但不限于上述控制指标。

较佳地,可以采用下述方法判断所述软件的离线许可是否被激活:

所述软件客户端判断当前本客户端是否绑定所述软件的离线许可,如果是,则判定所述软件的离线许可被激活,否则,判定所述软件的离线许可未被激活。

这里需要说明的是,软件的离线许可被激活后将与软件客户端进行绑定,这样,软件客户端可以通过查询当前有没有与待运行软件的离线许可进行绑定,来判断该软件的离线许可是否被激活。

步骤102~103、所述软件客户端触发用户激活所述软件的离线许可,如果所述激活成功,则执行步骤104,否则,执行步骤106。

本步骤中,在步骤101中判断出软件的离线许可未在当前的设备上激活的情况下,需要触发用户激活该软件的离线许可,并且只有在激活成功时,才进入步骤104允许软件的运行,如果激活失败,则执行步骤106阻止软件的运行。这样,基于软件的离线许可,可以有效地实现离线状态下对软件合法运行的控制,防止软件在离线状态下被非法盗用,且可以实现合法用户在离线状态下对软件的正常运行。

较佳地,可以采用下述方法触发用户激活所述软件的离线许可:

步骤a1、所述软件客户端触发所在设备在联网状态下与所述软件的云平台进行时钟校准。

本步骤,用于对软件客户端所在设备的时钟进行校准,使其与软件的云平台的时钟保持一致,以确保软件客户端可以根据软件的离线许可所限定的软件的有效时间和许可的离线时长,对软件的离线运行进行准确地控制。

步骤a2、所述软件客户端触发所述用户将所述软件的离线许可与所述软件客户端绑定,当所述离线许可绑定成功时,将所述软件的离线许可与所述软件客户端的绑定通知给所述软件的云平台,判定所述软件的离线许可被成功激活。

这里,软件客户端将触发用户将所述软件的离线许可与所述软件客户端绑定,如果用户无法提供云平台为其发布的该软件的离线许可,则会导致绑定失败,这样将会导致无法成功激活软件的离线许可,而当用户将软件的离线许可与软件客户端进行成功绑定后,需要将该软件的离线许可与软件客户端进行绑定(即两者绑定的映射关系),通知给云平台,以便云平台保存该绑定的映射关系,实现对软件的离线许可的激活情况的监控和统计。

步骤104、根据所述离线许可,设置所述软件的离线许可使用时长。

这里,当软件的离线许可与软件客户端进行绑定后,将根据该离线许可所设置的时效参数(即软件的有效时间和许可的离线时长),设置当前软件的离线许可使用时长,以便此后根据该离线许可使用时长控制软件的运行。具体设置离线许可使用时长时,需要考虑当前时刻与离线许可使用时长相加后不得超出软件的有效时间,且该离线许可使用时长不得超过所述许可的离线时长,也就是说,每次可以设置的离线许可使用时长的最大值不得超过离线许可所规定的许可的离线时长,如此,可以确保用户只能在软件的有效时间时间内运行软件,从而可以实现离线状态下对软件版权的有效保护。

步骤105、允许所述软件的运行,结束所述方法。

步骤106,禁止所述软件的运行,结束所述方法。

步骤107、所述软件客户端根据所述离线许可和所述软件的离线许可使用时长,判断是否允许所述软件运行,如果是,则执行步骤105,否则,执行106。

本步骤中,在软件客户端在步骤101中判断出软件的离线许可已被激活的情况下,需要进一步根据离线许可和软件的离线许可使用时长,来判断是否允许软件的运行,以确保软件的合法运行。

较佳地,可以采用下述方法判断是否允许所述软件运行:

所述软件客户端根据所述软件的离线许可使用时长,判断所述软件的离线运行时间是否到期,如果是,则判定允许所述软件的运行,否则,根据所述离线许可,判断当前是否已超过所述软件的有效时间,如果是,则禁止所述软件的运行,否则,判定允许所述软件的运行,并根据所述软件的有效时间和所述许可的离线时长,重新设置所述软件的离线许可使用时长。

这里,软件客户端需要先根据所述软件的离线许可使用时长,判断当前用户已经离线使用该软件的时长是否已达到离线许可被激活时所设置的离线许可使用时长,即,软件的离线运行时间是否已到期,如果没有,则允许软件的运行,否则,需要进一步根据软件的离线许可,判断当前是否已超过该离线许可所限定的软件的有效时间,如果超过了,则要禁止所述软件的运行,如果没超过,则允许所述软件的运行,同时,要重新设置软件的离线许可使用时长,以便此后基于其对软件的离线运行进行控制。具体重新设置的方法和激活离线许可时设置该参数的方法相同,即当前时刻与重置的离线许可使用时长相加后不得超出软件的有效时间,且该离线许可使用时长不得超过所述许可的离线时长。

进一步地,当软件的离线许可包括上述离线使用控制指标时,较佳地,可以采用下述方法判断是否允许所述软件运行:

所述软件客户端根据所述软件的离线许可使用时长,判断所述软件的离线运行时间是否到期,如果到期,则判定禁止所述软件的运行,否则,根据所述离线许可的离线使用控制指标,判断当前是否达到任一所述离线使用控制指标,如果是,则判定禁止所述软件的运行,否则,判定允许所述软件的运行。

在实际应用中,对于上述离线使用控制指标,软件客户端可以从软件云平台获取当前相应指标对应的参数统计信息,以便基于这些信息判断当前是否达到任一所述离线使用控制指标。

进一步地,当采用软件的离线许可不能同时在多台设备上激活的控制策略时,如果用户需要更换运行软件的设备,则需要在原设备上进行离线许可的去激活,即解除软件的离线许可与软件客户端之间的绑定,并通知给软件的云平台,以确保用户可以在新设备上成功激活软件的离线许可,从而实现上述控制策略。

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1