一种基于非通用表示的全库亲缘关系数据冲突检测方法

文档序号:6519312阅读:224来源:国知局
一种基于非通用表示的全库亲缘关系数据冲突检测方法
【专利摘要】本发明公开了一种基于非通用表示的全库亲缘关系数据冲突检测方法和装置,包括两层遍历过程,外层遍历过程顺序遍历库中每一个亲缘关系数据,内层顺序遍历过程顺序遍历当前亲缘关系数据每一个指明了相应亲缘关系人的属性,先转换为规范的两人之间亲缘关系数据然后进行冲突检测,冲突检测包括自然唯一性冲突、社会唯一性冲突、关系唯一性冲突、同一性冲突等的检测。本发明的目的在于提供一种基于非通用表示的全库亲缘关系数据冲突检测方法,使在亲缘关系数据库框架搭建并存放了数据之后能够检测到其中的数据冲突,以便进行必要的处理从而完善亲缘关系数据库。
【专利说明】 一种基于非通用表示的全库亲缘关系数据冲突检测方法
【技术领域】
[0001]本发明属于计算机信息处理领域,尤其涉及一种基于非通用表示的全库亲缘关系数据冲突检测方法和装置。
【背景技术】
[0002]亲缘关系数据冲突的主要形式有以下几种:一是违背了亲缘关系自然规律中的唯一性,比如任何一个人的亲生父母必定是唯一的,有且只有一个生父和生母,如果两个数据中显示某人各有一个不同的生父或生母,那就违背了这个唯一性,就是一种自然唯一性冲突,但除亲生父母或类似的关系人外其它种类关系人许多都不具有唯一性。二是违背了亲缘关系法律规定中的唯一性,比如大多数国家都是一夫一妻制,即任何一个成年人的配偶必须是唯一的,有且只有一个丈夫或妻子,如果两个数据中显示某人各有一个不同的丈夫或妻子,那就违背了这个唯一性,就是一种社会唯一性冲突,我国目前实行计划生育,要求一对夫妇只生一个孩子,因此相当一部分城市家庭的子女与父母也是一一对应的,但也有许多例外。自然唯一性冲突社会唯一性冲突可以合称为对应性冲突,其实就是违背了亲缘关系的相互对应性,亲缘关系是相互的,即对应存在的,比如父母和子女之间、夫妻之间等,如果两个数据中其中一个反映的乙是甲的儿子而另一个反映的则是丙是乙的父亲,那就违背了这个对应性,但由于其对应关系有的一一对应,而有的是一对多对应,其中只有违背了一一对应关系及违背了唯一性的关系的才是可检测的。三是违背了某些亲缘关系的同一性,比如同胞兄弟姐妹之间必定有一个共同的生父和/或生母,如果两个数据中显示某同胞兄弟姐妹既不同生父也不同生母,那就违背了这个同一性,就是一种同一性冲突。四是违背了两人之间某些亲缘关系自然存在的唯一性,比如任何两个人之间,要么是父子关系,要么是祖孙关系,两种关系若同时,那就违背了这个唯一性,就是一种关系唯一性冲突,但有些亲缘关系是允许同时存在的,比如亲生父母子女关系与抚养关系等,也有一些亲缘关系是事实是可能存在而法律上不允许存在,比如近亲不能结婚,但现实中仍有因为故意或非故意而结婚的。
[0003]上述四种冲突一般只涉及两个数据(同胞兄弟姐妹之间的同一性冲突在通用表示方式中涉及3个数据),都比较简单,是亲缘关系数据冲突的最基本的四种形式,但在现实中还有一些比较复杂的情况,涉及到3个或以上的数据,比如甲是乙的祖父且乙的父亲为丙,而另一条数据则是丙是丁的儿子,这种情况可以先进行关系推导得出最简化的亲缘关系数据进而变成两个数据之间的冲突,这样处理起来就比较简单了。
[0004]检测亲缘关系数据冲突是解决亲缘关系数据冲突的前置步骤,但检测亲缘关系数据冲突要考虑亲缘关系数据的表示方式,而亲缘关系数据的表示方式主要分两类,以申请号2013105443942的发明专利提出的通用表示方法和申请号2013105445948的发明专利等提出的非通用表示方法,这里针对仅基于非通用表示方法的亲缘关系数据集合(一般是存放关系数据库系统中,也可以是其它形式存放的,比如文件形式或其它类型数据库,所以后文统称亲缘关系数据库,简称为库,这并不代表一定存放在数据库系统中,只是对亲缘关系数据集合的统称)来构建检测亲缘关系数据冲突的方法和装置。检测亲缘关系数据一般有两个时机,一是有新的亲缘关系数据要存放到亲缘关系数据库时,针对新进亲缘关系数据进行冲突检测非常有必要,否则就会导致处理不当而丢失数据;二是针对数据库中所有数据进行全面检测,以发现数据质量存在的问题。这里仅考虑亲缘关系数据库搭建好并存放了数据后全库亲缘关系数据冲突检测的情况。而目前还没有相关的研究及可用的方法和装置。

【发明内容】

[0005]本发明要解决针对仅基于非通用表示方法的亲缘关系数据库中如何检测亲缘关系数据库已有的数据冲突的问题,为解决上述问题,本发明的目的在于提供一种基于非通用表示的亲缘关系数据库中全库亲缘关系数据冲突检测方法,使在亲缘关系数据库框架搭建并存放了数据之后能够检测到其中的数据冲突,以便进行必要的处理从而完善亲缘关系数据库。基于非通用表示方法的亲缘关系数据库中一个数据中包含一个关系人的某个亲缘关系种类的基本关系人或多种亲缘关系种类的主要关系人等一组亲缘关系,各个数据之间通过这些关系人形成自然的关联,所以在判断数据冲突时不需要进行全库检索,由于一个两人之间亲缘关系数据在非通用表示中用一个属性即可表示,所以在判断数据冲突时要检测库中亲缘关系数据相关的属性。基于非通用表示方法的亲缘关系数据库中需要检测社会唯一性冲突,尽管社会唯一性是法律规定的,而非自然规律,自然也就有违法的,或变更的情况,但基于非通用表示方法的亲缘关系数据库不能同时存放多个同类的数据,因此需要检测社会唯一性冲突。
[0006]为解决上述技术问题,本发明提出的非通用表示的全库亲缘关系数据冲突检测方法,主要包括以下步骤:
包括两层遍历过程,外层遍历过程顺序遍历库中每一个亲缘关系数据,内层顺序遍历过程顺序遍历当前亲缘关系数据每一个指明了相应亲缘关系人的属性,先转换为规范的两人之间亲缘关系数据然后进行冲突检测,冲突检测包括自然唯一性冲突、社会唯一性冲突、关系唯一性冲突、同一性冲突等的检测。
[0007]为解决上述技术问题,本发明提出的基于非通用表示的全库亲缘关系数据冲突检测装置,具备:
至少一个处理器;及
至少一个存储器,含有计算机程序代码,所述至少一个存储器和计算机程序代码被配置为利用所述至少一个处理器使得所述装置
包括两层遍历过程,外层遍历过程顺序遍历库中每一个亲缘关系数据,内层顺序遍历过程顺序遍历当前亲缘关系数据每一个指明了相应亲缘关系人的属性,先转换为规范的两人之间亲缘关系数据然后进行冲突检测,冲突检测包括自然唯一性冲突、社会唯一性冲突、关系唯一性冲突、同一性冲突等的检测。
[0008]其中的检测自然唯一性冲突步骤实现如下,判断当前处理的规范的两人之间亲缘关系数据的亲缘关系类别是否可能发生自然唯一性冲突,如果不可能那么得出检测结果是不存在自然唯一性冲突,如果可能则检测当前处理的规范的两人之间亲缘关系数据中两个关系人中非可能冲突关系角色对应的亲缘关系数据对应的指明了相应亲缘关系人的属性是否存在,如果不存在那么得出检测结果是不存在自然唯一性冲突,如果存在且非两个关系人中可能冲突关系角色那么得出检测结果是存在自然唯一性冲突且冲突的数据就是该属性,否则得出检测结果是不存在自然唯一性冲突。
[0009]其中的检测社会唯一性冲突步骤实现如下,判断当前处理的规范的两人之间亲缘关系数据的亲缘关系类别是否可能发生社会唯一性冲突,如果不可能那么得出检测结果是不存在社会唯一性冲突,如果可能则分别检测当前处理的规范的两人之间亲缘关系数据中两个关系人对应的亲缘关系数据中对应的指明了相应亲缘关系人的属性是否存在,如果不存在那么得出检测结果是不存在社会唯一性冲突,如果存在但非当前处理的规范的两人之间亲缘关系数据中的对方关系人那么得出检测结果是存在社会唯一性冲突且冲突的数据就是该属性,否则得出检测结果是不存在社会唯一性冲突。
[0010]其中的检测关系唯一性冲突步骤实现如下,分别检测当前处理的规范的两人之间亲缘关系数据中两个关系人对应的亲缘关系数据中是否存在指明对方关系人且亲缘关系与当前处理的规范的两人之间亲缘关系数据中的类别不相应的属性,如果不存在那么得出检测结果是不存在关系唯一性冲突,如果存在则一一检查两个亲缘关系是否能够共存,若不能共存则得出检测结果是存在关系唯一性冲突且冲突数据为该属性,否则得出检测结果是不存在关系唯一性冲突。
[0011]其中的检测同一性冲突步骤实现如下,判断当前处理的规范的两人之间亲缘关系数据的亲缘关系类别是否可能发生同一性冲突,如果不可能那么得出检测结果是不存在同一性冲突,如果可能那么检测当前处理的规范的两人之间亲缘关系数据中两个关系人对应的亲缘关系数据中是否同时存在对应的的指明了相应亲缘关系人的属性,如果不同时存在那么得出检测结果是不存在同一性冲突,如果同时存在但两者不相同那么得出检测结果是存在同一性冲突且冲突数据为此两个属性,否则得出检测结果是不存在同一性冲突。
【专利附图】

【附图说明】
[0012]图1为非通用表示的全库亲缘关系数据冲突检测方法或装置的基本流程。
【具体实施方式】
[0013]下面结合附图,对本发明的实施方式进行详细说明。
[0014]图1示出非通用表示的全库亲缘关系数据冲突检测方法或装置的基本流程:
包括两层遍历过程,外层遍历过程顺序遍历库中每一个亲缘关系数据,内层顺序遍历
过程顺序遍历当前亲缘关系数据每一个指明了相应亲缘关系人的属性,先转换为规范的两人之间亲缘关系数据然后进行冲突检测,冲突检测包括自然唯一性冲突、社会唯一性冲突、关系唯一性冲突、同一性冲突等的检测。外层遍历过程很好理解,一个亲缘关系数据都要检查一次。但由于在非通用表示的亲缘关系数据库中一个两人之间亲缘关系数据在非通用表示中用一个数据的一个属性即可表示,其实在这里一个亲缘关系数据包含了一组两人之间亲缘关系数据,所以在判断数据冲突时要对每一个亲缘关系数据的已经赋值了的属性进行冲突检测,为了方便检测需要把每一个已经赋值的属性转换为规范的两人之间亲缘关系数据,即包含参与的两个关系人、亲缘关系类别及各自关系角色的两人之间亲缘关系数据,所以内层遍历过程就是一个亲缘关系数据的每一个属性进行遍历的过程,其中只有已赋值的属性才需要进行冲突检测,没有赋值的不需要。
[0015]对于遍历过程中的每一个转换的规范的两人之间亲缘关系数据,在处理时就是当前处理的规范的两人之间亲缘关系数据,其冲突检测步骤如下:
第一步是检测自然唯一性冲突。判断当前处理的规范的两人之间亲缘关系数据的亲缘关系类别是否可能发生自然唯一性冲突,亲生父母子女关系是典型的具有自然唯一性的亲缘关系类别,任何人只有唯一的亲生父母,而婚姻关系则不具有自然唯一性,因为婚姻关系可以没有有也可以发生变化。如果不可能那么得出检测结果是不存在自然唯一性冲突,如果可能则检测当前处理的规范的两人之间亲缘关系数据中两个关系人中非可能冲突关系角色对应的亲缘关系数据对应的指明了相应亲缘关系人的属性是否存在,亲生父母子女关系中的自然唯一性是部分的,即任何人只有唯一的亲生父母,但任何父母可以有一个或以上的亲生子女,所以在这个关系当中,亲生父母是可能冲突关系角色,即有两个或以上的亲生父母可以肯定是相互冲突的,而子女则是非可能冲突关系角色,有两个或以上的亲生子女也是正常的,因此若当前处理的规范的两人之间亲缘关系数据为亲生父母子女关系,那么要检测的应是其中的子女角色对应的亲缘关系数据有无指定亲生父亲或母亲的且已被赋值的属性,没有赋值则无法比较可以认为没有冲突,这样的指定亲生父亲或母亲的属性若亲生父母与当前处理的规范的两人之间亲缘关系数据不符,才是我们要找的数据冲突,反之则不能。如果不存在那么得出检测结果是不存在自然唯一性冲突,如果存在且非两个关系人中可能冲突关系角色那么得出检测结果是存在自然唯一性冲突且冲突的数据就是该属性,否则得出检测结果是不存在自然唯一性冲突。
[0016]第二步是检测社会唯一性冲突。判断当前处理的规范的两人之间亲缘关系数据的亲缘关系类别是否可能发生社会唯一性冲突,社会唯一性冲突的典型关系是婚姻关系,当前世界上大多数国家包括我国都是一夫一妻制,按照这个规定如果甲的妻子是乙,那么乙的丈夫必须是甲,若是其他人则就是违背了社会唯一性的冲突。如果不可能那么得出检测结果是不存在社会唯一性冲突,如果可能则分别检测当前处理的规范的两人之间亲缘关系数据中两个关系人对应的亲缘关系数据中对应的指明了相应亲缘关系人的属性是否存在,对于婚姻关系来说就是要有配偶属性在且已被赋值,没有这个属性或没有被赋值均无法判断冲突是否存在。如果不存在那么得出检测结果是不存在社会唯一性冲突,如果存在但非当前处理的规范的两人之间亲缘关系数据中的对方关系人那么得出检测结果是存在社会唯一性冲突且冲突的数据就是该属性,否则得出检测结果是不存在社会唯一性冲突。
[0017]第三步是检测关系唯一性冲突。分别检测当前处理的规范的两人之间亲缘关系数据中两个关系人对应的亲缘关系数据中是否存在指明对方关系人且亲缘关系与当前处理的规范的两人之间亲缘关系数据中的类别不相应的属性,对于非通用表示的亲缘关系数据,如果一个关系人在两个或以上的属性中出现,如父亲是甲、儿子也是甲,就意味着可能存在冲突,如果已经至少有了一个属性出现了一次且和当前处理的规范的两人之间亲缘关系数据描述的亲缘关系不相应(因为亲生父母子女关系对应到两个关系人的亲缘关系数据中分别是亲生父母关系人和亲生子女关系人,因此不同的关系人要检测的属性会有不同),那么和前面一样,也意味着可能有冲突。如果不存在那么得出检测结果是不存在关系唯一性冲突,如果存在则一一检查两个亲缘关系是否能够共存,有些是亲缘关系人是可以出现两次的,比如亲生父亲/母亲和抚养人,血缘关系和婚姻关系也可以同时存在(属于乱伦的异常关系)。若不能共存则得出检测结果是存在关系唯一性冲突且冲突数据为该属性,否则得出检测结果是不存在关系唯一性冲突。
[0018]第四步是检测同一性冲突。判断当前处理的规范的两人之间亲缘关系数据的亲缘关系类别是否可能发生同一性冲突,现实生活中最常见的就是兄弟姐妹类的亲缘关系具有同一性,相互具有同父兄弟姐妹关系的关系人他们的亲生父亲应是相同的,而其它亲缘关系类别一般都没有同一性冲突的问题。如果不可能那么得出检测结果是不存在同一性冲突,如果不可能那么得出检测结果是不存在同一性冲突,如果可能那么检测当前处理的规范的两人之间亲缘关系数据中两个关系人对应的亲缘关系数据中是否同时存在对应的的指明了相应亲缘关系人的属性,一般情况下指的就是指明兄弟姐妹关系人(包括同父、同母、同养父、同养母等类型)的属性,如果不同时存在那么得出检测结果是不存在同一性冲突,这里是指同样的属性不同时存在才不存在冲突,若两个具有同父兄弟姐妹关系的关系人一个仅有亲生父亲属性、一个仅有养父属性也是不同时存在,如果同时存在但两者不相同那么得出检测结果是存在同一性冲突且冲突数据为此两个属性,如两个具有同父兄弟姐妹关系的关系人同时存在亲生父亲属性且两个属性已被赋值但值不相同,否则得出检测结果是不存在同一性冲突。
【权利要求】
1.一种基于非通用表示的全库亲缘关系数据冲突检测方法,其特征在于包括以下步骤: 包括两层遍历过程,外层遍历过程顺序遍历库中每一个亲缘关系数据,内层顺序遍历过程顺序遍历当前亲缘关系数据每一个指明了相应亲缘关系人的属性,先转换为规范的两人之间亲缘关系数据然后进行冲突检测,冲突检测包括自然唯一性冲突、社会唯一性冲突、关系唯一性冲突、同一性冲突等的检测。
2.根据权利要求1所述的基于非通用表示的全库亲缘关系数据冲突检测方法,其特征在于: 其中的检测自然唯一性冲突步骤实现如下,判断当前处理的规范的两人之间亲缘关系数据的亲缘关系类别是否可能发生自然唯一性冲突,如果不可能那么得出检测结果是不存在自然唯一性冲突,如果可能则检测当前处理的规范的两人之间亲缘关系数据中两个关系人中非可能冲突关系角色对应的亲缘关系数据对应的指明了相应亲缘关系人的属性是否存在,如果不存在那么得出检测结果是不存在自然唯一性冲突,如果存在且非两个关系人中可能冲突关系角色那么得出检测结果是存在自然唯一性冲突且冲突的数据就是该属性,否则得出检测结果是不存在自然唯一性冲突。
3.根据权利要求1所述的基于非通用表示的全库亲缘关系数据冲突检测方法,其特征在于: 其中的检测社会唯一性冲突步骤实现如下,判断当前处理的规范的两人之间亲缘关系数据的亲缘关系类别是否可能发生社会唯一性冲突,如果不可能那么得出检测结果是不存在社会唯一性冲突,如果可能则分别检测当前处理的规范的两人之间亲缘关系数据中两个关系人对应的亲缘关系数据中对应的指明了相应亲缘关系人的属性是否存在,如果不存在那么得出检测结果是不存在社会唯一性冲突,如果存在但非当前处理的规范的两人之间亲缘关系数据中的对方关系人那么得出检测结果是存在社会唯一性冲突且冲突的数据就是该属性,否则得出检测结果是不存在社会唯一性冲突。
4.根据权利要求1所述的基于非通用表示的全库亲缘关系数据冲突检测方法,其特征在于: 其中的检测关系唯一性冲突步骤实现如下,分别检测当前处理的规范的两人之间亲缘关系数据中两个关系人对应的亲缘关系数据中是否存在指明对方关系人且亲缘关系与当前处理的规范的两人之间亲缘关系数据中的类别不相应的属性,如果不存在那么得出检测结果是不存在关系唯一性冲突,如果存在则一一检查两个亲缘关系是否能够共存,若不能共存则得出检测结果是存在关系唯一性冲突且冲突数据为该属性,否则得出检测结果是不存在关系唯一性冲突。
5.根据权利要求1所述的基于非通用表示的全库亲缘关系数据冲突检测方法,其特征在于: 其中的检测同一性冲突步骤实现如下,判断当前处理的规范的两人之间亲缘关系数据的亲缘关系类别是否可能发生同一性冲突,如果不可能那么得出检测结果是不存在同一性冲突,如果可能那么检测当前处理的规范的两人之间亲缘关系数据中两个关系人对应的亲缘关系数据中是否同时存在对应的的指明了相应亲缘关系人的属性,如果不同时存在那么得出检测结果是不存在同一性冲突,如果同时存在但两者不相同那么得出检测结果是存在同一性冲突且冲突数据为此两个属性,否则得出检测结果是不存在同一性冲突。
6.一种基于非通用表示的全库亲缘关系数据冲突检测装置,其特征在于,该装置具备: 至少一个处理器;及 至少一个存储器,含有计算机程序代码,所述至少一个存储器和计算机程序代码被配置为利用所述至少一个处理器使得所述装置 包括两层遍历过程,外层遍历过程顺序遍历库中每一个亲缘关系数据,内层顺序遍历过程顺序遍历当前亲缘关系数据每一个指明了相应亲缘关系人的属性,先转换为规范的两人之间亲缘关系数据然后进行冲突检测,冲突检测包括自然唯一性冲突、社会唯一性冲突、关系唯一性冲突、同一性冲突等的检测。
7.根据权利要求6所述的基于非通用表示的全库亲缘关系数据冲突检测装置,其特征在于: 其中的检测自然唯一性冲突步骤实现如下,判断当前处理的规范的两人之间亲缘关系数据的亲缘关系类别是否可能发生自然唯一性冲突,如果不可能那么得出检测结果是不存在自然唯一性冲突,如果可能则检测当前处理的规范的两人之间亲缘关系数据中两个关系人中非可能冲突关系角色对应的亲缘关系数据对应的指明了相应亲缘关系人的属性是否存在,如果不存在那么得出检测结果是不存在自然唯一性冲突,如果存在且非两个关系人中可能冲突关系角色那么得出检测结果是存在自然唯一性冲突且冲突的数据就是该属性,否则得出检测结果是不存在自然唯一性冲突。
8.根据权利要求6所述的基于非通用表示的全库亲缘关系数据冲突检测装置,其特征在于: 其中的检测社会唯一性冲突步骤实现如下,判断当前处理的规范的两人之间亲缘关系数据的亲缘关系类别是否可能发生社会唯一性冲突,如果不可能那么得出检测结果是不存在社会唯一性冲突,如果可能则分别检测当前处理的规范的两人之间亲缘关系数据中两个关系人对应的亲缘关系数据中对应的指明了相应亲缘关系人的属性是否存在,如果不存在那么得出检测结果是不存在社会唯一性冲突,如果存在但非当前处理的规范的两人之间亲缘关系数据中的对方关系人那么得出检测结果是存在社会唯一性冲突且冲突的数据就是该属性,否则得出检测结果是不存在社会唯一性冲突。
9.根据权利要求6所述的基于非通用表示的全库亲缘关系数据冲突检测装置,其特征在于: 其中的检测关系唯一性冲突步骤实现如下,分别检测当前处理的规范的两人之间亲缘关系数据中两个关系人对应的亲缘关系数据中是否存在指明对方关系人且亲缘关系与当前处理的规范的两人之间亲缘关系数据中的类别不相应的属性,如果不存在那么得出检测结果是不存在关系唯一性冲突,如果存在则一一检查两个亲缘关系是否能够共存,若不能共存则得出检测结果是存在关系唯一性冲突且冲突数据为该属性,否则得出检测结果是不存在关系唯一性冲突。
10.根据权利要求6所述的基于非通用表示的全库亲缘关系数据冲突检测装置,其特征在于: 其中的检测同一性冲突步骤实现如下,判断当前处理的规范的两人之间亲缘关系数据的亲缘关系类别是否可能发生同一性冲突,如果不可能那么得出检测结果是不存在同一性冲突,如果可能那么检测当前处理的规范的两人之间亲缘关系数据中两个关系人对应的亲缘关系数据中是否同时存在对应的的指明了相应亲缘关系人的属性,如果不同时存在那么得出检测结果是不存在同一性冲突,如果同时存在但两者不相同那么得出检测结果是存在同一性冲突且冲突数据为此两个属性 ,否则得出检测结果是不存在同一性冲突。
【文档编号】G06F17/30GK103646042SQ201310576063
【公开日】2014年3月19日 申请日期:2013年11月18日 优先权日:2013年11月18日
【发明者】倪龙 申请人:宁波保税区攀峒信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1