一种软件授权方法与流程

文档序号:12720802阅读:632来源:国知局
一种软件授权方法与流程

本发明涉及计算机软件领域,更具体而言,涉及一种软件授权方法,尤其涉及一种适用于产线程序的授权方法。



背景技术:

随着计算机技术的发展,计算机软件的种类越来越多,功能也越来越强大。软件开发商为了保护自己开发的软件只有在被授权的前提下才能正常使用,通常会采用单机验证、硬件绑定或网络激活的方式进行授权。

具体而言,单机验证是指在第一次使用时要求输入正确的用户密码,用户密码与用户名相关,用户只要保留好已购买的用户名和用户密码,就可以无限制使用软件。硬件绑定是指在第一次使用时,软件会根据用户机器计算出一个硬件识别码,软件开发商根据这个硬件识别码产生注册序列号,用户只有输入与本机硬件识别码相匹配的注册序列号,才能正常使用软件。网络激活是指软件在第一次使用时必须计算机联网或电话激活,才能完成整个软件的注册与激活流程。

上述三种方式适用于对软件的每一份拷贝都能做到授权保护,确保用户在没有得到授权的情况下,就算用户拿到了软件拷贝,都无法正常使用软件。但是,某些软件(如产线程序)是随操作系统母盘一起分发的,要求做到一次激活,任意多个拷贝无限制运行。比如,产线程序的授权问题应该是在母盘制作阶段,而不是在对产线上的每一台计算机进行检测之时,因为产线流程最重要的因素就是效率,如果每个测试人员在启动产线程序时,都必须输入用户名和用户密码以激活测试程序的话,无疑会大大降低生产效率。因此,产线程序的授权既要保护软件开发商的软件版权,又不能影响产线程序的生产效率。

然而,现有的软件授权方法还不能一次性解决多个软件拷贝的软件授权问题,从而导致某些软件(如产线程序)的生产效率低下。

因此,如何在保护软件开发商的软件版权的前提下,提高某些软件(如产线程序)的生产效率,也成为本领域技术人员亟需解决的技术问题。



技术实现要素:

鉴于此,本发明提出了一种软件授权方法,以在保护软件开发商的软件版权的前提下,提高某些软件(如产线程序)的生产效率。

本发明提出的一种软件授权方法,包括如下步骤:

S10:在软件首次使用时通过密码激活,并在所述软件激活成功后生成许可证文件,所述许可证文件记录了所述软件的有效期限或剩余的有效天数;

S20:在有效期限内或剩余的有效天数大于0时,激活成功后的所述软件的所有拷贝免激活即可启动且正常运行;在有效期限外或剩余的有效天数等于0时,所述软件需再次激活。

优选地,所述密码为动态密码,所述动态密码的生成与激活时间相关。

优选地,在步骤S10中,在所述软件激活成功后生成的许可证文件中,所述软件的有效期限为从激活成功之日起10-30天或有效天数为10-30天。

优选地,在步骤S10中,在所述软件激活成功后生成的许可证文件中写入基准时间及有效天数,并根据基准时间和有效天数确定剩余的有效天数;或,在所述软件激活成功后生成的许可证文件中直接写入有效期限的开始时间和结束时间。

优选地,步骤S20包括步骤:

S21:激活成功后的所述软件启动时,检测是否存在许可证文件;

S22:当存在许可证文件时,打开许可证文件并检查启动时间是否在有效期限内或剩余的有效天数是否大于0;

S23:当启动时间位于有效期限内或剩余的有效天数大于0时,打开软件。

优选地,当不存在许可证文件时,进入激活程序;当启动时间位于有效期限外或剩余的有效天数等于0时,进入步骤S24:删除许可证文件,并进入步骤S21。

优选地,所述激活程序包括如下步骤:

S25:输入密码激活,密码验证成功后进入步骤S26,否则退出软件;

S26:检查系统时间是否位于预定范围内,若是进入步骤S27,否则退出软件;

S27:创建许可证文件,并将文件属性更改为可读写;

S28:打开创建的许可证文件并开始写入基准时间,写入成功后进入步骤S29,否则提示写入错误并退出软件;

S29:关闭许可证文件。

优选地,所述激活程序包括如下步骤:

S25:输入密码激活,密码验证成功后进入步骤S26,否则退出软件;

S26:检查系统时间是否位于预定范围内,若是进入步骤S27,否则退出软件;

S27:创建许可证文件,并将文件属性更改为可读写;

S28:打开创建的许可证文件并开始写入有效期限的开始时间和结束时间,写入成功后进入步骤S29,否则提示写入错误并退出软件;

S29:关闭许可证文件。

优选地,对许可证文件的文件名、保存位置和文件内容均进行加密。

优选地,所述软件为产线程序。

本发明的提出的一种软件授权方法,在软件首次使用时通过密码激活,并在软件激活成功后生成许可证文件,许可证文件记录了软件的有效期限或剩余的有效天数;在有效期限内或剩余的有效天数大于0时,激活成功后的软件的所有拷贝免激活即可启动且正常运行;在有效期限外或剩余的有效天数等于0时,软件需再次激活。通过该技术方案,可以在母盘制作阶段通过密码延续软件的使用期限,在软件测试阶段通过许可证文件限制软件的有效期限或有效天数,既实现了对软件的授权保护,又不会影响软件的生产效率。该方法在一般性软件授权保护的基础上,尤其适应了产线测试流程的生产特点,做到了一次激活之后,只要在有效期之内,就可以实现任意拷贝的免激活运行;有效期过期之后,也只需要再次激活,就又能创建新的有效期。

在优选的技术方案中,动态密码算法采用与激活时间相关的复杂科学计算方法,既保证了密码的复杂度,又提高了软件激活人员的可操作性。同时,通过对许可证文件的文件名、保存位置和文件内容进行加密,保证了许可证的安全。

附图说明

图1为本发明的一种软件授权方法的示意图;

图2为本发明的一种软件授权方法中软件拷贝的打开流程示意图;

图3为本发明的第一种软件授权方法中软件拷贝的激活流程示意图;

图4为本发明的第二种软件授权方法中软件拷贝的激活流程示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

如背景技术部分所言,某些软件,具体以产线程序为例,其授权保护既要保护软件开发商的软件版权,又不能影响产线流程的生产效率,产线程序是随操作系统母盘一起分发的,因此必须在母盘制作阶段解决产线程序的授权保护问题,在产线程序的使用阶段只对产线程序的有效性进行检验。本发明的构思即基于此,并最终实现了在母盘制作阶段通过动态密码延续产线程序的使用期限,在产线测试阶段通过许可证文件限制产线程序的使用期限。

参考图1所示,本发明提出的一种软件授权方法,包括如下步骤:

S10:在软件首次使用时通过密码激活,并在软件激活成功后生成许可证文件,许可证文件记录了软件的有效期限或剩余的有效天数;

S20:在有效期限内或剩余的有效天数大于0时,激活成功后的软件的所有拷贝免激活即可启动且正常运行;在有效期限外或剩余的有效天数等于0时,软件需再次激活。

上述方案中,步骤S10中的有效期限即软件可以被启动且正常运行的开始日期与结束日期之间的时间区间,有效天数即软件可以被启动且正常运行的天数,剩余的有效天数即软件剩余可以被启动且正常运行的天数。

上述方案中,在软件首次使用时通过密码激活,并在软件激活成功后生成许可证文件,许可证文件记录了软件的有效期限或剩余的有效天数。一旦激活,软件(如产线程序)的任意多个拷贝都可以随操作系统一起分发,每个拷贝设置有默认有效期限或有效天数,如有效天数20天(从激活之日算起),在有效期限内或剩余的有效天数大于0时,所有的软件拷贝皆不再需要激活即可启动且正常运行,在有效期限外或剩余的有效天数等于0时,软件需再次激活才能够正常使用。通过该技术方案,可以在母盘制作阶段通过密码延续软件的使用期限,在软件测试阶段通过许可证文件限制软件的有效期限或有效天数,既实现了对软件的授权保护,又不会影响软件的生产效率。该方法尤其适用于产线程序的授权保护,即,该方案中软件为具体的产线程序。

上述方案中,“通过密码激活”的密码,可以为固定密码或动态密码,优选采用动态密码,且动态密码的生成与激活时间相关,通过采用与激活时间相关的动态方式生成,可以由软件开发商驻厂代表掌握密码生成算法,并实施激活。需要说明的是,动态密码本质上是一种对称密钥算法,虽然各种成熟的动态密钥算法已经较好地解决了安全性问题,但是考虑到实际生产活动中是由软件开发商驻厂代表负责软件激活程序,因此在考虑到安全性的同时还要兼顾密码生成算法的便利性。本发明优选采用了一种与激活时间相关的复杂科学计算方法,生成一个长度可调(即复杂度可调)的字符串序列作为当前时间段(具体到当前小时)的动态密码。

在动态密码输入正确之后,会自动生成一个许可证文件,该许可证文件记录了软件的有效期限或剩余的有效天数。此时,软件已经可以随操作系统母盘进行分发了,程序在启动时,只要检测到许可证的存在,且在有效期限内或剩余的有效天数大于0,就可以正常运行;否则就会要求用户重新激活程序。这样就保证了在有效期之内,产线测试人员不再需要重复进行软件激活流程,流程大幅简化。

上述方案中,有效期限或有效天数可以根据需要设置,或按照预定的规则设置,具体的,在步骤S10中,在软件激活成功后生成的许可证文件中,软件的有效期限为从激活成功之日起10-30天或有效天数为10-30天,如15天、20天、25天等。

为便于确定有效期限或有效天数,在步骤S10中,在软件激活成功后生成的许可证文件中写入基准时间及有效天数,并根据基准时间和有效天数确定剩余的有效天数;或,在软件激活成功后生成的许可证文件中直接写入有效期限的开始时间和结束时间。

上述的软件授权方法,为正确判断激活成功后的软件的所有拷贝是可以运行或需要激活,参考图2所示,步骤S20优选包括如下步骤:

S21:激活成功后的软件启动时,检测是否存在许可证文件;

S22:当存在许可证文件时,打开许可证文件并检查启动时间是否在有效期限内或剩余的有效天数是否大于0;

S23:当启动时间位于有效期限内或剩余的有效天数大于0时,打开软件。

同时,当不存在许可证文件时,进入激活程序;当启动时间位于有效期限外或剩余的有效天数等于0时,进入步骤S24:删除许可证文件,并进入步骤S21。。

通过上述流程,可以正确判断激活成功后的软件是直接运行还是需要激活以后在运行,保证软件安全的同时,提高了生产效率。

参见图3,图3为本发明的第一种软件授权方法中软件拷贝的激活流程示意图。

上述的软件授权方法,激活程序可以有多种方式,在一种具体的方式中,激活程序包括如下步骤:

S25:输入密码激活,密码验证成功后进入步骤S26,否则退出软件;

S26:检查系统时间是否位于预定范围内(如2016年1月1日至2017年12月31日之间,此时间可根据情况具体设置),若是进入步骤S27,否则退出软件;

S27:创建许可证文件,并将文件属性更改为可读写;

S28:打开创建的许可证文件并开始写入基准时间,写入成功后进入步骤S29,否则提示写入错误并退出软件;

S29:关闭许可证文件。

参见图4,图4为本发明的第二种软件授权方法中软件拷贝的激活流程示意图。

在另一种具体的方式中,激活程序包括如下步骤:

S25:输入密码激活,密码验证成功后进入步骤S26,否则退出软件;

S26:检查系统时间是否位于预定范围内(如2016年1月1日至2017年12月31日之间,此时间可根据情况具体设置),若是进入步骤S27,否则退出软件;

S27:创建许可证文件,并将文件属性更改为可读写;

S28:打开创建的许可证文件并开始写入有效期限的开始时间和结束时间,写入成功后进入步骤S29,否则提示写入错误并退出软件;

S29:关闭许可证文件。

通过上述流程,可以采用不同的方式对软件进行再次激活,并产生许可证文件,操作简单,同时,再次激活后的软件同样兼顾了软件的安全和效率。

为保证许可证文件的安全,上述软件授权方法中,优选地,对许可证文件的文件名、保存位置和文件内容均进行加密。

本发明的软件授权方法,通过密码(如动态密码)和许可证文件,通过对软件的一次授权,就可以实现对任意多个软件拷贝的授权。现有技术无论其加密算法如何,要么只能实现对单一软件拷贝的授权保护,每个软件拷贝都需要单独激活;要么就会出现单个密码可以激活多个软件拷贝,而导致的侵权现象。本发明通过动态密码创建软件有效期,通过许可证检查软件有效期,这样既实现了对软件的授权保护,又不会导致对每个软件拷贝的重复激活,兼顾了安全和效率。

本发明的软件授权方法,在一般性软件授权保护的基础上,尤其适应了产线测试流程的生产特点,做到了一次激活之后,只要在有效期之内,就可以实现任意拷贝的免激活运行;有效期过期之后,也只需要再次激活,就又能创建新的有效期。

综上所述,本发明的软件授权方法具有如下优点:

(1)通过动态密码创建软件有效期限或有效天数,通过许可证文件检查软件的有效期限或有效天数,这样授权与验证相分离,既实现了对软件的授权保护,又不会影响生产效率,达到了安全与效率的统一。

(2)动态密码算法采用与激活时间相关的复杂科学计算方法,既保证了密码的复杂度,又提高了软件激活人员的可操作性。

(3)通过对许可证文件的文件名、保存位置和文件内容进行加密,保证了许可证的安全。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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