• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>
    當前位置: 首頁 > 專利查詢>微軟公司專利>正文

    共享的數據集合制造技術

    技術編號:8493997 閱讀:189 留言:0更新日期:2013-03-29 06:46
    數據共享機制可允許程序共享對于數據集合的訪問。實現共享的機制可允許以任何語言編寫的程序讀取和寫入共享集合。通過允許程序或多或少以數據是純粹本地數據的方式在數據上操作,該機制可使得集合的共享特性相對于程序和編程者是透明的。集合的共享可由在其上使用集合的每一個機器上的共享對象運行時、和由共享對象服務器來管理。共享對象服務器維持集合的真實狀態,且當程序在不了解彼此操作的情況下操作同一個集合時,確定性地解決集合。通過其來共享集合的機制可被實現為對于集合中數據種類不可知。

    【技術實現步驟摘要】
    【國外來華專利技術】共享的數據集合
    技術介紹
    集合是將被一起操作的一組數據項。集合的一些示例包括列表、陣列、集、包、和各 種其他數據組。在編程的早期,程序一般是不彼此互操作的單片實體。因此,程序能采用編 程者選擇的任何方式的集合內在地管理集合。在現代編程中,然而,通過操縱共享的數據 組,使得同一程序的不同實例、或不同程序彼此互操作,已成為較為流行的實踐。盡管可能使得程序實現它們用于共享數據的自身機制,這樣做一般對于編程者而 言是麻煩的。編程者可能必須將共享機制實現為程序的緊密結合的一部分。即使編程者 可獲得已知共享機制的代碼,該機制一般專用于程序的特性、且專用于被共享的數據類型。 且,當其他程序想要與已有程序共享數據時,這些程序必須以使用相同共享機制的方式被 實現。盡管允許程序共享數據出現了各種問題,集合的共享提出了附加問題。對于很多 類型的集合,集合的當前狀態不僅由集合的內容定義、還由其中這些內容所出現的順序所 定義。例如,陣列{1,2,3,4,5}不同于陣列{2,3,1,5,4}。即使這兩個陣列包含了相同的底 層元素(從一到五的數字),順序是不同的,且因此這兩個陣列具有不同的狀態。當集合的狀 態可由數個程序改變時,維持集合的狀態、特別是順序,提出了特定挑戰。概述共享集合的概念可被以使得共享機制對于編程者而言是透明的方式被實現。另 外,當集合由數個不同實體操作時,實現共享的集合的機制可,對于集合提供數據收斂。在一個示例中,共享的對象服務器,通過在任何給定時間維持集合的真實狀態,來 管理集合的共享。獲得對于集合的訪問的程序可連接至機器(程序在該機器上運行)上的共 享對象運行時。訪問共享集合的程序將該集合登記為共享集合,且這個登記由運行時通信 至共享的對象服務器。想要訪問該集合的其他程序也將該集合登記為共享集合。類似地,這 個登記由運行時通信至共享的對象服務器。此外,程序可訂閱在該集合上的改變提醒,其中 訂閱請求由運行時處理。每一個程序保持集合的本地副本。當集合的狀態以任何形式被改 變時,在其上發生改變的機器上的運行時將這個改變通信至共享的對象服務器。共享的對 象服務器更新集合的真實狀態,并將這個改變通信至通過共享對象運行時登記過這個集合 的所有程序,該共享對象運行時位于在其上運行訂閱程序的機器上。然后這些程序的每一 個根據服務器所通信的狀態改變,更新其本地集合副本。在該集合上已發生并發的改變的 情況下,共享的對象服務器解決這些改變中的任何沖突,并確定性地到達集合的真實狀態。在另一個示例中,以對等(peer-to-peer)方式、而不是客戶機/服務器方式,來管 理共享的對象。在對等實現中,對于共享的集合的每一個訂閱者可將改變通信至其他訂閱 者。然后,訂閱者在其上運行的機器上的運行時可改變它們的本地副本,同時確定性地解決 任何沖突。幾乎可以任何編程語目(如,C,C++,Java, Visual Basic等)實現集合。由于共孕集 合的概念可以多種編程模型實現,以不同語言編寫的程序可在同一個共享集合上操作。另 外,編程者可編寫程序,該程序將與在純粹本地的集合上操作一樣的方式在共享集合上操作。因此,程序可能夠操作共享的集合,而不必采用除了發出命令以登記新的集合或訂閱已 有集合的改變之外的任何方式,來識別集合的共享本質。以此方式,有效地使得集合的共享 對于程序以及對于編程者而言是透明的。此外,共享機制對于集合中的數據的類型可以是 不可知的,藉此允許分享任何類型數據的集合。提供本
    技術實現思路
    以便以簡化形式介紹將在以下具體實施方式中進一步描述的一 些概念。本
    技術實現思路
    并不旨在標識所要求保護主題的關鍵特征或必要特征,也不旨在用于 限制所要求保護主題的范圍。附圖簡述附圖說明圖1是共享集合的示例的框圖。圖2是示例性場景的框圖,其中程序可共享對于共享集合的訪問。圖3是集合共享的對等實現的示例的框圖。圖4和5是共享的集合可被如何使用的一些示例的框圖。圖6是其中可共享集合的示例性過程的流程圖。圖7是可以結合本文描述的主題的實現來使用的示例組件的框圖。具體實施方式在現代計算中,通過共享對于同一底層數據的訪問,程序經常彼此互操作。當程序 共享數據時,經常以認知數據被共享的事實的方式實現程序。即,程序一般必須包含與其他 程序、或與同一程序的其他實例共享數據的機制的實現。用于共享的機制經常專用于被共 享的數據的本質、以及編程者的設計選擇。因此,當兩個程序想要共享數據時,它們各自的 編程者一般必須協定、并實現特定的共享機制。存在特定的允許有限形式的數據共享的一 般化機制,但是不適用于特定場合。盡管各種數據的共享提出了各種實現問題,當要共享的數據是集合時,提出了附 加問題。集合是可被一起操作的一組數據項。集合的一些示例包括列表、陣列、集、包、和各 種其他數據組。一些類型的集合被排序。因此,順序集合的當前狀態不是僅僅由集合的內 容定義、還由其中這些內容所出現的順序所定義。如,{I, 2,3,4,5}是包含從一到五的整數 的數據集合。如果該集合被排序,則{1,2,3,4,5}是與{2,3,1,5,4}不同的狀態,因為這兩 個狀態具有不同的順序,即使它們都包含相同的項。當在同時運行的程序中共享任何類型的數據時,數據的兩個修改可能沖突-如, 一個程序可想要修改數據,同時,另一個程序正想刪除該數據。然而,當這樣的沖突發生且 正被共享的數據是集合的一部分時,發生附加難題。一個程序可請求在集合中的第二項后 插入項。另一個程序可請求刪除第二項,藉此使得被插入的項成為第二項。為了處理這些 改變并達到集合的真實狀態,必須決定原始集合中的哪一項現在是第二個。由于每一個程 序可能不了解另一個程序正在對同一個集合操作,兩個程序可能涉及集合中的“第二”項, 同時對于集合中的哪個項真正是順序的第二項具有不同的理解。運算轉換字段涉及允許對于計算中的數據進行決定性排序的機制。可使用一些這 樣的機制來解決同時被操作的文件中的沖突一如,如何確定在正同時被兩個用戶編輯的文 本文件中已經發生了什么編輯。然而,這些類型的技術一般沒有被應用于此處描述類型的集合的一般化共享。此處描述的主題提供了共享數據集合的機制。此處描述的技術可被用于提供一般 化的集合共享機制,其允許數個程序和/或同一程序的數個實例來共享對于集合的訪問。 這些技術可允許采用不同的編程語言實現程序。這些技術可允許被排序的數據集合以這樣 的方式同時被多個程序和/或程序實例操作該集合決定性地達到特定狀態,該狀態可被 傳播至使用該集合的所有程序。另外,此處描述的技術可允許編程者編寫程序,該程序以或 多或少與程序將在純粹本地集合上操作的方式一樣的方式在共享集合上操作。此外,可使 得共享機制對于集合中的底層數據類型是不可知的,藉此使得對于任何合適的數據種類使 用相同的一般化的共享機制。換言之,可在無關于集合中的數據項內容的情況下、以及無關 于這些項的內容的結構的情況下,執行此處描述的各種動作。共享數據的程序可在單個機器上運行、或可在通過網絡連接的數個機器上運行。 為了幫助數據的共享,在其上運行程序的每一個機器可具有共享的對象的運行時。共享的 對象的運行時可有助于管理共享的數據對象(包括共享的集合)的共享和同步。在一個示例 中,共享的對象的服務本文檔來自技高網
    ...

    【技術保護點】

    【技術特征摘要】
    【國外來華專利技術】2010.06.23 US 12/821,9711.一種幫助數據集合共享的方法,所述方法包括 接收所述數據集合的登記,其中所述數據集合由第一程序創建,其中所述登記從在其上執行所述第一程序的機器上的對象運行時處接收; 從與所述第一程序不同的第二程序處接收對于所述數據集合的訂閱,其中存在對于所述數據集合的一組訂閱者,且其中所述一組訂閱者包括所述第一程序和所述第二程序; 接收第一通知,所述訂閱者中的第一個已經在所述數據集合上執行了第一操作,對于所述數據集合的狀態做出改變;和 傳播所述狀態的所述改變至所述一組訂閱者。2.如權利要求1所述的方法,其特征在于,還包括 接收第二通知,所述訂閱者中的第二個已經在所述數據集合上執行了第二操作,所述第二操作不同于所述第一操作;和 通過將所述第二操作相對于所述第一操作轉換,來解決所述第一操作和所述第二操作之間的沖突。3.如權利要求2所述的方法,其特征在于,所述第二通知使用所述數據集合的項的順序位置描述所述第二操作,其中取決于是在所述第二操作前執行還是在所述第二操作后執行所述第一操作,所述順序位置是指不同的項。4.如權利要求1所述的方法,其特征在于,還包括 維持所述數據集合的副本在所述數據集合的真實狀態中;且其中,所述傳播包括 將所述真實狀態通信至所述訂閱者。5.如權利要求1所述的方法,其特征在于,所述傳播包括 將相對于所述數據集合的狀態的所述訂閱者版本的改變描述通信至所述訂閱者,所述改變源自執行所述第一操作。6.如權利要求1所述的方法,其特征在于,執行所述方法,而不考慮在所述數據集合中的項的內容的結構如何。7.如權利要求1所述的方法,其特征在于,所述第一通知包括在所述數據集合上執行的操作的類型、正被操作的項在所述數據集合中的位置、和所述數據集合的狀態。8.—種包括用于執行權利要求1-7中任意一項的方法的計算機可執...

    【專利技術屬性】
    技術研發人員:M·S·奧古斯汀J·博克哈德特B·M·蘭伯特R·E·奧齊J·E·施萊費爾R·Z·斯派爾P·S·蘇塞
    申請(專利權)人:微軟公司
    類型:
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 日韩专区无码人妻| 一区二区三区无码高清| 无码精品人妻一区二区三区免费看 | 亚洲大尺度无码无码专区| 人妻少妇精品无码专区二区 | 精品国产毛片一区二区无码 | 中文字幕无码日韩专区| 亚洲精品无码久久久久牙蜜区| 用舌头去添高潮无码视频| 亚洲AV无码久久寂寞少妇| 无码毛片一区二区三区中文字幕| 日韩精品无码一区二区三区免费| 亚洲av无码国产精品色在线看不卡 | 亚洲乱亚洲乱少妇无码| 亚洲国产精品无码久久| 无码H肉动漫在线观看| 国产亚洲情侣一区二区无码AV | 亚洲中文字幕不卡无码| 亚洲不卡无码av中文字幕| 国产成人无码AV在线播放无广告| 久久久久久亚洲av成人无码国产| 日韩少妇无码一区二区三区| 亚洲熟妇av午夜无码不卡| 久久久久亚洲AV无码专区首| 亚洲av无码一区二区三区网站 | 精品国产a∨无码一区二区三区 | 免费无码一区二区三区蜜桃| 国产精品va无码二区| 精品人妻无码一区二区色欲产成人| 蜜桃臀AV高潮无码| 少妇无码一区二区二三区| 久久久久无码精品亚洲日韩| 一本加勒比HEZYO无码人妻| 国产精品无码A∨精品影院| 免费一区二区无码东京热| 亚洲va无码专区国产乱码| 亚洲av无码不卡| 亚洲国产超清无码专区| 亚洲乱人伦中文字幕无码| 国模无码视频一区| 中文字幕无码AV波多野吉衣|