长期从第三方获取数据及回写(两个局域网之间)
因为项目业务需要,需要设计一套从第三方获取数据并回写的程序模型;
经过一段一段时间的查阅相关前辈博文及论坛相关文章,确定了一套模型,考虑到这套模型具有普遍适用性,所以记录下来;
实际场景是:需要在互联网与一个局域网之间进行数据交互;
方案如下:
1.数据是以文件的形式,通过网闸进行数据传输,可采用ftp进行文件上传下载;
2.有4个模型节点:
模型节点1:get互联网端的数据,通过网闸写入局域网;
模型节点2:局域网内,consum掉节点1产生并传输到局域网的数据;
模型节点3:get局域网内产生的数据,通过网闸写入外网;
模型节点4:互联网中,consum掉节点3产生并传输到互联网的数据;
核心点:
1.get数据;经过考量,决定以数据修改的changeTime为节点,每次获取上一次changeTime节点后的数据,并更新changeTime;
2.文件大小;需要根据实际情况,限制每次查产生的数据文件的大小,避免内存溢出的情况发生,可在get数据时,简单的通过“limit记录数”来进行限制,也可以通过每次产生多个数据文件来解决这个问题;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ps:由于网络波动及其它意外情况随时可能发生,所以需要完善的“日志系统”及“应对数据文件异常或丢失情况的预处理方案”;