一種數據文件格式定義方法
【技術領域】
[0001] 本發明屬于計算機技術領域中的一種數據文件格式定義方法。
【背景技術】
[0002] 文本文件的內容可W通過操作系統缺省提供的多種文本編輯器進行查看、修改, 而且linux、UNIX系統還提供cat、more、head、tail、wc、grep、diff、sort、uniq、sed、awk等 實用程序,可W對文本進行選擇性的顯示、過濾、修改等操作,因此采用文本文件存儲數據 便于處理程序的開發、調試,還便于系統的維護。另外文本文件存儲的是純數據,不存放標 簽及描述信息使得數據存儲空間較為節省,傳輸、處理的效率較高。因此文本文件在linux、 UNIX環境下使用非常廣泛,經常用于跨系統數據遷移使用,常常作為一個系統導出數據的 存儲形式,也是數據傳輸的載體和一個系統的數據源。
[0003] 文本文件廣泛、頻繁使用的同時,也存在數據存放自由度大、數據非自描述,存放 數據內容、格式定義不明確的問題,即沒有元數據定義。文本文件缺少元數據定義導致編程 常常采用硬編碼方式實現,該使得文本文件的數據源難W按需修改,程序開發人員變動后 文本文件、程序都難W理解、維護,進一步開發新功能難上加難。
[0004] 文本文件常用于系統數據的導入導出,而系統多用關系型數據庫進行數據的長期 存儲W及支撐業務辦理,因此也要求文本文件與系統中對應導入導出的表具有一致的結 構。文本文件缺乏元數據定義使得文本文件結構與表結構的一致性保證困難,不利于數據 導入、導出工程開展W及系統運行時的正常維護。
[0005] 上述文本文件由于缺少元數據描述導致的問題給應用開發、系統維護、系統間數 據遷移帶來很多不確定性和困難。
[0006] 文本文件,文本文件壓縮存儲,文本文件加密存儲W及其他的變幻存儲都存在格 式定義的問題,該幾類文件在本專利中統稱為數據文件,該些數據文件的格式定義都在本 專利應用范圍之內。
【發明內容】
[0007] 本發明針對數據文件使用中的上述問題,提供了一種數據文件格式定義方法。通 過提供一個包含數據文件定義信息的配置文件,唯一地確定了數據文件中存放數據的格 式,包括數據文件中每一列的列名、數據類型、長度、是否可空、有效值范圍,同時也確定了 數據文件列的數量及排列次序。數據文件和其配置文件該兩個文件即承載了數據本身又包 含了數據的描述,解決了只有一個數據文件時其中存儲數據的格式、業務含義不確定的問 題。
[000引配置文件內容借鑒關系型數據庫建表語句來實現數據文件格式的定義,配置文件 本身也是一個文本文件。
【具體實施方式】
[0009] 為使本發明的目的、技術方案和優點更加清楚,w下將結合實例來詳細說明本發 明一種數據文件格式定義方法的實施方式。借此對本發明一種數據文件格式定義方法如何 應用技術手段解決技術問題,并達成技術效果的實現過程能充分理解并據W實施。
[0010] 實施例
[0011] 本實施例提供一種數據文件格式定義方法,為主文件名為yuser,共有32個列的 數據文件實現數據文件格式定義,包括:
[0012] 步驟1 ;充分理解需要定義的數據文件。
[0013] 該步驟對于需要定義的數據文件進行充分理解,理解包括諸如數據文件的用途是 什么?數據文件共有多少列?每列的用途是什么?存放數據是何種類型?長度是多少? 可否為空?能否確定取值范圍?
[0014] 如果在關系型數據庫中存在對應的表,那么表結構定義可W幫助理解數據文件。
[0015] 步驟2 ;編寫數據文件的配置文件。
[0016] 該步驟為需明確格式定義的目標數據文件創建配置文件,并正確設置配置文件的 內容。配置文件名能夠映射到數據文件名即可,取名可W根據慣例、實現的便利性來決定。 按linux、UNIX習慣,不妨配置文件主名取數據文件名主名,擴展名取.conf。
[0017] 在linux操作系統下viyuser.conf輸入內容如表1所示。
[001 引
[0020] 表1配置文件內容示意
[0021] 列數據類型和關系型數據庫中的定義一致,可W使用char、varchar、longvar、 short、tinyint、smallint、int、integer、bigint、long、num、numeric、real、dec、decimal、 float、double、date、time、datetime、timestamp。
[0022]本步驟配置文件中的內容也可W利用數據庫建模工具如ERWin,PowerDesigner, 通過建模工具的圖形界面及交互化操作生成,也可W利用該些工具連接關系型數據庫讀取 表結構來生成。建模工具不是必須使用的,該里提及的目的是提醒可W復用已有表結構的 定義,降低生成配置文件內容的工作量,提高工作效率。
[002引步驟3 ;解析配置文件,取得數據文件的定義。
[0024] 配置文件存儲內容其實就是標準的建表語句,通過本例也不難發現其中的規律, 可W編程完成上述內容的配置文件解析,取得數據文件的定義。
[0025] 讀文件和字符串處理是任何編程語言都提供的基本功能,也是程序員的基本編程 能力,為便于實施,該里只抽取C語句解析的大致過程,可供實現時參考。
[0026] ?打開配置文件
[0027] ?第一遍掃描配置文件,數數據文件個數并分配數據文件元數據存儲空間
[002引 ?第二編掃描配置文件,數數據對象中列的個數,并分配列元數據存儲空間
[0029] ?第=遍掃描配置文件,解析并記錄所有列的元數據,包括列名、數據類型、長度、 是否可W為空、有效值范圍。
[0030] 步驟4 ;根據數據文件的定義處理數據文件。
[0031] 根據步驟3解析出的數據文件格式來理解、處理數據文件。
【主權項】
1. 一種數據文件格式定義方法,其特征在于,包括: 用內容包含建表語句的配置文件定義數據文件的格式。2. 如權利要求1所述方法,其中建表語句是指關系型數據庫的一個標準DDL語句, 以"CREATE TABLE"字符引導的一段文本,文本中所有字符大小寫不敏感;緊隨"CREATE TABLE"關鍵字后的一個獨立單詞為數據文件主名,建表語句定義的第一個字段則是定義數 據文件的第一個列,依次類推完成數據文件中所有列的定義;如權利要求1所述方法,其中 數據文件是指文本文件,文本文件的壓縮存儲文件、文本文件的加密存儲文件以及文件文 件經由其他變換處理生成的存儲文件,數據文件由其存儲文本數據性質決定,和其主文件 名、擴展文件名無關。3. 如權利要求2所述的方法,其中數據文件主名是指文件名中字符"之前的部分文 件名;數據文件列定義包括列名稱、數據類型、長度、是否可空、有效值范圍等信息。4. 如權利要求1所述方法,其中配置文件需包含至少一條建表語句,也可以有多條建 表語句用于同時定義多個數據文件的格式;配置文件中除了包含建表語句外,還可以有注 釋語句以及其他必要內容。
【專利摘要】本發明屬于計算機技術領域中的一種數據文件格式定義方法。利用提供一個包括關系型數據庫建表語句的配置文件來定義數據文件的格式,包括數據文件的列數目,每個列的列名、數據類型、長度、是否為空、有效值范圍,以及列的排列次序。解決文本文件內容不確定性、硬編碼等問題。
【IPC分類】G06F17/30
【公開號】CN104881464
【申請號】CN201510271136
【發明人】馮昱川
【申請人】北京挺軟科技有限公司
【公開日】2015年9月2日
【申請日】2015年5月26日