馬 越, 羅漢文
(上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海 200240)
WebSphere MQ在零售業(yè)系統(tǒng)數(shù)據(jù)傳輸中的應(yīng)用
馬 越, 羅漢文
(上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海 200240)
結(jié)合企業(yè)數(shù)據(jù)通信系統(tǒng)功能等方面的要求,借助消息隊列件(WebSphere MQ)技術(shù)確保大量商業(yè)數(shù)據(jù)文件的有效傳輸.以零售企業(yè)前、后臺日常銷售數(shù)據(jù)傳輸為例,設(shè)計方案并實現(xiàn)了典型零售業(yè)系統(tǒng)數(shù)據(jù)傳輸功能.
數(shù)據(jù)傳輸技術(shù); 零售業(yè); 中間件; 消息隊列技術(shù)
消息隊列技術(shù)(WebSphere MQ)是IBM的商業(yè)通訊中間件,它既簡化了不同系統(tǒng)之間的數(shù)據(jù)傳輸,又兼容了各類異構(gòu)的操作系統(tǒng)及網(wǎng)絡(luò),提供了標準的接口,依靠消息隊列的存儲-轉(zhuǎn)發(fā)機制,確保企業(yè)能夠進行可靠的、具備異步事務(wù)處理能力的跨平臺數(shù)據(jù)傳輸.
本文作者通過分析零售業(yè)日常銷售流程,借助WebSphere MQ,設(shè)計方案并實現(xiàn)了典型前、后臺系統(tǒng)日常數(shù)據(jù)交互的基本功能.
要使用WebSphere MQ進行開發(fā),需要先明確以下幾個基本概念[1]:
1)隊列管理器:作為WebSphere系統(tǒng)中最上層的概念,隊列管理器對所有消息隊列進行管理并提供消息服務(wù).
2)消息:一個信息單元,從廣義上理解,各類數(shù)據(jù)文件或者應(yīng)用發(fā)出的請求等都可以定義為消息.一條WebSphere MQ消息通常分為兩塊:消息描述符(用于定義消息傳輸目標等)和消息體(如應(yīng)用程序數(shù)據(jù)等).消息分為非永久性和永久性兩種類型,此外,還使用邏輯消息和物理消息的概念對消息進行分段或合并處理.
3)隊列:一個安全的存儲消息的地方.隊列存儲和處理消息遵循先進先出的原則,并且異步傳送和接收消息.由于消息存放在隊列中,所以應(yīng)用程序可以相互獨立地運行,以不同的速度,在不同的時間和不同的地點進行可靠傳遞,不受網(wǎng)絡(luò)或目標系統(tǒng)故障影響.
4)WebSphereMQ隊列:包括本地隊列、遠程隊列、別名隊列等很多類型,分別根據(jù)系統(tǒng)需求起到不同的作用.
5)通道:一個邏輯概念,相當于在隊列管理器之間傳遞消息的管道.在WebSphereMQ中主要有3種通道類型:消息通道、消息隊列接口(MQI)通道和群集(Cluster)通道,分別應(yīng)用于不同的場景中.
在系統(tǒng)X中有應(yīng)用程序a和b,a向b發(fā)送了一條消息,如圖1所示.但是這條消息不會直接到達b,而是先發(fā)送到隊列Q1保存,直到b需要的時候,再從Q1上獲取;當a需要向位于系統(tǒng)Y的應(yīng)用程序c發(fā)送消息時,需要先將消息放入隊列Q2,與在同一系統(tǒng)內(nèi)的通信方式不同,a需要先將消息放入本地傳輸隊列,此時,在系統(tǒng)X和Y之間建立了一條消息通道,為了便于對通道進行管理和監(jiān)控,WebSphere MQ在通道的兩端使用了消息通道代理.消息通道代理將會從傳輸隊列中讀取待傳送的消息,再將消息放入Y中的Q2,在得到Y(jié)的收取消息確認后,消息將會從傳輸隊列刪除,否則將會被保存在傳輸隊列中直到被成功傳輸?shù)侥繕讼到y(tǒng).消息通道代理通過對通道兩端的消息序列號進行協(xié)同管理,能夠防止消息的重復(fù)傳遞,確保消息一次且僅一次傳遞[1].
圖1 WebSphere MQ消息傳輸示意圖
2.1 零售業(yè)系統(tǒng)中日常銷售數(shù)據(jù)傳輸場景分析
從零售企業(yè)日常業(yè)務(wù)種類的角度來看,一套完整的零售業(yè)系統(tǒng)數(shù)據(jù)傳輸,應(yīng)當包含用戶信息管理、物流運送管理、商品采購管理、線上交易等業(yè)務(wù)功能.由于篇幅限制,本文作者將僅討論零售業(yè)日常的銷售數(shù)據(jù)傳輸場景.
零售企業(yè)的日常銷售場景包括:用戶進入商場,選購商品,至收銀臺結(jié)賬;若商品存在問題,則可能發(fā)生退換貨行為;此外,還可能存在積分兌換、網(wǎng)絡(luò)下單等行為.在這些場景當中,涉及到的數(shù)據(jù)有:用戶數(shù)據(jù)(用戶基本信息、積分、消費習(xí)慣分析等),商品信息(價格、庫存、折扣等),相關(guān)費用信息等.
圖2 日常銷售數(shù)據(jù)傳輸系統(tǒng)關(guān)系圖
根據(jù)上述場景,本文作者設(shè)計了日常銷售數(shù)據(jù)傳輸系統(tǒng)關(guān)系圖,如圖2所示.在銷售過程中,由收銀員操作收銀機完成收銀過程,發(fā)票信息(till)等數(shù)據(jù)被記錄到銷售終端(POS)服務(wù)器上的數(shù)據(jù)庫(Microsoft SQL server,MSSQL)中,由企業(yè)服務(wù)總線(ESB)處理后發(fā)送給后臺系統(tǒng)商場商品系統(tǒng)(MS-ST)、客戶文件管理(CFM)和主要出納(MC),各模塊詳細功能如表1所示.
表1 日常銷售數(shù)據(jù)傳輸系統(tǒng)各模塊功能
2.2 數(shù)據(jù)傳輸過程中的需求分析
由于零售業(yè)本身的特性,決定了日常傳輸數(shù)據(jù)的多樣性(不同類型、大小).因此,數(shù)據(jù)傳輸?shù)臏蚀_性和實時性是非常重要的.系統(tǒng)不僅需要保證數(shù)據(jù)在傳輸過程中保持一致,避免多個系統(tǒng)并發(fā)操作可能帶來的誤差;還要保證面對較大數(shù)據(jù)壓力或時效性強的數(shù)據(jù)時,能夠及時將之發(fā)送到目的系統(tǒng).
企業(yè)也必須考慮信息傳輸?shù)陌踩?從自身配置的角度,系統(tǒng)應(yīng)當構(gòu)建一套安全的傳輸路徑,避免非法用戶訪問,并且可以賦予合法用戶不同的權(quán)限[4];從外界環(huán)境的角度,系統(tǒng)應(yīng)當具備一定的防御策略,能夠防范外部攻擊對數(shù)據(jù)造成的影響,例如,破壞數(shù)據(jù)的完整性,破壞數(shù)據(jù)的私密性等[5].
此外,完整的零售業(yè)系統(tǒng)往往結(jié)構(gòu)復(fù)雜,不僅包括具有不同操作系統(tǒng)的各類系統(tǒng)(基于簡便性、易維護性或性能的不同需求,企業(yè)可自由選擇Windows、Linux或Unix服務(wù)器),還涉及不同數(shù)據(jù)庫之間的數(shù)據(jù)傳遞(同樣出于性能的考慮,不同系統(tǒng)可采用Oracle或MSSQL數(shù)據(jù)庫進行數(shù)據(jù)管理)[6].同時,還應(yīng)考慮系統(tǒng)后續(xù)無縫添加、刪除一些功能模塊.
2.3 系統(tǒng)運行環(huán)境需求
2.3.1 軟件環(huán)境
根據(jù)圖2,將整套系統(tǒng)簡單劃分為前臺POS系統(tǒng)和后臺系統(tǒng)(CFM、MS-ST、MC).
對于前臺系統(tǒng),它的主要功能為日常銷售以及與各個后臺系統(tǒng)發(fā)生數(shù)據(jù)交互,故數(shù)據(jù)庫系統(tǒng)選用MSSQL Server 2005,操作系統(tǒng)則采用Windows,ESB采用MB8.0(IBM公司),消息中間件使用WebSphere MQ 6.0(IBM公司).
后臺系統(tǒng)由于性能要求較高,數(shù)據(jù)庫系統(tǒng)選用Oracle 11g,其他與前臺系統(tǒng)相同.
2.3.2 硬件環(huán)境[1]
1)任何基于32位 Intel 處理器的IBM公司的 PC(或兼容機).
2)支持 SNA LU 6.2、TCP/IP、NetBIOS 或 SPX 的通信硬件.
對于典型安裝,WebSphere MQ至少需要大約 85 Mbyte(MB)的磁盤空間用于儲存產(chǎn)品代碼和數(shù)據(jù)(如果使用NTFS硬盤類型,至少需要20 MB作為運行空間).而且安裝進程需要在系統(tǒng)磁盤上占用30 MB的臨時空間.
3.1 前、后臺日常銷售數(shù)據(jù)傳輸?shù)幕灸P?/p>
基于零售業(yè)系統(tǒng)數(shù)據(jù)傳輸過程中對傳輸準確性、實時性、安全性及可擴展性的要求,選擇使用WebSphere MQ這一中間件技術(shù)為系統(tǒng)提供數(shù)據(jù)傳輸服務(wù).
為了更好地理解數(shù)據(jù)傳輸?shù)倪^程,抽取幾個典型系統(tǒng)之間的數(shù)據(jù)傳輸過程,得出如圖3所示的模型.
圖3 簡單銷售數(shù)據(jù)傳輸模型
由圖3可知,日常銷售數(shù)據(jù)傳輸?shù)幕玖鞒贪?
1)在一筆交易完成后,安裝在商場服務(wù)器上的ESB適配器(通常安裝在源/目標系統(tǒng)服務(wù)器上,每個適配器使用ESB適配器表連接數(shù)據(jù)庫并且只傳輸配置文件中定義的特定類型的消息),從POS 數(shù)據(jù)庫中讀取發(fā)票的信息,并且將之轉(zhuǎn)換為MQ消息,并發(fā)送到用于分發(fā)消息的隊列當中;
2)消息分發(fā)隊列讀取消息,根據(jù)事先定義的消息類型及隊列名稱,在配置數(shù)據(jù)庫中獲取對應(yīng)的配置信息,將消息發(fā)往對應(yīng)的隊列;
3)目標隊列收到信息后,根據(jù)事先的定義,將信息轉(zhuǎn)化為目標系統(tǒng)能夠讀取的格式,并將信息路由到目標系統(tǒng)上;
4)源系統(tǒng)中的消息狀態(tài),在消息被處理后,會收到一條反饋消息,用于更新消息狀態(tài),并標識該數(shù)據(jù)是否被處理;
5)根據(jù)目標系統(tǒng)的不同,消息會進行不同的處理:若目標系統(tǒng)為集中式系統(tǒng),數(shù)據(jù)會通過目標系統(tǒng)上的ESB適配器更新到目標數(shù)據(jù)庫中;若目標系統(tǒng)為本地系統(tǒng),數(shù)據(jù)會被轉(zhuǎn)化為二進制大對象(BLOB)信息,并發(fā)送到相應(yīng)隊列中,以被ESB適配器寫入文件.
3.2 隊列命名規(guī)則及配置參數(shù)
3.2.1 前臺端MQ命名規(guī)則
ESB適配器會從POS數(shù)據(jù)庫中獲取發(fā)票信息,并放入POS端的遠程隊列發(fā)送給后臺系統(tǒng),根據(jù)使用的適配器名稱及系統(tǒng)名稱,將POS端的隊列命名為“esb_pos.1561100001.delivery”.
3.2.2 ESB端MQ命名規(guī)則
在ESB端,會有一個對應(yīng)POS端的別名隊列(與POS端的遠程隊列同名),將消息傳送到本地分發(fā)隊列,將分發(fā)隊列命名為“esb.dispatcher_in.request”,根據(jù)事先定義的業(yè)務(wù)對象參數(shù),系統(tǒng)會將傳送的消息識別為發(fā)票信息,因此,將負責(zé)上傳發(fā)票信息的隊列命名為“esb.txiu(transaction invoice upload)_in”,根據(jù)事先定義的映射規(guī)則,代理(broker)會將數(shù)據(jù)轉(zhuǎn)化為后臺系統(tǒng)可以讀取的格式,并發(fā)送到對應(yīng)系統(tǒng)的遠程隊列上.
3.2.3 后臺端MQ命名規(guī)則
參照前臺端隊列命名規(guī)則,由于后臺涉及到3個系統(tǒng),分別將隊列命名為:“esb_msst_01(Excution Group no).request”(由于MS-ST日常數(shù)據(jù)流量較大,為了減輕通道壓力,通常配置多個EG進行數(shù)據(jù)傳輸),“esb_cfm.request”及“esb_mc.request”,這些隊列都被定義為本地隊列,與ESB端后臺系統(tǒng)的遠程隊列同名.
此外,由于涉及到5個系統(tǒng)(POS,MS-ST,CFM,MC和ESB),為了便于管理,為整個系統(tǒng)定義5個隊列管理器(Queue Manager),其命名規(guī)則為“MQSA.I(系統(tǒng)名稱)”,如POS系統(tǒng)的QM名為“MQSA.IPOS”.主機名則為系統(tǒng)服務(wù)器對應(yīng)IP地址,端口統(tǒng)一定義為1411,通道統(tǒng)一命名為“SYSTEM.DEF.SVRCONN”.
3.3 消息格式設(shè)計
選擇使用XML格式來封裝消息,同時依照前后臺數(shù)據(jù)庫表的內(nèi)容來設(shè)計消息的具體內(nèi)容.通常一條完整的WebSphereMQ消息分為兩部分,消息描述符(Message Header)和消息體(Message Body),定義規(guī)則如下[7].
3.3.1 消息描述符
對于MQ的消息,使用消息隊列規(guī)則格式頭(MQRFH2)的消息頭來實現(xiàn)消息安全控制.圖4為一個典型的MQRFH2消息頭的結(jié)構(gòu).
圖4 MQRFH2頭結(jié)構(gòu)
由圖4可知,除了結(jié)構(gòu)編號和版本以外,可以將大部分的消息,描述字段看作屬性.依照實際日常業(yè)務(wù)需求,為消息頭定義以下屬性:
1) 源系統(tǒng)(SourceApplication):本方案中源系統(tǒng)為POS系統(tǒng).
2) ESB文件頭版本(ESBHeaderVersion):默認為1.0版本.
3) 服務(wù)(Service):由于本方案主要討論發(fā)票從源系統(tǒng)傳送到目標系統(tǒng)的功能,故主要服務(wù)為發(fā)票上傳(Invoice Upload)服務(wù).
4) 消息版本(Version):默認為V1版本.
5) 操作(Operation):不同操作對應(yīng)不同的轉(zhuǎn)換文件,文件名依照具體操作命名.例如,添加發(fā)票記錄的操作對應(yīng)的轉(zhuǎn)換文件名為addInvoiceRecord.xsd.
6) 國別(Country):依照ISO Alpha-2字符代碼命名國家英文縮寫.
7) 商場號(Store):POS系統(tǒng)中的商場編號.
8) 全球唯一標識id(UUID):由POS系統(tǒng)生成,格式通常表示為“POS_
9) 關(guān)聯(lián)編號(CorrelationId):對于請求的消息該參數(shù)的值必須與“UUID”相同.
10) 優(yōu)先級(Priority):消息優(yōu)先級,默認定義為4(較低).
11) 永久性(Persistence):定義為2,即“永久性消息”.
12) 鍵值1,鍵值2,…,鍵值n(Key1,Key2,…,Keyn):所有用來代表業(yè)務(wù)記錄的唯一鍵值.例如:假設(shè)一張發(fā)票由3個鍵值,確定唯一標識(序列號,發(fā)票日期和發(fā)票時間),則鍵值可以表示為:
3.3.2 消息體
應(yīng)用數(shù)據(jù)包含了日常業(yè)務(wù)數(shù)據(jù),這些數(shù)據(jù)的格式同樣由XML模式文件定義.在POS服務(wù)器上,處理過的數(shù)據(jù)會按照事先在配置文件中定義的路徑,將數(shù)據(jù)文件移動到對應(yīng)文件夾中,以表示這些數(shù)據(jù)被成功處理過;反之,如果數(shù)據(jù)處理失敗,對應(yīng)文件則會被移動到另外的文件夾,錯誤信息可以從服務(wù)器對應(yīng)日志中獲取.
當數(shù)據(jù)被成功傳輸?shù)胶笈_時,ESB適配器會生成一條反饋消息,發(fā)送給POS服務(wù)器,用于更新數(shù)據(jù)庫中的數(shù)據(jù)處理狀態(tài)列.
此外,由于前、后臺文件系統(tǒng)的文件格式經(jīng)常是不統(tǒng)一的(這由每個系統(tǒng)對數(shù)據(jù)的需求決定),還需要實現(xiàn)業(yè)務(wù)對象和文本格式雙向轉(zhuǎn)換的功能,這時候需要自定義一個數(shù)據(jù)處理器來實現(xiàn)這一功能.WebSphere MQ提供了具有用戶友好的可視化界面的企業(yè)元數(shù)據(jù)發(fā)現(xiàn)(Enterprise Metadata Discovery)工具,可以方便地生成各系統(tǒng)中定義的各類元數(shù)據(jù)或函數(shù),同時生成相應(yīng)的接口文件[8].利用該工具,可以方便地定義業(yè)務(wù)對象中各類成員的屬性,例如:成員名稱、成員數(shù)據(jù)類型、默認值、成員出現(xiàn)次數(shù)、成員數(shù)據(jù)類型長度等[9].
3.4 功能概述
3.4.1 觸發(fā)機制
當有數(shù)據(jù)插入POS_V1_INVOICE表(“V1”代表當前版本)的時候,觸發(fā)安裝在前臺系統(tǒng)上的觸發(fā)器,開始消息的傳輸.
3.4.2 源接口定義
在POS數(shù)據(jù)庫中,數(shù)據(jù)由ESB適配器使用標準ESB事件生成和處理規(guī)則取出.在POS數(shù)據(jù)庫中,定義了表ESB_TRANSPOS,表中保存了可能需要傳送給后臺系統(tǒng)的所有數(shù)據(jù),適配器會訪問ESB_TRANSPOS表的數(shù)據(jù),以便將MQ消息發(fā)送到broker處理隊列.
出于安全性及簡便性的考慮,在適配器獲取、插入數(shù)據(jù)的過程當中,只需要訪問某些表的某些列,這里就使用了視圖的概念.視圖相當于一張邏輯表,并非真正的物理表,只從物理表中抽取目標系統(tǒng)需要用到的列組合成新表(又稱為接口表),并且只有特定用戶表(ESB_TRANSPOS)才能訪問這些列,避免前、后臺所有表(稱為基表)暴露在所有用戶面前.此外,基表相關(guān)的數(shù)據(jù)更新會實時同步到視圖表中,保證了數(shù)據(jù)的準確性[10].
表2 源接口視圖定義
為了進行前臺系統(tǒng)數(shù)據(jù)集成,構(gòu)造了業(yè)務(wù)對象POS_V1_ESBTXInvoice,它定義了業(yè)務(wù)實體的結(jié)構(gòu)、語法和語義(一系列相關(guān)的業(yè)務(wù)對象被實現(xiàn)和封裝為可視化的、樹狀結(jié)構(gòu)的類型樹,可以在后面的數(shù)據(jù)轉(zhuǎn)換設(shè)計中作為數(shù)據(jù)接口,在數(shù)據(jù)轉(zhuǎn)換處理過程中和相應(yīng)的數(shù)據(jù)源進行數(shù)據(jù)交互).ESB適配器使用POS_V1_ESBTXInvoice業(yè)務(wù)對象來訪問ESB_TRANSPOS表的視圖如表2所示.
3.4.3 目標接口定義
同前臺系統(tǒng)一樣,在目標系統(tǒng)中同樣使用視圖的概念,數(shù)據(jù)在到達接口表后,根據(jù)事先設(shè)定好的程序,觸發(fā)安裝在后臺系統(tǒng)上的觸發(fā)器,數(shù)據(jù)會被插入對應(yīng)的基表中.由于3個后臺系統(tǒng)邏輯近似,在此僅舉例CFM系統(tǒng)進行說明.
CFM系統(tǒng)使用ESB適配器,傳輸隊列根據(jù)消息集CFM_V1_CC_INVOICE定義的格式生成所有輸出數(shù)據(jù).所有參數(shù)根據(jù)事先定義的映射規(guī)則生成,作為單一數(shù)據(jù)類型的一部分.ESB適配器會將數(shù)據(jù)更新到如表3所示的視圖.
表3 CFM系統(tǒng)接口視圖定義
3.4.4 連通性
ESB broker是IBM的應(yīng)用整合中間件,它的開發(fā)基于“應(yīng)用程序集線器(Application-Hub)”這一應(yīng)用整合理念,為用戶提供一個封裝的標準信息通道,減少由于異構(gòu)系統(tǒng)互聯(lián)帶來的復(fù)雜性.同時,它使用開放數(shù)據(jù)庫連接(ODBC)技術(shù)與數(shù)據(jù)庫連接,利用各種適配器,使用統(tǒng)一接口與各個系統(tǒng)無縫連接,按照預(yù)先定義的規(guī)則對消息進行處理(如格式轉(zhuǎn)換等)后將其路由到目標系統(tǒng)[11].
在圖3的場景中,只需要創(chuàng)建一個broker以及一個對應(yīng)的數(shù)據(jù)庫(用于存儲各類業(yè)務(wù)對象及操作的定義),并賦予該broker用戶相應(yīng)的權(quán)限;此外,還要為這個broker創(chuàng)建一個對應(yīng)的隊列管理器,用于部署broker的配置信息并對broker進行初始化.
為日常銷售數(shù)據(jù)傳輸定義消息流“InvoiceUpload”,InvoiceUpload流從POS系統(tǒng)接收數(shù)據(jù)并放入一個調(diào)度程序輸入隊列.基于消息中的一些特定數(shù)據(jù)(如消息集等),消息代理將收到的信息路由到輸入隊列,對消息進行必要的格式轉(zhuǎn)換等處理后,根據(jù)事先配置好的定義路由每條消息,利用ESB適配器發(fā)送到后臺系統(tǒng)中.
由于broker需要了解消息的結(jié)構(gòu)才能對消息進行處理,消息的定義有助于驗證消息結(jié)構(gòu),構(gòu)建消息流以及構(gòu)建Message Broker工具集中的映射關(guān)系.而消息集即對消息流處理的消息結(jié)構(gòu)的定義,本系統(tǒng)設(shè)計為依照消息集定義對消息進行必要處理.消息集被編譯為消息字典部署到broker上,為消息流驗證消息提供了參考[12].
3.4.5 Log記錄
InvoiceUpload流在broker當中會記錄標準及特定信息的日志.
標準信息會在每條消息被傳輸?shù)臅r候記錄:
1) VALUE_1:“Whereclause:WHERE A.INPUT_BO_XSD_VERSION = MessageType AND A.INPUT_QUEUE = ESBstoreQueue”
2) VALUE_2:“Pub/Sub:Not activated”
3) VALUE_3:“FlowIn queue:XXXXXX”
特定信息則根據(jù)接收到的消息類型記錄以下內(nèi)容:
4) 如果輸入消息類型是“POS_V1_INVOICE”,則發(fā)票號會被記錄在VALUE_2中;
5) 如果輸入消息類型是“POS_V1_INVOICE”以外的類型(如收營員換班信息等),則操作序列號(Sequence ID)會被記錄在VALUE_2中.
設(shè)計了一種零售數(shù)據(jù)傳輸系統(tǒng),較好地滿足了零售企業(yè)的數(shù)據(jù)傳輸需求.由于采用了WebSphere MQ中間件技術(shù),整個系統(tǒng)具備良好的可擴展性和兼容性,可以靈活應(yīng)對系統(tǒng)功能或性能方面新的變化和要求.
當然,實際銷售過程中,流程往往比上述模型復(fù)雜許多,且可能產(chǎn)生各種意外情況;同時由于整套分布式系統(tǒng)非常龐大,不同系統(tǒng)往往由不同的人負責(zé),系統(tǒng)間信息更新滯后,可能會對數(shù)據(jù)的傳輸功能造成影響,這些問題都有待進一步研究和解決.
[1] 甘荃,婁麗軍.IBM WebSphere MQ基礎(chǔ)教程 [M].北京:電子工業(yè)出版社,2004.
Gan Q,Lou L J.IBM WebSphere MQ basic course [M].Beijing:Publishing House of Electronics Industry,2004.
[2] Falzone L,Ciabarra C.Pointofsale system:US20120066079 [P/OL].(2012-03-15)[2016-11-02].http://www.google.com/patents/US20120066079.
[3] 董葉彤.企業(yè)服務(wù)總線在速遞信息平臺數(shù)據(jù)交換中的應(yīng)用 [D].北京:北京郵電大學(xué),2008.
Dong Y T.The application of enterprise service bus(ESB) on express mail service(EMS) platform [D].Beijing:Beijing University of Posts and Telecommunication,2008.
[4] 趙琳,黃玉文.網(wǎng)絡(luò)化系統(tǒng)中權(quán)限控制技術(shù)研究 [J].科技信息,2010(22):599.
Zhao L,Huang Y W.Research on privilegecontrol technology in networked system [J].Technology Information,2010(22):599.
[5] 周峻鋒.基于數(shù)據(jù)安全通信的分布式入侵防御系統(tǒng)研究 [D].成都:電子科技大學(xué),2011.
Zhou J F.Research on distributed intrusion prevention system based on data secure communication [D].Chengdu:University of Electronic Science and Technology of China,2011.
[6] 劉春燕.連鎖餐飲信息系統(tǒng)中數(shù)據(jù)通訊的設(shè)計與實現(xiàn) [D].大連:大連理工大學(xué),2014.
Liu C Y.Design and implementation of data communication in chain restaurants information systems [D].Dalian:Dalian University of Technology,2014.
[7] Ya X.WebSphere MQ消息在傳遞和排隊期間的格式變化 [DB/OL].(2010-03-11)[2016-11-02].http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1001_xiao/1001_xiao.html.
Ya X.WebSphere MQ message format conversion during delivery and queueing [DB/OL].(2010-03-11)[2016-11-02].http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1001_xiao/1001_xiao.html
[8] 程國強.迭代開發(fā):WebSphere adapters 7.0讓您更靈活的開發(fā)元數(shù)據(jù) [M/OL].(2010-06-26)[2016-11-02].http://blog.itpub.net/14789789/viewspace-666344.
Cheng G Q.Iterative development:WebSphere adapters 7.0makes you develop metadata more flexibly [M/OL].(2010-06-26)[2016-11-02].http://blog.itpub.net/14789789/viewspace-666344.
[9] 王博,趙杰.WebSphere Adapter for Flat Files 通過自定義 Data Handler 實現(xiàn)對任意格式文件的支持 [DB/OL].(2011-04-14)[2016-11-02].http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1104_wangb_adapterdatahandle/1104_wangb_adapterdatahandle.html.
Wang B,Zhao J.WebSphere adapter for flat files implements support for any file format by custom data handler [DB/OL].(2011-04-14)[2016-11-02].http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1104_wangb_adapterdatahandle/1104_wangb_adapterdatahandle.html.
[10] 王成.SQLServer中基于多表的可更新視圖的設(shè)計與實現(xiàn) [J].發(fā)明與創(chuàng)新(綜合版),2005(8):26-26.
Wang C.Design and implementation of multi-table based updateable views in SQL Server [J].Invention&Innovation(Integrated),2005(8):26-26.
[11] 秦鼎.基于ESB的企業(yè)應(yīng)用集成平臺研究 [D].贛州:江西理工大學(xué),2008.
Qin D.Research on ESB based enterprise application integration platform [D].Ganzhou:Jiangxi University of Science and Technology,2008.
[12] Davies S,Cowen L,Giddings C,et al.Websphere message broker basics [M].New York:IBM Corporation,2005.
(責(zé)任編輯:包震宇,馮珍珍)
Application of WebSphere MQ in data transmission of retail system
Ma Yue, Luo Hanwen
(School of Electronic Information and Electrical Engineering,Shanghai Jiao Tong University,Shanghai 200240,China)
Considering the requirements of enterprise data communication system functions,this article uses WebSphere message queue(MQ)technology to ensure effective data transmission for large amount of commercial files.Taking daily sales data transmission between foreground and background as example,we design and realize the typical retail data transmission function.
data transmission technology; retail trade; middleware; WebSphere message queue
2016-11-23
馬 越(1989-),女,本科,主要從事數(shù)據(jù)通信方面的研究.E-mail:yma0721@gmail.com
導(dǎo)師簡介: 羅漢文(1949-),男,教授,主要從事移動通信方面的研究.E-mail:hwluo@sjtu.edu.cn(通信聯(lián)系人)
10.3969/J.ISSN.1000-5137.2017.01.001
TN 919.3
A
1000-5137(2017)01-0001-09