【发布时间】:2011-10-22 08:18:04
【问题描述】:
目前我们有一个主 mysql 服务器,每 1 小时通过 3G 连接连接到 100 台远程移动设备 [车辆] [不太可靠:在少数汽车同步过程中每天断开连接]。通过 .net Windows 服务工具完成同步。检查远程 mysql 状态后,master 开始执行同步。有时同步负载数据约为 6-8 MB。仅使用非事务方法对一个表执行同步。
使用的mysql服务器版本为:4.1.22
问题:
知道只有一个表同步,使同步事务性有用吗?或者没有增值!
-
使用mysql语句将同步数据加载到远程机器:
加载数据本地文件
文件格式为 CSV。我如何以压缩格式发送数据?无需开发驻留在远程设备上的工具。
在同步域中部署远程应用程序在发送数据后执行同步是好的做法或架构,还是应该由主控直接完成?我的意思是,如果出现新的需求,将难以更新或修复将驻留在远程机器上的工具。但它会为同步操作节省大量带宽,并且它会消除在同步进行时发生断开连接的情况下实时主同步可能引发的错误。因此,如果建议这样做,那么只会发送压缩数据,然后通过使用某种校验和,我将验证是否发送了整个数据,否则将再次启动请求。
请分享您的想法和经验。
谢谢,
【问题讨论】:
-
正在使用什么样的设备?
-
设备是具有工业规格和 MS-Win-XP-Pro 作为操作系统的笔记本电脑。
-
您的问题不清楚。每个客户端是直接与 mysql 服务器对话,还是每个客户端都使用一种 RESTful 连接到与 mysql 对话的后端服务器(可以是任何东西,php 页面,自定义 python,c++ 服务器)。你到底想完成什么?您是否主要担心发生的错误(数据未正确通过?)。通过后端 RESTful 服务器将消除您的大部分问题,因为您将能够在数据输入数据库之前检查数据是否正确......
-
另外,看起来服务器正在启动同步,而不是客户端,我会将其更改为客户端启动,仅由服务器处理数据......这是一种更加向前和可扩展的方法。
-
这只是事情的完成方式...查看几乎所有必须“同步”数据的单一类型的服务器...提供 RSS 提要的网站不会自动将其发送到人,客户端软件出去并ping它以同步客户端软件。 Dropbox 是客户端启动的同步服务的完美示例。服务器初始化是老一套的想法,而不是事情的完成方式。
标签: mysql database synchronization 3g