• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      高并發(fā)網(wǎng)絡(luò)身份認(rèn)證數(shù)據(jù)庫(kù)應(yīng)用技術(shù)研究

      2023-12-18 17:25:08劉冰劉乾坤
      警察技術(shù) 2023年6期
      關(guān)鍵詞:鍵值哈希內(nèi)存

      劉冰 劉乾坤

      1.公安部第一研究所 2.北京中盾安信科技發(fā)展有限公司

      引言

      隨著互聯(lián)網(wǎng)的高速發(fā)展,網(wǎng)絡(luò)社會(huì)與現(xiàn)實(shí)社會(huì)已融為一體,網(wǎng)絡(luò)身份管理和網(wǎng)絡(luò)可信身份認(rèn)證的需求愈加強(qiáng)烈?!盎ヂ?lián)網(wǎng)+”可信身份認(rèn)證平臺(tái)是為支撐國(guó)家“互聯(lián)網(wǎng)+”行動(dòng)計(jì)劃的大數(shù)據(jù)基礎(chǔ)設(shè)施,由國(guó)家發(fā)改委和科技部支持建設(shè)、公安部組織實(shí)施、公安部一所承建推廣。平臺(tái)的核心功能包括居民網(wǎng)絡(luò)身份的簽發(fā)、基礎(chǔ)數(shù)據(jù)的存儲(chǔ)、網(wǎng)絡(luò)身份的核驗(yàn)認(rèn)證。數(shù)據(jù)庫(kù)系統(tǒng)作為后臺(tái)服務(wù)的根基,其性能表現(xiàn)直接影響著平臺(tái)的服務(wù)質(zhì)量。面對(duì)數(shù)據(jù)體量龐大、日活量高、并發(fā)查詢高等應(yīng)用需求,傳統(tǒng)的數(shù)據(jù)庫(kù)存在一定的局限性,本文通過(guò)融合目錄訪問(wèn)協(xié)議、熱數(shù)據(jù)緩存檢索等多種技術(shù),研究滿足該場(chǎng)景的數(shù)據(jù)庫(kù)應(yīng)用技術(shù)。

      一、現(xiàn)存問(wèn)題及需求分析

      (一)現(xiàn)存問(wèn)題

      網(wǎng)絡(luò)可信身份認(rèn)證是一項(xiàng)重大的系統(tǒng)工程,以法定身份證件信息和國(guó)家人口基礎(chǔ)信息為基礎(chǔ),面向全網(wǎng)提供網(wǎng)絡(luò)身份認(rèn)證能力。網(wǎng)絡(luò)身份憑證的簽發(fā)和管理、真實(shí)身份核驗(yàn)和網(wǎng)絡(luò)身份認(rèn)證等業(yè)務(wù)場(chǎng)景,都需要后臺(tái)數(shù)據(jù)庫(kù)提供高效、精準(zhǔn)的數(shù)據(jù)服務(wù)能力。關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)勢(shì)在于事務(wù)隔離和處理,目錄服務(wù)的優(yōu)勢(shì)在于小數(shù)量的檢索,但是對(duì)于網(wǎng)絡(luò)身份認(rèn)證需求,面向單表十幾億數(shù)據(jù)規(guī)模且多種檢索條件下的高效、精確查詢,這兩種現(xiàn)有的數(shù)據(jù)庫(kù)服務(wù)均無(wú)法單獨(dú)滿足網(wǎng)絡(luò)身份認(rèn)證場(chǎng)景中并發(fā)量高、數(shù)據(jù)體量大、檢索條件不一且快速響應(yīng)的業(yè)務(wù)需求。

      (1)基于SQL的關(guān)系型數(shù)據(jù)庫(kù)因?yàn)槭聞?wù)隔離、SQL語(yǔ)言解析、鎖機(jī)制等體積龐大而復(fù)雜,在數(shù)據(jù)快速檢索時(shí)速度不占優(yōu)勢(shì)。

      (2)目錄服務(wù)系統(tǒng)[3]是用于網(wǎng)絡(luò)數(shù)據(jù)資源的分布式存儲(chǔ)和快速查詢的專(zhuān)用數(shù)據(jù)庫(kù)系統(tǒng),內(nèi)部數(shù)據(jù)存儲(chǔ)一般使用B+樹(shù)結(jié)構(gòu),這就使得在小數(shù)據(jù)量時(shí)可以獲得優(yōu)越的檢索性能,但面臨大規(guī)模數(shù)據(jù)量時(shí),由于B+樹(shù)結(jié)構(gòu)分成太多層而導(dǎo)致檢索性能大幅下降。尤其是為了維持B+樹(shù)結(jié)構(gòu)的平衡性,新數(shù)據(jù)的增加還可能引起整棵B+樹(shù)結(jié)構(gòu)的重新平衡,存儲(chǔ)性能也是大幅度下降。為了容納更多的數(shù)據(jù),一般應(yīng)用勢(shì)必會(huì)采用搭建目錄服務(wù)集群的方式來(lái)管理數(shù)據(jù),這就帶來(lái)了數(shù)據(jù)管理和維護(hù)的復(fù)雜度。

      (3)目錄服務(wù)系統(tǒng)也具有一些其他Key-Value類(lèi)型數(shù)據(jù)庫(kù)所不具備的優(yōu)勢(shì),目錄服務(wù)系統(tǒng)是用于網(wǎng)絡(luò)數(shù)據(jù)資源的分布式存儲(chǔ)和快速查詢的專(zhuān)用數(shù)據(jù)庫(kù)系統(tǒng),是專(zhuān)門(mén)為那些檢索頻率大大高于數(shù)據(jù)更新頻率的信息服務(wù)而設(shè)計(jì)的。目錄服務(wù)系統(tǒng)一般都遵循LDAP輕型目錄訪問(wèn)協(xié)議,從而能夠保持應(yīng)用的標(biāo)準(zhǔn)性和獨(dú)立性。該協(xié)議中規(guī)定了目錄的數(shù)據(jù)單元-條目,并且規(guī)定了操作條目數(shù)據(jù)的九個(gè)基本操作,包括綁定、添加、修改、刪除、搜索、比較、解綁等,非常適合網(wǎng)絡(luò)身份認(rèn)證服務(wù)的操作。

      (二)需求分析

      本文嘗試融合多種技術(shù)優(yōu)勢(shì),研究使用單一系統(tǒng)作為網(wǎng)絡(luò)身份認(rèn)證數(shù)據(jù)庫(kù),解決大規(guī)模基礎(chǔ)數(shù)據(jù)下快速存儲(chǔ)及檢索的問(wèn)題。構(gòu)建分布式內(nèi)存Key-Value數(shù)據(jù)庫(kù)(以下簡(jiǎn)稱(chēng)“新型KV數(shù)據(jù)庫(kù)”),支持輕型數(shù)據(jù)訪問(wèn)協(xié)議、并行接收并處理查詢請(qǐng)求、采用鍵值對(duì)存儲(chǔ)數(shù)據(jù)、提供優(yōu)化的熱數(shù)據(jù)鍵值對(duì)內(nèi)存緩存機(jī)制等功能,以滿足網(wǎng)絡(luò)身份認(rèn)證應(yīng)用的需求。

      二、總體架構(gòu)

      新型KV數(shù)據(jù)庫(kù)由通訊接口、前端、數(shù)據(jù)緩存、后端存儲(chǔ)等幾部分組成。居民身份認(rèn)證平臺(tái)通過(guò)通訊接口的輕型數(shù)據(jù)訪問(wèn)協(xié)議與新型KV數(shù)據(jù)庫(kù)前端之間建立網(wǎng)絡(luò)連接;新型KV數(shù)據(jù)庫(kù)前端實(shí)現(xiàn)并行接收、處理居民身份認(rèn)證平臺(tái)的認(rèn)證數(shù)據(jù)訪問(wèn)請(qǐng)求;數(shù)據(jù)緩存組件提供優(yōu)化的與存儲(chǔ)數(shù)據(jù)相適應(yīng)的熱數(shù)據(jù)鍵值對(duì)認(rèn)證數(shù)據(jù)內(nèi)存緩存機(jī)制;新型KV數(shù)據(jù)庫(kù)后端采用哈希與內(nèi)分區(qū)技術(shù)相結(jié)合的鍵值對(duì)認(rèn)證數(shù)據(jù)落地存儲(chǔ)。新型KV數(shù)據(jù)庫(kù)的總體架構(gòu)如圖1所示。

      新型KV數(shù)據(jù)庫(kù)采用分布式集群架構(gòu)解決大并發(fā)問(wèn)題,采用分片的Key-Value方式數(shù)據(jù)存儲(chǔ),通過(guò)自定義策略將熱數(shù)據(jù)存儲(chǔ)在內(nèi)存中,并且通過(guò)Key索引方式保障幾十億身份認(rèn)證數(shù)據(jù)的極速即時(shí)訪問(wèn),平均每條數(shù)據(jù)的查詢時(shí)間小于1毫秒。新型KV數(shù)據(jù)庫(kù)分布式集群架構(gòu)示意如圖2所示。

      三、技術(shù)路線及關(guān)鍵技術(shù)

      新型KV數(shù)據(jù)庫(kù)的技術(shù)路線是從接口到存儲(chǔ)模型,都不再要求樹(shù)形組織形式,而只要求數(shù)據(jù)具有查詢條件與證書(shū)實(shí)體之間的鍵值對(duì)表達(dá)形式,不再使用B+樹(shù)結(jié)構(gòu),而是換成大數(shù)據(jù)檢索性能更好的Hash結(jié)構(gòu),使用哈希與內(nèi)分區(qū)技術(shù)相結(jié)合的鍵值對(duì)存儲(chǔ)結(jié)構(gòu),隨機(jī)拆分和均衡證書(shū)數(shù)據(jù),減少落地?cái)?shù)據(jù)的數(shù)量和被訪問(wèn)次數(shù),實(shí)現(xiàn)更少的磁盤(pán)I/O次數(shù),提高新型KV數(shù)據(jù)庫(kù)的證書(shū)容量和存儲(chǔ)效率,獲得更好的檢索性能。并且采用優(yōu)化的內(nèi)存緩存機(jī)制減少數(shù)據(jù)訪問(wèn)延遲,保證支持十幾億數(shù)量規(guī)模時(shí)的存儲(chǔ)和檢索性能。新型KV數(shù)據(jù)庫(kù)的關(guān)鍵技術(shù)包含:

      (一)新型數(shù)據(jù)訪問(wèn)協(xié)議

      利用輕型目錄訪問(wèn)協(xié)議構(gòu)建輕型數(shù)據(jù)訪問(wèn)協(xié)議,并在格式定義上與標(biāo)準(zhǔn)的輕型目錄訪問(wèn)協(xié)議相兼容,避免了復(fù)雜的SQL語(yǔ)言解析,從而能夠繼續(xù)保持認(rèn)證服務(wù)應(yīng)用的標(biāo)準(zhǔn)性和獨(dú)立性。輕型數(shù)據(jù)訪問(wèn)協(xié)議提供完整齊備的數(shù)據(jù)表達(dá)結(jié)構(gòu)、傳輸編碼封裝、數(shù)據(jù)訪問(wèn)操作和安全控制功能等。但唯一不要求所存儲(chǔ)的數(shù)據(jù)必須具有目錄樹(shù)形結(jié)構(gòu)和目錄層次特征,而是依據(jù)認(rèn)證數(shù)據(jù)的特性保持鍵值對(duì)形式,提取證書(shū)序列號(hào)作為主鍵值,證書(shū)內(nèi)容等作為檢索目標(biāo),建立檢索條件與主鍵值的索引映射關(guān)系,證書(shū)使用范圍作為數(shù)據(jù)存儲(chǔ)的庫(kù)名標(biāo)識(shí)。

      新型KV數(shù)據(jù)庫(kù)前端系統(tǒng)負(fù)責(zé)接收、解析認(rèn)證系統(tǒng)通過(guò)輕型數(shù)據(jù)訪問(wèn)協(xié)議發(fā)送過(guò)來(lái)的認(rèn)證數(shù)據(jù)訪問(wèn)請(qǐng)求。這些訪問(wèn)請(qǐng)求包括:綁定、解綁定、添加、刪除、修改、搜索、擴(kuò)展、元數(shù)據(jù)查詢、放棄。與標(biāo)準(zhǔn)的輕型目錄訪問(wèn)不同在于,庫(kù)名就是所有認(rèn)證數(shù)據(jù)快速存儲(chǔ)及檢索的BASE,忽略認(rèn)證系統(tǒng)提供的SCOPE,即認(rèn)證系統(tǒng)無(wú)需提供檢索范圍,由認(rèn)證數(shù)據(jù)存儲(chǔ)及檢索系統(tǒng)依據(jù)認(rèn)證數(shù)據(jù)的特性來(lái)優(yōu)化存儲(chǔ)和定位檢索目標(biāo)。

      1.認(rèn)證數(shù)據(jù)的檢索特征和證書(shū)結(jié)構(gòu)

      新型KV數(shù)據(jù)庫(kù)為每類(lèi)認(rèn)證數(shù)據(jù)建立單獨(dú)的識(shí)別名,數(shù)據(jù)條目包括檢索條件和屬性值。數(shù)據(jù)條目的檢索條件和每個(gè)屬性值都會(huì)通過(guò)hash轉(zhuǎn)化為0~9、A~F、a~f之間的數(shù)據(jù),每個(gè)字段存儲(chǔ)相應(yīng)的數(shù)據(jù)信息。例如識(shí)別名為CT,檢索條件為sn,屬性值分別為base_dn和scope。

      2.使用改造后輕型數(shù)據(jù)訪問(wèn)協(xié)議進(jìn)行訪問(wèn)

      以API為例,存儲(chǔ)函數(shù):

      LDAPEntry entry=new LDAPEntry(dn,attrs);//參數(shù):屬性集合

      ld.add(entry);//添加

      檢索函數(shù):ld.search(base_dn,scope,filters,attrs,attrsonly);

      其中,base_dn填寫(xiě)證書(shū)類(lèi)型CT,scope隨意填寫(xiě),fileters使用sn的具體值。

      (二)基于哈希和內(nèi)分區(qū)的認(rèn)證數(shù)據(jù)存儲(chǔ)

      后端系統(tǒng)負(fù)責(zé)前端請(qǐng)求的持久化訪問(wèn),將認(rèn)證數(shù)據(jù)按照鍵值對(duì)形式進(jìn)行哈希結(jié)構(gòu)存儲(chǔ),并依據(jù)指定分區(qū)個(gè)數(shù)將鍵值數(shù)字分配到特定的分區(qū)文件中,實(shí)現(xiàn)了對(duì)億級(jí)數(shù)量級(jí)認(rèn)證數(shù)據(jù)的化整為零,減少數(shù)據(jù)訪問(wèn)次數(shù),可以快速存儲(chǔ)和檢索。

      全部的證書(shū)數(shù)據(jù)分為若干個(gè)分區(qū)文件進(jìn)行存儲(chǔ),需要對(duì)檢索字段sn進(jìn)行分區(qū),假如需要分成3個(gè)文件區(qū)域,分別將鍵值字符串的ASCII碼值逐個(gè)累加轉(zhuǎn)為十進(jìn)制數(shù)字,根據(jù)提供的分區(qū)數(shù)量進(jìn)行取模,即可轉(zhuǎn)為特定的分區(qū)編號(hào)。示例中的SN1~SN4分別為65/3=2、66/3=0、67/3=1、68/3=2。可以將SN2定位到分區(qū)1中存儲(chǔ),將SN3定位到分區(qū)2中存儲(chǔ),將SN1和SN4定位到分區(qū)3中存儲(chǔ)。成功存儲(chǔ)后,該證書(shū)數(shù)據(jù)同步更新到內(nèi)存的熱數(shù)據(jù)緩存結(jié)構(gòu)中。

      (三)熱數(shù)據(jù)緩存檢索

      新型KV數(shù)據(jù)庫(kù)緩存系統(tǒng)提供優(yōu)化的與存儲(chǔ)數(shù)據(jù)相適應(yīng)的熱數(shù)據(jù)鍵值對(duì)認(rèn)證數(shù)據(jù)內(nèi)存緩存機(jī)制,其機(jī)制為在內(nèi)存中申請(qǐng)內(nèi)存容量允許范圍的空間,依據(jù)指定分區(qū)個(gè)數(shù)分區(qū)若干個(gè)哈希結(jié)構(gòu)進(jìn)行管理,將從磁盤(pán)存儲(chǔ)中特定的分區(qū)文件的認(rèn)證數(shù)據(jù)的訪問(wèn),包括添加、修改,都對(duì)應(yīng)在特定內(nèi)存哈希結(jié)構(gòu)中進(jìn)行緩存,當(dāng)對(duì)磁盤(pán)存儲(chǔ)中特定的分區(qū)文件的認(rèn)證數(shù)據(jù)進(jìn)行檢索之前,首先在特定內(nèi)存哈希結(jié)構(gòu)中進(jìn)行檢索,檢索到即返回,內(nèi)存檢索不到再?gòu)姆謪^(qū)磁盤(pán)存儲(chǔ)中特定的分區(qū)文件的認(rèn)證數(shù)據(jù)進(jìn)行檢索,檢索到在特定內(nèi)存哈希結(jié)構(gòu)中進(jìn)行緩存后返回,如果將認(rèn)證數(shù)據(jù)從磁盤(pán)存儲(chǔ)中特定的分區(qū)文件進(jìn)行成功刪除后,需要對(duì)應(yīng)在特定內(nèi)存哈希結(jié)構(gòu)中進(jìn)行刪除。使用該內(nèi)存緩存機(jī)制,第一利用了內(nèi)存的訪問(wèn)速度明顯快于磁盤(pán)的訪問(wèn)速度,第二內(nèi)存申請(qǐng)的空間數(shù)量小于磁盤(pán)空間數(shù)量,所容納的認(rèn)證數(shù)據(jù)基本為訪問(wèn)的熱數(shù)據(jù),申請(qǐng)的內(nèi)存空間需要循環(huán)利用,常訪問(wèn)的熱數(shù)據(jù)在運(yùn)行一段時(shí)間之后基本都從內(nèi)存中可以檢索到。

      內(nèi)存的熱數(shù)據(jù)緩存結(jié)構(gòu)與分區(qū)存儲(chǔ)的結(jié)構(gòu)相對(duì)應(yīng),只是限制于內(nèi)存大小,在檢索時(shí)首先檢索熱數(shù)據(jù),沒(méi)有再檢索硬盤(pán)分區(qū)存儲(chǔ)數(shù)據(jù),成功檢索后,該證書(shū)數(shù)據(jù)同步更新到內(nèi)存的熱數(shù)據(jù)緩存結(jié)構(gòu)中。如檢索SN2后,即在內(nèi)存,下次可直接檢索出SN2。

      (1)數(shù)據(jù)第一次被訪問(wèn),加入到訪問(wèn)歷史列表;

      (2)如果數(shù)據(jù)在訪問(wèn)歷史列表里后沒(méi)有達(dá)到K次訪問(wèn),則按照規(guī)則淘汰;

      (3)當(dāng)訪問(wèn)歷史隊(duì)列中的數(shù)據(jù)訪問(wèn)次數(shù)達(dá)到K次后,將數(shù)據(jù)索引從歷史隊(duì)列刪除,將數(shù)據(jù)移到緩存隊(duì)列中,并緩存此數(shù)據(jù),緩存隊(duì)列重新按照時(shí)間排序;

      (4)緩存數(shù)據(jù)隊(duì)列中被再次訪問(wèn)后,重新排序;

      (5)需要淘汰數(shù)據(jù)時(shí),淘汰緩存隊(duì)列中排在末尾的數(shù)據(jù),即淘汰“倒數(shù)第K次訪問(wèn)離現(xiàn)在最久”的數(shù)據(jù)。

      四、實(shí)現(xiàn)和驗(yàn)證

      本文通過(guò)融合改造輕型目錄訪問(wèn)協(xié)議、基于哈希和內(nèi)分區(qū)的認(rèn)證數(shù)據(jù)存儲(chǔ)方法、熱數(shù)據(jù)緩存檢索方法等多種技術(shù)方法,從原理上設(shè)計(jì)了一種新的認(rèn)證數(shù)據(jù)快速存儲(chǔ)及檢索的方法,并構(gòu)建了新型KV數(shù)據(jù)庫(kù)的原型系統(tǒng)。

      根據(jù)網(wǎng)絡(luò)身份認(rèn)證服務(wù)應(yīng)用場(chǎng)景特點(diǎn),完成了基于輕型數(shù)據(jù)訪問(wèn)協(xié)議的業(yè)務(wù)適配、模擬業(yè)務(wù)場(chǎng)景的功能測(cè)試、單機(jī)和集群兩種部署模式的性能對(duì)比測(cè)試。在具備一定規(guī)模的基礎(chǔ)數(shù)據(jù)環(huán)境下,業(yè)務(wù)方通過(guò)API與數(shù)據(jù)庫(kù)建立網(wǎng)絡(luò)連接,并向數(shù)據(jù)庫(kù)發(fā)起查詢請(qǐng)求,其中請(qǐng)求數(shù)據(jù)包括已緩存的熱數(shù)據(jù)和查磁盤(pán)的冷數(shù)據(jù)。測(cè)試場(chǎng)景包括不同數(shù)據(jù)結(jié)構(gòu)下的高并發(fā)精確查詢、混合讀寫(xiě)、批量文件導(dǎo)入,初步驗(yàn)證了新型KV數(shù)據(jù)庫(kù)原型系統(tǒng)的功能和性能可以基本滿足應(yīng)用場(chǎng)景的需要。且在億級(jí)別基礎(chǔ)數(shù)據(jù)規(guī)模下,數(shù)據(jù)庫(kù)性能表現(xiàn)符合預(yù)期,測(cè)試結(jié)果均高于業(yè)務(wù)需求指標(biāo),且集群部署模式的性能較單機(jī)基本呈線性提升。

      五、結(jié)語(yǔ)

      本文研究的新型KV數(shù)據(jù)庫(kù)研究成果應(yīng)用于“互聯(lián)網(wǎng)+”可信身份認(rèn)證平臺(tái),為平臺(tái)百億級(jí)基礎(chǔ)數(shù)據(jù)分區(qū)、十萬(wàn)級(jí)業(yè)務(wù)并發(fā)查詢、百萬(wàn)級(jí)吞吐量的快速檢索及響應(yīng)提供了高效、可靠、穩(wěn)定的數(shù)據(jù)服務(wù)支撐。

      猜你喜歡
      鍵值哈希內(nèi)存
      非請(qǐng)勿進(jìn) 為注冊(cè)表的重要鍵值上把“鎖”
      “春夏秋冬”的內(nèi)存
      一鍵直達(dá) Windows 10注冊(cè)表編輯高招
      基于OpenCV與均值哈希算法的人臉相似識(shí)別系統(tǒng)
      基于維度分解的哈希多維快速流分類(lèi)算法
      基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗(yàn)證算法
      一種基于Bigram二級(jí)哈希的中文索引結(jié)構(gòu)
      基于內(nèi)存的地理信息訪問(wèn)技術(shù)
      注冊(cè)表值被刪除導(dǎo)致文件夾選項(xiàng)成空白
      上網(wǎng)本為什么只有1GB?
      安多县| 鹤岗市| 临潭县| 阿克陶县| 金阳县| 穆棱市| 罗定市| 湖南省| 玉林市| 临朐县| 岳普湖县| 太康县| 玛纳斯县| 丰顺县| 故城县| 丹棱县| 平塘县| 会东县| 西充县| 扶余县| 新干县| 盐亭县| 洞口县| 新龙县| 兴隆县| 嵊州市| 阿克苏市| 武平县| 涪陵区| 罗山县| 新民市| 吉水县| 桑日县| 曲松县| 安西县| 天气| 东山县| 石河子市| 屏东市| 彰化县| 莱阳市|