數(shù)據(jù)處理系統(tǒng)以及方法
【專利摘要】本申請(qǐng)公開了一種數(shù)據(jù)處理系統(tǒng),包括:通信交互模塊,所述通信交互模塊配置成與源接入端和目標(biāo)接入端耦合,并從所述源接入端接收具有第一格式的第一數(shù)據(jù);接收處理模塊,所述接收處理模塊配置成從所述通信交互模塊接收具有所述第一格式的所述第一數(shù)據(jù),對(duì)所述第一數(shù)據(jù)進(jìn)行校驗(yàn)和解壓還原從而得到源數(shù)據(jù),并將校驗(yàn)通過(guò)并解壓還原后的所述源數(shù)據(jù)根據(jù)其類型分?jǐn)?shù)據(jù)段存儲(chǔ)在數(shù)據(jù)緩存中;發(fā)送處理模塊,所述發(fā)送處理模塊將待發(fā)送數(shù)據(jù)轉(zhuǎn)換為具有第二格式的第二數(shù)據(jù),并經(jīng)由所述通信交互模塊發(fā)送給所述目標(biāo)接入端;以及任務(wù)調(diào)度模塊,所述任務(wù)調(diào)度模塊設(shè)置在所述接收處理模塊與所述發(fā)送處理模塊之間,其配置成把待發(fā)送的數(shù)據(jù)按數(shù)據(jù)段調(diào)度給所述發(fā)送處理模塊。本申請(qǐng)還公開了一種數(shù)據(jù)發(fā)布與抽取的方法。
【專利說(shuō)明】
數(shù)據(jù)處理系統(tǒng)以及方法
技術(shù)領(lǐng)域
[0001 ]本申請(qǐng)涉及數(shù)據(jù)處理系統(tǒng),以及在源接入端與目標(biāo)接入端之間進(jìn)行數(shù)據(jù)發(fā)布與抽 取的方法。
【背景技術(shù)】
[0002] 當(dāng)前在源數(shù)據(jù)庫(kù)與目標(biāo)數(shù)據(jù)庫(kù)之間進(jìn)行數(shù)據(jù)抽取方法基本上是基于關(guān)系數(shù)據(jù)庫(kù) 的功能,大致有以下幾種:(1)直接查詢?cè)磶?kù)上的數(shù)據(jù)并將查詢的結(jié)果插入或更新到目標(biāo)數(shù) 據(jù)庫(kù);(2)通過(guò)數(shù)據(jù)庫(kù)日志、鏡像、歸檔等方法將源數(shù)據(jù)庫(kù)上的變化同步到目標(biāo)數(shù)據(jù)庫(kù);(3) 通過(guò)ETL等專用工具實(shí)現(xiàn)。
[0003] 上述現(xiàn)有技術(shù)的方法不能滿足當(dāng)前的需要,特別是存在頻繁數(shù)據(jù)抽取的情形下。 現(xiàn)有技術(shù)的方法容易導(dǎo)致一份數(shù)據(jù)被多次從源數(shù)據(jù)庫(kù)向目標(biāo)數(shù)據(jù)庫(kù)傳輸,需要多次訪問源 數(shù)據(jù)庫(kù)。這盡管保證了數(shù)據(jù)的相對(duì)準(zhǔn)確性,但需要以處理性能大打折扣為代價(jià)。另外,現(xiàn)有 技術(shù)中還存在對(duì)數(shù)據(jù)庫(kù)依賴大、抽取方法對(duì)源數(shù)據(jù)庫(kù)影響大、部署分散和安全例外等問題。
[0004] 因此,需要一種改進(jìn)的數(shù)據(jù)發(fā)布與抽取的方法。
【發(fā)明內(nèi)容】
[0005] 為了解決上述問題,本申請(qǐng)?zhí)岢隽艘环N數(shù)據(jù)發(fā)布與抽取的方法,將源接入端與目 標(biāo)接入端分離。具體來(lái)說(shuō),可將源接入端與目標(biāo)接入端采用相同的通信協(xié)議接入數(shù)據(jù)處理 系統(tǒng),源接入端按照與數(shù)據(jù)處理系統(tǒng)約定的數(shù)據(jù)格式(例如,第一格式)與發(fā)布方式進(jìn)行數(shù) 據(jù)發(fā)布。目標(biāo)接入端按照與數(shù)據(jù)處理系統(tǒng)約定的數(shù)據(jù)格式(例如,第二格式)與訂閱方式進(jìn) 行數(shù)據(jù)抽取。源接入端與目標(biāo)接入端由于不是直接耦合在一起,因而不會(huì)相互影響。另外, 本申請(qǐng)的方法還支持多個(gè)源、多個(gè)目標(biāo)同時(shí)接入,支持一份數(shù)據(jù)多次抽取,支持?jǐn)?shù)據(jù)格式轉(zhuǎn) 換,能夠在高交易量的情況下,實(shí)現(xiàn)數(shù)據(jù)的平穩(wěn)發(fā)布與抽取。
[0006] 根據(jù)本申請(qǐng)的一個(gè)方面,提供了一種數(shù)據(jù)處理系統(tǒng)。該數(shù)據(jù)處理系統(tǒng)可包括:通信 交互模塊,配置成與源接入端和目標(biāo)接入端耦合,并從所述源接入端接收具有第一格式的 第一數(shù)據(jù);接收處理模塊,配置成從所述通信交互模塊接收具有所述第一格式的所述第一 數(shù)據(jù),對(duì)所述第一數(shù)據(jù)進(jìn)行校驗(yàn)和解壓還原從而得到源數(shù)據(jù),并將校驗(yàn)通過(guò)并解壓還原后 的所述源數(shù)據(jù)根據(jù)其類型分?jǐn)?shù)據(jù)段存儲(chǔ)在數(shù)據(jù)緩存中;發(fā)送處理模塊,所述發(fā)送處理模塊 將待發(fā)送數(shù)據(jù)轉(zhuǎn)換為具有第二格式的第二數(shù)據(jù),并經(jīng)由所述通信交互模塊發(fā)送給所述目標(biāo) 接入端;以及任務(wù)調(diào)度模塊,所述任務(wù)調(diào)度模塊設(shè)置在所述接收處理模塊與所述發(fā)送處理 模塊之間,其配置成把待發(fā)送的數(shù)據(jù)按數(shù)據(jù)段調(diào)度給所述發(fā)送處理模塊。
[0007] 在上述數(shù)據(jù)處理系統(tǒng)中,在所述接收處理模塊發(fā)現(xiàn)存儲(chǔ)在數(shù)據(jù)緩存中的第一數(shù)據(jù) 段已經(jīng)寫滿時(shí),所述接收處理模塊配置成通知所述任務(wù)調(diào)度模塊。
[0008] 在上述數(shù)據(jù)處理系統(tǒng)中,在接收到所述接收處理模塊的通知后,所述任務(wù)調(diào)度模 塊配置成基于來(lái)自所述目標(biāo)接入端的訂閱任務(wù)信息將所述第一數(shù)據(jù)段調(diào)度給所述發(fā)送處 理模塊。
[0009] 在上述數(shù)據(jù)處理系統(tǒng)中,所述任務(wù)調(diào)度模塊配置成定期輪詢存儲(chǔ)在所述數(shù)據(jù)緩存 中的各數(shù)據(jù)段。
[0010] 在上述數(shù)據(jù)處理系統(tǒng)中,在確定第一數(shù)據(jù)段在超過(guò)規(guī)定時(shí)間仍未寫滿的情況下, 所述任務(wù)調(diào)度模塊配置成將該第一數(shù)據(jù)段調(diào)度給所述發(fā)送處理模塊。
[0011]在上述數(shù)據(jù)處理系統(tǒng)中,所述第一數(shù)據(jù)在頭部存有校驗(yàn)值,以供所述接收處理模 塊校驗(yàn)所述第一數(shù)據(jù)的完整性與正確性。
[0012] 在上述數(shù)據(jù)處理系統(tǒng)中,所述第二數(shù)據(jù)在頭部也存有校驗(yàn)值,以供所述目標(biāo)接入 端校驗(yàn)所述第二數(shù)據(jù)的完整性與正確性。
[0013] 根據(jù)本申請(qǐng)的另一個(gè)方面,提供了一種在源接入端與目標(biāo)接入端之間進(jìn)行數(shù)據(jù)發(fā) 布與抽取的方法。該方法包括:從所述源接入端接收具有第一格式的第一數(shù)據(jù)(步驟A);對(duì) 所述第一數(shù)據(jù)進(jìn)行校驗(yàn)和解壓還原從而得到源數(shù)據(jù)(步驟B);將校驗(yàn)通過(guò)并解壓還原后的 所述源數(shù)據(jù)根據(jù)其類型分?jǐn)?shù)據(jù)段存儲(chǔ)在數(shù)據(jù)緩存中(步驟C);把待發(fā)送的數(shù)據(jù)按數(shù)據(jù)段進(jìn) 行調(diào)度(步驟D);以及將所述待發(fā)送數(shù)據(jù)轉(zhuǎn)換為具有第二格式的第二數(shù)據(jù),并發(fā)送給所述目 標(biāo)接入端(步驟E)。
[0014] 在上述方法中,步驟D可包括:在確定存儲(chǔ)在數(shù)據(jù)緩存中的第一數(shù)據(jù)段已經(jīng)寫滿 時(shí),基于來(lái)自所述目標(biāo)接入端的訂閱任務(wù)信息對(duì)所述第一數(shù)據(jù)段進(jìn)行調(diào)度。
[0015] 在上述方法中,步驟D還可包括:定期輪詢存儲(chǔ)在所述數(shù)據(jù)緩存中的各數(shù)據(jù)段。在 確定第一數(shù)據(jù)段在超過(guò)規(guī)定時(shí)間仍未寫滿的情況下,對(duì)該第一數(shù)據(jù)段進(jìn)行調(diào)度。
[0016] 在上述方法中,所述第一數(shù)據(jù)在頭部存有校驗(yàn)值,以供所述接收處理模塊校驗(yàn)所 述第一數(shù)據(jù)的完整性與正確性。
[0017] 在上述方法中,所述第二數(shù)據(jù)在頭部也存有校驗(yàn)值,以供所述目標(biāo)接入端校驗(yàn)所 述第二數(shù)據(jù)的完整性與正確性。
[0018] 相對(duì)于現(xiàn)有技術(shù),本申請(qǐng)實(shí)現(xiàn)了源接入端與目標(biāo)接入端解耦,使得兩個(gè)接入端之 間沒有直接依賴關(guān)系。同時(shí),源接入端、目標(biāo)接入端可以是異構(gòu)系統(tǒng),所處理數(shù)據(jù)也可以是 非關(guān)系數(shù)據(jù)庫(kù)產(chǎn)生的數(shù)據(jù),數(shù)據(jù)的類型更為多樣。通過(guò)配置一對(duì)多的數(shù)據(jù)發(fā)布與抽取方法, 可以減輕對(duì)源接入端的壓力,節(jié)省大量的數(shù)據(jù)傳輸。
【附圖說(shuō)明】
[0019] 在參照附圖閱讀了本申請(qǐng)的【具體實(shí)施方式】以后,本領(lǐng)域技術(shù)人員將會(huì)更清楚地了 解本申請(qǐng)的各個(gè)方面。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是:這些附圖僅僅用于配合具體實(shí)施方 式說(shuō)明本申請(qǐng)的技術(shù)方案,而并非意在對(duì)本申請(qǐng)的保護(hù)范圍構(gòu)成限制。
[0020] 圖1是根據(jù)本申請(qǐng)的實(shí)施例的數(shù)據(jù)發(fā)布與抽取的方法的流程示意圖; 圖2是根據(jù)本申請(qǐng)的實(shí)施例的數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)示意圖;以及 圖3是根據(jù)本申請(qǐng)的實(shí)施例的數(shù)據(jù)緩存示意圖。
【具體實(shí)施方式】
[0021] 下面介紹的是本申請(qǐng)的多個(gè)可能實(shí)施例中的一些,旨在提供對(duì)本申請(qǐng)的基本了 解,并不旨在確認(rèn)本申請(qǐng)的關(guān)鍵或決定性的要素或限定所要保護(hù)的范圍。容易理解,根據(jù)本 申請(qǐng)的技術(shù)方案,在不變更本申請(qǐng)的實(shí)質(zhì)精神下,本領(lǐng)域的一般技術(shù)人員可以提出可相互 替換的其它實(shí)現(xiàn)方式。因此,以下【具體實(shí)施方式】以及附圖僅是對(duì)本申請(qǐng)的技術(shù)方案的示例 性說(shuō)明,而不應(yīng)當(dāng)視為本申請(qǐng)的全部或者視為對(duì)本申請(qǐng)技術(shù)方案的限定或限制。
[0022] 根據(jù)本申請(qǐng)的一個(gè)實(shí)施例,如圖1所示,示出了一種數(shù)據(jù)發(fā)布與數(shù)據(jù)抽取方法。如 圖1所示,在步驟①,源接入端(簡(jiǎn)稱源端)進(jìn)行數(shù)據(jù)發(fā)布,按照與數(shù)據(jù)處理系統(tǒng)約定的數(shù)據(jù) 格式與發(fā)布方式發(fā)送報(bào)文給數(shù)據(jù)處理系統(tǒng)。在步驟②,數(shù)據(jù)處理系統(tǒng)將處理的情況反饋給 源端,源端則根據(jù)反饋的情況決定后續(xù)的數(shù)據(jù)處理。在步驟③,數(shù)據(jù)處理系統(tǒng)按照與目標(biāo)接 入端約定的數(shù)據(jù)格式與抽取方式,將目標(biāo)接入端訂閱的數(shù)據(jù)發(fā)送給目標(biāo)接入端。在步驟④, 目標(biāo)接入端(簡(jiǎn)稱目標(biāo)端)將處理的情況反饋給數(shù)據(jù)處理系統(tǒng),數(shù)據(jù)處理系統(tǒng)根據(jù)反饋的情 況決定后續(xù)的數(shù)據(jù)處理。
[0023] 圖2進(jìn)一步示出了根據(jù)本申請(qǐng)的一個(gè)實(shí)施例的數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)示意圖。如圖2 所示,數(shù)據(jù)處理系統(tǒng)包括通信交互模塊、數(shù)據(jù)緩存模塊、接收處理模塊、任務(wù)調(diào)度模塊以及 發(fā)送處理模塊。在下文中,將就各個(gè)模塊分別進(jìn)行介紹。
[0024] 1.通信交互模塊 在圖2中,通信交互模塊是數(shù)據(jù)源端與目標(biāo)端的中介。源接入端會(huì)將待發(fā)布數(shù)據(jù)發(fā)送給 通信交互模塊,而目標(biāo)接入端也會(huì)從通信交互模塊進(jìn)行數(shù)據(jù)抽取。在一個(gè)實(shí)施例中,通信交 互模塊對(duì)外負(fù)責(zé)連接源端和目標(biāo)端,對(duì)內(nèi)負(fù)責(zé)調(diào)用后續(xù)模塊,并將處理的情況發(fā)送給源端、 目標(biāo)端。
[0025] 在一個(gè)實(shí)施例中,所有的數(shù)據(jù)源端(系統(tǒng))、數(shù)據(jù)目標(biāo)端(系統(tǒng))在與數(shù)據(jù)處理系統(tǒng) 連接時(shí),需要采用統(tǒng)一的接入標(biāo)準(zhǔn)。例如,數(shù)據(jù)處理系統(tǒng)支持采用TCP/IP、文件、IPC等方式 與源數(shù)據(jù)端或目標(biāo)數(shù)據(jù)端進(jìn)行通信,但通信的內(nèi)容必須遵循統(tǒng)一標(biāo)準(zhǔn)與格式。
[0026] 在一個(gè)實(shí)施例中,報(bào)文/文件的內(nèi)容可包含兩個(gè)組成部分,依次是:頭部、數(shù)據(jù)域。 其結(jié)構(gòu)如下表所示: 衷1:報(bào)件的內(nèi)容結(jié)構(gòu)圖
頭部是報(bào)文/文件的第一個(gè)數(shù)據(jù)元素,主要記錄了數(shù)據(jù)類型、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)條數(shù)、數(shù)據(jù) 源端標(biāo)識(shí)、數(shù)據(jù)目標(biāo)端標(biāo)識(shí)、校驗(yàn)碼等基本信息。數(shù)據(jù)域里可以攜帶一條或多條數(shù)據(jù)記錄。
[0027] 例如,源端(標(biāo)識(shí)為PUB)與數(shù)據(jù)處理系統(tǒng)約定將其內(nèi)部每條100個(gè)字節(jié)的數(shù)據(jù)(類 型定義為A001),通過(guò)壓縮打包的方式發(fā)布到數(shù)據(jù)處理系統(tǒng)(標(biāo)識(shí)為GDDS),則源端可以通過(guò) TCP/IP方式傳輸如下報(bào)f:
而目標(biāo)端(標(biāo)識(shí)為SUB)與數(shù)據(jù)處理系統(tǒng)約定需要抽取源數(shù)據(jù)類型為Al中的部分內(nèi)容 (假定轉(zhuǎn)換后的長(zhǎng)度為30字節(jié)),則數(shù)據(jù)處理系統(tǒng)就會(huì)向目標(biāo)端通過(guò)TCP/IP方式傳輸如下報(bào)
2、數(shù)據(jù)緩存模塊 當(dāng)源端與數(shù)據(jù)處理系統(tǒng)約定好數(shù)據(jù)類型等基本信息后,數(shù)據(jù)處理系統(tǒng)會(huì)為源端數(shù)據(jù)生 成一系列數(shù)據(jù)緩存。數(shù)據(jù)緩存的主要目的是為了協(xié)調(diào)上下游系統(tǒng)的處理效率,提高數(shù)據(jù)處 理的性能。
[0028] 在一個(gè)實(shí)施例中,緩存采用分段滾動(dòng)的處理方式。如圖3所示,上游源端發(fā)送的數(shù) 據(jù)是接收以后按順序存放在數(shù)據(jù)緩存中的,下游目標(biāo)端接收的數(shù)據(jù)是從數(shù)據(jù)緩存中按順序 發(fā)送出去的。當(dāng)上游源端和下游目標(biāo)端的數(shù)據(jù)收/發(fā)處理能力差不多時(shí),數(shù)據(jù)緩存處在一個(gè) 平衡狀態(tài)并起到緩沖的作用。當(dāng)下游目標(biāo)端的數(shù)據(jù)處理能力趕不上上游源端的數(shù)據(jù)發(fā)送能 力時(shí),數(shù)據(jù)緩存在一段時(shí)間后可能會(huì)被堵滿,這時(shí)數(shù)據(jù)處理系統(tǒng)會(huì)指示上游源端系統(tǒng)暫緩 發(fā)送(例如要求暫停一定時(shí)間再發(fā)送或者是降低速度發(fā)送等指令)。
[0029] 下游目標(biāo)端所定制的數(shù)據(jù),來(lái)源于源端與數(shù)據(jù)處理系統(tǒng)約定的第一格式的數(shù)據(jù)有 時(shí)在格式、順序上可能未必相同,因此需要對(duì)數(shù)據(jù)緩存中存儲(chǔ)的數(shù)據(jù)進(jìn)行一定的加工裁剪, 生成符合下游目標(biāo)端要求的第二格式的數(shù)據(jù)。數(shù)據(jù)處理系統(tǒng)實(shí)現(xiàn)了常用的基于位置的數(shù)據(jù) 加工裁剪規(guī)則,例如復(fù)制、新增、修改、刪除等,通過(guò)配置參數(shù)就能得到下游目標(biāo)端訂制的數(shù) 據(jù)內(nèi)容。
[0030] 按照對(duì)數(shù)據(jù)完整理性的要求,被區(qū)分成有一致性要求的和非一致性要求的兩種: 對(duì)于有一致性要求的數(shù)據(jù),只有當(dāng)目標(biāo)端順序處理完這些數(shù)據(jù)并返回了成功應(yīng)答以后,數(shù) 據(jù)緩存段中的這些數(shù)據(jù)才可以被釋放;對(duì)于非一致性要求的數(shù)據(jù),數(shù)據(jù)處理系統(tǒng)調(diào)用通信 交互模塊成功發(fā)出以后,數(shù)據(jù)緩存段中的這些數(shù)據(jù)就可以被釋放,從而實(shí)現(xiàn)整個(gè)數(shù)據(jù)緩存 區(qū)的分段滾動(dòng)循環(huán)使用。
[0031] 3、接收處理模塊 接收處理模塊用于接收通信交互模塊上送的報(bào)文。由于通信交互模塊僅負(fù)責(zé)數(shù)據(jù)的傳 遞,故接收處理模塊需要對(duì)外部上送的數(shù)據(jù)進(jìn)行解析處理。在一個(gè)實(shí)施例中,接收處理模塊 對(duì)于源端上送的數(shù)據(jù),需要進(jìn)行源數(shù)據(jù)校驗(yàn)、源數(shù)據(jù)解壓還原、數(shù)據(jù)緩存處理等操作。
[0032] 源數(shù)據(jù)校驗(yàn)針對(duì)源端上送的數(shù)據(jù)內(nèi)容(待處理的數(shù)據(jù))進(jìn)行校驗(yàn),保證上送數(shù)據(jù)的 完整性與正確性。在一個(gè)具體的實(shí)施例中,為每個(gè)接入端(包括源與目標(biāo))生成一個(gè)KEY值, 接入端根據(jù)這個(gè)KEY值,采用與數(shù)據(jù)處理系統(tǒng)約定的算法,例如可以采用MD5/DES等算法,對(duì) 上送報(bào)文中的數(shù)據(jù)域(壓縮過(guò)后)進(jìn)行計(jì)算,并將計(jì)算的結(jié)果填入報(bào)文頭部中的校驗(yàn)值域 中。數(shù)據(jù)處理系統(tǒng)對(duì)于校驗(yàn)失敗的源端數(shù)據(jù)予以拒絕(回送一個(gè)應(yīng)答報(bào)文,其中的數(shù)據(jù)域指 示拒絕原因)。
[0033] 源數(shù)據(jù)解壓還原針對(duì)源端上送的源數(shù)據(jù)包進(jìn)行解壓,解壓采用與接入端約定好的 壓縮/解壓算法,例如可以采用zlib/lzma等算法。壓縮能顯著降低數(shù)據(jù)傳輸體量,大幅提升 數(shù)據(jù)處理系統(tǒng)的整體性能。
[0034]源數(shù)據(jù)緩存處理將校驗(yàn)通過(guò)并解壓還原過(guò)后的源數(shù)據(jù)存放在數(shù)據(jù)緩存中,數(shù)據(jù)處 理系統(tǒng)根據(jù)上送的數(shù)據(jù)類型在數(shù)據(jù)緩存當(dāng)前寫入位置順序?qū)懭?。?dāng)發(fā)現(xiàn)所在段已經(jīng)寫滿 了,會(huì)立即調(diào)用后續(xù)的任務(wù)調(diào)度模塊處理該段中的這些數(shù)據(jù);當(dāng)發(fā)現(xiàn)沒有可用段時(shí),則會(huì)向 源端返回暫緩發(fā)送的指令,源端收到此應(yīng)答后,將暫停工作到指定時(shí)間之后重新發(fā)送這次 的數(shù)據(jù)。
[0035] 4、任務(wù)調(diào)度模塊 任務(wù)調(diào)度模塊負(fù)責(zé)處理接收處理模塊寫入緩存后的數(shù)據(jù),其主要功能是根據(jù)目標(biāo)端與 數(shù)據(jù)處理系統(tǒng)的約定,將目標(biāo)端的訂閱任務(wù)信息進(jìn)行路由,把待處理的數(shù)據(jù)段(不是每一條 數(shù)據(jù))調(diào)度給后續(xù)的發(fā)送處理模塊進(jìn)行數(shù)據(jù)的分發(fā)。
[0036] 在一個(gè)實(shí)施例中,數(shù)據(jù)緩存段在兩種情況下會(huì)被調(diào)度出去,一種是接收處理模塊 發(fā)現(xiàn)該段已經(jīng)寫滿了會(huì)通知任務(wù)調(diào)度模塊進(jìn)行調(diào)度,另一種是任務(wù)調(diào)度模塊輪詢發(fā)現(xiàn)該段 中存在數(shù)據(jù)但超過(guò)了規(guī)定時(shí)間仍未寫滿的情況,這樣設(shè)計(jì)是為了使數(shù)據(jù)及時(shí)被調(diào)度分發(fā)出 去。
[0037] 由于存在一個(gè)源端的數(shù)據(jù)可能被抽取分發(fā)到多個(gè)目標(biāo)端,為了更好地實(shí)現(xiàn)任務(wù)的 并發(fā),設(shè)計(jì)了此任務(wù)調(diào)度模塊,用于處理這種一對(duì)多、多對(duì)多的數(shù)據(jù)任務(wù)路由和轉(zhuǎn)換。任務(wù) 調(diào)度模塊根據(jù)訂閱任務(wù)信息表決定待處理的數(shù)據(jù)段要發(fā)送給哪些目標(biāo)接收端,通過(guò)調(diào)用發(fā) 送處理模塊進(jìn)行目標(biāo)端數(shù)據(jù)的發(fā)送。
Luuje」 此外,仕一T頭施例Ψ,仕務(wù)調(diào)反悮吠迚宕;性佰疋數(shù)做扠及達(dá)菹所有對(duì)該數(shù)做 有完整性要求的關(guān)聯(lián)目標(biāo)端的處理情況,當(dāng)發(fā)現(xiàn)某段上的數(shù)據(jù)長(zhǎng)時(shí)間沒有反饋應(yīng)答時(shí),重 新調(diào)用發(fā)送處理模塊繼續(xù)該段緩存的數(shù)據(jù)分發(fā),防止有發(fā)送處理進(jìn)程異常退出的情況。 [0039] 5、發(fā)送處理模塊 在一個(gè)實(shí)施例中,發(fā)送處理模塊可具有兩個(gè)功能,一是負(fù)責(zé)處理任務(wù)調(diào)度模塊指示的 處理請(qǐng)求,將指定數(shù)據(jù)緩存段中的數(shù)據(jù)根據(jù)規(guī)則進(jìn)行轉(zhuǎn)換處理并發(fā)送給目標(biāo)端;二是負(fù)責(zé) 處理目標(biāo)端返回的應(yīng)答,對(duì)于上次發(fā)送的數(shù)據(jù)若收到失敗應(yīng)答或者超時(shí)無(wú)應(yīng)答時(shí)將再次發(fā) 送。
[0040]在一個(gè)實(shí)施例中,發(fā)送處理模塊對(duì)于目標(biāo)端上送的反饋應(yīng)答,需要進(jìn)行目標(biāo)數(shù)據(jù) 校驗(yàn)、緩存處理等操作。
[0041 ]目標(biāo)數(shù)據(jù)校驗(yàn)針對(duì)目標(biāo)端上送的反饋應(yīng)答內(nèi)容進(jìn)行校驗(yàn),確保應(yīng)答與請(qǐng)求一致, 保證數(shù)據(jù)的完整性與正確性,校驗(yàn)方法與源數(shù)據(jù)校驗(yàn)一致,校驗(yàn)不通過(guò)的應(yīng)答做丟棄處理。 [0042]在一個(gè)實(shí)施例中,目標(biāo)數(shù)據(jù)緩存處理針對(duì)目標(biāo)端上送的反饋應(yīng)答內(nèi)容進(jìn)行處理, 若目標(biāo)端上送的反饋應(yīng)答是成功處理,則表示數(shù)據(jù)處理系統(tǒng)可以繼續(xù)處理該段中其余待處 理數(shù)據(jù),直至該段中所有數(shù)據(jù)都被處理完畢就可以將該目標(biāo)端置為"已完成"狀態(tài)。當(dāng)所有 訂閱了該數(shù)據(jù)的目標(biāo)端狀態(tài)都變成了"已完成"狀態(tài)時(shí),就可以從數(shù)據(jù)緩存中釋放掉該段。 若目標(biāo)端上送的反饋應(yīng)答是異常應(yīng)答,則根據(jù)與目標(biāo)端約定的異常處理方法進(jìn)行后續(xù)處理 (比如跳過(guò)、重新發(fā)送若干次或者隔離指定目標(biāo)端等策略)。
[0043]在一個(gè)實(shí)施例中,發(fā)送處理模塊僅處理指定的緩存數(shù)據(jù)段,對(duì)于段中的數(shù)據(jù),發(fā)送 處理模塊根據(jù)轉(zhuǎn)換規(guī)則,逐一轉(zhuǎn)換為指定的目標(biāo)數(shù)據(jù)類型,等該段中待處理的數(shù)據(jù)結(jié)束或 者達(dá)到與目標(biāo)端約定的每個(gè)數(shù)據(jù)包的最大數(shù)據(jù)條數(shù)時(shí),就調(diào)用通信交互模塊發(fā)送出去。其 中的形變轉(zhuǎn)換規(guī)則,目前數(shù)據(jù)處理系統(tǒng)支持簡(jiǎn)單的基于位置的拷貝、替換、新增、內(nèi)容過(guò)濾 箋功能.并日可以方桂誦付開發(fā)動(dòng)杰疰_活他擴(kuò)展報(bào)亦鮮拖棚SlL
[0044]綜上,提供了一種數(shù)據(jù)處理系統(tǒng)。該數(shù)據(jù)處理系統(tǒng)可包括:通信交互模塊,配置成 與源接入端和目標(biāo)接入端耦合,并從所述源接入端接收具有第一格式的第一數(shù)據(jù);接收處 理模塊,配置成從所述通信交互模塊接收具有所述第一格式的所述第一數(shù)據(jù),對(duì)所述第一 數(shù)據(jù)進(jìn)行校驗(yàn)和解壓還原從而得到源數(shù)據(jù),并將校驗(yàn)通過(guò)并解壓還原后的所述源數(shù)據(jù)根據(jù) 其類型分?jǐn)?shù)據(jù)段存儲(chǔ)在數(shù)據(jù)緩存中;發(fā)送處理模塊,所述發(fā)送處理模塊將待發(fā)送數(shù)據(jù)轉(zhuǎn)換 為具有第二格式的第二數(shù)據(jù),并經(jīng)由所述通信交互模塊發(fā)送給所述目標(biāo)接入端;以及任務(wù) 調(diào)度模塊,所述任務(wù)調(diào)度模塊設(shè)置在所述接收處理模塊與所述發(fā)送處理模塊之間,其配置 成把待發(fā)送的數(shù)據(jù)按數(shù)據(jù)段調(diào)度給所述發(fā)送處理模塊。
[0045] 根據(jù)本申請(qǐng)的另一方面,還提供了一種在源接入端與目標(biāo)接入端之間(具體來(lái)說(shuō), 在數(shù)據(jù)處理系統(tǒng)中)進(jìn)行數(shù)據(jù)發(fā)布與抽取的方法。該方法可包括:從所述源接入端接收具有 第一格式的第一數(shù)據(jù);對(duì)所述第一數(shù)據(jù)進(jìn)行校驗(yàn)和解壓還原從而得到源數(shù)據(jù);將校驗(yàn)通過(guò) 并解壓還原后的所述源數(shù)據(jù)根據(jù)其類型分?jǐn)?shù)據(jù)段存儲(chǔ)在數(shù)據(jù)緩存中;把待發(fā)送的數(shù)據(jù)按數(shù) 據(jù)段進(jìn)行調(diào)度;將所述待發(fā)送數(shù)據(jù)轉(zhuǎn)換為具有第二格式的第二數(shù)據(jù),并發(fā)送給所述目標(biāo)接 入端。
[0046] 上文中,參照附圖描述了本申請(qǐng)的【具體實(shí)施方式】。但是,本領(lǐng)域中的普通技術(shù)人員 能夠理解,在不偏離本申請(qǐng)的精神和范圍的情況下,還可以對(duì)本申請(qǐng)的【具體實(shí)施方式】作各 種變更和替換。這些變更和替換都落在本申請(qǐng)權(quán)利要求書所限定的范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種數(shù)據(jù)處理系統(tǒng),包括: 通信交互模塊,所述通信交互模塊配置成與源接入端和目標(biāo)接入端耦合,并從所述源 接入端接收具有第一格式的第一數(shù)據(jù); 接收處理模塊,所述接收處理模塊配置成從所述通信交互模塊接收具有所述第一格式 的所述第一數(shù)據(jù),對(duì)所述第一數(shù)據(jù)進(jìn)行校驗(yàn)和解壓還原從而得到源數(shù)據(jù),并將校驗(yàn)通過(guò)并 解壓還原后的所述源數(shù)據(jù)根據(jù)其類型分?jǐn)?shù)據(jù)段存儲(chǔ)在數(shù)據(jù)緩存中; 發(fā)送處理模塊,所述發(fā)送處理模塊將待發(fā)送數(shù)據(jù)轉(zhuǎn)換為具有第二格式的第二數(shù)據(jù),并 經(jīng)由所述通信交互模塊發(fā)送給所述目標(biāo)接入端;以及 任務(wù)調(diào)度模塊,所述任務(wù)調(diào)度模塊設(shè)置在所述接收處理模塊與所述發(fā)送處理模塊之 間,其配置成把待發(fā)送的數(shù)據(jù)按數(shù)據(jù)段調(diào)度給所述發(fā)送處理模塊。2. 如權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其中,在所述接收處理模塊發(fā)現(xiàn)存儲(chǔ)在數(shù)據(jù)緩存 中的第一數(shù)據(jù)段已經(jīng)寫滿時(shí),所述接收處理模塊配置成通知所述任務(wù)調(diào)度模塊。3. 如權(quán)利要求2所述的數(shù)據(jù)處理系統(tǒng),其中,在接收到所述接收處理模塊的通知后,所 述任務(wù)調(diào)度模塊配置成基于來(lái)自所述目標(biāo)接入端的訂閱任務(wù)信息將所述第一數(shù)據(jù)段調(diào)度 給所述發(fā)送處理模塊。4. 如權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其中,所述任務(wù)調(diào)度模塊配置成定期輪詢存儲(chǔ)在 所述數(shù)據(jù)緩存中的各數(shù)據(jù)段。5. 如權(quán)利要求4所述的數(shù)據(jù)處理系統(tǒng),其中,在確定第一數(shù)據(jù)段在超過(guò)規(guī)定時(shí)間仍未寫 滿的情況下,所述任務(wù)調(diào)度模塊配置成將該第一數(shù)據(jù)段調(diào)度給所述發(fā)送處理模塊。6. 如權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其中,所述第一數(shù)據(jù)在頭部存有校驗(yàn)值,以供所 述接收處理模塊校驗(yàn)所述第一數(shù)據(jù)的完整性與正確性。7. -種在源接入端與目標(biāo)接入端之間進(jìn)行數(shù)據(jù)發(fā)布與抽取的方法,所述方法包括: 步驟A:從所述源接入端接收具有第一格式的第一數(shù)據(jù); 步驟B:對(duì)所述第一數(shù)據(jù)進(jìn)行校驗(yàn)和解壓還原從而得到源數(shù)據(jù), 步驟C:將校驗(yàn)通過(guò)并解壓還原后的所述源數(shù)據(jù)根據(jù)其類型分?jǐn)?shù)據(jù)段存儲(chǔ)在數(shù)據(jù)緩存 中; 步驟D:把待發(fā)送的數(shù)據(jù)按數(shù)據(jù)段進(jìn)行調(diào)度;以及 步驟E:將所述待發(fā)送數(shù)據(jù)轉(zhuǎn)換為具有第二格式的第二數(shù)據(jù),并發(fā)送給所述目標(biāo)接入 端。8. 如權(quán)利要求7所述的方法,其中,步驟D包括:在確定存儲(chǔ)在數(shù)據(jù)緩存中的第一數(shù)據(jù)段 已經(jīng)寫滿時(shí),基于來(lái)自所述目標(biāo)接入端的訂閱任務(wù)信息對(duì)所述第一數(shù)據(jù)段進(jìn)行調(diào)度。9. 如權(quán)利要求7所述的方法,其中,步驟D包括:定期輪詢存儲(chǔ)在所述數(shù)據(jù)緩存中的各數(shù) 據(jù)段。10. 如權(quán)利要求9所述的方法,其中,步驟D還包括:在確定第一數(shù)據(jù)段在超過(guò)規(guī)定時(shí)間 仍未寫滿的情況下,對(duì)該第一數(shù)據(jù)段進(jìn)行調(diào)度。11. 如權(quán)利要求7所述的方法,其中,所述第一數(shù)據(jù)在頭部存有校驗(yàn)值,以供所述接收處 理模塊校驗(yàn)所述第一數(shù)據(jù)的完整性與正確性。
【文檔編號(hào)】G06F17/30GK105843966SQ201610252966
【公開日】2016年8月10日
【申請(qǐng)日】2016年4月22日
【發(fā)明人】楊燕明, 趙根苗, 茅毓銘, 徐湧, 占衛(wèi)平
【申請(qǐng)人】中國(guó)銀聯(lián)股份有限公司