CN109753296A - 一种模型构件库的智能管理方法、系统及相关设备 - Google Patents
一种模型构件库的智能管理方法、系统及相关设备 Download PDFInfo
- Publication number
- CN109753296A CN109753296A CN201811567778.5A CN201811567778A CN109753296A CN 109753296 A CN109753296 A CN 109753296A CN 201811567778 A CN201811567778 A CN 201811567778A CN 109753296 A CN109753296 A CN 109753296A
- Authority
- CN
- China
- Prior art keywords
- component
- file
- version
- model
- server
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种模型构件库的智能管理方法、系统及其中的相关设备,方案如下:由模型构件库客户端的模型构件库插件识别当前建模设计软件版本,模型构件管理平台服务器根据客户端建模设计软件版本过滤掉客户端建模设计软件不能使用的高版本构件文件,仅提供可用的构件文件列表给模型构件库客户端,从而不会出现提示构件文件版本过高、不能使用的情况。同时模型构件库客户端上传的构件文件仅由升级引擎服务器升级一次,从当前版本升级到目前建模设计软件最高版本,生成多个版本的副本构件文件存储在构件文件存储服务器中,当客户端用户使用构件文件时由模型构件管理平台服务器适配相同版本的构件文件给用户,从而免除了客户端的升级困扰。
Description
技术领域
本发明涉及模型构件库管理领域,具体涉及一种模型构件库的智能管理方法、系统及相关设备。
背景技术
目前,建筑信息模型(BIM)的核心建模软件有AutoDesk公司的Revit,Graphisoft公司的ArchiCAD,Gehry Technology公司的Digital Project(基于Catia),Bentley公司的Bentley Architecture。这些软件为建筑设计师而构建,可帮助建筑设计师设计、建造和维护质量更好、能效更高的建筑。
建筑设计师使用建模设计软件进行建模时,通常会寻找模型构件库素材,来提高自己的工作效率,模型构件管理平台服务器+模型构件库插件是当前比较通用的做法,具体采用如下架构:
1.构件文件存储服务器:用于存储构件文件
2.模型构件管理平台服务器:用于提供构件文件检索、构件文件列表数据、构件文件下载地址
3.模型构件库插件:模型构件库素材界面,用于调用接口将构件文件载入
4.建模设计软件:用于建模设计
由于建模设计软件存在多个版本,不同版本建模设计软件设计的构件文件存在兼容性问题,简单来说,高版本建模设计软件兼容低版本构件文件,低版本建模设计软件无法打开高版本构件文件,由此,对用户会出现三种情况:
1.构件文件版本>建模设计软件版本:用户无法使用此构件文件
2.构件文件版本=建模设计软件版本:用户可以使用此构件文件,最佳情况
3.构件文件版本<建模设计软件版本:用户可以使用此构件文件,但建模设计软件会将构件文件升级后载入,耗时且用户体验差,相同情况需重复升级动作。
以上现有技术存在两个问题:
1.模型构件管理平台服务器不能根据用户当前使用的建模设计软件版本过滤掉不能使用的高版本构件文件
2.客户端建模设计软件使用低版本构件文件时,会一直出现构件文件升级过程,浪费时间,少则一两秒,多则几分钟。
发明内容
本发明的目的在于解决现有模型构件管理平台服务器无法直接过滤当前建模设计软件版本不能使用的高版本构件文件的问题。
本发明的另一个目的在于解决客户端低版本构件文件重复升级的问题。
为了达到上述目的,本发明提供了一种模型构件库的智能管理方法,包括以下步骤:
S01:模型构件库客户端识别当前建模设计软件版本;
S02:所述模型构件库客户端将当前建模设计软件版本发送至模型构件管理平台服务器;
S03:所述模型构件管理平台服务器根据当前建模设计软件版本从数据库中查询当前建模设计软件可用的构件文件,所述数据库中记录有各版本构件文件的文件名、版本及对应的存储地址;
S04:所述数据库向所述模型构件管理平台服务器返回可用构件文件列表;
S05:所述模型构件管理平台服务器将所述可用构件文件列表返回至所述模型构件库客户端。
进一步的,所述步骤S01中,由运行在模型构件库客户端上的模型构件库插件识别当前建模设计软件版本。
进一步的,所述步骤S03中,可用的构件文件包括版本等于或者低于当前建模设计软件版本的构件文件。
进一步的,所述步骤S05之后还包括以下步骤:
S06:所述模型构件库客户端发送构件文件下载请求至所述模型构件管理平台服务器,所述构件文件下载请求中包括建模设计软件用户从步骤S05返回的可用构件文件列表中选择的要使用的构件文件以及当前建模设计软件版本;
S07:所述模型构件管理平台服务器根据所述构件文件下载请求,从所述数据库中获取对应于当前建模设计软件版本的所选构件文件的存储地址;
S08:所述模型构件管理平台服务器根据步骤S07获取的所述存储地址从构件文件存储服务器下载相应的构件文件,所述构件文件存储服务器中存储有各模型构件库客户端上传的构件文件以及各构件文件升级后的多个版本的副本构件文件;
S09:所述模型构件管理平台服务器将所下载的构件文件返回至所述模型构件库客户端。
进一步的,所述步骤S08中各模型构件库客户端通过以下步骤完成构件文件上传:
S11:模型构件库客户端向所述模型构件管理平台服务器发送待上传的构件文件;
S12:所述模型构件管理平台服务器将所述待上传构件文件发送至所述构件文件存储服务器进行存储;
S13:所述构件文件存储服务器向所述模型构件管理平台服务器返回构件文件存储地址,
S14:所述模型构件管理平台服务器将所上传的构件文件的文件信息记录到所述数据库中,所述文件信息包括所上传构件文件的存储地址、文件名、版本。
进一步的,所述步骤S14之后还包括以下步骤:
S15:所述数据库记录完所述文件信息后向所述模型构件管理平台服务器返回记录成功消息;
S16:所述模型构件管理平台服务器收到所述记录成功消息后,向所述模型构件库客户端返回上传成功消息。
进一步的,所述步骤S14中,所述数据库中记录的文件信息还包括构件文件的所属用户。
进一步的,所述步骤S08中,各构件文件通过以下步骤升级为多个版本的副本构件文件:
S21:由升级引擎服务器从所述构件文件存储服务器下载待升级的构件文件;
S22:所述升级引擎服务器解析该待升级构件文件的当前版本;
S23:所述升级引擎服务器将所述待升级构件文件的当前版本经由所述模型构件管理平台服务器记录到所述数据库中;
S24:所述升级引擎服务器将该待升级构件文件依次从当前版本升级至建模设计软件最高版本,生成多个副本构件文件,所述多个副本构件文件的版本大于该待升级构件文件的当前版本,小于等于建模设计软件最高版本;
S25:所述升级引擎服务器将所述多个副本构件文件上传至所述构件文件存储服务器进行存储;
S26:所述构件文件存储服务器向所述升级引擎服务器返回各个副本构件文件的存储地址;
S27:所述升级引擎服务器将所述各个副本构件文件的文件信息经由所述模型构件管理平台服务器记录到所述数据库中,该文件信息包括各副本构件文件的存储地址、文件名、版本。
进一步的,所述步骤S21之前还包括以下步骤:
S20:所述升级引擎服务器监听任务消息队列中是否有升级任务消息,如果有,则执行步骤S21,否则继续监听;所述升级任务消息由所述模型构件管理平台服务器发出,该升级任务消息中包括从所述数据库获取的待升级构件文件的文件名、存储地址。
进一步的,所述步骤S27之后还包括以下步骤:
S28:所述数据库记录完步骤S27中所述文件信息后向所述模型构件管理平台服务器返回记录成功消息;
S29:所述模型构件管理平台服务器收到所述记录成功消息后,向所述升级引擎服务器返回升级成功消息。
进一步的,所述模型构件管理平台服务器、数据库、构件文件存储服务器、升级引擎服务器、任务消息队列可以单独部署在不同的物理计算机上,也可以部署在一台物理计算机上。
进一步的,所述模型构件管理平台服务器、数据库、构件文件存储服务器、升级引擎服务器、任务消息队列全部或部分位于云端。
进一步的,模型构件选自以下建模设计软件:Revit,ArchiCAD,Digital Project,Bentley Architecture。
本发明还提供了一种模型构件库智能管理系统,包括模型构件库客户端、模型构件管理平台服务器、数据库,其中:
所述模型构件库客户端,用于识别当前建模设计软件版本,并将当前建模设计软件版本发送至模型构件管理平台服务器;
所述模型构件管理平台服务器,用于根据当前建模设计软件版本从所述数据库中查询当前建模设计软件可用的构件文件;
所述数据库,用于记录各版本构件文件的文件名、版本及对应的存储地址,向所述模型构件管理平台服务器返回可用构件文件列表;
所述模型构件管理平台服务器还用于将所述可用构件文件列表返回至所述模型构件库客户端。
进一步的,所述模型构件库客户端上运行有模型构件库插件,由所述模型构件库插件识别当前建模设计软件版本。
进一步的,所述模型构件管理平台服务器从数据库中查询得到的当前建模设计软件可用的构件文件包括版本等于或者低于当前建模设计软件版本的构件文件。
进一步的,该系统还包括构件文件存储服务器,其中存储有各模型构件库客户端上传的构件文件以及各构件文件升级后的多个版本的副本构件文件;
所述模型构件库客户端,进一步用于向所述模型构件管理平台服务器发送构件文件下载请求,所述构件文件下载请求中包括建模设计软件用户从所述模型构件管理平台服务器返回的可用构件文件列表中选择的要使用的构件文件以及当前建模设计软件版本;
所述模型构件管理平台服务器,进一步用于根据所述构件文件下载请求从所述数据库中获取对应于当前建模设计软件版本的所选构件文件的存储地址,根据获取的所述存储地址从所述构件文件存储服务器下载相应的构件文件,将所下载的构件文件返回至所述模型构件库客户端。
进一步的,各模型构件库客户端通过与所述模型构件管理平台服务器、所述数据库、所述构件文件存储服务器交互,完成构件文件上传,具体为:
模型构件库客户端将待上传的构件文件经由所述模型构件管理平台服务器发送至所述构件文件存储服务器;
所述构件文件存储服务器完成构件文件存储之后,向所述模型构件管理平台服务器返回构件文件存储地址;
所述模型构件管理平台服务器进一步将所上传的构件文件的文件信息记录到所述数据库中,所述文件信息包括所上传构件文件的存储地址、文件名、版本。
进一步的,所述数据库记录完所述文件信息后向所述模型构件管理平台服务器返回记录成功消息;所述模型构件管理平台服务器收到所述记录成功消息后,向所述模型构件库客户端返回上传成功消息。
进一步的,所述数据库中记录的文件信息还包括构件文件的所属用户。
进一步的,该系统还包括升级引擎服务器,其用于从所述构件文件存储服务器下载待升级的构件文件,解析该待升级构件文件的当前版本,将该待升级构件文件的当前版本经由所述模型构件管理平台服务器记录到所述数据库中,将该待升级构件文件依次从当前版本升级至建模设计软件最高版本,生成多个副本构件文件,将所述多个副本构件文件上传至所述构件文件存储服务器进行存储,将所述各个副本构件文件的文件信息经由所述模型构件管理平台服务器记录到所述数据库中,所述文件信息包括各副本构件文件的存储地址、文件名、版本;其中,所述多个副本构件文件的版本大于该待升级构件文件的当前版本,小于等于建模设计软件最高版本。
进一步的,所述升级引擎服务器通过监听任务消息队列中是否有升级任务消息来确定是否下载构件文件进行升级;所述升级任务消息由所述模型构件管理平台服务器发出,该升级任务消息中包括从所述数据库获取的待升级构件文件的文件名、存储地址。
进一步的,所述数据库记录完文件信息后向所述模型构件管理平台服务器返回记录成功消息;所述模型构件管理平台服务器收到所述记录成功消息后,向所述升级引擎服务器返回升级成功消息。
进一步的,所述模型构件管理平台服务器、数据库、构件文件存储服务器、升级引擎服务器、任务消息队列可以单独部署在不同的物理计算机上,也可以部署在一台物理计算机上。
进一步的,所述模型构件管理平台服务器、数据库、构件文件存储服务器、升级引擎服务器、任务消息队列全部或部分位于云端。
进一步的,模型构件选自以下建模设计软件:Revit,ArchiCAD,Digital Project,Bentley Architecture。
本发明还提供了一种用于构件文件升级的升级引擎服务器,其接收来自模型构件管理平台服务器的升级任务消息,从构件文件存储服务器下载待升级的构件文件,解析该待升级构件文件的当前版本,将该待升级构件文件的当前版本经由所述模型构件管理平台服务器记录到数据库中,将该待升级构件文件依次从当前版本升级至建模设计软件最高版本,生成多个副本构件文件,将所述多个副本构件文件上传至所述构件文件存储服务器进行存储,将所述各个副本构件文件的文件信息经由所述模型构件管理平台服务器记录到数据库中,所述文件信息包括各副本构件文件的存储地址、文件名、版本;其中,所述多个副本构件文件的版本大于该待升级构件文件的当前版本,小于等于建模设计软件最高版本;所述升级任务消息中包括待升级构件文件的文件名、存储地址。
进一步的,所述升级任务消息由所述模型构件管理平台服务器发送至任务消息队列,所述升级引擎服务器监听所述任务消息队列中的升级任务消息。
进一步的,所述升级引擎服务器、模型构件管理平台服务器、数据库、构件文件存储服务器、任务消息队列可以单独部署在不同的物理计算机上,也可以部署在一台物理计算机上。
进一步的,所述升级引擎服务器、模型构件管理平台服务器、数据库、构件文件存储服务器、任务消息队列全部或部分位于云端。
进一步的,模型构件选自以下建模设计软件:Revit,ArchiCAD,Digital Project,Bentley Architecture。
本发明还提供了一种构件文件升级方法,由升级引擎服务器执行,包括以下步骤:
接收来自模型构件管理平台服务器的升级任务消息,该升级任务消息中包括待升级构件文件的文件名、存储地址;
从构件文件存储服务器下载待升级的构件文件,解析该待升级构件文件的当前版本,将该待升级构件文件的当前版本经由所述模型构件管理平台服务器记录到数据库中,将该待升级构件文件依次从当前版本升级至建模设计软件最高版本,生成多个副本构件文件,将所述多个副本构件文件上传至所述构件文件存储服务器进行存储,将所述各个副本构件文件的文件信息经由所述模型构件管理平台服务器记录到数据库中,所述文件信息包括各副本构件文件的存储地址、文件名、版本;其中,所述多个副本构件文件的版本大于该待升级构件文件的当前版本,小于等于建模设计软件最高版本。
进一步的,所述升级任务消息由所述模型构件管理平台服务器发送至任务消息队列,所述升级引擎服务器监听所述任务消息队列中的升级任务消息。
进一步的,所述升级引擎服务器、模型构件管理平台服务器、数据库、构件文件存储服务器、任务消息队列可以单独部署在不同的物理计算机上,也可以部署在一台物理计算机上。
进一步的,所述升级引擎服务器、模型构件管理平台服务器、数据库、构件文件存储服务器、任务消息队列全部或部分位于云端。
进一步的,模型构件选自以下建模设计软件:Revit,ArchiCAD,Digital Project,Bentley Architecture。
与现有技术相比,本发明取得了以下有益效果:
1、模型构件管理平台服务器能够直接过滤掉用户当前建模设计软件版本不能使用的高版本构件文件,向客户端用户提供可用构件文件列表;
2、构件文件只在云端的升级引擎服务器升级一次,从当前版本至建模设计软件最高版本,多个版本的构件文件均存储在构件文件存储服务器中,当客户端用户使用构件文件时由模型构件管理平台服务器适配相同版本的构件文件给,从而免除了客户端的升级困扰。
附图说明
图1为本发明过滤不能使用的高版本构件文件的方法及系统示意图;
图2为本发明下载合适版本构件文件的方法及系统示意图;
图3为本发明上传构件文件的方法及系统示意图;
图4为本发明上传构件文件之后异步自动发起升级任务的方法及系统示意图;
图5为本发明升级引擎服务器执行构件文件升级的方法及系统示意图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图对本发明的技术方案进行清楚、完整地描述,应当理解,所描述的实施例仅仅用以解释本发明,并不限定本发明。
本发明涉及以下技术术语:
构件文件:建筑模型中可复用的素材。
模型构件库:构件文件构成的素材库。
参阅图1,本发明实施例提供了一种模型构件库的智能管理方法,可以根据客户端建模设计软件版本过滤掉版本不能使用的构件文件,具体包括以下步骤:
S01:模型构件库客户端识别当前建模设计软件版本。
优选的,可以由运行在模型构件库客户端上的模型构件库插件识别当前建模设计软件版本。
S02:所述模型构件库客户端将当前建模设计软件版本发送至模型构件管理平台服务器。
S03:所述模型构件管理平台服务器根据当前建模设计软件版本从数据库中查询当前建模设计软件可用的构件文件,所述数据库中记录有各版本构件文件的文件名、版本及对应的存储地址。
优选的,当前建模设计软件可用的构件文件版本应当等于或者低于当前建模设计软件版本。
S04:所述数据库向所述模型构件管理平台服务器返回可用构件文件列表。
S05:所述模型构件管理平台服务器将所述可用构件文件列表返回至所述模型构件库客户端。
通过上述步骤S01-S05,模型构件管理平台服务器提供了版本过滤能力,过滤掉客户端建模设计软件不能使用的高版本构件文件,仅仅提供可用的构件文件列表给模型构件库客户端,从而不会出现提示构件文件版本过高、不能使用的情况。
参阅图2,优选的,步骤S05之后还包括以下步骤:
S06:所述模型构件库客户端发送构件文件下载请求至所述模型构件管理平台服务器,所述构件文件下载请求中包括建模设计软件用户从步骤S05返回的可用构件文件列表中选择的要使用的构件文件以及当前建模设计软件版本;
S07:所述模型构件管理平台服务器根据所述构件文件下载请求,从所述数据库中获取对应于当前建模设计软件版本的所选构件文件的存储地址;
S08:所述模型构件管理平台服务器根据步骤S07获取的所述存储地址从构件文件存储服务器下载相应的构件文件,所述构件文件存储服务器中存储有各模型构件库客户端上传的构件文件以及各构件文件升级后的多个版本的副本构件文件;
S09:所述模型构件管理平台服务器将所下载的构件文件返回至所述模型构件库客户端。
通过上述步骤S06-S09,模型构件库客户端在下载使用构件文件时,模型构件管理平台服务器为其适配相同版本的构件文件,由此,客户端无需升级构件文件,即可直接使用,提高了工作效率。
参阅图3,各模型构件库客户端通过以下步骤完成构件文件上传:
S11:模型构件库客户端向所述模型构件管理平台服务器发送待上传的构件文件。
S12:所述模型构件管理平台服务器将所述待上传构件文件发送至所述构件文件存储服务器进行存储。
S13:所述构件文件存储服务器向所述模型构件管理平台服务器返回构件文件存储地址。
S14:所述模型构件管理平台服务器将所上传的构件文件的文件信息记录到所述数据库中,所述文件信息包括所上传构件文件的存储地址、文件名、版本。
优选的,所述步骤S14之后还包括以下步骤:
S15:所述数据库记录完所述文件信息后向所述模型构件管理平台服务器返回记录成功消息;
S16:所述模型构件管理平台服务器收到所述记录成功消息后,向所述模型构件库客户端返回上传成功消息。
优选的,所述步骤S14中,所述数据库中记录的文件信息还包括构件文件的所属用户。
各模型构件库客户端上传构件文件之后,参阅图4,所述模型构件管理平台服务器异步自动发起升级任务,所述升级任务消息由所述模型构件管理平台服务器发出,该升级任务消息中包括从所述数据库获取的待升级构件文件的文件名、存储地址。
参阅图5,各构件文件通过以下步骤升级为多个版本的副本构件文件:
S20:所述升级引擎服务器监听任务消息队列中是否有升级任务消息,如果有,则执行步骤S21,否则继续监听;
S21:由升级引擎服务器从所述构件文件存储服务器下载待升级的构件文件;
S22:所述升级引擎服务器解析该待升级构件文件的当前版本;
S23:所述升级引擎服务器将所述待升级构件文件的当前版本经由所述模型构件管理平台服务器记录到所述数据库中;
S24:所述升级引擎服务器将该待升级构件文件依次从当前版本升级至建模设计软件最高版本,生成多个副本构件文件,所述多个副本构件文件的版本大于该待升级构件文件的当前版本,小于等于建模设计软件最高版本;
S25:所述升级引擎服务器将所述多个副本构件文件上传至所述构件文件存储服务器进行存储;
S26:所述构件文件存储服务器向所述升级引擎服务器返回各个副本构件文件的存储地址;
S27:所述升级引擎服务器将所述各个副本构件文件的文件信息经由所述模型构件管理平台服务器记录到所述数据库中,该文件信息包括各副本构件文件的存储地址、文件名、版本。
由此,通过上述步骤S20-S27,构件文件仅在升级引擎服务器升级一次,从当前版本升级到目前建模设计软件的最高版本(当前为2019版本),多个版本的副本构件文件均存储在构件文件存储服务器中,当客户端用户使用该构件文件时由模型构件管理平台服务器适配相同版本的构件文件给用户,从而免除了客户端的升级困扰,提高了工作效率。
步骤S23中升级引擎服务器在升级构件文件之前将待升级构件文件的当前版本记录到数据库中是为了模型构件管理平台服务器将来比较建模设计软件版本和构件文件当前版本,过滤不能使用的构件文件。将构件文件当前版本存在数据库中,模型构件管理平台服务器就可以根据建模设计软件版本,从数据库中获取当前用户能够使用的,即版本等于或者低于当前建模设计软件版本的构件文件列表。
参阅图5,优选的,所述步骤S27之后还包括以下步骤:
S28:所述数据库记录完步骤S27中所述文件信息后向所述模型构件管理平台服务器返回记录成功消息;
S29:所述模型构件管理平台服务器收到所述记录成功消息后,向所述升级引擎服务器返回升级成功消息。
步骤S28-S29是为了确保数据库记录操作以及构件文件升级操作正常完成。
优选的,所述模型构件管理平台服务器、数据库、构件文件存储服务器、升级引擎服务器、任务消息队列可以单独部署在不同的物理计算机上,也可以部署在一台物理计算机上。是否独立部署主要基于性能考虑,根据具体应用需求选择。
优选的,所述模型构件管理平台服务器、数据库、构件文件存储服务器、升级引擎服务器、任务消息队列全部或部分位于云端。由此实现构件文件云端升级、云端模型构件管理平台服务器以及构件文件云端存储。
优选的,模型构件选自但不限于以下建模设计软件:Revit,ArchiCAD,DigitalProject,Bentley Architecture。
本实施例中数据库可以采用现有的各种数据库技术,例如但不限于MySQL、Oracle等关系型数据库。
参阅图1,本发明同样提供了一种模型构件库智能管理系统,包括模型构件库客户端、模型构件管理平台服务器、数据库,其中:
所述模型构件库客户端,用于识别当前建模设计软件版本,并将当前建模设计软件版本发送至模型构件管理平台服务器;
所述模型构件管理平台服务器,用于根据当前建模设计软件版本从所述数据库中查询当前建模设计软件可用的构件文件;
所述数据库,用于记录各版本构件文件的文件名、版本及对应的存储地址,向所述模型构件管理平台服务器返回可用构件文件列表;
所述模型构件管理平台服务器还用于将所述可用构件文件列表返回至所述模型构件库客户端。
由此,模型构件管理平台服务器提供了版本过滤能力,过滤掉客户端建模设计软件不能使用的高版本构件文件,仅仅提供可用的构件文件列表给模型构件库客户端,从而不会出现提示构件文件版本过高、不能使用的情况。
优选的,所述模型构件库客户端上运行有模型构件库插件,由所述模型构件库插件识别当前建模设计软件版本。
优选的,当前建模设计软件可用的构件文件版本应当等于或者低于当前建模设计软件版本。
参阅图2,优选的,该系统还包括构件文件存储服务器,其中存储有各模型构件库客户端上传的构件文件以及各构件文件升级后的多个版本的副本构件文件;
所述模型构件库客户端,进一步用于向所述模型构件管理平台服务器发送构件文件下载请求,所述构件文件下载请求中包括建模设计软件用户从所述模型构件管理平台服务器返回的可用构件文件列表中选择的要使用的构件文件以及当前建模设计软件版本;
所述模型构件管理平台服务器,进一步用于根据所述构件文件下载请求从所述数据库中获取对应于当前建模设计软件版本的所选构件文件的存储地址,根据获取的所述存储地址从所述构件文件存储服务器下载相应的构件文件,将所下载的构件文件返回至所述模型构件库客户端。
由此,模型构件库客户端在下载使用构件文件时,模型构件管理平台服务器为其适配相同版本的构件文件,从而客户端无需升级构件文件,即可直接使用,提高了工作效率。
参阅图3,各模型构件库客户端通过与所述模型构件管理平台服务器、所述数据库、所述构件文件存储服务器交互,完成构件文件上传,具体为:
模型构件库客户端将待上传的构件文件经由所述模型构件管理平台服务器发送至所述构件文件存储服务器;
所述构件文件存储服务器完成构件文件存储之后,向所述模型构件管理平台服务器返回构件文件存储地址;
所述模型构件管理平台服务器进一步将所上传的构件文件的文件信息记录到所述数据库中,所述文件信息包括所上传构件文件的存储地址、文件名、版本。
优选的,所述数据库记录完所述文件信息后向所述模型构件管理平台服务器返回记录成功消息;所述模型构件管理平台服务器收到所述记录成功消息后,向所述模型构件库客户端返回上传成功消息。
优选的,所述数据库中记录的文件信息还包括构件文件的所属用户。
各模型构件库客户端上传构件文件之后,参阅图4,所述模型构件管理平台服务器异步自动发起升级任务,所述升级任务消息由所述模型构件管理平台服务器发出,该升级任务消息中包括从所述数据库获取的待升级构件文件的文件名、存储地址。
参阅图5,该系统还包括升级引擎服务器,所述升级引擎服务器通过监听任务消息队列中是否有升级任务消息来确定是否下载构件文件进行升级,如果有,则从所述构件文件存储服务器下载待升级的构件文件,解析该待升级构件文件的当前版本,将该待升级构件文件的当前版本经由所述模型构件管理平台服务器记录到所述数据库中,将该待升级构件文件依次从当前版本升级至建模设计软件最高版本,生成多个副本构件文件,将所述多个副本构件文件上传至所述构件文件存储服务器进行存储,将所述各个副本构件文件的文件信息经由所述模型构件管理平台服务器记录到所述数据库中,所述文件信息包括各副本构件文件的存储地址、文件名、版本;其中,所述多个副本构件文件的版本大于该待升级构件文件的当前版本,小于等于建模设计软件最高版本。
由此,构件文件仅在升级引擎服务器升级一次,从当前版本升级到目前建模设计软件的最高版本(当前为2019版本),多个版本的副本构件文件均存储在构件文件存储服务器中,当客户端用户使用该构件文件时由模型构件管理平台服务器适配相同版本的构件文件给用户,从而免除了客户端的升级困扰,提高了工作效率。
其中,将该待升级构件文件的当前版本经记录到数据库中,是为了模型构件管理平台服务器将来比较建模设计软件版本和构件文件当前版本,过滤不能使用的构件文件。将构件文件当前版本存在数据库中,模型构件管理平台服务器就可以根据建模设计软件版本,从数据库中获取当前用户能够使用的,即版本等于或者低于当前建模设计软件版本的构件文件列表。
优选的,所述数据库记录完文件信息后向所述模型构件管理平台服务器返回记录成功消息;所述模型构件管理平台服务器收到所述记录成功消息后,向所述升级引擎服务器返回升级成功消息。由此确保数据库记录操作以及构件文件升级操作正常完成。
优选的,所述模型构件管理平台服务器、数据库、构件文件存储服务器、升级引擎服务器、任务消息队列可以单独部署在不同的物理计算机上,也可以部署在一台物理计算机上。
优选的,所述模型构件管理平台服务器、数据库、构件文件存储服务器、升级引擎服务器、任务消息队列全部或部分位于云端。由此实现构件文件云端升级、云端模型构件管理平台服务器以及构件文件云端存储。
优选的,模型构件选自但不限于以下建模设计软件:Revit,ArchiCAD,DigitalProject,Bentley Architecture。
本实施例中数据库可以采用现有的各种数据库技术,例如但不限于MySQL、Oracle等关系型数据库。
参阅图4-5,本发明还提供了一种用于构件文件升级的升级引擎服务器,其接收来自模型构件管理平台服务器的升级任务消息,从构件文件存储服务器下载待升级的构件文件,解析该待升级构件文件的当前版本,将该待升级构件文件的当前版本经由所述模型构件管理平台服务器记录到数据库中,将该待升级构件文件依次从当前版本升级至建模设计软件最高版本,生成多个副本构件文件,将所述多个副本构件文件上传至所述构件文件存储服务器进行存储,将所述各个副本构件文件的文件信息经由所述模型构件管理平台服务器记录到数据库中,所述文件信息包括各副本构件文件的存储地址、文件名、版本;其中,所述多个副本构件文件的版本大于该待升级构件文件的当前版本,小于等于建模设计软件最高版本;所述升级任务消息中包括待升级构件文件的文件名、存储地址。
优选的,所述升级任务消息由所述模型构件管理平台服务器发送至任务消息队列,所述升级引擎服务器监听所述任务消息队列中的升级任务消息。
相应的,本发明还提供了一种构件文件升级方法,由升级引擎服务器执行,包括以下步骤:
接收来自模型构件管理平台服务器的升级任务消息,该升级任务消息中包括待升级构件文件的文件名、存储地址;
从构件文件存储服务器下载待升级的构件文件,解析该待升级构件文件的当前版本,将该待升级构件文件的当前版本经由所述模型构件管理平台服务器记录到数据库中,将该待升级构件文件依次从当前版本升级至建模设计软件最高版本,生成多个副本构件文件,将所述多个副本构件文件上传至所述构件文件存储服务器进行存储,将所述各个副本构件文件的文件信息经由所述模型构件管理平台服务器记录到数据库中,所述文件信息包括各副本构件文件的存储地址、文件名、版本;其中,所述多个副本构件文件的版本大于该待升级构件文件的当前版本,小于等于建模设计软件最高版本。
其中,将该待升级构件文件的当前版本经记录到数据库中,是为了模型构件管理平台服务器将来比较建模设计软件版本和构件文件当前版本,过滤不能使用的构件文件。将构件文件当前版本存在数据库中,模型构件管理平台服务器就可以根据建模设计软件版本,从数据库中获取当前用户能够使用的,即版本等于或者低于当前建模设计软件版本的构件文件列表。
优选的,所述模型构件管理平台服务器、数据库、构件文件存储服务器、升级引擎服务器、任务消息队列可以单独部署在不同的物理计算机上,也可以部署在一台物理计算机上。
优选的,所述模型构件管理平台服务器、数据库、构件文件存储服务器、升级引擎服务器、任务消息队列全部或部分位于云端。由此实现构件文件云端升级、云端模型构件管理平台服务器以及构件文件云端存储。
优选的,模型构件选自但不限于以下建模设计软件:Revit,ArchiCAD,DigitalProject,Bentley Architecture。
本实施例中数据库可以采用现有的各种数据库技术,例如但不限于MySQL、Oracle等关系型数据库。
综上,本发明公开的上述技术方案,模型构件管理平台服务器根据客户端建模设计软件版本直接过滤掉用户当前建模设计软件版本不能使用的高版本构件文件,仅仅向客户端用户提供可用构件文件列表,从而避免了建模设计软件提示构件文件版本过高、不能使用的情况。
同时,本发明公开的上述技术方案中,构件文件只在云端的升级引擎服务器升级一次,从当前版本至建模设计软件最高版本,多个版本的构件文件均存储在构件文件存储服务器中,当客户端用户使用构件文件时由模型构件管理平台服务器为其适配相同版本的文件,从而免除了客户端的升级困扰。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
Claims (14)
1.一种模型构件库的智能管理方法,其特征在于,包括以下步骤:
S01:模型构件库客户端通过其上运行的模型构件库插件识别当前建模设计软件版本;
S02:所述模型构件库客户端将当前建模设计软件版本发送至模型构件管理平台服务器;
S03:所述模型构件管理平台服务器根据当前建模设计软件版本从数据库中查询当前建模设计软件可用的构件文件,所述可用的构件文件包括版本等于或者低于当前建模设计软件版本的构件文件,所述数据库中记录有各版本构件文件的文件名、版本及对应的存储地址;
S04:所述数据库向所述模型构件管理平台服务器返回可用构件文件列表;
S05:所述模型构件管理平台服务器将所述可用构件文件列表返回至所述模型构件库客户端。
2.如权利要求1所述的方法,其特征在于,所述步骤S05之后还包括以下步骤:
S06:所述模型构件库客户端发送构件文件下载请求至所述模型构件管理平台服务器,所述构件文件下载请求中包括建模设计软件用户从步骤S05返回的可用构件文件列表中选择的要使用的构件文件以及当前建模设计软件版本;
S07:所述模型构件管理平台服务器根据所述构件文件下载请求,从所述数据库中获取对应于当前建模设计软件版本的所选构件文件的存储地址;
S08:所述模型构件管理平台服务器根据步骤S07获取的所述存储地址从构件文件存储服务器下载相应的构件文件,所述构件文件存储服务器中存储有各模型构件库客户端上传的构件文件以及各构件文件升级后的多个版本的副本构件文件;
S09:所述模型构件管理平台服务器将所下载的构件文件返回至所述模型构件库客户端。
3.如权利要求2所述的方法,其特征在于,所述步骤S08中各模型构件库客户端通过以下步骤完成构件文件上传:
S11:模型构件库客户端向所述模型构件管理平台服务器发送待上传的构件文件;
S12:所述模型构件管理平台服务器将所述待上传构件文件发送至所述构件文件存储服务器进行存储;
S13:所述构件文件存储服务器向所述模型构件管理平台服务器返回构件文件存储地址,
S14:所述模型构件管理平台服务器将所上传的构件文件的文件信息记录到所述数据库中,所述文件信息包括所上传构件文件的存储地址、文件名、版本。
4.如权利要求2所述的方法,其特征在于,所述步骤S08中,各构件文件通过以下步骤升级为多个版本的副本构件文件:
S21:由升级引擎服务器从所述构件文件存储服务器下载待升级的构件文件;
S22:所述升级引擎服务器解析该待升级构件文件的当前版本;
S23:所述升级引擎服务器将所述待升级构件文件的当前版本经由所述模型构件管理平台服务器记录到所述数据库中;
S24:所述升级引擎服务器将该待升级构件文件依次从当前版本升级至建模设计软件最高版本,生成多个副本构件文件,所述多个副本构件文件的版本大于该待升级构件文件的当前版本,小于等于建模设计软件最高版本;
S25:所述升级引擎服务器将所述多个副本构件文件上传至所述构件文件存储服务器进行存储;
S26:所述构件文件存储服务器向所述升级引擎服务器返回各个副本构件文件的存储地址;
S27:所述升级引擎服务器将所述各个副本构件文件的文件信息经由所述模型构件管理平台服务器记录到所述数据库中,该文件信息包括各副本构件文件的存储地址、文件名、版本。
5.如权利要求4所述的方法,其特征在于,所述步骤S21之前还包括以下步骤:
S20:所述升级引擎服务器监听任务消息队列中是否有升级任务消息,如果有,则执行步骤S21,否则继续监听;所述升级任务消息由所述模型构件管理平台服务器发出,该升级任务消息中包括从所述数据库获取的待升级构件文件的文件名、存储地址。
6.一种模型构件库智能管理系统,其特征在于,包括模型构件库客户端、模型构件管理平台服务器、数据库,其中:
所述模型构件库客户端,通过其上运行的模型构件库插件识别当前建模设计软件版本,并将当前建模设计软件版本发送至模型构件管理平台服务器;
所述模型构件管理平台服务器,用于根据当前建模设计软件版本从所述数据库中查询当前建模设计软件可用的构件文件,所述可用的构件文件包括版本等于或者低于当前建模设计软件版本的构件文件;
所述数据库,用于记录各版本构件文件的文件名、版本及对应的存储地址,向所述模型构件管理平台服务器返回可用构件文件列表;
所述模型构件管理平台服务器还用于将所述可用构件文件列表返回至所述模型构件库客户端。
7.如权利要求6所述的系统,其特征在于,该系统还包括构件文件存储服务器,其中存储有各模型构件库客户端上传的构件文件以及各构件文件升级后的多个版本的副本构件文件;
所述模型构件库客户端,进一步用于向所述模型构件管理平台服务器发送构件文件下载请求,所述构件文件下载请求中包括建模设计软件用户从所述模型构件管理平台服务器返回的可用构件文件列表中选择的要使用的构件文件以及当前建模设计软件版本;
所述模型构件管理平台服务器,进一步用于根据所述构件文件下载请求从所述数据库中获取对应于当前建模设计软件版本的所选构件文件的存储地址,根据获取的所述存储地址从所述构件文件存储服务器下载相应的构件文件,将所下载的构件文件返回至所述模型构件库客户端。
8.如权利要求7所述的系统,其特征在于,各模型构件库客户端通过与所述模型构件管理平台服务器、所述数据库、所述构件文件存储服务器交互,完成构件文件上传,具体为:
模型构件库客户端将待上传的构件文件经由所述模型构件管理平台服务器发送至所述构件文件存储服务器;
所述构件文件存储服务器完成构件文件存储之后,向所述模型构件管理平台服务器返回构件文件存储地址;
所述模型构件管理平台服务器进一步将所上传的构件文件的文件信息记录到所述数据库中,所述文件信息包括所上传构件文件的存储地址、文件名、版本。
9.如权利要求7所述的系统,其特征在于,该系统还包括升级引擎服务器,其用于从所述构件文件存储服务器下载待升级的构件文件,解析该待升级构件文件的当前版本,将该待升级构件文件的当前版本经由所述模型构件管理平台服务器记录到所述数据库中,将该待升级构件文件依次从当前版本升级至建模设计软件最高版本,生成多个副本构件文件,将所述多个副本构件文件上传至所述构件文件存储服务器进行存储,将所述各个副本构件文件的文件信息经由所述模型构件管理平台服务器记录到所述数据库中,所述文件信息包括各副本构件文件的存储地址、文件名、版本;其中,所述多个副本构件文件的版本大于该待升级构件文件的当前版本,小于等于建模设计软件最高版本。
10.如权利要求9所述的系统,其特征在于,所述升级引擎服务器通过监听任务消息队列中是否有升级任务消息来确定是否下载构件文件进行升级;所述升级任务消息由所述模型构件管理平台服务器发出,该升级任务消息中包括从所述数据库获取的待升级构件文件的文件名、存储地址。
11.一种用于构件文件升级的升级引擎服务器,其特征在于,其接收来自模型构件管理平台服务器的升级任务消息,从构件文件存储服务器下载待升级的构件文件,解析该待升级构件文件的当前版本,将该待升级构件文件的当前版本经由所述模型构件管理平台服务器记录到数据库中,将该待升级构件文件依次从当前版本升级至建模设计软件最高版本,生成多个副本构件文件,将所述多个副本构件文件上传至所述构件文件存储服务器进行存储,将所述各个副本构件文件的文件信息经由所述模型构件管理平台服务器记录到所述数据库中,所述文件信息包括各副本构件文件的存储地址、文件名、版本;其中,所述多个副本构件文件的版本大于该待升级构件文件的当前版本,小于等于建模设计软件最高版本;所述升级任务消息中包括待升级构件文件的文件名、存储地址。
12.如权利要求11所述的升级引擎服务器,其特征在于,所述升级任务消息由所述模型构件管理平台服务器发送至任务消息队列,所述升级引擎服务器监听所述任务消息队列中的升级任务消息。
13.一种构件文件升级方法,其特征在于,由升级引擎服务器执行,包括以下步骤:
接收来自模型构件管理平台服务器的升级任务消息,该升级任务消息中包括待升级构件文件的文件名、存储地址;
从构件文件存储服务器下载待升级的构件文件,解析该待升级构件文件的当前版本,将该待升级构件文件的当前版本经由所述模型构件管理平台服务器记录到数据库中,将该待升级构件文件依次从当前版本升级至建模设计软件最高版本,生成多个副本构件文件,将所述多个副本构件文件上传至所述构件文件存储服务器进行存储,将所述各个副本构件文件的文件信息经由所述模型构件管理平台服务器记录到所述数据库中,所述文件信息包括各副本构件文件的存储地址、文件名、版本;其中,所述多个副本构件文件的版本大于该待升级构件文件的当前版本,小于等于建模设计软件最高版本。
14.如权利要求13所述的方法,其特征在于,所述升级任务消息由所述模型构件管理平台服务器发送至任务消息队列,所述升级引擎服务器监听所述任务消息队列中的升级任务消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811567778.5A CN109753296B (zh) | 2018-12-21 | 2018-12-21 | 一种模型构件库的智能管理方法、系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811567778.5A CN109753296B (zh) | 2018-12-21 | 2018-12-21 | 一种模型构件库的智能管理方法、系统及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753296A true CN109753296A (zh) | 2019-05-14 |
CN109753296B CN109753296B (zh) | 2022-04-05 |
Family
ID=66403011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811567778.5A Active CN109753296B (zh) | 2018-12-21 | 2018-12-21 | 一种模型构件库的智能管理方法、系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753296B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750824A (zh) * | 2019-09-27 | 2020-02-04 | 贵州百胜工程建设咨询有限公司 | 一种bim族库管理方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6425125B1 (en) * | 1999-03-30 | 2002-07-23 | Microsoft Corporation | System and method for upgrading client software |
CN101110788A (zh) * | 2006-07-20 | 2008-01-23 | 阿里巴巴公司 | 升级客户端软件的方法及系统 |
US20080263107A1 (en) * | 2007-04-18 | 2008-10-23 | Sohn Matthias E | Conflict Management in a Versioned File System |
US7739655B1 (en) * | 2004-07-08 | 2010-06-15 | The Mathworks, Inc. | Version control in modeling environments |
CN101924775A (zh) * | 2010-09-08 | 2010-12-22 | 北京大学 | 一种Android应用构件的透明加载方法及系统 |
CN102387165A (zh) * | 2010-08-27 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 软件升级系统及方法 |
CN107656749A (zh) * | 2017-09-26 | 2018-02-02 | 国网江苏省电力公司 | 一种设备版本管控方法及装置 |
-
2018
- 2018-12-21 CN CN201811567778.5A patent/CN109753296B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6425125B1 (en) * | 1999-03-30 | 2002-07-23 | Microsoft Corporation | System and method for upgrading client software |
US7739655B1 (en) * | 2004-07-08 | 2010-06-15 | The Mathworks, Inc. | Version control in modeling environments |
CN101110788A (zh) * | 2006-07-20 | 2008-01-23 | 阿里巴巴公司 | 升级客户端软件的方法及系统 |
US20080263107A1 (en) * | 2007-04-18 | 2008-10-23 | Sohn Matthias E | Conflict Management in a Versioned File System |
CN102387165A (zh) * | 2010-08-27 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 软件升级系统及方法 |
CN101924775A (zh) * | 2010-09-08 | 2010-12-22 | 北京大学 | 一种Android应用构件的透明加载方法及系统 |
CN107656749A (zh) * | 2017-09-26 | 2018-02-02 | 国网江苏省电力公司 | 一种设备版本管控方法及装置 |
Non-Patent Citations (1)
Title |
---|
刘妍: "层次化建模中构件管理的研究与实现", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750824A (zh) * | 2019-09-27 | 2020-02-04 | 贵州百胜工程建设咨询有限公司 | 一种bim族库管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109753296B (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102779185B (zh) | 一种高可用分布式全文索引方法 | |
CN102129378B (zh) | 一种软件菜单更新方法和装置 | |
CN109391664A (zh) | 用于多集群容器部署的系统和方法 | |
JP2020518926A (ja) | 分散コンピューティングシステムのための、バックアップおよび復元フレームワーク | |
CN109117425A (zh) | 管理被存储为组件和打包文件的数字资产 | |
US20080120400A1 (en) | Systems and Methods for Constructing Relationship Specifications from Component Interactions | |
WO2015117426A1 (zh) | 文件管理方法及装置 | |
CN1755720A (zh) | 用于缓存或同步项目数据的方法和系统 | |
CN103067484A (zh) | 一种自动升级应用程序的方法和系统 | |
CN103731483A (zh) | 一种基于云计算的虚拟文件系统 | |
CN103984573A (zh) | 应用程序的安装方法及装置 | |
CN109144785A (zh) | 用于备份数据的方法和装置 | |
CN105824932A (zh) | 一种基于阿里云对象存储oss的档案系统 | |
CN105740047A (zh) | 一种基于云计算的虚拟机模板管理系统和方法 | |
CN102231163B (zh) | 将指定文件优先同步更新的系统及方法 | |
CN109271452A (zh) | Db2数据库数据同步更新方法及设备 | |
CN105912424A (zh) | 一种基于云架构的终端程序快速备份及恢复方法 | |
CN110659261A (zh) | 一种数据挖掘模型发布方法及模型和模型服务管理方法 | |
CN107229649A (zh) | 数据更新系统及方法 | |
CN105357307A (zh) | 一种文件在线编辑方法、装置及系统 | |
CN104793981B (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN104361034A (zh) | 一种云存储的文件管理方法及装置 | |
CN106874343B (zh) | 一种时序数据库的数据删除方法及系统 | |
CN109753296A (zh) | 一种模型构件库的智能管理方法、系统及相关设备 | |
CN111291006B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |