CN102510377A - 一种加速网页交互的异步数据处理方法及*** - Google Patents
一种加速网页交互的异步数据处理方法及*** Download PDFInfo
- Publication number
- CN102510377A CN102510377A CN2011103380865A CN201110338086A CN102510377A CN 102510377 A CN102510377 A CN 102510377A CN 2011103380865 A CN2011103380865 A CN 2011103380865A CN 201110338086 A CN201110338086 A CN 201110338086A CN 102510377 A CN102510377 A CN 102510377A
- Authority
- CN
- China
- Prior art keywords
- data processing
- asynchronous data
- template
- client
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种加速网页交互的异步数据处理方法及***,其方法为:1)客户端向服务器端发送异步数据请求;2)服务器端根据请求封装相应的异步数据;3)服务器端将经封装的异步数据和预定义的模板发送到数据处理引擎;4)数据处理引擎基于模板对异步数据进行处理,生成字符串返回客户端;5)客户端接收返回的字符串,将其写入页面指定位置。其***包括客户端、服务器端和数据处理引擎。本发明的方法和***可用于任何web***的表现层,彻底分离表现层和业务逻辑层,运用本发明的方法开发人员不用为返回值解析编写代码,提高开发效率高;而客户端可将接收的数据直接写入页面,提高了显示速度,增强了用户体验。
Description
技术领域
本发明属于web应用领域,具体涉及一种加速网页交互的异步数据处理方法及***。
背景技术
在常规的网页异步交互应用中,其基本原理就是客户端向服务器端发送一个异步请求,服务器端调用业务处理方法,将经过处理的数据返回给客户端,然后通过javascipt和css对页面进行更新,以实现在页面不刷新的情况下更新显示内容的目的,更好的提高了用户体验。
在现有方法的过程中,相对麻烦的就是返回的数据内容在页面的解析问题。对于只是简单的返回类型,例如数字或字符串,返回字符串就可达到目的。但当返回的数据结构比较复杂时,使用字符串返回就需要编写更多的脚本方法用于拆分字符串并将拆分的结果赋值到相应的位置,这种做法,不仅加大了程序开发的工作量,同时加重了浏览器解析javascript代码的负担,而且会使得代码丑陋,难以维护。若使用xml或json格式返回会稍好一些,但这样的数据结构仍然在前端需要一定的解析处理,并没有有效的解决问题。
发明内容
针对现有技术中的问题,本发明的目的是提供一种数据处理方法,利用已定义的模板,对客户端请求的数据进行渲染,然后将渲染好的模板数据直接写回到客户端,有效减少了页面解析的代码量,提高了数据的解析性能和可维护性。
本发明提供一种加速网页交互的异步数据处理方法,步骤如下:
1)客户端向服务器端发送异步数据请求;
2)服务器端接收请求后,将相应的异步数据进行封装;
3)服务器端将经封装的异步数据和预定义的模板发送到数据处理引擎;
4)数据处理引擎基于模板处理异步数据,生成网页浏览器能够直接显示处理的字符串,并将字符串返回给客户端;
5)客户端接收返回的字符串,将其写入页面指定位置,实现页面的局部刷新。
所述服务器端将数据封装为对象。
所述模板是具有固定格式和固定语法的文档,其中占位符标识的内容可被动态数据替换。
所述占位符是特殊字符开始和结尾的字符串,中间的内容为占位符标识的内容。
所述模板是由伪html语言生成,其布局格式采用XML格式规范。
模板:一份已经写好了基本内容,有着固定格式、固定语法的文档,其中用占位符标识的内容,由使用者来填充,不同的使用者给出的数据是不同的。在模板中的占位符,在模板运行时,由数据处理引擎来解析模板,并采用动态数据替换占位符部分的内容。
所述第4)步骤的具体方法为:
A、数据处理引擎读取模板;
B、将模板以文本形式加载到内存中;
C、将加载到内存中的模板文本解析为html代码的文本,在解析过程中遇到模板的占位符时,将占位符标识的内容替换为经封装的数据。
D、将解析生成的文本转换为字符串。
本发明的核心功能和业务都由数据处理引擎完成。开发人员需要做的仅仅是接收用户的请求数据,根据业务需要进行数据封装,并按照业务要求的展现形式编写简单的模板。然后将数据与模板同时提交到数据处理引擎。最后,接收引擎返回的数据,并将其写入页面指定位置即可。在此过程中,开发人员只需关注业务和页面的展现,而不需再为异步调用后复杂返回值的解析耗费大量的精力编写处理方法。而客户端接收数据后即可用于显示,提高了显示速度,增强了用户体验。
数据处理引擎:用java语言编写的数据处理类,基于模板来生成文本输出。
本发明还提供一种加速网页交互的异步数据处理***,包括客户端、服务器端和数据处理引擎,客户端发送异步数据请求给服务器端,服务器端根据请求将相应的异步数据和模板发送给数据处理引擎,数据处理引擎基于模板处理异步数据并生成字符串发送给客户端。
所述服务器端设置有接收模块和数据封装模块,接收模块接收客户端的请求,数据封装模块将异步数据封装为对象。
本发明优点如下:
1.本发明与Web容器无关,可用于任何web***的表现层实现,彻底分离表现层和业务逻辑层。
2.开发人员只需关注业务和页面的展现,不用为返回值解析编写代码,提高了开发效率。
3.客户端收到返回数据可直接写入页面进行显示,提高了显示速度,增强了用户体验。
附图说明
附图是本发明的数据处理方法流程图。
具体实施方式
本发明的加速网页交互的异步数据处理***,包括客户端、服务器端和数据处理引擎,客户端发送异步数据请求给服务器端,服务器端根据请求将相应的异步数据和模板发送给数据处理引擎,数据处理引擎基于模板处理异步数据并生成字符串发送给客户端。
所述服务器端设置有接收模块和数据封装模块,接收模块接收客户端的请求,数据封装模块将异步数据封装为对象。
下面结合附图,详细的说明本发明的***利用模板处理异步调用返回值的流程。
本发明的数据处理方法,如图所示:
1.客户端发出异步数据请求。
2.服务器端调用接收模块接收客户端请求,根据请求中的参数值调用数据封装模块,将需要返回给客户端的数据封装成对象,此对象可以是任何形式,如List,Map,Object等。生成对象后,将对象提交到数据处理引擎。
3.数据处理引擎通过读取模板文件,以约定的规则,对模板进行解析。其基本原理如下:
首先,将模板以文本形式加载到内存中。如果加载成功,则进行以下流程;否则进入错误处理模块,向客户端返回错误提示信息,流程结束。
模板的定义语法是一种伪html语言,其布局格式仿照静态页面实现。要求其严格遵守XML格式规范,通过父节点、子节点、同级节点等规则的定义实现页面布局。在标签命名不冲突的情况下,可以复用html中的大部分基础标签,这样降低了解析时需要转换的数据量。解析时根据其节点间的关系,生成对应逻辑关系的html代码。对于需要在模板解析过程中用异步数据来动态替换的内容,使用占位符标识。占位符支持不同的异步数据类型,如整型、字符串、集合、哈希表等;用户也可以根据业务需要扩展现有占位符类别,以适应自定义数据类型。
在模板解析过程中,如果遇到占位符,则根据其唯一标识,从传入的对象中提取相同名称的对象属性值进行内容替换。此方法利用面向页面编程的原理,替换工作始终贯穿模板解析的全过程。当模板解析完成后,对应的占位符已替换为客户端所要展现的最新内容,数据处理流程同时结束。
最后,将数据处理引擎生成的文本以字符串的形式返回客户端,将其写入页面指定位置。
尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (10)
1.一种加速网页交互的异步数据处理方法,包括如下步骤:
1)客户端向服务器端发送异步数据请求;
2)服务器端根据请求封装相应的异步数据;
3)服务器端将经封装的异步数据和预定义的模板发送到数据处理引擎;
4)数据处理引擎基于模板对异步数据进行处理,生成字符串返回客户端;
5)客户端接收返回的字符串,将其写入页面指定位置。
2.根据权利要求1所述的加速网页交互的异步数据处理方法,其特征在于所述服务器端将数据封装为对象。
3.根据权利要求1所述的加速网页交互的异步数据处理方法,其特征在于所述模板是具有固定格式和固定语法的文档,其中占位符标识的内容可被动态数据替换。
4.根据权利要求3所述的加速网页交互的异步数据处理方法,其特征在于所述占位符是特殊字符开始和结尾的字符串,中间的内容为占位符标识的内容。
5.根据权利要求1所述的加速网页交互的异步数据处理方法,其特征在于所述模板是由伪html语言生成,其布局格式采用XML格式规范。
6.根据权利要求3所述的加速网页交互的异步数据处理方法,其特征在于所述第4)步骤解析异步数据的方法为;
A、数据处理引擎读取模板;
B、将模板加载到内存中;
C、将加载到内存中的模板解析为html代码的文本,在解析过程中遇到模板的占位符时,将占位符标识的内容替换为经封装的数据;
D、将解析生成的文本转换为字符串。
7.根据权利要求6所述的加速网页交互的异步数据处理方法,其特征在于解析模板的方法为根据模板内各节点间的关系,生成对应逻辑关系的html代码。
8.根据权利要求6所述的加速网页交互的异步数据处理方法,其特征在于封装的数据为对象。
9.根据权利要求7所述的加速网页交互的异步数据处理方法,其特征在于根据占位符标识,从对象中提取与标识名称相同的对象属性替换占位符标识的内容。
10.一种加速网页交互的异步数据处理***,其特征在于包括客户端、服务器端和数据处理引擎,客户端发送异步数据请求给服务器端,服务器端设有接收模块和数据封装模块,接收模块接收请求,服务器端调用数据封装模块将相应的异步数据封装为对象,并将模板和对象发送给数据处理引擎,数据处理引擎基于模板处理异步数据并生成字符串发送给客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103380865A CN102510377A (zh) | 2011-10-31 | 2011-10-31 | 一种加速网页交互的异步数据处理方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103380865A CN102510377A (zh) | 2011-10-31 | 2011-10-31 | 一种加速网页交互的异步数据处理方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102510377A true CN102510377A (zh) | 2012-06-20 |
Family
ID=46222430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103380865A Pending CN102510377A (zh) | 2011-10-31 | 2011-10-31 | 一种加速网页交互的异步数据处理方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102510377A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778117A (zh) * | 2012-10-17 | 2014-05-07 | 腾讯科技(深圳)有限公司 | 一种移动终端信息加载的方法及*** |
CN105005568A (zh) * | 2014-04-22 | 2015-10-28 | ***股份有限公司 | 基于模板的web页面前端处理装置及方法 |
CN105007309A (zh) * | 2015-06-29 | 2015-10-28 | 上海瀚之友信息技术服务有限公司 | 一种动态数据与静态界面的分离控制***及方法 |
CN105516333A (zh) * | 2015-12-23 | 2016-04-20 | 北京奇虎科技有限公司 | 一种基于网页的交互方法和*** |
CN107172012A (zh) * | 2017-04-18 | 2017-09-15 | 北京思特奇信息技术股份有限公司 | 一种报文格式转换方法和*** |
CN107633063A (zh) * | 2017-09-20 | 2018-01-26 | 福建四创软件有限公司 | 一种基于后台服务器的防汛数据秒级加载方法 |
WO2018049869A1 (zh) * | 2016-09-19 | 2018-03-22 | 华为技术有限公司 | 展示页面扩展点的装置及方法 |
CN108874875A (zh) * | 2018-04-28 | 2018-11-23 | 北京微播视界科技有限公司 | 网页内容异步加载方法、装置、可读存储介质和终端 |
CN109710250A (zh) * | 2018-11-15 | 2019-05-03 | 安徽同徽信息技术有限公司 | 一种用于构建用户界面的可视化引擎***及方法 |
CN112185522A (zh) * | 2020-09-27 | 2021-01-05 | 上海联影医疗科技股份有限公司 | 一种信息处理方法、装置及终端 |
WO2023165190A1 (zh) * | 2022-03-01 | 2023-09-07 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、程序产品、计算机设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555534A (zh) * | 2001-09-13 | 2004-12-15 | �Ҵ���˾ | 用于在网络中传送动态信息的方法和*** |
CN1614927A (zh) * | 2004-11-18 | 2005-05-11 | 北京锐安科技有限公司 | 在b/s结构中实现树型结构的方法 |
CN101079041A (zh) * | 2006-12-29 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 一种更新动态网页的方法及*** |
CN100437579C (zh) * | 2005-12-20 | 2008-11-26 | 腾讯科技(深圳)有限公司 | 一种实现ajax网页的方法 |
CN101976235A (zh) * | 2010-09-21 | 2011-02-16 | 天津神舟通用数据技术有限公司 | 基于动态网页的可扩展的Word报告自动生成方法 |
-
2011
- 2011-10-31 CN CN2011103380865A patent/CN102510377A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555534A (zh) * | 2001-09-13 | 2004-12-15 | �Ҵ���˾ | 用于在网络中传送动态信息的方法和*** |
CN1614927A (zh) * | 2004-11-18 | 2005-05-11 | 北京锐安科技有限公司 | 在b/s结构中实现树型结构的方法 |
CN100437579C (zh) * | 2005-12-20 | 2008-11-26 | 腾讯科技(深圳)有限公司 | 一种实现ajax网页的方法 |
CN101079041A (zh) * | 2006-12-29 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 一种更新动态网页的方法及*** |
CN101976235A (zh) * | 2010-09-21 | 2011-02-16 | 天津神舟通用数据技术有限公司 | 基于动态网页的可扩展的Word报告自动生成方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778117B (zh) * | 2012-10-17 | 2018-11-09 | 腾讯科技(深圳)有限公司 | 一种移动终端信息加载的方法及*** |
CN103778117A (zh) * | 2012-10-17 | 2014-05-07 | 腾讯科技(深圳)有限公司 | 一种移动终端信息加载的方法及*** |
CN105005568A (zh) * | 2014-04-22 | 2015-10-28 | ***股份有限公司 | 基于模板的web页面前端处理装置及方法 |
CN105005568B (zh) * | 2014-04-22 | 2019-10-01 | ***股份有限公司 | 基于模板的web页面前端处理装置及方法 |
CN105007309A (zh) * | 2015-06-29 | 2015-10-28 | 上海瀚之友信息技术服务有限公司 | 一种动态数据与静态界面的分离控制***及方法 |
CN105516333A (zh) * | 2015-12-23 | 2016-04-20 | 北京奇虎科技有限公司 | 一种基于网页的交互方法和*** |
CN105516333B (zh) * | 2015-12-23 | 2018-10-23 | 北京奇虎科技有限公司 | 一种基于网页的交互方法和*** |
WO2018049869A1 (zh) * | 2016-09-19 | 2018-03-22 | 华为技术有限公司 | 展示页面扩展点的装置及方法 |
CN107172012A (zh) * | 2017-04-18 | 2017-09-15 | 北京思特奇信息技术股份有限公司 | 一种报文格式转换方法和*** |
CN107633063A (zh) * | 2017-09-20 | 2018-01-26 | 福建四创软件有限公司 | 一种基于后台服务器的防汛数据秒级加载方法 |
CN107633063B (zh) * | 2017-09-20 | 2021-04-27 | 四创科技有限公司 | 一种基于后台服务器的防汛数据秒级加载方法 |
CN108874875A (zh) * | 2018-04-28 | 2018-11-23 | 北京微播视界科技有限公司 | 网页内容异步加载方法、装置、可读存储介质和终端 |
CN109710250A (zh) * | 2018-11-15 | 2019-05-03 | 安徽同徽信息技术有限公司 | 一种用于构建用户界面的可视化引擎***及方法 |
CN109710250B (zh) * | 2018-11-15 | 2022-05-31 | 安徽同徽信息技术有限公司 | 一种用于构建用户界面的可视化引擎***及方法 |
CN112185522A (zh) * | 2020-09-27 | 2021-01-05 | 上海联影医疗科技股份有限公司 | 一种信息处理方法、装置及终端 |
WO2023165190A1 (zh) * | 2022-03-01 | 2023-09-07 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、程序产品、计算机设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102510377A (zh) | 一种加速网页交互的异步数据处理方法及*** | |
CN104461484B (zh) | 前端模板的实现方法和装置 | |
US9892205B2 (en) | Declarative show and hide animations in markup languages | |
CN104866512B (zh) | 提取网页内容的方法、装置及*** | |
CN105373615A (zh) | 一种页面定制化的方法和装置 | |
CN104714982A (zh) | 一种网页的加载方法和*** | |
CN101154157A (zh) | 为JavaScript应用提供全球化功能的***和方法 | |
JP2017538991A (ja) | モバイルアプリ用ページ処理 | |
CN109032917B (zh) | 页面调试方法和***、移动终端以及电脑端 | |
CN105094786A (zh) | 基于JavaScript定制页面的方法及*** | |
CN101714133A (zh) | 一种基于web的数学公式编辑***及方法 | |
CN103309806B (zh) | 一种快速开发测试的装置及方法 | |
CN106372130B (zh) | 一种静态资源管理方法 | |
CN110908712A (zh) | 移动端跨平台的数据处理方法和设备 | |
CN103488732A (zh) | 一种静态页面生成方法及装置 | |
CN103049439A (zh) | 标记语言文档的处理方法及浏览器和网络操作*** | |
CN102385580A (zh) | 一种定制网页内容的方法和装置 | |
CN103176778B (zh) | 网页开发方法和装置 | |
CN113031932B (zh) | 项目开发方法、装置、电子设备及存储介质 | |
CN102999579A (zh) | 页面文本框处理浏览器和页面文本框元素处理方法 | |
CN101860734A (zh) | 一种ajax实现动态图像增量传输与显示的方法 | |
CN103377039A (zh) | 一种网页游戏开发、解析方法、一种编辑器以及解析装置 | |
CN105989126B (zh) | 一种网页显示方法及装置 | |
CN102508887A (zh) | 一种数字电视交互服务标记语言解析***及方法 | |
CN107092514A (zh) | 一种页面内容展示方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120620 |