公开/公告号CN103973819A
专利类型发明专利
公开/公告日2014-08-06
原文格式PDF
申请/专利权人 搜房媒体技术(北京)有限公司;
申请/专利号CN201310030325.X
申请日2013-01-25
分类号H04L29/12(20060101);
代理机构11227 北京集佳知识产权代理有限公司;
代理人王宝筠
地址 100080 北京市海淀区中关村南大街46号南区服务楼14幢二层202室
入库时间 2023-12-17 01:29:34
法律状态公告日
法律状态信息
法律状态
2018-02-02
授权
授权
2014-09-03
实质审查的生效 IPC(主分类):H04L29/12 申请日:20130125
实质审查的生效
2014-08-06
公开
公开
技术领域
本发明涉及互联网领域,具体而言,涉及一种响应社区域名请求的方法、 相关装置及系统。
背景技术
社区网是在社区与计算机网络发展的基础上应运而生的,社区顾名思义 就是指一个城市的某个特定的区域,比如北京的中关村、上海的大唐盛世等, 都可以称为一个社区,为了社区内的人互相有个交流的平台,比如聊天、论 坛、二手货信息的发布、房屋出租出售等,那么正对某个社区就可以建立一 个社区网站,大家在社区网站上互相交换信息。不同的城市、不同的社区都 可以建立自己相对独立的社区网站,简称社区网。目前,社区网访问是单站 点响应单个域名,一个域名指向一个站点。或者通过二级域名指向同一站点。 首先,用户访问网站域名,域名服务器直接将网站访问请求发送到网站服务 器,网站服务器响应用户访问,返回用户请求的网站内容。由于域名服务器 直接将用户的请求发送到请求对应的网站服务器,因此只有网站服务器能够 响应该请求,这种网络架构属于单站点响应单域名的网络架构。针对这种网 络架构而言,对于同一个城市的多个社区,需要开发部署多个站点进行访问 响应,这样会加大站点开发和维护的成本。更加严重的是,由于单站点响应 单域名,与同一个城市的社区对应的站点只能部署在同一个城市,这样会导 致异地访问速度慢的问题,影响用户访问。并且,由于使用单一数据库,数 据库保存数据量过大,用户访问页面时,会大大增加数据库的计算压力,会 导致数据访问超时,甚至会导致数据库崩溃。
发明内容
本发明提供了一种响应社区域名请求的方法、相关装置及系统,用于解 决现有技术中的单站点响应单个域名的方式开发和维护成本较高的问题。
根据本发明的一个方面,提供了一种响应社区域名请求的方法,包括:
域名系统DNS接收用户访问社区域名的请求;DNS对社区域名进行解 析,确定社区域名的地理方位属性;DNS将请求发送至与社区域名的地理方 位属性对应的反向代理服务器;反向代理服务器在请求的标头中添加社区域 名信息,并将添加域名信息后的请求发送到社区域名对应的社区服务器集群; 反向代理服务器接收社区服务器集群中响应请求的社区服务器发送的与请求 对应的社区数据,并将社区数据提供给用户。
其中,上述确定社区域名的地理方位属性包括:根据社区域名的解析结 果以及请求中的配置文件确定社区域名所属的反向代理服务器位于南方城市 或北方城市。
进一步地,上述方法还包括:为每个城市建立一个独立的数据库;将属 于一个城市的社区信息保存在与该城市对应的数据库中。
进一步地,上述方法还包括:社区服务器接收到来自反向代理服务器的 请求后,响应请求,根据请求标头中的社区域名信息判断当前访问的社区, 从该社区所属的城市对应的数据库中获取请求对应的社区数据,将社区数据 发送至反向代理服务器。
根据本发明的另一个方面,提供了一种响应社区域名请求的装置,包括:
第一接收模块,用于接收用户访问社区域名的请求;解析模块,用于对 请求中的社区域名进行解析,确定社区域名的地理方位属性;第一发送模块, 用于将请求发送至与社区域名的地理方位属性对应的反向代理服务器。
其中,上述解析模块包括:确定单元,用于根据社区域名的解析结果以 及请求中的配置文件确定社区域名所属的服务器位于南方城市或北方城市。
根据本发明的另一个方面,提供了一种提供社区数据的装置,包括:添 加模块,用于在接收到的来自于域名系统DNS的用户请求标头中添加社区域 名信息;第二发送模块,用于将添加域名信息后的请求发送到社区域名对应 的社区服务器集群;第二接收模块,用于接收社区服务器集群中响应请求的 社区服务器的与请求对应的社区数据;提供模块,用于将社区数据提供给用 户。
进一步地,上述装置还包括:建立模块,用于为每个城市建立一个独立 的数据库;保存模块,用于将属于一个城市的社区信息保存在与该城市对应 的数据库中。
进一步地,上述装置还包括:获取模块,用于响应请求,根据请求标头 中的域名参数值判断当前访问的社区,从该社区所属的城市对应的数据库中 获取请求对应的数据;提供模块,用于将获取模块获取到的与请求对应的数 据提供给反向代理服务器。
根据本发明的又一方面,提供一种响应社区域名请求的系统,系统包括 上述提供社区数据的装置以及上述响应社区域名请求的装置。
本发明的响应社区域名请求的方法,与现有技术中的单站点响应单域名 的方式相比,首先域名服务器将用户的域名请求发送至与域名地理方位属性 对应的反向代理服务器,然后由反向代理服务器在用户请求中添加了社区域 名信息,并将该请求发送至社区服务器集群,基于此,社区服务器集群中响 应该请求的服务器即可以获知用户需访问的社区的域名信息,从而该社区服 务器可以根据获取到的域名信息从数据库中提取用户所需的社区数据。也就 是说由社区服务器集群中的服务器来响应用户的社区域名请求,避免了现有 技术中直接将用户请求发送对应的网络服务器,从而仅仅可以由对应的网络 服务器响应用户请求的问题,从而实现了单站点响应多域名的网络架构。同 时,该网络架构避免了在一个城市开发部署多个站点进行访问响应的问题, 便于快速部署站点,同时降低了站点的开发和维护成本。同时,将用户访问 的域名发送至域名所属的服务器集群,由对应服务器进行响应,提高了异地 访问速度。
附图说明
图1是本发明的响应社区域名请求的方法的流程图;
图2是本发明的另一种响应社区域名请求的方法的流程图;
图3是本发明的响应社区域名请求装置的结构框图;
图4是本发明的提供社区数据的装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图 和具体实施方式对本发明实施例作进一步详细的说明。
图1是本发明的响应社区域名请求的方法的流程图。
如图1所示,该方法包括以下步骤:
步骤101:DNS接收用户访问社区域名的请求;
步骤102:DNS对社区域名进行解析,确定社区域名的地理方位属性;
步骤103:DNS将用户请求发送至与社区域名的地理方位属性对应的反 向代理服务器;
步骤104:反向代理服务器在请求的标头中添加社区域名信息,并将添 加域名信息后的请求发送到社区域名对应的社区服务器集群;
步骤105:反向代理服务器接收社区服务器集群中响应请求的社区服务 器发送的与请求对应的社区数据,并将社区数据提供给用户。
其中,上述步骤101以及步骤102,用户访问社区域名,在前端的DNS (Domain Name System,域名系统)对社区域名进行解析,并通过对比配置 文件中的域名信息确定域名的地理方位属性。需要说明的是,此处的地理方 位属性是域名所属的服务器属于南方城市或北方城市。
在上述步骤103中,DNS将用户的请求发送至与社区域名的地理方位属 性对应的反向代理服务器,例如,当在上述步骤102中判断出命名对应的服 务器属于南方城市,则将用户的访问请求指向南方的反向代理服务器;其中 Ngnix是高性能的HTTP和反向代理服务器。Ngnix接收到该访问请求后,做 以下处理:
在访问请求的header中增加domain参数,即社区域名信息,该参数表 明当前访问的社区域名属性,加载rewrite规则,即地址重写规则,实现特定 页面的伪静态访问效果。将静态页面缓存到内存中,从而快速地响应用户的 访问请求,最后将动态页面的访问分离处理后,分发到后端的web服务器上。
在上述步骤104至105中,反向代理服务器根据预先设置的规则会命中 社区服务器集群中对应的一台社区服务器,该规则可以按照负载均衡的资源 分配规则,也可以按照业务类型规定的资源分配规则。
在上述步骤104后,社区服务器接收域名访问请求,页面响应访问请求 后,首先加载公共基类,基类会根据header的domain参数值判断当前访问 的社区,并从数据库中获取相关社区的公共属性。基类加载完成后,页面开 始响应具体内容,根据基类中加载的社区信息,从数据库繁多的数据中读取 与访问业务相关的本社区的数据,并展示给用户。
其中,为了解决由于使用单一数据库,数据库保存数据量过大,用户访 问页面时,会大大增加数据库的计算压力,导致数据访问超时,甚至会导致 数据库崩溃的问题,如图2所示,本发明的响应社区域名请求的方法还可以 包括以下步骤:
步骤201:为每个城市建立一个独立的数据库;
步骤202:将属于同一个城市的社区信息保存在与该城市对应的数据库 中,以保持数据的一致性;
步骤203:DNS接收用户访问社区域名的请求;
步骤204:DNS对社区域名进行解析,确定社区域名的地理方位属性;
步骤205:DNS将用户请求发送至与社区域名的地理方位属性对应的反 向代理服务器;
步骤206:反向代理服务器在请求的标头中添加社区域名信息,并将添 加域名信息后的请求发送到社区域名对应的社区服务器集群;
步骤207:反向代理服务器接收社区服务器集群中响应请求的社区服务 器发送的与请求对应的社区数据,并将社区数据提供给用户。
如图2所示,上述步骤201和202这两个步骤在用户访问社区域名之前 由社区服务器中的数据服务器执行,这样能够确保后续为用户提供数据时, 可以从社区所属的城市的专用数据库中获取数据。基于此,上述根据社区域 名参数为用户提供社区业务数据具体则可以包括以下步骤,步骤207:社区 站点响应请求,根据请求标头中的域名参数值判断当前访问的社区,从该社 区所属的城市对应的数据库中获取请求对应的数据,Web服务器为用户展示 用户访问的社区数据内容。
本发明还提供了一种响应社区域名请求的装置,用于实现上述响应社区 域名请求的方法。图3是本发明的响应社区域名请求装置的结构框图。如图 3所示,该装置30包括以下组成部分:
第一接收模块31,用于接收用户访问社区域名的请求;
解析模块32,用于对社区域名进行解析,确定社区域名的地理方位属性;
第一发送模块33,用于将请求发送至与社区域名的地理方位属性对应的 服务器集群。
其中,上述解析模块还可以包括:确定单元,用于根据域名请求中的配 置文件以及域名解析的结果确定社区域名所属的服务器位于南方城市或北方 城市,基于此,上述发送模块,可以将社区域名发送至南方反向代理服务器 或北方反向代理服务器。
上述解析模块32、第一接收模块32以及第一发送模块33可以位于前端 DNS中。
本发明还提供了一种提供社区数据的装置,图4是该响应社区域名请求 的装置40的结构框图,如图4所示,该装置包括以下组成部分:
添加模块41,用于在所述请求的标头中添加所述社区域名参数;
第二发送模块42,用于将所述请求发送到所述社区域名对应的社区服务 器集群。
第二接收模块43,用于接收社区服务器集群中响应请求的社区服务器的 与请求对应的社区数据;
提供模块44,提供模块,用于将社区数据提供给用户。
上述添加模块41、第二发送模块42、第二接收模块43以及提供模块44 可以位于反向代理服务器中。
鉴于现有技术使用单一数据库,数据库保存数据量过大,用户访问页面 时,会大大增加数据库的计算压力,导致数据访问超时,甚至会导致数据库 崩溃的问题,其中,上述装置40还可以包括:建立模块,用于为每个城市建 立一个独立的数据库;保存模块,用于将属于一个城市的社区信息保存在与 该城市对应的数据库中。
基于上述建立模块和保存模块,社区服务端还可以具有以下模块,获取 模块,用于响应请求,根据请求标头中的域名参数值判断当前访问的社区, 从该社区所属的城市对应的数据库中获取请求对应的数据;提供模块,用于 将获取模块获取到的与域名请求对应的数据提供给反向代理服务器。其中, 该获取模块以及提供模块可以是设置于社区服务器内的功能模块。
本发明还提供了一种响应社区域名请求的系统,该系统包括以下组成部 分:
第一接收模块,用于接收用户访问社区域名的请求;解析模块,用于对 社区域名进行解析,确定社区域名的地理方位属性;第一发送模块,用于将 请求发送至与社区域名的地理方位属性对应的反向代理服务器;添加模块, 用于在请求的标头中添加社区域名信息;第二发送模块,用于将添加社区域 名信息后的请求发送到社区域名对应的社区服务器集群;第二接收模块,用 于接收社区服务器集群中响应请求的社区服务器返回的与请求对应的社区数 据;提供模块,用于将社区数据提供给用户。
需要说明的是,该系统的各模块可以是位于不同实体中的功能模块,其 中,第一接收模块以及第一发送模块可以是设置于前端DNS服务器中的功能 模块,添加模块、第二发送模块、第二接收模块、提供模块以及添加模块可 以是设置于反向代理服务器中的功能模块。
本发明的技术方案,由于用户的访问请求标头中添加其社区域名参数, 从而可以根据所述社区域名参数为用户提供社区业务数据,实现了单站点响 应多域名的网络架构。该网络架构避免了在一个城市开发部署多个站点进行 访问响应的问题,便于快速部署站点,同时降低了站点的开发和维护成本。 同时,将用户访问的域名发送至域名所属的服务器集群,由对应服务器进行 响应,提高了异地访问速度。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来 将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示 这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、 “包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系 列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明 确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有 的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素, 并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同 要素。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范 围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均 包含在本发明的保护范围内。
机译: 一种响应于来自与金融机构相关联的分支机构的客户请求而从金融机构向客户发行个性化金融交易卡的方法,一种用于响应于一个或多个分支机构中的客户卡订单而即时发行金融交易卡的系统与金融机构相关联的系统以及用于处理客户在与金融机构相关联的分支机构下的卡订单的系统
机译: 用于最佳地控制计算机网络上的计算机程序的兑现和转移的计算机系统和相关方法(57)专利:“用于最佳地控制计算机网络上的计算机程序的兑现和转移的计算机系统和相关方法”。一种计算机系统和相关方法,用于最佳地控制网络上计算机之间的计算机程序的存储和传输,并促进交互式程序的使用。根据该方法,应用程序作为多个单独且独立的机器可执行代码模块存储在第一计算机的非易失性存储器中。响应于通过网络连接传输的第二计算机的请求,第一计算机从所述机器可执行代码模块中检索选择的模块,并且仅从存储器中检索该选择的代码模块,并将通过网络连接选择的代码模块传输到第二计算机。
机译: 一种方法,用于从互联网访问请求流量,客户请求,请求系统和请求系统进行查询的流量中,使用由带有特定域名的Web服务器提供的公共服务器,使用相同的IP,在专用网络上的多个客户端中,选择在多个客户端上选择的设备的数量。共享IP的状态