系统分析员面试题:云台的web远程控制问题!

WvW 2010-10-17 01:06:25
前几天去一个公司面试,看到这个题目,虽然自己有些构想,但是感觉不够完美。贴出来,大家思考一下解决方案。

题目:
情况介绍: 云台是录像监控系统里面经常用到的东西,可以将上面的摄像机 上下左右移动,有的带有灯光控制。通信协议用RS232/485,有很多种协议模型,基本上差不多:命令 地址 数据。

云台的属性:
控制属性:方向:上 下 左 右;灯光开、关。
状态属性:灯光的状态;报警端口的状态:闭合、断开。 状态需要主动查询。

假设现在云台服务器,COM1端口上挂了10个云台,地址1~10。


设计要求:

0。云台服务器软件(服务器本机的监控软件); 局域网客户端监控软件; web浏览器控制软件。
1。要求能控制所有动作;及时获取前段的状态。
2。所有登录用户都能看,但同时只能有一个用户可以控制云台。
3。用户级别:分为1~5级(低~高)。高优先级的可以抢断低优先级的。同级的不能抢断。(设计时考虑控制权释放问题,并显示当前谁控制着,如果被抢占了,还要禁用相关界面)。
4。关于web访问,可只限定IE模式(Activex),能设计跨平台方案优先考虑。
5。服务器为windows平台,但不使用DCOM,但支持IIS。必须走http协议,方便穿过防火墙。

----------------------------------------------------------------------------------------------------------
我的考虑:
1。云台服务程序:
1.用socket通信,提供控制指令,和查询指令.
2.根据请求的用户权限字节,如果大于当前控制用户,就抢断.
3.记录当前状态:当前控制用户. 云台的灯光和报警状态值. 以便每个客户端不停的查询.

2.客户端控制层, 均封装成activex, 方便统一用户界面.
3.web服务端, 采用ISAPI(类似ASP。net的模块),完成浏览器用户的登录,并解释控制指令,和状态返回。
4.web客户端, 在HTML里面嵌入ACtivex. JS给登录参数后, 一切由activex来做.


其实这个题目主要难度是:
1。如何控制3个客户端软件的并发访问,根据权限,踢出另外一个。
2。多层构架,因为COM端口是只能一个进程打开并占用着。必须有一个程序封装云台的控制和状态读取。
3。web方案的解决能力。(数据状态查询等等)。

4. web客户端与云台服务器通信的问题:

关于第4点: 我对"服务器推"技术不是很了解.不知道稳定性如何.
如果不支持推技术, web客户端就需要: 状态值只能不停的去请求查询.

我感觉看起来挺简单,实现起来其实挺复杂的。

不知道大家有什么好的解决方案呢?
...全文
310 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyy515 2012-09-04
  • 打赏
  • 举报
回复
你用网路串口服务器就解决了
WvW 2010-10-19
  • 打赏
  • 举报
回复
没有人感兴趣讨论一下?
WvW 2010-10-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 m_tornado 的回复:]
广告贴?
[/Quote]

晕,你哪里看到有广告了?

我后面想到服务器推技术,于是google一下,就看到一个比较好的文章,介绍了2中推模型。贴出个网址就变广告贴了?
m_tornado 2010-10-17
  • 打赏
  • 举报
回复
广告贴?
WvW 2010-10-17
  • 打赏
  • 举报
回复
关于 推技术,刚刚查了资料.

ajax 通信模型: web客户端不用activex, 实现跨平台. 用异步通信, 设置一个超时时间, 向服务器发送状态获取请求, 服务器收到后,如果有变化,就通知回来.

从这里学到了不少 关于 服务器推的技术.
http://www.ibm.com/developerworks/cn/web/wa-lo-comet/

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧