一种内容访问方法和装置与流程

文档序号:12121086阅读:235来源:国知局
一种内容访问方法和装置与流程

本发明涉及通信技术领域,特别是涉及一种内容访问方法和装置。



背景技术:

随着互联网(web)技术的发展,互联网已经深入到人们生活的各个方面,例如网上购物、网上交费、网上理财等。

目前web内容访问的过程,由web服务器、用户终端、以及后台数据数服务器之间进行数据交换实现。参考图1,具体地用户访问web内容的过程为:用户终端发送访问请求给web服务器101,web服务器101根据访问请求从后台数据服务器102中查询大量的web数据内容,并返回对应的web内容给用户终端。

然而当用户访问内容很多时,例如大量的用户在同一时刻访问web内容时,web服务器需要更大量的数据处理,因此对web服务器资源造成了极大的压力,甚至会导致web服务器瘫痪,进而导致用户访问web内容的速度比较慢,降低了用户体验。



技术实现要素:

本发明的目的在于提供一种内容访问方法和装置,以解决目前用户访问web内容的速度比较慢的技术问题。

为了解决上述技术问题,本发明提供了如下技术方案:

本发明的实施例提供了一种内容访问方法,包括如下步骤:

从内容服务器中获取预设访问地址对应的访问内容,并将该访问内容存储至代理服务器;

接收第一终端发送的第一访问请求,所述第一访问请求携带第一访问地址;

判断所述第一访问地址是否为所述预设访问地址;

若是,则从所述代理服务器提取与所述预设访问地址对应的访问内容,并发送给所述第一终端;

若否,则从所述内容服务器获取所述第一访问地址对应的访问内容,并将 该访问内容直接发送给所述第一终端。

在本发明的内容访问方法中,所述预设访问地址对应的访问内容的更新频率小于预设频率。

在本发明的内容访问方法中,所述第一访问地址包括:地址字符串,所述预设访问地址包括:预设地址字符串;

所述判断所述第一访问地址是否为所述预设访问地址的步骤包括:

判断所述地址字符串与所述预设地址字符串是否相同;

若相同,则判定所述第一访问地址为所述预设访问地址;

若不相同,则判定所述第一访问地址不为所述预设访问地址。

在本发明的内容访问方法中,在判断地址字符串与所述预设地址字符串不相同之后,判定所述第一访问地址不为所述预设访问地址之前,所述内容访问方法还包括:

进一步判断所述地址字符串对应的访问内容是否与所述预设地址字符串对应的访问内容相同;

若访问内容不相同,则判定所述第一访问地址不为所述预设访问地址。

在本发明的内容访问方法中,还包括:

在所述地址字符串对应的访问内容与所述预设地址字符串对应的访问内容相同的情况下,判定所述第一访问地址为所述预设访问地址。

在本发明的内容访问方法中,所述判断所述地址字符串对应的访问内容是否与所述预设地址字符串对应的访问内容相同的步骤包括:

获取所述地址字符串与所述预设地址字符串相区别的区别字符;

判断所述区别字符是否会使所述地址字符串对应的访问内容与所述预设地址字符串对应的访问内容不同;

若是,则判定所述地址字符串对应的访问内容与所述预设地址字符串对应的访问内容不相同;

若否,则判定所述地址字符串对应的访问内容与所述预设地址字符串对应的访问内容相同。

在本发明的内容访问方法中,所述判断所述地址字符串对应的访问内容是 否与所述预设地址字符串对应的访问内容相同的步骤包括:

获取所述第一访问请求中的请求头信息,所述请求头信息包括:第一访问地址字符串和请求参数;

根据所述请求头信息判断所述地址字符串对应的访问内容是否与所述预设地址字符串对应的访问内容相同。

在本发明的内容访问方法中,当所述第一访问地址为所述预设访问地址时,在从所述代理服务器提取访问内容之前,所述内容访问方法还包括:

判断所述代理服务器中所述预设访问地址对应的访问内容是否过期;

若否,则从所述代理服务器提取所述访问地址对应的访问内容;

若是,则从所述内容服务器获取所述第一访问地址对应的访问内容,将该访问内容存储至所述代理服务器,并将该访问内容发送给所述第一终端。

在本发明的内容访问方法中,,所述判断所述代理服务器中所述预设访问地址对应的访问内容是否过期的步骤包括:

获取所述预设访问地址对应的访问内容的存储时间;

根据所述存储时间判断代理服务器中所述预设访问地址对应的访问内容是否过期。

在本发明的内容访问方法中,所述根据所述存储时间判断代理服务器中所述预设访问地址对应的访问内容是否过期的步骤包括:

获取当前时间与所述存储时间之间的时间差值;

判断所述时间差值是否大于预设阈值;

若是,则判定所述代理服务器中所述预设访问地址对应的访问内容过期;

若否,则判定所述代理服务器中所述预设访问地址对应的访问内容不过期。

在本发明的内容访问方法中,所述从内容服务器中获取预设访问地址对应的访问内容,并将该访问内容存储至代理服务器的步骤包括:

接收第二终端发送的第二访问请求,所述第二访问请求携带第二访问地址;

判断所述第二访问地址是否为预设访问地址;

若是,则从内容服务器中获取预设访问地址对应的访问内容,并将所述预设访问地址对应的访问内容存储至所述代理服务器。

本发明的实施例还提供了一种内容访问装置,包括:内容处理模块、接收模块、地址判断模块以及发送处理模块;

所述内容处理模块,用于从内容服务器中获取预设访问地址对应的访问内容,并将该访问内容存储至代理服务器;

所述接收模块,用于接收第一终端发送的第一访问请求,所述第一访问请求携带第一访问地址;

所述地址判断模块,用于判断所述第一访问地址是否为所述预设访问地址;

所述发送处理模块,用于在所述地址判断模块判断为是的情况下,从所述代理服务器提取与所述预设访问地址对应的访问内容,并发送给所述第一终端;

所述内容获取模块,用于在所述地址判断模块判断为否的情况下,从所述内容服务器获取所述第一访问地址对应的访问内容,并将该访问内容直接发送给所述第一终端。

在本发明的内容访问装置中,所述预设访问地址对应的访问内容的更新频率小于预设频率。

在本发明的内容访问装置中,所述第一访问地址包括:地址字符串,所述预设访问地址包括:预设地址字符串;

所述地址判断模块包括:字符判断子模块;

所述字符判断子模块,用于:

判断所述地址字符串与所述预设地址字符串是否相同;

若相同,则判定所述第一访问地址为所述预设访问地址;

若不相同,则判定所述第一访问地址不为所述预设访问地址。

在本发明的内容访问装置中,所述地址判断模块还包括:内容判断子模块;

所述内容判断子模块,用于在所述字符判断子模块判断为否的情况下,判定所述第一访问地址不为所述预设访问地址之前,判断所述地址字符串对应的访问内容是否与所述预设地址字符串对应的访问内容相同;若访问内容不相同,则判定所述第一访问地址不为所述预设访问地址。

在本发明的内容访问装置中,所述内容判断子模块,具体用于:

获取所述第一访问请求中的请求头信息,所述请求头信息包括:第一访问 地址字符串和请求参数;

根据所述请求头信息判断所述地址字符串对应的访问内容是否与所述预设地址字符串对应的访问内容相同。

在本发明的内容访问装置中,还包括:过期判断模块;

所述过期判断模块,用于在所述地址判断所述第一访问地址为所述预设访问地址时,在所述发送处理模块从所述代理服务器提取访问内容之前,判断所述代理服务器中所述预设访问地址对应的访问内容是否过期;

所述发送处理模块,用于在所述过期判断模块706判断为否的情况下,从所述代理服务器提取所述访问地址对应的访问内容;

所述内容处理模块,还用于在所述过期判断模块判断为是的情况下,从所述内容服务器获取所述第一访问地址对应的访问内容,将该访问内容存储至所述代理服务器,并将该访问内容发送给所述第一终端。

本发明的实施例提供了一种内容访问方法和装置;其中本发明实施例提供的内容访问方法,采用代理服务器事先从内容服务器(例如web服务器)中获取一部分内容进行存储,在接收到用户的访问请求后,从代理服务器的存储中直接提取对应的访问内容返回给用户;由此可见,本发明实施例提供的内容访问方法可以利用代理服务器来减少内容服务器的数据处理量,分担内容服务器的一部分资源压力,进而提升了用户访问内容的速度;另外,由于对于一些用户的访问请求无需转发至内容服务器处理,可以直接由代理服务器进行处理,进一步提升了用户访问内容的速度,提升了用户体验。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有web内容访问系统的结构示意图;

图2为本发明实施例一提供的一种内容访问方法的流程示意图;

图3为本发明实施例一提供的一种判断地址是否相同的流程示意图;

图4为本发明实施例一提供的另一种内容访问方法的流程示意图;

图5为本发明实施例二提供的一种内容访问系统的结构示意图;

图6为本发明实施例二提供的一种内容访问系统实现用户访问的流程示意图;

图7为本发明实施例三提供的第一种内容访问装置的结构示意图;

图8为本发明实施例三提供的第二种内容访问装置的结构示意图;

图9为本发明实施例三提供的第三种内容访问装置的结构示意图;

图10为本发明实施例三提供的第四种内容访问装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种内容访问方法和装置。以下将分别进行详细说明。

实施例一:

为了提升用户访问内容的速度或者服务器展示内容给用户的效率,本实施例提供了一种内容访问方法,该内容方法可以由代理服务器实施或者其他实体或者其他设备来实施,本实施例主要以在代理服务器中实施为例,来介绍本实施例的内容访问方法;如图2所示,本实施例的内容访问方法包括如下步骤:

步骤201,获取预设访问地址对应的访问内容,并将该访问内容存储至代理服务器。

具体地,代理服务器是在现有内容访问系统的基础上新增加的一个服务器,区别与现有内容访问系统中web服务器和后台数据服务器,该代理服务器可以预先从web服务器或者后台数据服务器中获取预设访问地址对应的访问内容,并存储至本地。

例如代理服务器在接收到用户访问请求后,将该用户访问请求发送至web服务器,web服务器可以根据访问请求在所述后台数据服务器中查询对应的内 容,并返回给用户;

又例如,代理服务器在接收到用户访问请求后,根据该用户访问请求直接在所述后台数据服务器中查询对应的内容,并返回给用户。本实施例中代理服务器与内容服务器之间通过Http(HyperText Transfer Protocol,超文本传输协议)进行通信。

本实施例中访问内容可以为web服务器生成的动态内容,例如web服务器采用一些方法从后台数据服务器获取的内容发给用户,使后台数据服务器与用户数据交互,实现动态生成web内容,此时该从后台数据服务器获取的内容即为web动态内容;当然本实施例的访问内容也可以为静态内容,例如web服务器自己生成的web内容。

在实际应用场景中,本实施例访问内容的内容类型可以为多种,比如图片数据(网页游戏中的游戏画面数据、漫画网站中的图片数据等)、文字数据(例如网页游戏登录界面中的文字数据,网页游戏场景中的文字数据等)、多媒体数据(视频网站中视频画面数据和音频数据、网页游戏中的视频数据和音频数据)等等。

本实施例中预设访问地址为事先设置且需要获取访问内容存储的访问地址;例如一些网页游戏的地址、图片网站的地址(百度图片的网页地址)、视频网站的地址(腾讯视频的网页地址)、以及导航网站的地址(hao123网页地址)等等。当然本实施例中预设访问地址也可以为网页中某些内容选项对应的访问地址;比如,在漫画网站中某本漫画对应的访问地址,在视频网站中某个视频对应的访问地址,在文学网站中某本小说对应的访问地址,在游戏中某个商城或者副本对应的访问地址等等。

优选地,本实施例中访问地址可以为URL(Uniform Resoure Locator,统一资源定位符),例如http://image.baidu.com/,http://www.qq.com/等等。

为保证用户所访问的内容使最新的内容,本实施例中预设地址可以为内容更新不频繁的访问地址;具体地,所述预设访问地址对应的访问内容的更新频率小于预设频率;其中预设频率可以根据实际访问需求设定或者访问地址对应的访问内容属性设定。优选地,本实施例中预设访问地址可以包括:网页游戏 的URL、网页游戏中某个游戏场景画面的URL、漫画网站的URL、漫画网站中某本漫画的URL、文学网站的URL(例如起点网的url)、或者文学网站中某本小说的URL等,在实际情况中这一类网站的内容更新不是很频繁,因此可以将这类网站的一些内容或者数据预先存储至代理服务器,使得用户在访问该类型网站内容时,获取的内容与最新的内容差别不大,可以提高用户访问速度。

本实施例中将预设访问地址对应的访问内容存储至代理服务器中的过程可以包括:将访问内容缓存至代理服务器的内存或者本地磁盘中。例如将访问内容以文件的形成存放在磁盘中,或者通过系统级的内存映射方式放入内存,其中将访问内容缓存到内存中的方式可以提高存储效率,进而提高用户访问速度。本实施例中缓存可以作为一个共享缓存,不只为一个用户服务,经常为大量用户使用。

优选地,本实施例中代理服务器为Nginx代理服务器,nginx代理服务器是高效的http服务器,可以加载自定义的模块,对http请求进行加工处理,Nginx代理服务器具有很强的兼容性,可以适用于多种语言,例如C/C++/Lua等。

本实施例中可以通过修改Nginx代理服务器中的配置文件,实现上述步骤201。

步骤202,接收第一终端发送的第一访问请求,所述第一访问请求携带第一访问地址。

本实施例中访问请求可以为用户的移动终端发送的访问请求;用户可以触发移动终端发送对应的访问请求给代理服务器,以获取对应的访问内容。具体地,用户可以在开启某个移动终端上的应用程序(APP)后,触发该应用程序向代理服务器发送对应的访问请求,以请求对应的内容进行显示,该访问请求携带对应的URL。例如,用户打开漫画APP时,漫画APP会向代理服务器发送对应的图片访问请求,以获取APP主界面中需要显示的漫画图片,该访问请求携带所需访问图片的URL;又例如用户打开移动终端上的漫画APP后,在该APP主界面中选取某本漫画时,该漫画APP会向代理服务器发送图片访 问请求,以获取该本漫画包含的图片进行显示,该访问请求会携带这本漫画对应的URL。又例如,用户触发移动终端上的某个游戏APP时,该游戏APP会向代理服务器发送游戏数据访问请求,以获取游戏数据进行显示,该游戏数据访问请求携带所需访问的游戏数据的URL。

另外,用户还可以通过第一终端登录web浏览器后,触发web浏览器中网站选项,此时浏览器将会向代理服务器发送对应的访问请求,例如Http请求,该访问请求携带该网站对应的访问地址,例如网站的url。本实施例中第一终端与代理服务器通过TCP/IP协议进行数据交换。又例如,用于通过终端上的浏览器打开导航网页,在导航页面点击“头条新闻”选项后,浏览器会发送一个Http访问请求给代理服务器,该访问请求携带“头条新闻”网站对应的url。

步骤203,判断第一访问地址是否为预设访问地址,若是,则执行步骤204,若否,则执行步骤205。

具体地,第一终端在发送第一访问请求给代理服务器,代理服务器在接收到第一访问请求之后,从第一访问请求中提取第一访问地址,然后将第一访问地址与预设访问地址进行比较,以判断第一访问地址是否为预设访问地址。

在遵循http协议的情况下,第一访问请求为http请求,该请求包括请求头信息,其中请求头信息中包括url和一些请求参数,例如请求方法参数(get参数、post参数、头部行请求参数(user-agent、cookie、host等)等等。

步骤204,从代理服务器中提取与预设访问地址对应的访问内容,并发送给所述第一终端。

在第一访问地址为预设访问地址,表明代理服务器本地存储有第一访问地址对应的访问内容,此时可以从代理服务器中提取与预设访问地址对应的访问内容,并发送给第一终端。

例如,用户在打开移动终端上安装的漫画APP,并在漫画APP主界面选取某本漫画进行阅读时,移动终端将向代理服务器发送携带该本漫画的访问地址的访问请求,代理服务器在接收到该访问请求,获取该本漫画的访问地址后,需要判断该本漫画的访问地址是否为预设访问地址,如果相同时,表明代理服 务器已经预先缓存了该本漫画的图片数据,此时,执行从代理服务器本地存储中提取该本漫画的图片数据发送给用户的移动终端,该移动终端在接收到图片数据后进行图片显示,可见将本实施例的内容访问方法应用至漫画访问场景中,可以利用代理服务器来减少web服务器的数据处理量,分担web服务器的一部分资源压力,进而提升了用户访问漫画的速度,提升了用户体验。

又例如,用户通过电脑浏览器打开某个网页游戏时,电脑浏览器会向代理服务器发送携带该网页游戏URL的访问请求,代理服务器接收到该访问请求,获取该网页游戏URL后,需要判断该网页游戏URL是否为预设的URL,若是,表明该代理服务器已经缓存了该网页游戏的游戏数据(如游戏登录界面数据等),此时代理服务器将会从本地存储中提取该网页游戏的游戏数据发送给移动终端,移动终端在接收到该游戏数据后进行显示;可见将本实施例的内容访问方法应用至网页游戏访问场景中,可以利用代理服务器来减少web服务器的游戏数据处理量,分担web服务器的一部分资源压力,进而提升了用户访问网页游戏的速度,提升了用户体验。

又例如,用户在第一终端上的浏览器的地址栏中输入“www.baidu.com”,此时浏览器会向代理服务器发送对应的访问请求,该访问请求携带内容为“www.baidu.com”的url,如果代理服务器判断该url与预设的url相同时,表明代理服务器已经存储有“www.baidu.com”对应的页面内容,此时,只需从本地存储中提取百度搜索的页面内容并返回给浏览器进行展示;可见将本实施例的内容访问方法应用至通过浏览器访问网页的场景中,可以利用代理服务器来减少web服务器的网页数据处理量,分担web服务器的一部分资源压力,进而提升了用户访问网页的速度,提升了用户体验。

步骤205,从所述内容服务器获取所述第一访问地址对应的访问内容,并将该访问内容直接发送给所述第一终端。

在第一访问地址不为预设访问地址,表明代理服务器本地没有存储第一访问地址对应的访问内容,此时需要从内容服务器(如web服务器)中提取与第一访问地址对应的访问内容,并发送给第一终端。

具体地,代理服务器将第一访问请求转发给web服务器,web服务器根 据第一访问请求从后台数据服务器中查询与第一访问地址对应的访问内容,并直接发送给第一终端。代理服务器与内容服务器遵循http协议。

例如,用户在移动终端浏览器显示的导航页面中点击网页游戏“斩龙奇迹”时,此时,移动终端将向代理服务器发送访问请求,该访问请求携带的url为:http://zlcq.xy.com/?seid=4823;代理服务器在接收到该访问请求后,判断请求携带的url不是预设访问地址,此时代理服务器将该访问请求转发给web服务器,web服务器根据该访问请求在后台数据服务器中查询网页游戏“斩龙奇迹”的页面内容,并将查询到的页面内容发送至移动终端进行显示。如果,代理服务器预先存储了网页游戏“斩龙奇迹”URL对应的游戏页面数据(一般为网页游戏中更新不频繁的图像数据、音频数据等)的情况下,此时,代理服务器在接收到移动终端发送的访问请求之后,会判断该访问请求携带的url为预设url,那么代理服务器将会从本地存储中提取该网页游戏的游戏页面数据发送至移动终端,移动终端在接收到游戏页面数据后会进行显示。

本实施例提供的内容访问方法,可以应用在通过移动终端APP或者通过PC浏览器访问内容等场景中,其采用代理服务器事先从内容服务器(例如web服务器)中获取一部分内容进行存储,在接收到用户的访问请求后,从代理服务器的存储中直接提取对应的访问内容返回给用户;由此可见,本实施例提供的内容访问方法可以利用代理服务器来减少内容服务器的数据处理量,分担内容服务器的一部分资源压力,进而提升了用户访问内容的速度;另外,由于对于一些用户的访问请求无需转发至内容服务器处理,可以直接由代理服务器进行处理,进一步提升了用户访问内容的速度,提升了用户体验;特别是应用在图片访问的场景更能体现本实施例方法优越性。

另外,本实施例中预设地址可以更新不频率内容对应的预设地址,可以在保证访问内容准确的情况下,提升访问速度。

下面具体介绍上述步骤203的实现过程,在本实施例中访问地址和预设访问地址均可以由字符串组成,例如“http://sz.meituan.com/”,本实施例可以通过比较访问地址的字符串是否相同来判断访问地址是否相同;具体地,在本实施例中设第一访问地址包括:地址字符串,所述预设访问地址包括:预设地 址字符串;此时,上述步骤203可以具体包括:

判断所述地址字符串与所述预设地址字符串是否相同;

若相同,则判定所述第一访问地址为所述预设访问地址;

若不相同,则判定所述第一访问地址不为所述预设访问地址。

例如第一访问请求携带的url为www.baidu.com,预设url也为www.baidu.com时,判定这两个url是相同的,即访问地址相同。

然而,在实际情况中,当两个访问地址的字符串不相同时,这两个访问地址对应的访问内容可能会完全相同,此时可以认定这两个访问地址为相同的访问地址,从而进一步提高访问速度。

例如,url为“http://www.jd.com/”,与url“http://www.jd.com/?cu”对应的内容完全相同,即京东商城的主页面。另外,还有许多url字符串不一样,但是对应的页面内容相同的情况,这里就不一一介绍了。

根据上述描述,如图3所示,本实施例内容访问方法中步骤203具体包括:

步骤301,判断地址字符串与预设地址字符串是否相同,若不相同,则执行步骤302,若相同,则执行步骤303。

例如访问请求携带的url为“http://www.jd.com/?cu”,预设访问地址为“http://www.jd.com/”,经过步骤301判断这两个地址的字符串不相同,则转到步骤302。

步骤302,判断地址字符串对应的访问内容是否与预设地址字符串对应的访问内容相同,若相同,则执行步骤303,若不相同,则执行步骤304。

在地址的字符串不相同的情况下,代理服务器还需要判断访问地址的字符串和预设访问地址的字符串对应的访问内容是否相同,例如判断“http://www.jd.com/?cu”,“http://www.jd.com/”这两个url字符串对应的内容是否相同;或者判断http://ac.qq.com/ComicView/chapter/id/17114/cid/180与“http://ac.qq.com/ComicView/chapter/id/17114/cid/180?auth=1”这两个url字符串对应的内容是否相同。

具体地,本实施例判断两个地址字符串对应的访问内容是否相同的实现方式包括:

获取所述地址字符串与所述预设地址字符串相区别的区别字符;

判断所述区别字符是否会使所述地址字符串对应的访问内容与所述预设地址字符串对应的访问内容不同;

若是,则判定所述地址字符串对应的访问内容与所述预设地址字符串对应的访问内容不相同;

若否,则判定所述地址字符串对应的访问内容与所述预设地址字符串对应的访问内容相同。

具体地,例如上述访问地址的字符串与预设访问地址的字符串的区别字符为“?cu”,此时,需要判断字符“?cu”是否会使两个访问地址对应的内容不同,例如,可以判断相区别的区别字符是否为预设可忽略字符,如果是,则表明该区别字符不会使两个访问地址的对应内容不同,如果不是,则表明该区别字符会使两个访问地址的对应内容不同。预设可忽略字符可以根据经验设定例如,一般“?”“=”均为可忽略字符,其不会影响地址对应的内容。同样的过程可以来判断上述“?auth=1”是否会使两个访问地址对应的内容不同。应当理解的是,虽然上述以购物网站的url为例来介绍本实施例判断地址是否相同的方式,并不表示本实施例判断方式仅适用于购物网站url的判断,其同样适用于网页游戏url的判断等。

另外,本实施例中判断所述地址字符串对应的访问内容是否与所述预设地址字符串对应的访问内容相同的过程可以具体包括:

获取所述第一访问请求中请求头信息,其中,请求头信息包括:第一访问地址字符串和请求参数;

根据所述请求头信息判断所述地址字符串对应的访问内容是否与所述预设地址字符串对应的访问内容相同。

本实施例中请求参数可以具体包括:请求方法参数(get参数、post参数)、头部行请求参数(user-agent、cookie、host等)等等。在获取请求头部信息后,可以根据该头部信息综合判断待请求的第一访问地址对应的内容是否与预设访问地址对应的内容相同。

例如在第一访问请求为http协议请求时,本实施例方法会提取该协议请求 的头信息,从头信息中获取get参数、url、host参数、user-agent、cookie参数、connect参数等等,然后根据这些参数和信息判断待请求的第一访问地址对应的内容是否与预设访问地址对应的内容相同。

步骤303,判定第一访问地址为所述预设访问地址。

在判断访问地址的字符串和预设访问地址的字符串对应的访问内容相同情况下,例如“http://www.jd.com/?cu”,与“http://www.jd.com/”均对应京东商城主页面内容,此时判断这两个访问地址是相同的。

步骤304,判定第一访问地址不为所述预设访问地址。

在判断访问地址的字符串和预设访问地址的字符串对应的访问内容不相同情况下,表面第一访问地址与预设访问地址是两个完全不同的访问地址,此时判定第一访问地址不为预设访问地址。

优选地,本实施例中步骤203、步骤301-步骤304可以在Nginx代理服务器采用如C/C++/Lua等编程语言实现。其中Lua是一个轻量级的脚本语言,可以很方便的和C/C++程序通信和调用系统服务;因此Lua语言具有很强的兼容性,在目前所有脚本语言中,Lua的速度是最快的,是嵌入式脚本的最佳选择;采用lua语言实现上便于实施上述步骤203、步骤301-步骤304,可以进一步提高数据缓存的速度,进而进一步提高访问速度。

为了提高内容访问的精确性,即提高用户获取的访问内容的准确性,本实施例内容方法在判断所述第一访问地址为所述预设访问地址时,在从所述代理服务器本地提取访问内容之前,还需要判断所述代理服务器中预设访问地址对应的访问内容是否过期,若没有过期,则从代理服务器本地提取所述访问地址对应的访问内容,若过期,则需要从内容服务器获取对应的访问存储至代理服务器,并将该访问内容发送给第一终端。

如图4所示,本实施例还提供了另一种内容访问方法,包括如下步骤:

步骤401,获取预设访问地址对应的访问内容,并将该访问内容存储至代理服务器。

具体地,本实施例中存储访问内容的过程可以为在其他终端访问内容的过程中进行的;例如本步骤可以包括:

接收第二终端发送的第二访问请求,所述第二访问请求携带第二访问地址;

判断所述第二访问地址是否为预设访问地址;

若是,获取预设访问地址对应的访问内容,并将所述预设访问地址对应的访问内容存储至所述代理服务器;具体地可以发送访问请求至web服务器以获取预设访问地址对应的访问内容。

本实施例中第二终端和当前第一终端可以为同一个终端,也可以为不同的终端;具体地,可以为同一个用户的两个终端,或者两个不同用户的终端。

本实施例方法在第一终端进行内容访问之前,可以在其他终端访问内容的过程中,存储对应的访问内容,为后续同样的访问提供内容,例如,用户1通过移动终端a上的漫画APP访问某本漫画时,代理服务器从web服务器获取该本漫画的图片数据,并将该本漫画的图片数据缓存至代理服务器,在代理服务器将图片数据发送给用户1的移动终端a后;当用户2通过移动终端b上的漫画APP来访问相同漫画时,代理服务器即可以从本地提取该本漫画的图片数据发送给用户2的移动终端b,无需在从web服务器中获取同样漫画的图片数据,可以提升用户访问漫画的速度;同理用户通过移动终端访问网页游戏过程也类似。

本实施例中判断所述第二访问地址是否为预设访问地址可以采用上述图3所示的过程来实现,这里就不再赘述。

当然,本步骤的实现方式还可以包括其他方式,例如,在代理服务器中输入预设访问地址,然后代理服务器生成对应的请求给web服务器请求对应的内容,之后将web服务器返回的内容存储至本地。

优选地,本实施例中内容服务器可以为web服务器或者后台数据服务器,本实施例中可以将内容缓存至代理服务器的内存或者磁盘中。

步骤402,接收第一终端发送的第一访问请求,第一访问请求携带第一访问地址。

具体地,第一终端可以通过浏览器或者某个应用发送http请求至代理服务器,例如手机通过qq浏览器发送的http请求给代理服务器,该请求携带url;或者手机通过某个应用例如手机淘宝、漫画控、qq农场发送的访问请求给代 理服务器等。

步骤403,判断第一访问地址是否为预设访问地址,若是,则执行步骤404,若否,则执行步骤407。

本步骤可以通过字符串的比较来判断访问地址是否相同,具体可以参考上述图3,这里就不在赘述。

步骤404,判断代理服务器存储的预设访问地址对应的访问内容是否过期,若是,则执行步骤405,若否,则执行步骤406。

考虑到代理服务器中存储的内容会过时,例如当后台数据服务器已经更新某个url对应的内容后,代理服务器存储的该url对应的内容为更新前的内容,此时将会导致用户获取的内容的并不是最新的内容,针对此种情况,本实施例增加了判断内容是否过程的步骤。

具体地,判断访问内容是否过期的步骤具体可以包括:

获取预设访问地址对应的访问内容的存储时间;

根据所述存储时间判断代理服务器中预设访问地址对应的访问内容是否过期;具体地,获取当前时间与存储时间之间的时间差值,判断所述时间差值是否大于预设阈值,若是,则判定代理服务器中所述预设访问地址对应的访问内容过期;若是,则判定代理服务器中所述预设访问地址对应的访问内容过期。

例如,预设阈值为24小时的情况下,某个url(如图片url、网页游戏url等)对应的内容存储时间(如漫画图片、小说内容、网页游戏中人物造型数据存储时间等)为2015年8月12日12点,当前时间为2015年8月13日10点,此时两个时间之间的时间差值为22小时,此时时间差值小于预设阈值24小时,则判定存储的访问内容没有过期,若当前时间未2015年8月13日13点,此时两个时间之间的时间差值为25个小时大于预设阈值24小时,则判定存储的访问内容过期。

本实施例还可以通过比较当前时间与预设时间的先后来判定内容是否过期,其中预设时间为根据存储时间设定的,例如某个url(图片url、网页游戏url等)对应的内容存储时间(如漫画图片、小说内容、网页游戏中人物造型数据存储时间等)为2015年8月12日12点,此时预设时间可以加1天,即 为2015年8月13日12点,若当前时间为2015年8月13日10点,早于预设时间,表明存储的内容不过期,若当前时间为2015年8月13日14点迟于预设时间,则表面存储的内容过期。

步骤405,从代理服务器提取与预设访问地址对应的访问内容,并发送给第一终端。

在判定代理服务器本地存储的用户所需访问内容不过期的情况下,表面此时代理服务器存储的内容为最新的内容,则直接从代理服务器本地提取该内容(如漫画图片、小说章节内容、网页游戏中人物造型数据等)发送给用户终端。

步骤406、重新获取第一访问地址对应的访问内容,将该访问内容存储至代理服务器,并将该访问内容发送给第一终端。

在判定代理服务器本地存储的用户所需访问内容过期(如代理服务器本地存储的漫画图片、小说章节内容、网页游戏中人物造型数据、网页游戏场景画面数据过期)的情况下,表面此时代理服务器存储的内容不是最新的内容,则需要重新获取对应的内容(如漫画图片、小说章节内容、网页游戏中人物造型数据、网页游戏场景画面数据等),然后存储内容,发送内容给用户终端。

本实施例中在存储内容过期的情况下,可以从内容服务器获取第一访问地址对应的新访问内容后,将该新访问内容更新至代理服务器,具体地,利用该新内容更新之前存储第一访问地址对应的内容,或者将代理服务器中之前存储的第一访问地址对应的内容删除,然后在存储获取的新内容。

步骤407,从内容服务器获取第一访问地址对应的访问内容,并将该访问内容直接发送给第一终端。

在第一访问地址不是预设访问地址的情况下,表明代理服务器没有存储该第一访问地址对应的访问内容,此时需要将第一访问请求发送给内容服务器,由内容服务器根据第一访问请求获取对应的访问直接发送给用户终端。

例如,一般新闻网站的内容更新比较快,一般不会用代理服务器来预先缓存相关新闻内容;当用户通过手机上的网易新闻APP访问新闻时,网易新闻APP会发送访问请求给代理服务器,该访问请求携带所需访问新闻的url,此时由于代理服务器会判断该新闻的url不为预设url,表明代理服务器没有存储 用户所需访问的新闻内容,代理服务器会将该访问请求转发至web服务器,由web服务器在后台数据服务器中查找对应的新闻内容,并直接发送给终端浏览器显示。

优选地,在本实施例中代理服务器为Nginx代理服务器的情况下,对访问请求的转发由Nginx代理服务器中的Nginx代理模块执行,而对于访问请求中访问地址的判断以及访问内容是否过期的判断的实现,可以在Nginx代理服务器嵌入lua语言编写的程序实现。

本实施例提供的内容访问方法,可以在提高用户访问速度的同时,还可以保证访问内容的精确性,提升了用户的体验。

实施例二:

本实施例提供了一种内容访问系统,如图5所示,包括:第一移动终端500、代理服务器501、web服务器502和后台数据服务器503,优选地代理服务器501为Nginx代理服务器;代理服务器501、web服务器502和后台数据服务器503之间遵循http协议。

参考图6,该内容访问系统实现用户访问内容的过程包括如下步骤:

步骤600,第一移动终端500发送第一访问请求至代理服务器501,该第一访问请求携带第一访问地址。

具体地,第一移动终端500上安装的漫画APP或者游戏APP,在用户触发下发送携带对应图片访问地址的图片访问请求或者携带对应游戏数据访问地址的游戏访问请求至代理服务器;比如,用户在打开漫画APP后,在漫画APP的漫画推荐界面选取想要阅读的漫画,此时第一终端500就会向代理服务器501发送图片访问请求,该图片访问请求携带该漫画对应URL;又比如,用户在打开游戏APP,并登录游戏APP之后,用户点击游戏商城或者对战模式后,第一终端500将会向代理服务器发送游戏数据访问请求,该游戏数据访问请求携带游戏商城的URL,或者对战模式场景数据的访问地址。

步骤601,代理服务器501接收第一移动终端发送的第一访问请求,从第一访问请求中提取第一访问地址。

步骤602,代理服务器501判断第一访问地址是否为预设访问地址,若是, 则执行步骤603。

比如,判断用户想要阅读的漫画对应的URL是否为预设URL,或者判断游戏商城的URL是否为预设URL,或者判断对战模式场景数据对应的访问地址是否为预设访问地址。

步骤603,代理服务器501将第一访问请求转发给web服务器502,web服务器502根据第一访问请求在所述后台数据服务器503中查询与预设访问地址对应的访问内容,并将访问内容返回给代理服务器501。

具体地,代理服务器501可以将图片访问请求、或者游戏数据访问请求转发给web服务器;web服务器根据图片访问请求、或者游戏数据访问请求在后头数据服务器503中查找对应的图片或者游戏数据,并返回给代理服务器501。

步骤604,代理服务器501缓存预设访问地址对应的访问内容,并将该访问内容发送给第一移动终端500,以供第一移动终端500显示该访问内容。

具体地,代理服务器缓存图片数据或者游戏数据,并将图片数据或者游戏数据发送给第一移动终端500,第一移动终端500中漫画APP或者游戏APP接收到该图片数据或者游戏数据后进行显示。

步骤605,代理服务器501接收第二移动终端504发送的第二访问请求,该第二访问请求携带第二访问地址。

具体地,第二移动终端504上安装的漫画APP或者游戏APP(与第一终端500安装的漫画APP或者游戏APP相同),在用户触发下发送携带对应图片访问地址的图片访问请求或者携带对应游戏数据访问地址的游戏访问请求至代理服务器501;比如,其他用户在打开第二移动终端上的漫画APP后,在漫画APP的漫画推荐界面选取与步骤600中的用户一样漫画时,此时第二移动终端504就会向代理服务器501发送图片访问请求,该图片访问请求携带该漫画对应URL;又比如,用户在打开游戏APP,并登录游戏APP之后,用户点击游戏商城(与步骤600中用户选取的游戏商城相同)或者对战模式(与步骤600中用户选取的对战模式相同)后,第二终端504将会向代理服务器501发送游戏数据访问请求,该游戏数据访问请求携带游戏商城的URL,或者对战模式场景数据的访问地址。

步骤606,代理服务器501判断第二访问地址是否为上述预设访问地址,若是,则执行步骤607,若否,则执行步骤611。

具体地,由于第二终端504的用户与第一终端501的用户使用同一个APP,并在同一个APP中选取的访问内容相同,此时代理服务器501会判断第二访问地址为预设访问地址。

步骤607,代理服务器501判断存储的预设地址对应的访问内容是否过期,若否,则执行步骤608,若是,则执行步骤609。

具体地,代理服务器501判断上述步骤604缓存的图片数据或者游戏数据是否过期,判断过期的方式可以参考实施例一中的相关描述。

步骤608,代理服务器501从存储中提取预设地址对应的访问内容发送给第二移动终端504。

具体地,代理服务器501将会从存储中提取上述步骤604缓存的图片数据或者游戏数据直接发送给第二移动终端504,第二移动终端504接收到数据后在APP中进行显示。

步骤609,代理服务器501将第二访问请求转发给web服务器502,web服务器502根据第二访问请求在后台数据服务器503中查询对应的访问内容,并将与第二访问地址对应的访问内容发送给代理服务器501。

具体地,代理服务器501将图片请求或者游戏数据请求转发给web服务器502,web服务器502根据请求从后台数据服务器503中查询对应的图片数据或者游戏数据,并发送给代理服务器501。

步骤610,代理服务器501缓存接收到访问内容,并将接收到第二访问地址对应的访问内容发送至第二移动终端504,结束。

具体地,代理服务器501缓存接收到图片数据或者游戏数据,并将图片数据或者游戏数据发送至第二移动终端504;第二移动终端504在接收到图片数据或者游戏数据后进行显示。

优选地,为了适用实际情况,本实施例中代理服务器501在缓存接收到访问内容之前还需要判断是否缓存访问内容,具体地,可以在考虑代理服务器501的存储空间、用户需求、系统稳态性、端口配置情况等因素来判断是否缓 存访问内容。

步骤611,代理服务器501将第二访问请求转发给web服务器502,web服务器502根据第二访问请求在后台数据服务器中查询对应的访问内容,并将与第二访问地址对应的访问内容发送给代理服务器501。

具体地,如果第二终端504所需访问的图片数据或者游戏数据与上述步骤600中第一终端访问的图片数据或者游戏数据不一样时,其发送访问请求中的访问地址也与上述步骤600中访问请求的地址不一样,此时代理服务器501会判断第二访问地址不为预设地址,代理服务器501会将图片访问请求或者游戏数据访问请求转发至web服务器502,web服务器502根据请求从后台数据服务器503中查询对应的图片数据或者游戏数据,并发送给代理服务器501。

步骤612,代理服务器501直接将第二访问地址对应的访问内容发送给第二移动终端504,结束。

代理服务器501接收到web服务器502返回的图片数据或者游戏数据之后,会将图片数据或者游戏数据直接发送给移动终端504

本实施例提供的内容访问系统相比现有的内容访问系统,增加了代理服务器501,采用代理服务器501分担web服务器的压力,提高了移动终端访问内容的速度,或者移动终端展示web内容的效率,提升了用户体验同时也节约了带宽资源;另外本实施例的内容访问系统还具有易于实施,成本较低等优点。

实施例三:

本实施例提供了一种内容访问装置,如图7所示,包括:内容处理模块701、接收模块702、地址判断模块703以及发送处理模块704;本实施例的内容访问装置可以作为独立的实体来实现,也可以基础在其他网络设备,例如代理服务器中,其中,

内容处理模块701,用于获取预设访问地址对应的访问内容,并将该访问内容存储至代理服务器;

接收模块702,用于接收第一终端发送的第一访问请求,所述第一访问请求携带第一访问地址;

地址判断模块703,用于判断所述第一访问地址是否为所述预设访问地址;

发送处理模块704,用于在所述地址判断模块703判断为是的情况下,从所述代理服务器提取与所述预设访问地址对应的访问内容,并发送给所述第一终端;

内容获取模块705,用于在所述地址判断模块703判断为否的情况下,从所述内容服务器获取所述第一访问地址对应的访问内容,并将该访问内容直接发送给所述第一终端。

在用户访问内容的过程中将本实施例提供的内容访问装置应用代理服务器中可以使代理服务器来减少内容服务器的数据处理量,分担内容服务器的一部分资源压力,进而提升了用户访问内容的速度;另外,由于对于一些用户的访问请求无需转发至内容服务器处理,可以直接由代理服务器进行处理,进一步提升了用户访问内容的速度,提升了用户体验。

优选地,为了保证用户访问的内容的精确性,本实施例中所述预设访问地址对应的访问内容的更新频率小于预设频率。也即将一些内容更新不频繁内容存在代理服务器,由代理服务器分担内容服务器的一部分压力。

优选地,本实施例中所述第一访问地址包括:地址字符串,所述预设访问地址包括:预设地址字符串;如图8所示,本实施例所述地址判断模块703包括:字符判断子模块7031;

所述字符判断子模块7031,用于:

判断所述地址字符串与所述预设地址字符串是否相同;

若相同,则判定所述第一访问地址为所述预设访问地址;

若不相同,则判定所述第一访问地址不为所述预设访问地址。

优选地,为进一步提升用户访问内容的速度,本实施例可以将对应内容相同的不同地址看作同一个地址,具体地,如图9所示,在上述基础上,本实施例中所述地址判断模块703还可以包括:内容判断子模块7032;

内容判断子模块7032,用于在所述字符判断子模块7031判断为否的情况下,判定所述第一访问地址不为所述预设访问地址之前,判断所述地址字符串对应的访问内容是否与所述预设地址字符串对应的访问内容相同;若访问内容不相同,则判定所述第一访问地址不为所述预设访问地址。

优选地,所述内容判断子模块,具体用于:

获取所述第一访问请求中的请求头信息,所述请求头信息包括:第一访问地址字符串和请求参数;

根据所述请求头信息判断所述地址字符串对应的访问内容是否与所述预设地址字符串对应的访问内容相同。

优选地,为了提高用户访问精确性,如图10所示,在上述内容访问装置的基础上,还包括:过期判断模块706;

其中,过期判断模块706,用于在所述地址判断所述第一访问地址为所述预设访问地址时,在所述发送处理模块从所述代理服务器提取访问内容之前,判断所述代理服务器中所述预设访问地址对应的访问内容是否过期;

发送处理模块704,用于在所述过期判断模块706判断为否的情况下,从所述代理服务器提取所述访问地址对应的访问内容;

内容处理模块701,还可以用于在所述过期判断模块706判断为是的情况下,从所述内容服务器获取所述第一访问地址对应的访问内容,将该访问内容存储至所述代理服务器,并将该访问内容发送给所述第一终端。

本实施例内容访问装置可以不断更新代理服务器存储的访问内容,在提高用户访问速度的同时,提升用户访问的精确性。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

以上对本发明实施例所提供的一种内容访问方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1