一种端服务器部署方法及装置的制造方法
【技术领域】
[0001] 本申请涉及互联网技术领域,特别涉及一种端服务器部署方法及装置。
【背景技术】
[0002] 目前,随着互联网的发展,越来越多的用户对网络服务的质量要求越来越高,而许 多网络服务(如搜索引擎,在线视频服务,社交网络,端计算服务EdgeComputing等)都需 要利用广泛分布于各个不同的地理和网络区域的端服务器来保证服务质量。因为网络服务 质量高就要求服务器对其所服务的用户的网络延迟要足够小,而为了实现这一点,网络服 务提供商必须要在离用户近的地方部署足够的端服务器资源。
[0003] 但是发明人在研宄过程中发现,目前已知的端服务器部署方法存在以下问题:仅 仅在给定的候选服务器站点上部署端服务器,以及,仅仅针对单一目标进行优化,例如,仅 仅考虑了服务器数量最小这一个方面。
【发明内容】
[0004] 现有技术中,首先,如果仅仅在给定的候选服务器站点上部署端服务器,就缺乏发 现未知的更好的端服务器站点的方法,这会导致网络服务提供商错过大量的提高网络延 时、节约成本和改善用户性能的机会;其次,现有方法仅仅是对一个单一目标进行优化,但 是却没有综合考虑各种实际因素,提供一个权衡曲线来让网络服务提供商根据自己的现有 情况(例如成本上限和用户性能要求等)来自行决定在哪里部署端服务器。
[0005] 基于此,本申请所要解决的技术问题是提供一种端服务器部署方法,用以尽量避 免现有技术中仅仅在给的的候选服务器站点上以及仅仅考虑一个目标来部署端服务器导 致的问题,从而提高端服务器对用户的服务质量,在改善用户性能的同时,还能节约部署端 服务器的成本。
[0006] 本申请还提供了一种端服务器部署装置,用以保证上述方法在实际中的实现及应 用。
[0007] 为了解决上述问题,本申请公开了一种端服务器部署方法,包括:
[0008] 获取待部署端服务器的目标用户的IP地址;
[0009] 将所述目标用户的IP地址分别映射到几何空间中;
[0010] 参考所述目标用户在所述几何空间中的用户坐标,对所述目标用户进行聚类,以 得到若干个用户群;
[0011] 依据各个用户群中的用户坐标,确定所述各个用户群对应的各个端服务器位置。
[0012] 本申请公开了一种端服务器部署装置,包括:
[0013] 获取模块,用于获取待部署端服务器的目标用户的IP地址;
[0014] 映射模块,用于将所述目标用户的IP地址分别映射到几何空间中;
[0015] 聚类模块,用于参考所述目标用户在所述几何空间中的用户坐标,对所述目标用 户进行聚类,以得到若干个用户群;
[0016] 确定位置模块,用于依据各个用户群中的用户坐标,确定所述各个用户群对应的 各个端服务器位置。
[0017] 与现有技术相比,本申请包括以下优点:
[0018] 在本申请实施例中,由于将所有待部署端服务器的目标用户的IP地址先映射到 一个虚拟的几何空间中,进而参考用户在几何空间中的坐标来对用户进行聚类,进而根据 聚类后的用户坐标来确定各个用户群对应的各个端服务器位置。可见本申请实施例考虑到 了所有用户的地理位置特点,即,根据网络服务中用户的地理和网络位置来确定端服务器 的位置,从而可以发现未知的可能部署位置更好的端服务器,使得端服务器部署的性能更 好;进一步的,还能够综合考虑部署端服务器的成本和用户性能需求,来综合考虑进而部署 端服务器,同时保证了低成本和用户性能。
[0019] 当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
【附图说明】
[0020] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其 他的附图。
[0021] 图1是本申请的端服务器部署方法实施例的流程图;
[0022] 图2是本申请的端服务器部署装置实施例的结构框图。
【具体实施方式】
[0023] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本申请保护的范围。
[0024] 本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务 器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备 的分布式计算环境等等。
[0025] 本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序 模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组 件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由 通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以 位于包括存储设备在内的本地和远程计算机存储介质中。
[0026] 本申请的发明人研宄发现,在实际应用中,端服务器定位,即在哪里部署端服务器 的核心思想是,从用户在地理和网络上的位置分布来反推适合的甚至是最优化的端服务器 的位置。随后,围绕着这些被计算出来的理想的端服务器位置,网络服务提供商去搜索事 先未知的可以部署端服务器的位置以及方法。其中,部署方法可以例如,租用第三方服务 器,自己部署服务器机房,利用私有网络光纤连接数据中心,或者,利用虚拟网络功能服务 (NetworkFunctionVirtualization,NFV),等等。然后网络服务提供商就可以得到一个候 选端服务器部署节点的集合,其中包括了事先知道的端服务器,以及事先未知并在反推过 程中根据用户分布而发现的端服务器。
[0027] 首先介绍发现候选端服务器部署节点的过程。参考图1,示出了本申请一种端服务 器部署方法实施例的流程图,本实施例可以包括以下步骤:
[0028] 步骤101 :获取待部署端服务器的目标用户的IP地址。
[0029] 在本步骤中,为了从用户的位置信息来反推出端服务器部署的合理位置,需要知 道所有用户到所有端服务器的网络距离。但是,网络距离这种信息又是不可能完整得到的, 因为在实际中无法控制数以百万计或者更多的用户来主动与端服务器进行网络延迟测量, 而且在完成端服务器的部署和发现之前,用户本身没有办法测量与未知的端服务器之间的 网络距离。因此,为了解决这个问题,本步骤先获取到所有待部署端服务器的目标用户的IP 地址,然后将所有的用户的IP地址映射到一个虚拟的几何空间里,所有的网络节点(包括 用户和端服务器)都是这个几何空间的一个有确定坐标的点,那么任意两个网络节点之间 的网络距离就可以由它们在虚拟网络空间中相应的坐标计算获得。
[0030] 步骤102 :将所述目标用户的IP地址分别映射到几何空间中。
[0031] 接着在本步骤中就将在步骤101中获取到的目标用户的IP地址分别映射到虚 拟的几何空间S中。在网络技术中,有两种虚拟坐标最经常被使用:网络坐标(Network Coordinate)和地理位置坐标,其中,地理坐标可以为经炜度坐标(Geographical Coordinate)〇
[0032] 其中,如虚拟的几何空间为地理位置空间,S卩,虚拟坐标为地理位置坐标,则步骤 102具体可以包括步骤A1~步骤A2 :
[0033] 步骤A1 :从预置的地理位置数据库中查找各个目标用户的IP地址对应的地理位 置信息,所述地理位置数据库中保存有IP地址和地理位置信息之间的对应关系。
[0034] 在本实施方式中,如果几何空间S是地理位置空间,那么可以利用IP地址的地理 位置数据库完成这个映射。在实际应用中,可以维护一个地理位置数据库,在该地理位置数 据库中保存有IP地址与地理位置信息之间的对应关系,那么在获取到各个目标用户的IP 地址之后,直接从该地理位置数据库中查找对应的地理位置信息即可。例如,用户的IP地 址为:202. 112. 14. 128,那么其映射出的地理位