[發明專利]高并發通用支付方法有效
| 申請號: | 201410262934.2 | 申請日: | 2014-06-13 |
| 公開(公告)號: | CN104050564B | 公開(公告)日: | 2017-11-14 |
| 發明(設計)人: | 封維波;楊超 | 申請(專利權)人: | 中國民航信息網絡股份有限公司 |
| 主分類號: | G06F17/00 | 分類號: | G06F17/00 |
| 代理公司: | 北京瑞思知識產權代理事務所(普通合伙)11341 | 代理人: | 李濤,袁紅紅 |
| 地址: | 100010 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 并發 通用 支付 方法 | ||
1.一種高并發通用支付方法,其特征在于,所述方法包括:
步驟1:當系統入口服務接收到同步請求時,生成用于保存所述同步請求的結構體TransInfo對象,并向所述TransInfo對象分配序列號,然后將所述序列號保存于TransInfo對象中;
步驟2:將所述TransInfo對象放入TransInfo處理隊列;
步驟3:將所述TransInfo對象的序列號作為參數調用tpforward系統入口服務,從而進入系統入口服務的請求隊列,等待處理,并將所述TransInfo對象的序列號保存在所述tpforward的參數中;
步驟4:構建發送線程以遍歷所述TransInfo處理隊列,并根據所述TransInfo處理隊列中的TransInfo對象的狀態進行處理;
步驟5:構建接收線程以遍歷所述TransInfo處理隊列,并將外部系統服務返回的數據放入所述TransInfo處理隊列中對應的TransInfo對象中,并相應修改所述TransInfo對象的狀態為已接收;
步驟6:系統入口服務調用自身的tpforward請求到達時,提取所述tpforward請求中保存的TransInfo對象的序列號,從TransInfo隊列中找到對應的TransInfo對象,如果所述對應的TransInfo對象的狀態為已接收,則將接收到的結果返回請求tpreturn給外部系統,并將所述對應的TransInfo對象的狀態更新為無效,結束一次外部請求過程。
2.根據權利要求1所述的高并發通用支付方法,其特征在于,所述步驟4包括:刪除TransInfo處理隊列中狀態為無效的TransInfo對象;發送TransInfo處理隊列中狀態為發送前的TransInfo對象。
3.根據權利要求2所述的高并發通用支付方法,其特征在于,當TransInfo處理隊列為空時,所述發送線程會進行阻塞以等待新的TransInfo對象被放入所述TransInfo處理隊列中。
4.根據權利要求1所述的高并發通用支付方法,其特征在于,所述方法還包括:將外部鏈路抽象為類Link,提供統一的調用接口,BSP驗證或者UATP的驗證的具體實現都從Link類派生,發送線程和接收線程中的發送和接收處理,都只依賴與Link接口,從而不用關心鏈路的具體實現。
5.根據權利要求4所述的高并發通用支付方法,其特征在于,所述方法還包括:將每種支付方式的業務處理代碼進行封裝,包括接收數據的解析,發送報文的組裝,數據庫的查詢更新操作;不同的支付方式有不同的處理要求,通過將不同的處理過程封裝為獨立的類,以統一的接口插入支付引擎,實現支付業務處理的可擴展性。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國民航信息網絡股份有限公司,未經中國民航信息網絡股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410262934.2/1.html,轉載請聲明來源鉆瓜專利網。





