KR102366871B1 - 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버 및 방법 - Google Patents

클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버 및 방법 Download PDF

Info

Publication number
KR102366871B1
KR102366871B1 KR1020210121360A KR20210121360A KR102366871B1 KR 102366871 B1 KR102366871 B1 KR 102366871B1 KR 1020210121360 A KR1020210121360 A KR 1020210121360A KR 20210121360 A KR20210121360 A KR 20210121360A KR 102366871 B1 KR102366871 B1 KR 102366871B1
Authority
KR
South Korea
Prior art keywords
data
caching
recommendation
service unit
request
Prior art date
Application number
KR1020210121360A
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 KR1020210121360A priority Critical patent/KR102366871B1/ko
Application granted granted Critical
Publication of KR102366871B1 publication Critical patent/KR102366871B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버 및 방법에 있어서, 본 발명에 따른 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버는, AI(Artificial Intelligence) 캐싱 데이터 추천 모델을 생성하고 캐싱할 데이터 정보를 추천하는 추천 서비스부; 상기 AI 캐싱 데이터 추천 모델을 생성하기 위해서 학습되는 요청 로그 데이터의 데이터 속성 및 캐싱할 데이터 정보가 저장된 데이터베이스의 데이터 속성을 정의하고 개발자가 앱 개발을 위해서 사용하는 API(Application Programming Interface)를 생성하는 모델링 서비스부; 상기 모델링 서비스부에서 생성된 API를 기반으로 개발자 단말기로부터 로그 데이터의 속성 및 캐싱할 데이터의 속성을 정의하기 위한 데이터 모델링 요청을 받아 상기 모델링 서비스부와 추천서비스부에 전달하는 SDK 서비스부; 사용자 단말기가 앱 개발자에 의해서 정의되어 생성된 상기 API를 통해 데이터를 요청하는 API서비스부; 및 상기 API서비스부에 의해 요청된 데이터를 캐시를 통해 제공할 수 있도록 캐싱할 데이터 정보가 저장된 DB(데이터베이스) 및 상기 AI 캐싱 데이터 추천 모델을 생성하는 추천 서비스부와 연동하여 선택적으로 상기 요청된 데이터를 캐싱하는 캐싱 서비스부;를 포함하고, 상기 API 서비스부는 상기 캐싱 서비스부에 의해 제공되는 데이터를 상기 사용자 단말기로 전송할 수 있다.

Description

클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버 및 방법{ Intelligent Data Caching Recommendation Server of Cloud-based Mobile BaaS and method thereof}
본 발명은 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버 및 방법에 관한 것으로서, 보다 상세하게는, 클라우드 기반으로 캐싱 추천 모델을 생성하고 캐싱 정책을 자동으로 업데이트하여 제공할 수 있는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버 및 방법에 관한 것이다.
모바일 BaaS(Backend as a Service)는 백엔드기능을 클라우드 컴퓨팅 서비스 형태로 제공해주는 것을 말한다. 개발자는 BaaS 솔루션을 통해서 서버기술관련 경험이 없을 경우에도 그 환경에 연결되는 모바일 앱을 만들 수 있게 되어 초기 투자비를 크게 줄이고 핵심 서비스 영역에 역량을 집중할 수 있도록 하며, 이용자 변화에 유연한 대처가 가능하게 되어 기술적 위험을 최소화할 수 있다. 
모바일 BaaS에서 모바일 사용자의 반복적인 요청에 의한 데이터베이스 부하로 인하여 클라우드 비용이 급격히 증가하기 때문에 이를 줄이기 위해서는 서버기술에 경험이 없는 개발자라 하더라도 코딩을 통해서 별도의 기능을 개발하여 부하를 줄여야 한다. 그러나 서버기술 미보유 개발자는 데이터베이스에 부하를 주는 요청데이터의 종류를 설계단계에서 미리 분석하여 정의하기 어렵고, 캐싱이 필요없는 데이터베이스에 부하를 주지 않는 데이터까지 무분별하게 캐싱 하게 된다.
또한, 서버기술 미보유 개발자가 모바일 앱의 기능이 추가되거나 사용자의 행동 변화에 따라 캐싱의 중요도가 높아지는 요청과 캐싱에서 제외해야 할 대상에 대하여 지속적으로 튜닝하고 보완 하는 것은 무척 어려운 것이 일반적이다.
현재 대중적인 BaaS의 경우는 데이터베이스의 부하를 최적화 하는데 필수적인 데이터 캐싱을 자동화하는 기능이 빠져 있기 때문에 상용서비스로 제공 시 사용자가 많은 모바일 앱을 런칭할 경우 클라우드 비용이 급격하게 높아지고 성능은 급격히 저하된다.
또한, 요청데이터의 분석을 통해서 캐싱대상을 검출하고 적용하는 과정을 자동화하기 위해서 인공지능 기반으로 데이터베이스에 부하를 주는 요청데이터를 검출하려고 하여도 모바일 앱의 기능이 추가되거나 다양한 사용자의 행동 변화에 따라 자주 달라지는 모바일 데이터의 특성으로 인해서 데이터의 속성이 달라질 때마다 새로운 인공지능 모델을 설계하고 모델의 파라미터 최적화 과정을 수행하여야 하기 때문에 데이터베이스 최적화를 위한 비용이 급격히 증가된다.
국내 등록특허 제10-2042431호(2019.11.04. 등록)
전술한 문제점을 해결하기 위하여 본 발명이 이루고자 하는 기술적 과제는, 클라우드 기반의 모바일 BaaS 시스템에서 대표적인 AutoML 방법인 NAS 또는 NASNet 기술을 이용하여 캐싱 추천 모델을 자동으로 생성하고, 캐싱 정책을 자동 또는 수동으로 업데이트하는 캐싱 서비스를 클라우드 컴퓨팅 플랫폼 기반으로 제공할 수 있도록 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버 및 방법을 제시하는 데 있다.
본 발명의 해결과제는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 해결과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 기술적 과제를 해결하기 위한 수단으로서, 본 발명의 실시 예에 따른 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버는, AI(Artificial Intelligence) 캐싱 데이터 추천 모델을 생성하고 캐싱할 데이터 정보를 추천하는 추천 서비스부; 상기 AI 캐싱 데이터 추천 모델을 생성하기 위해서 학습되는 요청 로그 데이터의 데이터 속성 및 캐싱할 데이터 정보가 저장된 데이터베이스의 데이터 속성을 정의하고 개발자가 앱 개발을 위해서 사용하는 API(Application Programming Interface)를 생성하는 모델링 서비스부; 상기 모델링 서비스부에서 생성된 API를 기반으로 개발자 단말기로부터 로그 데이터의 속성 및 캐싱할 데이터의 속성을 정의하기 위한 데이터 모델링 요청을 받아 상기 모델링 서비스부와 추천서비스부에 전달하는 SDK 서비스부; 사용자 단말기가 앱 개발자에 의해서 정의되어 생성된 상기 API를 통해 데이터를 요청하는 API서비스부; 및 상기 API서비스부에 의해 요청된 데이터를 캐시를 통해 제공할 수 있도록 캐싱할 데이터 정보가 저장된 데이터베이스 및 상기 AI 캐싱 데이터 추천 모델을 생성하는 추천 서비스부와 연동하여 선택적으로 상기 데이터를 캐싱하는 캐싱 서비스부;를 포함하고, 상기 API 서비스부는 상기 캐싱 서비스부에 의해 제공되는 데이터를 상기 사용자 단말기로 전송할 수 있다.
상기 추천 서비스부는, 다수의 사용자 단말기들의 요청에 의해 발생한 요청 로그를 기반으로 학습하여 상기 AI 캐싱 데이터 추천 모델을 자동으로 업데이트할 수 있다.
상기 추천 서비스부는, 상기 개발자 단말기로부터 수신되는 신규 캐싱데이터의 추가 정책 및 기존 캐싱 데이터의 삭제 정책을 상기 캐싱 추천 모델에 반영하여 업데이트 할 수 있다.
상기 SDK 서비스부는, 상기 개발자 단말기에 의해 배포되는 앱과 관련된 데이터 속성 정의에 필요한 데이터 모델링 요청을 수신하고, 상기 모델링 서비스부는, 상기 SDK 서비스부가 수신한 데이터 모델링 요청 정보를 기반으로, 사용자 단말기와 송수신할 데이터를 저장하기 위한 데이터 속성에 대응되는 데이터 스키마를 생성하여 DB에 저장하고, 사용자 단말기를 통해 요청되는 요청 로그 정보를 저장하기 위한 요청 로그의 데이터 속성을 설정하고, 상기 추천 서비스부는, 상기 사용자 단말기를 통해 입력되는 요청 로그의 데이터 속성 정보를 기반으로 상기 AI 캐싱 데이터 추천 모델을 생성할 수 있다.
상기 캐싱 서비스부는, 상기 사용자 단말기로부터 상기 앱 개발자에 의해 배포된 앱의 API를 통해 데이터 요청이 수신되면, 상기 요청된 데이터가 캐시에 미존재하는 경우 DB로부터 상기 요청된 데이터를 읽어오고, 상기 캐시에 상기 DB로부터 데이터를 읽어오고, 상기 추천 서비스부에 데이터 요청에 대한 캐싱 정책을 요청하여 수신한 캐싱정책에 따라 캐시에 캐싱한 후 상기 API 서비스부로 전달하고, 상기 API 서비스부는, 상기 캐싱 서비스부와 상기 캐시로부터 전달받은 데이터를 상기 사용자 단말기로 전송할 수 있다.
상기 캐싱 서비스부는, 다수의 사용자 단말기들로부터 수신되는 데이터 요청과 관련된 요청 로그를 생성하도록 상기 추천 서비스부에게 요청하고, 상기 추천 서비스부는, 상기 캐싱 서비스의 요청에 따라 데이터 요청과 관련된 로그를 생성한 후 전처리하여 학습용 데이터를 생성하고, 상기 생성된 학습용 데이터를 이용하여 최적의 AI 캐싱 추천 모델을 탐색 및 최적화하여 배포할 수 있다.
상기 추천 서비스부는, 상기 개발자 단말기로부터 상기 SDK 서비스부를 통해서 캐싱 추천리스트 요청이 수신되면 상기 배포된 AI 캐싱 추천 모델로 부터 추천받은 캐싱 추천리스트를 SDK 서비스부를 통해서 개발자 단말기에게 제공하고, 상기 개발자 단말기로부터 SDK 서비스부를 통하여 신규로 추가하거나 삭제할 캐싱 정책을 수신하면, 상기 수신된 캐싱 정책을 상기 추천 서비스부에 반영할 수 있다.
상기 추천 서비스부는, 상기 캐싱 서비스부를 통해 다수의 사용자 단말기들로부터 수신되는 데이터 요청과 관련된 로그가 생성되는 로깅부; 모델링 서비스부로부터 입력되는 데이터 속성 정보, 클라이언트 요청 로그, 로깅부에서 생성되는 다수의 로그를 저장하는 데이터 저장부; 캐싱 추천 모델을 생성하기 위해서 학습하는데 필요한 로깅의 속성을 모델링 서비스로부터 요청받아서 정의하는 검색엔진; 상기 검색엔진에 정의된 로깅 속성을 기반으로 생성된 로우데이터를 전처리하는 데이터 전처리부; 상기 전처리된 데이터를 기반으로 학습하여 최적의 캐싱 추천 모델을 자동으로 탐색하는 모델 탐색부; 상기 모델 탐색부에서 탐색된 캐싱 추천 모델의 파라미터를 최적화하여 캐싱 추천 모델이 생성되면 캐싱 추천부에 배포하는 모델 최적화부; 및 상기 개발자 단말기로부터 상기 SDK 서비스부를 통해서 캐싱 추천리스트 요청이 수신되면 상기 배포된 AI 캐싱 추천 모델로 부터 추천받은 캐싱 추천리스트를 SDK 서비스부를 통해서 개발자 단말기에게 제공하고, 상기 개발자 단말기로부터 SDK 서비스부를 통해서 신규로 추가하거나 삭제할 캐싱 정책을 수신하면, 상기 수신된 요청을 캐싱 정책에 반영한 후 상기 캐싱 서비스부로부터 데이터에 대한 캐싱정책을 요청받으면 캐싱 서비스부에 캐싱정책을 제공하는 캐싱 추천부;를 구비할 수 있다.
본 발명의 다른 실시예에 따른 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 방법은, (A) 개발자 단말기가 클라우드 기반 모바일 BaaS(Backend as a Service)의 지능형 데이터 캐싱 추천 서버에 데이터 모델링을 요청하면 상기 지능형 데이터 캐싱 추천 서버가 데이터 모델링을 수행하고 앱 개발을 위해 사용하는 API(Application Programming Interface)를 생성하여 개발자 단말기에게 전송하는 단계; 및 (B) 사용자 단말기가 앱 개발자에 의해 배포된 상기 API를 통해 데이터를 요청하면, 상기 지능형 데이터 캐싱 추천 서버가, 캐시에 상기 요청된 데이터의 존재 여부를 확인하고, 상기 캐시에 요청된 데이터가 존재하지 않는 경우에 상기 AI 캐싱 데이터 추천 모델의 캐싱 정책에 따라 선택적으로 상기 데이터에 대한 캐싱서비스를 수행하여 상기 요청된 데이터를 사용자 단말기로 전송하는 단계;를 포함할 수 있다.
본 발명의 다른 실시예에 따른 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 방법은, (C) 상기 지능형 데이터 캐싱 추천 서버가, 다수의 사용자 단말기들의 요청에 의해 발생한 로그를 기반으로 상기 (A) 단계에서 생성된 AI 캐싱 데이터 추천 모델과 캐싱 정책을 자동으로 업데이트하는 단계;를 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 방법은, (D) 상기 지능형 데이터 캐싱 추천 서버가, 상기 개발자 단말기로부터 수신되는 신규 캐싱 대상의 추가 요청 및 기존 캐싱 대상의 삭제 요청을 상기 AI캐싱 데이터 추천 모델에 반영하는 단계;를 더 포함할 수 있다.
상기 (A) 단계는, (A1) 개발자 단말기가 데이터 속성을 정의하기 위한 데이터 속성정보 및 데이터 모델링 생성요청을 받아 SDK서비스부를 통해 모델링 서비스부에 전달하는 단계; (A2) 상기 지능형 데이터 캐싱 추천 서버가, 상기 데이터 속성 정보를 기반으로 클라이언트와 송수신할 데이터를 저장하기 위한 DB 스키마를 생성하여 DB에 저장하는 단계; (A3) 상기 지능형 데이터 캐싱 추천 서버가, 모델링 서비스부를 통해 데이터 속성 정보를 기반으로 다수의 사용자 단말기들로 부터 요청되는 다수의 로그들의 속성을 정의함과 동시에 상기 사용자 단말기들과 AI 캐싱 데이터 추천 모델이 통신하기 위한 API를 생성하여 데이터 모델링 결과와 함께 상기 개발자 단말기로 전송하는 단계;를 포함하고, 상기 개발자 단말기는, 개발한 앱에 상기 AI 캐싱 데이터 추천 모델을 사용할 수 있는 API를 추가하여 배포할 수 있다.
상기 (B) 단계는, (B1) 상기 지능형 데이터 캐싱 추천 서버가, 상기 사용자 단말기로부터 상기 앱 개발자에 의해 배포된 앱의 API를 통해 데이터 요청이 수신되면, 캐시에 상기 요청된 데이터가 존재하는지 판단하는 단계; (B2) 상기 지능형 데이터 캐싱 추천 서버가, 상기 (B1) 단계에서 상기 요청된 데이터가 캐시에 존재하는 것으로 판단되면, 캐시로부터 상기 요청된 데이터를 캐싱하여 상기 API를 통해 사용자 단말기로 전송하는 단계; (B3) 상기 지능형 데이터 캐싱 추천 서버가, 상기 (B1) 단계에서 상기 요청된 데이터가 캐시에 미존재하는 것으로 판단되면, DB로부터 상기 사용자 단말기가 요청한 데이터를 읽어오는 단계; (B4) 상기 지능형 데이터 캐싱 추천 서버가, 상기 AI 캐싱 추천 모델에게 상기 요청된 데이터가 캐싱 대상인지 질의하는 단계; 및 (B5) 상기 지능형 데이터 캐싱 추천 서버가, 상기 (B4) 단계의 질의 결과 캐싱 대상인 것으로 확인되면 상기 캐시에 상기 요청된 데이터를 캐싱하고, 상기 API를 통해 사용자 단말기로 요청된 데이터를 전송하는 단계;를 포함할 수 있다.
상기 (C) 단계는, (C1) 상기 지능형 데이터 캐싱 추천 서버가, 다수의 사용자 단말기들로부터 데이터 요청이 수신되면, 상기 수신된 데이터 요청과 관련된 로그를 생성하는 단계; (C2) 상기 지능형 데이터 캐싱 추천 서버가, 상기 (C1) 단계에서 생성되는 로그를 전처리하여 학습용 데이터를 생성하는 단계; (C3) 상기 지능형 데이터 캐싱 추천 서버가, 상기 학습용 데이터를 이용하여 최적의 AI 캐싱 데이터 추천 모델을 탐색하고 최적화하는 단계; 및 (C4) 상기 지능형 데이터 캐싱 추천 서버가, 상기 탐색한 AI 캐싱 데이터 추천 모델을 배포하는 단계;를 포함할 수 있다.
상기 (D) 단계는, (D1) 상기 지능형 데이터 캐싱 추천 서버가, 상기 API를 통해 접속한 개발자 단말기에게 상기 AI 캐싱 데이터 추천 모델을 통하여 추천받은 캐싱 추천리스트를 제공하는 단계; 및 (D2) 상기 개발자 단말기를 통해 앱 개발자가 수동으로 상기 캐싱 추천리스트의 신규로 추가할 캐싱 대상 및 기존 캐싱 대상의 삭제를 요청하면, 요청에 따라 캐싱 정책 및 AI 데이터 추천 모델에 반영하는 단계;를 포함할 수 있다.
본 발명에 따르면, 데이터 캐싱 기능을 제공하기 위해 BaaS 기반의 클라우드에서 다수의 사용자로부터 요청되는 대용량의 요청로그를 학습하여 최적의 캐싱 추천 모델을 생성하고 캐싱 대상을 자동으로 추천할 수 있다. 이로써, BaaS의 경우는 종래기술의 데이터베이스 최적화에 필수적인 데이터 캐싱기능 기능이 빠져 있기 때문에 상용서비스로 제공 시 사용자가 많은 모바일 앱을 런칭할 경우 데이터베이스 부하로 인하여 클라우드 비용이 급격하게 높아지고 성능이 급격히 저하되는 문제를 해결하기 위한 최적의 캐싱정책을 반영하는 것이 가능하다.
또한, 본 발명에 따르면, 서버기술 미보유 개발자가 모바일 BaaS 솔루션의 최적의 인공지능 캐싱 추천 모델로 부터 자동으로 추천받은 캐싱 대상을 별도의 코딩없이 캐싱정책을 백엔드에 반영하도록 하여 데이터베이스 부하를 최소화시킬 수 있다.
또한, 본 발명에 따르면, BaaS 솔루션으로부터 추천받은 캐싱대상에 대한 캐싱 정책을 웹화면이나 SDK를 통하여 설정하도록 하여 서로 반비례 관계에 있는 캐싱 서비스의 클라우드 비용과 데이터베이스의 클라우드 비용을 조절하여 최적의 백엔드 기능을 구축할 수 있도록 하는 효과가 있다.
또한, 본 발명에 따르면, 데이터의 모델링 속성이 달라지더라도 새롭게 정의된 데이터 속성을 스스로 학습하여 자동으로 최적의 인공지능 모델을 탐색하고 캐싱 대상을 추천해 줌으로써 데이터의 속성이 달라질 때마다 새롭게 인공지능 캐싱 추천모델을 설계하고 파라미터를 최적화하는 비용을 최소화할 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시 예에 따른 클라우드 기반 모바일 BaaS(Backend as a Service)의 지능형 데이터 캐싱 추천 시스템을 도시한 도면,
도 2는 앱 개발자가 개발하는 앱에서 입력되는 데이터 속성 정보의 일 예를 보여주는 도면,
도 3은 모델링 서비스부(220)의 모델링 서비스를 자세히 설명하기 위한 도면,
도 4는 캐싱 서비스부(240)의 캐싱 서비스를 자세히 설명하기 위한 도면,
도 5는 본 발명의 다른 실시 예에 따른 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 방법을 설명하기 위한 흐름도,
도 6은 도 5의 S505단계 내지 S520단계의 모델링 서비스를 자세히 도시한 흐름도,
도 7은 도 5의 S530단계 내지 S540단계의 캐싱 서비스를 자세히 도시한 흐름도,
도 8은 도 5의 S545단계 내지 S570단계의 추천 서비스 및 매뉴얼 서비스를 자세히 도시한 흐름도, 그리고,
도 9는 본 발명의 실시 예에 따른 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 방법을 실행하는 컴퓨팅 시스템을 보여주는 블록도이다.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시 예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시 예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.
본 명세서에서 어떤 엘리먼트, 구성요소, 장치, 또는 시스템이 프로그램 또는 소프트웨어로 이루어진 구성요소를 포함한다고 언급되는 경우, 명시적인 언급이 없더라도, 그 엘리먼트, 구성요소, 장치, 또는 시스템은 그 프로그램 또는 소프트웨어가 실행 또는 동작하는데 필요한 하드웨어(예를 들면, 메모리, CPU 등)나 다른 프로그램 또는 소프트웨어(예를 들면 운영체제나 하드웨어를 구동하는데 필요한 드라이버 등)를 포함하는 것으로 이해되어야 할 것이다.
또한, 어떤 엘리먼트(또는 구성요소)가 구현됨에 있어서 특별한 언급이 없다면, 그 엘리먼트(또는 구성요소)는 소프트웨어, 하드웨어, 또는 소프트웨어 및 하드웨어 어떤 형태로도 구현될 수 있는 것으로 이해되어야 할 것이다.
또한, 본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
또한, 본 명세서에서 '부', '모듈', '서버', '시스템', '플랫폼', '장치', '서비스', '솔루션', 또는 '단말' 등의 용어는 하드웨어 및 해당 하드웨어에 의해 구동되거나 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 지칭하는 것으로 의도될 수 있다. 예를 들어, 여기서 하드웨어는 CPU 또는 다른 프로세서(processor)를 포함하는 데이터 처리 기기일 수 있다. 또한, 하드웨어에 의해 구동되는 소프트웨어는 실행중인 프로세스, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램(program) 등을 지칭할 수 있다.
또한, 상기 용어들은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것이 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.
또한, 본 명세서에서 DB라 함은, 각각의 DB에 대응되는 정보를 저장하는 소프트웨어 및 하드웨어의 기능적 구조적 결합을 의미할 수 있다. DB는 적어도 하나의 테이블로 구현될 수도 있으며, 상기 DB에 저장된 정보를 검색, 저장, 및 관리하기 위한 별도의 DBMS(Database Management System)를 더 포함할 수도 있다. 또한, 링크드 리스트(linked-list), 트리(Tree), 관계형, NoSQL, In-Memory DB의 형태 등 다양한 방식으로 구현될 수 있으며, 상기 DB에 대응되는 정보를 저장할 수 있는 모든 데이터 저장매체 및 데이터 구조를 포함한다.
본 발명에 따른 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버는, AI(Artificial Intelligence) 캐싱 데이터 추천 모델을 생성하고 캐싱할 데이터 정보를 추천하는 추천 서비스부; 상기 AI 캐싱 데이터 추천 모델을 생성하기 위해서 학습되는 요청 로그 데이터의 데이터 속성 및 캐싱할 데이터 정보가 저장된 데이터베이스의 데이터 속성을 정의하고 개발자가 앱 개발을 위해서 사용하는 API(Application Programming Interface)를 생성하는 모델링 서비스부; 상기 모델링 서비스부에서 생성된 API를 기반으로 개발자 단말기로부터 로그 데이터 속성 및 캐싱할 데이터의 속성을 정의하기 위한 데이터 모델링 요청을 방아 상기 모델링 서비스부와 추천서비스부에 전달하는 SDK 서비스부; 사용자 단말기가 앱 개발자에 의해서 정의되어 생성된 상기 API를 통해 데이터를 요청하는 API서비스부; 및 상기 API서비스부에 의해 요청된 데이터를 캐시를 통해 제공할 수 있도록 캐싱할 데이터 정보가 저장된 데이터베이스 및 상기 AI 캐싱 데이터 추천 모델을 생성하는 추천 서비스부와 연동하여 선택적으로 상기 데이터를 캐싱하는 캐싱 서비스부;를 포함하고, 상기 API 서비스부는 상기 캐싱 서비스부에 의해 제공되는 데이터를 상기 사용자 단말기로 전송할 수 있다.
이하, 본 발명에서 실시하고자 하는 구체적인 기술내용에 대해 첨부도면을 참조하여 상세하게 설명하기로 한다.
도 1, 도 3 및 도 4에 도시된 각각의 구성은 기능 및 논리적으로 분리될 수 있음을 나타내는 것이며, 반드시 각각의 구성이 별도의 물리적 장치로 구분되거나 별도의 코드로 작성됨을 의미하는 것은 아님을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
도 1은 본 발명의 실시 예에 따른 클라우드 기반 모바일 BaaS(Backend as a Service)의 지능형 데이터 캐싱 추천 시스템을 도시한 도면이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 시스템은 개발자 단말기(100) 및 지능형 데이터 캐싱 추천 서버(200)를 포함한다.
다수의 사용자 단말기들(10, 20, 30)은 스마트폰과 같은 모바일 단말기로서 개발자 단말기(100)에서 개발된 앱을 설치 및 실행할 수 있다.
개발자 단말기(100)는 다수의 사용자 단말기들(10, 20, 30)에게 제공할 앱을 개발하고, AI 캐싱 데이터 추천 모델을 사용할 수 있는 API(Application Programming Interface)를 개발된 앱에 추가한 후 다수의 사용자 단말기들(10, 20, 30)에게 배포할 수 있다. AI 캐싱 데이터 추천 모델은 개발된 앱과 관련된 캐싱 서비스를 제공하기 위해 생성된 AI 모델이다.
개발자 단말기(100)는 예를 들면, 데스크탑 PC(Personal Computer), 서버, 랩탑 PC(Laptop PC), 넷북 컴퓨터(Netbook Computer) 등 프로그램의 설치 및 실행이 가능한 모든 전자기기들 중 하나일 수 있다.
앱 개발자 또는 클라이언트는 개발자 단말기(100)를 통해 BaaS 플랫폼에 로그인하여 지능형 데이터 캐싱 추천 서버(200)에 통신가능하도록 접속하고, BaaS 플랫폼에서 제공하는 어드민 웹 또는 SDK(Software Development Kit)를 이용하여 AI 캐싱 추천 모델의 생성을 요청할 수 있다. 이 때, 앱 개발자는 개발앱과 관련된 캐싱 추천 모델 생성에 필요한 데이터 속성 정보를 입력하여 캐싱 추천 모델의 생성을 요청할 수 있다. 캐싱 데이터 추천 모델은 개발자가 개발하는 앱에 대하여 캐싱 서비스를 자동으로 제공하기 위하여 생성되는 AI 모델이다.
보다 상세하게는, 도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 모바일 BaaS의 지능형 데이터 캐싱 추천 서버는, 추천 서비스부(230), 모델링 서비스부(220), SDK 서비스부(211), API서비스부(210), 및 캐싱 서비스부(240)를 포함할 수 있다.
여기서, 상기 추천 서비스부(230)는, AI(Artificial Intelligence) 캐싱 데이터 추천 모델을 생성하여 DB에 저장된 데이터 중 캐싱할 데이터를 추천할 수 있다.
또한, 상기 모델링 서비스부(220)는, 상기 AI 캐싱 데이터 추천 모델을 생성하기 위해서 학습되는 요청 로그 데이터의 데이터 속성 및 캐싱할 데이터 정보가 저장된 DB(데이터베이스)의 데이터 속성을 정의하고 개발자가 앱 개발을 위해서 사용하는 API(Application Programming Interface)를 생성할 수 있다.
또한, 상기 SDK 서비스부(211)는, 개발자 단말기로부터 데이터 속성을 정의하기 위한 데이터 모델링 요청을 받아 상기 모델링 서비스부(220)에서 제공되는 API를 통하여 상기 모델링 서비스부(220)에 전달할 수 있으며, 상기 추천 서비스부(230)를 구성하는 캐싱 추천부(232)에 캐싱 데이터 추천 모델이 배포되면 캐싱추천부(232)로부터 캐싱대상을 추천받아 개발자 단말기에 전달하고 개발자 단말기로 부터 캐싱 대상을 확정받아 캐싱추천부(232)에 전달할 수 있다.
또한, 상기 API서비스부(210)는, 사용자 단말기가 앱 개발자에 의해서 정의되어 생성된 상기 API를 통해 데이터를 요청할 수 있다.
또한, 상기 캐싱 서비스부(240)는, 상기 API서비스부(210)에 의해 요청된 데이터를 캐시를 통해 제공할 수 있도록 캐싱할 데이터 정보가 저장된 데이터베이스 및 상기 AI 캐싱 데이터 추천모델이 배포된 추천 서비스부(230)와 연동하여 선택적으로 상기 데이터를 캐싱할 수 있다.
이때, 상기 API 서비스부(210)는, 상기 캐싱 서비스부에 의해 제공되는 데이터를 상기 사용자 단말기로 전송할 수 있다.
도 2는 앱 개발자가 개발하는 앱이 영화정보제공 앱인 경우 입력되는 데이터 속성 정보의 일 예를 보여주는 도면이다.
도2를 참조하면, 데이터 속성 정보는 제목(title), 홈페이지주소(homepage), 포스터정보(poster), 영화 타입(type), 영화 제작 나라(country) 등 영화와 관련된 다수의 속성 별 실제 정보를 포함하는 것으로서, 앱 개발자가 설정할 수 있다. 또는, 데이터 속성 정보를 입력하는 메뉴는 앱 카테고리 별로 BaaS 플랫폼에 사전에 설정되어 앱 개발자에게 제공될 수도 있다.
본 발명의 실시 예에 따른 지능형 데이터 캐싱 추천 서버(200)는, 클라우드 기반의 모바일 BaaS를 기반으로 데이터 캐싱 기능을 더 제공할 수 있다. 지능형 데이터 캐싱 추천 서버(200)는 서버 기술 또는 캐싱 기술관련 경험이 없는 앱 개발자가 BaaS 솔루션에서 AI 모델로 학습된 결과를 통해 자동으로 추천되는 캐싱데이터를 선택적으로 확정하여 데이터 캐싱 정책을 백엔드에 반영하도록 하여 별도의 코딩없이 DB 부하를 최적화시킬 수 있다.
이로써 앱 개발자는 모바일 앱을 런칭할 경우 직접 코딩하여 캐싱 기능을 개발하지 않고도 캐싱 기능을 사용할 수 있으며, 모바일 앱을 런칭할 경우 클라우드 비용이 급격하게 높아지거나 성능이 저하되는 것을 방지할 수 있다.
이를 위하여 본 발명의 실시 예에 따른 지능형 데이터 캐싱 추천 서버(200)는, 앞서 상술한 바와 같이, API 서비스부(210), SDK 서비스부(211), 모델링 서비스부(220), 추천 서비스부(230), 캐싱 서비스부(240), 캐시(250), DB(DataBase, 260)를 포함할 수 있다.
이때, SDK 서비스부(210)는 HTTPS(HyperText Transfer Protocol over Secure Socket Layer)와 같은 통신 프로토콜을 통해 개발자 단말기(100)로부터 데이터 속성 정보와 데이터 모델링 요청을 수신하고, 모델링 서비스부(220)에서 생성되는 API를 기반으로 사용자 단말기(10,20,30)가 API 서비스부(210)와 데이터를 송수신 하도록 할 수 있다.
모델링 서비스부(220)는 개발자가 서버 기술 경험이 없더라도 대중적으로 사용되는 AutoML인 NAS 또는 NASNet 기반의 캐싱 추천 시스템을 통하여 웹화면이나 SDK를 통한 설정을 이용하여 데이터의 속성을 정의하고 개발자가 앱 개발을 위해서 사용되는 API를 생성하는 모델링 서비스를 제공할 수 있다. 데이터는 데이터 속성 정보의 상위 개념이고, 데이터를 구성하는 속성은 도 2에서 예를 든, title, homepage, poster 등이다.
도 3은 모델링 서비스부(220)의 모델링 서비스를 자세히 설명하기 위한 도면이다.
도 3을 참조하면, 개발자 단말기(100)는 모바일 BaaS 플랫폼에서 제공하는 Admin 웹 또는 SDK를 이용하여 데이터 속성 정보(예를 들어, 영화 제목, 홈페이지, 포스터, 장르, 국가 등)를 입력하고, 이를 기반으로 데이터 모델링을 요청할 수 있다.
도면에 도시된 바와 같이, SDK 서비스부(211)는 개발자 단말기(100)로부터 수신한 데이터 속성 정보를 모델링 서비스부(220)로 전달하여 데이터 모델링을 요청한다.
모델링 서비스부(220)는 SDK 서비스부(211)로부터 수신한 데이터 속성 정보를 기반으로, 사용자 단말기(10)와 송수신할 데이터를 저장하기 위한 정보를 DB(260)에게 전달하여 스키마를 생성한다.
또한, 모델링 서비스부(220)는 수신되는 데이터 속성 정보를 기반으로 로그데이터의 데이터 모델을 자동 생성하도록 추천 서비스부(230)에게 요청할 수 있다. 즉, 모델링 서비스부(220)는 데이터 속성 정보를 기반으로 클라이언트 요청 로그 저장을 위한 속성(즉, 로깅 속성)을 설정하고, 추천 서비스부(230)에게 설정하려는 로깅 속성을 전달하면서 로깅 속성에 대한 데이터 모델링을 요청할 수 있다. 클라이언트 요청 로그는 클라이언트가 요청한 데이터의 로그이다. 로깅 속성에 대한 데이터 모델링을 요청하는 것은 설정된 로깅 속성을 기반으로 AI 캐싱 데이터 추천 모델을 위한 학습용 데이터의 전처리 과정을 자동화하기 위한 것이다.
추천 서비스부(230)는 데이터 속성 정보 및 클라이언트 요청 로그에 기반하는 로깅 속성 모델링을 수행, 학습하여 캐싱 데이터 추천 모델을 생성할 수 있다.
자세히 설명하면, 추천 서비스부(230)는 NAS(Neural Architecture Search) 또는 NASNet 기반의 AutoML(Automated Machine Learning)을 적용하여 로그 데이터 속성 정보를 기반으로 전처리된 클라이언트 요청 데이터를 학습하고 AI 모델링하여 캐싱 데이터 추천 모델을 생성할 수 있다. 추천 서비스부(230)는 NAS 또는 NASNet 기반으로 특징 추출(Automated Feature Engineering), 신경망 탐색(Neural Architecture Search ), 하이퍼 파라미터 최적화(Hyper Parameter Optimization)와 같은 동작을 자동으로 수행하면서 캐싱 데이터 추천 모델을 자동 탐색하고, 캐싱 데이터 추천 모델의 파라미터 최적화를 통해 최적의 캐싱 데이터 추천 모델을 자동으로 생성하고 배포하는 동작을 할 수 있다.
즉, 추천 서비스부(230)는 앱 개발자가 배포한 앱을 사용하는 사용자 단말기들(10, 20, 30)로부터 데이터 요청이 수신되면, 데이터 요청과 관련된 로그를 저장하고, 모델링 서비스부(220)에서 정의된 로깅 속성에 따라 저장된 로깅 데이터를 학습하여 AI캐싱 데이터 추천 모델을 생성, 또는, 캐싱 정책을 반영하고 제공 할 수 있다.
도 1을 참조하면, 이러한 NAS 기반의 캐싱 추천 모델을 제공하기 위하여 추천 서비스부(230)는 로깅부(231), 데이터 저장부(232), 검색-엔진(233), 데이터 전처리부(234), 모델 탐색부(235), 모델 최적화부(236) 및 캐싱 추천부(237)를 포함할 수 있다.
로깅부(231)는 캐싱 추천 모델이 사용자 단말기들(10, 20, 30)에 의해 상용화된 후 사용자 단말기들(10, 20, 30)로부터 요청되는 데이터와 관련된 로그를 생성한다.
데이터 저장부(232)는 모델링 서비스부(220)로부터 입력되는 데이터 속성 정보, 클라이언트 요청 로그, 설정된 로깅 속성, 로깅부(231)에서 생성되는 다수의 로그를 저장할 수 있다.
검색엔진(233)은 캐싱 추천 모델을 생성하기 위해서 학습하는데 필요한 로깅의 속성을 모델링 서비스부(220)로 부터 요청받아서 정의하고 학습을 위한 로깅데이터를 검색하는 Elastic Search 엔진일 수 있다.
데이터 전처리부(234)는 검색엔진(233)에 정의된 로깅 속성을 기반으로 검색한 로우데이터를 학습을 위한 데이터로 전처리한다.
모델 탐색부(235)는 전처리된 데이터를 기반으로 학습하여 최적의 캐싱 추천 모델을 자동으로 탐색한다.
모델 최적화부(236)는 모델 탐색부(235)에서 탐색한 캐싱 추천 모델의 파라미터를 최적화하여 최적의 캐싱 추천모델을 캐싱 추천부(237)에게 배포한다. 최적의 캐싱 추천 모델은 앱 개발자가 반영한 캐싱 정책을 파라미터 최적화에 반영한다. 캐싱 정책은 캐시(250)에 신규로 추가할 데이터 및 삭제하도록 개발자가 확정한 정책이다.
캐싱 추천부(237)는 이후 캐싱 서비스가 실행될 때 요청된 데이터가 캐싱 대상인지 확인하여 캐싱 서비스부(240)에게 제공할 수 있다. 보다 상세하게는, 캐시에 요청받은 데이터가 없는 경우에 앞서 상술한 캐싱 서비스부(240)에서 DB(260)에서 가져온 요청받은 데이터가 캐싱대상인지를 캐싱 추천부(232)에 확인하고, 캐싱대상 데이터 여부를 캐싱 서비스부(240)에 회신하여 회신결과가 캐싱 대상 데이터일 경우에 캐싱 서비스부(240)에서는 요청 받은 데이터를 캐싱할 수 있다. 즉, 캐싱 데이터 추천 모델이 캐싱 추천부(237)로 배포되면 캐싱 추천부(237)는 상술한 SDK 서비스부(211)를 통해 개발자 단말기(100)에게 어떤 요청 데이터가 캐싱대상인지 자동으로 추천하게 되고, 개발자 단말기(100)는 SDK 서비스부(211)를 통해 신규로 추가할 캐싱대상 및 삭제할 캐싱대상에 대한 정책을 최종 확정하여 캐싱 추천부(232)에 반영할 수 있다.
다시 도 3을 참조하면, 모델링 서비스부(220)는, 캐싱 데이터 추천 모델을 사용할 수 있는 API를 생성한 후 SDK서비스부(211)로 전달한다.
SDK 서비스부(211)는 전달받은 API를 개발자 단말기(100)로 전송한다.
앱 개발자는 개발자 단말기(100)가 수신한 API를 개발한 앱에 추가한 후 다수의 사용자 단말기들(10, 20, 30)이 사용할 수 있도록 배포한다.
이후 다수의 사용자 단말기들(10, 20, 30) 중 하나(10)는 앱 개발자에 의해 개발된 앱을 설치 및 실행한 후 앱에 포함된 API를 통해 캐싱 추천 서버(200)에게 데이터(예를 들어, 도 2의 영화 제목)를 요청할 수 있다.
API 서비스부(210)는 사용자 단말기(10)로부터 수신된 데이터 요청을 캐싱 서비스부(240)에게 전달한다.
캐싱 서비스부(240)는 요청된 데이터를 캐싱하는 과정에서 개발자로 인한 별도의 코딩과정없이 추천 서비스부(230)의 판단에 따라 데이터를 캐싱할 수 있다.
도 4는 캐싱 서비스부(240)의 캐싱 서비스를 자세히 설명하기 위한 도면이다.
도 4를 참조하면, 캐싱 서비스부(240)는 사용자 단말기(10)로부터 앱 개발자에 의해 배포된 앱의 API를 통해 데이터 요청이 수신되면, 요청된 데이터가 캐시(250)에 미존재하는 경우 DB(260)로부터 요청된 데이터를 읽어오고, 요청된 데이터가 캐싱 대상인지 캐싱 추천부(237)의 캐싱 데이터 추천 모델에게 질의한다. 질의 결과 캐싱 대상인 것으로 확인되면, 캐싱 서비스부(240)는 캐시(250)에 DB(260)로부터 읽어온 데이터를 캐싱한 후 데이터 요청결과를 API 서비스부(210)로 전달한다.
API 서비스부(210)는 캐싱 서비스부(240)로부터 전달받은 데이터 요청결과를 API를 통해 사용자 단말기(10)로 전송한다.
자세히 설명하면, API 서비스부(210)는 사용자 단말기(10)로부터 데이터 모델링이 완료된 데이터의 전송이 요청되면, 캐싱 서비스부(240)에 사용자 단말기(10)에서 데이터 요청이 있음을 전달한다.
캐싱 서비스부(240)는 추천 서비스부(230)에게 사용자 단말기(10)에서 요청한 데이터를 로깅하도록 요청한다. 추천 서비스부(230)는 캐싱 서비스부(240)의 요청에 의해 사용자 단말기(10)에서 요청한 데이터와 관련된 로그를 생성하여 데이터 저장부(232)에 저장한다. 저장된 로그는 일정 주기로 추천 서비스부(230)에서 AI 캐싱 데이터 추천 모델의 재반영에 사용된다.
그리고, 캐싱 서비스부(240)는 사용자 단말기(10)가 요청한 데이터가 캐시(250)에 존재하는지 확인하고, 존재하면 캐시(250)로부터 해당 데이터를 읽어와(return) API 서비스부(210)로 읽어온 데이터를 전달한다. API 서비스부(210)는 전달받은 데이터를 사용자 단말기(10)로 전송한다.
반면, 캐싱 서비스부(240)는 사용자 단말기(10)가 요청한 데이터가 캐시(250)에 미존재하는 경우, DB(260)로부터 요청된 데이터를 읽어오고, 요청된 데이터가 캐싱 대상인지 캐싱 추천부(237)의 캐싱 데이터 추천 모델에게 질의한다.
캐싱 추천부(237)는 캐싱 데이터 추천 모델의 캐싱 정책에 기초하여 캐싱 대상인지 확인하고 확인 결과를 캐싱 서비스부(240)에게 전달한다.
이 때, 캐싱 대상으로 확인되면 캐싱 서비스부(240)는 DB(260)로부터 읽어온 데이터를 캐시(250)에 캐싱하고, API 서비스부(210)로 전달한다.
캐싱 대상이 아닌 것으로 확인되면, 캐싱 서비스부(240)는 DB(260)로부터 읽어온 데이터를 캐시(220)에 캐싱하지 않고 API 서비스부(210)로 전달한다.
API 서비스부(210)는 전달받은 데이터를 사용자 단말기(10)로 전송한다.
다시 도 1을 참조하면, 추천 서비스부(230)는 AI 기반의 캐싱 데이터 추천 모델을 생성하여 배포한 후, 사용자 단말기들(10, 20, 30)로부터 수신되는 데이터 요청과 관련된 로그데이터를 이용하여 주기적으로 캐싱 데이터 추천 모델 또는 캐싱 데이터 추천 모델의 캐싱 정책을 자동으로 재반영 할 수 있다.
앞에서 설명한 것처럼 추천 서비스부(230)는 캐싱 서비스부(240)의 요청에 의해 사용자 단말기(10)에서 요청한 데이터와 관련된 로그를 생성하여 데이터 저장부(232)에 저장한다. 추천 서비스부(230)는 주기적으로 데이터 저장부(232)에 저장된 로그를 이용하여 캐싱 데이터 추천 모델 또는 캐싱 정책을 업데이트한다.
자세히 설명하면, 추천 서비스부(230)의 데이터 전처리부(234)는 주기적으로 배치(Batch)를 통해 데이터 저장부(232)에 저장된 로그를 검색엔진(233)을 통하여 요청 및 수신하여 학습을 위한 데이터로 전처리한다. 모델 학습에서 배치는 전체 학습 데이터셋을 작은 그룹으로 나누었을때 사용되는 샘플들의 묶음을 의미한다. 배치 사이즈가 예를 들어 설정된 주기 동안 모아진 로그가 100개이고 배치 사이즈가 20이라면 데이터 전처리부(234)는 100개의 로그 셋을 5개의 배치로 나눠서 전처리한다.
모델 탐색부(235)는 전처리된 데이터를 학습하여 특징을 추출하고 AI 캐싱 데이터 추천 모델을 생성 한다.
모델 최적화부(236)는 생성된 캐싱 데이터 추천 모델의 파라미터를 최적화하여 캐싱 정책을 최적화하며 이로써 캐싱 데이터들 또는 캐싱 대상이 재정리된다. 즉, 사용자 단말기들(10, 20, 30)로부터 생성되는 로그를 기반으로 캐시(250)에 추가할 데이터 또는 캐시(250)에서 제거할 캐싱 추천 모델 생성이 완료 된다. 예를 들어 초기 생성된 캐싱 정책은 영화제목, 포스터, 타입, 국가 등이 캐싱 대상으로 포함되어 있고, 재반영된 캐싱 정책이 영화제목, 포스터, 타입, 국가, 주연배우, 줄거리를 포함하게 되면, 이후 사용자 단말기들(10, 20, 30)에 의해 추가로 저장된 로그가 주연배우, 줄거리를 포함하게 된다.
최초 생성되거나 재생성된 캐싱 데이터 추천 모델은 캐싱 추천부(237)에 배포한다.
한편, 캐싱 추천부(237)는 재반영된 캐싱 데이터 추천 모델에서 추천한 캐싱 대상에 대한 보고서를 SDK 서비스부(211)로 전달할 수 있다.
SDK 서비스부(211)는 재반영된 캐싱 데이터 추천 모델에서 추천한 캐싱대상에 대한 보고서를 개발자 단말기(100)로 전송할 수 있다.
상술한 설명에 의하면, 추천 서비스부(230)는 NAS 또는 NASNet 기반의 AutoML을 적용하여 사용자 단말기들(10, 20, 30)로부터의 요청에 의해 생성되는 로그데이터를 모델링 서비스부(220)에서 정의된 로깅 속성을 기반으로 데이터 전처리하고, 최적의 캐싱 추천 모델을 탐색 및 생성한 후 캐싱 추천 모델의 파라미터를 최적화하여 캐싱 추천부(237)에게 배포하도록 한다.
또한, 추천 서비스부(230)는 개발자 단말기(100) 또는 사용자 단말기(10)와 같은 모바일에서 요청하는 데이터 속성의 조합이 달라지는 경우에도, 새로운 AI 캐싱 데이터 추천 모델을 자동으로 탐색 및 생성하고, 파라미터를 최적화하여 최적의 캐싱데이터 추천모델을 배포하여 추천 대상에 대한 보고서를 SDK 서비스부(211)를 통해서 개발자 단말기(100)에게 제공할 수 있다.
또한, 추천 서비스부(230)는 앱 개발자가 요구하는 캐싱 정책이 반영된 최적의 캐싱 추천모델을 배포하기 위하여 앱개발자가 SDK 서비스부(211)를 통해서 캐싱정책을 확정하기 위한 캐싱 대상 리스트를 요청하면 캐싱 대상리스트를 SDK 서비스부(211)를 통해서 제공하고 앱 개발자가 확정한 캐싱 정책을 캐싱데이터 추천모델을 최적화하는데 사용할 수 있다. 여기서, 캐싱 리스트는 신규로 캐싱에 추가하거나 삭제할 캐싱 데이터들의 리스트이고, 앱개발자는 캐싱 대상에 대한 정책을 확정하여 캐싱추천 모델을 최적화하기 위해서 반영한다.
자세히 설명하면, 개발자는 개발자 단말기(100)를 통해 서버(200)에 어드민 접속하고, SDK 서비스부(211)를 통해서 추천 서비스부(230)에게 요청하여 추가할 캐싱 데이터와 삭제할 캐싱 데이터를 포함하는 캐싱 리스트를 확인한다. 개발자는 캐싱 리스트에서 캐싱이 필요하다고 판단되는 데이터를 캐싱 대상이 되도록 추천 서비스부(230)에게 반영할 수 있다. 또한 추가된 캐싱 데이터 중 캐싱이 불필요하다고 판단되는 데이터를 캐싱 리스트에서 제외하도록 반영할 수 있다.
앱 개발자의 요청에 따라 추천 서비스부(230)는 앱개발자가 확정한 캐싱할 대상과 삭제가 필요한 캐싱 대상을 최적의 캐싱 데이터 추천 모델을 재반영하는 주기에 파라미터를 최적화하기 위해서 업데이트하고, 현재 캐싱 정책에 반영한 후 반영된 캐싱 정책 설정 결과를 SDK 서비스부(211)에게 전달한다. SDK 서비스부(211)는 캐싱 정책에 대한 결과를 개발자 단말기(100)로 전송한다
도 5는 본 발명의 실시 예에 따른 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 방법을 설명하기 위한 흐름도이다.
도 5에 도시된 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 방법은 도 1 내지 도 4를 참조하여 설명한 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 시스템에 의해 동작될 수 있다.
도 5를 참조하면, 개발자 단말기(100)는 지능형 데이터 캐싱 추천 서버(200)에 어드민 웹 또는 SDK를 이용하여 데이터 모델링을 요청한다(S505).
지능형 데이터 캐싱 추천 서버(200)는 데이터모델을 생성하고, 앱 개발을 위해 사용하는 API를 생성하고, 개발자 단말기(100)에게 데이터 모델링 결과를 전송한다(S510, S515).
개발자 단말기(100)는 생성된 API를 통하여 지능형 데이터 캐싱 추천 서버(200)를 통한 데이터 송수신 기능을 개발한 앱에 추가한 후 다수의 사용자 단말기들(10, 20, 30)이 사용할 수 있도록 배포한다(S520).
이로써 모델링 서비스가 개발자 단말기(100)에게 제공된다.
사용자 단말기(10))는 S520단계에서 배포된 앱을 설치 및 실행한다(S525).
사용자 단말기(10)는 앱을 사용하는 중 사용자로부터 데이터가 요청되면, 지능형 데이터 캐싱 추천 서버(200)에게 데이터를 요청한다(S530).
지능형 데이터 캐싱 추천 서버(200)는 캐시(250)에 요청된 데이터가 존재하는지 확인하고, 존재 여부 및 S510단계에서 생성된 캐싱 데이터 추천 모델의 캐싱 정책에 따라 선택적으로 데이터를 캐시(250)에 캐싱한다(S535).
지능형 데이터 캐싱 추천 서버(200)는 S535단계에서 선택적으로 캐싱된 데이터 또는 캐싱되지 않은 데이터를 사용자 단말기(10)에게 전송한다(S540). 이로써 캐싱 서비스가 사용자 단말기(10)에게 제공된다.
한편, 지능형 데이터 캐싱 추천 서버(200)는 다수의 사용자 단말기들(10, 20, 30)의 데이터 요청에 의해 발생한 로그를 기반으로 Batch를 통해 최적의 캐싱 추천모델을 생성하고 자동으로 재반영한다(S545).
지능형 데이터 캐싱 추천 서버(200)는 S545단계에서 재반영된 캐싱 데이터 추천 모델에서 추천하는 캐싱대상을 업데이트 보고서와 함께 개발자 단말기(100)로 전송한다(S550).
개발자 단말기(100)는 업데이트된 캐싱 데이터 추천 대상(또는 캐싱정책)을 선택하고 설정한다(S555)다. 즉, 캐싱데이터의 정책을 확정하는 서비스가 개발자 단말기(100)에게 제공된다.
또한, 개발자 단말기(100)는 업데이트 보고서를 검토한 후 지능형 데이터 캐싱 추천 서버(200)에게 캐싱 리스트의 추천 대상을 반영할 수 있다(S560). 캐싱 리스트의 정책 반영은 캐싱 대상을 추가하거나 기존의 캐싱 대상을 삭제하도록 개발자 단말기(100)를 통해서 확정하는 것이다.
지능형 데이터 캐싱 추천 서버(200)는 개발자 단말기(100)로부터 수신되는 정책 확정 요청에 따라 신규 캐싱 대상을 추가하거나 기존 캐싱 대상을 삭제하도록 캐싱정책에 반영하고 캐싱 추천 모델의 최적화에 반영한다(S565). 이로써 정책 반영서비스가 개발자 단말기(100)에게 제공된다.
지능형 데이터 캐싱 추천 서버(200)는 캐싱 추천 모델에 반영된 결과를 개발자 단말기(100)에게 SDK 서비스부(211)로 전송한다(S570).
도 6은 도 5의 S505단계 내지 S520단계의 모델링 서비스를 자세히 도시한 흐름도이다.
도 6을 참조하면, 앱 개발자는 개발자 단말기(100)를 통해 BaaS 플랫폼에 접속한 후 개발앱과 관련된 캐싱 추천 모델 생성에 필요한 데이터 속성 정보를 입력하여 데이터 모델의 생성을 요청한다(S605).
SDK 서비스부(211)는 개발자 단말기(100)로부터 수신한 데이터 속성 정보를 모델링 서비스부(220)에게 전달하여 데이터 모델링을 요청한다(S610).
모델링 서비스부(220)는 데이터 속성 정보를 기반으로, 사용자 단말기(10)와 송수신할 데이터를 저장하기 위한 스키마를 생성하여 DB(260)에게 전달한다(S615, S620).
DB(260)는 DB 스키마를 저장한 후 저장 결과를 모델링 서비스부(220)에게 전달한다(S625, S630).
모델링 서비스부(220)는 데이터 속성 정보를 기반으로 클라이언트 요청 로그 저장을 위한 속성(즉, 로깅 속성)을 설정하고, 추천 서비스부(230)에게 설정된 로깅 속성을 전달하면서 로깅 속성 모델링을 요청한다(S635, S640).
이때, 추천 서비스부(230)는 로그 속성정보를 생성(645)하고, 그 결과를 모델링 서비스부에 전달할 수 있다.(S650)
모델링 서비스부(220)는 API를 생성한 후 데이터 모델링 결과를 SDK 서비스부(211)로 전달한다(S655, S660).
SDK 서비스부(211)는 전달받은 API와 AI데이터 추천 모델링 결과를 개발자 단말기(100)로 전송한다(S656).
앱 개발자는 개발자 단말기(100)가 수신한 API를 개발한 앱에 추가한 후 다수의 사용자 단말기들(10, 20, 30)이 사용할 수 있도록 배포한다(S520).
도 7은 도 5의 S530단계 내지 S540단계의 캐싱 서비스를 자세히 도시한 흐름도이다.
도 7을 참조하면, 사용자 단말기(10)는 앱을 사용하는 중 앱에 포함된 API를 통해 캐싱 추천 서버(200)에게 데이터(예를 들어, 도 2의 영화 제목)를 요청한다(S705).
API 서비스부(210)는 사용자 단말기(10)로부터 수신된 데이터 요청을 캐싱 서비스부(240)에게 전달한다(S710).
캐싱 서비스부(240)는 추천 서비스부(230)에게 사용자 단말기(10)에서 요청한 데이터를 로깅하도록 요청한다(S715).
추천 서비스부(230)는 사용자 단말기(10)에서 요청한 데이터와 관련된 로그를 생성하여 데이터 저장부(232)에 저장하고, 로깅 결과를 캐싱 서비스부(240)에게 제공한다(S720, S725).
캐싱 서비스부(240)는 사용자 단말기(10)가 요청한 데이터가 캐시(250)에 존재하면(S730-Yes), 캐싱 서비스부(240)는 캐시(250)로부터 해당 데이터를 리턴하여 API 서비스부(210)로 전달한다(S735, S740).
API 서비스부(210)는 전달받은 데이터를 사용자 단말기(10)로 전송한다(S745).
반면, S730단계에서 사용자 단말기(10)가 요청한 데이터가 캐시(250)에 미존재하는 것으로 확인되면(S730-No), 캐싱 서비스부(240)는 DB(260)를 검색하여 사용자가 요청한 데이터를 리턴한다(S750).
그리고, 캐싱 서비스부(240)는 사용자 단말기(10)가 요청한 데이터가 캐싱 대상인지 추천 서비스부(230)의 캐싱추천부(237)에게 문의한다(S755).
추천 서비스부(230)는 캐싱 추천 모델의 캐싱 정책에 기초하여 캐싱 대상인지 확인하고 확인 결과를 캐싱 서비스부(240)에게 전달한다(S760).
캐싱 대상으로 확인되면(S765-Yes), 캐싱 서비스부(240)는 S750단계에서 DB(260)로부터 리턴한 데이터를 캐시(250)에 캐싱하고, API 서비스부(210)로 데이터를 전달한다(S770, S775).
API 서비스부(210)는 전달받은 데이터를 사용자 단말기(10)로 전송한다(S780).
도 8은 도 5의 S545단계 내지 S570단계의 추천 서비스 및 매뉴얼 서비스를 자세히 도시한 흐름도이다.
도 8을 참조하면, 추천 서비스부(230)는 S720단계에서 로깅에 의해 생성 및 저장된 로그를 Batch를 통해 전처리한다(S805).
추천 서비스부(230)는 전처리된 요청 데이터를 기반으로 학습하여 캐싱 데이터 추천 모델을 탐색하여 캐싱 데이터 추천 모델을 생성한다(S810).
추천 서비스부(230)는 생성된 캐싱 데이터 추천 모델의 파라미터를 최적화한다(S815).
추천 서비스부(230)는 최적의 캐싱 데이터 추천 모델을 내부 캐싱 추천부(237)에게 배포한다(S820).
개발자 단말기(100)는 캐싱 정책이 변경되었음을 인지한 후 SDK 서비스부(211)에게 캐싱 리스트(캐싱 추천 대상)를 요청할 수 있다(S820-1).
SDK 서비스부(211)는 캐싱 리스트가 요청되었음을 추천 서비스부(230)에게 전달한다(S820-2).추천 서비스부(230)는 최근에 업데이트된 캐싱 리스트를 SDK 서비스부(211)에게 전달하고, SDK 서비스부(211)는 전달받은 캐싱 리스트를 API를 통해 개발자 단말기(100)에게 전송한다(S550).
앱 개발자가 개발자 단말기(100)에서 캐싱 리스트를 확인한 후 캐싱 리스트에 추가할 데이터 또는 삭제할 데이터를 요청하면(S560,S560-1), SDK 서비스부(211)는 캐싱 리스트 변경 요청(캐싱 정책 반영 요청)을 추천 서비스부(230)에게 전달한다(S560-1).
추천 서비스부(230)는 앱 개발자의 요청에 따라 캐싱 리스트의 캐싱 대상을 추가하거나 삭제하여 캐싱 리스트, 즉, 캐싱 정책을 변경하고, 변경 결과를 SDK 서비스부(211)로 전달한다(S565, S570).
SDK 서비스부(211)는 변경 결과를 개발자 단말기(100)로 전송한다(S570-1). 이로써 캐싱 데이터 추천 모델은 대중적인 AutoML모델인 NAS 또는 NASNet를 기반으로 주기적으로 재반영되고 개발자에 의해 수동으로 반영된 캐싱 정책을 파라미터 최적화에 반영하여, 개발자가 요구하는 캐싱 정책에 최적화된 캐싱추천모델이 배포되도록 할 수 있다.
상술한 본 발명에 따르면, 개발자는 서버기술 경험이 없더라도 딥러닝 기반의 캐싱 추천 시스템을 통하여 웹화면이나 SDK를 통한 설정을 통하여 데이터를 모델링하고 요청 데이터 저장공간의 속성과 학습을 위한 탐색 속성을 모델링하는 모델링 서비스를 사용할 수 있다.
또한, 본 발명에 따르면, 데이터를 캐싱하는 과정에서 개발자의 별도의 코딩없이 캐싱 추론 결과가 배포되어있는 추천 서비스의 응답에 따라 데이터를 자동으로 캐싱하도록 하는 캐싱 서비스를 사용할 수 있다.
또한, 본 발명에 따르면, NAS 또는 NASNet 기반의 AutoML을 적용하여 모바일의 요청에 따라 생성되는 로그데이터를 모델링 서비스에 의해서 정의된 속성을 기반으로 데이터 전처리, 최적의 인공지능모델을 탐색 후 인공지능 모델 파라미터 최적화 과정을 거쳐서 최적의 추천 모델을 배포하여 캐싱 서비스에게 요청한 정보에 대한 캐싱 여부를 추천하는 기능을 제공하는 추천 서비스를 제공할 수 있다.
또한, 본 발명에 따르면, 사용자가 요청하는 데이터 속성의 조합이 달라질 때마다 개발자가 수기로 새로운 인공지능 모델 설계와 파라미터 최적화하는 과정을 거치지 않고 최적의 인공모델과 파라미터를 자동으로 탐색하여 캐싱 추천서비스를 제공할 수 있다.
도 9는 본 발명의 실시 예에 따른 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 방법을 실행하는 컴퓨팅 시스템을 보여주는 블록도이다.
도 9에 도시된 컴퓨팅 시스템(900)는 도 1 내지 도 4를 참조하여 설명한 지능형 데이터 캐싱 추천 장치(200)일 수 있다.
컴퓨팅 시스템(900)은 버스(920)를 통해 연결되는 적어도 하나의 프로세서(910), 메모리(930), 사용자 인터페이스 입력 장치(940), 사용자 인터페이스 출력 장치(950), 스토리지(960), 및 네트워크 인터페이스(970)를 포함할 수 있다.
프로세서(910)는 중앙 처리 장치(CPU) 또는 메모리(930) 및/또는 스토리지(960)에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 메모리(930) 및 스토리지(960)는 다양한 종류의 휘발성 또는 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(930)는 ROM(Read Only Memory)(931) 및 RAM(Random Access Memory)(932)을 포함할 수 있다.
따라서, 본 명세서에 개시된 실시 예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(910)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리(930) 및/또는 스토리지(960))에 상주할 수도 있다. 예시적인 저장 매체는 프로세서(910)에 커플링되며, 그 프로세서(910)는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(910)와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
한편, 이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시 예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것이 아니며, 기술적 사상의 범주를 일탈함이 없이 본 발명에 대해 다수의 변경 및 수정 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서, 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주하여야 할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10, 20, 30: 사용자 단말기
100: 개발자 단말기
200: 지능형 데이터 캐싱 추천 서버
210: API 서비스부
211: SDK 서비스부
220: 모델링 서비스부
230: 추천 서비스부
240: 캐싱 서비스부
250: 캐시
260: DB

Claims (15)

  1. AI(Artificial Intelligence) 캐싱 데이터 추천 모델을 생성하고 캐싱할 데이터 정보를 추천하는 추천 서비스부;
    상기 AI 캐싱 데이터 추천 모델을 생성하기 위해서 학습되는 요청 로그 데이터의 데이터 속성 및 캐싱할 데이터 정보가 저장된 데이터베이스의 데이터 속성을 정의하고 개발자가 앱 개발을 위해서 사용하는 API(Application Programming Interface)를 생성하는 모델링 서비스부;
    상기 모델링 서비스부에서 생성된 API를 기반으로 개발자 단말기로부터 로그 데이터의 속성 및 캐싱할 데이터의 속성을 정의하기 위한 데이터 모델링 요청을 받아 상기 모델링 서비스부와 추천서비스부에 전달하는 SDK 서비스부;
    사용자 단말기가 앱 개발자에 의해서 정의되어 생성된 상기 API를 통해 데이터를 요청하는 API서비스부; 및
    상기 API서비스부에 의해 요청된 데이터를 캐시를 통해 제공할 수 있도록 캐싱할 데이터 정보가 저장된 DB(데이터베이스) 및 상기 AI 캐싱 데이터 추천 모델을 생성하는 추천 서비스부와 연동하여 선택적으로 상기 요청된 데이터를 캐싱하는 캐싱 서비스부;를 포함하고,
    상기 API 서비스부는 상기 캐싱 서비스부에 의해 제공되는 데이터를 상기 사용자 단말기로 전송하는 것을 특징으로 하는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버.
  2. 제 1 항에 있어서,
    상기 추천 서비스부는,
    다수의 사용자 단말기들의 요청에 의해 발생한 요청 로그를 기반으로 학습하여 상기 AI 캐싱 데이터 추천 모델을 자동으로 업데이트하는 것을 특징으로 하는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버.
  3. 제 2 항에 있어서,
    상기 추천 서비스부는, 상기 개발자 단말기로부터 수신되는 신규 캐싱 데이터의 추가 정책 및 기존 캐싱 데이터의 삭제 정책을 상기 AI 캐싱 데이터 추천 모델에 반영하여 업데이트하는 것을 특징으로 하는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버.
  4. 제 1 항에 있어서,
    상기 SDK 서비스부는,
    상기 개발자 단말기에 의해 배포되는 앱과 관련된 데이터 속성 정의에 필요한 데이터 모델링 요청을 수신하고,
    상기 모델링 서비스부는,
    상기 SDK 서비스부가 수신한 데이터 모델링 요청 정보를 기반으로, 사용자 단말기와 송수신할 데이터를 저장하기 위한 데이터 속성에 대응되는 데이터 스키마를 생성하여 DB에 저장하고, 사용자 단말기를 통해 요청되는 요청 로그 정보를 저장하기 위한 요청 로그의 데이터 속성을 설정하고,
    상기 추천 서비스부는,
    상기 사용자 단말기를 통해 입력되는 요청 로그의 데이터 속성 정보를 기반으로 상기 AI 캐싱 데이터 추천 모델을 생성하는 것을 특징으로 하는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버.
  5. 제 1 항에 있어서,
    상기 캐싱 서비스부는, 상기 사용자 단말기로부터 상기 앱 개발자에 의해 배포된 앱의 API를 통해 데이터 요청이 수신되면, 상기 요청된 데이터가 캐시에 미존재하는 경우 DB로부터 상기 요청된 데이터를 읽어오고, 상기 캐시에 상기 DB로부터 데이터를 읽어오고, 상기 추천 서비스부에 데이터 요청에 대한 캐싱 정책을 요청하여 수신한 캐싱정책에 따라 캐시에 캐싱한 후 상기 API 서비스부로 전달하고,
    상기 API 서비스부는,
    상기 캐싱 서비스부와 상기 캐시로부터 전달받은 데이터를 상기 사용자 단말기로 전송하는 것을 특징으로 하는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버.
  6. 제 5 항에 있어서,
    상기 캐싱 서비스부는, 다수의 사용자 단말기들로부터 수신되는 데이터 요청과 관련된 요청 로그를 생성하도록 상기 추천 서비스부에게 요청하고, 상기 추천 서비스부는, 상기 캐싱 서비스의 요청에 따라 데이터 요청과 관련된 로그를 생성한 후 전처리하여 학습용 데이터를 생성하고, 상기 생성된 학습용 데이터를 이용하여 최적의 AI 캐싱 데이터 추천 모델을 탐색 및 최적화하여 배포할 수 있는 것을 특징으로 하는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버.
  7. 제 6 항에 있어서,
    상기 추천 서비스부는, 상기 개발자 단말기로부터 상기 SDK 서비스부를 통해서 캐싱 추천리스트 요청이 수신되면 상기 배포된 AI 캐싱 데이터 추천 모델로 부터 추천받은 캐싱 추천리스트를 SDK 서비스부를 통해서 개발자 단말기에게 제공하고, 상기 개발자 단말기로부터 SDK 서비스부를 통하여 신규로 추가하거나 삭제할 캐싱 정책을 수신하면, 상기 수신된 캐싱 정책을 상기 추천 서비스부에 반영할 수 있는 것을 특징으로 하는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버.
  8. 제 1 항에 있어서, 상기 추천 서비스부는,
    상기 캐싱 서비스부를 통해 다수의 사용자 단말기들로부터 수신되는 데이터 요청과 관련된 로그가 생성되는 로깅부;
    모델링 서비스부로부터 입력되는 데이터 속성 정보, 클라이언트 요청 로그, 로깅부에서 생성되는 다수의 로그를 저장하는 데이터 저장부;
    AI 캐싱 데이터 추천 모델을 생성하기 위해서 학습하는데 필요한 로깅의 속성을 모델링 서비스로부터 요청받아서 정의하는 검색엔진;
    상기 검색엔진에 정의된 로깅 속성을 기반으로 생성된 로우데이터를 전처리하는 데이터 전처리부;
    상기 전처리된 데이터를 기반으로 학습하여 최적의 AI 캐싱 데이터 추천 모델을 자동으로 탐색하는 모델 탐색부;
    상기 모델 탐색부에서 탐색된 AI 캐싱 데이터 추천 모델의 파라미터를 최적화하여 AI 캐싱 데이터 추천 모델이 생성되면 캐싱 추천부에 배포하는 모델 최적화부; 및
    상기 개발자 단말기로부터 상기 SDK 서비스부를 통해서 캐싱 추천리스트 요청이 수신되면 상기 배포된 AI 캐싱 데이터 추천 모델로 부터 추천받은 캐싱 추천리스트를 SDK 서비스부를 통해서 개발자 단말기에게 제공하고, 상기 개발자 단말기로부터 SDK 서비스부를 통해서 신규로 추가하거나 삭제할 캐싱 정책을 수신하면, 상기 수신된 요청을 캐싱 정책에 반영한 후 상기 캐싱 서비스부로부터 데이터에 대한 캐싱정책을 요청받으면 캐싱 서비스부에 캐싱정책을 제공하는 캐싱 추천부;를 구비할 수 있는 것을 특징으로 하는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버.
  9. (A) 개발자 단말기가 클라우드 기반 모바일 BaaS(Backend as a Service)의 지능형 데이터 캐싱 추천 서버에 데이터 모델링을 요청하면 상기 지능형 데이터 캐싱 추천 서버가 데이터 모델링을 수행하고 앱 개발을 위해 사용하는 API(Application Programming Interface)를 생성하여 개발자 단말기에게 전송하는 단계; 및
    (B) 사용자 단말기가 앱 개발자에 의해 배포된 상기 API를 통해 데이터를 요청하면, 상기 지능형 데이터 캐싱 추천 서버가, 캐시에 상기 요청된 데이터의 존재 여부를 확인하고, 상기 캐시에 요청된 데이터가 존재하지 않는 경우에 AI 캐싱 데이터 추천 모델의 캐싱 정책에 따라 선택적으로 상기 데이터에 대한 캐싱서비스를 수행하여 상기 요청된 데이터를 사용자 단말기로 전송하는 단계;
    를 포함하는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 방법.
  10. 제 9 항에 있어서,
    (C) 상기 지능형 데이터 캐싱 추천 서버가, 다수의 사용자 단말기들의 요청에 의해 발생한 로그를 기반으로 상기 (A) 단계에서 생성된 AI 캐싱 데이터 추천 모델과 캐싱 정책을 자동으로 업데이트하는 단계;
    를 더 포함하는 것을 특징으로 하는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 방법.
  11. 제 10 항에 있어서,
    (D) 상기 지능형 데이터 캐싱 추천 서버가, 상기 개발자 단말기로부터 수신되는 신규 캐싱 대상의 추가 요청 및 기존 캐싱 대상의 삭제 요청을 상기 AI캐싱 데이터 추천 모델에 반영하는 단계;
    를 더 포함하는 것을 특징으로 하는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 방법.
  12. 제 9 항에 있어서,
    상기 (A) 단계는,
    (A1) 개발자 단말기가 데이터 속성을 정의하기 위한 데이터 속성정보 및 데이터 모델링 생성요청을 받아 SDK서비스부를 통해 모델링 서비스부에 전달하는 단계;
    (A2) 상기 지능형 데이터 캐싱 추천 서버가, 상기 데이터 속성 정보를 기반으로 클라이언트와 송수신할 데이터를 저장하기 위한 DB 스키마를 생성하여 DB에 저장하는 단계;
    (A3) 상기 지능형 데이터 캐싱 추천 서버가, 모델링 서비스부를 통해 데이터 속성 정보를 기반으로 다수의 사용자 단말기들로 부터 요청되는 다수의 로그들의 속성을 정의함과 동시에 상기 사용자 단말기들과 AI 캐싱 데이터 추천 모델이 통신하기 위한 API를 생성하여 데이터 모델링 결과와 함께 상기 개발자 단말기로 전송하는 단계;
    를 포함하고,
    상기 개발자 단말기는,
    개발한 앱에 상기 AI 캐싱 데이터 추천 모델을 사용할 수 있는 API를 추가하여 배포하는 것을 특징으로 하는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 방법.
  13. 제 9 항에 있어서,
    상기 (B) 단계는,
    (B1) 상기 지능형 데이터 캐싱 추천 서버가, 상기 사용자 단말기로부터 상기 앱 개발자에 의해 배포된 앱의 API를 통해 데이터 요청이 수신되면, 캐시에 상기 요청된 데이터가 존재하는지 판단하는 단계;
    (B2) 상기 지능형 데이터 캐싱 추천 서버가, 상기 (B1) 단계에서 상기 요청된 데이터가 캐시에 존재하는 것으로 판단되면, 캐시로부터 상기 요청된 데이터를 캐싱하여 상기 API를 통해 사용자 단말기로 전송하는 단계;
    (B3) 상기 지능형 데이터 캐싱 추천 서버가, 상기 (B1) 단계에서 상기 요청된 데이터가 캐시에 미존재하는 것으로 판단되면, DB로부터 상기 사용자 단말기가 요청한 데이터를 읽어오는 단계;
    (B4) 상기 지능형 데이터 캐싱 추천 서버가, 상기 AI 캐싱 데이터 추천 모델에게 상기 요청된 데이터가 캐싱 대상인지 질의하는 단계;
    (B5) 상기 지능형 데이터 캐싱 추천 서버가, 상기 (B4) 단계의 질의 결과 캐싱 대상인 것으로 확인되면 상기 캐시에 상기 요청된 데이터를 캐싱하고, 상기 API를 통해 사용자 단말기로 요청된 데이터를 전송하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 방법.
  14. 제 10 항에 있어서,
    상기 (C) 단계는,
    (C1) 상기 지능형 데이터 캐싱 추천 서버가, 다수의 사용자 단말기들로부터 데이터 요청이 수신되면, 상기 수신된 데이터 요청과 관련된 로그를 생성하는 단계;
    (C2) 상기 지능형 데이터 캐싱 추천 서버가, 상기 (C1) 단계에서 생성되는 로그를 전처리하여 학습용 데이터를 생성하는 단계;
    (C3) 상기 지능형 데이터 캐싱 추천 서버가, 상기 학습용 데이터를 이용하여 최적의 AI 캐싱 데이터 추천 모델을 탐색하고 최적화하는 단계; 및
    (C4) 상기 지능형 데이터 캐싱 추천 서버가, 상기 탐색한 AI 캐싱 데이터 추천 모델을 배포하는 단계;를
    포함하는 것을 특징으로 하는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 방법.
  15. 제 11 항에 있어서,
    상기 (D) 단계는,
    (D1) 상기 지능형 데이터 캐싱 추천 서버가, 상기 API를 통해 접속한 개발자 단말기에게 상기 AI 캐싱 데이터 추천 모델을 통하여 추천받은 캐싱 추천리스트를 제공하는 단계; 및
    (D2) 상기 개발자 단말기를 통해 앱 개발자가 수동으로 상기 캐싱 추천리스트의 신규로 추가할 캐싱 대상 및 기존 캐싱 대상의 삭제를 요청하면, 요청에 따라 캐싱 정책 및 AI 캐싱 데이터 추천 모델에 반영하는 단계;를
    포함하는 것을 특징으로 하는 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 방법.
KR1020210121360A 2021-09-11 2021-09-11 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버 및 방법 KR102366871B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210121360A KR102366871B1 (ko) 2021-09-11 2021-09-11 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210121360A KR102366871B1 (ko) 2021-09-11 2021-09-11 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버 및 방법

Publications (1)

Publication Number Publication Date
KR102366871B1 true KR102366871B1 (ko) 2022-02-23

Family

ID=80495571

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210121360A KR102366871B1 (ko) 2021-09-11 2021-09-11 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버 및 방법

Country Status (1)

Country Link
KR (1) KR102366871B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102576226B1 (ko) * 2023-02-28 2023-09-06 오병율 인공지능 알고리즘을 통해 서버 과부하 예측 및 해소가 가능한 캐싱 시스템
KR102645660B1 (ko) * 2023-09-04 2024-03-11 주식회사 콩벤처스 인공지능에 기반한 애플리케이션 생성방법 및 그 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030090178A (ko) * 2002-05-21 2003-11-28 주식회사 케이티 하이퍼텍스트를 이용한 사용자 성향 데이터 저장 방법 및그를 이용한 사용자 프로파일 학습 방법
JP2015141702A (ja) * 2014-01-30 2015-08-03 株式会社デジタルガレージ サービス提供システム、端末装置、サービス制御サーバ及びプログラム
KR20180093834A (ko) * 2017-02-14 2018-08-22 권오현 멀티 테넌시 환경에서의 개별 테넌트별 오토 스케일링 호출 규칙 자동 생성 방법 및 장치
KR102042431B1 (ko) 2018-05-24 2019-11-08 주식회사 티맥스소프트 클라우드 환경에서 웹 캐싱을 위한 메타 정보 저장 방법 및 이를 사용한 웹 서버
KR102124499B1 (ko) * 2018-11-30 2020-06-19 주식회사 코레토 클라우드 서비스 기반의 어플리케이션 서비스 제공 방법, 장치 및 컴퓨터-판독가능 매체

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030090178A (ko) * 2002-05-21 2003-11-28 주식회사 케이티 하이퍼텍스트를 이용한 사용자 성향 데이터 저장 방법 및그를 이용한 사용자 프로파일 학습 방법
JP2015141702A (ja) * 2014-01-30 2015-08-03 株式会社デジタルガレージ サービス提供システム、端末装置、サービス制御サーバ及びプログラム
KR20180093834A (ko) * 2017-02-14 2018-08-22 권오현 멀티 테넌시 환경에서의 개별 테넌트별 오토 스케일링 호출 규칙 자동 생성 방법 및 장치
KR102042431B1 (ko) 2018-05-24 2019-11-08 주식회사 티맥스소프트 클라우드 환경에서 웹 캐싱을 위한 메타 정보 저장 방법 및 이를 사용한 웹 서버
KR102124499B1 (ko) * 2018-11-30 2020-06-19 주식회사 코레토 클라우드 서비스 기반의 어플리케이션 서비스 제공 방법, 장치 및 컴퓨터-판독가능 매체

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102576226B1 (ko) * 2023-02-28 2023-09-06 오병율 인공지능 알고리즘을 통해 서버 과부하 예측 및 해소가 가능한 캐싱 시스템
KR102645660B1 (ko) * 2023-09-04 2024-03-11 주식회사 콩벤처스 인공지능에 기반한 애플리케이션 생성방법 및 그 시스템

Similar Documents

Publication Publication Date Title
US10785322B2 (en) Server side data cache system
US8751466B1 (en) Customizable answer engine implemented by user-defined plug-ins
US7996380B2 (en) Method and apparatus for processing metadata
US7483941B2 (en) System and method for dynamically inserting prefetch tags by the web server
KR101153082B1 (ko) 텍스트 마이닝 및 검색을 위한 api
US9948531B2 (en) Predictive prefetching to reduce document generation times
KR102366871B1 (ko) 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버 및 방법
CA2786708C (en) Scalable topical aggregation of data feeds
US10191856B2 (en) Method of managing web browser cache size using logical relationships and clustering
KR100672277B1 (ko) 개인화 검색 방법 및 검색 서버
CN104679898A (zh) 一种大数据访问方法
US20120110015A1 (en) Search cache for document search
CN104778270A (zh) 一种用于多文件的存储方法
US8392576B1 (en) Browser based redirection of broken links
JP2005018787A (ja) キャッシュエントリを無効化するために使用できるデータベーステーブル変更情報の登録および取り出し
US9154522B2 (en) Network security identification method, security detection server, and client and system therefor
US10007731B2 (en) Deduplication in search results
US8504692B1 (en) Browser based redirection of broken links
US8346780B2 (en) Integrated search server and integrated search method
US11087098B2 (en) Computer systems for classifying multilingual text
US10223460B2 (en) Application partial deep link to a corresponding resource
US11294906B2 (en) Database record searching with multi-tier queries
Tian et al. Tagging augmented neural topic model for semantic sparse web service discovery
Chan et al. System design of cloud search engine based on rich text content
Zhang et al. A kind of metadata prefetch method for distributed file system

Legal Events

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