网络数据请求处理装置及方法_2

文档序号:9600897阅读:来源:国知局
各种信息。网页中包括多个文档,每个文档都是分别从服务器集群300中的一个或多个服务器中获取的。网页文件包括图像、动画、视频、声音、流媒体等。
[0030]服务器是提供计算服务的电子设备。服务器响应服务请求,并进行处理。服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机硬件类似。在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,网页服务器等。在本实施例中,服务器集群300中的服务器为网页服务器。
[0031]服务器集群300中存储有网页文件或其他格式类型的数据和文件,本发明的服务器集群300采用负载均衡技术,每个网页文件存储在服务器集群300中的多个服务器中,每个网页文件的不同部分也可能存储在服务器集群300中的多个服务器中,客户端100通过浏览器向反向代理服务器200发送网络数据请求,反向代理服务器200通过处理装置210找到服务器集群300中对应的服务器,并建立对应服务器与客户端100的数据连接,以使客户端100的浏览器可以获取对应服务器的文件内容,从而使客户端100和对应服务器完成信息交互。
[0032]本发明的各种实施例中的处理装置210可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施例可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置210(DSH))、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施。对于软件实施,诸如过程或功能的实施例可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器中并且由控制器执行。
[0033]基于上述客户端100、反向代理服务器200以及服务器集群300的硬件结构以及通信系统,提出本发明方法各个实施例。
[0034]如图2所示,本发明第一实施例提出一种处理装置210,所述处理装置210包括接收模块211,获取模块212以及连接模块213。接收模块211用于接收客户端100发送的网络数据请求,获取模块212用于获取第一缓存220中的第一缓存220数据以及所述客户端100的用户参数,连接模块213用于在所述第一缓存220数据中存储有所述客户端100的用户参数与固定值η的对应关系时建立所述客户端100与所述固定值η对应服务器之间的数据连接。
[0035]在本实施例中,网络数据请求通过用户输入的URL (Uniform/Universal ResourceLocator,统一资源定位符)生成,URL是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网资源的地址,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
[0036]具体的说,客户端100的浏览器地址栏接收用户输入的URL并接收用户的输入触发,客户端100生成包含URL信息的网络数据请求并发送给处理装置210,其中,URL中可能包含网络中一位置的IP地址或者网址域名信息,在URL中包含的是网址域名信息时,还包括将URL中的域名信息在DNS服务器中查找到对应的IP地址。
[0037]接收模块211接收客户端100发送的网络数据请求,获取模块212获取所述客户端100的用户参数。,用户参数包括用户编号,令牌等可标示用户的参数,在本实施例中,用户参数为令牌,令牌代表执行某些操作的权利的对象。其中客户端100的用户参数可以通过网络数据请求一并发送,也可以在接收模块211接收到客户端100发送的网络数据请求之后获取模块212向客户端100获取。
[0038]获取模块212还用于获取第一缓存220数据,第一缓存220数据存储在第一缓存220中,第一缓存220可以为网络中独立的缓存服务器,也可以是集群服务器或客户端100中的缓存模块。连接模块213在所述第一缓存220数据中存储有所述客户端100的用户参数与固定值η的对应关系时建立所述客户端100与所述固定值η对应服务器之间的数据连接。
[0039]固定值η与服务器集群300中的服务器具有一一对应关系,可以将服务器集群300中多个服务器按顺序编号,例如,当η为1时,对应服务器集群300中的编号为1的服务器,当η为2时,对应服务器集群300中的编号为1的服务器。也可以设置η的取值范围对应服务器集群300中的不同服务器,例如,当η的值为二进制00000001-00001000时对应服务器集群300中对应的某特定服务器。在本实施例中,η为自然数,且小于服务器集群300中的服务器数目Ν。
[0040]如果在第一缓存220中存储有客户端100的用户参数和固定值η的对应关系,那么便可以通过获取的客户端100的用户参数在第一缓存220中的第一缓存220数据中查询得到该客户端100用户参数对应的固定值η,从而根据该固定值η确定对应服务器集群300中的服务器,从而使客户端100通过处理装置210建立与该服务器的连接,从而保证每次相同用户参数的客户端100的数据请求都是在该服务器上存取和处理。
[0041]在本实施例中,固定值η具体为对URL执行哈希算法后的哈希值。处理装置210还包括学习模块214,用于将历史网络数据请求转换为固定值n,建立所述固定值η与服务器集群300中Ν个服务器之间的对应关系,并将所述固定值η与Ν个服务器之间的对应关系以及对应的网络数据请求信息中包含的用户参数信息存入第二缓存230的第二缓存230数据中。
[0042]具体来说,学习模块214能将URL执行哈希算法以得到固定值n,通过固定值n,即哈希值,从而使该URL能定向到服务器集群300中的固定一台服务器,学习模块214将历史操作中,对URL的哈希结果以及哈希结果和服务器集群300中某一服务器的对应关系存入第二缓存230的第二缓存230数据中。
[0043]在本发明的其他实施例中,第二缓存230数据中存储的历史数据也可有其他方法得到,例如在服务器集群300中的服务器数量较少时,通过自定义预设固定值η和对应服务器之间的对应关系。
[0044]获取模块212还用于在所述第一缓存220数据中没有存储有所述客户端100的用户参数与固定值η的对应关系时从第二缓存230中获取第二缓存230数据,相应的,所述连接模块213还用于根据所述第二缓存230数据建立所述客户端100与对应服务器的数据连接。
[0045]在本实施例中,连接模块213还用于根据所述第二缓存230数据建立所述客户端100与对应服务器的数据连接具体包括:在所述第二缓存230数据中的最近一次历史数据中的固定值η等于Ν时建立所述客户端100与所述Ν个服务器中的第一个服务器之间数据连接,并将固定值η赋值为1 ;以及在所述第二缓存230数据中的最近一次历史数据中的固定值nl不等于N时建立所述客户端100与所述N个服务器中的第n+l个服务器之间数据连接,并将固定值η的值加1。
[0046]在第一缓存220210中不存在标示客户端100身份的令牌和哈希值对应关系时,从第二缓存230中获取历史数据,并从历史数据中取出最近一次被调用的哈希值。
[0047]例如当服务器集群300中有9台服务器时,当发现第二缓存230中最近一次被调用的哈希值是9,则建立客户端100和服务器中第一个服务器,或者编号为1的服务器的数据连接,并将哈希值修改为1。当发现第二缓存230中最近一次被调用的哈希值是7,不等于9时,则建立客户端100和服务器中第7个服务器,或者编号为8的服务器的数据连接,并将哈希值修改为8。当发现第二缓存230中最近一次被调用的哈希值是1不等于9时,则建立客户端100和服务器中第2个服务器,或者编号为2的服务器的数据连接,并将哈希值修改为2。
[0048]连接模块213还用于在根据所述第二缓存230数据建立所述客户端100与对应服务器的数据连接之后将所述客户端100的用户参数与所述固定值η之间的对应关系存入第一缓存220数据。
[0049]在客户端100和对应的服务器建立连接之中,连接模块213将该客户端100的令牌以及刚刚完成数据连接的哈希值和服务器以及他们的对应关系存入第一缓存220的第一缓存220数据中,以
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1