君方智能设计平台-数据对象升级框架设计

1.设计背景

     由于文件存储基于流存储,目前处于快速开发阶段, 修改对象数据结构很频繁。对象数据结构的修改,会破坏文件的二进制内存结构,版本发布时导致一些已创建的项目文件不能正常打开。目前的解决方案是,先将文件导出为XPE文件,然后再通过XPE文件导入君方智能设计平台。这个方案有两个不足:

  • 通过XPE导入会丢失一些数据,导致模型不完整,还需要在导入模型的基础上在进行修复。
  • 如果模型较多,会耗费大量的时间。如果模型文件能够在打开时,自动进行升级,能解决上述问题。文件数据升级功能CAD软件基础功能。

     本设计只解决数据升级的问题,文件的行为升级问题提供升级过程进度反馈机制不在本设计范围内。会在后面的时间内单独设计解决。

2.设计需求

数据升级的情况很多,能够提供一种数据升级框架,能够灵活扩展支持各种升级场景。目前已知的场景有:

  • 类新增数据成员-普通数据、容器数据、指针数据
  • 类删除数据-普通数据、容器数据和指针数据
  • 类的数据成员的改名
  • 类的数据成员从基类移到子类
  • 类的数据成员从子类移到父类。

比较常用的是场景1、场景2,前期只会支持这两种情况,后期再实现后面几种。

3.设计方案

总体设计:基于OM来实现,通过类型成员的类成员的OM属性来生成新的内存节点,然后使用OM来实现新的内存节点数据的填充。具体步骤如下;

步骤1-收集属性变更记录:

(1)设计属性变更类体系来记录各种属性变更场景,基类和之类。

  (2)设计类变更来来记录类的变更记录。

(3)设计OmUpdateManager来管理各种变更情况。

步骤2-根据属性变更记录生成新的内存节点

(1)根据属性变更记录,设计OmMemoryModelUpgrader来升级对象的内存节点.

步骤3:使用老的内存节点填充新的内存节点。

  (1)  最后对升级过的内存节点来实现自定义的属性升级。

4.设计实现
4.1类属性变更类层次

4.2 普通MemoryNode内存节点更新类

5.技术风险及依赖

依赖OM框架。如果想了解OM框架相关知识,请参考君方智能设计平台-对象持久化技术方案-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/799305.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Python thinker GUI界面的股票评论数据及投资者情绪分析设计与实现

1.绪论 1.1背景介绍 Python 的 Tkinter 库提供了创建用户界面的工具,可以用来构建股票评论数据及投资者情绪分析的图形用户界面(GUI)。通过该界面,用户可以输入股票评论数据,然后通过情感分析等技术对评论进行情绪分析…

PX4 UM982 配合F9P Base 进行 RTK 定位

UM982是新兴的常见双天线GPS模块,支持双天线定向,RTK功能,PX4也引入了对其的支持,需要按需额外设置 官方手册号称直接用F9P做地面站,搭配QGC使用就能进行RTK定位 但是经过实践,发现这样是进不了RTK模式的…

解读网传《深圳IT圈⭕新解读八小时工作制》

网传深圳IT圈的新解读八小时工作制 工作时间安排: 10:00-12:0014:00-18:0019:00-21:00 初看:有惊喜 上午开始时间晚:相对于传统的9点开始,这种安排允许员工有更多的早晨时间,可以用来休息或处理个人事务。下午和晚上分…

应急响应总结

应急响应 日志 windows IIS 6.0 及更早版本: C:\WINDOWS\system32\LogFiles\W3SVC[SiteID]\ IIS 7.0 及更高版本: C:\inetpub\logs\LogFiles\W3SVC[SiteID]\ Apache HTTP Server C:\Program Files (x86)\Apache Group\Apache2\logs\ 或者 C:\Prog…

多态【C++】机制详解

文章目录 概念多态的定义和实现多态的构成虚函数虚函数的重写虚函数重写的两个例外协变(基类与派生类虚函数返回值类型不同) 注:很少遇到了解下就可以析构函数的重写(基类与派生类析构函数的名字不同) 两个新的关键字(C11)重载、覆盖(重写)、…

通过 PPPOE 将 linux 服务器作为本地局域网 IPv4 外网网关

将 linux 服务器作为本地外网网关,方便利用 Linux 生态中的各种网络工具,对流量进行自定义、精细化管理… 环境说明 拨号主机:CentOS 7.9, Linux Kernel 5.4.257 拨号软件: rp-pppoe-3.11-7.el7.x86_64初始化 1、升级系统到新的稳定内核&a…

【代码随想录】【算法训练营】【第65天】 [卡码94]城市间货物运输I

前言 思路及算法思维,指路 代码随想录。 题目来自 卡码网。 day 65,周四,继续ding~ [卡码94] 城市间货物运输I 题目描述 卡码94 城市间货物运输I 解题思路 前提: 思路: 重点: 代码实现 C语言 Be…

浅学三次握手

数据要完成传输,必须要建立连接。由于建立TCP连接的过程需要来回3次,所以,将这个过程形象的叫做三次握手。 结合上面的图来看更清楚。 先说三次握手吧,连接是后续数据传输的基础。就像我们打电话一样,必须保证我和对方…

DHCP原理及配置

目录 一、DHCP原理 DHCP介绍 DHCP工作原理 DHCP分配方式 工作原理 DHCP重新登录 DHCP优点 二、DHCP配置 一、DHCP原理 1 DHCP介绍 大家都知道,现在出门很多地方基本上都有WIFI,那么有没有想过这样一个问题,平时在家里都是“固定”的…

多媒体软件开发选择Animate软件还是Unity3D软件?

以下内容可能有一些片面,因为多媒体软件开发平台有很多,因为接触Animate和Unity3D比较多,所以这里仅对这两款进行分析! Animate软件与Unity3D软件都是经常在多媒体展馆中用来制作互动展示内容的,对于这两种开发平台&a…

SpringBoot整合RedisTemplate的使用方法

文章目录 0.启动 Redis服务器1. 添加依赖2.配置 Redis 相关信息3. 创建配置类 RedisTemplate4. 使用 RedisTemplate5. 测试 0.启动 Redis服务器 打开 cmd , 输入 redis-server ,启动 Redis 服务器。 1. 添加依赖 首先,在 pom.xml 中添加 Sp…

(word原件)软件系统详细需求设计书参考文档及软件文档大全

1引言 1.1编写目的 1.2项目背景 1.3参考材料 2系统总体设计 2.1整体架构 2.2整体功能架构 2.3整体技术架构 2.4设计目标 2.5.1总体原则 2.5.2实用性和先进性 2.5.3标准化、开放性、兼容性 2.5.4高可靠性、稳定性 2.5.5易用性 2.5.6灵活性和可扩展性 2.5.7经济性和投资保护 3系统…

秒懂设计模式--学习笔记(9)【结构型-装饰器模式】

目录 8、装饰器模式8.1 装饰器模式(Decorator)8.2 装修(举例)8.3 化妆(示例)8.4 化妆品的多样化8.5 装饰器8.6 自由嵌套8.7 装饰器模式的各角色定义8.8 装饰器模式 8、装饰器模式 8.1 装饰器模式&#xff…

GUI界面开发之tkinter(一)

Tkinter是一个内置的Python库,用于创建图形用户界面(GUI)。它提供了一组工具和小部件,用于创建窗口、对话框、按钮、菜单和其他GUI元素。 在本篇文章中,主要介绍了窗口等知识点。 大家好!我是码银&#x1…

Nginx实现服务器端集群搭建/Nginx实现动静分离/Nginx高可用解决方案/Nginx与Tomcat部署

Nginx实现服务器端集群搭建 Nginx与Tomcat部署 前面课程已经将Nginx的大部分内容进行了讲解,我们都知道了Nginx在高并发场景和处理静态资源是非常高性能的,但是在实际项目中除了静态资源还有就是后台业务代码模块,一般后台业务都会被部署在Tomcat,weblogic或者是webspher…

把当前img作为到爷爷的背景图

(忽略图大小不一致,一般UI给的图会刚好适合页面大小,我这网上找的图,难调大小,我行内的就自己随便写的宽高),另外悄悄告诉你最后有简单方法~~ 先来看看初始DOM结构代码 …

解锁 EasyV「万能子组件」,你的业务展示形式由你定义!

随着可视化业务表达方式的不断拓深,展示形式也越来越丰富多样,充满更多的“个性化”以及“专属定制”的诉求场景。而现在的子组件样式,仅支持固定格式的内容表达,难以满足易知微用户的定制化需求。 比如以下场景 想在地图上展示图…

破解快消行业营销费用管理难题,引领财务费控数字化转型

众所周知,快消品行业消费群体较为广泛,涉及渠道复杂,产品周转期短、可替代性强,特别是面对竞争激烈的市场环境,大力投入营销、渠道费用对快消行业的企业来说十分普遍,而这其中,由于渠道多、业态…

13.FreeRTOS_定时器

定时器概述 定时器运行过程 定时器就像一个闹钟,它有超时时间、函数、是否为周期性这三个部分。 超时时间:什么时候到时间,就像闹钟响起函数:闹钟响起,要干什么是否为周期性:这个闹钟只响一次&#xff0…

MySQL下载安装使用教程图文教程(超详细)

「作者简介」:冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础著作 《网络安全自学教程》,适合基础薄弱的同学系统化的学习网络安全,用最短的时间掌握最核心的技术。 这一章节我们使…