本公開(kāi)涉及計(jì)算機(jī)技術(shù)等,尤其涉及一種數(shù)據(jù)導(dǎo)出方法、數(shù)據(jù)導(dǎo)出系統(tǒng)及計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、數(shù)據(jù)導(dǎo)出是業(yè)務(wù)開(kāi)發(fā)中的高頻場(chǎng)景,例如在業(yè)務(wù)開(kāi)發(fā)過(guò)程中,將需求的數(shù)據(jù)從數(shù)據(jù)庫(kù)中導(dǎo)出至文件服務(wù)器中。在相關(guān)技術(shù)中,整個(gè)數(shù)據(jù)導(dǎo)出過(guò)程包括將需求的數(shù)據(jù)從數(shù)據(jù)庫(kù)中讀取出來(lái),然后對(duì)讀取到的數(shù)據(jù)進(jìn)行一定的加工和處理,之后將處理結(jié)果寫(xiě)入到指定位置,從而完成數(shù)據(jù)的導(dǎo)出過(guò)程。
2、在上述數(shù)據(jù)導(dǎo)出過(guò)程中,不同的待導(dǎo)出數(shù)據(jù)之間的導(dǎo)出過(guò)程為串行執(zhí)行的,在對(duì)當(dāng)前批次的待導(dǎo)出數(shù)據(jù)進(jìn)行導(dǎo)出處理的過(guò)程中,下一批待導(dǎo)出數(shù)據(jù)需要等待,直至當(dāng)前批次的導(dǎo)出數(shù)據(jù)完成導(dǎo)出處理過(guò)程時(shí),才能開(kāi)始對(duì)下一批次的待導(dǎo)出數(shù)據(jù)執(zhí)行導(dǎo)出處理。這會(huì)導(dǎo)致系統(tǒng)資源利用率較低,數(shù)據(jù)導(dǎo)出效率難以滿足要求。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述技術(shù)問(wèn)題中的至少一個(gè),本公開(kāi)提供了一種數(shù)據(jù)導(dǎo)出方法、數(shù)據(jù)導(dǎo)出系統(tǒng)、可讀存儲(chǔ)介質(zhì)及計(jì)算機(jī)程序產(chǎn)品。
2、本公開(kāi)第一方面提出了一種數(shù)據(jù)導(dǎo)出方法,包括:數(shù)據(jù)讀取步驟,從數(shù)據(jù)源中讀取數(shù)據(jù),得到第一數(shù)據(jù);數(shù)據(jù)處理步驟,對(duì)所述第一數(shù)據(jù)進(jìn)行處理,得到第二數(shù)據(jù);以及數(shù)據(jù)寫(xiě)入步驟,將所述第二數(shù)據(jù)寫(xiě)入至指定位置;其中,所述數(shù)據(jù)讀取步驟、所述數(shù)據(jù)處理步驟和所述數(shù)據(jù)寫(xiě)入步驟中的至少兩種步驟能夠并行執(zhí)行。
3、根據(jù)本公開(kāi)的一些實(shí)施方式,所述數(shù)據(jù)源、所述指定位置和所述數(shù)據(jù)處理步驟的執(zhí)行主體,分別設(shè)置于不同的服務(wù)器中。
4、根據(jù)本公開(kāi)的一些實(shí)施方式,所述數(shù)據(jù)讀取步驟和所述數(shù)據(jù)處理步驟中的至少一種步驟對(duì)應(yīng)有數(shù)據(jù)隊(duì)列,所述數(shù)據(jù)隊(duì)列用于存儲(chǔ)執(zhí)行相應(yīng)步驟所形成的結(jié)果數(shù)據(jù),所述結(jié)果數(shù)據(jù)作為所述數(shù)據(jù)隊(duì)列所對(duì)應(yīng)步驟在步驟執(zhí)行順序中的下一步驟的待執(zhí)行數(shù)據(jù),用于被從所述數(shù)據(jù)隊(duì)列中取出并被相應(yīng)步驟所執(zhí)行。
5、根據(jù)本公開(kāi)的一些實(shí)施方式,在所述數(shù)據(jù)讀取步驟中,在得到所述第一數(shù)據(jù)之后,將所述第一數(shù)據(jù)存入所述數(shù)據(jù)讀取步驟所對(duì)應(yīng)的數(shù)據(jù)隊(duì)列。
6、根據(jù)本公開(kāi)的一些實(shí)施方式,在所述數(shù)據(jù)處理步驟中,在得到所述第二數(shù)據(jù)之后,將所述第二數(shù)據(jù)存入所述數(shù)據(jù)處理步驟所對(duì)應(yīng)的數(shù)據(jù)隊(duì)列。
7、根據(jù)本公開(kāi)的一些實(shí)施方式,所述數(shù)據(jù)隊(duì)列的數(shù)據(jù)傳輸方式為先入先出。
8、根據(jù)本公開(kāi)的一些實(shí)施方式,所述數(shù)據(jù)導(dǎo)出方法還包括:隊(duì)列容量調(diào)節(jié)步驟,在數(shù)據(jù)導(dǎo)出過(guò)程的執(zhí)行狀態(tài)滿足第一條件時(shí),對(duì)部分或全部的所述數(shù)據(jù)隊(duì)列的隊(duì)列容量進(jìn)行調(diào)整,直至所述第一條件未被滿足。
9、根據(jù)本公開(kāi)的一些實(shí)施方式,所述執(zhí)行狀態(tài)包括數(shù)據(jù)導(dǎo)出過(guò)程的資源占用量,所述第一條件包括:所述資源占用量大于預(yù)設(shè)的第一閾值。
10、根據(jù)本公開(kāi)的一些實(shí)施方式,以所述數(shù)據(jù)讀取步驟和所述數(shù)據(jù)處理步驟中的任一步驟作為第一執(zhí)行步驟,在第一執(zhí)行步驟中,如果所述第一執(zhí)行步驟所對(duì)應(yīng)的所述數(shù)據(jù)隊(duì)列的全部位置被占滿,則:等待至所述第一執(zhí)行步驟所對(duì)應(yīng)的所述數(shù)據(jù)隊(duì)列中出現(xiàn)空余位置,將相應(yīng)結(jié)果數(shù)據(jù)存入所述第一執(zhí)行步驟所對(duì)應(yīng)的所述數(shù)據(jù)隊(duì)列中。
11、根據(jù)本公開(kāi)的一些實(shí)施方式,以所述數(shù)據(jù)讀取步驟、所述數(shù)據(jù)處理步驟和所述數(shù)據(jù)寫(xiě)入步驟中的任一步驟作為第二執(zhí)行步驟,如果所述第二執(zhí)行步驟的待執(zhí)行數(shù)據(jù)滿足相應(yīng)的第二條件,則將對(duì)應(yīng)于所述第二執(zhí)行步驟的標(biāo)識(shí)數(shù)據(jù)存入所述第二執(zhí)行步驟所對(duì)應(yīng)的數(shù)據(jù)隊(duì)列,所述標(biāo)識(shí)數(shù)據(jù)用于表示相應(yīng)第二執(zhí)行步驟對(duì)于本批次數(shù)據(jù)的執(zhí)行的結(jié)束。
12、根據(jù)本公開(kāi)的一些實(shí)施方式,所述數(shù)據(jù)讀取步驟對(duì)應(yīng)的所述第二條件包括:在執(zhí)行所述數(shù)據(jù)讀取步驟時(shí)從所述數(shù)據(jù)源讀取到的數(shù)據(jù)為空。
13、根據(jù)本公開(kāi)的一些實(shí)施方式,所述數(shù)據(jù)處理步驟和所述數(shù)據(jù)寫(xiě)入步驟對(duì)應(yīng)的所述第二條件包括:從步驟執(zhí)行順序中的上一步驟所對(duì)應(yīng)的數(shù)據(jù)隊(duì)列中獲取到的待執(zhí)行數(shù)據(jù)為對(duì)應(yīng)于所述上一步驟的所述標(biāo)識(shí)數(shù)據(jù)。
14、根據(jù)本公開(kāi)的一些實(shí)施方式,以所述數(shù)據(jù)讀取步驟、所述數(shù)據(jù)處理步驟和所述數(shù)據(jù)寫(xiě)入步驟中的任一步驟作為第三執(zhí)行步驟,如果存入所述第三執(zhí)行步驟所對(duì)應(yīng)的數(shù)據(jù)隊(duì)列的數(shù)據(jù)為相應(yīng)的所述標(biāo)識(shí)數(shù)據(jù),則在存入標(biāo)識(shí)數(shù)據(jù)后停止所述第三執(zhí)行步驟的執(zhí)行。
15、本公開(kāi)第二方面提出了一種數(shù)據(jù)導(dǎo)出系統(tǒng),包括:處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任一實(shí)施方式所述的方法。
16、本公開(kāi)第三方面提出了一種可讀存儲(chǔ)介質(zhì),所述可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)用于實(shí)現(xiàn)上述任一實(shí)施方式所述的方法。
17、本公開(kāi)第四方面提出了一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)至少用于實(shí)施上述任一實(shí)施方式所述的方法。
1.一種數(shù)據(jù)導(dǎo)出方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)導(dǎo)出方法,其特征在于,所述數(shù)據(jù)源、所述指定位置和所述數(shù)據(jù)處理步驟的執(zhí)行主體,分別設(shè)置于不同的服務(wù)器中。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)導(dǎo)出方法,其特征在于,所述數(shù)據(jù)讀取步驟和所述數(shù)據(jù)處理步驟中的至少一種步驟對(duì)應(yīng)有數(shù)據(jù)隊(duì)列,所述數(shù)據(jù)隊(duì)列用于存儲(chǔ)執(zhí)行相應(yīng)步驟所形成的結(jié)果數(shù)據(jù),所述結(jié)果數(shù)據(jù)作為所述數(shù)據(jù)隊(duì)列所對(duì)應(yīng)步驟在步驟執(zhí)行順序中的下一步驟的待執(zhí)行數(shù)據(jù),用于被從所述數(shù)據(jù)隊(duì)列中取出并被相應(yīng)步驟所執(zhí)行。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)導(dǎo)出方法,其特征在于,在所述數(shù)據(jù)讀取步驟中,在得到所述第一數(shù)據(jù)之后,將所述第一數(shù)據(jù)存入所述數(shù)據(jù)讀取步驟所對(duì)應(yīng)的數(shù)據(jù)隊(duì)列。
5.根據(jù)權(quán)利要求3所述的數(shù)據(jù)導(dǎo)出方法,其特征在于,在所述數(shù)據(jù)處理步驟中,在得到所述第二數(shù)據(jù)之后,將所述第二數(shù)據(jù)存入所述數(shù)據(jù)處理步驟所對(duì)應(yīng)的數(shù)據(jù)隊(duì)列。
6.根據(jù)權(quán)利要求3-5中任一項(xiàng)所述的數(shù)據(jù)導(dǎo)出方法,其特征在于,所述數(shù)據(jù)隊(duì)列的數(shù)據(jù)傳輸方式為先入先出。
7.根據(jù)權(quán)利要求3所述的數(shù)據(jù)導(dǎo)出方法,其特征在于,所述數(shù)據(jù)導(dǎo)出方法還包括:
8.根據(jù)權(quán)利要求3所述的數(shù)據(jù)導(dǎo)出方法,其特征在于,以所述數(shù)據(jù)讀取步驟和所述數(shù)據(jù)處理步驟中的任一步驟作為第一執(zhí)行步驟,在第一執(zhí)行步驟中,如果所述第一執(zhí)行步驟所對(duì)應(yīng)的所述數(shù)據(jù)隊(duì)列的全部位置被占滿,則:等待至所述第一執(zhí)行步驟所對(duì)應(yīng)的所述數(shù)據(jù)隊(duì)列中出現(xiàn)空余位置,將相應(yīng)結(jié)果數(shù)據(jù)存入所述第一執(zhí)行步驟所對(duì)應(yīng)的所述數(shù)據(jù)隊(duì)列中。
9.一種數(shù)據(jù)導(dǎo)出系統(tǒng),其特征在于,包括:處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述處理器執(zhí)行時(shí)用于實(shí)現(xiàn)權(quán)利要求1-8中任一項(xiàng)所述的方法。
10.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)至少用于實(shí)施如權(quán)利要求1-8中任一項(xiàng)所述的方法。