針對高效原子訪問優(yōu)化的xml文件格式的制作方法
【專利摘要】公開了提供能夠存儲豐富內(nèi)容的靈活文件的系統(tǒng)和方法。靈活文件可包括部分對象、存儲在部分對象中的一個或多個小塊對象、及與每一小塊對象相關(guān)聯(lián)的一個或多個剪輯對象。剪輯對象可存儲內(nèi)容項。替換地,剪輯對象可存儲對內(nèi)容項的一個或多個引用,該內(nèi)容項被存儲在靈活文件的外部。所公開的靈活文件允許應(yīng)用基于用戶或應(yīng)用的需求來調(diào)整原子性。
【專利說明】針對高效原子訪問優(yōu)化的XML文件格式
[0001] 背景
[0002] 將豐富的內(nèi)容集合存儲在單個文件中的應(yīng)用常常面臨許多可操作性障礙。如果大 量內(nèi)容被存儲在文件本身中,則加載該文件所需的時間可能會不利地影響用戶體驗。然而, 如果該文件引用了外部內(nèi)容,則計算資源可因訪問該內(nèi)容所需的眾多請求和檢索操作而負(fù) 擔(dān)過重。本發(fā)明的各實施例正是對于這一一般環(huán)境而構(gòu)想的。
[0003] 雖然本【背景技術(shù)】中著眼于特定的問題,但本發(fā)明決不旨在限于解決那些特定問 題。
[0004] 概述
[0005] 本公開的各實施例涉及可針對高效原子訪問優(yōu)化的靈活文件。本文中公開的實施 例可以與任何類型的軟件應(yīng)用(例如,文字處理器、演示軟件、圖解軟件等)結(jié)合使用。此 夕卜,本文中公開的實施例可以與向用戶提供大量內(nèi)容的應(yīng)用一起利用。所公開的靈活文件 向各應(yīng)用提供收集和/或聚集大量內(nèi)容同時在用戶的需求和向本地及網(wǎng)絡(luò)計算資源施加 的負(fù)擔(dān)之間達(dá)到平衡的能力。本文中公開的靈活文件通過允許與所聚集內(nèi)容如何被檢索和 /或存儲有關(guān)的變化原子性程度來提供靈活性。
[0006] 在其他實施例中,靈活文件還提供與內(nèi)容在網(wǎng)絡(luò)上的移動有關(guān)的彈性。如所討論 的,靈活文件格式能夠存儲實際內(nèi)容或?qū)?nèi)容的引用。如果文件存儲對內(nèi)容的引用,則該內(nèi) 容的移動可破壞該引用,由此阻止稍后訪問該文件和/或檢索該文件。本文中公開各實施 例通過存儲對每一內(nèi)容項的各種不同的引用來提供針對內(nèi)容移動的彈性。在各實施例中, 每一引用可以按不同方式鏈接到相同的內(nèi)容項,由此向該靈活文件提供找到和檢索內(nèi)容的 多種機制。
[0007] 提供本概要從而以簡要形式引入將在下面具體實施例中進(jìn)一步描述的概念的選 擇。本概要不旨在標(biāo)識所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用來限制所要 求保護(hù)的主題的范圍。
[0008] 附圖簡述
[0009] 在所有的圖中,相同標(biāo)號表示相同元素或相同類型的元素。
[0010] 圖1是靈活文件1〇〇的一實施例的概念說明。
[0011] 圖2是可用于以離線模式提供高原子性的靈活文件組件的實施例。
[0012] 圖3是可用于以在線模式提供高原子性的靈活文件組件的實施例。
[0013] 圖4是可用于以在線模式提供平衡水平的原子性的靈活文件組件的實施例。
[0014] 圖5是可用來創(chuàng)建靈活文件的方法500的實施例。
[0015] 圖6是可以與本文中的各實施例一起使用的網(wǎng)絡(luò)系統(tǒng)600的實施例。
[0016] 圖7示出了用于實現(xiàn)本文中公開的各方法的計算機環(huán)境和計算機系統(tǒng)700的實施 例。
[0017] 圖8A示出了用于執(zhí)行本文中描述的創(chuàng)建和利用靈活文件格式的實施例的移動計 算設(shè)備800的一個實施例。
[0018] 圖8B是適用于實施本文中公開的靈活文件格式的實施例的示例性移動計算設(shè)備 系統(tǒng)802的簡化框圖。
[0019] 圖9示出了用于將本文公開的各實施例提供給一個或多個客戶機設(shè)備的系統(tǒng)的 實施例。
[0020] 詳細(xì)描述
[0021] 本發(fā)明現(xiàn)將參考其中示出了一些可能的實施例的附圖來更完整地描述各示例性 實施例。然而,其他方面能以許多不同的形式來實現(xiàn),并且在本發(fā)明中包括各具體實施例不 應(yīng)被解釋為將這些方面限于在此闡明的各實施例。相反,包括附圖中描繪的各實施例是為 了提供全面和完整且將預(yù)期的范圍完全地傳達(dá)給本領(lǐng)域技術(shù)人員的公開。在參考附圖時, 使用相同的附圖標(biāo)記來指示所有附圖所示的相同的結(jié)構(gòu)和元素。
[0022] 本公開的各實施例涉及可針對高效原子訪問優(yōu)化的靈活文件格式。本文中公開的 實施例可以與任何類型的軟件應(yīng)用(例如,文字處理器、演示軟件、圖解軟件等)結(jié)合使用。 此外,本文中公開的實施例可以與向用戶提供大量內(nèi)容的應(yīng)用一起利用。例如,本文中公開 的靈活文件格式可被創(chuàng)建剪輯畫面的應(yīng)用利用。剪輯畫面可以是用戶或應(yīng)用聚集和提供以 便顯示和/或消費的圖片、文檔、演示、電子表格、圖表、音頻文件、視頻、web內(nèi)容或任何其 他類型的數(shù)字內(nèi)容的豐富集合。為了便于描述,本文中的討論在描述靈活文件格式時將針 對創(chuàng)建剪輯畫面。然而,本領(lǐng)域的技術(shù)人員將領(lǐng)會本文中公開的靈活文件格式可被采用來 創(chuàng)建用于任何類型的應(yīng)用的任何類型的文件,并且不會將本文中公開的各實施例解釋為限 于剪輯畫面的創(chuàng)建。
[0023] 豐富集合(諸如剪輯畫面)可以由大量文件組成。因此,一般存儲剪輯畫面或大量 內(nèi)容的標(biāo)準(zhǔn)文件可給本地計算和網(wǎng)絡(luò)計算資源帶來沉重的負(fù)擔(dān)。該集合的大小也可在用戶 嘗試訪問或打開文件時不利地影響用戶體驗。例如,如果剪輯畫面中收集的所有內(nèi)容都被 存儲在剪輯畫面文件中,則打開該文件和向用戶顯示內(nèi)容可由于加載的內(nèi)容量而花費長得 離譜的一段時間。在另一方面,如果剪輯畫面包括對內(nèi)容的引用的集合,而不是內(nèi)容本身, 則該文件的大小可能小得多,由此為用戶提供快速初始加載;然而,用戶從該文件選擇的每 一內(nèi)容可能必須被檢索。由于存儲在該文件中的引用可將用戶引導(dǎo)到存儲在本地的內(nèi)容和 通過網(wǎng)絡(luò)遠(yuǎn)程存儲的內(nèi)容兩者,訪問文件中的鏈接以檢索內(nèi)容可對本地和網(wǎng)絡(luò)資源帶來沉 重的負(fù)擔(dān)。
[0024] 本文中公開的靈活文件格式的實施例在所描述的情況之間達(dá)成平衡,并向應(yīng)用提 供收集和/或聚集大量內(nèi)容,同時在用戶的需求和對本地和網(wǎng)絡(luò)計算資源帶來的負(fù)擔(dān)之間 達(dá)成平衡的能力。因此,靈活文件格式提供了平衡加載時間和所需的檢索量的文件的創(chuàng)建, 同時允許用戶和/或應(yīng)用聚集大量內(nèi)容。此外,靈活文件可被定制成適合特定用戶性能需 求和/或用于可用計算資源。
[0025] 本文中公開的靈活文件的各實施例可通過提供關(guān)于所聚集內(nèi)容如何被檢索和/ 或存儲的變化原子性程度來提供靈活性。在各實施例中,原子性指的是內(nèi)容被存儲的方式。 高度原子性可指的被個別存儲的內(nèi)容。例如,其中每一內(nèi)容被個別存儲或引用的文件具有 高度原子性。當(dāng)高度原子性被提供時,至少一些內(nèi)容可被個別訪問或檢索。相反,低度原子 性可指的是被存儲成群組或集合的內(nèi)容。例如,其中每一內(nèi)容被存儲在一起(例如,被存儲 在單個容器、文件、目錄等中)的文件具有非常低度的原子性。當(dāng)?shù)投仍有员惶峁r,至 少一些內(nèi)容不可被個別訪問或檢索。相反,內(nèi)容可被作為群組來訪問或檢索。
[0026] 提供高原子性的文件可通過提供快速加載時間來增加用戶體驗。由于在高度原子 環(huán)境中內(nèi)容可被個別訪問,因此用戶僅須等待他或她選擇的要檢索的內(nèi)容,由此加載時間 減少了。然而,在高度原子環(huán)境中個別訪問大量內(nèi)容增加了檢索和請求數(shù)目,并可因此增加 對本地和網(wǎng)絡(luò)資源的負(fù)擔(dān)。
[0027] 提供低原子性的文件可減少所需的請求和檢索數(shù)目,由此減少了對本地和網(wǎng)絡(luò)計 算資源的負(fù)擔(dān)。然而,由于在低原子環(huán)境中內(nèi)容是作為群組來訪問的,用戶體驗可能被降 級,因為用戶可能不得不等待不僅僅是用戶選擇的內(nèi)容,還要等待附加內(nèi)容。
[0028] 在各實施例中,靈活文件內(nèi)容格式能夠提供變化原子性程度,由此在用戶體驗和 計算資源使用之間達(dá)成平衡。例如,靈活文件格式可存儲將被頻繁個別訪問的一些內(nèi)容,由 此確保積極的用戶體驗,同時將其他內(nèi)容存儲為群組(例如,可能被一起訪問的內(nèi)容),由 此減輕對計算資源的壓力。
[0029] 在各實施例中,靈活文件格式還可提供與內(nèi)容移動有關(guān)的彈性程度。如所討論地, 靈活文件格式能夠存儲實際的內(nèi)容或?qū)?nèi)容的引用。當(dāng)存儲對內(nèi)容的引用時,該文件可能 會在它被移動的情況下失去對內(nèi)容的訪問。各實施例通過存儲對每一內(nèi)容項的多個不同的 引用來提供針對內(nèi)容移動的彈性。在各實施例中,每一引用可以按不同的方式鏈接到該內(nèi) 容,由此向該靈活文件提供找到和檢索內(nèi)容的多種機制。
[0030] 圖1是靈活文件100的一實施例的概念說明。在所描述的實施例中,靈活文件可 被剪輯畫面應(yīng)用用來存儲內(nèi)容的剪輯畫面。在其他實施例中,靈活文件可被其他類型的應(yīng) 用用來存儲內(nèi)容。靈活文件100可包含表面對象102。在各實施例中,表面對象102可用于 組織和/或存儲被收集在靈活文件100中的內(nèi)容。由此,表面對象102可包含各種不同的 內(nèi)容項(或?qū)Ω鲀?nèi)容項的引用)。剪輯畫面表面對象102可聚集、組織和存儲被包括在靈活 文件100中的內(nèi)容。在各實施例中,表面對象100可被應(yīng)用加載以顯示不同的內(nèi)容。由于 剪輯畫面表面對象能夠存儲對內(nèi)容的引用而非該內(nèi)容本身,因此與在靈活文件中聚集的內(nèi) 容相比,表面對象102的大小可能較小,由此允許用戶對靈活文件的快速初始加載。
[0031] 當(dāng)利用靈活文件100來存儲剪輯畫面時,表面對象102可包含單個剪輯畫面的基 本屬性。這些屬性可包括可用于組織內(nèi)容在剪輯畫面中的顯示的表面對象網(wǎng)格尺寸和內(nèi)邊 距、可用于定義剪輯畫面的背景(例如,背景圖像或色彩)的背景層、以及主題信息。表面 對象還可包含小塊對象(例如,小塊對象104A、104B和104C)的集合和剪輯對象(例如,剪 輯對象106A、106B和106C)的集合。在各實施例中,雖然剪輯對象106A、106B和106C可能 在視覺上與小塊對象(諸如,小塊對象104C)相關(guān)聯(lián),但剪輯對象106AU06B和106C可被 存儲在表面對象102上。由此,如果剪輯對象(例如,剪輯對象106AU06B和106C)被存儲 在表面對象102上,則剪輯對象(剪輯對象106A、106B和106C)在小塊對象104C中的重排 序可包括更新存儲在靈活文件100中的剪輯對象ID和/或插播ID的有序列表。此外,在 本實施例中,剪輯對象可在多個小塊對象(例如,小塊對象104C和小塊對象104A)之間共 享,而無需在這些小塊對象之間導(dǎo)出大量數(shù)據(jù)。
[0032] 在各實施例中,表面對象102可提供用戶或應(yīng)用可設(shè)置來定制表面對象102和/ 或內(nèi)容在表面對象102上的顯示的多個可調(diào)整屬性。表1提供表面對象102可提供的屬性 的非限制性示例。
[0033]
【權(quán)利要求】
1. 一種用于創(chuàng)建靈活文件的方法,所述方法包括: 創(chuàng)建表面對象作為所述靈活文件的一部分; 創(chuàng)建第一小塊對象,其中所述第一小塊對象駐留在所述表面對象中; 接收對所述靈活文件的加載進(jìn)行優(yōu)化的指示; 響應(yīng)于接收所述指示,創(chuàng)建與所述第一小塊對象相關(guān)聯(lián)的第一剪輯對象,其中所述第 一剪輯對象包括對第一內(nèi)容項的第一多個引用;以及 存儲所述靈活文件。
2. 如權(quán)利要求1所述的方法,其特征在于,所述第一多個引用包括: 絕對URL ; 相對鏈接;以及 其中所述絕對URL和所述相對鏈接標(biāo)識所述第一數(shù)據(jù)項。
3. 如權(quán)利要求2所述的方法,其特征在于,所述第一多個引用進(jìn)一步包括符號化URL, 其中所述符號化URL標(biāo)識所述第一數(shù)據(jù)項。
4. 如權(quán)利要求1所述的方法,其特征在于,還包括: 創(chuàng)建與所述第一小塊對象相關(guān)聯(lián)的第二剪輯對象,其中所述第二剪輯對象包括對第二 內(nèi)容項的第二多個引用。
5. 如權(quán)利要求4所述的方法,其特征在于,所述第一小塊對象包括標(biāo)識用于在顯示器 上從所述第一剪輯對象導(dǎo)航到所述第二剪輯對象的導(dǎo)航樣式的信息。
6. 如權(quán)利要求1所述的方法,其特征在于,還包括: 創(chuàng)建第二小塊對象,其中所述第二小塊對象容器駐留在所述表面對象中;以及 創(chuàng)建與所述第二小塊對象相關(guān)聯(lián)的第二剪輯對象,其中所述第二剪輯對象包括對內(nèi)容 集合的第二多個引用。
7. -種創(chuàng)建剪輯畫面文件的方法,所述方法包括: 將表面對象創(chuàng)建為所述剪輯畫面文件的一部分; 創(chuàng)建第一小塊對象,其中所述第一小塊對象駐留在所述表面對象中; 接收使對內(nèi)容的請求最小化的指示; 響應(yīng)于接收所述指示,創(chuàng)建與所述第一小塊對象相關(guān)聯(lián)的第一剪輯對象,其中所述第 一剪輯對象包括對第一內(nèi)容項;以及 存儲所述剪輯畫面文件。
8. 如權(quán)利要求7所述的方法,其特征在于,還包括: 創(chuàng)建第二小塊對象,其中所述第二小塊對象容器駐留在所述表面對象中;以及 創(chuàng)建第二剪輯對象,其中所述第二剪輯對象包括對內(nèi)容集合的多個引用。
9. 如權(quán)利要求7所述的方法,其特征在于,所述第一內(nèi)容項包括以下中的一個:文檔; 圖片;以及視頻。
10. -種編碼了計算可執(zhí)行指令的計算機存儲介質(zhì),所述計算可執(zhí)行指令在由至少一 個處理器執(zhí)行時,執(zhí)行一種用于創(chuàng)建剪輯畫面文件的方法,所述方法包括: 創(chuàng)建表面對象作為所述剪輯畫面文件的一部分; 創(chuàng)建第一小塊對象,其中所述第一小塊對象駐留在所述表面對象中; 創(chuàng)建與所述第一小塊對象相關(guān)聯(lián)的第一剪輯對象,其中所述第一剪輯對象包括對第一 內(nèi)容項的第一多個引用; 創(chuàng)建與所述第一小塊對象相關(guān)聯(lián)的第二剪輯對象,其中所述第二剪輯對象包括第二內(nèi) 容項; 創(chuàng)建第二小塊對象,其中所述第二小塊對象駐留在所述表面對象中; 創(chuàng)建與所述第二小塊對象相關(guān)聯(lián)的第三剪輯對象,其中所述第三剪輯對象包括對內(nèi)容 集合的第二多個引用;以及 存儲所述剪輯畫面文件。
【文檔編號】G06F17/00GK104126183SQ201380010234
【公開日】2014年10月29日 申請日期:2013年2月12日 優(yōu)先權(quán)日:2012年2月20日
【發(fā)明者】M·伍德, J·拜勒, R·利特爾, B·馬歇爾, A·史密斯 申請人:微軟公司