分布式环境下的软件授权方案研究与实践
2021-03-15夏威
夏威
摘要:随着桌面虚拟化技术和网络环境的快速发展,桌面虚拟化成为企业IT建设的重要组成部,原有的业务系统和桌面环境共生在企业的数据中心,传统基于硬件特征的各类软件授权需要迁移到虚拟化环境之上,这对传统软件的授权方式提出了挑战。
关键词:分布式;去中心化;软件授权
中图分类号: TP311 文献标识码:A
文章编号:1009-3044(2021)03-0097-02
1 传统的授权的局限性
传统的服务端由于还存在主服务器与通信服务器之分,并且授权只对WEB界面的访问进行控制,因此在当前环境下未出现授权的问题。随着分布式系统的发展,当整个系统实现去中心化和完全的负载均衡,没有主服务与次服务之分,那么传统的系统授权就会出现问题,每个服务器都会去读他的授权,同时将授权信息写入到数据库中,将引发授权紊乱,故需要确保服务端能够从某个地方去读取授权,并且只有统一的授权颁发源即可解决授权紊乱问题。
2 分布式环境下的授权方案
将授权和管理服务器进行拆分,授权模块将分为授权提供、授权消费两个模块。
授权管理模块:
1)读取授权文件中的授权内容。
2)计算授权的可用量。
3)授权定期地更新到数据库中。
4)提供授权,并被消费。
授权消费模块:
1)从数据库中读取授权;
2)并监视授权的心跳;
3)同时为各个模块提供授权的认证;
4)对授权进行消费/释放。
设计上授权使用数据库作为一个载体,采用数据库作为模块间的通信中转。由于是采用数据库,也就意味着双方之间的通信将不是实时的。为了能够保证授权消费模块能够获知授权提供模块的运行情况,授权提供模块,必须实时将心跳信息更新到数据库上,心跳的标签为系统的时间,因此双方的服务器时间必须保持一致。
3 分布式环境下的授权流程
1)授权的获取
授权消费模块,若发现长时间未更新,则判定授权管理模块出现异常,暂时无法提供授权。将根据数据库中的授权信息进行授权,同时授权过期时间将变为至多30天,若原授权不足30天,则按原授权的过期时间。同时异常信息将进行告警,以便管理员能够及时地处理该问题。
3.2授权的消费
业务模块在进行功能请求时,需要查询是否有该授权。比如在添加监控设备时,由于授权有设备量的控制,因此加入一个设备就要消耗一个授权。
由于授权消费模块,并不能对授权做出修改,因此授权消费模块,需要把该请求发送到授权管理模块中,由授权管理模块针对授权的信息决定是否允许颁发该授权。若颁发授权,则业务模块就可以将该设备加入监控,既产生了一次消费。同时需要将该事件通知到其他的授权模块,让其他授权模块更新授权信息。
在业务模块,在请求一个功能时,需要对授权进行一次验证,由于授权消费模块本身已经有缓存了授权的信息,因此对于授权的验证,只要在授权消费模块中查询。
比如,服務器上的授权只有100个,但却安装了200个客户端,管理客户端上线后,向管理服务器请求策略,而该命令被服务器处理后,对授权进行验证,如果该客户端属于超出的设备(可以定义数据库的前N台设备),则授权消费模块,则不提供授权。由于这种情况出现的比较少,对系统的整体性能来说,不会产生太大的影响,因此不对该部分的数据做缓存。
在业务模块释放授权时,比如删除了被管理的设备。此时业务模块会先从数据库中删除掉设备,然后向授权消费模块释放授权,消费模块则直接转发该消息到授权管理模块上,授权管理模块,将对授权信息进行更新,并通知所有的授权消费模块,授权消费模块接收到授权更新通知后,则从数据库中重新读取授权。
3.3授权的控制
在虚拟化监控产品上,服务端主要会处理:
1)作为WEB服务器,提供管理员登录查看、配置、界面。
2)服务端主动执行的功能。如调度生成报表、设备自动发现等。
3)由客户端请求的功能,如策略的请求。
4)服务端接收到客户端发送的收集到的监控数据。
授权控制方面:
1)管理员登录、WEB界面的功能授权。
管理员登录到WEB系统上,对系统界面上的功能授权的一个控制,与现有的管理系统保持一致。
2)服务端功能授权。
服务端功能授权是指,服务器主动执行的、被动执行的功能。可能授权过期,或客户未购买该功能,因此授权模块可控制对这些功能的启用。
3)监控设备授权。
对XenApp/XenDesktop的服务器、XenServer、VM、交换机等设备的监控授权。若设备的数量超过授权允许的数量,则超过的设备,服务器不会处理它们所发送的数据,或者不会主动去收集这些设备的数据。对虚拟桌面上的客户端,则不会再对策略请求进行回应。
参考文献:
[1] 云中遗留应用的未来在何方[EB/OL].[2020-05-25].http://www.51sjk.com/b127b159673/.
[2] 王胜杰.基于桌面云技术的规划设计与应用[J].科协论坛,2012(6):85-86.
[3] 张振伦.传统HA系统的终结者[J].软件和信息服务,2016(11):71.
[4] 王海娇.ldap服务器关键技术研究[D].保定:华北电力大学,2009.
【通联编辑:李雅琪】