KR102383712B1 - Method and system for providing open application programming interface service of autonomous driving data - Google Patents
Method and system for providing open application programming interface service of autonomous driving data Download PDFInfo
- Publication number
- KR102383712B1 KR102383712B1 KR1020210155439A KR20210155439A KR102383712B1 KR 102383712 B1 KR102383712 B1 KR 102383712B1 KR 1020210155439 A KR1020210155439 A KR 1020210155439A KR 20210155439 A KR20210155439 A KR 20210155439A KR 102383712 B1 KR102383712 B1 KR 102383712B1
- Authority
- KR
- South Korea
- Prior art keywords
- server
- availability
- servers
- relay
- open api
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H04L67/28—
-
- H04L67/32—
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
본 발명은 자율주행 데이터의 오픈 API 서비스 제공 시스템 및 방법에 관한 것으로서, 보다 상세하게는 복수의 서버들 중에서 가용도가 높은 서버가 우선적으로 서비스에 대해 응답하도록 구성됨으로써, 기준지도 정보를 포함한 자율주행 데이터의 응답 속도가 향상되고 서버의 다운이 방지될 수 있는 자율주행 데이터의 오픈 API 서비스 제공 시스템 및 방법에 관한 것이다. The present invention relates to a system and method for providing an open API service for autonomous driving data, and more particularly, a server with high availability among a plurality of servers is configured to respond to the service preferentially, whereby autonomous driving including reference map information It relates to a system and method for providing an open API service for autonomous driving data in which response speed of data can be improved and server downtime can be prevented.
일반적으로 API(Application Programming Interface)는 운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메시지 형식을 말하며, 응용프로그램 개발자들이 애플리케이션을 만들 때 운영체제에서 동작하는 프로그램을 쉽게 만들 수 있도록 화면 구성이나 프로그램 동작에 필요한 각종 함수를 모아놓은 것을 말한다. 오픈 API는, 이러한 API를 외부에 공개하여, 외부 개발자나 불특정 다수들을 포함하는 클라이언트가 서버의 응용프로그램을 쉽고 용이하게 개발하거나 활용할 수 있도록 공유한 것이다. In general, API (Application Programming Interface) refers to a language or message format used for communication between the operating system and applications, It is a collection of various necessary functions. The open API is shared so that an external developer or a client including an unspecified majority can easily and easily develop or utilize an application program of the server by exposing this API to the outside.
그러나, 수많은 클라이언트들이 동시 다발적으로 데이터를 요청할 경우, 서버의 응답 속도가 지연되거나 서버가 다운되는 현상 등이 발생되는 문제점이 있다. However, when numerous clients request data simultaneously, there is a problem in that the response speed of the server is delayed or the server is down.
본 발명의 목적은, 데이터의 응답 속도가 향상되고 서버의 다운을 방지할 수 있는 자율주행 데이터의 오픈 API 서비스 제공 시스템 및 방법을 제공하는 데 있다. SUMMARY OF THE INVENTION An object of the present invention is to provide a system and method for providing an open API service for autonomous driving data capable of improving data response speed and preventing server downtime.
본 발명에 따른 자율주행 데이터의 오픈 API 서비스 제공 시스템은, 복수의 서버들 중 어느 하나의 제1서버가 클라이언트로부터 공유 데이터 관리소에 저장된 정밀도로지도와 도로관련속성 정보를 포함하는 자율주행 데이터에 대한 오픈 API 서비스에 대한 요청을 수신하는 단계와; 상기 제1서버가 상기 공유 데이터 관리소에 미리 저장된 상기 복수의 서버들의 가용도를 조회하는 단계와; 상기 제1서버의 가용도가 미리 설정된 기준값 이상이면, 상기 제1서버는 상기 복수의 서버들 중에서 다른 하나의 제2서버를 중계 서버로 설정하는 단계와; 상기 중계 서버가 설정되면, 상기 제1서버가 상기 중계 서버에 상기 오픈 API 서비스에 대한 중계를 요청하는 단계와; 상기 중계 서버가 상기 오픈 API 서비스에 대한 중계 요청을 수신하는 단계와; 상기 중계 서버의 가용도가 상기 기준값 미만이면, 상기 중계 서버가 상기 오픈 API 서비스를 실행하는 단계를 포함한다.The system for providing an open API service for autonomous driving data according to the present invention is a first server of a plurality of servers for autonomous driving data including maps and road-related attribute information with precision stored in a shared data management center from a client. receiving a request for an open API service; inquiring, by the first server, of availability of the plurality of servers stored in advance in the shared data management center; setting, by the first server, another second server from among the plurality of servers as a relay server when the availability of the first server is equal to or greater than a preset reference value; requesting, by the first server, to relay the open API service to the relay server when the relay server is set; receiving, by the relay server, a relay request for the open API service; and executing, by the relay server, the open API service when the availability of the relay server is less than the reference value.
상기 중계 서버의 가용도가 상기 기준값 이상이면, 상기 오픈 API 서비스에 대한 중계 요청을 받고 경유한 서버의 개수인 경유 노드 수를 미리 설정된 설정 개수와 비교하는 단계와, 상기 경유 노드 수가 상기 설정 개수 이하이면, 상기 중계 서버는 상기 공유 데이터 관리소에 미리 저장된 상기 복수의 서버들의 가용도를 다시 조회하는 단계와, 상기 중계 서버가 상기 가용도에 따라 상기 복수의 서버들 중에서 또 다른 하나의 제3서버를 새로운 중계 서버로 재설정하는 단계를 더 포함한다.If the availability of the relay server is equal to or greater than the reference value, comparing the number of via nodes, which is the number of servers that have received and passed through the relay request for the open API service, with a preset number with a preset number; , the relay server inquiring again the availability of the plurality of servers stored in advance in the shared data management center, and the relay server selecting another third server from among the plurality of servers according to the availability The method further includes resetting to a new relay server.
상기 중계 서버가 재설정되면, 상기 재설정된 중계 서버에 상기 오픈 API 서비스에 대한 중계를 요청하는 단계와, 상기 재설정된 중계 서버가 상기 오픈 API 서비스에 대한 중계 요청을 수신하는 단계와, 상기 재설정된 중계 서버의 가용도가 상기 기준값 미만이면, 상기 재설정된 중계 서버가 상기 오픈 API 서비스를 실행하는 단계를 더 포함한다.When the relay server is reset, requesting a relay for the open API service from the reset relay server, receiving the relay request for the open API service by the reset relay server, and the reset relay The method further includes the step of executing, by the reset relay server, the open API service when the availability of the server is less than the reference value.
상기 경유 노드 수가 상기 설정 개수를 초과하면, 상기 클라이언트에 서비스 에러로 응답한다.When the number of via nodes exceeds the set number, it responds to the client with a service error.
상기 중계 서버가 상기 오픈 API 서비스를 실행하고, 실행 결과는 상기 제1서버를 통해 상기 클라이언트에 응답한다.The relay server executes the open API service, and the execution result responds to the client through the first server.
상기 복수의 서버들 중에서 상기 가용도가 상대적으로 낮아서 응답 확률이 높은 서버를 상기 중계 서버로 설정한다.A server having a high response probability due to a relatively low availability among the plurality of servers is set as the relay server.
상기 제1서버의 가용도가 상기 기준값 미만이면, 상기 제1서버가 상기 클라이언트에 상기 오픈 API 서비스를 실행하고 상기 클라이언트에 응답한다.If the availability of the first server is less than the reference value, the first server executes the open API service to the client and responds to the client.
상기 서버들은 각각의 리소스, 로그, 스레드, 트래픽, 서비스 사용량 중 적어도 하나를 포함한 가용성 정보를 미리 설정된 설정 시간 간격으로 상기 공유 데이터 관리소로 송신한다.The servers transmit availability information including at least one of each resource, log, thread, traffic, and service usage to the shared data management center at preset time intervals.
상기 공유 데이터 관리소는 상기 서버들로부터 수신한 상기 가용성 정보를 상기 가용도로 환산하여 저장한다.The shared data management office converts the availability information received from the servers into the availability and stores it.
본 발명에 따른 자율주행 데이터의 오픈 API 서비스 제공 시스템은, 정밀도로지도와 도로관련속성 정보를 포함하는 자율주행 데이터와 복수의 서버들의 가용도가 미리 저장된 공유 데이터 관리소와; 상기 복수의 서버들에 각각 구비되어, 클라이언트로부터 상기 자율주행 데이터의 오픈 API 서비스에 대한 요청 신호를 수신하거나 상기 서버들간에 상기 오픈 API 서비스에 대한 중계를 요청하는 신호를 송수신하는 서버 통신부와; 상기 서버들에 각각 구비되어, 상기 서버들의 가용도를 조회하고, 상기 가용도에 따라 상기 복수의 서버들 중에서 상기 오픈 API 서비스를 중계할 서버를 설정하는 서버 판단부와; 상기 서버들에 각각 구비되어, 상기 공유 데이터 관리소에 저장된 상기 자율주행 데이터에 대한 상기 오픈 API 서비스를 실행시키거나 상기 중계 서버에 상기 오픈 API 서비스에 대한 중계를 요청하는 서버 제어부를 포함한다.A system for providing an open API service for autonomous driving data according to the present invention includes: a shared data management center in which autonomous driving data including maps and road-related attribute information with precision and availability of a plurality of servers are stored in advance; a server communication unit provided in each of the plurality of servers to receive a request signal for an open API service of the autonomous driving data from a client or to transmit and receive a signal for requesting relay of the open API service between the servers; a server determination unit provided in each of the servers, inquiring about availability of the servers, and setting a server to relay the open API service from among the plurality of servers according to the availability; and a server control unit provided in each of the servers to execute the open API service for the autonomous driving data stored in the shared data management center or to request a relay for the open API service from the relay server.
상기 공유 데이터 관리소에 구비되어, 상기 서버들과 통신하는 데이터 통신부와; 상기 공유 데이터 관리소에 구비되어, 상기 자율주행 데이터와 상기 서버들의 가용성 정보를 수집하는 데이터 수집부와; 상기 관리소 수집부가 수집한 가용성 정보를 미리 설정된 기준에 따라 가용도로 환산하는 데이터 분석부와; 상기 자율주행 데이터, 상기 가용성 정보 및 상기 가용도를 저장하는 데이터저장부를 포함한다.a data communication unit provided in the shared data management center to communicate with the servers; a data collection unit provided in the shared data management office to collect the autonomous driving data and availability information of the servers; a data analysis unit converting the availability information collected by the management office collection unit into availability according to a preset standard; and a data storage unit configured to store the autonomous driving data, the availability information, and the availability.
본 발명은, 복수의 서버들 중에서 가용도가 높은 서버가 우선적으로 서비스를 실행하도록 구성됨으로써, 자율주행 데이터의 오픈 API 서비스에 대한 응답 속도가 보다 향상될 수 있다.According to the present invention, a server having high availability among a plurality of servers is configured to preferentially execute a service, so that a response speed of autonomous driving data to an open API service can be further improved.
또한, 자율주행 데이터의 오픈 API 서비스에 대한 요청을 받은 서버의 가용도가 기준값 미만이면 자율주행 데이터의 오픈 API 서비스를 실행하고, 상기 서버의 가용도가 기준값 이상이면 가용도가 낮은 다른 서버에 중계를 요청하도로 구성됨으로써, 서버가 처리 한계에 도달하기 이전에 다른 서버들에 중계를 요청할 수 있으므로 응답속도가 지연되거나 서버가 다운되는 현상이 방지될 수 있다. In addition, if the availability of the server receiving the request for the open API service of autonomous driving data is less than the reference value, the open API service of the autonomous driving data is executed, and if the availability of the server is higher than the reference value, it is relayed to another server with low availability By configuring to request , the server can request a relay from other servers before reaching the processing limit, thereby preventing a delay in response speed or a server downtime.
또한, 복수의 서버들 중에서 어느 하나의 서버가 다른 서버를 중계 서버로 설정하여 중계를 직접 요청함으로써, 보다 신속하게 서비스 중계가 이루어질 수 있으므로 응답 및 처리 속도가 향상될 수 있다. In addition, since any one of the plurality of servers sets another server as a relay server and directly requests a relay, service relay can be performed more quickly, so that response and processing speed can be improved.
또한, 복수의 서버들은 주기적으로 공유 데이터 관리소에 가용성 정보를 송신하고, 상기 공유 데이터 관리소에서는 상기 가용성 정보에 따라 복수의 서버들의 가용도를 수치로 환산하여 제공함으로써, 보다 신속하고 정확한 가용도에 따라 서버들이 선택적으로 이용될 수 있다. In addition, the plurality of servers periodically transmits availability information to the shared data management center, and the shared data management center converts the availability of the plurality of servers into numerical values according to the availability information, thereby providing faster and more accurate availability. Servers may optionally be used.
도 1은 본 발명의 일 실시예에 따른 자율주행 데이터의 오픈 API 서비스 시스템의 구성이 개략적으로 도시된 도면이다.
도 2는 본 발명의 일 실시예에 따른 서버와 공유 데이터 관리소의 내부 구성이 개략적으로 도시된 도면이다.
도 3은 본 발명에서 클라이언트로부터 서비스 요청을 수신한 제1서버의 서비스 방법을 나타낸 순서도이다.
도 4는 본 발명에서 제1서버로부터 중계 요청을 수신한 중계 서버의 서비스 방법을 나타낸 순서도이다. 1 is a diagram schematically showing the configuration of an open API service system for autonomous driving data according to an embodiment of the present invention.
2 is a diagram schematically illustrating the internal configuration of a server and a shared data management center according to an embodiment of the present invention.
3 is a flowchart illustrating a service method of a first server receiving a service request from a client in the present invention.
4 is a flowchart illustrating a service method of a relay server receiving a relay request from a first server in the present invention.
이하, 첨부된 도면을 참조하여 본 발명에 대해 설명하면 다음과 같다.Hereinafter, the present invention will be described with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 자율주행 데이터의 오픈 API 서비스 시스템의 구성이 개략적으로 도시된 도면이다. 도 2는 본 발명의 일 실시예에 따른 서버와 공유 데이터 관리소의 내부 구성이 개략적으로 도시된 도면이다.1 is a diagram schematically showing the configuration of an open API service system for autonomous driving data according to an embodiment of the present invention. 2 is a diagram schematically illustrating the internal configuration of a server and a shared data management center according to an embodiment of the present invention.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 자율주행 데이터의 오픈 API 서비스 시스템은, 클라이언트(10), 복수의 서버들(20) 및 공유 데이터 관리소(30)를 포함한다.1 and 2 , an open API service system for autonomous driving data according to an embodiment of the present invention includes a
상기 자율주행 데이터는, 정밀도로지도와 도로관련속성 정보를 포함하는 기준지도 정보를 포함한다. 또한, 상기 자율주행 데이터는, 상기 기준지도 정보 이외에 센서 정보, 날씨 정보, 교통 정보, 신호등 정보 등 자율주행에 필요한 데이터를 모두 포함할 수 있다. 상기 도로관련속성 정보는, 도로 시설물의 종류, 도로 등급, 도로 연장, 도로 폭 등에 대한 정보를 포함하는 도로 대장 시스템, 도로 표지의 종별, 관리기관, 등록일, 위치정보 등에 대한 정보를 포함하는 도로 표지 관리 시스템, 교통안전 시설물의 설치 일자, 위치, 내용, 길이 및 폭 등에 대한 정보를 포함하는 교통안전 시설물 관리 시스템, 터널 및 교량의 허용 하중, 안전등급, 제한 높이, 위치 등에 대한 정보를 포함하는 터널 및 교량 관리 시스템으로부터 수집되는 정보를 포함한다. 다만, 이에 한정되지 않고 자율주행에 필요한 데이터라면 추가로 적용 가능하다.The autonomous driving data includes reference map information including a map with precision and road-related attribute information. In addition, the autonomous driving data may include all data necessary for autonomous driving, such as sensor information, weather information, traffic information, and traffic light information, in addition to the reference map information. The road-related attribute information includes a road record system including information on the type of road facility, road grade, road extension, road width, etc., a road sign including information on the type of road sign, management agency, registration date, location information, etc. Management system, traffic safety facility management system including information on installation date, location, content, length and width of traffic safety facilities, tunnels including information on allowable loads, safety classes, limit heights, locations, etc. of tunnels and bridges and information collected from the bridge management system. However, the present invention is not limited thereto and may additionally be applied as long as it is necessary for autonomous driving.
상기 클라이언트(10)는, 상기 자율주행 데이터를 사용하고자 하는 기관의 단말기, 자율주행자동차의 단말기, 스마트폰 등을 포함한다. The
도 1에서는 상기 클라이언트(10)가 1개인 것으로 예를 들어 설명하였으나, 이에 한정되지 않고 복수개로 이루어질 수 있다. In FIG. 1 , it has been described as an example that the number of the
상기 복수의 서버들(20)은, 상기 클라이언트(10)와 상기 공유 데이터 관리소(30)사이에서 통신하는 노드들이다. The plurality of
상기 서버들(20)은 각각 서버 통신부(20a), 서버 판단부(20b) 및 서버 제어부(20c)를 포함한다.The
상기 서버 통신부(20a)는, 상기 클라이언트(10)로부터 상기 자율주행 데이터의 오픈 API 서비스에 대한 요청 신호를 수신한다. 또한, 상기 서버 통신부(20a)는, 상기 서버들간(20)에 상기 오픈 API서비스에 대한 중계를 요청하는 신호를 송수신한다. The
상기 서버 판단부(20b)는, 상기 공유 데이터 관리소(30)에 저장된 상기 서버들(20)의 가용도를 조회하고, 상기 가용도에 따라 상기 복수의 서버들(20) 중에서 상기 오픈 API 서비스를 중계할 서버를 설정한다. The
상기 서버 제어부(20c)는, 상기 공유 데이터 관리소(30)에 저장된 상기 자율주행 데이터에 대한 상기 오픈 API 서비스를 직접 실행시키거나, 상기 중계 서버로 서비스 중계를 실행시킨다. The
상기 공유 데이터 관리소(30)는, 데이터 통신부(30a), 데이터 수집부(30b), 데이터 저장부(30c), 데이터 분석부(30d)를 포함한다.The shared
상기 데이터 통신부(30a)는, 상기 서버들(20)과 통신하여, 상기 서버들(20)로부터 상기 오픈 API 서비스 실행 요청에 대한 신호를 수신한다. 또한, 상기 데이터 통신부(30a)는 상기 서버들(20)로부터 상기 서버들(20)의 가용성 정보를 수신하고, 상기 서버들(20)에게 상기 자율주행 데이터 또는 상기 가용도에 대한 정보를 제공한다.The
상기 데이터 수집부(30b)는, 상기 자율주행 데이터와 상기 서버들(20)의 가용성 정보를 수집한다. 상기 자율주행 데이터는, 상기 정밀도로지도와 상기 도로관련 속성 정보를 포함하며, 별도로 구축되어 있는 상기 도로 대장 시스템, 상기 도로 표지 관리 시스템, 상기 교통안전 시설물 관리 시스템, 상기 터널 및 교량 관리 시스템으로부터 수집할 수 있다. 상기 서버들(20)의 가용성 정보는, 상기 서버들(20) 각각의 리소스, 로그, 스레드, 트래픽, 서비스 사용량 중 적어도 하나를 포함한 정보인 것으로 예를 들어 설명한다. 즉, 상기 서버들(20)은 주기적으로 상기 공유 데이터 관리소(30)의 상기 데이터 수집부(30b)에 가용성 정보를 송신한다.The
상기 데이터 분석부(30d)는, 상기 데이터 수집부(30b)가 수집한 상기 서버들(20)의 가용성 정보를 미리 설정된 기준에 따라 가용도로 환산한다. 상기 가용도(Availablity)는 서비스 처리 능력을 의미하며, 본 실시예에서는 100을 기준으로 하여 0~100 범위로 표시한다. 예를 들어, 상기 가용도가 70인 경우 상기 서버가 70%까지 사용되고 있다는 것을 의미한다. The
상기 데이터 저장부(30c)에는, 상기 자율주행 데이터, 상기 가용성 정보 및 상기 가용도가 저장된다. 상기 데이터 저장부(30c)에는 상기 복수의 서버들(20)에 대한 가용성 정보를 나타내는 가용성 정보 테이블로 저장되며, 미리 설정된 설정시간간격으로 업데이트된다. 상기 가용성 정보 테이블에는 서버의 번호, 서비스 번호, 서버의 위치, 서버의 가용도, 업데이트 시간 등을 포함할 수 있다. The
상기와 같이 구성된 본 발명의 일 실시예에 따른 자율주행 데이터의 오픈 API 서비스 방법을 설명하면, 다음과 같다. An open API service method of autonomous driving data according to an embodiment of the present invention configured as described above will be described as follows.
도 3은 본 발명에서 클라이언트로부터 서비스 요청을 수신한 제1서버의 서비스 방법을 나타낸 순서도이다. 3 is a flowchart illustrating a service method of a first server receiving a service request from a client in the present invention.
도 3을 참조하면, 먼저, 상기 복수의 서버들(20) 중에서 어느 하나의 제1서버(21)가 상기 클라이언트(10)로부터 상기 자율주행 데이터의 오픈 API 서비스에 대한 요청을 수신한다.(S11)Referring to FIG. 3 , first, a
상기 제1서버(21)가 상기 자율주행 데이터의 오픈 API 서비스에 대한 요청을 수신하면, 상기 제1서버(21)는 가용도를 조회한다.(S12)When the
상기 가용도를 조회하는 단계(S12)에서는, 상기 공유 데이터 관리소(30)에 저장된 상기 가용성 정보 테이블로부터 가용도를 조회할 수 있다.In the step of inquiring the availability ( S12 ), the availability may be inquired from the availability information table stored in the shared
상기 제1서버(21)의 가용도를 미리 설정된 기준값과 비교한다.(S13)The availability of the
상기 서버들(20)의 가용도는 100을 기준으로 하고, 상기 기준값은 70인 것으로 예를 들어 설명한다. 상기 가용도가 작을수록 상기 서버(20)의 처리할 수 있는 용량이 적다는 의미이다. 즉, 상기 제1서버(21)의 가용도가 상기 기준값이 70 미만이면, 응답 속도가 저하되는 것으로 판단한다.The availability of the
상기 제1서버(21)의 가용도가 상기 기준값 미만이면, 상기 제1서버(21)의 가용도가 충분하다고 판단하여 상기 제1서버(21)는 상기 공유 데이터 저장소(30)에 상기 자율주행 데이터에 대한 오픈 API 서비스의 실행을 요청한다.(S14)If the availability of the
상기 제1서버(21)는 직접 상기 오픈 API 서비스를 실행하고, 상기 클라이언트(10)에 실행 결과를 응답한다.(S15)The
한편, 상기 제1서버(21)의 가용도가 상기 기준값 이상이면, 상기 제1서버(21)의 가용도가 부족하다고 판단한다.On the other hand, if the availability of the
상기 제1서버(21)는 상기 복수의 서버들(20) 중에서 다른 하나의 제2서버(22)를 중계 서버로 설정한다.(S16)The
이 때, 상기 제1서버(21)는 상기 공유 데이터 저장소(30)에 저장된 상기 가용성 정보 테이블로부터 상기 복수의 서버들(20)의 가용도를 조회하고, 상기 복수의 서버들(20) 중에서 가용도가 가장 낮은 서버를 상기 중계 서버로 설정한다. 즉, 상기 가용도가 상대적으로 낮을수록 응답확율이 높기 때문에, 상기 복수의 서버들(20) 중에서 상대적으로 가용도가 가장 낮은 서버를 상기 중계 서버로 설정하는 것이 바람직하다. At this time, the
상기 중계 서버로 상기 제2서버(22)가 설정되면, 상기 제1서버(21)가 상기 중계 서버에 접속 가능하지 여부를 판단한다.(S17)When the
상기 중계 서버에 접속이 불가능하다고 판단되면, 상기 중계 서버를 다시 설정한다.If it is determined that access to the relay server is impossible, the relay server is configured again.
상기 중계 서버에 접속이 가능하다고 판단되면, 상기 제1서버(21)는 상기 중계 서버에 상기 오픈 API 서비스에 대한 중계를 요청한다.When it is determined that access to the relay server is possible, the
도 4는 본 발명에서 제1서버로부터 중계 요청을 수신한 중계 서버의 서비스 방법을 나타낸 순서도이다. 4 is a flowchart illustrating a service method of a relay server receiving a relay request from a first server in the present invention.
도 4를 참조하면, 상기 중계 서버는, 상기 제1서버(21)로부터 상기 오픈 API 서비스에 대한 중계 요청을 수신한다.(S21)Referring to FIG. 4 , the relay server receives a relay request for the open API service from the first server 21 (S21).
상기 중계 서버가 상기 중계 요청을 수신하면, 상기 중계 서버의 가용도를 상기 기준값과 비교한다.(S22)When the relay server receives the relay request, the availability of the relay server is compared with the reference value (S22).
상기 중계 서버의 가용도가 상기 기준값 미만이면, 상기 중계 서버의 가용도가 충분하다고 판단한다. 따라서, 상기 중계 서버는 상기 공유 데이터 저장소(30)에 상기 자율주행 데이터에 대한 오픈 API 서비스의 실행을 요청한다.(S23)If the availability of the relay server is less than the reference value, it is determined that the availability of the relay server is sufficient. Accordingly, the relay server requests the shared
상기 중계 서버인 상기 제2서버(22)가 상기 오픈 API 서비스를 실행하고, 실행 결과는 상기 제1서버(21)를 통해 상기 클라이언트(10)에 응답한다.(S24)The
한편, 상기 중계 서버의 가용도가 상기 기준값 이상이면, 상기 중계 서버의 가용도가 부족하다고 판단한다.On the other hand, if the availability of the relay server is equal to or greater than the reference value, it is determined that the availability of the relay server is insufficient.
따라서, 상기 중계 서버는, 경유 노드 수를 미리 설정된 설정 개수와 비교한다.(S25)Accordingly, the relay server compares the number of transit nodes with a preset number. (S25)
여기서, 상기 경유 노드 수는, 상기 오픈 API 서비스에 대한 중계 요청을 받고 경유한 중계 서버들의 개수이다. 상기 경유 노드 수가 많으면, 중계로 인한 서비스 응답이 지연되므로, 상기 경유 노드 수를 상기 설정 개수 이하이도록 제한하는 것이 바람직하다. 본 실시예에서는, 상기 설정 개수는 2인 것으로 예를 들어 설명한다. Here, the number of transit nodes is the number of relay servers that have received and passed through the relay request for the open API service. If the number of via nodes is large, the service response due to relaying is delayed. Therefore, it is preferable to limit the number of via nodes to be less than or equal to the set number. In this embodiment, the set number will be described as an example of two.
상기 경유 노드 수가 상기 설정 개수 이하이면, 추가로 중계 요청을 할 수 있다고 판단하여, 상기 중계 서버를 다시 설정하기 위하여 상기 공유 데이터 저장소(30)에 저장된 상기 가용성 정보 테이블로부터 상기 복수의 서버들(20)의 가용도를 조회한다.(S26)If the number of via nodes is less than or equal to the set number, it is determined that additional relay requests can be made, and the plurality of
상기 중계 서버인 상기 제2서버(22)는, 상기 복수의 서버들(20) 중에서 가용도가 가장 낮은 서버를 새로운 중계 서버로 다시 설정한다.(S27)The
상기 복수의 서버들(20) 중에서 제3서버가 새로운 중계 서버로 설정되면, 상기 제2서버(22)가 상기 제3서버(23)에 접속 가능한지 여부를 판단한다.(S28)If the third server among the plurality of
상기 제3서버(23)에 접속이 불가능하다고 판단되면, 상기 중계 서버를 다시 설정한다.If it is determined that access to the
상기 제3서버(23)에 접속이 가능하다고 판단되면, 상기 제2서버(22)는 상기 제3서버(23)에 상기 오픈 API 서비스에 대한 중계를 요청한다.When it is determined that access to the
상기 오픈 API 서비스에 대한 중계 요청을 수신받은 중계 서버의 서비스 방법은 상기 단계들(S21~S28)을 반복하게 된다. The service method of the relay server receiving the relay request for the open API service repeats the steps S21 to S28.
한편, 상기 경유 노드 수가 상기 설정 개수를 초과하면, 더 이상 추가로 중계 요청을 할 수 없다고 판단한다.On the other hand, if the number of transit nodes exceeds the set number, it is determined that additional relay requests cannot be made.
따라서, 상기 제1서버(21)는, 상기 클라이언트(10)에 서비스 에러로 응답한다.(S29)Accordingly, the
즉, 상기 서버들(20)간에 중계가 너무 많이 이루어져서 상기 경유 노드 수가 상기 설정 개수를 초과하게 되면, 중계로 인한 서비스 응답이 지연되므로 더 이상 중계하지 않고 서비스 에러로 응답하도록 한다.That is, if too many relays are made between the
상기와 같이 본 발명에서는, 상기 클라이언트(10)가 상기 서버(20)에 상기 자율주행 데이터의 오픈 API 서비스에 대한 요청을 직접 한다.As described above, in the present invention, the
또한, 상기 서버(20)는 가용도가 미리 설정된 기준값에 도달하여 한계치에 이르기 전에 다른 서버에 서비스의 중계를 직접 요청할 수 있으므로, 서비스의 응답 속도가 보다 향상될 수 있고, 처리 용량 과다로 인한 서버의 다운이 방지될 수 있다.In addition, since the
또한, 상기 공유 데이터 관리소(30)에 상기 자율주행 데이터 뿐만 아니라, 상기 복수의 서버들(20)의 가용도가 저장되고, 설정 시간 간격으로 업데이트됨에 따라 상기 서버들(20)의 가용도에 따른 서비스 응답이 효율적으로 이루어질 수 있다.In addition, the availability of the plurality of
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.Although the present invention has been described with reference to the embodiment shown in the drawings, which is merely exemplary, it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible therefrom. Accordingly, the true technical protection scope of the present invention should be determined by the technical spirit of the appended claims.
10: 클라이언트 20: 서버
30: 공유 데이터 관리소10: client 20: server
30: Shared Data Management Office
Claims (11)
상기 제1서버가 상기 공유 데이터 관리소에 미리 저장된 상기 복수의 서버들의 가용도를 조회하는 단계와;
상기 제1서버의 가용도가 미리 설정된 기준값 이상이면, 상기 제1서버는 상기 복수의 서버들 중에서 다른 하나의 제2서버를 중계 서버로 설정하는 단계와;
상기 중계 서버가 설정되면, 상기 제1서버가 상기 중계 서버에 상기 오픈 API 서비스에 대한 중계를 요청하는 단계와;
상기 중계 서버가 상기 오픈 API 서비스에 대한 중계 요청을 수신하는 단계와;
상기 중계 서버의 가용도가 상기 기준값 미만이면, 상기 중계 서버가 상기 오픈 API 서비스를 실행하는 단계를 포함하고,
상기 중계 서버의 가용도가 상기 기준값 이상이면, 상기 오픈 API 서비스에 대한 중계 요청을 받고 경유한 서버의 개수인 경유 노드 수를 미리 설정된 설정 개수와 비교하는 단계와,
상기 경유 노드 수가 상기 설정 개수 이하이면, 상기 중계 서버는 상기 공유 데이터 관리소에 미리 저장된 상기 복수의 서버들의 가용도를 다시 조회하는 단계와,
상기 중계 서버가 상기 가용도에 따라 상기 복수의 서버들 중에서 또 다른 하나의 제3서버를 새로운 중계 서버로 재설정하는 단계를 더 포함하는 자율주행 데이터의 오픈 API 서비스 제공 방법.Receiving, by any one of the plurality of servers, a request for an open API service for autonomous driving data including a map and road-related attribute information with precision stored in a shared data management center from a client;
Inquiring, by the first server, the availability of the plurality of servers stored in advance in the shared data management center;
setting, by the first server, another second server from among the plurality of servers as a relay server when the availability of the first server is equal to or greater than a preset reference value;
requesting, by the first server, to relay the open API service to the relay server when the relay server is set;
receiving, by the relay server, a relay request for the open API service;
If the availability of the relay server is less than the reference value, the relay server executing the open API service,
If the availability of the relay server is equal to or greater than the reference value, comparing the number of passing nodes, which is the number of servers that received and passed through the relay request for the open API service, with a preset number;
If the number of via nodes is less than or equal to the set number, the relay server inquiring again the availability of the plurality of servers stored in advance in the shared data management center;
and resetting, by the relay server, another third server among the plurality of servers as a new relay server according to the availability.
상기 중계 서버가 재설정되면, 상기 재설정된 중계 서버에 상기 오픈 API 서비스에 대한 중계를 요청하는 단계와,
상기 재설정된 중계 서버가 상기 오픈 API 서비스에 대한 중계 요청을 수신하는 단계와,
상기 재설정된 중계 서버의 가용도가 상기 기준값 미만이면, 상기 재설정된 중계 서버가 상기 오픈 API 서비스를 실행하는 단계를 더 포함하는 자율주행 데이터의 오픈 API 서비스 제공 방법.The method according to claim 1,
when the relay server is reset, requesting relay for the open API service to the reset relay server;
receiving, by the reset relay server, a relay request for the open API service;
When the availability of the reset relay server is less than the reference value, the method further comprising the step of executing the open API service by the reset relay server.
상기 경유 노드 수가 상기 설정 개수를 초과하면, 상기 클라이언트에 서비스 에러로 응답하는 자율주행 데이터의 오픈 API 서비스 제공 방법.The method according to claim 1,
When the number of transit nodes exceeds the set number, a method for providing an open API service for autonomous driving data in response to a service error to the client.
상기 중계 서버가 상기 오픈 API 서비스를 실행하고, 실행 결과는 상기 제1서버를 통해 상기 클라이언트에 응답하는 자율주행 데이터의 오픈 API 서비스 제공 방법.The method according to claim 1,
The method of providing an open API service for autonomous driving data in which the relay server executes the open API service, and the execution result responds to the client through the first server.
상기 복수의 서버들 중에서 상기 가용도가 상대적으로 낮아서 응답 확률이 높은 서버를 상기 중계 서버로 설정하는 자율주행 데이터의 오픈 API 서비스 제공 방법.The method according to claim 1,
A method of providing an open API service for autonomous driving data, in which a server having a relatively low availability and a high response probability among the plurality of servers is set as the relay server.
상기 제1서버의 가용도가 상기 기준값 미만이면, 상기 제1서버가 상기 클라이언트에 상기 오픈 API 서비스를 실행하고 상기 클라이언트에 응답하는 자율주행 데이터의 오픈 API 서비스 제공 방법.The method according to claim 1,
When the availability of the first server is less than the reference value, the first server executes the open API service to the client and responds to the client.
상기 서버들은 각각의 리소스, 로그, 스레드, 트래픽, 서비스 사용량 중 적어도 하나를 포함한 가용성 정보를 미리 설정된 설정 시간 간격으로 상기 공유 데이터 관리소로 송신하는 자율주행 데이터의 오픈 API 서비스 제공 방법.The method according to claim 1,
The server transmits availability information including at least one of each resource, log, thread, traffic, and service usage to the shared data management center at preset time intervals. A method of providing an open API service for autonomous driving data.
상기 공유 데이터 관리소는 상기 서버들로부터 수신한 상기 가용성 정보를 상기 가용도로 환산하여 저장하는 자율주행 데이터의 오픈 API 서비스 제공 방법.9. The method of claim 8,
The shared data management office converts the availability information received from the servers into the availability and stores the open API service providing method for autonomous driving data.
상기 복수의 서버들에 각각 구비되어, 클라이언트로부터 상기 자율주행 데이터의 오픈 API 서비스에 대한 요청 신호를 수신하거나 상기 서버들간에 상기 오픈 API 서비스에 대한 중계를 요청하는 신호를 송수신하는 서버 통신부와;
상기 서버들에 각각 구비되어, 상기 서버들의 가용도를 조회하고, 상기 가용도에 따라 상기 복수의 서버들 중에서 상기 오픈 API 서비스를 중계할 서버를 중계 서버로 설정하는 서버 판단부와;
상기 서버들에 각각 구비되어, 상기 공유 데이터 관리소에 저장된 상기 자율주행 데이터에 대한 상기 오픈 API 서비스를 실행시키거나 상기 중계 서버로 상기 오픈 API 서비스의 중계를 요청하는 서버 제어부를 포함하고,
상기 서버 판단부는, 상기 중계 서버의 가용도가 기준값 이상이면, 상기 오픈 API 서비스에 대한 중계 요청을 받고 경유한 서버의 개수인 경유 노드 수를 미리 설정된 설정 개수와 비교하고,
상기 경유 노드 수가 상기 설정 개수 이하이면, 상기 중계 서버는 상기 공유 데이터 관리소에 미리 저장된 상기 복수의 서버들의 가용도를 다시 조회하고,
상기 중계 서버가 상기 가용도에 따라 상기 복수의 서버들 중에서 또 다른 하나의 서버를 새로운 중계 서버로 재설정하는 자율주행 데이터의 오픈 API 서비스 제공 시스템.a shared data management center in which autonomous driving data including maps and road-related attribute information with precision and availability of a plurality of servers are stored in advance;
a server communication unit provided in each of the plurality of servers to receive a request signal for an open API service of the autonomous driving data from a client or to transmit and receive a signal for requesting relay of the open API service between the servers;
a server determination unit provided in each of the servers, inquiring about availability of the servers, and setting a server to relay the open API service from among the plurality of servers as a relay server according to the availability;
a server control unit provided in each of the servers to execute the open API service for the autonomous driving data stored in the shared data management center or to request relay of the open API service to the relay server;
If the availability of the relay server is equal to or greater than a reference value, the server determination unit compares the number of passing nodes, which is the number of servers that received and passed through the relay request for the open API service, with a preset number,
If the number of via nodes is less than or equal to the set number, the relay server inquires again the availability of the plurality of servers stored in advance in the shared data management center,
An open API service providing system for autonomous driving data in which the relay server resets another server among the plurality of servers as a new relay server according to the availability.
상기 공유 데이터 관리소에 구비되어, 상기 서버들과 통신하는 데이터 통신부와,
상기 공유 데이터 관리소에 구비되어, 상기 자율주행 데이터와 상기 서버들의 가용성 정보를 수집하는 데이터 수집부와,
상기 데이터 수집부가 수집한 가용성 정보를 미리 설정된 기준에 따라 가용도로 환산하는 데이터 분석부와,
상기 자율주행 데이터, 상기 가용성 정보 및 상기 가용도를 저장하는 데이터저장부를 포함하는 자율주행 데이터의 오픈 API 서비스 제공 시스템.11. The method of claim 10,
a data communication unit provided in the shared data management office to communicate with the servers;
a data collection unit provided in the shared data management center to collect the autonomous driving data and availability information of the servers;
a data analysis unit that converts the availability information collected by the data collection unit into availability according to a preset standard;
and a data storage unit configured to store the autonomous driving data, the availability information, and the availability.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210155439A KR102383712B1 (en) | 2021-11-12 | 2021-11-12 | Method and system for providing open application programming interface service of autonomous driving data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210155439A KR102383712B1 (en) | 2021-11-12 | 2021-11-12 | Method and system for providing open application programming interface service of autonomous driving data |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102383712B1 true KR102383712B1 (en) | 2022-04-08 |
Family
ID=81183118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210155439A KR102383712B1 (en) | 2021-11-12 | 2021-11-12 | Method and system for providing open application programming interface service of autonomous driving data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102383712B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002251344A (en) * | 2001-02-22 | 2002-09-06 | Fujitsu Ltd | Service management device |
KR101107319B1 (en) | 2008-12-01 | 2012-01-20 | 한국전자통신연구원 | Method and System for Providing Web Portal Service based on Open Application Program Interface |
KR20170080552A (en) * | 2017-06-26 | 2017-07-10 | 박병종 | Transfer system in optimum condition and operation method thereby |
-
2021
- 2021-11-12 KR KR1020210155439A patent/KR102383712B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002251344A (en) * | 2001-02-22 | 2002-09-06 | Fujitsu Ltd | Service management device |
KR101107319B1 (en) | 2008-12-01 | 2012-01-20 | 한국전자통신연구원 | Method and System for Providing Web Portal Service based on Open Application Program Interface |
KR20170080552A (en) * | 2017-06-26 | 2017-07-10 | 박병종 | Transfer system in optimum condition and operation method thereby |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190386899A1 (en) | Accurate mobile traffic information acquisition with minimal transmission cost and optional v2v extension | |
JP2019125867A (en) | Monitoring device, monitoring system and monitoring method | |
US11144303B2 (en) | Vehicle software deployment system | |
CN111213396B (en) | Method and system for downloading digital geographic map tiles | |
US20220050725A1 (en) | Method for managing computing capacities in a network with mobile participants | |
JP5666669B2 (en) | A communication-type navigation system that searches for routes by detecting changes in traffic volume | |
US11354158B2 (en) | Platooning of computational resources in automated vehicles networks | |
US20190122554A1 (en) | Smart parking management and navigation system | |
US10095555B2 (en) | Task control system | |
KR102383712B1 (en) | Method and system for providing open application programming interface service of autonomous driving data | |
US20220250640A1 (en) | Vehicle-mounted device, control method therefor, and vehicle | |
JP7410157B2 (en) | Delegating cloud roles to devices (delegation) | |
CN113091760A (en) | Road condition information acquisition method based on block chain intelligent contract | |
EP3570180B1 (en) | Information communication system, information communication method, and server | |
CN113243100A (en) | Device for outsourcing a computing process for a vehicle | |
KR101965052B1 (en) | Apparatus for assigning traffic dynamically based on Vehicle to Everything, method thereof and computer recordable medium storing program to perform the method | |
JP2019096085A (en) | Information processing device | |
JP7338236B2 (en) | Connection destination server selection device, in-vehicle device provided with same, vehicle, connection destination server selection method, and server | |
JP2019096084A (en) | Information processing device | |
KR100856205B1 (en) | Route guide system for dynamic updating digital map data and method thereof | |
EP3852404A1 (en) | Efficient use of a ran for safely operating a vehicle | |
JP2021034018A (en) | Control apparatus and control method for transmitting data on vehicle environment | |
KR102555907B1 (en) | A vehicle and method for controlling communication thereof | |
US10652692B2 (en) | Method and device for the selective transmission of data | |
JP2022002040A (en) | Data collection system, collection center, and data collection method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |