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

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

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.rhkb.cn/news/443073.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在docker中安装并运行mysql8.0.31

第一步:命令行拉取mysql镜像 docker pull mysql:8.0.31查看是否拉取成功 docker images mysql:latest第二步:运行mysql镜像,启动mysql实例 docker run -p 3307:3307 -e MYSQL_ROOT_PASSWORD"123456" -d mysql:8.0.313307:3307前…

51单片机的智能水温控制系统【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块温度传感器继电器LED和按键等模块构成。适用于智能热水器控制、泳池水温控制系统等相似项目。 可实现功能: 1、LCD1602实时显示水温信息和上下限 2、温度传感器DS18B20采集水体温度 3、当温度低于下限&#xff0…

Linux环境通过APT 仓库安装版PostgreSQL 数据库实战

Linux环境通过APT 仓库安装版PostgreSQL 数据库是运维人员常见的需求之一,今天我们一步一步演示一下: 1、添加 PostgreSQL APT 仓库 确保你的系统更新,然后添加 PostgreSQL 的官方 APT 仓库。 sudo apt update sudo apt install -y wget w…

基于MindSpore实现CycleGAN壁画修复

基于MindSpore实现CycleGAN壁画修复_哔哩哔哩_bilibili 本案例运行需要较大内存,建议在Ascend/GPU上运行。 模型介绍 模型简介 CycleGAN(Cycle Generative Adversarial Network) 即循环对抗生成网络,来自论文 Unpaired Image-to-Image Translation us…

大模型日报|7 篇必读的大模型论文

大家好,今日必读的大模型论文来啦! 1.上交大团队新研究:像专家一样大规模提升预训练数据质量 大语言模型(LLM)的预训练历来依赖于人类专家为提高语料库质量而精心设计的启发式方法,迄今为止已开发出大量规…

SpringSession;基于Redis的SpringSession实现;实现session共享的三种方式

一,SpringSession简介 是SpringCloud下管理session的框架,在微服务架构中,由于应用了分布式的思想,session无法做到内存中互通,需要一个框架来实现各个微服务中session数据共享,SpringSession解决了这个问题…

城市交通场景分割系统源码&数据集分享

城市交通场景分割系统源码&数据集分享 [yolov8-seg-C2f-Faster&yolov8-seg-GhostHGNetV2等50全套改进创新点发刊_一键训练教程_Web前端展示] 1.研究背景与意义 项目参考ILSVRC ImageNet Large Scale Visual Recognition Challenge 项目来源AAAI Glob…

信创一定要了解的知识

什么是信创 定义 信创,全称为信息技术应用创新产业,旨在发展国产信息产业,减少对国外技术的依赖,实现软硬件的国产替代化。信创产业是数字经济的关键支撑,涵盖从基础硬件到应用软件的全产业链。 产业范畴 信创产业…

C0015.Clion中开发C++时,连接Mysql数据库方法

安装mysql数据库 CMakeLists.txt中配置mysql数据库 # 先指定mysql数据库的安装位置 include_directories("C:/Program Files/MySQL/MySQL Server 8.0/include") link_directories("C:/Program Files/MySQL/MySQL Server 8.0/lib") link_libraries(libmysq…

AI会计师——让AI+成就价值财务

摘要:用友携手CCTV-10联合策划《AI会计师》专题节目 目录 Part1 数智化凭证采集 Part2 智能月结 Part3 税务风险管控 Part1 数智化凭证采集 AI会计师,源自对大数据、人工智能、云计算等前沿技术的深度融合。它不仅仅是一款软件,更是企业智能…

Python基础之List列表用法

1、创建列表 names ["张三","李四","王五","Mary"] 2、列表分片 names[1]:获取数组的第2个元素。 names[1:3]:获取数组的第2、第3个元素。包含左侧,不包含右侧。 names[:3]等同于names[0:3]&…

大模型推理框架llama.cpp开发流程和常用函数介绍

llama.cpp是一个高性能的CPU/GPU大语言模型推理框架,适用于消费级设备或边缘设备。开发者可以通过工具将各类开源大语言模型转换并量化成gguf格式的文件,然后通过llama.cpp实现本地推理。经过我的调研,相比较其它大模型落地方案,中…

AI时代的直播革命!洞察数字化趋势,从今日开启你的AIGC旅程!

AI时代的直播革命!洞察数字化趋势,从今日开启你的AIGC旅程! 在AI技术日新月异的今天,直播行业正经历着一场前所未有的革命。这场革命不仅深刻改变了内容创作、传播与消费的方式,更预示着未来数字化时代娱乐与商业互动的…

PCL 计算点云AABB包围盒(惯性矩阵)

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 计算AABB包围盒 2.1.2 可视化点云与AABB包围盒 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战案例汇总(长…

Java 集合实现类

Java 集合实现类 ​ Java 提供了一套实现了 Collection 接口的标准集合类。其中一些是具体类,这些类可以直接拿来使用,而另外一些是抽象类,提供了接口的部分实现 序号类描述1AbstractCollection 实现了大部分的集合接口。2AbstractList 继承…

【EXCEL数据处理】000021 案例 保姆级教程,附多个操作案例。EXCEL文档安全性设置。

前言:哈喽,大家好,今天给大家分享一篇文章!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【EXCEL数据处理】000021 案例 保姆级教程,附多个操作案例。…

算法:双指针系列(一)

双指针系列 一、移动零(一)题目分析(二)代码展示二、复写零(一)题目分析(二)代码展示三、快乐数(一)题目分析(二)代码展示 一、移动零…

【C++】模拟实现hash_table(哈希表)

🦄个人主页:修修修也 🎏所属专栏:实战项目集 ⚙️操作环境:Visual Studio 2022 目录 一.了解项目功能 二.逐步实现项目功能模块及其逻辑详解 📌实现HashNode类模板 🎏构造HashNode类成员变量 🎏实现HashNode类构造函数…

Python【修炼2】

欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:Python 目录 👉🏻map👉🏻lambda👉🏻datetime日期输出格式 👉&#x1f3fb…

Pikachu-PHP反序列化

从后端代码可以看出,拿到序列化后的字符串,直接做反序列化;并且在前端做了展示; 如果虚拟化后的字符串,包含alert 内容,反序列化后,就会弹出窗口 O:1:"S":1:{s:4:"test";s…