CN110489695A - 模块驱动视图数据的方法及装置 - Google Patents
模块驱动视图数据的方法及装置 Download PDFInfo
- Publication number
- CN110489695A CN110489695A CN201910695871.2A CN201910695871A CN110489695A CN 110489695 A CN110489695 A CN 110489695A CN 201910695871 A CN201910695871 A CN 201910695871A CN 110489695 A CN110489695 A CN 110489695A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- viewdata
- web page
- drive
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000009877 rendering Methods 0.000 claims abstract description 15
- 230000003993 interaction Effects 0.000 claims abstract description 9
- 238000005538 encapsulation Methods 0.000 claims description 7
- 230000003068 static effect Effects 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种模块驱动视图数据的方法,包括如下步骤:A)驱动模块接收来自服务器端的数据源,调用Init方法,初始化数据;B)通过接口传入所述数据源,让web页面动起来;C)当有再次的数据交互时,直接调用Load方法;D)当所述服务器端的数据更新时,通知到中间层,通过刷新,让所有的接口模块中的数据通过render函数填充到对应的视图模块中,更新渲染web页面。本发明还涉及一种实现上述模块驱动视图数据的方法的装置。实施本发明的模块驱动视图数据的方法及装置,具有以下有益效果:页面资源静态化,减少网络带宽,减轻服务器压力,通过前后端分离的模式提高工作效率,减少开发成本。
Description
技术领域
本发明涉及互联网IT领域,特别涉及一种模块驱动视图数据的方法及装置。
背景技术
随着互联网web网站开发技术的不断发展,web前端开发,不仅仅再是客户端的开发,因为Nodejs的诞生,技术的成熟以及生态的不断健全完善,大家发现现在的前端不仅仅是指客户端方面的开发,它可以开发服务器端,可以开发中间件,也可以开发工程化等等。
传统的开发模式存在明显的弊端,就是每一次请求,都要去请求程序以及访问数据库,程序、数据库、服务器可能不在同一台电脑上面,所以在这个过程中要建立大量的I/O,以及消耗太多的网络带宽,这种模式不可取。当一千、一万、甚至十万个用户同时访问网站的时候,这种高并发量对服务器造成的压力会很大,同时每个服务器还要去访问数据库,这个时候,数据库的压力也会很大。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种页面资源静态化,减少网络带宽,减轻服务器压力,通过前后端分离的模式提高工作效率,减少开发成本的模块驱动视图数据的方法及装置。
本发明解决其技术问题所采用的技术方案是:构造一种模块驱动视图数据的方法,包括如下步骤:
A)驱动模块接收来自服务器端的数据源,调用Init方法,初始化数据;
B)通过接口传入所述数据源,让web页面动起来;
C)当有再次的数据交互时,直接调用Load方法;
D)当所述服务器端的数据更新时,通知到中间层,通过刷新,让所有的接口模块中的数据通过render函数填充到对应的视图模块中,更新渲染web页面。
在本发明所述的模块驱动视图数据的方法中,在所述步骤D)之后还包括:
E)将所述模块驱动视图数据的方法封装成一个对象,在web页面中引入,即能调用。
在本发明所述的模块驱动视图数据的方法中,每个所述接口模块与web页面上的每一个所述视图模块是一一对应的关系。
在本发明所述的模块驱动视图数据的方法中,所述视图模块中的数据包含到云端数据中。
本发明还涉及一种实现上述模块驱动视图数据的方法的装置,包括:
数据源接收单元:用于使驱动模块接收来自服务器端的数据源,调用Init方法,初始化数据;
数据源传入单元:用于通过接口传入所述数据源,让web页面动起来;
Load方法调用单元:用于当有再次的数据交互时,直接调用Load方法;
更新渲染单元:用于当所述服务器端的数据更新时,通知到中间层,通过刷新,让所有的接口模块中的数据通过render函数填充到对应的视图模块中,更新渲染web页面。
在本发明所述的装置中,还包括:
封装单元:用于将所述模块驱动视图数据的方法封装成一个对象,在web页面中引入,即能调用。
在本发明所述的装置中,每个所述接口模块与web页面上的每一个所述视图模块是一一对应的关系。
在本发明所述的装置中,所述视图模块中的数据包含到云端数据中。
实施本发明的模块驱动视图数据的方法及装置,具有以下有益效果:由于驱动模块接收来自服务器端的数据源,调用Init方法,初始化数据;通过接口传入所述数据源,让web页面动起来;当有再次的数据交互时,直接调用Load方法;当服务器端的数据更新时,通知到中间层,通过刷新,让所有的接口模块中的数据通过render函数填充到对应的视图模块中,更新渲染web页面;本发明页面资源静态化,减少网络带宽,减轻服务器压力,通过前后端分离的模式提高工作效率,减少开发成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明模块驱动视图数据的方法及装置一个实施例中方法的流程框图;
图2为所述实施例中模块驱动视图数据的方法的流程图;
图3为所述实施例中装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明模块驱动视图数据的方法及装置实施例中,该模块驱动视图数据的方法的流程框图如图1所示。图2为本实施例中模块驱动视图数据的方法的流程框图。图1中,Service Data为服务器端的数据源,ModerDriver为驱动模块,fetch为接口,Module A、Module B和Module C为接口模块,View A、View B和View C为视图模块,Refresh为刷新。
驱动框架通过接口从服务器端获取数据,视图模块中的数据都要包含到云端数据中去。实施本方案需要满足两个条件:1)服务器端需要提供数据给接口,接口要有数据;2)接口数据中的每个模块必须跟页面上的每一个模块是一一对应的关系,也就是每个接口模块与web页面上的每一个视图模块是一一对应的关系。
如图1所示,比如接口中有Module A、Module B、Module C...多个接口模块,视图中就要有对应的响应的View A,View B,View C...多个视图模块,通过render函数将接口模块中的数据填充到视图模块中。不管多少web页面,都得去配置自己的模块,而且每个模块的规则,每个模块的数据最终一定要绑定模块视图。通过驱动架构,管理好每个模块的数据。
图1中,该模块驱动视图数据的方法包括如下步骤:
步骤S01驱动模块接收来自服务器端的数据源,调用Init方法,初始化数据:本步骤中,驱动模块接收来自服务器端的数据源,调用Init方法,初始化数据。
步骤S02通过接口传入数据源,让web页面动起来:本步骤中,通过接口传入数据源,让web页面动起来。
步骤S03当有再次的数据交互时,直接调用Load方法:本步骤中,如果有再次的数据交互,则只需调用Load方法。
步骤S04当服务器端的数据更新时,通知到中间层,通过刷新,让所有的接口模块中的数据通过render函数填充到对应的视图模块中,更新渲染web页面:本步骤中,当服务器端的数据更新时,只需通知到中间层,通过刷新,让所有的接口模块中的数据通过render函数填充到对应的视图模块中,更新渲染web页面。
对比传统的前后端分离模式,通过Ajax异步请求服务器获得数据,再进行页面渲染,带来的频繁请求接口,给服务器端和数据库带来压力以及前后端开发工程的成本高。本发明的块驱动视图数据的方法提出了让页面静态化的这样一种概念,就是让从服务器端完全的返回页面,不需要再通过后台去请求,直接把静态页面返回出去,而保持数据实时版本的更新,虽然页面是静态的,但是页面内的数据能实时同步更新,本发明的模块驱动视图数据的方法能极大的提高页面渲染性能和开发效率,节省了成本。
本实施例中,在步骤S04之后还包括如下步骤:
步骤S05将模块驱动视图数据的方法封装成一个对象,在web页面中引入,即能调用:本步骤中,将模块驱动视图数据的方法封装成一个对象,在web页面中引入,即能调用。
在本发明的模块驱动视图数据的方法中,针对传统web开发技术的上存在消耗网络带宽大,性能差以及前后端工作配合效率低,开发成本高等弊端,提出一种模块驱动视图数据的方法,同时实现了模块封装。
图3为本实施例中装置的结构示意图,图3中,该装置包括数据源接收单元1、数据源传入单元2、Load方法调用单元3和更新渲染单元4,其中,数据源接收单元1用于使驱动模块接收来自服务器端的数据源,调用Init方法,初始化数据;数据源传入单元2用于通过接口传入数据源,让web页面动起来;Load方法调用单元3用于当有再次的数据交互时,直接调用Load方法;更新渲染单元4用于当服务器端的数据更新时,通知到中间层,通过刷新,让所有的接口模块中的数据通过render函数填充到对应的视图模块中,更新渲染web页面。值得一提的是,本实施例中,每个接口模块与web页面上的每一个视图模块是一一对应的关系。视图模块中的数据包含到云端数据中。
对比传统的前后端分离模式,通过Ajax异步请求服务器获得数据,再进行页面渲染,带来的频繁请求接口,给服务器端和数据库带来压力以及前后端开发工程的成本高。本发明的装置提出了让页面静态化的这样一种概念,就是让从服务器端完全的返回页面,不需要再通过后台去请求,直接把静态页面返回出去,而保持数据实时版本的更新,虽然页面是静态的,但是页面内的数据能实时同步更新,本发明的装置能极大的提高页面渲染性能和开发效率,节省了成本。
本实施例中,该装置还包括封装单元5,封装单元5用于将模块驱动视图数据的方法封装成一个对象,在web页面中引入,即能调用。
在本发明的装置中,针对传统web开发技术的上存在消耗网络带宽大,性能差以及前后端工作配合效率低,开发成本高等弊端,提出一种实现模块驱动视图数据的方法的装置,同时实现了模块封装。
在实际应用中,在要求不高的情况下,采用MVC模式也能勉强实现页面资源静态化,能实现页面百分之70-80%的内容是静态,不需要跑程序,直接返回页面,但是仍有20-30%的页面数据是需要请求后端接口访问数据库的;还有一个显著的弊端就是前后端不分离,工程化开发成本高。
总之,本发明方案的关键点在于提出了前端资源静态化的概念,如何通过驱动模块同步更新视图数据以及驱动模块的方法的封装,实现了模块驱动视图数据。;本发明页面资源静态化,减少网络带宽,减轻服务器压力,通过前后端分离的模式提高工作效率,减少开发成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种模块驱动视图数据的方法,其特征在于,包括如下步骤:
A)驱动模块接收来自服务器端的数据源,调用Init方法,初始化数据;
B)通过接口传入所述数据源,让web页面动起来;
C)当有再次的数据交互时,直接调用Load方法;
D)当所述服务器端的数据更新时,通知到中间层,通过刷新,让所有的接口模块中的数据通过render函数填充到对应的视图模块中,更新渲染web页面。
2.根据权利要求1所述的模块驱动视图数据的方法,其特征在于,在所述步骤D)之后还包括:
E)将所述模块驱动视图数据的方法封装成一个对象,在web页面中引入,即能调用。
3.根据权利要求2所述的模块驱动视图数据的方法,其特征在于,每个所述接口模块与web页面上的每一个所述视图模块是一一对应的关系。
4.根据权利要求1至3任意一项所述的模块驱动视图数据的方法,其特征在于,所述视图模块中的数据包含到云端数据中。
5.一种实现如权利要求1所述的模块驱动视图数据的方法的装置,其特征在于,包括:
数据源接收单元:用于使驱动模块接收来自服务器端的数据源,调用Init方法,初始化数据;
数据源传入单元:用于通过接口传入所述数据源,让web页面动起来;
Load方法调用单元:用于当有再次的数据交互时,直接调用Load方法;
更新渲染单元:用于当所述服务器端的数据更新时,通知到中间层,通过刷新,让所有的接口模块中的数据通过render函数填充到对应的视图模块中,更新渲染web页面。
6.根据权利要求5所述的装置,其特征在于,还包括:
封装单元:用于将所述模块驱动视图数据的方法封装成一个对象,在web页面中引入,即能调用。
7.根据权利要求6所述的装置,其特征在于,每个所述接口模块与web页面上的每一个所述视图模块是一一对应的关系。
8.根据权利要求5至7任意一项所述的装置,其特征在于,所述视图模块中的数据包含到云端数据中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910695871.2A CN110489695A (zh) | 2019-07-30 | 2019-07-30 | 模块驱动视图数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910695871.2A CN110489695A (zh) | 2019-07-30 | 2019-07-30 | 模块驱动视图数据的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110489695A true CN110489695A (zh) | 2019-11-22 |
Family
ID=68548759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910695871.2A Pending CN110489695A (zh) | 2019-07-30 | 2019-07-30 | 模块驱动视图数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489695A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050050164A1 (en) * | 2000-05-18 | 2005-03-03 | Burd Gary S. | Server-side control objects for processing client-side user interface elements |
US20080281898A1 (en) * | 2007-05-09 | 2008-11-13 | Bea Systems, Inc. | Portlets in non-portal pages |
CN104778211A (zh) * | 2015-03-18 | 2015-07-15 | 微梦创科网络科技(中国)有限公司 | 一种局部刷新页面模块的方法、客户端、服务器及系统 |
CN106020823A (zh) * | 2016-05-19 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种前端Web表现与数据分离以及页面快速响应的方式 |
CN106777055A (zh) * | 2016-12-09 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 一种实现网站接口化渲染的方法与装置 |
CN108287839A (zh) * | 2017-01-09 | 2018-07-17 | 阿里巴巴集团控股有限公司 | 一种页面加载方法和设备 |
-
2019
- 2019-07-30 CN CN201910695871.2A patent/CN110489695A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050050164A1 (en) * | 2000-05-18 | 2005-03-03 | Burd Gary S. | Server-side control objects for processing client-side user interface elements |
US20080281898A1 (en) * | 2007-05-09 | 2008-11-13 | Bea Systems, Inc. | Portlets in non-portal pages |
CN104778211A (zh) * | 2015-03-18 | 2015-07-15 | 微梦创科网络科技(中国)有限公司 | 一种局部刷新页面模块的方法、客户端、服务器及系统 |
CN106020823A (zh) * | 2016-05-19 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种前端Web表现与数据分离以及页面快速响应的方式 |
CN106777055A (zh) * | 2016-12-09 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 一种实现网站接口化渲染的方法与装置 |
CN108287839A (zh) * | 2017-01-09 | 2018-07-17 | 阿里巴巴集团控股有限公司 | 一种页面加载方法和设备 |
Non-Patent Citations (1)
Title |
---|
WEIXIN_30363817: "[转]ASP.NET Web页生命周期和执行的方法介绍", pages 1, Retrieved from the Internet <URL:https://blog.csdn.net/weixin_30363817/article/details/99068614> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021103479A1 (zh) | 用于训练深度学习模型的方法和装置 | |
EP3573367B1 (en) | Resource allocation for ran slicing | |
CN102158853B (zh) | 用于移动通讯设备终端浏览器的下载管理方法及装置 | |
CN111818120A (zh) | 端云用户交互方法、系统及相应设备、存储介质 | |
CN105577446B (zh) | 一种轻量级嵌入式网络管理系统和方法 | |
CN102323917B (zh) | 一种基于共享内存实现多进程共享gpu的方法 | |
US11003579B2 (en) | Method, device and computer program product for managing distributed system | |
CN109032796B (zh) | 一种数据处理方法和装置 | |
CN106201720B (zh) | 虚拟对称多处理虚拟机创建方法、数据处理方法及系统 | |
CN108920274B (zh) | 用于图像处理服务器端的性能优化及装置 | |
CN104683472A (zh) | 一种支持大数据量的数据传输方法 | |
CN110308986A (zh) | 基于优化调度的容器云上分布式训练数据通信的方法 | |
CN107797874B (zh) | 一种基于嵌入式jetty和spark on yarn框架的资源管控方法 | |
CN111797173A (zh) | 联盟链共享系统、方法、装置、电子设备及存储介质 | |
CN113377493A (zh) | 一种容器云仿真系统及其设计方法 | |
CN102420827B (zh) | 面向智能移动平台的Web服务推送方法 | |
CN113676344B (zh) | 异构光网络的网络虚拟化方法及装置、电子设备、存储介质 | |
CN104731650A (zh) | 系统接口调用信息的获取方法和装置 | |
CN110489695A (zh) | 模块驱动视图数据的方法及装置 | |
CN112035323A (zh) | 一种使用ansible框架监控redis集群的方法及工具 | |
CN114840310B (zh) | 容器创建方法、装置、电子设备和计算机可读存储介质 | |
CN110012003A (zh) | 一种云应用抓屏方法和装置 | |
CN116204302A (zh) | 一种基于k8s安卓云手机的设备调度方法 | |
CN105678828A (zh) | 一种创建过渡动画的方法及装置 | |
CN105487915B (zh) | 一种基于延迟发送机制的gpu虚拟化性能提升的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |