鮮婭靜
(西安醫(yī)學(xué)院,陜西 西安 710021)
隨著計(jì)算機(jī)科學(xué)與通信技術(shù)不斷發(fā)展,電子檔案技術(shù)已廣泛應(yīng)用于各行各業(yè)[1-2].檔案管理中收集的數(shù)據(jù)量往往超過了使用傳統(tǒng)串行處理技術(shù)分析和有效提取重要信息的能力.在過去的十年中,語音識別[3]、地震建模[4]和圖像處理[5]等各種大數(shù)據(jù)應(yīng)用表明,使用并行和分布式計(jì)算的高速數(shù)據(jù)處理是解決這一問題的有效方法.
聲音檔案數(shù)據(jù)[6]管理與分析是近年來一個(gè)研究熱點(diǎn),主要是實(shí)現(xiàn)對大量聲音集合的管理與高級數(shù)據(jù)分析.國內(nèi)外眾多學(xué)者對此進(jìn)行了研究,并取得了豐碩成果.董一超[7]根據(jù)英國聲音檔案館建設(shè)方面積累的經(jīng)驗(yàn),為我國聲音檔案建設(shè)工作提供了一些合理性建議.Müller[8]論述了聲音檔案館運(yùn)營環(huán)境的日益數(shù)字化、網(wǎng)絡(luò)化和用戶化,以及其支持無數(shù)用戶利用館藏聲音檔案數(shù)據(jù)進(jìn)行學(xué)習(xí)、體驗(yàn)和創(chuàng)作的應(yīng)用需求.胡立耘對聲音檔案的數(shù)字化信息組織進(jìn)行了研究,提出加強(qiáng)不同元數(shù)據(jù)的映射和互操作,實(shí)現(xiàn)聲音記錄的數(shù)字化轉(zhuǎn)換與保存.上述大部分文章對各自領(lǐng)域聲音電子檔案數(shù)據(jù)管理建設(shè)方面進(jìn)行了研究,對聲音檔案數(shù)據(jù)使用與分析研究有待提升.此外,目前比較典型的聲音檔案數(shù)據(jù)分析方法為串行處理方式[9],這在很大程度上影響系統(tǒng)執(zhí)行效果.為此,本文提出了一種并行模式下挖掘大量聲音檔案數(shù)據(jù)的模型.通過將串行模型與解析映射和聚合算子相結(jié)合,實(shí)現(xiàn)了并行分布式分析方法.
圖1所示為用于挖掘感興趣信號的聲音檔案的系統(tǒng)框架圖.系統(tǒng)中連續(xù)采樣聲源為s(n),其中n是最大長度N的離散時(shí)間索引.系統(tǒng)中處理硬件資源用符號Pw標(biāo)記,其中P表示資源池,w表示工作索引序列.串行案例使用單個(gè)工作進(jìn)程,此時(shí)Pw=1.數(shù)據(jù)挖掘算法用fi表示.
圖1 聲音檔案數(shù)據(jù)挖掘中串行模式
在系統(tǒng)中,可以使用幾種不同的算法來提取模式、形狀和其他度量,且每個(gè)算法都可以使用索引{j=1,2,…,J},其中J為fi的最后一個(gè)算法.對于每個(gè)數(shù)據(jù)挖掘算法,輸出結(jié)果都是以v(i)表示的事件.本文中v(i)可以看作是與輸入序列的n個(gè)采樣點(diǎn)重合的連續(xù)事件序列,即有‖i‖=‖n‖.令系統(tǒng)中所有算法的輸出集合描述為v(i,j),則串行模型為
v(i,j)=s(n)·fi·Pw=1,
(1)
其中,s(n)為輸入信號;fi為數(shù)據(jù)挖掘算法;Pw=1為單個(gè)工作進(jìn)程的處理池.
(2)
(3)
(4)
進(jìn)一步,聲音檔案數(shù)據(jù)通過收集所有數(shù)據(jù)塊重新組合,處理時(shí)使用的并集運(yùn)算符描述為
(5)
逆映射通過應(yīng)用于輸出v(i,j)的聚合規(guī)則進(jìn)行,具體定義為
(6)
并行分布式聲音檔案數(shù)據(jù)挖掘模型如圖2所示.與串行模型相比,添加了映射和階段,以提供數(shù)據(jù)塊(式(2))的創(chuàng)建和輸出(式(6))的重構(gòu).分布式模型顯示一個(gè)進(jìn)程池,且有Pw>1和最大進(jìn)程池Pw=W.
圖2 檔案聲音數(shù)據(jù)的并行分布式提取模型
綜合式(1)(3)和(4),則并行分布分析模型描述為
vw(i,j)=sw(n)·fj·Pw,
(7)
輸出可進(jìn)一步更新為
(8)
采用程序運(yùn)行時(shí)間和效率因子進(jìn)行性能度量.對于串行進(jìn)程,程序運(yùn)行時(shí)間是數(shù)據(jù)挖掘作業(yè)的停止時(shí)間和開始時(shí)間之差.對于并行分布式處理,許多進(jìn)程一起執(zhí)行.每個(gè)進(jìn)程將以不同的速率完成各自任務(wù),然而磁盤管理系統(tǒng)只能為每個(gè)vw(i,j)結(jié)果處理有限數(shù)量的寫操作請求.由于進(jìn)程將在不同的時(shí)間完成,運(yùn)行時(shí)間性能T由最后一個(gè)進(jìn)程完成|vw|max的時(shí)間減去作業(yè)開始時(shí)間之差,即
T=|vw|max-tstart,
(9)
效率因子γ定義為運(yùn)行時(shí)值的比率,即
(10)
其中,Tref是串行處理運(yùn)行時(shí)間的參考值;T是工作進(jìn)程池為w=W的分布式運(yùn)行時(shí)間.
測試聲音檔案數(shù)據(jù)集以194 kHz和16位分辨率采樣.聲音檔案中wav音頻文件的存檔大約630 GB的數(shù)據(jù).本文采用兩種數(shù)據(jù)挖掘算法,且每個(gè)算法都是一個(gè)檢測器分類器.第一種是專門針對脈沖序列檢測器分類器(算法f1)[10];第二種是常規(guī)數(shù)據(jù)源檢測分類器(算法f2)[11].
可擴(kuò)展性通過一系列本地網(wǎng)絡(luò)連接的分布式服務(wù)器衡量.系統(tǒng)運(yùn)行時(shí)同時(shí)有四個(gè)任務(wù)運(yùn)行,每個(gè)任務(wù)使用不同的處理器的組合.運(yùn)行包括四個(gè)可伸縮的工作配置:串行Pw=1、8工作進(jìn)程池Pw=8、16工作進(jìn)程池Pw=16和64工作進(jìn)程池Pw=64.
采用式(9)度量每個(gè)算法的運(yùn)行時(shí)間(見表2),并以性能Pw=1作為基線,使用式(10)度量每個(gè)工作進(jìn)程池配置的效率.
并行性的測量分為兩個(gè)步驟:
步驟1:使用串行模型(式(1))分別運(yùn)行表1中的兩個(gè)算法.其次,記錄兩個(gè)算法運(yùn)行時(shí)間度量:算法f1的運(yùn)行時(shí)間T1和算法f2的運(yùn)行時(shí)間T2.再次,記錄f1和f2的線性組合,記為T1+T2.
表1 數(shù)據(jù)挖掘算法部分參數(shù)
步驟2:使用聲音檔案數(shù)據(jù)挖掘模型同時(shí)運(yùn)行兩個(gè)數(shù)據(jù)挖掘算法(式(8)).對于1、8、16和64個(gè)工作池配置,測量其并行時(shí)間(記為T1,2).
表2為串行情況下算法的運(yùn)行時(shí)間,T1和T2分別是算法f1和f2的運(yùn)行時(shí)間,串行運(yùn)行時(shí)間的線性組合由T1+T2給出.
表2 串行模型性能
表3所示為本文算法擴(kuò)展到更多進(jìn)程池時(shí)的性能結(jié)果,其中不同算法運(yùn)行時(shí)間由基于1、8、16和64個(gè)進(jìn)程池確定.通過測量串行結(jié)果Tw=1與給定進(jìn)程池和算法對Tw=W的運(yùn)行時(shí)間的函數(shù)關(guān)系,計(jì)算每個(gè)算法的效率.可以看出,當(dāng)進(jìn)程池為1時(shí),算法運(yùn)行可理解為運(yùn)行在串行模型.隨著進(jìn)程池?cái)?shù)量增加,系統(tǒng)運(yùn)行效率逐漸提高.當(dāng)進(jìn)程池為64時(shí),效率可達(dá)到23.5倍.仿真結(jié)果符合實(shí)際情況,進(jìn)一步驗(yàn)證了所提方法的有效性及實(shí)用性.
表3 多進(jìn)程池模型運(yùn)行性能結(jié)果
對聲音檔案數(shù)據(jù)挖掘方法進(jìn)行了研究與分析,并提出一種并行分布式聲音檔案數(shù)據(jù)挖掘模型.仿真結(jié)果表明,隨著進(jìn)程池的增多,系統(tǒng)運(yùn)行效率明顯提升.然而這將會(huì)導(dǎo)致系統(tǒng)能耗增多,實(shí)際使用時(shí)需要考慮資源受限及能耗損耗等情況.未來可將能耗、資源等限制條件引入模型,進(jìn)一步增強(qiáng)系統(tǒng)實(shí)用性.