1.一種數(shù)據(jù)庫(kù)數(shù)據(jù)讀寫裝置,設(shè)置在數(shù)據(jù)服務(wù)器上,其特征在于,所述數(shù)據(jù)庫(kù)數(shù)據(jù)讀寫裝置包括:
讀取單元,用于從應(yīng)用服務(wù)器中讀取原始數(shù)據(jù),對(duì)所述原始數(shù)據(jù)進(jìn)行封裝以得到目標(biāo)數(shù)據(jù),并將所述目標(biāo)數(shù)據(jù)存儲(chǔ)到緩存隊(duì)列中;
提交單元,用于根據(jù)預(yù)設(shè)的緩存讀取條件,將緩存隊(duì)列中緩存的目標(biāo)數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫(kù)數(shù)據(jù)讀寫裝置,其特征在于,所述讀取單元從應(yīng)用服務(wù)器中讀取原始數(shù)據(jù)包括:
從應(yīng)用服務(wù)器中讀取條數(shù)為第一預(yù)定數(shù)目的原始數(shù)據(jù);
在完成對(duì)第一預(yù)定數(shù)目的原始數(shù)據(jù)的封裝并得到對(duì)應(yīng)的第一目標(biāo)數(shù)據(jù),且第一目標(biāo)數(shù)據(jù)全部存儲(chǔ)到緩存隊(duì)列之后,在沒(méi)有完成全部原始數(shù)據(jù)的讀取時(shí),再次從應(yīng)用服務(wù)器中讀取條數(shù)為第一預(yù)定數(shù)目的原始數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫(kù)數(shù)據(jù)讀寫裝置,其特征在于,所述提交單元根據(jù)預(yù)設(shè)的緩存讀取條件,將緩存隊(duì)列中緩存的目標(biāo)數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中包括:
根據(jù)預(yù)定的讀取間隔,將緩存隊(duì)列中的目標(biāo)數(shù)據(jù)批量存儲(chǔ)到數(shù)據(jù)庫(kù)中。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)庫(kù)數(shù)據(jù)讀寫裝置,其特征在于,所述提交單元將所述目標(biāo)數(shù)據(jù)批量存儲(chǔ)到數(shù)據(jù)庫(kù)中包括:
預(yù)編譯存儲(chǔ)指令,每次向數(shù)據(jù)庫(kù)提交數(shù)據(jù)時(shí),捆綁Ni條目標(biāo)數(shù)據(jù)到存儲(chǔ)指令上,執(zhí)行存儲(chǔ)指令,以將Ni條目標(biāo)數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中;其中,Ni為本次批量存儲(chǔ)需存儲(chǔ)數(shù)目。
5.根據(jù)權(quán)利要求3所述的數(shù)據(jù)庫(kù)數(shù)據(jù)讀寫裝置,其特征在于,所述提交單元根據(jù)預(yù)定的讀取間隔,將緩存隊(duì)列中的目標(biāo)數(shù)據(jù)批量存儲(chǔ)到數(shù)據(jù)庫(kù)中包括:
根據(jù)預(yù)設(shè)的批量保存條數(shù)Nx,依次批量保存緩存隊(duì)列中的目標(biāo)數(shù)據(jù);每次保存的目標(biāo)數(shù)據(jù)的最大數(shù)目為預(yù)設(shè)的批量保存條數(shù)Nx;
其中,
獲取緩存隊(duì)列中存儲(chǔ)的數(shù)據(jù)的長(zhǎng)度N1;
若N1小于或等于0,結(jié)束本次存儲(chǔ)操作;
若N1大于0且小于或等于Nx,將N1條數(shù)據(jù)以批量存儲(chǔ)的方式存儲(chǔ)到數(shù)據(jù)庫(kù)中;
若N1大于Nx,分N_subs次將目標(biāo)數(shù)目存儲(chǔ)到數(shù)據(jù)庫(kù)中,其中,在第1次至第N_subs-1次,將Nx條數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中,在第N_subs次時(shí),將Nx條目標(biāo)數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中;其中,N_subs等于N1除以Nx的整數(shù)商加1。
6.一種數(shù)據(jù)庫(kù)數(shù)據(jù)讀寫方法,其特征在于,所述方法包括:
從應(yīng)用服務(wù)器中讀取原始數(shù)據(jù),對(duì)所述原始數(shù)據(jù)進(jìn)行封裝以得到目標(biāo)數(shù)據(jù),并將所述目標(biāo)數(shù)據(jù)存儲(chǔ)到緩存隊(duì)列中;
根據(jù)預(yù)設(shè)的緩存讀取條件,將緩存隊(duì)列中緩存的目標(biāo)數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫(kù)數(shù)據(jù)讀寫方法,其特征在于,所述從應(yīng)用服務(wù)器中讀取原始數(shù)據(jù)包括:
從應(yīng)用服務(wù)器中讀取條數(shù)為第一預(yù)定數(shù)目的原始數(shù)據(jù);
在完成對(duì)第一預(yù)定數(shù)目的原始數(shù)據(jù)的封裝并得到對(duì)應(yīng)的第一目標(biāo)數(shù)據(jù),且第一目標(biāo)數(shù)據(jù)全部存儲(chǔ)到緩存隊(duì)列之后,在沒(méi)有完成全部原始數(shù)據(jù)的讀取時(shí),再次從應(yīng)用服務(wù)器中讀取條數(shù)為第一預(yù)定數(shù)目的原始數(shù)據(jù)。
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫(kù)數(shù)據(jù)讀寫方法,其特征在于,所述根據(jù)預(yù)設(shè)的緩存讀取條件,將緩存隊(duì)列中緩存的目標(biāo)數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中包括:
根據(jù)預(yù)定的讀取間隔,將緩存隊(duì)列中的目標(biāo)數(shù)據(jù)批量存儲(chǔ)到數(shù)據(jù)庫(kù)中。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)庫(kù)數(shù)據(jù)讀寫方法,其特征在于,所述將所述目標(biāo)數(shù)據(jù)批量存儲(chǔ)到數(shù)據(jù)庫(kù)中包括:
預(yù)編譯存儲(chǔ)指令,每次向數(shù)據(jù)庫(kù)提交數(shù)據(jù)時(shí),捆綁Ni條目標(biāo)數(shù)據(jù)到存儲(chǔ)指令上,執(zhí)行存儲(chǔ)指令,以將Ni條目標(biāo)數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中;其中,Ni為本次批量存儲(chǔ)需存儲(chǔ)數(shù)目。
10.根據(jù)權(quán)利要求8所述的數(shù)據(jù)庫(kù)數(shù)據(jù)讀寫方法,其特征在于,所述根據(jù)預(yù)定的讀取間隔,將緩存隊(duì)列中的目標(biāo)數(shù)據(jù)批量存儲(chǔ)到數(shù)據(jù)庫(kù)中包括:
根據(jù)預(yù)設(shè)的批量保存條數(shù)Nx,依次批量保存緩存隊(duì)列中的目標(biāo)數(shù)據(jù);每次保存的目標(biāo)數(shù)據(jù)的最大數(shù)目為預(yù)設(shè)的批量保存條數(shù)Nx;
其中,
獲取緩存隊(duì)列中存儲(chǔ)的數(shù)據(jù)的長(zhǎng)度N1;
若N1小于或等于0,結(jié)束本次存儲(chǔ)操作;
若N1大于0且小于或等于Nx,將N1條數(shù)據(jù)以批量存儲(chǔ)的方式存儲(chǔ)到數(shù)據(jù)庫(kù)中;
若N1大于Nx,分N_subs次將目標(biāo)數(shù)目存儲(chǔ)到數(shù)據(jù)庫(kù)中,其中,在第1次至第N_subs-1次,將Nx條數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中,在第N_subs次時(shí),將Nx條目標(biāo)數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中;其中,N_subs等于N1除以Nx的整數(shù)商加1。