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

        ?

        大容量存儲(chǔ)測(cè)試數(shù)據(jù)顯示預(yù)處理方法研究

        2019-03-19 06:43:46鄧澤平崔建峰梁志劍劉慧豐
        關(guān)鍵詞:大容量拷貝測(cè)試數(shù)據(jù)

        鄧澤平,崔建峰,梁志劍,劉慧豐

        (1.中北大學(xué) 電子測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051;2.北京特種車輛試驗(yàn)場(chǎng),北京 100072)

        0 引 言

        隨著現(xiàn)代工業(yè)和信息技術(shù)的快速發(fā)展,各測(cè)試領(lǐng)域的測(cè)試精度和采樣頻率都得到提高[1],被測(cè)設(shè)備的智能化程度越來越高、 系統(tǒng)結(jié)構(gòu)也更加復(fù)雜.與此同時(shí),在測(cè)試中產(chǎn)生的數(shù)據(jù)量也隨之驟增,在某型號(hào)裝甲車輛的振動(dòng)測(cè)試中,采樣頻率為3 000 Hz,每個(gè)數(shù)據(jù)點(diǎn)占用2個(gè)字節(jié),經(jīng)過一個(gè)小時(shí)采集數(shù)據(jù)量就達(dá)到20 MB以上(僅是車輛測(cè)試中一個(gè)通道的數(shù)據(jù)量).由此可見,大容量測(cè)試數(shù)據(jù)的處理成為不容忽視的問題.

        目前,對(duì)大容量測(cè)試數(shù)據(jù)處理的相關(guān)研究已取得較大進(jìn)展.文獻(xiàn)[2]在Windows XP平臺(tái)上使用Labview 8.5圖形化編程軟件、 采用多線程技術(shù)實(shí)現(xiàn)大容量數(shù)據(jù)的實(shí)時(shí)采集、 顯示和分析; 文獻(xiàn)[3]采用分塊處理方式實(shí)現(xiàn)對(duì)大容量數(shù)據(jù)文件的處理,并在一定程度上提高了程序的執(zhí)行效率; 文獻(xiàn)[4]在CVI平臺(tái)下使用Windows SDK技術(shù)實(shí)現(xiàn)了對(duì)大容量數(shù)據(jù)的分析和處理,并使用多線程技術(shù)實(shí)現(xiàn)軟件可靠、 流暢運(yùn)行.上述研究均實(shí)現(xiàn)了對(duì)大容量數(shù)據(jù)文件的處理,在一定場(chǎng)合下可以滿足用戶的需求.但它們都是通過分塊處理方式來處理、 分析大容量數(shù)據(jù)中的部分?jǐn)?shù)據(jù),無法反映文件中大部分或所有數(shù)據(jù)的變化趨勢(shì),另外在處理大容量數(shù)據(jù)時(shí)還存在效率不高的問題[1,3].

        本文以裝甲車輛車載測(cè)試系統(tǒng)的上位機(jī)開發(fā)為背景,針對(duì)傳統(tǒng)大容量數(shù)據(jù)預(yù)處理方法無法反映數(shù)據(jù)整體趨勢(shì)、 數(shù)據(jù)處理耗時(shí)較長(zhǎng)等問題,提出Max-Min抽樣、 內(nèi)存拷貝、 多線程并行處理等優(yōu)化方法,在反映數(shù)據(jù)整體趨勢(shì)的同時(shí)大幅提高程序的運(yùn)行效率.

        1 傳統(tǒng)處理方法存在的問題

        車載測(cè)試系統(tǒng)處理大容量測(cè)試數(shù)據(jù)的傳統(tǒng)方法是將數(shù)據(jù)分塊處理: 使用相關(guān)的文件操作函數(shù)對(duì)原始數(shù)據(jù)進(jìn)行定位操作,并結(jié)合數(shù)據(jù)長(zhǎng)度實(shí)現(xiàn)對(duì)局部數(shù)據(jù)的處理、 顯示.

        在測(cè)試數(shù)據(jù)的可視化過程中,使用傳統(tǒng)的抽樣方法(等距抽樣)抽取的數(shù)據(jù)存在誤差,并且該誤差會(huì)隨著數(shù)據(jù)量的增加被放大.以裝甲車輛振動(dòng)信號(hào)測(cè)試為例,對(duì)于2 G的測(cè)試數(shù)據(jù),若振動(dòng)信號(hào)的周期為200 Hz,為使等距抽樣獲取的數(shù)據(jù)能夠反映數(shù)據(jù)變化趨勢(shì),則在顯示測(cè)試數(shù)據(jù)的整體趨勢(shì)時(shí)需要開辟的內(nèi)存空間約為200 MB.經(jīng)實(shí)際測(cè)試,一般的PC設(shè)備在同時(shí)繪制這么多數(shù)據(jù)點(diǎn)時(shí)會(huì)造成程序卡頓甚至卡死.因此,等距抽樣方法無法實(shí)現(xiàn)對(duì)大容量數(shù)據(jù)整體趨勢(shì)的顯示.

        分析傳統(tǒng)大容量數(shù)據(jù)處理方法時(shí),對(duì)數(shù)據(jù)處理耗時(shí)進(jìn)行實(shí)測(cè)統(tǒng)計(jì)(大容量數(shù)據(jù)文件是分塊進(jìn)行處理的,每個(gè)數(shù)據(jù)文件分為173個(gè)數(shù)據(jù)塊進(jìn)行處理),結(jié)果如表 1 所示.

        從表 1 可以看出使用常規(guī)方法處理數(shù)據(jù)時(shí),數(shù)據(jù)抽樣耗時(shí)為解碼耗時(shí)的3~4倍,讀取數(shù)據(jù)的耗時(shí)隨文件容量的增加近似呈線性增長(zhǎng).隨著測(cè)試數(shù)據(jù)量的增加,傳統(tǒng)數(shù)據(jù)處理方法的弊端開始顯現(xiàn)出來: 數(shù)據(jù)量增大到一定程度時(shí),處理數(shù)據(jù)的時(shí)間可能會(huì)超出用戶的忍耐限度[3],導(dǎo)致軟件的用戶體驗(yàn)較差.因此,對(duì)大容量數(shù)據(jù)處理方法進(jìn)行優(yōu)化是非常必要的.

        2 改進(jìn)的大容量數(shù)據(jù)處理方法

        針對(duì)上述問題提出Max-Min抽樣、 內(nèi)存拷貝和多線程并行處理方法,其中使用Max-Min抽樣方法顯示大容量測(cè)試數(shù)據(jù)的整體變化趨勢(shì),內(nèi)存拷貝和多線程并行處理則用于提升數(shù)據(jù)處理效率.用改進(jìn)方法處理大容量數(shù)據(jù)流程如圖 1 所示.

        圖 1 改進(jìn)方法數(shù)據(jù)處理流程Fig.1 The optimized method of processing data

        2.1 Max-Min抽樣

        由于本文處理的數(shù)據(jù)量非常大,傳統(tǒng)的數(shù)據(jù)抽樣方法(等距抽樣)已無法準(zhǔn)確顯示數(shù)據(jù)的整體變化趨勢(shì).因此,使用Max-Min抽樣方法來獲取顯示數(shù)據(jù),即對(duì)數(shù)據(jù)分塊處理,選取每個(gè)數(shù)據(jù)塊中最大、 最小值反映該數(shù)據(jù)塊的變化趨勢(shì).采用該抽樣方法獲取的數(shù)據(jù)量與顯示區(qū)域的寬度相關(guān),在無需考慮顯示數(shù)據(jù)占用內(nèi)存大小的情況下反映大容量數(shù)據(jù)的變化趨勢(shì),能夠定位用戶關(guān)注的局部數(shù)據(jù),以便進(jìn)一步查看.

        2.2 數(shù)據(jù)解碼

        測(cè)試數(shù)據(jù)以二進(jìn)制的形式存儲(chǔ)在磁盤文件中,通過FileStream[5]的Seek和Read函數(shù)把數(shù)據(jù)讀入byte數(shù)組中,然后進(jìn)行數(shù)據(jù)解碼,即獲取測(cè)試數(shù)據(jù)對(duì)應(yīng)的基元數(shù)據(jù)類型.C#語言獲取內(nèi)存中byte數(shù)組對(duì)應(yīng)基元類型數(shù)據(jù)時(shí),常用的方法是調(diào)用靜態(tài)類BitConverter的ToDouble、 ToInt32等函數(shù).該數(shù)據(jù)轉(zhuǎn)換方法的缺點(diǎn)是僅支持對(duì)單個(gè)對(duì)象的操作,處理大量數(shù)據(jù)時(shí)函數(shù)調(diào)用過于頻繁,數(shù)據(jù)轉(zhuǎn)換效率較低.

        為提高數(shù)據(jù)解碼效率,使用內(nèi)存拷貝方式代替上述數(shù)據(jù)轉(zhuǎn)換方法,具體做法是通過調(diào)用Buffer.BlockCopy函數(shù),其函數(shù)原型如下所示.

        public static void BlockCopy(Arraysrc, intsrcOffset, Arraydst, intdstOffset, intcount),其中src表示源緩沖區(qū),srcOffset表示src的字節(jié)偏移量,dst表示目的緩沖區(qū),dstOffset表示dst的字節(jié)偏移量.Buffer.BlockCopy函數(shù)可以實(shí)現(xiàn)字節(jié)數(shù)組和基元類型數(shù)組之間的相互轉(zhuǎn)化,相當(dāng)于C語言中使用指針訪問基元類型數(shù)組,使數(shù)據(jù)轉(zhuǎn)化效率得到很大提高.

        使用內(nèi)存拷貝對(duì)每個(gè)數(shù)據(jù)塊處理時(shí)解碼和采樣消耗的時(shí)間如表 2 所示,對(duì)比改進(jìn)之前(表 1)可以看出處理每個(gè)數(shù)據(jù)塊時(shí),數(shù)據(jù)解碼的耗時(shí)明顯減少.

        表 2 使用內(nèi)存拷貝方法處理數(shù)據(jù)的實(shí)測(cè)耗時(shí)

        2.3 多線程并行處理

        從表 1 和表 2 中可以看出在數(shù)據(jù)處理過程中,數(shù)據(jù)抽樣的耗時(shí)占很大比重.通過使用內(nèi)存拷貝方法,雖然提升了數(shù)據(jù)解碼的效率,但是對(duì)于大容量測(cè)試數(shù)據(jù)的整體處理過程而言,效果仍不明顯,數(shù)據(jù)處理耗時(shí)依然較長(zhǎng).

        針對(duì)處理大容量測(cè)試數(shù)據(jù)耗時(shí)較長(zhǎng)的問題,在分塊處理基礎(chǔ)上提出并行處理方法[6].通常情況下,使用并行方法處理任務(wù)時(shí),各子任務(wù)之間不應(yīng)存在依賴或順序關(guān)系,因?yàn)楦骶€程處理結(jié)果的輸出順序是不確定的.然而本文將大量數(shù)據(jù)分配到多個(gè)子任務(wù)進(jìn)行處理,這些子任務(wù)的處理結(jié)果之間存在一定順序關(guān)系.

        為解決上述問題,使用System.Threading.Tasks程序集中的Parallel.Invoke方法,具體實(shí)現(xiàn)過程如下.

        1) 定義double類型的數(shù)據(jù)集合resultData,用于存放最終結(jié)果; 同時(shí)定義n個(gè)double類型的數(shù)據(jù)集合subResult_1、subResult_2、 …、subResult_n,存放n個(gè)線程各自的處理結(jié)果;

        2) 計(jì)算子任務(wù)分配時(shí)需要的相關(guān)信息,主要信息的計(jì)算如下所示.

        (1)

        (2)

        (3)

        ltn=cn-(n-1)×ptn,

        (4)

        式中:cn為分割的數(shù)據(jù)塊數(shù),w為顯示區(qū)域?qū)挾?,pcl為每個(gè)數(shù)據(jù)塊的數(shù)據(jù)點(diǎn)數(shù),e和b分別為處理數(shù)據(jù)的起始、 終止位置,ptn為除最后一個(gè)子任務(wù)外每個(gè)子任務(wù)處理的數(shù)據(jù)塊數(shù),ltn為最后一個(gè)子任務(wù)處理的數(shù)據(jù)塊數(shù),n為分配的子任務(wù)數(shù);

        3) 調(diào)用Parallel.Invoke函數(shù),創(chuàng)建多個(gè)子任務(wù),并將各子任務(wù)的處理結(jié)果存放至subResult_1,subResult_2等;

        4) 對(duì)步驟3)中n個(gè)數(shù)據(jù)集進(jìn)行整合,將最終結(jié)果存放至resultData.

        本文實(shí)現(xiàn)的多線程并行技術(shù)是在雙核、 四線程的PC設(shè)備上完成的,該設(shè)備在同一時(shí)刻最多可以同時(shí)執(zhí)行4個(gè)線程.為進(jìn)一步查看程序中開辟線程數(shù)和數(shù)據(jù)處理時(shí)間的關(guān)系,圖 2 對(duì)分配不同子任務(wù)的情況進(jìn)行對(duì)比,從中可以看出: 隨著開辟線程數(shù)的增多,處理數(shù)據(jù)的時(shí)間先減少而后增加,分配4個(gè)任務(wù)處理數(shù)據(jù)的用時(shí)最少.數(shù)據(jù)處理程序中開辟線程數(shù)少于4個(gè)時(shí),由于未能充分利用CPU以至數(shù)據(jù)處理效率不能達(dá)到最高; 開辟線程數(shù)多余4個(gè)時(shí),CPU可能需要在各線程之間切換而增加額外開銷,因此在開辟4個(gè)線程處理數(shù)據(jù)時(shí)耗時(shí)最少.

        圖 2 多線程處理數(shù)據(jù)用時(shí)對(duì)比Fig.2 The caparison of elapsed time through multithreading parallel processing technology

        3 性能分析

        在大容量測(cè)試數(shù)據(jù)可視化過程中,使用Max-Min抽樣方法可以反映大量測(cè)試數(shù)據(jù)的整體變化趨勢(shì).從表 1 和表 2 的用時(shí)對(duì)比中可以看出: 使用內(nèi)存拷貝方式來處理每個(gè)數(shù)據(jù)塊時(shí),原始數(shù)據(jù)的解碼時(shí)間明顯減少; 同時(shí)從圖 1 中可以看出: 使用多線程并行處理技術(shù)可以極大地縮短數(shù)據(jù)處理的整體時(shí)間.

        優(yōu)化前后數(shù)據(jù)處理用時(shí)如表 3 所示,可以看出在使用內(nèi)存拷貝和多線程并行處理的方法后,數(shù)據(jù)的處理效率有大幅提升,達(dá)到60%以上.以處理2 GB的數(shù)據(jù)文件為例,用戶對(duì)圖形顯示軟件操作之后(數(shù)據(jù)處理方法優(yōu)化前),等待3~4 s的響應(yīng)時(shí)間是不能忍受的,使用內(nèi)存拷貝方法和多線程并行處理技術(shù)之后將用時(shí)降至1 s左右,數(shù)據(jù)的處理效率明顯提升.本文提出的大容量測(cè)試數(shù)據(jù)處理方法已應(yīng)用于某裝甲車輛測(cè)試系統(tǒng)的上位機(jī)軟件中,某通道測(cè)試數(shù)據(jù)經(jīng)放大后顯示效果如圖 3 所示.

        表 3 優(yōu)化前后處理數(shù)據(jù)的實(shí)測(cè)用時(shí)對(duì)比

        圖 3 車載測(cè)試系統(tǒng)歷史數(shù)據(jù)顯示Fig.3 The display of vehicle test system channel data

        4 結(jié) 論

        對(duì)于車載測(cè)試系統(tǒng)的上位機(jī)軟件而言,數(shù)據(jù)的處理效率是必須要考慮的,尤其在處理大容量測(cè)試數(shù)據(jù)時(shí).本文主要對(duì)傳統(tǒng)數(shù)據(jù)處理方法的進(jìn)行三方面的改進(jìn): ① 采用Max-Min抽樣方法; ② 使用內(nèi)存拷貝方式來解碼原始數(shù)據(jù); ③ 使用多線程并行處理技術(shù)來處理大容量數(shù)據(jù)文件.在顯示大容量數(shù)據(jù)整體變化趨勢(shì)的同時(shí)大幅提高數(shù)據(jù)的處理效率,對(duì)于處理大容量測(cè)試數(shù)據(jù)的問題具有參考價(jià)值.

        然而,本文所提出的處理方法仍存在一定局限: 當(dāng)待處理的數(shù)據(jù)量達(dá)到4 GB或更多時(shí),用戶在使用軟件時(shí)則會(huì)感覺到較長(zhǎng)延時(shí).處理該問題時(shí)需要使用更多的先進(jìn)技術(shù)[7],例如: 內(nèi)存映射技術(shù)[8-9]、 Storm和Mapreduce等大數(shù)據(jù)處理技術(shù)[10],以此進(jìn)一步提高大容量數(shù)據(jù)的處理效率,這些是后續(xù)工作中需要研究的內(nèi)容.

        猜你喜歡
        大容量拷貝測(cè)試數(shù)據(jù)
        測(cè)試數(shù)據(jù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
        中國(guó)生殖健康(2018年1期)2018-11-06 07:14:38
        12-20升大容量PET瓶裝式吹瓶機(jī)
        基于自適應(yīng)粒子群優(yōu)化算法的測(cè)試數(shù)據(jù)擴(kuò)增方法
        能變出雨衣的18升大容量背包
        空間co-location挖掘模式在學(xué)生體能測(cè)試數(shù)據(jù)中的應(yīng)用
        體育科技(2016年2期)2016-02-28 17:06:21
        基于大容量指紋識(shí)別的實(shí)時(shí)身份認(rèn)證系統(tǒng)
        大容量Flash在井下記錄儀中的應(yīng)用
        影響《標(biāo)準(zhǔn)》測(cè)試數(shù)據(jù)真實(shí)性的因素及破解策略
        體育師友(2011年5期)2011-03-20 15:29:51
        文件拷貝誰最“給力”
        九九精品国产99精品| 久久久久久久久蜜桃| 精品国产18久久久久久| 男女好痛好深好爽视频一区| 亚洲大片一区二区三区四区 | AV无码人妻一区二区三区牛牛| 操出白浆在线观看| 91亚洲精品久久久蜜桃| 麻豆国产精品一区二区三区| 中文字幕乱码无码人妻系列蜜桃 | 亚洲AV无码国产成人久久强迫| 久久国产精品av在线观看| 久久国内精品自在自线| 成人免费无码大片a毛片软件| 久草国产视频| 日本免费a一区二区三区| 青青草原综合久久大伊人精品| 开心五月激情综合婷婷| 亚洲国产精品线观看不卡| 99热婷婷一区二区三区| 国产极品视觉盛宴| 久久精品国产亚洲av忘忧草18| 波多吉野一区二区三区av| 亚洲视频专区一区二区三区| 老师露出两个奶球让我吃奶头| 国产成人精品电影在线观看18| 性感人妻中文字幕在线| 无遮挡很爽很污很黄的女同| 午夜精品久久久久久| 丰满人妻无套中出中文字幕| 国产精品一区二区夜色不卡| 成人无码网www在线观看| 日韩国产欧美视频| 女同视频网站一区二区| 伊人久久大香线蕉av不变影院| 国内精品久久久久久中文字幕 | 免费看泡妞视频app| 成人综合亚洲欧美一区h| 中文字幕亚洲精品在线| 丰满人妻熟妇乱又伦精品软件| 国产在线观看黄|