專(zhuān)利名稱(chēng):家族樹(shù)的節(jié)點(diǎn)處理系統(tǒng)及家族樹(shù)的節(jié)點(diǎn)處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及家族樹(shù)的技術(shù)領(lǐng)域,特別是涉及一種家族樹(shù)的節(jié)點(diǎn)處理系統(tǒng)、一種家 族樹(shù)的節(jié)點(diǎn)添加方法、一種家族樹(shù)的節(jié)點(diǎn)刪除方法以及一種家族樹(shù)的節(jié)點(diǎn)合并方法。
背景技術(shù):
家族樹(shù),是指利用互聯(lián)網(wǎng)技術(shù),依據(jù)血緣關(guān)系或親祖關(guān)系把人聯(lián)系起來(lái),再按照輩 份排序構(gòu)成樹(shù)的模型。在樹(shù)中的成員可以清楚地知道自己的家族起源、家族關(guān)系以及其他 成員的基礎(chǔ)信息,并享有記錄、相冊(cè)等溝通娛樂(lè)服務(wù)。家族樹(shù)是以創(chuàng)建人為中心以血緣關(guān)系為脈絡(luò),向祖輩和后輩兩個(gè)方向擴(kuò)展,可分 為多個(gè)層次,同輩份的人在一個(gè)層次里面。在計(jì)算機(jī)系統(tǒng)中,家族樹(shù)可以由節(jié)點(diǎn)(家庭成 員)及節(jié)點(diǎn)間的連線(家庭成員之間的血緣聯(lián)系)構(gòu)成。如圖1所示的一棵簡(jiǎn)單的家族樹(shù) 的示意圖,在這棵家族樹(shù)中,當(dāng)前節(jié)點(diǎn)“我”向祖輩方向與“父親”節(jié)點(diǎn)和“母親”節(jié)點(diǎn)關(guān)聯(lián), 向后輩方向與“兒子”節(jié)點(diǎn)和“女兒”節(jié)點(diǎn)關(guān)聯(lián),向同輩方向與“妻子”節(jié)點(diǎn)和“兄弟”節(jié)點(diǎn)關(guān) 聯(lián)。并且,根據(jù)家庭成員之間的血緣聯(lián)系,不同節(jié)點(diǎn)之間也相互關(guān)聯(lián),例如,“父親”節(jié)點(diǎn)和 “母親”節(jié)點(diǎn)關(guān)聯(lián),“兄弟”節(jié)點(diǎn)同時(shí)與“父親”節(jié)點(diǎn)和“母親”節(jié)點(diǎn)關(guān)聯(lián),“妻子”節(jié)點(diǎn)同時(shí)與 “兒子”節(jié)點(diǎn)和“女兒”節(jié)點(diǎn)關(guān)聯(lián)等?,F(xiàn)有的家族樹(shù)節(jié)點(diǎn)關(guān)系,通常是基于應(yīng)用關(guān)系理論來(lái)構(gòu)建的對(duì)稱(chēng)關(guān)系,如現(xiàn)今比 較流行的各類(lèi)社交網(wǎng)絡(luò)中,各種“圈子”或“聯(lián)系人”等,都是對(duì)稱(chēng)的節(jié)點(diǎn)關(guān)系,然而,圖1所 示的家族樹(shù)中,只有兄弟姐妹節(jié)點(diǎn)之間是對(duì)稱(chēng)、反傳遞關(guān)系,除此之外,由于現(xiàn)實(shí)世界中家 庭血緣關(guān)系的復(fù)雜性,還存在諸多反傳遞、反對(duì)稱(chēng)的復(fù)雜節(jié)點(diǎn)關(guān)系,為表達(dá)這種復(fù)雜的節(jié)點(diǎn) 關(guān)系,采用現(xiàn)有技術(shù)維護(hù)家族樹(shù)的節(jié)點(diǎn)時(shí),不得不介入人工處理,通常需要通過(guò)人工編撰、 軟件處理,或者通過(guò)族譜信息收集表,由人工或者計(jì)算機(jī)集中處理才能較為準(zhǔn)確、完整地構(gòu) 建家族樹(shù)。所有參與人不能異步異地共同維護(hù)和處理族譜信息,影響家族樹(shù)維護(hù)的開(kāi)放性。 而且,現(xiàn)有的家族樹(shù)系統(tǒng)往往對(duì)現(xiàn)實(shí)世界中家庭血緣關(guān)系的表征不夠充分,如無(wú)法對(duì)單血 緣關(guān)系的后裔進(jìn)行處理,或無(wú)法將關(guān)聯(lián)的家族樹(shù)進(jìn)行合并等。因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問(wèn)題就是如何創(chuàng)新地提出 一種家族樹(shù)的節(jié)點(diǎn)處理機(jī)制,以盡可能準(zhǔn)確、完整地表征現(xiàn)實(shí)世界中各種復(fù)雜的家庭血緣 關(guān)系,保證家族樹(shù)維護(hù)的開(kāi)放性,提高用戶(hù)使用體驗(yàn)。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種家族樹(shù)的節(jié)點(diǎn)處理系統(tǒng),以及家族樹(shù)節(jié)點(diǎn) 的添加、刪除、合并方法,以盡可能準(zhǔn)確、完整地表征現(xiàn)實(shí)世界中各種復(fù)雜的家庭血緣關(guān)系, 保證家族樹(shù)維護(hù)的開(kāi)放性,提高用戶(hù)使用體驗(yàn)。為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例公開(kāi)了一種家族樹(shù)的節(jié)點(diǎn)處理系統(tǒng),包 括接口模塊,用于為用戶(hù)提供輸入接口和輸出接口 ;
數(shù)據(jù)庫(kù),用于存儲(chǔ)家族樹(shù)的數(shù)據(jù)信息;家族樹(shù)維護(hù)模塊,用于根據(jù)用戶(hù)操作維護(hù)家族樹(shù)中的節(jié)點(diǎn)以及節(jié)點(diǎn)之間的連接關(guān) 系;包括節(jié)點(diǎn)添加子模塊,用于添加節(jié)點(diǎn)以及節(jié)點(diǎn)之間的連接關(guān)系;節(jié)點(diǎn)刪除子模塊,用于按照預(yù)置刪除規(guī)則刪除節(jié)點(diǎn)及與該節(jié)點(diǎn)相關(guān)的連接關(guān)系;節(jié)點(diǎn)合并子模塊,用于按照預(yù)置合并規(guī)則合并關(guān)聯(lián)節(jié)點(diǎn),所述關(guān)聯(lián)節(jié)點(diǎn)包括不同 家族樹(shù)中的共有節(jié)點(diǎn),以及,一棵家族樹(shù)內(nèi)部的相關(guān)節(jié)點(diǎn)。優(yōu)選的,所述家族樹(shù)中的節(jié)點(diǎn)包括實(shí)體節(jié)點(diǎn)和虛擬節(jié)點(diǎn),所述實(shí)體節(jié)點(diǎn)為具有唯 一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述虛擬節(jié)點(diǎn)為沒(méi)有唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn);所述節(jié)點(diǎn)添加子模塊包括當(dāng)前節(jié)點(diǎn)構(gòu)建單元,用于生成當(dāng)前節(jié)點(diǎn);父母節(jié)點(diǎn)關(guān)系添加單元,用于針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建父親節(jié)點(diǎn)或母親節(jié)點(diǎn),同時(shí)創(chuàng)建 一個(gè)虛擬節(jié)點(diǎn)作為該父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的配偶節(jié)點(diǎn),并在當(dāng)前節(jié)點(diǎn)存在與兄弟姐妹節(jié)點(diǎn) 的連接關(guān)系時(shí),添加所述兄弟姐妹節(jié)點(diǎn)與父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的連接關(guān)系;和/或,在當(dāng)前節(jié)點(diǎn)存在單血緣關(guān)系的兄弟姐妹節(jié)點(diǎn)時(shí),刪除該兄弟姐妹節(jié)點(diǎn)后, 為當(dāng)前節(jié)點(diǎn)添加父親節(jié)點(diǎn)或母親節(jié)點(diǎn);和/或,在當(dāng)前節(jié)點(diǎn)存在與作為其父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的虛擬節(jié)點(diǎn)的連接關(guān)系 時(shí),將所述虛擬節(jié)點(diǎn)更新為實(shí)體節(jié)點(diǎn)。優(yōu)選的,所述節(jié)點(diǎn)添加子模塊還包括兄弟姐妹節(jié)點(diǎn)關(guān)系添加單元,用于針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建兄弟姐妹節(jié)點(diǎn),并在當(dāng)前節(jié) 點(diǎn)存在與父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系時(shí),添加所述兄弟姐妹節(jié)點(diǎn)與父親節(jié)點(diǎn)、母親節(jié)點(diǎn) 的連接關(guān)系;和/或,若為當(dāng)前節(jié)點(diǎn)添加單血緣關(guān)系的兄弟姐妹節(jié)點(diǎn),則先添加父親節(jié)點(diǎn)或母 親節(jié)點(diǎn),并添加該父親節(jié)點(diǎn)或母親節(jié)點(diǎn)與對(duì)應(yīng)的配偶節(jié)點(diǎn)的連接關(guān)系,然后針對(duì)該父親節(jié) 點(diǎn)或母親節(jié)點(diǎn)添加子女節(jié)點(diǎn),再添加當(dāng)前節(jié)點(diǎn)與該子女節(jié)點(diǎn)的連接關(guān)系。優(yōu)選的,所述節(jié)點(diǎn)添加子模塊還包括配偶節(jié)點(diǎn)關(guān)系添加單元,用于針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建配偶節(jié)點(diǎn);若存在作為配偶節(jié)點(diǎn) 的虛擬節(jié)點(diǎn),則將該虛擬節(jié)點(diǎn)更新為實(shí)體節(jié)點(diǎn)。優(yōu)選的,所述節(jié)點(diǎn)添加子模塊還包括子女節(jié)點(diǎn)關(guān)系添加單元,用于在當(dāng)前節(jié)點(diǎn)存在配偶節(jié)點(diǎn)時(shí),直接針對(duì)當(dāng)前節(jié)點(diǎn)及 配偶節(jié)點(diǎn)添加子女節(jié)點(diǎn);和/或,若當(dāng)前節(jié)點(diǎn)沒(méi)有配偶節(jié)點(diǎn),則先針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建作為配偶節(jié)點(diǎn)的虛擬 節(jié)點(diǎn),再針對(duì)所述當(dāng)前節(jié)點(diǎn)及虛擬節(jié)點(diǎn)添加子女節(jié)點(diǎn)。優(yōu)選的,所述節(jié)點(diǎn)刪除子模塊包括判斷單元,用于判斷待刪除的節(jié)點(diǎn)是否滿(mǎn)足以下條件1)該節(jié)點(diǎn)所連接的父親、母親、兄弟姐妹節(jié)點(diǎn)的個(gè)數(shù)之和大于0,并且,該節(jié)點(diǎn)所 連接的配偶、子女節(jié)點(diǎn)的個(gè)數(shù)之和大于0。計(jì)數(shù)不包含虛擬節(jié)點(diǎn);2)該節(jié)點(diǎn)為虛擬節(jié)點(diǎn);3)該節(jié)點(diǎn)存在與一個(gè)以上的配偶節(jié)點(diǎn)的連接關(guān)系,計(jì)數(shù)不包含虛擬節(jié)點(diǎn);
4)該節(jié)點(diǎn)為外族關(guān)聯(lián)節(jié)點(diǎn),并且存在與外族成員的連接關(guān)系;其中,外族關(guān)聯(lián)節(jié) 點(diǎn)為當(dāng)前家族樹(shù)和其他家族樹(shù)進(jìn)行關(guān)聯(lián)的節(jié)點(diǎn);5)該節(jié)點(diǎn)的某配偶節(jié)點(diǎn),除該節(jié)點(diǎn)外還存在其它充當(dāng)其配偶節(jié)點(diǎn)的虛擬節(jié)點(diǎn)的連 接關(guān)系;且該節(jié)點(diǎn)與某配偶節(jié)點(diǎn)還有子女節(jié)點(diǎn)。刪除處理單元,用于在待刪除節(jié)點(diǎn)不滿(mǎn)足以上所有條件時(shí),通過(guò)以下步驟刪除該 節(jié)占.
I— /、、、 第1步、刪除待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)及子女節(jié)點(diǎn)之間的連接關(guān)系;如果待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)沒(méi)有與子女節(jié)點(diǎn)的連接關(guān)系,則直接斷開(kāi)待刪除節(jié) 點(diǎn)與配偶節(jié)點(diǎn)之間的連接關(guān)系;如果待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)存在與子女節(jié)點(diǎn)的連接關(guān)系,并且該配偶節(jié)點(diǎn)為虛 擬節(jié)點(diǎn),則將待刪除節(jié)點(diǎn)與虛擬節(jié)點(diǎn)一并刪除,并刪除與所述待刪除節(jié)點(diǎn)與虛擬節(jié)點(diǎn)相關(guān) 聯(lián)的節(jié)點(diǎn)連接關(guān)系;若該配偶節(jié)點(diǎn)為實(shí)體節(jié)點(diǎn),則僅將待刪除節(jié)點(diǎn)更新為虛擬節(jié)點(diǎn);第2步、刪除待刪除節(jié)點(diǎn)與其父親節(jié)點(diǎn)、母親節(jié)點(diǎn)之間的連接關(guān)系;如果所述父親節(jié)點(diǎn)、母親節(jié)點(diǎn)均為實(shí)體節(jié)點(diǎn),則直接刪除待刪除節(jié)點(diǎn)與所述父親 節(jié)點(diǎn)、母親節(jié)點(diǎn)之間的連接關(guān)系;如果所述父親節(jié)點(diǎn)或母親節(jié)點(diǎn)為虛擬節(jié)點(diǎn),且在該父親節(jié)點(diǎn)和母親節(jié)點(diǎn)下只有一 個(gè)作為子女節(jié)點(diǎn)的待刪除節(jié)點(diǎn),則刪除待刪除節(jié)點(diǎn)與所述父親節(jié)點(diǎn)與母親節(jié)點(diǎn)之間的連接 關(guān)系,并刪除所述虛擬節(jié)點(diǎn);第3步、刪除待刪除節(jié)點(diǎn)與其兄弟姐妹節(jié)點(diǎn)之間的連接關(guān)系;第4步、刪除該待刪除節(jié)點(diǎn)。優(yōu)選的,所述關(guān)聯(lián)節(jié)點(diǎn)包括源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn),所述節(jié)點(diǎn)的屬性信息包括性別信 息、輩份信息;所述源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)滿(mǎn)足以下條件1)源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)具有同一性別的表征;2)如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)在同一棵家族樹(shù)中,則源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)具有同一輩份 的表征;3)如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)形成兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,則只有所述源節(jié)點(diǎn)和目 標(biāo)節(jié)點(diǎn)具有共同的父親節(jié)點(diǎn)和母親節(jié)點(diǎn)時(shí)才能被合并;4)合并時(shí)如果有一方是虛擬節(jié)點(diǎn)、一方是實(shí)體節(jié)點(diǎn),則將實(shí)體節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn), 將虛擬節(jié)點(diǎn)作為源節(jié)點(diǎn);所述節(jié)點(diǎn)合并子模塊包括合并方向確定單元,用于在源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)均為實(shí)體節(jié)點(diǎn)或均為虛擬節(jié)點(diǎn),將 目標(biāo)節(jié)點(diǎn)作為合并后的保留節(jié)點(diǎn),將源節(jié)點(diǎn)作為合并后的刪除節(jié)點(diǎn);和/或,在一方是實(shí)體節(jié)點(diǎn),一方是虛擬節(jié)點(diǎn)時(shí),則將實(shí)體節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),將 虛擬節(jié)點(diǎn)作為源節(jié)點(diǎn);雙親節(jié)點(diǎn)合并單元,用于在源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)均有父親節(jié)點(diǎn)和母親節(jié)點(diǎn)時(shí),將源 節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)的父親節(jié)點(diǎn)合并,將源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)的母親節(jié)點(diǎn)合并,然后刪除源節(jié)點(diǎn) 與所述父親節(jié)點(diǎn)和母親節(jié)點(diǎn)的連接關(guān)系;和/或,如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)只有一方有父親節(jié)點(diǎn)和母親節(jié)點(diǎn),則依據(jù)該節(jié)點(diǎn) 與父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系,在目標(biāo)節(jié)點(diǎn)上創(chuàng)建相應(yīng)的與父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系;配偶、子女節(jié)點(diǎn)合并單元,用于依據(jù)源節(jié)點(diǎn)與其配偶節(jié)點(diǎn)、子女節(jié)點(diǎn)的連接關(guān)系, 在目標(biāo)節(jié)點(diǎn)上創(chuàng)建相應(yīng)的與配偶節(jié)點(diǎn)、子女節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述配偶 節(jié)點(diǎn)、子女節(jié)點(diǎn)的連接關(guān)系;兄弟姐妹節(jié)點(diǎn)合并單元,用于依據(jù)源節(jié)點(diǎn)與其兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,在目標(biāo) 節(jié)點(diǎn)上創(chuàng)建相應(yīng)的與兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述兄弟姐妹節(jié)點(diǎn)的連 接關(guān)系;源節(jié)點(diǎn)刪除單元,用于刪除該源節(jié)點(diǎn)。本發(fā)明實(shí)施例還公開(kāi)了一種家族樹(shù)的節(jié)點(diǎn)添加方法,所述家族樹(shù)中的節(jié)點(diǎn)包括虛 擬節(jié)點(diǎn)和實(shí)體節(jié)點(diǎn),所述實(shí)體節(jié)點(diǎn)為具有唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述虛擬節(jié)點(diǎn) 為無(wú)唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述方法包括當(dāng)前節(jié)點(diǎn)創(chuàng)建步驟生成當(dāng)前節(jié)點(diǎn);雙親節(jié)點(diǎn)添加步驟針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建父親節(jié)點(diǎn)或母親節(jié)點(diǎn),同時(shí)創(chuàng)建一個(gè)虛擬 節(jié)點(diǎn)作為該父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的配偶節(jié)點(diǎn),并在當(dāng)前節(jié)點(diǎn)存在與兄弟姐妹節(jié)點(diǎn)的連接關(guān) 系時(shí),添加所述兄弟姐妹節(jié)點(diǎn)與父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的連接關(guān)系;以及,如果當(dāng)前節(jié)點(diǎn)存 在與作為其父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的虛擬節(jié)點(diǎn)的連接關(guān)系,則將所述虛擬節(jié)點(diǎn)更新為實(shí)體節(jié) 點(diǎn);以及,如果當(dāng)前節(jié)點(diǎn)存在單血緣關(guān)系的兄弟姐妹節(jié)點(diǎn),則刪除該兄弟姐妹節(jié)點(diǎn)后,為當(dāng) 前節(jié)點(diǎn)添加父親節(jié)點(diǎn)或母親節(jié)點(diǎn);兄弟姐妹節(jié)點(diǎn)關(guān)系添加步驟針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建兄弟姐妹節(jié)點(diǎn),并在當(dāng)前節(jié)點(diǎn)存 在與父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系時(shí),添加所述兄弟姐妹節(jié)點(diǎn)與父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的 連接關(guān)系;以及,若為當(dāng)前節(jié)點(diǎn)添加單血緣關(guān)系的兄弟姐妹節(jié)點(diǎn),則先添加父親節(jié)點(diǎn)或母親 節(jié)點(diǎn),并添加該父親節(jié)點(diǎn)或母親節(jié)點(diǎn)與對(duì)應(yīng)的配偶節(jié)點(diǎn)的連接關(guān)系,然后針對(duì)該父親節(jié)點(diǎn) 或母親節(jié)點(diǎn)添加子女節(jié)點(diǎn),再添加當(dāng)前節(jié)點(diǎn)與該子女節(jié)點(diǎn)的連接關(guān)系;配偶節(jié)點(diǎn)關(guān)系添加步驟針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建配偶節(jié)點(diǎn);若存在作為配偶節(jié)點(diǎn)的虛 擬節(jié)點(diǎn),則將該虛擬節(jié)點(diǎn)更新為實(shí)體節(jié)點(diǎn);子女節(jié)點(diǎn)關(guān)系添加步驟在當(dāng)前節(jié)點(diǎn)存在配偶節(jié)點(diǎn)時(shí),直接針對(duì)當(dāng)前節(jié)點(diǎn)及配偶 節(jié)點(diǎn)添加子女節(jié)點(diǎn);以及,若當(dāng)前節(jié)點(diǎn)沒(méi)有配偶節(jié)點(diǎn),則先針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建作為配偶節(jié)點(diǎn) 的虛擬節(jié)點(diǎn),再針對(duì)所述當(dāng)前節(jié)點(diǎn)及虛擬節(jié)點(diǎn)添加子女節(jié)點(diǎn)。本發(fā)明實(shí)施例還公開(kāi)了一種家族樹(shù)的節(jié)點(diǎn)刪除方法,所述家族樹(shù)中的節(jié)點(diǎn)包括虛 擬節(jié)點(diǎn)和實(shí)體節(jié)點(diǎn),所述實(shí)體節(jié)點(diǎn)為具有唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述虛擬節(jié)點(diǎn) 為無(wú)唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述方法包括判斷待刪除的節(jié)點(diǎn)是否滿(mǎn)足以下條件1)該節(jié)點(diǎn)所連接的父親、母親、兄弟姐妹節(jié)點(diǎn)的個(gè)數(shù)之和大于0,并且,該節(jié)點(diǎn)所 連接的配偶、子女節(jié)點(diǎn)的個(gè)數(shù)之和大于0。計(jì)數(shù)不包含虛擬節(jié)點(diǎn);2)該節(jié)點(diǎn)為虛擬節(jié)點(diǎn);3)該節(jié)點(diǎn)存在與一個(gè)以上的配偶節(jié)點(diǎn)的連接關(guān)系,計(jì)數(shù)不包含虛擬節(jié)點(diǎn);4)該節(jié)點(diǎn)為外族關(guān)聯(lián)節(jié)點(diǎn),并且存在與外族成員的連接關(guān)系;其中,外族關(guān)聯(lián)節(jié) 點(diǎn)為當(dāng)前家族樹(shù)和其他家族樹(shù)進(jìn)行關(guān)聯(lián)的節(jié)點(diǎn);5)該節(jié)點(diǎn)的某配偶節(jié)點(diǎn),除該節(jié)點(diǎn)外還存在其它充當(dāng)其配偶節(jié)點(diǎn)的虛擬節(jié)點(diǎn)的連接關(guān)系;且該節(jié)點(diǎn)與某配偶節(jié)點(diǎn)還有子女節(jié)點(diǎn)。若待刪除節(jié)點(diǎn)不滿(mǎn)足以上所有條件,則執(zhí)行以下步驟第1步、刪除待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)及子女節(jié)點(diǎn)之間的連接關(guān)系;如果待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)沒(méi)有與子女節(jié)點(diǎn)的連接關(guān)系,則直接斷開(kāi)待刪除節(jié) 點(diǎn)與配偶節(jié)點(diǎn)之間的連接關(guān)系;如果待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)存在與子女節(jié)點(diǎn)的連接關(guān)系,并且該配偶節(jié)點(diǎn)為虛 擬節(jié)點(diǎn),則將待刪除節(jié)點(diǎn)與虛擬節(jié)點(diǎn)一并刪除,并刪除與所述待刪除節(jié)點(diǎn)與虛擬節(jié)點(diǎn)相關(guān) 聯(lián)的節(jié)點(diǎn)連接關(guān)系;若該配偶節(jié)點(diǎn)為實(shí)體節(jié)點(diǎn),則僅將待刪除節(jié)點(diǎn)更新為虛擬節(jié)點(diǎn);第2步、刪除待刪除節(jié)點(diǎn)與其父親節(jié)點(diǎn)、母親節(jié)點(diǎn)之間的連接關(guān)系如果所述父親節(jié)點(diǎn)、母親節(jié)點(diǎn)均為實(shí)體節(jié)點(diǎn),則直接刪除待刪除節(jié)點(diǎn)與所述父親 節(jié)點(diǎn)、母親節(jié)點(diǎn)之間的連接關(guān)系;如果所述父親節(jié)點(diǎn)或母親節(jié)點(diǎn)為虛擬節(jié)點(diǎn),且在該父親節(jié)點(diǎn)和母親節(jié)點(diǎn)下只有一 個(gè)作為子女節(jié)點(diǎn)的待刪除節(jié)點(diǎn),則刪除待刪除節(jié)點(diǎn)與所述父親節(jié)點(diǎn)與母親節(jié)點(diǎn)之間的連接 關(guān)系,并刪除所述虛擬節(jié)點(diǎn);第3步、刪除待刪除節(jié)點(diǎn)與其兄弟姐妹節(jié)點(diǎn)之間的連接關(guān)系;第4步、刪除該待刪除節(jié)點(diǎn)。本發(fā)明實(shí)施例還公開(kāi)了一種家族樹(shù)的節(jié)點(diǎn)合并方法,所述家族樹(shù)中的節(jié)點(diǎn)包括實(shí) 體節(jié)點(diǎn)和虛擬節(jié)點(diǎn),所述實(shí)體節(jié)點(diǎn)為具有唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述虛擬節(jié)點(diǎn) 為無(wú)唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述節(jié)點(diǎn)的屬性信息包括性別信息、輩份信息;所述 合并的節(jié)點(diǎn)包括源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn),并滿(mǎn)足以下條件1)源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)具有同一性別的表征;2)如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)在同一棵家族樹(shù)中,則源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)具有同一輩份 的表征;3)如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)形成兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,則只有所述源節(jié)點(diǎn)和目 標(biāo)節(jié)點(diǎn)具有共同的父親節(jié)點(diǎn)和母親節(jié)點(diǎn)時(shí)才能被合并;4)合并時(shí)如果有一方是虛擬節(jié)點(diǎn)、一方是實(shí)體節(jié)點(diǎn),則將實(shí)體節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn), 將虛擬節(jié)點(diǎn)作為源節(jié)點(diǎn);所述的方法包括合并方向確定步驟在源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)均為實(shí)體節(jié)點(diǎn)或均為虛擬節(jié)點(diǎn),將目標(biāo) 節(jié)點(diǎn)作為合并后的保留節(jié)點(diǎn),將源節(jié)點(diǎn)作為合并后的刪除節(jié)點(diǎn);以及,在一方是實(shí)體節(jié)點(diǎn), 一方是虛擬節(jié)點(diǎn)時(shí),則將實(shí)體節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),將虛擬節(jié)點(diǎn)作為源節(jié)點(diǎn);雙親節(jié)點(diǎn)合并步驟在源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)均有父親節(jié)點(diǎn)和母親節(jié)點(diǎn)時(shí),將源節(jié)點(diǎn) 和目標(biāo)節(jié)點(diǎn)的父親節(jié)點(diǎn)合并,將源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)的母親節(jié)點(diǎn)合并,然后刪除源節(jié)點(diǎn)與所 述父親節(jié)點(diǎn)和母親節(jié)點(diǎn)的連接關(guān)系;以及,如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)只有一方有父親節(jié)點(diǎn)和 母親節(jié)點(diǎn),則依據(jù)該節(jié)點(diǎn)與父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系,在目標(biāo)節(jié)點(diǎn)上創(chuàng)建相應(yīng)的與父 親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系;配偶、子女節(jié)點(diǎn)合并步驟依據(jù)源節(jié)點(diǎn)與其配偶節(jié)點(diǎn)、子女節(jié)點(diǎn)的連接關(guān)系,在目 標(biāo)節(jié)點(diǎn)上創(chuàng)建相應(yīng)的與配偶節(jié)點(diǎn)、子女節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述配偶節(jié)點(diǎn)、 子女節(jié)點(diǎn)的連接關(guān)系;
兄弟姐妹節(jié)點(diǎn)合并步驟依據(jù)源節(jié)點(diǎn)與其兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,在目標(biāo)節(jié)點(diǎn) 上創(chuàng)建相應(yīng)的與兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述兄弟姐妹節(jié)點(diǎn)的連接關(guān) 系;源節(jié)點(diǎn)刪除步驟刪除該源節(jié)點(diǎn)。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)第一、從運(yùn)用關(guān)系理論的角度來(lái)看現(xiàn)在流行的各類(lèi)社交網(wǎng)絡(luò)和其他應(yīng)用通常運(yùn) 用關(guān)系理論來(lái)構(gòu)建各種“圈子”或“聯(lián)系”,節(jié)點(diǎn)之間通常是基于對(duì)稱(chēng)關(guān)系,而本發(fā)明中節(jié)點(diǎn) 之間的四種聯(lián)系相關(guān)聯(lián)的節(jié)點(diǎn)之間只有兄弟姐妹節(jié)點(diǎn)之間是對(duì)稱(chēng)、反傳遞關(guān)系,其他聯(lián)系 相關(guān)聯(lián)的節(jié)點(diǎn)之間反傳遞、反對(duì)稱(chēng),需要處理更多特殊情況以更好地反映族譜的現(xiàn)實(shí)存在。第二、從現(xiàn)行族譜的信息處理方式來(lái)看現(xiàn)行族譜修訂方法,不管是人工編撰、軟 件處理,或者通過(guò)族譜信息收集表,其信息處理的方式都是集中人工或者計(jì)算機(jī)集中處理, 不能做到本發(fā)明所實(shí)現(xiàn)的所有參與人、異步異地共同維護(hù)和處理族譜信息的功能。本發(fā)明 使得用戶(hù)可以方便地通過(guò)網(wǎng)絡(luò)等形式共同使用和維護(hù)所在的家族樹(shù),可以實(shí)現(xiàn)人人參與家 族譜的修訂,并利用網(wǎng)絡(luò)實(shí)時(shí)更新信息。第三、從最終實(shí)現(xiàn)來(lái)看本發(fā)明有超越現(xiàn)有家族樹(shù)網(wǎng)站的三個(gè)亮點(diǎn)(1)支持往家 族中包括單血緣關(guān)系的后裔;(2)支持家族樹(shù)間的復(fù)雜合并;(3)不僅可以應(yīng)用于網(wǎng)站,還 可以應(yīng)用于軟件開(kāi)發(fā),特別是滿(mǎn)足中國(guó)人修譜習(xí)慣的軟件。第四、本發(fā)明基于單個(gè)家庭成員開(kāi)始構(gòu)建家族樹(shù),支持家族成員的多次婚配的情 況,支持不同家族樹(shù)之間的合并,能夠反映現(xiàn)實(shí)中的絕大多數(shù)家族構(gòu)成場(chǎng)景。第五、本發(fā)明改變了人們利用原始修譜方法,避免修譜工作繁重、耗費(fèi)財(cái)力而擱置 修譜造成家譜失修、失傳的狀況;統(tǒng)一規(guī)范,避免家族譜排版及描述的局限性,利用具有時(shí) 代特點(diǎn)的元素來(lái)“書(shū)寫(xiě)”族譜,如加入照片、語(yǔ)音介紹、主題音樂(lè)等,并永遠(yuǎn)去掉原始家譜不 宜搜索的缺點(diǎn);參與者無(wú)需具備專(zhuān)門(mén)的家譜學(xué)知識(shí),更不需要有專(zhuān)家參與,只要求會(huì)用簡(jiǎn) 單的電腦操作即可,大大降低了家譜修訂的條件;隨時(shí)可以將家族譜進(jìn)行更新和輸出成不 同的展現(xiàn)格式,比如可以拷貝成DVD形成電子族譜,也可以打印成原始族譜,滿(mǎn)足不同的需 求。
圖1是本發(fā)明的一種示例中的家族樹(shù)示意圖; 圖2是本發(fā)明的一種家族樹(shù)的節(jié)點(diǎn)處理系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖; 圖3是本發(fā)明的一種示例中的家族樹(shù)示意圖; 圖4是圖3所示的家族樹(shù)展開(kāi)后的示意圖; 圖5是本發(fā)明的一種示例中的家族樹(shù)示意圖; 圖6是本發(fā)明的一種示例中的家族樹(shù)示意圖; 圖7是本發(fā)明的一種示例中的家族樹(shù)示意圖; 圖8是本發(fā)明的一種示例中的家族樹(shù)示意圖; 圖9-圖15是本發(fā)明各節(jié)點(diǎn)刪除示例的示意圖; 圖16-圖25是本發(fā)明各節(jié)點(diǎn)合并示例的示意圖。
具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí) 施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。家族樹(shù),是一種家庭文化的工具。其主要是針對(duì)中國(guó)人的家庭觀念以及對(duì)自身姓 氏認(rèn)同的需要,涵蓋了家庭生活記錄、教育、家族文化傳承、觀念等各個(gè)方面。作為家庭中必 備的文化工具手冊(cè),家族樹(shù)能幫助記錄著真實(shí)的記載自己和家庭較長(zhǎng)時(shí)期內(nèi)所發(fā)生的一切 事情,并傳承家族史。在傳統(tǒng)的中國(guó)家庭里,都持有認(rèn)祖歸宗的思想,而編纂家譜無(wú)論在信息源還是操 作中都是一個(gè)浩大的工程。家族樹(shù)借助于互聯(lián)網(wǎng),輕松的解決了這個(gè)問(wèn)題,并且可以通過(guò)分 享、收藏等多種互動(dòng)行為與家族人溝通、交流。本發(fā)明實(shí)施例的核心構(gòu)思之一在于,基于單個(gè)家庭成員開(kāi)始構(gòu)建家族樹(shù),支持家 族成員的多次婚配的情況,支持不同家族樹(shù)之間的合并,能夠反映現(xiàn)實(shí)中的絕大多數(shù)家族 構(gòu)成場(chǎng)景,并使得用戶(hù)可以方便地通過(guò)網(wǎng)絡(luò)等形式共同使用和維護(hù)所在的家族樹(shù)。參照?qǐng)D2,示出了本發(fā)明的一種家族樹(shù)的節(jié)點(diǎn)處理系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖,具體可 以包括接口模塊11,用于為用戶(hù)提供輸入接口和輸出接口 ;數(shù)據(jù)庫(kù)12,用于存儲(chǔ)家族樹(shù)的數(shù)據(jù)信息;家族樹(shù)維護(hù)模塊13,用于根據(jù)用戶(hù)操作維護(hù)家族樹(shù)中的節(jié)點(diǎn)以及節(jié)點(diǎn)之間的連接 關(guān)系;具體可以包括以下子模塊節(jié)點(diǎn)添加子模塊131,用于添加節(jié)點(diǎn)以及節(jié)點(diǎn)之間的連接關(guān)系;節(jié)點(diǎn)刪除子模塊132,用于按照預(yù)置刪除規(guī)則刪除節(jié)點(diǎn)及與該節(jié)點(diǎn)相關(guān)的連接關(guān) 系;節(jié)點(diǎn)合并子模塊133,用于按照預(yù)置合并規(guī)則合并關(guān)聯(lián)節(jié)點(diǎn),所述關(guān)聯(lián)節(jié)點(diǎn)包括不 同家族樹(shù)中的共有節(jié)點(diǎn),以及,一棵家族樹(shù)內(nèi)部的相關(guān)節(jié)點(diǎn)。為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,以下簡(jiǎn)單介紹本說(shuō)明書(shū)中涉及的相關(guān)名 詞進(jìn)行解釋說(shuō)明。家族樹(shù)由節(jié)點(diǎn)(家庭成員)及節(jié)點(diǎn)間的連線(家庭成員之間的直接血緣聯(lián)系,即 直系親屬關(guān)系)構(gòu)成。節(jié)點(diǎn)指家族樹(shù)中的節(jié)點(diǎn),包括實(shí)體節(jié)點(diǎn)、虛擬節(jié)點(diǎn)、葉節(jié)點(diǎn)、外族關(guān)聯(lián)節(jié)點(diǎn)等。聯(lián)系指家族樹(shù)中節(jié)點(diǎn)間的連接線,即親屬間的直接血緣聯(lián)系。親屬之間有四類(lèi)直 接血緣聯(lián)系,分別是父母、兄弟姐妹、配偶、子女。小家庭指與某節(jié)點(diǎn)存在直接血緣聯(lián)系的成員的集合,包括該節(jié)點(diǎn),及其父親、 配偶、兄弟姐妹、子女節(jié)點(diǎn)等。即只包含與某節(jié)點(diǎn)有四類(lèi)直接血緣關(guān)系的節(jié)點(diǎn),不包括通過(guò) 傳遞聯(lián)系而涉及的間接聯(lián)系的節(jié)點(diǎn)。家族指直系家族成員的集合。外族指家族中配偶節(jié)點(diǎn)生長(zhǎng)所在的家族,或單血緣后裔節(jié)點(diǎn)雙血緣關(guān)系(父母) 所在的家族。配偶節(jié)點(diǎn)指通過(guò)婚配關(guān)系加入到家族的節(jié)點(diǎn),如媳婦、女婿等。單血緣后裔節(jié)點(diǎn)指家族中的配偶與非本家族成員再婚后所生子女。某配偶節(jié)點(diǎn)同本家族某成員結(jié)婚后所生子女,與該配偶節(jié)點(diǎn)和非本家族成員再婚后所生子女之間,存 在單血緣關(guān)系。該配偶兩次婚姻所生子女之間是“同父異母”或“同母異父”的單血緣關(guān)系。外族關(guān)聯(lián)節(jié)點(diǎn)是指將本家族和其外族進(jìn)行關(guān)聯(lián)形成大家族的節(jié)點(diǎn),由配偶節(jié)點(diǎn) 和單血緣的后裔節(jié)點(diǎn)組成。一個(gè)家族可以有多個(gè)這樣的節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)往往對(duì)應(yīng)一個(gè)外族, 所以一個(gè)家族可以有多個(gè)外族。外族節(jié)點(diǎn)個(gè)數(shù)外族的成員節(jié)點(diǎn)個(gè)數(shù)(不包括外族關(guān)聯(lián)節(jié)點(diǎn))。如圖3中所示的 家族的一個(gè)外族關(guān)聯(lián)節(jié)點(diǎn)是“妻子”,其右上角的數(shù)字表示的是隱藏的外族成員的個(gè)數(shù)。通 過(guò)展開(kāi)“妻子”節(jié)點(diǎn)的外族,則可以得到圖4所示的家族樹(shù)示意圖;此時(shí),“妻子”家族完全展 開(kāi),可以看到該家族除了“妻子”外,還有3個(gè)節(jié)點(diǎn)“妻子的父親”、“妻子的兄弟”和“妻兄 弟的兒子”,此時(shí)該家族的外族連接節(jié)點(diǎn)是“妻子”的配偶“我”節(jié)點(diǎn),其關(guān)聯(lián)的家族即是圖1 所示的家族,亦是“妻子”所在直系家族的外族。大家族本家族的家族樹(shù)跟外族的家族樹(shù)關(guān)聯(lián)成一棵更大的家族樹(shù),稱(chēng)之為大家族。實(shí)體節(jié)點(diǎn)指的是登記到家族樹(shù)中具有唯一標(biāo)識(shí)信息(如電子郵件地址)及屬性 信息(如具有“姓名”及“性別”其他屬性)的節(jié)點(diǎn)。實(shí)體節(jié)點(diǎn)可以進(jìn)行添加直系親屬(添 加父母、兄弟姐妹、配偶及子女節(jié)點(diǎn))的操作以及刪除自身的操作(當(dāng)自身是葉節(jié)點(diǎn)時(shí))。 任何實(shí)體節(jié)點(diǎn)只有一個(gè)父親節(jié)點(diǎn)、一個(gè)母親節(jié)點(diǎn),有若干個(gè)雙血緣關(guān)系和單血緣關(guān)系兄弟 姐妹節(jié)點(diǎn),有若干個(gè)配偶及有若干個(gè)子女節(jié)點(diǎn)。虛擬節(jié)點(diǎn)相對(duì)于實(shí)體節(jié)點(diǎn)而言的輔助節(jié)點(diǎn),指的是暫時(shí)沒(méi)有具體信息登記到家 族樹(shù)中的節(jié)點(diǎn),沒(méi)有唯一標(biāo)識(shí)信息及屬性信息。在本發(fā)明中,當(dāng)實(shí)體節(jié)點(diǎn)沒(méi)有配偶節(jié)點(diǎn)的時(shí) 候,可以借助虛擬節(jié)點(diǎn)充當(dāng)其配偶,直接進(jìn)行添加子女節(jié)點(diǎn)的操作。爾后可以通過(guò)補(bǔ)充虛擬 節(jié)點(diǎn)“電子郵件地址”、“姓名”等屬性信息使其成為實(shí)體節(jié)點(diǎn)。虛擬節(jié)點(diǎn)在任何時(shí)候都是充 當(dāng)某實(shí)體節(jié)點(diǎn)的配偶節(jié)點(diǎn),以幫助該實(shí)體節(jié)點(diǎn)建立與其子女的聯(lián)系。每個(gè)實(shí)體節(jié)至多只能 有一個(gè)虛擬節(jié)點(diǎn)充當(dāng)其配偶節(jié)點(diǎn)。虛擬節(jié)點(diǎn)不能進(jìn)行添加家族成員及刪除的操作。需要說(shuō)明的是,在本發(fā)明實(shí)施例中有兩個(gè)重要的規(guī)定1)實(shí)體節(jié)點(diǎn)必須在有配偶節(jié)點(diǎn)的前提下,才能擁有與該配偶共生的子女節(jié)點(diǎn)。配 偶節(jié)點(diǎn)可以是實(shí)體節(jié)點(diǎn),也可以是虛擬節(jié)點(diǎn);2) 一個(gè)實(shí)體節(jié)點(diǎn)最多只能有一個(gè)充當(dāng)配偶節(jié)點(diǎn)的虛擬節(jié)點(diǎn)。引入虛擬節(jié)點(diǎn)的重要作用是,可以在實(shí)體節(jié)點(diǎn)創(chuàng)建配偶實(shí)體節(jié)點(diǎn)之前,通過(guò)虛擬 一個(gè)節(jié)點(diǎn)作為其配偶節(jié)點(diǎn),使該實(shí)體節(jié)點(diǎn)能夠先添加子女節(jié)點(diǎn),爾后再將配偶虛擬節(jié)點(diǎn)實(shí) 現(xiàn)為實(shí)體節(jié)點(diǎn)。如圖5所示的家族樹(shù)示意圖,“我”在添加“父親”節(jié)點(diǎn)時(shí),本發(fā)明會(huì)自動(dòng)為 “父親”節(jié)點(diǎn)創(chuàng)建虛擬節(jié)點(diǎn)充當(dāng)其配偶節(jié)點(diǎn)(即母親節(jié)點(diǎn)),從而建立“父親”與“我”的聯(lián) 系。當(dāng)刪除“父親”節(jié)點(diǎn)時(shí),虛擬的母親節(jié)點(diǎn)會(huì)自動(dòng)連帶刪除。如果此時(shí)母親節(jié)點(diǎn)是實(shí)體節(jié) 點(diǎn),則將“父親”節(jié)點(diǎn)變成虛擬節(jié)點(diǎn),使其充當(dāng)母親節(jié)點(diǎn)的配偶節(jié)點(diǎn),便于母親節(jié)點(diǎn)與“我”建 立聯(lián)系。同樣,“我”節(jié)點(diǎn)在沒(méi)有實(shí)際配偶節(jié)點(diǎn)的時(shí)候直接添加子女節(jié)點(diǎn),本發(fā)明會(huì)自動(dòng)為其 創(chuàng)建配偶虛擬節(jié)點(diǎn)。當(dāng)刪除子女節(jié)點(diǎn)時(shí),如果除了待刪除節(jié)點(diǎn)外已經(jīng)沒(méi)有別的子女節(jié)點(diǎn),虛 擬的配偶節(jié)點(diǎn)也會(huì)被自動(dòng)連帶刪除??梢?jiàn),虛擬節(jié)點(diǎn)是為了在實(shí)體節(jié)點(diǎn)添加父母節(jié)點(diǎn)、子女 節(jié)點(diǎn)時(shí)需要的臨時(shí)輔助節(jié)點(diǎn)。葉節(jié)點(diǎn)此類(lèi)節(jié)點(diǎn)是相對(duì)孤立的節(jié)點(diǎn),與之直接聯(lián)系的節(jié)點(diǎn)不用通過(guò)該類(lèi)節(jié)點(diǎn)與其他節(jié)點(diǎn)維持間接聯(lián)系,在本發(fā)明中,有且只有此類(lèi)節(jié)點(diǎn)可以在維護(hù)家族樹(shù)時(shí)執(zhí)行刪除操作。即在本發(fā)明實(shí)施例中,所述家族樹(shù)中的節(jié)點(diǎn)可以包括虛擬節(jié)點(diǎn)和實(shí)體節(jié)點(diǎn),其中, 所述實(shí)體節(jié)點(diǎn)為具有唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述虛擬節(jié)點(diǎn)為無(wú)唯一標(biāo)識(shí)信息及 屬性信息的節(jié)點(diǎn)。家族樹(shù)由家族成員及相互之間的聯(lián)系構(gòu)成。構(gòu)建家族樹(shù)的過(guò)程就是創(chuàng)建各節(jié)點(diǎn)加 入到家族樹(shù)中,并維持各節(jié)點(diǎn)之間的各種血緣聯(lián)系的過(guò)程。下面逐步介紹如何維護(hù)家族樹(shù), 主要包括添加父母節(jié)點(diǎn)、添加兄弟姐妹節(jié)點(diǎn)、添加配偶節(jié)點(diǎn)、添加子女節(jié)點(diǎn)、刪除節(jié)點(diǎn)和合 并節(jié)點(diǎn)等基本操作。一、添加父親母親節(jié)點(diǎn)在本發(fā)明的一種優(yōu)選實(shí)施例中,所述節(jié)點(diǎn)添加子模塊131包括以下單元當(dāng)前節(jié)點(diǎn)構(gòu)建單元,用于生成當(dāng)前節(jié)點(diǎn);父母節(jié)點(diǎn)關(guān)系添加單元,用于針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建父親節(jié)點(diǎn)或母親節(jié)點(diǎn),同時(shí)創(chuàng)建 一個(gè)虛擬節(jié)點(diǎn)作為該父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的配偶節(jié)點(diǎn),并在當(dāng)前節(jié)點(diǎn)存在與兄弟姐妹節(jié)點(diǎn) 的連接關(guān)系時(shí),添加所述兄弟姐妹節(jié)點(diǎn)與父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的連接關(guān)系;和/或,在當(dāng)前節(jié)點(diǎn)存在單血緣關(guān)系的兄弟姐妹節(jié)點(diǎn)時(shí),刪除該兄弟姐妹節(jié)點(diǎn)后, 為當(dāng)前節(jié)點(diǎn)添加父親節(jié)點(diǎn)或母親節(jié)點(diǎn);和/或,在當(dāng)前節(jié)點(diǎn)存在與作為其父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的虛擬節(jié)點(diǎn)的連接關(guān)系 時(shí),將所述虛擬節(jié)點(diǎn)更新為實(shí)體節(jié)點(diǎn)。應(yīng)用本實(shí)施例,在為當(dāng)前節(jié)點(diǎn)添加父親(母親)節(jié)點(diǎn)時(shí),如果不存在父親(母親) 的虛擬節(jié)點(diǎn),則創(chuàng)建父親(母親)節(jié)點(diǎn),同時(shí)創(chuàng)建一個(gè)虛擬節(jié)點(diǎn)作為父親(母親)節(jié)點(diǎn)的 配偶節(jié)點(diǎn),以滿(mǎn)足“實(shí)體節(jié)點(diǎn)必須在有配偶節(jié)點(diǎn)的前提下,才能擁有與該配偶共生的子女節(jié) 點(diǎn)”的規(guī)定。若當(dāng)前節(jié)點(diǎn)有兄弟姐妹節(jié)點(diǎn),則將當(dāng)前節(jié)點(diǎn)與這些兄弟姐妹節(jié)點(diǎn)當(dāng)作具有雙血 緣聯(lián)系,然后維護(hù)父親節(jié)點(diǎn)、母親節(jié)點(diǎn)與當(dāng)前節(jié)點(diǎn)以及其他子女節(jié)點(diǎn)之間的聯(lián)系。例如可以 參考圖6所示的家族樹(shù),其中當(dāng)前節(jié)點(diǎn)“我”具有“兄弟”節(jié)點(diǎn),在為節(jié)點(diǎn)“我”添加“父親”、 “母親”節(jié)點(diǎn)后,將生成“兄弟”節(jié)點(diǎn)與“父親”節(jié)點(diǎn)、“母親”節(jié)點(diǎn)的連接關(guān)系。如果當(dāng)前節(jié)點(diǎn)存在充當(dāng)其父親(母親)的虛擬節(jié)點(diǎn),在為當(dāng)前節(jié)點(diǎn)添加父親(母 親)節(jié)點(diǎn)時(shí),直接把虛擬節(jié)點(diǎn)變成實(shí)體節(jié)點(diǎn),相關(guān)節(jié)點(diǎn)間的聯(lián)系在該添加虛擬節(jié)點(diǎn)時(shí)已經(jīng) 維護(hù)好,無(wú)需做變更。如果這些兄弟姐妹節(jié)點(diǎn)中存在單血緣聯(lián)系的節(jié)點(diǎn),則需要將單血緣聯(lián)系的兄弟姐 妹節(jié)點(diǎn)先刪除,然后添加父親(母親)節(jié)點(diǎn)。二、添加兄弟姐妹節(jié)點(diǎn)在本發(fā)明的一種優(yōu)選實(shí)施例中,所述節(jié)點(diǎn)添加子模塊131還包括兄弟姐妹節(jié)點(diǎn)關(guān)系添加單元,用于針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建兄弟姐妹節(jié)點(diǎn),并在當(dāng)前節(jié) 點(diǎn)存在與父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系時(shí),添加所述兄弟姐妹節(jié)點(diǎn)與父親節(jié)點(diǎn)、母親節(jié)點(diǎn) 的連接關(guān)系;和/或,若為當(dāng)前節(jié)點(diǎn)添加單血緣關(guān)系的兄弟姐妹節(jié)點(diǎn),則先添加父親節(jié)點(diǎn)或母 親節(jié)點(diǎn),并添加該父親節(jié)點(diǎn)或母親節(jié)點(diǎn)與對(duì)應(yīng)的配偶節(jié)點(diǎn)的連接關(guān)系,然后針對(duì)該父親節(jié) 點(diǎn)或母親節(jié)點(diǎn)添加子女節(jié)點(diǎn),再添加當(dāng)前節(jié)點(diǎn)與該子女節(jié)點(diǎn)的連接關(guān)系。
應(yīng)用本實(shí)施例,當(dāng)前節(jié)點(diǎn)將待添加的兄弟姐妹作為與其有雙血緣關(guān)系,同時(shí)維護(hù) 好待添加兄弟姐妹節(jié)點(diǎn)與當(dāng)前節(jié)點(diǎn)以及父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的聯(lián)系。如要為當(dāng)前節(jié)點(diǎn)添加單血緣關(guān)系的兄弟姐妹節(jié)點(diǎn),則在添加父親(母親)節(jié)點(diǎn)后, 可以通過(guò)父親(母親)節(jié)點(diǎn)添加相關(guān)配偶聯(lián)系(父輩再婚),再通過(guò)父輩(即在父親(母 親)節(jié)點(diǎn)上)添加相應(yīng)的子女節(jié)點(diǎn)來(lái)間接為當(dāng)前節(jié)點(diǎn)添加單血緣聯(lián)系的兄弟姐妹節(jié)點(diǎn)。如 圖7所示的家族樹(shù),當(dāng)前節(jié)點(diǎn)“我”的“母親”節(jié)點(diǎn)具有再婚的配偶節(jié)點(diǎn)“母親再婚丈夫”,該 “母親”節(jié)點(diǎn)和其配偶節(jié)點(diǎn)“母親再婚丈夫”具有子女節(jié)點(diǎn)“單血緣姐妹”,在這種情況下,添 加形成單血緣關(guān)系的該子女節(jié)點(diǎn)“單血緣姐妹”與當(dāng)前節(jié)點(diǎn)“我”之間的連接關(guān)系。三、添加配偶節(jié)點(diǎn)在本發(fā)明的一種優(yōu)選實(shí)施例中,所述節(jié)點(diǎn)添加子模塊131還包括配偶節(jié)點(diǎn)關(guān)系添加單元,用于針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建配偶節(jié)點(diǎn);若存在作為配偶節(jié)點(diǎn) 的虛擬節(jié)點(diǎn),則將該虛擬節(jié)點(diǎn)更新為實(shí)體節(jié)點(diǎn)。在本實(shí)施例中,當(dāng)前節(jié)點(diǎn)添加實(shí)體配偶節(jié)點(diǎn),但是,如果已經(jīng)存在對(duì)應(yīng)的充當(dāng)配偶 節(jié)點(diǎn)的虛擬節(jié)點(diǎn),則用當(dāng)前配偶對(duì)象的標(biāo)識(shí)信息和屬性信息,將充當(dāng)配偶節(jié)點(diǎn)的虛擬節(jié)點(diǎn) 更新為實(shí)體節(jié)點(diǎn)。在本發(fā)明實(shí)施例中,一個(gè)節(jié)點(diǎn)最多只有一個(gè)充當(dāng)配偶節(jié)點(diǎn)的虛擬節(jié)點(diǎn),可以有多 個(gè)實(shí)際配偶節(jié)點(diǎn)。四、添加子女節(jié)點(diǎn)在本發(fā)明的一種優(yōu)選實(shí)施例中,所述節(jié)點(diǎn)添加子模塊131還包括子女節(jié)點(diǎn)關(guān)系添加單元,用于在當(dāng)前節(jié)點(diǎn)存在配偶節(jié)點(diǎn)時(shí),直接針對(duì)當(dāng)前節(jié)點(diǎn)及 配偶節(jié)點(diǎn)添加子女節(jié)點(diǎn);和/或,若當(dāng)前節(jié)點(diǎn)沒(méi)有配偶節(jié)點(diǎn),則先針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建作為配偶節(jié)點(diǎn)的虛擬 節(jié)點(diǎn),再針對(duì)所述當(dāng)前節(jié)點(diǎn)及虛擬節(jié)點(diǎn)添加子女節(jié)點(diǎn)。在本實(shí)施例中,提供了兩個(gè)方法來(lái)為當(dāng)前節(jié)點(diǎn)添加子女節(jié)點(diǎn)1、在當(dāng)前節(jié)點(diǎn)沒(méi)有配偶節(jié)點(diǎn)的時(shí)候,直接添加子女節(jié)點(diǎn);即先為當(dāng)前節(jié)點(diǎn)生成一個(gè)虛擬節(jié)點(diǎn)作為配偶節(jié)點(diǎn),然后再添加子女節(jié)點(diǎn),添加當(dāng) 前節(jié)點(diǎn)、充當(dāng)配偶節(jié)點(diǎn)的虛擬節(jié)點(diǎn)與子女節(jié)點(diǎn)間的聯(lián)系。如果當(dāng)前節(jié)點(diǎn)已經(jīng)有虛擬的配偶 節(jié)點(diǎn),則無(wú)需創(chuàng)建新的充當(dāng)配偶節(jié)點(diǎn)的虛擬節(jié)點(diǎn),直接在當(dāng)前節(jié)點(diǎn)和該虛擬節(jié)點(diǎn)下添加子 女節(jié)點(diǎn)。如圖8所示的家族樹(shù),若當(dāng)前節(jié)點(diǎn)“我”沒(méi)有配偶節(jié)點(diǎn),則在為當(dāng)前節(jié)點(diǎn)“我”生成 一個(gè)虛擬節(jié)點(diǎn)作為配偶節(jié)點(diǎn)后,添加子女節(jié)點(diǎn)“女兒”,并添加子女節(jié)點(diǎn)“女兒”與當(dāng)前節(jié)點(diǎn) “我”和虛擬節(jié)點(diǎn)之間的連接關(guān)系。2、在當(dāng)前節(jié)點(diǎn)有配偶節(jié)點(diǎn)的時(shí)候,添加子女節(jié)點(diǎn)。即該配偶節(jié)點(diǎn)可以是實(shí)體節(jié)點(diǎn)也可以是虛擬節(jié)點(diǎn),直接在當(dāng)前節(jié)點(diǎn)和該配偶節(jié)點(diǎn) 下添加與子女節(jié)點(diǎn)的連接關(guān)系。五、刪除節(jié)點(diǎn)在本發(fā)明的一種優(yōu)選實(shí)施例中,所述節(jié)點(diǎn)刪除子模塊132包括以下單元判斷單元,用于判斷待刪除的節(jié)點(diǎn)是否滿(mǎn)足以下五個(gè)條件條件1、該節(jié)點(diǎn)所連接的父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的個(gè)數(shù)與兄弟姐妹節(jié)點(diǎn)的個(gè)數(shù)之和大 于0,并且,該節(jié)點(diǎn)所連接的配偶節(jié)點(diǎn)的個(gè)數(shù)與子女節(jié)點(diǎn)的個(gè)數(shù)之和大于0 ;S卩(父母節(jié)點(diǎn)個(gè)數(shù)+兄弟姐妹節(jié)點(diǎn)個(gè)數(shù))> 0且(配偶節(jié)點(diǎn)個(gè)數(shù)+子女節(jié)點(diǎn)個(gè)數(shù))> 0 ;條件2、該節(jié)點(diǎn)為虛擬節(jié)點(diǎn);條件3、該節(jié)點(diǎn)存在與一個(gè)以上的配偶節(jié)點(diǎn)的連接關(guān)系;條件4、該節(jié)點(diǎn)為外族關(guān)聯(lián)節(jié)點(diǎn),并且存在與外族成員的連接關(guān)系;其中,外族關(guān) 聯(lián)節(jié)點(diǎn)為當(dāng)前家族樹(shù)和其他家族樹(shù)進(jìn)行關(guān)聯(lián)的節(jié)點(diǎn);條件5、該節(jié)點(diǎn)的某配偶節(jié)點(diǎn),除該節(jié)點(diǎn)外還存在與其它充當(dāng)其配偶節(jié)點(diǎn)的虛擬節(jié) 點(diǎn)的連接關(guān)系;且該節(jié)點(diǎn)與某配偶節(jié)點(diǎn)還有子女節(jié)點(diǎn)。刪除處理單元,用于在待刪除節(jié)點(diǎn)不滿(mǎn)足以上所有條件時(shí),通過(guò)以下步驟刪除該 節(jié)占.
I— /、、、 第1步、刪除待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)及子女節(jié)點(diǎn)之間的連接關(guān)系;如果待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)沒(méi)有與子女節(jié)點(diǎn)的連接關(guān)系,則直接斷開(kāi)待刪除節(jié) 點(diǎn)與配偶節(jié)點(diǎn)之間的連接關(guān)系;如果待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)存在與子女節(jié)點(diǎn)的連接關(guān)系,并且該配偶節(jié)點(diǎn)為虛 擬節(jié)點(diǎn),則將待刪除節(jié)點(diǎn)與虛擬節(jié)點(diǎn)一并刪除,并刪除與所述待刪除節(jié)點(diǎn)與虛擬節(jié)點(diǎn)相關(guān) 聯(lián)的節(jié)點(diǎn)連接關(guān)系;若該配偶節(jié)點(diǎn)為實(shí)體節(jié)點(diǎn),則僅將待刪除節(jié)點(diǎn)更新為虛擬節(jié)點(diǎn);第2步、刪除待刪除節(jié)點(diǎn)與其父親節(jié)點(diǎn)、母親節(jié)點(diǎn)之間的連接關(guān)系如果所述父親節(jié)點(diǎn)、母親節(jié)點(diǎn)均為實(shí)體節(jié)點(diǎn),則直接刪除待刪除節(jié)點(diǎn)與所述父親 節(jié)點(diǎn)、母親節(jié)點(diǎn)之間的連接關(guān)系;如果所述父親節(jié)點(diǎn)或母親節(jié)點(diǎn)為虛擬節(jié)點(diǎn),且在該父親節(jié)點(diǎn)和母親節(jié)點(diǎn)下只有一 個(gè)作為子女節(jié)點(diǎn)的待刪除節(jié)點(diǎn),則刪除待刪除節(jié)點(diǎn)與所述父親節(jié)點(diǎn)與母親節(jié)點(diǎn)之間的連接 關(guān)系,并刪除所述虛擬節(jié)點(diǎn);第3步、刪除待刪除節(jié)點(diǎn)與其兄弟姐妹節(jié)點(diǎn)之間的連接關(guān)系;第4步、刪除該待刪除節(jié)點(diǎn)。在本實(shí)施例中,只有葉節(jié)點(diǎn)才能被刪除,葉節(jié)點(diǎn)即為以上五個(gè)條件都不滿(mǎn)足的節(jié) 點(diǎn),或者說(shuō),滿(mǎn)足以上五個(gè)條件的節(jié)點(diǎn)都不是葉節(jié)點(diǎn)。簡(jiǎn)而言之,刪除節(jié)點(diǎn)可以分兩步進(jìn)行 第一步,判斷待刪除節(jié)點(diǎn)是否是葉節(jié)點(diǎn),第二步,若是,則刪除該節(jié)點(diǎn)。具體而言,若滿(mǎn)足上述條件1,則說(shuō)明該節(jié)點(diǎn)是維系父母、兄弟姐妹(“父兄”)節(jié)點(diǎn) 及其配偶、子女(“妻兒”)節(jié)點(diǎn)的連接點(diǎn),如果刪除該節(jié)點(diǎn),則會(huì)失去“父兄”與“妻兒”之 間的間接聯(lián)系,破壞家族樹(shù)的完整性,故不能刪除。注意,這里的配偶節(jié)點(diǎn)包括實(shí)體節(jié)點(diǎn)和 虛擬節(jié)點(diǎn),其他的節(jié)點(diǎn)只包括實(shí)體節(jié)點(diǎn);若滿(mǎn)足上述條件2,則說(shuō)明該節(jié)點(diǎn)是虛擬節(jié)點(diǎn),由于虛擬節(jié)點(diǎn)的作用是作為輔助節(jié) 點(diǎn),故不能自我刪除,本發(fā)明會(huì)自動(dòng)將其刪除;若滿(mǎn)足上述條件3,則說(shuō)明該節(jié)點(diǎn)是若干個(gè)配偶節(jié)點(diǎn)及子女的連接節(jié)點(diǎn),不能被刪 除。注意,這里的配偶節(jié)點(diǎn)包括實(shí)體節(jié)點(diǎn)和虛擬節(jié)點(diǎn);若滿(mǎn)足上述條件4,則說(shuō)明該外族關(guān)聯(lián)節(jié)點(diǎn)關(guān)聯(lián)的外族中有成員,如果刪除,將會(huì) 斷開(kāi)本家族和外族之間聯(lián)系,故不能刪除;若滿(mǎn)足上述條件5,則該節(jié)點(diǎn)的某配偶節(jié)點(diǎn)的配偶中,除了該節(jié)點(diǎn)外,還有虛擬節(jié) 點(diǎn),如果刪除,依照處理方法,會(huì)將該節(jié)點(diǎn)更新為虛擬節(jié)點(diǎn),如此一來(lái),某配偶節(jié)點(diǎn)將同時(shí)有 兩個(gè)虛擬的配偶節(jié)點(diǎn),違反“一個(gè)實(shí)體節(jié)點(diǎn)最能只能有一個(gè)虛擬節(jié)點(diǎn)”的規(guī)定,故不能刪除。
另外,還需要說(shuō)明的是,本發(fā)明實(shí)施例中刪除節(jié)點(diǎn)的步驟需按順序執(zhí)行。為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,以下通過(guò)刪除節(jié)點(diǎn)的具體示例詳細(xì)說(shuō)明 本發(fā)明。如圖9所示家族樹(shù),右上角有圖標(biāo)的節(jié)點(diǎn)表示該節(jié)點(diǎn)是葉節(jié)點(diǎn),可以刪除。 其中,“父親”、“兄弟的兒子”、“兄弟的女兒”、“兒子”及“女兒”節(jié)點(diǎn)都不滿(mǎn)足前述5個(gè)條件, 是葉節(jié)點(diǎn),可以刪除。然而“兄弟”節(jié)點(diǎn)的父母、兄弟節(jié)點(diǎn)數(shù)目為2,妻子、兒女節(jié)點(diǎn)數(shù)目為3,且有兩個(gè)配偶節(jié) 點(diǎn),滿(mǎn)足條件1及條件3,不能被刪除;“兄弟的妻子”的配偶“兄弟”有“虛擬節(jié)點(diǎn)”,滿(mǎn)足條件5,不能被刪除;“我”的父母、兄弟節(jié)點(diǎn)數(shù)目為2,妻子、兒女節(jié)點(diǎn)數(shù)目為3,滿(mǎn)足條件1,不能被刪 除;“妻子”是外族關(guān)聯(lián)節(jié)點(diǎn),滿(mǎn)足條件4,不能被刪除;剩下的兩個(gè)“虛擬節(jié)點(diǎn)”,滿(mǎn)足條件2,不能被刪除。刪除節(jié)點(diǎn)示例1 在圖9的基礎(chǔ)上,刪除“兄弟的兒子”,得到的結(jié)果如圖10所示。在圖10中,不僅 “兄弟的兒子”節(jié)點(diǎn)沒(méi)有了,而且作為其母親的“虛擬節(jié)點(diǎn)”也一并被刪除了。同時(shí),“兄弟的 妻子”變更為葉節(jié)點(diǎn)。刪除節(jié)點(diǎn)示例2 在圖10的基礎(chǔ)上,刪除“兄弟的妻子”節(jié)點(diǎn),得到的結(jié)果如圖11所示。在圖11中, 原“兄弟的妻子”節(jié)點(diǎn)變更為虛擬節(jié)點(diǎn),以滿(mǎn)足“實(shí)體節(jié)點(diǎn)必須在有配偶節(jié)點(diǎn)的前提下,才能 擁有與該配偶共生的子女節(jié)點(diǎn)”的規(guī)定。刪除節(jié)點(diǎn)示例3 在圖11的基礎(chǔ)上,刪除“兄弟的兒子”、“兒子”及“女兒”節(jié)點(diǎn),得到的結(jié)果如圖12 所示。在圖12中,“兄弟”節(jié)點(diǎn)變更為葉節(jié)點(diǎn)。刪除節(jié)點(diǎn)示例4 在圖12的基礎(chǔ)上,刪除“兄弟”節(jié)點(diǎn),得到的結(jié)果如圖13所示。刪除節(jié)點(diǎn)示例5 在圖13的基礎(chǔ)上,刪除“父親”節(jié)點(diǎn),得到的結(jié)果如圖14所示。在圖14中,不僅 “父親”節(jié)點(diǎn)沒(méi)有了,而且作為其配偶的“虛擬節(jié)點(diǎn)”也一并被刪除了。同時(shí),“我”節(jié)點(diǎn)變更 為葉節(jié)點(diǎn)。刪除節(jié)點(diǎn)示例6 在圖14的基礎(chǔ)上,刪除“妻子”節(jié)點(diǎn)關(guān)聯(lián)的外族中所有的節(jié)點(diǎn)后,得到的結(jié)果如圖 15所示。在圖15中,“妻子”節(jié)點(diǎn)也變更為葉節(jié)點(diǎn)。此時(shí),剩下的兩個(gè)節(jié)點(diǎn)均可以被刪除。六、合并節(jié)點(diǎn)。在本發(fā)明實(shí)施例中,節(jié)點(diǎn)合并子模塊包括兩個(gè)功能第一是將兩棵家族樹(shù)通過(guò)共 有的節(jié)點(diǎn)的進(jìn)行合并;第二是在一棵家族樹(shù)內(nèi)部進(jìn)行兩個(gè)相關(guān)節(jié)點(diǎn)的合并。其實(shí),兩個(gè)功能 本質(zhì)上都是兩個(gè)節(jié)點(diǎn)的合并。在具體實(shí)現(xiàn)中,將所述可以合并的關(guān)聯(lián)節(jié)點(diǎn)分為源節(jié)點(diǎn)與目 標(biāo)節(jié)點(diǎn),所述節(jié)點(diǎn)的屬性信息包括性別信息、輩份信息;所述源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)滿(mǎn)足以下條 件
1)源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)具有同一性別的表征;2)如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)在同一棵家族樹(shù)中,則源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)具有同一輩份 的表征;3)如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)形成兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,則只有所述源節(jié)點(diǎn)和目 標(biāo)節(jié)點(diǎn)具有共同的父親節(jié)點(diǎn)和母親節(jié)點(diǎn)時(shí)才能被合并;4)合并時(shí)如果有一方是虛擬節(jié)點(diǎn)、一方是實(shí)體節(jié)點(diǎn),則將實(shí)體節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn), 將虛擬節(jié)點(diǎn)作為源節(jié)點(diǎn);所述節(jié)點(diǎn)合并子模塊133包括以下單元合并方向確定單元,用于在源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)均為實(shí)體節(jié)點(diǎn)或均為虛擬節(jié)點(diǎn),將 目標(biāo)節(jié)點(diǎn)作為合并后的保留節(jié)點(diǎn),將源節(jié)點(diǎn)作為合并后的刪除節(jié)點(diǎn);和/或,在一方是實(shí)體節(jié)點(diǎn),一方是虛擬節(jié)點(diǎn)時(shí),則將實(shí)體節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),將 虛擬節(jié)點(diǎn)作為源節(jié)點(diǎn);雙親節(jié)點(diǎn)合并單元,用于在源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)均有父親節(jié)點(diǎn)和母親節(jié)點(diǎn)時(shí),將源 節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)的父親節(jié)點(diǎn)合并,將源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)的母親節(jié)點(diǎn)合并,然后刪除源節(jié)點(diǎn) 與所述父親節(jié)點(diǎn)和母親節(jié)點(diǎn)的連接關(guān)系;和/或,如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)只有一方有父親節(jié)點(diǎn)和母親節(jié)點(diǎn),則依據(jù)該節(jié)點(diǎn) 與父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系,在目標(biāo)節(jié)點(diǎn)上創(chuàng)建相應(yīng)的與父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接 關(guān)系,然后刪除源節(jié)點(diǎn)與所述父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系;配偶、子女節(jié)點(diǎn)合并單元,用于依據(jù)源節(jié)點(diǎn)與其配偶節(jié)點(diǎn)、子女節(jié)點(diǎn)的連接關(guān)系, 在目標(biāo)節(jié)點(diǎn)上創(chuàng)建相應(yīng)的與配偶節(jié)點(diǎn)、子女節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述配偶 節(jié)點(diǎn)、子女節(jié)點(diǎn)的連接關(guān)系;兄弟姐妹節(jié)點(diǎn)合并單元,用于依據(jù)源節(jié)點(diǎn)與其兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,在目標(biāo) 節(jié)點(diǎn)上創(chuàng)建相應(yīng)的與兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述兄弟姐妹節(jié)點(diǎn)的連 接關(guān)系;源節(jié)點(diǎn)刪除單元,用于刪除該源節(jié)點(diǎn)。具體而言,在本實(shí)施例中,家族樹(shù)節(jié)點(diǎn)的合并主要涉及以下兩個(gè)方面1)、將兩棵家族樹(shù)通過(guò)共有的節(jié)點(diǎn)的進(jìn)行合并;2)、在一棵家族樹(shù)內(nèi)部進(jìn)行兩個(gè)節(jié)點(diǎn)的合并。其實(shí),兩個(gè)功能本質(zhì)上都是兩個(gè)節(jié)點(diǎn)的合并,將這個(gè)兩個(gè)節(jié)點(diǎn)稱(chēng)之為目標(biāo)節(jié)點(diǎn)和 源節(jié)點(diǎn)。合并以后,源節(jié)點(diǎn)被刪除,其與其他節(jié)點(diǎn)的關(guān)聯(lián)并入目標(biāo)節(jié)點(diǎn)。合并時(shí),有如下限定條件目標(biāo)節(jié)點(diǎn)與原節(jié)點(diǎn)必須同性別;如果在同一棵家族樹(shù) 中,必須是同一輩;如果目標(biāo)節(jié)點(diǎn)與源節(jié)點(diǎn)原為兄弟或姐妹關(guān)系,那么只有雙血緣關(guān)系的兄 弟或姐妹才能被合并;合并時(shí)如果有一方是虛擬節(jié)點(diǎn)、一方是實(shí)體節(jié)點(diǎn),則將實(shí)體節(jié)點(diǎn)作為 目標(biāo)節(jié)點(diǎn),將虛擬節(jié)點(diǎn)作為源節(jié)點(diǎn),然后進(jìn)行合并。家族樹(shù)合并分5個(gè)步驟進(jìn)行(1)、確定合并方向如果目標(biāo)節(jié)點(diǎn)與源節(jié)點(diǎn)均為實(shí)體節(jié)點(diǎn)或均為虛擬節(jié)點(diǎn),則將目標(biāo)節(jié)點(diǎn)做為兩節(jié)點(diǎn) 合并后的最終節(jié)點(diǎn)保留,源節(jié)點(diǎn)將在合并后被刪除;如果有一方是實(shí)體節(jié)點(diǎn),一方是虛擬節(jié)點(diǎn),則將實(shí)體節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),將虛擬節(jié)點(diǎn)作為源節(jié)點(diǎn),目標(biāo)節(jié)點(diǎn)為兩節(jié)點(diǎn)合并后的最終節(jié)點(diǎn)保留,源節(jié)點(diǎn)將在合并后被刪除。O)、合并目標(biāo)節(jié)點(diǎn)與源節(jié)點(diǎn)的父親、母親節(jié)點(diǎn)如果目標(biāo)節(jié)點(diǎn)與源節(jié)點(diǎn)雙方都有父母節(jié)點(diǎn),則現(xiàn)將目標(biāo)節(jié)點(diǎn)與源節(jié)點(diǎn)的父親合 并,且將目標(biāo)節(jié)點(diǎn)與源節(jié)點(diǎn)的母親合并,然后去掉源節(jié)點(diǎn)節(jié)點(diǎn)與父母節(jié)點(diǎn)的關(guān)聯(lián);如果目標(biāo)節(jié)點(diǎn)與源節(jié)點(diǎn)只有一方有父母節(jié)點(diǎn),則將有父母節(jié)點(diǎn)的一方與父母的關(guān) 聯(lián)復(fù)制到目標(biāo)節(jié)點(diǎn)與父母節(jié)點(diǎn)的關(guān)聯(lián)中,使目標(biāo)節(jié)點(diǎn)建立與父母節(jié)點(diǎn)的聯(lián)系,然后去掉源 節(jié)點(diǎn)與父母節(jié)點(diǎn)的關(guān)聯(lián)。(3)、合并目標(biāo)節(jié)點(diǎn)與源節(jié)點(diǎn)的配偶、子女節(jié)點(diǎn)將源節(jié)點(diǎn)與配偶、子女節(jié)點(diǎn)的聯(lián)系復(fù)制到目標(biāo)節(jié)點(diǎn)中,使源節(jié)點(diǎn)的配偶、子女節(jié)點(diǎn) 建立與目標(biāo)節(jié)點(diǎn)的聯(lián)系,刪除源節(jié)點(diǎn)與配偶、子女節(jié)點(diǎn)的聯(lián)系。(4)、合并目標(biāo)節(jié)點(diǎn)與源節(jié)點(diǎn)的兄弟、姐妹節(jié)點(diǎn)將源節(jié)點(diǎn)與兄弟、姐妹節(jié)點(diǎn)的聯(lián)系,復(fù)制到目標(biāo)節(jié)點(diǎn)中,使源節(jié)點(diǎn)的兄弟、姐妹節(jié) 點(diǎn)建立與目標(biāo)節(jié)點(diǎn)的聯(lián)系,刪除源節(jié)點(diǎn)與兄弟、姐妹節(jié)點(diǎn)的聯(lián)系。(5)刪除源節(jié)點(diǎn)將源節(jié)點(diǎn)的其他附屬屬性信息復(fù)制到目標(biāo)節(jié)點(diǎn),然后刪除源節(jié)點(diǎn)(此時(shí)該節(jié)點(diǎn)已 經(jīng)是一個(gè)孤立的節(jié)點(diǎn),無(wú)其他節(jié)點(diǎn)與之關(guān)聯(lián))。注意,在家族樹(shù)合并時(shí),需要避免加入重復(fù)的關(guān)系。為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,以下通過(guò)合并節(jié)點(diǎn)的具體示例詳細(xì)說(shuō)明 本發(fā)明。合并節(jié)點(diǎn)示例1 實(shí)體節(jié)點(diǎn)與虛擬節(jié)點(diǎn)合并。在本例中,無(wú)論哪個(gè)節(jié)點(diǎn)作為目標(biāo)節(jié) 點(diǎn),最終都將實(shí)體節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),將虛擬節(jié)點(diǎn)作為源節(jié)點(diǎn)。如圖16所示,左圖中的“標(biāo) 我”節(jié)點(diǎn)與右圖中的“虛擬節(jié)點(diǎn)”合并后,結(jié)果如圖17所示。合并節(jié)點(diǎn)示例2 兩個(gè)待合并節(jié)點(diǎn)都沒(méi)有父母節(jié)點(diǎn)。如圖18所示,將“標(biāo)我”作 為目標(biāo)節(jié)點(diǎn)與“源我”作為源節(jié)點(diǎn)合并后,得到的結(jié)果如圖19所示。合并節(jié)點(diǎn)示例3 兩個(gè)待合并節(jié)點(diǎn)只有一方有父母節(jié)點(diǎn)。如圖20所示,將“標(biāo)我” 作為目標(biāo)節(jié)點(diǎn)與“源我”作為源節(jié)點(diǎn)合并后,得到的結(jié)果如圖21所示。合并節(jié)點(diǎn)示例4 兩個(gè)待合并節(jié)點(diǎn)都有父母節(jié)點(diǎn)。如圖22所示,將“標(biāo)我”作為 目標(biāo)節(jié)點(diǎn)與“源我”作為源節(jié)點(diǎn)合并后,得到的結(jié)果如圖22所示。這次合并其實(shí)是現(xiàn)將兩 個(gè)的父親節(jié)點(diǎn)、母親節(jié)點(diǎn)先進(jìn)行合并,然后再將兩個(gè)節(jié)點(diǎn)合并,得到的結(jié)果如圖23所示。合并節(jié)點(diǎn)示例5 同一家族類(lèi)兩個(gè)節(jié)點(diǎn)的合并。如圖M所示,將“標(biāo)我”作為目 標(biāo)節(jié)點(diǎn)與“源我”作為源節(jié)點(diǎn)合并后,得到的結(jié)果如圖25所示。需要說(shuō)明的是,本說(shuō)明書(shū)中提供的所有節(jié)點(diǎn)合并示例只是一個(gè)合并動(dòng)作,在現(xiàn)實(shí) 的的家族樹(shù)合并場(chǎng)景中,則可能需要應(yīng)用節(jié)點(diǎn)合并子模塊提供的功能,進(jìn)行多次合并操作。 如家族樹(shù)A中的目標(biāo)節(jié)點(diǎn)與家族樹(shù)B中的源節(jié)點(diǎn)合并后,盡管父母節(jié)點(diǎn)會(huì)自動(dòng)遞歸合并。 但是,合并后兄弟姐妹節(jié)點(diǎn)、配合節(jié)點(diǎn)及子女節(jié)點(diǎn)中可能存在重復(fù)節(jié)點(diǎn),如果沒(méi)有輔助信 息,節(jié)點(diǎn)合并子模塊無(wú)法判斷是這些節(jié)點(diǎn)是否存在重復(fù),所以需要多次使用節(jié)點(diǎn)合并子模 塊的功能,對(duì)重復(fù)的節(jié)點(diǎn)繼續(xù)合并,直到達(dá)到最終目的。在具體實(shí)現(xiàn)中,通過(guò)執(zhí)行前述“節(jié)點(diǎn)添加子模塊131”及“節(jié)點(diǎn)刪除子模塊132”下 5個(gè)單元所述的基本操作來(lái)逐步構(gòu)建家族樹(shù),每次只針對(duì)某實(shí)體節(jié)點(diǎn)進(jìn)行添加父親母親、配偶、兄弟姐妹、子女節(jié)點(diǎn)及刪除節(jié)點(diǎn)等操作來(lái)構(gòu)建或編輯直系家族樹(shù),再通過(guò)新建的成員遞 歸進(jìn)行這些操作,從而實(shí)現(xiàn)大家族的家族樹(shù)。同時(shí),可以通過(guò)豐富或變更節(jié)點(diǎn)對(duì)象的屬性來(lái) 實(shí)現(xiàn)對(duì)個(gè)節(jié)點(diǎn)的信息的變更,從而靈活變更家族成員節(jié)點(diǎn)的信息,達(dá)到構(gòu)建家族樹(shù)的目的。在本發(fā)明實(shí)施例中,所述家族樹(shù)的節(jié)點(diǎn)處理系統(tǒng)還可以包括以下模塊家族樹(shù)獲取模塊,用于依據(jù)用戶(hù)提交的家族樹(shù)獲取請(qǐng)求中的唯一標(biāo)識(shí)信息,提取 對(duì)應(yīng)的節(jié)點(diǎn),以及,該節(jié)點(diǎn)與其他節(jié)點(diǎn)之間的連接關(guān)系,生成家族樹(shù)的展示信息。在具體實(shí)現(xiàn)中,可以利用節(jié)點(diǎn)之間相互關(guān)聯(lián)的4類(lèi)直接關(guān)系(父母、兄弟姐妹、配 偶、子女),以某個(gè)節(jié)點(diǎn)作為參照節(jié)點(diǎn),通過(guò)應(yīng)用廣度搜索或者深度搜索算法,搜索出該節(jié)點(diǎn) 的整個(gè)家族樹(shù)集合,從而獲取已創(chuàng)建的家族樹(shù),為展示模塊提供數(shù)據(jù)。通過(guò)這個(gè)功能,使得 不同用戶(hù)可以訪問(wèn)同一棵家族樹(shù),用戶(hù)可以通過(guò)身份標(biāo)識(shí)登錄到家族樹(shù),只要該用戶(hù)是該 家族的成員,那么將得到其所在家族的整個(gè)家族樹(shù)的展示。本發(fā)明的接口模塊位于展示層,數(shù)據(jù)庫(kù)位于模型層,家族樹(shù)維護(hù)模塊位于邏輯控 制層,展示層的輸出接口是指用戶(hù)可以通過(guò)邏輯控制層獲取存儲(chǔ)在數(shù)據(jù)庫(kù)中的信息,并通 過(guò)各類(lèi)形式呈現(xiàn),如網(wǎng)頁(yè)家族樹(shù)、電子族譜、打印家族譜等;通過(guò)輸入接口使用戶(hù)得以操 縱節(jié)點(diǎn)添加子模塊和節(jié)點(diǎn)刪除子模塊,從而將家族信息以各種形式(在網(wǎng)頁(yè)上操作、通過(guò) EXCEL導(dǎo)入、手工錄入)導(dǎo)入至邏輯控制層。邏輯控制層是本發(fā)明的核心,可以方便地往家 族樹(shù)中增減變家族成員,并將不同的家族樹(shù)通過(guò)關(guān)聯(lián)成員組成一棵新的更大的家族樹(shù)。該 層接收展示層的輸入信息,進(jìn)行相應(yīng)的邏輯處理后,將最終信息傳遞給數(shù)據(jù)庫(kù)。用戶(hù)查詢(xún) 時(shí),將通過(guò)該層從數(shù)據(jù)庫(kù)模塊中提取信息,做相應(yīng)的展示處理后傳遞給展示層。模型層中的 數(shù)據(jù)庫(kù)模塊將家族信息持久化,以數(shù)據(jù)庫(kù)、文件或者其他形式進(jìn)行永久存儲(chǔ)。在具體應(yīng)用時(shí),接口模塊可以通過(guò)各類(lèi)展示技術(shù)基于接口與邏輯層交互,可以通 過(guò)Flex技術(shù)、EXCEL、PDF等技術(shù)實(shí)現(xiàn)??梢酝ㄟ^(guò)B/S架構(gòu)實(shí)現(xiàn)家族樹(shù),國(guó)內(nèi)互聯(lián)網(wǎng)的普及 情況良好,通過(guò)B/S架構(gòu)可以方便中青年網(wǎng)民直接實(shí)時(shí)參與其家族的家族樹(shù)創(chuàng)建和維護(hù)過(guò) 程;并可以十分便捷地創(chuàng)建家族博客等;可以通過(guò)提供各類(lèi)輸入接口,使已有的家族資料, 特別是傳統(tǒng)族譜編輯方式積累下來(lái)的原始資料可以通過(guò)各類(lèi)接口方便地錄入到家族樹(shù)中, 保持族譜的延續(xù)性,提高效率;可以通過(guò)提供各類(lèi)輸出接口,為各類(lèi)家族樹(shù)展示技術(shù)和工具 提供輸出接口,提供滿(mǎn)足各類(lèi)需要的數(shù)據(jù)格式;可以通過(guò)定制家族樹(shù)軟件,在B/S架構(gòu)的基 礎(chǔ)上,應(yīng)用本構(gòu)建方法定制軟件,實(shí)現(xiàn)離線編輯,然后通過(guò)定制的輸入、輸出接口實(shí)現(xiàn)數(shù)據(jù) 同步。數(shù)據(jù)庫(kù)可以將邏輯控制層的相關(guān)對(duì)象通過(guò)流行的0/R Mapping技術(shù)或者數(shù)據(jù)訪問(wèn) 技術(shù)實(shí)現(xiàn)。家族樹(shù)中的“節(jié)點(diǎn)”和“聯(lián)系”與關(guān)系型數(shù)據(jù)庫(kù)的結(jié)構(gòu)特點(diǎn)很接近,通過(guò)關(guān)系型 數(shù)據(jù)庫(kù)作為其數(shù)據(jù)存儲(chǔ),可以很方便地設(shè)計(jì)各類(lèi)輸入接口、輸出接口,高效地實(shí)現(xiàn)各類(lèi)統(tǒng)計(jì) 需求,并靈活實(shí)現(xiàn)家族數(shù)的擴(kuò)展。本發(fā)明還提供了一種家族樹(shù)的節(jié)點(diǎn)添加方法實(shí)施例,所述家族樹(shù)中的節(jié)點(diǎn)包括實(shí) 體節(jié)點(diǎn)和虛擬節(jié)點(diǎn),所述實(shí)體節(jié)點(diǎn)為具有唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述虛擬節(jié)點(diǎn) 為無(wú)唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),本實(shí)施例具體可以包括以下步驟當(dāng)前節(jié)點(diǎn)創(chuàng)建步驟生成當(dāng)前節(jié)點(diǎn);雙親節(jié)點(diǎn)添加步驟針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建父親節(jié)點(diǎn)或母親節(jié)點(diǎn),同時(shí)創(chuàng)建一個(gè)虛擬 節(jié)點(diǎn)作為該父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的配偶節(jié)點(diǎn),并在當(dāng)前節(jié)點(diǎn)存在與兄弟姐妹節(jié)點(diǎn)的連接關(guān)系時(shí),添加所述兄弟姐妹節(jié)點(diǎn)與父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的連接關(guān)系;以及,如果當(dāng)前節(jié)點(diǎn)存 在與作為其父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的虛擬節(jié)點(diǎn)的連接關(guān)系,則將所述虛擬節(jié)點(diǎn)更新為實(shí)體節(jié) 點(diǎn);以及,如果當(dāng)前節(jié)點(diǎn)存在單血緣關(guān)系的兄弟姐妹節(jié)點(diǎn),則刪除該兄弟姐妹節(jié)點(diǎn)后,為當(dāng) 前節(jié)點(diǎn)添加父親節(jié)點(diǎn)或母親節(jié)點(diǎn);兄弟姐妹節(jié)點(diǎn)關(guān)系添加步驟針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建兄弟姐妹節(jié)點(diǎn),并在當(dāng)前節(jié)點(diǎn)存 在與父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系時(shí),添加所述兄弟姐妹節(jié)點(diǎn)與父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的 連接關(guān)系;以及,若為當(dāng)前節(jié)點(diǎn)添加單血緣關(guān)系的兄弟姐妹節(jié)點(diǎn),則先添加父親節(jié)點(diǎn)或母親 節(jié)點(diǎn),并添加該父親節(jié)點(diǎn)或母親節(jié)點(diǎn)與對(duì)應(yīng)的配偶節(jié)點(diǎn)的連接關(guān)系,然后針對(duì)該父親節(jié)點(diǎn) 或母親節(jié)點(diǎn)添加子女節(jié)點(diǎn),再添加當(dāng)前節(jié)點(diǎn)與該子女節(jié)點(diǎn)的連接關(guān)系;配偶節(jié)點(diǎn)關(guān)系添加步驟針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建配偶節(jié)點(diǎn);若存在作為配偶節(jié)點(diǎn)的虛 擬節(jié)點(diǎn),則將該虛擬節(jié)點(diǎn)更新為實(shí)體節(jié)點(diǎn);子女節(jié)點(diǎn)關(guān)系添加步驟在當(dāng)前節(jié)點(diǎn)存在配偶節(jié)點(diǎn)時(shí),直接針對(duì)當(dāng)前節(jié)點(diǎn)及配偶 節(jié)點(diǎn)添加子女節(jié)點(diǎn);以及,若當(dāng)前節(jié)點(diǎn)沒(méi)有配偶節(jié)點(diǎn),則先針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建作為配偶節(jié)點(diǎn) 的虛擬節(jié)點(diǎn),再針對(duì)所述當(dāng)前節(jié)點(diǎn)及虛擬節(jié)點(diǎn)添加子女節(jié)點(diǎn)。由于本方法實(shí)施例相應(yīng)于前述系統(tǒng)實(shí)施例中家族樹(shù)維護(hù)模塊中節(jié)點(diǎn)添加子模塊 的功能,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)系統(tǒng)實(shí)施例的部分說(shuō)明即可,本發(fā)明在此就不 贅述了。本發(fā)明還提供了一種家族樹(shù)的節(jié)點(diǎn)刪除方法實(shí)施例,所述家族樹(shù)中的節(jié)點(diǎn)包括虛 擬節(jié)點(diǎn)和實(shí)體節(jié)點(diǎn),所述實(shí)體節(jié)點(diǎn)為具有唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述虛擬節(jié)點(diǎn) 為無(wú)唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),本實(shí)施例具體可以包括以下步驟判斷待刪除的節(jié)點(diǎn)是否滿(mǎn)足以下條件1)該節(jié)點(diǎn)所連接的父親、母親、兄弟姐妹節(jié)點(diǎn)的個(gè)數(shù)之和大于0,并且,該節(jié)點(diǎn)所 連接的配偶、子女節(jié)點(diǎn)的個(gè)數(shù)之和大于0。計(jì)數(shù)不包含虛擬節(jié)點(diǎn);2)該節(jié)點(diǎn)為虛擬節(jié)點(diǎn);3)該節(jié)點(diǎn)存在與一個(gè)以上的配偶節(jié)點(diǎn)的連接關(guān)系,計(jì)數(shù)不包含虛擬節(jié)點(diǎn);4)該節(jié)點(diǎn)為外族關(guān)聯(lián)節(jié)點(diǎn),并且存在與外族成員的連接關(guān)系;其中,外族關(guān)聯(lián)節(jié) 點(diǎn)為當(dāng)前家族樹(shù)和其他家族樹(shù)進(jìn)行關(guān)聯(lián)的節(jié)點(diǎn);5)該節(jié)點(diǎn)的某配偶節(jié)點(diǎn),除該節(jié)點(diǎn)外還存在其它充當(dāng)其配偶節(jié)點(diǎn)的虛擬節(jié)點(diǎn)的連 接關(guān)系;且該節(jié)點(diǎn)與某配偶節(jié)點(diǎn)還有子女節(jié)點(diǎn)。若待刪除節(jié)點(diǎn)不滿(mǎn)足以上所有條件,則執(zhí)行以下步驟第1步、刪除待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)及子女節(jié)點(diǎn)之間的連接關(guān)系;如果待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)沒(méi)有與子女節(jié)點(diǎn)的連接關(guān)系,則直接斷開(kāi)待刪除節(jié) 點(diǎn)與配偶節(jié)點(diǎn)之間的連接關(guān)系;如果待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)存在與子女節(jié)點(diǎn)的連接關(guān)系,并且該配偶節(jié)點(diǎn)為虛 擬節(jié)點(diǎn),則將待刪除節(jié)點(diǎn)與虛擬節(jié)點(diǎn)一并刪除,并刪除與所述待刪除節(jié)點(diǎn)與虛擬節(jié)點(diǎn)相關(guān) 聯(lián)的節(jié)點(diǎn)連接關(guān)系;若該配偶節(jié)點(diǎn)為實(shí)體節(jié)點(diǎn),則僅將待刪除節(jié)點(diǎn)更新為虛擬節(jié)點(diǎn);第2步、刪除待刪除節(jié)點(diǎn)與其父親節(jié)點(diǎn)、母親節(jié)點(diǎn)之間的連接關(guān)系如果所述父親節(jié)點(diǎn)、母親節(jié)點(diǎn)均為實(shí)體節(jié)點(diǎn),則直接刪除待刪除節(jié)點(diǎn)與所述父親 節(jié)點(diǎn)、母親節(jié)點(diǎn)之間的連接關(guān)系;
如果所述父親節(jié)點(diǎn)或母親節(jié)點(diǎn)為虛擬節(jié)點(diǎn),且在該父親節(jié)點(diǎn)和母親節(jié)點(diǎn)下只有一 個(gè)作為子女節(jié)點(diǎn)的待刪除節(jié)點(diǎn),則刪除待刪除節(jié)點(diǎn)與所述父親節(jié)點(diǎn)與母親節(jié)點(diǎn)之間的連接 關(guān)系,并刪除所述虛擬節(jié)點(diǎn);第3步、刪除待刪除節(jié)點(diǎn)與其兄弟姐妹節(jié)點(diǎn)之間的連接關(guān)系;第4步、刪除該待刪除節(jié)點(diǎn)。由于本方法實(shí)施例相應(yīng)于前述系統(tǒng)實(shí)施例中家族樹(shù)維護(hù)模塊中節(jié)點(diǎn)刪除子模塊 的功能,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)系統(tǒng)實(shí)施例的部分說(shuō)明即可,本發(fā)明在此就不 贅述了。本發(fā)明還提供了一種家族樹(shù)的節(jié)點(diǎn)合并方法實(shí)施例,所述家族樹(shù)中的節(jié)點(diǎn)包括虛 擬節(jié)點(diǎn)和實(shí)體節(jié)點(diǎn),所述實(shí)體節(jié)點(diǎn)為具有唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述虛擬節(jié)點(diǎn) 為無(wú)唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述節(jié)點(diǎn)的屬性信息包括性別信息、輩份信息;所述 合并的節(jié)點(diǎn)包括源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn),并滿(mǎn)足以下條件1)源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)具有同一性別的表征;2)如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)在同一棵家族樹(shù)中,則源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)具有同一輩份 的表征;3)如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)形成兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,則只有所述源節(jié)點(diǎn)和目 標(biāo)節(jié)點(diǎn)具有共同的父親節(jié)點(diǎn)和母親節(jié)點(diǎn)時(shí)才能被合并;4)合并時(shí)如果有一方是虛擬節(jié)點(diǎn)、一方是實(shí)體節(jié)點(diǎn),則將實(shí)體節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn), 將虛擬節(jié)點(diǎn)作為源節(jié)點(diǎn);所述的方法包括合并方向確定步驟在源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)均為實(shí)體節(jié)點(diǎn)或均為虛擬節(jié)點(diǎn),將目標(biāo) 節(jié)點(diǎn)作為合并后的保留節(jié)點(diǎn),將源節(jié)點(diǎn)作為合并后的刪除節(jié)點(diǎn);以及,在一方是實(shí)體節(jié)點(diǎn), 一方是虛擬節(jié)點(diǎn)時(shí),則將實(shí)體節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),將虛擬節(jié)點(diǎn)作為源節(jié)點(diǎn);雙親節(jié)點(diǎn)合并步驟在源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)均有父親節(jié)點(diǎn)和母親節(jié)點(diǎn)時(shí),將源節(jié)點(diǎn) 和目標(biāo)節(jié)點(diǎn)的父親節(jié)點(diǎn)合并,將源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)的母親節(jié)點(diǎn)合并,然后刪除源節(jié)點(diǎn)與所 述父親節(jié)點(diǎn)和母親節(jié)點(diǎn)的連接關(guān)系;以及,如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)只有一方有父親節(jié)點(diǎn)和 母親節(jié)點(diǎn),則依據(jù)該節(jié)點(diǎn)與父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系,在目標(biāo)節(jié)點(diǎn)上創(chuàng)建相應(yīng)的與父 親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系;配偶、子女節(jié)點(diǎn)合并步驟依據(jù)源節(jié)點(diǎn)與其配偶節(jié)點(diǎn)、子女節(jié)點(diǎn)的連接關(guān)系,在目 標(biāo)節(jié)點(diǎn)上創(chuàng)建相應(yīng)的與配偶節(jié)點(diǎn)、子女節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述配偶節(jié)點(diǎn)、 子女節(jié)點(diǎn)的連接關(guān)系;兄弟姐妹節(jié)點(diǎn)合并步驟依據(jù)源節(jié)點(diǎn)與其兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,在目標(biāo)節(jié)點(diǎn) 上創(chuàng)建相應(yīng)的與兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述兄弟姐妹節(jié)點(diǎn)的連接關(guān) 系;源節(jié)點(diǎn)刪除步驟刪除該源節(jié)點(diǎn)。由于本方法實(shí)施例相應(yīng)于前述系統(tǒng)實(shí)施例中家族樹(shù)維護(hù)模塊中節(jié)點(diǎn)合并子模塊 的功能,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)系統(tǒng)實(shí)施例的部分說(shuō)明即可,本發(fā)明在此就不 贅述了。在實(shí)際中,家庭成員可以通過(guò)家族樹(shù)實(shí)現(xiàn)各種操作。例如
一、族譜管理首先可以建立直觀的家族樹(shù)自動(dòng)生成族譜。用戶(hù)可以自主管理家族樹(shù)進(jìn)行添加、 刪除人員,并運(yùn)用日歷的輔助功能記錄家庭節(jié)日、生日、紀(jì)念日等。最終導(dǎo)出,可形成各種形 式的家譜。二、自動(dòng)匹配家族樹(shù)里有一定的成員后,會(huì)自動(dòng)識(shí)別判斷兩棵樹(shù)之間是否有親戚、宗族關(guān)系。如 果符合宗族關(guān)系,兩棵樹(shù)就可以建立關(guān)系,最后形成一個(gè)大的家族,家族里包含有家庭。比 如某人建立了自己的家族樹(shù)并且添加了父母、爺爺、奶奶的信息。某人的堂兄也建立了自 己的家族樹(shù)并添加了相關(guān)信息。該人和其堂兄的爺爺、奶奶是共同的,根據(jù)這個(gè)關(guān)系,家族 樹(shù)會(huì)自動(dòng)建立兩棵樹(shù)的關(guān)系并提示是否合并為一棵樹(shù)。三、家庭溝通家族樹(shù)有即時(shí)聊天、家庭日志、家庭祝福等互動(dòng)功能。在一棵樹(shù)或者有聯(lián)系的樹(shù) 里,成員們可以暢談家事、國(guó)事、天下事。四、其他服務(wù)家族樹(shù)還提供圖片分享、家族禮物、家庭教育、家庭活動(dòng)、音樂(lè)、空間等多種互動(dòng)功 能。本發(fā)明可用于眾多通用或?qū)S玫挠?jì)算系統(tǒng)環(huán)境或配置中。例如多處理器系統(tǒng)、服 務(wù)器、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。本發(fā)明可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序 模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、組 件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本發(fā)明,在這些分布式計(jì)算環(huán)境中,由 通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以 位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。以上對(duì)本發(fā)明所提供的一種家族樹(shù)的節(jié)點(diǎn)處理系統(tǒng)、一種家族樹(shù)的節(jié)點(diǎn)添加方 法、一種家族樹(shù)的節(jié)點(diǎn)刪除方法以及一種家族樹(shù)的節(jié)點(diǎn)合并方法進(jìn)行了詳細(xì)介紹,本文中 應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助 理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想, 在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本 發(fā)明的限制。
權(quán)利要求
1.一種家族樹(shù)的節(jié)點(diǎn)處理系統(tǒng),其特征在于,包括 接口模塊,用于為用戶(hù)提供輸入接口和輸出接口 ; 數(shù)據(jù)庫(kù),用于存儲(chǔ)家族樹(shù)的數(shù)據(jù)信息;家族樹(shù)維護(hù)模塊,用于根據(jù)用戶(hù)操作維護(hù)家族樹(shù)中的節(jié)點(diǎn)以及節(jié)點(diǎn)之間的連接關(guān)系; 包括節(jié)點(diǎn)添加子模塊,用于添加節(jié)點(diǎn)以及節(jié)點(diǎn)之間的連接關(guān)系; 節(jié)點(diǎn)刪除子模塊,用于按照預(yù)置刪除規(guī)則刪除節(jié)點(diǎn)及與該節(jié)點(diǎn)相關(guān)的連接關(guān)系; 節(jié)點(diǎn)合并子模塊,用于按照預(yù)置合并規(guī)則合并關(guān)聯(lián)節(jié)點(diǎn),所述關(guān)聯(lián)節(jié)點(diǎn)包括不同家族 樹(shù)中的共有節(jié)點(diǎn),以及,一棵家族樹(shù)內(nèi)部的相關(guān)節(jié)點(diǎn)。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述家族樹(shù)中的節(jié)點(diǎn)包括實(shí)體節(jié)點(diǎn)和虛擬 節(jié)點(diǎn),所述實(shí)體節(jié)點(diǎn)為具有唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述虛擬節(jié)點(diǎn)為沒(méi)有唯一標(biāo) 識(shí)信息及屬性信息的節(jié)點(diǎn);所述節(jié)點(diǎn)添加子模塊包括 當(dāng)前節(jié)點(diǎn)構(gòu)建單元,用于生成當(dāng)前節(jié)點(diǎn);父母節(jié)點(diǎn)關(guān)系添加單元,用于針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建父親節(jié)點(diǎn)或母親節(jié)點(diǎn),同時(shí)創(chuàng)建一個(gè) 虛擬節(jié)點(diǎn)作為該父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的配偶節(jié)點(diǎn),并在當(dāng)前節(jié)點(diǎn)存在與兄弟姐妹節(jié)點(diǎn)的連 接關(guān)系時(shí),添加所述兄弟姐妹節(jié)點(diǎn)與父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的連接關(guān)系;和/或,在當(dāng)前節(jié)點(diǎn)存在單血緣關(guān)系的兄弟姐妹節(jié)點(diǎn)時(shí),刪除該兄弟姐妹節(jié)點(diǎn)后,為當(dāng) 前節(jié)點(diǎn)添加父親節(jié)點(diǎn)或母親節(jié)點(diǎn);和/或,在當(dāng)前節(jié)點(diǎn)存在與作為其父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的虛擬節(jié)點(diǎn)的連接關(guān)系時(shí),將 所述虛擬節(jié)點(diǎn)更新為實(shí)體節(jié)點(diǎn)。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)添加子模塊還包括兄弟姐妹節(jié)點(diǎn)關(guān)系添加單元,用于針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建兄弟姐妹節(jié)點(diǎn),并在當(dāng)前節(jié)點(diǎn)存 在與父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系時(shí),添加所述兄弟姐妹節(jié)點(diǎn)與父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連 接關(guān)系;和/或,若為當(dāng)前節(jié)點(diǎn)添加單血緣關(guān)系的兄弟姐妹節(jié)點(diǎn),則先添加父親節(jié)點(diǎn)或母親節(jié) 點(diǎn),并添加該父親節(jié)點(diǎn)或母親節(jié)點(diǎn)與對(duì)應(yīng)的配偶節(jié)點(diǎn)的連接關(guān)系,然后針對(duì)該父親節(jié)點(diǎn)或 母親節(jié)點(diǎn)添加子女節(jié)點(diǎn),再添加當(dāng)前節(jié)點(diǎn)與該子女節(jié)點(diǎn)的連接關(guān)系。
4.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)添加子模塊還包括配偶節(jié)點(diǎn)關(guān)系添加單元,用于針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建配偶節(jié)點(diǎn);若存在作為配偶節(jié)點(diǎn)的虛 擬節(jié)點(diǎn),則將該虛擬節(jié)點(diǎn)更新為實(shí)體節(jié)點(diǎn)。
5.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)添加子模塊還包括子女節(jié)點(diǎn)關(guān)系添加單元,用于在當(dāng)前節(jié)點(diǎn)存在配偶節(jié)點(diǎn)時(shí),直接針對(duì)當(dāng)前節(jié)點(diǎn)及配偶 節(jié)點(diǎn)添加子女節(jié)點(diǎn);和/或,若當(dāng)前節(jié)點(diǎn)沒(méi)有配偶節(jié)點(diǎn),則先針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建作為配偶節(jié)點(diǎn)的虛擬節(jié)點(diǎn), 再針對(duì)所述當(dāng)前節(jié)點(diǎn)及虛擬節(jié)點(diǎn)添加子女節(jié)點(diǎn)。
6.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)刪除子模塊包括 判斷單元,用于判斷待刪除的節(jié)點(diǎn)是否滿(mǎn)足以下條件1)該節(jié)點(diǎn)所連接的父親、母親、兄弟姐妹節(jié)點(diǎn)的個(gè)數(shù)之和大于0,并且,該節(jié)點(diǎn)所連接的配偶、子女節(jié)點(diǎn)的個(gè)數(shù)之和大于0。計(jì)數(shù)不包含虛擬節(jié)點(diǎn);2)該節(jié)點(diǎn)為虛擬節(jié)點(diǎn);3)該節(jié)點(diǎn)存在與一個(gè)以上的配偶節(jié)點(diǎn)的連接關(guān)系,計(jì)數(shù)不包含虛擬節(jié)點(diǎn);4)該節(jié)點(diǎn)為外族關(guān)聯(lián)節(jié)點(diǎn),并且存在與外族成員的連接關(guān)系;其中,外族關(guān)聯(lián)節(jié)點(diǎn)為 當(dāng)前家族樹(shù)和其他家族樹(shù)進(jìn)行關(guān)聯(lián)的節(jié)點(diǎn);5)該節(jié)點(diǎn)的某配偶節(jié)點(diǎn),除該節(jié)點(diǎn)外還存在其它充當(dāng)其配偶節(jié)點(diǎn)的虛擬節(jié)點(diǎn)的連接關(guān) 系;且該節(jié)點(diǎn)與某配偶節(jié)點(diǎn)還有子女節(jié)點(diǎn)。刪除處理單元,用于在待刪除節(jié)點(diǎn)不滿(mǎn)足以上所有條件時(shí),通過(guò)以下步驟刪除該節(jié)點(diǎn)第1步、刪除待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)及子女節(jié)點(diǎn)之間的連接關(guān)系; 如果待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)沒(méi)有與子女節(jié)點(diǎn)的連接關(guān)系,則直接斷開(kāi)待刪除節(jié)點(diǎn)與 配偶節(jié)點(diǎn)之間的連接關(guān)系;如果待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)存在與子女節(jié)點(diǎn)的連接關(guān)系,并且該配偶節(jié)點(diǎn)為虛擬節(jié) 點(diǎn),則將待刪除節(jié)點(diǎn)與虛擬節(jié)點(diǎn)一并刪除,并刪除與所述待刪除節(jié)點(diǎn)與虛擬節(jié)點(diǎn)相關(guān)聯(lián)的 節(jié)點(diǎn)連接關(guān)系;若該配偶節(jié)點(diǎn)為實(shí)體節(jié)點(diǎn),則僅將待刪除節(jié)點(diǎn)更新為虛擬節(jié)點(diǎn); 第2步、刪除待刪除節(jié)點(diǎn)與其父親節(jié)點(diǎn)、母親節(jié)點(diǎn)之間的連接關(guān)系; 如果所述父親節(jié)點(diǎn)、母親節(jié)點(diǎn)均為實(shí)體節(jié)點(diǎn),則直接刪除待刪除節(jié)點(diǎn)與所述父親節(jié)點(diǎn)、 母親節(jié)點(diǎn)之間的連接關(guān)系;如果所述父親節(jié)點(diǎn)或母親節(jié)點(diǎn)為虛擬節(jié)點(diǎn),且在該父親節(jié)點(diǎn)和母親節(jié)點(diǎn)下只有一個(gè) 作為子女節(jié)點(diǎn)的待刪除節(jié)點(diǎn),則刪除待刪除節(jié)點(diǎn)與所述父親節(jié)點(diǎn)與母親節(jié)點(diǎn)之間的連接關(guān) 系,并刪除所述虛擬節(jié)點(diǎn);第3步、刪除待刪除節(jié)點(diǎn)與其兄弟姐妹節(jié)點(diǎn)之間的連接關(guān)系; 第4步、刪除該待刪除節(jié)點(diǎn)。
7.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述關(guān)聯(lián)節(jié)點(diǎn)包括源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn),所述 節(jié)點(diǎn)的屬性信息包括性別信息、輩份信息;所述源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)滿(mǎn)足以下條件1)源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)具有同一性別的表征;2)如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)在同一棵家族樹(shù)中,則源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)具有同一輩份的表征;3)如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)形成兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,則只有所述源節(jié)點(diǎn)和目標(biāo)節(jié) 點(diǎn)具有共同的父親節(jié)點(diǎn)和母親節(jié)點(diǎn)時(shí)才能被合并;4)合并時(shí)如果有一方是虛擬節(jié)點(diǎn)、一方是實(shí)體節(jié)點(diǎn),則將實(shí)體節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),將虛 擬節(jié)點(diǎn)作為源節(jié)點(diǎn);所述節(jié)點(diǎn)合并子模塊包括合并方向確定單元,用于在源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)均為實(shí)體節(jié)點(diǎn)或均為虛擬節(jié)點(diǎn),將目標(biāo) 節(jié)點(diǎn)作為合并后的保留節(jié)點(diǎn),將源節(jié)點(diǎn)作為合并后的刪除節(jié)點(diǎn);和/或,在一方是實(shí)體節(jié)點(diǎn),一方是虛擬節(jié)點(diǎn)時(shí),則將實(shí)體節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),將虛擬 節(jié)點(diǎn)作為源節(jié)點(diǎn);雙親節(jié)點(diǎn)合并單元,用于在源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)均有父親節(jié)點(diǎn)和母親節(jié)點(diǎn)時(shí),將源節(jié)點(diǎn) 和目標(biāo)節(jié)點(diǎn)的父親節(jié)點(diǎn)合并,將源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)的母親節(jié)點(diǎn)合并,然后刪除源節(jié)點(diǎn)與所述父親節(jié)點(diǎn)和母親節(jié)點(diǎn)的連接關(guān)系;和/或,如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)只有一方有父親節(jié)點(diǎn)和母親節(jié)點(diǎn),則依據(jù)該節(jié)點(diǎn)與父 親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系,在目標(biāo)節(jié)點(diǎn)上創(chuàng)建相應(yīng)的與父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān) 系,然后刪除源節(jié)點(diǎn)與所述父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系;配偶、子女節(jié)點(diǎn)合并單元,用于依據(jù)源節(jié)點(diǎn)與其配偶節(jié)點(diǎn)、子女節(jié)點(diǎn)的連接關(guān)系,在目 標(biāo)節(jié)點(diǎn)上創(chuàng)建相應(yīng)的與配偶節(jié)點(diǎn)、子女節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述配偶節(jié)點(diǎn)、 子女節(jié)點(diǎn)的連接關(guān)系;兄弟姐妹節(jié)點(diǎn)合并單元,用于依據(jù)源節(jié)點(diǎn)與其兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,在目標(biāo)節(jié)點(diǎn) 上創(chuàng)建相應(yīng)的與兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述兄弟姐妹節(jié)點(diǎn)的連接關(guān) 系;源節(jié)點(diǎn)刪除單元,用于刪除該源節(jié)點(diǎn)。
8.一種家族樹(shù)的節(jié)點(diǎn)添加方法,其特征在于,所述家族樹(shù)中的節(jié)點(diǎn)包括虛擬節(jié)點(diǎn)和實(shí) 體節(jié)點(diǎn),所述實(shí)體節(jié)點(diǎn)為具有唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述虛擬節(jié)點(diǎn)為沒(méi)有唯一 標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述的方法包括當(dāng)前節(jié)點(diǎn)創(chuàng)建步驟生成當(dāng)前節(jié)點(diǎn);雙親節(jié)點(diǎn)添加步驟針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建父親節(jié)點(diǎn)或母親節(jié)點(diǎn),同時(shí)創(chuàng)建一個(gè)虛擬節(jié)點(diǎn) 作為該父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的配偶節(jié)點(diǎn),并在當(dāng)前節(jié)點(diǎn)存在與兄弟姐妹節(jié)點(diǎn)的連接關(guān)系 時(shí),添加所述兄弟姐妹節(jié)點(diǎn)與父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的連接關(guān)系;以及,如果當(dāng)前節(jié)點(diǎn)存在與 作為其父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的虛擬節(jié)點(diǎn)的連接關(guān)系,則將所述虛擬節(jié)點(diǎn)更新為實(shí)體節(jié)點(diǎn); 以及,如果當(dāng)前節(jié)點(diǎn)存在單血緣關(guān)系的兄弟姐妹節(jié)點(diǎn),則刪除該兄弟姐妹節(jié)點(diǎn)后,為當(dāng)前節(jié) 點(diǎn)添加父親節(jié)點(diǎn)或母親節(jié)點(diǎn);兄弟姐妹節(jié)點(diǎn)關(guān)系添加步驟針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建兄弟姐妹節(jié)點(diǎn),并在當(dāng)前節(jié)點(diǎn)存在與 父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系時(shí),添加所述兄弟姐妹節(jié)點(diǎn)與父親節(jié)點(diǎn)或母親節(jié)點(diǎn)的連接 關(guān)系;以及,若為當(dāng)前節(jié)點(diǎn)添加單血緣關(guān)系的兄弟姐妹節(jié)點(diǎn),則先添加父親節(jié)點(diǎn)或母親節(jié) 點(diǎn),并添加該父親節(jié)點(diǎn)或母親節(jié)點(diǎn)與對(duì)應(yīng)的配偶節(jié)點(diǎn)的連接關(guān)系,然后針對(duì)該父親節(jié)點(diǎn)或 母親節(jié)點(diǎn)添加子女節(jié)點(diǎn),再添加當(dāng)前節(jié)點(diǎn)與該子女節(jié)點(diǎn)的連接關(guān)系;配偶節(jié)點(diǎn)關(guān)系添加步驟針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建配偶節(jié)點(diǎn);若存在作為配偶節(jié)點(diǎn)的虛擬節(jié) 點(diǎn),則將該虛擬節(jié)點(diǎn)更新為實(shí)體節(jié)點(diǎn);子女節(jié)點(diǎn)關(guān)系添加步驟在當(dāng)前節(jié)點(diǎn)存在配偶節(jié)點(diǎn)時(shí),直接針對(duì)當(dāng)前節(jié)點(diǎn)及配偶節(jié)點(diǎn) 添加子女節(jié)點(diǎn);以及,若當(dāng)前節(jié)點(diǎn)沒(méi)有配偶節(jié)點(diǎn),則先針對(duì)當(dāng)前節(jié)點(diǎn)創(chuàng)建作為配偶節(jié)點(diǎn)的虛 擬節(jié)點(diǎn),再針對(duì)所述當(dāng)前節(jié)點(diǎn)及虛擬節(jié)點(diǎn)添加子女節(jié)點(diǎn)。
9.一種家族樹(shù)的節(jié)點(diǎn)刪除方法,其特征在于,所述家族樹(shù)中的節(jié)點(diǎn)包括虛擬節(jié)點(diǎn)和實(shí) 體節(jié)點(diǎn),所述實(shí)體節(jié)點(diǎn)為具有唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述虛擬節(jié)點(diǎn)為沒(méi)有唯一 標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述的方法包括判斷待刪除的節(jié)點(diǎn)是否滿(mǎn)足以下條件1)該節(jié)點(diǎn)所連接的父親、母親、兄弟姐妹節(jié)點(diǎn)的個(gè)數(shù)之和大于0,并且,該節(jié)點(diǎn)所連接 的配偶、子女節(jié)點(diǎn)的個(gè)數(shù)之和大于0。計(jì)數(shù)不包含虛擬節(jié)點(diǎn);2)該節(jié)點(diǎn)為虛擬節(jié)點(diǎn);3)該節(jié)點(diǎn)存在與一個(gè)以上的配偶節(jié)點(diǎn)的連接關(guān)系,計(jì)數(shù)不包含虛擬節(jié)點(diǎn);4)該節(jié)點(diǎn)為外族關(guān)聯(lián)節(jié)點(diǎn),并且存在與外族成員的連接關(guān)系;其中,外族關(guān)聯(lián)節(jié)點(diǎn)為 當(dāng)前家族樹(shù)和其他家族樹(shù)進(jìn)行關(guān)聯(lián)的節(jié)點(diǎn);5)該節(jié)點(diǎn)的某配偶節(jié)點(diǎn),除該節(jié)點(diǎn)外還存在其它充當(dāng)其配偶節(jié)點(diǎn)的虛擬節(jié)點(diǎn)的連接關(guān) 系;且該節(jié)點(diǎn)與某配偶節(jié)點(diǎn)還有子女節(jié)點(diǎn)。若待刪除節(jié)點(diǎn)不滿(mǎn)足以上所有條件,則執(zhí)行以下步驟 第1步、刪除待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)及子女節(jié)點(diǎn)之間的連接關(guān)系; 如果待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)沒(méi)有與子女節(jié)點(diǎn)的連接關(guān)系,則直接斷開(kāi)待刪除節(jié)點(diǎn)與 配偶節(jié)點(diǎn)之間的連接關(guān)系;如果待刪除節(jié)點(diǎn)與其配偶節(jié)點(diǎn)存在與子女節(jié)點(diǎn)的連接關(guān)系,并且該配偶節(jié)點(diǎn)為虛擬節(jié) 點(diǎn),則將待刪除節(jié)點(diǎn)與虛擬節(jié)點(diǎn)一并刪除,并刪除與所述待刪除節(jié)點(diǎn)與虛擬節(jié)點(diǎn)相關(guān)聯(lián)的 節(jié)點(diǎn)連接關(guān)系;若該配偶節(jié)點(diǎn)為實(shí)體節(jié)點(diǎn),則僅將待刪除節(jié)點(diǎn)更新為虛擬節(jié)點(diǎn); 第2步、刪除待刪除節(jié)點(diǎn)與其父親節(jié)點(diǎn)、母親節(jié)點(diǎn)之間的連接關(guān)系 如果所述父親節(jié)點(diǎn)、母親節(jié)點(diǎn)均為實(shí)體節(jié)點(diǎn),則直接刪除待刪除節(jié)點(diǎn)與所述父親節(jié)點(diǎn)、 母親節(jié)點(diǎn)之間的連接關(guān)系;如果所述父親節(jié)點(diǎn)或母親節(jié)點(diǎn)為虛擬節(jié)點(diǎn),且在該父親節(jié)點(diǎn)和母親節(jié)點(diǎn)下只有一個(gè) 作為子女節(jié)點(diǎn)的待刪除節(jié)點(diǎn),則刪除待刪除節(jié)點(diǎn)與所述父親節(jié)點(diǎn)與母親節(jié)點(diǎn)之間的連接關(guān) 系,并刪除所述虛擬節(jié)點(diǎn);第3步、刪除待刪除節(jié)點(diǎn)與其兄弟姐妹節(jié)點(diǎn)之間的連接關(guān)系; 第4步、刪除該待刪除節(jié)點(diǎn)。
10. 一種家族樹(shù)的節(jié)點(diǎn)合并方法,其特征在于,所述家族樹(shù)中的節(jié)點(diǎn)包括實(shí)體節(jié)點(diǎn)和虛 擬節(jié)點(diǎn),所述實(shí)體節(jié)點(diǎn)為具有唯一標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述虛擬節(jié)點(diǎn)為沒(méi)有唯一 標(biāo)識(shí)信息及屬性信息的節(jié)點(diǎn),所述節(jié)點(diǎn)的屬性信息包括性別信息、輩份信息;所述合并的節(jié) 點(diǎn)包括源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn),并滿(mǎn)足以下條件1)源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)具有同一性別的表征;2)如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)在同一棵家族樹(shù)中,則源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)具有同一輩份的表征;3)如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)形成兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,則只有所述源節(jié)點(diǎn)和目標(biāo)節(jié) 點(diǎn)具有共同的父親節(jié)點(diǎn)和母親節(jié)點(diǎn)時(shí)才能被合并;4)合并時(shí)如果有一方是虛擬節(jié)點(diǎn)、一方是實(shí)體節(jié)點(diǎn),則將實(shí)體節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),將虛 擬節(jié)點(diǎn)作為源節(jié)點(diǎn);所述的方法包括合并方向確定步驟在源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)均為實(shí)體節(jié)點(diǎn)或均為虛擬節(jié)點(diǎn),將目標(biāo)節(jié)點(diǎn) 作為合并后的保留節(jié)點(diǎn),將源節(jié)點(diǎn)作為合并后的刪除節(jié)點(diǎn);以及,在一方是實(shí)體節(jié)點(diǎn),一方 是虛擬節(jié)點(diǎn)時(shí),則將實(shí)體節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),將虛擬節(jié)點(diǎn)作為源節(jié)點(diǎn);雙親節(jié)點(diǎn)合并步驟在源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)均有父親節(jié)點(diǎn)和母親節(jié)點(diǎn)時(shí),將源節(jié)點(diǎn)和目 標(biāo)節(jié)點(diǎn)的父親節(jié)點(diǎn)合并,將源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)的母親節(jié)點(diǎn)合并,然后刪除源節(jié)點(diǎn)與所述父 親節(jié)點(diǎn)和母親節(jié)點(diǎn)的連接關(guān)系;以及,如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)只有一方有父親節(jié)點(diǎn)和母親 節(jié)點(diǎn),則依據(jù)該節(jié)點(diǎn)與父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系,在目標(biāo)節(jié)點(diǎn)上創(chuàng)建相應(yīng)的與父親節(jié) 點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述父親節(jié)點(diǎn)、母親節(jié)點(diǎn)的連接關(guān)系;配偶、子女節(jié)點(diǎn)合并步驟依據(jù)源節(jié)點(diǎn)與其配偶節(jié)點(diǎn)、子女節(jié)點(diǎn)的連接關(guān)系,在目標(biāo)節(jié) 點(diǎn)上創(chuàng)建相應(yīng)的與配偶節(jié)點(diǎn)、子女節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述配偶節(jié)點(diǎn)、子女 節(jié)點(diǎn)的連接關(guān)系;兄弟姐妹節(jié)點(diǎn)合并步驟依據(jù)源節(jié)點(diǎn)與其兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,在目標(biāo)節(jié)點(diǎn)上創(chuàng) 建相應(yīng)的與兄弟姐妹節(jié)點(diǎn)的連接關(guān)系,然后刪除源節(jié)點(diǎn)與所述兄弟姐妹節(jié)點(diǎn)的連接關(guān)系; 源節(jié)點(diǎn)刪除步驟刪除該源節(jié)點(diǎn)。
全文摘要
本發(fā)明公開(kāi)了一種家族樹(shù)的節(jié)點(diǎn)處理系統(tǒng)及家族樹(shù)的節(jié)點(diǎn)處理方法,所述家族樹(shù)節(jié)點(diǎn)處理系統(tǒng)包括接口模塊,用于為用戶(hù)提供輸入接口和輸出接口;數(shù)據(jù)庫(kù),用于存儲(chǔ)家族樹(shù)的數(shù)據(jù)信息;家族樹(shù)維護(hù)模塊,用于根據(jù)用戶(hù)操作維護(hù)家族樹(shù)中的節(jié)點(diǎn)以及節(jié)點(diǎn)之間的連接關(guān)系;包括節(jié)點(diǎn)添加子模塊,用于添加節(jié)點(diǎn)以及節(jié)點(diǎn)之間的連接關(guān)系;節(jié)點(diǎn)刪除子模塊,用于按照預(yù)置刪除規(guī)則刪除節(jié)點(diǎn)及與該節(jié)點(diǎn)相關(guān)的連接關(guān)系;節(jié)點(diǎn)合并子模塊,用于按照預(yù)置合并規(guī)則合并關(guān)聯(lián)節(jié)點(diǎn),所述關(guān)聯(lián)節(jié)點(diǎn)包括不同家族樹(shù)中的共有節(jié)點(diǎn),以及,一棵家族樹(shù)內(nèi)部的相關(guān)節(jié)點(diǎn)。本發(fā)明可以盡可能準(zhǔn)確、完整地表征現(xiàn)實(shí)世界中各種復(fù)雜的家庭血緣關(guān)系,保證家族樹(shù)維護(hù)的開(kāi)放性,提高用戶(hù)的使用體驗(yàn)。
文檔編號(hào)G06F17/30GK102142015SQ20111003309
公開(kāi)日2011年8月3日 申請(qǐng)日期2011年1月30日 優(yōu)先權(quán)日2011年1月30日
發(fā)明者唐凌遙 申請(qǐng)人:唐凌遙