国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種高效率的電子鑰匙權(quán)限驗(yàn)證方法

      文檔序號(hào):9524476閱讀:387來(lái)源:國(guó)知局
      一種高效率的電子鑰匙權(quán)限驗(yàn)證方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種電子鑰匙權(quán)限驗(yàn)證方法,尤其是針對(duì)大數(shù)量(達(dá)到1萬(wàn)把以上)的電子鑰匙的高效快速權(quán)限驗(yàn)證方法。
      【背景技術(shù)】
      [0002]電子鑰匙一般采用MCU (微控制單元,Microcontroller Unit)實(shí)現(xiàn),其處理能力及內(nèi)存空間都比較小。在電子鑰匙的查找范圍較小的時(shí)候,也就是電子鑰匙的數(shù)量較少時(shí),無(wú)論采取什么方法查找,所花費(fèi)的時(shí)間都相差無(wú)幾。在這種情況下,算法上簡(jiǎn)單易行,且對(duì)存儲(chǔ)格式要求較低的線性查找無(wú)疑就可以滿足我們的要求。但當(dāng)所要查找的范圍達(dá)到了一定程度時(shí),現(xiàn)有的查詢方法在耗時(shí),系統(tǒng)處理能力,系統(tǒng)資源消耗上的問題和限制就逐漸突顯。當(dāng)電子鑰匙的數(shù)量更大時(shí),尤其在電子鑰匙權(quán)限驗(yàn)證上將很難處理。
      [0003]現(xiàn)有技術(shù)中常用的查詢方法有以下幾種,包括:線性查找、折半查找、Fibonacci查找以及插補(bǔ)查找。
      [0004]線性查找,又叫順序查找,是從數(shù)組中第一筆數(shù)據(jù)開始查找比較,如果找到則返回該值或該位置,如果沒有找到則往下一筆數(shù)據(jù)查找比較,直到查找到最后一筆數(shù)據(jù)為止。線性查找在思維上簡(jiǎn)單易行,代碼容易實(shí)現(xiàn),是處理少量電子鑰匙時(shí)的一種很好的選擇;但是由于其平均狀況的時(shí)間復(fù)雜度為0(n),隨著電子鑰匙數(shù)據(jù)量的增大,其效率就明顯降低,這時(shí)我們就應(yīng)該選用其他的方法。
      [0005]折半查找,又叫二分查找法,其充分利用了數(shù)據(jù)間的次序關(guān)系,采用分治策略,可在最壞的情況下用0(log η)的時(shí)間完成搜索任務(wù)。該方法的基本思想是,將η個(gè)數(shù)據(jù)分成個(gè)數(shù)大致相同的兩半,取a[n/2]與欲查找的X作比較,如果x=a[n/2],則找到X,算法終止。如果x〈a[n/2],則我們只要在數(shù)組a的左半部繼續(xù)搜索x (此處假設(shè)數(shù)組內(nèi)的數(shù)據(jù)呈升序排列)。如果x>a[n/2],則我們只要在數(shù)組a的右半部繼續(xù)搜索X。二分搜索法的應(yīng)用極其廣泛,而且它的思想易于理解;但是當(dāng)電子鑰匙的數(shù)據(jù)量大到一定程度時(shí),就需要大量的系統(tǒng)資源,或者需要大量的時(shí)間來(lái)進(jìn)行排序操作。
      [0006]Fibonacci查找和插補(bǔ)查找,其都是折半查找的變形,并且與折半查找方法類似,F(xiàn)ibonacci查找和插補(bǔ)查找是將數(shù)據(jù)查找范圍切成兩半,直至能夠確定具體的位置或所查找的數(shù)據(jù)不在范圍之內(nèi)。但是它們?cè)谛屎蛻?yīng)用范圍上也有一定的區(qū)別。折半查找運(yùn)用除法運(yùn)算來(lái)減少查找范圍,而Fibonacci查找則利用了 Fibonacci數(shù)列建立相應(yīng)的樹狀結(jié)構(gòu),在縮小范圍的過(guò)程中僅用到了加減法。由于在計(jì)算機(jī)處理運(yùn)算指令中,加減運(yùn)算的效率高于乘除運(yùn)算,所以Fibonacci查找的效率也會(huì)優(yōu)于折半查找。然而對(duì)于不平均分布的數(shù)據(jù),其效率卻并不好,甚至在最壞的狀況下,時(shí)間復(fù)雜度達(dá)到與線性查找相同。
      [0007]對(duì)于電子鑰匙而言,要從一萬(wàn)個(gè)甚至更多的鎖中檢索到特定鎖的信息,以現(xiàn)有的資源使用復(fù)雜而又占用系統(tǒng)資源的算法,根本無(wú)法實(shí)現(xiàn),但是用簡(jiǎn)單的方法來(lái)實(shí)現(xiàn)又需要占用較長(zhǎng)的時(shí)間,交互性變的很差。

      【發(fā)明內(nèi)容】

      [0008]本發(fā)明的目的是提供一種高效率的電子鑰匙權(quán)限驗(yàn)證方法,查找迅速,算法簡(jiǎn)單,系統(tǒng)資源消耗小。
      [0009]為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案是提供一種高效率的電子鑰匙權(quán)限驗(yàn)證方法,其空間分配方法包含以下步驟:
      51、在電子鑰匙的Flash存儲(chǔ)空間中設(shè)置一塊地址連續(xù)的鎖索引信息區(qū)域;該鎖索引信息區(qū)域內(nèi)包含N個(gè)連續(xù)存放的鎖索引數(shù)據(jù),N為電子鑰匙對(duì)應(yīng)管理的所有鎖的數(shù)量,每個(gè)鎖索引數(shù)據(jù)的長(zhǎng)度為i個(gè)byte ;
      52、每個(gè)所述的鎖索引數(shù)據(jù)按照其地址存放次序從0開始依次編索引號(hào),使得索引號(hào)與鎖索引數(shù)據(jù)一一對(duì)應(yīng);因此有:索引號(hào)為η的鎖的鎖索引數(shù)據(jù)的起始存儲(chǔ)地址=鎖索引f目息區(qū)域首地址+nX i,其中,n=0, 1,......,N_1且米用十六進(jìn)制表不;
      53、在電子鑰匙的Flash存儲(chǔ)空間中設(shè)置一塊地址連續(xù)的鎖數(shù)據(jù)信息區(qū)域;該鎖數(shù)據(jù)信息區(qū)域內(nèi)包含N個(gè)連續(xù)存放的鎖識(shí)別碼數(shù)據(jù),每個(gè)鎖識(shí)別碼數(shù)據(jù)的長(zhǎng)度為j個(gè)byte ;
      54、每個(gè)所述的鎖索引數(shù)據(jù)與鎖識(shí)別碼數(shù)據(jù)一一對(duì)應(yīng),且每個(gè)鎖索引數(shù)據(jù)為其所對(duì)應(yīng)的鎖識(shí)別碼數(shù)據(jù)的相對(duì)的起始存儲(chǔ)地址,因此有:鎖索引數(shù)據(jù)為m所對(duì)應(yīng)的鎖識(shí)別碼數(shù)據(jù)的起始存儲(chǔ)地址=鎖數(shù)據(jù)信息區(qū)域首地址+mX j。
      [0010]當(dāng)需要添加索引號(hào)為η的鎖信息時(shí),包含以下步驟:
      SA1、在鎖數(shù)據(jù)信息區(qū)域的當(dāng)前最后一個(gè)鎖識(shí)別碼數(shù)據(jù)之后增加新的鎖識(shí)別碼數(shù)據(jù),使得存放地址連續(xù);
      SA2、將新增加的鎖識(shí)別碼數(shù)據(jù)的存放首地址減去鎖數(shù)據(jù)信息區(qū)域的首地址,再除以j,得到該新增加的鎖識(shí)別碼數(shù)據(jù)所對(duì)應(yīng)的鎖索引數(shù)據(jù);
      SA3、將索引號(hào)η乘以i,再加上鎖索引信息區(qū)域首地址,得到索引號(hào)為η的鎖的鎖索引數(shù)據(jù)的起始存儲(chǔ)地址;
      SA4、從SA3中得到的鎖索引數(shù)據(jù)的起始存儲(chǔ)地址開始,依次連續(xù)寫入SA2中得到的鎖索引數(shù)據(jù)。
      [0011]當(dāng)需要?jiǎng)h除索引號(hào)為η的鎖信息時(shí),包含以下步驟:
      SB1、將索引號(hào)η乘以i,再加上鎖索引信息區(qū)域首地址,得到索引號(hào)為η的鎖的鎖索引數(shù)據(jù)的起始存儲(chǔ)地址;
      SB2、根據(jù)SB1中得到的鎖索引數(shù)據(jù)的起始存儲(chǔ)地址,找到索引號(hào)為η的鎖的鎖索引數(shù)據(jù);
      SB3、將原有的鎖索引數(shù)據(jù)修改為FFFHL
      [0012]當(dāng)需要修改索引號(hào)為η的鎖信息時(shí),包含以下步驟:
      SC1、將索引號(hào)η乘以i,再加上鎖索引信息區(qū)域首地址,得到索引號(hào)為η的鎖的鎖索引數(shù)據(jù)的起始存儲(chǔ)地址;
      SC2、根據(jù)SCI中得到的鎖索引數(shù)據(jù)的起始存儲(chǔ)地址,找到索引號(hào)為η的鎖的鎖索引數(shù)據(jù);
      SC3、將SC2中得到的鎖索引數(shù)據(jù)乘以j,再加上鎖數(shù)據(jù)信息區(qū)域首地址,得到索引號(hào)為η的鎖的鎖識(shí)別碼數(shù)據(jù)的起始存儲(chǔ)地址;
      SC4、根據(jù)SC3中得到的鎖識(shí)別碼數(shù)據(jù)的起始存儲(chǔ)地址,找到索引號(hào)為η的鎖的鎖識(shí)別碼數(shù)據(jù);
      SC5、將原有的鎖識(shí)別碼數(shù)據(jù)修改為新的鎖識(shí)別碼數(shù)據(jù)。
      [0013]當(dāng)需要查找索引號(hào)為η的鎖信息時(shí),包含以下步驟:
      SD1、將索引號(hào)η乘以i,再加上鎖索引信息區(qū)域首地址,得到索引號(hào)為η的鎖的鎖索引數(shù)據(jù)的起始存儲(chǔ)地址;
      SD2、根據(jù)SD1中得到的鎖索引數(shù)據(jù)的起始存儲(chǔ)地址,找到索引號(hào)為η的鎖的鎖索引數(shù)據(jù);判斷該鎖索引數(shù)據(jù)是否不為FFFFH,如是,則繼續(xù)SD3 ;如否,則表明索引號(hào)為η的鎖的鎖識(shí)別碼數(shù)據(jù)被刪除,返回未查到鎖識(shí)別碼數(shù)據(jù);
      SD3、將SD2中得到的鎖索引數(shù)據(jù)乘以j,再加上鎖數(shù)據(jù)信息區(qū)域首地址,得到索引號(hào)為η的鎖的鎖識(shí)別碼數(shù)據(jù)的起始存儲(chǔ)地址;
      SD4、根據(jù)SD3中得到的鎖識(shí)別碼數(shù)據(jù)的起始存儲(chǔ)地址,找到索引號(hào)為η的鎖的鎖識(shí)別碼數(shù)據(jù),讀取并返回索引號(hào)為η的鎖的鎖識(shí)別碼數(shù)據(jù)。
      [0014]本發(fā)明所提供的高效率電子鑰匙權(quán)限驗(yàn)證方法,查找迅速,算法簡(jiǎn)單,只需要通過(guò)兩次簡(jiǎn)單的地址映射計(jì)算,就能快速準(zhǔn)確的查找到所需要的鎖識(shí)別碼數(shù)據(jù),并且同時(shí)實(shí)現(xiàn)對(duì)所有鎖識(shí)別碼數(shù)據(jù)的合理管理;其次,系統(tǒng)資源消耗小,由于數(shù)據(jù)信息是以連續(xù)方式存放的,有效減小了對(duì)系統(tǒng)空間的占用。
      【附圖說(shuō)明】
      [0015]圖1為本發(fā)明中的高效率電子鑰匙權(quán)限驗(yàn)證方法的空間分配示意圖;
      圖2為本發(fā)明中的高效率電子鑰匙權(quán)限驗(yàn)證方法的信息添加流程圖;
      圖3為本發(fā)明中的高效率電子鑰匙權(quán)限驗(yàn)證方法的信息刪除流程圖;
      圖4為本發(fā)明中的高效率電子鑰匙權(quán)限驗(yàn)證方法的信息修改流程圖;
      圖5為本發(fā)明中的高效率電子鑰匙權(quán)限驗(yàn)證方法的信息查詢流程圖。
      【具體實(shí)施方式】
      [0016]以下結(jié)合圖1?圖5,詳細(xì)說(shuō)明本發(fā)明的一個(gè)優(yōu)選的實(shí)施例。
      [0017]本發(fā)明中的高效率電子鑰匙權(quán)限驗(yàn)證方法,其包含以下步驟:
      51、在電子鑰匙的Flash存儲(chǔ)空間中設(shè)置一塊地址連續(xù)的鎖索引信息區(qū)域;該鎖索引信息區(qū)域內(nèi)包含N個(gè)連續(xù)存放的鎖索引數(shù)據(jù),N為電子鑰匙對(duì)應(yīng)管理的所有鎖的數(shù)量,每個(gè)鎖索引數(shù)據(jù)的長(zhǎng)度為i個(gè)byte (本實(shí)施例中,以下以2個(gè)byte為例進(jìn)行描述);
      52、每個(gè)所述的鎖索引數(shù)據(jù)按照其地址存放次序從0開始依次編索引號(hào),使得索引號(hào)與鎖索引數(shù)據(jù)一一對(duì)應(yīng);因此有:索引號(hào)為η的鎖的鎖索引數(shù)據(jù)的起始存儲(chǔ)地址=鎖索引f目息區(qū)域首地址+nX 2,其中,n=0, 1,......,N-1且米用十六進(jìn)制表不;
      53、在電子鑰匙的Flash存儲(chǔ)空間中設(shè)置一塊地址連續(xù)的鎖數(shù)據(jù)信息區(qū)域;該鎖數(shù)據(jù)信息區(qū)域內(nèi)包含N個(gè)連續(xù)存放的鎖識(shí)別碼數(shù)據(jù),每個(gè)鎖識(shí)別碼數(shù)據(jù)的長(zhǎng)度為j個(gè)byte (本實(shí)施例中,以下以16個(gè)byte為例進(jìn)行描述);
      54、每個(gè)所述的鎖索引數(shù)據(jù)與鎖識(shí)別碼數(shù)據(jù)一一對(duì)應(yīng),使得每個(gè)鎖索引數(shù)據(jù)為其所對(duì)應(yīng)的鎖識(shí)別碼數(shù)據(jù)的相對(duì)的起始存儲(chǔ)地址,因此有:鎖索引數(shù)據(jù)為m所對(duì)應(yīng)的鎖識(shí)別碼數(shù)據(jù)的起始存儲(chǔ)地址=鎖數(shù)據(jù)信息區(qū)域首地址+mX 16。
      [0018]如圖1所示,本實(shí)施例中,共有10000個(gè)電子鑰匙所對(duì)應(yīng)的鎖需要管理,因此鎖索引信息區(qū)域的大小為2X10000 byte,首地址為000000H ;而鎖數(shù)據(jù)信息區(qū)域的大小為16X10000 byte,首地址為010000H。例如,索引
      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1