KR20180125009A - 데이터 캐싱 방법 및 장치 - Google Patents

데이터 캐싱 방법 및 장치 Download PDF

Info

Publication number
KR20180125009A
KR20180125009A KR1020187031539A KR20187031539A KR20180125009A KR 20180125009 A KR20180125009 A KR 20180125009A KR 1020187031539 A KR1020187031539 A KR 1020187031539A KR 20187031539 A KR20187031539 A KR 20187031539A KR 20180125009 A KR20180125009 A KR 20180125009A
Authority
KR
South Korea
Prior art keywords
data
cache
page
database
update
Prior art date
Application number
KR1020187031539A
Other languages
English (en)
Other versions
KR102232813B1 (ko
Inventor
링유 왕
야민 리
Original Assignee
알리바바 그룹 홀딩 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알리바바 그룹 홀딩 리미티드 filed Critical 알리바바 그룹 홀딩 리미티드
Publication of KR20180125009A publication Critical patent/KR20180125009A/ko
Application granted granted Critical
Publication of KR102232813B1 publication Critical patent/KR102232813B1/ko

Links

Images

Classifications

    • G06F17/30902
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은, 인터넷 기술 분야에 관한 것으로, 다수의 사용자가 페이지에 액세스하지만 페이지가 만료된 데이터를 캐싱할 때, 각 요청과 관련하여 데이터베이스 내의 데이터를 각각 검색할 필요가 있어, 다수의 요청이 동시에 데이터베이스에 액세스되는 현상을 유발한다는 문제점을 해결할 수 있는 데이터 캐싱 방법 및 장치를 개시한다. 상기 방법은 주로, 클라이언트에 의해 전송된 데이터 요청을 수신한 후, 데이터 요청에 대응하는 캐시 데이터의 잔여 유효 캐시 기간을 판정하는 단계; 잔여 유효 캐시 기간이 미리 설정된 갱신 임계값보다 큰지의 여부를 판정하는 단계; 및 잔여 유효 캐시 기간이 갱신 임계값 이하이면, 데이터베이스를 통해 캐시 데이터를 갱신하는 단계를 포함한다. 본 발명은 주로 데이터 캐싱에 기초하여 클라이언트 요청에 응답하는 시나리오에 적용 가능하다.

Description

데이터 캐싱 방법 및 장치
본 출원은 "Data Caching Method and Apparatus"라는 발명의 명칭으로 2016년 4월 1일자로 출원된 중국 특허출원 제201610204539.8호에 대한 우선권을 주장하며, 그 전체 내용이 참고로 본 명세서에 원용된다.
본 설명은 인터넷 기술 분야에 관한 것으로, 특히 데이터 캐싱 방법 및 장치에 관한 것이다.
예시적인 적용예에서, 수만명의 사용자가 거의 매초마다 대형 웹사이트 또는 애플리케이션의 동일한 페이지에 액세스한다. 따라서, 사용자 요청에 신속하게 응답하기 위해서, 캐싱 기술이 도입되었다. 페이지가 현재 기술에서 최초로 액세스될 때, 시스템은 우선 페이지에 대응하는 데이터를 데이터베이스에서 검색한 다음, 획득된 데이터를 클라이언트에 반송하고, 동시에 획득된 데이터를 캐시 서버에 캐싱하여, 페이지가 나중에 다시 액세스될 때에 데이터가 캐시 서버로부터 직접 획득될 수 있어, 대량의 데이터를 데이터베이스에 쿼리하는 데 소요되는 상당한 시간을 제거함으로써, 사용자 요청에 응답하는 효율을 개선할 수 있다.
데이터베이스 내의 데이터가 지속적으로 갱신되므로, 캐시 서버에 캐싱된 데이터는 영구적으로 캐싱되기보다는 일시적으로만 캐싱된다. 이러한 경우, 다수의 사용자가 페이지에 액세스하지만 페이지의 캐시 데이터가 만료되었으면, 시스템은 각 요청에 대해 데이터베이스 내의 데이터를 각각 검색할 필요가 있다. 따라서, 동시에 데이터베이스에 액세스하는 다수의 요청이 있을 수 있고, 데이터베이스로부터 데이터를 쿼리하는 효율이 낮으며, 데이터베이스에 대한 연결 수가 제한된다. 그 결과, 일부 사용자의 인터페이스는 간단한 시스템 이상을 겪을 수 있고 페이지 컨텐츠를 보는 데 실패할 수 있다.
이러한 관점에서, 본 발명은, 다수의 사용자가 페이지에 액세스하지만 페이지가 만료된 데이터를 캐싱할 때, 각 요청에 대해 데이터베이스 내의 데이터를 각각 검색할 필요가 있어, 다수의 요청이 동시에 데이터베이스에 액세스하는 문제를 초래하여, 일부 사용자의 인터페이스가 간단한 시스템 이상을 겪게 하고 페이지 컨텐츠를 보는 데 실패하게 하는 문제점을 해결할 수 있는 데이터 캐싱 방법 및 장치를 제공한다.
본 발명의 일 양태에 따르면, 데이터 캐싱 방법이 제공되며, 상기 방법은,
클라이언트에 의해 전송된 데이터 요청을 수신한 후, 데이터 요청에 대응하는 캐시 데이터의 잔여 유효 캐시 기간을 판정하는 단계;
잔여 유효 캐시 기간이 미리 설정된 갱신 임계값보다 큰지의 여부를 판정하는 단계; 및
잔여 유효 캐시 기간이 갱신 임계값 이하이면, 데이터베이스를 통해 캐시 데이터를 갱신하는 단계를 포함한다.
본 발명의 다른 양태에 따르면, 데이터 캐싱 장치가 제공되며, 상기 장치는,
클라이언트에 의해 전송된 데이터 요청을 수신한 후, 데이터 요청에 대응하는 캐시 데이터의 잔여 유효 캐시 기간을 판정하도록 구성된 확인 유닛;
확인 유닛에 의해 획득된 잔여 유효 캐시 기간이 미리 설정된 갱신 임계값보다 큰지의 여부를 판정하도록 구성된 판정 유닛; 및
판정 유닛의 판정 결과가, 잔여 유효 캐시 기간이 갱신 임계값 이하인 것이면, 데이터베이스를 통해 캐시 데이터를 갱신하도록 구성된 갱신 유닛을 포함한다.
상기 기술적인 해결책을 통해, 본 발명에 따른 데이터 캐싱 방법 및 장치는, 클라이언트에 의해 전송된 데이터 요청을 수신한 후, 데이터 요청에 대응하는 캐시 데이터의 잔여 유효 캐시 기간이 미리 설정된 갱신 임계값보다 큰지의 여부를 판정할 수 있고; 잔여 유효 캐시 기간이 갱신 임계값보다 클 때, 캐시 데이터를 클라이언트에 직접 반송할 수 있으며; 잔여 유효 캐시 기간이 양수이고 갱신 임계값 이하일 때, 캐시 데이터를 클라이언트에 반송하고 또한 데이터베이스를 통해 캐시 데이터를 갱신할 수 있다. 따라서, 캐시 데이터가 만료될 때에만 캐시 데이터가 갱신되는 현재의 기술에 비해서, 본 발명은 캐시 데이터가 만료되기 전에 캐시 데이터를 갱신할 수 있다. 다수의 클라이언트가 차후에 캐시 데이터를 요청할 때, 캐시 데이터는 여전히 유효 상태에 있으며, 캐시 데이터는 클라이언트 각각에 직접 반송될 수 있어, 다수의 요청이 만료된 캐시 데이터로 인해 병렬로 데이터베이스에 액세스하는 문제를 완화할 수 있다.
상기 설명은 단지 본 발명의 기술적인 해결책의 요약일 뿐이다. 본 발명의 기술적 수단 및 설명에 따른 구현을 보다 명확하게 이해할 수 있게 하고, 본 발명의 상기 및 다른 목적, 특징, 및 장점을 보다 쉽게 이해하게 하기 위해서, 본 발명의 구현 방식이 이하에서 설명될 것이다.
본 발명의 다양한 다른 이점 및 장점은 이하의 바람직한 구현 방식의 상세한 설명을 참조하여 당업자에게 명백해질 것이다. 첨부 도면은 이하의 바람직한 구현 방식을 설명하기 위한 목적으로만 사용되며, 본 발명을 한정하는 것으로 해석될 수 없다. 또한, 첨부 도면에서, 동일한 참조 부호는 동일한 부분을 나타내는 데 사용된다. 첨부 도면에서,
도 1은 본 발명의 일부 실시형태에 따른 데이터 캐싱 방법의 흐름도;
도 2는 본 발명의 일부 실시형태에 따른 데이터 캐싱 장치의 구성의 블록도;
도 3은 본 발명의 일부 실시형태에 따른 다른 데이터 캐싱 장치의 구성의 블록도.
본 개시내용의 예시적인 실시형태가 첨부 도면을 참조하여 이하에서 더욱 상세히 설명될 것이다. 첨부 도면이 본 개시내용의 예시적인 실시형태를 도시하지만, 본 개시는 다양한 방식으로 구현될 수 있고 본 명세서에서 설명되는 실시형태에 의해 한정되지 않음이 이해되어야 한다. 대조적으로, 이들 실시형태는 본 개시내용의 보다 완벽한 이해를 가능하게 하고 본 개시내용의 완전한 범위를 당업자에게 전달하기 위해 제공된다.
본 개시내용의 일부 실시형태는, 주로 서버 측에서 적용되는 데이터 캐싱 방법을 제공한다. 도 1에 나타낸 바와 같이, 이 방법은 주로 다음을 포함한다:
101. 클라이언트에 의해 전송된 데이터 요청을 수신한 후, 데이터 요청에 대응하는 캐시 데이터의 잔여 유효 캐시 기간을 판정하는 단계.
서버가 클라이언트에 의해 전송된 데이터 요청을 수신한 후, 서버는 데이터 요청에 대응하는 캐시 데이터를 캐시에서 검색하고 캐시 데이터의 잔여 유효 캐시 기간을 판정할 수 있어, 캐시 데이터가 갱신될 필요가 있는지의 여부가 잔여 유효 캐시 기간에 따라 추후에 판정될 수 있다. 여기서, 캐시 데이터의 각 피스(piece)가 캐싱될 때, 캐시 데이터의 피스의 캐싱 개시 시간 및 전체 유효 캐시 기간이 기록될 수 있다. 캐시 시간이 전체 유효 캐시 기간에 도달할 때, 캐시 데이터가 만료된다. 대안적으로, 전체 유효 캐시 기간에 대한 카운트다운 타이머가 제공될 수 있다. 카운트가 0이 될 때, 캐시 데이터가 만료된다. 따라서, 서버는 캐시 데이터의 시간 속성에 따라 캐시 데이터의 잔여 유효 캐시 기간을 판정할 수 있다.
102. 잔여 유효 캐시 기간이 미리 설정된 갱신 임계값보다 큰지의 여부를 판정하는 단계.
여기서, 잔여 유효 캐시 기간은 양수이며, 갱신 임계값은 캐시 데이터의 전체 유효 캐시 기간 미만이다. 잔여 유효 캐시 기간이 양수이면, 캐시 데이터가 유효 데이터인 것을 나타낸다. 이 경우, 단계(102)는 캐시 데이터를 조기에 갱신할 필요가 있는지의 여부를 판정하기 위해 실행될 수 있고; 잔여 유효 캐시 기간이 0이면, 캐시 데이터가 만료된 것을 나타낸다. 이 경우, 단계(102)는 취소되고, 각 데이터 요청과 관련하여 직접 데이터베이스로부터 데이터가 쿼리되고, 획득된 데이터가 클라이언트에 반송되며, 만료된 캐시 데이터가 획득된 데이터에 따라 갱신된다.
103. 잔여 유효 캐시 기간이 갱신 임계값 이하이면, 데이터베이스를 통해 캐시 데이터를 갱신하는 단계.
예를 들어, 잔여 유효 캐시 기간이 갱신 임계값 이하이면, 캐시 데이터가 클라이언트에 반송되고, 캐시 데이터가 데이터베이스를 통해 갱신되며; 잔여 유효 캐시 기간이 갱신 임계값보다 크면, 캐시 데이터가 클라이언트에 직접 반송되어, 데이터베이스를 통한 캐시 데이터에 대한 갱신을 제거한다. 여기서, 캐시 데이터를 클라이언트에 반송하는 것 및 데이터베이스를 통해 캐시 데이터를 갱신하는 것은 동시에 또는 다른 시간에 수행될 수 있으며, 여기에 한정되지 않는다.
캐시 데이터의 잔여 유효 캐시 기간이 갱신 임계값과 같을 때에 클라이언트에 의해 전송된 데이터 요청을 수신하면, 서버는 데이터베이스를 통해 캐시 데이터를 갱신할 필요가 있다. 이 경우, 갱신 임계값이 데이터베이스 내의 데이터를 쿼리하는 것으로부터 획득된 데이터를 캐시 내에 기록할 때까지 필요한 평균 시간이면, 갱신 동작은 캐시 데이터가 만료되는 순간에 바로 완료된다. 갱신 임계값이 평균 시간 미만이면, 갱신 동작은 캐시 데이터가 만료되는 순간에 완료되지 않는다. 다수의 클라이언트가 캐시 데이터 만료로부터 갱신 동작의 완료까지의 기간 동안 데이터 요청을 전송하면, 쿼리 요청이 각 데이터 요청과 관련하여 데이터베이스에 전송될 필요가 있어, 시스템 이상을 유발할 수 있다. 갱신 임계값이 평균 시간을 초과하면, 갱신 동작은 캐시 데이터가 만료되기 전에 완료된다. 따라서, 만료된 캐시로 인해 각 데이터 요청에 대해 데이터베이스에 쿼리 요청을 전송할 필요가 없다. 그 결과, 갱신 임계값이 예시적인 적용예에서 데이터베이스 내의 데이터를 쿼리하는 것으로부터 획득된 데이터를 캐시 내에 기록할 때까지 필요한 평균 시간 이상이면, 다수의 요청이 데이터베이스에 액세스하는 문제가 더욱 완화될 수 있다.
본 발명의 일부 실시형태에 따른 데이터 캐싱 방법에 의하면, 클라이언트에 의해 전송된 데이터 요청이 수신된 후, 데이터 요청에 대응하는 캐시 데이터의 잔여 유효 캐시 기간이 미리 설정된 갱신 임계값보다 큰지의 여부를 판정할 수 있고; 잔여 유효 캐시 기간이 갱신 임계값보다 클 때, 캐시 데이터가 클라이언트에 직접 반송되며; 잔여 유효 캐시 기간이 양수이고 갱신 임계값 이하일 때, 캐시 데이터가 클라이언트에 반송되고, 또한 캐시 데이터가 데이터베이스를 통해 갱신된다. 따라서, 캐시 데이터가 만료될 때에만 캐시 데이터가 갱신되는 현재의 기술에 비해서, 본 발명은 캐시 데이터가 만료되기 전에 캐시 데이터를 갱신할 수 있다. 다수의 클라이언트가 차후에 캐시 데이터를 요청할 때, 캐시 데이터는 여전히 유효 상태에 있으며, 캐시 데이터는 클라이언트 각각에 직접 반송될 수 있어, 다수의 요청이 만료된 캐시 데이터로 인해 병렬로 데이터베이스에 액세스하는 문제를 완화할 수 있다.
또한, 클라이언트에 의해 전송된 데이터 요청은 캐시 데이터가 데이터베이스를 통해 갱신되는 기간 동안 수신될 수 있고, 데이터 요청에 대응하는 캐시 데이터는 이 기간 동안 만료되지 않을 수 있으며, 갱신 조건(즉, 캐시 데이터의 잔여 유효 캐시 기간이 갱신 임계값 이하임)이 충족된다. 따라서, 캐시 데이터가 만료되지 않을 때와 캐시 데이터가 데이터베이스를 통해 갱신될 때에 캐시 데이터는 항상 갱신 조건을 충족한다. 이 기간 동안, 캐시 데이터에 대응하는 데이터 요청이 수신될 때마다, 캐시 데이터를 갱신하기 위해 데이터 쿼리 요청을 데이터베이스에 전송할 필요가 있다. 그 결과, 캐시 데이터가 빈번하게 갱신되고 데이터베이스에 빈번하게 액세스되는 현상이 발생한다.
상기 기술적인 문제점을 해결하기 위해서, 본 발명의 일부 실시형태는 상기 실시형태에 대해 다음과 같은 개량을 행할 수 있다. 캐시 데이터의 갱신 기간 동안 다른 데이터 요청이 수신되면, 잔여 유효 캐시 기간이 미리 설정된 갱신 임계값보다 큰지의 여부에 대한 판정은 더 이상 실행되지 않는다. 즉, 캐시 데이터는 수신된 데이터 요청이 최초로 갱신 조건을 충족시킬 때에만 갱신된다. 갱신이 완료되기 전에 다른 데이터 요청이 수신될 때, 캐시 데이터는, 데이터베이스에 액세스하여 캐시 데이터를 갱신할 필요없이 대응하는 클라이언트에 직접 반송된다.
또한, 상기 실시형태에 관련된 해결책에 대하여, 캐시 데이터의 잔여 유효 캐시 기간이 갱신 임계값으로부터 0(0을 제외함)까지 점진적으로 변화하는 처리에서 캐시 데이터에 대응하는 데이터 요청이 수신되지 않으면, 캐시 데이터를 갱신하기 위한 동작은 트리거링되지 않을 것이다. 그 결과, 만료된 캐시 데이터에 대한 문제가 여전히 존재하고, 그러면 다수의 요청이 동시에 데이터베이스에 액세스할 가능성이 있다. 다수의 요청이 만료된 캐시 데이터로 인해 데이터베이스에 병렬로 액세스하는 문제를 더욱 완화하기 위해서, 본 발명의 일부 실시형태는 상기 실시형태 중 어느 하나에 기초하여 다음과 같은 개량을 행할 수 있다:
저장된 캐시 데이터가 만료될 때, 클라이언트에 의해 전송되고 캐시 데이터에 대응하는 데이터 요청이 수신되는지의 여부를 확인하고; 클라이언트에 의해 전송되고 캐시 데이터에 대응하는 데이터가 수신되지 않으면, 데이터베이스를 통해 캐시 데이터를 갱신하며; 클라이언트에 의해 전송되고 캐시 데이터에 대응하는 데이터 요청이 수신되면, 데이터 요청에 대응하는 데이터를 데이터베이스에서 검색하고, 획득된 데이터를 클라이언트에 반송하며, 획득된 데이터에 기초하여 캐시 데이터를 갱신한다.
클라이언트에 의해 전송된 데이터 요청이 수신된 후에만 캐시 데이터가 갱신될 필요가 있는지의 여부에 대한 판정에 비해서, 본 발명의 일부 실시형태는 저장된 캐시 데이터가 만료되는지의 여부를 실시간으로 판정한다. 클라이언트에 의해 전송되고 캐시 데이터에 대응하는 데이터 요청이 캐시 데이터가 만료될 때에 수신되지 않으면, 캐시 데이터는 데이터베이스를 통해 직접 갱신된다. 그 결과, 클라이언트에 의해 전송된 데이터 요청이 캐시 데이터가 갱신된 후에 수신되면, 갱신된 캐시 데이터는 각 데이터 요청에 대해 데이터베이스에 액세스할 필요없이 클라이언트에 직접 반송될 수 있어, 다수의 요청이 동시에 데이터베이스에 액세스하는 문제를 더욱 완화할 수 있다.
또한, 본 발명의 일부 실시형태는 상기 실시형태 중 어느 하나에 기초하여 다음과 같은 개량을 행할 수 있다:
데이터 리소스에 최초로 액세스할 때, 데이터 리소스에 포함된 데이터는 리소스 유형 및 미리 설정된 규칙에 따라 적어도 2개의 데이터 세트로 분할된다. 각 데이터 세트는 개별적으로 캐싱되고, 데이터 세트 각각에 대응하는 키가 생성되며, 캐시 데이터는 차후에 키에 기초하여 검색될 수 있고, 데이터 세트 각각은 상이한 만료 시점을 가지며, 키 값은 캐시 데이터의 메인 키 값이다. 여기서, 데이터 리소스는 브라우저 페이지, 다른 애플리케이션 소프트웨어 상의 페이지, 및 다운로드될 파일을 포함한다.
또한, 데이터 리소스에 포함된 데이터가 적어도 2개의 데이터 세트로 분할되고 캐싱된 후, 상기 단계(102)의 예시적인 구현 방식은, 데이터 요청에 대응하는 데이터 세트의 잔여 유효 캐시 기간이 갱신 임계값보다 큰지의 여부를 판정할 수 있다.
예시적인 적용예에서, 데이터 리소스가 페이지일 때, 상이한 유형의 페이지는 상이한 페이지 데이터 분할 방법을 가질 수 있다. 다음과 같은 상황이 설명을 위한 예로서 사용될 것이다:
제1 상황: 고정 데이터를 표시하기 위한 제1 페이지에 포함된 데이터가 현재 기술로 캐싱될 때, 모든 데이터는 완전히 캐싱될 것이고, 즉 제1 페이지에 포함된 모든 데이터가 하나의 키에 대응한다. 따라서, 제1 페이지에 대응하는 캐싱된 데이터가 갱신될 때, 제1 페이지에 포함된 모든 데이터를 데이터베이스에서 검색할 필요가 있다. 쿼리할 데이터의 양은 많고 쿼리 효율은 낮다. 따라서, 상기 기술적인 문제점을 해결하기 위해서, 본 발명의 일부 실시형태는 제1 페이지에 대해 다음과 같은 분할을 행할 수 있다. 데이터 리소스가 고정 데이터를 표시하기 위한 제1 페이지일 때, 제1 페이지에 포함되고 데이터베이스로부터 획득된 데이터는 제1 페이지의 페이지 레이아웃에 따라 적어도 2개의 데이터 세트로 분할될 수 있다. 또한, 제1 페이지가 분할될 때, 데이터 세트는 개별적으로 캐싱되고 각 데이터 세트에 대응하는 키가 생성되며, 캐시 데이터는 차후에 키에 기초하여 검색될 수 있고, 데이터 세트 각각은 상이한 만료 시점을 갖는다.
예를 들어, 제1 페이지는 고정 데이터를 표시하기 위한 페이지이다. 즉, 클라이언트가 제1 페이지에 액세스할 때, 서버는 제1 페이지에 포함된 모든 데이터를 클라이언트에 반송할 필요가 있어, 제1 페이지가 클라이언트 상에 완전히 표시되게 하며, 여기서 제1 페이지에 의해 표시되는 고정 데이터는 텍스트, 링크, 이미지 등을 포함한다.
예시적인 적용예에서, 하나의 페이지는 종종 표시를 위해 적어도 2개의 영역으로 분할되며, 영역 내에 표시되는 데이터는 종종 동일한 포맷을 갖는다. 따라서, 제1 페이지에 포함된 데이터는 페이지 레이아웃에 따라 적어도 2개의 데이터 세트로 분할될 수 있고, 각 데이터 세트는 페이지 레이아웃의 하나의 영역에 대응하거나, 또는 각 데이터 세트는 하나의 영역의 일부에 대응하며; 대안적으로, 제1 페이지는 다른 분할 규칙에 따라 분할될 수 있고, 여기에 한정되지 않는다.
데이터 리소스가 고정 데이터를 표시하기 위한 제1 페이지이고 데이터가 상기 제1 상황에 기초하여 캐싱되면, 클라이언트가 페이지의 데이터를 요청할 때, 데이터 요청에 대응하는 각 데이터 세트의 잔여 유효 캐시 기간이 갱신 임계값보다 큰지의 여부를 개별적으로 판정하고, 데이터베이스를 통해 갱신 임계값 이하의 잔여 유효 캐시 기간을 갖는 데이터 세트를 갱신할 필요가 있다.
데이터 세트 각각이 상이한 만료 시점을 갖기 때문에, 동시에 일부 데이터 세트만이 갱신 임계값 이하의 잔여 유효 캐시 기간을 가질 가능성이 있다. 따라서, 페이지가 현재 기술에서 완전히 캐싱되는 것(즉, 페이지에 포함된 모든 데이터가 하나의 키에 대응함)에 비해서, 본 발명의 일부 실시형태는 단지 갱신 임계값 이하의 잔여 유효 캐시 기간을 갖는 데이터 세트만을 갱신할 필요가 있고, 페이지에 대응하는 다른 데이터 세트를 갱신할 필요가 없어, 페이지 데이터를 갱신함으로써 요구되는 데이터 량을 감소시키고 갱신 효율을 개선할 수 있다.
제2 상황: 조건 쿼리 기능을 갖는 제2 페이지에 포함된 데이터가 현재 기술로 캐싱될 때, 모든 데이터는 완전히 캐싱될 것이고, 즉 제2 페이지에 포함된 모든 데이터는 하나의 키에 대응한다. 따라서, 사용자가 제2 페이지에 기초하여 조건 쿼리를 수행할 때, 조건을 충족하는 데이터에 대해 제2 페이지에 대응하는 모든 캐시 데이터를 검색하고 획득된 데이터를 클라이언트에 반송할 필요가 있다. 따라서, 클라이언트 요청에 응답하는 효율이 낮다. 상기 기술적인 문제점을 해결하기 위해서, 본 발명의 일부 실시형태는 제2 페이지에 대해 다음과 같은 분할을 행할 수 있다.
데이터 리소스가 조건 쿼리 기능을 갖는 제2 페이지일 때, 제2 페이지에 포함되고 데이터베이스로부터 획득된 데이터는 제2 페이지가 관여하는 쿼리 조건의 조합에 따라 적어도 2개의 데이터 세트로 분할될 수 있다. 제2 페이지는 복수의 쿼리 조건 세트를 포함하고, 하나의 쿼리 조건 세트에 대응하는 결과 데이터는 데이터 세트이며, 하나의 쿼리 조건 세트는 적어도 하나의 쿼리 조건을 포함한다. 또한, 제2 페이지가 분할될 때, 데이터 세트는 개별적으로 캐싱되고 각 데이터 세트에 대응하는 키가 생성되며, 캐시 데이터는 차후에 키에 기초하여 검색될 수 있다.
여기서, 제2 페이지는 모든 쿼리 조건 및 하나의 쿼리 조건 세트에 대응하는 결과 데이터를 포함한다. 사용자가 최초로 제2 페이지를 입력할 때, 쿼리 조건은 종종 제한되지 않고, 이에 따라 모든 데이터는 페이지 상에 표시될 수 있으며; 사용자가 제2 페이지에 기초하여 쿼리 조건 세트를 선택함으로써 쿼리를 수행할 때, 이 쿼리 조건 세트에 대응하는 결과 데이터가 페이지 상에 표시될 수 있다.
예를 들어, 제2 페이지에 대한 쿼리 조건은, "기간(3개월 이내, 3 내지 6개월 사이, 6 내지 12개월 사이를 포함하지만, 이에 한정되지 않음)", 최소 구매 금액(100 내지 1000, 1000 내지 10000, 10000 내지 50000, 50000 초과를 포함하지만, 이에 한정되지 않음)", "상품 유형(펀드 상품, 보험 상품, 기타 상품을 포함하지만, 이에 한정되지 않음)"을 포함한다. 사용자가 최초로 제2 페이지를 입력할 때, 최소 구매 금액 및 상품 유형은 한정되지 않고, 모든 데이터가 표시되며; 사용자가 제2 페이지에 기초하여 "기간이 3개월 이내인 것, 최소 구매 금액이 10000 내지 50000인 것, 및 상품 유형이 펀드 상품인 것"을 선택할 때, 제2 페이지는 조건을 충족하는 데이터를 표시할 것이다.
데이터 리소스가 조건 쿼리 기능을 갖는 제2 페이지이고 데이터가 상기 제2 상황에 기초하여 캐싱되면, 사용자가 페이지에 기초하여 조건 쿼리를 수행할 때, 쿼리 조건 세트에 대응하는 데이터 세트의 잔여 유효 캐쉬 기간이 갱신 임계값보다 큰 지의 여부를 판정하고, 잔여 유효 캐시 기간이 갱신 임계값 이하일 때에 데이터베이스를 통해 데이터 세트를 갱신할 필요가 있다.
쿼리 조건 세트에 대응하는 데이터 세트가 개별적으로 캐싱되기 때문에, 쿼리 조건 하의 데이터 세트는 사용자가 페이지에 기초하여 조건 쿼리를 수행할 때에 키를 통해 직접 검색될 수 있고, 획득된 데이터 세트는 페이지에 포함된 모든 데이터 내의 쿼리 조건에 따라 이차 쿼리를 수행할 필요없이 클라이언트에 반송되어, 클라이언트 요청에 응답하는 효율을 개선한다.
또한, 상기 방법 실시형태에 따르면, 본 발명의 다른 실시형태는 데이터 캐싱 장치를 또한 제공한다. 도 2에 나타낸 바와 같이, 장치는 주로 확인 유닛(21), 판정 유닛(22), 및 갱신 유닛(23)을 포함하며, 여기서,
확인 유닛(21)은, 클라이언트에 의해 전송된 데이터 요청을 수신한 후, 데이터 요청에 대응하는 캐시 데이터의 잔여 유효 캐시 기간을 판정하도록 구성되고;
판정 유닛(22)은, 확인 유닛(21)에 의해 획득된 잔여 유효 캐시 기간이 미리 설정된 갱신 임계값보다 큰지의 여부를 판정하도록 구성되며;
갱신 유닛(23)은, 판정 유닛(22)의 판정 결과가, 잔여 유효 캐시 기간이 갱신 임계값 이하인 것이면, 데이터베이스를 통해 캐시 데이터를 갱신하도록 구성된다.
본 발명의 일부 실시형태에 따른 데이터 캐싱 장치에 의하면, 클라이언트에 의해 전송된 데이터 요청이 수신된 후, 데이터 요청에 대응하는 캐시 데이터의 잔여 유효 캐시 기간이 미리 설정된 갱신 임계값보다 큰지의 여부를 판정할 수 있고; 잔여 유효 캐시 기간이 갱신 임계값보다 클 때, 캐시 데이터가 클라이언트에 직접 반송되며; 잔여 유효 캐시 기간이 양수이고 갱신 임계값 이하일 때, 캐시 데이터가 클라이언트에 반송되고, 또한 캐시 데이터가 데이터베이스를 통해 갱신된다. 따라서, 캐시 데이터가 만료될 때에만 캐시 데이터가 갱신되는 현재의 기술에 비해서, 본 발명은 캐시 데이터가 만료되기 전에 캐시 데이터를 갱신할 수 있다. 다수의 클라이언트가 차후에 캐시 데이터를 요청할 때, 캐시 데이터가 여전히 유효 상태에 있고, 캐시 데이터가 각각의 클라이언트에 직접 반송될 수 있어, 다수의 요청이 만료된 캐시 데이터로 인해 병렬로 데이터베이스에 액세스하는 문제를 완화할 수 있다.
또한, 도 3에 나타낸 바와 같이, 장치는,
다른 데이터 요청이 캐시 데이터의 갱신 기간 동안 수신되면, 잔여 유효 캐시 기간이 미리 설정된 갱신 임계값보다 큰지의 여부에 대한 판정을 취소하도록 구성된 취소 유닛(24)을 더 포함한다.
또한, 도 3에 나타낸 바와 같이, 장치는,
저장된 캐시 데이터가 만료될 때, 클라이언트에 의해 전송되고 캐시 데이터에 대응하는 데이터 요청이 수신되는지의 여부를 확인하도록 구성된 쿼리 유닛(25);
클라이언트에 의해 전송되고 캐시 데이터에 대응하는 데이터 요청이 수신되지 않을 때, 데이터베이스를 통해 캐시 데이터를 갱신하도록 또한 구성된 상기 갱신 유닛(23);
클라이언트에 의해 전송되고 캐시 데이터에 대응하는 데이터가 수신되면, 데이터 요청에 대응하는 데이터를 데이터베이스에서 검색하고, 획득된 데이터를 클라이언트에 반송하도록 구성된 전송 유닛(26); 및
획득된 데이터에 기초하여 캐시 데이터를 갱신하도록 또한 구성된 상기 갱신 유닛(23)을 더 포함한다.
또한, 도 3에 나타낸 바와 같이, 장치는,
데이터 리소스가 최초로 액세스될 때, 데이터 리소스에 포함된 데이터를 리소스 유형 및 미리 설정된 규칙에 따라 적어도 2개의 데이터 세트로 분할하도록 구성된 분할 유닛(27); 및
차후에 키에 기초하여 캐시 데이터를 검색하기 위해, 분할 유닛(27)에 의해 획득된 각 데이터 세트를 개별적으로 캐싱하고 각 데이터 세트에 대응하는 키를 생성하도록 구성된 캐싱 유닛(28)을 더 포함하고, 데이터 세트 각각은 상이한 만료 시점을 갖는다.
또한, 도 3에 나타낸 바와 같이, 분할 유닛(27)은,
데이터 리소스가 고정 데이터를 표시하기 위한 제1 페이지일 때, 제1 페이지에 포함되고 데이터베이스로부터 획득된 데이터를 제1 페이지의 페이지 레이아웃에 따라 적어도 2개의 데이터 세트로 분할하도록 구성된 제1 분할 모듈(271); 및
데이터 리소스가 조건 쿼리 기능을 갖는 제2 페이지일 때, 제2 페이지에 포함되고 데이터베이스로부터 획득된 데이터를 제2 페이지가 관여하는 쿼리 조건의 조합에 따라 적어도 2개의 데이터 세트로 분할하도록 구성된 제2 분할 모듈(272)을 포함하며, 제2 페이지는 복수의 쿼리 조건 세트를 포함하고, 하나의 쿼리 조건 세트에 대응하는 결과 데이터는 데이터 세트이며, 하나의 쿼리 조건 세트는 적어도 하나의 쿼리 조건을 포함한다.
또한, 판정 유닛(22)은, 데이터 요청에 대응하는 데이터 세트의 잔여 유효 캐시 기간이 갱신 임계값보다 큰지의 여부를 판정하도록 구성된다.
장치 실시형태는 상기 방법 실시형태에 대응한다. 판독을 용이하게 하기 위해, 장치 실시형태는 상기 방법 실시형태의 상세를 하나씩 반복하지 않는다. 그러나, 이 실시형태에서의 장치는 상기 방법 실시형태에서의 모든 내용에 대응한다는 것에 유의해야 한다.
데이터 캐싱 장치는 프로세서 및 메모리를 포함하며, 상기 확인 유닛, 판정 유닛, 갱신 유닛 등은 프로그램 유닛으로서 메모리 내에 모두 저장되고, 대응하는 기능은 프로세서에 의해 메모리 내에 저장된 상기 프로그램 유닛을 실행하는 것을 통해 달성된다.
프로세서는 코어를 포함하며, 코어는 메모리 내의 대응하는 프로그램 유닛을 호출한다. 하나 이상의 코어가 제공될 수 있고, 다수의 요청이 캐시 만료로 인해 병렬로 데이터베이스에 액세스하는 문제는 코어 파라미터를 조정함으로써 완화될 수 있다.
메모리는 휘발성 메모리, 랜덤 액세스 메모리(RAM), 및/또는 비휘발성 메모리, 예를 들어 판독 전용 메모리(ROM) 또는 플래시 RAM과 같은 컴퓨터 판독가능 매체를 포함할 수 있다. 메모리는 적어도 하나의 메모리 칩을 포함한다.
본 출원은, 데이터 프로세싱 디바이스 상에서 실행될 때, 다음과 같은 방법 단계의 프로그램 코드의 초기화를 실행하기에 적합한 컴퓨터 프로그램 제품을 더 제공한다:
클라이언트에 의해 전송된 데이터 요청을 수신한 후, 데이터 요청에 대응하는 캐시 데이터의 잔여 유효 캐시 기간을 판정하는 단계;
잔여 유효 캐시 기간이 미리 설정된 갱신 임계값보다 큰지의 여부를 판정하는 단계로서, 잔여 유효 캐시 기간이 양수이고, 갱신 임계값이 캐시 데이터의 전체 유효 캐시 기간 미만인, 상기 판정하는 단계; 및
잔여 유효 캐시 기간이 갱신 임계값 이하이면, 데이터베이스를 통해 캐시 데이터를 갱신하는 단계.
상기 실시형태 각각의 설명은 각각의 초점을 갖는다. 일 실시형태에서 상세히 설명되지 않은 임의의 부분에 대해서는 다른 실시형태에서의 관련 설명이 참조될 수 있다.
상기 실시형태에서 "제1" 및 "제2"는 실시형태의 장점 및 단점을 나타내는 것이 아니라, 실시형태를 구별하는 데 사용된다는 것이 이해되어야 한다.
본 명세서에서 제공된 알고리즘 및 프리젠테이션은 임의의 특정 컴퓨터, 가상 시스템, 또는 기타 장치와 본질적으로 관련되지 않는다. 다양한 범용 시스템이 또한 본 명세서의 교시와 함께 사용될 수도 있다. 이러한 시스템을 구축하는 데 필요한 구조는 상기 설명으로 분명해졌을 것이다. 또한, 본 발명은 임의의 특정 프로그래밍 언어에 관한 것이 아니다. 다양한 프로그래밍 언어가 본 명세서에서 설명된 본 발명의 내용을 구현하는 데 사용될 수 있고, 특정 언어에 대한 상기 설명은 본 발명의 바람직한 구현 방식을 개시하기 위해 의도되어 있다는 것이 이해되어야 한다.
많은 예시적인 상세가 상기 설명에 기술되어 있다. 그러나, 본 발명의 실시형태는 이러한 예시적인 상세없이 구현될 수 있다는 것이 이해되어야 한다. 일부 예에서는, 공지된 방법, 구조, 및 기술이 본 발명의 이해에 혼란을 주지 않도록 상세히 설명되지 않는다.
마찬가지로, 본 개시를 간략화하고 다양한 발명의 양태 중 하나 이상을 이해하는 것을 돕기 위해서, 본 발명의 특징은 때때로 단일의 실시형태 또는 단일의 실시형태의 도면이나 설명, 본 발명의 예시적인 실시형태들의 상기 설명에서의 도면에서 그룹화된다는 것이 이해되어야 한다. 그러나, 개시된 방법은 다음의 의도를 갖는 것으로 해석되지 않아야 하며, 즉 본 발명은 각 청구항에 명시적으로 제시된 것보다 많은 특징을 청구한다. 보다 구체적으로 첨부된 청구범위에 나타낸 바와 같이, 본 발명의 양태는 상기 개시된 개별 실시형태의 모든 특징보다 적다. 따라서, 상세한 설명과 일치하는 청구범위는 발명의 상세한 설명에 명시적으로 포함되며, 각 청구항은 본 발명의 개별적인 실시형태로서 기능한다.
당업자는, 일 실시형태에서의 장치 내의 모듈이 그 실시형태와는 다른 하나 이상의 장치에서 자기 적응적으로 변경되고 배치될 수 있다는 것을 이해해야 한다. 일 실시형태에서의 모듈들, 유닛들, 또는 구성요소들은 하나의 모듈, 유닛, 또는 구성요소로 조합될 수 있고, 또한 복수의 하위 모듈, 하위 유닛, 또는 하위 구성요소로 분할될 수 있다. 이러한 특징 및/또는 프로세스 또는 유닛에서의 적어도 일부의 상호 배제를 제외하고는, 설명(청구범위, 요약서 및 도면을 포함함)에 개시된 모든 특징뿐만 아니라, 임의의 이러한 방식으로 개시된 임의의 방법 또는 장치의 모든 프로세스 또는 유닛은 임의의 조합으로 조합될 수 있다. 설명(첨부된 청구범위, 요약서, 및 도면을 포함함)에 개시된 각 특징은, 달리 명시적으로 제시되지 않는 한, 동일하거나, 동등하거나, 또는 유사한 목적을 제공하는 대체 특징으로 대체될 수 있다.
또한, 당업자는, 본 명세서에서 설명된 일부 실시형태가 다른 실시형태에 포함된, 다른 특징보다는 일부 특징을 포함하지만, 상이한 실시형태의 특징의 조합이 본 발명의 범위 내에 속하고 상이한 실시형태가 형성됨을 의미한다는 것을 이해해야 한다. 예를 들어, 첨부된 청구범위에서, 청구된 실시형태 중 어느 하나는 임의의 조합 방식으로 사용될 수 있다.
본 발명의 모든 구성요소 실시형태는 하드웨어, 하나 이상의 프로세서 상에서 실행되는 소프트웨어 모듈, 또는 이들의 조합으로서 구현될 수 있다. 당업자는, 본 발명이 본 명세서에서 설명된 방법(예를 들어, 컴퓨터 프로그램 및 컴퓨터 프로그램 제품)의 일부 또는 전부를 실행하기 위한 장치 또는 디바이스 프로그램으로서 구현될 수 있다는 것을 이해해야 한다. 본 발명을 구현하기 위한 이러한 프로그램은 컴퓨터 판독가능 매체 상에 저장될 수 있거나, 또는 하나 이상의 신호 형태를 가질 수 있다. 이러한 신호는 인터넷 상의 웹사이트로부터 다운로드함으로써 획득되거나, 캐리어 신호에 의해 제공되거나, 또는 임의의 다른 형식으로 제공될 수 있다.
상기 실시형태는 본 발명을 한정하는 것이 아니라 본 발명을 설명하는 데 사용된다는 것에 유의해야 한다. 또한, 당업자는 첨부된 청구범위의 범위를 벗어나지 않고 대체 실시형태를 설계할 수 있다. 청구범위에서, 괄호 안의 모든 참조 부호는 청구범위에 대한 한정으로서 사용되지 않아야 한다. 단어 "포함하는(comprising)"은 청구범위에 열거되지 않은 요소 또는 단계를 배제하지 않는다. 요소의 앞에 있는 단어 "하나(one)" 또는 "한개(one piece)"는 복수의 이러한 요소의 존재를 배제하지 않는다. 본 발명은 수개의 상이한 요소를 포함하는 하드웨어 및 적절한 프로그래밍을 갖는 컴퓨터에 의해 구현될 수 있다. 수개의 장치를 열거하는 단위 청구항에서, 이들 장치 중 일부는 동일한 하드웨어 항목을 통해 구현될 수 있다. 제1, 제2, 제3 등과 같은 단어의 사용이 임의의 순서를 나타내는 것은 아니다. 이들 단어는 명칭으로서 설명된다.

Claims (12)

  1. 데이터 캐싱 방법으로서,
    클라이언트에 의해 전송된 데이터 요청을 수신한 후, 상기 데이터 요청에 대응하는 캐시 데이터의 잔여 유효 캐시 기간을 판정하는 단계;
    상기 잔여 유효 캐시 기간이 미리 설정된 갱신 임계값보다 큰지의 여부를 판정하는 단계; 및
    상기 잔여 유효 캐시 기간이 갱신 임계값 이하이면, 데이터베이스를 통해 상기 캐시 데이터를 갱신하는 단계를 포함하는, 데이터 캐싱 방법.
  2. 제1항에 있어서,
    다른 데이터 요청이 상기 캐시 데이터의 갱신 기간 동안 수신되면, 상기 잔여 유효 캐시 기간이 상기 미리 설정된 갱신 임계값보다 큰지의 여부에 대한 판정을 취소하는 단계를 더 포함하는, 데이터 캐싱 방법.
  3. 제2항에 있어서,
    상기 저장된 캐시 데이터가 만료될 때, 클라이언트에 의해 전송되고 상기 캐시 데이터에 대응하는 데이터 요청이 수신되는지의 여부를 확인하는 단계;
    상기 클라이언트에 의해 전송되고 상기 캐시 데이터에 대응하는 상기 데이터 요청이 수신되지 않으면, 상기 데이터베이스를 통해 상기 캐시 데이터를 갱신하는 단계; 및
    상기 클라이언트에 의해 전송되고 상기 캐시 데이터에 대응하는 상기 데이터 요청이 수신되면, 상기 데이터 요청에 대응하는 데이터를 상기 데이터베이스에서 검색하고, 획득된 데이터를 상기 클라이언트에 반송하며, 상기 획득된 데이터에 기초하여 상기 캐시 데이터를 갱신하는 단계를 더 포함하는, 데이터 캐싱 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    데이터 리소스가 최초로 액세스될 때, 상기 데이터 리소스에 포함된 데이터를 리소스 유형 및 미리 설정된 규칙에 따라 적어도 2개의 데이터 세트로 분할하는 단계; 및
    상기 데이터 세트 각각을 개별적으로 캐싱하고 상기 데이터 세트 각각에 대응하는 키를 생성하여, 차후에 상기 키에 기초하여 상기 캐시 데이터를 검색하게 하는 단계를 더 포함하되, 상기 데이터 세트 각각은 상이한 만료 시점을 갖는, 데이터 캐싱 방법.
  5. 제4항에 있어서, 상기 데이터 리소스에 포함된 데이터를 리소스 유형 및 미리 설정된 규칙에 따라 적어도 2개의 데이터 세트로 분할하는 단계는,
    상기 데이터 리소스가 고정 데이터를 표시하기 위한 제1 페이지일 때, 상기 제1 페이지에 포함되고 상기 데이터베이스로부터 획득된 상기 데이터를 상기 제1 페이지의 페이지 레이아웃에 따라 적어도 2개의 데이터 세트로 분할하는 단계; 및
    상기 데이터 리소스가 조건 쿼리 기능을 갖는 제2 페이지일 때, 상기 제2 페이지에 포함되고 상기 데이터베이스로부터 획득된 상기 데이터를 상기 제2 페이지가 관여하는 쿼리 조건의 조합에 따라 적어도 2개의 데이터 세트로 분할하는 단계를 포함하며, 상기 제2 페이지는 복수의 쿼리 조건 세트를 포함하고, 하나의 쿼리 조건 세트에 대응하는 결과 데이터는 데이터 세트이며, 하나의 쿼리 조건 세트는 적어도 하나의 쿼리 조건을 포함하는, 데이터 캐싱 방법.
  6. 제4항에 있어서, 상기 잔여 유효 캐시 기간이 미리 설정된 갱신 임계값보다 큰지의 여부에 대한 상기 판정은,
    상기 데이터 요청에 대응하는 데이터 세트의 상기 잔여 유효 캐시 기간이 상기 갱신 임계값보다 큰지의 여부를 판정하는 단계를 포함하는, 데이터 캐싱 방법.
  7. 데이터 캐싱 장치로서,
    클라이언트에 의해 전송된 데이터 요청을 수신한 후, 상기 데이터 요청에 대응하는 캐시 데이터의 잔여 유효 캐시 기간을 판정하도록 구성된 확인 유닛;
    상기 확인 유닛에 의해 획득된 잔여 유효 캐시 기간이 미리 설정된 갱신 임계값보다 큰지의 여부를 판정하도록 구성된 판정 유닛; 및
    상기 판정 유닛의 판정 결과가, 상기 잔여 유효 캐시 기간이 상기 갱신 임계값 이하인 것이면, 데이터베이스를 통해 상기 캐시 데이터를 갱신하도록 구성된 갱신 유닛을 포함하는, 데이터 캐싱 장치.
  8. 제7항에 있어서,
    다른 데이터 요청이 상기 캐시 데이터의 갱신 기간 동안 수신되면, 상기 잔여 유효 캐시 기간이 상기 미리 설정된 갱신 임계값보다 큰지의 여부에 대한 상기 판정을 취소하도록 구성된 취소 유닛을 더 포함하는, 데이터 캐싱 장치.
  9. 제8항에 있어서,
    상기 캐시 데이터가 만료될 때, 클라이언트에 의해 전송되고 상기 캐시 데이터에 대응하는 데이터 요청이 수신되는지의 여부를 확인하도록 구성된 쿼리 유닛;
    상기 클라이언트에 의해 전송되고 상기 캐시 데이터에 대응하는 데이터 요청이 수신되지 않을 때, 상기 데이터베이스를 통해 상기 캐시 데이터를 갱신하도록 또한 구성된 상기 갱신 유닛;
    상기 클라이언트에 의해 전송되고 상기 캐시 데이터에 대응하는 데이터가 수신되면, 상기 데이터 요청에 대응하는 데이터를 상기 데이터베이스에서 검색하고, 획득된 데이터를 상기 클라이언트에 반송하도록 구성된 전송 유닛; 및
    상기 획득된 데이터에 기초하여 상기 캐시 데이터를 갱신하도록 또한 구성된 상기 갱신 유닛을 더 포함하는, 데이터 캐싱 장치.
  10. 제7항 내지 제9항 중 어느 한 항에 있어서,
    데이터 리소스가 최초로 액세스될 때, 상기 데이터 리소스에 포함된 데이터를 리소스 유형 및 미리 설정된 규칙에 따라 적어도 2개의 데이터 세트로 분할하도록 구성된 분할 유닛; 및
    차후에 키에 기초하여 상기 캐시 데이터를 검색하기 위해, 상기 분할 유닛에 의해 획득된 상기 데이터 세트 각각을 개별적으로 캐싱하고 상기 데이터 세트 각각에 대응하는 키를 생성하도록 구성된 캐싱 유닛을 더 포함하고, 상기 데이터 세트 각각은 상이한 만료 시점을 갖는, 데이터 캐싱 장치.
  11. 제10항에 있어서, 상기 분할 유닛은,
    상기 데이터 리소스가 고정 데이터를 표시하기 위한 제1 페이지일 때, 상기 제1 페이지에 포함되고 상기 데이터베이스로부터 획득된 상기 데이터를 상기 제1 페이지의 페이지 레이아웃에 따라 적어도 2개의 데이터 세트로 분할하도록 구성된 제1 분할 모듈; 및
    상기 데이터 리소스가 조건 쿼리 기능을 갖는 제2 페이지일 때, 상기 제2 페이지에 포함되고 상기 데이터베이스로부터 획득된 상기 데이터를 상기 제2 페이지가 관여하는 쿼리 조건의 조합에 따라 적어도 2개의 데이터 세트로 분할하도록 구성된 제2 분할 모듈을 포함하며, 상기 제2 페이지는 복수의 쿼리 조건 세트를 포함하고, 하나의 쿼리 조건 세트에 대응하는 결과 데이터는 데이터 세트이며, 하나의 쿼리 조건 세트는 적어도 하나의 쿼리 조건을 포함하는, 데이터 캐싱 장치.
  12. 제11항에 있어서, 상기 판정 유닛은, 상기 데이터 요청에 대응하는 데이터 세트의 상기 잔여 유효 캐시 기간이 갱신 임계값보다 큰지의 여부를 판정하도록 구성되는, 데이터 캐싱 장치.
KR1020187031539A 2016-04-01 2017-03-20 데이터 캐싱 방법 및 장치 KR102232813B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610204539.8 2016-04-01
CN201610204539.8A CN107291756A (zh) 2016-04-01 2016-04-01 数据缓存的方法及装置
PCT/CN2017/077241 WO2017167039A1 (zh) 2016-04-01 2017-03-20 数据缓存的方法及装置

Publications (2)

Publication Number Publication Date
KR20180125009A true KR20180125009A (ko) 2018-11-21
KR102232813B1 KR102232813B1 (ko) 2021-03-29

Family

ID=59963476

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187031539A KR102232813B1 (ko) 2016-04-01 2017-03-20 데이터 캐싱 방법 및 장치

Country Status (10)

Country Link
US (1) US11449570B2 (ko)
EP (1) EP3418911A4 (ko)
JP (1) JP6748734B2 (ko)
KR (1) KR102232813B1 (ko)
CN (1) CN107291756A (ko)
MY (1) MY190884A (ko)
PH (1) PH12018502065A1 (ko)
SG (1) SG11201808173RA (ko)
TW (1) TWI665569B (ko)
WO (1) WO2017167039A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102590347B1 (ko) * 2016-12-15 2023-10-18 삼성전자주식회사 서버, 전자 장치 및 데이터 관리 방법
CN109828749A (zh) * 2018-12-29 2019-05-31 北京航天云路有限公司 兼顾快速响应和数据更新的数据缓存方法及系统
CN110209968B (zh) * 2019-04-24 2022-02-01 北京奇艺世纪科技有限公司 一种数据存储系统、方法、装置及计算机可读存储介质
CN111259034A (zh) * 2020-02-17 2020-06-09 腾讯科技(深圳)有限公司 一种缓存数据管理方法和相关装置
CN111506606A (zh) * 2020-04-14 2020-08-07 深圳市金蝶天燕云计算股份有限公司 一种报表查询方法及相关设备
US11636035B2 (en) * 2020-07-31 2023-04-25 Microsoft Technology Licensing, Llc Persisted data cache service
CN112307387A (zh) * 2020-10-30 2021-02-02 上海二三四五网络科技有限公司 一种动态时间段信息缓存的控制方法以及控制装置
CN113515530B (zh) * 2021-03-30 2023-06-13 贵州白山云科技股份有限公司 一种缓存对象更新方法、装置、设备及存储介质
CN113645309A (zh) * 2021-08-18 2021-11-12 浙江苍南仪表集团股份有限公司 多客户端数据差异化二次缓存及同步的处理方法及系统
KR20240003313A (ko) * 2022-06-30 2024-01-08 쿠팡 주식회사 데이터 제공 방법 및 그 장치
CN115438279B (zh) * 2022-08-10 2023-06-27 珠海金智维信息科技有限公司 数据可视化方法、装置、电子设备及介质
CN116701800A (zh) * 2023-08-07 2023-09-05 广州市千钧网络科技有限公司 页面内容处理方法、装置、计算机设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010501941A (ja) * 2006-08-21 2010-01-21 アマゾン テクノロジーズ インコーポレーテッド キャッシュ・エントリの一致性検索のための確率テクニック
US20110060881A1 (en) * 2009-09-10 2011-03-10 Red Hat, Inc. Asynchronous Cache Refresh for Systems with a Heavy Load
JP2011186903A (ja) * 2010-03-10 2011-09-22 Fuji Electric Co Ltd 遠隔監視装置および該装置におけるデータアクセス方法
CN105138587A (zh) * 2015-07-31 2015-12-09 小米科技有限责任公司 数据访问方法、装置和系统

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182122B1 (en) 1997-03-26 2001-01-30 International Business Machines Corporation Precaching data at an intermediate server based on historical data requests by users of the intermediate server
US5897634A (en) 1997-05-09 1999-04-27 International Business Machines Corporation Optimized caching of SQL data in an object server system
US6587856B1 (en) 1998-12-07 2003-07-01 Oracle International Corporation Method and system for representing and accessing object-oriented data in a relational database system
US7801913B2 (en) 1998-12-07 2010-09-21 Oracle International Corporation System and method for querying data for implicit hierarchies
US6934699B1 (en) 1999-09-01 2005-08-23 International Business Machines Corporation System and method for loading a cache with query results
US20030221068A1 (en) * 2002-05-23 2003-11-27 Michael Tsuji Method and system for data cache
ES2409936T3 (es) 2003-01-31 2013-06-28 Good Technology Corporation Recuperación asíncrona de datos en tiempo real
CA2425046C (en) 2003-04-08 2009-10-06 Ibm Canada Limited - Ibm Canada Limitee Method and system for caching database query statements
US8019735B2 (en) 2004-05-21 2011-09-13 Oracle International Corporation Systems and methods for query caching
US20080098093A1 (en) 2006-10-16 2008-04-24 Palm, Inc. Offline automated proxy cache for web applications
US8296394B1 (en) 2007-04-10 2012-10-23 AT & T Intellectual Property II, LP Method and system for caching real-time data
US8060486B2 (en) 2007-05-07 2011-11-15 Hewlett-Packard Development Company, L.P. Automatic conversion schema for cached web requests
US8032714B2 (en) 2007-09-28 2011-10-04 Aggregate Knowledge Inc. Methods and systems for caching data using behavioral event correlations
US7865573B2 (en) 2008-05-29 2011-01-04 Research In Motion Limited Method, system and devices for communicating between an internet browser and an electronic device
US8108587B2 (en) 2009-05-26 2012-01-31 Microsoft Corporation Free-space reduction in cached database pages
US8266291B2 (en) * 2009-11-23 2012-09-11 International Business Machines Corporation Dynamic property volatility assignment and assessment for distributed manageable resources
US8161241B2 (en) * 2010-01-12 2012-04-17 International Business Machines Corporation Temperature-aware buffered caching for solid state storage
US9235531B2 (en) 2010-03-04 2016-01-12 Microsoft Technology Licensing, Llc Multi-level buffer pool extensions
TW201145044A (en) * 2010-06-10 2011-12-16 Acer Inc Method for offline browse web pages and system thereof
CN103229161B (zh) 2010-08-24 2016-01-20 科派恩股份有限公司 连续接入网关和去重数据缓存服务器
JP5567967B2 (ja) * 2010-09-30 2014-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースにおけるキャッシュ制御方法、システム及びプログラム
US9703706B2 (en) 2011-02-28 2017-07-11 Oracle International Corporation Universal cache management system
US20130024421A1 (en) * 2011-07-22 2013-01-24 Hitachi, Ltd. File storage system for transferring file to remote archive system
US9015269B2 (en) * 2012-06-19 2015-04-21 Canon Kabushiki Kaisha Methods and systems for notifying a server with cache information and for serving resources based on it
CN103853671B (zh) * 2012-12-07 2018-03-02 北京百度网讯科技有限公司 一种数据写入控制方法及装置
US9747288B1 (en) 2012-12-10 2017-08-29 Amazon Technologies, Inc. Scalable transaction-based data repository service
US9582604B2 (en) * 2013-03-27 2017-02-28 Thomson Licensing Caching mechanism to improve user interface responsiveness
US8886671B1 (en) 2013-08-14 2014-11-11 Advent Software, Inc. Multi-tenant in-memory database (MUTED) system and method
US9876873B1 (en) 2015-10-21 2018-01-23 Perfect Sense, Inc. Caching techniques
CN105335512B (zh) * 2015-10-30 2019-09-17 小米科技有限责任公司 数据查询方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010501941A (ja) * 2006-08-21 2010-01-21 アマゾン テクノロジーズ インコーポレーテッド キャッシュ・エントリの一致性検索のための確率テクニック
US20110060881A1 (en) * 2009-09-10 2011-03-10 Red Hat, Inc. Asynchronous Cache Refresh for Systems with a Heavy Load
JP2011186903A (ja) * 2010-03-10 2011-09-22 Fuji Electric Co Ltd 遠隔監視装置および該装置におけるデータアクセス方法
CN105138587A (zh) * 2015-07-31 2015-12-09 小米科技有限责任公司 数据访问方法、装置和系统

Also Published As

Publication number Publication date
JP2019512819A (ja) 2019-05-16
SG11201808173RA (en) 2018-10-30
JP6748734B2 (ja) 2020-09-02
CN107291756A (zh) 2017-10-24
EP3418911A4 (en) 2019-11-06
US20190034550A1 (en) 2019-01-31
TWI665569B (zh) 2019-07-11
EP3418911A1 (en) 2018-12-26
PH12018502065A1 (en) 2019-06-24
MY190884A (en) 2022-05-17
US11449570B2 (en) 2022-09-20
WO2017167039A1 (zh) 2017-10-05
TW201738783A (zh) 2017-11-01
KR102232813B1 (ko) 2021-03-29

Similar Documents

Publication Publication Date Title
KR20180125009A (ko) 데이터 캐싱 방법 및 장치
US10104037B2 (en) Method and system for network access request control
US10911562B2 (en) Cache data validation
EP3146698B1 (en) Method and system for acquiring web pages
CN106897053B (zh) 一种代码发布方法与装置
US9864684B2 (en) Performing efficient cache invalidation
US20200036812A1 (en) Resource Download Method, Electronic Device, and Apparatus
EP3557437A1 (en) Systems and methods for search template generation
CN109634753B (zh) 切换浏览器内核的数据处理方法、装置、终端和存储介质
WO2020055413A1 (en) Blockchain for audit
US8832275B1 (en) Offline web browser
US8639770B1 (en) Separation of mutable and immutable data in a memory cache for improvement of data updates
US20180203907A1 (en) Method and system for querying semantic information stored across several semantically enhanced resources of a resource structure
CN110889073B (zh) 页面请求的响应方法、服务器及计算机存储介质
US10049109B2 (en) Techniques for crowd sourcing human translations to provide translated versions of web pages with additional content
US20160292282A1 (en) Detecting and responding to single entity intent queries
US20180329907A1 (en) Reducing data sent from a user device to a server
CN115174158A (zh) 基于多云管理平台的云产品配置检查方法
CN105630889B (zh) 通用缓存的方法及装置
CN108848183B (zh) 模拟用户的登录方法及装置
US20140237133A1 (en) Page download control method, system and program for ie core browser
CN106713217B (zh) 一种验证方法和装置
US20220256006A1 (en) Methods for controlling tracking elements of a web page and related electronic devices
US10275224B1 (en) Just in time generation system
CN105959261A (zh) 在代理服务器上执行的业务监控方法、装置及代理服务器

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant