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

news/2024/10/20 8:50:21/

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

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. 结束语

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


http://www.ppmy.cn/news/1538092.html

相关文章

基于开元鸿蒙(OpenHarmony)的【智能药房与药品管理综合应用系统】

基于开元鸿蒙OpenHarmony的【智能药房与药品管理综合应用系统】 一、系统背景与OpenHarmony简介二、智能药房与药品管理综合应用系统1. 系统概述2. 智能药房管理系统3. 药品追溯系统4. 电子处方系统 三、系统优势与应用前景四、智能药房与药品管理综合应用系统的未来1、技术融合…

数据驱动决策:低代码平台如何助力智能化业务分析

引言 在当今这个数据至上的时代,企业的决策越来越依赖于数据的驱动。无论是市场趋势预测、客户行为分析,还是内部运营优化,数据都扮演着至关重要的角色。然而,随着数据量的急剧增长和复杂性的增加,如何高效地收集、处理…

考研笔记之操作系统(四) - 文件管理

文件管理 1. 简介1.1 前情回顾1.2 文件的属性1.3 文件内部数据的组织方式1.4 操作系统向上提供的文件功能1.5 文件应如何放在外存 2. 文件的逻辑结构2.1 无结构文件2.2 有结构文件2.2.1 顺序文件2.2.2 索引文件2.2.3 索引顺序文件2.2.4 多级索引顺序文件 3. 文件目录3.1 基本概…

【时时三省】(C语言基础)字符函数和字符串函数目录

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 字符函数和字符串函数 目录: 求字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 长度受限制的字符串函数介绍 strgcpy strncat strncmp 字符串查…

云贝教育 |【技术文章】ZABBIX 6.4配置中文界面

本文为云贝教育 刘老师 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。 Zabbix 是一个广泛使用的开源监控解决方案,支持多种语言界面。本文将详细介绍如何配置 Zabbix 以使用中文界面&#xff0…

学习周易的意义

学习周易的意义在哪里呢?当今时代,书店里面,淘宝店里面,可以看到的书都是有很多的。我们想要了解经济学的知识,可以去买经济学的书籍。想要了解,投资,保险,股票的知识,也…

余承东直播论道智能驾驶:激光雷达不可或缺,华为ADS 3.0引领安全创新

华为余承东:激光雷达,智能驾驶安全性的关键 9月29日,华为消费者业务集团CEO余承东在一场引人注目的直播中,与知名主持人马东就智能驾驶技术的最新进展进行了深入交流。在这场直播中,余承东针对激光雷达在智能驾驶中的必要性问题,发表了明确且深刻的观点,引发了业界和公众…

leetcode-10/9【堆相关】

1.数组中的第K个最大元素【215】 思路: 1.1.要使得时间复杂度为O(n),自己实现大顶堆,通过K次调整,顶部元素就是想要的第K个最大元素 1.2.实现大顶堆的过程中,先建堆,建堆是利用递归,本…