KR20220051738A - Method for calculating road congestion and road congestion calculation device performing method - Google Patents

Method for calculating road congestion and road congestion calculation device performing method Download PDF

Info

Publication number
KR20220051738A
KR20220051738A KR1020200135502A KR20200135502A KR20220051738A KR 20220051738 A KR20220051738 A KR 20220051738A KR 1020200135502 A KR1020200135502 A KR 1020200135502A KR 20200135502 A KR20200135502 A KR 20200135502A KR 20220051738 A KR20220051738 A KR 20220051738A
Authority
KR
South Korea
Prior art keywords
link
road
message
information
congestion
Prior art date
Application number
KR1020200135502A
Other languages
Korean (ko)
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 KR1020200135502A priority Critical patent/KR20220051738A/en
Publication of KR20220051738A publication Critical patent/KR20220051738A/en

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Atmospheric Sciences (AREA)
  • Traffic Control Systems (AREA)

Abstract

According to an embodiment of the present invention, a method by which a road congestion calculation device calculates the congestion of the road comprises the steps of: obtaining at least one of message subscription information and access information of user terminals located in a first link among a plurality of links obtained by dividing the road according to predetermined criteria; calculating the number of the user terminals located in the first link by using the obtained at least one of the message subscription information and the access information; and calculating the congestion of the first link by using the number of the user terminals located in the first link and obtained road information in the first link. Therefore, the congestion of the road can be calculated more accurately.

Description

도로의 혼잡도를 계산하는 방법 및 상기 방법을 수행하는 도로 혼잡도 계산 장치 {METHOD FOR CALCULATING ROAD CONGESTION AND ROAD CONGESTION CALCULATION DEVICE PERFORMING METHOD}A method for calculating a road congestion level and a road congestion level calculation device for performing the method

본 발명은 도로의 혼잡도를 계산하는 방법 및 상기 방법을 수행하는 도로 혼잡도 계산 장치에 관한 것이다.The present invention relates to a method for calculating a road congestion level and a road congestion level calculation apparatus for performing the method.

네비게이션(Navigation)은 자동차에 장착되어 길을 안내해주는 장치로서, 차량의 운전 시 목적지까지의 경로를 보다 빠르고 정확하게 찾기 위하여 현재 널리 이용되고 있다.BACKGROUND ART A navigation device is a device installed in a vehicle to guide a road, and is currently widely used to find a route to a destination faster and more accurately while driving the vehicle.

차량에 대한 내비게이션을 수행하는 네비게이션 애플리케이션은 GPS 위성으로부터 GPS 위치 정보를 수신하여, 기 저장된 지도에 차량의 위치를 지정하고, GPS 위치 정보의 변화 및 차량의 위치의 상대적인 변화를 이용하여 차량의 위치를 업데이트하는 방식으로 동작한다.A navigation application that performs navigation for a vehicle receives GPS location information from a GPS satellite, specifies the location of the vehicle on a pre-stored map, and determines the location of the vehicle using changes in GPS location information and relative changes in the location of the vehicle. It works by updating.

한편, 네비게이션 애플리케이션이 차량에게 최적의 경로를 제공하기 위해서는, 도로의 혼잡도, 즉, 도로 내의 차량의 통행량을 파악하는 것이 필수적이다.Meanwhile, in order for a navigation application to provide an optimal route to a vehicle, it is essential to understand the congestion level of the road, that is, the amount of vehicle traffic on the road.

다만, 일반적인 내비게이션 애플리케이션으로는 차량 개개의 운행 정보만을 획득할 수 있을 뿐, 도로 내 차량 전체의 운행 정보를 획득하기 어려우며, 도로 내 차량 전체의 운행 정보를 획득하기 위해서는 별도의 장치가 필요할 수도 있어, 기타 시설의 투자 없이 내비게이션 애플리케이션 만으로, 도로의 혼잡도를 산출하는 방법이 문제될 수 있다.However, with a general navigation application, it is possible to obtain only the driving information of each vehicle, and it is difficult to obtain the driving information of the entire vehicle on the road, and a separate device may be required to acquire the driving information of the entire vehicle on the road. A method of calculating the road congestion level with only the navigation application without investment in other facilities may be problematic.

본 발명이 해결하고자 하는 과제는 전술한 문제를 해결하기 위하여, MQTT 프로토콜로 통신하는 메시지 브로커를 통해 획득한 사용자 단말의 메시지 구독 정보 및 접속 정보를 이용하여, 사용자 단말이 위치한 도로의 혼잡도를 계산하는 방법을 제공하는 것이다.The problem to be solved by the present invention is to calculate the congestion level of the road where the user terminal is located by using the message subscription information and access information of the user terminal obtained through a message broker communicating with the MQTT protocol in order to solve the above problem. to provide a way

다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the problems to be solved by the present invention are not limited to those mentioned above, and other problems to be solved that are not mentioned can be clearly understood by those of ordinary skill in the art to which the present invention belongs from the following description. will be.

본 발명의 일 실시 예에 따른 도로 혼잡도 계산 장치가 도로의 혼잡도를 계산하는 방법은, 상기 도로를 소정의 기준으로 구획한 복수의 링크들 중에서 제1 링크에 위치한 사용자 단말의 메시지 구독 정보 및 접속 정보 중에서 적어도 하나를 획득하는 단계; 상기 메시지 구독 정보 및 상기 접속 정보 중에서 획득한 적어도 하나를 이용하여, 상기 제1 링크 내에 위치한 사용자 단말들의 수를 계산하는 단계; 및 상기 제1 링크 내에 위치한 상기 사용자 단말들의 수와 기 획득한 상기 제1 링크의 도로 정보를 이용하여, 상기 제1 링크의 혼잡도를 계산하는 단계를 포함할 수 있다.In the method for calculating the congestion level of a road by an apparatus for calculating road congestion according to an embodiment of the present invention, message subscription information and access information of a user terminal located in a first link among a plurality of links dividing the road based on a predetermined criterion obtaining at least one of calculating the number of user terminals located in the first link by using at least one obtained from the message subscription information and the access information; and calculating the congestion level of the first link by using the number of the user terminals located in the first link and previously obtained road information of the first link.

상기 메시지 구독 정보 및 접속 정보 중에서 적어도 하나를 획득하는 단계는, MQTT(Message Queue Telemetry Transport) 프로토콜로 상기 사용자 단말과 통신하는 메시지 브로커로부터, 상기 메시지 구독 정보 및 상기 접속 정보 중에서 적어도 하나를 수신하고, 상기 메시지 구독 정보는 상기 사용자 단말이 상기 제1 링크를 토픽(topic)으로 상기 메시지 브로커에 신청한 메시지 구독 신청 또는 메시지 구독 해제에 기초하여 생성될 수 있다.The step of obtaining at least one of the message subscription information and the access information includes receiving at least one of the message subscription information and the access information from a message broker that communicates with the user terminal using a Message Queue Telemetry Transport (MQTT) protocol, The message subscription information may be generated based on a message subscription request or message subscription cancellation, which the user terminal applies to the message broker using the first link as a topic.

상기 도로 정보는, 상기 제1 링크의 길이, 도로 등급, 제한 속도 및 차선 개수 중에서 적어도 하나를 포함할 수 있다.The road information may include at least one of a length of the first link, a road class, a speed limit, and the number of lanes.

상기 제1 링크 내에 위치한 사용자 단말들의 수를 계산하는 단계는, 메시지 구독을 신청한 사용자 단말의 수, 메시지 구독 해제를 신청한 사용자 단말의 수 및 MQTT 프로토콜로 상기 사용자 단말과 통신하는 메시지 브로커에 접속 종료한 사용자 단말의 수를 이용하여, 상기 제1 링크 내에 위치한 사용자 단말들의 수를 계산할 수 있다.The step of calculating the number of user terminals located in the first link includes the number of user terminals that have applied for message subscription, the number of user terminals that have applied for message cancellation, and access to a message broker communicating with the user terminal using the MQTT protocol Using the number of terminated user terminals, the number of user terminals located in the first link may be calculated.

상기 제1 링크의 혼잡도를 계산하는 단계는, 상기 제1 링크 내에 위치한 상기 사용자 단말들의 수에, 기 설정된 가중치를 연산하여, 상기 제1 링크 내에 위치한 차량들의 수를 결정하는 단계; 및 상기 제1 링크 내에 위치한 상기 차량들의 수와 상기 제1 링크의 도로 정보를 이용하여, 상기 제1 링크의 혼잡도를 계산하는 단계를 포함할 수 있다.The calculating of the congestion degree of the first link may include: calculating a preset weight on the number of the user terminals located in the first link to determine the number of vehicles located in the first link; and calculating the congestion level of the first link by using the number of vehicles located in the first link and road information of the first link.

본 발명의 다른 실시예에 따른 도로 혼잡도 계산 장치는, 도로를 소정의 기준으로 구획한 복수의 링크들 중에서 제1 링크에 위치한 사용자 단말의 메시지 구독 정보 및 접속 정보 중에서 적어도 하나를 획득하는 송수신기; 및 상기 메시지 구독 정보 및 상기 접속 정보 중에서 획득한 적어도 하나를 이용하여, 상기 제1 링크 내에 위치한 사용자 단말들의 수를 계산하고, 상기 제1 링크 내에 위치한 상기 사용자 단말들의 수와 기 획득한 상기 제1 링크의 도로 정보를 이용하여, 상기 제1 링크의 혼잡도를 계산하는 프로세서를 포함할 수 있다.A road congestion calculation apparatus according to another embodiment of the present invention includes: a transceiver for acquiring at least one of message subscription information and access information of a user terminal located in a first link among a plurality of links dividing a road based on a predetermined criterion; and calculating the number of user terminals located in the first link by using at least one obtained from the message subscription information and the access information, and calculating the number of user terminals located in the first link and the obtained first The processor may include a processor for calculating the congestion level of the first link by using the road information of the link.

본 발명의 또 다른 실시예에 따른 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체는, 도로를 소정의 기준으로 구획한 복수의 링크들 중에서 제1 링크에 위치한 사용자 단말의 메시지 구독 정보 및 접속 정보 중에서 적어도 하나를 획득하는 단계; 상기 메시지 구독 정보 및 상기 접속 정보 중에서 획득한 적어도 하나를 이용하여, 상기 제1 링크 내에 위치한 사용자 단말들의 수를 계산하는 단계; 및 상기 제1 링크 내에 위치한 상기 사용자 단말들의 수와 기 획득한 상기 제1 링크의 도로 정보를 이용하여, 상기 제1 링크의 혼잡도를 계산하는 단계를 포함하고, 도로 혼잡도 계산 장치에 의해 수행되는 도로의 혼잡도를 계산하는 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다.A computer-readable recording medium storing a computer program according to another embodiment of the present invention is a message subscription information and access information of a user terminal located in a first link among a plurality of links dividing a road according to a predetermined standard. obtaining at least one; calculating the number of user terminals located in the first link by using at least one obtained from the message subscription information and the access information; and calculating the degree of congestion of the first link by using the number of the user terminals located in the first link and the previously obtained road information of the first link, wherein the road is performed by a road congestion calculation device. It may include an instruction for causing the processor to perform a method of calculating the congestion degree of .

본 발명의 실시 예에 의하면, MQTT 프로토콜로 통신하는 메시지 브로커를 통해 획득한 사용자 단말의 메시지 구독 정보 및 접속 정보를 이용하여 사용자 단말이 위치한 도로의 혼잡도를 계산함으로써, 별도의 다른 시설이나 장치 없이, 보다 정확하게 도로의 혼잡도를 계산할 수 있다.According to an embodiment of the present invention, by calculating the congestion level of the road where the user terminal is located by using the message subscription information and access information of the user terminal obtained through the message broker communicating with the MQTT protocol, without a separate facility or device, It is possible to more accurately calculate the congestion level of the road.

도 1은 본 발명의 일 실시예에 따른 도로 혼잡도 계산 시스템을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 도로 혼잡도 계산 장치를 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따라 링크의 혼잡도를 계산하는 방법을 나타내는 흐름도이다.
1 is a diagram illustrating a road congestion calculation system according to an embodiment of the present invention.
2 is a block diagram illustrating an apparatus for calculating a road congestion level according to an embodiment of the present invention.
3 is a flowchart illustrating a method of calculating a congestion degree of a link according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and a method for achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the technical field to which the present invention belongs It is provided to fully inform the possessor of the scope of the invention, and the present invention is only defined by the scope of the claims.

본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present invention, if it is determined that a detailed description of a well-known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, the terms to be described later are terms defined in consideration of functions in an embodiment of the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the content throughout this specification.

도 1은 본 발명의 일 실시예에 따른 도로 혼잡도 계산 시스템을 나타내는 도면이다.1 is a diagram illustrating a road congestion calculation system according to an embodiment of the present invention.

도 1을 참조하면, 도로 혼잡도 계산 시스템(10)은 사용자 단말(100), 메시지 브로커(200), 도로 혼잡도 계산 장치(300) 및 데이터베이스(400)를 포함할 수 있다.Referring to FIG. 1 , a road congestion calculation system 10 may include a user terminal 100 , a message broker 200 , a road congestion calculation device 300 , and a database 400 .

사용자 단말(100)은 사용자 단말(100)에 설치된 네비게이션 애플리케이션 또는 지도 애플리케이션에서 제공하는 지도 상에서 사용자 단말(100) 자신의 위치를 파악하고, 상기 지도 상의 도로들 중에서 사용자 단말(100) 자신이 위치한 링크(link)에 대한 정보를 생성할 수 있다.The user terminal 100 detects the user terminal 100's own location on a map provided by a navigation application or a map application installed in the user terminal 100, and links where the user terminal 100 itself is located among roads on the map. You can create information about (link).

상기 링크란, 사용자 단말(100)의 위치에 따른 도로의 혼잡도를 보다 용이하게 파악하기 위하여, 상기 지도 상의 도로들을 구분한 일종의 구획을 의미할 수 있다. 상기 링크는 연결된 도로에서 교차로, 분기점 등에 의해 구분될 수 있으며, 두 개의 분기점 사이에 위치한 도로라 하더라도, 도로의 속성(예컨대, 차선 수, 도로 종류, 톨게이트 유무, 유턴 차로 유무, 신호등 유무 등)이 변하는 경우, 두 개의 서로 다른 링크로 구분될 수도 있다.The link may refer to a kind of division in which roads are divided on the map in order to more easily understand the congestion level of the road according to the location of the user terminal 100 . The link can be distinguished by an intersection, a junction, etc. on a connected road, and even if it is a road located between two junctions, the properties of the road (eg, number of lanes, road type, toll gate presence, U-turn lane presence, traffic light presence, etc.) If it changes, it may be divided into two different links.

사용자 단말(100)은 자신의 위치를 파악한 결과 Mesh ID, Link ID, 방향 및 POL(Position Of Link)를 생성할 수 있으며, 상기 링크에 대한 정보는 Mesh ID, Link ID 및 방향을 포함할 수 있다.The user terminal 100 may generate a Mesh ID, Link ID, direction and POL (Position Of Link) as a result of determining its location, and the information on the link may include a Mesh ID, Link ID, and direction. .

상기 Mesh ID는 권역 ID로서, 사용자 단말(100)의 위치를 상기 링크보다 넓은 영역(예컨대, 20km×20km, 25km×25km의 정사각형)으로 나타내는 식별자를 의미할 수 있다.The Mesh ID is a region ID, and may mean an identifier indicating the location of the user terminal 100 in a wider area than the link (eg, a square of 20 km×20 km, 25 km×25 km).

또한, 상기 Link ID는 상기 지도 상의 도로들 중에서 사용자 단말(100)이 위치하는 링크를 나타내는 식별자를 의미할 수 있다. Also, the Link ID may mean an identifier indicating a link in which the user terminal 100 is located among roads on the map.

또한, 상기 방향은 상기 링크 상에서 사용자 단말(100)이 움직이는(진행하는) 방향을 의미하는 것으로서, 실시예에 따라, 동서남북과 같은 절대적인 방향으로 표현되거나, 상행/하행과 같은 상대적인 방향으로 표현될 수도 있다.In addition, the direction refers to the direction in which the user terminal 100 moves (advances) on the link. Depending on the embodiment, it may be expressed in an absolute direction such as east, west, south, north, or in a relative direction such as up/down. there is.

상기 POL은 상기 링크 상에서 사용자 단말(100)이 어디에 위치하는가를 의미하는 것으로서, 사용자 단말(100)이 상기 링크를 따라 이동할 때 이동 거리(traveling distance)로 나타내어질 수 있다.The POL means where the user terminal 100 is located on the link, and may be expressed as a traveling distance when the user terminal 100 moves along the link.

사용자 단말(100)은 링크에 대한 정보를 토픽(topic)으로 이용하여 메시지 브로커(200)에게 메시지 구독(subscribe)을 신청할 수 있다.The user terminal 100 may apply for a message subscription to the message broker 200 by using the link information as a topic.

이때, 사용자 단말(100)은 링크에 대한 정보를 토픽으로 이용하므로, 사용자 단말(100)이 이동함에 따라, 사용자 단말(100)이 위치한 링크가 변경되는 경우(즉, 사용자 단말(100)이 생성하는 링크에 대한 정보가 변경되는 경우), 사용자 단말(100)은 변경 전의 토픽에 대한 메시지 구독을 해제(unsubscribe)하고, 변경 후의 토픽에 대한 메시지 구독을 신청할 수 있다.At this time, since the user terminal 100 uses information about the link as a topic, as the user terminal 100 moves, when the link in which the user terminal 100 is located is changed (that is, the user terminal 100 is generated When information on a link to be changed is changed), the user terminal 100 may unsubscribe from a message subscription to a topic before the change, and may apply for a message subscription to a topic after the change.

메시지 브로커(200)는 사용자 단말(100)로부터 토픽에 대한 메시지 구독을 신청 받고, 신청 받은 토픽에 대한 이벤트가 발생하는 경우, 상기 이벤트에 대응되는 알림 메시지를 사용자 단말(100)로 전송(publish)할 수 있다.The message broker 200 receives an application for a message subscription for a topic from the user terminal 100, and when an event for the requested topic occurs, a notification message corresponding to the event is transmitted to the user terminal 100 (publish) can do.

사용자 단말(100)로부터 토픽에 대한 메시지 구독 또는 메시지 구독 해제를 수신하는 경우, 메시지 브로커(200)는 메시지 구독 또는 메시지 구독 해제에 기초하여 메시지 구독 정보를 생성할 수 있다.When receiving a message subscription or message unsubscription for a topic from the user terminal 100 , the message broker 200 may generate message subscription information based on the message subscription or message unsubscription.

상기 메시지 구독 정보는 아래의 표 1과 같이 표현될 수 있다.The message subscription information may be expressed as shown in Table 1 below.

메시지 구독Subscribe to messages 메시지 구독 해제Unsubscribe from messages {
"broker":"mpp-dev02",
"hook":"on_client_subscribe",
"timestamp":"1587721576856",
"username":"admin2",
"clientId": "tmapclient-123",
"topic":"1122334455"
}
{
"broker":"mpp-dev02",
"hook":"on_client_subscribe",
"timestamp":"1587721576856",
"username":"admin2",
"clientId": "tmapclient-123",
"topic":"1122334455"
}
{
"broker":"mpp-dev02",
"hook":"on_client_unsubscribe",
"timestamp":"1587721576856",
"username":"admin2",
"clientId": "tmapclient-123",
"topic":"1122334455"
}
{
"broker":"mpp-dev02",
"hook":"on_client_unsubscribe",
"timestamp":"1587721576856",
"username":"admin2",
"clientId": "tmapclient-123",
"topic":"1122334455"
}

여기서, broker는 메시지 브로커의 식별자를 나타내고, hook는 메시지 구독 정보의 성질로서 메시지 구독 정보가 메시지 구독에 대한 것인지 또는 메시지 구독 해제에 대한 것인지 여부를 나타내고, timestamp는 메시지 구독 또는 메시지 구독 해제를 수신한 시간을 나타내고, username은 메시지 브로커에 접속하여 정보를 획득할 수 있는 사용자의 식별자를 나타내고, clientId는 사용자 단말(100)의 식별자를 나타내고, topic은 메시지 구독을 신청한 토픽을 나타낼 수 있다.Here, the broker indicates the identifier of the message broker, the hook indicates whether the message subscription information is for message subscription or message unsubscription as a property of message subscription information, and timestamp indicates whether the message subscription or message unsubscription is received. Indicates time, username may indicate an identifier of a user who can obtain information by accessing a message broker, clientId may indicate an identifier of the user terminal 100, and topic may indicate a topic for which a message subscription is requested.

또한, 메시지 브로커(200)는 사용자 단말(100)로부터 가장 최근에 수신한 메시지 구독 또는 구독 해제에 대한 정보를 저장할 수 있다. 사용자 단말(100)이 메시지 브로커(200)에 대한 접속(connected) 또는 접속 종료(disconnected)한 경우, 메시지 브로커(200)는 접속 또는 접속 종료에 기초하여 접속 정보를 생성할 수 있다.In addition, the message broker 200 may store information on subscription or unsubscription of a message most recently received from the user terminal 100 . When the user terminal 100 is connected to or disconnected from the message broker 200 , the message broker 200 may generate access information based on the connection or termination of the connection.

상기 접속 정보는 아래의 표 2와 같이 표현될 수 있다.The access information may be expressed as shown in Table 2 below.

접속connect 접속 종료connection termination {
"broker":"mpp-dev02",
"hook":"on_client_connected",
"timestamp":"1587721576856",
"username":"admin2",
"clientId": "tmapclient-123",
}
{
"broker":"mpp-dev02",
"hook":"on_client_connected",
"timestamp":"1587721576856",
"username":"admin2",
"clientId": "tmapclient-123",
}
{
"broker":"mpp-dev02",
"hook":"on_client_disconnected",
"timestamp":"1587721576856",
"username":"admin2",
"clientId": "tmapclient-123",
}
{
"broker":"mpp-dev02",
"hook":"on_client_disconnected",
"timestamp":"1587721576856",
"username":"admin2",
"clientId": "tmapclient-123",
}

여기서, hook는 접속 정보의 성질로서, 접속 정보가 사용자 단말(100)의 접속에 대한 것인지 또는 접속 종료에 대한 것인지 여부를 나타낸다.Here, as a property of the access information, the hook indicates whether the access information is for the connection of the user terminal 100 or for the termination of the connection.

메시지 브로커(200)는 사용자 단말(100)의 메시지 구독 여부가 변경될 때마다 메시지 구독 정보를 업데이트하고, 사용자 단말(100)의 접속 여부가 변경될 때마다 접속 정보를 업데이트하여, 업데이트된 메시지 구독 정보 및 업데이트된 접속 정보를 도로 혼잡도 계산 장치(300)로 전송할 수 있다.The message broker 200 updates message subscription information whenever the user terminal 100 changes whether to subscribe to the message, and updates access information whenever the user terminal 100 changes whether to subscribe to the updated message. Information and updated access information may be transmitted to the road congestion calculation apparatus 300 .

도로 혼잡도 계산 장치(300)는 메시지 브로커(200)로부터 수신한 사용자 단말(100)의 메시지 구독 정보 및 접속 정보, 및 기 획득한 링크 속성 정보에 기초하여, 사용자 단말(100)이 위치한 링크의 혼잡도를 계산할 수 있다. 도로 혼잡도 계산 장치(300)가 사용자 단말(100)이 위치한 링크의 혼잡도를 계산하는 방법은, 도 2를 통해 보다 자세하게 설명하기로 한다.The road congestion calculation apparatus 300 calculates the congestion level of the link in which the user terminal 100 is located, based on the message subscription information and access information of the user terminal 100 received from the message broker 200, and the previously obtained link attribute information. can be calculated. A method by which the road congestion calculation apparatus 300 calculates the congestion level of the link in which the user terminal 100 is located will be described in more detail with reference to FIG. 2 .

도로 혼잡도 계산 장치(300)는 링크 별로 도로의 혼잡도를 계산하고, 계산한 링크 별 혼잡도를 데이터베이스(400)에 저장할 수 있다.The road congestion calculation apparatus 300 may calculate a road congestion level for each link, and store the calculated congestion level for each link in the database 400 .

본 명세서에서는, 설명의 편의를 위하여, 데이터베이스(400)는 도로 혼잡도 계산 장치(300)와 구분되는 별개의 장치인 것으로 설명하였지만, 이에 한정되지 않는다. 즉, 실시예에 따라, 데이터베이스(400)는 도로 혼잡도 계산 장치(300)에 포함될 수도 있다.In the present specification, for convenience of explanation, it has been described that the database 400 is a separate device from the road congestion calculation device 300 , but is not limited thereto. That is, according to an embodiment, the database 400 may be included in the road congestion calculation apparatus 300 .

도 2는 본 발명의 일 실시예에 따른 도로 혼잡도 계산 장치를 나타내는 블록도이다.2 is a block diagram illustrating an apparatus for calculating a road congestion level according to an embodiment of the present invention.

도 1 및 도 2는 참조하면, 도로 혼잡도 계산 장치(300)는 프로세서(310), 송수신기(320) 및 메모리(330)를 포함할 수 있다.1 and 2 , an apparatus 300 for calculating a road congestion level may include a processor 310 , a transceiver 320 , and a memory 330 .

프로세서(310)는 도로 혼잡도 계산 장치(300)의 기능을 전반적으로 제어할 수 있다.The processor 310 may control overall functions of the device 300 for calculating road congestion.

송수신기(320)는 메시지 브로커(200)로부터 메시지 구독 정보 및 접속 정보 중에서 적어도 하나를 수신하고, 사용자 단말(100)이 구독을 신청한 토픽에 대한 이벤트가 발생할 경우, 상기 이벤트에 대한 알림 메시지를 메시지 브로커(200)를 통해 사용자 단말(100)로 전송할 수 있다.The transceiver 320 receives at least one of message subscription information and access information from the message broker 200, and when an event for the topic for which the user terminal 100 has subscribed for subscription occurs, a notification message for the event message It may be transmitted to the user terminal 100 through the broker 200 .

실시예에 따라, 송수신기(320)는 메시지 브로커(200)와 MQTT(Message Queue Telemetry Transport) 프로토콜을 이용하여 서로 메시지를 송수신할 수 있다.According to an embodiment, the transceiver 320 may transmit and receive messages to and from the message broker 200 using a Message Queue Telemetry Transport (MQTT) protocol.

메모리(330)는 도로 혼잡도 계산 모델(350) 및 도로 혼잡도 계산 모델(350)의 실행에 필요한 정보를 저장할 수 있다.The memory 330 may store the road congestion calculation model 350 and information necessary for executing the road congestion calculation model 350 .

프로세서(310)는 도로 혼잡도 계산 모델(350)을 실행하기 위해 메모리(330)에 저장된 도로 혼잡도 계산 모델(350) 및 도로 혼잡도 계산 모델(350)의 실행에 필요한 정보를 로드할 수 있다.The processor 310 may load the road congestion calculation model 350 stored in the memory 330 and information necessary for executing the road congestion calculation model 350 to execute the road congestion calculation model 350 .

프로세서(310)는, 도로 혼잡도 계산 모델(350)을 실행하여, 메시지 브로커(200)로부터 수신한 사용자 단말(100)의 메시지 구독 정보 및 접속 정보, 및 기 획득한 링크 속성 정보에 기초하여, 사용자 단말(100)이 위치한 링크의 혼잡도를 계산할 수 있다.The processor 310 executes the road congestion calculation model 350, and based on the message subscription information and access information of the user terminal 100 received from the message broker 200, and the previously obtained link attribute information, the user The congestion degree of the link in which the terminal 100 is located may be calculated.

도로 혼잡도 계산 모델(350)은 단말 개수 파악부(351) 및 링크 혼잡도 계산부(353)를 포함할 수 있다.The road congestion calculation model 350 may include a number of terminals determining unit 351 and a link congestion level calculating unit 353 .

도 2에 도시된 단말 개수 파악부(351) 및 링크 혼잡도 계산부(353)는 도로 혼잡도 계산 모델(350)의 기능을 쉽게 설명하기 위하여 도로 혼잡도 계산 모델(350)의 기능을 개념적으로 나눈 것으로서, 이에 한정되지 않는다. 실시예들에 따라, 단말 개수 파악부(351) 및 링크 혼잡도 계산부(353)의 기능은 병합/분리 가능하며, 하나 이상의 프로그램에 포함된 일련의 명령어들로 구현될 수도 있다.The number of terminals determining unit 351 and link congestion calculation unit 353 shown in FIG. 2 conceptually divide the functions of the road congestion calculation model 350 in order to easily explain the functions of the road congestion calculation model 350, However, the present invention is not limited thereto. According to embodiments, the functions of the terminal number determining unit 351 and the link congestion level calculating unit 353 may be merged/separated, and may be implemented as a series of instructions included in one or more programs.

단말 개수 파악부(351)는 메시지 브로커(200)로부터 수신한 메시지 구독 정보 및 접속 정보를 이용하여 동일한 링크 내에 위치한 사용자 단말들의 수를 계산할 수 있다.The number of terminals determining unit 351 may calculate the number of user terminals located in the same link by using the message subscription information and access information received from the message broker 200 .

보다 자세하게는, 단말 개수 파악부(351)는 링크 내에 위치한 사용자 단말들 중에서 메시지 구독을 신청한 단말의 수, 메시지 구독을 해제한 단말의 수 및 접속을 종료한 단말의 수에 기초하여 동일한 링크 내에 위치한 사용자 단말들의 수를 계산할 수 있다.In more detail, the number of terminals determining unit 351 is configured within the same link based on the number of terminals that have applied for message subscription, the number of terminals that have canceled message subscription, and the number of terminals that have terminated access among user terminals located in the link. The number of located user terminals may be calculated.

예컨대, 단말 개수 파악부(351)는 아래의 수학식 1을 이용하여 동일한 링크 내에 위치한 사용자 단말들의 수를 계산할 수 있다.For example, the number of terminals determining unit 351 may calculate the number of user terminals located in the same link using Equation 1 below.

Figure pat00001
Figure pat00001

여기서, nclients,LinkID는 동일한 링크에 위치한 사용자 단말들의 수를 나타내고, n(sub)는 동일한 링크에 위치하면서 메시지 구독을 신청한 단말의 수를 나타내고, n(unsub)는 동일한 링크에 위치하면서 메시지 구독을 해제한 단말의 수를 나타내고, n(discon)은 동일한 링크에 위치하면서 메시지 브로커(200)에 접속을 종료한 단말의 수를 나타낼 수 있다.Here, n clients,LinkID represents the number of user terminals located on the same link, n(sub) represents the number of terminals that have applied for a message subscription while located on the same link, and n(unsub) is a message while located on the same link Represents the number of UEs that have canceled subscription, and n (discon) may indicate the number of UEs that are located on the same link and have terminated access to the message broker 200 .

즉, 단말 개수 파악부(351)는 동일한 링크 내에 위치하면서 메시지 구독을 신청한 단말의 수를 집계하되, 집계된 단말의 수 중에서 메시지 구독을 해제한 단말의 수와 메시지 브로커(200)에 접속을 종료한 단말의 수를 뺌으로써, 동일한 링크 내에 위치한 사용자 단말들의 수를 계산할 수 있다. 여기서, 메시지 구독을 해제한 단말에 더하여 메시지 브로커(200)에 접속을 종료한 단말 또한 빼는 것은, 메시지 구독을 해제하지 않고 접속이 종료된 단말의 수를 집계하기 위함이다.That is, the number of terminals determining unit 351 counts the number of terminals that have applied for message subscription while being located in the same link, but among the aggregated number of terminals, the number of terminals that have canceled the message subscription and access to the message broker 200 By subtracting the number of terminated terminals, the number of user terminals located in the same link can be calculated. Here, in addition to the terminal that has released the message subscription, the terminal that has terminated the connection to the message broker 200 is also subtracted in order to count the number of terminals whose connection is terminated without canceling the message subscription.

한편, 단말 개수 파악부(351)는 수학식 1에서 구한 사용자 단말의 수에 주기적/비주기적으로 메시지 구독을 신청한 단말의 수, 메시지 구독을 해제한 단말의 수 및 메시지 브로커(200)에 접속을 종료한 단말의 수를 누적함으로써, 동일한 링크 내에 위치한 사용자 단말들의 수를 계산할 수 있다.On the other hand, the number of terminals determining unit 351 is connected to the number of terminals that periodically/aperiodically applied for message subscription to the number of user terminals obtained in Equation 1, the number of terminals that cancel the message subscription, and the message broker 200 . By accumulating the number of terminals that have finished , it is possible to calculate the number of user terminals located in the same link.

이와 같은 경우, 사용자 단말들의 수를 누적하여 계산함에 따른 누적 오차가 발생할 수 있는데, 단말 개수 파악부(351)는 아래의 두 가지 방법을 이용하여 상기 누적 오차를 줄일 수 있다.In such a case, an accumulated error may occur due to accumulating and calculating the number of user terminals. The terminal number determining unit 351 may reduce the accumulated error by using the following two methods.

첫 번째로는, 단말 개수 파악부(351)는 사용자 단말(100)이 가장 최근에 업데이트한 메시지 구독 정보가 업데이트된 시간과 현재 시간을 비교하고, 가장 최근에 업데이트한 메시지 구독 정보가 업데이트된 시간과 현재 시간의 차이가 기 설정된 시간 간격(예컨대, 30분) 이상인 경우, 단말 개수 파악부(351)는 해당되는 사용자 단말을 링크 내에 위치한 사용자 단말들의 수를 계산하는데서 제외할 수 있다.First, the terminal number determiner 351 compares the time at which the most recently updated message subscription information of the user terminal 100 is updated with the current time, and the time at which the most recently updated message subscription information is updated. When the difference between the current time and the preset time interval (eg, 30 minutes) or more, the number of terminals determining unit 351 may exclude the corresponding user terminal from calculating the number of user terminals located in the link.

두 번째로, 단말 개수 파악부(351)는 주기적 또는 비주기적으로 누적된 사용자 단말들의 수를 초기화할 수 있다. 예컨대, 단말 개수 파악부(351)는 교통량이 가장 적은 시간대(예컨대, 새벽 4시)에 누적된 사용자 단말들의 수를 초기화할 수 있다.Second, the number of terminals determining unit 351 may initialize the periodically or aperiodically accumulated number of user terminals. For example, the number of terminals determining unit 351 may initialize the accumulated number of user terminals in a time period with the least amount of traffic (eg, 4:00 am).

링크 혼잡도 계산부(353)는 단말 개수 파악부(351)에서 계산한 동일한 링크 내에 위치한 사용자 단말들의 수와 기 획득한 링크 속성 정보를 이용하여 사용자 단말(100)이 위치한 링크의 혼잡도를 계산할 수 있다.The link congestion calculation unit 353 may calculate the congestion level of the link in which the user terminal 100 is located by using the number of user terminals located in the same link calculated by the number of terminals determining unit 351 and the previously obtained link attribute information. .

상기 링크 속성 정보는 링크의 길이, 링크의 도로 등급, 링크의 제한 속도 및 링크의 차선 개수를 포함할 수 있다.The link attribute information may include a length of a link, a road class of the link, a speed limit of the link, and the number of lanes of the link.

보다 자세하게는, 링크 혼잡도 계산부(353)는 아래의 수학식 2를 이용하여, 링크의 혼잡도를 계산할 수 있다.In more detail, the link congestion level calculator 353 may calculate the link congestion level using Equation 2 below.

Figure pat00002
Figure pat00002

여기서, congestioni는 i-번째(여기서, i는 자연수) 링크의 혼잡도를 나타내고, α는 링크 내의 사용자 단말(100)의 수를 링크 내의 전체 차량의 수로 환산하기 위한 가중치를 나타내고, nclient,i는 i-번째 링크 내에 위치한 사용자 단말(100)의 수를 나타내고, li는 i-번째 링크의 길이를 나타내고, vmax,i는 i-번째 링크의 제한 속도(최대 속도)를 나타내고, safety time은 긴급 상황 발생 시 회피하는데 소요되는 시간을 나타내고, frci는 i-번째 링크의 도로 등급을 나타내고, lanei는 i-번째 링크의 차선 개수를 나타낼 수 있다.Here, congestion i represents the congestion degree of the i-th (here, i is a natural number) link, α represents a weight for converting the number of user terminals 100 in the link to the total number of vehicles in the link, n client, i represents the number of user terminals 100 located in the i-th link, l i represents the length of the i-th link, v max,i represents the speed limit (maximum speed) of the i-th link, safety time may represent a time taken to avoid when an emergency occurs, frc i may represent a road class of the i-th link, and lane i may represent the number of lanes of the i-th link.

먼저 α부터 살펴보면, 링크 내에 위치한 차량들 중에는 사용자 단말(100)과 동일한 네비게이션 애플리케이션을 이용하는 단말들도 있지만 그렇지 않은 단말들도 존재할 수 있다. 따라서, 링크 내에 위치한 차량들의 수를 보다 정확히 계산하기 위하여, 단말 개수 파악부(351)에서 파악하지 못한 차량들(단말들)의 수를 더 고려할 필요가 있다. 이를 위해, 링크 혼잡도 계산부(353)는 단말 개수 파악부(351)에서 파악한 사용자 단말의 수에 가중치 α를 곱하여 링크 내에 위치한 전체 단말의 수를 산출하였다. 실시예에 따라, 가중치 α는 연간 고속도로 총 이용자 수(예컨대, 440만대/일)를 사용자 단말(100)과 동일한 네비게이션 애플리케이션을 사용하는 총 이용자 수(예컨대, 27만명/일)로 나눈 값(예컨대, 16.3)으로 결정될 수 있으나, 이에 한정되는 것은 아니다.First, looking at α, among the vehicles located in the link, there are terminals that use the same navigation application as the user terminal 100, but there may also be terminals that do not. Therefore, in order to more accurately calculate the number of vehicles located in the link, it is necessary to further consider the number of vehicles (terminals) that are not grasped by the terminal number determining unit 351 . To this end, the link congestion calculation unit 353 calculates the total number of terminals located in the link by multiplying the number of user terminals determined by the terminal number determination unit 351 by the weight α. According to an embodiment, the weight α is a value obtained by dividing the total number of annual highway users (eg, 4.4 million/day) by the total number of users (eg, 270,000/day) using the same navigation application as the user terminal 100 (eg, 270,000/day) , 16.3), but is not limited thereto.

이어서, li/(vmax,i*safe time)을 살펴보면, 링크 내 모든 차량들이 링크에 꽉 찬 상태로 안전 거리를 유지하면서 운행 중일 때의 링크의 혼잡도(congestion)를 1로 정규화하고자 한다. 이때, 일반적으로 차량의 정체로 인해 차량의 속도가 줄어들면 차량들 사이의 간격 또한 줄어들기 때문에, 차량들 사이의 간격을 기준으로 congestion을 계산할 수 있다. 또한, 긴급 상황(전방 차량의 사고, 충돌 위험 등)이 발생한 경우, 이를 인지하고 회피하는데 까지 소요되는 회피 시간(예컨대, 4초)을 설정(정의)하면, 차량들 사이의 안전 거리(distance_safety)는 링크의 제한 속도와 회피 시간의 곱(즉, distance_safety = vmax,i * safe time)으로 정의될 수 있다. 따라서, 링크의 길이(li)를 차량들 사이의 안전 거리(distance_safety = vmax,i * safe time)로 나눌 경우, 링크의 혼잡도(congestion)를 정규화할 수 있다.Next, looking at li/(v max,i *safe time), it is intended to normalize the congestion of the link to 1 when all vehicles in the link are driving while maintaining a safe distance in a state in which the link is full. At this time, since the distance between vehicles is also reduced when the speed of the vehicle is reduced due to vehicle congestion in general, congestion can be calculated based on the distance between vehicles. In addition, when an emergency situation (accident of a vehicle in front, risk of collision, etc.) occurs, the avoidance time (eg, 4 seconds) required to recognize and avoid it is set (defined), the safety distance between vehicles (distance_safety) can be defined as the product of the link speed limit and avoidance time (ie, distance_safety = v max,i * safe time). Accordingly, when the length of the link l i is divided by the safety distance between vehicles (distance_safety = v max,i * safe time), the congestion of the link can be normalized.

마지막으로, 링크의 도로 등급(frci)을 살펴보면, 도로의 등급은 아래의 표 3과 같이 나타내어질 수 있다.Finally, looking at the road grade ( frc i ) of the link, the grade of the road may be represented as shown in Table 3 below.

도로의 종류type of road 도로의 등급grade of road frcfrc 고속도로highway AA 1/101/10 도시고속화도로Urban Expressway AA 1/101/10 국도national road BB 1/81/8 국가지원지방도national support map BB 1/81/8 지방도province CC 1/61/6 주요도로 1main road 1 CC 1/61/6 주요도로 2main road 2 CC 1/61/6 주요도로 3main road 3 CC 1/61/6

표 3에서와 같이, 실시예에 따라, 도로 등급(frci)은 최대 속도에 따른 도로의 종류에 따라 세 등급으로 나뉠 수 있다. 이는, 링크의 혼잡도는 도로의 최대 제한 속도에 의존적이기 때문이며(즉, 동일한 대수의 차량이 있더라도 최대 속도가 높은 도로에서는 차량이 빨리 빠질 것을 기대할 수 있기 때문이며), 따라서, 도로 등급이 높을수록(즉, 최대 제한 속도가 높은 도로일수록) 링크의 혼잡도에 적용되는 가중치로서의 도로 등급(frci)은 작을 수 있다.As shown in Table 3, according to the embodiment, the road grade frc i may be divided into three grades according to the type of road according to the maximum speed. This is because the congestion level of the link is dependent on the maximum speed limit of the road (i.e., even if there are the same number of vehicles, vehicles can be expected to exit quickly on a road with high maximum speed), and therefore, the higher the road grade (i.e. , the higher the maximum speed limit, the smaller the road grade frc i as a weight applied to the congestion level of the link.

링크 혼잡도 계산부(353)는 주기적/비주기적으로 링크의 혼잡도를 계산할 수 있다. 실시예에 따라, 링크 혼잡도 계산부(353)는 사용자 단말(100)의 메시지 구독 정보 및/또는 접속 정보가 업데이트될 때마다 링크의 혼잡도를 업데이트할 수 있다.The link congestion level calculator 353 may calculate the link congestion level periodically/aperiodically. According to an embodiment, the link congestion level calculator 353 may update the link congestion level whenever message subscription information and/or access information of the user terminal 100 are updated.

링크 혼잡도 계산부(353)는 주기적/비주기적으로 계산한 링크의 혼잡도를 데이터베이스(400)에 저장할 수 있다.The link congestion level calculator 353 may store the periodically/aperiodically calculated link congestion level in the database 400 .

도 3은 본 발명의 일 실시예에 따라 링크의 혼잡도를 계산하는 방법을 나타내는 흐름도이다.3 is a flowchart illustrating a method of calculating a congestion degree of a link according to an embodiment of the present invention.

도 1 내지 도 3을 참조하면, 단말 개수 파악부(351)는 메시지 브로커(200)로부터 사용자 단말(100)의 메시지 구독 정보 및 접속 정보를 수신하고(S300), 수신한 메시지 구독 정보 및 접속 정보를 이용하여 사용자 단말(100)과 동일한 링크 내에 위치한 단말들의 수를 계산할 수 있다(S310).1 to 3 , the terminal number determining unit 351 receives message subscription information and access information of the user terminal 100 from the message broker 200 ( S300 ), and the received message subscription information and access information can be used to calculate the number of terminals located in the same link as the user terminal 100 (S310).

링크 혼잡도 계산부(353)는, 기 획득한 링크 속성 정보와 단말 개수 파악부(351)에서 계산한 사용자 단말(100)과 동일한 링크 내에 위치한 단말들의 수를 이용하여, 사용자 단말(100)이 위치한 링크의 혼잡도를 계산할 수 있다(S320).The link congestion calculation unit 353 uses the previously obtained link attribute information and the number of terminals located in the same link as the user terminal 100 calculated by the terminal number determining unit 351, where the user terminal 100 is located. The congestion level of the link may be calculated (S320).

본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방법으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Combinations of each block in the block diagram attached to the present invention and each step in the flowchart may be performed by computer program instructions. These computer program instructions may be embodied in the encoding processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, such that the instructions executed by the encoding processor of the computer or other programmable data processing equipment may correspond to each block of the block diagram or Each step of the flowchart creates a means for performing the functions described. These computer program instructions may also be stored in a computer-usable or computer-readable memory which may direct a computer or other programmable data processing equipment to implement a function in a particular way, and thus the computer-usable or computer-readable memory. The instructions stored in the block diagram may also produce an item of manufacture containing instruction means for performing a function described in each block of the block diagram or each step of the flowchart. The computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to create a computer or other programmable data processing equipment. It is also possible that instructions for performing the processing equipment provide steps for carrying out the functions described in each block of the block diagram and in each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Further, each block or each step may represent a module, segment, or portion of code comprising one or more executable instructions for executing specified logical function(s). It should also be noted that, in some alternative embodiments, it is possible for the functions recited in blocks or steps to occur out of order. For example, it is possible that two blocks or steps shown one after another may in fact be performed substantially simultaneously, or that the blocks or steps may sometimes be performed in the reverse order according to the corresponding function.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and various modifications and variations will be possible without departing from the essential quality of the present invention by those skilled in the art to which the present invention pertains. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain, and the scope of the technical spirit of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.

10: 도로 혼잡도 계산 시스템
100: 사용자 단말
200: 메시지 브로커
300: 도로 혼잡도 계산 장치
350: 도로 혼잡도 계산 모델
351: 단말 개수 파악부
353: 링크 혼잡도 계산부
400: 데이터베이스
10: Road Congestion Calculation System
100: user terminal
200: message broker
300: road congestion calculation device
350: road congestion calculation model
351: terminal number determination unit
353: link congestion calculation unit
400: database

Claims (11)

도로 혼잡도 계산 장치가 도로의 혼잡도를 계산하는 방법에 있어서,
상기 도로를 소정의 기준으로 구획한 복수의 링크들 중에서 제1 링크에 위치한 사용자 단말의 메시지 구독 정보 및 접속 정보 중에서 적어도 하나를 획득하는 단계; 및
상기 메시지 구독 정보 및 상기 접속 정보 중에서 획득한 적어도 하나를 이용하여, 상기 제1 링크 내에 위치한 사용자 단말들의 수를 계산하는 단계; 및
상기 제1 링크 내에 위치한 상기 사용자 단말들의 수와 기 획득한 상기 제1 링크의 도로 정보를 이용하여, 상기 제1 링크의 혼잡도를 계산하는 단계를 포함하는
도로의 혼잡도를 계산하는 방법.
A method for calculating a road congestion level by a road congestion calculation device, the method comprising:
obtaining at least one of message subscription information and access information of a user terminal located in a first link among a plurality of links dividing the road according to a predetermined criterion; and
calculating the number of user terminals located in the first link by using at least one obtained from the message subscription information and the access information; and
using the number of the user terminals located in the first link and previously obtained road information of the first link, calculating the degree of congestion of the first link
How to calculate the congestion level of a road.
제1 항에 있어서,
상기 메시지 구독 정보 및 접속 정보 중에서 적어도 하나를 획득하는 단계는,
MQTT(Message Queue Telemetry Transport) 프로토콜로 상기 사용자 단말과 통신하는 메시지 브로커로부터, 상기 메시지 구독 정보 및 상기 접속 정보 중에서 적어도 하나를 수신하고,
상기 메시지 구독 정보는 상기 사용자 단말이 상기 제1 링크를 토픽(topic)으로 상기 메시지 브로커에 신청한 메시지 구독 신청 또는 메시지 구독 해제에 기초하여 생성되는
도로의 혼잡도를 계산하는 방법.
According to claim 1,
The step of obtaining at least one of the message subscription information and the access information comprises:
Receive at least one of the message subscription information and the access information from a message broker that communicates with the user terminal through MQTT (Message Queue Telemetry Transport) protocol,
The message subscription information is generated based on a message subscription request or message subscription cancellation applied by the user terminal to the message broker using the first link as a topic
How to calculate the congestion level of a road.
제1 항에 있어서,
상기 도로 정보는,
상기 제1 링크의 길이, 도로 등급, 제한 속도 및 차선 개수 중에서 적어도 하나를 포함하는
도로의 혼잡도를 계산하는 방법.
According to claim 1,
The road information is
including at least one of a length of the first link, a road class, a speed limit, and the number of lanes
How to calculate the congestion level of a road.
제1 항에 있어서,
상기 제1 링크 내에 위치한 사용자 단말들의 수를 계산하는 단계는,
메시지 구독을 신청한 사용자 단말의 수, 메시지 구독 해제를 신청한 사용자 단말의 수 및 MQTT 프로토콜로 상기 사용자 단말과 통신하는 메시지 브로커에 접속 종료한 사용자 단말의 수를 이용하여, 상기 제1 링크 내에 위치한 사용자 단말들의 수를 계산하는
도로의 혼잡도를 계산하는 방법.
According to claim 1,
Calculating the number of user terminals located in the first link comprises:
Using the number of user terminals that applied for message subscription, the number of user terminals that applied for message cancellation, and the number of user terminals that have terminated access to a message broker that communicates with the user terminal using the MQTT protocol, located in the first link to count the number of user terminals
How to calculate the congestion level of a road.
제1 항에 있어서,
상기 제1 링크의 혼잡도를 계산하는 단계는,
상기 제1 링크 내에 위치한 상기 사용자 단말들의 수에, 기 설정된 가중치를 연산하여, 상기 제1 링크 내에 위치한 차량들의 수를 결정하는 단계; 및
상기 제1 링크 내에 위치한 상기 차량들의 수와 상기 제1 링크의 도로 정보를 이용하여, 상기 제1 링크의 혼잡도를 계산하는 단계를 포함하는
도로의 혼잡도를 계산하는 방법.
According to claim 1,
Calculating the congestion degree of the first link comprises:
determining the number of vehicles located in the first link by calculating a preset weight on the number of the user terminals located in the first link; and
calculating the congestion level of the first link by using the number of vehicles located in the first link and road information of the first link
How to calculate the congestion level of a road.
도로를 소정의 기준으로 구획한 복수의 링크들 중에서 제1 링크에 위치한 사용자 단말의 메시지 구독 정보 및 접속 정보 중에서 적어도 하나를 획득하는 송수신기; 및
상기 메시지 구독 정보 및 상기 접속 정보 중에서 획득한 적어도 하나를 이용하여, 상기 제1 링크 내에 위치한 사용자 단말들의 수를 계산하고, 상기 제1 링크 내에 위치한 상기 사용자 단말들의 수와 기 획득한 상기 제1 링크의 도로 정보를 이용하여, 상기 제1 링크의 혼잡도를 계산하는 프로세서를 포함하는
도로 혼잡도 계산 장치.
a transceiver for obtaining at least one of message subscription information and access information of a user terminal located in a first link among a plurality of links dividing a road according to a predetermined criterion; and
The number of user terminals located in the first link is calculated using at least one obtained from the message subscription information and the access information, and the number of the user terminals located in the first link and the obtained first link A processor for calculating the congestion level of the first link by using the road information of
Road congestion calculator.
제6 항에 있어서,
상기 프로세서는,
상기 송수신기를 이용하여, MQTT(Message Queue Telemetry Transport) 프로토콜로 상기 사용자 단말과 통신하는 메시지 브로커로부터, 상기 메시지 구독 정보 및 상기 접속 정보 중에서 적어도 하나를 수신하고,
상기 메시지 구독 정보는 상기 사용자 단말이 상기 제1 링크를 토픽(topic)으로 상기 메시지 브로커에 신청한 메시지 구독 신청 또는 메시지 구독 해제에 기초하여 생성되는
도로 혼잡도 계산 장치.
7. The method of claim 6,
The processor is
Receive at least one of the message subscription information and the access information from a message broker communicating with the user terminal using the MQTT (Message Queue Telemetry Transport) protocol using the transceiver,
The message subscription information is generated based on a message subscription request or message subscription cancellation applied by the user terminal to the message broker using the first link as a topic
Road congestion calculator.
제6 항에 있어서,
상기 도로 정보는,
상기 제1 링크의 길이, 도로 등급, 제한 속도 및 차선 개수 중에서 적어도 하나를 포함하는
도로 혼잡도 계산 장치.
7. The method of claim 6,
The road information is
including at least one of a length of the first link, a road class, a speed limit, and the number of lanes
Road congestion calculator.
제8 항에 있어서,
상기 프로세서는,
메시지 구독을 신청한 사용자 단말의 수, 메시지 구독 해제를 신청한 사용자 단말의 수 및 MQTT 프로토콜로 상기 사용자 단말과 통신하는 메시지 브로커에 접속 종료한 사용자 단말의 수를 이용하여, 상기 제1 링크 내에 위치한 사용자 단말들의 수를 계산하는
도로 혼잡도 계산 장치.
9. The method of claim 8,
The processor is
Using the number of user terminals that applied for message subscription, the number of user terminals that applied for message cancellation, and the number of user terminals that have terminated access to a message broker that communicates with the user terminal using the MQTT protocol, located in the first link to count the number of user terminals
Road congestion calculator.
제6 항에 있어서,
상기 프로세서는,
상기 제1 링크 내에 위치한 상기 사용자 단말들의 수에, 기 설정된 가중치를 연산하여, 상기 제1 링크 내에 위치한 차량들의 수를 결정하고,
상기 제1 링크 내에 위치한 상기 차량들의 수와 상기 제1 링크의 도로 정보를 이용하여, 상기 제1 링크의 혼잡도를 계산하는
도로 혼잡도 계산 장치.
7. The method of claim 6,
The processor is
determining the number of vehicles located in the first link by calculating a preset weight on the number of the user terminals located in the first link;
calculating the congestion level of the first link by using the number of vehicles located in the first link and road information of the first link
Road congestion calculator.
컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은,
제1 항 내지 제5 항 중 어느 한 항에 따른 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는
컴퓨터 프로그램.
As a computer program stored in a computer-readable recording medium,
The computer program is
A method comprising instructions for causing a processor to perform the method according to any one of claims 1 to 5.
computer program.
KR1020200135502A 2020-10-19 2020-10-19 Method for calculating road congestion and road congestion calculation device performing method KR20220051738A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200135502A KR20220051738A (en) 2020-10-19 2020-10-19 Method for calculating road congestion and road congestion calculation device performing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200135502A KR20220051738A (en) 2020-10-19 2020-10-19 Method for calculating road congestion and road congestion calculation device performing method

Publications (1)

Publication Number Publication Date
KR20220051738A true KR20220051738A (en) 2022-04-26

Family

ID=81391577

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200135502A KR20220051738A (en) 2020-10-19 2020-10-19 Method for calculating road congestion and road congestion calculation device performing method

Country Status (1)

Country Link
KR (1) KR20220051738A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102662365B1 (en) * 2023-07-10 2024-05-03 주식회사 아이나비시스템즈 Apparatus and method for generating traffic information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102662365B1 (en) * 2023-07-10 2024-05-03 주식회사 아이나비시스템즈 Apparatus and method for generating traffic information

Similar Documents

Publication Publication Date Title
US11087621B2 (en) Express lane planning method and unit
CN110958567B (en) Sharing classified objects perceived by autonomous vehicles
US20200219388A1 (en) Map Data Construction Method Vehicle Terminal, and Server
US11131554B2 (en) Systems and methods for vehicle telemetry
US8573978B2 (en) Driving evaluation system and driving evaluation method
US20190051158A1 (en) Intelligent traffic management for vehicle platoons
CN110546695A (en) Method, apparatus and computer program product for integrated management of signal phase and timing for traffic lights
JP5666669B2 (en) A communication-type navigation system that searches for routes by detecting changes in traffic volume
US8306735B2 (en) System and method for managing geographical maplet downloads for a vehicle to support stop sign violation assist and similar applications
US20230057394A1 (en) Cooperative vehicle-infrastructure processing method and apparatus, electronic device, and storage medium
CN110136469B (en) Method and device for compensating driving data of bus
CN107957267B (en) Method and device for determining navigation path prompt information
US20230138704A1 (en) Method for automatic driving at intersection, electronic device, storage medium and automatic driving vehicle
CN113411375A (en) Information processing method, device and computer storage medium
CN111982145B (en) Travel path recommendation method, device, equipment and storage medium
EP4086783A1 (en) Electronic horizon creation method and system
KR20220051738A (en) Method for calculating road congestion and road congestion calculation device performing method
CN103674047A (en) Centralized route determination
KR20220149427A (en) Management method, apparatus, cloud control platform and system for road-side devices for vehicle-road connection
US20240085193A1 (en) Automated dynamic routing unit and method thereof
CN111615053B (en) Internet of vehicles system and method for dynamically marking risk areas
CN110686690B (en) Road condition information display method and system
WO2021117370A1 (en) Dynamic information update device, update method, information providing system, and computer program
JP2020177314A (en) Vehicle traffic management device, on-vehicle device, vehicle traffic management system, vehicle traffic management method, and vehicle traffic management program
DK180220B1 (en) Sharing classified objects perceived by autonomous vehicles