KR101964450B1 - 기계학습 기반 공공데이터 추천을 위한 로그 교환 방법 - Google Patents

기계학습 기반 공공데이터 추천을 위한 로그 교환 방법 Download PDF

Info

Publication number
KR101964450B1
KR101964450B1 KR1020180018498A KR20180018498A KR101964450B1 KR 101964450 B1 KR101964450 B1 KR 101964450B1 KR 1020180018498 A KR1020180018498 A KR 1020180018498A KR 20180018498 A KR20180018498 A KR 20180018498A KR 101964450 B1 KR101964450 B1 KR 101964450B1
Authority
KR
South Korea
Prior art keywords
log
open
data
public data
site
Prior art date
Application number
KR1020180018498A
Other languages
English (en)
Inventor
김종현
황덕열
윤호열
김상수
Original Assignee
(주)위세아이텍
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)위세아이텍 filed Critical (주)위세아이텍
Priority to KR1020180018498A priority Critical patent/KR101964450B1/ko
Application granted granted Critical
Publication of KR101964450B1 publication Critical patent/KR101964450B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Educational Administration (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)

Abstract

로그 교환 장치에 관한 것이며, 로그 교환 장치는, 개방사이트에서 제공하는 로그에 로그교환프로토콜의 표준 규격을 적용하여 개방로그 DB에 저장하는 로그정제 모듈; 타 개방사이트의 로그개방을 요청하는 개방신청 메시지를 요청 장치에 전송하고, 전송된 상기 개방신청 메시지에 응답하여 상기 요청 장치로부터 획득된 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지를 로그개방신청 DB에 저장하고 관리하는 로그개방신청 모듈; 및 상기 로그개방신청 DB에 저장된 데이터를 고려하여 스케줄링된 미리 설정된 시간에, 로그 수집을 위해 상기 요청 장치에 데이터 활용 로그 API와 데이터 추천 로그 API를 호출하고, 호출에 응답된 로그를 수집하여 수집개방로그 DB에 저장하거나, 상기 요청 장치로부터 데이터 활용 로그 API와 데이터 추천 로그 API가 호출되면 상기 호출에 응답된 로그를 상기 요청 장치로 제공하는 로그 수집 모듈을 포함하고, 상기 요청 장치는 복수의 타 개방사이트에 대응하는 복수의 로그 교환 장치 중 적어도 하나의 로그 교환 장치인 것일 수 있다.

Description

기계학습 기반 공공데이터 추천을 위한 로그 교환 방법 {LOG EXCHANGE METHOD FOR RECOMMENDING PUBLIC DATA BASED ON MACHINE LEARNING}
본원은 기계학습 기반 공공데이터 추천을 위한 로그 교환 방법 및 그 방법을 수행하는 로그 교환 장치에 관한 것이다. 특히, 본원은 양방향 로그 교환이 가능하며 기계학습을 통해 개방사이트간의 데이터 연계가 가능한 기계학습 기반 공공데이터 추천을 위한 로그 교환 방법 및 그 방법을 수행하는 로그 교환 장치에 관한 것이다.
최근 공공데이터 개방을 위해 많은 개방사이트가 구축되고 있으며, 개방사이트에서는 공공데이터 개방 건수를 지속적으로 늘려가고 있다.
공공데이터가 갖는 의미 중 가장 중요한 것은 경제적 가치가 큰 공공데이터가 존재한다는 것이며, 이를 이용하면 산업화로 이루어져 일자리 창출 등 경제 활성화로 이어질 수 있다.
한편, 한국데이터진흥원이 운영하는 데이터스토어(www.datastore.or.kr)에서는 데이터 자체를 상품화시켜 데이터를 제공하는 측이 가격을 정해 거래할 수 있는 데이터 유통이 추진되고 있다.
4차 산업은 데이터 산업이라 할 수 있으며, 4차 산업의 발달로 수 많은 데이터 중 돈이 될 만한 데이터, 즉 수요자가 원하는 데이터를 제공하기 위해 기계학습 기반의 빅데이터 분석 사업이 크게 성장하고 있다.
기계학습을 위해서는 학습데이터의 확보가 매우 중요하다고 할 수 있다. 여기서, 학습데이터라 함은 수요자들이 흥미있고 관심을 가질만한 정보를 제공하기 위한 로그(활용로그)가 대표적이라 할 수 있다. 이러한 학습데이터가 많아질수록 수요자가 원하는 데이터를 제공할 확률이 높아지고 데이터 산업이 활성화될 수 있다.
현재 개방사이트는 수요자가 이용한 현황을 로그로 남겨 보관하며, 이를 바탕으로 수요자가 많이 클릭했거나 많이 검색된 데이터를 추천하는 기술이 종래에 많이 사용되고 있다.
이러한 로그의 기록량은 개방사이트의 특성에 따라 많은 편차를 보이고 있으며, 많은 로그를 가진 개방사이트라 할지라도 그 양이 적고 접근한 수요자가 제한적이어서 공공데이터 추천에 대한 정확도가 낮고, 수요자가 원하는 데이터를 예측하여 제공하기 어려운 문제가 있다.
또한, 종래의 개방사이트에는 이러한 로그(활용로그)를 개방하기 위한 장치가 없을 뿐만 아니라 이렇게 개방된 로그가 있다 하더라도 이를 활용하기 위해서는 많은 비용과 노력이 요구되는 문제가 있다.
본원의 배경이 되는 기술은 한국공개특허공보 제10-2016-0070218호에 개시되어 있다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 개방사이트별로 저장(적재)된 활용로그를 손쉽게 개방사이트간에 공유할 수 있는 로그 교환 장치를 통해 기계학습을 위한 많은 양의 학습데이터를 확보 및 제공하려는 것을 목적으로 한다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 복수의 개방사이트들로부터 수집된 방대한 양의 학습데이터를 이용하여 기계학습 기반의 공공데이터 추천을 수행함으로써, 수요자가 많은 관심을 갖는 공공데이터를 우선 추천하려는 것을 목적으로 한다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 수요자가 공공데이터를 이용할 때 실질적으로 연관되어 관심있어 하는 공공데이터를 연관 추천하여 제공하려는 것을 목적으로 한다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 시간이 흘러 학습데이터가 쌓임에 따라 수요자가 원하는 보다 객관적이고 정확성이 높은 공공데이터를 추천하거나 그와 연관된 공공데이터를 추천하려는 것을 목적으로 한다.
다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 제1 측면에 따른 로그 교환 장치는, 개방사이트에서 제공하는 로그에 로그교환프로토콜의 표준 규격을 적용하여 개방로그 DB에 저장하는 로그정제 모듈; 타 개방사이트의 로그개방을 요청하는 개방신청 메시지를 요청 장치에 전송하고, 전송된 상기 개방신청 메시지에 응답하여 상기 요청 장치로부터 획득된 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지를 로그개방신청 DB에 저장하고 관리하는 로그개방신청 모듈; 및 상기 로그개방신청 DB에 저장된 데이터를 고려하여 스케줄링된 미리 설정된 시간에, 로그 수집을 위해 상기 요청 장치에 데이터 활용 로그 API와 데이터 추천 로그 API를 호출하고, 호출에 응답된 로그를 수집하여 수집개방로그 DB에 저장하거나, 상기 요청 장치로부터 데이터 활용 로그 API와 데이터 추천 로그 API가 호출되면 상기 호출에 응답된 로그를 상기 요청 장치로 제공하는 로그 수집 모듈을 포함하고, 상기 요청 장치는 복수의 타 개방사이트에 대응하는 복수의 로그 교환 장치 중 적어도 하나의 로그 교환 장치인 것일 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 제2 측면에 따른 로그 교환 장치를 통한 로그 교환 방법은, 개방사이트에서 제공하는 로그에 로그교환프로토콜의 표준 규격을 적용하여 개방로그 DB에 저장하는 단계; 타 개방사이트의 로그개방을 요청하는 개방신청 메시지를 요청 장치에 전송하고, 전송된 상기 개방신청 메시지에 응답하여 상기 요청 장치로부터 획득된 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지를 로그개방신청 DB에 저장하고 관리하는 단계; 및 상기 로그개방신청 DB에 저장된 데이터를 고려하여 스케줄링된 미리 설정된 시간에, 로그 수집을 위해 상기 요청 장치에 데이터 활용 로그 API와 데이터 추천 로그 API를 호출하고, 호출에 응답된 로그를 수집하여 수집개방로그 DB에 저장하는 단계를 포함하고, 상기 요청 장치는 복수의 타 개방사이트에 대응하는 복수의 로그 교환 장치 중 적어도 하나의 로그 교환 장치인 것일 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 제3 측면에 따른 컴퓨터 프로그램은, 본원의 제2 측면에 따른 로그 교환 방법을 실행시키기 위하여 기록매체에 저장되는 것일 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 공공데이터를 이용하는 사용자 측면에서 사용자가 원하는 공공데이터를 제공기관별로 운영하는 개방사이트에 직접 방문하지 않더라도, 개방사이트간 양방향 로그 교환이 가능한 로그 교환 장치로 하여금 사용자가 원하는 공공데이터를 보다 쉽게 탐색할 수 있도록 하는 편리성을 제공함과 더불어 사용자의 만족도를 효과적으로 높일 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 로그 교환 장치로 하여금 공공데이터 개방사이트 이용자(사용자)에게 전 국민의 관심사 또는 유행을 고려한 맞춤형 공공데이터 추천 서비스를 제공할 수 있어, 공공데이터의 이용 활성화에 크게 기여할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 로그 교환 장치로 하여금 개방사이트 담당자가 타 개방사이트 공공데이터의 이용 현황 정보를 손쉽게 수집 및 활용할 수 있어, 시간과 예산절감에 크게 기여할 수 있다.
다만, 본원에서 얻을 수 있는 효과는 상기된 바와 같은 효과들로 한정되지 않으며, 또 다른 효과들이 존재할 수 있다.
도 1 및 도 2는 본원의 일 실시예에 따른 로그 교환 장치를 포함하는 전체 시스템의 개략적인 구성을 나타낸 도면이다.
도 3은 본원의 일 실시예에 따른 로그 교환 장치의 개략적인 구성을 나타낸 블록도이다.
도 4는 본원의 일 실시예에 따른 로그 교환 장치의 로그정제 모듈을 설명하기 위한 도면이다.
도 5는 본원의 일 실시예에 따른 로그 교환 장치에서 고려되는 개방활용로그의 데이터 포맷(format)을 나타낸 도면이다.
도 6은 본원의 일 실시예에 따른 로그 교환 장치에서 고려되는 개방활용추천로그의 데이터 포맷(format)을 나타낸 도면이다.
도 7은 본원의 일 실시예에 따른 로그 교환 장치의 로그개방신청 모듈을 설명하기 위한 도면이다.
도 8은 본원의 일 실시예에 따른 로그 교환 장치에 의해 개방사이트 상에 제공되는 인터페이스부의 표시 예를 나타낸 도면이다.
도 9는 본원의 일 실시예에 따른 로그 교환 장치에서 고려되는 개방신청 메시지의 포맷을 나타낸 도면이다.
도 10은 본원의 일 실시예에 따른 로그 교환 장치의 로그 수집 모듈을 설명하기 위한 도면이다.
도 11은 본원의 일 실시예에 따른 로그 교환 장치의 로그 분석 모듈을 설명하기 위한 도면이다.
도 12는 본원의 일 실시예에 따른 로그 교환 장치에서 연관 분석을 위해 추출된 공공데이터 수집 정보의 예를 나타낸 도면이다.
도 13은 본원의 일 실시예에 따른 로그 교환 장치에 의한 연관성 분석 결과의 예를 나타낸 도면이다.
도 14는 본원의 일 실시예에 따른 로그 교환 장치에 의한 기계학습을 통해 개방사이트별 공공데이터 간의 연관도를 시각화하여 나타낸 도면이다.
도 15는 본원의 일 실시예에 따른 로그 교환 장치를 통한 로그 교환 방법에 대한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결" 또는 "간접적으로 연결"되어 있는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
본원은 복수의 개방사이트에 설치 가능한 복수의 로그 교환 장치로 하여금, 각 로그 교환 장치 간에 자신이 설치되어 있는 개방사이트에 저장(적재)된 로그(활용로그)를 타 개방사이트들에 저장된 로그와 공유할 수 있도록 함으로써, 학습데이터로서 보다 많은 양의 타 개방사이트들의 로그를 획득(확보)하고, 획득된 방대한 양의 학습데이터(로그, 활용로그)에 기반하여 정확성이 향상된 공공데이터를 추천하는 기술에 관한 것이다.
도 1 및 도 2는 본원의 일 실시예에 따른 로그 교환 장치를 포함하는 전체 시스템의 개략적인 구성을 나타낸 도면이다.
도 1 및 도 2를 참조하면, 본원의 일 실시예에 따른 로그 교환 장치를 포함하는 전체 시스템(10)은 복수의 로그 교환 장치(Log Exchange Machine, 100, 200, 300, 400, 500, 600, …)를 포함할 수 있다.
복수의 로그 교환 장치(100, 200, 300, 400, 500, 600, …) 각각은 모두 동일한 기능을 수행할 수 있다. 복수의 로그 교환 장치(100, 200, 300, 400, 500, 600, …) 각각은 서로 다른 개방사이트(1, 2, 3, 4, 5, 6, …)에 설치될 수 있다.
일예로, 제1 로그 교환 장치(100)는 제1 개방사이트(1)에, 제2 로그 교환 장치(200)는 제2 개방사이트(2)에, 제3 로그 교환 장치(300)는 제3 개방사이트(3)에, 제4 로그 교환 장치(400)는 제4 개방사이트(4)에, 제5 로그 교환 장치(400)는 제5 개방사이트(5)에, 제6 로그 교환 장치(600)는 제6 개방사이트(6)에 설치될 수 있다.
복수의 로그 교환 장치가 서로 다른 개방사이트에 설치되는 과정에서 각 로그 교환 장치에는 각 개방사이트를 구분할 수 있는 개방사이트 ID가 자동으로 부여될 수 있다. 즉, 로그 교환 장치가 개방사이트에 설치될 때 해당 로그 교환 장치에는 타 개방사이트들로부터 자신이 설치된 개방사이트의 구분(식별)이 가능하도록 하는 고유 식별 ID로서 자신이 설치된 개방사이트 ID가 자동으로 부여될 수 있다.
구체적인 예로, 제1 로그 교환 장치(100)가 제1 개방사이트(1)에 설치되는 경우, 제1 로그 교환 장치(100)에는 타 개방사이트들(2, 3, 4, 5, 6, …)로부터 제1 개방사이트(1)를 구분(식별)할 수 있도록 하기 위한 제1 개방사이트(1)의 고유 식별 ID로서 제1 개방사이트(1)의 ID가 자동으로 부여될 수 있다. 이는 다른 로그 교환 장치(200, 300, 400, 500, 600, …)들에 대한 설명에도 동일 내지 유사하게 이해될 수 있다.
개방사이트 ID는 일예로 도메인 및 IP주소 중 적어도 하나로 설정될 수 있다. 도메인은 일예로 http://data.gg.go.kr와 같을 수 있으며, IP 주소는 일예로 http://192.168.201.55와 같을 수 있다. 개방사이트 ID는 개방사이트를 식별할 수 있는 식별자이면서 개방사이트로 공공데이터를 연계해 주기 위한 링크 주소를 포함할 수 있다.
복수의 로그 교환 장치(100, 200, 300, 400, 500, 600, …) 간에는 네트워크 통신을 통해 로그(활용로그, 로그데이터), 데이터(정보), 메시지 등의 송수신(교환)이 이루어질 수 있다. 달리 말해, 복수의 로그 교환 장치 간에는 네트워크 통신을 통해 서로 간에 연결될 수 있다. 구체적인 예로, 제1 로그 교환 장치(100)는 일예로 인터넷을 통해 다수의 로그 교환 장치(200, 300, 400, 500, 600, …)와 연결될 수 있다.
여기서, 네트워크 통신의 일예로는 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet) 네트워크, LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, NFC(Near Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함될 수 있으며, 이에 한정된 것은 아니다.
또한, 복수의 로그 교환 장치(100, 200, 300, 400, 500, 600, …) 간에는 API(application programming interface)를 이용하여 서로 간에 통신이 이루어질 수 있다. 달리 말해, 복수의 로그 교환 장치(100, 200, 300, 400, 500, 600, …) 간에는 API를 이용하여 로그(활용로그, 로그데이터), 데이터(정보), 메시지 등의 송수신(교환)이 이루어질 수 있다.
이하에서는 본원의 일 실시예에 따른 로그 교환 장치(100)에 대하여 보다 상세히 설명하기로 한다.
도 3은 본원의 일 실시예에 따른 로그 교환 장치(100)의 개략적인 구성을 나타낸 블록도이다.
구체적인 설명에 앞서, 이하 본원의 일 실시예에 따른 로그 교환 장치(100)는 설명의 편의상 본 로그 교환 장치(100)라 하기로 한다. 또한, 복수의 로그 교환 장치(100, 200, 300, 400, 500, 600, …) 각각은 모두 동일한 기능을 수행할 수 있으므로, 이하 생략된 내용이라고 하더라도 본 로그 교환 장치(100)에 대하여 설명된 내용은 다른 로그 교환 장치(200, 300, 400, 500, 600, …)에 대한 설명에도 동일하게 적용될 수 있다.
도 3을 참조하면, 본 로그 교환 장치(Log Exchange Machine, LEM, 100)는 로그정제 모듈(110), 로그개방신청 모듈(120) 및 로그 수집 모듈(130)을 포함할 수 있다. 또한, 본 로그 교환 장치(100)는 로그 분석 모듈(170)을 포함할 수 있다.
본 로그 교환 장치(100)는 일예로 제1 개방사이트(1)에 설치될 수 있다. 이때, 본 로그 교환 장치(100)가 제1 개방사이트(1)에 설치되는 과정에서, 본 로그 교환 장치(100)는 타 개방사이트들로부터 제1 개방사이트(1)의 구분(식별)이 가능하도록 하는 제1 개방사이트(1)의 고유 식별ID로서 개방사이트 ID(11)가 자동으로 부여될 수 있다. 이때, 개방사이트 ID(11)는 앞서 설명한 바와 같이 일예로 도메인 및 IP 주소 중 적어도 하나로 설정될 수 있다. 이러한 개방사이트ID(11)는 제1 개방사이트(1)를 식별할 수 있도록 하는 식별자이면서 제1 개방사이트로 공공데이터를 연계해 주기 위한 링크 주소를 포함할 수 있다. 또한, 본 로그 교환 장치(100)는 후술할 로그정제 모듈(110) 내의 로그변환 모듈(113)에 의해 본 로그 교환 장치(100)의 작동 상태를 나타내는 동작구분부호(12)가 관리될 수 있으며, 이에 대한 구체적인 설명은 후술하여 설명하기로 한다.
로그정제 모듈(110)에 대한 설명은 도 4를 참조하여 보다 쉽게 이해될 수 있다.
도 4는 본원의 일 실시예에 따른 로그 교환 장치(100)의 로그정제 모듈(110)을 설명하기 위한 도면이다.
도 4를 참조하면, 로그정제 모듈(Log Refine Module, LRM, 110)은 개방사이트(1)에서 제공하는 로그(활용로그, 로그데이터, 111)에 로그교환프로토콜(115)의 표준 규격을 적용하여 개방로그 DB(개방로그 데이터베이스, 116)에 저장할 수 있다. 달리 말해, 로그정제 모듈(110)은 본 로그 교환 장치(100)가 설치된 개방사이트(1)에 기 저장된 로그(111)에 로그교환프로토콜(115)의 표준 규격을 적용할 수 있으며, 표준 규격의 적용에 의해 표준화된 로그를 개방로그 DB(116)에 저장할 수 있다.
구체적으로, 로그정제 모듈(110)은 로그변환 모듈(113), 로그교환프로토콜(115), 개방로그 DB(116), 데이터 활용 로그 API(117) 및 데이터 추천 로그 API(119)를 포함할 수 있으며, 개방사이트(1)의 로그(111)와 연계될 수 있다.
로그정제 모듈(110)의 로그변환 모듈(113)은 개방사이트(1)에서 제공하는 로그(111)에 대하여 로그교환프로토콜(115)의 규칙을 적용하여 개방로그 DB(116)에 저장할 수 있다.
로그(111)는 개방사이트(1)에서 제공하는 로그, 즉 개방사이트(1)에 기 저장된 로그로서, 활용로그, 로그데이터 등으로 달리 지칭될 수 있다.
로그(111)에는 개방사이트(1)에서의 사용자들의 활동을 기록한 접근로그, 검색로그, 사용로그 등의 로그데이터와 그에 활용된 데이터(예를 들어, 키워드, 추천 데이터, 기초데이터 등)의 정보를 포함 할 수 있다.
로그(111)에는 공공데이터 메타정보, 키워드 정보, 공공데이터 추천정보, 사용자 정보 등이 포함될 있다. 구체적으로, 로그(111)에는 키워드와 관련하여 키워드별 공공데이터 랭킹 정보, 키워드 간 연관 랭킹 정보 등이 포함될 수 있고, 추천 데이터와 관련하여 공공데이터 활용 랭킹 정보, 공공데이터 간 연관 랭킹 정보 등이 포함될 수 있으며, 기초데이터와 관련하여 공공데이터, 사용자 정보, 이슈/트랜드 정보, 검색 경로(Path) 로그, 사용로그, 추천 적중로그 등이 포함될 수 있다.
로그교환프로토콜(115)은 타 개방사이트에 대응하는(설치된) 로그 교환 장치와의 양방향 로그 교환을 위한 정보의 구조를 기정의한 프로토콜을 의미할 수 있다. 달리 말해, 로그교환프로토콜(115)은 본 로그 개방 장치(100)와 타 개방사이트의 로그 교환 장치가 양방향으로 로그 교환을 할 수 있도록 정보의 구조를 표준화하여 표준 규격으로 정의한 프로토콜을 의미할 수 있다.
이러한 로그교환프로토콜(115)은 타 개방사이트(타 개방사이트에 설치된 로그 교환 장치)와의 로그 교환을 위한 개방로그 DB(116)의 매핑테이블 역할을 수행할 수 있다.
개방로그 DB(116)는 로그교환프로토콜(115)의 표준 규격이 적용된 개방사이트의 로그를 저장한 데이터베이스로서, 개방로그 DB(116)에 저장된 로그는 표준화된 로그(111), 즉, 표준화된 개방사이트의 로그(111)일 수 있다. 달리 말해, 개방로그 DB(116)는 로그교환프로토콜(115)의 표준을 준수한 개방사이트의 데이터베이스를 의미할 수 있다.
개방로그 DB(116)에는 개방활용로그 및 개방활용추천로그가 포함될 수 있다. 즉, 개방로그 DB(116)에 저장된 정보는 개방활용로그 유형 및 개방활용추천로그 유형으로 구분될 수 있다.
로그정제 모듈(110)은 데이터 활용 로그 API(117)와 연동되는 개방활용로그 및 데이터 추천 로그 API(119)와 연동되는 개방활용추천로그를 개방로그 DB(116)에 저장할 수 있다. 달리 말해, 로그정제 모듈(110)은 데이터 활용 로그 API(117)의 제공이 가능한 개방활용로그 및 데이터 추천 로그 API(119)의 제공이 가능한 개방활용추천로그를 개방로그 DB(116)에 저장할 수 있다. 개방활용로그에 대한 설명은 도 5를 참조하여 보다 쉽게 이해될 수 있고, 개방활용추천로그에 대한 설명은 도 6을 참조하여 보다 쉽게 이해될 수 있다.
도 5는 본원의 일 실시예에 따른 로그 교환 장치(100)에서 고려되는 개방활용로그의 데이터 포맷(format)을 나타낸 도면이다. 즉, 도 5는 로그교환프로토콜(115)의 표준 규격이 적용된 개방활용로그를 나타낸 도면이다. 이러한 도 5에는 개방활용로그로서 저장되는 필드값과 그 필드 설명이 도시되어 있다.
도 5를 참조하면, 개방활용로그에는 본 로그 교환 장치(100)의 설치시 본 로그 교환 장치(100)에 자동 부여된 개방사이트 ID, 로그 기록 일자 및 개방사이트에서 제공하는 로그에 의한 공공데이터의 일별 이용 통계 관련 정보 중 적어도 하나가 포함될 수 있다. 여기서, 개방사이트에서 제공하는 로그에 의한 공공데이터의 일별 이용 통계 관련 정보에는 공공데이터 ID를 포함한 공공데이터 메타정보, 개방일시, 검색어, 서비스유형 및 사용자 정보 중 적어도 하나가 포함될 수 있다. 또한, 개방활용로그에는 공공데이터에 대한 활용수, 추천점수, 평가값 및 접속주소가 포함될 수 있다.
구체적으로, 도 5에서 필드값 OPEN_SITE_ID는 개방사이트 ID로서 개방사이트 접속 도메인 또는 IP주소가 기록될 수 있다. 필드값 REG_DTTM는 등록일자로서 로그를 기록한 일자가 기록될 수 있다. 필드값 SEQCE_NO는 시퀀스번호로서 등록순번이 기록될 수 있다. 필드값 INF_ID, INF_NM, INF_TAG 및 CATE_NM는 각각 공공데이터 ID, 공공데이터명, 메타검색태그 및 분류명을 나타내는 것으로서, 이와 관련하여 데이터메타정보가 기록될 수 있다. 또한, 필드값 OPEN_DTTM는 개방일시로서 데이터개방일이 기록될 수 있으며, 이는 해당 로그에 대응하는 공공데이터가 미리 설정된 최신 구간(예를 들어, 한달 이내 등)에 속하는 최신데이터인지 여부를 식별하기 위해 이용될 수 있다. 또한, 필드값 SEARCH_STR는 검색어로서 사용자가 검색을 통해 해당 로그에 대응하는 공공데이터에 접근했을 때 사용자가 입력한 검색어가 기록될 수 있다. 또한, 필드값 SRV_CD는 서비스유형으로서, 데이터메타정보가 기록될 수 있으며, 이때 서비스유형과 관련된 데이터메타정보로는 시트(sheet), 차트(chart), 지도(map) 및 오픈API(open API) 등이 포함될 수 있다. 또한, 필드값 SEX, AGE, JOB 및 REGN는 각각 성별, 연령대, 직업 및 지역을 나타내는 것으로서, 이와 관련하여 사용자 정보가 기록될 수 있으며, 비 로그인시에는 해당 정보의 입력이 생략될 수 있다. 또한, 필드값 USE_CNT는 활용수로서 해당 로그에 대응하는 공공데이터에 대한 접근수(클릭수)의 합계가 기록될 수 있다. 또한, 필드값 RECOMMAND_VAL는 추천점수로서 추천점수의 최대값(MAX)가 기록될 수 있다. 또한, 필드값 APPR_VAL는 평가값으로서 사용자에 의해 평가된 사용자 평가점수의 합계가 기록될 수 있다. 또한, 필드값 CONT_URL는 접속주소로서, 데이터셋 접근 URL 주소가 기록될 수 있다.
즉, 개방활용로그에는 본 로그 교환 장치(100) 설치시 부여된 개방사이트ID 및 로그를 기록한 일자(등록일자)가 포함될 수 있다. 또한, 개방활용로그에는 개방사이트에서 제공하는 로그에 의한 공공데이터의 일별 이용 통계 관련 정보로서, 개방사이트(1)에서 제공하는 로그(111)에 의해 개방사이트(1)에서 일별로 이용된 공공데이터의 이용 통계를 공공데이터ID, 유입된 검색어, 서비스유형, 사용자 정보 별로 집계치를 산출한 정보가 포함될 수 있다.
또한, 개방활용로그에는 공공데이터 메타정보로서, 공공데이터 접촉과 관련된 중요 정보인 공공데이터ID(INF_ID), 공공데이터명(INF_NM), 메타검색태그(INF_TAG) 및 분류명(CATE_NM) 정보가 포함될 수 있다.
또한, 개방활용로그에는 최신데이터를 구분하기 위한 개방일시(OPEN_DTTM) 정보가 포함될 수 있다. 즉, 개방활용로그에는 해당 로그에 대응하는 공공데이터가 미리 설정된 최신 구간(예를 들어, 한달 이내 등)에 속하는 최신데이터(최신 공공데이터)인지 여부를 식별하기 위한 개방일시(OPEN_DTTM) 정보가 포함될 수 있다.
또한, 개방활용로그에는 검색어(SEARCH_STR) 정보가 포함될 수 있다. 이는 공공데이터 이용에 있어서 원하는 공공데이터를 검색을 통해서 찾는 경우와 그러지 않은 경우로 분리하기 위한 것일 수 있다. 달리 말해, 검색어 정보가 개방활용로그에 포함되는 이유는, 사용자가 공공데이터를 이용함에 있어서 원하는 공공데이터가 검색에 의해 찾아진 것인지 아니면 검색이 아닌 추천 등에 의해 찾아진 것인지를 식별하기 위함일 수 있다.
검색어에 의해 공공데이터에 접근한 경우에는 검색어 필드의 값으로 입력된 검색어가 기록될 수 있다. 이때, 검색어를 통해 접근한 공공데이터는 키워드 연관 추천에 사용될 수 있다. 즉, 검색어 필드값에 값(검색어 값)이 존재하는 해당 공공데이터는 후술할 로그 분석 모듈(170)에 의한 공공데이터 추천시 키워드 연관 추천(즉, 연관 키워드 추천)을 수행하는 경우에 이용될 수 있다.
반면, 검색어에 의해 공공데이터에 접근한 경우가 아닌 경우에는 검색어 필드 값을 비워둘 수 있다. 즉, 검색어 필드의 필드 값은 빈 값으로 설정될 수 있다. 이때, 검색어에 의해 공공데이터에 접근한 경우가 아닌 경우는 대부분 개방사이트에서 제공하는 분류체계를 탐색하여 접근한 경우이거나 추천에 의해 노출된 콘텐트에 접근한 경우일 수 있다. 이에 따라 검색어 필드값에 값(검색어 값)이 존재하지 않는 해당 공공데이터는 후술할 로그 분석 모듈(170)에 의한 공공데이터 추천시 활용빈도수에 기반하여 추천(일예로, 통계기반 추천)을 수행하는 경우에 이용될 수 있다.
또한, 개방활용로그에는 서비스 유형(SRV_CD) 정보가 포함될 수 있다. 서비스 유형 정보로는 공공데이터의 데이터 조회를 시트(sheet), 차트(chart), 지도(map), 오픈API(open API) 및 다운로드(download)의 유형 중 어느 유형으로 제공받았는지가 기록되어 저장될 수 있다. 이는 해당 공공데이터의 대표 서비스 형태를 결정하는 중요 정보로서 이용될 수 있다. 즉, 후술할 로그 분석 모듈(170)에 의한 공공데이터 추천에 의하면 사용자에게 공공데이터가 제공될 수 있는데, 이때, 본 로그 교환 장치(100)는 공공데이터를 제공할 때 서비스 유형(SRV_CD) 정보를 고려한 대표 서비스 형태로 공공데이터를 제공할 수 있다.
또한, 개방활용로그에는 사용자 정보가 포함될 수 있다. 사용자 정보로는 개방사이트에 대한 사용자의 로그인 여부에 따라 성별(SEX), 연령대(AGE), 직업(JOB), 지역(REGN) 등이 기록되어 저장될 수 있다. 이때, 해당 로그의 기록(등록, 저장)시 사용자가 비 로그인 상태인 경우, 사용자 정보와 관련된 필드 값을 비워둘 수 있다. 즉, 사용자 정보와 관련된 필드인 성별, 연령대, 직업, 지역 등의 필드 값은 빈 값으로 설정될 수 있다. 또한, 일예로 개방사이트에서 로그인한 사용자의 정보를 관리하지 않는 경우에는 사용자 정보와 관련된 필드의 필드값이 빈 값으로 설정될 수 있다. 이러한 사용자 정보는 후술할 로그 분석 모듈(170)에 의한 공공데이터 추천시 사용자 그룹별로 개인화된 맞춤 추천을 수행하는 경우에 이용될 수 있다.
또한, 개방활용로그에는 평가값(APPR_VAL) 정보가 포함될 수 있다. 평가값이라 함은 개방사이트에 접속한 사용자들이 해당 로그에 대응하는 공공데이터를 평가한 평가점수(즉, 공공데이터에 대하여 부여한 평가점수)를 의미할 수 있다. 이러한 평가값으로는 복수의 사용자들에 의해 평가된 평가점수들의 합계가 기록되어 저장될 수 있다. 이때, 사용자에 의한 평가점수의 입력은 별점 점수나 숫자 등의 입력 형태로 이루어질 수 있으며, 다만 이에만 한정되는 것은 아니고, 다양한 형태의 평가 점수 부여 방식이 적용될 수 있다.
또한, 개방활용로그에는 접속주소(CONT_URL) 정보가 포함될 수 있다. 접속주소 정보로는 해당 공공데이터를 외부에서 접근할 수 있도록 하기 위한 데이터셋 접근 URL 주소가 기록되어 저장될 수 있다. 접속주소 정보는 일예로 (https://data.gg.go.kr/portal/data/service/selectServicePage.do?page=1&rows=10&sortColumn=&sortDirection=&infId=7W3NK648FN75GFN57W9X949175&infSeq=3&order=)와 같을 수 있다.
개방로그 DB(116)에 저장되는 상기와 같은 개방활용로그는 전일자 요약정보의 경우 당일 제공될 수 있으며, 개방활용로그의 등록을 요청하는 요청자가 개방활용로그의 등록일자를 변경하여 요청한 경우에는 변경하여 요청한 해당 기간 동안 모두 일괄적으로 제공될 수 있다.
개방로그 DB(116)에서 도 5에 해당하는 정보를 발췌하여 데이터 활용 로그 API(117)를 별도의 프로그래밍 없이 자동으로 제공할 수 있으며, 이때의 접속주소는 일예로 '개방사이트ID/OpenLogExchageData'와 같이 설정될 수 있다. 다시 말해, 개방로그 DB(116)에서 도 5와 같은 개방활용로그 정보를 발췌(추출)함에 따라 데이터 활용 로그 API(117)가 별도의 프로그래밍 없이 자동으로 제공될 수 있다. 달리 말해, 로그정제 모듈(110)은 데이터 활용 로그 API(117)와 연동되는 개방활용로그를 개방로그 DB(116)에 저장할 수 있다.
이에 따르면, 일예로 사용자가 인터넷 브라우저의 주소창에 'http://data.go.kr/OpenLogExchageData'를 입력한 경우, 사용자는 'http://data.go.kr'의 로그(로그데이터)를 제공받을 수 있다. 즉, 본 로그 교환 장치(100)는 사용자가 인터넷 브라우저의 주소창에 'http://data.go.kr/OpenLogExchageData'를 입력한 경우, 'http://data.go.kr'의 로그(로그데이터)를 사용자에게 제공할 수 있다.
도 6은 본원의 일 실시예에 따른 로그 교환 장치(100)에서 고려되는 개방활용추천로그의 데이터 포맷(format)을 나타낸 도면이다. 즉, 도 6은 로그교환프로토콜(115)의 표준 규격이 적용된 개방활용추천로그를 나타낸 도면이다. 이러한 도 6에는 개방활용추천로그로서 저장되는 필드값과 그 필드 설명이 도시되어 있다.
도 6을 참조하면, 개방활용추천로그에는 본 로그 교환 장치(100)의 설치시 본 로그 교환 장치(100)에 자동 부여된 개방사이트 ID, 등록일자(로그 기록 일자), 공공데이터 접촉과 관련된 중요 정보인 공공데이터ID(INF_ID)와 공공데이터명(INF_NM), 및 개방사이트에서 제공하는 로그에 의한 공공데이터에 대하여 연관 추천된 추천 공공데이터의 이용 통계 관련 정보가 포함될 수 있다.
여기서, 추천 공공데이터의 이용 통계 관련 정보에는 추천 공공데이터 ID를 포함한 추천 공공데이터 메타정보(예를 들어, 추천 공공데이터 ID, 추천 공공데이터 메타검색태그, 추천 공공데이터 분류명), 추천 공공데이터 개방일시 및 추천 검색어 중 적어도 하나가 포함될 수 있다. 또한, 개방활용추천로그에는 추천 공공데이터 활용수, 추천 공공데이터 추천점수, 추천 공공데이터 평가값 및 추천 공공데이터 접속주소가 포함될 수 있다. 또한, 도 6에 도시되지는 않았으나, 추천 공공데이터와 관련하여 추천 공공데이터 서비스유형, 추천 공공데이터와 관련한 사용자 정보로서 성별, 연령대, 직업, 지역 등의 정보가 포함될 수 있다.
즉, 개방활용추천로그에는 개방사이트에서 제공하는 로그에 의한 공공데이터에 대하여 연관 추천된 추천 공공데이터의 이용 통계 관련 정보로서, 도 5에서의 공공데이터와 연관되어 추천된 공공데이터(즉, 추천 공공데이터)의 이용 통계를 추천 공공데이터와 관련한 공공데이터ID, 유입된 검색어, 서비스유형, 사용자 정보 별로 집계치를 산출한 정보가 포함될 수 있다. 이때, 도 6에 도시된 추천 공공데이터는 연관추천 공공데이터라 달리 지칭될 수 있다.
개방로그 DB(116)에서 도 6에 해당하는 정보를 발췌하여 데이터 추천 로그 API(119)를 별도의 프로그래밍 없이 자동으로 제공할 수 있으며, 이때의 접속 주소는 일예로 '개방사이트ID/OpenLogExchageRecommdData'와 같이 설정될 수 있다. 다시 말해, 개방로그 DB(116)에서 도 6과 같은 개방활용추천로그 정보를 발췌(추출)함에 따라 데이터 추천 로그 API(119)가 별도의 프로그래밍 없이 자동으로 제공될 수 있다. 달리 말해, 로그정제 모듈(110)은 데이터 추천 로그 API(119)와 연동되는 개방활용추천로그를 개방로그 DB(116)에 저장할 수 있다.
이때, 도 5 대비 도 6의 차이점은 추천 공공데이터 ID를 기준으로 데이터를 추출 및 집계하여 로그(로그데이터)로 제공한다는 것이다. 즉, 도 6과 같이 저장되는 개방활용추천로그는, 도 5의 개방활용로그 대비 추천 공공데이터 ID를 기준으로 데이터가 추출 및 집계되어 저장된 로그(로그데이터)라는 점에서 차이가 있다. 구체적으로, 개방활용로그는 기본으로 제공되는 공공데이터와 관련된 로그가 기록되어 저장된 정보인 반면, 개방활용추천로그는 기본으로 제공되는 공공데이터와 연관 추천된 추천 공공데이터와 관련된 로그가 기록되어 저장된 정보라는 점에서만 차이가 있다. 따라서, 이하 생략된 내용이라 하더라도 도 6에 도시된 필드값 및 그 필드에 대한 설명(필드 설명)은 앞서 도 5에 도시된 필드값 및 그 필드에 대한 설명(필드 설명)과 동일 내지 유사하게 이해될 수 있으며, 이하 구체적인 설명은 생략하기로 한다.
로그정제 모듈(110)은 데이터 활용 로그 API(117) 및 데이터 추천 로그 API(119)에 대한 접속 테스트를 수행할 수 있으며, 수행 결과에 따라 접속 테스트가 수행된 본 로그 교환 장치(100)의 작동 상태를 관리(작동 상태의 설정을 변경)할 수 있다.
구체적으로, 로그정제 모듈(110)의 로그변환 모듈(113)은 데이터 활용 로그 API(117)와 데이터 추천 로그 API(119)에 대한 접속 테스트를 자체적으로 수행할 수 있는 기능을 제공할 수 있다.
또한, 로그변환 모듈(113)은 본 로그 교환 장치(100)의 작동 상태를 관리할 수 있다. 본 로그 교환 장치(100)의 작동 상태를 나타내는 동작구분부호(12)를 관리할 수 있다. 동작구분부호(12)에는 준비 상태를 나타내는 R 및 작동 가능 상태를 나타내는 E가 포함될 수 있다.
로그변환 모듈(113)은 본 로그 교환 장치(100)가 개방사이트(1)에 설치될 때 본 로그 교환 장치(100)의 동작구분부호(12)를 초기값으로서 준비 상태(R)로 세팅(설정)할 수 있다. 이후 로그변환 모듈(113)은 로그정제 모듈(110)에 의한 로그 정제가 완료되면(즉, 로그의 표준화 이후 데이터 활용 로그 API와 데이터 추천 로그 API(119)에 대한 접속 테스트가 성공적으로 이루어지면) 본 로그 교환 장치(100)의 동작구분부호(12)를 로그정제가 완료된 상태를 나타내는 작동 가능 상태(E)로 세팅(설정)할 수 있다.
다시 말해, 로그변환 모듈(113)은 본 로그 교환 장치(100)의 초기 설치시 동작구분부호(12)를 준비 상태(R)로 세팅할 수 있다. 이후, 로그변환 모듈(113)은 API 접속 테스트가 성공적으로 이루어지면 동작구분부호(12)가 로그정제 완료 상태, 즉 작동 가능 상태(E)로 세팅되도록, 기존의 준비 상태 R을 작동 가능 상태인 E로 변경할 수 있다.
로그개방신청 모듈(130)은 타 개방사이트의 로그개방을 요청하는 개방신청 메시지(달리 표현하여, 로그개방신청 메시지, 로그개방요청 메시지)를 상기 타 개방사이트에 대응하는 요청 장치에 전송하고, 요청 장치로 전송된 개방신청 메시지에 응답하여 요청 장치로부터 획득된 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지를 로그개방신청 DB에 저장하고 관리할 수 있다. 여기서, 요청 장치는 복수의 타 개방사이트(2, 3, 4, 5, 6, …)에 대응하는 복수의 로그 교환 장치(200, 300, 400, 500, 600, …) 중 적어도 하나의 로그 교환 장치일 수 있다.
이하에서는 설명의 편의상, 요청 장치가 복수의 로그 교환 장치(100, 200, 300, 400, 500, 600, …) 중 일예로 제2 개방사이트(2)에 설치되는 제2 로그 교환 장치(200)인 것으로 가정하여 설명하기로 한다. 한편, 본 로그 교환 장치(100)는 제1 개방사이트(1)에 설치되는 로그 교환 장치를 의미한다. 로그개방신청 모듈(130)에 대한 설명은 도 7을 참조하여 보다 쉽게 이해될 수 있다.
도 7은 본원의 일 실시예에 따른 로그 교환 장치(100)의 로그개방신청 모듈(130)을 설명하기 위한 도면이다.
도 7에서 제공측은 요청 장치측을 의미하고, 요청측은 본 로그 교환 장치(100)측을 의미할 수 있다. 즉, 도 7에서 제공측의 로그개방신청 모듈(130')은 요청 장치(200)의 로그개방신청 모듈을 의미하고, 요청측의 로그개방신청 모듈(130)은 본 로그 교환 장치(100)의 로그개방신청 모듈을 의미할 수 있다. 이때 두 로그 교환 장치(100, 200) 각각의 로그개방신청 모듈은 동일 구성을 가지고 동일 기능을 수행할 수 있으며, 이하 로그개방신청 모듈(130)에 대한 설명에서는 본 로그 교환 장치(100)의 로그개방신청 모듈(130)을 기준으로 설명하기로 한다.
도 7을 참조하면, 로그개방신청 모듈(Log Open Subscribe Module, LOSM, 130)은 개방사이트 간에(제1 개방사이트와 제2 개방사이트 간에) 실제로 로그 교환이 이루어질 수 있도록, 각 개방사이트(1, 2)의 담당자 간에 로그개방 신청(요청) 및 그에 대한 승인이 이루어질 수 있도록 하는 기능을 제공할 수 있다.
이러한 로그개방신청 모듈(130)은 본 로그 교환 장치(100)의 동작구분부호(12)가 E로 세팅되어 있는 경우에 동작할 수 있다. 이때, 로그정제 모듈(113)에 의하여 본 로그 교환 장치(100)의 작동 상태를 나타내는 동작구분부호(12)가 작동 가능 상태인 E로 세팅되는 경우, 본 로그 교환 장치(100)가 설치된 개방사이트(1) 상에는 개방신청 메시지의 입력(작성, 등록)이 가능한 인터페이스부가 자동으로 제공(표시)될 수 있다. 이는 도 8을 참조하여 보다 쉽게 이해될 수 있다.
도 8은 본원의 일 실시예에 따른 로그 교환 장치(100)에 의해 개방사이트 상에 제공되는 인터페이스부의 표시 예를 나타낸 도면이다.
도 8을 참조하면, 로그개방신청 모듈(130)은, 본 로그 교환 장치(100)의 작동 상태가 작동 가능 상태(E)인 것으로 판단되는 경우, 본 로그 교환 장치(100)가 설치된 개방사이트(포털사이트, 1) 상에 요청 장치(200)가 설치된 타 개방사이트의 로그개방을 신청(요청)하기 위한 개방신청 메시지의 입력(작성, 등록)이 가능한 인터페이스부(130a)로서 로그개방신청 관련 인터페이스부(130a)를 제공(표시)할 수 있다. 이러한 로그개방신청 관련 인터페이스부(130a)는 로그개방신청 모듈(130)과 연동될 수 있다.
로그개방신청 모듈(130)은 개방사이트(1) 상에 제공(표시)된 인터페이스부(130a)를 통해 개방사이트(1)의 담당자(사용자)로부터 개방신청 메시지(131)에 대하여 입력된 정보(작성된 정보, 등록된 정보)를 획득할 수 있다. 즉, 로그개방신청 모듈(130)은 개방사이트(1)의 담당자(사용자)에 의해 입력된 개방신청 메시지(131) 정보를 획득할 수 있다. 이때, 개방신청 메시지(131)의 포맷(format)은 후술할 도 9를 참조하여 보다 쉽게 이해될 수 있다.
이때, 개방신청 메시지(131)는 로그개방요청자(즉, 로그개방을 요청하는 자)가 로그를 제공받고자 하는 개방사이트에 해당 개방사이트의 로그를 제공받고자 작성하는 메시지를 의미할 수 있다. 즉, 개방신청 메시지(131)는 로그개방요청자(일예로, 제1 개방사이트의 담당자를 의미함)에 의해 작성되는 메시지로서, 로그개방요청자가 로그를 제공받고자 하는 개방사이트(일예로, 제2 개방사이트)에 해당 개방사이트(제2 개방사이트)의 로그개방을 요청하고자 작성되는 메시지를 의미할 수 있다.
로그개방신청 모듈(130)은 인터페이스부(130a)를 통하여 개방사이트(1)의 담당자에 의하여 입력(등록)된 개방신청 메시지(131)를 로그개방신청 DB(133)에 저장할 수 있다. 또한, 로그개방신청 모듈(130)은 인터페이스부(130a)를 통해 입력된 개방신청 메시지(131) 정보를 요청 장치(200)로 전송할 수 있다. 달리 표현하여, 로그개방신청 모듈(130)은 입력된 개방신청 메시지(131)를 요청 장치(200)로 전송함으로써 제2 개방사이트에 대한 로그개방을 요청할 수 있다.
이때, 본 로그 교환 장치(100)의 로그개방신청 모듈(130)이 제2 개방사이트에 대하여 로그개방을 신청(요청)한다는 것(즉, 본 로그 교환 장치가 제2 개방사이트의 로그를 획득하기 위해 제2 개방사이트로 로그개방을 요청하는 개방신청 메시지를 요청 장치로 전송하는 것, 달리 말해 제1 개방사이트의 담당자에 의해 작성된 개방신청 메시지를 요청 장치로 전송하는 것)은, 로그개방을 요청받는 제공측인 제2 개방사이트측에도 로그 교환 장치(200, 요청 장치)가 설치되어 있어 로그개방 신청(요청) 자체가 두 로그 교환 장치(100, 200) 간에 쌍방으로 이루어짐을 의미할 수 있다.
이에 따르면, 로그개방의 신청(요청), 즉 개방신청 메시지의 전송은 로그 교환 장치(100, 200)들 간에 이루어지는 것을 의미할 수 있다. 다만 이에 한정되는 것은 아니고, 로그개방의 신청(요청), 즉 개방신청 메시지의 전송은 로그교환장치(100)와 개방사이트(2) 간에 이루어지는 것을 의미할 수 있다. 달리 말하면, 로그개방의 신청은 제공측에도 로그 교환 장치(200)가 설치되어 있어 요청 자체가 쌍방의 로그교환을 의미할 수 있지만, 본원에서는 제공측에 로그 교환 장치(200)가 없더라도 로그개방의 신청이 이루어질 수 있도록 타 개방사이트(2)에 로그 교환 장치(200)가 있어야한다는 제한조치는 하지 않을 수 있다.
즉, 본 로그 교환 장치(100)는 제2 개방사이트에 로그 교환 장치(200)가 설치되어 있는 경우 로그 교환 장치(200)로 개방신청 메시지를 전송함으로써 제2 개방사이트의 로그개방을 요청할 수 있으며, 제2 개방사이트에 로그 교환 장치(200)가 설치되어 있지 않은 경우 제2 개방사이트로 개방신청 메시지를 전송함으로써 제2 개방사이트의 로그개방을 요청할 수 있다.
도 9는 본원의 일 실시예에 따른 로그 교환 장치(100)에서 고려되는 개방신청 메시지(131)의 포맷을 나타낸 도면이다. 즉, 도 9에는 타 개방사이트로의 로그개방을 신청(요청)하기 위해 로그개방요청자가 작성해야하는 정보(로그개방 신청 정보)가 도시되어 있다.
도 9를 참조하면, 개방신청 메시지(131)에는 로그개방을 요청하는 로그개방요청자(제1 개방사이트의 담당자)의 입력에 의하여 정보가 기록되는 요청 관련 필드와 개방신청 메시지를 수신한 타 개방사이트의 담당자(제2 개방사이트의 담당자)의 입력에 의하여 정보가 기록되는 승인 관련 필드가 포함될 수 있다.
구체적으로, 개방요청 메시지(131)에 포함된 요청 관련 필드는, 로그개방요청자(제1 개방사이트의 담당자)에 의하여 입력된 정보가 기록되는 필드로서, 다음과 같은 정보가 포함될 수 있다.
요청 관련 필드에는 개방요청 일련번호(REQ_NO) 정보가 포함될 수 있으며, 이는 요청시 기록될 수 있다. 또한, 개방사이트ID(OPEN_SITE_ID) 정보가 포함될 수 있으며, 이와 관련하여 개방을 요청한 개방사이트의 접속 도메인 또는 IP 주소가 로그개방요청자에 의해 입력될 수 있다. 여기서, 개방을 요청한 개방사이트라 함은 제2 개방사이트의 로그를 획득(수집)하기 위해 제2 개방사이트의 로그개방을 요청한 개방사이트로서, 제1 개방사이트(1)를 의미할 수 있다.
또한, 요청 관련 필드에는 개방사이트명(OPEN_SITE_NM) 정보가 포함될 수 있으며, 이와 관련하여 개방을 요청한 개방사이트명(제1 개방사이트명)이 로그개방요청자에 의해 입력될 수 있다. 또한, 개방사이트 담당자(OPEN_SITE_MNG_NM) 정보가 포함될 수 있으며, 이와 관련하여 개방을 요청한 개방사이트의 담당자가 입력될 수 있다. 또한, 개방사이트 담당자 전화번호(OPEN_SITE_MNG_TEL)가 포함될 수 있으며, 이와 관련하여 개방을 요청한 개방사이트 담당자의 전화번호가 입력될 수 있다. 또한, 개방사이트 담당자 이메일주소(OPEN_SITE_MNG_EMAIL)가 포함될 수 있으며, 이와 관련하여 개방을 요청한 개방사이트 담당자의 이메일 주소가 입력될 수 있다.
또한, 요청 관련 필드에는 제공주기(PROVIDE_CYCLE)가 포함될 수 있으며, 이와 관련하여 개방을 요청한 개방사이트의 로그 갱신 주기가 입력될 수 있다. 달리 표현하여, 제공주기라 함은 개방을 요청한 개방사이트(1)의 로그가 갱신되는 주기를 의미할 수 있다. 또한, 요청 관련 필드에는 제공시간(PROVIDE_TIME)이 포함될 수 있으며, 이와 관련하여 개방을 요청한 개방사이트의 로그 제공시간이 입력될 수 있다. 달리 표현하여, 제공시간이라 함은, 개방을 요청한 개방사이트(1)의 로그가 제공되는 시간(기간)을 의미할 수 있다. 또한, 요청 관련 필드에는 요청일시(REQ_DATE)가 포함될 수 있으며, 이와 관련하여 개방을 요청한 일시(즉, 제2 개방사이트의 로그개방을 요청한 일시)가 입력될 수 있다.
한편, 개방신청 메시지(131)에 포함된 승인 관련 필드는, 개방신청 메시지(131)를 수신한 타 개방사이트의 담당자(즉, 요청 장치가 설치된 제2 개방사이트의 담당자)에 의하여 입력된 정보가 기록되는 필드로서, 다음과 같은 정보가 포함될 수 있다.
승인 관련 필드에는 승인담당자(APPR_MNG) 정보가 포함될 수 있으며, 이와 관련하여 본 로그 교환 장치(100)로부터 전송된 개방신청 메시지(131)에 대응하는 로그개방 요청을 승인한 담당자 정보가 입력될 수 있다. 또한, 승인여부(APPR_YN) 정보가 포함될 수 있으며, 이와 관련하여 개방 요청 승인 여부가 입력될 수 있다. 즉, 승인여부의 경우에는 개방신청 메시지(131)를 수신한 제2 개방사이트의 담당자가 개방신청 메시지(131)에 대응하는 로그개방 요청을 승인했는지 또는 승인하지 않았는지에 대한 정보가 기록될 수 있다. 이때, 제2 개방사이트의 담당자가 개방신청 메시지(131)에 대응하는 로그개방 요청을 승인한 경우에는 승인여부에 대한 필드값이 Y로 기록(설정)되고, 승인하지 않은 경우에는 승인여부에 대한 필드값이 N으로 기록(설정)될 수 있다. 또한, 승인 관련 필드에는 승인일시(APPR_DATE)가 포함될 수 있으며, 이와 관련하여 개방 요청 승인 일시(즉, 로그개방 요청을 승인한 일시)가 입력될 수 있다.
이때, 승인 관련 필드에 대응하여 입력(기록)되는 승인담당자, 승인여부 및 승인일시를 포함하는 정보는 달리 표현하여 로그개방 승인 여부 관련 정보라 지칭될 수 있다.
이에 따르면, 본 로그 교환 장치(100)가 제2 개방사이트(2)의 로그를 획득(수집)하고자 하는 경우, 제1 개방사이트(1)의 담당자는 제1 개방사이트(1) 상에 제공되는 인터페이스부(130a)를 통해 도 9와 같은 개방신청 메시지(131) 포맷에서 요청 관련 필드에 대응하는 정보를 입력할 수 있다. 이후, 본 로그 교환 장치(100)의 로그개방신청 모듈(130)은 요청 관련 필드에 대응하는 정보가 입력된 개방신청 메시지(131)(즉 제2 개방사이트(2)의 로그개방 요청을 위한 개방신청 메시지)를 로그개방신청 DB(133)에 저장하거나 및/또는 요청 관련 필드에 대응하는 정보가 입력된 개방신청 메시지(131)를 요청 장치(200)로 전송할 수 있다.
요청 장치(200)는 본 로그 교환 장치(100)로부터 전송되는 개방신청 메시지(131)(즉, 제2 개방사이트의 로그개방을 요청하는 메시지)를 수신할 수 있으며, 수신된 개방신청 메시지(131')를 제2 개방사이트(2) 상에 제공할 수 있다. 이때, 제2 개방사이트(2)의 담당자는 제2 개방사이트(2) 상에 제공되는 개방신청 메시지(131')를 확인(검토)하고 그에 대한 로그개방의 승인여부를 관리할 수 있다.
구체적으로, 제2 개방사이트(2)의 담당자는 개방신청 메시지(131')를 확인하고, 제2 개방사이트(2) 상에 제공되는 인터페이스부를 통해 개방신청 메시지(131')에 대한 응답으로써 로그개방의 승인여부와 관련된 정보를 입력할 수 있다. 즉, 제2 개방사이트(2)의 담당자에 의한 입력에 기초하여 개방신청 메시지(131')의 포맷에서 승인 관련 필드에 대응하는 정보(즉, 승인담당자, 승인여부, 승인일시에 대한 필드값)가 입력될 수 있다. 달리 표현하여, 제2 개방사이트(2)의 담당자에 의한 입력에 기반하여 승인 관련 필드에 대응하는 정보인 로그개방 승인 여부 관련 정보가 입력될 수 있다.
이후 요청 장치(200)의 로그개방신청 모듈(130')은 제2 개방사이트(2)의 담당자 입력에 기반한 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지(131)(즉, 승인담당자, 승인여부, 승인일시가 기록된 개방신청 메시지)를 요청 장치(200)의 로그개방신청 DB(133')에 저장할 수 있다. 즉, 요청 장치(200)의 로그개방신청 모듈(130')은 제2 개방사이트(2)의 담당자의 입력에 기반한 개방승인(135') 여부가 반영된 개방신청 메시지를 요청 장치(200)의 로그개방신청 DB(133')에 저장할 수 있다. 이때, 로그개방신청 DB(133')에 저장되는 개방승인(135') 여부가 반영된 개방신청 메시지에는 로그교환프로토콜(115')이 적용될 수 있다.
요청 장치(200)의 로그개방신청 모듈(130')은 로그개방신청 DB(133')에 개방신청 메시지를 저장하는 것에 더하여, 개방신청 메시지(131')에 포함되어 있는 개방사이트 담당자 이메일 주소 필드(OPEN_SITE_MNG_EMAIL)의 필드값을 참조하여, 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지, 즉 개방승인(135') 여부가 반영된 개방신청 메시지를 제2 개방사이트의 로그개방을 요청한 요청자(즉, 제1 개방사이트의 담당자)의 이메일로 제공(발송)할 수 있다.
이때, 요청 장치(200)의 로그개방신청 모듈(130')은 로그개방 승인 여부 관련 정보에 로그개방을 승인하는 정보가 포함되어 있는 경우, 즉 제2 개방사이트(2)의 담당자가 로그개방에 대한 요청을 승인하여 승인여부 필드의 필드값이 Y로 설정되어 있는 경우, 자동으로 요청측인 본 로그 교환 장치(100)측의 개방 승인 API(137)를 호출할 수 있으며, 상기 호출에 의하여 제1 개방사이트와 제2 개방사이트 간에 로그개방 API 접속 정보 교환을 위한 관련 정보의 세팅이 자동으로 완료될 수 있다.
여기서, 요청측의 개방 승인 API(137), 즉 본 로그 교환 장치(100)의 개방 승인 API라 함은, <개방사이트 ID+“/OpenLogExchageConfirm”>의 형식으로 본 로그 교환 장치(100)의 설치시 기본으로 세팅(설치)되는 API 주소를 의미할 수 있다.
요청측의 개방 승인 API(137)를 호출한 이후, 요청 장치(200)의 로그개방신청 모듈(130')은 개방승인(135') 여부가 반영된 개방신청 메시지(달리 표현하여, 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지)를 본 로그 교환 장치(100)로 전송(제공)할 수 있다.
본 로그 교환 장치(100)의 로그개방신청 모듈(130)은 요청 장치(200)로부터 전송된 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지를 수신하여 본 로그 교환 장치(100)의 로그개방신청 DB(133)에 저장할 수 있다. 이에 따르면, 본 로그 교환 장치(100)와 요청 장치(200)에는 로그개방 승인 여부 관련 정보가 반영된 동일한 개방신청 메시지의 정보가 저장되어 있을 수 있다.
달리 표현하여, 요청 장치(200)가 본 로그 교환 장치(100)의 개방 승인 API를 호출하면, 요청 장치(200)는 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지를 본 로그 교환 장치(100)로 전송할 수 있다. 이후 본 로그 교환 장치(100)는 요청 장치(200)로부터 수신된 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지를 기반으로 하여, 요청 장치(200)에 저장된 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지를 본 로그 교환 장치(100)의 로그개방신청 DB(133)에 똑같이 저장(등록)할 수 있다. 이를 통해, 본 로그 교환 장치(100, 요청측)와 요청 장치(200, 제공측) 간의 실제 로그교환을 위한 중요한 정보(즉, 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지)가 본 로그 교환 장치(100, 요청측)와 요청 장치(200, 제공측) 각각에 자동으로 저장될 수 있다.
다시 말해, 본 로그 교환 장치(100)의 로그개방신청 모듈(130)은 로그개방 승인 여부 관련 정보에 로그개방을 승인하는 정보가 포함되어 있는 경우(즉, 승인여부 필드의 필드값이 Y인 경우), 요청 장치(200)에 의하여 호출된 본 로그 교환 장치(100)의 개방 승인 API(137)에 응답하여 요청 장치(200)로부터 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지를 획득(수신)할 수 있으며, 획득된 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지를 로그개방신청 DB(133)에 저장할 수 있다.
한편, 본 로그 교환 장치(100)가 타 개방사이트의 로그 교환 장치로서 일예로, 요청 장치(200)로부터 개방신청 메시지를 수신한 경우, 개방사이트(1)의 담당자는 수신한 개방신청 메시지에 응답하여 수신된 개방신청 메시지에 대응하는 개방사이트(1)의 로그개방 요청을 승인할지 여부를 결정할 수 있다. 즉 개방사이트(1)의 담당자는 수신한 개방신청 메시지에 응답하여 자신이 담당하는 개방사이트(1)의 로그를 개방할지에 대한 개방승인(135) 여부를 결정할 수 있다. 이때, 개방을 승인한 경우, 본 로그 교환 장치(100)의 로그개방신청 모듈(130)은 요청 장치(200)의 개방 승인 API(137')를 호출할 수 있다. 또한, 본 로그 교환 장치(100)의 로그개방신청 모듈(130)은 개방승인(135) 여부가 고려된 개방신청 메시지를 로그개방신청 DB(133)에 저장할 수 있다.
이때, 본 로그 교환 장치(100)에서의 개방승인(135) 여부의 결정에 따른 절차에 대한 설명은 앞서 요청 장치(200)에서의 개방승인(135') 여부의 결정에 따른 절차에 대한 설명과 동일 내지 유사하게 이해될 수 있으며, 이하 중복되는 설명은 생략하기로 한다. 달리 말해, 본 로그 교환 장치(100)와 요청 장치(200)는 동일한 장치일 수 있는바, 이하 생략된 내용이라 하더라도 요청 장치(200)에 대하여 설명한 내용은 본 로그 교환 장치(100)에 대한 설명에도 동일 내지 유사하게 이해될 수 있다.
또한, 앞선 설명에서는 본 로그 교환 장치(100)에 의하여 제1 개방사이트(1) 상에 제공된 로그개방신청 관련 인터페이스부(130a)(도 8과 같이 도시된 인터페이스부)를 통해 입력되는 개방신청 메시지가, 타 개방사이트(일예로 제2 개방사이트)의 로그를 획득하기 위해 제1 개방사이트(1)의 담당자가 입력하는 정보인 것으로 예시하였으나, 이에만 한정되는 것은 아니다. 다른 일예로, 도 8과 같이 제1 개방사이트(1) 상에 제공된 로그개방신청 관련 인터페이스부(130a)를 통해 입력되는 개방신청 메시지는, 타 개방사이트(일예로 제2 개방사이트)의 담당자가 제1 개방사이트(1)의 로그를 획득하기 위해 타 개방사이트의 담당자가 입력하는 정보일 수 있다.
로그 수집 모듈(150)과 관련된 설명은 도 10을 참조하여 보다 쉽게 이해될 수 있다.
도 10은 본원의 일 실시예에 따른 로그 교환 장치(100)의 로그 수집 모듈(150)을 설명하기 위한 도면이다. 이때, 도 10에서 제공측의 로그 수집 모듈(150')은 요청 장치(200)의 로그 수집 모듈을 의미하고, 요청측의 로그 수집 모듈(150)은 본 로그 교환 장치(100)의 로그 수집 모듈을 의미할 수 있다. 이때 두 로그 교환 장치(100, 200) 각각의 로그 수집 모듈은 동일 구성을 가지고 동일 기능을 수행할 수 있으며, 이하 로그 수집 모듈(150)에 대한 설명에서는 본 로그 교환 장치(100)의 로그 수집 모듈(150)을 기준으로 설명하기로 한다.
도 10을 참조하면, 로그 수집 모듈(Log Collection Module, LCM, 150)은 로그개방신청 DB(133)에 저장된 데이터를 고려하여 스케줄링된 미리 설정된 시간에, 로그 수집을 위해 요청 장치(200)에 데이터 활용 로그 API(117')와 데이터 추천 로그 API(119')를 호출하고, 호출에 응답된 로그(활용로그, 로그데이터)를 수집(로그 수집, 151)하여 수집개방로그 DB(153)에 저장할 수 있다.
한편, 로그 수집 모듈(150)은, 요청 장치(200)의 로그 수집 모듈(150')에 의하여 요청 장치(200)로부터 본 로그 교환 장치(100)에 데이터 활용 로그 API(117)와 데이터 추천 로그 API(119)가 호출되면, 상기 호출에 응답된 로그를 요청 장치(200)로 제공할 수 있다. 이때, 요청 장치(200)의 로그 수집 모듈(150')은 호출에 응답한 로그를 수집(로그 수집, 151')하여 수집개방로그 DB(153')에 저장할 수 있다.
구체적으로, 로그 수집 모듈(150)은 로그 수집(151)을 수행하고, 로그 수집(151)의 수행에 의하여 수집된 타 개방사이트의 로그를 수집개방로그 DB(153)에 저장할 수 있다.
로그 수집 모듈(150)은 로그 수집(151)을 위해, 로그개방신청 DB(133)에 저장된 정보를 읽어 이를 스케줄러 시스템(미도시)에 등록할 수 있다. 이때, 스케줄러 시스템(미도시)는 일예로 유닉스의 Crontab이나 윈도우의 작업스케줄 등을 의미할 수 있다. 이러한 스케줄러 시스템(미도시)은 특정 하드웨어, 특정 OS, 특정 프로그램 등에 한정되지 않고, 기 존재하는 스케줄러 시스템이나 향후 개발되는 스케줄러 시스템 등 다양한 스케줄러 시스템이 적용 가능하다.
이러한 스케줄러 시스템(미도시)에 의하여, 타 개방사이트의 로그 수집을 위한 API 호출 시간이 설정(스케줄링)될 수 있다.
로그 수집 모듈(150)은 스케줄러 시스템에 의하여 스케줄링된 미리 설정된 시간에, 요청 장치(200, 제공측)에 데이터 활용 로그 API(117')와 데이터 추천 로그 API(119')를 호출할 수 있으며, 호출에 응답된 로그를 수집(151)하여 수집개방로그 DB(153)에 저장(적재)할 수 있다.
이때, 로그 수집 모듈(150)은 수집개방로그 DB(153)에 저장되는 로그의 중복 저장을 방지하기 위해, 호출에 응답된 로그에 대응하는 수집개방로그 DB(153)에 기 저장된 로그를 삭제한 후 호출에 응답된 로그를 저장할 수 있다.
구체적으로, 로그 수집 모듈(150)은 로그 수집(151)에 의해 수집된 로그에 대응하는 데이터를 수집개방로그 DB(153)에 저장(적재)하기 이전에, 데이터의 중복 저장을 방지하기 위해 API로 요청할 때 정의한 데이터의 검색조건 중 로그 등록 일자에 해당하는 기 저장된 데이터를 삭제한 후 저장할 수 있다. 달리 말해, 로그 수집 모듈(150)은 로그 수집(151)에 의하여 수집된 로그에 대응하는 데이터가 수집개방로그 DB(153)에 중복 저장되지 않도록, API로 로그 수집을 요청할 때 기 정의된 표준화된 로그의 필드 중 로그 등록 일자(즉, 로그를 기록한 일자)가 기록되는 등록일자 필드를 고려하여, 수집된 로그의 로그 등록 일자에 해당하는 수집개방로그 DB(153)에 기저장된 로그에 대응하는 데이터를 삭제한 후, 수집된 로그에 대응하는 데이터를 수집개방로그 DB(153)에 저장할 수 있다.
수집개방로그 DB(153)에 저장되는 로그의 데이터 포맷은 개방로그 DB(116)에 저장되는 로그의 데이터 포맷과 동일 내지 유사한 형태일 수 있다. 즉, 수집개방로그 DB(153)에 저장되는 로그는 일예로 도 5에 도시된 개방활용로그의 데이터 포맷이나 도 6에 도시된 개방활용추천로그의 데이터 포맷과 동일 내지 유사한 형태의 데이터 포맷으로 저장될 수 있다.
또한, 본원의 일 실시예에 따른 본 로그 교환 장치(100)는 로그 분석 모듈(170)을 포함할 수 있으며, 로그 분석 모듈(170)에 대한 설명은 도 11을 참조하여 보다 쉽게 이해될 수 있다.
도 11은 본원의 일 실시예에 따른 로그 교환 장치(100)의 로그 분석 모듈(170)을 설명하기 위한 도면이다.
도 11을 참조하면, 로그 분석 모듈(Log Analysis Module, LAM, 170)은 수집개방로그 DB(153) 및 개방로그 DB(116)에 저장된 로그를 이용하여 수집된 분석데이터를 분석 마트 DB(171)에 저장하고, 분석데이터를 기반으로 한 기계학습을 통해 공공데이터를 추천할 수 있다. 이때, 분석데이터는 수집개방로그 DB(153) 및 개방로그 DB(116)에 저장된 모든 로그를 이용하여 수집되는 것이 바람직하다.
보다 구체적으로, 분석 마트 DB(171)는 수집개방로그 DB(153)에 저장된 로그(즉, 적어도 하나의 타 개방사이트들로부터 수집된 로그)와 개방로그 DB(116)에 저장된 로그(즉, 본 로그 교환 장치가 설치된 개방사이트에서 제공하는 로그)로 하여금 공공데이터 간의 연관성을 파악함과 더불어 기계학습을 수행하기 위해 필요한 데이터(즉, 분석데이터)가 수집되어 저장되어 있는 데이터 마트(DataMart)를 의미할 수 있다.
로그 분석 모듈(170)은 공공데이터 간의 연관성을 파악함과 더불어 기계학습을 수행하기 위해 필요한 데이터(즉, 분석데이터)의 수집을 위해, 연관 분석(173), 선호값 적용(175) 및 기계학습 추천(177)을 수행할 수 있다. 보다 구체적인 설명은 다음과 같다.
연관 분석(173)과 관련하여, 로그 분석 모듈(170)은 수집개방로그 DB(153) 및 개방로그 DB(116) 중 적어도 하나에 저장된 로그에 대응하는 공공데이터에 연관성 분석 알고리즘을 적용하여 공공데이터간 연관성 분석 결과를 산출할 수 있으며, 산출된 공공데이터간 연관성 분석 결과를 분석데이터로서 분석 마트 DB(171)에 저장할 수 있다. 여기서, 연관성 분석 알고리즘은 일예로 자카드 인덱스(Jaccard index) 알고리즘일 수 있으나, 이에 한정되는 것은 아니고, 기 존재하는 연관성 분석 알고리즘이나 향후 개발될 연관성 분석 알고리즘이 적용될 수 있다.
구체적으로, 연관 분석(173)과 관련하여 로그 분석 모듈(170)은 분석 마트 DB(171)에 의해 공공데이터간 연관성(관련성)을 분석하기 위해, 수집개방로그 DB(153)와 개방로그 DB(116)에 저장된 로그를 기반으로 하여 개방사이트에서 수집된 공공데이터 목록과 메타검색태그 정보를 추출할 수 있다.
일예로, 도 5에 도시된 개방활용로그를 기반으로(바탕으로) 추출한 제1 개방사이트로부터 수집된 공공데이터 목록과 메타검색태그 정보는 도 12와 같을 수 있다.
도 12는 본원의 일 실시예에 따른 로그 교환 장치(100)에서 연관 분석(173)을 위해 추출된 공공데이터 수집 정보의 예를 나타낸 도면이다. 즉, 도 12에는 일예로 개방로그 DB(116)에 저장된 로그인 개방활용로그를 기반으로 추출된 개방활용로그에 대한 공공데이터 수집 정보(즉, 개방활용로그에 대한 공공데이터 목록과 메타검색태그 정보)의 예가 도시되어 있다.
도 12를 참조하면, 일예로 연관 분석(173)을 위해 로그 분석 모듈(170)은 개방활용로그로부터 개방사이트 ID 정보와 공공데이터명 정보가 포함된 공공데이터 목록 및 메타검색태그 정보를 공공데이터 수집 정보로서 추출할 수 있다.
일예로, 로그 분석 모듈(170)은 개방활용로그로부터 개방사이트 ID는 'data.xx.go.kr'이고, 공공데이터명은 'A'이고, 메타검색태그는 '태그1, 태그2, 태그3'인 공공데이터 수집 정보를 추출할 수 있다.
로그 분석 모듈(170)은 도 12와 같이 추출된 공공데이터 수집 정보를 기반으로 하여, 일예로 자카드 인덱스(Jaccard index) 알고리즘을 적용함으로써 공공데이터간 연관성을 도출할 수 있다. 달리 말해, 로그 분석 모듈(170)은 추출된 공공데이터 수집 정보를 기반으로 연관성 분석 알고리즘을 적용함으로써 도 13과 같이 공공데이터간 연관성 분석 결과를 산출할 수 있다. 여기서, 자카드 인덱스 알고리즘은 일예로 'J(A,D)=|A∩D| / |A∪D|, J(A,E)=|A∩E| / |A∪E|, J(A,F)=|A∩F| / |A∪F|, …'와 같을 수 있다.
도 13은 본원의 일 실시예에 따른 로그 교환 장치(100)에 의한 연관성 분석 결과의 예를 나타낸 도면이다.
도 13을 참조하면, 로그 분석 모듈(170)은 도 12에서와 같이 공공데이터 수집 정보로 추출된 개방사이트 ID(혹은 그에 대응하는 공공데이터명) 각각에 대하여, 외부 개방사이트 연관 공공데이터명(이는 외부로부터 수집된 로그에 대응하는 공공데이터로서, 달리 말해 수집개방로그 DB에 저장된 로그에 대응하는 공공데이터를 의미할 수 있음) 간의 연관성 정도(즉, 연관점수)를 산출할 수 있다.
일예로, 개방사이트 ID가 data.xx.go.kr인 공공데이터 A(즉, 공공데이터명 A)는 외부 개방사이트의 공공데이터 D와의 연관성 정도(즉, 연관점수)가 0.8점일 수 있다. 이때, 연관성 정도를 나타내는 연관점수는 1점에 가깝게 산출될수록 두 공공데이터 간의 연관성이 높음을 의미하고, 0점에 가깝게 산출될수록 두 공공데이터 간의 연관성이 낮음을 의미할 수 있다. 달리 말해, 두 공공데이터 간의 연관성이 높을수록 두 공공데이터 간의 연관점수가 높게 산출될 수 있으며, 두 공공데이터 간의 연관성이 낮을수록 두 공공데이터 간의 연관점수가 낮게 산출될 수 있다. 즉, 연관점수가 낮을수록 두 공공데이터가 서로 간에 관련이 없음을 의미하고, 연관점수가 높을수록 두 공공데이터가 서로 간에 관련이 있음을 의미할 수 있다. 이렇게 산출된 연관점수는 분석데이터로서 분석 마트 DB(171)에 저장될 수 있다.
한편, 선호값 적용(175)과 관련하여 로그 분석 모듈(170)은, 선호값 적용을 위해 수집개방로그 DB(153) 및 개방로그 DB(116) 중 적어도 하나에 저장된 로그에 대하여 미리 설정된 기록 항목 유형별 활용수와 추천점수를 산출하고, 산출된 기록 항목 유형별 활용수와 추천점수를 분석데이터로서 분석 마트 DB(171)에 저장할 수 있다.
여기서, 미리 설정된 기록 항목 유형별이라 함은, 일예로 도 5나 도 6에 도시된 것과 같이 로그교환프로토콜의 표준 규격의 필드 항목 유형들(예를 들어, 개방사이트 ID, 등록일자, 시퀀스번호, 공공데이터 ID, 공공데이터명, 검색어 등) 중에서, 적어도 하나의 미리 설정된 필드 항목을 그룹화함으로써 형성된 집합별로를 의미할 수 있다.
이러한 미리 설정된 기록 항목 유형은 개방로그 DB(116)에 포함된 개방활용로그, 개방로그 DB(116)에 포함된 개방활용추천로그, 수집개방로그 DB(153)에 포함된 타 개방사이트로부터 획득된 로그 중 적어도 하나를 기반으로 하여 설정될 수 있다.
구체적인 예로, 도 5에 도시된 개방활용로그를 기반으로 한 미리 설정된 기록 항목 유형으로는, 제1 기록 항목 유형({개방사이트 ID, 공공데이터, 검색어}), 제2 기록 항목 유형({개방사이트 ID, 공공데이터, 서비스유형}), 제3 기록 항목 유형({개방사이트 ID, 공공데이터, 개방일시}), 제4 기록 항목 유형({개방사이트 ID, 공공데이터, 성별, 연령대, 직업, 지역}) 등이 포함될 수 있으며, 이에 한정되는 것은 아니다.
또한, 도 6에 도시된 개방활용추천로그를 기반으로 한 미리 설정된 기록 항목 유형으로는, 제5 기록 항목 유형({개방사이트 ID, 등록일자, 공공데이터 ID, 추천 공공데이터 ID}) 등이 포함될 수 있으며, 이에 한정되는 것은 아니다.
또한, 일예로 도 5와 도 6에 도시된 개방활용로그와 개방활용추천로그를 함께 고려한 미리 설정된 기록 항목 유형으로는, 제6 기록 항목 유형({개방사이트 ID, 공공데이터, 연관추천 공공데이터, 연관추천 검색어}), 제7 기록 항목 유형({개방사이트 ID, 공공데이터, 연관추천 공공데이터, 연관추천 공공데이터 개방일시}) 등이 포함될 수 있으며, 이에 한정되는 것은 아니다. 이때, 연관추천 공공데이터, 연관추천 검색어, 연관추천 공공데이터 개방일시는 앞서 도 6을 참조한 설명에서 추천 공공데이터, 추천 검색어, 추천 공공데이터 개방일시 각각과 그 의미가 상응하다.
로그 분석 모듈(170)은 상기와 같은 미리 설정된 기록 항목 유형별로 그에 대한 활용수와 추천점수를 산출하고, 산출된 기록 항목 유형별 활용수와 추천점수를 분석데이터로서 분석 마트 DB(171)에 저장할 수 있다. 구체적인 예로, 분석 모듈(170)은 미리 설정된 기록 항목 유형별로서 제1 기록 항목 유형 내지 제7 기록 항목 유형 각각에 대하여 각 유형에 대한 활용수와 추천점수를 산출하여 분석 마트 DB(171)에 저장할 수 있다.
이때, 각 유형에 대하여 산출된 활용수와 추천점수가 분석 마트 DB(171)에 저장된다는 것은 각 유형에 대한 {활용수, 추천점수}의 산출값이 분석 마트 DB(171) 내에 데이터 마트로 구성되어 저장된다는 것을 의미할 수 있다. 즉, 구체적인 예로, 로그 분석 모듈(170)은 제1 기록 항목 유형에 대하여 산출된 활용수와 추천점수를 분석 마트 DB(171)에 저장할 수 있으며, 이에 따라 분석 마트 DB(171)에는 제1 기록 항목 유형에 대한 {활용수, 추천점수} 데이터 마트가 구성될 수 있다. 마찬가지로 로그 분석 모듈(170)은 제4 기록 항목 유형에 대하여 산출된 활용수와 추천점수를 분석 마트 DB(171)에 저장할 수 있으며, 이에 따라 분석 마트 DB(171)에는 제4 기록 항목 유형에 대한 {활용수, 추천점수} 데이터 마트가 구성될 수 있다.
이와 같이, 미리 설정된 기록 항목 유형별로 산출된 활용수와 추천점수가 분석 마트 DB(171)에 저장되면, 달리 말해, 분석 마트 DB(171) 내에 각 유형에 대한 {활용수, 추천점수} 데이터 마트가 구성되면, 로그 분석 모듈(170)은 분석 마트 DB(171)에 수집된 분석데이터를 기반으로 한 기계학습을 위하여 선호값을 부여(즉, 선호값 적용, 175)할 수 있다.
구체적으로, 로그 분석 모듈(170)은 수집개방로그 DB(153) 및 개방로그 DB(116) 중 적어도 하나에 저장된 로그에 대응하는 공공데이터에 선호값(선호점수)을 부여하고, 부여된 선호값을 분석데이터로서 분석 마트 DB(171)에 저장할 수 있다. 이때, 로그 분석 모듈(170)은 선호값 부여를 위해, 수집개방로그 DB(153), 개방로그 DB(116) 및 분석 마트 DB(171)에 저장된 데이터를 고려할 수 있다.
일예로, 공공데이터에는 활용수와 추천점수를 기반으로 선호값이 미리 설정된 점수범위별로 차등 부여될 수 있다. 이때, 활용수와 추천점수가 높게 부여된 공공데이터일수록 선호값이 높게 부여될 수 있다.
구체적으로, 로그 분석 모듈(170)은 수집개방로그 DB(153) 및 개방로그 DB(116) 중 적어도 하나에 저장된 로그에 대응하는 공공데이터에 대하여 부여된 활용수와 추천점수(즉, 로그 분석 모듈에 의해 산출되어 저장된 활용수와 추천점수)를 고려하여, 수집개방로그 DB(153) 및 개방로그 DB(116) 중 적어도 하나에 저장된 로그에 대응하는 공공데이터에 선호값을 미리 설정된 점수범위별로 차등 부여할 수 있다. 로그 분석 모듈(170)은 공공데이터에 부여된 선호값을 분석데이터로서 분석 마트 DB(171)에 저장할 수 있다.
예를 들어, 산출된 활용수와 추천점수가 각각 최대값을 기준으로 80% 이상의 값이 부여된 공공데이터에 대해서는 선호값이 일예로 최대값 10점 중 8점으로 부여될 수 있다. 이러한 점수범위별 구분 기준은 % 기준, 수치 기준 등으로 다양하게 구현 가능하다.
다른 일예로, 공공데이터에는 개방일시 정보(즉, 개방일시, 추천 공공데이터 개방일시)를 고려하여, 미리 설정된 개방일시 범위별로 선호값이 차등 부여될 수 있다. 이때, 개방일시 정보가 최신날짜에 속하는 공공데이터일수록 선호값이 높게 부여될 수 있다.
구체적으로, 로그 분석 모듈(170)은 수집개방로그 DB(153) 및 개방로그 DB(116) 중 적어도 하나에 저장된 로그에 대응하는 공공데이터에 대하여 기록되어 있는 개방일시 정보(즉, 개방일시, 추천 공공데이터 개방일시)를 고려하여, 수집개방로그 DB(153) 및 개방로그 DB(116) 중 적어도 하나에 저장된 로그에 대응하는 공공데이터에 선호값을 차등 부여할 수 있다. 이렇게 부여된 선호값은 로그 분석 모듈(170)에 의해 분석데이터로서 분석 마트 DB(171)에 저장될 수 있다.
예를 들어, 미리 설정된 개방일시 범위로는 제1 범위(현재날짜로부터 2주 이내의 범위), 제2 범위(현재날짜로부터 2주 이상 1달 이내) 등이 포함될 수 있다. 이러한 경우, 로그 분석 모듈(170)은 개방일시가 3일 전에 개방된 공공데이터에 대하여 선호값을 일예로 최대값 10점 중 10점으로 부여할 수 있다. 이러한 선호값은 개방일시가 최신 날짜에 속하는 공공데이터일수록 높게 부여될 수 있다.
또 다른 일예로, 공공데이터에는 평가값을 고려하여, 미리 설정된 평가점수 범위별로 선호값이 차등 부여될 수 있다. 이때, 평가값이 높게 부여된 공공데이터일수록 선호값이 높게 부여될 수 있다.
구체적으로, 로그 분석 모듈(170)은 수집개방로그 DB(153) 및 개방로그 DB(116) 중 적어도 하나에 저장된 로그에 대응하는 공공데이터에 대하여 기록되어 있는 평가값(즉, 사용자의 평가점수의 합계)를 고려하여, 수집개방로그 DB(153) 및 개방로그 DB(116) 중 적어도 하나에 저장된 로그에 대응하는 공공데이터에 선호값을 차등 부여할 수 있다. 이렇게 부여된 선호값은 로그 분석 모듈(170)에 의해 분석데이터로서 분석 마트 DB(171)에 저장될 수 있다.
예를 들어, 미리 설정된 평가점수 범위별 선호값은 평가점수가 10점 만점 중 8 이상 10 이하인 경우, 일예로 최대 선호값 5점 중 5점이 부여되도록 설정되어 있을 수 있다. 또한, 평가점수가 6점 이상 8점 미만인 경우, 일예로 선호값은 4점이 부여되도록 설정되어 있을 수 있다. 이러한 경우, 로그 분석 모듈(170)은 평가점수가 6으로 부여되어 있는 공공데이터에 대한 선호값을 4점으로 부여할 수 있다. 이에 따르면, 평가값이 높게 부여된 공공데이터일수록 선호값이 높게 부여될 수 있다.
기계학습 추천(177)과 관련하여, 로그 분석 모듈(170)은 연관 분석(173)과 선호값 적용(175)의 처리 과정을 통해 분석 마트 DB(171)에 수집된 분석데이터를 기반으로 하여, 기계학습을 통해 공공데이터를 추천할 수 있다. 이때, 기게학습은 일예로 아이템 기반 추천(Item-based Recommender) 알고리즘이 적용된 기계학습일 수 있다. 로그 분석 모듈(170)은 이러한 기계학습을 통해, 공공데이터에 대한 선호값의 이동 경향성을 판단할 수 있어 활용성이 높은 공공데이터를 추천할 수 있다.
이때, 연관점수가 높게 부여되고(연관성이 높고) 선호값이 높게 부여된 공공데이터일수록 활용성이 높은 공공데이터인 것으로 판단될 수 있으며, 이러한 활용성이 높은 공공데이터는 다른 복수의 공공데이터들 중 사용자에게 우선 추천되도록 설정될 수 있다. 달리 말해, 로그 분석 모듈(170)은 기 저장된 로그에 대응하는 공공데이터들에 있어서, 공공데이터의 활용성이 높아질수록 공공데이터의 연관점수와 선호값을 높게 부여할 수 있다. 즉, 로그 분석 모듈(170)은 연관점수가 높게 부여되고 선호값이 높게 부여된 공공데이터일수록 활용성이 높은 공공데이터로서 사용자에게 우선 추천할 수 있다.
달리 말해, 기계학습 추천(177)과 관련하여 로그 분석 모듈(170)은 연관 분석(173), 선호값 적용(175)의 처리 과정을 통해 분석 마트 DB(171)에 수집된 데이터를 기반으로 하여, 아이템 기반 추천(Item-based Recommender) 알고리즘을 적용한 기계학습 통해 공공데이터에 대한 선호값의 이동 경향성을 판단하여 활용성이 높은 공공데이터를 추천할 수 있다.
로그 분석 모듈(170)은 기계학습 기반의 공공데이터 추천시 통계기반 추천 및 개인 맞춤형 추천(개인화된 추천) 중 적어도 하나를 수행할 수 있다. 구체적으로, 로그 분석 모듈(170)은 사용자가 본 로그 교환 장치가 설치된 개방사이트(1)에 로그인을 했는지 여부(즉, 사용자의 로그인 여부)를 고려하여, 사용자가 식별된 경우(로그인을 한 경우)에는 개인 맞춤형 추천을 수행하고, 사용자가 식별되지 않은 경우(로그인을 하지 않은 경우)에는 통계기반 추천을 수행할 수 있다.
로그 분석 모듈(170)은 통계기반의 공공데이터 추천시, 미리 설정된 수의 임의의 데이터들(달리 표현하여, 불특정 다수)을 대상으로, 분석 마트 DB(171)의 각 분석정보별 활용수, 추천점수, 선호값(선호점수)을 기준으로 하여 공공데이터를 추천할 수 있다.
일예로, 로그 분석 모듈(170)은 통계기반 추천시 개방사이트(1)의 메인화면에 가장 인기있는 Top5 공공데이터, 가장 최근 공공데이터 Top5 등과 같이 공공데이터를 추천할 수 있으며, 이후 사용자가 추천된 공공데이터 중 어느 하나를 선택 입력(클릭)한 경우, 선택 입력된(클릭된) 공공데이터와 연관된 공공데이터(즉, 연관 공공데이터)를 추가로 추천할 수 있다.
또한, 로그 분석 모듈(170)은 통계기반 추천을 수행함에 있어서, 공공데이터의 추천 뿐만 아니라 검색어와 관련된 활용수, 선호값(선호점수)를 기준으로 하여 검색어를 추천할 수 있다.
로그 분석 모듈(170)은 개인 맞춤형 기반의 공공데이터 추천시, 로그인한 사용자의 성별, 연령대, 직업, 지역 등의 그룹정보를 기초로 하여 공공데이터를 추천할 수 있다.
즉, 로그 분석 모듈(170)은 개인 맞춤형 기반의 공공데이터 추천시 로그인한 사용자의 정보를 고려하여, 기 저장된 로그에 대응하는 공공데이터들 중 사용자 정보가 기록되어 있는 공공데이터를 대상으로 분석 마트 DB(171)의 각 분석정보별 활용수, 추천점수, 선호값(선호점수)을 기반으로 하여 공공데이터를 추천할 수 있다.
본 로그 교환 장치(100)는 기계학습을 수행함에 있어서 본 로그 교환 장치(100)가 설치된 개방사이트(1)의 로그(또는 그에 대응하는 공공데이터)만을 학습데이터로 고려하는 것이 아니라 나아가 타 개방사이트들과의 로그 교환을 통해 타 개방사이트들의 로그(또는 그에 대응하는 공공데이터)를 학습데이터로서 확보하고, 이를 함께 고려하여 기계학습 기반의 공공데이터 추천을 수행하므로, 보다 방대한 양의 데이터에 기반한 기계학습으로 하여금 높은 정확성을 갖는 양질의 공공데이터를 효과적으로 추천할 수 있다.
본 로그 교환 장치(100)에서는 공공데이터 추천시 개방사이트(1)의 로그(데이터) 외에 타 개방사이트로부터 획득된 로그(데이터)가 함께 고려될 수 있으므로, 로그 분석 모듈(170)은 공공데이터 추천시 개방사이트(1)의 공공데이터에 기반한 제1 공공데이터 추천 유형 및 개방사이트(1)의 공공데이터와 타 개방사이트(2, 3, 4, 5, 6, …)의 공공데이터에 기반한 제2 공공데이터 추천 유형 중 어느 하나를 선택하는 사용자 입력 메뉴를 개방사이트(1) 상에 제공할 수 있으며, 사용자 입력 메뉴를 통해 선택된 추천 유형으로 공공데이터를 추천할 수 있다.
즉, 사용자 입력에 의해 제1 공공데이터 추천 유형이 선택된 경우, 로그 분석 모듈(170)은 개방사이트(1)의 로그(내지 그에 대응하는 공공데이터)를 기반으로한 공공데이터 추천을 수행할 수 있다. 반면, 사용자 입력에 의해 제2 공공데이터 추천 유형이 선택된 경우, 로그 분석 모듈(170)은 개방사이트(1)의 로그와 타 개방사이트로부터 획득된 로그를 모두 고려한 통합 로그를 기반으로 하여 공공데이터를 추천할 수 있다.
다시 말해, 본 로그 교환 장치(100)는 타 개방사이트의 학습데이터를 확보하였으므로, 기계학습 추천(177)시 사용자에게 추천 범위를 유동적으로 선택할 수 있는 메뉴, 즉 현재 본 로그 교환 장치(100)가 설치된 개방사이트에 한정한 공공데이터 추천을 수행할 것인지 또는 본 로그 교환 장치(100)와의 로그교환과 연계된 모든 타 개방사이트를 고려한 공공데이터 추천을 수행할 것인지를 선택할 수 있는 메뉴를 제공할 수 있다.
도 14는 본원의 일 실시예에 따른 로그 교환 장치(100)에 의한 기계학습을 통해 개방사이트별 공공데이터 간의 연관도를 시각화하여 나타낸 도면이다. 즉, 도 14는 본 로그 교환 장치(100)에 의하여 추천 가능한 공공데이터 간의 연관성을 나타낸 도면이다. 달리 말해, 도 14는 본원의 실시예에 따른 로그 교환 장치(100)에서 자신이 설치된 개방사이트의 공공데이터와 외부 개방사이트의 공공데이터에 대하여 연관 추천되는 공공데이터를 시각화하여 구성한 도면이다.
다시 말해, 도 14는 본 로그 교환 장치(100)가 타 개방사이트들로부터 타 개방사이트의 로그를 수집하고, 수집된 타 개방사이트의 로그와 본 로그 교환 장치(100)가 설치된 개방사이트의 로그를 이용하여 로그 분석 및 기계학습을 수행함으로써, 활용성이 높은 공공데이터를 기준으로 개방사이트간 공공데이터 연관도를 시각화하여 표현한 예시이다.
도 14를 참조하면, 본 로그 교환 장치(100)는 타 개방사이트들로부터 획득된 타 개방사이트의 로그를 고려하여 보다 방대한 양의 데이터(로그)에 기반한 로그 분석 및 기계학습을 수행할 수 있음에 따라, 본 로그 교환 장치(100)가 설치된 개방사이트에서 제공하는 공공데이터들에 한하여 그들 공공데이터간의 연관성만 파악할 수 있는 것이 아니라, 이에 더하여 도 14에 도시된 바와 같이 A개방사이트, B개방사이트, C개방사이트, D개방사이트 등 복수의 개방사이트에서 제공하는 공공데이터들 간의 연관성을 파악할 수 있다.
이러한 본 로그 교환 장치(100)는 도 14에 도시된 바와 같이 복수의 개방사이트에서 제공하는 공공데이터들 간의 연관성을 분석하고, 이를 기반으로 한 공공데이터 추천시 타(외부) 개방사이트의 연관 추천된 공공데이터를 직접적으로 접근할 수 있도록 링크(접속주소)를 제공할 수 있어, 사용자의 편의 및 공공데이터 이용 활성화를 높일 수 있다. 즉, 공공데이터의 이용성을 향상시킬 수 있다.
다시 말해, 본 로그 교환 장치(100)는 본 로그 교환 장치(100)가 설치된 개방사이트에서 제공하는 로그에 대응하는 공공데이터를 추천할 수 있을 뿐만 아니라 타 개방사이트에서 제공하는 로그에 대응하는 공공데이터를 추천할 수 있다.
이때, 본 로그 교환 장치(100)에 의하여 추천된 공공데이터가 타 개방사이트에서 제공하는 로그에 대응하는 공공데이터인 경우, 본 로그 교환 장치(100)의 로그 분석 모듈(170)은 사용자로 하여금 실제 타 개방사이트의 추천된 공공데이터에 직접적으로 접근할 수 있도록 하는 링크(접속주소)를 제공할 수 있다.
즉, 본 로그 교환 장치(100)에 의하여 사용자에게 추천된 공공데이터(추천 공공데이터)가 타 개방사이트(일예로 제2 개방사이트)에서 제공하는 공공데이터인 경우, 로그 분석 모듈(170)은 해당 추천 공공데이터를 제공하는 타 개방사이트(제2 개방사이트)에 사용자가 직접적으로 접근할 수 있도록 하는 링크(접속주소), 즉 타 개방사이트(제2 개방사이트)의 추천 공공데이터를 제공하는 데이터셋 접근 URL 주소를 제공할 수 있다. 이를 통해, 본 로그 교환 장치(100)는 사용자로 하여금 타 개방사이트의 공공데이터에 쉽게 접근할 수 있도록 하는 접근 편의성을 제공할 수 있다. 이와 더불어 본 로그 교환 장치(100)는 사용자로 하여금 본 로그 교환 장치(100)가 설치된 개방사이트에서 제공하는 공공데이터 뿐만 아니라 타 개방사이트에서 제공하는 공공데이터를 보다 많이 이용할 수 있도록 제공할 수 있어, 공공데이터의 활용성을 극대화시킬 수 있다.
본원은 로그 교환 장치로 하여금 개방사이트간 로그 교환이 이루어질 수 있도록 제공할 수 있다. 이를 위해, 복수의 로그 교환 장치 각각은, 자신이 설치된 개방사이트가 가진 공공데이터 정보(즉, 개방사이트에서 제공하는 공공데이터 관련 로그)를 추출하여 정제하는 로그정제 모듈, 로그 교환을 위해 로그개방신청이 요청측과 제공측에 동시에 적용될 수 있도록 하는 로그개방신청 모듈 및 스케줄러에 의하여 스케줄링된 시간에 타 개방사이트의 로그를 자동적으로 수집하는 로그 수집 모듈을 포함할 수 있다. 또한, 복수의 로그 교환 장치 각각은 로그 수집 모듈에 의하여 수집된 로그를 기초로 하여 기계학습 기반의 공공데이터 추천 및 연관 공공데이터 추천을 수행하는 로그 분석 모듈을 포함할 수 있다.
또한, 복수의 로그 교환 장치 각각은, 타 개방사이트와의 양방향 로그 교환을 위한 로그교환프로토콜을 정의(규정, 설정)하며, 타 개방사이트로의 로그 전송 내지 타 개방사이트로부터의 로그 수집을 위한 로그 전송 API(이는 데이터 활용 로그 API와 데이터 추천 로그 API를 의미함)를 제공할 수 있다.
또한, 복수의 로그 교환 장치 각각은, 개방사이트간 로그 교환을 위한 개방신청(개방요청) 및 그에 대한 승인 절차를 정의(규정, 설정)하고, 그에 기반하여 개방 승인 API를 자동화할 수 있다.
또한, 복수의 로그 교환 장치 각각은 기계학습을 통해 활용성이 높은 공공데이터로서 추천할 공공데이터를 결정할 수 있다. 이때, 복수의 로그 교환 장치 각각은 기계학습시 자신이 설치된 개방사이트의 로그(데이터) 뿐만 아니라 타 개방사이트의 로그(데이터)를 함께 활용하여 학습을 수행할 수 있다. 이를 통해 복수의 로그 교환 장치 각각은, 기계학습을 통해 다양한 개방사이트의 공공데이터(즉, 자신이 설치된 개방사이트의 공공데이터와 타 개방사이트의 공공데이터가 포함된 다양한 개방사이트들의 공공데이터)를 자신이 설치된 개방사이트에 방문한 사용자에게 제공(추천)할 수 있다. 이에 더하여, 복수의 로그 교환 장치 각각은, 타 개방사이트의 공공데이터가 제공(추천)된 경우에는 사용자가 해당 타 개방사이트에 직접적으로 접근할 수 있도록 하는 링크(접속주소)를 제공함으로써, 이를 통해 사용자가 해당 타 개방사이트로 바로 접속(접근)할 수 있도록 할 수 있다.
다시 말해, 본원은 공공데이터의 이용 활성화를 위해, 개방사이트의 활용로그 분석을 통해 관심도가 높은 공공데이터를 분석하여 제공하고 이와 연관된 다른 개방사이트의 공공데이타를 함께 제공할 수 있는 로그 교환 장치를 제공한다. 이를 위해, 로그 교환 장치는, 로그교환을 위해 로그를 정제하는 로그정제 모듈, 로그 교환을 위한 개방사이트간 로그 교환 관리를 결정하는 로그개방신청 모듈, 및 자동화된 API(개방 승인 API)를 통해 실제 로그 교환을 수행하는 로그 수집 모듈을 포함할 수 있다. 또한, 로그 교환 장치는 수집된 로그의 분석을 통해 연관성을 부여하고, 기계학습을 적용함으로써 활용성이 높은 공공데이터에 대한 공공데이터 추천을 수행하는 로그 분석 모듈을 포함할 수 있다.
이러한 본원은 공공데이터 활용성을 증가시키기 위해, 기계학습 기반의 공공데이터 추천시 정확성을 보다 향상시키기 위한 학습데이터를 확보하기 위하여, 개방사이트간 단절된 활용로그를 상호 교환하여 수집할 수 있는 로그 교환 장치를 제공할 수 있다.
본원은 종래 하나의 개방사이트의 적은 로그에 더하여, 여러 타 개방사이트로부터 다량의 학습데이터로서 수집된 타 개방사이트의 로그를 함께 고려하여 기계학습 시킴으로써, 공공데이터의 추천 정확성을 보다 향상시킬 수 있는 로그 교환 장치를 제공할 수 있다.
또한, 본원은 개방사이트 활용로그에 대한 수집, 활용로그의 제공 방식을 표준화하고, 이를 통해 개방사이트간 관련성이 높은 공공데이터를 연관 추천할 수 있는 로그 교환 장치를 제공할 수 있다.
본원은 개방사이트별로 저장(적재)된 활용로그를 손쉽게 개방사이트간에 공유할 수 있는 로그 교환 장치를 통해 기계학습을 위한 많은 양의 학습데이터를 확보 및 제공할 수 있다.
또한, 본원은 복수의 개방사이트들로부터 수집된 방대한 양의 학습데이터를 이용하여 기계학습 기반의 공공데이터 추천을 수행함으로써, 수요자가 많은 관심을 갖는 공공데이터(달리 말해, 활용성이 높은 공공데이터)를 우선 추천할 수 있으며, 또한, 수요자가 공공데이터를 이용할 때 실질적으로 연관되어 관심있어 하는 공공데이터를 연관 추천하여 제공(연관 추천 공공데이터를 제공)할 수 있다.
또한, 본원은 시간이 흘러 학습데이터가 쌓이면 쌓일수록 수요자가 원하는 보다 객관적이고 정확성이 높은 공공데이터를 추천하거나 그와 연관된 공공데이터를 추천(즉, 연관 추천 공공데이터를 제공)할 수 있다.
또한, 본원은 종래 하나의 개방사이트에 국한되어 있던 활용로그의 활용을 보다 광범위하게 전체 개방사이트 간에 공유할 수 있도록 API기반 양방향 로그 교환을 가능케 하는 로그 교환 장치를 제공할 수 있다.
또한, 본원은 개방사이트에 축적된 활용로그의 교환을 위해서 표준화된 로그교환프로토콜을 제안하며, 보다 원활한 서비스 이용을 위해 로그 교환 서비스 신청 및 그에 대한 승인 방법을 제안(정의)한다.
또한, 본원은 교환 수집된 로그(활용로그)에 대해서 기계학습을 통해 활용성이 높은 공공데이터를 우선 제공할 수 있으며, 타 개방사이트에서 가지고 있는 공공데이터를 관련 데이터로서 추천(즉, 연관 추천 공공데이터를 제공)할 수 있다.
또한, 본원은 중앙제어장치의 필요없이, 각 개방사이트에 양방향 개방로그의 교환을 가능케 하는 본원에서 제안하는 로그 교환 장치를 설치(탑재)함으로써, 로그 교환 장치가 설치된 모든 개방사이트의 이용 현황을 공유할 수 있다. 또한, 본원에 의하면 시간이 지남에 따라 자동으로 양방향 개방로그의 교환을 가능케하는 로그 교환 장치가 설치(탑재)된 개방사이트의 모든 공공데이터가 통합될 수 있으며, 통합된 데이터에 기반한 공공데이터 추천시 사용자가 타 개방사이트에 직접 접근할 수 있도록 하는 링크(접속주소)를 제공할 수 있어, 공공데이터에 대한 이용 활성화를 보다 극대화시킬 수 있다.
또한, 본원은 공공 데이터의 웹 표준 없이 로그 교환 장치로 하여금, 기계학습 기반의 공공데이터 추천과 공공데이터 간의 연관성 도출을 통해 로그(Log) 기반 공공데이터(LOD, Linked Open Data, 개방형 연결 데이터, 링크드 오픈 데이터)를 제공할 수 있다.
본원은 공공데이터를 이용하는 사용자 측면에서 사용자가 원하는 공공데이터를 제공기관별로 운영하는 개방사이트에 직접 방문하지 않더라도, 로그 교환 장치로 하여금 사용자가 원하는 공공데이터를 보다 쉽게 탐색할 수 있도록 하는 편리성을 제공함과 더불어 사용자의 만족도를 효과적으로 높일 수 있다.
또한, 본 로그 교환 장치에 의하면, 공공데이터 개방사이트 이용자(사용자)에게 전 국민의 관심사 또는 유행을 고려한 맞춤형 공공데이터 추천 서비스를 제공할 수 있어, 공공데이터의 이용 활성화에 크게 기여할 수 있다.
또한, 본 로그 교환 장치에 의하면, 개방사이트 담당자가 타 개방사이트 공공데이터의 이용 현황 정보를 손쉽게 수집 및 활용할 수 있어, 시간과 예산절감에 크게 기여할 수 있다.
이하에서는 상기에 자세히 설명된 내용을 기반으로, 본원의 동작 흐름을 간단히 살펴보기로 한다.
도 15는 본원의 일 실시예에 따른 로그 교환 장치를 통한 로그 교환 방법에 대한 동작 흐름도이다.
도 15에 도시된 로그 교환 방법은 앞서 설명된 로그 교환 장치(100)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 로그 교환 장치(100)에 대하여 설명된 내용은 로그 교환 방법에 대한 설명에도 동일하게 적용될 수 있다.
도 15를 참조하면, 단계S11에서는 본 로그 교환 장치(100)가 설치된 개방사이트에서 제공하는 로그(활용로그, 로그데이터)에 로그교환프로토콜의 표준 규격을 적용하여 개방로그 DB에 저장할 수 있다.
이때, 단계S11에서는 로그정제 모듈이 데이터 활용 로그 API와 연동되는 개방활용로그 및 데이터 추천 로그 API와 연동되는 개방활용추천로그를 개방로그 DB에 저장할 수 있다.
또한, 단계S11에서는 로그정제 모듈이 데이터 활용 로그 API 및 상기 데이터 추천 로그 API에 대한 접속 테스트를 수행하고, 수행 결과에 따라 접속 테스트가 수행된 로그 교환 장치의 작동 상태를 관리할 수 있다.
다음으로, 단계S12에서는 타 개방사이트의 로그개방을 요청하는 개방신청 메시지를 타 개방사이트에 대응하는 요청 장치에 전송하고, 전송된 개방신청 메시지에 응답하여 요청 장치로부터 획득된 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지를 로그개방신청 DB에 저장하고 관리할 수 있다.
여기서, 요청 장치는 복수의 타 개방사이트에 대응하는 복수의 로그 교환 장치 중 적어도 하나의 로그 교환 장치일 수 있다.
또한, 단계S12에서는 로그개방신청 모듈이, 로그 교환 장치의 작동 상태가 작동 가능 상태(E)인 것으로 판단되는 경우, 로그 교환 장치가 설치된 개방사이트(포털사이트) 상에 요청 장치의 로그개방을 요청하기 위한 개방신청 메시지의 입력이 가능한 인터페이스부를 제공할 수 있다.
또한, 단계S12에서는 로그개방신청 모듈이, 로그개방 승인 여부 관련 정보에 로그개방을 승인하는 정보(Y)가 포함되어 있는 경우, 요청 장치에 의하여 호출된 개방 승인 API에 응답하여 요청 장치로부터 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지를 획득할 수 있다.
다음으로, 단계S13에서는 로그개방신청 DB에 저장된 데이터를 고려하여 스케줄링된 미리 설정된 시간에, 로그 수집을 위해 요청 장치에 데이터 활용 로그 API와 데이터 추천 로그 API를 호출하고, 호출에 응답된 로그를 수집하여 수집개방로그 DB에 저장할 수 있다.
또한, 단계S13에서는 로그 수집 모듈이, 수집개방로그 DB에 저장되는 로그의 중복 저장을 방지하기 위해, 호출에 응답된 로그에 대응하는 기 저장된 로그를 삭제한 후 호출에 응답된 로그를 저장할 수 있다.
또한, 도면에 도시되지는 않았으나, 본원의 일 실시예에 따른 로그 교환 장치를 통한 로그 교환 방법은 요청 장치로부터 데이터 활용 로그 API와 데이터 추천 로그 API가 호출되면 상기 호출에 응답된 로그를 요청 장치로 제공하는 단계를 포함할 수 있다.
또한, 도면에 도시되지는 않았으나, 본원의 일 실시예에 따른 로그 교환 장치를 통한 로그 교환 방법은, 로그 분석 모듈이, 수집개방로그 DB 및 상기 개방로그 DB 중 적어도 하나에 저장된 로그를 이용하여 수집된 분석데이터를 분석 마트 DB에 저장하고, 분석데이터를 기반으로 한 기계학습을 통해 공공데이터를 추천하는 단계를 포함할 수 있다.
이때, 추천하는 단계에서는, 로그 분석 모듈이 수집개방로그 DB 및 개방로그 DB 중 적어도 하나에 저장된 로그에 대응하는 공공데이터에 연관성 분석 알고리즘을 적용하여 공공데이터간 연관성 분석 결과를 산출하고, 산출된 공공데이터간 연관성 분석 결과를 분석데이터로서 분석 마트 DB에 저장할 수 있다.
또한, 추천하는 단계에서는, 로그 분석 모듈이 수집개방로그 DB 및 개방로그 DB 중 적어도 하나에 저장된 로그에 대하여 미리 설정된 기록 항목 유형별 활용수와 추천점수를 산출하고, 산출된 기록 항목 유형별 활용수와 추천점수를 분석데이터로서 분석 마트 DB에 저장할 수 있다.
또한, 추천하는 단계에서는, 로그 분석 모듈이 수집개방로그 DB 및 개방로그 DB 중 적어도 하나에 저장된 로그에 대응하는 공공데이터에 선호값을 부여하고, 부여된 선호값을 분석데이터로서 분석 마트 DB에 저장할 수 있다.
또한, 추천하는 단계에서는, 로그 분석 모듈이 개방사이트의 공공데이터에 기반한 제1 공공데이터 추천 유형 및 개방사이트의 공공데이터와 타 개방사이트의 공공데이터에 기반한 제2 공공데이터 추천 유형 중 어느 하나를 선택하는 사용자 입력 메뉴를 상기 개방사이트 상에 제공하고, 사용자 입력 메뉴를 통해 선택된 추천 유형으로 공공데이터를 추천할 수 있다.
상술한 설명에서, 단계 S11 내지 S13은 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
본원의 일 실시 예에 따른 로그 교환 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 사업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 전술한 로그 교환 방법은 기록 매체에 저장되는 컴퓨터에 의해 실행되는 컴퓨터 프로그램 또는 애플리케이션의 형태로도 구현될 수 있다.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.
100, 200, 300, 400, 500, 600: 로그 교환 장치
110: 로그정제 모듈
130: 로그개방신청 모듈
150: 로그 수집 모듈
170: 로그 분석 모듈

Claims (14)

  1. 로그 교환 장치에 있어서,
    상기 로그 교환 장치가 설치된 개방사이트에서 제공하는 공공데이터 관련 로그에 로그교환프로토콜의 표준 규격을 적용하여 개방로그 DB에 저장하는 로그정제 모듈;
    타 개방사이트의 로그개방을 요청하는 개방신청 메시지를 요청 장치에 전송하고, 전송된 상기 개방신청 메시지에 응답하여 상기 요청 장치로부터 획득된 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지를 로그개방신청 DB에 저장하고 관리하는 로그개방신청 모듈; 및
    상기 로그개방신청 DB에 저장된 데이터를 고려하여 스케줄링된 미리 설정된 시간에, 로그 수집을 위해 상기 요청 장치에 데이터 활용 로그 API와 데이터 추천 로그 API를 호출하고, 호출에 응답된 상기 요청 장치가 설치된 타 개방사이트의 공공데이터 관련 로그를 수집하여 수집개방로그 DB에 저장하거나, 상기 요청 장치로부터 데이터 활용 로그 API와 데이터 추천 로그 API가 호출되면 상기 호출에 응답된 로그를 상기 요청 장치로 제공하는 로그 수집 모듈을 포함하고,
    상기 요청 장치는 복수의 타 개방사이트에 대응하는 복수의 로그 교환 장치 중 적어도 하나이고,
    상기 로그 교환 장치는,
    상기 수집개방로그 DB에 저장된 적어도 하나의 타 개방사이트로부터 획득된 타 개방사이트의 공공데이터 관련 로그 및 상기 개방로그 DB에 저장된 상기 개방사이트로부터 획득된 상기 개방사이트의 공공데이터 관련 로그를 이용하여 수집된 분석데이터를 분석 마트 DB에 저장하고, 상기 분석데이터를 기반으로 한 기계학습을 통해 공공데이터를 추천하는 로그 분석 모듈을 더 포함하며,
    상기 로그 분석 모듈은,
    상기 개방사이트의 공공데이터 관련 로그를 기반으로 한 제1 공공데이터 추천 유형 및 상기 개방사이트의 공공데이터 관련 로그와 상기 타 개방사이트의 공공데이터 관련 로그가 모두 고려된 통합 로그를 기반으로 한 제2 공공데이터 추천 유형 중 어느 하나를 선택하는 사용자 입력 메뉴를 상기 개방사이트 상에 제공하고, 상기 사용자 입력 메뉴를 통해 선택된 추천 유형으로 공공데이터를 추천하는 것인, 로그 교환 장치.
  2. 제1항에 있어서,
    상기 로그정제 모듈은,
    데이터 활용 로그 API와 연동되는 개방활용로그 및 데이터 추천 로그 API와 연동되는 개방활용추천로그를 상기 개방로그 DB에 저장하는 것인, 로그 교환 장치.
  3. 제2항에 있어서,
    상기 로그정제 모듈은,
    상기 데이터 활용 로그 API 및 상기 데이터 추천 로그 API에 대한 접속 테스트를 수행하고, 수행 결과에 따라 접속 테스트가 수행된 상기 로그 교환 장치의 작동 상태를 관리하는 것인, 로그 교환 장치.
  4. 제1항에 있어서,
    상기 로그개방신청 모듈은,
    상기 로그 교환 장치의 작동 상태가 작동 가능 상태인 것으로 판단되는 경우, 상기 개방사이트 상에 상기 개방신청 메시지의 입력이 가능한 인터페이스부를 제공하는 것인, 로그 교환 장치.
  5. 제1항에 있어서,
    상기 로그개방신청 모듈은,
    상기 로그개방 승인 여부 관련 정보에 로그개방을 승인하는 정보가 포함되어 있는 경우 상기 요청 장치에 의하여 호출된 개방 승인 API에 응답하여 상기 요청 장치로부터 상기 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지를 획득하는 것인, 로그 교환 장치.
  6. 제1항에 있어서,
    상기 로그 수집 모듈은,
    상기 수집개방로그 DB에 저장되는 로그의 중복 저장을 방지하기 위해, 상기 호출에 응답된 로그에 대응하는 기 저장된 로그를 삭제한 후 상기 호출에 응답된 로그를 저장하는 것인, 로그 교환 장치.
  7. 삭제
  8. 제1항에 있어서,
    상기 로그 분석 모듈은,
    상기 수집개방로그 DB 및 상기 개방로그 DB 중 적어도 하나에 저장된 로그에 대응하는 공공데이터에 연관성 분석 알고리즘을 적용하여 공공데이터간 연관성 분석 결과를 산출하고, 산출된 공공데이터간 연관성 분석 결과를 상기 분석데이터로서 상기 분석 마트 DB에 저장하는 것인, 로그 교환 장치.
  9. 제1항에 있어서,
    상기 로그 분석 모듈은,
    상기 수집개방로그 DB 및 상기 개방로그 DB 중 적어도 하나에 저장된 로그에 대하여 미리 설정된 기록 항목 유형별 활용수와 추천점수를 산출하고, 산출된 기록 항목 유형별 활용수와 추천점수를 상기 분석데이터로서 상기 분석 마트 DB에 저장하는 것인, 로그 교환 장치.
  10. 제1항에 있어서,
    상기 로그 분석 모듈은,
    상기 수집개방로그 DB 및 상기 개방로그 DB 중 적어도 하나에 저장된 로그에 대응하는 공공데이터에 선호값을 부여하고, 부여된 선호값을 상기 분석데이터로서 상기 분석 마트 DB에 저장하는 것인, 로그 교환 장치.
  11. 삭제
  12. 로그 교환 장치를 통한 로그 교환 방법에 있어서,
    상기 로그 교환 장치가 설치된 개방사이트에서 제공하는 공공데이터 관련 로그에 로그교환프로토콜의 표준 규격을 적용하여 개방로그 DB에 저장하는 단계;
    타 개방사이트의 로그개방을 요청하는 개방신청 메시지를 요청 장치에 전송하고, 전송된 상기 개방신청 메시지에 응답하여 상기 요청 장치로부터 획득된 로그개방 승인 여부 관련 정보가 반영된 개방신청 메시지를 로그개방신청 DB에 저장하고 관리하는 단계; 및
    상기 로그개방신청 DB에 저장된 데이터를 고려하여 스케줄링된 미리 설정된 시간에, 로그 수집을 위해 상기 요청 장치에 데이터 활용 로그 API와 데이터 추천 로그 API를 호출하고, 호출에 응답된 상기 요청 장치가 설치된 타 개방사이트의 공공데이터 관련 로그를 수집하여 수집개방로그 DB에 저장하는 단계를 포함하고,
    상기 요청 장치는 복수의 타 개방사이트에 대응하는 복수의 로그 교환 장치 중 적어도 하나이고,
    상기 로그 교환 방법은,
    상기 수집개방로그 DB에 저장된 적어도 하나의 타 개방사이트로부터 획득된 타 개방사이트의 공공데이터 관련 로그 및 상기 개방로그 DB에 저장된 상기 개방사이트로부터 획득된 상기 개방사이트의 공공데이터 관련 로그를 이용하여 수집된 분석데이터를 분석 마트 DB에 저장하고, 상기 분석데이터를 기반으로 한 기계학습을 통해 공공데이터를 추천하는 단계를 더 포함하며
    상기 추천하는 단계는,
    상기 개방사이트의 공공데이터 관련 로그를 기반으로 한 제1 공공데이터 추천 유형 및 상기 개방사이트의 공공데이터 관련 로그와 상기 타 개방사이트의 공공데이터 관련 로그가 모두 고려된 통합 로그를 기반으로 한 제2 공공데이터 추천 유형 중 어느 하나를 선택하는 사용자 입력 메뉴를 상기 개방사이트 상에 제공하고, 상기 사용자 입력 메뉴를 통해 선택된 추천 유형으로 공공데이터를 추천하는 것인, 로그 교환 방법.
  13. 제12항에 있어서,
    상기 요청 장치로부터 데이터 활용 로그 API와 데이터 추천 로그 API가 호출되면 상기 호출에 응답된 로그를 상기 요청 장치로 제공하는 단계,
    를 더 포함하는 로그 교환 방법.
  14. 제12항 또는 13항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터에서 판독 가능한 기록매체.
KR1020180018498A 2018-02-14 2018-02-14 기계학습 기반 공공데이터 추천을 위한 로그 교환 방법 KR101964450B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180018498A KR101964450B1 (ko) 2018-02-14 2018-02-14 기계학습 기반 공공데이터 추천을 위한 로그 교환 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180018498A KR101964450B1 (ko) 2018-02-14 2018-02-14 기계학습 기반 공공데이터 추천을 위한 로그 교환 방법

Publications (1)

Publication Number Publication Date
KR101964450B1 true KR101964450B1 (ko) 2019-04-01

Family

ID=66104672

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180018498A KR101964450B1 (ko) 2018-02-14 2018-02-14 기계학습 기반 공공데이터 추천을 위한 로그 교환 방법

Country Status (1)

Country Link
KR (1) KR101964450B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990362A (zh) * 2019-11-15 2020-04-10 浙江大搜车软件技术有限公司 日志查询处理方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295303A (ja) * 2003-03-26 2004-10-21 Nri & Ncc Co Ltd ログ収集管理システム、ログ収集管理方法およびコンピュータプログラム
KR20090123398A (ko) * 2008-05-28 2009-12-02 경희대학교 산학협력단 상품 추천 서비스 제공 시스템 및 방법
JP2011508925A (ja) * 2007-12-28 2011-03-17 アマゾン テクノロジーズ インコーポレーテッド 行動関連性のウィジェット支援による検出および公表
KR20150113370A (ko) * 2014-03-28 2015-10-08 에스케이플래닛 주식회사 개인화된 광고를 사용자 장치에 타겟팅하는 광고 서비스 장치, 개인화된 광고를 수신하는 사용자 장치, 개인화된 광고를 사용자 장치에 타겟팅하는 방법 및 컴퓨터 프로그램이 기록된 기록매체
KR20160006467A (ko) * 2014-07-09 2016-01-19 에스케이플래닛 주식회사 데이터수집관리 서비스 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295303A (ja) * 2003-03-26 2004-10-21 Nri & Ncc Co Ltd ログ収集管理システム、ログ収集管理方法およびコンピュータプログラム
JP2011508925A (ja) * 2007-12-28 2011-03-17 アマゾン テクノロジーズ インコーポレーテッド 行動関連性のウィジェット支援による検出および公表
KR20090123398A (ko) * 2008-05-28 2009-12-02 경희대학교 산학협력단 상품 추천 서비스 제공 시스템 및 방법
KR20150113370A (ko) * 2014-03-28 2015-10-08 에스케이플래닛 주식회사 개인화된 광고를 사용자 장치에 타겟팅하는 광고 서비스 장치, 개인화된 광고를 수신하는 사용자 장치, 개인화된 광고를 사용자 장치에 타겟팅하는 방법 및 컴퓨터 프로그램이 기록된 기록매체
KR20160006467A (ko) * 2014-07-09 2016-01-19 에스케이플래닛 주식회사 데이터수집관리 서비스 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990362A (zh) * 2019-11-15 2020-04-10 浙江大搜车软件技术有限公司 日志查询处理方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
JP5356403B2 (ja) モバイル環境におけるユーザプロファイル更新を用いた短距離通信トランザクション
US6151584A (en) Computer architecture and method for validating and collecting and metadata and data about the internet and electronic commerce environments (data discoverer)
CN102859516B (zh) 使用历史搜索结果生成改进的文档分类数据
US9524355B2 (en) Methods for delivering task-related digital content based on task-oriented user activity
CN108805694B (zh) 信贷咨询服务方法、装置、设备及计算机可读存储介质
US20090024614A1 (en) Systems and methods for online content searching
US7853562B2 (en) System and method for obtaining information from a data management system
US20050033734A1 (en) Performance prediction system with query mining
US20020161671A1 (en) Information presentation method and device
US20110010415A1 (en) Personal information bank system
JP2008513887A (ja) 推奨リンクを自動生成するための方法および装置
US11373232B2 (en) Dynamic ranking of recommendation pairings
KR100615679B1 (ko) 회원으로 등록된 다양한 정보제공자 중 사용자에 의해지정된 특정 정보제공자의 정보를 실시간으로 사용자에게제공하는 방법
CN107767153A (zh) 一种数据处理方法及装置
KR100836877B1 (ko) 연구개발 환경정보를 이용한 미래 시그널 및 이슈 도출시스템 및 그 방법
JP2006053616A (ja) サーバ装置、webサイト推奨方法およびプログラム
WO2001055909A1 (en) System and method for bookmark management and analysis
KR101964450B1 (ko) 기계학습 기반 공공데이터 추천을 위한 로그 교환 방법
JP6637174B2 (ja) スマート端末を用いる数字列基盤のリアルタイム情報流通システム及び情報流通方法
KR20020092540A (ko) 메신저를 이용한 맞춤정보 제공 방법 및 시스템
US20230034571A1 (en) Customized Merchant Price Ratings
KR102323153B1 (ko) 고객의 무의식 영역에 기반하여 의사결정 지원자료를 제공하는 의사결정 지원서버 및 그 의사결정 지원방법
KR101648470B1 (ko) 스마트 단말을 이용하는 코드 및 키워드 기반의 실시간 정보 유통 시스템 및 정보 유통 방법
KR20220125443A (ko) 마케팅 데이터베이스를 포함한 온라인 쇼핑몰 중개 시스템
JP2002189647A (ja) 情報収集提供システム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant