G06F21/10
1.一种软件许可主动释放与自动恢复的方法,其特征在于,所述方法包括下述步骤:
启动监控程序;
分析软件系统运行情况,判断用户使用状态;
主动释放未使用状态的用户占用的软件许可;
向许可管理服务器端发送释放软件许可的请求;
许可管理服务器端回收该用户之前申请的所有软件许可;
捕获用户申请重新使用软件系统的操作,恢复软件系统。
2.如权利要求1所述的软件许可主动释放与自动恢复的方法,其特征在于,所述启动监控程序包括:
(1)监控程序随系统运行,不断检查是否有新用户启动、使用软件系统;或者
(2)随着用户启动软件系统,触发、唤醒监控程序。
3.如权利要求2所述的软件许可主动释放与自动恢复的方法,其特征在于,所述分析软件系统运行情况,判断用户使用状态的具体步骤为:
监控程序采集软件系统运行过程中占用系统资源的信息;
监控程序根据采集信息,统计、对比一段时间内软件系统运行状态的变化情况;
如果软件系统运行状态有变化,监控程序可判断用户处于“使用中状态”,反之则认为用户处于“未使用状态”。
4.如权利要求3所述的软件许可主动释放与自动恢复的方法,其特征在于,所述监控程序采集占用系统资源的方案需要根据预设的采集规则,确定要采集的对象和时间间隔。
5.如权利要求3所述的软件许可主动释放与自动恢复的方法,其特征在于,所述监控程序判断用户使用状态的方案需要根据预设的判断规则,界定判断条件的上下限区间,以及判定条件的逻辑关系。
6.如权利要求1-5任一所述的软件许可主动释放与自动恢复的方法,其特征在于,所述主动释放软件许可的具体步骤为:
监控程序中断该用户的软件系统;
监控程序向许可管理服务器端发送用户信息、终端信息;
请求许可管理服务器端回收该用户之前申请的部分或所有软件许可。
7.如权利要求6所述的软件许可主动释放与自动恢复的方法,其特征在于,所述中断该用户的软件系统包括:
(1)监控程序中断软件系统对该用户的操作响应;或者
(2)监控程序中断软件系统和许可管理客户端的网络通信。
8.如权利要求1-5所述的软件许可主动释放与自动恢复的方法,其特征在于,所述自动恢复软件使用状态的具体步骤为:
监控程序提示用户是否重新使用软件系统;
监控程序捕获用户重新使用软件系统的请求;
监控程序恢复该用户的软件系统,许可管理客户端自动向许可管理服务器端申请之前用户使用的软件许可。
9.如权利要求8所述的软件许可主动释放与自动恢复的方法,其特征在于,所述恢复该用户的软件系统包括:
(1)监控程序恢复软件系统对该用户的操作响应;或者
(2)监控程序恢复软件系统和许可管理客户端的网络通信。
本发明计算机软件管理技术领域,尤其涉及一种软件许可主动释放与自动恢复的方法。
软件许可是软件开发商为了保护自身合法利益,控制用户在软件许可范围内使用软件,防止软件被用户非法使用的一种保护手段。对于企业级商业软件系统来说,一个软件系统的每个功能模块都有各自的许可,而且每个模块的许可数量都是有限的。如果申请使用某个模块的用户数量超过了购买许可的数量,那么按照“先到先得”的原则,晚申请的用户因为申请不到软件许可,而无法工作。另一方面,当某些早申请的用户因为长时间不退出软件,导致软件许可闲而不用,极大的浪费了软件许可的资源。
现有技术主要是通过许可管理客户端,根据用户要使用软件模块,向许可管理服务器端申请软件许可。许可管理服务器端授权、监控、回收客户端某个用户申请的软件许可。这种方式在回收软件许可时,首先是需要管理员在许可管理服务器端以人工方式干预许可分配,其次管理员无法判断用户是否正在使用软件系统,所以很容易造成强制回收、无法恢复工作状态的后果,这大大降低了用户体验,甚至有可能丢失数据成果。
本发明的目的一种软件许可主动释放与自动恢复的方法,旨在解决现有技术中软件许可人工强制回收、无法自动恢复、系统可用性和智能性较低的问题。
本发明的技术方案:
一种软件许可主动释放与自动恢复的方法包括下述步骤:
启动监控程序;
分析软件系统运行情况,判断用户使用状态;
主动释放未使用状态的用户占用的软件许可;
向许可管理服务器端发送释放软件许可的请求;
许可管理服务器端回收该用户之前申请的所有软件许可;
捕获用户申请重新使用软件系统的操作,恢复软件系统。
所述启动监控程序包括:
(1)监控程序随系统运行,不断检查是否有新用户启动、使用软件系统;或者
(2)随着用户启动软件系统,触发、唤醒监控程序。
所述分析软件系统运行情况,判断用户使用状态的具体步骤为:
监控程序采集软件系统运行过程中占用系统资源的信息;
监控程序根据采集信息,统计、对比一段时间内软件系统运行状态的变化情况;
如果软件系统运行状态有变化,监控程序可判断用户处于“使用中状态”,反之则认为用户处于“未使用状态”。
所述监控程序采集占用系统资源的方案需要根据预设的采集规则,确定要采集的对象和时间间隔。
所述监控程序判断用户使用状态的方案需要根据预设的判断规则,界定判断条件的上下限区间,以及判定条件的逻辑关系。
所述主动释放软件许可的具体步骤为:
监控程序中断该用户的软件系统;
监控程序向许可管理服务器端发送用户信息、终端信息;
请求许可管理服务器端回收该用户之前申请的部分或所有软件许可。
所述中断该用户的软件系统包括:
(1)监控程序中断软件系统对该用户的操作响应;或者
(2)监控程序中断软件系统和许可管理客户端的网络通信。
所述自动恢复软件使用状态的具体步骤为:
监控程序提示用户是否重新使用软件系统;
监控程序捕获用户重新使用软件系统的请求;
监控程序恢复该用户的软件系统,许可管理客户端自动向许可管理服务器端申请之前用户使用的软件许可。
所述恢复该用户的软件系统包括:
(1)监控程序恢复软件系统对该用户的操作响应;或者
(2)监控程序恢复软件系统和许可管理客户端的网络通信。
本发明通过智能分析用户使用状态,主动释放闲而不用的软件许可,能有效提高企业软件系统功能模块的软件许可利用率,降低企业采购许可的成本,避免管理员人为强制许可回收而造成数据成果丢失的风险。同时自动恢复软件工作状态,可改善用户的操作体验,提高系统可用性和智能性。
图1为本发明第一实施例提供的软件许可主动释放与自动恢复系统的结构图;
图2为本发明第二实施例提供的软件许可主动释放与自动恢复系统的实现流程图;
图3为本发明第三实施例提供的软件许可主动释放与自动恢复系统中监控程序结构图。
为使本发明的目的、技术方案和优点能更清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一:
图1所示的是本发明实施例提供的软件许可主动释放与自动恢复系统的结构,为了便于说明,仅展示了与本发明实施例相关的部分。
一个完整的许可管理系统结构必须包括:许可管理服务器端1、许可管理客户端2、软件系统3。其中:许可服务器端1可以是单个主机,也可以是多个主机组成的工作组。许可服务器端1通过有线或者无线的方式将软件许可信息发送给许可管理客户端2,实现对软件许可的授权、监控、回收。许可管理客户端2位于用户终端,用于向许可管理服务器端1请求、接收软件许可信息。每个软件系统3对应一个许可管理客户端2,在启动软件系统的不同模块时,通过许可管理客户端2向许可管理服务器端1申请相应的软件许可。
在本发明实施例中,该软件许可主动释放与自动恢复系统只包括监控程序4。
监控程序4与许可管理客户端2、软件系统3安装在相同的用户终端上,用于分析、控制许可管理客户端2和软件系统3,并且可以向许可管理服务器端1发送信息。监控程序4独立运行,不受许可管理服务器端1、许可管理客户端2、软件系统3的控制。
实施例二:
图2所示的是本发明实施例提供的软件许可主动释放与自动恢复方法的实现流程,该方法通过智能分析用户使用状态,主动释放闲而不用的软件许可,能有效提高软件许可的利用率。通过软件许可自动恢复申请装置,可自动恢复用户之前的软件系统工作状态,可改善用户的操作体验。该方法详述如下:
1、启动监控程序。
在本实施例中,监控程序区别于许可管理客户端和软件系统独立启动运行。监控程序可以以守护程序的方式,在操作系统后台运行,定时检查用户启动、使用软件系统的信息;也可以以inotify的方式,监控软件系统文件的读写变化。随着用户启动软件系统,触发、唤醒监控程序。
2、分析软件系统运行情况,判断用户使用状态。
在本实施例中,监控程序根据预设的采集规则,采集软件运行的信息;监控程序根据预设的判断规则,分析用户使用状态。采集规则和判断规则可由软件开发商或者管理员实现设定,并且可以随时调整。
其中采集规则中规定了采集的对象和时间间隔。采集对象包括但不限于软件系统进程占用的CPU、内存、磁盘I/O等系统资源的情况;而时间间隔的单位可以是秒、分钟、小时等。判断规则中规定了判断条件的上下限区间,以及判定条件的逻辑关系。比如判断条件1:CPU利用率不低于10%、判断条件2:磁盘I/O次数不低于1000次,逻辑关系是“判断条件1”或“判断条件2”有一个成立,即可判定用户处于“使用中状态”。
3、主动释放未使用状态的用户占用的软件许可。
在本实施例中,由监控程序根据用户状态判定结果,主动中断“未使用状态”用户的软件系统。监控程序可以以挂起软件系统所有进程和线程的方式,停止一切用户与软件系统的交互行为。也可以阻塞软件系统、许可管理客户端与许可管理服务器端的网络通信的方式。
4、向许可管理服务器端发送释放软件许可的请求。
在本实施例中,监控程序向许可管理服务器端发送请求的信息,包括但不限于用户信息、终端信息。
5、许可管理服务器端回收该用户之前申请的所有软件许可。
在本实施例中,软件许可信息包括软件授权方发放的对应功能模块的软件许可的唯一标识、对应的授权用户信息、终端设备信息。其中许可的唯一标志可以是序列号,用户信息可以是用户名、用户代码等,终端设备信息可以是主机名、IP地址等。一个序列号对应一个用户信息和一个终端设备信息,一个用户可以对应多个序列号,因为一个用户可以申请多个软件系统的功能模块的软件许可。
所以,许可管理服务器端会根据接收到的用户信息、终端信息,匹配所有的占用软件许可信息,然后全部释放。
6、捕获用户申请重新使用软件系统的操作,恢复软件系统。
在本实施例中,监控程序通过操作系统调用弹出窗口,等待用户交互。如果用户选择重新使用软件系统,监控程序恢复该用户的软件系统。用户操作软件系统,许可管理客户端自动向许可管理服务器端申请之前用户使用的软件许可。
监控程序可以以恢复软件系统所有进程和线程的方式,恢复用户与软件系统的交互行为。也可以恢复软件系统、许可管理客户端与许可管理服务器端的网络通信的方式。
实施例三:
图3所示的是本发明实施例提供的软件许可主动释放与自动恢复系统中监控程序结构图,为了便于说明,仅展示了于本发明实施例相关的部分。
该软件许可主动释放与自动恢复系统中监控程序包括软件系统启动监听单元11、软件运行信息采集单元12、许可使用状态分析单元13、许可主动释放单元14和许可自动恢复单元15,其中:
系统启动监听单元11,用于捕获用户启动软件系统的进程信息,同时明确许可管理客户端获得第一个软件许可的时间。
在本实施例中,监控程序可以以守护程序的方式,在操作系统后台运行,定时检查用户启动、使用软件系统的信息;也可以以inotify的方式,监控软件系统文件的读写变化。随着用户启动软件系统,触发、唤醒监控程序。
软件运行信息采集单元12,用于根据进程信息和预设的采集规则,定时采集进程占用的CPU、内存、磁盘I/O等系统资源信息。
在本实施例中,采集规则中规定了采集的对象和时间间隔。采集对象包括但不限于软件系统进程占用的CPU、内存、磁盘I/O等系统资源的情况;而时间间隔的单位可以是秒、分钟、小时等。采集规则可由软件开发商或者管理员实现设定,并且可以随时调整。
许可使用状态分析单元13,用于根据进程占用系统资源的信息和预设的判断规则,分析、判断用户处于“使用中状态”还是“未使用状态”。
在本实施例中,判断规则中规定了判断条件的上下限区间,以及判定条件的逻辑关系。比如判断条件1:CPU利用率不低于10%、判断条件2:磁盘I/O次数不低于1000次,逻辑关系是“判断条件1”或“判断条件2”有一个成立,即可判定用户处于“使用中状态”。判定规则可由软件开发商或者管理员实现设定,并且可以随时调整。
许可主动释放单元14,用于中断该用户的软件系统,请求许可管理服务器端回收该用户之前申请的全部软件许可。
在本实施例中,监控程序可以以挂起软件系统所有进程和线程的方式,停止一切用户与软件系统的交互行为。也可以阻塞软件系统、许可管理客户端与许可管理服务器端的网络通信的方式。此外,监控程序向许可管理服务器端发送请求的信息,包括但不限于用户信息、终端信息。
许可自动恢复单元15,用于捕获用户重新使用软件系统的请求,恢复软件系统之前的使用状态。
在本实施例中,监控程序可以以恢复软件系统所有进程和线程的方式,恢复用户与软件系统的交互行为。也可以恢复软件系统、许可管理客户端与许可管理服务器端的网络通信的方式。
本发明实施例通过启动监控程序,根据监控程序反馈的信息,可主动释放在设定时间内“未使用状态”用户占用的所有软件许可,能有效提高企业软件系统功能模块的软件许可利用率,降低企业采购许可的成本,避免管理员的人为、强制许可回收;通过监控程序自动恢复软件系统的工作状态,可改善用户的操作体验,提高系统可用性和智能性。
本文发布于:2024-09-24 12:17:17,感谢您对本站的认可!
本文链接:https://www.17tex.com/tex/3/87194.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |