专利名称:家族树的节点处理系统及家族树的节点处理方法
技术领域:
本发明涉及家族树的技术领域,特别是涉及一种家族树的节点处理系统、一种家 族树的节点添加方法、一种家族树的节点删除方法以及一种家族树的节点合并方法。
背景技术:
家族树,是指利用互联网技术,依据血缘关系或亲祖关系把人联系起来,再按照辈 份排序构成树的模型。在树中的成员可以清楚地知道自己的家族起源、家族关系以及其他 成员的基础信息,并享有记录、相册等沟通娱乐服务。家族树是以创建人为中心以血缘关系为脉络,向祖辈和后辈两个方向扩展,可分 为多个层次,同辈份的人在一个层次里面。在计算机系统中,家族树可以由节点(家庭成 员)及节点间的连线(家庭成员之间的血缘联系)构成。如图1所示的一棵简单的家族树 的示意图,在这棵家族树中,当前节点“我”向祖辈方向与“父亲”节点和“母亲”节点关联, 向后辈方向与“儿子”节点和“女儿”节点关联,向同辈方向与“妻子”节点和“兄弟”节点关 联。并且,根据家庭成员之间的血缘联系,不同节点之间也相互关联,例如,“父亲”节点和 “母亲”节点关联,“兄弟”节点同时与“父亲”节点和“母亲”节点关联,“妻子”节点同时与 “儿子”节点和“女儿”节点关联等。现有的家族树节点关系,通常是基于应用关系理论来构建的对称关系,如现今比 较流行的各类社交网络中,各种“圈子”或“联系人”等,都是对称的节点关系,然而,图1所 示的家族树中,只有兄弟姐妹节点之间是对称、反传递关系,除此之外,由于现实世界中家 庭血缘关系的复杂性,还存在诸多反传递、反对称的复杂节点关系,为表达这种复杂的节点 关系,采用现有技术维护家族树的节点时,不得不介入人工处理,通常需要通过人工编撰、 软件处理,或者通过族谱信息收集表,由人工或者计算机集中处理才能较为准确、完整地构 建家族树。所有参与人不能异步异地共同维护和处理族谱信息,影响家族树维护的开放性。 而且,现有的家族树系统往往对现实世界中家庭血缘关系的表征不够充分,如无法对单血 缘关系的后裔进行处理,或无法将关联的家族树进行合并等。因此,目前需要本领域技术人员迫切解决的一个技术问题就是如何创新地提出 一种家族树的节点处理机制,以尽可能准确、完整地表征现实世界中各种复杂的家庭血缘 关系,保证家族树维护的开放性,提高用户使用体验。
发明内容
本发明所要解决的技术问题是提供一种家族树的节点处理系统,以及家族树节点 的添加、删除、合并方法,以尽可能准确、完整地表征现实世界中各种复杂的家庭血缘关系, 保证家族树维护的开放性,提高用户使用体验。为了解决上述技术问题,本发明实施例公开了一种家族树的节点处理系统,包 括接口模块,用于为用户提供输入接口和输出接口 ;
数据库,用于存储家族树的数据信息;家族树维护模块,用于根据用户操作维护家族树中的节点以及节点之间的连接关 系;包括节点添加子模块,用于添加节点以及节点之间的连接关系;节点删除子模块,用于按照预置删除规则删除节点及与该节点相关的连接关系;节点合并子模块,用于按照预置合并规则合并关联节点,所述关联节点包括不同 家族树中的共有节点,以及,一棵家族树内部的相关节点。优选的,所述家族树中的节点包括实体节点和虚拟节点,所述实体节点为具有唯 一标识信息及属性信息的节点,所述虚拟节点为没有唯一标识信息及属性信息的节点;所述节点添加子模块包括当前节点构建单元,用于生成当前节点;父母节点关系添加单元,用于针对当前节点创建父亲节点或母亲节点,同时创建 一个虚拟节点作为该父亲节点或母亲节点的配偶节点,并在当前节点存在与兄弟姐妹节点 的连接关系时,添加所述兄弟姐妹节点与父亲节点或母亲节点的连接关系;和/或,在当前节点存在单血缘关系的兄弟姐妹节点时,删除该兄弟姐妹节点后, 为当前节点添加父亲节点或母亲节点;和/或,在当前节点存在与作为其父亲节点或母亲节点的虚拟节点的连接关系 时,将所述虚拟节点更新为实体节点。优选的,所述节点添加子模块还包括兄弟姐妹节点关系添加单元,用于针对当前节点创建兄弟姐妹节点,并在当前节 点存在与父亲节点、母亲节点的连接关系时,添加所述兄弟姐妹节点与父亲节点、母亲节点 的连接关系;和/或,若为当前节点添加单血缘关系的兄弟姐妹节点,则先添加父亲节点或母 亲节点,并添加该父亲节点或母亲节点与对应的配偶节点的连接关系,然后针对该父亲节 点或母亲节点添加子女节点,再添加当前节点与该子女节点的连接关系。优选的,所述节点添加子模块还包括配偶节点关系添加单元,用于针对当前节点创建配偶节点;若存在作为配偶节点 的虚拟节点,则将该虚拟节点更新为实体节点。优选的,所述节点添加子模块还包括子女节点关系添加单元,用于在当前节点存在配偶节点时,直接针对当前节点及 配偶节点添加子女节点;和/或,若当前节点没有配偶节点,则先针对当前节点创建作为配偶节点的虚拟 节点,再针对所述当前节点及虚拟节点添加子女节点。优选的,所述节点删除子模块包括判断单元,用于判断待删除的节点是否满足以下条件1)该节点所连接的父亲、母亲、兄弟姐妹节点的个数之和大于0,并且,该节点所 连接的配偶、子女节点的个数之和大于0。计数不包含虚拟节点;2)该节点为虚拟节点;3)该节点存在与一个以上的配偶节点的连接关系,计数不包含虚拟节点;
4)该节点为外族关联节点,并且存在与外族成员的连接关系;其中,外族关联节 点为当前家族树和其他家族树进行关联的节点;5)该节点的某配偶节点,除该节点外还存在其它充当其配偶节点的虚拟节点的连 接关系;且该节点与某配偶节点还有子女节点。删除处理单元,用于在待删除节点不满足以上所有条件时,通过以下步骤删除该 节占.
I— /、、、 第1步、删除待删除节点与其配偶节点及子女节点之间的连接关系;如果待删除节点与其配偶节点没有与子女节点的连接关系,则直接断开待删除节 点与配偶节点之间的连接关系;如果待删除节点与其配偶节点存在与子女节点的连接关系,并且该配偶节点为虚 拟节点,则将待删除节点与虚拟节点一并删除,并删除与所述待删除节点与虚拟节点相关 联的节点连接关系;若该配偶节点为实体节点,则仅将待删除节点更新为虚拟节点;第2步、删除待删除节点与其父亲节点、母亲节点之间的连接关系;如果所述父亲节点、母亲节点均为实体节点,则直接删除待删除节点与所述父亲 节点、母亲节点之间的连接关系;如果所述父亲节点或母亲节点为虚拟节点,且在该父亲节点和母亲节点下只有一 个作为子女节点的待删除节点,则删除待删除节点与所述父亲节点与母亲节点之间的连接 关系,并删除所述虚拟节点;第3步、删除待删除节点与其兄弟姐妹节点之间的连接关系;第4步、删除该待删除节点。优选的,所述关联节点包括源节点与目标节点,所述节点的属性信息包括性别信 息、辈份信息;所述源节点和目标节点满足以下条件1)源节点和目标节点具有同一性别的表征;2)如果源节点和目标节点在同一棵家族树中,则源节点和目标节点具有同一辈份 的表征;3)如果源节点和目标节点形成兄弟姐妹节点的连接关系,则只有所述源节点和目 标节点具有共同的父亲节点和母亲节点时才能被合并;4)合并时如果有一方是虚拟节点、一方是实体节点,则将实体节点作为目标节点, 将虚拟节点作为源节点;所述节点合并子模块包括合并方向确定单元,用于在源节点和目标节点均为实体节点或均为虚拟节点,将 目标节点作为合并后的保留节点,将源节点作为合并后的删除节点;和/或,在一方是实体节点,一方是虚拟节点时,则将实体节点作为目标节点,将 虚拟节点作为源节点;双亲节点合并单元,用于在源节点和目标节点均有父亲节点和母亲节点时,将源 节点和目标节点的父亲节点合并,将源节点和目标节点的母亲节点合并,然后删除源节点 与所述父亲节点和母亲节点的连接关系;和/或,如果源节点和目标节点只有一方有父亲节点和母亲节点,则依据该节点 与父亲节点、母亲节点的连接关系,在目标节点上创建相应的与父亲节点、母亲节点的连接关系,然后删除源节点与所述父亲节点、母亲节点的连接关系;配偶、子女节点合并单元,用于依据源节点与其配偶节点、子女节点的连接关系, 在目标节点上创建相应的与配偶节点、子女节点的连接关系,然后删除源节点与所述配偶 节点、子女节点的连接关系;兄弟姐妹节点合并单元,用于依据源节点与其兄弟姐妹节点的连接关系,在目标 节点上创建相应的与兄弟姐妹节点的连接关系,然后删除源节点与所述兄弟姐妹节点的连 接关系;源节点删除单元,用于删除该源节点。本发明实施例还公开了一种家族树的节点添加方法,所述家族树中的节点包括虚 拟节点和实体节点,所述实体节点为具有唯一标识信息及属性信息的节点,所述虚拟节点 为无唯一标识信息及属性信息的节点,所述方法包括当前节点创建步骤生成当前节点;双亲节点添加步骤针对当前节点创建父亲节点或母亲节点,同时创建一个虚拟 节点作为该父亲节点或母亲节点的配偶节点,并在当前节点存在与兄弟姐妹节点的连接关 系时,添加所述兄弟姐妹节点与父亲节点或母亲节点的连接关系;以及,如果当前节点存 在与作为其父亲节点或母亲节点的虚拟节点的连接关系,则将所述虚拟节点更新为实体节 点;以及,如果当前节点存在单血缘关系的兄弟姐妹节点,则删除该兄弟姐妹节点后,为当 前节点添加父亲节点或母亲节点;兄弟姐妹节点关系添加步骤针对当前节点创建兄弟姐妹节点,并在当前节点存 在与父亲节点、母亲节点的连接关系时,添加所述兄弟姐妹节点与父亲节点或母亲节点的 连接关系;以及,若为当前节点添加单血缘关系的兄弟姐妹节点,则先添加父亲节点或母亲 节点,并添加该父亲节点或母亲节点与对应的配偶节点的连接关系,然后针对该父亲节点 或母亲节点添加子女节点,再添加当前节点与该子女节点的连接关系;配偶节点关系添加步骤针对当前节点创建配偶节点;若存在作为配偶节点的虚 拟节点,则将该虚拟节点更新为实体节点;子女节点关系添加步骤在当前节点存在配偶节点时,直接针对当前节点及配偶 节点添加子女节点;以及,若当前节点没有配偶节点,则先针对当前节点创建作为配偶节点 的虚拟节点,再针对所述当前节点及虚拟节点添加子女节点。本发明实施例还公开了一种家族树的节点删除方法,所述家族树中的节点包括虚 拟节点和实体节点,所述实体节点为具有唯一标识信息及属性信息的节点,所述虚拟节点 为无唯一标识信息及属性信息的节点,所述方法包括判断待删除的节点是否满足以下条件1)该节点所连接的父亲、母亲、兄弟姐妹节点的个数之和大于0,并且,该节点所 连接的配偶、子女节点的个数之和大于0。计数不包含虚拟节点;2)该节点为虚拟节点;3)该节点存在与一个以上的配偶节点的连接关系,计数不包含虚拟节点;4)该节点为外族关联节点,并且存在与外族成员的连接关系;其中,外族关联节 点为当前家族树和其他家族树进行关联的节点;5)该节点的某配偶节点,除该节点外还存在其它充当其配偶节点的虚拟节点的连接关系;且该节点与某配偶节点还有子女节点。若待删除节点不满足以上所有条件,则执行以下步骤第1步、删除待删除节点与其配偶节点及子女节点之间的连接关系;如果待删除节点与其配偶节点没有与子女节点的连接关系,则直接断开待删除节 点与配偶节点之间的连接关系;如果待删除节点与其配偶节点存在与子女节点的连接关系,并且该配偶节点为虚 拟节点,则将待删除节点与虚拟节点一并删除,并删除与所述待删除节点与虚拟节点相关 联的节点连接关系;若该配偶节点为实体节点,则仅将待删除节点更新为虚拟节点;第2步、删除待删除节点与其父亲节点、母亲节点之间的连接关系如果所述父亲节点、母亲节点均为实体节点,则直接删除待删除节点与所述父亲 节点、母亲节点之间的连接关系;如果所述父亲节点或母亲节点为虚拟节点,且在该父亲节点和母亲节点下只有一 个作为子女节点的待删除节点,则删除待删除节点与所述父亲节点与母亲节点之间的连接 关系,并删除所述虚拟节点;第3步、删除待删除节点与其兄弟姐妹节点之间的连接关系;第4步、删除该待删除节点。本发明实施例还公开了一种家族树的节点合并方法,所述家族树中的节点包括实 体节点和虚拟节点,所述实体节点为具有唯一标识信息及属性信息的节点,所述虚拟节点 为无唯一标识信息及属性信息的节点,所述节点的属性信息包括性别信息、辈份信息;所述 合并的节点包括源节点和目标节点,并满足以下条件1)源节点和目标节点具有同一性别的表征;2)如果源节点和目标节点在同一棵家族树中,则源节点和目标节点具有同一辈份 的表征;3)如果源节点和目标节点形成兄弟姐妹节点的连接关系,则只有所述源节点和目 标节点具有共同的父亲节点和母亲节点时才能被合并;4)合并时如果有一方是虚拟节点、一方是实体节点,则将实体节点作为目标节点, 将虚拟节点作为源节点;所述的方法包括合并方向确定步骤在源节点和目标节点均为实体节点或均为虚拟节点,将目标 节点作为合并后的保留节点,将源节点作为合并后的删除节点;以及,在一方是实体节点, 一方是虚拟节点时,则将实体节点作为目标节点,将虚拟节点作为源节点;双亲节点合并步骤在源节点和目标节点均有父亲节点和母亲节点时,将源节点 和目标节点的父亲节点合并,将源节点和目标节点的母亲节点合并,然后删除源节点与所 述父亲节点和母亲节点的连接关系;以及,如果源节点和目标节点只有一方有父亲节点和 母亲节点,则依据该节点与父亲节点、母亲节点的连接关系,在目标节点上创建相应的与父 亲节点、母亲节点的连接关系,然后删除源节点与所述父亲节点、母亲节点的连接关系;配偶、子女节点合并步骤依据源节点与其配偶节点、子女节点的连接关系,在目 标节点上创建相应的与配偶节点、子女节点的连接关系,然后删除源节点与所述配偶节点、 子女节点的连接关系;
兄弟姐妹节点合并步骤依据源节点与其兄弟姐妹节点的连接关系,在目标节点 上创建相应的与兄弟姐妹节点的连接关系,然后删除源节点与所述兄弟姐妹节点的连接关 系;源节点删除步骤删除该源节点。与现有技术相比,本发明具有以下优点第一、从运用关系理论的角度来看现在流行的各类社交网络和其他应用通常运 用关系理论来构建各种“圈子”或“联系”,节点之间通常是基于对称关系,而本发明中节点 之间的四种联系相关联的节点之间只有兄弟姐妹节点之间是对称、反传递关系,其他联系 相关联的节点之间反传递、反对称,需要处理更多特殊情况以更好地反映族谱的现实存在。第二、从现行族谱的信息处理方式来看现行族谱修订方法,不管是人工编撰、软 件处理,或者通过族谱信息收集表,其信息处理的方式都是集中人工或者计算机集中处理, 不能做到本发明所实现的所有参与人、异步异地共同维护和处理族谱信息的功能。本发明 使得用户可以方便地通过网络等形式共同使用和维护所在的家族树,可以实现人人参与家 族谱的修订,并利用网络实时更新信息。第三、从最终实现来看本发明有超越现有家族树网站的三个亮点(1)支持往家 族中包括单血缘关系的后裔;(2)支持家族树间的复杂合并;(3)不仅可以应用于网站,还 可以应用于软件开发,特别是满足中国人修谱习惯的软件。第四、本发明基于单个家庭成员开始构建家族树,支持家族成员的多次婚配的情 况,支持不同家族树之间的合并,能够反映现实中的绝大多数家族构成场景。第五、本发明改变了人们利用原始修谱方法,避免修谱工作繁重、耗费财力而搁置 修谱造成家谱失修、失传的状况;统一规范,避免家族谱排版及描述的局限性,利用具有时 代特点的元素来“书写”族谱,如加入照片、语音介绍、主题音乐等,并永远去掉原始家谱不 宜搜索的缺点;参与者无需具备专门的家谱学知识,更不需要有专家参与,只要求会用简 单的电脑操作即可,大大降低了家谱修订的条件;随时可以将家族谱进行更新和输出成不 同的展现格式,比如可以拷贝成DVD形成电子族谱,也可以打印成原始族谱,满足不同的需 求。
图1是本发明的一种示例中的家族树示意图; 图2是本发明的一种家族树的节点处理系统实施例的结构框图; 图3是本发明的一种示例中的家族树示意图; 图4是图3所示的家族树展开后的示意图; 图5是本发明的一种示例中的家族树示意图; 图6是本发明的一种示例中的家族树示意图; 图7是本发明的一种示例中的家族树示意图; 图8是本发明的一种示例中的家族树示意图; 图9-图15是本发明各节点删除示例的示意图; 图16-图25是本发明各节点合并示例的示意图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。家族树,是一种家庭文化的工具。其主要是针对中国人的家庭观念以及对自身姓 氏认同的需要,涵盖了家庭生活记录、教育、家族文化传承、观念等各个方面。作为家庭中必 备的文化工具手册,家族树能帮助记录着真实的记载自己和家庭较长时期内所发生的一切 事情,并传承家族史。在传统的中国家庭里,都持有认祖归宗的思想,而编纂家谱无论在信息源还是操 作中都是一个浩大的工程。家族树借助于互联网,轻松的解决了这个问题,并且可以通过分 享、收藏等多种互动行为与家族人沟通、交流。本发明实施例的核心构思之一在于,基于单个家庭成员开始构建家族树,支持家 族成员的多次婚配的情况,支持不同家族树之间的合并,能够反映现实中的绝大多数家族 构成场景,并使得用户可以方便地通过网络等形式共同使用和维护所在的家族树。参照图2,示出了本发明的一种家族树的节点处理系统实施例的结构框图,具体可 以包括接口模块11,用于为用户提供输入接口和输出接口 ;数据库12,用于存储家族树的数据信息;家族树维护模块13,用于根据用户操作维护家族树中的节点以及节点之间的连接 关系;具体可以包括以下子模块节点添加子模块131,用于添加节点以及节点之间的连接关系;节点删除子模块132,用于按照预置删除规则删除节点及与该节点相关的连接关 系;节点合并子模块133,用于按照预置合并规则合并关联节点,所述关联节点包括不 同家族树中的共有节点,以及,一棵家族树内部的相关节点。为使本领域技术人员更好地理解本发明,以下简单介绍本说明书中涉及的相关名 词进行解释说明。家族树由节点(家庭成员)及节点间的连线(家庭成员之间的直接血缘联系,即 直系亲属关系)构成。节点指家族树中的节点,包括实体节点、虚拟节点、叶节点、外族关联节点等。联系指家族树中节点间的连接线,即亲属间的直接血缘联系。亲属之间有四类直 接血缘联系,分别是父母、兄弟姐妹、配偶、子女。小家庭指与某节点存在直接血缘联系的成员的集合,包括该节点,及其父亲、 配偶、兄弟姐妹、子女节点等。即只包含与某节点有四类直接血缘关系的节点,不包括通过 传递联系而涉及的间接联系的节点。家族指直系家族成员的集合。外族指家族中配偶节点生长所在的家族,或单血缘后裔节点双血缘关系(父母) 所在的家族。配偶节点指通过婚配关系加入到家族的节点,如媳妇、女婿等。单血缘后裔节点指家族中的配偶与非本家族成员再婚后所生子女。某配偶节点同本家族某成员结婚后所生子女,与该配偶节点和非本家族成员再婚后所生子女之间,存 在单血缘关系。该配偶两次婚姻所生子女之间是“同父异母”或“同母异父”的单血缘关系。外族关联节点是指将本家族和其外族进行关联形成大家族的节点,由配偶节点 和单血缘的后裔节点组成。一个家族可以有多个这样的节点,每个节点往往对应一个外族, 所以一个家族可以有多个外族。外族节点个数外族的成员节点个数(不包括外族关联节点)。如图3中所示的 家族的一个外族关联节点是“妻子”,其右上角的数字表示的是隐藏的外族成员的个数。通 过展开“妻子”节点的外族,则可以得到图4所示的家族树示意图;此时,“妻子”家族完全展 开,可以看到该家族除了“妻子”外,还有3个节点“妻子的父亲”、“妻子的兄弟”和“妻兄 弟的儿子”,此时该家族的外族连接节点是“妻子”的配偶“我”节点,其关联的家族即是图1 所示的家族,亦是“妻子”所在直系家族的外族。大家族本家族的家族树跟外族的家族树关联成一棵更大的家族树,称之为大家族。实体节点指的是登记到家族树中具有唯一标识信息(如电子邮件地址)及属性 信息(如具有“姓名”及“性别”其他属性)的节点。实体节点可以进行添加直系亲属(添 加父母、兄弟姐妹、配偶及子女节点)的操作以及删除自身的操作(当自身是叶节点时)。 任何实体节点只有一个父亲节点、一个母亲节点,有若干个双血缘关系和单血缘关系兄弟 姐妹节点,有若干个配偶及有若干个子女节点。虚拟节点相对于实体节点而言的辅助节点,指的是暂时没有具体信息登记到家 族树中的节点,没有唯一标识信息及属性信息。在本发明中,当实体节点没有配偶节点的时 候,可以借助虚拟节点充当其配偶,直接进行添加子女节点的操作。尔后可以通过补充虚拟 节点“电子邮件地址”、“姓名”等属性信息使其成为实体节点。虚拟节点在任何时候都是充 当某实体节点的配偶节点,以帮助该实体节点建立与其子女的联系。每个实体节至多只能 有一个虚拟节点充当其配偶节点。虚拟节点不能进行添加家族成员及删除的操作。需要说明的是,在本发明实施例中有两个重要的规定1)实体节点必须在有配偶节点的前提下,才能拥有与该配偶共生的子女节点。配 偶节点可以是实体节点,也可以是虚拟节点;2) 一个实体节点最多只能有一个充当配偶节点的虚拟节点。引入虚拟节点的重要作用是,可以在实体节点创建配偶实体节点之前,通过虚拟 一个节点作为其配偶节点,使该实体节点能够先添加子女节点,尔后再将配偶虚拟节点实 现为实体节点。如图5所示的家族树示意图,“我”在添加“父亲”节点时,本发明会自动为 “父亲”节点创建虚拟节点充当其配偶节点(即母亲节点),从而建立“父亲”与“我”的联 系。当删除“父亲”节点时,虚拟的母亲节点会自动连带删除。如果此时母亲节点是实体节 点,则将“父亲”节点变成虚拟节点,使其充当母亲节点的配偶节点,便于母亲节点与“我”建 立联系。同样,“我”节点在没有实际配偶节点的时候直接添加子女节点,本发明会自动为其 创建配偶虚拟节点。当删除子女节点时,如果除了待删除节点外已经没有别的子女节点,虚 拟的配偶节点也会被自动连带删除。可见,虚拟节点是为了在实体节点添加父母节点、子女 节点时需要的临时辅助节点。叶节点此类节点是相对孤立的节点,与之直接联系的节点不用通过该类节点与其他节点维持间接联系,在本发明中,有且只有此类节点可以在维护家族树时执行删除操作。即在本发明实施例中,所述家族树中的节点可以包括虚拟节点和实体节点,其中, 所述实体节点为具有唯一标识信息及属性信息的节点,所述虚拟节点为无唯一标识信息及 属性信息的节点。家族树由家族成员及相互之间的联系构成。构建家族树的过程就是创建各节点加 入到家族树中,并维持各节点之间的各种血缘联系的过程。下面逐步介绍如何维护家族树, 主要包括添加父母节点、添加兄弟姐妹节点、添加配偶节点、添加子女节点、删除节点和合 并节点等基本操作。一、添加父亲母亲节点在本发明的一种优选实施例中,所述节点添加子模块131包括以下单元当前节点构建单元,用于生成当前节点;父母节点关系添加单元,用于针对当前节点创建父亲节点或母亲节点,同时创建 一个虚拟节点作为该父亲节点或母亲节点的配偶节点,并在当前节点存在与兄弟姐妹节点 的连接关系时,添加所述兄弟姐妹节点与父亲节点或母亲节点的连接关系;和/或,在当前节点存在单血缘关系的兄弟姐妹节点时,删除该兄弟姐妹节点后, 为当前节点添加父亲节点或母亲节点;和/或,在当前节点存在与作为其父亲节点或母亲节点的虚拟节点的连接关系 时,将所述虚拟节点更新为实体节点。应用本实施例,在为当前节点添加父亲(母亲)节点时,如果不存在父亲(母亲) 的虚拟节点,则创建父亲(母亲)节点,同时创建一个虚拟节点作为父亲(母亲)节点的 配偶节点,以满足“实体节点必须在有配偶节点的前提下,才能拥有与该配偶共生的子女节 点”的规定。若当前节点有兄弟姐妹节点,则将当前节点与这些兄弟姐妹节点当作具有双血 缘联系,然后维护父亲节点、母亲节点与当前节点以及其他子女节点之间的联系。例如可以 参考图6所示的家族树,其中当前节点“我”具有“兄弟”节点,在为节点“我”添加“父亲”、 “母亲”节点后,将生成“兄弟”节点与“父亲”节点、“母亲”节点的连接关系。如果当前节点存在充当其父亲(母亲)的虚拟节点,在为当前节点添加父亲(母 亲)节点时,直接把虚拟节点变成实体节点,相关节点间的联系在该添加虚拟节点时已经 维护好,无需做变更。如果这些兄弟姐妹节点中存在单血缘联系的节点,则需要将单血缘联系的兄弟姐 妹节点先删除,然后添加父亲(母亲)节点。二、添加兄弟姐妹节点在本发明的一种优选实施例中,所述节点添加子模块131还包括兄弟姐妹节点关系添加单元,用于针对当前节点创建兄弟姐妹节点,并在当前节 点存在与父亲节点、母亲节点的连接关系时,添加所述兄弟姐妹节点与父亲节点、母亲节点 的连接关系;和/或,若为当前节点添加单血缘关系的兄弟姐妹节点,则先添加父亲节点或母 亲节点,并添加该父亲节点或母亲节点与对应的配偶节点的连接关系,然后针对该父亲节 点或母亲节点添加子女节点,再添加当前节点与该子女节点的连接关系。
应用本实施例,当前节点将待添加的兄弟姐妹作为与其有双血缘关系,同时维护 好待添加兄弟姐妹节点与当前节点以及父亲节点、母亲节点的联系。如要为当前节点添加单血缘关系的兄弟姐妹节点,则在添加父亲(母亲)节点后, 可以通过父亲(母亲)节点添加相关配偶联系(父辈再婚),再通过父辈(即在父亲(母 亲)节点上)添加相应的子女节点来间接为当前节点添加单血缘联系的兄弟姐妹节点。如 图7所示的家族树,当前节点“我”的“母亲”节点具有再婚的配偶节点“母亲再婚丈夫”,该 “母亲”节点和其配偶节点“母亲再婚丈夫”具有子女节点“单血缘姐妹”,在这种情况下,添 加形成单血缘关系的该子女节点“单血缘姐妹”与当前节点“我”之间的连接关系。三、添加配偶节点在本发明的一种优选实施例中,所述节点添加子模块131还包括配偶节点关系添加单元,用于针对当前节点创建配偶节点;若存在作为配偶节点 的虚拟节点,则将该虚拟节点更新为实体节点。在本实施例中,当前节点添加实体配偶节点,但是,如果已经存在对应的充当配偶 节点的虚拟节点,则用当前配偶对象的标识信息和属性信息,将充当配偶节点的虚拟节点 更新为实体节点。在本发明实施例中,一个节点最多只有一个充当配偶节点的虚拟节点,可以有多 个实际配偶节点。四、添加子女节点在本发明的一种优选实施例中,所述节点添加子模块131还包括子女节点关系添加单元,用于在当前节点存在配偶节点时,直接针对当前节点及 配偶节点添加子女节点;和/或,若当前节点没有配偶节点,则先针对当前节点创建作为配偶节点的虚拟 节点,再针对所述当前节点及虚拟节点添加子女节点。在本实施例中,提供了两个方法来为当前节点添加子女节点1、在当前节点没有配偶节点的时候,直接添加子女节点;即先为当前节点生成一个虚拟节点作为配偶节点,然后再添加子女节点,添加当 前节点、充当配偶节点的虚拟节点与子女节点间的联系。如果当前节点已经有虚拟的配偶 节点,则无需创建新的充当配偶节点的虚拟节点,直接在当前节点和该虚拟节点下添加子 女节点。如图8所示的家族树,若当前节点“我”没有配偶节点,则在为当前节点“我”生成 一个虚拟节点作为配偶节点后,添加子女节点“女儿”,并添加子女节点“女儿”与当前节点 “我”和虚拟节点之间的连接关系。2、在当前节点有配偶节点的时候,添加子女节点。即该配偶节点可以是实体节点也可以是虚拟节点,直接在当前节点和该配偶节点 下添加与子女节点的连接关系。五、删除节点在本发明的一种优选实施例中,所述节点删除子模块132包括以下单元判断单元,用于判断待删除的节点是否满足以下五个条件条件1、该节点所连接的父亲节点、母亲节点的个数与兄弟姐妹节点的个数之和大 于0,并且,该节点所连接的配偶节点的个数与子女节点的个数之和大于0 ;S卩(父母节点个数+兄弟姐妹节点个数)> 0且(配偶节点个数+子女节点个数)> 0 ;条件2、该节点为虚拟节点;条件3、该节点存在与一个以上的配偶节点的连接关系;条件4、该节点为外族关联节点,并且存在与外族成员的连接关系;其中,外族关 联节点为当前家族树和其他家族树进行关联的节点;条件5、该节点的某配偶节点,除该节点外还存在与其它充当其配偶节点的虚拟节 点的连接关系;且该节点与某配偶节点还有子女节点。删除处理单元,用于在待删除节点不满足以上所有条件时,通过以下步骤删除该 节占.
I— /、、、 第1步、删除待删除节点与其配偶节点及子女节点之间的连接关系;如果待删除节点与其配偶节点没有与子女节点的连接关系,则直接断开待删除节 点与配偶节点之间的连接关系;如果待删除节点与其配偶节点存在与子女节点的连接关系,并且该配偶节点为虚 拟节点,则将待删除节点与虚拟节点一并删除,并删除与所述待删除节点与虚拟节点相关 联的节点连接关系;若该配偶节点为实体节点,则仅将待删除节点更新为虚拟节点;第2步、删除待删除节点与其父亲节点、母亲节点之间的连接关系如果所述父亲节点、母亲节点均为实体节点,则直接删除待删除节点与所述父亲 节点、母亲节点之间的连接关系;如果所述父亲节点或母亲节点为虚拟节点,且在该父亲节点和母亲节点下只有一 个作为子女节点的待删除节点,则删除待删除节点与所述父亲节点与母亲节点之间的连接 关系,并删除所述虚拟节点;第3步、删除待删除节点与其兄弟姐妹节点之间的连接关系;第4步、删除该待删除节点。在本实施例中,只有叶节点才能被删除,叶节点即为以上五个条件都不满足的节 点,或者说,满足以上五个条件的节点都不是叶节点。简而言之,删除节点可以分两步进行 第一步,判断待删除节点是否是叶节点,第二步,若是,则删除该节点。具体而言,若满足上述条件1,则说明该节点是维系父母、兄弟姐妹(“父兄”)节点 及其配偶、子女(“妻儿”)节点的连接点,如果删除该节点,则会失去“父兄”与“妻儿”之 间的间接联系,破坏家族树的完整性,故不能删除。注意,这里的配偶节点包括实体节点和 虚拟节点,其他的节点只包括实体节点;若满足上述条件2,则说明该节点是虚拟节点,由于虚拟节点的作用是作为辅助节 点,故不能自我删除,本发明会自动将其删除;若满足上述条件3,则说明该节点是若干个配偶节点及子女的连接节点,不能被删 除。注意,这里的配偶节点包括实体节点和虚拟节点;若满足上述条件4,则说明该外族关联节点关联的外族中有成员,如果删除,将会 断开本家族和外族之间联系,故不能删除;若满足上述条件5,则该节点的某配偶节点的配偶中,除了该节点外,还有虚拟节 点,如果删除,依照处理方法,会将该节点更新为虚拟节点,如此一来,某配偶节点将同时有 两个虚拟的配偶节点,违反“一个实体节点最能只能有一个虚拟节点”的规定,故不能删除。
另外,还需要说明的是,本发明实施例中删除节点的步骤需按顺序执行。为使本领域技术人员更好地理解本发明,以下通过删除节点的具体示例详细说明 本发明。如图9所示家族树,右上角有图标的节点表示该节点是叶节点,可以删除。 其中,“父亲”、“兄弟的儿子”、“兄弟的女儿”、“儿子”及“女儿”节点都不满足前述5个条件, 是叶节点,可以删除。然而“兄弟”节点的父母、兄弟节点数目为2,妻子、儿女节点数目为3,且有两个配偶节 点,满足条件1及条件3,不能被删除;“兄弟的妻子”的配偶“兄弟”有“虚拟节点”,满足条件5,不能被删除;“我”的父母、兄弟节点数目为2,妻子、儿女节点数目为3,满足条件1,不能被删 除;“妻子”是外族关联节点,满足条件4,不能被删除;剩下的两个“虚拟节点”,满足条件2,不能被删除。删除节点示例1 在图9的基础上,删除“兄弟的儿子”,得到的结果如图10所示。在图10中,不仅 “兄弟的儿子”节点没有了,而且作为其母亲的“虚拟节点”也一并被删除了。同时,“兄弟的 妻子”变更为叶节点。删除节点示例2 在图10的基础上,删除“兄弟的妻子”节点,得到的结果如图11所示。在图11中, 原“兄弟的妻子”节点变更为虚拟节点,以满足“实体节点必须在有配偶节点的前提下,才能 拥有与该配偶共生的子女节点”的规定。删除节点示例3 在图11的基础上,删除“兄弟的儿子”、“儿子”及“女儿”节点,得到的结果如图12 所示。在图12中,“兄弟”节点变更为叶节点。删除节点示例4 在图12的基础上,删除“兄弟”节点,得到的结果如图13所示。删除节点示例5 在图13的基础上,删除“父亲”节点,得到的结果如图14所示。在图14中,不仅 “父亲”节点没有了,而且作为其配偶的“虚拟节点”也一并被删除了。同时,“我”节点变更 为叶节点。删除节点示例6 在图14的基础上,删除“妻子”节点关联的外族中所有的节点后,得到的结果如图 15所示。在图15中,“妻子”节点也变更为叶节点。此时,剩下的两个节点均可以被删除。六、合并节点。在本发明实施例中,节点合并子模块包括两个功能第一是将两棵家族树通过共 有的节点的进行合并;第二是在一棵家族树内部进行两个相关节点的合并。其实,两个功能 本质上都是两个节点的合并。在具体实现中,将所述可以合并的关联节点分为源节点与目 标节点,所述节点的属性信息包括性别信息、辈份信息;所述源节点和目标节点满足以下条 件
1)源节点和目标节点具有同一性别的表征;2)如果源节点和目标节点在同一棵家族树中,则源节点和目标节点具有同一辈份 的表征;3)如果源节点和目标节点形成兄弟姐妹节点的连接关系,则只有所述源节点和目 标节点具有共同的父亲节点和母亲节点时才能被合并;4)合并时如果有一方是虚拟节点、一方是实体节点,则将实体节点作为目标节点, 将虚拟节点作为源节点;所述节点合并子模块133包括以下单元合并方向确定单元,用于在源节点和目标节点均为实体节点或均为虚拟节点,将 目标节点作为合并后的保留节点,将源节点作为合并后的删除节点;和/或,在一方是实体节点,一方是虚拟节点时,则将实体节点作为目标节点,将 虚拟节点作为源节点;双亲节点合并单元,用于在源节点和目标节点均有父亲节点和母亲节点时,将源 节点和目标节点的父亲节点合并,将源节点和目标节点的母亲节点合并,然后删除源节点 与所述父亲节点和母亲节点的连接关系;和/或,如果源节点和目标节点只有一方有父亲节点和母亲节点,则依据该节点 与父亲节点、母亲节点的连接关系,在目标节点上创建相应的与父亲节点、母亲节点的连接 关系,然后删除源节点与所述父亲节点、母亲节点的连接关系;配偶、子女节点合并单元,用于依据源节点与其配偶节点、子女节点的连接关系, 在目标节点上创建相应的与配偶节点、子女节点的连接关系,然后删除源节点与所述配偶 节点、子女节点的连接关系;兄弟姐妹节点合并单元,用于依据源节点与其兄弟姐妹节点的连接关系,在目标 节点上创建相应的与兄弟姐妹节点的连接关系,然后删除源节点与所述兄弟姐妹节点的连 接关系;源节点删除单元,用于删除该源节点。具体而言,在本实施例中,家族树节点的合并主要涉及以下两个方面1)、将两棵家族树通过共有的节点的进行合并;2)、在一棵家族树内部进行两个节点的合并。其实,两个功能本质上都是两个节点的合并,将这个两个节点称之为目标节点和 源节点。合并以后,源节点被删除,其与其他节点的关联并入目标节点。合并时,有如下限定条件目标节点与原节点必须同性别;如果在同一棵家族树 中,必须是同一辈;如果目标节点与源节点原为兄弟或姐妹关系,那么只有双血缘关系的兄 弟或姐妹才能被合并;合并时如果有一方是虚拟节点、一方是实体节点,则将实体节点作为 目标节点,将虚拟节点作为源节点,然后进行合并。家族树合并分5个步骤进行(1)、确定合并方向如果目标节点与源节点均为实体节点或均为虚拟节点,则将目标节点做为两节点 合并后的最终节点保留,源节点将在合并后被删除;如果有一方是实体节点,一方是虚拟节点,则将实体节点作为目标节点,将虚拟节点作为源节点,目标节点为两节点合并后的最终节点保留,源节点将在合并后被删除。O)、合并目标节点与源节点的父亲、母亲节点如果目标节点与源节点双方都有父母节点,则现将目标节点与源节点的父亲合 并,且将目标节点与源节点的母亲合并,然后去掉源节点节点与父母节点的关联;如果目标节点与源节点只有一方有父母节点,则将有父母节点的一方与父母的关 联复制到目标节点与父母节点的关联中,使目标节点建立与父母节点的联系,然后去掉源 节点与父母节点的关联。(3)、合并目标节点与源节点的配偶、子女节点将源节点与配偶、子女节点的联系复制到目标节点中,使源节点的配偶、子女节点 建立与目标节点的联系,删除源节点与配偶、子女节点的联系。(4)、合并目标节点与源节点的兄弟、姐妹节点将源节点与兄弟、姐妹节点的联系,复制到目标节点中,使源节点的兄弟、姐妹节 点建立与目标节点的联系,删除源节点与兄弟、姐妹节点的联系。(5)删除源节点将源节点的其他附属属性信息复制到目标节点,然后删除源节点(此时该节点已 经是一个孤立的节点,无其他节点与之关联)。注意,在家族树合并时,需要避免加入重复的关系。为使本领域技术人员更好地理解本发明,以下通过合并节点的具体示例详细说明 本发明。合并节点示例1 实体节点与虚拟节点合并。在本例中,无论哪个节点作为目标节 点,最终都将实体节点作为目标节点,将虚拟节点作为源节点。如图16所示,左图中的“标 我”节点与右图中的“虚拟节点”合并后,结果如图17所示。合并节点示例2 两个待合并节点都没有父母节点。如图18所示,将“标我”作 为目标节点与“源我”作为源节点合并后,得到的结果如图19所示。合并节点示例3 两个待合并节点只有一方有父母节点。如图20所示,将“标我” 作为目标节点与“源我”作为源节点合并后,得到的结果如图21所示。合并节点示例4 两个待合并节点都有父母节点。如图22所示,将“标我”作为 目标节点与“源我”作为源节点合并后,得到的结果如图22所示。这次合并其实是现将两 个的父亲节点、母亲节点先进行合并,然后再将两个节点合并,得到的结果如图23所示。合并节点示例5 同一家族类两个节点的合并。如图M所示,将“标我”作为目 标节点与“源我”作为源节点合并后,得到的结果如图25所示。需要说明的是,本说明书中提供的所有节点合并示例只是一个合并动作,在现实 的的家族树合并场景中,则可能需要应用节点合并子模块提供的功能,进行多次合并操作。 如家族树A中的目标节点与家族树B中的源节点合并后,尽管父母节点会自动递归合并。 但是,合并后兄弟姐妹节点、配合节点及子女节点中可能存在重复节点,如果没有辅助信 息,节点合并子模块无法判断是这些节点是否存在重复,所以需要多次使用节点合并子模 块的功能,对重复的节点继续合并,直到达到最终目的。在具体实现中,通过执行前述“节点添加子模块131”及“节点删除子模块132”下 5个单元所述的基本操作来逐步构建家族树,每次只针对某实体节点进行添加父亲母亲、配偶、兄弟姐妹、子女节点及删除节点等操作来构建或编辑直系家族树,再通过新建的成员递 归进行这些操作,从而实现大家族的家族树。同时,可以通过丰富或变更节点对象的属性来 实现对个节点的信息的变更,从而灵活变更家族成员节点的信息,达到构建家族树的目的。在本发明实施例中,所述家族树的节点处理系统还可以包括以下模块家族树获取模块,用于依据用户提交的家族树获取请求中的唯一标识信息,提取 对应的节点,以及,该节点与其他节点之间的连接关系,生成家族树的展示信息。在具体实现中,可以利用节点之间相互关联的4类直接关系(父母、兄弟姐妹、配 偶、子女),以某个节点作为参照节点,通过应用广度搜索或者深度搜索算法,搜索出该节点 的整个家族树集合,从而获取已创建的家族树,为展示模块提供数据。通过这个功能,使得 不同用户可以访问同一棵家族树,用户可以通过身份标识登录到家族树,只要该用户是该 家族的成员,那么将得到其所在家族的整个家族树的展示。本发明的接口模块位于展示层,数据库位于模型层,家族树维护模块位于逻辑控 制层,展示层的输出接口是指用户可以通过逻辑控制层获取存储在数据库中的信息,并通 过各类形式呈现,如网页家族树、电子族谱、打印家族谱等;通过输入接口使用户得以操 纵节点添加子模块和节点删除子模块,从而将家族信息以各种形式(在网页上操作、通过 EXCEL导入、手工录入)导入至逻辑控制层。逻辑控制层是本发明的核心,可以方便地往家 族树中增减变家族成员,并将不同的家族树通过关联成员组成一棵新的更大的家族树。该 层接收展示层的输入信息,进行相应的逻辑处理后,将最终信息传递给数据库。用户查询 时,将通过该层从数据库模块中提取信息,做相应的展示处理后传递给展示层。模型层中的 数据库模块将家族信息持久化,以数据库、文件或者其他形式进行永久存储。在具体应用时,接口模块可以通过各类展示技术基于接口与逻辑层交互,可以通 过Flex技术、EXCEL、PDF等技术实现。可以通过B/S架构实现家族树,国内互联网的普及 情况良好,通过B/S架构可以方便中青年网民直接实时参与其家族的家族树创建和维护过 程;并可以十分便捷地创建家族博客等;可以通过提供各类输入接口,使已有的家族资料, 特别是传统族谱编辑方式积累下来的原始资料可以通过各类接口方便地录入到家族树中, 保持族谱的延续性,提高效率;可以通过提供各类输出接口,为各类家族树展示技术和工具 提供输出接口,提供满足各类需要的数据格式;可以通过定制家族树软件,在B/S架构的基 础上,应用本构建方法定制软件,实现离线编辑,然后通过定制的输入、输出接口实现数据 同步。数据库可以将逻辑控制层的相关对象通过流行的0/R Mapping技术或者数据访问 技术实现。家族树中的“节点”和“联系”与关系型数据库的结构特点很接近,通过关系型 数据库作为其数据存储,可以很方便地设计各类输入接口、输出接口,高效地实现各类统计 需求,并灵活实现家族数的扩展。本发明还提供了一种家族树的节点添加方法实施例,所述家族树中的节点包括实 体节点和虚拟节点,所述实体节点为具有唯一标识信息及属性信息的节点,所述虚拟节点 为无唯一标识信息及属性信息的节点,本实施例具体可以包括以下步骤当前节点创建步骤生成当前节点;双亲节点添加步骤针对当前节点创建父亲节点或母亲节点,同时创建一个虚拟 节点作为该父亲节点或母亲节点的配偶节点,并在当前节点存在与兄弟姐妹节点的连接关系时,添加所述兄弟姐妹节点与父亲节点或母亲节点的连接关系;以及,如果当前节点存 在与作为其父亲节点或母亲节点的虚拟节点的连接关系,则将所述虚拟节点更新为实体节 点;以及,如果当前节点存在单血缘关系的兄弟姐妹节点,则删除该兄弟姐妹节点后,为当 前节点添加父亲节点或母亲节点;兄弟姐妹节点关系添加步骤针对当前节点创建兄弟姐妹节点,并在当前节点存 在与父亲节点、母亲节点的连接关系时,添加所述兄弟姐妹节点与父亲节点或母亲节点的 连接关系;以及,若为当前节点添加单血缘关系的兄弟姐妹节点,则先添加父亲节点或母亲 节点,并添加该父亲节点或母亲节点与对应的配偶节点的连接关系,然后针对该父亲节点 或母亲节点添加子女节点,再添加当前节点与该子女节点的连接关系;配偶节点关系添加步骤针对当前节点创建配偶节点;若存在作为配偶节点的虚 拟节点,则将该虚拟节点更新为实体节点;子女节点关系添加步骤在当前节点存在配偶节点时,直接针对当前节点及配偶 节点添加子女节点;以及,若当前节点没有配偶节点,则先针对当前节点创建作为配偶节点 的虚拟节点,再针对所述当前节点及虚拟节点添加子女节点。由于本方法实施例相应于前述系统实施例中家族树维护模块中节点添加子模块 的功能,所以描述的比较简单,相关之处参见系统实施例的部分说明即可,本发明在此就不 赘述了。本发明还提供了一种家族树的节点删除方法实施例,所述家族树中的节点包括虚 拟节点和实体节点,所述实体节点为具有唯一标识信息及属性信息的节点,所述虚拟节点 为无唯一标识信息及属性信息的节点,本实施例具体可以包括以下步骤判断待删除的节点是否满足以下条件1)该节点所连接的父亲、母亲、兄弟姐妹节点的个数之和大于0,并且,该节点所 连接的配偶、子女节点的个数之和大于0。计数不包含虚拟节点;2)该节点为虚拟节点;3)该节点存在与一个以上的配偶节点的连接关系,计数不包含虚拟节点;4)该节点为外族关联节点,并且存在与外族成员的连接关系;其中,外族关联节 点为当前家族树和其他家族树进行关联的节点;5)该节点的某配偶节点,除该节点外还存在其它充当其配偶节点的虚拟节点的连 接关系;且该节点与某配偶节点还有子女节点。若待删除节点不满足以上所有条件,则执行以下步骤第1步、删除待删除节点与其配偶节点及子女节点之间的连接关系;如果待删除节点与其配偶节点没有与子女节点的连接关系,则直接断开待删除节 点与配偶节点之间的连接关系;如果待删除节点与其配偶节点存在与子女节点的连接关系,并且该配偶节点为虚 拟节点,则将待删除节点与虚拟节点一并删除,并删除与所述待删除节点与虚拟节点相关 联的节点连接关系;若该配偶节点为实体节点,则仅将待删除节点更新为虚拟节点;第2步、删除待删除节点与其父亲节点、母亲节点之间的连接关系如果所述父亲节点、母亲节点均为实体节点,则直接删除待删除节点与所述父亲 节点、母亲节点之间的连接关系;
如果所述父亲节点或母亲节点为虚拟节点,且在该父亲节点和母亲节点下只有一 个作为子女节点的待删除节点,则删除待删除节点与所述父亲节点与母亲节点之间的连接 关系,并删除所述虚拟节点;第3步、删除待删除节点与其兄弟姐妹节点之间的连接关系;第4步、删除该待删除节点。由于本方法实施例相应于前述系统实施例中家族树维护模块中节点删除子模块 的功能,所以描述的比较简单,相关之处参见系统实施例的部分说明即可,本发明在此就不 赘述了。本发明还提供了一种家族树的节点合并方法实施例,所述家族树中的节点包括虚 拟节点和实体节点,所述实体节点为具有唯一标识信息及属性信息的节点,所述虚拟节点 为无唯一标识信息及属性信息的节点,所述节点的属性信息包括性别信息、辈份信息;所述 合并的节点包括源节点和目标节点,并满足以下条件1)源节点和目标节点具有同一性别的表征;2)如果源节点和目标节点在同一棵家族树中,则源节点和目标节点具有同一辈份 的表征;3)如果源节点和目标节点形成兄弟姐妹节点的连接关系,则只有所述源节点和目 标节点具有共同的父亲节点和母亲节点时才能被合并;4)合并时如果有一方是虚拟节点、一方是实体节点,则将实体节点作为目标节点, 将虚拟节点作为源节点;所述的方法包括合并方向确定步骤在源节点和目标节点均为实体节点或均为虚拟节点,将目标 节点作为合并后的保留节点,将源节点作为合并后的删除节点;以及,在一方是实体节点, 一方是虚拟节点时,则将实体节点作为目标节点,将虚拟节点作为源节点;双亲节点合并步骤在源节点和目标节点均有父亲节点和母亲节点时,将源节点 和目标节点的父亲节点合并,将源节点和目标节点的母亲节点合并,然后删除源节点与所 述父亲节点和母亲节点的连接关系;以及,如果源节点和目标节点只有一方有父亲节点和 母亲节点,则依据该节点与父亲节点、母亲节点的连接关系,在目标节点上创建相应的与父 亲节点、母亲节点的连接关系,然后删除源节点与所述父亲节点、母亲节点的连接关系;配偶、子女节点合并步骤依据源节点与其配偶节点、子女节点的连接关系,在目 标节点上创建相应的与配偶节点、子女节点的连接关系,然后删除源节点与所述配偶节点、 子女节点的连接关系;兄弟姐妹节点合并步骤依据源节点与其兄弟姐妹节点的连接关系,在目标节点 上创建相应的与兄弟姐妹节点的连接关系,然后删除源节点与所述兄弟姐妹节点的连接关 系;源节点删除步骤删除该源节点。由于本方法实施例相应于前述系统实施例中家族树维护模块中节点合并子模块 的功能,所以描述的比较简单,相关之处参见系统实施例的部分说明即可,本发明在此就不 赘述了。在实际中,家庭成员可以通过家族树实现各种操作。例如
一、族谱管理首先可以建立直观的家族树自动生成族谱。用户可以自主管理家族树进行添加、 删除人员,并运用日历的辅助功能记录家庭节日、生日、纪念日等。最终导出,可形成各种形 式的家谱。二、自动匹配家族树里有一定的成员后,会自动识别判断两棵树之间是否有亲戚、宗族关系。如 果符合宗族关系,两棵树就可以建立关系,最后形成一个大的家族,家族里包含有家庭。比 如某人建立了自己的家族树并且添加了父母、爷爷、奶奶的信息。某人的堂兄也建立了自 己的家族树并添加了相关信息。该人和其堂兄的爷爷、奶奶是共同的,根据这个关系,家族 树会自动建立两棵树的关系并提示是否合并为一棵树。三、家庭沟通家族树有即时聊天、家庭日志、家庭祝福等互动功能。在一棵树或者有联系的树 里,成员们可以畅谈家事、国事、天下事。四、其他服务家族树还提供图片分享、家族礼物、家庭教育、家庭活动、音乐、空间等多种互动功 能。本发明可用于众多通用或专用的计算系统环境或配置中。例如多处理器系统、服 务器、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序 模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组 件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由 通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以 位于包括存储设备在内的本地和远程计算机存储介质中。以上对本发明所提供的一种家族树的节点处理系统、一种家族树的节点添加方 法、一种家族树的节点删除方法以及一种家族树的节点合并方法进行了详细介绍,本文中 应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助 理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想, 在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本 发明的限制。
权利要求
1.一种家族树的节点处理系统,其特征在于,包括 接口模块,用于为用户提供输入接口和输出接口 ; 数据库,用于存储家族树的数据信息;家族树维护模块,用于根据用户操作维护家族树中的节点以及节点之间的连接关系; 包括节点添加子模块,用于添加节点以及节点之间的连接关系; 节点删除子模块,用于按照预置删除规则删除节点及与该节点相关的连接关系; 节点合并子模块,用于按照预置合并规则合并关联节点,所述关联节点包括不同家族 树中的共有节点,以及,一棵家族树内部的相关节点。
2.如权利要求1所述的系统,其特征在于,所述家族树中的节点包括实体节点和虚拟 节点,所述实体节点为具有唯一标识信息及属性信息的节点,所述虚拟节点为没有唯一标 识信息及属性信息的节点;所述节点添加子模块包括 当前节点构建单元,用于生成当前节点;父母节点关系添加单元,用于针对当前节点创建父亲节点或母亲节点,同时创建一个 虚拟节点作为该父亲节点或母亲节点的配偶节点,并在当前节点存在与兄弟姐妹节点的连 接关系时,添加所述兄弟姐妹节点与父亲节点或母亲节点的连接关系;和/或,在当前节点存在单血缘关系的兄弟姐妹节点时,删除该兄弟姐妹节点后,为当 前节点添加父亲节点或母亲节点;和/或,在当前节点存在与作为其父亲节点或母亲节点的虚拟节点的连接关系时,将 所述虚拟节点更新为实体节点。
3.如权利要求2所述的系统,其特征在于,所述节点添加子模块还包括兄弟姐妹节点关系添加单元,用于针对当前节点创建兄弟姐妹节点,并在当前节点存 在与父亲节点、母亲节点的连接关系时,添加所述兄弟姐妹节点与父亲节点、母亲节点的连 接关系;和/或,若为当前节点添加单血缘关系的兄弟姐妹节点,则先添加父亲节点或母亲节 点,并添加该父亲节点或母亲节点与对应的配偶节点的连接关系,然后针对该父亲节点或 母亲节点添加子女节点,再添加当前节点与该子女节点的连接关系。
4.如权利要求3所述的系统,其特征在于,所述节点添加子模块还包括配偶节点关系添加单元,用于针对当前节点创建配偶节点;若存在作为配偶节点的虚 拟节点,则将该虚拟节点更新为实体节点。
5.如权利要求4所述的系统,其特征在于,所述节点添加子模块还包括子女节点关系添加单元,用于在当前节点存在配偶节点时,直接针对当前节点及配偶 节点添加子女节点;和/或,若当前节点没有配偶节点,则先针对当前节点创建作为配偶节点的虚拟节点, 再针对所述当前节点及虚拟节点添加子女节点。
6.如权利要求2所述的系统,其特征在于,所述节点删除子模块包括 判断单元,用于判断待删除的节点是否满足以下条件1)该节点所连接的父亲、母亲、兄弟姐妹节点的个数之和大于0,并且,该节点所连接的配偶、子女节点的个数之和大于0。计数不包含虚拟节点;2)该节点为虚拟节点;3)该节点存在与一个以上的配偶节点的连接关系,计数不包含虚拟节点;4)该节点为外族关联节点,并且存在与外族成员的连接关系;其中,外族关联节点为 当前家族树和其他家族树进行关联的节点;5)该节点的某配偶节点,除该节点外还存在其它充当其配偶节点的虚拟节点的连接关 系;且该节点与某配偶节点还有子女节点。删除处理单元,用于在待删除节点不满足以上所有条件时,通过以下步骤删除该节点第1步、删除待删除节点与其配偶节点及子女节点之间的连接关系; 如果待删除节点与其配偶节点没有与子女节点的连接关系,则直接断开待删除节点与 配偶节点之间的连接关系;如果待删除节点与其配偶节点存在与子女节点的连接关系,并且该配偶节点为虚拟节 点,则将待删除节点与虚拟节点一并删除,并删除与所述待删除节点与虚拟节点相关联的 节点连接关系;若该配偶节点为实体节点,则仅将待删除节点更新为虚拟节点; 第2步、删除待删除节点与其父亲节点、母亲节点之间的连接关系; 如果所述父亲节点、母亲节点均为实体节点,则直接删除待删除节点与所述父亲节点、 母亲节点之间的连接关系;如果所述父亲节点或母亲节点为虚拟节点,且在该父亲节点和母亲节点下只有一个 作为子女节点的待删除节点,则删除待删除节点与所述父亲节点与母亲节点之间的连接关 系,并删除所述虚拟节点;第3步、删除待删除节点与其兄弟姐妹节点之间的连接关系; 第4步、删除该待删除节点。
7.如权利要求2所述的系统,其特征在于,所述关联节点包括源节点与目标节点,所述 节点的属性信息包括性别信息、辈份信息;所述源节点和目标节点满足以下条件1)源节点和目标节点具有同一性别的表征;2)如果源节点和目标节点在同一棵家族树中,则源节点和目标节点具有同一辈份的表征;3)如果源节点和目标节点形成兄弟姐妹节点的连接关系,则只有所述源节点和目标节 点具有共同的父亲节点和母亲节点时才能被合并;4)合并时如果有一方是虚拟节点、一方是实体节点,则将实体节点作为目标节点,将虚 拟节点作为源节点;所述节点合并子模块包括合并方向确定单元,用于在源节点和目标节点均为实体节点或均为虚拟节点,将目标 节点作为合并后的保留节点,将源节点作为合并后的删除节点;和/或,在一方是实体节点,一方是虚拟节点时,则将实体节点作为目标节点,将虚拟 节点作为源节点;双亲节点合并单元,用于在源节点和目标节点均有父亲节点和母亲节点时,将源节点 和目标节点的父亲节点合并,将源节点和目标节点的母亲节点合并,然后删除源节点与所述父亲节点和母亲节点的连接关系;和/或,如果源节点和目标节点只有一方有父亲节点和母亲节点,则依据该节点与父 亲节点、母亲节点的连接关系,在目标节点上创建相应的与父亲节点、母亲节点的连接关 系,然后删除源节点与所述父亲节点、母亲节点的连接关系;配偶、子女节点合并单元,用于依据源节点与其配偶节点、子女节点的连接关系,在目 标节点上创建相应的与配偶节点、子女节点的连接关系,然后删除源节点与所述配偶节点、 子女节点的连接关系;兄弟姐妹节点合并单元,用于依据源节点与其兄弟姐妹节点的连接关系,在目标节点 上创建相应的与兄弟姐妹节点的连接关系,然后删除源节点与所述兄弟姐妹节点的连接关 系;源节点删除单元,用于删除该源节点。
8.一种家族树的节点添加方法,其特征在于,所述家族树中的节点包括虚拟节点和实 体节点,所述实体节点为具有唯一标识信息及属性信息的节点,所述虚拟节点为没有唯一 标识信息及属性信息的节点,所述的方法包括当前节点创建步骤生成当前节点;双亲节点添加步骤针对当前节点创建父亲节点或母亲节点,同时创建一个虚拟节点 作为该父亲节点或母亲节点的配偶节点,并在当前节点存在与兄弟姐妹节点的连接关系 时,添加所述兄弟姐妹节点与父亲节点或母亲节点的连接关系;以及,如果当前节点存在与 作为其父亲节点或母亲节点的虚拟节点的连接关系,则将所述虚拟节点更新为实体节点; 以及,如果当前节点存在单血缘关系的兄弟姐妹节点,则删除该兄弟姐妹节点后,为当前节 点添加父亲节点或母亲节点;兄弟姐妹节点关系添加步骤针对当前节点创建兄弟姐妹节点,并在当前节点存在与 父亲节点、母亲节点的连接关系时,添加所述兄弟姐妹节点与父亲节点或母亲节点的连接 关系;以及,若为当前节点添加单血缘关系的兄弟姐妹节点,则先添加父亲节点或母亲节 点,并添加该父亲节点或母亲节点与对应的配偶节点的连接关系,然后针对该父亲节点或 母亲节点添加子女节点,再添加当前节点与该子女节点的连接关系;配偶节点关系添加步骤针对当前节点创建配偶节点;若存在作为配偶节点的虚拟节 点,则将该虚拟节点更新为实体节点;子女节点关系添加步骤在当前节点存在配偶节点时,直接针对当前节点及配偶节点 添加子女节点;以及,若当前节点没有配偶节点,则先针对当前节点创建作为配偶节点的虚 拟节点,再针对所述当前节点及虚拟节点添加子女节点。
9.一种家族树的节点删除方法,其特征在于,所述家族树中的节点包括虚拟节点和实 体节点,所述实体节点为具有唯一标识信息及属性信息的节点,所述虚拟节点为没有唯一 标识信息及属性信息的节点,所述的方法包括判断待删除的节点是否满足以下条件1)该节点所连接的父亲、母亲、兄弟姐妹节点的个数之和大于0,并且,该节点所连接 的配偶、子女节点的个数之和大于0。计数不包含虚拟节点;2)该节点为虚拟节点;3)该节点存在与一个以上的配偶节点的连接关系,计数不包含虚拟节点;4)该节点为外族关联节点,并且存在与外族成员的连接关系;其中,外族关联节点为 当前家族树和其他家族树进行关联的节点;5)该节点的某配偶节点,除该节点外还存在其它充当其配偶节点的虚拟节点的连接关 系;且该节点与某配偶节点还有子女节点。若待删除节点不满足以上所有条件,则执行以下步骤 第1步、删除待删除节点与其配偶节点及子女节点之间的连接关系; 如果待删除节点与其配偶节点没有与子女节点的连接关系,则直接断开待删除节点与 配偶节点之间的连接关系;如果待删除节点与其配偶节点存在与子女节点的连接关系,并且该配偶节点为虚拟节 点,则将待删除节点与虚拟节点一并删除,并删除与所述待删除节点与虚拟节点相关联的 节点连接关系;若该配偶节点为实体节点,则仅将待删除节点更新为虚拟节点; 第2步、删除待删除节点与其父亲节点、母亲节点之间的连接关系 如果所述父亲节点、母亲节点均为实体节点,则直接删除待删除节点与所述父亲节点、 母亲节点之间的连接关系;如果所述父亲节点或母亲节点为虚拟节点,且在该父亲节点和母亲节点下只有一个 作为子女节点的待删除节点,则删除待删除节点与所述父亲节点与母亲节点之间的连接关 系,并删除所述虚拟节点;第3步、删除待删除节点与其兄弟姐妹节点之间的连接关系; 第4步、删除该待删除节点。
10. 一种家族树的节点合并方法,其特征在于,所述家族树中的节点包括实体节点和虚 拟节点,所述实体节点为具有唯一标识信息及属性信息的节点,所述虚拟节点为没有唯一 标识信息及属性信息的节点,所述节点的属性信息包括性别信息、辈份信息;所述合并的节 点包括源节点和目标节点,并满足以下条件1)源节点和目标节点具有同一性别的表征;2)如果源节点和目标节点在同一棵家族树中,则源节点和目标节点具有同一辈份的表征;3)如果源节点和目标节点形成兄弟姐妹节点的连接关系,则只有所述源节点和目标节 点具有共同的父亲节点和母亲节点时才能被合并;4)合并时如果有一方是虚拟节点、一方是实体节点,则将实体节点作为目标节点,将虚 拟节点作为源节点;所述的方法包括合并方向确定步骤在源节点和目标节点均为实体节点或均为虚拟节点,将目标节点 作为合并后的保留节点,将源节点作为合并后的删除节点;以及,在一方是实体节点,一方 是虚拟节点时,则将实体节点作为目标节点,将虚拟节点作为源节点;双亲节点合并步骤在源节点和目标节点均有父亲节点和母亲节点时,将源节点和目 标节点的父亲节点合并,将源节点和目标节点的母亲节点合并,然后删除源节点与所述父 亲节点和母亲节点的连接关系;以及,如果源节点和目标节点只有一方有父亲节点和母亲 节点,则依据该节点与父亲节点、母亲节点的连接关系,在目标节点上创建相应的与父亲节 点、母亲节点的连接关系,然后删除源节点与所述父亲节点、母亲节点的连接关系;配偶、子女节点合并步骤依据源节点与其配偶节点、子女节点的连接关系,在目标节 点上创建相应的与配偶节点、子女节点的连接关系,然后删除源节点与所述配偶节点、子女 节点的连接关系;兄弟姐妹节点合并步骤依据源节点与其兄弟姐妹节点的连接关系,在目标节点上创 建相应的与兄弟姐妹节点的连接关系,然后删除源节点与所述兄弟姐妹节点的连接关系; 源节点删除步骤删除该源节点。
全文摘要
本发明公开了一种家族树的节点处理系统及家族树的节点处理方法,所述家族树节点处理系统包括接口模块,用于为用户提供输入接口和输出接口;数据库,用于存储家族树的数据信息;家族树维护模块,用于根据用户操作维护家族树中的节点以及节点之间的连接关系;包括节点添加子模块,用于添加节点以及节点之间的连接关系;节点删除子模块,用于按照预置删除规则删除节点及与该节点相关的连接关系;节点合并子模块,用于按照预置合并规则合并关联节点,所述关联节点包括不同家族树中的共有节点,以及,一棵家族树内部的相关节点。本发明可以尽可能准确、完整地表征现实世界中各种复杂的家庭血缘关系,保证家族树维护的开放性,提高用户的使用体验。
文档编号G06F17/30GK102142015SQ20111003309
公开日2011年8月3日 申请日期2011年1月30日 优先权日2011年1月30日
发明者唐凌遥 申请人:唐凌遥