当前位置: 首页 > 专利查询>武汉大学专利>正文

拱坝浇筑施工仿真对象的持久化方法技术

技术编号:20160738 阅读:15 留言:0更新日期:2019-01-19 00:13
本发明专利技术提供一种拱坝浇筑施工仿真对象的持久化方法,可将仿真过程中涉及的大量对象信息保存到数据库中;并可从数据库中取回重建仿真对象。步骤包括:步骤1.构建持久化环境。步骤2.仿真对象的导出:选定一个仿真对象实例;根据实例属性数据类型,将所有属性数据转换为字符串;生成将对象写入数据库的SQL语句并提交数据库,从而完成该对象实例持久化;如法持久化所有实例。步骤3.仿真对象的恢复:首先取得对象的关联表;选定一条记录待恢复;建立一个新仿真对象实例并选定一个属性,取得该属性名和数据类型;从选定的记录取得对应的数值;利用属性的数值、类型、偏移量恢复属性数据,进而恢复实例的所有属性;如法恢复仿真对象所有实例。

【技术实现步骤摘要】
拱坝浇筑施工仿真对象的持久化方法
本专利技术属于水利水电工程施工、过程仿真和计算机应用领域,具体涉及一种拱坝浇筑施工仿真对象的持久化方法。技术背景拱坝浇筑仿真过程中涉及大量的系统状态信息,根据方案分析、参数调试方面的需求,需要将仿真过程中系统内的类对象实例在内存中的数据保存下来,并在需要的时候利用数据重建仿真对象。该过程称为仿真对象的持久化,这种持久化的需求主要源于以下三个方面:(1)仿真动态性的要求。拱坝浇筑施工系统是一个动态系统,其系统参数随时间变化而变化。如:开始施工的时候,只有轻型起重设备或少量重型起重设备。随着施工过程深入,起重设备的数量和能力逐渐增加。这些变化一般与施工进度或者系统中的某些节点关联。因此,需要仿真系统能够处理动态变化的参数环境。而动态的模型参数,则需要仿真系统提供某种接口方法动态处理仿真系统属性,其中解决方案之一即是利用持久化技术。(2)中继仿真的要求。对于水利水电工程仿真系统,由于工程施工很难完全按照施工计划进行,“计划赶不上变化”是施工过程管理的常见问题,中继仿真的需求应运而生。所谓“中继仿真”就是系统在仿真过程中,用户可以随时要求中断或者暂停,修改或者设定系统运行条件或者类属性后继续运行。该功能需要仿真系统具有一种可以提交内存中的仿真类对象实例到持久存储介质的方法,以便随后加载。同时,这种持久介质提供了一种可以由用户访问、修改、增删仿真类对象的方法,以便用户可以通过修改持久介质达到修改仿真系统中的对象之目的。(3)分布式仿真要求。大型仿真系统的计算量十分巨大,分布式并行计算是缩短计算时间的一种有效方式。但是,计算任务的分配和计算参数的传递难以用简单的系统消息传递解决。而在进行并行仿真的场合,使用共享内存的方式传递数据比较复杂也不安全。因此,必须提供仿真系统计算参数的传输方式,即仿真系统类对象的持久化或流化手段,形成仿真系统状态的数据包,将计算参数从分发到计算节点。仿真类持久化是离线共享数据的重要手段。我国于二十世纪八十年代初开始在水电工程混凝土施工中应用计算机仿真技术。以武汉大学、天津大学和四川大学为代表的科研机构和华东勘测设计研究院、成都勘测设计研究院和昆明勘测设计研究院等主要设计单位进行合作,在各大型拱坝建设中,应用计算机仿真技术对拱坝施工全过程进行动态模拟,并推动了新技术如随机循环网络、模糊网络、Petri网络、VR技术等在仿真中的应用,取得了丰硕的成果。目前为止,计算机仿真已经应用于水利水电工程中的多个方面。武汉大学对小湾拱坝的混凝土浇筑和坝肩、坝基开挖进行了仿真,得到了各浇筑块的浇筑顺序,得出了不同方案下的浇筑强度、缆机利用率等系统方案决策指标。天津大学提出了高拱坝施工全过程动态仿真建模理论与方法、高拱坝施工过程与温度应力耦合仿真分析理论以及高拱坝施工智能仿真与多方案优化技术等理论方法与技术,推动了施工仿真技术的快速发展,随后将随机排队理论引入混凝土坝浇筑顺序优化中,建立了考虑缆机之间运行空间冲突问题和考虑缆机生产率利用问题的混凝土高拱坝浇筑仿真可视化系统。成都勘测设计院通过对溪洛渡水电站大坝进行混凝土施工与计算机仿真研究,针对不同缆机布置、坝体混凝土浇筑方案,提出了大坝混凝土浇筑的计算机仿真方法,随后利用施工仿真技术结合数字大坝综合信息平台提供的现场数据对施工进度进行跟踪分析,快速的为施工方案优选和进度控制提供决策。综上,目前构建的施工仿真系统较少考虑系统动态性、中继仿真、分布式仿真的需求,需要利用持久化技术构建仿真系统满足上述需求。
技术实现思路
本专利技术是为了解决上述问题而进行的,目的在于提供一种拱坝浇筑施工仿真对象的持久化方法(如图1所示),实现仿真对象的存取。本
技术实现思路
包括了三个主要部分:1、ORM持久化环境构建,即建立数据结构一致的数据库表和仿真对象环境;2、仿真对象实例数据导出,即将内存中的仿真对象保存到数据库表中;3、仿真对象实例从数据库恢复,将数据库表中的仿真对象信息重建内存中的仿真对象。下面详细说明本方案的内容:ORM持久化环境构建(步骤1)本专利技术的ORM持久化环境构建,需要建立两部分的软件及其映射关系,这两个软件是:拱坝浇筑施工仿真软件和数据库管理系统。其中数据库管理系统没有特别的要求,只要支持SQL标准的数据库管理系统均可,本专利技术仅涉及参数表结构的内容。持久化环境旨在建立拱坝浇筑施工仿真对象与数据库表记录的映射关系,如图2所示。拱坝浇筑施工仿真对象运用面向对象分析方法分析施工系统,编制施工仿真软件。建立可持久化基类CInstClass,由基类衍生出各仿真对象。仿真对象CBlocks的结构如下表1所示,包括一系列的属性和方法,持久化只需要处理属性。下面以CBlocks为例说明可持久化类对象的
技术实现思路
。表1仿真对象CBlocks结构表可见,可持久化类使用属性TableName保存与之对应的数据库表名,利用Items属性指向一个指针数组,保存与该类相关的仿真对象实例数据,Items中的数据即为需要持久化处理的数据。为了实现对象实例属性的快速存取,专门建立了一个属性映射数组FldTlts,其结构如下表2所示。表2属性映射数组FldTlts的结构表表2中DtTp的可选参数如下表3所示。表2中Offset存储位置的偏移量,需要根据属性的数据在内存中存储的相对位置决定。在高级语言中可以使用系统内建的数据类型存储宽度函数取得属性占位宽度,再累加得到。表3可处理的属性数据类型表数据库表记录为了将内存中的仿真对象保存到数据库表中,实现仿真对象的持久化。需要建立与类对象属性对应的数据库表结构。每个对象属性对应一个字段,对象属性的数据类型与字段数据类型相对应。数据库表结构的说明如下表4所示。表4可持久化对象对应的数据库表结构说明表实例和记录的映射关系为了保持类对象在内存中的存储与类对象在数据库表中的存储的一致性(数据类型的不当转换会带来信息丢失)。需要将内存存储的属性变量与数据库表的字段变量建立映射关系,并保持二者数据结构的一致性。仿真对象属性与数据库表结构之间的映射关系保存在可持久化类的属性映射数组FldTlts中,映射关系结构如表5所示。表5仿真对象属性与数据库表结构之间的映射关系表仿真对象的导出(步骤2)设某仿真对象O有n个实例记为O1,…,On,每个实例Oi(i=1,…,n)包括m个属性记为Oi1,…,Oim,每个属性Oij(j=1,…,m)都有其属性项目描述信息Pj(保存在前述属性数组FldTlts中),与数据库表T的结构Tj相对应。为了将内存中的仿真对象的实例Oi全部导出,需要的步骤如图3所示。步骤2-1.选定一个对象实例。在上述n个实例中,选定实例Oi(i=1,…,n)。步骤2-2.选定该对象实例的一个属性。针对选定的实例Oi,选定一个属性Oij(j=1,…,m)。步骤2-3.根据属性的数据类型转换数据格式。基于前述持久化信息环境,根据Oij取得其对应的属性数据类型信息Pj。取得Pj中包含的“DtTp”表示该属性的数据类型。可利用取得的数据类型,将Oij转换为正确的字符串类型和格式待用。步骤2-4.将所有属性数据转换为字符串。针对实例Oi的所有属性Oij,运用步骤2-2~步骤2-3,即可将实例Oi的所有属性均转换为字符串类型。步骤2-5本文档来自技高网
...

【技术保护点】
1.一种拱坝浇筑施工仿真对象的持久化方法,其特征在于,包括以下步骤:步骤1.持久化环境构建:建立拱坝浇筑施工仿真软件和数据库管理系统的映射关系,包括:仿真对象和数据库表的映射关系,仿真对象实例和数据库表记录的映射关系,和仿真对象属性和数据库表字段的对应关系;步骤2.仿真对象的导出:步骤2‑1.选定一个对象实例;步骤2‑2.选定该对象实例的一个属性;步骤2‑3.根据属性的数据类型转换数据格式;步骤2‑4.按照步骤2‑2和步骤2‑3将所有属性数据转换为字符串;步骤2‑5.生成将对象写入数据库的SQL语句;步骤2‑6.完成该对象实例持久化;步骤2‑7.按照步骤2‑1至步骤2‑6持久化所有对象实例;步骤3.仿真对象的恢复:步骤3‑1.根据仿真对象取得其关联表;步骤3‑2.选定关联表的一条记录;步骤3‑3.建立仿真对象的一个新实例;步骤3‑4.选定新实例的一个属性;步骤3‑5.取得该属性的属性名和数据类型;步骤3‑6.从当前记录取得当前属性值;步骤3‑7.利用数值、类型、偏移量恢复属性数据;步骤3‑8.按照步骤3‑4至步骤3‑7从当前记录恢复关联实例的所有属性;步骤3‑9.按照步骤3‑2至步骤3‑8从关联表恢复仿真对象的所有实例。...

【技术特征摘要】
1.一种拱坝浇筑施工仿真对象的持久化方法,其特征在于,包括以下步骤:步骤1.持久化环境构建:建立拱坝浇筑施工仿真软件和数据库管理系统的映射关系,包括:仿真对象和数据库表的映射关系,仿真对象实例和数据库表记录的映射关系,和仿真对象属性和数据库表字段的对应关系;步骤2.仿真对象的导出:步骤2-1.选定一个对象实例;步骤2-2.选定该对象实例的一个属性;步骤2-3.根据属性的数据类型转换数据格式;步骤2-4.按照步骤2-2和步骤2-3将所有属性数据转换为字符串;步骤2-5.生成将对象写入数据库的SQL语句;步骤2-6.完成该对象实例持久化;步骤2-7.按照步骤2-1至步骤2-6持久化所有对象实例;步骤3.仿真对象的恢复:步骤3-1.根据仿真对象取得其关联表;步骤3-2.选定关联表的一条记录;步骤3-3.建立仿真对象的一个新实例;步骤3-4.选定新实例的一个属性;步骤3-5.取得该属性的属性名和数据类型;步骤3-6.从当前记录取得当前属性值;步骤3-7.利用数值、类型、偏移量恢复属性数据;步骤3-8.按照步骤3-4至步骤3-7从当前记录恢复关联实例的所有属性;步骤3-9.按照步骤3-2至步骤3-8从关联表恢复仿真对象的所有实例。2.根据权利要求1所述的拱坝浇筑施工仿真对象的持久化方法,其特征在于:其中,在步骤1中,是利用属性保存对应的数据库表名,利用专门指针数组,保存与该类相关的仿真对象实例数据,利用属性映射数组存储映射对应关系。3.根据权利要求1所述的拱坝浇筑施工仿真对象...

【专利技术属性】
技术研发人员:刘全田正宋子达胡志根许金静张路柳智龙冯琛蒋侠宇
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1