[發(fā)明專利]并發(fā)模塊、業(yè)務(wù)系統(tǒng)、預(yù)裝配方法以及創(chuàng)建方法有效
| 申請?zhí)枺?/td> | 201410008811.6 | 申請日: | 2014-01-08 |
| 公開(公告)號: | CN104765638B | 公開(公告)日: | 2019-04-09 |
| 發(fā)明(設(shè)計)人: | 郭曦;林濤;張煒權(quán);卞建權(quán) | 申請(專利權(quán))人: | 攜程計算機技術(shù)(上海)有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 上海弼興律師事務(wù)所 31283 | 代理人: | 薛琦;呂一旻 |
| 地址: | 200335 上海市*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 并發(fā) 模塊 業(yè)務(wù) 系統(tǒng) 預(yù)裝 配方 以及 創(chuàng)建 方法 | ||
本發(fā)明提供一種并發(fā)模塊、業(yè)務(wù)系統(tǒng)、預(yù)裝配方法以及創(chuàng)建方法,并發(fā)模塊包括處理單元、并發(fā)隊列、若干預(yù)裝配單元、第一判斷單元和第二判斷單元;處理單元從數(shù)據(jù)源獲取數(shù)據(jù)加工處理,將生成的業(yè)務(wù)結(jié)果傳至并發(fā)隊列;第一判斷單元用于判斷業(yè)務(wù)結(jié)果的類型,將業(yè)務(wù)結(jié)果轉(zhuǎn)移至預(yù)存儲該類型的業(yè)務(wù)結(jié)果的預(yù)裝配單元;第二判斷單元用于判斷業(yè)務(wù)結(jié)果轉(zhuǎn)移至的預(yù)裝配單元中的業(yè)務(wù)結(jié)果是否已經(jīng)全部生成,若是則調(diào)用業(yè)務(wù)結(jié)果轉(zhuǎn)移至的預(yù)裝配單元對應(yīng)的排序函數(shù),使業(yè)務(wù)結(jié)果轉(zhuǎn)移至的預(yù)裝配單元中的所有業(yè)務(wù)結(jié)果按照對應(yīng)的排序函數(shù)進(jìn)行排序。本發(fā)明解除業(yè)務(wù)系統(tǒng)與并發(fā)代碼間的高耦合性,以便于并發(fā)模塊單獨調(diào)優(yōu),同時業(yè)務(wù)系統(tǒng)具有更好的擴展性和可維護(hù)性。
技術(shù)領(lǐng)域
本發(fā)明涉及高并發(fā)系統(tǒng)與業(yè)務(wù)系統(tǒng)間的通信,特別涉及一種并發(fā)模塊、業(yè)務(wù)系統(tǒng)、利用該并發(fā)模塊實現(xiàn)的預(yù)裝配方法以及利用該業(yè)務(wù)系統(tǒng)實現(xiàn)的創(chuàng)建方法。
背景技術(shù)
在高并發(fā)系統(tǒng)中,并發(fā)模塊所生成的業(yè)務(wù)結(jié)果通常是無序地放在并發(fā)數(shù)據(jù)結(jié)構(gòu)中,即不同類型的業(yè)務(wù)結(jié)果交錯地存放在同一個地方。而業(yè)務(wù)系統(tǒng)通常要求在滿足一定條件時,以一定的順序處理高并發(fā)系統(tǒng)生成的業(yè)務(wù)結(jié)果。一般地,業(yè)務(wù)系統(tǒng)會直接到并發(fā)模塊中去提取業(yè)務(wù)結(jié)果,再按一定的業(yè)務(wù)邏輯裝配起來。
這種方式存在兩個問題:業(yè)務(wù)系統(tǒng)的代碼需要與并發(fā)性打交道,容易引入錯誤;其次,過多的線程參與競爭并發(fā)數(shù)據(jù)結(jié)構(gòu),導(dǎo)致性能變差,不利于系統(tǒng)調(diào)優(yōu)。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是為了克服現(xiàn)有技術(shù)中高性能的業(yè)務(wù)系統(tǒng)直接處理高并發(fā)性操作,從而導(dǎo)致業(yè)務(wù)邏輯與高并發(fā)性邏輯互相影響、互相耦合的缺陷,提供一種并發(fā)模塊、業(yè)務(wù)系統(tǒng)、預(yù)裝配方法以及創(chuàng)建方法,解除業(yè)務(wù)系統(tǒng)與并發(fā)代碼之間的高耦合性,將高并發(fā)性代碼從業(yè)務(wù)系統(tǒng)中隔離出來,使得業(yè)務(wù)系統(tǒng)與并發(fā)模塊之間以松散形式耦合,這樣既有利于業(yè)務(wù)系統(tǒng)的未來擴展,也方便了對并發(fā)模塊的調(diào)優(yōu)。
本發(fā)明是通過下述技術(shù)方案來解決上述技術(shù)問題的:
本發(fā)明提供一種并發(fā)模塊,其包括一處理單元和一并發(fā)隊列,其特點在于,該并發(fā)模塊還包括若干預(yù)裝配單元、一第一判斷單元和一第二判斷單元,每一預(yù)裝配單元均對應(yīng)有唯一的識別信息和排序函數(shù),且不同的預(yù)裝配單元的識別信息互不相同,每一預(yù)裝配單元用于預(yù)存儲一唯一類型的業(yè)務(wù)結(jié)果且不同的預(yù)裝配單元預(yù)存儲的業(yè)務(wù)結(jié)果互不相同;
該處理單元用于從一數(shù)據(jù)源獲取數(shù)據(jù)進(jìn)行加工處理,并將生成的業(yè)務(wù)結(jié)果傳輸至該并發(fā)隊列;
該第一判斷單元用于判斷該業(yè)務(wù)結(jié)果的類型,并將該業(yè)務(wù)結(jié)果從該并發(fā)隊列轉(zhuǎn)移至預(yù)存儲該類型的業(yè)務(wù)結(jié)果的預(yù)裝配單元;
該第二判斷單元用于判斷該業(yè)務(wù)結(jié)果轉(zhuǎn)移至的預(yù)裝配單元中的業(yè)務(wù)結(jié)果是否已經(jīng)全部生成,若是則調(diào)用該業(yè)務(wù)結(jié)果轉(zhuǎn)移至的預(yù)裝配單元對應(yīng)的排序函數(shù),以使得該業(yè)務(wù)結(jié)果轉(zhuǎn)移至的預(yù)裝配單元中的所有業(yè)務(wù)結(jié)果按照該對應(yīng)的排序函數(shù)進(jìn)行排序。
在本方案中,并發(fā)模塊在內(nèi)部操作并發(fā)性,它不與實際的業(yè)務(wù)邏輯打交道,而只是把并發(fā)處理后得到的無序結(jié)果按業(yè)務(wù)系統(tǒng)的要求進(jìn)行排序、分類后返回給業(yè)務(wù)系統(tǒng),其內(nèi)部的并發(fā)性處理沿用普通的多線程和并發(fā)程序設(shè)計技術(shù)即可。
本發(fā)明還提供一種業(yè)務(wù)系統(tǒng),其特點在于,該業(yè)務(wù)系統(tǒng)包括一設(shè)置單元、一創(chuàng)建單元和一調(diào)用單元,該設(shè)置單元用于將業(yè)務(wù)結(jié)果劃分為若干類型,并每種類型設(shè)有對應(yīng)唯一的識別信息和排序函數(shù),且不同的類型的識別信息互不相同;
該創(chuàng)建單元用于將所有類型以及每一類型對應(yīng)的識別信息和排序函數(shù)的集合作為構(gòu)造函數(shù)的參數(shù)創(chuàng)建一并發(fā)模塊的實例,以使得該并發(fā)模塊根據(jù)該些類型創(chuàng)建相應(yīng)的預(yù)裝配單元;
該調(diào)用單元用于調(diào)用該并發(fā)模塊的輸出接口以等待業(yè)務(wù)結(jié)果的返回。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于攜程計算機技術(shù)(上海)有限公司,未經(jīng)攜程計算機技術(shù)(上海)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410008811.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種在有線智能網(wǎng)中實現(xiàn)直播業(yè)務(wù)的方法
- 業(yè)務(wù)路由方法、業(yè)務(wù)路由器、客戶端設(shè)備及業(yè)務(wù)網(wǎng)絡(luò)系統(tǒng)
- 一種移動業(yè)務(wù)消息路由的方法、系統(tǒng)和設(shè)備
- 業(yè)務(wù)處理方法、設(shè)備和系統(tǒng)
- 業(yè)務(wù)編排方法及裝置、業(yè)務(wù)發(fā)放方法及裝置
- 業(yè)務(wù)限流方法及業(yè)務(wù)限流裝置
- 一種信息推薦方法、裝置及存儲介質(zhì)
- 一種基于業(yè)務(wù)事件的頁面展示方法、裝置和電子設(shè)備
- 業(yè)務(wù)編排方法及裝置、業(yè)務(wù)發(fā)放方法及裝置
- 一種安全業(yè)務(wù)的定義、開發(fā)和執(zhí)行方法及系統(tǒng)





