一种动态更新资源的方法与流程

文档序号:14443654阅读:1530来源:国知局
一种动态更新资源的方法与流程

本发明涉及数字化工厂三维交互应用平台进行三维交互应用平台的应用开发领域,具体是一种动态更新资源的方法。



背景技术:

目前,数字化电厂三维交互平台资源更新机制没有一个综合解决方案,用户在不需要重新进行工程打包和编译的前提下不能对各类资源进行动态的维护与升级,无法控制资源文件可能发生的错误,三维应用平台的工作管线差。



技术实现要素:

本发明的目的在于提供一种动态更新资源的方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:

一种动态更新资源的方法,包括以下步骤:

(1)首先,资源导入模块,通过数字化工厂三维交互平台的资源窗口,用户得到网络资源列表,选择感兴趣的资源进行下载,在下载的同时,系统会将资源的原始下载地址与对应的md5值进行分类录入,存储到资源信息文件中,资源文件会自动的下载到本地工程文件目录;

(2)用户得到所需要的模型及ui资源后,会使用数字化工厂三维交互平台进行场景的搭建与逻辑的编写,资源管理模块会根据用户所创建的场景与每个场景所使用到的资源,在资源信息中予以标注,并记录到资源信息文件中,并为每一个场景创建一个场景管理器,当程序运行时,所述场景管理器会负责完成场景资源的载入与用户逻辑的初始化;

(3)用户完成三维交互应用程序的编辑与操作后,会将工程资源进行打包,以供编译好的应用程序进行调用,资源打包模块会将资源加载器编译进程序中,其主要为场景加载提供接口,并对资源的更新进行处理;

(4)当用户打包好的应用程序被执行时,资源加载器被首先调用,资源加载器会检索本地文件是否有已经下载的更新文件,没有则调用本地资源,有则执行更新程序,对本地资源进行覆盖,然后调用给场景管理器,完成场景的初始化;在程序执行过程中,资源加载器会开启独立的线程与服务器进行通讯,将本地资源的md5值与服务器端资源的md5值进行比对,如遇不同,则开启下载任务进临时文件夹,并将资源文件进行标注,则在下一次启动程序执行时,会启动更新机制,如果没有发现不同,则关闭线程。

作为本发明进一步的方案:步骤(1)中,用户使用下载的资源进行场景的搭建与逻辑的编写,当用户执行保存场景的操作时,系统为每一个场景所创建的管理器对象会遍历场景数据,记录当前场景所使用的资源,并将其记录到资源信息文件中,标注资源的场景调用信息,同一个资源可以被多个场景分别调用,没有被调用的资源不会被打包进生成的应用程序中。

作为本发明再进一步的方案:步骤(2)中,用户使用搭建好场景进行模拟运行时,场景管理器会将场景中的资源文件清空,并根据所记录的场景信息,调用场景加载器接口,在模拟运行时场景加载器只会加载本地工程文件夹内的文件,除非用户手动进行资源的更新操作。

作为本发明再进一步的方案:步骤(3)中,在三维应用制作的最后阶段,用户会将编辑好的场景进行打包与发布,系统会根据用户所选择的发布操作系统平台将被调用到的资源统一打包进符合平台规范的资源文件夹,场景文件中只保留场景管理器与逻辑处理部分。

作为本发明再进一步的方案:步骤(4)中,程序下一次启动时,资源加载器会首先检索资源信息文件,并对标注为需要更新的资源文件进行覆盖操作,操作完成后将缓冲文件夹内的资源文件删除,并修改资源信息文件的md5,使其与最新的文件相匹配,再执行完更新操作后,开始执行场景管理器,使用最新的资源文件来构建场景,完成了资源从生产到使用的更新操作。

与现有技术相比,本发明的有益效果是:本方法是数字化电厂三维交互平台资源更新机制的综合解决方案,可以实现用户在不需要重新进行工程打包和编译的前提下,让美工人员对各类资源进行动态的维护与升级,使资源文件可能发生的错误变得可以控制,改善了三维应用平台的工作管线。

附图说明

图1为动态更新资源的方法中资源导入模块的流程图。

图2为动态更新资源的方法中资源管理模块的流程图。

图3为动态更新资源的方法中资源打包模块的流程图。

图4为动态更新资源的方法中资源加载模块的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1~4,本发明实施例中,一种动态更新资源的方法,包括以下步骤:

(1)首先,资源导入模块,用户可以打开资源下载窗口,系统会向服务器程序发送开启请求,服务器程序在验证客户端身份后向数据库查询可用资源,并向客户端返回资源列表数据,客户端完成资源界面的初始化,用户通过单击某个资源列表数据,向服务器端发送查询请求,服务器端向数据库查询此资源的所有可用信息,创建资源类对象,将此对象进行序列化后返回客户端,客户端将接收到的数据进行解析,创建资源类窗口对象,刷新界面,显示单个资源详细信息页面,通过此页面,用户可以选择是否下载此资源文件,在单击下载按钮后,系统会开启下载线程,并在下载完成后将此资源导入本地工程目录,同时创建资源信息对象,对应此资源记录其下载地址与md5值,(资源信息类负责记录资源的原始地址信息与场景调用信息),并将此对象序列化后以文件形式保存;

进一步的,用户使用下载的资源进行场景的搭建与逻辑的编写,当用户执行保存场景的操作时,系统为每一个场景所创建的管理器对象会遍历场景数据,记录当前场景所使用的资源,并将其记录到资源信息文件中,标注资源的场景调用信息,同一个资源可以被多个场景分别调用,没有被调用的资源不会被打包进生成的应用程序中;

(2)当用户使用搭建好场景进行模拟运行时,场景管理器会将场景中的资源文件清空,并根据所记录的场景信息,调用场景加载器接口,在模拟运行时场景加载器只会加载本地工程文件夹内的文件,除非用户手动进行资源的更新操作,这一步是完全的后台运行的,用户并不会感觉到场景管理器的存在;

(3)在三维应用制作的最后阶段,用户会将编辑好的场景进行打包与发布,系统会根据用户所选择的发布操作系统平台将被调用到的资源统一打包进符合平台规范的资源文件夹,场景文件中只保留场景管理器与逻辑处理部分;

(4)用户打包好的三维应用程序启动时,根据用户所指定的场景加载顺序,场景管理器会依次调用并初始化场景,资源的加载会调用资源加载器接口实现;在实际的操作系统中,资源加载器除了向管理器提供本地资源外,会开启独立的线程,检索本地的资源信息文件,将所有资源的id与md5值进行封装统一发送给服务器程序,服务器程序将此文件信息进行解析,构建资源信息对象数组,与数据库中录入的资源信息进行比对,如果服务器端资源发生过更新与升级,服务器端将所需更新的资源id返回,客户端接受到信息后,依次开启下载线程,将所需更新的文件下载到缓冲区(一个应用程序目录下的文件夹),下载结束后,修改资源信息文件,将有更新的文件予以标注,如遇主线程终止,则放弃下载任务,并不会触发资源信息文件的修改;程序下一次启动时,资源加载器会首先检索资源信息文件,并对标注为需要更新的资源文件进行覆盖操作,操作完成后将缓冲文件夹内的资源文件删除,并修改资源信息文件的md5,使其与最新的文件相匹配,再执行完更新操作后,开始执行场景管理器,使用最新的资源文件来构建场景,至此,就完成了资源从生产到使用的更新操作。

本发明的方法是数字化电厂三维交互平台资源更新机制的综合解决方案,可以实现用户在不需要重新进行工程打包和编译的前提下,让美工人员对各类资源进行动态的维护与升级,使资源文件可能发生的错误变得可以控制,改善了三维应用平台的工作管线。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1