本申請涉及數(shù)據(jù)存儲,尤其涉及一種數(shù)據(jù)讀取方法、裝置、電子設(shè)備、存儲介質(zhì)及程序產(chǎn)品。
背景技術(shù):
1、在現(xiàn)代信息技術(shù)領(lǐng)域,數(shù)據(jù)庫作為存儲和管理數(shù)據(jù)的核心組件,扮演著至關(guān)重要的角色。然而,在從數(shù)據(jù)庫中讀取大量數(shù)據(jù)時,傳統(tǒng)的做法通常是將所有請求的數(shù)據(jù)一次性返回給客戶端或應(yīng)用程序。
2、這種做法在待返回?cái)?shù)據(jù)的數(shù)據(jù)量較小的情況下表現(xiàn)良好,但在面對數(shù)據(jù)量較大的待返回?cái)?shù)據(jù)時,卻暴露出了一系列顯著的缺陷。例如,大量的數(shù)據(jù)涌入可能導(dǎo)致客戶端或應(yīng)用程序的內(nèi)存占用急劇上升,進(jìn)而可能導(dǎo)致內(nèi)存溢出錯誤或性能顯著下降,影響客戶端或應(yīng)用程序其他網(wǎng)絡(luò)服務(wù)的性能,嚴(yán)重影響數(shù)據(jù)處理的效率。
技術(shù)實(shí)現(xiàn)思路
1、本申請實(shí)施例提供一種數(shù)據(jù)讀取方法、裝置、電子設(shè)備、存儲介質(zhì)及程序產(chǎn)品,用以達(dá)到提高數(shù)據(jù)處理的效率的效果。
2、第一方面,本申請實(shí)施例提供一種數(shù)據(jù)讀取方法,包括:
3、響應(yīng)于數(shù)據(jù)讀取指令,從所述數(shù)據(jù)讀取指令對應(yīng)的目標(biāo)數(shù)據(jù)庫中,提取目標(biāo)數(shù)據(jù)并存儲至緩沖區(qū);
4、基于預(yù)先設(shè)置的分頁基數(shù),對所述緩沖區(qū)中的目標(biāo)數(shù)據(jù)進(jìn)行分片,并將分片后的目標(biāo)數(shù)據(jù)依次發(fā)送給所述數(shù)據(jù)讀取指令對應(yīng)的接收對象。
5、在一種可能的實(shí)施方式中,所述從所述數(shù)據(jù)讀取指令對應(yīng)的目標(biāo)數(shù)據(jù)庫中,提取目標(biāo)數(shù)據(jù)并存儲至緩沖區(qū)之前,還包括:
6、獲取所述數(shù)據(jù)讀取指令對應(yīng)的目標(biāo)數(shù)據(jù)量;
7、所述從所述數(shù)據(jù)讀取指令對應(yīng)的目標(biāo)數(shù)據(jù)庫中,提取目標(biāo)數(shù)據(jù)并存儲至緩沖區(qū),包括:
8、當(dāng)所述目標(biāo)數(shù)據(jù)量達(dá)到所述分頁基數(shù)時,按照所述目標(biāo)數(shù)據(jù)量,從所述目標(biāo)數(shù)據(jù)庫中確定出目標(biāo)數(shù)據(jù),并提取第一預(yù)設(shè)數(shù)據(jù)量的目標(biāo)數(shù)據(jù)存儲至所述緩沖區(qū);所述第一預(yù)設(shè)數(shù)據(jù)量基于所述緩沖區(qū)的最大存儲容量確定。
9、在一種可能的實(shí)施方式中,所述方法還包括:
10、當(dāng)所述目標(biāo)數(shù)據(jù)量未達(dá)到所述分頁基數(shù)時,從所述目標(biāo)數(shù)據(jù)庫中,提取目標(biāo)數(shù)據(jù)量的目標(biāo)數(shù)據(jù)并發(fā)送給所述接收對象。
11、在一種可能的實(shí)施方式中,所述將分片后的目標(biāo)數(shù)據(jù)依次發(fā)送給所述數(shù)據(jù)讀取指令對應(yīng)的接收對象之后,還包括:
12、當(dāng)從所述目標(biāo)數(shù)據(jù)庫中提取的目標(biāo)數(shù)據(jù)的數(shù)據(jù)量未達(dá)到所述目標(biāo)數(shù)據(jù)量時,基于所述緩沖區(qū)的空余存儲空間,從所述目標(biāo)數(shù)據(jù)庫中持續(xù)提取目標(biāo)數(shù)據(jù)存儲至所述緩沖區(qū),直到將所述目標(biāo)數(shù)據(jù)庫中的目標(biāo)數(shù)據(jù)均存儲至所述緩沖區(qū)。
13、在一種可能的實(shí)施方式中,所述基于所述緩沖區(qū)的空余存儲空間,從所述目標(biāo)數(shù)據(jù)庫中持續(xù)提取目標(biāo)數(shù)據(jù)存儲至所述緩沖區(qū),包括:
14、當(dāng)所述空余存儲空間能夠存儲的數(shù)據(jù)量達(dá)到第二預(yù)設(shè)數(shù)據(jù)量時,從所述目標(biāo)數(shù)據(jù)庫中提取所述第二預(yù)設(shè)數(shù)據(jù)量的目標(biāo)數(shù)據(jù),并存儲至所述緩沖區(qū)的空余存儲空間中。
15、在一種可能的實(shí)施方式中,所述緩沖區(qū)采用滑動窗口的形式存儲所述目標(biāo)數(shù)據(jù)。
16、第二方面,本申請實(shí)施例提供一種數(shù)據(jù)讀取裝置,包括:
17、提取模塊,用于響應(yīng)于數(shù)據(jù)讀取指令,從所述數(shù)據(jù)讀取指令對應(yīng)的目標(biāo)數(shù)據(jù)庫中,提取目標(biāo)數(shù)據(jù)并存儲至緩沖區(qū);
18、發(fā)送模塊,用于基于預(yù)先設(shè)置的分頁基數(shù),對所述緩沖區(qū)中的目標(biāo)數(shù)據(jù)進(jìn)行分片,并將分片后的目標(biāo)數(shù)據(jù)依次發(fā)送給所述數(shù)據(jù)讀取指令對應(yīng)的接收對象。
19、第三方面,本申請實(shí)施例提供一種電子設(shè)備,包括:存儲器,處理器;
20、所述存儲器存儲計(jì)算機(jī)執(zhí)行指令;
21、所述處理器執(zhí)行所述存儲器存儲的計(jì)算機(jī)執(zhí)行指令,使得所述處理器執(zhí)行如上第一方面和/或第一方面各種可能的實(shí)施方式。
22、第四方面,本申請實(shí)施例提供一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)中存儲有計(jì)算機(jī)執(zhí)行指令,所述計(jì)算機(jī)執(zhí)行指令被處理器執(zhí)行時用于實(shí)現(xiàn)如上第一方面和/或第一方面各種可能的實(shí)施方式。
23、第五方面,本申請實(shí)施例提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)如上第一方面和/或第一方面各種可能的實(shí)施方式。
24、本申請實(shí)施例提供的數(shù)據(jù)讀取方法、裝置、電子設(shè)備、存儲介質(zhì)及程序產(chǎn)品,通過設(shè)置緩沖區(qū),減少了接收對象對數(shù)據(jù)庫的頻繁訪問,確保了目標(biāo)數(shù)據(jù)能夠按需、有序地傳輸給接收對象,避免因數(shù)據(jù)庫對應(yīng)的終端或服務(wù)器與接收對象的處理速度不匹配而導(dǎo)致的性能瓶頸,并且,通過設(shè)置分頁基數(shù),能夠?qū)?shù)據(jù)量較大的目標(biāo)數(shù)據(jù)切分成數(shù)據(jù)量較小的數(shù)據(jù)分片,可以使得每次處理的數(shù)據(jù)量更加可控,這有助于降低內(nèi)存占用、減少處理時間,并提高數(shù)據(jù)處理的吞吐量,不僅如此,分片后的目標(biāo)數(shù)據(jù)可以作為獨(dú)立的數(shù)據(jù)單元進(jìn)行并行處理,這有助于提高系統(tǒng)的并發(fā)處理能力,縮短數(shù)據(jù)處理的響應(yīng)時間。
1.一種數(shù)據(jù)讀取方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從所述數(shù)據(jù)讀取指令對應(yīng)的目標(biāo)數(shù)據(jù)庫中,提取目標(biāo)數(shù)據(jù)并存儲至緩沖區(qū)之前,還包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將分片后的目標(biāo)數(shù)據(jù)依次發(fā)送給所述數(shù)據(jù)讀取指令對應(yīng)的接收對象之后,還包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述基于所述緩沖區(qū)的空余存儲空間,從所述目標(biāo)數(shù)據(jù)庫中持續(xù)提取目標(biāo)數(shù)據(jù)存儲至所述緩沖區(qū),包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述緩沖區(qū)采用滑動窗口的形式存儲所述目標(biāo)數(shù)據(jù)。
7.一種數(shù)據(jù)讀取裝置,其特征在于,包括:
8.一種電子設(shè)備,其特征在于,包括:存儲器,處理器;
9.一種計(jì)算機(jī)可讀存儲介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲介質(zhì)中存儲有計(jì)算機(jī)執(zhí)行指令,所述計(jì)算機(jī)執(zhí)行指令被處理器執(zhí)行時用于實(shí)現(xiàn)如權(quán)利要求1-6任一項(xiàng)所述的方法。
10.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)權(quán)利要求1-6任一項(xiàng)所述的方法。