最近尝试将族谱的数据电子化,按照项目管理的方式,相当于做了一个从需求到上线的小项目。

需求:

  1. 给一个名字,找祖先链
  2. 给一个名字,找所有后代
  3. 给两个名字,找两人的共同祖先

设计:

  1. Web系统
  2. 数据为加密文本,第一次加载并解密,此后所有数据从内存直接读取
  3. 程序启动后,原始数据文本删除
  4. 程序需要授权才能访问

主要问题的考虑和处理:

  1. 每人的编码占2位,男子以0开头,比如01,02等;始祖文举编码为A1。当代女孩入谱,编码以1开头,比如11,12等。每人编码2位之前的是祖先的编码。
  2. 嗣子的编码有2个,嗣子及其子孙按其继父亲编号。父亲有嗣子的,父亲标记:嗣子XX;其中XX的后代均以这个父亲的编码传承。其生物学父亲下这个儿子标记为: 出嗣某某后,或嗣与某某后。
  3. 嗣子双承是一种复杂情况,A只有一个儿子X,这个儿子也承担A的兄弟B的责任。这种情况,X的后代按A编码;其中A下的X标记嗣子双承,B下的X标记嗣子双承嗣子。分嗣子情况类似,A的儿子承担A的兄弟B,C等多个兄弟的责任,标记为分嗣子。
  4. 嗣孙情况更复杂一些,因中间缺少一名父亲,所以依旧使用其生物学祖父、父亲的编码来传承,并且嗣孙的编码只有一个。

程序的授权使用JWT token,这样一个口令可以多人使用,避免了用户账号的管理;token还可以设定有效时间。这样整个开发就很明了了,使用熟悉的Spring web开发,前端家族树的展示使用d3.js库,非常漂亮。整个开发过程最大的麻烦是数据录入。首先要对每个人进行编码,这个还好,先祖姓名很多使用繁体,有些字我甚至现在都没有找到,导致录入时非常慢;还有一些数据不一致的情况,相当于校对了一遍。整个事情做完,大概过去了2、3个月。 最后,从火山引擎(字节跳动的云服务)申请了一个虚拟机,把程序部署了上去。

族谱总共记录了约5000个名字,全部展开是一棵巨大的树;从始祖文举到辈分最小的传人,经历了23世,即使每世20年,到现在都有大约500年的历史了。里面有烈士,有乡贤,有官员,还记载了一部分迁居到台湾的人。名字显示了文化以及传统,体现了历史的传承,下图中思字辈是我的高祖父一辈,正大光明,恢聚清。

族谱

附:

苟氏族谱自序

闻之,人道亲亲,故尊祖;尊祖故敬宗;敬宗则必收其族而治为谱。黄帝之支子别姓苟氏,此苟姓之所自始也。顾诸侯不得祖天子,大夫不得祖诸侯,己庶人而谓出于古先圣帝,僭矣,妄矣,抑且荒远而莫可稽矣。吾祖家籍云南,明永乐初迁即墨,卜居于邑之西南鄙,滨海而居海之阳,曰“张哥庄”,至于今十六世焉。夫人情,丁少则远而近疎而亲,众则亲而疎近而远。昔之人合异姓如同室,今之人等同宗如路人,敬宗之义安在乎?《风》云公姓公族,《雅》歌《行苇》《頍弁》,所以笃同姓而敬宗也。故治谱,是为序。

嘉庆二年岁次丁巳暮春十二世孙名岗谨序
(1797年)

墨邑苟氏族谱序

墨西苟氏,吾乡巨族也。三百余年而世业相承,绵绵书香不绝,宜乎其忠厚朴诚之风,培为方兴未艾之气。予幼肄业其党,长复课蒙西河,所闻见也。且夫谱之作,所以联亲疎合远近,而归于一本也。人道莫大于亲亲,由父母而兄 弟,而九族而同姓,斯尊祖敬宗之思以极,而溯流穷源之情以周。盖谱牒既修,即考核有由也。吾观苟氏家谱,原其从违,不忘桑梓也;别其嫡庶,不淆本支也;养子不入而宗弗乱,绝世必继而祖以安。倘所谓归于一本者,非耶?梓人告成,嘱予序之。予辞不胜任而莫可得,为述其事以志之云。

嘉庆二年岁次丁巳菊月同乡杨俊拜序
(1797年)

增修族谱自序 其一

余家族谱自嘉庆二年重修至今八十余载,前之费经营者吾祖考(讳)延悦、族祖(讳)延恺、族伯(讳)名岗、族兄(讳)思良俱已弃世矣,后之族人各自袖手至道光十七年(1837年),祠堂被风雨损塌,祭田被盐土压坏,修屋供祭毫无资蓄。敏即寻匠修补,自费工金以取阖族之义,每按时节自备供祭以慰先祖之心,续约族中尊卑松栋、名良、复温、希化、恒年公积生蓄,三十载未暇修谱。厥后余游直隶八载未归,治谱之事依然有志未逮。及余病卸回籍调治稍愈,族人咸以谱事付余,余思婴幼失怙,被侵受害,弗得读取科名,诿不胜任。转思谱之重修亦振木本水源之思,理固不当诿也。由是遂约族人增修,以继先人之志。后世再能永守是余之厚望也夫。

光绪六年岁次庚辰菊月下浣十三世孙思敏谨识
(1880年)

苟氏重修族谱序

苟氏,古著姓也。由周历汉以来,代有闻人。今之隸籍墨邑者,则余姻家也。孝友相传,书香犹旧。其名登仕版者,于时修于嘉庆之二年。先生以宗支日繁,志切重整。曩者宦北直,未逮也。现缘亲老,解组终养家居,因与族人公议举 行,族众翕然从之。梓垂成,嘱余为序。余观谱例所载,原从违,别嫡庶,辨异支,继绝世,所以明一本而厚族姓者,皆瞭如指掌。益穆然于其族人之义气,而知懿翁先生敦睦所留,为不少也。由斯以推,上之绵祖功宗德于无穷,下之示孝子贤孙以可继,则信乎一门孝友之风可以永世。抑又乡里所仰以化也,是为序。

光绪六年岁次庚辰桂月眷姻晚杜光斗拜序
(1880年)

增修族谱自序 其二

考余家族谱自嘉庆二年经吾十二世先祖(讳)名岗等重修至光绪六年又经吾十三世先祖(讳)思敏等增修迄今四十余年,户口愈多,宗支日繁,卜居邻村者甚众而出外亡故者亦复不少。诚恐年深日久莫可稽考,纯才智浅,若创始治谱实不胜任,近因石印甚便免于梓镌,一则公积稍庶,二则支派先世已定规模,兹不过调查人丁循序,增添而已。有此简便若不增修,敦睦之义安在乎?由是遵族长命,约同族中公议举行,庶上慰先灵于九泉,下启后世于千秋,木本水源,世世相承。非敢自作聪明,聊继先祖之志云尔,是为序。

民国十年岁次辛酉荷月十七世孙纯诗谨志
(1921年)

增修族谱自序 其三

吾族苟氏自明朝永乐初年,由山西洪洞县、赵城县等籍,迁至即墨邑西南胶州湾北岸,面海卜居,名曰:”张哥庄村”。至今已近六百年。余家族谱首成于清朝嘉庆二年,由先祖(讳)名岗等所修。光绪六年经先祖(讳)思敏等重修。民国十年又经族伯(讳)纯诗等增修。迄今已八十余载。其间繁衍生息,支派日繁,外迁卜居者甚众,亡故者日渐增多。诚恐世远年湮,无谱可考。国有史、村有志、族有谱是文明古国之象征。木有本、水有源,承宗接代,勿混世序,是族业昌盛之表现,故务必增修族谱。

再者,正值盛世,政通人和,百业俱兴。余族裔胄,人才倍出。企人商贾,层出不穷,从政志仕,多汇于时,是增修族谱之最佳时期。

余族乃吾乡著姓巨族。除迁徙外地者,仍有近千户,人丁兴盛,故增修族谱困难之至。族长嘱予修谱作序以记之。予才疏学浅,实难胜任,惟恐迄无成功,贻误后人,弗敢承诺。但迫于族长之命,弗敢推诿。思之,微机已广泛应用,印刷甚便,阖族支持,踊跃集资 。有识族人积极参与调查撰写,深感肺腑,如若执拒,愧对先祖恩育。乃约族中尊卑,依式拟稿,奋力撰写。继承先祖忠厚诚信、自强不息之美德,弘扬开拓创新、与时俱进之精神。颂祖宗功德,贺族业昌盛。以祈上慰先祖之灵,下启后世之志。微斯然,弗敢撰也,是为序。

公元二〇〇五年五月 十八世孙勉书谨志
(2005年)

1. “峕”是“时”的异体字,一般出现在在古代碑刻、墓志、谱序中,表示“时间是......”
2. 族谱所载先辈自序共四篇,前后跨越两百年。第二版中思敏所记第一版的编撰者“俱已弃世矣”,读来令人泪下,他们亦弃世久矣。世事变幻无穷,唯时间无言且笃定。
3. 古之谓“立德、立功、立言”三不朽,能在族谱上留下文字,传继后世,也是幸事一件。
4. 如果对人生感到困惑,可看谱中所记,内有嘉言,可纳之。这是自身所由来之真正的历史。
5. 想起了先祖父,一个有文化爱喝酒的老头,写一手漂亮的毛笔字。

附录