掌桥专利:专业的专利平台
掌桥专利
首页

智能设备的许可证管理方法和装置以及智能设备

文献发布时间:2023-06-19 09:44:49


智能设备的许可证管理方法和装置以及智能设备

技术领域

本发明涉及软件管理领域,尤其涉及一种智能设备的许可证管理方法、一种智能设备的许可证管理装置、以及一种智能设备。

背景技术

智能设备在提供设备服务的基础上,可以进一步引入例如算法应用等其他服务,则可以通过在智能设备按需安装导入应用来实现。

其中,导入应用是指智能设备出场之后从外部导入安装的应用。导入应用安装到智能设备后通常需要在智能设备中激活。

导入应用在智能设备的激活可以通过导入许可证来实现,并且,为了确保导入应用的开发者的利益,许可证往往会设定有效期。

因此,如何使智能设备依据有效期实现对许可证的管理,成为现有技术中有待解决的技术问题。

发明内容

本发明的一个实施例提供了一种智能设备的许可证管理方法,包括:

当智能设备中导入有效的许可证时,设备主应用在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期;

响应于智能设备中的导入应用被导入的许可证的激活状态,设备主应用对非易失性存储介质中写入的该许可证的有效期进行消耗更新;

当非易失性存储介质中写入的许可证的有效期被更新耗尽时,设备主应用将被该许可证激活的导入应用置为去激活状态。

可选地,设备主应用在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期之前,进一步包括:响应于智能设备的许可证导入操作,设备主应用对导入的许可证进行有效性验证,以检测该许可证是否意图将已导入在智能设备中的导入应用在该智能设备激活。

可选地,设备主应用在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期之前,进一步包括:设备主应用检测导入的许可证意图激活的导入应用当前是否已在智能设备中激活;若该导入应用当前已在智能设备中激活,则设备主应用在非易失性存储介质中查询引发该导入应用的当前激活状态的许可证、并停止对查找到的许可证的有效期的消耗更新。

可选地,设备主应用在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期之前,进一步包括:设备主应用检测非易失性存储介质中是否已保存有导入的许可证;当检测到导入的许可证已保存在非易失性存储介质中时,设备主应用查询该许可证在非易失性存储介质中留存的有效期是否耗尽;若导入的许可证在非易失性存储介质中留存的有效期耗尽,则设备主应用丢弃导入的许可证;若导入的许可证在非易失性存储介质中留存的有效期未耗尽,则响应于智能设备中的导入应用被导入的许可证的激活状态,设备主应用以该许可证在非易失性存储介质中留存的有效期开始消耗更新。

可选地,设备主应用对非易失性存储介质中写入的该许可证的有效期进行消耗更新包括:设备主应用按照预设的计时步长,对非易失性存储介质中写入的该许可证的消耗记录表项中的有效期进行递减更新。

可选地,设备主应用在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期包括:设备主应用在非易失性存储介质的有效期消耗记录表中为导入的许可证添加消耗记录表项,其中,消耗记录表项包括该许可证及其有效期、以及该许可证意图激活的导入应用的应用标识。

可选地,设备主应用在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期之前,进一步包括:设备主应用检测导入的许可证意图激活的导入应用当前是否已在智能设备中激活;若该导入应用当前已在智能设备中激活,则设备主应用在有效期消耗记录表中查询匹配该导入应用的应用标识的消耗记录表项,将查询到的消耗记录表项从有效期消耗记录表中删除、并移入至非易失性存储介质中的有效期历史记录表。

可选地,设备主应用在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期之前,进一步包括:设备主应用检测非易失性存储介质的有效期消耗记录表和有效期历史记录表中是否已保存有导入的许可证;当检测到导入的许可证已保存在有效期消耗记录表或有效期历史记录表中时,设备主应用查询该许可证在有效期消耗记录表或有效期历史记录表中留存的有效期是否耗尽;若导入的许可证留存的有效期耗尽,则设备主应用丢弃导入的许可证;若导入的许可证留存的有效期未耗尽,则响应于智能设备中的导入应用被导入的许可证的激活状态,设备主应用在有效期消耗记录表中以该许可证留存的有效期开始消耗更新。

可选地,设备主应用对导入的许可证进行有效性验证之前,进一步包括:设备主应用检测导入的许可证意图激活的导入应用是否在非易失性存储介质中被记录为禁止许可证导入状态;若导入的许可证意图激活的导入应用在非易失性存储介质中被记录为禁止许可证导入状态,则设备主应用丢弃导入的许可证;若导入的许可证意图激活的导入应用在非易失性存储介质中未记录为禁止许可证导入状态,则设备主应用使能对该许可证的有效性验证。

可选地,设备主应用对导入的许可证进行有效性验证之后,进一步包括:当对导入的许可证的有效性验证失败时,设备主应用在该智能设备的非易失性存储介质中为该许可证意图激活的导入应用记录许可证导入失败时间;设备主应用依据为导入应用记录的许可证导入失败时间检测许可证导入失败频率;当检测到意图激活导入应用的许可证导入失败频率高于预设阈值时,设备主应用将该导入应用置为禁止许可证导入状态、对该导入应用的禁止许可证导入状态进行计时维护;当对导入应用的禁止导入状态的计时到达时,设备主应用解除该导入应用的禁止许可证导入状态。

本发明的另一个实施例提供了一种智能设备的许可证管理装置,包括:

许可证调度模块,用于当智能设备中导入有效的许可证时,在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期;

有效期管理模块,用于响应于智能设备中的导入应用被导入的许可证的激活状态,对非易失性存储介质中写入的该许可证的有效期进行消耗更新;当非易失性存储介质中写入的许可证的有效期被更新耗尽时,通知许可证调度模块将被该许可证激活的导入应用置为去激活状态。

可选地,许可证调度模块进一步用于响应于智能设备的许可证导入操作,对导入的许可证进行有效性验证,以检测该许可证是否意图将已导入在智能设备中的导入应用在该智能设备激活。

可选地,许可证调度模块进一步用于在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期之前,检测导入的许可证意图激活的导入应用当前是否已在智能设备中激活;若该导入应用当前已在智能设备中激活,则在非易失性存储介质中查询引发该导入应用的当前激活状态的许可证、并取消有效期管理模块对查找到的许可证的有效期的消耗更新。

可选地,许可证调度模块进一步用于在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期之前,检测非易失性存储介质中是否已保存有导入的许可证;当检测到导入的许可证已保存在非易失性存储介质中时,查询该许可证在非易失性存储介质中留存的有效期是否耗尽;若导入的许可证在非易失性存储介质中留存的有效期耗尽,则丢弃导入的许可证;若导入的许可证在非易失性存储介质中留存的有效期未耗尽,则响应于智能设备中的导入应用被导入的许可证的激活状态,触发有效期管理模块以该许可证在非易失性存储介质中留存的有效期恢复消耗更新。

可选地,许可证调度模块进一步用于在对导入的许可证进行有效性验证之前,检测导入的许可证意图激活的导入应用是否在非易失性存储介质中被记录为禁止许可证导入状态;若导入的许可证意图激活的导入应用在非易失性存储介质中被记录为禁止许可证导入状态,则设备主应用丢弃导入的许可证;若导入的许可证意图激活的导入应用在非易失性存储介质中未记录为禁止许可证导入状态,则设备主应用使能对该许可证的有效性验证。

可选地,许可证调度模块进一步用于当对导入的许可证的有效性验证失败时,设备主应用在该智能设备的非易失性存储介质中为该许可证意图激活的导入应用记录许可证导入失败时间;进一步包括禁用管理模块,用于依据为导入应用记录的许可证导入失败时间检测许可证导入失败频率;当检测到意图激活导入应用的许可证导入失败频率高于预设阈值时,设备主应用将该导入应用置为禁止许可证导入状态、对该导入应用的禁止许可证导入状态进行计时维护;当对导入应用的禁止导入状态的计时到达时,设备主应用解除该导入应用的禁止许可证导入状态。

本发明的另一个实施例提供了一种智能设,包括处理器和非易失性存储介质,该处理器用于运行共享硬件资源的设备主应用和导入应用,其中,设备主应用用于执行如前述实施例所述的许可证管理方法中的步骤。

基于上述实施例,每当智能设备导入有效的许可证时,智能设备的设备主应用可以将该许可证及其有效其保存在该智能设备的非易失性存储介质中,因此,在智能设备中的每个导入应用被许可证激活的期间内,设备主应用都可以在非易失性存储介质中对许可证的有效期进行消耗更新,从而,智能设备无需借助网络交互即可独立实现对导入应用的许可有效期的统一管理,并且不受导入应用的类型和数量以及许可证导入次数的限制。

而且,设备主应用对导入应用的许可有效期的统一管理,可以进一步引入有效期叠加机制、防欺骗导入机制、以及防暴力导入机制。

附图说明

图1为一个实施例中的智能设备所在的服务系统的框架结构示意图;

图2为如图1所示服务系统中对导入应用的许可机制的原理性示意图;

图3为一个实施例中的智能设备的许可证管理方法的示例性流程示意图;

图4为如图3所示的许可证管理方法引入有效性验证机制的扩展流程示意图;

图5为如图4所示的许可证管理方法引入有效期叠加机制的扩展流程示意图;

图6为如图4所示的许可证管理方法引入防欺骗导入机制的扩展流程示意图;

图7为如图4所示的许可证管理方法同时引入有效期叠加机制和防欺骗导入机制的扩展流程示意图;

图8为如图4所示的许可证管理方法引入防暴力导入机制的扩展流程示意图;

图9为配合如图8所示流程的状态维护流程的示意图;

图10为一个实施例中的智能设备的许可证管理装置的示例性结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。

图1为一个实施例中的智能设备所在的服务系统的框架结构示意图。请参见图1,在一个实施例中,服务系统可以包括智能设备10、设备客户端20以及导入客户端30。该智能设备10可以是嵌入式设备,例如安防领域中的IPC(IP Camera,网络摄像机)等,或者,也可以是例如移动终端等终端设备。

从图1中可以看出,智能设备10装载有设备主应用200和导入应用300。其中,设备主应用200可以是智能设备10出厂自带的应用,并且,智能设备10还可以装在出厂自带的设备子应用210;导入应用300则是智能设备10出厂后导入的应用。或者,设备主应用200和设备子应用210可以认为是智能设备10的植入应用,导入应用300可以认为是智能设备10的导入应用。

设备主应用200、设备子应用210以及导入应用300可以共享智能设备10的硬件资源100。例如,共享的硬件资源100可以包括:处理器110,用于运行设备主应用200、设备子应用210以及导入应用300的处理器110;AI(Artificial Intelligence,人工智能)芯片120,用于提供智能分析算法(Intelligent Analysis Algorithm)的硬件支持;非易失性存储介质130可以包括例如FLASH(闪存)或者磁盘等不同类别的介质,用于存储设备主应用200、设备子应用210以及导入应用300的应用包,还可以用于存储设备主应用200、设备子应用210、导入应用300运行所需的数据或文件;易失性存储介质140,例如DDR(Double Data Rate,双倍速率)内存等,用于设备主应用200、设备子应用210、导入应用300运行缓存;网卡150,用于智能设备10的网络交互;以及,外设接口160,用于智能设备10的辅助输入输出。

智能设备10通过运行设备主应用200或者同时运行设备主应用200和设备子应用210,可以维持各种设备服务的正常提供。例如,假设智能设备10为IPC,则其提供的设备服务具体可以包括视频流(例如YUV视频流)、报警、录像、图片、日志、网络、时间、元数据(metadata)结构化信息等。可以理解的是,此处仅仅是对设备服务的举例说明,设备服务的范围可以不限于此。

其中,导入应用300可以是由不同于智能设备10的制造厂商的第三方开发或集成的应用,此时,导入应用300也可以称作第三方应用;或者,导入设备300也可以是由智能设备10的制造厂商开发或集成的应用,此时,导入应用300可以认为是根据用户需求自定义配置的扩展应用。

无论导入应用300是第三方应用还是扩展应用,导入300应用在智能设备10的运行都需要激活许可。并且,对导入应用300的激活许可校验,可以基于导入至智能设备10的许可证(License Key)来实现。

图2为如图1所示服务系统中对导入应用的授权许可机制的原理性示意图。请参见图6,许可证500可以由License服务器50产生,并导入至智能设备10。其中,许可证500中可以封装有该许可证500的有效期、该许可证500意图激活的导入应用的应用名称和应用标识、该许可证500意图激活的导入应用的许可承载设备的设备标识(例如智能设备的设备序列号或MAC地址)、例如版本信息等许可证标识信息、以及例如授权码(LicenseCode)和签名等验证信息。

在实际使用时,智能设备10中可以导入至少一个导入应用300,对于每个导入应用300,都可以按照如图6所示的方式导入意图在该智能设备10激活该导入应用300的许可证500,并且,对于每个导入应用300而言,许可证500的导入可能发生一次、也可能发生多次。

由此,为了便于管理按照如图6所示方式导入至智能设备10的许可证500,下述实施例为智能设备10的设备主应用200提供了一种智能设备的许可证管理方法。

图3为一个实施例中的智能设备的许可证管理方法的示例性流程示意图。请参见图3,在该实施例中,许可证管理方法可以包括:

S310:当智能设备中导入有效的许可证时,设备主应用在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期。

其中,在本步骤中保存许可证并写入有效期的非易失性存储介质,可以是图1中示出的非易失性存储介质130的多种介质载体中的一种。例如,设备主应用和导入应用的应用包可以存储在非易失性存储介质130的FLASH中,而本步骤可以是在不同于FLASH的诸如磁盘的其他介质载体中保存许可证以及写入有效期。

S320:响应于智能设备中的导入应用被导入的许可证的激活状态,设备主应用对非易失性存储介质中写入的该许可证的有效期进行消耗更新。

其中,在本步骤中,设备主应用可以按照预设的计时步长(例如1天),对非易失性存储介质中写入的该许可证的消耗记录表项中的有效期进行递减更新。

S330:当非易失性存储介质中写入的许可证的有效期被更新耗尽时,设备主应用将被该许可证激活的导入应用置为去激活状态。

其中,本步骤中的导入应用的去激活(deactivate)状态可以看作是与激活(activate)状态相反的状态。并且,导入应用的激活状态是由导入应用判定的运行状态,而本步骤中的导入应用的去激活状态,则可以是由设备主应用判定的管理状态。即,若导入应用未在智能设备激活,则导入应用拒绝在智能设备的运行启动;若设备主应用将导入应用置为去激活状态,则设备主应用屏蔽向导入应用发起的访问请求。

上述流程可以在每当发生一次有效的许可证导入时被执行一次,由此,每当智能设备导入有效的许可证时,智能设备的设备主应用可以将该许可证及其有效其保存在该智能设备的非易失性存储介质中,因此,在智能设备中的每个导入应用被许可证激活的期间内,设备主应用都可以在非易失性存储介质中对许可证的有效期进行消耗更新,从而,智能设备无需借助网络交互即可实现对导入应用的许可有效期的统一管理,并且不受导入应用的类型和数量以及许可证导入次数的限制。

在实际使用时,可能会存在误导入许可证的情况,例如,导入的许可证意图激活的导入应用未导入在智能设备,或者,导入的许可证并不是用于导入应用在该智能设备的激活。因此,为了避免对无效的许可证引发上述流程的执行,该实施例中的许可证管理方法可以进一步引入有效性验证机制。

图4为如图3所示的许可证管理方法引入有效性验证机制的扩展流程示意图。请参见图4,如图3所示的流程可以被进一步扩展为包括如下步骤:

S400:响应于智能设备的许可证导入操作,设备主应用对导入的许可证进行有效性验证,以检测该许可证是否意图将已导入在智能设备中的导入应用在该智能设备激活。

其中,若检测到许可证意图将已导入在智能设备中的导入应用在该智能设备激活,则可以确定该许可证有效,并执行S410;否则,丢弃该许可证,并结束本流程。

具体地,本步骤中执行的有效性验证,可以包括:设备主应用从导入的许可证中解析得到应用标识和设备标识,设备主应用将解析得到的应用标识与导入在智能设备中的导入应用的应用标识进行匹配、并将解析到的设备标识与该智能设备的设备标识进行匹配;当应用标识和设备标识均匹配成功时,确定导入的许可证意图将已导入在智能设备中的导入应用在该智能设备激活。

S410:当对导入的许可证的有效性验证成功时,设备主应用在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期。

S420:响应于智能设备中的导入应用被导入的许可证的激活状态,设备主应用对非易失性存储介质中写入的该许可证的有效期进行消耗更新。

S430:当非易失性存储介质中写入的许可证的有效期被更新耗尽时,设备主应用将被该许可证激活的导入应用置为去激活状态。

上述S410~S430可以认为是与图3中的S310~S330基本相同。

在实际使用中,导入应用在智能设备的激活状态,往往可以通过重新申请许可证而得到延续,因此,智能设备导入的许可证有可能用于首次激活导入应用,也有可能用于延续已激活导入应用的激活状态。其中,对于同一个导入应用,每次申请的许可证中的内容不全相同,例如版本信息等许可证标识信息可以是不同的。

为此,可以进一步引入有效期叠加机制,以避免由于许可证的更换而导致尚未耗尽的有效期被误消耗。

图5为如图4所示的许可证管理方法引入有效期叠加机制的扩展流程示意图。请参见图5,如图4所示的流程可以被进一步扩展为包括如下步骤:

S500:响应于智能设备的许可证导入操作,设备主应用对导入的许可证进行有效性验证,以检测该许可证是否意图将已导入在智能设备中的导入应用在该智能设备激活。

本步骤可以认为是与图4中的S400基本相同,即,若检测到许可证意图将已导入在智能设备中的导入应用在该智能设备激活,则可以确定该许可证有效,并执行S510;否则,丢弃该许可证,并结束本流程。

S510:当对导入的许可证的有效性验证成功时,设备主应用检测导入的许可证意图激活的导入应用当前是否已在智能设备中激活。

若该导入应用当前已在智能设备中激活,则执行S520,否则执行S530。

S520:设备主应用在非易失性存储介质中查询引发该导入应用的当前激活状态的许可证、并停止对查找到的许可证的有效期的消耗更新,然后继续S530。

S530:设备主应用在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期。

S540:响应于智能设备中的导入应用被导入的许可证的激活状态,设备主应用对非易失性存储介质中写入的该许可证的有效期进行消耗更新。

S550:当非易失性存储介质中写入的许可证的有效期被更新耗尽时,设备主应用将被该许可证激活的导入应用置为去激活状态。

上述S530~S550可以认为是与图3中的S310~S330基本相同。

针对同一导入应用的许可证多次导入,除了涉及延续激活状态的情况之外,还有可能涉及利用重复导入有效期已耗尽的许可证,意图欺骗导入应用重新激活。为了避免这样的欺骗行为,可以进一步引入防欺骗导入机制,一方面,保证有效期未耗尽的许可证可以在再次导入时合法使用,另一方面,防止有效期已耗尽的许可证在再次导入时非法激活导入应用。

图6为如图4所示的许可证管理方法引入防欺骗导入机制的扩展流程示意图。请参见图6,如图4所示的流程可以被进一步扩展为包括如下步骤:

S600:响应于智能设备的许可证导入操作,设备主应用对导入的许可证进行有效性验证,以检测该许可证是否意图将已导入在智能设备中的导入应用在该智能设备激活。

本步骤可以认为是与图4中的S400基本相同,即,若检测到许可证意图将已导入在智能设备中的导入应用在该智能设备激活,则可以确定该许可证有效,并执行S610;否则,丢弃该许可证,并结束本流程。

S610:当对导入的许可证的有效性验证成功时,设备主应用检测非易失性存储介质中是否已保存有导入的许可证。

若检测到导入的许可证已保存在非易失性存储介质中,则执行S620;

否则,执行S640。

S620:设备主应用查询该许可证在非易失性存储介质中留存的有效期是否耗尽。

若导入的许可证在非易失性存储介质中留存的有效期未耗尽,则执行S630;

若导入的许可证在非易失性存储介质中留存的有效期耗尽,则设备主应用确定该许可证的导入属于导入欺骗,因而丢弃导入的许可证、并结束本流程。

S630:响应于智能设备中的导入应用被导入的许可证的激活状态,设备主应用以该许可证在非易失性存储介质中留存的有效期开始消耗更新。

S640:设备主应用在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期。

S650:响应于智能设备中的导入应用被导入的许可证的激活状态,设备主应用对非易失性存储介质中写入的该许可证的有效期进行消耗更新。

S660:当非易失性存储介质中写入的许可证的有效期被更新耗尽时,设备主应用将被该许可证激活的导入应用置为去激活状态。

上述S640~S660可以认为是与图3中的S310~S330基本相同。

上述如图5所示的引入有效期叠加机制的流程、以及如图6所示的引入防欺骗导入机制的流程都是在如图4所示流程的基础上扩展得到的。但可以理解的是,这并不意味着有效期叠加机制和防欺骗导入机制必然依赖于如图4所示流程中引入的有效性验证机制。在如图4所示流程的基础上扩展得到如图5和图6所示流程,是为了清楚体现有效期叠加机制和防欺骗导入机制与有效性验证机制的时序关系,并且也是考虑到如图4所示流程中引入的有效性验证机制更有利于节省设备主应用的处理资源。

并且,有效期叠加机制和防欺骗导入机制虽然在如图5和图6所示流程中分别体现,但这并不意味着二者之间存在互斥性,即,上述如图5所示流程引入的有效期叠加机制、以及如图6所示流程引入的防欺骗导入机制可以结合使用。

图7为如图4所示的许可证管理方法同时引入有效期叠加机制和防欺骗导入机制的扩展流程示意图。

S700:响应于智能设备的许可证导入操作,设备主应用对导入的许可证进行有效性验证,以检测该许可证是否意图将已导入在智能设备中的导入应用在该智能设备激活。

本步骤可以认为是与图4中的S400基本相同,即,若检测到许可证意图将已导入在智能设备中的导入应用在该智能设备激活,则可以确定该许可证有效,并执行S710;否则,丢弃该许可证,并结束本流程。

S710:当对导入的许可证的有效性验证成功时,设备主应用检测非易失性存储介质中是否已保存有导入的许可证。

若检测到导入的许可证已保存在非易失性存储介质中,则执行S720;

否则,执行S740。

S720:设备主应用查询该许可证在非易失性存储介质中留存的有效期是否耗尽。

若导入的许可证在非易失性存储介质中留存的有效期未耗尽,则执行S730;

若导入的许可证在非易失性存储介质中留存的有效期耗尽,则设备主应用确定该许可证的导入属于导入欺骗,因而丢弃导入的许可证、并结束本流程。

S730:响应于智能设备中的导入应用被导入的许可证的激活状态,设备主应用以该许可证在非易失性存储介质中留存的有效期开始消耗更新。

S740:设备主应用检测导入的许可证意图激活的导入应用当前是否已在智能设备中激活。

若该导入应用当前已在智能设备中激活,则执行S750,否则执行S760。

S750:设备主应用在非易失性存储介质中查询引发该导入应用的当前激活状态的许可证、并停止对查找到的许可证的有效期的消耗更新,然后继续S760。

S760:设备主应用在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期。

S770:响应于智能设备中的导入应用被导入的许可证的激活状态,设备主应用对非易失性存储介质中写入的该许可证的有效期进行消耗更新。

S780:当非易失性存储介质中写入的许可证的有效期被更新耗尽时,设备主应用将被该许可证激活的导入应用置为去激活状态。

上述S760~S780可以认为是与图3中的S310~S330基本相同。

为了区分执行有效期消耗更新的许可证、以及停止有效期消耗更新的许可证,智能设备的非易失性存储介质中可以创建有有效期消耗记录表和有效期历史记录表,相应地:

对于S310、S530、S640以及S760,设备主应用可以在非易失性存储介质的有效期消耗记录表中为导入的许可证添加消耗记录表项,其中,消耗记录表项包括该许可证及其有效期、以及该许可证意图激活的导入应用的应用标识。

对于S510以及S740,设备主应用可以检测导入的许可证意图激活的导入应用当前是否已在智能设备中激活;其中,若该导入应用当前已在智能设备中激活,则对于S540以及S750,设备主应用在有效期消耗记录表中查询匹配该导入应用的应用标识的消耗记录表项,将查询到的消耗记录表项从有效期消耗记录表中删除、并移入至非易失性存储介质中的有效期历史记录表。

对于S610以及S710,设备主应用可以检测非易失性存储介质的有效期消耗记录表和有效期历史记录表中是否已保存有导入的许可证;

当检测到导入的许可证已保存在有效期消耗记录表或有效期历史记录表中时,对于S620以及S720,设备主应用查询该许可证在有效期消耗记录表或有效期历史记录表中留存的有效期是否耗尽;

若导入的许可证留存的有效期未耗尽,则对于S630以及S730,响应于智能设备中的导入应用被导入的许可证的激活状态,设备主应用在有效期消耗记录表中以该许可证留存的有效期开始消耗更新。即,在有效期消耗记录表查找到的许可证,仍保留其在有效期消耗记录表中的消耗记录表项、并继续有效期的消耗更新。而对于在有效期历史记录表中查找到的许可证,需要先将其消耗记录表项从有效期历史记录表中转移至有效期消耗记录表中、再继续有效期的消耗更新。

另外,在该实施例中,智能设备的许可证管理方法还可以进一步引入防暴力导入机制,以防御非法用户针对某个导入应用向智能设备中频繁导入通过非法途径获取的无效许可证。

图8为如图4所示的许可证管理方法引入防暴力导入机制的扩展流程示意图。请参见图8,如图4所示的流程可以被进一步扩展为包括如下步骤:

S800:响应于智能设备的许可证导入操作,设备主应用检测导入的许可证意图激活的导入应用是否在非易失性存储介质中被记录为禁止许可证导入状态。

若导入的许可证意图激活的导入应用在非易失性存储介质中被记录为禁止许可证导入状态,则设备主应用丢弃导入的许可证;

若导入的许可证意图激活的导入应用在非易失性存储介质中未记录为禁止许可证导入状态,则设备主应用使能对该许可证的有效性验证,并执行S810。

S810:设备主应用对导入的许可证进行有效性验证,以检测该许可证是否意图将已导入在智能设备中的导入应用在该智能设备激活。

若检测到许可证意图将已导入在智能设备中的导入应用在该智能设备激活,则可以确定该许可证有效,并执行S820;

否则,执行S850。

S820:当对导入的许可证的有效性验证成功时,设备主应用在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期。

S830:响应于智能设备中的导入应用被导入的许可证的激活状态,设备主应用对非易失性存储介质中写入的该许可证的有效期进行消耗更新。

S840:当非易失性存储介质中写入的许可证的有效期被更新耗尽时,设备主应用将被该许可证激活的导入应用置为去激活状态;

S850:当对导入的许可证的有效性验证失败时,设备主应用在该智能设备的非易失性存储介质中为该许可证意图激活的导入应用记录许可证导入失败时间、并丢弃导入的许可证。

上述S820~S840可以认为是与图3中的S310~S330基本相同。

图9为配合如图8所示流程的状态维护流程的示意图。请参见图9,该实施例中的许可证管理方法还可以包括独立于如图8所示流程的状态维护流程,具体包括:

S910:设备主应用在该智能设备的非易失性存储介质中读取为导入应用记录的许可证导入失败时间。

本步骤可以是按照预定时间间隔(例如每隔5分钟)执行一次。

S920:设备主应用依据读取到的导入应用的许可证导入失败时间,检测该导入应用的许可证导入失败频率是否超过预设阈值。

若检测到导入应用的许可证导入失败频率高于预设阈值,则继续执行S920,否则返回S910等待下一次检测。

S930:设备主应用将该导入应用置为禁止许可证导入状态、对该导入应用的禁止许可证导入状态进行计时维护。

例如,本步骤中使用的预设阈值,可以设定为每分钟导入失败一次。并且,本步骤对导入应用的禁止许可证导入状态进行的计时维护,旨在将禁止许可证导入状态维持预设的持续时长(例如30分钟)。

S940:当对导入应用的禁止许可证导入状态的计时到达时,设备主应用解除该导入应用的禁止许可证导入状态,然后返回S910等待下一次检测。

上述如图9所示的流程,可以是配合如图8所示流程中记录的许可证的导入失败时间而独立执行的流程。并且,如图8所示的流程也可以参照图5至图7,进一步引入有效期叠加机制和/或防欺骗导入机制。

图10为一个实施例中的智能设备的许可证管理装置的示例性结构示意图。请参见图10,在一个实施例中,许可证管理装置1000可以承载于智能设备的设备主应用中,并且,该许可证管理装置可以包括:

许可证调度模块1010,用于当智能设备中导入有效的许可证时,在该智能设备的非易失性存储介质1030中保存导入的许可证、并写入从该许可证中解析得到的有效期。

其中,图10中示出的非易失性存储介质1030可以是图1中示出的非易失性存储介质130的多种介质载体中的一种。例如,设备主应用和导入应用的应用包可以存储在非易失性存储介质130的FLASH中,而图10中示出的非易失性存储介质可以是不同于FLASH的诸如磁盘的其他介质载体。

有效期管理模块1020,用于响应于智能设备中的导入应用被导入的许可证的激活状态,对非易失性存储介质1030中写入的该许可证的有效期进行消耗更新;当非易失性存储介质中写入的许可证的有效期被更新耗尽时,通知许可证调度模块1010将被该许可证激活的导入应用置为去激活状态。

其中,许可证调度模块1010可以将存导入的许可证及其有效期保存在非易失性存储介质1030中对有效期管理模块1020开放的存储空间,有效期管理模块1020所响应的导入应用被导入的许可证的激活状态,可以是根据导入应用向许可证调度模块1010发出的通告来确定。

并且,有效期管理模块1020可以按照预设的计时步长(例如1天),对非易失性存储介质1030中写入的该许可证的消耗记录表项中的有效期进行递减更新。

另外,许可证调度模块1010对导入应用设置的去激活(deactivate)状态可以看作是与激活(activate)状态相反的状态。并且,导入应用的激活状态是由导入应用判定的运行状态,而许可证调度模块1010设置的去激活状态,则可以是认为是由智能设备判定的管理状态。即,若导入应用未在智能设备激活,则导入应用拒绝在智能设备的运行启动;若设备主应用将导入应用置为去激活状态,则智能设备将导入应用视为未激活。

基于上述许可证管理装置,每当智能设备导入有效的许可证时,智能设备可以将该许可证及其有效其保存在其非易失性存储介质中,因此,在智能设备中的每个导入应用被许可证激活的期间内,该智能设备都可以在非易失性存储介质中对许可证的有效期进行消耗更新,从而,智能设备无需借助网络交互即可实现对导入应用的许可有效期的统一管理,并且不受导入应用的类型和数量以及许可证导入次数的限制。

在实际使用时,可能会存在误导入许可证的情况,例如,导入的许可证意图激活的导入应用未导入在智能设备,或者,导入的许可证并不是用于导入应用在该智能设备的激活。因此,为了避免对无效的许可证引发上述流程的执行,该实施例中的许可证管理装置可以进一步引入有效性验证机制。

相应地,许可证调度模块1010可以进一步用于响应于智能设备的许可证导入操作,对导入的许可证进行有效性验证,以检测该许可证是否意图将已导入在智能设备中的导入应用在该智能设备激活。其中,若检测到许可证意图将已导入在智能设备中的导入应用在该智能设备激活,则可以确定该许可证有效;否则,丢弃该许可证。

例如,许可证调度模块1010可以从导入的许可证中解析得到应用标识和设备标识,将解析得到的应用标识与导入在智能设备中的导入应用的应用标识进行匹配、并将解析到的设备标识与该智能设备的设备标识进行匹配;当应用标识和设备标识均匹配成功时,确定导入的许可证意图将已导入在智能设备中的导入应用在该智能设备激活。

在实际使用中,智能设备导入的许可证有可能用于首次激活导入应用,也有可能用于延续已激活导入应用的激活状态,其中,对于同一个导入应用,每次申请的许可证中的内容不全相同,例如版本信息等许可证标识信息可以是不同的。为此,该实施例中的许可证管理装置可以进一步引入有效期叠加机制,以避免由于许可证的更换而导致尚未耗尽的有效期被误消耗。

相应地,许可证调度模块1010可以进一步用于在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期之前,检测导入的许可证意图激活的导入应用当前是否已在智能设备中激活;若该导入应用当前已在智能设备中激活,则在非易失性存储介质中查询引发该导入应用的当前激活状态的许可证、并取消有效期管理模块对查找到的许可证的有效期的消耗更新。

而且,为了避免由于重复导入有效期已耗尽的许可证而欺骗导入应用重新激活。为了避免这样的欺骗行为,该实施例中的许可证管理装置可以进一步引入防欺骗导入机制,一方面,保证有效期未耗尽的许可证可以在再次导入时合法使用,另一方面,防止有效期已耗尽的许可证在再次导入时非法激活导入应用。

相应地,许可证调度模块1010可以进一步用于在该智能设备的非易失性存储介质中保存导入的许可证、并写入从该许可证中解析得到的有效期之前,检测非易失性存储介质中是否已保存有导入的许可证;当检测到导入的许可证已保存在非易失性存储介质中时,查询该许可证在非易失性存储介质中留存的有效期是否耗尽;若导入的许可证在非易失性存储介质中留存的有效期耗尽,则丢弃导入的许可证;若导入的许可证在非易失性存储介质中留存的有效期未耗尽,则响应于智能设备中的导入应用被导入的许可证的激活状态,触发有效期管理模块以该许可证在非易失性存储介质中留存的有效期恢复消耗更新。

为了防御非法用户向智能设备频繁导入通过非法途径获取的无效许可证,该实施例中的许可证管理装置可以进一步引入防暴力导入机制。

相应地,许可证调度模块1010可以进一步用于在对导入的许可证进行有效性验证之前,检测导入的许可证意图激活的导入应用是否在非易失性存储介质中被记录为禁止许可证导入状态;若导入的许可证意图激活的导入应用在非易失性存储介质中被记录为禁止许可证导入状态,则设备主应用丢弃导入的许可证;若导入的许可证意图激活的导入应用在非易失性存储介质中未记录为禁止许可证导入状态,则设备主应用使能对该许可证的有效性验证。

并且,许可证调度模块1010可以进一步用于当对导入的许可证的有效性验证失败时,设备主应用在该智能设备的非易失性存储介质中为该许可证意图激活的导入应用记录许可证导入失败时间。

另外,为了辅助许可证调度模块1010实施防暴力导入机制,该实施例中的许可证管理装置可以进一步包括禁用管理模块(未在图10中示出),用于依据为导入应用记录的许可证导入失败时间检测许可证导入失败频率;当检测到意图激活导入应用的许可证导入失败频率高于预设阈值时,设备主应用将该导入应用置为禁止许可证导入状态、对该导入应用的禁止许可证导入状态进行计时维护;当对导入应用的禁止导入状态的计时到达时,设备主应用解除该导入应用的禁止许可证导入状态。

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

相关技术
  • 智能设备的许可证管理方法和装置以及智能设备
  • 一种移动智能设备管理方法和装置
技术分类

06120112285575