设计并实现了具有数据录入、数据服务、数据输出功能的族谱信息系统。 族谱信息系统采用了分布式结构,在每个分布数据节点引入内存信息管理技术,采用列存储模型,自动初始化热点数据,并根据用户请求组织数据建立索引,同时利用事务日志对每个分布数据节点的内外存进行数据同步,对中心数据节点和分布数据节点进行数据同步。
0引言
传统的谱书式族谱在信息交互和共享方面存在着先天不足,且实体的谱书不便于后续的修改(续修)以及保存。 因此,近年来族谱数字化受到了社会的广泛关注。
数字化族谱系统除了能提供给用户录入族谱信息、利用族谱信息的功能之外,还需要兼顾中国式族谱的特殊需求——谱书。 家族在编修族谱时,通常都需要以采集好的族谱数据为基础,通过编辑、排版形成内容丰富、图文并茂、样式美观的谱书,然后将其印刷成册并分发给族人。 目前,国内外在数字化族谱系统方面已有一些研究和开发工作。 著名的族谱网站FamilySearch[2]中,用户可以方便地创建和管理个性化族谱空间,但没有提供族谱数据纸质化输出功能。 文献[34]都实现了基于单机形式的族谱录入软件:将族谱的制作工作分割成多个任务,由多位制作人员分别完成这些任务并以文件存储任务中的族谱数据,最后将多个数据文件合并,编辑形成最终的族谱。 但是这种数据管理方式不利于信息的共享,而且多个数据文件之前存在较多的冗余以及冲突,无法自动完成数据文件合并。 为了加快族谱数字化进程,结合实际的应用需求,本文设计并实现了一个基于B/S架构的族谱信息系统,该系统提供了族谱数据的录入、查询服务、纸质化输出等功能。 结合族谱信息系统中的实际需求,本系统的数据存储采用了分布式结构和内存数据管理技术,大大加快了族谱信息录入和检索的速度。
本文内容组织如下:第1节介绍族谱信息数据的特点;第2节介绍系统功能,并分析引入内存数据管理技术的必要性;第3节将简单介绍本系统中所涉及的相关内存数据管理技术;第4节介绍内存数据管理技术在族谱信息系统中的具体应用;第5节对本文工作进行总结并对未来工作进行展望。
第5期张文杰,等:内存数据管理技术在族谱信息系统中的应用华东师范大学学报(自然科学版)2014年1族谱数据简介
族谱数据通常由三部分构成:世系数据、文档数据以及多媒体数据。
(1) 世系数据包括人物数据和人物之间的亲缘关系数据。 其中亲缘关系主要分为父子(父女)、母子(母女)、配偶、过继(从亲属中收养子女)、兼祧(一位男子同时继承多家)。 世系数据是族谱数据中最重要的部分。 (2) 文档数据包括在族谱中家族大事件的文字记录和重要的人物传记,族谱中的文档数据除文本之外还包含图表等,呈现一种图文并茂的形式。
(3) 多媒体数据包括族谱中记录人物或者家族大事件的图像、音频、视频,这里的多媒体数据并不包括文档数据中含有的图表。
族谱数据中的文档数据、多媒体数据和一般的文档数据、多媒体数据在组织和存储形式上并无明显区别,而世系数据作为族谱数据中的核心数据,其特点鲜明。
如果把世系数据中每个人物作为节点,人物之间的关系作为边,则世系数据就构成了一种类似树的结构,下文中也把这种结构称为世系树,如图1所示。
如果考虑更广泛的亲缘关系(如联姻),很多世系数据就会联系在一起构成类似森林的结构,这和社会网络[5]数据非常相似。 但是世系数据比社会网络数据所表达的人物群体更加特定,人物之间的关系更加明确。
总结起来,世系数据具有以下特点:
(1) 表达对象是特定的人物“群体”——家族(或者支系),人物关系是亲缘关系,相比其他人际关系要更加紧密和牢固。
(2) 如果把人物视作节点,把人物之间的关系视作边,世系数据构成了一种特殊的层次结构—世系树。
(3) 如果把多个世系树用联姻关系联系在一起,会构成一种特殊的图结构,类似于森林和社会化网络数据。
图1世系树示例图
Fig。1The tree structure of genealogy data
2族谱信息系统
传统族谱信息系统采用的是单机管理不易于扩展功能,数据分散且有大量冗余,无法利用这些族谱数据向公众用户提供服务。 为了更好地收集和利用族谱数据,我们设计并开发了一款基于B/S架构的族谱信息系统。 该系统支持多用户并行录入同一族谱中的数据,并统一对族谱数据进行管理,同时通过本系统还可向公众用户提供对已录入族谱数据的检索。
族谱信息系统的主要功能包括数据录入、数据服务和数据输出。
2。1数据录入
数据录入功能主要包括三部分:世系数据录入、文档数据录入、多媒体数据录入。 其中世系数据录入是指录入人物的基本数据以及录入人物之间的联系数据。
2。2数据服务
数据服务功能主要包括数据展示、统计检索、一键寻祖和一键寻亲。
(1) 数据展示
数据展示功能包括族谱展示和对照预览。 族谱展示功能主要显示一个族谱的基本信息。 对照预览则用于在正式输出纸质化族谱之前以各种不同的样式来预览输出的效果。
(2) 统计检索
统计检索提供了对系统中的族谱数据进行统计和检索的功能。 族谱统计是显示整个族谱的统计信息,如总人数、男女比例、生死状况等。 简单检索和组合检索是在某些族谱属性或者人物属性上进行检索的功能。
(3) 一键寻祖和一键寻亲
一键寻祖可以从族谱中根据人物之间的亲缘关系得到指定人物在指定范围内(比如限定世代数)的祖先。 一键寻亲则是指在族谱数据中找到两个指定人物之间的亲缘关系链(即两人是通过哪些人关联在一起)。
2。3数据输出
为了满足用户传统纸质谱书的需求,族谱信息系统中提供了数据输出功能,主要包括族谱编排、族谱生成。
(1)族谱编排
谱志编排功能是通过用户的个性化需求对谱书的样式、数据出现的顺序、名词的表达方式等进行设置。
(2) 族谱生成
族谱生成功能主要是在族谱编排过后,按照用户的个性化需求从原始族谱数据中转换生成电子版的谱书以供印刷。
2。4应用内存数据管理技术的必要性
通过对族谱信息系统的功能分析,族谱信息系统具有以下特点。
(1)数据源单一。 在数据录入过程中,对每个录入用户来说,只能操作自己参与录入的族谱数据。 同时,数据输出过程中,只需要去访问要生成电子族谱的特定族谱的数据。
(2)数据量较大。 每个族谱都存有数量和容量庞大的世系数据、文档数据、多媒体数据。
(3)实时性要求高。 由于本系统基于B/S模式设计,无论是数据录入、数据服务还是数据输出功能,系统响应时间都应该很短。
族谱信息系统的大数据量和高实时性的特点对系统实现提出了挑战。 而随着主存的成本显著降低,许多成熟的内存数据管理技术为族谱信息系统的实现提供了解决方案[6]。