掌桥专利:专业的专利平台
掌桥专利
首页

一种CDN网关区分同域名配置的方法及装置

文献发布时间:2023-06-19 19:27:02


一种CDN网关区分同域名配置的方法及装置

技术领域

本发明涉及软件开发领域,更具体地说,涉及一种CDN网关区分同域名配置的方法及装置。

背景技术

CDN是一种新型网络构建方式,依靠部署在边缘的缓存服务器,通过负载均衡技术将用户的访问调度到距离较近的边缘缓存服务器,从而提高用户的访问速度。网关作为CDN的重要组件,通过为被访问域名设置不同的配置文件,执行配置文件从而限制用户的访问行为。

现有技术中,CDN网关根据用户的访问域名匹配该域名的配置,通过配置处理请求,例如实施访问控制等。通常,不同的CDN客户的域名不同,配置自然不同。但是在融合CDN的背景下,存在一种特殊的场景,多个客户的CDN业务使用同一个域名。这种场景下,现有技术中仅通过域名匹配配置的方法无法满足不同客户不同配置的需求。

发明内容

本发明要解决的技术问题是提供一种CDN网关区分同域名配置的方法及装置,以解决当前CDN网关无法处理多客户相同业务域名的问题。本发明采用“域名+客户标识”的形式取代现有技术中只以域名作为关键字区分不同配置的方案,打破了CDN网关的同一域名只能有一个分频道配置的限制。在不改动原有域名查找逻辑的基础上,增加区分相同域名模块,从而扩展了网关对相同域名不同配置的支持能力。

具体来说,为了达到上述目的,本发明采取以下技术方案:

一种CDN网关区分同域名配置的方法,包括如下步骤:

S1:解析客户id配置;

S2:请求触发判断重合域名;

S3:查询重合域名配置。

优选的,S1具体包括:从客户id中解析出ip和域名,并将解析结果存储到重合域名映射表,重合域名映射表中以ip和域名作为关键字,对应的客户id为值。

优选的,S2具体包括:用户请求到达网关后,以请求进入的ip和域名作为索引查询重合域名映射表,如果未查询到值,则认为该域名不是重合域名,仍然按照原有网关逻辑处理请求;如果查询到值,则认为该域名是重合域名,查询值为客户id。

优选的,S3具体包括:扩展客户域名,将域名与客户id拼接起来作为重合域名标识,然后以域名和客户id拼接值作为关键字查询分频道配置,查询到分频道配置后,处理请求。

一种CDN网关区分同域名配置的装置,包括:

客户id解析模块,用于网关解析客户id配置;

重合域名查询模块,用于查询是否是重合域名;

重合域名配置查询模块,用于查询重合域名的配置。

优选的,客户id解析模块以客户id配置作为输入,最终输出一份重合域名映射表,用于标识不同客户的相同域名,映射表以ip和域名拼接值作为索引,将客户id作为存储值。

优选的,重合域名查询模块的输入为服务器ip和请求域名,输出为客户id。

优选的,重合域名查询模块根据输入的服务器ip和请求域名查询重合域名映射表,如果查询到值说明请求域名是重合域名,并且输出查询到的值,即该域名的客户id。

优选的,重合域名配置查询模块的输入为域名和客户id,输出为对应的分频道配置。

优选的,重合域名配置查询模块将请求域名和客户id拼接起来,作为新的配置标识,查询对应的分频道配置。

本发明相对于现有技术的优点在于,通过本发明方法和装置,网关可以摆脱域名唯一分频道配置的局限性,为不同客户的相同域名设置不同的分频道配置,从而拓展了CDN能力,促进CDN业务的增长。

附图说明

图1是本发明CDN网关区分同域名配置的方法流程图;

图2是本发明CDN网关区分同域名配置的装置示意图;

图3是本发明CDN网关解析客户id配置的方法流程图;

图4是本发明解析客户id过程中解析后的存储方式示意图;

图5是本发明网关处理重合域名请求的方法的流程图。

具体实施方式

下面结合附图对本发明的具体实施方式作描述。

本发明提供一种CDN网关区分同域名配置的方法,此方法在识别域名配置前获得该域名所属的客户id(即每个客户的唯一标识),并通过“域名.客户id”区分不同客户的域名配置,以达到支持相同域名不同配置的目的。此方法如图1所示,包括三步:

第一步,解析客户id配置;

客户id配置是指标识相同域名对应的客户id的配置。本发明的前提是调度平台将不同客户的相同域名请求调度到不同的服务器,因此通过请求到达的服务器ip地址区分不同的客户。客户id配置的格式为“域名|ip客户id”,即域名和vip唯一标识客户id。

客户id配置由配置平台下发到网关,网关服务启动时解析客户id配置,并将解析结果存储到重合域名映射表,映射表中以ip和域名作为关键字,对应的客户id为值。

第二步,请求触发判断重合域名;

用户请求到达网关后,首先判断请求域名是否是重合域名。以请求进入的ip和域名作为索引查询重合映射表,如果未查询到值,则认为该域名不是重合域名,仍然按照原有网关逻辑处理请求;如果查询到值,表明该域名是重合域名,查询值为客户id。

第三步,查询重合域名配置;

普通域名的配置以域名作为标识,重合域名的配置以域名和客户id作为标识,因此查询重合域名配置前需要扩展客户域名,将域名与客户id拼接起来作为重合域名标识。然后以域名和客户id拼接值作为关键字查询分频道配置。查询到分频道配置后,处理请求。

本发明提出一种CDN网关区分同域名配置的装置,如图2所示,包含客户id解析模块,重合域名查询模块,域名配置查询模块。

客户id解析模块,用于网关解析客户id配置,该模块以客户id配置作为输入,最终输出一份重合域名映射表,用于标识不同客户的相同域名,映射表以ip和域名拼接值作为索引,将客户id作为存储值。

重合域名查询模块,用于查询是否是重合域名。该模块输入为服务器ip和请求域名,输出为客户id。通过查询重合域名映射表,如果查询到值说明是重合域名,并且输出查询到的值,即该域名的客户id。

重合域名配置查询模块,用于查询重合域名的配置。该模块输入为域名和客户id,输出为对应的分频道配置。将请求域名和客户id拼接起来,作为新的配置标识,查询对应的分频道配置。

更具体的,提供一种CDN网关解析客户id配置的方法,图3为该方法的流程示意图。

步骤一,读取客户id配置文件。客户id配置用来标识相同的域名属于哪个客户,本实施例通过用户请求到达的服务器的ip地址区分不同的客户,客户id配置中包含ip和域名以及对应的客户id,每个客户id配置条目格式为“ip|domain account_id”,ip为请求到达的服务器ip,domain为客户域名,account_id为客户id,ip和domain之前使用‘|’分隔,account_id与‘vip|domain’之间使用空格分开,不同客户id条目之间使用换行符“\n”分隔。本实施例中,客户id配置以配置文件的形式存储在特定的文件目录下,网关服务启动时加载改配置文件。

步骤二,逐行解析客户id配置。客户id配置支持泛域名配置,即域名中可包含通配符。解析后的存储方式如图4所示,以ip为关键字建立一个红黑树,值为一个散列表,散列表的关键字为域名,元素值为客户id。解析每一行客户id配置,首先分隔出ip,在存储ip的红黑树中查询是否有对应的节点,如果有节点,则在节点对应的散列表中添加一个元素,元素关键字为域名,元素为对应的account_id.如果没有查询到对应的节点,在红黑树中添加一个节点,节点关键字为ip,并新建一个散列表,向散列表中添加域名和account_id的元素。重复此过程,直至解析完配置文件最后一行条目。

本实施例提供一种网关处理重合域名请求的方法,图5是该方法的流程示意图:

步骤一,判断是否是重合域名。由于父层网关和边缘网关都需要支持重合域名,所以对于父层网关,如果边缘网关查询到是重合域名,则添加客户id头部。首先检查请求携带“account-id”请求头,如果携带该请求头,说明这条请求已经由边缘网关判断为是重合域名请求,直接使用头部“account-id”的值作为account_id。如果没有携带“account-id”请求头,则通过查询重合域名映射表判断是否是重合域名。获取请求到达的服务器ip,然后在红黑树中检索是否由该ip对应的节点,如果没有对应的节点,则该请求不是重合域名请求,跳到步骤三执行,如果有对应的节点,则取出节点中存储的散列表,以请求域名为关键字查询散列表中元素,如果未查询到元素,说明不是重合域名,跳到步骤三执行,如果查询到,元素值即为域名对应的account_id。

步骤二,扩展请求域名,将account_id的值拼接到请求域名的结尾,拼接方式为“domain.account_id”。

步骤三,查询域名配置,非重合域名使用请求域名查询分频道配置,重合域名使用拼接后的扩展域名查询分频道配置。

步骤四,根据域名分频道配置处理请求。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

相关技术
  • 一种通用网关配置方法及装置
  • 一种基于私人云盘的CDN加速服务控制方法及控制装置
  • 列车网关转发策略配置方法、装置及系统
  • 列车网关转发策略配置方法及装置
  • 列车网关转发策略配置方法及装置
  • 自动配置服务器的选择方法和系统、域名系统及家庭网关
  • 自动配置服务器的选择方法和系统、域名系统及家庭网关
技术分类

06120115917452