用于可擴展的結構化數據分布的系統和方法
【專利說明】
[0001] 相關申請交叉引用
[0002] 本申請要求2012年4月13日提交的美國臨時申請61/623,877的優先權,其出于 所有目的通過引用被整體合并于此。
技術領域
[0003] 本申請的技術的各種實施例通常涉及數據傳送。更具體而言,本申請的技術的一 些實施例涉及用于可擴展的結構化數據分布的系統和方法。
【背景技術】
[0004] 各個行業存在日益增長的監管和競爭壓力,以提高報告的數據的質量、一致性和 可用性。存儲和處理需求從多個維度日益增加,諸如粒度、在線歷史、冗余和用于將數據的 新組合結合起來的收集。此外,日內版本化對于管理具有不同時間需求的部門之間的差異 而言將是必然趨勢,因為數據在公司內的部門之間越來越多的被共享。部門也已經開始尋 求方法,以能夠使他們從批量處理變為增量的實時和流數據管理。
[0005] 盡管對高效和一致的數據管理的需求不斷增長,許多大公司都將失敗的ACID(原 子性,一致性,隔離性和持久性)架構更換為可擴展的BASE架構。查看和分析大至龐大的 數據集的解決方案逐漸變得司空見慣,因為這些公司發布其云擴展系統的內容以開源。盡 管超大規模的分析引擎逐漸變得司空見慣,管理數據集移動的工具并沒有跟上。大公司都 在爭相保護自己免受日益增加的儲運損耗的可能性,因為他們缺乏管理大型數據流的可用 性的方法。
[0006] 許多其它公司面臨著同樣的無法復制不斷增長的數據集。ACID架構是昂貴的、 復雜的,并且無法確保數據跨越空間和時間的一致性和可用性(例如,部門數據共享和鑒 證)。對這些不斷增長的數據集的可用性、一致性,以及管理的更高的標準將始終被設置。
[0007] 概述
[0008] 用于可擴展的結構化數據分布的系統和方法被描述。在一些實施例中,方法可包 括從數據發生器接收流原始數據。這些數據可以基于歸檔策略被捆綁成數據包(即,束)。 在某些情況下,任何與流數據相關聯的元數據被利用于高效的策略驅動路由。該元數據可 以可能遞歸地在一個或多個通道上(例如,控制通道)被發布。可通過使用由主時鐘產生 的一系列連續的整數對每個數據包排序。然后該數據包可以被歸檔和傳遞(例如,平行地) 至已訂閱該數據發生器的用戶。該數據包可以基于排序被重放,所述排序通過基于來自數 據用戶的請求的連續的整數被識別。
[0009] 本發明的實施例還包括包含指令集合的計算機可讀存儲介質,以引起一個或多個 處理器執行本文所描述的方法、該方法的變體,以及其它操作。
[0010] 一些實施例包括系統,其包括捆綁器、轉換器、流時鐘和歸檔服務。捆綁器可以被 配置為從數據發生器接收流原始數據,且通過將每個數據包與具有單調增加的順序的唯一 的標識符關聯將該原始數據捆綁為一系列數據包。轉換器可以接收該數據包(例如,從歸 檔)并生成可加載的數據結構用于與數據訂閱者關聯的報告存儲。加載器可以基于邏輯排 序接收并存儲該可加載的數據結構至與該數據訂閱者關聯的存儲設備。
[0011] 一些實施例可包括主時鐘,其被配置為生成序列邏輯的整數,每個都與在業務對 齊的、策略驅動(聲明的)的系列的數據包中的單個數據包關聯。在各種實施例中,該系統 可以包括數據通道,其允許來自數據發生器的數據連續流至數據訂閱者。此外,消息通道可 以被用于提供通過數據分布系統連續地從數據發生器流至數據訂閱者的數據的當前的狀 態。控制通道與數據通道分離以允許數據訂閱者請求對數據的重放也可以被用于一些實施 例中。
[0012] 盡管多個實施例中公開了,本發明的其它實施例從下面詳細描述中對于本領域技 術人員而言仍將變得顯而易見,其示出并描述了本發明的示例性實施例。如將要認識到,本 發明能夠在各個方面進行修改,所有這些都不脫離本發明的精神和范圍。因此,附圖和詳細 描述應被視為示例性的而非限制性的。
【附圖說明】
[0013] 本發明的實施例將通過使用附圖被描述和解釋,其中:
[0014] 圖1所示是本技術的一些實施例可以被利用的環境的示例;
[0015] 圖2所示是根據技術的一個或多個實施例的數據分布系統的操作的階段;
[0016] 圖3所示是根據本技術的各種實施例的用于捆綁數據的一組操作的流程圖;
[0017] 圖4所示是根據本技術的一些實施例的用于處理數據流的一組操作的流程圖;
[0018]圖5所示是根據本技術的一個或多個實施例的數據分布系統的一組組件;
[0019] 圖6所示是根據本技術的各種實施例的用于傳送數據的一組操作的流程圖; [0020]圖7所示是可以被用在本技術的一個或多個實施例中的數據分布系統架構的概 述;
[0021] 圖8所示是本發明的實施例可以利用的計算機系統的示例;
[0022] 附圖未必按比例繪制。例如,一些組件和/或操作可以被分成不同的塊或者被組 合成單個塊以用于討論本申請的技術的一些實施例。而且,雖然本發明服從各種修改和替 代形式,但是特定實施例已經在附圖中通過示例的方式示出并且在下面被詳細描述了。然 而,本發明不被限于所描述的特定實施例。相反,本發明旨在覆蓋落入由所附權利要求所限 定的本發明的范圍內的所有修改、等同物以及替代方案。 具體實施例
[0023] 本申請的技術的各種實施例總體上涉及數據管理(例如,存儲和大數據的移動)。 更具體地,一些實施例涉及用于可擴展的結構化數據分布的系統和方法。一些實施例提供 了適合于可靠地分布大量數據到多個平行客戶端的數據總線。此外,一些實施例包括集成 系統,其用于有效地吸收、歸檔、和分布任何規模的數據集,以及通過實時流和過去的數據 重放提供靈活的、基于策略的高容量的數據分布。
[0024] 數據用戶往往希望數據是一致的、可用的和分區的("CAP")。瞬間實現所有這些 屬性通常是非常困難的。在許多一致性和可用性是至關重要的機構內實行延遲的一致性是 有利的妥協,而某些時間延遲是可以被接受的。這樣,在此公開的數據分布系統的一些實施 例保持一致性、可用性和分區性的神圣,而只有在一致性的時間設置上讓步。通過用于標記 數據的唯一時鐘方案,最終各種數據分布系統的實施例實現所需要的CAP。
[0025] 為了解決來源于監管和競爭壓力的向外擴展的需求,各種實施例提供了利用BASE 架構的數據流解決方案。各種實施例提供一種集成系統,其用于有效地吸收、歸檔和分布 任意規模的數據集。該集成系統可提供可擴展的分布(即高效、同時分流到任意數量的用 戶)、一致性(即一致的實時備份、數據共享和鑒證支持)、靈活性(即供應商獨立性和分析 引擎的快速運用)、管理(即在分布上的安全策略驅動管理),和/或鑒證(即以最高速度 對數據的過去版本進行重放和恢復)。
[0026] 此外,集成數據分布系統的一些實施例允許開發人員能夠識別簡單術語的數據 (模式和業務目的),并提交大量數據到總線,在那里策略管理存儲、轉換并同時到多個目 標的分流。所有通過總線發送的數據版本可被壓縮和存儲,然后以到任何目標的保證的一 致性被重放幾秒、幾天或幾年之后。一些實施例包括可被更廣泛地應用的特征,包括可修改 的基于組件的、消息驅