一种GIS场景信息处理方法、系统、节点机和服务端与流程

文档序号:12010413阅读:261来源:国知局
一种GIS场景信息处理方法、系统、节点机和服务端与流程
本发明涉及数据处理技术领域,尤其涉及一种GIS场景信息处理方法、系统、节点机和服务端。

背景技术:
地理信息系统(GIS,GeographicInformationSystem)是用于采集、存储、管理、处理、检索、分析和表达地理信息数据的计算机系统,是分析和处理海量地理数据的通用技术。随着该技术的发展,对场景的处理方法从单一场景渲染显示到多个子场景渲染再整体显示,即服务器对应多个节点机,多个节点机渲染多个子场景,再显示到拼墙上形成一个完整的场景。一般的,服务端与多台节点机的通讯方法为广播通讯,既当需要显示一个三维场景时,由服务端同时广播所有的数据,各个节点机再一一获取并根据服务端发送的同步指令,计算并同步显示一个三维场景。目前的这种技术由于是服务端发送同步指令,再由客户端的节点机执行动作,只是保证了指令上的同步,各个节点机仍需要独自计算,由于各节点机的硬件配置不一样,性能差异导致各个节点机对每一帧渲染的时间不一样,从而产生了拼墙系统显示不同步。

技术实现要素:
本发明实施例提供了一种GIS场景信息处理方法、系统、节点机和服务端,用于有效同步显示GIS场景信息。本发明实施例提供的一种GIS场景信息处理方法,具体包括:与服务端建立通信;获取服务端发送的GIS场景信息;对GIS场景信息进行渲染,得到渲染信息;发送显示请求至服务端;接收服务端发送的显示指令;对渲染信息进行显示。可选的,与服务端建立通信步骤包括:组播自身位置信息,使服务端接收后建立连接列表;接收服务端根据连接列表发送的服务端位置信息;根据服务端位置信息,向服务端发送socket会话列表建立请求,使服务端建立socket会话列表。可选的,获取服务端发送的GIS场景信息步骤之后,对渲染信息进行显示步骤之前还包括:接收服务端发送的根据GIS场景信息计算得到的显示信息;根据显示信息调整显示参量。可选的,对GIS场景信息进行渲染,得到渲染信息步骤之后,发送显示请求至服务端步骤之前还包括,将渲染信息储存至后缓冲区。可选的,对渲染信息进行显示步骤之前还包括,将后缓冲区与前缓冲区换位。本发明实施例还提供了一种节点机,具体包括:建立单元,用于与服务端建立通信;获取单元,用于获取服务端发送的GIS场景信息;渲染单元,用于对GIS场景信息进行渲染,得到渲染信息;第一发送单元,用于发送显示请求至服务端;第一接收单元,用于接收服务端发送的显示指令;显示单元,用于对渲染信息进行显示。可选的,节点机还包括:储存单元,用于将渲染信息储存至后缓冲区;换位单元,用于将后缓冲区与前缓冲区换位。本发明实施例还提供了一种服务端,具体包括:第二发送单元,用于向各节点机发送GIS场景信息;第二接收单元,用于接收节点机发送的显示请求;第三发送单元,用于当接收到所有节点机的显示请求后,发送显示指令到各节点机。可选的,服务端还包括:第三接收单元,用于接收各节点机组播的各节点机的位置信息;第二建立单元,用于根据位置信息建立连接列表;第四发送单元,用于根据连接列表发送服务端位置信息到各节点机;第四接收单元,用于接收节点机发送socket会话列表建立请求;第三建立单元,用于建立socket会话列表。本发明实施例还提供了一种GIS场景信息处理系统,具体包括:节点机和服务端;节点机包括:建立单元,用于与服务端建立通信;获取单元,用于获取服务端发送的GIS场景信息;渲染单元,用于对GIS场景信息进行渲染,得到渲染信息;第一发送单元,用于发送显示请求至服务端;第一接收单元,用于接收服务端发送的显示指令;显示单元,用于对渲染信息进行显示。服务端包括:第二发送单元,用于向各节点机发送GIS场景信息;第二接收节点机发送的显示请求;第三发送单元,用于当接收到所有节点机的显示请求后,发送显示指令到各节点机。从以上技术方案可以看出,本发明实施例具有以下优点:本发明实施例提供的一种GIS场景信息处理方法,具体包括:与服务端建立通信;获取服务端发送的GIS场景信息;对GIS场景信息进行渲染,得到渲染信息;发送显示请求至服务端;接收服务端发送的显示指令;对渲染信息进行显示。由于各节点机接收GIS场景信息后,先对其进行渲染,然后由各节点机向服务端发送显示请求,当接收到服务端发送的显示指令后,才对渲染信息进行显示。而现有技术中节点机接收GIS场景信息后,需要等待接收服务端的同步指令后才进行渲染,再进行显示。由于不同节点机性能差异导致各个节点机对每一帧渲染的时间不一样,从而产生了显示不同步。本发明的方法是在所有节点机都渲染完成之后,等待显示指令,同步显示,从而解决了性能差异导致各个节点机对每一帧渲染的时间不一样的问题,从而达到同步显示的目的。附图说明图1为本发明实施例中一种GIS场景信息处理方法一个实施例流程图;图2为图1中节点机与服务端建立通信方法实施例流程图;图3为本发明实施例中一种GIS场景信息处理方法另一个实施例流程图;图4为本发明实施例中一种节点机结构示意图;图5为本发明实施例中一种服务器结构示意图;图6为本发明实施例中一种GIS场景信息处理系统结构示意图。具体实施方式本发明实施例提供了一种GIS场景信息处理方法、系统、节点机和服务端,用于有效同步显示GIS场景信息。请参阅图1,本发明实施例提供的一种GIS场景信息处理方法的一个实施例,具体包括:101、与服务端建立通信;在本实施例中,节点机与服务端建立通信,其目的是为了节点机和服务端能够进行通信,具体建立通信的方法将在后续实施例中进行详述,在此不做具体限定。102、获取服务端发送的GIS场景信息;在本实施例中,节点机获取服务端发送的GIS场景信息,该信息可以是三维的也可以是二维的。103、对GIS场景信息进行渲染,得到渲染信息;在本实施例中,节点机对GIS场景信息进行渲染,得到渲染信息。由于该渲染步骤属于现有技术,在此不做赘述。104、发送显示请求至服务端;在本实施例中,当得到渲染信息之后,节点机并不马上对其进行显示,而向服务端发送显示请求。105、接收服务端发送的显示指令;在本实施例中,节点机接收服务端发送的显示指令。需要说明的是,服务端将等待所有节点机都发送显示请求之后,才发送显示指令。106、对渲染信息进行显示。在本实施例中,节点机对渲染信息进行显示。本实施例中,节点机首先与服务端建立通信;再获取服务端发送的GIS场景信息;接着对GIS场景信息进行渲染,得到渲染信息;接着发送显示请求至服务端;当接收服务端发送的显示指令后,才对渲染信息进行显示。由于各节点机接收GIS场景信息后,先对其进行渲染,然后由各节点机向服务端发送显示请求,当接收到服务端发送的显示指令后,才对渲染信息进行显示。而现有技术中节点机接收GIS场景信息后,需要等待接收服务端的同步指令后才进行渲染,再进行显示。由于不同节点机性能差异导致各个节点机对每一帧渲染的时间不一样,从而产生了显示不同步。本发明的方法是在所有节点机都渲染完成之后,等待显示指令,同步显示,从而解决了性能差异导致各个节点机对每一帧渲染的时间不一样的问题,从而达到同步显示的目的。下面对节点机与服务端之间建立通信的步骤进行描述,请参阅图2,节点机与服务端建立通信步骤可以包括:201、组播节点机位置信息,使服务端接收后建立连接列表;在本实施例中,节点机将自己的位置信息通过组播的方式发送至服务端,时服务端接收后建立连接列表。需要说明的是,由于节点机不知道服务端的位置,无法通过单播的方式发送自己的位置信息,因此通过组播的方式来实现,该位置信息可以包括IP端口、物理位置等位置信息。202、接收服务端根据连接列表发送的服务端位置信息;在本实施例中,节点机接收服务端根据连接列表发送的服务端位置信息。需要说明的是,由于服务端不知道各节点机的位置信息,所有需要根据节点机的位置信息,建立链接列表,再将服务端位置依次发送给每一个节点机。节点机接收服务端的位置信息。203、根据服务端位置信息,向服务端发送socket会话列表建立请求,使服务端建立socket会话列表。在本实施例中,节点机根据服务端位置信息,向服务端发送socket会话列表建立请求,使服务端建立socket会话列表。本实施例主要描述了节点机与服务端建立socket会话列表的过程。由于现有技术中,服务端与节点机通过广播的方式建立通信,由于广播字节太多,容易产生网络风暴。而建立socket会话列表则有效避免了网络风暴的产生。上面对本实施例提供的一种GIS场景信息处理方法的第一实施例进行了描述,下面请参阅图3,本发明实施例中一种GIS场景信息处理方法的另一个施例具体包括:301、与服务端建立通信;在本实施例中,客户端与服务端建立通信的步骤可以是第二实施例中的步骤201到203。302、获取服务端发送的GIS场景信息;303、接收服务端发送的根据GIS场景信息计算得到的显示信息;304、根据显示信息调整显示参量;在本实施例中,客户端接收服务端发送的根据GIS场景信息计算得到的显示信息,其中显示信息可以包括:服务端根据GIS场景区域计算得到的显示区域,及根据GIS场景分辨率计算得到的显示分辨率等。需要说明的是,该显示信息可以是三维相机投影阵参数或变换矩阵参数也可以是二维GIS显示区域信息。接着客户端可以根据显示分辨率对相机参数进行调节,或者根据显示区域来确定拼墙的规模。需要说明的是,步骤304可以在步骤303与步骤310之间任意位置,不影响技术效果的实现,具体位置不做限定。305、对GIS场景信息进行渲染,得到渲染信息;306、将渲染信息储存至后缓冲区;在本实施例中,节点机将渲染信息储存至后缓冲区,需要说明的是,后缓冲区用于存放显卡待显示数据,而与之对应的前缓冲区用于显示。本领域技术人员可以认为步骤304是将渲染信息储存在带有储存功能的装置中。307、发送显示请求至服务端;308、接收服务端发送的显示指令;在本实施例中,步骤307与步骤308与第一实施例中的步骤104与步骤105一致,在此不做赘述。309、将后缓冲区与前缓冲区换位;在本实施例中,节点机将后缓冲区和前缓冲区换位,原后缓冲区变成当前前缓冲区,而原前缓冲区变为当前后缓冲区,当前前缓冲区用于显示,而当前后缓冲区用来接收下一帧的渲染信息。310、对渲染信息进行显示。本实施例中,节点机首先与服务端建立通信;再获取服务端发送的GIS场景信息;接着对GIS场景信息进行渲染,得到渲染信息;得到渲染信息之后,将该渲染信息储存在后缓冲区中,接着发送显示请求至服务端;当接收服务端发送的显示指令后,将前缓冲区和后缓冲区换位,最后对渲染信息进行显示。本实施例除了具备前两个实施例中的有益效果,在此之外,由于本实施例将渲染信息储存在后缓冲区,当接收显示指令后,将后缓冲区和前缓冲区换位,原后缓冲区变成当前前缓冲区,而原前缓冲区变为当前后缓冲区,当前前缓冲区进行显示,而当前后缓冲区用来接收下一帧的渲染信息。这个改变能够节省缓冲区到显示区的传递时间,使信息的处理速度更快。前面对本发明实施例提供的一种GIS场景信息处理方法实施例进行了描述,下面请参阅图4,本发明实施例还提供,的一种节点机,具体包括:建立单元401,用于与服务端建立通信;获取单元402,用于获取服务端发送的GIS场景信息;渲染单元403,用于对GIS场景信息进行渲染,得到渲染信息;第一发送单元404,用于发送显示请求至服务端;第一接收单元405,用于接收服务端发送的显示指令;显示单元406,用于对渲染信息进行显示。节点机进一步包括:储存单元407,用于将渲染信息储存至后缓冲区;换位单元408,用于将后缓冲区与前缓冲区换位。下面以一个具体应用中的例子对本实施例中的一种节点机内部单元之间的通信方式进行描述:首先,建立单元401与服务端建立通信,其目的是为了节点机和服务端能够进行通信,具体建立通信的方法将在后续实施例中进行详述,在此不做具体限定。接着,获取单元402获取服务端发送的GIS场景信息,该信息可以是三维的也可以是二维的。然后,渲染单元403对GIS场景信息进行渲染,得到渲染信息。再由储存单元407将渲染信息储存在后缓冲区,需要说明的是,后缓冲区用于存放显卡待显示数据,而与之对应的前缓冲区用于显示。接着,第一发送单元404发送显示请求至服务端,第一接收单元405接收服务端发送的显示指令,然后换为单元408将后缓冲区和前缓冲区换位,原后缓冲区变成当前前缓冲区,而原前缓冲区变为当前后缓冲区,当前前缓冲区用于显示,而当前后缓冲区用来接收下一帧的渲染信息。最后显示单元406对渲染信息进行显示。本实施例中,首先,建立单元401与服务端建立通信,接着,获取单元402获取服务端发送的GIS场景信息,然后,渲染单元403对GIS场景信息进行渲染,得到渲染信息。再由储存单元407将渲染信息储存在后缓冲区,接着,第一发送单元404发送显示请求至服务端,第一接收单元405接收服务端发送的显示指令,然后换为单元408将后缓冲区和前缓冲区换位,原后缓冲区变成当前前缓冲区,而原前缓冲区变为当前后缓冲区,当前前缓冲区用于显示,而当前后缓冲区用来接收下一帧的渲染信息。最后显示单元406对渲染信息进行显示。由于获取单元402获取GIS场景信息后,先由渲染单元403对其进行渲染,再由储存单元407将渲染信息储存在后缓冲区,接着,第一发送单元404发送显示请求至服务端,第一接收单元405接收服务端发送的显示指令,然后换为单元408将后缓冲区和前缓冲区换位,最后由显示单元406进行显示。而现有技术中节点机接收GIS场景信息后,需要等待接收服务端的同步指令后才进行渲染,再进行显示。由于不同节点机性能差异导致各个节点机对每一帧渲染的时间不一样,从而产生了显示不同步。本发明的方法是在所有节点机都渲染完成之后,等待显示指令,同步显示,从而解决了性能差异导致各个节点机对每一帧渲染的时间不一样的问题,从而达到同步显示的目的。另外,将后缓冲区和前缓冲区换位,原后缓冲区变成当前前缓冲区,而原前缓冲区变为当前后缓冲区,当前前缓冲区进行显示,而当前后缓冲区用来接收下一帧的渲染信息。这个改变能够节省缓冲区到显示区的传递时间,使信息的处理速度更快。请参阅图5,本发明实施例还提供的一种服务端,具体包括:第二发送单元501,用于向各节点机发送GIS场景信息;第二接收单元502,用于接收节点机发送的显示请求;第三发送单元503,用于当接收到所有节点机的显示请求后,发送显示指令到各节点机。本发明实施例中的一种服务端进一步包括:第三接收单元5014,用于接收各节点机组播的各节点机的位置信息;第二建立单元5015,用于根据位置信息建立连接列表;第四发送单元5016,用于根据连接列表发送服务端位置信息到各节点机;第四接收单元5017,用于接收节点机发送socket会话列表建立请求;第三建立单元5018,用于建立socket会话列表。下面以一个实际应用中的例子对本发明实施例中一种服务端内部单元通信方式进行描述:首先,由第三接收单元5014接收各节点机组播的各节点机的位置信息;需要说明的是,由于节点机不知道服务端的位置,无法通过单播的方式发送自己的位置信息,因此通过组播的方式来实现,该位置信息可以包括IP端口、物理位置等位置信息。然后由第二建立单元5015根据位置信息建立连接列表;接着,第四发送单元5016根据连接列表发送服务端位置信息到各节点机;然后第四接收单元5017接收节点机发送socket会话列表建立请求;最后,第三建立单元5018,用于建立socket会话列表。其次,由第二发送单元501向各节点机发送GIS场景信息;接着,第二接收单元502接收节点机发送的显示请求;当接收到所有节点机的显示请求后,第三发送单元503发送显示指令到各节点机。现有技术中节点机接收GIS场景信息后,需要等待接收服务端的同步指令后才进行渲染,再进行显示。由于不同节点机性能差异导致各个节点机对每一帧渲染的时间不一样,从而产生了显示不同步。本发明的方法是在所有节点机都渲染完成之后,发送显示指令,同步显示,从而解决了性能差异导致各个节点机对每一帧渲染的时间不一样的问题,从而达到同步显示的目的。另外,于现有技术中,服务端与节点机通过广播的方式建立通信,由于广播字节太多,容易产生网络风暴。而建立socket会话列表则有效避免了网络风暴的产生。请参阅图6,本发明实施例还提供了一种的GIS场景信息处理系统,具体包括:节点机601和服务端602;节点机601包括:建立单元6011,用于与服务端建立通信;获取单元6012,用于获取服务端发送的GIS场景信息;渲染单元6013,用于对GIS场景信息进行渲染,得到渲染信息;第一发送单元6014,用于发送显示请求至服务端;第一接收单元6015,用于接收服务端发送的显示指令;显示单元6016,用于对渲染信息进行显示。服务端602包括:第二发送单元6021,用于向各节点机发送GIS场景信息;第二接收单元6022,用于接收节点机发送的显示请求;第三发送单元6023,用于当接收到所有节点机的显示请求后,发送显示指令到各节点机。下面以一个实际应用中的例子对本发明实施例中的一种的GIS场景信息处理系统中各单元之间的通信进行描述。首先,建立单元6011与服务端602建立通信,其目的是为了节点机和服务端能够进行通信。接着,获取单元6012获取发送单元6021发送的GIS场景信息,该信息可以是三维的也可以是二维的。然后,渲染单元6013对GIS场景信息进行渲染,得到渲染信息。接着,第一发送单元6014发送显示请求至服务端,第二接收单元6022接收该显示请求,当所有节点机均发送了显示请求后,第三发送单元6023发送显示指令给各个节点机。第一接收单元6015接收第三发送单元6023发送的显示指令,最后显示单元6016对渲染信息进行显示。现有技术中节点机接收GIS场景信息后,需要等待接收服务端的同步指令后才进行渲染,再进行显示。由于不同节点机性能差异导致各个节点机对每一帧渲染的时间不一样,从而产生了显示不同步。本发明的方法是在所有节点机都渲染完成之后,等待显示指令,同步显示,从而解决了性能差异导致各个节点机对每一帧渲染的时间不一样的问题,从而达到同步显示的目的。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1