CN115793939A - 建模工具模型操作撤销、重做实现方法及系统 - Google Patents
建模工具模型操作撤销、重做实现方法及系统 Download PDFInfo
- Publication number
- CN115793939A CN115793939A CN202211633277.9A CN202211633277A CN115793939A CN 115793939 A CN115793939 A CN 115793939A CN 202211633277 A CN202211633277 A CN 202211633277A CN 115793939 A CN115793939 A CN 115793939A
- Authority
- CN
- China
- Prior art keywords
- action
- redo
- undo
- command
- objects
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种建模工具模型操作撤销、重做实现方法及系统,包括:步骤S1:动作管理模块使用支持嵌套的动作列表记录撤销与重做的单个或一组模型操作;步骤S2:命令管理模块将模型操作转换为内部数据变更,并将数据存储为命令对象;步骤S3:操作执行模块基于命令对象动态的执行或反向执行模型操作,实现模型操作的撤销或重做。本发明通过采用动作对象包含命令对象列表的特性,可以在操作执行模块中对某一动作对象进行内部命令对象列表的执行与反向执行方法调用,从而达成系统内部操作执行异常时,自动回滚某一组操作的动作对象,保证系统数据操作原子性的目的。
Description
技术领域
本发明涉及建模技术领域,具体地,涉及建模工具模型操作撤销、重做实现方法。
背景技术
目前在建模工具中的模型操作会包含多个模型同时进行操作,如批量复制、批量移动及批量删除等,在这个过程中如果出现了某一个模型操作的执行失败,可能会造成某些关联数据的错误创建、部分数据的错乱及垃圾数据的残留。
专利文献CN109446502A(申请号:201811206679.4)公开了一种协同图形编辑撤销重做的方法,所述的方法针对决实时协作图形编辑系统中的任意撤消和重做操作,本发明基于图像协同编辑构建基于对象的编辑系统实现方法,允许图形对象,如线条,矩形,圆形等,创建、更新和撤销。所述方法首先复制文档存储架构,生成本地化可执行站点,然后广播到远程站点,最后针对冲突站点进行选择,实现对文档的编辑操作。该专利的的撤销重做方法虽然可以保证一个图形操作撤销和重做功能实现,但是不能保证一组图形操作中间出现异常时的自动回滚,并且操作都是单步执行,无法支持复杂的带有嵌套关系操作的撤销和重做。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种建模工具模型操作撤销、重做实现方法及系统。
根据本发明提供的一种建模工具模型操作撤销、重做实现方法,包括:
步骤S1:动作管理模块使用支持嵌套的动作列表记录撤销与重做的单个或一组模型操作;
步骤S2:命令管理模块将模型操作转换为内部数据变更,并将数据存储为命令对象;
步骤S3:操作执行模块基于命令对象动态的执行或反向执行模型操作,实现模型操作的撤销或重做功能。
优选地,在所述动作管理模块中定义支持嵌套的内部动作对象及动作列表对象;
所述内部动作对象是将同个撤销/重做操作的多个命令对象包装在一起的内部对象,并使用唯一标识进行每个动作对象的标记;同时动作对象之间进行嵌套,内部定义子列表将子动作对象存储在某个动作对象中;
所述动作对象列表是通过栈的存储方式进行动作对象的存储的内部列表对象;其中,动作对象的存储顺序与模型操作顺序一致。
优选地,在所述命令对象中根据模型操作的不同将数据存储为不同类型的命令对象。
优选地,在所述操作执行模块中定义了对于动作对象列表的撤销、重做操作执行行为,在撤销、重做操作执行行为中进行动作对象中命令对象的反向执行与执行行为的调用,实现单次撤销、重做多个模型操作。
优选地,对外开放外部接口,使用命令对象唯一标识对某个特定动作对象进行命令对象包装的操作;
建模工具建模操作撤销/重做使用外部接口进行调用,或使用内部接口对系统内部操作命令对象进行动作对象的管理,同时支持针对某一个动作对象进行子动作对象的存储、撤销、重做操作。
根据本发明提供的一种建模工具模型操作撤销、重做实现系统,包括:
动作管理模块:使用支持嵌套的动作列表记录撤销与重做的单个或一组模型操作;
命令管理模块:将模型操作转换为内部数据变更,并将数据存储为命令对象;
操作执行模块:基于命令对象动态的执行或反向执行模型操作,实现模型操作的撤销或重做功能。
优选地,在所述动作管理模块中定义支持嵌套的内部动作对象及动作列表对象;
所述内部动作对象是将同个撤销/重做操作的多个命令对象包装在一起的内部对象,并使用唯一标识进行每个动作对象的标记;同时动作对象之间进行嵌套,内部定义子列表将子动作对象存储在某个动作对象中;
所述动作对象列表是通过栈的存储方式进行动作对象的存储的内部列表对象;其中,动作对象的存储顺序与模型操作顺序一致。
优选地,在所述命令对象中根据模型操作的不同将数据存储为不同类型的命令对象。
优选地,在所述操作执行模块中定义了对于动作对象列表的撤销、重做操作执行行为,在撤销、重做操作执行行为中进行动作对象中命令对象的反向执行与执行行为的调用,实现单次撤销、重做多个模型操作。
优选地,对外开放外部接口,使用命令对象唯一标识对某个特定动作对象进行命令对象包装的操作;
建模工具建模操作撤销/重做使用外部接口进行调用,或使用内部接口对系统内部操作命令对象进行动作对象的管理,同时支持针对某一个动作对象进行子动作对象的存储、撤销、重做操作。
与现有技术相比,本发明具有如下的有益效果:
1、本发明通过采用动作对象包含命令对象列表的特性,可以在操作执行模块中对某一动作对象进行内部命令对象列表的执行与反向执行方法调用,从而达成系统内部操作执行异常时,自动回滚某一组操作的动作对象,保证系统数据操作原子性的目的;
2、本发明通过采用动作对象之间支持嵌套的特性,在某一个子动作对象内命令对象执行异常或需要进行取消执行时,可以在操作执行模块中对上一层或最外层动作对象执行撤销操作,从而实现了针对某一组操作命令对象执行过程中,能够做到可选择、可控的撤销/重做操作,保证了数据的完整性;
3、本发明通过使用动作对象包含命令对象的技术特征,实现了单个或多个模型操作一次撤销/重做的技术效果;
4、本发明通过赋予动作对象标识的技术特征,实现了出现异常时自动回滚某一个动作对象,保证系统操作原子性的技术效果。
5、本发明通过采用动作对象之间嵌套的技术特征,实现了针对最外层或内部某个动作对象可控、可选择撤销/重做的技术效果。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为建模工具模型操作撤销、重做实现系统示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1
本发明提供了一种建模工具模型操作撤销/重做的实现方法及系统。在建模工具中,使用支持嵌套的动作列表记录撤销与重做的单个或一组模型操作,反向或再次执行模型操作数据变更行为达到手动撤销或重做以及内部系统异常自动批量回滚功能的实现。
根据本发明提供的一种建模工具模型操作撤销/重做的系统,如图1所示,包括:
本命令管理模块,模块中定义了内部命令对象。命令对象是将模型操作(如新增,移动,删除等)转换为内部数据变更,并将数据进行存储的拥有多种类型的对象,其中定义了提供给行为执行模块管理的根据不同类型的命令对象动态的执行与反向执行行为。
撤销/重做操作管理模块:包括了动作管理模块及操作执行模块。
动作管理模块中定义了支持嵌套的内部动作对象及动作列表对象。动作对象是将同个撤销/重做操作的多个命令对象包装在一起的内部对象,使用唯一标识进行每个动作对象的标记;同时动作对象之间可以进行嵌套,内部定义子列表将子动作对象存储在某个动作对象中。动作对象列表是通过栈的存储方式(即先进后出)来进行动作对象的存储的内部列表对象,其中动作对象的存储顺序与模型操作的顺序一致。
操作执行模块中定义了对于动作对象列表的撤销、重做操作执行行为,在撤销、重做操作执行行为中进行动作对象中命令对象的反向执行与执行行为的调用,可以实现单次撤销、重做多个模型操作。同时对外开放外部接口,可以使用命令对象唯一标识对某个特定动作对象进行命令对象包装的操作。
建模工具建模操作撤销/重做方法功能可以使用外部接口进行调用,或使用内部接口对系统内部操作命令对象进行动作对象的管理,同时可以支持针对某一个动作对象进行子动作对象的存储、撤销、重做等操作。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (10)
1.一种建模工具模型操作撤销、重做实现方法,其特征在于,包括:
步骤S1:动作管理模块使用支持嵌套的动作列表记录撤销与重做的单个或一组模型操作;
步骤S2:命令管理模块将模型操作转换为内部数据变更,并将数据存储为命令对象;
步骤S3:操作执行模块基于命令对象动态的执行或反向执行模型操作,实现模型操作的撤销或重做功能。
2.根据权利要求1所述的建模工具模型操作撤销、重做实现方法,其特征在于,在所述动作管理模块中定义支持嵌套的内部动作对象及动作列表对象;
所述内部动作对象是将同个撤销/重做操作的多个命令对象包装在一起的内部对象,并使用唯一标识进行每个动作对象的标记;同时动作对象之间进行嵌套,内部定义子列表将子动作对象存储在某个动作对象中;
所述动作对象列表是通过栈的存储方式进行动作对象的存储的内部列表对象;其中,动作对象的存储顺序与模型操作顺序一致。
3.根据权利要求1所述的建模工具模型操作撤销、重做实现方法,其特征在于,在所述命令对象中根据模型操作的不同将数据存储为不同类型的命令对象。
4.根据权利要求1所述的建模工具模型操作撤销、重做实现方法,其特征在于,在所述操作执行模块中定义了对于动作对象列表的撤销、重做操作执行行为,在撤销、重做操作执行行为中进行动作对象中命令对象的反向执行与执行行为的调用,实现单次撤销、重做多个模型操作。
5.根据权利要求1所述的建模工具模型操作撤销、重做实现方法,其特征在于,对外开放外部接口,使用命令对象唯一标识对某个特定动作对象进行命令对象包装的操作;
建模工具建模操作撤销/重做使用外部接口进行调用,或使用内部接口对系统内部操作命令对象进行动作对象的管理,同时支持针对某一个动作对象进行子动作对象的存储、撤销、重做操作。
6.一种建模工具模型操作撤销、重做实现系统,其特征在于,包括:
动作管理模块:使用支持嵌套的动作列表记录撤销与重做的单个或一组模型操作;
命令管理模块:将模型操作转换为内部数据变更,并将数据存储为命令对象;
操作执行模块:基于命令对象动态的执行或反向执行模型操作,实现模型操作的撤销或重做功能。
7.根据权利要求6所述的建模工具模型操作撤销、重做实现系统,其特征在于,在所述动作管理模块中定义支持嵌套的内部动作对象及动作列表对象;
所述内部动作对象是将同个撤销/重做操作的多个命令对象包装在一起的内部对象,并使用唯一标识进行每个动作对象的标记;同时动作对象之间进行嵌套,内部定义子列表将子动作对象存储在某个动作对象中;
所述动作对象列表是通过栈的存储方式进行动作对象的存储的内部列表对象;其中,动作对象的存储顺序与模型操作顺序一致。
8.根据权利要求6所述的建模工具模型操作撤销、重做实现系统,其特征在于,在所述命令对象中根据模型操作的不同将数据存储为不同类型的命令对象。
9.根据权利要求6所述的建模工具模型操作撤销、重做实现系统,其特征在于,在所述操作执行模块中定义了对于动作对象列表的撤销、重做操作执行行为,在撤销、重做操作执行行为中进行动作对象中命令对象的反向执行与执行行为的调用,实现单次撤销、重做多个模型操作。
10.根据权利要求6所述的建模工具模型操作撤销、重做实现系统,其特征在于,对外开放外部接口,使用命令对象唯一标识对某个特定动作对象进行命令对象包装的操作;
建模工具建模操作撤销/重做使用外部接口进行调用,或使用内部接口对系统内部操作命令对象进行动作对象的管理,同时支持针对某一个动作对象进行子动作对象的存储、撤销、重做操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211633277.9A CN115793939A (zh) | 2022-12-19 | 2022-12-19 | 建模工具模型操作撤销、重做实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211633277.9A CN115793939A (zh) | 2022-12-19 | 2022-12-19 | 建模工具模型操作撤销、重做实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115793939A true CN115793939A (zh) | 2023-03-14 |
Family
ID=85425791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211633277.9A Pending CN115793939A (zh) | 2022-12-19 | 2022-12-19 | 建模工具模型操作撤销、重做实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115793939A (zh) |
-
2022
- 2022-12-19 CN CN202211633277.9A patent/CN115793939A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9501275B2 (en) | Compositing deltas when merging artifacts in a version control system | |
US9304764B2 (en) | Automated merging in a software development environment | |
US20110257939A1 (en) | Method and an apparatus for automatically generating a target simulation model for a defined simulation object | |
US9081478B2 (en) | Unified process management software and method | |
CN108153806B (zh) | 数据迁移 | |
CN111638920B (zh) | 计算机程序同步任务处理方法、装置、电子设备和介质 | |
US11454955B2 (en) | Method and system for controlling a manufacturing plant with a manufacturing execution system | |
CN115793939A (zh) | 建模工具模型操作撤销、重做实现方法及系统 | |
Mordinyi et al. | Investigating model slicing capabilities on integrated plant models with AutomationML | |
Kirchhof et al. | Variant and product line co-evolution | |
CN105630526A (zh) | 脚本的加载控制方法及装置 | |
US20070113051A1 (en) | Apparatus and method for live loading of control applications in a process control environment | |
CN113791977A (zh) | 代码开发的处理方法、装置、电子设备与存储介质 | |
US20150235151A1 (en) | Workflow Tracking System | |
CN105022303A (zh) | 装换料设备的控制方法及系统 | |
US20230168656A1 (en) | Automatically assigning natural language labels to non-conforming behavior of processes | |
Hirakawa et al. | A traceability tool for model-based development dealing with uncertainties | |
US11243760B2 (en) | Automated generation and consistency checking of software objects | |
Ye et al. | Process evolution with atomicity consistency | |
CN111737213B (zh) | 一种数模资源保存方法、系统、装置及存储介质 | |
CN102566998A (zh) | 基于数据来源的流程引擎设计方法 | |
Cederfeldt | Variant Design Automation: Strategy and Procedure for Storing Design Process Information | |
JP3010976B2 (ja) | 設備動作データの管理方法 | |
CN106293897A (zh) | 组件自动化调度系统 | |
CN117952515A (zh) | 一种库存质检联动方法、设备及介质 |
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 |