一种软件浮动授权采购数量的估算方法

news2024/10/12 0:23:46

摘要:采购具有浮动授权的计算机软件时,需要估算出合适的授权数量。基于排队理论建立软件浮动授权系统的数学模型,提出以申请获准率作为浮动授权数量适中程度的量化指标。并以此为基础给出一种软件浮动授权采购数量的估算方法。通过在某安全性分析软件采购活动中的应用对该估算方法进行了验证。

1. 引言

浮动授权是一种计算机软件许可证管理方式。在这种方式下,软件有限数量的授权由授权管理服务器通过计算机网络共享给一个较大数量的用户群。目前,浮动授权得到了广泛使用,尤其适用于那些被众多用户间歇使用的昂贵软件。一方面,软件供应商通过浮动授权解决方案避免因侵权行为而造成损失;另一方面,通过动态分配机制,使用软件的组织也不再需要为每个用户都购买软件许可证,从而降低了软件购买费用。

购买浮动授权的计算机软件时,需要估算出合适的授权数量。购买的授权数量太多,会导致授权闲置,造成资源浪费;反之,购买的授权数量太少,会导致授权紧张,降低工作效率。估算授权数量的难点在于缺少明确的量化指标及其计算方法。

目前,软件采购实践中常用的估算方法有3种:

1) 经验比例法。由预期的用户数量按照经验比例折算出浮动授权的购买数量。经验比例一般由软件供应商提供,是对众多用户使用情况的统计结果。但每个企业都有各自的特点,授权需求数量与用户数量的比例也会有所差异,直接套用这个经验比例,会产生较大的风险。

2) 分批购买法。为了防止一次性购买的授权数量超过实际使用需求,可以分多批购买。先购买少量的授权,然后对使用情况进行监视,经过一段时间的统计,若发现授权数量不足,则再购买一批。多次重复此过程,直到授权数量满足要求。该方法可以有效降低购买风险,但是由于需要发生多轮软件购买、使用情况统计,效率较低。

3) 试用统计法。购买之前,先从软件供应商处获取大量的试用授权,进行一段时间的试用,统计出授权的需求数量,再做出购买决策。该方法只需要一轮试用便可以准确统计出的授权的需求数量,效率较高。但是,如此规模的试用授权一般难以获取。

在理论研究方面,文献研究了浮动授权系统的数学模型,给出了一种授权数量的计算方法,但没有建立合适的量化指标,不能解决软件采购方的需求差异问题。文献研究了某图书馆管理软件的浮动授权数量优化方法,但建立的数学模型不适应于一般的浮动授权系统。

本文首先基于排队理论建立了浮动授权系统的数学模型,提出以申请获准率作为确定浮动授权数量的量化指标,并以此为基础给出了一种软件浮动授权采购数量的估算方法。通过在某安全性分析软件采购活动中的应用对该数学模型进行了验证,并对该数学模型进行了适当的简化。

2. 浮动授权系统的工作原理

软件客户端安装于诸多用户计算机上,软件授权安装于授权管理服务器上。当一个用户希望使用该软件时,通过网络向授权管理服务器发出授权申请。授权管理服务器检查授权总量和已占用授权数量,若有空闲授权,则准许该用户使用软件;否则,拒绝该用户使用软件。用户在完成软件使用后会通知服务器释放授权。授权管理服务器在准许用户使用或用户释放授权时会更新已占用授权数量。

浮动授权系统的关键规则包括:

当有空闲授权时,先申请的用户被许可使用软件;

同时使用软件的用户数量不得大于浮动授权的总量。

3. 浮动授权系统的建模

3.1. 排队论概述

排队是日常生活中经常遇到的现象。如顾客到商店购买物品,若待付款顾客的数量超过服务台数量,顾客就不能立即得到服务,因而就出现了排队现象。对于排队系统,如果服务设备太大,就会发生空闲浪费;如果服务设备太少,排队现象就会严重,对顾客体验造成不利影响。因此,排队系统的管理人员必须考虑如何取得平衡,以提高服务质量。排队论就是为解决上述问题而发展的一门学科。

排队论将排队系统分为输入过程、排队规则、服务机构三个部分。输入过程即指顾客到达排队系统的过程,其特征包括顾客的总体数量、到来的方式、相继到达的时间间隔等。排队规则,指系统从已到达顾客中选择服务对象的规则,可能包括先到先服务、随机服务、有优先权的服务等。服务机构的特征包括服务台数量、服务台的排列方式、服务方式、服务时间等。

排队论给出了排队系统的分类方法,并针对不同类型的排队系统建立了数学模型。应用排队论时,需首先分析待研究系统的特征,从而得到该系统的具体类型,然后建立数学模型并计算出该系统的评价指标,最后根据评价指标做出优化决策。

排队论使用Kendall符号X/Y/Z/A/B/C对排队系统进行分类。其中:

X表示顾客到达间隔时间的分布,可以为负指数分布(M)、一般服务时间分布(G)、k阶爱尔朗分布(Ek)、确定型分布(D)等;

Y表示服务时间的分布,也可以为负指数分布(M)、一般服务时间分布(G)、k阶爱尔朗分布(Ek)、确定型分布(D)等;

Z表示服务台个数;

A表示系统容量限制;

B表示顾客源数量;

C表示服务规则,可以为先到先服务(FCFS)、随机服务等。

3.2.  浮动授权系统的排队类型

从浮动授权系统的工作过程描述可以发现顾客、排队规则、服务机构等排队系统的典型特征。因此,该系统可抽象为一种排队系统。为了确定浮动授权系统的具体类型,对排队系统的特征因素分析如下:

1)顾客到达的间隔时间分布基于如下假设和分析,可以认为授权申请的间隔时间符合参数为λ的 负指数分布:

(1)无后效性。在不相重叠的时间区间内用户发起授权申请的数量可以合理假设为相互独立。

(2)平稳性和有限性。对充分小的时间Δt,在时间区间[t,t+Δt]内有1个用户发起授权申请的概率与t无关,而约与Δt成正比,即P1(t,t+Δt)=λΔt。实际情况与此假设可能会有偏差。例如,每个工作日刚开始上班时授权申请相对集中,而接近下班时授权申请则相对偏少。对此,我们仅建立授权申请较稳定的时段的数学模型。

(3)普通性。对充分小的时间Δt,在时间区间[t,t+Δt]内有2个或2个以上用户发起申请的概率极小,以致可以忽略不计。

2)服务时间的分布 授权申请间隔时间的分析同样适用于授权占用时间。通过向软件供应商咨询或开展软件试用,可以得到授权占用平均时间(1/μ)。那么,授权占用时间符合参数为μ的负指数分布。

3)服务台个数 浮动授权总量(c)即为服务台个数,一般为多个。

4)系统容量限制 用户申请被拒绝后,即回到顾客源。该系统不存在有形的队列。文献认为被拒绝用户,会像其他未申请过授权的用户一样在一段时间后再发起申请,因此认为系统的容量即为浮动授权总量,从而建立了M/M/c/c/m类型的队列模型。实际上,用户被拒绝后,其使用目的尚未达成,在等待一段时间后,必然再次发起申请。可以理解为被拒绝用户会进入一个虚拟队列等待授权准许。而且,授权管理服务器一般可以提供目前的授权占用状态,被拒绝用户可以据此在授权空闲时再次发起申请。因此,可以认为存在一个无限长的虚拟队列,即系统的容量为无穷大。

5)顾客源数目 软件授权一般仅在特定范围内使用。因此用户总量(m)是有限的。

6)服务规则 在有空闲授权时,先发起申请的用户获得授权。因此,该系统服务规则为先到先服务FCFS。

综上所述,软件浮动授权系统可以抽象为M/M/c/∞/m/FCFS类型的排队系统,如图2所示。其授权申请的间隔时间符合参数为λ的负指数分布,授权占用时间符合参数为μ的负指数分布,有c个服务台,系统容量为无穷大,顾客群为m。

图2M/M/c/∞/m/FCFS类型的排队系统结构图

3浮动授权系统的数学模型对于该排队系统,由排队理论可知,排队系统中有0个用户的概率为:

式中:

排队系统中有n个用户的概率为:

3.3. 浮动授权数量估算方法

为了量化授权总量的适中程度,本文提出了申请获准率指标。该指标指某一时刻一个用户发出申请能够得到授权的概率。申请获准率越高,用户体验越好,工作效率越高,授权的使用频率越低。根据定义,购买c个授权时的申请获准率为:

软件采购组织根据待采购软件的资金预算、关键程度、预期的用户体验度等情况设定一个申请获准率的阈值Gr。那么,软件采购的数量为:N=c,当G(c)≥Gr且G(c-1)<Gr时。

4. 应用与验证

上述估算方法在某安全性分析软件采购时得到了应用。首先,从软件供应商处获取了少量的试用授权,并开展试用。试用期间对该软件的使用情况进行了统计。用户申请使用该软件的间隔时间(1/λ)平均为5h。单个用户每次占用授权的时间(1/μ)平均为1h。一段时期内使用该软件的用户数量(m)约为10人。软件采购组织根据自身需要设定的申请获准率阈值为90%。按照本文提出的估算方法,软件授权采购数量与预期的申请获准率的关系如图3所示。从图3可见,当购买的授权数量为3个时,获准率为93%。因此,该软件的浮动授权购买数量确定为3个。

图3 某软件的预期申请获准率与购买数量关系图

在该软件采购完成后,软件授权在一段时间内的实际使用情况如图4所示。实际获准率平均为90%,与预期基本相符。

图4 某软件的实际申请获准率情况

5. 模型的简化与比较

在上述估算方法的应用过程发现本文提出的数学模型过于复杂,不便使用。在排队模型的基础上做如下假设:用户发起的授权申请都能得到准许。在授权的数量足够使用的情况下,这个假设近似成立。那么,单个用户在某时刻发起授权申请的概率为λ/μ。某个时刻,有n个用户发起授权申请的概率可简化为:

使用上述简化模型估算的某需求管理软件的浮动授权采购数量与使用排队模型估算的浮动授权采购数量的比较如图5所示。当申请获准率大于90%以上时,两者重合。以90%的授权获准率阈值计算,得到的购买数量为3个,与排队模型相同。因此,当软件采购组织设置的阈值大于90%时,可以采用简化模型进行授权购买数量估算。

图5使用简化模型和排队模型估算的授权采购数量比较

6. 结语

本文基于排队理论建立了软件浮动授权系统的数学模型,提出以申请获准率为评价浮动授权数量适中程度的量化指标,并以此为基础给出了一种软件浮动授权采购数量的估算方法。通过在某软件采购活动中的应用对该估算方法进行了验证,并对数学模型进行了适当的简化。

在浮动授权数量估算过程中值得注意的是,组织对软件的使用需求可能是不稳定的,会随着组织的任务负荷、软件的推广程度等因素发生变化。以图4某软件的实际申请获准率情况为例,第8周以后随着软件的推广,申请获准率有所下降。因此,建议在软件采购前进行试用以统计出尽量准确的参数,并将本文的估算方法与分批购买法结合使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2206334.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java中二维数组-杨辉三角

使用二维数组打印一个10行杨辉三角 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1)第一行有1个元素,第n行有n个元素 2)每一行的第一个元素和最后一个元素都是1 3)从第三行开始,对于非第一个元素和最后一个元素的元素…

差分注意力,负注意力的引入

文章目录 Differential Transformer差分注意力,负注意力的引入相关链接介绍初始化函数多头差分注意力 Differential Transformer差分注意力,负注意力的引入 相关链接 ai-algorithms/README.md at main Jaykef/ai-algorithms (github.com) unilm/Diff…

response和验证码、文件下载操作

目录 Response对象 案例: 1、完成重定向 2、服务器输出字符输出流到浏览器 3、服务器输出字节输出流到浏览器 4、验证码 ServletContext对象 Response对象 功能:设置响应消息 1、设置响应行 格式:HTTP/1.1 200 ok 设置状态码 se…

RabbitMQ 高级特性——死信队列

文章目录 前言死信队列什么是死信常见面试题死信队列的概念:死信的来源(造成死信的原因有哪些)死信队列的应用场景 前言 前面我们学习了为消息和队列设置 TTL 过期时间,这样可以保证消息的积压,那么对于这些过期了的消…

【更新】上市公司企业机构投资者实地调研数据(2013-2023年)

一、测算方式: 参考《会计研究》逯东(2019)老师的做法,考虑投资者实地调研的频率和可能性,设立了下述变量来衡量上市公司接待投资者调研情况: 首先,使用年度范围内接待投资者调研的总次数 ( Visitnmb) 作为…

卸载PLSQL及标准卸载流程

目录 1. 卸载PLSQL2. 删除注册表3. 删除数据信息 1. 卸载PLSQL 等待进度条走完 2. 删除注册表 regedit 右击删除 3. 删除数据信息 由于AppData是隐藏文件,需要勾选隐藏的项目。 重启电脑,PLSQL就卸载成功了。

低代码工单管理app评测,功能与效率解析

预计到2030年,低代码平台市场将达1870亿美元。ZohoCreator助力企业构建定制化软件应用,以建筑行业工作订单管理app为例,简化流程,提升管理效率,降低成本。其用户友好界面、自动化管理、跨平台使用及全面报告功能受企业…

项目优化内容及实战

文章目录 事前思考Prometheus 普罗米修斯概述架构安装及使用 Grafana可视化数据库读写分离实战1-PrometheusGrafanaspringboot 事前思考 需要了解清楚:需要从哪些角度去分析实现?使用了缓存,就需要把缓存命中率数据进行收集;使用…

企业在隔离网环境下如何进行安全又稳定的跨网文件交换?

在数字化时代,企业的数据流通如同血液一般重要。然而,当企业内部实施了隔离网环境,跨网文件交换就成了一个棘手的问题。今天我们将探讨在隔离网环境下,企业面临的跨网文件交换挑战,以及如何通过合规的跨网文件交换系统…

数字电路——触发器1(RS和钟控触发器)

触发器:能够存储一位二进制信息的基本单元电路称触发器(Flip-Flop) 特点: 具有两个能自行保持的稳定状态,用来表示逻辑状态的“0”或“1”。具有一对互补输出。有一组控制(激励、驱动)输入。或许有定时(时钟)端CP(Clock Pulse)。在输入信号…

PostgreSQL 16.4安装以及集群部署

1. 环境准备 1.1 主机环境 主机 IP: 192.24.215.121操作系统: CentOS 9PostgreSQL 版本: 16.4 1.2 从机环境 从机 IP: 192.24.215.122操作系统: CentOS 9PostgreSQL 版本: 16.4 2. 安装 PostgreSQL 16.4 在主从两台机器上都需要安装 PostgreSQL 16.4。 2.1 添加 Postgre…

银行卡基础信息查询 API 对接说明

本文将介绍一种 银行卡基础信息查询 API 对接说明,它可用于银行卡基础信息查询。 接下来介绍下 银行卡基础信息查询 API 的对接说明。 申请流程 要使用 API,需要先到 银行卡基础信息查询 API 对应页面申请对应的服务,进入页面之后&#xf…

Python自定义异常类:实际应用示例之最佳实践

Python自定义异常类:实际应用示例之最佳实践 前言 在软件开发中,合理处理异常是保证程序稳定性的重要环节。虽然 Python 内置了丰富的异常类型,但在处理复杂业务逻辑时,自定义异常类能够使代码更加清晰且具备可扩展性。 本文将…

一个架构师的职业素养:四种常用的权限模型

你好,我是看山。 本文收录在《一个架构师的职业素养》专栏。日拱一卒,功不唐捐。 今天咱们一起聊聊权限系统。 以大家熟知的电商场景举例: 用户可以分为普通用户、VIP用户:我们需要控制不同角色用户的访问范围。比如,京东的PLUS会员,可以进入会员专区,而且能够使用礼金…

ESP32接入扣子(Coze) API使用自定义智能体

使用ESP32接入Coze API实现聊天机器人的教程 本示例将使用ESP32开发板通过WiFi接入 Coze API,实现一个简单的聊天机器人功能。用户可以通过串口向机器人输入问题,ESP32将通过Coze API与智能体进行通信,并返回对应的回复。本文将详细介绍了如…

OpenGL 进阶系列03 - OpenGL实例化渲染来提高性能

目录 一:概述 二:实例化渲染的优点: 三:OpenGL实例化渲染的例子: 一:概述 OpenGL 实例化渲染(Instanced Rendering)是一种渲染技术,可以有效地绘制多个相同对象,而不需要为每个对象单独提交绘制调用。通过这种方式,可以显著提高渲染性能,尤其是在需要绘制大量相…

【每日刷题】Day137

【每日刷题】Day137 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 1576. 替换所有的问号 - 力扣(LeetCode) 2. 495. 提莫攻击 - 力扣&#xf…

【数据结构与算法】线性表顺序存储结构

文章目录 一.顺序表的存储结构定义1.1定义1.2 图示1.3结构代码*C语言的内存动态分配 二.顺序表基本运算*参数传递2.1建立2.2初始化(InitList(&L))2.3销毁(DestroyList(&L))2.4判断线性表是否为空表(ListEmpty(L))2.5求线性表的长度(ListLength(L))2.6输出线性表(DispLi…

基于GoogleNet深度学习网络的手语识别算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 手语How are you,测试识别结果如下: 手语I am fine,测试识别结果如下: 手…

java入门和Java语法

Java直接运行源代码文件,不会产生HelloWorld.class第二种方法:把模块放在D盘下,然后导入 第三种方法:新建一个模块,然后把内容复制过去 byte l 12; short m l; System.out.println(m); char n a; int reason mn; Sy…