CN115640550A - 软件授权的控制方法、装置、设备及存储介质 - Google Patents
软件授权的控制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115640550A CN115640550A CN202211272355.7A CN202211272355A CN115640550A CN 115640550 A CN115640550 A CN 115640550A CN 202211272355 A CN202211272355 A CN 202211272355A CN 115640550 A CN115640550 A CN 115640550A
- Authority
- CN
- China
- Prior art keywords
- authorization
- license
- type
- permission
- resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及人工智能技术领域,提供了一种软件授权的控制方法、装置、设备及介质。该方法包括响应于带有授权对象、许可资源和/或资源组、许可模板类型和授权场景类型的许可控制接口请求,调用许可模板类型对应的预先定义的许可模板;在调用的许可模板中对授权对象进行许可授权,生成授权对象对应的许可参数;根据预先确定的授权场景类型与调用指令函数类型的映射关系,确定出授权场景类型对应的调用指令函数类型,基于许可资源和/或资源组生成确定出的调用指令函数类型对应的调用指令函数,执行调用指令函数以完成对许可控制接口请求的响应。本发明还涉及区块链技术领域,上述映射关系、调用指令函数还可以存储于一区块链的节点中。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种软件授权的控制方法、装置、设备及存储介质。
背景技术
许可是指用户购买软件的某个模块或者模块组后,软件生产商发给购买客户可使用模块的凭证。
通常根据用户的付费状态决定用户是否可以使用某些功能/看到某些数据的需求,但在付费状态的检查逻辑分散在全部受控的业务逻辑中,以及权限控制策略固化在代码中,无法根据用户的需求自动实现粗细粒度的访问权限。
发明内容
鉴于以上内容,本发明提供一种软件授权的控制方法、装置、设备及介质,其目的在于解决现有技术中许可控制软件无法根据用户的需求自动实现粗细粒度的访问权限的技术问题。
为实现上述目的,本发明提供一种软件授权的控制方法,该方法包括:
响应于带有授权对象、许可资源和/或资源组、许可模板类型和授权场景类型的许可控制接口请求,调用该许可模板类型对应的预先定义的许可模板;
在调用的许可模板中对该授权对象进行许可授权,生成该授权对象对应的许可参数;
根据预先确定的授权场景类型与调用指令函数类型的映射关系,确定出该授权场景类型对应的调用指令函数类型,基于该许可资源和/或资源组生成确定出的调用指令函数类型对应的调用指令函数,执行所述调用指令函数以完成对该许可控制接口请求的响应。
优选的,所述调用该许可模板类型对应的预先定义的许可模板,包括:
根据所述许可控制接口请求的接口代码获取已签发许可文件;
若所述已签发许可文件在有效时间期内,则确定待许可软件的已许可资源和/或资源组存储在服务端的资源列表中,并执行调用该许可模板类型对应的预先定义的许可模板。
优选的,所述的软件授权的控制方法,还包括:
若所述已签发许可文件不在有效时间期内,则确定待许可软件的已许可资源和/或资源组未存储在服务端的资源列表中,并停止执行调用该许可模板类型对应的预先定义的许可模板并生成预设的提示消息。
优选的,所述许可资源和/或资源组根据待许可软件的工件项和测试用例预先定义。
优选的,所述在调用的许可模板中对该授权对象进行许可授权,生成该授权对象对应的许可参数,包括:
调用所述许可模板创建所述该授权对象的授权字段,根据所述授权字段对该授权对象分配权限并生成所述许可参数,所述许可参数包括:可授权的资源和/或资源组、不可授权的资源和/或资源组、可授权的资源和/或资源组对应的许可起始时间和结束时间。
优选的,所述授权场景类型包括控制功能可用性的场景,所述控制功能可用性的场景对应的调用指令函数类型为验证类型。
优选的,所述授权场景类型包括控制数据可见性的场景,所述控制数据可见性的场景对应的调用指令函数类型为过滤类型。
为实现上述目的,本发明还提供一种软件授权的控制装置,所述装置包括:
接收模块:用于响应于带有授权对象、许可资源和/或资源组、许可模板类型和授权场景类型的许可控制接口请求,调用该许可模板类型对应的预先定义的许可模板;
授权模块:用于在调用的许可模板中对该授权对象进行许可授权,生成该授权对象对应的许可参数;
响应模块:用于根据预先确定的授权场景类型与调用指令函数类型的映射关系,确定出该授权场景类型对应的调用指令函数类型,基于该许可资源和/或资源组生成确定出的调用指令函数类型对应的调用指令函数,执行所述调用指令函数以完成对该许可控制接口请求的响应。
为实现上述目的,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述软件授权的控制方法。
为实现上述目的,本发明还提供一种计算机可读介质,所述计算机可读介质存储有软件授权的控制,所述软件授权的控制被处理器执行时,实现上述软件授权的控制方法的步骤。
本发明响应于带有授权对象、许可资源和/或资源组、许可模板类型和授权场景类型的许可控制接口请求,调用该许可模板类型对应的预先定义的许可模板,可以根据用户对待许可软件的需求进行请求对应的访问权限。
通过对资源进行一个最细粒度的管控,及对资源组提供粗粒度管控的能力,将功能可见和数据可用的控制逻辑集中抽象到统一的位置,便于管理和维护。最后执行所述调用指令函数以完成对该许可控制接口请求的响应,实现根据用户的需求自动实现粗细粒度的访问权限的技术效果。
附图说明
图1为本发明软件授权的控制方法的流程图示意图;
图2为本发明软件授权的控制装置的模块示意图;
图3为本发明软件授权的控制方法的电子设备的示意图;
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本发明提供一种软件授权的控制方法。参照图1所示,图1为本发明软件授权的控制方法的流程图示意图。该方法可以由一个电子设备执行,该电子设备可以由软件和/或硬件实现。软件授权的控制方法包括以下步骤S10-S30:
步骤S10:响应于带有授权对象、许可资源和/或资源组、许可模板类型和授权场景类型的许可控制接口请求,调用该许可模板类型对应的预先定义的许可模板。
在本实施例中,用户通过终端访问待许可软件的服务端提供的人工交互界面,在人工交互界面上提交带有授权对象、许可资源和/或资源组、许可模板类型和授权场景类型的许可控制接口请求。
许可模板类型包括个人类型、企业类型、团队类型;许可模板是为了满足一些常见场景引入的辅助实体,对应的常见场景如:一些固定版本(普通版、专业版、免费版)、经常一起出现的一组资源;根据用户提交请求的许可模板类型,调用该许可模板类型对应的预先定义的许可模板。例如,用户A请求的许可模板类型为企业类型,则调用企业类型的许可模板。
在一个实施例中,在所述响应于带有授权对象、许可资源和/或资源组、许可模板类型和授权场景类型的许可控制接口请求之前,该方法还包括:
获取预设界面中用户对待许可软件设置的请求参数;
根据所述请求参数生成所述许可控制接口请求。
请求参数是指用户对待许可软件请求开通的功能权限(例如,许可周期、编辑工作项、读权限、写权限);用户在终端通过已注册的账号访问待许可软件的服务端提供的预设界面(例如,预设界面为人工交互界面),根据用户的需求在人工交互界面使用某个工作项的功能或对某个资源设置请求参数,通过代码化将请求参数生成许可控制接口请求。
在一个实施例中,所述调用该许可模板类型对应的预先定义的许可模板,包括:
根据所述许可控制接口请求的接口代码获取已签发许可文件;
若所述已签发许可文件在有效时间期内,则确定待许可软件的已许可资源和/或资源组存储在服务端的资源列表中,并执行调用该许可模板类型对应的预先定义的许可模板。
在一个实施例中,所述已签发许可文件包括有效时间期、已许可资源和/或资源组。
服务端在接收到用户提交的许可控制接口请求后,获取发送许可控制接口请求的终端的接口代码,通过接口代码读取服务端已经签发给用户的已签发许可文件,判断已签发许可文件是否在有效时间期内,例如,已签发许可文件的有效时间期为2022年10月1日至2023年10月1日,当前发送许可控制接口请求的时间为2022年10月15日,则证明已许可文件处于有效时间期内,从而确定待许可软件的已许可资源和/或资源组存储在服务端的资源列表中,执行调用该许可模板类型对应的预先定义的许可模板。从而避免了在用户的已签发许可文件过期后,由非法调用服务端的授权文件生成库的发生安全风险的问题。
在一个实施例中,所述的软件授权的控制方法,还包括:
若所述已签发许可文件不在有效时间期内,则确定待许可软件的已许可资源和/或资源组未存储在服务端的资源列表中,并停止执行调用该许可模板类型对应的预先定义的许可模板并生成预设的提示消息。
若已许可资源和/或资源组未存储在资源列表中,则证明已签发许可文件处于有效时间期之外或无效状态,说明用户的请求属于非法请求,停止执行下一步骤并生成预设的提示消息(例如,您好,提交的请求超出您的权限范围,请联系后台管理员,谢谢),通过已签发许可文件对许可控制接口请求进行鉴别有效性,减少服务端对一些不必要请求的处理。
在一个实施例中,所述许可资源和/或资源组根据待许可软件的工件项和测试用例预先定义。
资源是指一个最细粒度的需要管控的资源,例如,许可资源可以是一个REST API、一个数据类型、一段逻辑代码等。
通常情况,一个REST API(REST API是一组关于如何构建Web应用程序API的架构规则)对应的只有一个固定的资源,一个数据类型实际对应了无数资源(该类数据类型不同的实例),对于上述情况举例说明:对于一个资源API_A,只存在API_A本身一个业务对象;对于一段逻辑代码作为资源的情况,我们可以将其视为一个函数,只存在该函数一个业务对象;对于一个数据类型B作为资源的情况,存在b1、b2、bN等无数业务对象。
资源组是指一组资源的集合,用于提供粗粒度管控的能力。本实施例考虑到需要提供精细化的许可管控能力,需要定义的资源会非常多、非常细,通过定义资源组为了便于待许可软件的开发、管理以及验证。
资源与资源集是值对象,按照定义的Include/Exclude可以很方便地进行业务操作,另外还可以定义出equals/contains等操作。
定义一组资源,如:新建工作项、编辑工作项、查看工作项、新建测试用例、查看测试用例;定义一些资源组,如:工作项(新建工作项、编辑工作项、查看工作项)、测试用例(新建测试用例、查看测试用例),其中资源组的定义是对资源定义的分组,对可资源和/或资源组可以预先定义好处在于在定义功能模块级别的许可控制模板以及校验功能模块级别的许可控制点时,可以使用定义好的资源组,避免手动检查大量的资源,降低维护成本和出错的概率,实现粗粒度的许可控制。
在一个实施例中,所述许可模板类型可以包括企业版、团队版。
企业版许可模板包含工作项(资源组)、测试用例(资源组);在其它实施例中,许可模板类型还包括普通版、专业版、免费版。
团队版许可模板包含工作项(资源组)、查看测试用例(资源);将许可模板类型进行分类好处在于许可模板可以与售卖模型一一对应,签发许可时可以直接引用许可模板,避免在签发许可时需要手动定义大量的资源和资源组
步骤S20:在调用的许可模板中对该授权对象进行许可授权,生成该授权对象对应的许可参数。
在本实施例中,读取已经签发给用户的已签发许可文件,若已签发许可文件处于有效期内,根据已签发许可文件调用的许可模板中对该授权对象进行许可授权,生成该授权对象对应的许可参数。
在一个实施例中,所述在调用的许可模板中对该授权对象进行许可授权,生成该授权对象对应的许可参数,包括:
调用所述许可模板创建所述该授权对象的授权字段,根据所述授权字段对该授权对象分配权限并生成所述许可参数,所述许可参数包括:可授权的资源和/或资源组、不可授权的资源和/或资源组、可授权的资源和/或资源组对应的许可起始时间和结束时间。
在调用许可模板对该授权对象创建授权字段时,根据已经签发给用户的已签发许可文件中用户的权限等级(例如,用户付费购买的权限等级,一般分为普通等级、VIP等级、超级VIP等级)创建所述该授权对象的授权字段,根据授权字段对该授权对象分配权限并生成所述许可参数生成对应的许可参数,可以实现对用户使用许可控制软件的任意资源的可用性控制和可见性控制,针对许可起始时间和结束时间,可以有效地约束用户对服务端提供的资源进行访问。
步骤S30:根据预先确定的授权场景类型与调用指令函数类型的映射关系,确定出该授权场景类型对应的调用指令函数类型,基于该许可资源和/或资源组生成确定出的调用指令函数类型对应的调用指令函数,执行所述调用指令函数以完成对该许可控制接口请求的响应。
在本实施例中,通过调用指令函数,比对上述步骤中获取到服务端的资源列表和已签发许可文件,例如,资源列表中包含已签发许可文件的全部资源,则认为该请求已被许可,否则认为该请求未被许可。然后通过指令函数执行对应的放行/拒绝操作,或数据过滤操作。
例如:用户请求了新建工作项的接口,首先进行执行:
步骤A:在代码中定义了该接口需要具有新建工作项资源的许可才能使用,故需要进行许可检查的资源列表为:新建工作项(资源);
步骤B:检查用户的已签发许可文件为有效,已签发许可文件为:新建工作项、删除工作项、新建测试用例;
步骤C:该场景对应的指令函数类型为验证类型(Validate),B中的资源列表已经包含A中的全部资源,执行验证类型指令函数,放行该请求。
在一个实施例中,所述授权场景类型包括控制功能可用性的场景,所述控制功能可用性的场景对应的调用指令函数类型为验证类型。
验证类型是指Validate函数,validate函数包含一个逻辑,该逻辑可显示指示符或其他某些通知以示某些数据存在问题。控制功能可用性的场景为授权对象,资源/资源组,例如:希望控制只有拥有相应授权的组织(授权对象)才可以使用工作项相关功能,则在所有工作项相关的功能入口处调用Validate(组织,工作项),若校验失败则拒绝访问。
在一个实施例中,所述授权场景类型包括控制数据可见性的场景,所述控制数据可见性的场景对应的调用指令函数类型为过滤类型。
过滤类型是指Filter函数,Filter函数是PHP核心的组成部分,作用是过滤。PHP过滤器用于对来自非安全来源的数据(比如用户输入)进行验证和过滤。控制数据可见性的场景为授权对象,资源/资源组,数据,例如,希望控制只有拥有相应授权的组织才可以看到测试用例,则在所有包含测试用例数据的函数返回值处调用Filter(组织,测试用例,返回数据)方法,输出结果会根据许可的状态自动对测试用例数据进行过滤。
在一个实施例中,在所述根据预先确定的授权场景类型与调用指令函数类型的映射关系之前,该方法还包括:
预先定义许可控制的授权映射表,所述授权映射表中包含允许被调用指令的函数及其允许被授权的场景类型、以及允许的操作类型之间的映射关系。
指令函数类型具体指由许可控制软件的操作系统向软件开发者提供的一整套函数集合。例如,授权映射表的源码形式为:open(param1,param2);其中param1、param2为字符串,如果param1的结尾为“/”则代表被打开的是路径(dir),如果param2为“O_RDONLY”则打开方式为只读,此时授权映射表中存储的映射关系具体为:open(file_path,read_only);->dir{open read},对应的允许被匹配的具有标准功能的函数为open,其允许被操作的对象类型objResType为dir,允许的操作类型permission为{open read}。
授权映射表起到授权操作专家库的作用,其明确指出允许哪些指令函数可以被操作、可以被执行什么类型的操作以及允许被操作的授权场景类型。如果每次都通过源码解析得到linux源码后再进行授权,会做很多重复且类似的解析操作,因此,通过源码授权映射表将历史的解析结果进行汇总,得到允许被匹配的具有标准功能的函数及其允许被操作的对象类型以及允许的操作类型之间的映射关系,可提高授权配置文件的生成速度,节省系统资源。
参照图2所示,为本发明软件授权的控制装置的模块示意图。
本发明所述软件授权的控制装置100可以安装于电子设备中。根据实现的功能,所述软件授权的控制装置100可以包括接收模块110、接收模块20、响应模块130。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
本实施例,关于各模块/单元的功能如下:
接收模块:用于响应于带有授权对象、许可资源和/或资源组、许可模板类型和授权场景类型的许可控制接口请求,调用该许可模板类型对应的预先定义的许可模板;
授权模块:用于在调用的许可模板中对该授权对象进行许可授权,生成该授权对象对应的许可参数;
响应模块:用于根据预先确定的授权场景类型与调用指令函数类型的映射关系,确定出该授权场景类型对应的调用指令函数类型,基于该许可资源和/或资源组生成确定出的调用指令函数类型对应的调用指令函数,执行所述调用指令函数以完成对该许可控制接口请求的响应。
在一个实施例中,所述调用该许可模板类型对应的预先定义的许可模板,包括:
根据所述许可控制接口请求的接口代码获取已签发许可文件;
若所述已签发许可文件在有效时间期内,则确定待许可软件的已许可资源和/或资源组存储在服务端的资源列表中,并执行调用该许可模板类型对应的预先定义的许可模板。
在一个实施例中,所述的软件授权的控制方法,还包括:
若所述已签发许可文件不在有效时间期内,则确定待许可软件的已许可资源和/或资源组未存储在服务端的资源列表中,并停止执行调用该许可模板类型对应的预先定义的许可模板并生成预设的提示消息。
在一个实施例中,所述许可资源和/或资源组根据待许可软件的工件项和测试用例预先定义。
在一个实施例中,所述在调用的许可模板中对该授权对象进行许可授权,生成该授权对象对应的许可参数,包括:
调用所述许可模板创建所述该授权对象的授权字段,根据所述授权字段对该授权对象分配权限并生成所述许可参数,所述许可参数包括:可授权的资源和/或资源组、不可授权的资源和/或资源组、可授权的资源和/或资源组对应的许可起始时间和结束时间。
在一个实施例中,所述授权场景类型包括控制功能可用性的场景,所述控制功能可用性的场景对应的调用指令函数类型为验证类型。
在一个实施例中,所述授权场景类型包括控制数据可见性的场景,所述控制数据可见性的场景对应的调用指令函数类型为过滤类型。
参照图3所示,本发明软件授权的控制方法的电子设备1的示意图。
该电子设备1包括但不限于:存储器11、处理器12、显示器13及网络接口14。所述电子设备1通过网络接口14连接网络,获取原始数据。其中,所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystemofMobilecommunication,GSM)、宽带码分多址(WidebandCodeDivisionMultipleAccess,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
其中,存储器11至少包括一种类型的可读介质,所述可读介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子设备1的内部存储单元,例如该电子设备1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子设备1的外部存储设备,例如该电子设备1配备的插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器11还可以既包括所述电子设备1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子设备1的操作系统和各类应用软件,例如软件授权的控制处理程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(CentralProcessingUnit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行软件授权的控制处理程序10的程序代码等。
显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(OrganicLight-EmittingDiode,OLED)触摸器等。显示器13用于显示在电子设备1中处理的信息以及用于显示可视化的工作界面,例如显示数据统计的结果。
网络接口14可选地可以包括标准的有线接口、无线接口(如WI-FI接口),该网络接口14通常用于在所述电子设备1与其它电子设备之间建立通信连接。
图3仅示出了具有组件11-14以及软件授权的控制处理程序10的电子设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
该电子设备1还可以包括射频(RadioFrequency,RF)电路、传感器和音频电路等等,在此不再赘述。
在上述实施例中,处理器12执行存储器11中存储的软件授权的控制处理程序10时可以实现如下步骤:
响应于带有授权对象、许可资源和/或资源组、许可模板类型和授权场景类型的许可控制接口请求,调用该许可模板类型对应的预先定义的许可模板;
在调用的许可模板中对该授权对象进行许可授权,生成该授权对象对应的许可参数;
根据预先确定的授权场景类型与调用指令函数类型的映射关系,确定出该授权场景类型对应的调用指令函数类型,基于该许可资源和/或资源组生成确定出的调用指令函数类型对应的调用指令函数,执行所述调用指令函数以完成对该许可控制接口请求的响应。
所述存储设备可以为电子设备1的存储器11,也可以为与电子设备1通讯连接的其它存储设备。
关于上述步骤的详细介绍,请参照上述图2关于软件授权的控制装置100实施例的功能模块图以及图1关于软件授权的控制方法实施例的流程图的说明。
此外,本发明实施例还提出一种计算机可读介质,所述计算机可读介质可以是非易失性的,也可以是易失性的。该计算机可读介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任一种或者几种的任意组合。所述计算机可读介质中包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有软件授权的控制处理程序10,所述软件授权的控制处理程序10被处理器执行时实现如下操作:
响应于带有授权对象、许可资源和/或资源组、许可模板类型和授权场景类型的许可控制接口请求,调用该许可模板类型对应的预先定义的许可模板;
在调用的许可模板中对该授权对象进行许可授权,生成该授权对象对应的许可参数;
根据预先确定的授权场景类型与调用指令函数类型的映射关系,确定出该授权场景类型对应的调用指令函数类型,基于该许可资源和/或资源组生成确定出的调用指令函数类型对应的调用指令函数,执行所述调用指令函数以完成对该许可控制接口请求的响应。
本发明之计算机可读介质的具体实施方式与上述软件授权的控制方法的具体实施方式大致相同,在此不再赘述。
在另一个实施例中,本发明所提供的软件授权的控制方法,为进一步保证上述所有出现的数据的私密和安全性,上述所有数据还可以存储于一区块链的节点中。例如映射关系、调用指令函数,这些数据均可存储在区块链节点中。
需要说明的是,本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Block chain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且该方法还包括没有明确列出的其他要素,或者是该方法还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,电子装置,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种软件授权的控制方法,其特征在于,所述方法包括:
响应于带有授权对象、许可资源和/或资源组、许可模板类型和授权场景类型的许可控制接口请求,调用该许可模板类型对应的预先定义的许可模板;在调用的许可模板中对该授权对象进行许可授权,生成该授权对象对应的许可参数;
根据预先确定的授权场景类型与调用指令函数类型的映射关系,确定出该授权场景类型对应的调用指令函数类型,基于该许可资源和/或资源组生成确定出的调用指令函数类型对应的调用指令函数,执行所述调用指令函数以完成对该许可控制接口请求的响应。
2.如权利要求1所述的软件授权的控制方法,其特征在于,所述调用该许可模板类型对应的预先定义的许可模板,包括:
根据所述许可控制接口请求的接口代码获取已签发许可文件;
若所述已签发许可文件在有效时间期内,则确定待许可软件的已许可资源和/或资源组存储在服务端的资源列表中,并执行调用该许可模板类型对应的预先定义的许可模板。
3.如权利要求2所述的软件授权的控制方法,其特征在于,该方法还包括:
若所述已签发许可文件不在有效时间期内,则确定待许可软件的已许可资源和/或资源组未存储在服务端的资源列表中,并停止执行调用该许可模板类型对应的预先定义的许可模板并生成预设的提示消息。
4.如权利要求1所述的软件授权的控制方法,其特征在于,所述许可资源和/或资源组根据待许可软件的工件项和测试用例预先定义。
5.如权利要求1所述的软件授权的控制方法,其特征在于,所述在调用的许可模板中对该授权对象进行许可授权,生成该授权对象对应的许可参数,包括:
调用所述许可模板创建所述该授权对象的授权字段,根据所述授权字段对该授权对象分配权限并生成所述许可参数,所述许可参数包括:可授权的资源和/或资源组、不可授权的资源和/或资源组、可授权的资源和/或资源组对应的许可起始时间和结束时间。
6.如权利要求1所述的软件授权的控制方法,其特征在于,所述授权场景类型包括控制功能可用性的场景,所述控制功能可用性的场景对应的调用指令函数类型为验证类型。
7.如权利要求1所述的软件授权的控制方法,其特征在于,所述授权场景类型包括控制数据可见性的场景,所述控制数据可见性的场景对应的调用指令函数类型为过滤类型。
8.一种软件授权的控制装置,其特征在于,所述装置包括:
接收模块:用于响应于带有授权对象、许可资源和/或资源组、许可模板类型和授权场景类型的许可控制接口请求,调用该许可模板类型对应的预先定义的许可模板;
授权模块:用于在调用的许可模板中对该授权对象进行许可授权,生成该授权对象对应的许可参数;
响应模块:用于根据预先确定的授权场景类型与调用指令函数类型的映射关系,确定出该授权场景类型对应的调用指令函数类型,基于该许可资源和/或资源组生成确定出的调用指令函数类型对应的调用指令函数,执行所述调用指令函数以完成对该许可控制接口请求的响应。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述软件授权的控制方法。
10.一种计算机可读介质,其特征在于,所述计算机可读介质存储有可被处理器执行的程序,所述程序被处理器执行时,实现如权利要求1至7中任一项所述软件授权的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211272355.7A CN115640550A (zh) | 2022-10-18 | 2022-10-18 | 软件授权的控制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211272355.7A CN115640550A (zh) | 2022-10-18 | 2022-10-18 | 软件授权的控制方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115640550A true CN115640550A (zh) | 2023-01-24 |
Family
ID=84944656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211272355.7A Pending CN115640550A (zh) | 2022-10-18 | 2022-10-18 | 软件授权的控制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115640550A (zh) |
-
2022
- 2022-10-18 CN CN202211272355.7A patent/CN115640550A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110727954B (zh) | 数据授权脱敏自动化方法、装置及存储介质 | |
CN101366040B (zh) | 用于管理用户对于包含对象的服务器的访问的方法和系统 | |
US10691822B1 (en) | Policy validation management | |
CN111614727B (zh) | 监管沙盒架构、监管方法、装置及存储介质 | |
CN107169344B (zh) | 阻挡非授权应用程序的方法以及使用该方法的装置 | |
CN104662547A (zh) | 移动应用管理 | |
CN110839014B (zh) | 一种认证方法、装置、计算机设备及可读存储介质 | |
US11580206B2 (en) | Project-based permission system | |
CN103258159A (zh) | 可扩展和/或分布式授权系统和/或提供类似的方法 | |
CN112558946A (zh) | 一种生成代码的方法、装置、设备和计算机可读存储介质 | |
CN111191226A (zh) | 利用提权漏洞的程序的确定方法、装置、设备及存储介质 | |
JP2004158007A (ja) | コンピュータアクセス権限 | |
US20150128209A1 (en) | Mandatory protection control in virtual machines | |
CN107679937B (zh) | 定制服务功能的方法、系统、存储介质及设备 | |
CN111062028A (zh) | 权限管理方法及装置、存储介质、电子设备 | |
CN111291408B (zh) | 数据管理方法、装置及电子设备 | |
Stach | How to Deal with Third Party Apps in a Privacy System--The PMP Gatekeeper-- | |
CN109313674A (zh) | 软件许可证管理系统以及管理方法 | |
CN112528305A (zh) | 访问控制方法、装置、电子设备及存储介质 | |
CN110352411A (zh) | 用于控制对安全计算资源的访问的方法和装置 | |
CN115640550A (zh) | 软件授权的控制方法、装置、设备及存储介质 | |
CN110908666A (zh) | 一种源代码共享管理方法、装置、设备及计算机存储介质 | |
CN115718666A (zh) | 用于web服务的细粒度动态权限控制方法和系统 | |
CN114238273A (zh) | 数据库管理方法、装置、设备及存储介质 | |
US10747871B2 (en) | System and method for producing secure data management software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |