本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,特別涉及一種db2數(shù)據(jù)庫(kù)表統(tǒng)計(jì)信息收集方法及系統(tǒng)。
背景技術(shù):
目前,當(dāng)用戶維護(hù)擁有幾十套業(yè)務(wù)系統(tǒng)的db2數(shù)據(jù)庫(kù)時(shí),經(jīng)常會(huì)遇到因?yàn)閿?shù)據(jù)庫(kù)表的統(tǒng)計(jì)信息更新不及時(shí)而引起的性能問(wèn)題,其嚴(yán)重影響了終端用戶的體驗(yàn)。為了實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)表的統(tǒng)計(jì)信息進(jìn)行更新,需要先對(duì)數(shù)據(jù)庫(kù)表的統(tǒng)計(jì)信息進(jìn)行收集。然而,目前一套復(fù)雜的db2數(shù)據(jù)庫(kù)通常有成千上萬(wàn)個(gè)表,并且表的大小由幾個(gè)g到幾百g不等,對(duì)于7*24小時(shí)的業(yè)務(wù)系統(tǒng),如何收集統(tǒng)計(jì)信息是非常繁瑣的事?,F(xiàn)有技術(shù)中,通常是定義一個(gè)計(jì)劃任務(wù),對(duì)所有的表進(jìn)行統(tǒng)一策略的收集,導(dǎo)致許多變化較小的表也進(jìn)行了收集,最終導(dǎo)致系統(tǒng)資源嚴(yán)重浪費(fèi),無(wú)法在規(guī)定時(shí)間窗口內(nèi)完成收集任務(wù)。
綜上所述可以看出,如何在對(duì)db2數(shù)據(jù)庫(kù)表統(tǒng)計(jì)信息進(jìn)行收集時(shí)避免消耗過(guò)多的系統(tǒng)資源是目前有待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種db2數(shù)據(jù)庫(kù)表統(tǒng)計(jì)信息收集方法及系統(tǒng),實(shí)現(xiàn)了在對(duì)db2數(shù)據(jù)庫(kù)表統(tǒng)計(jì)信息進(jìn)行收集時(shí)避免消耗過(guò)多的系統(tǒng)資源的目的。其具體方案如下:
一種db2數(shù)據(jù)庫(kù)表統(tǒng)計(jì)信息收集方法,包括:
確定出db2數(shù)據(jù)庫(kù)中目標(biāo)表的變化量;
判斷所述變化量是否小于預(yù)設(shè)變化量閾值,如果是,則禁止收集所述目標(biāo)表的統(tǒng)計(jì)信息,如果否,則對(duì)所述目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行收集。
可選的,所述確定出db2數(shù)據(jù)庫(kù)中目標(biāo)表的變化量的過(guò)程,包括:
獲取所述目標(biāo)表的數(shù)據(jù)變化記錄條數(shù);
利用所述數(shù)據(jù)變化記錄條數(shù),確定出所述目標(biāo)表的變化量。
可選的,所述獲取所述目標(biāo)表的數(shù)據(jù)變化記錄條數(shù)的過(guò)程,包括:
利用db2pd工具,獲取所述目標(biāo)表的數(shù)據(jù)變化記錄條數(shù)。
可選的,所述對(duì)所述目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行收集的過(guò)程,包括:
確定出所述目標(biāo)表的容量大小,得到目標(biāo)容量大??;
根據(jù)預(yù)設(shè)映射關(guān)系,確定出與所述目標(biāo)容量大小對(duì)應(yīng)的采樣比例,得到目標(biāo)采樣比例;其中,容量大小與采樣比例的大小之間呈負(fù)相關(guān)關(guān)系;
按照所述目標(biāo)采樣比例,對(duì)所述目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行相應(yīng)的采樣處理。
可選的,所述預(yù)設(shè)映射關(guān)系,包括:
若所述目標(biāo)容量大小小于1g,則與所述目標(biāo)容量大小對(duì)應(yīng)的采樣比例為100%;
若所述目標(biāo)容量大小大于或等于1g,并且小于10g,則與所述目標(biāo)容量大小對(duì)應(yīng)的采樣比例為50%;
若所述目標(biāo)容量大小大于或等于10g,并且小于50g,則與所述目標(biāo)容量大小對(duì)應(yīng)的采樣比例為30%;
若所述目標(biāo)容量大小大于或等于50,則與所述目標(biāo)容量大小對(duì)應(yīng)的采樣比例為20%。
本發(fā)明還相應(yīng)公開了一種db2數(shù)據(jù)庫(kù)表統(tǒng)計(jì)信息收集系統(tǒng),包括:
變化量確定模塊,用于確定出db2數(shù)據(jù)庫(kù)中目標(biāo)表的變化量;
判斷模塊,用于判斷所述變化量是否小于預(yù)設(shè)變化量閾值;
禁止模塊,用于當(dāng)所述判斷模塊判定所述變化量小于所述預(yù)設(shè)變化量閾值,則禁止收集所述目標(biāo)表的統(tǒng)計(jì)信息;
收集模塊,用于當(dāng)所述判斷模塊判定所述變化量大于或等于所述預(yù)設(shè)變化量閾值,則對(duì)所述目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行收集。
可選的,所述變化量確定模塊,包括:
變化信息獲取子模塊,用于獲取所述目標(biāo)表的數(shù)據(jù)變化記錄條數(shù);
變化量確定子模塊,用于利用所述數(shù)據(jù)變化記錄條數(shù),確定出所述目標(biāo)表的變化量。
可選的,所述變化信息獲取子模塊,具體用于利用db2pd工具,獲取所述目標(biāo)表的數(shù)據(jù)變化記錄條數(shù)。
可選的,所述收集模塊,包括:
大小確定單元,用于確定出所述目標(biāo)表的容量大小,得到目標(biāo)容量大小;
比例確定單元,用于根據(jù)預(yù)設(shè)映射關(guān)系,確定出與所述目標(biāo)容量大小對(duì)應(yīng)的采樣比例,得到目標(biāo)采樣比例;其中,容量大小與采樣比例的大小之間呈負(fù)相關(guān)關(guān)系;
信息采樣單元,用于按照所述目標(biāo)采樣比例,對(duì)所述目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行相應(yīng)的采樣處理。
可選的,所述預(yù)設(shè)映射關(guān)系,包括:
若所述目標(biāo)容量大小小于1g,則與所述目標(biāo)容量大小對(duì)應(yīng)的采樣比例為100%;
若所述目標(biāo)容量大小大于或等于1g,并且小于10g,則與所述目標(biāo)容量大小對(duì)應(yīng)的采樣比例為50%;
若所述目標(biāo)容量大小大于或等于10g,并且小于50g,則與所述目標(biāo)容量大小對(duì)應(yīng)的采樣比例為30%;
若所述目標(biāo)容量大小大于或等于50,則與所述目標(biāo)容量大小對(duì)應(yīng)的采樣比例為20%。
本發(fā)明中,db2數(shù)據(jù)庫(kù)表統(tǒng)計(jì)信息收集方法,包括:確定出db2數(shù)據(jù)庫(kù)中目標(biāo)表的變化量;判斷變化量是否小于預(yù)設(shè)變化量閾值,如果是,則禁止收集目標(biāo)表的統(tǒng)計(jì)信息,如果否,則對(duì)目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行收集。
可見,本發(fā)明在對(duì)db2數(shù)據(jù)庫(kù)中目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行收集之前,先確定出目標(biāo)表的變化量,然后判斷該變化量是否大于預(yù)設(shè)變化量閾值,在上述變化量大于預(yù)設(shè)變化量閾值的情況下,方對(duì)目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行收集,否則便禁止對(duì)目標(biāo)表進(jìn)行收集,從而可以避免變化量較小的情況下對(duì)目標(biāo)表進(jìn)行統(tǒng)計(jì)信息收集處理,由此可以避免消耗過(guò)多的系統(tǒng)資源。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例公開的一種db2數(shù)據(jù)庫(kù)表統(tǒng)計(jì)信息收集方法流程圖;
圖2為本發(fā)明實(shí)施例公開的一種對(duì)目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行收集的流程圖;
圖3為本發(fā)明實(shí)施例公開的一種db2數(shù)據(jù)庫(kù)表統(tǒng)計(jì)信息收集系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例公開了一種db2數(shù)據(jù)庫(kù)表統(tǒng)計(jì)信息收集方法,參見圖1所示,該方法包括:
步驟s11:確定出db2數(shù)據(jù)庫(kù)中目標(biāo)表的變化量。
需要說(shuō)明的是,上述目標(biāo)表可以是db2數(shù)據(jù)庫(kù)中的任意表。
步驟s12:判斷變化量是否小于預(yù)設(shè)變化量閾值,如果是,則進(jìn)入步驟s13,如果否,則進(jìn)入步驟s14。
步驟s13:禁止收集目標(biāo)表的統(tǒng)計(jì)信息。
步驟s14:對(duì)目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行收集。
可見,本發(fā)明實(shí)施例在對(duì)db2數(shù)據(jù)庫(kù)中目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行收集之前,先確定出目標(biāo)表的變化量,然后判斷該變化量是否大于預(yù)設(shè)變化量閾值,在上述變化量大于預(yù)設(shè)變化量閾值的情況下,方對(duì)目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行收集,否則便禁止對(duì)目標(biāo)表進(jìn)行收集,從而可以避免變化量較小的情況下對(duì)目標(biāo)表進(jìn)行統(tǒng)計(jì)信息收集處理,由此可以避免消耗過(guò)多的系統(tǒng)資源。
本發(fā)明實(shí)施例公開了一種具體的db2數(shù)據(jù)庫(kù)表統(tǒng)計(jì)信息收集方法,包括下面步驟s21至s25:
步驟s21:獲取目標(biāo)表的數(shù)據(jù)變化記錄條數(shù);
本實(shí)施例中,上述獲取目標(biāo)表的數(shù)據(jù)變化記錄條數(shù)的過(guò)程,具體可以包括:利用db2pd工具,獲取目標(biāo)表的數(shù)據(jù)變化記錄條數(shù)。
步驟s22:利用數(shù)據(jù)變化記錄條數(shù),確定出目標(biāo)表的變化量。
步驟s23:判斷變化量是否小于預(yù)設(shè)變化量閾值,如果是,則進(jìn)入步驟s24,如果否,則進(jìn)入步驟s25。
步驟s24:禁止收集目標(biāo)表的統(tǒng)計(jì)信息。
步驟s25:對(duì)目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行收集。
參見圖2所示,本實(shí)施例中,上述對(duì)目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行收集的過(guò)程,具體可以包括下面步驟s251至s253:
步驟s251:確定出目標(biāo)表的容量大小,得到目標(biāo)容量大??;
步驟s252:根據(jù)預(yù)設(shè)映射關(guān)系,確定出與目標(biāo)容量大小對(duì)應(yīng)的采樣比例,得到目標(biāo)采樣比例;其中,容量大小與采樣比例的大小之間呈負(fù)相關(guān)關(guān)系;
步驟s253:按照目標(biāo)采樣比例,對(duì)目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行相應(yīng)的采樣處理。
其中,上述預(yù)設(shè)映射關(guān)系,具體可以包括:
若目標(biāo)容量大小小于1g,則與目標(biāo)容量大小對(duì)應(yīng)的采樣比例為100%;若目標(biāo)容量大小大于或等于1g,并且小于10g,則與目標(biāo)容量大小對(duì)應(yīng)的采樣比例為50%;若目標(biāo)容量大小大于或等于10g,并且小于50g,則與目標(biāo)容量大小對(duì)應(yīng)的采樣比例為30%;若目標(biāo)容量大小大于或等于50,則與目標(biāo)容量大小對(duì)應(yīng)的采樣比例為20%。
相應(yīng)的,本發(fā)明實(shí)施例還公開了一種db2數(shù)據(jù)庫(kù)表統(tǒng)計(jì)信息收集系統(tǒng),參見圖3所示,該系統(tǒng)包括:
變化量確定模塊11,用于確定出db2數(shù)據(jù)庫(kù)中目標(biāo)表的變化量;
判斷模塊12,用于判斷變化量是否小于預(yù)設(shè)變化量閾值;
禁止模塊13,用于當(dāng)判斷模塊12判定變化量小于預(yù)設(shè)變化量閾值,則禁止收集目標(biāo)表的統(tǒng)計(jì)信息;
收集模塊14,用于當(dāng)判斷模塊12判定變化量大于或等于預(yù)設(shè)變化量閾值,則對(duì)目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行收集。
本實(shí)施例中,上述變化量確定模塊,具體可以包括變化信息獲取子模塊和變化量確定子模塊;其中,
變化信息獲取子模塊,用于獲取目標(biāo)表的數(shù)據(jù)變化記錄條數(shù);
變化量確定子模塊,用于利用數(shù)據(jù)變化記錄條數(shù),確定出目標(biāo)表的變化量。
進(jìn)一步的,上述變化信息獲取子模塊,具體可以用于利用db2pd工具,獲取目標(biāo)表的數(shù)據(jù)變化記錄條數(shù)。
另外,上述收集模塊,具體可以包括大小確定單元、比例確定單元以及信息采樣單元;其中,
大小確定單元,用于確定出目標(biāo)表的容量大小,得到目標(biāo)容量大小;
比例確定單元,用于根據(jù)預(yù)設(shè)映射關(guān)系,確定出與目標(biāo)容量大小對(duì)應(yīng)的采樣比例,得到目標(biāo)采樣比例;其中,容量大小與采樣比例的大小之間呈負(fù)相關(guān)關(guān)系;
信息采樣單元,用于按照目標(biāo)采樣比例,對(duì)目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行相應(yīng)的采樣處理。
其中,上述預(yù)設(shè)映射關(guān)系,具體可以包括:
若目標(biāo)容量大小小于1g,則與目標(biāo)容量大小對(duì)應(yīng)的采樣比例為100%;若目標(biāo)容量大小大于或等于1g,并且小于10g,則與目標(biāo)容量大小對(duì)應(yīng)的采樣比例為50%;若目標(biāo)容量大小大于或等于10g,并且小于50g,則與目標(biāo)容量大小對(duì)應(yīng)的采樣比例為30%;若目標(biāo)容量大小大于或等于50,則與目標(biāo)容量大小對(duì)應(yīng)的采樣比例為20%。
可見,本發(fā)明實(shí)施例在對(duì)db2數(shù)據(jù)庫(kù)中目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行收集之前,先確定出目標(biāo)表的變化量,然后判斷該變化量是否大于預(yù)設(shè)變化量閾值,在上述變化量大于預(yù)設(shè)變化量閾值的情況下,方對(duì)目標(biāo)表的統(tǒng)計(jì)信息進(jìn)行收集,否則便禁止對(duì)目標(biāo)表進(jìn)行收集,從而可以避免變化量較小的情況下對(duì)目標(biāo)表進(jìn)行統(tǒng)計(jì)信息收集處理,由此可以避免消耗過(guò)多的系統(tǒng)資源。
最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對(duì)本發(fā)明所提供的一種db2數(shù)據(jù)庫(kù)表統(tǒng)計(jì)信息收集方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。