本申請(qǐng)涉及數(shù)據(jù)處理,尤其涉及一種數(shù)據(jù)處理方法、裝置及電子設(shè)備。
背景技術(shù):
1、當(dāng)前,業(yè)務(wù)系統(tǒng)采用了一種定期全量數(shù)據(jù)同步到搜索服務(wù)器(elasticsearch,es)集群的策略,即每隔n分鐘進(jìn)行一次全量更新。對(duì)于需要獲取最新數(shù)據(jù)的人員而言,他們通常采用的方法是編寫按時(shí)間降序排列的查詢語句來檢索es集群中的數(shù)據(jù)。然而,這種傳統(tǒng)的查詢方法存在兩大問題:首先,它要求查詢?nèi)藛T具備一定的編程和查詢開發(fā)能力,這對(duì)許多用戶來說技術(shù)門檻較高;其次,查詢結(jié)果返回后,用戶還需要手動(dòng)篩選最新的數(shù)據(jù),這不僅耗時(shí)耗力,而且容易因?yàn)槿藶橐蛩貙?dǎo)致篩選結(jié)果的不準(zhǔn)確。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供一種數(shù)據(jù)處理方法、裝置及電子設(shè)備,用于在數(shù)據(jù)處理中實(shí)現(xiàn)簡(jiǎn)化開發(fā)過程,提高查詢效率。
2、第一方面,本申請(qǐng)實(shí)施例提供一種數(shù)據(jù)處理方法,該方法中,響應(yīng)于請(qǐng)求指令,基于請(qǐng)求指令中與es集群交互所需的配置信息以及查詢條件構(gòu)造查詢最大時(shí)間戳的第一查詢語句;使用第一查詢語句從es集群中獲取最大時(shí)間戳,并使用最大時(shí)間戳構(gòu)造查詢最新數(shù)據(jù)的第二查詢語句;使用第二es查詢語句從es集群中獲取數(shù)據(jù)集合。
3、上述方法中,通過先獲取最大時(shí)間戳,然后基于這個(gè)時(shí)間戳查詢最新數(shù)據(jù),避免了查詢整個(gè)數(shù)據(jù)集,從而提高了查詢效率。特別是在處理大量數(shù)據(jù)時(shí),由于是基于最大時(shí)間戳來查詢最新數(shù)據(jù),因此能夠確保獲取到的數(shù)據(jù)是最新的,滿足了實(shí)時(shí)性要求,能夠顯著減少數(shù)據(jù)傳輸和處理的時(shí)間。同時(shí),可以根據(jù)不同的請(qǐng)求指令和查詢條件靈活地調(diào)整查詢語句,從而滿足不同的數(shù)據(jù)需求。減少不必要的數(shù)據(jù)傳輸和處理,降低對(duì)服務(wù)器和網(wǎng)絡(luò)資源的消耗,從而優(yōu)化資源使用。同時(shí),由于es集群提供了豐富的api和工具,可以進(jìn)一步簡(jiǎn)化開發(fā)過程。使得構(gòu)造和執(zhí)行es集群查詢語句的過程相對(duì)簡(jiǎn)單和直觀,容易實(shí)現(xiàn)和維護(hù)。
4、可選的,上述配置信息包括url、用戶名、密碼以及索引名稱,基于請(qǐng)求指令中與es集群交互所需的配置信息以及查詢條件構(gòu)造查詢最大時(shí)間戳的第一查詢語句,具體包括:
5、使用url、用戶名和密碼構(gòu)造與es集群建立連接所需的連接字符串或認(rèn)證信息;
6、根據(jù)索引名稱和查詢條件構(gòu)造第一查詢語句。
7、上述方法中,服務(wù)端在接收到查詢請(qǐng)求后,使用配置信息來準(zhǔn)備與es集群的交互。服務(wù)端可以根據(jù)url、用戶名和密碼來生成一個(gè)連接字符串或認(rèn)證信息。連接字符串或認(rèn)證信息用于后續(xù)的http請(qǐng)求中,以確保服務(wù)端有權(quán)訪問es集群。
8、可選的,上述方法還包括:
9、使用python解析配置文件得到歷史配置信息,配置文件用于存儲(chǔ)與es集群交互所需的歷史配置信息;
10、基于歷史配置信息以及查詢條件構(gòu)造第一查詢語句。
11、上述方法中,通過使用python解析配置文件得到歷史配置信息,基于歷史配置信息以及查詢條件構(gòu)造第一查詢語句的方式,用戶可以在不修改代碼的情況下修改es集群的連接信息。當(dāng)es集群的url、用戶名、密碼或索引名稱發(fā)生變化時(shí),只需要更新配置文件即可,而不需要重新部署或修改代碼。同時(shí),使用python解析配置文件獲取歷史配置信息,可以自動(dòng)構(gòu)造出與es集群交互所需的查詢語句。這降低了對(duì)用戶技術(shù)能力的要求,使用戶無需編寫復(fù)雜的查詢語句,只需提供查詢條件即可,提高用戶的使用體驗(yàn)。避免了因手動(dòng)輸入配置信息而導(dǎo)致的錯(cuò)誤和不必要的延遲,提高了查詢的效率和準(zhǔn)確性。
12、可選的,上述使用第一查詢語句從es中獲取最大時(shí)間戳,并使用最大時(shí)間戳構(gòu)造查詢最新數(shù)據(jù)的第二查詢語句,具體包括:
13、使用連接字符串或認(rèn)證信息,與es集群建立連接;
14、發(fā)送第一查詢語句到es集群,并獲取來自es集群的最大時(shí)間戳;
15、使用最大時(shí)間戳構(gòu)造第二查詢語句。
16、上述方法中,通過發(fā)送第一查詢語句獲取最大時(shí)間戳,服務(wù)端可以精確地確定自上次同步或查詢以來新增的數(shù)據(jù)范圍。使用這個(gè)最大時(shí)間戳構(gòu)造的第二查詢語句將只檢索新增或更新的數(shù)據(jù),而不是全量數(shù)據(jù),從而減少了數(shù)據(jù)傳輸量,提高了查詢效率。同時(shí),通過使用最大時(shí)間戳作為查詢條件,可以確保只檢索到指定時(shí)間范圍內(nèi)的數(shù)據(jù),避免了手動(dòng)篩選時(shí)可能出現(xiàn)的不準(zhǔn)確情況。減少了因人為錯(cuò)誤導(dǎo)致的數(shù)據(jù)錯(cuò)誤或遺漏的風(fēng)險(xiǎn)。
17、可選的,上述方法還包括:
18、按照預(yù)設(shè)規(guī)則,將數(shù)據(jù)集合轉(zhuǎn)換為預(yù)設(shè)的數(shù)據(jù)格式進(jìn)行展示。
19、上述方法中,通過按照預(yù)設(shè)規(guī)則,將數(shù)據(jù)集合轉(zhuǎn)換為預(yù)設(shè)的數(shù)據(jù)格式進(jìn)行展示的方式,可以便于用戶直觀的觀察數(shù)據(jù)集合,便于后續(xù)進(jìn)行數(shù)據(jù)分析。
20、可選的,上述按照預(yù)設(shè)規(guī)則,將數(shù)據(jù)集合轉(zhuǎn)換為預(yù)設(shè)的數(shù)據(jù)格式進(jìn)行展示,具體包括:
21、遍歷查詢數(shù)據(jù)集合,提取數(shù)據(jù)集合中每個(gè)文檔的字段和值。
22、將字段和值轉(zhuǎn)換為二維表進(jìn)行展示,其中,每一行表示一個(gè)文檔,每一列表示一個(gè)字段。
23、上述方法中,通過將數(shù)據(jù)集合轉(zhuǎn)換為二維表的格式進(jìn)行展示,可以使得用戶可以快速地瀏覽和理解數(shù)據(jù)集中包含的信息。
24、第二方面,本申請(qǐng)實(shí)施例提供一種數(shù)據(jù)處理裝置,上述裝置包括:
25、處理模塊,用于響應(yīng)于請(qǐng)求指令,基于請(qǐng)求指令中與es集群交互所需的配置信息以及查詢條件構(gòu)造查詢最大時(shí)間戳的第一查詢語句;
26、收發(fā)模塊,用于使用第一查詢語句從es集群中獲取最大時(shí)間戳,并使用最大時(shí)間戳構(gòu)造查詢最新數(shù)據(jù)的第二查詢語句;
27、收發(fā)模塊,還用于使用第二es查詢語句從es集群中獲取數(shù)據(jù)集合。
28、第三方面,本申請(qǐng)實(shí)施例提供一種電子設(shè)備,包括存儲(chǔ)器,處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器運(yùn)行的計(jì)算機(jī)程序,當(dāng)計(jì)算機(jī)程序被處理器執(zhí)行時(shí),使得處理器實(shí)現(xiàn)上述第一方面中的任一項(xiàng)數(shù)據(jù)處理方法。
29、第四方面,本申請(qǐng)實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)內(nèi)存儲(chǔ)有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)第一方面中的任一項(xiàng)的數(shù)據(jù)處理方法。
30、第五方面,本申請(qǐng)實(shí)施例還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行以實(shí)現(xiàn)如上述第一方面中的任一項(xiàng)的數(shù)據(jù)處理方法。
31、第二方面至第五方面中任意一種實(shí)現(xiàn)方式所帶來的技術(shù)效果可參見第一方面中對(duì)應(yīng)的實(shí)現(xiàn)方式所帶來的技術(shù)效果,此處不再贅述。
1.一種數(shù)據(jù)處理方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述配置信息包括url、用戶名、密碼以及索引名稱,所述基于所述請(qǐng)求指令中與es集群交互所需的配置信息以及查詢條件構(gòu)造查詢最大時(shí)間戳的第一查詢語句,具體包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述使用所述第一查詢語句從es中獲取最大時(shí)間戳,并使用所述最大時(shí)間戳構(gòu)造查詢最新數(shù)據(jù)的第二查詢語句,具體包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述按照預(yù)設(shè)規(guī)則,將所述數(shù)據(jù)集合轉(zhuǎn)換為預(yù)設(shè)的數(shù)據(jù)格式進(jìn)行展示,具體包括:
7.一種數(shù)據(jù)處理裝置,其特征在于,所述裝置包括:
8.一種電子設(shè)備,包括存儲(chǔ)器,處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要求1-6中任一項(xiàng)所述的方法。
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序用于使所述計(jì)算機(jī)執(zhí)行權(quán)利要求1-6中任一項(xiàng)所述的方法。
10.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述計(jì)算機(jī)程序產(chǎn)品在被計(jì)算機(jī)調(diào)用時(shí),使得所述計(jì)算機(jī)執(zhí)行如權(quán)利要求1-6中任一項(xiàng)所述的方法。