WO2016192214A1 - 一种端服务器部署方法及装置 - Google Patents

一种端服务器部署方法及装置 Download PDF

Info

Publication number
WO2016192214A1
WO2016192214A1 PCT/CN2015/087999 CN2015087999W WO2016192214A1 WO 2016192214 A1 WO2016192214 A1 WO 2016192214A1 CN 2015087999 W CN2015087999 W CN 2015087999W WO 2016192214 A1 WO2016192214 A1 WO 2016192214A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
target
network
users
coordinates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2015/087999
Other languages
English (en)
French (fr)
Inventor
尹浩
张旭
刘洪强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to US15/027,358 priority Critical patent/US10491693B2/en
Publication of WO2016192214A1 publication Critical patent/WO2016192214A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/0826Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/69Types of network addresses using geographic information, e.g. room number

Definitions

  • the present application relates to the field of Internet technologies, and in particular, to an end server deployment method and apparatus.
  • Some embodiments of the present application provide an end server deployment method for avoiding problems caused by deploying an end server only on a given candidate server site and considering only one target in the prior art, thereby improving the end server to the user.
  • the quality of service can improve the performance of users while saving the cost of deploying servers.
  • the application also provides an end server deployment device to ensure the implementation and application of the above method in practice.
  • the embodiment of the present application discloses a method for deploying an end server, including:
  • the target users are clustered according to user coordinates of the target user in the virtual geometric space to obtain a plurality of user groups;
  • the embodiment of the present application further discloses an end server deployment apparatus, including:
  • An obtaining module configured to obtain an IP address of a target user of the server to be deployed
  • mapping module configured to map the IP addresses of the target users into virtual geometric spaces
  • a clustering module configured to cluster the target users according to user coordinates of the target user in the virtual geometric space to obtain a plurality of user groups
  • determining a location module configured to determine, according to user coordinates of each target user in each user group, respective end server locations corresponding to the respective user groups.
  • the embodiment of the present application further discloses an apparatus for deploying an end server, including:
  • the memory stores program instructions that, when executed by the processor, cause the apparatus to perform the steps of:
  • the target users are clustered according to user coordinates of the target user in the virtual geometric space to obtain a plurality of user groups;
  • the embodiment of the present application also discloses a computer readable storage medium, the storage medium containing program instructions, when executed by a processor, causing a processor to perform the method in the present application.
  • the embodiments of the present application include the following advantages:
  • the embodiment of the present application since the IP addresses of the target users of all the server to be deployed are first mapped into a virtual geometric space, the coordinates of the user in the geometric space are used to cluster the users, and then according to the clustering. The subsequent user coordinates determine the location of each end server for each user group. It can be seen that the embodiment of the present application considers the geographical location characteristics of all users, that is, determines the location of the end server according to the geographic location and/or the network location of the user in the network service, so that an unknown end server with a better possible deployment location can be found, so that The performance of the end server deployment is better.
  • FIG. 2 is a structural block diagram of an embodiment of an end server deployment apparatus of the present application.
  • This application can be used in a variety of general purpose or special purpose computing device environments or configurations.
  • personal computer server computer, handheld or portable device, tablet type device, multi-processor device, distributed computing environment including any of the above devices or devices, and the like.
  • the application can be described in the general context of computer-executable instructions executed by a computer, such as a program module.
  • program modules include routines, programs, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types.
  • the present application can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are connected through a communication network.
  • program modules can be located in both local and remote computer storage media including storage devices.
  • An embodiment of the present application provides an end server positioning method, that is, an end server deployment method.
  • the location of the appropriate or even optimized end server is reversed from the location distribution of the user on the geographic and network.
  • the network service provider searches for locations and methods of previously unknown deployable servers.
  • the deployment method may be, for example, renting a third-party server, deploying a server room by itself, using a private network fiber to connect to a data center, or utilizing a virtual network function (NFV), and the like.
  • the network service provider can then obtain a set of candidate server deployment nodes, including the known end servers, and the end servers that were previously unknown and discovered based on the user distribution during the reverse push process.
  • FIG. 1 shows a flow chart of an end server deployment method in accordance with an example embodiment of the present application.
  • Step 101 Obtain an IP address of a target user of the server to be deployed.
  • step 101 first obtains the IP addresses of all target users of the server to be deployed, and then maps all the user's IP addresses into a virtual geometric space in step 102 to be described below, all The network nodes (including the user and the end server) are all points of the geometric space with certain coordinates, so the network distance between any two network nodes can be calculated by their corresponding coordinates in the virtual network space.
  • the target user may be determined by, for example, analyzing a log accessed by the user, or specifying a to-be-served area, and randomly sampling from each area to obtain a target user.
  • Step 102 Map the IP addresses of the target users into virtual geometric spaces.
  • Step 102 maps the IP addresses of the target users acquired in step 101 to the virtual geometric space S, respectively.
  • the virtual geometric space S can be, for example, a geographical space and a network space that are often used in network technology.
  • the two virtual geometric spaces respectively adopt Network Coordinate and geographic coordinates, wherein the geographic coordinates may be Geographical Coordinates.
  • step 102 may specifically include steps A1 to A2:
  • Step A1 Searching for the geographical location information corresponding to the IP address of each target user from the geographical location database, where the geographical relationship database stores the correspondence between the IP address and the geographical location information.
  • a geolocation database can be maintained in which a correspondence (mapping) between an IP address and geographic location information is stored. This correspondence can be obtained from a geolocation database such as an IP address. Then get the IP address of each target user After that, the corresponding geographical location information can be directly searched from the geographical location database. For example, if the IP address of the user is 202.112.14.128, the mapped geographic location information may include an area corresponding to the IP address, such as “Beijing Municipality”, and may also include latitude and longitude coordinates corresponding to the IP address, such as (56.8, 23.9), and so on.
  • Step A2 Determine user coordinates of the target user in the virtual geometric space according to the geographic location information.
  • the geographical location information found in step A1 is directly determined as the user coordinate of the target user in the virtual geometric space.
  • the step 102 may specifically include:
  • Step B1 Constructing a GNP algorithm by using a network space to map the IP addresses of the target users to network virtual coordinates.
  • a specific cyberspace construction algorithm is used to map from IP address to network virtual coordinates.
  • the specific mapping process is: assuming that there are a total of N users (ie, tag nodes) whose network delays are known to each other, and N is an integer greater than zero, firstly, the result of network delay measurement between the N tag nodes is first. Calculating the coordinates of the network space of the N marked nodes; then initiating the network delay measurement to all the nodes to be measured (ie, the target user) through the N marked nodes, and passing the measured result and the known N marks The network coordinates of the node calculate the network coordinates of all nodes to be measured.
  • Step B2 Determine the network virtual coordinates as user coordinates of the target user in the virtual geometric space.
  • mapping step B1 the network virtual coordinates obtained by mapping step B1 are determined as the user coordinates of the target user in the network space.
  • step 103 clustering the target users according to the user coordinates of the target user in the virtual geometric space to obtain a plurality of user groups.
  • the target users are clustered according to the user coordinates of the target user in the virtual geometric space S, that is, the relative distance between the users, thereby obtaining a plurality of user groups.
  • each target user will be classified into a user group. Since the users in a user group are close enough to each other, it is more convenient to find the location and distance of one or several end servers. All users of a certain user group are close enough.
  • Step 103 Cluster the target users according to the consistency of the network distance between the target users in the virtual geometric space and the actual distance, and the principle of the farthest user priority to obtain a plurality of user groups.
  • the virtual geometric space S is an approximate estimation of the real network space
  • the virtual distance in the geometric space S is directly used to estimate the actual distance or the estimation of the node position is error. Therefore, in the present embodiment, only the relative size information of the network distance provided by the geometric space S is used for user clustering, instead of directly using the absolute value of the network distance provided by the geometric space S for user clustering. Therefore, judging the pros and cons of the geometric space S in practical applications is not how accurate the geometric space S is to estimate the absolute value of the actual distance, but how good the geometric space S is.
  • the network distance between users can be represented by the network delay time between users. For example, user A sends a data packet to user B, and the time difference between the time when user B receives the data packet and the time when user A sends the data packet is the network delay time, that is, the network distance between user A and user B.
  • the consistency between the network distance and the actual distance may be: when the network distance between any two target users is greater than the network distance between the other two target users, the actual distance between the two other target users is also greater than the other two.
  • the actual distance between the target users For example, the network distance between the target users A and B is greater than the network distance between the target users C and D, and the actual distance between the target users A and B is also greater than the actual distance between the target users C and D, or
  • the network distance between the target users E and F is smaller than the network distance between the target users G and H, and the actual distance between the target users E and F is also smaller than the actual distance between the target users G and H.
  • the situation is called the consistency of the network distance and the actual distance. It can be seen that the consistency of the geometric space S is a prerequisite for consistency in all network nodes. The better the consistency of a virtual network space S, the better the performance of user clustering.
  • the principle of the farthest user priority can be: in any user group, the network distance is the most The network distance between the two distant target users is smaller than the preset cluster distance threshold, that is, the distance between any two target users in a user group is not greater than a preset cluster distance threshold Dmax.
  • the final clustering result is: ⁇ A, B, C ⁇ , ⁇ D ⁇ , that is, two user groups.
  • step 104 determining, according to user coordinates of each target user in each user group, respective end server locations corresponding to the respective user groups.
  • each end server location corresponding to each user group is determined according to the user coordinates of each target user in each user group.
  • the step may include steps C1 to C2:
  • Step C1 Acquire geographical location information of the target user in the virtual geometric space in each user group.
  • the geographic location information of the target user in the geometric space S is obtained first.
  • the geographic location information of user A is Beijing
  • the geographic location information of user B is Baoding.
  • Step C2 Determine the location of each end server corresponding to each user group according to the geographic location information of the target user.
  • the location of each end server corresponding to each user group is determined.
  • the location where the number of occurrences is the most can be determined as the location of the end server corresponding to the user group, and if the number of occurrences of the multiple locations is the same, the multiple locations are determined as the end server location corresponding to the user group. For example, suppose a user group has 10 target users, of which 5 target users are in Beijing, 3 target users are in Tianjin, and 2 targets. The user is in Baoding City, then the corresponding end server location is Beijing.
  • the step may include steps D1 to D4:
  • Step D1 Determine each central user of each user group, and each neighboring user set corresponding to each central user.
  • the neighboring user set includes: one or more users whose network distance from the central user is less than a preset distance threshold.
  • this step will find the central user of each user group.
  • the central user refers to the user with the smallest distance to other users in the user group.
  • the central user refers to the user with the smallest average distance to other users in the user group.
  • select N (where N is an integer greater than zero, and the specific value can be set by a person skilled in the art) the user closest to the central user in the user group, and form a corresponding set of adjacent users for each central user pair.
  • the neighboring user set may include: one or more users whose network distance from the central user is less than a preset distance threshold, wherein the preset distance threshold may also be set by a person skilled in the art.
  • Step D2 Determine the geographic location of each neighboring user in each of the neighboring users.
  • the network coordinates of each neighboring user are inversely mapped to the real geospatial, thereby obtaining the geographical location of each neighboring user in each neighboring user set. For example, determining which urban area each neighboring user is in, of course, it is also possible to use latitude and longitude information.
  • Step D3 The geographical location with the most frequent occurrence of each neighboring user is determined as the local location of the corresponding central user.
  • the most geographically-appearing location is determined as the geographic location of the central user corresponding to the neighboring user set. For example, for a neighboring user set, Beijing has the most occurrences, then Beijing is determined as the geographic location of the central user corresponding to the neighboring user set. Location, and if there are as many times as many cities appear, the multiple cities are identified as the geographic location of the central user.
  • Step D4 Determine, according to the pre-set deployment judgment principle, whether the geographic location of each central user is suitable for the deployment server, and if yes, determine the geographic location suitable for the deployment server as the candidate server location of the corresponding user group. .
  • the geographic location of each central user is suitable for the deployment server, and if so, the geographic location suitable for the deployment server is determined as the candidate server location of the corresponding user group, and finally Each user group will get a corresponding set of location of the candidate server. It can be understood that in the end server set of a certain user group, all newly discovered and prior known end servers are included that are close enough to the users of the user group.
  • each end server can also be planned, and after step 104, it can also include:
  • Step 105 Determine the capacity of each end server by using a pre-established unified integer linear programming ILP model.
  • how the capacity planning of the end server mainly determines the user group served by each end server node. That is, the requirements of the user's peer server resources, the relative location of the end server and the user, and the carrying capacity of the end server node itself are comprehensively modeled, and the final end server capacity is obtained by using integer linear programming (ILP).
  • ILP integer linear programming
  • each end server node has actual capacity limitations, and the price of the charge is not the same, and due to legal or policy restrictions in some areas, some end servers can only serve certain users. Therefore, after determining the set of candidate server nodes for each user group, the network service provider needs to find a solution for server capacity planning to decide how to use each end server node, including how large each end server node is. Quantity (ie how many users can be served). The goal of the plan is usually to enable end server nodes to serve more users and reduce the cost of using end server resources.
  • the sum of the number of users of all end server services should be no more than the total number of users in a user group, which can be expressed as the formula (1) shown below:
  • the overall deployment cost is the sum of the one-time cost and the resource usage cost of the end server, and there is the formula (6) shown below:
  • p s is the resource price of the service node s and c s is the starting use price of the service node s.
  • is greater than zero, a constant can be taken to weigh the relationship between the number of users and the cost of deployment.
  • the value of ⁇ g r g,s is the capacity of the end server node s, that is, how many users the end server node can serve.
  • the IP addresses of the target users of all the server to be deployed are first mapped into a virtual geometric space, the coordinates of the user in the geometric space are used to cluster the users, and then The clustered user coordinates are used to determine the location of each end server corresponding to each user group.
  • the embodiment of the present application considers the geographical location characteristics of all users, that is, determines the location of the end server according to the geographic location and network location of the user in the network service, so that an unknown end server with a better possible deployment location can be found, so that the end server The performance of the deployment is better; further, the cost of the deployment server and the user performance requirements can be comprehensively considered to comprehensively consider and deploy the server, while ensuring low cost and user performance.
  • the present invention further provides an embodiment of an end server deployment apparatus.
  • the obtaining module 201 is configured to obtain an IP address of a target user of the server to be deployed.
  • the mapping module 202 is configured to map the IP addresses of the target users into the virtual geometric space.
  • the mapping module 202 may include:
  • a search sub-module configured to search, according to a geographic location database, geographic location information corresponding to an IP address of each target user, where the geographic location database stores a correspondence between the IP address and the geographic location information; and, the first determiner And a module, configured to determine the geographic location information as user coordinates of the target user in the virtual geometric space.
  • the mapping of the virtual geometric space may be a network space, and the mapping module 202 may include:
  • mapping sub-module configured to use a network space to construct a GNP algorithm to map the IP addresses of the target users to network virtual coordinates respectively; and a third determining sub-module, configured to determine the network virtual coordinates as the target user User coordinates in the virtual geometric space.
  • the clustering module 203 is configured to cluster the target users according to the user coordinates of the target user in the virtual geometric space to obtain a plurality of user groups;
  • the clustering module 203 can be specifically configured to:
  • the target users are clustered according to the principle of the farthest user priority according to the consistency of the network distance between the target users in the virtual geometric space and the actual distance, to obtain a plurality of user groups; wherein the network
  • the consistency between the distance and the actual distance is: when the network distance between any two target users is greater than the network distance between the other two target users, the actual distance between the two target users is also greater than between the other two target users.
  • Actual distance The principle of the farthest user priority is: in any user group, the network distance between the two target users whose network distance is the farthest is less than the preset distance threshold.
  • the determining location module 204 is configured to determine respective end server locations corresponding to the respective user groups according to user coordinates of each target user in each user group.
  • the determining the location module may include:
  • Obtaining a sub-module configured to obtain geographic location information of the target user in the virtual geometric space in each user group; and, a second determining sub-module, configured to determine each end corresponding to each user group according to the geographic location information of the target user Server location.
  • the determining location module 204 may further include:
  • a fourth determining sub-module configured to determine each central user of each user group, and each neighboring user set corresponding to each central user, where the neighboring user set includes: one or more network distances from the central user are less than a preset a user of the distance threshold; a fifth determining sub-module, configured to determine a geographic location of each of the neighboring users in each of the neighboring users; and a sixth determining sub-module, configured to determine the geographical location with the most frequent occurrence of each of the neighboring users, and determine the corresponding a determining location sub-module, configured to determine, according to a pre-set deployment judgment principle, whether the geographic location of each central user is suitable for a deployment server; and a seventh determining sub-module for determining If the result of the sub-module is YES, the geographic location suitable for the deployment server is determined as the candidate server location of the corresponding user group.
  • the device may further comprise:
  • a capacity module is determined for determining the capacity of each end server by using a pre-established unified integer linear programming ILP model.
  • the embodiment of the present application since the IP addresses of the target users of all the server to be deployed are first mapped into a virtual geometric space, the coordinates of the user in the geometric space are used to cluster the users, and then according to the clustering. The subsequent user coordinates determine the location of each end server for each user group. It can be seen that the embodiment of the present application considers the geographical location characteristics of all users, that is, determines the location of the end server according to the geographic location and network location of the user in the network service, so that an unknown end server with a better possible deployment location can be found, so that the end server The performance of the deployment is better; further, it can also consider the cost and use of the deployment server The performance requirements of the user are combined to consider and deploy the server, while ensuring low cost and user performance.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了一种端服务器部署方法及装置,所述方法包括:获取待部署端服务器的目标用户的IP地址;将所述目标用户的IP地址分别映射到虚拟几何空间中;根据所述目标用户在所述虚拟几何空间中的用户坐标,对所述目标用户进行聚类,以得到多个用户群;依据各个用户群中的各个目标用户的用户坐标,确定所述各个用户群对应的各个端服务器位置。

Description

一种端服务器部署方法及装置
相关申请的交叉引用
本申请要求2015年6月2日提交中国专利局、申请号为201510295684.7、发明名称为“一种端服务器部署方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及互联网技术领域,特别涉及一种端服务器部署方法及装置。
背景技术
目前,随着互联网的发展,越来越多的用户对网络服务的质量要求越来越高,而许多网络服务(如搜索引擎,在线视频服务,社交网络,端计算服务(Edge Computing等))都需要利用广泛分布于各个不同的地理和网络区域的端服务器来保证服务质量。因为网络服务质量高就要求服务器对其所服务的用户的网络延迟要足够小,而为了实现这一点,网络服务提供商必须要在离用户近的地方部署足够的端服务器资源。
但是发明人在研究过程中发现,目前已知的端服务器部署方法存在以下问题:仅仅在给定的候选服务器站点上部署端服务器,以及,仅仅针对单一目标进行优化,例如,仅仅考虑了服务器数量最小这一个方面。
发明内容
现有技术中,首先,如果仅仅在给定的候选服务器站点上部署端服务器,就缺乏发现未知的更好的端服务器站点的方法,这会导致网络服务提供商错过大量的提高网络延时、节约成本和改善用户性能的机会;其次,现有方法仅仅是对一个单一目标进行优化,但是却没有综合考虑 各种实际因素,提供一个权衡曲线来让网络服务提供商根据自己的现有情况(例如成本上限和用户性能要求等)来自行决定在哪里部署端服务器。
基于此,本申请所要解决的是上述问题中的一个或多个。本申请的一些实施例提供一种端服务器部署方法,用以尽量避免现有技术中仅仅在给定的候选服务器站点上以及仅仅考虑一个目标来部署端服务器导致的问题,从而提高端服务器对用户的服务质量,在改善用户性能的同时,还能节约部署端服务器的成本。
本申请还提供了一种端服务器部署装置,用以保证上述方法在实际中的实现及应用。
为了解决上述问题,本申请实施例公开了一种端服务器部署方法,包括:
获取待部署端服务器的目标用户的IP地址;
将所述目标用户的IP地址分别映射到虚拟几何空间中;
根据所述目标用户在所述虚拟几何空间中的用户坐标,对所述目标用户进行聚类,以得到多个用户群;
依据各个用户群中的各个目标用户的用户坐标,确定所述各个用户群对应的各个端服务器位置。
本申请实施例还公开了一种端服务器部署装置,包括:
获取模块,用于获取待部署端服务器的目标用户的IP地址;
映射模块,用于将所述目标用户的IP地址分别映射到虚拟几何空间中;
聚类模块,用于根据所述目标用户在所述虚拟几何空间中的用户坐标,对所述目标用户进行聚类,以得到多个用户群;
确定位置模块,用于依据各个用户群中的各个目标用户的用户坐标,确定所述各个用户群对应的各个端服务器位置。
本申请实施例还公开了一种端服务器的部署装置,包括:
存储器,和
处理器,
其中所述存储器存储有程序指令,所述程序指令当由所述处理器执行时使所述装置执行下述步骤:
获取待部署端服务器的目标用户的IP地址;
将所述目标用户的IP地址分别映射到虚拟几何空间中;
根据所述目标用户在所述虚拟几何空间中的用户坐标,对所述目标用户进行聚类,以得到多个用户群;
依据各个用户群中的各个目标用户的用户坐标,确定所述各个用户群对应的各个端服务器位置。
本申请实施例还公开了一种计算机可读存储介质,所述存储介质包含程序指令,所述程序指令当由处理器执行时,使处理器执行本申请中的方法。
与现有技术相比,本申请实施例包括以下优点:
在本申请实施例中,由于将所有待部署端服务器的目标用户的IP地址先映射到一个虚拟的几何空间中,进而参考用户在几何空间中的坐标来对用户进行聚类,进而根据聚类后的用户坐标来确定各个用户群对应的各个端服务器位置。可见本申请实施例考虑到了所有用户的地理位置特点,即,根据网络服务中用户的地理和/或网络位置来确定端服务器的位置,从而可以发现未知的可能部署位置更好的端服务器,使得端服务器部署的性能更好。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的端服务器部署方法实施例的流程图;
图2是本申请的端服务器部署装置实施例的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请的一个实施例提供一种端服务器定位方法,即端服务器部署方法。首先,从用户在地理和网络上的位置分布来反推适合的甚至是最优化的端服务器的位置。随后,围绕着这些被计算出来的理想的端服务器位置,网络服务提供商去搜索事先未知的可以部署端服务器的位置以及方法。其中,部署方法可以例如,租用第三方服务器,自己部署服务器机房,利用私有网络光纤连接数据中心,或者,利用虚拟网络功能服务(Network Function Virtualization,NFV),等等。然后网络服务提供商就可以得到一个候选端服务器部署节点的集合,其中包括了事先知道的端服务器,以及事先未知并在反推过程中根据用户分布而发现的端服务器。
下面结合图1对本申请实施例的端服务器部署方法进行描述。图1示出了根据本申请的示例实施例的一种端服务器部署方法的流程图。
步骤101:获取待部署端服务器的目标用户的IP地址。
在本步骤中,为了从用户的位置信息来反推出端服务器部署的合理位置,需要知道所有用户到所有端服务器的网络距离。但是,网络距离这种信息又是不可能完整得到的,因为在实际中无法控制数以百万计或者更多的用户来主动与端服务器进行网络延迟测量,而且在完成端服务器的部署和发现之前,用户本身没有办法测量与未知的端服务器之间的网络距离。因此,为了解决这个问题,步骤101先获取到所有待部署端服务器的目标用户的IP地址,然后在下面要描述的步骤102中将所有的用户的IP地址映射到一个虚拟的几何空间里,所有的网络节点(包括用户和端服务器)都是这个几何空间的一个有确定坐标的点,那么任意两个网络节点之间的网络距离就可以由它们在虚拟网络空间中相应的坐标计算获得。
可以通过例如分析用户访问的日志来确定目标用户,或者指定待服务区域,从各区域进行随机抽样得到目标用户。
步骤102:将所述目标用户的IP地址分别映射到虚拟几何空间中。
步骤102将在步骤101中获取到的目标用户的IP地址分别映射到虚拟的几何空间S中。虚拟几何空间S例如可以是网络技术中经常使用的地理位置空间和网络空间。这两种虚拟几何空间分别采用网络坐标(Network Coordinate)和地理位置坐标,其中,地理坐标可以为经纬度坐标(Geographical Coordinate)。
其中,如虚拟的几何空间为地理位置空间,即,虚拟几何空间的虚拟坐标为地理位置坐标,则步骤102具体可以包括步骤A1~步骤A2:
步骤A1:从地理位置数据库中查找各个目标用户的IP地址对应的地理位置信息,所述地理位置数据库中保存有IP地址和地理位置信息之间的对应关系。
例如,可以维护一个地理位置数据库,在该地理位置数据库中保存有IP地址与地理位置信息之间的对应关系(映射)。该对应关系可以从例如IP地址的地理位置数据库获得。那么在获取到各个目标用户的IP地址 之后,直接从该地理位置数据库中查找对应的地理位置信息即可。例如,用户的IP地址为:202.112.14.128,那么其映射出的地理位置信息可以包括该IP地址对应的区域,如“北京市”,也可以包括该IP地址对应的经纬度坐标,如(56.8,23.9),等等。
步骤A2:根据所述地理位置信息确定所述目标用户在所述虚拟几何空间中的用户坐标。
在本步骤中例如直接将步骤A1中查找到的地理位置信息确定为目标用户在虚拟几何空间中的用户坐标。
其中,如虚拟的几何空间为网络空间,即,虚拟几何空间的虚拟坐标为网络虚拟坐标,那么步骤102具体可以包括:
步骤B1:采用网络空间构建GNP算法将所述目标用户的IP地址分别映射为网络虚拟坐标。
例如,利用具体的网络空间构建算法(GNP)实现从IP地址到网络虚拟坐标的映射。具体的映射过程为:假设一共有N个已知其相互间的网络延迟的用户(即标记节点),N为大于零的整数,则首先通过这N个标记节点相互间的网络延迟测量的结果,计算出这N个标记节点的网络空间的坐标;然后通过这N个标记节点向所有的待测量节点(即目标用户)发起网络延迟测量,并通过该测量的结果和已知的N个标记节点的网络坐标计算出所有待测量节点的网络坐标。
步骤B2:将所述网络虚拟坐标确定为所述目标用户在所述虚拟几何空间中的用户坐标。
在本步骤中就将步骤B1映射得到的网络虚拟坐标确定为目标用户在网络空间中的用户坐标。
在得到虚拟几何空间中的用户坐标之后,接着进入步骤103:根据所述目标用户在所述虚拟几何空间中的用户坐标,对所述目标用户进行聚类,以得到多个用户群。
在本步骤中,会按照目标用户在虚拟几何空间S中的用户坐标,即,用户之间的相对距离来对目标用户进行聚类,从而得到多个用户群。在 进行用户聚类之后,每个目标用户最后会归入一个用户群,由于一个用户群中的用户已经相互离得足够近,这样就可以更方便的找出一个或者几个端服务器的位置同时距离某一个用户群的所有用户都足够近。
步骤103可以根据所述虚拟几何空间中目标用户之间的网络距离与实际距离的一致性,和,最远用户优先原则,对所述目标用户进行聚类,以得到多个用户群。
需要说明的是,在本实施例中,由于虚拟几何空间S是一个对现实网络空间的近似估计,直接利用几何空间S中的虚拟坐标进行实际距离的估算或者节点位置的估算都是有误差的,因此,在本实施例中仅仅利用几何空间S提供的网络距离的相对大小信息来进行用户聚类,而不是直接利用几何空间S提供的网络距离的绝对值进行用户聚类。因此,在实际应用中判断几何空间S的优劣标准就不是几何空间S对实际距离的估算的绝对值有多准确,而是几何空间S有多好的一致性。其中,可以理解的是,用户之间的网络距离可以采用用户之间的网络延迟时间来表示。例如,用户A向用户B发送了一个数据包,而用户B在接收到数据包的时间与用户A发送数据包的时间差即为网络延迟时间,也即用户A和用户B之间的网络距离。
因此,网络距离与实际距离的一致性可以为:任意两个目标用户之间的网络距离大于其他两个目标用户之间的网络距离时,该任意两个目标用户的实际距离也大于其他两个目标用户之间的实际距离。例如,目标用户A和B之间的网络距离大于目标用户C和D之间的网络距离,而目标用户A和B之间的实际距离也同样大于目标用户C和D之间的实际距离,或者,目标用户E和F之间的网络距离小于目标用户G和H之间的网络距离,而目标用户E和F之间的实际距离也小于目标用户G和H之间的实际距离,那么这种情况就称为网络距离与实际距离的一致性。可见,几何空间S的一致性是所有网络节点中一致性成立的前提,一个虚拟网络空间S的一致性越好,进行用户聚类的性能就越好。
其中,最远用户优先原则可以为:在任一个用户群中,网络距离最 远的两个目标用户之间的网络距离小于预先设置的聚类距离阈值,也即,一个用户群里面的任何两个目标用户之间的距离都不大于一个预先设置的聚类距离阈值Dmax。
具体的,步骤103进行用户聚类可以例如:假设一共有A,B,C,D四个用户,它们之间的距离分别是d[A,B]=d[A,C]=d[B,C]=2,d[A,D]=10,d[B,D]=12,d[C,D]=12,假设Dmax=5。首先可以随机选择一个用户,例如A。首先找到离A最远的用户D,由于d[A,D]>Dmax,所以可以将D单独放在一个新的类里面,而由于用户B和C到用户A的距离都小于Dmax,所以用户B和C将与用户A归为一类。最后的聚类结果是:{A,B,C}一类,{D}一类,即得到两个用户群。
接着进入步骤104:依据各个用户群中的各个目标用户的用户坐标,确定所述各个用户群对应的各个端服务器位置。
然后在得到各个用户群之后,根据各个用户群中各个目标用户的用户坐标,来确定各个用户群对应的各个端服务器位置。
其中,假设几何空间S为地理位置空间,那么本步骤可以包括步骤C1~步骤C2:
步骤C1:获取各个用户群中的目标用户在虚拟几何空间中的地理位置信息。
针对各个用户群,先获取到各个用户群中的目标用户在几何空间S中的地理位置信息。例如,用户A的地理位置信息为北京市,用户B的地理位置信息为保定市等。
步骤C2:依据目标用户的地理位置信息,确定各个用户群对应的各个端服务器位置。
然后依据目标用户的地理位置信息,确定出各个用户群对应的各个端服务器位置。可以将出现的次数最多的位置,确定为用户群对应的端服务器位置,而如果多个位置出现的次数一样多,则将该多个位置都确定为用户群对应的端服务器位置。例如,假设一个用户群有10个目标用户,其中,5个目标用户都在北京市,3个目标用户在天津市,2个目标 用户在保定市,那么对应的端服务器位置就是北京市。再例如,假设一个用户群中有5个目标用户,其中,2个目标用户的地理位置信息为天津市,2个目标用户的地理位置信息为保定市,1个目标用户的地理位置信息为北京市,那么可以确定该用户群对应两个端服务器位置,分别为天津市和保定市。
其中,假设几何空间S为网络空间,那么本步骤可以包括步骤D1~步骤D4:
步骤D1:确定各个用户群的各个中心用户,以及各个中心用户对应的各个邻近用户集,所述邻近用户集包括:一个或多个与所述中心用户的网络距离小于预设距离阈值的用户。
在用户聚类以后,本步骤会找出每个用户群的中心用户。在一个实施例中,中心用户指用户群中到其它用户的最大距离最小的用户,在另一实施例中,中心用户指用户群中到其它用户的平均距离最小的用户。找到中心用户后再在用户群中选择N(其中,N为大于零的整数,具体数值可以由本领域技术人员自主设置)个离中心用户最近的用户,形成每个中心用户对对应的邻近用户集。其中,邻近用户集可以包括:一个或多个与所述中心用户的网络距离小于预设距离阈值的用户,其中,该预设距离阈值也可以由本领域技术人员自主设置。
步骤D2:确定各个邻近用户集中各个邻近用户的地理位置。
将各个邻近用户的网络坐标反映射到真实的地理空间,从而得到各个邻近用户集中各个邻近用户的地理位置。例如,确定各个邻近用户在哪个市区,当然,也可以采用经纬度信息表示。
步骤D3:将每个邻近用户集中出现频率最多的地理位置,确定为对应的中心用户的地置位置。
在本步骤中,针对每一个邻近用户集,看在该邻近用户集中哪个地理位置出现的最多,然后将出现最多的地理位置确定为该邻近用户集对应的中心用户的地理位置。例如,针对一个邻近用户集,北京市出现的次数最多,那么就将北京市确定为该邻近用户集对应的中心用户的地理 位置,而如果多个城市出现的次数一样多,则将该多个城市都确定为中心用户的地理位置。
步骤D4:根据预先设置的部署判断原则,判断所述各个中心用户的地理位置是否适合部署端服务器,如果是,则将适合部署端服务器的地理位置分别确定为对应的用户群的候选端服务器位置。
在找到了中心节点的地理位置之后,可以会依次在这些地理位置寻找端服务器部署的可行性。例如,参考预先设置的部署判断原则,来判断各个中心用户的地理位置是否适合部署端服务器,如果是,则将适合部署端服务器的地理位置分别确定为对应的用户群的候选端服务器位置,最终每个用户群会得到一个对应的候选端服务器的位置集合。可以理解的是,在某个用户群的端服务器集合中,包含了所有离这个用户群的用户足够近的、新发现的和事先知道的端服务器。其中,在判断某个地理位置是否适合部署端服务器时,可以判断在这个地理位置有没有第三方机房,有没有云计算服务器,以及当地政策和网络光纤条件是否允许等等。具体判断原则本领域技术人员可以根据实际需求自主设置。
在确定端服务器的位置之后,可以理解的是,还可以对每个端服务器的容量进行规划,则还在步骤104之后还可以包括:
步骤105:采用预先建立的统一的整数线性规划ILP模型分别确定各个端服务器的容量。
在本实施例中,端服务器的容量规划主要如何决定每个端服务器节点所服务的用户群。即,将用户对端服务器资源的需求,端服务器与用户的相对位置以及端服务器节点自身的承载能力进行综合建模,利用整数线性规划(ILP)来得到最后的端服务器容量。
在实际应用中,由于每个端服务器节点都有实际容量限制,并且收费价格也不尽相同,而且由于一些地区的法律或者政策限制,一些端服务器只能服务于一些特定的用户。因此,在确定各个用户群的候选端服务器节点集合之后,网络服务商需要找到一个服务器容量规划的方案,来决定如何使用各个端服务器节点,包括每个端服务器节点有多大的容 量(即能够服务多少用户)。而该规划的目标通常是让端服务器节点能够服务于更多的用户,并且降低端服务器资源的使用成本。
在本实施例中,整数线性规划ILP模型的建模过程如表1所示:
表1
Figure PCTCN2015087999-appb-000001
具体的,在建模过程中,将所有具有相同候选端服务器集合的用户都归为一个用户组中,并用Sg来表示这个用户组,Ng表示用户组g中的用户个数,那么建模过程就需要最终计算出每个用户组中有多少用户被端服务器节点s服务器。
首先,所有端服务器服务的用户数目的总和应该不多于一个用户组中的用户总数,可以表示为如下所示的公式(一):
Figure PCTCN2015087999-appb-000002
   (一)
接着,用rg,s表示用户组g在端服务器节点s上使用的总容量,它要大于g在s上的实际用户数,则有如下所示的公式(二):
Figure PCTCN2015087999-appb-000003
   (二)
而对于端服务器节点s所能承受的最大用户并发数量,有如下所示的公式(三):
Figure PCTCN2015087999-appb-000004
   (三)
接着针对ys表示端服务器节点s是不是被使用了,ys为1意味着s被使用了,为0则意味着没有被使用,则有如下所示的公式(四)和(五):
Figure PCTCN2015087999-appb-000005
   (四)
Figure PCTCN2015087999-appb-000006
   (五)
而对于端服务器节点,总体的部署成本是使用端服务器的一次性成本和资源使用成本之和,则有如下所示的公式(六):
s(psgrg,s+csys)   (六)
其中,ps为服务节点s的资源价格,cs为服务节点s的起步使用价格。
最后,对于端服务器部署来说,目标就是最大化其能服务的用户数量,并且最小化部署成本,因此,有如下所示的格式(七):
max∑g,sng,s-η∑s(psgrg,s+csys)   (七)
其中,η大于零,可取一个常数,来权衡用户数量和部署成本之间的关系。
在计算得到公式一~七的解之后,∑grg,s的值即为端服务器节点s的容量,即,端服务器节点可以服务多少个用户。
可见,在本申请实施例中,由于将所有待部署端服务器的目标用户的IP地址先映射到一个虚拟的几何空间中,进而参考用户在几何空间中的坐标来对用户进行聚类,进而根据聚类后的用户坐标来确定各个用户群对应的各个端服务器位置。可见本申请实施例考虑到了所有用户的地理位置特点,即,根据网络服务中用户的地理和网络位置来确定端服务器的位置,从而可以发现未知的可能部署位置更好的端服务器,使得端服务器部署的性能更好;进一步的,还能够综合考虑部署端服务器的成本和用户性能需求,来综合考虑进而部署端服务器,同时保证了低成本和用户性能。
对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作 顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
与上述本申请一种端服务器部署方法实施例所提供的方法相对应,参见图2,本申请还提供了一种端服务器部署装置实施例,在本实施例中,该装置可以包括:
获取模块201,用于获取待部署端服务器的目标用户的IP地址。
映射模块202,用于将所述目标用户的IP地址分别映射到虚拟几何空间中。
其中,所述几何空间可以为地理位置空间,则所述映射模块202可以包括:
查找子模块,用于从地理位置数据库中查找各个目标用户的IP地址对应的地理位置信息,所述地理位置数据库中保存有IP地址和地理位置信息之间的对应关系;和,第一确定子模块,用于将所述地理位置信息确定为所述目标用户在所述虚拟几何空间中的用户坐标。
其中,所述虚拟几何空间可以为网络空间,所述映射模块202可以包括:
映射子模块,用于采用网络空间构建GNP算法将所述目标用户的IP地址分别映射为网络虚拟坐标;和,第三确定子模块,用于将所述网络虚拟坐标确定为所述目标用户在所述虚拟几何空间中的用户坐标。
聚类模块203,用于根据所述目标用户在所述虚拟几何空间中的用户坐标,对所述目标用户进行聚类,以得到多个用户群;
其中,所述聚类模块203,具体可以用于:
根据所述虚拟几何空间中目标用户之间的网络距离与实际距离的一致性,和,最远用户优先原则,对所述目标用户进行聚类,以得到多个用户群;其中,所述网络距离与实际距离的一致性为:任意两个目标用户之间的网络距离大于其他两个目标用户之间的网络距离时,该任意两个目标用户的实际距离也大于其他两个目标用户之间的实际距离;所述 最远用户优先原则为:在任一个用户群中,网络距离最远的两个目标用户之间的网络距离小于预先设置的距离阈值。
确定位置模块204,用于依据各个用户群中的各个目标用户的用户坐标,确定所述各个用户群对应的各个端服务器位置。
其中,所述确定位置模块可以包括:
获取子模块,用于获取各个用户群中的目标用户在虚拟几何空间中的地理位置信息;和,第二确定子模块,用于依据目标用户的地理位置信息,确定各个用户群对应的各个端服务器位置。
其中,确定位置模块204还可以包括:
第四确定子模块,用于确定各个用户群的各个中心用户,以及各个中心用户对应的各个邻近用户集,所述邻近用户集包括:一个或多个与所述中心用户的网络距离小于预设距离阈值的用户;第五确定子模块,用于确定各个邻近用户集中各个邻近用户的地理位置;第六确定子模块,用于将每个邻近用户集中出现频率最多的地理位置,确定为对应的中心用户的地置位置;判断子模块,用于根据预先设置的部署判断原则,判断所述各个中心用户的地理位置是否适合部署端服务器;和,第七确定子模块,用于在所述判断子模块的结果为是的情况下,将适合部署端服务器的地理位置分别确定为对应的用户群的候选端服务器位置。
其中,该装置还可以包括:
确定容量模块,用于采用预先建立的统一的整数线性规划ILP模型分别确定各个端服务器的容量。
在本申请实施例中,由于将所有待部署端服务器的目标用户的IP地址先映射到一个虚拟的几何空间中,进而参考用户在几何空间中的坐标来对用户进行聚类,进而根据聚类后的用户坐标来确定各个用户群对应的各个端服务器位置。可见本申请实施例考虑到了所有用户的地理位置特点,即,根据网络服务中用户的地理和网络位置来确定端服务器的位置,从而可以发现未知的可能部署位置更好的端服务器,使得端服务器部署的性能更好;进一步的,还能够综合考虑部署端服务器的成本和用 户性能需求,来综合考虑进而部署端服务器,同时保证了低成本和用户性能。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的端服务器部署方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (18)

  1. 一种端服务器的部署方法,该方法包括:
    获取待部署端服务器的目标用户的IP地址;
    将所述目标用户的IP地址分别映射到虚拟几何空间中;
    根据所述目标用户在所述虚拟几何空间中的用户坐标,对所述目标用户进行聚类,以得到多个用户群;
    依据各个用户群中的各个目标用户的用户坐标,确定所述各个用户群对应的各个端服务器位置。
  2. 根据权利要求1所述的方法,其中,所述虚拟几何空间为地理位置空间,所述将所述目标用户的IP地址分别映射到虚拟几何空间中,包括:
    从地理位置数据库中查找各个目标用户的IP地址对应的地理位置信息,所述地理位置数据库中保存有IP地址和地理位置信息之间的对应关系;
    将所述地理位置信息确定为所述目标用户在所述虚拟几何空间中的用户坐标。
  3. 根据权利要求2所述的方法,其中,依据各个用户群中的各个目标用户的用户坐标,确定所述各个用户群对应的各个端服务器位置,包括:
    获取各个用户群中的目标用户在虚拟几何空间中的地理位置信息;
    依据目标用户的地理位置信息,确定各个用户群对应的各个端服务器位置。
  4. 根据权利要求1所述的方法,其中,所述虚拟几何空间为网络空间,所述将所述目标用户的IP地址分别映射到虚拟几何空间中,包括:
    采用网络空间构建GNP算法将所述目标用户的IP地址分别映射为网络虚拟坐标;
    将所述网络虚拟坐标确定为所述目标用户在所述虚拟几何空间中的用户坐标。
  5. 根据权利要求4所述的方法,其中,所述依据各个用户群的各个目标用户的用户坐标,确定所述各个用户群对应的各个端服务器位置,包括:
    确定各个用户群的各个中心用户,以及各个中心用户对应的各个邻近用户集,所述邻近用户集包括:一个或多个与所述中心用户的网络距离小于预设距离阈值的用户;
    确定各个邻近用户集中各个邻近用户的地理位置;
    将每个邻近用户集中出现频率最多的地理位置,确定为对应的中心用户的地置位置;
    根据预先设置的部署判断原则,判断所述各个中心用户的地理位置是否适合部署端服务器,如果是,则将适合部署端服务器的地理位置分别确定为对应的用户群的候选端服务器位置。
  6. 根据权利要求4所述的方法,其中,所述根据所述目标用户在所述虚拟几何空间中的用户坐标对所述目标用户进行聚类,以得到多个用户群,包括:
    根据所述虚拟几何空间中目标用户之间的网络距离与实际距离的一致性,和,最远用户优先原则,对所述目标用户进行聚类,以得到多个用户群;
    其中,所述网络距离与实际距离的一致性为:任意两个目标用户之间的网络距离大于其他两个目标用户之间的网络距离时,该任意两个目标用户的实际距离也大于其他两个目标用户之间的实际距离;所述最远用户优先原则为:在任一个用户群中,网络距离最远的两个目标用户之间的网络距离小于预先设置的距离阈值。
  7. 根据权利要求1所述的方法,,还包括:
    采用预先建立的统一的整数线性规划ILP模型分别确定各个端服务器的容量。
  8. 一种端服务器部署装置,包括:
    获取模块,用于获取待部署端服务器的目标用户的IP地址;
    映射模块,用于将所述目标用户的IP地址分别映射到虚拟几何空间中;
    聚类模块,用于根据所述目标用户在所述虚拟几何空间中的用户坐标,对所述目标用户进行聚类,以得到多个用户群;
    确定位置模块,用于依据各个用户群中的各个目标用户的用户坐标,确定所述各个用户群对应的各个端服务器位置。
  9. 根据权利要求8所述的装置,其中,所述虚拟几何空间为地理位置空间,所述映射模块,包括:
    查找子模块,用于从地理位置数据库中查找各个目标用户的IP地址对应的地理位置信息,所述地理位置数据库中保存有IP地址和地理位置信息之间的对应关系;
    第一确定子模块,用于将所述地理位置信息确定为所述目标用户在所述虚拟几何空间中的用户坐标。
  10. 根据权利要求9所述的装置,其中,所述确定位置模块包括:
    获取子模块,用于获取各个用户群中的目标用户在虚拟几何空间中的地理位置信息;
    第二确定子模块,用于依据目标用户的地理位置信息,确定各个用户群对应的各个端服务器位置。
  11. 根据权利要求8所述的装置,其中,所述虚拟几何空间为网络空间,所述映射模块,包括:
    映射子模块,用于采用网络空间构建GNP算法将所述目标用户的IP地址分别映射为网络虚拟坐标;
    第三确定子模块,用于将所述网络虚拟坐标确定为所述目标用户在所述虚拟几何空间中的用户坐标。
  12. 根据权利要求11所述的装置,其中,所述确定位置模块,包括:
    第四确定子模块,用于确定各个用户群的各个中心用户,以及各个中心用户对应的各个邻近用户集,所述邻近用户集包括:一个或多个与所述中心用户的网络距离小于预设距离阈值的用户;
    第五确定子模块,用于确定各个邻近用户集中各个邻近用户的地理位置;
    第六确定子模块,用于将每个邻近用户集中出现频率最多的地理位置,确定为对应的中心用户的地置位置;
    判断子模块,用于根据预先设置的部署判断原则,判断所述各个中心用户的地理位置是否适合部署端服务器;
    第七确定子模块,用于在所述判断子模块的结果为是的情况下,将适合部署端服务器的地理位置分别确定为对应的用户群的候选端服务器位置。
  13. 根据权利要求11所述的装置,其中,所述聚类模块,具体用于:
    根据所述虚拟几何空间中目标用户之间的网络距离与实际距离的一致性,和,最远用户优先原则,对所述目标用户进行聚类,以得到多个用户群;
    其中,所述网络距离与实际距离的一致性为:任意两个目标用户之间的网络距离大于其他两个目标用户之间的网络距离时,该任意两个目标用户的实际距离也大于其他两个目标用户之间的实际距离;所述最远用户优先原则为:在任一个用户群中,网络距离最远的两个目标用户之间的网络距离小于预先设置的距离阈值。
  14. 根据权利要求8所述的装置,其中,还包括:
    确定容量模块,用于采用预先建立的统一的整数线性规划ILP模型分别确定各个端服务器的容量。
  15. 一种端服务器的部署装置,包括:
    存储器,和
    处理器,
    其中所述存储器存储有程序指令,所述程序指令当由所述处理器执行时使所述装置执行下述步骤:
    获取待部署端服务器的目标用户的IP地址;
    将所述目标用户的IP地址分别映射到虚拟几何空间中;
    根据所述目标用户在所述虚拟几何空间中的用户坐标,对所述目标用户进行聚类,以得到多个用户群;
    依据各个用户群中的各个目标用户的用户坐标,确定所述各个用户群对应的各个端服务器位置。
  16. 根据权利要求15所述的装置,其中所述程序指令当由所述处理器执行时还使所述装置执行权利要求2-7中任一项所述的步骤。
  17. 根据权利要求15所述的装置,其中所述装置包括个人计算机、服务器计算机、手持设备或便携式设备、平板型设备或多处理器装置。
  18. 一种计算机可读存储介质,所述存储介质包含程序指令,所述程序指令当由处理器执行时,使处理器执行权利要求1-7中任一项所述的方法。
PCT/CN2015/087999 2015-06-02 2015-08-25 一种端服务器部署方法及装置 Ceased WO2016192214A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/027,358 US10491693B2 (en) 2015-06-02 2015-08-25 Method and apparatus for deploying edge servers

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510295684.7A CN104935462B (zh) 2015-06-02 2015-06-02 一种端服务器部署方法及装置
CN201510295684.7 2015-06-02

Publications (1)

Publication Number Publication Date
WO2016192214A1 true WO2016192214A1 (zh) 2016-12-08

Family

ID=54122438

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/087999 Ceased WO2016192214A1 (zh) 2015-06-02 2015-08-25 一种端服务器部署方法及装置

Country Status (3)

Country Link
US (1) US10491693B2 (zh)
CN (1) CN104935462B (zh)
WO (1) WO2016192214A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116774946A (zh) * 2023-07-17 2023-09-19 广州华企联信息科技有限公司 基于云边融合的几何数据存储优化方法及系统

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104935462B (zh) 2015-06-02 2018-10-19 清华大学 一种端服务器部署方法及装置
CN109996240B (zh) * 2017-12-29 2022-07-01 中国移动通信集团甘肃有限公司 一种边缘数据中心动态堆砌配置方法及装置
CN108415048B (zh) * 2018-01-23 2021-10-22 武汉大学 基于空间聚类的大规模网络rtk定位方法及系统
CN109966736B (zh) * 2019-03-06 2022-08-16 绎谛数据科技(上海)有限公司 基于用户地理信息的服务器弹性部署方法、设备及计算机可读存储介质
US10939308B2 (en) * 2019-03-14 2021-03-02 Cisco Technology, Inc. Deploying network functions in a communication network based on geo-social network data
CN111130947B (zh) * 2019-12-30 2021-11-30 成都科来网络技术有限公司 一种基于服务验证的网络空间测绘方法
CN111610994B (zh) * 2020-05-20 2023-10-20 山东汇贸电子口岸有限公司 一种云数据中心的部署方法、装置、设备及存储介质
CN114375014B (zh) * 2021-12-29 2025-08-29 南京邮电大学 一种基于移动边缘计算的用户调度方法
CN114501467B (zh) * 2022-01-27 2025-07-25 南京邮电大学 一种移动边缘计算网络资源的快速规划方法
CN116760701B (zh) * 2023-07-03 2026-04-10 机械工业教育发展中心 面向服务型制造远程运维服务的边缘设备部署方法及系统
CN117915346B (zh) * 2024-01-22 2025-06-20 郑州轻工业大学 一种最少覆盖用户优先的启发式边缘基站部署方法
CN118972859B (zh) * 2024-10-17 2025-07-25 中科云达(北京)科技有限公司 一种边缘服务器选址部署方法及系统
CN119766677A (zh) * 2024-11-06 2025-04-04 中国电信股份有限公司技术创新中心 网络测量方法、装置、计算机设备和可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366108B2 (en) * 2000-10-09 2008-04-29 Telefonaktiebolaget Lm Ericsson (Publ) Network topologies
US20080180446A1 (en) * 2001-08-31 2008-07-31 Dan Gallivan System and method for reorienting clusters within a display
WO2014080304A2 (en) * 2012-11-21 2014-05-30 Telefonaktiebolaget L M Ericsson (Publ) Multi-objective server placement determination
CN104935462A (zh) * 2015-06-02 2015-09-23 清华大学 一种端服务器部署方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928485B1 (en) * 1999-08-27 2005-08-09 At&T Corp. Method for network-aware clustering of clients in a network
US20040059830A1 (en) * 2002-09-17 2004-03-25 Sockeye Networks, Inc. Network address space clustering employing topological groupings, distance measurements and structural generalization
US20040249939A1 (en) * 2003-05-23 2004-12-09 International Business Machines Corporation Methods and apparatus for dynamic and optimal server set selection
US7788400B2 (en) * 2003-09-19 2010-08-31 Hewlett-Packard Development Company, L.P. Utilizing proximity information in an overlay network
FR2860311B1 (fr) * 2003-09-30 2006-06-23 Cit Alcatel Methode d'allocation d'au moins une ressource dans un reseau de telecommunications multigranulaire
US7466656B2 (en) * 2004-10-26 2008-12-16 International Business Machines Corporation Method, apparatus and program storage device for efficient construction of network overlays through interconnection topology embedding
US7496663B2 (en) * 2005-08-29 2009-02-24 International Business Machines Corporation System and method for detecting status changes in a network using virtual coordinate mapping
US7948917B2 (en) * 2005-10-27 2011-05-24 Alcatel-Lucent Usa Inc. Routing internet communications using network coordinates
DE602006013405D1 (de) * 2006-02-21 2010-05-20 Microsoft Corp Topologieverwaltung in Peer-to-peer Datenverteilungswolken
CN101374249B (zh) * 2007-08-21 2011-08-17 彭亮 一种基于移动终端ip地址获取该终端的实时精确地理位置的方法
US8626949B2 (en) * 2007-09-27 2014-01-07 Microsoft Corporation Intelligent network address lookup service
CN101958830B (zh) * 2009-07-14 2014-03-12 中兴通讯股份有限公司 一种网络部署系统及其映射和数据转发方法
EP2500823A1 (de) * 2011-03-15 2012-09-19 Siemens Aktiengesellschaft Betrieb eines Datenverarbeitungsnetzes mit mehreren geografisch beabstandeten Datenzentren
US9026145B1 (en) * 2012-03-23 2015-05-05 Google Inc. Systems and methods for mapping IP-addresses to geolocations
US20130339100A1 (en) * 2012-06-15 2013-12-19 Exxonmobil Research And Engineering Company Decision support tool for operation of a facility
CN103428220B (zh) * 2013-08-23 2016-03-23 中国人民解放军理工大学 一种构建基于身份位置分离的虚拟重构泛在网体系架构的方法
CN103516547B (zh) * 2013-09-18 2017-06-27 华为技术有限公司 一种网络参数分配方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366108B2 (en) * 2000-10-09 2008-04-29 Telefonaktiebolaget Lm Ericsson (Publ) Network topologies
US20080180446A1 (en) * 2001-08-31 2008-07-31 Dan Gallivan System and method for reorienting clusters within a display
WO2014080304A2 (en) * 2012-11-21 2014-05-30 Telefonaktiebolaget L M Ericsson (Publ) Multi-objective server placement determination
CN104935462A (zh) * 2015-06-02 2015-09-23 清华大学 一种端服务器部署方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116774946A (zh) * 2023-07-17 2023-09-19 广州华企联信息科技有限公司 基于云边融合的几何数据存储优化方法及系统
CN116774946B (zh) * 2023-07-17 2024-01-05 广州华企联信息科技有限公司 基于云边融合的几何数据存储优化方法及系统

Also Published As

Publication number Publication date
US10491693B2 (en) 2019-11-26
CN104935462B (zh) 2018-10-19
US20170163745A1 (en) 2017-06-08
CN104935462A (zh) 2015-09-23

Similar Documents

Publication Publication Date Title
WO2016192214A1 (zh) 一种端服务器部署方法及装置
US9515889B2 (en) Geographic location system and method
CN104995870B (zh) 多目标服务器布局确定方法和装置
CN108256117B (zh) 用于识别与位置相关联的地点的方法、系统和存储介质
CN106537384B (zh) 使用指示用户位置的数据的逆向ip数据库
US20140343984A1 (en) Spatial crowdsourcing with trustworthy query answering
CN104506591B (zh) 一种基于最近共同路由器的目标ip地理位置定位方法
WO2016091174A1 (zh) 图数据的搜索方法和装置
KR102027892B1 (ko) 위치 기반 정보의 서버 제어 타일링을 위한 기술
TWI690230B (zh) 基於位置的業務實現方法和裝置
CN102246463A (zh) 网络设备的地理位置映射
WO2016101749A1 (zh) 一种通讯群组的配置方法和装置
CN104041133A (zh) 寻找无线网络接入点
JP6106911B2 (ja) コンテキスト信号に関して返される情報の精度の向上
CN104090927A (zh) 一种基于电子地图的划线搜索方法和装置
Tai et al. TrustGeo: Uncertainty-aware dynamic graph learning for trustworthy IP geolocation
Ding et al. A Street‐Level IP Geolocation Method Based on Delay‐Distance Correlation and Multilayered Common Routers
Wang et al. One-geo: client-independent ip geolocation based on owner name extraction
CN107659978B (zh) 用于识别无线接入点的方法与设备
WO2015192716A1 (zh) 一种基于电子地图的划线搜索方法和装置
CN104581633A (zh) 支持隐私保护的障碍空间内的区域最近邻查询系统及方法
Liu et al. Street-level landmark mining algorithm based on radar search
US20130130709A1 (en) Routing service for computation of a cross-street associated with a geographic location
Park An Efficient Scalable Spatial Data Search for Location-Aware Mobile Services.
CN110674843B (zh) 一种停车场实体的生成方法及系统

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 15027358

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15893870

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15893870

Country of ref document: EP

Kind code of ref document: A1