KR102083511B1 - Server connecting method and server system using the method - Google Patents

Server connecting method and server system using the method Download PDF

Info

Publication number
KR102083511B1
KR102083511B1 KR1020180036280A KR20180036280A KR102083511B1 KR 102083511 B1 KR102083511 B1 KR 102083511B1 KR 1020180036280 A KR1020180036280 A KR 1020180036280A KR 20180036280 A KR20180036280 A KR 20180036280A KR 102083511 B1 KR102083511 B1 KR 102083511B1
Authority
KR
South Korea
Prior art keywords
server
weight
matching
servers
group
Prior art date
Application number
KR1020180036280A
Other languages
Korean (ko)
Other versions
KR20190114105A (en
Inventor
신희제
Original Assignee
엔에이치엔 주식회사
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 엔에이치엔 주식회사 filed Critical 엔에이치엔 주식회사
Priority to KR1020180036280A priority Critical patent/KR102083511B1/en
Publication of KR20190114105A publication Critical patent/KR20190114105A/en
Application granted granted Critical
Publication of KR102083511B1 publication Critical patent/KR102083511B1/en

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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources

Abstract

서버와의 매칭을 위한 연산 처리의 부하를 감소시킨 서버 접속 방법 및 이를 이용한 서버 시스템이 개시된다. 이러한 서버 접속 방법은 복수의 서버들 중 하나의 서버에 접속하기 위한 사용자 단말기에 의해 수행되는 방법에 관한 것으로, 운영 서버로부터, 복수의 그룹들에 대한 배분 웨이트들을 포함하는 그룹별 배분 웨이트 정보를 수신하는 단계와, 상기 그룹별 배분 웨이트 정보를 이용하여, 상기 그룹들 각각을 상기 서버들 중 적어도 하나의 서버와 매칭시킨 정보를 포함하는 그룹별 서버 매칭 정보를 생성하는 단계와, 상기 그룹별 서버 매칭 정보를 이용하여, 상기 서버들 중 하나의 서버를 선택하여 접속하는 단계를 포함할 수 있다. 이와 같이, 상기 그룹별 배분 웨이트 정보를 통해 생성된 상기 그룹별 서버 매칭 정보를 이용하여 상기 서버들 중 하나의 서버가 선택되어 매칭됨에 따라, 상기 사용자 단말기 및 상기 서버들 간의 매칭 연산 과정이 보다 단순화되어 매칭 연산 처리의 부하가 감소될 수 있다.Disclosed are a server access method and a server system using the same, which reduces the load of computational processing for matching with a server. The server access method relates to a method performed by a user terminal for accessing one of a plurality of servers, and receives distribution weight information for each group including distribution weights for a plurality of groups from an operation server And generating server matching information for each group including information obtained by matching each of the groups with at least one of the servers by using the distribution weight information for each group. Using information, selecting and connecting to one of the servers may be included. As described above, as one of the servers is selected and matched using the server matching information for each group generated through the distribution weight information for each group, the matching operation process between the user terminal and the servers is more simplified. As a result, the load of the matching operation processing can be reduced.

Description

서버 접속 방법 및 이를 이용한 서버 시스템{SERVER CONNECTING METHOD AND SERVER SYSTEM USING THE METHOD}Server connection method and server system using the same {SERVER CONNECTING METHOD AND SERVER SYSTEM USING THE METHOD}

본 발명은 서버 접속 방법 및 이를 이용한 서버 시스템에 관한 것으로, 보다 상세하게는 복수의 서버들 중 하나를 선택하여 접속하는 서버 접속 방법 및 이를 이용한 서버 시스템에 관한 것이다.The present invention relates to a server access method and a server system using the same, and more particularly, to a server access method and a server system using the same, which selects and connects one of a plurality of servers.

현재 인터넷을 통해 수많은 웹(web) 서비스가 서버 시스템에 의해 제공되고 있다. 이러한 서버 시스템은 한 대의 서버를 구비하여 웹 서비스를 제공할 수도 있지만, 일반적으로 많은 수의 사용자가 동시에 접속할 수 있도록 복수의 서버들을 구비하여 해당 웹 서비스를 제공할 수 있다. 예를 들어, 임의의 게임을 수행하고자 하는 사용자는 자신의 단말기를 이용하여 복수의 게임 서버들 중 하나에 접속하여 상기 게임에 대한 서비스를 제공받을 수 있다.Currently, a number of web services are provided by the server system through the Internet. Such a server system may provide a web service by having one server, but in general, it is possible to provide a corresponding web service by providing a plurality of servers so that a large number of users can access at the same time. For example, a user who wants to play an arbitrary game may be provided with a service for the game by accessing one of a plurality of game servers using his terminal.

또한, 이러한 서버 시스템은 사용자 단말기를 복수의 서버들 중 하나와 매칭(matching)시켜 주는 매칭 서버를 더 포함할 수 있다. 예를 들어, 상기 사용자 단말기가 임의의 게임 서비스를 제공받고자 상기 매칭 서버에 접속하게 되면, 상기 매칭 서버는 복수의 게임 서버들 중 하나를 상기 사용자 단말기에 매칭시켜 줄 수 있다. 그 결과, 상기 사용자 단말기는 상기 매칭 서버에 의해 매칭된 게임 서버에 접속하여 해당 게임 서비스를 제공받을 수 있다.In addition, the server system may further include a matching server that matches a user terminal with one of a plurality of servers. For example, when the user terminal connects to the matching server to receive an arbitrary game service, the matching server may match one of the plurality of game servers to the user terminal. As a result, the user terminal can access the game server matched by the matching server and receive the corresponding game service.

한편, 여러 게임들 중 카드 게임의 경우, 시드(seed)의 크기에 따라 게임 그룹이 복수개로 구분될 수 있다. 예를 들어, 시드가 10000인 게임 그룹에 참여하여 카드 게임을 수행하고자 하는 사용자는 해당 게임 그룹 내에 배치된 다른 사용자들 중 일부와 매칭되어 해당 카드 게임을 수행할 수 있다. 이때, 해당 카드 게임을 수행하기 위한 사용자들 간의 매칭은 동일 게임 서버 내에서만 수행될 수 있다.On the other hand, in the case of card games among several games, a plurality of game groups may be divided according to the size of a seed. For example, a user who wants to play a card game by participating in a game group with a seed of 10000 may match a part of other users placed in the game group to perform the corresponding card game. At this time, matching between users for playing the corresponding card game can be performed only in the same game server.

이와 같이 복수의 그룹들로 구분되어 웹 서비스를 제공하는 복수의 서버들은 매칭 서버에 의해 상기 그룹들이 분배될 필요가 있다. 예를 들어, 카드 게임이 시드의 크기에 따라 시드 1000 그룹, 시드 5000 그룹, 시드 10000 그룹, 시드 20000 그룹 및 시드 50000 그룹으로 구분된다고 할 때, 임의의 사용자 단말기가 매칭 서버에 접속하여 시드 10000 그룹의 참여를 요청하면, 상기 매칭 서버는 시드 10000 그룹이 매칭된 적어도 하나의 서버를 결정하고, 결정된 서버 중 하나를 선택하여 상기 사용자 단말기와 매칭시킬 수 있다. 그 결과, 상기 사용자 단말기는 상기 매칭 서버에 의해 선택된 서버에 접속하여 해당 서버에 접속하고 있는 다른 사용자 단말기와 매칭되어 시드 10000 카드 게임을 수행할 수 있다.As described above, a plurality of servers divided into a plurality of groups and providing web services need to be distributed by the matching server. For example, when a card game is divided into a seed 1000 group, a seed 5000 group, a seed 10000 group, a seed 20000 group, and a seed 50000 group according to the size of the seed, any user terminal accesses the matching server to seed 10000 group When requesting participation, the matching server may determine at least one server to which the seed 10000 group is matched, and select one of the determined servers to match the user terminal. As a result, the user terminal can access the server selected by the matching server and match another user terminal connected to the server to perform the seed 10000 card game.

그러나, 수 많은 사용자 단말기들이 복수의 그룹들 중 하나를 선택하여 매칭 서버에 동시에 접속할 경우, 상기 매칭 서버는 매칭을 위한 연산 처리에 따른 부하가 급격히 증가되어, 접속 시간이 많이 증가하거나 접속 제한과 같은 접속 오류가 발생될 수 있다. 또한, 이를 방지하기 위해서 새로운 매칭 서버를 더 구비하여 배치시킬 수도 있다.However, when a large number of user terminals select one of a plurality of groups to access the matching server at the same time, the matching server rapidly increases the load due to the calculation processing for matching, so that the connection time increases or the access limit increases. Connection errors may occur. In addition, a new matching server may be further provided to prevent this.

따라서, 본 발명은 이러한 문제점을 해결하고자 도출된 것으로, 본 발명이 해결하고자 하는 과제는 서버와의 매칭을 위한 연산 처리의 부하를 감소시킨 서버 접속 방법을 제공하는 것이다.Therefore, the present invention has been derived to solve such a problem, and the problem to be solved by the present invention is to provide a server access method that reduces the load of arithmetic processing for matching with a server.

또한, 본 발명이 해결하고자 하는 다른 과제는 상기 서버 접속 방법을 이용한 서버 시스템을 제공하는 것이다.In addition, another problem to be solved by the present invention is to provide a server system using the server connection method.

본 발명의 일 실시예에 따른 서버 접속 방법은 복수의 서버들 중 하나의 서버에 접속하기 위한 사용자 단말기에 의해 수행되는 방법에 관한 것으로, 운영 서버로부터, 복수의 그룹들에 대한 배분 웨이트들을 포함하는 그룹별 배분 웨이트 정보를 수신하는 단계; 상기 그룹별 배분 웨이트 정보를 이용하여, 상기 그룹들 각각을 상기 서버들 중 적어도 하나의 서버와 매칭시킨 정보를 포함하는 그룹별 서버 매칭 정보를 생성하는 단계; 및 상기 그룹별 서버 매칭 정보를 이용하여, 상기 서버들 중 하나의 서버를 선택하여 접속하는 단계를 포함할 수 있다.A server access method according to an embodiment of the present invention relates to a method performed by a user terminal for accessing one of a plurality of servers, and includes distribution weights for a plurality of groups from an operating server Receiving distribution weight information for each group; Generating server matching information for each group including information matching each of the groups with at least one of the servers by using the distribution weight information for each group; And selecting and accessing one of the servers using the server matching information for each group.

상기 그룹별 서버 매칭 정보를 생성하는 단계는 상기 그룹별 배분 웨이트 정보를 이용하여, 상기 그룹들 각각을 적어도 하나의 웨이트 조각으로 구분하는 단계; 상기 그룹들로부터 구분되어 생성된 웨이트 조각들을 웨이트 크기 순으로 배열하는 단계; 상기 웨이트 조각들을 웨이트 크기 순서대로 하나씩 상기 서버들에 순차적으로 매칭하는 단계; 상기 웨이트 조각들 중 매칭되지 않는 적어도 하나의 웨이트 조각(이하, '미매칭 조각'이라 함)이 존재하면, 상기 미매칭 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭하는 단계; 및 상기 웨이트 조각들 및 상기 서버들 간의 매칭 관계를 이용하여, 상기 그룹별 서버 접속 매칭 정보를 생성하는 단계를 포함할 수 있다.The generating of server matching information for each group may include classifying each of the groups into at least one weight piece using the distribution weight information for each group; Arranging the weight pieces generated separately from the groups in order of weight size; Sequentially matching the weight pieces to the servers one by one in order of weight size; If there is at least one unmatched weight piece (hereinafter, referred to as a 'mismatched piece') among the weight pieces, matching the unmatched pieces to any one of the servers, one by one; And generating matching server connection matching information for each group by using a matching relationship between the weight pieces and the servers.

상기 그룹들 각각을 적어도 하나의 웨이트 조각으로 구분하는 단계에서는, 상기 그룹별 배분 웨이트 정보에 포함된 상기 그룹들 각각에 대한 배분 웨이트를, 상기 서버들 각각에 수용을 위해 할당된 서버 웨이트로 나누워, 적어도 하나의 웨이트 조각으로 구분할 수 있다.In the step of dividing each of the groups into at least one piece of weight, the distribution weight for each of the groups included in the distribution weight information for each group is divided by the server weight allocated for accommodating each of the servers, It can be divided into at least one piece of weight.

상기 그룹들 각각을 적어도 하나의 웨이트 조각으로 구분하는 단계에서는, 상기 그룹들 각각에 대한 배분 웨이트를 상기 서버 웨이트로 나누워 몫과 나머지를 생성한 후, 상기 몫이 영(0)이고 상기 나머지가 존재할 때, 상기 나머지에 해당하는 웨이트를 갖는 웨이트 조각을 하나 생성하고, 상기 몫이 일(1) 이상이고 상기 나머지가 존재하지 않을 때, 상기 서버 웨이트를 갖는 웨이트 조각을 상기 몫의 개수만큼 생성하며, 상기 몫이 일(1) 이상이고 상기 나머지가 존재할 때, 상기 서버 웨이트를 갖는 웨이트 조각을 상기 몫의 개수만큼 생성하고, 상기 나머지에 해당하는 웨이트를 갖는 웨이트 조각을 별도로 하나 생성할 수 있다.In the step of dividing each of the groups into at least one weight piece, after dividing the distribution weight for each of the groups by the server weight to generate a quotient and the remainder, the quotient is zero and the remainder is present. At this time, one weight piece having a weight corresponding to the rest is generated, and when the quotient is more than one (1) and the rest does not exist, a weight piece having the server weight is generated as many as the number of shares, When the quotient is greater than or equal to one (1) and the remainder is present, the number of weight pieces having the server weight may be generated as many as the number of quotients, and one weight piece having the weight corresponding to the rest may be separately generated.

상기 그룹별 서버 매칭 정보를 생성하는 단계는 상기 그룹들 중 복수의 웨이트 조각들로 구분된 적어도 하나의 그룹(이하, '복수 조각 그룹'이라 함)이 존재하고, 상기 복수 조각 그룹로부터 구분되어 생성된 웨이트 조각들 중 기준치 이하의 웨이트를 포함하는 웨이트 조각(이하, '기준치 이하 조각'이라 함)이 존재할 경우, 상기 기준치 이하 조각을 삭제하는 단계를 더 포함할 수 있다.In the step of generating server matching information for each group, at least one group (hereinafter referred to as a 'multiple pieces group') divided into a plurality of weight pieces among the groups exists, and is generated separately from the plurality of pieces groups. If there is a weight piece (hereinafter referred to as a "piece below the reference value") that includes a weight below the reference value among the pieces of the weight, the step of deleting the piece below the reference value may be further included.

상기 미매칭 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭하는 단계에서는, 상기 서버들 중에서, 상기 서버들 각각에 수용을 위해 할당된 서버 웨이트보다 적은 웨이트를 갖는 웨이트 조각이 매칭된 적어도 하나의 서버(이하, '미충족 서버')가 존재할 때, 상기 미매칭 조각을 하나씩 상기 미충족 서버 중 어느 하나의 서버에 각각 매칭할 수 있다.In the step of matching each of the unmatched pieces to one of the servers one by one, among the servers, at least one weight piece having less weight than a server weight allocated for accommodating each of the servers is matched. When the server (hereinafter referred to as 'unsatisfied server') exists, the unmatched pieces may be matched to any one of the unsatisfied servers one by one.

상기 미매칭 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭하는 단계에서는, 상기 서버들 중에서 상기 미충족 서버가 존재할 때, 상기 미매칭 조각을 웨이트 크기 순서대로 하나씩 상기 미충족 서버 중 어느 하나의 서버에 각각 매칭할 수 있다.In the step of matching each of the unmatched pieces to any one of the servers one by one, when the unmatched server is present among the servers, the unmatched pieces are either one of the unmet servers, one by one in the order of weight size. You can match each.

상기 미매칭 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭하는 단계에는, 상기 서버들 중에서 상기 미충족 서버가 존재할 때, 상기 미매칭 조각을 웨이트 크기 순서대로 하나씩 상기 미충족 서버 중 더 적은 웨이트를 갖는 웨이트 조각과 매칭된 서버에 우선하여 매칭할 수 있다.In the step of matching the unmatched pieces to any one of the servers one by one, when the unmatched servers are present among the servers, the unmatched pieces are given less weight among the unmet servers one by one in the order of weight size. It is possible to prioritize matching to a server matched with a weight piece possessed.

상기 미매칭 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭하는 단계에서는, 상기 서버들 중에서 상기 미충족 서버가 존재하지 않았을 때, 상기 미매칭 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭하고, 상기 서버들 중에서 상기 미충족 서버가 존재할 때, 상기 미매칭 조각을 하나씩 상기 미충족 서버 중 어느 하나의 서버에 각각 매칭하며(이하, '미충족 서버 매칭 과정'라 함), 상기 미충족 서버 매칭 과정을 수행하는 도중, 상기 미충족 서버 모두가 상기 서버 웨이트 이상의 웨이트를 구비하도록 복수의 웨이트 조각들과 각각 매칭되는 경우, 상기 미매칭 조각 중 매칭되지 않고 남겨진 적어도 하나의 웨이트 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭할 수 있다.In the step of matching each of the unmatched pieces to one of the servers one by one, when the unmet server does not exist among the servers, each of the unmatched pieces is sent to one of the servers one by one. Matching, when the unsatisfied server is present among the servers, the unmatched pieces are matched to any one of the unsatisfied servers one by one (hereinafter referred to as 'unsatisfied server matching process'), and the unsatisfied server matching process During the process, if all of the unsatisfied servers match each of a plurality of weight pieces so as to have a weight equal to or greater than the server weight, any one of the servers may be assigned at least one weight piece left unmatched among the unmatched pieces. Each server can be matched.

상기 서버들 중 하나의 서버를 선택하여 접속하는 단계는 상기 그룹들 중 참여를 원하는 하나의 그룹(이하, '타겟 그룹'이라 함)을 결정하는 단계; 상기 그룹별 서버 매칭 정보를 이용하여, 상기 타겟 그룹과 매칭된 적어도 하나의 서버(이하, '매칭 서버'라 함)를 추출하는 단계; 및 상기 매칭 서버 중 하나의 서버를 선택하여 접속하는 단계를 포함할 수 있다.The step of selecting and accessing one of the servers may include determining one of the groups (hereinafter referred to as a 'target group') that wants to participate; Extracting at least one server (hereinafter referred to as a 'matching server') matching the target group using the server matching information for each group; And selecting and connecting one of the matching servers.

상기 그룹별 서버 매칭 정보는 상기 그룹들 각각을 매칭 웨이트만큼 할당되어 상기 서버들 중 적어도 하나의 서버와 매칭시킨 정보를 포함할 수 있다. 이때, 상기 매칭 서버 중 하나의 서버를 선택하여 접속하는 단계에서는, 상기 매칭 서버가 하나일 경우, 상기 매칭 서버에 접속하고, 상기 매칭 서버가 복수개일 때, 상기 그룹별 서버 매칭 정보를 이용하여, 상기 매칭 서버 중에서, 상기 타겟 그룹과의 매칭을 위해 할당된 매칭 웨이트의 비율에 따른 확률로 하나의 서버를 선택하여 접속할 수 있다.The server matching information for each group may include information in which each of the groups is allocated by a matching weight to match at least one of the servers. At this time, in the step of selecting and accessing one of the matching servers, if there is only one matching server, accessing the matching server, and when there are multiple matching servers, using the server matching information for each group, Among the matching servers, a single server may be selected and accessed with a probability according to a ratio of matching weights allocated for matching with the target group.

이어서, 본 발명의 일 실시예에 따른 서버 시스템은 복수의 서버들 및 운영 서버를 포함한다. 상기 서버들은 사용자 단말기와 접속될 수 있다. 상기 운영 서버는 복수의 그룹들에 대한 배분 웨이트들을 포함하는 그룹별 배분 웨이트 정보를 저장하고 있다가 상기 그룹별 배분 웨이트 정보를 상기 사용자 단말기로 제공한다. 이때, 상기 사용자 단말기는 상기 운영 서버로부터 수신된 상기 그룹별 배분 웨이트 정보를 이용하여 상기 그룹들 각각을 상기 서버들 중 적어도 하나의 서버와 매칭시킨 정보를 포함하는 그룹별 서버 매칭 정보를 생성하고, 상기 그룹별 서버 매칭 정보를 이용하여 상기 서버들 중 하나의 서버를 선택하여 접속한다.Subsequently, a server system according to an embodiment of the present invention includes a plurality of servers and an operation server. The servers can be connected to a user terminal. The operation server stores distribution weight information for each group including distribution weights for a plurality of groups, and provides the distribution weight information for each group to the user terminal. At this time, the user terminal generates server matching information for each group including information that matches each of the groups with at least one of the servers using the distribution weight information for each group received from the operation server, One of the servers is selected and accessed using the server matching information for each group.

이어서, 본 발명의 일 실시예에 따른 서버 접속 방법은 사용자 단말기를 복수의 서버들 중 하나의 서버와 접속시키기 위한 매칭 서버에 의해 수행되는 방법에 관한 것으로, 운영 서버로부터, 복수의 그룹들에 대한 배분 웨이트들을 포함하는 그룹별 배분 웨이트 정보를 수신하는 단계; 상기 그룹별 배분 웨이트 정보를 이용하여, 상기 그룹들 각각을 상기 서버들 중 적어도 하나의 서버와 매칭시킨 정보를 포함하는 그룹별 서버 매칭 정보를 생성하는 단계; 및 상기 그룹별 서버 매칭 정보를 이용하여, 상기 서버들 중 하나의 서버를 선택하여 상기 사용자 단말기와 접속시키는 단계를 포함한다.Subsequently, the server access method according to an embodiment of the present invention relates to a method performed by a matching server for connecting a user terminal to one of a plurality of servers, from an operating server, for a plurality of groups Receiving distribution weight information for each group including distribution weights; Generating server matching information for each group including information matching each of the groups with at least one of the servers by using the distribution weight information for each group; And using the server matching information for each group, selecting one of the servers to access the user terminal.

이어서, 본 발명의 일 실시예에 따른 서버 시스템은 복수의 서버들, 운영 서버 및 매칭 서버를 포함한다. 상기 운영 서버는 복수의 그룹들에 대한 배분 웨이트들을 포함하는 그룹별 배분 웨이트 정보를 저장하고 있다. 상기 매칭 서버는 상기 운영 서버로부터 상기 그룹별 배분 웨이트 정보를 수신하고, 상기 그룹별 배분 웨이트 정보를 이용하여 상기 그룹들 각각을 상기 서버들 중 적어도 하나의 서버와 매칭시킨 정보를 포함하는 그룹별 서버 매칭 정보를 생성하며, 상기 그룹별 서버 매칭 정보를 이용하여 상기 서버들 중 하나의 서버를 선택하여 상기 사용자 단말기와 접속시킨다.Subsequently, the server system according to an embodiment of the present invention includes a plurality of servers, an operation server, and a matching server. The operation server stores distribution weight information for each group including distribution weights for a plurality of groups. The matching server receives the distribution weight information for each group from the operation server, and a server for each group including information that matches each of the groups with at least one server among the servers using the distribution weight information for each group. Matching information is generated, and one server among the servers is selected using the server matching information for each group to access the user terminal.

이와 같이 본 발명에 따른 서버 접속 방법 및 이를 이용한 서버 시스템에 따르면, 사용자 단말기 또는 매칭 서버가 복수의 그룹들에 대한 배분 웨이트들을 포함하는 그룹별 배분 웨이트 정보를 이용하여, 상기 그룹들 각각을 상기 서버들 중 적어도 하나의 서버와 매칭시킨 정보를 포함하는 그룹별 서버 매칭 정보를 생성한 후, 상기 그룹별 서버 매칭 정보를 이용하여 상기 서버들 중 하나의 서버를 선택함에 따라, 상기 사용자 단말기 및 상기 서버들 간의 매칭 연산 과정이 보다 단순화되어 매칭 연산 처리의 부하가 감소될 수 있다.According to the server access method and the server system using the same according to the present invention, the user terminal or the matching server uses the distribution weight information for each group including distribution weights for a plurality of groups, so that each of the groups is the server. After generating server matching information for each group including information matched with at least one server among them, the user terminal and the server are selected by selecting one of the servers using the server matching information for each group. The matching operation process among them is more simplified, so that the load of the matching operation processing can be reduced.

도 1은 본 발명의 제1 실시예에 따른 서버 시스템을 도시한 개념도이다.
도 2는 도 1의 서버 시스템 중 운영 서버에 저장되어 있는 그룹별 배분 웨이트 정보의 일 예를 도시한 도면이다.
도 3은 도 1의 서버 시스템을 이용하여 사용자 단말기를 하나의 서버와 접속시킬 수 있는 서버 접속 방법을 도시한 순서도이다.
도 4는 도 2의 서버 접속 방법 중 그룹별 서버 매칭 정보 생성 과정을 상세하게 도시한 순서도이다.
도 5는 도 4의 그룹별 서버 매칭 정보 생성 과정 중 웨이트 조각들의 생성 과정의 일 예를 도시한 도면이다.
도 6은 도 4의 그룹별 서버 매칭 정보 생성 과정 중 웨이트 조각들의 배열 과정의 일 예를 도시한 도면이다.
도 7은 도 4의 그룹별 서버 매칭 정보 생성 과정 중 웨이트 조각들의 매칭 과정의 일 예를 도시한 도면이다.
도 8은 도 4의 그룹별 서버 매칭 정보 생성 과정 중 미매칭 조각의 매칭 과정의 일 예를 도시한 도면이다.
도 9는 도 8의 미매칭 조각의 매칭 과정에 의해 생성된 그룹별 서버 매칭 정보를 도시한 도면이다.
도 10은 도 4의 그룹별 서버 매칭 정보 생성 과정 중 미매칭 조각의 매칭 과정의 다른 예를 도시한 도면이다.
도 11은 도 10의 미매칭 조각의 매칭 과정에 의해 생성된 그룹별 서버 매칭 정보를 도시한 도면이다.
도 12는 도 2의 서버 접속 방법 중 서버 선택 과정을 상세하게 도시한 순서도이다.
도 13은 도 12의 서버 선택 과정 중 타겟 그룹 결정 과정을 도시한 도면이다.
도 14는 도 12의 서버 선택 과정 중 매칭 서버 추출 과정을 도시한 도면이다.
도 15는 도 12의 서버 선택 과정 중 매칭 서버 중에서의 서버 선택 과정을 도시한 도면이다.
도 16은 본 발명의 제2 실시예에 따른 서버 시스템을 도시한 개념도이다.
1 is a conceptual diagram showing a server system according to a first embodiment of the present invention.
FIG. 2 is a diagram illustrating an example of distribution weight information for each group stored in an operation server among the server systems of FIG. 1.
FIG. 3 is a flow chart illustrating a server connection method capable of connecting a user terminal to one server using the server system of FIG. 1.
4 is a flowchart illustrating in detail the process of generating server matching information for each group among the server access methods of FIG. 2.
5 is a diagram illustrating an example of a process of generating weight pieces in the process of generating server matching information for each group of FIG. 4.
6 is a diagram illustrating an example of an arrangement process of weight pieces in the process of generating server matching information for each group of FIG. 4.
7 is a diagram illustrating an example of a matching process of weight pieces in the process of generating server matching information for each group of FIG. 4.
FIG. 8 is a diagram illustrating an example of a matching process of mismatched pieces in the process of generating server matching information for each group of FIG. 4.
FIG. 9 is a diagram illustrating server matching information for each group generated by the matching process of the mismatching pieces of FIG. 8.
FIG. 10 is a diagram illustrating another example of a matching process of mismatched pieces in the process of generating server matching information for each group of FIG. 4.
FIG. 11 is a diagram illustrating server matching information for each group generated by the matching process of the mismatching pieces of FIG. 10.
12 is a flowchart illustrating in detail a server selection process among the server access methods of FIG. 2.
13 is a diagram illustrating a target group determination process in the server selection process of FIG. 12.
14 is a diagram illustrating a matching server extraction process among the server selection process of FIG. 12.
15 is a diagram illustrating a server selection process among matching servers among the server selection process of FIG. 12.
16 is a conceptual diagram showing a server system according to a second embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조 부호를 유사한 구성 요소에 대해 사용하였다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 과장하여 도시한 것일 수 있다. The present invention can be applied to various changes and may have various forms, and specific embodiments will be illustrated in the drawings and described in detail in the text. However, this is not intended to limit the present invention to a specific disclosure form, and it should be understood that all modifications, equivalents, and substitutes included in the spirit and scope of the present invention are included. In describing each drawing, similar reference numerals are used for similar components. In the accompanying drawings, the dimensions of the structures may be exaggerated than actual in order to clarify the present invention.

제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from other components. For example, the first component may be referred to as a second component without departing from the scope of the present invention, and similarly, the second component may also be referred to as a first component.

본 출원에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 또한, A와 B가'연결된다', '결합된다'라는 의미는 A와 B가 직접적으로 연결되거나 결합하는 것 이외에 다른 구성요소 C가 A와 B 사이에 포함되어 A와 B가 연결되거나 결합되는 것을 포함하는 것이다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, terms such as “include” or “have” are intended to indicate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, or that one or more other features or It should be understood that the existence or addition possibilities of numbers, steps, actions, components, parts or combinations thereof are not excluded in advance. Also, A and B means 'connected' and 'joined', in addition to A and B being directly connected or joined, other components C are included between A and B so that A and B are connected or joined. It includes things.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 또한, 방법 발명에 대한 특허청구범위에서, 각 단계가 명확하게 순서에 구속되지 않는 한, 각 단계들은 그 순서가 서로 바뀔 수도 있다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art to which the present invention pertains. Terms such as those defined in a commonly used dictionary should be interpreted as having meanings consistent with meanings in the context of related technologies, and should not be interpreted as ideal or excessively formal meanings unless explicitly defined in the present application. Does not. In addition, in the claims of a method invention, unless each step is clearly bound to the order, the order of each step may be reversed.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명하고자 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

<서버 시스템 1><Server system 1>

도 1은 본 발명의 제1 실시예에 따른 서버 시스템을 도시한 개념도이고, 도 2는 도 1의 서버 시스템 중 운영 서버에 저장되어 있는 그룹별 배분 웨이트 정보의 일 예를 도시한 도면이다.1 is a conceptual diagram illustrating a server system according to a first embodiment of the present invention, and FIG. 2 is a diagram illustrating an example of distribution weight information for each group stored in an operation server among the server systems of FIG. 1.

도 1 및 도 2를 참조하면, 본 실시예에 의한 서버 시스템은 복수의 서버들(20) 및 운영 서버(30)를 포함하여, 임의의 웹 서비스, 예를 들어 카드 게임과 같은 게임 서비스를 적어도 하나의 사용자 단말기(10)에게 제공할 수 있다. 여기서, 상기 사용자 단말기(10)는 스마트폰, 테블릿 PC 등과 같은 이동통신 단말기일 수도 있지만, 노트북 및 데스크탑 등과 같은 컴퓨터 시스템일 수도 있다.1 and 2, the server system according to the present embodiment includes a plurality of servers 20 and an operation server 30, at least any web service, for example, a game service such as a card game It can be provided to one user terminal 10. Here, the user terminal 10 may be a mobile communication terminal such as a smart phone or a tablet PC, but may also be a computer system such as a laptop and a desktop.

본 실시예에서, 상기 웹 서비스는 복수의 그룹들로 구분되어 사용자들에게 제공될 수 있다. 예를 들어, 상기 웹 서비스가 카드 게임을 제공하는 게임 서비스일 경우, 시드(seed)의 크기에 따라 복수로 구분되어 제공될 수 있다. 일 예로, 도 2에서와 같이, 상기 그룹들은 시드가 20000인 그룹 1, 시드가 100000인 그룹 2, 시드가 1000000인 그룹 3, 시드가 1000인 그룹 4 및 시드가 5000인 그룹 5로 구성될 수 있다.In this embodiment, the web service may be divided into a plurality of groups and provided to users. For example, when the web service is a game service providing a card game, it may be provided in a plurality of categories according to the size of a seed. As an example, as in FIG. 2, the groups may consist of group 1 with a seed of 20000, group 2 with a seed of 100000, group 3 with a seed of 1000000, group 4 with a seed of 1000, and group 5 with a seed of 5000. have.

상기 서버들(20) 각각은 인터넷을 통해 상기 사용자 단말기(10)와 접속되어 신호를 주고받을 수 있다. 즉, 상기 서버들(20) 중 어느 하나의 서버가 상기 사용자 단말기(10)와 접속될 경우, 상기 사용자 단말기(10)에게 상기 웹 서비스를 제공할 수 있다. 본 실시예에서, 상기 서버들(20)에는 모두 동일한 서버 웨이트가 할당되어 있을 수 있다. 이때, '웨이트'는 상기 사용자 단말기(10) 및 상기 서버들 간의 매칭에 사용되는 수치이고, 상기 서버 웨이트는 상기 사용자 단말기(10)과 매칭을 수용할 수 있도록 상기 서버들(20) 각각에 할당된 웨이트를 의미할 수 있다. 예를 들어, 상기 서버들(20)이 서버 1 내지 7로 구성될 때, 상기 서버 웨이트는 14이고, 서버 총 웨이트는 98일 수 있다.Each of the servers 20 is connected to the user terminal 10 through the Internet to send and receive signals. That is, when any one of the servers 20 is connected to the user terminal 10, the web service may be provided to the user terminal 10. In the present embodiment, all of the servers 20 may be assigned the same server weight. At this time, 'weight' is a value used for matching between the user terminal 10 and the servers, and the server weight is assigned to each of the servers 20 to accommodate the matching with the user terminal 10 It can mean the weight that was made. For example, when the servers 20 are configured with servers 1 to 7, the server weight may be 14 and the total server weight may be 98.

상기 운영 서버(30)는 인터넷을 통해 상기 사용자 단말기(10)와 접속되어 신호를 주고받을 수 있다. 상기 운영 서버(30)는 상기 그룹들에 대한 배분 웨이트들을 포함하는 그룹별 배분 웨이트 정보를 저장하고 있고, 상기 사용자 단말기(10)에 상기 그룹별 배분 웨이트 정보를 제공할 수 있다. 일례로, 도 2에서와 같이, 상기 그룹 1에 대한 배분 웨이트는 30이고, 상기 그룹 2에 대한 웨이트는 40이며, 상기 그룹 3에 대한 배분 웨이트는 20이고, 상기 그룹 4에 대한 배분 웨이트는 5이며, 상기 그룹 5에 대한 배분 웨이트는 9일 수 있다. 그 결과, 상기 그룹들의 총 웨이트는 104일 수 있다. 한편, 상기 그룹들에 대한 배분 웨이트들은 일정 기간 동안 상기 그룹들 각각 참여한 사용자들의 비율을 이용하여 변경되어 상기 운영 서버(30)에 저장될 수도 있다.The operation server 30 is connected to the user terminal 10 through the Internet to send and receive signals. The operation server 30 stores distribution weight information for each group including distribution weights for the groups, and may provide distribution weight information for each group to the user terminal 10. As an example, as in FIG. 2, the distribution weight for group 1 is 30, the weight for group 2 is 40, the distribution weight for group 3 is 20, and the distribution weight for group 4 is 5 And, the distribution weight for the group 5 may be 9. As a result, the total weight of the groups may be 104. Meanwhile, the distribution weights for the groups may be changed using a ratio of users participating in each of the groups for a period of time and stored in the operation server 30.

도 3은 도 1의 서버 시스템을 이용하여 사용자 단말기를 하나의 서버와 접속시킬 수 있는 서버 접속 방법을 도시한 순서도이다.FIG. 3 is a flow chart illustrating a server connection method capable of connecting a user terminal to one server using the server system of FIG. 1.

도 3을 참조하면, 상기 사용자 단말기(10)가 상기 운영 서버(30)로부터 상기 그룹별 배분 웨이트 정보를 수신할 수 있다(S100). 구체적으로 설명하면, 상기 사용자 단말기(10)가 상기 서버들(20)에서 제공하는 웹 서비스, 예를 들어 카드 게임과 같은 게임 서비스를 제공받기 위해 게임 프로그램을 실행하면, 상기 사용자 단말기(10)가 상기 운영 서버(30)에 접속하여 상기 운영 서버(30)로부터 상기 그룹별 배분 웨이트 정보를 제공받을 수 있다.Referring to FIG. 3, the user terminal 10 may receive the distribution weight information for each group from the operation server 30 (S100). Specifically, when the user terminal 10 executes a game program to receive a web service provided by the servers 20, for example, a game service such as a card game, the user terminal 10 The distribution weight information for each group may be provided from the operation server 30 by accessing the operation server 30.

이어서, 상기 사용자 단말기(10)가 상기 그룹별 배분 웨이트 정보를 이용하여, 상기 그룹들 각각을 상기 서버들(20) 중 적어도 하나의 서버(20)와 매칭시킨 정보를 포함하는 그룹별 서버 매칭 정보를 생성할 수 있다(S200). 이하, 상기 그룹별 서버 매칭 정보 생성 과정(S200)에 대해 별도의 도면들을 이용하여 설명하고자 한다.Subsequently, the server matching information for each group includes information that the user terminal 10 matches each of the groups with at least one server 20 of the servers 20 using the distribution weight information for each group. It may be generated (S200). Hereinafter, the process of generating the server matching information for each group (S200) will be described using separate drawings.

이어서, 상기 사용자 단말기(10)가 상기 그룹별 서버 매칭 정보를 이용하여, 상기 서버들(20) 중 하나의 서버(20)를 선택하여 접속할 수 있다(S300). 이하, 상기 서버 선택 과정(S300)에 대해 별도의 도면들을 이용하여 설명하고자 한다.Subsequently, the user terminal 10 may access the server 20 by selecting one of the servers 20 using the server matching information for each group (S300). Hereinafter, the server selection process (S300) will be described using separate drawings.

우선, 상기 그룹별 서버 매칭 정보 생성 과정(S200)에 대해 상세하게 설명하고자 한다.First, the process of generating the server matching information for each group (S200) will be described in detail.

도 4는 도 2의 서버 접속 방법 중 그룹별 서버 매칭 정보 생성 과정을 상세하게 도시한 순서도이고, 도 5는 도 4의 그룹별 서버 매칭 정보 생성 과정 중 웨이트 조각들의 생성 과정의 일 예를 도시한 도면이다.4 is a flowchart illustrating in detail the process of generating server matching information for each group among the server access methods of FIG. 2, and FIG. 5 is an example of a process for generating weight pieces during the process of generating server matching information for each group of FIG. 4. It is a drawing.

도 4 및 도 5를 참조하면, 상기 그룹별 서버 매칭 정보 생성 과정(S200)으로, 우선 상기 사용자 단말기(10)가 상기 그룹별 배분 웨이트 정보를 이용하여, 상기 그룹들 각각을 적어도 하나의 웨이트 조각으로 구분할 수 있다(S210).4 and 5, in the server matching information generation process for each group (S200), first, the user terminal 10 uses the distribution weight information for each group, and at least one weight piece for each of the groups It can be divided into (S210).

구체적으로 설명하면, 상기 사용자 단말기(10)가 상기 그룹들 각각에 대한 배분 웨이트를 상기 서버 웨이트로 나누워 몫과 나머지를 생성한 후, 상기 몫이 영(0)이고 상기 나머지가 존재할 때, 상기 나머지에 해당하는 웨이트를 갖는 웨이트 조각을 하나 생성하고, 상기 몫이 일(1) 이상이고 상기 나머지가 존재하지 않을 때, 상기 서버 웨이트를 갖는 웨이트 조각을 상기 몫의 개수만큼 생성하며, 상기 몫이 일(1) 이상이고 상기 나머지가 존재할 때, 상기 서버 웨이트를 갖는 웨이트 조각을 상기 몫의 개수만큼 생성하고, 상기 나머지에 해당하는 웨이트를 갖는 웨이트 조각을 별도로 하나 생성할 수 있다.Specifically, after the user terminal 10 divides the distribution weight for each of the groups by the server weight to generate a quotient and the remainder, when the quotient is zero and the remainder exists, the remainder One weight piece having a weight corresponding to is generated, and when the quotient is greater than or equal to one (1) and the rest does not exist, the weight piece having the server weight is generated as many as the quotient, and the quotient is one (1) When the above is the remainder, the weight pieces having the server weight may be generated as many as the quotient, and one weight piece having the weight corresponding to the rest may be separately generated.

예를 들어, 상기 그룹 1에 대한 배분 웨이트인 30을 상기 서버 웨이트인 14로 나누면, 몫과 나머지로 2 및 2가 생성되고, 그에 따라 도 5와 같이 14의 웨이트를 갖는 2개의 웨이트 조각들 및 2의 웨이트를 갖는 1개의 웨이트 조각이 생성될 수 있다. 상기 그룹 2에 대한 배분 웨이트인 40을 상기 서버 웨이트인 14로 나누면, 몫과 나머지로 2 및 12가 생성되고, 그에 따라 도 5와 같이 14의 웨이트를 갖는 2개의 웨이트 조각들 및 12의 웨이트를 갖는 1개의 웨이트 조각이 생성될 수 있다. 상기 그룹 3에 대한 배분 웨이트인 20을 상기 서버 웨이트인 14로 나누면, 몫과 나머지로 1 및 6이 생성되고, 그에 따라 도 5와 같이 14의 웨이트를 갖는 1개의 웨이트 조각 및 6의 웨이트를 갖는 1개의 웨이트 조각이 생성될 수 있다. 상기 그룹 4에 대한 배분 웨이트인 5를 상기 서버 웨이트인 14로 나누면, 몫과 나머지로 0 및 5가 생성되고, 그에 따라 도 5와 같이 5의 웨이트를 갖는 1개의 웨이트 조각이 생성될 수 있다. 상기 그룹 5에 대한 배분 웨이트인 9를 상기 서버 웨이트인 14로 나누면, 몫과 나머지로 0 및 9가 생성되고, 그에 따라 도 5와 같이 9의 웨이트를 갖는 1개의 웨이트 조각이 생성될 수 있다.For example, if the distribution weight 30 for the group 1 is divided by the server weight 14, 2 and 2 are generated as a quotient and the remainder, and accordingly, as shown in FIG. 5, two weight pieces having a weight of 14 and One piece of weight with 2 weights can be created. Dividing the distribution weight 40 for the group 2 by the server weight 14, 2 and 12 are generated as the quotient and the remainder, and accordingly, as shown in FIG. 5, the two weight pieces having the weight of 14 and the weight of 12 One piece of weight to have can be created. If the distribution weight for group 3 is divided by the server weight of 14, 1 and 6 are generated as quotient and remainder, and accordingly, as shown in FIG. 5, 1 weight piece having 14 weight and 6 weight One weight piece can be created. If the distribution weight for group 4 is divided by the server weight of 14, 0 and 5 are generated as quotient and remainder, and accordingly, as shown in FIG. 5, one weight piece having a weight of 5 may be generated. When the distribution weight 9 for the group 5 is divided by the server weight 14, 0 and 9 are generated as quotient and remainder, and accordingly, as shown in FIG. 5, one weight piece having a weight of 9 may be generated.

이어서, 상기 사용자 단말기(10)가 상기 그룹들 중 복수의 웨이트 조각들로 구분된 적어도 하나의 그룹(이하, '복수 조각 그룹'이라 함)이 존재하고, 상기 복수 조각 그룹로부터 구분되어 생성된 웨이트 조각들 중 기준치 이하의 웨이트를 포함하는 웨이트 조각(이하, '기준치 이하 조각'이라 함)이 존재할 경우, 상기 기준치 이하 조각을 삭제할 수 있다(S220). 이때, 상기 기준치는 2일 수 있다.Subsequently, the user terminal 10 has at least one group (hereinafter referred to as 'plural pieces group') divided into a plurality of weight pieces among the groups, and weights generated by being separated from the plurality of pieces groups. If there is a weight piece (hereinafter referred to as a "piece below the reference value") that includes a weight below the reference value among the pieces, the piece below the reference value may be deleted (S220). At this time, the reference value may be 2.

예를 들어, 도 5와 같이, 상기 복수 조각 그룹은 상기 그룹 1, 상기 그룹 2 및 상기 그룹 3일 수 있다. 여기서, 상기 기준치 이하 조각은 상기 그룹 1으로부터 구분되어 생성된 하나의 웨이트 조각일 수 있다. 따라서, 2의 웨이트를 갖는 1개의 웨이트 조각이 삭제될 수 있다.For example, as shown in FIG. 5, the plurality of pieces groups may be the group 1, the group 2, and the group 3. Here, the pieces below the reference value may be one weight piece generated by being separated from the group 1. Therefore, one weight piece having two weights can be deleted.

도 6은 도 4의 그룹별 서버 매칭 정보 생성 과정 중 웨이트 조각들의 배열 과정의 일 예를 도시한 도면이다.6 is a diagram illustrating an example of an arrangement process of weight pieces in the process of generating server matching information for each group of FIG. 4.

도 4 및 도 6을 참조하면, 이어서 상기 사용자 단말기(10)가 상기 그룹들로부터 구분되어 생성된 웨이트 조각들을 웨이트 크기 순으로 배열할 수 있다(S230). 예를 들어, 9개의 웨이트 조각들이 웨이트 크기 순으로 배열될 수 있다.4 and 6, the user terminal 10 may then arrange weight pieces generated by being separated from the groups in order of weight size (S230). For example, nine pieces of weight may be arranged in order of weight size.

도 7은 도 4의 그룹별 서버 매칭 정보 생성 과정 중 웨이트 조각들의 매칭 과정의 일 예를 도시한 도면이다.7 is a diagram illustrating an example of a matching process of weight pieces in the process of generating server matching information for each group of FIG. 4.

도 4 및 도 7을 참조하면, 이어서 상기 사용자 단말기(10)가 상기 웨이트 조각들을 웨이트 크기 순서대로 하나씩 상기 서버들(20)에 순차적으로 매칭할 수 있다(S240). 예를 들어, 상기 서버 1은 상기 그룹 1에서 생성된 하나의 웨이트 조각이 매칭되고, 상기 서버 2는 상기 그룹 1에서 생성된 또 하나의 웨이트 조각이 매칭되며, 상기 서버 3은 상기 그룹 2에서 생성된 하나의 웨이트 조각이 매칭되고, 상기 서버 4는 상기 그룹 2에서 생성된 또 하나의 웨이트 조각이 매칭되며, 상기 서버 5는 상기 그룹 3에서 생성된 하나의 웨이트 조각이 매칭되고, 상기 서버 6은 상기 그룹 2에서 생성된 또 다른 하나의 웨이트 조각이 매칭되고, 상기 서버 7은 상기 그룹 5에서 생성된 하나의 웨이트 조각이 매칭될 수 있다.4 and 7, the user terminal 10 may sequentially match the pieces of weight to the servers 20 one by one in order of weight size (S240). For example, the server 1 matches one weight piece generated in the group 1, the server 2 matches another weight piece generated in the group 1, and the server 3 generates in the group 2 One weight piece matched, the server 4 matches another weight piece generated in the group 2, the server 5 matches one weight piece generated in the group 3, and the server 6 is Another weight piece generated in the group 2 is matched, and the weight piece generated in the group 5 is matched to the server 7.

도 8은 도 4의 그룹별 서버 매칭 정보 생성 과정 중 미매칭 조각의 매칭 과정의 일 예를 도시한 도면이고, 도 9는 도 8의 미매칭 조각의 매칭 과정에 의해 생성된 그룹별 서버 매칭 정보를 도시한 도면이며, 도 10은 도 4의 그룹별 서버 매칭 정보 생성 과정 중 미매칭 조각의 매칭 과정의 다른 예를 도시한 도면이고, 도 11은 도 10의 미매칭 조각의 매칭 과정에 의해 생성된 그룹별 서버 매칭 정보를 도시한 도면이다.FIG. 8 is a diagram illustrating an example of a matching process of mismatched pieces in the process of generating server matching information for each group of FIG. 4, and FIG. 9 is server matching information of each group generated by a matching process of unmatched pieces of FIG. 8. FIG. 10 is a diagram illustrating another example of a matching process of mismatched pieces in the process of generating server matching information for each group of FIG. 4, and FIG. 11 is generated by a matching process of unmatched pieces of FIG. 10. A diagram showing server matching information for each group.

도 4 및 도 8 내지 도 11을 참조하면, 이어서 상기 사용자 단말기(10)가 상기 웨이트 조각들 중 매칭되지 않는 적어도 하나의 웨이트 조각(이하, '미매칭 조각'이라 함)이 존재하면, 상기 미매칭 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭할 수 있다(S250). 도 7을 참조할 때, 상기 미매칭 조각에는 상기 그룹 3에서 생성된 6의 웨이트를 갖는 웨이트 조각과, 상기 그룹 4에서 생성된 5의 웨이트를 갖는 웨이트 조각이 있을 수 있다.4 and 8 to 11, the user terminal 10, if there is at least one non-matching weight pieces of the weight pieces (hereinafter referred to as 'unmatched pieces'), if the Matching pieces may be matched to any one of the servers, one by one (S250). Referring to FIG. 7, the unmatched piece may include a weight piece having a weight of 6 generated in the group 3 and a weight piece having a weight of 5 generated in the group 4.

본 실시예에서, 상기 서버들(20) 중에서, 상기 서버 웨이트, 즉 14의 웨이트보다 적은 웨이트를 갖는 웨이트 조각이 매칭된 적어도 하나의 서버(이하, '미충족 서버')가 존재하는지 여부에 따라 매칭 방법이 달라질 수 있다.In the present embodiment, among the servers 20, the server weight, i.e., a weight piece having a weight less than 14, is matched according to whether at least one server (hereinafter referred to as 'unsatisfied server') exists. Methods may vary.

구체적으로 설명하면, 상기 서버들(20) 중에서 상기 미충족 서버가 존재하지 않았을 때, 상기 사용자 단말기(10)가 상기 미매칭 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭할 수 있다. 예를 들어, 상기 그룹 3에서 생성된 6의 웨이트를 갖는 웨이트 조각은 상기 서버들(20) 중 어느 하나의 서버인 상기 서버 1에 매칭되고, 상기 그룹 4에서 생성된 5의 웨이트를 갖는 웨이트 조각은 상기 서버들(20) 중 어느 하나의 서버인 상기 서버 2에 매칭될 수 있다.Specifically, when the unsatisfied server does not exist among the servers 20, the user terminal 10 may match the unmatched pieces to any one of the servers, one by one. For example, a weight piece having a weight of 6 generated in the group 3 matches the server 1, which is one of the servers 20, and a weight piece having a weight of 5 generated in the group 4 May match the server 2, which is one of the servers 20.

반면, 상기 서버들(20) 중에서 상기 미충족 서버가 존재할 때, 상기 사용자 단말기(10)가 상기 미매칭 조각을 웨이트 크기 순서대로 하나씩 상기 미충족 서버 중 어느 하나의 서버에 각각 매칭할 수 있다(이하, '미충족 서버 매칭 과정'라 함). 예를 들어, 도 7에서와 같이, 상기 서버 6은 12의 웨이트를 갖는 웨이트 조각이 매칭되어 있고, 상기 서버 7은 9의 웨이트를 갖는 웨이트 조각이 매칭되어 있으므로, 상기 서버 6 및 상기 서버 7은 상기 미충족 서버에 해당할 수 있다. 따라서, 도 8과 같이, 상기 그룹 3에서 생성된 6의 웨이트를 갖는 웨이트 조각은 상기 서버 6에 매칭되고, 상기 그룹 4에서 생성된 5의 웨이트를 갖는 웨이트 조각은 상기 서버 7에 매칭될 수 있다.On the other hand, when the unsatisfied server exists among the servers 20, the user terminal 10 may match the unmatched pieces to any one of the unsatisfied servers, one by one in the order of weight size (hereinafter, hereinafter). 'Unsatisfied server matching process'). For example, as shown in FIG. 7, since the server 6 matches the weight pieces having the weight of 12, and the server 7 matches the weight pieces having the weight of 9, the server 6 and the server 7 are It may correspond to the unmet server. Accordingly, as shown in FIG. 8, a weight piece having a weight of 6 generated in the group 3 matches the server 6, and a weight piece having a weight of 5 generated in the group 4 can match the server 7. .

이와 다르게, 상기 미충족 서버 매칭 과정에서, 상기 사용자 단말기(10)가 상기 미매칭 조각을 웨이트 크기 순서대로 하나씩 상기 미충족 서버 중 더 적은 웨이트를 갖는 웨이트 조각과 매칭된 서버에 우선하여 매칭할 수도 있다. 예를 들어, 상기 서버 7이 상기 서버 6보다 더 적은 웨이트를 갖는 웨이트 조각과 매칭되어 있으므로, 도 10과 같이 상기 그룹 3에서 생성된 6의 웨이트를 갖는 웨이트 조각은 상기 서버 7에 매칭되고, 상기 그룹 4에서 생성된 5의 웨이트를 갖는 웨이트 조각은 상기 서버 6에 매칭될 수 있다.Alternatively, in the unsatisfied server matching process, the user terminal 10 may preferentially match the unmatched pieces in the order of weight size to the matched server with the lesser weighted piece among the unsatisfied servers. For example, since the server 7 is matched with a weight piece having less weight than the server 6, the weight piece having a weight of 6 generated in the group 3 is matched to the server 7, as shown in FIG. A weight piece having a weight of 5 generated in group 4 may match the server 6.

한편, 상기 미충족 서버 매칭 과정을 수행하는 도중, 상기 미충족 서버 모두가 상기 서버 웨이트 이상의 웨이트를 구비하도록 복수의 웨이트 조각들과 각각 매칭되는 경우, 상기 사용자 단말기(10)가 상기 미매칭 조각 중 매칭되지 않고 남겨진 적어도 하나의 웨이트 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭할 수도 있다. 예를 들어, 상기 미충족 서버인 상기 서버 6 및 상기 서버 7이 상기 미매칭 조각 중 하나씩과 매칭되어 14의 웨이트 이상을 구비하게 되고, 상기 미매칭 조각 중 아직도 매칭되지 않고 남져진 적어도 하나의 웨이트 조각이 존재한다면, 해당 웨이트 조각은 하나씩 상기 서버들(20) 중 어느 하나의 서버, 예를 들어 상기 서버 1, 상기 서버 2, ... 의 순서대로 매칭시킬 수 있다.On the other hand, during the unsatisfactory server matching process, if all of the unsatisfied servers match each of a plurality of pieces of weights so as to have a weight equal to or greater than the server weight, the user terminal 10 is not matched among the unmatched pieces At least one piece of weight that is left without may be matched to any one of the servers, one by one. For example, the unsatisfied server, the server 6 and the server 7, are matched with one of the unmatched pieces to have more than 14 weights, and at least one weight piece left unmatched among the unmatched pieces If exists, the corresponding piece of weight can be matched one by one of the servers 20, for example, the server 1, the server 2, ... in this order.

이어서, 상기 사용자 단말기(10)가 상기 S250 단계를 통해 구축된 상기 웨이트 조각들 및 상기 서버들(20) 간의 매칭 관계를 이용하여, 상기 그룹별 서버 접속 매칭 정보를 생성할 수 있다(S260). 이때, 상기 그룹별 서버 매칭 정보는 상기 그룹들 각각을 매칭 웨이트만큼 할당되어 상기 서버들(20) 중 적어도 하나의 서버와 매칭시킨 정보를 포함할 수 있다.Subsequently, the user terminal 10 may generate the server connection matching information for each group by using the matching relationship between the weight pieces and the servers 20 constructed through the step S250 (S260). At this time, the server matching information for each group may include information obtained by matching each of the groups with a matching weight and matching with at least one server among the servers 20.

예를 들어, 상기 사용자 단말기(10)가 도 8과 같은 상기 웨이트 조각들 및 상기 서버들(20) 간의 매칭 관계를 구축한다면, 도 9와 같은 그룹별 서버 매칭 정보를 획득할 수 있다. 구체적으로 설명하면, 상기 그룹 1은 상기 서버 1 및 상기 서버 2와 각각 14의 매칭 웨이트로 매칭될 수 있다. 상기 그룹 2는 상기 서버 3 및 상기 서버 4와 각각 14의 매칭 웨이트로, 그리고 상기 서버 6에 12의 매칭 웨이트로 매칭될 수 있다. 상기 그룹 3은 상기 서버 5에 14의 매칭 웨이트로, 그리고 상기 서버 6에 6의 매칭 웨이트로 매칭될 수 있다. 상기 그룹 4는 상기 서버 7에 5의 매칭 웨이트로 매칭되고, 상기 그룹 5는 상기 서버 7에 9의 매칭 웨이트로 매칭될 수 있다.For example, if the user terminal 10 establishes a matching relationship between the weight pieces shown in FIG. 8 and the servers 20, server matching information for each group as shown in FIG. 9 may be obtained. Specifically, the group 1 may match the server 1 and the server 2 with 14 matching weights, respectively. The group 2 may match the server 3 and the server 4 with 14 matching weights, and the server 6 with 12 matching weights. The group 3 may be matched with a matching weight of 14 on the server 5 and a matching weight of 6 on the server 6. The group 4 may match the server 7 with a matching weight of 5, and the group 5 may be matched with the server 7 with a matching weight of 9.

이와 다르게, 상기 사용자 단말기(10)가 도 10과 같은 상기 웨이트 조각들 및 상기 서버들(20) 간의 매칭 관계를 구축한다면, 도 11과 같은 그룹별 서버 매칭 정보를 획득할 수 있다. 구체적으로 설명하면, 상기 그룹 1은 상기 서버 1 및 상기 서버 2와 각각 14의 매칭 웨이트로 매칭될 수 있다. 상기 그룹 2는 상기 서버 3 및 상기 서버 4와 각각 14의 매칭 웨이트로, 그리고 상기 서버 6에 12의 매칭 웨이트로 매칭될 수 있다. 상기 그룹 3은 상기 서버 5에 14의 매칭 웨이트로, 그리고 상기 서버 7에 6의 매칭 웨이트로 매칭될 수 있다. 상기 그룹 4는 상기 서버 6에 5의 매칭 웨이트로 매칭되고, 상기 그룹 5는 상기 서버 7에 9의 매칭 웨이트로 매칭될 수 있다.Alternatively, if the user terminal 10 establishes a matching relationship between the weight pieces shown in FIG. 10 and the servers 20, server matching information for each group as shown in FIG. 11 may be obtained. Specifically, the group 1 may match the server 1 and the server 2 with 14 matching weights, respectively. The group 2 may match the server 3 and the server 4 with 14 matching weights, and the server 6 with 12 matching weights. The group 3 may be matched with a matching weight of 14 on the server 5 and a matching weight of 6 on the server 7. The group 4 may be matched with the matching weight of 5 on the server 6, and the group 5 may be matched with the matching weight of 9 on the server 7.

이하, 상기 서버 선택 과정(S300)에 대해 상세하게 설명하고자 한다.Hereinafter, the server selection process (S300) will be described in detail.

도 12는 도 2의 서버 접속 방법 중 서버 선택 과정을 상세하게 도시한 순서도이고, 도 13은 도 12의 서버 선택 과정 중 타겟 그룹 결정 과정을 도시한 도면이며, 도 14는 도 12의 서버 선택 과정 중 매칭 서버 추출 과정을 도시한 도면이고, 도 15는 도 12의 서버 선택 과정 중 매칭 서버 중에서의 서버 선택 과정을 도시한 도면이다.FIG. 12 is a flowchart illustrating in detail a server selection process among the server access methods of FIG. 2, FIG. 13 is a diagram illustrating a target group determination process among the server selection processes of FIG. 12, and FIG. 14 is a server selection process of FIG. 12 Among the matching server extraction process, FIG. 15 is a view showing a server selection process among matching servers among the server selection process of FIG. 12.

도 12 내지 도 15를 참조하면, 상기 서버 선택 과정(S300)으로, 우선 상기 사용자 단말기(10)가 상기 그룹들 중 참여를 원하는 하나의 그룹(이하, '타겟 그룹'이라 함)을 결정할 수 있다(S310). 예를 들어, 사용자가 시드가 20000인 카드 게임을 수행하고자 원할 경우, 상기 사용자 단말기(10)를 통해 상기 그룹 1을 상기 타겟 그룹으로 결정할 수 있다. 이때, 상기 S310 단계는 상기 S200 단계 이후에 수행될 수도 있지만, 상기 S200 단계 이전에 또는 동시에 수행될 수도 있다.12 to 15, in the server selection process (S300), the user terminal 10 may first determine one group (hereinafter referred to as a 'target group') among the groups. (S310). For example, when the user wants to play a card game with a seed of 20000, the group 1 may be determined as the target group through the user terminal 10. At this time, the step S310 may be performed after the step S200, but may be performed before or simultaneously with the step S200.

이어서, 상기 사용자 단말기(10)가 상기 그룹별 서버 매칭 정보를 이용하여, 상기 타겟 그룹과 매칭된 적어도 하나의 서버(이하, '매칭 서버'라 함)를 추출할 수 있다(S320). 예를 들어, 상기 타겟 그룹이 상기 그룹 1일 경우, 상기 사용자 단말기(10)는 도 9 또는 도 11과 같은 상기 그룹별 서버 매칭 정보를 이용하여, 상기 서버 1 및 상기 서버 2를 상기 매칭 서버로 결정하여 추출할 수 있다.Subsequently, the user terminal 10 may extract at least one server (hereinafter referred to as a 'matching server') matching the target group using the server matching information for each group (S320). For example, when the target group is the group 1, the user terminal 10 uses the server matching information for each group as shown in FIG. 9 or 11 to convert the server 1 and the server 2 to the matching server. It can be determined and extracted.

이어서, 상기 사용자 단말기(10)가 상기 매칭 서버 중 하나의 서버를 선택하여 접속할 수 있다(S430). 이때, 상기 매칭 서버가 하나일 경우, 상기 사용자 단말기(10)는 상기 매칭 서버에 접속하고, 상기 매칭 서버가 복수개일 때, 상기 사용자 단말기(10)는 상기 그룹별 서버 매칭 정보를 이용하여, 상기 매칭 서버 중에서, 상기 타겟 그룹과의 매칭을 위해 할당된 매칭 웨이트의 비율에 따른 확률로 하나의 서버를 선택하여 접속할 수 있다.Subsequently, the user terminal 10 may select and connect to one of the matching servers (S430). At this time, if there is only one matching server, the user terminal 10 accesses the matching server, and when there are multiple matching servers, the user terminal 10 uses the server matching information for each group, Among the matching servers, a single server may be selected and accessed with a probability according to a ratio of matching weights allocated for matching with the target group.

예를 들어, 상기 그룹 1이 상기 매칭 서버로 결정된 상기 서버 1 및 상기 서버 2와 각각 14의 매칭 웨이트로 매칭되어 있으므로, 상기 사용자 단말기(10)는 14 : 14의 비율의 확률로 상기 서버 1 및 상기 서버 2 중 하나를 선택하여 접속할 수 있다. 그로 인해, 상기 사용자 단말기(10)는 선택된 서버에 접속하여 상기 타겟 그룹 내에서의 상기 웹 서비스를 제공받을 수 있다.For example, since the group 1 matches the server 1 and the server 2 determined as the matching server with 14 matching weights, the user terminal 10 has the probability of a ratio of 14: 14 to the server 1 and You can select one of the servers 2 to access. Therefore, the user terminal 10 can access the selected server and receive the web service in the target group.

이와 같이 본 실시예에 따르면, 상기 그룹별 배분 웨이트 정보를 이용하여 상기 그룹별 서버 매칭 정보가 생성된 후, 상기 그룹별 서버 매칭 정보를 이용하여 상기 서버들(20) 중 하나의 서버가 선택되어 매칭됨에 따라, 상기 사용자 단말기(10) 및 상기 서버들(20) 간의 매칭 연산 과정이 보다 단순화되어 매칭 연산 처리의 부하가 감소될 수 있다.As described above, according to the present embodiment, after the server matching information for each group is generated using the distribution weight information for each group, one of the servers 20 is selected using the server matching information for each group, As it is matched, the matching operation process between the user terminal 10 and the servers 20 is more simplified, so that the load of the matching operation processing can be reduced.

또한, 상기 매칭 연산 과정이 상기 사용자 단말기(10)에서 수행됨에 따라, 상기 서버 시스템은 상기 매칭 연산에 따른 부하를 감소시킬 수 있다. 그로 인해, 상기 매칭 연산 과정을 수행하는 매칭 서버가 상기 서버 시스템 내에서 불필요하게 되므로, 상기 매칭 서버만큼의 비용 절감 효과가 기대될 수 있다.In addition, as the matching operation process is performed in the user terminal 10, the server system can reduce the load due to the matching operation. Therefore, since a matching server performing the matching operation process is unnecessary in the server system, a cost reduction effect as much as the matching server can be expected.

<서버 시스템 2><Server system 2>

도 16은 본 발명의 제2 실시예에 따른 서버 시스템을 도시한 개념도이다.16 is a conceptual diagram showing a server system according to a second embodiment of the present invention.

도 16을 참조하면, 본 실시예에 의한 서버 시스템은 복수의 서버들(20), 운영 서버(30) 및 매칭 서버(40)를 포함하여, 임의의 웹 서비스, 예를 들어 카드 게임과 같은 게임 서비스를 적어도 하나의 사용자 단말기(10)에게 제공할 수 있다. 본 실시예에서, 상기 웹 서비스는 복수의 그룹들로 구분되어 사용자들에게 제공될 수 있다.16, the server system according to the present embodiment includes a plurality of servers 20, an operation server 30 and a matching server 40, any web service, for example, a game such as a card game The service may be provided to at least one user terminal 10. In this embodiment, the web service may be divided into a plurality of groups and provided to users.

상기 서버들(20) 각각은 인터넷을 통해 상기 사용자 단말기(10)와 접속되어 신호를 주고받을 수 있다. 즉, 상기 서버들(20) 중 어느 하나의 서버가 상기 사용자 단말기(10)와 접속될 경우, 상기 사용자 단말기(10)에게 상기 웹 서비스를 제공할 수 있다. 본 실시예에서, 상기 서버들(20)에는 모두 동일한 서버 웨이트가 할당되어 있을 수 있다. 이때, '웨이트'는 상기 사용자 단말기(10) 및 상기 서버들 간의 매칭에 사용되는 수치이고, 상기 서버 웨이트는 상기 사용자 단말기(10)과 매칭을 수용할 수 있도록 상기 서버들(20) 각각에 할당된 웨이트를 의미할 수 있다.Each of the servers 20 is connected to the user terminal 10 through the Internet to send and receive signals. That is, when any one of the servers 20 is connected to the user terminal 10, the web service may be provided to the user terminal 10. In the present embodiment, all of the servers 20 may be assigned the same server weight. At this time, 'weight' is a value used for matching between the user terminal 10 and the servers, and the server weight is assigned to each of the servers 20 to accommodate the matching with the user terminal 10 It can mean the weight that was made.

상기 운영 서버(30)는 상기 그룹들에 대한 배분 웨이트들을 포함하는 그룹별 배분 웨이트 정보를 저장하고 있다. 한편, 상기 그룹들에 대한 배분 웨이트들은 일정 기간 동안 상기 그룹들 각각 참여한 사용자들의 비율을 이용하여 변경되어 상기 운영 서버(30)에 저장될 수도 있다.The operation server 30 stores distribution weight information for each group including distribution weights for the groups. Meanwhile, the distribution weights for the groups may be changed using a ratio of users participating in each of the groups for a period of time and stored in the operation server 30.

상기 매칭 서버(40)은 상기 운영 서버(30)로부터 상기 그룹별 배분 웨이트 정보를 수신하고, 상기 그룹별 배분 웨이트 정보를 이용하여 상기 그룹들 각각을 상기 서버들(20) 중 적어도 하나의 서버와 매칭시킨 정보를 포함하는 그룹별 서버 매칭 정보를 생성하며, 상기 그룹별 서버 매칭 정보를 이용하여 상기 서버들(20) 중 하나의 서버를 선택하여 상기 사용자 단말기(10)와 접속시킬 수 있다. 본 실시예에서, 상기 매칭 서버(40)가 도 16과 같이 상기 운영 서버(30)가 별도로 구비될 수 있지만, 이와 다르게 상기 운영 서버(30)와 하나의 서버로 통합되어 구동될 수도 있다.The matching server 40 receives the distribution weight information for each group from the operation server 30, and uses the distribution weight information for each group to set each of the groups to at least one server among the servers 20. The server matching information for each group including the matched information is generated, and one of the servers 20 may be selected to access the user terminal 10 by using the server matching information for each group. In this embodiment, the matching server 40 may be separately provided with the operation server 30 as shown in FIG. 16, but may alternatively be integrated and operated as one server with the operation server 30.

한편, 상기 매칭 서버(40)가 상기 사용자 단말기(10)를 상기 서버들(20) 중 하나의 서버에 접속시키는 과정은, 도 2 내지 도 15를 통해 설명한, 상기 사용자 단말기(10)가 상기 서버들(20) 중 하나의 서버에 접속되는 과정과 실질적으로 동일하므로, 이에 대한 자세한 설명은 생략하기로 하겠다.Meanwhile, the process of the matching server 40 connecting the user terminal 10 to one of the servers 20 is described with reference to FIGS. 2 to 15, and the user terminal 10 is the server. Since the process of accessing one of the fields 20 is substantially the same, a detailed description thereof will be omitted.

이와 같이 본 실시예에 따르면, 상기 매칭 서버(40)가 상기 그룹별 배분 웨이트 정보를 이용하여 상기 그룹별 서버 매칭 정보를 생성한 후, 상기 그룹별 서버 매칭 정보를 이용하여 상기 서버들(20) 중 하나의 서버를 선택되어 매칭시킴에 따라, 상기 사용자 단말기(10) 및 상기 서버들(20) 간의 매칭에 따른 연산 처리의 부하가 감소될 수 있다. 그로 인해, 이러한 매칭 연산 처리를 위해 새로운 매칭 서버를 구입할 필요가 없게 되어, 비용 절감 효과가 기대될 수 있다.As described above, according to the present embodiment, the matching server 40 generates the server matching information for each group using the distribution weight information for each group, and then the servers 20 using the server matching information for each group. As one of the servers is selected and matched, the load of the calculation processing according to the matching between the user terminal 10 and the servers 20 can be reduced. Therefore, there is no need to purchase a new matching server for processing the matching operation, and a cost reduction effect can be expected.

앞서 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시예들을 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술될 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.In the detailed description of the present invention described above, it has been described with reference to preferred embodiments of the present invention, but those skilled in the art or those skilled in the art will appreciate the spirit of the present invention as set forth in the claims below. And it will be understood that various modifications and changes can be made to the present invention without departing from the technical scope.

10 : 사용자 단말기 20 : 서버들
30 : 운영 서버 40 : 매칭 서버
10: user terminal 20: servers
30: operating server 40: matching server

Claims (14)

복수의 서버들 중 하나의 서버에 접속하기 위한 사용자 단말기에 의해 수행되는 서버 접속 방법에 있어서,
운영 서버로부터, 동일한 웹 서비스를 복수로 구분하여 제공하기 위한 복수의 그룹들에 대한 배분 웨이트들을 포함하는 그룹별 배분 웨이트 정보를 수신하는 단계;
상기 그룹별 배분 웨이트 정보를 이용하여, 상기 그룹들 각각을 상기 서버들 중 적어도 하나의 서버와 매칭시킨 정보를 포함하는 그룹별 서버 매칭 정보를 생성하는 단계; 및
상기 그룹별 서버 매칭 정보를 이용하여, 상기 서버들 중 하나의 서버를 선택하여 접속하는 단계를 포함하고,
상기 그룹들에 대한 배분 웨이트들은
기준 시간 동안 상기 그룹들 각각에 참여한 복수의 사용자들의 비율에 의해 결정되는 것을 특징으로 하는 서버 접속 방법.
In the server access method performed by a user terminal for accessing one of the plurality of servers,
Receiving, from the operation server, distribution weight information for each group including distribution weights for a plurality of groups for providing the same web service in a plurality;
Generating server matching information for each group including information obtained by matching each of the groups with at least one server among the servers using the distribution weight information for each group; And
And selecting and accessing one of the servers using the server matching information for each group,
The distribution weights for the groups
A method of accessing a server, characterized in that it is determined by a ratio of a plurality of users participating in each of the groups during a reference time.
제1항에 있어서,
상기 그룹별 서버 매칭 정보를 생성하는 단계는
상기 그룹별 배분 웨이트 정보를 이용하여, 상기 그룹들 각각을 적어도 하나의 웨이트 조각으로 구분하는 단계;
상기 그룹들로부터 구분되어 생성된 웨이트 조각들을 웨이트 크기 순으로 배열하는 단계;
상기 웨이트 조각들을 웨이트 크기 순서대로 하나씩 상기 서버들에 순차적으로 매칭하는 단계;
상기 웨이트 조각들 중 매칭되지 않는 적어도 하나의 웨이트 조각(이하, '미매칭 조각'이라 함)이 존재하면, 상기 미매칭 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭하는 단계; 및
상기 웨이트 조각들 및 상기 서버들 간의 매칭 관계를 이용하여, 상기 그룹별 서버 매칭 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 서버 접속 방법.
According to claim 1,
The step of generating server matching information for each group is
Dividing each of the groups into at least one weight piece using the distribution weight information for each group;
Arranging the weight pieces generated separately from the groups in order of weight size;
Sequentially matching the weight pieces to the servers one by one in order of weight size;
If there is at least one unmatched weight piece (hereinafter referred to as an 'unmatched piece') among the weight pieces, matching the unmatched pieces to any one of the servers, one by one; And
And generating server matching information for each group using the matching relationship between the weight pieces and the servers.
제2항에 있어서,
상기 그룹들 각각을 적어도 하나의 웨이트 조각으로 구분하는 단계에서는,
상기 그룹별 배분 웨이트 정보에 포함된 상기 그룹들 각각에 대한 배분 웨이트를, 상기 서버들 각각에 수용을 위해 할당된 서버 웨이트로 나누어, 적어도 하나의 웨이트 조각으로 구분하는 것을 특징으로 하는 서버 접속 방법.
According to claim 2,
In the step of dividing each of the groups into at least one weight piece,
A server access method, characterized in that the distribution weight for each of the groups included in the distribution weight information for each group is divided into server weights allocated for accommodating each of the servers, and divided into at least one weight piece.
제3항에 있어서,
상기 그룹들 각각을 적어도 하나의 웨이트 조각으로 구분하는 단계에서는,
상기 그룹들 각각에 대한 배분 웨이트를 상기 서버 웨이트로 나누어 몫과 나머지를 생성한 후,
상기 몫이 영(0)이고 상기 나머지가 존재할 때, 상기 나머지에 해당하는 웨이트를 갖는 웨이트 조각을 하나 생성하고,
상기 몫이 일(1) 이상이고 상기 나머지가 존재하지 않을 때, 상기 서버 웨이트를 갖는 웨이트 조각을 상기 몫의 개수만큼 생성하며,
상기 몫이 일(1) 이상이고 상기 나머지가 존재할 때, 상기 서버 웨이트를 갖는 웨이트 조각을 상기 몫의 개수만큼 생성하고, 상기 나머지에 해당하는 웨이트를 갖는 웨이트 조각을 별도로 하나 생성하는 것을 특징으로 하는 서버 접속 방법.
According to claim 3,
In the step of dividing each of the groups into at least one weight piece,
After dividing the distribution weight for each of the groups by the server weight to generate the quotient and the remainder,
When the quotient is zero (0) and the remainder is present, one weight piece having a weight corresponding to the rest is generated,
When the quotient is more than one (1) and the remainder does not exist, a weight piece having the server weight is generated by the number of quotients,
When the quotient is more than one (1) and the remainder is present, the weight pieces having the server weight are generated by the number of quotients, and a weight piece having the weight corresponding to the rest is separately generated. How to connect to the server.
제2항에 있어서,
상기 그룹별 서버 매칭 정보를 생성하는 단계는
상기 그룹들 중 복수의 웨이트 조각들로 구분된 적어도 하나의 그룹(이하, '복수 조각 그룹'이라 함)이 존재하고, 상기 복수 조각 그룹으로부터 구분되어 생성된 웨이트 조각들 중 기준치 이하의 웨이트를 포함하는 웨이트 조각(이하, '기준치 이하 조각'이라 함)이 존재할 경우, 상기 기준치 이하 조각을 삭제하는 단계를 더 포함하는 것을 특징으로 하는 서버 접속 방법.
According to claim 2,
The step of generating server matching information for each group is
Among the groups, at least one group (hereinafter referred to as a 'multiple pieces group') divided into a plurality of weight pieces exists, and includes weights below a reference value among weight pieces generated separately from the plurality of pieces pieces. If there is a weight piece (hereinafter referred to as "piece below the reference value"), the server access method further comprising the step of deleting the piece below the reference value.
제2항에 있어서,
상기 미매칭 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭하는 단계에서는,
상기 서버들 중에서, 상기 서버들 각각에 수용을 위해 할당된 서버 웨이트보다 적은 웨이트를 갖는 웨이트 조각이 매칭된 적어도 하나의 서버(이하, '미충족 서버')가 존재할 때, 상기 미매칭 조각을 하나씩 상기 미충족 서버 중 어느 하나의 서버에 각각 매칭하는 것을 특징으로 하는 서버 접속 방법.
According to claim 2,
In the step of matching each of the unmatched pieces to any one of the servers one by one,
Among the servers, when there is at least one server (hereinafter referred to as an 'unsatisfied server') that matches a weight piece having a smaller weight than the server weight allocated for accommodating each of the servers, the unmatched pieces are sequentially retrieved one by one. Server access method characterized in that it matches each one of the unsatisfied server.
제6항에 있어서,
상기 미매칭 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭하는 단계에서는,
상기 서버들 중에서 상기 미충족 서버가 존재할 때, 상기 미매칭 조각을 웨이트 크기 순서대로 하나씩 상기 미충족 서버 중 어느 하나의 서버에 각각 매칭하는 것을 특징으로 하는 서버 접속 방법.
The method of claim 6,
In the step of matching each of the unmatched pieces to any one of the servers one by one,
When the unsatisfied server is present among the servers, the unmatched pieces are matched to any one of the unsatisfied servers one by one in order of weight size.
제7항에 있어서,
상기 미매칭 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭하는 단계에는,
상기 서버들 중에서 상기 미충족 서버가 존재할 때, 상기 미매칭 조각을 웨이트 크기 순서대로 하나씩 상기 미충족 서버 중 더 적은 웨이트를 갖는 웨이트 조각과 매칭된 서버에 우선하여 매칭하는 것을 특징으로 하는 서버 접속 방법.
The method of claim 7,
In the step of matching each of the unmatched pieces one by one of the servers,
When the unsatisfied server is present among the servers, the server matching method is characterized in that the unmatched pieces are matched in priority order to a server matched with a weight piece having less weight among the unsatisfied servers one by one in the order of weight size.
제6항에 있어서,
상기 미매칭 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭하는 단계에서는,
상기 서버들 중에서 상기 미충족 서버가 존재하지 않았을 때, 상기 미매칭 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭하고,
상기 서버들 중에서 상기 미충족 서버가 존재할 때, 상기 미매칭 조각을 하나씩 상기 미충족 서버 중 어느 하나의 서버에 각각 매칭하며(이하, '미충족 서버 매칭 과정'라 함),
상기 미충족 서버 매칭 과정을 수행하는 도중, 상기 미충족 서버 모두가 상기 서버 웨이트 이상의 웨이트를 구비하도록 복수의 웨이트 조각들과 각각 매칭되는 경우, 상기 미매칭 조각 중 매칭되지 않고 남겨진 적어도 하나의 웨이트 조각을 하나씩 상기 서버들 중 어느 하나의 서버에 각각 매칭하는 것을 특징으로 하는 서버 접속 방법.
The method of claim 6,
In the step of matching each of the unmatched pieces to any one of the servers one by one,
When the unsatisfied server does not exist among the servers, the unmatched pieces are matched to any one of the servers, one by one,
When the unsatisfied server is present among the servers, the unmatched pieces are matched to any one of the unsatisfied servers one by one (hereinafter referred to as 'unsatisfied server matching process'),
During the process of matching the unsatisfied server, if all of the unsatisfied servers match each of a plurality of weight pieces so as to have a weight equal to or greater than the server weight, at least one weight piece left unmatched among the unmatched pieces is one by one. Server access method, characterized in that each of the matching server.
제1항에 있어서,
상기 서버들 중 하나의 서버를 선택하여 접속하는 단계는
상기 그룹들 중 참여를 원하는 하나의 그룹(이하, '타겟 그룹'이라 함)을 결정하는 단계;
상기 그룹별 서버 매칭 정보를 이용하여, 상기 타겟 그룹과 매칭된 적어도 하나의 서버(이하, '매칭 서버'라 함)를 추출하는 단계; 및
상기 매칭 서버 중 하나의 서버를 선택하여 접속하는 단계를 포함하는 것을 특징으로 하는 서버 접속 방법.
According to claim 1,
The step of selecting one of the servers to access is
Determining one group (hereinafter referred to as a 'target group') that wants to participate among the groups;
Extracting at least one server (hereinafter referred to as a 'matching server') matching the target group using the server matching information for each group; And
And selecting and connecting one of the matching servers.
제10항에 있어서,
상기 그룹별 서버 매칭 정보는
상기 그룹들 각각을 매칭 웨이트만큼 할당되어 상기 서버들 중 적어도 하나의 서버와 매칭시킨 정보를 포함하고,
상기 매칭 서버 중 하나의 서버를 선택하여 접속하는 단계에서는,
상기 매칭 서버가 하나일 경우, 상기 매칭 서버에 접속하고,
상기 매칭 서버가 복수개일 때, 상기 그룹별 서버 매칭 정보를 이용하여, 상기 매칭 서버 중에서, 상기 타겟 그룹과의 매칭을 위해 할당된 매칭 웨이트의 비율에 따른 확률로 하나의 서버를 선택하여 접속하는 것을 특징으로 하는 서버 접속 방법.
The method of claim 10,
The server matching information for each group is
Each of the groups is allocated by a matching weight and includes information matched to at least one of the servers,
In the step of selecting and accessing one of the matching servers,
If there is only one matching server, access the matching server,
When there are a plurality of matching servers, using the server matching information for each group, selecting and connecting one server with a probability according to a ratio of matching weights allocated for matching with the target group among the matching servers Server connection method characterized by.
사용자 단말기와 접속될 수 있는 복수의 서버들; 및
동일한 웹 서비스를 복수로 구분하여 제공하기 위한 복수의 그룹들에 대한 배분 웨이트들을 포함하는 그룹별 배분 웨이트 정보를 저장하고 있다가 상기 그룹별 배분 웨이트 정보를 상기 사용자 단말기로 제공하는 운영 서버를 포함하고,
상기 사용자 단말기는
상기 운영 서버로부터 수신된 상기 그룹별 배분 웨이트 정보를 이용하여 상기 그룹들 각각을 상기 서버들 중 적어도 하나의 서버와 매칭시킨 정보를 포함하는 그룹별 서버 매칭 정보를 생성하고,
상기 그룹별 서버 매칭 정보를 이용하여 상기 서버들 중 하나의 서버를 선택하여 접속하며,
상기 그룹들에 대한 배분 웨이트들은
기준 시간 동안 상기 그룹들 각각에 참여한 복수의 사용자들의 비율에 의해 결정되는 것을 특징으로 하는 서버 시스템.
A plurality of servers that can be connected to the user terminal; And
And an operation server for storing distribution weight information for each group including distribution weights for a plurality of groups for providing the same web service in a plurality, and providing the distribution weight information for each group to the user terminal. ,
The user terminal
Generates server matching information for each group including information that matches each of the groups with at least one of the servers by using the distribution weight information for each group received from the operation server,
Select and connect to one of the servers using the server matching information for each group,
The distribution weights for the groups
Server system characterized in that it is determined by the proportion of a plurality of users participating in each of the groups during the reference time.
사용자 단말기를 복수의 서버들 중 하나의 서버와 접속시키기 위한 매칭 서버에 의해 수행되는 서버 접속 방법에 있어서,
운영 서버로부터, 동일한 웹 서비스를 복수로 구분하여 제공하기 위한 복수의 그룹들에 대한 배분 웨이트들을 포함하는 그룹별 배분 웨이트 정보를 수신하는 단계;
상기 그룹별 배분 웨이트 정보를 이용하여, 상기 그룹들 각각을 상기 서버들 중 적어도 하나의 서버와 매칭시킨 정보를 포함하는 그룹별 서버 매칭 정보를 생성하는 단계; 및
상기 그룹별 서버 매칭 정보를 이용하여, 상기 서버들 중 하나의 서버를 선택하여 상기 사용자 단말기와 접속시키는 단계를 포함하고,
상기 그룹들에 대한 배분 웨이트들은
기준 시간 동안 상기 그룹들 각각에 참여한 복수의 사용자들의 비율에 의해 결정되는 것을 특징으로 하는 서버 접속 방법.
In the server access method performed by a matching server for connecting a user terminal to one of the plurality of servers,
Receiving, from the operation server, distribution weight information for each group including distribution weights for a plurality of groups for providing the same web service in a plurality;
Generating server matching information for each group including information obtained by matching each of the groups with at least one server among the servers using the distribution weight information for each group; And
And using the server matching information for each group, selecting one of the servers and accessing the user terminal.
The distribution weights for the groups
A method of accessing a server, characterized in that it is determined by a ratio of a plurality of users participating in each of the groups during a reference time.
복수의 서버들;
동일한 웹 서비스를 복수로 구분하여 제공하기 위한 복수의 그룹들에 대한 배분 웨이트들을 포함하는 그룹별 배분 웨이트 정보를 저장하고 있는 운영 서버; 및
상기 운영 서버로부터 상기 그룹별 배분 웨이트 정보를 수신하고, 상기 그룹별 배분 웨이트 정보를 이용하여 상기 그룹들 각각을 상기 서버들 중 적어도 하나의 서버와 매칭시킨 정보를 포함하는 그룹별 서버 매칭 정보를 생성하며, 상기 그룹별 서버 매칭 정보를 이용하여 상기 서버들 중 하나의 서버를 선택하여 사용자 단말기와 접속시키는 매칭 서버를 포함하고,
상기 그룹들에 대한 배분 웨이트들은
기준 시간 동안 상기 그룹들 각각에 참여한 복수의 사용자들의 비율에 의해 결정되는 것을 특징으로 하는 서버 시스템.
A plurality of servers;
An operation server storing distribution weight information for each group including distribution weights for a plurality of groups for providing the same web service in a plurality; And
Receive distribution information for each group from the operation server, and generate server matching information for each group including information that matches each of the groups with at least one server among the servers using the distribution weight information for each group And a matching server that selects one of the servers using the server matching information for each group and connects with a user terminal.
The distribution weights for the groups
Server system characterized in that it is determined by the proportion of a plurality of users participating in each of the groups during the reference time.
KR1020180036280A 2018-03-29 2018-03-29 Server connecting method and server system using the method KR102083511B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180036280A KR102083511B1 (en) 2018-03-29 2018-03-29 Server connecting method and server system using the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180036280A KR102083511B1 (en) 2018-03-29 2018-03-29 Server connecting method and server system using the method

Publications (2)

Publication Number Publication Date
KR20190114105A KR20190114105A (en) 2019-10-10
KR102083511B1 true KR102083511B1 (en) 2020-04-24

Family

ID=68206231

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180036280A KR102083511B1 (en) 2018-03-29 2018-03-29 Server connecting method and server system using the method

Country Status (1)

Country Link
KR (1) KR102083511B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256310A (en) * 2002-03-05 2003-09-12 Nec Corp Server load decentralizing system, server load decentralizing apparatus, content management apparatus and server load decentralizing program
JP2015072518A (en) * 2013-10-01 2015-04-16 株式会社日立システムズ Ldap authentication system, proxy server, ldap authentication method and ldap authentication program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101259670B1 (en) * 2009-09-21 2013-05-02 한국전자통신연구원 Method and system for server load balancing of media service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256310A (en) * 2002-03-05 2003-09-12 Nec Corp Server load decentralizing system, server load decentralizing apparatus, content management apparatus and server load decentralizing program
JP2015072518A (en) * 2013-10-01 2015-04-16 株式会社日立システムズ Ldap authentication system, proxy server, ldap authentication method and ldap authentication program

Also Published As

Publication number Publication date
KR20190114105A (en) 2019-10-10

Similar Documents

Publication Publication Date Title
US11759714B2 (en) Method for implementing user matching and related device
CN109325132A (en) Expertise recommended method, device, computer equipment and storage medium
US11940903B2 (en) Testing systems and methods
US20160148459A1 (en) Online lottery system for varying probability of winning and method therefor
CN106878415B (en) Load balancing method and device for data consumption
CN110830234B (en) User traffic distribution method and device
CN111659126B (en) Distribution method, device, server, terminal and storage medium of matching process
CN110474820B (en) Flow playback method and device and electronic equipment
CN103390003A (en) Method and device for combining user data information among servers
CN112418259B (en) Real-time rule configuration method based on user behavior in live broadcast process, computer equipment and readable storage medium
US20220237510A1 (en) Method for training multimedia recommendation model and server
CN108512883A (en) A kind of information-pushing method, device and readable medium
CN116431282A (en) Cloud virtual host server management method, device, equipment and storage medium
CN116431769A (en) Interactive data analysis method and software product based on customized AI cloud platform service
CN110415044A (en) Cheat detection method, device, equipment and storage medium
KR102083511B1 (en) Server connecting method and server system using the method
CN117582652A (en) Weiqi man-machine playing method, device, computer equipment and storage medium
CN111111216B (en) Matching method, device, server and storage medium
CN109446417A (en) A kind of intellectualized retrieval method and apparatus
US11179631B2 (en) Providing video game content to an online connected game
CN111957052A (en) Task team forming method and device, electronic equipment and storage medium
CN110717817A (en) Pre-loan approval method and device, electronic equipment and computer-readable storage medium
US10872121B2 (en) Systems and methods for matching users
CN109213924B (en) Popularization task allocation method and device and computer equipment
CN113891323B (en) WiFi-based user tag acquisition system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant