CN103716402A - Selection system and method of servers - Google Patents
Selection system and method of servers Download PDFInfo
- Publication number
- CN103716402A CN103716402A CN201310751738.7A CN201310751738A CN103716402A CN 103716402 A CN103716402 A CN 103716402A CN 201310751738 A CN201310751738 A CN 201310751738A CN 103716402 A CN103716402 A CN 103716402A
- Authority
- CN
- China
- Prior art keywords
- server
- network distance
- common
- client
- servers
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000005259 measurement Methods 0.000 claims abstract description 54
- 239000013598 vector Substances 0.000 claims description 98
- 238000012545 processing Methods 0.000 claims description 17
- 238000005457 optimization Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000010187 selection method Methods 0.000 abstract description 7
- 238000001514 detection method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种服务器的选择系统,该系统包括中心服务器、普通服务器、地标服务器、客户端,其中,中心服务器用于接收客户端发送的服务请求信息,中心服务器包括网络距离测量模块和服务器选择模块,网络距离测量模块获取与客户端距离最近的K个普通服务器和K个普通服务器相关的网络距离信息,并更新中心服务器中的普通服务器地图信息,以获取K个普通服务器的负载信息,服务器选择模块根据网络距离信息、负载信息和域间流量进行全局优化选择。本发明的选择系统减少了ISP之间传输的流量,并且通过采用测量开销较少的网络距离预测算法,减少了服务器选择过程中的开销,从而提高了云服务的可扩展性。本发明还公开了一种服务器的选择方法。
The invention discloses a server selection system, the system includes a central server, an ordinary server, a landmark server, and a client, wherein the central server is used to receive service request information sent by the client, and the central server includes a network distance measurement module and a server Select the module, the network distance measurement module obtains the K common servers closest to the client and the network distance information related to the K common servers, and updates the common server map information in the central server to obtain the load information of the K common servers, The server selection module performs global optimal selection according to network distance information, load information and inter-domain traffic. The selection system of the present invention reduces the traffic transmitted between ISPs, and reduces the overhead in the server selection process by adopting a network distance prediction algorithm with less measurement overhead, thereby improving the scalability of cloud services. The invention also discloses a server selection method.
Description
技术领域technical field
本发明涉及计算机网络技术领域,尤其涉及一种服务器的选择系统和方法。The invention relates to the technical field of computer networks, in particular to a server selection system and method.
背景技术Background technique
目前,随着网络各个核心部门的业务量、访问量和数据流量的快速增长,使得其处理能力和计算强度也在相应增大,此时,单一服务器无法独立承担。虽然这种问题可以通过硬件升级得到解决,但是会造成高额的成本投入。这时,可通过负载均衡技术扩展现有网络设备和服务器的带宽,以增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性等。At present, with the rapid growth of the business volume, access volume and data flow of each core department of the network, its processing power and computing intensity are also increasing correspondingly. At this time, a single server cannot independently undertake it. Although this kind of problem can be solved by upgrading the hardware, it will cause high cost investment. At this time, the bandwidth of existing network devices and servers can be expanded through load balancing technology to increase throughput, strengthen network data processing capabilities, and improve network flexibility and availability.
目前,随着网络应用和用户数量的急速增加,网络距离预测技术的可扩展性越来越重要,可扩展性方面的主要影响因素有:网络坐标计算方法中地标的分布性,包括集中式地标和分布式地标;在非坐标距离预测方法中,额外代理节点的部署和相关服务器的支持等。At present, with the rapid increase in the number of network applications and users, the scalability of network distance prediction technology is becoming more and more important. The main factors affecting scalability are: the distribution of landmarks in network coordinate calculation methods, including centralized landmarks and distributed landmarks; in non-coordinate distance prediction methods, the deployment of additional proxy nodes and the support of related servers, etc.
由此可知,目前服务器的选择问题主要考虑了两个方面:(1)网络距离,例如,云服务商需要使用户能够在“最近”的位置快速得到所需的服务,降低端与端之间的延迟,提升用户服务质量;(2)服务器负载均衡,例如,服务器的负载需要在一定的承受范围之内,避免过载而退出服务的现象发生。但是,服务器的选择问题不仅只考虑上述两个方面,还需考虑其他方面,例如,域间传输流量、网络距离测量的开销等。因此,如何更加精确地、更加合理地选择服务器成为亟待解决的问题。It can be seen that the current server selection problem mainly considers two aspects: (1) Network distance, for example, cloud service providers need to enable users to quickly obtain the required services at the "nearest" location, reducing the distance between terminals and terminals. (2) Server load balancing, for example, the load of the server needs to be within a certain tolerance range to avoid the phenomenon of being overloaded and quitting the service. However, the server selection problem not only considers the above two aspects, but also other aspects, such as inter-domain transmission traffic, network distance measurement overhead, and so on. Therefore, how to select a server more accurately and reasonably has become an urgent problem to be solved.
发明内容Contents of the invention
本发明旨在至少解决上述技术问题之一。The present invention aims to solve at least one of the above-mentioned technical problems.
为此,本发明的第一个目的在于提出一种服务器的选择系统。该系统减少了ISP之间传输的流量,并且通过采用测量开销较少的网络距离预测算法,减少了服务器选择过程中的开销,从而提高了云服务的可扩展性。Therefore, the first object of the present invention is to propose a server selection system. The system reduces the traffic transmitted between ISPs, and by adopting a network distance prediction algorithm with less measurement overhead, it reduces the overhead in the server selection process, thereby improving the scalability of cloud services.
本发明的第二个目的在于提出一种服务器的选择方法。The second object of the present invention is to propose a server selection method.
为了实现上述目的,本发明第一方面实施例的服务器的选择系统,包括:中心服务器、普通服务器、地标服务器、客户端,其中,所述中心服务器,所述中心服务器用于接收所述客户端发送的服务请求信息,其中,所述中心服务器包括网络距离测量模块和服务器选择模块,所述网络距离测量模块用于获取与所述客户端距离最近的K个所述普通服务器和所述K个普通服务器相关的网络距离信息,并更新所述中心服务器中的普通服务器地图信息,以获取所述K个普通服务器的负载信息,所述服务器选择模块用于根据所述网络距离信息、所述负载信息和域间流量进行全局优化选择。In order to achieve the above purpose, the server selection system of the embodiment of the first aspect of the present invention includes: a central server, a common server, a landmark server, and a client, wherein the central server is used to receive the client The service request information sent, wherein the central server includes a network distance measurement module and a server selection module, and the network distance measurement module is used to obtain the K common servers and the K servers closest to the client. network distance information related to common servers, and update the common server map information in the central server to obtain the load information of the K common servers, and the server selection module is used for according to the network distance information, the load Global optimization selection for information and inter-domain traffic.
根据本发明实施例的服务器的选择系统,通过中心服务器接收客户端发送的服务请求信息之后,中心服务器中的网络距离测量模块获取与客户端距离最近的K个普通服务器和K个普通服务器相关的网络距离信息,并获取K个普通服务器的负载信息,中心服务器中的服务器选择模块根据网络距离信息、负载信息和域间流量进行全局优化选择,从而可选择出最优的普通服务器为客户端提供服务,通过在服务器选择模块中设置域间流量惩罚系数以平衡普通服务器与客户端之间的网络距离、和ISP之间传输的流量在服务器选择过程中所占的比重,在不损耗全局网络距离预测精确度的前提下减少ISP之间传输的流量,缓解网络服务运营商的压力,并且,在网络距离测量模块中采用了测量开销较少的网络距离预测算法,减少了服务器选择过程中的开销,从而提高了云服务的可扩展性。According to the server selection system of the embodiment of the present invention, after the central server receives the service request information sent by the client, the network distance measurement module in the central server obtains the K common servers and the K common servers that are closest to the client. The network distance information and the load information of K ordinary servers are obtained. The server selection module in the central server performs global optimization selection according to the network distance information, load information and inter-domain traffic, so that the optimal ordinary server can be selected to provide the client with Service, by setting the inter-domain traffic penalty coefficient in the server selection module to balance the network distance between ordinary servers and clients, and the proportion of traffic transmitted between ISPs in the server selection process, without loss of global network distance On the premise of prediction accuracy, reduce the traffic transmitted between ISPs, relieve the pressure of network service operators, and use a network distance prediction algorithm with less measurement overhead in the network distance measurement module, which reduces the overhead in the server selection process , thus improving the scalability of cloud services.
为了实现上述目的,本发明第二方面实施例的服务器的选择方法,包括以下步骤:S1,中心服务器接收客户端发送的服务请求信息,其中,所述中心服务器包括网络距离测量模块和服务器选择模块;S2,所述网络距离测量模块获取与所述客户端距离最近的K个普通服务器和所述K个普通服务器相关的网络距离信息;S3,所述网络距离测量模块更新所述中心服务器中的普通服务器地图信息,以获取所述K个普通服务器的负载信息;以及S4,服务器选择模块根据所述网络距离信息、所述负载信息和域间流量进行全局优化选择。In order to achieve the above object, the server selection method of the second embodiment of the present invention includes the following steps: S1, the central server receives the service request information sent by the client, wherein the central server includes a network distance measurement module and a server selection module ; S2, the network distance measurement module acquires the K common servers closest to the client and the network distance information related to the K common servers; S3, the network distance measurement module updates the central server Common server map information, to obtain the load information of the K common servers; and S4, the server selection module performs global optimal selection according to the network distance information, the load information and inter-domain traffic.
根据本发明实施例的服务器的选择方法,当中心服务器接收客户端发送的服务请求信息之后,中心服务器中的网络距离测量模块获取与客户端距离最近的K个普通服务器和K个普通服务器相关的网络距离信息,并获取K个普通服务器的负载信息,中心服务器中的服务器选择模块根据网络距离信息、负载信息和域间流量进行全局优化选择,从而可选择出最优的普通服务器为客户端提供服务,通过在服务器选择模块中设置域间流量惩罚系数以平衡普通服务器与客户端之间的网络距离、和ISP之间传输的流量在服务器选择过程中所占的比重,在不损耗全局网络距离预测精确度的前提下减少ISP之间传输的流量,缓解网络服务运营商的压力,并且,在网络距离测量模块中采用了测量开销较少的网络距离预测算法,减少了服务器选择过程中的开销,从而提高了云服务的可扩展性。According to the server selection method of the embodiment of the present invention, after the central server receives the service request information sent by the client, the network distance measurement module in the central server obtains the K common servers and the K common servers that are closest to the client. The network distance information and the load information of K ordinary servers are obtained. The server selection module in the central server performs global optimization selection according to the network distance information, load information and inter-domain traffic, so that the optimal ordinary server can be selected to provide the client with Service, by setting the inter-domain traffic penalty coefficient in the server selection module to balance the network distance between ordinary servers and clients, and the proportion of traffic transmitted between ISPs in the server selection process, without loss of global network distance On the premise of prediction accuracy, reduce the traffic transmitted between ISPs, relieve the pressure of network service operators, and use a network distance prediction algorithm with less measurement overhead in the network distance measurement module, which reduces the overhead in the server selection process , thus improving the scalability of cloud services.
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。Additional aspects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention.
附图说明Description of drawings
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,The above and/or additional aspects and advantages of the present invention will become apparent and easy to understand from the following description of the embodiments in conjunction with the accompanying drawings, wherein,
图1是根据本发明一个实施例的服务器的选择系统的组成模块图;FIG. 1 is a block diagram of a server selection system according to an embodiment of the present invention;
图2是根据本发明一个实施例的服务器的选择系统的结构示意图;FIG. 2 is a schematic structural diagram of a server selection system according to an embodiment of the present invention;
图3是根据本发明一个实施例的服务器的选择方法的流程图;Fig. 3 is a flowchart of a method for selecting a server according to an embodiment of the present invention;
图4是根据本发明一个实施例的对普通服务器进行分簇的流程图;FIG. 4 is a flow chart of clustering common servers according to an embodiment of the present invention;
图5是根据本发明一个实施例的获取与客户端距离最近的K个普通服务器及其相关的网络距离信息的流程图;以及Fig. 5 is a flow chart of acquiring the K common servers closest to the client and their related network distance information according to one embodiment of the present invention; and
图6是根据本发明一个实施例的服务器的选择方法的实体关系图。Fig. 6 is an entity relationship diagram of a method for selecting a server according to an embodiment of the present invention.
具体实施方式Detailed ways
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。Embodiments of the present invention are described in detail below, examples of which are shown in the drawings, wherein the same or similar reference numerals designate the same or similar elements or elements having the same or similar functions throughout. The embodiments described below by referring to the figures are exemplary only for explaining the present invention and should not be construed as limiting the present invention. On the contrary, the embodiments of the present invention include all changes, modifications and equivalents coming within the spirit and scope of the appended claims.
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。In the description of the present invention, it should be understood that the terms "first", "second" and so on are used for descriptive purposes only, and cannot be interpreted as indicating or implying relative importance. In the description of the present invention, it should be noted that unless otherwise specified and limited, the terms "connected" and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral Ground connection; it can be mechanical connection or electrical connection; it can be direct connection or indirect connection through an intermediary. Those of ordinary skill in the art can understand the specific meanings of the above terms in the present invention in specific situations. In addition, in the description of the present invention, unless otherwise specified, "plurality" means two or more.
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。Any process or method descriptions in flowcharts or otherwise described herein may be understood to represent modules, segments or portions of code comprising one or more executable instructions for implementing specific logical functions or steps of the process , and the scope of preferred embodiments of the invention includes alternative implementations in which functions may be performed out of the order shown or discussed, including substantially concurrently or in reverse order depending on the functions involved, which shall It is understood by those skilled in the art to which the embodiments of the present invention pertain.
需要说明的是,本发明实施例的服务器的选择系统可以包括中心服务器、地标服务器、普通服务器、客户端四种网络节点,其中,如图1所示,中心服务器可具有地标服务器地图模块和普通服务器地图模块,普通服务器和客户端节点中分别具有地标服务器地图模块。本发明实施例的服务器的选择系统中实体定义如下,请求网络服务的网络用户可称为客户端,根据功能的不同,资源存储节点可分为三类:1、对各种信息进行集中管理和维护的服务器可称为中心服务器;2、作为网络距离测量的参考节点的服务器可称为地标服务器;3、为网络用户提供服务的服务器可称为普通服务器。It should be noted that the server selection system in the embodiment of the present invention may include four network nodes: a central server, a landmark server, an ordinary server, and a client. Wherein, as shown in FIG. The server map module, the normal server and the client node respectively have a landmark server map module. The entity definition in the server selection system of the embodiment of the present invention is as follows, the network user who requests the network service can be called the client, according to the difference of function, the resource storage node can be divided into three categories: 1, carry out centralized management to various information and The server maintained can be called the central server; 2. The server serving as a reference node for network distance measurement can be called a landmark server; 3. The server providing services for network users can be called an ordinary server.
还需要说明的是,本发明实施例的服务器的选择系统中,中心服务器是网络应用最核心的部分,可负责网络资源的管理、维护、分发和调度。通过中心服务器中的地标服务器地图模块和普通服务器地图模块在不同的地理区域部署地标服务器和普通服务器,并将地标服务器的部署信息发送到所有的普通服务器和请求服务的客户端。地标服务器可部署在不同的地理区域,数量固定,是网络应用中用来测量网络距离的参考节点。普通服务器可部署在不同的地理区域,用来缓存网络资源,为用户提供内容或者计算服务。It should also be noted that in the server selection system of the embodiment of the present invention, the central server is the core part of the network application, and can be responsible for the management, maintenance, distribution and scheduling of network resources. Deploy landmark servers and common servers in different geographic regions through the landmark server map module and common server map module in the central server, and send the deployment information of the landmark server to all common servers and clients requesting services. Landmark servers can be deployed in different geographic regions with a fixed number, and are reference nodes used to measure network distances in network applications. Ordinary servers can be deployed in different geographic regions to cache network resources and provide users with content or computing services.
下面参考附图描述根据本发明实施例的服务器的选择系统和方法。The system and method for selecting a server according to the embodiments of the present invention will be described below with reference to the accompanying drawings.
图2是根据本发明一个实施例的服务器的选择系统的结构示意图。Fig. 2 is a schematic structural diagram of a system for selecting a server according to an embodiment of the present invention.
下面将结合图1和图2对本发明实施例的服务器的选择系统进行详细描述。如图1和图2所示,该服务器的选择系统可以包括:中心服务器100、普通服务器200、地标服务器300和客户端400。The server selection system of the embodiment of the present invention will be described in detail below with reference to FIG. 1 and FIG. 2 . As shown in FIG. 1 and FIG. 2 , the server selection system may include: a central server 100 , an ordinary server 200 , a landmark server 300 and a client 400 .
具体地,中心服务器100用于接收客户端400发送的服务请求信息,其中,中心服务器100可包括网络距离测量模块110和服务器选择模块120,网络距离测量模块110用于获取与客户端400距离最近的K个普通服务器200和K个普通服务器200相关的网络距离信息,并更新中心服务器100中的普通服务器地图信息,以获取K个普通服务器200的负载信息,服务器选择模块120用于根据网络距离信息、负载信息和域间流量进行全局优化选择。Specifically, the central server 100 is used to receive the service request information sent by the client 400, wherein the central server 100 may include a network distance measurement module 110 and a server selection module 120, and the network distance measurement module 110 is used to obtain the closest distance to the client 400 K common servers 200 and K common server 200-related network distance information, and update the common server map information in the central server 100, to obtain the load information of K common servers 200, the server selection module 120 is used for according to the network distance Information, load information and inter-domain traffic for global optimization selection.
其中,在本发明一个实施例中,普通服务器地图信息可包括普通服务器200的标识、普通服务器200的IP(Internet Protocol,网络之间互连的协议)地址、普通服务器200的第一网络距离矢量、普通服务器200的负载信息等中的一种或多种,可以理解,普通服务器地图信息可存储于中心服务器100中的普通服务器地图模块中。此外,网络距离信息可理解为网络延迟,可通过网络距离预测方法获得,网络距离预测方法可包括网络坐标计算方法、非坐标距离预测方法等。Wherein, in one embodiment of the present invention, the general server map information may include the identification of the common server 200, the IP (Internet Protocol, a protocol for interconnection between networks) address of the common server 200, the first network distance vector of the common server 200 , load information of the common server 200, etc. It can be understood that the common server map information can be stored in the common server map module in the central server 100 . In addition, network distance information can be understood as network delay, which can be obtained through network distance prediction methods, and network distance prediction methods can include network coordinate calculation methods, non-coordinate distance prediction methods, and the like.
根据本发明的一个实施例,中心服务器100还用于:在接收客户端400发送的服务请求信息之前,根据预设频率更新普通服务器200中的第一地标服务器地图信息,并将更新后的第一地标服务器地图信息同步至中心服务器100中的普通服务器地图信息;对普通服务器200的第一网络距离矢量进行等级处理,以获得第一网络距离等级矢量;以及根据第一网络距离等级矢量对普通服务器200进行分簇。其中,在本发明的实施例中,第一地标服务器地图信息可包括地标服务器300的标识、地标服务器300的IP地址、普通服务器200与地标服务器300之间的网络距离等中的一种或多种。According to an embodiment of the present invention, the central server 100 is further configured to: before receiving the service request information sent by the client 400, update the map information of the first landmark server in the ordinary server 200 according to a preset frequency, and update the updated first landmark server map information A landmark server map information is synchronized to the common server map information in the central server 100; the first network distance vector of the common server 200 is graded to obtain the first network distance grade vector; The server 200 performs clustering. Wherein, in the embodiment of the present invention, the map information of the first landmark server may include one or more of the logo of the landmark server 300, the IP address of the landmark server 300, the network distance between the common server 200 and the landmark server 300, etc. kind.
也就是说,在本发明的实施例中,普通服务器200上的第一地标服务器地图模块会按照一定频率更新,然后将更新后的相关信息同步到中心服务器100上的普通服务器地图信息。中心服务器100上的网络距离测量模块110从普通服务器地图信息获取普通服务器200的第一网络距离矢量,并对普通服务器200的第一网络距离矢量进行等级处理。然后,以第一网络距离等级矢量为簇的标识对所有的普通服务器200进行分簇,这样普通服务器200被分到不同的簇内。其中,簇更新的频率和普通服务器200上的第一地标服务器地图信息更新的频率相同。That is to say, in the embodiment of the present invention, the map module of the first landmark server on the ordinary server 200 will be updated according to a certain frequency, and then the updated related information will be synchronized to the map information of the ordinary server on the central server 100 . The network distance measuring module 110 on the central server 100 obtains the first network distance vector of the common server 200 from the common server map information, and performs hierarchical processing on the first network distance vector of the common server 200 . Then, all common servers 200 are clustered by using the first network distance level vector as a cluster identifier, so that common servers 200 are divided into different clusters. Wherein, the update frequency of the cluster is the same as the update frequency of the map information of the first landmark server on the common server 200 .
其中,在本发明的实施例中,对普通服务器200的第一网络距离矢量进行等级处理的过程如下所述:对普通服务器200的第一网络距离矢量v进行与等级参数的乘积,即运算γ×v,然后,对运算后的矢量中每一个元素进行取整运算,这时所获取到的第一网络距离矢量便演化成第一网络距离等级矢量。其中,a可通过对普通服务器200的等级迭代得到,使得最后的分簇大部分都包含一定数量的服务器,既不过多也不过少。Wherein, in the embodiment of the present invention, the process of classifying the first network distance vector v of the ordinary server 200 is as follows: the first network distance vector v of the ordinary server 200 is compared with the class parameter The product of , that is, to operate γ×v, and then perform a rounding operation on each element in the calculated vector, and then the obtained first network distance vector evolves into a first network distance level vector. Wherein, a can be obtained by iterating the levels of common servers 200, so that most of the final clusters contain a certain number of servers, neither too many nor too few.
例如,如果普通服务器200到地标服务器300所在节点的第一网络距离矢量为(92,103,210,321,532),a的取值为100,则1/100×(92,103,210,321,532)=(0.92,1.03,2.10,3.21,5.32),取整运算可得(0,1,2,3,5),则(0,1,2,3,5)便是普通服务器200到地标服务器300所在节点的第一网络距离等级矢量。最后,可将第一网络距离等级矢量同为(0,1,2,3,5)的普通服务器200被分到相同的簇内。For example, if the first network distance vector from the common server 200 to the node where the landmark server 300 is located is (92, 103, 210, 321, 532), and the value of a is 100, then 1/100×(92, 103, 210, 321, 532) = (0.92, 1.03, 2.10, 3.21, 5.32), rounding to get (0, 1, 2, 3, 5), then (0, 1, 2, 3, 5) is an ordinary server 200 to the first network distance level vector of the node where the landmark server 300 is located. Finally, common servers 200 whose first network distance level vectors are the same as (0, 1, 2, 3, 5) can be classified into the same cluster.
需要说明的是,在本发明的实施例中,第一网络距离矢量可由当前普通服务器200所在节点到所有地标服务器300的网络距离组成,第一网络距离矢量所包含元素的个数与地标服务器300的数量相等,例如:当前普通服务器所在节点到地标节服务器300的网络距离分别为d1,d2…dm,则当前普通服务器200所在节点的第一网络距离矢量为(d1,d2…dm)。It should be noted that, in the embodiment of the present invention, the first network distance vector can be composed of the network distances from the node where the current common server 200 is located to all the landmark servers 300, and the number of elements contained in the first network distance vector is the same as that of the landmark servers 300 For example, the network distances from the node where the current common server is located to the landmark node server 300 are d 1 , d 2 ... d m , then the first network distance vector of the node where the current common server 200 is located is (d 1 , d 2 ... d m ).
根据本发明的一个实施例,中心服务器100具体用于:更新客户端400中的第二地标服务器地图信息,并将更新后的第二地标服务器地图信息同步至网络距离测量模块110;根据更新后的第二地标服务器地图信息获取客户端400的第二网络距离矢量,并对第二网络距离矢量进行等级处理,以获得第二网络距离等级矢量;根据第一网络距离等级矢量和第二网络距离等级矢量获取与第二网络距离等级矢量对应的簇;对簇中的普通服务器200按照相似度对比公式进行计算并排序,以得到客户端400与普通服务器200之间的距离相似度列表;以及测量客户端400与距离相似度列表内前K个普通服务器200之间的网络距离信息,并将网络距离信息发送至服务器选择模块120。其中,在本发明的实施例中,第二地标服务器地图信息可包括地标服务器300的标识、地标服务器300的IP地址、客户端400与地标服务器300之间的网络距离等中的一种或多种。According to an embodiment of the present invention, the central server 100 is specifically configured to: update the second landmark server map information in the client 400, and synchronize the updated second landmark server map information to the network distance measurement module 110; The map information of the second landmark server obtains the second network distance vector of the client 400, and performs grade processing on the second network distance vector to obtain the second network distance grade vector; according to the first network distance grade vector and the second network distance The level vector obtains the cluster corresponding to the second network distance level vector; calculates and sorts the common servers 200 in the cluster according to the similarity comparison formula to obtain the distance similarity list between the client 400 and the common server 200; and measure The network distance information between the client 400 and the top K common servers 200 in the distance similarity list, and send the network distance information to the server selection module 120 . Wherein, in the embodiment of the present invention, the second landmark server map information may include one or more of the logo of the landmark server 300, the IP address of the landmark server 300, the network distance between the client 400 and the landmark server 300, etc. kind.
也就是说,在本发明的实施例中,当客户端400发送服务请求信息之后,便会触发客户端400更新客户端400中的第二地标服务器地图信息,然后将更新后的第二地标服务器地图信息同步到中心服务器100上的网络距离测量模块110。网络距离测量模块110可先获取更新后的第二地标服务器地图信息中的客户端与地标服务器之间的网络距离,之后可根据该网络距离获取到客户端400的第二网络距离矢量,具体获取过程可参照第一网络距离矢量的获取过程。之后,网络距离测量模块110可对第二网络距离矢量进行等级处理,得到第二网络距离等级矢量。其中,对客户端400的第二网络距离矢量进行等级处理的过程与对普通服务器200的第一网络距离矢量进行等级处理的过程一样,在此不再赘述。然后,可将第二网络距离等级矢量与普通服务器200中的第一网络距离等级矢量进行对比,找出与第二网络距离等级矢量相同的普通服务器200的第一网络距离等级矢量,之后可根据该第一网络距离等级矢量找到对应的普通服务器200,以获得该普通服务器200所属的簇。之后,对簇内的所有普通服务器200按照相似度对比公式进行计算,以计算出客户端400与普通服务器200之间的距离相似度列表,该距离相似度列表中的数值可按照相似度数值的大小排列。最后,直接测量客户端400与该距离相似度列表内前K个普通服务器200之间的网络距离信息,并发送到服务器选择模块120。That is to say, in the embodiment of the present invention, after the client 400 sends the service request information, it will trigger the client 400 to update the map information of the second landmark server in the client 400, and then the updated second landmark server The map information is synchronized to the network distance measurement module 110 on the central server 100 . The network distance measurement module 110 can first obtain the network distance between the client and the landmark server in the updated map information of the second landmark server, and then obtain the second network distance vector to the client 400 according to the network distance, specifically obtain The process may refer to the process of obtaining the distance vector of the first network. Afterwards, the network distance measuring module 110 may perform level processing on the second network distance vector to obtain the second network distance level vector. Wherein, the process of performing hierarchical processing on the second network distance vector of the client 400 is the same as the process of performing hierarchical processing on the first network distance vector of the common server 200 , which will not be repeated here. Then, the second network distance level vector can be compared with the first network distance level vector in the common server 200 to find out the first network distance level vector of the common server 200 that is the same as the second network distance level vector, and then it can be based on The first network distance level vector finds the corresponding common server 200 to obtain the cluster to which the common server 200 belongs. Afterwards, all ordinary servers 200 in the cluster are calculated according to the similarity comparison formula to calculate the distance similarity list between the client 400 and the ordinary server 200, and the values in the distance similarity list can be calculated according to the similarity value. Arranged by size. Finally, directly measure the network distance information between the client 400 and the top K common servers 200 in the distance similarity list, and send it to the server selection module 120 .
其中,在本发明的实施例中,相似度对比公式的模型如下:Wherein, in the embodiment of the present invention, the model of the similarity comparison formula is as follows:
其中,Sim(c,i)为客户端c与普通服务器i之间的网络距离相似度;M为地标服务器的总数量,为客户端c的第二网络距离矢量与普通服务器i的第一网络距离矢量在(m-1)维坐标空间中的欧式距离;distmax为所有距离值中的最大值;rc,m为客户端c与标号为m的地标服务器之间的网络距离;ri,m为普通服务器i与标号为m的地标服务器之间的网络距离;rcmin和rcmax分别为客户端c与M个地标服务器之间网络距离的最小值和最大值;rimin和rimax分别为普通服务器i与M个地标服务器之间网络距离的最小值和最大值;Sim(c,i)∈[0,1]。Among them, Sim(c,i) is the network distance similarity between client c and common server i; M is the total number of landmark servers, is the Euclidean distance between the second network distance vector of client c and the first network distance vector of common server i in the (m-1) dimensional coordinate space; dist max is the maximum value among all distance values; r c,m is The network distance between the client c and the landmark server labeled m; r i,m is the network distance between the ordinary server i and the landmark server labeled m; r cmin and r cmax are the client c and M The minimum and maximum network distances between landmark servers; r imin and r imax are the minimum and maximum network distances between ordinary server i and M landmark servers respectively; Sim(c,i)∈[0,1 ].
根据本发明的一个实施例,全局优化选择的模型如下:According to an embodiment of the present invention, the model selected by global optimization is as follows:
|Pi-wi|≤εi (3)|P i -w i |≤ε i (3)
其中,C和I分别为客户端400和普通服务器200的集合,Rci为客户端c分配到普通服务器i上的概率,且满足和Rci≥0;cost(c,i)=λD(c,i),λ为引入的域间流量传输惩罚系数,D(c,i)为客户端c与普通服务器i之间的网络距离;为普通服务器i的负载信息在所有负载信息中所占的比例,N为普通服务器200的总数量;wi为中心服务器100预设的普通服务器200负载信息在所有负载信息中所占的比例;εi为允许普通服务器200负载信息偏离wi的额度。其中,当客户端400和普通服务器200在同一个ISP(Internet Service Provider,互联网服务提供商)内时,λ可为1,则cost(c,i)可为D(c,i);当客户端400和普通服务器200不在同一个ISP内时,λ可为0,则cost(c,i)可为0。Among them, C and I are the sets of client 400 and common server 200 respectively, R ci is the probability that client c is assigned to common server i, and satisfies and R ci ≥ 0; cost(c,i)=λD(c,i), λ is the penalty coefficient for inter-domain traffic transmission introduced, D(c,i) is the network distance between client c and common server i ; is the proportion of the load information of the common server i in all the load information, N is the total number of common servers 200; w i is the proportion of the common server 200 load information preset by the central server 100 in all the load information; ε i is the amount that allows the load information of the common server 200 to deviate from w i . Wherein, when the client 400 and the common server 200 are in the same ISP (Internet Service Provider, Internet Service Provider), λ can be 1, then cost (c, i) can be D (c, i); when the client When the end 400 and the common server 200 are not in the same ISP, λ can be 0, and cost(c,i) can be 0.
也就是说,在本发明的实施例中,中心服务器100可将上述获得的客户端400到K个普通服务器200的网络距离信息和K个普通服务器200的负载信息作为输入数据,将该输入数据代入全局优化选择的模型中,以对普通服务器200进行全局优化选择,从而可获得最优的普通服务器200为客户端400提供服务。That is to say, in the embodiment of the present invention, the central server 100 can use the network distance information obtained above from the client 400 to the K ordinary servers 200 and the load information of the K ordinary servers 200 as input data, and the input data Substitute into the global optimal selection model to perform global optimal selection on the common server 200 , so that the optimal common server 200 can be obtained to provide services for the client 400 .
根据本发明实施例的服务器的选择系统,通过中心服务器接收客户端发送的服务请求信息之后,中心服务器中的网络距离测量模块获取与客户端距离最近的K个普通服务器和K个普通服务器相关的网络距离信息,并获取K个普通服务器的负载信息,中心服务器中的服务器选择模块根据网络距离信息、负载信息和域间流量进行全局优化选择,从而可选择出最优的普通服务器为客户端提供服务,通过在服务器选择模块中设置域间流量惩罚系数以平衡普通服务器与客户端之间的网络距离、和ISP之间传输的流量在服务器选择过程中所占的比重,在不损耗全局网络距离预测精确度的前提下减少ISP之间传输的流量,缓解网络服务运营商的压力,并且,在网络距离测量模块中采用了测量开销较少的网络距离预测算法,减少了服务器选择过程中的开销,从而提高了云服务的可扩展性。According to the server selection system of the embodiment of the present invention, after the central server receives the service request information sent by the client, the network distance measurement module in the central server obtains the K common servers and the K common servers that are closest to the client. The network distance information and the load information of K ordinary servers are obtained. The server selection module in the central server performs global optimization selection according to the network distance information, load information and inter-domain traffic, so that the optimal ordinary server can be selected to provide the client with Service, by setting the inter-domain traffic penalty coefficient in the server selection module to balance the network distance between ordinary servers and clients, and the proportion of traffic transmitted between ISPs in the server selection process, without loss of global network distance On the premise of prediction accuracy, reduce the traffic transmitted between ISPs, relieve the pressure of network service operators, and use a network distance prediction algorithm with less measurement overhead in the network distance measurement module, which reduces the overhead in the server selection process , thus improving the scalability of cloud services.
为了实现上述实施例,本发明还提出一种服务器的选择方法。In order to realize the above embodiments, the present invention also proposes a method for selecting a server.
图3是根据本发明一个实施例的服务器的选择方法的流程图。Fig. 3 is a flowchart of a method for selecting a server according to an embodiment of the present invention.
如图3所示,该服务器的选择方法可以包括以下步骤:As shown in Figure 3, the server selection method may include the following steps:
S301,中心服务器接收客户端发送的服务请求信息,其中,中心服务器包括网络距离测量模块和服务器选择模块。S301. The central server receives service request information sent by the client, wherein the central server includes a network distance measurement module and a server selection module.
根据本发明的一个实施例,如图4所示,在中心服务器接收客户端发送的服务请求信息之前,即步骤S301之前,该服务器的选择方法还包括:According to an embodiment of the present invention, as shown in FIG. 4, before the central server receives the service request information sent by the client, that is, before step S301, the server selection method further includes:
S401,网络距离测量模块根据预设频率更新普通服务器中的第一地标服务器地图信息,并将更新后的第一地标服务器地图信息同步至中心服务器中的普通服务器地图信息。S401, the network distance measuring module updates the map information of the first landmark server in the common server according to a preset frequency, and synchronizes the updated map information of the first landmark server with the map information of the common server in the central server.
其中,在本发明的实施例中,第一地标服务器地图信息可包括地标服务器的标识、地标服务器的IP地址、普通服务器与地标服务器之间的网络距离等中的一种或多种。此外,普通服务器地图信息可包括普通服务器的标识、普通服务器的IP地址、普通服务器的第一网络距离矢量、普通服务器的负载信息等中的一种或多种。可以理解,普通服务器地图信息可存储于中心服务器中的普通服务器地图模块中。Wherein, in the embodiment of the present invention, the map information of the first landmark server may include one or more of the identifier of the landmark server, the IP address of the landmark server, the network distance between the common server and the landmark server, and the like. In addition, the common server map information may include one or more of common server identifiers, common server IP addresses, common server first network distance vectors, common server load information, and the like. It can be understood that the common server map information can be stored in the common server map module in the central server.
例如,普通服务器上的第一地标服务器地图模块会按照一定频率更新,然后将更新后的相关信息同步到中心服务器上的普通服务器地图信息。For example, the first landmark server map module on the common server will be updated according to a certain frequency, and then the updated relevant information will be synchronized to the common server map information on the central server.
S402,网络距离测量模块对普通服务器的第一网络距离矢量进行等级处理,以获得第一网络距离等级矢量。S402. The network distance measurement module performs level processing on the first network distance vector of the common server to obtain the first network distance level vector.
例如,网络距离测量模块可先从普通服务器地图信息获取普通服务器的第一网络距离矢量,之后对普通服务器的第一网络距离矢量进行等级处理,以获得第一网络距离等级矢量。For example, the network distance measuring module may first obtain the first network distance vector of the common server from the common server map information, and then perform hierarchical processing on the first network distance vector of the common server to obtain the first network distance level vector.
其中,在本发明的实施例中,对普通服务器的第一网络距离矢量进行等级处理的过程如下所述:对普通服务器的第一网络距离矢量v进行与等级参数的乘积,即运算γ×v,然后,对运算后的矢量中每一个元素进行取整运算,这时所获取到的第一网络距离矢量便演化成第一网络距离等级矢量。其中,a可通过对普通服务器的等级迭代得到,使得最后的分簇大部分都包含一定数量的服务器,既不过多也不过少。Wherein, in the embodiment of the present invention, the process of classifying the first network distance vector v of the common server is as follows: the first network distance vector v of the common server is compared with the class parameter The product of , that is, to operate γ×v, and then perform a rounding operation on each element in the calculated vector, and then the obtained first network distance vector evolves into a first network distance level vector. Among them, a can be obtained by iterating the levels of ordinary servers, so that most of the final clusters contain a certain number of servers, neither too many nor too few.
例如,如果普通服务器到地标服务器所在节点的第一网络距离矢量为(92,103,210,321,532),a的取值为100,则1/100×(92,103,210,321,532)=(0.92,1.03,2.10,3.21,5.32),取整运算可得(0,1,2,3,5),则(0,1,2,3,5)便是普通服务器到地标服务器所在节点的第一网络距离等级矢量。For example, if the first network distance vector from the common server to the node where the landmark server is located is (92, 103, 210, 321, 532), and the value of a is 100, then 1/100×(92, 103, 210, 321, 532) = (0.92, 1.03, 2.10, 3.21, 5.32), rounding to get (0, 1, 2, 3, 5), then (0, 1, 2, 3, 5) is the normal server to the landmark The first network distance level vector of the node where the server is located.
需要说明的是,在本发明的实施例中,第一网络距离矢量可由当前普通服务器所在节点到所有地标服务器的网络距离组成,第一网络距离矢量所包含元素的个数与地标服务器的数量相等,例如:当前普通服务器所在节点到地标节服务器的网络距离分别为d1,d2…dm,则当前普通服务器所在节点的第一网络距离矢量为(d1,d2…dm)。It should be noted that, in the embodiment of the present invention, the first network distance vector can be composed of the network distances from the node where the current common server is located to all landmark servers, and the number of elements contained in the first network distance vector is equal to the number of landmark servers , for example: the network distances from the current normal server node to the landmark node server are d 1 , d 2 ...d m , then the first network distance vector of the current common server node is (d 1 , d 2 ...d m ).
S403,网络距离测量模块根据第一网络距离等级矢量对普通服务器进行分簇。S403. The network distance measuring module clusters the common servers according to the first network distance level vector.
也就是说,在本发明的实施例中,网络距离测量模块可以第一网络距离等级矢量为簇的标识对所有的普通服务器进行分簇,这样普通服务器被分到不同的簇内。其中,簇更新的频率和普通服务器上的第一地标服务器地图信息更新的频率相同。例如,可将第一网络距离等级矢量同为(0,1,2,3,5)的普通服务器被分到相同的簇内。That is to say, in the embodiment of the present invention, the network distance measuring module may use the first network distance level vector as a cluster identifier to cluster all common servers, so that common servers are divided into different clusters. Wherein, the update frequency of the cluster is the same as the update frequency of the map information of the first landmark server on the common server. For example, common servers whose first network distance level vectors are both (0, 1, 2, 3, 5) may be grouped into the same cluster.
S302,网络距离测量模块获取与客户端距离最近的K个普通服务器和K个普通服务器相关的网络距离信息。S302. The network distance measuring module acquires K common servers closest to the client and network distance information related to the K common servers.
其中,在本发明的实施例中,网络距离信息可理解为网络延迟,可通过网络距离预测方法获得,网络距离预测方法可包括网络坐标计算方法、非坐标距离预测方法等。Wherein, in the embodiment of the present invention, the network distance information can be understood as network delay, which can be obtained through a network distance prediction method, and the network distance prediction method can include a network coordinate calculation method, a non-coordinate distance prediction method, and the like.
根据本发明的一个实施例,如图5所示,步骤S302可进一步包括:According to an embodiment of the present invention, as shown in FIG. 5, step S302 may further include:
S501,中心服务器更新客户端中的第二地标服务器地图信息,并将更新后的第二地标服务器地图信息同步至网络距离测量模块。S501. The central server updates the map information of the second landmark server in the client, and synchronizes the updated map information of the second landmark server to the network distance measurement module.
其中,在本发明的实施例中,第二地标服务器地图信息可包括地标服务器的标识、地标服务器的IP地址、客户端与地标服务器之间的网络距离等中的一种或多种。Wherein, in the embodiment of the present invention, the map information of the second landmark server may include one or more of the identifier of the landmark server, the IP address of the landmark server, the network distance between the client and the landmark server, and the like.
例如,当客户端发送服务请求信息之后,便会触发客户端更新客户端中的第二地标服务器地图信息,然后可将更新后的第二地标服务器地图信息同步到中心服务器上的网络距离测量模块。For example, after the client sends the service request information, it will trigger the client to update the map information of the second landmark server in the client, and then the updated map information of the second landmark server can be synchronized to the network distance measurement module on the central server .
S502,网络距离测量模块根据更新后的第二地标服务器地图信息获取客户端的第二网络距离矢量,并对第二网络距离矢量进行等级处理,以获得第二网络距离等级矢量。S502. The network distance measurement module acquires the second network distance vector of the client according to the updated map information of the second landmark server, and performs grade processing on the second network distance vector to obtain a second network distance grade vector.
例如,网络距离测量模块可先获取更新后的第二地标服务器地图信息中的客户端与地标服务器之间的网络距离,之后可根据该网络距离获取到客户端的第二网络距离矢量,具体获取过程可参照第一网络距离矢量的获取过程。之后,可对第二网络距离矢量进行等级处理,得到第二网络距离等级矢量。其中,对客户端的第二网络距离矢量进行等级处理的过程与对普通服务器的第一网络距离矢量进行等级处理的过程一样,在此不再赘述。For example, the network distance measurement module can first obtain the network distance between the client and the landmark server in the updated map information of the second landmark server, and then obtain the second network distance vector to the client according to the network distance. The specific acquisition process Reference may be made to the acquisition process of the first network distance vector. Afterwards, level processing may be performed on the second network distance vector to obtain the second network distance level vector. Wherein, the process of performing hierarchical processing on the second network distance vector of the client is the same as the process of performing hierarchical processing on the first network distance vector of the common server, and will not be repeated here.
S503,网络距离测量模块根据第一网络距离等级矢量和第二网络距离等级矢量获取与第二网络距离等级矢量对应的簇。S503. The network distance measurement module acquires a cluster corresponding to the second network distance level vector according to the first network distance level vector and the second network distance level vector.
例如,网络距离测量模块可将第二网络距离等级矢量与普通服务器中的第一网络距离等级矢量进行对比,找出与第二网络距离等级矢量相同的普通服务器的第一网络距离等级矢量,之后可根据该第一网络距离等级矢量找到对应的普通服务器,以获得该普通服务器所属的簇。For example, the network distance measurement module can compare the second network distance level vector with the first network distance level vector in the common server, find out the first network distance level vector of the common server that is the same as the second network distance level vector, and then The corresponding common server can be found according to the first network distance level vector, so as to obtain the cluster to which the common server belongs.
S504,网络距离测量模块对簇中的普通服务器按照相似度对比公式进行计算并排序,以得到客户端与普通服务器之间的距离相似度列表。S504. The network distance measurement module calculates and sorts the common servers in the cluster according to the similarity comparison formula, so as to obtain a distance similarity list between the client and the common servers.
例如,网络距离测量模块可对对簇内的所有普通服务器按照相似度对比公式进行计算,以计算出客户端与普通服务器之间的距离相似度列表,该距离相似度列表中的数值可按照相似度数值的大小排列。For example, the network distance measurement module can calculate the similarity comparison formula for all ordinary servers in the cluster to calculate the distance similarity list between the client and the ordinary server, and the values in the distance similarity list can be calculated according to the similarity Order of degree values.
其中,在本发明的实施例中,相似度对比公式的模型如下:Wherein, in the embodiment of the present invention, the model of the similarity comparison formula is as follows:
其中,Sim(c,i)为客户端c与普通服务器i之间的网络距离相似度;M为地标服务器的总数量,为客户端c的第二网络距离矢量与普通服务器i的第一网络距离矢量在(m-1)维坐标空间中的欧式距离;distmax为所有距离值中的最大值;rc,m为客户端c与标号为m的地标服务器之间的网络距离;ri,m为普通服务器i与标号为m的地标服务器之间的网络距离;rcmin和rcmax分别为客户端c与M个地标服务器之间网络距离的最小值和最大值;rimin和rimax分别为普通服务器i与M个地标服务器之间网络距离的最小值和最大值;Sim(c,i)∈[0,1]。Among them, Sim(c,i) is the network distance similarity between client c and common server i; M is the total number of landmark servers, is the Euclidean distance between the second network distance vector of client c and the first network distance vector of common server i in the (m-1) dimensional coordinate space; dist max is the maximum value among all distance values; r c,m is The network distance between the client c and the landmark server labeled m; r i,m is the network distance between the ordinary server i and the landmark server labeled m; r cmin and r cmax are the client c and M The minimum and maximum network distances between landmark servers; r imin and r imax are the minimum and maximum network distances between ordinary server i and M landmark servers respectively; Sim(c,i)∈[0,1 ].
S505,网络距离测量模块测量客户端与距离相似度列表内前K个普通服务器之间的网络距离信息,并将网络距离信息发送至服务器选择模块。S505. The network distance measurement module measures the network distance information between the client and the top K common servers in the distance similarity list, and sends the network distance information to the server selection module.
S303,网络距离测量模块更新中心服务器中的普通服务器地图信息,以获取K个普通服务器的负载信息。S303, the network distance measurement module updates the common server map information in the central server, so as to obtain the load information of K common servers.
S304,服务器选择模块根据网络距离信息、负载信息和域间流量进行全局优化选择。S304. The server selection module performs global optimization selection according to network distance information, load information, and inter-domain traffic.
其中,在本发明的实施例中,全局优化选择的模型如下:Wherein, in the embodiment of the present invention, the model selected by global optimization is as follows:
|Pi-wi|≤εi (3)|P i -w i |≤ε i (3)
其中,C和I分别为客户端和普通服务器的集合,Rci为客户端c分配到普通服务器i上的概率,且满足和Rci≥0;cost(c,i)=λD(c,i),λ为引入的域间流量传输惩罚系数,D(c,i)为客户端c与普通服务器i之间的网络距离;为普通服务器i的负载信息在所有负载信息中所占的比例,N为普通服务器的总数量;wi为中心服务器预设的普通服务器负载信息在所有负载信息中所占的比例;εi为允许普通服务器负载信息偏离wi的额度。其中,当客户端和普通服务器在同一个ISP内时,λ可为1,则cost(c,i)可为D(c,i);当客户端和普通服务器不在同一个ISP内时,λ可为0,则cost(c,i)可为0。Among them, C and I are the sets of clients and common servers respectively, R ci is the probability that client c is assigned to common server i, and satisfies and R ci ≥ 0; cost(c,i)=λD(c,i), λ is the penalty coefficient for inter-domain traffic transmission introduced, D(c,i) is the network distance between client c and common server i ; is the proportion of the load information of the common server i in all the load information, N is the total number of common servers; w i is the proportion of the load information of the common server preset by the central server in all the load information; ε i is The amount by which normal server load information is allowed to deviate from wi . Among them, when the client and the ordinary server are in the same ISP, λ can be 1, then cost(c,i) can be D(c,i); when the client and the ordinary server are not in the same ISP, λ can be 0, then cost(c,i) can be 0.
也就是说,在本发明的实施例中,中心服务器可将上述获得的客户端到K个普通服务器的网络距离信息和K个普通服务器的负载信息作为输入数据,将该输入数据代入全局优化选择的模型中,以对普通服务器进行全局优化选择,从而可获得最优的普通服务器为客户端提供服务。That is to say, in the embodiment of the present invention, the central server can use the network distance information obtained above from the client to the K common servers and the load information of the K common servers as input data, and substitute the input data into the global optimization selection In the model of , the global optimal selection of ordinary servers can be performed, so that the best ordinary servers can be obtained to provide services for clients.
根据本发明实施例的服务器的选择方法,当中心服务器接收客户端发送的服务请求信息之后,中心服务器中的网络距离测量模块获取与客户端距离最近的K个普通服务器和K个普通服务器相关的网络距离信息,并获取K个普通服务器的负载信息,中心服务器中的服务器选择模块根据网络距离信息、负载信息和域间流量进行全局优化选择,从而可选择出最优的普通服务器为客户端提供服务,通过在服务器选择模块中设置域间流量惩罚系数以平衡普通服务器与客户端之间的网络距离、和ISP之间传输的流量在服务器选择过程中所占的比重,在不损耗全局网络距离预测精确度的前提下减少ISP之间传输的流量,缓解网络服务运营商的压力,并且,在网络距离测量模块中采用了测量开销较少的网络距离预测算法,减少了服务器选择过程中的开销,从而提高了云服务的可扩展性。According to the server selection method of the embodiment of the present invention, after the central server receives the service request information sent by the client, the network distance measurement module in the central server obtains the K common servers and the K common servers that are closest to the client. The network distance information and the load information of K ordinary servers are obtained. The server selection module in the central server performs global optimization selection according to the network distance information, load information and inter-domain traffic, so that the optimal ordinary server can be selected to provide the client with Service, by setting the inter-domain traffic penalty coefficient in the server selection module to balance the network distance between ordinary servers and clients, and the proportion of traffic transmitted between ISPs in the server selection process, without loss of global network distance On the premise of prediction accuracy, reduce the traffic transmitted between ISPs, relieve the pressure of network service operators, and use a network distance prediction algorithm with less measurement overhead in the network distance measurement module, which reduces the overhead in the server selection process , thus improving the scalability of cloud services.
为了使得本发明的优点更加明显,下面可举例描述。In order to make the advantages of the present invention more obvious, the following examples will be described.
图6是根据本发明一个实施例的服务器的选择方法的实体关系图。例如,如图6所示,首先,客户端可向中心服务器发送服务请求信息(601),中心服务器可根据中心服务器中的地标服务器地图信息向客户端返回相关的地标服务器信息(602)。之后,客户端可向地标服务器发送探测信息(603),以使得客户端获得地标服务器返回的探测结果(604)。然后,客户端可根据探测结果向中心服务器发送相关的网络距离信息(605),中心服务器可根据该网络距离信息计算出前K个普通服务器(606)。之后,客户端可向普通服务器发送探测信息(607),以使得客户端获得普通服务器返回的探测结果(608)。然后,客户端可根据该探测结果向中心服务器发送相关的网络距离信息(609)。最后,中心服务器可根据网络距离信息、普通服务器的负载信息、域间流量进行全局优化选择,从而可获得最优的普通服务器为客户端提供服务。Fig. 6 is an entity relationship diagram of a method for selecting a server according to an embodiment of the present invention. For example, as shown in Figure 6, first, the client can send service request information to the central server (601), and the central server can return relevant landmark server information to the client according to the landmark server map information in the central server (602). Afterwards, the client may send detection information to the landmark server (603), so that the client obtains a detection result returned by the landmark server (604). Then, the client can send relevant network distance information to the central server according to the detection result (605), and the central server can calculate the top K common servers according to the network distance information (606). Afterwards, the client may send detection information to the normal server (607), so that the client obtains the detection result returned by the normal server (608). Then, the client can send related network distance information to the central server according to the detection result (609). Finally, the central server can make a global optimization selection based on the network distance information, the load information of the common server, and the inter-domain traffic, so that the optimal common server can be obtained to provide services for the client.
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。It should be understood that various parts of the present invention can be realized by hardware, software, firmware or their combination. In the embodiments described above, various steps or methods may be implemented by software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented by any one or combination of the following techniques known in the art: Discrete logic circuits, ASICs with suitable combinational logic gates, Programmable Gate Arrays (PGAs), Field Programmable Gate Arrays (FPGAs), etc.
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。In the description of this specification, descriptions referring to the terms "one embodiment", "some embodiments", "example", "specific examples", or "some examples" mean that specific features described in connection with the embodiment or example , structure, material or characteristic is included in at least one embodiment or example of the present invention. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。Although the embodiments of the present invention have been shown and described, those skilled in the art can understand that various changes, modifications, substitutions and modifications can be made to these embodiments without departing from the principle and spirit of the present invention. The scope of the invention is defined by the claims and their equivalents.
Claims (12)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310751738.7A CN103716402B (en) | 2013-12-31 | 2013-12-31 | The selection system and method for server |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310751738.7A CN103716402B (en) | 2013-12-31 | 2013-12-31 | The selection system and method for server |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN103716402A true CN103716402A (en) | 2014-04-09 |
| CN103716402B CN103716402B (en) | 2017-08-29 |
Family
ID=50408972
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201310751738.7A Active CN103716402B (en) | 2013-12-31 | 2013-12-31 | The selection system and method for server |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN103716402B (en) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104270463A (en) * | 2014-10-21 | 2015-01-07 | 无锡云捷科技有限公司 | CDN dynamic server selection method |
| CN104702667A (en) * | 2015-01-30 | 2015-06-10 | 武汉大学 | Method and device for expanding application service system |
| CN104968047A (en) * | 2015-06-30 | 2015-10-07 | 中国地质大学(武汉) | A Network Distance Prediction Method Oriented to Nodes in Mobile Networks |
| CN104980340A (en) * | 2015-06-25 | 2015-10-14 | 走遍世界(北京)信息技术有限公司 | Server switching method and device |
| CN106331144A (en) * | 2016-09-08 | 2017-01-11 | 四川大学 | A Proxy Load Balancing Method Based on Mobile Proxy System |
| CN109768879A (en) * | 2018-12-14 | 2019-05-17 | 北京爱奇艺科技有限公司 | The determination method, apparatus and server of target service server |
| CN113784408A (en) * | 2021-11-11 | 2021-12-10 | 荣耀终端有限公司 | Network switching method and electronic equipment |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020038360A1 (en) * | 2000-05-31 | 2002-03-28 | Matthew Andrews | System and method for locating a closest server in response to a client domain name request |
| CN101938504A (en) * | 2009-06-30 | 2011-01-05 | 深圳市融创天下科技发展有限公司 | Cluster server intelligent dispatching method and system |
| JP4652981B2 (en) * | 2006-01-13 | 2011-03-16 | 日本電信電話株式会社 | DNS server selection device, DNS server selection method, DNS server selection program, and name resolution system |
| CN101989951A (en) * | 2010-10-28 | 2011-03-23 | 北京瑞汛世纪科技有限公司 | Method, system and equipment for selecting service node |
| CN102821149A (en) * | 2012-08-03 | 2012-12-12 | 中国联合网络通信集团有限公司 | Method and device for selecting service providing entity |
-
2013
- 2013-12-31 CN CN201310751738.7A patent/CN103716402B/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020038360A1 (en) * | 2000-05-31 | 2002-03-28 | Matthew Andrews | System and method for locating a closest server in response to a client domain name request |
| JP4652981B2 (en) * | 2006-01-13 | 2011-03-16 | 日本電信電話株式会社 | DNS server selection device, DNS server selection method, DNS server selection program, and name resolution system |
| CN101938504A (en) * | 2009-06-30 | 2011-01-05 | 深圳市融创天下科技发展有限公司 | Cluster server intelligent dispatching method and system |
| CN101989951A (en) * | 2010-10-28 | 2011-03-23 | 北京瑞汛世纪科技有限公司 | Method, system and equipment for selecting service node |
| CN102821149A (en) * | 2012-08-03 | 2012-12-12 | 中国联合网络通信集团有限公司 | Method and device for selecting service providing entity |
Non-Patent Citations (2)
| Title |
|---|
| 王婷: "云计算环境下可扩展的服务器优化选择策略", 《全国通信软件学术会议》 * |
| 王婷: "云计算环境下可扩展的服务器优化选择策略", 《北京邮电大学学报》 * |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104270463A (en) * | 2014-10-21 | 2015-01-07 | 无锡云捷科技有限公司 | CDN dynamic server selection method |
| CN104702667A (en) * | 2015-01-30 | 2015-06-10 | 武汉大学 | Method and device for expanding application service system |
| CN104980340A (en) * | 2015-06-25 | 2015-10-14 | 走遍世界(北京)信息技术有限公司 | Server switching method and device |
| CN104968047A (en) * | 2015-06-30 | 2015-10-07 | 中国地质大学(武汉) | A Network Distance Prediction Method Oriented to Nodes in Mobile Networks |
| CN104968047B (en) * | 2015-06-30 | 2018-06-15 | 中国地质大学(武汉) | A kind of Forecasting Methodology of mobile network-oriented interior joint network distance |
| CN106331144A (en) * | 2016-09-08 | 2017-01-11 | 四川大学 | A Proxy Load Balancing Method Based on Mobile Proxy System |
| CN109768879A (en) * | 2018-12-14 | 2019-05-17 | 北京爱奇艺科技有限公司 | The determination method, apparatus and server of target service server |
| CN113784408A (en) * | 2021-11-11 | 2021-12-10 | 荣耀终端有限公司 | Network switching method and electronic equipment |
Also Published As
| Publication number | Publication date |
|---|---|
| CN103716402B (en) | 2017-08-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103716402B (en) | The selection system and method for server | |
| US20250184219A1 (en) | Predictive overlay network architecture | |
| US20210377359A1 (en) | Data management in an edge network | |
| US20240049108A1 (en) | Network provisioning | |
| US8321870B2 (en) | Method and system for distributed computation having sub-task processing and sub-solution redistribution | |
| US10555150B2 (en) | Systems and methods for generating a virtual network topology for M2M communications | |
| CN109150627B (en) | Virtual network mapping construction method based on dynamic resource demand and topology perception | |
| CN102075359B (en) | A kind of server disposition method of coordinate Network Based and device | |
| CN101854299A (en) | A Dynamic Load Balancing Method for Publish/Subscribe System | |
| US20160255047A1 (en) | Methods and systems for determining domain names and organization names associated with participants involved in secured sessions | |
| CN106357792B (en) | Node routing method and system | |
| Fathy et al. | A distributed in-network indexing mechanism for the Internet of Things | |
| Gupta et al. | Fedfm: Towards a robust federated learning approach for fault mitigation at the edge nodes | |
| CN102868682B (en) | Method and device for sharing streaming media resources | |
| EP1859602B1 (en) | Distributed storing of network position information for nodes | |
| Picone et al. | Evaluating the robustness of the DGT approach for smartphone-based vehicular networks | |
| JP2015177274A (en) | Device and method for calculation of base station parameter, and control program | |
| US11006310B2 (en) | Node-density aware interest packet forwarding in ad hoc network | |
| CN115022371B (en) | Load distribution method, cloud unit system and computer readable storage medium | |
| EP4568217A1 (en) | Data analysis method and apparatus | |
| EP4158843A1 (en) | Methods and systems for reducing data sharing overhead | |
| US9781726B2 (en) | System and method for using a super bin for radio resource requirement assessment | |
| CN111130846B (en) | Target object determination method and device and storage medium | |
| CN117729103A (en) | Deployment method, system and network system of distributed network | |
| Johnson et al. | Position aware and QoS based service discovery using TOPSIS for vehicular network |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |












