[这是我最近为一个项目中的子项目写的方案书,尽管项目最后无疾而终,但是我觉得这个项目方案还是有一定参考价值的。所以拿出来放到BLOG上,给大家提供一个参考]项目概述
本项目是为XXX移动项目拟订的公共信息同步方案,用于同步各种相关的配置信息,如单位名称、xx种类、产品种类等信息。这些信息需要及时保证与中心数据库保持一致。这些信息的特点是:
1)数据量大,主要是单位信息;
2)不经常发生变更;
3)即使发生变更,变更数据量小。
项目对数据的要求主要为:
1) 使设备端的数据库中的配置信息与中心数据库尽量保持一致;
2) 当Windows Mobile设备通过GPRS连接网络时,自动更新配置信息;
3) 同步过程中,只更新与中心数据库不同的数据;
4) 项目的设备数量较多,需要保证并发访问的效率。
基于以上的要求,我们选择了以下的技术架构来完成项目要求:
技术架构
根据技术项目的具体要求,我们认为采用SQL Sever Mobile Edition(简称SQL Mobile)中的Merge Replication作为数据同步方式,是一个兼顾效率与成本的选择。
选择Merge Replication的理由如下:
1) 作为微软官方提供的移动设备数据同步方式,SQL Sever、SQL Mobile和.NET Compact Framework中都提供了较好的支持;
2) Merge Replication适应间断式网络,在失去网络连接时会正常工作,当网络再次连接时会自动访问服务器,检查服务器数据库中的记录更新;
3) 每次更新只会将数据库中的修改进行交换,而不会交换未变换文件;
4) 有较好的容错机制,当同步过程中网络中断或发生其他错误,系统会自动记录失败,当下次网络连接时,会再次尝试进行同步;
5) 数据同步可以自动进行,不需要认为控制,当每次网络连接时,或者一定时间间隔之后,会自动进行数据同步,我们也可以手工进行数据同步。
基于以上理由,我们选择Merge Replication作为公共数据的同步方式。数据同步的实现架构如下:
1) 数据库:可选择SQL Sever 2000或SQL Sever 2005(推荐使用SQL Server 2005)
2) Web服务器:运行于Internet中的网络服务器,安装IIS 5.0或以上版本;需要安装SQL Mobile 2005 Sever Tools。Web服务器能够访问数据库服务器,两者可以运行于一台服务器中。Web服务器需要申请域名,也可以通过IP地址访问,但后期维护成本加大
3) Windows Mobile设备:Pocket PC 2003或Windows Mobile 5.0设备,需要可以通过GPRS访问Web服务器,因为使用HTTP协议,所以可以穿越防火墙;需要安装SQL Mobile数据库,包括数据库引擎、SQL Mobile Client Agent。
系统架构如下图:
我们面临的主要技术困难:
1) 初始化数据量大
尽管需要同步的数据量较小,但是初始化时数据量很大,会超过10M数据。通过GPRS进行初始化,下载大量数据显然是不合适的;
2) 并发访问量大
一期项目设备超过一万台,与一般Web网站的并发访问不同,我们必须假设存在大量设备同时进行同步的可能,所以我们至少应该保证1000台设备能够同时数据同步成功(并非并发访问数达到1000)
3) 数据安全性
因为所涉及的是公共数据,安全要求相对较低,为了数据同步的效率,可以采用非加密的HTTP连接,比HTTPS连接的效率高40%左右
4) 数据完整性
我们必须保证数据完整性,所以我们要在程序中进行一定控制。
我们对这些问题的一些应对构想:
1) 对于初始化数据:我们可以考虑在PC平台上首先进行数据库的初始化,然后将初始化好的数据库加入到发布工程里去。由于Merge Replication在同步过程中创建了一些自定义信息,手工创建的SQL Mobile数据库不能被Merge Replication支持。所以我们只能在PC上编写一个支持Merge Replication的应用程序。这是目前的一个难点。
2) 对于并发访问的问题:我们可以通过测试软件来查看服务器是否有数据瓶颈存在。编写一个运行于Windows Mobile或PC上的测试程序,同时使用多个线程并发数据同步,模拟大量用户访问。
3) 最好将配置信息独立保存在一个单独的数据库文件中,方便在同步失败的情况下不影响其他程序运行。其他程序在初始化时将配置信息读入内存,不保持与配置信息数据库的连接。
4) 测试在网络重新连接的情况下,Merge Replication是否会自动启动。如果不能自动启动,还需要考虑使用同步程序检测网络情况的实现,以及系统启动时,同步程序是否能够自动启动的问题。
针对这些问题及构思,我们提供的解决方案将包括以下软件及文档:
软件描述
1.软件部分
1)数据初始化程序
主要功能:
1)将提供的文本文件数据插入到SQL Sever数据库中,格式见定长单表记录格式说明.doc的说明;文本文件格式以2006年x月x日提供的“客户端本地存储数据”格式为准;
2)创建SQL Mobile数据库文件,并将导入到SQL Sever数据库中的数据及表结构同步到该数据库文件(.sdf文件)中
运行环境:PC机,可以连接SQL Sever数据库,提供原始数据的文本文件,需要.NET Framework 2.0支持
2)设备数据同步程序
主要功能:
1)管理Windows Mobile设备上的数据同步
2)设置数据同步的配置
3)记录并管理数据同步的日志
运行环境:Windows Mobile设备,安装SQL Mobile数据库,需要.NET Compact Framework 2.0支持,可以通过GPRS连接WEB服务器
3)并发访问测试程序
主要功能:
1)测试Web服务器在大量并发连接的情况下是否正常工作;
2)提供1-1000个线程同时进行数据同步;
3)可以同时在多台PC及设备上运行
运行环境:PC或Windows Mobile设备,安装SQL Mobile数据库,需要.NET Compact Framework 2.0支持,可以通过HTTP连接WEB服务器
4)源代码
上述程序的源代码
5)SQL Sever表结构
提供构建SQL Sever表的查询语句文件
2.文档部分
1)软件使用文档
介绍上述软件如何使用的说明文档
2)SQL Sever配置说明文档
其中包括SQL Sever配置Merge Replication的说明,和如何在IIS中配置SQL Mobile Sever Tools的说明
3.其他部分
培训
提供一场针对开发人员及网络管理员的技术培训,时间1.5小时。主要内容包括:SQL Mobile数据同步的基本原理,Merge Replication的概念,SQL Sever配置,SQL Mobile Sever Tools配置,Windows Mobile数据同步程序开发等。
技术支持
提供与Merge Replication相关的技术支持,直至数据同步项目能够正常运行为止。
4.提供协助
为了项目的正常进行,需要协助的内容包括:
1) 提供数据库服务器,SQL Sever 2000或SQL Sever 2005
2) 提供Web服务器,运行IIS 5.0或以上版本,和SQL Mobile Sever Tools。最好有固定域名。Web服务器可以与SQL Sever运行于一台服务器中
3) 提供可以运行初始化程序的PC机,安装有.NET Framework 2.0,可以连接SQL Sever服务器。
4) 提供必要的测试,如果测试出的问题与具体设备相关,需要提供测试样机及必要的软件、网络连接支持等。
项目交付
项目周期为三周:
第一阶段:
成果:交付1)数据初始化程序;2)SQL Sever配置说明文档;3)SQL Sever表结构
目标:可以配置SQL Sever及Web服务器的实验环境;可以使用数据初始化程序来创建SQL Mobile数据库文件(sdf文件)
时间:一周
第二阶段:
成果:交付1)设备数据同步程序
要求:搭建完成SQL Sever及Web服务器的实验环境(最好是运行于公网上的服务器)
目标:测试设备数据同步程序在Windows Mobile设备上运行,并修改BUG
时间:一周
第三阶段:
成果:交付1)并发访问测试程序;2)软件使用文档;3)培训;4)技术支持
要求:完成对设备数据同步程序的测试,搭建完成SQL Sever及Web服务器的公网实验环境
目标:1)在实际的网络情况下,使用PC和Windows Mobile设备对Web服务器和SQL Sever服务器在大量并发数据访问情况进行效果评估,以确定整个数据同步系统是否可以适应实际要求。
2)完成对技术人员的培训
时间:一周
注:要求是甲方需要提供的协助,如果在规定时间无法达到要求,则项目时间顺延。
项目报价
软件、文档开发费用 xxx
培训、技术支持费用 xxx
总计 ¥ xxx
注:确认项目方案,签订合同后,甲方付合同款30%
软件确认完成后,甲方付清剩余合同款70%,乙方提供项目所有的源代码及开发文档
分享到:
相关推荐
windows mobile 同步程序,本程序为windows xp 专用!
本文主要介绍以下几个内容: 为什么需要数据同步 远程数据访问(Remote Data Access) 合并复制(Merge Replication) 同步服务(Sync Service) 如何选择数据同步技术 其他数据同步技术
Windows Mobile手机全屏解决方案.C#.
windows系统手机同步软件4.5版,多普达手机用户必装软件
Windows Mobile 移动开发指南 项目实例 各个控件 学习
该包主要是Funambol实现 windows mobile 客户端数据同步的源码,希望能够对广大有志于尝试移动数据同步的朋友们有帮助!
众所周知,在windows7操作系统中已经不需要安装active sync 手机同步软件,那么我想在win7系统中手机同步pc机信息,该如何操作呢?清您下载windows mobile center for windows7(vista也是如此)软件,然后将手机与电脑连接...
Windows CE,windows mobile PC同步显示软件 屏幕操作录制 截屏,好用稳定
windows Mobile 与PC之间数据的导入导出 PC机可以直接向已连接的移动终端设备导入导出数据到指定文件夹
WindowsMobile5 源码WindowsMobile5 源码WindowsMobile5 源码WindowsMobile5 源码
如何搭建windows mobile应用开发的环境
WIN10同步补丁,解决WIN10使用windows mobile 设备中心无法同步WIN CE和windows mobile 安装后重启电脑及可,不需要修改系统服务可直接使用WMDC同步
Windows Mobile开发实验,wince操作系统定制。
Windows Mobile 经典源码 学习Windows Mobile 的不二选择
Windows Mobile开发Windows Mobile开发Windows Mobile开发Windows Mobile开发
Windows Mobile for HP iPAQ 114
windows mobile 平台下的My mobile软件。
Windows Mobile的设备同步软件,pda开发可用
windows mobile注册表修改详解方案集合
Windows Mobile 设备中心与高效的商务数据同步平台紧密结合,提供了令人耳目一新的用户体验。Windows Mobile 设备中心可以帮助您快速建立新的合作关系,同步重要的商务信息(例如电子邮件、联系人和日历约会),轻松...