聚合[計算機用語]

聚合[計算機用語]
聚合[計算機用語]
更多義項 ▼ 收起列表 ▲

聚合在信息科學中是指對有關的數據進行內容挑選、分析、歸類,最後分析得到人們想要的結果,主要是指任何能夠從數組產生標量值的數據轉換過程 。近年來隨著大數據的發展,聚合技術已經廣泛地套用於文本分析,信息安全,網路傳輸等領域。

基本定義

聚合表示 了組件對象和聚合對象之 間的 Part一of聯繫 ,這是一種較強形式的關聯關係。聚合是從最低粒度 的事實表中衍生出來的預先計算的匯總 。這些匯總數據形成了一組獨立 的聚合事實表。可以把一個跨越任何維度的特定匯總結構 建成一個 聚合事實表 。無論何時當需要在查詢 、分析中展示與原始數據不同級別的數據都會發生聚合。 簡單的說就是對有關的數據進行內容挑選、分析、歸類,最後分析得到人們想要的結果。例如:蒐集和重新組織那些具備RSS訂閱功能的網站或部落格的過程。聚合的內容可以通過線上工具(線上閱讀器網站如有道閱讀器或Google Reader)來閱讀,也可以直接通過新聞閱讀器在電腦桌面上進行閱讀。

動態聚合與預聚合

動態聚合

下面從一個實例來介紹動態聚合,當需要年一級的數據時,從基礎事實表中選出日一級的數據,存貯這些數據,並把它加到年一級的值里。如銷售數據根據天存 儲到事實表中。要求執行月份層次數據的報表 。這樣來自事實表每天的值被選中 、存儲和添加生成每月總數,如下圖所示。

聚合[計算機用語] 聚合[計算機用語]

預聚合

通過一個存儲在聚合表中的結果。聚合也可以在查詢 、分析進行之前完成,這個過程稱為預聚合。可以創建預聚合表或聚合表作為 ETL (提取 、轉換和載入)過程 的一部分。如果銷售數據在月份層次上頻繁地使用 , 一個帶有銷售數據上卷到月份層次的聚合報表就有用了。消除了運行時對來 自大的 、較低層系的事實表中的許 多列數據的讀、 排序和計算的操作。下圖 演示了這種情況。

聚合[計算機用語] 聚合[計算機用語]

聚合函式

聚合函式對一組值執行計算,並返回單個值。除了 COUNT 以外,聚合函式都會忽略空值。 聚合函式經常與 SELECT 語句的 GROUP BY 子句一起使用。

常見的聚合函式如下(註:例子使用的是SQL語言):

AVG 返回指定組中的平均值,空值被忽略。

例:select prd_no,avg(qty) from sales group by prd_no2. COUNT 返回指定組中項目的數量。

例:select count(prd_no) from sales3. MAX 返回指定數據的最大值。例:select prd_no,max(qty) from sales group by prd_no4. MIN 返回指定數據的最小值。

例:select prd_no,min(qty) from sales group by prd_no5. SUM 返回指定數據的和,只能用於數字列,空值被忽略。例:select prd_no,sum(qty) from sales group by prd_no6. COUNT_BIG 返回指定組中的項目數量,與COUNT函式不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。

例:select count_big(prd_no) from sales7. GROUPING 產生一個附加的列,當用CUBE或ROLLUP運算符添加行時,輸出值為1.當所添加的行不是由CUBE或ROLLUP產生時,輸出值為0。

例:select prd_no,sum(qty),grouping(prd_no) from sales group by prd_no with rollup8. BINARY_CHECKSUM 返回對表中的行或表達式列表計算的二進制校驗值,用於檢測表中行的更改。

例:select prd_no,binary_checksum(qty) from sales group by prd_no9. CHECKSUM_AGG 返回指定數據的校驗值,空值被忽略。

例:select prd_no,checksum_agg(binary_checksum(*)) from sales group by prd_no10. CHECKSUM 返回在表的行上或在表達式列表上計算的校驗值,用於生成哈希索引。

STDEV 返回給定表達式中所有值的統計標準偏差。

例:select stdev(prd_no) from sales12. STDEVP 返回給定表達式中的所有值的填充統計標準偏差。

例:select stdevp(prd_no) from sales13. VAR 返回給定表達式中所有值的統計方差。

例:select var(prd_no) from sales14. VARP 返回給定表達式中所有值的填充的統計方差。

例:select varp(prd_no) from sales有時候以上的聚合函式並不能符合我們數據處理的要求,我們也可以自定義聚合函式,來得到我們想要的結果。

COM技術

要公開一個 COM 類的接口,並將這些接口當作是在第二個 COM 類上實現的,第二個類就將聚合第一個類。COM 對象可以聚合 .NET 對象,在這種情況下,該對象的所有接口(包括其類接口)都可以通過外部對象來使用。內部 .NET 對象將對其IUnknown方法的調用委託給控制IUnknown。

聚合比包容(在下一節說明)略為複雜。它通常用於使外部對象能夠在不進行修改的情況下公開另一個對象的接口實現。所有託管對象自動支持將託管對象用作內部對象來進行 COM 樣式的聚合。要聚合託管對象,非託管的外部對象將創建託管的內部對象,方法是調用CoCreateInstance,然後將外部對象的IUnknown作為OuterUnknown參數傳遞。當外部IUnknown在構造過程中傳遞給託管對象時,託管對象將快取接口並以如下方式使用該接口:

外部對象掛接到內部IUnknown的非委託IUnknown。非委託IUnknown的運行方式與常規IUnknown相同;也就是說,如果對象實現了接口,非委託IUnknown就會成功,否則就會失敗。非委託IUnknown不會將調用轉發到外部對象。

如果對內部對象查詢它不支持的接口,內部對象就會將調用委託給外部對象的IUnknown接口。

對內部對象的QueryInterface、AddRef和Release方法的所有調用都將委託給外部對象的IUnknown。

通過這三種行為,可以聚合任何託管對象。利用這種聚合關係,可以使單個 COM 對象部分在託管代碼(內部部分)中實現,部分在非託管代碼(外部部分)中實現。

聚合有個特性就是定製,因為只有可定製,聚合才有意義,如網際網路的RSS訂閱,如Google Reader,雅蛙網。

海洋信息服務聚合平台套用

隨著新型海洋監測技術的發展,海洋信息呈指數級增長,所獲取的海洋信息類型也更加多樣化。此外,由於測量方式及自身因素方面的原因 , 使得海洋信息又表現出動態性、模糊性、多時空、多尺度和多語義等特性。使得數據集成化套用分析與海洋信息集成系統建設以及海洋業務系統的整合成為當前亟待解決的問題和隨著網路技術的發展,基於 Web 的海洋信息集成技術成為當前的研究熱點。國內外有很多基於 Web 的海洋信息套用服務台。像 美 國 NOAA 的Coastal Services Center , 中國國家海洋信息中心的中國數字海洋公眾版等。這些海洋信息服務系統雖然採用了 Web 服務技術,但它們的兼容性、 可擴展性、開放性很差,在產品升級和重用方面
很困難。這裡提出了基於 Mashup 和 Web服務技術,提出了海洋信息服務聚合平台的解決方案,研究了面向聚合套用的海洋信息服務模式和海洋 信 息 服 務 聚 合 方 法 。 基 於Mashup 的信息聚合可以理解為一種新型的軟體開發模式, 它具有Web2.0 應用程式的特點, 可以方便地利用外部數據源檢索到的內容 來 創 建 全 新 的 應 用海洋信息服務聚合平台主要有以下幾部分:

聚合平台體系架構

1.

聚合平台體系架構

海洋信息聚合平台可分為 3 層,分別為資源層、集成層和套用層,其中集成層是整個聚合平台的核心,主要由資源查找、資源解析、資源聚合三部分組成,如下圖所示。

聚合[計算機用語] 聚合[計算機用語]

2. 面向聚合套用的海洋信息服務

海洋信息服務主要有海洋數據服務,海洋模型服務,海洋信息服務聚合方法。如下圖所示。

聚合[計算機用語] 聚合[計算機用語]

在海洋信息集成及業務整合迫切需求的背景下,針對當前海洋信息集成平台的問題, 以Mashup 的信息聚合技術和 Web 服務技術為支持,提出了海洋信息服務聚合平台的體系框架。試驗表明,基於海洋信息聚合平台的信息集成方法,可以實現服務提供者、 聚合平台、服務使用者的鬆散式集成,改變了傳統信息集成平台服務提供者和集成平台之間的緊耦合模式,可以實現 Web 中各類海洋信息輕鬆、快捷的自定義組合,較好地解決了海洋信息集成面臨的問題可以使海洋專家專心於海洋科學的認知和模型構建,並且基於本文思想,可以最大程度地實現這些模型的復用。

相關詞條

熱門詞條

聯絡我們