亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)存儲(chǔ)方法和裝置的制作方法

文檔序號(hào):6465886閱讀:176來源:國(guó)知局
專利名稱:數(shù)據(jù)存儲(chǔ)方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)存儲(chǔ)方法和裝置。
技術(shù)背景ERP ( Enterprise Resource Planning,企業(yè)資源計(jì)劃)是指建立在信息技術(shù) 基礎(chǔ)上,以系統(tǒng)化的管理思想,為企業(yè)決策層及員工^是供決策運(yùn)行手段的管理 平臺(tái)。通常ERP軟件的數(shù)據(jù)通過數(shù)據(jù)庫(kù)的方式以表的形式存儲(chǔ),表是用于統(tǒng) 一管理相關(guān)數(shù)據(jù)的集合,相當(dāng)于一個(gè)數(shù)據(jù)存儲(chǔ)容器?,F(xiàn)有技術(shù)中,在通過表存 儲(chǔ)數(shù)據(jù)時(shí),如果同一時(shí)間有多個(gè)用戶使用表中的相同數(shù)據(jù),則會(huì)因?yàn)閮?nèi)存占用 過多而導(dǎo)致系統(tǒng)癱瘓,為了防止由于系統(tǒng)性能導(dǎo)致的問題,需要通過鎖的方式 來保證數(shù)據(jù)的一致性,即當(dāng)表中的某一數(shù)據(jù)有用戶在使用時(shí),則其它用戶不能 再使用該數(shù)據(jù),但是采用鎖的方式進(jìn)行數(shù)據(jù)存儲(chǔ),當(dāng)并發(fā)數(shù)據(jù)^f艮多時(shí),就會(huì)出 現(xiàn)大量用戶排隊(duì)的現(xiàn)象,導(dǎo)致系統(tǒng)性能大幅下降。發(fā)明人在對(duì)現(xiàn)有ERP系統(tǒng)中采用表的方式存儲(chǔ)數(shù)據(jù)的研究過程中發(fā)現(xiàn), 為了防止出現(xiàn)大量并發(fā)用戶從而降低系統(tǒng)性能,通常采用加強(qiáng)硬件設(shè)備性能的 方式,例如加大石更盤容量,才是升內(nèi)存、CPU ( Central Processing Unit,中央處 理器)的性能等,但是隨著客戶量和數(shù)據(jù)量的不斷增加,這種方式將使用戶因 為不斷增加硬件設(shè)備的投入,而導(dǎo)致成本負(fù)擔(dān)的加重;另外,如果采用定時(shí)刪 除歷史數(shù)據(jù)的方式,雖然緩解了當(dāng)前的系統(tǒng)壓力,但是將導(dǎo)致用戶無法對(duì)歷史 數(shù)據(jù)進(jìn)行查詢和處理;而如果限制并發(fā)用戶的數(shù)量,將使系統(tǒng)的應(yīng)用范圍受到 限制,難以滿足大客戶的需求。發(fā)明內(nèi)容本發(fā)明的目的在于提供一種數(shù)據(jù)存儲(chǔ)方法和裝置,以解決現(xiàn)有技術(shù)中在并 發(fā)用戶量大時(shí)錄入數(shù)據(jù)導(dǎo)致的系統(tǒng)成本增加,以及性能下降的問題。為解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案一種數(shù)據(jù)存儲(chǔ)方法,包括確定關(guān)鍵表中用于創(chuàng)建緩存表的維度,所述維度包含至少一個(gè)維度成員;為所述維度的每個(gè)維度成員創(chuàng)建相應(yīng)的緩存表,所述緩存表的結(jié)構(gòu)與所述 關(guān)鍵表一致;將接收到的對(duì)應(yīng)每個(gè)維度成員的數(shù)據(jù)存儲(chǔ)至為所述維度成員創(chuàng)建的緩存表;將所述緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置。 所述維度包括單據(jù)類型、用戶類型或客戶端類型中的至少一種。所述確定關(guān)鍵表中用于創(chuàng)建緩存表的維度具體為確定關(guān)鍵表中用于創(chuàng)建 緩存表的主維度和至少一個(gè)子維度;所述為維度的每個(gè)維度成員創(chuàng)建相應(yīng)的緩存表具體為 為所述主維度的每個(gè)主維度成員創(chuàng)建相應(yīng)的緩存表;將所述主維度成員的緩存表作為關(guān)鍵表,為所述子維度的每個(gè)子維度成員 創(chuàng)建相應(yīng)的緩存表。括、';々,又、、 i 、 ;,又、 、將所述對(duì)應(yīng)每個(gè)維度成員的數(shù)據(jù)的存儲(chǔ)路由從指向所述關(guān)鍵表修改為指向所述數(shù)據(jù)對(duì)應(yīng)的緩存表;按照所述修改后的存儲(chǔ)路由將所述數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的緩存表。 所述將緩存表中的數(shù)據(jù)寫入所述關(guān)4建表中的對(duì)應(yīng)位置包括 按照預(yù)先設(shè)置的時(shí)間間隔將所述緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置;或按照預(yù)先設(shè)置的手動(dòng)提交模式將所述緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中 的對(duì)應(yīng)位置。所述將緩存表中的數(shù)據(jù)寫入所述關(guān)4建表中的對(duì)應(yīng)位置后還包括刪除所述 緩存表中的數(shù)據(jù)。 還包括當(dāng)重新確定關(guān)鍵表中用于創(chuàng)建緩存表的維度時(shí),刪除已經(jīng)創(chuàng)建的所述緩存表。一種數(shù)據(jù)存儲(chǔ)裝置,包括確定單元,用于確定關(guān)4定表中用于創(chuàng)建緩存表的維度,所述維度包含至少 一個(gè)維度成員;創(chuàng)建單元,用于為所述維度的每個(gè)維度成員創(chuàng)建相應(yīng)的緩存表,所述緩存 表的結(jié)構(gòu)與所述關(guān)鍵表一致;存儲(chǔ)單元,用于將接收到的對(duì)應(yīng)每個(gè)維度成員的數(shù)據(jù)存儲(chǔ)至為所述維度成 員創(chuàng)建的緩存表;寫入單元,用于將所述緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置。 所述存儲(chǔ)單元包括修改路由單元,用于將所述對(duì)應(yīng)每個(gè)維度成員的數(shù)據(jù)的存儲(chǔ)路由從指向所 述關(guān)鍵表修改為指向所述數(shù)據(jù)對(duì)應(yīng)的緩存表;緩存表。所述寫入單元包括定時(shí)寫入單元,用于按照預(yù)先設(shè)置的時(shí)間間隔將所述緩存表中的數(shù)據(jù)寫入 所述關(guān)4建表中的對(duì)應(yīng)位置;或手動(dòng)寫入單元,用于按照預(yù)先設(shè)置的手動(dòng)提交模式將所述緩存表中的數(shù)據(jù) 寫入所述關(guān)鍵表中的對(duì)應(yīng)位置。還包括刪除單元,用于將緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置后,刪除 所述緩存表中的數(shù)據(jù),或當(dāng)重新確定關(guān)鍵表中用于創(chuàng)建緩存表的維度時(shí),刪除 已經(jīng)創(chuàng)建的所述緩存表。由以上本發(fā)明提供的技術(shù)方案可見,本發(fā)明中確定關(guān)鍵表中用于創(chuàng)建緩存 表的維度,為該維度的每個(gè)維度成員創(chuàng)建相應(yīng)的與關(guān)鍵表結(jié)構(gòu)一致的緩存表, 將接收到的對(duì)應(yīng)每個(gè)維度成員的數(shù)據(jù)存儲(chǔ)至為維度成員創(chuàng)建的緩存表,將緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置。應(yīng)用本發(fā)明進(jìn)行數(shù)據(jù)存儲(chǔ)時(shí),由于 對(duì)包含多個(gè)維度的關(guān)鍵表進(jìn)行拆分,通過建立多個(gè)緩存表緩解了并發(fā)用戶量大時(shí)對(duì)系統(tǒng)性能的影響;并且采用緩存表分類存儲(chǔ)數(shù)據(jù),對(duì)原有系統(tǒng)的改動(dòng)較小,提高了系統(tǒng)的易用性,降低了維護(hù)成本。


圖1為本發(fā)明數(shù)據(jù)存儲(chǔ)方法的第一實(shí)施例流程圖; 圖2為本發(fā)明數(shù)據(jù)存儲(chǔ)方法的第二實(shí)施例流程圖; 圖3為本發(fā)明數(shù)據(jù)存儲(chǔ)方法的第三實(shí)施例流程圖; 圖4為本發(fā)明數(shù)據(jù)存儲(chǔ)裝置的第一實(shí)施例框圖; 圖5為本發(fā)明數(shù)據(jù)存儲(chǔ)裝置的第二實(shí)施例框圖; 圖6為本發(fā)明數(shù)據(jù)存儲(chǔ)裝置的第三實(shí)施例框圖。
具體實(shí)施方式
本發(fā)明的核心是提供了一種數(shù)據(jù)存儲(chǔ)方法和裝置,確定關(guān)鍵表中用于創(chuàng)建 緩存表的維度,所述維度包含至少一個(gè)維度成員,為所述維度的每個(gè)維度成員 創(chuàng)建相應(yīng)的緩存表,所述緩存表的結(jié)構(gòu)與所述關(guān)鍵表一致,將接收到的對(duì)應(yīng)每 個(gè)維度成員的數(shù)據(jù)存儲(chǔ)至為所述維度成員創(chuàng)建的緩存表,將所述緩存表中的數(shù) 據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置。為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,并使本發(fā)明的上述目 的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作 進(jìn)一步詳細(xì)的說明。本發(fā)明數(shù)據(jù)存儲(chǔ)方法的第一實(shí)施例流程如圖1所示 步驟101:確定關(guān)鍵表中用于創(chuàng)建緩存表的維度。其中,關(guān)鍵表的維度可以為單據(jù)類型、用戶類型或客戶端類型中的至少一種。步驟102:為該維度的每個(gè)維度成員創(chuàng)建相應(yīng)的與關(guān)鍵表結(jié)構(gòu)一致的緩存表。具體的,當(dāng)確定關(guān)4定表中用于創(chuàng)建緩存表的主維度和至少 一個(gè)子維度時(shí), 為所述主維度的每個(gè)主維度成員創(chuàng)建相應(yīng)的緩存表,并將所述主維度成員的緩 存表作為過渡關(guān)鍵表,為所述子維度的每個(gè)子維度成員創(chuàng)建相應(yīng)的緩存表。步驟103:將接收到的對(duì)應(yīng)每個(gè)維度成員的數(shù)據(jù)存儲(chǔ)至為該維度成員創(chuàng)建的緩存表。具體的,將所述對(duì)應(yīng)每個(gè)維度成員的數(shù)據(jù)的存儲(chǔ)路由從指向所述關(guān)鍵表修 改為指向所述數(shù)據(jù)對(duì)應(yīng)的緩存表,按照所述修改后的存儲(chǔ)路由將所述數(shù)據(jù)存儲(chǔ) 至對(duì)應(yīng)的緩存表。步驟104:將緩存表中的數(shù)據(jù)寫入關(guān)鍵表中的對(duì)應(yīng)位置。其中,可以按照預(yù)先設(shè)置的時(shí)間間隔將所述緩存表中的數(shù)據(jù)寫入所述關(guān)鍵 表中的對(duì)應(yīng)位置,或者按照預(yù)先設(shè)置的手動(dòng)提交模式將所述緩存表中的數(shù)據(jù)寫 入所述關(guān)鍵表中的對(duì)應(yīng)位置。本發(fā)明數(shù)據(jù)存儲(chǔ)方法的第二實(shí)施例如圖2所示,該實(shí)施例示出了數(shù)據(jù)存儲(chǔ) 的詳細(xì)過程,其中用于創(chuàng)建緩存表的維度僅為根據(jù)關(guān)鍵表確定的一個(gè)主維度, 即僅對(duì)關(guān)鍵表進(jìn)行一次劃分步驟201:確定關(guān)鍵表中用于創(chuàng)建緩存表的一個(gè)主維度。在確定關(guān)鍵表的主維度時(shí),可以從所有維度中任選一個(gè)作為主維度,也可 以根據(jù)需要,將影響系統(tǒng)性能最大的維度作為主維度。每個(gè)維度均包含至少一個(gè)維度成員,以維度為用戶類型為例,用戶類型的 每個(gè)維度成員即為用戶l、用戶2......用戶N(N為整數(shù))。步驟202:為主維度的每個(gè)主維度成員創(chuàng)建相應(yīng)的與關(guān)4建表結(jié)構(gòu)一致的緩 存表。仍然以維度為用戶類型為例,假設(shè)用戶類型包含N個(gè)用戶,則為每個(gè)用 戶分別創(chuàng)建一個(gè)用于存儲(chǔ)該用戶數(shù)據(jù)的緩存表,該緩存表的結(jié)構(gòu)與關(guān)鍵表的結(jié) 構(gòu)一致,以便后續(xù)能夠?qū)⒕彺姹碇械臄?shù)據(jù)方便地寫入關(guān)鍵表中。步驟203:將對(duì)應(yīng)每個(gè)主維度成員的數(shù)據(jù)的存儲(chǔ)路由從指向關(guān)鍵表修改為 指向該數(shù)據(jù)對(duì)應(yīng)的緩存表。當(dāng)用關(guān)鍵表存儲(chǔ)數(shù)據(jù)時(shí),接收到的每個(gè)數(shù)據(jù)的存儲(chǔ)路由均指向關(guān)鍵表,由于為每個(gè)用戶創(chuàng)建了緩存表,因此將每個(gè)用戶的數(shù)據(jù)的存儲(chǔ)路由從指向關(guān)鍵表 修改為指向該用戶的緩存表。由于僅僅修改數(shù)據(jù)的存儲(chǔ)路由即可將數(shù)據(jù)存儲(chǔ)進(jìn)相應(yīng)的緩存表,因此本發(fā) 明在對(duì)現(xiàn)有系統(tǒng)改動(dòng)較小的基礎(chǔ)上,就能夠提高系統(tǒng)的性能。步驟204:將接收到的數(shù)據(jù)按照修改后的存儲(chǔ)路由存儲(chǔ)至對(duì)應(yīng)的緩存表。假設(shè)接收到了用戶1的數(shù)據(jù),則按照修改后的該數(shù)據(jù)的存儲(chǔ)路由,將該數(shù) 據(jù)存儲(chǔ)至用戶1的緩存表。步驟205:按照預(yù)先設(shè)置的時(shí)間間隔將所有緩存表中的數(shù)據(jù)寫入關(guān)鍵表中 的對(duì)應(yīng)位置。由于緩存表是為了緩解系統(tǒng)性能而創(chuàng)建的臨時(shí)存儲(chǔ)表,因此還需要將緩存 表中的數(shù)據(jù)同步到關(guān)鍵表中,以便用戶能夠在關(guān)鍵表上進(jìn)行數(shù)據(jù)查詢和業(yè)務(wù)處 理等操作。在同步緩存表中的數(shù)據(jù)至關(guān)鍵表時(shí),可以預(yù)先設(shè)置定時(shí)器,按照一定的時(shí) 間間隔進(jìn)行計(jì)時(shí),在一個(gè)時(shí)間周期結(jié)束時(shí)自動(dòng)將緩存表中的數(shù)據(jù)寫入關(guān)鍵表 中。例如,預(yù)設(shè)的同步時(shí)間可以設(shè)置在夜間進(jìn)行,此時(shí)系統(tǒng)處于空閑狀態(tài),便 于將緩存表中的數(shù)據(jù)寫入關(guān)鍵表。當(dāng)然,也可以根據(jù)實(shí)際需要,為不同維度成 員的緩存表中的數(shù)據(jù)設(shè)置不同的同步時(shí)間,本發(fā)明不做限制。步驟206:刪除緩存表中的數(shù)據(jù)。由于緩存表僅為臨時(shí)存儲(chǔ)表,因此當(dāng)緩存表中的數(shù)據(jù)同步到關(guān)鍵表中以 后,為了節(jié)約系統(tǒng)的內(nèi)存空間,可以將緩存表中的數(shù)據(jù)刪除。步驟207:判斷是否需要重新確定關(guān)鍵表中用于創(chuàng)建緩存表的維度,若是, 則執(zhí)行步驟208;否則,結(jié)束當(dāng)前流程。步驟208:刪除已經(jīng)建立的緩存表,返回步驟201。由于緩存表僅為臨時(shí)存儲(chǔ)表,因此當(dāng)需要重新確定關(guān)鍵表中用于創(chuàng)建緩存 表的維度時(shí),即需要按照新確定的維度創(chuàng)建新的緩存表時(shí),為了節(jié)約系統(tǒng)的內(nèi) 存空間,可以將已經(jīng)建立的緩存表刪除。本發(fā)明數(shù)據(jù)存儲(chǔ)方法的第三實(shí)施例如圖3所示,該實(shí)施例示出了數(shù)據(jù)存儲(chǔ) 的詳細(xì)過程,其中用于創(chuàng)建緩存表的維度為根據(jù)關(guān)鍵表確定的一個(gè)主維度和一個(gè)子維度,即僅對(duì)關(guān)鍵表進(jìn)行二次劃分步驟301:確定關(guān)鍵表中用于創(chuàng)建緩存表的一個(gè)主維度和一個(gè)子維度。在確定了主維度后,按照主維度的主維度成員創(chuàng)建緩存表進(jìn)行數(shù)據(jù)存儲(chǔ)可 以緩解系統(tǒng)的性能問題,但是,為了進(jìn)一步緩解系統(tǒng)的性能問題,可以在主維 度成員的基礎(chǔ)上確定一個(gè)子維度。步驟302:為主維度的每個(gè)主維度成員創(chuàng)建相應(yīng)的緩存表。 步驟303:將主維度成員的緩存表作為過渡關(guān)鍵表,為子維度的每個(gè)子維 度成員創(chuàng)建相應(yīng)的緩存表。在主維度成員的基礎(chǔ)上確定一個(gè)子維度,就是對(duì)每個(gè)主維度成員對(duì)應(yīng)的緩 存表進(jìn)行進(jìn)一步拆分,在為每個(gè)主維度成員建立的緩存表的基礎(chǔ)上,進(jìn)一步建 立子維度成員的緩存表。步驟304:將對(duì)應(yīng)每個(gè)子維度成員的數(shù)據(jù)的存儲(chǔ)路由從指向關(guān)鍵表修改為 指向該數(shù)據(jù)對(duì)應(yīng)的緩存表。步驟305:按照修改后的存儲(chǔ)路由將數(shù)據(jù)存儲(chǔ)子對(duì)應(yīng)的緩存表。步驟306:按照預(yù)先設(shè)置的手動(dòng)提交模式將所有緩存表中的數(shù)據(jù)寫入關(guān)鍵 表中的對(duì)應(yīng)位置。為了方便不同用戶的需要,可以按照預(yù)先設(shè)置的手動(dòng)提交模式,使用戶在 不同時(shí)間均可按照該模式將緩存表中的數(shù)據(jù)寫入關(guān)鍵表中。步驟307:刪除緩存表中的數(shù)據(jù),結(jié)束當(dāng)前流程。需要說明的是,根據(jù)實(shí)際存儲(chǔ)的需要和系統(tǒng)性能的要求,可以進(jìn)一步確定 子維度的子維度,即本發(fā)明實(shí)施例不對(duì)維度的劃分次數(shù)進(jìn)行限制,上述對(duì)關(guān)鍵 表確定一個(gè)主維度和一個(gè)子維度僅是為了示例方便,實(shí)際上可以對(duì)確定的子維 度進(jìn)行多次劃分。下面以維度是單據(jù)類型為例,對(duì)本發(fā)明實(shí)施例中數(shù)據(jù)存儲(chǔ)過程進(jìn)行描述對(duì)應(yīng)維度為單據(jù)類型,假設(shè)單據(jù)類型的維度成員包括外購(gòu)入庫(kù)單據(jù)、銷 售出庫(kù)單據(jù)、產(chǎn)品入庫(kù)單據(jù)、調(diào)撥類型單據(jù);則對(duì)應(yīng)上述四個(gè)維度成員,分別 創(chuàng)建外購(gòu)入庫(kù)單據(jù)緩存表、銷售出庫(kù)單據(jù)緩存表、產(chǎn)品入庫(kù)單據(jù)緩存表、調(diào)撥 類型單據(jù)緩存表;當(dāng)接收到輸入數(shù)據(jù)后,判斷該數(shù)據(jù)屬于哪個(gè)維度成員的數(shù)據(jù),假設(shè)該數(shù)據(jù)為外購(gòu)入庫(kù)數(shù)據(jù),初始該外購(gòu)入庫(kù)數(shù)據(jù)的存儲(chǔ)路由為關(guān)鍵表中的某 個(gè)位置,此時(shí)修改外購(gòu)入庫(kù)數(shù)據(jù)的存儲(chǔ)路由執(zhí)行外購(gòu)入庫(kù)單據(jù)緩存表,按照該 路由可以將外購(gòu)入庫(kù)數(shù)據(jù)存儲(chǔ)到外購(gòu)入庫(kù)單據(jù)緩存表中的對(duì)應(yīng)位置,其它維度 成員的數(shù)據(jù)也按照上述方式存儲(chǔ)到對(duì)應(yīng)的緩存表中。為了將各個(gè)緩存表中的數(shù)據(jù)寫入關(guān)鍵表,預(yù)先設(shè)置了緩存表數(shù)據(jù)同步的時(shí) 間,例如,設(shè)置所有數(shù)據(jù)緩存表中的數(shù)據(jù)在每天夜間12點(diǎn)進(jìn)行同步,因?yàn)榇?時(shí)系統(tǒng)處于空閑狀態(tài),在同步時(shí)可以按照創(chuàng)建緩存表時(shí)的順序,將外購(gòu)入庫(kù)單 據(jù)緩存表、銷售出庫(kù)單據(jù)緩存表、產(chǎn)品入庫(kù)單據(jù)緩存表、調(diào)撥類型單據(jù)緩存表 中的數(shù)據(jù)順序?qū)懭腙P(guān)鍵表中的對(duì)應(yīng)位置即可。當(dāng)然,用戶也可以手動(dòng)將上述緩 存表中的數(shù)據(jù)寫入關(guān)鍵表中。在上述主維度為單據(jù)類型時(shí)的維度成員外購(gòu)入庫(kù)單據(jù)、銷售出庫(kù)單據(jù)、產(chǎn) 品入庫(kù)單據(jù)、調(diào)撥類型單據(jù)的基礎(chǔ)上,對(duì)應(yīng)任意維度成員,以外購(gòu)入庫(kù)單據(jù)為例,可以進(jìn)一步確定其子維度,假設(shè)子維度為用戶類型(包含N個(gè)用戶),則 在外購(gòu)入庫(kù)單據(jù)基礎(chǔ)上,進(jìn)一步確定子維度成員為用戶1、用戶2至用戶N, 則最終創(chuàng)建的緩存表為用戶1的外購(gòu)入庫(kù)單據(jù)緩存表、用戶2的外購(gòu)入庫(kù)單據(jù) 緩存表至用戶N的外購(gòu)入庫(kù)單據(jù)緩存表。通過子維度成員的緩存表進(jìn)行數(shù)據(jù) 存儲(chǔ)的過程與前述通過主維度成員的緩存表進(jìn)行數(shù)據(jù)存儲(chǔ)的過程類似,在此不 再贅述。與本發(fā)明數(shù)據(jù)存儲(chǔ)方法的實(shí)施例相對(duì)應(yīng),本發(fā)明還提供了數(shù)據(jù)存儲(chǔ)裝置的 實(shí)施例。本發(fā)明數(shù)據(jù)存儲(chǔ)裝置的第一實(shí)施例框圖如圖4所示,該裝置包括確定單 元410、創(chuàng)建單元420、存儲(chǔ)單元430和寫入單元440。其中,確定單元410用于確定關(guān)鍵表中用于創(chuàng)建緩存表的維度,所述維度 包含至少一個(gè)維度成員;創(chuàng)建單元420用于為所述維度的每個(gè)維度成員創(chuàng)建相 應(yīng)的緩存表,所述緩存表的結(jié)構(gòu)與所述關(guān)鍵表一致;存儲(chǔ)單元430用于將接收 到的對(duì)應(yīng)每個(gè)維度成員的數(shù)據(jù)存儲(chǔ)至為所述維度成員創(chuàng)建的緩存表;寫入單元 440用于將所述緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置。本發(fā)明數(shù)據(jù)存儲(chǔ)裝置的第二實(shí)施例框圖如圖5所示,該裝置包括確定單 元510、創(chuàng)建單元520、存儲(chǔ)單元530和寫入單元540。其中,確定單元510用于確定關(guān)鍵表中用于創(chuàng)建緩存表的維度,所述維度 包含至少一個(gè)維度成員;創(chuàng)建單元520用于為所述維度的每個(gè)維度成員創(chuàng)建相應(yīng)的緩存表,所述緩 存表的結(jié)構(gòu)與所述關(guān)4建表一致;存儲(chǔ)單元530包括修改路由單元531,用于將所述對(duì)應(yīng)每個(gè)維度成員的 數(shù)據(jù)的存儲(chǔ)路由從指向所述關(guān)鍵表修改為指向所述數(shù)據(jù)對(duì)應(yīng)的緩存表;存儲(chǔ)數(shù) 據(jù)單元532,用于按照所述修改后的存儲(chǔ)路由將所述數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的緩存 表。寫入單元540包括定時(shí)寫入單元541,用于按照預(yù)先設(shè)置的時(shí)間間隔將 所述緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置;和/或手動(dòng)寫入單元542, 用于按照預(yù)先設(shè)置的手動(dòng)提交模式將所述緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中 的對(duì)應(yīng)位置。需要說明的是,寫入單元540可以只包含上述兩個(gè)單元中的一個(gè), 也可以兩個(gè)都包含,附圖5中示出了同時(shí)包含上述兩個(gè)單元的情況。本發(fā)明數(shù)據(jù)存儲(chǔ)裝置的第三實(shí)施例框圖如圖6所示,該裝置包括確定單 元610、創(chuàng)建單元620、存儲(chǔ)單元630、寫入單元640和刪除單元650。其中,確定單元610用于確定關(guān)鍵表中用于創(chuàng)建緩存表的維度,所述維度 包含至少一個(gè)維度成員;創(chuàng)建單元620用于為所述維度的每個(gè)維度成員創(chuàng)建相 應(yīng)的緩存表,所述緩存表的結(jié)構(gòu)與所述關(guān)鍵表一致;存儲(chǔ)單元630用于將接收 到的對(duì)應(yīng)每個(gè)維度成員的數(shù)據(jù)存儲(chǔ)至為所述維度成員創(chuàng)建的緩存表;寫入單元 640用于將所述緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置;刪除單元650 用于將緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置后,刪除所述緩存表中的 數(shù)據(jù),或當(dāng)重新確定關(guān)4建表中用于創(chuàng)建緩存表的維度時(shí),刪除已經(jīng)創(chuàng)建的所述 緩存表。通過以上的實(shí)施方式的描述可知,應(yīng)用本發(fā)明進(jìn)行數(shù)據(jù)存儲(chǔ)時(shí),由于對(duì)包 含多個(gè)維度的關(guān)鍵表進(jìn)行拆分,通過建立多個(gè)緩存表緩解了并發(fā)用戶量大時(shí)對(duì) 系統(tǒng)性能的影響;并且采用緩存表分類存儲(chǔ)數(shù)據(jù),對(duì)原有系統(tǒng)的改動(dòng)較小,提 高了系統(tǒng)的易用性,降低了維護(hù)成本。本領(lǐng)域的技術(shù)人員可以清楚地了解到本 發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn)。基于這樣的理解,本發(fā) 明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、 光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,以上所述的本發(fā)明實(shí)施方式,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限定。任何在 本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明 的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括確定關(guān)鍵表中用于創(chuàng)建緩存表的維度,所述維度包含至少一個(gè)維度成員;為所述維度的每個(gè)維度成員創(chuàng)建相應(yīng)的緩存表,所述緩存表的結(jié)構(gòu)與所述關(guān)鍵表一致;將接收到的對(duì)應(yīng)每個(gè)維度成員的數(shù)據(jù)存儲(chǔ)至為所述維度成員創(chuàng)建的緩存表;將所述緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述維度包括單據(jù)類型、 用戶類型或客戶端類型中的至少一種。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定關(guān)鍵表中用于創(chuàng) 建緩存表的維度具體為確定關(guān)鍵表中用于創(chuàng)建緩存表的主維度和至少一個(gè)子維度;所述為維度的每個(gè)維度成員創(chuàng)建相應(yīng)的緩存表具體為 為所述主維度的每個(gè)主維度成員創(chuàng)建相應(yīng)的緩存表;將所述主維度成員的緩存表作為過渡關(guān)4定表,為所述子維度的每個(gè)子維度 成員創(chuàng)建相應(yīng)的緩存表。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將對(duì)應(yīng)每個(gè)維度成員 的數(shù)據(jù)存儲(chǔ)至為所述維度成員創(chuàng)建的緩存表包括將所述對(duì)應(yīng)每個(gè)維度成員的數(shù)據(jù)的存儲(chǔ)路由從指向所述關(guān)鍵表修改為指 向所述數(shù)據(jù)對(duì)應(yīng)的緩存表;按照所述修改后的存儲(chǔ)路由將所述數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的緩存表。
5、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將緩存表中的數(shù)據(jù)寫 入所述關(guān)鍵表中的對(duì)應(yīng)位置包括按照預(yù)先設(shè)置的時(shí)間間隔將所述緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì) 應(yīng)位置;或按照預(yù)先設(shè)置的手動(dòng)提交模式將所述緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中 的對(duì)應(yīng)位置。
6、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置后還包括刪除所述緩存表中的數(shù)據(jù)。
7、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括當(dāng)重新確定關(guān)鍵表中用于創(chuàng)建緩存表的維度時(shí),刪除已經(jīng)創(chuàng)建的所述緩存表。
8、 一種凄t據(jù)存儲(chǔ)裝置,其特征在于,包括確定單元,用于確定關(guān)鍵表中用于創(chuàng)建緩存表的維度,所述維度包含至少 一個(gè)維度成員;創(chuàng)建單元,用于為所述維度的每個(gè)維度成員創(chuàng)建相應(yīng)的緩存表,所述緩存 表的結(jié)構(gòu)與所述關(guān)鍵表一致;存儲(chǔ)單元,用于將接收到的對(duì)應(yīng)每個(gè)維度成員的數(shù)據(jù)存儲(chǔ)至為所述維度成 員創(chuàng)建的緩存表;寫入單元,用于將所述緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置。
9、 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述存儲(chǔ)單元包括修改路由單元,用于將所述對(duì)應(yīng)每個(gè)維度成員的數(shù)據(jù)的存儲(chǔ)路由從指向所 述關(guān)鍵表修改為指向所述數(shù)據(jù)對(duì)應(yīng)的緩存表;存儲(chǔ)數(shù)據(jù)單元,用于按照所述修改后的存儲(chǔ)路由將所述數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的 緩存表。
10、 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述寫入單元包括 定時(shí)寫入單元,用于按照預(yù)先設(shè)置的時(shí)間間隔將所述緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置;和/或手動(dòng)寫入單元,用于按照預(yù)先設(shè)置的手動(dòng)提交模式將所述緩存表中的數(shù)據(jù) 寫入所述關(guān)鍵表中的對(duì)應(yīng)位置。
11、 根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括刪除單元,用于將緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置后,刪除 所述緩存表中的數(shù)據(jù),或當(dāng)重新確定關(guān)鍵表中用于創(chuàng)建緩存表的維度時(shí),刪除 已經(jīng)創(chuàng)建的所述緩存表。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)存儲(chǔ)方法和裝置,所述方法包括確定關(guān)鍵表中用于創(chuàng)建緩存表的維度,所述維度包含至少一個(gè)維度成員;為所述維度的每個(gè)維度成員創(chuàng)建相應(yīng)的緩存表,所述緩存表的結(jié)構(gòu)與所述關(guān)鍵表一致;將接收到的對(duì)應(yīng)每個(gè)維度成員的數(shù)據(jù)存儲(chǔ)至為所述維度成員創(chuàng)建的緩存表;將所述緩存表中的數(shù)據(jù)寫入所述關(guān)鍵表中的對(duì)應(yīng)位置。本發(fā)明由于對(duì)包含多個(gè)維度的關(guān)鍵表進(jìn)行拆分,通過建立多個(gè)緩存表緩解了并發(fā)用戶量大時(shí)對(duì)系統(tǒng)性能的影響;并且采用緩存表分類存儲(chǔ)數(shù)據(jù),對(duì)原有系統(tǒng)的改動(dòng)較小,提高了系統(tǒng)的易用性,降低了維護(hù)成本。
文檔編號(hào)G06Q10/00GK101334795SQ20081013547
公開日2008年12月31日 申請(qǐng)日期2008年8月7日 優(yōu)先權(quán)日2008年8月7日
發(fā)明者牟永喬 申請(qǐng)人:金蝶軟件(中國(guó))有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1