一种针对并发浮动授权的防呆优化方法及系统与流程

摘要: 本发明涉及浮动授权管理,具体涉及了一种针对并发浮动授权的防呆优化方法。背景技术:1、浮动授权是一种基于服务器验证的软件授权机制,企业购买一定数量的授权席位后,这...
一种针对并发浮动授权的防呆优化方法及系统与流程

本发明涉及浮动授权管理,具体涉及了一种针对并发浮动授权的防呆优化方法。

背景技术:

1、浮动授权是一种基于服务器验证的软件授权机制,企业购买一定数量的授权席位后,这些席位在网络上形成一个共享的授权池,由中央授权服务器统一管理。当用户需要使用某款软件时,客户端向授权服务器发出请求,从授权池中获取一个可用席位;使用完毕后,该席位被释放回池中,供其他用户使用。这种模式使得企业只需购买少于实际安装数量的授权即可满足全体员工的软件使用需求,在制造企业的计算机辅助设计软件、计算机辅助工程仿真软件以及建筑设计类软件等场景中得到了广泛应用。

2、然而,现有的浮动授权管理系统在实际运行中存在若干难以忽视的问题。第一个问题是授权被长时间无效占用却无法自动回收。用户打开软件后因开会、午休或处理其他事务离开工位,软件进程并未关闭,授权一直被该进程持有。更有甚者,用户运行仿真计算后直接下班,仿真任务早已完成但软件未退出,授权仍然被占用。部分授权服务程序本身不具备闲置自动回收功能,授权被占用后就一直处于占用状态,除非用户手动关闭软件或者由信息技术人员登录服务器强制踢出。第二个问题是现有的超时回收机制过于粗放。一些授权服务器虽然支持通过配置文件设定超时时间来回收不活跃的授权,但其判断依据仅仅是客户端是否定期发送心跳包。心跳包只能证明客户端进程还在运行,无法判断用户是否真的在操作软件。这种机制下,要么因为阈值设置过短而频繁误杀正在使用的用户,要么因为阈值设置过长而让闲置授权迟迟无法释放。第三个问题是缺乏防呆设计。现有系统在回收授权时往往直接中断用户的工作会话,用户回来时发现授权已被回收但没有任何预警和缓冲,需要重新申请授权。如果授权池已被占满,用户只能排队等待,工作流被完全打断。第四个问题是多授权同时满足回收条件时缺乏优先级判断。当多个授权同时处于空闲状态时,现有系统通常按随机顺序或先来后到的顺序回收,没有考虑不同用户、不同软件、不同时段对回收敏感度的差异。第五个问题是对异常断线造成的孤儿授权缺乏有效处理手段。客户端异常崩溃、网络突然中断或用户直接关机时,授权会话未能被及时释放,这些授权长期处于被占用的僵尸状态,直到管理员手动干预才能回收。上述问题的累积效应是,企业虽然购买了足额的浮动授权,但实际可用的授权数量远低于购买数量,导致高峰时段用户排队等待,而低峰时段授权又大量闲置。现有技术中尚缺乏一种能够系统性地解决上述问题的防呆优化方案。

技术实现思路

1、本发明所解决的技术问题在于提供一种针对并发浮动授权的防呆优化方法,能够在保障用户正常使用不受影响的前提下,通过对输入事件与心跳信号的融合判定准确识别授权闲置状态,并结合分级回收策略、动态阈值调整机制和非侵入式的授权释放方式,实现浮动授权的高效自动回收、异常断线后的无感重连恢复以及授权资源的精细化调度。

2、本发明提供的基础方案:一种针对并发浮动授权的防呆优化方法,包括以下步骤:

3、s1、通过部署于客户端的探针监听操作系统的底层输入事件,统计无鼠标移动及无键盘敲击的空闲时长;

4、s2、当所述空闲时长达到第一阈值时,结合所述客户端上报的心跳信号进行综合状态判定,若心跳信号丢失或心跳信号正常但空闲时长达到第二阈值,则判定当前授权满足防呆回收条件;

5、s3、响应于满足所述防呆回收条件,向用户终端发送带有取消控件的预警提示,若在预设时间内味收到基于所述取消控件的取消指令,这向客户端发送tcp复位报文,释放浮动授权;

6、s4、当所述探针再次捕获到输入事件时,自动向授权服务器发送重连请求以恢复授权,所述重连请求携带前次授权释放时保存的上下文标识。

7、进一步,s2中结合所述客户端上报的心跳信号进行综合状态判定包括以下步骤

8、s21、建立基于心跳信号与输入事件融合的四象限状态模型,根据心跳信号和正常或异常状态与输入事件的活跃或空闲状态,将客户端授权状态划分为四种判定结果:

9、s211、结合所述客户端上报的心跳信号进行综合状态判定;

10、s212、当心跳信号正常但输入事件空闲时长达到第二阈值时,判定为假死空闲状态,触发防呆回收流程;

11、s213、当心跳信号异常且输入事件活跃时,判定为网络波动状态,保持授权占用并等待心跳恢复;

12、s214、当心跳信号异常且输入事件空闲或不可获取时,判定为终端离线或进程崩溃状态,立即触发强制回收流程。

13、进一步,所述步骤s3中,所述向用户终端发送带有取消控件的预警提示包括以下步骤:

14、s311、向所述用户终端推送预警通知,所述预警通知的内容至少包括当前授权即将被回收的剩余时间倒计时、当前占用的软件名称以及取消回收的操作指引,所述取消控件包括设置在所述预警通知界面中的可点击取消按钮和/或可触发的取消交互区域;

15、s312、当用户通过鼠标点击所述取消按钮或所述取消交互区域时,所述探针捕获到取消指令并上报至授权服务器,授权服务器终止回收流程并重置空闲计时;

16、s313、并且,当所述探针在所述预设时间内捕获到任意鼠标移动或键盘输入事件时,自动视为等同于接收到所述取消指令,终止回收流程并重置空闲计时。

17、进一步,所述s3中向客户端发送tcp复位报文,释放浮动授权包括以下步骤:

18、s321、所述客户端中持有授权连接的进程标识符及其对应的套接字信息;

19、s322、构造tcp复位报文,所述tcp复位报文的源地址填充为授权服务器地址,目的地址填充为所述客户端的地址,源端口填充为授权服务端口,目的端口填充为所述套接字的目标端口,序列号填充为所述套接字当前期望接收的下一序列号;

20、s323、将构造完成的所述tcp复位报文发送至所述客户端的套接字端口,触发所述持有授权连接的进程断开与授权服务器之间的网络连接;

21、s324、授权服务器响应于所述网络连接的断开事件,根据标准授权协议释放对应的浮动授权令牌,且所述持有授权连接的进程在所述网络连接断开后保持进程运行状态。

22、进一步,在执行所述步骤s323之前,还包括授权状态持久化步骤,所述授权状态持久化步骤包括以下步骤:

23、s3201、获取当前授权所关联的目标应用程序的进程上下文信息,所述进程上下文信息至少包括当前打开的工作文件路径、当前编辑或操作位置的书签标记、以及未保存的临时数据缓存标识;

24、s3202、根据所述进程上下文信息和当前授权会话的唯一标识,生成所述步骤s4中的上下文标识,并将所述进程上下文信息与所述上下文标识关联存储于本地缓存或授权服务器中;

25、s3203、当所述步骤s323中触发所述持有授权连接的进程断开网络连接时,保持所述目标应用程序的进程不终止,并将所述进程上下文信息的缓存状态标记为“待恢复”;

26、所述步骤s4中,当所述探针再次捕获到输入事件时,所述自动向授权服务器发送的重连请求携带所述上下文标识,授权服务器根据所述上下文标识定位所述进程上下文信息,并通过所述探针将所述进程上下文信息回填至所述目标应用程序,以恢复所述目标应用程序在授权释放前的工作状态。

27、进一步,所述s3还包括以下步骤:

28、s33、当多个当多个授权同时满足防呆回收条件时,执行分级回收策略,具体包括以下步骤:

29、s331、构建三维分级决策矩阵,所述三维分级决策矩阵的第一维为软件类型维度,用于为不同软件设定基础回收优先级;第二维为用户角色维度,用于根据用户所属角色设定容忍系数;第三维为时段维度,用于根据当前时间段设定时段调整系数;

30、s332、根据所述三维分级决策矩阵计算每个待回收授权的综合回收优先级:

31、

32、其中,为软件类型对应的基础回收优先级,为用户角色对应的容忍系数,为当前时段对应的时段调整系数;值越高,表示该授权越优先被回收;

33、s333、对每个待回收授权计算回收成本量化值,所述回收成本量化值由以下因子加权计算得到:当前文档保存状态因子、软件启动耗时因子、当前操作阶段因子、会话时长因子以及用户历史回收反应因子;其中,文档已保存时该因子取值小于文档未保存时,软件启动耗时越短该因子取值越小,操作阶段为浏览状态时该因子取值小于深度编辑状态时,会话时长越短该因子取值越小,用户历史中曾主动取消回收的次数越多该因子取值越小;

34、s334、按照综合回收优先级从高到低、且回收成本量化值从低到高的排序规则,确定多个待回收授权的回收顺序,优先回收综合回收优先级高且回收成本低的授权。

35、进一步,所述步骤s2中,所述第一阈值和所述第二阈值根据动态调整机制进行更新,所述动态调整机制包括预测性调整,所述预测性调整包括周期性空闲行为预测调整:

36、获取目标用户的授权使用历史记录,所述授权使用历史记录至少包括连续七天内每一天各时间段的输入事件活跃状态及对应的空闲起止时刻;

37、根据所述授权使用历史记录,统计所述目标用户在每一天中各预设时间窗口内进入空闲状态的历史频率,当所述历史频率超过预设的频率阈值时,将对应的时间窗口标记为所述目标用户的周期性空闲窗口;

38、在当前时刻进入所述周期性空闲窗口时,自动将当前会话的所述第一阈值缩短为默认第一阈值的预定百分比,同时将所述第二阈值缩短为默认第二阈值的相同预定百分比;

39、并且,当所述目标用户在所述周期性空闲窗口内实际未发生空闲行为时,取消所述缩短,并恢复所述默认第一阈值和默认第二阈值。

40、进一步,所述预测性调整还包括操作间隔趋势预测调整:

41、在目标用户使用授权期间,持续采集所述目标用户在预设滑动时间窗口内的操作间隔时间序列,所述操作间隔时间为相邻两次输入事件之间的时间间隔;

42、计算所述操作间隔时间序列的单调趋势值,当所述单调趋势值呈现上升趋势且当前操作间隔超过历史平均操作间隔的预设倍数时,判定所述目标用户即将进入空闲状态;

43、响应于所述判定,将当前会话的所述第一阈值缩短为所述默认第一阈值的第二预定百分比,所述第二预定百分比小于或等于所述周期性空闲行为预测调整中的所述预定百分比,同时将所述第二阈值缩短为所述默认第二阈值的所述第二预定百分比;

44、当后续采集到的操作间隔时间恢复至低于所述历史平均操作间隔时,取消所述缩短,并恢复所述默认第一阈值和默认第二阈值。

45、进一步,所述动态调整机制还包括反馈式自适应调整,所述反馈式自适应调整采用如下公式更新目标用户的个性化第一阈值:

46、

47、其中,为当前个性化第一阈值,为反馈调整系数;

48、所述反馈调整系数根据授权回收后所述目标用户的恢复行为类型确定,所述恢复行为类型包括:

49、第一恢复行为,在授权回收后的第一预设时间内主动发起重连请求,该行为表示回收过早,对应的反馈调整系数为,且;

50、第二恢复行为,在授权回收后的第二预设时间内未发起重连请求,该行为表示回收合理,对应的反馈调整系数为,且;

51、第三恢复行为,在授权回收前通过所述取消控件主动取消回收,该行为表示用户抵触当前回收时机,对应的反馈调整系数为,且;

52、第四恢复行为,在授权回收后重连成功,且在重连后的第三预设时间内执行了保存文档并关闭应用程序的操作,该行为表示用户主动结束工作,对应的反馈调整系数为,且;

53、所述反馈调整系数的取值范围为[0.3,0.5],所述第二阈值与所述第一阈值按相同比例联动调整:

54、

55、其中,为当前个性化第二阈值,为更新后的个性化第二阈值。

56、本发明还公开了一种针对并发浮动授权的防呆优化系统,使用了上述的一种针对并发浮动授权的防呆优化方法。

57、本发明的原理及优点在于:

58、本发明所解决的技术问题在于提供一种针对并发浮动授权的防呆优化方法及系统。其核心原理是通过在客户端部署轻量级探针,实时监听操作系统底层的鼠标移动和键盘敲击等输入事件,统计用户无操作的空闲时长。当空闲时长达到第一阈值时,系统并不立即回收授权,而是结合客户端定期上报的心跳信号进行综合状态判定。这种双维度检测机制能够区分四种不同的状态:用户正常使用时保持授权;心跳正常但无输入事件达到第二阈值时判定为假死空闲并触发回收流程;心跳异常但输入事件活跃时判定为网络波动并保持授权;心跳异常且无输入事件时判定为终端离线并强制回收。通过这种融合判定,系统能够准确识别授权是否真正处于闲置状态,避免将正在进行后台计算或网络不稳定的用户误判为空闲。当确认授权满足回收条件后,系统会先向用户终端发送预警通知,通知中包含授权即将被回收的倒计时、当前占用的软件名称以及取消回收的操作指引,用户在收到通知后可以通过点击取消按钮或直接移动鼠标、敲击键盘来终止回收流程,系统在预设时间内没有收到取消指令才会执行回收动作。回收时系统并不终止用户的应用程序进程,也不修改任何许可文件,而是获取持有授权连接的进程信息及其套接字参数,构造tcp复位报文发送至客户端,模拟网络连接断开的行为,授权服务器检测到连接断开后按照标准授权协议自动释放对应的授权令牌,用户的应用程序继续保持运行状态,只是失去了与授权服务器的连接。当用户返回工作岗位并操作鼠标或键盘时,探针再次捕获到输入事件,自动向授权服务器发送重连请求,请求中携带前次授权释放时保存的上下文标识,授权服务器根据该标识定位之前保存的工作状态信息并回填至应用程序,恢复用户在授权释放前的工作现场。当多个授权同时满足回收条件时,系统执行分级回收策略,通过构建软件类型、用户角色和当前时段三个维度的分级决策矩阵计算每个授权的综合回收优先级,同时计算每个授权的回收成本量化值,该量化值综合考虑文档是否已保存、软件启动耗时、当前处于浏览还是深度编辑状态、会话时长以及用户历史上是否经常主动取消回收等因素,按照综合回收优先级从高到低且回收成本从低到高的双重规则确定回收顺序,优先回收那些回收优先级高且回收成本低的授权,从而将对业务的影响降到最低。系统还具备动态阈值调整机制,该机制包括预测性调整和反馈式自适应调整两部分。预测性调整通过分析用户的授权使用历史记录,识别用户在每天各时间段进入空闲状态的规律,当用户进入周期性空闲窗口时将阈值自动缩短,同时实时监测用户操作间隔时间的变化趋势,当操作间隔呈现单调递增趋势且当前间隔明显超过历史平均水平时提前缩短阈值。反馈式自适应调整则记录每次授权回收后用户的恢复行为,如果用户在回收后短时间内主动重连,说明回收过早,系统将延长该用户的个性化阈值;如果用户长时间不重连,说明回收合理,阈值保持不变;如果用户在回收前主动取消,说明用户抵触当前回收时机,系统以更大幅度延长阈值;如果用户重连后立即保存并关闭软件,说明用户主动结束工作,系统适当缩短阈值。所有这些调整都只影响该用户自身的个性化阈值,不会干扰其他用户的设置。

59、本发明相比现有技术的主要优点在于以下几个方面。

60、第一,现有技术通常仅依靠心跳信号或简单的超时机制判断授权是否空闲,心跳信号只能检测进程是否存活而无法判断用户是否在操作,固定超时则容易出现用户正在使用却被误回收的情况,本技术通过输入事件检测与心跳信号融合的四象限判定模型,能够准确区分用户真正离开、终端死机、网络波动和正常使用四种状态,大幅降低了误回收的概率。

61、第二,现有技术在回收授权时往往采用杀进程、修改许可文件或直接关闭应用程序的方式,这些操作会导致用户未保存的工作丢失、应用程序崩溃或需要重新启动软件,本技术采用发送tcp复位报文模拟网络断开的方式,完全不对应用程序进行任何侵入性操作,用户回来时面对的是离开前的操作界面,工作连续性得到保障。

62、第三,现有技术的超时阈值对所有用户和所有软件使用相同的固定值,无法适应不同用户的使用习惯和不同软件的操作特点,本技术通过分级回收策略中引入用户角色容忍系数和时段调整系数,使同一软件在不同用户手中拥有不同的回收松紧度,在黄金时段对核心角色更加宽容,在非高峰时段对非核心角色更加严格,实现了资源的精细化分配。

63、第四,现有技术在回收多授权时缺乏优先级判断,往往随机或按顺序回收,可能导致成本极低的授权未被回收而成本极高的授权被抢先回收,本技术通过回收成本量化排序,优先回收那些文档已保存、软件轻量、处于浏览状态、刚启动不久且用户历史上不介意被回收的授权,尽可能避免干扰正在进行深度工作的用户。

64、第五,现有技术的阈值设定完全依赖管理员手动配置,一旦设定便长期固定不变,无法根据实际使用情况自动优化,本技术通过预测性调整提前识别用户的周期性空闲规律和操作节奏变化,在用户实际空闲之前就主动缩短阈值,实现了从被动等待到主动预判的转变,同时通过反馈式自适应调整让系统从每次回收后的用户行为中学习,自动为每个用户找到最适合其使用习惯的个性化阈值,无需人工干预即可持续优化。