最近需要写一个宾馆上网信息监控的系统,想与大家讨论一下怎么实现最合理。
结构上主要分为以下几部分
1、放在宾馆的客户端
功能:数据采集(包括上网人员信息和TCP/IP包信息)、分析、数据上传、自动升级
特点:由于需要把收集到的数据包与宾馆现有的管理系统中登记信息对应,而管理系 统未提供此接口,所以要根据提供的数据库表结构自己进行处理。
2、管理中心数据处理端。
功能:对客户端的登陆验证,数据接收处理、客户端的升级、
3、管理中心管理端。
功能:设置一些数据处理规则及查询功能。存在以下几个难点(主要都在客户端实现方面)
1、由于客户端的现有宾馆系统并不都是由一家做的,每一家的数据库结构都不一样。所以都要进行定制开发。
2、如何把采集到的数据包对应到登记人员(假定每个对应人员有一个分配的IP),要考虑到效率问题。
3、操作系统可能有windows或linux。需要尽量作到在不同平台下的只需要少量改动。
4、由于开发过程中需要多次调试或修改,所以要有自动升级功能,已使软件版本一致。针对以上几点,初步考虑如下方案。
1、TCP/IP包数据采集、TCP包的协议处理、与人员信息的对应处理封装成三个模块。
2、其中上面第三个模块可以通过初始化时动态传入的ID区分不同的宾馆系统,然后生成对应的派生类处理,这样,可以作到所有版本的一致性,
3、在linux和windows下都采用动态加载的方式,主进程只负责程序的升级和对应模块的加载,然后处理就抛给加载的功能模块。
4、语言方面打算直接用C++处理,对应的api调用自己进行封装,作到平台无关性。
以上是我的一点想法,希望大家能多提一些宝贵意见
结构上主要分为以下几部分
1、放在宾馆的客户端
功能:数据采集(包括上网人员信息和TCP/IP包信息)、分析、数据上传、自动升级
特点:由于需要把收集到的数据包与宾馆现有的管理系统中登记信息对应,而管理系 统未提供此接口,所以要根据提供的数据库表结构自己进行处理。
2、管理中心数据处理端。
功能:对客户端的登陆验证,数据接收处理、客户端的升级、
3、管理中心管理端。
功能:设置一些数据处理规则及查询功能。存在以下几个难点(主要都在客户端实现方面)
1、由于客户端的现有宾馆系统并不都是由一家做的,每一家的数据库结构都不一样。所以都要进行定制开发。
2、如何把采集到的数据包对应到登记人员(假定每个对应人员有一个分配的IP),要考虑到效率问题。
3、操作系统可能有windows或linux。需要尽量作到在不同平台下的只需要少量改动。
4、由于开发过程中需要多次调试或修改,所以要有自动升级功能,已使软件版本一致。针对以上几点,初步考虑如下方案。
1、TCP/IP包数据采集、TCP包的协议处理、与人员信息的对应处理封装成三个模块。
2、其中上面第三个模块可以通过初始化时动态传入的ID区分不同的宾馆系统,然后生成对应的派生类处理,这样,可以作到所有版本的一致性,
3、在linux和windows下都采用动态加载的方式,主进程只负责程序的升级和对应模块的加载,然后处理就抛给加载的功能模块。
4、语言方面打算直接用C++处理,对应的api调用自己进行封装,作到平台无关性。
以上是我的一点想法,希望大家能多提一些宝贵意见
解决方案 »
- hook(dll)中创建线程 引起崩溃
- CDhtmlDialog trayicon菜单无法消失的问题
- MicroSoft Web Brower 控件如何动态改变窗口大小?
- 我的客户端为什么可以用Send,但Receive就出错,血中跪求!
- 震惊"sina"竟然是"支那"的意思!!!!!
- 为何在win32 console程序中不能输出汉字?各位高手请帮忙出谋划策
- 数据库问题。
- 怪事,如何解决??(关于程序间通信)
- opengl中的glRotatef()问题(按小问题给分!)
- MFC向SD卡中存数据,在存数据的过程中人为的把卡拔掉,如何处理
- 100分求助!!!socket被阻塞,是否接受缓冲不够大?
- 如何加入一个dll动态链接库?紧急求助!
漫谈企业应用项目的软件开发过程:
http://www-900.ibm.com/developerWorks/cn/linux/software_engineering/l-proj/index.shtml2。 成功例子
从一个项目谈XP在国内的应用:
http://www-900.ibm.com/developerWorks/cn/java/l-xp/index.shtml
可不可以谈谈你的实现方法