本申請的實施例涉及時間序列數(shù)據(jù),具體而言涉及用于存儲時間序列數(shù)據(jù)的多表示方案。
背景技術(shù):
除非本文另外指出,否則本部分中描述的方案并不是本申請中的權(quán)利要求的現(xiàn)有技術(shù),并且并不因為被包括在本部分中就被承認(rèn)為是現(xiàn)有技術(shù)。
實施例涉及時間序列數(shù)據(jù),具體而言涉及用于存儲時間序列數(shù)據(jù)的多表示方案。時間序列(timeseries)是沿著時間維度排序的記錄數(shù)據(jù)點的序列,它們經(jīng)常出現(xiàn)在監(jiān)視工業(yè)過程、商業(yè)特性和關(guān)鍵績效指標(biāo)(keyperformanceindicator,kpi)發(fā)展、金融參數(shù)、科學(xué)實驗、物理測量及其他事項之時。
時間序列分析是在許多應(yīng)用領(lǐng)域中用作商業(yè)規(guī)劃和決策支持的基礎(chǔ)的數(shù)據(jù)分析技術(shù)。從而在研究和工業(yè)中始終存在著對于查詢、挖掘和分析時間序列的興趣。時間序列分析的任務(wù)是識別時間序列數(shù)據(jù)內(nèi)和時間序列數(shù)據(jù)間的模式、序列、相關(guān)性和特性,并且基于這些觀察得出結(jié)論。
近來在計算機(jī)硬件和傳感器技術(shù)中的發(fā)展已使得用高達(dá)mhz或更高的采樣率記錄的連續(xù)測量的可用性越來越高。這帶來了細(xì)粒的時間序列,并且因此帶來了大幅增大的數(shù)據(jù)量和數(shù)據(jù)流傳輸頻率。
此外,可用傳感器的量在大幅增長,尤其是考慮到諸如互聯(lián)網(wǎng)(internetofthings,iot)之類的新應(yīng)用場景。作為示例,移動電話上的基于位置的服務(wù)提供了可能數(shù)百萬個同時提供數(shù)據(jù)的傳感器。
技術(shù)實現(xiàn)要素:
用于存儲時間序列數(shù)據(jù)的靈活方案利用多個表示以便實現(xiàn)諸如存儲器消耗、精確度和持續(xù)性之類的各種維度之間的優(yōu)化。按照本文使用的,時間序列表示指的是時間序列數(shù)據(jù)的存儲方案,即時間序列欄(timeseriescolumn)的數(shù)據(jù)點如何被存儲在存儲器中。表示(representation)定義了以下四個參數(shù):覆蓋的時間段、基于模型的壓縮技術(shù)、精確度(例如,誤差界限規(guī)范)和存儲介質(zhì)。
多表示時間序列存儲的第一方面為沿著時間軸(水平)的時間序列的各種部分選擇性地提供不同的表示。在這個水平方面中,第一壓縮模型、精確度和/或存儲介質(zhì)可存儲在時間序列中的一個時段期間發(fā)生的數(shù)據(jù),而另一不同的壓縮模型、精確度和/或存儲介質(zhì)被應(yīng)用來存儲另一時段期間的數(shù)據(jù)。
根據(jù)一個不同的(垂直)方面,可利用不同的壓縮模型、誤差界限和/或存儲介質(zhì)來以多個表示保存同一時段期間的時間序列數(shù)據(jù)。雖然增大了對存儲器的需求,但這種垂直存儲可為特定用途(例如,分析)提供高效訪問。根據(jù)水平和/或垂直分布存儲時間序列數(shù)據(jù)對于諸如數(shù)據(jù)老化和操作者執(zhí)行模式的優(yōu)化之類的應(yīng)用可能是有用的,使得查詢響應(yīng)時間減少和/或系統(tǒng)提供的算法性能改善。
一種由計算機(jī)實現(xiàn)的方法的實施例包括引擎接收時間序列數(shù)據(jù)。引擎參考第一輸入來從時間序列數(shù)據(jù)創(chuàng)建包括覆蓋時間段、壓縮模型、誤差界限和存儲介質(zhì)的第一表示,其中配置指定第一表示為位于熱區(qū)內(nèi)。引擎將第一表示存儲在存儲介質(zhì)內(nèi)。引擎參考第二輸入來從時間序列數(shù)據(jù)創(chuàng)建在覆蓋時間段、壓縮模型、誤差界限和存儲介質(zhì)的至少一者中與第一表示不同的第二表示。引擎存儲第二表示。
一種非暫態(tài)計算機(jī)可讀存儲介質(zhì)包含用于執(zhí)行一種方法的計算機(jī)程序,該方法包括引擎接收時間序列數(shù)據(jù),并且引擎參考第一輸入來從時間序列數(shù)據(jù)創(chuàng)建包括覆蓋時間段、壓縮模型、誤差界限和非暫態(tài)計算機(jī)可讀存儲介質(zhì)的第一表示,其中配置指定第一表示為位于熱區(qū)內(nèi)。引擎將第一表示存儲在非暫態(tài)計算機(jī)可讀存儲介質(zhì)中。引擎參考水平配置來從時間序列數(shù)據(jù)創(chuàng)建在壓縮模型、誤差界限和非暫態(tài)計算機(jī)可讀存儲介質(zhì)的至少一者中與第一表示不同的第二表示,第二表示的第二覆蓋時間段不與第一表示的覆蓋時間段重疊。引擎存儲第二表示。
一種計算機(jī)系統(tǒng)的實施例包括內(nèi)存數(shù)據(jù)庫引擎和在所述計算機(jī)系統(tǒng)上可執(zhí)行的軟件程序,該軟件程序被配置為使得內(nèi)存數(shù)據(jù)庫引擎接收時間序列數(shù)據(jù)。軟件程序還被配置為使得內(nèi)存數(shù)據(jù)庫引擎參考第一輸入來從時間序列數(shù)據(jù)創(chuàng)建包括覆蓋時間段、壓縮模型、誤差界限和存儲介質(zhì)的第一表示,其中配置指定第一表示為位于熱區(qū)內(nèi)。軟件程序還被配置為使得內(nèi)存數(shù)據(jù)庫引擎將第一表示存儲在存儲介質(zhì)中。軟件程序還被配置為使得內(nèi)存數(shù)據(jù)庫引擎參考第二輸入來從時間序列數(shù)據(jù)創(chuàng)建在覆蓋時間段、壓縮模型、誤差界限和存儲介質(zhì)的至少一者中與第一表示不同的第二表示。軟件程序還被配置為使得內(nèi)存數(shù)據(jù)庫引擎存儲第二表示。
在某些實施例中,第二輸入包括水平配置,并且第二表示的第二覆蓋時間段不與第一表示的覆蓋時間段重疊。
在一些實施例中,引擎參考垂直配置來從時間序列數(shù)據(jù)創(chuàng)建第三表示,其中第三表示的第三時間段與第一表示的覆蓋時間段或第二表示的第二覆蓋時間段重疊,并且其中第三表示在壓縮模型和誤差界限的至少一者中與第一表示不同。
在各種實施例中,第二輸入包括垂直配置;以及第二表示的第二時間段與第一表示的覆蓋時間段重疊。
根據(jù)特定實施例,第二輸入是基于數(shù)據(jù)老化過程的。
根據(jù)某些實施例,第二輸入是基于操作執(zhí)行模式優(yōu)化過程的。
在特定實施例中,存儲介質(zhì)包括內(nèi)存數(shù)據(jù)庫的隨機(jī)訪問存儲器(ram),并且引擎包括內(nèi)存數(shù)據(jù)庫引擎。
在一些實施例中,第一表示的或第二表示的數(shù)據(jù)被以由壓縮模型確定的粒度來存儲,并且該方法還包括引擎接收根據(jù)不同粒度返回第一表示的或第二表示的數(shù)據(jù)的請求,并且一迭代器執(zhí)行算法來向引擎返回不同粒度的數(shù)據(jù)。
在某些實施例中,迭代器執(zhí)行算法來執(zhí)行聚集或解聚。
以下詳細(xì)描述和附圖提供了對實施例的性質(zhì)和優(yōu)點的更好理解。
附圖說明
圖1是根據(jù)實施例的系統(tǒng)的簡化視圖。
圖1a是圖1的系統(tǒng)的詳細(xì)視圖。
圖2示出了根據(jù)實施例可被利用來執(zhí)行時間序列數(shù)據(jù)的多表示的示范性壓縮技術(shù)。
圖3示出了根據(jù)實施例的方法的簡化流程圖。
圖4圖示了根據(jù)實施例的、利用時間序列數(shù)據(jù)的水平多表示存儲實現(xiàn)數(shù)據(jù)老化過程。
圖5圖示了根據(jù)實施例的、利用時間序列數(shù)據(jù)的水平多表示存儲實現(xiàn)執(zhí)行模式優(yōu)化過程。
圖6圖示了根據(jù)實施例的、利用時間序列數(shù)據(jù)的垂直多表示存儲實現(xiàn)執(zhí)行模式優(yōu)化過程。
圖7圖示了根據(jù)實施例的、組合利用水平和垂直多表示時間序列存儲的數(shù)據(jù)老化和執(zhí)行模式優(yōu)化的過程。
圖8呈現(xiàn)了顧問組件的簡化視圖,包括輸入和輸出。
圖9圖示了透明度迭代器概念的簡化視圖。
圖10圖示了根據(jù)實施例的、被配置為實現(xiàn)時間序列數(shù)據(jù)的多表示存儲的專用計算機(jī)器的硬件。
圖11圖示了示例計算機(jī)系統(tǒng)。
具體實施方式
本文描述了被配置為提供時間序列數(shù)據(jù)的多表示存儲的方法和裝置。在以下描述中,出于說明目的,記載了許多示例和具體細(xì)節(jié)以便提供對本發(fā)明的透徹理解。然而,本領(lǐng)域技術(shù)人員將會明白,如權(quán)利要求限定的本發(fā)明的實施例可以只包括這些示例中的特征的一些或全部,或者與以下描述的其他特征相結(jié)合,并且還可包括本文描述的特征和概念的修改和等同。
用于存儲時間序列數(shù)據(jù)的靈活方案利用多個表示以便實現(xiàn)諸如覆蓋的時間段、壓縮技術(shù)、精確度、持續(xù)性(存儲介質(zhì))和存儲器消耗之類的各種維度之間的優(yōu)化。第一方面沿著時間軸(水平)為時間序列的各種部分提供不同的表示。在這個水平方面中,第一壓縮模型、精確度和/或存儲介質(zhì)可存儲在時間序列中的一個時段期間發(fā)生的數(shù)據(jù),而另一不同的壓縮模型、精確度和/或存儲介質(zhì)存儲另一時段期間的數(shù)據(jù)。根據(jù)一個不同的(垂直)方面,可利用不同的壓縮模型來以多個表示保存同一時段期間的時間序列數(shù)據(jù)。雖然增大了對存儲器的需求,但這種垂直存儲可為特定用途提供高效訪問。
根據(jù)水平和/或垂直分布存儲時間序列數(shù)據(jù)對于諸如數(shù)據(jù)老化和操作者執(zhí)行模式的優(yōu)化之類的應(yīng)用可能是有用的。根據(jù)實施例的多表示從而可結(jié)合不同表示的益處以便實現(xiàn)迅速的執(zhí)行以及更低的存儲器消耗、在傳統(tǒng)方案中可能沖突的要求。
圖1呈現(xiàn)了根據(jù)實施例的系統(tǒng)100的簡化視圖。具體地,從最近時間t0到時間t-4及更早取得時間序列數(shù)據(jù)102形式的輸入。
時間序列包括表示時間的一欄,和具有表示不同測量的數(shù)個(例如,n個)值的對應(yīng)欄。時間序列也可遵從多個欄。每一欄可遵從不同的數(shù)據(jù)類型。
給定這種多欄(即,多變量)時間序列,所有欄遵循單個時間戳并且另外還確保它們?nèi)季哂邢嗤拈L度。多表示存儲的實施例通常是按每欄應(yīng)用的,并且對于每一欄可以有不同的水平和垂直配置。
具體而言,存儲引擎110接收時間序列數(shù)據(jù)。存儲引擎還接收配置輸入114,該配置輸入114可規(guī)定熱區(qū)指定130、水平配置132和/或垂直配置134。這些輸入在下文聯(lián)系圖1a來論述。
基于這些輸入,存儲引擎從時間序列數(shù)據(jù)生成包括其多個表示的多表示存儲111。這多個表示可分布在水平(時間)軸和/或垂直(表示)軸上。
具體地,圖1a示出了圖1的系統(tǒng)的詳細(xì)視圖。圖1a示出了利用分布在水平(時間)軸和/或垂直(表示)軸上的多個表示(例如,104a、104b、104c)存儲的時間序列數(shù)據(jù)。時間序列表示是時間序列數(shù)據(jù)的存儲方案,即時間序列欄的數(shù)據(jù)點如何被存儲。時間序列欄的表示可對應(yīng)于以下方面中的一個或多個:
1)覆蓋的時間段;
2)壓縮技術(shù)(例如,基于模型的壓縮);
3)可接受的誤差界限(即,在特定壓縮模型內(nèi)壓縮值和真實值之間的偏差——通常表示為百分比);
4)存儲介質(zhì)(主存儲器105、閃存、盤107、磁帶等等)。
從而,時間序列欄可以以第一表示(例如,利用基于模型的壓縮)以1%的誤差界限存儲在主存儲器中??商鎿Q地,時間序列欄可以以不同的表示在沒有任何壓縮的情況下存儲(例如,不那么昂貴的硬盤或磁帶介質(zhì)上的原始值109)。
取決于特定配置,每個表示對于諸如覆蓋的時間段、壓縮比率、存儲器消耗、誤差界限和執(zhí)行效率之類的因素提供不同的特性。由于此原因,實施例不是為整個時間序列只提供單個表示,而是允許了存儲同一時間段期間的多個表示(垂直多表示)和/或?qū)τ诓煌瑫r間段存儲多個表示(水平多表示)。
圖1a還示出了存儲引擎也接收配置輸入114。這可包括熱區(qū)指定、水平配置和/或垂直配置。
返回圖1,在某些實施例中,熱區(qū)指定、水平配置和/或垂直配置可由人類用戶140提供給引擎。在這種實施例中,用戶試圖手動指導(dǎo)時間序列數(shù)據(jù)的多個表示的生成和存儲。
然而,可替換地,到存儲引擎的熱區(qū)指定、水平配置和/或垂直配置輸入可由單獨(dú)的多表示顧問組件115生成。聯(lián)系圖8來提供關(guān)于多表示顧問的細(xì)節(jié)。
具體地,顧問可參考成本模型112,該成本模型112包括量化多表示的各種維度(例如,壓縮技術(shù)、精確度、覆蓋的時間段、存儲器消耗、速度)的值。
圖1還指示出顧問還可接收用戶配置117,以及額外的輸入119。如圖8中所示,這些額外的輸入可包括先前(離線)存儲工作負(fù)載活動150、當(dāng)前(在線)存儲工作負(fù)載活動152和時間序列特性154。
這里,離線顧問模式在時間序列被添加時基于先前工作負(fù)載創(chuàng)建初始配置。在在線模式中,顧問也能夠針對查詢行為中的不斷發(fā)生的變化或者當(dāng)前工作負(fù)載中的時間序列特性來適應(yīng)性地改變配置。離線和在線工作負(fù)載稍后在下文詳細(xì)論述。
關(guān)于時間序列特性,這些表示時間序列數(shù)據(jù)的元數(shù)據(jù)。這些特性可包括但不限于長度、間隔、最小值、最大值、不同值的數(shù)目、均值、標(biāo)準(zhǔn)偏差、方差、數(shù)據(jù)類型等等。時間序列特性也在下文進(jìn)一步論述。
現(xiàn)在參考圖1a,基于(從用戶和/或顧問)接收到的一個或多個輸入,引擎可進(jìn)一步工作來識別存在于時間序列數(shù)據(jù)內(nèi)的“熱區(qū)”120。熱區(qū)是時間序列中的經(jīng)常作為查詢和操作的目標(biāo)的范圍。在一些情況中,這涉及時間序列的最新近值,因為它們可能是分析算法和聚集特別感興趣的。然而,這不是必需的,并且熱區(qū)可存在于不是最近時間的地方(例如,來自指示過去的地震事件的振動傳感器)。在存儲的多表示時間序列數(shù)據(jù)中配置(一個或多個)熱區(qū)的細(xì)節(jié)稍后在下文提供。
如前文提到的,高數(shù)據(jù)速率和巨大數(shù)據(jù)量正在對負(fù)責(zé)時間序列數(shù)據(jù)的存儲和分析的現(xiàn)代內(nèi)存數(shù)據(jù)庫系統(tǒng)造成增大的存儲器壓力和分析執(zhí)行效率問題。有損和無損壓縮技術(shù)的應(yīng)用從存儲器消耗的角度來看可解決該問題。
然而,各種壓縮技術(shù)對于壓縮比率和算法的執(zhí)行速度具有不同的特性。一些方案提供非常高的壓縮比率,但對于查詢和挖掘而言是緩慢的。其他的可為某些分析請求提供非常快速的結(jié)果,但對于其他分析或者就壓縮比率而言卻在執(zhí)行時間上受到損害。
從而,對時間序列內(nèi)的某些時段選擇最有益的數(shù)據(jù)表示對于優(yōu)化執(zhí)行效率、存儲器消耗和精確度的維度是重要的。從而,根據(jù)實施例,此選擇可針對各個查詢工作負(fù)載并且尤其是考慮到包括但不限于以下各項的因素來執(zhí)行:
·最經(jīng)常使用的算法和聚集,
·最近請求和/或最經(jīng)常請求的時間序列,
·時間序列的目標(biāo)請求時間范圍;
·由用戶配置定義的用戶偏好,包括針對精確度的誤差閾值的定義。
現(xiàn)在描述各種壓縮技術(shù)。壓縮技術(shù)通常被區(qū)分為有損的和無損的。無損壓縮技術(shù),例如行程長度編碼(runlengthencoding,rle)、差分編碼(deltaencoding)或比特壓縮,利用數(shù)據(jù)中的相似性、重現(xiàn)、模式或特殊對齊來減少要求的存儲器。它們特別適合于具有數(shù)目較少的不同值和重現(xiàn)的模式的數(shù)據(jù)集合。
雖然以下描述聚焦于有損壓縮技術(shù),但這不是必需的。在一些實施例中,時間序列數(shù)據(jù)的多表示可基于無損壓縮。
如下所述的實施例明確地聚焦于有損壓縮,并且使用基于模型的壓縮作為示例?;谀P偷膲嚎s力圖通過擬合最佳近似當(dāng)前的時間序列的模型來近似時間序列的值。
許多壓縮技術(shù)允許定義每值或每時間序列的誤差界限。這樣,它們限制了信息損耗(即,當(dāng)使用有損壓縮技術(shù)時發(fā)生的誤差)。
以下描述了可以采用的若干個示范性的基于模型的壓縮技術(shù)。然而,這些只表示示例,并且根據(jù)各種實施例可以一般方式添加其他壓縮技術(shù)。
一項有損壓縮技術(shù)是自適應(yīng)分段常數(shù)近似(adaptivepiecewiseconstantapproximation,apca)。此壓縮技術(shù)將時間序列劃分成片段,其中每個片段由一常數(shù)函數(shù)近似包含的變量。片段是通過確定片段值并且只要該值遵從近似常數(shù)左右的定義的誤差界限就向此片段添加觀察來創(chuàng)建的。誤差類型是按每個值的。
另一個有損壓縮技術(shù)是旋轉(zhuǎn)門趨勢(swingingdoortrending,sdt)。sdt與apca類似。其將時間序列劃分成片段,在這些片段內(nèi)值由線性函數(shù)近似。只要線性邊界(門)聯(lián)合描述朝著它們在第一點處的正交連接的180°的角度,值就被添加到片段。誤差類型是按每個值的。
還有一種有損壓縮技術(shù)是樣條逼近(splineapproximation,sa)。sa將樣條擬合到時間序列。只要值確保定義的誤差界限,其就被添加到當(dāng)前樣條。否則,創(chuàng)建新的樣條片段。誤差類型是按每個值或按每個系列的。
另一種有損壓縮技術(shù)是完全模型描述(fullmodeldescription,fmd)。這里,時間序列模型(例如,holtwinters)被擬合到整個時間序列。該模型隨后被用于為時間上的每個點計算值。誤差類型是按每個值或按每個系列的。
對于定義每值誤差的壓縮技術(shù),整個時間序列上的整體誤差通??尚〉枚?。原因是在基于模型的壓縮中使用的模型通常描述了時間序列值的平均情況。從而,真實值正向和負(fù)向地偏離近似。
此外,每值誤差界限只涉及誤差的最大值,而不是實際誤差。結(jié)果,誤差效果隨著時間的流逝而拉平。
圖2提供了就存儲器消耗和潛在時間序列誤差而言對某些壓縮技術(shù)的評估。注意,此圖從時間序列數(shù)據(jù)表示的其他方面(即提供的誤差界限以及存儲介質(zhì))進(jìn)行了抽象。另外,此圖只呈現(xiàn)了可用于根據(jù)實施例的多表示中的少數(shù)幾個可能壓縮技術(shù),而多種其他壓縮技術(shù)可被使用。
圖2包括在本描述中具體參考的特定示例技術(shù)。這些選擇的技術(shù)可被替換為其他種類的有損壓縮技術(shù)。無論壓縮技術(shù)是什么,都可就以下相關(guān)維度中的一個或多個來對其進(jìn)行判斷:
·可達(dá)到的壓縮比率;
·與真實值的偏差(即,近似誤差);
·壓縮/解壓縮速度;
·聚集和分析算法的執(zhí)行速度。
除了使用的存儲器空間的減少以外,基于模型的壓縮技術(shù)還可提供某些其他益處。首先,它們提供了降低標(biāo)準(zhǔn)聚集操作的執(zhí)行速度的潛力。這些包括但不限于sum、avg、histogram、stddev。
從而,為了在給定apca壓縮的情況下計算標(biāo)準(zhǔn)聚集sum,在各片段上運(yùn)行比掃描整個時間序列欄比較不那么昂貴。然而,基于模型的壓縮技術(shù)改善計算速度的潛力取決于特定功能。如下文聯(lián)系圖5-圖7的示例所描述,優(yōu)化執(zhí)行模式的這個潛力對于本文描述的多表示方案可提供進(jìn)一步的動機(jī)。
基于模型的壓縮技術(shù)的第二個潛在益處在于插值和粒度化(granularization)是免費(fèi)實現(xiàn)的。也就是說,基于模型的壓縮技術(shù)的連續(xù)性特征(即,使用連續(xù)函數(shù)而不是離散值)允許了從可用值抽象和時間戳的粒度。缺失的值是通過評估模型的連續(xù)函數(shù)來確定的。
類似地,時間戳分辨率可通過對來自下層壓縮模型的值采樣來增大和減小。
此外,函數(shù)的連續(xù)性特征還允許了非等距采樣。這導(dǎo)致從價值觀點來看提供存儲非等距時間序列的一種容易方式的壓縮。
基于模型的壓縮技術(shù)的第三個潛在益處是一些分析函數(shù)更容易計算。兩個突出示例是孤立點檢測,以及預(yù)測。
具體而言,由于基于模型的壓縮技術(shù)通常創(chuàng)建模型來描述時間序列的一般情況,所以強(qiáng)孤立點可容易地被檢測為從一般模型發(fā)散。類似地,對于預(yù)報,由于模型已經(jīng)存在,所以預(yù)測是通過將模型投影到未來的簡單計算。然而,再一次,這些分析函數(shù)的特定屬性在各種可用的基于模型的壓縮技術(shù)之間是不同的。
如上文寬泛提及的,實施例采用了時間序列數(shù)據(jù)的多表示存儲。從而,實施例不是只允許每時間序列欄的單個數(shù)據(jù)表示,而是支持水平和/或垂直方式的多個表示。此方案力圖在存儲器消耗、精確度和執(zhí)行速度的各種性能維度中進(jìn)一步優(yōu)化效率。
圖3是示出根據(jù)實施例的方法300的簡化流程圖。在第一步驟302中,接收時間序列數(shù)據(jù)。
在第二步驟304中,識別時間序列數(shù)據(jù)內(nèi)的熱區(qū)。在第三步驟306中,創(chuàng)建熱區(qū)中的數(shù)據(jù)的第一表示。
在第四步驟308中,評估第一表示。在第五步驟310中,存儲第一表示。
在第六步驟312中,創(chuàng)建時間序列數(shù)據(jù)的第二表示。在第七步驟314中,存儲第二表示。
如上所述,根據(jù)實施例的多表示時間序列存儲可采用水平分布和垂直分布兩個方面。以水平方式提供多個表示涉及時間序列欄的不同時段,使用不同的數(shù)據(jù)表示。此水平多表示的一個使用案例是數(shù)據(jù)老化。
示例–數(shù)據(jù)老化
數(shù)據(jù)老化(dataaging)指的是依據(jù)諸如訪問的頻率和成本之類的方面,將某些數(shù)據(jù)移動到不同的存儲介質(zhì)的過程。數(shù)據(jù)老化可以盡可能精確地存儲時間序列的最新近部分,利用為時間序列分析提供良好執(zhí)行速度的表示。
與之相對,對于較舊的值,可接受的誤差率可被逐漸增大并且也允許降低的執(zhí)行速度。此存儲方案背后的原理在于,與較舊的值相比,更新近的值更常被請求,并且更經(jīng)常是時間序列分析算法的目標(biāo)。
此外,可識別所謂的熱區(qū)(即,數(shù)據(jù)中的經(jīng)常是分析/聚集操作的目標(biāo)的區(qū)域)。熱區(qū)經(jīng)常(但并非一定)是最新近值的一部分。
從而,數(shù)據(jù)老化和熱區(qū)提供了一種隨著時間的流逝逐漸減小存儲器消耗的方式。當(dāng)對于整欄只使用單個數(shù)據(jù)表示時,這將是不可能的。
圖4圖示了利用水平多表示的數(shù)據(jù)老化。此示例改變了基于模型的壓縮技術(shù)和誤差率,帶來了減少的存儲器消耗,其代價是可能降低近似的精確度。
在圖4的示例中,熱區(qū)與最新近值一致,并且包含前十一個值。這個特定示例使用了對于熱區(qū)具有每值1%的誤差的樣條壓縮,對于熱區(qū)外的數(shù)據(jù)選擇具有放松的誤差界限的不同壓縮技術(shù)。
示例–執(zhí)行模式優(yōu)化
除了數(shù)據(jù)老化以外,還可能分析聚集或分析查詢的訪問模式并且指派對于當(dāng)前的各功能有益的數(shù)據(jù)表示。這種應(yīng)用可聚焦于執(zhí)行速度,而不是優(yōu)化存儲器消耗。此方案被稱為執(zhí)行模式優(yōu)化(executionpatternoptimization)。
考慮圖5中的示例,示出了具有每日(dn)粒度的時間序列數(shù)據(jù)。在此示例中,apca1%在計算sum聚集時是最有益的,并且sum是工作負(fù)載中的最頻繁操作。考慮到對于聚集只考慮一星期的第一天,可相應(yīng)地識別數(shù)據(jù)中的熱區(qū)并且對于每星期的第一天(例如,d0、d-7、d-14等等)選擇apca%。
對于其他數(shù)據(jù)點(對應(yīng)于一星期的后幾天),可選擇具有更好的壓縮比率的另一種表示。
垂直多表示通過在熱區(qū)內(nèi)同時支持多個表示可改善利用水平多表示的存儲策略。從而,多個操作可在時間序列的同一時段內(nèi)具有聯(lián)合目標(biāo)區(qū)域。
此外,與數(shù)據(jù)表示的水平分布相結(jié)合,也可能垂直地應(yīng)用多個數(shù)據(jù)表示。在此方案的幫助下,可以進(jìn)一步改善時間序列聚集和分析操作的執(zhí)行速度。
為此,同時提供多個數(shù)據(jù)表示,假定每一者對于最頻繁使用的操作中的一個或幾個是有益的。雖然此方案帶來了存儲器的增加,但對于聚焦于分析/聚集執(zhí)行速度而不是單單聚焦于存儲器消耗的減少的系統(tǒng)而言,付出這個代價是可接受的。這是用戶需要預(yù)先定義的事項,以允許系統(tǒng)由此采用這些決策。這個用戶配置可作為加權(quán)因子被反映在成本模型中。
壓縮的使用允許了同時訪問多個表示,而不將存儲器消耗增大到大于原始數(shù)據(jù)。為了限制額外存儲器的消耗,某些實施例可只對數(shù)據(jù)的所識別的熱區(qū)允許多個表示的垂直分布。
在圖6所示的示例中,假定sdt最適合于孤立點檢測和計算自相關(guān)。apca提供對于avg和sum聚集的最佳執(zhí)行速度。
對于所有操作確定潛在熱區(qū)。對于此熱區(qū),實施例并行使用兩個表示(sdt、apca)。每個操作以為其提供最高執(zhí)行速度的表示為目標(biāo)。
從而,sum/avg操作從使用apca的表示中讀取數(shù)據(jù)。自相關(guān)操作以及孤立點檢測操作在sdt表示上工作。
圖6從而示出了考慮整個熱區(qū)的孤立點檢測,而聚集函數(shù)最經(jīng)常只在前十個值上計算。
此外,自相關(guān)(auto_corr)具有每五個值讀取五個值的重復(fù)模式。相應(yīng)地指派訪問模式,并且創(chuàng)建apca和sdt表示來共存于熱區(qū)中。
也可以組合數(shù)據(jù)老化和執(zhí)行模式優(yōu)化。這在圖7的示例中圖示,其采用水平多表示來實現(xiàn)歷史數(shù)據(jù)存盤的老化,而執(zhí)行模式優(yōu)化(sum,auto_corr)是利用熱區(qū)內(nèi)的垂直多表示來實現(xiàn)的。
關(guān)于在哪些時間范圍中使用哪些模型以及各個模型考慮哪些值的具體配置可由多表示顧問確定。圖8是圖示出顧問的工作過程的簡化圖,包括對輸入和輸出的識別。
多表示顧問確定用于整個時間序列和時間序列欄的不同表示的最優(yōu)配置和分布。整體上,顧問做出關(guān)于以下各項中的一個或多個的決策:
·使用的壓縮技術(shù);
·應(yīng)用到表示的(一個或多個)范圍;
·誤差界限(在用戶配置的邊界中);
·多個且重疊的表示;
·存儲介質(zhì)。
對于每個添加的時間序列,此確定過程可利用統(tǒng)計信息和記錄的工作負(fù)載來離線完成一次。然后,顧問可基于工作負(fù)載變化和在使用期間出現(xiàn)的時間序列特性的變化來計算適應(yīng)性改變(adaptation)。這尤其可涉及熱區(qū)的適應(yīng)性改變以及(一個或多個)垂直和/或水平表示分布的適應(yīng)性改變。
時間序列可具有多欄,即,多個并行測量。顧問能夠?qū)φ麄€時間序列提供策略,但它是通過分開考慮每一欄來做到這一點的。因此,每一欄接收其自己的特定配置。
顧問通過考慮工作負(fù)載的不同度量和特性以及支持的表示來做出決策。具體地,圖8示出了當(dāng)添加時間序列時創(chuàng)建初始配置的離線顧問模式。然而,根據(jù)某些實施例,顧問也能夠針對查詢行為中的不斷發(fā)生的變化或者當(dāng)前工作負(fù)載中的時間序列特性來適應(yīng)性地改變配置。這是在在線模式下完成的。
在在線模式下,當(dāng)前查詢行為和進(jìn)入的新值被分析以識別推薦的適應(yīng)性改變。這種監(jiān)視可尤其涉及檢測以下各項中的一個或多個:
·熱區(qū)移動;
·新的/過時的熱區(qū);
·熱區(qū)的大小的變化;
·操作頻率;
·時間序列特性的變化,影響某些壓縮技術(shù);
·選擇的老化策略的適用性和潛在的邊界移動;
·由于具有垂直表示而得到的操作的運(yùn)行時益處。
如果在監(jiān)視的區(qū)域中發(fā)生重大變化,則顧問可重計算成本模型,利用其來識別對當(dāng)前配置的潛在改變。一旦有空閑資源可用,顧問就負(fù)責(zé)自動應(yīng)用這些改變。
顧問在做出自動決策和提供統(tǒng)計信息之前可確認(rèn)特定配置。這種配置可由另一系統(tǒng)組件提供,例如由應(yīng)用、數(shù)據(jù)庫或分布引擎提供,或者由人類用戶提供。具體地,用戶可手動定義時間序列的熱區(qū),以及定義每值最大誤差或整體誤差界限??啥x整個老化策略。
在某些實施例中,用戶可手動配置以下各項中的一個或多個(但不限于此):
·被視為熱區(qū)的范圍
·熱區(qū)的最大數(shù)目
·熱區(qū)中的未壓縮值的量
·老化策略
·除了熱區(qū)以外激活/解除激活水平劃分
·在熱區(qū)內(nèi)激活/解除激活垂直劃分
·用于加速表示的額外存儲器的最大量
·每值最大誤差界限(要求由用戶定義)
·熱區(qū)的每值最大誤差界限
·給定范圍中的最大整體誤差
·最頻繁的查詢類型(例如,select、sum、auto_corr)
·在存儲器消耗和性能之間決定的權(quán)重
·在存儲器消耗和精確度之間決定的權(quán)重
顧問可自動計算用戶未做出的決策。此外,顧問也可創(chuàng)建用戶可手動適應(yīng)性改變的建議。某些實施例可要求用戶定義由壓縮值引起的允許誤差的上限。
時間序列的以下屬性中的一個或多個可被顧問考慮。
·時間序列特性(在線),例如:
o最小值,最大值,
o不同值的數(shù)目,
o頻率偏斜,
o均值、標(biāo)準(zhǔn)偏差、方差,
o形狀,
o等距;
·查詢工作負(fù)載(離線+在線),例如:
o查詢類型,
o頻繁涉及的欄,
o最常見的聚集/分析函數(shù),
o頻繁覆蓋的范圍(熱區(qū)),
o插入和更新的速率,
o分組,劃分,
o查詢的一般平均數(shù)目,
o并行查詢的平均數(shù)目;
·表示特性(離線+在線),例如:
o表示對于分析/聚集函數(shù)的適用性,
o每估計/聚集函數(shù)的估計速度改善,
o一般誤差特性,
o預(yù)期存儲器消耗,
o被以分層次方式查詢的能力,因此具有分層次誤差水平。
(這例如在小波表示中是有效的。)
顧問在確定表示配置時或在監(jiān)視其可行性時將這些屬性中的一個或多個考慮在內(nèi)。確定過程可被劃分成多個階段:
(1)熱區(qū)的識別,
(2)數(shù)據(jù)老化配置;以及
(3)基于涉及壓縮率、加速和分析操作的頻率的成本模型對于熱區(qū)評估不同的表示配置。
以下詳細(xì)描述了顧問的自動決策過程的三個階段。首先論述的是熱區(qū)識別,然后論述特定數(shù)據(jù)老化策略,然后是熱區(qū)配置。
熱區(qū)是時間序列中的經(jīng)常作為查詢和操作的目標(biāo)的范圍。在某些情況中,這涉及時間序列的最新近值,因為它們可能是分析算法和聚集特別感興趣的。
熱區(qū)可從記錄的工作負(fù)載確定(即,離線),從其他時間序列的統(tǒng)計信息確定,或者從默認(rèn)配置確定(例如,將最新近10%的值視為熱區(qū))。
該順序可反映輸入的優(yōu)先級。當(dāng)使用記錄的工作負(fù)載時,分析包含的查詢并且通過確定范圍出現(xiàn)的次數(shù)上的四分位數(shù)來識別最頻繁的范圍。
某些實施例可使用90%的相似性因子來允許相似范圍的模糊匹配。原因是對于演變中的系列,考慮的范圍可略微移動。90%的相似性因子指的是范圍的90%重疊。對于模糊匹配,考慮最外面的開始點和結(jié)束點。
具有高于中值(第3四分位數(shù)、第4四分位數(shù)……)的出現(xiàn)次數(shù)的范圍可被認(rèn)為是最頻繁的范圍。如果在該過程中識別多個范圍,則顧問嘗試合并它們以避免創(chuàng)建分散的熱區(qū)。
從而,顧問可統(tǒng)一多個識別的范圍,只要它們不會導(dǎo)致大于整個時間序列的20%(或者用戶可配置的某個其他值)的熱區(qū)即可。統(tǒng)一可通過挑出涉及的范圍的最外面的開始點和結(jié)束點來執(zhí)行。
對于熱區(qū)的最終選擇,顧問可考慮熱區(qū)的最大數(shù)目的用戶配置并且從頂部起選擇相應(yīng)數(shù)目。熱區(qū)可在顧問的在線階段期間被適應(yīng)性改變或重識別,這在下文進(jìn)一步論述。
現(xiàn)在描述根據(jù)特定實施例采用的一個特定數(shù)據(jù)老化策略。在定義該策略時,推薦用戶應(yīng)當(dāng)確定新的數(shù)據(jù)老化片段開始于哪個數(shù)目的值之后,并且誤差被允許增大多少。然而,用戶可向顧問請求建議或者完全自動化的配置。在特定實施例,可采取以下措施來確定數(shù)據(jù)老化策略。
標(biāo)準(zhǔn)策略是顧問首先將數(shù)據(jù)劃分成兩半。較新近的一半被定為保持在主存儲器中,而第二半打算被寫入到盤,如果可用的主存儲器不充足的話??商鎿Q地,可使用提供非常高的壓縮的表示。
通過分析工作負(fù)載,顧問針對以緊鄰邊界周圍的值為目標(biāo)的潛在查詢校正此邊界。此外,也可識別第二半內(nèi)的熱區(qū)。在這個部分中找到的熱區(qū)被從盤上存儲排除并且僅僅保持在存儲器中。更新近的第一半被劃分成若干個部分,其中這些所謂的數(shù)據(jù)老化片段的每一個包含時間序列值的總數(shù)的10%那么多的值。每個數(shù)據(jù)老化片段的值的份額可由消費(fèi)者改變(如上所述)。類似地,根據(jù)得到的數(shù)據(jù)老化片段的數(shù)目來分割和指派從0.1%到用戶允許的最大誤差的可能誤差范圍。此外,頻繁請求的區(qū)域—熱區(qū)—被識別并被看作接收由上述的分割所確定的最小誤差的額外片段。
現(xiàn)在對于每個數(shù)據(jù)老化片段(與其是由用戶還是由系統(tǒng)定義無關(guān)),我們計算識別出對于各個范圍提供最高的每誤差壓縮比率的壓縮和誤差界限(即,表示)的壓縮得分。所得到的表示隨后被指派給各個相應(yīng)的時間序列范圍。表示r∈r的壓縮得分被如下計算:
其中r是可用表示的集合,并且
得分是通過使用范圍的采樣確定整體平均誤差來計算的,該整體平均誤差不是對每個值測量的,而是通過采樣測量的。不同的壓縮技術(shù)可提供不同的平均誤差,即使它們使用相同的每值誤差界限。另外,沒有每值誤差的壓縮技術(shù)被允許競爭。
例如,考慮具有2%的平均整體誤差和從4.5gb到225mb的存儲器減少的apca壓縮。對于apca壓縮得到的得分將是14.29。與之不同,使用提供0.8%的平均整體誤差但只將存儲器減少到500mb的sdt壓縮,得到10.32的得分。結(jié)果,在此示例中,將選擇apca壓縮。
以上示例基本上假定了存儲器消耗和精確度之間的平衡。然而,用戶被允許通過設(shè)置權(quán)重ω,0<ω≤1來調(diào)整精確度與空間之間的偏好。在此情況下,模型變化為:
從而,權(quán)重越高,對于表示的精確度就越強(qiáng)調(diào)。因此,當(dāng)以0.8的權(quán)重對得到的誤差加權(quán)并且以0.2的權(quán)重對空間加權(quán)時,得到的分?jǐn)?shù)對于apca變化成38.46并且對于sdt變化成41.36。從而,在此情況下,選擇sdt,不考慮其消耗更多存儲器這個事實。
當(dāng)以0.8對要求的空間加權(quán)并且以0.2對得到的誤差加權(quán)時,則恰好相反—情景變化了。apca現(xiàn)在收到22.72的得分,而sdt收到13.75的得分。從而,在此情況下,apca將被選擇。
現(xiàn)在論述根據(jù)某些特定實施例對熱區(qū)配置的確定。熱區(qū)的配置是一個單獨(dú)的任務(wù)并且涉及創(chuàng)建同時共存的多個垂直表示。希望加速特定查詢類型或查詢類型的群組。然而,額外的表示也導(dǎo)致額外的存儲器消耗。從而,力圖實現(xiàn)性能增益與空間之間的平衡。
因此,對于熱區(qū)的配置計算得分的一個模型并入了由下式給出的兩個部分:
compscore(r)是基于在數(shù)據(jù)老化情況中為了確定最有益的表示而已經(jīng)計算的壓縮得分的。為了計算熱區(qū)中的壓縮得分,我們必須首先調(diào)整壓縮得分來同時確認(rèn)多個表示。計算壓縮得分的規(guī)則變化成:
其中r同樣是可用表示的集合。
從而,整體平均誤差等于所有表示達(dá)到的最小平均誤差,并且相應(yīng)地,空間是來自所有表示的存儲器要求的總和。我們現(xiàn)在考慮操作的潛在速度改善,聚焦于最頻繁發(fā)出的并且盡可能好地覆蓋當(dāng)前熱區(qū)的操作。這是通過計算操作得分opscore來完成的。它包括兩個部分,其中一個是確認(rèn)使用頻率和熱區(qū)覆蓋,另一部分是考慮相對于原始的潛在速度改善。
從而,我們得到:
其中o是對于熱區(qū)優(yōu)化相關(guān)的可能操作的集合。
該等式的使用部分被定義為:
操作的重要性是通過首先確定其出現(xiàn)頻率,其次通過評估操作目標(biāo)區(qū)與熱區(qū)的重疊來計算的。這里,我們對查詢所針對的熱區(qū)之前或之后的值的數(shù)目求和,并從而確定熱區(qū)對于操作而言的相關(guān)性。完全不與熱區(qū)相交的操作在此計算中不被考慮。用戶可以通過向得分等式應(yīng)用權(quán)重σ,0<σ≤1來調(diào)整執(zhí)行速度與存儲器消耗之間的平衡,這得到:
對于當(dāng)前的熱區(qū)接收最高得分的表示配置被選擇并且各個表示被創(chuàng)建。在最有益的表示上執(zhí)行以各個熱區(qū)為目標(biāo)的操作,其中純平均運(yùn)行時是相關(guān)決策標(biāo)準(zhǔn)。從而,水平和垂直分布的不同表示的使用對于用戶是透明的。
以上描述聚焦于時間序列數(shù)據(jù)的多個表示的生成和存儲?,F(xiàn)在論述出于各種目的(例如檢查、分析)訪問該存儲的多表示時間序列數(shù)據(jù)。
具體地,向系統(tǒng)請求時間序列值涉及從水平和垂直表示配置中抽象。實施例不是要求用戶或應(yīng)用分開請求每個區(qū)域,而是可采用一種透明的智能迭代器來遞送請求的范圍中的值。
因此,圖1示出了這種智能迭代器160?;谒惴▓?zhí)行162,智能迭代概念提供了從多個表示抽象的能力。這使得表示當(dāng)在各時間序列上迭代的同時是透明的。
系統(tǒng)從而在內(nèi)部負(fù)責(zé)在不同表示之間移動內(nèi)部迭代結(jié)構(gòu),并且也應(yīng)對轉(zhuǎn)化或成本。透明性迭代器概念在圖9中進(jìn)一步圖示。
智能迭代器提供的額外潛在益處是對自動粒度化的支持。具體而言,迭代器以請求的粒度返回值(例如,每天一個值),即使表示本身是不同粒度的(例如,每小時一個值)。這可在不影響下層數(shù)據(jù)結(jié)構(gòu)的情況下完成。
對于使用基于模型壓縮的表示的時間序列的時段,從而通過利用下層函數(shù)的連續(xù)性(即,在任意點以任意粒度評估函數(shù)的能力)免費(fèi)獲得了粒度化功能。結(jié)果,迭代器簡單地返回由請求的分辨率給出的評估結(jié)果。
對于使用未壓縮表示的時間序列的時段,迭代器可自動利用舍入(聚集)和分布(解聚)方法。用戶能夠定義要使用哪個舍入或分布算法。
如果沒有做出決策,則實施例對于舍入可利用平均并且對于解聚可利用均勻分布。這可對于下層數(shù)據(jù)結(jié)構(gòu)透明地實現(xiàn)。
除了帶來提供一種應(yīng)答請求不同粒度的查詢的容易方式的潛在優(yōu)點以外,透明迭代器也可被利用作為許多時間序列分析算法的輸入,允許了以任意分辨率執(zhí)行分析。
根據(jù)實施例的多表示時間序列數(shù)據(jù)存儲可提供一個或多個益處。具體地,時間序列表示的水平和垂直分布可起到改善存儲器消耗、查詢執(zhí)行速度和精確度的作用。
另外,對特定壓縮技術(shù)、誤差界限和存儲介質(zhì)的考慮可允許將存儲器消耗、執(zhí)行速度和精確度裁剪到期望的水平。
實施例還允許了基于查詢工作負(fù)載分析同時配置多個表示??苫诓樵兎秶治鰜碜R別熱區(qū)和數(shù)據(jù)老化策略。
表示顧問自動確定多個數(shù)據(jù)表示的有利配置。可基于工作負(fù)載的變化自動地適應(yīng)性改變表示配置。顧問可自動分析離線和在線工作負(fù)載、數(shù)據(jù)特性和表示特性以便得出最終結(jié)論。
實施例可參考成本模型來為數(shù)據(jù)老化和其他應(yīng)用確定表示。增強(qiáng)的成本模型可用于為熱區(qū)確定表示配置。
在某些實施例中,引擎和/或表示顧問可由數(shù)據(jù)庫引擎實現(xiàn),例如內(nèi)存數(shù)據(jù)庫引擎。例如,圖10圖示了根據(jù)實施例的、被配置為提供多表示時間序列數(shù)據(jù)存儲的專用計算機(jī)器的硬件。具體地,計算機(jī)系統(tǒng)1001包括處理器1002,該處理器1002與非暫態(tài)計算機(jī)可讀存儲介質(zhì)1003進(jìn)行電子通信。這個計算機(jī)可讀存儲介質(zhì)上存儲有與時間序列數(shù)據(jù)相對應(yīng)的代碼1005。代碼1004對應(yīng)于引擎。代碼可被配置為參考存儲在非暫態(tài)計算機(jī)可讀存儲介質(zhì)的數(shù)據(jù)庫中的數(shù)據(jù),例如可存在于本地或存在于遠(yuǎn)程數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)。軟件服務(wù)器一起可形成被用于彼此通信并且一起工作來處理請求的軟件程序編程的計算機(jī)系統(tǒng)的集群或邏輯網(wǎng)絡(luò)。
注意,在圖10的特定實施例中,引擎被示為是數(shù)據(jù)庫的一部分。這種實施例可對應(yīng)于利用作為內(nèi)存數(shù)據(jù)庫的一部分可用的強(qiáng)大引擎來執(zhí)行處理的分析應(yīng)用(例如,可從德國瓦爾多夫的sapse得到的hanavora分布式內(nèi)存數(shù)據(jù)庫)。然而,這不是必需的,并且在某些實施例中,引擎可按其他方式實現(xiàn),例如實現(xiàn)為覆蓋存儲介質(zhì)的應(yīng)用層的一部分。
示例計算機(jī)系統(tǒng)1100在圖11中圖示。計算機(jī)系統(tǒng)1110包括總線1105或用于傳達(dá)信息的其他通信機(jī)制,以及與總線1105耦合用于處理信息的處理器1101。計算機(jī)系統(tǒng)1110還包括耦合到總線1105的存儲器1102,用于存儲信息和要被處理器1101執(zhí)行的指令,例如包括用于執(zhí)行以上描述的技術(shù)的信息和指令。此存儲器也可以用于在處理器1101要執(zhí)行的指令的執(zhí)行期間存儲變量和其他中間信息。此存儲器的可能實現(xiàn)方式可以是——但不限于——隨機(jī)訪問存儲器(randomaccessmemory,ram)、只讀存儲器(readonlymemory,rom),或者這兩者。還提供了存儲設(shè)備1103用于存儲信息和指令。存儲設(shè)備的常見形式例如包括硬盤驅(qū)動器、磁盤、光盤、cd-rom、dvd、閃存、usb存儲卡或者任何其他可供計算機(jī)讀取的介質(zhì)。
一種特定類型的非暫態(tài)計算機(jī)可讀存儲介質(zhì)是非易失性隨機(jī)訪問存儲器(non-volatilerandomaccessmemory,nvram)。該存儲技術(shù)對于數(shù)據(jù)庫系統(tǒng)可發(fā)揮重要作用,因為nvram可將內(nèi)存數(shù)據(jù)庫保持在內(nèi)存中,從而免費(fèi)獲得了持續(xù)性。
存儲設(shè)備1103例如可包括用于執(zhí)行以上技術(shù)的源代碼、二進(jìn)制代碼或者軟件文件。存儲設(shè)備和存儲器都是計算機(jī)可讀介質(zhì)的示例。
計算機(jī)系統(tǒng)1110可經(jīng)由總線1105耦合到顯示器1112,例如陰極射線管(cathoderaytube,crt)或液晶顯示器(liquidcrystaldisplay,lcd),以向計算機(jī)用戶顯示信息。諸如鍵盤和/或鼠標(biāo)之類的輸入設(shè)備1111耦合到總線1105,用于從用戶向處理器1101傳達(dá)信息和命令選擇。這些組件的組合允許了用戶與系統(tǒng)通信。在一些系統(tǒng)中,總線1105可被劃分成多個專門總線。
計算機(jī)系統(tǒng)1110還包括與總線1105耦合的網(wǎng)絡(luò)接口1104。網(wǎng)絡(luò)接口1104可提供計算機(jī)系統(tǒng)1110與本地網(wǎng)絡(luò)1120之間的雙向數(shù)據(jù)通信。例如,網(wǎng)絡(luò)接口1104可以是數(shù)字訂戶線(digitalsubscriberline,dsl)或調(diào)制解調(diào)器來提供通過電話線的數(shù)據(jù)通信連接。網(wǎng)絡(luò)接口的另一示例是局域網(wǎng)(localareanetwork,lan)卡用于提供到兼容的lan的數(shù)據(jù)通信連接。無線鏈路是另一個示例。在任何這種實現(xiàn)方式中,網(wǎng)絡(luò)接口1104發(fā)送和接收攜帶表示各種類型的信息的數(shù)字?jǐn)?shù)據(jù)流的電信號、電磁信號或光信號。
計算機(jī)系統(tǒng)1110可通過網(wǎng)絡(luò)接口1104在本地網(wǎng)絡(luò)1120、內(nèi)聯(lián)網(wǎng)或互聯(lián)網(wǎng)1130上發(fā)送和接收信息,包括消息或其他接口動作。對于本地網(wǎng)絡(luò),計算機(jī)系統(tǒng)1110可與多個其他計算機(jī)器通信,例如服務(wù)器1115。因此,計算機(jī)系統(tǒng)1110和由服務(wù)器1115表示的服務(wù)器計算機(jī)系統(tǒng)可形成云計算網(wǎng)絡(luò),其可被編程以本文描述的過程。在互聯(lián)網(wǎng)示例中,軟件組件或服務(wù)可存在于網(wǎng)絡(luò)上的多個不同的計算機(jī)系統(tǒng)1110或服務(wù)器1131-1135上。以上描述的過程例如可實現(xiàn)在一個或多個服務(wù)器上。服務(wù)器1131可將動作或消息從一個組件通過互聯(lián)網(wǎng)1130、本地網(wǎng)絡(luò)1120和網(wǎng)絡(luò)接口604傳送到計算機(jī)系統(tǒng)1110上的組件。以上描述的軟件組件和過程可在任何計算機(jī)系統(tǒng)上實現(xiàn)并且例如在網(wǎng)絡(luò)上發(fā)送和/或接收信息。
以上描述說明了本發(fā)明的各種實施例以及可如何實現(xiàn)本發(fā)明的各方面的示例。上述示例和實施例不應(yīng)被視為是僅有的實施例,而是被給出來說明如所附權(quán)利要求限定的本發(fā)明的靈活性和優(yōu)點?;谝陨瞎_和所附權(quán)利要求,在不脫離如權(quán)利要求限定的本發(fā)明的精神和范圍的情況下,本領(lǐng)域技術(shù)人員將清楚其他布置、實施例、實現(xiàn)方式和等同,并且可以采用這些其他布置、實施例、實現(xiàn)方式和等同。