CN104270443B - 一种能够动态解析Web应用的云计算系统及方法 - Google Patents

一种能够动态解析Web应用的云计算系统及方法 Download PDF

Info

Publication number
CN104270443B
CN104270443B CN201410513611.6A CN201410513611A CN104270443B CN 104270443 B CN104270443 B CN 104270443B CN 201410513611 A CN201410513611 A CN 201410513611A CN 104270443 B CN104270443 B CN 104270443B
Authority
CN
China
Prior art keywords
cloud computing
web
page
control architecture
execution
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.)
Active
Application number
CN201410513611.6A
Other languages
English (en)
Other versions
CN104270443A (zh
Inventor
周华强
朱奕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING HANDSCAPE TECHNOLOGY Co Ltd
Original Assignee
BEIJING HANDSCAPE TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING HANDSCAPE TECHNOLOGY Co Ltd filed Critical BEIJING HANDSCAPE TECHNOLOGY Co Ltd
Priority to CN201410513611.6A priority Critical patent/CN104270443B/zh
Publication of CN104270443A publication Critical patent/CN104270443A/zh
Application granted granted Critical
Publication of CN104270443B publication Critical patent/CN104270443B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及一种能够动态解析Web应用的云计算系统,包括:前置处理器、管理器、云计算节点群、云存储节点群;云计算节点群中包括多个云计算节点,云存储节点群中包括多个云存储节点;其中,前置处理器接收移动终端的请求,然后向管理器询问向哪个云计算节点转发移动终端的请求;管理器负责管理云计算节点群中所有云计算节点的运行状态信息,根据云计算节点的运行状态信息决策由哪个运行负荷小的云计算节点处理移动终端的请求,并将决策结果返回给前置处理器;云计算节点根据移动终端的请求做相应的计算;前置处理器接收云计算节点的处理结果,并将结果信息转发给移动终端;云存储节点负责存储云计算系统的会话信息和运行状态信息。

Description

一种能够动态解析Web应用的云计算系统及方法
技术领域
本发明涉及通讯领域,特别涉及一种能够动态解析Web应用的云计算系统。
背景技术
云计算是通过网络提供可伸缩的廉价的分布式计算能力。云计算代表了以虚拟化技术为核心、以低成本为目标的动态可扩展网络应用基础设施,是近年来最有代表性的网络计算技术与模式。云计算系统是指能够对外云计算服务的系统,该系统通常包括多个云计算节点,云计算系统可根据用户的需求从所述多个云计算节点中选取至少一个云计算节点,由所选取的云计算节点向用户提供诸如存储、计算在内的服务。
用户分享云计算所提供服务的终端设备不仅可以是工作站、PC机等计算能力较强、存储资源较为丰富的计算设备,随着智能移动终端设备的普及以及云计算服务种类的多样化,用户将会越来越多地在移动终端设备上分享云计算所提供的服务。
网页浏览器是万维网(Web)服务的客户端浏览程序,可向Web服务器发送各种请求,并对从服务器发来的超文本信息和各种多媒体数据格式进行解释、显示和播放。与工作站、PC机相比,移动终端资源相对有限,因此移动终端网页浏览器较工作站、PC机上运行的网页浏览器在开发时更为困难,在功能上有更多限制。正是由于这一原因,目前绝大多数的移动终端内置网页浏览器不能解析执行包含复杂JS(JavaScript,一种基于对象和事件驱动并具有相对安全性的客户端脚本语言)的Web页面,这导致移动终端内置网页浏览器不能正常浏览包含复杂JS的Web页面。
为了解决移动终端内置浏览器不能正常浏览包含复杂JS的Web页面的问题,现有技术中所采用的方法是采用客户端/浏览器服务器的架构,该架构如图1所示,首先由客户端向浏览器服务器发送请求,接着由浏览器服务器根据该请求中所包含的地址访问Web应用服务器,在获取Web应用数据后在所述浏览器服务器端完成Web应用数据的解析执行,然后浏览器服务器端把解析结果响应给客户端,客户端将解析结果显示在移动终端的网页浏览器上。
在上述客户端/浏览器服务器的架构方式中,客户端和浏览器服务器之间采用自定义的交互动作通讯协议,而这种自定义的交互动作通讯协议是私有通讯协议,移动终端内置网页浏览器不能跟该浏览器服务器通讯。显然,现有技术中的这一架构方式要求Web应用开发人员针对某一类型的Web应用开发专用客户端,不仅要Web应用开发人员花费大量的时间、精力与金钱,也迫使用户需要在移动终端上安装名目繁多、各种各样的Web应用客户端,不利于用户对Web应用的管理。更重要的是,在云计算系统中,作为浏览器服务器的云计算节点可以有多个,在一次服务中并不能事先确定由哪个云计算节点为用户提供服务,且在一次服务中所涉及的云计算节点可能会有多个(如一次服务需要调用多个云计算节点的能力完成),因此,若在客户端与浏览器之间采用私有通讯协议实现通信,则要求所有的云计算节点安装同一私有通讯协议方能在某一客户端上实现Web应用。在实践中存在有多种类型客户端的情况,这就需要在所有云计算节点上安装多种类型的私有通讯协议才能满足不同类型客户端的需求,这给云计算节点带来了较大的负担。
此外,在现有技术的客户端/浏览器服务器的架构方式中,浏览器服务器对Web页面解析执行是在一个封闭的环境中执行,浏览器服务器会把整个Web应用页面的解析执行结果响应给客户端显示。这样做在实际应用中会带来如下问题:1、用户对于Web应用页面有各自不同的需求,对于某一用户而言,网站所提供的Web页面中可能只有部分是有效的,现有技术中的Web应用页面解析执行方式不能过滤出部分有效的Web页面信息给客户端显示,这会给用户带来不必要的信息冗余,浪费带宽资源;2、目前某些网站所提供的Web应用页面仅适合在个人计算机上显示,并不适合移动终端的屏幕尺寸,因此浏览器服务器对整个Web应用页面的解析执行结果可能无法给用户带来最佳的客户体验。
现有技术中尚不存在能够动态解析Web应用的云计算系统。因此,为克服上述现有技术的当前缺陷,本发明提供一种能够动态解析Web应用的云计算系统,该系统能够实现动态解析Web应用,且能够节约解析时间、提高解析效率。
发明内容
本发明的目的在于克服现有技术中的云计算系统无法动态解析Web应用的缺陷,从而提供一种能够动态解析Web应用的云计算系统。
为了实现上述目的,本发明提供了以下技术方案:
一种能够动态解析Web应用的云计算系统,包括:前置处理器、管理器、云计算节点群、云存储节点群;所述云计算节点群中包括多个云计算节点,所述云存储节点群中包括多个云存储节点;
所述前置处理器接收移动终端的请求,然后向所述管理器询问向哪个云计算节点转发移动终端的请求;
所述管理器负责管理云计算节点群中所有云计算节点的运行状态信息,根据所述云计算节点的运行状态信息决策由哪个运行负荷小的云计算节点处理移动终端的请求,并将决策结果返回给前置处理器;
所述云计算节点根据移动终端的请求做相应的计算;所述前置处理器接收云计算节点的处理结果,并将结果信息转发给所述移动终端;
所述云存储节点负责存储云计算系统的会话信息和运行状态信息。
上述技术方案中:
所述云计算节点进一步包括接入控制器、页面拦截规则器、页面重写器、动态解析执行容器/引擎、执行控制模板集;其中,
所述接入控制器将用户发出的访问请求转发到所述页面拦截规则器与动态解析执行容器/引擎,以及从所述页面重写器接收重写后的Web应用页面并返回用户终端的浏览器;
所述页面拦截规则器从用户所发出的访问请求中截取Url地址的特征信息,根据所述Url地址的特征信息调用所述执行控制模板集中的执行控制模板;
所述执行控制模板集包括执行控制模板,每一执行控制模板至少包括执行控制模板指令;所述执行控制模板指令在Web应用的原始数据中加上执行控制模板指令标识,以标识出Web应用的原始数据中哪些可执行代码片段在服务器上执行,以及服务器上执行的可执行代码片段的执行结果存放到重写后的Web应用页面中的哪个位置;
所述动态解析执行容器/引擎按照所述执行控制模板指令完成Web应用的原始数据中指定的可执行代码片段,并输出到重写后的Web应用页面的指定位置;
所述页面重写器对响应给用户终端浏览器的重写后的Web应用页面的地址进行重写。
上述技术方案中:
所述执行控制模板集包括公共资源库、Web应用执行控制模板库;
所述公共资源库用于存放公共使用的公共JS模块和对象文件;
所述Web应用执行控制模板库用于存放各个Web应用的执行控制模板。
上述技术方案中:
所述执行控制模板至少包括用于描述拦截何种Web应用的页面的拦截规则,以及用于指向与所要拦截的Web应用有关的存储空间地址的路径项;
其中所述路径项所指向的存储空间中存放有拦截规则文件、js文件和jst文件;其中的拦截规则文件用于拦截相关Web应用的具体页面的Url地址,以及调用jst文件或js文件;所述js文件和jst文件能够有多个,其中的jst文件用于描述对所要拦截的Web应用的页面加以裁制后所显示页面的框架,所述js文件用于描述裁制指令的内容。
上述技术方案中:
所述拦截规则文件为manifest.json文件。
上述技术方案中:
所述动态解析执行容器/引擎包括:模板调用模块、模板配置或调用控制模块、拦截规则模块;其中,
所述模板调用模块包括识别执行片段单元、管理调用次序单元、调用配置单元;
所述模板配置或调用控制模块包括模板结构化单元、执行关系控制单元、执行片段组织单元以及中间结果工作空间;
所述拦截规则模块用于记录Web应用的原始页面的地址和其内部各子页面的地址,并在动态解析执行过程中拦截Web应用的原始页面。
上述技术方案中:
所述模板调用模块根据所述页面拦截规则器所返回的结果从所述执行控制模板集中调用对应的执行控制模板,并根据所调用的执行控制模板对所拦截的Web应用的原始页面加以处理;
所述模板配置或调用控制模块用于实现对执行控制模板集中各个执行控制模板的配置,或对原Web应用中可执行片段的组织调度。
上述技术方案中:
所述的识别执行片段单元用于从Web应用的原始页面中识别出可执行代码片段;
所述的管理调用次序单元根据Web应用的原始执行逻辑确定Web应用中的执行代码片段的执行次序;
所述的调用配置单元用于对动态解析后所生成的Web应用的新的页面的功能进行配置;
所述的模板结构化单元用于对原Web应用的页面和新生成的Web应用的页面在页面结构和功能上进行对应;
所述的执行关系控制单元用于获取原Web应用页面的执行过程,并按此执行过程执行页面中的各个可执行片段;
所述的执行片段组织单元用于控制各片段代码执行逻辑化过程和调用关系;所述中间结果工作空间用于执行并保持中间数据。
上述技术方案中:
所述页面重写器对重写后的Web应用页面的地址进行重写包括:将Web应用原始页面的地址重写为“云计算节点Url+页面内各类Url”。
上述技术方案中:
所述的可执行代码片段包括JS片段、HTML片段以及CSS片段。
本发明还提供了一种利用所述的云计算系统实现动态解析Web应用的方法,包括:
步骤1)、云计算节点群中的各个云计算节点向管理器汇报自身的运行状态和负荷;这一操作定期进行,或在云计算节点的负荷发生变化时进行;
步骤2)、移动终端所发出的请求为前置处理器所接收;
步骤3)、前置处理器向管理器询问可以向哪个云计算节点转发该请求;
步骤4)、管理器根据自身所存储的各个云计算节点的运行状态和负荷信息向前置处理器推荐某一负荷较小的云计算节点,可将该云计算节点标记为第一云计算节点;
步骤5)、前置处理器向所述第一云计算节点转发移动终端所发出的请求;
步骤6)、第一云计算节点处理移动终端所发出的请求,并将最终处理结果返回给前置处理器;
步骤7)、所述前置处理器将处理结果返回给移动终端。
上述技术方案中:
在步骤6)中的第一云计算节点处理移动终端所发出的请求的过程进一步包括:
在该请求的处理过程中,第一云计算节点若需要将子任务分派给其它云计算节点协助处理,则由第一云计算节点向管理器询问哪些云计算节点可以分担子任务处理;
所述分担子任务处理的云计算节点分别执行子任务,并将处理结果返回给所述第一云计算节点;
所述第一云计算节点将子任务处理结果以及自身对移动终端请求的处理结果汇总,得到对移动终端请求的最终处理结果,将所述最终处理结果返回给前置处理器。
上述技术方案中:
管理器根据各个云计算节点的运行状态和负荷信息推荐若干个云计算节点;
第一云计算节点向上述管理器所推荐的若干个云计算节点发起子任务处理请求;
其它云计算节点响应子任务处理请求,将子任务处理后的结果返回给所述第一云计算节点。
本发明又提供了一种动态解析执行引擎,应用于云计算系统中,包括:模板调用模块、模板配置或调用控制模块、拦截规则模块;其特征在于:
所述模板调用模块,用于根据页面拦截规则器所返回的结果从执行控制模板集中调用对应的执行控制模板,并根据所调用的执行控制模板对所拦截的Web应用的原始页面加以处理;
所述模板配置或调用控制模块,用于实现对执行控制模板集中各个执行控制模板的配置,或对原Web应用中可执行片段的组织调度;
所述拦截规则模块用于记录Web应用的原始页面的地址和其内部各子页面的地址,并在动态解析执行过程中拦截Web应用的原始页面。
上述技术方案中:
所述模板调用模块包括识别执行片段单元、管理调用次序单元、调用配置单元;其中,
所述的识别执行片段单元用于从Web应用的原始页面中识别出可执行代码片段;
所述的管理调用次序单元根据Web应用的原始执行逻辑确定Web应用中的执行代码片段的执行次序;
所述的调用配置单元用于对动态解析后所生成的Web应用的新的页面的功能进行配置;
所述模板配置或调用控制模块包括模板结构化单元、执行关系控制单元、执行片段组织单元以及中间结果工作空间;其中,
所述的模板结构化单元用于对原Web应用的页面和新生成的Web应用的页面在页面结构和功能上进行对应;
所述的执行关系控制单元用于获取原Web应用页面的执行过程,并按此执行过程执行页面中的各个可执行片段;
所述的执行片段组织单元用于控制各片段代码执行逻辑化过程和调用关系;
所述中间结果工作空间用于执行并保持中间数据。
本发明再提供了一种云计算节点,包括:接入控制器、页面拦截规则器、页面重写器、动态解析执行容器/引擎、执行控制模板集;
所述接入控制器将用户发出的访问请求转发到所述页面拦截规则器与动态解析执行容器/引擎,以及从所述页面重写器接收重写后的Web应用页面并返回用户终端的浏览器;
所述页面拦截规则器从用户所发出的访问请求中截取Url地址的特征信息,根据所述Url地址的特征信息调用所述执行控制模板集中的执行控制模板;
所述执行控制模板集包括执行控制模板,每一执行控制模板至少包括执行控制模板指令;所述执行控制模板指令在Web应用的原始数据中加上执行控制模板指令标识,以标识出Web应用的原始数据中哪些可执行代码片段在服务器上执行,以及服务器上执行的可执行代码片段的执行结果存放到重写后的Web应用页面中的哪个位置;
所述动态解析执行容器/引擎按照所述执行控制模板指令完成Web应用的原始数据中指定的可执行代码片段,并输出到重写后的Web应用页面的指定位置;
所述页面重写器对响应给用户终端浏览器的重写后的Web应用页面的地址进行重写。
上述技术方案中:
所述执行控制模板集包括公共资源库、Web应用执行控制模板库;
所述公共资源库用于存放公共使用的公共JS模块和对象文件;
所述Web应用执行控制模板库用于存放各个Web应用的执行控制模板。
上述技术方案中:
所述执行控制模板至少包括用于描述拦截何种Web应用的页面的拦截规则,以及用于指向与所要拦截的Web应用有关的存储空间地址的路径项;
其中所述路径项所指向的存储空间中存放有拦截规则文件、js文件和jst文件;其中的拦截规则文件用于拦截相关Web应用的具体页面的Url地址,以及调用jst文件或js文件;所述js文件和jst文件能够有多个,其中的jst文件用于描述对所要拦截的Web应用的页面加以裁制后所显示页面的框架,所述js文件用于描述裁制指令的内容。
本发明还提供了一种利用所述的云计算节点实现动态解析Web应用的方法,包括:
步骤101)、所述接入控制器监听并接收由前置处理器转发的移动终端所发出的访问请求;
步骤102)、所述页面拦截规则器从步骤101)所得到的访问请求中截取出目标Url地址,根据所述目标URL地址从所述执行控制模板集中调用相应的执行控制模板。
步骤103)、获取用户所要访问的Web应用的原始数据;
步骤104)、根据执行控制模板指令访问Web应用的页面指定区域或执行脚本位置;
步骤105)、根据执行控制模板指令,按原Web应用的执行步骤或执行逻辑分步调用动态解析执行容器/引擎和浏览器内核完成执行操作;
步骤106)、保留原Web应用业务的逻辑,按照业务逻辑和已经拆分存放的中间过程数据,并根据已经执行的JS片段、HTML片段以及CSS片段的中间结果,中间Cookie、Session状态,以及余下部分JS片段、HTML片段、CSS片段生成新的Web应用页面的基本操作和展示内容;
步骤107)、将步骤106)所生成的新的Web应用页面由页面重写器对应移动浏览器特点加入页面UI并排版,通过接入控制器经前置处理器转发后返回给移动终端的浏览器。
上述技术方案中,所述的步骤105)进一步包括:
步骤105-1)、所述动态解析执行容器/引擎按照与该Web应用有关的执行控制模版指令中的标识识别并执行在执行控制模板中指定的JS片段、HTML片段以及CSS片段;
步骤105-2)、动态解析执行容器/引擎按照执行控制模板指令将步骤105-1)所得到的代码片段执行结果输出到Web应用的页面的指定位置;
上述技术方案中,所述的步骤105-1)进一步包括:
本步骤中对JS片段、HTML片段以及CSS片段的执行是通过动态解析执行容器/引擎对JS引擎、HTML解析器、CSS解析器的调用实现的。
本发明的优点在于:本发明的云计算系统能够对Web应用的解析过程进行控制,从而可以根据用户需要由原有的Web应用得到新的Web应用。
附图说明
图1是现有技术中的客户端/浏览器服务器架构的示意图;
图2是本发明的云计算系统的结构示意图;
图3是本发明的云计算系统的工作流程图;
图4是云计算节点的功能模块图;
图5是网址为“http://www.ifeng.com”的网页经拦截后所生成的新的网页的示意图;
图6是动态解析执行容器/引擎的功能模块图。
具体实施方式
现结合附图对本发明作进一步的描述。为克服现有技术中的云计算系统无法动态解析Web应用的缺陷,本发明提供一种能够动态解析Web应用的云计算系统包括:前置处理器、管理器、云计算节点群、云存储节点群;所述云计算节点群中包括多个云计算节点,所述云存储节点群中包括多个云存储节点;其中,所述前置处理器接收移动终端的请求,然后向所述管理器询问向哪个云计算节点转发移动终端的请求;所述管理器负责管理云计算节点群中所有云计算节点的运行状态信息,根据所述云计算节点的运行状态信息决策由哪个运行负荷小的云计算节点处理移动终端的请求,并将决策结果返回给前置处理器;所述云计算节点根据移动终端的请求做相应的计算;所述前置处理器接收云计算节点的处理结果,并将结果信息转发给所述移动终端;所述云存储节点负责存储云计算系统的会话信息和运行状态信息。
下面将参见图2-6对该云计算系统的内部结构、功能原理以及实现过程给予详细的、示例性的说明。
参考图2,本发明的云计算系统包括:前置处理器、管理器、云计算节点群、云存储节点群;所述云计算节点群中包括多个云计算节点,所述云存储节点群中包括多个云存储节点。其中,所述前置处理器接收移动终端的请求,然后向所述管理器询问可向哪个云计算节点转发移动终端的请求,还能接收云计算节点的处理结果,并将结果信息转发给所述移动终端;所述管理器负责管理云计算节点群中所有云计算节点的运行状态信息,还可根据所述云计算节点的运行状态信息决策由哪个运行负荷小的云计算节点处理移动终端的请求,并将决策结果返回给前置处理器;所述云计算节点根据移动终端的请求做相应的计算;所述云存储节点负责存储云计算系统的会话信息和运行状态信息。
进一步的,所述云计算节点进一步包括接入控制器、页面拦截规则器、页面重写器、动态解析执行容器/引擎、执行控制模板集;其中,所述接入控制器将用户发出的访问请求转发到所述页面拦截规则器与动态解析执行容器/引擎,以及从所述页面重写器接收重写后的Web应用页面并返回用户终端的浏览器;所述页面拦截规则器从用户所发出的访问请求中截取Url地址的特征信息,根据所述Url地址的特征信息调用所述执行控制模板集中的执行控制模板;所述执行控制模板集包括执行控制模板,每一执行控制模板至少包括执行控制模板指令;所述执行控制模板指令在Web应用的原始数据中加上执行控制模板指令标识,以标识出Web应用的原始数据中哪些可执行代码片段在服务器上执行,以及服务器上执行的可执行代码片段的执行结果存放到重写后的Web应用页面中的哪个位置;所述动态解析执行容器/引擎按照所述执行控制模板指令完成Web应用的原始数据中指定的可执行代码片段,并输出到重写后的Web应用页面的指定位置;所述页面重写器对响应给用户终端浏览器的重写后的Web应用页面的地址进行重写。
进一步的,所述执行控制模板集包括公共资源库、Web应用执行控制模板库;所述公共资源库用于存放公共使用的公共JS模块和对象文件;所述Web应用执行控制模板库用于存放各个Web应用的执行控制模板。
进一步的,所述执行控制模板至少包括用于描述拦截何种Web应用的页面的拦截规则,以及用于指向与所要拦截的Web应用有关的存储空间地址的路径项;其中所述路径项所指向的存储空间中存放有拦截规则文件、js文件和jst文件;其中的拦截规则文件用于拦截相关Web应用的具体页面的Url地址,以及调用jst文件或js文件;所述js文件和jst文件能够有多个,其中的jst文件用于描述对所要拦截的Web应用的页面加以裁制后所显示页面的框架,所述js文件用于描述裁制指令的内容。
参考图3,本发明的云计算系统的整体工作流程如下:
步骤1)、云计算节点群中的各个云计算节点向管理器汇报自身的运行状态和负荷;这一操作定期进行,或在云计算节点的负荷发生变化时进行;
步骤2)、移动终端所发出的请求为前置处理器所接收;
步骤3)、前置处理器向管理器询问可以向哪个云计算节点转发该请求;
步骤4)、管理器根据自身所存储的各个云计算节点的运行状态和负荷信息向前置处理器推荐某一负荷较小的云计算节点,可将该云计算节点标记为第一云计算节点;
步骤5)、前置处理器向所述第一云计算节点转发移动终端所发出的请求;
步骤6)、第一云计算节点处理移动终端所发出的请求;
步骤7)、在处理请求的过程中,若需要将子任务分派给其它云计算节点协助处理,则由第一云计算节点向管理器询问哪些云计算节点可以分担子任务处理;
步骤8)、管理器根据各个云计算节点的运行状态和负荷信息推荐若干个云计算节点;
步骤9)、第一云计算节点向步骤8)中所推荐的若干个云计算节点发起子任务处理请求;
步骤10)、其它云计算节点响应子任务处理请求,将子任务处理后的结果返回给所述第一云计算节点;
步骤11)、所述第一云计算节点将子任务处理结果以及自身对移动终端请求的处理结果汇总,得到对移动终端请求的最终处理结果,将所述最终处理结果返回给前置处理器;
步骤12)、所述前置处理器将处理结果返回给移动终端。
与现有技术中常见的云计算节点相比,本申请中所涉及的云计算节点能够对移动终端所请求的Web应用做动态解析,包括根据用户的需求从所述完整Web应用页面中提取部分功能、剔除冗余数据、对于页面可执行代码进行拆解并分段执行、对于过程动态数据进行分类存储,然后根据解析结果生成新的Web应用页面并返回给移动终端的浏览器。由此,移动终端的浏览器便可直接访问包含复杂JS的Web页面,或能够根据用户需要访问Web应用页面中的有效数据。
因此,本发明还提供了一种云计算节点,包括:接入控制器、页面拦截规则器、页面重写器、动态解析执行容器/引擎、执行控制模板集;其中,所述接入控制器将用户发出的访问请求转发到所述页面拦截规则器与动态解析执行容器/引擎,以及从所述页面重写器接收重写后的Web应用页面并返回用户终端的浏览器;所述页面拦截规则器从用户所发出的访问请求中截取Url地址的特征信息,根据所述Url地址的特征信息调用所述执行控制模板集中的执行控制模板;所述执行控制模板集包括执行控制模板,每一执行控制模板至少包括执行控制模板指令;所述执行控制模板指令在Web应用的原始数据中加上执行控制模板指令标识,以标识出Web应用的原始数据中哪些可执行代码片段在服务器上执行,以及服务器上执行的可执行代码片段的执行结果存放到重写后的Web应用页面中的哪个位置;所述动态解析执行容器/引擎按照所述执行控制模板指令完成Web应用的原始数据中指定的可执行代码片段,并输出到重写后的Web应用页面的指定位置;所述页面重写器对响应给用户终端浏览器的重写后的Web应用页面的地址进行重写。
进一步的,所述执行控制模板至少包括用于描述拦截何种Web应用的页面的拦截规则,以及用于指向与所要拦截的Web应用有关的存储空间地址的路径项;其中所述路径项所指向的存储空间中存放有拦截规则文件、js文件和jst文件;其中的拦截规则文件用于拦截相关Web应用的具体页面的Url地址,以及调用jst文件或js文件;所述js文件和jst文件能够有多个,其中的jst文件用于描述对所要拦截的Web应用的页面加以裁制后所显示页面的框架,所述js文件用于描述裁制指令的内容。
图4为云计算节点在一个实施例中的结构示意图,如图所示,该云计算节点包括接入控制器、页面拦截规则器、页面重写器、动态解析执行容器/引擎、执行控制模板集、JS引擎、HTML解析器、CSS解析器、Http访问器(fetcher)和Session&Cookie管理器。
所述接入控制器用于实现Http协议的代理服务控制,当云计算节点一启动,所述接入控制器就进入代理监听状态,随时准备接收来源于移动终端的访问请求,一旦监听到访问请求将该请求转发到所述页面拦截规则器与动态解析执行容器/引擎,还包括从页面重写器接收重写后的Web应用页面并返回移动终端的浏览器。
所述页面拦截规则器从移动终端所发出的访问请求中截取Url地址的特征信息,根据所述Url地址的特征信息决定调用执行控制模板集中的哪个执行控制模板。
所述执行控制模板集至少包括多个执行控制模板,每一执行控制模板至少包括执行控制模板指令。所述执行控制模板指令是在已有的网页HTML文件(如*.htm或*.html)中加上执行控制模板指令标识。所述执行控制模板指令标识主要有两种,一种是用于标识出网页HTML文件中的哪段JS片段在服务器上执行,另一种是用于标识出在服务器上解析执行JS的结果放在网页HTML文件的网页HTML内容结构中的哪个位置。与之相比,没有被执行控制模板指令标识的网页HTML内容一般留给客户端浏览器解析执行。
所述JS引擎专门用于处理JS脚本。
所述HTML解析器用于实现Web页面中HTML标签补偿和解析执行。
所述CSS解析器用于实现Web页面中的CSS解析。
所述Session&Cookie管理器用于实现对每个移动终端访问Web应用所产生的Session和Cookie的管理。
所述Http访问器用于完成对Web应用的Web页面的HTTP请求管理。在本实施例中,所述Http访问器根据页面拦截规则器所截取的目标Url地址得到用户所要访问的Web应用的原始页面数据。
所述动态解析执行容器/引擎是一个通过执行JS脚本来协调JS引擎、HTML解析器、CSS解析器、Session&Cookie管理器、Http访问器和附加的原页面本来不具备的功能(如将word文件转换为html或将pdf文件转换为jpg图片)一起工作的JS执行环境。该执行环境按照执行控制模板指令完成指定部分web页面代码片段,并输出到指定页面位置。
所述页面重写器把用于动态解析Web应用的云计算节点响应给移动终端浏览器的Web页面有关Url的地址重写成:云计算节点Url+页面内各类Url。
下面对云计算节点中的各个部分做进一步的说明。
所述执行控制模板集包括公共资源库、Web应用执行控制模板库;所述公共资源库用于存放公共使用的公共JS模块和对象文件;所述Web应用执行控制模板库用于存放各个Web应用的执行控制模板,某一执行控制模板与某一特定的Web应用有关。
所述Web应用执行控制模板库中可以有多个应用执行控制模板,下面是一个简单的Web应用执行控制模板库的代码实例:
在上述的代码实例中,该Web应用执行控制模板库包括三个应用执行控制模板,分别针对网址为“www.baidu.com”、“eipsps.scmcc.com.cn”、“cmhqportaltest.hq.cmcc”的网站。在各个应用执行控制模板中,matches项代表拦截规则,所述拦截规则采用正则表达式表示,path项用于指向与所要拦截的Web应用相关的地址。
所述path所在地址下至少存放有三种类型的文件:js文件、jst文件、拦截规则文件,其中该拦截规则文件优选为manifest.json文件;其中的manifest.json文件用于拦截相关Web应用的具体页面Url地址,以及调用jst文件或js文件;所述js文件和jst文件可以有多个,其中的jst文件用于描述对所要拦截的Web应用的页面加以裁制后所显示页面的框架,所述js文件用于描述裁制指令的内容,在jst文件中调用js文件能够实现输出相关Web应用的布局结构中需要动态变化输出的部分。
下面是manifest.json文件的一个代码实例:
在上述的代码实例中,matches项表示拦截规则,所述拦截规则采用正则表达式的形式,instruction项用来说明当符合拦截规则时应当执行哪个jst文件或js文件。在本实施例中,可通过对用于表示拦截规则的正则表达式的配置确定执行控制模板的粒度。在其他实施例中也可采用其他方式来表示拦截规则以及确定执行控制模板的粒度。
所述js文件中包括有对与Web应用有关的页面进行解析、加工和聚合指令。例如,所述js文件中包含有软件IE Developer Toolbar中的指令,通过该软件中的指令可定位、选定Web页上的特定元素;查看HTML对象的类名、ID以及类似链接路径、tab顺序、快捷键等细节;描绘表格、单元格、图片或选定标签的轮廓;显示图片象素、大小、路径、替代文字。
下面是js文件的一个简单实例:
执行该js文件后,可拦截网址为“http://www.ifeng.com”的网页生成如图5所示的那样只显示“hello www.ifeng.com”的页面。
所述jst文件中包含了对js文件的调用。在本实施例中,对jst调用js的语法做了如下规定:
(1)、<%=%>标签:表示jst把js变量值赋值给Web页面;例如:
<%=ReturnBankJS%>,<%=szHtml%>和<%=zhaoshangBank%>等。
(2)、<%;%>标签:表示jst执行一段js脚本;例如:
<%var names=["chuck","chaz","chuckles","chucky","bill","jim"];%>。
(3)、<%-%>标签:表示jst执行一段js脚本,剔除所有的空白部分。例如:
<%results.forEach(function(item){-%>
<li><%=item%></li>
<%}-%>
(4)、<%include("js文件");%>标签:表示jst调用执行js文件,并可以把js全局定义的变量结果赋值给Web页面。例如:
<%include("payGateway.js");%>
在其他实施例中,jst调用js的语法还可以有其他形式。
从对执行控制模板集的上述描述可以看出,通过应用执行控制模板可实现对Web应用站点的拦截,通过应用执行控制模板中的manifest.json文件可实现对Web应用中某一页面的拦截,通过对jst文件或js文件的执行可实现对与Web应用有关的页面的裁制。依照对应用执行控制模板的上述说明,本领域技术人员也可根据Web应用的特点与需求实现对与Web应用有关的应用执行控制模板的配置。
参考图6,所述动态解析执行容器/引擎进一步包括:模板调用模块、模板配置或调用控制模块、拦截规则模块;其中,所述模板调用模块包括识别执行片段单元、管理调用次序单元、调用配置单元,所述模板配置或调用控制模块包括模板结构化单元、执行关系控制单元、执行片段组织单元以及中间结果工作空间。
所述拦截规则模块用于记录原Web应用的页面地址和其内部各子页面的地址,并在动态解析执行过程中拦截原Web应用的页面。
所述模板调用模块根据所述页面拦截规则器所返回的结果从所述执行控制模板集中调用对应的执行控制模板,并根据所调用的执行控制模板对所拦截的原Web应用的页面加以处理。其中的识别执行片段单元用于从原Web应用的页面中识别出诸如JS片段、HTML片段以及CSS片段在内的可执行片段;所述的管理调用次序单元根据原Web应用的执行逻辑确定原Web应用中的执行代码的执行次序;所述的调用配置单元用于对动态解析后所生成的Web应用的新的页面的功能进行配置,所配置的功能可以是原Web应用的页面已有的功能,也可以是新增加的功能或对已有功能进行替换的新功能。
所述模板配置或调用控制模块用于实现对执行控制模板集中各个执行控制模板的配置,或对原Web应用中可执行片段的组织调度。所述模板结构化单元用于对原Web应用的页面和新生成的Web应用的页面在页面结构和功能上进行对应;所述执行关系控制单元用于获取原Web应用页面的执行过程,并按此执行过程执行页面中的各个可执行片段;所述执行片段组织单元用于控制各片段代码执行逻辑化过程和调用关系;所述中间结果工作空间用于执行并保持中间数据。
所述动态解析执行容器/引擎在工作过程中,具体如下:
首先,根据所述页面拦截规则器所返回的结果从所述执行控制模板集中调用对应的执行控制模板,例如,假设移动终端发起对“www.baidu.com”的访问请求,则从执行控制模板集中调用与baidu有关的执行控制模板(假设该执行控制模板已经保存在执行控制模板集中);
其次,通过所述Http访问器得到用户所要访问的Web应用的原始页面数据,如百度首页的HTML信息;
接着,由所述拦截规则模块根据所述执行控制模板拦截Web应用的原始页面数据,并根据所述执行控制模板中的相关指令修改和裁制Web应用的原始页面数据,具体包括:将所得到的Web应用的原始页面数据存放到中间结果工作空间中,在该空间中,通过调用识别执行片段单元识别所述Web应用的原始页面数据中的可执行片段,通过调用管理调用次序单元确定所述可执行片段的执行次序,通过调用所述的调用配置单元确定Web应用的新生成页面所具有的功能;通过调用模板结构化单元对Web应用的原始页面和新生成的页面在页面结构和功能上进行对应,通过调用执行关系控制单元确保页面中的各个可执行片段按照确定的执行次序执行,通过调用执行片段组织单元控制各片段代码执行逻辑化过程和调用关系;在上述的修改和裁制过程中,应当符合所述Web应用的原有逻辑,保留页面操作涉及的执行代码、子页面功能和页面所指向的其他执行页面;
最后生成所述Web应用的新的页面。
所述页面重写器对Url地址的重写包括将Web应用中原始页面中有关Url的地址重写成:云计算节点Url+页面内各类Url。如将百度首页的HTML信息中a、img和frame等各种链接的Url地址重写成“http://221.130.253.152:1306/tailor/+各种链接的Url地址”。
云计算节点动态解析Web应用的过程如下:
步骤101)、所述接入控制器监听并接收由前置处理器转发的移动终端所发出的访问请求;
步骤102)、所述页面拦截规则器从步骤101)所得到的访问请求中截取出目标Url地址,根据所述目标URL地址从所述执行控制模板集中调用相应的执行控制模板。
步骤103)、获取用户所要访问的Web应用的原始数据;
步骤104)、根据执行控制模板指令访问Web应用的页面指定区域或执行脚本位置;
步骤105)、根据执行控制模板指令,按原Web应用的执行步骤(或执行逻辑)分步调用动态解析执行容器/引擎和浏览器内核完成执行操作;该步骤包括:
步骤105-1)、所述动态解析执行容器/引擎按照与该Web应用有关的执行控制模版指令中的标识识别并执行在执行控制模板中指定的JS片段、HTML片段以及CSS片段;
本步骤中对JS片段、HTML片段以及CSS片段的执行通过动态解析执行容器/引擎对JS引擎、HTML解析器、CSS解析器的调用实现;
步骤105-2)、动态解析执行容器/引擎按照执行控制模板指令将步骤105-1)所得到的代码片段执行结果输出到Web应用的页面的指定位置;
步骤106)、保留原Web应用业务的逻辑,按照业务逻辑和已经拆分存放的中间过程数据,并根据已经执行的JS片段、HTML片段以及CSS片段的中间结果,中间Cookie、Session状态,以及余下部分JS片段、HTML片段、CSS片段生成新的Web应用页面的基本操作和展示内容;
步骤107)、将步骤106)所生成的新的Web应用页面由页面重写器对应移动浏览器特点加入页面UI并排版,通过接入控制器经前置处理器转发后返回给移动终端的浏览器。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (17)

1.一种能够动态解析Web应用的云计算系统,包括:前置处理器、管理器、云计算节点群、云存储节点群;所述云计算节点群中包括多个云计算节点,所述云存储节点群中包括多个云存储节点;其特征在于:
所述前置处理器接收移动终端的请求,然后向所述管理器询问向哪个云计算节点转发移动终端的请求;
所述管理器负责管理云计算节点群中所有云计算节点的运行状态信息,根据所述云计算节点的运行状态信息决策由哪个运行负荷小的云计算节点处理移动终端的请求,并将决策结果返回给前置处理器;
所述云计算节点根据移动终端的请求做相应的计算;所述前置处理器接收云计算节点的处理结果,并将结果信息转发给所述移动终端;
所述云存储节点负责存储云计算系统的会话信息和运行状态信息;
所述云计算节点进一步包括接入控制器、页面拦截规则器、页面重写器、动态解析执行容器/引擎、执行控制模板集;其中,
所述接入控制器将用户发出的访问请求转发到所述页面拦截规则器与动态解析执行容器/引擎,以及从所述页面重写器接收重写后的Web应用页面并返回用户终端的浏览器;
所述页面拦截规则器从用户所发出的访问请求中截取Url地址的特征信息,根据所述Url地址的特征信息调用所述执行控制模板集中的执行控制模板;
所述执行控制模板集包括执行控制模板,每一执行控制模板至少包括执行控制模板指令;所述执行控制模板指令在Web应用的原始数据中加上执行控制模板指令标识,以标识出Web应用的原始数据中哪些可执行代码片段在服务器上执行,以及服务器上执行的可执行代码片段的执行结果存放到重写后的Web应用页面中的哪个位置;
所述动态解析执行容器/引擎按照所述执行控制模板指令完成Web应用的原始数据中指定的可执行代码片段,并输出到重写后的Web应用页面的指定位置;
所述页面重写器对响应给用户终端浏览器的重写后的Web应用页面的地址进行重写;
所述动态解析执行容器/引擎包括:模板调用模块、模板配置或调用控制模块、拦截规则模块;其中,
所述模板调用模块包括识别执行片段单元、管理调用次序单元、调用配置单元;
所述模板配置或调用控制模块包括模板结构化单元、执行关系控制单元、执行片段组织单元以及中间结果工作空间;
所述拦截规则模块用于记录Web应用的原始页面的地址和其内部各子页面的地址,并在动态解析执行过程中拦截Web应用的原始页面;
所述的识别执行片段单元用于从Web应用的原始页面中识别出可执行代码片段;
所述的管理调用次序单元根据Web应用的原始执行逻辑确定Web应用中的执行代码片段的执行次序;
所述的调用配置单元用于对动态解析后所生成的Web应用的新的页面的功能进行配置;
所述的模板结构化单元用于对原Web应用的页面和新生成的Web应用的页面在页面结构和功能上进行对应;
所述的执行关系控制单元用于获取原Web应用页面的执行过程,并按此执行过程执行页面中的各个可执行片段;
所述的执行片段组织单元用于控制各片段代码执行逻辑化过程和调用关系;所述中间结果工作空间用于执行并保持中间数据。
2.根据权利要求1所述的能够动态解析Web应用的云计算系统,其特征在于:
所述执行控制模板集包括公共资源库、Web应用执行控制模板库;
所述公共资源库用于存放公共使用的公共JS模块和对象文件;
所述Web应用执行控制模板库用于存放各个Web应用的执行控制模板。
3.根据权利要求1或2所述的能够动态解析Web应用的云计算系统,其特征在于:
所述执行控制模板至少包括用于描述拦截何种Web应用的页面的拦截规则,以及用于指向与所要拦截的Web应用有关的存储空间地址的路径项;
其中所述路径项所指向的存储空间中存放有拦截规则文件、js文件和jst文件;其中的拦截规则文件用于拦截相关Web应用的具体页面的Url地址,以及调用jst文件或js文件;所述js文件和jst文件能够有多个,其中的jst文件用于描述对所要拦截的Web应用的页面加以裁制后所显示页面的框架,所述js文件用于描述裁制指令的内容。
4.根据权利要求3所述的能够动态解析Web应用的云计算系统,其特征在于:
所述拦截规则文件为manifest.json文件。
5.根据权利要求1所述的能够动态解析Web应用的云计算系统,其特征在于:
所述模板调用模块根据所述页面拦截规则器所返回的结果从所述执行控制模板集中调用对应的执行控制模板,并根据所调用的执行控制模板对所拦截的Web应用的原始页面加以处理;
所述模板配置或调用控制模块用于实现对执行控制模板集中各个执行控制模板的配置,或对原Web应用中可执行片段的组织调度。
6.根据权利要求1-2、4中的任一所述的云计算系统,其特征在于:
所述页面重写器对重写后的Web应用页面的地址进行重写包括:将Web应用原始页面的地址重写为“云计算节点Url+页面内各类Url”。
7.根据权利要求1-2、4中的任一所述的云计算系统,其特征在于:
所述的可执行代码片段包括JS片段、HTML片段以及CSS片段。
8.一种利用权利要求1-7所述的云计算系统实现动态解析Web应用的方法,包括:
步骤1)、云计算节点群中的各个云计算节点向管理器汇报自身的运行状态和负荷;这一操作定期进行,或在云计算节点的负荷发生变化时进行;
步骤2)、移动终端所发出的请求为前置处理器所接收;
步骤3)、前置处理器向管理器询问可以向哪个云计算节点转发该请求;
步骤4)、管理器根据自身所存储的各个云计算节点的运行状态和负荷信息向前置处理器推荐某一负荷较小的云计算节点,可将该云计算节点标记为第一云计算节点;
步骤5)、前置处理器向所述第一云计算节点转发移动终端所发出的请求;
步骤6)、第一云计算节点处理移动终端所发出的请求,并将最终处理结果返回给前置处理器;
步骤7)、所述前置处理器将处理结果返回给移动终端。
9.根据权利要求8所述的实现动态解析Web应用的方法,其特征在于:
在步骤6)中的第一云计算节点处理移动终端所发出的请求的过程进一步包括:
在该请求的处理过程中,第一云计算节点若需要将子任务分派给其它云计算节点协助处理,则由第一云计算节点向管理器询问哪些云计算节点可以分担子任务处理;
所述分担子任务处理的云计算节点分别执行子任务,并将处理结果返回给所述第一云计算节点;
所述第一云计算节点将子任务处理结果以及自身对移动终端请求的处理结果汇总,得到对移动终端请求的最终处理结果,将所述最终处理结果返回给前置处理器。
10.根据权利要求9所述的实现动态解析Web应用的方法,其特征在于:
管理器根据各个云计算节点的运行状态和负荷信息推荐若干个云计算节点;
第一云计算节点向上述管理器所推荐的若干个云计算节点发起子任务处理请求;
其它云计算节点响应子任务处理请求,将子任务处理后的结果返回给所述第一云计算节点。
11.一种动态解析执行引擎,应用于权利要求1-7中的云计算系统中,包括:模板调用模块、模板配置或调用控制模块、拦截规则模块;其特征在于:
所述模板调用模块,用于根据页面拦截规则器所返回的结果从执行控制模板集中调用对应的执行控制模板,并根据所调用的执行控制模板对所拦截的Web应用的原始页面加以处理;
所述模板配置或调用控制模块,用于实现对执行控制模板集中各个执行控制模板的配置,或对原Web应用中可执行片段的组织调度;
所述拦截规则模块用于记录Web应用的原始页面的地址和其内部各子页面的地址,并在动态解析执行过程中拦截Web应用的原始页面;
所述模板调用模块包括识别执行片段单元、管理调用次序单元、调用配置单元;其中,
所述的识别执行片段单元用于从Web应用的原始页面中识别出可执行代码片段;
所述的管理调用次序单元根据Web应用的原始执行逻辑确定Web应用中的执行代码片段的执行次序;
所述的调用配置单元用于对动态解析后所生成的Web应用的新的页面的功能进行配置;
所述模板配置或调用控制模块包括模板结构化单元、执行关系控制单元、执行片段组织单元以及中间结果工作空间;其中,
所述的模板结构化单元用于对原Web应用的页面和新生成的Web应用的页面在页面结构和功能上进行对应;
所述的执行关系控制单元用于获取原Web应用页面的执行过程,并按此执行过程执行页面中的各个可执行片段;
所述的执行片段组织单元用于控制各片段代码执行逻辑化过程和调用关系;
所述中间结果工作空间用于执行并保持中间数据。
12.一种云计算节点,包括:接入控制器、页面拦截规则器、页面重写器、动态解析执行容器/引擎、执行控制模板集;其特征在于:
所述接入控制器将用户发出的访问请求转发到所述页面拦截规则器与动态解析执行容器/引擎,以及从所述页面重写器接收重写后的Web应用页面并返回用户终端的浏览器;
所述页面拦截规则器从用户所发出的访问请求中截取Url地址的特征信息,根据所述Url地址的特征信息调用所述执行控制模板集中的执行控制模板;
所述执行控制模板集包括执行控制模板,每一执行控制模板至少包括执行控制模板指令;所述执行控制模板指令在Web应用的原始数据中加上执行控制模板指令标识,以标识出Web应用的原始数据中哪些可执行代码片段在服务器上执行,以及服务器上执行的可执行代码片段的执行结果存放到重写后的Web应用页面中的哪个位置;
所述动态解析执行容器/引擎按照所述执行控制模板指令完成Web应用的原始数据中指定的可执行代码片段,并输出到重写后的Web应用页面的指定位置;
所述页面重写器对响应给用户终端浏览器的重写后的Web应用页面的地址进行重写;
所述动态解析执行容器/引包括:模板调用模块、模板配置或调用控制模块、拦截规则模块;
所述模板调用模块,用于根据页面拦截规则器所返回的结果从执行控制模板集中调用对应的执行控制模板,并根据所调用的执行控制模板对所拦截的Web应用的原始页面加以处理;
所述模板配置或调用控制模块,用于实现对执行控制模板集中各个执行控制模板的配置,或对原Web应用中可执行片段的组织调度;
所述拦截规则模块用于记录Web应用的原始页面的地址和其内部各子页面的地址,并在动态解析执行过程中拦截Web应用的原始页面;
所述模板调用模块包括识别执行片段单元、管理调用次序单元、调用配置单元;其中,
所述的识别执行片段单元用于从Web应用的原始页面中识别出可执行代码片段;
所述的管理调用次序单元根据Web应用的原始执行逻辑确定Web应用中的执行代码片段的执行次序;
所述的调用配置单元用于对动态解析后所生成的Web应用的新的页面的功能进行配置;
所述模板配置或调用控制模块包括模板结构化单元、执行关系控制单元、执行片段组织单元以及中间结果工作空间;其中,
所述的模板结构化单元用于对原Web应用的页面和新生成的Web应用的页面在页面结构和功能上进行对应;
所述的执行关系控制单元用于获取原Web应用页面的执行过程,并按此执行过程执行页面中的各个可执行片段;
所述的执行片段组织单元用于控制各片段代码执行逻辑化过程和调用关系;
所述中间结果工作空间用于执行并保持中间数据。
13.根据权利要求12所述的云计算节点,其特征在于:
所述执行控制模板集包括公共资源库、Web应用执行控制模板库;
所述公共资源库用于存放公共使用的公共JS模块和对象文件;
所述Web应用执行控制模板库用于存放各个Web应用的执行控制模板。
14.根据权利要求12或13所述的云计算节点,其特征在于:
所述执行控制模板至少包括用于描述拦截何种Web应用的页面的拦截规则,以及用于指向与所要拦截的Web应用有关的存储空间地址的路径项;
其中所述路径项所指向的存储空间中存放有拦截规则文件、js文件和jst文件;其中的拦截规则文件用于拦截相关Web应用的具体页面的Url地址,以及调用jst文件或js文件;所述js文件和jst文件能够有多个,其中的jst文件用于描述对所要拦截的Web应用的页面加以裁制后所显示页面的框架,所述js文件用于描述裁制指令的内容。
15.一种利用权利要求12-14中任一所述的云计算节点实现动态解析Web应用的方法,包括:
步骤101)、所述接入控制器监听并接收由前置处理器转发的移动终端所发出的访问请求;
步骤102)、所述页面拦截规则器从步骤101)所得到的访问请求中截取出目标Url地址,根据所述目标URL地址从所述执行控制模板集中调用相应的执行控制模板;
步骤103)、获取用户所要访问的Web应用的原始数据;
步骤104)、根据执行控制模板指令访问Web应用的页面指定区域或执行脚本位置;
步骤105)、根据执行控制模板指令,按原Web应用的执行步骤或执行逻辑分步调用动态解析执行容器/引擎和浏览器内核完成执行操作;
步骤106)、保留原Web应用业务的逻辑,按照业务逻辑和已经拆分存放的中间过程数据,并根据已经执行的JS片段、HTML片段以及CSS片段的中间结果,中间Cookie、Session状态,以及余下部分JS片段、HTML片段、CSS片段生成新的Web应用页面的基本操作和展示内容;
步骤107)、将步骤106)所生成的新的Web应用页面由页面重写器对应移动浏览器特点加入页面UI并排版,通过接入控制器经前置处理器转发后返回给移动终端的浏览器。
16.根据权利要求15所述的方法,所述的步骤105)进一步包括:
步骤105-1)、所述动态解析执行容器/引擎按照与该Web应用有关的执行控制模版指令中的标识识别并执行在执行控制模板中指定的JS片段、HTML片段以及CSS片段;
步骤105-2)、动态解析执行容器/引擎按照执行控制模板指令将步骤105-1)所得到的代码片段执行结果输出到Web应用的页面的指定位置。
17.根据权利要求16所述的方法,所述的步骤105-1)进一步包括:
本步骤中对JS片段、HTML片段以及CSS片段的执行是通过动态解析执行容器/引擎对JS引擎、HTML解析器、CSS解析器的调用实现的。
CN201410513611.6A 2014-09-29 2014-09-29 一种能够动态解析Web应用的云计算系统及方法 Active CN104270443B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410513611.6A CN104270443B (zh) 2014-09-29 2014-09-29 一种能够动态解析Web应用的云计算系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410513611.6A CN104270443B (zh) 2014-09-29 2014-09-29 一种能够动态解析Web应用的云计算系统及方法

Publications (2)

Publication Number Publication Date
CN104270443A CN104270443A (zh) 2015-01-07
CN104270443B true CN104270443B (zh) 2017-12-12

Family

ID=52161932

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410513611.6A Active CN104270443B (zh) 2014-09-29 2014-09-29 一种能够动态解析Web应用的云计算系统及方法

Country Status (1)

Country Link
CN (1) CN104270443B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639653B (zh) * 2015-03-05 2019-04-09 北京掌中经纬技术有限公司 基于云架构的自适应方法及系统
CN108287706B (zh) * 2017-05-10 2021-09-14 腾讯科技(深圳)有限公司 数据处理方法及装置
CN107479366B (zh) * 2017-08-28 2021-03-19 李泽轩 一种动态解析映射自主控制的方法及系统
CN107995310A (zh) * 2017-12-19 2018-05-04 上海贝贝鱼信息科技有限公司 针对不同金融机构提供在线金融服务的云平台、系统及方法
CN110471884A (zh) * 2019-08-19 2019-11-19 深圳前海微众银行股份有限公司 数据管理方法、装置、设备、系统及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883103A (zh) * 2009-04-15 2010-11-10 埃森哲环球服务有限公司 云数据中心内Web服务器群架构的客户端侧扩展的方法和系统
CN102843438A (zh) * 2012-09-29 2012-12-26 深圳市博瑞得科技有限公司 一种云计算节点管理的方法及系统
CN102968307A (zh) * 2012-11-29 2013-03-13 中国传媒大学 一种基于java的web开发中间件
CN103546498A (zh) * 2012-07-09 2014-01-29 百度在线网络技术(北京)有限公司 一种为移动终端提供访问网页的方法与设备
CN103677951A (zh) * 2013-12-11 2014-03-26 北京掌中经纬技术有限公司 一种JavaScript脚本的执行过程控制方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883103A (zh) * 2009-04-15 2010-11-10 埃森哲环球服务有限公司 云数据中心内Web服务器群架构的客户端侧扩展的方法和系统
CN103546498A (zh) * 2012-07-09 2014-01-29 百度在线网络技术(北京)有限公司 一种为移动终端提供访问网页的方法与设备
CN102843438A (zh) * 2012-09-29 2012-12-26 深圳市博瑞得科技有限公司 一种云计算节点管理的方法及系统
CN102968307A (zh) * 2012-11-29 2013-03-13 中国传媒大学 一种基于java的web开发中间件
CN103677951A (zh) * 2013-12-11 2014-03-26 北京掌中经纬技术有限公司 一种JavaScript脚本的执行过程控制方法和系统

Also Published As

Publication number Publication date
CN104270443A (zh) 2015-01-07

Similar Documents

Publication Publication Date Title
US8965864B2 (en) Method and system for efficient execution and rendering of client/server interactive applications
US20230208943A1 (en) Method and system of generating generic protocol handlers
CN102902805B (zh) 一种页面访问方法和装置
CN104317570B (zh) 动态解析Web应用的装置和方法
US8725794B2 (en) Enhanced website tracking system and method
CN104270443B (zh) 一种能够动态解析Web应用的云计算系统及方法
US20100306738A1 (en) Templating system and method for updating content in real time
US8316079B2 (en) Method and apparatus for reliable mashup
US20160004628A1 (en) Parallel test execution framework for multiple web browser testing
CN108427631A (zh) 一种应用测试系统、方法、电子设备和可读存储介质
Baresi et al. Microservices: The evolution and extinction of web services?
US8966446B1 (en) Systems and methods of live experimentation on content provided by a web site
CN102684934A (zh) 监控web应用程序性能的方法、系统和web服务器
CN103412890A (zh) 一种网页加载方法和装置
CN110347942A (zh) 页面跳转方法、装置、存储介质及计算机设备
CN108701130A (zh) 使用自动浏览群集更新提示模型
US8103607B2 (en) System comprising a proxy server including a rules engine, a remote application server, and an aspect server for executing aspect services remotely
CN110011875A (zh) 拨测方法、装置、设备及计算机可读存储介质
CN103578032A (zh) 数据处理系统
CN110795697A (zh) 逻辑表达式的获取方法、装置、存储介质以及电子装置
CN109586946B (zh) 异常处理方法、装置及计算机可读存储介质
US11841837B2 (en) Computer-based systems and methods for risk detection, visualization, and resolution using modular chainable algorithms
US10324692B2 (en) Integration for next-generation applications
US20220129332A1 (en) Handling of Metadata for Microservices Processing
US8180854B2 (en) Aspect services

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant