本發(fā)明涉及數(shù)據(jù)處理,特別涉及一種支持業(yè)務(wù)溯源的微服務(wù)處理系統(tǒng)。
背景技術(shù):
1、由微服務(wù)架構(gòu)的原理我們可知:基于微服務(wù)架構(gòu)實現(xiàn)的處理系統(tǒng)具備拓展性好、迭代快等優(yōu)勢,但也存在對出錯業(yè)務(wù)進(jìn)行逆向溯源難度較大的問題。一旦某個業(yè)務(wù)在流轉(zhuǎn)過程中發(fā)生錯誤則需要花費大量的人力資源去分析、篩選各節(jié)點的本地日志,并在得到所有相關(guān)日志之后才能啟動后續(xù)的調(diào)試工作。微服務(wù)處理系統(tǒng)的結(jié)構(gòu)越復(fù)雜、則業(yè)務(wù)溯源難度越大且出錯業(yè)務(wù)的調(diào)試效率越低。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的,就是針對現(xiàn)有技術(shù)的缺陷,提供一種支持業(yè)務(wù)溯源的微服務(wù)處理系統(tǒng),該系統(tǒng)包括:多個第一客戶端、第一業(yè)務(wù)接入端、第一業(yè)務(wù)標(biāo)識庫、多個第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)、第一業(yè)務(wù)日志庫和第一業(yè)務(wù)溯源端;本發(fā)明系統(tǒng)在傳統(tǒng)的微服務(wù)處理系統(tǒng)上增加了第一業(yè)務(wù)標(biāo)識庫、第一業(yè)務(wù)日志庫和第一業(yè)務(wù)溯源端;并通過第一業(yè)務(wù)標(biāo)識庫為每個第一客戶端發(fā)起的每個第一業(yè)務(wù)請求分配一個唯一的全局業(yè)務(wù)標(biāo)識;并在第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)的業(yè)務(wù)節(jié)點流轉(zhuǎn)過程中,先由首節(jié)點將全局業(yè)務(wù)標(biāo)識作為對應(yīng)的父節(jié)點業(yè)務(wù)標(biāo)識、并在當(dāng)前父節(jié)點業(yè)務(wù)標(biāo)識的基礎(chǔ)上增加當(dāng)前節(jié)點的標(biāo)識增項構(gòu)成對應(yīng)的自身節(jié)點業(yè)務(wù)標(biāo)識,再由下一級調(diào)用節(jié)點將上一級節(jié)點的節(jié)點業(yè)務(wù)標(biāo)識作為對應(yīng)的父節(jié)點業(yè)務(wù)標(biāo)識、并在當(dāng)前父節(jié)點業(yè)務(wù)標(biāo)識的基礎(chǔ)上增加當(dāng)前節(jié)點的標(biāo)識增項構(gòu)成對應(yīng)的自身節(jié)點業(yè)務(wù)標(biāo)識,依次遞推即可從每條業(yè)務(wù)鏈上的任一流轉(zhuǎn)節(jié)點出發(fā)反推出當(dāng)次業(yè)務(wù)流轉(zhuǎn)過的所有節(jié)點信息;并在第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)的業(yè)務(wù)節(jié)點流轉(zhuǎn)過程中,在各個流轉(zhuǎn)節(jié)點上產(chǎn)生的節(jié)點業(yè)務(wù)日志里加入與當(dāng)前節(jié)點對應(yīng)的父節(jié)點業(yè)務(wù)標(biāo)識和自身節(jié)點業(yè)務(wù)標(biāo)識,并將各個節(jié)點業(yè)務(wù)日志存入第一業(yè)務(wù)日志庫;并由第一業(yè)務(wù)日志庫對各個節(jié)點業(yè)務(wù)日志的日志狀態(tài)進(jìn)行識別,并在識別出錯誤狀態(tài)的節(jié)點業(yè)務(wù)日志之后將當(dāng)前錯誤日志送至第一業(yè)務(wù)溯源端;并由第一業(yè)務(wù)溯源端從當(dāng)前錯誤日志出發(fā)對當(dāng)次業(yè)務(wù)鏈流轉(zhuǎn)過的所有流轉(zhuǎn)節(jié)點的節(jié)點業(yè)務(wù)日志序列進(jìn)行逐級追溯直到獲得首節(jié)點的日志序列之后停止,并按從首節(jié)點到出錯節(jié)點的排序方向由得到的各級節(jié)點業(yè)務(wù)日志序列組成對應(yīng)的業(yè)務(wù)鏈日志序列,并將該業(yè)務(wù)鏈日志序列送至預(yù)設(shè)的調(diào)試通知接口。本發(fā)明系統(tǒng)可對在任意流轉(zhuǎn)節(jié)點上出錯的業(yè)務(wù)流進(jìn)行逆向溯源,通過本發(fā)明系統(tǒng)可以降低微服務(wù)處理系統(tǒng)的業(yè)務(wù)溯源難度、提高出錯業(yè)務(wù)的調(diào)試效率。
2、為實現(xiàn)上述目的,本發(fā)明實施例提供了一種支持業(yè)務(wù)溯源的微服務(wù)處理系統(tǒng),所述系統(tǒng)包括:多個第一客戶端、第一業(yè)務(wù)接入端、第一業(yè)務(wù)標(biāo)識庫、多個第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)、第一業(yè)務(wù)日志庫和第一業(yè)務(wù)溯源端;
3、各個所述第一客戶端與所述第一業(yè)務(wù)接入端;所述第一客戶端用于向所述第一業(yè)務(wù)接入端發(fā)送第一業(yè)務(wù)請求;并接收所述第一業(yè)務(wù)接入端回發(fā)的第一業(yè)務(wù)反饋;所述第一業(yè)務(wù)請求包括第一業(yè)務(wù)接口;
4、所述第一業(yè)務(wù)接入端分別與所述第一業(yè)務(wù)標(biāo)識庫和各個所述第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)連接;所述第一業(yè)務(wù)接入端用于在接收到所述第一業(yè)務(wù)請求時,將當(dāng)前所述第一業(yè)務(wù)請求的請求時間作為對應(yīng)的第一請求時間;并從所述第一業(yè)務(wù)請求中提取出對應(yīng)的所述第一業(yè)務(wù)接口;并將攜帶了所述第一請求時間和所述第一業(yè)務(wù)接口的第一全局標(biāo)識申請向所述第一業(yè)務(wù)標(biāo)識庫發(fā)送;并接收所述第一業(yè)務(wù)標(biāo)識庫回發(fā)的第一業(yè)務(wù)全局標(biāo)識;并由所述第一業(yè)務(wù)全局標(biāo)識和所述第一業(yè)務(wù)請求組成對應(yīng)的第一業(yè)務(wù)內(nèi)部請求向與所述第一業(yè)務(wù)接口對應(yīng)的所述第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)發(fā)送;并將所述第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)回發(fā)的所述第一業(yè)務(wù)反饋向所述第一客戶端回發(fā);
5、所述第一業(yè)務(wù)標(biāo)識庫用于使用redis數(shù)據(jù)庫存儲多個第一業(yè)務(wù)標(biāo)識記錄;所述第一業(yè)務(wù)標(biāo)識記錄包括第一業(yè)務(wù)接口字段和第一業(yè)務(wù)全局標(biāo)識字段;
6、所述第一業(yè)務(wù)標(biāo)識庫還用于在同時接收到一個或多個所述第一全局標(biāo)識申請時,為當(dāng)次接收的各個所述第一全局標(biāo)識申請創(chuàng)建一個對應(yīng)的第一全局標(biāo)識處理線程;并由各個所述第一全局標(biāo)識處理線程根據(jù)所述第一全局標(biāo)識申請進(jìn)行全局標(biāo)識生成和業(yè)務(wù)標(biāo)識記錄設(shè)置處理得到對應(yīng)的所述第一業(yè)務(wù)全局標(biāo)識向所述第一業(yè)務(wù)接入端回發(fā);
7、各個所述第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)分別與所述第一業(yè)務(wù)日志庫連接;所述第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)包括多個第一流轉(zhuǎn)節(jié)點;所述第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)中的所述第一流轉(zhuǎn)節(jié)點按預(yù)設(shè)的業(yè)務(wù)流微服務(wù)調(diào)用規(guī)則進(jìn)行連接;所述第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)用于根據(jù)所述第一業(yè)務(wù)內(nèi)部請求進(jìn)行業(yè)務(wù)流程處理得到對應(yīng)的所述第一業(yè)務(wù)反饋向所述第一業(yè)務(wù)接入端回發(fā);所述第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)還用于在每次業(yè)務(wù)流程處理過程中,對過程日志進(jìn)行采集得到對應(yīng)的第一節(jié)點業(yè)務(wù)日志存入所述第一業(yè)務(wù)日志庫;
8、所述第一業(yè)務(wù)日志庫與所述第一業(yè)務(wù)溯源端連接;所述第一業(yè)務(wù)日志庫用于保存所述第一節(jié)點業(yè)務(wù)日志;所述第一業(yè)務(wù)日志庫還用于對接收到的所述第一節(jié)點業(yè)務(wù)日志的日志狀態(tài)進(jìn)行識別得到對應(yīng)的第一日志狀態(tài);并在所述第一日志狀態(tài)為錯誤狀態(tài)時,將攜帶了當(dāng)前所述第一節(jié)點業(yè)務(wù)日志的第一業(yè)務(wù)溯源申請向所述第一業(yè)務(wù)溯源端發(fā)送;所述第一日志狀態(tài)包括成功狀態(tài)和錯誤狀態(tài);
9、所述第一業(yè)務(wù)溯源端用于從接收到的所述第一業(yè)務(wù)溯源申請中提取出對應(yīng)的所述第一節(jié)點業(yè)務(wù)日志;并根據(jù)所述第一節(jié)點業(yè)務(wù)日志的業(yè)務(wù)標(biāo)識對所述第一業(yè)務(wù)日志庫進(jìn)行業(yè)務(wù)鏈日志追溯得到對應(yīng)的第一業(yè)務(wù)鏈日志序列;并將所述第一業(yè)務(wù)鏈日志序列向預(yù)設(shè)的調(diào)試通知接口發(fā)送。
10、優(yōu)選的,所述第一業(yè)務(wù)標(biāo)識庫具體用在所述由各個所述第一全局標(biāo)識處理線程根據(jù)所述第一全局標(biāo)識申請進(jìn)行全局標(biāo)識生成和業(yè)務(wù)標(biāo)識記錄設(shè)置處理得到對應(yīng)的所述第一業(yè)務(wù)全局標(biāo)識向所述第一業(yè)務(wù)接入端回發(fā)時,由所述第一全局標(biāo)識處理線程從所述第一全局標(biāo)識申請中提取出對應(yīng)的所述第一請求時間和所述第一業(yè)務(wù)接口;
11、并基于預(yù)設(shè)的分布式鎖處理機制,對所述redis數(shù)據(jù)庫中所述第一業(yè)務(wù)接口字段與所述第一業(yè)務(wù)接口匹配的所述第一業(yè)務(wù)標(biāo)識記錄進(jìn)行記錄鎖定處理得到對應(yīng)的第一鎖定結(jié)果;并在所述第一鎖定結(jié)果為鎖定失敗時,在等待一個指定時長之后繼續(xù)基于所述分布式鎖處理機制對所述redis數(shù)據(jù)庫中所述第一業(yè)務(wù)接口字段與所述第一業(yè)務(wù)接口匹配的所述第一業(yè)務(wù)標(biāo)識記錄進(jìn)行記錄鎖定處理直到所述第一鎖定結(jié)果為鎖定成功為止;并在所述第一鎖定結(jié)果為鎖定成功時,將當(dāng)前鎖定的所述第一業(yè)務(wù)標(biāo)識記錄作為對應(yīng)的當(dāng)前鎖定記錄;所述第一鎖定結(jié)果包括鎖定成功和鎖定失??;
12、并對所述第一請求時間進(jìn)行時間戳格式轉(zhuǎn)換得到對應(yīng)的第一請求時間戳;并將所述第一請求時間戳減去預(yù)設(shè)的第一起始時間戳的差作為對應(yīng)的第一時間戳;并將預(yù)設(shè)的第一對應(yīng)關(guān)系列表中,第二業(yè)務(wù)接口字段與所述第一業(yè)務(wù)接口匹配的第一對應(yīng)關(guān)系記錄的第一業(yè)務(wù)附加標(biāo)識字段提取出來作為對應(yīng)的第一業(yè)務(wù)附加標(biāo)識;所述第一對應(yīng)關(guān)系列表包括多個所述第一對應(yīng)關(guān)系記錄;所述第一對應(yīng)關(guān)系記錄包括所述第二業(yè)務(wù)接口字段和所述第一業(yè)務(wù)附加標(biāo)識字段;
13、并對當(dāng)前時間是否為預(yù)設(shè)的單日序號清零時間進(jìn)行識別;若是,則設(shè)置一個新的第一業(yè)務(wù)序號為預(yù)設(shè)的單日起始序號;若否,則將所述當(dāng)前鎖定記錄的所述第一業(yè)務(wù)全局標(biāo)識字段的所述第一業(yè)務(wù)序號提取出來作為對應(yīng)的前一業(yè)務(wù)序號,并將所述前一業(yè)務(wù)序號加1的和作為新的所述第一業(yè)務(wù)序號;
14、并由所述第一時間戳、所述第一業(yè)務(wù)附加標(biāo)識和新的所述第一業(yè)務(wù)序號組成一個新的所述第一業(yè)務(wù)全局標(biāo)識;并基于新的所述第一業(yè)務(wù)全局標(biāo)識對所述當(dāng)前鎖定記錄的所述第一業(yè)務(wù)全局標(biāo)識字段進(jìn)行重置;
15、并在重置成功后,基于預(yù)設(shè)的鎖定記錄解鎖機制對所述當(dāng)前鎖定記錄進(jìn)行解鎖;并將新的所述第一業(yè)務(wù)全局標(biāo)識向所述第一業(yè)務(wù)接入端回發(fā)。
16、優(yōu)選的,所述第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)具體用于在所述根據(jù)所述第一業(yè)務(wù)內(nèi)部請求進(jìn)行業(yè)務(wù)流程處理得到對應(yīng)的所述第一業(yè)務(wù)反饋向所述第一業(yè)務(wù)接入端回發(fā)時,將網(wǎng)絡(luò)中的第一個所述第一流轉(zhuǎn)節(jié)點記為對應(yīng)的首節(jié)點,并將除所述首節(jié)點之外的其他任一所述第一流轉(zhuǎn)節(jié)點記為對應(yīng)的過程節(jié)點;
17、并由所述首節(jié)點接收所述第一業(yè)務(wù)內(nèi)部請求;并將所述第一業(yè)務(wù)內(nèi)部請求的所述第一業(yè)務(wù)全局標(biāo)識提取出來作為對應(yīng)的第一父節(jié)點業(yè)務(wù)標(biāo)識;并為當(dāng)前的所述第一業(yè)務(wù)內(nèi)部請求創(chuàng)建一個對應(yīng)的第一會話實例;并為所述第一會話實例分配一個對應(yīng)的第一會話標(biāo)識;并將本地預(yù)置的節(jié)點標(biāo)識作為對應(yīng)的第一節(jié)點標(biāo)識;并基于所述第一節(jié)點標(biāo)識、所述第一會話標(biāo)識和預(yù)設(shè)的節(jié)點業(yè)務(wù)標(biāo)識增項規(guī)則對所述第一父節(jié)點業(yè)務(wù)標(biāo)識進(jìn)行標(biāo)識信息增項處理得到對應(yīng)的當(dāng)前節(jié)點業(yè)務(wù)標(biāo)識;并由所述第一會話實例基于本地的節(jié)點業(yè)務(wù)處理代碼根據(jù)所述第一業(yè)務(wù)內(nèi)部請求進(jìn)行本節(jié)點業(yè)務(wù)處理得到對應(yīng)的所述第一業(yè)務(wù)反饋向所述第一業(yè)務(wù)接入端回發(fā);并在所述第一會話實例的所述本節(jié)點業(yè)務(wù)處理的處理過程中若需對其他所述過程節(jié)點進(jìn)行服務(wù)調(diào)用時,將當(dāng)次調(diào)用的所述過程節(jié)點記為對應(yīng)的當(dāng)前子節(jié)點,并將當(dāng)次調(diào)用所需的傳遞參數(shù)作為對應(yīng)的第一調(diào)用參數(shù),并將所述當(dāng)前節(jié)點業(yè)務(wù)標(biāo)識作為對應(yīng)的第一節(jié)點業(yè)務(wù)標(biāo)識,并由得到的所述第一節(jié)點業(yè)務(wù)標(biāo)識和所述第一調(diào)用參數(shù)組成對應(yīng)的第一業(yè)務(wù)節(jié)點請求向所述當(dāng)前子節(jié)點發(fā)送,并基于所述當(dāng)前子節(jié)點返回的第一節(jié)點反饋進(jìn)行后續(xù)業(yè)務(wù)處理;
18、并在任一所述過程節(jié)點被所述首節(jié)點或另一個所述過程節(jié)點調(diào)用時,將當(dāng)次調(diào)用自身的所述首節(jié)點或另一個所述過程節(jié)點記為對應(yīng)的當(dāng)前父節(jié)點;并將所述當(dāng)前父節(jié)點發(fā)送的所述第一業(yè)務(wù)節(jié)點請求的所述第一節(jié)點業(yè)務(wù)標(biāo)識提取出來作為對應(yīng)的所述第一父節(jié)點業(yè)務(wù)標(biāo)識;并為當(dāng)前的所述第一業(yè)務(wù)節(jié)點請求創(chuàng)建一個對應(yīng)的所述第一會話實例;并為所述第一會話實例分配一個對應(yīng)的所述第一會話標(biāo)識;并基于所述第一節(jié)點標(biāo)識、所述第一會話標(biāo)識和預(yù)設(shè)的節(jié)點業(yè)務(wù)標(biāo)識增項規(guī)則對所述第一父節(jié)點業(yè)務(wù)標(biāo)識進(jìn)行標(biāo)識信息增項處理得到對應(yīng)的當(dāng)前節(jié)點業(yè)務(wù)標(biāo)識;并由所述第一會話實例基于本地的節(jié)點業(yè)務(wù)處理代碼根據(jù)所述第一業(yè)務(wù)節(jié)點請求進(jìn)行本節(jié)點業(yè)務(wù)處理得到對應(yīng)的所述第一節(jié)點反饋向所述當(dāng)前父節(jié)點回發(fā);并在所述第一會話實例的所述本節(jié)點業(yè)務(wù)處理的處理過程中若需對其他所述過程節(jié)點進(jìn)行服務(wù)調(diào)用時,將當(dāng)次調(diào)用的其他所述過程節(jié)點記為對應(yīng)的當(dāng)前子節(jié)點,并將當(dāng)次調(diào)用所需的傳遞參數(shù)作為對應(yīng)的所述第一調(diào)用參數(shù),并將所述當(dāng)前節(jié)點業(yè)務(wù)標(biāo)識作為對應(yīng)的所述第一節(jié)點業(yè)務(wù)標(biāo)識,并由得到的所述第一節(jié)點業(yè)務(wù)標(biāo)識和所述第一調(diào)用參數(shù)組成對應(yīng)的所述第一業(yè)務(wù)節(jié)點請求向所述當(dāng)前子節(jié)點發(fā)送,并基于所述當(dāng)前子節(jié)點返回的所述第一節(jié)點反饋進(jìn)行后續(xù)業(yè)務(wù)處理。
19、進(jìn)一步的,所述第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)的任一所述第一流轉(zhuǎn)節(jié)點具體用于在所述基于所述第一節(jié)點標(biāo)識、所述第一會話標(biāo)識和預(yù)設(shè)的節(jié)點業(yè)務(wù)標(biāo)識增項規(guī)則對所述第一父節(jié)點業(yè)務(wù)標(biāo)識進(jìn)行標(biāo)識信息增項處理得到對應(yīng)的當(dāng)前節(jié)點業(yè)務(wù)標(biāo)識時,對當(dāng)前時間是否為預(yù)設(shè)的單日計數(shù)器清零時間進(jìn)行識別;若是,則將本地預(yù)置的第一計數(shù)器的計數(shù)值清零,并將清零后的所述第一計數(shù)器的計數(shù)值作為對應(yīng)的第一計數(shù)值;若否,則對所述第一計數(shù)器的計數(shù)值加1,并將加1后的所述第一計數(shù)器的計數(shù)值作為對應(yīng)的所述第一計數(shù)值;并對當(dāng)前時間進(jìn)行時間戳格式轉(zhuǎn)換得到對應(yīng)的第二時間戳;并由預(yù)設(shè)的信息分隔符、所述第一節(jié)點標(biāo)識、所述第一計數(shù)值、所述第一會話標(biāo)識和所述第二時間戳組成一個對應(yīng)的第一標(biāo)識增項;并由所述第一父節(jié)點業(yè)務(wù)標(biāo)識和所述第一標(biāo)識增項組成一個對應(yīng)的所述當(dāng)前節(jié)點業(yè)務(wù)標(biāo)識。
20、優(yōu)選的,所述第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)具體用于在所述對過程日志進(jìn)行采集得到對應(yīng)的第一節(jié)點業(yè)務(wù)日志存入所述第一業(yè)務(wù)日志庫時,由網(wǎng)絡(luò)中的各個所述第一流轉(zhuǎn)節(jié)點的各個所述第一會話實例在對應(yīng)的所述本節(jié)點業(yè)務(wù)處理的處理過程中對各個預(yù)先指定的業(yè)務(wù)處理步驟的步驟功能說明、步驟執(zhí)行時間和步驟執(zhí)行狀態(tài)進(jìn)行信息采集得到一組對應(yīng)的第一處理步驟說明、第一步驟執(zhí)行時間和第一步驟執(zhí)行狀態(tài);并由當(dāng)前所述第一會話實例對應(yīng)的所述第一父節(jié)點業(yè)務(wù)標(biāo)識和所述第一節(jié)點業(yè)務(wù)標(biāo)識與每組所述第一處理步驟說明、所述第一步驟執(zhí)行時間和所述第一步驟執(zhí)行狀態(tài)組成一個對應(yīng)的所述第一節(jié)點業(yè)務(wù)日志存入所述第一業(yè)務(wù)日志庫;所述第一節(jié)點業(yè)務(wù)日志包括所述第一父節(jié)點業(yè)務(wù)標(biāo)識、所述第一節(jié)點業(yè)務(wù)標(biāo)識、所述第一處理步驟說明、所述第一步驟執(zhí)行時間和所述第一步驟執(zhí)行狀態(tài);所述第一步驟執(zhí)行狀態(tài)包括成功狀態(tài)和錯誤狀態(tài)。
21、優(yōu)選的,所述第一業(yè)務(wù)日志庫具體用于在所述對各個所述第一節(jié)點業(yè)務(wù)日志的日志狀態(tài)進(jìn)行識別得到對應(yīng)的第一日志狀態(tài)時,對所述第一節(jié)點業(yè)務(wù)日志的所述第一步驟執(zhí)行狀態(tài)進(jìn)行識別;若所述第一步驟執(zhí)行狀態(tài)為成功狀態(tài)則設(shè)置對應(yīng)的所述第一日志狀態(tài)為成功狀態(tài);若所述第一步驟執(zhí)行狀態(tài)為錯誤狀態(tài)則設(shè)置對應(yīng)的所述第一日志狀態(tài)為錯誤狀態(tài)。
22、優(yōu)選的,所述第一業(yè)務(wù)溯源端具體用于在所述根據(jù)所述第一節(jié)點業(yè)務(wù)日志的業(yè)務(wù)標(biāo)識對所述第一業(yè)務(wù)日志庫進(jìn)行業(yè)務(wù)鏈日志追溯得到對應(yīng)的第一業(yè)務(wù)鏈日志序列時:
23、步驟71,從所述第一節(jié)點業(yè)務(wù)日志中提取出對應(yīng)的所述第一父節(jié)點業(yè)務(wù)標(biāo)識和所述第一節(jié)點業(yè)務(wù)標(biāo)識作為對應(yīng)的當(dāng)前父節(jié)點業(yè)務(wù)標(biāo)識和當(dāng)前節(jié)點業(yè)務(wù)標(biāo)識;并初始化一個內(nèi)容為空的所述第一業(yè)務(wù)鏈日志序列;
24、步驟72,并將所述第一業(yè)務(wù)日志庫中所有所述第一父節(jié)點業(yè)務(wù)標(biāo)識和所述第一節(jié)點業(yè)務(wù)標(biāo)識與對應(yīng)的所述當(dāng)前父節(jié)點業(yè)務(wù)標(biāo)識和所述當(dāng)前節(jié)點業(yè)務(wù)標(biāo)識匹配的所述第一節(jié)點業(yè)務(wù)日志提取出來按時間先后順序排序組成一個對應(yīng)的第一節(jié)點業(yè)務(wù)日志序列;并將本次得到的所述第一節(jié)點業(yè)務(wù)日志序列添加到所述第一業(yè)務(wù)鏈日志序列的序列頭部;
25、步驟73,并對所述當(dāng)前節(jié)點業(yè)務(wù)標(biāo)識對應(yīng)的所述第一流轉(zhuǎn)節(jié)點是否為所述首節(jié)點進(jìn)行識別;若否,則轉(zhuǎn)至步驟74;若是,則轉(zhuǎn)至步驟75;
26、步驟74,將所述第一業(yè)務(wù)日志庫中任一所述第一節(jié)點業(yè)務(wù)標(biāo)識與所述當(dāng)前父節(jié)點業(yè)務(wù)標(biāo)識匹配的所述第一節(jié)點業(yè)務(wù)日志作為對應(yīng)的第一日志;并將所述第一日志的所述第一父節(jié)點業(yè)務(wù)標(biāo)識和所述第一節(jié)點業(yè)務(wù)標(biāo)識提取作為新的所述當(dāng)前父節(jié)點業(yè)務(wù)標(biāo)識和所述當(dāng)前節(jié)點業(yè)務(wù)標(biāo)識;并返回步驟72;
27、步驟75,將最新的所述第一業(yè)務(wù)鏈日志序列作為本次業(yè)務(wù)鏈日志追溯的追溯結(jié)果輸出。
28、本發(fā)明實施例提供了一種支持業(yè)務(wù)溯源的微服務(wù)處理系統(tǒng),該系統(tǒng)包括:多個第一客戶端、第一業(yè)務(wù)接入端、第一業(yè)務(wù)標(biāo)識庫、多個第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)、第一業(yè)務(wù)日志庫和第一業(yè)務(wù)溯源端;本發(fā)明系統(tǒng)在傳統(tǒng)的微服務(wù)處理系統(tǒng)上增加了第一業(yè)務(wù)標(biāo)識庫、第一業(yè)務(wù)日志庫和第一業(yè)務(wù)溯源端;并通過第一業(yè)務(wù)標(biāo)識庫為每個第一客戶端發(fā)起的每個第一業(yè)務(wù)請求分配一個唯一的全局業(yè)務(wù)標(biāo)識;并在第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)的業(yè)務(wù)節(jié)點流轉(zhuǎn)過程中,先由首節(jié)點將全局業(yè)務(wù)標(biāo)識作為對應(yīng)的父節(jié)點業(yè)務(wù)標(biāo)識、并在當(dāng)前父節(jié)點業(yè)務(wù)標(biāo)識的基礎(chǔ)上增加當(dāng)前節(jié)點的標(biāo)識增項構(gòu)成對應(yīng)的自身節(jié)點業(yè)務(wù)標(biāo)識,再由下一級調(diào)用節(jié)點將上一級節(jié)點的節(jié)點業(yè)務(wù)標(biāo)識作為對應(yīng)的父節(jié)點業(yè)務(wù)標(biāo)識、并在當(dāng)前父節(jié)點業(yè)務(wù)標(biāo)識的基礎(chǔ)上增加當(dāng)前節(jié)點的標(biāo)識增項構(gòu)成對應(yīng)的自身節(jié)點業(yè)務(wù)標(biāo)識,依次遞推即可從每條業(yè)務(wù)鏈上的任一流轉(zhuǎn)節(jié)點出發(fā)反推出當(dāng)次業(yè)務(wù)流轉(zhuǎn)過的所有節(jié)點信息;并在第一業(yè)務(wù)流轉(zhuǎn)網(wǎng)絡(luò)的業(yè)務(wù)節(jié)點流轉(zhuǎn)過程中,在各個流轉(zhuǎn)節(jié)點上產(chǎn)生的節(jié)點業(yè)務(wù)日志里加入與當(dāng)前節(jié)點對應(yīng)的父節(jié)點業(yè)務(wù)標(biāo)識和自身節(jié)點業(yè)務(wù)標(biāo)識,并將各個節(jié)點業(yè)務(wù)日志存入第一業(yè)務(wù)日志庫;并由第一業(yè)務(wù)日志庫對各個節(jié)點業(yè)務(wù)日志的日志狀態(tài)進(jìn)行識別,并在識別出錯誤狀態(tài)的節(jié)點業(yè)務(wù)日志之后將當(dāng)前錯誤日志送至第一業(yè)務(wù)溯源端;并由第一業(yè)務(wù)溯源端從當(dāng)前錯誤日志出發(fā)對當(dāng)次業(yè)務(wù)鏈流轉(zhuǎn)過的所有流轉(zhuǎn)節(jié)點的節(jié)點業(yè)務(wù)日志序列進(jìn)行逐級追溯直到獲得首節(jié)點的日志序列之后停止,并按從首節(jié)點到出錯節(jié)點的排序方向由得到的各級節(jié)點業(yè)務(wù)日志序列組成對應(yīng)的業(yè)務(wù)鏈日志序列,并將該業(yè)務(wù)鏈日志序列送至預(yù)設(shè)的調(diào)試通知接口。本發(fā)明系統(tǒng)可對在任意流轉(zhuǎn)節(jié)點上出錯的業(yè)務(wù)流進(jìn)行逆向溯源,通過本發(fā)明系統(tǒng)既減少了大量的人力資源消耗、又降低了微服務(wù)處理系統(tǒng)的業(yè)務(wù)溯源難度、還提高了出錯業(yè)務(wù)的調(diào)試效率。