亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于批量提交數(shù)據(jù)的快速查詢算法研究與設(shè)計(jì)

        2014-10-23 12:38:12王防修石文文付威威
        關(guān)鍵詞:屬性數(shù)據(jù)批量分組

        譚 威,王防修,石文文,付威威

        (武漢輕工大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院,湖北武漢 430023)

        二維數(shù)據(jù)主要來(lái)自于一類(lèi)按照時(shí)間周期返回?cái)?shù)據(jù)的傳感器[1],這類(lèi)傳感器會(huì)被安裝在需要實(shí)時(shí)監(jiān)控的設(shè)備上,比如儀表盤(pán)、鍋爐等,通過(guò)傳感器適時(shí)傳回監(jiān)測(cè)設(shè)備提交的屬性數(shù)據(jù)。又比如某一時(shí)刻的溫度、鍋爐的壓力等,系統(tǒng)可以完整地記錄下監(jiān)測(cè)設(shè)備的整個(gè)運(yùn)行狀況,在監(jiān)控現(xiàn)場(chǎng)出現(xiàn)異常狀況時(shí)可以通過(guò)監(jiān)測(cè)設(shè)備提交的歷史記錄進(jìn)行故障定位和故障分析。當(dāng)前的應(yīng)用發(fā)展趨勢(shì)表明,被監(jiān)測(cè)個(gè)體的數(shù)目正在迅速增長(zhǎng),同時(shí)隨著技術(shù)的進(jìn)步以及應(yīng)用的需求,數(shù)據(jù)回傳的周期也越來(lái)越短,這就要求對(duì)眾多監(jiān)測(cè)設(shè)備提交的大量數(shù)據(jù)能夠適時(shí)存儲(chǔ)[2-5]和快速查詢[6-10]。

        所稱批量提交數(shù)據(jù),就是指應(yīng)用環(huán)境中每個(gè)測(cè)點(diǎn)在一段時(shí)間內(nèi)提交了大量數(shù)據(jù)。監(jiān)測(cè)設(shè)備數(shù)量越多,則所有測(cè)點(diǎn)在一段時(shí)間內(nèi)批量提交的數(shù)據(jù)量就越大。雖然每個(gè)設(shè)備采樣周期固定,但不同設(shè)備的采樣周期會(huì)有不同。因此,如何對(duì)監(jiān)測(cè)設(shè)備提交的批量數(shù)據(jù)進(jìn)行快速查詢是監(jiān)控系統(tǒng)適時(shí)處理問(wèn)題的關(guān)鍵。

        此外,所有的批量數(shù)據(jù)都必須保存在磁盤(pán)上,這就要求盡可能地節(jié)省磁盤(pán)空間。在實(shí)際的數(shù)據(jù)處理中,為了提高查詢效率,必須使,內(nèi)存和磁盤(pán)在容量上存在較大差距,要求降低索引之間的耦合度,內(nèi)存索引和磁盤(pán)索引能夠?qū)崿F(xiàn)快速切換,在較小內(nèi)存情況下也可以正常工作。降低數(shù)據(jù)和索引的耦合度,索引和數(shù)據(jù)分開(kāi)存儲(chǔ)[11]。為了節(jié)省存儲(chǔ)空間,盡量使所提交的數(shù)據(jù)占盡可能少的外存空間。

        總之,根據(jù)批量提交數(shù)據(jù)的結(jié)構(gòu)特征,本文提出了一種基于批量提交數(shù)據(jù)的索引算法,通過(guò)該算法,實(shí)現(xiàn)了測(cè)點(diǎn)參數(shù)與屬性數(shù)據(jù)的分離,其中測(cè)點(diǎn)參數(shù)作為索引文件的內(nèi)容,而所有的屬性數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)文件中,通過(guò)搜索索引文件可以很快地找到需要的屬性數(shù)據(jù)。算法測(cè)試表明:通過(guò)索引文件查找屬性數(shù)據(jù)文件,可以很好的解決下列問(wèn)題:①實(shí)現(xiàn)批量提交數(shù)據(jù)在測(cè)點(diǎn)維度的快速查詢;②實(shí)現(xiàn)批量提交數(shù)據(jù)在時(shí)間維度的快速查詢;③實(shí)現(xiàn)單一測(cè)點(diǎn)在一段時(shí)間內(nèi)的快速查詢;④實(shí)現(xiàn)批量測(cè)點(diǎn)在某個(gè)時(shí)刻的快速查詢。

        1 批量數(shù)據(jù)存儲(chǔ)與查詢的數(shù)學(xué)模型

        對(duì)于一個(gè)起始時(shí)刻為begin_time,采樣周期為time_gap,編號(hào)為ID的測(cè)點(diǎn)而言,為方便查詢,使該測(cè)點(diǎn)批量提交屬性數(shù)據(jù)的起始地址為

        其中M表示每個(gè)測(cè)點(diǎn)提交的數(shù)據(jù)量,而size表示一個(gè)屬性數(shù)據(jù)的大小。

        明確了屬性數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)以后,則查詢ID在時(shí)刻T提交的屬性數(shù)據(jù)時(shí),該屬性數(shù)據(jù)在數(shù)據(jù)文件中的地址為

        2 批量提交數(shù)據(jù)的快速查詢

        2.1 批量提交數(shù)據(jù)的分組存儲(chǔ)策略

        假設(shè)總共有N個(gè)測(cè)點(diǎn),每個(gè)測(cè)點(diǎn)的采樣周期不一定相同。如果每個(gè)測(cè)點(diǎn)批量提交的屬性數(shù)據(jù)有M個(gè),那么這些數(shù)據(jù)可以分組存儲(chǔ)到不同的主表文件中,也可以存儲(chǔ)在同一個(gè)主表文件中。此處采用分組存儲(chǔ)的方式保存批量數(shù)據(jù)。具體過(guò)程如下:

        步驟1 根據(jù)距離的遠(yuǎn)近,將相對(duì)比較集中的測(cè)點(diǎn)歸為一組。假設(shè)N個(gè)測(cè)點(diǎn)被分為n組,且每組的測(cè)點(diǎn)個(gè)數(shù)為Ni,i=1,2,…,n,則滿足下列關(guān)系:

        步驟3 初始化主表文件計(jì)數(shù)器i=1。

        步驟4 用分組主表文件fi保存第i組測(cè)點(diǎn)批量提交的屬性數(shù)據(jù),使得該文件的奇數(shù)行保存測(cè)點(diǎn)編號(hào)、數(shù)據(jù)提交的起始時(shí)刻、采樣周期三個(gè)參數(shù),而偶數(shù)行保存對(duì)應(yīng)測(cè)點(diǎn)批量提交的M個(gè)屬性數(shù)據(jù),而數(shù)據(jù)之間用空格隔開(kāi),則文件fi的數(shù)據(jù)總量為:

        步驟5 如果i<n,則使i=i+1,并重復(fù)步驟4。

        最后,得到n個(gè)分組主表文件的數(shù)據(jù)量總和為:

        2.2 快速查詢算法

        2.2.1 建立索引表文件

        設(shè)l1表示分組主表文件中奇數(shù)行三個(gè)參數(shù)的累加長(zhǎng)度,l2表示偶數(shù)行數(shù)據(jù)的長(zhǎng)度。則為N個(gè)測(cè)點(diǎn)建立索引的過(guò)程如下:

        步驟1 初始化分組主表文件指示器i=1。

        步驟2 讀分組主表文件fi的相關(guān)數(shù)據(jù)信息:

        a)初始化測(cè)點(diǎn)計(jì)數(shù)器j=1和l1=0 l=1;

        b)將fi的文件指針定位在l2(j-1)+l1;

        c)讀出文件fi當(dāng)前位置的三個(gè)參數(shù):測(cè)點(diǎn)編號(hào)ID,起始時(shí)刻begin_time,采樣周期time_gap;

        d)將begin_time,time_gap,l2(j-1)+l1保存在索引表文件Ind的第ID行;

        e)如果j<M,則j=j+1,重復(fù)b)至d)。

        步驟3 如果i<n,則i=i+1,且重復(fù)步驟2。

        最后,得到索引表文件的數(shù)據(jù)量為i=3N。

        2.2.2 批量數(shù)據(jù)在時(shí)間維度的快速查詢

        由于要查詢N個(gè)測(cè)點(diǎn)在某個(gè)時(shí)刻T的屬性數(shù)據(jù),故n個(gè)分組主表文件都需要先后被讀取,為了提高查詢效率,必須通過(guò)索引表文件加快屬性數(shù)據(jù)的準(zhǔn)確定位。與測(cè)點(diǎn)維度查詢不同,時(shí)間維度的查詢需要查詢所有測(cè)點(diǎn) ,為提高查找索引表文件的效率,必須先將索引表文件導(dǎo)入內(nèi)存建立索引,然后通過(guò)查詢內(nèi)存索引表來(lái)提高查詢效率。如果要查詢所有測(cè)點(diǎn)在時(shí)刻T的屬性數(shù)據(jù),則其查詢過(guò)程如下。

        步驟1 將索引表文件導(dǎo)入計(jì)算機(jī)內(nèi)存,建立索引表 Indi,i=1,2,…,N 。

        步驟2 初始化分組主表文件指示器i=1和測(cè)點(diǎn)計(jì)數(shù)器j=1。

        步驟3 查詢文件fi中所有測(cè)點(diǎn)在時(shí)刻T提交的屬性數(shù)據(jù):

        a)計(jì)算測(cè)點(diǎn)Indj·ID在時(shí)刻T提交的數(shù)據(jù)位置

        b)如果1≤loc≤M,則從文件fi讀屬性數(shù)據(jù)的物理地址為

        c)如果文件fi未被讀完,則j=j+1,重復(fù)a)和b)。

        步驟4 如果i<n,表示分組文件未處理完,則i=i+1,重復(fù)步驟3。

        2.2.3 批量數(shù)據(jù)測(cè)點(diǎn)維度的查詢

        如果要查詢測(cè)點(diǎn)ID批量提交的屬性數(shù)據(jù),則只需要使用索引表文件一次,故不需要將索引文件讀入計(jì)算機(jī)內(nèi)存。首先根據(jù)測(cè)點(diǎn)號(hào)ID所對(duì)應(yīng)的主表文件在起始時(shí)刻提交的屬性數(shù)據(jù)的地址,然后順序讀出該測(cè)點(diǎn)在不同時(shí)刻提交的屬性數(shù)據(jù)。具體的求解過(guò)程如下。

        步驟1 從索引表文件的第ID行立即找到該測(cè)點(diǎn)的begin_time,time_gap,以及在分組主表文件中的起始地址address。

        步驟2 通過(guò)順序查找或折半查找求出測(cè)點(diǎn)ID所在的分組主表文件fi。

        步驟3 從文件fi的address開(kāi)始依次讀入M個(gè)屬性數(shù)據(jù)。

        3 算法改進(jìn)

        3.1 批量數(shù)據(jù)的歸并存儲(chǔ)和索引表的建立

        由于分組主表文件都是文本文件,為方便查詢,要求每個(gè)分組主表文件中的數(shù)據(jù)必須是等長(zhǎng)的,這必然導(dǎo)致該算法的使用范圍受到限制。同時(shí),用文本表示數(shù)據(jù)需要花費(fèi)更多的存儲(chǔ)空間。如果用一個(gè)二進(jìn)制主表文件保存全部屬性數(shù)據(jù),則既擴(kuò)大了算法的使用范圍,又可以節(jié)省存儲(chǔ)空間。

        對(duì)于n個(gè)測(cè)點(diǎn)而言,如果每個(gè)測(cè)點(diǎn)提交M個(gè)屬性數(shù)據(jù),則總共要提交Mn個(gè)屬性數(shù)據(jù)。保存數(shù)據(jù)和建立索引表的過(guò)程如下。

        1)對(duì)n個(gè)測(cè)點(diǎn)從1至n連續(xù)編號(hào),然后在索引表文件中依次保存每個(gè)測(cè)點(diǎn)起始時(shí)間和采樣周期。

        2)依次保存每個(gè)測(cè)點(diǎn)批量提交的屬性數(shù)據(jù),則得到一個(gè)n×M的二維矩陣。因?yàn)槊總€(gè)屬性數(shù)據(jù)占4個(gè)字節(jié),故數(shù)據(jù)文件大小為4Mn。

        3)對(duì)于一個(gè)測(cè)點(diǎn)ID而言,直接從索引表文件的位置8(ID-1)讀取該測(cè)點(diǎn)的起始時(shí)間begin_time和采樣周期time_gap。同理,直接從主表文件的位置4M(ID-1)開(kāi)始讀出該測(cè)點(diǎn)提交的所有屬性數(shù)據(jù)。

        3.2 批量數(shù)據(jù)在時(shí)間維度和測(cè)點(diǎn)維度的查詢

        在建立了索引表文件和主表文件后,接下來(lái)就是如何使用索引表文件快速地對(duì)主表文件進(jìn)行時(shí)間維度和測(cè)點(diǎn)維度的數(shù)據(jù)查詢問(wèn)題。

        4 算法測(cè)試

        假設(shè)存在10 000個(gè)監(jiān)測(cè)設(shè)備,對(duì)每個(gè)設(shè)備使用隨機(jī)數(shù)方式產(chǎn)生10 000個(gè)屬性數(shù)據(jù),每個(gè)設(shè)備采樣周期固定,不同設(shè)備的采樣周期在100至1 000之間隨機(jī)選擇,針對(duì)這些數(shù)據(jù)實(shí)現(xiàn)批量提交數(shù)據(jù)的快速查詢。本算法的測(cè)試數(shù)據(jù)由2013第二屆中國(guó)軟件杯設(shè)計(jì)大賽的第二題提供,可以從中國(guó)軟件杯的官網(wǎng)上直接下載得到。

        針對(duì)現(xiàn)有的批量數(shù)據(jù),進(jìn)行如下的實(shí)驗(yàn)。

        1)測(cè)試單個(gè)測(cè)點(diǎn)在不同時(shí)刻提交的屬性數(shù)據(jù),如表1所示。

        2)測(cè)試所有測(cè)點(diǎn)在同一時(shí)刻提交的屬性數(shù)據(jù),如表2所示。

        3)測(cè)試單個(gè)測(cè)點(diǎn)在一段時(shí)間內(nèi)提交的屬性數(shù)據(jù),如表3所示。

        4)測(cè)試不同測(cè)點(diǎn)在同一時(shí)刻提交的屬性數(shù)據(jù),如表4所示。

        表1 測(cè)點(diǎn)維度查詢的部分結(jié)果

        表2 部分測(cè)點(diǎn)在某個(gè)時(shí)刻的屬性數(shù)據(jù)

        表3 單個(gè)測(cè)點(diǎn)在一段時(shí)間內(nèi)的查詢結(jié)果

        表4 多個(gè)測(cè)點(diǎn)在某一個(gè)時(shí)刻的查詢結(jié)果

        表1與表3的區(qū)別在于:前者反映的是一個(gè)測(cè)點(diǎn)在所有時(shí)刻提交的屬性數(shù)據(jù),而后者是查詢一個(gè)測(cè)點(diǎn)在一段時(shí)間內(nèi)提交的屬性數(shù)據(jù)。表2與表4的區(qū)別在于:前者反映的是所有測(cè)點(diǎn)在某一時(shí)刻提交的屬性數(shù)據(jù),而后者是查詢幾個(gè)不同測(cè)點(diǎn)在某一時(shí)刻提交的屬性數(shù)據(jù)。其中,表1和表2只給出少量的部分結(jié)果,受篇幅所限無(wú)法將其結(jié)果全部列舉。算法測(cè)試的主要目的是通過(guò)上述四個(gè)表反映出本算法的輸入和輸出。

        5 算法分析

        如果通過(guò)索引表文件查詢分組主表文件,則要求每個(gè)分組主表文件必須具有一定的格式:①除參數(shù)外,每行屬性數(shù)據(jù)的長(zhǎng)度必須相同;②屬性數(shù)據(jù)之間的空格、必須相同;③屬性數(shù)據(jù)等長(zhǎng)。如果分組主表文件不滿足這些格式要求,則無(wú)法通過(guò)直接查詢分組主表文件得到需要的屬性數(shù)據(jù);反之,即使能查詢到所需要的數(shù)據(jù),但其查詢效率與存儲(chǔ)效率較低,如果采用改進(jìn)算法,則對(duì)二進(jìn)制主表文件的格式就沒(méi)有上述要求。將分組主表文件合并成一個(gè)二進(jìn)制主表文件,可以提高算法的查詢效率和存儲(chǔ)效率,具體的查詢效率如表5所示,存儲(chǔ)效率見(jiàn)表6。此外,與分組主表文件相比,屬性數(shù)據(jù)在二進(jìn)制主表文件中占用較小的內(nèi)存空間。

        表5 算法查詢效率的比較

        表6 算法存儲(chǔ)效率的比較

        從表5可以看出,測(cè)點(diǎn)維度的查詢效率明顯高于時(shí)間維度的查詢。之所以會(huì)出現(xiàn)這種情況,完全是由主表文件的存儲(chǔ)結(jié)構(gòu)決定的。

        表6中體現(xiàn)改進(jìn)后的算法所占磁盤(pán)空間是改進(jìn)前的一半,其中磁盤(pán)空間=主表+索引表。

        6 結(jié)束語(yǔ)

        鑒于批量提交數(shù)據(jù)在適時(shí)監(jiān)控系統(tǒng)中的存儲(chǔ)特性,本文研究了大批量數(shù)據(jù)存儲(chǔ)與查詢領(lǐng)域中一個(gè)較少關(guān)注的重要問(wèn)題,即在眾多測(cè)點(diǎn)同一時(shí)刻提交大量數(shù)據(jù)的背景下,如何實(shí)現(xiàn)批量提交數(shù)據(jù)的快速查詢。在每個(gè)測(cè)點(diǎn)采樣周期固定的基礎(chǔ)上,采用數(shù)據(jù)位置索引的方式詳細(xì)描述了測(cè)點(diǎn)分類(lèi)、數(shù)據(jù)存儲(chǔ)、索引建立等過(guò)程,設(shè)計(jì)了索引表與主表分開(kāi)存儲(chǔ)的改進(jìn)算法。算例測(cè)試表明,使用改進(jìn)后的算法,可以使批量提交數(shù)據(jù)的查詢效率和存儲(chǔ)效率得到明顯提高。本文研究是在批量提交數(shù)據(jù)的條件下進(jìn)行的,需要考慮各測(cè)點(diǎn)在提交數(shù)據(jù)時(shí)的不同步性。然而,批量提交數(shù)據(jù)的存儲(chǔ)方式使得測(cè)點(diǎn)維度的查詢效率明顯高于時(shí)間維度的查詢?;诖?,如何提高時(shí)間維度的查詢效率,是筆者下一步研究的重點(diǎn)。此外,本文未來(lái)還將考慮重啟后批量提交數(shù)據(jù)的快速查詢問(wèn)題。

        [1]郝晉峰,康建設(shè).改進(jìn)的二進(jìn)制粒子群算法的傳感器優(yōu)化配置[J].火力與指揮控制,2013,38(8):65-68.

        [2]沃焱,韓國(guó)強(qiáng).一種海量傳感器數(shù)據(jù)存儲(chǔ)與查詢方法[J].計(jì)算機(jī)學(xué)報(bào),2012,28(1).:89-93.

        [3]苗雯娟,張曉利.基于SQLServer二進(jìn)制文件存儲(chǔ)技術(shù)的研究[J].高等教育,2011,109(11):111-113.

        [4]蔣濤,高云君 ,張彬.一種基于Hadoop的紡織海量生產(chǎn)數(shù)據(jù)存儲(chǔ)設(shè)計(jì)[J].微型電腦應(yīng)用,2013,30(6):53-57.

        [5]張潔.云計(jì)算環(huán)境下的數(shù)據(jù)存儲(chǔ)保護(hù)機(jī)制研究與仿真[J].計(jì)算機(jī)仿真,2013,30(8):254-257.

        [6]杜方,陳躍國(guó),杜小勇.RDF數(shù)據(jù)查詢處理技術(shù)綜述[J].軟件學(xué)報(bào),2013,24(6):1222-1242.

        [7]蔣濤,高云君,張彬.不確定數(shù)據(jù)查詢處理[J].電子學(xué)報(bào),2013,5(5):966-975.

        [8]高志君,鄭純軍.基于空間索引的WSN數(shù)據(jù)查詢機(jī)制[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(3).

        [9]倪睿熙.一種基于JSON的異構(gòu)數(shù)據(jù)查詢方法[J].無(wú)線電通信技術(shù),2013,39(1):73-76.

        [10]孫莉,李靜,劉國(guó)華.列存儲(chǔ)數(shù)據(jù)查詢中的連接策略優(yōu)化方法[J].計(jì)算機(jī)研究與發(fā)展,2013,50(8):1647-1656.

        [11]孫莉,李靜,劉國(guó)華.信息檢索中快速索引文件的設(shè)計(jì)研究[J].計(jì)算機(jī)工程與科學(xué),2011,104(2):427-429.

        猜你喜歡
        屬性數(shù)據(jù)批量分組
        批量提交在配置分發(fā)中的應(yīng)用
        基于GIS的房產(chǎn)測(cè)繪管理信息系統(tǒng)架構(gòu)研究
        科技資訊(2019年18期)2019-09-17 11:03:28
        無(wú)源多傳感器綜合數(shù)據(jù)關(guān)聯(lián)算法研究
        屬性數(shù)據(jù)分析教學(xué)改革初探
        分組搭配
        怎么分組
        分組
        淺議高校網(wǎng)銀批量代發(fā)
        基于AUTOIT3和VBA的POWERPOINT操作題自動(dòng)批量批改
        考慮價(jià)差和再制造率的制造/再制造混合系統(tǒng)生產(chǎn)批量研究
        91精品国产自拍视频| 国产欧美日韩网站| 国产毛片A啊久久久久| 免费观看日本一区二区三区| 欧美性受xxxx黑人猛交| 国产做a爱片久久毛片a片| 国产欧美日韩综合一区二区三区| 国产一区二区毛片视频| 国产在线一区二区三区乱码| 亚洲国产天堂一区二区三区| 伊人久久综在合线亚洲不卡| 中文字幕亚洲精品一二三区| 国产自拍视频免费在线| 国产国拍精品av在线观看按摩| 夜夜被公侵犯的美人妻| 女同欲望一区二区三区| 亚洲av午夜精品无码专区| 亚洲午夜福利在线观看| 911国产在线观看精品| 亚洲精品中文字幕乱码| 国产成人精品一区二区三区| 亚洲欧美精品伊人久久| 国产一区二区三区杨幂| 久久96日本精品久久久| 鸭子tv国产在线永久播放| 久久AV中文一区二区三区| 91久久精品一区二区喷水喷白浆 | 无码伊人久久大香线蕉| 亚洲天堂av一区二区| 国产成+人欧美+综合在线观看| 亚洲手机国产精品| 日本伦理视频一区二区| 国产av一区二区三区无码野战| 精品国产三级在线观看| 国产小车还是日产的好| 日韩极品视频免费观看| 欧美怡红院免费全部视频| 国产午夜视频免费观看| 精品国产乱子伦一区二区三| 啦啦啦www在线观看免费视频| 91视频免费国产成人|