首页 > 代码库 > 一个简单实际的Windows服务:实现本地数据上传到服务器

一个简单实际的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文件中去并保存到日文件中去。当网络重新连接上后,将发送本地文件中的数据到远程服务器。

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