分布式渲染方法

文档序号:6369948阅读:192来源:国知局
专利名称:分布式渲染方法
技术领域
本发明涉及一种渲染方法,特别地,通过互联网,异地电脑相互配合实现的分布式渲染方法。
背景技术
在设计模型构建完成之后,为了看出实际效果,通常需要对模型进行渲染。而现有的渲染方式是在本地主机上进行渲染。这就要求本地主机上存储有所有的渲染要素,以备渲染时调用。这样渲染耗时长,且渲染要素变化性差。更重要的是,不利于设计模型制作者与要素提供者之间的配合。
特别是针对调取不同设计素材进行建模设计,而不同设计素材又处在变化之中,由异地设计者不断设计更新的情况下,利用异地素材进行渲染尤为重要。这样就需要本地主机和异地主机相互配合,形成分布式渲染方法。

发明内容
本发明的目的在于克服现有技术中的缺陷,公开ー种分布式渲染方法。这种方法能够允许异地电脑通过服务器的安排,协同实现渲染操作。其目的是加快渲染速度,且满足渲染要素更新变化的需求。本发明特别针对房屋装修设计建模需求,整合各个装饰建材商家的设计和产品,将商家的最新设计通过互联网,及时快速地展现在建模的渲染效果中,帮助商家推陈出新,拓展向用户快速展示新产品的渠道。为此,本发明公开了ー种分布式渲染方法,采用由至少ー个服务器和多个节点终端组成的系统执行,其中所述服务器和节点终端之间彼此通过网络通讯连接,包括以下步骤步骤一、所述多个节点终端中的一个节点終端作为主节点終端,向服务器发送渲染任务协助请求;步骤ニ、服务器根据该请求,在除了所述主节点終端之外的其它节点終端中挑选与此渲染任务相应的至少ー个节点终端作为资源节点终端;步骤三、向资源节点终端发送渲染任务,资源节点終端生成渲染场景,并且资源节点終端检查所生成的渲染场景是否与主节点终端同步;步骤四、若同步,则资源节点终端开始执行渲染任务,并在渲染任务完成后,通过服务器将渲染结果发送给所述主节点终端。优选的是,所述的分布式渲染方法中,在所述步骤一之前还包括用户向所述主节点終端发出渲染任务指令,所述主节点終端接收渲染任务指令的步骤。优选的是,所述的分布式渲染方法中,在所述步骤ニ中,服务器挑选资源节点终端之后,还生成资源节点終端列表。
优选的是,所述的分布式渲染方法中,在所述步骤四之后,还包括以下步骤所述主节点设置定时器,若所述渲染结果在定时器预定的时间内发送到主节点终端,则主节点終端接收该渲染結果;若所述渲染结果未在定时器预定的时间内发送到主节点終端,则主节点終端自身启动渲染程序。定时器是在主节点终端收到同步信号后开始计时的。
优选的是,所述的分布式渲染方法中,所述主节点終端自身启动渲染程序后,向服务器发出取消渲染任务协助请求,所述服务器向各资源节点终端发出释放资源节点终端指令。并且主节点终端因指定资源节点終端定时器超时,而自身启动渲染,是指主节点终端仅仅需要重新渲染出现超时问题资源节点部分。优选的是,所述的分布式渲染方法中,所述步骤四还包括若不同歩,则资源节点終端通过服务器向主节点终端发出不同步信号,主节点终端收到不同步信号后,自身启动渲染程序。优选的是,所述的分布式渲染方法中,所述主节点終端接收到渲染任务指令后,拆分管理渲染任务,所述服务器根据拆分结果,挑选资源节点终端,并且所述主节点終端接收到渲染结果后,合并各资源节点的渲染結果。优选的是,所述的分布式渲染方法中,所述服务器为至少两台,且彼此之间存在同步通信,各节点终端基于地域信息与其中一台服务器建立连接,节点终端间的数摒通信由所述服务器进行转发。优选的是,所述的分布式渲染方法中,在所述步骤三中,资源节点終端生成渲染场景是通过以下方式实现的资源节点終端根据由所述主节点终端发送的渲染任务中包含的记录场景信息的可扩展标记语言xml文件与资源节点終端内的相应模型数据,生成与所述主节点终端内相同的渲染场景。优选的是,所述的分布式渲染方法中,所述步骤三中的同步过程为所述主节点终端获取渲染场景数的消息摘要算法值,以可扩展标记语言xml的形式通过服务器转发给各资源节点終端,各资源节点终端获取其自身得到的渲染场景数据的消息摘要算法值,并将自身获取的消息摘要算法值与由主节点终端转发来的消息摘要算法值进行比对,若两值相同则同步,若两值不同则不同步。本发明的分布式渲染方法,在渲染时,由本地主机发布渲染命令,通过将渲染任务分解,并通过服务器发送到多个资源节点终端上。由资源节点終端分头完成渲染工作,在将完成的渲染工作传送回本地主机,由本地主机进行合并处理,最终生成要渲染的图片。相当于将一件渲染任务交由多个终端进行处理,因此能够提高渲染速度。并且也能够利用资源节点终端上的渲染资源,随着资源节点终端上的渲染资源的变化而做出同步调整。例如,当瓷砖商家想更新瓷砖款式或渲染效果要素时,只需要在本地电脑上进行更新。而异地用户在自己的电脑上进行渲染操作时,会将商家的本地电脑作为资源节点终端,而将用户自己的电脑作为主节点終端,通过服务器,让商家的本地电脑协助进行渲染。服务器可以有多台,而节点终端甚至可以有上千台。节点终端彼此之间的地位可以是平等的,任何一台节点終端都可以作为主节点终端,也可以作为资源节点終端,而仅仅在于一次渲染任务中的地位不同。发布任务者即为主节点終端,而处理渲染者即为资源节点终端。这样使得和几台服务器连接的所有节点终端彼此之间构成ー个庞大的渲染设计互助群,不但能够提高渲染速度,而且能够共享设计成果。


图I为依照本发明的一个实施的渲染方法的流程示意图;图2为资源节点同步判断的流程示意图。
具体实施例方式下面结合附图对本发明做进ー步的详细说明,以令本领域技术人员參照说明书文字能够据以实施。
如图I和图2所示,本发明公开了ー种分布式渲染方法,采用由至少ー个服务器和多个节点终端组成的系统执行,其中所述服务器和节点终端之间彼此通过网络通讯连接,包括以下步骤步骤一、所述多个节点终端中的一个节点終端作为主节点終端,向服务器发送渲染任务协助请求;步骤ニ、服务器根据该请求,在除了所述主节点終端之外的其它节点終端中挑选与此渲染任务相应的至少ー个节点终端作为资源节点终端;步骤三、向资源节点终端发送渲染任务,资源节点終端生成渲染场景,并且资源节点終端检查所生成的渲染场景是否与主节点终端同步;步骤四、若同步,则资源节点终端开始执行渲染任务,并在渲染任务完成后,将渲染结果发送给所述主节点終端。优选的是,所述的分布式渲染方法中,在所述步骤一之前还包括用户向所述主节点終端发出渲染任务指令,所述主节点終端接收渲染任务指令的步骤。优选的是,所述的分布式渲染方法中,在所述步骤ニ中,服务器挑选资源节点终端之后,还生成资源节点終端列表。优选的是,所述的分布式渲染方法中,在所述步骤四之后,还包括以下步骤所述服务器或主节点终端设置定时器,若所述渲染结果在定时器预定的时间内发送到主节点终端,则主节点終端接收该渲染結果;若所述渲染结果未在定时器预定的时间内发送到主节点终端,则主节点終端自身启动渲染程序。优选的是,所述的分布式渲染方法中,所述主节点終端自身启动渲染程序后,向服务器发出取消渲染任务协助请求,所述服务器向各资源节点终端发出释放资源节点终端指令。优选的是,所述的分布式渲染方法中,所述步骤四还包括若不同歩,则资源节点終端通过服务器向主节点终端发出不同步信号,主节点终端收到不同步信号后,自身启动渲染程序。优选的是,所述的分布式渲染方法中,所述主节点終端接收到渲染任务指令后,拆分管理渲染任务,所述服务器根据拆分结果,挑选资源节点终端,并且所述主节点終端接收到渲染结果后,合并各资源节点的渲染結果。优选的是,所述的分布式渲染方法中,所述服务器为至少两台,且彼此之间存在同步通信,各节点终端基于地域信息与其中一台服务器建立连接,节点终端间的数据通信由所述服务器进行转发。优选的是,所述的分布式渲染方法中,在所述步骤三中,资源节点終端生成渲染场景是通过以下方式实现的资源节点終端根据由所述主节点终端发送的渲染任务中包含的记录场景信息的可扩展标记语言xml文件与资源节点終端内的相应模型数据,生成与所述主节点终端内相同的渲染场景。优选的是,所述的分布式渲染方法中,所述步骤三中的同步过程为所述主节点终端获取渲染场景数的消息摘要算法值,以可扩展标记语言xml的形式通过服务器转发给各资源节点終端,各资源节点终端获取其自身得到的渲染场景数据的消息摘要算法值,并将自身获取的消息摘要算法值与由主节点终端转发来的消息摘要算法值进行比对,若两值相同则同步,若两值不同则不同步。其中,渲染节点定义为渲染节点在渲染过程中主要分为两个类型主节点与资 源节点。主节点是渲染任务发起节点,资源节点是渲染任务參与节点。主节点主要职责包括,拆分管理渲染任务、容错处理、发送任务并接受渲染结果、合并各个资源节点的渲染结果、向服务器发送释放资源节点指令等。资源节点主要职责包括,检查场景同步、执行渲染任务、发送渲染结果给主节点等。分布式渲染系统整体架构由若干(目前两台)台服务器与数千台渲染节点组成。服务器之间存在同步通信,渲染节点根据地域与一台服务器建立连接。节点间的数据通信由服务器进行转发。资源节点生成渲染场景是指资源节点根据由主节点发送的记录场景信息的xml文件与本地的模型数据,可生成与主节点同样的渲染场景。场景数摒同步的目的是保证各个资源节点与主节点的渲染场景一致。同步的过程主要体现在主节点获取场景数的md5 (消息摘要算法第五版)值,以可扩展标记语言(xml)的形式通过服务器转发给各个子节点,与资源节点导出的场景数据的md5值的进行比对,值相同则同步,值不同则不同步,最后将结果返回给主节点。服务器端中转数据是通过以下方式实现的首先,在服务器中存储了分布式所有渲染节点的信息。当节点A向节点B发送数据时,节点A先将包含地址信息的数据发往服务器端,服务器解析数据中的地址信息,地址信息中包括数据的来源和走向,然后服务器根据地址信息将数据转发给B节点,完成数据转发的过程。尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
权利要求
1.一种分布式渲染方法,采用由至少一个服务器和多个节点终端组成的系统执行,其中所述服务器和节点终端之间彼此通过网络通讯连接,其特征在于,包括以下步骤 步骤一、所述多个节点终端中的一个节点终端作为主节点终端,向服务器发送渲染任务协助请求; 步骤二、服务器根据该请求,在除了所述主节点终端之外的其它节点终端中挑选与此渲染任务相应的至少一个节点终端作为资源节点终端; 步骤三、向资源节点终端发送渲染任务,资源节点终端生成渲染场景,并且资源节点终端检查所生成的渲染场景是否与主节点终端同步; 步骤四、若同步,则资源节点终端开始执行渲染任务,并在渲染任务完成后,将渲染结果发送给所述主节点终端。
2.如权利要求I所述的分布式渲染方法,其特征在于,在所述步骤一之前还包括用户向所述主节点终端发出渲染任务指令,所述主节点终端接收渲染任务指令的步骤。
3.如权利要求I所述的分布式渲染方法,其特征在于,在所述步骤二中,服务器挑选资源节点终端之后,还生成资源节点终端列表,并且所述主节点终端获得所述资源节点终端列表。
4.如权利要求I所述的分布式渲染方法,其特征在于,在所述步骤四之后,还包括以下步骤 所述主节点终端设置定时器,若所述渲染结果在定时器预定的时间内发送到主节点终端,则主节点终端接收该渲染结果;若所述渲染结果未在定时器预定的时间内发送到主节点终端,则主节点终端自身启动渲染程序。
5.如权利要求4所述的分布式渲染方法,其特征在于,所述主节点终端自身启动渲染程序后,向服务器发出取消渲染任务协助请求,所述服务器向超时的资源节点终端发出释放资源节点终端指令。
6.如权利要求I所述的分布式渲染方法,其特征在于,所述步骤四还包括若不同步,则资源节点终端通过服务器向主节点终端发出不同步信号,主节点终端收到不同步信号后,自身启动渲染程序。
7.如权利要求2所述的分布式渲染方法,其特征在于,所述主节点终端接收到渲染任务指令后,拆分管理渲染任务,所述服务器根据拆分结果,挑选资源节点终端,并且所述主节点终端接收到渲染结果后,合并各资源节点的渲染结果。
8.如权利要求I所述的分布式渲染方法,其特征在于,所述服务器为至少两台,且彼此之间存在同步通信,各节点终端基于地域信息与其中一台服务器建立连接,节点终端间的数据通信由所述服务器进行转发。
9.如权利要求I所述的分布式渲染方法,其特征在于,在所述步骤三中,资源节点终端生成渲染场景是通过以下方式实现的资源节点终端根据由所述主节点终端发送的渲染任务中包含的记录场景信息的可扩展标记语言xml文件与资源节点终端内的相应模型数据,生成与所述主节点终端内相同的渲染场景。
10.如权利要求9所述的分布式渲染方法,其特征在于,所述步骤三中骤的同步过程为所述主节点终端获取渲染场景数的消息摘要算法值,以可扩展标记语言xml的形式通过服务器转发给各资源节点终端,各资源节点终端获取其自身得到的渲染场景数据的消息摘要算法值,并将自身获取 的消息摘要算法值与由主节点终端转发来的消息摘要算法值进行比对,若两值相同则同步,若两值不同则不同步。
全文摘要
本发明公开了一种分布式渲染方法,采用由至少一个服务器和多个节点终端组成的系统执行,其中所述服务器和节点终端之间彼此通过网络通讯连接,包括以下步骤多个节点终端中的一个节点终端作为主节点终端,向服务器发送渲染任务协助请求;服务器根据该请求,在除了主节点终端之外的其它节点终端中挑选与此渲染任务相应的至少一个节点终端作为资源节点终端;向资源节点终端发送渲染任务,资源节点终端生成渲染场景,并且资源节点终端检查所生成的渲染场景是否与主节点终端同步;若同步,则资源节点终端开始执行渲染任务,并在渲染任务完成后,将渲染结果发送给所述主节点终端。本发明的分布式渲染方法极大地提高了渲染效率,并且实现了不同节点终端的配合协作。
文档编号G06F17/50GK102685239SQ201210156750
公开日2012年9月19日 申请日期2012年5月18日 优先权日2012年5月18日
发明者刘汝佳, 刘江赛, 姚劲, 张兴男 申请人:北京尔宜居科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1