CN112214492B - 一种s3d模型修改情况的记录与查询方法 - Google Patents
一种s3d模型修改情况的记录与查询方法 Download PDFInfo
- Publication number
- CN112214492B CN112214492B CN202011124445.2A CN202011124445A CN112214492B CN 112214492 B CN112214492 B CN 112214492B CN 202011124445 A CN202011124445 A CN 202011124445A CN 112214492 B CN112214492 B CN 112214492B
- Authority
- CN
- China
- Prior art keywords
- data table
- record
- user
- association
- deleted
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种S3D模型修改情况的记录和查询方法,实现了S3D模型用户修改情况的全记录,补足了S3D软件自带的模型修改记录功能只能记录每个对象最后一次操作以及所有操作记录都无法找到对应操作对象的短板,为S3D模型质量管控提供了有力的数据支撑;通过设计CORETransactionRecord表单,能够简单实现包括操作人、操作对象、操作时间、操作行为等多重过滤条件下的修改记录查询,为S3D模型管控提供数据支持的同时大幅提升了模型管控的效率。
Description
技术领域
本发明属于三维模型变更情况的记录与追溯技术领域,特别是涉及S3D模型的变更情况记录和追溯技术领域。
背景技术
S3D(Smart 3D)是一款广泛运用的三维设计软件。S3D软件作为一个集成化的、多专业参与的三维工厂建模软件,能够快速帮助各专业设计人员进行三维建模以及设计检查,大大提高了工作效率和设计质量。在化工及能源行业,S3D软件得到了广泛的应用并且已经有了无数成功的案例。
S3D软件在使用过程中,只保留对每个元件的最后一次的修改记录,一旦模型出现问题,无法有效追溯到其形成的原因,对模型质量管控无法提供有效的数据支持,因此在模型的质量管控上存在风险,尤其对核电等特殊行业无法满足其质保要求,至今都没有一个行之有效的解决方案。
发明内容
本发明提供了S3D模型修改情况的记录与查询方法,通过在S3D数据库中新建对应数据表以及在原有相关数据表上增加触发器的方式,实现了用户对S3D模型的所有操作的记录保存,保证所有模型及元件的增删改都有据可查,为后续模型的质量管控工作提供数据支持。
一种S3D模型修改情况的记录和查询方法,包括以下步骤:
S1,在S3D项目对应的模型数据库中创建CORETransactionRecord数据表用于存储所有元件的修改记录,所述CORETransactionRecord数据表设计可以按照实际需求进行调整;
S2,为所述模型数据库中COREDeletedObjects数据表添加记录触发器,所述记录触发器为每当所述COREDeletedObjects表中新增记录时,将其对应的信息与提供用户信息的COREUserLogin表以及提供对象名字信息的JNamedItem表进行关联查询后存储到所述CORETransactionRecord数据表中作为删除操作的记录信息;
S3,为所述模型数据库中的CORETransactionHistory数据表添加历史行为触发器,所述CORETransactionHistory数据表可以记录下用户每一个操作对应的用户唯一标识码、操作的行为以及操作的时间,所述历史行为触发器通过比对JDObject表中对象的最终修改时间和修改用户唯一标识码和所述CORETransactionHistory数据表中的操作行为时间以及操作用户唯一标识码,来获取用户操作行为具体对应的对象信息,并且通过关联所述COREUserLogin提供删除用户的相关信息以及关联所述JNamedItem表供被删除对象名字信息形成最终的详细的模型增删改等操作信息并存储到所述CORETransactionRecord数据表中;
S4,所述CORETransactionRecord数据表中记录下用户每次操作行为,形成模型的增删改等行为的修改记录表,通过访问所述CORETransactionRecord数据表实现模型全部操作修改记录的查询。
优选的,所述S2步骤中所述COREDeletedObjects数据表添加记录触发器的步骤如下:
S2.1,为所述COREDeletedObjects数据表添加记录触发器,行为定义为afterinsert,当对象彻底删除后才会在所述COREDeletedObjects数据表中产生删除对象,因此获取该对象必须是在所述after insert阶段;
S2.2,所述记录触发器触发后,将形成临时数据表inserted,从所述临时数据表inserted中获取删除对象的唯一标识码、操作人员的唯一标识码以及删除时间,同时将操作行为定义为“Delete”;
S2.3,将所述临时数据表inserted关联所述COREUserLogin提供删除用户的相关信息,具体关联条件为所述COREDeletedObjects数据库的UIDDeletedBy字段与所述COREUserLogin提供删除用户的相关信息的oid字段一致,关联后能够获取执行操作人员的名字;
S2.4,将所述临时数据表inserted关联所述JNamedItem提供被删除对象名字信息,具体关联条件为所述COREDeletedObjects数据库的oid字段与所述JNamedItem提供被删除对象名字信息的oid字段一致,关联后能够获取操作对象的名称;
S2.5,将所述临时数据表inserted经过S2.3以及S2.4形成的关联查询表存入所述CORETransactionRecord数据表中,形成用户执行删除操作的操作记录保存下来,可供随时查看模型对象删除的相关记录。
优选的,所述S3中的所述CORETransactionHistory数据表添加历史行为触发器的步骤如下:
S3.1,为所述CORETransactionHistory数据表添加历史行为触发器,行为为afterinsert,当用户完成操作行为后,会在所述CORETransactionHistory数据表中留下操作行为的唯一标识码、操作用户的唯一标识码、操作行为名称以及操作时间,这些信息是形成模型修改记录的必要组成部分,因此获取操作行为数据必须在after insert阶段;
S3.2,所述历史行为触发器触发后,将形成临时数据表inserted;
S3.3,所述临时数据表inserted中有字段名字为CommitString,当所述CommitString为“Delete”时,代表删除对象,执行S3.4;当所述CommitString以“Undo”开头时,代表执行撤销操作,执行S3.5;当所述CommitString为其他时,作为单独一类,执行S3.6;
S3.4,用户执行删除操作时,每删除一个对象,将在所述临时数据表inserted中形成一条记录,在这个记录背后会发生两种行为,第一种是对象的删除,这部分行为的记录在S2中完成,第二种是由于其他对象删除而造成的未被删除对象的修改,这种操作行为定义为“DeleteModify”,即因为修改引起的改变,从而区别传统意义上的“Delete”,具体实现过程如下;
S3.4.1,将所述临时数据表inserted和JDObject数据表关联来获取被修改对象的唯一标识码,关联条件为所述JDObject数据表的DateLastModified和所述临时数据表inserted的DateCommitted时间相差在0.5秒以内以及所述JDObject数据表的UIDLastModifier和所述临时数据表inserted的UserUID一致;
S3.4.2,将S3.4.1形成的关联表关联所述COREUserLogin提供删除用户的相关信息,关联条件为S3.4.1的所述临时数据表inserted的UserUID字段与所述COREUserLogin提供删除用户的相关信息的oid字段一致,关联后能够获取执行操作人员的名字;
S3.4.3,将S3.4.2形成的关联表关联所述JNamedItem提供被删除对象名字信息,关联条件为S3.4.1中获取的被修改对象的唯一标示码与所述JNamedItem提供被删除对象名字信息的oid字段一致,关联后能够获取操作对象的名称;
S3.4.4,将所述临时数据表inserted通过S3.4.1-S3.4.3步骤形成的关联表存入所述CORETransactionRecord数据表中,形成用户执行删除后被动修改对象的操作记录保存下来,可供随时查看该类型操作的相关记录;
S3.5,用户执行撤销操作时,每撤销一个操作,将在所述临时数据表inserted中形成一条操作行为以“Undo”开头的记录,通过下述步骤形成所述CORETransactionRecord数据表中用户撤消操作记录;
S3.5.1,将所述临时数据表inserted和JDObject数据表关联来获取被撤消操作对象的唯一标识码,关联条件为所述JDObject数据表的DateLastModified和所述临时数据表inserted的DateCommitted时间相差在0.5秒以内;
S3.5.2,将S3.5.1形成的关联表关联所述COREUserLogin提供删除用户的相关信息,关联条件为S3.5.1的所述临时数据表inserted的UserUID字段与所述COREUserLogin提供删除用户的相关信息的oid字段一致,关联后能够获取执行操作人员的名字;
S3.5.3,将S3.5.2形成的关联表关联所述JNamedItem提供被删除对象名字信息,关联条件为S3.5.1中获取的被修改对象的唯一标示码与所述JNamedItem提供被删除对象名字信息的oid字段一致,关联后能够获取操作对象的名称;
S3.5.4,将所述临时数据表inserted通过S3.5.1-S3.5.3步骤形成的关联表存入所述CORETransactionRecord数据表中,形成用户执行撤消操作的记录并保存下来,可供随时查看该类型操作的相关记录;
S3.6,用户执行除了“Delete”与撤销操作之外的操作时,同样将在所述临时数据表inserted中形成一条对应的操作记录,通过下述步骤形成所述CORETransactionRecord数据表中其他操作记录:
S3.6.1,将所述临时数据表inserted和JDObject数据表关联来获取被操作对象的唯一标识码,关联条件为所述JDObject数据表的DateLastModified和所述临时数据表inserted的DateCommitted时间相差在0.5秒以内以及所述JDObject数据表的UIDLastModifier和所述临时数据表inserted的UserUID一致;
S3.6.2,将S3.6.1形成的关联表关联所述COREUserLogin提供删除用户的相关信息,关联条件为S3.6.1的所述临时数据表inserted的UserUID字段与所述COREUserLogin提供删除用户的相关信息的oid字段一致,关联后能够获取执行操作人员的名字;
S3.6.3,将S3.6.2形成的关联表关联所述JNamedItem提供被删除对象名字信息,关联条件为S3.6.1中获取的被修改对象的唯一标示码与所述JNamedItem提供被删除对象名字信息的oid字段一致,关联后能够获取操作对象的名称;
S3.6.4,将所述临时数据表inserted通过S3.6.1-S3.6.3步骤形成的关联表存入所述CORETransactionRecord数据表中,形成用户执行的操作记录并保存下来,可供随时查看该类型操作的相关记录。
与现有技术相比,本发明具有以下有益效果:
1.本发明提供了一种S3D模型修改情况的记录和查询方法,实现了S3D模型用户修改情况的全记录,补足了S3D软件自带的模型修改记录功能只能记录每个对象最后一次操作以及所有操作记录都无法找到对应操作对象的短板,为S3D模型质量管控提供了有力的数据支撑;通过设计CORETransactionRecord表单,能够简单实现包括操作人、操作对象、操作时间、操作行为等多重过滤条件下的修改记录查询,为S3D模型管控提供数据支持的同时大幅提升了模型管控的效率。
附图说明
图1为符合本发明优选实施例的记录S3D模型对象删除操作的实现方法流程图。
图2为符合本发明优选实施例的记录S3D模型对象因删除相关对象造成被修改的实现方法流程图。
图3为符合本发明优选实施例的记录S3D模型对象撤销操作的流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
S3D模型修改情况的记录与查询的方法包括以下步骤:
S1,在S3D项目对应的模型数据库(一个完整的S3D项目中包含站点数据库SiteDB、模型数据库ModelDB、参考数据库CatalogDB、报告数据库ReportDB)中创建CORETransactionRecord数据表用于存储所有元件的修改记录,数据表设计可以按照实际需求进行调整,应包括但不限于操作行为的唯一标识码、操作用户名、操作行为、被操作对象的唯一标示码、被操作对象的名称、行为发生的时间;
S2,为S3D项目对应的模型数据库中的COREDeletedObjects数据表添加触发器,COREDeletedObjects数据表会记录下被删除对象的唯一标识码、删除人标识码以及删除时间,触发器的功能为每当COREDeletedObjects表中新增记录时则代表有对象被删除,将其对应的信息与COREUserLogin(提供删除用户的相关信息)以及JNamedItem(提供被删除对象名字信息)进行关联查询后存储到CORETransactionRecord中作为删除操作的记录信息;
S3,为S3D项目对应的模型数据库中的CORETransactionHistory数据表添加触发器,CORETransactionHistory数据表会记录下用户的每一个操作,但是不记录被操作的对象,只记录操作的用户唯一标识码、操作的行为以及操作的时间,触发器的功能为通过比对JDObject表中对象的最终修改时间和修改用户唯一标识码和CORETransactionHistory表中的操作行为时间以及操作用户唯一标识码,来获取用户操作行为具体对应的对象信息,并且通过关联COREUserLogin以及JNamedItem信息形成最终的详细的模型增删改等操作信息存储到CORETransactionRecord中;
S4,通过S1-S3,用户每次的操作行为都会被详细记录在新建的CORETransactionRecord表中,形成模型的增删改等行为的修改记录表,当管理员需要查询用户的操作行为时,只需要访问CORETransactionRecord表就可以实现模型全部操作修改记录的查询。
优选地,所述S2的为S3D项目对应的模型数据库中的COREDeletedObjects数据表添加触发器包含以下步骤,如图1所示:
S2.1,为COREDeletedObjects添加触发器,行为定义为after insert,当对象彻底删除后才会在COREDeletedObjects中产生删除对象,因此获取该对象必须是在afterinsert阶段;
S2.2,触发器触发后,将形成临时数据表inserted,从临时表中获取删除对象的唯一标识码、操作人员的唯一标识码以及删除时间,同时将操作行为定义为“Delete”;
S2.3,将临时数据表inserted关联COREUserLogin,具体关联条件为COREDeletedObjects的UIDDeletedBy字段与COREUserLogin的oid字段一致,关联后能够获取执行操作人员的名字;
S2.4,将临时数据表inserted关联JNamedItem,具体关联条件为COREDeletedObjects的oid字段与JNamedItem的oid字段一致,关联后能够获取操作对象的名称;
S2.5,将上述步骤形成的关联表存入CORETransactionRecord中,形成用户执行删除操作的一条操作记录保存下来,后续管理人员或者其他需要人员可以随时查看模型对象删除的相关记录。
优选地,所述S3的为S3D项目对应的模型数据库中的CORETransactionHistory数据表添加触发器包含如下步骤:
S3.1,为CORETransactionHistory添加触发器,行为为after insert,当用户完成每一条操作记录后都会在CORETransactionHistory中留下对应的记录,这个记录可以提供操作行为的唯一标识码、操作用户的唯一标识码、操作行为名称以及操作时间,这些信息是形成模型修改记录的必要组成部分,因此获取该对象必须是after insert阶段;
S3.2,触发器触发后,将形成临时数据表inserted,由于inserted表中不包含操作对象的一切信息,因此不足以支持模型修改记录的形成,因此需要关联其他相关数据表;
S3.3,inserted表中有字段名字为CommitString,代表具体的操作行为,不同的操作行为需要关联不同的数据表获取不同的信息,当CommitString为“Delete”时,代表删除对象,执行S3.4,当CommitString以“Undo”开头时,代表执行撤销操作,执行S3.5,当CommitString为其他时,作为单独一类,执行S3.6;
S3.4,用户执行删除操作时,每删除一个对象,将在inserted中形成一条记录,在这个记录背后会发生两种行为,第一种是对象的删除,第二种是由于其他对象删除而造成的为被删除对象的修改,以PipeRun对象下面的Pipe Feature对象的删除为例,所有PipeFeature以及PipePart等都被删除,这部分行为的记录在S2中完成,PipeRun则会因为子对象的删除而更改属性,这部分的修改记录则需要在此形成,将这种操作行为我们将其定义为“DeleteModify”,即因为修改引起的改变,从而区别传统意义上的“Delete”,具体实现过程分为如下步骤,如图2所示:
S3.4.1,将inserted表和JDObject表关联来获取被修改对象的唯一标识码,关联条件为关联条件为JDObject的DateLastModified和临时数据表inserted的DateCommitted时间相差在0.5秒以内以及JDObject的UIDLastModifier和inserted的UserUID一致,因为inserted中只提供行为发生的时间没有行为对象的唯一标识码,并且在0.5秒的时间间隔内S3D模型中同一个用户只可能对一个对象进行操作;
S3.4.2,将S3.4.1形成的关联表关联COREUserLogin,具体关联条件为S3.4.1的关联表中的UserUID字段与COREUserLogin的oid字段一致,关联后能够获取执行操作人员的名字;
S3.4.3,将S3.4.2形成的关联表关联JNamedItem,具体关联条件为S3.4.1中获取的被修改对象的唯一标示码与JNamedItem的oid字段一致,关联后能够获取操作对象的名称;
S3.4.4,将上述步骤形成的关联表存入CORETransactionRecord中,形成用户执行删除后被动修改对象的操作记录保存下来,后续管理人员或者其他需要人员可以随时查看该类型操作的相关记录。
S3.5,用户执行撤销操作时,每撤销一个操作,将在inserted中形成一条操作行为以“Undo”开头的记录,为了形成需要的CORETransactionRecord,需要执行如下步骤,如图3所示:
S3.5.1,将inserted表和JDObject表关联来获取被撤消操作对象的唯一标识码,关联条件为关联条件为JDObject的DateLastModified和临时数据表inserted的DateCommitted时间相差在0.5秒以内,因为inserted中只提供行为发生的时间没有行为对象的唯一标识码,并且在0.5秒的时间间隔内S3D模型只会对一个操作进行撤销;
S3.5.2,将S3.5.1形成的关联表关联COREUserLogin,具体关联条件为S3.5.1的关联表中的UserUID字段与COREUserLogin的oid字段一致,关联后能够获取执行操作人员的名字;
S3.5.3,将S3.5.2形成的关联表关联JNamedItem,具体关联条件为S3.5.1中获取的被修改对象的唯一标示码与JNamedItem的oid字段一致,关联后能够获取操作对象的名称;
S3.5.4,将上述步骤形成的关联表存入CORETransactionRecord中,形成用户执行撤消操作的记录并保存下来,后续管理人员或者其他需要人员可以随时查看该类型操作的相关记录。
S3.6,用户执行除了“Delete”与撤销操作之外的操作时,同样将在inserted中形成一条对应的操作记录,为了形成需要的CORETransactionRecord需要执行如下步骤:
S3.6.1,将inserted表和JDObject表关联来获取被操作对象的唯一标识码,关联条件为关联条件为JDObject的DateLastModified和临时数据表inserted的DateCommitted时间相差在0.5秒以内以及JDObject的UIDLastModifier和inserted的UserUID一致,因为inserted中只提供行为发生的时间没有行为对象的唯一标识码,并且在0.5秒的时间间隔内S3D模型中同一个用户只可能对一个对象进行操作;
S3.6.2,将S3.6.1形成的关联表关联COREUserLogin,具体关联条件为S3.6.1的关联表中的UserUID字段与COREUserLogin的oid字段一致,关联后能够获取执行操作人员的名字;
S3.6.3,将S3.6.2形成的关联表关联JNamedItem,具体关联条件为S3.6.1中获取的被修改对象的唯一标示码与JNamedItem的oid字段一致,关联后能够获取操作对象的名称;
S3.6.4,将上述步骤形成的关联表存入CORETransactionRecord中,形成用户执行的操作记录并保存下来,后续管理人员或者其他需要人员可以随时查看该类型操作的相关记录。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (3)
1.一种S3D模型修改情况的记录和查询方法,其特征在于,方法包括以下步骤:
S1,在S3D项目对应的模型数据库中创建CORETransactionRecord数据表用于存储所有元件的修改记录,所述CORETransactionRecord数据表设计可以按照实际需求进行调整;
S2,为所述模型数据库中COREDeletedObjects数据表添加记录触发器,所述记录触发器为每当所述COREDeletedObjects表中新增记录时则代表有对象被删除,将其对应的信息与提供删除用户的相关信息的COREUserLogin以及提供被删除对象名字信息的JNamedItem进行关联查询后存储到所述CORETransactionRecord数据表中作为删除操作的记录信息;
S3,为所述模型数据库中的CORETransactionHistory数据表添加历史行为触发器,所述CORETransactionHistory数据表可以记录下用户的每一个操作对应的用户唯一标识码、操作的行为以及操作的时间,所述历史行为触发器为通过比对JDObject表中对象的最终修改时间和修改用户唯一标识码和所述CORETransactionHistory数据表中的操作行为时间以及操作用户唯一标识码,来获取用户操作行为具体对应的对象信息,并且通过关联所述提供删除用户的相关信息的COREUserLogin以及所述提供被删除对象名字信息的JNamedItem形成最终的详细的模型增删改操作信息存储到所述CORETransactionRecord数据表中;
S4,所述CORETransactionRecord数据表中记录下用户每次操作行为,形成模型的增删改行为的修改记录表,通过访问所述CORETransactionRecord数据表实现模型全部操作修改记录的查询。
2.如权利要求1所述的S3D模型修改情况的记录和查询方法,其特征在于,所述S2步骤中所述COREDeletedObjects数据表添加记录触发器的步骤如下:
S2.1,为所述COREDeletedObjects数据表添加记录触发器,行为定义为after insert,当对象彻底删除后才会在所述COREDeletedObjects数据表中产生删除对象,因此获取该对象必须是在所述after insert阶段;
S2.2,所述记录触发器触发后,将形成临时数据表inserted,从所述临时数据表inserted中获取删除对象的唯一标示码、操作人员的唯一标识码以及删除时间,同时将操作行为定义为“Delete”;
S2.3,将所述临时数据表inserted关联所述COREUserLogin提供删除用户的相关信息,具体关联条件为所述COREDeletedObjects数据库的UIDDeletedBy字段与所述COREUserLogin提供删除用户的相关信息的oid字段一致,关联后能够获取执行操作人员的名字;
S2.4,将所述临时数据表inserted关联所述JNamedItem提供被删除对象名字信息,具体关联条件为所述COREDeletedObjects数据库的oid字段与所述JNamedItem提供被删除对象名字信息的oid字段一致,关联后能够获取操作对象的名称;
S2.5,将所述临时数据表inserted存入所述CORETransactionRecord数据表中,形成用户执行删除操作的一条操作记录保存下来,可供随时查看模型对象删除的相关记录。
3.如权利要求1所述的S3D模型修改情况的记录和查询方法,其特征在于,所述S3中的所述CORETransactionHistory数据表添加历史行为触发器的步骤如下:
S3.1,为所述CORETransactionHistory数据表添加历史行为触发器,行为为afterinsert,当用户完成操作行为后,在所述CORETransactionHistory数据表中留下操作行为的唯一标识码、操作用户的唯一标识码、操作行为名称以及操作时间,这些信息是形成模型修改记录的必要组成部分,因此获取操作行为数据必须在所属after insert阶段;
S3.2,所述历史行为触发器触发后,将形成临时数据表inserted;
S3.3,所述临时数据表inserted中有字段名字为CommitString,当所述CommitString为“Delete”时,代表删除对象,执行S3.4;当所述CommitString以“Undo”开头时,代表执行撤销操作,执行S3.5;当所述CommitString为其他时,作为单独一类,执行S3.6;
S3.4,用户执行删除操作时,每删除一个对象,将在所述临时数据表inserted中形成一条记录,在这个记录背后会发生两种行为,第一种是对象的删除,这部分行为的记录在S2中完成,第二种是由于其他对象删除而造成的为被删除对象的修改,这种操作行为定义为“DeleteModify”,即因为修改引起的改变,从而区别传统意义上的“Delete”,具体实现过程如下;
S3.4.1,将所述临时数据表inserted和JDObject数据表关联来获取被修改对象的唯一标识码,关联条件为所述JDObject数据表的DateLastModified和所述临时数据表inserted的DateCommitted时间相差在0.5秒以内以及所述JDObject数据表的UIDLastModifier和所述临时数据表inserted的UserUID一致;
S3.4.2,将S3.4.1形成的关联表关联所述COREUserLogin提供删除用户的相关信息,关联条件为S3.4.1的所述临时数据表inserted的UserUID字段与所述COREUserLogin提供删除用户的相关信息的oid字段一致,关联后能够获取执行操作人员的名字;
S3.4.3,将S3.4.2形成的关联表关联所述JNamedItem提供被删除对象名字信息,关联条件为S3.4.1中获取的被修改对象的唯一标示码与所述JNamedItem提供被删除对象名字信息的oid字段一致,关联后能够获取操作对象的名称;
S3.4.4,将所述临时数据表inserted通过S3.4.1-S3.4.3步骤形成的关联表存入所述CORETransactionRecord数据表中,形成用户执行删除后被动修改对象的操作记录保存下来,可供随时查看该类型操作的相关记录;
S3.5,用户执行撤销操作时,每撤销一个操作,将在所述临时数据表inserted中形成一条操作行为以“Undo”开头的记录,通过下述步骤形成所述CORETransactionRecord数据表中用户撤消操作记录;
S3.5.1,将所述临时数据表inserted和JDObject数据表关联来获取被撤消操作对象的唯一标识码,关联条件为所述JDObject数据表的DateLastModified和所述临时数据表inserted的DateCommitted时间相差在0.5秒以内;
S3.5.2,将S3.5.1形成的关联表关联所述COREUserLogin提供删除用户的相关信息,关联条件为S3.5.1的所述临时数据表inserted的UserUID字段与所述COREUserLogin提供删除用户的相关信息的oid字段一致,关联后能够获取执行操作人员的名字;
S3.5.3,将S3.5.2形成的关联表关联所述JNamedItem提供被删除对象名字信息,关联条件为S3.5.1中获取的被修改对象的唯一标示码与所述JNamedItem提供被删除对象名字信息的oid字段一致,关联后能够获取操作对象的名称;
S3.5.4,将所述临时数据表inserted通过S3.5.1-S3.5.3步骤形成的关联表存入所述CORETransactionRecord数据表中,形成用户执行撤消操作的记录并保存下来,可供随时查看该类型操作的相关记录;
S3.6,用户执行除了“Delete”与撤销操作之外的操作时,同样将在所述临时数据表inserted中形成一条对应的操作记录,通过下述步骤形成所述CORETransactionRecord数据表中其他操作记录:
S3.6.1,将所述临时数据表inserted和JDObject数据表表关联来获取被操作对象的唯一标识码,关联条件为所述JDObject数据表的DateLastModified和所述临时数据表inserted的DateCommitted时间相差在0.5秒以内以及所述JDObject数据表的UIDLastModifier和所述临时数据表inserted的UserUID一致;
S3.6.2,将S3.6.1形成的关联表关联所述COREUserLogin提供删除用户的相关信息,关联条件为S3.6.1的所述临时数据表inserted的UserUID字段与所述COREUserLogin提供删除用户的相关信息的oid字段一致,关联后能够获取执行操作人员的名字;
S3.6.3,将S3.6.2形成的关联表关联所述JNamedItem提供被删除对象名字信息,关联条件为S3.6.1中获取的被修改对象的唯一标示码与所述JNamedItem提供被删除对象名字信息的oid字段一致,关联后能够获取操作对象的名称;
S3.6.4,将所述临时数据表inserted通过S3.6.1-S3.6.3步骤形成的关联表存入所述CORETransactionRecord数据表中,形成用户执行的操作记录并保存下来,可供随时查看该类型操作的相关记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011124445.2A CN112214492B (zh) | 2020-10-20 | 2020-10-20 | 一种s3d模型修改情况的记录与查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011124445.2A CN112214492B (zh) | 2020-10-20 | 2020-10-20 | 一种s3d模型修改情况的记录与查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112214492A CN112214492A (zh) | 2021-01-12 |
CN112214492B true CN112214492B (zh) | 2023-07-14 |
Family
ID=74055994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011124445.2A Active CN112214492B (zh) | 2020-10-20 | 2020-10-20 | 一种s3d模型修改情况的记录与查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112214492B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209652A (zh) * | 2019-12-26 | 2020-05-29 | 国电南瑞科技股份有限公司 | 一种电力系统静态设备模型时序构建方法及装置 |
CN111752925A (zh) * | 2020-06-29 | 2020-10-09 | 山东浪潮通软信息科技有限公司 | 一种可视化数据管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10216582B2 (en) * | 2016-08-15 | 2019-02-26 | International Business Machines Corporation | Recovery log analytics with a big data management platform |
-
2020
- 2020-10-20 CN CN202011124445.2A patent/CN112214492B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209652A (zh) * | 2019-12-26 | 2020-05-29 | 国电南瑞科技股份有限公司 | 一种电力系统静态设备模型时序构建方法及装置 |
CN111752925A (zh) * | 2020-06-29 | 2020-10-09 | 山东浪潮通软信息科技有限公司 | 一种可视化数据管理方法 |
Non-Patent Citations (1)
Title |
---|
SQL Server触发器在轨迹保留中的应用;周舟;黄景文;;计算机技术与发展(07);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112214492A (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105260403B (zh) | 通用跨数据库访问方法 | |
CN102737020B (zh) | 一种初始化多租户数据库的方法和装置 | |
CN101901242A (zh) | 联合的配置数据管理 | |
CN111752925B (zh) | 一种可视化数据管理方法 | |
CN106802905B (zh) | 一种同构plm系统的协同数据交换方法 | |
EP1217547A2 (en) | Object integrated management system | |
CN109947741B (zh) | 一种物项属性参数的建模和存储方法 | |
CN112256584B (zh) | 互联网造数方法及系统 | |
CN102306355A (zh) | 一种it运维配置管理系统 | |
CN105760174A (zh) | 一种基于Windows定时任务的建议数据抽取方法 | |
CN102385629B (zh) | 一种数据仓库中父子模型引申为网络模型的应用方法 | |
CN110874717B (zh) | 一种数据管理方法 | |
CN112214492B (zh) | 一种s3d模型修改情况的记录与查询方法 | |
CN109800069B (zh) | 一种实现数据治理的方法及装置 | |
US20170270163A1 (en) | Data Information Framework | |
CN104636471A (zh) | 一种程序代码的查找方法及装置 | |
CN106802903B (zh) | 一种基于pdm系统数据库的产品数据筛选方法 | |
CN115510072A (zh) | 一种基于多租户SaaS应用平台的主数据引擎 | |
CN116029648A (zh) | 基于产品bom结构的关系建模管理方法、装置及系统 | |
CN115270419A (zh) | 一种实时事件当前状态的孪生方法、订阅方法及系统 | |
CN115080543A (zh) | 一种事件计划状态数字孪生方法、装置及设备 | |
CN115017141A (zh) | 一种事件全生命周期的数字孪生方法、装置及设备 | |
CN111475466A (zh) | 核电工作票查询方法、装置、计算机设备和存储介质 | |
Breitmayer et al. | Towards retrograde process analysis in running legacy applications | |
CN115631866B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: No. 29 Hong Cao Road, Xuhui District, Shanghai Applicant after: Shanghai Nuclear Engineering Research and Design Institute Co.,Ltd. Address before: No. 29 Hong Cao Road, Xuhui District, Shanghai Applicant before: SHANGHAI NUCLEAR ENGINEERING RESEARCH & DESIGN INSTITUTE Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |