两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種數(shù)據(jù)存儲(chǔ)方法及裝置的制造方法

文檔序號(hào):9375779閱讀:245來(lái)源:國(guó)知局
一種數(shù)據(jù)存儲(chǔ)方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫(kù)系統(tǒng)領(lǐng)域,尤其涉及一種數(shù)據(jù)存儲(chǔ)方法及裝置。
【背景技術(shù)】
[0002]隨著大量移動(dòng)終端用戶進(jìn)行空中固件升級(jí)(FOTA,F(xiàn)irmware Over The Air)升級(jí),F(xiàn)OTA系統(tǒng)產(chǎn)生的數(shù)據(jù)也隨之大量生產(chǎn),并持久化存儲(chǔ)到數(shù)據(jù)庫(kù)(如MongoDB數(shù)據(jù)庫(kù))中,當(dāng)數(shù)據(jù)庫(kù)的單表寫(xiě)入的數(shù)據(jù)量達(dá)到千萬(wàn)級(jí)別時(shí),持久化寫(xiě)入的性能急劇下降,從而嚴(yán)重影響FOTA系統(tǒng)在大用戶量下的持續(xù)運(yùn)行的穩(wěn)定性,同時(shí),查詢相應(yīng)升級(jí)數(shù)據(jù)耗時(shí)也隨之急劇上升,嚴(yán)重影響升級(jí)數(shù)據(jù)的統(tǒng)計(jì)查詢功能。

【發(fā)明內(nèi)容】

[0003]有鑒于此,本發(fā)明的主要目的在于提供一種數(shù)據(jù)存儲(chǔ)方法及裝置,能解決現(xiàn)有技術(shù)中當(dāng)進(jìn)行大數(shù)據(jù)量存儲(chǔ)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的持久化寫(xiě)入性能下降的問(wèn)題。
[0004]為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0005]本發(fā)明提供了一種數(shù)據(jù)存儲(chǔ)方法,以分表的形式存儲(chǔ)數(shù)據(jù),所述方法還包括:
[0006]檢測(cè)當(dāng)前分表所寫(xiě)入的數(shù)據(jù)量;
[0007]判斷所述當(dāng)前分表所寫(xiě)入的數(shù)據(jù)量是否超出分表閾值;
[0008]當(dāng)所述當(dāng)前分表所寫(xiě)入的數(shù)據(jù)量超出分表閾值時(shí),生成新的分表,并將待寫(xiě)入的數(shù)據(jù)寫(xiě)入所述新的分表中。
[0009]上述方案中,優(yōu)選地,所述生成新的分表,包括:
[0010]生成新的分表的表名;
[0011]更新分表索引表中的關(guān)于所述當(dāng)前分表的索引記錄,并初步生成關(guān)于所述新的分表的索引記錄;
[0012]其中,在分表索引表結(jié)構(gòu)中,至少包含下述信息:
[0013]當(dāng)前分表表名、開(kāi)始寫(xiě)入時(shí)間、結(jié)束寫(xiě)入時(shí)間、當(dāng)前分表數(shù)據(jù)量、前一分表表名、生成時(shí)間。
[0014]上述方案中,優(yōu)選地,所述檢測(cè)當(dāng)前分表所寫(xiě)入的數(shù)據(jù)量之前,所述方法還包括:
[0015]進(jìn)行初始化操作。
[0016]上述方案中,優(yōu)選地,所述進(jìn)行初始化操作,包括:
[0017]動(dòng)態(tài)配置分表閾值;
[0018]查找是否存在分表索引表;
[0019]如果不存在,創(chuàng)建分表索引表;
[0020]如果存在,在分表索引表中查找是否有滿足預(yù)設(shè)條件的索引記錄;
[0021]當(dāng)有滿足預(yù)設(shè)條件的第一索引記錄時(shí),獲取第一索引記錄中的當(dāng)前分表表名、開(kāi)始寫(xiě)入時(shí)間、結(jié)束寫(xiě)入時(shí)間和前一分表表名,并分別設(shè)置到當(dāng)前分表表名變量、當(dāng)前分表開(kāi)始寫(xiě)入時(shí)間變量、當(dāng)前分表結(jié)束寫(xiě)入時(shí)間變量和前一分表表名變量中;查找是否有當(dāng)前分表表名為前一分表表名的第二索引記錄,如果有,獲取第二索引記錄的開(kāi)始寫(xiě)入時(shí)間和結(jié)束寫(xiě)入時(shí)間,并設(shè)置到前一分表開(kāi)始寫(xiě)入時(shí)間變量和前一分表結(jié)束寫(xiě)入時(shí)間變量中,觸發(fā)寫(xiě)數(shù)據(jù)監(jiān)測(cè)操作,如果沒(méi)有,觸發(fā)寫(xiě)數(shù)據(jù)監(jiān)測(cè)操作;
[0022]當(dāng)沒(méi)有滿足預(yù)設(shè)條件的第一索引記錄時(shí),生成新的分表的表名;查找是否有生成時(shí)間離當(dāng)前時(shí)點(diǎn)最近的第三索引記錄,如果有,獲取第三索引記錄中的開(kāi)始寫(xiě)入時(shí)間和結(jié)束寫(xiě)入時(shí)間,并設(shè)置到前一分表開(kāi)始寫(xiě)入時(shí)間變量和前一分表結(jié)束寫(xiě)入時(shí)間變量中,將所述當(dāng)前分表表名設(shè)置為新生成的索引記錄的前一分表表名,觸發(fā)寫(xiě)數(shù)據(jù)監(jiān)測(cè)操作;如果沒(méi)有,觸發(fā)寫(xiě)數(shù)據(jù)監(jiān)測(cè)操作。
[0023]上述方案中,優(yōu)選地,所述創(chuàng)建分表索引表,包括:
[0024]生成首個(gè)分表的表名;
[0025]將所述首個(gè)分表的表名設(shè)置為首個(gè)索引記錄的當(dāng)前分表表名中,觸發(fā)寫(xiě)數(shù)據(jù)監(jiān)測(cè)操作。
[0026]本發(fā)明還提供了一種數(shù)據(jù)存儲(chǔ)裝置,所述裝置包括:
[0027]監(jiān)測(cè)單元,用于檢測(cè)當(dāng)前分表所寫(xiě)入的數(shù)據(jù)量;
[0028]判斷單元,用于判斷所述當(dāng)前分表所寫(xiě)入的數(shù)據(jù)量是否超出分表閾值;
[0029]處理單元,用于當(dāng)所述當(dāng)前分表所寫(xiě)入的數(shù)據(jù)量超出分表閾值時(shí),生成新的分表,并將待寫(xiě)入的數(shù)據(jù)寫(xiě)入所述新的分表中。
[0030]上述方案中,優(yōu)選地,所述處理單元,還用于:
[0031]生成新的分表的表名;
[0032]更新分表索引表中的關(guān)于所述當(dāng)前分表的索引記錄,并初步生成關(guān)于所述新的分表的索引記錄;
[0033]其中,在分表索引表結(jié)構(gòu)中,至少包含下述信息:
[0034]當(dāng)前分表表名、開(kāi)始寫(xiě)入時(shí)間、結(jié)束寫(xiě)入時(shí)間、當(dāng)前分表數(shù)據(jù)量、前一分表表名、生成時(shí)間。
[0035]上述方案中,優(yōu)選地,所述裝置還包括:
[0036]初始化單元,用于進(jìn)行初始化操作。
[0037]上述方案中,優(yōu)選地,所述初始化單元,包括:
[0038]配置子單元,用于動(dòng)態(tài)配置分表閾值;
[0039]查找子單元,用于查找是否存在分表索引表;
[0040]第一初始化子單元,用于當(dāng)不存在分表索引表時(shí),創(chuàng)建分表索引表;
[0041]第二初始化子單元,用于:
[0042]當(dāng)存在分表索引表時(shí),在分表索引表中查找是否有滿足預(yù)設(shè)條件的索引記錄;
[0043]當(dāng)有滿足預(yù)設(shè)條件的第一索引記錄時(shí),獲取第一索引記錄中的當(dāng)前分表表名、開(kāi)始寫(xiě)入時(shí)間、結(jié)束寫(xiě)入時(shí)間和前一分表表名,并分別設(shè)置到當(dāng)前分表表名變量、當(dāng)前分表開(kāi)始寫(xiě)入時(shí)間變量、當(dāng)前分表結(jié)束寫(xiě)入時(shí)間變量和前一分表表名變量中;查找是否有當(dāng)前分表表名為前一分表表名的第二索引記錄,如果有,獲取第二索引記錄的開(kāi)始寫(xiě)入時(shí)間和結(jié)束寫(xiě)入時(shí)間,并設(shè)置到前一分表開(kāi)始寫(xiě)入時(shí)間變量和前一分表結(jié)束寫(xiě)入時(shí)間變量中,觸發(fā)所述監(jiān)測(cè)單元執(zhí)行寫(xiě)數(shù)據(jù)監(jiān)測(cè)操作,如果沒(méi)有,觸發(fā)所述監(jiān)測(cè)單元執(zhí)行寫(xiě)數(shù)據(jù)監(jiān)測(cè)操作;
[0044]當(dāng)沒(méi)有滿足預(yù)設(shè)條件的第一索引記錄時(shí),生成新的分表的表名;查找是否有生成時(shí)間離當(dāng)前時(shí)點(diǎn)最近的第三索引記錄,如果有,獲取第三索引記錄中的開(kāi)始寫(xiě)入時(shí)間和結(jié)束寫(xiě)入時(shí)間,并設(shè)置到前一分表開(kāi)始寫(xiě)入時(shí)間變量和前一分表結(jié)束寫(xiě)入時(shí)間變量中,將所述當(dāng)前分表表名設(shè)置為新生成的索引記錄的前一分表表名,觸發(fā)所述監(jiān)測(cè)單元執(zhí)行寫(xiě)數(shù)據(jù)監(jiān)測(cè)操作;如果沒(méi)有,觸發(fā)所述監(jiān)測(cè)單元執(zhí)行寫(xiě)數(shù)據(jù)監(jiān)測(cè)操作。
[0045]上述方案中,優(yōu)選地,所述第一初始化子單元,還用于:
[0046]生成首個(gè)分表的表名;
[0047]將所述首個(gè)分表的表名設(shè)置為首個(gè)索引記錄的當(dāng)前分表表名中,并觸發(fā)所述監(jiān)測(cè)單元執(zhí)行寫(xiě)數(shù)據(jù)監(jiān)測(cè)操作。
[0048]本發(fā)明所提供的數(shù)據(jù)存儲(chǔ)方法及裝置,檢測(cè)當(dāng)前分表所寫(xiě)入的數(shù)據(jù)量;判斷所述當(dāng)前分表所寫(xiě)入的數(shù)據(jù)量是否超出分表閾值;當(dāng)所述當(dāng)前分表所寫(xiě)入的數(shù)據(jù)量超出分表閾值時(shí),生成新的分表,并將待寫(xiě)入的數(shù)據(jù)寫(xiě)入所述新的分表中;如此,解決了現(xiàn)有技術(shù)中當(dāng)進(jìn)行大數(shù)據(jù)量存儲(chǔ)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的持久化寫(xiě)入性能下降的問(wèn)題,進(jìn)而也提升數(shù)據(jù)庫(kù)系統(tǒng)的統(tǒng)計(jì)查詢性能。
【附圖說(shuō)明】
[0049]圖1為本發(fā)明實(shí)施例提供的數(shù)據(jù)存儲(chǔ)方法的實(shí)現(xiàn)流程示意圖;
[0050]圖2為本發(fā)明實(shí)施例提供的分表索引表的結(jié)構(gòu)示意圖;
[0051]圖3為本發(fā)明實(shí)施例提供的FOTA系統(tǒng)分表存儲(chǔ)數(shù)據(jù)的流程示意圖;
[0052]圖4為本發(fā)明實(shí)施例提供的數(shù)據(jù)存儲(chǔ)裝置的結(jié)構(gòu)示意圖一;
[0053]圖5為本發(fā)明實(shí)施例提供的數(shù)據(jù)存儲(chǔ)裝置的結(jié)構(gòu)示意圖二。
【具體實(shí)施方式】
[0054]為了能夠更加詳盡地了解本發(fā)明的特點(diǎn)與技術(shù)內(nèi)容,下面結(jié)合附圖對(duì)本發(fā)明的實(shí)現(xiàn)進(jìn)行詳細(xì)闡述,所附附圖僅供參考說(shuō)明之用,并非用來(lái)限定本發(fā)明。
[0055]實(shí)施例一
[0056]圖1為本發(fā)明實(shí)施例提供的數(shù)據(jù)存儲(chǔ)方法的實(shí)現(xiàn)流程示意圖,所述數(shù)據(jù)存儲(chǔ)方法可應(yīng)用于數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)庫(kù)系統(tǒng)以分表的形式存儲(chǔ)數(shù)據(jù),如圖1所示,所述數(shù)據(jù)存儲(chǔ)方法主要包括以下步驟:
[0057]步驟101:檢測(cè)當(dāng)前分表所寫(xiě)入的數(shù)據(jù)量。
[0058]優(yōu)選地,所述檢測(cè)當(dāng)前分表所寫(xiě)入的數(shù)據(jù)量,可以包括:
[0059]周期性檢測(cè)當(dāng)前分表所寫(xiě)入的數(shù)據(jù)量。
[0060]這里,所述周期可以根據(jù)實(shí)際情況進(jìn)行設(shè)定。
[0061]優(yōu)選地,所述周期可以以小時(shí)為單位、或以分鐘為單位、或以秒為單位、或以毫秒為單位等。
[0062]步驟102:判斷所述當(dāng)前分表所寫(xiě)入的數(shù)據(jù)量是否超出分表閾值。
[0063]這里,所述分表閾值用于表不每一個(gè)分表允許存儲(chǔ)
當(dāng)前第1頁(yè)1 2 3 4 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
锡林郭勒盟| 山阳县| 卢湾区| 清丰县| 宾阳县| 宜阳县| 石景山区| 柳江县| 三门县| 贵德县| 宜兰市| 三亚市| 晴隆县| 澄迈县| 县级市| 广昌县| 正定县| 曲沃县| 沙雅县| 六安市| 井陉县| 锦屏县| 穆棱市| 密山市| 呼和浩特市| 正宁县| 错那县| 东明县| 清流县| 奉化市| 宁化县| 南雄市| 台北市| 呼伦贝尔市| 和林格尔县| 晋宁县| 武隆县| 岳普湖县| 宁南县| 霍山县| 古田县|