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