比對(duì)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)分片分布計(jì)算,使得不可用的比對(duì)節(jié)點(diǎn)上分配的數(shù)據(jù)分片可以按各節(jié)點(diǎn)計(jì)算能力均勻的分散到其它可用的節(jié)點(diǎn)上。
[0147]具體的,當(dāng)部署節(jié)點(diǎn)出現(xiàn)故障時(shí),管理服務(wù)器會(huì)將此服務(wù)器上加載的數(shù)據(jù)平均分發(fā)到其他的比對(duì)服務(wù)器上。并且網(wǎng)絡(luò)連接的監(jiān)聽(tīng)器會(huì)實(shí)時(shí)監(jiān)聽(tīng)所有管理節(jié)點(diǎn)與比對(duì)節(jié)點(diǎn)的連接狀態(tài)。當(dāng)故障的服務(wù)節(jié)點(diǎn)恢復(fù)或者新增節(jié)點(diǎn)之后,監(jiān)聽(tīng)器會(huì)第一時(shí)間獲得服務(wù)器節(jié)點(diǎn)的狀態(tài),并通知管理節(jié)點(diǎn)將恢復(fù)的或者新增的節(jié)點(diǎn)納入管理。管理節(jié)點(diǎn)動(dòng)態(tài)計(jì)算數(shù)據(jù)分片,并通知比對(duì)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)加載。保證了管理節(jié)點(diǎn)以及比對(duì)節(jié)點(diǎn)的高擴(kuò)展性和有效性。
[0148]上述機(jī)制支持實(shí)時(shí)動(dòng)態(tài)添加管理節(jié)點(diǎn)以及比對(duì)節(jié)點(diǎn),而無(wú)需停止現(xiàn)有服務(wù)器。真正意義上實(shí)現(xiàn)了不同服務(wù)之間的松耦合以及連接狀態(tài)無(wú)關(guān)聯(lián)性,確保了系統(tǒng)運(yùn)行的穩(wěn)定性,大大降低了由于網(wǎng)絡(luò)或者服務(wù)器原因造成的系統(tǒng)問(wèn)題。
[0149]比對(duì)節(jié)點(diǎn)功能說(shuō)明:
[0150]比對(duì)節(jié)點(diǎn)負(fù)責(zé)調(diào)用生物特征算法對(duì)生物特征進(jìn)行運(yùn)算。此外為加快運(yùn)算速度,每個(gè)比對(duì)節(jié)點(diǎn)均緩存部分生物特征數(shù)據(jù),所有比對(duì)節(jié)點(diǎn)緩存的生物特征數(shù)據(jù)之間無(wú)交集,所有比對(duì)節(jié)點(diǎn)緩存的生物特征數(shù)據(jù)的合集為當(dāng)前可管理的所有生物特征。
[0151]每個(gè)比對(duì)節(jié)點(diǎn)緩存哪部分生物特征數(shù)據(jù)由主管理節(jié)點(diǎn)在運(yùn)行時(shí)通過(guò)計(jì)算給出。各比對(duì)節(jié)點(diǎn)間不進(jìn)行通訊,即各比對(duì)節(jié)點(diǎn)不知道其它比對(duì)節(jié)點(diǎn)的存在。比對(duì)節(jié)點(diǎn)接收所有管理節(jié)點(diǎn)的生物特征運(yùn)算請(qǐng)求;僅接收主管理節(jié)點(diǎn)的發(fā)送的對(duì)緩存數(shù)據(jù)進(jìn)行管理的請(qǐng)求,非主管理服務(wù)器發(fā)送的緩存管理請(qǐng)求將被忽略。
[0152]整體的請(qǐng)求的處理流程:
[0153]應(yīng)用系統(tǒng)接收所有的請(qǐng)求,對(duì)需要進(jìn)行生物特征運(yùn)算的請(qǐng)求,將其發(fā)給管理節(jié)點(diǎn)。管理節(jié)點(diǎn)根據(jù)請(qǐng)求的不同,將請(qǐng)求轉(zhuǎn)發(fā)到一個(gè)或多個(gè)比對(duì)節(jié)點(diǎn)上,收到比對(duì)節(jié)點(diǎn)的返回后,將結(jié)果響應(yīng)給應(yīng)用系統(tǒng)。流程圖如圖2所示。
[0154]上述介紹中,是以將該系統(tǒng)應(yīng)用于生物識(shí)別領(lǐng)域的,事實(shí)上,該系統(tǒng)可以應(yīng)用于任何數(shù)據(jù)處理的領(lǐng)域。
[0155]下面對(duì)系統(tǒng)的連接匹配機(jī)制及工作過(guò)程進(jìn)行描述:
[0156]1.服務(wù)器的啟動(dòng)與發(fā)現(xiàn)機(jī)制
[0157]管理節(jié)點(diǎn)啟動(dòng)后監(jiān)聽(tīng)指定的端口,不主動(dòng)查找比對(duì)節(jié)點(diǎn)。
[0158]在比對(duì)節(jié)點(diǎn)內(nèi)通過(guò)配置文件指定管理節(jié)點(diǎn)的地址或地址范圍與監(jiān)聽(tīng)端口,比對(duì)服務(wù)器在啟動(dòng)后向,不間斷的向指定范圍或指定地址的管理的服務(wù)器廣播通知。管理服務(wù)器收到廣播通知后,響應(yīng)確認(rèn)報(bào)文給比對(duì)節(jié)點(diǎn)。
[0159]通過(guò)不間斷的廣播,比對(duì)服務(wù)器可以隨時(shí)發(fā)現(xiàn)新加入的管理服務(wù)器,管理服務(wù)器也可以發(fā)現(xiàn)新加入的比對(duì)服務(wù)器。
[0160]2.主管理服務(wù)器的確認(rèn)機(jī)制
[0161]比對(duì)節(jié)點(diǎn)在啟動(dòng)后,向已收到響應(yīng)的管理服務(wù)器發(fā)送報(bào)文,詢問(wèn)是否是主管理服務(wù)器,
[0162]+若還沒(méi)有設(shè)置主管理服務(wù)器,向第一臺(tái)響應(yīng)的管理服務(wù)器發(fā)送設(shè)置主管理服務(wù)器消息。管理服務(wù)器收到調(diào)整自身狀態(tài),并響應(yīng)新的狀態(tài)給比對(duì)服務(wù)器。
[0163]-比對(duì)服務(wù)器收到管理服務(wù)器新的狀態(tài)后,向其它管理服務(wù)器發(fā)送消息,設(shè)置其它服務(wù)器為非主管理服務(wù)器(消息中包括當(dāng)前主管理服務(wù)器名字、地址、設(shè)置的時(shí)間等)。
[0164]-其它管理服務(wù)器收到設(shè)置為非主管理服務(wù)器消息后,若當(dāng)前非主管理服務(wù)器,則不做處理。若當(dāng)前服務(wù)器已經(jīng)由另外的比對(duì)服務(wù)器設(shè)置為主管理服務(wù)器,則比對(duì)設(shè)置時(shí)間與收到的消息中原主管理服務(wù)器設(shè)置的時(shí)間,若小于當(dāng)前,忽略這個(gè)請(qǐng)求,否則調(diào)整自身為非主管服務(wù)器,并通知給原來(lái)發(fā)送設(shè)置主管理服務(wù)器消息的比對(duì)服務(wù)器。
[0165]-比對(duì)服務(wù)器在延遲一定時(shí)間后,檢測(cè)主管理服務(wù)器的設(shè)置是否唯一。不唯一時(shí)取第一個(gè)為主管理服務(wù)器,重復(fù)上述過(guò)程。
[0166]+若已經(jīng)設(shè)置主管理服務(wù)器,或有多個(gè)主管理服務(wù)器,則取第一個(gè)作為主管理服務(wù)器,并通知其它作為非主管理服務(wù)器。
[0167]-收到所有服務(wù)器的響應(yīng)后,檢查主管理服務(wù)器是否唯一,不唯一時(shí)重復(fù)上述過(guò)程直至唯一。
[0168]3.確定主管理服務(wù)器后,比對(duì)服務(wù)器向確定的唯一主管理服務(wù)器發(fā)送當(dāng)前比對(duì)節(jié)點(diǎn)的配置、性能等相關(guān)信息,將自己注冊(cè)到主管理服務(wù)器。
[0169]+主管理服務(wù)器的處理流程
[0170]-主管理服務(wù)器收到比對(duì)服務(wù)器的注冊(cè)請(qǐng)求后,將注冊(cè)的比對(duì)服務(wù)器加入到待處理列表。
[0171]-延時(shí)一定時(shí)間后,主管理服務(wù)器計(jì)算待處理列表與已連接的正常的比對(duì)服務(wù)器的總生物特征處理性能。
[0172]-計(jì)算每臺(tái)比對(duì)服務(wù)器相對(duì)于總處理性能的比例。
[0173]-根據(jù)每臺(tái)服務(wù)器的比例,確定每臺(tái)服務(wù)器可處理的數(shù)據(jù)分片的分片數(shù)。
[0174]-比較新的分片數(shù)量與現(xiàn)有的已經(jīng)分配的分片數(shù)量,計(jì)算是調(diào)整的分片數(shù)量(增加用正數(shù)表示,減小用負(fù)數(shù)表示)
[0175]-從已經(jīng)分配的分片數(shù)中,采用大數(shù)優(yōu)先的原則,從尾部去除指定數(shù)量的分片號(hào),并將分片號(hào)加入到可用的分片號(hào)列表。
[0176]-去除完成后,將可用的分片號(hào)分配到需要增加的分片的比對(duì)服務(wù)器分片號(hào)分配方案中。
[0177]-將新的分片號(hào)列表通知比對(duì)服務(wù)器。
[0178]+比對(duì)服務(wù)器收到分片調(diào)整請(qǐng)求后處理流程
[0179]-比較當(dāng)前已經(jīng)加載的分片與新的分片的差異,根據(jù)分片號(hào),從數(shù)據(jù)中移出要去除的分片號(hào),對(duì)要增加的,從指定的數(shù)據(jù)源中加載對(duì)應(yīng)分片號(hào)的數(shù)據(jù)。
[0180]-將加載結(jié)果發(fā)送給主管理服務(wù)器。
[0181]-將新的分片范圍通知其它非主管理服務(wù)器。
[0182]+非主管理服務(wù)器收到分片請(qǐng)求后,用新的分片范圍調(diào)整本身的分片范圍,并檢查范圍是否完整。
[0183]通過(guò)以上步驟,實(shí)現(xiàn)了配置過(guò)程以及工作過(guò)程,并且將可以實(shí)現(xiàn)動(dòng)態(tài)增加比對(duì)服務(wù)器從而動(dòng)態(tài)增加運(yùn)算能力的目的,且支持增加不同性能配置的服務(wù)器,并根據(jù)性能的不同達(dá)到了均勻分配數(shù)據(jù)的目的。在完全隨機(jī)訪問(wèn)的情況下,請(qǐng)求將可以相對(duì)均衡的分配到所有的比對(duì)服務(wù)器上。
[0184]關(guān)于故障檢測(cè)及處理:
[0185]因?yàn)槲粗?、網(wǎng)絡(luò)、BUG等等各種原因,主管理服務(wù)器出現(xiàn)異常時(shí),系統(tǒng)可以達(dá)到自動(dòng)調(diào)整主管理服務(wù)器的目的,具體方案如下:
[0186]1.比對(duì)節(jié)點(diǎn)上啟用狀態(tài)檢查與監(jiān)測(cè)機(jī)制
[0187]+比對(duì)節(jié)點(diǎn)監(jiān)聽(tīng)網(wǎng)絡(luò)狀態(tài)
[0188]+比對(duì)節(jié)點(diǎn)定時(shí)向管理服務(wù)器發(fā)送檢測(cè)報(bào)文,檢查管理服務(wù)器的服務(wù)狀態(tài)。
[0189]通過(guò)監(jiān)測(cè)與檢查,可偵測(cè)到管理服務(wù)器的異常。
[0190]2.偵測(cè)到管理服務(wù)器異常后,根據(jù)主管理服務(wù)器的確認(rèn)機(jī)制,從剩余的管理服務(wù)器中選取第一個(gè)作為新主管理服務(wù)器,并執(zhí)行主管理服務(wù)器確認(rèn)流程。
[0191]+主管理服務(wù)器確認(rèn)后,向新的主管理服務(wù)器注冊(cè)當(dāng)前的分片號(hào)
[0192]+主管理服務(wù)器延時(shí)檢查分片范圍是否完整,分片范圍完整時(shí),主管理服務(wù)器切換完成。
[0193]+分片范圍不完整時(shí),進(jìn)行一定次數(shù)的延時(shí)并重新檢測(cè)分片范圍是否完整,仍不完整時(shí),開(kāi)始進(jìn)行新的分片分配流程。
[0194]通過(guò)上述流程可以達(dá)到動(dòng)態(tài)增加主管理服務(wù)器、動(dòng)態(tài)調(diào)整主管理服務(wù)器的目的。
[0195]管理節(jié)點(diǎn)在檢測(cè)到比對(duì)節(jié)點(diǎn)不可用時(shí),重新對(duì)可用的比對(duì)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)分片分布計(jì)算,使得不可用的比對(duì)節(jié)點(diǎn)上分配的數(shù)據(jù)分片可以按各節(jié)點(diǎn)計(jì)算能力均勻的分散到其它可用的節(jié)點(diǎn)上。
[0196]結(jié)合上述兩個(gè)流程,實(shí)現(xiàn)了一種N:N網(wǎng)絡(luò)下的管理與比對(duì)服務(wù)器的任意擴(kuò)展機(jī)制。
[0197]本發(fā)明在生物識(shí)別領(lǐng)域的應(yīng)用
[0198]現(xiàn)有的生物識(shí)別的方式大多是單一生物特征的識(shí)別,例如單獨(dú)用指紋識(shí)別、單獨(dú)的人臉識(shí)別或者單獨(dú)的用虹膜識(shí)別,某種識(shí)別方式都有各自的優(yōu)缺點(diǎn)和使用環(huán)境的限制,并都存在一定的誤差。如指紋識(shí)別對(duì)手指掉皮、經(jīng)常出汗的人就不大實(shí)用,無(wú)法采集有效的指紋圖像;人臉識(shí)別在光線比較差的情況下不大實(shí)用;虹膜識(shí)別對(duì)具有白內(nèi)障等人不大實(shí)用。通過(guò)多種生物特征的相結(jié)合的方式可以解決掉這些問(wèn)題。單一生物特征識(shí)別都存在一定的誤識(shí)率,如人臉識(shí)別、指紋識(shí)別、虹膜識(shí)別都存在一定的誤識(shí)率,當(dāng)客戶數(shù)量很大時(shí),做1:N認(rèn)證時(shí),得到錯(cuò)誤結(jié)果的可能性就比較大。怎樣避免或者減少這種誤識(shí)率呢,通過(guò)多生物特征綜合認(rèn)證可以減少這種問(wèn)題。先通過(guò)某種生物特征縮小范圍,然后再通過(guò)另外的一種或者幾種生物特征再進(jìn)行認(rèn)證,這樣就可以把誤識(shí)率降到一個(gè)很小的范圍。
[0199]通過(guò)多種生物特征綜合認(rèn)證的方式,例如指紋+人臉+虹膜,來(lái)避免各種生物識(shí)別所帶來(lái)的誤差和使用限制,可以提高1:1或者1:N認(rèn)證時(shí)的準(zhǔn)確率。在采集用戶生物特征時(shí),可以采集用戶的指紋、人臉、虹膜信息,如果有的無(wú)法采集則為空。在進(jìn)行身份認(rèn)證時(shí),可以選擇單一生物特征認(rèn)證、或者多生物特征認(rèn)證,如人臉+指紋,這樣可以提供認(rèn)證的準(zhǔn)確率,也可以解決單生物特征識(shí)別所帶來(lái)的環(huán)境使用限制。
[0200]生物特征綜合認(rèn)證平臺(tái)是多生物特征綜合認(rèn)證的服務(wù)平臺(tái),它分為比對(duì)節(jié)點(diǎn)和管理節(jié)點(diǎn),比對(duì)