亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        億級人像比對系統(tǒng)架構(gòu)設(shè)計及優(yōu)化

        2019-10-11 11:24:36余銘華
        軟件導(dǎo)刊 2019年7期
        關(guān)鍵詞:架構(gòu)設(shè)計系統(tǒng)優(yōu)化

        摘 要:為滿足公安機(jī)關(guān)大規(guī)模人像數(shù)據(jù)庫的比對應(yīng)用需求,提高人像比對系統(tǒng)應(yīng)用規(guī)模和可用性,采用結(jié)構(gòu)化開發(fā)方法,從應(yīng)用層、數(shù)據(jù)庫層、主機(jī)層、存儲層等方面對人像比對系統(tǒng)進(jìn)行模塊化架構(gòu)設(shè)計和優(yōu)化。系統(tǒng)能夠支撐15億以上人像比對庫容量,實現(xiàn)了全國范圍的人像自動比對和糾錯,提高了身份辨認(rèn)速度。系統(tǒng)平均建模速度、平均比對速度和查重速度分別提升38%、41%和55%。優(yōu)化后的人像比對系統(tǒng)在保證識別率高的同時能夠快速處理海量數(shù)據(jù),滿足公安機(jī)關(guān)應(yīng)用需求,有效解決了戶口登記管理中的“錯、重、假”問題。

        關(guān)鍵詞:人像比對系統(tǒng);架構(gòu)設(shè)計;系統(tǒng)優(yōu)化;高可用系統(tǒng)

        DOI:10. 11907/rjdk. 182884 開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

        中圖分類號:TP319文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2019)007-0128-05

        Design and Optimization of Billion Level Face Recognition System Architecture

        YU Ming-hua

        (ISvision Technologies Co.,Ltd., Shanghai 201203, China)

        Abstract: In order to meet the needs of the public security organs for large-scale portrait database application, and to improve the application scale and scene and high availability of the face recognition system, we use the structured development methodology, modular architecture designs and optimize the face recognition system from application layer, database layer, host layer, and storage layer, etc. The system can support more than 1.5 billion portrait matching library capacity, which realizes nationwide automatic comparison and correction of portraits, speeds up the identification process of relevant personnel in relevant departments. The mold speed, average comparison speed, and check speed were increased by 38%, 41%, and 55%, respectively. After optimization, the face recognition system can quickly process massive data while ensuring high recognition rate, meet the application requirements of public security agency, and effectively solve the problem of wrong, repeated and fake information in the registration management of household registration.

        Key Words: face recognition system; architecture design; system optimization; system with high availability

        作者簡介:余銘華(1985-),男,上海銀晨智能識別科技有限公司工程師,研究方向為應(yīng)用軟件、信息系統(tǒng)項目管理。

        0 引言

        人像比對系統(tǒng)基于人臉識別技術(shù),以公安機(jī)關(guān)信息化建設(shè)過程中積累的各類人像數(shù)據(jù)為基礎(chǔ),實現(xiàn)人員身份信息的確認(rèn)、核實與認(rèn)證,在戶籍管理、出入境管理、重點人口管理等方面應(yīng)用廣泛。隨著人像比對系統(tǒng)應(yīng)用場景范圍和規(guī)模的擴(kuò)大,人像比對系統(tǒng)累積的照片庫容量成直線上升趨勢,從最開始的10萬級增加到100萬級、1 000萬級,甚至億級照片庫容量成為常態(tài)。在這種情況下,人像比對系統(tǒng)面臨比對結(jié)果返回時間長、系統(tǒng)查詢響應(yīng)速度慢、接口服務(wù)性能下降、數(shù)據(jù)更新慢等問題。

        系統(tǒng)架構(gòu)設(shè)計和性能優(yōu)化范疇涉及廣泛,涵蓋計算機(jī)硬件、傳輸網(wǎng)絡(luò)、操作系統(tǒng)、數(shù)據(jù)庫、應(yīng)用軟件等諸多方面。針對提高軟件系統(tǒng)高可用性問題研究較多,并取得了相應(yīng)成果。林曉東等[1]對高可用系統(tǒng)結(jié)構(gòu)進(jìn)行了研究與實現(xiàn);Torkamani等[2]介紹使用體系結(jié)構(gòu)模式和策略實現(xiàn)高可用性的方法;文獻(xiàn)[3]全面探討了Web系統(tǒng)性能的具體優(yōu)化方法與策略;文獻(xiàn)[4]介紹了多種關(guān)于Nginx配置文件的技巧。

        軟件架構(gòu)一方面可在高層次上對編程進(jìn)行規(guī)定,另一方面也可把編程上的經(jīng)驗應(yīng)用到架構(gòu)優(yōu)化上[5]。本文基于前期人像比對系統(tǒng)設(shè)計和實際運行經(jīng)驗,在對高可用系統(tǒng)結(jié)構(gòu)進(jìn)行分析后,針對實際項目中人像比對系統(tǒng)面臨的問題,采用結(jié)構(gòu)化軟件開發(fā)方法,從應(yīng)用層、數(shù)據(jù)庫層、主機(jī)層、存儲層等多方面對人像比對系統(tǒng)進(jìn)行架構(gòu)設(shè)計,實現(xiàn)具備高可用性的人像比對系統(tǒng),從Web、數(shù)據(jù)庫、應(yīng)用程序等方面探討了系統(tǒng)優(yōu)化方法。實踐表明,系統(tǒng)能夠支撐15億以上的人像比對庫容量,具備高可用性。

        1 系統(tǒng)概述

        人像比對系統(tǒng)是從給定的人像數(shù)據(jù)庫中檢索比對特定人員的身份信息,并將比對結(jié)果按相似度由高到低進(jìn)行排列顯示進(jìn)行身份鑒定與核查。人像比對系統(tǒng)利用公安機(jī)關(guān)各類業(yè)務(wù)系統(tǒng)采集的海量人像數(shù)據(jù),由人像比對客戶端、管理中心服務(wù)器,比對服務(wù)器、數(shù)據(jù)庫服務(wù)器等組成,在海量圖像中實現(xiàn)人像檢索比對功能,完成人像信息批量/增量建模,1∶1、1∶X確認(rèn)比對、1∶N識別比對、M∶N查重比對,比對結(jié)果查詢與分析,以及對數(shù)據(jù)抽取、人像建模、模板加載等進(jìn)行處理及統(tǒng)計分析。系統(tǒng)除完成各項人像比對基本功能外,還提供靈活便利的外部查詢和開發(fā)接口,滿足公安機(jī)關(guān)全警業(yè)務(wù)應(yīng)用需求。

        2 總體架構(gòu)

        基于.NET技術(shù)的Web應(yīng)用[6],采用.NET Framework技術(shù)架構(gòu)開發(fā)人像比對系統(tǒng),根據(jù)應(yīng)用軟件分層架構(gòu)模式進(jìn)行設(shè)計,系統(tǒng)總體架構(gòu)如圖1所示。

        人像比對系統(tǒng)分為表示層、業(yè)務(wù)層、服務(wù)層、數(shù)據(jù)層,各層實現(xiàn)功能如下:

        (1)表示層:為滿足公安機(jī)關(guān)業(yè)務(wù)需求進(jìn)行功能設(shè)計,為用戶提供交互操作的界面,實現(xiàn)人像比對Web、人像比對客戶端、人像照片處理、照片導(dǎo)入、查重結(jié)果審核、案件實戰(zhàn)操作、外部API接口等應(yīng)用功能[7]。

        (2)業(yè)務(wù)層:基于公安機(jī)關(guān)業(yè)務(wù)需求進(jìn)行功能設(shè)計,通過設(shè)計人臉比對算法及分析模型工具,實現(xiàn)人臉照片自動分析和人臉識別比對,包括建立人臉識別應(yīng)用的人像數(shù)據(jù)中心,提供人像比對的基礎(chǔ)數(shù)據(jù)模板,保存比對信息與報警信息,實現(xiàn)系統(tǒng)負(fù)載均衡及分布式應(yīng)用。

        (3)服務(wù)層:實現(xiàn)應(yīng)用軟件基礎(chǔ)服務(wù),功能包括人像照片處理子系統(tǒng)、人像建模子系統(tǒng)、比對服務(wù)子系統(tǒng)、身份查重子系統(tǒng)、查重結(jié)果審核子系統(tǒng)、照片導(dǎo)入子系統(tǒng)、任務(wù)管理調(diào)度服務(wù)、系統(tǒng)管理子系統(tǒng)、權(quán)限控制子系統(tǒng)、數(shù)據(jù)同步服務(wù)、案件實戰(zhàn)操作模塊、外部API接口子系統(tǒng)等應(yīng)用功能。

        (4)數(shù)據(jù)層:負(fù)責(zé)數(shù)據(jù)庫的訪問和服務(wù),實現(xiàn)分布式文件系統(tǒng)集群及Cache,同時充分利用公安機(jī)關(guān)現(xiàn)有的基礎(chǔ)設(shè)施和設(shè)備,包括服務(wù)器、存儲、網(wǎng)絡(luò)、安全網(wǎng)關(guān)設(shè)施等設(shè)備。

        3 系統(tǒng)設(shè)計

        3.1 緩存設(shè)計

        緩存是指把最常用的東西放在最容易取得的地方,分為靜態(tài)緩存和動態(tài)緩存,是所有性能優(yōu)化最簡單有效的解決方案。在系統(tǒng)設(shè)計過程中選用高性能的緩存組件Redis存儲系統(tǒng),并從瀏覽器、反向代理緩存、數(shù)據(jù)庫緩存、本地緩存4個方面進(jìn)行設(shè)計。

        3.1.1 瀏覽器緩存設(shè)計

        3.1.2 反向代理緩存設(shè)計

        選用開源代碼Nginx實現(xiàn)反向代理緩存。反向代理位于Web服務(wù)器之前,接受來自用戶的Web連接請求,根據(jù)請求頁面是否存在緩存內(nèi)容對用戶請求進(jìn)行處理、轉(zhuǎn)發(fā),有緩存內(nèi)容直接將緩存內(nèi)容返回給請求用戶,沒有緩存內(nèi)容則先向Web服務(wù)器請求相應(yīng)數(shù)據(jù),將請求數(shù)據(jù)進(jìn)行本地緩存后再返回給請求用戶,使得后續(xù)更快訪問相應(yīng)數(shù)據(jù)。

        3.1.3 數(shù)據(jù)庫緩存設(shè)計

        對信息表、照片表、任務(wù)表等進(jìn)行拆分,將表中相對固定的字段和頻繁更新字段分別存儲,使用Redis緩存組件對高頻率查詢低頻率更新的數(shù)據(jù)載入緩存,對高頻率更新的數(shù)據(jù)采用實時查詢方式,同時將靜態(tài)數(shù)據(jù)表(如字典數(shù)據(jù)等)緩存到Oracle內(nèi)存中。

        3.1.4 本地緩存設(shè)計

        在提取人像特征值過程中,將提取的人臉特征先進(jìn)行本地緩存,然后再批量存儲到數(shù)據(jù)庫中。

        將人像建模子系統(tǒng)數(shù)據(jù)庫中的人像特征模板數(shù)據(jù)加載到本地內(nèi)存,并在本地磁盤生成模板文件保存。在比對服務(wù)下次啟動時可直接從本地快速加載到物理內(nèi)存,無需訪問數(shù)據(jù)庫,避免再次從數(shù)據(jù)庫中讀取,提高系統(tǒng)運行加載速度。

        3.2 負(fù)載均衡nginx設(shè)計

        為避免單臺Web服務(wù)器因負(fù)載高而導(dǎo)致宕機(jī),提高系統(tǒng)穩(wěn)定性,采用Nginx負(fù)載均衡進(jìn)行設(shè)計。同時為保證負(fù)載均衡的高可用性,引入熱備方案機(jī)制,實現(xiàn)Nginx+Keepalived雙機(jī)熱備方案,實現(xiàn)Nginx高可用性,保證一個節(jié)點出現(xiàn)崩潰后另一個節(jié)點可以自動接管其工作。同時設(shè)置Nginx的gzip參數(shù),開啟gzip壓縮功能,提高Web服務(wù)的請求和處理返回響應(yīng)速度。

        3.3 數(shù)據(jù)庫設(shè)計

        數(shù)據(jù)庫設(shè)計以效率第一為原則,遵循三大范式原則創(chuàng)建數(shù)據(jù)庫,根據(jù)業(yè)務(wù)處理邏輯修改數(shù)據(jù)庫以達(dá)到效率最高目的。將系統(tǒng)中需要查詢詳細(xì)數(shù)據(jù)的信息表結(jié)構(gòu)進(jìn)行冗余設(shè)計,減少關(guān)聯(lián)查詢,提高查詢性能。對經(jīng)常查詢使用的表進(jìn)行索引設(shè)計,利用Oracle表分區(qū)特性功能對大數(shù)據(jù)表進(jìn)行分區(qū)設(shè)置,提高數(shù)據(jù)查詢和操作性能。

        在比對任務(wù)處理過程中涉及到任務(wù)處理狀態(tài),數(shù)據(jù)庫設(shè)計過程中將該類信息設(shè)計成彈性集值表,系統(tǒng)處理過程只引用表的ID值,在需要名稱描述時再進(jìn)行關(guān)聯(lián)。

        3.4 存儲設(shè)計

        分別從數(shù)據(jù)庫存儲和圖片存儲進(jìn)行設(shè)計。

        3.4.1 數(shù)據(jù)庫存儲設(shè)計

        采用SAN將服務(wù)器平臺和存儲設(shè)備分開,通過光纖交換機(jī)將所有存儲設(shè)備鏈接起來形成光纖通信網(wǎng)絡(luò),便于擴(kuò)展存儲環(huán)境,實現(xiàn)7*24小時不間斷集中管理。

        作為永久的數(shù)據(jù)存儲管理數(shù)據(jù)庫,設(shè)計系統(tǒng)采用Hadoop和Oralce兩種類型數(shù)據(jù)庫。

        3.4.2 分布式圖片存儲設(shè)計

        人像比對系統(tǒng)需要對人臉圖像進(jìn)行處理和展示,設(shè)置一個單獨的圖片服務(wù)器存儲圖片,利用FastDFS實現(xiàn)圖片文件分布式存儲,從Web服務(wù)器上分離圖片數(shù)據(jù),根據(jù)組織結(jié)構(gòu)將照片數(shù)據(jù)劃分成多塊進(jìn)行存儲管理,并存放在不同的物理位置。

        3.5 核心服務(wù)設(shè)計

        3.5.1 高性能數(shù)據(jù)建模設(shè)計

        系統(tǒng)設(shè)計采用分庫、分段、多線程、批量并行的照片數(shù)據(jù)建模方式,實現(xiàn)快速高效建模,利用64位平臺技術(shù)實現(xiàn)自動、手工、比對時錄入、單筆數(shù)據(jù)錄入、批量錄入等多種不同的建模方式。

        3.5.2 比對模板優(yōu)化設(shè)計

        在保證比對識別精度的前提下,優(yōu)化人像特征提取模型,將單張人像提取的特征值模板大小從5KB壓縮到2KB,并將人像特征值模板與人員信息(如性別、年齡、庫別分類等)進(jìn)行組合,形成人臉屬性比對模板,快速完成人像比對。實施后系統(tǒng)建模速度從50條/s提升到69條/s,在原有基礎(chǔ)上提升了38%。

        3.5.3 分布式比對服務(wù)設(shè)計

        設(shè)計比對服務(wù)可依據(jù)實際庫容量需求靈活配置,并且通過增加比對服務(wù)協(xié)調(diào)控制器,實現(xiàn)比對任務(wù)的分發(fā)與比對結(jié)果整合,比對服務(wù)與比對服務(wù)協(xié)調(diào)控制器之間通過消息通信實現(xiàn)交互。各個比對服務(wù)之間對分發(fā)的任務(wù)進(jìn)行并行獨立處理,并將處理后返回的結(jié)果匯總至比對服務(wù)協(xié)調(diào)控制器,比對服務(wù)協(xié)調(diào)控制器將比對結(jié)果整合后再進(jìn)行數(shù)據(jù)庫存儲。比對服務(wù)采用多層體系分布式比對架構(gòu)和64位平臺技術(shù),使用大內(nèi)存充分利用硬件資源,具有良好的擴(kuò)展性、可用性和穩(wěn)定性等優(yōu)點。

        3.5.4 比對任務(wù)模式設(shè)計

        系統(tǒng)設(shè)計不同的比對任務(wù)模式,將用戶提交的比對任務(wù)分成同步比對識別和報警、異步比對識別和報警等,同時根據(jù)用戶權(quán)限對用戶提交的比對任務(wù)進(jìn)行優(yōu)先級定義,用戶權(quán)限高則其提交的比對任務(wù)優(yōu)先級高。用戶在提交人像比對任務(wù)時可增加比對篩選條件,提高比對速度和比對識別率。提交任務(wù)時可勾選庫別、區(qū)域、性別、年齡范圍等多種篩選條件,同時還可設(shè)置比對相似度閾值快速返回比對結(jié)果。

        3.6 接口API設(shè)計

        接口采用Restful風(fēng)格設(shè)計,利用單一性原則實現(xiàn)登陸、一對一比對、一對多比對等接口,在接口設(shè)計過程中對每個請求響應(yīng)定義一個請求ID字段,使用UUID作為該請求ID值,并在服務(wù)器記錄該值,用以跟蹤、診斷、調(diào)試。

        4 系統(tǒng)優(yōu)化

        在對人像比對系統(tǒng)進(jìn)行架構(gòu)設(shè)計和優(yōu)化過程中,分別從系統(tǒng)性能、可用性、伸縮性、擴(kuò)展性、安全性等方面對系統(tǒng)進(jìn)行優(yōu)化,以提高系統(tǒng)整體性能,采用的優(yōu)化策略如下:

        (1)通過設(shè)計緩存和并發(fā)實現(xiàn)方式對Web前端進(jìn)行性能設(shè)計和優(yōu)化。

        (2)應(yīng)用程序采用本地緩存和分布式緩存結(jié)合的方式進(jìn)行設(shè)計和優(yōu)化,并將多臺應(yīng)用服務(wù)器組成集群服務(wù)對外提供。設(shè)計比對服務(wù)有效使用大內(nèi)存,經(jīng)過實際數(shù)據(jù)測試,比對速度從1 200萬次/s達(dá)到1 700萬次/s,提升了41%,查重速度從2 000萬/s達(dá)到了3 100萬次/s,提升了55%。

        (3)數(shù)據(jù)庫設(shè)計時在服務(wù)層增加隊列和緩存,將請求在上游層進(jìn)行攔截,數(shù)據(jù)庫層只實現(xiàn)基礎(chǔ)數(shù)據(jù)訪問請求,同時結(jié)合索引、緩存、SQL性能優(yōu)化等手段,在創(chuàng)建非聚簇索引過程中,使用INCLUDE子句包含表中的特定列,加快SQL語句的執(zhí)行速度。

        (4)采用冗余手段,將應(yīng)用部署在多臺服務(wù)器上,通過負(fù)載均衡方式將多臺服務(wù)器組成集群,提供對外服務(wù),相互備份,減少單點交互,消除單點故障,實現(xiàn)水平擴(kuò)展,增強(qiáng)系統(tǒng)可用性。

        (5)將業(yè)務(wù)邏輯進(jìn)行同構(gòu)設(shè)計和合理抽象,實現(xiàn)水平/垂直切割,實現(xiàn)異步處理,提升系統(tǒng)的伸縮性和擴(kuò)展能力。采用隱藏Nginx版本信息、修改Nginx worker進(jìn)程的用戶個數(shù)、Nginx站點目錄文件及目錄權(quán)限等方式對系統(tǒng)進(jìn)行安全性優(yōu)化。

        4.1 人像比對Web優(yōu)化方法

        用戶向系統(tǒng)提交比對任務(wù),比對成功后返回的結(jié)果都會包含比對相似度、姓名、年齡、證件號碼等基本信息和目標(biāo)照片數(shù)據(jù),以提供給用戶審查處理。由于返回的每張目標(biāo)照片容量均是數(shù)百倍于基本信息,基于降低數(shù)據(jù)傳輸量加快服務(wù)響應(yīng)時間思路,將比對結(jié)果中的基本信息和照片數(shù)據(jù)分開返回,由用戶選擇讀取照片數(shù)據(jù),以此降低系統(tǒng)響應(yīng)時間。

        由于每個頁面都牽扯到大量的數(shù)據(jù)庫訪問,前臺Web一次性緩存無法達(dá)到性能要求。為提高頁面響應(yīng)速度,運用分頁技術(shù)[8]解決客戶端等待時間過長問題。采用后臺分頁查詢方式獲取結(jié)果數(shù)據(jù),在數(shù)據(jù)庫中對查詢數(shù)據(jù)進(jìn)行分頁,并在存儲過程中運用Row_number()[9]函數(shù)提升分頁效率。在分頁查詢過程中設(shè)定3個參數(shù),分別是數(shù)據(jù)總體條數(shù)N_Count、每頁條數(shù)N_CountPerPage、第N頁條數(shù)N_Page。根據(jù)頁面不同的展示,將分頁查詢按照一次查詢分批展示和指定頁實時查詢展示兩種方式實現(xiàn)。

        4.2 數(shù)據(jù)庫優(yōu)化方法

        數(shù)據(jù)庫處理性能提升除了提高硬件配置外,還可從軟件方面對Oracle的查詢性能進(jìn)行優(yōu)化,使數(shù)據(jù)庫運行處于最優(yōu)狀態(tài)。在系統(tǒng)優(yōu)化過程中采取建立索引、表分區(qū)設(shè)計、SQL語句優(yōu)化等技術(shù)手段進(jìn)行系統(tǒng)性能提升。

        在創(chuàng)建系統(tǒng)數(shù)據(jù)表結(jié)構(gòu)時,通過設(shè)計調(diào)整PCTFREE、PCTUSED、INITRANS、MAXTRANS等參數(shù),優(yōu)化表的插入、刪除、更新等操作。對系統(tǒng)中的表結(jié)構(gòu)按使用用途不同分別采取獨立的優(yōu)化方法。

        下面列舉幾個關(guān)鍵表結(jié)構(gòu)優(yōu)化方式:信息表按信息記錄所屬區(qū)域類別進(jìn)行列表分區(qū);模板表將庫別和年齡范圍設(shè)計成LIST-RANGE組合分區(qū)予以優(yōu)化設(shè)計;比對任務(wù)表則使用提交任務(wù)的時間按年和月實現(xiàn)RANGE-RANGE組合分區(qū)進(jìn)行優(yōu)化。

        索引是對數(shù)據(jù)庫表中一列或多列的值進(jìn)行排序的一種結(jié)構(gòu)。使用索引可快速訪問數(shù)據(jù)庫表中的特定信息,顯著提高海量數(shù)據(jù)的查詢效率。在創(chuàng)建索引過程中,依據(jù)表的操作類型(如是查詢還是增刪改)選擇恰當(dāng)?shù)乃饕愋停ㄈ绶俏ㄒ凰饕⑽ㄒ凰饕?、位圖索引、分區(qū)索引等),并在經(jīng)常需要存取的多個列上建立復(fù)合索引,同時檢查被索引的列或組合索引的首列是否出現(xiàn)在PL/SQL語句的WHERE子句中。在系統(tǒng)運行一段時間后適當(dāng)對性能下降的索引進(jìn)行重建以提高索引效率。

        SQL語句尤其是復(fù)雜SQL語句的性能優(yōu)化對數(shù)據(jù)庫的性能至關(guān)重要 [10]。在提升SQL語句執(zhí)行效率方面,采用整體到局部的思路改進(jìn)低效的SQL語句。先從整體著手,收集系統(tǒng)的整體性能信息并確定范圍;再從數(shù)據(jù)庫層面入手,利用性能工具,查看SQL的執(zhí)行計劃。根據(jù)SQL的執(zhí)行計劃,分析低效的SQL執(zhí)行計劃,去掉不必要的全表掃描,充分利用已經(jīng)創(chuàng)建的索引,選擇最有效的執(zhí)行計劃來執(zhí)行SQL語句。如在編寫SQL語句SELECT子句中明確所需要的列,盡量避免使用SELECT *,在子查詢中少用或慎用IN或NOT IN語句。

        4.3 應(yīng)用程序優(yōu)化方法

        通常情況下由于單臺服務(wù)器內(nèi)存無法裝載所有的比對模板,所以將若干臺服務(wù)器組成一個比對服務(wù)集群,共同完成全部模板的裝載和比對,并選用一臺服務(wù)器作為比對服務(wù)協(xié)調(diào)控制器,完成比對任務(wù)的預(yù)處理和比對結(jié)果的匯總、模板更新任務(wù)的查詢與分發(fā)、狀態(tài)監(jiān)測等。假設(shè)比對照片庫容量有10億,則總比對模板量約為2TB,可以設(shè)計由10臺比對服務(wù)器組成一個比對實例,那么10臺比對服務(wù)器除去操作系統(tǒng)所需的開銷外,總的剩余內(nèi)存空間在超過2T的情況下即可完成10億模板的全部加載。

        比對服務(wù)應(yīng)用程序?qū)⑷讼裾掌:蟮奶卣髦导捌渌饕凑諑靹e、性別、年齡、區(qū)域、民族等特征排序聚簇后全部加載到服務(wù)器內(nèi)存中,以便根據(jù)相應(yīng)的比對檢索條件進(jìn)行同步或異步任務(wù)的比對。一般情況下,提交的比對任務(wù)不需要完成全部模板比對,而是含有比對條件,比如比對性別為男、年齡在30-45歲范圍內(nèi)的模板數(shù)據(jù)。該條件可以過濾的數(shù)據(jù)量估算為性別約1/2,年齡約1/5(系統(tǒng)將年齡大致分為5個年齡段),則實際需要比對的模板數(shù)量約為總模板的1/10,比對用時是全部比對用時的1/10。

        為充分利用并行計算機(jī)資源,比對服務(wù)將串行比對運算處理變?yōu)椴⑿斜葘\算處理。在比對任務(wù)處理過程中,使用OpenMP(Open Multi-Processing)實現(xiàn)CPU多核心的并發(fā)比對。OpenMP是一個編譯指導(dǎo)指令和庫函數(shù)集合,主要使用在共享式存儲計算機(jī)并行程序設(shè)計方面 [11]。在程序代碼中加入專用的pragma,指定程序運行時使用并發(fā)線程及并發(fā)調(diào)度方式。根據(jù)硬件資源不同,程序先采用omp_get_num_procs()[12]函數(shù)獲取運行程序計算機(jī)的處理器個數(shù)。為達(dá)到較好性能,通常情況下將線程數(shù)量設(shè)置為CPU核數(shù),每個核執(zhí)行一個線程,避免線程的切換開銷。同時為了CPU各核的負(fù)載均衡和有效降低線程管理開銷,組合使用Intel開源并發(fā)模板庫TBB(Threading Building Blocks)完成比對處理,實現(xiàn)任務(wù)密度和線程池。

        5 結(jié)語

        本文基于公安機(jī)關(guān)偵查破案業(yè)務(wù)需求,以人像算法引擎為核心,采用分層體系結(jié)構(gòu)的架構(gòu)設(shè)計方式對人像比對系統(tǒng)進(jìn)行架構(gòu)設(shè)計和優(yōu)化,實現(xiàn)了億級人像比對系統(tǒng),在協(xié)助公安偵查辦案人員劃定偵查方向、縮小偵查范圍、鎖定嫌疑對象乃至認(rèn)定罪犯等方面取得了明顯效果,提升了公安機(jī)關(guān)偵查人員核對、辨認(rèn)嫌疑人身份的效率。

        在對億級人像比對系統(tǒng)架構(gòu)設(shè)計過程中,研究了Web、數(shù)據(jù)庫和應(yīng)用程序等的優(yōu)化方法,通過對系統(tǒng)架構(gòu)設(shè)計和優(yōu)化過程中各種優(yōu)化工具、優(yōu)化策略、優(yōu)化方法的研究,為建設(shè)高可用性的人像比對系統(tǒng)打下基礎(chǔ),闡述了軟件系統(tǒng)的優(yōu)化方法。

        參考文獻(xiàn):

        [1] 林曉東,劉心松. 高可用性系統(tǒng)的研究與實現(xiàn)[J]. 電子科技大學(xué)學(xué)報,1997(5):82-87.

        [2] TORKAMANI M A,BAGHERI H,SHALTOOKI A A,et al. Architectural solution for reaching high availability[J]. Global Journal on Technology, 2013(1):105-109.

        [3] 羅福強(qiáng),熊永福. 基于分層的Web系統(tǒng)的性能優(yōu)化研究與探討[J]. 計算機(jī)技術(shù)與發(fā)展, 2012(11):85-88.

        [4] DIMITRIAIVALIOTIS, 艾維利,陶利軍. 精通Nginx[M]. 北京:人民郵電出版社,2015.

        [5] JOACHIM GOLL. 軟件架構(gòu)與模式[M]. 北京:清華大學(xué)出版社, 2017.

        [6] 胡迎松,彭利文,池楚兵. 基于.NET的Web應(yīng)用三層結(jié)構(gòu)設(shè)計技術(shù)[J]. 計算機(jī)工程,2003,29(8):173-175.

        [7] 曾暉澤. 公安人像比對系統(tǒng)的設(shè)計與實現(xiàn)[D]. 廈門:廈門大學(xué), 2014.

        [8] 林萍,朱嬋. 基于Ajax技術(shù)和JAVAEE的分頁查詢優(yōu)化[J]. 計算機(jī)系統(tǒng)應(yīng)用,2017(8):916-1001.

        [9] THOMAS KYTE. Oracle Database 9i/10g/11g編程藝術(shù):深入數(shù)據(jù)庫體系結(jié)構(gòu) [M]. 第2版. 北京:人民郵電出版社,2011.

        [10] 周志德. Oralce數(shù)據(jù)庫的SQL查詢優(yōu)化研究[J]. 計算機(jī)與數(shù)字工程,2010,38(11):173-178.

        [11] 査盛音,王玉玫,聶穎. OpenMP在圖形數(shù)據(jù)文件加載中的應(yīng)用[J]. 軟件導(dǎo)刊,2013,12(10):159-162.

        [12] OpenMP application program interface version 4.0.0[EB/OL]. http://www.openmp.org.

        [13] 李艷鵬, 楊彪. 分布式服務(wù)架構(gòu):原理、設(shè)計與實戰(zhàn)[M]. 北京:電子工業(yè)出版社,2017.

        [14] ILYA GRIGORIK. Web性能權(quán)威指南[M]. 北京:人民郵電出版社,2014.

        [15] 張杰,劉琦.多級聯(lián)動的人像比對應(yīng)用平臺研究與設(shè)計[J]. 電腦知識與技術(shù), 2016, 12(31):177-178.

        [16] 劉永梅. 基于人臉識別身份認(rèn)證系統(tǒng)數(shù)據(jù)庫的設(shè)計與研究[D]. 呼和浩特:內(nèi)蒙古大學(xué), 2014.

        [17] 劉合星,劉琦. 人像識別系統(tǒng)的設(shè)計與研究[J]. 河南科技, 2016(21):62-65.

        [18] 關(guān)樂,劉磊,朱鵬,等. 動態(tài)人像比對研究及應(yīng)用[J]. 甘肅科技, 2017(12):87-89.

        [19] 楊洋,楊義光,范東亮. 人像比對系統(tǒng)建設(shè)中幾個關(guān)鍵問題研究[J]. 信息技術(shù)與信息化,2017(5):86-87.

        [20] 黃靜,李炳. 基于Nginx的Web服務(wù)器性能優(yōu)化研究[J].? 浙江理工大學(xué)學(xué)報,2016,35(7):600-606.

        [21] 蒲曉陽. 基于Nginx和Redis高并發(fā)Web服務(wù)負(fù)載均衡的研究[J]. 內(nèi)江科技,2016,37(1):40-41.

        [22] 趙峽策. 基于Nginx和Memcache的負(fù)載均衡集群架構(gòu)設(shè)計[J].? 電子技術(shù)與軟件工程,2014(5):39-40.

        [23] 蔡文海,陳洺均. 基于OpenMP并行編程模型與性能優(yōu)化的稀疏矩陣操作研究[J]. 軟件導(dǎo)刊, 2016, 15(3):27-29.

        [24] 張輝,趙郁亮,徐江,等. 基于Oracle數(shù)據(jù)庫海量數(shù)據(jù)的查詢優(yōu)化研究[J]. 計算機(jī)技術(shù)與發(fā)展, 2012, 22(2):165-167.

        [25] 陳南. ASP.NET中大數(shù)據(jù)量分頁技術(shù)的研究與實現(xiàn)[J]. 計算機(jī)應(yīng)用與軟件, 2011, 28(4):205-207.

        [26] OPENMP C. OpenMP C and C++ application program interface draft[EB/OL]. http://www.openmp.org.

        [27] BHATTACHARJEE A,CONTRERAS G,MARTONOSI M. Parallelization libraries:characterizing and reducing overheads[J]. ACM Transactions on Architecture & Code Optimization,2011,8(1):1-29.

        [28] SUPINSKI B R D,SCOGLAND T R W,DURAN A,et al. The ongoing evolution of openMP[J]. Proceedings of the IEEE,2018(6):1-16.

        (責(zé)任編輯:杜能鋼)

        猜你喜歡
        架構(gòu)設(shè)計系統(tǒng)優(yōu)化
        PS臥式轉(zhuǎn)爐送風(fēng)系統(tǒng)優(yōu)化與實踐
        基于安全性需求的高升力控制系統(tǒng)架構(gòu)設(shè)計
        雙燃料主機(jī)缸套水冷卻系統(tǒng)優(yōu)化設(shè)計
        虛擬收費站架構(gòu)設(shè)計與高速公路自由流技術(shù)
        大數(shù)據(jù)時代計算機(jī)網(wǎng)絡(luò)應(yīng)用架構(gòu)設(shè)計
        電子制作(2019年24期)2019-02-23 13:22:24
        基于大數(shù)據(jù)分析的ETC系統(tǒng)優(yōu)化探析
        火電廠循環(huán)水處理及系統(tǒng)優(yōu)化探討
        某螢石礦開拓系統(tǒng)優(yōu)化
        對稱加密算法RC5的架構(gòu)設(shè)計與電路實現(xiàn)
        應(yīng)用于SAN的自動精簡配置架構(gòu)設(shè)計與實現(xiàn)
        中文字幕第一页亚洲观看 | 色一乱一伦一图一区二区精品| 91情侣视频| 中国av一区二区三区四区| 女同同性av观看免费| 无码人妻久久一区二区三区app| 亚洲精品国产综合一线久久| 国产粉嫩嫩00在线正在播放| 青草草视频在线观看华人免费| 99久久精品免费看国产一区二区三区| 无码精品a∨在线观看| 国产农村三片免费网站| 青青草视频在线免费视频 | 亚洲av成人精品日韩在线播放| 免费av片在线观看网站| 尤物AV无码色AV无码麻豆| 亚洲国产av一区二区不卡| 免费观看交性大片| 人妻被黑人粗大的猛烈进出 | 成人无码一区二区三区| 久久丫精品国产亚洲av不卡| 国产精品九九九久久九九| 少妇人妻偷人中文字幕| 国产亚洲精品一区二区无| 黑人大荫道bbwbbb高潮潮喷| 久久成人永久免费播放| 亚洲熟女少妇精品久久| 在线观看av片永久免费| 亚洲18色成人网站www| 久久99中文字幕久久| 成人国产一区二区三区av | 亚洲精品成人区在线观看| 久久亚洲第一视频黄色| 蜜桃国产精品视频网站| 欧美国产综合欧美视频| 亚洲AV无码一区二区三区人| 永久免费在线观看蜜桃视频| 精品亚洲一区二区区别在线观看| 图片区小说区激情区偷拍区| 国产乱人伦真实精品视频| 午夜一区二区三区福利视频|