• / 29
  • 下載費用:30 金幣  

多系統的集成分析.pdf

關 鍵 詞:
系統 集成 分析
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
摘要
申請專利號:

CN201210363631.0

申請日:

2012.09.26

公開號:

CN103678425A

公開日:

2014.03.26

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 17/30申請日:20120926|||著錄事項變更IPC(主分類):G06F 17/30變更事項:申請人變更前:SAP股份公司變更后:SAP歐洲公司變更事項:地址變更前:德國瓦爾多夫變更后:德國瓦爾多夫|||公開
IPC分類號: G06F17/30 主分類號: G06F17/30
申請人: SAP股份公司
發明人: C.孫; Y.金; 黎文憲
地址: 德國瓦爾多夫
優先權:
專利代理機構: 北京市柳沈律師事務所 11105 代理人: 邵亞麗
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201210363631.0

授權公告號:

|||||||||

法律狀態公告日:

2019.03.15|||2015.09.30|||2014.12.03|||2014.03.26

法律狀態類型:

授權|||實質審查的生效|||著錄事項變更|||公開

摘要

本發明涉及一種多系統的集成分析。實施例提供了支持用于執行分析的應用的聯合系統。該聯合系統包括:第一分布式系統,用于執行一個或多個第一任務,該一個或多個第一任務包括將傳入數據處理成一組數據塊;內存數據庫系統,用于執行一個或多個第二任務,該一個或多個第二任務包括從第一分布式系統接收一組數據塊并且將該組數據塊存儲在內部存儲裝置中;以及第二分布式系統,用于執行一個或多個第三任務,該一個或多個第三任務包括從內存數據庫系統接收一組數據塊中的至少一個數據塊并且執行對所述至少一個數據塊的分析。第一任務、第二任務和第三任務的運行是通過由所述應用使用的且與內存數據庫系統相關聯的腳本語言控制的。

權利要求書

權利要求書
1.  一種支持用于執行分析的應用的聯合系統,該聯合系統包括:
第一分布式系統,用于執行一個或多個第一任務,該一個或多個第一任務包括將傳入數據處理成一組數據塊;
內存數據庫系統,用于執行一個或多個第二任務,該一個或多個第二任務包括從第一分布式系統接收一組數據塊并且將該組數據塊存儲在內部存儲裝置中;以及
第二分布式系統,用于執行一個或多個第三任務,該一個或多個第三任務包括從內存數據庫系統接收一組數據塊中的至少一個數據塊并且執行對所述至少一個數據塊的分析,其中,第一任務、第二任務和第三任務的運行是通過由所述應用使用的、且與內存數據庫系統相關聯的腳本語言來控制的,
其中,該一個或多個第三任務包括從第二分布式系統接收分析的結果并將該結果存儲在內部存儲裝置中。

2.  如權利要求1所述的聯合系統,其中,所述第一分布式系統包括Hadoop系統,而且所述第二分布式系統包括R系統。

3.  如權利要求1所述的聯合系統,其中,所述腳本語言包括結構化查詢語言(SQL)腳本,所述SQL腳本包括嵌入式R語言腳本。

4.  如權利要求1所述的聯合系統,其中,所述內存數據庫系統被配置為通過存儲器到存儲器復制信道從第一分布式系統接收一組數據塊。

5.  如權利要求1所述的聯合系統,其中,所述第一分布式系統包括多個節點,而且每個節點都包括轉換單元,該轉換單元被配置為將傳入數據轉換成具有能夠與內存數據庫系統的內部存儲裝置兼容的格式的一個或多個數據塊。

6.  如權利要求1所述的聯合系統,其中,所述內存數據庫系統包括排序單元,該排序單元被配置為對一組數據塊進行排序,以使得該組數據塊中的數據塊不可用于分析,直到該組數據塊中的先前數據塊都被接收為止。

7.  如權利要求1所述的聯合系統,其中,所述第一分布式系統包括排序單元,該排序單元被配置為在將一組數據塊發送到內存數據庫系統之前對該組數據塊進行排序。

8.  如權利要求1所述的聯合系統,其中,所述與內存數據庫系統相關聯 的腳本語言包括具有與第二分布式系統相關聯的腳本語言的一個或多個命令,其中內存數據庫系統將一個或多個命令與至少一個數據塊一起發送到第二分布式系統以用于執行分析。

9.  如權利要求8所述的聯合系統,其中,第二分布式系統從內存數據庫系統接收至少一個數據塊包括通過存儲器到存儲器復制信道接收所述一個或多個命令以及至少一個數據塊。

10.  如權利要求9所述的聯合系統,其中,所述內存數據庫系統通過存儲器到存儲器復制信道接收分析的結果。

11.  如權利要求1所述的聯合系統,還包括:
數據發送器,該數據發送器被配置為從第一分布式系統接收一組數據塊,確定該組數據塊是否達到閾值水平,并且如果該組數據塊被確定為達到閾值水平則發送該組數據塊。

12.  如權利要求1所述的聯合系統,還包括:
數據傳遞協調器,該數據傳遞協調器被配置為將一組數據塊從第一分布式系統傳遞到內存數據庫系統。

13.  一種支持用于執行分析的應用的方法,該方法包括:
第一分布式系統執行一個或多個第一任務,該一個或多個第一任務包括將傳入數據處理成一組數據塊;
內存數據庫系統執行一個或多個第二任務,該一個或多個第二任務包括從第一分布式系統接收一組數據塊并且將該組數據塊存儲在內部存儲裝置中;以及
第二分布式系統執行一個或多個第三任務,該一個或多個第三任務包括從內存數據庫系統接收一組數據塊中的至少一個數據塊,并且執行對所述至少一個數據塊的分析,其中第一任務、第二任務和第三任務的運行是通過由所述應用使用的且與內存數據庫系統相關聯的腳本語言來控制的,
其中,該一個或多個第三任務包括從第二分布式系統接收分析的結果并將該結果存儲在內部存儲裝置中。

14.  如權利要求13所述的方法,其中,從第一分布式系統接收一組數據塊包括通過存儲器到存儲器復制信道從第一分布式系統接收一組數據塊。

15.  如權利要求13所述的方法,其中,所述一個或多個第一任務還包括將傳入數據轉換成具有能夠與內存數據庫系統的內部存儲裝置兼容的格式的 一個或多個數據塊。

16.  如權利要求13所述的方法,其中,所述一個或多個第二任務包括對一組數據塊進行排序,以使得該組數據塊中的數據塊不可用于分析,直到該組數據塊中的先前數據塊都被接收為止。

17.  如權利要求13所述的方法,其中,所述一個或多個第一任務包括在將一組數據塊發送到內存數據庫系統之前對該組數據塊進行排序。

18.  如權利要求13所述的方法,其中,所述與內存數據庫系統相關聯的腳本語言包括具有與第二分布式系統相關聯的腳本語言的一個或多個命令,其中所述一個或多個第二任務包括將一個或多個命令與至少一個數據塊一起發送到第二分布式系統以用于執行分析。

19.  如權利要求18所述的方法,其中,所述一個或多個第三任務包括通過存儲器到存儲器復制信道接收所述一個或多個命令以及至少一個數據塊。

20.  一種計算機程序產品,該計算機程序產品有形地具體實施在非臨時性計算機可讀存儲介質上并包括可運行代碼,當該可運行代碼運行時被配置為使聯合系統執行以下操作:
通過第一分布式系統執行一個或多個第一任務,該一個或多個第一任務包括將傳入數據處理成一組數據塊;
執行一個或多個第二任務,該一個或多個第二任務包括從第一分布式系統接收一組數據塊并且將該組數據塊存儲在內存數據庫系統的內部存儲裝置中;以及
通過第二分布式系統執行一個或多個第三任務,該一個或多個第三任務包括從內存數據庫系統接收一組數據塊中的至少一個數據塊并且執行對所述至少一個數據塊的分析,其中,第一任務、第二任務和第三任務的運行是通過由所述應用使用的且與內存數據庫系統相關聯的腳本語言來控制的,
其中,該一個或多個第三任務包括從第二分布式系統接收分析的結果并將該結果存儲在內部存儲裝置中。

說明書

說明書多系統的集成分析
技術領域
本公開涉及多系統的集成分析。
背景技術
設計成功的分析產品需要考慮多種不同因素,包括性能(例如響應時間)、總擁有成本和/或現有軟件包的可用性。目前,存在著許多不同的支持分析的系統,諸如分布式文件系統(例如,Hadoop系統)、支持開源編程語言的分布式系統(例如,R系統)以及支持內存(in-memory)技術的系統。例如,Hadoop系統可以是以相對較低的擁有成本支持大規模并行操作(parallelism)的系統,但是可以包括無共享架構、與許多現在的內存分析應用相比相對較低的性能、以及缺乏查詢語言的限制。R系統可以是具有超過3000個可用軟件包的統計計算軟件包,但在在并行操作和處理大量數據方面的可擴展性有限,而且由于它是基于磁盤的系統而具有較低的性能。內存系統可以在響應時間方面具有最高的性能。此外,內存系統可以充分利用多核基礎構造,以確保復雜分析的完全并行操作,并且可以為數據庫查詢提供靈活的查詢語言,并提供包括諸如可以調用外部系統的C/C++、R和二進制代碼中的任意一種的非SQL存儲過程的能力。然而,內存數據庫系統一般比其他系統更昂貴,且具有較少的新的可用的應用/分析軟件包。
因此,這些分析系統具有自己的優點和缺點。一般情況下,客戶要求系統具有高性能和實惠的價格。使用上述系統之一建立分析系統限制了系統的底層技術的局限性。例如,Hadoop系統具有較低的擁有成本,但是缺乏內存系統的高性能和語言能力,而使用內存系統構建系統可能不符合處理較大組的原始數據的成本效益。此外,R系統可能缺乏處理較大組的原始數據的能力以及對高性能的可擴展性/并行操作。
發明內容
實施例提供了支持用于執行分析的應用的聯合系統。該聯合系統包括: 第一分布式系統,用于執行一個或多個第一任務,該一個或多個第一任務包括將傳入數據處理成一組數據塊;內存數據庫系統,用于執行一個或多個第二任務,該一個或多個第二任務包括從第一分布式系統接收一組數據塊并且將該組數據塊存儲在內部存儲裝置中;以及第二分布式系統,用于執行一個或多個第三任務,該一個或多個第三任務包括從內存數據庫系統接收一組數據塊中的至少一個數據塊并且執行對所述至少一個數據塊的分析。第一任務、第二任務和第三任務的運行是通過由應用使用的且與內存數據庫系統相關聯的腳本語言來控制的。一個或多個第三任務包括從第二分布式系統接收分析的結果并將該結果存儲在內部存儲裝置中。
第一分布式系統可以包括Hadoop系統,而且第二分布式系統可以包括R系統。腳本語言可以包括結構化查詢語言(SQL)腳本,其中SQL腳本可以包括嵌入式R語言腳本。
內存數據庫系統可以被配置為通過存儲器到存儲器復制信道從第一分布式系統接收一組數據塊。第一分布式系統可以包括多個節點,而且每個節點都可以包括轉換單元,該轉換單元被配置為將傳入數據轉換成具有能夠與內存數據庫系統的內部存儲裝置兼容的格式的一個或多個數據塊。
內存數據庫系統可以包括排序單元,該排序單元被配置為對一組數據塊進行排序,以使得該組數據塊中的數據塊不可用于分析,直到該組數據塊中先前的數據塊都被接收。第一分布式系統可以包括排序單元,該排序單元被配置為在將一組數據塊發送到內存數據庫系統之前對該組數據塊進行排序。
與內存數據庫系統相關聯的腳本語言可以包括具有與第二分布式系統相關聯的腳本語言的一個或多個命令,其中內存數據庫系統可以將一個或多個命令與至少一個數據塊一起發送到第二分布式系統以用于執行分析。
第二分布式系統從內存數據庫系統接收至少一個數據塊可以包括通過存儲器到存儲器復制信道接收一個或多個命令以及至少一個數據塊。內存數據庫系統可以通過存儲器到存儲器復制信道接收分析的結果。
聯合系統還可以包括數據發送器,該數據發送器被配置為從第一分布式系統接收一組數據塊,確定該組數據塊是否達到閾值水平,并且如果該組數據塊被確定為達到閾值水平則發送該組數據塊。聯合系統還可以包括數據傳遞協調器,該數據傳遞協調器被配置為將來自第一分布式系統的一組數據塊傳遞到內存數據庫系統。
實施例還提供了支持用于執行分析的應用的方法。該方法包括:第一分布式系統執行一個或多個第一任務,該一個或多個第一任務包括將傳入數據處理成一組數據塊;內存數據庫系統執行一個或多個第二任務,該一個或多個第二任務包括從第一分布式系統接收一組數據塊并且將該組數據塊存儲在內部存儲裝置中;以及第二分布式系統執行一個或多個第三任務,該一個或多個第三任務包括從內存數據庫系統接收一組數據塊中的至少一個數據塊并且執行對所述至少一個數據塊的分析。第一任務、第二任務和第三任務的運行是通過由應用使用的且與內存數據庫系統相關聯的腳本語言來控制的,而且一個或多個第三任務包括從第二分布式系統接收分析的結果并將該結果存儲在內部存儲裝置中。
從第一分布式系統接收一組數據塊可以包括通過存儲器到存儲器復制信道從第一分布式系統接收一組數據塊。一個或多個第一任務還可以包括將傳入數據轉換成具有能夠與內存數據庫系統的內部存儲裝置兼容的格式的一個或多個數據塊。
一個或多個第二任務可以包括對一組數據塊進行排序,以使得該組數據塊中的數據塊不可用于分析,直到該組數據塊中的先前數據塊都被接收為止。一個或多個第一任務可以包括在將一組數據塊發送到內存數據庫系統之前對該組數據塊進行排序。
與內存數據庫系統相關聯的腳本語言可以包括具有與第二分布式系統相關聯的腳本語言的一個或多個命令,其中一個或多個第二任務可以包括將一個或多個命令與至少一個數據塊一起發送到第二分布式系統以用于執行分析。一個或多個第三任務可以包括通過存儲器到存儲器復制信道接收一個或多個命令以及至少一個數據塊。
實施例還提供了一種計算機程序產品,該計算機程序產品有形地具體實施在非臨時性計算機可讀存儲介質上并包括可運行代碼,當該可運行代碼運行時被配置為使聯合系統執行以下操作:通過第一分布式系統執行一個或多個第一任務,該一個或多個第一任務包括將傳入數據處理成一組數據塊;執行一個或多個第二任務,該一個或多個第二任務包括從第一分布式系統接收一組數據塊并且將該組數據塊存儲在內存數據庫系統的內部存儲裝置中;以及執行一個或多個第三任務,該一個或多個第三任務包括從內存數據庫系統接收一組數據塊中的至少一個數據塊并且執行對所述至少一個數據塊的分 析。第一任務、第二任務和第三任務的運行是通過由應用使用的且與內存數據庫系統相關聯的腳本語言來控制的,而且一個或多個第三任務包括從第二分布式系統接收分析的結果并將該結果存儲在內部存儲裝置中。
在附圖和以下描述中闡明了一個或多個實現的細節。從說明書和附圖以及權利要求書,其他特征將是顯而易見的。
附圖說明
圖1A示出了根據實施例的、支持應用執行分析的聯合系統;
圖1B示出了根據實施例的、包括數據發送器的聯合系統,該數據發送器支持聯合系統的內存數據庫系統與第一分布式系統之間的通信;
圖1C示出了根據實施例的、包括數據傳遞協調器的聯合系統,該數據傳遞協調器支持內存數據庫系統與第一分布式系統之間的通信;
圖2是示出根據實施例的聯合系統的示例操作的流程圖;以及
圖3A、圖3B、圖4、圖5A、圖5B、圖5C、圖5D、圖6和圖7是根據實施例的聯合系統的代碼實現。
具體實施方式
例如,實施例提供了聯合系統,用于在諸如第一分布式系統、內存數據庫系統和第二分布式系統的多系統上執行集成分析。聯合系統可以支持用于執行分析的一個或多個應用,而且可以以利用每個系統的好處的方式將這種應用的任務分布在多系統上。
圖1A示出了根據實施例的、支持應用155執行分析的聯合系統100。聯合系統100可以包括諸如第一分布式系統110、內存數據庫系統130和第二分布式系統160的多系統。應用155可以是依賴分析統計(analytic calculation)的任意類型的應用。
一般地,如下面更詳細地進一步描述,第一分布式系統110可以將傳入數據處理成一組數據塊116,而且數據塊116被發送到內存數據庫系統130,以用于存儲和可選地計算密集的統計(computational-intensive calculaton)。在一個實施例中,如圖1A所示,一組數據塊116可以經由第一分布式系統110和內存數據庫系統130之間的存儲器到存儲器復制信道(memory-to-memory copy channel)被發送。圖1B和圖1C中進一步描述了其他變體。在第一分布 式系統110處正在執行的任務可以被認為是第一任務。
內存數據庫系統130可以執行一個或多個第二任務,該一個或多個第二任務包括接收一組數據塊116并且將該組數據塊116存儲在內存數據庫系統130的內部存儲裝置136中。然而,內存數據庫系統130可以執行其他第二任務,諸如任何類型的計算統計(computational calculations)。然而,根據實施例,分析的執行被推到第二分布式系統160。例如,第二分布式系統160可以執行一個或多個第三任務,該一個或多個第三任務包括接收一個或多個數據塊116,對接收到的數據塊116執行分析,并將分析結果傳遞回內存數據庫系統130以便進行存儲。根據實施例,第一任務、第二任務和第三任務的運行是通過由應用155使用的且與內存數據庫系統130相關聯的腳本語言控制的。
腳本語言可以包括結構化查詢語言(SQL)腳本。基本上,應用155可以使用內存數據庫系統110中的SQL腳本作為主要語言。換句話說,應用155使用與內存數據庫系統130相關聯的SQL腳本作為聯合運行包括第一任務、第二任務和第三任務的所有任務的語言。參照第二分布式系統160,SQL腳本可以包括與第二分布式系統160相關聯的嵌入式腳本,諸如R腳本(如果第二分布式系統160包括R系統)。因此,嵌入式腳本可以與來自內存數據庫系統130的一個或多個數據塊116一起被推到第二分布式系統160以執行分析。第二分布式系統160可以執行一個或多個分析統計,并將分析結果傳遞回內存數據庫系統130。下面將進一步描述實施例的這些和其他特征。
第一分布式系統110可以包括分布在多個節點115上的系統,其支持包括收集和處理相對較大組的傳入數據的數據收集能力。例如,第一分布式系統110可以包括處理高達千千兆(petabyte)甚至更多的傳入數據的能力。在一個實施例中,第一分布式系統可以包括支持一個或多個數據密集型分布式應用的開源架構,這可以使應用155能夠與多個節點115一起操作,應用155與多個節點115一起操作可以被認為是節點群集。多個節點115可以是獨立計算的計算機/服務器。例如,每個節點115可以表示單獨計算的計算機,或者多個節點115可以與特定的計算計算機相關聯。實施例包括任何數量的與特定計算的計算機相關聯的節點115,特定的計算計算機包括在單個計算計算機上具有多個節點115的能力。因此,每個節點115可以與軟件組件和硬件組件相關聯,軟件組件和硬件組件是諸如一個或多個處理器、以及包括可 運行的代碼的一個或多個非臨時性存儲單元,當可運行的代碼被執行時使一個或多個處理器執行這里所描述的功能。在特定實施例中,第一分布式系統110可以包括Hadoop系統,其是本領域中已知的分布式文件系統。然而,Hadoop系統已經如下所述進行修改,以便包括支持聯合系統100的功能。要注意的是,除了Hadoop系統的具體示例,實施例還包括能夠處理相對較大組的傳入數據的任何類型的分布式系統。
第一分布式系統110可以執行一個或多個第一任務,該一個或多個第一任務包括將傳入數據處理成一組數據塊116。例如,傳入數據的處理可以在節點群集(例如,多個節點115)上實現并分布。特別地,每個節點115可以處理傳入數據的一部分,并將處理的傳入數據格式化(formulate)為一個或多個數據塊116。圖1A的示例示出了5個節點(例如,第一節點115-1、第二節點115-2、第三節點115-3、第四節點115-4和第五節點115-5)作為節點群集的一部分。然而,實施例針對特定節點群集包括任何數量的節點115以及任何數量的數據塊116。
根據實施例,如圖1A所示,每個節點115可以包括通信單元115a和轉換單元115b。通信單元115a可以被配置為根據統一通信協議來處理第一分布式系統110和內存數據庫系統130之間的通信,這將參照圖3至圖7來更詳細地解釋。在一個實施例中,每個通信單元115a可以通過存儲器到存儲器復制信道將它的各個數據塊116發送到內存數據庫系統130。例如,每個通信單元115a可以運行存儲器到存儲器復制指令,其中通過通信信道便于數據塊116的傳遞。通信信道可以是本領域中已知的任何類型的有線或無線通信信道。在圖1B和圖1C中進一步描述從第一分布式系統110向內存數據庫系統130發送數據塊116的其他變體。轉換單元115b可以被配置為將傳入數據轉換成具有與內存數據庫系統130的內部存儲裝置136兼容的格式的一個或多個數據塊116。例如,將被發送的數據塊116可以被轉換成與內存數據庫系統130相關聯的格式,使得格式化的數據容易被內部存儲裝置136消耗/存儲。
此外,聯合系統100可以使用對一組數據塊116進行排序的排序機制。排序機制可以根據許多不同的方式來完成。在一個示例中,第一分布式系統110可以包括排序單元120,排序單元120被配置為在將一組數據塊116發送到內存數據庫系統130之前對該組數據塊116進行排序。在這個示例中,排序單元120可以位于中央服務器上或者與節點115相關聯的一個或多個計算 的計算機上,并且可以被配置為當每個數據塊116被單個節點115處理時收集每個數據塊116。然后,排序單元120可以對該組數據塊116進行排序以使得數據塊116處于由通信協議指定的適當順序,其包括對數據塊116排序以使得它們處于正確的時間順序(例如,數據塊1、數據塊2、數據塊3、數據塊4和數據塊5,或以相反的順序)。此外,排序單元120可以等待直到一組數據塊116達到閾值水平時才發送該組數據塊116。例如,排序單元120可以確定一組數據塊116是否達到閾值水平(或一些其他標準),然后如果該組數據塊116被確定為達到閾值水平(或符合指定的標準)則發送該組數據塊116,其中閾值水平(或指定的標準)可以是較大數據塊的一部分。
在另一個示例中,排序機制可以在內存數據庫系統130中實現。在這個示例中,內存數據庫系統130可以包括被配置為對一組數據塊116進行排序的排序單元1201。特別地,代替在第一分布式系統110處對數據塊116進行排序,通信單元115a在它的數據塊116形成時將它的數據塊116發送到內存數據庫系統130。例如,每個節點115可以在數據塊116生成時發送數據塊116,而且內存數據庫系統130中的排序單元1201負責對數據塊116進行排序。使得數據塊116不可用,直到執行排序功能為止,例如當先前的數據塊116都被接收時。這個示例是圖1A中示出。例如,參照圖1A,第一數據塊116-1、第二數據塊116-3、第四數據塊116-4和第五數據塊116-5已經被它們各自的節點115發送。然而,第三數據塊116-3還沒有被發送到內存數據庫系統130。因此,第一數據塊116-1和第二數據塊116-2可用于執行分析(或任何其他順序的或并行的任務),如這種事實所示,即,第一數據塊116-1和第二數據塊116-2被填充在內部存儲裝置136中。然而,由于內存數據庫系統130還沒有接收到第三數據塊116-3,因此第四數據塊116-4和第五數據塊116-5不可用于使用,直到接收到第三數據塊116-3。
內存數據庫系統130可以是依賴于用于計算機數據存儲的主存儲器的一種數據庫管理系統。相比之下,常規數據庫系統采用磁盤存儲機制。此外,內存數據庫系統130可以支持實時分析以及包括復制和聚合技術的事務處理。在一個實施例中,內存數據庫系統130可以是由SAP開發的HANA企業1.0(任何其他版本)。
根據實施例,復制和聚合技術(例如收集任務)可以被分配給第一分布式系統110,而且分析計算或其一部分可以被分配給第二分布式系統160。內 存數據庫系統130可以被配置為執行第二任務,第二任務包括從第一分布式系統110接收一組數據塊116并且將該組數據塊116存儲在內部存儲裝置136中。例如,通信單元150可以被配置為根據統一通信協議來處理第一分布式系統110和內存數據庫系統130之間的通信。比如,內存數據庫系統130中的通信單元150與每個節點115中的通信單元115a一起操作可以允許通過存儲器到存儲器復制信道發送數據。在一個實施例中,在接收一組數據塊116之后,該組數據塊116可以被轉發到排序單元1201,以用于以上述方式進行排序。然后,排序單元1201可以將已排序的數據塊116存儲在內部存儲裝置136中。可替換地,在第一分布式系統110在發送數據塊116之前對數據塊116進行排序的情況下,通信單元150可以接收已排序的數據塊116,并將已排序的數據塊116存儲在內部存儲裝置136中。然而,在上述任何一種情況下,因為數據塊116已經被格式化為用于存儲在內部存儲裝置136中,所以內存數據庫系統130可以相對快速地直接存儲該組數據塊116,無需進一步處理(或相對較少的處理)。內部存儲裝置136可以包括采用基于行、基于列和/或基于對象的存儲技術的并行處理數據存儲區。
第二任務可以包括通常與內存數據庫系統130相關聯的其他任務。例如,計算單元140可以被配置為執行分析的內存計算(in-memory computation)、由第二分布式系統160執行的分析的計算、和/或更適合內存數據庫系統130執行的其他相對復雜的計算。
此外,第二任務可以包括將一個或多個存儲的數據塊116發送到第二分布式系統160。例如,如上面所解釋的,根據實施例,第二分布式系統160可以用于執行分析,因為與第二分布式系統160相關聯的基礎構造(例如,由于許多不同類型的可用的軟件包)可以被認為更適合運行。因此,通信單元150可以被配置為將與分析操作有關的一個或多個存儲的數據塊116發送到第二分布式系統160,從而第二分布式系統160可以執行分析計算,而且通信單元150可以從第二分布式系統160接收分析的結果并且將結果存儲在內部存儲裝置136中。
根據一個實施例,通信單元150可以與第一分布式系統110和內存數據庫系統130之間的通信相似地通過存儲器到存儲器復制信道將數據塊116發送到第二分布式系統160。例如,通信信道(有線或無線)可以存在于內存數據庫系統130和第二分布式系統160之間。因此,通信單元150可以使用 通信信道從內部存儲裝置136和與第二分布式系統160相關聯的存儲單元執行存儲器到存儲器復制。
此外,由于第二分布式系統160可以利用不同于內存數據庫系統130的SQL腳本語言的腳本語言,因此SQL腳本語言可以包括與第二分布式系統160的語言相關聯的嵌入式命令。根據一個實施例,如果第二分布式系統160包括R系統,則與第二分布式系統160相關聯的腳本語言可以是R語言(或R腳本)。然而,實施例包括任何類型的腳本,這依賴于第二分布式系統160的類型。內存數據庫系統130可以解析SQL腳本語言以獲得R腳本,然后將獲得的R腳本與有關數據塊116一起發送到第二分布式系統160以用于運行。在第二分布式系統160執行分析計算之后,這種計算的結果可以被發送回內存數據庫系統130以用于存儲。使用存儲器到存儲器復制信道,可以便于內存數據庫系統130和第二分布式系統160之間信息(例如,R腳本、有關數據塊116和結果)的傳輸。
第二分布式系統160可以被配置為執行一個或多個第三任務,一個或多個第三任務包括接收與分析操作(以及R腳本)有關的一個或多個數據塊116,執行對接收到的數據塊116的分析。第二分布式系統160可以包括其他第三任務,所述其他第三任務要么是本領域普通技術人員已知的要么是這里所討論的。第二分布式系統160可以包括用于統計計算(包括執行分析)的任何類型的分布式系統。在一個實施例中,第二分布式系統160可以包括用于支持統計計算的開源編程語言。與第一分布式系統110類似,第二分布式系統160可以包括多個節點165,例如,節點群集。因此,分析操作可以分布在多個節點165上。多個節點165可以是獨立計算的計算機/服務器。例如,每個節點165可以表示單獨計算的計算機,或者多個節點165可以與特定的計算計算機相關聯。實施例包括任何數量的與特定的計算計算機相關聯的節點165,特定的計算計算機包括在單個計算計算機上具有多個節點165的能力。因此,每個節點165可以與軟件組件和硬件組件相關聯,軟件組件和硬件組件是諸如一個或多個處理器、以及包括可運行的代碼的一個或多個非臨時性存儲單元,當可運行的代碼被執行時使一個或多個處理器執行本文所描述的功能。在一個特定實施例中,第二分布式系統160可以包括R系統,R系統是用于支持超過3000個可用的統計軟件包的統計計算的一種系統。在這個示例中,多個節點165上的運行可以通過消息傳遞接口(MPI)并行執行,其 中MPI是R軟件包。
根據實施例,與第二分布式系統160相關聯的嵌入式腳本(例如,R腳本)與有關數據塊116一起可以被推到第二分布式系統160,以用于執行分析。例如,第二分布式系統160可以包括作業追蹤器162,作業追蹤器162被配置為管理從內存數據庫系統130接收到的作業。作業追蹤器162可以管理包括將第三任務分配給適當數量的節點165的作業執行并且追蹤每個作業的進展。此外,作業追蹤器162可以將第三任務(例如,分析)分割成多個子任務,而且每個節點165上的每個子任務可以在與計算計算機相關聯的多個處理器上被進一步并行化和運行。
如上面所指出的,與第一分布式系統110相關聯的第一任務、與內存數據庫系統130相關聯的第二任務以及與第二分布式系統160相關聯的第三任務可以通過與內存數據庫系統130相關聯的SQL腳本進行控制。如果內存數據庫系統130采用除SQL腳本以外的不同腳本,則控制第一任務、第二任務和第三任務可以利用內存數據庫系統130的編程語言完成。換句話說,聯合系統100使用內存數據庫系統130的腳本語言作為聯合系統100的主要語言。使用內存數據庫系統130的編程語言(例如,SQL腳本)作為主要語言允許第一分布式系統110和第二分布式系統160的結合。比如,SQL腳本可以調用與第一分布式系統110相關聯的第一任務,諸如將傳入數據處理成一組數據塊116,并且可以調用與第二分布式系統160相關聯的第三任務,諸如接收有關數據塊116和執行對有關數據塊116的分析。
如圖1A所示,每個節點165可以包括通信單元165a和分析單元165b。通信單元165a可以被配置為處理內存數據庫系統130和第二分布式系統160之間的通信。在一個示例中,通信單元165a可以通過存儲器到存儲器復制信道從內存數據庫系統130的通信單元150接收相關數據塊116以及與第二分布式系統160相關聯的嵌入式腳本。比如,每個通信單元165a可以運行存儲器到存儲器復制指令,其中通過通信信道便于數據塊116的傳遞,通信信道可以是本領域中已知的任何類型的有線或無線通信信道。
分析單元165b可以根據嵌入式腳本執行對有關數據塊116的分析。例如,分析計算可以包括發現數據中的模式的任何類型的分析,這種分析可以依賴于統計的應用、計算機編程和/或操作研究來分析業務操作的上下文或與公司業績相關的其他領域的數據。此外,分析計算可以涉及業務業績的改善和預 測。因此,根據實施例,分析的執行被分配給第二分布式系統160,第二分布式系統160可以是R系統。通過分析單元165b,多個節點165可以執行由嵌入式R腳本所指定的分析,而且分析的結果可以通過存儲器到存儲器復制信道發送回內存數據庫系統130。內存數據庫系統130可以將結果存儲在內部存儲裝置136中。
圖1B示出了根據實施例的、包括數據發送器170的聯合系統100,該數據發送器170支持內存數據庫系統130與第一分布式系統110之間的通信。代替圖1A中所示的將一組數據塊116從第一分布式系統110直接發送到內存數據庫系統130,參照圖1B,通過數據發送器170將數據塊116發送到內存數據庫系統130。
在圖1B所示的示例中,第一分布式系統110可以包括與圖1A中所示的組件類似的組件,諸如多個節點115。與圖1A類似,每個節點115可以處理傳入數據的一部分,并將處理的傳入數據格式化為一個或多個數據塊116。在圖1B的示例中,當數據準備好時,每個節點115可以通過第一通信信道將它們的各個數據塊116發送到數據發送器170,第一通信信道可以是本領域中已知的任何類型的有線或無線通信信道。然后,數據發送器170可以處理數據塊116,諸如將數據塊116轉換為與內存數據庫系統130相關聯的存儲格式并且按照它們的適當順序對數據塊116進行排序。接下來,數據發送器170可以確定數據塊116是否達到閾值水平,并且如果數據塊116被確定為滿足和/或超過閾值水平則通過第二通信信道將數據塊116發送到內存數據庫系統130。第二通信信道可以是本領域中已知的有線或無線通信信道的類型。
如圖1B所示,數據發送器170可以包括通信單元170a、轉換單元170b和排序單元170c。通信單元170a可以控制通過第一通信信道的第一分布式系統110和數據發送器170之間的通信,以及通過第二通信信道的數據發送器170和內存數據庫系統130之間的通信。轉換單元170b可以被配置為將數據塊116轉換成與內存數據庫系統130的內部存儲裝置136兼容的格式。例如,將被發送的數據塊116可以被轉換成與內存數據庫系統130相關聯的格式,使得格式化的數據容易被內部存儲裝置136消耗/存儲。
排序單元170b可以被配置為在將一組數據塊116發送到內存數據庫系統130之前對該組數據塊116進行排序。在這個示例中,排序單元170b可以被配置為當每個數據塊被單個節點處理時收集每個數據塊。然后,排序單元170b 可以對該組數據塊116進行排序以使得數據塊116處于由通信協議指定的適當順序,其包括對數據塊116排序以使得它們處于正確的時間順序(例如,數據塊1、數據塊2、數據塊3、數據塊4和數據塊5,或以相反的順序)。此外,排序單元170b可以等待直到一組數據塊116達到閾值水平時才發送該組數據塊116。例如,排序單元170b可以確定一組數據塊116是否達到閾值水平(或一些其他標準),然后如果該組數據塊116被確定為達到閾值水平(或符合指定的標準)則發送該組數據塊116,閾值水平(或指定的標準)可以是更大數據塊的一部分。
然后,通信單元170a可以被配置為將已排序的數據塊116發送到內存數據庫系統130。例如,內存數據庫系統130的通信單元150可以被配置為通過第二通信信道從數據發送器170的通信單元170a接收數據塊116。
圖1C示出了根據實施例的、包括數據傳遞協調器180的聯合系統100,該數據傳遞協調器180支持內存數據庫系統130與第一分布式系統110之間的通信。例如,代替直接接收數據塊116,數據傳遞協調器180被配置為通過一個或多個控制信號來控制信息的傳輸。例如,當第一分布式系統110中數據準備好時,數據傳遞協調器180可以控制第一分布式系統110和內存數據庫系統130之間的數據傳輸。數據傳遞協調器180可以將一個或多個控制信號發送到有關節點115,一個或多個控制信號可以提示有關節點115通過通信信道將它們各自的數據塊116發送到內存數據庫系統130。換句話說,數據傳遞協調器180可以控制各個數據塊116從節點115被發送的定時。此外,如上面所解釋的,排序機制可以發生在第一分布式系統110或內存數據庫系統130上。可替換地,數據傳遞協調器180可以包括發出控制信號的排序機制,該控制信號通過控制數據塊116通過通信信道從適當節點115被發送的定時來對數據塊116進行有效地排序。
圖2是示出根據實施例的聯合系統100的示例操作的流程圖。雖然圖2被示出為順序的、有序列表的操作,但是將要理解的是,這些操作中的一些或所有可以以不同的順序發生,或平行、或迭代、或可以在時間上重疊。
可以執行包括將傳入數據處理成一組數據塊的一個或多個第一任務(202)。例如,第一分布式系統110可以執行包括將傳入數據處理成一組數據塊116的一個或多個第一任務。一般地,與第一分布式系統110相關聯的任務可以被認為是第一任務,而且包括將數據處理成數據塊116以及將數據 塊116發送到內存數據庫系統130以用于存儲和/或進一步處理的功能。在一個示例中,第一分布式系統110可以包括多個節點115,而且傳入數據的處理可以在多個節點115上實現并分布。特別地,每個節點115可以處理傳入數據的一部分,并將處理的傳入數據格式化為一個或多個數據塊116。在一個特定實施例中,第一分布式系統110可以包括Hadoop系統。然而,一般地,第一分布式系統110可以包括分布在多個節點上的任何類型的系統,其支持包括收集和處理相對較大組的傳入數據的數據收集能力。
在一個示例中,如圖1A所示,每個節點115可以包括通信單元115a和轉換單元115b。通信單元115a可以被配置為處理第一分布式系統110和內存數據庫系統130之間的通信。傳輸可以通過用于在這兩個系統之間傳遞數據的統一通信協議來支持。在一個實施例中,每個通信單元115a可以通過存儲器到存儲器復制信道將它的各個數據塊116發送到內存數據庫系統130。例如,每個通信單元115a可以運行存儲器到存儲器復制指令,其中通過通信信道便于數據塊116的傳遞。根據另一個實施例,如圖1B所示,每個節點115可以將它們的各個數據塊116發送到數據發送器170,數據發送器170可以轉換和排序數據塊116,然后將已排序的數據塊116發送到內存數據庫系統130。更進一步地,根據另一個實施例,如圖1C所示,有關節點115可以基于從數據傳遞協調器180接收到的控制信號的接收,將它們各自的數據塊116發送到內存數據庫系統130。
可以執行一個或多個第二任務,一個或多個第二任務包括從第一分布式系統接收一組數據塊并且將該組數據塊存儲在內部數據庫中(204)。例如,內存數據庫系統130可以被配置為執行一個或多個第二任務,一個或多個第二任務包括從第一分布式系統100接收一組數據塊116并且將該組數據塊116存儲在內部存儲裝置136中。與內存數據庫系統130相關聯的任務可以被認為是第二任務。內存數據庫系統130可以是依賴于用于計算機數據存儲的主存儲器的一種數據庫管理系統。在一個實施例中,內存數據庫系統可以是由SAP開發的HANA企業1.0(任何其他版本)。
如上面所解釋的,聯合系統100可以使用排序機制,該排序機制可以與第一任務(例如,第一分布式系統110)或第二任務(例如,內存數據庫系統130)相關聯。例如,如圖1A所示,第一分布式系統110可以包括排序單元120,排序單元120被配置為在將一組數據塊116發送到內存數據庫系統 130之前對該組數據塊116進行排序。具體地,排序單元120可以確定一組數據塊116是否達到閾值水平(或一些其他標準),然后如果該組數據塊116被確定為達到閾值水平(或符合指定的標準)則發送該組數據塊116,閾值水平(或指定的標準)可以是更大數據塊的一部分。
在另一個示例中,排序機制可以在內存數據庫系統130中實現。在這個示例中,內存數據庫系統130可以包括被配置為對一組數據塊116進行排序的排序單元1201。特別地,代替在第一分布式系統110處對數據塊116進行排序,有關節點115在它們的數據塊116形成時將它們的數據塊116發送到內存數據庫系統130。例如,每個節點115可以在數據塊116生成時發送數據塊116,而且內存數據庫系統130中的排序單元1201負責對數據塊116進行排序。使得數據塊116不可用,直到執行排序功能為止,例如當先前的數據塊116都被接收時。
如上面所解釋的,內存數據庫系統130中的通信單元150可以被配置為根據統一通信協議來處理第一分布式系統110和內存數據庫系統130之間的通信。比如,內存數據庫系統130中的通信單元150與每個節點115中的通信單元115a一起操作可以允許通過存儲器到存儲器復制信道發送數據。在一個實施例中,在接收一組數據塊116之后,該組數據塊116可以被轉發到排序單元1201,以用于以上述方式進行排序。然后,排序單元1201可以將已排序的數據塊116存儲在內部存儲裝置136中。可替換地,在第一分布式系統110在發送數據塊116之前對數據塊116進行排序的情況下,通信單元150可以接收已排序的數據塊116,并將已排序的數據塊116存儲在內部存儲裝置136中。然而,在上述任何一種情況下,因為數據塊116已經被格式化為用于存儲在內部存儲裝置136中,所以內存數據庫系統130可以相對快速地直接存儲該組數據塊116,無需進一步處理(或相對較少的處理)。此外,內存數據庫系統130可以通過圖1B和圖1C中所示的可替換的機制來接收數據塊116。
可以執行一個或多個第三任務,一個或多個第三任務包括從內存數據塊系統接收一組數據塊中的至少一個數據塊并且執行對所述至少一個數據塊的分析,其中第一任務、第二任務和第三任務的運行是通過由應用使用的且與內存數據庫系統相關聯的腳本語言控制的(206)。例如,第二分布式系統160可以被配置為執行一個或多個第三任務,一個或多個第三任務包括接收與分 析操作有關的一個或多個數據塊116以及執行對接收到的數據塊116的分析。由第二分布式系統160執行的任務可以被認為是第三任務。
第二分布式系統160可以包括用于統計計算(包括執行分析)的任何類型的分布式系統。在一個實施例中,第二分布式系統160可以包括用于支持統計計算的開源編程語言。與第一分布式系統110類似,第二分布式系統160可以包括多個節點165。因此,分析操作可以分布在多個節點165上。在一個特定實施例中,第二分布式系統160可以包括R系統,R系統是用于支持超過3000個可用的統計軟件包的統計計算的一種系統。在這個示例中,多個節點165上的運行可以通過消息傳遞接口(MPI)并行執行,其中MPI是R軟件包。
根據實施例,與第二分布式系統160相關聯的嵌入式腳本(例如,R腳本)與有關數據塊116一起可以被推到第二分布式系統160,以用于執行分析。如上面所指出的,與第一分布式系統110相關聯的第一任務、與內存數據庫系統130相關聯的第二任務以及與第二分布式系統160相關聯的第三任務可以通過與內存數據庫系統130相關聯的腳本語言(例如,SQL腳本)進行控制。如果內存數據庫系統130采用除SQL腳本以外的不同腳本,則控制第一任務、第二任務和第三任務可以利用內存數據庫系統130的編程語言完成。換句話說,聯合系統100使用內存數據庫系統130的腳本語言作為聯合系統100的主要語言。使用內存數據庫系統130的編程語言(例如,SQL腳本)作為主要語言允許第一分布式系統110和第二分布式系統160的結合。比如,SQL腳本可以調用與第一分布式系統110相關聯的第一任務,諸如將傳入數據處理成一組數據塊116,并且可以調用與第二分布式系統160相關聯的第三任務,諸如接收有關數據塊116和執行對有關數據塊116的分析。
第二分布式系統160的每個節點165可以包括通信單元165a和分析單元165b。通信單元165a可以被配置為根據用于支持在這兩個系統之間傳遞數據的統一協議來處理內存數據庫系統130和第二分布式系統160之間的通信。在一個示例中,通信單元165a可以通過存儲器到存儲器復制信道從內存數據庫系統130的通信單元150接收數據塊116以及與第二分布式系統160相關聯的嵌入式腳本。比如,每個通信單元165a可以運行存儲器到存儲器復制指令,其中通過通信信道便于數據塊的傳遞,通信信道可以是本領域中已知的任何類型的有線或無線通信信道。
分析單元165b可以根據嵌入式腳本執行對有關數據塊116的分析。例如,分析計算可以包括發現數據中的模式的任何類型的分析,這種分析可以依賴于統計的應用、計算機編程和/或操作研究來分析業務操作的上下文或與公司業績相關的其他領域的數據。此外,分析計算可以涉及業務業績的改善和預測。因此,根據實施例,分析的執行被分配給第二分布式系統160,第二分布式系統160可以是R系統。
可以從第二分布式系統接收分析的結果并且將該結果存儲在內部數據庫中(208)。例如,內存數據庫系統130可以從第二分布式系統160接收分析的結果并且將該結果存儲在內部存儲裝置136中。特別地,通過分析單元165b,多個節點165可以執行由嵌入式R腳本所指定的分析,而且分析的結果可以通過存儲器到存儲器復制信道發送回內存數據庫系統130。內存數據庫系統130可以將結果存儲在內部存儲裝置136中。
圖3A、圖3B、圖4、圖5A、圖5B、圖5C、圖5D、圖6和圖7是根據實施例的聯合系統100的代碼實現。
圖3A至圖3B示出了由第一分布式系統100執行的、與收集和處理傳入數據有關的新的映射任務的代碼實現。下面進一步解釋圖3A至圖3B的代碼實現的主要部分。
參照圖3A,部分310涉及存儲器映射任務,其可以是新的自定義的映射任務。部分315提供了多個初始步驟,諸如任務上下文的創建、映射器對象以及通過作業配置生成輸入格式。部分320包括用于獲得用于存儲器映射任務的輸入分割的指示。如果第一分布式系統110包括Hadoop系統,則輸入分割是輸入的邏輯分割,其中輸入文件沒有被物理分割。數據分割可以包含元數據信息,諸如文件中分割的順序號。參照圖3B。部分325包括將輸出對象(例如,映射存儲器輸出收集器(MapMemoryOutputCollector))創建為結果收集器(result collector)的指令,結果收集器可以取代原來的記錄寫入器(RecordWriter)以便將結果直接發送給本地守護進程(daemon)。部分330可以初始化映射器的上下文,并運行存儲器映射任務。在這個示例中,在run函數中調用由用戶提供的映射功能。最后,輸出將被關閉,從而所有結果被序列化到本地結果收集器守護進程(local result collector daemon)。
圖4涉及MapMemoryOutputCollector,當根據實施例調用關閉方法(close method)時,該MapMemoryOutputCollector可以被新的映射任務使用以便將 輸出存儲在存儲器中并且將一個映射任務的結果發送到本地守護進程。部分405包括類字段聲明和構造函數,以執行初始過程步驟。值得注意的是,構造函數中分割索引(split index)參數被傳遞以指示結果數據是否應該被輸入到最終的輸出文件中。部分410包括寫方法(write method),該寫方法在映射函數中被調用,以便將每個結果存儲在類的存儲緩沖區中。部分415包括刷新方法(flush method),該刷新方法用于在關閉控制器之前將結果緩沖區序列化到本地結果收集守護進程。緩沖區可以存儲第二字段中的分割索引(例如,順序號)。部分420包括關閉方法(close method),該關閉方法可以在關閉本地套接字之前刷新緩沖區。
圖5A至圖5D涉及根據實施例的將數據從映射任務傳遞到內存數據庫系統130的結果收集守護進程。例如,每個節點115包括從在各自節點115中運行的所有映射任務接收數據的特定守護進程。
參照圖5A,部分505包括聲明和初始設置方法。部分510包括獲得統一守護對象的單獨方法。參照圖5B,部分515包括獲取數據方法(get Data method),該獲取數據方法從緩沖區異步地獲取數據并且將該數據發送到數據流分層結構中的下一個停止守護進程。部分520包括輸入數據方法(put Data method),該輸入數據方法根據配置將來自守護進程緩沖區的數據發送到遠程守護進程,或者直接發送到內存數據庫系統130。部分525包括啟動守護進程的指令,該啟動守護進程將監聽指定套接字端口(sock port)以接受傳入連接和數據。參照圖5C,部分530包括主方法(main method),該主方法是運行守護進程的入口。參照圖5C和圖5D。部分535包括數據接收器類(Data Receiver class),該數據接收器類可以實現負責接收數據并將數據保存到數據緩沖區的可運行方法。參照圖5D,部分540包括數據發送器類(Data Sender class),該數據發送器類也可以實現負責根據配置將數據發送到下一個守護進程或者直接發送到內存數據庫系統130的可運行方法。
圖6示出根據實施例的內存數據庫系統130中的、用于將接收到的數據塊116存儲到內部存儲裝置136中的指令。部分605包括從第一分布式系統110接收數據塊116并將該數據塊116保存在內部存儲裝置136的數據緩沖區中的指令。部分610包括獲得內部存儲裝置136的列(column)以便消耗緩沖區中的數據塊116的指令。部分615包括從緩沖區讀取的數據塊116并將它們順序地存儲在內部存儲裝置136的列中的指令。
圖7示出根據實施例的、內存數據庫系統130如何發出聯合查詢的示例SQL腳本代碼。部分705包括創建表類型以便保持來自第一分布式系統110的結果模式(result schema)的指令。部分710包括創建一個過程以便調用相關的驅動程序功能的指令。部分715包括創建表以便存儲最終結果的指令。部分720包括利用結果的概述調用過程的指令。
這里描述的各種技術的實現方式可以被實施在數字電子電路中,或者實施在計算機硬件、固件、軟件,或者它們的組合中。實現方式可以實施為計算機程序產品,即有形地具體實施在信息載體中的計算機程序,信息載體例如在機器可讀存儲設備中或者在傳播的信號中,以供數據處理裝置執行或者控制數據處理裝置的操作,所述數據處理裝置例如可編程處理裝置、計算機或多個計算機。計算機程序,諸如上面描述的計算機程序,可以用任何形式的編程語言編寫,包括匯編語言或解釋語言,并且,它可以被以任何形式部署,包括作為獨立的程序或者作為模塊、組件、子程序或其他適于在計算環境中使用的單元。計算機程序可以被部署為在一個計算機上執行或在位于一個地點或跨過多個地點分布并被通信網絡互連起來的多個計算機上執行。
方法步驟可以被一個或多個可編程處理器執行,所述可編程處理器執行計算機程序,以便通過對輸入數據操作和產生輸出來執行功能。方法步驟還可以被專用邏輯電路執行,或者裝置可以被實施為專用邏輯電路,所述專用邏輯電路例如FPGA(現場可編程門陣列)或ASIC(專用集成電路)。
作為例子,適于執行計算機程序的處理器包括通用和專用微處理器,以及任何類型的數字計算機的任意一個或多個處理器。一般來說,處理器將從只讀存儲器或隨機存取存儲器接收指令和數據,或者從兩者都接收指令和數據。計算機的元件可以包括至少一個用于執行指令的處理器,和用于存儲指令和數據的一個或多個存儲器設備。一般來說,計算機還可以包括,或者被可操作地連接,以從一個或多個用于存儲數據的海量儲存設備接收數據,或把數據傳送到海量儲存設備,或者二者皆有,所述海量儲存設備例如:磁盤、磁光盤或光盤。適于具體實施計算機程序指令和數據的信息載體包括所有形式的非易失性存儲器,作為例子,包括半導體存儲器器件,例如EPROM、EEPROM和閃存設備;磁盤,例如內置硬盤或可移動磁盤;磁光盤;以及CD-ROM和DVD-ROM盤。處理器和存儲器可以以專用邏輯電路補充,或者被包含在專用邏輯電路中。
為了提供和用戶的交互,實現方式可以在具有顯示設備和鍵盤以及定點設備的計算機上實施,顯示設備例如陰極射線管(CRT)或液晶顯示器(LCD)監視器,用于向用戶顯示信息,鍵盤和指示設備例如鼠標或軌跡球,用戶利用它們可以提供到計算機的輸入。其他種類的設備也可以被用來提供和用戶的交互;例如,提供給用戶的反饋可以是任何形式的感覺反饋,例如視覺反饋、聽覺反饋或觸覺反饋,并且,可以以任何形式接收來自用戶的輸入,包括聲音、語音或觸覺輸入。
實現方式可以被在包括后端組件或包括中間件組件或包括前端組件的計算系統中實施,或者在這些后端、中間件、前端組件的任意組合中實施,后端組件例如數據服務器,中間件組件例如應用服務器,前端組件例如具有圖形用戶界面,或Web瀏覽器的客戶端計算機,通過圖形用戶界面或Web瀏覽器,用戶可以和實現方式進行交互。可以利用數字數據通信的任何形式或介質互連組件,數字數據通信介質例如通信網絡。通信網絡的例子包括:局域網(LAN)和廣域網(WAN),例如因特網。
雖然如這里所描述的那樣已經示出了所描述的實現方式的某些特征,但是本領域普通技術人員現在應當想到很多修改、替換、變化和等同物。因此應當理解,所附權利要求旨在覆蓋落入實施例的實質精神內的所有這樣的修改和變化。

關于本文
本文標題:多系統的集成分析.pdf
鏈接地址:http://www.pqsozv.live/p-6180731.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
钻石光影