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