動的架構、無狀態和聲明的設置,以及特殊的壓縮和優化特征。
[0027] -些實施例在內部和外部域上以節省成本的云技術為數據流架橋。為此,該技術 的一些實施例可以包括特征以支持各種分布式/非分布式流組合,例如,但不限于以下內 容:1)高容量數據捕獲和重放;2)用于電線和磁盤上的安全的基于策略的加密;3)高通量 平行傳輸;4)在途平行處理或轉換;5)高級結構化壓縮;6)在業務層面監控和管理數據處 理和存儲成本的能力;和/或7)柔性適配器進出可重復的數據流。
[0028] 盡管許多傳統的系統使用命令式的數據流,本技術的各種實施例使用基于規則的 或"聲明的"數據流。其結果是,所有數據的提供、訂閱、通過、歸檔和授權可以通過一組被 充分理解的規則從任何專有實現解耦。此外,數據可以從底層存儲庫模型被抽象出來。由 于捕獲的數據以有序、原始形式被保存,該數據可以從過去的任何點被重放到新的數據庫 解決方案,為新技術的快速應用提供一個很好的平臺。在一些實施例中,內置一致性機制幫 助管理同時流。這允許不同的數據存儲被填充和平行使用。通過平行地使用一致的存儲, 新的混合報告架構成為可能。例如,串聯關系的和NoSQL引擎的綜合優勢在應用層可用,以 此種方式為大數據報告的挑戰提供新的性能和成本比例動態。
[0029] 在下面的描述中,出于解釋的目的,對許多特定細節進行了闡述,以便徹底理解本 發明的實施例。然而,本發明的實施例可以在沒有這些具體細節的情況下實施,這對于本領 域技術人員而言將是顯而易見的。
[0030] 此外,在此介紹的技術可以被表現為專用硬件(例如,電路)、以軟件和/或固件適 當編程的可編程電路,或特殊用途和可編程電路的組合。因此,實施例可以包括具有存儲于 其上的非暫時性指令的非暫時性機器可讀介質,該非暫時性指令可用于對計算機(或其它 電子設備)進行編程以執行進程。機器可讀介質可以包括,但不限于,光盤、光盤只讀存儲 器(CD-ROM)、磁光盤、ROM、隨機訪問存儲器(RAM)、可擦除可編程只讀存儲器(EPROM)、電可 擦除可編程只讀存儲器(EEPR0M),專用集成電路(ASIC)、磁或光卡、閃存,或其它類型的適 于存儲電子指令的介質/機器可讀介質。
[0031] 術語
[0032] 以下給出了貫穿本申請所用的術語、縮寫詞以及短語的簡要定義。
[0033] 術語"連接"或"耦合"和相關術語在操作意義上被使用,并且未必限于直接的物 理連接或耦合。因此,例如,兩個設備可以直接地或者經由一個或多個中間媒體或設備來耦 合。作為另一示例,設備能夠以在其間傳遞信息同時不與彼此共享任何物理連接的方式來 耦合設備。基于本文所提供的公開內容,本領域技術人員根據前述定義將了解存在的連接 或耦合的各種方式。
[0034] 短語"在某些實施例中"、"根據各種實施例"、"在所示出的實施例中"、"在其它實 施例中"等類似的短語一般意味著跟隨該短語之后的特定特征、結構或特性被包括在本發 明的至少一個實施例中,且可能被包括在多于一個實施例中。此外,這樣的短語未必指的是 相同的實施例或者指的是不同的實施例。
[0035] 如果本說明陳述組件或特征"可以"、"能夠"、"可能"或"也許"被包括或者具有特 性,則不要求該特定組件或特征被包括或者具有該特性。
[0036] 概述
[0037] 圖1所示是本技術的一些實施例中可被利用在其中的環境100的示例。如圖1所 示,數據發生器110A-110N產生在數據分布網絡120上被分布至數據用戶130A-130N的數 據。根據各種實施例,數據分布網絡120實現通過特征組合的可擴展的數據流。通過數據 發生器110A-110N生成的數據可以被結構化,且流處理組件都被給予對該結構的認識。這 種認識可以在運行時被注入,甚至可以在每個工作循環注入,如果需要,用于更多的動態資 源共享。通過系統地結構化由數據發生器生成的數據,各種實施例可以利用下列一個或多 個特征:1)有效的進程內的和在磁盤上的列式壓縮;2)數據和控制流的分離;3)通過呈現 重要的業務構建進行流的透明化和監控;4)能夠通過訂閱、過濾、分叉,或合并有效地管理 流的能力;以及5)植入結構化數據服務到流的能力,諸如目標數據存儲上游的密鑰生成服 務。
[0038] 在一些實施例中,數據分布網絡120包括流處理組件,其推送所有產物給外部服 務用于基于每個工作周期的狀態管理和恢復。節省下來的狀態服務可以被專門用于這一目 的。以這種方式,該系統的所有繁重的處理組件恢復外部服務狀態的關閉,并且可以做到從 周期到周期的完全動態。處理的無狀態的規則是通過專注于管理狀態(無處理)的指定的 狀態服務來讀取來自下游產物的進度。同樣地,流處理部件可僅接收推送到它們的輸入或 從聲明的上行服務請求它。
[0039] 一種可視化設計的實施例的方式是考慮流處理組件作為管的一段,其可被動態地 附著以兼容管的上游和下游段。管連接是高度動態的,由于更多的處理可以在狀態組件之 間運轉,而不需要上傳或恢復任何以前的狀態信息。在各種不同的實施例中,僅存在一個 狀態服務組件,所有其它狀態服務最終都可以從該狀態服務組件恢復。這是原始歸檔服務 140。在一些實施例中所有下游狀態服務的歸檔要求可以被放寬。
[0040] 圖2所示是根據技術的一個或多個實施例的數據分布系統200的操作的階段。如 圖2所示,數據分布系統200能夠從一個或多個數據發生器110A-110N攝取流數據。如下 面進一步解釋的,然后該數據被捆綁成可以被壓縮(例如,使用列式壓縮)的離散數據包。 然后這些離散數據包被分配到一個或多個數據用戶。基本上同時地,離散數據包可以被提 供一個唯一標識符并歸檔(在圖2中未示出)。然后數據用戶可以從離散數據包中解包數 據,并生成報告或以其它方式使用數據。
[0041] 數據分布系統200可以具有可插入組件架構。該數據分布系統可具有處理組件和 狀態服務。在一些實施例中,處理組件可包括雙通道管段一一個數據流通道和一個控制流 通道。狀態服務也可以具有分離的數據和控制通道,但作為多個目的地扇出的信號分離器, 如圖2所示。該組件可以是語言和平臺獨立的。組件之間的協議可以通過消息訂閱/發布 被實現,其包括通過存/取性質的窄交付傳送API和通過啟動/關閉的進程控制API的儀 器輸出。
[0042] 從操作的角度來看,外部組件的行為非常相似。它們發布與分布式主時鐘對齊的 一致的儀器信息,使得進程和容量可以通過系統被理解。儀器可與數據包的唯一標識符 (即束ID)對齊。也就是說,在開始消耗一束或完成一束的處理之后存在儀器事件。儀器的 該方面以主時鐘對儀器事件排序。以主時鐘對儀器事件排序允許與流時鐘事件對齊的儀器 作為控制事件。
[0043] 數據分布系統200的組件延伸超出基本運輸,并可以被用于有助于數據的最終交 付的任何步驟。一些實施例提供了數據管理進程,其將數據形成為在將來可訪問的格式。如 果需要對數據進行恢復或重放,歸檔可以基于獨特的標識符定位并重新發送數據的精確副 本。例如,也將遵循具有一致的儀器的雙管無狀態進程模型。以這種方式,貫穿流的全程, 容量和監控可以用單個工具集進行管理。
[0044] 數據分布系統200可以最大化事件的效率,