CN101981575A - 利用多事务技术复制面向对象环境中的对象的方法和装置 - Google Patents

利用多事务技术复制面向对象环境中的对象的方法和装置 Download PDF

Info

Publication number
CN101981575A
CN101981575A CN2009801116657A CN200980111665A CN101981575A CN 101981575 A CN101981575 A CN 101981575A CN 2009801116657 A CN2009801116657 A CN 2009801116657A CN 200980111665 A CN200980111665 A CN 200980111665A CN 101981575 A CN101981575 A CN 101981575A
Authority
CN
China
Prior art keywords
forerunner
group
duplicate
objects
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009801116657A
Other languages
English (en)
Other versions
CN101981575B (zh
Inventor
史蒂文·D.·赫罗尔德
瓦莱丽·杰勒德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hector Sigang Resources Ltd
Hexagon Technology Center GmbH
GraphLogic Inc
Original Assignee
Intergraph Technologies Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intergraph Technologies Co filed Critical Intergraph Technologies Co
Publication of CN101981575A publication Critical patent/CN101981575A/zh
Application granted granted Critical
Publication of CN101981575B publication Critical patent/CN101981575B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Light Sources And Details Of Projection-Printing Devices (AREA)
  • Cleaning In Electrography (AREA)
  • Non-Silver Salt Photosensitive Materials And Non-Silver Salt Photography (AREA)

Abstract

通过根据一定的标准将对象划分成多个有序的小复制组并作为原子操作复制每个组中的对象,可以将面向对象的企业工程系统中的大量对象复制到模型数据库,所述对象例如表示横梁和柱子的对象。将待复制的对象组成有序组,并且按顺序复制所述组,以便使给定对象的所有前驱在给定对象之前或者在与给定对象相同的小操作中被复制到数据库中。如果大的复制操作在所有小的复制操作已经完成之前异常终止,那么模型数据库仍然保持在一致的状态,并且复制操作可从中断点恢复。另外,可被复制的对象的数量不受系统中可用的存储量的限制。

Description

利用多事务技术复制面向对象环境中的对象的方法和装置
相关申请的交叉引用
本申请要求2008年6月3日提交的、标题为“利用多事务技术复制面向对象环境中的对象的方法和装置(Method and Apparatus for Copying Objects in an Object-Oriented Environment Using a Multiple-Transaction Technique)”的美国临时专利申请No.61/058,531的权益,出于所有的目的,将该临时专利申请的全部内容通过引用合并如此。
技术领域
本发明涉及计算机辅助设计和计算机辅助制造(CAD/CAM)软件系统,更具体地,本发明涉及用于复制这种系统使用的数据库中的大量对象和关系的方法和装置。
背景技术
企业工程系统有时也称为空间信息管理(SIM)系统,是有助于2D和3D建模和可视化的计算机辅助设计(CAD)系统。这些系统用在工厂(例如,炼油厂和发电站)以及其它大的、复杂的建筑物(例如,高楼大厦、船和矿业以及其它材料处理设施)的设计、架构、实施和修改中。利用它们的图形用户界面(GUI),企业工程系统使设计者能够安排结构、管道、电气、暖通空调(HVAC)和其它复杂的系统,并且能够在架构或实施的各个阶段可视化工程的所有或选定部分。
大多数现代企业工程系统采用面向对象的范型,其中,称为“对象”的软件构造表示真实世界中的项目,例如横梁、墙、地板、管道、阀、线管、开关、风扇、输送管道等。对象通常作为数据结构(有序的数据元素组)在软件中实现,其中数据结构存储标识所代表的真实世界项目的类型的信息、以及关于每个对象所代表的具体项目的信息(例如,适于所代表的项目的长、宽、颜色、容量等)。
多数对象都与其它对象相关联。例如,如果管道附接至横梁,那么表示所述管道的对象就与相应的横梁对象相关联。关系通常也由数据结构表示。例如,所述管道对象与横梁对象之间的关系可包括标识管道到横梁的物理连接的信息。此外,所述关系还可包括指示横梁支撑管道的信息,而不是反过来。
对象之间的关系是有序的概念。一种关系可指示一种将对象添加到模型中的逻辑顺序。例如,当建模发电厂大楼时,设计者通常会添加柱子,并以所需的坐标放置所述柱子,然后设计者在柱子的下面创建地基。地基对象与柱子对象相关联,使得如果稍后移动柱子或改变它必须承载的重量,那么企业工程系统就会自动地移动地基或自动地按照承载的新的重量的要求改变它的尺寸。
在这个示例中,梁(beam)对象和地基对象是父子关系。此处,由于地基的特性基于梁的特性,所以梁称为地基对象的“父”,而地基称为梁对象的“子”。只要梁的特性变化,地基的特性以及作为梁的子的任何其它对象的特性就由企业工程系统自动地重新计算。
许多对象由其它对象组成。例如,锅炉包括燃烧器、一系列管道和用于促使流体通过所述管道的泵。在这种情况下,分立的对象表示锅炉、燃烧器、管道和泵,并且锅炉对象与其它对象之间的关系指示锅炉包括或者由其它项目组成,以及其它项目是锅炉的部分。表示对象之间关系的数据结构可包括指针或者对相应对象数据结构的引用。
许多现代企业工程系统采用关系数据库(RDB)或其它数据库管理系统(DBMS)来存储对象以及这些对象之间的关系。在这些系统中,RDB记录用于存储对象和关系数据结构。
企业工程系统的一个特别有用的特征是能够复制模型中的一个或多个对象以及它们的对应关系,并把副本粘贴到该模型的另一部分或者另一模型中。例如,在多层办公楼的模型中,表示给定楼层的管道装置的对象和关系可被复制并粘贴到其它楼层。复制操作包括创建表示待复制的对象和关系的数据结构的副本。复制操作也调整新创建的数据结构中的值,例如,给新创建的对象唯一的标识以及建立新对象与模型中粘贴对象的部分(例如,楼层)之间的关系。
为了维护模型数据库中对象和关系的有效性,复制操作应该是“原子性”的。也就是说,要么整个复制操作是完整而没有错误的,包括在数据库中存储(“提交”)新创建的对象,要么完全不执行任何复制操作并且没有新的对象存储在数据库中。如果例如由于系统故障(“崩溃”)或试图复制损坏的数据结构而异常终止了非原子的复制操作,那么所述复制操作仅被部分地完成,并且一些父对象或父子关系可能会从产生的模型中丢失,这将严重地破坏模型的值。具有丢失对象或关系的数据库称为“无效的”或“不一致的”。
因此,为了确保原子性,企业工程系统按照三个步骤来执行复制操作。第一步,将表示待复制的对象和关系的所有数据结构放进存储器,并且在存储器中创建表示所有新创建的对象的数据结构。然后,在第二步,执行新创建的数据结构中所有所需的值调整,同时数据结构仍处于存储器中。第二步包括建立新创建的对象之间以及新创建的对象与现存对象之间的所有关系。然后,在第三步,将表示新对象和关系的新创建的数据结构提交至数据库。于是,数据库反映了执行任意复制操作之前或者完成整个复制操作之后的模型,而不是处于任意中间阶段的模型。原子操作也称为“事务”。
许多工厂模型包括非常大量的对象和关系,这给企业工程系统带来很多问题。复制如此大量的对象和它们的关系可能超过了这些系统存储器容量。正如所注意到的,系统的存储器必须足够大以存储表示待复制的对象和关系的所有数据结构、以及这些数据结构的副本。即使系统具有对于给定的复制操作的足够的存储,复制大量的对象和关系也将花费大量的时间,有时是几个小时。异常终止的长的复制操作必须“回滚(rolled back)”,以撤销部分复制,并随后从起始位置重新启动该复制操作,所有这些过程将浪费用户和计算机的宝贲时间。
发明内容
本发明的实施例提供了一种用于复制在面向对象的企业工程系统中表示的多个前驱对象和后继对象的计算机化方法。在该系统中,每个后继对象均与前驱对象具有前驱关系。从选择多个待复制的对象的用户接受输入。对于每个选定对象都自动识别对应于所选定对象的前驱对象。将选定的对象和所识别的前驱对象划分成多个有序的对象组,以便对于任意给定的选定的对象或前驱对象,其对应的前驱对象处于与给定的对象相同的组中或处于在前的组中。
对于每个有序组,执行原子数据库事务。在事务过程,对应于组中对象的复制对象存储在数据库中。此外,在事务过程,对于对应于组中对象的至少一个所存储的复制对象,信息存储在数据库中,以建立所存储的复制对象与数据库中另一对象之间的前驱关系。另一对象不对应于组中的任何对象,并且所存储的复制对象是另一对象的后继。
在一个组中的对象与另一组中的另一对象之间存在至少一个前驱关系。作为一个组中原子数据库事务的一部分,信息可以存储在数据库中,以建立对应于一个组中对象的所存储的复制对象与对应于另一对象的复制对象之间的前驱关系。
作为识别前驱对象的一部分,接收用于识别始于选定对象的路径的数据。路径经过至少一个附属于选定对象的对象延伸。路径包括至少一步。每步均具有关系类型和方向。
识别前驱对象包括接收识别第一路径和第二路径的数据。每条路径均开始于选定对象。每条路径均经过至少一个附属于选定对象的对象延伸。每条路径均包括至少一步。每步均具有关系类型和方向。第一路径终止于并不附属于选定对象的目标对象,而第二路径终止于附属于选定对象的目标对象。识别前驱对象包括利用来自至少一条路径的信息所形成的查询而对数据库进行查询。
识别前驱对象包括生成选定对象的计算机可读表示(例如复制前驱图)。该表示被分类排序,并且经过分类排序的表示被划分。
对于每个有序组,在原子数据库事务过程,对于每个在组中选择的对象,可以自动识别对应于选定对象的附属对象。此外,在数据库中存储对应于所识别的附属对象的复制对象。
对于每一组,作为存储对应于组中的对象的复制对象的部分,可以与组中对应对象的对象标识符相关联地存储至少一个复制对象的对象标识符。
本发明的另一实施例提供一种用于复制面向对象的企业工程系统内表示的多个前驱对象和后继对象的系统。在该系统中,每个后继对象均与前驱对象具有前驱关系。该系统包括用户界面,构造为从选择多个待复制的对象的用户接受输入。识别模块用于对于每个选定对象,自动地识别对应于选定对象的前驱对象。划分模块构造为将选定对象和所识别的前驱对象划分成多个有序对象组。对于任何给定的选定对象或前驱对象,其相应的前驱对象与给定的对象处于同一组中或先前的组中。存储模块,构造为使得对于每个有序组,在原子数据库事务过程,存储模块在数据库中存储对应于组中对象的复制对象。此外,对于对应于组中对象的至少一个所存储的复制对象,存储模块在数据库中存储信息,以建立所存储的复制对象与数据库中另一对象之间的前驱关系。另一对象不对应于组中的任何对象。所存储的复制对象是另一对象的后继。
在一个组中的对象与另一组中的另一对象之间存在至少一个前驱关系。作为用于一个组中原子数据库事务的一部分,存储模块也被构造为将信息存储在数据库中,以建立对应于一个组中对象的所存储的复制对象与对应于另一对象的复制对象之间的前驱关系。
识别模块还被构造为接收用于识别始于选定对象的路径的数据,例如,复制类描述符文件。路径经过至少一个附属于所选定对象的对象延伸。所述路径包括至少一步,并且每步均具有关系类型和方向。
识别模块还被构造为接收识别第一路径和第二路径的数据,例如复制类描述符文件。每条路径均始于所选定对象。每条路径均经过至少一个附属于所选定对象的对象延伸。每条路径均包括至少一步。每步均具有关系类型和方向。第一路径终止于并不附属于所选定对象的目标对象,而第二路径终止于附属于所选定对象的目标对象。
识别模块还被构造用以利用来自第一和第二路径中至少一条路径的信息所形成的查询而对数据库进行查询。
识别模块还被构造为用以产生所选定对象的计算机可读表示(例如复制前驱图)。此外,识别模块可以分类排序所选定对象的表示,并划分所选定对象的所分类排序的表示。
存储模块还被构造为针对每个有序组,对于每个在组中选择的对象,在原子数据库事务过程,自动识别对应于所选定对象的附属对象。存储模块也用于在数据库中存储对应于所识别的附属对象的复制对象。
存储模块还被构造为对于每一组,与组中对应对象的对象标识符相关联地存储至少一个复制对象的对象标识符。例如,存储模块可以构建全局复制地图。
本发明的又一实施例提供一种用在计算机系统上的计算机程序产品,用于复制面向对象的企业工程系统内表示的多个前驱对象和后继对象。在该系统中,每个后继对象均与前驱对象具有前驱关系。计算机程序产品包括其上存储有计算机指令的计算机可读介质。当指令由处理器执行时,指令促使处理器从选择多个待复制的对象的用户接受输入。此外,对于每个所选定的对象,自动地识别对应于所选定对象的前驱对象。此外,将所选定的对象和所识别的前驱对象划分成多个有序对象组,以便对于任何给定的所选定对象或前驱对象,其相应的前驱对象与给定的对象处于同一组中或先前的组中。对于每个有序组,在原子数据库事务过程,对应于组中对象的复制对象存储在数据库中。此外,对于对应于组中对象的至少一个所存储的复制对象,信息存储在数据库中,以建立所存储的复制对象与数据库中另一对象之间的前驱关系。另一对象不对应于组中的任何对象。所存储的复制对象是另一对象的后继。
附图说明
通过结合附图参考以下的具体实施例的详细描述将更全面地理解本发明,其中:
图1为本发明中实施例的操作流程图;
图2-9示出本发明中实施例的示例性用户界面的多方面;
图10为根据本发明中实施例的示例性后继对象和前驱对象的示意图;
图11为根据本发明中实施例的示例性复制前驱图的示意图;
图12为根据本发明中实施例的复制类描述符文件的示意图示;
图13为根据本发明中实施例的复制类描述符文件的更详细的示意图示;
图14为根据本发明中实施例的环路关系的示例的示意图;以及
图15为根据本发明中实施例的两个连接对象的示意图。
具体实施方式
根据本发明公开了用于复制大量对象和关系的方法和装置,在维护模型数据库的完整性的同时,不受现有技术的存储约束。将庞大的复制操作划分成多个更小的原子操作。每个小的操作将对象和关系的子集复制到模型数据库。于是,如果在所有小的复制操作都已经完成之前,大的复制操作异常终止,那么无论如何模型数据库均保持在一致的状态,并且该复制操作可以从中断点恢复。因为每个小的复制操作仅复制相对少量的数据,因此可以相对快速地完成失败的或中断的小复制操作的回滚。
可以意识到复制对象的顺序是重要的。如果按照任意的顺序复制对象,并且大的复制操作被异常终止,那么由于一些新创建的对象还没有通过关系连接至其它对象,并且父对象可能从数据库中丢失,数据库将处于不一致的状态。
根据本发明中的方法和装置,按照一定的规则将对象划分成有序的对象组,并且按照顺序复制所述组,以便作为原子操作复制每组对象,这就使得即使大的复制操作异常终止,数据库也能保持一致。如果大的复制操作被异常终止,那么复制操作可以在它终止的点被恢复。因此,至终止点前用户和计算机复制对象组所花费的时间就不会浪费。此外,通过将对象划分成足够大量的组可以复制非常大量的对象,而不需考虑可用的存储量,因为在任意时刻只需要存储一组对象和它们的副本。一旦将每组的副本提交至数据库,存储器就可以被重新利用。
“后继”对象必须与称为其“前驱”对象的另一对象具有前驱关系,并且前驱对象一定因后继对象的存在而存在。例如,横梁对象是表示横梁上的连接点的一个或多个对象的前驱。在没有横梁对象时,连接点对象不存在。然而,在一些情况下,横梁对象可以在不存在任何连接点对象的情况下存在。因此,前驱对象不必非要具有任何后继对象。
所述规则是指待复制的前驱对象不应迟于其相应的后继对象而被复制。因此,将待复制的对象组成有序组,并且按顺序复制这些组,以便在复制给定对象之前或者在与给定对象相同的小操作中将给定对象的前驱复制到数据库中。每个小操作都是原子的。
在企业工程系统的背景下描述了本发明的实施例。然而,本发明的实施例可以用在其它类型的系统中。如之前提到的,企业工程系统是有助于2D和3D建模以及大的复杂工厂的可视化的计算机辅助设计(CAD)系统。这种系统通常采用面向对象范型,并允许用户操纵对象。一些对象与其它对象相关,并且系统可以自动地重新计算相关对象的特性以响应用户的操作。例如,如果用户移动连接到管道设备的泵,那么系统可自动地改变管道设备的长度以适应新的泵位置。“重新计算后继”对象(例如该示例中的管道设备)的特性取决于“重新计算前驱”对象(例如泵)的特性。在这种系统内复制对象包括创建数据结构的副本,所述数据结构表示被复制对象和关系。
图1包括示出本发明一个实施例的操作的流程图。在步骤100,接受用户输入以指定一组待复制的对象。用户界面允许用户从选项菜单中选择对象,或者输入或选择过滤标准,系统随后使用该标准自动地选择满足标准的对象。替代地,用户界面提供图形选择工具,例如,选择光标或“橡皮筋”选择矩形(或其它形状)、或任意其它适当的选择象征。图2-9示出了用于提示用户和用于接受用户的输入并显示关于复制操作的信息的示例性“向导”型用户界面的方面。
使用图3所示的对话框,系统接受用户输入,其选择待复制的现有模型的一部分。当用在示例性对话框中时,术语“工厂(plant)”指数据库。因此,在图3所示的示例中,用户选择名称为“Tortilla”的“源工厂(source plant)”300(即,数据库)。每个数据库均存储关于“系统”体系中模型的信息。示例系统包括构造体系(包括诸如地基、横梁和柱子对象)、电气系统(包括线管、电线设备、开关等)、设备系统(包括泵和箱)以及管道系统(包括管道、弯管、T型连接、阀等)。
体系的粒度取决于所使用的特定企业工程系统和用户需求。用户界面在滚动框303中显示了该体系的等级。在图3所示的示例中,用户已经选择了复制标识为“UnitSystem-1-0001”306的体系的一部分,其包括该体系的建筑物、设备和管道部分。
企业工程系统包括通过用户界面暴露给用户的对象(“主对象”),以及没有暴露的其它对象(“附属对象”)。例如,系统暴露主结构对象,例如地基、柱子和横梁。用户可通过用户界面操纵这些主对象。例如,用户可以移动柱子或指定它的尺寸。系统可以使用未暴露的附属对象来存储关于暴露的对象的信息。例如,工字梁(I-beam)主对象可相关于表示横梁的顶缘、底缘和腹板的附属对象、以及表示其它对象连接到横梁的位置或方式的附属对象。
图4示出了接受用户输入以选择自动包括在待复制的对象中的附属对象的类别(“系派(disciplines)”)的对话框。用户可以选择所有系派400或一个或多个用户指定系派403,或者用户输入自定义过滤器406,其提供随后由系统使用以选择附属对象的选择标准。
图5示出接受用户输入以指定将被复制对象的副本存储在哪个位置的对话框。图5所示的示例假定用户选择图3对话框中的多个源系统。这些源系统列在标题“源系统”500之下。用户界面可以自动地命名目标系统(如503所示),并且用户可以忽略或接受这些名称。
图6示出接受用户输入以指定应用于对象副本的变换的对话框。例如,将新创建的对象从原对象的坐标移动600。在图示示例中,新创建的对象位于原(被复制的)对象的东100英尺以及北25英尺。
图7示出确认对话框。一旦用户启动复制操作,那么系统就可以显示进度指示符,如图8所示示例。
返回图1,如果复制对象,那么该对象的前驱对象和用户指定的附属对象及其前驱也应该被复制。为了支持这种需要,如103所示,在用户已经选择一组待复制的对象之后,系统建立一个选定对象的列表,并自动将该列表扩展为具有因为所指定的待复制的对象而也应该被复制的其它对象。系统自动地识别选定对象和用户指定的或选定对象的自动选择的附属的前驱。因为每个前驱对象或附属对象自身也具有前驱或附属对象,所以可以由递归过程执行该自动识别。下面更详细地描述用于识别前驱对象的示例性方法和相关数据。
为了节约存储器,在步骤103所识别的对象还没有被绑定至存储器。而是只有比对象本身小得多的对象标识符(OID)存储在存储器中。OID是唯一标识对象并可以用于将数据库中的对象放到存储器中(称为“绑定”对象)的数字、字符串、数据库关键字或其它量。
在步骤106,将待复制对象的列表划分成多个有序对象组。按组复制对象,并且按照升序复制这些组。将对象分配到这些组中,并且这些组是有序的,以便对象的所有前驱均是与该对象同一组的成员,或者是比该对象低阶的组的成员。
如步骤110所示,对于升序的每一组,该组中的对象以及该组对象的附属均按照原子操作在数据库中复制。这包括多个中间操作。表示OID处于该组中的对象的数据结构、以及这些对象的附属的数据结构均被绑定至存储器中(即,从数据库中读取)。这些数据结构的副本在存储器中生成并被存储到数据库中。在数据结构仍处于存储器中时,或者在数据结构存储在数据库中之后,但是在宣告该组的复制事务完成之前,可建立存储器内数据结构之间的关系。在作为当前组的一部分所创建的数据库中的数据结构与作为低阶(即,早先复制的)组的一部分所创建的数据结构之间建立关系。此外,在作为当前组的一部分创建的数据库中数据结构与表示模型的其它部分的数据结构之间建立关系。例如,如果将管道系统从建筑物模型的一层复制到模型的另一层,那么可以使新创建的对象的一些或全部与表示目标楼层的对象相关。一旦所有这些中间操作都已经完成,原子操作(即,事务)宣告完成。
在所有组的复制操作均成功完成之后,或者如果大的复制操作异常终止,那么如图9所示,可以向用户显示结果对话框以报告状态。
识别前驱对象
在一个实施例中,通过构建一个使每个待复制的主对象与其前驱相关联的有向图(“复制前驱图”)来识别前驱对象。复制前驱图包括用于每个待复制的主对象的节点。图的边缘代表各个对象节点之间的关系。该图的遍历生成待复制主对象的有序列表。将来自该有序列表的连贯的主对象组以及它们的附属对象分配到如上文所述被复制的后继组。于是,将待复制的所有对象被划分成组。现在详细地描述这些操作。
如上文所提到的,选择用来复制的主对象通常具有应该与选定对象一起复制的相关对象。例如,横梁对象可具有多个未暴露的附属连接对象或其它附属对象。此外,横梁对象可以连接到暴露给用户的前驱柱子对象。可以通过与柱子对象相关的未暴露的附属连接点对象进行连接。
在图10中描述了这种情况的图形表示。复制组1 1000表示横梁对象,而复制组2 1003表示柱子。主横梁对象1006与多个附属和/或暴露对象1010、1013、1016和1020相关,所有这些附属和/或暴露对象都是前驱对象,因此应该与暴露的横梁对象1006一起复制。假定对象1020表示横梁上的连接点。类似地,主柱子对象1023与多个附属和/或暴露对象1026、1030和1033相关。假定对象1033代表柱子上的连接点,并且关系X 1036代表横梁上的连接点1020和柱子上的连接点1033之间的连接。
因为能够建立从另一对象到连接对象1033的关系,所以柱子的对象复制组1023-1022中的连接对象1033被称为“目标”对象。如果要建立这种关系,为了复制对象的目的,柱子对象1023成为前驱,而另一对象成为后继。对象可能有一个以上的目标。此外,可以建立除了物理连接之外的关系。例如,对象可以与坐标系对象相关或与测量值对象单位相关。类似地,对象例如横梁可具有一个以上的对象,通过这些对象,所述对象可以与另一对象相关。
企业工程系统通常包括一个或多个软件应用程序,其管理工厂或模型内的系统。如上文所提到的,示例系统包括构造体系、电气系统、设备系统和管道系统。这些软件应用程序响应于用户输入,例如当用户向模型中添加横梁或柱子时,创建对象。在面向对象的范型中,“类”是对象的定义或原型。面向对象的系统具有每个创建的对象类型的类定义。
根据本发明,每个类定义都提供信息,该信息使得复制该类的对象的软件相对于对象遍历两种类型的路径:(a)从该对象通过其复制组的内部关系至与该对象具有关系的另一对象中的目标对象的路径;和(b)从该对象通过其复制组的内部关系至复制组中的目标(即,至目标对象)的路径,通过该目标对象可以与该对象建立关系。
两种类型的路径示出在图10中。如上文所提到的,横梁可能连接到另一对象,并且横梁的连接对象1020是建立连接关系1036的对象。如所提到的,其它横梁对象1010-1016也可能是建立关系的对象。因为对象1020可被用于与另一对象建立关系,所以路径1040是第一种路径的示例,即,从对象1006通过其复制组的内部关系到另一对象复制组的目标对象1033的路径,其中,对象1006与另一对象复制组的目标对象1033具有关系1036。路径1043示例化第二种路径,即,从对象1023通过其复制组的内部关系到复制组内的目标1033的路径。
在一些实施例中,每个类定义提供“复制类描述符”文件,其包括复制应用程序用来根据该类的对象是否是目标或者对象具有与其它对象建立的关系识别两种路径的一个或两个的信息。在一些实施例中,根据可扩展标记语言(XML)规范来格式化该文件。以下更详细地描述这种XML文件。
如所提到的,典型的企业工程系统在相关数据库(RDB)或另一类数据库中存储关于对象和关系的信息。一些此类系统维护每个类型对象的单独的数据库表。例如,此类系统维护柱子对象的表和横梁对象的单独的表。可以在对象表或单独的表中维护关于对象之间的关系的信息。例如,表1中所示例的关系表在该表的每一行记录一对对象和对象之间关系。因此,针对系统中两个对象之间的每个关系,该表包括一行。表的行字段包括对象标识符(OID)。术语“OID(B)”表示“对象B的对象标识符”。表1第二行所示的关系对应于图10中的关系X 1036,指示横梁1006上的连接点B 1020焊接到柱子D 1023上的连接点C 1033。
Figure BPA00001233045000131
如表1中列标题(“原始”和“目标”)所指出,关系是有向的。关系的方向可以但不必要表明两个对应对象之间的后继/前驱关系。
如所提到的,相对于根据类而实例化的对象,每个类定义提供了包含信息的复制类描述符文件,该信息使得软件能够遍历两种路径。图12是用于提供这种信息的XML文件的示意图。也可以使用其它适当的文件格式。
对于给定的对象类,文件包括两个部分1200和1203,它们分别提供关于两种路径的信息。第一部分1200(“TargetsInPredecessors”)提供了关于从对象经过其复制组的内部关系至与该对象有关系的另一对象中的目标对象(即,至可以是该对象的前驱的对象)的每一条可能路径的信息。
图12所示的示例限定两条这种路径1206和1210。每条路径包括至少一“step(步)”。步表示两个对象之间的关系,包括关系类型(RelType)的描述和关系的方向(Dir)。将图10的横梁对象作为示例,路径1040可被描述为具有三步,对应于关系1046、1050和1053。从该对象开始,匹配指定步的数量、指定关系类型(RelType)和指定方向(Dir)的任意路径均限定为TargetsInPredecessors(前驱中目标)路径。
返回图12,XML文件的第二部分1203(“TargetsInSelf(本身目标)”)提供了关于从该对象经过其复制组的内部关系至复制组内目标的每条可能路径的信息。图13是XML复制类描述符文件的更全面的示例。
当对象被用户选定为或自动识别为待复制的对象时,系统自动地识别该对象的前驱。为了识别前驱,系统识别前驱中的目标对象,选定对象或其附属对象之一与该目标对象相关。为了识别目标对象,系统为每条为该对象类限定的TargetsInPredecessors路径建立查询。查询包括用于路径每一步的JOIN。对数据库执行查询。查询得到包含OID对的表。每对OID包括待复制对象的OID(例如,横梁1006(OID“A”))和目标对象的OID(例如,连接点1003(OID“C”))。表2示出了此类查询的示例结果的一部分。
Figure BPA00001233045000141
该系统还为每条为该对象类限定的TargetsInSelf路径建立查询。所述查询包括用于该路径中每一步的JOIN(连接)。对数据库执行查询。查询产生包含OID对的表。每对OID包括目标对象的OID(例如,连接点1033(OID“C”))和选定待复制对象的前驱对象的OID(例如,柱子对象1023(OID“D”))。表3示出了此类查询的示例性结果的一部分。
Figure BPA00001233045000142
针对为选定用于复制的对象的每个类执行上述查询,并且查询结果被积累在所述两个生成的表中。然后将这两个表连接至列名称为“OID ofTarget Object(目标对象的OID)”的表中以产生第三张表。表4示出这种数据库JOIN操作的示例结果的一部分。表4的行表示待复制对象之间的前驱关系。例如,根据表4的第一行,因为对象D是对象A的前驱,所以应该不迟于对象A(横梁1006)而复制对象D(柱子1023)。
Figure BPA00001233045000151
如所提到的,复制前驱图包括待复制的每个主对象的节点,并且图的边缘表示各个对象节点之间的关系。系统在该图中为用户所选的每个主对象创建节点。此外,系统为表3中标识的每个主前驱对象向该图中添加节点。
连接的表(表4)的每个行表示待复制对象与前驱对象之间的前驱关系。针对每个这种前驱关系,系统将边缘添加到复制前驱图中。图11示出示例性的复制前驱图。应该注意到,出于确定复制顺序的目的,已经创建了前驱关系1100。该关系可仅存在于复制前驱图中。也就是说,表示复制组11000和复制组21003(图10)中的对象的数据结构没有存储关于前驱关系1100的信息。
分类排序复制对象
在将前驱关系添加到复制前驱图中之后,图中的复制对象被分类排序成复制顺序,以便每个对象都在其所有前驱对象出现之后出现。复制顺序可以由经过复制前驱图的节点延伸的线(例如向前和向后指针)表示、或者由单独的复制顺序列表表示、或者由任何其它适当的指示符表示。
可以通过任意适当的方法对复制前驱图分类排序。现在描述两个示例性方法。在广度优先分类排序方法中,经过复制对象的列表可产生多个遍历过程(pass)。在每个遍历过程中,将其所有前驱对象均已经添加的复制对象添加到列表中。这种分类排序方法趋向于将不相关的对象彼此靠近地放置在复制顺序列表中。因此,可能将不相关的对象分配到给定的对象组,这将导致更大量的交叉划分关系。
期望使用深度优先分类排序方法,该方法将相关的对象彼此靠近地放置在复制顺序列表中。遍历复制前驱图得到单个遍历过程,以识别所有没有后继对象的复制对象,即识别不是任何其它对象的前驱的对象。对于每个没有后继的对象,可以调用递归函数来将该对象添加到列表中。针对该对象的每个前驱,函数调用它本身,并随后,函数将该对象添加至列表。因此,在将该对象本身添加到列表之前,所有该对象的前驱都被添加到列表中。
可选择地,可以根据对象在模型内的物理位置将对象预先分类排序以将对象分组。诸如横梁和柱子的彼此物理上靠近的对象,与在被建模的设施中彼此远离的对象相比,更可能相关。因此,预先分类排序对象以便使物理上靠近的对象在复制前驱图中靠在一起,从而可以减少交叉划分关系的数量。
两个或多个对象可以相互关联以形成环路。这种关系的示例示出在图14中。可以在分类排序过程中检测环路。如果检测到环路,那么将给定环路的所有复制对象一起分配到待复制对象的同一组中。
每一个对象都将另一对象示为自己的前驱的两个复制对象称为“相互前驱(mutual predecessors)”。将相互前驱对象分配到同一复制组中。类似地,将相互前驱对象的环路分配到同一复制组中。
一旦复制前驱图中的复制对象被分类排序,就将复制对象分配到后继组中,起始于分类排序的复制前驱图起点处的复制对象,并以分类排序顺序继续到该图的终点。“复制传播(propagation)”是一个过程,利用这个过程,选定的待复制主对象组扩展为包括所有其相关的附属对象。对于OID处于复制前驱图中的每一组主对象都被绑定到存储器,并且所述主对象被传播,以将所述主对象的附属对象绑定到存储器。主对象和附属对象随后被复制,并且所述副本随后将被存储在数据库中。
每组中对象的数量取决于是否发现环路或相互前驱对象。此外,应该将附属对象包括在与其父对象相同的组中。否则,可以基于一个或多个标准选择组中对象的数量。例如,较小的组趋向于提高鲁棒性,因为与较大的复制操作失败相比,如果小的组复制操作失败,其恢复仅涉及较小量的回滚等。然而,较小组复制操作表明了较大量的此类操作,这负面地影响数据库的性能。组中可包括一个对象那么少。所有复制组不需要包括相同数量的对象。已经发现,一个主对象的组尺寸(即,对象及其所有附属对象)在鲁棒性与性能之间提供了良好的平衡。然而,可以使用其它组尺寸。
重建与对象副本的关系
一组一起复制的对象中对象之间的关系称为“内部关系”。因为所有这些对象被一起复制,所以这些关系与所述对象一起被复制。
一组一起复制的对象中的对象与不被复制的对象之间的关系称为“外部关系”。如果系统将外部关系限定为必需的,那么在复制后,在新创建的对象与默认目标(由系统限定的)之间建立关系,或者,如果用户通过用户界面(未示出)选定新的目标对象,就与用户指定的对象之间建立关系。如果系统将外部关系限定为可选的,那么就不需要建立与所述新创建的对象的关系。
一些关系可能横跨分区,即,在一起复制的不同对象组中的对象之间扩展。这些关系称为“交叉划分”关系。因为对象组被按照顺序复制,所以当复制每个对象时,其前驱对象就已经被复制或者作为同一组的部分而被复制。在任何情况下,当已经复制了组中的所有对象时,所有相关前驱对象均已经被复制。于是,可以在原子组复制操作过程中建立与前驱的关系。
为了有助于建立与先前组复制操作过程中创建的对象的关系,系统维护“全局复制地图”。全局复制地图存储可能是关系的目标的对象的OID,其中,所述关系应作为后续组复制操作的部分而被重建。表5示出示例全局复制地图。
Figure BPA00001233045000171
当复制与另一对象(例如,对象B 1020)有关系的对象(例如,图10中的对象C 1033)时,对象C的OID以及该对象副本的OID(即,新创建的对象,称为“克隆”)被存储在全局复制地图中并使其相互关联。然后,当相关对象(本例中的对象B 1020)被复制时,系统检测对象B与C之间的关系。例如,系统可查询关系表(例如,参见表1)以确定对象B是否具有任何关系。发现对象B与对象C有关之后,系统利用对象C的克隆的OID来建立对象C的克隆与对象B的克隆之间的关系。
全局复制地图可被存储在存储器中。替代地,全局复制地图可被存储于次级存储设备(例如,磁盘),因此存储器的量不包括所述地图的大小。当然,如本领域所公知的,所述地图中的部分可被缓存在存储器中以改善性能。
通过“连接(joining)”对象来建立对象之间的一些关系。图15示出两个此类连接对象1500和1503。如果要复制通过连接对象1500和1503而相关的两个对象组1506和1510,但是所述两组1506和1510被分配到不同的复制对象组中(即,在不同的分区中),那么设置标记来指示复制应该从连接对象的两侧传播。当复制包含对象1513的组时,对象1513和连接对象1500和1503均被克隆,并且至所述克隆的关系被建立。然而,在过程的后期,所述连接对象1500和1503的每个克隆检测到当前没有连接两个对象,因此被删除。提交对象1513的副本而不带有连接对象,并且将对象1513及其克隆添加到全局复制地图。
随后,当复制包括其它对象1516的组时,对象1516以及连接对象1500和1503均被克隆。如上文所述,利用全局复制地图识别对象1513的克隆。建立连接对象1500和1503的克隆与对象1513和1516之间的关系。然后,如上文所述提交最终的对象和关系。
上述方法可以由包括处理器的计算机系统通过执行存储在存储器中的适当指令来执行。
用于复制大量对象的方法和装置已经描述为包括由存储在存储器中的指令控制的处理器。所述存储器可以是适于存储控制软件或其它指令和数据的随机访问存储器(RAM)、只读存储器(ROM)、闪存或任意其它存储器,或其组合。已经参照流程图和/或框图描述了由复制机制执行的一些功能。本领域的技术人员应该已经意识到流程图或框图的每个块的所有或部分或者块的组合的功能、操作、决策等可以作为计算机程序指令、软件、硬件、固件或其组合实施。本领域的技术人员也应该已经意识到限定本发明功能的指令或程序可以按照许多形式传送到处理器,包括但不限于永久存储在非可写存储介质(例如,计算机内的只读存储设备,例如ROM,或计算机I/O附件可读的设备,例如CD-ROM或DVD盘)上的信息、可改变地存储在可写存储介质(例如,软盘、可移动闪存和硬驱动)上的信息,或者通过包括有线或无线计算机网络的通信介质传送到计算机的信息。此外,虽然本发明可以实现在软件中,但是执行本发明所必须的功能可选择地或可替代地部分或全体地利用固件和/或硬件部件来实现,例如,使用组合逻辑、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它硬件,或硬件、软件和/或固件部件的一些组合。
虽然通过上述示例性实施例描述了本发明,但是本领域的普通技术人员应该理解,可以对所示实施例做出修改和变形,而不背离本文所公开的创造性的概念。例如,尽管已经参照流程图描述了复制机制的一些方面,但是本领域的技术人员应该已经意识到流程图的每个块的所有或部分或者块的组合的功能、操作、决策等可以组合、分离成单独的操作或按照其它顺序执行。此外,尽管结合各种图示性的数据结构描述了实施例,但是本领域的技术人员应该意识到,可以使用多种数据结构实现系统。此外,可以按照以上没有列出的方式组合所公开的方面或者这些方面的部分。因此,本发明不应该被视为局限于所公开的实施例。

Claims (17)

1.一种用于复制表示在面向对象的企业工程系统中的多个前驱对象和后继对象的计算机化方法,其中,每个后继对象均具有与前驱对象的前驱关系,所述方法包括:
从选择多个待复制对象的用户(100)接受输入;
对于每个选定对象,自动地识别对应于所述选定对象的前驱对象;
自动地将所述选定对象和所识别的前驱对象(106)划分成多个有序对象组,使得对于任意给定的选定对象或前驱对象,其对应的前驱对象均处于与所述给定对象相同的组中或处于在前的组中;
对于每个有序组,在原子数据库事务(110)过程:
在所述数据库中存储对应于所述组中对象的复制对象;以及
对于至少一个存储的对应于所述组中对象的复制对象,在所述数据库中存储信息,以在所存储的复制对象与数据库中另一对象之间建立前驱关系,所述另一对象不对应于所述组中的任意对象,从而使所存储的复制对象为所述另一对象的后继。
2.根据权利要求1所述的方法,其特征在于,至少一个前驱关系存在于一个组中的对象与另一个组中的另一对象之间,所述方法还包括:
作为针对所述一个组的原子数据库事务的一部分,在所述数据库中存储信息,以在对应于所述一个组中所述对象的所存储的复制对象与对应于所述另一对象的复制对象之间建立前驱关系。
3.根据权利要求1所述的方法,其特征在于,识别所述前驱对象包括接收用于识别始于所述选定对象的路径的数据,所述路径经过附属于所述选定对象的至少一个对象延伸,所述路径包括至少一步,每步具有关系类型和方向。
4.根据权利要求1所述的方法,其特征在于,识别所述前驱对象包括接收用于识别第一路径和第二路径的数据,每条路径均始于所述选定对象,每条路径均经过附属于所述选定对象的至少一个对象延伸,每条路径包括至少一步,每步具有关系类型和方向,其中,所述第一路径终止于并不附属于所选定对象的目标对象,并且所述第二路径终止于附属于所选定对象的目标对象。
5.根据权利要求4所述的方法,其特征在于,识别所述前驱对象还包括利用来自所述第一路径和第二路径中至少一个的信息所形成的查询而对数据库进行查询。
6.根据权利要求1所述的方法,其特征在于,识别所述前驱对象包括:
生成所述选定对象的计算机可读表示;
分类排序所述选定对象的所述表示;以及
划分所述选定对象的所分类排序的表示。
7.根据权利要求1所述的方法,还包括:对于每个有序组,在所述原子数据库事务过程:
对于所述组中的每个选定对象,自动地识别对应于所述选定对象的附属对象;以及
在所述数据库中存储对应于所识别的附属对象的复制对象。
8.根据权利要求1所述的方法,其特征在于,对于每一组,在所述数据库中存储对应于所述组中对象的复制对象包括:存储与所述组中对应对象的对象标识符相关联的至少一个复制对象的对象标识符。
9.一种用于复制表示在面向对象的企业工程系统中的多个前驱对象和后继对象的系统,其中,每个后继对象均具有与前驱对象的前驱关系,所述系统包括:
用户界面,构造为从选择多个待复制对象的用户接受输入;
识别模块,对于每个选定对象构造为,自动地识别对应于所述选定对象的前驱对象;
划分模块,构造为自动地将所述选定对象和所识别的前驱对象划分成多个有序对象组,使得对于任意给定的选定对象或前驱对象,其对应的前驱对象均处于与所述给定对象相同的组中或者处于在前的组中;以及
存储模块,构造为使得对于每个有序组,在原子数据库事务过程,所述存储模块:
在所述数据库中存储对应于所述组中对象的复制对象;以及
对于至少一个所存储的对应于所述组中对象的复制对象,在所述数据库中存储信息,以在所存储的复制对象与数据库中另一对象之间建立前驱关系,所述另一对象不对应于所述组中的任意对象,从而使所存储的复制对象为所述另一对象的后继。
10.根据权利要求9所述的用于复制多个前驱对象和后继对象的系统,其特征在于:
至少一个前驱关系存在于一个组中的对象与另一个组中的另一对象之间;并且
所述存储模块还被构造为,作为针对所述一个组的原子数据库事务的一部分,在所述数据库中存储信息,以在对应于所述一个组中所述对象的所存储的复制对象与对应于所述另一对象的复制对象之间建立前驱关系。
11.根据权利要求9所述的用于复制多个前驱对象和后继对象的系统,其特征在于,所述识别模块还被构造为接收用于识别始于所述选定对象的路径的数据,所述路径经过附属于所述选定对象的至少一个对象延伸,所述路径包括至少一步,每步具有关系类型和方向。
12.根据权利要求9所述的用于复制多个前驱对象和后继对象的系统,其特征在于,所述识别模块还被构造为接收用于识别第一路径和第二路径的数据,每条路径均始于所述选定对象,每条路径均经过附属于所述选定对象的至少一个对象延伸,每条路径均包括至少一步,每步具有关系类型和方向,其中,所述第一路径终止于并不附属于所述选定对象的目标对象,并且所述第二路径终止于附属于所述选定对象的目标对象。
13.根据权利要求12所述的用于复制多个前驱对象和后继对象的系统,其特征在于,所述识别模块还被构造为利用来自于所述第一路径和第二路径的至少一个的信息所形成的查询而对数据库进行查询。
14.根据权利要求9所述的用于复制多个前驱对象和后继对象的系统,其特征在于,所述识别模块还被构造为:
生成所述选定对象的计算机可读表示;
分类排序所述选定对象的所述表示;以及
划分所述选定对象的所分类排序的表示。
15.根据权利要求9所述的用于复制多个前驱对象和后继对象的系统,其特征在于,所述存储模块还被构造为对于每个有序组,在所述原子数据库事务过程:
对于所述组中的每个选定对象,自动地识别对应于所述选定对象的附属对象;以及
在所述数据库中存储对应于所识别的附属对象的复制对象。
16.根据权利要求9所述的用于复制多个前驱对象和后继对象的系统,其特征在于,所述存储模块还被构造为对于每一组,存储与所述组中对应对象的对象标识符相关联的至少一个复制对象的对象标识符。
17.一种用于复制表示在面向对象的企业工程系统中的多个前驱对象和后继对象的用在计算机系统上的计算机程序产品,其中,每个后继对象均与前驱对象具有前驱关系,所述计算机程序产品包括:
计算机可读介质,在其上存储有计算机指令,从而当由处理器执行时,所述指令促使处理器:
从选择多个待复制对象的用户接受输入;
对于每个选定对象,自动地识别对应于所述选定对象的前驱对象;
自动地将所述选定对象和所识别的前驱对象划分成多个有序对象组,使得对于任何给定的选定对象或前驱对象,其对应的前驱对象均处于与所述给定对象相同的组中或者处于在前的组中;
对于每个有序组,在原子数据库事务过程:
在所述数据库中存储对应于所述组中对象的复制对象;以及
对于至少一个所存储的对应于所述组中对象的复制对象,在所述数据库中存储信息,以在所存储的复制对象与数据库中另一对象之间建立前驱关系,所述另一对象不对应于所述组中的任意对象,从而使所存储的复制对象为所述另一对象的后继。
CN2009801116657A 2008-06-03 2009-06-02 利用多事务技术复制面向对象环境中的对象的方法和装置 Active CN101981575B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US5853108P 2008-06-03 2008-06-03
US61/058,531 2008-06-03
PCT/US2009/045910 WO2009149045A2 (en) 2008-06-03 2009-06-02 Method and apparatus for copying objects in an object-oriented environment using a multiple-transaction technique

Publications (2)

Publication Number Publication Date
CN101981575A true CN101981575A (zh) 2011-02-23
CN101981575B CN101981575B (zh) 2012-11-28

Family

ID=41319926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801116657A Active CN101981575B (zh) 2008-06-03 2009-06-02 利用多事务技术复制面向对象环境中的对象的方法和装置

Country Status (11)

Country Link
US (1) US8793218B2 (zh)
EP (1) EP2281253B1 (zh)
KR (1) KR101320221B1 (zh)
CN (1) CN101981575B (zh)
AT (1) ATE534087T1 (zh)
AU (1) AU2009256381B2 (zh)
BR (1) BRPI0910994A2 (zh)
CA (1) CA2717802C (zh)
TW (1) TWI451276B (zh)
WO (1) WO2009149045A2 (zh)
ZA (1) ZA201006504B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104081400A (zh) * 2012-02-09 2014-10-01 鹰图公司 使用多事务技术对面向对象环境中的对象执行几何变换的方法和装置
CN107851133A (zh) * 2015-06-05 2018-03-27 赫克斯冈技术中心 用于使用多事务技术对面向对象环境中的对象执行几何变换的方法和设备
CN108182281A (zh) * 2018-01-26 2018-06-19 阿里巴巴集团控股有限公司 基于流式计算的数据处理控制方法、装置、服务器及介质
CN113010599A (zh) * 2019-12-19 2021-06-22 中国移动通信集团四川有限公司 Mysql数据库组复制状态监控方法、装置和系统

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2784688A1 (en) 2009-12-17 2011-06-23 Fluor Technologies Corporation Plant deliverable management system
US8831920B2 (en) 2010-12-15 2014-09-09 Fluor Technologies Corporation Automated cabling layout systems and methods
US10719537B2 (en) 2012-02-09 2020-07-21 Hexagon Technology Center Gmbh Method and apparatus for performing a geometric transformation on objects in an object-oriented environment using a multiple-transaction technique
CN103123576B (zh) * 2012-12-14 2015-12-09 厦门市美亚柏科信息股份有限公司 一种基于续点的计算机存储介质复制方法
US20140214801A1 (en) * 2013-01-29 2014-07-31 Vito Anthony Ciliberti, III System and Method for Enterprise Asset Management and Failure Reporting
EP3514693A1 (en) 2013-10-29 2019-07-24 Huawei Technologies Co., Ltd. Transaction processing method and apparatus
CN104220982B (zh) * 2013-10-29 2017-03-29 华为技术有限公司 一种事务处理方法与装置
US10372834B2 (en) 2016-01-15 2019-08-06 DISCUS Software Company Creating and using an integrated technical data package
KR102168323B1 (ko) * 2018-12-13 2020-10-21 주식회사 한글과컴퓨터 문서에 삽입되어 있는 개체들 간의 서식 속성의 동기화를 처리하는 문서 편집용 전자 단말 장치 및 그 동작 방법
TWI729793B (zh) * 2020-04-29 2021-06-01 國立臺灣科技大學 組合複數3維建築物模型的方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633869B1 (en) * 1995-05-09 2003-10-14 Intergraph Corporation Managing object relationships using an object repository
US5692184A (en) * 1995-05-09 1997-11-25 Intergraph Corporation Object relationship management system
TW360831B (en) * 1997-04-10 1999-06-11 Ibm Mobil objects method for controlling mobile objects, method and apparatus for generating mobile object group, and memory medium for storing program for generating mobile object group
US6721713B1 (en) * 1999-05-27 2004-04-13 Andersen Consulting Llp Business alliance identification in a web architecture framework
JP3897948B2 (ja) * 2000-02-14 2007-03-28 富士通株式会社 支援システムおよび支援プログラムを記録したコンピュータ読み取り可能な記録媒体
US7386529B2 (en) * 2002-12-19 2008-06-10 Mathon Systems, Inc. System and method for managing content with event driven actions to facilitate workflow and other features
US7590643B2 (en) * 2003-08-21 2009-09-15 Microsoft Corporation Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system
US7430732B2 (en) * 2003-10-23 2008-09-30 Microsoft Corporation Design of application programming interfaces (APIs)
US20050182775A1 (en) * 2003-12-01 2005-08-18 George Fitzgerald Method of storing fast throughput experimentation information in a database
US7502820B2 (en) * 2004-05-03 2009-03-10 Microsoft Corporation System and method for optimized property retrieval of stored objects
US20060129745A1 (en) * 2004-12-11 2006-06-15 Gunther Thiel Process and appliance for data processing and computer program product
US7627893B2 (en) * 2005-10-20 2009-12-01 International Business Machines Corporation Method and system for dynamic adjustment of computer security based on network activity of users
US7467268B2 (en) * 2006-04-14 2008-12-16 Hewlett-Packard Development Company, L.P. Concurrent data restore and background copy operations in storage networks
US8527721B2 (en) * 2008-12-26 2013-09-03 Rajeev Atluri Generating a recovery snapshot and creating a virtual view of the recovery snapshot
WO2010101540A1 (ru) * 2009-03-02 2010-09-10 Panchenko Borys Evgenijovich Способ каркасного полно-модифицируемого размещения данных в хранилище с учетом их предварительной этимологической сепарации
US8589451B1 (en) * 2012-05-24 2013-11-19 Sap Ag Systems and methods for generating a common data model for relational and object oriented databases

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104081400A (zh) * 2012-02-09 2014-10-01 鹰图公司 使用多事务技术对面向对象环境中的对象执行几何变换的方法和装置
CN107851133A (zh) * 2015-06-05 2018-03-27 赫克斯冈技术中心 用于使用多事务技术对面向对象环境中的对象执行几何变换的方法和设备
CN107851133B (zh) * 2015-06-05 2022-01-21 赫克斯冈技术中心 面向对象环境中的对象进行几何变换的方法、系统和介质
CN108182281A (zh) * 2018-01-26 2018-06-19 阿里巴巴集团控股有限公司 基于流式计算的数据处理控制方法、装置、服务器及介质
CN108182281B (zh) * 2018-01-26 2022-02-01 创新先进技术有限公司 基于流式计算的数据处理控制方法、装置、服务器及介质
CN113010599A (zh) * 2019-12-19 2021-06-22 中国移动通信集团四川有限公司 Mysql数据库组复制状态监控方法、装置和系统
CN113010599B (zh) * 2019-12-19 2023-07-21 中国移动通信集团四川有限公司 Mysql数据库组复制状态监控方法、装置和系统

Also Published As

Publication number Publication date
KR20110021719A (ko) 2011-03-04
TW201011578A (en) 2010-03-16
CN101981575B (zh) 2012-11-28
WO2009149045A3 (en) 2010-01-28
KR101320221B1 (ko) 2013-10-21
CA2717802A1 (en) 2009-12-10
CA2717802C (en) 2015-12-22
ATE534087T1 (de) 2011-12-15
AU2009256381A1 (en) 2009-12-10
BRPI0910994A2 (pt) 2016-01-19
US20090300083A1 (en) 2009-12-03
AU2009256381B2 (en) 2014-09-18
ZA201006504B (en) 2011-05-25
EP2281253B1 (en) 2011-11-16
EP2281253A2 (en) 2011-02-09
WO2009149045A2 (en) 2009-12-10
US8793218B2 (en) 2014-07-29
TWI451276B (zh) 2014-09-01

Similar Documents

Publication Publication Date Title
CN101981575B (zh) 利用多事务技术复制面向对象环境中的对象的方法和装置
CN104516724B (zh) 对于复制的数据表的表属性管理
CN107563628B (zh) Bim构件与施工任务关联关系的建立方法及系统
WO2021179593A1 (zh) 基于深度学习的管道三维重建方法、系统、介质及设备
EP0742523A2 (en) Object relationship management system
KR20140110072A (ko) 객체 지향 환경에서 다중 트랜잭션 기법을 이용하여 객체들에 대한 기하학적인 변환을 수행하기 위한 방법 및 장치
KR101409250B1 (ko) 배관요소 조합식 배관 전산 설계방법
US20200134106A1 (en) Engineering drawings and digital twins
CN113392462A (zh) 一种基于Revit二次开发的污水管网快速化建模方法
US10719537B2 (en) Method and apparatus for performing a geometric transformation on objects in an object-oriented environment using a multiple-transaction technique
JP4410595B2 (ja) Cadデータ変換装置および方法ならびにプログラム
KR101989755B1 (ko) 파이프 스풀 도면 자동 생성 시스템 및 이를 이용한 도면 자동 생성 방법
JPH0934923A (ja) 建築/設備設計支援方法
KR102499332B1 (ko) 다중 트랜잭션 기술을 사용하여 객체 지향 환경에서 객체들에 대한 기하학적 변환을 수행하기 위한 방법 및 장치
KR101985395B1 (ko) 반도체 장비 정보 모델링 시스템 및 그 방법
JP2011008449A (ja) 設計支援装置、その制御方法、そのプログラム、およびコンピュータ読み取り可能な記録媒体
Coulon et al. Virtual building site: supporting building design by multiple methods in FABEL
CN116205016A (zh) 管路模型生成方法、装置、设备及存储介质
JP3781817B2 (ja) 建物生産設計装置および設計方法
JP4540386B2 (ja) 設計業務支援システム
CN116579111A (zh) 三维构件模型的生成方法、装置、设备、介质和产品
Wefki et al. BIM-based schedule generation and optimization using genetic algorithms
JP2708418B2 (ja) データベースの構成方法
Coulon et al. Virtual building site
Sureshkumar et al. RDBMS-based computer aided process planning

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: alabama

Patentee after: GRAPHLOGIC Inc.

Address before: Nevada

Patentee before: Intergraph Technologies Co.

TR01 Transfer of patent right

Effective date of registration: 20160520

Address after: Swiss Hull Brugger

Patentee after: HEXAGON TECHNOLOGY CENTER GmbH

Address before: Delaware

Patentee before: Hector Sigang Resources Ltd.

Effective date of registration: 20160520

Address after: Delaware

Patentee after: Hector Sigang Resources Ltd.

Address before: alabama

Patentee before: Graphlogic Inc.