CN110278258A - 一种动态网页加速的方法和装置 - Google Patents

一种动态网页加速的方法和装置 Download PDF

Info

Publication number
CN110278258A
CN110278258A CN201910514274.5A CN201910514274A CN110278258A CN 110278258 A CN110278258 A CN 110278258A CN 201910514274 A CN201910514274 A CN 201910514274A CN 110278258 A CN110278258 A CN 110278258A
Authority
CN
China
Prior art keywords
websocket
source station
tunnel
fringe node
web page
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
Application number
CN201910514274.5A
Other languages
English (en)
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.)
Zhengzhou Apas Technology Co Ltd
Original Assignee
Zhengzhou Apas 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 Zhengzhou Apas Technology Co Ltd filed Critical Zhengzhou Apas Technology Co Ltd
Priority to CN201910514274.5A priority Critical patent/CN110278258A/zh
Publication of CN110278258A publication Critical patent/CN110278258A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例提供了一种动态网页加速的方法和装置,该方法包括:在网络中标记部署了动态网页的源站与访问所述源站的边缘节点;判断所述边缘节点是否与所述源站建立了WebSocket隧道;若否,通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道;通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据。本申请实施例提供的一种动态网页加速的方法,由设置在用户附近的边缘节点执行,在边缘节点和源站间建立高速通道态网页,从而实现对源站的动态网页进行加速。

Description

一种动态网页加速的方法和装置
技术领域
本申请涉及计算机技术领域技术领域,尤其涉及一种动态网页加速的方法和装置。
背景技术
互联网网页从形态上是分为两种:静态网页和动态网页。静态网页的内容是预先确定的,并存储在Web服务器或者本地计算机/服务器之上。动态网页的内容取决于由终端客户提供的参数或其他参数,并根据存储在数据库中的网站数据创建与该参数相对应的页面。动态网页加速是针对网站的网页中的内容需要通过应用程序接口(API:ApplicationProgram Interface)提取放在数据库或其他存储媒体中的网站数据而应运而产生的加速服务。
当前业内的动态网页加速分为两种方式,一种方式自建CDN,另一种方式是购买CDN服务,两者都需要投入较高的成本。CDN的全称是Content Delivery Network,即内容分发网络,其基本原理是通过在现有的互联网中的各处放置反向代理节点服务器构成在现有的互联网基础上增加一层智能虚拟网络,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,通过全局负载均衡流量,达到避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。由于CDN需要在现有的互联网中增加一层新的网络架构,需要全球布局CDN网络和维护人员,因此不论自建CDN还是购买CDN服务都需要投入较高的成本。
基于此,本发明的发明人发现,现有的CDN需要投入较高的成本,因此需要开发新的动态网页加速的方法和装置。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本申请实施例的目的是提供一种动态网页加速的方法和装置,能够实现对动态网页进行加速,并且投入的成本较低。
为解决上述技术问题,本申请实施例是通过以下各方面实现的。
第一方面,本申请实施例提供了一种动态网页加速的方法,包括:
在网络中标记部署了动态网页的源站与访问所述源站的边缘节点;
判断所述边缘节点是否与所述源站建立了WebSocket隧道;
若否,通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道;
通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据。
第二方面,本申请实施例提供了一种动态网页加速的装置,在网络中标记部署了动态网页的源站与访问所述源站的边缘节点;包括:
判断单元,用于判断所述边缘节点是否与所述源站建立了WebSocket隧道;
建立单元,用于通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道;
通信单元,用于通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据。
第三方面,本申请实施例提供了一种电子设备,包括:存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现如上述第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现如上述第一方面所述的方法的步骤。
在本申请实施例中,在网络中标记部署了动态网页的源站与访问所述源站的边缘节点;判断所述边缘节点是否与所述源站建立了WebSocket隧道;若否,通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道;通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据。通过在网络中标记部署动态网页的源站与访问所述源站的边缘节点,由在用户附近设置的边缘节点执行,在边缘节点和源站间建立高速长连接通道,该高速长连接通道优选为WebSocket隧道,用户通过边缘节点与源站之间建立的WebSocket隧道访问源站的动态网页,从而实现对源站的动态网页进行加速,通过选择虚拟专用服务器VPS或具有IPv4 IP地址的任何其他计算机作为边缘节点降低了投入的成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的动态网页加速的方法的一种应用场景;
图2为本申请实施例1提供的动态网页加速的方法的一种流程示意图;
图3为本申请实施例2提供的动态网页加速的方法的一种流程示意图;
图4为本申请实施例3提供的动态网页加速的装置的一种结构示意图;
图5为执行本申请实施例4提供的动态网页加速的方法的电子设备的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
参见图1,下面对本申请实施例的应用场景进行示例性说明:
在网络中标记部署了动态网页的源站与访问所述源站的边缘节点,其中,源站为用户想要访问的目标网站,源站中包括用户想要访问的目标动态网页,源站中还包括反向代理的客户端(即源站的Web服务器);边缘节点为设置在用户附近的节点,边缘节点中包括反向代理的代理服务器,边缘节点通过代理服务器将源站和源站的动态网页暴露给公共互联网;在源站与边缘节点之间建立高速长连接通道,边缘节点通过该高速长连接通道将用户对动态网页的请求转发给源站,并通过该高速长连接通道接收源站传回的所请求的动态网页的数据,然后将该动态网页的数据转发回用户,以提高用户与源站的交互速度,使用户可就近通过边缘节点与源站直接连接的高速长连接通道与目标网站进行交互取得所需的动态网页的数据,从而边缘节点实现了对目标网站的加速,该高速长连接通道优选为WebSocket隧道。
用户通过浏览器客户端输入目标动态网页的访问地址,由本地的互联网上的DNS将目标动态网页的访问地址动态解析到附近的边缘节点,如果边缘节点与源站(目标网站)没有建立WebSocket隧道连接,则边缘节点根据目标动态网页的访问地址与源站之间建立WebSocket隧道连接,建立WebSocket隧道连接的过程包括:首先,边缘节点与源站之间交换一个基于HTTP协议的特定握手,即边缘节点按照HTTP协议向源站发送包含动态网页的URL的请求,然后,源站收到该请求后将应用程序层协议从HTTP“升级”到WebSocket,并且源站向该边缘节点返回响应,通知该边缘节点WebSocket隧道已经建好,可以通过WebSocket隧道发送或接收数据。完成建立WebSocket隧道连接后,边缘节点将用户请求的目标动态网页的访问地址通过WebSocket隧道转发到源站,源站根据收到的用户请求的目标动态网页的访问地址获取动态网页文件,解析动态网页文件,包括由网页文件中的API访问执行其功能所需资源的位置(访问点)获取目标动态网页的数据,并通过WebSocket隧道将解析后的网页文件传回边缘节点,边缘节点将源站返回的解析后的网页文件转发回用户的浏览器客户端并向用户显示,进一步,用户与浏览器客户端显示的动态网页进行交互,从而启动网页中的API通过WebSocket隧道进行回源访问并传回回源访问获取的数据。
实施例1
图2示出本申请实施例提供的动态网页加速的方法的一种流程示意图,该方法可以由电子设备执行,例如终端设备或服务端设备。换言之,所述方法可以由安装在终端设备或服务端设备的软件或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。如图所示,该方法可以包括以下步骤。
S11:在网络中标记部署了动态网页的源站与访问所述源站的边缘节点。
本实施例中,源站为用户想要访问的目标网站,源站中包括用户想要访问的目标动态网页,源站中还包括反向代理的客户端(即源站的Web服务器);边缘节点为设置在用户附近的节点,边缘节点中包括反向代理的代理服务器,边缘节点通过代理服务器将源站和源站的动态网页暴露给公共互联网;在源站与边缘节点之间建立高速长连接通道,边缘节点通过该高速长连接通道将用户对动态网页的请求转发给源站,并通过该高速长连接通道接收源站传回的所请求的动态网页的数据,然后将该动态网页的数据转发回用户,以提高用户与源站的交互速度,使用户可就近通过边缘节点与源站直接连接的高速长连接通道与目标网站进行交互取得所需的动态网页的数据,从而边缘节点实现了对目标网站的加速,该高速长连接通道优选为WebSocket隧道。
该高速长连接通道优选为WebSocket隧道,因为WebSocket协议解决了REST协议或HTTP协议的如下的问题,实现了建立高速长连接通道所需要的功能:
1、双向功能:REST协议或HTTP是一种单向协议,其中请求始终由客户端发起,服务器才能将数据传送给客户端,而服务器不能主动向浏览器传递数据。WebSocket协议是一种双向协议,其中没有预定义的消息模式,例如请求/响应,在建立连接后,WebSocket服务器和客户端都能主动的向对方发送或接收数据。
2、全双工功能:REST协议或HTTP协议允许请求消息从客户端传送到服务器,然后服务器向客户端发送响应消息。在给定时间点上只能是客户端正在与服务器通信的工作状态或者服务器正在与客户端通信的工作状态之中的一种工作状态。WebSocket协议允许客户端和服务器相互独立地进行通信。
3、单TCP连接功能(长连接功能):REST协议或HTTP协议会通常需要为每个请求启动新的TCP连接,并在收到响应后终止。WebSocket协议使用标准HTTP协议升级机制将HTTP连接升级为WebSocket连接后客户端和服务器之间通过该WebSocket连接所建立的TCP连接进行通信,直到该WebSocket连接的生命周期结束,实现了长连接功能。
边缘节点和源站之间建立的高速长连接通道采用WebSocket协议连接的WebSocket隧道具有双向、全双工及单TCP连接(长连接)功能,提高了用户和源站间的通信速度,实现了对源站的动态网页的加速。
S12:判断所述边缘节点是否与所述源站建立了WebSocket隧道。
本实施例中,用户通过浏览器客户端输入目标动态网页的访问地址,由本地的互联网上的DNS将目标动态网页的访问地址动态解析到附近的边缘节点,当边缘节点接收到用户对源站(目标网站)的访问请求后,判断是否与源站建立了WebSocket隧道。
S13:若否,通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道。
本实施例中,如果边缘节点与源站没有建立WebSocket隧道连接,则边缘节点根据目标动态网页的访问地址与源站之间建立WebSocket隧道连接,建立WebSocket隧道连接的过程包括:首先,边缘节点与源站之间交换一个基于HTTP协议的特定握手,即边缘节点按照HTTP协议向源站发送包含动态网页的URL的请求,然后,源站收到该请求后将应用程序层协议从HTTP“升级”到WebSocket,并且源站向该边缘节点返回响应,通知该边缘节点WebSocket隧道已经建好,可以通过WebSocket隧道发送或接收数据。此后HTTP协议完全被排除在外;该边缘节点与源站之间均可使用该WebSocket隧道发送或接收数据,直至该WebSocket连接断开。
S14:通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据。
本实施例中,如果该边缘节点已经与该源站建立了WebSocket隧道,则该边缘节点可以将用户请求的动态网页的URL通过WebSocket隧道向该源站转发,并且通过WebSocket隧道接收该源站传回的动态网页的数据,该边缘节点向用户转发所述动态网页的数据,具体为,完成建立WebSocket隧道连接后,边缘节点将用户请求的目标动态网页的访问地址通过WebSocket隧道转发到源站,源站根据收到的用户请求的目标动态网页的访问地址获取动态网页文件,解析动态网页文件,包括由网页文件中的API访问执行其功能所需资源的位置(访问点)获取目标动态网页的数据,并通过WebSocket隧道将解析后的网页文件传回边缘节点,边缘节点将源站返回的解析后的网页文件转发回用户的浏览器客户端并向用户显示,进一步,用户与浏览器客户端显示的动态网页进行交互,从而启动网页中的API通过WebSocket隧道进行回源访问并传回回源访问获取的数据。
本实施例提供的动态网页加速的方法,在网络中标记部署了动态网页的源站与访问所述源站的边缘节点;判断所述边缘节点是否与所述源站建立了WebSocket隧道;若否,通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道;通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据。通过在网络中标记部署动态网页的源站与访问所述源站的边缘节点,由在用户附近设置的边缘节点执行,在边缘节点和源站间建立高速长连接通道,该高速长连接通道优选为WebSocket隧道,用户通过边缘节点与源站之间建立的WebSocket隧道访问源站的动态网页,从而实现对源站的动态网页进行加速。
实施例2
图3示出本申请实施例提供的动态网页加速的方法的一种流程示意图,该方法可以由电子设备执行,例如终端设备或服务端设备。换言之,所述方法可以由安装在终端设备或服务端设备的软件或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。如图所示,该方法可以包括以下步骤。
S21:在网络中标记部署了动态网页的源站与访问所述源站的边缘节点,包括:所述边缘节点是虚拟专用服务器VPS或具有IPv4 IP地址的任何其他计算机;分别提取网络中用户集中的区域,然后计算在所述区域中各用户对应的位置的中心点,将所述边缘节点设置在所述中心点附近。
本实施例中,边缘节点为设置在用户附近的节点,通过边缘节点将源站和源站的动态网页暴露给公共互联网,边缘节点在用户和源站间建立高速长连接通道,边缘节点通过该高速长连接通道将用户的动态网页的请求的URL转发给源站,并通过该高速通道接收该源站传回的该动态网页的数据,然后将该动态网页的数据转发回该用户。
本实施例中,可以选择虚拟专用服务器VPS或具有IPv4 IP地址的任何其他计算机作为边缘节点,VPS(Virtual Private Server虚拟专用服务器)技术,是将一台服务器分割成多个虚拟专享服务器的优质服务。实现VPS的技术分为容器技术,和虚拟化技术。在容器或虚拟机中,每个VPS都可分配独立公网IP地址、独立操作系统、实现不同VPS间磁盘空间、内存、CPU资源、进程和系统配置的隔离,为用户和应用程序模拟出"独占"使用计算资源的体验。VPS可以像独立服务器一样,重装操作系统,安装程序,单独重启服务器。VPS为使用者提供了管理配置的自由。一般虚拟专用服务器的费用较低,可以是5-10美元,并且用户可以完全自由地对其进行设置,可定制性强。如果采用akamai、google cloud、Cloudflare等隧道或骨干网实现,则非常昂贵,而且对用户是不开放的,各厂商又有很多内置限制。
通过选择虚拟专用服务器VPS或具有IPv4 IP地址的任何其他计算机作为边缘节点,可以降低加速成本,并且可以提高对边缘节点的定制性,从而实现对源站的动态网页进行加速。
本实施例中,部署边缘节点前可以分别提取网络中用户集中的区域,然后计算在所述区域中各用户对应的位置的中心点,将所述边缘节点设置在所述中心点附近。可以统计用户的位置信息,例如以用户的IP地址作为其位置信息,从统计得到的用户位置信息集合中提取用户集中的区域,对每个用户集中的区域,计算在该区域中各用户对应的位置的中心点,将边缘节点设置在该中心点附近。例如计算出用户集中的一个区域在北京,然后计算出在该区域中各用户对应的位置的中心点在中关村,因此可以选择中关村附近的虚拟专用服务器VPS作为边缘节点。
通过如上的方法设置边缘节点的分布位置,可以缩短在对每个用户集中的区域中用户到该区域的边缘节点的平均距离,从而提高用户的浏览器客户端与边缘节点之间的通信速度,因此可以进一步提高对动态网页的加速效果,而且可以减少边缘节点的数量,因此可以进一步降低加速成本。
本实施例中,还可以在用户的浏览器客户端与边缘节点之间建立WebSocket隧道连接,用户通过WebSocket隧道与边缘节点通信,再通过边缘节点与源站之间建立的WebSocket隧道连接来访问源站的动态网页。在用户的浏览器客户端与边缘节点之间建立WebSocket隧道连接的方法同S13步骤所述,在此不再详述。
通过在用户的浏览器客户端与边缘节点之间建立WebSocket隧道连接,可以提高浏览器客户端与边缘节点之间的通信速度,因此可以进一步提高对动态网页的加速效果。
S22:判断所述边缘节点是否与所述源站建立了WebSocket隧道。
本实施例中,用户通过浏览器客户端输入目标动态网页的访问地址,由本地的互联网上的DNS将目标动态网页的访问地址动态解析到附近的边缘节点,当边缘节点接收到用户对源站(目标网站)的访问请求后,判断是否与源站建立了WebSocket隧道。
S23:若否,通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道,包括:请求WebSocket连接时,向所述源站发送认证信息,将通信协议设置为加密传输的WebSocket协议wss。
本实施例中,如果该边缘节点还没有与源站建立WebSocket隧道,通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道,具体过程与实施例1的S12相同,在此不再详述。
本实施例中,边缘节点请求WebSocket连接时,可以向所述源站发送认证信息,源站对边缘节点发送的认证信息进行验证,以保证有权连接源站的边缘节点才可以连接源站,例如在wss路径参数中加上身份认证令牌Token:
newWebSocket("wss://www.site.com:80?token=Token");
本实施例中,为提高数据传输的安全性,WebSocket隧道使用加密传输的WebSocket协议wss进行通信,wss是使用SSL进行加密的WebSocket通信技术,这需要在请求WebSocket连接时,将通信协议WebSocket设置为加密传输协议wss,实现WebSocket链接加密(wss://),参见上面的例子。其中SSL证书可以从Let's Encrypt免费获取,并将SSL证书部署到源站和边缘节点上。
通过请求WebSocket连接时,向所述源站发送认证信息,并将通信协议设置为加密传输的WebSocket协议wss,提高了源站与边缘节点连接的安全性及数据传输的安全性。
S24:通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据,包括:所述边缘节点通过WebSocket隧道将http协议形式的访问信息转化为websocket协议传输至源站,所述源站通过WebSocket隧道将响应信息由WebSocket协议转化为http形式向所述边缘节点进行响应;管理所述WebSocket隧道,其中,当WebSocket隧道的路线断开时,向源站自动连接,测量计算更快更可靠的WebSocket隧道的路线,优化WebSocket隧道的线路。
本实施例中,如果该边缘节点已经与源站建立WebSocket隧道,则所述边缘节点通过WebSocket隧道将http协议形式的访问信息转化为websocket协议传输至源站,所述源站通过WebSocket隧道将响应信息由WebSocket协议转化为http形式向所述边缘节点进行响应。
本实施例中,对建立的WebSocket隧道进行管理,当WebSocket隧道的路线断开时,向源站自动连接,具体为,边缘节点每隔一定时间检查WebSocket隧道的连接状态,如果WebSocket隧道的路线断开则与源站重新建立连接,以此提高了边缘节点与源站连接的稳定性。
本实施例中,对建立的WebSocket隧道进行管理,还包括:测量计算更快更可靠的WebSocket隧道的路线,优化WebSocket隧道的线路,具体为,边缘节点获取可用于回源的源站的访问点地址;分别与源站的每个访问点建立WebSocket隧道并检测每个访问点地址所对应的回源速率;选择回源速率最大的WebSocket隧道进行回源,以此提高了边缘节点与源站连接的通信速度。
边缘节点对建立的WebSocket隧道进行管理,当WebSocket隧道的路线断开时向源站自动连接,并测量计算更快更可靠的WebSocket隧道的路线,优化WebSocket隧道的线路,提高了源站与边缘节点连接的稳定性及连接的通信速度。
本实施例提供的动态网页加速的方法,在用户附近设置边缘节点,在边缘节点和源站间建立高速长连接通道,该高速长连接通道优选为WebSocket隧道,用户通过边缘节点与源站之间建立的WebSocket隧道访问源站的动态网页,从而实现对源站的动态网页进行加速,通过选择虚拟专用服务器VPS或具有IPv4 IP地址的任何其他计算机作为边缘节点降低了投入的成本。
实施例3
图4示出本申请实施例提供的动态网页加速的装置的结构示意图,该装置100包括:判断单元110、建立单元120、通信单元130。
判断单元110,用于判断所述边缘节点是否与所述源站建立了WebSocket隧道。
建立单元120,用于通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道。
通信单元130,用于通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据。
该装置100应用为边缘节点,该边缘节点是虚拟专用服务器VPS或具有IPv4 IP地址的任何其他计算机;分别提取网络中用户集中的区域,然后计算在所述区域中各用户对应的位置的中心点,将所述边缘节点设置在所述中心点附近。
建立单元120,还用于请求WebSocket连接时,向所述源站发送认证信息。
建立单元120,还用于请求WebSocket连接时,将通信协议设置为加密传输的WebSocket协议wss。
通信单元130,还用于所述边缘节点通过WebSocket隧道将http协议形式的访问信息转化为websocket协议传输至源站,所述源站通过WebSocket隧道将响应信息由WebSocket协议转化为http形式向所述边缘节点进行响应。
通信单元130,还用于管理所述WebSocket隧道,包括:当WebSocket隧道的路线断开时,向源站自动连接;测量计算更快更可靠的WebSocket隧道的路线,优化WebSocket隧道的线路。
本申请实施例提供的该装置100,可执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
实施例4
图5示出执行本申请实施例提供的动态网页加速的方法的电子设备的硬件结构示意图,如图所示,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对该电子设备中的一系列计算机可执行指令。更进一步地,处理器701可以设置为与存储器702通信,在该电子设备上执行存储器702中的一系列计算机可执行指令。该电子设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706等。
在一个具体的实施例中,该电子设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现以下流程:
在网络中标记部署了动态网页的源站与访问所述源站的边缘节点;判断所述边缘节点是否与所述源站建立了WebSocket隧道;若否,通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道;通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据。
所述边缘节点是虚拟专用服务器VPS或具有IPv4 IP地址的任何其他计算机;分别提取网络中用户集中的区域,然后计算在所述区域中各用户对应的位置的中心点,将所述边缘节点设置在所述中心点附近。
通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道,包括:请求WebSocket连接时,向所述源站发送认证信息。
通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道,包括:请求WebSocket连接时,将通信协议设置为加密传输的WebSocket协议wss。
通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据,包括:所述边缘节点通过WebSocket隧道将http协议形式的访问信息转化为websocket协议传输至源站,所述源站通过WebSocket隧道将响应信息由WebSocket协议转化为http形式向所述边缘节点进行响应。
管理所述WebSocket隧道,包括:当WebSocket隧道的路线断开时,向源站自动连接;测量计算更快更可靠的WebSocket隧道的路线,优化WebSocket隧道的线路。
由此,执行本申请实施例提供的动态网页加速的方法的电子设备可执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
本申请实施例的电子设备以多种形式存在,包括但不限于以下设备。
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现以下流程:
在网络中标记部署了动态网页的源站与访问所述源站的边缘节点;判断所述边缘节点是否与所述源站建立了WebSocket隧道;若否,通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道;通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据。
所述边缘节点是虚拟专用服务器VPS或具有IPv4 IP地址的任何其他计算机;分别提取网络中用户集中的区域,然后计算在所述区域中各用户对应的位置的中心点,将所述边缘节点设置在所述中心点附近。
通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道,包括:请求WebSocket连接时,向所述源站发送认证信息。
通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道,包括:请求WebSocket连接时,将通信协议设置为加密传输的WebSocket协议wss。
通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据,包括:所述边缘节点通过WebSocket隧道将http协议形式的访问信息转化为websocket协议传输至源站,所述源站通过WebSocket隧道将响应信息由WebSocket协议转化为http形式向所述边缘节点进行响应。
管理所述WebSocket隧道,包括:当WebSocket隧道的路线断开时,向源站自动连接;测量计算更快更可靠的WebSocket隧道的路线,优化WebSocket隧道的线路。
由此,所述计算机可执行指令被处理器执行时能够执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
其中,所述的计算机可读存储介质包括只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,实现以下流程:
在网络中标记部署了动态网页的源站与访问所述源站的边缘节点;判断所述边缘节点是否与所述源站建立了WebSocket隧道;若否,通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道;通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据。
所述边缘节点是虚拟专用服务器VPS或具有IPv4 IP地址的任何其他计算机;分别提取网络中用户集中的区域,然后计算在所述区域中各用户对应的位置的中心点,将所述边缘节点设置在所述中心点附近。
通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道,包括:请求WebSocket连接时,向所述源站发送认证信息。
通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道,包括:请求WebSocket连接时,将通信协议设置为加密传输的WebSocket协议wss。
通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据,包括:所述边缘节点通过WebSocket隧道将http协议形式的访问信息转化为websocket协议传输至源站,所述源站通过WebSocket隧道将响应信息由WebSocket协议转化为http形式向所述边缘节点进行响应。
管理所述WebSocket隧道,包括:当WebSocket隧道的路线断开时,向源站自动连接;测量计算更快更可靠的WebSocket隧道的路线,优化WebSocket隧道的线路。
由此,执行本申请实施例提供的计算机程序产品能够执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种动态网页加速的方法,其特征在于,所述方法包括:
在网络中标记部署了动态网页的源站与访问所述源站的边缘节点;
判断所述边缘节点是否与所述源站建立了WebSocket隧道;
若否,通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道;
通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据。
2.根据权利要求1所述的方法,其特征在于,所述方法包括:所述边缘节点是虚拟专用服务器VPS或具有IPv4 IP地址的任何其他计算机;分别提取网络中用户集中的区域,然后计算在所述区域中各用户对应的位置的中心点,将所述边缘节点设置在所述中心点附近。
3.根据权利要求1所述的方法,其特征在于,所述方法包括:通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道,包括:请求WebSocket连接时,向所述源站发送认证信息。
4.根据权利要求1所述的方法,其特征在于,所述方法包括:通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道,包括:请求WebSocket连接时,将通信协议设置为加密传输的WebSocket协议wss。
5.根据权利要求1所述的方法,其特征在于,所述方法包括:所述边缘节点通过WebSocket隧道将http协议形式的访问信息转化为websocket协议传输至源站,所述源站通过WebSocket隧道将响应信息由WebSocket协议转化为http形式向所述边缘节点进行响应。
6.根据权利要求5所述的方法,其特征在于,所述方法包括:管理所述WebSocket隧道,包括:当WebSocket隧道的路线断开时,向源站自动连接;测量计算更快更可靠的WebSocket隧道的路线,优化WebSocket隧道的线路。
7.一种动态网页加速的装置,其特征在于,在网络中标记部署了动态网页的源站与访问所述源站的边缘节点;所述装置包括:
判断单元,用于判断所述边缘节点是否与所述源站建立了WebSocket隧道;
建立单元,用于通过HTTP协议与所述源站握手,从而与所述源站建立WebSocket隧道;
通信单元,用于通过WebSocket隧道向所述源站转发所述动态网页的请求,并通过WebSocket隧道接收所述源站传回的所述动态网页的数据,所述边缘节点向用户转发所述动态网页的数据。
8.根据权利要求7所述的装置,其特征在于,所述装置应用为边缘节点,所述边缘节点是虚拟专用服务器VPS或具有IPv4 IP地址的任何其他计算机;分别提取网络中用户集中的区域,然后计算在所述区域中各用户对应的位置的中心点,将所述边缘节点设置在所述中心点附近。
9.根据权利要求7所述的装置,其特征在于,所述建立单元,还用于请求WebSocket连接时,向所述源站发送认证信息。
10.根据权利要求7所述的装置,其特征在于,所述建立单元,还用于请求WebSocket连接时,将通信协议设置为加密传输的WebSocket协议wss。
11.根据权利要求7所述的装置,其特征在于,所述通信单元,还用于所述边缘节点通过WebSocket隧道将http协议形式的访问信息转化为websocket协议传输至源站,所述源站通过WebSocket隧道将响应信息由WebSocket协议转化为http形式向所述边缘节点进行响应。
12.根据权利要求11所述的装置,其特征在于,所述通信单元,还用于管理所述WebSocket隧道,包括:当WebSocket隧道的路线断开时,向源站自动连接;测量计算更快更可靠的WebSocket隧道的路线,优化WebSocket隧道的线路。
CN201910514274.5A 2019-06-14 2019-06-14 一种动态网页加速的方法和装置 Pending CN110278258A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910514274.5A CN110278258A (zh) 2019-06-14 2019-06-14 一种动态网页加速的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910514274.5A CN110278258A (zh) 2019-06-14 2019-06-14 一种动态网页加速的方法和装置

Publications (1)

Publication Number Publication Date
CN110278258A true CN110278258A (zh) 2019-09-24

Family

ID=67960847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910514274.5A Pending CN110278258A (zh) 2019-06-14 2019-06-14 一种动态网页加速的方法和装置

Country Status (1)

Country Link
CN (1) CN110278258A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685547A (zh) * 2013-12-24 2014-03-26 乐视网信息技术(北京)股份有限公司 下载服务器的调度方法与系统、以及终端装置
US20140237585A1 (en) * 2013-02-19 2014-08-21 Cisco Technology, Inc. Use of Virtual Network Interfaces and a Websocket Based Transport Mechanism to Realize Secure Node-to-Site and Site-to-Site Virtual Private Network Solutions
CN105991712A (zh) * 2015-02-12 2016-10-05 林琳 一种网络加速装置
CN106789344A (zh) * 2017-01-19 2017-05-31 上海帝联信息科技股份有限公司 数据传输方法、系统、cdn网络及客户端
CN107203541A (zh) * 2016-03-17 2017-09-26 台达电子企业管理(上海)有限公司 页面加载方法及其页面加载装置
CN108337280A (zh) * 2017-01-20 2018-07-27 贵州白山云科技有限公司 一种资源更新方法及装置
CN108667861A (zh) * 2017-03-28 2018-10-16 比亚迪股份有限公司 通过浏览器对设备实时监控的方法、系统以及服务器
CN109391640A (zh) * 2017-08-03 2019-02-26 中国移动通信有限公司研究院 动态内容访问加速方法、系统、介质和计算装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140237585A1 (en) * 2013-02-19 2014-08-21 Cisco Technology, Inc. Use of Virtual Network Interfaces and a Websocket Based Transport Mechanism to Realize Secure Node-to-Site and Site-to-Site Virtual Private Network Solutions
CN103685547A (zh) * 2013-12-24 2014-03-26 乐视网信息技术(北京)股份有限公司 下载服务器的调度方法与系统、以及终端装置
CN105991712A (zh) * 2015-02-12 2016-10-05 林琳 一种网络加速装置
CN107203541A (zh) * 2016-03-17 2017-09-26 台达电子企业管理(上海)有限公司 页面加载方法及其页面加载装置
CN106789344A (zh) * 2017-01-19 2017-05-31 上海帝联信息科技股份有限公司 数据传输方法、系统、cdn网络及客户端
CN108337280A (zh) * 2017-01-20 2018-07-27 贵州白山云科技有限公司 一种资源更新方法及装置
CN108667861A (zh) * 2017-03-28 2018-10-16 比亚迪股份有限公司 通过浏览器对设备实时监控的方法、系统以及服务器
CN109391640A (zh) * 2017-08-03 2019-02-26 中国移动通信有限公司研究院 动态内容访问加速方法、系统、介质和计算装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHSZS: "Nginx担当WebSockets代理", 《HTTPS://BLOG.CSDN.NET/CHSZS/ARTICLE/DETAILS/26369257》 *
宋翔宇: "基于WebRTC的网络加速服务关键技术研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Similar Documents

Publication Publication Date Title
US10587544B2 (en) Message processing method, processing server, terminal, and storage medium
CN104580192B (zh) 应用程序的网络访问请求的处理方法和装置
CN104796396B (zh) 提供用于基于策略的应用代理的网络代理层的方法和介质
CN108200165B (zh) 请求传输系统、方法、装置及存储介质
CN107948324B (zh) 请求传输系统、方法、装置及存储介质
CN104994079B (zh) 访问请求的处理方法和装置、加速服务器
CN105122741B (zh) 业务流的业务链控制方法和装置
CN107517189B (zh) 一种wlan用户接入认证及配置信息下发的方法、设备
CN109587275A (zh) 一种通信连接的建立方法及代理服务器
CN102638582B (zh) 数据通信方法及通信端
CN108200158B (zh) 请求传输系统、方法、装置及存储介质
CN103339901A (zh) 内容导向网络环境中的终端和中间节点以及终端和中间节点的通信方法
US9037646B2 (en) System and method of delivering data that provides service differentiation and monetization in mobile data networks
CN109218362A (zh) 一种互联网内容分发方法、装置和系统
CN108259542A (zh) 资源的传输方法和装置
CN103581248A (zh) 内容分发网络cdn服务的提供方法及装置
CN102845123A (zh) 虚拟私云的连接方法及隧道代理服务器
CN109286691A (zh) 信息引流、请求发送、通信加速方法、引流及节点服务器
CN110247848A (zh) 发送报文的方法、网络设备及计算机可读存储介质
CN101997822A (zh) 一种流媒体内容分发方法、系统和设备
CN108429682A (zh) 一种网络传输链路的优化方法及系统
CN103001964A (zh) 一种局域网环境下的缓存加速方法
CN110505188B (zh) 一种终端认证方法、相关设备和认证系统
CN102882772A (zh) 一种即时通信数据传输方法、客户端、服务器及系统
CN107251529A (zh) 用于在内容传输网络系统中的服务器之间传输和接收信息的方法和装置

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190924