专业软件许可证监测系统的设计与实现

摘要:整车企业每年投入大量资金采购各类专业软件,为掌握软件许可证的真实需求,建立了专业软件许可证监测系统,实现在公司范围内软件集中管理和统一监控,节约软件投资成本。该研究提出了软件许可证监测系统的设计思路和整体架构,论述了数据库以及各个子系统的详细设计与实现方法,形成了跨操作系统、跨软件厂商的软件许可证数据采集统一解决方案。目前系统采集的监测数据已成功为软件规划采购提供数据支撑,达到了降本增效的目标。

1. 背景

专业工具软件在汽车行业的快速发展中发挥了重要的作用,已成为生产中不可缺少的技术研究手段。在汽车制造领域中,有大量的专业软件被频繁使用,在汽车研发过程中,经常遇到某些软件不够用的情况,因此需要多个部门共同使用、互通有无,提高许可的使用效率。

专业软件许可证是公司投入巨额资金采购的重要资源,然而由于缺少数据监测工具,不掌握各分公司许可证的使用情况和真实需求,只能依据工作量和人员数量来估算,造成需求计划不准确。另一方面,一套软件中的功能模块之间依赖关系及许可证配比关系复杂,仅凭经验很难精准确定每个模块的需求数量,缺少有效的评估及预测工具,无法确定软件配置方案合理性,难于与厂商开展有效的沟通与谈判。

随着研发生产工作量和人员数量的增加,工具软件需求数量不断增加,采购资金逐年增长。公司从降本增效高度出发,提出了"工具软件集中管理、统一监控、科学规划"的要求,建立了工具软件许可证监测系统。

2. 设计思路

本系统的设计目标是全面监测各部门工具软件的使用情况,为软件采购方案提供数据支持。在系统建设中,应遵循以下原则。

2.1 数据可视化

目前在用的工具软件共有100余款,包含模块数千个,许可证分布在北京、上海等地的多个分公司,随着时间的累积,监测数据量将达千万条。因此,将海量的监测数据可视化,以图表的形式展现十分重要。同时,在设计时应从多个不同维度的查看软件的应用情况,例如同一款软件不同分公司使用的峰谷情况、各分公司需求软件模块配比情况,本地、共享中心许可的使用情况等。

2.2 系统易扩展

系统的扩展性体现为:第一是监测软件的扩展性,公司每年会根据业务需要采购新的工具软件,系统应支持多种操作系统、多种许可管理模式的许可证监测;第二是监测目标的扩展性,公司的整合重组可能要求对更多的分公司进行软件许可证监测,因此要求能够灵活配置监测目标,支持横向扩展。

2.3 数据易维护

系统应时刻保证监测数据的完整性和准确性,否则统计的报表价值将大打折扣,这就要求系统具有良好的数据维护性。监测数据一旦发现不完整或是存在不合理值,应及时发送告警给各分公司管理员,以保障监测数据的完整可靠。

3. 总体架构

系统按功能划分为监测子系统、管理子系统和统计分析子系统,各个子系统之间保持松耦合关系,采用WebService技术通信。

监测子系统是整个系统的核心,负责实时采集各分公司的软件许可证使用信息,并将其写入数据库形成历史数据;

管理子系统用于录入工具软件的静态基础数据,包括模块、许可服务配置、合同等信息;

统计分析子系统负责将工具软件的使用情况可视化,以图形控件和Excel输出两种形式进行有效呈现。

4. 系统的设计与实现

4.1 数据库设计

数据库的主要实体集有许可证中心、许可服务、软件、模块和监测结果。

设计数据库表,分别为:许可证中心(ID、名称、编码)、软件(ID、厂商、描述)、软件模块分类(ID、软件ID、模块名称、License名称、描述)、模块数量(ID、模块ID、许可证中心ID、数量、更新时间)、许可服务(ID、许可证中心ID、软件ID、IP、端口、主机名)、监测结果(ID、模块ID、时间、使用数、部署数)。

4.2 监测子系统

License是由软件厂商创建的数字许可证,它规定了哪些用户可以合法使用哪些软件,以及使用软件的哪部分功能,浮动License是一种适用于网络用户的License使用模式,多个用户可以同时使用软件,直到同时使用人数达到License规定的上限。国内外不同厂商的工具软件采用不同的许可证管理工具,包括FlexLM、SafeNet等管理工具。

4.3 管理子系统

管理子系统主要维护工具软件的静态基础数据,包括许可证中心、许可服务、软件和模块等信息,具体功能如下:

l 许可服务管理

许可服务管理是系统管理员与监控子系统的交互界面,管理员通过浏览器即可添加、更新、删除监测的软件列表(服务器主机名、IP地址、端口号),并自动和监控子系统联动,实现软件的监测。

l 软件模块管理

管理员通过软件模块管理功能可以查看某款软件包含的模块清单,以及分布在各个分公司的许可数量,支持同一多个版本间的模块购买记录查询及对比。支持软件模块动态释放功能,对特定机器使用不同策略,识别终端闲置情况,动态释放激活软件许可。

l 系统告警

当许可证服务出现异常(如许可证过期、进程中止),监测程序无法取得软件的使用情况时,系统会通过邮件、短信方式自动发送告警至各分公司系统管理员。告警信息包括发生时间、许可证中心、软件名称、IP、主机名、端口以及错误信息等。

l 统计分析子系统

统计分析子系统是系统的核心功能,是各分公司管理员查看软件使用情况的交互平台,共包含三部分功能:实时应用监测、历史数据查询和自动生成软件使用报表。

实时应用监测:可以查看各个软件所有模块的实时使用状态,包括部署数量、使用数量以及当前使用的用户信息(用户名、登录主机、开始时间等)。

历史数据查询:可查看某个模块的历史使用趋势,便于系统管理员快速查看软件及模块的历史使用情况,同时支持多许可证中心对比、多模块对比等功能,自动过滤工作日使得统计结果更接近真实情况。

自动生成软件使用报表:每年在采购工具软件时需提交软件的使用报表,此功能支持批量生成报表,自动计算各个模块的历史使用峰值和移动平均峰值。

5. 结束语

专业软件许可证监测系统实现了有限公司范围内工具软件的全面监测,共收集监测数据上亿条,精准掌握各部门许可证使用情况和应用峰谷规律,许可证需求量明显降低,为工具软件配置方案优化奠定了基础。基于监测数据,利用概率统计学原理快速预测各模块的需求数量,使工具软件配置方案更具合理性。

相关推荐
格发许可优化管理系统6 个月前
AutoCAD许可证服务器
autocad·license·许可分析·许可管理·许可证服务器
格发许可优化管理系统8 个月前
Allegro许可管理软件
license·allegro·软件许可·许可管理·许可优化
格发许可优化管理系统8 个月前
Allegro许可有效期管理方案助力高效运营
许可分析·allegro·软件许可·许可管理·许可证服务器