本申請涉及驗證碼,尤其涉及一種驗證碼生成方法、設備及存儲介質(zhì)。
背景技術(shù):
1、在現(xiàn)代互聯(lián)網(wǎng)應用中,短信驗證碼被廣泛應用于用戶注冊、登錄、找回密碼、支付確認等場景,以確保用戶賬戶的安全性和操作的合法性。
2、當服務器將驗證碼發(fā)送至用戶端時,由于往往同時存在大量的其他數(shù)據(jù),從而導致將驗證碼發(fā)送至用戶端的效率比較慢。同時,因驗證碼的時效比較短,導致了用戶在有效時間內(nèi)未接收到驗證碼,無法及時進行驗證。
3、上述內(nèi)容僅用于輔助理解本申請的技術(shù)方案,并不代表承認上述內(nèi)容是現(xiàn)有技術(shù)。
技術(shù)實現(xiàn)思路
1、本申請的主要目的在于提供一種驗證碼生成方法、設備及存儲介質(zhì),旨在解決如何提高驗證碼的生成效率,避免用戶端在有效時間內(nèi)接收不到驗證碼的技術(shù)問題。
2、為實現(xiàn)上述目的,本申請?zhí)岢鲆环N驗證碼生成方法,所述的方法包括:
3、在檢測到用戶端發(fā)送的驗證碼獲取請求時,獲取各個服務器的負載參數(shù);
4、根據(jù)各個服務器的負載參數(shù),在所述各個服務器中確定出一個目標服務器;
5、所述目標服務器根據(jù)驗證碼獲取請求生成目標驗證碼,并將所述目標驗證碼發(fā)送至所述用戶端。
6、在一實施例中,所述負載參數(shù)包括連接數(shù)和響應時間;所述根據(jù)各個服務器的負載參數(shù),在所述各個服務器中確定出一個目標服務器的步驟包括:
7、確定所述連接數(shù)和所述響應時間分別對應的權(quán)重比值,并計算出各個所述服務器的負載參數(shù)的總評分,其中,所述連接數(shù)的權(quán)重比值小于所述響應時間的權(quán)重比值;
8、將最大的總評分所對應的所述服務器確定為所述目標服務器。
9、在一實施例中,所述所述目標服務器根據(jù)所述驗證碼獲取請求生成目標驗證碼,并將所述目標驗證碼發(fā)送至所述用戶端的步驟包括:
10、當所述目標服務器接收到所述驗證碼獲取請求時,在所述目標服務器與編碼模塊之間建立連接;
11、所述目標服務器根據(jù)所述驗證碼獲取請求生成第一驗證碼,并將所述第一驗證碼發(fā)送至所述編碼模塊;
12、根據(jù)所述編碼模塊確定預設編碼規(guī)則,通過所述預設編碼規(guī)則對所述第一驗證碼進行序號編排和特征編排,以生成所述目標驗證碼,并將所述目標驗證碼發(fā)送至所述目標服務器;
13、根據(jù)所述目標服務器將所述目標驗證碼發(fā)送至所述用戶端。
14、在一實施例中,所述根據(jù)所述編碼模塊確定預設編碼規(guī)則的步驟包括:
15、根據(jù)所述編碼模塊獲取歷史目標驗證碼,根據(jù)所述歷史目標驗證碼確定序號編排規(guī)則和特征編排規(guī)則;
16、分別調(diào)整所述序號編排規(guī)則和所述特征編排規(guī)則的參數(shù);
17、將經(jīng)過參數(shù)調(diào)整后的所述序號編排規(guī)則和所述特征編排規(guī)則確定為所述預設編碼規(guī)則。
18、在一實施例中,所述在所述目標服務器與編碼模塊之間建立連接的步驟包括:
19、所述目標服務器與所述編碼模塊通過websocket協(xié)議建立連接。
20、在一實施例中,在所述根據(jù)所述目標服務器將所述目標驗證碼發(fā)送至所述用戶端的步驟之后還包括:
21、獲取所述目標驗證碼的發(fā)送時間,將所述目標驗證碼與所述發(fā)送時間進行關(guān)聯(lián);
22、將關(guān)聯(lián)后的所述目標驗證碼進行存儲。
23、在一實施例中,所述的方法還包括:
24、當獲取到所述用戶端發(fā)送的驗證請求時,對所述驗證請求進行解析以得到第二驗證碼;
25、獲取關(guān)聯(lián)后的所述目標驗證碼,并根據(jù)所述目標驗證碼和所述第二驗證碼確定是否驗證通過。
26、在一實施例中,所述根據(jù)所述目標驗證碼和所述第二驗證碼確定是否驗證通過的步驟包括:
27、根據(jù)所述目標驗證碼的發(fā)送時間確定有效時間;
28、判斷所述第二驗證碼的接收時間是否在所述有效時間內(nèi),并判斷所述目標驗證碼和所述第二驗證碼是否相同;
29、若所述目標驗證碼和所述第二驗證碼相同,且所述第二驗證碼的接收時間在所述有效時間內(nèi),則確定驗證通過;
30、若所述目標驗證碼和所述第二驗證碼不相同,和/或,所述第二驗證碼的接收時間未在所述有效時間內(nèi),則驗證失敗,并向所述用戶端發(fā)送錯誤提示。
31、此外,為實現(xiàn)上述目的,本申請還提出一種驗證碼生成設備,所述設備包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述計算機程序配置為實現(xiàn)如上文所述的驗證碼生成方法的步驟。
32、此外,為實現(xiàn)上述目的,本申請還提出一種存儲介質(zhì),所述存儲介質(zhì)為計算機可讀存儲介質(zhì),所述存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上文所述的驗證碼生成方法的步驟。
33、本申請?zhí)峁┝艘环N驗證碼生成方法,在檢測到用戶端發(fā)送的驗證碼獲取請求后,獲取各個服務器的負載參數(shù),并根據(jù)負載參數(shù)來確定生成驗證碼的服務器。通過將驗證碼生成任務分配給負載最低的服務器,可以減少用戶等待的時間,提高系統(tǒng)的響應速度,從而提升用戶體驗。此外,還可以確保系統(tǒng)中的所有服務器都能得到合理的利用,避免某些服務器因處理過多請求而過載,而其他服務器則處于空閑狀態(tài)。
1.一種驗證碼生成方法,其特征在于,所述方法包括:
2.如權(quán)利要求1所述的方法,其特征在于,所述負載參數(shù)包括連接數(shù)和響應時間;所述根據(jù)各個服務器的負載參數(shù),在所述各個服務器中確定出一個目標服務器的步驟包括:
3.如權(quán)利要求1所述的方法,其特征在于,所述所述目標服務器根據(jù)所述驗證碼獲取請求生成目標驗證碼,并將所述目標驗證碼發(fā)送至所述用戶端的步驟包括:
4.如權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述編碼模塊確定預設編碼規(guī)則的步驟包括:
5.如權(quán)利要求3所述的方法,其特征在于,所述在所述目標服務器與編碼模塊之間建立連接的步驟包括:
6.如權(quán)利要求3所述的方法,其特征在于,在所述根據(jù)所述目標服務器將所述目標驗證碼發(fā)送至所述用戶端的步驟之后還包括:
7.如權(quán)利要求6所述的方法,其特征在于,所述的方法還包括:
8.如權(quán)利要求7所述的方法,其特征在于,所述根據(jù)所述目標驗證碼和所述第二驗證碼確定是否驗證通過的步驟包括:
9.一種驗證碼生成設備,其特征在于,所述設備包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述計算機程序配置為實現(xiàn)如權(quán)利要求1至8中任一項所述的驗證碼生成方法的步驟。
10.一種存儲介質(zhì),其特征在于,所述存儲介質(zhì)為計算機可讀存儲介質(zhì),所述存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至8中任一項所述的驗證碼生成方法的步驟。