本发明涉及软工工程与工程软件交叉,尤其涉及一种基于ipc技术既有软件新增并行引擎的升级方法。
背景技术:
1、目前,大部分工业软件采用单引擎架构,某单位研发的桥梁专业设计软件为例,一般选择开源的occ造型引擎作为内核,配合osg渲染引擎实现桥梁结构的几何模型生成和渲染展示。基于“occ+osg”封装,再添加桥梁专业算法如桩基内力计算算法、曲线梁缝计算算法、结构布置算法等算法库,进行交互界面的开发,实现了桥梁专业软件的数据管理、结构分析、坐标计算、三维模型生成和渲染展示等功能。
2、为实现工业软件的自主可控,解决“卡脖子”难题,需要开发面向国产引擎的专业设计软件,与国产引擎进行适配。广联达设计平台(gdmp平台)是完全国产化自主知识产权的高性能三维图形平台,具有广泛的适应性,可支撑工程建设领域设计、施工、运维等多专业三维图形系统的开发。gdmp平台基于广联达自主研发的造型引擎和渲染引擎开发,具备bim数据定义、图形交互框架、参数化建模引擎、协同建模引擎、数据格式交换、开放的二次开发接口api和技术框架可扩展等能力,满足复杂构件和gis数据融合等大型复杂场景三维图形建模应用。支持多行业多专业的业务组件扩展。目前gdmp平台支持c++为主语言开发,官方推荐第一开发框架作为交互界面的开发。
3、当既有的软件采用商业引擎或开源引擎,为实现国产引擎的替换,目前主要技术路线是基于新的国产引擎采用新的编程语言进行开发,研发周期长,软件测试稳定期长,开发运维成本高,某单位研发的桥梁专业设计软件为例,现有的版本选择“occ+osg+.net”技术框架进行开发,大部分是c#语言代码,维护很方便。但选择采用gdmp平台只能选择采用c++语言开发,所有的模块都得代码重构,研发成本和风险极高,软件的可靠性验证需要一定的时间周期和工程试验。
技术实现思路
1、本发明的主要目的在于提供一种基于ipc技术既有软件新增并行引擎的升级方法,旨在解决现有技术国产引擎替换研发周期长,软件测试稳定期长,开发运维成本高的技术问题。
2、为实现上述目的,本发明提供了一种基于ipc技术既有软件新增并行引擎的升级方法,所述方法包括以下步骤:
3、获取既有设计系统中的初始引擎,其中,所述初始引擎为既有设计系统中各功能对应的引擎;
4、获取所述初始引擎中的功能函数,得到第一功能函数;
5、查询所述第一功能函数的api接口,得到第一api接口;
6、通过所述第一api接口将所述初始引擎与目标引擎进行匹配和数据共享,得到目标设计系统,以实现所述既有设计系统的升级。
7、可选地,所述通过所述第一api接口将所述初始引擎与目标引擎进行匹配和数据共享,得到目标设计系统,包括:
8、获取目标引擎对应的功能函数,得到第二功能函数;
9、查询所述第一功能函数和所述第二功能函数的进程,得到第一进程和第二进程;
10、通过所述第一api接口对所述第一进程和第二进程进行通讯握手,得到目标设计系统。
11、可选地,所述获取目标引擎对应的功能函数,得到第二功能函数之前,还包括:
12、获取所述既有设计系统中的多个功能函数;
13、查询任一功能函数的api接口,得到第二api接口;
14、根据所述第二api接口开发sdk组件;
15、根据所述sdk组件在第一开发框架中开发任一功能函数对应的功能,得到目标引擎。
16、可选地,所述通过所述第一api接口对所述第一进程和第二进程进行通讯握手,得到目标设计系统,包括:
17、通过所述第一api接口对所述第一进程和第二进程进行通讯握手,得到新的功能模块;
18、根据所述新的功能模块和所述既有设计系统生成新的设计系统;
19、对所述新的设计系统进行通讯测试,得到测试结果;
20、根据所述测试结果判断所述既有设计系统中的各功能的引擎是否均与所述目标引擎进行通信握手;
21、若是,则将所述新的设计系统作为目标设计系统。
22、可选地,所述通过所述第一api接口将所述初始引擎与目标引擎进行匹配和数据共享,得到目标设计系统之后,还包括:
23、通过所述目标设计系统中的既有功能模块进行新功能环境的渲染展示;
24、通过所述目标设计系统中的新的功能模块进行既有功能环境的渲染展示。
25、可选地,所述通过所述目标设计系统中的既有功能模块进行新功能环境的渲染展示,包括:
26、当检测到所述目标设计系统启动时,获取所述目标设计系统中的桥梁构件库的监听数据;
27、将所述监听数据传入所述初始引擎,得到第一传入参数;
28、通过所述初始引擎根据所述第一传入参数生成新的构件,并对所述新的构件进行渲染,得到第一进程数据;
29、将所述第一进程数据同步至物理内存,以使所述目标引擎根据所述第一进程数据生成新的进程,得到第三进程;
30、获取所述第三进程的数据,根据所述第三进程的数据对所述新的构件进行重新渲染展示。
31、可选地,所述通过所述目标设计系统中的新的功能模块进行既有功能环境的渲染展示,包括:
32、当检测到所述目标设计系统启动时,获取所述目标设计系统中的桥梁构件库的监听数据;
33、将所述监听数据传入所述目标引擎,得到第二传入参数;
34、通过所述目标引擎根据所述第二传入参数生成新的构件,并对所述新的构件进行渲染,得到第二进程数据;
35、将所述第二进程数据同步至物理内存,以使所述初始引擎根据所述第二进程数据生成新的进程,得到第四进程;
36、获取所述第四进程的数据,根据所述第四进程的数据对所述新的构件进行重新渲染展示。
37、此外,为实现上述目的,本发明还提出一种基于ipc技术既有软件新增并行引擎的升级装置,所述基于ipc技术既有软件新增并行引擎的升级装置包括:
38、获取模块,用于获取既有设计系统中的初始引擎,其中,所述初始引擎为既有设计系统中各功能对应的引擎;
39、所述获取模块,还用于获取所述初始引擎中的功能函数,得到第一功能函数;
40、查询模块,用于查询所述第一功能函数的api接口,得到第一api接口;
41、匹配模块,用于通过所述第一api接口将所述初始引擎与目标引擎进行匹配和数据共享,得到目标设计系统,以实现所述既有设计系统的升级。
42、此外,为实现上述目的,本发明还提出一种基于ipc技术既有软件新增并行引擎的升级设备,所述基于ipc技术既有软件新增并行引擎的升级设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于ipc技术既有软件新增并行引擎的升级程序,所述基于ipc技术既有软件新增并行引擎的升级程序配置为实现如上文所述的基于ipc技术既有软件新增并行引擎的升级方法的步骤。
43、此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于ipc技术既有软件新增并行引擎的升级程序,所述基于ipc技术既有软件新增并行引擎的升级程序被处理器执行时实现如上文所述的基于ipc技术既有软件新增并行引擎的升级方法的步骤。
44、本发明通过获取既有设计系统中的初始引擎,其中,初始引擎为既有设计系统中各功能对应的引擎;获取初始引擎中的功能函数,得到第一功能函数;查询第一功能函数的api接口,得到第一api接口;通过第一api接口将初始引擎与目标引擎进行匹配和数据共享,得到目标设计系统,以实现既有设计系统的升级。通过上述方式,通过api接口将既有设计系统的初始引擎与目标引擎进行匹配和数据共享,得到目标设计系统,以实现既有设计系统的升级,解决了国产引擎替换研发周期长,软件测试稳定期长,开发运维成本高的问题,研发难度低,系统功能可靠性高,开发工作量少,升级改造成本低。