電文異步處理方法及處理裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及電文傳輸技術(shù),尤其涉及一種電文異步處理方法及處理裝置。
【背景技術(shù)】
[0002] 在諸如ERP等企業(yè)級的大型網(wǎng)絡(luò)系統(tǒng)中,需要使用電文傳輸?shù)姆绞絹韺崿F(xiàn)各個 子系統(tǒng)之間的數(shù)據(jù)交互。目前普遍使用的電文傳輸方式為實時webservice方式。實時 webservice方式在大批次電文傳輸時會出現(xiàn)等待時間較長,用戶體驗不好,不能同步處理 其他業(yè)務(wù)等缺陷,具體表現(xiàn)在W下方面:
[0003] 1)在系統(tǒng)中提交某一個操作,如果中間有比較多的接口交互,因為一個操作就是 一個事務(wù),而且網(wǎng)絡(luò)傳輸效率相對比較慢,就會出現(xiàn)用戶等待時間比較長的情況。
[0004] 2)用戶提交一個操作W后,如果中間有比較多的接口交互,而系統(tǒng)在提交一個操 作W后會鎖死當前頁面,那么會導(dǎo)致用戶長時間沒法處理別的業(yè)務(wù),只能等當前頁面操作 結(jié)束,用戶體驗不好。
[000引 3)系統(tǒng)有超時控制,對于接口交互比較頻繁的操作,會導(dǎo)致處理超時出錯的情況, 業(yè)務(wù)流程沒法正常開展。
[0006] 鑒于W上需求,為滿足系統(tǒng)正常運行需求,提高用戶體驗,增加系統(tǒng)的操作成功 率,需要改進電文傳輸?shù)姆绞健?br>
【發(fā)明內(nèi)容】
[0007] 本發(fā)明旨在提出一種在大型系統(tǒng)中進行電文異步傳輸?shù)募夹g(shù)。
[0008] 根據(jù)本發(fā)明的一個方面,提出一種電文異步處理方法,包括如下的步驟:
[0009]a)接收電文發(fā)送請求;
[0010]b)判斷電文發(fā)送方式是否為異步發(fā)送,如果判斷電文發(fā)送方式為異步發(fā)送,則轉(zhuǎn) 到步驟C),如果判斷電文發(fā)送方式為非異步發(fā)送,則轉(zhuǎn)到步驟e);
[0011] C)由電文生成化va消息服務(wù)(JMS)隊列;
[001引 d)調(diào)用隊列管理器W異步方式發(fā)送JMS隊列;
[0013] e)調(diào)用電文實現(xiàn)類發(fā)送電文。
[0014] 其中步驟b)包括調(diào)用JMS模塊,由JMS模塊判斷電文發(fā)送方式是否為異步發(fā)送。
[0015] 其中步驟C)包括調(diào)用化va命名和目錄接口(JNDI),由JNDI生成JMS隊列工廠 類,再通過JMS隊列工廠類由電文生成JMS隊列。
[0016] 根據(jù)本發(fā)明的另一個方面,提出一種電文異步處理裝置,包括:
[0017] 化va消息服務(wù)(JMS)模塊,接收電文發(fā)送請求并判斷電文發(fā)送方式是否為異步發(fā) 送;
[0018] 隊列生成器,如果JMS模塊判斷電文發(fā)送方式為異步發(fā)送,則隊列生成器由電文 生成JMS隊列;
[0019] 電文發(fā)送器,如果JMS模塊判斷電文發(fā)送方式為異步發(fā)送,則電文發(fā)送器調(diào)用隊 列管理器W異步方式發(fā)送所述JMS隊列,如果JMS模塊判斷電文發(fā)送方式為非異步發(fā)送,貝U電文發(fā)送器調(diào)用電文實現(xiàn)類發(fā)送電文。
[0020] 其中隊列生成器調(diào)用化va命名和目錄接口(JNDI),由JNDI生成JMS隊列工廠類, 再通過JMS隊列工廠類由電文生成JMS隊列。
[0021] 本發(fā)明的電文異步處理方法和電文異步處理裝置能夠在各個子系統(tǒng)之間進行電 文的異步傳輸和處理,解決了接口實時通訊的缺陷,提高系統(tǒng)健壯性,并且不能妨礙接口傳 輸?shù)某晒β省?br>【附圖說明】
[0022] 下面結(jié)合附圖對本發(fā)明的【具體實施方式】做進一步詳細具體的說明。
[0023] 圖1掲示了本發(fā)明的電文異步處理方法的流程圖。
[0024] 圖2掲示了本發(fā)明的電文異步處理裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[00巧]本發(fā)明提出的電文異步處理是WJava消息服務(wù)(JavaMessagingService,JMS) 為基礎(chǔ),JMS是化va平臺上有關(guān)面向消息中間件(MOM)的技術(shù)規(guī)范,它便于消息系統(tǒng)中的 化va應(yīng)用程序進行消息交換,并且通過提供標準的產(chǎn)生、發(fā)送、接收消息的接口簡化企業(yè)應(yīng) 用的開發(fā)。
[0026] 參考圖1所示,本發(fā)明提出一種電文異步處理方法,包括如下的步驟:
[0027] a)接收電文發(fā)送請求。
[0028] b)判斷電文發(fā)送方式是否為異步發(fā)送,如果判斷電文發(fā)送方式為異步發(fā)送,則轉(zhuǎn) 到步驟C),如果判斷電文發(fā)送方式為非異步發(fā)送,則轉(zhuǎn)到步驟e)。在一個實施例中,步驟b) 包括調(diào)用JMS模塊,由JMS模塊判斷電文發(fā)送方式是否為異步發(fā)送。
[0029] C)由電文生成化va消息服務(wù)(JMS)隊列。在一個實施例中,步驟C)包括調(diào)用化va 命名和目錄接口(JNDI),由JNDI生成JMS隊列工廠類,再通過JMS隊列工廠類由電文生成 JMS隊列。
[0030]d)調(diào)用隊列管理器W異步方式發(fā)送JMS隊列。
[0031]e)調(diào)用電文實現(xiàn)類發(fā)送電文。
[0032] 在類層次結(jié)構(gòu)圖中,JMS分為兩種模型:點到點(P2P)模型和發(fā)布/訂閱(Pub/ Sub)模型。都通過Java命名和目錄接口(JavaNamingandDirectoryInte;rface,JNDI) 獲得工廠類(FactcxryClass),由工廠類創(chuàng)建連接類(ConnectionClass),然后由連接類生 成每一個隊列或者主題的會話(Session),然后再生成W下的各個要素:隊列(Queue)、發(fā) 送者(QueueSender)或者主題發(fā)布者(TopicPublisher)、接收者(QueueReceiver)或主 題訂閱者(TopicSubscriber)。
[0033] 下面介紹實現(xiàn)本發(fā)明的電文異步處理方法的代碼示例,該段代碼示例實現(xiàn)如下的 流程:
[0034] 接收電文發(fā)送請求,調(diào)用JMS服務(wù)模塊,JMS服務(wù)模塊判斷是否異步方式。對 于非異步方式直接調(diào)用電文實現(xiàn)類進行電文發(fā)送。對于異步方式,調(diào)用JNDI生成JMS QueueFactory類,生成具體的JMS隊列信息,并將隊列信息發(fā)送給隊列管理模塊(Queue Manager),同時接收隊列管理模塊(QueueManager)的隊列管理請求并作相應(yīng)處理。[003引示例代碼如下:
[0036]
【主權(quán)項】
1. 一種電文異步處理方法,其特征在于,包括: a) 接收電文發(fā)送請求; b) 判斷電文發(fā)送方式是否為異步發(fā)送,如果判斷電文發(fā)送方式為異步發(fā)送,則轉(zhuǎn)到步 驟c),如果判斷電文發(fā)送方式為非異步發(fā)送,則轉(zhuǎn)到步驟e); c) 由電文生成Java消息服務(wù)(JMS)隊列; d) 調(diào)用隊列管理器以異步方式發(fā)送JMS隊列; e) 調(diào)用電文實現(xiàn)類發(fā)送電文。
2. 如權(quán)利要求1所述的電文異步處理方法,其特征在于,所述步驟b)包括調(diào)用JMS模 塊,由JMS模塊判斷電文發(fā)送方式是否為異步發(fā)送。
3. 如權(quán)利要求1所述的電文異步處理方法,其特征在于,所述步驟c)包括調(diào)用Java命 名和目錄接口(JNDI ),由JNDI生成JMS隊列工廠類,再通過JMS隊列工廠類由電文生成JMS 隊列。
4. 一種電文異步處理裝置,其特征在于,包括: Java消息服務(wù)(JMS)模塊,接收電文發(fā)送請求并判斷電文發(fā)送方式是否為異步發(fā)送; 隊列生成器,如果JMS模塊判斷電文發(fā)送方式為異步發(fā)送,則隊列生成器由電文生成 JMS隊列; 電文發(fā)送器,如果JMS模塊判斷電文發(fā)送方式為異步發(fā)送,則電文發(fā)送器調(diào)用隊列管 理器以異步方式發(fā)送所述JMS隊列,如果JMS模塊判斷電文發(fā)送方式為非異步發(fā)送,則電文 發(fā)送器調(diào)用電文實現(xiàn)類發(fā)送電文。
5. 如權(quán)利要求4所述的電文異步處理裝置,其特征在于,所述隊列生成器調(diào)用Java命 名和目錄接口(JNDI ),由JNDI生成JMS隊列工廠類,再通過JMS隊列工廠類由電文生成JMS 隊列。
【專利摘要】本發(fā)明揭示了一種電文異步處理方法,包括如下的步驟:a)接收電文發(fā)送請求;b)判斷電文發(fā)送方式是否為異步發(fā)送,如果判斷電文發(fā)送方式為異步發(fā)送,則轉(zhuǎn)到步驟c),如果判斷電文發(fā)送方式為非異步發(fā)送,則轉(zhuǎn)到步驟e);c)由電文生成Java消息服務(wù)(JMS)隊列;d)調(diào)用隊列管理器以異步方式發(fā)送JMS隊列;e)調(diào)用電文實現(xiàn)類發(fā)送電文。本發(fā)明還提出一種電文異步處理裝置。本發(fā)明能夠在各個子系統(tǒng)之間進行電文的異步傳輸和處理,解決了接口實時通訊的缺陷,提高系統(tǒng)健壯性,并且不能妨礙接口傳輸?shù)某晒β省?br>【IPC分類】G06F9-45
【公開號】CN104866367
【申請?zhí)枴緾N201410060840
【發(fā)明人】舒暢, 王莘, 高山, 許磊, 蔣卓婕, 甘鴻琨, 張順, 干湘君
【申請人】上海寶鋼國際經(jīng)濟貿(mào)易有限公司
【公開日】2015年8月26日
【申請日】2014年2月24日