• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    基于碰撞探測的行級鎖定集合實現(xiàn)裝置及方法制造方法及圖紙

    技術(shù)編號:10367293 閱讀:124 留言:0更新日期:2014-08-28 11:10
    本發(fā)明專利技術(shù)公開了一種基于碰撞探測的行級鎖定集合實現(xiàn)裝置及方法,涉及通信網(wǎng)傳輸設(shè)備與接入設(shè)備領(lǐng)域,該裝置包括鎖定記錄關(guān)鍵字集合和記錄集合,鎖定記錄關(guān)鍵字集合包括互斥鎖和關(guān)鍵字提取函數(shù),鎖定記錄關(guān)鍵字集合用于進行行級鎖定時,依據(jù)記錄關(guān)鍵字提取函數(shù)從需要鎖定的記錄中抽出關(guān)鍵字,將關(guān)鍵字插入到鎖定記錄關(guān)鍵字集合中;記錄集合是容納所有記錄的唯一性關(guān)聯(lián)容器,容器中的對象類型為記錄類型,容器的唯一性、排序依據(jù)為記錄中的關(guān)鍵字,而關(guān)鍵字由關(guān)鍵字提取函數(shù)在記錄中提取。本發(fā)明專利技術(shù)采取關(guān)鍵數(shù)據(jù)集合+輪詢探測的方式,在高并發(fā)條件下對集合進行高效訪問,集合中單條或多條記錄鎖定不影響全局操作。

    【技術(shù)實現(xiàn)步驟摘要】

    本專利技術(shù)涉及通信網(wǎng)傳輸設(shè)備與接入設(shè)備領(lǐng)域,具體是涉及一種。
    技術(shù)介紹
    現(xiàn)有的集合容器在處理對內(nèi)部某條記錄的并發(fā)操作場景時,如果要防止某一條記錄被修改,通常是對整個集合加互斥鎖,或者是加讀寫鎖。即使是后者,也會對全集進行鎖定,如果鎖定時間較長,則整個集合容器整體被鎖定的時間就隨之延長。往往當某一行記錄被鎖定,進而導(dǎo)致全集被鎖定,操作其他記錄(尤其是寫操作)受到影響,嚴重影響操作的效率。現(xiàn)有的另一種方法是對集合中每個對象持有一個鎖,但這種情況在集合中數(shù)據(jù)量非常龐大時,會迅速耗盡操作系統(tǒng)中對應(yīng)資源。總之,目前的集合中單條或多條記錄鎖定影響全局操作。
    技術(shù)實現(xiàn)思路
    本專利技術(shù)的目的是為了克服上述
    技術(shù)介紹
    的不足,提供一種,采取關(guān)鍵數(shù)據(jù)集合+輪詢探測的方式,在高并發(fā)條件下對集合進行高效訪問,集合中單條或多條記錄鎖定不影響全局操作。本專利技術(shù)提供一種基于碰撞探測的行級鎖定集合實現(xiàn)裝置,包括鎖定記錄關(guān)鍵字集合和記錄集合,所述鎖定記錄關(guān)鍵字集合包括互斥鎖和關(guān)鍵字提取函數(shù),互斥鎖是操作系統(tǒng)提供的常規(guī)互斥鎖;關(guān)鍵字提取函數(shù)是將記錄中的關(guān)鍵字抽取出來的功能函數(shù),由定義該集合的用戶自行定義;所述鎖定記錄關(guān)鍵字集合,用于:進行行級鎖定時,依據(jù)記錄關(guān)鍵字提取函數(shù)從需要鎖定的記錄中抽出關(guān)鍵字,將關(guān)鍵字插入到鎖定記錄關(guān)鍵字集合中;鎖定記錄關(guān)鍵字集合為有序且成員唯一的集合,具備插入相同記錄時返回錯誤的特性,該集合由需要行鎖定的記錄的關(guān)鍵字對象組成;鎖定記錄關(guān)鍵字由用戶定義;所述記錄集合是容納所有記錄的唯一性關(guān)聯(lián)容器,容器中的對象類型為記錄類型,容器的唯一性、排序依據(jù)為記錄中的關(guān)鍵字,而關(guān)鍵字由關(guān)鍵字提取函數(shù)在記錄中提取。在上述技術(shù)方案的基礎(chǔ)上,所述裝置對外提供的操作方式有:插入數(shù)據(jù)、刪除數(shù)據(jù)、查找數(shù)據(jù)、鎖定數(shù)據(jù)、解鎖數(shù)據(jù),在所述裝置的上述每一項操作中,均要對行鎖信息區(qū)域進行訪問,以獲取相應(yīng)的行鎖;在無法得到行鎖的情況下,等待若干毫秒,重新對行鎖信息區(qū)域進行訪問;在得到行鎖后,訪問相應(yīng)數(shù)據(jù);在成功刪除數(shù)據(jù)的同時,刪除行鎖信息。在上述技術(shù)方案的基礎(chǔ)上,所述裝置對裝置內(nèi)部的記錄都對應(yīng)存在一個關(guān)鍵字條目,對于記錄的增加、刪除、查找過程,都需要鎖定對應(yīng)的關(guān)鍵字,同時提供鎖定記錄以及解鎖的功能;鎖定關(guān)鍵字時,只需在鎖定記錄關(guān)鍵字集合中插入相應(yīng)數(shù)據(jù)。本專利技術(shù)還提供一種利用上述裝置實現(xiàn)的基于碰撞探測的行級鎖定集合實現(xiàn)方法,包括以下步驟:A、行鎖的加鎖:步驟101、當向所述裝置中鎖定指定記錄時,首先由關(guān)鍵字提取函數(shù)提取出關(guān)鍵字;步驟102、對關(guān)鍵字區(qū)域加鎖;步驟103、判斷加鎖是否成功,如果成功,則轉(zhuǎn)到步驟104 ;否則,轉(zhuǎn)到步驟108 ;步驟104、提取出關(guān)鍵字后,向鎖定記錄關(guān)鍵字集合插入該關(guān)鍵字,轉(zhuǎn)到步驟105 ;步驟105、對關(guān)鍵字區(qū)域解鎖,轉(zhuǎn)到步驟106 ;步驟106、操作記錄區(qū)域關(guān)鍵字對應(yīng)數(shù)據(jù),轉(zhuǎn)到步驟107 ;步驟107、返回成功,結(jié)束;步驟108、判斷失敗次數(shù)是否小于N次,N為正整數(shù),如果失敗次數(shù)小于N次,則轉(zhuǎn)到步驟109 ;否則,轉(zhuǎn)到步驟110 ;步驟109、休眠10毫秒,返回步驟102,嘗試加鎖;步驟110、如果失敗次數(shù)大于N次,則返回失敗,結(jié)束。在上述技術(shù)方案的基礎(chǔ)上,步驟110之后還包括以下步驟:B、行鎖的解鎖:步驟201、當向所述裝置中解鎖定指定記錄時,首先由記錄關(guān)鍵字提取函數(shù)提取出關(guān)鍵字;步驟202、對關(guān)鍵字區(qū)域加鎖;步驟203、判斷加鎖是否成功,如果成功,則轉(zhuǎn)到步驟204 ;否則,轉(zhuǎn)到步驟208 ;步驟204、提取出關(guān)鍵字后,判斷鎖定記錄關(guān)鍵字集合是否存在該關(guān)鍵字,如果存在,則轉(zhuǎn)到步驟205 ;如果不存在,則轉(zhuǎn)到步驟206 ;步驟205、刪除關(guān)鍵字區(qū)域?qū)?yīng)的關(guān)鍵字,轉(zhuǎn)到步驟206 ;步驟206、對關(guān)鍵字區(qū)域解鎖,轉(zhuǎn)到步驟207 ;步驟207、返回成功,結(jié)束;步驟208、判斷失敗次數(shù)是否小于N次,N為正整數(shù),如果失敗次數(shù)小于N次,則轉(zhuǎn)到步驟209 ;否則,轉(zhuǎn)到步驟210 ;步驟209、休眠10毫秒,返回步驟202 ;步驟210、如果失敗次數(shù)大于N次,則返回失敗,結(jié)束。在上述技術(shù)方案的基礎(chǔ)上,步驟210之后還包括以下步驟:對于容器的所有操作:插入記錄、刪除記錄、查詢記錄,都是先獲取行鎖,然后再鎖定記錄區(qū)域,對記錄區(qū)域進行操作,具體步驟如下:步驟301:發(fā)起操作;步驟302:對操作的記錄在容器中加行鎖;步驟303:判斷加鎖是否成功,如果加鎖成功,則轉(zhuǎn)到步驟304;否則,轉(zhuǎn)到步驟309 ;步驟304:對操作的記錄區(qū)域加鎖,轉(zhuǎn)到步驟305 ;步驟305:對容器中的記錄區(qū)域執(zhí)行請求的操作,轉(zhuǎn)到步驟306 ;步驟306:對操作的記錄區(qū)域解鎖,轉(zhuǎn)到步驟307 ;步驟307:解除行鎖,轉(zhuǎn)到步驟308 ;步驟308:返回成功,結(jié)束;步驟309:返回失敗,結(jié)束。與現(xiàn)有技術(shù)相比,本專利技術(shù)的優(yōu)點如下:本專利技術(shù)采取關(guān)鍵數(shù)據(jù)集合+輪詢探測的方式,在高并發(fā)條件下對集合進行高效訪問,集合中單條或多條記錄鎖定不影響全局操作。【附圖說明】圖1是本專利技術(shù)實施例中基于碰撞探測的行級鎖定集合實現(xiàn)裝置的結(jié)構(gòu)框圖。圖2為本專利技術(shù)實施例中行鎖的加鎖的流程圖。圖3為本專利技術(shù)實施例中行鎖的解鎖的流程圖。圖4為本專利技術(shù)實施例中容器記錄操作與行鎖關(guān)系的示意圖。【具體實施方式】下面結(jié)合附圖及具體實施例對本專利技術(shù)作進一步的詳細描述。參見圖1所示,本專利技術(shù)實施例提供一種基于碰撞探測的行級鎖定集合實現(xiàn)裝置,包括鎖定記錄關(guān)鍵字集合和記錄集合,鎖定記錄關(guān)鍵字集合包括互斥鎖和關(guān)鍵字提取函數(shù),互斥鎖是操作系統(tǒng)提供的常規(guī)的互斥鎖;關(guān)鍵字提取函數(shù)是將記錄中的關(guān)鍵字抽取出來的功能函數(shù),由定義該集合的用戶自行定義,具備通用性;鎖定記錄關(guān)鍵字集合,用于:進行行級鎖定時,依據(jù)記錄關(guān)鍵字提取函數(shù)從需要鎖定的記錄中抽出關(guān)鍵字,將關(guān)鍵字插入到鎖定記錄關(guān)鍵字集合中;鎖定記錄關(guān)鍵字集合為有序且成員唯一的集合,具備插入相同記錄時返回錯誤的特性,該集合由需要行鎖定的記錄的關(guān)鍵字對象組成;鎖定記錄關(guān)鍵字由用戶定義,必須實現(xiàn)關(guān)鍵字之間的小于比較方法;記錄集合是容納所有記錄的唯一性關(guān)聯(lián)容器,容器中的對象類型為記錄類型,容器的唯一性、排序依據(jù)為記錄中的關(guān)鍵字,而關(guān)鍵字由關(guān)鍵字提取函數(shù)在記錄中提取。本裝置對外提供的操作方式有:插入數(shù)據(jù)、刪除數(shù)據(jù)、查找數(shù)據(jù)、鎖定數(shù)據(jù)、解鎖數(shù)據(jù)。在本裝置的上述每一項操作中,對行鎖信息區(qū)域都要進行訪問,以獲取相應(yīng)的行鎖;在無法得到行鎖的情況下,等待若干毫秒,重新對行鎖信息區(qū)域進行訪問;在得到行鎖后,訪問相應(yīng)數(shù)據(jù)。在成功刪除數(shù)據(jù)的同時,刪除行鎖信息。本裝置對裝置內(nèi)部的記錄都對應(yīng)存在一個關(guān)鍵字條目,對于記錄的增力口、刪除、查找過程都需要鎖定對應(yīng)的關(guān)鍵字,同時提供鎖定記錄以及解鎖的功能。這樣保證外部需要持有保持不變的數(shù)據(jù),只需要通過持有對應(yīng)關(guān)鍵字,就能夠保證相應(yīng)數(shù)據(jù)被鎖定,不會被修改、刪除、讀取,保證數(shù)據(jù)的一致性。鎖定關(guān)鍵字時,只需要在鎖定記錄關(guān)鍵字集合中插入相應(yīng)數(shù)據(jù),而不需要額外的系統(tǒng)資源,能夠保證提供無限制數(shù)量的行鎖,同時保證不同關(guān)鍵字記錄的操作互不影響。本專利技術(shù)實施例提供一種利用上述裝置實現(xiàn)的基于碰撞探測的行級鎖定集合實現(xiàn)方法,包括以下步驟:A、參見圖2所示,行鎖的加鎖:步驟101、當向本裝置中鎖定指定記錄時本文檔來自技高網(wǎng)...
    <a  title="基于碰撞探測的行級鎖定集合實現(xiàn)裝置及方法原文來自X技術(shù)">基于碰撞探測的行級鎖定集合實現(xiàn)裝置及方法</a>

    【技術(shù)保護點】
    一種基于碰撞探測的行級鎖定集合實現(xiàn)裝置,其特征在于:包括鎖定記錄關(guān)鍵字集合和記錄集合,所述鎖定記錄關(guān)鍵字集合包括互斥鎖和關(guān)鍵字提取函數(shù),互斥鎖是操作系統(tǒng)提供的常規(guī)互斥鎖;關(guān)鍵字提取函數(shù)是將記錄中的關(guān)鍵字抽取出來的功能函數(shù),由定義該集合的用戶自行定義;所述鎖定記錄關(guān)鍵字集合,用于:進行行級鎖定時,依據(jù)記錄關(guān)鍵字提取函數(shù)從需要鎖定的記錄中抽出關(guān)鍵字,將關(guān)鍵字插入到鎖定記錄關(guān)鍵字集合中;鎖定記錄關(guān)鍵字集合為有序且成員唯一的集合,具備插入相同記錄時返回錯誤的特性,該集合由需要行鎖定的記錄的關(guān)鍵字對象組成;鎖定記錄關(guān)鍵字由用戶定義;所述記錄集合是容納所有記錄的唯一性關(guān)聯(lián)容器,容器中的對象類型為記錄類型,容器的唯一性、排序依據(jù)為記錄中的關(guān)鍵字,而關(guān)鍵字由關(guān)鍵字提取函數(shù)在記錄中提取。

    【技術(shù)特征摘要】
    1.一種基于碰撞探測的行級鎖定集合實現(xiàn)裝置,其特征在于:包括鎖定記錄關(guān)鍵字集合和記錄集合,所述鎖定記錄關(guān)鍵字集合包括互斥鎖和關(guān)鍵字提取函數(shù),互斥鎖是操作系統(tǒng)提供的常規(guī)互斥鎖;關(guān)鍵字提取函數(shù)是將記錄中的關(guān)鍵字抽取出來的功能函數(shù),由定義該集合的用戶自行定義; 所述鎖定記錄關(guān)鍵字集合,用于:進行行級鎖定時,依據(jù)記錄關(guān)鍵字提取函數(shù)從需要鎖定的記錄中抽出關(guān)鍵字,將關(guān)鍵字插入到鎖定記錄關(guān)鍵字集合中;鎖定記錄關(guān)鍵字集合為有序且成員唯一的集合,具備插入相同記錄時返回錯誤的特性,該集合由需要行鎖定的記錄的關(guān)鍵字對象組成;鎖定記錄關(guān)鍵字由用戶定義; 所述記錄集合是容納所有記錄的唯一性關(guān)聯(lián)容器,容器中的對象類型為記錄類型,容器的唯一性、排序依據(jù)為記錄中的關(guān)鍵字,而關(guān)鍵字由關(guān)鍵字提取函數(shù)在記錄中提取。2.如權(quán)利要求1所述的基于碰撞探測的行級鎖定集合實現(xiàn)裝置,其特征在于:所述裝置對外提供的 操作方式有:插入數(shù)據(jù)、刪除數(shù)據(jù)、查找數(shù)據(jù)、鎖定數(shù)據(jù)、解鎖數(shù)據(jù),在所述裝置的上述每一項操作中,均要對行鎖信息區(qū)域進行訪問,以獲取相應(yīng)的行鎖;在無法得到行鎖的情況下,等待若干毫秒,重新對行鎖信息區(qū)域進行訪問;在得到行鎖后,訪問相應(yīng)數(shù)據(jù);在成功刪除數(shù)據(jù)的同時,刪除行鎖信息。3.如權(quán)利要求1或2所述的基于碰撞探測的行級鎖定集合實現(xiàn)裝置,其特征在于:所述裝置對裝置內(nèi)部的記錄都對應(yīng)存在一個關(guān)鍵字條目,對于記錄的增加、刪除、查找過程,都需要鎖定對應(yīng)的關(guān)鍵字,同時提供鎖定記錄以及解鎖的功能;鎖定關(guān)鍵字時,只需在鎖定記錄關(guān)鍵字集合中插入相應(yīng)數(shù)據(jù)。4.利用權(quán)利要求1至3中任一項所述裝置實現(xiàn)的基于碰撞探測的行級鎖定集合實現(xiàn)方法,其特征在于,包括以下步驟: A、行鎖的加鎖: 步驟101、當向所述裝置中鎖定指定記錄時,首先由關(guān)鍵字提取函數(shù)提取出關(guān)鍵字; 步驟102、對關(guān)鍵字區(qū)域加鎖; 步驟103、判斷加鎖是否成功,如果成功,則轉(zhuǎn)到步驟104 ;否則,轉(zhuǎn)到步驟108 ; 步驟104、提取出關(guān)鍵字后,向鎖定記錄關(guān)鍵字集合插入該關(guān)鍵字,轉(zhuǎn)到步驟105 ; 步驟105、對關(guān)鍵字區(qū)域解鎖,轉(zhuǎn)到步驟106 ; 步驟106、操作記錄...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:黃亮
    申請(專利權(quán))人:烽火通信科技股份有限公司
    類型:發(fā)明
    國別省市:湖北;42

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 18禁成年无码免费网站无遮挡| 亚洲AV无码一区二区三区DV | 久久久精品人妻无码专区不卡| 亚洲乱亚洲乱少妇无码| 一区二区三区无码高清| 人妻无码一区二区三区AV| 亚洲国产成人精品无码区花野真一| 亚洲成a人在线看天堂无码| 精品少妇无码AV无码专区| 中文无码乱人伦中文视频在线V| 无码人妻精品一区二区三区久久 | 精品久久久无码人妻中文字幕豆芽| 人妻无码久久久久久久久久久| 人妻少妇偷人精品无码| 国产精品无码久久av| 无码午夜人妻一区二区三区不卡视频 | 99精品国产在热久久无码| 无码精品人妻一区二区三区免费 | 高清无码一区二区在线观看吞精 | 午夜人性色福利无码视频在线观看| 亚洲久热无码av中文字幕| 久久久久亚洲Av片无码v| 精选观看中文字幕高清无码| 成人免费a级毛片无码网站入口| 高清无码午夜福利在线观看| 无码精品人妻一区二区三区人妻斩| 人妻无码久久久久久久久久久 | 一本一道中文字幕无码东京热 | 久久久久久久久无码精品亚洲日韩 | 无码人妻品一区二区三区精99| 亚洲精品无码你懂的网站| 亚洲成A人片在线观看无码3D| 国产成人无码免费视频97 | 少妇无码太爽了在线播放| 亚洲成av人片不卡无码久久| 成人无码区免费A∨直播| heyzo专区无码综合| 亚洲人成无码www久久久| 久久无码一区二区三区少妇 | 无码国产精品一区二区免费I6| 久久久久精品国产亚洲AV无码|