一种数据展示方法、装置、系统及电子设备与流程

文档序号:15517977发布日期:2018-09-25 18:47阅读:142来源:国知局
本发明涉及计算机领域,尤其涉及一种数据展示方法、装置、系统及电子设备。
背景技术
:目前,很多业务采用前、后端分离的方式进行数据处理,通过应用程序编程接口(applicationprogramminginterface,api)方式进行数据传输;前端需要数据的时候,调用后端提供的api向后端请求数据,后端在底层存储(各种不同类型的数据库或文件存储等)获取数据,响应前端的请求,返回获取到的数据;前端获取到后端返回的数据后,在前端进行处理。传统的数据处理方式是后端将要传输给前端的数据全部加载到内存,然后进行格式转换,最后通过网络一次性输出给前端。但是在数据技术(datatechnology,dt)时代,数据呈现爆炸性地增长,也带来了海量数据的处理和传输问题。dt时代数据都是千万级别及以上,传统的数据处理方式已经无法正常服务。比如在地图等会将响应的数据展示为图像的业务中,前端从后端请求得到的数据后进行渲染,然后显示给用户,也就是说,要等到数据请求的响应数据传输结束之后,前端系统才能进行处理,这样的效率非常低。从传输角度来说,需要一次性将大量数据通过网络传输给前端,网络不稳定很容易发生超时(timeout)错误或数据丢失的情况,影响用户体验;从后端角度,数据量大时获取和处理的时间长,海量数据同时驻留在内存中,对后端系统的压力也非常大,甚至可能触发内存溢出错误(outofmemory,oom)和服务器宕机;从前端角度,在前端进行大量数据的显示或者渲染很容易造成浏览器的崩溃。从实际应用中可以观察到,一旦数据量增长到兆级以上,就能明显的感受到延迟和卡顿,甚至是浏览器的崩溃。技术实现要素:本申请提供一种数据展示方法、装置、系统及电子设备,可以降低大数据量场景下的数据处理压力,并提升用户体验。本申请采用如下技术方案。一种数据展示方法,包括:后端系统根据前端系统的数据请求确定响应数据;所述后端系统将所述响应数据分批发送给所述前端系统;所述前端系统根据每批收到的响应数据分别对该批响应数据对应的图层进行渲染;所述前端系统对各批响应数据对应的图层依次叠加进行显示。一种实现方式中,所述后端系统将所述响应数据分批发送给所述前端系统可以包括:所述后端系统按照预定的每批响应数据的数量将所述响应数据分批;所述后端系统将各批响应数据分别发送给所述前端系统。一种实现方式中,所述后端系统将所述响应数据分批发送给所述前端系统可以包括:所述后端系统按照响应数据的总数量和预设策略确定每批响应数据的数量;所述后端系统按照所确定的每批响应数据的数量将所述响应数据分批;所述后端系统将各批响应数据分别发送给所述前端系统。一种实现方式中,所述前端系统对各批响应数据对应的图层依次叠加进行显示可以包括:所述前端系统显示渲染后的第一批响应数据对应的图层;所述前端系统分别将渲染后的后续各批响应数据对应的图层与之前已显示的图层叠加在一起进行显示。一种实现方式中,所述根据前端系统的数据请求确定响应数据可以包括:后端系统在底层数据系统中根据前端系统的数据请求进行查询,得到查询结果集;所述后端系统将响应数据分批发送给所述前端系统包括:所述后端系统分批读取查询结果集中的数据发送给前端系统,直至查询结果集中的数据全部读取完毕。一种数据展示方法,包括:前端系统向后端系统发送数据请求;所述前端系统从所述后端系统接收分批反馈的响应数据;所述前端系统根据每批收到的响应数据分别对该批响应数据对应的图层进行渲染;所述前端系统对各批响应数据对应的图层依次叠加进行显示。一种实现方式中,所述前端系统对各批响应数据对应的图层依次叠加进行显示可以包括:所述前端系统显示渲染后的第一批响应数据对应的图层;所述前端系统分别将渲染后的后续各批响应数据对应的图层与之前已显示的图层叠加在一起进行显示。一种数据展示装置,包括:响应模块,用于根据数据请求确定响应数据;发送模块,用于将所述响应数据分批发送给所述数据请求的发送方;数据处理模块,用于根据每批收到的响应数据分别对该批响应数据对应的图层进行渲染;显示模块,用于对各批响应数据对应的图层依次叠加进行显示。一种实现方式中,所述发送模块将所述响应数据分批发送给所述数据请求的发送方可以包括:所述发送模块按照预定的每批响应数据的数量将所述响应数据分批;所述发送模块将各批响应数据分别发送给所述数据请求的发送方。一种实现方式中,所述发送模块将所述响应数据分批发送给所述数据请求的发送方可以包括:所述发送模块按照响应数据的总数量和预设策略确定每批响应数据的数量;所述发送模块按照所确定的每批响应数据的数量将所述响应数据分批;所述发送模块将各批响应数据分别发送给所述数据请求的发送方。一种实现方式中,所述显示模块对各批响应数据对应的图层依次叠加进行显示可以包括:所述显示模块显示渲染后的第一批响应数据对应的图层;所述显示模块分别将渲染后的后续各批响应数据对应的图层与之前已显示的图层叠加在一起进行显示。一种数据展示装置,包括:请求模块,用于向后端系统发送数据请求;接收模块,用于从所述后端系统接收分批反馈的响应数据;渲染模块,用于根据每批收到的响应数据分别对该批响应数据对应的图层进行渲染;数据展示模块,用于对各批响应数据对应的图层依次叠加进行显示。一种实现方式中,所述数据展示模块对各批响应数据对应的图层依次叠加进行显示可以包括:所述数据展示模块显示渲染后的第一批响应数据对应的图层;所述数据展示模块分别将渲染后的后续各批响应数据对应的图层与之前已显示的图层叠加在一起进行显示。一种数据展示系统,包括:前端系统和后端系统;所述后端系统用于在收到所述前端系统的数据请求后,确定所述前端系统的数据请求的响应数据;将所述响应数据分批发送给所述前端系统;所述前端系统用于根据每批收到的响应数据分别对该批响应数据对应的图层进行渲染,对各批响应数据对应的图层依次叠加进行显示。一种实现方式中,所述后端系统将所述响应数据分批发送给所述前端系统可以包括:所述后端系统按照预定的每批响应数据的数量将所述响应数据分批;所述后端系统将各批响应数据分别发送给所述前端系统。一种实现方式中,所述后端系统将所述响应数据分批发送给所述前端系统可以包括:所述后端系统按照响应数据的总数量和预设策略确定每批响应数据的数量;所述后端系统按照所确定的每批响应数据的数量将所述响应数据分批;所述后端系统将各批响应数据分别发送给所述前端系统。一种进行数据展示的电子设备,包括:第一存储器和第二存储器;第一处理器和第二处理器;所述第一存储器用于保存用于进行数据响应的程序;所述第二存储器用于保存用于进行数据展示的程序;所述用于进行数据响应的程序在被所述第一处理器读取执行时,执行以下操作:根据数据请求确定响应数据;将所述响应数据分批发送给所述数据请求的发送方;所述用于进行数据展示的程序在被所述第二处理器读取执行时,执行以下操作:根据每批收到的响应数据分别对该批响应数据对应的图层进行渲染;对各批响应数据对应的图层依次叠加进行显示。一种实现方式中,所述将所述响应数据分批发送给所述前端系统可以包括:按照预定的每批响应数据的数量将所述响应数据分批;将各批响应数据分别发送给所述前端系统。一种实现方式中,将所述响应数据分批发送给所述前端系统可以包括:按照响应数据的总数量和预设策略确定每批响应数据的数量;按照所确定的每批响应数据的数量将所述响应数据分批;将各批响应数据分别发送给所述前端系统。一种实现方式中,所述对各批响应数据对应的图层依次叠加进行显示可以包括:显示渲染后的第一批响应数据对应的图层;分别将渲染后的后续各批响应数据对应的图层与之前已显示的图层叠加在一起进行显示。一种进行数据展示的电子设备,包括:存储器和处理器;所述存储器用于保存用于进行数据展示的程序;所述用于进行数据展示的程序在被所述处理器读取执行时,执行以下操作:向后端系统发送数据请求;接收所述后端系统分批反馈的响应数据;根据每批收到的响应数据分别对该批响应数据对应的图层进行渲染;对各批响应数据对应的图层依次叠加进行显示。一种实现方式中,所述对各批响应数据对应的图层依次叠加进行显示可以包括:显示渲染后的第一批响应数据对应的图层;分别将渲染后的后续各批响应数据对应的图层与之前已显示的图层叠加在一起进行显示。本申请包括以下优点:本申请至少一个实施例中,前端系统分批进行渲染,不必等到从后端系统接收完所有数据再进行渲染,降低了前端系统的数据处理压力,提升用户体验。本申请至少一个实施例中,后端系统分批输出数据给前端系统,前端系统分批进行渲染,可以减轻后端系统获取和处理数据的压力,减轻网络压力,并可以防止内存溢出错误,也能降低前端系统的数据处理压力,而且可以提升用户体验。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。附图说明图1是实施例一的数据展示方法的流程图;图2是采用实施例一的方法的系统架构示意图;图3是实施例一的例子中的系统结构示意图;图4是实施例一的例子中进行一次数据展示的过程示意图;图5是实施例二的数据展示方法的流程图;图6是实施例三的数据展示方法的流程图图7是实施例四的数据展示装置的示意图;图8是实施例五的数据展示装置的示意图;图9是实施例六的数据展示装置的示意图。具体实施方式下面将结合附图及实施例对本申请的技术方案进行更详细的说明。需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。在一种配置中,进行数据展示的计算设备可包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存(memory)。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。内存可能包括模块1,模块2,……,模块n(n为大于2的整数)。计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom),快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。实施例一、一种数据展示方法,如图1所示,包括步骤s110~s140。s110、后端系统根据前端系统的数据请求确定响应数据;s120、所述后端系统将所述响应数据分批发送给所述前端系统;s130、所述前端系统根据每批收到的响应数据分别对该批响应数据对应的图层进行渲染;s140、所述前端系统将各批响应数据对应的图层依次叠加进行显示。本实施例中,由于是分批进行发送,因此后端系统每次读取、发送响应数据时的处理压力不会过大,对用于缓存响应数据的存储容量也不会有过高要求;由于每次发送的数据量较小,因此对网络的压力也可以相应减少。对于前端系统而言,不需要一次性接收和渲染海量的响应数据,而是可以接收一部分响应数据就先渲染一部分,减轻了前端系统的处理压力。本实施例中,响应数据可以是针对数据请求而查询或处理得到的数据;可以但不限于为地图数据或地理位置信息数据等。本实施例的方法可以但不限于适用在提供地图应用、地理分析或类似功能的业务系统中。本实施例中,每一批响应数据可以各自对应一个图层;传统解决方案中,所有的响应数据都是一起到达的,可以在一个图层上进行渲染。而本实施例中,由于响应数据是分批到达的,无法在一个图层中渲染;针对该情况,本实施例设计成将不同批的响应数据分别在不同图层上进行渲染,最后将各图层叠加在一起显示给用户。从用户的观感上来说,和传统解决方案中只显示一个图层的情况并无差异,用户看到的还是相同的结果。比如在地图应用、或地理分析等业务系统中,后端提供的响应数据一般是地图数据或地理位置信息数据,而前端系统一般会通过二维或三维地图的形式将响应数据展现给用户,这就需要前端系统根据响应数据进行渲染,显示给用户的是渲染后得到的图像,比如显示出包含地点和道路的地图。在地图应用、或地理分析等业务系统中,每一条响应数据可以表示地图中的一个“点”,可以包含该“点”的经度值和纬度值,该经度值和纬度值能唯一确定一个地理位置;地图可以看成是由大量的“点”组成的,显示一个地图需要大量的响应数据,比如地图中有200万个“点”,则需要200万条的响应数据。当响应数据的数量庞大时,传输和处理响应数据所要耗费的处理能力、传输资源和时间将相当可观,因此容易给系统造成较大负担,而且从发出数据请求到显示完成之间会间隔比较久的时间,对于用户而言,可能会感觉在发出数据请求后迟迟得不到响应,一直看到的是空白页面。在本实施例中,响应数据将分批发送给前端系统;这里分批的含义是指将全部响应数据分成多批,每批包含多条响应数据,而并不会将一条响应数据分割在不同批次中发送。比如全部响应数据有200万条,每批响应数据100条时,前端系统每次会得到表示100个“点”的响应数据,前端系统根据表示这100个“点”的响应数据对相应图层进行渲染,得到的图层只含有100个“点”;如果单看这个图层,会看到一个存在大片空白区域的地图,其中只分布了100个点。但是,如果将根据每批响应数据渲染出的图层叠加到一起,则200万个点都能显示出来。由于不同批的响应数据表示的是地图上不同的点,因此在叠加时相互并不会影响,用户看到的还是一个具有200万个“点”的地图。对于后端系统和前端系统而言,由于是分批进行发送和渲染,因此对处理性能和传输资源的要求大幅度下降,而且每一批所需要的时间将大大缩短;对于用户而言,如果是渲染完一个图层就显示给用户,则用户在发出数据请求后,很快就能看到地图上出现了一些内容(比如第一批的100个“点”),并且随着时间的推移,地图上的内容逐渐增多,直到地图完全展现出来,用户可以直观感受到响应过程的推进,而不是一直看着空白页面,大大改善了用户的体验。本实施例中,“依次叠加”是指每得到一批响应数据对应的图层,就会叠加到之前已有的图层上;在叠加时不需要各图层的叠加顺序和响应数据到达的顺序严格一致,比如第一、二、三批响应数据对应的图层分别是l1、l2和l3,则叠加时从上往下或从下往上可以依次是l1、l2、l3,也可以是l2、l1、l3或其它任何顺序。本实施例中,后端系统将响应数据发送给前端系统之前,还可以进行压缩、格式转换等处理工作,以方便数据传输或便于前端系统识别;前端系统在进行渲染之前,还可以对响应数据进行解压、纠错等处理工作。这部分处理工作根据业务、数据的实际情况可以自行设计,可以参考传统解决方案实施。这部分处理工作和传统解决方案的区别在于,传统解决方案中是一次性对一个数据请求的所有响应数据进行处理,而本实施例中则是分多批,每批数据分别进行处理。本实施例中,每批响应数据的数量(以条数、行数或长度等表示)可以相同,也可以不同。在每批响应数据的数量相同的情况下,每批响应数据的数量可以根据经验值或实验值设置和修改。在每批响应数据的数量可以不相同的情况下,每批响应数据的数量可以根据实际情况动态调整,比如根据当前的网络传输速度、系统性能等动态调高或调低。本实施例中,后端系统可能会同时为多个前端系统服务,后端系统可以采用数据请求中携带的请求标识(requestid)来区分不同数据请求的响应数据,还可以将requestid携带在响应数据中发送;前端系统如果在同一时段进行了多次数据请求,也可以采用requestid区分不同数据请求的响应数据。每个数据请求的requestid是唯一的,可以由前端系统的ip地址+前端系统自己维护的请求序列号构成,后端系统和前端系统都可以。本实施例的步骤s110、s120可以由后端系统执行,可以采用后端系统中已有的设备或功能模块实现,也可以采用一个新的功能模块实现。步骤s130、s140可以由前端系统执行,可以采用前端系统中已有的设备或功能模块实现,也可以采用一个新的功能模块实现。采用本实施例的方法的一个系统架构如图2所示,包括作为前端系统的用户终端和作为后端系统的服务器,两者之间可以通过网络互连,可以一个服务器向多个用户终端提供服务;其中服务器连接底层数据系统,比如数据库或文件存储系统等。服务器和底层数据系统可以都位于网络侧。用户终端上运行有浏览器或其他应用(app),当用户通过浏览器等应用进行业务访问时,浏览器可以通过调用相应的api以发出数据请求,后端系统根据该数据请求从底层数据系统获取响应数据,并分批反馈给前端系统。前端系统收到响应数据后,分别根据每批响应数据在该批响应数据对应的图层上进行渲染;将各批响应数据对应的图层依次叠加显示给用户。一种实现方式中,所述后端系统将所述响应数据分批发送给所述前端系统可以包括:所述后端系统按照预定的每批响应数据的数量将所述响应数据分批;所述后端系统将各批响应数据分别发送给所述前端系统。本实现方式中,响应数据的数量可以是指响应数据的条数,比如每批有多少条响应数据,也可以是指响应数据的字节数或比特数,比如每批有多少比特的响应数据。响应数据的数量还可以根据响应数据使用的单位相应进行表示,比如假设响应数据的单位是“行”时,响应数据的数量可以是指有多少行响应数据。本实现方式中,可以用响应数据的总数量除以响应数据的数量,向上取整后得到一共有多少批响应数据;假设一共有x批响应数据,则前x-1批的响应数据的数量可以都是预定的每批响应数据的数量,最后一批响应数据是剩余的响应数据。其它实现方式中,也可以采用其它分批的方法,比如预定一共要发送多少批响应数据,然后根据该预定的批次数量来对响应数据分批。一种实现方式中,所述后端系统将所述响应数据分批发送给所述前端系统可以包括:所述后端系统按照响应数据的总数量和预设策略确定每批响应数据的数量;所述后端系统按照所确定的每批响应数据的数量将所述响应数据分批;所述后端系统将各批响应数据分别发送给所述前端系统。本实现方式中,可以动态确定每批响应数据的数量;预设策略比如可以是响应数据的总数量所在的区间和每批响应数据的数量之间的对应关系,例如响应数据的总数量大于100万条时每批200条,小于或等于100万条时每批100条。其它实现方式中,还可以根据后端系统目前的性能、或所获知的前端系统目前的性能共同决定每批响应数据的数量。一种实现方式中,前端系统对各批响应数据对应的图层依次叠加进行显示可以包括:所述前端系统显示渲染后的第一批响应数据对应的图层;所述前端系统分别将渲染后的后续各批响应数据对应的图层与之前已显示的图层叠加在一起进行显示。本实现方式中,由于第一个图层很快就能渲染完成进行显示,因此用户可以很快就能看到图层在呈现,随着后续其它图层的叠加,用户会看到图像中的内容越来越多,逐步丰满。从用户而言,即使响应数据没有传输完成,也不会只能看到空白页面,而是会看到图像逐步在完成的过程,因此用户体验更佳。在其它实现方式中,也可以在各批响应数据都传输完毕,且对应的图层都渲染完后再将图层叠加显示给用户。一种实现方式中,根据前端系统的数据请求确定响应数据可以包括:后端系统在底层数据系统中根据前端系统的数据请求进行查询,得到查询结果集。本实现方式中,前端系统的数据请求可以带有查询条件,用以筛选需要获取的数据。例如在地图应用中,一个查询条件可以是当前位置附近1公里之内的银行;后端系统可以根据该查询条件在存放地图数据的数据库中进行查询,得到所有在当前位置附近1公里之内的银行的数据,作为查询结果集。本实现方式中,查询结果集相当于是前端系统的数据请求所对应的响应数据的集合。本实现方式中,查询结果集可以但不限于是表格形式。本实现方式中,所述后端系统将响应数据分批发送给所述前端系统可以包括:所述后端系统分批读取查询结果集中的数据发送给前端系统,直至查询结果集中的数据全部读取完毕。本实现方式中,可以通过一个游标来标识读取的位置;游标的初始位置指向查询结果集的第一行,随着后端系统读取而下移;比如后端系统读取了一万条数据后,游标将指向第10001行。在查询结果集中,游标所指的那一行数据及该行之后的数据均是未读数据,当游标指向查询结果集的结束标识时,表明已不存在未读数据,所有数据都已经读取过。本实现方式中,后端系统每次读取的数据都会发送给前端系统;当游标指向查询结果集的结束标识时,表明针对前端系统的数据请求所响应的数据已发送完毕,后端系统可以发送一个表示结束的标识给前端系统,前端系统收到该表示结束的标识就可以得知响应数据已发送完毕,后续不会再有。表示结束的标识可以和最后一批数据一起发送给前端系统,也可以在发送完最后一批数据后单独发送给前端系统。本实现方式中,后端系统是在一批数据发送完成后,读取下一批数据;在其它实现方式中,如果后端系统的性能较高,也可以在发送的同时就读取下一批数据放入缓存。本实现方式中,后端系统一批接着一批地发送数据,形成发送的数据流,可以称为流式发送方式;前端系统一批接着一批地接收数据并进行渲染,可以称为流式渲染方式。下面用一个例子说明本实施例。本例子的系统结构如图3所示,包括三个部分:前端系统、后端系统和底层数据系统。其中各个部分的介绍如下:底层数据系统:主要功能是负责数据的存储,支持多种存储方式;比如可以支持数据库的存储方式,包括关系型数据库(如mysql)和非关系数据库(mongodb)等;也可以支持文件系统的存储方式。后端系统可以包含一个流式处理模块,主要功能是根据前端系统的数据请求从底层数据系统中取出需要的数据,并进行一定的格式转换后发送给前端系统,还可以提供压缩和缓存的功能。前端系统可以包含一个流式渲染模块,主要功能是发送数据请求,获取从后端系统传输过来的响应数据后,可以进行以下一或多项处理:如解压、进行数据格式填充等,并根据处理后的响应数据进行渲染。其中,前端系统和后端系统之间、后端系统和底层数据系统之间均可以通过数据管道(datapipe)传输响应数据。本例子仅给出了核心方案,在该核心方案的基础上,还可以添加其他模块:例如用户权限控制,缓存系统等。下面结合一个前端系统利用画布canvas绘制海量数据的具体应用场景进行说明,canvas是一种图形容器,能被调用以进行绘图。以下数据库类型和格式等都可以是多样化的,为了便于理解,本例子中只使用一种。假设底层数据系统采用mysql,有百万条记录,样例数据的表结构如下:表一、底层数据的表结构列名类型是否可以为空描述idbigint否点的唯一标识latfloat否维度lngfloat否经度timevarchar是点所属时间段geohashvarchar否经纬度的geohash结果districtvarchar是区行政区划代码cityvarchar是城市行政区划代码provincevarchar是省行政区划代码propertiesvarchar是点的自定义属性前端系统使用标准的geojson的格式渲染地理位置信息数据,需要两百万条数据。后端系统提供api,反馈两百万条数据,采用的方式是,将两百万条数据分成2万批响应数据分别发送给前端系统,每次从数据库取出100条数据,格式化成geojson格式并压缩(压缩是可选的操作),然后作为一批响应数据传给前端系统。循环上面的步骤,数据不断发送给前端系统的过程类似于水流在管道里面流动,因此可以称为流式处理。实际应用时,共分成多少批、每批多少条数据可以自行设置。前端系统每收到响应数据后,首先解压(可选的操作),然后进行格式填充(可选的操作)后渲染canvas,并添加到地图上的对应图层中。地图上是有多个图层的,每一个图层都是canvas数据,每一图层分别对应一批响应数据,即图层和各批响应数据一一对应。循环上面的步骤,数据不断接收并渲染的过程类似于水流在管道里面流动,因此可以称为流式渲染。后端系统一直从数据库里面取出数据,然后流式处理,发送到前端系统,前端系统收到一批响应数据立刻就渲染该批响应数据对应的图层,对于第一批响应数据,渲染完成后就显示图层;对于其后的响应数据,渲染完成后将图层和已经显示的图层叠加进行显示,而不必等到所有数据传输完毕再进行渲染和显示。后端系统在数据传输结束后,发送结束标志,前端收到结束标志,结束整个数据请求。最终前端展现的效果和传统方案一次性渲染的效果一样,但是处理流程中前后端的压力非常小,而且用户体验非常好,用户不会长时间看到空白,而是能看到页面一直在加载数据,比如第一批响应数据对应的图层渲染完成并显示后,用户会看到空白的地图上出现了几个区域或道路;当第二批响应数据对应的图层渲染完成,并和第一批响应数据对应的图层叠加进行显示后,用户会看到区域或道路增多;随着一批批响应数据对应的图层渲染完成,并叠加在之前已经显示的图层上显示,用户会看到出现越来越多的区域和道路,到所有响应数据都渲染完成并叠加在一起显示,用户会看到完整的地图。在前端系统进行一次数据展示的过程如图4所示,包括步骤401~406:401、用户访问页面;402、前端系统发送数据请求;403、判断是否有后端正常反馈响应数据;如果没有则显示错误信息并结束;如果有则进行步骤404;404、从后端接收一批响应数据;步骤404后可以并行进行步骤405和406,也可以进行步骤405后进行步骤406;405、从后端接收一批响应数据,判断响应数据是否需要解压;如果需要解压则解压后进行渲染,如果不需要则直接渲染;406、判断数据是否传输完毕,如果传输完毕则结束,如果没有则返回步骤404。实施例二、一种数据展示方法,如图5所示,包括步骤s210~s220。s210、后端系统根据所述前端系统的数据请求确定响应数据;s220、所述后端系统将所述响应数据分批发送给所述前端系统。一种实现方式中,确定前端系统的数据请求的响应数据可以包括:后端系统在底层数据系统中根据前端系统的数据请求进行查询,得到查询结果集;所述将响应数据分批发送给所述前端系统可以包括:在查询结果集中读取预定数量的数据发送给前端系统;发送完成后继续在查询结果集中读取预定数量的未读数据发送给前端系统,直至查询结果集中的数据全部读取完毕。本实施例中,后端系统的操作对应于实施例一中的步骤s110~s120,其它实现细节可参考实施例一。实施例三、一种数据展示方法,如图6所示,包括步骤s310~s340。s310、前端系统向后端系统发送数据请求;s320、所述前端系统从所述后端系统接收分批反馈的响应数据;s330、所述前端系统根据每批收到的响应数据分别对该批响应数据对应的图层进行渲染;s340、所述前端系统对各批响应数据对应的图层依次叠加进行显示。一种实现方式中,所述前端系统对各批响应数据对应的图层依次叠加进行显示可以包括:所述前端系统显示渲染后的第一批响应数据对应的图层;所述前端系统分别将渲染后的后续各批响应数据对应的图层与之前已显示的图层叠加在一起进行显示。本实施例中,前端系统的操作对应于实施例一中的步骤s130、s140,其它实现细节可参考实施例一。实施例四、一种数据展示装置,如图7所示,包括:响应模块41,用于根据数据请求确定响应数据;发送模块42,用于将所述响应数据分批发送给所述数据请求的发送方;数据处理模块43,用于根据每批收到的响应数据分别对该批响应数据对应的图层进行渲染;显示模块44,用于对各批响应数据对应的图层依次叠加进行显示。本实施例中,响应模块41是上述数据展示装置中负责确定响应数据的部分,可以是软件、硬件或两者的结合。本实施例中,响应模块41是上述数据展示装置中负责反馈响应数据的部分,可以是软件、硬件或两者的结合。本实施例中,数据处理模块43是上述操作处理装置中负责进行渲染的部分,可以是软件、硬件或两者的结合。本实施例中,显示模块44是上述数据展示装置中负责显示图层的部分,可以是软件、硬件或两者的结合。本实施例中,响应模块、发送模块可以设置在后端系统上,数据处理模块和显示模块可以分别在每个前端系统上设置一套。一种实现方式中,所述发送模块将所述响应数据分批发送给所述数据请求的发送方可以包括:所述发送模块按照预定的每批响应数据的数量将所述响应数据分批;所述发送模块将各批响应数据分别发送给所述数据请求的发送方。一种实现方式中,所述发送模块将所述响应数据分批发送给所述数据请求的发送方可以包括:所述发送模块按照响应数据的总数量和预设策略确定每批响应数据的数量;所述发送模块按照所确定的每批响应数据的数量将所述响应数据分批;所述发送模块将各批响应数据分别发送给所述数据请求的发送方。一种实现方式中,所述显示模块对各批响应数据对应的图层依次叠加进行显示可以包括:所述显示模块显示渲染后的第一批响应数据对应的图层;所述显示模块分别将渲染后的后续各批响应数据对应的图层与之前已显示的图层叠加在一起进行显示。一种实现方式中,所述响应模块根据数据请求确定响应数据可以包括:所述响应模块在底层数据系统中根据前端系统的数据请求进行查询,得到查询结果集;所述响应模块将响应数据分批发送给所述前端系统包括:所述响应模块在查询结果集中读取预定数量的数据发送给前端系统;发送完成后继续在查询结果集中读取预定数量的未读数据发送给前端系统,直至查询结果集中的数据全部读取完毕。本实施例的数据展示装置的各模块的操作分别对应于实施例一中的步骤s110~s140,各模块操作的其它实现细节可参见实施例一。实施例五、一种数据展示装置,如图8所示,包括:确定模块51,用于根据前端系统的数据请求确定响应数据;反馈模块52,用于将所述响应数据分批发送给所述前端系统。本实施例中,确定模块51是上述数据展示装置中负责确定响应数据部分,可以是软件、硬件或两者的结合。本实施例中,反馈模块52是上述操作处理装置中负责反馈响应数据的部分,可以是软件、硬件或两者的结合。本实施例中的数据展示装置可以设置在后端系统上。一种实现方式中,所述确定模块确定前端系统的数据请求的响应数据可以包括:所述确定模块在底层数据系统中根据前端系统的数据请求进行查询,得到查询结果集;所述反馈模块将响应数据分批发送给所述前端系统包括:所述反馈模块在查询结果集中读取预定数量的数据发送给前端系统;发送完成后继续在查询结果集中读取预定数量的未读数据发送给前端系统,直至查询结果集中的数据全部读取完毕。本实施例的数据展示装置的各模块的操作分别对应于实施例二中的步骤s210~s220,各模块操作的其它实现细节可参见实施例二。实施例六、一种数据展示装置,如图9所示,包括:请求模块61,用于向后端系统发送数据请求;接收模块62,用于从所述后端系统接收分批反馈的响应数据;渲染模块63,用于根据每批收到的响应数据分别对该批响应数据对应的图层进行渲染;数据展示模块64,用于对各批响应数据对应的图层依次叠加进行显示。本实施例中,请求模块61是上述数据展示装置中负责请求响应数据部分,可以是软件、硬件或两者的结合。本实施例中,接收模块62是上述数据展示装置中负责接收响应数据部分,可以是软件、硬件或两者的结合。本实施例中,渲染模块63是上述操作处理装置中负责进行图层渲染的部分,可以是软件、硬件或两者的结合。本实施例中,数据展示模块64是上述操作处理装置中负责显示图层的部分,可以是软件、硬件或两者的结合。本实施例中的数据展示装置可以设置在前端系统上。一种实现方式中,所述数据展示模块对各批响应数据对应的图层依次叠加进行显示可以包括:所述数据展示模块显示渲染后的第一批响应数据对应的图层;所述数据展示模块分别将渲染后的后续各批响应数据对应的图层与之前已显示的图层叠加在一起进行显示。本实施例的数据展示装置的各模块的操作分别对应于实施例三中的步骤s310~s340,各模块操作的其它实现细节可参见实施例三。实施例七、一种数据展示系统,包括:前端系统和后端系统;所述后端系统用于在收到所述前端系统的数据请求后,确定所述前端系统的数据请求的响应数据;将所述响应数据分批发送给所述前端系统;所述前端系统用于根据每批收到的响应数据分别对该批响应数据对应的图层进行渲染,对各批响应数据对应的图层依次叠加进行显示。一种实现方式中,所述后端系统将所述响应数据分批发送给所述前端系统可以包括:所述后端系统按照预定的每批响应数据的数量将所述响应数据分批;所述后端系统将各批响应数据分别发送给所述前端系统。一种实现方式中,所述后端系统将所述响应数据分批发送给所述前端系统可以包括:所述后端系统按照响应数据的总数量和预设策略确定每批响应数据的数量;所述后端系统按照所确定的每批响应数据的数量将所述响应数据分批;所述后端系统将各批响应数据分别发送给所述前端系统。本实施例中后端系统和前端系统的操作可以分别对应于实施例一中的步骤s110~s140,后端系统和前端系统的操作的其它实现细节可参见实施例一。本实施例中前端系统和后端系统的交互关系可参见实施例一中的图2以及相关描述。实施例八、一种进行数据展示的电子设备,包括:第一存储器和第二存储器;第一处理器和第二处理器;所述第一存储器用于保存用于进行数据响应的程序;所述第二存储器用于保存用于进行数据展示的程序;所述用于进行数据响应的程序在被所述第一处理器读取执行时,执行以下操作:根据数据请求确定响应数据;将所述响应数据分批发送给所述数据请求的发送方;所述用于进行数据展示的程序在被所述第二处理器读取执行时,执行以下操作:根据每批收到的响应数据分别对该批响应数据对应的图层进行渲染;对各批响应数据对应的图层依次叠加进行显示。本实施例中,第一存储器和第一处理器可以设置在后端系统上;第二存储器和第二处理器可以在每个前端系统上设置一套。一种实现方式中,所述将所述响应数据分批发送给所述前端系统可以包括:按照预定的每批响应数据的数量将所述响应数据分批;将各批响应数据分别发送给所述前端系统。一种实现方式中,将所述响应数据分批发送给所述前端系统可以包括:按照响应数据的总数量和预设策略确定每批响应数据的数量;按照所确定的每批响应数据的数量将所述响应数据分批;将各批响应数据分别发送给所述前端系统。一种实现方式中,所述对各批响应数据对应的图层依次叠加进行显示可以包括:显示渲染后的第一批响应数据对应的图层;分别将渲染后的后续各批响应数据对应的图层与之前已显示的图层叠加在一起进行显示。一种实现方式中,所述根据数据请求确定响应数据可以包括:在底层数据系统中根据所述数据请求进行查询,得到查询结果集;所述将响应数据分批发送给所述数据请求的请求方包括:在查询结果集中读取预定数量的数据发送给所述数据请求的请求方;发送完成后继续在查询结果集中读取预定数量的未读数据发送给所述数据请求的请求方,直至查询结果集中的数据全部读取完毕。本实施例中,用于进行数据响应的程序在被第一处理器读取执行时执行的操作对应于实施例一中的步骤s110、s120,用于进行数据展示的程序在被第二处理器读取执行时执行的操作对应于实施例一中的步骤s130、s140,这些程序执行的操作的其它实现细节可参见实施例一。实施例九、一种进行数据展示的电子设备,包括:存储器和处理器;所述存储器用于保存用于进行数据响应的程序;所述用于进行图像显示响应的程序在被所述处理器读取执行时,执行以下操作:根据前端系统的数据请求确定响应数据;将所述响应数据分批发送给所述前端系统。一种实现方式中,确定前端系统的数据请求的响应数据可以包括:在底层数据系统中根据前端系统的数据请求进行查询,得到查询结果集;所述将响应数据分批发送给所述前端系统的包括:在查询结果集中读取预定数量的数据发送给所述前端系统;发送完成后继续在查询结果集中读取预定数量的未读数据发送给所述前端系统,直至查询结果集中的数据全部读取完毕。本实施例中,用于进行数据响应的程序在被处理器读取执行时执行的操作对应于实施例二中的步骤s210~s220,执行的操作的其它实现细节可参见实施例二。实施例十、一种进行数据展示的电子设备,包括:存储器和处理器;所述存储器用于保存用于进行数据展示的程序;所述用于进行数据展示的程序在被所述处理器读取执行时,执行以下操作:向后端系统发送数据请求;接收所述后端系统分批反馈的响应数据;根据每批收到的响应数据分别对该批响应数据对应的图层进行渲染;对各批响应数据对应的图层依次叠加进行显示。一种实现方式中,所述对各批响应数据对应的图层依次叠加进行显示可以包括:显示渲染后的第一批响应数据对应的图层;分别将渲染后的后续各批响应数据对应的图层与之前已显示的图层叠加在一起进行显示。本实施例中,用于进行数据展示的程序在被处理器读取执行时执行的操作对应于实施例三中的步骤s310~s340,执行的操作的其它实现细节可参见实施例三。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。当然,本申请还可有其他多种实施例,在不背离本申请精神及其实质的情况下,熟悉本领域的技术人员当可根据本申请作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请的权利要求的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1