[發(fā)明專利]基于生產(chǎn)者消費(fèi)者模型的數(shù)據(jù)處理方法、系統(tǒng)及存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 202010317048.0 | 申請(qǐng)日: | 2020-04-21 |
| 公開(公告)號(hào): | CN111208985B | 公開(公告)日: | 2020-07-28 |
| 發(fā)明(設(shè)計(jì))人: | 趙熙 | 申請(qǐng)(專利權(quán))人: | 南京云信達(dá)科技有限公司 |
| 主分類號(hào): | G06F8/20 | 分類號(hào): | G06F8/20;G06F9/4401;G06F9/54 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 210000 江蘇省南京市江北*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 生產(chǎn)者 消費(fèi)者 模型 數(shù)據(jù)處理 方法 系統(tǒng) 存儲(chǔ) 介質(zhì) | ||
1.一種基于生產(chǎn)者消費(fèi)者模型的數(shù)據(jù)處理方法,其特征在于:建立生產(chǎn)者消費(fèi)者模型對(duì)數(shù)據(jù)進(jìn)行處理,其中,根據(jù)消費(fèi)者的數(shù)量生成環(huán)狀緩沖區(qū),環(huán)狀緩沖區(qū)中單元數(shù)量與消費(fèi)者數(shù)量相同,環(huán)狀緩沖區(qū)中每個(gè)單元用于存放每個(gè)消費(fèi)者對(duì)應(yīng)的數(shù)據(jù)隊(duì)列的地址;消費(fèi)者中包括一個(gè)哨兵消費(fèi)者,所述哨兵消費(fèi)者輪詢是否有全局的可處理數(shù)量,如果有全局的可處理數(shù)量,哨兵消費(fèi)者喚醒其他消費(fèi)者,其他消費(fèi)者被喚醒后則處理對(duì)應(yīng)數(shù)據(jù)隊(duì)列中的數(shù)據(jù),每處理一個(gè)數(shù)據(jù),全局的可處理數(shù)量自減,直到全局的可處理數(shù)量小于閾值,其他消費(fèi)者進(jìn)入休眠狀態(tài),哨兵消費(fèi)者回到輪詢步驟;生產(chǎn)者產(chǎn)生數(shù)據(jù)后平均分配到每個(gè)消費(fèi)者對(duì)應(yīng)的數(shù)據(jù)隊(duì)列中,每產(chǎn)生一個(gè)數(shù)據(jù),全局的可處理數(shù)量自增,數(shù)據(jù)產(chǎn)生總量自增。
2.根據(jù)權(quán)利要求1所述的基于生產(chǎn)者消費(fèi)者模型的數(shù)據(jù)處理方法,其特征在于:所述每個(gè)消費(fèi)者對(duì)應(yīng)的數(shù)據(jù)隊(duì)列為無鎖隊(duì)列。
3.根據(jù)權(quán)利要求1所述的基于生產(chǎn)者消費(fèi)者模型的數(shù)據(jù)處理方法,其特征在于:所述生產(chǎn)者根據(jù)數(shù)據(jù)產(chǎn)生總量與消費(fèi)者數(shù)量之間求模運(yùn)算得到產(chǎn)生的數(shù)據(jù)即將存放到的數(shù)據(jù)隊(duì)列的編號(hào)。
4.一種基于生產(chǎn)者消費(fèi)者模型的數(shù)據(jù)處理系統(tǒng),其特征在于:包括處理單元、存儲(chǔ)單元和緩存單元;所述存儲(chǔ)單元用于存儲(chǔ)數(shù)據(jù);所述處理單元用于將產(chǎn)生的數(shù)據(jù)存入存儲(chǔ)單元,并處理存儲(chǔ)單元中存儲(chǔ)的數(shù)據(jù);處理單元中包括消費(fèi)者處理模塊和生產(chǎn)者處理模塊,消費(fèi)者處理模塊中包括多個(gè)消費(fèi)者,所述緩存單元中根據(jù)消費(fèi)者的數(shù)量生成環(huán)狀緩沖區(qū),環(huán)狀緩沖區(qū)中單元數(shù)量與消費(fèi)者數(shù)量相同,環(huán)狀緩沖區(qū)中每個(gè)單元用于存放每個(gè)消費(fèi)者對(duì)應(yīng)的數(shù)據(jù)隊(duì)列的地址;消費(fèi)者中包括一個(gè)哨兵消費(fèi)者,所述哨兵消費(fèi)者輪詢是否有全局的可處理數(shù)量,如果有全局的可處理數(shù)量,哨兵消費(fèi)者喚醒其他消費(fèi)者,其他消費(fèi)者被喚醒后則處理對(duì)應(yīng)數(shù)據(jù)隊(duì)列中的數(shù)據(jù),每處理一個(gè)數(shù)據(jù),全局的可處理數(shù)量自減,直到全局的可處理數(shù)量小于閾值,其他消費(fèi)者進(jìn)入休眠狀態(tài),哨兵消費(fèi)者輪詢是否有全局的可處理數(shù)量,如果沒有全局的可處理數(shù)量,則哨兵消費(fèi)者一直輪詢;生產(chǎn)者處理模塊中包括至少一個(gè)生產(chǎn)者,所述生產(chǎn)者產(chǎn)生數(shù)據(jù)后平均分配到每個(gè)消費(fèi)者對(duì)應(yīng)的數(shù)據(jù)隊(duì)列中,每產(chǎn)生一個(gè)數(shù)據(jù),全局的可處理數(shù)量自增,數(shù)據(jù)產(chǎn)生總量自增。
5.根據(jù)權(quán)利要求4所述的基于生產(chǎn)者消費(fèi)者模型的數(shù)據(jù)處理系統(tǒng),其特征在于:所 述生產(chǎn)者根據(jù)數(shù)據(jù)產(chǎn)生總量與消費(fèi)者數(shù)量之間求模運(yùn)算得到產(chǎn)生的數(shù)據(jù)即將存放到的數(shù)據(jù)隊(duì)列的編號(hào)。
6.根據(jù)權(quán)利要求4所述的基于生產(chǎn)者消費(fèi)者模型的數(shù)據(jù)處理系統(tǒng),其特征在于:所述每個(gè)消費(fèi)者對(duì)應(yīng)的數(shù)據(jù)隊(duì)列為無鎖隊(duì)列;待處理的數(shù)據(jù)的內(nèi)存地址插入無鎖隊(duì)列的頭部。
7.一種存儲(chǔ)介質(zhì),其特征在于:所述存儲(chǔ)介質(zhì)上保存有程序,所述程序被運(yùn)行時(shí)執(zhí)行權(quán)利要求1~3中任意一項(xiàng)所述的基于生產(chǎn)者消費(fèi)者模型的數(shù)據(jù)處理方法。
8.一種處理器,其特征在于:所述處理器用于運(yùn)行程序,其中,所述程序被運(yùn)行時(shí)執(zhí)行權(quán)利要求1~3中任意一項(xiàng)所述的基于生產(chǎn)者消費(fèi)者模型的數(shù)據(jù)處理方法。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京云信達(dá)科技有限公司,未經(jīng)南京云信達(dá)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010317048.0/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 用于交換數(shù)據(jù)的方法和系統(tǒng)
- 零數(shù)據(jù)丟失傳輸協(xié)議、用于數(shù)據(jù)同步的方法、系統(tǒng)和介質(zhì)
- 在租賃代理系統(tǒng)當(dāng)中的生產(chǎn)者系統(tǒng)劃分
- 在租賃代理系統(tǒng)當(dāng)中的生產(chǎn)者系統(tǒng)劃分
- 一種數(shù)據(jù)爬取方法及裝置
- 一種生產(chǎn)者消費(fèi)者模式優(yōu)化方法和系統(tǒng)
- 一種面向連接的命名數(shù)據(jù)網(wǎng)絡(luò)數(shù)據(jù)傳輸方法
- 一種區(qū)塊鏈非生產(chǎn)者獎(jiǎng)勵(lì)系統(tǒng)
- 消息處理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種視圖層組件替換方法和裝置





