CN113312212B - 保护模型构件参数的方法、装置、设备和可读存储介质 - Google Patents
保护模型构件参数的方法、装置、设备和可读存储介质 Download PDFInfo
- Publication number
- CN113312212B CN113312212B CN202110612909.2A CN202110612909A CN113312212B CN 113312212 B CN113312212 B CN 113312212B CN 202110612909 A CN202110612909 A CN 202110612909A CN 113312212 B CN113312212 B CN 113312212B
- Authority
- CN
- China
- Prior art keywords
- model
- component
- file
- parameters
- edited
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012986 modification Methods 0.000 claims description 31
- 230000004048 modification Effects 0.000 claims description 31
- 238000012217 deletion Methods 0.000 claims description 25
- 230000037430 deletion Effects 0.000 claims description 25
- 230000002159 abnormal effect Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000717 retained effect Effects 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000007792 addition Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种保护模型构件参数的方法,所述方法包括:当检测到针对模型文件的编辑指令时,确定所述编辑指令在所述模型文件中编辑的第一模型构件,并获取所述第一模型构件编辑后的构件参数;在所述模型文件中确定与所述第一模型构件相关联的第二模型构件,并根据所述第一模型构件编辑后的构件参数对所述第二模型构件进行编辑,获得所述第二模型构件编辑后的构件参数;创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中。本发明还公开了一种保护模型构件参数的装置、一种计算机设备和一种计算机可读存储介质。
Description
技术领域
本发明涉及数据存储技术领域,具体涉及一种保护模型构件参数的方法、装置、计算机设备和计算机可读存储介质。
背景技术
在计算机辅助设计的三维模型设计领域,一般建模软件的体量大且功能复杂,特别是支持用户实时编辑的建模软件比浏览类应用软件占用更多的计算机系统资源,且用户对这类建模软件本身的质量要求也更高。但是建模软件难免存在bug,特别是功能数量和复制度都很高的建模软件中bug更多,一旦在用户操作过程中发生建模软件崩溃情况,不但会丢失用户正在编辑的模型数据,甚至会破坏已有的模型数据。除此之外,由于三维建模软件占用系统资源多、操作系统本身不稳定以及设备断电等外部不可控事件常有发生,如果没有相应的保存措施,模型数据的完整性和安全性就得不到保障。
目前市面上的应用软件,都或多或少考虑了数据安全性,比如Windows上的Microsoft Office会备份用户还未保存的文件副本,如果发生软件崩溃、系统宕机或者设备断电等情况,能够提示用户可以从副本中取回数据;再比如Linux系统上的VIM编辑器,也采取类似的策略,实时存盘了正在编辑的文件副本,这个副本是隐藏不可见的,用于在下次打开编辑中断的文件时恢复数据。但是,这些数据保护方法仅仅适用于数据量较小的文本,备份这种文本时不会占用过多的CPU和磁盘资源,系统执行备份操作的时间也非常短不会影响用户体验。
对于目前的三维建模软件,特别是大型的三维建模软件,比如建筑设计软件,因为模型文件数据量大且版本多,若利用上述方式将模型文件进行备份,那么CPU和磁盘资源的消耗是巨大的,且系统执行备份操作的时间也会过长从而影响用户体验。因此建模领域的专业人员提供了一些专门针对三维建模软件的数据保护方案,即用户自己来保证正在编辑的模型数据的安全性,比如用户通过物理备份的方式搭建高可靠的RAID(RedundantArrays of Independent Disks,独立冗余磁盘阵列)来存储数据,或者使用专用的文件备份软件来存储数据,或者借助于云端文件或者源代码管理系统来维护多个版本的数据。但是,这些数据保护方法需要用户投入额外设备、软件和精力才可以完成。
针对现有技术在保护模型数据时需要占用大量CPU和存储资源以及需要额外设置备份系统的技术问题,目前尚未提供有效的解决方案。
发明内容
本发明的目的在于提供了一种保护模型构件参数的方法、装置、计算机设备和计算机可读存储介质,能够解决现有技术在保护模型数据时需要占用大量CPU和存储资源以及需要额外设置备份系统的技术问题。
本发明的一个方面提供了一种保护模型构件参数的方法,所述方法包括:当检测到针对模型文件的编辑指令时,确定所述编辑指令在所述模型文件中编辑的第一模型构件,并获取所述第一模型构件编辑后的构件参数;在所述模型文件中确定与所述第一模型构件相关联的第二模型构件,并根据所述第一模型构件编辑后的构件参数对所述第二模型构件进行编辑,获得所述第二模型构件编辑后的构件参数;创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中。
可选地,在所述创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中的步骤之后,所述方法还包括:接收针对所述模型文件的开启指令,判断是否存在与所述模型文件相关联的存储文件;若是,确定存在的存储文件的创建时间;按照存储文件创建时间的先后顺序,将存储文件中包含的第一模型构件编辑后的构件参数和第二模型构件编辑后的构件参数恢复至所述模型文件中。
可选地,所述按照存储文件创建时间的先后顺序,将存储文件中包含的第一模型构件编辑后的构件参数和第二模型构件编辑后的构件参数恢复至所述模型文件中的步骤包括:当与所述存储文件相关联的编辑指令为修改指令或删除指令时,将所述模型文件中第一模型构件的构件参数替换为所述存储文件中第一模型构件编辑后的构件参数,并将所述模型文件中第二模型构件的构件参数替换为所述存储文件中第二模型构件编辑后的构件参数;当与所述存储文件相关联的编辑指令为新增指令时,将所述存储文件中第一模型构件编辑后的构件参数添加至所述模型文件中,并将所述模型文件中第二模型构件的构件参数替换为所述存储文件中第二模型构件编辑后的构件参数。
可选地,当所述编辑指令为修改指令或删除指令时:所述当检测到针对模型文件的编辑指令时,确定所述编辑指令在所述模型文件中编辑的第一模型构件,并获取所述第一模型构件编辑后的构件参数的步骤包括:确定所述修改指令或所述删除指令在所述模型文件中所编辑的第一模型构件,获取所述第一模型构件编辑前的构件参数和编辑后的构件参数;所述在所述模型文件中确定与所述第一模型构件相关联的第二模型构件,并根据所述第一模型构件编辑后的构件参数对所述第二模型构件进行编辑,获得所述第二模型构件编辑后的构件参数的步骤包括:获取所述第二模型构件编辑前的构件参数,根据所述第一模型构件编辑后的构件参数对所述第二模型构件编辑前的构件参数件进行编辑,获得所述第二模型构件编辑后的构件参数;所述创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中的步骤包括:将所述第一模型构件编辑前的构件参数和编辑后的构件参数以及所述第二模型构件编辑前的构件参数和编辑后的构件参数存储至所述存储文件中。
可选地,当所述编辑指令为新增指令时:所述在所述模型文件中确定与所述第一模型构件相关联的第二模型构件,并根据所述第一模型构件编辑后的构件参数对所述第二模型构件进行编辑,获得所述第二模型构件编辑后的构件参数的步骤包括:获取所述第二模型构件编辑前的构件参数,根据所述第一模型构件编辑后的构件参数对所述第二模型构件编辑前的构件参数件进行编辑,获得所述第二模型构件编辑后的构件参数;所述创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中的步骤包括:将所述第一模型构件编辑后的构件参数以及所述第二模型构件编辑前的构件参数和编辑后的构件参数存储至所述存储文件中。
可选地,在所述创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中的步骤之后,所述方法还包括:接收针对所述模型文件的撤销指令,在所述模型文件中确定所述撤销指令指向的模型构件以及相关联的模型构件;确定与所述撤销指令指向的模型构件相关联的存储文件,并从确定的存储文件中筛选出创建时间最新的存储文件;将所述模型文件中所述撤销指令指向的模型构件的构件参数替换为筛选出的存储文件中相对应的模型构件编辑前的构件参数,并将所述模型文件中相关联的模型构件的构件参数替换为筛选出的存储文件中相对应的模型构件编辑前的构件参数。
可选地,在所述创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中的步骤之后,所述方法还包括:当检测到针对所述模型文件的保存指令时,删除与所述模型文件相关联的所有存储文件;当未检测到针对所述模型文件的保存指令但检测到针对所述模型文件的正常退出指令时,删除与所述模型文件相关联的所有存储文件;当未检测到针对所述模型文件的保存指令但检测到针对所述模型文件的异常退出指令时,保留与所述模型文件相关联的所有存储文件;当未检测到针对所述模型文件的保存指令且未检测到针对所述模型文件的正常退出指令和异常退出指令时,保留与所述模型文件相关联的所有存储文件。
本发明的另一个方面提供了一种保护模型构件参数的装置,所述装置包括:第一确定模块,用于当检测到针对模型文件的编辑指令时,确定所述编辑指令在所述模型文件中编辑的第一模型构件,并获取所述第一模型构件编辑后的构件参数;第二确定模块,用于在所述模型文件中确定与所述第一模型构件相关联的第二模型构件,并根据所述第一模型构件编辑后的构件参数对所述第二模型构件进行编辑,获得所述第二模型构件编辑后的构件参数;存储模块,用于创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中。
本发明的再一个方面提供了一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述的保护模型构件参数的方法。
本发明的又一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现上述任一实施例所述的保护模型构件参数的方法。
根据本发明提供的保护模型构件参数的方法,在对第一模型构件和第二模型构件进行编辑之后,为了避免软件崩溃或者计算机设备断电丢失编辑后的构件参数,需要对编辑后的构件参数进行保存,以实现数据保护目的,同时为了降低对CPU和存储资源的大量占用以及避免引入额外的备份系统导致浪费人力物力资源的缺陷,可以只存储编辑后的构件参数,即将编辑后的构件参数与原始的模型文件分离存储。另外,在对模型文件编辑的过程中,为了支持撤销操作和重做操作,本身就需要获取模型构件编辑后的构件参数,因此本发明获取模型构件编辑后的构件参数的步骤是在对模型文件编辑过程的原本流程之内,本发明只是复用了用于撤销和重做的数据,并不会额外增加CPU和存储资源的花销,而为了避免软件崩溃或者计算机设备断电丢失编辑后的构件参数,可以额外执行将模型构件编辑后的构件参数持久化至磁盘的步骤,但是由于持久化操作非常简单且这些参数的数据量相比于整个模型文件而言非常小,因此存储时仅仅占用十分少量的CPU和存储资源,对实际的CPU和存储资源产生的影响可以忽略不计。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例一提供的保护模型构件参数的方法的流程图;
图2示出了本发明实施例一提供的保护模型构件参数的方案的示意图;
图3示出了本发明实施例一提供的恢复模型构件参数的方案的示意图;
图4示出了本发明实施例二提供的保护模型构件参数的装置的框图;
图5示出了本发明实施例三提供的适于实现保护模型构件参数的方法的计算机设备的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
实施例一
经研究发现,现有的数据保护方法要么适用于通用软件的,比如Office和VIM,这些通用软件涉及的文件数据量小,对文件整体进行备份占用CPU和存储资源较小且备份时间短不会影响用户体验;要么需要用户投入额外的设备、软件和精力,数据保护方式过于冗余。而针对建模类软件,特别是大型的三维建模软件,比如建筑设计软件,备份整个模型文件的方式不再合适,比如用户一个细微的调整墙的厚度的操作,都会触发大范围的修改,整个模型文件中的所有楼栋的所有同类型的墙体的厚度都会发生变化,影响到的模型构件有:和墙连接的其它墙体、与墙发生扣减的楼板和柱子以及墙上布置的门窗等,最终修改结果可能是大多数模型构件的形体都发生了变化,这背后改动的数据量是巨大的。在用户没有保存前,如果没有任何备份处理,就发生崩溃或者断电,这一个改动墙厚度的操作的结果就损失了;但如果针对每一个这样的操作对模型文件整体进行备份,那么对CPU和存储资源的消耗又是巨大的,用户体验上也是糟糕的。考虑到建筑类软件的上述特殊情况,采用对模型文件整体备份来保护数据的方案可行度不高,但是若采用额外设置备份系统的方式保护数据,又存在操作繁琐需要额外花费人力物力资源的问题。基于以上情况,本发明提供了一种保护模型构件参数的方法,对于建模类软件特别是设计类软件中的模型文件,能够在发生软件崩溃或者设备断电时,在几乎不占用CPU和存储资源以及不需要额外的备份系统的情况下,就可以达到保护模型构件参数的目的。
具体地,图1示出了本发明实施例一提供的保护模型构件参数的方法的流程图,如图1所示,该保护模型构件参数的方法包括步骤S1~步骤S3,其中:
步骤S1,当检测到针对模型文件的编辑指令时,确定所述编辑指令在所述模型文件中编辑的第一模型构件,并获取所述第一模型构件编辑后的构件参数。
需要说明的是,模型文件一般存储在磁盘中,当需要对模型文件进行编辑时,可以将磁盘中的模型文件加载至内存中并通过模型软件对内存中加载的模型文件进行编辑,即本实施例各个步骤中所述的模型文件均指的是加载至内存中的模型文件。当对内存中加载的模型文件编辑之后,未执行保存操作,则编辑结果只体现在内存中加载的模型文件中,而磁盘中的模型文件未发生任何改变;只有当执行保存操作之后,编辑结果才会体现在磁盘中的模型文件中。
本实施例中,编辑指令包括新增指令、修改指令或者删除指令,其中,新增指令用于在模型文件中添加一个新的模型构件;修改指令用于修改模型文件中已存在的某一模型构件,例如,新增模型构件的某个或某些参数、删除模型构件的某个或某些参数或者修改模型构件的某个或某些参数;删除指令用于删除模型文件中已存在某个模型构件,例如,完全删除模型文件中某个模型构件。
当编辑指令为新增指令时,可以根据该编辑指令在模型文件新增一模型构件,然后从内存中获取新增的该模型构件的构件参数,也即第一模型构件编辑后的构件参数。
当编辑指令为修改指令或者删除指令时,可以根据该编辑指令在模型文件中修改或者删除一模型构件,然后从内存中获取修改或者删除的模型构件的构件参数,也即第一模型构件编辑后的构件参数。其中,当编辑指令为删除指令时,第一模型构件编辑后的构件参数为空。
可选地,本实施所述的构件参数包括模型构件的所有参数,比如位置参数和形体参数。
步骤S2,在所述模型文件中确定与所述第一模型构件相关联的第二模型构件,并根据所述第一模型构件编辑后的构件参数对所述第二模型构件进行编辑,获得所述第二模型构件编辑后的构件参数。
基于建筑领域中各个模型构件之间关联度较为紧密的特性,当对某一模型构件编辑之后,可能会牵引到对其他模型构件的编辑,因此,本实施例还进一步确定了与第一模型构件相关联的第二模型构件,并且利用第一模型构件编辑后的构件参数对第二模型构件进行编辑,以获得对第二模型构件的编辑结果,即获得第二模型构件编辑后的构件参数。
步骤S3,创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中。
在对第一模型构件和第二模型构件进行编辑之后,为了避免软件崩溃或者计算机设备断电丢失编辑后的构件参数,需要对编辑后的构件参数进行保存,以实现保护目的;但是为了降低对CPU和存储资源的大量占用以及避免引入额外的保护系统导致浪费人力物力资源的缺陷,可以只存储编辑后的构件参数,即将编辑后的构件参数与原始的模型文件分离存储,具体为:创建存储文件,将第一模型构件编辑后的构件参数和第二模型构件编辑后的构件参数存储至该存储文件中。
可选地,在步骤S3之后,所述方法还包括步骤A1~步骤A4,其中:
步骤A1,当检测到针对所述模型文件的保存指令时,删除与所述模型文件相关联的所有存储文件;
步骤A2,当未检测到针对所述模型文件的保存指令但检测到针对所述模型文件的正常退出指令时,删除与所述模型文件相关联的所有存储文件;
步骤A3,当未检测到针对所述模型文件的保存指令但检测到针对所述模型文件的异常退出指令时,保留与所述模型文件相关联的所有存储文件;
步骤A4,当未检测到针对所述模型文件的保存指令且未检测到针对所述模型文件的正常退出指令和异常退出指令时,保留与所述模型文件相关联的所有存储文件。
本实施例在编辑模型构件之后立即执行数据存储机制,即将编辑后的构件参数存储至新创建的存储文件中,以实现数据保护目的。在此之后,若检测到对模型文件的保存指令,表明已经将内存中编辑后的构件参数存储至磁盘上的模型文件中,此时这些存储文件便没有存在的意义,删除即可;或者,即便未检测到该保存指令但检测到针对模型文件的正常退出指令,表明用户不需要本次这些编辑结果,此种情况下,这些存储文件也没有存在的意义,删除即可。若未检测到该保存指令但检测到针对模型文件的异常退出指令,需要根据存储文件恢复异常退出的模型文件,因此需要留存这些存储文件;或者,即未检测到针对该保存指令又未检测到正常退出指令和异常退出指令,为了防止后续模型文件异常退出丢失编辑后的构件参数,需要留存这些存储文件以防不时之需。
可选地,在步骤S3之后,所述方法还包括步骤B1~步骤B3,其中:
步骤B1,接收针对所述模型文件的开启指令,判断是否存在与所述模型文件相关联的存储文件;
步骤B2,若是,确定存在的存储文件的创建时间;
步骤B3,按照存储文件创建时间的先后顺序,将存储文件中包含的第一模型构件编辑后的构件参数和第二模型构件编辑后的构件参数恢复至所述模型文件中。
当新开启模型文件时,若存在与该模型文件相关联的存储文件,表明上次退出该模型文件时未保存且异常退出了该模型文件,系统留存了与该模型文件相关联的所有存储文件,以便恢复出上次的编辑结果。为保证恢复结果的准确性,需按照创建时间从前到后的顺序进行恢复,即先根据第一个创建的存储文件恢复模型文件,然后根据第二创建的存储文件恢复模型文件,…,最后根据最后创建的存储文件恢复模型文件。
具体地,可以查找与模型文件同一个文件夹下的特定后缀名文件,来判断是否存在与模型文件相关联的存储文件。这个特定后缀名文件并不是存储文件,而是指出存储文件存放在何处,若用户选择了应用模型文件异常退出前的改动操作,则可以根据特定后缀名文件的文件内容找到存储文件,再将这些存储文件按照创建时间的先后顺序逐个应用到正在打开的模型文件中,其中,用户可以选择使用全部的存储文件,或者一个时间点之前的存储文件。
以下以其中一个存储文件为例详细阐述如何根据该存储文件恢复模型文件,具体地,步骤B3包括步骤B31和步骤B32,其中:
步骤B31,当与所述存储文件相关联的编辑指令为修改指令或删除指令时,将所述模型文件中第一模型构件的构件参数替换为所述存储文件中第一模型构件编辑后的构件参数,并将所述模型文件中第二模型构件的构件参数替换为所述存储文件中第二模型构件编辑后的构件参数;
步骤B32,当与所述存储文件相关联的编辑指令为新增指令时,将所述存储文件中第一模型构件编辑后的构件参数添加至所述模型文件中,并将所述模型文件中第二模型构件的构件参数替换为所述存储文件中第二模型构件编辑后的构件参数。
构件参数中包括构件ID,构件ID用于唯一标识一个模型构件,通过构建ID可以确定模型文件的哪个模型构件和存储文件的哪个模型构件对应。当确定的存储文件相关联的编辑指令为修改指令或者删除指令时,与该修改指令或者删除指令关联的第一模型构件原本就存在在模型文件中,因此在恢复模型文件时,可以将存储文件中第一模型构件编辑后的构件参数替换掉模型文件中第一模型构件当前的构件参数,另外,与第一模型构件关联的第二模型构件原本也存在在模型文件中,因此还可以将存储文件中第二模型构件编辑后的构件参数替换掉所述模型文件中相对应的第二模型构件当前的构件参数。当确定的存储文件相关联的编辑指令为新增指令时,与该新增指令关联的第一模型构件原本并未存在在模型文件中,需要根据新增指令在模型文件中添加该第一模型构件,因此在恢复模型文件时,可以将存储文件中第一模型构件编辑后的构件参数添加至模型文件中,而与新添加的第一模型构件关联的第二模型构件原本就存在在模型文件中,因此可以将存储文件中第二模型构件编辑后的构件参数替换掉所述模型文件中相对应的第二模型构件当前的构件参数。
比如,用户打开文件模型文件xxx.model后,在某次保存操作后,又进行了2次编辑操作:
操作1:新建柱子Column A,修改墙Wall B。
操作2:修改墙Wall C,删除楼板Floor D。
在下个操作的中途设备断电了,这时候磁盘上还有xxx.model文件,但是内容不是最新的,丢失了操作1和操作2的结果。下次用户打开xxx.model文件,可根据同一文件夹下的特定后缀名文件xxx.restore的文件内容,找到操作1和操作2的存储文件:1.backup和2.backup。用户选择进行恢复后,先将xxx.model中的数据读入内存中,然后:
将1.backup反流化,得到Column A、Wall B的最新数据,然后在内存的xxx.model中:将Column A加入,并替换Wall B的数据;
将2.backup反流化,得到Wall C的最新数据,然后在内存的xxx.model中:替换Wall C的数据,并删除Floor D。
可选地,为了支持编辑过程中的撤销操作(对应撤销指令)和重做操作(对应编辑指令),需要将模型构件编辑前的构件参数也存储下来,具体地:
一、当所述编辑指令为修改指令或删除指令时
步骤S1包括:确定所述修改指令或所述删除指令在所述模型文件中所编辑的第一模型构件,获取所述第一模型构件编辑前的构件参数和编辑后的构件参数;
步骤S2包括:获取所述第二模型构件编辑前的构件参数,根据所述第一模型构件编辑后的构件参数对所述第二模型构件编辑前的构件参数件进行编辑,获得所述第二模型构件编辑后的构件参数;
步骤S3包括:将所述第一模型构件编辑前的构件参数和编辑后的构件参数以及所述第二模型构件编辑前的构件参数和编辑后的构件参数存储至所述存储文件中。
二、当所述编辑指令为新增指令时
步骤S2包括:获取所述第二模型构件编辑前的构件参数,根据所述第一模型构件编辑后的构件参数对所述第二模型构件编辑前的构件参数件进行编辑,获得所述第二模型构件编辑后的构件参数;
步骤S3包括:将所述第一模型构件编辑后的构件参数以及所述第二模型构件编辑前的构件参数和编辑后的构件参数存储至所述存储文件中。
其中,当编辑指令为新增指令时,模型文件中尚未存在新增指令关联的第一模型构件,也必然不存在第一模型构件编辑前的构件参数,故此时无需执行获取第一模型构件编辑前的构件参数这一步骤;当编辑指令为修改指令或者删除指令时,模型文件中是存在修改指令或者删除指令关联的第一模型构件的,因此可以执行获取第一模型构件编辑前的构件参数这一步骤。而无论编辑指令为修改指令、删除指令和新增指令中哪一个,若存在与第一模型构件关联的第二模型构件,则模型文件中必然存在第二模型构件编辑前的构件参数,因此可以对于任一种编辑指令,均需执行获取第二模型构件编辑前的构件参数这一步骤,进一步,还可以根据所述第一模型构件编辑后的构件参数对第二模型构编辑前的构件参数件进行编辑,以获得第二模型构件编辑后的构件参数。相应地,当编辑指令为新增指令时,由于不存在第一模型构件编辑前的构件参数,则只需将第一模型构件编辑后的构件参数以及第二模型构件编辑前的构件参数和编辑后的构件参数存储至存储文件中即可。当编辑指令为修改指令或者删除指令时,由于存在第一模型构件编辑前的构件参数,则可以将第一模型构件编辑前的构件参数和编辑后的构件参数以及第二模型构件编辑前的构件参数和编辑后的构件参数全部存储至存储文件中。
可选地,在步骤S3之后,所述方法还包括步骤C1~步骤C3,其中:
步骤C1,接收针对所述模型文件的撤销指令,在所述模型文件中确定所述撤销指令指向的模型构件以及相关联的模型构件;
步骤C2,确定与所述撤销指令指向的模型构件相关联的存储文件,并从确定的存储文件中筛选出创建时间最新的存储文件;
步骤C3,将所述模型文件中所述撤销指令指向的模型构件的构件参数替换为筛选出的存储文件中相对应的模型构件编辑前的构件参数,并将所述模型文件中相关联的模型构件的构件参数替换为筛选出的存储文件中相对应的模型构件编辑前的构件参数。
本实施例中,撤销指令是与编辑指令不同类型的指令,在执行编辑指令之后,若用户对编辑结果不满意,可以执行撤销指令,撤回此次的编辑操作,其中,需要特别说明的是,若上次编辑指令为新增指令(也即与筛选出的存储文件相关联的编辑指令为新增指令),则存储文件中撤销指令指向的模型构件编辑前的构件参数为空,也即将所述模型文件中所述撤销指令指向的模型构件的构件参数替换为筛选出的存储文件中相对应的模型构件编辑前的构件参数的步骤为:将模型文件中所述撤销指令指向的模型构件的构件参数删除。
目前市面上的大部分建模类软件,一般是用户自己进行数据管理和保护。一种是使用专用的文件备份管理系统,管理和保护的是落盘的成果文件,比如在发生磁盘故障后,还能从备份中取回模型数据,但是这种方式管理的粒度是文件,即使模型文件只有一个字节发生变化,也需要占用和原模型文件相当的存储空间,但在模型文件没有保存到文件系统中之前,没有办法保护用户的编辑成果。另外一种是使用源代码管理系统管理模型数据,源代码管理系统对于非文本类型的数据,也不能使用增量方式来存储,同样不能在软件崩溃或者断电发生时保护用户还未保存的编辑成果。而本发明对于建模类软件特别是设计类软件中的模型文件,能够在发生软件崩溃或者设备断电时,在几乎不占用CPU和存储资源以及不需要额外的备份系统的情况下,就可以达到保护用户未保存的编辑成果的目的。具体参见图2和图3:
如图2所示,在新建或者打开模型文件之后,用户每次对模型文件的编辑操作都会产生编辑后的构件参数,可以将这些数据持久化在磁盘中,此时数据粒度不是整个模型文件,而是模型文件中的模型构件,比如墙、梁或柱等。本实施例在数据框架层提供了自动对编辑的模型构件进行复制、流化和反流化的功能,具体为,定义数据C++类,并通过预定义的宏获取类Schema(包含类的类型、成员名称、成员在内存中的布局等信息),这样对于每一个类得到一棵Schema树,非叶子节点是复合结构的成员,叶子节点是不可再分的值类型成员。流化的时候,按照类Schema遍历所有成员,将叶子节点(值类型)的成员流化到内存、再流化到磁盘中,反流化和流化过程相反,根据类的Schema,将数据读出,创建空对象,将反流化出来的值填充到对象中。将模型构件应用上述方法定义出来的数据类,同时通过预定义的宏覆盖类成员的获取和设置接口,使得运行过程中,模型构件的新增、修改和删除都能够发出事件,底层数据框架通过监听增删改事件来实现无需开发者介入编写代码的、自动无感的流化方式,没有增删改的模型构件不会发出通知,不需要备份,基于此,实现了只备份增删改的模型构件,减少备份数据量。为保证关联模型构件增删改的原子性和一致性,一般用事务对一批模型构件的增删改进行封装,即将编辑指令编辑的第一模型构件和与第一模型构件关联的第二模型构件封装在一起,启动事务后,底层数据框架监听模型构件的增删改事件(即监听编辑指令),这些事件有:模型构件新增后、模型构件删除前、模型构件修改前和修改后等。在用户执行保存动作后,可以清除上次保存动作到本次保存动作之间的备份数据,也就是存储文件。本实施例的数据保护机制相比于对整个模型文件的备份,可以降低对CPU和磁盘的消耗,并且这些备份数据为了支持用户操作的撤销和重做,本来也是需要获取并处理的,因此为了防止软件崩溃、设备断电等恢复模型文件所获取的备份数据,并不是多出来的过程。
如图3所示,将模型外的改动数据(也即编辑后的构件参数)恢复到模型文件中的过程是:在图2所示的流程中,每次事务中改动的模型数据,对应着用户可以撤销和重做的操作,根据模型文件在一个文件夹的特定后缀名件,找到存储有模型外的改动数据的存储文件。每个存储文件对应着用户的一个编辑操作,里面是对应的事务中改动过的所有模型构件编辑前和编辑后的构件参数。在打开用户之前异常退出的模型文件后,原来的所有模型数据都进到了内存中,按照编辑操作发生的先后顺序,逐个反流化存储文件,将得到的模型构件的构件参数加入、替换或者删除内存中模型文件中的旧模型构件,从而恢复出用户之前未保存的模型文件。
本实施例中,在对模型文件编辑的过程中,为了支持撤销操作和重做操作,需要获取模型构件编辑前的构件参数和编辑后的构件参数,因此本发明获取模型构件编辑前的构件参数和编辑后的构件参数的步骤是在对模型文件编辑过程的原本流程之内,本发明只是复用了用于撤销和重做的数据,并不会额外增加CPU和存储资源的花销,而为了避免软件崩溃或者计算机设备断电丢失编辑前的构件参数的编辑后的构件参数,可以将模型构件编辑前的构件参数和编辑后的构件参数持久化至磁盘,但是由于持久化操作非常简单且这些数据的数据量相比于整个模型文件而言非常小,因此存储时仅仅占用十分少量的CPU和存储资源,对实际的CPU和存储资源产生的影响可以忽略不计。
实施例二
本发明的实施例二还提供了一种保护模型构件参数的装置,该保护模型构件参数的装置与上述实施例一提供的保护模型构件参数的方法相对应,相应的技术特征和技术效果在本实施例中不再详述,相关之处可参考上述实施例一。具体地,图4示出了本发明实施例二提供的保护模型构件参数的装置的框图。如图4所示,该保护模型构件参数的装置400可以包括第一确定模块401、第二确定模块402和存储模块403,其中:
第一确定模块401,用于当检测到针对模型文件的编辑指令时,确定所述编辑指令在所述模型文件中编辑的第一模型构件,并获取所述第一模型构件编辑后的构件参数;
第二确定模块402,用于在所述模型文件中确定与所述第一模型构件相关联的第二模型构件,并根据所述第一模型构件编辑后的构件参数对所述第二模型构件进行编辑,获得所述第二模型构件编辑后的构件参数;
存储模块403,用于创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中。
可选地,所述装置还包括:判断模块,用于在所述创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中的步骤之后,接收针对所述模型文件的开启指令,判断是否存在与所述模型文件相关联的存储文件;第三确定模块,用于在存在与所述模型文件相关联的存储文件的情况下,确定存在的存储文件的创建时间;恢复模块,用于按照存储文件创建时间的先后顺序,将存储文件中包含的第一模型构件编辑后的构件参数和第二模型构件编辑后的构件参数恢复至所述模型文件中。
可选地,所述恢复模块还用于:当与所述存储文件相关联的编辑指令为修改指令或删除指令时,将所述模型文件中第一模型构件的构件参数替换为所述存储文件中第一模型构件编辑后的构件参数,并将所述模型文件中第二模型构件的构件参数替换为所述存储文件中第二模型构件编辑后的构件参数;当与所述存储文件相关联的编辑指令为新增指令时,将所述存储文件中第一模型构件编辑后的构件参数添加至所述模型文件中,并将所述模型文件中第二模型构件的构件参数替换为所述存储文件中第二模型构件编辑后的构件参数。
可选地,当所述编辑指令为修改指令或删除指令时:所述第一确定模块还用于:确定所述修改指令或所述删除指令在所述模型文件中所编辑的第一模型构件,获取所述第一模型构件编辑前的构件参数和编辑后的构件参数;所述第二确定模块还用于:获取所述第二模型构件编辑前的构件参数,根据所述第一模型构件编辑后的构件参数对所述第二模型构件编辑前的构件参数件进行编辑,获得所述第二模型构件编辑后的构件参数;所述存储模块还用于:将所述第一模型构件编辑前的构件参数和编辑后的构件参数以及所述第二模型构件编辑前的构件参数和编辑后的构件参数存储至所述存储文件中。
可选地,当所述编辑指令为新增指令时:所述第二确定模块还用于:获取所述第二模型构件编辑前的构件参数,根据所述第一模型构件编辑后的构件参数对所述第二模型构件编辑前的构件参数件进行编辑,获得所述第二模型构件编辑后的构件参数;所述存储模块还用于:将所述第一模型构件编辑后的构件参数以及所述第二模型构件编辑前的构件参数和编辑后的构件参数存储至所述存储文件中。
可选地,所述装置还包括:第四确定模块,用于在创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中的步骤之后,接收针对所述模型文件的撤销指令,在所述模型文件中确定所述撤销指令指向的模型构件以及相关联的模型构件;第五确定模块,用于确定与所述撤销指令指向的模型构件相关联的存储文件,并从确定的存储文件中筛选出创建时间最新的存储文件;撤销模块,用于将所述模型文件中所述撤销指令指向的模型构件的构件参数替换为筛选出的存储文件中相对应的模型构件编辑前的构件参数,并将所述模型文件中相关联的模型构件的构件参数替换为筛选出的存储文件中相对应的模型构件编辑前的构件参数。
可选地,所述装置还包括:处理模块,用于在创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中的步骤之后,当检测到针对所述模型文件的保存指令时,删除与所述模型文件相关联的所有存储文件;当未检测到针对所述模型文件的保存指令但检测到针对所述模型文件的正常退出指令时,删除与所述模型文件相关联的所有存储文件;当未检测到针对所述模型文件的保存指令但检测到针对所述模型文件的异常退出指令时,保留与所述模型文件相关联的所有存储文件;当未检测到针对所述模型文件的保存指令且未检测到针对所述模型文件的正常退出指令和异常退出指令时,保留与所述模型文件相关联的所有存储文件。
实施例三
图5示出了本发明实施例三提供的适于实现保护模型构件参数的方法的计算机设备的框图。本实施例中,计算机设备500可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图5所示,本实施例的计算机设备500至少包括但不限于:可通过系统总线相互通信连接的存储器501、处理器502、网络接口503。需要指出的是,图5仅示出了具有组件501-503的计算机设备500,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器503至少包括一种类型的计算机可读存储介质,可读存储介质包括包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器501可以是计算机设备500的内部存储单元,例如该计算机设备500的硬盘或内存。在另一些实施例中,存储器501也可以是计算机设备500的外部存储设备,例如该计算机设备500上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器501还可以既包括计算机设备500的内部存储单元也包括其外部存储设备。在本实施例中,存储器501通常用于存储安装于计算机设备500的操作系统和各类应用软件,例如保护模型构件参数的方法的程序代码等。
处理器502在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器502通常用于控制计算机设备500的总体操作。例如执行与计算机设备500进行数据交互或者通信相关的控制和处理等。本实施例中,处理器502用于运行存储器501中存储的保护模型构件参数的方法的步骤的程序代码。
在本实施例中,存储于存储器501中的保护模型构件参数的方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器502)所执行,以完成本发明。
网络接口503可包括无线网络接口或有线网络接口,该网络接口503通常用于在计算机设备500与其他计算机设备之间建立通信链接。例如,网络接口503用于通过网络将计算机设备500与外部终端相连,在计算机设备500与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
实施例四
本实施例还提供一种计算机可读存储介质,包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等,其上存储有计算机程序,所述计算机程序被处理器执行时实现保护模型构件参数的方法的步骤。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
需要说明的是,本发明实施例序号仅仅为了描述,并不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种保护模型构件参数的方法,其特征在于,所述方法包括:
当检测到针对模型文件的编辑指令时,确定所述编辑指令在所述模型文件中编辑的第一模型构件,并获取所述第一模型构件编辑后的构件参数;所述编辑指令包括新增指令、修改指令或者删除指令;
在所述模型文件中确定与所述第一模型构件相关联的第二模型构件,并根据所述第一模型构件编辑后的构件参数对所述第二模型构件进行编辑,获得所述第二模型构件编辑后的构件参数;
创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中;
接收针对所述模型文件的开启指令,判断是否存在与所述模型文件相关联的存储文件;
若是,确定存在的存储文件的创建时间;
按照存储文件创建时间的先后顺序,将存储文件中包含的第一模型构件编辑后的构件参数和第二模型构件编辑后的构件参数恢复至所述模型文件中。
2.根据权利要求1所述的方法,其特征在于,所述按照存储文件创建时间的先后顺序,将存储文件中包含的第一模型构件编辑后的构件参数和第二模型构件编辑后的构件参数恢复至所述模型文件中的步骤包括:
当与所述存储文件相关联的编辑指令为修改指令或删除指令时,将所述模型文件中第一模型构件的构件参数替换为所述存储文件中第一模型构件编辑后的构件参数,并将所述模型文件中第二模型构件的构件参数替换为所述存储文件中第二模型构件编辑后的构件参数;
当与所述存储文件相关联的编辑指令为新增指令时,将所述存储文件中第一模型构件编辑后的构件参数添加至所述模型文件中,并将所述模型文件中第二模型构件的构件参数替换为所述存储文件中第二模型构件编辑后的构件参数。
3.根据权利要求1所述的方法,其特征在于,当所述编辑指令为修改指令或删除指令时:
所述当检测到针对模型文件的编辑指令时,确定所述编辑指令在所述模型文件中编辑的第一模型构件,并获取所述第一模型构件编辑后的构件参数的步骤包括:确定所述修改指令或所述删除指令在所述模型文件中所编辑的第一模型构件,获取所述第一模型构件编辑前的构件参数和编辑后的构件参数;
所述在所述模型文件中确定与所述第一模型构件相关联的第二模型构件,并根据所述第一模型构件编辑后的构件参数对所述第二模型构件进行编辑,获得所述第二模型构件编辑后的构件参数的步骤包括:获取所述第二模型构件编辑前的构件参数,根据所述第一模型构件编辑后的构件参数对所述第二模型构件编辑前的构件参数件进行编辑,获得所述第二模型构件编辑后的构件参数;
所述创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中的步骤包括:将所述第一模型构件编辑前的构件参数和编辑后的构件参数以及所述第二模型构件编辑前的构件参数和编辑后的构件参数存储至所述存储文件中。
4.根据权利要求1所述的方法,其特征在于,当所述编辑指令为新增指令时:
所述在所述模型文件中确定与所述第一模型构件相关联的第二模型构件,并根据所述第一模型构件编辑后的构件参数对所述第二模型构件进行编辑,获得所述第二模型构件编辑后的构件参数的步骤包括:获取所述第二模型构件编辑前的构件参数,根据所述第一模型构件编辑后的构件参数对所述第二模型构件编辑前的构件参数件进行编辑,获得所述第二模型构件编辑后的构件参数;
所述创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中的步骤包括:将所述第一模型构件编辑后的构件参数以及所述第二模型构件编辑前的构件参数和编辑后的构件参数存储至所述存储文件中。
5.根据权利要求3或4所述的方法,其特征在于,在所述创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中的步骤之后,所述方法还包括:
接收针对所述模型文件的撤销指令,在所述模型文件中确定所述撤销指令指向的模型构件以及相关联的模型构件;
确定与所述撤销指令指向的模型构件相关联的存储文件,并从确定的存储文件中筛选出创建时间最新的存储文件;
将所述模型文件中所述撤销指令指向的模型构件的构件参数替换为筛选出的存储文件中相对应的模型构件编辑前的构件参数,并将所述模型文件中相关联的模型构件的构件参数替换为筛选出的存储文件中相对应的模型构件编辑前的构件参数。
6.根据权利要求1所述的方法,其特征在于,在所述创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中的步骤之后,所述方法还包括:
当检测到针对所述模型文件的保存指令时,删除与所述模型文件相关联的所有存储文件;
当未检测到针对所述模型文件的保存指令但检测到针对所述模型文件的正常退出指令时,删除与所述模型文件相关联的所有存储文件;
当未检测到针对所述模型文件的保存指令但检测到针对所述模型文件的异常退出指令时,保留与所述模型文件相关联的所有存储文件;
当未检测到针对所述模型文件的保存指令且未检测到针对所述模型文件的正常退出指令和异常退出指令时,保留与所述模型文件相关联的所有存储文件。
7.一种用于实现权利要求1至6任一项所述方法的保护模型构件参数的装置,其特征在于,所述装置包括:
第一确定模块,用于当检测到针对模型文件的编辑指令时,确定所述编辑指令在所述模型文件中编辑的第一模型构件,并获取所述第一模型构件编辑后的构件参数;
第二确定模块,用于在所述模型文件中确定与所述第一模型构件相关联的第二模型构件,并根据所述第一模型构件编辑后的构件参数对所述第二模型构件进行编辑,获得所述第二模型构件编辑后的构件参数;
存储模块,用于创建一存储文件,并将所述第一模型构件编辑后的构件参数和所述第二模型构件编辑后的构件参数存储至所述存储文件中。
8.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110612909.2A CN113312212B (zh) | 2021-06-02 | 2021-06-02 | 保护模型构件参数的方法、装置、设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110612909.2A CN113312212B (zh) | 2021-06-02 | 2021-06-02 | 保护模型构件参数的方法、装置、设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312212A CN113312212A (zh) | 2021-08-27 |
CN113312212B true CN113312212B (zh) | 2024-05-07 |
Family
ID=77377164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110612909.2A Active CN113312212B (zh) | 2021-06-02 | 2021-06-02 | 保护模型构件参数的方法、装置、设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312212B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017113317A1 (zh) * | 2015-12-31 | 2017-07-06 | 深圳配天智能技术研究院有限公司 | 一种文件编辑方法和文件编辑器 |
US10430715B1 (en) * | 2014-12-17 | 2019-10-01 | United Technologies Corporation | Predictive modeling system for a multi-user CAX environment |
CN112181394A (zh) * | 2020-10-15 | 2021-01-05 | 洛阳众智软件科技股份有限公司 | 三维建筑模型构件创造方法、装置及设备 |
CN112363714A (zh) * | 2020-11-03 | 2021-02-12 | 中国建设银行股份有限公司 | 一种服务组合模型的开发方法、装置、存储介质及设备 |
CN112767040A (zh) * | 2021-01-26 | 2021-05-07 | 广联达科技股份有限公司 | 工程计价文件的生成方法、装置、计算机设备和存储介质 |
CN112784342A (zh) * | 2021-01-29 | 2021-05-11 | 广联达科技股份有限公司 | 建筑构件三维模型的在线编辑方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8694286B2 (en) * | 2010-10-01 | 2014-04-08 | Autodesk, Inc. | Modifying a parametrically defined model with an explicit modeler |
KR20150081992A (ko) * | 2014-01-07 | 2015-07-15 | 한국전자통신연구원 | 건축물 구성요소 템플릿 생성 방법, 프리미티브 생성 방법, 및 건축물 구성요소 모델링 장치 |
US20160162364A1 (en) * | 2014-12-03 | 2016-06-09 | Commvault Systems, Inc. | Secondary storage pruning |
-
2021
- 2021-06-02 CN CN202110612909.2A patent/CN113312212B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10430715B1 (en) * | 2014-12-17 | 2019-10-01 | United Technologies Corporation | Predictive modeling system for a multi-user CAX environment |
WO2017113317A1 (zh) * | 2015-12-31 | 2017-07-06 | 深圳配天智能技术研究院有限公司 | 一种文件编辑方法和文件编辑器 |
CN112181394A (zh) * | 2020-10-15 | 2021-01-05 | 洛阳众智软件科技股份有限公司 | 三维建筑模型构件创造方法、装置及设备 |
CN112363714A (zh) * | 2020-11-03 | 2021-02-12 | 中国建设银行股份有限公司 | 一种服务组合模型的开发方法、装置、存储介质及设备 |
CN112767040A (zh) * | 2021-01-26 | 2021-05-07 | 广联达科技股份有限公司 | 工程计价文件的生成方法、装置、计算机设备和存储介质 |
CN112784342A (zh) * | 2021-01-29 | 2021-05-11 | 广联达科技股份有限公司 | 建筑构件三维模型的在线编辑方法及装置 |
Non-Patent Citations (2)
Title |
---|
HLA对象模型开发工具的设计;韩文彬;王国玉;汪连栋;祝晓鹰;聂孝亮;;兵工自动化(04);全文 * |
通用嵌入式参数设置系统设计与实现;何见坤;;电脑编程技巧与维护(09);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113312212A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6463393B2 (ja) | テナント移行にわたるテナント・データのリカバリ | |
US8121981B2 (en) | Database snapshot management | |
US8370311B2 (en) | Using versioning to back up multiple versions of a stored object | |
US7685189B2 (en) | Optimizing backup and recovery utilizing change tracking | |
US20150213100A1 (en) | Data synchronization method and system | |
US20070239725A1 (en) | Active cache offline access and management of project files | |
US7801867B2 (en) | Optimizing backup and recovery utilizing change tracking | |
KR20140057577A (ko) | 효율적인 애플리케이션-인식 재난 복구 | |
CN103473065A (zh) | 一种可快速还原系统盘的虚拟机创建方法 | |
US9201739B1 (en) | Method and system for a database management system add-in for third party backup and restore applications | |
CN112579550B (zh) | 一种分布式文件系统的元数据信息同步方法及系统 | |
CN114490677A (zh) | 数据分析系统中的数据同步 | |
CN107765990A (zh) | 一种系统磁盘管理方法和装置 | |
CN114281798A (zh) | 异构数据库的数据迁移方法、设备及计算机可读介质 | |
US8595271B1 (en) | Systems and methods for performing file system checks | |
CN112269679B (zh) | 一种云平台的数据库持久化方法、系统、设备及存储介质 | |
CN109710454A (zh) | 一种云主机快照方法及装置 | |
CN113312212B (zh) | 保护模型构件参数的方法、装置、设备和可读存储介质 | |
CN117573427A (zh) | 文件实时备份、恢复方法及系统、电子设备、存储介质 | |
US20190050455A1 (en) | Adaptive page rendering for a data management system | |
CN111475334A (zh) | TiDB数据库的维护方法、装置、计算机设备及存储介质 | |
US11403192B1 (en) | Enabling point-in-time recovery for databases that change transaction log recovery models | |
CN115495286A (zh) | 配置文件定时备份的测试方法、系统、设备和存储介质 | |
CN114816470A (zh) | 元数据库的管理方法、装置、电子设备和介质 | |
US10379777B2 (en) | Method for performing replication control in storage system with aid of relationship tree within database, and associated apparatus |
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 |