设备资源共享平台设计

别名:自动化设备工厂

解决的问题:小组设备资源不能共享,资源利用率低下和最大容量不足等问题.

目标:1. 设备具有清晰的规格,即有明确的分类(比如该设备的资源数,是否有视频源,音频源等详细参数)

          2. 设备使用率,设备的周转性非常好(最好能一直投入使用),关键是调度策略要完美

          3. 设备请求,如果某次设备请求失败,是否应该丢入请求队列进行缓存(也可以直接返回失败),此时考虑用户等待时间,优先级加权等情形

          4. 清晰的日志,方便分析设备的使用记录.

遐想与技术难点:

          1. 设备调度策略: 每一个设备是否也应该有使用权重这个问题(比如长时间没被使用,那么优先级是否已经提高),下次调度的时候,优先被使用

          2. 设备请求列表: 每一个用户会针对自身需要的设备进行请求,此时如何表示这一系列请求

          3. 用户等待策略: 如果用户申请设备失败时候需要等待的话,那么如何定期去刷新用户的等待时间,更新用户的等级权重

          4. 应对高并发的申请,释放: 考虑到多个用户同时申请或者释放的情形,这里需要考虑设备状态的一致性问题

 

架构设计:

          物理架构 :    SqlServer + WEB服务

          逻辑架构:  三层架构(DAO+DLL+BLL) + 辅助帮助类(Log + Permit + Communicate)

          

抽象可扩展考虑:

          数据库层面: 弱化设备类型,设备属性等概念(唯一固化的元素就是DeciveId + IP + GroupId),其余配置纵向扩展,以记录的形式存在在属性记录表中.

          SQLHelper类设计:使用DBManager + DBFactory + IDataBase进行抽象

          ResoureManager类设计:支持getDevice与FreeDevice两个接口,用户通过字典传入所需要的设备配置项,返回用户只是增加一项<'IP',''>字典.

          并发考虑:在get入口处使用lock()操作(这个设计有点儿丑,再优化)

          设备资源的调度策略:有待深入(优先级,资源数)等

TO BE CONTINUED。。。

 

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值