本發(fā)明涉及數(shù)據(jù)處理,尤其涉及一種上報數(shù)據(jù)處理方法、裝置、計算機(jī)設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、數(shù)據(jù)上報是指一個系統(tǒng)或平臺上的用戶、商戶或第三方合作伙伴將其相關(guān)數(shù)據(jù)傳輸給系統(tǒng)進(jìn)行存儲、處理和分析的過程。當(dāng)上報數(shù)據(jù)的數(shù)據(jù)量級較大時,為了降低資源使用成本和保證數(shù)據(jù)上報質(zhì)量,現(xiàn)有技術(shù)采用遠(yuǎn)程過程調(diào)用(remote?procedure?call,rpc)服務(wù)獲取數(shù)據(jù)以及消息隊列(message?queue,mq)異步落庫的方式完成數(shù)據(jù)上報。
2、現(xiàn)有的數(shù)據(jù)上報流程包括調(diào)用rpc上報服務(wù)、生產(chǎn)mq消息和消費(fèi)mq落庫三個環(huán)節(jié)。由于這種數(shù)據(jù)上報方式同時涉及rpc服務(wù)和mq組件,當(dāng)rpc服務(wù)和mq組件不可用時,會由于上報異常導(dǎo)致數(shù)據(jù)丟失。為了避免數(shù)據(jù)丟失,現(xiàn)有的方法是對rpc服務(wù)和mq組件進(jìn)行分布式部署并冗余足夠多的節(jié)點(diǎn),在上報異常時通過輪詢重試調(diào)用不同節(jié)點(diǎn)直至成功或輪詢完節(jié)點(diǎn)為止。這種方法存在兩方面的缺點(diǎn),一方面分布式部署下的rpc服務(wù)和mq組件在出現(xiàn)異常時輪詢重試,耗費(fèi)了大量資源,另一方面輪詢重試存在重試次數(shù)和時間的限制,當(dāng)rpc服務(wù)和mq組件完全不可用時達(dá)到限制,仍然會出現(xiàn)數(shù)據(jù)丟失情況,無法實(shí)現(xiàn)延遲重試,重試成功率低。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種上報數(shù)據(jù)處理方法、裝置、計算機(jī)設(shè)備及存儲介質(zhì),以解決在上報數(shù)據(jù)出現(xiàn)異常時資源耗費(fèi)大和輪詢重試成功率低的問題。
2、一種上報數(shù)據(jù)處理方法,包括:
3、接收客戶端發(fā)送的第一數(shù)據(jù)上報請求,根據(jù)所述第一數(shù)據(jù)上報請求進(jìn)行服務(wù)調(diào)用處理并判斷是否出現(xiàn)服務(wù)調(diào)用異常;
4、若確定出現(xiàn)服務(wù)調(diào)用異常,則向所述客戶端發(fā)送數(shù)據(jù)存儲請求,并接收所述客戶端反饋的與所述數(shù)據(jù)存儲請求對應(yīng)的存儲路徑信息;
5、根據(jù)所述存儲路徑信息將所述第一數(shù)據(jù)上報請求中的目標(biāo)業(yè)務(wù)數(shù)據(jù)寫入磁盤存儲區(qū);
6、接收所述客戶端發(fā)送的第二數(shù)據(jù)上報請求,在根據(jù)所述第二數(shù)據(jù)上報請求成功完成數(shù)據(jù)上報時,確定服務(wù)調(diào)用異常已消除,從所述磁盤存儲區(qū)中讀取所述目標(biāo)業(yè)務(wù)數(shù)據(jù)并重新進(jìn)行服務(wù)調(diào)用處理,以在重新調(diào)用未出現(xiàn)服務(wù)調(diào)用異常時,對所述目標(biāo)業(yè)務(wù)數(shù)據(jù)執(zhí)行上報處理。
7、一種上報數(shù)據(jù)處理裝置,包括:
8、服務(wù)調(diào)用模塊,用于接收客戶端發(fā)送的第一數(shù)據(jù)上報請求,根據(jù)所述第一數(shù)據(jù)上報請求進(jìn)行服務(wù)調(diào)用處理并判斷是否出現(xiàn)服務(wù)調(diào)用異常;
9、調(diào)用異常處理模塊,用于若確定出現(xiàn)服務(wù)調(diào)用異常,則向所述客戶端發(fā)送數(shù)據(jù)存儲請求,并接收所述客戶端反饋的與所述數(shù)據(jù)存儲請求對應(yīng)的存儲路徑信息;
10、磁盤存儲模塊,用于根據(jù)所述存儲路徑信息將所述第一數(shù)據(jù)上報請求中的目標(biāo)業(yè)務(wù)數(shù)據(jù)寫入磁盤存儲區(qū);
11、服務(wù)重新調(diào)用模塊,用于接收所述客戶端發(fā)送的第二數(shù)據(jù)上報請求,在根據(jù)所述第二數(shù)據(jù)上報請求成功完成數(shù)據(jù)上報時,確定服務(wù)調(diào)用異常已消除,從所述磁盤存儲區(qū)中讀取所述目標(biāo)業(yè)務(wù)數(shù)據(jù)并重新進(jìn)行服務(wù)調(diào)用處理,以在重新調(diào)用未出現(xiàn)服務(wù)調(diào)用異常時,對所述目標(biāo)業(yè)務(wù)數(shù)據(jù)執(zhí)行上報處理。
12、一種計算機(jī)設(shè)備,包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運(yùn)行的計算機(jī)可讀指令,所述處理器執(zhí)行所述計算機(jī)可讀指令時實(shí)現(xiàn)上述上報數(shù)據(jù)處理方法。
13、一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)存儲有計算機(jī)可讀指令,所述計算機(jī)可讀指令被一個或多個處理器執(zhí)行時,使得所述一個或多個處理器執(zhí)行如上述上報數(shù)據(jù)處理方法。
14、上述上報數(shù)據(jù)處理方法、裝置、計算機(jī)設(shè)備及存儲介質(zhì)中,該上報數(shù)據(jù)處理方法在根據(jù)第一數(shù)據(jù)上報請求進(jìn)行服務(wù)調(diào)用處理出現(xiàn)服務(wù)調(diào)用異常時將業(yè)務(wù)數(shù)據(jù)存儲到磁盤文件,減小了資源的占用,準(zhǔn)確判斷數(shù)據(jù)上報服務(wù)的可用性,防止數(shù)據(jù)丟失。同時,在根據(jù)第二數(shù)據(jù)上報請求成功完成時判斷服務(wù)調(diào)用恢復(fù)正常,異步讀取磁盤文件中的業(yè)務(wù)數(shù)據(jù)重新進(jìn)行服務(wù)調(diào)用處理,在服務(wù)異常和磁盤緩存的基礎(chǔ)上生成重試上報請求進(jìn)行數(shù)據(jù)的異步上報,實(shí)現(xiàn)了延遲重試上報數(shù)據(jù),避免了讀寫沖突,提高了數(shù)據(jù)上報的成功率和準(zhǔn)確率。
1.一種上報數(shù)據(jù)處理方法,其特征在于,包括:
2.如權(quán)利要求1所述的上報數(shù)據(jù)處理方法,其特征在于,所述服務(wù)調(diào)用異常包括遠(yuǎn)程服務(wù)異常和消息隊列異常;
3.如權(quán)利要求1所述的上報數(shù)據(jù)處理方法,其特征在于,所述存儲路徑信息包括文件路徑信息和文件容量信息;
4.如權(quán)利要求1所述的上報數(shù)據(jù)處理方法,其特征在于,所述從所述磁盤存儲區(qū)中讀取所述目標(biāo)業(yè)務(wù)數(shù)據(jù),包括:
5.如權(quán)利要求4所述的上報數(shù)據(jù)處理方法,其特征在于,所述存儲路徑信息包括記錄有存儲時間信息的文件名信息,所述重試上報請求包括重試時間信息;
6.如權(quán)利要求4所述的上報數(shù)據(jù)處理方法,其特征在于,所述從所述磁盤存儲區(qū)中讀取所述目標(biāo)業(yè)務(wù)數(shù)據(jù)并重新進(jìn)行服務(wù)調(diào)用處理,以在重新調(diào)用未出現(xiàn)服務(wù)調(diào)用異常時,對所述目標(biāo)業(yè)務(wù)數(shù)據(jù)執(zhí)行上報處理,還包括:
7.如權(quán)利要求1所述的上報數(shù)據(jù)處理方法,其特征在于,所述從所述磁盤存儲區(qū)中讀取所述目標(biāo)業(yè)務(wù)數(shù)據(jù)并重新進(jìn)行服務(wù)調(diào)用處理之后,還包括:
8.一種上報數(shù)據(jù)處理裝置,其特征在于,包括:
9.一種計算機(jī)設(shè)備,包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運(yùn)行的計算機(jī)可讀指令,其特征在于,所述處理器執(zhí)行所述計算機(jī)可讀指令時實(shí)現(xiàn)如權(quán)利要求1至7中任一項所述上報數(shù)據(jù)處理方法。
10.一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)存儲有計算機(jī)可讀指令,其特征在于,所述計算機(jī)可讀指令被一個或多個處理器執(zhí)行時,使得所述一個或多個處理器執(zhí)行如權(quán)利要求1至7中任一項所述上報數(shù)據(jù)處理方法。