[發(fā)明專利]不同任務遍歷大量共享數(shù)據(jù)的高效處理方法及系統(tǒng)在審
| 申請?zhí)枺?/td> | 201611087441.5 | 申請日: | 2016-12-01 |
| 公開(公告)號: | CN106844020A | 公開(公告)日: | 2017-06-13 |
| 發(fā)明(設計)人: | 王序東 | 申請(專利權(quán))人: | 明博教育科技股份有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/50 |
| 代理公司: | 北京天悅專利代理事務所(普通合伙)11311 | 代理人: | 任曉航,于春洋 |
| 地址: | 100085 北京市海淀區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 不同 任務 遍歷 大量 共享 數(shù)據(jù) 高效 處理 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明屬于數(shù)字化處理技術(shù)領(lǐng)域,具體涉及一種不同任務遍歷大量共享數(shù)據(jù)的高效處理方法及系統(tǒng)。
背景技術(shù)
目前在很多應用開發(fā)中,多處業(yè)務要對共享數(shù)據(jù)根據(jù)一定的規(guī)則進行刪除、增加等操作處理。當多線程對共享數(shù)據(jù)進行操作處理時,為了保證數(shù)據(jù)的安全性,一般來說,多任務無法對共享數(shù)據(jù)進行同時操作,只能等待一個任務對共享數(shù)據(jù)處理完畢后,下一個任務才能接著開始處理相同的共享數(shù)據(jù),依次類推。
在某些應用場景中,由于任務很多,共享數(shù)據(jù)量非常巨大,一個任務要處理完畢所有共享數(shù)據(jù)需要的時間較長,這就使得下一個任務處理相同共享數(shù)據(jù)時需要等待較長的時間,甚至在下一個任務還沒能等到處理共享數(shù)據(jù)的時候,再下一個任務也已經(jīng)進入排隊等待中,這種多任務對共享數(shù)據(jù)的處理方法不僅效率低下,甚至有可能導致程序服務宕機。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的缺陷,提供一種不同任務遍歷大量共享數(shù)據(jù)的處理方法及系統(tǒng),使得多個任務同時處理同一份共享數(shù)據(jù)的不同段,以實現(xiàn)多任務對同一大共享數(shù)據(jù)的高效操作處理。
本發(fā)明的技術(shù)方案如下:一種不同任務遍歷大量共享數(shù)據(jù)的高效處理方法,包括如下步驟:
(1)把共享數(shù)據(jù)拆分成若干個碎單元,并建立碎單元管理模塊;
(2)任務A在對所述共享數(shù)據(jù)進行操作之前,首先通過碎單元管理模塊獲取碎單元的總數(shù)量;
(3)任務A隨機取得一個碎單元的編號,并向所述碎單元管理模塊請求對此編號的碎單元數(shù)據(jù)進行操作;
(4)所述碎單元管理模塊查看相應編號的碎單元狀態(tài),并判斷任務A是否能對該碎單元進行操作處理;
(5)任務A收到碎單元管理模塊的判斷信息后,根據(jù)所述判斷信息確定是對當前編號的碎單元數(shù)據(jù)進行處理,還是重新隨機請求一個新的碎單元編號;如果需要重新隨機請求一個新的碎單元編號,則返回步驟(3);
(6)任務A對當前能夠處理的碎單元數(shù)據(jù)完成操作處理后,從獲取的碎單元的總數(shù)量中刪除該碎單元的編號,并通知所述碎單元管理模塊該編號的碎單元中數(shù)據(jù)已經(jīng)處理完畢;碎單元管理模塊對該編號的碎單元的狀態(tài)信息進行更新;
(7)任務A更新未處理的碎單元的總數(shù)量,返回步驟(3),進行循環(huán)操作,直至完成整個共享數(shù)據(jù)的處理。
進一步,如上所述的不同任務遍歷大量共享數(shù)據(jù)的高效處理方法,步驟(4)中所述碎單元管理模塊查看相應編號的碎單元狀態(tài),確定是否有其他任務在操作此編號的碎單元數(shù)據(jù),若此編號的碎單元數(shù)據(jù)未有任務處理,則把該碎單元狀態(tài)改為任務占用,把數(shù)據(jù)操作權(quán)限交給任務A處理;如果此碎單元是被占用狀態(tài),則通知任務A該碎單元數(shù)據(jù)被其他任務占用。
更進一步,步驟(5)中如果任務A收到碎單元管理模塊返回的判斷信息顯示有其他任務正在對相應編號的碎單元數(shù)據(jù)進行占用,則重新隨機請求一個新的碎單元編號。
進一步,如上所述的不同任務遍歷大量共享數(shù)據(jù)的高效處理方法,其中,如果步驟(7)中任務A未處理的碎單元的總數(shù)量小于設定值(比如10,建議5),隨機取得一個碎單元編號向碎單元管理模塊發(fā)出數(shù)據(jù)處理請求,碎單元管理模塊返回信息顯示此編號的碎單元數(shù)據(jù)處于其他任務占用中,則延遲一段時間(根據(jù)情況而定,一般為1-3秒)再隨機取得一個編號向碎單元管理模塊發(fā)出請求。
進一步,如上所述的不同任務遍歷大量共享數(shù)據(jù)的高效處理方法,其中,多個任務同時進行所述步驟(2)-(7)的操作。
進一步,如上所述的不同任務遍歷大量共享數(shù)據(jù)的高效處理方法,其中,如果任務B向碎單元管理模塊發(fā)送的操作請求不包含碎單元編號,則表明任務B向碎單元管理模塊請求共享數(shù)據(jù)增加,此時,碎單元管理模塊查找處于未占用狀態(tài)數(shù)據(jù)總量最少的碎單元設置任務占用狀態(tài),并把此碎單元交給任務B操作,任務B完成共享數(shù)據(jù)增加操作后,通知碎單元管理模塊操作完畢,碎單元管理模塊接到指令后,把此碎單元狀態(tài)該為未占用狀態(tài),并更新此碎單元信息,便于其他任務對該數(shù)據(jù)進行操作。
一種不同任務遍歷大量共享數(shù)據(jù)的高效處理系統(tǒng),包括碎單元管理模塊和若干個任務模塊,所述的碎單元管理模塊把共享數(shù)據(jù)拆分成若干個碎單元,對碎單元進行增刪,并對每個碎單元進行編號,保存碎單元的信息;所述的若干個任務模塊能夠同時對不同的碎單元數(shù)據(jù)進行操作處理;碎單元管理模塊根據(jù)各任務模塊對不同碎單元數(shù)據(jù)的處理結(jié)果更改碎單元信息,并只允許任務模塊對狀態(tài)為未有任務處理的碎單元進行操作處理。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于明博教育科技股份有限公司,未經(jīng)明博教育科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611087441.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:內(nèi)凹異型預焙陽極塊
- 下一篇:一種嬰兒睡覺護理床





