《移动数据管理》PPT课件.ppt_第1页
《移动数据管理》PPT课件.ppt_第2页
《移动数据管理》PPT课件.ppt_第3页
《移动数据管理》PPT课件.ppt_第4页
《移动数据管理》PPT课件.ppt_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Mobility Metro,行程1: 关于Windows Mobile,工具: 数据持久化,工具: 数据同步,介绍,结论,Agenda,数据存储战略和移动应用程序,现存系统 网络服务 数据库 遗留性 其他,移动网关 可寻址 网络服务 数据分段传输 管理策略,移动客户端 界面经典的两点捆绑连接设计 没有对典型的动态数据同步的模型,CLR / .NET Compact Framework,Client Agent: Replication And RDA,OLEDB / Replication API,IIS,CLIENT,SERVER,Storage Engine / Replication

2、Tracking,Server Agent: Replication and RDA,HTTP,802.11b/a/g, CDPD, GSM, GPRS, CDMA, TDMA, etc,Data Provider,ADO.NET,Visual Studio 2005 (Visual Basic 2005 SqlCeConnection conn = null; if (!File.Exists(DB_NAME) SqlCeEngine engine = new SqlCeEngine(connStr); engine.CreateDatabase(); conn = new SqlCeCon

3、nection(connStr); conn.Open(); SqlCeCommand cmd = conn.CreateCommand(); cmd.CommandText = CREATE TABLE Region+ (RegionID INT, Description NVARCHAR(100); cmd.ExecuteNonQuery(); conn.Close(); conn = new SqlCeConnection(connStr); conn.Open(,SqlCeCommand cmd = conn.CreateCommand(); cmd.CommandText = INS

4、ERT INTO Region (RegionID,+ Description) VALUES (id, desc); SqlCeParameter param; param = new SqlCeParameter(id, SqlDbType.Int); cmd.Parameters.Add(param); param = new SqlCeParameter(desc, SqlDbType.NVarChar, 100); cmd.Parameters.Add(param); cmd.Prepare(); foreach (Region region in Regions) cmd.Para

5、meters.Clear(); cmd.Parametersid“ = region.id; cmd.Parametersdesc = ; cmd.ExecuteNonQuery();,升级数据库,SqlCeResultSet,Scrollable, updatable, bindable DataReader 非内存缓冲 Like properties w/backing database fields ISAM-Like access with TableDirect 防止SQL Front End 使用它发挥最大性能 批量插入数据最快,绑定ResultSet,Sql

6、CeCommand cmd = conn.CreateCommand(); cmd.CommandText = SELECT RegionID, Description+ FROM Region; this.RegionBindingSource.DataSource = cmd.ExecuteResultSet( ResultSetOptions.Scrollable | ResultSetOptions.Updatable,查询表格,SqlCeCommand cmd = conn.CreateCommand(); object begIx = 3999 ; object endIx = 5

7、000 ; cmd.CommandType = CommandType.TableDirect; cmd.CommandText = TestTable; / You need to know the index name! cmd.IndexName = PK_TestTable_000000000000000A; cmd.SetRange( DbRangeOptions.ExclusiveStart | DbRangeOptions.ExclusiveEnd, begIx, endIx); SqlCeDataReader dr = cmd.ExecuteReader(); while (r

8、d.Read() / Iterate through the data,架构问题,加密,为数据库使用强密码 ,为设备使用密码 创建数据层用来取代存储过程. 使用 SqlCeDataReaders 限制数据返回填充GUI元素 参数化, 预先性访问,数据设计问题,分析在SQL Server Mgmt. Studio的查询 非正常化来防止数据融合 索引列使用 WHERE, ORDER BY, JOIN 使用 NCHAR, 而不是 VARCHAR 不要使用 DataAdapter/DataSet 使用 SqlCeResultSet: 快速, 可绑定, 可回滚, 可更新的游标,性能问题,只选择必要项 尝

9、试依附打开的连接 关闭,处理你的集合和访问器 使用典型的访问器 访问列使用索引,而不是名字,数据复制,数据库,网络服务器,网络服务器,网络服务器,网络服务器,融合复制,融合复制架构,融合复制配置,远程数据访问特性,以客户为中心 数据存取模型 基于代码 完整的表格下载 创建表,索引 磁道自动改变 非指示完备性 非冲突决议(应用必须是确定的,远程数据访问架构,SQL Server 数据库,远程数据访问参数化,string localConnection = Data Source = My Documentsdb.sdf;string rdaURL = http:/data_server/viru

10、alDir/sqlcesa30.dll; string rdaOleDbConnection = Provider = SQLOLEDB.1; Data Source = localhost; Persist Security Info = True; User ID = MOBILE_USR; Password = PASSWORD; Initial Catalog = DATABASE,远程数据访问,本地连接,rdaOleDbConnection,SQL 移动设备,IIS URL,rdaURL,SQL Server,远程数据访问取,using (SqlCeRemoteDataAccess

11、rda = new SqlCeRemoteDataAccess(rdaURL, localConnection) rda.Pull( Customers, SELECT * FROM Customers, rdaOleDbConnectString);,远程数据访问存,using (SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess(rdaURL, localConnection) rda.Push( Customers, rdaOleDbConnectionString, RdaBatchOption.BatchingOn,SQL Se

12、rver 2005 精简版这是什么,下一个SQL Mobile版本. 任何时间,地方,在任何设备上 Smartphone, PocketPC, Tablet, Laptop, Desktop 如移动设备上一样准确的使用相同的管理API 在桌面上没有任何限制 自由部署,重新发布,SQL Server 2005 精简版特性,运行效率的提高 |DataDirectory| macro for dynamic location of data files .Northwind.sdf becomes |DataDirectory|Northwind.sdf VS 设计器改进 中心安装只需在向导中点一次

13、 当然, SQL Mobile 特性,SQL Server 2005 精简版为什么它很重要,在服务器上编程式产生你的数据库,部署于客户 在服务器上读客户的数据库 复制以减少文件同步 在桌面测试你的Mobile代码 对TDD 方法论更有用 比使用模拟器/设备更快速的测试切换,所有Visual Studio and SQL Express SKUs 现在能使SQL Server Compact 3.5成为一个”本地数据库” 添加关系对话框,Local Database SQL Server Compact 3.5,Service-based DatabaseSQL Server Express 2

14、005,Local Database Cache Sync Services for ADO.NET ds.ReadXmlSchema(Program FilesFeedbackAnyplacefeedback.xsd); ds.ReadXml(Program FilesFeedbackAnyplacefeedback.xml); / Set search criteria string expr = ID = + oldID + ; / Find matched rows DataRow matches = ds.TablesFeedback.Select(expr); / Remove f

15、irst row ds.TablesFeedback.Rows.Remove(matches0); / Add new row to table DataRow dr = ds.TablesFeedback.NewRow(); / Set row properties drID = newID; / Add row to dataset, if new item ds.TablesFeedback.Rows.Add(dr); / Save data ds.AcceptChanges(); ds.WriteXml(Program FilesFeedbackAnyplacefeedback.xml

16、);,文件系统,优化数据管理 CSV, Tab 无限制, 固定列. 当你看到合适时,读写文件 如果是桌面系统,使用 System.IO 正面 更紧凑,比XML更快的解析 反面 没有盒外同步解决方案,EDB,正面 使用基本的 SQL 移动存储技术 与CEDB语意兼容 反面 低级, 基于指针, ISAM-之类 比SQL Mobile没有好到那里, 实际上 SQL Mobile 也有低级的ISAM 访问 用它来移植遗留的 CEDB 代码,开发方便,ADO.NET DataAdapters 通过低层数据格式给你数据集. 同样的代码运行在不同的格式下 你可以根据需要增加大小,MSMQ in .NET C

17、F,非 P2P 消息队列! Fire-and-forget 确定发布 对活动连接没有必要 当非可靠性连接时也工作的很好 当连接有效时服务端发送消息 单向 如果你需要它就可以存在; 然而 非远程队列访问 非多消息交易 非 ACL 安全 非活动目录查找,Sockets/HTTP,CF 中TCP, HTTP 支持 使用 IIS 作为文件服务器 HTTP GET, POST 使用自定义/遗留 TCP/IP 服务器 实现自定义协议,标准,数据,部署大小 平台可用性 特征 性能 安全 数据集成 开发方便 数据移值方便 连接,资源,On SOA http:/ On MSMQ http:/ http:/,数据

18、同步,偶连接系统(OCS) 同步架构 灵活性和自定以介绍 使用分层架构 提供良好的默认实现 易于使每一层专用化 可以性 桌面支持发布同Visual Studio 代号为 “Orcas” 对当前Visual Studio “Orcas” CTP的预演 自桌面发布后移动设备也会支持,向前看,OCS 同步框架架构,Client Synch Provider,SyncAgent,Server Synch Provider,SyncCommands,SyncAdapter,Logic,Logic,Service,Service Proxy,SQL Server 2005,SQL Server Compa

19、ct Edition,Application Layer,Client Device,Server,Internet,在移动程序上的数据战略,数据的持久化,为什么这是个问题? 这是什么? 怎样处理,为什么持久化是个问题,自治化是定义移动平台的某个方面 与桌面应用程序的基本不同 Full connectivity is a best-case asset, never a given 连接是移动平台的关键 可用性和质量 (带宽, 延迟) 是远远不够的; 花费也是很高的 (GPRS, Wi-Fi infrastructure) 分离和自治必须设计到,偶连接计算,持久连接是在可能的w/mobile

20、无线连接下 设备无线电能够关闭或不使用以便增加电池寿命,减少携带者的消耗 无线广域网覆盖为点式,且环境不可靠 无线局域网“热点” 不提供足够的覆盖 智能客户端必须在在线和离线状态下都能用 传输必须对用户透明 如果网络有用,应用程序必须能知道 多数设备有不止一个的无线连接 WWAN (GPRS/EDGE, UMTS/HSDPA, 1X/EV-DO), 蓝牙, WLAN (Wi-Fi/802.11x), Internet “passthru” (when cradled), etc,移动数据周期,你的移动应用程序必须能够 运行正常 优先选择, 持久 (对象) 状态 在不同连接状态下有效 只读 (价

21、格列表, 分类) 移动设备之间的发布 代理指定数据(例行的, 将做的) 能在中央数据仓库和移动设备之间共享 收集项, 将要做的列表 被收集为统一的, 一致性视图 收集项,移动数据周期,传输,访问,存储,同步,如何做数据的持久化?一些选择,格式 SQL, XML, CVS, 自定义 存储 本地文件系统, SQL Mobile, EDB, 服务器端 访问 ADO.NET DataSets (w/DataAdapters), SQLClient, 网络服务, 消息队列, TCP/IP 传输 远程数据访问, 融合复制, WS, MSMQ 同步 融合复制, 或自定义,如何做数据的持久化? (续.,架构

22、(现存, 预期) 批量, 客户/服务器, SOA, Web 2.0 连接 可用性, QoS,花费 ,传输方向 一致性 分类 vs. 共享数据 冲突决策 vs. 仲裁 (通过商业规则) 数据量 (存储, 传输,交换数据,同步 双向 确保数据项在两边一致 冲突决策 传输 能够是双向的,但是 常被概念化为两个单向交流 对一致性不关心 对冲突决策不关心,策略,将服务器的参考数据拷到客户端 在服务器发布更新, 在客户端订阅 划分每个客户的数据 通过 面向服务 API发送用户交易数据 从服务器取得数据( 设置为只读), 登记更新,存储,Filesystem XML SQL Mobile,文件系统,优点 易于使用 对多数程序的默认持久化介质 缺点 原始, 未加工, 低级 除了基本的东西外还有许多要做 非真真的数据库格式,XML,优点 扩展工具和支持 广泛部署和理解 自描述格式 缺点 冗长, 较大, 解析成本大 当更新时重写整个文件 非真真的数据库格式,SQL Mobile,优点 一个真真功能完备的数据库 基于SQL, 可靠, 安全, 快速 被融合复制支持 缺点 SQL Server 对融合复

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论