檔案管理工作具有重大的意義,但是目前檔案管理工作在信息化進程中遇到了大量的問題。使用檔案序列化存儲可以有效解決這些問題,本文討論了檔案信息化所遭遇的問題,以及檔案序列化存儲技術的應用前景和使用困難。
一、檔案序列化存儲研究的背景
檔案管理系統是整個國家文獻信息系統的組成部分之一,在構成整個社會的科學能力中占有重要地位,成為社會信息系統的基石。檔案管理不僅對各具體單位的工作和生產有意義,對整個社會而言,也很有意義,不僅具有當前的、現實的意義,也具有長遠的、歷史的意義。目前有充分的證據顯示,隨著科技水平的進步,檔案管理工作必須要隨之利用科學的武器武裝自己,加快檔案信息化管理的步伐,才能更好地發揮檔案管理工作在社會中的作用。
在檔案信息化進程中,很多檔案工作者發現了這樣的困難,即信息化后的檔案存儲往往呈現碎片狀,難以建立起一個相對完整的數據結構。尤其是面對海量數據的檔案,例如某些大型國有企業的檔案庫中,大量的檔案在邏輯上緊密相鄰,但是在物理上卻分散在存儲設備的不同位置,這種數據結構對于檔案的管理和檢索是十分不利的。大量的反饋信息反映出這樣一個現實:每年有大量的資源被浪費在了對于分散數據的檢索上。筆者結合實際以及其他學科的經驗,提出了一種序列化存儲并管理檔案的方式,并對這種方式進行了檢驗。
二、序列化存儲基本原理
計算機科學中所討論的序列化(Serialization),其真實含義為將對象的狀態信息轉換為可以存儲或傳輸的形式的過程。舉例而言,對于一條復雜的數據,假定該數據牽扯到五個以上的表。如果我們使用傳統的數據庫存儲方式,數據將會呈現出四個或者更多的斷點。每次查找,都需要調用包含下列語句的程序:
USE數據庫名
SELECT表名.信息FROM表1表2
WHERE條件
按照這種方式,每一次的查找,都至少需要調用一次表查詢和一次表內檢索。假如一次查詢需要同時使用四個表,那么實際上需要調用的表查詢次數至少為三,表內檢索次數至少為四。這個結論的得出前提是每個表只需要使用一次。事實上,如果在數據庫建表時,數據庫已經優化到了BC范式,每個表很難做到只被調用一次。如果使用序列化的技術,所有的表項,也就是一個數據實體將會被表現成為一段序列化的代碼,通過對代碼的掃描,可以在一次檢索中完成對數據的增添、刪除、修改以及查詢。
目前在實際應用中的序列化大部分是在一些程序中的某些過程中使用的,在這些過程中,使用各種語言編輯的對象經過序列化得到了可以直接掃描讀取的序列信息。但是顯而易見,序列化技術可以不經改變地用來對數據進行存儲,并有著目前常用的檔案信息化管理方法難以比擬的優勢。
假設有一條人事檔案,某同志部分基本情況如下:
姓名:張民 性別:男民族:漢 政治面貌:中共黨員
在傳統的情況下,我們需要建立一個數據表,這個表至少應該有四項,每一項對應一類情況。如果在XML文件下,我們需要為張民創建一個單獨的標記。如圖1所示:
圖1:XML文件保存的檔案條目
可能有檔案工作者提出質疑,序列化的檔案條目目前沒有體現出優勢。但是試想一下,如果檔案條目的內容增加,形成了多表存儲,那么XML的簡單樹形存儲結構就顯示出了優勢。序列化的XML文件可以被多種平臺以及軟件API直接讀取,極大地拓展了存儲內容的可用性。
三、一種改進的檔案序列化存儲方案
上文主要介紹了XML文件對于要保存的內容的序列化存儲,但是XML文件有著自身固有的弱點。如果數據量非常大,把全部的檔案內容保存在XML文件中,使用起來確實方便許多,但是如果在缺乏相應工具的時候,內容檢索就比較困難。在本節中,筆者提出一種改進的檔案序列化存儲方案設想,有充足證據顯示,這種設想如果可以被付諸實踐并不斷完善,那么將會給檔案管理工作帶來一次革命。
這種方案的核心思想是使用特征值將一條檔案序列化成為一個簡單字符串,字符串的不同位置被預先賦予特定的含義,這樣通過一次線性掃描可以獲知檔案條目的全部內容。下面的例子可以簡要地說明這種方案的思想。
設想一條檔案的前12位是如下的一串數字:223729014610。如果不加以說明,很難有人可以理解到這12位數字的含義。事實上,這是姓名代碼解決方案下的筆者的姓名代碼。在我國目前的高考中通用的姓名代碼收錄了7000個以上的姓名常用漢字,每一個漢字由4位數字形成的代碼表示。這樣,不同的人名可以經過這一次的轉換,序列化成為一個12位的字符串。如果我們約定,每一條人事檔案的前12位代表姓名,那么每次檢索姓名時,只需要檢索每一條檔案的前12位即可。
同樣,我們可以規范檔案的內容,從而進一步規定,每一條序列化的檔案記錄的固定位置記錄固定內容,不同的信息也同樣設置類似于姓名代碼解決方案的對應標準,那么我們就可以做到由一個簡單字符串代表很豐富的信息。雖然目前并沒有應用于檔案管理,這種序列化方案在很多領域有著廣泛的應用,包括但不限于生物、醫學、機械、統計等。經過序列化之后,原本復雜的、可能牽扯幾十個表的復雜數據庫將會在一個文件中簡單明了地標示清楚。并且,序列化的內容在對檔案的進一步利用上會有更加優越的特質,在本文的最后一部分將會介紹。
本文所討論的這種檔案序列化存儲技術推廣的阻礙主要有三個:首先,檔案本身難以規范,導致不同地區、不同級別的檔案序列長度很難保持一致,對于檢索有不可忽視的阻礙作用。第二,檔案序列化標準難以出臺。我們很難做到在全國范圍內,以同一個方式,將檔案內容完全以姓名代碼解決方案的形式轉變為字符或者字符串,而這個轉變(事實上就是序列化)過程恰恰就是這種技術轉化為實用的門檻。這個轉化賦值必須像《漢語拼音方案》一樣全國通用,所以這個轉化復制過程也必須由權威機構主管,并且調試之后全國同行業統一使用。第三,檢索工具的缺失導致目前這種技術難以為普通檔案工作者使用。不過,筆者個人認為技術難度相對而言最為簡單,相關工具技術含量并非很高,在明確需求之后兩個星期內筆者本人即可開發出有實用價值的工具。
四、序列化后的檔案信息的深入挖掘
上文說到,序列化之后的檔案信息可以直接利用于各種軟件和API,這為檔案進行數據挖掘提供了基礎。數據挖掘是對大規模數據的分析分類的過程,序列分類作為數據挖掘的重要分支,具有十分廣泛的應用前景,其應用范圍包括但不限于基因分析、信息檢索、健康監測、金融預測等領域。不同的序列分類器在面對不同特征的序列時,往往具有不同但是良好的分類效果。僅舉一例,美國最大的零售商在對全年的銷售單據進行了數據挖掘之后,發現了嬰兒用品和酒精類飲料的銷售關系,于是將兩類商品放置在一起,第二年兩類商品的銷售量都有大幅提升。
檔案作為一類海量數據,具有極高的數據挖掘價值,統計學家和計算科學家們相信,對于檔案進行數據挖掘,可以得到很多有意義的數據和結果。例如,從事機械設計工作的工程師可能會更具語言天賦,小學時受到過獎勵的學生在長大后可能會更具有從事社會工作的趨向等。筆者參與過數個數據挖掘的項目,深信數據挖掘對于檔案管理具有非常大的作用,通過數據挖掘對檔案進行管理,將會是檔案管理工作的一次飛躍。
在數據挖掘這門學科中,序列分類(sequencclassification)是一個重要的分支,其中又以基于特征的分類(feature based)應用最為廣泛,經過序列化的檔案信息可以直接被用來進行特征提取,然后使用經典的序列分類算法進行數據挖掘,從而得到我們難以想象的,但是價值非凡的結果。
總結起來,檔案序列化存儲是一項有著重大應用前景的檔案管理技術,它可以解決目前檔案管理工作中的數據分散、結構混亂、空間開銷大等問題,而且有著極有價值的應用空間。盡管可能有諸多困難,但是筆者相信,隨著檔案研究人員的努力,檔案序列化存儲將會成為檔案信息化和檔案管理的新方向。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.vmgcyvh.cn/
本文標題:淺析檔案序列化存儲管理