本發(fā)明涉及數(shù)據(jù)脫敏,具體涉及一種考勤打卡方法、系統(tǒng)、設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、現(xiàn)有有考勤打卡完全依賴mapi(messaging?application?programminginterface)服務(wù)和考勤相關(guān)服務(wù)如:考勤主服務(wù)(涉及查詢計算員工班次、方案等),考勤打卡微服務(wù)(打卡記錄校驗、保存等)。由于完全依賴相應(yīng)服務(wù),當(dāng)該流程中任何一個服務(wù)出現(xiàn)問題時,皆有可能導(dǎo)致無法打卡或相關(guān)業(yè)務(wù)功能失敗,而打卡業(yè)務(wù)作為員工側(cè)和人事系統(tǒng)最為基礎(chǔ)和重要的功能之一,如何保證該業(yè)務(wù)的正常運行是重中之重。
技術(shù)實現(xiàn)思路
1、為此,本發(fā)明提供一種考勤打卡方法、系統(tǒng)、設(shè)備及存儲介質(zhì),以解決現(xiàn)有考勤打卡完全依賴mapi服務(wù)和考勤相關(guān)服務(wù),當(dāng)該流程中任何一個服務(wù)出現(xiàn)問題時,皆有可能導(dǎo)致無法打卡或相關(guān)業(yè)務(wù)功能失敗,考勤打卡業(yè)務(wù)的正常運行無法保證的問題。
2、為了實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
3、根據(jù)本發(fā)明實施例的第一方面,提出一種考勤打卡方法,所述方法包括:
4、獲取用戶登錄狀態(tài)下的打卡請求,所述打卡請求中包含打卡數(shù)據(jù);
5、響應(yīng)于所述打卡請求,校驗打卡熔斷服務(wù)是否開啟,所述打卡熔斷服務(wù)的開關(guān)狀態(tài)通過手動配置或者基于預(yù)設(shè)熔斷規(guī)則進(jìn)行自動觸發(fā);
6、若所述打卡熔斷服務(wù)已開啟,則通過所述打卡熔斷服務(wù)將所述打卡數(shù)據(jù)臨時存儲在數(shù)據(jù)庫中;
7、若所述打卡熔斷服務(wù)未開啟,則通過mapi服務(wù)將所述打卡數(shù)據(jù)按照正常打卡流程進(jìn)行處理;
8、生成打卡響應(yīng)結(jié)果。
9、進(jìn)一步的,獲取用戶登錄狀態(tài)下的打卡請求,具體包括:
10、若用戶處于未登錄狀態(tài),則首先對用戶登錄信息進(jìn)行校驗,校驗通過后用戶登錄成功。
11、進(jìn)一步的,若所述打卡熔斷服務(wù)已開啟,則通過所述打卡熔斷服務(wù)將所述打卡數(shù)據(jù)臨時存儲在數(shù)據(jù)庫中,具體包括:
12、通過nginx和網(wǎng)關(guān)服務(wù)將所述打卡請求轉(zhuǎn)發(fā)至打卡熔斷服務(wù)。
13、進(jìn)一步的,若所述打卡熔斷服務(wù)已開啟,則通過所述打卡熔斷服務(wù)將所述打卡數(shù)據(jù)臨時存儲在數(shù)據(jù)庫中,具體包括:
14、將打卡數(shù)據(jù)持久化在mongodb數(shù)據(jù)庫中,生成臨時打卡記錄。
15、進(jìn)一步的,打卡熔斷服務(wù)的開關(guān)狀態(tài)通過手動配置或者基于預(yù)設(shè)熔斷規(guī)則進(jìn)行自動觸發(fā),具體包括:
16、當(dāng)mapi服務(wù)或考勤相關(guān)服務(wù)出現(xiàn)崩潰或故障,則開啟所述打卡熔斷服務(wù);
17、當(dāng)崩潰或故障的mapi服務(wù)或考勤相關(guān)服務(wù)恢復(fù)正常時,則關(guān)閉所述打卡熔斷服務(wù)。
18、進(jìn)一步的,所述方法還包括:
19、當(dāng)所述打卡熔斷服務(wù)關(guān)閉后,則通過調(diào)用mapi服務(wù)的接口將臨時存儲在在數(shù)據(jù)庫中的打卡數(shù)據(jù)恢復(fù)為正常打卡數(shù)據(jù)。
20、進(jìn)一步的,所述方法還包括:基于考勤打卡app或h5網(wǎng)頁進(jìn)行考勤打卡。
21、根據(jù)本發(fā)明實施例的第二方面,提出一種考勤打卡系統(tǒng),所述系統(tǒng)包括:
22、打卡請求模塊,用于獲取用戶登錄狀態(tài)下的打卡請求,所述打卡請求中包含打卡數(shù)據(jù);
23、熔斷服務(wù)校驗?zāi)K,用于響應(yīng)于所述打卡請求,校驗打卡熔斷服務(wù)是否開啟,所述打卡熔斷服務(wù)的開關(guān)狀態(tài)通過手動配置或者基于預(yù)設(shè)熔斷規(guī)則進(jìn)行自動觸發(fā);
24、臨時打卡模塊,用于若所述打卡熔斷服務(wù)已開啟,則通過所述打卡熔斷服務(wù)將所述打卡數(shù)據(jù)臨時存儲在數(shù)據(jù)庫中;
25、正常打卡模塊,用于若所述打卡熔斷服務(wù)未開啟,則通過mapi服務(wù)將所述打卡數(shù)據(jù)按照正常打卡流程進(jìn)行處理;
26、打卡結(jié)果生成模塊,用于生成打卡響應(yīng)結(jié)果。
27、根據(jù)本發(fā)明實施例的第三方面,提出一種電子設(shè)備,所述設(shè)備包括:處理器和存儲器;
28、所述存儲器用于存儲一個或多個程序指令;
29、所述處理器,用于運行一個或多個程序指令,用以執(zhí)行如上任一項所述的一種考勤打卡方法的步驟。
30、根據(jù)本發(fā)明實施例的第四方面,提出一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上任一項所述一種考勤打卡方法的步驟。
31、本發(fā)明提出一種考勤打卡方法、系統(tǒng)、設(shè)備及存儲介質(zhì),獲取用戶登錄狀態(tài)下的打卡請求,所述打卡請求中包含打卡數(shù)據(jù);響應(yīng)于所述打卡請求,校驗打卡熔斷服務(wù)是否開啟,所述打卡熔斷服務(wù)的開關(guān)狀態(tài)通過手動配置或者基于預(yù)設(shè)熔斷規(guī)則進(jìn)行自動觸發(fā);若所述打卡熔斷服務(wù)已開啟,則通過所述打卡熔斷服務(wù)將所述打卡數(shù)據(jù)臨時存儲在數(shù)據(jù)庫中;若所述打卡熔斷服務(wù)未開啟,則通過mapi服務(wù)將所述打卡數(shù)據(jù)按照正常打卡流程進(jìn)行處理;生成打卡響應(yīng)結(jié)果。本發(fā)明在mapi服務(wù)或考勤相關(guān)服務(wù)出現(xiàn)崩潰或故障時,開啟打卡熔斷服務(wù)將打卡數(shù)據(jù)存入臨時打卡記錄表,后續(xù)相關(guān)服務(wù)正常以后可以將這些臨時打卡記錄及時恢復(fù)為正常打卡記錄,采用降級打卡的方式保證了打卡業(yè)務(wù)的可用性以及穩(wěn)定性。
1.一種考勤打卡方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的一種考勤打卡方法,其特征在于,獲取用戶登錄狀態(tài)下的打卡請求,具體包括:
3.根據(jù)權(quán)利要求1所述的一種考勤打卡方法,其特征在于,若所述打卡熔斷服務(wù)已開啟,則通過所述打卡熔斷服務(wù)將所述打卡數(shù)據(jù)臨時存儲在數(shù)據(jù)庫中,具體包括:
4.根據(jù)權(quán)利要求1所述的一種考勤打卡方法,其特征在于,若所述打卡熔斷服務(wù)已開啟,則通過所述打卡熔斷服務(wù)將所述打卡數(shù)據(jù)臨時存儲在數(shù)據(jù)庫中,具體包括:
5.根據(jù)權(quán)利要求1所述的一種考勤打卡方法,其特征在于,打卡熔斷服務(wù)的開關(guān)狀態(tài)通過手動配置或者基于預(yù)設(shè)熔斷規(guī)則進(jìn)行自動觸發(fā),具體包括:
6.根據(jù)權(quán)利要求1所述的一種考勤打卡方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求1所述的一種考勤打卡方法,其特征在于,所述方法還包括:基于考勤打卡app或h5網(wǎng)頁進(jìn)行考勤打卡。
8.一種考勤打卡系統(tǒng),其特征在于,所述系統(tǒng)包括:
9.一種電子設(shè)備,其特征在于,所述設(shè)備包括:處理器和存儲器;
10.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至7任一項所述一種考勤打卡方法的步驟。