CN108885644A - 用于使用同步信息记录的增量数据转换的方法和计算机可读介质 - Google Patents

用于使用同步信息记录的增量数据转换的方法和计算机可读介质 Download PDF

Info

Publication number
CN108885644A
CN108885644A CN201680083932.4A CN201680083932A CN108885644A CN 108885644 A CN108885644 A CN 108885644A CN 201680083932 A CN201680083932 A CN 201680083932A CN 108885644 A CN108885644 A CN 108885644A
Authority
CN
China
Prior art keywords
data item
repository
model
storage format
condition information
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
CN201680083932.4A
Other languages
English (en)
Other versions
CN108885644B (zh
Inventor
S.W.威尔逊
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.)
Bentley Systems Inc
Original Assignee
Bentley Systems Inc
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 Bentley Systems Inc filed Critical Bentley Systems Inc
Publication of CN108885644A publication Critical patent/CN108885644A/zh
Application granted granted Critical
Publication of CN108885644B publication Critical patent/CN108885644B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/23Updating
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Architecture (AREA)
  • Software Systems (AREA)

Abstract

在一个实施例中,提供如下的技术:将根据第一存储格式维持CAD描述的源储存库的数据项转换为根据第二存储格式维持CAD描述的输出储存库的数据项。转换器采集源储存库的数据项,且将源储存库的数据项的当前状况信息与由与源储存库分开的同步信息记录维持的自上次成功转换起的状况信息比较。转换器确定自上次成功转换以后源储存库中的一个或多个新的或改变的数据项,将新的或改变的数据项转换为输出储存库的第二存储格式,且将它们存储于输出储存库中,而跳过任何未改变的数据项。转换器进一步更新同步信息记录,以包括源储存库中的数据项的当前状况信息。

Description

用于使用同步信息记录的增量数据转换的方法和计算机可读 介质
技术领域
本公开一般涉及计算机辅助设计(CAD),且更特定地涉及用于除了数据格式以外还转换CAD描述的技术。
背景技术
计算机辅助设计(CAD)应用典型地使用根据存储格式来布置的数据项来维持物理结构(例如,建筑物、民用基础设施项目等)的CAD描述。一种类型的存储格式(在本文中被称为“基于文件的存储格式”)涉及维持一系列的数据结构(其表示组织成模型、与帮助定义图形视图的级别关联的元素)的一个或多个文件(例如,根文件和一个或多个附加文件)。在此类存储格式中,元素一般描述结构的各个单元。例如,在建筑物的简单CAD描述中,元素可以表示墙、门、窗、家具等。模型一般将相关元素一起分组到较大单元中,从而有效地“拥有”一组元素。CAD描述由至少一个模型(例如,根模型)以及通常许多额外的模型(例如,附加模型)(其使用附件组织在根模型下以形成模型图形)组成。例如,在建筑物的简单CAD描述中,根模型可以表示总体建筑物,且可以经由附件来引用表示各个地板的附加模型,每个附加模型拥有表示设置于相应的地板上的墙、门、窗、家具等的元素。级别一般描述应当被显示(例如,“接通”)的所选择的元素,且在某些情况下描述控制其视觉外观的符号(例如,颜色、线条粗细度、线条样式等)。例如,在建筑物的简单CAD描述中,级别可以包括表示窗的所有元素,且指示此类元素应当以黑线、细线、虚线显示。图形视图一般是以某一符号示出的所选择的元素的表示。例如,在建筑物的简单示例CAD描述中,具体的图形视图可以示出表示墙和窗的元素,带有墙以黑线、粗线、实线表示,并且,窗以黑线、细线、虚线表示。图形视图可以由来自模型图形中的根模型的附件路径(通过由模型图形的元素、元素所属于的级别指示的元素的符号和范围)和由覆盖显示状态和符号的级别的附件特定的副本的级别(“附加级别”)所定义。可以通过参考图1中的示例而更好地理解此类布置。
图1是用于CAD描述的示例第一存储格式(例如,基于文件的存储格式)的一部分的数据结构图100。数据结构图100可以与DgnV8格式一致,与从宾夕法尼亚州埃克斯顿市(Exton,P.A.)的Bentley Systems有限公司可得到的CAD应用兼容。然而,应当理解到,可以在从其它供应商可得到的其它CAD应用中使用类似的格式。数据结构图100表示许多数据项,使用各种数据结构来体现。在数据结构图100中,文件数据结构110充当每个文件(例如,根文件或附加文件)的标题,且包括指示文件的独特人类可读名称的名称字段、引用包含在文件中的模型数据结构的模型字段、以及引用包含在文件中的级别数据结构的级别字段。每个模型数据结构120表示单独的模型(例如,根模型或附加模型),且包括指示模型的独特标识符的模型ID字段、指示模型的独特人类可读名称的名称字段、引用拥有的文件的文件字段、以及引用由模型所拥有的元素数据结构的元素字段。每个模型可以被定位于用于定义其元素的布置的空间坐标系中。每个元素数据结构130表示由模型所拥有的单独的元素,且包括指示文件内的元素的独特标识符的元素ID字段、指示拥有的模型数据结构的模型ID字段、指示与元素关联的级别的级别字段、包括描述由元素表示的物理结构的单元的信息的数据字段、以及指示关联的DHDR数据结构的DHDR字段。每个DHDR数据结构140指示描述应当如何渲染拥有的元素的范围和符号信息(包括颜色字段、粗细度字段以及样式字段)。每个元素数据结构可以引用其所属于的级别的级别数据结构150。每个级别数据结构150表示元素可属于的级别,包括指示级别的独特标识符的级别ID字段、指示级别的独特人类可读名称的名称字段、指示是否应当显示(例如,“接通”)级别上的元素的显示字段、以及指示覆盖到级别的各个元素的符号的符号字段(诸如,颜色字段、粗细度字段以及样式字段)。
模型图形使用附件数据结构来定义,附件数据结构定义模型的所有权结构和任何附加级别的存在。每个附件数据结构160包括引用包含附加模型的文件的文件名称字段、引用附加模型的模型名称字段、变换字段(其指示可以应用于使由附加模型所使用的空间坐标系与拥有的模型的空间坐标系相关的任何空间变换)、以及引用可以与附件一起使用的附加级别的附加级别字段。每个附加级别数据结构170定义基础级别的覆盖,且包括标识附加级别的级别ID字段、指示是否应当显示级别的显示字段、以及可以覆盖级别的符号的符号字段(诸如,颜色字段、粗细度字段以及样式字段)。图形视图可以由视图数据结构190定义于模型图形中,视图数据结构190引用具体的模型数据结构120,具体的模型数据结构120充当视图的模型图形的附件路径的根。各种各样的其它数据结构和字段也可以被包括在第一存储格式中。
可以希望的是,将第一存储格式(例如,基于文件的存储格式(诸如,图1中所描绘的格式))的CAD描述的数据项转换为第二存储格式。第一存储格式的数据项可以存储于第一储存库(在转换的上下文中被称为“源储存库”)中,并且,第二存储格式的数据项可以存储于第二储存库(在转换的上下文中被称为“输出储存库”)中。在某些情况下,源储存库的第一存储格式与输出储存库的第二存储格式之间的数据项的重复(例如,周期性的)转换可以对维持一致性(例如,其中周期性地编辑源储存库中的CAD描述)是必要的。在这些情况下,源储存库中的数据项的仅一小部分可能已在连续转换之间改变,且从而执行源储存库中的所有数据项的完全转换可能是高度地低效的。然而,各种技术挑战已阻碍了能够仅检测和处理已改变的数据项的有效增量CAD描述转换器的发展。
一般地,维持指示输出储存库中的每个数据项的出处的少量数据项信息。确定源储存库中的哪个数据项或可能哪些数据项产生输出储存库中的数据项可能是复杂的问题。在源储存库中与输出储存库中的数据项之间,可能并非始终存在1:1对应性。即使存在1:1对应性,也可能在两种存储格式中未利用相同全局独特标识符(ID)。另外,ID可能随着时间而不稳定。例如,源储存库可以在不同的时间与不同数据项重复使用相同ID。所有的这些问题都阻碍在实现增量CAD描述转换器中的常规同步框架的使用。此类框架一般对源储存库和/或输出储存库提出不能容易地满足的需求(例如,输出储存库保留输出储存库中的每项的起源的记录,或源储存库本身提供自上次转换以后已改变的每个数据项的指示)。
因此,需要可以实现使用第一存储格式的源储存库的数据项与使用第二存储格式的输出储存库的数据项之间的有效的增量CAD描述转换的改进的技术。
发明内容
改进的CAD描述转换器利用维持自上次成功转换起的状况信息的专用同步信息记录。即使当源储存库具有有限的能力(例如,源储存库仅仅能够列举其内容)时,同步信息记录也可以实现增量转换。同样地,即使当输出储存库具有有限的能力(例如,输出储存库本身未保留其数据项的起源的记录)时,同步信息记录也可以实现增量存储格式转换。存储于同步信息记录中的状况信息可以跟踪源储存库中的数据项与输出储存库中的数据项之间的l:n对应性,可以跟踪与输出储存库中的对应的数据项的ID不同的源储存库中的数据元素的ID的使用,且可以区分数据项,即使在源储存库中使用的ID不稳定时。
在一个特定实施例中,转换器利用同步信息记录来从根据第一存储格式(例如,基于文件的存储格式(诸如,DgnV8格式))维持CAD描述的源储存库的数据项转换为根据第二存储格式(例如,基于关系数据库的存储格式(诸如,DgnDb格式))维持CAD描述的输出储存库的数据项。转换器采集源储存库的数据项,且将源储存库的数据项的当前状况信息与由与源储存库分开的同步信息记录维持的自上次成功转换起的状况信息比较。同步信息记录的状况信息至少包括自上次成功转换起的源储存库的数据项的身份、源储存库的数据项与从转换产生的输出储存库的对应的数据项的映射、以及自上次成功转换起的源储存库的数据项的状态。响应于该比较,转换器确定自上次成功转换以后源储存库中的一个或多个新的、改变的数据或删除的项,且将新的或改变的数据项转换为要存储于输出储存库中的第二存储格式,或从与删除的数据项对应的输出储存库去除数据项,而跳过源储存库的任何未改变的数据项。转换器进一步更新同步信息记录,以包括源储存库中的数据项的当前状况信息。
应当理解到,除了在此发明内容中讨论的特征和实施例之外,还可以实现各种各样的附加特征和备选实施例。本发明内容仅仅旨在作为对读者的简短介绍,且不指示或暗示本文中所提到的示例涵盖本公开的所有的方面,或是本公开的必要或基本的方面。
附图说明
下文的描述涉及示例实施例的随附附图,其中:
图1是用于CAD描述的示例第一存储格式(例如,基于文件的存储格式)的一部分的数据结构图;
图2是可以在其中采用至少一些目前描述的技术的示例电子装置的框图;
图3是可以在转换之后被存储于输出存储库中的用于CAD描述的示例第二存储格式(例如,基于关系数据库的存储格式)的一部分的模式;
图4是由同步信息记录维持的状况信息的示例集合,该同步信息记录可以与源储存库的基于文件的存储格式与输出储存库的基于关系数据库的存储格式之间的转换一起使用;以及
图5A和图5B合起来是用于将以源储存库的第一存储格式维持的CAD描述转换为输出储存库的第二存储格式的步骤的示例序列的流程图。
具体实施方式
图2是示例电子装置200的框图,在电子装置200中,可以采用至少一些目前描述的技术。该电子装置可以被设计用于固定式操作(例如,可以是台式电脑),或可以是设计成由用户容易搬运且从各种各样的不同的位置利用的便携式电子装置(例如,笔记本电脑、平板电脑等)。电子装置200包括耦合到主机总线220的至少一个处理器210。易失性存储器230(诸如,随机存取存储器(RAM))经由存储器控制器225被耦合到主机总线220,且配置成存储软件和数据的存储器中副本。除了其它软件以外,软件和数据的存储器中副本还可以包括操作***235、CAD应用240、关系数据库***242、以及CAD描述转换器(例如,能够增量转换)244,以及除了其它数据以外,还可以包括至少由CAD应用240和转换器244使用的CAD描述的存储器中副本(未示出)、以及至少由转换器244使用的状况信息的存储器中副本(未示出)。当需要时,此类软件和数据从在非易失性存储装置270(例如,硬盘、固态驱动器等)上维持的持久性副本加载到易失性存储器230内。
电子装置200的主机总线220通过总线控制器245被耦合到输入/输出(I/O)总线250。包括显示屏幕260的视频显示子***255被耦合到I/O总线250。显示屏幕260可以示出CAD应用240和/或转换器244的用户界面以及在电子装置200上执行的其它软件的用户界面。一个或多个输入装置265(例如,鼠标、键盘、触摸传感器等)也被耦合到I/O总线250。除了其它使用以外,输入装置265还被用于与CAD应用240和/或转换器244交互。网络接口280和上文所讨论的非易失性存储装置270进一步被耦合到I/O总线250。
网络接口280可以被耦合到计算机网络285(例如,因特网),以允许使用许多公知的连网协议中的任何协议的在电子装置200和其它电子装置之间的通信,从而实现各种分布式、协同或远程计算配置。应当理解到,根据此类配置,示出为驻留于存储器230中或存储于非易失性存储装置270中的软件和数据的一些或全部可以远程地位于另一电子装置上,且经由计算机网络285被访问。
除了存储可执行软件的副本之外,非易失性存储装置270还持久地存储由CAD应用240使用的CAD描述的副本和由转换器244使用的状况信息的副本。某些CAD描述可以根据第一存储格式(例如,基于文件的存储格式)被存储于文件274中。其它CAD描述可以根据第二存储格式(例如,基于关系数据库的存储格式)被存储在关系数据库272的表中。第二存储格式(例如,基于关系数据库的存储格式)的文件可以直接地由关系数据库***242加载到存储器230中,并且由CAD应用240使用,而第一存储格式(例如,基于文件的存储格式)的文件274可以要求在由CAD应用240直接可使用之前(但可以由自然地利用该存储格式的其它CAD应用(未示出)直接可使用)由转换器244转换。从转换器244的角度来看,第一存储格式(例如,基于文件的存储格式)的文件274可以被视为“源储存库”275的一部分,并且,关系数据库272可以被视为“输出储存库”273的一部分。状况信息可以存储为与源储存库275和/或输出储存库273分开的专用同步信息记录278的一部分。
在各种实现中,应用240、关系数据库***242、转换器244、源储存库的文件274、同步信息记录278、以及输出储存库的关系数据库272可以呈现各种形式。在一些具体实现中,CAD应用240是可从宾夕法尼亚州埃克斯顿市(Exton,P.A.)的Bentley Systems有限公司可得到的i-Model合成服务器或ProjectWise转换服务器,关系数据库***242是SQL数据库***(例如,SQLite®数据库***可用开放源),转换器244是CAD应用240的嵌入式处理,文件274可以是利用DgnV8存储格式的DgnV8文件,同步信息记录278是关系数据库,并且,关系数据库272可以是利用DgnDb格式(其与从Bentley Systems有限公司可得到的CAD应用兼容)的DgnDb数据库。然而,应当理解到,此类特定软件和格式只不过是示例。
在第二存储格式(例如,基于关系数据库的存储格式(诸如,DgnDb))中,描述物理结构(例如,建筑物、民用基础设施项目等)的CAD描述可以由例如包括许多由列和行组成的表的数据库表示。各种表的行可以表示组织成模型且与分类和子分类关联的元素。在此上下文中,元素可以描述结构的单独的单元,且存储于该单元所固有的信息。元素可以具有存储能够通过元素的生命周期而改变的信息的方面(例如,指示元素的放置和尺寸的元素几何方面)。模型可以将相关元素一起分组到较大单元中(带有元素为原子型)。模型可以使用单个共同的空间坐标系(“投影坐标系”)来描述元素的物理定位,使得该表示是空间相干的(例如,与如同上文中所讨论的示例第一存储格式那样由使用不同的空间坐标系的“片段”的集合形成的情况截然相反)。分类可以描述元素可以属于的类型。分类可以具有描述属于该分类的元素的方面的属性的许多子分类。例如,元素几何方面可以包含关于各自定义将用于显示元素的符号(例如,颜色、线条粗细度、线条样式等)的一个或多个子分类的几何原语。图形视图可以通过指定所显示(例如,“接通”)的模型和分类被定义,且覆盖到所显示的分类的子分类的缺省符号。
图3是可以在转换之后被存储于输出储存库中的用于CAD描述的示例第二存储格式(例如,基于关系数据库的存储格式)的一部分的模式300。模式300可以表示与可从Bentley Systems有限公司可得到的CAD应用兼容的DgnDb格式的一部分。然而,应当理解到,类似的结构可以在其它存储格式中被采用。
在模式300中,模型表310的行表示模型。模型表列可以包括指示用于模型的独特局部标识符的模型ID列和指示用于模型的独特人类可读名称的码列。元素表320可以包括表示元素的行。元素表列可以包括指示用于元素的独特标识符的元素ID列、指示用于元素的独特人类可读名称的码列、指示拥有的模型(例如,引用模型表310的行)的模型ID列、指示与元素关联的分类(例如,引用分类表340的行,使得一个元素可以属于一个分类)的分类ID列、以及指示用于元素的几何方面(例如,引用元素几何表330的行)的几何列。
元素几何表330的行可以表示引用元素的几何方面。元素几何表330的列可以包括指示元素的位置和方向的放置列、指示元素的空间大小的大小列、以及保持引用一个或多个子分类的几何原语的几何流列。元素几何表行可以引用子分类表350的一个或多个行,使得一个或多个元素几何可以引用一个或多个子分类。
分类表340的行可以表示分类。分类表340的列可以包括指示用于元素的独特标识符的元素ID列和指示分类的独特人类可读名称的码列。子分类表350的行可以表示子分类。子分类表350的列可以包括指示用于子分类的独特标识符的子分类ID列、指示子分类的独特人类可读名称的码列、指示拥有的分类(引用分类表340的行,使得一个或多个子分类可以被一个分类拥有)的分类ID列、以及定义当显示元素时使用的符号的外观列(诸如,颜色列、粗细度列、样式列等)。
另外,视图表360的行可以表示图形视图。视图表360的列可以包括指示被显示(例如,引用模型表320的一个或多个行,使得一个或多个模型可以被一个或多个视图引用)的模型的视图化的模型列、指示被显示(例如,引用分类表340的一个或多个行,使得一个或多个分类可以被一个或多个视图引用)的分类的视图化的分类列、以及指示对子分类的缺省显示状态的任何覆盖(例如,通过引用指示应当如何显示可应用的子分类中的几何的子分类覆盖表370的一个或多个行)的子分类覆盖列。
如上文所讨论的,有时,可以被期望的是,将在源储存库中使用的第一存储格式(例如,基于文件的存储格式(诸如,DgnV8格式))的数据项增量地转换为在输出储存库中使用的第二存储格式(例如,基于关系数据库的存储格式(诸如,DgnDb格式))。此类增量转换可以由转换器244使得在转换的期间构建同步信息记录278,且然后在随后的转换的期间查阅同步信息记录278以标识源储存库275的数据项(例如,模型、元素、级别等),所述数据项是新的或改变的并要求转换成输出储存库273的数据项(例如,模型、元素、分类、子分类等),或是删除的并要求从输出储存库273中去除对应的数据项。通常,同步信息记录278可以至少包括自上次成功转换起的源储存库的数据项的身份、源储存库的数据项与从转换产生的输出储存库的对应的数据项的映射、以及自上次成功转换起的源储存库的数据项的状态。
图4是状况信息400的示例集合,状况信息400通过同步信息记录被维持,该同步信息记录可以与源储存库275的基于文件的存储格式(例如,DgnV8格式)与输出储存库273的基于关系数据库的存储格式(例如,DgnDb格式)之间的转换一起使用。应当理解到,状况信息400可以取决于在其间转换的存储格式的确切性质而变化,并且,图4中所示出的特定状况信息仅仅表示可以包括在同步信息记录278中的状况信息的类型。
示例性的状况信息400包括文件信息410、在源储存库275中使用的此类源文件名称(例如,表示为名称和目录的组合)、由转换器244分配以独特地标识文件的内部文件ID、以及已转换的源储存库275中的每个文件的上次修改时间(例如,表示为由操作***报告的上次修改时间和包括在文件的自身属性中的上次修改时间)。
示例状况信息400还包括模型信息420,诸如在源储存库275的对应文件中使用的源模型ID;附件变换,指示横移以到达源储存库275中的模型的一连串一个或多个附件;以及内部模型ID,由转换器244(例如,源文件ID、源模型ID以及附件变换的组合)分配以独特地标识模型;以及对于已转换的源储存库275中的每个模型与输出储存库273的模型的l:n映射(其中,n是自然数)。源储存库275的模型可以多次由与不同的附件变换对应的模型信息420表示,每次被分配不同的内部模型ID。除了各种可能性以外,转换器244还可以将源储存库275的单个模型分成输出储存库273的多个模型,或可以使源储存库275的多个模型组合成输出储存库273的单个模型。此类事件可以通过对于相同内部模型ID维持多个段的模型信息420来指示。而且,由于维持源模型ID和与输出储存库273的模型的映射两者的指示,所以其中源储存库275和输出储存库273使用不同模型ID的情况能被调节。
对于已转换的源储存库275中的每个元素,示例状况信息400还包括元素信息430,诸如:在源储存库275中的拥有模型中使用的源元素ID;与输出储存库273的元素的l:n映射(其中,n是自然数);上次修改时间;以及元素的逻辑内容的加密散列(hash)。通过维持此类信息,其中源储存库275和输出储存库273使用不同的元素ID的情况能被调节。例如,由于维持源元素ID和与输出储存库273的元素的映射两者的指示,所以可以跟踪两者之间的对应性。另外,可以依赖于加密散列代替元素ID以标识元素。应当理解到,元素ID的包括可以是可选的。当源储存库具有自上次成功转换以后可能已改变的不稳定的元素ID时,加密散列(而不是元素ID)可以用作标识元素的主要方法。
示例状况信息400还包括级别信息440(诸如,源储存库275中的与输出储存库273的分类和子分类的映射)。各种各样的其它类型的状况信息也可以被包括在示例状况信息400中。
图5A和图5B合起来是步骤500的示例序列的流程图,步骤500用于将以源储存库275的第一存储格式(例如,基于文件的存储格式100(诸如,DgnV8格式))维持的CAD描述转换为输出储存库273的第二存储格式(例如,基于关系数据库的存储格式300(诸如,DgnDb格式))。在流程图的左侧的步骤510、520、530等描绘可以适用于各种各样的不同类型的第一和第二存储格式的一般化操作,而在流程图的右侧的子步骤512、514、516等示出可以适用于其中源储存库275是基于文件的存储格式100(例如,DgnV8格式)并且第二存储格式是基于关系数据库的存储格式300(例如,DgnDb格式)的情况的更特定的操作。
在步骤510,转换器244采集源储存库275的数据项(例如,文件、模型、元素、级别等)。在步骤510的特定实现中,在子步骤512,转换器244可以根据基于文件的存储格式100访问根文件内的根模型。然后,在子步骤512,转换器244可以追随来自根模型的模型图形对一个或多个附加模型进行定位。由独特附件所到达的每个附加模型可以看作模型的单独副本。此后,在子步骤514,转换器可以形成包括根模型和一个或多个附加模型的模型的候选集合。
在步骤520,转换器将源储存库275中的数据项的当前状况信息与由同步信息记录278维持的自上次成功转换起的状况信息比较,且由此确定自上次成功转换以后源储存库275中的一个或多个新的或改变的数据项。另外,对于存在于同步信息记录278中但在转换器244在先前的步骤510中采集数据项时未遇到的任何数据项,转换器244推断此类数据项已从源储存库275删除。在步骤520的特定实现中,在子步骤522,对于模型的候选集合中的每个候选模型,转换器244可以将模型的当前状况信息与同步信息记录278中的任何对应的状况信息比较,且响应于差异,将候选模型标识为新的或可能改变的模型。例如,对于模型的候选集合中的每个候选模型,转换器244可以在同步信息记录278的模型信息420中查找该候选模型,如果未找到,则确定候选模型是新的模型。如果找到该候选模型,则转换器244可以将模型的文件的上次修改时间与文件信息410(其与同步信息记录278的所找到的模型信息420对应)中的上次修改时间比较。如果时间相同,则转换器244可以跳过该模型。如果时间不同,则转换器244可以确定候选模型是可能改变的模型。
另外,在子步骤524,对于每个可能改变的模型,转换器244可以将可能改变的模型的每个元素的状况信息与同步信息记录278中的任何对应的状况信息比较,且响应于差异,将元素标识为新的、改变的或删除的。例如,对于可能改变的模型的每个元素,转换器244可以在同步信息记录278的元素信息430中查找该元素,且如果未找到,则确定该元素是新的元素。如果找到,则转换器244可以将该元素的上次修改时间和与所找到的元素对应的同步信息记录278的元素信息430中的上次修改时间比较。如果时间不同,则转换器244可以将该元素视为可能改变的元素,且将可能改变的元素的逻辑内容的加密散列(例如,元素数据和包含专用数据和/或业务数据的相关属性的数据的散列)和在与所找到的元素对应的同步信息记录278的元素信息430中维持的散列比较。如果散列相同,则转换器244可以跳过可能改变的元素,推断该元素实际上未被改变。如果加密散列不同,则转换器244可以推断可能改变的元素是改变的元素。
上述的最初的对时间戳的比较可以用来通过迅速地检测明显地改变的元素而提高性能,而后面的用于尚未标识为明显地改变的元素的加密散列的比较更准确地标识改变的元素,涵盖如下的情况:其中元素已改变,但其时间戳未改变(这在一些类型的内容改变中或当时间戳不准确时可能发生)。应当理解到,最初的对时间戳的比较从而是可选的,且在某些备选实现中可能未被采用。
更进一步,在子步骤526,转换器将在同步信息记录278中包括对于其的信息的元素和模型与当转换器244在先前的步骤510中从源储存库275采集数据项时遇到的元素和模型的列表比较。当未找到源储存库275中的对应的元素或模型时,元素或模型被标识为删除的。
在步骤530,转换器244将源储存库275的新的或改变的数据项转换成输出储存库273的数据项,且将与源储存库275的删除的数据项对应的来自输出储存库273的数据项去除,而跳过未改变的数据项,从而执行增量转换。在步骤530的特定实现中,在子步骤532,转换器244可以对于新的或改变的每个模型,在输出储存库273中创建或更新对应的模型,连同其它相关的数据项和属性,且对于删除的每个模型,输出储存库273去除对应的模型,连同仅与此类模型相关的其它数据项和属性。同样地,在子步骤534,转换器244可以对于新的或改变的每个元素,在输出储存库273中创建或更新对应的元素,连同其它相关的数据项和属性,且对于删除的每个元素,从输出储存库273去除对应的元素,连同仅与此类元素相关的其它数据项和属性。子步骤532和534可以涉及相关数据项的复杂转换(例如,相关级别到分类和子分类的转换),其细节未示出。
在步骤540,转换器244更新同步信息记录,以包括源储存库275中的数据项的当前状况信息。在步骤540的特定实现中,在子步骤542,转换器244更新同步信息记录278,以包括每个新的或可能改变的模型和相关的数据项的当前状况信息。例如,在改变的模型的情况下,除了同步信息记录278中的其它状况信息以外,转换器244还可以更新模型的映射和拥有文件的时间戳。在子步骤544,转换器244可以更新同步信息记录278,以包括每个新的、改变的或删除的元素和相关的数据项的当前状况信息。例如,在改变的元素的情况下,除了同步信息记录278中的其它状况信息以外,转换器244还可以更新元素的映射、上次修改时间以及加密散列。
总结评论
上文的公开详述如下的技术:用于即使在源储存库具有有限的容量时,也利用与源储存库分开的专用同步信息记录,以实现增量存储格式转换。应当理解到,可以对上文所讨论的技术作出各种改编和修改。虽然在上文中作为所公开的技术的一种可能的使用而提到DgnV8与DgnDb之间的转换,但应当记住,这些技术决不限于与该特定转换一起使用,且适用于多种多样的存储格式(除了许多其它存储格式以外,还包括DgnV7、Dwg、Dxf、Dwf以及Dwfx)之间的转换。
通常,功能性可以在软件、硬件或其各种组合中实现。软件实现可以包括存储于非暂时性电子装置可读介质(例如,非暂时性计算机可读介质)(诸如,易失性存储器、持久性存储装置或其它有形介质)中的电子装置可执行指令(例如,计算机可执行指令)。硬件实现可以包括逻辑电路、专用集成电路和/或其它类型的硬件组件。另外,组合的软件/硬件实现可以包括存储于非暂时性电子装置可读介质中的电子装置可执行指令以及一个或多个硬件组件两者。最重要的是,应当理解到,上文的描述旨在仅作为示例被接受。
所要求保护的是:

Claims (20)

1.一种用于将根据第一存储格式维持计算机辅助设计(CAD)描述的源储存库的数据项增量地转换为根据第二存储格式维持所述CAD描述的输出储存库的数据项的方法,所述方法包含:
由在电子装置上执行的转换器采集根据所述第一存储格式维持所述CAD描述的所述源储存库的数据项;
由所述转换器将所述源储存库的数据项的当前状况信息和由与所述源储存库分开的同步信息记录维持的自上次成功转换起的状况信息比较,所述状况信息至少包括:
自所述上次成功转换起的所述源储存库的所述数据项的身份,
所述源储存库的所述数据项与从所述源储存库的所述数据项的转换产生的所述输出储存库的对应的数据项的映射,以及
自所述上次成功转换起的所述源储存库的所述数据项的状态;
响应于所述比较,确定自所述上次成功转换以后所述源储存库中的一个或多个新的或改变的数据项;
由所述转换器将新的或改变的数据项转换为所述输出储存库的所述第二存储格式,而跳过所述源储存库的任何未改变的数据项;以及
更新所述同步信息记录,以包括所述源储存库中的数据项的所述当前状况信息。
2.如权利要求1所述的方法,其中,所述源储存库中的每个数据项被转换为所述输出储存库中的零或多个对应的数据项,并且,所述映射是l:n映射,其中,n是自然数。
3.如权利要求1所述的方法,其中,所述源储存库中的所述数据项的所述身份至少部分地由标识符(ID)表示,并且,所述源储存库中的所述数据项中的一个或多个数据项的所述ID与从所述源储存库中的所述数据项的转换产生的所述输出储存库中的一个或多个数据项的ID不同,并且,所述映射使在所述源储存库中使用的所述ID与在所述输出储存库中使用的所述ID相关。
4.如权利要求1所述的方法,其中,所述源储存库中的所述数据项的身份由标识符(ID)表示,所述源储存库中的所述数据项的所述ID不稳定,使得所述源储存库中的数据项的至少一个ID自所述上次成功转换以后被改变,并且,所述源储存库中的所述数据项的身份至少部分地由所述数据项的内容的加密散列表示。
5.如权利要求1所述的方法,其中,所述第一存储格式是使用一个或多个文件维持组织成模型、与定义图形视图的级别关联的元素的基于文件的存储格式,并且,所述第二存储格式是使用包括表的数据库来表示组织成模型且与定义图形视图的分类和子分类关联的元素的基于关系数据库的存储格式。
6.如权利要求5所述的方法,其中,所述基于文件的存储格式是DgnV8存储格式,并且,所述基于关系数据库的存储格式是DgnDb存储格式。
7.如权利要求5所述的方法,其中,所述采集还包含:
访问根文件内的根模型;
通过追随来自所述根模型的模型图形而对一个或多个附加模型进行定位;以及
形成包括所述根模型和所述一个或多个附加模型的模型的候选集合。
8.如权利要求7所述的方法,其中,所述比较还包含:
对于所述模型的候选集合中的每个候选模型,将所述模型的当前状况信息与所述同步信息记录中的所述模型的任何对应的状况信息比较;
响应于所述模型的所述当前状况信息与所述同步信息记录中的所述模型的任何对应的状况信息之间的差异,将所述候选模型标识为新的或可能改变的;
对于每个可能改变的模型,对于所述可能改变的模型的每个元素,将所述元素的状况信息与所述同步信息记录中的任何对应的状况信息比较;以及
响应于所述可能改变的模型的每个元素的所述状况信息与所述同步信息记录中的任何对应的状况信息之间的差异,将所述元素标识为新的或改变的。
9. 如权利要求8所述的方法,其中,所述转换还包含:
对于每个新的或改变的模型,在所述输出储存库中创建或更新对应的模型;以及
对于每个新的或改变的元素,在所述输出储存库中创建或更新对应的元素。
10. 如权利要求9所述的方法,其中,所述更新还包含:
更新所述同步信息记录,以包括每个新的或可能改变的模型和相关的数据项的当前状况信息;以及
更新所述同步信息记录,以包括每个新的或改变的元素和相关的数据项的当前状况信息。
11.一种用于维持根据第一存储格式维持计算机辅助设计(CAD)描述的源储存库的数据项到根据第二存储格式维持所述CAD描述的输出储存库的数据项的增量转换的记录的方法,所述方法包含:
由在电子装置上执行的转换器将根据所述第一存储格式维持所述CAD描述的所述源储存库的数据项的当前状况信息与由与所述源储存库分开的同步信息记录维持的自上次成功转换起的状况信息比较,所述状况信息至少包括:
自所述上次成功转换起的所述源储存库的所述数据项的身份,
所述源储存库的所述数据项与从所述源储存库的所述数据项的转换产生的所述输出储存库的对应的数据项的映射,以及
自所述上次成功转换起的所述源储存库的所述数据项的状态;
响应于所述比较,由所述转换器确定自所述上次成功转换以后所述源储存库中的一个或多个新的或改变的数据项;以及
更新所述同步信息记录,以包括所述源储存库中的数据项的所述当前状况信息。
12.如权利要求11所述的方法,其中,所述源储存库中的每个数据项被转换为所述输出储存库中的零或多个对应的数据项,并且,所述映射是l:n映射,其中,n是自然数。
13.如权利要求11所述的方法,其中,所述源储存库中的所述数据项的所述身份至少部分地由标识符(ID)表示,并且,所述源储存库中的所述数据项中的一个或多个数据项的所述ID与从所述源储存库中的所述数据项的转换产生的所述输出储存库中的一个或多个数据项的ID不同,并且,所述映射使在所述源储存库中使用的所述ID与在所述输出储存库中使用的所述ID相关。
14.如权利要求11所述的方法,其中,所述源储存库中的所述数据项的身份由标识符(ID)表示,所述源储存库中的所述数据项的所述ID不稳定,使得所述源储存库中的数据项的至少一个ID自所述上次成功转换以后被改变,并且,所述源储存库中的所述数据项的身份至少部分地由所述数据项的内容的加密散列表示。
15.一种非暂时性电子装置可读介质,包含可执行指令,以将用于维持计算机辅助设计(CAD)描述的第一存储格式的数据项增量地转换为用于维持所述CAD描述的第二存储格式的数据项,所述可执行指令在由电子装置的一个或多个处理器执行时可操作以:
采集所述第一存储格式的数据项;
将所述第一存储格式的数据项的当前状况信息与由同步信息记录维持的自上次成功转换起的状况信息比较;
确定自所述上次成功转换以后所述第一存储格式的一个或多个新的或改变的数据项;
将新的或改变的数据项转换为所述第二存储格式,而跳过所述第一存储格式的任何未改变的数据项;以及
更新所述同步信息记录,以包括所述第一存储格式中的数据项的所述当前状况信息,
其中,所述第一存储格式中的所述数据项中的一个或多个数据项的标识符(ID)与从所述源储存库的所述数据项的转换产生的所述第二存储格式的一个或多个数据项的ID不同,或所述第一存储的所述数据项中的一个或多个数据项的所述ID是不稳定的ID,使得所述第一存储格式的数据项的至少一个ID自所述上次成功转换以后被改变,并且,所述同步信息记录跟踪所述不同或不稳定的ID。
16.如权利要求15所述的非暂时性电子装置可读介质,其中,所述第一存储格式的每个数据项根据l:n映射被转换为所述第二存储格式的零或多个对应的数据项,其中,n是自然数,并且,所述同步信息记录跟踪所述映射。
17.如权利要求15所述的非暂时性电子装置可读介质,其中,用于采集数据项的可执行指令在由所述电子装置的所述一个或多个处理器执行时进一步可操作以:
访问根文件内的根模型;
通过追随来自所述根模型的模型图形对一个或多个附加模型进行定位;以及
形成包括所述根模型和所述一个或多个附加模型的模型的候选集合。
18.如权利要求17所述的非暂时性电子装置可读介质,其中,用于比较当前状况信息的可执行指令在由所述电子装置的所述一个或多个处理器执行时进一步可操作以:
对于所述候选集合中的每个候选模型,将所述模型的当前状况信息与所述同步信息记录中的所述模型的任何对应的状况信息比较;
响应于所述模型的所述当前状况信息与所述同步信息记录中的所述模型的任何对应的状况信息之间的差异,将所述候选模型标识为新的或可能改变的;
对于每个可能改变的模型,对于所述可能改变的模型的每个元素,将所述元素的状况信息与所述同步信息记录中的任何对应的状况信息比较;以及
响应于所述可能改变的模型的每个元素的所述状况信息与所述同步信息记录中的任何对应的状况信息之间的差异,将所述元素标识为新的或改变的,且将所述可能改变的模型标识为改变的。
19. 如权利要求18所述的非暂时性电子装置可读介质,其中,用于转换新的或改变的数据项的可执行指令在由所述电子装置的所述一个或多个处理器执行时进一步可操作以:
对于每个新的或改变的模型,将所述新的或改变的模型转换为所述第二存储格式;以及
对于每个新的或改变的元素,将所述新的或改变的元素和任何相关的数据转换为所述第二存储格式。
20. 如权利要求18所述的非暂时性电子装置可读介质,其中,用于转换新的或改变的数据项的可执行指令在由所述电子装置的所述一个或多个处理器执行时进一步可操作以:
更新所述同步信息记录,以包括每个新的或可能改变的模型的当前状况信息;以及
更新所述同步信息记录,以包括每个新的或改变的元素和相关的数据的当前状况信息。
CN201680083932.4A 2016-03-25 2016-11-03 用于数据项转换的方法和计算机可读介质 Active CN108885644B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/080888 2016-03-25
US15/080,888 US10503603B2 (en) 2016-03-25 2016-03-25 Incremental data conversion using a synchronization information record
PCT/US2016/060325 WO2017164938A1 (en) 2016-03-25 2016-11-03 Method and computer-readable medium for incremental data conversion using a synchronization information record

Publications (2)

Publication Number Publication Date
CN108885644A true CN108885644A (zh) 2018-11-23
CN108885644B CN108885644B (zh) 2023-06-30

Family

ID=57472000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680083932.4A Active CN108885644B (zh) 2016-03-25 2016-11-03 用于数据项转换的方法和计算机可读介质

Country Status (4)

Country Link
US (1) US10503603B2 (zh)
EP (1) EP3433771B1 (zh)
CN (1) CN108885644B (zh)
WO (1) WO2017164938A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782619A (zh) * 2020-07-28 2020-10-16 上海爱数信息技术股份有限公司 一种服务端间文档增量同步方法、同步装置及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10754495B1 (en) * 2016-04-05 2020-08-25 Bentley Systems, Incorporated 3-D screen menus
EP3695290B1 (en) 2017-10-10 2023-07-26 Bentley Systems, Incorporated Alignment of source infrastructure data with a bis conceptual schema
US10901882B1 (en) * 2020-05-22 2021-01-26 Saibalesh Mukhopadhyay Automated determination of software testing resources
US11841832B2 (en) * 2021-03-16 2023-12-12 Nuvolo Technologies Corporation Synchronizing design models

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6341291B1 (en) * 1998-09-28 2002-01-22 Bentley Systems, Inc. System for collaborative engineering using component and file-oriented tools
US20020029218A1 (en) * 1998-09-28 2002-03-07 Bentley Keith A. System, method and computer program product for collaborative engineering using component and file oriented tools
US20030172168A1 (en) * 2002-03-05 2003-09-11 Mak Mingchi S. Document conversion with merging
CN102129718A (zh) * 2011-03-16 2011-07-20 西安电子科技大学 一种无失真的异构cad模型转换方法
US8001552B1 (en) * 2007-12-12 2011-08-16 Bentley Systems, Incorporated Model merger using an export map
CN103678442A (zh) * 2012-08-30 2014-03-26 国际商业机器公司 基于用户数据访问模式的数据库表格式转换的方法和***
US20150142740A1 (en) * 2013-11-18 2015-05-21 International Business Machines Corporation Automatically managing mapping and transform rules when synchronizing systems

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6202085B1 (en) 1996-12-06 2001-03-13 Microsoft Corportion System and method for incremental change synchronization between multiple copies of data
US6671701B1 (en) 2000-06-05 2003-12-30 Bentley Systems, Incorporated System and method to maintain real-time synchronization of data in different formats
US6795868B1 (en) 2000-08-31 2004-09-21 Data Junction Corp. System and method for event-driven data transformation
US20020144239A1 (en) * 2001-03-30 2002-10-03 Ray Bentley Method and system for modifying data in foreign formats
US7069161B2 (en) * 2002-01-17 2006-06-27 Gristina Family Trust System for managing resource infrastructure and resource consumption in real time
US7107280B2 (en) 2002-05-14 2006-09-12 Haestad Methods, Inc. Method and system for the storage and use of engineering modeling alternatives with unitized data
US7639868B1 (en) * 2003-06-16 2009-12-29 Drexel University Automated learning of model classifications
US8155943B2 (en) 2007-10-12 2012-04-10 Power Analytics Corporation Systems and methods for automatically converting CAD drawing files into intelligent objects with database connectivity for the design, analysis, and simulation of electrical power systems

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6341291B1 (en) * 1998-09-28 2002-01-22 Bentley Systems, Inc. System for collaborative engineering using component and file-oriented tools
US20020029218A1 (en) * 1998-09-28 2002-03-07 Bentley Keith A. System, method and computer program product for collaborative engineering using component and file oriented tools
US20030172168A1 (en) * 2002-03-05 2003-09-11 Mak Mingchi S. Document conversion with merging
US8001552B1 (en) * 2007-12-12 2011-08-16 Bentley Systems, Incorporated Model merger using an export map
CN102129718A (zh) * 2011-03-16 2011-07-20 西安电子科技大学 一种无失真的异构cad模型转换方法
CN103678442A (zh) * 2012-08-30 2014-03-26 国际商业机器公司 基于用户数据访问模式的数据库表格式转换的方法和***
US20150142740A1 (en) * 2013-11-18 2015-05-21 International Business Machines Corporation Automatically managing mapping and transform rules when synchronizing systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782619A (zh) * 2020-07-28 2020-10-16 上海爱数信息技术股份有限公司 一种服务端间文档增量同步方法、同步装置及存储介质

Also Published As

Publication number Publication date
WO2017164938A1 (en) 2017-09-28
CN108885644B (zh) 2023-06-30
EP3433771B1 (en) 2022-07-27
US20170277592A1 (en) 2017-09-28
EP3433771A1 (en) 2019-01-30
US10503603B2 (en) 2019-12-10

Similar Documents

Publication Publication Date Title
CN108885644A (zh) 用于使用同步信息记录的增量数据转换的方法和计算机可读介质
US20210374109A1 (en) Apparatus, systems, and methods for batch and realtime data processing
EP3105688B1 (en) System for synchronization of changes in edited websites and interactive applications
Laput et al. Zensors: Adaptive, rapidly deployable, human-intelligent sensor feeds
JP6303023B2 (ja) 一時的なイベンティングに関するシステム及び方法
Chaturvedi et al. Managing versions and history within semantic 3D city models for the next generation of CityGML
EP3682389A1 (en) An intelligent model hierarchy for infrastructure modeling
CN108959353B (zh) 一种对象数据的组织方法
CN109219813A (zh) 用于cad描述的转换的方法、电子设备和计算机可读介质
US20070255685A1 (en) Method and system for modelling data
JP2016192205A (ja) マップ画像およびデータの永続的キャッシング
US20230259500A1 (en) Data storage and retrieval
Bernard et al. Modeling changes in territorial partitions over time: Ontologies tsn and tsn-change
Gantner et al. The B asic F ormal O ntology as a Reference Framework for Modeling the Evolution of Administrative Units
CN112740283A (zh) 增强现实映射***和相关方法
EP2877735A2 (en) Managing inferred data
Chaturvedi et al. Integrated management and visualization of static and dynamic properties of semantic 3D city models
US20170364496A1 (en) Visualization interface for information object system
US10282376B2 (en) Semi-structured spatial data conversion
Filipowicz et al. A generic approach to design and querying of multi-purpose human motion database
Yüksel et al. Geospatial Database Updating System with Wms and Direct Connection Method
Danielsson et al. A time-evolving data structure scalable between discrete and continuous attribute modifications
Hafidhoh et al. Unpredictable data and moving object handling prototype architecture using spatio-temporal DBMS
Wen et al. A managed object based method for representing interactive and dynamic features
Wang et al. Spatio-temporal data model: An approach based on version-difference

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant