档案管理工作具有重大的意义,但是目前档案管理工作在信息化进程中遇到了大量的问题。使用档案序列化存储可以有效解决这些问题,本文讨论了档案信息化所遭遇的问题,以及档案序列化存储技术的应用前景和使用困难。
一、档案序列化存储研究的背景
档案管理系统是整个国家文献信息系统的组成部分之一,在构成整个社会的科学能力中占有重要地位,成为社会信息系统的基石。档案管理不仅对各具体单位的工作和生产有意义,对整个社会而言,也很有意义,不仅具有当前的、现实的意义,也具有长远的、历史的意义。目前有充分的证据显示,随着科技水平的进步,档案管理工作必须要随之利用科学的武器武装自己,加快档案信息化管理的步伐,才能更好地发挥档案管理工作在社会中的作用。
在档案信息化进程中,很多档案工作者发现了这样的困难,即信息化后的档案存储往往呈现碎片状,难以建立起一个相对完整的数据结构。尤其是面对海量数据的档案,例如某些大型国有企业的档案库中,大量的档案在逻辑上紧密相邻,但是在物理上却分散在存储设备的不同位置,这种数据结构对于档案的管理和检索是十分不利的。大量的反馈信息反映出这样一个现实:每年有大量的资源被浪费在了对于分散数据的检索上。笔者结合实际以及其他学科的经验,提出了一种序列化存储并管理档案的方式,并对这种方式进行了检验。
二、序列化存储基本原理
计算机科学中所讨论的序列化(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.toberp.com/
本文标题:浅析档案序列化存储管理