主要思路
1. 数据的分析整理主要放在客户端实现,以减少服务端的压力;
2. 服务端主要以组装和转存实现为主。
服务端:
1. 处理步骤
(1)Socket监听端口
(2)接收数据
(3)处理数据
2. 主要问题
(1)多线程
每个数据传输启动一个线程,做好线程管理;
要考虑稳定性,避免内存泄露。
(2)大数据量数据库更新
通过块提交提高数据库转存性能,缩短转存时间;
考虑如何避免库锁。
客户端:
1. 设备数据传输
(1)设备数据文件内容变化判断
设备数据的分析处理很费时间,每次传输数据时都要对设备数据文件进行分析压力很大。考虑到设备数据变化的概率很小,但有的厂家不管设备数据变没变,都要生成新的设备数据文件,所以要开发一个文件变化快速比较功能;
方法有:一是特征码比较;二是转换成ASCII比较;三是转换成二进制或十六进制比较;四是转换成MD5码比较。
2. 实时数据传输
(1)字典表
客户端取得字典表,进行数据分析。
(2)数据比较
通过数据库临时表,比较得出新增和修改的数据。
3. 数据传输过程中,数据丢失验证
下一步计划:
1. 数采开发周期一个半月;
2. 进行设计评审;
3. 数采客户端DotNet实现,xxx负责;
4. 数采服务端Java实现,xxx负责。