欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

利用多事務(wù)技術(shù)復(fù)制面向?qū)ο蟓h(huán)境中的對(duì)象的方法和裝置的制作方法

文檔序號(hào):6593233閱讀:124來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):利用多事務(wù)技術(shù)復(fù)制面向?qū)ο蟓h(huán)境中的對(duì)象的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)輔助設(shè)計(jì)和計(jì)算機(jī)輔助制造(CAD/CAM)軟件系統(tǒng),更具體地, 本發(fā)明涉及用于復(fù)制這種系統(tǒng)使用的數(shù)據(jù)庫(kù)中的大量對(duì)象和關(guān)系的方法和裝置。
背景技術(shù)
企業(yè)工程系統(tǒng)有時(shí)也稱(chēng)為空間信息管理(SIM)系統(tǒng),是有助于2D和3D建模和可 視化的計(jì)算機(jī)輔助設(shè)計(jì)(CAD)系統(tǒng)。這些系統(tǒng)用在工廠(例如,煉油廠和發(fā)電站)以及其 它大的、復(fù)雜的建筑物(例如,高樓大廈、船和礦業(yè)以及其它材料處理設(shè)施)的設(shè)計(jì)、架構(gòu)、 實(shí)施和修改中。利用它們的圖形用戶界面(GUI),企業(yè)工程系統(tǒng)使設(shè)計(jì)者能夠安排結(jié)構(gòu)、管 道、電氣、暖通空調(diào)(HVAC)和其它復(fù)雜的系統(tǒng),并且能夠在架構(gòu)或?qū)嵤┑母鱾€(gè)階段可視化 工程的所有或選定部分。大多數(shù)現(xiàn)代企業(yè)工程系統(tǒng)采用面向?qū)ο蟮姆缎?,其中,稱(chēng)為“對(duì)象”的軟件構(gòu)造表 示真實(shí)世界中的項(xiàng)目,例如橫梁、墻、地板、管道、閥、線管、開(kāi)關(guān)、風(fēng)扇、輸送管道等。對(duì)象通 常作為數(shù)據(jù)結(jié)構(gòu)(有序的數(shù)據(jù)元素組)在軟件中實(shí)現(xiàn),其中數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)標(biāo)識(shí)所代表的真 實(shí)世界項(xiàng)目的類(lèi)型的信息、以及關(guān)于每個(gè)對(duì)象所代表的具體項(xiàng)目的信息(例如,適于所代 表的項(xiàng)目的長(zhǎng)、寬、顏色、容量等)。多數(shù)對(duì)象都與其它對(duì)象相關(guān)聯(lián)。例如,如果管道附接至橫梁,那么表示所述管道的 對(duì)象就與相應(yīng)的橫梁對(duì)象相關(guān)聯(lián)。關(guān)系通常也由數(shù)據(jù)結(jié)構(gòu)表示。例如,所述管道對(duì)象與橫 梁對(duì)象之間的關(guān)系可包括標(biāo)識(shí)管道到橫梁的物理連接的信息。此外,所述關(guān)系還可包括指 示橫梁支撐管道的信息,而不是反過(guò)來(lái)。對(duì)象之間的關(guān)系是有序的概念。一種關(guān)系可指示一種將對(duì)象添加到模型中的邏輯 順序。例如,當(dāng)建模發(fā)電廠大樓時(shí),設(shè)計(jì)者通常會(huì)添加柱子,并以所需的坐標(biāo)放置所述柱子, 然后設(shè)計(jì)者在柱子的下面創(chuàng)建地基。地基對(duì)象與柱子對(duì)象相關(guān)聯(lián),使得如果稍后移動(dòng)柱子 或改變它必須承載的重量,那么企業(yè)工程系統(tǒng)就會(huì)自動(dòng)地移動(dòng)地基或自動(dòng)地按照承載的新 的重量的要求改變它的尺寸。在這個(gè)示例中,梁(beam)對(duì)象和地基對(duì)象是父子關(guān)系。此處,由于地基的特性基 于梁的特性,所以梁稱(chēng)為地基對(duì)象的“父”,而地基稱(chēng)為梁對(duì)象的“子”。只要梁的特性變化, 地基的特性以及作為梁的子的任何其它對(duì)象的特性就由企業(yè)工程系統(tǒng)自動(dòng)地重新計(jì)算。許多對(duì)象由其它對(duì)象組成。例如,鍋爐包括燃燒器、一系列管道和用于促使流體通
5過(guò)所述管道的泵。在這種情況下,分立的對(duì)象表示鍋爐、燃燒器、管道和泵,并且鍋爐對(duì)象與 其它對(duì)象之間的關(guān)系指示鍋爐包括或者由其它項(xiàng)目組成,以及其它項(xiàng)目是鍋爐的部分。表 示對(duì)象之間關(guān)系的數(shù)據(jù)結(jié)構(gòu)可包括指針或者對(duì)相應(yīng)對(duì)象數(shù)據(jù)結(jié)構(gòu)的引用。許多現(xiàn)代企業(yè)工程系統(tǒng)采用關(guān)系數(shù)據(jù)庫(kù)(RDB)或其它數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)來(lái) 存儲(chǔ)對(duì)象以及這些對(duì)象之間的關(guān)系。在這些系統(tǒng)中,RDB記錄用于存儲(chǔ)對(duì)象和關(guān)系數(shù)據(jù)結(jié) 構(gòu)。企業(yè)工程系統(tǒng)的一個(gè)特別有用的特征是能夠復(fù)制模型中的一個(gè)或多個(gè)對(duì)象以及 它們的對(duì)應(yīng)關(guān)系,并把副本粘貼到該模型的另一部分或者另一模型中。例如,在多層辦公樓 的模型中,表示給定樓層的管道裝置的對(duì)象和關(guān)系可被復(fù)制并粘貼到其它樓層。復(fù)制操作 包括創(chuàng)建表示待復(fù)制的對(duì)象和關(guān)系的數(shù)據(jù)結(jié)構(gòu)的副本。復(fù)制操作也調(diào)整新創(chuàng)建的數(shù)據(jù)結(jié)構(gòu) 中的值,例如,給新創(chuàng)建的對(duì)象唯一的標(biāo)識(shí)以及建立新對(duì)象與模型中粘貼對(duì)象的部分(例 如,樓層)之間的關(guān)系。為了維護(hù)模型數(shù)據(jù)庫(kù)中對(duì)象和關(guān)系的有效性,復(fù)制操作應(yīng)該是“原子性”的。也就 是說(shuō),要么整個(gè)復(fù)制操作是完整而沒(méi)有錯(cuò)誤的,包括在數(shù)據(jù)庫(kù)中存儲(chǔ)(“提交”)新創(chuàng)建的對(duì) 象,要么完全不執(zhí)行任何復(fù)制操作并且沒(méi)有新的對(duì)象存儲(chǔ)在數(shù)據(jù)庫(kù)中。如果例如由于系統(tǒng) 故障(“崩潰”)或試圖復(fù)制損壞的數(shù)據(jù)結(jié)構(gòu)而異常終止了非原子的復(fù)制操作,那么所述復(fù) 制操作僅被部分地完成,并且一些父對(duì)象或父子關(guān)系可能會(huì)從產(chǎn)生的模型中丟失,這將嚴(yán) 重地破壞模型的值。具有丟失對(duì)象或關(guān)系的數(shù)據(jù)庫(kù)稱(chēng)為“無(wú)效的”或“不一致的”。因此,為了確保原子性,企業(yè)工程系統(tǒng)按照三個(gè)步驟來(lái)執(zhí)行復(fù)制操作。第一步,將 表示待復(fù)制的對(duì)象和關(guān)系的所有數(shù)據(jù)結(jié)構(gòu)放進(jìn)存儲(chǔ)器,并且在存儲(chǔ)器中創(chuàng)建表示所有新創(chuàng) 建的對(duì)象的數(shù)據(jù)結(jié)構(gòu)。然后,在第二步,執(zhí)行新創(chuàng)建的數(shù)據(jù)結(jié)構(gòu)中所有所需的值調(diào)整,同時(shí) 數(shù)據(jù)結(jié)構(gòu)仍處于存儲(chǔ)器中。第二步包括建立新創(chuàng)建的對(duì)象之間以及新創(chuàng)建的對(duì)象與現(xiàn)存對(duì) 象之間的所有關(guān)系。然后,在第三步,將表示新對(duì)象和關(guān)系的新創(chuàng)建的數(shù)據(jù)結(jié)構(gòu)提交至數(shù)據(jù) 庫(kù)。于是,數(shù)據(jù)庫(kù)反映了執(zhí)行任意復(fù)制操作之前或者完成整個(gè)復(fù)制操作之后的模型,而不是 處于任意中間階段的模型。原子操作也稱(chēng)為“事務(wù)”。許多工廠模型包括非常大量的對(duì)象和關(guān)系,這給企業(yè)工程系統(tǒng)帶來(lái)很多問(wèn)題。復(fù) 制如此大量的對(duì)象和它們的關(guān)系可能超過(guò)了這些系統(tǒng)存儲(chǔ)器容量。正如所注意到的,系統(tǒng) 的存儲(chǔ)器必須足夠大以存儲(chǔ)表示待復(fù)制的對(duì)象和關(guān)系的所有數(shù)據(jù)結(jié)構(gòu)、以及這些數(shù)據(jù)結(jié)構(gòu) 的副本。即使系統(tǒng)具有對(duì)于給定的復(fù)制操作的足夠的存儲(chǔ),復(fù)制大量的對(duì)象和關(guān)系也將花 費(fèi)大量的時(shí)間,有時(shí)是幾個(gè)小時(shí)。異常終止的長(zhǎng)的復(fù)制操作必須“回滾(rolled back)”,以 撤銷(xiāo)部分復(fù)制,并隨后從起始位置重新啟動(dòng)該復(fù)制操作,所有這些過(guò)程將浪費(fèi)用戶和計(jì)算 機(jī)的寶賁時(shí)間。

發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供了一種用于復(fù)制在面向?qū)ο蟮钠髽I(yè)工程系統(tǒng)中表示的多個(gè) 前驅(qū)對(duì)象和后繼對(duì)象的計(jì)算機(jī)化方法。在該系統(tǒng)中,每個(gè)后繼對(duì)象均與前驅(qū)對(duì)象具有前驅(qū) 關(guān)系。從選擇多個(gè)待復(fù)制的對(duì)象的用戶接受輸入。對(duì)于每個(gè)選定對(duì)象都自動(dòng)識(shí)別對(duì)應(yīng)于所 選定對(duì)象的前驅(qū)對(duì)象。將選定的對(duì)象和所識(shí)別的前驅(qū)對(duì)象劃分成多個(gè)有序的對(duì)象組,以便 對(duì)于任意給定的選定的對(duì)象或前驅(qū)對(duì)象,其對(duì)應(yīng)的前驅(qū)對(duì)象處于與給定的對(duì)象相同的組中或處于在前的組中。對(duì)于每個(gè)有序組,執(zhí)行原子數(shù)據(jù)庫(kù)事務(wù)。在事務(wù)過(guò)程,對(duì)應(yīng)于組中對(duì)象的復(fù)制對(duì)象 存儲(chǔ)在數(shù)據(jù)庫(kù)中。此外,在事務(wù)過(guò)程,對(duì)于對(duì)應(yīng)于組中對(duì)象的至少一個(gè)所存儲(chǔ)的復(fù)制對(duì)象, 信息存儲(chǔ)在數(shù)據(jù)庫(kù)中,以建立所存儲(chǔ)的復(fù)制對(duì)象與數(shù)據(jù)庫(kù)中另一對(duì)象之間的前驅(qū)關(guān)系。另 一對(duì)象不對(duì)應(yīng)于組中的任何對(duì)象,并且所存儲(chǔ)的復(fù)制對(duì)象是另一對(duì)象的后繼。在一個(gè)組中的對(duì)象與另一組中的另一對(duì)象之間存在至少一個(gè)前驅(qū)關(guān)系。作為一個(gè) 組中原子數(shù)據(jù)庫(kù)事務(wù)的一部分,信息可以存儲(chǔ)在數(shù)據(jù)庫(kù)中,以建立對(duì)應(yīng)于一個(gè)組中對(duì)象的 所存儲(chǔ)的復(fù)制對(duì)象與對(duì)應(yīng)于另一對(duì)象的復(fù)制對(duì)象之間的前驅(qū)關(guān)系。作為識(shí)別前驅(qū)對(duì)象的一部分,接收用于識(shí)別始于選定對(duì)象的路徑的數(shù)據(jù)。路徑經(jīng) 過(guò)至少一個(gè)附屬于選定對(duì)象的對(duì)象延伸。路徑包括至少一步。每步均具有關(guān)系類(lèi)型和方向。識(shí)別前驅(qū)對(duì)象包括接收識(shí)別第一路徑和第二路徑的數(shù)據(jù)。每條路徑均開(kāi)始于選定 對(duì)象。每條路徑均經(jīng)過(guò)至少一個(gè)附屬于選定對(duì)象的對(duì)象延伸。每條路徑均包括至少一步。 每步均具有關(guān)系類(lèi)型和方向。第一路徑終止于并不附屬于選定對(duì)象的目標(biāo)對(duì)象,而第二路 徑終止于附屬于選定對(duì)象的目標(biāo)對(duì)象。識(shí)別前驅(qū)對(duì)象包括利用來(lái)自至少一條路徑的信息所 形成的查詢而對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢。識(shí)別前驅(qū)對(duì)象包括生成選定對(duì)象的計(jì)算機(jī)可讀表示(例如復(fù)制前驅(qū)圖)。該表示 被分類(lèi)排序,并且經(jīng)過(guò)分類(lèi)排序的表示被劃分。對(duì)于每個(gè)有序組,在原子數(shù)據(jù)庫(kù)事務(wù)過(guò)程,對(duì)于每個(gè)在組中選擇的對(duì)象,可以自動(dòng) 識(shí)別對(duì)應(yīng)于選定對(duì)象的附屬對(duì)象。此外,在數(shù)據(jù)庫(kù)中存儲(chǔ)對(duì)應(yīng)于所識(shí)別的附屬對(duì)象的復(fù)制 對(duì)象。對(duì)于每一組,作為存儲(chǔ)對(duì)應(yīng)于組中的對(duì)象的復(fù)制對(duì)象的部分,可以與組中對(duì)應(yīng)對(duì) 象的對(duì)象標(biāo)識(shí)符相關(guān)聯(lián)地存儲(chǔ)至少一個(gè)復(fù)制對(duì)象的對(duì)象標(biāo)識(shí)符。本發(fā)明的另一實(shí)施例提供一種用于復(fù)制面向?qū)ο蟮钠髽I(yè)工程系統(tǒng)內(nèi)表示的多個(gè) 前驅(qū)對(duì)象和后繼對(duì)象的系統(tǒng)。在該系統(tǒng)中,每個(gè)后繼對(duì)象均與前驅(qū)對(duì)象具有前驅(qū)關(guān)系。該 系統(tǒng)包括用戶界面,構(gòu)造為從選擇多個(gè)待復(fù)制的對(duì)象的用戶接受輸入。識(shí)別模塊用于對(duì)于 每個(gè)選定對(duì)象,自動(dòng)地識(shí)別對(duì)應(yīng)于選定對(duì)象的前驅(qū)對(duì)象。劃分模塊構(gòu)造為將選定對(duì)象和所 識(shí)別的前驅(qū)對(duì)象劃分成多個(gè)有序?qū)ο蠼M。對(duì)于任何給定的選定對(duì)象或前驅(qū)對(duì)象,其相應(yīng)的 前驅(qū)對(duì)象與給定的對(duì)象處于同一組中或先前的組中。存儲(chǔ)模塊,構(gòu)造為使得對(duì)于每個(gè)有序 組,在原子數(shù)據(jù)庫(kù)事務(wù)過(guò)程,存儲(chǔ)模塊在數(shù)據(jù)庫(kù)中存儲(chǔ)對(duì)應(yīng)于組中對(duì)象的復(fù)制對(duì)象。此外, 對(duì)于對(duì)應(yīng)于組中對(duì)象的至少一個(gè)所存儲(chǔ)的復(fù)制對(duì)象,存儲(chǔ)模塊在數(shù)據(jù)庫(kù)中存儲(chǔ)信息,以建 立所存儲(chǔ)的復(fù)制對(duì)象與數(shù)據(jù)庫(kù)中另一對(duì)象之間的前驅(qū)關(guān)系。另一對(duì)象不對(duì)應(yīng)于組中的任何 對(duì)象。所存儲(chǔ)的復(fù)制對(duì)象是另一對(duì)象的后繼。在一個(gè)組中的對(duì)象與另一組中的另一對(duì)象之間存在至少一個(gè)前驅(qū)關(guān)系。作為用于 一個(gè)組中原子數(shù)據(jù)庫(kù)事務(wù)的一部分,存儲(chǔ)模塊也被構(gòu)造為將信息存儲(chǔ)在數(shù)據(jù)庫(kù)中,以建立 對(duì)應(yīng)于一個(gè)組中對(duì)象的所存儲(chǔ)的復(fù)制對(duì)象與對(duì)應(yīng)于另一對(duì)象的復(fù)制對(duì)象之間的前驅(qū)關(guān)系。識(shí)別模塊還被構(gòu)造為接收用于識(shí)別始于選定對(duì)象的路徑的數(shù)據(jù),例如,復(fù)制類(lèi)描 述符文件。路徑經(jīng)過(guò)至少一個(gè)附屬于所選定對(duì)象的對(duì)象延伸。所述路徑包括至少一步,并 且每步均具有關(guān)系類(lèi)型和方向。識(shí)別模塊還被構(gòu)造為接收識(shí)別第一路徑和第二路徑的數(shù)據(jù),例如復(fù)制類(lèi)描述符文件。每條路徑均始于所選定對(duì)象。每條路徑均經(jīng)過(guò)至少一個(gè)附屬于所選定對(duì)象的對(duì)象延伸。 每條路徑均包括至少一步。每步均具有關(guān)系類(lèi)型和方向。第一路徑終止于并不附屬于所選 定對(duì)象的目標(biāo)對(duì)象,而第二路徑終止于附屬于所選定對(duì)象的目標(biāo)對(duì)象。識(shí)別模塊還被構(gòu)造用以利用來(lái)自第一和第二路徑中至少一條路徑的信息所形成 的查詢而對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢。識(shí)別模塊還被構(gòu)造為用以產(chǎn)生所選定對(duì)象的計(jì)算機(jī)可讀表示(例如復(fù)制前驅(qū) 圖)。此外,識(shí)別模塊可以分類(lèi)排序所選定對(duì)象的表示,并劃分所選定對(duì)象的所分類(lèi)排序的表不。存儲(chǔ)模塊還被構(gòu)造為針對(duì)每個(gè)有序組,對(duì)于每個(gè)在組中選擇的對(duì)象,在原子數(shù)據(jù) 庫(kù)事務(wù)過(guò)程,自動(dòng)識(shí)別對(duì)應(yīng)于所選定對(duì)象的附屬對(duì)象。存儲(chǔ)模塊也用于在數(shù)據(jù)庫(kù)中存儲(chǔ)對(duì) 應(yīng)于所識(shí)別的附屬對(duì)象的復(fù)制對(duì)象。存儲(chǔ)模塊還被構(gòu)造為對(duì)于每一組,與組中對(duì)應(yīng)對(duì)象的對(duì)象標(biāo)識(shí)符相關(guān)聯(lián)地存儲(chǔ)至 少一個(gè)復(fù)制對(duì)象的對(duì)象標(biāo)識(shí)符。例如,存儲(chǔ)模塊可以構(gòu)建全局復(fù)制地圖。本發(fā)明的又一實(shí)施例提供一種用在計(jì)算機(jī)系統(tǒng)上的計(jì)算機(jī)程序產(chǎn)品,用于復(fù)制面 向?qū)ο蟮钠髽I(yè)工程系統(tǒng)內(nèi)表示的多個(gè)前驅(qū)對(duì)象和后繼對(duì)象。在該系統(tǒng)中,每個(gè)后繼對(duì)象均 與前驅(qū)對(duì)象具有前驅(qū)關(guān)系。計(jì)算機(jī)程序產(chǎn)品包括其上存儲(chǔ)有計(jì)算機(jī)指令的計(jì)算機(jī)可讀介 質(zhì)。當(dāng)指令由處理器執(zhí)行時(shí),指令促使處理器從選擇多個(gè)待復(fù)制的對(duì)象的用戶接受輸入。此 外,對(duì)于每個(gè)所選定的對(duì)象,自動(dòng)地識(shí)別對(duì)應(yīng)于所選定對(duì)象的前驅(qū)對(duì)象。此外,將所選定的 對(duì)象和所識(shí)別的前驅(qū)對(duì)象劃分成多個(gè)有序?qū)ο蠼M,以便對(duì)于任何給定的所選定對(duì)象或前驅(qū) 對(duì)象,其相應(yīng)的前驅(qū)對(duì)象與給定的對(duì)象處于同一組中或先前的組中。對(duì)于每個(gè)有序組,在原 子數(shù)據(jù)庫(kù)事務(wù)過(guò)程,對(duì)應(yīng)于組中對(duì)象的復(fù)制對(duì)象存儲(chǔ)在數(shù)據(jù)庫(kù)中。此外,對(duì)于對(duì)應(yīng)于組中對(duì) 象的至少一個(gè)所存儲(chǔ)的復(fù)制對(duì)象,信息存儲(chǔ)在數(shù)據(jù)庫(kù)中,以建立所存儲(chǔ)的復(fù)制對(duì)象與數(shù)據(jù) 庫(kù)中另一對(duì)象之間的前驅(qū)關(guān)系。另一對(duì)象不對(duì)應(yīng)于組中的任何對(duì)象。所存儲(chǔ)的復(fù)制對(duì)象是 另一對(duì)象的后繼。


通過(guò)結(jié)合附圖參考以下的具體實(shí)施例的詳細(xì)描述將更全面地理解本發(fā)明,其中圖1為本發(fā)明中實(shí)施例的操作流程圖;圖2-9示出本發(fā)明中實(shí)施例的示例性用戶界面的多方面;圖10為根據(jù)本發(fā)明中實(shí)施例的示例性后繼對(duì)象和前驅(qū)對(duì)象的示意圖;圖11為根據(jù)本發(fā)明中實(shí)施例的示例性復(fù)制前驅(qū)圖的示意圖;圖12為根據(jù)本發(fā)明中實(shí)施例的復(fù)制類(lèi)描述符文件的示意圖示;圖13為根據(jù)本發(fā)明中實(shí)施例的復(fù)制類(lèi)描述符文件的更詳細(xì)的示意圖示;圖14為根據(jù)本發(fā)明中實(shí)施例的環(huán)路關(guān)系的示例的示意圖;以及圖15為根據(jù)本發(fā)明中實(shí)施例的兩個(gè)連接對(duì)象的示意圖。
具體實(shí)施例方式根據(jù)本發(fā)明公開(kāi)了用于復(fù)制大量對(duì)象和關(guān)系的方法和裝置,在維護(hù)模型數(shù)據(jù)庫(kù)的 完整性的同時(shí),不受現(xiàn)有技術(shù)的存儲(chǔ)約束。將龐大的復(fù)制操作劃分成多個(gè)更小的原子操作。每個(gè)小的操作將對(duì)象和關(guān)系的子集復(fù)制到模型數(shù)據(jù)庫(kù)。于是,如果在所有小的復(fù)制操作都 已經(jīng)完成之前,大的復(fù)制操作異常終止,那么無(wú)論如何模型數(shù)據(jù)庫(kù)均保持在一致的狀態(tài),并 且該復(fù)制操作可以從中斷點(diǎn)恢復(fù)。因?yàn)槊總€(gè)小的復(fù)制操作僅復(fù)制相對(duì)少量的數(shù)據(jù),因此可 以相對(duì)快速地完成失敗的或中斷的小復(fù)制操作的回滾??梢砸庾R(shí)到復(fù)制對(duì)象的順序是重要的。如果按照任意的順序復(fù)制對(duì)象,并且大的 復(fù)制操作被異常終止,那么由于一些新創(chuàng)建的對(duì)象還沒(méi)有通過(guò)關(guān)系連接至其它對(duì)象,并且 父對(duì)象可能從數(shù)據(jù)庫(kù)中丟失,數(shù)據(jù)庫(kù)將處于不一致的狀態(tài)。根據(jù)本發(fā)明中的方法和裝置,按照一定的規(guī)則將對(duì)象劃分成有序的對(duì)象組,并且 按照順序復(fù)制所述組,以便作為原子操作復(fù)制每組對(duì)象,這就使得即使大的復(fù)制操作異常 終止,數(shù)據(jù)庫(kù)也能保持一致。如果大的復(fù)制操作被異常終止,那么復(fù)制操作可以在它終止的 點(diǎn)被恢復(fù)。因此,至終止點(diǎn)前用戶和計(jì)算機(jī)復(fù)制對(duì)象組所花費(fèi)的時(shí)間就不會(huì)浪費(fèi)。此外,通 過(guò)將對(duì)象劃分成足夠大量的組可以復(fù)制非常大量的對(duì)象,而不需考慮可用的存儲(chǔ)量,因?yàn)?在任意時(shí)刻只需要存儲(chǔ)一組對(duì)象和它們的副本。一旦將每組的副本提交至數(shù)據(jù)庫(kù),存儲(chǔ)器 就可以被重新利用。“后繼”對(duì)象必須與稱(chēng)為其“前驅(qū)”對(duì)象的另一對(duì)象具有前驅(qū)關(guān)系,并且前驅(qū)對(duì)象一 定因后繼對(duì)象的存在而存在。例如,橫梁對(duì)象是表示橫梁上的連接點(diǎn)的一個(gè)或多個(gè)對(duì)象的 前驅(qū)。在沒(méi)有橫梁對(duì)象時(shí),連接點(diǎn)對(duì)象不存在。然而,在一些情況下,橫梁對(duì)象可以在不存 在任何連接點(diǎn)對(duì)象的情況下存在。因此,前驅(qū)對(duì)象不必非要具有任何后繼對(duì)象。所述規(guī)則是指待復(fù)制的前驅(qū)對(duì)象不應(yīng)遲于其相應(yīng)的后繼對(duì)象而被復(fù)制。因此,將 待復(fù)制的對(duì)象組成有序組,并且按順序復(fù)制這些組,以便在復(fù)制給定對(duì)象之前或者在與給 定對(duì)象相同的小操作中將給定對(duì)象的前驅(qū)復(fù)制到數(shù)據(jù)庫(kù)中。每個(gè)小操作都是原子的。在企業(yè)工程系統(tǒng)的背景下描述了本發(fā)明的實(shí)施例。然而,本發(fā)明的實(shí)施例可以用 在其它類(lèi)型的系統(tǒng)中。如之前提到的,企業(yè)工程系統(tǒng)是有助于2D和3D建模以及大的復(fù)雜 工廠的可視化的計(jì)算機(jī)輔助設(shè)計(jì)(CAD)系統(tǒng)。這種系統(tǒng)通常采用面向?qū)ο蠓缎停⒃试S用 戶操縱對(duì)象。一些對(duì)象與其它對(duì)象相關(guān),并且系統(tǒng)可以自動(dòng)地重新計(jì)算相關(guān)對(duì)象的特性以 響應(yīng)用戶的操作。例如,如果用戶移動(dòng)連接到管道設(shè)備的泵,那么系統(tǒng)可自動(dòng)地改變管道設(shè) 備的長(zhǎng)度以適應(yīng)新的泵位置?!爸匦掠?jì)算后繼”對(duì)象(例如該示例中的管道設(shè)備)的特性取 決于“重新計(jì)算前驅(qū)”對(duì)象(例如泵)的特性。在這種系統(tǒng)內(nèi)復(fù)制對(duì)象包括創(chuàng)建數(shù)據(jù)結(jié)構(gòu) 的副本,所述數(shù)據(jù)結(jié)構(gòu)表示被復(fù)制對(duì)象和關(guān)系。圖1包括示出本發(fā)明一個(gè)實(shí)施例的操作的流程圖。在步驟100,接受用戶輸入以 指定一組待復(fù)制的對(duì)象。用戶界面允許用戶從選項(xiàng)菜單中選擇對(duì)象,或者輸入或選擇過(guò)濾 標(biāo)準(zhǔn),系統(tǒng)隨后使用該標(biāo)準(zhǔn)自動(dòng)地選擇滿足標(biāo)準(zhǔn)的對(duì)象。替代地,用戶界面提供圖形選擇工 具,例如,選擇光標(biāo)或“橡皮筋”選擇矩形(或其它形狀)、或任意其它適當(dāng)?shù)倪x擇象征。圖 2-9示出了用于提示用戶和用于接受用戶的輸入并顯示關(guān)于復(fù)制操作的信息的示例性“向 導(dǎo)”型用戶界面的方面。使用圖3所示的對(duì)話框,系統(tǒng)接受用戶輸入,其選擇待復(fù)制的現(xiàn)有模型的一部分。 當(dāng)用在示例性對(duì)話框中時(shí),術(shù)語(yǔ)“工廠(plant)”指數(shù)據(jù)庫(kù)。因此,在圖3所示的示例中,用 戶選擇名稱(chēng)為“Tortilla”的“源工廠(source plant) ” 300 (即,數(shù)據(jù)庫(kù))。每個(gè)數(shù)據(jù)庫(kù)均 存儲(chǔ)關(guān)于“系統(tǒng)”體系中模型的信息。示例系統(tǒng)包括構(gòu)造體系(包括諸如地基、橫梁和柱子
9對(duì)象)、電氣系統(tǒng)(包括線管、電線設(shè)備、開(kāi)關(guān)等)、設(shè)備系統(tǒng)(包括泵和箱)以及管道系統(tǒng) (包括管道、彎管、T型連接、閥等)。體系的粒度取決于所使用的特定企業(yè)工程系統(tǒng)和用戶需求。用戶界面在滾 動(dòng)框303中顯示了該體系的等級(jí)。在圖3所示的示例中,用戶已經(jīng)選擇了復(fù)制標(biāo)識(shí)為 "UnitSystem-l-0001"306的體系的一部分,其包括該體系的建筑物、設(shè)備和管道部分。企業(yè)工程系統(tǒng)包括通過(guò)用戶界面暴露給用戶的對(duì)象(“主對(duì)象”),以及沒(méi)有暴露 的其它對(duì)象(“附屬對(duì)象”)。例如,系統(tǒng)暴露主結(jié)構(gòu)對(duì)象,例如地基、柱子和橫梁。用戶可 通過(guò)用戶界面操縱這些主對(duì)象。例如,用戶可以移動(dòng)柱子或指定它的尺寸。系統(tǒng)可以使用 未暴露的附屬對(duì)象來(lái)存儲(chǔ)關(guān)于暴露的對(duì)象的信息。例如,工字梁(I-beam)主對(duì)象可相關(guān)于 表示橫梁的頂緣、底緣和腹板的附屬對(duì)象、以及表示其它對(duì)象連接到橫梁的位置或方式的 附屬對(duì)象。圖4示出了接受用戶輸入以選擇自動(dòng)包括在待復(fù)制的對(duì)象中的附屬對(duì)象的類(lèi)別 (“系派(disciplines)”)的對(duì)話框。用戶可以選擇所有系派400或一個(gè)或多個(gè)用戶指定 系派403,或者用戶輸入自定義過(guò)濾器406,其提供隨后由系統(tǒng)使用以選擇附屬對(duì)象的選擇 標(biāo)準(zhǔn)。圖5示出接受用戶輸入以指定將被復(fù)制對(duì)象的副本存儲(chǔ)在哪個(gè)位置的對(duì)話框。圖 5所示的示例假定用戶選擇圖3對(duì)話框中的多個(gè)源系統(tǒng)。這些源系統(tǒng)列在標(biāo)題“源系統(tǒng)”500 之下。用戶界面可以自動(dòng)地命名目標(biāo)系統(tǒng)(如503所示),并且用戶可以忽略或接受這些名 稱(chēng)。圖6示出接受用戶輸入以指定應(yīng)用于對(duì)象副本的變換的對(duì)話框。例如,將新創(chuàng)建 的對(duì)象從原對(duì)象的坐標(biāo)移動(dòng)600。在圖示示例中,新創(chuàng)建的對(duì)象位于原(被復(fù)制的)對(duì)象的 東100英尺以及北25英尺。圖7示出確認(rèn)對(duì)話框。一旦用戶啟動(dòng)復(fù)制操作,那么系統(tǒng)就可以顯示進(jìn)度指示符, 如圖8所示示例。返回圖1,如果復(fù)制對(duì)象,那么該對(duì)象的前驅(qū)對(duì)象和用戶指定的附屬對(duì)象及其前驅(qū) 也應(yīng)該被復(fù)制。為了支持這種需要,如103所示,在用戶已經(jīng)選擇一組待復(fù)制的對(duì)象之后, 系統(tǒng)建立一個(gè)選定對(duì)象的列表,并自動(dòng)將該列表擴(kuò)展為具有因?yàn)樗付ǖ拇龔?fù)制的對(duì)象而 也應(yīng)該被復(fù)制的其它對(duì)象。系統(tǒng)自動(dòng)地識(shí)別選定對(duì)象和用戶指定的或選定對(duì)象的自動(dòng)選擇 的附屬的前驅(qū)。因?yàn)槊總€(gè)前驅(qū)對(duì)象或附屬對(duì)象自身也具有前驅(qū)或附屬對(duì)象,所以可以由遞 歸過(guò)程執(zhí)行該自動(dòng)識(shí)別。下面更詳細(xì)地描述用于識(shí)別前驅(qū)對(duì)象的示例性方法和相關(guān)數(shù)據(jù)。為了節(jié)約存儲(chǔ)器,在步驟103所識(shí)別的對(duì)象還沒(méi)有被綁定至存儲(chǔ)器。而是只有比 對(duì)象本身小得多的對(duì)象標(biāo)識(shí)符(0ID)存儲(chǔ)在存儲(chǔ)器中。0ID是唯一標(biāo)識(shí)對(duì)象并可以用于將 數(shù)據(jù)庫(kù)中的對(duì)象放到存儲(chǔ)器中(稱(chēng)為“綁定”對(duì)象)的數(shù)字、字符串、數(shù)據(jù)庫(kù)關(guān)鍵字或其它 量。在步驟106,將待復(fù)制對(duì)象的列表劃分成多個(gè)有序?qū)ο蠼M。按組復(fù)制對(duì)象,并且按 照升序復(fù)制這些組。將對(duì)象分配到這些組中,并且這些組是有序的,以便對(duì)象的所有前驅(qū)均 是與該對(duì)象同一組的成員,或者是比該對(duì)象低階的組的成員。如步驟110所示,對(duì)于升序的每一組,該組中的對(duì)象以及該組對(duì)象的附屬均按照 原子操作在數(shù)據(jù)庫(kù)中復(fù)制。這包括多個(gè)中間操作。表示0ID處于該組中的對(duì)象的數(shù)據(jù)結(jié)構(gòu)、
10以及這些對(duì)象的附屬的數(shù)據(jù)結(jié)構(gòu)均被綁定至存儲(chǔ)器中(即,從數(shù)據(jù)庫(kù)中讀取)。這些數(shù)據(jù)結(jié) 構(gòu)的副本在存儲(chǔ)器中生成并被存儲(chǔ)到數(shù)據(jù)庫(kù)中。在數(shù)據(jù)結(jié)構(gòu)仍處于存儲(chǔ)器中時(shí),或者在數(shù) 據(jù)結(jié)構(gòu)存儲(chǔ)在數(shù)據(jù)庫(kù)中之后,但是在宣告該組的復(fù)制事務(wù)完成之前,可建立存儲(chǔ)器內(nèi)數(shù)據(jù) 結(jié)構(gòu)之間的關(guān)系。在作為當(dāng)前組的一部分所創(chuàng)建的數(shù)據(jù)庫(kù)中的數(shù)據(jù)結(jié)構(gòu)與作為低階(艮口, 早先復(fù)制的)組的一部分所創(chuàng)建的數(shù)據(jù)結(jié)構(gòu)之間建立關(guān)系。此外,在作為當(dāng)前組的一部分 創(chuàng)建的數(shù)據(jù)庫(kù)中數(shù)據(jù)結(jié)構(gòu)與表示模型的其它部分的數(shù)據(jù)結(jié)構(gòu)之間建立關(guān)系。例如,如果將 管道系統(tǒng)從建筑物模型的一層復(fù)制到模型的另一層,那么可以使新創(chuàng)建的對(duì)象的一些或全 部與表示目標(biāo)樓層的對(duì)象相關(guān)。一旦所有這些中間操作都已經(jīng)完成,原子操作(即,事務(wù)) 宣告完成。在所有組的復(fù)制操作均成功完成之后,或者如果大的復(fù)制操作異常終止,那么如 圖9所示,可以向用戶顯示結(jié)果對(duì)話框以報(bào)告狀態(tài)。識(shí)別前驅(qū)對(duì)象在一個(gè)實(shí)施例中,通過(guò)構(gòu)建一個(gè)使每個(gè)待復(fù)制的主對(duì)象與其前驅(qū)相關(guān)聯(lián)的有向圖 (“復(fù)制前驅(qū)圖”)來(lái)識(shí)別前驅(qū)對(duì)象。復(fù)制前驅(qū)圖包括用于每個(gè)待復(fù)制的主對(duì)象的節(jié)點(diǎn)。圖 的邊緣代表各個(gè)對(duì)象節(jié)點(diǎn)之間的關(guān)系。該圖的遍歷生成待復(fù)制主對(duì)象的有序列表。將來(lái)自 該有序列表的連貫的主對(duì)象組以及它們的附屬對(duì)象分配到如上文所述被復(fù)制的后繼組。于 是,將待復(fù)制的所有對(duì)象被劃分成組?,F(xiàn)在詳細(xì)地描述這些操作。如上文所提到的,選擇用來(lái)復(fù)制的主對(duì)象通常具有應(yīng)該與選定對(duì)象一起復(fù)制的相 關(guān)對(duì)象。例如,橫梁對(duì)象可具有多個(gè)未暴露的附屬連接對(duì)象或其它附屬對(duì)象。此外,橫梁對(duì) 象可以連接到暴露給用戶的前驅(qū)柱子對(duì)象??梢酝ㄟ^(guò)與柱子對(duì)象相關(guān)的未暴露的附屬連接 點(diǎn)對(duì)象進(jìn)行連接。在圖10中描述了這種情況的圖形表示。復(fù)制組1 1000表示橫梁對(duì)象,而復(fù)制組 2 1003表示柱子。主橫梁對(duì)象1006與多個(gè)附屬和/或暴露對(duì)象1010、1013、1016和1020 相關(guān),所有這些附屬和/或暴露對(duì)象都是前驅(qū)對(duì)象,因此應(yīng)該與暴露的橫梁對(duì)象1006 —起 復(fù)制。假定對(duì)象1020表示橫梁上的連接點(diǎn)。類(lèi)似地,主柱子對(duì)象1023與多個(gè)附屬和/或 暴露對(duì)象1026、1030和1033相關(guān)。假定對(duì)象1033代表柱子上的連接點(diǎn),并且關(guān)系X 1036 代表橫梁上的連接點(diǎn)1020和柱子上的連接點(diǎn)1033之間的連接。因?yàn)槟軌蚪牧硪粚?duì)象到連接對(duì)象1033的關(guān)系,所以柱子的對(duì)象復(fù)制組 1023-1022中的連接對(duì)象1033被稱(chēng)為“目標(biāo)”對(duì)象。如果要建立這種關(guān)系,為了復(fù)制對(duì)象的 目的,柱子對(duì)象1023成為前驅(qū),而另一對(duì)象成為后繼。對(duì)象可能有一個(gè)以上的目標(biāo)。此外, 可以建立除了物理連接之外的關(guān)系。例如,對(duì)象可以與坐標(biāo)系對(duì)象相關(guān)或與測(cè)量值對(duì)象單 位相關(guān)。類(lèi)似地,對(duì)象例如橫梁可具有一個(gè)以上的對(duì)象,通過(guò)這些對(duì)象,所述對(duì)象可以與另 一對(duì)象相關(guān)。企業(yè)工程系統(tǒng)通常包括一個(gè)或多個(gè)軟件應(yīng)用程序,其管理工廠或模型內(nèi)的系統(tǒng)。 如上文所提到的,示例系統(tǒng)包括構(gòu)造體系、電氣系統(tǒng)、設(shè)備系統(tǒng)和管道系統(tǒng)。這些軟件應(yīng)用 程序響應(yīng)于用戶輸入,例如當(dāng)用戶向模型中添加橫梁或柱子時(shí),創(chuàng)建對(duì)象。在面向?qū)ο蟮姆?型中,“類(lèi)”是對(duì)象的定義或原型。面向?qū)ο蟮南到y(tǒng)具有每個(gè)創(chuàng)建的對(duì)象類(lèi)型的類(lèi)定義。根據(jù)本發(fā)明,每個(gè)類(lèi)定義都提供信息,該信息使得復(fù)制該類(lèi)的對(duì)象的軟件相對(duì)于 對(duì)象遍歷兩種類(lèi)型的路徑(a)從該對(duì)象通過(guò)其復(fù)制組的內(nèi)部關(guān)系至與該對(duì)象具有關(guān)系的
11象的路徑;和(b)從該對(duì)象通過(guò)其復(fù)制組的內(nèi)部關(guān)系至復(fù)制組中的目 標(biāo)(即,至目標(biāo)對(duì)象)的路徑,通過(guò)該目標(biāo)對(duì)象可以與該對(duì)象建立關(guān)系。兩種類(lèi)型的路徑示出在圖10中。如上文所提到的,橫梁可能連接到另一對(duì)象, 并且橫梁的連接對(duì)象1020是建立連接關(guān)系1036的對(duì)象。如所提到的,其它橫梁對(duì)象 1010-1016也可能是建立關(guān)系的對(duì)象。因?yàn)閷?duì)象1020可被用于與另一對(duì)象建立關(guān)系,所以 路徑1040是第一種路徑的示例,即,從對(duì)象1006通過(guò)其復(fù)制組的內(nèi)部關(guān)系到另一對(duì)象復(fù)制 組的目標(biāo)對(duì)象1033的路徑,其中,對(duì)象1006與另一對(duì)象復(fù)制組的目標(biāo)對(duì)象1033具有關(guān)系 1036。路徑1043示例化第二種路徑,即,從對(duì)象1023通過(guò)其復(fù)制組的內(nèi)部關(guān)系到復(fù)制組內(nèi) 的目標(biāo)1033的路徑。在一些實(shí)施例中,每個(gè)類(lèi)定義提供“復(fù)制類(lèi)描述符”文件,其包括復(fù)制應(yīng)用程序用 來(lái)根據(jù)該類(lèi)的對(duì)象是否是目標(biāo)或者對(duì)象具有與其它對(duì)象建立的關(guān)系識(shí)別兩種路徑的一個(gè) 或兩個(gè)的信息。在一些實(shí)施例中,根據(jù)可擴(kuò)展標(biāo)記語(yǔ)言(XML)規(guī)范來(lái)格式化該文件。以下 更詳細(xì)地描述這種XML文件。如所提到的,典型的企業(yè)工程系統(tǒng)在相關(guān)數(shù)據(jù)庫(kù)(RDB)或另一類(lèi)數(shù)據(jù)庫(kù)中存儲(chǔ)關(guān) 于對(duì)象和關(guān)系的信息。一些此類(lèi)系統(tǒng)維護(hù)每個(gè)類(lèi)型對(duì)象的單獨(dú)的數(shù)據(jù)庫(kù)表。例如,此類(lèi)系 統(tǒng)維護(hù)柱子對(duì)象的表和橫梁對(duì)象的單獨(dú)的表??梢栽趯?duì)象表或單獨(dú)的表中維護(hù)關(guān)于對(duì)象之 間的關(guān)系的信息。例如,表1中所示例的關(guān)系表在該表的每一行記錄一對(duì)對(duì)象和對(duì)象之間 關(guān)系。因此,針對(duì)系統(tǒng)中兩個(gè)對(duì)象之間的每個(gè)關(guān)系,該表包括一行。表的行字段包括對(duì)象標(biāo) 識(shí)符(0ID)。術(shù)語(yǔ)“OID(B)”表示“對(duì)象B的對(duì)象標(biāo)識(shí)符”。表1第二行所示的關(guān)系對(duì)應(yīng)于 圖10中的關(guān)系X 1036,指示橫梁1006上的連接點(diǎn)B 1020焊接到柱子D 1023上的連接點(diǎn) C1033。
表1原始目標(biāo)關(guān)系類(lèi)型OID (X)OID(Y)螺栓連接OID (B)OID (C)焊接如表1中列標(biāo)題(“原始”和“目標(biāo)”)所指出,關(guān)系是有向的。關(guān)系的方向可以但 不必要表明兩個(gè)對(duì)應(yīng)對(duì)象之間的后繼/前驅(qū)關(guān)系。如所提到的,相對(duì)于根據(jù)類(lèi)而實(shí)例化的對(duì)象,每個(gè)類(lèi)定義提供了包含信息的復(fù)制 類(lèi)描述符文件,該信息使得軟件能夠遍歷兩種路徑。圖12是用于提供這種信息的XML文件 的示意圖。也可以使用其它適當(dāng)?shù)奈募袷?。?duì)于給定的對(duì)象類(lèi),文件包括兩個(gè)部分1200和1203,它們分別提供關(guān)于兩種路徑 的信息。第一部分UOOC'TargetsInPredecessors”)提供了關(guān)于從對(duì)象經(jīng)過(guò)其復(fù)制組的內(nèi) 部關(guān)系至與該對(duì)象有關(guān)系的另一對(duì)象中的目標(biāo)對(duì)象(即,至可以是該對(duì)象的前驅(qū)的對(duì)象) 的每一條可能路徑的信息。圖12所示的示例限定兩條這種路徑1206和1210。每條路徑包括至少一
12“st印(步)”。步表示兩個(gè)對(duì)象之間的關(guān)系,包括關(guān)系類(lèi)型(RelType)的描述和關(guān)系的方向 (Dir)。將圖10的橫梁對(duì)象作為示例,路徑1040可被描述為具有三步,對(duì)應(yīng)于關(guān)系1046、 1050和1053。從該對(duì)象開(kāi)始,匹配指定步的數(shù)量、指定關(guān)系類(lèi)型(RelType)和指定方向 (Dir)的任意路徑均限定為T(mén)argetsInPredecessors(前驅(qū)中目標(biāo))路徑。返回圖12,XML文件的第二部分1203 ( “TargetsInSelf (本身目標(biāo))”)提供了關(guān) 于從該對(duì)象經(jīng)過(guò)其復(fù)制組的內(nèi)部關(guān)系至復(fù)制組內(nèi)目標(biāo)的每條可能路徑的信息。圖13是XML 復(fù)制類(lèi)描述符文件的更全面的示例。當(dāng)對(duì)象被用戶選定為或自動(dòng)識(shí)別為待復(fù)制的對(duì)象時(shí),系統(tǒng)自動(dòng)地識(shí)別該對(duì)象的前 驅(qū)。為了識(shí)別前驅(qū),系統(tǒng)識(shí)別前驅(qū)中的目標(biāo)對(duì)象,選定對(duì)象或其附屬對(duì)象之一與該目標(biāo)對(duì)象 相關(guān)。為了識(shí)別目標(biāo)對(duì)象,系統(tǒng)為每條為該對(duì)象類(lèi)限定的TargetsInPredecessors路徑建 立查詢。查詢包括用于路徑每一步的JOIN。對(duì)數(shù)據(jù)庫(kù)執(zhí)行查詢。查詢得到包含0ID對(duì)的 表。每對(duì)0ID包括待復(fù)制對(duì)象的0ID(例如,橫梁1006 (0ID “A”))和目標(biāo)對(duì)象的0ID(例 如,連接點(diǎn)1003 (0ID “C”))。表2示出了此類(lèi)查詢的示例結(jié)果的一部分。
權(quán)利要求
一種用于復(fù)制表示在面向?qū)ο蟮钠髽I(yè)工程系統(tǒng)中的多個(gè)前驅(qū)對(duì)象和后繼對(duì)象的計(jì)算機(jī)化方法,其中,每個(gè)后繼對(duì)象均具有與前驅(qū)對(duì)象的前驅(qū)關(guān)系,所述方法包括從選擇多個(gè)待復(fù)制對(duì)象的用戶(100)接受輸入;對(duì)于每個(gè)選定對(duì)象,自動(dòng)地識(shí)別對(duì)應(yīng)于所述選定對(duì)象的前驅(qū)對(duì)象;自動(dòng)地將所述選定對(duì)象和所識(shí)別的前驅(qū)對(duì)象(106)劃分成多個(gè)有序?qū)ο蠼M,使得對(duì)于任意給定的選定對(duì)象或前驅(qū)對(duì)象,其對(duì)應(yīng)的前驅(qū)對(duì)象均處于與所述給定對(duì)象相同的組中或處于在前的組中;對(duì)于每個(gè)有序組,在原子數(shù)據(jù)庫(kù)事務(wù)(110)過(guò)程在所述數(shù)據(jù)庫(kù)中存儲(chǔ)對(duì)應(yīng)于所述組中對(duì)象的復(fù)制對(duì)象;以及對(duì)于至少一個(gè)存儲(chǔ)的對(duì)應(yīng)于所述組中對(duì)象的復(fù)制對(duì)象,在所述數(shù)據(jù)庫(kù)中存儲(chǔ)信息,以在所存儲(chǔ)的復(fù)制對(duì)象與數(shù)據(jù)庫(kù)中另一對(duì)象之間建立前驅(qū)關(guān)系,所述另一對(duì)象不對(duì)應(yīng)于所述組中的任意對(duì)象,從而使所存儲(chǔ)的復(fù)制對(duì)象為所述另一對(duì)象的后繼。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,至少一個(gè)前驅(qū)關(guān)系存在于一個(gè)組中的對(duì) 象與另一個(gè)組中的另一對(duì)象之間,所述方法還包括作為針對(duì)所述一個(gè)組的原子數(shù)據(jù)庫(kù)事務(wù)的一部分,在所述數(shù)據(jù)庫(kù)中存儲(chǔ)信息,以在對(duì) 應(yīng)于所述一個(gè)組中所述對(duì)象的所存儲(chǔ)的復(fù)制對(duì)象與對(duì)應(yīng)于所述另一對(duì)象的復(fù)制對(duì)象之間 建立前驅(qū)關(guān)系。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,識(shí)別所述前驅(qū)對(duì)象包括接收用于識(shí)別始 于所述選定對(duì)象的路徑的數(shù)據(jù),所述路徑經(jīng)過(guò)附屬于所述選定對(duì)象的至少一個(gè)對(duì)象延伸, 所述路徑包括至少一步,每步具有關(guān)系類(lèi)型和方向。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,識(shí)別所述前驅(qū)對(duì)象包括接收用于識(shí)別第 一路徑和第二路徑的數(shù)據(jù),每條路徑均始于所述選定對(duì)象,每條路徑均經(jīng)過(guò)附屬于所述選 定對(duì)象的至少一個(gè)對(duì)象延伸,每條路徑包括至少一步,每步具有關(guān)系類(lèi)型和方向,其中,所 述第一路徑終止于并不附屬于所選定對(duì)象的目標(biāo)對(duì)象,并且所述第二路徑終止于附屬于所 選定對(duì)象的目標(biāo)對(duì)象。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,識(shí)別所述前驅(qū)對(duì)象還包括利用來(lái)自所述 第一路徑和第二路徑中至少一個(gè)的信息所形成的查詢而對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,識(shí)別所述前驅(qū)對(duì)象包括 生成所述選定對(duì)象的計(jì)算機(jī)可讀表示;分類(lèi)排序所述選定對(duì)象的所述表示;以及 劃分所述選定對(duì)象的所分類(lèi)排序的表示。
7.根據(jù)權(quán)利要求1所述的方法,還包括對(duì)于每個(gè)有序組,在所述原子數(shù)據(jù)庫(kù)事務(wù)過(guò)程對(duì)于所述組中的每個(gè)選定對(duì)象,自動(dòng)地識(shí)別對(duì)應(yīng)于所述選定對(duì)象的附屬對(duì)象;以及 在所述數(shù)據(jù)庫(kù)中存儲(chǔ)對(duì)應(yīng)于所識(shí)別的附屬對(duì)象的復(fù)制對(duì)象。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,對(duì)于每一組,在所述數(shù)據(jù)庫(kù)中存儲(chǔ)對(duì)應(yīng)于 所述組中對(duì)象的復(fù)制對(duì)象包括存儲(chǔ)與所述組中對(duì)應(yīng)對(duì)象的對(duì)象標(biāo)識(shí)符相關(guān)聯(lián)的至少一個(gè) 復(fù)制對(duì)象的對(duì)象標(biāo)識(shí)符。
9.一種用于復(fù)制表示在面向?qū)ο蟮钠髽I(yè)工程系統(tǒng)中的多個(gè)前驅(qū)對(duì)象和后繼對(duì)象的系統(tǒng),其中,每個(gè)后繼對(duì)象均具有與前驅(qū)對(duì)象的前驅(qū)關(guān)系,所述系統(tǒng)包括 用戶界面,構(gòu)造為從選擇多個(gè)待復(fù)制對(duì)象的用戶接受輸入; 識(shí)別模塊,對(duì)于每個(gè)選定對(duì)象構(gòu)造為,自動(dòng)地識(shí)別對(duì)應(yīng)于所述選定對(duì)象的前驅(qū)對(duì)象; 劃分模塊,構(gòu)造為自動(dòng)地將所述選定對(duì)象和所識(shí)別的前驅(qū)對(duì)象劃分成多個(gè)有序?qū)ο?組,使得對(duì)于任意給定的選定對(duì)象或前驅(qū)對(duì)象,其對(duì)應(yīng)的前驅(qū)對(duì)象均處于與所述給定對(duì)象 相同的組中或者處于在前的組中;以及存儲(chǔ)模塊,構(gòu)造為使得對(duì)于每個(gè)有序組,在原子數(shù)據(jù)庫(kù)事務(wù)過(guò)程,所述存儲(chǔ)模塊 在所述數(shù)據(jù)庫(kù)中存儲(chǔ)對(duì)應(yīng)于所述組中對(duì)象的復(fù)制對(duì)象;以及對(duì)于至少一個(gè)所存儲(chǔ)的對(duì)應(yīng)于所述組中對(duì)象的復(fù)制對(duì)象,在所述數(shù)據(jù)庫(kù)中存儲(chǔ)信息, 以在所存儲(chǔ)的復(fù)制對(duì)象與數(shù)據(jù)庫(kù)中另一對(duì)象之間建立前驅(qū)關(guān)系,所述另一對(duì)象不對(duì)應(yīng)于所 述組中的任意對(duì)象,從而使所存儲(chǔ)的復(fù)制對(duì)象為所述另一對(duì)象的后繼。
10.根據(jù)權(quán)利要求9所述的用于復(fù)制多個(gè)前驅(qū)對(duì)象和后繼對(duì)象的系統(tǒng),其特征在于 至少一個(gè)前驅(qū)關(guān)系存在于一個(gè)組中的對(duì)象與另一個(gè)組中的另一對(duì)象之間;并且所述存儲(chǔ)模塊還被構(gòu)造為,作為針對(duì)所述一個(gè)組的原子數(shù)據(jù)庫(kù)事務(wù)的一部分,在所述 數(shù)據(jù)庫(kù)中存儲(chǔ)信息,以在對(duì)應(yīng)于所述一個(gè)組中所述對(duì)象的所存儲(chǔ)的復(fù)制對(duì)象與對(duì)應(yīng)于所述 另一對(duì)象的復(fù)制對(duì)象之間建立前驅(qū)關(guān)系。
11.根據(jù)權(quán)利要求9所述的用于復(fù)制多個(gè)前驅(qū)對(duì)象和后繼對(duì)象的系統(tǒng),其特征在于,所 述識(shí)別模塊還被構(gòu)造為接收用于識(shí)別始于所述選定對(duì)象的路徑的數(shù)據(jù),所述路徑經(jīng)過(guò)附屬 于所述選定對(duì)象的至少一個(gè)對(duì)象延伸,所述路徑包括至少一步,每步具有關(guān)系類(lèi)型和方向。
12.根據(jù)權(quán)利要求9所述的用于復(fù)制多個(gè)前驅(qū)對(duì)象和后繼對(duì)象的系統(tǒng),其特征在于,所 述識(shí)別模塊還被構(gòu)造為接收用于識(shí)別第一路徑和第二路徑的數(shù)據(jù),每條路徑均始于所述選 定對(duì)象,每條路徑均經(jīng)過(guò)附屬于所述選定對(duì)象的至少一個(gè)對(duì)象延伸,每條路徑均包括至少 一步,每步具有關(guān)系類(lèi)型和方向,其中,所述第一路徑終止于并不附屬于所述選定對(duì)象的目 標(biāo)對(duì)象,并且所述第二路徑終止于附屬于所述選定對(duì)象的目標(biāo)對(duì)象。
13.根據(jù)權(quán)利要求12所述的用于復(fù)制多個(gè)前驅(qū)對(duì)象和后繼對(duì)象的系統(tǒng),其特征在于, 所述識(shí)別模塊還被構(gòu)造為利用來(lái)自于所述第一路徑和第二路徑的至少一個(gè)的信息所形成 的查詢而對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢。
14.根據(jù)權(quán)利要求9所述的用于復(fù)制多個(gè)前驅(qū)對(duì)象和后繼對(duì)象的系統(tǒng),其特征在于,所 述識(shí)別模塊還被構(gòu)造為生成所述選定對(duì)象的計(jì)算機(jī)可讀表示; 分類(lèi)排序所述選定對(duì)象的所述表示;以及 劃分所述選定對(duì)象的所分類(lèi)排序的表示。
15.根據(jù)權(quán)利要求9所述的用于復(fù)制多個(gè)前驅(qū)對(duì)象和后繼對(duì)象的系統(tǒng),其特征在于,所 述存儲(chǔ)模塊還被構(gòu)造為對(duì)于每個(gè)有序組,在所述原子數(shù)據(jù)庫(kù)事務(wù)過(guò)程對(duì)于所述組中的每個(gè)選定對(duì)象,自動(dòng)地識(shí)別對(duì)應(yīng)于所述選定對(duì)象的附屬對(duì)象;以及 在所述數(shù)據(jù)庫(kù)中存儲(chǔ)對(duì)應(yīng)于所識(shí)別的附屬對(duì)象的復(fù)制對(duì)象。
16.根據(jù)權(quán)利要求9所述的用于復(fù)制多個(gè)前驅(qū)對(duì)象和后繼對(duì)象的系統(tǒng),其特征在于,所 述存儲(chǔ)模塊還被構(gòu)造為對(duì)于每一組,存儲(chǔ)與所述組中對(duì)應(yīng)對(duì)象的對(duì)象標(biāo)識(shí)符相關(guān)聯(lián)的至少 一個(gè)復(fù)制對(duì)象的對(duì)象標(biāo)識(shí)符。
17. 一種用于復(fù)制表示在面向?qū)ο蟮钠髽I(yè)工程系統(tǒng)中的多個(gè)前驅(qū)對(duì)象和后繼對(duì)象的用 在計(jì)算機(jī)系統(tǒng)上的計(jì)算機(jī)程序產(chǎn)品,其中,每個(gè)后繼對(duì)象均與前驅(qū)對(duì)象具有前驅(qū)關(guān)系,所述 計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀介質(zhì),在其上存儲(chǔ)有計(jì)算機(jī)指令,從而當(dāng)由處理器執(zhí)行時(shí),所述指令促使處理器從選擇多個(gè)待復(fù)制對(duì)象的用戶接受輸入; 對(duì)于每個(gè)選定對(duì)象,自動(dòng)地識(shí)別對(duì)應(yīng)于所述選定對(duì)象的前驅(qū)對(duì)象; 自動(dòng)地將所述選定對(duì)象和所識(shí)別的前驅(qū)對(duì)象劃分成多個(gè)有序?qū)ο蠼M,使得對(duì)于任何給 定的選定對(duì)象或前驅(qū)對(duì)象,其對(duì)應(yīng)的前驅(qū)對(duì)象均處于與所述給定對(duì)象相同的組中或者處于 在前的組中;對(duì)于每個(gè)有序組,在原子數(shù)據(jù)庫(kù)事務(wù)過(guò)程在所述數(shù)據(jù)庫(kù)中存儲(chǔ)對(duì)應(yīng)于所述組中對(duì)象的復(fù)制對(duì)象;以及對(duì)于至少一個(gè)所存儲(chǔ)的對(duì)應(yīng)于所述組中對(duì)象的復(fù)制對(duì)象,在所述數(shù)據(jù)庫(kù)中存儲(chǔ)信息, 以在所存儲(chǔ)的復(fù)制對(duì)象與數(shù)據(jù)庫(kù)中另一對(duì)象之間建立前驅(qū)關(guān)系,所述另一對(duì)象不對(duì)應(yīng)于所 述組中的任意對(duì)象,從而使所存儲(chǔ)的復(fù)制對(duì)象為所述另一對(duì)象的后繼。
全文摘要
通過(guò)根據(jù)一定的標(biāo)準(zhǔn)將對(duì)象劃分成多個(gè)有序的小復(fù)制組并作為原子操作復(fù)制每個(gè)組中的對(duì)象,可以將面向?qū)ο蟮钠髽I(yè)工程系統(tǒng)中的大量對(duì)象復(fù)制到模型數(shù)據(jù)庫(kù),所述對(duì)象例如表示橫梁和柱子的對(duì)象。將待復(fù)制的對(duì)象組成有序組,并且按順序復(fù)制所述組,以便使給定對(duì)象的所有前驅(qū)在給定對(duì)象之前或者在與給定對(duì)象相同的小操作中被復(fù)制到數(shù)據(jù)庫(kù)中。如果大的復(fù)制操作在所有小的復(fù)制操作已經(jīng)完成之前異常終止,那么模型數(shù)據(jù)庫(kù)仍然保持在一致的狀態(tài),并且復(fù)制操作可從中斷點(diǎn)恢復(fù)。另外,可被復(fù)制的對(duì)象的數(shù)量不受系統(tǒng)中可用的存儲(chǔ)量的限制。
文檔編號(hào)G06F17/30GK101981575SQ200980111665
公開(kāi)日2011年2月23日 申請(qǐng)日期2009年6月2日 優(yōu)先權(quán)日2008年6月3日
發(fā)明者史蒂文·D.·赫羅爾德, 瓦萊麗·杰勒德 申請(qǐng)人:圖形科技公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
鄂伦春自治旗| 玉林市| 扎兰屯市| 阳山县| 高密市| 包头市| 晋城| 临海市| 汾西县| 安西县| 肇庆市| 保定市| 烟台市| 岳阳县| 合江县| 甘孜县| 綦江县| 拜泉县| 明溪县| 平果县| 顺昌县| 绵竹市| 资中县| 永春县| 株洲县| 贺州市| 澳门| 太白县| 杭州市| 大城县| 南康市| 北碚区| 海安县| 多伦县| 陇南市| 尉氏县| 东明县| 仪征市| 西乌珠穆沁旗| 稻城县| 新干县|