本发明涉及通信领域,更为具体而言,涉及界面数据显示方法、设备及系统。
背景技术:
随着模板技术的发展,现有的界面展示功能实际上是从数据到显示的过程,在目前的现有技术中,对数据进行显示需要依赖于渲染技术(将数据渲染到渲染模板中以显示数据的过程)来实现。
然而,在目前的现有技术中,实现渲染处理的渲染位置通常是固定的,或是在客户端实现渲染处理,或是在服务端实现渲染处理。但是,这种固定渲染位置的方式使得渲染技术的灵活性较低。
技术实现要素:
为解决上述技术问题,本发明提供一种数据显示方法、设备及系统。
一方面,本发明的实施方式提供了一种数据显示方法,所述方法包括:
接收客户端发送的界面数据显示请求;
根据所述界面数据显示请求获取请求的界面数据,并且,基于所述界面数据显示请求识别渲染位置;
向所述客户端发送与所述渲染位置对应的包含所述请求的界面数据的响应数据,以便所述客户端基于所述响应数据显示所述请求的界面数据。
在本发明的一些实施方式中,向所述客户端发送与所述渲染位置对应的包含所述请求的界面数据的响应数据包括:
若所述渲染位置在服务端,则向所述客户端发送包含嵌有所述请求的界面数据的渲染模板的响应数据。
在本发明的一些实施方式中,向所述客户端发送与所述渲染位置对应的包含所述请求的界面数据的响应数据还包括:
若所述渲染位置在客户端,则向所述客户端发送包含未嵌有界面数据的渲染模板和所述请求的界面数据的响应数据。
在本发明的一些实施方式中,基于所述界面数据显示请求识别渲染位置包括:
识别所述界面数据显示请求中是否包括指示渲染位置在服务端的标记;
若所述界面数据显示请求中包括所述标记,则确定渲染位置在服务端。
在本发明的一些实施方式中,基于所述界面数据显示请求识别渲染位置还包括:
若所述界面数据显示请求中不包括所述标记,则确定渲染位置在客户端。
相应地,本发明实施方式提供了一种服务端,所述服务端包括:
接收模块,用于接收客户端发送的界面数据显示请求;
获取及识别模块,包括:用于根据所述界面数据显示请求获取请求的界面数据的获取单元,以及,用于基于所述界面数据显示请求识别渲染位置的识别单元;
发送模块,用于向所述客户端发送与所述渲染位置对应的包含所述请求的界面数据的响应数据,以便所述客户端基于所述响应数据显示所述请求的界面数据。
在本发明的一些实施方式中,所述发送模块包括:
第一发送单元,用于在所述渲染位置在服务端的情形下,向所述客户端发送包含嵌有所述请求的界面数据的渲染模板的响应数据。
在本发明的一些实施方式中,所述发送模块还包括:
第二发送单元,用于在所述渲染位置在客户端的情形下,向所述客户端发送包含未嵌有界面数据的渲染模板和所述请求的界面数据的响应数据。
在本发明的一些实施方式中,所述识别单元包括识别组件和第一确定组件,具体地:
识别组件,用于识别所述界面数据显示请求中是否包括指示渲染位置在服务端的标记;
第一确定组件,用于在所述界面数据显示请求中包括所述标记的情形下,确定渲染位置在服务端。
在本发明的一些实施方式中,所述识别单元还包括:
第二确定组件,用于在所述界面数据显示请求中不包括所述标记的情形下,确定渲染位置在客户端。
另一方面,本发明实施方式提供了一种数据显示方法,所述方法包括:
向服务端发送界面数据显示请求;
接收所述服务端响应于所述界面数据显示请求的响应数据;
根据所述响应数据识别渲染位置;
对所述响应数据执行与所述渲染位置对应的界面数据显示处理。
在本发明的一些实施方式中,对所述响应数据执行与所述渲染位置对应的界面数据显示处理包括:
若所述渲染位置在服务端,则从所述响应数据中解析出嵌有界面数据的渲染模板;
将所述嵌有界面数据的渲染模板放置于渲染容器中以显示界面数据。
在本发明的一些实施方式中,对所述响应数据执行与所述渲染位置对应的界面数据显示处理还包括:
若所述渲染位置在客户端,则从所述响应数据中解析出未嵌有界面数据的渲染模板和界面数据;
将解析出的界面数据嵌入到所述未嵌有界面数据的渲染模板中以生成嵌有界面数据的渲染模板;
将生成的嵌有界面数据的渲染模板放置于渲染容器中以显示界面数据。
在本发明的一些实施方式中,若所述方法的执行主体为浏览器,则所述界面数据显示请求中包括指示渲染位置在服务端的标记。
在本发明的一些实施方式中,若所述方法的执行主体为除浏览器以外的其他类型的客户端,则所述界面数据显示请求中不包括所述标记。
相应地,本发明实施方式提供一种客户端,所述客户端包括:
发送模块,用于向服务端发送界面数据显示请求;
接收模块,用于接收所述服务端响应于所述界面数据显示请求的响应数据;
识别模块,用于根据所述响应数据识别渲染位置;
显示处理模块,用于对所述响应数据执行与所述渲染位置对应的界面数据显示处理。
在本发明的一些实施方式中,所述显示处理模块包括第一解析单元和第一显示单元,具体地:
第一解析单元,用于在所述渲染位置在服务端的情形下,从所述响应数据中解析出嵌有界面数据的渲染模板;
第一显示单元,用于将所述嵌有界面数据的渲染模板放置于渲染容器中以显示界面数据。
在本发明的一些实施方式中,所述显示处理模块还包括第二解析单元、渲染单元以及第二显示单元,具体地:
第二解析单元,用于在所述渲染位置在客户端的情形下,从所述响应数据中解析出未嵌有界面数据的渲染模板和界面数据;
渲染单元,用于将所述第二解析单元解析出的界面数据嵌入到所述未嵌有界面数据的渲染模板中以生成嵌有界面数据的渲染模板;
第二显示单元,用于将所述渲染单元生成的嵌有界面数据的渲染模板放置于渲染容器中以显示界面数据。
在本发明的一些实施方式中,若所述客户端为浏览器,则所述界面数据显示请求中包括指示渲染位置在服务端的标记。
在本发明的一些实施方式中,若所述客户端为除浏览器以外的其他类型的客户端,则所述界面数据显示请求中不包括所述标记。
又一方面,本发明实施方式提供一种数据显示系统,所述系统包括:如上所述的客户端和如上所述的服务端。
实施本发明提供的数据显示方法、设备及系统,通过使服务端在界面数据显示的过程中,根据请求数据动态识别渲染位置并根据识别出的渲染位置反馈相应的响应数据,提高了渲染技术的灵活性。
附图说明
图1是根据本发明实施例1的数据显示方法的流程图;
图2是根据本发明实施例2的数据显示方法的流程图;
图3是根据本发明实施例4的数据显示方法的流程图;
图4是根据本发明实施例5的数据显示方法的流程图;
图5是根据本发明的一种实施例的数据显示系统的架构图;
图6示出了图5所示的服务端的一种实施例;
图7示出了图6所示的发送模块130的一种实施例;
图8示出了图6所示的识别单元122的一种实施例;
图9示出了图5所示的客户端的一种实施例;
图10示出了图9所示的显示处理模块240的一种实施例;
图11示出了图9所示的显示处理模块240的另一种实施例。
具体实施方式
以下结合附图和具体实施例对本发明的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施例中以任何方式组合。本领域技术人员应当理解,下述的各种实施例只用于举例说明,而非用于限制本发明的保护范围。还可以容易理解,本文所述和附图所示的各实施例中的模块或单元或步骤可以按各种不同配置进行组合和设计。
【实施例1】
图1是根据本发明实施例1的数据显示方法的流程图。参见图1,在本实施例中,所述方法包括:
S110:接收客户端发送的界面数据显示请求。
S120:根据接收的界面数据显示请求获取请求的界面数据,并且,基于接收的界面数据显示请求识别渲染位置。
S130:向所述客户端发送与识别出的渲染位置对应的包含所述请求的界面数据的响应数据,以便所述客户端基于所述响应数据显示所述请求的界面数据。
【实施例2】
图2是根据本发明实施例2的数据显示方法的流程图。参见图2,在本实施例中,所述方法包括:
S210:接收客户端发送的界面数据显示请求。
S220:根据接收的界面数据显示请求获取请求的界面数据,并且,基于接收的界面数据显示请求识别渲染位置。若所述渲染位置在服务端,则执行S230,若所述渲染位置在客户端,则执行S240。
S230:向所述客户端发送包含嵌有所述请求的界面数据的渲染模板的响应数据。
S240:向所述客户端发送包含未嵌有界面数据的渲染模板和所述请求的界面数据的响应数据。
在本发明的另一些实施例中,所述方法还可以包括:调用模板解释器将所述请求的界面数据嵌入到所述未嵌有界面数据的渲染模板中,以生成所述嵌有所述请求的界面数据的渲染模板。
其中,所述模板解释器与所述客户端的模板解释器相同。
【实施例3】
本实施例与上述各实施例的不同在于,在实施例1或实施例2的基础上,通过下述方式实现所述基于所述界面数据显示请求识别渲染位置的处理:
(1)识别所述界面数据显示请求中是否包括指示渲染位置在服务端的标记。
(2)若所述界面数据显示请求中包括所述标记,则确定渲染位置在服务端。
(3)若所述界面数据显示请求中不包括所述标记,则确定渲染位置在客户端。
【实施例4】
图3是根据本发明实施例4的数据显示方法的流程图。参见图3,在本实施例中,该方法包括:
S310:向服务端发送界面数据显示请求。
S320:接收所述服务端响应于所述界面数据显示请求的响应数据。
S330:根据接收的响应数据识别渲染位置。
S340:对接收的响应数据执行与识别出的渲染位置对应的界面数据显示处理。
【实施例5】
图4是根据本发明实施例5的数据显示方法的流程图。参见图4,在本实施例中,该方法包括:
S410:向服务端发送界面数据显示请求。
S420:接收所述服务端响应于所述界面数据显示请求的响应数据。
S430:根据接收的响应数据识别渲染位置。若识别出渲染位置在服务端,则执行S440,若识别出渲染位置在客户端,则执行S460。
S440:从所述响应数据中解析出嵌有界面数据的渲染模板。
S450:将解析出的嵌有界面数据的渲染模板放置于渲染容器中以显示界面数据。
S460:从所述响应数据中解析出未嵌有界面数据的渲染模板和界面数据。
S470:将解析出的界面数据嵌入到解析出的未嵌有界面数据的渲染模板中以生成嵌有界面数据的渲染模板。
S480:将生成的嵌有界面数据的渲染模板放置于渲染容器中以显示界面数据。
在本发明的另一些实施例中,处理S470具体可以通过下述方式实现:调用模板解释器将解析出的界面数据嵌入到解析出的未嵌有界面数据的渲染模板中以生成嵌有界面数据的渲染模板。其中,所述模板解释器与所述服务端的模板解释器相同。并且,从所述响应数据中解析出的未嵌有界面数据的渲染模板,与所述服务端为生成从所述响应数据中解析出的嵌有界面数据的渲染模板所使用的未嵌有界面数据的渲染模板相同。
【实施例6】
本实施例与上述实施例的不同在于,在实施例4或实施例5的基础上,当数据显示方法的执行主体为浏览器时,向服务端发送的界面数据显示请求中包括指示渲染位置在服务端的标记;当数据显示方法的执行主体为除浏览器以外的其他类型的客户端时,向服务端发送的界面数据显示请求中不包括指示渲染位置在服务端的标记。
【实施例7】
在本发明中界面例如为软件界面或者网页页面等。本实施例以界面为网页页面为例,对本实施例所提供的数据显示方法的进行描述,该方法包括:
处理1:客户端接收用户输入的URL(Uniform Resource Locator,统一资源定位符)。
处理2:所述客户端识别缓存池中是否存储有与所述URL对应的嵌有界面数据的渲染模板,若是,则执行处理3,若否,则执行处理5。
处理3:所述客户端从所述缓存池中读取与所述URL对应的嵌有界面数据的渲染模板。
处理4:所述客户端将从缓存池中读取的嵌有界面数据的渲染模板放置于渲染容器中以显示界面数据,并跳转至处理22。
处理5:所述客户端根据接收的URL向服务端发送界面数据显示请求。
其中,若所述客户端为浏览器,则所述界面数据显示请求中包括指示渲染位置在服务端的标记;若所述客户端为除浏览器以外的其他类型的客户端,则所述界面数据显示请求中不包括所述标记。
处理6:所述服务端接收所述客户端发送的界面数据显示请求。
处理7:所述服务端从接收的界面数据显示请求中解析出URL。
处理8:所述服务端根据解析出的URL获取请求的界面数据,若获取成功,则执行处理9,若获取失败,则执行处理12。
处理9:所述服务端识别所述界面数据显示请求中是否包括指示渲染位置在服务端的标记,若是,则执行处理10,若否,则执行处理11。
处理10:所述服务端调用服务端模板解释器将所述请求的界面数据嵌入到未嵌有界面数据的服务端渲染模板中,并向所述客户端发送包含嵌有所述请求的界面数据的服务端渲染模板的响应数据,并跳转至处理13。
处理11:所述服务端向所述客户端发送包含未嵌有界面数据的客户端渲染模板和所述请求的界面数据的响应数据,并跳转至处理13。
处理12:所述服务端向客户端发送包含错误信息(例如错误码等信息)的响应数据。
处理13:所述客户端接收所述服务端发送的响应数据。
处理14:所述客户端识别接收的响应数据是否包含界面数据,若是,则执行处理15,若否,则执行处理21。
处理15:所述客户端根据接收的响应数据识别渲染位置,若识别出渲染位置在所述服务端,则执行处理16,若识别出渲染位置在所述客户端,则执行处理18。
例如,若客户端发送的界面数据显示请求中包含指示渲染位置在服务端的标记,则服务端在响应时,也在响应数据中设置该指示渲染位置在服务端的标记。因此,类似于服务端,客户端可以通过识别所述响应数据中是否包括指示渲染位置在服务端的标记,来识别渲染位置。
处理16:所述客户端从所述响应数据中解析出嵌有界面数据的渲染模板。
处理17:所述客户端将解析出的嵌有界面数据的渲染模板放置于渲染容器中以显示界面数据,并跳转到处理22。
处理18:所述客户端从所述响应数据中解析出未嵌有界面数据的渲染模板和界面数据。
处理19:所述客户端调用客户端模板解释器将从所述响应数据中解析出的界面数据嵌入到从所述响应数据中解析出的未嵌有界面数据的渲染模板中,以生成嵌有界面数据的渲染模板。
处理20:所述客户端将生成的嵌有界面数据的渲染模板放置于渲染容器中以显示界面数据,并跳转至处理22。
处理21:所述客户端执行错误信息显示处理。
处理22:结束当前流程。
其中,未嵌有界面数据的服务端渲染模板与未嵌有界面数据的客户端渲染模板相同,并且服务端模板解释器与客户端模板解释器为相同的模板解释器(可以是js(JavaScript,一种直译式脚本语言)模板解释器,也可以是非js模板解释器),从而提升开发效率。
【数据显示系统】
图5是根据本发明的一种实施例的数据显示系统的架构图,参见图5,该系统包括:
服务端100,用于执行下述操作:接收客户端发送的界面数据显示请求;根据所述界面数据显示请求获取请求的界面数据,并且,基于所述界面数据显示请求识别渲染位置;向所述客户端发送与所述渲染位置对应的包含所述请求的界面数据的响应数据,以便所述客户端基于所述响应数据显示所述请求的界面数据。
客户端200,用于执行下述操作:向服务端发送界面数据显示请求;接收所述服务端响应于所述界面数据显示请求的响应数据;根据所述响应数据识别渲染位置;对所述响应数据执行与所述渲染位置对应的界面数据显示处理。
在本发明的一些实施例中,服务端100与客户端200使用相同的模板解释器来执行将界面数据嵌入到未嵌有界面数据的渲染模板中的处理(渲染处理),从而能够提高开发效率。
并且,服务端100和客户端200在渲染处理中使用相同的渲染模板。
【服务端】
图6示出了图5所示的服务端的一种实施例。参见图6,所述服务端100包括:接收模块110、获取及识别模块120、以及发送模块130,具体地:
接收模块110用于接收客户端发送的界面数据显示请求。
获取及识别模块120包括:用于根据接收模块110接收的界面数据显示请求获取请求的界面数据的获取单元121,以及用于基于接收模块110接收的界面数据显示请求识别渲染位置的识别单元122。
发送模块130用于向所述客户端发送与识别单元122识别出的渲染位置对应的包含所述请求的界面数据的响应数据,以便所述客户端基于所述响应数据显示所述请求的界面数据。
图7示出了图6所示的发送模块130的一种实施例。如图7所示,发送模块130包括:第一发送单元131以及第二发送单元132,具体地:
第一发送单元131用于执行下述处理:在识别单元122识别出渲染位置在服务端的情形下,向所述客户端发送包含嵌有所述请求的界面数据的渲染模板的响应数据。
第二发送单元132用于执行下述处理:在识别单元122识别出渲染位置在客户端的情形下,向所述客户端发送包含未嵌有界面数据的渲染模板和所述请求的界面数据的响应数据。
在本发明的另一些实施例中,所述服务端还可以包括生成模块,用于调用模板解释器将所述请求的界面数据嵌入到所述未嵌有界面数据的渲染模板中,以生成所述嵌有所述请求的界面数据的渲染模板。
其中,所述模板解释器与所述客户端的模板解释器相同。
图8示出了图6所示的识别单元122的一种实施例。如图8所示,识别单元122包括:识别组件1221、第一确定组件1222、以及第二确定组件1223,具体地:
识别组件1221用于识别所述界面数据显示请求中是否包括指示渲染位置在服务端的标记。
第一确定组件1222用于执行下述处理:在识别组件1221识别出所述界面数据显示请求中包括所述标记的情形下,确定渲染位置在服务端。
第二确定组件1223用于执行下述处理:在识别组件1221识别出所述界面数据显示请求中不包括所述标记的情形下,确定渲染位置在客户端。
【客户端】
图9示出了图5所示的客户端的一种实施例。参见图9,所述客户端200包括:发送模块210、接收模块220、识别模块230、以及显示处理模块240,具体地:
发送模块210用于向服务端发送界面数据显示请求。
接收模块220用于接收所述服务端响应于所述界面数据显示请求的响应数据。
识别模块230用于根据接收模块220接收的响应数据识别渲染位置。
显示处理模块240用于对接收模块220接收的响应数据执行与识别模块230识别出的渲染位置对应的界面数据显示处理。
图10示出了图9所示的显示处理模块240的一种实施例。如图10所示,显示处理模块240包括:第一解析单元241以及第一显示单元242,具体地:
第一解析单元241用于执行下述处理:在识别模块230识别出渲染位置在服务端的情形下,从所述响应数据中解析出嵌有界面数据的渲染模板。
第一显示单元242用于将第一解析单元241解析出的嵌有界面数据的渲染模板放置于渲染容器中以显示界面数据。
图11示出了图9所示的显示处理模块240的另一种实施例。如图11所示,除第一解析单元241以及第一显示单元242以外,显示处理模块240还包括:第二解析单元243、渲染单元244、以及第二显示单元245,具体地:
第二解析单元243用于执行下述处理:在识别模块230识别出渲染位置在客户端的情形下,从所述响应数据中解析出未嵌有界面数据的渲染模板和界面数据。
渲染单元244用于将第二解析单元243解析出的界面数据嵌入到第二解析单元243解析出的未嵌有界面数据的渲染模板中以生成嵌有界面数据的渲染模板。
第二显示单元245用于将渲染单元244生成的嵌有界面数据的渲染模板放置于渲染容器中以显示界面数据。
其中,在本发明的另一些实施例中,渲染单元244具体可以包括:渲染组件,用于调用模板解释器将第二解析单元243解析出的界面数据嵌入到第二解析单元243解析出的未嵌有界面数据的渲染模板中以生成嵌有界面数据的渲染模板。其中,所述模板解释器与所述服务端的模板解释器相同。并且,第二解析单元243解析出的未嵌有界面数据的渲染模板,与所述服务端为生成第一解析单元241解析出的嵌有界面数据的渲染模板所使用的未嵌有界面数据的渲染模板相同。
在本发明的另一些实施例中,当客户端200为浏览器时,向服务端发送的界面数据显示请求中包括指示渲染位置在服务端的标记;当客户端200为除浏览器以外的其他类型的客户端时,向服务端发送的界面数据显示请求中不包括指示渲染位置在服务端的标记。
实施本发明提供的数据显示方法、设备及系统,通过使服务端在界面数据显示的过程中,根据请求数据动态识别渲染位置并根据识别出的渲染位置反馈相应的响应数据,来提高渲染技术的灵活性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,智能手机或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本发明说明书中使用的术语和措辞仅仅为了举例说明,并不意味构成限定。本领域技术人员应当理解,在不脱离所公开的实施方式的基本原理的前提下,对上述实施方式中的各细节可进行各种变化。因此,本发明的范围只由权利要求确定,在权利要求中,除非另有说明,所有的术语应按最宽泛合理的意思进行理解。