一种应用运行授权处理方法、系统和设备与流程

文档序号:30544064发布日期:2022-06-29 00:19阅读:105来源:国知局
一种应用运行授权处理方法、系统和设备与流程

1.本技术涉及到应用控制领域,具体而言,涉及一种应用运行授权处理方法、系统和设备。


背景技术:

2.现有的智能应用程序在消费者购买后,都是按照时间进行授权。用户购买之后,要么永久使用,要么是授权使用到某个自然时间点,对于一些设备,尤其是安防设备,设备之间差异巨大,分析的路数差距大,对于单纯依赖时间进行限制,对应用开发者、消费者来说都是不够公平的。且基于自然时间的授权方案也具有局限性,如消费者购买了某个应用,但并未及时使用,放置了一段时间后,才开始使用,那么这段放置时间是白白浪费掉的。


技术实现要素:

3.本技术实施例提供了一种应用运行授权处理方法、系统和设备,以至少解决现有技术中采用自然时间进行授权所存在的问题。
4.根据本技术的一个方面,提供了一种应用运行授权处理方法,包括:获取目标应用的授权信息,其中,所述授权信息包括两个维度,所述两个维度中的第一维度用于限制所述目标应用分析多媒体的能力,所述第二维度用于指示所述目标应用被授权的总时长;根据所述授权信息的两个维度判断所述目标应用是否超过所述授权信息中的限制;如果未超过所述授权信息中的限制,则对所述目标应用使用的情况进行累积;如果超过所述授权信息中的限制,则对所述目标应用的运行按照预先定义的规则进行限制。
5.进一步地,根据所述授权信息的两个维度判断所述目标应用是否超过所述授权信息中的限制包括:根据所述授权信息中的两个维度中的任意之一判断所述目标应用是否超过所述授权信息中的限制,其中,超过所述两个维度中的任意之一的限制则为超过所述授权信息的限制。
6.进一步地,还包括:在所述授权信息为多个的情况下,将多个所述授权信息整合为一个总的授权信息,所述总的授权信息作为判断所述目标应用是否超过授权信息限制的依据;其中:在所述多个授权信息中的第二维度在时间轴上相同时间位置有重叠部分的情况下,将不重叠部分对应的第一时长和所述重叠部分对应的第二时长在时间轴上进行排列得到所述总的授权信息的第二维度;将所述多个授权信息中在时间轴上重叠部分对应的第一维度相加作为重叠部分的第一维度的值,将所述重叠部分的第一维度的值和不重叠部分的第一维度的值按照时间轴进行排列得到所述总的授权信息的第一维度;或者,从所述多个授权信息中确定一个授权信息作为的第一授权信息,分别将所述多个授权信息中的其余授权信息根据所述第一授权信息的第一维度和第二维度进行转换,根据转换后的第一维度和第二维度得到总的授权信息;其中:将所述其余授权信息的第一维度的值转换为与所述第一授权信息的第一维度的值相等的值,将所述第一维度的值作为所述总的授权信息的第一维度,其中,对于其余授权信息中的任一授权信息:该任一授权信息在被转换之前的第一维
度的值和第二维度的值的乘积与该任一授权信息被转换之后的第一维度的值和第二维度的值的乘积相等;在所述第一授权信息的总时长上基础上依次按照所述其余授权信息中的每个授权信息的转换后的总时长进行延长,将延长后得到的总时长作为所述总的授权信息的第二维度。
7.进一步地,根据所述授权信息的两个维度判断所述目标应用是否超过所述授权信息中的限制包括:计算所述第一维度和所述第二维度的乘积得到第一值;将所述目标应用使用的分析所述多媒体的能力以及已经运行的时长相乘得到第二值;判断所述第二值是否超过第一值,如果已经超过第一值,则确定超过了所述授权信息的限制。
8.进一步地,计算所述第一维度和所述第二维度的乘积得到第一值包括:在所述授权信息为多个的情况下,将每个授权信息中的第一维度和所述第二维度的乘积相加作为所述第一值。
9.进一步地,在所述目标应用用于分析实时视频的情况下,所述第一维度为分析视频的路数,所述第二维度为对所述目标应用授权的总时长。
10.进一步地,在所述目标应用运行多个实例的情况下,所述目标应用已经运行的分析视频的路数是根据所述多个实例中的每个实例中运行的分析视频的路数相加得到的,相加得到的路数受到授权信息中第一维度的限制;所述目标应用已经运行时长是第一时间点减去第二时间点得到的,其中,所述第二时间点为所述多个实例中的最早开始运行的实例的开始运行时间,所述第一时间点为所述多个实例中最晚结束运行的实例的结束运行时间。
11.进一步地,根据所述授权信息的两个维度判断所述目标应用是否超过所述授权信息中的限制包括:在所述目标应用用于分析多媒体文件的情况下,将所述第一维度表示为一个倍数,其中,所述倍数用于指示所述第二维度中的数值的倍数;将所述第二维度中的总时长根据处理一个多媒体文件的时间转换成能够处理多媒体文件的总个数,和/或,将所述第二维度中的总时长作为能够处理多媒体文件的总时长;使用所述倍数与所述第二维度的乘积作为所述第一值,将所述目标应用已经处理过的多媒体文件的个数和/或已经处理过的多媒体文件的时长作为所述第二值;判断所述第二值是否超过第一值,如果已经超过第一值,则确定超过了所述授权信息的限制。
12.进一步地,还包括:判断所述授权信息中是否包括第三维度,其中,所述第三维度用于指示能够处理多媒体文件的总个数,和/或,能够处理多媒体文件的总时长;在所述授权信息包括所述第三维度的情况下,根据所述第三维度对所述目标应用所进行的多媒体文件的处理进行限制。
13.进一步地,所述授权信息中在包括所述第三维度的情况下,所述授权信息中未包括所述第一维度和所述第二维度。
14.根据本技术的另一个方面,还提供了一种应用运行授权处理系统,包括:获取模块,用于获取目标应用的授权信息,其中,所述授权信息包括两个维度,所述两个维度中的第一维度用于限制所述目标应用分析多媒体的能力,所述第二维度用于指示所述目标应用被授权的总时长;判断模块,用于根据所述授权信息的两个维度判断所述目标应用是否超过所述授权信息中的限制;处理模块,用于在未超过所述授权信息中的限制的情况下,则对所述目标应用使用的情况进行累积;在超过所述授权信息中的限制的情况下,则对所述目
标应用的运行按照预先定义的规则进行限制。
15.进一步地,所述判断模块用于根据所述授权信息中的两个维度中的任意之一判断所述目标应用是否超过所述授权信息中的限制,其中,超过所述两个维度中的任意之一的限制则为超过所述授权信息的限制。
16.进一步地,还包括:合并模块,用于在所述授权信息为多个的情况下,将多个所述授权信息整合为一个总的授权信息,所述总的授权信息作为判断所述目标应用是否超过授权信息限制的依据;其中:在所述多个授权信息中的第二维度在时间轴上相同时间位置有重叠部分的情况下,将不重叠部分对应的第一时长和所述重叠部分对应的第二时长在时间轴上进行排列得到所述总的授权信息的第二维度;将所述多个授权信息中在时间轴上重叠部分对应的第一维度相加作为重叠部分的第一维度的值,将所述重叠部分的第一维度的值和不重叠部分的第一维度的值按照时间轴进行排列得到所述总的授权信息的第一维度;或者,从所述多个授权信息中确定一个授权信息作为的第一授权信息,分别将所述多个授权信息中的其余授权信息根据所述第一授权信息的第一维度和第二维度进行转换,根据转换后的第一维度和第二维度得到总的授权信息;其中:将所述其余授权信息的第一维度的值转换为与所述第一授权信息的第一维度的值相等的值,将所述第一维度的值作为所述总的授权信息的第一维度,其中,对于其余授权信息中的任一授权信息:该任一授权信息在被转换之前的第一维度的值和第二维度的值的乘积与该任一授权信息被转换之后的第一维度的值和第二维度的值的乘积相等;在所述第一授权信息的总时长上基础上依次按照所述其余授权信息中的每个授权信息的转换后的总时长进行延长,将延长后得到的总时长作为所述总的授权信息的第二维度。
17.进一步地,所述判断模块包括:第一计算单元,用于计算所述第一维度和所述第二维度的乘积得到第一值;第二计算单元,用于将所述目标应用使用的分析所述多媒体的能力以及已经运行的时长相乘得到第二值;第一确定单元,用于判断所述第二值是否超过第一值,如果已经超过第一值,则确定超过了所述授权信息的限制。
18.进一步地,所述第一计算单元,用于在所述授权信息为多个的情况下,将每个授权信息中的第一维度和所述第二维度的乘积相加作为所述第一值。
19.进一步地,所述判断模块包括:第一处理单元,用于在所述目标应用用于分析多媒体文件的情况下,将所述第一维度表示为一个倍数,其中,所述倍数用于指示所述第二维度中的数值的倍数;将所述第二维度中的总时长根据处理一个多媒体文件的时间转换成能够处理多媒体文件的总个数,和/或,将所述第二维度中的总时长作为能够处理多媒体文件的总时长;第三计算单元,用于使用所述倍数与所述第二维度的乘积作为所述第一值,第二处理单元,用于将所述目标应用已经处理过的多媒体文件的个数和/或已经处理过的多媒体文件的时长作为所述第二值;第二确定单元,用于判断所述第二值是否超过第一值,如果已经超过第一值,则确定超过了所述授权信息的限制。
20.进一步地,所述判断模块还用于判断所述授权信息中是否包括第三维度,其中,所述第三维度用于指示能够处理多媒体文件的总个数,和/或,能够处理多媒体文件的总时长;所述处理模块还用于在所述授权信息包括所述第三维度的情况下,根据所述第三维度对所述目标应用所进行的多媒体文件的处理进行限制。
21.根据本技术的再一个方面,还提供了一种用于应用运行授权处理的设备,其特征
在于,包括存储器和/或处理器,其中,所述存储器用于存储程序,所述处理器用于运行所述程序,所述程序用于执行上述的方法。
22.在本技术实施例中,采用了获取目标应用的授权信息,其中,所述授权信息包括两个维度,所述两个维度中的第一维度用于限制所述目标应用分析多媒体的能力,所述第二维度用于指示所述目标应用被授权的总时长;根据所述授权信息的两个维度判断所述目标应用是否超过所述授权信息中的限制;如果未超过所述授权信息中的限制,则对所述目标应用使用的情况进行累积;如果超过所述授权信息中的限制,则对所述目标应用的运行按照预先定义的规则进行限制。通过本技术解决了现有技术中采用自然时间进行授权所存在的问题,从而提高了授权的灵活性,可以更加精细化的进行授权。
附图说明
23.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
24.图1是根据本技术实施例的系统架构的流程图。
25.图2是根据本技术实施例的应用运行授权处理方法的流程图。
26.图3是根据本技术实施例的授权信息相加处理的示意图一;
27.图4是根据本技术实施例的授权信息相加处理的示意图二;
28.图5是根据本技术实施例的授权信息相加处理的示意图三。
具体实施方式
29.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
30.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
31.本实施例可以应用到如图1所示的系统中,当然本实施例也可以应用到其他架构的系统,在此以图1为例进行说明,本实施例的应用并不限于图1中的系统。下面对图1中涉及到的各方进行说明。
32.应用开发者,负责开发出基于平台开放设备的智能应用程序。智能应用程序开发完成后,需要在应用系统平台中进行发布,也就是软件上架。平台开放设备是一种具有开放功能的设备,该设备可以具有高度的开放性,允许第三方开发者直接基于该设备的硬件基础上,进行私有化开发。设备会提供基础的服务接口,供第三方开发者调用。平台开放设备有很多种,例如,包括后端的计算设备、数据中心服务器设备、以及前端的智能摄像机设备、智能闸机设备等。
33.用户,是指终端消费者,购买了平台开放设备,在应用系统平台上将设备与自己进行关联,成为自己名下的设备。
34.用户可以购买已经上架的智能应用,并通过应用系统平台将智能应用部署到自己名下的平台开放设备上,并拿到对应的licensekey之后就可以运行智能应用程序。智能应用也称为应用或者应用程序,内部具有智能分析算法和业务处理逻辑,可运行在平台开放
设备中。应用(app)也可以运行在容器中,容器是平台开放设备(即主控设备)提供的一整套运行环境,类似虚拟机,app可以运行在容器环境中,容器受到主控设备的管理、权限控制等。
35.应用系统平台是一个应用商城,用于拉通消费者、应用开发者、设备三方的一个综合平台。在该平台中,消费者可以将购买的平台开放设备,关联到自己名下,并购买应用开发者开发的应用,下载到自己名下的设备上进行运行。应用系统平台负责提供支付结算、应用管理、授权认证、设备管理等服务。应用在应用系统平台中都有一个唯一标识被称为是appid,其由一串字符串组成,具有全局唯一性,可以由应用系统平台负责分配,应用开发者无法自行指定;或者,应用开发者可以自行指定。
36.应用开发者通常又分为多个细分的角色:应用提供者(例如可以是智能算法应用提供者)、软件集成商或运营商,应用开发者可以通过应用系统平台申请授权代码(licensecode),并将该licensecode卖给软件集成商,licensecode中约定了开发者开发的软件最大可以生成授权信息(licensekey)的数量。软件集成商或运营商,通过拿到licensecode,进行生成对应的licensekey,并将其卖给终端消费者,从而完成整个软件售卖。其中,licensekey:是用于对应用进行授权的文件,在一个示例中,licensekey关联了平台开放设备的唯一标识(例如可以是该设备的序列号)、应用的唯一标识(例如可以是上述提到的appid)、该应用的授权信息内容,当然,也可以不限于关联前述的三项内容,可以根据需要关联其他信息,例如用户(即使用该应用的用户)身份信息等内容。licensecode:是用于标记应用授权的一串代码,该数据由应用开发者在应用系统平台中进行申请,可以进行转售给软件经销商、集成商。该数据记录了某个应用支持授权次数的能力,像一个种子一样,由licensecode生成licensekey。
37.在上述架构中,为了方便描述,将开放平台设备的基础服务系统称为“主控”,将开放平台设备简称为“设备”,在本实施例中,对app授权校验的控制过程如下:
38.主控负责记录每个app对应的licensekey信息以及其已经运行情况,例如,运行时间、当前分析的路数(该实施例中,这里指的是多媒体的路数)信息。这里的应用可以有很多种,例如用于目标识别(例如人脸识别、车辆识别、物体识别等)、智能分析(例如事件分析、行为分析等)之类的app,即,可以是各种具有分析功能的app,开发者可以根据自己的能力开发出各种功能的app。本实施例中不限定app的具体业务功能,由应用开发者自由开发,只要在开放平台提供的运行环境中能运行就可以,都是允许的;例如这些应用可以是基于开放平台的软件接口进行开发的,其中开放平台指的是一种能够给应用程序提供运行环境的系统,可以是一种软件系统、一种硬件系统或者一种软硬件结合的系统。当然非法、破坏其他开发者app的功能是不允许的。app在上架商城(即前述的应用系统平台)前,会进行审核。
39.需要说明的是,在本实施例中,作为一种可选的实施方式,一个app还可以运行多个实例,实例是指app运行的程序个数,如对于某款app,在一个具有8个引擎的设备上,可以同时分别在8个引擎上并行运行该app,这样同一时刻,相当于有8个app在同时运行,那么每个引擎上运行的app,就称之为该app程序的一个运行实例。这里所说的引擎可以是具有智能分析功能的物理单元,例如可以是gpu。一颗gpu通常被叫做一个引擎。
40.授权校验可以通过app进行,app内部通过调用主控提供的查询接口,完成校验判断,并可以调用主控接口进行报错、停止运行等操作。
41.在对应用进行授权之后,就可以对应用使用授权的情况进行监控,图2是根据本技术实施例的应用运行授权处理方法的流程图,如图2所示,该流程包括如下步骤:
42.步骤s202,获取目标应用的授权信息,其中,该授权信息包括两个维度,所述两个维度中的第一维度用于限制所述目标应用分析多媒体的能力,所述第二维度用于指示所述目标应用被授权的总时长;
43.步骤s204,根据所述授权信息的两个维度判断所述目标应用是否超过所述授权信息中的限制;
44.步骤s206,如果未超过所述授权信息中的限制,则对所述目标应用使用的情况进行累积;
45.步骤s208,如果超过所述授权信息中的限制,则对所述目标应用的运行按照预先定义的规则进行限制。
46.在该步骤,预先定义的规则可以包括很多种,例如:可以停止应用的运行;又例如,作为一种缓冲的做法,还可以在超过权限之后继续使用一段时间,其中,在继续运行的时间里可以对目标应用的分析能力进行进一步限制等。
47.通过上述步骤,从两个维度对应用的使用进行了限制,一方面是限制了分析能力,另一方面限制了总时长或者处理文件的总个数,相比于现有技术中仅仅依靠自然时间的限制,提高了授权的灵活性,可以更加精细化的进行授权。
48.根据两个维度判断目标应用(在下文中也被称作应用或者app)的运行是否超过授权信息的限制的方式有很多种,作为一种容易实现的方式,可以根据所述授权信息中的两个维度中的任意之一判断目标应用是否超过所述授权信息中的限制,其中,超过所述两个维度中的任意之一的限制则为超过所述授权信息的限制。
49.下面结合上述开放平台设备对该判断方式进行说明。
50.在开放平台设备中,主控提供接口,该接口能够被调用以提供授权信息。授权信息的格式可以是xml格式的,下面是一个授权信息的例子:
[0051][0052]
当然,该xml文件中还可以有其他信息,在此不再一一列举了。在以下说明中以路数为例,将路数作为第一维度进行说明。
[0053]
主控在app在运行时,可以查看到相关的进程信息。此外,主控程序还会有独立的线程负责查询当前app的运行情况,定期扫描,进行记录运行时长。当app停止运行,或者断电后,则主控不会再更新运行时长信息。基于该功能,主控可以获取app已经运行了的时间。主控内部会每秒查询所有引擎上运行的实例情况,并记录到设备本地的数据库中。
[0054]
在一个可选的实施方式中,还可以考虑同一应用运行多个实例的情况。对于多个实例,可以采用路数对多个实例中运行的路数综合进行限制,即一个应用已经运行的分析
视频的路数是根据该应用运行的多个实例中的每个实例中运行的分析视频的路数相加得到的,相加得到的路数受到授权信息中第一维度的限制。例如,授权信息中的路数为6路,该应用一共运行了3个实例,3个实例相加路数不能超过6路。
[0055]
在采用路数进行限制的情况下,对于多实例运行的情况,不进行重复记录每个实例的运行时间,即一个应用已经运行时长是第一时间点减去第二时间点得到的,其中,第二时间点为多个实例中的最早开始运行的实例的开始运行时间,第一时间点为所述多个实例中最晚结束运行的实例的结束运行时间。例如:t0时刻,实例1运行,而在t0+20min(分钟),实例2开始运行,实例2在t0+50min时刻结束,实例1在t0+60min时刻结束,则对于该app的运行时间记录是60min,而不是90min。在另一个例子中,运行了3个实例,实例1在t0时刻开始运行,实例2在t0+20min运行,实例2在t0+50min时刻结束,实例3在t0+55min开始运行,实例1在t0+60min时刻结束,实例3在t0+100min时刻结束,则第一时间点为t0+100min,第二时间点为t0,该应用已经运行的总时长为t0+100min-t0=100min。
[0056]
需要说明的是,设备对于时间记录,不基于自然时间,即app停止运行、设备断电闲置时,该时间记录不进行累加空置时间。
[0057]
主控还可以获取app的所有实例总共已经进行分析的路数。设备主控会实时记录每个app实例的分析路数情况,该数据保存在运行内存中,不会存储数据库,断电后消失,并且会随着app运行情况进行增减变化。例如,某个app,跑了2个实例,引擎1上面分析了3路,在引擎2上进行了2路分析。则调用此接口后,返回的结果是5路。在一个可选实施例中,一个引擎上,可以只允许运行1个app,也可以允许运行多个app。用户在同一个容器中,运行多个app,不会存在冲突,原因是:容器为app运行提供了一个虚拟的容器环境,相当于是虚拟机,对于app而言,它是独占这个容器环境的。容器就相当于是一个小的操作系统,里面有一些必要的系统资源控制程序,但整个容器又在一台设备(例如nvr)的总体控制之下。
[0058]
作为一个可选的实施方式,主控可以通过如下步骤来对app授权进行校验。
[0059]
步骤1,查询当前appid对应的授权文件信息。拿到授权时间t1、路数c1。
[0060]
步骤2,查询当前已经运行的时间t2。
[0061]
步骤3,查询当前已经分析的路数c2。
[0062]
step 4:判断t1-t2》0是否为真,如果结果为假,则进行报错:授权时间到,并停止运行;如果为真,则进一步判断c1-c2》0是否为真,如果为真,则可以直接运行,如果为假,则进行报错:授权路数超限,并停止运行。
[0063]
作为一个可选的实施方式,在app授权校验不通过后,下次运行需要人工干预执行。
[0064]
在上述判断中,是首先判断时间,再判断路数的,这是因为进行授权判断是通常在任务创建时以及在任务执行过程中进行判断的,在任务创建时,对路数已经进行了限制,如允许分析5路,那么添加6路时会进行报错,因此在后续任务执行过程中,大部分情况下,路数都是在约定授权范围内的、不会超限,因此先判断时间,效率更高一点。但不绝对是这样,先判断路数,再判断时间,也一样可以达到效果,只是从代码总体执行效率上,从概率上讲,先判断路数多执行了一次比对。下面对该步骤举一个例子进行说明,例如,某个app可以实现人脸分析的功能,在资源充足的情况下,分析1路实时视频(或者也可以分析实时音频,或者分析实时音视频,在此以视频为例进行说明)所需要的算力是1t。那么如果有一个用户,
在商城上购买了该app,并且获取到5路1天的授权信息。假设该用户名下有1台开放平台设备,当前设备系统剩余的资源是2颗gpu,每个gpu上剩余还有3t算力。此时如果用户将该app部署到了这台设备上,那么,最大情况下,能实现5路人脸的分析性能分析1天:第一个gpu运行一个app实例,开启3路分析,将本gpu的剩余算力用完;在第二个gpu上运行该app时,对于任务的创建,尽管还剩余3t算力,理论上能跑3路分析,但自己买来的授权最大路数是5路,因此第一个gpu上已经用去3路了,那么再在这个gpu上运行,最多就只剩下2路可以分析了。
[0065]
对于授权中出现的特殊情况,在本实施例中提供了如下的可选方式,例如,授权路数限制不进行累计计数,在这种方式中,用户购买了app的授权为:4路分析1小时,而在实际使用过程中,该用户只使用了1路分析了1小时,则超过1小时后,仍然提示授权到期,不会对于未使用的3路授权进行弥补,该损失由用户自己承担。
[0066]
作为另一种授权中的特殊情况,就是授权信息为多个时的叠加,在本实施例中,提供了如下一种可选的方式,在该可选实施方式中,在所述授权信息为多个的情况下,将多个所述授权信息整合为一个总的授权信息,总的授权信息作为判断目标应用是否超过授权信息限制的依据。整合的方式有很多种,下面通过示例对其中的两种方式进行说明。
[0067]
方式一,在所述多个授权信息中的第二维度在时间轴上相同时间位置有重叠部分的情况下,将不重叠部分对应的第一时长和所述重叠部分对应的第二时长在时间轴上进行排列得到所述总的授权信息的第二维度;将所述多个授权信息中在时间轴上重叠部分对应的第一维度相加作为重叠部分的第一维度的值,将所述重叠部分的第一维度的值和不重叠部分的第一维度的值按照时间轴进行排列得到所述总的授权信息的第一维度。
[0068]
下面结合一个附图对给例子进行说明,如图3所示,在该例子中,重复授权进行路数累加,但时间不累加。例如,用户购买了2个licensekey,分别是3路5天和2路3天时间。用户先导入了3路5天的授权文件,并开始运行,运行了1天之后,将第二个2路3天的授权文件导入了设备,则此时对于该app的授权变成了两个授权文件的路数叠加、时间投影,即变成了5路3天+3路1天。如果设备没有开始运行,则上面2个授权文件导入后,授权变为5路3天+3路2天,即3路的授权时间没有进行消耗。
[0069]
在另外一个例子中,用户购买了2个licensekey,分别是3路5天和2路3天时间。用户先导入了3路5天的授权文件,并开始运行,运行了4天之后,将第二个2路3天的授权文件导入了设备,则此时对于该app的授权变成了两个授权文件的路数叠加、时间投影,即尚未使用的授权信息就变成了5路1天+2路2天,整个授权信息3路4天+5路1天+2路两天。
[0070]
在上述例子中,用户或多或少可能存在损失的情况,作为另一种可选的实施方式可以解决这个问题。
[0071]
方式二,在该可选实施方式中,可以从多个授权信息中确定一个授权信息作为的第一授权信息,分别将多个授权信息中的其余授权信息根据第一授权信息的第一维度和第二维度进行转换,根据转换后的第一维度和第二维度得到总的授权信息;其中:将其余授权信息的第一维度的值转换为与第一授权信息的第一维度的值相等的值,将第一维度的值作为总的授权信息的第一维度,其中,对于其余授权信息中的任一授权信息:该任一授权信息在被转换之前的第一维度的值和第二维度的值的乘积与该任一授权信息被转换之后的第一维度的值和第二维度的值的乘积相等;在第一授权信息的总时长上基础上依次按照其余授权信息中的每个授权信息的转换后的总时长进行延长,将延长后得到的总时长作为总的
授权信息的第二维度。
[0072]
仍然以第一维度为路数,第二维度为授权总时长为例进行说明。在一个可选例子中,在用户进行重复授权时,也可以采用“路数不变,时间增加”(这可以理解为根据乘积进行授权的一种特例)的方式来计算总的授权,例如,如图4所示,用户购买了2个licensekey,分别是3路5天和2路3天时间。用户先导入了3路5天的授权文件,并开始运行,运行了1天之后,将第二个2路3天的授权文件导入了设备,则此时可以将第二个授权文件进行转换,转为:3路2天(采用面积法换算,2路3天,变为3路2天,即,2*3=3*2),则导入后最终的授权就变成了3路5天+3路2天=3路7天,由于已经运行了1天,因此还剩下3路6天时间。
[0073]
上述授权方式中部分采用了乘积不变情况下,将路数和天数相互转换的方法,该方法可以称为面积法。在这种方式中,可以进一步扩展成全部采用面积法来进行计算,即在所述授权信息为多个的情况下,将多个授权信息整合为一个总的授权信息,将每个授权信息中的第一维度和所述第二维度的乘积相加作为所述第一值。这种方式可以最大程度的保证用户的利益。
[0074]
下面结合一个例子进行说明,用户购买了2个licensekey,分别是3路5天和2路3天时间。用户先导入了3路5天的授权文件,这时候,实际上他获得的授权为3*5=15路天的授权情况,如果基于面积法,在基于硬件设备接入路数限制内,可以实现最大化的分析路数,如恰巧有一台8路接入性能的设备,那么在这个设备上进行分析,可以实现:8路同时分析,分析的时长是15/8=1.875天。同样的,当有多个授权导入时,也变得更加容易计算。如图5所示,如客户以8路进行分析,分析完1天后,又导入第二个授权:2路3天的授权,则剩余的授权时间如下:
[0075]
15-8*1+2*3=13路天
[0076]
那么接下来,客户可以根据自己的需要进行分析,直至用完所有剩余授权时间。
[0077]
在这种方式中,用户在合并多个授权信息时,以及使用单个授权信息时均不会有所损失,能够在一定程度上提高用户体验。
[0078]
在上述例子中,均是使用路数为例子来进行说明的,在本实施例中可以扩展为图片、视频、音频、音视频等非实时数据的分析授权,那么对于这类数据,不存在路数的概念,此时第一维度可以理解为处理图片或者视频等多媒体文件的能力,即可以将所述第一维度表示为一个倍数,其中,该倍数用于指示第二维度中的数值的倍数,第二维度仍然是授权使用的总时长。
[0079]
例如,针对视频文件分析的过程中,第二维度中总时长可以为能够分析的视频文件的总时长,第一维度可以表示对该总时长的倍数,最终使用第一维度和第二维度的乘积来标识该授权信息能够分析的视频文件的时长。例如,第一维度为3,第二维度为2个小时,则该授权信息下应用能够分析的视频时长为3*2=6个小时。如果一个视频文件的长度是1个小时,则该授权信息下应用能够分析的视频个数为6个。
[0080]
在另外一个例子中,针对多媒体文件(例如,图片,视频文件或视频文件)的分析场景,可以采用图片张数授权,即可以在licensekey文件中,直接增加图片张数内容信息,或者处理文件总时长的信息。即判断所述授权信息中是否包括第三维度,其中,所述第三维度用于指示能够处理多媒体文件的总个数,和/或,能够处理多媒体文件的总时长;在所述授权信息包括所述第三维度的情况下,根据所述第三维度对所述目标应用所进行的多媒体文
件的处理进行限制。在一个可选实施方式中,授权信息中可以包括第一维度和第二维度,或者授权信息中也可以包括第一维度、第二维度和第三维度,又或者授权信息中可以仅仅包括第三维度而不包括第一维度和第二维度。在实际使用授权信息时,可以根据实际需要灵活在授权信息中选择配置第一维度、第二维度和/或第三维度。
[0081]
例如,授权信息可以是:
[0082][0083]
如上面,validpic约定了可以进行30000张图片分析,将第一维度和和validpic相乘得到30000张图片,则该授权信息中一种可以处理30000张图片。
[0084]
在该例子中,对于每张图片的规格,例如分辨率大小、格式等,可以不做特殊限制,当然,也可以对图片的规格进行限制。
[0085]
在另一个例子中,在所述目标应用用于分析多媒体文件(例如,图片、音频文件、视频文件、音视频文件等)的情况下,第一维度用于表示一个倍数,将所述第二维度中的总时长根据处理一个多媒体文件的时间转换成能够处理多媒体文件的个数,和/或将所述第二维度中的总时长作为能够处理多媒体文件的时长,使用所述倍数与所述第二维度的乘积作为所述第一值,将目标应用已经处理的多媒体文件的个数和/或已经处理的多媒体文件的时长作为所述第二值,判断所述第二值是否超过第一值,如果已经超过第一值,则确定超过了所述授权信息的限制。
[0086]
在该实施例方式中,仍然基于原来的时间限制,将其与图片数量进行等效。
[0087]
例如,分析10张图片,等效为消耗分析时间1s(这是个约定值,由应用系统平台进行约定,针对所有消费者都是相同的)。那么对于用户拿到了3路2小时授权的app,就等效于3*2*3600*10(约定等效值)=216000张图片。因此,前文中所述的计算逻辑基本都可以复用,主控程序同样实时关注分析任务的执行情况,如果查询到是进行图片分析,则不再以运行时长进行计算,而是将分析数量进行折算记录耗时。需要注意的是,此时,没有路数的概念,将路数转换成一个倍数。另外,运行1个app实例分析10张图片和运行10个app实例,每个app实例分析1张图片所消耗的授权时间是相同的,因此在该实施例中也不用考虑一个app所运行的实例的个数。
[0088]
除了通过约定值转换的方法来进行计算外,也可以通过智能分析实际耗时方式来进行计算,其原理也很容易理解:智能gpu无论分析实时视频还是图片,都是需要花费时间的,也就是说分析性能是有上限的,那么在分析图片时,会天然存在一个“分析速率”的概念,即不可能出现“所有图片瞬间分析完成”这种情况,这个是客观现实条件限制的。因此基于分析速率进行计算授权剩余时间,也可行。假设当前硬件设备的gpu分析图片的速率是10张/s,那么如果要分析10000张图片,如果只开1个app实例,就需要1000s,如果开2个app实例,就需要500s,依次类推,此时需要注意的是,无论开几个实例,分析10000图片累积需要的时间是一样的,均为1000s。主控程序在进行计时统计时,如果查询到当前是图片分析,则
将所有进行图片分析的、同一个app的耗时进行累加(注意,必须是累加、加倍计算时间,而不是像实时视频一样只记录1倍时间),也可以实现最终耗时。这种方式下,随着硬件性能规格、app代码效率的不断提升,最终消费者实际能分析的图片速度也会相应的增加。
[0089]
针对视频文件分析任务,可以扩展为利用视频文件的时长来进行授权时间计算,即不同视频文件,他的录像时长是不同的,但是是确定不变的。例如1个60s时长的录像文件,无论视频图像画质如何,时长是固定的。因此,基于这个条件,授权就可以实现。例如,用户拿到了3路2小时授权的app,如果进行视频文件分析,没有路数的概念,那么他实际上可以用来分析的时长是3*2=6小时(在单一app实例的情况下)。需要注意的是,这里将实时视频分析的1s与视频录像文件的1s进行了等效。其实和图片分析类似,这种方式也存在一个约定等效值n,通常而言实时和录像视频是1:1关系,即录像的1s也就是实时1s,但随着后续技术增强,录像视频是可以进行“加速”分析,即分析1s录像文件,实际消耗的时间其实可能是0.5s,因此等效值n仍然发挥着作用。同样的,和图片分析类似,有了等效时间的值之后,就可以进行转换计算剩余授权时间了。
[0090]
同样的,视频文件分析任务,也一样适用于采用智能分析实际耗时方式来进行计算,原理就是前面提到的“加速”情况,随着硬件技术、软件效率提升,加速分析是很容易实现的,因此也可以通过实际硬件耗时计算授权使用时间。
[0091]
需要说明的是,在上述另一方面,针对非实时的图片、视频文件、音频文件等多媒体文件进行分析的情况下,如果存在多个授权信息,将多个授权信息中的每个授权信息的第一维度和第二维度相乘后再相加即可得到多个授权信息合并后总授权信息,这种算法类似于处理实时视频中的面积法,不再赘述。
[0092]
在本实施例中,提供一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行以上实施例中的方法。
[0093]
上述程序可以运行在处理器中,或者也可以存储在存储器中(或称为计算机可读介质),计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0094]
这些计算机程序也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤,对应与不同的步骤可以通过不同的模块来实现。
[0095]
该本实施例中就提供了这样的一种装置或系统。该系统被称为应用运行授权处理系统,包括:获取模块,用于获取目标应用的授权信息,其中,所述授权信息包括两个维度,所述两个维度中的第一维度用于限制所述目标应用分析多媒体的能力,所述第二维度用于指示所述目标应用被授权的总时长;判断模块,用于根据所述授权信息的两个维度判断所
述目标应用是否超过所述授权信息中的限制;处理模块,用于在未超过所述授权信息中的限制的情况下,则对所述目标应用使用的情况进行累积;在超过所述授权信息中的限制的情况下,则对所述目标应用的运行按照预先定义的规则进行限制。
[0096]
该系统或者装置用于实现上述的实施例中的方法的功能,该系统或者装置中的每个模块与方法中的每个步骤相对应,已经在方法中进行过说明的,在此不再赘述。
[0097]
例如,所述判断模块用于根据所述授权信息中的两个维度中的任意之一判断所述目标应用是否超过所述授权信息中的限制,其中,超过所述两个维度中的任意之一的限制则为超过所述授权信息的限制。
[0098]
又例如,还包括:合并模块,用于在所述授权信息为多个的情况下,将多个所述授权信息整合为一个总的授权信息,所述总的授权信息作为判断所述目标应用是否超过授权信息限制的依据;其中:在所述多个授权信息中的第二维度在时间轴上相同时间位置有重叠部分的情况下,将不重叠部分对应的第一时长和所述重叠部分对应的第二时长在时间轴上进行排列得到所述总的授权信息的第二维度;将所述多个授权信息中在时间轴上重叠部分对应的第一维度相加作为重叠部分的第一维度的值,将所述重叠部分的第一维度的值和不重叠部分的第一维度的值按照时间轴进行排列得到所述总的授权信息的第一维度;或者,从所述多个授权信息中确定一个授权信息作为的第一授权信息,分别将所述多个授权信息中的其余授权信息根据所述第一授权信息的第一维度和第二维度进行转换,根据转换后的第一维度和第二维度得到总的授权信息;其中:将所述其余授权信息的第一维度的值转换为与所述第一授权信息的第一维度的值相等的值,将所述第一维度的值作为所述总的授权信息的第一维度,其中,对于其余授权信息中的任一授权信息:该任一授权信息在被转换之前的第一维度的值和第二维度的值的乘积与该任一授权信息被转换之后的第一维度的值和第二维度的值的乘积相等;在所述第一授权信息的总时长上基础上依次按照所述其余授权信息中的每个授权信息的转换后的总时长进行延长,将延长后得到的总时长作为所述总的授权信息的第二维度。
[0099]
又例如,所述判断模块包括:第一计算单元,用于计算所述第一维度和所述第二维度的乘积得到第一值;第二计算单元,用于将所述目标应用使用的分析所述多媒体的能力以及已经运行的时长相乘得到第二值;第一确定单元,用于判断所述第二值是否超过第一值,如果已经超过第一值,则确定超过了所述授权信息的限制。可选地,所述第一计算单元,用于在所述授权信息为多个的情况下,将每个授权信息中的第一维度和所述第二维度的乘积相加作为所述第一值。
[0100]
又例如,所述判断模块包括:第一处理单元,用于在所述目标应用用于分析多媒体文件的情况下,将所述第一维度表示为一个倍数,其中,所述倍数用于指示所述第二维度中的数值的倍数;将所述第二维度中的总时长根据处理一个多媒体文件的时间转换成能够处理多媒体文件的总个数,和/或,将所述第二维度中的总时长作为能够处理多媒体文件的总时长;第三计算单元,用于使用所述倍数与所述第二维度的乘积作为所述第一值,第二处理单元,用于将所述目标应用已经处理过的多媒体文件的个数和/或已经处理过的多媒体文件的时长作为所述第二值;第二确定单元,用于判断所述第二值是否超过第一值,如果已经超过第一值,则确定超过了所述授权信息的限制。
[0101]
可选地,所述判断模块还用于判断所述授权信息中是否包括第三维度,其中,所述
第三维度用于指示能够处理多媒体文件的总个数,和/或,能够处理多媒体文件的总时长;所述处理模块还用于在所述授权信息包括所述第三维度的情况下,根据所述第三维度对所述目标应用所进行的多媒体文件的处理进行限制。
[0102]
综上,通过上述实施例解决了现有技术中采用自然时间进行授权所存在的问题,从而提高了授权的灵活性,可以更加精细化的进行授权。
[0103]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1