一种响应社区域名请求的方法、相关装置及系统的制作方法

文档序号:7995980阅读:186来源:国知局
一种响应社区域名请求的方法、相关装置及系统的制作方法
【专利摘要】本发明公开了一种响应社区域名请求的方法、相关装置及系统,用于解决现有技术中的单站点响应单个域名的方式开发和维护成本较高的问题。该方法包括:域名系统DNS接收用户访问社区域名的请求;DNS对社区域名进行解析,确定社区域名的地理方位属性;DNS将请求发送至与社区域名的地理方位属性对应的反向代理服务器;反向代理服务器在请求的标头中添加社区域名信息,并将添加域名信息后的请求发送到社区域名对应的社区服务器集群;反向代理服务器接收社区服务器集群中响应请求的社区服务器发送的与请求对应的社区数据,并将社区数据提供给用户。该方案避免了在一个城市开发部署多个站点进行访问响应的问题,便于快速部署站点,同时降低了站点的开发和维护成本。
【专利说明】一种响应社区域名请求的方法、相关装置及系统
【技术领域】
[0001]本发明涉及互联网领域,具体而言,涉及一种响应社区域名请求的方法、相关装置及系统。
【背景技术】
[0002]社区网是在社区与计算机网络发展的基础上应运而生的,社区顾名思义就是指一个城市的某个特定的区域,比如北京的中关村、上海的大唐盛世等,都可以称为一个社区,为了社区内的人互相有个交流的平台,比如聊天、论坛、二手货信息的发布、房屋出租出售等,那么正对某个社区就可以建立一个社区网站,大家在社区网站上互相交换信息。不同的城市、不同的社区都可以建立自己相对独立的社区网站,简称社区网。目前,社区网访问是单站点响应单个域名,一个域名指向一个站点。或者通过二级域名指向同一站点。首先,用户访问网站域名,域名服务器直接将网站访问请求发送到网站服务器,网站服务器响应用户访问,返回用户请求的网站内容。由于域名服务器直接将用户的请求发送到请求对应的网站服务器,因此只有网站服务器能够响应该请求,这种网络架构属于单站点响应单域名的网络架构。针对这种网络架构而言,对于同一个城市的多个社区,需要开发部署多个站点进行访问响应,这样会加大站点开发和维护的成本。更加严重的是,由于单站点响应单域名,与同一个城市的社区对应的站点只能部署在同一个城市,这样会导致异地访问速度慢的问题,影响用户访问。并且,由于使用单一数据库,数据库保存数据量过大,用户访问页面时,会大大增加数据库的计算压力,会导致数据访问超时,甚至会导致数据库崩溃。

【发明内容】

[0003]本发明提供了一种响应社区域名请求的方法、相关装置及系统,用于解决现有技术中的单站点响应单个域名的方式开发和维护成本较高的问题。
[0004]根据本发明的一个方面,提供了一种响应社区域名请求的方法,包括:
[0005]域名系统DNS接收用户访问社区域名的请求;DNS对社区域名进行解析,确定社区域名的地理方位属性;DNS将请求发送至与社区域名的地理方位属性对应的反向代理服务器;反向代理服务器在请求的标头中添加社区域名信息,并将添加域名信息后的请求发送到社区域名对应的社区服务器集群;反向代理服务器接收社区服务器集群中响应请求的社区服务器发送的与请求对应的社区数据,并将社区数据提供给用户。
[0006]其中,上述确定社区域名的地理方位属性包括:根据社区域名的解析结果以及请求中的配置文件确定社区域名所属的反向代理服务器位于南方城市或北方城市。
[0007]进一步地,上述方法还包括:为每个城市建立一个独立的数据库;将属于一个城市的社区信息保存在与该城市对应的数据库中。
[0008]进一步地,上述方法还包括:社区服务器接收到来自反向代理服务器的请求后,响应请求,根据请求标头中的社区域名信息判断当前访问的社区,从该社区所属的城市对应的数据库中获取请求对应的社区数据,将社区数据发送至反向代理服务器。[0009]根据本发明的另一个方面,提供了一种响应社区域名请求的装置,包括:
[0010]第一接收模块,用于接收用户访问社区域名的请求;解析模块,用于对请求中的社区域名进行解析,确定社区域名的地理方位属性;第一发送模块,用于将请求发送至与社区域名的地理方位属性对应的反向代理服务器。
[0011]其中,上述解析模块包括:确定单元,用于根据社区域名的解析结果以及请求中的配置文件确定社区域名所属的服务器位于南方城市或北方城市。
[0012]根据本发明的另一个方面,提供了一种提供社区数据的装置,包括:添加模块,用于在接收到的来自于域名系统DNS的用户请求标头中添加社区域名信息;第二发送模块,用于将添加域名信息后的请求发送到社区域名对应的社区服务器集群;第二接收模块,用于接收社区服务器集群中响应请求的社区服务器的与请求对应的社区数据;提供模块,用于将社区数据提供给用户。
[0013]进一步地,上述装置还包括:建立模块,用于为每个城市建立一个独立的数据库;保存模块,用于将属于一个城市的社区信息保存在与该城市对应的数据库中。
[0014]进一步地,上述装置还包括:获取模块,用于响应请求,根据请求标头中的域名参数值判断当前访问的社区,从该社区所属的城市对应的数据库中获取请求对应的数据;提供模块,用于将获取模块获取到的与请求对应的数据提供给反向代理服务器。
[0015]根据本发明的又一方面,提供一种响应社区域名请求的系统,系统包括上述提供社区数据的装置以及上述响应社区域名请求的装置。
[0016]本发明的响应社区域名请求的方法,与现有技术中的单站点响应单域名的方式相t匕,首先域名服务器将用户的域名请求发送至与域名地理方位属性对应的反向代理服务器,然后由反向代理服务器在用户请求中添加了社区域名信息,并将该请求发送至社区服务器集群,基于此,社区服务器集群中响应该请求的服务器即可以获知用户需访问的社区的域名信息,从而该社区服务器可以根据获取到的域名信息从数据库中提取用户所需的社区数据。也就是说由社区服务器集群中的服务器来响应用户的社区域名请求,避免了现有技术中直接将用户请求发送对应的网络服务器,从而仅仅可以由对应的网络服务器响应用户请求的问题,从而实现了单站点响应多域名的网络架构。同时,该网络架构避免了在一个城市开发部署多个站点进行访问响应的问题,便于快速部署站点,同时降低了站点的开发和维护成本。同时,将用户访问的域名发送至域名所属的服务器集群,由对应服务器进行响应,提高了异地访问速度。
【专利附图】

【附图说明】
[0017]图1是本发明的响应社区域名请求的方法的流程图;
[0018]图2是本发明的另一种响应社区域名请求的方法的流程图;
[0019]图3是本发明的响应社区域名请求装置的结构框图;
[0020]图4是本发明的提供社区数据的装置的结构框图。
【具体实施方式】
[0021]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本发明实施例作进一步详细的说明。[0022]图1是本发明的响应社区域名请求的方法的流程图。
[0023]如图1所示,该方法包括以下步骤:
[0024]步骤101 =DNS接收用户访问社区域名的请求;
[0025]步骤102 =DNS对社区域名进行解析,确定社区域名的地理方位属性;
[0026]步骤103 =DNS将用户请求发送至与社区域名的地理方位属性对应的反向代理服务器;
[0027]步骤104:反向代理服务器在请求的标头中添加社区域名信息,并将添加域名信息后的请求发送到社区域名对应的社区服务器集群;
[0028]步骤105:反向代理服务器接收社区服务器集群中响应请求的社区服务器发送的与请求对应的社区数据,并将社区数据提供给用户。
[0029]其中,上述步骤101以及步骤102,用户访问社区域名,在前端的DNS(Domain NameSystem,域名系统)对社区域名进行解析,并通过对比配置文件中的域名信息确定域名的地理方位属性。需要说明的是,此处的地理方位属性是域名所属的服务器属于南方城市或北方城市。
[0030]在上述步骤103中,DNS将用户的请求发送至与社区域名的地理方位属性对应的反向代理服务器,例如,当在上述步骤102中判断出命名对应的服务器属于南方城市,则将用户的访问请求指向南方的反向代理服务器;其中Ngnix是高性能的HTTP和反向代理服务器。Ngnix接收到该访问请求后,做以下处理:
[0031]在访问请求的header中增加domain参数,即社区域名信息,该参数表明当前访问的社区域名属性,加载rewrite规则,即地址重写规则,实现特定页面的伪静态访问效果。将静态页面缓存到内存中,从而快速地响应用户的访问请求,最后将动态页面的访问分离处理后,分发到后端的web服务器上。
[0032]在上述步骤104至105中,反向代理服务器根据预先设置的规则会命中社区服务器集群中对应的一台社区服务器,该规则可以按照负载均衡的资源分配规则,也可以按照业务类型规定的资源分配规则。
[0033]在上述步骤104后,社区服务器接收域名访问请求,页面响应访问请求后,首先加载公共基类,基类会根据header的domain参数值判断当前访问的社区,并从数据库中获取相关社区的公共属性。基类加载完成后,页面开始响应具体内容,根据基类中加载的社区信息,从数据库繁多的数据中读取与访问业务相关的本社区的数据,并展示给用户。
[0034]其中,为了解决由于使用单一数据库,数据库保存数据量过大,用户访问页面时,会大大增加数据库的计算压力,导致数据访问超时,甚至会导致数据库崩溃的问题,如图2所示,本发明的响应社区域名请求的方法还可以包括以下步骤:
[0035]步骤201:为每个城市建立一个独立的数据库;
[0036]步骤202:将属于同一个城市的社区信息保存在与该城市对应的数据库中,以保持数据的一致性;
[0037]步骤203 =DNS接收用户访问社区域名的请求;
[0038]步骤204 =DNS对社区域名进行解析,确定社区域名的地理方位属性;
[0039]步骤205 =DNS将用户请求发送至与社区域名的地理方位属性对应的反向代理服务器;[0040]步骤206:反向代理服务器在请求的标头中添加社区域名信息,并将添加域名信息后的请求发送到社区域名对应的社区服务器集群;
[0041]步骤207:反向代理服务器接收社区服务器集群中响应请求的社区服务器发送的与请求对应的社区数据,并将社区数据提供给用户。
[0042]如图2所示,上述步骤201和202这两个步骤在用户访问社区域名之前由社区服务器中的数据服务器执行,这样能够确保后续为用户提供数据时,可以从社区所属的城市的专用数据库中获取数据。基于此,上述根据社区域名参数为用户提供社区业务数据具体则可以包括以下步骤,步骤207:社区站点响应请求,根据请求标头中的域名参数值判断当前访问的社区,从该社区所属的城市对应的数据库中获取请求对应的数据,Web服务器为用户展示用户访问的社区数据内容。
[0043]本发明还提供了一种响应社区域名请求的装置,用于实现上述响应社区域名请求的方法。图3是本发明的响应社区域名请求装置的结构框图。如图3所示,该装置30包括以下组成部分:
[0044]第一接收模块31,用于接收用户访问社区域名的请求;
[0045]解析模块32,用于对社区域名进行解析,确定社区域名的地理方位属性;
[0046]第一发送模块33,用于将请求发送至与社区域名的地理方位属性对应的服务器集群。
[0047]其中,上述解析模块还可以包括:确定单元,用于根据域名请求中的配置文件以及域名解析的结果确定社区域名所属的服务器位于南方城市或北方城市,基于此,上述发送模块,可以将社区域名发送至南方反向代理服务器或北方反向代理服务器。
[0048]上述解析模块32、第一接收模块32以及第一发送模块33可以位于前端DNS中。
[0049]本发明还提供了一种提供社区数据的装置,图4是该响应社区域名请求的装置40的结构框图,如图4所示,该装置包括以下组成部分:
[0050]添加模块41,用于在所述请求的标头中添加所述社区域名参数;
[0051]第二发送模块42,用于将所述请求发送到所述社区域名对应的社区服务器集群。
[0052]第二接收模块43,用于接收社区服务器集群中响应请求的社区服务器的与请求对应的社区数据;
[0053]提供模块44,提供模块,用于将社区数据提供给用户。
[0054]上述添加模块41、第二发送模块42、第二接收模块43以及提供模块44可以位于反向代理服务器中。
[0055]鉴于现有技术使用单一数据库,数据库保存数据量过大,用户访问页面时,会大大增加数据库的计算压力,导致数据访问超时,甚至会导致数据库崩溃的问题,其中,上述装置40还可以包括:建立模块,用于为每个城市建立一个独立的数据库;保存模块,用于将属于一个城市的社区信息保存在与该城市对应的数据库中。
[0056]基于上述建立模块和保存模块,社区服务端还可以具有以下模块,获取模块,用于响应请求,根据请求标头中的域名参数值判断当前访问的社区,从该社区所属的城市对应的数据库中获取请求对应的数据;提供模块,用于将获取模块获取到的与域名请求对应的数据提供给反向代理服务器。其中,该获取模块以及提供模块可以是设置于社区服务器内的功能模块。[0057]本发明还提供了一种响应社区域名请求的系统,该系统包括以下组成部分:
[0058]第一接收模块,用于接收用户访问社区域名的请求;解析模块,用于对社区域名进行解析,确定社区域名的地理方位属性;第一发送模块,用于将请求发送至与社区域名的地理方位属性对应的反向代理服务器;添加模块,用于在请求的标头中添加社区域名信息;第二发送模块,用于将添加社区域名信息后的请求发送到社区域名对应的社区服务器集群;第二接收模块,用于接收社区服务器集群中响应请求的社区服务器返回的与请求对应的社区数据;提供模块,用于将社区数据提供给用户。
[0059]需要说明的是,该系统的各模块可以是位于不同实体中的功能模块,其中,第一接收模块以及第一发送模块可以是设置于前端DNS服务器中的功能模块,添加模块、第二发送模块、第二接收模块、提供模块以及添加模块可以是设置于反向代理服务器中的功能模块。
[0060]本发明的技术方案,由于用户的访问请求标头中添加其社区域名参数,从而可以根据所述社区域名参数为用户提供社区业务数据,实现了单站点响应多域名的网络架构。该网络架构避免了在一个城市开发部署多个站点进行访问响应的问题,便于快速部署站点,同时降低了站点的开发和维护成本。同时,将用户访问的域名发送至域名所属的服务器集群,由对应服务器进行响应,提高了异地访问速度。
[0061]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的 关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0062]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【权利要求】
1.一种响应社区域名请求的方法,其特征在于,包括: 域名系统DNS接收用户访问社区域名的请求; 所述DNS对所述社区域名进行解析,确定所述社区域名的地理方位属性; 所述DNS将所述请求发送至与所述社区域名的地理方位属性对应的反向代理服务器;所述反向代理服务器在所述请求的标头中添加所述社区域名信息,并将所述添加域名信息后的请求发送到所述社区域名对应的社区服务器集群; 所述反向代理服务器接收所述社区服务器集群中响应所述请求的社区服务器发送的与所述请求对应的社区数据,并将所述社区数据提供给所述用户。
2.根据权利要求1所述的方法,其特征在于,所述确定所述社区域名的地理方位属性包括: 根据所述社区域名的解析结果以及所述请求中的配置文件确定所述社区域名所属的反向代理服务器位于南方城市或北方城市。
3.根据权 利要求1所述的方法,其特征在于,所述方法还包括: 为每个城市建立一个独立的数据库; 将属于一个城市的社区信息保存在与该城市对应的数据库中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括: 所述社区服务器接收到来自所述反向代理服务器的所述请求后,响应所述请求,根据所述请求标头中的社区域名信息判断当前访问的社区,从该社区所属的城市对应的数据库中获取所述请求对应的社区数据,将所述社区数据发送至所述反向代理服务器。
5.一种响应社区域名请求的装置,其特征在于,包括: 第一接收模块,用于接收用户访问社区域名的请求; 解析模块,用于对所述请求中的社区域名进行解析,确定所述社区域名的地理方位属性; 第一发送模块,用于将所述请求发送至与所述社区域名的地理方位属性对应的反向代理服务器。
6.根据权利要求5所述的装置,其特征在于,所述解析模块包括: 确定单元,用于根据所述社区域名的解析结果以及所述请求中的配置文件确定所述社区域名所属的服务器位于南方城市或北方城市。
7.一种提供社区数据的装置,其特征在于,包括: 添加模块,用于在接收到的来自于域名系统DNS的用户请求标头中添加所述社区域名信息; 第二发送模块,用于将所述添加域名信息后的请求发送到所述社区域名对应的社区服务器集群; 第二接收模块,用于接收所述社区服务器集群中响应所述请求的社区服务器的与所述请求对应的社区数据; 提供模块,用于将所述社区数据提供给所述用户。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括: 建立模块,用于为每个城市建立一个独立的数据库; 保存模块,用于将属于一个城市的社区信息保存在与该城市对应的数据库中。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括: 获取模块,用于响应所述请求,根据所述请求标头中的域名参数值判断当前访问的社区,从该社区所属的城市对应的数据库中获取所述请求对应的数据; 提供模块,用于将所述获取模块获取到的与所述请求对应的数据提供给所述反向代理服务器。
10.一种响应社区域名请求的系统,其特征在于,所述系统包括如权利要求5以及权利要求7所述的装置。
【文档编号】H04L29/12GK103973819SQ201310030325
【公开日】2014年8月6日 申请日期:2013年1月25日 优先权日:2013年1月25日
【发明者】张熙, 董丁鑫 申请人:搜房媒体技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1