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