KR20240000768A - 캐시 업데이트를 수행하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치 - Google Patents

캐시 업데이트를 수행하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치 Download PDF

Info

Publication number
KR20240000768A
KR20240000768A KR1020220077367A KR20220077367A KR20240000768A KR 20240000768 A KR20240000768 A KR 20240000768A KR 1020220077367 A KR1020220077367 A KR 1020220077367A KR 20220077367 A KR20220077367 A KR 20220077367A KR 20240000768 A KR20240000768 A KR 20240000768A
Authority
KR
South Korea
Prior art keywords
update
cache
time
confirmation request
data confirmation
Prior art date
Application number
KR1020220077367A
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 KR1020220077367A priority Critical patent/KR20240000768A/ko
Priority to PCT/KR2022/009226 priority patent/WO2023249151A1/ko
Priority to TW112122786A priority patent/TW202403534A/zh
Publication of KR20240000768A publication Critical patent/KR20240000768A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 개시에 따르면, 전자 장치가 캐시(cache)에 대한 업데이트(update)를 수행하는 방법에 있어서, 상기 캐시의 업데이트를 위해 사용자가 설정하는 업데이트 완료 설정 시점에 대한 정보를 획득하는 단계; 상기 캐시에 대한 업데이트 소요 시간을 확인하는 단계; 상기 업데이트 완료 설정 시점 및 상기 업데이트 소요 시간에 기반하여, 상기 캐시를 위한 업데이트 시작 설정 시점을 결정하는 단계; 및 상기 업데이트 시작 설정 시점에 기반하여, 상기 캐시에 대한 제1 업데이트를 수행하는 단계를 포함하는 방법이 개시된다.

Description

캐시 업데이트를 수행하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치{OPERATING METHOD FOR ELECTRONIC APPARATUS FOR PERFORMING CASHE UPDATE AND ELECTRONIC APPARATUS SUPPORTING THEREOF}
본 발명은 캐시 업데이트를 수행하는 방법 및 장치에 관한 것으로서, 더욱 상세하게는 사용자가 설정한 시점에 따라 유동적으로 캐시의 업데이트를 수행하는 방법 및 이의 전자 장치에 관한 것이다.
전자기술의 발달에 따라 전자상거래는 쇼핑의 한 분야로 자리잡았다. 고객은 직접 쇼핑몰이나 시장에 가지 않고도 온라인 상에서 물품을 구매할 수 있으며, 온라인 상에서 구매한 물품은 고객이 요청한 배송지로 배송된다.
전자상거래의 경우 상품에 대한 자세하고 정확한 정보의 제공이 서비스 만족도에 상당한 영향을 미치기 때문에 보다 자세하고 정확한 정보를 제공하기 위한 다양한 방안에 대한 논의가 이루어지고 있으며, 여기에는 정보를 관리하는 차원에서 캐시를 포함한 데이터 구조에 대한 논의 또한 포함될 수 있다.
관련하여, KR101756594B1 건 또는 KR101500849B1 건 등의 선행문헌들을 참조할 수 있다.
본 발명의 방법에 따르면, 사용자가 설정한 시점에 따라 유동적으로 캐시의 업데이트를 수행할 수 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
다양한 실시예들은, 캐시 업데이트 수행을 위한 전자 장치의 동작 방법 및 이를 지원하는 전자 장치를 제공할 수 있다.
다양한 실시예들에 따른 전자 장치가 캐시(cache)에 대한 업데이트(update)를 수행하는 방법에 있어서, 상기 캐시의 업데이트를 위해 사용자가 설정하는 업데이트 완료 설정 시점에 대한 정보를 획득하는 단계; 상기 캐시에 대한 업데이트 소요 시간을 확인하는 단계; 상기 업데이트 완료 설정 시점 및 상기 업데이트 소요 시간에 기반하여, 상기 캐시를 위한 업데이트 시작 설정 시점을 결정하는 단계; 및 상기 업데이트 시작 설정 시점에 기반하여, 상기 캐시에 대한 제1 업데이트를 수행하는 단계를 포함할 수 있다.
예시적 실시예에서, 상기 업데이트 소요 시간은, 상기 캐시에 대하여 수행되었던 업데이트 이력에 대응하는 복수의 업데이트의 평균 소요 시간에 대응할 수 있다.
예시적 실시예에서, 상기 제1 업데이트는 상기 업데이트 시작 설정 시점 이후 상기 캐시에 대하여 수신되는 데이터 확인 요청에 기반하여 트리거링(triggering) 되고, 상기 제1 업데이트는 상기 업데이트 완료 설정 시점이 포함된 일정한 시구간 내에서 완료되도록 설정될 수 있다.
예시적 실시예에서, 상기 캐시 업데이트 수행 방법은, 상기 업데이트 시작 설정 시점 이후 상기 캐시에 대하여 처음으로 수신되는 제1 데이터 확인 요청에 기반하여, 상기 제1 업데이트가 트리거링 되도록 설정하는 단계를 더 포함할 수 있다.
예시적 실시예에서, 상기 캐시 업데이트 수행 방법은, 상기 캐시에 대한 업데이트 진행 여부를 확인하는 플래그(flag) 정보를 설정하는 단계; 및 상기 제1 데이터 확인 요청이 수신된 점에 기반하여, 상기 플래그 정보의 값을 설정하는 단계를 더 포함할 수 있다.
예시적 실시예에서, 상기 플래그 정보의 상기 설정된 값에 기반하여, 상기 제1 데이터 확인 요청 이후 상기 캐시에 대하여 수신되는 다른 데이터 확인 요청에 의해 상기 캐시에 대한 업데이트가 트리거링 되지 않도록 설정될 수 있다.
예시적 실시예에서, 상기 업데이트 시작 설정 시점 이후 상기 캐시에 대한 데이터 확인 요청이 수신되지 않는 경우, 상기 제1 업데이트가 트리거링 되지 않을 수 있다.
예시적 실시예에서, 상기 캐시 업데이트 수행 방법은, 상기 업데이트 완료 설정 시점 이후 상기 제1 업데이트에 대응하는 캐시 만료 예정 시점을 설정하는 단계; 및 상기 캐시 만료 예정 시점 이후 상기 캐시에 대한 새로운 업데이트가 수행되도록 설정하는 단계를 더 포함할 수 있다.
예시적 실시예에서, 상기 캐시 만료 예정 시점은, 상기 업데이트 완료 설정 시점으로부터 상기 사용자가 설정한 일정한 시간 간격을 가지도록 설정될 수 있다.
예시적 실시예에서, 상기 캐시 만료 예정 시점은, 상기 업데이트 완료 설정 시점으로부터 랜덤(random) 함수에 기반하여 결정되는 임의의 시간 간격을 가지도록 설정될 수 있다.
예시적 실시예에서, 상기 캐시 업데이트 수행 방법은, 상기 캐시 만료 예정 시점 이후 상기 캐시에 대하여 처음으로 수신되는 제2 데이터 확인 요청에 기반하여, 상기 캐시에 대한 제2 업데이트를 수행하는 단계를 더 포함할 수 있다.
예시적 실시예에서, 상기 캐시 업데이트 수행 방법은, 상기 제2 데이터 확인 요청이 수신된 점에 기반하여, 상기 제2 업데이트가 완료될 때까지 상기 캐시에 대하여 수신되는 데이터 확인 요청에 대응하는 데이터 확인을 중단하도록 설정하는 단계를 더 포함할 수 있다.
예시적 실시예에서, 상기 캐시 업데이트 수행 방법은, 상기 제2 데이터 확인 요청이 수신되고 상기 제2 데이터 확인 요청 이후 일정 시간 동안 상기 캐시에 대하여 수신되는 다른 데이터 확인 요청의 수가 임계 개수 이상인 경우, 상기 제2 업데이트가 완료될 때까지 상기 캐시에 대하여 수신되는 데이터 확인 요청에 대응하는 데이터 확인을 중단하도록 설정하는 단계를 더 포함할 수 있다.
예시적 실시예에서, 상기 캐시 업데이트 수행 방법은, 상기 캐시에 대한 제3 데이터 확인 요청을 수신하는 단계; 상기 제3 데이터 확인 요청이 수신된 시점을 확인하는 단계; 및 상기 수신된 시점 및 상기 업데이트 완료 설정 시점을 비교하여, 상기 캐시에서 상기 제3 데이터 확인 요청에 대응하는 데이터를 확인하도록 설정하는 단계를 더 포함할 수 있다.
예시적 실시예에서, 상기 수신된 시점이 상기 업데이트 완료 설정 시점 이전인 경우, 상기 제1 업데이트가 수행되기 전 상기 캐시에 저장된 기존 데이터가 상기 제3 데이터 확인 요청에 대응하여 확인되도록 설정될 수 있다.
예시적 실시예에서, 상기 수신된 시점이 상기 업데이트 완료 설정 시점 이후인 경우, 상기 제1 업데이트가 수행된 이후 상기 캐시에 저장된 업데이트 된 데이터가 상기 제3 데이터 확인 요청에 대응하여 확인되도록 설정될 수 있다.
다양한 실시예들에 따른 캐시(cache)에 대한 업데이트(update)를 수행하는 전자 장치에 있어서, 프로세서(processor); 및 하나 이상의 인스트럭션(instruction)을 저장하는 하나 이상의 메모리(memory)를 포함하고, 상기 하나 이상의 인스트럭션은, 실행 시에, 상기 프로세서가: 상기 캐시의 업데이트를 위해 사용자가 설정하는 업데이트 완료 설정 시점에 대한 정보를 획득하는 단계; 상기 캐시에 대한 업데이트 소요 시간을 확인하는 단계; 상기 업데이트 완료 설정 시점 및 상기 업데이트 소요 시간에 기반하여, 상기 캐시를 위한 업데이트 시작 설정 시점을 결정하는 단계; 및 상기 업데이트 시작 설정 시점에 기반하여, 상기 캐시에 대한 제1 업데이트를 수행하는 단계를 수행하도록 상기 프로세서를 제어할 수 있다.
상술한 본 개시의 다양한 실시예들은 본 개시의 바람직한 실시예들 중 일부에 불과하며, 본 개시의 다양한 실시예들의 기술적 특징들이 반영된 여러 가지 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 상세한 설명을 기반으로 도출되고 이해될 수 있다.
본 발명은 사용자가 설정한 시점에 따라 유동적으로 캐시의 업데이트를 수행하는 방법을 제시하여, 캐시의 업데이트에 대한 관리 편의를 도모할 수 있는 측면에서 기술적인 효과를 갖는다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 다양한 실시예들에 따른 캐시 업데이트 수행을 위한 전자 장치의 동작 방법이 구현될 수 있는 캐시 업데이트 수행 시스템을 설명하기 위한 도면이다.
도 2는 다양한 실시예들에 따른 서버 디바이스 및 관리자 디바이스의 구성을 도시한 도면이다.
도 3은 다양한 실시예들에 따른 캐시 업데이트 수행을 위한 서버 디바이스(100)의 동작 방법을 도시한 도면이다.
도 4는 다양한 실시예들에 따른 서버 디바이스(100)가 데이터 확인 요청이 수신된 시점과 업데이트 완료 설정 시점을 비교해 데이터를 확인하는 동작 방법을 도시한 도면이다.
도 5는 다양한 실시예들에 따른 서버 디바이스(100)가 캐시 만료 예정 시점을 설정하여 캐시를 관리하는 동작 방법을 도시한 도면이다.
도 6은 본 발명에 따른 캐시의 업데이트가 수행되는 모습을 도시한 도면이다.
이하의 실시예들은 다양한 실시예들의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및 특징들을 결합하여 다양한 실시예들을 구성할 수도 있다. 다양한 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.
도면에 대한 설명에서, 다양한 실시예들의 요지를 흐릴 수 있는 절차 또는 단계 등은 기술하지 않았으며, 당해 기술분야에서 통상의 지식을 가진 자의 수준에서 이해할 수 있을 정도의 절차 또는 단계는 또한 기술하지 아니하였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 다양한 실시예들을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
이하, 다양한 실시예들에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 다양한 실시예들의 예시적인 실시형태를 설명하고자 하는 것이며, 유일한 실시형태를 나타내고자 하는 것이 아니다.
또한, 다양한 실시예들에서 사용되는 특정(特定) 용어들은 다양한 실시예들의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 다양한 실시예들의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
도 1은 다양한 실시예들에 따른 캐시 업데이트 수행을 위한 전자 장치의 동작 방법이 구현될 수 있는 캐시 업데이트 수행 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 다양한 실시예들에 따른 캐시 업데이트 수행 시스템은 다양한 종류의 전자 장치들에 구현될 수 있다. 예를 들어, 캐시 업데이트 수행 시스템은 서버 디바이스(100) 및 관리자 디바이스(200)에 구현될 수 있다. 달리 말해, 서버 디바이스(100) 및 관리자 디바이스(200)는 각각의 장치에 구현된 캐시 업데이트 수행 시스템을 기반으로, 본 개시의 다양한 실시예들에 따른 동작을 수행할 수 있다. 한편, 다양한 실시예들에 따른 캐시 업데이트 수행 시스템은, 상기 도 1에 도시된 바에 국한되지 않고, 더 다양한 전자 장치와 서버들에 구현될 수도 있을 것이다.
다양한 실시예들에 따른 서버 디바이스(100)는, 복수 개의 관리자 디바이스(200)들과 무선 및 유선 통신을 수행하며, 대단위의 저장 용량을 갖는 스토리지를 포함하는 장치일 수 있다. 예를 들어, 서버 디바이스(100)는 복수 개의 관리자 디바이스(200)들과 연동되는 클라우드 디바이스(Cloud device)일 수 있다.
다양한 실시예들에 따른 관리자 디바이스(200)는, 데스크탑 피시, 태블릿 피시, 모바일 단말 등의 개인 사용자에 의해 이용될 수 있는 장치일 수 있다. 이외에도 유사한 기능을 수행하는 다른 전자 장치들이 관리자 디바이스(200)로 이용될 수 있으며, 본 발명에서는 특히 데이터가 서빙 또는 처리되는 데이터 구조 및 시스템을 관리하기 위해 관리자 혹은 사용자가 이용하는 단말이 상기 관리자 디바이스(200)에 대응할 수 있다.
다양한 실시예들에 따른 캐시 업데이트 수행 시스템은 그 동작을 위한 다양한 모듈들을 포함할 수 있다. 캐시 업데이트 수행 시스템에 포함된 모듈들은 캐시 업데이트 수행 시스템이 구현되는(또는, 물리적 장치에 포함되는) 물리적 장치(예: 서버 디바이스(100) 및 관리자 디바이스(200))가 지정된 동작을 수행할 수 있도록 구현된 컴퓨터 코드 내지는 하나 이상의 인스트럭션 (instruction) 일 수 있다. 다시 말해, 캐시 업데이트 수행 시스템이 구현되는 물리적 장치는 복수 개의 모듈들을 컴퓨터 코드 형태로 메모리에 저장하고, 메모리에 저장된 복수 개의 모듈들이 실행되는 경우 복수 개의 모듈들은 물리적 장치가 복수 개의 모듈들에 대응하는 지정된 동작들을 수행하도록 할 수 있다.
도 2는 다양한 실시예들에 따른 서버 디바이스 및 관리자 디바이스의 구성을 도시한 도면이다.
도 2를 참조하면, 서버 디바이스(100) 및 관리자 디바이스(200)는 입/출력부(210), 통신부(220), 스토리지(230) 및 프로세서(240)를 포함할 수 있다.
입/출력부(210)는 사용자 입력을 받거나 또는 사용자에게 정보를 출력하는 각종 인터페이스나 연결 포트 등일 수 있다. 입/출력부(210)는 입력 모듈과 출력 모듈을 포함할 수 있는데, 입력 모듈은 사용자로부터 사용자 입력을 수신한다. 사용자 입력은 키 입력, 터치 입력, 음성 입력을 비롯한 다양한 형태로 이루어질 수 있다. 이러한 사용자 입력을 받을 수 있는 입력 모듈의 예로는 전통적인 형태의 키패드나 키보드, 마우스는 물론, 사용자의 터치를 감지하는 터치 센서, 음성 신호를 입력받는 마이크, 영상 인식을 통해 제스처 등을 인식하는 카메라, 사용자 접근을 감지하는 조도 센서나 적외선 센서 중 적어도 하나를 포함하는 근접 센서, 가속도 센서나 자이로 센서 등을 통해 사용자 동작을 인식하는 모션 센서 및 그 외의 다양한 형태의 사용자 입력을 감지하거나 입력받는 다양한 형태의 입력 수단이 있으며, 본 개시의 실시예에 따른 입력 모듈은 위에 나열한 장치 중 적어도 하나를 포함할 수 있다. 여기서, 터치 센서는 디스플레이 패널에 부착되는 터치 패널이나 터치 필름을 통해 터치를 감지하는 압전식 또는 정전식 터치 센서, 광학적인 방식에 의해 터치를 감지하는 광학식 터치 센서 등으로 구현될 수 있다. 이외에도 입력 모듈은 자체적으로 사용자 입력을 감지하는 장치 대신 사용자 입력을 입력받는 외부의 입력 장치를 연결시키는 입력 인터페이스(USB 포트, PS/2 포트 등)의 형태로 구현될 수도 있다. 또 출력 모듈은 각종 정보를 출력할 수 있다. 출력 모듈은 영상을 출력하는 디스플레이, 소리를 출력하는 스피커, 진동을 발생시키는 햅틱 장치 및 그 외의 다양한 형태의 출력 수단 중 적어도 하나를 포함할 수 있다. 이외에도 출력 모듈은 상술한 개별 출력 수단을 연결시키는 포트 타입의 출력 인터페이스의 형태로 구현될 수도 있다.
일 예로, 디스플레이 형태의 출력 모듈은 텍스트, 정지 영상, 동영상을 디스플레이 할 수 있다. 디스플레이는 액정 디스플레이(LCD: Liquid Crystal Display), 발광 다이오드(LED: light emitting diode) 디스플레이, 유기 발광 다이오드(OLED: Organic Light Emitting Diode) 디스플레이, 평판 디스플레이(FPD: Flat Panel Display), 투명 디스플레이(transparent display), 곡면 디스플레이(Curved Display), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 홀로그래픽 디스플레이(holographic display), 프로젝터 및 그 외의 영상 출력 기능을 수행할 수 있는 다양한 형태의 장치 중 적어도 하나를 포함할 수 있다. 이러한 디스플레이는 입력 모듈의 터치 센서와 일체로 구성된 터치 디스플레이의 형태일 수도 있다.
통신부(220)는 다른 장치와 통신할 수 있다. 따라서, 서버 디바이스(100) 및 관리자 디바이스(200)는 통신부를 통해 다른 장치와 정보를 송수신할 수 있다. 예를 들어, 서버 디바이스(100) 및 관리자 디바이스(200)는 통신부를 이용해 상호 간 통신을 수행하거나, 기타 다른 장치와 통신을 수행할 수 있다.
여기서, 통신, 즉 데이터의 송수신은 유선 또는 무선으로 이루어질 수 있다. 이를 위해 통신부는 LAN(Local Area Network)를 통해 인터넷 등에 접속하는 유선 통신 모듈, 이동 통신 기지국을 거쳐 이동 통신 네트워크에 접속하여 데이터를 송수신하는 이동 통신 모듈, 와이파이(Wi-Fi) 같은 WLAN(Wireless Local Area Network) 계열의 통신 방식이나 블루투스(Bluetooth), 직비(Zigbee)와 같은 WPAN(Wireless Personal Area Network) 계열의 통신 방식을 이용하는 근거리 통신 모듈, GPS(Global Positioning System)과 같은 GNSS(Global Navigation Satellite System)을 이용하는 위성 통신 모듈 또는 이들의 조합을 포함할 수 있다.
스토리지(230)는 각종 정보를 저장할 수 있다. 스토리지(230)는 데이터를 임시적으로 또는 반영구적으로 저장할 수 있다. 예를 들어, 서버 디바이스(100)의 스토리지(230)에는 서버 디바이스(100)를 구동하기 위한 운용 프로그램(OS: Operating System), 웹 사이트를 호스팅하기 위한 데이터나 점자 생성을 위한 프로그램 내지는 어플리케이션(예를 들어, 웹 어플리케이션)에 관한 데이터 등이 저장될 수 있다. 또, 스토리지는 상술한 바와 같이 모듈들을 컴퓨터 코드 형태로 저장할 수 있다.
스토리지(230)의 예로는 하드 디스크(HDD: Hard Disk Drive), SSD(Solid State Drive), 플래쉬 메모리(flash memory), 롬(ROM: Read-Only Memory), 램(RAM: Random Access Memory) 등이 있을 수 있다. 이러한 스토리지는 내장 타입 또는 탈부착 가능한 타입으로 제공될 수 있다.
프로세서(240)는 서버 디바이스(100) 및 관리자 디바이스(200)의 전반적인 동작을 제어한다. 이를 위해 프로세서(240)는 각종 정보의 연산 및 처리를 수행하고 서버 디바이스(100)의 구성요소들의 동작을 제어할 수 있다. 예를 들어, 프로세서(240)는 캐시 업데이트 수행을 위한 프로그램 내지 어플리케이션을 실행시킬 수 있을 것이다. 프로세서(240)는 하드웨어, 소프트웨어 또는 이들의 조합에 따라 컴퓨터나 이와 유사한 장치로 구현될 수 있다. 하드웨어적으로 프로세서(240)는 전기적인 신호를 처리하여 제어 기능을 수행하는 전자 회로 형태로 구현될 수 있으며, 소프트웨어적으로는 하드웨어적인 프로세서(240)를 구동시키는 프로그램 형태로 구현될 수 있다. 한편, 이하의 설명에서 특별한 언급이 없는 경우에는 서버 디바이스(100) 및 관리자 디바이스(200)의 동작은 프로세서(240)의 제어에 의해 수행되는 것으로 해석될 수 있다. 즉, 상술한 캐시 업데이트 수행 시스템에 구현되는 모듈들이 실행되는 경우, 모듈들은 프로세서(240)가 서버 디바이스(100) 및 관리자 디바이스(200)를 이하의 동작들을 수행하도록 제어하는 것으로 해석될 수 있다.
요약하면, 다양한 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 다양한 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.
하드웨어에 의한 구현의 경우, 다양한 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 다양한 실시예들에 따른 방법은 이하에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 예를 들어, 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치할 수 있으며, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고받을 수 있다.
이하에서는, 상기와 같은 기술적 사상에 기반하여 다양한 실시예들에 대해 보다 상세히 설명한다. 이하에서 설명되는 다양한 실시예들에 대해서는 앞서 설명한 내용들이 적용될 수 있다. 예를 들어, 이하에서 설명되는 다양한 실시예들에서 정의되지 않은 동작, 기능, 용어 등은 앞서 설명한 내용들에 기반하여 수행되고 설명될 수 있다.
이하의 설명에서는 서버 디바이스(100)가 캐시 업데이트 수행 동작을 처리함을 전제로 다양한 실시예들에 대하여 설명하며, 다양한 실시예들에 따르면, 관리자 디바이스(200)는 서버 디바이스(100)의 캐시 업데이트 수행 동작과 관련된 다양한 정보를 서버 디바이스(100)와 송수신할 수 있다.
도 3은 다양한 실시예들에 따른 캐시 업데이트 수행을 위한 서버 디바이스(100)의 동작 방법을 도시한 도면이다.
도 3에 따를 때 서버 디바이스(100)는 캐시(cache)에 대한 업데이트(update)를 수행하며, 이를 위한 동작으로써, 캐시의 업데이트를 위해 사용자가 설정하는 업데이트 완료 설정 시점에 대한 정보를 획득하고(301), 캐시에 대한 업데이트 소요 시간을 확인하며(303), 업데이트 완료 설정 시점 및 업데이트 소요 시간에 기반하여, 캐시를 위한 업데이트 시작 설정 시점을 결정하고(305), 업데이트 시작 설정 시점에 기반하여, 캐시에 대한 제1 업데이트를 수행할 수 있다(307).
도 3에 따라 서버 디바이스(100)가 캐시에 대한 업데이트를 수행하는 동작은 서버 디바이스(100)가 제공하는 서비스에서 처리되어야 할 다양한 데이터가 저장된 스토리지(storage)에 연계된 캐시를 업데이트 하는 것일 수 있으며, 이 때 상기 서비스는 서비스에서 판매되는 복수의 아이템들을 서비스를 이용하는 복수의 사용자가 주문 및 구매할 수 있는 서비스에 해당할 수 있다. 서비스에서 판매되는 복수의 아이템들은 아이템의 종류 또는 타입 등에 제한되지 않고 판매자가 아이템을 판매하기 위해 등록하는 다양한 종류 또는 타입의 아이템을 포함할 수 있다.
캐시는 스토리지로부터 데이터를 전달 받아 저장하고 서버 디바이스(100) 등의 장치로부터 데이터 호출이 확인되면 저장한 데이터를 상기 장치로 전송하게 된다. 캐시는 일정한 업데이트 주기에 따른 시점 마다 스토리지로부터 데이터를 전달 받아 업데이트 될 수 있고, 기 설정된 업데이트 주기에 따른 시점과 별개로 본 발명과 같이 관리자 또는 사용자의 설정에 따른 시점에서 스토리지로부터 데이터를 새롭게 전달 받아 업데이트 되도록 설정될 수 있다.
다양한 실시예들에 따르면, 동작 301에서, 서버 디바이스(100)는 캐시의 업데이트를 위해 사용자가 설정하는 업데이트 완료 설정 시점에 대한 정보를 획득할 수 있다.
예를 들어, 동작 301에서 업데이트 완료 설정 시점을 설정하는 사용자는 관리자 디바이스(200)에 대응하는 관리자 또는 사용자일 수 있으며, 상기 업데이트 완료 설정 시점은 캐시에 대하여 이미 설정되어 있는 업데이트나 캐시가 포함된 데이터 처리 시스템 상으로 관리되는 업데이트와는 별개로, 사용자가 자체적으로 또는 별도로 설정하는 사용자 설정(user setting) 업데이트를 위한 사용자 설정 업데이트 완료 예정 시점에 해당할 수 있다. 따라서, 서버 디바이스(100)의 동작 301은 사용자가 원하여 설정한 업데이트 완료 예정 시점에 대한 정보를 서버 디바이스(100)가 관리자 디바이스(200)로부터 획득하는 동작에 해당할 수 있다. 또한, 동작 307에 따라 서버 디바이스(100)가 캐시에 대하여 수행하는 제1 업데이트는 사용자 설정의 업데이트에 해당할 수 있다.
예를 들어, 동작 301에서의 업데이트 완료 설정 시점은 사용자가 캐시의 업데이트가 완료되기 원하는 시점으로, 서버 디바이스(100)가 캐시의 업데이트에 필요한 통상적인 소요 시간을 획득할 경우, 서버 디바이스(100)는 업데이트 완료 설정 시점에서 상기 업데이트에 필요한 통상적인 소요 시간만큼의 이전 시점에서 캐시의 업데이트를 시작하여 업데이트 완료 설정 시점에 업데이트가 완료되도록 관리할 수 있다.
예를 들어, 동작 301에서의 업데이트 완료 설정 시점에 맞춰 캐시의 업데이트가 완료되도록 설정되는 경우 캐시에 저장된 데이터는 업데이트 완료 설정 시점의 전/후로 달라질 수 있으며, 캐시에 대한 데이터 확인 요청이 업데이트 완료 설정 시점 이전에 수신되는지 혹은 업데이트 완료 설정 시점 이후에 수신되는지에 따라 캐시에서 확인되는 데이터가 달라질 수 있다. 이와 관련, 서버 디바이스(100)는 데이터 확인 요청이 수신된 시점과 업데이트 완료 설정 시점을 비교해 데이터를 확인하는 동작을 도 4와 같이 수행할 수 있다.
도 4는 다양한 실시예들에 따른 서버 디바이스(100)가 데이터 확인 요청이 수신된 시점과 업데이트 완료 설정 시점을 비교해 데이터를 확인하는 동작 방법을 도시한 도면이다.
도 4에서, 서버 디바이스(100)는 캐시에 대한 특정의 데이터 확인 요청을 수신할 수 있다(401). 이 때 이와 같은 특정의 데이터 확인 요청은, 스토리지에 저장된 데이터를 확인하기 위한 사용자, 관리자 및/또는 기타 데이터를 확인하고자 하는 존재로부터 획득되는 요청일 수 있으며, 스토리지에 저장된 데이터가 캐시에도 저장되어 있는 경우 캐시에서 해당 데이터를 확인하기 위한 요청에 해당할 수도 있다.
캐시에 대한 특정의 데이터 확인 요청을 수신한 경우 서버 디바이스(100)는, 상기 특정의 데이터 확인 요청이 수신된 시점을 확인할 수 있으며(403), 상기 특정의 데이터 확인 요청이 수신된 시점과 사용자가 설정한 상기 업데이트 완료 설정 시점을 비교하여 상기 특정의 데이터 확인 요청에 대응하는 데이터를 확인할 수 있다(405).
정리하면, 서버 디바이스(100)가 캐시에 대한 특정의 데이터 확인 요청을 수신하는 경우, 서버 디바이스(100)는 상기 특정의 데이터 확인 요청이 수신된 시점을 확인할 수 있으며, 상기 특정의 데이터 확인 요청이 수신된 시점과 상기 업데이트 완료 설정 시점을 비교하여 상기 특정의 데이터 확인 요청에 대응하는 데이터를 확인하도록 설정할 수 있다.
만약 상기 특정의 데이터 확인 요청이 수신된 시점이 상기 업데이트 완료 설정 시점 이전인 경우, 서버 디바이스(100)는 업데이트 전의 캐시에 대해 데이터 확인 요청이 수신된 것으로 판단하고, 상기 업데이트 완료 설정 시점에서 완료되는 업데이트가 수행되기 이전의 캐시에 저장된 기존 데이터를 상기 특정의 데이터 확인 요청에 대응하여 확인하도록 설정할 수 있다.
반면 상기 특정의 데이터 확인 요청이 수신된 시점이 상기 업데이트 완료 설정 시점 이후인 경우, 서버 디바이스(100)는 업데이트 후의 캐시에 대해 데이터 확인 요청이 수신된 것으로 판단하고, 상기 업데이트 완료 설정 시점에서 완료되는 업데이트가 수행된 이후의 캐시에 저장된 업데이트 된 데이터를 상기 특정의 데이터 확인 요청에 대응하여 확인하도록 설정할 수 있다.
다양한 실시예들에 따르면, 동작 303에서, 서버 디바이스(100)는 캐시에 대한 업데이트 소요 시간을 확인할 수 있다.
예를 들어, 동작 303에 따라 서버 디바이스(100)가 확인하는 캐시에 대한 업데이트 소요 시간은, 상기 캐시의 업데이트에 대하여 통상적으로 소요되었던 시간에 기반하여 획득될 수 있다. 일 예로, 상기 업데이트 소요 시간은, 캐시의 지난 업데이트에 소요된 업데이트 소요 시간에 해당하는 값으로써 획득될 수 있다. 다른 일 예로, 상기 업데이트 소요 시간은, 상기 캐시에 대하여 수행되었던 업데이트 이력에 대응하는 복수의 업데이트의 평균 소요 시간에 대응하는 값으로써 획득될 수 있다.
다양한 실시예들에 따르면, 동작 305에서, 서버 디바이스(100)는 업데이트 완료 설정 시점 및 업데이트 소요 시간에 기반하여, 캐시를 위한 업데이트 시작 설정 시점을 결정할 수 있다.
예를 들어, 동작 305에서 서버 디바이스(100)가 결정하는 캐시를 위한 업데이트 시작 설정 시점은, 동작 301에 따라 서버 디바이스(100)가 획득한 업데이트 완료 설정 시점에서 동작 303에 따라 서버 디바이스(100)가 확인한 업데이트 소요 시간만큼의 이전 시점에 해당할 수 있다. 즉, 서버 디바이스(100)가 동작 305에 따라 결정하는 업데이트 시작 설정 시점에서 제1 업데이트를 시작할 경우, 제1 업데이트에 업데이트 소요 시간만큼의 시간이 소요되어 업데이트 완료 설정 시점에서 제1 업데이트가 완료될 수 있다.
예를 들어, 업데이트 완료 설정 시점에서 완료되도록 관리되는 제1 업데이트는, 동작 305에 따라 서버 디바이스(100)에 의해 결정된 업데이트 시작 설정 시점 이후 캐시에 대하여 수신되는 데이터 확인 요청에 의해 트리거링(triggering) 될 수 있다. 즉, 캐시에 대하여 수신되는 데이터 확인 요청이 있으면 캐시에 대하여 사용자가 설정하는 제1 업데이트가 시작되도록 트리거링 될 수 있다. 또한, 제1 업데이트를 트리거링 하기 위한 데이터 확인 요청이 수신되는 과정에서 시간이 소요될 수 있는 점을 고려하여, 업데이트 완료 설정 시점을 포함하는 일정한 시구간 내에서 제1 업데이트가 완료되도록 관리 및 설정될 수도 있다.
예를 들어, 캐시에 대하여 사용자가 설정하는 제1 업데이트는, 업데이트 시작 설정 시점 이후 캐시에 대하여 최초로 수신되는 데이터 확인 요청에 의해 트리거링 될 수 있다. 즉, 캐시에 대해서는 복수의 데이터 확인 요청이 수신될 수 있으나, 캐시에 대한 업데이트는 업데이트 시작 설정 시점 이후 캐시에 대하여 처음으로 수신되는 데이터 확인 요청에 의해 시작되도록 설정할 수 있다. 이와 같은 설정을 위해, 서버 디바이스(100)는 플래그(flag) 정보를 활용할 수도 있다.
일 예로, 서버 디바이스(100)는 캐시에 대하여, 상기 캐시의 업데이트 진행 여부를 확인하기 위한 플래그(flag) 정보를 설정하고, 업데이트 시작 설정 시점 이후 캐시에 대하여 처음으로 데이터 확인 요청이 수신되면, 플래그 정보의 값을 '1'로 설정하여 현재 캐시의 업데이트가 진행 중이라는 플래그를 지시할 수 있다. 반면 데이터 확인 요청이 수신된 게 없어 캐시의 업데이트가 진행되지 않은 상태라면, 서버 디바이스(100)는 플래그 정보의 값을 '0'으로 설정하여 현재 캐시의 업데이트가 진행 중이지 않다는 플래그를 지시할 수 있다. 만약 위와 같은 방식에 따라 플래그 정보의 값이 '1'로 설정된 경우, 서버 디바이스(100)는 업데이트 시작 설정 시점 이후 캐시에 대하여 처음으로 데이터 확인 요청 이후 상기 캐시에 대해 추가적으로 수신되는 다른 데이터 확인 요청에 의해서는 캐시에 대한 업데이트가 트리거링되지 않도록 설정할 수 있다.
예를 들어, 서버 디바이스(100)가 동작 305에 따라 결정한 업데이트 시작 설정 시점 이후 캐시에 대하여 아무런 데이터 확인 요청이 수신되지 않는다면, 사용자 설정 업데이트에 해당하는 제1 업데이트는 트리거링 되지 않을 수 있다. 이 경우 캐시는 사용자 설정 업데이트에 해당하는 제1 업데이트에 의해 업데이트 되지는 않으나, 캐시에 대하여 기 설정되어 있는 업데이트 또는 데이터 처리 시스템 상으로 관리되는 업데이트에 의해 업데이트 될 수 있다.
다양한 실시예들에 따르면, 동작 307에서, 서버 디바이스(100)는 업데이트 시작 설정 시점에 기반하여, 캐시에 대한 제1 업데이트를 수행할 수 있다.
예를 들어, 동작 307에 따라 서버 디바이스(100)가 캐시에 대한 제1 업데이트를 수행하는데 동작 301 내지 동작 305에서 전술한 다양한 실시예가 활용될 수 있다.
한편, 서버 디바이스(100)가 동작 307에 따라 제1 업데이트를 수행하는 경우에 있어서, 서버 디바이스(100)는 제1 업데이트가 만료되고 이후 캐시가 새롭게 업데이트 될 수 있도록 갱신하는, 제1 업데이트에 대응하는 캐시 만료 예정 시점을 설정하여 캐시에 대한 업데이트를 새롭게 관리하는 동작을 도 5와 같이 수행할 수도 있다.
도 5는 다양한 실시예들에 따른 서버 디바이스(100)가 캐시 만료 예정 시점을 설정하여 캐시를 관리하는 동작 방법을 도시한 도면이다.
도 5에서 서버 디바이스(100)는, 동작 301에 따른 업데이트 완료 설정 시점에서 동작 307에 따른 제1 업데이트가 수행되도록 설정된 점을 확인할 수 있다(501). 제1 업데이트가 수행되도록 설정된 점을 확인한 서버 디바이스(100)는 제1 업데이트가 유효한 기간을 설정하고 이후 캐시에 대한 새로운 업데이트가 수행되도록 관리할 필요가 있으므로, 업데이트 완료 설정 시점 이후 제1 업데이트에 대응하는 캐시 만료 예정 시점을 설정할 수 있다(503). 캐시 만료 예정 시점이 설정되면 제1 업데이트의 유효 기간은 캐시 만료 예정 시점까지로 확인될 수 있으며, 서버 디바이스(100)는 캐시 만료 예정 시점 이후 캐시에 대한 새로운 업데이트가 수행되도록 설정하여(505), 제1 업데이트가 수행되고 일정한 시간이 지난 후 캐시에 새롭게 갱신되도록 관리할 수 있다.
예를 들어, 동작 503에 따라 서버 디바이스(100)가 제1 업데이트에 대응하여 설정한 캐시 만료 예정 시점은, 제1 업데이트가 완료되도록 관리되는 업데이트 완료 설정 시점으로부터 일정한 시간 간격을 가지도록 설정될 수 있으며, 이 때 상기 일정한 시간 간격은 관리자 디바이스(200)에 대응하는 관리자 또는 사용자가 설정한 시간 간격일 수 있다. 즉, 제1 업데이트가 완료되도록 관리되는 업데이트 완료 설정 시점을 설정한 관리자 또는 사용자는, 제1 업데이트가 완료되고 일정한 시간 간격 이후 새로운 업데이트가 수행될 수 있도록 하는 캐시 만료 예정 시점을 설정할 수 있다. 일 예로, 업데이트 완료 설정 시점으로부터 1분, 2분, 3분, ... 등의 시간 간격을 가지도록 캐시 만료 예정 시점이 설정될 수 있다. 다른 일 예로, 업데이트 완료 설정 시점으로부터, 현재 시점에서 업데이트 완료 설정 시점까지에 해당하는 시간 간격을 가지도록 캐시 만료 예정 시점이 설정될 수도 있다.
예를 들어, 동작 503에 따라 서버 디바이스(100)가 제1 업데이트에 대응하여 설정한 캐시 만료 예정 시점은, 제1 업데이트가 완료되도록 관리되는 업데이트 완료 설정 시점으로부터 임의의 시간 간격을 가지도록 설정될 수 있으며, 이 때 상기 임의의 시간 간격은 랜덤(random) 함수에 기반하여 무작위로 결정되는 시간 간격일 수 있다. 즉, 제1 업데이트가 완료되도록 관리되는 업데이트 완료 설정 시점을 설정한 관리자 또는 사용자는, 제1 업데이트가 완료되고 임의로 설정되는 시간 간격 이후 새로운 업데이트가 수행될 수 있도록 하는 캐시 만료 예정 시점을 설정할 수 있다. 업데이트 완료 설정 시점으로부터 임의의 시간 간격을 가지도록 캐시 만료 예정 시점을 설정하는 경우, 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이에 설정되는 시간 간격이 지나치게 짧게 설정되어 업데이트가 불필요하게 반복되도록 관리되는 문제가 발생하거나, 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이에 설정되는 시간 간격이 지나치게 길게 설정되어 업데이트가 제 때 수행되지 않는 문제가 발생할 수 있다. 이를 위해, 서버 디바이스(100)는 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이의 시간 간격을 설정할 수 있는 최소 시간 간격 값 및 최대 시간 간격 값을 설정하여, 최소 시간 간격 값부터 최대 시간 간격 값 사이에서 랜덤 함수에 따른 임의의 시간 간격이 결정되도록 설정할 수도 있다.
예를 들어, 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이의 시간 간격은, 캐시에 대하여 확인되는 데이터 요청의 수에 기반하여 설정될 수도 있다. 즉, 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이의 시간 간격에서 캐시에 대하여 확인되는 데이터 요청의 수가 많다면, 해당 데이터 요청에 대응하는 데이터 확인을 완료한 뒤 캐시를 갱신하는 것이 적절할 수 있으므로, 캐시에 대하여 확인되는 데이터 요청의 수에 맞춰 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이의 시간 간격을 설정할 수도 있다. 일 예로, 캐시에 대하여 확인되는 데이터 요청의 수가 N개라면 상기 시간 간격을 1분으로, 캐시에 대하여 확인되는 데이터 요청의 수가 2N개라면 상기 시간 간격을 2분으로 설정하는 등 데이터 요청의 수가 일정하게 증가할 때마다 상기 시간 간격도 일정한 간격으로 늘어나도록 설정할 수 있다.
예를 들어, 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이의 시간 간격은, 캐시가 저장하는 데이터의 특성을 고려하여 설정될 수 있다. 캐시에 연계된 스토리지에 저장되는 데이터가, 실시간으로 업데이트 되어야 할 필요성이 있는 것으로 판단되는 데이터에 해당하고 캐시가 이와 같은 데이터를 저장하도록 관리되는 경우, 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이의 시간 간격이 짧게 설정되어 캐시가 보다 자주 업데이트 되어 보다 실시간의 데이터를 저장할 수 있다. 반면 캐시에 연계된 스토리지에 저장되는 데이터가, 실시간으로 업데이트 되어야 할 필요성이 없는 것으로 판단되는 데이터에 해당하고 캐시가 이와 같은 데이터를 저장하도록 관리되는 경우, 업데이트 완료 설정 시점과 캐시 만료 예정 시점 사이의 시간 간격이 길게 설정되어 캐시의 업데이트에 따른 부하를 경감할 수 있다.
예를 들어, 캐시 만료 예정 시점 이후 이전의 제1 업데이트와는 다른 제2 업데이트가 수행되도록 관리되는 경우에 있어서, 이와 같은 제2 업데이트는 캐시 만료 예정 시점 이후 캐시에 대하여 수신되는 데이터 확인 요청에 의해 트리거링 되어 수행될 수 있다. 서버 디바이스(100)는 캐시 만료 예정 시점 이후 캐시에 대하여 수신되는 데이터 확인 요청이 있으면 제2 업데이트를 수행할 수 있으며, 이 때, 전술한 제1 업데이트와 유사하게, 캐시 만료 예정 시점 이후 캐시에 대하여 최초로 수신되는 데이터 확인 요청에 의해 제2 업데이트가 트리거링 될 수 있다. 즉, 캐시에 대해서는 복수의 데이터 확인 요청이 수신될 수 있으나, 캐시에 대한 제2 업데이트는 캐시 만료 예정 시점 이후 캐시에 대하여 처음으로 수신되는 데이터 확인 요청에 의해 시작되도록 설정되어, 서버 디바이스(100)가 캐시 만료 예정 시점 이후 캐시에 대하여 처음으로 수신되는 데이터 확인 요청에 기반하여 제2 업데이트를 수행할 수 있다.
예를 들어, 캐시 만료 예정 시점은 사용자가 설정한 사용자 설정 업데이트에 해당하는 제1 업데이트가 유효한 시점에 해당함을 고려해, 서버 디바이스(100)는 이와 같은 캐시 만료 예정 시점 이후 수행되는 제2 업데이트에 대해서는 제2 업데이트가 완료될 때까지 캐시에 대해 데이터 확인 요청이 있더라도 데이터 확인을 중단하도록 설정할 수 있다. 즉, 캐시 만료 예정 시점 이후 최초의 데이터 확인 요청이 수신되어 제2 업데이트가 진행되는 상황에서, 서버 디바이스(100)는 제2 업데이트가 완료될 때까지 캐시에 대하여 수신되는 다른 데이터 확인 요청에 대응하는 데이터 확인을 중단하도록 설정할 수 있다.
또는, 서버 디바이스(100)는 상기와 같은 데이터 확인의 중단이 조건부로 이루어지도록 설정할 수도 있다. 즉, 서버 디바이스(100)는 데이터 확인 요청이 많은 경우 또는 데이터 확인 처리에 지연(latency)이 발생할 것으로 예상되는 경우 데이터 확인이 중단되도록 설정할 수 있다. 일 예로, 제2 업데이트가 수행되는 모든 경우에 대해서 데이터 확인이 중단되도록 설정한다면 불필요하게 데이터 확인이 되지 않는 상황이 발생할 수 있으므로, 서버 디바이스(100)는 캐시 만료 예정 시점 이후 최초의 데이터 확인 요청이 수신되어 제2 업데이트가 진행되는 상황에서, 상기 최초의 데이터 확인 요청 이후 일정 시간 동안 캐시에 대하여 수신되는 다른 데이터 확인 요청의 수가 임계 개수 이상인 경우, 제2 업데이트가 완료될 때까지 캐시에 대하여 수신되는 다른 데이터 확인 요청에 대응하는 데이터 확인을 중단하도록 설정할 수 있다.
서버 디바이스(100)가 도 3 내지 도 5에 따라 캐시에 대한 업데이트를 수행하는 동작은, 도 6과 같은 모습으로 나타날 수 있다.
도 6은 본 발명에 따른 캐시의 업데이트가 수행되는 모습을 도시한 도면이다.
601에서 서버 디바이스(100)는 사용자가 설정한 업데이트 완료 설정 시점(user setting)이 포함된 시구간(refreshed range)에서 업데이트가 완료되도록 관리하기 위해, 캐시의 지난 업데이트에 소요된 업데이트 소요 시간 또는, 캐시의 지난 업데이트 이력을 기반으로 캐시의 업데이트에 필요한 것으로 확인된 통상의 업데이트 소요 시간(last execution time)을 고려한 업데이트 시작 설정 시점(start refresh)을 결정할 수 있다. 즉, 업데이트 시작 설정 시점(start refresh) 이후 캐시에 대한 데이터 확인 요청이 수신되면 캐시에 대한 사용자 설정의 업데이트가 시작될 수 있으며, 사용자가 설정한 업데이트 완료 설정 시점(user setting)이 포함된 시구간(refreshed range)에서 사용자 설정의 업데이트가 완료될 수 있다.
또한, 이와 같은 사용자 설정의 업데이트가 유효한 기간을 설정하고 캐시에 대한 새로운 업데이트가 수행될 수 있도록 관리하기 위해, 서버 디바이스(100)는 603과 같이 캐시 만료 예정 시점(redis cache expire)을 설정할 수도 있다. 캐시 만료 예정 시점 이후 캐시에 대한 데이터 확인 요청이 수신되면 캐시는 새롭게 업데이트 될 수 있다. 603에서는, 업데이트 완료 설정 시점(user setting)으로부터 3분 이후 캐시 만료 예정 시점(redis cache expire)이 설정된 것을 확인할 수 있다.
도 3 내지 도 6에 따른 동작 방법을 수행하는 과정에서 서버 디바이스(100)가 제공하는 각 정보들이 다양한 형태로 결합되어 제공될 수 있음은 자명하다.
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 즉 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명의 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한 상기 각각의 실시 예는 필요에 따라 서로 조합되어 운용할 수 있다. 예컨대, 본 발명의 모든 실시 예는 일부분들이 서로 조합되어 시스템에 의해 구현될 수 있다.
또한, 본 발명에 따른 시스템 등에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.
이와 같이, 본 발명의 다양한 실시예들은 특정 관점에서 컴퓨터 리드 가능 기록 매체(computer readable recording medium)에서 컴퓨터 리드 가능 코드(computer readable code)로서 구현될 수 있다. 컴퓨터 리드 가능 기록 매체는 컴퓨터 시스템에 의해 리드될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 컴퓨터 리드 가능 기록 매체의 예들은 읽기 전용 메모리(read only memory: ROM)와, 랜덤-접속 메모리(random access memory: RAM)와, 컴팩트 디스크- 리드 온니 메모리(compact disk-read only memory: CD-ROM)들과, 마그네틱 테이프(magnetic tape)들과, 플로피 디스크(floppy disk)들과, 광 데이터 저장 디바이스들, 및 캐리어 웨이브(carrier wave)들(인터넷을 통한 데이터 송신 등)을 포함할 수 있다. 컴퓨터 리드 가능 기록 매체는 또한 네트워크 연결된 컴퓨터 시스템들을 통해 분산될 수 있고, 따라서 컴퓨터 리드 가능 코드는 분산 방식으로 저장 및 실행된다. 또한, 본 발명의 다양한 실시예들을 성취하기 위한 기능적 프로그램들, 코드, 및 코드 세그먼트(segment)들은 본 발명이 적용되는 분야에서 숙련된 프로그래머들에 의해 쉽게 해석될 수 있다.
또한 본 발명의 다양한 실시예들에 따른 장치 및 방법은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 소프트웨어는 예를 들어, 삭제 가능 또는 재 기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비 휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 콤팩트 디스크(compact disk: CD), DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 본 발명의 다양한 실시예들에 따른 방법은 제어부 및 메모리를 포함하는 컴퓨터 또는 이와 같은 메모리 또는 컴퓨터를 포함한 차량 등에 의해 구현될 수 있고, 이러한 메모리는 본 발명의 실시예들을 구현하는 명령들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다.
따라서, 본 발명은 본 명세서의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다.
상기에서는 본 발명의 실시예들을 참조하여 설명하였지만, 본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며 본 발명의 범위를 한정하고자 하는 것은 아니다. 또한 앞서 설명된 본 발명에 따른 실시예들은 예시적인 것에 불과하며, 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.

Claims (17)

  1. 전자 장치가 캐시(cache)에 대한 업데이트(update)를 수행하는 방법에 있어서,
    상기 캐시의 업데이트를 위해 사용자가 설정하는 업데이트 완료 설정 시점에 대한 정보를 획득하는 단계;
    상기 캐시에 대한 업데이트 소요 시간을 확인하는 단계;
    상기 업데이트 완료 설정 시점 및 상기 업데이트 소요 시간에 기반하여, 상기 캐시를 위한 업데이트 시작 설정 시점을 결정하는 단계; 및
    상기 업데이트 시작 설정 시점에 기반하여, 상기 캐시에 대한 제1 업데이트를 수행하는 단계를 포함하는,
    캐시 업데이트 수행 방법.
  2. 제 1 항에 있어서,
    상기 업데이트 소요 시간은, 상기 캐시에 대하여 수행되었던 업데이트 이력에 대응하는 복수의 업데이트의 평균 소요 시간에 대응하는,
    캐시 업데이트 수행 방법.
  3. 제 1 항에 있어서,
    상기 제1 업데이트는 상기 업데이트 시작 설정 시점 이후 상기 캐시에 대하여 수신되는 데이터 확인 요청에 기반하여 트리거링(triggering) 되고,
    상기 제1 업데이트는 상기 업데이트 완료 설정 시점이 포함된 일정한 시구간 내에서 완료되도록 설정되는,
    캐시 업데이트 수행 방법.
  4. 제 3 항에 있어서,
    상기 캐시 업데이트 수행 방법은,
    상기 업데이트 시작 설정 시점 이후 상기 캐시에 대하여 처음으로 수신되는 제1 데이터 확인 요청에 기반하여, 상기 제1 업데이트가 트리거링 되도록 설정하는 단계를 더 포함하는,
    캐시 업데이트 수행 방법.
  5. 제 4 항에 있어서,
    상기 캐시 업데이트 수행 방법은,
    상기 캐시에 대한 업데이트 진행 여부를 확인하는 플래그(flag) 정보를 설정하는 단계; 및
    상기 제1 데이터 확인 요청이 수신된 점에 기반하여, 상기 플래그 정보의 값을 설정하는 단계를 더 포함하는,
    캐시 업데이트 수행 방법.
  6. 제 5 항에 있어서,
    상기 플래그 정보의 상기 설정된 값에 기반하여, 상기 제1 데이터 확인 요청 이후 상기 캐시에 대하여 수신되는 다른 데이터 확인 요청에 의해 상기 캐시에 대한 업데이트가 트리거링 되지 않도록 설정되는,
    캐시 업데이트 수행 방법.
  7. 제 3 항에 있어서,
    상기 업데이트 시작 설정 시점 이후 상기 캐시에 대한 데이터 확인 요청이 수신되지 않는 경우, 상기 제1 업데이트가 트리거링 되지 않는,
    캐시 업데이트 수행 방법.
  8. 제 1 항에 있어서,
    상기 캐시 업데이트 수행 방법은,
    상기 업데이트 완료 설정 시점 이후 상기 제1 업데이트에 대응하는 캐시 만료 예정 시점을 설정하는 단계; 및
    상기 캐시 만료 예정 시점 이후 상기 캐시에 대한 새로운 업데이트가 수행되도록 설정하는 단계를 더 포함하는,
    캐시 업데이트 수행 방법.
  9. 제 8 항에 있어서,
    상기 캐시 만료 예정 시점은, 상기 업데이트 완료 설정 시점으로부터 상기 사용자가 설정한 일정한 시간 간격을 가지도록 설정되는,
    캐시 업데이트 수행 방법.
  10. 제 8 항에 있어서,
    상기 캐시 만료 예정 시점은, 상기 업데이트 완료 설정 시점으로부터 랜덤(random) 함수에 기반하여 결정되는 임의의 시간 간격을 가지도록 설정되는,
    캐시 업데이트 수행 방법.
  11. 제 8 항에 있어서,
    상기 캐시 업데이트 수행 방법은,
    상기 캐시 만료 예정 시점 이후 상기 캐시에 대하여 처음으로 수신되는 제2 데이터 확인 요청에 기반하여, 상기 캐시에 대한 제2 업데이트를 수행하는 단계를 더 포함하는,
    캐시 업데이트 수행 방법.
  12. 제 11 항에 있어서,
    상기 캐시 업데이트 수행 방법은,
    상기 제2 데이터 확인 요청이 수신된 점에 기반하여, 상기 제2 업데이트가 완료될 때까지 상기 캐시에 대하여 수신되는 데이터 확인 요청에 대응하는 데이터 확인을 중단하도록 설정하는 단계를 더 포함하는,
    캐시 업데이트 수행 방법.
  13. 제 12 항에 있어서,
    상기 캐시 업데이트 수행 방법은,
    상기 제2 데이터 확인 요청이 수신되고 상기 제2 데이터 확인 요청 이후 일정 시간 동안 상기 캐시에 대하여 수신되는 다른 데이터 확인 요청의 수가 임계 개수 이상인 경우, 상기 제2 업데이트가 완료될 때까지 상기 캐시에 대하여 수신되는 데이터 확인 요청에 대응하는 데이터 확인을 중단하도록 설정하는 단계를 더 포함하는,
    캐시 업데이트 수행 방법.
  14. 제 1 항에 있어서,
    상기 캐시 업데이트 수행 방법은,
    상기 캐시에 대한 제3 데이터 확인 요청을 수신하는 단계;
    상기 제3 데이터 확인 요청이 수신된 시점을 확인하는 단계; 및
    상기 수신된 시점 및 상기 업데이트 완료 설정 시점을 비교하여, 상기 캐시에서 상기 제3 데이터 확인 요청에 대응하는 데이터를 확인하도록 설정하는 단계를 더 포함하는,
    캐시 업데이트 수행 방법.
  15. 제 14 항에 있어서,
    상기 수신된 시점이 상기 업데이트 완료 설정 시점 이전인 경우, 상기 제1 업데이트가 수행되기 전 상기 캐시에 저장된 기존 데이터가 상기 제3 데이터 확인 요청에 대응하여 확인되도록 설정되는,
    캐시 업데이트 수행 방법.
  16. 제 14 항에 있어서,
    상기 수신된 시점이 상기 업데이트 완료 설정 시점 이후인 경우, 상기 제1 업데이트가 수행된 이후 상기 캐시에 저장된 업데이트 된 데이터가 상기 제3 데이터 확인 요청에 대응하여 확인되도록 설정되는,
    캐시 업데이트 수행 방법.
  17. 캐시(cache)에 대한 업데이트(update)를 수행하는 전자 장치에 있어서,
    프로세서 (processor); 및
    하나 이상의 인스트럭션 (instruction) 을 저장하는 하나 이상의 메모리 (memory) 를 포함하고,
    상기 하나 이상의 인스트럭션은, 실행 시에, 상기 프로세서가:
    상기 캐시의 업데이트를 위해 사용자가 설정하는 업데이트 완료 설정 시점에 대한 정보를 획득하는 단계;
    상기 캐시에 대한 업데이트 소요 시간을 확인하는 단계;
    상기 업데이트 완료 설정 시점 및 상기 업데이트 소요 시간에 기반하여, 상기 캐시를 위한 업데이트 시작 설정 시점을 결정하는 단계; 및
    상기 업데이트 시작 설정 시점에 기반하여, 상기 캐시에 대한 제1 업데이트를 수행하는 단계를 수행하도록 상기 프로세서를 제어하는,
    전자 장치.
KR1020220077367A 2022-06-24 2022-06-24 캐시 업데이트를 수행하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치 KR20240000768A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220077367A KR20240000768A (ko) 2022-06-24 2022-06-24 캐시 업데이트를 수행하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
PCT/KR2022/009226 WO2023249151A1 (ko) 2022-06-24 2022-06-28 캐시 업데이트를 수행하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
TW112122786A TW202403534A (zh) 2022-06-24 2023-06-17 實行快取更新之電子裝置之動作方法及支持其之電子裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220077367A KR20240000768A (ko) 2022-06-24 2022-06-24 캐시 업데이트를 수행하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치

Publications (1)

Publication Number Publication Date
KR20240000768A true KR20240000768A (ko) 2024-01-03

Family

ID=89380164

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220077367A KR20240000768A (ko) 2022-06-24 2022-06-24 캐시 업데이트를 수행하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치

Country Status (3)

Country Link
KR (1) KR20240000768A (ko)
TW (1) TW202403534A (ko)
WO (1) WO2023249151A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065558B2 (en) * 2002-02-22 2006-06-20 Microsoft Corporation Opportunistic directory cache and method of serving target directory information in a network environment
US7020750B2 (en) * 2002-09-17 2006-03-28 Sun Microsystems, Inc. Hybrid system and method for updating remote cache memory with user defined cache update policies
US7275131B2 (en) * 2004-12-22 2007-09-25 International Business Machines Corporation Cache refresh algorithm and method
US10254998B2 (en) * 2015-11-03 2019-04-09 Samsung Electronics Co., Ltd. Coordinated garbage collection of flash devices in a distributed storage system
CN107016008B (zh) * 2016-06-06 2020-06-09 阿里巴巴集团控股有限公司 信息处理方法和装置及动态信息的显示方法和装置

Also Published As

Publication number Publication date
TW202403534A (zh) 2024-01-16
WO2023249151A1 (ko) 2023-12-28

Similar Documents

Publication Publication Date Title
KR102403609B1 (ko) 데이터 서빙 구조 설정을 위한 동작 방법 및 이를 지원하는 전자 장치
KR20240000768A (ko) 캐시 업데이트를 수행하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR102407242B1 (ko) 서비스 관련 정보 제공을 위한 동작 방법 및 이를 지원하는 전자 장치
KR102618518B1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR102713487B1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR102681000B1 (ko) 정보의 전송을 관리하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR102713483B1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR102713491B1 (ko) 서비스를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR102609583B1 (ko) 정보를 설정하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR102713473B1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR102681016B1 (ko) 아이템 관련 정보 제공을 위한 동작 방법 및 이를 지원하는 전자 장치
KR102640115B1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR102680984B1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR102630673B1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR20240037558A (ko) 정보를 처리하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR102369857B1 (ko) 광고 메시지 제공을 위한 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR102630629B1 (ko) 아이템 그룹 정보 제공을 위한 동작 방법 및 이를 지원하는 전자 장치
KR102618465B1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR102671698B1 (ko) 회원 정보 관리 방법 및 이를 위한 전자 장치
KR102583683B1 (ko) 아이템 정보 제공을 위한 동작 방법 및 이를 지원하는 전자 장치
KR102630699B1 (ko) 데이터를 전송하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR102620686B1 (ko) 계정 정보를 관리하는 방법 및 이를 지원하는 전자 장치
KR20240000767A (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR20230154591A (ko) 정보를 설정하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR20240015966A (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치