flexlm license许可证管理
来源:互联网 发布:网站平台优化方案 编辑:程序博客网 时间:2024/04/26 08:04
为什么采用flexlm
Flexlm支持软件过期日期,软件授权机器数量,软件按模块授权,最重要的是支持浮动的license的管理,在网络的任何地方都可以使用软件许可证,而无需固定绑定在某一台计算机上。通过在网络上共享许可证,用户可以减少许可证使用量,并更有效地使用它们。
Flexlm license语法
下面是一个简单的浮动license文件
SERVER lulu 17007ea8
VENDOR sampled
FEATURE f1 sampled 1.00 1-jan-2005 2 SIGN=signature1
FEATURE f2 sampled 1.00 1-jan-2005 6 SIGN=signature2
FEATURE f3 sampled 1.00 1-jan-2005 1 SIGN=signature3
SERVER是代表使用FLEXlm的客户的server端,“lulu”是hostname,“17007ea8”是HOSTID,一般采用计算机的MAC地址。
VENDOR是类似供应商开发的软件的名称,因为有很多软件采用flexlm,VENDOR是区分不同软件提供商的,因为一个server上可以有多个采用flexlm的软件(VENDOR),“sampled”是vendor name。
FEATURE是license的核心,我们可以把feature理解为一个软件中的各个模块,f1,f2,f3代表不同的模块,“1.00”是软件版本。“1-jan-2005”是过期日期,而后面的一个字段是代表可以授权的count。最后“SIGN”是对HOSTID和FEATURE行的签名,用来防止HOSTID和FEATURE的各个字段被修改。另外有时候会有USER_SERVER行,这个是指定client的HOST的
以及INCRENMENT行,这个是将多个软件的FEATURE添加到一个license file中时使用的
Flexlm的组件分析
Flexlm包括client端和server端,client端上安装要使用的供应商的软件,server端控制此软件的license的分配和管理。
我们把client端上供应商的软件叫做FLEXenable应用程序
Server端包括许可证服务器管理器lmgrd和供应商守护进程vendor deamon
因此Flexlm的组件主要包括以下几个部分:
1.FLEXenable应用程序
针对节点锁定的方式,这部分需要license的解析模块,包括license的获取属性接口,license的签名算法。针对浮动许可的方式,需要与server端的获取license授权的通信的功能。
2.Lmgrd
由flexlm提供,处理与FLEXenable软件的初始连接,还用来启动vendor deamon,以及指定使用的license文件路径等。
3.Vendor deamon
处理license的分配管理以及与client端的通信,license的解析
4.License文件
以下是各个组件之间的关系
另外还有一些输出的日志文件,调试信息文件,lmutil工具等
Flexlm许可证的请求过程
1.FLEXenable应用程序的许可证模块根据LM_LICENSE_FILE环境变量查找许可证文件,
(LM_LICENSE_FILE可以是一个license文件的完整路径,也可能是包含多个license的目录。还可能是port@host,即在网络上。节点锁定许可证采用前两种,浮动许可证采用port@host。
着重讲解浮动许可证)。
2.FLEXenable应用程序通过port@host与lmgrd建立连接,并通知它需要与其对话的vendor deamon。
3.Lmgrd确定vendor与FLEXenable对话的TCP/IP端口,并将其发送给FLEXenable应用程序。(这个端口可能是license中VENDOR 字段的端口,如果wendor部分没有端口描述的话,可能lmgrd会指定一个合法端口)
4.FLEXenable与VENDOR建立连接,获取lisence请求
5.VENDOR检查是否有可用的license,授权或者拒绝FLEXenable
6.FLEXenable的许可证模块根据接受的授权或者拒绝来启动或者终止FLEXenable应用程序
许可证请求流程图
注:vendor在查询是否有空闲license的时候,也会对license文件做数字签名校验和判断过期日期等等。
集成flexlm要做的工作
由于lmgrd和lmutil这些可以直接使用,集成flexlm主要要做的工作如下
1.license文件的定制化
2.License生成工具,其中包括对hostid和feature部分的签名算法或者加密算法。
3.集成client端到我们的软件中,主要是与server端通信的接口,获取license属性的接口
4.实现server端的VENDOR部分,主要是license的管理
- flexlm license许可证管理
- Flexlm license管理
- FLEXlm浅谈之一 - License文件格式
- FLEXlm--愚人的商业许可证管理器
- IBM Rational 产品许可证(License)管理使用和优化
- IBM Rational 产品许可证(License)管理使用和优化
- IBM Rational 产品许可证(License)管理使用和优化
- Flexlm 介绍— 常见EDA软件的license管理 - tjjbraye的个人空间 - EDA中国门户网站 - powered by X-Space
- SourceTree License 许可证
- 软件许可证License
- CrackZ的文章:FLEXlm--愚人的商业许可证管理器
- CrackZ的文章:FLEXlm--愚人的商业许可证管理器
- SQL Server 2005 许可证 license
- 许可证 license 区别和选择
- github上的license-许可证
- Rational Rose 2003 FLEXlm License Manager 错误问题的解决
- Citrix 许可证管理控制台装好后不能登陆解决方法(License Administration Console can’t login)
- LMT LicManager系统对许可证(license)管理创新中的新附加值
- android studio快捷键
- Ubuntu9.10安装Qt环境
- Mac——开启关闭隐藏文件
- HDOJ 1069 Monkey and Banana
- iOS开发中Objective-C 对 URL的URLEncode(编码)与URLDecode(解码)
- flexlm license许可证管理
- ACM中的几个小技巧(离散化,尺取法,数据预处理)
- jsp表达式
- ubuntu 启动问题解决
- UNIX网络编程中RST分节总结
- eclipse生成.apk文件安装到手机
- 创业公司
- 大白话系列之C#委托与事件讲解(二)
- 关于uploadify导致chrome页面崩溃