• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺談通信綜合營帳數(shù)據(jù)中間層設(shè)計(jì)原則與處理流程

      2017-02-21 19:50:46李綠色
      科技創(chuàng)新與應(yīng)用 2016年36期
      關(guān)鍵詞:中間層模式實(shí)體

      李綠色

      摘 要:文章論討數(shù)據(jù)中間層設(shè)計(jì)原則及數(shù)據(jù)處理流程。數(shù)據(jù)中間層是計(jì)費(fèi)系統(tǒng)對(duì)外進(jìn)行統(tǒng)計(jì)類數(shù)據(jù)提供的橋梁,以提高數(shù)據(jù)提供的方便性、快速性和安全性。

      關(guān)鍵詞:中間層;處理流程;模式;實(shí)體

      數(shù)據(jù)中間層是計(jì)費(fèi)系統(tǒng)對(duì)外進(jìn)行統(tǒng)計(jì)類數(shù)據(jù)提供的橋梁,系統(tǒng)通計(jì)費(fèi)過數(shù)據(jù)加工和整理把數(shù)據(jù)映射到數(shù)據(jù)中間層的各統(tǒng)計(jì)要素,報(bào)表統(tǒng)計(jì)直接通過數(shù)據(jù)中間層進(jìn)行而不對(duì)計(jì)費(fèi)系統(tǒng)的基礎(chǔ)數(shù)據(jù)進(jìn)行操作。通過這種方法提高了數(shù)據(jù)提供的方便性、快速性和安全性。

      數(shù)據(jù)中間層和計(jì)費(fèi)帳務(wù)系統(tǒng)中其他模塊的關(guān)系:數(shù)據(jù)中間層主要的功能是從計(jì)費(fèi)系統(tǒng)中抽取數(shù)據(jù),經(jīng)過加工整理(按照其他系統(tǒng)要求)向外界進(jìn)行數(shù)據(jù)提供,數(shù)據(jù)中間層的抽取的數(shù)據(jù)對(duì)象包括用戶資料、用戶的服務(wù)使用信息(用戶的業(yè)務(wù)使用記錄)、用戶的費(fèi)用信息、用戶的繳費(fèi)信息、用戶欠費(fèi)信息、調(diào)帳信息、用戶的賬本信息等計(jì)費(fèi)系統(tǒng)中核心業(yè)務(wù)數(shù)據(jù),因此數(shù)據(jù)中間層和計(jì)費(fèi)系統(tǒng)中各功能模塊都有著非常密切的關(guān)系,各模塊的行為會(huì)影響數(shù)據(jù)中間層的數(shù)據(jù)源,從而影響數(shù)據(jù)中間層的行為,為了保證數(shù)據(jù)中間層的數(shù)據(jù)和計(jì)費(fèi)系統(tǒng)的數(shù)據(jù)一致性,數(shù)據(jù)中間層模塊和相關(guān)模塊應(yīng)有通訊接口。從減少對(duì)計(jì)費(fèi)系統(tǒng)正常運(yùn)營的影響,數(shù)據(jù)中間層生成的不宜太多頻繁,一般定時(shí)處理就可以滿足要求(如一月一次、一天一次、一個(gè)小時(shí)一次)。

      數(shù)據(jù)中間層生成和其他系統(tǒng)間的關(guān)系:CRM系統(tǒng)(特別是采用SID模式)為數(shù)據(jù)中間層提供客戶資料信息,數(shù)據(jù)中間層抽取的數(shù)據(jù)是各種接口數(shù)據(jù)源和數(shù)據(jù)提供的數(shù)據(jù)源,統(tǒng)計(jì)報(bào)表在數(shù)據(jù)中間層抽取的數(shù)據(jù)基礎(chǔ)上進(jìn)行簡單的加工,生成最終的各種統(tǒng)計(jì)報(bào)表。

      1 數(shù)據(jù)中間層設(shè)計(jì)原則

      1.1 三種運(yùn)行模式

      系統(tǒng)運(yùn)行的模式,初步設(shè)計(jì)為三種模式:實(shí)時(shí)模式、定時(shí)模式和即時(shí)模式。

      實(shí)時(shí)模式主要處理話單類的統(tǒng)計(jì),由于這部分?jǐn)?shù)據(jù)量大,也不要求月末處理完成,考慮跟隨計(jì)費(fèi)的處理流程,計(jì)費(fèi)每完成若干個(gè)文件的計(jì)費(fèi),系統(tǒng)自動(dòng)組織相關(guān)的任務(wù)進(jìn)行處理,一個(gè)任務(wù)包含的文件數(shù)目多少,根據(jù)業(yè)務(wù)量的大小確定,這個(gè)參數(shù)由系統(tǒng)參數(shù)表中的process_file_num_per_batch確定。

      定時(shí)模式主要處理需要月底進(jìn)行統(tǒng)一處理的任務(wù)和需要每天進(jìn)行處理的任務(wù)。月底處理的主要是費(fèi)用性質(zhì)的數(shù)據(jù)抽取任務(wù),每天處理的主要包含欠費(fèi)和繳費(fèi)分析的任務(wù)。

      即時(shí)模式主要用于處理系統(tǒng)無法確定什么時(shí)候應(yīng)該開始處理的情形,和用戶需要隨機(jī)發(fā)布的數(shù)據(jù)抽取任務(wù),一部分在定時(shí)模式中提及的任務(wù),有可能也需要在即時(shí)模式的框架里面進(jìn)行處理,比如月底的費(fèi)用性質(zhì)的數(shù)據(jù)抽取任務(wù),由于系統(tǒng)無法確定什么時(shí)候出帳結(jié)束,稽核完成。這個(gè)時(shí)間點(diǎn)需要用戶確定。

      1.2 系統(tǒng)參數(shù)控制機(jī)制

      設(shè)計(jì)若干的實(shí)體,并在系統(tǒng)中設(shè)置一組參數(shù),最終用戶具有控制這些實(shí)體是否生成的權(quán)利,這組參數(shù)在系統(tǒng)參數(shù)表(system_param)中,基本的命名方式是實(shí)體名稱加_is_valid組成,這組參數(shù)的具體含義將在用戶操作文檔進(jìn)行詳細(xì)的描述。這里舉一個(gè)例子簡單說明一下:

      參數(shù)stop_user_element_is_valid 是表的是否需要生成stop_user_element(拆停機(jī)用戶分析數(shù)據(jù)的參數(shù)),在是否生成之間切換,只需要執(zhí)行下列語句:

      Update system_param set param_val='true' where param_name = 'stop_user_element_is_valid' 就可以要求系統(tǒng)生成這個(gè)實(shí)體。

      Update system_param set param_val='false' Where param_name

      ='stop_user_element_is_valid' 就可以要求系統(tǒng)不生成這個(gè)實(shí)體。

      1.3 處理引擎

      引擎是一種機(jī)制,將設(shè)計(jì)方案中所設(shè)計(jì)的實(shí)體簡單的分為用戶發(fā)展相關(guān)、話單類統(tǒng)計(jì)相關(guān)、費(fèi)用統(tǒng)計(jì)相關(guān),欠費(fèi)相關(guān)、繳費(fèi)分析相關(guān)、用戶費(fèi)用異常分析、調(diào)帳分析等。這樣就有了用戶發(fā)展處理引擎、話單統(tǒng)計(jì)引擎、費(fèi)用處理引擎、欠費(fèi)處理引擎、繳費(fèi)分析引擎、費(fèi)用異常分析引擎、調(diào)帳分析引擎。之所以這里引入引擎這個(gè)概念的原因在于,這幾類實(shí)體需要處理的原始數(shù)據(jù)都是基本一致的??紤]到系統(tǒng)的擴(kuò)展性和性能問題,須將在相關(guān)實(shí)體集成在一起,統(tǒng)一處理,至于哪些實(shí)體需要處理,哪些不需要處理,在系統(tǒng)參數(shù)表中有一組參數(shù)用于進(jìn)行這種控制。

      處理引擎只是提供原始數(shù)據(jù)和公共服務(wù)的一種機(jī)制,它負(fù)責(zé)原始數(shù)據(jù)的讀取和公共數(shù)據(jù)的收集,處理在處理引擎的機(jī)制中,但并不是它的功能,分析功能由相關(guān)實(shí)體的實(shí)現(xiàn)邏輯實(shí)現(xiàn),在處理引擎中統(tǒng)一調(diào)用。

      用戶發(fā)展處理引擎負(fù)責(zé)讀取用戶資料數(shù)據(jù),傳送用戶資料數(shù)據(jù)結(jié)點(diǎn)到用戶發(fā)展處理的各個(gè)實(shí)體,由各個(gè)實(shí)體引用用戶資料結(jié)點(diǎn)信息,結(jié)合自己的實(shí)體實(shí)現(xiàn)邏輯生成各自的信息結(jié)點(diǎn)數(shù)據(jù)包并存貯在內(nèi)存Hash表中,處理引擎處理完成一批數(shù)據(jù)后調(diào)用存貯子程序存貯所有實(shí)體,存貯子程序調(diào)用各實(shí)體的存貯程序?qū)⒃趦?nèi)存Hash中的數(shù)據(jù)保存在數(shù)據(jù)庫表格中。

      話單統(tǒng)計(jì)引擎負(fù)責(zé)話單的讀取和公共數(shù)據(jù)資源的獲取,傳送話單數(shù)據(jù)和用戶資料信息結(jié)果體給相關(guān)分析結(jié)點(diǎn),由相應(yīng)結(jié)點(diǎn)按照自己的業(yè)務(wù)邏輯進(jìn)行分析處理,形成目標(biāo)數(shù)據(jù),存貯在內(nèi)存中,在一個(gè)批次處理完成后,話單統(tǒng)計(jì)引擎會(huì)發(fā)起該批次處理結(jié)束的消息。這時(shí)個(gè)分析結(jié)點(diǎn)保存自己的處理結(jié)果數(shù)據(jù)到相應(yīng)的數(shù)據(jù)庫實(shí)體中。

      欠費(fèi)處理引擎是一個(gè)定時(shí)的引擎,讀取欠費(fèi)數(shù)據(jù),形成欠費(fèi)數(shù)據(jù)結(jié)點(diǎn),依據(jù)欠費(fèi)數(shù)據(jù)結(jié)點(diǎn)中的用戶資料表示,取得用戶資料并打包,將欠費(fèi)數(shù)據(jù)結(jié)點(diǎn)和用戶資料結(jié)點(diǎn)拋給欠費(fèi)數(shù)據(jù)處理子程序處理,在一批欠費(fèi)數(shù)據(jù)處理完成后欠費(fèi)處理引擎將調(diào)用存貯子程序存貯數(shù)據(jù)。

      其他引擎還包括:

      費(fèi)用處理引擎負(fù)責(zé)用戶應(yīng)收費(fèi)用處理。

      繳費(fèi)處理引擎負(fù)責(zé)繳費(fèi)信息的處理。

      商品處理引擎負(fù)責(zé)優(yōu)惠商品相關(guān)對(duì)象數(shù)據(jù)收集及分析處理。

      調(diào)帳處理引擎負(fù)責(zé)調(diào)帳費(fèi)用的處理。

      2 處理流程

      數(shù)據(jù)中間層流程從觸發(fā)角度來說分自動(dòng)流程和人工觸發(fā)流程,從抽取的數(shù)據(jù)對(duì)象來看分正常抽取和異常的重處理,一般正常流程可以采取正常流程來實(shí)現(xiàn),一般定時(shí)運(yùn)行,有時(shí)因?yàn)槟承┰蛞部梢酝ㄟ^人工觸發(fā)的方式立即抽取某些數(shù)據(jù),異常流程一般采用人工觸發(fā)的方式實(shí)現(xiàn),因?yàn)楫惓A鞒淌钱?dāng)異常發(fā)生時(shí)才需要觸發(fā),屬于較少使用的流程,另外由于對(duì)異常流程的界定情況比較復(fù)雜,自動(dòng)觸發(fā)的風(fēng)險(xiǎn)比較大。

      (1)消息控制處理流程:控制臺(tái)根據(jù)事務(wù)定義的要求,把數(shù)據(jù)抽取請(qǐng)求和相應(yīng)的參數(shù)發(fā)送給數(shù)據(jù)中間層生成模塊,數(shù)據(jù)中間層生成模塊啟動(dòng)數(shù)據(jù)抽取服務(wù)進(jìn)行數(shù)據(jù)的抽取并把抽取的數(shù)據(jù)保存到事實(shí)表中。

      (2)定時(shí)處理流程:數(shù)據(jù)中間層定時(shí)掃描事務(wù)定義表,檢查是否有事務(wù)需要處理,如果發(fā)現(xiàn)有事務(wù)需要處理,觸發(fā)數(shù)據(jù)抽取流程進(jìn)行處理,數(shù)據(jù)抽取流程根據(jù)事務(wù)的定義和相關(guān)的信息進(jìn)行抽取,并把結(jié)果保留在相應(yīng)的事實(shí)表中。

      2.1 程序運(yùn)行方式

      啟動(dòng)后臺(tái)守護(hù)服務(wù)程序:datatrans -s

      執(zhí)行指定的事務(wù)命令:datatrans -p cmd_id

      2.2 后臺(tái)守護(hù)程序處理流程,(見圖1)。

      執(zhí)行指定事務(wù)命令處理流程,(見圖2)。

      2.4 模塊說明

      2.4.1 事務(wù)定義

      一個(gè)完整的事務(wù)包括事務(wù)定義、事務(wù)間的關(guān)系、事務(wù)的子事務(wù)定義、事務(wù)參數(shù)。

      事務(wù)定義描述了事務(wù)的名稱、事務(wù)的抽取方式、運(yùn)行方式和運(yùn)行時(shí)間,是對(duì)事務(wù)的一個(gè)總體的描述。

      事務(wù)間關(guān)系:描述了多個(gè)事務(wù)間的并發(fā)關(guān)系,執(zhí)行的先后,分為依賴關(guān)系和互斥關(guān)系,有些事務(wù)因?yàn)閿?shù)據(jù)本事的聯(lián)系,必須先執(zhí)行一個(gè)事務(wù)后才能再執(zhí)行另一個(gè)事務(wù),還有一些事務(wù)因?yàn)樗倪\(yùn)行需要很多的系統(tǒng)資源,為了保證事務(wù)能良好的運(yùn)行,可以通過互斥關(guān)系來達(dá)到獨(dú)占的系統(tǒng)資源的目的。

      2.4.2 事務(wù)運(yùn)行

      數(shù)據(jù)抽取的事務(wù)有些比較簡單,通過一個(gè)或幾個(gè)簡單的sql語句就可以實(shí)現(xiàn);而有些事務(wù)則比較復(fù)雜,不僅僅是簡單的數(shù)據(jù)抽取,還有很多的數(shù)據(jù)加工,如主產(chǎn)品實(shí)例信息,本身各類信息就是分表存放的,在抽取時(shí)需要把它們綜合到一張表里來,并且需要和考察的維度建立上聯(lián)系,往往這些信息需要根據(jù)模型的設(shè)計(jì)思路去逐層查找。比如產(chǎn)品屬于哪個(gè)產(chǎn)品包、哪個(gè)商品,需要通過產(chǎn)品包明細(xì)、商品明細(xì)去找。數(shù)據(jù)抽取時(shí)需要把主產(chǎn)品實(shí)例相關(guān)的、統(tǒng)計(jì)和數(shù)據(jù)提供等模塊可能需要的這些信息綜合到一起來,假設(shè)主產(chǎn)品實(shí)例信息數(shù)據(jù)量在500萬相當(dāng)級(jí)別,那么話單、帳單這些表的規(guī)模級(jí)別至少時(shí)主產(chǎn)品信息的幾十倍,如果數(shù)據(jù)完全沒經(jīng)過加工,對(duì)用戶業(yè)務(wù)量的統(tǒng)計(jì)可能需要關(guān)聯(lián)好多張千萬級(jí)規(guī)模的表,速度可想而知。

      事務(wù)運(yùn)行方式主要分兩種方式:消息觸發(fā)、定時(shí)觸發(fā)。需要抽取數(shù)據(jù)的事務(wù)很多,并且一般數(shù)據(jù)抽取都是夜里進(jìn)行,如果每次數(shù)據(jù)抽取都要人為干預(yù)會(huì)很麻煩。定時(shí)觸發(fā)就是為了解決這個(gè)問題,在事務(wù)定義時(shí)可以定義事務(wù)抽取的時(shí)間間隔,觸發(fā)事務(wù)的時(shí)間點(diǎn)等信息。消息觸發(fā)的方式是定時(shí)觸發(fā)的一種補(bǔ)充,在自動(dòng)流程中加入了一個(gè)人工干預(yù)的過程,使服務(wù)能夠處理一些特殊情況或異常情況。消息的發(fā)送來源于控制臺(tái),消息觸發(fā)方式主要是為了能夠靈活控制數(shù)據(jù)抽取事務(wù)。

      2.5 數(shù)據(jù)抽取

      數(shù)據(jù)抽取就是根據(jù)事務(wù)的定義,把數(shù)據(jù)源的數(shù)據(jù)按照目標(biāo)數(shù)據(jù)的要求,進(jìn)行轉(zhuǎn)換整理,存儲(chǔ)到目的表或文件的過程。

      數(shù)據(jù)抽取從觸發(fā)方式可以分為定時(shí)自動(dòng)觸發(fā)和人工觸發(fā)兩種,自動(dòng)觸發(fā)又分為每天定時(shí)觸發(fā)和按照一定時(shí)間間隔(每小時(shí)、每月等)觸發(fā)兩種。從抽取的數(shù)據(jù)集角度數(shù)據(jù)抽取可以分為增量抽取的方式和全量抽取的方式。數(shù)據(jù)抽取從實(shí)現(xiàn)的角度可以采取sql語句、存儲(chǔ)過程、寫C/C++程序、shell腳本四種方式來抽取,sql語句抽取可以適用于數(shù)據(jù)量不大,數(shù)據(jù)轉(zhuǎn)換不很復(fù)雜的事務(wù)的抽取,它的數(shù)據(jù)源和目的數(shù)據(jù)一般都是數(shù)據(jù)表,但也可以是數(shù)據(jù)庫支持的文件格式,這種方法靈活簡單,新需求的解決只有配置sql語句不用新的開;C/C++程序用來解決前面兩種方法不能解決的事務(wù)的抽取,這種方法處理的事務(wù)一般數(shù)據(jù)量非常大,更多是處于性能方面的考慮。

      2.6 數(shù)據(jù)源

      數(shù)據(jù)源分兩種:數(shù)據(jù)表和文件。數(shù)據(jù)源可能是計(jì)費(fèi)系統(tǒng)的數(shù)據(jù)也可能是計(jì)費(fèi)系統(tǒng)外圍的數(shù)據(jù),當(dāng)給計(jì)費(fèi)系統(tǒng)以外的系統(tǒng)提供數(shù)據(jù)時(shí),稱為數(shù)據(jù)提供,反之為數(shù)據(jù)接收。

      數(shù)據(jù)中間層大部分事務(wù)都是從數(shù)據(jù)庫表中進(jìn)行數(shù)據(jù)抽取,如系統(tǒng)的很多參數(shù)資料(商品、電信管理區(qū)域、組織等)、客戶檔案資料、帳單信息、欠費(fèi)數(shù)據(jù)、繳費(fèi)數(shù)據(jù)等。

      從文件抽取主要是話單、清單數(shù)據(jù),這部分?jǐn)?shù)據(jù)規(guī)模大,從文件中抽取可以數(shù)據(jù)庫操作,減小對(duì)計(jì)費(fèi)的影響。關(guān)于話單、清單是從文件中抽取還是從數(shù)據(jù)庫中抽取,以及對(duì)計(jì)費(fèi)流程的影響需要根據(jù)對(duì)數(shù)據(jù)中間層實(shí)時(shí)性要求來確定,對(duì)于一般按天抽取來說,從清單表、話單表中抽取應(yīng)該是個(gè)可行的方案,省去分析各種清單、話單的文件格式,減少開發(fā)難度和工作量。

      所同步數(shù)據(jù)的范圍,可通過參數(shù)(trans_cmd.param_list)配置:例如基表表名、帳期、本地網(wǎng)、日期等。程序通過這些參數(shù)組合出源數(shù)據(jù)表名。

      源數(shù)據(jù)表名可配置取映射的備份表。例如:在某個(gè)時(shí)間點(diǎn)對(duì)ACCT_ITEM_1100有備份表為BAK_ACCT_ITEM_1100,程序可以通過表名映射配置從BAK_ACCT_ITEM_1100表中取數(shù)。如果沒有配置,則默認(rèn)為原始表ACCT_ITEM_1100。同時(shí)讀取備份表時(shí),需要注意可能存在跨庫訪問的情況,例如將BAK_ACCT_ITEM_1100備份在META庫中,此時(shí)需要程序通過配置就可以正常讀取到BAK_ACCT_ITEM_1100表。

      2.7 目的數(shù)據(jù)

      目的數(shù)據(jù)分兩種:數(shù)據(jù)表和文件。

      目前數(shù)據(jù)中間層從計(jì)費(fèi)系統(tǒng)抽取的數(shù)據(jù)都是需要入庫的,因?yàn)閿?shù)據(jù)中間層從計(jì)費(fèi)系統(tǒng)中抽取的這些數(shù)據(jù)都是一些比較重要的核心業(yè)務(wù)數(shù)據(jù),至少統(tǒng)計(jì)分析是需要這些數(shù)據(jù)的。計(jì)費(fèi)系統(tǒng)其自身的專業(yè)性就決定了它需要更多地考慮計(jì)費(fèi)的性能,從而盡量減少數(shù)據(jù)的冗余,減少數(shù)據(jù)的讀寫等,而統(tǒng)計(jì)分析角度各種各樣,為了減少統(tǒng)計(jì)的復(fù)雜度,必須增加冗余字段,提高統(tǒng)計(jì)效率。從這一點(diǎn)上來講統(tǒng)計(jì)分析和計(jì)費(fèi)是矛盾的。數(shù)據(jù)中間層作為計(jì)費(fèi)系統(tǒng)的一個(gè)擴(kuò)展,在計(jì)費(fèi)系統(tǒng)中相對(duì)獨(dú)立,其模塊功能(數(shù)據(jù)抽取和提供)也決定了它需要更多從統(tǒng)計(jì)角度去組織數(shù)據(jù),減少以前直接從計(jì)費(fèi)系統(tǒng)統(tǒng)計(jì)數(shù)據(jù)的復(fù)雜度。

      目的數(shù)據(jù)為文件:以文件方式存儲(chǔ)更方便系統(tǒng)間進(jìn)行數(shù)據(jù)交換,它沒有數(shù)據(jù)庫那么多要求,并且從計(jì)費(fèi)系統(tǒng)的安全方面考慮的話,用文件更好些。數(shù)據(jù)中間層的一個(gè)重要功能就是數(shù)據(jù)提供,可能的數(shù)據(jù)接口會(huì)比較多,用文件進(jìn)行交互將是一個(gè)重要的方式。

      2.8 消息和定時(shí)事務(wù)控制

      不管是簡單的事務(wù)還是是復(fù)雜的事務(wù),都需要支持定時(shí)和消息兩種觸發(fā)數(shù)據(jù)抽取模式。

      先說消息觸發(fā)模式的處理。從數(shù)據(jù)中間層控制臺(tái)選取想要處理的事務(wù),點(diǎn)“運(yùn)行”或“重處理”按鈕發(fā)送命令到數(shù)據(jù)中間層后臺(tái)服務(wù),可以同時(shí)傳入若干個(gè)參數(shù)(如果有參數(shù)會(huì)彈出界面要求輸入),根據(jù)事先定義好的消息接口,后臺(tái)服務(wù)接受到命令后解析命令行,并按要求執(zhí)行。

      定時(shí)觸發(fā)模式:系統(tǒng)啟一個(gè)守候進(jìn)程,用來輪循事務(wù)定義表,根據(jù)事務(wù)定義的開始運(yùn)行時(shí)間和時(shí)間間隔判斷,如果事務(wù)處理的時(shí)間到了,啟動(dòng)事務(wù)進(jìn)行數(shù)據(jù)抽取并記錄處理日志。

      事務(wù)控制模塊主要需要解決的問題是事務(wù)如何運(yùn)行、何時(shí)運(yùn)行的問題,需要參照事務(wù)之間的并發(fā)關(guān)系、事務(wù)處理的日志信息(當(dāng)前有哪些事務(wù)在運(yùn)行、同一事務(wù)上次運(yùn)行信息等)。

      控制流程需要注意的幾個(gè)地方:

      事務(wù)的優(yōu)先級(jí):保證事務(wù)按照優(yōu)先級(jí)別運(yùn)行。

      事務(wù)間關(guān)系:保證互相沖突的事務(wù)不會(huì)同時(shí)運(yùn)行。

      當(dāng)前運(yùn)行事務(wù):保證數(shù)據(jù)不重復(fù)抽取,不并發(fā)沖突。

      事務(wù)運(yùn)行的歷史信息:保證系統(tǒng)數(shù)據(jù)完整性和正確性,不重復(fù)抽取,不遺漏。

      每次事務(wù)抽取都需要記錄事務(wù)處理日志,日志主要用來進(jìn)行事務(wù)處理的查詢和事務(wù)的回退和異常處理時(shí)使用。事務(wù)在開始運(yùn)行時(shí)先寫日志記錄,狀態(tài)為正在處理的狀態(tài),事務(wù)處理結(jié)束時(shí)根據(jù)事務(wù)處理的結(jié)果成功或者失敗更新日志中的狀態(tài),事務(wù)處理失敗記錄失敗原因提供查詢。日志主要包含下列信息:

      (1)記錄每次事務(wù)數(shù)據(jù)抽取的開始時(shí)間、結(jié)束時(shí)間

      (2)記錄每次事務(wù)抽取的數(shù)據(jù)的起始時(shí)間、截至?xí)r間

      (3)記錄事務(wù)抽取的狀態(tài)及結(jié)果

      2.9 審核/異常處理

      審核:可行性審核。根據(jù)事務(wù)之間的關(guān)系,事務(wù)的處理日志,判斷事務(wù)是否啟動(dòng)。事務(wù)之間的關(guān)系有依賴關(guān)系、互斥關(guān)系,事務(wù)內(nèi)部(如果分成幾個(gè)子事務(wù)的話)有先后,執(zhí)行某個(gè)事務(wù)前它所依賴的事務(wù)必須已經(jīng)執(zhí)行,子事務(wù)也是一樣。參數(shù)有效性審核。為了保證抽取的數(shù)據(jù)不重復(fù)不遺漏,必須參照事務(wù)的處理日志獲取上次該事務(wù)運(yùn)行的結(jié)果,抽取的數(shù)據(jù)對(duì)象的范圍(如時(shí)間范圍等)。

      重處理:數(shù)據(jù)清理首先就是確定對(duì)哪些數(shù)據(jù)進(jìn)行清理,一般都是通過時(shí)間來進(jìn)行過濾。數(shù)據(jù)清理有兩種方式,一種是自動(dòng)清理,如上面提到的每次對(duì)抽取前要進(jìn)行數(shù)據(jù)有效性審核,這時(shí)可能會(huì)自動(dòng)觸發(fā)數(shù)據(jù)清理,這種情況下時(shí)間信息是根據(jù)日志中記錄的歷史處理情況確定的。還有一種比如統(tǒng)計(jì)發(fā)現(xiàn)數(shù)據(jù)不對(duì)了,可能人為觸發(fā)數(shù)據(jù)重新抽取,這時(shí)往往會(huì)提供時(shí)間信息,指明重新抽取哪個(gè)時(shí)間內(nèi)的數(shù)據(jù),這時(shí)就不能按照默認(rèn)的處理方式來處理,要按照指定的時(shí)間進(jìn)行數(shù)據(jù)清理,(按指定時(shí)間信息)再進(jìn)行數(shù)據(jù)抽取。

      數(shù)據(jù)清理分全量抽取和增量抽取兩種方式。如果數(shù)據(jù)量?。o態(tài)表)可以把表里的數(shù)據(jù)全部刪除,如果數(shù)據(jù)量大,刪除數(shù)據(jù)要浪費(fèi)很多系統(tǒng)資源和時(shí)間,可以把表drop后重建。

      增量抽取方式:增量抽取只能采取刪除的方式,大數(shù)據(jù)量處理時(shí)需要注意有限的系統(tǒng)資源使用情況,如事務(wù)太大可能造成數(shù)據(jù)庫回滾端不夠用的情況。另外,可以考慮利用數(shù)據(jù)庫的原理采用分區(qū)等方式來加速數(shù)據(jù)的清理。

      抽取數(shù)據(jù)時(shí)間的說明:

      事務(wù)抽取哪個(gè)時(shí)間的數(shù)據(jù)由下面四種時(shí)間共同決定:

      消息包中指定時(shí)間;

      事務(wù)參數(shù)配置中定制時(shí)間;

      根據(jù)處理歷史和系統(tǒng)時(shí)間默認(rèn)獲??;

      系統(tǒng)當(dāng)前時(shí)間。

      手工觸發(fā)的方式:根據(jù)消息中的時(shí)間和系統(tǒng)當(dāng)前時(shí)間確定抽取的時(shí)間跨度。

      自動(dòng)觸發(fā)的方式:根據(jù)事務(wù)的配置時(shí)間參照事務(wù)的處理日志中事務(wù)上次處理的處理結(jié)果。

      和起止時(shí)間決定本次自動(dòng)處理的開始時(shí)間和結(jié)束時(shí)間。

      參考文獻(xiàn)

      [1]張耀華.基于MYSQL的分布式數(shù)據(jù)中間層[D].復(fù)旦大學(xué),2013.

      [2]楊敏.對(duì)象關(guān)系型實(shí)時(shí)數(shù)據(jù)中間層[D].浙江大學(xué),2007.

      [3]S.Greaves,Y. Kanai,H. Muraoka.Shingled recording for 2-3 Tbit/in2. IEEE Transactions on Magnetics ,2009.

      猜你喜歡
      中間層模式實(shí)體
      前海自貿(mào)區(qū):金融服務(wù)實(shí)體
      中國外匯(2019年18期)2019-11-25 01:41:54
      實(shí)體的可感部分與實(shí)體——兼論亞里士多德分析實(shí)體的兩種模式
      兩會(huì)進(jìn)行時(shí):緊扣實(shí)體經(jīng)濟(jì)“釘釘子”
      振興實(shí)體經(jīng)濟(jì)地方如何“釘釘子”
      珠三角西岸精密制造產(chǎn)業(yè)新城規(guī)劃及公共服務(wù)平臺(tái)構(gòu)建
      永續(xù)債券探析
      中國市場(2016年33期)2016-10-18 13:05:21
      思想政治理論課實(shí)踐教學(xué)研究述評(píng)
      中學(xué)數(shù)學(xué)創(chuàng)造性教學(xué)的模式與策略研究
      成才之路(2016年26期)2016-10-08 11:17:17
      鎳基高溫合金TLP擴(kuò)散焊中間層材料研究進(jìn)展
      焊接(2016年8期)2016-02-27 13:05:10
      B含量對(duì)IC10合金TLP焊接用中間層材料及接頭組織的影響
      焊接(2016年6期)2016-02-27 13:04:55
      民勤县| 新丰县| 吉木萨尔县| 伊吾县| 高雄县| 正定县| 长子县| 淮南市| 通道| 门头沟区| 东乡| 延吉市| 博罗县| 托克托县| 五原县| 普安县| 河西区| 遵义市| 浏阳市| 永平县| 东乡| 察隅县| 广安市| 海丰县| 鞍山市| 扶余县| 武平县| 翁牛特旗| 巴林左旗| 鹤山市| 全南县| 右玉县| 富平县| 台江县| 德清县| 时尚| 渝北区| 昌乐县| 柳河县| 通化县| 庄河市|