[發(fā)明專利]一種基于多線程的消息處理方法及裝置有效
| 申請?zhí)枺?/td> | 201710112550.6 | 申請日: | 2017-02-28 |
| 公開(公告)號: | CN108509257B | 公開(公告)日: | 2022-07-22 |
| 發(fā)明(設(shè)計)人: | 沈林杰;閆猛;范浩雍;李安平 | 申請(專利權(quán))人: | 蘇寧易購集團(tuán)股份有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/54;G06Q10/08 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 210000 江蘇省*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 多線程 消息 處理 方法 裝置 | ||
1.一種基于多線程的消息處理方法,其特征在于,包括:
接收嵌入式系統(tǒng)發(fā)送的消息,根據(jù)對所述消息的解析結(jié)果,生成報文,其中,所生成的報文對應(yīng)待處理事務(wù),所述待處理事務(wù)包括了至少一個步驟;
將所生成的報文加入線程安全隊列,其中,所述線程安全隊列包括指定大小的數(shù)據(jù)公共訪問區(qū),用于各線程訪問所述線程安全隊列中的數(shù)據(jù);
從所述線程安全隊列中提取報文,并加入當(dāng)前空閑的線程進(jìn)行處理,其中,一個線程用于處理所述待處理事務(wù)所包括的一個步驟;
將所得到的處理結(jié)果向所述嵌入式系統(tǒng)發(fā)送;
線程的數(shù)量為所述待處理事務(wù)的步驟數(shù)量的整數(shù)倍,一個步驟由至少一個線程處理;
還包括:針對每一條接收到的消息生成報文,若線程處理其中一個步驟時需要讀取另一個步驟的處理結(jié)果,則從所述線程安全隊列中查詢是否存在所述另一個步驟的處理結(jié)果;若是則從所述線程安全隊列中讀取所述另一個步驟的處理結(jié)果;
若當(dāng)前在所述線程安全隊列中無法讀取所述另一個步驟的處理結(jié)果,則處理所述其中一個步驟的線程掛起,直至從所述線程安全隊列中成功讀取所述另一個步驟的處理結(jié)果;每個工作線程間不進(jìn)行數(shù)據(jù)交互和內(nèi)部通訊,所有的數(shù)據(jù)交互都通過線程安全隊列中的數(shù)據(jù)實現(xiàn);
其中,訂單作為一個事務(wù),消息進(jìn)入wcs系統(tǒng)后,系統(tǒng)為揀選、打包、分揀線程各自添加了一個線程作業(yè);
還包括:
接收所述嵌入式系統(tǒng)并發(fā)發(fā)送的至少2條消息;
針對每一條接收到的消息生成報文,并將對應(yīng)所生成報文的步驟,分別加入各個線程的處理隊列;
還包括:
針對每一條接收到的消息生成報文,一個步驟被線程處理完畢后,將這一個步驟的處理結(jié)果存入所述線程安全隊列。
2.一種基于多線程的消息處理裝置,其特征在于,包括:
接收模塊,用于接收嵌入式系統(tǒng)發(fā)送的消息,根據(jù)對所述消息的解析結(jié)果,生成報文,其中,所生成的報文對應(yīng)待處理事務(wù),所述待處理事務(wù)包括了至少一個步驟;
隊列模塊,用于將所生成的報文加入線程安全隊列,其中,所述線程安全隊列包括指定大小的數(shù)據(jù)公共訪問區(qū),用于各線程訪問所述線程安全隊列中的數(shù)據(jù);
處理模塊,用于從所述線程安全隊列中提取報文,并加入當(dāng)前空閑的線程進(jìn)行處理,其中,一個線程用于處理所述待處理事務(wù)所包括的一個步驟;
發(fā)送模塊,用于將所得到的處理結(jié)果向所述嵌入式系統(tǒng)發(fā)送;
線程的數(shù)量為所述待處理事務(wù)的步驟數(shù)量的整數(shù)倍,一個步驟由至少一個線程處理;
所述處理模塊,還用于針對每一條接收到的消息生成報文,若線程處理其中一個步驟時需要讀取另一個步驟的處理結(jié)果,則通過所述隊列模塊從所述線程安全隊列中查詢是否存在所述另一個步驟的處理結(jié)果;若是則從所述線程安全隊列中讀取所述另一個步驟的處理結(jié)果;若當(dāng)前在所述線程安全隊列中無法讀取所述另一個步驟的處理結(jié)果,則處理所述其中一個步驟的線程掛起,直至從所述線程安全隊列中成功讀取所述另一個步驟的處理結(jié)果;
每個工作線程間不進(jìn)行數(shù)據(jù)交互和內(nèi)部通訊,所有的數(shù)據(jù)交互都通過線程安全隊列中的數(shù)據(jù)實現(xiàn);
其中,訂單作為一個事務(wù),消息進(jìn)入wcs系統(tǒng)后,系統(tǒng)為揀選、打包、分揀線程各自添加了一個線程作業(yè);
所述接收模塊,具體用于接收所述嵌入式系統(tǒng)并發(fā)發(fā)送的至少2條消息;
所述處理模塊,具體用于針對每一條接收到的消息生成報文,并將對應(yīng)所生成報文的步驟,分別加入各個線程的處理隊列;
其中,線程的數(shù)量為所述待處理事務(wù)的步驟數(shù)量的整數(shù)倍,一個步驟由至少一個線程處理;
所述處理模塊,還用于針對每一條接收到的消息生成報文,一個步驟被線程處理完畢后,將這一個步驟的處理結(jié)果存入所述線程安全隊列。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于蘇寧易購集團(tuán)股份有限公司,未經(jīng)蘇寧易購集團(tuán)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710112550.6/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 多線程應(yīng)用系統(tǒng)的異常處理方法和異常處理裝置
- 一種面向片上網(wǎng)絡(luò)的多線程調(diào)度實現(xiàn)方法
- 基于計算機(jī)多線程多核顯微鏡細(xì)胞圖像快速掃描處理方法
- 一種基于同步鎖的多線程處理方法、終端以及存儲介質(zhì)
- 多線程并發(fā)處理系統(tǒng)及方法
- 海外控股估值流程控制方法、裝置、計算機(jī)設(shè)備及存儲介質(zhì)
- 讀數(shù)方法、電子裝置、計算機(jī)設(shè)備及存儲介質(zhì)
- 一種基于云平臺多線程調(diào)度的方法、系統(tǒng)、設(shè)備及介質(zhì)
- 一種基于云平臺的前端多線程調(diào)度方法和系統(tǒng)
- 多線程調(diào)度方法、裝置、電子設(shè)備及存儲介質(zhì)





