西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁(yè) 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

Microsoft Sync Framework Runtime

1.0 SP1中文版
  • Microsoft Sync Framework Runtime1.0 SP1中文版
  • 軟件大小:12.0M
  • 更新時(shí)間:2016-01-30 09:25
  • 軟件語(yǔ)言:中文
  • 軟件廠商:
  • 軟件類別:國(guó)產(chǎn)軟件 / 免費(fèi)軟件 / 編程控件
  • 軟件等級(jí):6級(jí)
  • 應(yīng)用平臺(tái):WinAll, Win7
  • 官方網(wǎng)站:http://elephantinaurance.com
  • 應(yīng)用備案:
好評(píng):50%
壞評(píng):50%

本類精品

軟件介紹

Microsoft Sync Framework 通過(guò)預(yù)創(chuàng)建提供程序或編寫新的自定義提供程序,包含將應(yīng)用程序集成到離線或基于協(xié)作網(wǎng)絡(luò)所需的所有組件。無(wú)論采用的是哪種網(wǎng)絡(luò)或設(shè)備類型,提供程序均使任何數(shù)據(jù)源能夠參與數(shù)據(jù)同步。

Microsoft Sync Framework 是為應(yīng)用程序、服務(wù)和設(shè)備啟用協(xié)作和離線方案的綜合性同步平臺(tái)。它的特色在于提供了能夠漫游、共享和離線提取數(shù)據(jù)的技術(shù)和工具。通過(guò)使用 Microsoft Sync Framework,開發(fā)人員可以構(gòu)建同步生態(tài)系統(tǒng),該生態(tài)系統(tǒng)能夠?qū)⑷魏螒?yīng)用程序與任一網(wǎng)絡(luò)的任意數(shù)據(jù)集成,無(wú)論它們存儲(chǔ)在何處,使用何種協(xié)議。

Microsoft Sync Framework 最重要的功能是創(chuàng)建自定義同步提供程序。提供程序是代表同步副本的軟件組件。副本是將要進(jìn)行同步的特殊信息倉(cāng)庫(kù),例如手持設(shè)備的文件系統(tǒng)。當(dāng)代表數(shù)據(jù)源時(shí),提供程序枚舉其副本的變化。當(dāng)代表目的端時(shí),提供程序?qū)⒆兓瘧?yīng)用于副本。如果源端和目的端數(shù)據(jù)在類型或架構(gòu)方面存在差異,則每個(gè)提供程序都將執(zhí)行各種必需的映射或轉(zhuǎn)換。

Microsoft Sync Framework 包括大量支持常見數(shù)據(jù)源的提供程序。盡管您可以為這些數(shù)據(jù)源編寫自定義提供程序,但建議您盡可能地使用 Microsoft Sync Framework 提供的提供程序。因?yàn)檫@樣能夠?qū)㈤_發(fā)時(shí)間減到最少,并使您能夠重用經(jīng)過(guò)測(cè)試的現(xiàn)成代碼。

開發(fā)人員最終能夠使用所提供的所有提供程序,或創(chuàng)建自定義提供程序在設(shè)備和應(yīng)用程序之間交換信息。

包括下列提供程序:

ADO.NET 同步服務(wù):用于同步啟用 ADO.NET 的數(shù)據(jù)源

文件系統(tǒng)同步服務(wù):用于同步文件和文件夾

SSE 同步服務(wù):用于同步簡(jiǎn)單共享擴(kuò)展 (SSE),如 RSS 源和 ATOM 源

開發(fā)人員最終能夠使用所提供的所有提供程序,或創(chuàng)建自定義提供程序在設(shè)備和應(yīng)用程序之間交換信息。

Microsoft Synchronization Framework核心組件:

在使用 Microsoft Sync Framework 實(shí)現(xiàn)同步之前,我們需要首先了解同步提供程序的關(guān)鍵組件。將在本文檔后面的同步示例中進(jìn)一步說(shuō)明這些概念。

下圖顯示了提供程序如何與數(shù)據(jù)源進(jìn)行通信并從元數(shù)據(jù)存儲(chǔ)中檢索狀態(tài)信息。這些提供程序依次通過(guò)同步會(huì)話與其他提供程序進(jìn)行通信。

數(shù)據(jù)源

數(shù)據(jù)源是指存儲(chǔ)所有需要同步的信息的位置。數(shù)據(jù)源可以是關(guān)系數(shù)據(jù)庫(kù)、文件系統(tǒng)、Web 服務(wù),甚或一系列業(yè)務(wù)應(yīng)用程序中包含的自定義數(shù)據(jù)源。凡是能夠以編程方式訪問(wèn)的數(shù)據(jù)都可以參與同步。

元數(shù)據(jù)

提供程序的基本特征在于它能夠存儲(chǔ)有關(guān)數(shù)據(jù)存儲(chǔ)以及該數(shù)據(jù)存儲(chǔ)中與狀態(tài)和更改信息相關(guān)的對(duì)象的信息。元數(shù)據(jù)可以存儲(chǔ)在任意位置,無(wú)論它是文件、數(shù)據(jù)庫(kù)還是現(xiàn)有的副本數(shù)據(jù)存儲(chǔ)。為方便起見,Microsoft Sync Framework 提供一個(gè)以 SQL Server Compact Edition 為基礎(chǔ)的完整元數(shù)據(jù)存儲(chǔ)實(shí)現(xiàn)。該存儲(chǔ)并非必要,但使用它意味著您不必?fù)?dān)心如何存儲(chǔ)同步元數(shù)據(jù)。

用于數(shù)據(jù)存儲(chǔ)的元數(shù)據(jù)可以分為三個(gè)主要組件:

版本: 為每個(gè)同步項(xiàng)目存儲(chǔ)少量信息,稱為項(xiàng)目版本。該信息記錄了項(xiàng)目在何時(shí)何處發(fā)生變化,以及與該項(xiàng)目關(guān)聯(lián)的項(xiàng)目 ID。在數(shù)據(jù)庫(kù)示例中,一個(gè)項(xiàng)目可能是表中的整行。一個(gè)項(xiàng)目也可能是表中某行的一列。

當(dāng)項(xiàng)目發(fā)生更改時(shí),存儲(chǔ)的有關(guān)該更改的信息將包括創(chuàng)建版本 和更新版本。這些版本包含兩個(gè)組件:a 滴答計(jì)數(shù) 它是一個(gè)在整個(gè)源范圍內(nèi)使用以唯一標(biāo)識(shí)一個(gè)更改的邏輯時(shí)鐘,以及一個(gè)副本 ID 它用于唯一標(biāo)識(shí)發(fā)生更改的數(shù)據(jù)存儲(chǔ)。當(dāng)首次創(chuàng)建項(xiàng)目時(shí),創(chuàng)建版本與更新版本相同。對(duì)該項(xiàng)目的后續(xù)更新修改的只是更新版本。

必須至少在項(xiàng)目級(jí)別上跟蹤所有的更改。換句話說(shuō),每個(gè)項(xiàng)目必須具備獨(dú)立的版本。   在某些情況中需要更大力度的跟蹤以減少潛在的數(shù)據(jù)沖突(兩位用戶在不同的副本上更新相同的項(xiàng)目)。這種方法的弊端在于它增加了需要存儲(chǔ)的更改跟蹤信息量。

兩種主要的版本實(shí)現(xiàn)方式是:

內(nèi)聯(lián)跟蹤:在這種方法中,項(xiàng)目的更改跟蹤信息在做出更改時(shí)更新。以數(shù)據(jù)庫(kù)為例,可能會(huì)使用觸發(fā)器在更新行之后立即更新更改跟蹤表。

異步跟蹤:在這種方法中,將運(yùn)行外部進(jìn)程來(lái)掃描更改。發(fā)現(xiàn)的任何更新將添加到版本信息當(dāng)中。該進(jìn)程可能是定期執(zhí)行進(jìn)程的一部分,或者它可能在同步之前執(zhí)行。該進(jìn)程通常用于當(dāng)沒有內(nèi)部機(jī)制能夠在項(xiàng)目更新時(shí)自動(dòng)更新版本信息的情況中(例如,無(wú)法在更新流程中增加版本更新邏輯)。檢查更改的常用方式是存儲(chǔ)項(xiàng)目的狀態(tài),并將存儲(chǔ)的狀態(tài)與項(xiàng)目當(dāng)前狀態(tài)進(jìn)行比較。例如,可檢查從上次同步起,最后寫入時(shí)間或文件大小是否發(fā)生變化。

知識(shí): 知識(shí)是副本能夠感知的數(shù)據(jù)更改的簡(jiǎn)約表述。知識(shí)的目的在于使同步更加有效,因?yàn)樗兄谙拗圃诟北局g發(fā)送的信息量。當(dāng)版本信息更新時(shí),用于數(shù)據(jù)存儲(chǔ)的知識(shí)也隨之更新。提供程序使用副本知識(shí)的目的有:

枚舉更改:確定另一個(gè)副本沒有感知的更改。

檢測(cè)沖突:確定哪項(xiàng)操作是在不了解彼此知識(shí)的情況下做出的。

Tombstones: 每個(gè)副本還必須為每個(gè)刪除的項(xiàng)目維護(hù)tombstone 信息。如果不跟蹤刪除信息,提供程序?qū)o(wú)法告知某個(gè)項(xiàng)目(如文件)已被刪除。在這種情況下,提供程序無(wú)法將更改版本信息傳播至其他提供程序。Tombstone 必須包含以下信息:

因?yàn)?tombstone 日志中的信息將隨時(shí)間增加,所以有必要?jiǎng)?chuàng)建一個(gè)進(jìn)程定期清理該存儲(chǔ)。清理 tombstone 數(shù)據(jù)能夠節(jié)省空間并且有助于改善同步性能。Microsoft Sync Framework 支持管理 tombstone 信息。

全局 ID: 用于在所有副本中唯一確定 tombstone 項(xiàng)目的副本 ID 和滴答計(jì)數(shù)。

刪除版本: 與 tombstone 項(xiàng)目關(guān)聯(lián)的更新版本

創(chuàng)建版本: 最初創(chuàng)建項(xiàng)目時(shí)關(guān)聯(lián)的副本 ID 和滴答計(jì)數(shù)

同步流程:

發(fā)起同步的副本稱為源 而源所連接的副本稱為目標(biāo)。本文接下來(lái)的部分將介紹下圖所示的同步流程。對(duì)于雙向同步,將執(zhí)行此進(jìn)程兩次,第二次迭代時(shí)會(huì)交換源和目標(biāo)。

目標(biāo)端發(fā)起同步會(huì)話

在這一階段將建立同步會(huì)話,從而創(chuàng)建了從源到提供程序的鏈接。

目標(biāo)準(zhǔn)備并發(fā)送知識(shí)

如前所述,每個(gè)副本都會(huì)存儲(chǔ)其自身的知識(shí)。存儲(chǔ)在目標(biāo)端的知識(shí)將傳遞到源。

目標(biāo)知識(shí)用于確定要發(fā)送的更改

在源端,會(huì)將剛剛收到的知識(shí)與本地項(xiàng)目版本進(jìn)行比較,以確定目標(biāo)端尚不了解的項(xiàng)目。值得注意的是,發(fā)送的版本并不是實(shí)際的項(xiàng)目,而是每個(gè)項(xiàng)目上次發(fā)生更改的位置摘要。

更改版本和發(fā)往目標(biāo)端的源知識(shí)

當(dāng)源準(zhǔn)備好所需的更改版本列表之后,這些版本將傳輸?shù)侥繕?biāo)端

檢索更改項(xiàng)目的本地版本并與源版本和知識(shí)進(jìn)行比較

目標(biāo)端使用這些版本準(zhǔn)備源需要發(fā)送的項(xiàng)目列表。目標(biāo)還使用該信息檢測(cè)是否存在限制沖突。限制沖突是指違反了項(xiàng)目限制,如文件夾關(guān)系或文件系統(tǒng)中同名數(shù)據(jù)的位置。

檢測(cè)并解決或推遲沖突

基本上,如果在兩次同步期間對(duì)兩個(gè)副本上的相同項(xiàng)目進(jìn)行更改就會(huì)發(fā)生沖突。在 Microsoft Sync Framework 運(yùn)行時(shí)中,當(dāng)其中一個(gè)副本的更改版本不包含另一個(gè)副本更改的知識(shí)時(shí)便會(huì)檢測(cè)到?jīng)_突。   將在下面的“沖突示例”部分中介紹了說(shuō)明該檢測(cè)過(guò)程如何工作的更加詳細(xì)的示例。

副本可以自由實(shí)施各種策略,解決同步拓?fù)溟g發(fā)生沖突的項(xiàng)目。下面列舉了一些常用的沖突解決策略:

源獲勝: 當(dāng)檢測(cè)到?jīng)_突時(shí),總是采用源副本所做的更改。

目標(biāo)獲勝: 總是采用目標(biāo)副本所做的更改。

合并: 將源副本和目標(biāo)副本所做的更改合并在一起。庫(kù)存統(tǒng)計(jì)可能是一個(gè)您希望將兩個(gè)副本的值合并(求和),而不是選取其中一個(gè)作為正確值的例子。

記錄沖突: 記錄或推遲沖突。

目標(biāo)向源請(qǐng)求項(xiàng)目數(shù)據(jù)

在這一階段,目標(biāo)已經(jīng)確定需要在源中檢索的項(xiàng)目,并將請(qǐng)求發(fā)送到源。

源準(zhǔn)備并發(fā)送項(xiàng)目數(shù)據(jù)

源接收到項(xiàng)目數(shù)據(jù)請(qǐng)求,并準(zhǔn)備要傳輸?shù)侥繕?biāo)的實(shí)際數(shù)據(jù)。如果要跟蹤的項(xiàng)目是數(shù)據(jù)庫(kù)中的一行,則將發(fā)送該行。如果項(xiàng)目是文件夾中的文件,則將傳送該文件。

項(xiàng)目應(yīng)用到目標(biāo)中

目標(biāo)接收并應(yīng)用項(xiàng)目。如果在此過(guò)程中出現(xiàn)任何錯(cuò)誤(如網(wǎng)絡(luò)斷開),則該項(xiàng)目將被標(biāo)記為異常,并在下次同步期間進(jìn)行更正。從源接收的知識(shí)將添加到目標(biāo)知識(shí)。

軟件標(biāo)簽: Sync

發(fā)表評(píng)論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(0)條評(píng)論 > 字?jǐn)?shù): 0/500

TOP
軟件下載