[发明专利]一种S3D模型修改情况的记录与查询方法有效
申请号: | 202011124445.2 | 申请日: | 2020-10-20 |
公开(公告)号: | CN112214492B | 公开(公告)日: | 2023-07-14 |
发明(设计)人: | 沈杰 | 申请(专利权)人: | 上海核工程研究设计院股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/21;G06F16/2455 |
代理公司: | 上海政济知识产权代理事务所(普通合伙) 31479 | 代理人: | 辇甲武 |
地址: | 200233*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 s3d 模型 修改 情况 记录 查询 方法 | ||
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数据表中,形成用户执行的操作记录并保存下来,可供随时查看该类型操作的相关记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海核工程研究设计院股份有限公司,未经上海核工程研究设计院股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011124445.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种空气炸锅
- 下一篇:一种边缘服务器镜像定制化及部署系统和方法