持续连接的C\S,B\S系统存在固有的缺陷,偶尔连接系统(OCA)在试图解决这些问题的同时又引入了新的问题。开发offline系统存在很多挑战,这些挑战都是 Microsoft Sync Framework  要面对的,并且应该为应用开发者提供合理的解决方案。

MSF is a comprehensive synchronization platform that enables developers to add synchronization capabilities to applications, services and devices. MSF solves the fundamental problem of how to synchronize any type of data in any store using any protocol over any topology. Fundamental to MSF is the ability to support offline and collaboration of data between any types of endpoints (e.g. device to desktop, device to server, etc.).

持续连接系统的不足:

  • 要求实时联网,这种要求有时是没有必要的;
  • 数据访问速度受网络和服务器压力的影响;
  • 单点依赖(Single Point of Failure),如果应用服务器或者数据库出现问题,则所有客户端都将无法操作;
  • 服务器扩展性,基本上只能通过增加硬件投入来解决高负载下的性能问题;

偶尔连接应用 OCA(Occasionally Connected Application )的优势:

  • 本地数据缓存,提供离线(offline)支持;
  • 合理利用客户机的处理能力,提升系统响应速度;
  • 减小服务器端应用服务器和数据服务器的压力;

构建偶尔连接系统(Occasionally Connected System)的挑战:

跟踪对数据的更改(change tracking),用什么样的方式记录下更改的数据; 维护更改的数据(Maintaining Change Data),改变跟踪数据会迅速增长; 冲突检测与解决(Conflict Detection and Resolution),如何检测冲突,如何定义冲突解决策略; 数据交换优先级(Prioritizing Data Exchange),优先交换那些重要的具有决定性意义的数据以改善系统性能; 后台同步(Background Synchronization),最好采用异步方式同步,而不会因为数据同步过多的影响用户的操作; 多种同步拓扑(Multiple Synchronization Topologies),可以是中心发射型,可以是端对端的P2P,也可以是简单的C\S。 自定义的客户端和服务器数据库(Custom Client and Server Databases),即允许使用微软提供的Provider进行同步,也可以通过自定义Provider来同步web services, file systems 和 custom data stores。 安全(Security),数据库加密(Database encryption),数据库认证(Database authentication),数据加密同步(Encryption of data synchronization),内部认证(Internal authentication)。

这些都是令人头疼的“数据同步”问题。“数据同步”问题是必须解决的问题,也是必须开发的功能。然而,数据同步并不是用户需求。微软曾推出两种数据方案:远程数据访问(RDA), 合并复制(Merge replication),这两种方案主要用于以数据库作为数据源的数据同步,并且不是特别灵活,不能解决很多遗留系统问题。

在缺少统一的开发框架的情况下出现了如下问题:

  • 重复发明轮子,人们创建了无数的专用的数据同步解决方案(single-purpose solutions);
  • 核心的复杂的问题在所有专用解决方案中重复出现,并且不容易解决(falling into the same pitfalls explored by others);
  • 这些专用解决方案往往是为了解决具体问题而不具有通用性(relied too heavily on specific topologies, data types, stores or business logic);

为此,微软推出了 Microsoft Sync Framework (MSF),MSF 作为新一代的统一同步框架,试图来解决或者简化以上问题。

MSF 同步框架想要达到的目标:

  • 强大:解决同步系统中的核心问题和困难问题;
  • 灵活:数据无关,协议无关,设备无关,并且可以在原有系统中使用;
  • 简单:通过简单的组合使用在任何架构的同步系统中;

后面文章中我们会根据具体的场景、概念、设计原理对上面提到的进行详细介绍。

参考:

Introduction to the Microsoft Sync Framework Runtime

Introduction to Occasionally Connected Applications using Sync

Introducing Microsoft Sync Framework- Sync Services for File Systems

FLYabroad 标签: Microsoft Sync Framework, 微软同步框, Sync Service, 同步服务, OCA, Occasionally Connected System

转载于:https://www.cnblogs.com/flyabroad/archive/2008/05/17/1201407.html

Microsoft Sync Framework 系列(三):微软同步框架出现背景及要解决的问题相关推荐

  1. 微软同步框架入门开篇(附SnapShot快照Demo)

    在Teched2008上听了一节关于MSF(Microsoft Sync Framework 微软同步框架),这一框架允许 开发者创建离线式的应用.设备和服务,可以与任何应用的任意类型数据进行集成. ...

  2. 微软同步框架入门之五--使用WCF同步远程数据

    在之前介绍的两个DEMO中,链接远程服务器所使用的方式都是通过数据库链接串.虽然可以简单的实现所期望的数据同步功能,但这样做有两个问题: 1.不适合进行分布式布署.          2.安全方面存在 ...

  3. 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量...

    当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产 品可供参考,同时很多团队也会选择自主开发实现,而不管是 ...

  4. Microsoft Sync Framework 2.1 软件开发包 (SDK)

    Sync Framework 2.1 引入了新功能,这些功能支持您计算机上的 SQL Server 或 SQL Server Compact 数据库与 SQL Azure 数据库进行同步.此发行版还引 ...

  5. ASP.NET企业开发框架IsLine FrameWork系列之十五--框架配置信息大全(下)

    ASP.NET企业开发框架IsLine FrameWork系列之十五--框架配置信息大全(下) 接上文   三.IsLine.ExceptionProcess 部分 这部分主要管理异常,对异常的管理分 ...

  6. ASP.NET企业开发框架IsLine FrameWork系列之七--AppLogProvider日志框架(上)

    ASP.NET企业开发框架IsLine FrameWork系列之七--AppLogProvider日志框架(上) 日志与异常 部署系统以后,管理员需要有一套强大的日志系统来诊断和修复配置上的问题,这就 ...

  7. Introducing Microsoft Sync Framework: Sync Services for File Systems

    https://msdn.microsoft.com/en-us/sync/bb887623 Introduction to Microsoft Sync Framework File Synchro ...

  8. 微软同步框架入门之四--冲突(Conflict)检测和处理

    检测和处理微软同步框架(MSF)入门之四--冲突(Conflict)检测和处理     在几篇文章当中,我介绍了 SnapShot(快照方式)和"只同步新更改和增量更改"这两种同步 ...

  9. ASP.NET企业开发框架IsLine FrameWork系列之十四--框架配置信息大全(中)

    ASP.NET企业开发框架IsLine FrameWork系列之十四--框架配置信息大全(中) 接上文 上文中讲到配置日志模块的第二步,这篇文章继续给大家介绍日志配置方法. Step 3.在</ ...

最新文章

  1. SELECT INTO 和 replace into SELECT 两种表复制语句
  2. 【OkHttp】OkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 )
  3. 计算机设计策略,专家经验谈:Excel工作表的设计策略
  4. 【Maven实战】之生成项目站点
  5. 不共线三点确定特征平面并求解平面系数
  6. Java ObjectStreamField toString()方法与示例
  7. 三相阻容降压供电DCDC电源
  8. 六大举措深耕光通信市场
  9. Gitlab+Git实现版本控制系统
  10. 聚焦基因组学研究,JMP参加第七届国际统计遗传学与基因组学高峰论坛
  11. EDA 电子设计自动化VHDL系列课程8 – 脉冲信号发生器
  12. CMPP错误码(zzzz)
  13. 2020金三银四——在家也能躺拿大厂offer
  14. 如何设置计算机桌面待办事项,Windows电脑桌面云便签怎么设置每天提醒待办事项?...
  15. 利用R语言对RNA-Seq进行探索分析与差异表达分析
  16. 六西格玛dfss_六西格玛设计DFSS概述
  17. php class中public,private,protected的区别以及实例分析
  18. 数据结构 斐波那契查找法(C语言)
  19. Dream-hacking 造梦工程与脑波艺术
  20. java 获取ftp 文件路径_java在浏览器上获取FTP读文件路径

热门文章

  1. linux diff命令_Linux diff命令示例
  2. C++构造函数之委托构造函数
  3. js 读取php页面内容,js读取html文件 js获取html页面显示内容
  4. 概率论-1.5 独立性(重点:所谓独立仅是概率层面(数字层面))
  5. x265-bitstream.cpp
  6. 【模板】 最小生成树
  7. 【题解】luogu p1032 字串变换
  8. 1059. Prime Factors (25)
  9. Struts2StudentsInfoManage学生管理系统struts2版
  10. SDWebImage 加载Https自签名证书时的图片问题