一个简单实际的Windows服务:实现本地数据上传到服务器

功能:实现本地数据上传到远程服务器


操作实现:

1、发送本地ID到远程服务器进行身份验证,验证成功则可Get到本地需要发送的数据的ID,例如:

本地发送身份ID:key123,验证成功,则远程服务器匹配到该ID所包含的数据条目,例如传回7个ExdID。

2、收到7个ExdID后,本地需要传输数据库中许多数据中的这7个ExdID所对应的数据到远程服务器,远程服务器将收到的数据保存、更新到远程数据库中。


注意问题:

1、为保证带宽负载轻松,不能频繁往远程服务器传输数据。

2、考虑到断网情况,断网之间的数据不能丢失,需要完整且一个不漏的传输到远程服务器。

3、不要传输本地未更新的数据到远程服务器,本地数据中有一个更新时间字段。

4、只能查询数据库中的记录,不能进行其他任何操作。


解决方法:

1、设置定时器,例如每5s进行一次连接。

2、将第一次发送的数据写入一个txt文件,包含内容有ExdID, 更新时间。

3、每次从数据库中获取到数据后,将其与txt文件中的数据进行比对,若相同ExdID的数据的更新时间也相同,则此数据删除,剩下的数据更新到txt文件中去并传输到远程服务器。

4、断网后,将数据库中所有的记录都保存到本地文件,第一次取出的数据额外新建一个txt文件。每次取出的数据在保存时应该建立一棵树,格式为先以年建文件夹,年文件夹里建立月文件夹,月文件夹里建立该月每日的文件为一个文件,用于存储从数据库中取出但是未发送到远程服务器中的数据,且为了减少文件保存的数据大小,每次保存前与txt文件中的数据进行比对,若相同ExdID的数据的更新时间也相同,则此数据删除,剩下的数据更新到txt文件中去并保存到日文件中去。当网络重新连接上后,将发送本地文件中的数据到远程服务器。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值