本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種數(shù)據(jù)校驗(yàn)的方法,裝置和系統(tǒng)。
背景技術(shù):
異地多活是指異地多個(gè)服務(wù)器同時(shí)分擔(dān)系統(tǒng)流量,保證整個(gè)系統(tǒng)的平穩(wěn)運(yùn)行。認(rèn)證系統(tǒng)需要通過(guò)臨時(shí)性的驗(yàn)證碼對(duì)用戶進(jìn)行身份識(shí)別,而在異地多活的認(rèn)證項(xiàng)目中,由于數(shù)據(jù)同步延時(shí)問(wèn)題的無(wú)法避免,以及實(shí)現(xiàn)高可靠數(shù)據(jù)同步的高成本問(wèn)題,導(dǎo)致用戶體驗(yàn)的不良好甚至?xí)?dǎo)致業(yè)務(wù)流程的中斷。
針對(duì)現(xiàn)有技術(shù)中由于部署在不同地理區(qū)域的驗(yàn)證服務(wù)器之間無(wú)法及時(shí)同步驗(yàn)證碼,導(dǎo)致當(dāng)待驗(yàn)證的用戶終端出現(xiàn)地址位置漂移時(shí),無(wú)法準(zhǔn)確進(jìn)行數(shù)據(jù)校驗(yàn)的技術(shù)問(wèn)題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)校驗(yàn)的方法,裝置和系統(tǒng),以至少解決現(xiàn)有技術(shù)中由于部署在不同地理區(qū)域的驗(yàn)證服務(wù)器之間無(wú)法及時(shí)同步驗(yàn)證碼,導(dǎo)致當(dāng)待驗(yàn)證的用戶終端出現(xiàn)地址位置漂移時(shí),無(wú)法準(zhǔn)確進(jìn)行數(shù)據(jù)校驗(yàn)的技術(shù)問(wèn)題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種數(shù)據(jù)校驗(yàn)的方法,包括:用戶終端接收隨機(jī)校驗(yàn)碼;在用戶終端觸發(fā)校驗(yàn)隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息發(fā)送給當(dāng)前用戶終端允許訪問(wèn)的第一驗(yàn)證服務(wù)器;在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收由第一驗(yàn)證服務(wù)器校驗(yàn)隨機(jī)校驗(yàn)碼而返回的驗(yàn)證結(jié)果;在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收到的驗(yàn)證結(jié)果為第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果;其中,第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端。
根據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種數(shù)據(jù)校驗(yàn)的方法,包括:第一驗(yàn)證服務(wù)器接收當(dāng)前訪問(wèn)的用戶終端發(fā)送的隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息;第一驗(yàn)證服務(wù)器根據(jù)用戶終端的終端標(biāo)識(shí)信息、隨機(jī)校驗(yàn)碼和第一驗(yàn)證服務(wù)器本地存儲(chǔ)的終端信息集合,來(lái)確定第一驗(yàn)證服務(wù)器是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器;在第 一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,驗(yàn)證服務(wù)器對(duì)隨機(jī)校驗(yàn)碼進(jìn)行校驗(yàn),產(chǎn)生驗(yàn)證結(jié)果;在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,驗(yàn)證服務(wù)器接收第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果,其中,第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端;第一驗(yàn)證服務(wù)器將驗(yàn)證結(jié)果返回至用戶終端。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種數(shù)據(jù)校驗(yàn)的裝置,包括:第一接收模塊,用于用戶終端接收隨機(jī)校驗(yàn)碼;第一發(fā)送模塊,用于在用戶終端觸發(fā)校驗(yàn)隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息發(fā)送給當(dāng)前用戶終端允許訪問(wèn)的第一驗(yàn)證服務(wù)器;第二接收模塊,用于在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收由第一驗(yàn)證服務(wù)器校驗(yàn)隨機(jī)校驗(yàn)碼而返回的驗(yàn)證結(jié)果;第三接收模塊,用于在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收到的驗(yàn)證結(jié)果為第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果;其中,第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種數(shù)據(jù)校驗(yàn)的裝置,包括:第一接收模塊,用于第一驗(yàn)證服務(wù)器接收當(dāng)前訪問(wèn)的用戶終端發(fā)送的隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息;確定模塊,用于第一驗(yàn)證服務(wù)器根據(jù)用戶終端的終端標(biāo)識(shí)信息、隨機(jī)校驗(yàn)碼和第一驗(yàn)證服務(wù)器本地存儲(chǔ)的終端信息集合,來(lái)確定第一驗(yàn)證服務(wù)器是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器;產(chǎn)生模塊,用于在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,第一驗(yàn)證服務(wù)器對(duì)隨機(jī)校驗(yàn)碼進(jìn)行校驗(yàn),產(chǎn)生驗(yàn)證結(jié)果;第二接收模塊,用于在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,第一驗(yàn)證服務(wù)器接收第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果,其中,第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端;返回模塊,用于第一驗(yàn)證服務(wù)器將驗(yàn)證結(jié)果返回至用戶終端。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種數(shù)據(jù)校驗(yàn)的系統(tǒng),包括:第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器;用戶終端,分別與第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器通信,用于接收隨機(jī)校驗(yàn)碼;在用戶終端觸發(fā)校驗(yàn)隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息發(fā)送給當(dāng)前用戶終端允許訪問(wèn)的第一驗(yàn)證服務(wù)器;在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收由第一驗(yàn)證服務(wù)器校驗(yàn)隨機(jī)校驗(yàn)碼而返回的驗(yàn)證結(jié)果;在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收到的驗(yàn)證結(jié)果為第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果;其中,第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端。
在本發(fā)明實(shí)施例中,如果需要對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),可以在用戶終端觸發(fā)校驗(yàn)隨機(jī)校 驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息發(fā)送給當(dāng)前用戶終端允許訪問(wèn)的第一驗(yàn)證服務(wù)器,在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收由第一驗(yàn)證服務(wù)器校驗(yàn)隨機(jī)校驗(yàn)碼而返回的驗(yàn)證結(jié)果;在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收到的驗(yàn)證結(jié)果為第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果,并且第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端,從而實(shí)現(xiàn)在用戶終端出現(xiàn)地址位置漂移時(shí)對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)的目的。
容易注意到,由于第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端,接受隨機(jī)校驗(yàn)碼的第一驗(yàn)證服務(wù)器可以確定是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,由生成隨機(jī)校驗(yàn)碼的第二驗(yàn)證服務(wù)器驗(yàn)證該隨機(jī)校驗(yàn)碼,因此,通過(guò)本申請(qǐng)上述實(shí)施例,既可以快速定位到數(shù)據(jù)生成地,又可以保證驗(yàn)證碼數(shù)據(jù)在哪里生成就在哪里校驗(yàn),多中心之間不做數(shù)據(jù)同步,從而可以在用戶端請(qǐng)求漂移的情況下也能夠準(zhǔn)確、無(wú)延時(shí)的進(jìn)行校驗(yàn),保證在不影響用戶體驗(yàn)的情況下做到實(shí)時(shí)驗(yàn)證。
由此,本發(fā)明提供的上述實(shí)施例的方案解決了現(xiàn)有技術(shù)中由于部署在不同地理區(qū)域的驗(yàn)證服務(wù)器之間無(wú)法及時(shí)同步驗(yàn)證碼,導(dǎo)致當(dāng)待驗(yàn)證的用戶終端出現(xiàn)地址位置漂移時(shí),無(wú)法準(zhǔn)確進(jìn)行數(shù)據(jù)校驗(yàn)的技術(shù)問(wèn)題。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本申請(qǐng)實(shí)施例的一種數(shù)據(jù)校驗(yàn)的方法的計(jì)算機(jī)終端的硬件結(jié)構(gòu)框圖;
圖2是根據(jù)本申請(qǐng)實(shí)施例的一種數(shù)據(jù)校驗(yàn)的方法的流程圖;
圖3是根據(jù)本申請(qǐng)實(shí)施例的一種可選的數(shù)據(jù)校驗(yàn)的方法的交互流程圖;
圖4是根據(jù)本申請(qǐng)實(shí)施例的另一種數(shù)據(jù)校驗(yàn)的方法的流程圖;
圖5是根據(jù)本申請(qǐng)實(shí)施例的一種數(shù)據(jù)校驗(yàn)的裝置的示意圖;
圖6是根據(jù)本申請(qǐng)實(shí)施例的一種可選的數(shù)據(jù)校驗(yàn)的裝置的示意圖;
圖7是根據(jù)本申請(qǐng)實(shí)施例的另一種數(shù)據(jù)校驗(yàn)的裝置的示意圖;
圖8是根據(jù)本申請(qǐng)實(shí)施例的一種數(shù)據(jù)校驗(yàn)的系統(tǒng)的示意圖;以及
圖9是根據(jù)本申請(qǐng)實(shí)施例的一種計(jì)算機(jī)終端的結(jié)構(gòu)框圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說(shuō)明的是,本發(fā)明的說(shuō)明書和權(quán)利要求書及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送猓g(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
首先,在對(duì)本申請(qǐng)實(shí)施例進(jìn)行描述的過(guò)程中出現(xiàn)的部分名詞或術(shù)語(yǔ)適用于如下解釋:
哈希算法:將任意長(zhǎng)度的二進(jìn)制值映射為較短的固定長(zhǎng)度的二進(jìn)制值,這個(gè)小的二進(jìn)制值成為哈希值。哈希值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式。如果散列一段明文而且哪怕只更改該段落的第一字母,隨后的哈希都將產(chǎn)生不同的值。要找到散列為同一個(gè)值的兩個(gè)不同的輸入,在計(jì)算上是不可能的,所以數(shù)據(jù)的哈希值可以檢驗(yàn)數(shù)據(jù)的完整性。
實(shí)施例1
根據(jù)本申請(qǐng)實(shí)施例,提供了一種數(shù)據(jù)校驗(yàn)的方法實(shí)施例,需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本申請(qǐng)實(shí)施例一所提供的方法實(shí)施例可以在移動(dòng)終端、計(jì)算機(jī)終端或者類似的運(yùn)算裝置中執(zhí)行。以運(yùn)行在計(jì)算機(jī)終端上為例,圖1是根據(jù)本申請(qǐng)實(shí)施例的一種數(shù)據(jù)校驗(yàn)的方法的計(jì)算機(jī)終端的硬件結(jié)構(gòu)框圖。如圖1所示,計(jì)算機(jī)終端10可以包括一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器102(處理器102可以包括但不限于微處理器mcu或 可編程邏輯器件fpga等的處理裝置)、用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器104、以及用于通信功能的傳輸模塊106。本領(lǐng)域普通技術(shù)人員可以理解,圖1所示的結(jié)構(gòu)僅為示意,其并不對(duì)上述電子裝置的結(jié)構(gòu)造成限定。例如,計(jì)算機(jī)終端10還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。
存儲(chǔ)器104可用于存儲(chǔ)應(yīng)用軟件的軟件程序以及模塊,如本申請(qǐng)實(shí)施例中的數(shù)據(jù)校驗(yàn)的方法和裝置對(duì)應(yīng)的程序指令/模塊,處理器102通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的數(shù)據(jù)校驗(yàn)的方法。存儲(chǔ)器104可包括高速隨機(jī)存儲(chǔ)器,還可包括非易失性存儲(chǔ)器,如一個(gè)或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器104可進(jìn)一步包括相對(duì)于處理器102遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過(guò)網(wǎng)絡(luò)連接至計(jì)算機(jī)終端10。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
傳輸裝置106用于經(jīng)由一個(gè)網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實(shí)例可包括計(jì)算機(jī)終端10的通信供應(yīng)商提供的無(wú)線網(wǎng)絡(luò)。在一個(gè)實(shí)例中,傳輸裝置106包括一個(gè)網(wǎng)絡(luò)適配器(networkinterfacecontroller,nic),其可通過(guò)基站與其他網(wǎng)絡(luò)設(shè)備相連從而可與互聯(lián)網(wǎng)進(jìn)行通訊。在一個(gè)實(shí)例中,傳輸裝置106可以為射頻(radiofrequency,rf)模塊,其用于通過(guò)無(wú)線方式與互聯(lián)網(wǎng)進(jìn)行通訊。
在上述運(yùn)行環(huán)境下,本申請(qǐng)?zhí)峁┝巳鐖D2所示的數(shù)據(jù)校驗(yàn)的方法。圖2是根據(jù)本申請(qǐng)實(shí)施例的一種數(shù)據(jù)校驗(yàn)的方法的流程圖,如圖2所示,該方法包括如下步驟:
步驟s22,用戶終端接收隨機(jī)校驗(yàn)碼。
具體地,上述用戶終端可以是智能手機(jī)(如android手機(jī)、ios手機(jī)等)、平板電腦、掌上電腦以及移動(dòng)互聯(lián)網(wǎng)設(shè)備(mobileinternetdevices,mid)、pad等終端設(shè)備。
步驟s24,在用戶終端觸發(fā)校驗(yàn)隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息發(fā)送給當(dāng)前用戶終端允許訪問(wèn)的第一驗(yàn)證服務(wù)器。
步驟s26,在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收由第一驗(yàn)證服務(wù)器校驗(yàn)隨機(jī)校驗(yàn)碼而返回的驗(yàn)證結(jié)果。
步驟s28,在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收到的驗(yàn)證結(jié)果為第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果。
其中,第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端。
此處需要說(shuō)明的是,本實(shí)施例中的第二驗(yàn)證服務(wù)器可以為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,隨機(jī)校驗(yàn)碼在第二驗(yàn)證服務(wù)器進(jìn)行生成,并且第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器之間的臨時(shí)數(shù)據(jù)不進(jìn)行同步,因此當(dāng)?shù)谝或?yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,則需要通過(guò)生成隨機(jī)校驗(yàn)碼的第二驗(yàn)證服務(wù)器對(duì)用戶終端發(fā)送的隨機(jī)校驗(yàn)碼進(jìn)行驗(yàn)證。
在一種可選的方案中,用戶終端發(fā)起校驗(yàn)請(qǐng)求,將校驗(yàn)請(qǐng)求發(fā)送給獲取隨機(jī)驗(yàn)證碼的服務(wù)器,并接受服務(wù)器返回的臨時(shí)性的隨機(jī)校驗(yàn)碼。用戶終端在接收到隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼發(fā)送給驗(yàn)證隨機(jī)碼的服務(wù)器,驗(yàn)證隨機(jī)碼的服務(wù)器根據(jù)接收到的隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息,確定生成該隨機(jī)校驗(yàn)碼的獲取隨機(jī)驗(yàn)證碼的服務(wù)器,如果驗(yàn)證隨機(jī)碼的服務(wù)器和獲取隨機(jī)驗(yàn)證碼的服務(wù)器為同一個(gè)服務(wù)器,則該驗(yàn)證隨機(jī)碼的服務(wù)器對(duì)接收到的隨機(jī)校驗(yàn)碼進(jìn)行驗(yàn)證,生成驗(yàn)證結(jié)果,并發(fā)送給用戶終端;如果驗(yàn)證隨機(jī)碼的服務(wù)器和獲取隨機(jī)驗(yàn)證碼的服務(wù)器為不同的服務(wù)器,則該驗(yàn)證隨機(jī)碼的服務(wù)器將接收到的隨機(jī)校驗(yàn)碼發(fā)送給獲取隨機(jī)驗(yàn)證碼的服務(wù)器,由獲取隨機(jī)驗(yàn)證碼的服務(wù)器對(duì)該隨機(jī)校驗(yàn)碼進(jìn)行驗(yàn)證,生成驗(yàn)證結(jié)果返回給驗(yàn)證隨機(jī)碼的服務(wù)器,由驗(yàn)證隨機(jī)碼的服務(wù)器將該驗(yàn)證結(jié)果發(fā)送給用戶終端。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。用戶在乘坐高鐵從北京到天津的過(guò)程中,當(dāng)用戶在北京需要進(jìn)行數(shù)據(jù)校驗(yàn)時(shí),可以通過(guò)手機(jī)發(fā)送校驗(yàn)請(qǐng)求到北京服務(wù)器,并接受北京服務(wù)器生成的隨機(jī)校驗(yàn)碼,在用戶接受到隨機(jī)校驗(yàn)碼之后,如果此時(shí)用戶乘坐高鐵達(dá)到天津,則將隨機(jī)校驗(yàn)碼發(fā)送給天津服務(wù)器,天津服務(wù)器在接收到隨機(jī)校驗(yàn)碼之后確定不是天津服務(wù)器生成的隨機(jī)校驗(yàn)碼,因此可以將隨機(jī)校驗(yàn)碼發(fā)送給生成地北京服務(wù)器,由北京服務(wù)器完成數(shù)據(jù)校驗(yàn)過(guò)程。
本申請(qǐng)上述實(shí)施例一公開(kāi)的方案中,如果需要對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),可以在用戶終端觸發(fā)校驗(yàn)隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息發(fā)送給當(dāng)前用戶終端允許訪問(wèn)的第一驗(yàn)證服務(wù)器,在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收由第一驗(yàn)證服務(wù)器校驗(yàn)隨機(jī)校驗(yàn)碼而返回的驗(yàn)證結(jié)果;在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收到的驗(yàn)證結(jié)果為第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果,并且第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端,從而實(shí)現(xiàn)在用戶終端出現(xiàn)地址位置漂移時(shí)對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)的目的。
容易注意到,由于第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端,接受隨機(jī)校驗(yàn)碼的第一驗(yàn)證服務(wù)器可以確定是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,在 第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,由生成隨機(jī)校驗(yàn)碼的第二驗(yàn)證服務(wù)器驗(yàn)證該隨機(jī)校驗(yàn)碼,因此,通過(guò)本申請(qǐng)上述實(shí)施例,既可以快速定位到數(shù)據(jù)生成地,又可以保證驗(yàn)證碼數(shù)據(jù)在哪里生成就在哪里校驗(yàn),多中心之間不做數(shù)據(jù)同步,從而可以在用戶端請(qǐng)求漂移的情況下也能夠準(zhǔn)確、無(wú)延時(shí)的進(jìn)行校驗(yàn),保證在不影響用戶體驗(yàn)的情況下做到實(shí)時(shí)驗(yàn)證。
由此,本申請(qǐng)?zhí)峁┑纳鲜鰧?shí)施例一的方案解決了現(xiàn)有技術(shù)中由于部署在不同地理區(qū)域的驗(yàn)證服務(wù)器之間無(wú)法及時(shí)同步驗(yàn)證碼,導(dǎo)致當(dāng)待驗(yàn)證的用戶終端出現(xiàn)地址位置漂移時(shí),無(wú)法準(zhǔn)確進(jìn)行數(shù)據(jù)校驗(yàn)的技術(shù)問(wèn)題。
根據(jù)本申請(qǐng)上述實(shí)施例,第一驗(yàn)證服務(wù)器根據(jù)用戶終端的終端標(biāo)識(shí)信息、隨機(jī)校驗(yàn)碼和第一驗(yàn)證服務(wù)器本地存儲(chǔ)的終端信息集合,來(lái)確定第一驗(yàn)證服務(wù)器是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器。
具體地,上述用戶終端的終端標(biāo)識(shí)信息可以是用戶的手機(jī)號(hào)或者個(gè)人郵箱的地址,終端信息可以是驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房掩碼,終端信息集合可以是部署在異地的多個(gè)驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房掩碼集合,機(jī)房掩碼的取值可以為256,257,258等。
根據(jù)本申請(qǐng)上述實(shí)施例,在步驟s22,用戶終端接收隨機(jī)校驗(yàn)碼之前,上述方法還可以包括如下步驟:
步驟s20,用戶終端將用戶終端的終端標(biāo)識(shí)信息發(fā)送給當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器,其中,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器為第一驗(yàn)證服務(wù)器或第二驗(yàn)證服務(wù)器。
步驟s21,用戶終端接收當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器返回的隨機(jī)校驗(yàn)碼,其中,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器根據(jù)用戶終端的終端標(biāo)識(shí)信息和當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信息,生成隨機(jī)校驗(yàn)碼。
在一種可選的方案中,用戶終端發(fā)起校驗(yàn)請(qǐng)求,將校驗(yàn)請(qǐng)求發(fā)送給獲取隨機(jī)驗(yàn)證碼的服務(wù)器,即上述的第一驗(yàn)證服務(wù)器或第二驗(yàn)證服務(wù)器,服務(wù)器根據(jù)用戶終端的手機(jī)號(hào)和服務(wù)器所在機(jī)房的機(jī)房掩碼生成隨機(jī)校驗(yàn)碼,并返回給用戶終端。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。當(dāng)用戶需要進(jìn)行數(shù)據(jù)校驗(yàn)時(shí),可以通過(guò)手機(jī)發(fā)送校驗(yàn)請(qǐng)求到北京服務(wù)器,北京服務(wù)器根據(jù)手機(jī)的手機(jī)號(hào)和北京服務(wù)器所在機(jī)房的機(jī)房掩碼,生成隨機(jī)校驗(yàn)碼返回給用戶的手機(jī)。
根據(jù)本申請(qǐng)上述實(shí)施例,步驟s21,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器根據(jù)用戶終端的終端標(biāo)識(shí)信息和當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信息,生成隨機(jī)校驗(yàn)碼,可以包括 如下步驟:
步驟s210,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器獲取用戶終端的終端標(biāo)識(shí)信息和當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信息。
在一種可選的方案中,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器可以接收用戶終端發(fā)送的手機(jī)號(hào)或郵箱地址,并從當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)中讀取該驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房掩碼。
步驟s212,根據(jù)用戶終端的終端標(biāo)識(shí)信息,得到偏移量。
在一種可選的方案中,可以通過(guò)哈希算法,將用戶終端的手機(jī)號(hào)或者郵箱地址進(jìn)行哈希運(yùn)算,得到偏移量offset,也可以將手機(jī)尾號(hào)或郵箱地址首字母對(duì)應(yīng)的ascii碼作為偏移量offset。
此處需要說(shuō)明的是,通過(guò)哈希算法可以隨機(jī)更分散的得到偏移量。
步驟s214,將當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信息按照偏移量進(jìn)行左移運(yùn)算,得到生成因子。
步驟s216,根據(jù)偏移量和隨機(jī)生成的隨機(jī)碼,生成隨機(jī)碼因子。
步驟s218,將生成因子和隨機(jī)碼因子進(jìn)行取或運(yùn)算,得到隨機(jī)校驗(yàn)碼。
在一種可選的方案中,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器可以根據(jù)用戶終端的手機(jī)號(hào)或者郵箱地址,通過(guò)哈希算法得到偏移量offset,并根據(jù)該當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房掩碼idccode和隨機(jī)生成的隨機(jī)碼temprandom,通過(guò)預(yù)設(shè)算法得到隨機(jī)校驗(yàn)碼code。
例如,以用戶終端為手機(jī),當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。北京服務(wù)器在接收到用戶手機(jī)發(fā)送的獲取隨機(jī)驗(yàn)證碼的請(qǐng)求之后,根據(jù)用戶的手機(jī)號(hào)得到偏移量offset=2,將北京服務(wù)器所在機(jī)房的機(jī)房掩碼idccode=258按偏移量進(jìn)行向左位移得到生成因子factor=0000000000001000,根據(jù)隨機(jī)生成的隨機(jī)碼得到隨機(jī)碼因子random=0000000000000001,將生成因子factor和隨機(jī)碼因子random取或,得到隨機(jī)校驗(yàn)碼code,即code=0000000000001000|0000000000000001=0000000000001001。
根據(jù)本申請(qǐng)上述實(shí)施例,步驟s214,將當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信息按照偏移量進(jìn)行左移運(yùn)算,得到生成因子,可以包括如下步驟:
步驟s2142,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器將當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信 息轉(zhuǎn)換為二進(jìn)制數(shù)據(jù),并提取預(yù)定位數(shù)得到當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的標(biāo)識(shí)信息。
具體地,上述預(yù)定位數(shù)可以是二進(jìn)制數(shù)據(jù)的后n位,例如,n可以為4。
在一種可選的方案中,可以將取二進(jìn)制機(jī)房掩碼idccode的后4位得到機(jī)房標(biāo)識(shí)subidccode,即subidccode=idccode&2^4-1。
步驟s2144,將當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的標(biāo)識(shí)信息按照偏移量進(jìn)行左移運(yùn)算,得到生成因子。
在一種可選的方案中,可以將機(jī)房標(biāo)識(shí)subidccode按偏移量向左位移,得到生成因子factor,即factor=subidccode<<offset。
例如,以用戶終端為手機(jī),當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。北京服務(wù)器將機(jī)房掩碼隨機(jī)碼idccode=258轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)idccode=000000100000010,取二進(jìn)制數(shù)據(jù)的后4位得到機(jī)房標(biāo)識(shí)subidccode=0000000100000010&0000000000001111=0000000000000010,將機(jī)房標(biāo)識(shí)subidccode按偏移量offset=2進(jìn)行向左位移,得到生成因子factor=0000000000000010<<2=0000000000001000。
根據(jù)本申請(qǐng)上述實(shí)施例,步驟s216,根據(jù)偏移量和隨機(jī)生成的隨機(jī)碼,生成隨機(jī)碼因子,可以包括如下步驟:
步驟s2162,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器將二進(jìn)制數(shù)按照偏移量進(jìn)行左移運(yùn)算,得到左移后的二進(jìn)制數(shù)。
具體地,上述二進(jìn)制數(shù)可以為步驟s2142中二進(jìn)制數(shù)據(jù)的后n位,即2^n-1,例如,可以為2^4-1,即0000000000001111。
步驟s2164,對(duì)左移后的二進(jìn)制數(shù)進(jìn)行取反運(yùn)算,得到臨時(shí)變量。
步驟s2166,將臨時(shí)變量和隨機(jī)生成的隨機(jī)碼進(jìn)行取與運(yùn)算,得到隨機(jī)碼因子。
具體地,上述隨機(jī)生成的隨機(jī)碼可以通過(guò)程序隨機(jī)生成,隨機(jī)碼的位數(shù)可以根據(jù)需要進(jìn)行設(shè)定,例如可以隨機(jī)生成4位隨機(jī)碼。
在一種可選的方案中,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器可以將二進(jìn)制數(shù)2^n-1按偏移量offset進(jìn)行向左位移并取反,得到臨時(shí)變量temp,即temp=~(2^n-1<<offset),將4位隨機(jī)碼temprandom和臨時(shí)變量temp取與,得到隨機(jī)碼因子random,即random=temprandom&temp。
例如,以用戶終端為手機(jī),當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本 申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。北京服務(wù)器隨機(jī)生成的隨機(jī)碼temprandom=0000000000001001,將二進(jìn)制數(shù)2^4-1按照偏移量offset=2進(jìn)行向左位移并取反,得到臨時(shí)變量temp=~(0000000000001111<<2)=~0000000000111100=1111111111000011,將隨機(jī)碼temprandom和臨時(shí)變量temp取與,得到隨機(jī)碼因子random=1111111111000011&0000000000001001=0000000000000001。
根據(jù)本申請(qǐng)上述實(shí)施例,第一驗(yàn)證服務(wù)器根據(jù)用戶終端的終端標(biāo)識(shí)信息、隨機(jī)校驗(yàn)碼和第一驗(yàn)證服務(wù)器本地存儲(chǔ)的終端信息集合,來(lái)確定第一驗(yàn)證服務(wù)器是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,可以包括如下步驟:
步驟s221,從第一驗(yàn)證服務(wù)器中讀取預(yù)先保存的終端信息集合,并讀取第一驗(yàn)證服務(wù)器的終端信息。
在一種可選的方案中,第一驗(yàn)證服務(wù)器可以讀取預(yù)先保存的多個(gè)驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房掩碼集合,并讀取第一驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房掩碼idccode。
步驟s222,根據(jù)用戶終端的終端標(biāo)識(shí)信息,得到偏移量。
在一種可選的方案中,上述終端標(biāo)識(shí)信息可以與步驟s212中的終端標(biāo)識(shí)信息相同,即可以通過(guò)哈希算法,將用戶終端的手機(jī)號(hào)或者郵箱地址進(jìn)行哈希運(yùn)算,得到偏移量offset,也可以將手機(jī)尾號(hào)或郵箱地址首字母對(duì)應(yīng)的ascii碼作為偏移量offset。
步驟s223,將第一驗(yàn)證服務(wù)器的終端信息按照偏移量進(jìn)行左移運(yùn)算,得到校驗(yàn)因子。
在一種可選的方案中,可以將第一驗(yàn)證服務(wù)器的機(jī)房掩碼idccode按照偏移量offset向左位移,得到校驗(yàn)因子factor。
步驟s224,根據(jù)偏移量和隨機(jī)校驗(yàn)碼,生成標(biāo)識(shí)信息,其中,標(biāo)識(shí)信息為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的標(biāo)識(shí)信息。
在一種可選的方案中,可以通過(guò)預(yù)定的算法,根據(jù)偏移量offset和隨機(jī)校驗(yàn)碼code生成機(jī)房標(biāo)識(shí)contrastcode。
步驟s225,如果標(biāo)識(shí)信息與校驗(yàn)因子相同,則確定第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器。
步驟s226,如果標(biāo)識(shí)信息與校驗(yàn)因子不同,則確定第一驗(yàn)證服務(wù)器不為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器。
在一種可選的方案中,如果校驗(yàn)因子factor和機(jī)房標(biāo)識(shí)contrastcode相同,則 確定第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼code的驗(yàn)證服務(wù)器;如果不相同,則確定第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼code的驗(yàn)證服務(wù)器。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。天津服務(wù)器在接收到隨機(jī)校驗(yàn)碼code之后,可以讀取本地存儲(chǔ)的機(jī)房掩碼集合,該機(jī)房掩碼集合中包含三個(gè)機(jī)房掩碼,上海服務(wù)器所在機(jī)房的機(jī)房掩碼idccode=256,天津服務(wù)器所在機(jī)房的機(jī)房掩碼idccode=257和北京服務(wù)器所在機(jī)房的機(jī)房掩碼idccode=258,讀取天津服務(wù)器的機(jī)房掩碼idccode=257,并按照偏移量offset=2進(jìn)行向左位移,得到校驗(yàn)因子factor=0000000000000100,根據(jù)偏移量offset=2和隨機(jī)校驗(yàn)碼code=0000000000001001,生成機(jī)房標(biāo)識(shí)contrastcode=0000000000001000,由于factor=0000000000000100和contrastcode=0000000000001000不相同,因此可以確定第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼code的驗(yàn)證服務(wù)器。
根據(jù)本申請(qǐng)上述實(shí)施例,步驟s223,將第一驗(yàn)證服務(wù)器的終端信息按照偏移量進(jìn)行左移運(yùn)算,得到校驗(yàn)因子,可以包括如下步驟:
步驟s2232,第一驗(yàn)證服務(wù)器將第一驗(yàn)證服務(wù)器的終端信息轉(zhuǎn)換為二進(jìn)制數(shù)據(jù),并提取預(yù)定位數(shù)得到第一驗(yàn)證服務(wù)器的標(biāo)識(shí)信息。
在一種可選的方案中,第一驗(yàn)證服務(wù)器可以取二進(jìn)制機(jī)房掩碼的idccode的后n位,例如后4位得到機(jī)房標(biāo)識(shí)subidccode,即subidccode=idccode&2^4。
步驟s2234,將第一驗(yàn)證服務(wù)器的標(biāo)識(shí)信息按照偏移量進(jìn)行左移運(yùn)算,得到校驗(yàn)因子。
在一種可選的方案中,在得到機(jī)房標(biāo)識(shí)之后,可以將第一驗(yàn)證服務(wù)器的機(jī)房標(biāo)識(shí)按照偏移量offset向左移位,得到校驗(yàn)因子factor,即factor=subidccode<<offset。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。天津服務(wù)器本地存儲(chǔ)的機(jī)房掩碼集合可以包括三個(gè)機(jī)房掩碼,即上海服務(wù)器所在機(jī)房的機(jī)房掩碼idccode=256=0000000100000000,天津服務(wù)器所在機(jī)房的機(jī)房掩碼idccode=257=0000000100000001和北京服務(wù)器所在機(jī)房的機(jī)房掩碼idccode=258=0000000100000010,可以提取本地存儲(chǔ)的機(jī)房掩碼集合中每個(gè)機(jī)房掩碼的二進(jìn)制的后4位得到機(jī)房標(biāo)識(shí)集合,即上海服務(wù)器的機(jī)房標(biāo)識(shí)subidccode=0000000000000000,天津服務(wù)器的機(jī)房標(biāo)識(shí)subidccode=0000000000000001和北京服務(wù)器的機(jī)房標(biāo)識(shí)subidccode=0000000000000010,根據(jù)手機(jī)的手機(jī)尾號(hào)得到偏移量offset=2,再將機(jī)房標(biāo)識(shí)集 合中每個(gè)機(jī)房標(biāo)識(shí)按偏移量offset=2進(jìn)行向左位移,得到上海服務(wù)器的因子factor=0000000000000000,天津服務(wù)器的因子factor=0000000000000100和北京服務(wù)器的因子factor=0000000000001000,將每個(gè)因子factor與機(jī)房標(biāo)識(shí)costrastcode進(jìn)行比較,確定生成該隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器為北京服務(wù)器。
根據(jù)本申請(qǐng)上述實(shí)施例,步驟s224,根據(jù)偏移量和隨機(jī)校驗(yàn)碼,生成標(biāo)識(shí)信息,可以包括如下步驟:
步驟s2242,第一驗(yàn)證服務(wù)器將二進(jìn)制數(shù)按照偏移量進(jìn)行左移運(yùn)算,得到臨時(shí)變量。
具體地,上述二進(jìn)制數(shù)可以與步驟s2162中的二進(jìn)制數(shù)相同。
在一種可選的方案中,第一驗(yàn)證服務(wù)器可以將二進(jìn)制數(shù)2^n-1按偏移量向左移位得到臨時(shí)變量temp,即temp=2^n-1<<offset。
步驟s2244,將隨機(jī)校驗(yàn)碼和臨時(shí)變量進(jìn)行取與運(yùn)算,得到標(biāo)識(shí)信息。
在一種可選的方案中,第一驗(yàn)證服務(wù)器可以將隨機(jī)校驗(yàn)碼code和臨時(shí)變量temp取與,即code&temp,得到生成隨機(jī)校驗(yàn)碼code的驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房標(biāo)識(shí)constrastcode。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。天津服務(wù)器在接收到隨機(jī)校驗(yàn)碼code=0000000000001001之后,將二進(jìn)制數(shù)2^4-1按偏移量offset=2向左位移得到臨時(shí)變量temp=0000000000001111<<2=0000000000011110,將隨機(jī)校驗(yàn)碼和臨時(shí)變量進(jìn)行按位與運(yùn)算得到生成隨機(jī)校驗(yàn)碼code的驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房標(biāo)識(shí)costrastcode=0000000000001001&0000000000011110=0000000000001000。
根據(jù)本申請(qǐng)上述實(shí)施例,在步驟s226,確定第一驗(yàn)證服務(wù)器不為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器之后,上述方法還可以包括如下步驟:
步驟s2262,第一驗(yàn)證服務(wù)器將用戶終端的終端標(biāo)識(shí)信息和隨機(jī)校驗(yàn)碼發(fā)送至第二驗(yàn)證服務(wù)器,并接收第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果。
步驟s2264,將驗(yàn)證結(jié)果返回至用戶終端。
其中,根據(jù)第二驗(yàn)證服務(wù)器的終端信息得到的校驗(yàn)因子與標(biāo)識(shí)信息相同。
在一種可選的方案中,當(dāng)?shù)谝或?yàn)證服務(wù)器確定生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器不是第一驗(yàn)證服務(wù)器,而是第二驗(yàn)證服務(wù)器,則將用戶終端的手機(jī)號(hào)和隨機(jī)校驗(yàn)碼發(fā)送至 第二驗(yàn)證服務(wù)器,并接收第二驗(yàn)證服務(wù)器產(chǎn)生的驗(yàn)證結(jié)果,返回給用戶終端。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。天津服務(wù)器經(jīng)過(guò)算法確定生成隨機(jī)校驗(yàn)碼code的驗(yàn)證服務(wù)器為北京服務(wù)器,則將隨機(jī)校驗(yàn)碼code和用戶的手機(jī)號(hào)發(fā)送給北京服務(wù)器,北京服務(wù)器根據(jù)用戶的手機(jī)號(hào)和所在機(jī)房的機(jī)房掩碼對(duì)隨機(jī)校驗(yàn)碼進(jìn)行校驗(yàn),得到驗(yàn)證結(jié)果并發(fā)送給天津服務(wù)器,天津服務(wù)器在接收到驗(yàn)證結(jié)果之后返回到用戶的手機(jī)。
下面結(jié)合圖3詳細(xì)介紹本申請(qǐng)的一種優(yōu)選實(shí)施例。
如圖3所示,以第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器為應(yīng)用場(chǎng)景,提供了一種可選的數(shù)據(jù)校驗(yàn)的方法,該方法可以包括如下步驟s31至步驟s310:
步驟s31,用戶終端85將終端標(biāo)識(shí)信息發(fā)送給第二驗(yàn)證服務(wù)器83。
可選地,用戶終端觸發(fā)生成隨機(jī)校驗(yàn)碼之后,將終端標(biāo)識(shí)信息發(fā)送給當(dāng)前允許訪問(wèn)的第二驗(yàn)證服務(wù)器。
步驟s32,第二驗(yàn)證服務(wù)器83根據(jù)用戶終端的終端標(biāo)識(shí)信息和第二驗(yàn)證服務(wù)器的終端信息,生成隨機(jī)校驗(yàn)碼。
可選地,第二驗(yàn)證服務(wù)器首先獲取第二驗(yàn)證服務(wù)器的終端信息,提取二進(jìn)制終端信息的后n位得到第二驗(yàn)證服務(wù)器的標(biāo)識(shí)信息,然后根據(jù)用戶終端的終端標(biāo)識(shí)信息得到偏移量,將第二驗(yàn)證服務(wù)器的標(biāo)識(shí)信息按偏移量向左位移得到生成因子,然后將二級(jí)制數(shù)按偏移量向左位移取反得到臨時(shí)變量,并將4位隨機(jī)碼與臨時(shí)變量取與得到隨機(jī)碼因子,最后將生成因子與隨機(jī)碼因子取或生成隨機(jī)校驗(yàn)碼。
步驟s33,第二驗(yàn)證服務(wù)器83將隨機(jī)校驗(yàn)碼發(fā)送給用戶終端85。
步驟s34,用戶終端85將接收到的隨機(jī)校驗(yàn)碼和終端標(biāo)識(shí)信息發(fā)送給第一驗(yàn)證服務(wù)器81。
可選地,用戶終端85觸發(fā)校驗(yàn)隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼和終端標(biāo)識(shí)信息發(fā)送給當(dāng)前允許訪問(wèn)的第一驗(yàn)證服務(wù)器81。
步驟s35,第一驗(yàn)證服務(wù)器81根據(jù)終端標(biāo)識(shí)信息,隨機(jī)校驗(yàn)碼和本地存儲(chǔ)的終端信息集合確定第一驗(yàn)證服務(wù)器是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器。
可選地,第一驗(yàn)證服務(wù)器首先讀取本地存儲(chǔ)的終端信息集合,并讀取第一驗(yàn)證服務(wù)器的終端信息,取二進(jìn)制終端信息的后n位得到第一驗(yàn)證服務(wù)器的標(biāo)識(shí)信息,然后 根據(jù)用戶終端的終端標(biāo)識(shí)信息得到偏移量,將第一驗(yàn)證服務(wù)器的標(biāo)識(shí)信息按偏移量向左位移得到校驗(yàn)因子,然后將二級(jí)制數(shù)按偏移量向左位移得到臨時(shí)變量,并將隨機(jī)校驗(yàn)碼與臨時(shí)變量取與得到標(biāo)識(shí)信息,如果標(biāo)識(shí)信息和校驗(yàn)因子相同,則確定第一驗(yàn)證服務(wù)器是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,進(jìn)入步驟s36;如果不同,則確定第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,進(jìn)入步驟s37。
步驟s36,如果第一驗(yàn)證服務(wù)器是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,則第一驗(yàn)證服務(wù)器81校驗(yàn)隨機(jī)校驗(yàn)碼,產(chǎn)生驗(yàn)證結(jié)果。
步驟s37,如果第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,則第一驗(yàn)證服務(wù)器81將隨機(jī)校驗(yàn)碼和終端標(biāo)識(shí)信息發(fā)送給第二驗(yàn)證服務(wù)器83。
步驟s38,第二驗(yàn)證服務(wù)器83校驗(yàn)隨機(jī)校驗(yàn)碼,產(chǎn)生驗(yàn)證結(jié)果。
步驟s39,第二驗(yàn)證服務(wù)器83將驗(yàn)證結(jié)果返回給第一驗(yàn)證服務(wù)器81。
步驟s310,第一驗(yàn)證服務(wù)器81將驗(yàn)證結(jié)果返回給用戶終端85。
通過(guò)本申請(qǐng)上述實(shí)施例,可以通過(guò)一定的算法可以將驗(yàn)證碼數(shù)據(jù)做到既不增加長(zhǎng)度又不提升碰撞機(jī)率,又可以根據(jù)隨機(jī)校驗(yàn)碼和終端標(biāo)識(shí)信息確定生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,并通過(guò)生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器對(duì)該隨機(jī)校驗(yàn)碼進(jìn)行驗(yàn)證,得到驗(yàn)證結(jié)果,從而實(shí)現(xiàn)在異地多活下臨時(shí)數(shù)據(jù)不進(jìn)行機(jī)房同步的情況下,也可以解決獲取隨機(jī)驗(yàn)證碼與獲取隨機(jī)驗(yàn)證碼與驗(yàn)證隨機(jī)驗(yàn)證碼的兩個(gè)請(qǐng)求被分發(fā)到兩個(gè)不同的機(jī)房的問(wèn)題,從而可以在用戶端請(qǐng)求漂移的情況下也能夠準(zhǔn)確、無(wú)延時(shí)的進(jìn)行校驗(yàn)。
需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請(qǐng)并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本申請(qǐng),某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本申請(qǐng)所必須的。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的數(shù)據(jù)校驗(yàn)方法可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述的方法。
實(shí)施例2
根據(jù)本申請(qǐng)實(shí)施例,還提供了一種數(shù)據(jù)校驗(yàn)的方法實(shí)施例,需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
在上述運(yùn)行環(huán)境下,本申請(qǐng)?zhí)峁┝巳鐖D4所示的數(shù)據(jù)校驗(yàn)的方法。圖4是根據(jù)本申請(qǐng)實(shí)施例的另一種數(shù)據(jù)校驗(yàn)的方法的流程圖,如圖4所示,該方法包括如下步驟:
步驟s40,第一驗(yàn)證服務(wù)器接收當(dāng)前訪問(wèn)的用戶終端發(fā)送的隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息。
具體地,上述用戶終端可以是智能手機(jī)(如android手機(jī)、ios手機(jī)等)、平板電腦、掌上電腦以及移動(dòng)互聯(lián)網(wǎng)設(shè)備(mobileinternetdevices,mid)、pad等終端設(shè)備,用戶終端的終端標(biāo)識(shí)信息可以是用戶的手機(jī)號(hào)或者個(gè)人郵箱的地址。
步驟s42,第一驗(yàn)證服務(wù)器根據(jù)用戶終端的終端標(biāo)識(shí)信息、隨機(jī)校驗(yàn)碼和第一驗(yàn)證服務(wù)器本地存儲(chǔ)的終端信息集合,來(lái)確定第一驗(yàn)證服務(wù)器是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器。
具體地,上述終端信息可以是驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房掩碼,終端信息集合可以是部署在異地的多個(gè)驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房掩碼集合,機(jī)房掩碼的取值可以為256,257,258等。
步驟s44,在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,第一驗(yàn)證服務(wù)器對(duì)隨機(jī)校驗(yàn)碼進(jìn)行校驗(yàn),產(chǎn)生驗(yàn)證結(jié)果。
步驟s46,在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,第一驗(yàn)證服務(wù)器接收第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果,其中,第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端。
步驟s48,第一驗(yàn)證服務(wù)器將驗(yàn)證結(jié)果返回至用戶終端。
在一種可選的方案中,第一驗(yàn)證服務(wù)器在接收到用戶終端發(fā)送的隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息,確定生成該隨機(jī)校驗(yàn)碼的獲取隨機(jī)驗(yàn)證碼的服務(wù)器,如果驗(yàn)證隨機(jī)碼的服務(wù)器和獲取隨機(jī)驗(yàn)證碼的服務(wù)器為同一個(gè)服務(wù)器,則該驗(yàn)證隨機(jī)碼的服務(wù)器對(duì)接收到的隨機(jī)校驗(yàn)碼進(jìn)行驗(yàn)證,生成驗(yàn)證結(jié)果,并發(fā)送給用戶終端;如果驗(yàn)證隨機(jī)碼的服務(wù)器和獲取隨機(jī)驗(yàn)證碼的服務(wù)器為不同的服務(wù)器,則該驗(yàn)證隨機(jī)碼的服務(wù)器將接收到的隨機(jī)校驗(yàn)碼發(fā)送給獲取隨機(jī)驗(yàn)證碼的服務(wù)器,由獲取隨機(jī)驗(yàn)證碼的服務(wù) 器對(duì)該隨機(jī)校驗(yàn)碼進(jìn)行驗(yàn)證,生成驗(yàn)證結(jié)果返回給驗(yàn)證隨機(jī)碼的服務(wù)器,由驗(yàn)證隨機(jī)碼的服務(wù)器將該驗(yàn)證結(jié)果發(fā)送給用戶終端。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。用戶在乘坐高鐵從北京到天津的過(guò)程中,當(dāng)用戶在北京需要進(jìn)行數(shù)據(jù)校驗(yàn)時(shí),可以通過(guò)手機(jī)發(fā)送校驗(yàn)請(qǐng)求到北京服務(wù)器,并接受北京服務(wù)器生成的隨機(jī)校驗(yàn)碼,在用戶接受到隨機(jī)校驗(yàn)碼之后,如果此時(shí)用戶乘坐高鐵達(dá)到天津,則將隨機(jī)校驗(yàn)碼發(fā)送給天津服務(wù)器,天津服務(wù)器在接收到隨機(jī)校驗(yàn)碼之后確定不是天津服務(wù)器生成的隨機(jī)校驗(yàn)碼,因此可以將隨機(jī)校驗(yàn)碼發(fā)送給生成地北京服務(wù)器,由北京服務(wù)器完成數(shù)據(jù)校驗(yàn)過(guò)程。
本申請(qǐng)上述實(shí)施例二公開(kāi)的方案中,如果需要對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),可以在用戶終端接收到用戶終端發(fā)送的隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息之后,根據(jù)隨機(jī)校驗(yàn)碼,終端標(biāo)識(shí)信息和本地存儲(chǔ)的終端信息集合確定第一驗(yàn)證服務(wù)器是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收由第一驗(yàn)證服務(wù)器校驗(yàn)隨機(jī)校驗(yàn)碼而返回的驗(yàn)證結(jié)果;在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收到的驗(yàn)證結(jié)果為第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果,并且第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端,從而實(shí)現(xiàn)在用戶終端出現(xiàn)地址位置漂移時(shí)對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)的目的。
容易注意到,由于第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端,接受隨機(jī)校驗(yàn)碼的第一驗(yàn)證服務(wù)器可以確定是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,由生成隨機(jī)校驗(yàn)碼的第二驗(yàn)證服務(wù)器驗(yàn)證該隨機(jī)校驗(yàn)碼,因此,通過(guò)本申請(qǐng)上述實(shí)施例,既可以快速定位到數(shù)據(jù)生成地,又可以保證驗(yàn)證碼數(shù)據(jù)在哪里生成就在哪里校驗(yàn),多中心之間不做數(shù)據(jù)同步,從而可以在用戶端請(qǐng)求漂移的情況下也能夠準(zhǔn)確、無(wú)延時(shí)的進(jìn)行校驗(yàn),保證在不影響用戶體驗(yàn)的情況下做到實(shí)時(shí)驗(yàn)證。
由此,本申請(qǐng)?zhí)峁┑纳鲜鰧?shí)施例二的方案解決了現(xiàn)有技術(shù)中由于部署在不同地理區(qū)域的驗(yàn)證服務(wù)器之間無(wú)法及時(shí)同步驗(yàn)證碼,導(dǎo)致當(dāng)待驗(yàn)證的用戶終端出現(xiàn)地址位置漂移時(shí),無(wú)法準(zhǔn)確進(jìn)行數(shù)據(jù)校驗(yàn)的技術(shù)問(wèn)題。
根據(jù)本申請(qǐng)上述實(shí)施例,步驟s42,第一驗(yàn)證服務(wù)器根據(jù)用戶終端的終端標(biāo)識(shí)信息、隨機(jī)校驗(yàn)碼和第一驗(yàn)證服務(wù)器本地存儲(chǔ)的終端信息集合,來(lái)確定第一驗(yàn)證服務(wù)器是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,可以包括如下步驟:
步驟s421,第一驗(yàn)證服務(wù)器從終端信息集合中,獲取第一驗(yàn)證服務(wù)器的終端信息。
在一種可選的方案中,第一驗(yàn)證服務(wù)器可以讀取預(yù)先保存的多個(gè)驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房掩碼集合,并讀取第一驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房掩碼idccode。
步驟s422,根據(jù)用戶終端的終端標(biāo)識(shí)信息,得到偏移量。
在一種可選的方案中,上述終端標(biāo)識(shí)信息可以與步驟s212中的終端標(biāo)識(shí)信息相同,即可以通過(guò)哈希算法,將用戶終端的手機(jī)號(hào)或者郵箱地址進(jìn)行哈希運(yùn)算,得到偏移量offset,也可以將手機(jī)尾號(hào)或郵箱地址首字母對(duì)應(yīng)的ascii碼作為偏移量offset。
步驟s423,將第一驗(yàn)證服務(wù)器的終端信息按照偏移量進(jìn)行左移運(yùn)算,得到校驗(yàn)因子。
在一種可選的方案中,可以將第一驗(yàn)證服務(wù)器的機(jī)房掩碼idccode按照偏移量offset向左位移,得到校驗(yàn)因子factor。
步驟s424,根據(jù)偏移量和隨機(jī)校驗(yàn)碼,生成標(biāo)識(shí)信息,其中,標(biāo)識(shí)信息為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的終端信息。
在一種可選的方案中,可以通過(guò)預(yù)定的算法,根據(jù)偏移量offset和隨機(jī)校驗(yàn)碼code生成機(jī)房標(biāo)識(shí)contrastcode。
步驟s425,如果標(biāo)識(shí)信息與校驗(yàn)因子相同,則確定第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器。
步驟s426,如果標(biāo)識(shí)信息與校驗(yàn)因子不同,則確定第一驗(yàn)證服務(wù)器不為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器。
在一種可選的方案中,如果校驗(yàn)因子factor和機(jī)房標(biāo)識(shí)contrastcode相同,則確定第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼code的驗(yàn)證服務(wù)器;如果不相同,則確定第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼code的驗(yàn)證服務(wù)器。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。天津服務(wù)器在接收到隨機(jī)校驗(yàn)碼code之后,可以讀取本地存儲(chǔ)的機(jī)房掩碼集合,該機(jī)房掩碼集合中包含三個(gè)機(jī)房掩碼,上海服務(wù)器所在機(jī)房的機(jī)房掩碼idccode=256,天津服務(wù)器所在機(jī)房的機(jī)房掩碼idccode=257和北京服務(wù)器所在機(jī)房的機(jī)房掩碼idccode=258,讀取天津服務(wù)器的機(jī)房掩碼idccode=257,并按照偏移量offset=2進(jìn)行向左位移,得到校驗(yàn)因子factor=0000000000000100,根據(jù)偏移量offset=2和隨機(jī)校驗(yàn)碼code=00000000 00001001,生成機(jī)房標(biāo)識(shí)contrastcode=0000000000001000,由于factor=0000000000000100和contrastcode=0000000000001000不相同,因此可以確定第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼code的驗(yàn)證服務(wù)器。
根據(jù)本申請(qǐng)上述實(shí)施例,步驟s423,將第一驗(yàn)證服務(wù)器的終端信息按照偏移量進(jìn)行左移運(yùn)算,得到校驗(yàn)因子,可以包括如下步驟:
步驟s4232,第一驗(yàn)證服務(wù)器將第一驗(yàn)證服務(wù)器的終端信息轉(zhuǎn)換為二進(jìn)制數(shù)據(jù),并提取預(yù)定位數(shù)得到第一驗(yàn)證服務(wù)器的標(biāo)識(shí)信息。
在一種可選的方案中,第一驗(yàn)證服務(wù)器可以取二進(jìn)制機(jī)房掩碼的idccode的后n位,例如后4位得到機(jī)房標(biāo)識(shí)subidccode,即subidccode=idccode&2^4。
步驟s4234,將第一驗(yàn)證服務(wù)器的標(biāo)識(shí)信息按照偏移量進(jìn)行左移運(yùn)算,得到校驗(yàn)因子。
在一種可選的方案中,在得到機(jī)房標(biāo)識(shí)之后,可以將第一驗(yàn)證服務(wù)器的機(jī)房標(biāo)識(shí)按照偏移量offset向左移位,得到校驗(yàn)因子factor,即factor=subidccode<<offset。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。天津服務(wù)器本地存儲(chǔ)的機(jī)房掩碼集合可以包括三個(gè)機(jī)房掩碼,即上海服務(wù)器所在機(jī)房的機(jī)房掩碼idccode=256=0000000100000000,天津服務(wù)器所在機(jī)房的機(jī)房掩碼idccode=257=0000000100000001和北京服務(wù)器所在機(jī)房的機(jī)房掩碼idccode=258=0000000100000010,可以提取本地存儲(chǔ)的機(jī)房掩碼集合中每個(gè)機(jī)房掩碼的二進(jìn)制的后4位得到機(jī)房標(biāo)識(shí)集合,即上海服務(wù)器的機(jī)房標(biāo)識(shí)subidccode=0000000000000000,天津服務(wù)器的機(jī)房標(biāo)識(shí)subidccode=0000000000000001和北京服務(wù)器的機(jī)房標(biāo)識(shí)subidccode=0000000000000010,根據(jù)手機(jī)的手機(jī)尾號(hào)得到偏移量offset=2,再將機(jī)房標(biāo)識(shí)集合中每個(gè)機(jī)房標(biāo)識(shí)按偏移量offset=2進(jìn)行向左位移,得到上海服務(wù)器的因子factor=0000000000000000,天津服務(wù)器的因子factor=0000000000000100和北京服務(wù)器的因子factor=0000000000001000,將每個(gè)因子factor與機(jī)房標(biāo)識(shí)costrastcode進(jìn)行比較,確定生成該隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器為北京服務(wù)器。
根據(jù)本申請(qǐng)上述實(shí)施例,步驟s424,根據(jù)偏移量和隨機(jī)校驗(yàn)碼,生成標(biāo)識(shí)信息,可以包括如下步驟:
步驟s4242,第一驗(yàn)證服務(wù)器將二進(jìn)制數(shù)按照偏移量進(jìn)行左移運(yùn)算,得到臨時(shí)變量。
具體地,上述二進(jìn)制數(shù)可以為步驟s4232中二進(jìn)制數(shù)據(jù)的后n位,即2^n-1,例如,可以為2^4-1,即0000000000001111。
在一種可選的方案中,第一驗(yàn)證服務(wù)器可以將二進(jìn)制數(shù)2^n-1按偏移量向左移位得到臨時(shí)變量temp,即temp=2^n-1<<offset。
步驟s4244,將隨機(jī)校驗(yàn)碼和臨時(shí)變量進(jìn)行取與運(yùn)算,得到標(biāo)識(shí)信息。
在一種可選的方案中,第一驗(yàn)證服務(wù)器可以將隨機(jī)校驗(yàn)碼code和臨時(shí)變量temp取與,即code&temp,得到生成隨機(jī)校驗(yàn)碼code的驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房標(biāo)識(shí)constrastcode。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。天津服務(wù)器在接收到隨機(jī)校驗(yàn)碼code=0000000000001001之后,將二進(jìn)制數(shù)2^4-1按偏移量offset=2向左位移得到臨時(shí)變量temp=0000000000001111<<2=0000000000011110,將隨機(jī)校驗(yàn)碼和臨時(shí)變量進(jìn)行按位與運(yùn)算得到生成隨機(jī)校驗(yàn)碼code的驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房標(biāo)識(shí)costrastcode=0000000000001001&0000000000011110=0000000000001000。
根據(jù)本申請(qǐng)上述實(shí)施例,在步驟s46,第一驗(yàn)證服務(wù)器接收第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果之前,上述方法還可以包括如下步驟:
步驟s47,將用戶終端的終端標(biāo)識(shí)信息和隨機(jī)校驗(yàn)碼發(fā)送至第二驗(yàn)證服務(wù)器。
步驟s48,接收第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果。
在一種可選的方案中,當(dāng)?shù)谝或?yàn)證服務(wù)器確定生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器不是第一驗(yàn)證服務(wù)器,而是第二驗(yàn)證服務(wù)器,則將用戶終端的手機(jī)號(hào)和隨機(jī)校驗(yàn)碼發(fā)送至第二驗(yàn)證服務(wù)器,并接收第二驗(yàn)證服務(wù)器產(chǎn)生的驗(yàn)證結(jié)果,返回給用戶終端。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。天津服務(wù)器經(jīng)過(guò)算法確定生成隨機(jī)校驗(yàn)碼code的驗(yàn)證服務(wù)器為北京服務(wù)器,則將隨機(jī)校驗(yàn)碼code和用戶的手機(jī)號(hào)發(fā)送給北京服務(wù)器,北京服務(wù)器根據(jù)用戶的手機(jī)號(hào)和所在機(jī)房的機(jī)房掩碼對(duì)隨機(jī)校驗(yàn)碼進(jìn)行校驗(yàn),得到驗(yàn)證結(jié)果并發(fā)送給天津服務(wù)器,天津服務(wù)器在接收到驗(yàn)證結(jié)果之后返回到用戶的手機(jī)。
需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請(qǐng)并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本申請(qǐng),某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù) 人員也應(yīng)該知悉,說(shuō)明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本申請(qǐng)所必須的。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的基于分庫(kù)分表的任務(wù)傳輸方法可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述的方法。
實(shí)施例3
根據(jù)本申請(qǐng)實(shí)施例,還提供了一種用于實(shí)施上述數(shù)據(jù)校驗(yàn)的方法的數(shù)據(jù)校驗(yàn)的裝置,如圖5所示,上述裝置包括:第一接收模塊51,第一發(fā)送模塊53,第二接收模塊55和第三接收模塊57。
其中,第一接收模塊51用于用戶終端接收隨機(jī)校驗(yàn)碼。
具體地,上述用戶終端可以是智能手機(jī)(如android手機(jī)、ios手機(jī)等)、平板電腦、掌上電腦以及移動(dòng)互聯(lián)網(wǎng)設(shè)備(mobileinternetdevices,mid)、pad等終端設(shè)備。
第一發(fā)送模塊53用于在用戶終端觸發(fā)校驗(yàn)隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息發(fā)送給當(dāng)前用戶終端允許訪問(wèn)的第一驗(yàn)證服務(wù)器。
第二接收模塊55用于在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收由第一驗(yàn)證服務(wù)器校驗(yàn)隨機(jī)校驗(yàn)碼而返回的驗(yàn)證結(jié)果。
第三接收模塊57用于在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收到的驗(yàn)證結(jié)果為第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果。
其中,第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端。
此處需要說(shuō)明的是,本實(shí)施例中的第二驗(yàn)證服務(wù)器可以為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,隨機(jī)校驗(yàn)碼在第二驗(yàn)證服務(wù)器進(jìn)行生成,并且第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器之間的臨時(shí)數(shù)據(jù)不進(jìn)行同步,因此當(dāng)?shù)谝或?yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,則需要通過(guò)生成隨機(jī)校驗(yàn)碼的第二驗(yàn)證服務(wù)器對(duì)用戶終端發(fā)送的隨機(jī)校驗(yàn)碼進(jìn)行驗(yàn)證。
在一種可選的方案中,用戶終端發(fā)起校驗(yàn)請(qǐng)求,將校驗(yàn)請(qǐng)求發(fā)送給獲取隨機(jī)驗(yàn)證碼的服務(wù)器,并接受服務(wù)器返回的臨時(shí)性的隨機(jī)校驗(yàn)碼。用戶終端在接收到隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼發(fā)送給驗(yàn)證隨機(jī)碼的服務(wù)器,驗(yàn)證隨機(jī)碼的服務(wù)器根據(jù)接收到的隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息,確定生成該隨機(jī)校驗(yàn)碼的獲取隨機(jī)驗(yàn)證碼的服務(wù)器,如果驗(yàn)證隨機(jī)碼的服務(wù)器和獲取隨機(jī)驗(yàn)證碼的服務(wù)器為同一個(gè)服務(wù)器,則該驗(yàn)證隨機(jī)碼的服務(wù)器對(duì)接收到的隨機(jī)校驗(yàn)碼進(jìn)行驗(yàn)證,生成驗(yàn)證結(jié)果,并發(fā)送給用戶終端;如果驗(yàn)證隨機(jī)碼的服務(wù)器和獲取隨機(jī)驗(yàn)證碼的服務(wù)器為不同的服務(wù)器,則該驗(yàn)證隨機(jī)碼的服務(wù)器將接收到的隨機(jī)校驗(yàn)碼發(fā)送給獲取隨機(jī)驗(yàn)證碼的服務(wù)器,由獲取隨機(jī)驗(yàn)證碼的服務(wù)器對(duì)該隨機(jī)校驗(yàn)碼進(jìn)行驗(yàn)證,生成驗(yàn)證結(jié)果返回給驗(yàn)證隨機(jī)碼的服務(wù)器,由驗(yàn)證隨機(jī)碼的服務(wù)器將該驗(yàn)證結(jié)果發(fā)送給用戶終端。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。用戶在乘坐高鐵從北京到天津的過(guò)程中,當(dāng)用戶在北京需要進(jìn)行數(shù)據(jù)校驗(yàn)時(shí),可以通過(guò)手機(jī)發(fā)送校驗(yàn)請(qǐng)求到北京服務(wù)器,并接受北京服務(wù)器生成的隨機(jī)校驗(yàn)碼,在用戶接受到隨機(jī)校驗(yàn)碼之后,如果此時(shí)用戶乘坐高鐵達(dá)到天津,則將隨機(jī)校驗(yàn)碼發(fā)送給天津服務(wù)器,天津服務(wù)器在接收到隨機(jī)校驗(yàn)碼之后確定不是天津服務(wù)器生成的隨機(jī)校驗(yàn)碼,因此可以將隨機(jī)校驗(yàn)碼發(fā)送給生成地北京服務(wù)器,由北京服務(wù)器完成數(shù)據(jù)校驗(yàn)過(guò)程。
本申請(qǐng)上述實(shí)施例三公開(kāi)的方案中,如果需要對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),可以在用戶終端觸發(fā)校驗(yàn)隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息發(fā)送給當(dāng)前用戶終端允許訪問(wèn)的第一驗(yàn)證服務(wù)器,在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收由第一驗(yàn)證服務(wù)器校驗(yàn)隨機(jī)校驗(yàn)碼而返回的驗(yàn)證結(jié)果;在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收到的驗(yàn)證結(jié)果為第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果,并且第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端,從而實(shí)現(xiàn)在用戶終端出現(xiàn)地址位置漂移時(shí)對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)的目的。
容易注意到,由于第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端,接受隨機(jī)校驗(yàn)碼的第一驗(yàn)證服務(wù)器可以確定是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,由生成隨機(jī)校驗(yàn)碼的第二驗(yàn)證服務(wù)器驗(yàn)證該隨機(jī)校驗(yàn)碼,因此,通過(guò)本申請(qǐng)上述實(shí)施例,既可以快速定位到數(shù)據(jù)生成地,又可以保證驗(yàn)證碼數(shù)據(jù)在哪里生成就在哪里校驗(yàn),多中心之間不做數(shù)據(jù)同步,從而可以在用戶端請(qǐng)求漂移的情況下也能夠準(zhǔn)確、無(wú)延時(shí)的進(jìn)行校驗(yàn),保證在不影響用戶體驗(yàn)的情況下做到實(shí)時(shí)驗(yàn)證。
由此,本申請(qǐng)?zhí)峁┑纳鲜鰧?shí)施例三的方案解決了現(xiàn)有技術(shù)中由于部署在不同地理區(qū)域的驗(yàn)證服務(wù)器之間無(wú)法及時(shí)同步驗(yàn)證碼,導(dǎo)致當(dāng)待驗(yàn)證的用戶終端出現(xiàn)地址位置漂移時(shí),無(wú)法準(zhǔn)確進(jìn)行數(shù)據(jù)校驗(yàn)的技術(shù)問(wèn)題。
根據(jù)本申請(qǐng)上述實(shí)施例,如圖6所示,上述裝置還可以包括:第二發(fā)送模塊61和第四接收模塊63。
其中,第二發(fā)送模塊61用于用戶終端將終端標(biāo)識(shí)信息發(fā)送給當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器,其中,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器為第一驗(yàn)證服務(wù)器或第二驗(yàn)證服務(wù)器。
第四接收模塊63用于用戶終端接收當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器返回的隨機(jī)校驗(yàn)碼,其中,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器根據(jù)用戶終端的終端標(biāo)識(shí)信息和當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信息,生成隨機(jī)校驗(yàn)碼。
在一種可選的方案中,用戶終端發(fā)起校驗(yàn)請(qǐng)求,將校驗(yàn)請(qǐng)求發(fā)送給獲取隨機(jī)驗(yàn)證碼的服務(wù)器,即上述的第一驗(yàn)證服務(wù)器或第二驗(yàn)證服務(wù)器,服務(wù)器根據(jù)用戶終端的手機(jī)號(hào)和服務(wù)器所在機(jī)房的機(jī)房掩碼生成隨機(jī)校驗(yàn)碼,并返回給用戶終端。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。當(dāng)用戶需要進(jìn)行數(shù)據(jù)校驗(yàn)時(shí),可以通過(guò)手機(jī)發(fā)送校驗(yàn)請(qǐng)求到北京服務(wù)器,北京服務(wù)器根據(jù)手機(jī)的手機(jī)號(hào)和北京服務(wù)器所在機(jī)房的機(jī)房掩碼,生成隨機(jī)校驗(yàn)碼返回給用戶的手機(jī)。
需要說(shuō)明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
實(shí)施例4
根據(jù)本申請(qǐng)實(shí)施例,還提供了一種用于實(shí)施上述數(shù)據(jù)校驗(yàn)的方法的數(shù)據(jù)校驗(yàn)的裝置,如圖7所示,上述裝置包括:第一接收模塊71,確定模塊73,產(chǎn)生模塊75,第二接收模塊77和返回模塊79。
其中,第一接收模塊71用于第一驗(yàn)證服務(wù)器接收當(dāng)前訪問(wèn)的用戶終端發(fā)送的隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息。
具體地,上述用戶終端可以是智能手機(jī)(如android手機(jī)、ios手機(jī)等)、平板電腦、掌上電腦以及移動(dòng)互聯(lián)網(wǎng)設(shè)備(mobileinternetdevices,mid)、pad等終端設(shè)備,用戶終端的終端標(biāo)識(shí)信息可以是用戶的手機(jī)號(hào)或者個(gè)人郵箱的地址。
確定模塊73用于第一驗(yàn)證服務(wù)器根據(jù)用戶終端的終端標(biāo)識(shí)信息、隨機(jī)校驗(yàn)碼和第 一驗(yàn)證服務(wù)器本地存儲(chǔ)的終端信息集合,來(lái)確定第一驗(yàn)證服務(wù)器是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器。
具體地,上述終端信息可以是驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房掩碼,終端信息集合可以是部署在異地的多個(gè)驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房掩碼集合,機(jī)房掩碼的取值可以為256,257,258等。
產(chǎn)生模塊75用于在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,第一驗(yàn)證服務(wù)器對(duì)隨機(jī)校驗(yàn)碼進(jìn)行校驗(yàn),產(chǎn)生驗(yàn)證結(jié)果。
第二接收模塊77用于在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,第一驗(yàn)證服務(wù)器接收第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果,其中,第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端。
返回模塊79用于第一驗(yàn)證服務(wù)器將驗(yàn)證結(jié)果返回至用戶終端。
在一種可選的方案中,第一驗(yàn)證服務(wù)器在接收到用戶終端發(fā)送的隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息,確定生成該隨機(jī)校驗(yàn)碼的獲取隨機(jī)驗(yàn)證碼的服務(wù)器,如果驗(yàn)證隨機(jī)碼的服務(wù)器和獲取隨機(jī)驗(yàn)證碼的服務(wù)器為同一個(gè)服務(wù)器,則該驗(yàn)證隨機(jī)碼的服務(wù)器對(duì)接收到的隨機(jī)校驗(yàn)碼進(jìn)行驗(yàn)證,生成驗(yàn)證結(jié)果,并發(fā)送給用戶終端;如果驗(yàn)證隨機(jī)碼的服務(wù)器和獲取隨機(jī)驗(yàn)證碼的服務(wù)器為不同的服務(wù)器,則該驗(yàn)證隨機(jī)碼的服務(wù)器將接收到的隨機(jī)校驗(yàn)碼發(fā)送給獲取隨機(jī)驗(yàn)證碼的服務(wù)器,由獲取隨機(jī)驗(yàn)證碼的服務(wù)器對(duì)該隨機(jī)校驗(yàn)碼進(jìn)行驗(yàn)證,生成驗(yàn)證結(jié)果返回給驗(yàn)證隨機(jī)碼的服務(wù)器,由驗(yàn)證隨機(jī)碼的服務(wù)器將該驗(yàn)證結(jié)果發(fā)送給用戶終端。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。用戶在乘坐高鐵從北京到天津的過(guò)程中,當(dāng)用戶在北京需要進(jìn)行數(shù)據(jù)校驗(yàn)時(shí),可以通過(guò)手機(jī)發(fā)送校驗(yàn)請(qǐng)求到北京服務(wù)器,并接受北京服務(wù)器生成的隨機(jī)校驗(yàn)碼,在用戶接受到隨機(jī)校驗(yàn)碼之后,如果此時(shí)用戶乘坐高鐵達(dá)到天津,則將隨機(jī)校驗(yàn)碼發(fā)送給天津服務(wù)器,天津服務(wù)器在接收到隨機(jī)校驗(yàn)碼之后確定不是天津服務(wù)器生成的隨機(jī)校驗(yàn)碼,因此可以將隨機(jī)校驗(yàn)碼發(fā)送給生成地北京服務(wù)器,由北京服務(wù)器完成數(shù)據(jù)校驗(yàn)過(guò)程。
本申請(qǐng)上述實(shí)施例四公開(kāi)的方案中,如果需要對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),可以在用戶終端接收到用戶終端發(fā)送的隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息之后,根據(jù)隨機(jī)校驗(yàn)碼,終端標(biāo)識(shí)信息和本地存儲(chǔ)的終端信息集合確定第一驗(yàn)證服務(wù)器是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收由第一驗(yàn)證服務(wù)器校驗(yàn)隨機(jī)校驗(yàn)碼而返回的驗(yàn)證結(jié)果;在第一驗(yàn)證服務(wù)器不是 生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收到的驗(yàn)證結(jié)果為第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果,并且第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端,從而實(shí)現(xiàn)在用戶終端出現(xiàn)地址位置漂移時(shí)對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)的目的。
容易注意到,由于第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端,接受隨機(jī)校驗(yàn)碼的第一驗(yàn)證服務(wù)器可以確定是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,由生成隨機(jī)校驗(yàn)碼的第二驗(yàn)證服務(wù)器驗(yàn)證該隨機(jī)校驗(yàn)碼,因此,通過(guò)本申請(qǐng)上述實(shí)施例,既可以快速定位到數(shù)據(jù)生成地,又可以保證驗(yàn)證碼數(shù)據(jù)在哪里生成就在哪里校驗(yàn),多中心之間不做數(shù)據(jù)同步,從而可以在用戶端請(qǐng)求漂移的情況下也能夠準(zhǔn)確、無(wú)延時(shí)的進(jìn)行校驗(yàn),保證在不影響用戶體驗(yàn)的情況下做到實(shí)時(shí)驗(yàn)證。
由此,本申請(qǐng)?zhí)峁┑纳鲜鰧?shí)施例四的方案解決了現(xiàn)有技術(shù)中由于部署在不同地理區(qū)域的驗(yàn)證服務(wù)器之間無(wú)法及時(shí)同步驗(yàn)證碼,導(dǎo)致當(dāng)待驗(yàn)證的用戶終端出現(xiàn)地址位置漂移時(shí),無(wú)法準(zhǔn)確進(jìn)行數(shù)據(jù)校驗(yàn)的技術(shù)問(wèn)題。
需要說(shuō)明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
實(shí)施例5
根據(jù)本申請(qǐng)實(shí)施例,還提供了一種數(shù)據(jù)校驗(yàn)的系統(tǒng),如圖8所示,上述系統(tǒng)包括:第一驗(yàn)證服務(wù)器81,第二驗(yàn)證服務(wù)器83和用戶終端85。
其中,用戶終端85,分別與第一驗(yàn)證服務(wù)器81和第二驗(yàn)證服務(wù)器83通信,用于接收隨機(jī)校驗(yàn)碼;在觸發(fā)校驗(yàn)隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息發(fā)送給當(dāng)前用戶終端允許訪問(wèn)的第一驗(yàn)證服務(wù)器;在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,接收由第一驗(yàn)證服務(wù)器校驗(yàn)隨機(jī)校驗(yàn)碼而返回的驗(yàn)證結(jié)果;在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,接收到的驗(yàn)證結(jié)果為第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果。
第一驗(yàn)證服務(wù)器81和第二驗(yàn)證服務(wù)器83為部署在異地的服務(wù)器終端。
具體地,上述用戶終端可以是智能手機(jī)(如android手機(jī)、ios手機(jī)等)、平板電腦、掌上電腦以及移動(dòng)互聯(lián)網(wǎng)設(shè)備(mobileinternetdevices,mid)、pad等終端設(shè)備。
此處需要說(shuō)明的是,本實(shí)施例中的第二驗(yàn)證服務(wù)器可以為生成隨機(jī)校驗(yàn)碼的驗(yàn)證 服務(wù)器,隨機(jī)校驗(yàn)碼在第二驗(yàn)證服務(wù)器進(jìn)行生成,并且第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器之間的臨時(shí)數(shù)據(jù)不進(jìn)行同步,因此當(dāng)?shù)谝或?yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,則需要通過(guò)生成隨機(jī)校驗(yàn)碼的第二驗(yàn)證服務(wù)器對(duì)用戶終端發(fā)送的隨機(jī)校驗(yàn)碼進(jìn)行驗(yàn)證。
在一種可選的方案中,用戶終端發(fā)起校驗(yàn)請(qǐng)求,將校驗(yàn)請(qǐng)求發(fā)送給獲取隨機(jī)驗(yàn)證碼的服務(wù)器,并接受服務(wù)器返回的臨時(shí)性的隨機(jī)校驗(yàn)碼。用戶終端在接收到隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼發(fā)送給驗(yàn)證隨機(jī)碼的服務(wù)器,驗(yàn)證隨機(jī)碼的服務(wù)器根據(jù)接收到的隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息,確定生成該隨機(jī)校驗(yàn)碼的獲取隨機(jī)驗(yàn)證碼的服務(wù)器,如果驗(yàn)證隨機(jī)碼的服務(wù)器和獲取隨機(jī)驗(yàn)證碼的服務(wù)器為同一個(gè)服務(wù)器,則該驗(yàn)證隨機(jī)碼的服務(wù)器對(duì)接收到的隨機(jī)校驗(yàn)碼進(jìn)行驗(yàn)證,生成驗(yàn)證結(jié)果,并發(fā)送給用戶終端;如果驗(yàn)證隨機(jī)碼的服務(wù)器和獲取隨機(jī)驗(yàn)證碼的服務(wù)器為不同的服務(wù)器,則該驗(yàn)證隨機(jī)碼的服務(wù)器將接收到的隨機(jī)校驗(yàn)碼發(fā)送給獲取隨機(jī)驗(yàn)證碼的服務(wù)器,由獲取隨機(jī)驗(yàn)證碼的服務(wù)器對(duì)該隨機(jī)校驗(yàn)碼進(jìn)行驗(yàn)證,生成驗(yàn)證結(jié)果返回給驗(yàn)證隨機(jī)碼的服務(wù)器,由驗(yàn)證隨機(jī)碼的服務(wù)器將該驗(yàn)證結(jié)果發(fā)送給用戶終端。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。用戶在乘坐高鐵從北京到天津的過(guò)程中,當(dāng)用戶在北京需要進(jìn)行數(shù)據(jù)校驗(yàn)時(shí),可以通過(guò)手機(jī)發(fā)送校驗(yàn)請(qǐng)求到北京服務(wù)器,并接受北京服務(wù)器生成的隨機(jī)校驗(yàn)碼,在用戶接受到隨機(jī)校驗(yàn)碼之后,如果此時(shí)用戶乘坐高鐵達(dá)到天津,則將隨機(jī)校驗(yàn)碼發(fā)送給天津服務(wù)器,天津服務(wù)器在接收到隨機(jī)校驗(yàn)碼之后確定不是天津服務(wù)器生成的隨機(jī)校驗(yàn)碼,因此可以將隨機(jī)校驗(yàn)碼發(fā)送給生成地北京服務(wù)器,由北京服務(wù)器完成數(shù)據(jù)校驗(yàn)過(guò)程。
本申請(qǐng)上述實(shí)施例五公開(kāi)的方案中,如果需要對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),可以在用戶終端觸發(fā)校驗(yàn)隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息發(fā)送給當(dāng)前用戶終端允許訪問(wèn)的第一驗(yàn)證服務(wù)器,在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收由第一驗(yàn)證服務(wù)器校驗(yàn)隨機(jī)校驗(yàn)碼而返回的驗(yàn)證結(jié)果;在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收到的驗(yàn)證結(jié)果為第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果,并且第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端,從而實(shí)現(xiàn)在用戶終端出現(xiàn)地址位置漂移時(shí)對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)的目的。
容易注意到,由于第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端,接受隨機(jī)校驗(yàn)碼的第一驗(yàn)證服務(wù)器可以確定是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器,在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,由生成隨機(jī)校驗(yàn)碼的第 二驗(yàn)證服務(wù)器驗(yàn)證該隨機(jī)校驗(yàn)碼,因此,通過(guò)本申請(qǐng)上述實(shí)施例,既可以快速定位到數(shù)據(jù)生成地,又可以保證驗(yàn)證碼數(shù)據(jù)在哪里生成就在哪里校驗(yàn),多中心之間不做數(shù)據(jù)同步,從而可以在用戶端請(qǐng)求漂移的情況下也能夠準(zhǔn)確、無(wú)延時(shí)的進(jìn)行校驗(yàn),保證在不影響用戶體驗(yàn)的情況下做到實(shí)時(shí)驗(yàn)證。
由此,本申請(qǐng)?zhí)峁┑纳鲜鰧?shí)施例五的方案解決了現(xiàn)有技術(shù)中由于部署在不同地理區(qū)域的驗(yàn)證服務(wù)器之間無(wú)法及時(shí)同步驗(yàn)證碼,導(dǎo)致當(dāng)待驗(yàn)證的用戶終端出現(xiàn)地址位置漂移時(shí),無(wú)法準(zhǔn)確進(jìn)行數(shù)據(jù)校驗(yàn)的技術(shù)問(wèn)題。
根據(jù)本申請(qǐng)上述實(shí)施例,第一驗(yàn)證服務(wù)器81用于根據(jù)用戶終端的終端標(biāo)識(shí)信息、隨機(jī)校驗(yàn)碼和第一驗(yàn)證服務(wù)器本地存儲(chǔ)的終端信息集合,來(lái)確定第一驗(yàn)證服務(wù)器是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器。
具體地,上述用戶終端的終端標(biāo)識(shí)信息可以是用戶的手機(jī)號(hào)或者個(gè)人郵箱的地址,終端信息可以是驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房掩碼,終端信息集合可以是部署在異地的多個(gè)驗(yàn)證服務(wù)器所在機(jī)房的機(jī)房掩碼集合,機(jī)房掩碼的取值可以為256,257,258等。
根據(jù)本申請(qǐng)上述實(shí)施例,用戶終端85還用于將終端標(biāo)識(shí)信息發(fā)送給當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器,并接收當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器返回的隨機(jī)校驗(yàn)碼。
其中,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器為第一驗(yàn)證服務(wù)器或第二驗(yàn)證服務(wù)器,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器根據(jù)用戶終端的終端標(biāo)識(shí)信息和當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信息,生成隨機(jī)校驗(yàn)碼。
在一種可選的方案中,用戶終端發(fā)起校驗(yàn)請(qǐng)求,將校驗(yàn)請(qǐng)求發(fā)送給獲取隨機(jī)驗(yàn)證碼的服務(wù)器,即上述的第一驗(yàn)證服務(wù)器或第二驗(yàn)證服務(wù)器,服務(wù)器根據(jù)用戶終端的手機(jī)號(hào)和服務(wù)器所在機(jī)房的機(jī)房掩碼生成隨機(jī)校驗(yàn)碼,并返回給用戶終端。
例如,以用戶終端為手機(jī),第一驗(yàn)證服務(wù)器為天津服務(wù)器,第二驗(yàn)證服務(wù)器為北京服務(wù)器為例,對(duì)本申請(qǐng)上述實(shí)施例進(jìn)行詳細(xì)說(shuō)明。當(dāng)用戶需要進(jìn)行數(shù)據(jù)校驗(yàn)時(shí),可以通過(guò)手機(jī)發(fā)送校驗(yàn)請(qǐng)求到北京服務(wù)器,北京服務(wù)器根據(jù)手機(jī)的手機(jī)號(hào)和北京服務(wù)器所在機(jī)房的機(jī)房掩碼,生成隨機(jī)校驗(yàn)碼返回給用戶的手機(jī)。
實(shí)施例6
本申請(qǐng)的實(shí)施例可以提供一種計(jì)算機(jī)終端,該計(jì)算機(jī)終端可以是計(jì)算機(jī)終端群中的任意一個(gè)計(jì)算機(jī)終端設(shè)備??蛇x地,在本實(shí)施例中,上述計(jì)算機(jī)終端也可以替換為移動(dòng)終端等終端設(shè)備。
可選地,在本實(shí)施例中,上述計(jì)算機(jī)終端可以位于計(jì)算機(jī)網(wǎng)絡(luò)的多個(gè)網(wǎng)絡(luò)設(shè)備中 的至少一個(gè)網(wǎng)絡(luò)設(shè)備。
在本實(shí)施例中,上述計(jì)算機(jī)終端可以執(zhí)行數(shù)據(jù)校驗(yàn)的方法中以下步驟的程序代碼:用戶終端接收隨機(jī)校驗(yàn)碼;在用戶終端觸發(fā)校驗(yàn)隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息發(fā)送給當(dāng)前用戶終端允許訪問(wèn)的第一驗(yàn)證服務(wù)器;在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收由第一驗(yàn)證服務(wù)器校驗(yàn)隨機(jī)校驗(yàn)碼而返回的驗(yàn)證結(jié)果;在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收到的驗(yàn)證結(jié)果為第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果;其中,第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端。
可選地,圖9是根據(jù)本申請(qǐng)實(shí)施例的一種計(jì)算機(jī)終端的結(jié)構(gòu)框圖。如圖9所示,該計(jì)算機(jī)終端a可以包括:一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器901、存儲(chǔ)器903、以及傳輸裝置905。
其中,存儲(chǔ)器903可用于存儲(chǔ)軟件程序以及模塊,如本申請(qǐng)實(shí)施例中的數(shù)據(jù)校驗(yàn)的方法和裝置對(duì)應(yīng)的程序指令/模塊,處理器901通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的數(shù)據(jù)校驗(yàn)的方法。存儲(chǔ)器903可包括高速隨機(jī)存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,如一個(gè)或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器903可進(jìn)一步包括相對(duì)于處理器遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過(guò)網(wǎng)絡(luò)連接至終端a。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
處理器901可以通過(guò)傳輸裝置調(diào)用存儲(chǔ)器存儲(chǔ)的信息及應(yīng)用程序,以執(zhí)行下述步驟:用戶終端接收隨機(jī)校驗(yàn)碼;在用戶終端觸發(fā)校驗(yàn)隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息發(fā)送給當(dāng)前用戶終端允許訪問(wèn)的第一驗(yàn)證服務(wù)器;在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收由第一驗(yàn)證服務(wù)器校驗(yàn)隨機(jī)校驗(yàn)碼而返回的驗(yàn)證結(jié)果;在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收到的驗(yàn)證結(jié)果為第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果;其中,第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端。
可選的,上述處理器901還可以執(zhí)行如下步驟的程序代碼:第一驗(yàn)證服務(wù)器根據(jù)用戶終端的終端標(biāo)識(shí)信息、隨機(jī)校驗(yàn)碼和第一驗(yàn)證服務(wù)器本地存儲(chǔ)的終端信息集合,來(lái)確定第一驗(yàn)證服務(wù)器是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器。
可選的,上述處理器901還可以執(zhí)行如下步驟的程序代碼:用戶終端將終端標(biāo)識(shí)信息發(fā)送給當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器,其中,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器為第一驗(yàn)證服務(wù)器或第二驗(yàn)證服務(wù)器;用戶終端接收當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器返回的隨機(jī)校 驗(yàn)碼,其中,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器根據(jù)用戶終端的終端標(biāo)識(shí)信息和當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信息,生成隨機(jī)校驗(yàn)碼。
可選的,上述處理器901還可以執(zhí)行如下步驟的程序代碼:當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器獲取用戶終端的終端標(biāo)識(shí)信息和當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信息;根據(jù)用戶終端的終端標(biāo)識(shí)信息,得到偏移量;將當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信息按照偏移量進(jìn)行左移運(yùn)算,得到生成因子;根據(jù)偏移量和隨機(jī)生成的隨機(jī)碼,生成隨機(jī)碼因子;將生成因子和隨機(jī)碼因子進(jìn)行取或運(yùn)算,得到隨機(jī)校驗(yàn)碼。
可選的,上述處理器901還可以執(zhí)行如下步驟的程序代碼:當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器將當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信息轉(zhuǎn)換為二進(jìn)制數(shù)據(jù),并提取預(yù)定位數(shù)得到當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的標(biāo)識(shí)信息;將當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的標(biāo)識(shí)信息按照偏移量進(jìn)行左移運(yùn)算,得到生成因子。
可選的,上述處理器901還可以執(zhí)行如下步驟的程序代碼:當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器將二進(jìn)制數(shù)按照偏移量進(jìn)行左移運(yùn)算,得到左移后的二進(jìn)制數(shù);對(duì)左移后的二進(jìn)制數(shù)進(jìn)行取反運(yùn)算,得到臨時(shí)變量;將臨時(shí)變量和隨機(jī)生成的隨機(jī)碼進(jìn)行取與運(yùn)算,得到隨機(jī)碼因子。
可選的,上述處理器901還可以執(zhí)行如下步驟的程序代碼:從第一驗(yàn)證服務(wù)器中讀取預(yù)先保存的終端信息集合,并讀取第一驗(yàn)證服務(wù)器的終端信息;根據(jù)用戶終端的終端標(biāo)識(shí)信息,得到偏移量;將第一驗(yàn)證服務(wù)器的終端信息按照偏移量進(jìn)行左移運(yùn)算,得到校驗(yàn)因子;根據(jù)偏移量和隨機(jī)校驗(yàn)碼,生成標(biāo)識(shí)信息,其中,標(biāo)識(shí)信息為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的標(biāo)識(shí)信息;如果標(biāo)識(shí)信息與校驗(yàn)因子相同,則確定第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器;如果標(biāo)識(shí)信息與校驗(yàn)因子不同,則確定第一驗(yàn)證服務(wù)器不為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器。
可選的,上述處理器901還可以執(zhí)行如下步驟的程序代碼:第一驗(yàn)證服務(wù)器將第一驗(yàn)證服務(wù)器的終端信息轉(zhuǎn)換為二進(jìn)制數(shù)據(jù),并提取預(yù)定位數(shù)得到第一驗(yàn)證服務(wù)器的標(biāo)識(shí)信息;將第一驗(yàn)證服務(wù)器的標(biāo)識(shí)信息按照偏移量進(jìn)行左移運(yùn)算,得到校驗(yàn)因子。
可選的,上述處理器901還可以執(zhí)行如下步驟的程序代碼:第一驗(yàn)證服務(wù)器將二進(jìn)制數(shù)按照偏移量進(jìn)行左移運(yùn)算,得到臨時(shí)變量;將隨機(jī)校驗(yàn)碼和臨時(shí)變量進(jìn)行取與運(yùn)算,得到標(biāo)識(shí)信息。
可選的,上述處理器901還可以執(zhí)行如下步驟的程序代碼:第一驗(yàn)證服務(wù)器將用戶終端的終端標(biāo)識(shí)信息和隨機(jī)校驗(yàn)碼發(fā)送至第二驗(yàn)證服務(wù)器,并接收第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果;將驗(yàn)證結(jié)果返回至用戶終端;其中,根據(jù)第二驗(yàn) 證服務(wù)器的終端信息得到的校驗(yàn)因子與標(biāo)識(shí)信息相同。
本領(lǐng)域普通技術(shù)人員可以理解,圖9所示的結(jié)構(gòu)僅為示意,計(jì)算機(jī)終端也可以是智能手機(jī)(如android手機(jī)、ios手機(jī)等)、平板電腦、掌上電腦以及移動(dòng)互聯(lián)網(wǎng)設(shè)備(mobileinternetdevices,mid)、pad等終端設(shè)備。圖9其并不對(duì)上述電子裝置的結(jié)構(gòu)造成限定。例如,計(jì)算機(jī)終端a還可包括比圖9中所示更多或者更少的組件(如網(wǎng)絡(luò)接口、顯示裝置等),或者具有與圖9所示不同的配置。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令終端設(shè)備相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:閃存盤、只讀存儲(chǔ)器(read-onlymemory,rom)、隨機(jī)存取器(randomaccessmemory,ram)、磁盤或光盤等。
實(shí)施例7
本申請(qǐng)的實(shí)施例還提供了一種存儲(chǔ)介質(zhì)??蛇x地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以用于保存上述實(shí)施例一所提供的數(shù)據(jù)校驗(yàn)的方法所執(zhí)行的程序代碼。
可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以位于計(jì)算機(jī)網(wǎng)絡(luò)中計(jì)算機(jī)終端群中的任意一個(gè)計(jì)算機(jī)終端中,或者位于移動(dòng)終端群中的任意一個(gè)移動(dòng)終端中。
可選地,在本實(shí)施例中,存儲(chǔ)介質(zhì)被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:用戶終端接收隨機(jī)校驗(yàn)碼;在用戶終端觸發(fā)校驗(yàn)隨機(jī)校驗(yàn)碼之后,將隨機(jī)校驗(yàn)碼和用戶終端的終端標(biāo)識(shí)信息發(fā)送給當(dāng)前用戶終端允許訪問(wèn)的第一驗(yàn)證服務(wù)器;在第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收由第一驗(yàn)證服務(wù)器校驗(yàn)隨機(jī)校驗(yàn)碼而返回的驗(yàn)證結(jié)果;在第一驗(yàn)證服務(wù)器不是生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的情況下,用戶終端接收到的驗(yàn)證結(jié)果為第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果;其中,第一驗(yàn)證服務(wù)器和第二驗(yàn)證服務(wù)器為部署在異地的服務(wù)器終端。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:第一驗(yàn)證服務(wù)器根據(jù)用戶終端的終端標(biāo)識(shí)信息、隨機(jī)校驗(yàn)碼和第一驗(yàn)證服務(wù)器本地存儲(chǔ)的終端信息集合,來(lái)確定第一驗(yàn)證服務(wù)器是否為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:用戶終端將終端標(biāo)識(shí)信息發(fā)送給當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器,其中,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器為第一驗(yàn)證服務(wù)器或第二驗(yàn)證服務(wù)器;用戶終端接收當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器返回的隨機(jī)校驗(yàn)碼,其中,當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器根據(jù)用戶終端的終端標(biāo)識(shí)信息和當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信息,生成隨機(jī)校驗(yàn)碼。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器獲取用戶終端的終端標(biāo)識(shí)信息和當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信息;根據(jù)用戶終端的終端標(biāo)識(shí)信息,得到偏移量;將當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信息按照偏移量進(jìn)行左移運(yùn)算,得到生成因子;根據(jù)偏移量和隨機(jī)生成的隨機(jī)碼,生成隨機(jī)碼因子;將生成因子和隨機(jī)碼因子進(jìn)行取或運(yùn)算,得到隨機(jī)校驗(yàn)碼。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器將當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的終端信息轉(zhuǎn)換為二進(jìn)制數(shù)據(jù),并提取預(yù)定位數(shù)得到當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的標(biāo)識(shí)信息;將當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器的標(biāo)識(shí)信息按照偏移量進(jìn)行左移運(yùn)算,得到生成因子。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:當(dāng)前允許訪問(wèn)的驗(yàn)證服務(wù)器將二進(jìn)制數(shù)按照偏移量進(jìn)行左移運(yùn)算,得到左移后的二進(jìn)制數(shù);對(duì)左移后的二進(jìn)制數(shù)進(jìn)行取反運(yùn)算,得到臨時(shí)變量;將臨時(shí)變量和隨機(jī)生成的隨機(jī)碼進(jìn)行取與運(yùn)算,得到隨機(jī)碼因子。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:從第一驗(yàn)證服務(wù)器中讀取預(yù)先保存的終端信息集合,并讀取第一驗(yàn)證服務(wù)器的終端信息;根據(jù)用戶終端的終端標(biāo)識(shí)信息,得到偏移量;將第一驗(yàn)證服務(wù)器的終端信息按照偏移量進(jìn)行左移運(yùn)算,得到校驗(yàn)因子;根據(jù)偏移量和隨機(jī)校驗(yàn)碼,生成標(biāo)識(shí)信息,其中,標(biāo)識(shí)信息為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器的標(biāo)識(shí)信息;如果標(biāo)識(shí)信息與校驗(yàn)因子相同,則確定第一驗(yàn)證服務(wù)器為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器;如果標(biāo)識(shí)信息與校驗(yàn)因子不同,則確定第一驗(yàn)證服務(wù)器不為生成隨機(jī)校驗(yàn)碼的驗(yàn)證服務(wù)器。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:第一驗(yàn)證服務(wù)器將第一驗(yàn)證服務(wù)器的終端信息轉(zhuǎn)換為二進(jìn)制數(shù)據(jù),并提取預(yù)定位數(shù)得到第一驗(yàn)證服務(wù)器的標(biāo)識(shí)信息;將第一驗(yàn)證服務(wù)器的標(biāo)識(shí)信息按照偏移量進(jìn)行左移運(yùn)算,得到校驗(yàn)因子。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:第一驗(yàn)證服務(wù)器將二進(jìn)制數(shù)按照偏移量進(jìn)行左移運(yùn)算,得到臨時(shí)變量;將隨機(jī)校驗(yàn)碼和臨時(shí)變量進(jìn)行取與運(yùn)算,得到標(biāo)識(shí)信息。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:第一驗(yàn)證服務(wù)器將用戶終端的終端標(biāo)識(shí)信息和隨機(jī)校驗(yàn)碼發(fā)送至第二驗(yàn)證服務(wù)器,并接收第二驗(yàn)證服務(wù)器驗(yàn)證隨機(jī)校驗(yàn)碼而產(chǎn)生的驗(yàn)證結(jié)果;將驗(yàn)證結(jié)果返回至用戶終端;其中,根據(jù)第二驗(yàn)證服務(wù)器的終端信息得到的校驗(yàn)因子與標(biāo)識(shí)信息相同。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過(guò)其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。