国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      數(shù)據(jù)編程環(huán)境的制作方法

      文檔序號:6364973閱讀:193來源:國知局
      專利名稱:數(shù)據(jù)編程環(huán)境的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計算機應(yīng)用,尤其涉及數(shù)據(jù)編程環(huán)境。
      背景技術(shù)
      數(shù)據(jù)操縱是ー種特定形式的數(shù)據(jù)處理。顧名思義,數(shù)據(jù)操縱涉及操縱或改變數(shù)據(jù),例如以便于從較少價值的數(shù)據(jù)中提取有價值的信息。典型的數(shù)據(jù)操縱操作包括插入、更新、刪除、排序、以及合并等等。通常首先向信息工作者以及一般公眾展示對電子表格的數(shù)據(jù)操縱。電子表格是允許利用表和公式來對數(shù)據(jù)進行簡單分析和操縱的計算機應(yīng)用。更具體地,數(shù)據(jù)被存儲在駐留在表中列與行相交處的各単元中,且各單元之間的關(guān)系可通過公式來定義。數(shù)據(jù)可被操縱以確定例如修改對于其他數(shù)據(jù)的影響。這樣的操縱可以與以下操縱相對應(yīng)改變列名、將 數(shù)據(jù)拆分成多個字段、剝離不合需要的字符、或?qū)⒖缍鄠€列的數(shù)據(jù)組合成單個列。諸如應(yīng)用開發(fā)者等更高級的用戶利用數(shù)據(jù)操縱語言(DML)來程序性地指定數(shù)據(jù)操縱。最流行的DML是SQL(結(jié)構(gòu)化查詢語言),該SQL被采用以檢索并操縱關(guān)系型數(shù)據(jù)。例如,關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)可由應(yīng)用或直接由開發(fā)者利用諸如“插入”、“更新”和“刪除”等SQL DML命令來操縱。

      發(fā)明內(nèi)容
      下面呈現(xiàn)了簡化的發(fā)明內(nèi)容,以便提供對所公開主題的某些方面的基本理解。本發(fā)明內(nèi)容不是廣泛性的概觀。它并不_在標(biāo)識關(guān)鍵/重要元素,也不_在劃定所要求保護主題的范圍。其唯一目的是以簡化形式呈現(xiàn)ー些概念,作為稍后呈現(xiàn)的更詳細(xì)的描述的序言。簡言之,本發(fā)明一般涉及便于數(shù)據(jù)操縱的數(shù)據(jù)編程環(huán)境。更具體地,可以提供數(shù)據(jù)操縱操作的視覺表示,以供對一個或多個數(shù)據(jù)源的選擇和采用。另外,這樣的操作可由更高級的/知識淵博的用戶來程序性地指定和/或修改。示出ー個或多個數(shù)據(jù)操縱操作的結(jié)果的數(shù)據(jù)預(yù)覽也可被顯示。此外,可以采用任務(wù)流來視覺地表示隨時間連續(xù)地細(xì)化數(shù)據(jù)的ー系列操作,以及啟用與該一系列操作的交互。為實現(xiàn)上述及相關(guān)目的,在此結(jié)合以下描述和附圖描述了所要求保護主題的某些說明性方面。這些方面指示可實踐本主題的各種方式,它們均_在落在所要求保護主題的范圍之內(nèi)。當(dāng)結(jié)合附圖考慮以下詳細(xì)描述時,其他優(yōu)點和新穎特征將變得顯而易見。


      圖I是便于數(shù)據(jù)操縱的系統(tǒng)的框圖。圖2是代表性用戶界面組件的框圖。圖3是示例性用戶界面的屏幕截圖。
      圖4是示例性公式視圖的屏幕截圖。
      圖5是便于利用預(yù)覽的數(shù)據(jù)操縱的方法的流程圖。圖6是便于利用任務(wù)流的數(shù)據(jù)操縱的方法的流程圖。圖7是便于通過基于上下文的操作呈現(xiàn)的數(shù)據(jù)操縱的流程圖。圖8是示出用于本發(fā)明各方面的合適操作環(huán)境的示意性框圖。
      具體實施例方式
      以下細(xì)節(jié)一般涉及便于數(shù)據(jù)操縱的數(shù)據(jù)編程環(huán)境。將數(shù)據(jù)操縱成合乎需要的形式對于用戶而言是ー難題。常規(guī)上能實現(xiàn)的數(shù)據(jù)操縱涉及ー要求相當(dāng)大量所學(xué)知識的費カ過程。無摩擦且簡單的體驗由此處公開的數(shù)據(jù)編程環(huán)境來提供,該數(shù)據(jù)編程環(huán)境在能力上還隨用戶知識縮放。更具體地,執(zhí)行數(shù)據(jù)操縱的各操作可被視覺地表示且能用最小數(shù)量的姿勢來選擇。這樣的操作還可由更高級的/知識淵博的用戶針對數(shù)據(jù)操縱語言來程序性地指定和/或修改。示出ー個或多個數(shù)據(jù)操縱操作的效果的數(shù)據(jù)預(yù)覽也可被顯示。此外,可將ー系列操作在視覺上表示成任務(wù)流,該任務(wù)流示出隨時間的連續(xù)數(shù)據(jù)細(xì)化并且在各時間啟用交互。現(xiàn)在參考附圖更詳細(xì)地描述本公開的各個方面,在全部附圖中用相似的標(biāo)記來指示相似或相應(yīng)的元素。然而應(yīng)該理解,附圖及其相關(guān)詳細(xì)描述不g在將所要求保護的主題限于所公開的具體形式。相反,其意圖是覆蓋落在所要求保護主題的精神和范圍之內(nèi)的所有修改、等價物和替換的方案。首先參考圖1,示出了便于數(shù)據(jù)操縱等的系統(tǒng)100。數(shù)據(jù)操縱的先決條件(也稱為數(shù)據(jù)變換或數(shù)據(jù)成形)是數(shù)據(jù)本身。因此,系統(tǒng)100被配置成與多個數(shù)據(jù)源110(數(shù)據(jù)源I-數(shù)據(jù)源N,其中“ N”是正整數(shù))進行交互。此外,數(shù)據(jù)源110可以是以各種方式不同(例如,數(shù)據(jù)表示(例如,文本、表、XML(可擴展標(biāo)記語言)……),數(shù)據(jù)檢索(例如,查詢處理器、獲取機制……),變換能力,性能特征……)的異構(gòu)數(shù)據(jù)源。例如,一個數(shù)據(jù)源可與關(guān)系型數(shù)據(jù)庫相對應(yīng),而另一數(shù)據(jù)源可與數(shù)據(jù)饋源或電子表格相對應(yīng)。運行時組件120被配置成支持以計算機編程語言編寫的計算機程序?qū)τ跀?shù)據(jù)源110的執(zhí)行。作為示例而非限制,運行時組件120可支持以功能性編程語言所指定的對于表達式或公式的執(zhí)行。根據(jù)ー個實施例,運行時組件120可提供對跨公共數(shù)據(jù)類型的簡單的ー組操作的同構(gòu)支持。換言之,計算機程序可以用ー組公共操作來指定,而不管與特定數(shù)據(jù)源110有關(guān)的詳情如何,且運行時組件120可執(zhí)行必需的轉(zhuǎn)換。此外,運行時組件120可按多種方式來優(yōu)化。例如,運行時組件120可被配置成使用延遲執(zhí)行來啟用基于流傳輸?shù)挠嬎阋怨┭杆俚念A(yù)覽生成。換言之,運行時組件120可以惰性地或按需執(zhí)行一程序或其一部分。另外,在有能力且高效的情況下,可將查詢和/或操縱操作推入數(shù)據(jù)源110以供執(zhí)行,以便利用數(shù)據(jù)源優(yōu)化。此外,運行時組件120可被配置成例如通過確保過濾器在一聯(lián)結(jié)之前被執(zhí)行,來分析并優(yōu)化跨不同源的聯(lián)結(jié)。句法和功能庫組件130被配置成擴展由運行時組件120所提供的功能性。具體而言,可以支持對于操作規(guī)范的句法,該操作規(guī)范最小化各概念并最大化公共數(shù)據(jù)類型以及同構(gòu)和異構(gòu)集合的表達性。此外,可以支持少量控制流操作,以啟用對數(shù)據(jù)的連續(xù)細(xì)化。另夕卜,提供了一組應(yīng)用編程接ロ(API),以啟用這樣的交互該交互從對于信息工作者而言容易使用,縮放到對于諸如開發(fā)者等高級用戶而言完整的表達性。
      用戶界面組件140提供用于對ー個或多個數(shù)據(jù)源110進行數(shù)據(jù)操縱的數(shù)據(jù)編程環(huán)境。此外,用戶界面組件140—般被配置成提供無摩擦且簡單的、或換言之平滑的(例如,容易使用,沒有困難)用戶體驗。用戶界面組件140可通過利用句法和功能庫組件130以及運行時組件120所提供的功能性來啟用這樣的交互,以便對于來自數(shù)據(jù)源110的數(shù)據(jù)執(zhí)行操作。此外,在用戶指示時,根據(jù)ー系列ー個或多個所指定的操作來操縱的數(shù)據(jù)可從ー個或多個數(shù)據(jù)源110中獲得,且被輸出或?qū)С鲋亮硪晃恢没蛟础Q言之,采用用戶界面組件140來指定被執(zhí)行的且其結(jié)果被輸出的數(shù)據(jù)操縱程序。作為示例而非限制,信息工作者可采用系統(tǒng)100來便于數(shù)據(jù)的獲得和操縱,該數(shù)據(jù)隨后可被導(dǎo)入至或?qū)С鲋林T如電子表格應(yīng)用等精選應(yīng)用,而不是在該精選應(yīng)用中直接地執(zhí)行這樣的動作。轉(zhuǎn)而關(guān)注圖2,詳細(xì)地呈現(xiàn)了代表性用戶界面組件140。操作組件210被配置成提供對數(shù)據(jù)操縱操作的簡便訪問和選擇,如由本系統(tǒng)支持的編程語 言所提供的。盡管不限于此,根據(jù)一個實施例,可以呈現(xiàn)操作的視覺表示(例如,用戶界面隱喻)供選擇。換言之,操作組件210可將用戶界面元素映射到數(shù)據(jù)操縱編程語言的操作,由此提供語言、運行時、庫和用戶界面之間的匹配。此外,操作組件210可被配置成將這樣的操作呈現(xiàn)在工具欄、帯狀界面等中。工具欄是用于在選擇(例如,點擊、雙擊……)后發(fā)起特定動作的圖形用戶界面的元素。這里,工具欄可以使用用于啟動的操縱操作的視覺表示來填充,潛在地按功能來分組。帯狀界面或簡稱帶狀條與包括針對選項卡來組織的ー組工具欄的用戶界面相對應(yīng)。在這ー情形中,可以采用多個工具欄以便于對數(shù)據(jù)操縱操作的訪問。操作組件210還可根據(jù)上下文(例如,包括數(shù)據(jù)類型、先前所選的操作、和/或光標(biāo)位置等)來控制操作的呈現(xiàn)。作為示例而非限制,由帯狀條呈現(xiàn)的操作可根據(jù)所獲得的、所確定的或所推斷的上下文信息來動態(tài)地改變。預(yù)覽組件220被配置成顯示服從初始或后續(xù)操縱的數(shù)據(jù)的預(yù)覽。此外,就相對于操縱操作是連續(xù)可用的而言,該預(yù)覽可以是恒定的。同樣,該預(yù)覽可以是恒定大小或預(yù)定的最大大小。作為預(yù)覽的本質(zhì),可以展示數(shù)據(jù)的子集,諸如例如,表的三十行。因此,在應(yīng)用ー操作之后,預(yù)覽可以改變以反映該操作的執(zhí)行,但在三十行處保持恒定(除非結(jié)果集小于三十行)。另外,預(yù)覽組件220啟用可縮放性或處理小數(shù)據(jù)集(例如,一百行的表)以及非常大的數(shù)據(jù)集(例如,一億行的表)的能力。注意,預(yù)覽的格式可以由被采用的跨異構(gòu)數(shù)據(jù)源的公共(也稱為標(biāo)準(zhǔn)的或中性的)格式來規(guī)定。換言之,可將數(shù)據(jù)歸ー化為公共表示。根據(jù)ー個實施例,公共格式可以是表,使得數(shù)據(jù)被呈現(xiàn)在多個列和行的相交處,而不管數(shù)據(jù)源表示(例如,公共的分割文件)如何。以此方式,用戶可以按熟悉的形式(即,電子表格的表形式)來解釋數(shù)據(jù)。預(yù)覽的大小可以根據(jù)可用的以及指定的屏幕空間來預(yù)先確定。換言之,預(yù)覽大小對于不同設(shè)備(例如,移動電話相對于平板計算機相對于臺式計算機)可基于其屏幕大小以及特定圖形用戶界面布局而不同。然而,在可用的或指定的屏幕空間改變的情況下,預(yù)覽大小可動態(tài)地改變。此外,且根據(jù)一個實施例,在數(shù)據(jù)源具有這樣的能力(例如,執(zhí)行引擎、查詢處理器……)的情況下,可以將操作推入這些數(shù)據(jù)源以供執(zhí)行。以此方式,與例如使用運行時組件120本地執(zhí)行操作相反,可以利用與數(shù)據(jù)源執(zhí)行相關(guān)聯(lián)的優(yōu)化或效率,以便于至少對預(yù)覽的迅速顯示。而且,整個結(jié)果集不需要被返回以及隨后被過濾以供預(yù)覽。相反,過濾可由數(shù)據(jù)源來執(zhí)行,使得所返回的數(shù)據(jù)量與被用于對預(yù)覽進行填充的數(shù)據(jù)量相對應(yīng)。作為示例而非限制,假設(shè)該域是百萬行的數(shù)據(jù)庫。預(yù)覽組件220 (単獨或與其他系統(tǒng)組件組合)可高效地請求和顯示前三十行。在數(shù)據(jù)操縱任務(wù)被指定之后,可以顯示新預(yù)覽以反映變化。然而,預(yù)覽不需要被本地確定,相反,至少一部分的操作可以被推回數(shù)據(jù)源(例如,將允許盡可能多的數(shù)據(jù)源),以便通過利用數(shù)據(jù)源索引和其他優(yōu)化技術(shù)來允許最大效率。換言之,如果操縱操作指定選擇每個第五行,則該操作的執(zhí)行可被推入可返回三十行的后端數(shù)據(jù)源(例如,關(guān)系型數(shù)據(jù)庫)。不按此方式執(zhí)行操作的結(jié)果會導(dǎo)致需要獲得大量數(shù)據(jù)以及隨后過濾這些結(jié)果以便填充三十行,這是一更復(fù)雜的過程。與數(shù)據(jù)操縱相關(guān)聯(lián)的常規(guī)技術(shù)獲得所有數(shù)據(jù)并本地執(zhí)行各操作 。除了與獲得數(shù)據(jù)相關(guān)聯(lián)的延遲以外,由于數(shù)據(jù)的大小以及本地系統(tǒng)約束(例如,隨機存取存儲器的量),獲得所有數(shù)據(jù)并非總是可能的。常規(guī)所采用的替換技術(shù)是對于數(shù)據(jù)的子集進行工作。這ー技術(shù)遭受不同的問題,因為ー個或多個操作可能需要整個數(shù)據(jù)集(例如,聚集每個第五行上的值)。將執(zhí)行推入數(shù)據(jù)源的性能優(yōu)點使得預(yù)覽能夠被立即生成和顯示。然而,在某些情形中,數(shù)據(jù)源可能不能執(zhí)行操縱操作以及返回結(jié)果以供預(yù)覽。例如,考慮平面文件。在該情形下,可將平面文件移動至允許執(zhí)行的替換數(shù)據(jù)源(諸如關(guān)系型數(shù)據(jù)庫),但至少就移動該數(shù)據(jù)的時間而言存在提前支付的費用。然而,迅速預(yù)覽的優(yōu)點可勝過該費用。例如,在要執(zhí)行數(shù)據(jù)操縱的前ー晚,數(shù)據(jù)可被移動。資源組件230被配置成便于對ー個或多個數(shù)據(jù)源的標(biāo)識和選擇。根據(jù)ー個實施例,資源組件230可呈現(xiàn)數(shù)據(jù)源的視覺表示,數(shù)據(jù)操縱可在該視覺表示上執(zhí)行。在涉及包括異構(gòu)數(shù)據(jù)源等多個數(shù)據(jù)源的情況下,資源組件230可標(biāo)識數(shù)據(jù)源中的每ー數(shù)據(jù)源。通過姿勢來選擇數(shù)據(jù)源之一可使得所選數(shù)據(jù)源活動。因此,可以顯示對所選數(shù)據(jù)源的預(yù)覽和可用操作。任務(wù)流組件240被配置成呈現(xiàn)對于數(shù)據(jù)所執(zhí)行的一系列操縱操作(或換言之任務(wù)流)的視覺表示。每ー操作表示遞增操縱,或換言之,數(shù)據(jù)的連續(xù)細(xì)化。因此,任務(wù)流隨著用戶選擇用于在數(shù)據(jù)上執(zhí)行附加操作而增長。此外,任務(wù)流組件240可結(jié)合預(yù)覽組件220來操作,使得對于所執(zhí)行的每ー操作或任務(wù),數(shù)據(jù)的預(yù)覽被顯示。因此,在選擇用于執(zhí)行的操縱操作之后,該操縱操作可被呈現(xiàn)在任務(wù)流中,且數(shù)據(jù)的預(yù)覽可在該操作執(zhí)行之后被顯示。此外,任務(wù)流組件240可與預(yù)覽組件220交互來在所顯示的預(yù)覽內(nèi)注入交互式控件,以便允許用戶按“所見即所得”的方式來操縱數(shù)據(jù)。作為示例而非限制,用戶可選擇ー種方式來在下拉式菜單的列中對數(shù)據(jù)排序,通過拖放表示列名稱的列圖標(biāo)來對列重新排序,檢查列上的框來標(biāo)識要合并的列,檢查列上的框來移除列,或填充文本框來對列重新命名等等。換言之,交互式控件便干與任務(wù)流中的操作有關(guān)的詳情的指定。此外,任務(wù)流中的每ー操作可通過姿勢來選擇,且選擇導(dǎo)致捕捉特定操縱操作以及時間上在先的操作的執(zhí)行的預(yù)覽被顯示。此外,對于依賴性操縱操作,對數(shù)據(jù)作出的任何改變可被自動地帯入。任務(wù)也可在流中相對于其他任務(wù)而移動、被折疊成ー組其他任務(wù)、或被重構(gòu)等等。作為示例,考慮數(shù)據(jù)操縱由于存在列名稱被改變的相關(guān)聯(lián)的數(shù)據(jù)源而不起作用的場景。用戶可采用任務(wù)流來導(dǎo)航至處理該列的點,或系統(tǒng)可使用針對問題任務(wù)的圖標(biāo)來標(biāo)識該錯誤。在選擇該問題任務(wù)之后,用戶可將該列重新命名為后續(xù)操縱操作所期望的名稱。改變隨后被帶入,且該問題被修復(fù)。任務(wù)流組件240結(jié)合操作組件210、預(yù)覽組件220以及資源組件230,使得數(shù)據(jù)操縱對于信息工作者以及一般公眾執(zhí)行任意復(fù)雜的數(shù)據(jù)操縱而言是簡便的。換言之,不存在操縱數(shù)據(jù)需要的大量所學(xué)知識。數(shù)據(jù)操縱操作在視覺上被表示成用戶界面隱喻(例如,示出對于拆分操作將一列拆分成兩列的圖形),可以選擇該用戶界面隱喻以供執(zhí)行,這隨后可導(dǎo)致將操作插入任務(wù)流中以及預(yù)覽被應(yīng)用了操作的數(shù)據(jù)。隨著用戶通過與系統(tǒng)和/或其他裝置的交互獲得知識,用戶可能希望更直接地指定數(shù)據(jù)操縱。公式組件250提供該機制。公式組件250提供程序性表達式或公式(以所支持的底層數(shù)據(jù)操縱語言來指定)的視覺表示。由于數(shù)據(jù)操縱操作被指定,公式組件250利用圖形表示可以顯示對應(yīng)的程序性表達式或公式(例如,根據(jù)程序語言語法來指定),該程序性表達式或公式在后臺被自動地產(chǎn)生。這向用戶提供了更多地學(xué)習(xí)底層數(shù)據(jù)操縱語言的機會。此外,公式組件250可直接地接受數(shù)據(jù)操縱操作或?qū)λ@示的表達式的修改。換言之,操作可相對于數(shù)據(jù)操縱語言 來被程序性地指定和/或修改??梢援a(chǎn)生結(jié)果,就好像改變是利用圖形用戶界面機制來指定的那樣。因此,諸如開發(fā)者等更高級的用戶可通過直接指定來訪問底層數(shù)據(jù)操縱語言的完整表達。為進ー步輔助直接指定,自動完成功能可由公式組件250采用,來根據(jù)當(dāng)前指定的表達式以及與所采用的數(shù)據(jù)操縱語言相關(guān)聯(lián)的語法(例如句法)來預(yù)測并建議字符、單詞、短語、關(guān)鍵詞、符號等。圖3是示出由用戶界面組件140所產(chǎn)生的各方面的示例性實施例的屏幕截圖。提供了本屏幕截圖以便于對本公開的各方面的澄清和理解。因此,所要求保護的主題不旨在對其限制,因為存在各種方式來呈現(xiàn)圖形用戶界面的元素并與其交互以便產(chǎn)生基本相同的結(jié)果。如圖所示,提供了能夠呈現(xiàn)多個工具欄的帶狀條310。這里,“Table Tools(表エ具)”已被選擇。此外,存在尤其是表示動作可在哪里被執(zhí)行(例如,對于列、行、表……)的一系列選項卡。這里,“Columns(列)”選項卡已被選擇,且數(shù)據(jù)操縱操作可按功能來分割(例如,Select & Order (選擇和排序)、Headers (標(biāo)題)、Add (添加)、Split (拆分)、Merge (合并)、transform (變換))。還描繪了任務(wù)流320,該任務(wù)流320提供數(shù)據(jù)操縱操作的記錄。如圖所示,任務(wù)流包括帶有指示源和特定操作的圖形的多個框。向右指的箭頭被定位在這些框之間,以指示隨時間的操作或從左向右的連續(xù)細(xì)化。此外,盡管未示出,但可以理解,在選擇任務(wù)之后,可以提供附加圖形用戶界面支持,以便于對特定任務(wù)的指定,該附加圖形用戶界面支持包括例如,文本框、下拉框以及按鈕等等。任務(wù)流320的左邊存在多個選項卡320,這些選項卡指定可在其上執(zhí)行數(shù)據(jù)操縱的多個數(shù)據(jù)源。這里,第一選項卡“Resourcel(資源I)”是活動的。選擇另ー選項卡會將所選數(shù)據(jù)源帶到最前端。預(yù)覽340是顯示滿足數(shù)據(jù)源上的操縱操作的數(shù)據(jù)子集的窗ロ窗格,如任務(wù)流320中所指定的以及句法上在公式欄350中所指定的。如圖所示,預(yù)覽在公共表的表示中顯示數(shù)據(jù)。此外,可以理解,可響應(yīng)于諸如對其所執(zhí)行的過濾操作或合并來自異構(gòu)數(shù)據(jù)源的數(shù)據(jù)等附加任務(wù),來基本實時地修改預(yù)覽340。任務(wù)流320還可與預(yù)覽組件340交互,以便注入交互式控件。如這里所示出的,對于移除列的這一任務(wù),框342被注入到預(yù)覽340中的每一列上,框342可通過查看該框來被選擇以指示該列要被移除。這里,如灰色陰影所指示的,選擇一列以供移除。任務(wù)流320還包括與任務(wù)相關(guān)聯(lián)的部分322,該部分322包括用于基于與預(yù)覽控件的交互來更新數(shù)據(jù)的按鈕、以及用于指示針對特定任務(wù)和預(yù)覽控件的操縱已完成或已做完的按鈕??傊憫?yīng)于簡單的用戶界面姿勢(例如,定點、點擊……),各任務(wù)的程序被建立(例如,查詢、查詢構(gòu)建器……)。此外,這樣的界面姿勢被綁定到公式欄350,該公式欄350也可由高級用戶直接修改。而且,可將與任務(wù)流相關(guān)聯(lián)的所有公式(或換言之,整個程序)顯示在例如分開的公式視圖窗ロ或窗ロ窗格中。作為示例,圖4示出描繪整個程序410的示例性公式視圖的屏幕截圖400。以此方式,高級用戶可直接編輯資源和任務(wù)流管理的整個程序。 存在編程環(huán)境的范圍。一方面,存在傳統(tǒng)編程環(huán)境,程序在其中被編譯、運行和調(diào)試。另ー方面是宏記錄器,其中動作被記錄且稍后再次運行。該傳統(tǒng)編程環(huán)境是非常詳細(xì)的,且編程者具有完全的控制。然而,編程者并不立即知道動作的實際效果將會是什么,因為直到程序被運行時才知道動作的實際效果。因此,與多次采用該方法相關(guān)聯(lián)的摩擦或困難是大的。在該范圍的另一端,宏記錄器是非常簡便的,但如果犯下任何錯誤,則編輯該宏記錄幾乎將是不可能的。另外,如果編程者必需運行通過各動作例如三十次,以便獲取完美的記錄,這是非常費カ且痛苦的。此外,傳統(tǒng)編程環(huán)境針對諸如具有大量知識的開發(fā)者等高級用戶,而宏記錄器針對具有很少所需知識的信息工作者。由用戶界面組件140所生成的本編程環(huán)境與上述編程環(huán)境不同,且可位于該范圍中間的某處。首先,本編程環(huán)境以信息工作者為目標(biāo),或換言之,少量所學(xué)知識是需要的。然而,本編程環(huán)境還支持更高級的用戶。此外,該編程環(huán)境是不斷運行的(或至少看上去是這樣(例如,惰性的/按需執(zhí)行)),因此用戶可繼續(xù)觀察所執(zhí)行的操作的效果。同樣,任務(wù)流可被持續(xù)地成形或操縱。這里,任務(wù)流的中間ー改變,用戶/編程者就可前往任務(wù)流的末尾并確保該值是正確的。在傳統(tǒng)編程環(huán)境中,如果代碼行在中間被改變,則在編程者得出該代碼在中間被修復(fù)且結(jié)果是正確的之前,該編程者可能花費若干小時來調(diào)試。對于宏記錄器,必需持續(xù)地記錄新的宏并調(diào)試。參考若干組件之間的交互已經(jīng)描述了上述系統(tǒng)、架構(gòu)、環(huán)境等。應(yīng)該理解,這樣的系統(tǒng)和組件可以包括其中指定的那些組件或子組件,某些指定的組件或子組件,和/或附加的組件。子組件也可以被實現(xiàn)為在通信上被耦合到其他組件而不是被包括在父組件中的組件。此外,一個或多個組件和/或子組件可以組合成提供聚集功能的單個組件。系統(tǒng)、組件、和/或子組件之間的通信可以根據(jù)推送(push)和/或拉取(pull)模型來實現(xiàn)。各組件也可以與ー個或多個其他組件進行交互,出于簡要考慮在此未具體描述其他組件,但本領(lǐng)域的技術(shù)人員均已知。此外,以上公開系統(tǒng)以及以下方法的各個部分可以包括人工智能、機器學(xué)習(xí)或基于知識或規(guī)則的組件、子組件、過程、手段、方法或機制(例如,支持向量機、神經(jīng)網(wǎng)絡(luò)、專家系統(tǒng)、貝葉斯置信網(wǎng)絡(luò)、模糊邏輯、數(shù)據(jù)融合引擎、分類器..·)。這樣的組件和其它組件可以自動化其執(zhí)行的某些機制或過程,由此使得系統(tǒng)和方法的各部分更為自適應(yīng)以及高效及智能。作為示例而非限制,用戶界面組件140可利用這樣的機制來確定或推斷數(shù)據(jù)操縱操作以供根據(jù)上下文來呈現(xiàn)??紤]到以上描述的示例性系統(tǒng),參考圖5-7的流程圖將可以更好地理解依照所公開的主題實現(xiàn)的方法。盡管為了說明簡潔起見,按照一系列框示出和描述了方法,但是,應(yīng)該理解和知道,所要求保護的主題不限于框的順序,因為ー些框可以按與此處所描繪和描述的不同的順序進行和/或與其它框并發(fā)地進行。此外,并非全部所示出的框都是實現(xiàn)下面所描述的方法所必需的。參考圖5,示出了利用預(yù)覽來便于數(shù)據(jù)操縱的方法500。在附圖標(biāo)記510,從用戶接收與數(shù)據(jù)操縱有關(guān)的輸入。例如,這樣的輸入可以與數(shù)據(jù)操縱操作相對應(yīng)。在附圖標(biāo)記520,根據(jù)該輸入從數(shù)據(jù)源獲得數(shù)據(jù)。例如,可將數(shù)據(jù)操縱操作發(fā)送至數(shù)據(jù)源以供處理,其中數(shù)據(jù)源具有執(zhí)行該操作的能力。此外,數(shù)據(jù)操縱操作可以用過濾器來指定以返回數(shù)據(jù)的子集。在附圖標(biāo)記530,用所獲得的數(shù)據(jù)(例如,滿足操縱約束的數(shù)據(jù)子集)來顯示預(yù)覽。隨后,方法500可終止??扇芜x地,該方法可在510處繼續(xù),在那里從用戶獲得附加輸入。本 質(zhì)上,方法500可持續(xù)運行以接受用戶輸入并顯示預(yù)覽。圖6描繪了利用任務(wù)流來便于數(shù)據(jù)操縱的方法600。在附圖標(biāo)記610,例如,通過用戶界面從用戶接收數(shù)據(jù)源的標(biāo)識。在附圖標(biāo)記620,對于該數(shù)據(jù)源,生成并顯示預(yù)覽。在附圖標(biāo)記630,將該數(shù)據(jù)源添加到標(biāo)識特定用戶動作的任務(wù)流中,這里是數(shù)據(jù)源的標(biāo)識。在附圖標(biāo)記640,通過選擇操作的圖形表示或該操作針對例如程序性表達式或公式的指定,來接收針對所標(biāo)識的數(shù)據(jù)源的數(shù)據(jù)操縱操作。在附圖標(biāo)記650,基于操作生成并顯示預(yù)覽。在一個實施例中,預(yù)覽生成可以與將操作推至數(shù)據(jù)源以供用過濾器執(zhí)行以及接受結(jié)果相對應(yīng)。在附圖標(biāo)記660,將操作添加到任務(wù)流。隨后,方法600可以終止或另選地循環(huán)回640以繼續(xù)接收附加的數(shù)據(jù)操縱操作。一旦構(gòu)建了任務(wù)流,就可利用該任務(wù)流來導(dǎo)航至特定操作以便作出改變。例如,如果任務(wù)流已經(jīng)運行一段時間,且例如由于先前用斜杠表示的日期(例如,1/1/2011)已改變且現(xiàn)在用破折號來表示(例如,1-1-2011)而導(dǎo)致錯誤發(fā)生,則用戶可導(dǎo)航至任務(wù)流的特定部分,并且作出相對于任務(wù)流中的后續(xù)操作將被反映出的改變。此外,被表示為任務(wù)的操作也可在該流中相對于其他任務(wù)而移動、被折疊成ー組其他任務(wù)(例如,任務(wù)中超過ー個的操作)、或被重構(gòu)等等。圖7是便于數(shù)據(jù)操縱的方法700的流程圖。在參考標(biāo)號710,可標(biāo)識上下文信息。這樣的信息可與數(shù)據(jù)源、數(shù)據(jù)、數(shù)據(jù)操縱操作、用戶歷史(例如,先前數(shù)據(jù)操縱)、和/或流行的操作等相對應(yīng)。在附圖標(biāo)記720,根據(jù)所標(biāo)識的上下文信息來顯示數(shù)據(jù)操縱操作的視覺表示。例如,在操作被視覺地表示在帶狀條界面中的情況下,相比于其他被確定為不相關(guān)的操作,可以顯示那些基于上下文被確定為相關(guān)的操作以供用戶選擇。此處使用的術(shù)語“組件”和“系統(tǒng)”及其各種形式g在表示與計算機相關(guān)的實體,其可以是硬件、硬件和軟件的組合、軟件、或執(zhí)行中的軟件。例如,組件可以是但不限于是,在處理器上運行的進程、處理器、對象、實例、可執(zhí)行程序、執(zhí)行的線程、程序和/或計算機。作為說明,在計算機上運行的應(yīng)用和計算機都可以是組件。一個或多個組件可以駐留在進程和/或執(zhí)行線程中,并且組件可以位于一個計算機內(nèi)和/或分布在兩個或更多計算機之間。在本文中使用的詞語“示例性”或其各種形式意味著用作示例、實例或說明。在此被描述為“示例性”的任何方面或設(shè)計并不一定要被解釋為相比其它方面或設(shè)計更優(yōu)選或有利。此外,各示例只是出于清楚和理解的目的來提供的并且并不意味著以任何方式限制或約束所要求保護主題或本發(fā)明的相關(guān)部分??梢岳斫?,本來可呈現(xiàn)不同范圍的多個附加或替換示例,但出于簡明的目的已被省略。如此處所使用,術(shù)語“推論”或“推斷”通常指的是從經(jīng)由事件和/或數(shù)據(jù)捕捉的一組觀察結(jié)果來推理或推斷系統(tǒng)、環(huán)境、和/或用戶狀態(tài)的過程??梢允褂猛茢鄟順?biāo)識特定上下文或動作,也可以生成例如狀態(tài)上的概率分布。推斷可以是概率性的,即,基于對數(shù)據(jù)和事件的考慮,計算在感興趣狀態(tài)上的概率分布。推斷也可以是指用于從ー組事件和/或數(shù)據(jù)構(gòu)成較高級別的事件的技術(shù)。這樣的推斷導(dǎo)致從一組觀察到的事件和/或存儲的事件數(shù)據(jù)構(gòu)建新的事件或動作,不管事件在時間上是否緊密相關(guān),以及事件和數(shù)據(jù)是來自ー個還是多個事件和數(shù)據(jù)源??刹捎酶鞣N分類方案和/或系統(tǒng)(例如,支持向量機、神經(jīng)網(wǎng)絡(luò)、專家系統(tǒng)、貝葉斯信任網(wǎng)絡(luò)、模糊邏輯、數(shù)據(jù)融合引擎……)來執(zhí)行關(guān)于所要求保護的主題的自動化和/或推斷的動作。而且,對于在詳細(xì)描述或權(quán)利要求書中使用術(shù)語“包括”、“包含”、“具有”、“含有”或其它形式的變型而言,這樣的術(shù)語g在以類似于術(shù)語“包括”的方式體現(xiàn)包含性,如同“包括”在用作權(quán)利要求書中的過渡詞時所解釋的那樣。為了為所要求保護主題提供上下文,圖7以及以下討論g在提供對其中可以實現(xiàn)本主題的各方面的合適環(huán)境的簡要、概括描述。然而,合適的環(huán)境只是示例并且并非g在對使用范圍或功能提出任何限制。盡管能夠在可以在一臺或多臺計算機上運行的程序的計算機可執(zhí)行指令的一般上下文中描述以上公開的系統(tǒng)和方法,但是,本領(lǐng)域的技術(shù)人員將認(rèn)識到,各方面也可以與其他程序模塊等相結(jié)合地實現(xiàn)。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件和數(shù)據(jù)結(jié)構(gòu)等。此外,本領(lǐng)域技術(shù)人員可以理解,上述系統(tǒng)和方法可用各種計算機系統(tǒng)配置實現(xiàn),包括單處理器、多處理器或多核處理器計算機系統(tǒng)、小型計算設(shè)備、大型計算機、以及個人計算機、手持式計算設(shè)備(例如,個人數(shù)字助理(PDA)、電話、手表……)、基于微處理器或可編程消費或エ業(yè)電子設(shè)備等。各方面也可以在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠程處理設(shè)備執(zhí)行的分布式計算環(huán)境中實現(xiàn)。然而,所要求保護主題的某些方面,如果不是所有方面的話,可以在獨立計算機上實施。在分布式計算環(huán)境中,程序模塊可以位于本地和遠程存儲器存儲設(shè)備中的一個或兩者中。參考圖8,示出了示例通用計算機810或計算設(shè)備(例如,臺式機、膝上型計算機、服務(wù)器、手持式設(shè)備、可編程消費或エ業(yè)電子產(chǎn)品、機頂盒、游戲系統(tǒng)……)。計算機810包括一個或多個處理器820、存儲器830、系統(tǒng)總線840、大容量存儲850、以及ー個或多個接ロ組件870。系統(tǒng)總線840與至少上述系統(tǒng)組件通信地耦合。然而,可以理解,在其最簡單的形式中,計算機810可包括耦合到存儲器830的一個或多個處理器820,該ー個或多個處理器820執(zhí)行存儲在存儲器830中的各種計算機可執(zhí)行動作、指令和/或組件。處理器820可以用通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其它可編程邏輯器件、分立門或晶體管邏輯、分立硬件組件或被設(shè)計為執(zhí)行此處描述的功能的其任意組合來實現(xiàn)。通用處理器可以是微處理器,但在替換方案中,處理器可以是任何處理器、控制器、微控制器、或狀態(tài)機。處理器820還可被實現(xiàn)為、計算設(shè)備的組合,例如DSP和微處理器的組合、多個微處理器、多核處理器、結(jié)合DSP核的一個或多個微處理器、或任何其它這種配置。計算機810可包括各種計算機可讀介質(zhì)或以其他方式與各種計算機可讀介質(zhì)交互以便于控制計算機810來實現(xiàn)所要求保護主題的ー個或多個方面。計算機可讀介質(zhì)可以是能由計算機810訪問的任何可用介質(zhì),并包含易失性和非易失性介質(zhì)以及可移動和不可移動介質(zhì)。作為示例而非限制,計算機可讀介質(zhì)可包括計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任意方法或技術(shù)來實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括,但不限于,存儲器設(shè)備(例如,隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)……)、磁存儲設(shè)備(例如,硬盤、軟盤、磁帶 盒、磁帶……)、光盤(例如,緊致盤(CD)、數(shù)字多功能盤(DVD)……)、以及固態(tài)設(shè)備(例如,固態(tài)驅(qū)動器(SSD)、閃存驅(qū)動器(例如,卡、棒、鍵驅(qū)動器……)……)、或者可用于存儲所需信息并且可由計算機810訪問的任何其他介質(zhì)。通信介質(zhì)通常以諸如載波或其他傳輸機制等已調(diào)制數(shù)據(jù)信號來體現(xiàn)計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),并包括任何信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”是指具有以在信號中編碼信息的方式被設(shè)定或改變其一個或多個特征的信號。作為示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接之類的有線介質(zhì),以及諸如聲學(xué)、RF、紅外及其他無線介質(zhì)之類的無線介質(zhì)。上述的任意組合也應(yīng)包含在計算機可讀介質(zhì)的范圍內(nèi)。存儲器830和大容量存儲850是計算機可讀存儲介質(zhì)的示例。取決于計算設(shè)備的確切配置和類型,存儲器830可以是易失性的(例如RAM)、非易失性的(例如ROM、閃
      存......)或是兩者的某種組合。作為示例,包括諸如在啟動期間在計算機810內(nèi)的元件之
      間傳輸信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS)可被存儲在非易失性存儲器中,而易失性存儲器可擔(dān)當(dāng)外部高速緩存存儲器以便于處理器820的處理等。大容量存儲850包括相對于存儲器830用于存儲大量數(shù)據(jù)的可移動/不可移動、易失性/非易失性計算機存儲介質(zhì)。例如,大容量存儲850包括但不限于,諸如磁盤或光盤驅(qū)動器、軟盤驅(qū)動器、閃存存儲器、固態(tài)驅(qū)動器、或記憶棒的ー個或多個設(shè)備。存儲器830和大容量存儲850可包括或其中存儲有操作系統(tǒng)860、一個或多個應(yīng)用862、ー個或多個程序模塊864和數(shù)據(jù)866。操作系統(tǒng)860用于控制和分配計算機810的資源。應(yīng)用862包括系統(tǒng)和應(yīng)用軟件之ー或兩者,并且可利用操作系統(tǒng)860對資源的管理通過存儲在存儲器830和/或大容量存儲850中的程序模塊864和數(shù)據(jù)866來執(zhí)行ー個或多個動作。因此,應(yīng)用862可根據(jù)由此提供的邏輯來將通用計算機810變成專用機器。所要求保護主題的全部或各部分可以使用產(chǎn)生控制計算機以實現(xiàn)所公開功能的軟件、固件、硬件或其任意組合的標(biāo)準(zhǔn)編程和/或工程技術(shù)來實現(xiàn)。作為示例而非限制,便于數(shù)據(jù)操縱的系統(tǒng)100或其一部分可以是應(yīng)用862或形成應(yīng)用862的一部分,并且包括存儲在存儲器和/或大容量存儲850中的一個或多個模塊864和數(shù)據(jù)866,這些模塊和數(shù)據(jù)的功能可在由一個或多個處理器820執(zhí)行時實現(xiàn)。根據(jù)ー個特定實施例,處理器820可與片上系統(tǒng)(SOC)或在單個集成電路基座上包括或換言之集成硬件和軟件的類似架構(gòu)相對應(yīng)。此處,處理器820可包括至少與處理器820和存儲器830相似的一個或多個處理器以及存儲器等。常規(guī)處理器包括最少量的硬件和軟件并且廣泛依賴于外部硬件和軟件。作為對比,處理器的SOC實現(xiàn)更強大,因為它將硬件和軟件嵌入其中以能夠用最少的硬件和軟件或不依賴于外部硬件和軟件來啟用特定功能。例如,系統(tǒng)100和/或相關(guān)聯(lián)的功能可被嵌入到SOC體系結(jié)構(gòu)中的硬件內(nèi)。計算機810還包括通信地耦合到系統(tǒng)總線840并方便與計算機810的交互的ー個或多個接ロ組件870。作為示例,接ロ組件870可以是端ロ(例如,串行、并行、PCMCIA、USB、
      火線......)或接ロ卡(例如,聲音、視頻......)等等。在ー個示例實現(xiàn)中,接ロ組件870可被
      具體化為用戶輸入/輸出接ロ,該用戶輸入/輸出接ロ使得用戶能夠通過ー個或多個輸入設(shè)備(例如,諸如鼠標(biāo)等定點設(shè)備、跟蹤球、指示筆、觸摸墊、鍵盤、話筒、操縱桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀、照相機、其他計算機……)來將命令和信息輸入到計算機810中。在另ー示例實現(xiàn)中,接ロ組件870可被具體化為輸出外圍接ロ,該輸出外圍接ロ向顯示器(例如,CRT、LCD、等離子……)、揚聲器、打印機和/或其他計算機等提供輸出。此外,接ロ組件870可被具體化為網(wǎng)絡(luò)接ロ,該網(wǎng)絡(luò)接ロ使得能夠諸如通過有線或無線通信鏈路與其 他計算設(shè)備(未示出)通信。以上所已經(jīng)描述的內(nèi)容包括所要求保護主題的各方面的示例。當(dāng)然,出于描繪所要求保護主題的目的而描述每ー個可以想到的組件或方法的組合是不可能的,但本領(lǐng)域內(nèi)的普通技術(shù)人員應(yīng)該認(rèn)識到,所要求保護主題的許多進一步的組合和排列都是可能的。從而,所公開的主題g在涵蓋落入所附權(quán)利要求書的精神和范圍內(nèi)的所有這樣的變更、修改和變化。
      權(quán)利要求
      1.一種便于數(shù)據(jù)操縱的方法,包括 采用被配置成執(zhí)行存儲在存儲器(830)中的計算機可執(zhí)行指令以執(zhí)行以下動作的至少ー個處理器(820) 響應(yīng)于向至少ー個外部數(shù)據(jù)源發(fā)出的、對滿足指定的數(shù)據(jù)操縱操作的數(shù)據(jù)子集的查詢,將從該外部數(shù)據(jù)源所獲得的數(shù)據(jù)子集顯示在圖形用戶界面的一部分中。
      2.如權(quán)利要求I所述的方法,其特征在于,還包括呈現(xiàn)由數(shù)據(jù)操縱語言支持的操作的視覺表示。
      3.如權(quán)利要求I所述的方法,其特征在于,還包括呈現(xiàn)所指定的數(shù)據(jù)操縱操作的視覺 表不。
      4.如權(quán)利要求3所述的方法,其特征在于,按照所指定的數(shù)據(jù)操縱操作被指定的次序來呈現(xiàn)一系列所指定的數(shù)據(jù)操縱操作的視覺表示。
      5.如權(quán)利要求4所述的方法,其特征在于,還包括顯示與選自所述一系列所指定的數(shù)據(jù)操縱操作的一數(shù)據(jù)操縱操作相關(guān)聯(lián)的數(shù)據(jù)子集。
      6.一種便于數(shù)據(jù)操縱的系統(tǒng)(100),包括 耦合到存儲器(830)的處理器(820),所述處理器(820)被配置成執(zhí)行存儲在所述存儲器(830)中的以下計算機可執(zhí)行組件 第一組件(240),所述第一組件(240)被配置成呈現(xiàn)針對數(shù)據(jù)源來執(zhí)行的各系列操作的視覺表示;以及 第二組件(220),所述第二組件(220)被配置成顯示由執(zhí)行所述一系列操作中的ー個或多個操作所得的數(shù)據(jù)預(yù)覽。
      7.如權(quán)利要求6所述的系統(tǒng),其特征在干,所述ー個或多個操作是跨異構(gòu)數(shù)據(jù)源來執(zhí)行的。
      8.如權(quán)利要求6所述的系統(tǒng),其特征在于,在從所述一系列操作中選擇ー操作之后,所述第二組件顯示所述預(yù)覽。
      9.如權(quán)利要求6所述的系統(tǒng),其特征在于,還包括第三組件,所述第三組件被配置成呈現(xiàn)指定所述ー系列操作的表達式的視覺表示。
      10.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述第二組件被配置成提供具有所述數(shù)據(jù)預(yù)覽的ー個或多個交互式控制元素,以便指定與所述第一組件所呈現(xiàn)的所述一系列操作中的ー個操作有關(guān)的詳情。
      全文摘要
      本發(fā)明公開了數(shù)據(jù)編程環(huán)境。公開了便于數(shù)據(jù)操縱的數(shù)據(jù)編程環(huán)境。呈現(xiàn)了針對一個或多個數(shù)據(jù)源的可用操作的視覺表示。顯示了捕捉針對操縱的數(shù)據(jù)狀態(tài)的數(shù)據(jù)預(yù)覽。此外,一系列所選操作的視覺表示被維護,以便捕捉連續(xù)細(xì)化并輔助后續(xù)交互。
      文檔編號G06F17/30GK102693263SQ20121003756
      公開日2012年9月26日 申請日期2012年2月17日 優(yōu)先權(quán)日2011年2月18日
      發(fā)明者E·克里斯騰森, G·德拉-利貝拉, J·佛克, S·密利特 申請人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1