欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

通道數(shù)據(jù)的寫入方法及該通道數(shù)據(jù)的文件頭的讀取方法

文檔序號:6354635閱讀:446來源:國知局
專利名稱:通道數(shù)據(jù)的寫入方法及該通道數(shù)據(jù)的文件頭的讀取方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種通道數(shù)據(jù)處理技術(shù),尤其涉及一種通道數(shù)據(jù)的寫入方法及該通道 數(shù)據(jù)的文件頭的讀取方法。
背景技術(shù)
工業(yè)和試驗領(lǐng)域使用硬件設(shè)備采集現(xiàn)場物理信號(比如壓力、電壓、電流等),然 后將采集來的數(shù)據(jù)保存在存儲媒介上(通常是計算機的磁盤中)。對于現(xiàn)場的數(shù)據(jù)采集信 號來源,我們稱之為通道。目前,市面上存在著相當(dāng)多的采集設(shè)備和產(chǎn)品,這些設(shè)備采集到的通道數(shù)據(jù),保存 格式多種多樣,這些數(shù)據(jù)格式的特點是格式固定、不通用,可擴展性不強,在一般的通道數(shù) 據(jù)中,通常文件頭位于整個文件的最前面,然后再接著保存通道的數(shù)據(jù)值。如果要修改文件 頭并增加屬性信息的話,文件頭存儲空間變大,將會導(dǎo)致文件頭后面的通道數(shù)據(jù)值區(qū)在存 儲媒介上整體后移,在數(shù)據(jù)量比較大的時候,這會是一個非常耗時的操作過程,效率較低。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種通道數(shù)據(jù)的寫入方法及該通道數(shù)據(jù)的文件頭的讀取 方法,以提高通道數(shù)據(jù)的可擴展性,提高修改文件頭并增加屬性信息時的操作效率。為達到上述目的,本發(fā)明提供了一方面提供了一種通道數(shù)據(jù)的寫入方法,包括以 下步驟首先將通道數(shù)據(jù)的數(shù)據(jù)部分寫入文件;其次將所述通道數(shù)據(jù)的文件頭部分的屬性區(qū)寫入所述文件,具體如下寫入4個字節(jié)的標(biāo)志,所述標(biāo)志至少記錄了屬性是否可見、是否只讀;寫入4個字節(jié)的類型信息,所述類型信息表示屬性的值類型;寫入屬性名稱的長度,為一個字符串;寫入屬性顯示名稱的長度,為一個字符串;寫入4個字節(jié)的屬性備注信息的長度,為一個字符串;寫入值的長度,所述值的長度可變;寫入所述值的內(nèi)容;最后將所述通道數(shù)據(jù)的文件頭部分的標(biāo)志區(qū)寫入所述文件。本發(fā)明的通道數(shù)據(jù)的寫入方法,所述標(biāo)志區(qū)包括所述屬性區(qū)的起始位置及其在所 述文件中的偏移位置、所述數(shù)據(jù)部分的數(shù)據(jù)類型、文件版本、所述文件的標(biāo)識頭。另一方面,本發(fā)明還提供了一種通道數(shù)據(jù)的文件頭的讀取方法,包括以下步驟(1)、讀取文件的文件頭的標(biāo)志區(qū);(2)、分析所述標(biāo)志區(qū),獲取所述文件頭的屬性區(qū)的偏移位置;(3)、根據(jù)所述屬性區(qū)的偏移位置讀取屬性區(qū)信息,具體如下(301)、讀取4個字節(jié)的標(biāo)志信息;
(302)、讀取4個字節(jié)的類型信息;(303)、讀取4個字節(jié)的名稱長度,根據(jù)此長度,讀取名稱字符串;(304)、讀取4個字節(jié)的顯示名稱長度,根據(jù)此長度,讀取顯示名稱字符串;(305)、讀取4個字節(jié)的備注信息長度,根據(jù)此長度,讀取備注信息;(306)、讀取值的長度,根據(jù)值的長度和屬性類型,讀取屬性值。本發(fā)明的述的通道數(shù)據(jù)的文件頭的讀取方法,當(dāng)所述屬性區(qū)包含多個屬性時,在 步驟C3)之后,還包括如下步驟(4)、在讀取完一個屬性后重復(fù)步驟C3)讀取下一個屬性,直至所述屬性區(qū)的所有 屬性讀取完成。本發(fā)明的通道數(shù)據(jù)的寫入方法將通道數(shù)據(jù)文件的文件頭部分存放于整個通道數(shù) 據(jù)文件的后面,這樣在修改文件頭部分時,可以先將文件頭部分所有信息讀入內(nèi)存,加入新 信息后,再將內(nèi)存中的文件頭信息寫回到文件中,并且因為由于通道數(shù)據(jù)文件的數(shù)據(jù)部分 在整個文件的前面,所以我們修改文件頭部分時不需要移動數(shù)據(jù)部分,并且,文件頭部分通 常比較小,保存寫磁盤時,耗時很少,效率較高,從而增加了文件的通用性和擴展性。并且從 本發(fā)明的通道數(shù)據(jù)的寫入方法,可以得知最后保存下來的通道數(shù)據(jù)的文件頭部分的屬性區(qū) 內(nèi)屬性為一種自描述的結(jié)構(gòu),當(dāng)在讀取文件頭的時候,可以先讀取長度,再讀取指定長度的 內(nèi)容。這樣,這幾項的長度就不用預(yù)先固定好,其可以根據(jù)實際情況保存變長的內(nèi)容,這就 使得每個屬性的大小不固定,即節(jié)約了空間,又具有靈活性。


圖1為本發(fā)明的通道數(shù)據(jù)的寫入方法流程圖;圖2為本發(fā)明的通道數(shù)據(jù)的文件格式結(jié)構(gòu)示意圖;圖3為本發(fā)明的通道數(shù)據(jù)的文件頭部分的屬性區(qū)的結(jié)構(gòu)示意圖;圖4為本發(fā)明的通道數(shù)據(jù)的文件頭部分的屬性區(qū)中單個屬性的結(jié)構(gòu)示意圖;圖5為本發(fā)明的通道數(shù)據(jù)的文件頭的讀取方法流程圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明的具體實施方式
進行詳細(xì)描述參考圖1所示,本發(fā)明的通道數(shù)據(jù)的寫入方法,包括以下步驟步驟1,首先將通道數(shù)據(jù)的數(shù)據(jù)部分寫入文件。步驟2,其次將通道數(shù)據(jù)的文件頭部分的屬性區(qū)寫入文件,其具體細(xì)分如下步驟(201),寫入4個字節(jié)的標(biāo)志,其中,標(biāo)志記錄了屬性是否可見、是否只讀等信息。(202),寫入4個字節(jié)的類型信息,該類型信息表示屬性的值類型。003),寫入屬性名稱的長度,寫入之前,先得到屬性名稱字符串的長度(按字節(jié) 算),然后寫入長度信息,這是4個字節(jié)的整數(shù)。(204),寫入屬性顯示名稱的長度,寫入之前,要先得到屬性顯示名稱字符串的長 度,然后寫入長度信息,這也是4個字節(jié)的整數(shù)。(205),寫入4個字節(jié)的屬性備注信息的長度,為一個字符串。(206),寫入值的長度,如果值是一個字符串,則長度是可變的。
007),寫入值的內(nèi)容。步驟3,最后將通道數(shù)據(jù)的文件頭部分的標(biāo)志區(qū)寫入文件。從而得到一個如圖2所示的文件格式的文件,包括三部分第一部分為文件主體 即數(shù)據(jù)部分,第二部分和第三部分為文件頭部分,其中第二部分為文件頭部分的屬性區(qū),而 第三部分為文件頭部分的標(biāo)志區(qū),標(biāo)志區(qū)包括屬性區(qū)的起始位置G字節(jié))及其在文件中的 偏移位置G字節(jié))、數(shù)據(jù)部分的數(shù)據(jù)類型G字節(jié))、文件版本G字節(jié))、文件的標(biāo)識頭G 字節(jié))。其中,如圖4所示,文件頭部分的屬性區(qū)可以有多個屬性(比如通道的采集時間、通 道名稱、通道單位、通道的統(tǒng)計信息以及其它各種通道屬性值),并且屬性區(qū)內(nèi)的每個屬性 互不影響,而其中的每個屬性的結(jié)構(gòu)則如圖3所示,單個屬性的內(nèi)部信息可以被修改,也可 以添加和刪除屬性,屬性修改后保存時,可以用前述的方法寫入到文件中。寫入文件時,由 于是在整個文件的數(shù)據(jù)部分后邊寫入,所以不會影響前面的數(shù)據(jù)部分。參考圖5所示,本發(fā)明的通道數(shù)據(jù)的文件頭的讀取方法,包括以下步驟步驟1,讀取文件的文件頭的標(biāo)志區(qū)。步驟2,分析標(biāo)志區(qū),獲取文件頭的屬性區(qū)的偏移位置。步驟3,根據(jù)屬性區(qū)的偏移位置讀取屬性區(qū)其中一個屬性,其具體細(xì)分如下步驟(301)、讀取4個字節(jié)的標(biāo)志信息。(302)、讀取4個字節(jié)的類型信息。(303)、讀取4個字節(jié)的名稱長度,根據(jù)此長度,讀取名稱字符串。(304)、讀取4個字節(jié)的顯示名稱長度,根據(jù)此長度,讀取顯示名稱字符串。(305)、讀取4個字節(jié)的備注信息長度,根據(jù)此長度,讀取備注信息。(306)、讀取值的長度,根據(jù)值的長度和屬性類型,讀取屬性值。步驟4,在讀取完一個屬性后重復(fù)步驟3讀取下屬性區(qū)中下一個屬性,直至屬性區(qū) 的所有屬性讀取完成。由于屬性區(qū)內(nèi)的單個屬性均是自描述的結(jié)構(gòu),可以看出諸如名稱、顯 示名稱、備注和值等幾項,在讀取的時候,可以先讀取長度,再讀取指定長度的內(nèi)容。其可以 根據(jù)實際情況保存變長的內(nèi)容,這就使得每個屬性的大小不固定,即節(jié)約了空間,又具有靈 活性。以上的實施例僅僅是對本發(fā)明的優(yōu)選實施方式進行描述,并非對本發(fā)明的范圍進 行限定,在不脫離本發(fā)明設(shè)計精神的前提下,本領(lǐng)域普通工程技術(shù)人員對本發(fā)明的技術(shù)方 案作出的各種變形和改進,均應(yīng)落入本發(fā)明的權(quán)利要求書確定的保護范圍內(nèi)。
權(quán)利要求
1.一種通道數(shù)據(jù)的寫入方法,其特征在于,包括以下步驟 首先將通道數(shù)據(jù)的數(shù)據(jù)部分寫入文件;其次將所述通道數(shù)據(jù)的文件頭部分的屬性區(qū)寫入所述文件,具體如下寫入4個字節(jié)的標(biāo)志,所述標(biāo)志至少記錄了屬性是否可見、是否只讀;寫入4個字節(jié)的類型信息,所述類型信息表示屬性的值類型;寫入屬性名稱的長度,為一個字符串;寫入屬性顯示名稱的長度,為一個字符串;寫入4個字節(jié)的屬性備注信息的長度,為一個字符串;寫入值的長度,所述值的長度可變;寫入所述值的內(nèi)容;最后將所述通道數(shù)據(jù)的文件頭部分的標(biāo)志區(qū)寫入所述文件。
2.根據(jù)權(quán)利要求1所述的通道數(shù)據(jù)的寫入方法,其特征在于,所述標(biāo)志區(qū)包括所述屬 性區(qū)的起始位置及其在所述文件中的偏移位置、所述數(shù)據(jù)部分的數(shù)據(jù)類型、文件版本、所述 文件的標(biāo)識頭。
3.—種通道數(shù)據(jù)的文件頭的讀取方法,其特征在于,包括以下步驟(1)、讀取文件的文件頭的標(biāo)志區(qū);(2)、分析所述標(biāo)志區(qū),獲取所述文件頭的屬性區(qū)的偏移位置;(3)、根據(jù)所述屬性區(qū)的偏移位置讀取屬性區(qū)信息,具體如下(301)、讀取4個字節(jié)的標(biāo)志信息;(302)、讀取4個字節(jié)的類型信息;(303)、讀取4個字節(jié)的名稱長度,根據(jù)此長度,讀取名稱字符串;(304)、讀取4個字節(jié)的顯示名稱長度,根據(jù)此長度,讀取顯示名稱字符串;(305)、讀取4個字節(jié)的備注信息長度,根據(jù)此長度,讀取備注信息;(306)、讀取值的長度,根據(jù)值的長度和屬性類型,讀取屬性值。
4.根據(jù)權(quán)利要求3所述的通道數(shù)據(jù)的文件頭的讀取方法,其特征在于,當(dāng)所述屬性區(qū) 包含多個屬性時,在步驟C3)之后,還包括如下步驟G)、在讀取完一個屬性后重復(fù)步驟C3)讀取下一個屬性,直至所述屬性區(qū)的所有屬性 讀取完成。
全文摘要
本發(fā)明公開了一種通道數(shù)據(jù)的寫入方法及該通道數(shù)據(jù)的文件頭的讀取方法,其中寫入方法包括首先將通道數(shù)據(jù)的數(shù)據(jù)部分寫入文件;其次將通道數(shù)據(jù)的文件頭部分的屬性區(qū)寫入文件;最后將通道數(shù)據(jù)的文件頭部分的標(biāo)志區(qū)寫入文件。由于文件頭部分后置于文件尾部,這樣在修改文件頭部分時,可以先將文件頭部分所有信息讀入內(nèi)存,加入新信息后,再將內(nèi)存中的文件頭信息寫回到文件中,并且因為由于通道數(shù)據(jù)文件的數(shù)據(jù)部分在整個文件的前面,所以我們修改文件頭部分時不需要移動數(shù)據(jù)部分,并且,文件頭部分通常比較小,保存寫磁盤時,耗時很少,效率較高,從而增加了文件的通用性和擴展性。
文檔編號G06F17/30GK102110152SQ20111004050
公開日2011年6月29日 申請日期2011年2月18日 優(yōu)先權(quán)日2011年2月18日
發(fā)明者南福春, 姚問新, 孟剛, 王隆義 申請人:北京瑞風(fēng)協(xié)同科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
乐安县| 凤冈县| 土默特右旗| 淳安县| 定兴县| 略阳县| 东台市| 固原市| 胶州市| 萝北县| 农安县| 烟台市| 原阳县| 会理县| 新竹市| 鹤山市| 盘锦市| 开平市| 香港| 汶川县| 泉州市| 开化县| 永宁县| 大余县| 盐边县| 宣武区| 股票| 札达县| 宁国市| 金溪县| 五寨县| 安泽县| 白水县| 泾川县| 汉中市| 读书| 平定县| 铁力市| 辽源市| 增城市| 乐至县|