欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

以多維數(shù)據(jù)為中心的服務(wù)協(xié)議的制作方法

文檔序號:6442672閱讀:218來源:國知局
專利名稱:以多維數(shù)據(jù)為中心的服務(wù)協(xié)議的制作方法
技術(shù)領(lǐng)域
本申請涉及以多維數(shù)據(jù)為中心的服務(wù)協(xié)議。
背景技術(shù)
數(shù)據(jù)處理是計算機編程的基本部分??蓮母鞣N編程語言中選擇創(chuàng)建程序的編程語言。用于特定的應(yīng)用的所選語言可取決于應(yīng)用上下文、開發(fā)者的偏好、或公司策略,以及其他因素。無論所選語言如何,開發(fā)者最終將必須處理數(shù)據(jù),即查詢和更新數(shù)據(jù)。已開發(fā)稱為語言集成查詢(LINQ)的技術(shù)以促進來自編程語言內(nèi)部的數(shù)據(jù)交換。 LINQ提供方便且聲明性簡寫查詢句法以在編程語言(例如,C# 、Visual Basic ...)內(nèi)部允許對查詢的指定。具體而言,提供映射到低級語言構(gòu)造或原語(諸如方法和拉姆達表達式)的查詢運算符。提供用于各種運算(例如,過濾、投影、鏈接、分組、排序……)族的查詢運算符,并且查詢運算符可包括但不限于映射到實現(xiàn)這些名稱所表示的運算符的方法的 “where”和“select”運算符。作為不例,用戶可以以諸如“from n in numbers where n < IOselect n”的形式指定查詢表達式,其中“numbers”是數(shù)據(jù)源并且該查詢從數(shù)據(jù)源返回小于10的整數(shù)。此外,可以以各種方式組合查詢運算符以生成任意復(fù)雜度的查詢??梢源嬖趯τ诓樵兲幚淼目蛻魴C-服務(wù)器關(guān)系,其中客戶機生成查詢而服務(wù)器執(zhí)行該查詢。此外,可在客戶機和服務(wù)器的執(zhí)行環(huán)境之間存在差異,通常稱為阻抗失配。該阻抗失配可通過將查詢的客戶機表示直接轉(zhuǎn)換成目標(biāo)-服務(wù)器可理解的形式來被橋接。例
如,通用編程語言(例如,C# ,Visual Basic ,Java......)內(nèi)集成的查詢表達式可被翻譯
為諸如T-SQL(例如,事務(wù)-結(jié)構(gòu)化查詢語言)之類的域?qū)S镁幊陶Z言,以使得可相對于關(guān)系數(shù)據(jù)庫系統(tǒng)來執(zhí)行。這可通過利用查詢源和執(zhí)行目標(biāo)的密切知識在該源和該目標(biāo)之間映射來實現(xiàn)。

發(fā)明內(nèi)容
下面呈現(xiàn)了簡化的發(fā)明內(nèi)容,以便提供對所公開主題的某些方面的基本概念。本發(fā)明內(nèi)容不是廣泛性的概觀。它并不旨在標(biāo)識關(guān)鍵/重要元素,也不旨在劃定所要求保護主題的范圍。其唯一目的是以簡化形式呈現(xiàn)一些概念,作為稍后呈現(xiàn)的更具體實施例的序簡言之,本發(fā)明一般涉及以多維數(shù)據(jù)為中心的服務(wù)協(xié)議??缮瑟毩⒂诓樵?表達式生成和執(zhí)行環(huán)境的查詢表達式的中間表示。換言之,中間表示在無需域?qū)S弥R的情況下被生成。該中間表示隨后可被提供到查詢執(zhí)行服務(wù),該查詢執(zhí)行服務(wù)可將該中間表示轉(zhuǎn)換成可本地執(zhí)行的表示。隨后,查詢表達式可被執(zhí)行并且返回結(jié)果。因此,中間表示為跨多個不同的執(zhí)行環(huán)境的查詢表達式的交換提供了統(tǒng)一的手段。此外,可使用關(guān)于中間表示的多個特征。例如,中間表示的至少一部分可根據(jù)特定執(zhí)行上下文(例如,自動地鍵入的)而被丟棄。此外,可結(jié)合中間表達式傳送客戶機上下文信息以使得能夠基于此做出關(guān)于查詢執(zhí)行的決定。此外,可利用各種壓縮技術(shù)來在傳送之前減少查詢表達式和/或其表示的總體大小。為實現(xiàn)上述及相關(guān)目的,在此結(jié)合以下描述和附圖描述了所要求保護主題的某些說明性方面。這些方面指示可實踐本主題的各種方式,它們均落在所要求保護主題的范圍之內(nèi)。當(dāng)結(jié)合附圖閱讀以下詳細描述時,本發(fā)明的其他優(yōu)點和新穎特征將變得顯而易見。


圖I是數(shù)據(jù)獲得系統(tǒng)的框圖。
圖2是代表性通信組件的框圖。
圖3是便于數(shù)據(jù)獲得的系統(tǒng)的框圖。
圖4示出了以數(shù)據(jù)為中心的協(xié)議的具體示例。
圖5是數(shù)據(jù)獲得的方法的流程圖。
圖6是提供數(shù)據(jù)的方法的流程圖。
圖7是提供以數(shù)據(jù)為中心的服務(wù)的方法的流程圖。
圖8是示出用于本發(fā)明各方面的合適操作環(huán)境的示意性框圖。
具體實施方式
以下的詳細內(nèi)容一般涉及以多維數(shù)據(jù)為中心的服務(wù)協(xié)議。各種服務(wù)可用于處理對
數(shù)據(jù)的請求。例如,多個服務(wù)器可被連接于網(wǎng)絡(luò)的客戶機訪問來執(zhí)行查詢表達式,或更簡而言之,查詢。查詢表達式的中間表示可被生成以供相對于多個執(zhí)行環(huán)境使用,而非將查詢表達式直接從源格式翻譯成目標(biāo)格式。隨后,該中間表示可被傳送到查詢執(zhí)行環(huán)境,該查詢執(zhí)行環(huán)境可將該中間表示轉(zhuǎn)換成可本地執(zhí)行的形式。通過這種方式,不需要知道有關(guān)執(zhí)行環(huán)境的復(fù)雜的細節(jié),這可允許查詢實質(zhì)上在任何執(zhí)行上下文中執(zhí)行。此外,中間表示可從關(guān)于查詢執(zhí)行器的改變(例如,數(shù)據(jù)源方案改變)中隔離查詢表達式生成器。另外,數(shù)個因素也可塑造經(jīng)創(chuàng)建和被傳送的中間表示。例如,在中間表示的一些部分不被執(zhí)行環(huán)境支持的情況下,這些部分可在傳送之前被移除。此外,客戶機上下文信息可被添加到中間表示以使得執(zhí)行環(huán)境能夠以各種方式使用這樣的數(shù)據(jù)。此外,查詢表達式的至少一些部分可被壓縮以促進傳輸。換言之,協(xié)議可以是多維的?,F(xiàn)在參考附圖更詳細地描述本公開的各個方面,在全部附圖中用相似的標(biāo)記來指示相似或相應(yīng)的元素。然而應(yīng)該理解,附圖及其相關(guān)詳細描述不旨在將所要求保護的主題限于所公開的具體形式。相反,其意圖是覆蓋落在所要求保護主題的精神和范圍之內(nèi)的所有修改、等價物和替換的方案。最初參考圖1,示出了數(shù)據(jù)獲得系統(tǒng)100,該數(shù)據(jù)獲得系統(tǒng)100包括查詢生成組件 110、表示生成組件120、通信組件130以及多個查詢執(zhí)行組件140 (1-M,其中M是正整數(shù))。 查詢生成組件110和表示生成組件120可形成客戶機查詢-生成環(huán)境的一部分,而查詢執(zhí)行組件140可形成服務(wù)器查詢-執(zhí)行環(huán)境的一部分,其中環(huán)境指其中可發(fā)生生成或執(zhí)行的底層平臺或上下文(例如,硬件/軟件)。通信組件130使得能夠在客戶機查詢-生成環(huán)境和服務(wù)器-執(zhí)行環(huán)境之間進行通信。查詢生成組件110產(chǎn)生查詢表達式(例如,一個或多個值和/或運算符的組合) 的本地表示。例如并且雖然并不限于此,查詢表達式可對應(yīng)于所指定的關(guān)于查詢運算符的組合的語言集成查詢(LINQ或LINQ查詢),并且所生成的本地表示可以是表達式樹。此外, 查詢表達式可任選地被分割成兩個或更多個查詢表達式,以使得能夠?qū)崿F(xiàn)分布式的查詢執(zhí)行。然而,為清楚且簡單起見,本說明書針對單個查詢表達式,其可以是被指定為用于分布式執(zhí)行的多個子-查詢表達式中的一個。表示生成組件120接收、檢索或以其他方式獲取或獲得指定關(guān)于一個或多個數(shù)據(jù)源的查詢的查詢表達式,并產(chǎn)生該查詢表達式的中間表示,該中間表示是獨立于查詢-表達式生成和執(zhí)行環(huán)境的(例如,無需域?qū)S弥R)。然而,中間表示捕捉由一個或多個查詢
運算符的排序(例如,通過類型信息、方法調(diào)用......)所暗示的查詢表達式的語義(例
如,含義)。例如,如果查詢表達式的客戶機表示是表達式樹,那么表示生成組件120可迭代通過樹的各節(jié)點并生成不依賴于特定執(zhí)行上下文(例如,硬件或軟件)的等同代碼。在一特定的實例中,類型信息可在不同的粒度級被生成,這是因為信息可被確定或推斷并且可被重構(gòu)。換言之,中間表示是客戶機查詢-生成環(huán)境和服務(wù)器查詢-執(zhí)行環(huán)境之間獨立于域的知識交換的手段。此外,表示生成組件120可包括中間表示內(nèi)的元數(shù)據(jù),諸如稍后在此描述的客戶機上下文信息。通信組件130提供了一種用于促進中間表示到一個或多個查詢執(zhí)行組件140的通信的方式。如將稍后在此描述,通信組件130可使得能夠在客戶機查詢-生成環(huán)境和服務(wù)器查詢-執(zhí)行環(huán)境之間實現(xiàn)關(guān)于中間表示的特定協(xié)議的協(xié)商。查詢執(zhí)行組件140可包括與查詢表達式被構(gòu)造于其中的執(zhí)行上下文不同的執(zhí)行上下文(例如,支持的硬件/軟件)。例如,查詢表達式可用第一編程語言來構(gòu)造,而查詢執(zhí)行組件140支持第二編程語言。此外,執(zhí)行上下文也可在各查詢執(zhí)行組件140之間變化。 然而,各個查詢執(zhí)行組件140可將查詢表達式的中間表示轉(zhuǎn)換成可在其特定上下文內(nèi)執(zhí)行的表示。中間表示的使用是有益的,因為其提供了用于數(shù)據(jù)獲得的統(tǒng)一接口。換言之,可產(chǎn)生單個中間表示,而非產(chǎn)生針對各特定查詢執(zhí)行上下文的多個表示。同樣,查詢生成器不需要了解復(fù)雜的特定查詢上下文來與該上下文進行交互,并且特定的查詢表達式可以在到中間表示的轉(zhuǎn)換期間被拒絕。同樣,查詢表達式生成與關(guān)于查詢執(zhí)行組件140 (例如,上下文、
方案、版本......)的改變隔離。此外,由于中間表示對于多個查詢執(zhí)行組件而言可以是通
用的,所以中間表示能促進分布式和并行處理兩者。作為示例,查詢執(zhí)行組件140可以向另一查詢執(zhí)行組件140提供中間表示以供執(zhí)行由此表示的查詢表達式的至少一部分。圖2描述了代表性的通信組件130。查詢表達式生成和查詢表達式執(zhí)行可以由兩個不同的實體來執(zhí)行。在此,查詢表達式生成可以對應(yīng)于客戶機210活動,而查詢表達式執(zhí)行可以對應(yīng)于服務(wù)器220的活動。當(dāng)然,服務(wù)器220也可以是另一服務(wù)器220的客戶機 210。由于通信組件130促進查詢表達式生成器和查詢表達式執(zhí)行器之間的通信,或換言之促進客戶機210和服務(wù)器220之間的通信,客戶機210和服務(wù)器220中的每個均能包括與通信相關(guān)的各種子組件。更具體的,客戶機210可包括串行化組件212,服務(wù)器220可包括去串行化組件222。串行化組件212對查詢表達式進行串行化,或換言之,將查詢表達式轉(zhuǎn)換為可跨通信框架(例如,因特網(wǎng))傳輸?shù)囊幌盗斜忍?。去串行化組件222可從該一系列比特重構(gòu)查詢表達式。根據(jù)一實施例,查詢表達式的中間表示可以被串行化?;蛘?,經(jīng)串行化的格式可對應(yīng)于中間格式。此外,去串行化組件222可包括映射功能,該映射功能將被去串行化的查詢表達式映射或轉(zhuǎn)換到可由服務(wù)器220執(zhí)行的格式。例如,在生成結(jié)果代碼后, 該結(jié)果代碼可被直接執(zhí)行(例如,使用“eval”函數(shù))或被轉(zhuǎn)變成經(jīng)編譯的形式以供后續(xù)執(zhí)行。此外,需要注意的是,客戶機210和服務(wù)器220可任選地協(xié)商串行化格式,而非依賴于例如默認(rèn)的串行化格式。過濾器組件214也可駐留在客戶機側(cè)并包括移除查詢表達式的中間表示的部分的功能。例如,過濾器組件214可發(fā)起與服務(wù)器220的通信并請求關(guān)于查詢表達式的所支持的范圍的信息,該信息包括功能、能力等。至少部分地基于該信息,過濾器組件214被配置為在傳輸之前移除中間表示的部分。由于中間表示被設(shè)計為供多個具有各種復(fù)雜性和能力的查詢執(zhí)行器使用,諸如數(shù)據(jù)類型之類的某些信息可能在一個上下文中是可用的而在另一上下文中不被使用用。因此,過濾器組件214可根據(jù)特定執(zhí)行上下文來減少所傳輸?shù)臄?shù)據(jù)的量。換言之,過濾器組件214可根據(jù)執(zhí)行上下文來對中間表示執(zhí)行一種類型的有損壓縮。此外,可以理解的是,服務(wù)器220可將查詢執(zhí)行工作分給其他服務(wù)器。在這種情況下, 在來自過濾器組件214的詢問后,服務(wù)器220可用捕捉該服務(wù)器或該服務(wù)器想要使用來確保所需信息是可用的其他服務(wù)器所需要的最大量的數(shù)據(jù)的信息來響應(yīng)。當(dāng)然,可發(fā)起附加的通信來獲取在傳輸之前被丟棄的信息。根據(jù)一實施例,查詢表達式的中間表示和/或其經(jīng)串行化的形式可包括關(guān)于客戶機210的信息(例如,身份、注冊信息),其中客戶機可指代特定計算機和/或計算機的用戶。訪問組件224可從中間表示獲得該信息并利用該信息來控制對查詢表達式執(zhí)行功能的訪問。在某種意義上,服務(wù)器220提供服務(wù)或更具體的,以數(shù)據(jù)為中心的服務(wù),諸如查詢執(zhí)行服務(wù)。出于安全性、可靠性和/或貨幣化原因等,對服務(wù)的訪問可被控制。例如,如果一個體請求查詢執(zhí)行但不具有對服務(wù)的訂閱,則訪問組件224可防止服務(wù)器220執(zhí)行查詢和 /或返回結(jié)果。類似地,出于分析和/或記賬原因,訪問組件224可跟蹤由客戶機210執(zhí)行的查詢的數(shù)目,其中通過與查詢的數(shù)目(例如,每周、每月......)有關(guān)的費用來提供訂閱。圖3是促進數(shù)據(jù)獲得的系統(tǒng)300的框圖。類似于圖I的系統(tǒng)100,系統(tǒng)300包括表示生成組件120、通信組件130和查詢執(zhí)行組件140。簡而言之,表示生成組件120產(chǎn)生查詢表達式的中間表示,該中間表示以通信組件130到查詢執(zhí)行組件140的方式被發(fā)送,該查詢執(zhí)行組件140利用中間表示來產(chǎn)生其可本地執(zhí)行的表示。此外,表示生成組件120包括壓縮組件310,查詢執(zhí)行組件可包括對應(yīng)的解壓縮組件320。壓縮組件310通過應(yīng)用使用幾個比特來編碼信息的壓縮功能來壓縮或換言之,減少所生成的中間表示的大小。解壓縮組件320可被配置為將信息恢復(fù)到其在壓縮之前的形式,或換言之,解壓縮組件320可反轉(zhuǎn)壓縮的效果。根據(jù)一實施例,壓縮組件可在串行化之前對查詢表達式或中間表示進行操作,使得不被限制為傳統(tǒng)的對文本的壓縮方案(例如,Zip文件格式)。此外,應(yīng)當(dāng)理解,在協(xié)議協(xié)商期間,可對特定壓縮功能等達成協(xié)議?;蛘撸煽缢胁樵儽磉_式使用標(biāo)準(zhǔn)的壓縮功能。 在任何情況下,通過利用壓縮,中間文件的大小可以被減少,由此減少需要被傳輸?shù)臄?shù)據(jù)的量以及傳輸全部數(shù)據(jù)的速度。圖4示出了便于澄清和理解有關(guān)所要求保護的主題的各方面的示例性具體場景。 可在客戶機上使用諸如C# :之類的編程語言來指定查詢表達式410。例如,查詢表達式410 可被具體化為語言集成查詢(LINQ或LINQ查詢)。在由各個編譯器進行編譯后,可在客戶機上產(chǎn)生查詢表達式的表達式樹表示420??蓮谋磉_式樹表示420中生成經(jīng)串行化的中間表示430。在此,經(jīng)串行化的中間表示具有JSON(JavaScript對象符號)格式。當(dāng)然,也可使用其他格式,諸如但不限于XML(可擴展標(biāo)記語言)。最終,可從中間表示430生成查詢表達式的JavaScript表示440。在此,JavaScript是與查詢執(zhí)行器相關(guān)聯(lián)的執(zhí)行上下文。 然而,如先前提到的,中間表示430可以被映射,或換言之,被轉(zhuǎn)換,以供在多個不同的執(zhí)行環(huán)境中使用。參考若干組件之間的交互已經(jīng)描述了上述系統(tǒng)、架構(gòu)、環(huán)境等。應(yīng)該理解,這樣的系統(tǒng)和組件可以包括這些組件或其中指定的子組件,某些指定的組件或子組件,和/或附加的組件。子組件也可以被實現(xiàn)為在通信上被耦合到其他組件而不是被包括在父組件中的組件。此外,一個或多個組件和/或子組件可以結(jié)合成提供聚集功能的單個組件。系統(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)、高效及智能。作為示例而非限制,通信組件130可利用這樣的機制來根據(jù)例如歷史和/或上下文信息來確定或推斷最優(yōu)通信協(xié)議??紤]到以上描述的示例性系統(tǒng),參考圖5-7的流程圖將可以更好地理解依照所公開的主題實現(xiàn)的方法。盡管為了說明簡潔起見,作為一系列框示出和描述了方法,但是,應(yīng)該理解,所要求保護的主題不僅限于所描述框的順序,一些框可以按與此處所描繪和描述的不同的順序進行和/或與其它框并發(fā)地進行。此外,并非全部所示出的框都是實現(xiàn)下面所描述的方法所必需的。參考圖5,示出了數(shù)據(jù)獲得的方法500。在附圖標(biāo)記510,標(biāo)識查詢表達式。作為示例,查詢表達式可以具有從語言集成查詢產(chǎn)生的本地客戶機形式(例如,表達式樹)。在附圖標(biāo)記520,獨立于任何特定的查詢生成或執(zhí)行上下文、環(huán)境等來生成查詢表達式的中間表示,其中中間表示維護查詢表達式語義。換言之,中間表示可在沒有任何域?qū)S眯畔⒌那闆r下生成。在標(biāo)記530,根據(jù)目標(biāo)執(zhí)行上下文(例如,域?qū)S弥R)來過濾中間表示。換言之, 中間表示的不被執(zhí)行上下文支持的部分可被丟棄。例如,服務(wù)器可提供關(guān)于其執(zhí)行上下文的信息并基于此,可從中間表示剝離諸如類型信息之類的特定的不需要的信息。這類似于有損壓縮,其中數(shù)據(jù)在減少文件的大小以促進文件的存儲或傳輸時丟失。作為示例,附錄A 提供了以下排除類型信息的查詢表達式的中間表示“Qbservable. Range (0,10). Where (x => x% 2 = = 0). Select (x => x+1) ”。在附圖標(biāo)記540,至少發(fā)起對經(jīng)過濾的中間表示的傳輸。在標(biāo)記550,接收、檢索或以其他方式獲取或獲得對應(yīng)于查詢表達式執(zhí)行的結(jié)果的響應(yīng)。圖6描繪了例如由服務(wù)器提供數(shù)據(jù)的方法600。在附圖標(biāo)記610,查詢表達式保真度信息可被提供給例如請求客戶機。查詢表達式保真度信息包括關(guān)于查詢表達式的所支持的范圍的信息,該信息在基于執(zhí)行上下文和/或能力等減少查詢表達式表示的大小的過濾操作中有用。在附圖標(biāo)記620,獲得對于多個執(zhí)行上下文而言統(tǒng)一的中間表示。在630,從中間查詢表示中生成查詢表達式的本地表示。這樣的生成可包括利用從中間查詢表示到本地執(zhí)行上下文的映射。在標(biāo)記640,至少發(fā)起查詢表達式執(zhí)行,或換言之,評估。在附圖標(biāo)記 650,相對于查詢執(zhí)行請求方至少發(fā)起對查詢表達式執(zhí)行的一個或多個結(jié)果的返回。圖7是示出提供以數(shù)據(jù)為中心的服務(wù)的方法700的流程圖。在附圖標(biāo)記710處, 接收、檢索或者以其他方式來獲取或獲得查詢表達式的中間表示。在標(biāo)記720,從中間表示中生成查詢表達式的本地表示。在標(biāo)記730,例如從中間表示中標(biāo)識客戶機上下文信息。這樣的上下文信息可關(guān)注請求關(guān)于查詢執(zhí)行的服務(wù)的特定計算機和/或計算機用戶。在740,作出關(guān)于是否執(zhí)行查詢表達式的確定。這樣的確定可根據(jù)安全性和/或可靠性考慮以及訂閱信息等來作出。例如,如果客戶機信息指示該請求來自于已知的安全風(fēng)險或最大數(shù)量的查詢已經(jīng)被處理過了,則可作出不執(zhí)行該查詢的決定。然而,如果客戶機信息指示該請求出自于具有有效訂閱的用戶,則可作出執(zhí)行該查詢的決定。此外,740處的確定可更一般地對應(yīng)于過濾器,使得查詢表達式的一些部分被允許執(zhí)行而其他部分不被允許執(zhí)行。在一實例中,可發(fā)生協(xié)商,其中客戶機同意遵守服務(wù)器發(fā)送的限制,并且由此整個查詢表達式可能是可允許的?;蛘?,可作出協(xié)議,其中服務(wù)器接受任意的查詢(或其子集),但是可在處理期間得出存在防止執(zhí)行整個查詢的條件的結(jié)論。如果在740作出不執(zhí)行查詢的決定(“否”)(或其一部分),可在750生成該事實的通知并且潛在地被提供給請求方。此外,雖然沒有被示出,來自查詢的被允許執(zhí)行的其他部分的結(jié)果可被返回。隨后,方法700可終止。然而,如果在740作出允許執(zhí)行的決定 (“是”),則方法700在標(biāo)記760處繼續(xù),其中至少發(fā)起查詢執(zhí)行。在附圖標(biāo)記770處繼續(xù), 諸如查詢被執(zhí)行的事實之類的使用信息可與關(guān)于客戶機上下文的信息一起被記錄,以例如供稍后在基于固定數(shù)目的查詢(例如,每個月100個查詢)來確定訂閱遵守時分析或使用。 接下來,在780,可至少發(fā)起對查詢執(zhí)行的一個或多個結(jié)果的返回。在此所用的術(shù)語“組件”、“系統(tǒng)”和“引擎”及其各種形式意指與計算機相關(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)于所要求保護主題的自動化和/或推斷的動作。而且,對于在詳細描述或權(quán)利要求書中使用術(shù)語“包括”、“包含”、“具有”、“含有” 或其它形式的變型而言,這樣的術(shù)語旨在以類似于術(shù)語“包括”的方式體現(xiàn)包含性,如同“包括”在用作權(quán)利要求書中的過渡詞時所解釋的那樣。為了為所要求保護主題提供上下文,圖8以及以下討論旨在提供對其中可以實現(xiàn)本主題的各方面的合適環(huán)境的簡要、概括描述。然而,合適的環(huán)境只是示例并且并非旨在對使用范圍或功能提出任何限制。盡管能夠在可以在一臺或多臺計算機上運行的程序的計算機可執(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)、應(yīng)用程序?qū)S眉呻娐?(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其它可編程邏輯設(shè)備、分立門或晶體管邏輯、分立硬件組件或被設(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、閃存……)或是兩者的某種組合。作為示例,基本輸入/輸出系統(tǒng)(BIOS),包括諸如在啟動期間在計算機810內(nèi)的元件之間傳輸信息的基本例程,可被存儲在非易失性存儲器中,而易失性存儲器可擔(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)或在單個集成電路基座上包括或換言之集成硬件和軟件的類似體系結(jié)構(gòu)相對應(yīng)。此處,處理器820可包括至少與處理器820和存儲器830相似的一個或多個處理器以及存儲器等。常規(guī)處理器包括最少量的硬件和軟件并且廣泛依賴于外部硬件和軟件。作為對比,處理器的SOC實現(xiàn)更強大,因為它將硬件和軟件嵌入其中以能夠用最少的硬件和軟件或不依賴于外部硬件和軟件來啟用特定功能。例如,數(shù)據(jù)獲得系統(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、IXD、等離子……)、揚聲器、打印機和/或其它計算機等提供輸出。此外,接口組件870可被具體化為網(wǎng)絡(luò)接口,該網(wǎng)絡(luò)接口使得能夠諸如通過有線或無線通信鏈路與其他計算設(shè)備(未示出)通信。以上所已經(jīng)描述的內(nèi)容包括所要求保護主題的各方面的示例。當(dāng)然,出于描繪所要求保護主題的目的而描述每一個可以想到的組件或方法的組合是不可能的,但本領(lǐng)域內(nèi)的普通技術(shù)人員應(yīng)該認(rèn)識到,所要求保護主題的許多進一步的組合和排列都是可能的。因此,所公開的主題旨在涵蓋落入所附權(quán)利要求書的精神和范圍內(nèi)的所有這樣的變更、修改和變化。附錄A
{
Type ''Call",
Method: ''Qbservable . Select",
Arguments [
{
Type ''Call",
Method wQbservable. Where",
Arguments[
{
Type ''Callw ,
Method ''Qbservable · Range",
Arguments[
{ Type ''Constant", Value ''0" },
{ Type ''Constant" , Value ''IOw }
]
Type '、Lambda",
Body {
Type: ''Equal",
Left {
Type ''Modulo",
Left { Type ''Parameter”,Name 、'x" }, Right { Type ''Constant", Value '、2〃 }
Right { Type ''Constant", Value ''0〃 j
},
Parameters:[
{ Type ''Parameter" , Name: 、'x〃 }
Type ''Lambda",
Body {
Type wAdd",
Left { Type ''Parameter", Name ux〃 }, Right { Type ''Constant", Value nl〃 }
Parameters[
{ Type "Parameter", Name ''x〃 }
權(quán)利要求
1.一種獲得數(shù)據(jù)的方法,包括采用被配置來執(zhí)行存儲在存儲器(820)中的計算機可執(zhí)行指令的至少一個處理器 (830)來執(zhí)行以下動作生成獨立于查詢-表達式生成和執(zhí)行環(huán)境的查詢表達式的中間表示。
2.如權(quán)利要求I所述的方法,其特征在于,還包括根據(jù)執(zhí)行環(huán)境來移除所述中間表示的一部分。
3.如權(quán)利要求I所述的方法,其特征在于,還包括將客戶機上下文信息合并到所述中間表示中。
4.如權(quán)利要求I所述的方法,其特征在于,還包括壓縮所述中間表示。
5.如權(quán)利要求I所述的方法,其特征在于,還包括發(fā)起到執(zhí)行環(huán)境的傳輸。
6.一種數(shù)據(jù)獲得系統(tǒng)(100),包括耦合到存儲器(830)的處理器(820),所述處理器(820)被配置來執(zhí)行存儲在所述存儲器(830)中的以下計算機可執(zhí)行組件第一組件(120),它被配置為從查詢表達式的中間表示中生成本地表示,其中所述中間表示是在沒有域?qū)S弥R的情況下生成的;以及第二組件(130),它被配置為發(fā)起對所述本地表示的執(zhí)行。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,還包括第三組件,它被配置為從所述中間表示確定客戶機上下文信息。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述第三組件被配置為基于所述客戶機上下文信息來阻止執(zhí)行的發(fā)起。
9.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述中間表示排除執(zhí)行環(huán)境不支持的代碼。
10.如權(quán)利要求6所述的系統(tǒng),其特征在于,通過所述第二組件來發(fā)起分布式執(zhí)行。
全文摘要
描述了以多維數(shù)據(jù)為中心的服務(wù)協(xié)議。通過查詢表達式的中間表示方式來促進數(shù)據(jù)獲得??缮芍虚g表示,并且該中間表示隨后被傳輸?shù)疥P(guān)于查詢執(zhí)行的多個執(zhí)行環(huán)境并被該多個執(zhí)行環(huán)境使用。更具體的,中間表示可被轉(zhuǎn)換為可本地執(zhí)行的查詢表達式。另外,數(shù)個因素可塑造經(jīng)創(chuàng)建和被傳輸?shù)闹虚g表示。
文檔編號G06F17/30GK102591925SQ201110435550
公開日2012年7月18日 申請日期2011年12月12日 優(yōu)先權(quán)日2010年12月13日
發(fā)明者B·德斯梅特, H·J·M·梅杰 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
江北区| 平乐县| 陆河县| 泸水县| 保康县| 南靖县| 砀山县| 彝良县| 阿拉尔市| 富平县| 天镇县| 杨浦区| 峨边| 昭觉县| 耿马| 庄浪县| 贞丰县| 台前县| 林州市| 西藏| 壤塘县| 娱乐| 崇明县| 收藏| 磴口县| 乐平市| 安庆市| 明光市| 隆德县| 海丰县| 香港| 济源市| 永安市| 高碑店市| 红桥区| 五河县| 西盟| 繁峙县| 陇西县| 进贤县| 吉木乃县|