基于mssql server表分區(qū)及自動維護(hù)方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種基于MSSQL?SERVER表分區(qū)及自動維護(hù)方法及系統(tǒng),通過在創(chuàng)建表時對同一類表格涉及數(shù)據(jù)保留策略并配置相同的分區(qū)函數(shù)及分區(qū)架構(gòu)和結(jié)構(gòu)定義,進(jìn)而當(dāng)需要維護(hù)時,按照預(yù)先制定的數(shù)據(jù)保留策略,實(shí)現(xiàn)MSSQ?Lserver表分區(qū)自動轉(zhuǎn)儲歷史數(shù)據(jù)、自動添加新的分區(qū)、自動合并已轉(zhuǎn)儲數(shù)據(jù)的舊分區(qū)、循環(huán)使用文件組等功能。最終對數(shù)據(jù)保留策略中設(shè)定的業(yè)務(wù)需要數(shù)據(jù)進(jìn)行保留,刪除或者轉(zhuǎn)儲過期的數(shù)據(jù),從而達(dá)到自動維護(hù)大量的已經(jīng)進(jìn)行分區(qū)的表實(shí)現(xiàn)數(shù)據(jù)庫自身維護(hù)自己的表單的目的,有效提升數(shù)據(jù)庫存儲空間性能,極大的減輕dba的工作量,從而使dba有更多的精力專注于其它關(guān)鍵性領(lǐng)域。
【專利說明】基于MSSQL SERVER表分區(qū)及自動維護(hù)方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫應(yīng)用領(lǐng)域,尤其是指一種基于MSSQL SERVER表分區(qū)及自動維護(hù)方法及系統(tǒng)。
【背景技術(shù)】
[0002]MSSQL SERVER是指微軟的SQL Server數(shù)據(jù)庫服務(wù)器,它是一個數(shù)據(jù)庫平臺,提供數(shù)據(jù)庫的從服務(wù)器到終端的完整的解決方案,其中數(shù)據(jù)庫服務(wù)器部分,是一個數(shù)據(jù)庫管理系統(tǒng),用于建立、使用和維護(hù)數(shù)據(jù)庫。而在MSSQLSERVER中,表分區(qū)(PARTITION)是MSSQLserver數(shù)據(jù)庫的一個組件,該技術(shù)最早在MSSQL server2005企業(yè)版中引入,這個過程是把數(shù)據(jù)按某種標(biāo)準(zhǔn)劃分成區(qū)域存儲在不同的文件組中,使用分區(qū)可以快速而有效地管理和訪問數(shù)據(jù)子集,從而使大型表或索引更易于管理。就訪問MSSQL server數(shù)據(jù)庫的應(yīng)用而言,邏輯上講只有一個表,但在物理存儲上可能由多個物理的數(shù)據(jù)文件組成。每個文件組存放一個數(shù)據(jù)分區(qū)的數(shù)據(jù),每個數(shù)據(jù)分區(qū)都是一個獨(dú)立的對象,可以獨(dú)自處理,也可以作為一個更大對象的一部分進(jìn)行處理。
[0003]目前,MSSQL server展到MSSQL server2012,數(shù)據(jù)表分區(qū)的方式仍然采用MSSQLserver2005的方法進(jìn)行操作。MSSQL server的數(shù)據(jù)表分區(qū)種類很單一,類似于oracle/mysql的range分區(qū)。MSSQL server數(shù)據(jù)表分區(qū)主要通過以下步驟來實(shí)現(xiàn):
[0004]創(chuàng)建分區(qū)函數(shù)以指定如何分區(qū)使用該函數(shù)的表;
[0005]創(chuàng)建分區(qū)架構(gòu)以指定分區(qū)函數(shù)的分區(qū)在文件組上的位置;
[0006]創(chuàng)建使用分區(qū)架構(gòu)的表;
[0007]分區(qū)表上創(chuàng)建唯一索引,索引列必須包含分區(qū)列,且分區(qū)列不為null ;
[0008]由此,當(dāng)MSSQL server數(shù)據(jù)庫使用時間越長,積累的數(shù)據(jù)越來越多,性能會急劇下降。
[0009]現(xiàn)有技術(shù)中,一般采取兩種傳統(tǒng)方式來提高性能一即數(shù)據(jù)表瘦身與表分區(qū)。
[0010]其中,數(shù)據(jù)表瘦身即將現(xiàn)有表中不再使用的數(shù)據(jù)刪除,使用頻率低的數(shù)據(jù)轉(zhuǎn)儲為歷史表。對于一個復(fù)雜的業(yè)務(wù)系統(tǒng)而言,一般很少進(jìn)行數(shù)據(jù)刪除,這樣就造成數(shù)據(jù)庫出現(xiàn)大型表或者巨型表,使得該表的數(shù)據(jù)查詢緩慢,因此大多數(shù)數(shù)據(jù)表瘦身傾向于轉(zhuǎn)儲為歷史表。
[0011]而MSSQL server表分區(qū)技術(shù)應(yīng)用于海量數(shù)據(jù)的相關(guān)應(yīng)用領(lǐng)域時,由于MSSQLserver表分區(qū)自身的特點(diǎn),當(dāng)表分區(qū)的數(shù)量會和文件組的數(shù)量一樣多,這增加了數(shù)據(jù)文件的管理難度。此外,當(dāng)數(shù)據(jù)達(dá)到分區(qū)函數(shù)的極限時,需要手動進(jìn)行擴(kuò)展并新建新的文件組來存儲新的數(shù)據(jù),會因數(shù)據(jù)文件過多而增加數(shù)據(jù)文件管理難度;手動維護(hù)眾多(少則幾十來張,多則上百張)分區(qū)表,給dba帶來維護(hù)的工作量確實(shí)比較大。
【發(fā)明內(nèi)容】
[0012]本發(fā)明的目的在于克服了上述缺陷,提供一種基于MSSQL SERVER表分區(qū)及自動維護(hù)方法及系統(tǒng)。[0013]本發(fā)明的目的是這樣實(shí)現(xiàn)的:一種基于MSSQL SERVER表分區(qū)及自動維護(hù)方法,它包括分區(qū)步驟及自動維護(hù)步驟;
[0014]所述分區(qū)步驟包括,對同類型的表根據(jù)需求設(shè)計數(shù)據(jù)保留策略,同類表基于相同的數(shù)據(jù)保留策略、分區(qū)函數(shù)和分區(qū)架構(gòu)進(jìn)行表創(chuàng)建;所述表創(chuàng)建包括依次創(chuàng)建表分區(qū)函數(shù)、創(chuàng)建表分區(qū)架構(gòu),定義表分區(qū)結(jié)構(gòu);
[0015]所述自動維護(hù)步驟包括,判斷數(shù)據(jù)庫中的表是否需要進(jìn)行表分區(qū)整理,若需要則將不符合數(shù)據(jù)保留策略的數(shù)據(jù)轉(zhuǎn)儲到臨時表中,而后修改表分區(qū)函數(shù)、修改表分區(qū)架構(gòu)并重新定義表分區(qū)結(jié)構(gòu);
[0016]上述方法中,它還包括計劃任務(wù)步驟,所述任務(wù)步驟包括設(shè)定觸發(fā)條件,當(dāng)觸發(fā)條件滿足時執(zhí)行自動維護(hù)步驟。
[0017]上述方法中,所述計劃任務(wù)步驟具體包括,
[0018]SI)、進(jìn)入操作系統(tǒng)的任務(wù)計劃程序中制定執(zhí)行計劃,包括添加執(zhí)行任務(wù)內(nèi)容及設(shè)定觸發(fā)條件;所述觸發(fā)條件包括任務(wù)觸發(fā)時間點(diǎn)和觸發(fā)時間間隔;所述執(zhí)行任務(wù)內(nèi)容為執(zhí)行自動維護(hù)步驟;
[0019]S2)、開啟執(zhí)行計劃,當(dāng)滿足觸發(fā)條件時觸發(fā)執(zhí)行任務(wù)內(nèi)容;
[0020]S3)、任務(wù)計劃根據(jù)觸發(fā)時間間隔累加任務(wù)觸發(fā)時間。
[0021]上述方法中,所述分區(qū)步驟具體包括,根據(jù)業(yè)務(wù)特征與數(shù)據(jù)需求為同一個類型的表制定數(shù)據(jù)保留策略,而后就同類表基于相同的數(shù)據(jù)保留策略、分區(qū)函數(shù)和分區(qū)架構(gòu)進(jìn)行表創(chuàng)建;所述表創(chuàng)建包括步驟,
[0022]A)、于數(shù)據(jù)庫中添加一個包括表名、觸發(fā)分區(qū)整理值及分區(qū)整理狀態(tài)鍵名的表分區(qū)管理表;所述分區(qū)整理狀態(tài)鍵名中存儲有是否需要進(jìn)行分區(qū)整理的鍵值;
[0023]B)、根據(jù)分區(qū)鍵字段、分區(qū)數(shù)量計算各分區(qū)之間邊界值后設(shè)計表分區(qū)策略;
[0024]C)、根據(jù)表分區(qū)策略創(chuàng)建表分區(qū)函數(shù)并執(zhí)行;
[0025]D)、創(chuàng)建表分區(qū)架構(gòu):首先根據(jù)分區(qū)函數(shù)中邊界值和/或分區(qū)數(shù)量在數(shù)據(jù)庫中創(chuàng)建相同數(shù)量的文件組,然后根據(jù)文件組數(shù)量為每個文件組添加一個數(shù)據(jù)文件,并定義數(shù)據(jù)文件的增加方式、最大值大??;
[0026]E)、根據(jù)業(yè)務(wù)定義的表結(jié)構(gòu)定義表分區(qū)架構(gòu)。
[0027]上述方法中,所述自動維護(hù)步驟具體包括,
[0028]F)、從數(shù)據(jù)庫中的表分區(qū)管理表獲取表名、觸發(fā)分區(qū)整理值、分區(qū)整理狀態(tài),依次判斷每個表名對應(yīng)的分區(qū)整理狀態(tài)中鍵值是否需要進(jìn)行分區(qū)整理,是則繼續(xù)步驟,否則結(jié)束;
[0029]G)、根據(jù)業(yè)務(wù)定義的表結(jié)構(gòu)創(chuàng)建一個臨時表;
[0030]H)、獲取當(dāng)前表名的表分區(qū)中最小或最早的分區(qū)序號;
[0031]I)、分區(qū)交換數(shù)據(jù),將獲取的分區(qū)序號對應(yīng)分區(qū)中的數(shù)據(jù)移動至臨時表中;
[0032]J)、修改分區(qū)架構(gòu),將表分區(qū)中獲取的分區(qū)序號下一個的數(shù)據(jù)分區(qū)序號修改為獲取的分區(qū)序號;
[0033]K)、修改分區(qū)函數(shù),刪除獲的分區(qū)序號對應(yīng)的分區(qū)范圍,從新添加最大或者最新的分區(qū)范圍;
[0034]L)、將表分區(qū)管理表中本項(xiàng)表名對應(yīng)的分區(qū)整理狀態(tài)中鍵值更新為已整理。[0035]上述方法中,所述步驟K與L之間還包括,刪除臨時表或根據(jù)歷史表的命名規(guī)則,重命名臨時表并存儲為歷史轉(zhuǎn)儲表。
[0036]本發(fā)明還涉及一種基于MSSQL SERVER表分區(qū)及自動維護(hù)系統(tǒng),它包括分區(qū)模塊及自動維護(hù)模塊;
[0037]所述分區(qū)模塊,用于對同類型的表根據(jù)需求設(shè)計數(shù)據(jù)保留策略,同類表基于相同的數(shù)據(jù)保留策略、分區(qū)函數(shù)和分區(qū)架構(gòu)進(jìn)行表創(chuàng)建;所述表創(chuàng)建包括依次創(chuàng)建表分區(qū)函數(shù)、創(chuàng)建表分區(qū)架構(gòu),定義表分區(qū)結(jié)構(gòu);
[0038]所述自動維護(hù)模塊,用于判斷數(shù)據(jù)庫中的表是否需要進(jìn)行表分區(qū)整理,若需要則將不符合數(shù)據(jù)保留策略的數(shù)據(jù)轉(zhuǎn)儲到臨時表中,而后修改表分區(qū)函數(shù)、修改表分區(qū)架構(gòu)并重新定義表分區(qū)結(jié)構(gòu)。
[0039]上述中,它還包括計劃任務(wù)模塊,用于設(shè)定觸發(fā)條件,當(dāng)觸發(fā)條件滿足時執(zhí)行自動維護(hù)模塊;
[0040]所述計劃任務(wù)模塊具體包括,
[0041]計劃制定單元,用于進(jìn)入操作系統(tǒng)的任務(wù)計劃程序中制定執(zhí)行計劃,包括添加執(zhí)行任務(wù)內(nèi)容及設(shè)定觸發(fā)條件而后轉(zhuǎn)到計劃開啟單元;所述觸發(fā)條件包括任務(wù)觸發(fā)時間點(diǎn)和觸發(fā)時間間隔;所述執(zhí)行任務(wù)內(nèi)容為執(zhí)行自動維護(hù)模塊;
[0042]計劃開啟單元,用于開啟執(zhí)行計劃,當(dāng)滿足觸發(fā)條件時觸發(fā)執(zhí)行任務(wù)內(nèi)容而后轉(zhuǎn)到時間累加單元;
[0043]時間累加單元,用于根據(jù)觸發(fā)時間間隔累加任務(wù)觸發(fā)時間;
[0044]上述中,所述分區(qū)模塊,用于根據(jù)業(yè)務(wù)特征與數(shù)據(jù)需求為同一個類型的表制定數(shù)據(jù)保留策略,而后就同類表基于相同的數(shù)據(jù)保留策略、分區(qū)函數(shù)和分區(qū)架構(gòu)進(jìn)行通過表創(chuàng)建單元創(chuàng)建表;
[0045]所述表創(chuàng)建單元包括,
[0046]添加表分區(qū)管理表單元,用于在數(shù)據(jù)庫中添加一個包括表名、觸發(fā)分區(qū)整理值及分區(qū)整理狀態(tài)鍵名的表分區(qū)管理表而后轉(zhuǎn)到表分區(qū)策略設(shè)計單元;所述分區(qū)整理狀態(tài)鍵名中存儲有是否需要進(jìn)行分區(qū)整理的鍵值;
[0047]表分區(qū)策略設(shè)計單元,用于根據(jù)分區(qū)鍵字段、分區(qū)數(shù)量計算各分區(qū)之間邊界值后設(shè)計表分區(qū)策略而后轉(zhuǎn)到表分區(qū)函數(shù)創(chuàng)建單元;
[0048]表分區(qū)函數(shù)創(chuàng)建單元,用于根據(jù)表分區(qū)策略創(chuàng)建表分區(qū)函數(shù)并執(zhí)行而后轉(zhuǎn)到表分區(qū)架構(gòu)創(chuàng)建單元;
[0049]表分區(qū)架構(gòu)創(chuàng)建單元,用于首先根據(jù)分區(qū)函數(shù)中邊界值和/或分區(qū)數(shù)量在數(shù)據(jù)庫中創(chuàng)建相同數(shù)量的文件組,然后根據(jù)文件組數(shù)量為每個文件組添加一個數(shù)據(jù)文件,并定義數(shù)據(jù)文件的增加方式、最大值大小,轉(zhuǎn)到表分區(qū)架構(gòu)定義單元;
[0050]表分區(qū)架構(gòu)定義單元,用于根據(jù)業(yè)務(wù)定義的表結(jié)構(gòu)定義表分區(qū)架構(gòu);
[0051]上述中,所述自動維護(hù)模塊具體包括,
[0052]分區(qū)整理判斷單元,用于從數(shù)據(jù)庫中的表分區(qū)管理表獲取表名、觸發(fā)分區(qū)整理值、分區(qū)整理狀態(tài),依次判斷每個表名對應(yīng)的分區(qū)整理狀態(tài)中鍵值是否需要進(jìn)行分區(qū)整理,是則轉(zhuǎn)到臨時表創(chuàng)建單元,否則結(jié)束;
[0053]臨時表創(chuàng)建單兀,用于根據(jù)業(yè)務(wù)定義的表結(jié)構(gòu)創(chuàng)建一個臨時表而后轉(zhuǎn)到分區(qū)序號獲取單元;
[0054]分區(qū)序號獲取單元,用于獲取當(dāng)前表名的表分區(qū)中最小或最早的分區(qū)序號,而后轉(zhuǎn)到分區(qū)交換數(shù)據(jù)單元;
[0055]分區(qū)交換數(shù)據(jù)單元,用于將獲取的分區(qū)序號對應(yīng)分區(qū)中的數(shù)據(jù)移動至臨時表中而后轉(zhuǎn)到分區(qū)架構(gòu)修改單元;
[0056]分區(qū)架構(gòu)修改單元,用于將表分區(qū)中獲取的分區(qū)序號下一個的數(shù)據(jù)分區(qū)序號修改為獲取的分區(qū)序號,而后轉(zhuǎn)到分區(qū)函數(shù)修改單元;
[0057]分區(qū)函數(shù)修改單元,用于刪除獲的分區(qū)序號對應(yīng)的分區(qū)范圍,從新添加最大或者最新的分區(qū)范圍而后轉(zhuǎn)到整理狀態(tài)更新單元;
[0058]整理狀態(tài)更新單元,用于將表分區(qū)管理表中本項(xiàng)表名對應(yīng)的分區(qū)整理狀態(tài)中鍵值更新為已整理。
[0059]相比于常見的MSSQL數(shù)據(jù)分區(qū)及維護(hù),本發(fā)明的有益效果在于通過在創(chuàng)建表時對同一類表格涉及數(shù)據(jù)保留策略并配置相同的分區(qū)函數(shù)及分區(qū)架構(gòu)和結(jié)構(gòu)定義,進(jìn)而當(dāng)需要維護(hù)時,按照預(yù)先制定的數(shù)據(jù)保留策略,實(shí)現(xiàn)MSSQL server表分區(qū)自動轉(zhuǎn)儲歷史數(shù)據(jù)、自動添加新的分區(qū)、自動合并已轉(zhuǎn)儲數(shù)據(jù)的舊分區(qū)、循環(huán)使用文件組等功能。最終對數(shù)據(jù)保留策略中設(shè)定的業(yè)務(wù)需要數(shù)據(jù)進(jìn)行保留,刪除或者轉(zhuǎn)儲過期的數(shù)據(jù),從而達(dá)到自動維護(hù)大量的已經(jīng)進(jìn)行分區(qū)的表實(shí)現(xiàn)數(shù)據(jù)庫自身維護(hù)自己的表單的目的,有效提升數(shù)據(jù)庫存儲空間性能,極大的減輕dba的工作量,從而使dba有更多的精力專注于其它關(guān)鍵性領(lǐng)域。
【專利附圖】
【附圖說明】
[0060]下面結(jié)合附圖詳述本發(fā)明的具體結(jié)構(gòu)
[0061]圖1為本發(fā)明具體實(shí)施例的分區(qū)步驟流程圖;
[0062]圖2為本發(fā)明具體實(shí)施例的自動維護(hù)步驟流程圖;
[0063]圖3為本發(fā)明具體實(shí)施例的計劃任務(wù)步驟流程圖。
【具體實(shí)施方式】
[0064]為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、構(gòu)造特征、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖詳予說明。
[0065]本發(fā)明涉及一種基于MSSQL SERVER表分區(qū)及自動維護(hù)方法,它包括分區(qū)步驟及自動維護(hù)步驟;
[0066]所述分區(qū)步驟包括,對同類型的表根據(jù)需求設(shè)計數(shù)據(jù)保留策略,同類表基于相同的數(shù)據(jù)保留策略、分區(qū)函數(shù)和分區(qū)架構(gòu)進(jìn)行表創(chuàng)建;所述表創(chuàng)建包括依次創(chuàng)建表分區(qū)函數(shù)、創(chuàng)建表分區(qū)架構(gòu),定義表分區(qū)結(jié)構(gòu);
[0067]所述自動維護(hù)步驟包括,判斷數(shù)據(jù)庫中的表是否需要進(jìn)行表分區(qū)整理,若需要則將不符合數(shù)據(jù)保留策略的數(shù)據(jù)轉(zhuǎn)儲到臨時表中,而后修改表分區(qū)函數(shù)、修改表分區(qū)架構(gòu)并重新定義表分區(qū)結(jié)構(gòu)。
[0068]相比于常見的MSSQL數(shù)據(jù)分區(qū)及維護(hù),本發(fā)明的有益效果在于通過在創(chuàng)建表時對同一類表格涉及數(shù)據(jù)保留策略并配置相同的分區(qū)函數(shù)及分區(qū)架構(gòu)和結(jié)構(gòu)定義,進(jìn)而當(dāng)需要維護(hù)時,按照預(yù)先制定的數(shù)據(jù)保留策略,實(shí)現(xiàn)MSSQL server表分區(qū)自動轉(zhuǎn)儲歷史數(shù)據(jù)、自動添加新的分區(qū)、自動合并已轉(zhuǎn)儲數(shù)據(jù)的舊分區(qū)、循環(huán)使用文件組等功能。最終對數(shù)據(jù)保留策略中設(shè)定的業(yè)務(wù)需要數(shù)據(jù)進(jìn)行保留,刪除或者轉(zhuǎn)儲過期的數(shù)據(jù),從而達(dá)到自動維護(hù)大量的已經(jīng)進(jìn)行分區(qū)的表實(shí)現(xiàn)數(shù)據(jù)庫自身維護(hù)自己的表單的目的,有效提升數(shù)據(jù)庫存儲空間性能,極大的減輕dba的工作量,從而使dba有更多的精力專注于其它關(guān)鍵性領(lǐng)域。
[0069]作為一實(shí)施例,上述分區(qū)步驟具體包括:
[0070]根據(jù)業(yè)務(wù)特征與數(shù)據(jù)需求為同一個類型的表制定數(shù)據(jù)保留策略,而后就同類表基于相同的數(shù)據(jù)保留策略、分區(qū)函數(shù)和分區(qū)架構(gòu)進(jìn)行表創(chuàng)建。
[0071]此處的業(yè)務(wù)特征包括當(dāng)前業(yè)務(wù)特征及各個表的數(shù)據(jù)量、增長量規(guī)模等信息,通過分析從而得到的。
[0072]而數(shù)據(jù)保留策略,這里提供兩種實(shí)施例,一種即創(chuàng)建的表分區(qū)按時間來分區(qū)的,業(yè)務(wù)需要保留為一定期限(如6個月以內(nèi))的數(shù)據(jù),另一種方式中創(chuàng)建的表分區(qū)表按數(shù)量來分的,業(yè)務(wù)需要保留一定數(shù)量(如10000-20000之間)的數(shù)據(jù)。
[0073]如圖1所示,所述表創(chuàng)建包括步驟:
[0074]A)、于數(shù)據(jù)庫中添加一個包括表名、觸發(fā)分區(qū)整理值及分區(qū)整理狀態(tài)鍵名的表分區(qū)管理表;所述分區(qū)整理狀態(tài)鍵名中存儲有是否需要進(jìn)行分區(qū)整理的鍵值;
[0075]此處添加一個專門的表分區(qū)管理表是作為后續(xù)判斷是否需要進(jìn)行分區(qū)整理的依據(jù)。
[0076]B)、根據(jù)分區(qū)鍵字段、分區(qū)數(shù)量計算各分區(qū)之間邊界值后設(shè)計表分區(qū)策略;
[0077]C)、根據(jù)表分區(qū)策略創(chuàng)建表分區(qū)函數(shù)并執(zhí)行;
[0078]執(zhí)行通常是通過編寫分區(qū)函數(shù)的sql腳本并在數(shù)據(jù)庫的查詢分析器窗口執(zhí)行的。
[0079]D)、創(chuàng)建表分區(qū)架構(gòu):首先根據(jù)分區(qū)函數(shù)中邊界值和/或分區(qū)數(shù)量在數(shù)據(jù)庫中創(chuàng)建相同數(shù)量的文件組,然后根據(jù)文件組數(shù)量為每個文件組添加一個數(shù)據(jù)文件,并定義數(shù)據(jù)文件的增加方式、最大值大?。?br>
[0080]同樣,通常的本步驟創(chuàng)建表分區(qū)架構(gòu)是通過將上述內(nèi)容編寫成為創(chuàng)建分區(qū)架構(gòu)的sql腳本并在數(shù)據(jù)庫的查詢分析器窗口執(zhí)行來完成的。
[0081]E)、根據(jù)業(yè)務(wù)定義的表結(jié)構(gòu)定義表分區(qū)架構(gòu)。
[0082]同理,通過編寫表創(chuàng)建的sql腳本并在數(shù)據(jù)庫的查詢分析器窗口執(zhí)行,由此整個表分區(qū)工作完畢,結(jié)束表分區(qū)表物理化。
[0083]在一實(shí)施例中,如圖2所示,上述自動維護(hù)步驟具體包括,
[0084]F)、從數(shù)據(jù)庫中的表分區(qū)管理表獲取表名、觸發(fā)分區(qū)整理值、分區(qū)整理狀態(tài),依次判斷每個表名對應(yīng)的分區(qū)整理狀態(tài)中鍵值是否需要進(jìn)行分區(qū)整理,是則繼續(xù)步驟,否則結(jié)束;
[0085]G)、根據(jù)業(yè)務(wù)定義的表結(jié)構(gòu)創(chuàng)建一個臨時表;通常通過編寫一個非分區(qū)表的建表sql腳本并執(zhí)行。
[0086]H)、獲取當(dāng)前表名的表分區(qū)中最小或最早的分區(qū)序號;該序號作為后續(xù)變量的依據(jù)。即,對應(yīng)前面分區(qū)策略設(shè)定為時間的情況,最早序列號的分區(qū)是后面處理的依據(jù),而對應(yīng)數(shù)量的情況,則最小分區(qū)序號為后續(xù)處理的依據(jù)。
[0087]I)、分區(qū)交換數(shù)據(jù),將獲取的分區(qū)序號對應(yīng)分區(qū)中的數(shù)據(jù)移動至臨時表中;
[0088]通過本步驟即將不符合數(shù)據(jù)保留策略的數(shù)據(jù)從原表中移動到一個臨時表中,原分區(qū)中的數(shù)據(jù)被清空。
[0089]J)、修改分區(qū)架構(gòu),將表分區(qū)中獲取的分區(qū)序號下一個的數(shù)據(jù)分區(qū)序號修改為獲取的分區(qū)序號;由此處理才能使下次插入的數(shù)據(jù)使用該分區(qū)所在的文件組。
[0090]K)、修改分區(qū)函數(shù),刪除獲的分區(qū)序號對應(yīng)的分區(qū)范圍,從新添加最大或者最新的分區(qū)范圍;由此使分區(qū)函數(shù)與分區(qū)架構(gòu)一一對應(yīng)。
[0091]L)、將表分區(qū)管理表中本項(xiàng)表名對應(yīng)的分區(qū)整理狀態(tài)中鍵值更新為已整理。
[0092]M)、根據(jù)以上流程,對每張需要維護(hù)的分區(qū)表進(jìn)行上述維護(hù),直至完成。
[0093]在一實(shí)施例嗎中,上述方步驟K與L之間還包括,刪除臨時表或根據(jù)歷史表的命名規(guī)則,重命名臨時表并存儲為歷史轉(zhuǎn)儲表。本步驟的加入,是對從表中剔除出來不符合數(shù)據(jù)保留策略的數(shù)據(jù)的處理,即可以根據(jù)需求不要則扔掉(刪除),也可以根據(jù)一個命名規(guī)則存成另外一個歷史表留底,從而避免數(shù)據(jù)的丟失,同時又能為主要工作的表達(dá)到“瘦身”的作用。
[0094]作為一實(shí)施例,上述方法中,它還包括計劃任務(wù)步驟,所述任務(wù)步驟包括設(shè)定觸發(fā)條件,當(dāng)觸發(fā)條件滿足時執(zhí)行自動維護(hù)步驟。通過加入計劃任務(wù),可使得自動維護(hù)的執(zhí)行按照設(shè)定的計劃有序的、自動的進(jìn)行,從而完全達(dá)到自動維護(hù)的智能化。
[0095]作為一實(shí)施例,如圖3所示,所述計劃任務(wù)步驟具體包括,
[0096]SI)、進(jìn)入操作系統(tǒng)的任務(wù)計劃程序中制定執(zhí)行計劃,包括添加執(zhí)行任務(wù)內(nèi)容及設(shè)定觸發(fā)條件;所述觸發(fā)條件包括任務(wù)觸發(fā)時間點(diǎn)和觸發(fā)時間間隔;所述執(zhí)行任務(wù)內(nèi)容為執(zhí)行自動維護(hù)步驟;
[0097]例如,常用的windows操作系統(tǒng)中,就可進(jìn)入其自帶的任務(wù)計劃,準(zhǔn)備為待執(zhí)行的作業(yè)制定執(zhí)行計劃——根據(jù)windows的任務(wù)計劃向?qū)В砑訄?zhí)行任務(wù)、設(shè)置任務(wù)觸發(fā)時間點(diǎn)、觸發(fā)時間間隔、執(zhí)行該任務(wù)的用戶名及密碼。
[0098]S2)、開啟執(zhí)行計劃,當(dāng)滿足觸發(fā)條件時觸發(fā)執(zhí)行任務(wù)內(nèi)容,此時就會完成對表的自動維護(hù);
[0099]S3)、任務(wù)計劃根據(jù)觸發(fā)時間間隔累加任務(wù)觸發(fā)時間。
[0100]綜上所述可見,本發(fā)明方案是從互聯(lián)網(wǎng)搜索行業(yè)mssql server數(shù)據(jù)庫系統(tǒng)中提煉而來,在實(shí)際的數(shù)據(jù)庫開發(fā)維護(hù)過程中,自動維護(hù)著大量的已經(jīng)進(jìn)行分區(qū)的表,實(shí)現(xiàn)數(shù)據(jù)庫自身維護(hù)自己的表單,按照預(yù)先制定的保留策略,自動保留業(yè)務(wù)需要的數(shù)據(jù),自動刪除或者轉(zhuǎn)儲過期的數(shù)據(jù),對數(shù)據(jù)庫存儲空間的維護(hù)和性能提升起著至關(guān)重要的作用。本發(fā)明對于數(shù)據(jù)挖掘或數(shù)據(jù)倉庫系統(tǒng)中數(shù)據(jù)維護(hù)都有一定的參考價值。
[0101]本發(fā)明還涉及一種基于MSSQL SERVER表分區(qū)及自動維護(hù)系統(tǒng),它包括分區(qū)模塊及自動維護(hù)模塊;
[0102]所述分區(qū)模塊,用于對同類型的表根據(jù)需求設(shè)計數(shù)據(jù)保留策略,同類表基于相同的數(shù)據(jù)保留策略、分區(qū)函數(shù)和分區(qū)架構(gòu)進(jìn)行表創(chuàng)建;所述表創(chuàng)建包括依次創(chuàng)建表分區(qū)函數(shù)、創(chuàng)建表分區(qū)架構(gòu),定義表分區(qū)結(jié)構(gòu);
[0103]所述自動維護(hù)模塊,用于判斷數(shù)據(jù)庫中的表是否需要進(jìn)行表分區(qū)整理,若需要則將不符合數(shù)據(jù)保留策略的數(shù)據(jù)轉(zhuǎn)儲到臨時表中,而后修改表分區(qū)函數(shù)、修改表分區(qū)架構(gòu)并重新定義表分區(qū)結(jié)構(gòu)。
[0104]在一實(shí)施例中,上述中,它還包括計劃任務(wù)模塊,用于設(shè)定觸發(fā)條件,當(dāng)觸發(fā)條件滿足時執(zhí)行自動維護(hù)模塊;
[0105]所述計劃任務(wù)模塊具體包括,
[0106]計劃制定單元,用于進(jìn)入操作系統(tǒng)的任務(wù)計劃程序中制定執(zhí)行計劃,包括添加執(zhí)行任務(wù)內(nèi)容及設(shè)定觸發(fā)條件而后轉(zhuǎn)到計劃開啟單元;所述觸發(fā)條件包括任務(wù)觸發(fā)時間點(diǎn)和觸發(fā)時間間隔;所述執(zhí)行任務(wù)內(nèi)容為執(zhí)行自動維護(hù)模塊;
[0107]計劃開啟單元,用于開啟執(zhí)行計劃,當(dāng)滿足觸發(fā)條件時觸發(fā)執(zhí)行任務(wù)內(nèi)容而后轉(zhuǎn)到時間累加單元;
[0108]時間累加單元,用于根據(jù)觸發(fā)時間間隔累加任務(wù)觸發(fā)時間;
[0109]在一實(shí)施例中,上述中,所述分區(qū)模塊,用于根據(jù)業(yè)務(wù)特征與數(shù)據(jù)需求為同一個類型的表制定數(shù)據(jù)保留策略,而后就同類表基于相同的數(shù)據(jù)保留策略、分區(qū)函數(shù)和分區(qū)架構(gòu)進(jìn)行通過表創(chuàng)建單元創(chuàng)建表;
[0110]所述表創(chuàng)建單元包括,
[0111]添加表分區(qū)管理表單元,用于在數(shù)據(jù)庫中添加一個包括表名、觸發(fā)分區(qū)整理值及分區(qū)整理狀態(tài)鍵名的表分區(qū)管理表而后轉(zhuǎn)到表分區(qū)策略設(shè)計單元;所述分區(qū)整理狀態(tài)鍵名中存儲有是否需要進(jìn)行分區(qū)整理的鍵值;
[0112]表分區(qū)策略設(shè)計單元,用于根據(jù)分區(qū)鍵字段、分區(qū)數(shù)量計算各分區(qū)之間邊界值后設(shè)計表分區(qū)策略而后轉(zhuǎn)到表分區(qū)函數(shù)創(chuàng)建單元;
[0113]表分區(qū)函數(shù)創(chuàng)建單元,用于根據(jù)表分區(qū)策略創(chuàng)建表分區(qū)函數(shù)并執(zhí)行而后轉(zhuǎn)到表分區(qū)架構(gòu)創(chuàng)建單元;
[0114]表分區(qū)架構(gòu)創(chuàng)建單元,用于首先根據(jù)分區(qū)函數(shù)中邊界值和/或分區(qū)數(shù)量在數(shù)據(jù)庫中創(chuàng)建相同數(shù)量的文件組,然后根據(jù)文件組數(shù)量為每個文件組添加一個數(shù)據(jù)文件,并定義數(shù)據(jù)文件的增加方式、最大值大小,轉(zhuǎn)到表分區(qū)架構(gòu)定義單元;
[0115]表分區(qū)架構(gòu)定義單元,用于根據(jù)業(yè)務(wù)定義的表結(jié)構(gòu)定義表分區(qū)架構(gòu);
[0116]在一實(shí)施例中,上述中,所述自動維護(hù)模塊具體包括,
[0117]分區(qū)整理判斷單元,用于從數(shù)據(jù)庫中的表分區(qū)管理表獲取表名、觸發(fā)分區(qū)整理值、分區(qū)整理狀態(tài),依次判斷每個表名對應(yīng)的分區(qū)整理狀態(tài)中鍵值是否需要進(jìn)行分區(qū)整理,是則轉(zhuǎn)到臨時表創(chuàng)建單元,否則結(jié)束;
[0118]臨時表創(chuàng)建單兀,用于根據(jù)業(yè)務(wù)定義的表結(jié)構(gòu)創(chuàng)建一個臨時表而后轉(zhuǎn)到分區(qū)序號獲取單元;
[0119]分區(qū)序號獲取單元,用于獲取當(dāng)前表名的表分區(qū)中最小或最早的分區(qū)序號,而后轉(zhuǎn)到分區(qū)交換數(shù)據(jù)單元;
[0120]分區(qū)交換數(shù)據(jù)單元,用于將獲取的分區(qū)序號對應(yīng)分區(qū)中的數(shù)據(jù)移動至臨時表中而后轉(zhuǎn)到分區(qū)架構(gòu)修改單元;
[0121]分區(qū)架構(gòu)修改單元,用于將表分區(qū)中獲取的分區(qū)序號下一個的數(shù)據(jù)分區(qū)序號修改為獲取的分區(qū)序號,而后轉(zhuǎn)到分區(qū)函數(shù)修改單元;
[0122]分區(qū)函數(shù)修改單元,用于刪除獲的分區(qū)序號對應(yīng)的分區(qū)范圍,從新添加最大或者最新的分區(qū)范圍而后轉(zhuǎn)到整理狀態(tài)更新單元;
[0123]整理狀態(tài)更新單元,用于將表分區(qū)管理表中本項(xiàng)表名對應(yīng)的分區(qū)整理狀態(tài)中鍵值更新為已整理。[0124]該系統(tǒng)的有益效果如上述方法所述,在此不做冗述。
[0125]以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種基于MSSQL SERVER表分區(qū)及自動維護(hù)方法,其特征在于:它包括分區(qū)步驟及自動維護(hù)步驟; 所述分區(qū)步驟包括,對同類型的表根據(jù)需求設(shè)計數(shù)據(jù)保留策略,同類表基于相同的數(shù)據(jù)保留策略、分區(qū)函數(shù)和分區(qū)架構(gòu)進(jìn)行表創(chuàng)建;所述表創(chuàng)建包括依次創(chuàng)建表分區(qū)函數(shù)、創(chuàng)建表分區(qū)架構(gòu),定義表分區(qū)結(jié)構(gòu); 所述自動維護(hù)步驟包括,判斷數(shù)據(jù)庫中的表是否需要進(jìn)行表分區(qū)整理,若需要則將不符合數(shù)據(jù)保留策略的數(shù)據(jù)轉(zhuǎn)儲到臨時表中,而后修改表分區(qū)函數(shù)、修改表分區(qū)架構(gòu)并重新定義表分區(qū)結(jié)構(gòu)。
2.如權(quán)利要求1所述的基于MSSQLSERVER表分區(qū)及自動維護(hù)方法,其特征在于:它還包括計劃任務(wù)步驟,所述任務(wù)步驟包括設(shè)定觸發(fā)條件,當(dāng)觸發(fā)條件滿足時執(zhí)行自動維護(hù)步驟。
3.如權(quán)利要求2所述的基于MSSQLSERVER表分區(qū)及自動維護(hù)方法,其特征在于:所述計劃任務(wù)步驟具體包括, 51)、進(jìn)入操作系統(tǒng)的任務(wù)計劃程序中制定執(zhí)行計劃,包括添加執(zhí)行任務(wù)內(nèi)容及設(shè)定觸發(fā)條件;所述觸發(fā)條件包括任務(wù)觸發(fā)時間點(diǎn)和觸發(fā)時間間隔;所述執(zhí)行任務(wù)內(nèi)容為執(zhí)行自動維護(hù)步驟; 52)、開啟執(zhí)行計劃,當(dāng)滿足觸發(fā)條件時觸發(fā)執(zhí)行任務(wù)內(nèi)容; 53)、任務(wù)計劃根據(jù)觸發(fā)時間間隔累加任務(wù)觸發(fā)時間。
4.如權(quán)利要求1-3任意一項(xiàng)所述的基于MSSQLSERVER表分區(qū)及自動維護(hù)方法,其特征在于:所述分區(qū)步驟具體包括,根據(jù)業(yè)務(wù)特征與數(shù)據(jù)需求為同一個類型的表制定數(shù)據(jù)保留策略,而后就同類表基于相同的數(shù)據(jù)保留策略、分區(qū)函數(shù)和分區(qū)架構(gòu)進(jìn)行表創(chuàng)建;所述表創(chuàng)建包括步驟, A)、于數(shù)據(jù)庫中添加一個包括表名、觸發(fā)分區(qū)整理值及分區(qū)整理狀態(tài)鍵名的表分區(qū)管理表;所述分區(qū)整理狀態(tài)鍵名中存儲有是否需要進(jìn)行分區(qū)整理的鍵值; B)、根據(jù)分區(qū)鍵字段、分區(qū)數(shù)量計算各分區(qū)之間邊界值后設(shè)計表分區(qū)策略; C)、根據(jù)表分區(qū)策略創(chuàng)建表分區(qū)函數(shù)并執(zhí)行; D)、創(chuàng)建表分區(qū)架構(gòu):首先根據(jù)分區(qū)函數(shù)中邊界值和/或分區(qū)數(shù)量在數(shù)據(jù)庫中創(chuàng)建相同數(shù)量的文件組,然后根據(jù)文件組數(shù)量為每個文件組添加一個數(shù)據(jù)文件,并定義數(shù)據(jù)文件的增加方式、最大值大??; E)、根據(jù)業(yè)務(wù)定義的表結(jié)構(gòu)定義表分區(qū)架構(gòu)。
5.如權(quán)利要求1-3任意一項(xiàng)所述的基于MSSQLSERVER表分區(qū)及自動維護(hù)方法,其特征在于:所述自動維護(hù)步驟具體包括, F)、從數(shù)據(jù)庫中的表分區(qū)管理表獲取表名、觸發(fā)分區(qū)整理值、分區(qū)整理狀態(tài),依次判斷每個表名對應(yīng)的分區(qū)整理狀態(tài)中鍵值是否需要進(jìn)行分區(qū)整理,是則繼續(xù)步驟,否則結(jié)束; G)、根據(jù)業(yè)務(wù)定義的表結(jié)構(gòu)創(chuàng)建一個臨時表; H)、獲取當(dāng)前表名的表分區(qū)中最小或最早的分區(qū)序號; I)、分區(qū)交換數(shù)據(jù), 將獲取的分區(qū)序號對應(yīng)分區(qū)中的數(shù)據(jù)移動至臨時表中; J)、修改分區(qū)架構(gòu),將表分區(qū)中獲取的分區(qū)序號下一個的數(shù)據(jù)分區(qū)序號修改為獲取的分區(qū)序號;K)、修改分區(qū)函數(shù),刪除獲的分區(qū)序號對應(yīng)的分區(qū)范圍,從新添加最大或者最新的分區(qū)范圍; L)、將表分區(qū)管理表中本項(xiàng)表名對應(yīng)的分區(qū)整理狀態(tài)中鍵值更新為已整理。
6.如權(quán)利要求5所述的基于MSSQLSERVER表分區(qū)及自動維護(hù)方法,其特征在于:所述步驟K與L之間還包括,刪除臨時表或根據(jù)歷史表的命名規(guī)則,重命名臨時表并存儲為歷史轉(zhuǎn)儲表。
7.一種基于MSSQL SERVER表分區(qū)及自動維護(hù)系統(tǒng),其特征在于:它包括分區(qū)模塊及自動維護(hù)模塊; 所述分區(qū)模塊,用于對同類型的表根據(jù)需求設(shè)計數(shù)據(jù)保留策略,同類表基于相同的數(shù)據(jù)保留策略、分區(qū)函數(shù)和分區(qū)架構(gòu)進(jìn)行表創(chuàng)建;所述表創(chuàng)建包括依次創(chuàng)建表分區(qū)函數(shù)、創(chuàng)建表分區(qū)架構(gòu),定義表分區(qū)結(jié)構(gòu); 所述自動維護(hù)模塊,用于判斷數(shù)據(jù)庫中的表是否需要進(jìn)行表分區(qū)整理,若需要則將不符合數(shù)據(jù)保留策略的數(shù)據(jù)轉(zhuǎn)儲到臨時表中,而后修改表分區(qū)函數(shù)、修改表分區(qū)架構(gòu)并重新定義表分區(qū)結(jié)構(gòu)。
8.如權(quán)利要求7所述的基于MSSQLSERVER表分區(qū)及自動維護(hù)系統(tǒng),其特征在于:它還包括計劃任務(wù)模塊 ,用于設(shè)定觸發(fā)條件,當(dāng)觸發(fā)條件滿足時執(zhí)行自動維護(hù)模塊; 所述計劃任務(wù)模塊具體包括, 計劃制定單元,用于進(jìn)入操作系統(tǒng)的任務(wù)計劃程序中制定執(zhí)行計劃,包括添加執(zhí)行任務(wù)內(nèi)容及設(shè)定觸發(fā)條件而后轉(zhuǎn)到計劃開啟單元;所述觸發(fā)條件包括任務(wù)觸發(fā)時間點(diǎn)和觸發(fā)時間間隔;所述執(zhí)行任務(wù)內(nèi)容為執(zhí)行自動維護(hù)模塊; 計劃開啟單元,用于開啟執(zhí)行計劃,當(dāng)滿足觸發(fā)條件時觸發(fā)執(zhí)行任務(wù)內(nèi)容而后轉(zhuǎn)到時間累加單元; 時間累加單元,用于根據(jù)觸發(fā)時間間隔累加任務(wù)觸發(fā)時間。
9.如權(quán)利要求7或8所述的基于MSSQLSERVER表分區(qū)及自動維護(hù)系統(tǒng),其特征在于:所述分區(qū)模塊,用于根據(jù)業(yè)務(wù)特征與數(shù)據(jù)需求為同一個類型的表制定數(shù)據(jù)保留策略,而后就同類表基于相同的數(shù)據(jù)保留策略、分區(qū)函數(shù)和分區(qū)架構(gòu)進(jìn)行通過表創(chuàng)建單元創(chuàng)建表; 所述表創(chuàng)建單元包括, 添加表分區(qū)管理表單元,用于在數(shù)據(jù)庫中添加一個包括表名、觸發(fā)分區(qū)整理值及分區(qū)整理狀態(tài)鍵名的表分區(qū)管理表而后轉(zhuǎn)到表分區(qū)策略設(shè)計單元;所述分區(qū)整理狀態(tài)鍵名中存儲有是否需要進(jìn)行分區(qū)整理的鍵值; 表分區(qū)策略設(shè)計單元,用于根據(jù)分區(qū)鍵字段、分區(qū)數(shù)量計算各分區(qū)之間邊界值后設(shè)計表分區(qū)策略而后轉(zhuǎn)到表分區(qū)函數(shù)創(chuàng)建單元; 表分區(qū)函數(shù)創(chuàng)建單元,用于根據(jù)表分區(qū)策略創(chuàng)建表分區(qū)函數(shù)并執(zhí)行而后轉(zhuǎn)到表分區(qū)架構(gòu)創(chuàng)建單元; 表分區(qū)架構(gòu)創(chuàng)建單元,用于首先根據(jù)分區(qū)函數(shù)中邊界值和/或分區(qū)數(shù)量在數(shù)據(jù)庫中創(chuàng)建相同數(shù)量的文件組,然后根據(jù)文件組數(shù)量為每個文件組添加一個數(shù)據(jù)文件,并定義數(shù)據(jù)文件的增加方式、最大值大小,轉(zhuǎn)到表分區(qū)架構(gòu)定義單元; 表分區(qū)架構(gòu)定義單元,用于根據(jù)業(yè)務(wù)定義的表結(jié)構(gòu)定義表分區(qū)架構(gòu)。
10.如權(quán)利要求7或8所述的基于MSSQLSERVER表分區(qū)及自動維護(hù)系統(tǒng),其特征在于:所述自動維護(hù)模塊具體包括, 分區(qū)整理判斷單元,用于從數(shù)據(jù)庫中的表分區(qū)管理表獲取表名、觸發(fā)分區(qū)整理值、分區(qū)整理狀態(tài),依次判斷每個表名對應(yīng)的分區(qū)整理狀態(tài)中鍵值是否需要進(jìn)行分區(qū)整理,是則轉(zhuǎn)到臨時表創(chuàng)建單兀,否則結(jié)束; 臨時表創(chuàng)建單兀,用于根據(jù)業(yè)務(wù)定義的表結(jié)構(gòu)創(chuàng)建一個臨時表而后轉(zhuǎn)到分區(qū)序號獲取單元; 分區(qū)序號獲取單元,用于獲取當(dāng)前表名的表分區(qū)中最小或最早的分區(qū)序號,而后轉(zhuǎn)到分區(qū)交換數(shù)據(jù)單元; 分區(qū)交換數(shù)據(jù)單元,用于將獲取的分區(qū)序號對應(yīng)分區(qū)中的數(shù)據(jù)移動至臨時表中而后轉(zhuǎn)到分區(qū)架構(gòu)修改單元; 分區(qū)架構(gòu)修改單元,用于將表分區(qū)中獲取的分區(qū)序號下一個的數(shù)據(jù)分區(qū)序號修改為獲取的分區(qū)序號,而后轉(zhuǎn)到分區(qū)函數(shù)修改單元; 分區(qū)函數(shù)修改單元,用于刪除獲的分區(qū)序號對應(yīng)的分區(qū)范圍,從新添加最大或者最新的分區(qū)范圍而后轉(zhuǎn)到整理狀態(tài)更新單元; 整理狀態(tài)更新單元,用于將表分區(qū)管理表中本項(xiàng)表名對應(yīng)的分區(qū)整理狀態(tài)中鍵值更新為已整理 。
【文檔編號】G06F17/30GK103699676SQ201310750793
【公開日】2014年4月2日 申請日期:2013年12月30日 優(yōu)先權(quán)日:2013年12月30日
【發(fā)明者】余有能 申請人:廈門市美亞柏科信息股份有限公司