最近需要写一个宾馆上网信息监控的系统,想与大家讨论一下怎么实现最合理。
结构上主要分为以下几部分
1、放在宾馆的客户端
   功能:数据采集(包括上网人员信息和TCP/IP包信息)、分析、数据上传、自动升级
   特点:由于需要把收集到的数据包与宾馆现有的管理系统中登记信息对应,而管理系 统未提供此接口,所以要根据提供的数据库表结构自己进行处理。
2、管理中心数据处理端。
   功能:对客户端的登陆验证,数据接收处理、客户端的升级、
3、管理中心管理端。
   功能:设置一些数据处理规则及查询功能。存在以下几个难点(主要都在客户端实现方面)
1、由于客户端的现有宾馆系统并不都是由一家做的,每一家的数据库结构都不一样。所以都要进行定制开发。
2、如何把采集到的数据包对应到登记人员(假定每个对应人员有一个分配的IP),要考虑到效率问题。
3、操作系统可能有windows或linux。需要尽量作到在不同平台下的只需要少量改动。
4、由于开发过程中需要多次调试或修改,所以要有自动升级功能,已使软件版本一致。针对以上几点,初步考虑如下方案。
1、TCP/IP包数据采集、TCP包的协议处理、与人员信息的对应处理封装成三个模块。
2、其中上面第三个模块可以通过初始化时动态传入的ID区分不同的宾馆系统,然后生成对应的派生类处理,这样,可以作到所有版本的一致性,
3、在linux和windows下都采用动态加载的方式,主进程只负责程序的升级和对应模块的加载,然后处理就抛给加载的功能模块。
4、语言方面打算直接用C++处理,对应的api调用自己进行封装,作到平台无关性。
以上是我的一点想法,希望大家能多提一些宝贵意见