本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及一種數(shù)據(jù)異步處理方法、設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、隨著信息技術(shù)的發(fā)展,數(shù)據(jù)報表在企業(yè)管理和決策支持中扮演著越來越重要的角色。傳統(tǒng)的報表生成和查詢方式通常采用同步處理模式,即用戶發(fā)起查詢請求后,系統(tǒng)立即開始處理,并在處理完成后返回結(jié)果。這種方式在數(shù)據(jù)量較小的情況下可以滿足需求,但在面對大數(shù)據(jù)量、高并發(fā)請求的場景時,存在明顯的不足。
2、現(xiàn)有的報表數(shù)據(jù)查詢都有以下的通用的問題:
3、1、高延遲問題:同步處理需要用戶等待所有數(shù)據(jù)處理完成后才能獲得結(jié)果,當(dāng)數(shù)據(jù)量大或查詢復(fù)雜時,處理時間較長,導(dǎo)致用戶體驗不佳。
4、2、系統(tǒng)資源占用:同步查詢在處理大規(guī)模數(shù)據(jù)時,需要占用大量的系統(tǒng)資源,包括cpu、內(nèi)存和i/o資源,容易造成系統(tǒng)瓶頸,影響其他業(yè)務(wù)的正常運行。
5、3、可擴展性差:傳統(tǒng)同步查詢模式難以有效應(yīng)對大規(guī)模用戶并發(fā)請求的情況,系統(tǒng)負(fù)載增加時,性能下降明顯,難以擴展。
6、因此,針對當(dāng)前報表查詢過程中高延遲、系統(tǒng)資源占用過大、可擴展性差的技術(shù)問題,需要一種技術(shù)來解決當(dāng)前的問題。
技術(shù)實現(xiàn)思路
1、本發(fā)明的主要目的在于解決當(dāng)前報表查詢過程中高延遲、系統(tǒng)資源占用過大、可擴展性差的技術(shù)問題。
2、本發(fā)明第一方面提供了一種數(shù)據(jù)異步處理方法,所述數(shù)據(jù)異步處理方法包括:
3、接收數(shù)據(jù)查詢請求;
4、根據(jù)所述數(shù)據(jù)查詢請求,生成所述數(shù)據(jù)查詢請求對應(yīng)的請求標(biāo)識符;
5、基于所述請求標(biāo)識符,將所述數(shù)據(jù)查詢請求加入至預(yù)置異步隊列中,得到請求異步隊列;
6、接收優(yōu)先處理命令,以及讀取所述優(yōu)先處理命令對應(yīng)的優(yōu)先標(biāo)識符;
7、判斷所述優(yōu)先標(biāo)識符是否存在于所述請求異步隊列中;
8、當(dāng)存在于所述請求異步隊列時,則從所述請求異步隊列提取出所述優(yōu)先標(biāo)識符對應(yīng)的數(shù)據(jù)查詢請求;
9、根據(jù)所述優(yōu)先標(biāo)識符對應(yīng)的數(shù)據(jù)查詢請求,從預(yù)置存儲數(shù)據(jù)庫中提取對應(yīng)的交易數(shù)據(jù),以及基于所述交易數(shù)據(jù),生成查詢報表。
10、可選的,在本發(fā)明第一方面的第一種實現(xiàn)方式中,所述基于所述請求標(biāo)識符,將所述數(shù)據(jù)查詢請求加入至預(yù)置異步隊列中,得到請求異步隊列包括:
11、將所述請求標(biāo)識符作為鍵,以及將所述數(shù)據(jù)查詢請求作為值,構(gòu)成鍵值對;
12、將所述鍵值對寫入預(yù)置異步隊列中,得到請求異步隊列。
13、可選的,在本發(fā)明第一方面的第二種實現(xiàn)方式中,所述將所述鍵值對寫入預(yù)置異步隊列中包括:
14、根據(jù)先進(jìn)先出原則,將所述鍵值對寫入預(yù)置異步隊列中,得到請求異步隊列。
15、可選的,在本發(fā)明第一方面的第三種實現(xiàn)方式中,所述將所述鍵值對寫入預(yù)置異步隊列中,得到請求異步隊列包括:
16、讀取預(yù)置異步隊列中的任務(wù)數(shù)量,判斷所述任務(wù)數(shù)量是否大于預(yù)置容錯閾值;
17、當(dāng)不大于預(yù)置容錯閾值時,則將所述鍵值對寫入預(yù)置異步隊列中,得到請求異步隊列;
18、當(dāng)大于預(yù)置容錯閾值時,則開辟出擴容的異步隊列,將所述鍵值對寫入所述擴容的異步隊列,得到請求異步隊列。
19、可選的,在本發(fā)明第一方面的第四種實現(xiàn)方式中,在所述基于所述交易數(shù)據(jù),生成查詢報表之后,還包括:
20、基于所述查詢報表,生成通知信息;
21、基于socket連接,將所述通知信息發(fā)送至所述優(yōu)先處理命令對應(yīng)的管理端口。
22、可選的,在本發(fā)明第一方面的第五種實現(xiàn)方式中,所述根據(jù)所述優(yōu)先標(biāo)識符對應(yīng)的數(shù)據(jù)查詢請求,從預(yù)置存儲數(shù)據(jù)庫中提取對應(yīng)的交易數(shù)據(jù)包括:
23、將所述優(yōu)先標(biāo)識符對應(yīng)的數(shù)據(jù)查詢請求發(fā)送至預(yù)置存儲數(shù)據(jù)庫;
24、獲取所述存儲數(shù)據(jù)庫反饋的查詢數(shù)據(jù),提取所述查詢數(shù)據(jù)的頭部字符;
25、判斷所述頭部字符是否為預(yù)置查詢合格字符;
26、當(dāng)不為預(yù)置查詢合格字符時,則在預(yù)置日志數(shù)據(jù)中寫入所述優(yōu)先標(biāo)識符對應(yīng)數(shù)據(jù)查詢請求的異常查詢記錄,并對所述優(yōu)先標(biāo)識符對應(yīng)的數(shù)據(jù)查詢請求進(jìn)行增加查詢計數(shù)處理,得到所述優(yōu)先標(biāo)識符對應(yīng)數(shù)據(jù)查詢請求的重試計數(shù);
27、判斷所述重試計數(shù)是否超過預(yù)置重試閾值;
28、當(dāng)重試計數(shù)超過重試閾值時,則基于socket連接,將查詢失敗信息發(fā)送至所述優(yōu)先處理命令對應(yīng)的管理端口;
29、當(dāng)重試計數(shù)未超過重試閾值時,則將所述優(yōu)先標(biāo)識符對應(yīng)的數(shù)據(jù)查詢請求發(fā)送至預(yù)置存儲數(shù)據(jù)庫;
30、當(dāng)為預(yù)置查詢合格字符時,則提取所述查詢數(shù)據(jù)的實體數(shù)據(jù),生成交易數(shù)據(jù)。
31、可選的,在本發(fā)明第一方面的第六種實現(xiàn)方式中,所述提取所述查詢數(shù)據(jù)的實體數(shù)據(jù),生成交易數(shù)據(jù)包括:
32、基于預(yù)置起始字符和預(yù)置終止字符,在所述查詢數(shù)據(jù)中進(jìn)行字符順序提取處理,得到交易數(shù)據(jù)。
33、可選的,在本發(fā)明第一方面的第七種實現(xiàn)方式中,所述判斷所述優(yōu)先標(biāo)識符是否存在于所述請求異步隊列中包括:
34、在所述請求異步隊列的鍵數(shù)據(jù)中進(jìn)行精確匹配所述優(yōu)先標(biāo)識符,得到匹配結(jié)果;
35、當(dāng)匹配結(jié)果為命中時,則確定所述優(yōu)先標(biāo)識符存在于所述請求異步隊列中;
36、當(dāng)匹配結(jié)果為未命中時,則確定所述優(yōu)先標(biāo)識符不存在于所述請求異步隊列中。
37、本發(fā)明第二方面提供了一種數(shù)據(jù)異步處理設(shè)備,包括:存儲器和至少一個處理器,所述存儲器中存儲有指令,所述存儲器和所述至少一個處理器通過線路互連;所述至少一個處理器調(diào)用所述存儲器中的所述指令,以使得所述數(shù)據(jù)異步處理設(shè)備執(zhí)行上述的數(shù)據(jù)異步處理方法。
38、本發(fā)明的第三方面提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)中存儲有指令,當(dāng)其在計算機上運行時,使得計算機執(zhí)行上述的數(shù)據(jù)異步處理方法。
39、在本發(fā)明實施例中,通過在查詢數(shù)據(jù)表中加入異步隊列實現(xiàn)了降低延遲、資源優(yōu)化、高擴展性等效果。降低延遲效果:在用戶提交查詢請求后立即返回響應(yīng),不必等待后臺數(shù)據(jù)處理完成,從而顯著提高用戶體驗。資源優(yōu)化效果:對查詢請求進(jìn)行優(yōu)先級排序、重試機制等操作,可以平滑地處理大量查詢請求,避免了同步處理時的資源搶占和瓶頸問題。高擴展性效果:異步隊列模式下,能靈活地調(diào)整后臺處理節(jié)點的數(shù)量,以應(yīng)對不同的負(fù)載需求,提高系統(tǒng)的擴展能力?;诋惒疥犃械膱蟊頂?shù)據(jù)查詢技術(shù)在大數(shù)據(jù)處理和高并發(fā)場景下,具有顯著的優(yōu)勢,解決了當(dāng)前報表查詢過程中高延遲、系統(tǒng)資源占用過大、可擴展性差的技術(shù)問題。
1.一種數(shù)據(jù)異步處理方法,其特征在于,包括步驟:
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)異步處理方法,其特征在于,所述基于所述請求標(biāo)識符,將所述數(shù)據(jù)查詢請求加入至預(yù)置異步隊列中,得到請求異步隊列包括:
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)異步處理方法,其特征在于,所述將所述鍵值對寫入預(yù)置異步隊列中包括:
4.根據(jù)權(quán)利要求2所述的數(shù)據(jù)異步處理方法,其特征在于,所述將所述鍵值對寫入預(yù)置異步隊列中,得到請求異步隊列包括:
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)異步處理方法,其特征在于,在所述基于所述交易數(shù)據(jù),生成查詢報表之后,還包括:
6.根據(jù)權(quán)利要求1所述的數(shù)據(jù)異步處理方法,其特征在于,所述根據(jù)所述優(yōu)先標(biāo)識符對應(yīng)的數(shù)據(jù)查詢請求,從預(yù)置存儲數(shù)據(jù)庫中提取對應(yīng)的交易數(shù)據(jù)包括:
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)異步處理方法,其特征在于,所述提取所述查詢數(shù)據(jù)的實體數(shù)據(jù),生成交易數(shù)據(jù)包括:
8.根據(jù)權(quán)利要求1所述的數(shù)據(jù)異步處理方法,其特征在于,所述判斷所述優(yōu)先標(biāo)識符是否存在于所述請求異步隊列中包括:
9.一種數(shù)據(jù)異步處理設(shè)備,其特征在于,所述數(shù)據(jù)異步處理設(shè)備包括:存儲器和至少一個處理器,所述存儲器中存儲有指令,所述存儲器和所述至少一個處理器通過線路互連;
10.一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1-8中任一項所述的數(shù)據(jù)異步處理方法。