基于浮动许可的软件使用授权方法及系统与流程

文档序号:36971238发布日期:2024-02-07 13:20阅读:13来源:国知局
基于浮动许可的软件使用授权方法及系统与流程

本发明涉及软件使用授权领域,具体涉及一种基于浮动许可的软件使用授权方法及系统。


背景技术:

1、许可:软件许可是指向软件用户授予的允许使用软件的有偿或无偿的行为。它是软件开发商或拥有人授予用户的权利,在明确授权下可以使用软件,只要支付了有偿许可费用或者符合无偿许可费用的情况。商业许可是指以有偿形式授予给使用者的软件许可,具有独占性,用户无法将软件提供给别人,也不能将软件的服务费用转移给其他第三方,而且这类软件的介质为缺省的,必须购买。商业软件是软件许可制度的重要组成部分,也是软件开发者最普遍应用的办法。通常,商业许可是指软件拥有者通过在不影响软件原有功能的情况下为用户定制一些私人权限,包括多台机器使用该软件的权限,以及控制软件的更新等。

2、cad:(computer aided diagnosis)诞生于60年代,是美国麻省理工大学提出了交互式图形学的研究计划,由于当时硬件设施的昂贵,只有美国通用汽车公司和美国波音航空公司使用自行开发的交互式绘图系统。计算机辅助设计(cad-computer aided design)指利用计算机及其图形设备帮助设计人员进行设计工作。

3、cae:(computer aided engineering)指工程设计中的计算机辅助工程,指用计算机辅助求解分析复杂工程和产品的结构力学性能,以及优化结构性能等,把工程(生产)的各个环节有机地组织起来,其关键就是将有关的信息集成,使其产生并存在于工程(产品)的整个生命周期。而cae软件可作静态结构分析,动态分析;研究线性、非线性问题;分析结构(固体)、流体、电磁等。

4、浮动许可:许可证位于一个连接到网络的中央许可服务器上。工作站可根据需要从服务器取得许可,但是只有在有多余许可的情况下才能够取回,如果所有的许可证已经被其他用户使用,那么须要等待直到有一个许可证变为可用。在启动用户界面或求解器时会取得许可证,而在退出用户界面或求解器完成计算时会释放许可证。

5、企业在研发汽车时,会使用到大量cad、cae软件,然而这些软件采购是需要花费大量费用,采购之后,cad/cae厂商会发许可给企业,由许可来控制软件打开使用。由于软件许可采购数量不多,无法分配给每个用户使用,就会造成有些不需要使用该软件的用户也会打开软件占用许可,造成许可浪费。比如,catia软件许可购买时为某个研发项目使用,由于catia软件许可是集中于许可服务器上,任何用户安装catia软件,配置许可服务器ip,都可以使用该许可,某些项目组之外的用户也会安装catia软件用于研发或者学习等用途,如果该用户打开catia软件,并连上许可之后,一直不关,即使下班或者干其他事情,都不关catia软件,就会造成许可一直被此用户占用,造成许可极大浪费,也会导致其他用户无法使用,造成项目延期等问题。

6、为此,目前采用手动管理的方式来限制用户的使用,例如运维工程师通过实地安装和卸载的方式,来控制哪些用户可以使用、哪些用户不能使用;如果cae、cad种类众多,用户人员众多,运维工程师工作量巨大,不利于管理,往往时间上也来不及,不利于项目顺利开展。与此同时,软件的安装,用户也可以自己执行,也会导致软件许可被占用,浪费使用。


技术实现思路

1、针对现有技术中存在的缺陷,本发明解决的技术问题为:如何根据预先设置的白名单和计算的优先级,来进行软件使用授权,以此合理使用许可资源。

2、为达到以上目的,本发明提供的基于浮动许可的软件使用授权方法,包括以下步骤:通过用户信息确定白名单授权用户;当申请方属于白名单授权用户时,向申请方开放软件使用许可;当申请方属于白名单授权用户、且所有许可证均在使用时,根据当前申请方的优先级判断是否对其开放软件使用许可;当申请方不属于白名单授权用户、且所有许可证均在使用时,禁止申请方使用该软件。

3、在上述技术方案的基础上,所述当申请方属于白名单授权用户、且所有许可证均在使用时,根据当前申请方的优先级判断是否对其开放软件使用许可的流程包括:根据当前申请方的申请信息计算优先级评分,判断与所有正在使用的用户的优先级评分相比,当前申请方的优先级评分是否为最低,若是,禁止当前申请方使用该软件;否则对当前申请方开放软件使用许可,禁止优先级评分最低的使用用户继续使用该软件,若存在多个最低的优先级评分,则禁止优先级评分最低、且使用时间最长的使用用户继续使用该软件。

4、在上述技术方案的基础上,所述申请信息包括期望任务紧急级别、期望任务关联性级别和软件使用时长级别,任务关联性包括上游任务和下游任务的任务信息和执行日期;所述优先级评分s的计算公式为:s=a*p1+b*p2+c*p3,其中a为实际任务紧急度,b为实际任务关联性级别,c为软件使用时长级别;p1、p2和p3分别为a、b、c的权重,p1+p2+p3=100%,p1:p2:p3=1.2~1.4:0.9~1.0:0.9~10。

5、在上述技术方案的基础上,所述通过用户信息确定白名单授权用户的流程为:获取用户信息,判断与当前用户信息对应的申请方是否存在于白名单授权用户集合中,若是,确定当前申请方为白名单授权用户,否则当用户信息符合预先设置的软件使用许可的开放条件时,确定当前申请方为白名单授权用户、并将当前申请方的用户信息存储在白名单授权用户集合中;该方法还包括以下步骤:当申请方不属于白名单授权用户、且存在可用的许可证时,向当前申请方开放使用许可,或者禁止当前申请方使用该软件。

6、在上述技术方案的基础上,该方法的具体步骤包括:

7、s1:收到申请方发出的使用申请后,从中获取用户信息,判断与当前用户信息对应的申请方是否存在于白名单授权用户集合中,若是,确定当前申请方为白名单授权用户,将当前用户信息存储至白名单集合后转到s3,否则转到s2;

8、s2:判断当用户信息是否符合软件使用许可的开放条件,若是,确定当前申请方为白名单授权用户,将当前用户信息存储至白名单集合后转到s3;否则确认许可证的使用情况:当所有许可证都在使用时,禁止当前申请方使用该软件;当存在可用的许可证时,对当前申请方开放软件使用许可;

9、s3:判断所有许可证是否均在使用,若是,转到s4,否则对当前申请方开放软件使用许可;

10、s4:根据当前申请方的申请信息计算并存储优先级评分后,转到s5;优先级评分s的计算公式为:s=a*p1+b*p2+c*p3,p1为40%,p2和p3均为30%;

11、s5:判断与所有正在使用的用户的优先级评分相比,当前申请方的优先级评分是否为最低,若是,禁止当前申请方使用该软件;否则对当前申请方开放软件使用许可,禁止优先级评分最低的使用用户继续使用该软件;若存在多个最低的优先级评分,则禁止优先级评分最低、且使用时间最长的使用用户继续使用该软件。

12、本发明提供的基于浮动许可的软件使用授权系统,包括白名单鉴权模块和软件许可模块;

13、白名单鉴权模块用于:通过用户信息确定白名单授权用户;

14、软件许可模块用于:当申请方属于白名单授权用户时,向申请方开放软件使用许可;当申请方属于白名单授权用户、且所有许可证均在使用时,根据当前申请方的优先级判断是否对其开放软件使用许可;当申请方不属于白名单授权用户、且所有许可证均在使用时,禁止申请方使用该软件。

15、在上述技术方案的基础上,所述软件许可模块在申请方属于白名单授权用户、且所有许可证均在使用时,根据当前申请方的优先级判断是否对其开放软件使用许可的工作流程包括:根据当前申请方的申请信息计算优先级评分,判断与所有正在使用的用户的优先级评分相比,当前申请方的优先级评分是否为最低,若是,禁止当前申请方使用该软件;否则对当前申请方开放软件使用许可,禁止优先级评分最低的使用用户继续使用该软件,若存在多个最低的优先级评分,则禁止优先级评分最低、且使用时间最长的使用用户继续使用该软件。

16、在上述技术方案的基础上,所述申请信息包括期望任务紧急级别、期望任务关联性级别和软件使用时长级别,任务关联性包括上游任务和下游任务的任务信息和执行日期;所述优先级评分s的计算公式为:s=a*p1+b*p2+c*p3,其中a为实际任务紧急度,b为实际任务关联性级别,c为软件使用时长级别;p1、p2和p3分别为a、b、c的权重,p1+p2+p3=100%,p1:p2:p3=1.2~1.4:0.9~1.0:0.9~10。

17、在上述技术方案的基础上,所述白名单鉴权模块通过用户信息确定白名单授权用户的流程为:获取用户信息,判断与当前用户信息对应的申请方是否存在于白名单授权用户集合中,若是,确定当前申请方为白名单授权用户,否则当用户信息符合预先设置的软件使用许可的开放条件时,确定当前申请方为白名单授权用户、并将当前申请方的用户信息存储在白名单授权用户集合中;所述软件许可模块还用于:当申请方不属于白名单授权用户、且存在可用的许可证时,向当前申请方开放使用许可,或者禁止当前申请方使用该软件。

18、在上述技术方案的基础上,该系统的工作流程包括:

19、s1:软件许可模块收到申请方发出的使用申请后,从中获取用户信息,白名单鉴权模块判断与当前用户信息对应的申请方是否存在于白名单授权用户集合中,若是,确定当前申请方为白名单授权用户,将当前用户信息存储至白名单集合后转到s3,否则转到s2;

20、s2:白名单鉴权模块判断当用户信息是否符合软件使用许可的开放条件,若是,确定当前申请方为白名单授权用户,将当前用户信息存储至白名单集合后转到s3;否则软件许可模块确认许可证的使用情况:当所有许可证都在使用时,禁止当前申请方使用该软件;当存在可用的许可证时,对当前申请方开放软件使用许可;

21、s3:软件许可模块判断所有许可证是否均在使用,若是,转到s4,否则对当前申请方开放软件使用许可;

22、s4:软件许可模块根据当前申请方的申请信息计算并存储优先级评分后,转到s5;优先级评分s的计算公式为:s=a*p1+b*p2+c*p3,p1为40%,p2和p3均为30%;

23、s5:软件许可模块判断与所有正在使用的用户的优先级评分相比,当前申请方的优先级评分是否为最低,若是,禁止当前申请方使用该软件;否则对当前申请方开放软件使用许可,禁止优先级评分最低的使用用户继续使用该软件;若存在多个最低的优先级评分,则禁止优先级评分最低、且使用时间最长的使用用户继续使用该软件。

24、与现有技术相比,本发明的优点在于:

25、与现有技术中用户配置许可服务器ip即可使用软件相比,本发明通过用户白名单机制来“浮动许可”用户,以此实现只有授权的用户才能使用软件,非授权用户不能使用软件,进而合理的使用了有限的许可资源,随之提升了软件使用质量。

26、与此同时,本发明还会对每个用户设置了优先级,当许可证都在使用时,保证优先级高的先使用,以此来实现“重要用户优先使用”的效果,进而进一步提升了许可资源的合理性和软件使用质量。

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