KR102211403B1 - 다중 웹서버 환경의 공용자원 동기화 시스템 - Google Patents

다중 웹서버 환경의 공용자원 동기화 시스템 Download PDF

Info

Publication number
KR102211403B1
KR102211403B1 KR1020190072830A KR20190072830A KR102211403B1 KR 102211403 B1 KR102211403 B1 KR 102211403B1 KR 1020190072830 A KR1020190072830 A KR 1020190072830A KR 20190072830 A KR20190072830 A KR 20190072830A KR 102211403 B1 KR102211403 B1 KR 102211403B1
Authority
KR
South Korea
Prior art keywords
synchronization
web server
common resource
common
resources
Prior art date
Application number
KR1020190072830A
Other languages
English (en)
Other versions
KR20200144768A (ko
Inventor
김형복
Original Assignee
주식회사 코비젼
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코비젼 filed Critical 주식회사 코비젼
Priority to KR1020190072830A priority Critical patent/KR102211403B1/ko
Publication of KR20200144768A publication Critical patent/KR20200144768A/ko
Application granted granted Critical
Publication of KR102211403B1 publication Critical patent/KR102211403B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17325Synchronisation; Hardware support therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 다중 웹서버 환경의 공용자원 동기화 시스템에 관한 것으로, 데이터베이스 서버에 저장되는 공용자원들을 다수의 웹서버들이 사용하는 다중 웹서버 환경에서 다수의 웹서버에 탑재되는 웹서버 어플리케이션들이 공용하는 공용자원들에 대한 효율적인 동기화를 수행할 수 있어, 서버 및 네트워크 부하를 감소시킬 수 있도록 한 것이다.

Description

다중 웹서버 환경의 공용자원 동기화 시스템{Synchronizing system for public resources in multi-WEB server environment}
본 발명은 공용자원을 동기화하는 기술에 관련한 것으로, 특히 다중 웹서버 환경의 공용자원 동기화 시스템에 관한 것이다.
일반적으로는 공용으로 사용하는 데이터는 데이터베이스 서버에 저장하고, 데이터가 필요한 시점에 웹 서버가 데이터베이스 서버와 연결하여 데이터를 읽어 사용한다. 일반적인 웹 서버는 많은 다수의 사용자에게 서비스를 제공하기 때문에 웹 서버는 수많은 데이터를 데이터베이스에 요청하게 되고, 이로 인해 데이터베이스 서버와 웹 서버 간에 네트워크 트래픽이 증가하게 되어 과부하가 발생하게 된다.
더욱이 데이터를 읽을 때 단순히 하나의 테이블에서 데이터를 그대로 읽는 것이 아니라 여러 테이블들을 조인하고, 또 데이터를 변환하는 함수 등이 포함되어 있다면, 데이터베이스 서버는 더욱 높은 성능이 요구된다. 때문에 데이터베이스 서버의 성능을 고가용성으로 구성하고, 데이터베이스 서버와 웹서버 간의 전용 네트워크를 구성하여 부하를 견디도록 구현할 수는 있지만, 이 경우에도 임계치보다 높은 부하가 발생할 때는 성능 지연이 발생할 수밖에 없다.
사용자가 절대적으로 많거나, 사용량이 많을 경우 데이터베이스 서버 측의 네트워크 부하도 증가하지만, 웹 서버의 측에서는 웹서버 어플리케이션을 처리하는 부하도 함께 증가하게 된다. 때문에 웹서버 어플리케이션의 부하를 분산하기 위해 여러 대의 웹 서버를 두어 웹서버 어플리케이션의 부하를 분산하는 인프라 구성 방식을 일반적으로 이용하게 된다.
대한민국 공개특허 제10-2002-0003674호(2002. 01. 15)에서 클라이언트가 데이터 변경이 발생하거나 또는 설정 시간이 경과되면 네트워크를 통해 서버와 연결하여 클라이언트와 서버간 데이터 교환을 통해 데이터를 동기화하는 기술을 제안하고 있다.
종래에는 데이터베이스 서버의 부하 감소와 데이터베이스 서버와 웹 서버 간의 네트워크 부하를 줄이기 위해 프로그램적으로 웹서버의 메모리에 공용자원을 캐싱하여 재사용 하도록 하고, 데이터가 변경될 경우 전체내용을 다시 캐싱하여 공용자원을 동기화하는 방식을 사용한다.
이 방식은 웹 서버가 하나인 경우 공용 데이터가 변경되는 행위를 감지하여 이벤트를 발생시키고, 공용자원을 동기화하여야 하기 때문에 여러 대의 웹서버를 운영하는 경우는 실시간 동기화가 불가능하다.
따라서, 다중 서버 환경에서 공용자원의 동기화를 위해 동기 시간(Sync Time)을 웹 서버 어플리케이션에 두고, 일정시간이 경과한 경우 데이터의 변경 여부와 관계없이 공용자원을 재캐싱하도록 하여 데이터의 동기화를 구현하고 있다.
하지만, 이 방식은 데이터의 변경에 상관없이 공용자원을 조회하는 행위가 발생하고 또한 실시간 데이터 동기화가 이뤄지지 않아 서비스시 실제 데이터와 다른 공용자원의 부정확한 데이터를 이용하는 문제가 발생하게 된다.
따라서, 본 발명자는 데이터베이스 서버에 저장되는 공용자원들을 다수의 웹서버들이 사용하는 다중 웹서버 환경에서 다수의 웹서버에 탑재되는 웹서버 어플리케이션들이 공용하는 공용자원들에 대한 효율적인 동기화를 수행할 수 있는 기술에 대한 연구를 하였다.
대한민국 공개특허 제10-2002-0003674호(2002. 01. 15)
본 발명은 데이터베이스 서버에 저장되는 공용자원들을 다수의 웹서버들이 사용하는 다중 웹서버 환경에서 다수의 웹서버에 탑재되는 웹서버 어플리케이션들이 공용하는 공용자원들에 대한 효율적인 동기화를 수행할 수 있어, 서버 및 네트워크 부하를 감소시킬 수 있는 다중 웹서버 환경의 공용자원 동기화 시스템을 제공함을 그 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 일 양상에 따르면, 다중 웹서버 환경의 공용자원 동기화 시스템이 특정 웹서버에서 실행되는 웹서버 어플리케이션으로부터의 페이지 요청시, 데이터베이스 서버에 저장된 해당 웹서버 어플리케이션에 대응하는 공용자원 동기화 정보 테이블로부터 해당 웹서버의 공용자원 동기화 정보를 조회하는 동기화 정보 조회부와; 동기화 정보 조회부에 의한 해당 웹서버의 공용자원 동기화 정보 조회 결과로부터 공용자원 동기화가 필요한 메모리 캐시가 존재하는지 판단하는 동기화 여부 판단부와; 동기화 여부 판단부에 의한 판단 결과 공용자원 동기화가 필요한 메모리 캐시가 존재할 경우, 해당 공용자원 동기화가 필요한 메모리 캐시를 초기화하는 캐시 초기화부를 포함한다.
본 발명의 부가적인 양상에 따르면, 다중 웹서버 환경의 공용자원 동기화 시스템이 웹서버 어플리케이션이 특정 공용자원 사용시, 해당 공용자원에 대해 할당된 메모리 캐시에 해당 공용자원이 존재하지 않을 경우, 데이터베이스 서버로부터 해당 공용자원을 조회하여 해당 공용자원에 대해 할당된 메모리 캐시에 재캐싱하는 메모리 캐싱부를 더 포함한다.
본 발명의 부가적인 양상에 따르면, 캐시 초기화부가 메모리 캐시를 초기화한 후, 데이터베이스 서버에 저장된 해당 웹서버 어플리케이션에 대응하는 공용자원 동기화 정보 테이블내의 해당 웹서버의 공용자원들의 동기화 필드들 중 초기화된 메모리 캐시에 대응하는 공용자원의 동기화 필드를 동기화를 수행했음을 지시하는 식별자로 변경한다.
본 발명의 부가적인 양상에 따르면, 다중 웹서버 환경의 공용자원 동기화 시스템이 특정 웹서버에서 실행되는 웹서버 어플리케이션에서 사용되는 공용자원이 변경된 경우, 변경된 공용자원을 데이터베이스 서버에 반영하여 공용자원을 갱신하는 공용자원 갱신부를 더 포함한다.
본 발명의 부가적인 양상에 따르면, 공용자원 갱신부가 공용자원 갱신시, 해당 웹서버 어플리케이션에 대응하는 공용자원 동기화 정보 테이블내의 모든 웹서버의 공용자원들의 동기화 필드들 중 갱신된 공용자원에 대응하는 모든 웹서버의 동기화 필드를 동기화가 필요함을 지시하는 식별자로 변경한다.
본 발명은 데이터베이스 서버에 저장되는 공용자원들을 다수의 웹서버들이 사용하는 다중 웹서버 환경에서 다수의 웹서버에 탑재되는 웹서버 어플리케이션들이 공용하는 공용자원들에 대한 효율적인 동기화를 수행할 수 있어, 서버 및 네트워크 부하를 감소시킬 수 있으므로, 사용자에게 보다 빠르면서도 안정적인 고성능 웹 서비스를 제공할 수 있는 효과가 있다.
도 1 은 본 발명에 따른 다중 웹서버 환경의 공용자원 동기화 시스템이 적용되는 다중 웹서버 환경의 개요도이다.
도 2 는 본 발명에 따른 다중 웹서버 환경의 공용자원 동기화 시스템에서 사용되는 공용자원 동기화 정보 테이블의 일 예를 도시한 도면이다.
도 3 은 본 발명에 따른 다중 웹서버 환경의 공용자원 동기화 시스템의 일 실시예의 구성을 도시한 블럭도이다.
도 4 는 본 발명에 따른 다중 웹서버 환경의 공용자원 동기화 시스템의 공용자원 동기화 동작을 예시한 흐름도이다.
이하, 첨부된 도면을 참조하여 기술되는 바람직한 실시예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다. 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있으나, 이는 본 발명의 다양한 실시예들을 특정한 형태로 한정하려는 것은 아니다.
본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
도 1 은 본 발명에 따른 다중 웹서버 환경의 공용자원 동기화 시스템이 적용되는 다중 웹서버 환경의 개요도이다. 도 1 에 도시한 바와 같이, 다중 웹서버 환경은 공용자원들 및 웹서버 어플리케이션별 공용자원 동기화 테이블을 저장하는 데이터베이스 서버(10)와, 데이터베이스 서버에 저장된 공용자원들을 메모리 캐싱(memory caching)하여 사용하는 적어도 하나의 웹서버 어플리케이션이 탑재되는 다수의 웹서버(20)를 포함하여 이루어진다.
각 웹서버(20)에서 실행되는 웹서버 어플리케이션은 다수의 메모리 캐시에 자신이 사용하는 공용자원들을 메모리 캐싱(memory caching)하여 사용하고, 공용자원이 변경되면, 변경된 공용자원을 데이터베이스 서버(10)에 반영하여 공용자원을 갱신하고, 공용자원 동기화 관리를 위한 공용자원 동기화 정보 테이블에 동기화가 필요함을 지시하는 식별자를 기록하여 갱신한다.
특정 웹서버(20)에서 실행되는 웹서버 어플리케이션에서 페이지 요청이 발생하면, 웹서버 어플리케이션이 데이터베이스 서버(10)에 접근하여 공용자원 동기화 정보 테이블을 조회하여 해당 웹서버 어플리케이션에서 메모리 캐싱하여 사용중인 공용자원이 변경되었는지 확인하고, 변경된 공용자원에 할당된 메모리 캐시를 초기화한다.
이후, 해당 웹서버 어플리케이션이 공용자원을 사용할 때, 공용자원 변경에 의해 메모리 캐시가 초기화되어 메모리 캐시내에 공용자원 데이터가 존재하지 않는 경우에는 데이터베이스 서버(10)로부터 갱신된 공용자원을 읽어 메모리 캐시에 재캐싱하여 갱신된 공용자원을 사용한다.
한편, 해당 웹서버 어플리케이션이 공용자원을 사용할 때, 공용자원이 변경되지 않아 메모리 캐시내에 이전에 사용되던 공용자원 데이터가 존재할 경우에는 데이터베이스 서버(10)에 접근없이 이전에 사용되던 공용자원을 계속 사용한다.
도 2 는 본 발명에 따른 다중 웹서버 환경의 공용자원 동기화 시스템에서 사용되는 공용자원 동기화 정보 테이블의 일 예를 도시한 도면이다. 도 2 에 도시한 바와 같이, 공용자원 동기화 정보는 웹서버 어플리케이션별로 관리되며, 각 웹서버 어플리케이션별 공용자원 동기화 정보 테이블은 웹서버 식별정보에 의해 식별되는 웹서버별로 다수개의 공용자원 각각에 대응되는 다수의 동기화 필드들을 포함한다.
각 공용자원에 대응되는 동기화 필드는 동기화를 수행했음을 지시하는 식별자(도 2 에서 'N')와, 동기화가 필요함을 지시하는 식별자(도 2 에서 'Y') 중 어느 하나의 값을 가진다. 웹 서버(20)에서 실행되는 웹서버 어플리케이션은 공용자원 동기화 정보 테이블의 동기화 필드 값을 확인하여 메모리 캐시를 초기화할지 결정한다.
동기화 필드 값이 동기화가 필요함을 지시하는 식별자일 경우, 해당 동기화 필드에 대응하는 공용자원에 할당된 메모리 캐시를 초기화하고, 동기화 필드 값이 동기화를 수행했음을 지시하는 식별자일 경우, 메모리 캐시를 초기화하지 않고, 이전에 사용되던 공용자원을 계속 사용한다.
이와 같이 구현함에 의해, 본 발명은 데이터베이스 서버에 저장되는 공용자원들을 다수의 웹서버들이 사용하는 다중 웹서버 환경에서 다수의 웹서버에 탑재되는 웹서버 어플리케이션들이 공용하는 공용자원들에 대한 효율적인 동기화를 수행할 수 있어, 서버 및 네트워크 부하를 감소시킬 수 있으므로, 사용자에게 보다 빠르면서도 안정적인 고성능 웹 서비스를 제공할 수 있게 된다.
본 발명에 따른 다중 웹서버 환경의 공용자원 동기화 시스템은 공용자원들 및 웹서버 어플리케이션별 공용자원 동기화 테이블을 저장하는 데이터베이스 서버(10)와, 데이터베이스 서버에 저장된 공용자원들을 메모리 캐싱(memory caching)하여 사용하는 적어도 하나의 웹서버 어플리케이션이 탑재되는 다수의 웹서버(20)를 포함하는 다중 웹서버 환경에서 다수의 웹서버에 탑재되는 웹서버 어플리케이션들이 공용하는 공용자원들에 대한 동기화를 수행한다.
본 발명에 따른 다중 웹서버 환경의 공용자원 동기화 시스템은 웹서버(20)에서 실행되는 웹서버 어플리케이션에 포함되는 소프트웨어 모듈 형태 또는 웹서버 어플리케이션과 별도로 실행되는 별개의 어플리케이션 형태 또는 웹서버 어플리케이션에서 사용되는 플러그인 또는 확장 프로그램 형태로 구현될 수 있다.
도 3 은 본 발명에 따른 다중 웹서버 환경의 공용자원 동기화 시스템의 일 실시예의 구성을 도시한 블럭도이다. 도 3 에 도시한 바와 같이, 이 실시예에 따른 다중 웹서버 환경의 공용자원 동기화 시스템(100)은 동기화 정보 조회부(110)와, 동기화 여부 판단부(120)와, 캐시 초기화부(130)를 포함한다.
동기화 정보 조회부(110)는 특정 웹서버(20)에서 실행되는 웹서버 어플리케이션으로부터의 페이지 요청시, 데이터베이스 서버(10)에 저장된 해당 웹서버 어플리케이션에 대응하는 공용자원 동기화 정보 테이블로부터 해당 웹서버의 공용자원 동기화 정보를 조회한다.
동기화 여부 판단부(120)는 동기화 정보 조회부(110)에 의한 해당 웹서버의 공용자원 동기화 정보 조회 결과로부터 공용자원 동기화가 필요한 메모리 캐시가 존재하는지 판단한다.
예컨대, 동기화 여부 판단부(120)가 해당 웹서버 어플리케이션 식별정보에 대응하는 공용자원 동기화 정보 테이블로부터, 해당 웹서버 식별정보에 대응하는 공용자원 동기화 정보에 포함되는 동기화 필드들의 값에 따라 공용자원 동기화가 필요한 메모리 캐시가 존재하는지 판단할 수 있다.
이 때, 동기화 필드 값이 동기화가 필요함을 지시하는 식별자(도 2 에서 'Y')를 가지는 동기화 필드에 대응되는 공용자원에 할당된 메모리 캐시가 공용자원 동기화가 필요한 메모리 캐시이고, 동기화를 수행했음을 지시하는 식별자(도 2 에서 'N')를 가지는 동기화 필드에 대응되는 공용자원에 할당된 메모리 캐시는 공용자원 동기화가 필요하지 않은 메모리 캐시이다.
캐시 초기화부(130)는 동기화 여부 판단부(120)에 의한 판단 결과 공용자원 동기화가 필요한 메모리 캐시가 존재할 경우, 해당 공용자원 동기화가 필요한 메모리 캐시를 초기화한다.
이 때, 캐시 초기화부(130)가 메모리 캐시를 초기화한 후, 데이터베이스 서버에 저장된 해당 웹서버 어플리케이션에 대응하는 공용자원 동기화 정보 테이블내의 해당 웹서버의 공용자원들의 동기화 필드들 중 초기화된 메모리 캐시에 대응하는 공용자원의 동기화 필드를 동기화를 수행했음을 지시하는 식별자로 변경한다.
이에 따라, 이후 동기화 수행된 공용자원에 대한 메모리 캐싱이 이루어지지 않도록 하여, 공용자원 메모리 캐싱을 위한 웹 서버(20)의 데이터베이스 서버(10) 접근을 최소화할 수 있고, 이로 인해 데이터베이스 서버 부하 및 네트워크 부하를 감소시킬 수 있으므로, 사용자에게 보다 빠르면서도 안정적인 고성능 웹 서비스를 제공할 수 있다.
한편, 발명의 부가적인 양상에 따르면, 다중 웹서버 환경의 공용자원 동기화 시스템(100)이 메모리 캐싱부(140)를 더 포함할 수 있다. 메모리 캐싱부(140)는 웹서버 어플리케이션이 특정 공용자원 사용시, 해당 공용자원에 대해 할당된 메모리 캐시에 해당 공용자원이 존재하지 않을 경우, 데이터베이스 서버(10)로부터 해당 공용자원을 조회하여 해당 공용자원에 대해 할당된 메모리 캐시에 재캐싱한다.
공용자원이 변경되어 캐시 초기화부(130)에 의해 공용자원 동기화가 필요한 메모리 캐시가 초기화되면, 해당 초기화된 메모리 캐시에는 아무런 데이터도 존재하지 않게 된다. 이 상태에서 웹서버 어플리케이션이 초기화된 메모리 캐시에 할당된 공용자원을 사용하려고 하면, 해당 초기화된 메모리 캐시에 변경된 공용자원을 재캐싱해야 한다.
메모리 캐시가 초기화된 상태에서 웹서버 어플리케이션이 해당 메모리 캐시에 할당된 공용자원 사용을 요청하면, 메모리 캐싱부(140)는 데이터베이스 서버(10)로부터 해당 공용자원을 조회하여 초기화된 메모리 캐시에 재캐싱하여 웹서버 어플리케이션이 메모리 캐시에 재캐싱된 공용자원을 사용하도록 한다.
한편, 발명의 부가적인 양상에 따르면, 다중 웹서버 환경의 공용자원 동기화 시스템(100)이 공용자원 갱신부(150)를 더 포함한다. 공용자원 갱신부(150)는 특정 웹서버(20)에서 실행되는 웹서버 어플리케이션에서 사용되는 공용자원이 변경된 경우, 변경된 공용자원을 데이터베이스 서버(10)에 반영하여 공용자원을 갱신한다.
이 때, 공용자원 갱신부(150)가 공용자원 갱신시, 해당 웹서버 어플리케이션에 대응하는 공용자원 동기화 정보 테이블내의 모든 웹서버의 공용자원들의 동기화 필드들 중 갱신된 공용자원에 대응하는 모든 웹서버의 동기화 필드를 동기화가 필요함을 지시하는 식별자로 변경하여 다른 웹서버의 다중 웹서버 환경의 공용자원 동기화 시스템(100)이 공용자원 동기화 정보 테이블 조회시 해당 공용자원이 변경되었음을 알 수 있도록 한다.
공용자원 갱신부(150)에 의해 갱신된 공용자원을 사용하는 다른 웹서버의 웹서버 어플리케이션에서 페이지 요청시 해당 다른 웹서버의 다중 웹서버 환경의 공용자원 동기화 시스템(100)이 공용자원 갱신부(150)에 의해 갱신된 공용자원 동기화 정보 테이블을 조회하여 해당 갱신된 공용자원에 할당된 메모리 캐시를 초기화 한다.
이와 같이 구현함에 의해, 본 발명은 데이터베이스 서버에 저장되는 공용자원들을 다수의 웹서버들이 사용하는 다중 웹서버 환경에서 다수의 웹서버에 탑재되는 웹서버 어플리케이션들이 공용하는 공용자원들에 대한 효율적인 동기화를 수행할 수 있어, 서버 및 네트워크 부하를 감소시킬 수 있으므로, 사용자에게 보다 빠르면서도 안정적인 고성능 웹 서비스를 제공할 수 있게 된다.
도 4 는 본 발명에 따른 다중 웹서버 환경의 공용자원 동기화 시스템의 공용자원 동기화 동작을 예시한 흐름도이다. 도 4 를 참조해 보면, 단계 410에서 특정 웹서버에서 실행되는 웹서버 어플리케이션에서 사용되는 공용자원이 변경되면, 단계 420에서 해당 웹서버의 다중 웹서버 환경의 공용자원 동기화 시스템이 변경된 공용자원을 데이터베이스 서버(10)에 반영하여 공용자원을 갱신한다.
그리고, 해당 웹서버의 다중 웹서버 환경의 공용자원 동기화 시스템이 공용자원 동기화 정보 테이블내의 모든 웹서버의 공용자원들의 동기화 필드들 중 갱신된 공용자원에 대응하는 모든 웹서버의 동기화 필드를 동기화가 필요함을 지시하는 식별자로 변경하여 공용자원 동기화 정보 테이블을 갱신한다.
이 상태에서 어떤 웹서버에서 실행되는 웹서버 어플리케이션으로부터 페이지 요청이 있으면, 단계 430에서 해당 웹서버의 다중 웹서버 환경의 공용자원 동기화 시스템이 데이터베이스 서버에 저장된 해당 웹서버 어플리케이션에 대응하는 공용자원 동기화 정보 테이블로부터 해당 웹서버의 공용자원 동기화 정보를 조회한다.
그리고, 단계 440에서 해당 웹서버의 다중 웹서버 환경의 공용자원 동기화 시스템이 해당 웹서버의 공용자원 동기화 정보 조회 결과로부터 공용자원 동기화가 필요한 메모리 캐시가 존재하는지 판단한다.
만약, 단계 440에 의한 판단 결과 공용자원 동기화가 필요한 메모리 캐시가 존재할 경우, 단계 450에서 해당 웹서버의 다중 웹서버 환경의 공용자원 동기화 시스템이 해당 공용자원 동기화가 필요한 메모리 캐시를 초기화한다.
그리고, 메모리 캐시를 초기화한 후, 데이터베이스 서버에 저장된 해당 웹서버 어플리케이션에 대응하는 공용자원 동기화 정보 테이블내의 해당 웹서버의 공용자원들의 동기화 필드들 중 초기화된 메모리 캐시에 대응하는 공용자원의 동기화 필드를 동기화를 수행했음을 지시하는 식별자로 변경한다.
이후, 해당 웹서버 어플리케이션이 공용자원을 사용할 때, 공용자원 변경에 의해 메모리 캐시가 초기화되어 메모리 캐시내에 공용자원 데이터가 존재하지 않는 경우에는 단계 460에서 해당 웹서버의 다중 웹서버 환경의 공용자원 동기화 시스템이 데이터베이스 서버로부터 갱신된 공용자원을 읽어 메모리 캐시에 재캐싱하여 갱신된 공용자원을 사용한다.
만약, 해당 웹서버 어플리케이션이 공용자원을 사용할 때, 공용자원이 변경되지 않아 메모리 캐시내에 이전에 사용되던 공용자원 데이터가 존재할 경우에는 해당 웹서버의 다중 웹서버 환경의 공용자원 동기화 시스템이 데이터베이스 서버에 접근없이 이전에 사용되던 공용자원을 계속 사용한다.
이와 같이 구현함에 의해, 본 발명은 데이터베이스 서버에 저장되는 공용자원들을 다수의 웹서버들이 사용하는 다중 웹서버 환경에서 다수의 웹서버에 탑재되는 웹서버 어플리케이션들이 공용하는 공용자원들에 대한 효율적인 동기화를 수행할 수 있어, 서버 및 네트워크 부하를 감소시킬 수 있으므로, 사용자에게 보다 빠르면서도 안정적인 고성능 웹 서비스를 제공할 수 있다.
본 명세서 및 도면에 개시된 다양한 실시예들은 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 다양한 실시예들의 범위를 한정하고자 하는 것은 아니다.
따라서, 본 발명의 다양한 실시예들의 범위는 여기에서 설명된 실시예들 이외에도 본 발명의 다양한 실시예들의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 다양한 실시예들의 범위에 포함되는 것으로 해석되어야 한다.
본 발명은 공용자원 동기화 기술분야 및 이의 응용 기술분야에서 산업상으로 이용 가능하다.
10 : 데이터베이스 서버
20 : 웹 서버
100 : 다중 웹서버 환경의 공용자원 동기화 시스템
110 : 동기화 정보 조회부
120 : 동기화 여부 판단부
130 : 캐시 초기화부
140 : 메모리 캐싱부
150 : 공용자원 갱신부

Claims (5)

  1. 공용자원들 및 웹서버 어플리케이션별 공용자원 동기화 테이블을 저장하는 데이터베이스 서버와;
    데이터베이스 서버에 저장된 공용자원들을 메모리 캐싱(memory caching)하여 사용하는 적어도 하나의 웹서버 어플리케이션이 탑재되는 다수의 웹서버를;
    포함하는 다중 웹서버 환경에서 다수의 웹서버에 탑재되는 웹서버 어플리케이션들이 공용하는 공용자원들에 대한 동기화를 수행하는 다중 웹서버 환경의 공용자원 동기화 시스템에 있어서,
    특정 웹서버에서 실행되는 웹서버 어플리케이션으로부터의 페이지 요청시, 데이터베이스 서버에 저장된 해당 웹서버 어플리케이션에 대응하는 공용자원 동기화 정보 테이블로부터 해당 웹서버의 공용자원 동기화 정보를 조회하는 동기화 정보 조회부와;
    동기화 정보 조회부에 의한 해당 웹서버의 공용자원 동기화 정보 조회 결과로부터 공용자원 동기화가 필요한 메모리 캐시가 존재하는지 판단하는 동기화 여부 판단부와;
    동기화 여부 판단부에 의한 판단 결과 공용자원 동기화가 필요한 메모리 캐시가 존재할 경우, 해당 공용자원 동기화가 필요한 메모리 캐시를 초기화하는 캐시 초기화부를;
    포함하되,
    공용자원 동기화 정보 테이블은 웹서버 식별정보에 의해 식별되는 웹서버별로 다수개의 공용자원 각각에 대응되는 다수의 동기화 필드들을 포함하고,
    각 공용자원에 대응되는 동기화 필드는 동기화를 수행했음을 지시하는 식별자와, 동기화가 필요함을 지시하는 식별자 중 어느 하나의 값을 가지고,
    동기화 여부 판단부는 공용자원 동기화 정보 테이블의 동기화 필드 값을 확인하여 메모리 캐시를 초기화할지 결정하고,
    캐시 초기화부는 동기화 필드 값이 동기화가 필요함을 지시하는 식별자일 경우, 해당 동기화 필드에 대응하는 공용자원에 할당된 메모리 캐시를 초기화하고, 동기화 필드 값이 동기화를 수행했음을 지시하는 식별자일 경우, 메모리 캐시를 초기화하지 않고, 이전에 사용되던 공용자원을 계속 사용하도록 하는 다중 웹서버 환경의 공용자원 동기화 시스템.
  2. 제 1 항에 있어서,
    다중 웹서버 환경의 공용자원 동기화 시스템이:
    웹서버 어플리케이션이 특정 공용자원 사용시, 해당 공용자원에 대해 할당된 메모리 캐시에 해당 공용자원이 존재하지 않을 경우, 데이터베이스 서버로부터 해당 공용자원을 조회하여 해당 공용자원에 대해 할당된 메모리 캐시에 재캐싱하는 메모리 캐싱부를;
    더 포함하는 다중 웹서버 환경의 공용자원 동기화 시스템.
  3. 제 1 항에 있어서,
    캐시 초기화부가:
    메모리 캐시를 초기화한 후, 데이터베이스 서버에 저장된 해당 웹서버 어플리케이션에 대응하는 공용자원 동기화 정보 테이블내의 해당 웹서버의 공용자원들의 동기화 필드들 중 초기화된 메모리 캐시에 대응하는 공용자원의 동기화 필드를 동기화를 수행했음을 지시하는 식별자로 변경하는 다중 웹서버 환경의 공용자원 동기화 시스템.
  4. 제 1 항 내지 제 3 항 중의 어느 한 항에 있어서,
    다중 웹서버 환경의 공용자원 동기화 시스템이:
    특정 웹서버에서 실행되는 웹서버 어플리케이션에서 사용되는 공용자원이 변경된 경우, 변경된 공용자원을 데이터베이스 서버에 반영하여 공용자원을 갱신하는 공용자원 갱신부를;
    더 포함하는 다중 웹서버 환경의 공용자원 동기화 시스템.
  5. 제 4 항에 있어서,
    공용자원 갱신부가:
    공용자원 갱신시, 해당 웹서버 어플리케이션에 대응하는 공용자원 동기화 정보 테이블내의 모든 웹서버의 공용자원들의 동기화 필드들 중 갱신된 공용자원에 대응하는 모든 웹서버의 동기화 필드를 동기화가 필요함을 지시하는 식별자로 변경하는 다중 웹서버 환경의 공용자원 동기화 시스템.
KR1020190072830A 2019-06-19 2019-06-19 다중 웹서버 환경의 공용자원 동기화 시스템 KR102211403B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190072830A KR102211403B1 (ko) 2019-06-19 2019-06-19 다중 웹서버 환경의 공용자원 동기화 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190072830A KR102211403B1 (ko) 2019-06-19 2019-06-19 다중 웹서버 환경의 공용자원 동기화 시스템

Publications (2)

Publication Number Publication Date
KR20200144768A KR20200144768A (ko) 2020-12-30
KR102211403B1 true KR102211403B1 (ko) 2021-02-03

Family

ID=74088864

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190072830A KR102211403B1 (ko) 2019-06-19 2019-06-19 다중 웹서버 환경의 공용자원 동기화 시스템

Country Status (1)

Country Link
KR (1) KR102211403B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102370384B1 (ko) * 2021-10-19 2022-03-04 유한책임회사 블루바이저시스템즈 데이터 가공을 통한 비대면 면접 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012141900A (ja) * 2011-01-05 2012-07-26 Nippon Telegr & Teleph Corp <Ntt> キャッシュ制御システム及びキャッシュ制御方法
JP2014016953A (ja) 2012-07-11 2014-01-30 Nippon Telegr & Teleph Corp <Ntt> 無共有型データベースシステム、同期装置、データベースサーバ、その同期方法および同期プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020003674A (ko) 2000-06-24 2002-01-15 정승채 데이타 동기화 시스템 및 그 방법
KR101645163B1 (ko) * 2014-11-14 2016-08-03 주식회사 인프라웨어 분산 시스템에서의 데이터베이스 동기화 방법
CN106980625B (zh) * 2016-01-18 2020-08-04 阿里巴巴集团控股有限公司 一种数据同步方法、装置及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012141900A (ja) * 2011-01-05 2012-07-26 Nippon Telegr & Teleph Corp <Ntt> キャッシュ制御システム及びキャッシュ制御方法
JP2014016953A (ja) 2012-07-11 2014-01-30 Nippon Telegr & Teleph Corp <Ntt> 無共有型データベースシステム、同期装置、データベースサーバ、その同期方法および同期プログラム

Also Published As

Publication number Publication date
KR20200144768A (ko) 2020-12-30

Similar Documents

Publication Publication Date Title
US9847907B2 (en) Distributed caching cluster management
US10462250B2 (en) Distributed caching cluster client configuration
US9659038B2 (en) Efficient snapshot read of a database in a distributed storage system
US10831612B2 (en) Primary node-standby node data transmission method, control node, and database system
US20090113412A1 (en) Method and apparatus for enhanced synchronization protocol
US20150142845A1 (en) Smart database caching
US20180293257A1 (en) Method for accessing distributed database and distributed data service apparatus
US9529772B1 (en) Distributed caching cluster configuration
CN105159845A (zh) 存储器读取方法
US11960506B2 (en) Data processing method and system for cloud platform, and electronic apparatus and storage medium
US9390156B2 (en) Distributed directory environment using clustered LDAP servers
CN101236569A (zh) 一种基于ContextFS上下文文件系统的高效动态路径解析方法
CN112307119A (zh) 数据同步方法、装置、设备及存储介质
CN109254981B (zh) 一种分布式缓存系统的数据管理方法和装置
CN110740155A (zh) 分布式系统中的请求处理方法及装置
KR102211403B1 (ko) 다중 웹서버 환경의 공용자원 동기화 시스템
JP6233846B2 (ja) 可変長ノンスの生成
CN113407639B (zh) 数据处理方法、装置、系统及存储介质
US7058773B1 (en) System and method for managing data in a distributed system
US11914590B1 (en) Database request router improving server cache utilization
CN117539915B (zh) 一种数据处理方法及相关装置
JP5706956B1 (ja) データベースシステム及びデータベース制御方法
CN113014683B (zh) 请求处理方法、装置、电子设备及存储介质
KR20010070944A (ko) 데이터베이스 구조변화에 대응하는 웹기반 통신망성능감시 방법
CN117149885B (zh) 一种基于数据库主节点转发的读写分离实现方法

Legal Events

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