• 
    

    
    

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

      實(shí)時(shí)信息交換技術(shù)在地鐵清分系統(tǒng)中的研究與實(shí)現(xiàn)

      2010-06-11 09:58:18韓宇峰張嘉嶺
      城市軌道交通研究 2010年1期
      關(guān)鍵詞:字段隊(duì)列報(bào)文

      韓宇峰 張嘉嶺

      (1.上海華騰軟件系統(tǒng)有限公司,200233,上海;2.上海地鐵運(yùn)營(yíng)有限公司,200003,上?!蔚谝蛔髡?工程師)

      1 實(shí)時(shí)信息交換概述

      實(shí)時(shí)信息交換在銀行、社保、電信、票務(wù)、零售等行業(yè)有著廣泛的應(yīng)用。盡管不同行業(yè)在業(yè)務(wù)處理上存在著不同,但其中都有一些共同的屬性和特點(diǎn),即特定的參與方和傳播模式。

      1.1 特定的參與方

      交換系統(tǒng)的參與方又稱(chēng)為交換節(jié)點(diǎn)。一個(gè)特定的參與方即一個(gè)信息交換處理節(jié)點(diǎn)。數(shù)據(jù)交換在相關(guān)節(jié)點(diǎn)間傳送。例如,清分系統(tǒng)即一個(gè)節(jié)點(diǎn),它是整個(gè)軌道交通票務(wù)系統(tǒng)的中央機(jī)構(gòu),負(fù)責(zé)軌道交通車(chē)票的發(fā)行與管理、交易數(shù)據(jù)的收集、車(chē)票和票務(wù)清分、資金清算,黑名單管理等。清分節(jié)點(diǎn)在某些聯(lián)機(jī)交換中作為交易的最初發(fā)起方,如運(yùn)營(yíng)參數(shù)、命令、車(chē)站運(yùn)行模式切換/切換通知、交易數(shù)據(jù)索取、交通卡黑名單和清分結(jié)果等;清分節(jié)點(diǎn)在某些聯(lián)機(jī)交換中作為交易的最終目的方,如交易數(shù)據(jù)上傳和寄存器數(shù)據(jù)上傳等。

      1.2 傳播模式

      每種聯(lián)機(jī)交換都采用以下兩種模式之一進(jìn)行傳播:

      (1)聯(lián)機(jī)交互(又稱(chēng)大圈)交易。采用這種傳播模式交換信息時(shí),本節(jié)點(diǎn)不能決定交易成功與否,只能由交易最終的目的方給出,介于發(fā)起方和目的方之間的其它節(jié)點(diǎn)只是傳遞交易請(qǐng)求和交易應(yīng)答。對(duì)于這種交易,一筆交易可能分成多個(gè)階段進(jìn)行。分成階段的數(shù)量是由交易類(lèi)型的業(yè)務(wù)含義決定的,稱(chēng)之為交易或交易類(lèi)型的階段數(shù)。聯(lián)機(jī)交互的傳播模式如圖1所示。

      圖1 聯(lián)機(jī)交互的傳播模式

      圖1中的節(jié)點(diǎn)是根據(jù)它們?cè)诮灰字兴鸬淖饔枚?。發(fā)起方與目的方之間的節(jié)點(diǎn)都可稱(chēng)為轉(zhuǎn)發(fā)方,一筆交易的轉(zhuǎn)發(fā)方可能有多個(gè)。(上游)來(lái)源節(jié)點(diǎn)和下游交換節(jié)點(diǎn)是相對(duì)于本交易處理節(jié)點(diǎn)而言的。其中實(shí)線箭頭為請(qǐng)求消息,虛線箭頭為應(yīng)答消息。

      (2)分程傳遞(又稱(chēng)小圈)交易。采用這種傳播模式交換信息時(shí),信息交換節(jié)點(diǎn)在收到交易請(qǐng)求時(shí)總是立即返回成功應(yīng)答,然后向下游交換節(jié)點(diǎn)轉(zhuǎn)發(fā)。返回的應(yīng)答消息僅表明其收到請(qǐng)求消息,沒(méi)有業(yè)務(wù)上的交易是否成功的含義。該交易的處理主要在第一階段中進(jìn)行,收到應(yīng)答時(shí)僅更新交易狀態(tài)。為了和聯(lián)機(jī)交互的交易處理過(guò)程相統(tǒng)一,規(guī)定分程傳遞交易的階段數(shù)為1。分程傳遞的傳播模式如圖2所示。

      圖2 分程傳遞的傳播模式

      2 實(shí)時(shí)信息交換系統(tǒng)的邏輯架構(gòu)及處理流程

      2.1 邏輯架構(gòu)

      實(shí)時(shí)信息交換系統(tǒng)采用多層結(jié)構(gòu),這是目前絕大多數(shù)信息系統(tǒng)采用的基于分布式計(jì)算模式的體系結(jié)構(gòu)。它是將不同層次的功能分散在不同軟件層次上的軟件系統(tǒng)結(jié)構(gòu)。從數(shù)據(jù)交易的角度來(lái)剖析,整個(gè)系統(tǒng)可以被劃分成交易傳輸、信息交互和交易處理等3個(gè)部分,分別對(duì)應(yīng)通信層、聯(lián)機(jī)交換層、業(yè)務(wù)層,如圖3所示。

      圖3 實(shí)時(shí)信息交換系統(tǒng)邏輯架構(gòu)圖

      通信層對(duì)TCP/IP協(xié)議進(jìn)行實(shí)現(xiàn),在物理上是獨(dú)立的進(jìn)程。它處理通信協(xié)議、通信方式,使其上層的應(yīng)用與通信協(xié)議、方式無(wú)關(guān)。通信層由通信服務(wù)模塊和通信客戶(hù)模塊組成。每個(gè)通信模塊所用的方式、參數(shù)都可以配置,可以靈活地接入采用各類(lèi)同步/異步、長(zhǎng)/短連接的通信方式的外部節(jié)點(diǎn),同時(shí)采用消息隊(duì)列機(jī)制為聯(lián)機(jī)交換層的運(yùn)作提供一個(gè)統(tǒng)一的系統(tǒng)內(nèi)部接口。

      聯(lián)機(jī)交換層實(shí)現(xiàn)交易傳遞、轉(zhuǎn)接,同時(shí)針對(duì)通信故障采用超時(shí)控制和存儲(chǔ)轉(zhuǎn)發(fā)。它主要由報(bào)文處理模塊、超時(shí)控制模塊和存儲(chǔ)轉(zhuǎn)發(fā)模塊組成。其中的報(bào)文處理模塊處理來(lái)自通信層的交易請(qǐng)求和交易應(yīng)答,同時(shí)調(diào)用業(yè)務(wù)層的相關(guān)業(yè)務(wù)邏輯模塊,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作,進(jìn)行針對(duì)交易的業(yè)務(wù)內(nèi)容的處理。這些模塊的工作都是基于配置信息的。交換層不關(guān)心交易的業(yè)務(wù)含義,所有的業(yè)務(wù)邏輯均在業(yè)務(wù)層的業(yè)務(wù)邏輯模塊中實(shí)現(xiàn)。

      業(yè)務(wù)層并不是一個(gè)物理上實(shí)際存在的實(shí)體子系統(tǒng),它的引入僅僅是為了方便開(kāi)發(fā)時(shí)的分工,它是一組業(yè)務(wù)邏輯模塊的集合。這些業(yè)務(wù)邏輯模塊被聯(lián)機(jī)交換層的模塊調(diào)用。業(yè)務(wù)邏輯是一些標(biāo)準(zhǔn)接口的函數(shù)的集合,由這些函數(shù)來(lái)實(shí)現(xiàn)各種交易相應(yīng)業(yè)務(wù)內(nèi)容上的處理邏輯。

      2.2 處理流程描述

      (1)請(qǐng)求消息。通信服務(wù)模塊把從上游節(jié)點(diǎn)傳來(lái)的交易請(qǐng)求消息發(fā)送至請(qǐng)求接收隊(duì)列。報(bào)文處理模塊從請(qǐng)求接收隊(duì)列讀取請(qǐng)求消息。若該請(qǐng)求可直接應(yīng)答,則生成應(yīng)答消息,發(fā)送到應(yīng)答發(fā)送隊(duì)列,否則將請(qǐng)求消息轉(zhuǎn)發(fā)到應(yīng)答發(fā)送隊(duì)列;若交易類(lèi)型表明需要進(jìn)行超時(shí)控制,則將交易記錄發(fā)送到超時(shí)控制隊(duì)列;若交易類(lèi)型表明需要進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā),則將交易記錄發(fā)送到存儲(chǔ)轉(zhuǎn)發(fā)隊(duì)列。通信客戶(hù)模塊從請(qǐng)求發(fā)送隊(duì)列讀取請(qǐng)求消息,發(fā)送給相應(yīng)節(jié)點(diǎn)。

      (2)應(yīng)答消息。通信客戶(hù)模塊從請(qǐng)求發(fā)送隊(duì)列讀取交易請(qǐng)求,發(fā)送到相應(yīng)節(jié)點(diǎn);接收交易應(yīng)答,發(fā)送到應(yīng)答接收隊(duì)列。報(bào)文處理模塊從應(yīng)答接收隊(duì)列讀取應(yīng)答消息。若該應(yīng)答對(duì)應(yīng)的交易還需要向其它交換節(jié)點(diǎn)發(fā)送交易請(qǐng)求,則組成新的交易請(qǐng)求,發(fā)送到請(qǐng)求發(fā)送隊(duì)列;若交易類(lèi)型表明需要進(jìn)行超時(shí)控制,則將交易記錄發(fā)送到超時(shí)控制隊(duì)列;若交易類(lèi)型表明需要進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā),則將交易記錄發(fā)送到存儲(chǔ)轉(zhuǎn)發(fā)隊(duì)列。若該應(yīng)答對(duì)應(yīng)的交易最初不是由本節(jié)點(diǎn)發(fā)起的,則將應(yīng)答消息轉(zhuǎn)發(fā)到應(yīng)答發(fā)送隊(duì)列;若交易類(lèi)型表明對(duì)本交易進(jìn)行了超時(shí)控制,則將交易記錄從超時(shí)控制隊(duì)列中刪除;若交易類(lèi)型表明對(duì)本交易進(jìn)行了存儲(chǔ)轉(zhuǎn)發(fā),則將交易記錄從存儲(chǔ)轉(zhuǎn)發(fā)隊(duì)列中刪除。通信服務(wù)器從應(yīng)答發(fā)送隊(duì)列讀取應(yīng)答消息,發(fā)送給相應(yīng)節(jié)點(diǎn)。

      (3)超時(shí)控制。每隔一定時(shí)間(超時(shí)控制時(shí)間精度),超時(shí)控制模塊從超時(shí)控制隊(duì)列讀取已經(jīng)超時(shí)了的交易記錄,生成超時(shí)應(yīng)答消息,發(fā)送到應(yīng)答發(fā)送隊(duì)列;若交易類(lèi)型表明需要進(jìn)行超時(shí)沖正,則生成沖正請(qǐng)求,發(fā)送到存儲(chǔ)轉(zhuǎn)發(fā)隊(duì)列。通信服務(wù)器從應(yīng)答發(fā)送隊(duì)列讀取應(yīng)答消息,發(fā)送給相應(yīng)節(jié)點(diǎn)。

      (4)存儲(chǔ)轉(zhuǎn)發(fā)。每隔一定時(shí)間(存儲(chǔ)轉(zhuǎn)發(fā)時(shí)間精度),存儲(chǔ)轉(zhuǎn)發(fā)進(jìn)程從存儲(chǔ)轉(zhuǎn)發(fā)隊(duì)列讀取已經(jīng)到下一次轉(zhuǎn)發(fā)時(shí)刻的交易記錄,生成該交易的轉(zhuǎn)發(fā)請(qǐng)求消息,發(fā)送到請(qǐng)求發(fā)送隊(duì)列;若本交易尚未達(dá)到其交易類(lèi)型所規(guī)定的最大存儲(chǔ)轉(zhuǎn)發(fā)次數(shù),則重新設(shè)定下一次轉(zhuǎn)發(fā)時(shí)刻,寫(xiě)回存儲(chǔ)轉(zhuǎn)發(fā)隊(duì)列。通信服務(wù)端從應(yīng)答發(fā)送隊(duì)列讀取應(yīng)答消息,發(fā)送給其連接的遠(yuǎn)端主機(jī)。

      3 實(shí)時(shí)信息交換系統(tǒng)技術(shù)特點(diǎn)

      (1)高可靠性。系統(tǒng)的流量控制主要是對(duì)消息隊(duì)列進(jìn)行控制。當(dāng)流量大于系統(tǒng)設(shè)置的最大值時(shí),新的請(qǐng)求不再放入正常的處理隊(duì)列,而是放入一個(gè)特殊處理隊(duì)列,對(duì)該特殊隊(duì)列的內(nèi)容系統(tǒng)將直接給予失敗應(yīng)答。這樣,在請(qǐng)求量大于系統(tǒng)最大處理能力時(shí),系統(tǒng)能正常處理設(shè)置范圍內(nèi)的交易,而超出部分給予拒絕,以保證系統(tǒng)仍然可用。

      (2)可擴(kuò)展性。系統(tǒng)在運(yùn)行一段時(shí)間交易量逐漸增大時(shí),可簡(jiǎn)單地增加CPU、內(nèi)存、硬盤(pán)或者主機(jī)設(shè)備等硬件實(shí)現(xiàn)擴(kuò)容,增加處理能力,而無(wú)需更改應(yīng)用。另外還可以重新設(shè)置一些接入節(jié)點(diǎn)的通信配置,使其連接到新增的通信服務(wù)器上,達(dá)到擴(kuò)容目的。

      (3)可管理性。對(duì)通信服務(wù)模塊、通信客戶(hù)模塊,采用文件配置的方式配置成多進(jìn)程方式、異步、同步、長(zhǎng)連接、短連接;對(duì)數(shù)據(jù)報(bào)文可以配置同步頭等信息;對(duì)報(bào)文處理模塊采用數(shù)據(jù)庫(kù)表的配置方式配置交易類(lèi)型、交易階段數(shù)、傳播類(lèi)型等。

      (4)安全性。通過(guò)對(duì)操作員的授權(quán)來(lái)進(jìn)行應(yīng)用安全控制,通過(guò)對(duì)接入系統(tǒng)IP地址的檢查來(lái)進(jìn)行網(wǎng)絡(luò)安全控制。檢查接入的IP地址是否在配置表中存在,對(duì)接收的報(bào)文進(jìn)行MAC驗(yàn)證,對(duì)發(fā)送的報(bào)文生成MAC(Media Access Control,介質(zhì)訪問(wèn)控制)以讓對(duì)方節(jié)點(diǎn)進(jìn)行驗(yàn)證,從而控制傳輸安全。

      4 實(shí)時(shí)信息交換系統(tǒng)的實(shí)現(xiàn)

      4.1 數(shù)據(jù)結(jié)構(gòu)定義

      在設(shè)計(jì)系統(tǒng)時(shí),首先定義貫穿整個(gè)系統(tǒng)的全局結(jié)構(gòu)體。每筆交易進(jìn)入系統(tǒng)后,此交易的數(shù)據(jù)信息和對(duì)此交易進(jìn)行業(yè)務(wù)處理,以及存儲(chǔ)轉(zhuǎn)發(fā)所需的控制信息,均存放于此結(jié)構(gòu)體的變量 txnInfoDef中(見(jiàn)表 1)。

      4.2 模塊功能

      (1)通信服務(wù)模塊:接受外界的連接請(qǐng)求,建立通信連接,接收數(shù)據(jù)請(qǐng)求報(bào)文,發(fā)送數(shù)據(jù)請(qǐng)求包給報(bào)文處理模塊;接收數(shù)據(jù)應(yīng)答包,發(fā)送數(shù)據(jù)應(yīng)答報(bào)文。對(duì)于同步短連接,通信服務(wù)模塊只用1個(gè)子進(jìn)程進(jìn)行請(qǐng)求報(bào)文的接收和應(yīng)答報(bào)文的發(fā)送。通信服務(wù)模塊啟動(dòng)時(shí),根據(jù)環(huán)境變量APP_CFG_FILE得到配置文件的全路徑名,根據(jù)命令行參數(shù)得到配置文件中的配置項(xiàng)的節(jié)名,并讀取該節(jié)中的配置項(xiàng),得到具體的工作配置。通信服務(wù)模塊以任何方式工作時(shí),都不主動(dòng)斷開(kāi)連接,僅當(dāng)發(fā)現(xiàn)對(duì)方斷開(kāi)連接時(shí),才關(guān)閉連接。

      (2)通信客戶(hù)模塊:從報(bào)文處理模塊接收數(shù)據(jù)請(qǐng)求包,向外部系統(tǒng)發(fā)送數(shù)據(jù)請(qǐng)求報(bào)文;從外部系統(tǒng)接收數(shù)據(jù)應(yīng)答報(bào)文,發(fā)送數(shù)據(jù)應(yīng)答包。對(duì)于同步連接,通信客戶(hù)模塊只用1個(gè)子進(jìn)程進(jìn)行請(qǐng)求報(bào)文的接收和應(yīng)答報(bào)文的發(fā)送。

      (3)報(bào)文處理模塊:處理來(lái)自外部系統(tǒng)的數(shù)據(jù)請(qǐng)求包,把數(shù)據(jù)請(qǐng)求包或數(shù)據(jù)明細(xì)存放到數(shù)據(jù)庫(kù),同時(shí)調(diào)用相關(guān)的業(yè)務(wù)邏輯處理函數(shù)對(duì)相應(yīng)的交易進(jìn)行處理,并發(fā)送至相應(yīng)的消息隊(duì)列。

      表1 數(shù)據(jù)結(jié)構(gòu)定義

      (4)存儲(chǔ)轉(zhuǎn)發(fā)模塊:對(duì)于分程傳遞交易,交易接收方不能及時(shí)返回應(yīng)答時(shí),存儲(chǔ)轉(zhuǎn)發(fā)模塊會(huì)重復(fù)發(fā)送交易請(qǐng)求。存儲(chǔ)轉(zhuǎn)發(fā)模塊讀取指令,根據(jù)指令要求從數(shù)據(jù)庫(kù)取出數(shù)據(jù)請(qǐng)求包,把數(shù)據(jù)請(qǐng)求包發(fā)送到通信客戶(hù)端。

      (5)超時(shí)控制模塊:交易接收方不能及時(shí)返回應(yīng)答時(shí),超時(shí)控制模塊會(huì)生成超時(shí)應(yīng)答包,發(fā)送到對(duì)應(yīng)接收方的消息隊(duì)列中。超時(shí)控制模塊從消息隊(duì)列讀取控制消息,如果是超時(shí)控制請(qǐng)求,則對(duì)該請(qǐng)求消息進(jìn)行超時(shí)控制;如果是撤消超時(shí)控制請(qǐng)求,則撤消對(duì)請(qǐng)求消息的超時(shí)控制。對(duì)發(fā)生超時(shí)的請(qǐng)求消息,生成超時(shí)應(yīng)答包,發(fā)送到對(duì)應(yīng)接收方的消息隊(duì)列中。

      (6)安全模塊:確保消息報(bào)文內(nèi)容在傳輸過(guò)程中沒(méi)有被篡改。

      4.3 業(yè)務(wù)邏輯的實(shí)現(xiàn)

      業(yè)務(wù)邏輯是一些標(biāo)準(zhǔn)接口函數(shù)的集合,將交易的業(yè)務(wù)處理內(nèi)容封裝在這些函數(shù)中,實(shí)現(xiàn)各種交易的相應(yīng)的業(yè)務(wù)內(nèi)容上的處理。

      (1)判斷交易類(lèi)型(getTxnType):報(bào)文處理模塊收到請(qǐng)求消息時(shí)被調(diào)用,它用于在交易請(qǐng)求消息報(bào)文的相應(yīng)位置上取得交易類(lèi)型。該函數(shù)以指向txnInfoDef結(jié)構(gòu)變量的指針為參數(shù)。得到的交易類(lèi)型代碼(或關(guān)鍵字)放在 txnInfoDef結(jié)構(gòu)變量的txnType字段中返回。

      (2)請(qǐng)求處理時(shí)的業(yè)務(wù)邏輯(bizLogicReq):報(bào)文處理模塊處理交易請(qǐng)求時(shí)被調(diào)用,根據(jù)交易類(lèi)型,對(duì)交易及相關(guān)的業(yè)務(wù)信息進(jìn)行處理,包括向相關(guān)業(yè)務(wù)信息表插入、更新、刪除記錄,觸發(fā)一些業(yè)務(wù)內(nèi)容處理進(jìn)程的運(yùn)行等。該函數(shù)以指向txnInfoDef結(jié)構(gòu)變量的指針為參數(shù)。若交易僅有一個(gè)階段(分程傳遞的交易),并且處理中未發(fā)生任何失敗,txnInfoDef結(jié)構(gòu)變量的resultReason和result字段會(huì)被分別置成 RC_SUCCESS(成功)和‘S'。

      (3)應(yīng)答處理時(shí)的業(yè)務(wù)邏輯(bizLogicReply):報(bào)文處理模塊處理交易應(yīng)答時(shí)被調(diào)用,它根據(jù)交易類(lèi)型,對(duì)交易及相關(guān)的業(yè)務(wù)信息進(jìn)行處理。

      (4)判斷路由(getRoute):報(bào)文處理模塊處理交易請(qǐng)求或交易應(yīng)答時(shí)被調(diào)用,根據(jù)該交易類(lèi)型配置和交易具體信息得到下一步的路由。該函數(shù)以指向txnInfoDef結(jié)構(gòu)變量的指針為參數(shù)。得到的路由節(jié)點(diǎn)標(biāo)識(shí)放在txnInfoDef結(jié)構(gòu)變量的routeNode數(shù)組元素中返回,同時(shí) txnInfoDef結(jié)構(gòu)變量的routeNodeNum字段被設(shè)置成路由節(jié)點(diǎn)的數(shù)量。

      (5)生成應(yīng)答(genReply):報(bào)文處理模塊處理交易請(qǐng)求、超時(shí)控制模塊處理超時(shí)交易時(shí)被調(diào)用,它用于生成交易的失敗(如目的方不可到達(dá)、下游節(jié)點(diǎn)應(yīng)答超時(shí)等)應(yīng)答消息報(bào)文。該函數(shù)以指向txnInfoDef結(jié)構(gòu)變量的指針為參數(shù)。生成的應(yīng)答消息報(bào)文存放在數(shù)據(jù)庫(kù)的交易消息表中,同時(shí)還存放在txnInfoDef結(jié)構(gòu)變量的 outMsg中返回,outMsgLen字段被置成應(yīng)答消息報(bào)文長(zhǎng)度(字節(jié)數(shù)),outPkgNo字段被置成 0(包號(hào)為 0),outPkgNum字段被置成1(僅有1包)。

      (6)生成轉(zhuǎn)發(fā)請(qǐng)求(genFw rdReq):報(bào)文處理模塊處理交易請(qǐng)求或交易應(yīng)答時(shí)被調(diào)用,生成交易的下一步需要轉(zhuǎn)發(fā)出去的請(qǐng)求消息報(bào)文。該函數(shù)以指向txnInfoDef結(jié)構(gòu)變量的指針為參數(shù)。生成的交易請(qǐng)求消息報(bào)文存放在數(shù)據(jù)庫(kù)的交易消息表中。同時(shí),最后一包存放在 txnInfoDef結(jié)構(gòu)變量的outMsg中,outMsgLen字段被置成最后一包的報(bào)文長(zhǎng)度(字節(jié)數(shù)),outPkgNo字段被置成最后一包的包號(hào),outPkgNum字段被置成消息包數(shù)。

      (7)生成轉(zhuǎn)發(fā)應(yīng)答(genFwrdReply):報(bào)文處理模塊處理交易應(yīng)答時(shí)被調(diào)用,生成交易的下一步需要轉(zhuǎn)發(fā)出去的應(yīng)答消息報(bào)文。該函數(shù)以指向txnInfoDef結(jié)構(gòu)變量的指針為參數(shù)。生成的交易應(yīng)答消息報(bào)文存放在數(shù)據(jù)庫(kù)的交易消息表中。同時(shí),最后一包存放在 txnInfoDef結(jié)構(gòu)變量的 outMsg中,outMsgLen字段被置成最后一包的報(bào)文長(zhǎng)度(字節(jié)數(shù)),outPkgNo字段被置成最后一包的包號(hào),outPkgNum字段被置成消息包數(shù)。

      (8)生成目的方應(yīng)答(genHomeReply):對(duì)于聯(lián)機(jī)交互傳播模式的交易類(lèi)型的交易,報(bào)文處理模塊處理交易請(qǐng)求時(shí),若發(fā)現(xiàn)本節(jié)點(diǎn)就是該交易的目的方,則通過(guò)調(diào)用本函數(shù)來(lái)生成本節(jié)點(diǎn)作為交易目的方給出的應(yīng)答消息報(bào)文,查詢(xún)賬戶(hù)信息,組成所需的應(yīng)答消息報(bào)文。該函數(shù)以指向txnInfoDef結(jié)構(gòu)變量的指針為參數(shù),生成的交易請(qǐng)求消息報(bào)文存放在數(shù)據(jù)庫(kù)的交易消息表中。同時(shí),最后一包存放在txnInfoDef結(jié)構(gòu)變量的outMsg中,outMsgLen字段被置成最后一包的報(bào)文長(zhǎng)度(字節(jié)數(shù)),outPkgNo字段被置成最后一包的包號(hào),outPkgNum字段被置成消息包數(shù)。

      4.4 數(shù)據(jù)庫(kù)的實(shí)現(xiàn)

      數(shù)據(jù)庫(kù)根據(jù)大數(shù)據(jù)量的特定,采用按天建表、按批次分區(qū)的建表原則。數(shù)據(jù)庫(kù)主要有如下表組成:

      (1)交易日志表(TBL_FEP_TXN_LOG),用于存放本交換節(jié)點(diǎn)處理的交易記錄,每筆交易對(duì)應(yīng)一條數(shù)據(jù)表記錄。

      (2)交易消息表(TBL_FEP_TXN_MSG),用于存放本交換節(jié)點(diǎn)接收到的和發(fā)送出去的消息報(bào)文。每筆交易對(duì)應(yīng)若干個(gè)交易消息,而每個(gè)交易消息又由若干個(gè)包構(gòu)成,每個(gè)消息包對(duì)應(yīng)本表的一條記錄。

      (3)交易類(lèi)型表(TBL_FEP_TXN_T YPE_INFO),用于定義交易類(lèi)型的階段數(shù)。本表的每一條記錄對(duì)應(yīng)一種交易類(lèi)型。

      (4)交易類(lèi)型階段表(TBL_FEP_TXN_T YPE_PHASE),用于定義交易類(lèi)型的各階段的行為。本表的每一條記錄對(duì)應(yīng)某一種交易類(lèi)型的一個(gè)階段。

      (5)分程傳遞交易類(lèi)型表(TBL_FEP_TXN_T YPE_RELAY),用于定義交易類(lèi)型在進(jìn)行分程傳遞時(shí)的行為。本表的一條記錄對(duì)應(yīng)某一種交易類(lèi)型的分程傳遞部分。

      (6)節(jié)點(diǎn)信息表(TBL_FEP_NODE_INFO),用于存放各節(jié)點(diǎn)信息,如線路、車(chē)站等。

      (7)一票通交易數(shù)據(jù)表(TBL_FEP_TICK_YYYYMMDD),存放由線路中央上傳的一票通待清分交易數(shù)據(jù),按包存放。該類(lèi)數(shù)據(jù)的數(shù)據(jù)量大,處理速度要求較低,與其它消息分開(kāi)存放。同時(shí)考慮到數(shù)據(jù)訪問(wèn)的效率,該表按清分日期每天建表。

      (8)公共交通卡交易數(shù)據(jù)表(TBL_FEP_CARD_YYYYMMDD),存放由線路中央上傳的公共交通卡交易數(shù)據(jù),按包存放。該類(lèi)數(shù)據(jù)的數(shù)據(jù)量大,處理速度要求較低,與其它消息分開(kāi)存放。同時(shí)考慮到數(shù)據(jù)訪問(wèn)的效率,該表按清分日期每天建表。

      5 應(yīng)用實(shí)例

      軌道交通清分中心計(jì)算機(jī)系統(tǒng)(簡(jiǎn)稱(chēng)清分系統(tǒng))完成全路網(wǎng)的車(chē)票發(fā)行與調(diào)配管理、換乘交易清分與帳務(wù)結(jié)算、路網(wǎng)運(yùn)營(yíng)模式監(jiān)控、各類(lèi)交易信息和客流信息的統(tǒng)計(jì)分析等功能。前置信息交換子系統(tǒng)作為清分系統(tǒng)的重要組成部分,對(duì)外提供通信接入服務(wù)。前置信息交換子系統(tǒng)是一種典型的實(shí)時(shí)信息交換系統(tǒng),負(fù)責(zé)向線路中央系統(tǒng)、公共交通一卡通中心、結(jié)算銀行等提供網(wǎng)絡(luò)聯(lián)接、記錄日志,支持售票交易、進(jìn)出站交易等的接入以及交通卡相關(guān)交易的轉(zhuǎn)接和相關(guān)文件的發(fā)送。任何直接與清分系統(tǒng)主機(jī)有信息往來(lái)的外部機(jī)構(gòu)節(jié)點(diǎn)都通過(guò)該子系統(tǒng)接入清分系統(tǒng)。并且該子系統(tǒng)接收外界發(fā)來(lái)的交互請(qǐng)求,經(jīng)過(guò)其內(nèi)部的處理,返回交互的應(yīng)答。其內(nèi)部的處理因交互請(qǐng)求的類(lèi)型不同而各異。例如,對(duì)于線路中央上傳的交易數(shù)據(jù),處理內(nèi)容是插入數(shù)據(jù)庫(kù);而對(duì)于線路中央發(fā)來(lái)的車(chē)站運(yùn)行模式切換通知,處理內(nèi)容是記錄到數(shù)據(jù)庫(kù)后再向其他各個(gè)線路中央主機(jī)轉(zhuǎn)發(fā)。前置信息交換子系統(tǒng)與其它子系統(tǒng)協(xié)同工作,共同完成各種業(yè)務(wù)和交易的處理,構(gòu)成軌道交通清分系統(tǒng)的有機(jī)整體。

      實(shí)時(shí)信息交換技術(shù)已成功運(yùn)用于上海軌道交通清分系統(tǒng)前置信息交換子系統(tǒng)中。系統(tǒng)每天處理500余萬(wàn)筆交易,系統(tǒng)運(yùn)行穩(wěn)定。

      [1]Richard Stevens W,楊繼張.UNIX網(wǎng)絡(luò)編程(第2卷):進(jìn)程間通信[M].2版.北京:清華大學(xué)出版社,2000.

      [2]葉寧.Unix環(huán)境下利用Socket和消息隊(duì)列構(gòu)建應(yīng)用通信平臺(tái)[J].華南金融電腦,2002(11):85.

      [3]簡(jiǎn)廣林,王穎.利用消息隊(duì)列實(shí)現(xiàn)三層結(jié)構(gòu)的通信平臺(tái)[J].現(xiàn)代電力,2003(2):72.

      [4]上海軌道交通票務(wù)中心.城市軌道交通自動(dòng)售檢票系統(tǒng)專(zhuān)用技術(shù)說(shuō)明[G].上海,2006.

      猜你喜歡
      字段隊(duì)列報(bào)文
      基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
      圖書(shū)館中文圖書(shū)編目外包數(shù)據(jù)質(zhì)量控制分析
      CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
      隊(duì)列里的小秘密
      基于多隊(duì)列切換的SDN擁塞控制*
      軟件(2020年3期)2020-04-20 00:58:44
      淺析反駁類(lèi)報(bào)文要點(diǎn)
      在隊(duì)列里
      豐田加速駛?cè)胱詣?dòng)駕駛隊(duì)列
      ATS與列車(chē)通信報(bào)文分析
      CNMARC304字段和314字段責(zé)任附注方式解析
      商水县| 花莲市| 河源市| 慈溪市| 鄂伦春自治旗| 肥城市| 汾阳市| 马关县| 博白县| 中阳县| 武穴市| 乌鲁木齐县| 罗定市| 辽宁省| 涿州市| 重庆市| 北京市| 高唐县| 阿拉尔市| 额济纳旗| 于都县| 措勤县| 塘沽区| 嵊州市| 阳江市| 韩城市| 衡水市| 奉贤区| 巢湖市| 古丈县| 平乐县| 紫金县| 承德市| 武邑县| 开鲁县| 金平| 米泉市| 牟定县| 揭东县| 伊川县| 北票市|