KR102265085B1 - 코드 분산 처리 서버, 코드 분산 처리 방법 및 기록 매체에 저장된 프로그램 - Google Patents

코드 분산 처리 서버, 코드 분산 처리 방법 및 기록 매체에 저장된 프로그램 Download PDF

Info

Publication number
KR102265085B1
KR102265085B1 KR1020200168837A KR20200168837A KR102265085B1 KR 102265085 B1 KR102265085 B1 KR 102265085B1 KR 1020200168837 A KR1020200168837 A KR 1020200168837A KR 20200168837 A KR20200168837 A KR 20200168837A KR 102265085 B1 KR102265085 B1 KR 102265085B1
Authority
KR
South Korea
Prior art keywords
service type
information
code
detailed
client terminal
Prior art date
Application number
KR1020200168837A
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 KR1020200168837A priority Critical patent/KR102265085B1/ko
Application granted granted Critical
Publication of KR102265085B1 publication Critical patent/KR102265085B1/ko
Priority to US18/039,936 priority patent/US20240004890A1/en
Priority to EP21901016.2A priority patent/EP4258129A4/en
Priority to PCT/KR2021/018051 priority patent/WO2022119328A1/ko

Links

Images

Classifications

    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/29Geographical information databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Remote Sensing (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일 실시예에 따른 코드 분산 처리 서버는, 복수의 데이터베이스와 접속되고, 클라이언트 단말의 요청을 처리하는 코드 분산 처리 서버로서, 클라이언트 단말의 요청과 관련된 위치 정보를 검출하는 위치 정보 검출부; 복수의 데이터베이스 중 상기 위치 정보와 관련된 데이터가 저장된 데이터베이스에 대하여, 상기 클라이언트 단말의 요청에 대응하는 공통 서비스 타입 코드와 관련된 정보를 조회하고, 상기 공통 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 코드 및 복수의 상기 제1 상세 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 정보를 취득하는 정보 취득부; 및 복수의 상기 제1 상세 서비스 타입 정보를 상기 클라이언트 단말에 제공하는 정보 제공부를 포함할 수 있다.

Description

코드 분산 처리 서버, 코드 분산 처리 방법 및 기록 매체에 저장된 프로그램{CODE DISTRIBUTION PROCESSING SERVER, CODE DISTRIBUTION PROCESSING METHOD, AND PROGRAM STORED IN A RECORDING MEDIUM}
본 발명은 분산 처리 기술에 관한 것으로서, 더욱 상세하게는, 서비스 타입을 나타내는 코드를 분산하여 처리하기 위한 코드 분산 처리 서버, 코드 분산 처리 방법 및 기록 매체에 저장된 프로그램에 관한 것이다.
최근 비즈니스 환경에서 폭발적인 데이터의 증가로 데이터 분산 처리 및 저장 기술과 함께 발전된 분산 데이터베이스 기술이 각광을 받고 있다. 다양한 데이터 처리 기술 가운데 샤딩(Sharding) 기술은 대용량의 데이터를 나누어 처리하므로서 고성능의 시스템을 도입하지 않고서도 저가의 시스템을 이용한 Scale out 방식의 시스템 증설로 대용량 데이터 처리를 할 수 있다.
데이터베이스 분야에서 샤딩은 물리적으로 다른 데이터베이스에 데이터를 수평 분할 방식으로 분산 저장하고 조회하는 방법을 의미하며, 샤드(shard)라고 부르는 각각의 개별 파티션이 있는 하나의 데이터베이스의 수평적인 파티셔닝을 의미한다. 샤딩을 수행하는 경우 하나의 큰 데이터베이스를 관리하는 것에 비하여, 각 샤드가 연산 자원의 지원을 더 많이 받을 수 있으므로, 데이터 처리 속도가 빨라지고, 이중화 기술이 적용되는 경우 하나의 샤드에 장애가 발생하더라도 다른 샤드에서 서비스를 제공할 수 있으므로 신뢰도가 향상되는 등의 효과가 있다.
한편, 호텔스닷컴 또는 에어비앤비 등의 숙박 예약 사이트의 경우에 전세계의 호텔, 리조트, 민박 등에 대한 공급자의 서비스에 대한 정보를 제공한다. 전세계를 대상으로 하는 글로벌 예약 사이트의 경우에, 대량의 데이터를 처리해야할 필요가 있다. 유저는 숙박 예약 사이트에서 제공되는 정보를 이용하여 자신이 희망하는 숙박 스타일에 적합한 공급자의 서비스를 예약할 수 있다.
전세계를 대상으로 하는 숙박 예약 사이트의 경우에, 각 지역에서 법적 또는 행정적으로 정의되는 숙박 시설의 종류가 상이할 수 있다. 또한, 전세계를 대상으로 하는 음식 정보 사이트의 경우에, 각 국가 및 각 지역에서 제공하는 음식점의 종류가 상이할 수 있고, 전세계를 대상으로 하는 뷰티 정보 사이트의 경우에, 각 국가 및 각 지역에서 제공하는 뷰티 관련 업종(헤어, 메이크업, 네일 등)의 종류가 상이할 수 있다.
제1 국을 대상으로 개발된 정보 제공 사이트가 제2 국으로 서비스 영역을 확장하는 경우에, 제1 국과 제2 국의 서비스 종류가 상이하기 때문에 제1 국의 사이트 개발시에 사용된 프로그램 코드가 그대로 사용될 수 없다. 이러한 경우에 제2 국을 대상으로 하여 처음부터 다시 개발하거나 제1 국의 프로그램 코드 중 일부만을 활용하고, 나머지 부분은 새롭게 개발해야 할 필요가 있었다.
본 발명이 해결하고자 하는 과제는, 상술한 종래 기술의 문제점을 해결하기 위한 것으로서, 서비스의 글로벌 확장이 용이하고, 서비스 확장의 범용성이 향상된 코드 분산 처리 서버, 코드 분산 처리 방법 및 기록 매체에 기록된 프로그램을 제공하는 것이다.
상술한 과제를 해결하기 위한 수단으로서, 본 발명의 일 실시예에 따른 코드 분산 처리 서버는, 복수의 데이터베이스와 접속되고, 클라이언트 단말의 요청을 처리하는 코드 분산 처리 서버로서, 클라이언트 단말의 요청과 관련된 위치 정보를 검출하는 위치 정보 검출부; 복수의 데이터베이스 중 상기 위치 정보와 관련된 데이터가 저장된 데이터베이스에 대하여, 상기 클라이언트 단말의 요청에 대응하는 공통 서비스 타입 코드와 관련된 정보를 조회하고, 상기 공통 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 코드 및 복수의 상기 제1 상세 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 정보를 취득하는 정보 취득부; 및 복수의 상기 제1 상세 서비스 타입 정보를 상기 클라이언트 단말에 제공하는 정보 제공부를 포함할 수 있다.
일 실시예에서, 상기 정보 취득부는, 상기 공통 서비스 타입 코드 및 상기 위치 정보에 대응하는 국가 코드를 포함하는 쿼리(query)를 이용하여 상기 공통 서비스 타입 코드와 관련된 정보를 조회할 수 있다.
일 실시예에서, 복수의 데이터베이스는 복수의 서비스 공급자에 관한 서비스 상세 정보를 포함하고, 데이터에 포함된 국가 정보에 기초하여 결정되는 샤드키를 기준으로 복수의 서비스 공급자에 관한 서비스 상세 정보를 분산 저장할 수 있다.
일 실시예에서, 상기 공통 서비스 타입 코드는 서비스 공급자가 제공하는 서비스의 유형을 나타내고, 모든 국가에 대하여 동일하게 부여될 수 있다. 상기 제1 상세 서비스 타입 코드는 상기 공통 서비스 타입 코드와 관련된 서비스 유형의 상세 서비스 유형을 나타낼 수 있다.
일 실시예에서, 상기 위치 정보 검출부는 상기 클라이언트 단말의 IP 어드레스 정보 또는 상기 클라이언트 단말에 의해 입력된 위치 정보에 기초하여 상기 클라이언트 단말의 요청과 관련된 국가 정보를 검출할 수 있다.
일 실시예에서, 상기 클라이언트 단말이 복수의 상기 제1 상세 서비스 타입 정보로부터 특정의 제1 상세 서비스 타입을 선택한 경우에, 상기 정보 취득부는, 선택된 제1 상세 서비스 타입의 제1 상세 서비스 타입 코드에 관련된 정보를 조회하고, 선택된 제1 상세 서비스 타입과 관련된 복수의 제2 상세 서비스 타입 코드 및 복수의 상기 제2 상세 서비스 타입 코드와 관련된 복수의 제2 상세 서비스 타입 정보를 취득하고, 상기 정보 제공부는, 복수의 상기 제2 상세 서비스 타입 정보를 상기 클라이언트 단말에 제공할 수 있다.
일 실시예에서, 상기 제2 상세 서비스 타입 코드는 상기 제1 상세 서비스 타입 코드와 관련된 서비스 유형의 상세 서비스 유형을 나타낼 수 있다.
상기 과제를 해결하기 위한 수단으로서, 본 발명의 일 실시예에 따른 코드 분산 처리 방법은, 복수의 데이터베이스와 접속되고, 클라이언트 단말의 요청을 처리하는 코드 분산 처리 서버에 의해 수행되는 코드 분산 처리 방법으로서, 클라이언트 단말의 요청과 관련된 위치 정보를 검출하는 위치 정보 검출 단계; 복수의 데이터베이스 중 상기 위치 정보와 관련된 데이터가 저장된 데이터베이스로부터 상기 클라이언트 단말의 요청에 대응하는 공통 서비스 타입 코드와 관련된 정보를 조회하고, 상기 공통 서비스 타입 코드에 대응하는 복수의 제1 상세 서비스 타입 코드 및 복수의 상기 제1 상세 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 정보를 취득하는 제1 상세 정보 취득 단계; 및 복수의 상기 제1 상세 서비스 타입 정보를 상기 클라이언트 단말에 제공하는 제1 상세 정보 제공 단계를 포함할 수 있다.
상기 과제를 해결하기 위한 수단으로서, 본 발명의 일 실시예에 따른 프로그램은, 상기 코드 분산 처리 방법을 컴퓨터에 의해 수행하기 위해 기록매체에 저장된 프로그램일 수 있다.
본 발명의 일 실시예에 따르면, 클라이언트 단말의 요청과 관련된 위치 정보를 검출하고, 검출된 위치 정보와 관련된 데이터가 저장된 데이터베이스에 대하여 클라이언트 단말의 요청에 대응하는 공통 서비스 타입 코드와 관련된 정보를 조회하고, 공통 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 코드 및 복수의 제1 상세 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 정보를 취득함으로써, 서비스의 글로벌 확장이 용이하고, 서비스 확장의 범용성이 향상된 코드 분산 처리 서버, 코드 분산 처리 방법 및 기록 매체에 기록된 프로그램이 제공될 수 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 샤딩 시스템의 구성 및 네트워크 연결 관계를 도시하는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 데이터 샤딩 시스템의 서버의 구성을 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 샤딩 시스템의 룩업 테이블을 도시하는 도면이다.
도 4a는 종래 기술의 데이터 샤딩 방식인 해시(hash) 함수 기반의 샤딩 알고리즘을 설명하는 도면이다.
도 4b는 종래 기술의 데이터 샤딩 방식인 키 범위(Key Range) 기반의 샤딩 알고리즘을 설명하는 도면이다.
도 4c는 본 발명의 일 실시예에 따른 샤딩 알고리즘을 설명하는 도면이다.
도 5는 본 발명의 일 실시예에 따른 데이터 샤딩 시스템에 의해 수행되는 데이터 샤딩 방법의 프로세스를 나타내는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 코드 분산 처리 서버의 네트워크 연결 관계를 도시하는 블록도이다.
도 7은 본 발명의 일 실시예에 따른 코드 분산 처리 서버의 구성을 나타내는 블록도이다.
도 8은 본 발명의 일 실시예에 따른 코드 분산 처리 서버 또는 데이터베이스에서 사용되는 코드 정보와 각 코드간의 계층적 관계를 예시하는 도면이다.
도 9는 수요자가 본 발명의 일 실시예에 따른 코드 분산 처리 서버(60)에 접속한 경우의 화면의 예시이다.
도 10은 한국 유저가 "음식" 메뉴를 클릭한 경우에 표시되거나, 또는 다른 나라의 유저가 "음식" 메뉴를 클릭한 후에 한국의 위치 정보를 입력한 경우에 표시되는 화면을 일예를 도시한다.
도 11은 한국 유저가 "음식" 메뉴를 클릭한 후에 미국의 위치 정보를 입력한 경우, 또는 미국 유저가 "음식" 메뉴를 클릭한 경우에 표시되는 화면을 일예를 도시한다.
도 12는 본 발명의 일 실시예에 따른 코드 분산 처리 장치에 의해 수행되는 코드 분산 처리 방법의 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 발명의 일 실시예에 따른 데이터 샤딩 시스템(1)의 구성 및 네트워크 연결 관계를 도시하는 블록도이다.
도 1을 참조하면, 데이터 샤딩 시스템(1)은 서버(10) 및 데이터베이스부(20)를 포함할 수 있다. 서버(10), 데이터베이스부(20) 및 복수의 단말(30)은 통신 네트워크(N)를 통하여 연결되어 있다. 서버(10), 데이터베이스부(20) 및 복수의 클라이언트 단말(30)은 통신 네트워크(N)를 이용하여 데이터를 송신 및 수신할 수 있다.
네트워크(N)는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(N)의 일 예는, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 3G, 4G, LTE, WiFi 등이 포함되나 이에 한정되지는 않는다.
클라이언트 단말(30)은, 네트워크(N)를 통해 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 클라이언트 단말(30)은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 스마트 패드(smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
서버(10)는 클라이언트 단말(30)로부터의 요청(Request)을 수신하여 처리하고, 요청과 관련된 국가 정보 및 지역 정보를 검출할 수 있다. 일 실시예에서, 서버(10)는 웹 애플리케이션 서버(Web Application Server), 웹 컨테이너(Web Container) 또는 서블릿 컨테이너(Servlet Container)일 수 있다. 서버(10)는 JSP 또는 Servlet이 실행가능한 구동 환경을 제공할 수 있다.
서버(10)가 클라이언트 단말(30)로부터 요청(Request)을 받으면, 서버(10)는 클라이언트 단말(30)로부터의 요청과 관련된 서블릿(Servlet)을 메모리에 올리고, 해당 서블릿에 대한 쓰레드(thread)를 생성할 수 있다. 쓰레드는 서블릿의 service() 메쏘드를 호출하고, service() 메쏘드는 요청에 따라 doGet() 또는 doPost() 메쏘드를 호출할 수 있다. doGet() 또는 doPost() 메쏘드는 인자에 맞게 생성된 동적 페이지를 응답으로서 클라이언트 단말(30)에 직접 전달하거나 또는 웹 서버를 경유하여 클라이언트 단말(30)에 전달할 수 있다.
서버(10)는 클라이언트 단말(30)의 IP 어드레스 정보 또는 클라이언트 단말(30)에 의해 입력된 위치 정보에 기초하여 국가 정보 및 지역 정보를 검출할 수 있다. 클라이언트 단말(30)이 서버(10)에 접속하면 서버(10)는 클라이언트 단말(30)의 IP 어드레스 정보를 취득할 수 있다. IP 어드레스 정보로부터 해당 IP 어드레스의 등록된 주소를 검출할 수 있고, 검출된 주소로부터 클라이언트 단말(30)이 접속한 국가 정보 및 지역(도시) 정보가 파악될 수 있다.
클라이언트 단말(30)에 의해 입력된 위치 정보는 예를 들면, 클라이언트 단말(30)이 서버(10)에 접속하는 경우에, 서버(10)가 제공하는 웹 페이지상에 클라이언트 단말(30)의 유저가 숙박 예약, 음식 배달, 뷰티 서비스 예약 등을 위해 웹 페이지상의 주소 입력란에 입력한 주소로부터 파악될 수 있다. 또는, 클라이언트 단말(30)의 유저가 웹 페이지상의 지도 표시 화면을 이동 또는 확대/축소하여 디스플레이되는 국가 및 지역으로부터 파악될 수 있다.
데이터베이스부(20)는 서버(10)로부터의 요청에 대한 쿼리(Query)를 수신하고, 쿼리에 대한 응답(Response)을 서버(10)에 전송할 수 있다. 데이터베이스부(20)는 메타 노드(210) 및 복수의 데이터 노드(230A~230C)를 포함할 수 있다.
쿼리는 서버(10)로부터의 요청과 관련된 국가 정보 및 지역 정보에 기초하여 결정되는 샤드키(shardkey)를 포함할 수 있다. 샤드키를 기준으로 쿼리가 실행되는 데이터 노드가 결정될 수 있다.
샤드키는 국가 정보 및 지역 정보에 따라 미리 결정된 장비 코드를 포함할 수 있다. 장비 코드는 서버(10)에 저장된 룩업 테이블에 의해 결정될 수 있고, 룩업 테이블은 어떤 국가의 어떤 지역이 어떤 장비에 할당되는지를 나타내는 국가 코드/지역 코드/장비 코드를 포함하는 복수의 데이터 세트로 구성될 수 있다.
데이터베이스부(20)에서는 쿼리가 샤드키를 기준으로 분산되어 복수의 데이터 노드(230A~230C)에서 처리될 수 있다. 메타 노드(210)는 서버(10)로부터의 쿼리를 분석하여, 샤드키를 기준으로 쿼리를 복수의 데이터 노드(230A~230C)에 분산 처리를 시킬 수 있다. 메타 노드(210)는 쿼리를 샤드키에 대응하는 데이터 노드(230)에 전송하여 쿼리에 대한 응답을 취득할 수 있다.
도 2는 본 발명의 일 실시예에 따른 데이터 샤딩 시스템(1)의 서버(10)의 구성을 나타내는 블록도이다.
도 2를 참조하면, 서버(10)는 지역 정보 검출부(110), 장비 코드 결정부(120), 데이터 전송부(130) 및 룩업 테이블(140)를 포함할 수 있다.
지역 정보 검출부(100)는 클라이언트 단말(30)로부터 수신된 요청과 관련된 국가 정보 및 지역 정보를 검출할 수 있다. 수신된 요청과 관련된 국가 정보 및 지역 정보는 클라이언트 단말(30)의 IP 어드레스 정보 또는 클라이언트 단말(30)에 의해 입력된 위치 정보로부터 검출될 수 있다.
클라이언트 단말(30)로부터의 명확한 위치 입력이 없는 경우에(예를 들면, 웹 페이지에 최초 접속한 경우), 지역 정보 검출부(100)는 클라이언트 단말(30)의 IP 어드레스 정보로부터 해당 IP 어드레스의 등록된 주소를 검출할 수 있고, 검출된 주소로부터 클라이언트 단말(30)이 접속한 국가 정보 및 지역(도시) 정보가 파악될 수 있다.
클라이언트 단말(30)로부터의 명확한 위치 입력이 있는 경우에(예를 들면, 서버(10)가 제공하는 웹 페이지상에 클라이언트 단말(30)의 유저가 숙박 예약, 음식 배달, 뷰티 서비스 예약 등을 위해 웹 페이지상의 주소 입력하는 경우 또는 클라이언트 단말(30)의 유저가 웹 페이지상의 지도 표시 화면을 이동 또는 확대/축소하는 경우), 클라이언트 단말(30)에 의해 입력된 위치 정보로부터 국가 정보 및 지역 정보가 파악될 수 있다.
장비 코드 결정부(120)는 검출된 국가 정보 및 지역 정보에 대응하는 장비 코드를 룩업 테이블(140)에 기초하여 결정할 수 있다. 룩업 테이블(140)은 국가 코드, 국가명, 지역 코드, 지역명, 장비 코드의 대응관계를 나타내는 데이터를 포함할 수 있다.
데이터 전송부(130)는 장비 코드를 샤드키로 포함하는 쿼리를 데이터베이스부(20)에 전송하고, 데이터베이스부(20)로부터의 응답을 클라이언트 단말(30)에 전송할 수 있다.
도 3은 본 발명의 일 실시예에 따른 데이터 샤딩 시스템(1)의 룩업 테이블을 도시하는 도면이다.
도 3을 참조하면, 룩업 테이블은 국가 코드, 국가명, 지역 코드, 지역명 및 장비코드의 대응 관계를 나타내는 데이터 세트를 포함할 수 있다. 예를 들면, 미국과 관련된 데이터를 4개의 데이터 노드에 분산 저장하거나, 미국과 관련된 쿼리를 4개의 데이터 노드에서 분산 실행하는 경우에, 미국의 복수의 지역을 통합하여 해당 지역들을 하나의 장비가 담당하는 것으로 할 수 있다.
예를 들면, Valdez, Vallecitos, Vaughn, Velarde 지역에 관련된 데이터 또는 쿼리는 장비 코드 NA1에 대응하는 데이터 노드로 샤딩되고, Villanueva, White Sands, Williamsburg, Zuni, Alamo 지역에 관련된 데이터 또는 쿼리는 장비 코드 NA2에 대응하는 데이터 노드로 샤딩되며, Amargosa Valley, Arrolime, Austin, Baker 지역에 관련된 데이터 또는 쿼리는 장비 코드 NA3에 대응하는 데이터 노드로 샤딩되고, Khmelevoye, Boulder City, Bunkerville, Caliente, Carson City, Crystal Bay 지역에 관련된 데이터 또는 쿼리는 장비 코드 NA4에 대응하는 데이터 노드로 샤딩될 수 있다. 이와 같이, 동일한 국가 내의 복수의 지역에 대하여 동일한 장비 코드가 할당될 수 있다.
또는, 동일한 국가 내의 상이한 지역(예를 들면, 미국의 경우에 State 범위 또는 한국의 경우에 특별시/광역시/도 범위)에 대하여 다른 장비 코드가 할당될 수 있다. 또한, 국가별로 상이한 장비 코드가 할당될 수 있다.
도 4a 및 도 4b는 종래 기술의 데이터 샤딩 방식을 설명하는 도면이고, 도 4c는 본 발명의 일 실시예에 따른 데이터 샤딩 방식을 설명하는 도면이다.
도 4a를 참조하여, 종래 기술의 데이터 샤딩 방식인 해시(hash) 함수 기반의 샤딩 알고리즘에 대하여 설명한다. ID No.1 부터 ID No.8 까지의 데이터 세트가 메타 노드(310)에 수신되면, 메타 노드(310)에서는 샤딩 함수에 의해 각 데이터 세트를 데이터 노드 1, 데이터 노드 2 및 데이터 노드 3에 샤딩한다.
메타 노드(310)의 샤딩 함수는 ID No.를 샤드키로 하여 "ID No.%3"(ID No.를 3으로 나누었을 때의 나머지)의 값이 "1"인 경우에, 해당 데이터는 데이터 노드 1(330A)로 샤딩된다. "ID No.%3"의 값이 "2"인 경우에, 해당 데이터는 데이터 노드 2(330B)로 샤딩된다. "ID No.%3"의 값이 "0"인 경우에, 해당 데이터는 데이터 노드 3(330C)으로 샤딩된다.
해시 함수 기반의 샤딩 방식에 따르면, "ID No. 1", "ID No. 4"및 "ID No.7"에 해당하는 데이터가 데이터 노드 1(330A)에 샤딩되고, "ID No. 2", "ID No. 5"및 "ID No.8"에 해당하는 데이터가 데이터 노드 2(330B)에 샤딩되며, "ID No. 3" 및 "ID No. 6"에 해당하는 데이터가 데이터 노드 3(330C)에 샤딩된다.
이러한 해시 함수 기반의 샤딩 방식에 따르면, 데이터 노드(330A~330C)에 분산 저장되어 있는 데이터의 값 중에서 "data1"와 관련된 데이터를 찾고자 하는 경우에, 메타 노드(310)는 모든 데이터 노드(330A~330C)에 쿼리를 보내어 "data1"을 갖는 데이터 노드 1(330A)로부터 응답을 받을 필요가 있다. 이러한 경우, 데이터 조회 또는 검색시에 모든 데이터 노드에 쿼리를 전송해야 하므로 데이터 처리에 지연이 발생하는 문제점이 있다.
도 4b를 참조하여, 종래 기술의 데이터 샤딩 방식인 키 범위(Key Range) 기반의 샤딩 알고리즘에 대하여 설명한다. ID No.1 부터 ID No.8 까지의 데이터 세트가 메타 노드(410)에 수신되면, 메타 노드(410)에서는 샤딩 함수에 의해 각 데이터 세트를 데이터 노드 1, 데이터 노드 2 및 데이터 노드 3에 샤딩한다.
메타 노드(410)의 샤딩 함수는 ID No.를 샤드키로 하여 ID No.가 3 이하인 경우에 해당 데이터는 데이터 노드 1(430A)로 샤딩된다. ID No.가 4 이상 6 이하인 경우에, 해당 데이터는 데이터 노드 2(430B)로 샤딩된다. ID No.가 7 이상인 경우에, 해당 데이터는 데이터 노드 3(430C)으로 샤딩된다.
키 범위 기반의 샤딩 방식에 따르면, ID No. 1 부터 ID No.3 까지의 데이터가 데이터 노드 1(430A)에 샤딩되고, ID No. 4 부터 ID No.6 까지의 데이터가 데이터 노드 2(430B)에 샤딩되며, ID No. 7 부터 ID No. 8 까지의 데이터가 데이터 노드 3(430C)에 샤딩된다.
이러한 키 범위 기반의 샤딩 방식에 따르면, 데이터 노드(430A~430C)에 분산 저장되어 있는 데이터의 값 중에서 "data1"에 관련된 데이터를 찾고자 하는 경우에, 메타 노드(410)는 모든 데이터 노드(430A~430C)에 쿼리를 보내어 "data1"을 갖는 데이터 노드 1(430A)로부터 응답을 받을 필요가 있다. 이러한 경우, 데이터 조회 또는 검색시에 모든 데이터 노드에 쿼리를 전송해야 하므로 데이터 처리에 지연이 발생하는 문제점이 있다.
도 4c를 참조하여, 본 발명의 일 실시예에 따른 샤딩 알고리즘으로서, 국가 및 지역 정보에 기초하여 결정된 장비 코드를 샤드키로 하는 샤딩 알고리즘에 대하여 설명한다. ID No.1 부터 ID No.8 까지의 데이터 세트가 메타 노드(210)에 수신되면, 메타 노드(210)에서는 샤딩 함수에 의해 각 데이터 세트를 데이터 노드 1(230A), 데이터 노드 2(230B) 및 데이터 노드 3(230C)에 샤딩한다.
모든 데이터 세트는 장비 코드(Equipment No.)를 포함할 수 있다. 장비 코드의 개수는 샤딩되는 데이터 노드의 개수와 동일할 수 있다. 예를 들면, 도 4c에서는 3개의 데이터 노드(230A~230C)가 존재하며, 이러한 경우에 각 데이터에 할당되는 장비 코드는 E01, E02, E03일 수 있다. 장비 코드는 도 3을 참조하여 상술한 바와 같이 미리 결정된 룩업 테이블에 의해서 정해질 수 있다.
메타 노드(210)의 샤딩 함수는 Equipment No.를 샤드키로 하며, 할당된 Equipment No.가 E01인 경우에 해당 데이터는 데이터 노드 1(230A)로 샤딩된다. 할당된 Equipment No.가 E02인 경우에, 해당 데이터는 데이터 노드 2(230B)로 샤딩된다. 할당된 Equipment No.가 E03인 경우에, 해당 데이터는 데이터 노드 3(230C)으로 샤딩된다.
국가 및 지역 정보에 기초하여 결정된 장비 코드를 샤드키로 하는 본 발명의 일 실시예에 따른 샤딩 방식에 따르면, ID No. 1 부터 ID No.2 까지의 데이터가 데이터 노드 1(230A)에 샤딩되고, ID No. 3의 데이터가 데이터 노드 2(230B)에 샤딩되며, ID No. 4 부터 ID No. 8 까지의 데이터가 데이터 노드 3(230C)에 샤딩된다.
본 발명의 일 실시예에 따른 샤딩 방식에 의하면, 데이터 노드(230A~230C)에 분산 저장되어 있는 데이터의 값 중에서 "data1"과 관련된 데이터를 찾고자 하는 경우에, 메타 노드(410)는 "data1"에 관한 국가 정보 및 지역 정보에 따라 결정되는 장비 코드 E01에 대응하는 데이터 노드(230A)에 쿼리를 보내어 "data1"과 관련된 데이터에 대하여 응답을 받을 수 있다. 이러한 경우, 데이터 조회 또는 검색시에 모든 데이터 노드에 쿼리를 전송할 필요가 없고, 해당 데이터와 관련된 국가 정보 및 지역 정보에 따라 결정되는 샤드키에 의해 해당 데이터가 저장된 데이터 노드에 직접 쿼리를 요청할 수 있기 때문에 데이터 처리의 지연을 줄일 수 있다.
도 5는 본 발명의 일 실시예에 따른 데이터 샤딩 시스템(1)에 의해 수행되는 데이터 샤딩 방법의 프로세스를 나타내는 흐름도이다.
도 5를 참조하면, 데이터 샤딩 시스템(1)에 의해 수행되는 데이터 샤딩 방법은 지역 정보 검출 단계(S10), 장비 코드 결정 단계(S20), 쿼리 전송 단계(S30) 및 분산 처리 단계(S40)를 포함할 수 있다.
지역 정보 검출 단계(S10)에서는, 서버(10)의 지역 정보 검출부(110)가 클라이언트 단말(30)로부터의 수신된 요청으로부터 요청과 관련된 국가 정보 및 지역 정보를 검출할 수 있다. 지역 정보 검출부(110)는 클라이언트 단말(30)의 IP 어드레스 정보 또는 클라이언트 단말(30)에 의해 입력된 위치 정보에 기초하여 국가 정보 및 지역 정보를 검출할 수 있다.
장비 코드 결정 단계(S20)에서, 장비 코드 결정부(120)가 국가 정보 및 지역 정보에 대응하는 장비 코드를 룩업 테이블에 기초하여 결정할 수 있다. 룩업 테이블은 국가 코드, 국가명, 지역 코드, 지역명, 장비 코드의 대응관계를 나타내는 데이터를 포함할 수 있다.
쿼리 전송 단계(S30)에서, 데이터 전송부(130)가 클라이언트 단말(30)의 요청에 대한 쿼리를 데이터베이스부(20)에 전송할 수 있다. 데이터 전송부(130)는 장비 코드 결정부(120)에 의해 결정된 장비 코드를 샤드키로 포함하는 쿼리를 데이터베이스부(20)에 전송할 수 있다.
분산 처리 단계(S40)에서, 데이터베이스부(20)가 서버(10)로부터 쿼리를 수신하고, 수신된 쿼리를 분석하여 샤드키를 기준으로 데이터를 복수의 데이터 노드에 분산 처리할 수 있다.
본 발명의 일 실시예에 따른 데이터 샤딩 방법에 의하면, 쿼리가 클라이언트 단말의 요청과 관련된 국가 정보 및 지역 정보에 기초하여 결정되는 샤드키를 포함하고, 쿼리가 샤드키를 기준으로 복수의 데이터 노드에 분산하여 처리되어, 데이터 처리 속도가 향상되고 별도의 데이터 인덱싱 작업을 수행하지 않고도 조희하는 데이터의 저장 위치를 용이하게 찾을 수 있다.
도 6은 본 발명의 일 실시예에 따른 코드 분산 처리 서버(60)의 네트워크 연결 관계를 도시하는 블록도이다.
도 6을 참조하면, 코드 분산 처리 서버(60)는 통신 네트워크(N)를 통해 복수의 클라이언트 단말(70) 및 복수의 데이터베이스(80: 80A, 80B, 80C)와 연결될 수 있다. 코드 분산 처리 서버(60)에 대하여는 모순되지 않는 경우에 도 1에 도시된 서버(10)에 대한 설명이 참조될 수 있고, 데이터베이스(80)에 대하여는 모순되지 않는 경우에 도 1에 도시된 데이터베이스부(20)에 대한 설명이 참조될 수 있다.
코드 분산 처리 서버(60)는 클라이언트 단말(70)로부터 요청을 수신하여 처리하고, 복수의 데이터베이스(80) 중 클라이언트 단말(70)로부터의 요청과 관련된 데이터베이스(80A, 80B 또는 80C)에 요청과 관련된 쿼리를 전송하고, 쿼리 실행 결과를 취득하여 클라이언트 단말(70)에 제공할 수 있다.
코드 분산 처리 서버(60)는 클라이언트 단말(70)을 통해 서버에 접속한 유저에게 공급자가 제공하는 복수의 서비스에 대한 정보를 제공할 수 있다. 일 실시예에서, 코드 분산 처리 서버(60)는 숙박, 음식 및 뷰티에 관한 공급자 정보 및 서비스 정보를 제공할 수 있다. 유저는 코드 분산 처리 서버(60)에 접속하여 이용을 희망하는 국가의 숙박, 음식, 뷰티 서비스 등을 조회하고, 조회된 서비스의 예약 또는 구매를 실행할 수 있다.
복수의 데이터베이스(80: 80A, 80B, 80C)는 공급자가 제공하는 서비스에 관련된 서비스 정보, 공급자의 개인 정보(계정, 거래 정보, 연락처 정보 등), 수요자의 개인 정보(계정, 거래 정보, 연락처 정보 등)를 저장할 수 있다. 서비스 정보, 공급자 및 수요자의 개인 정보는 국가 정보, 지역 정보 및 언어 정보를 포함할 수 있다. 이하에서, 복수의 데이터베이스 전체를 나타낼 때는 도면부호 80이 사용되고, 개별 데이터베이스를 나타낼 때는 도면부호 80A, 80B, 80C)가 사용된다.
일 실시예에서, 서비스 정보, 공급자의 개인 정보 및 수요자의 개인 정보 등은 각 정보에 포함되는 국가 정보에 기초하여 결정되는 샤드키를 기준으로 각 데이터베이스(80A, 80B, 80C)에 분산 저장될 수 있다. 다른 실시예에서, 서비스 정보, 공급자의 개인 정보 및 수요자의 개인 정보 등은 각 정보에 포함되는 국가 정보 및 지역 정보에 기초하여 결정되는 샤드키를 기준으로 각 데이터베이스(80A, 80B, 80C)에 분산 저장될 수 있다. 국가 정보 및 지역 정보에 기초하여 결정되는 샤드키를 기준으로 각 데이터베이스(80A, 80B, 80C)에 분산 저장되는 방법에 대하여는 도 4c를 참조하여 설명한 데이터 분산 방법에 관한 설명이 참조될 수 있다.
예를 들면, 데이터베이스(80A)는 한국에 관한 서비스 정보, 공급자의 개인 정보 및 수요자의 개인 정보 등을 저장하고, 데이터베이스(80B)는 미국에 관한 서비스 정보, 공급자의 개인 정보 및 수요자의 개인 정보 등을 저장하며, 데이터베이스(80C)는 일본에 관한 서비스 정보, 공급자의 개인 정보 및 수요자의 개인 정보 등을 저장할 수 있다.
한국 관련 데이터가 저장된 데이터베이스(80A)의 데이터 테이블은 한국의 국가 정보 및 해당 서비스 등과 관련된 구체적인 지역 정보(서울, 경기 등)를 포함할 수 있다. 미국 관련 데이터가 저장된 데이터베이스(80B)의 데이터 테이블은 미국의 국가 정보 및 해당 서비스 등과 관련된 구체적인 지역 정보(뉴욕, 시카고 등)를 포함할 수 있다.
도 7은 본 발명의 일 실시예에 따른 코드 분산 처리 서버(60)의 구성을 나타내는 블록도이다.
도 7을 참조하면, 코드 분산 처리 서버(60)는 위치 정보 검출부(610), 정보 취득부(620) 및 정보 제공부(630)를 포함할 수 있다. 코드 분산 처리 서버(60)는 위치 정보 검출부(610), 정보 취득부(620) 및 정보 제공부(630)에 의해 클라이언트 단말(70)로부터의 요청을 처리하여, 요청과 관련된 데이터를 클라이언트 단말(70)에 제공할 수 있다.
위치 정보 검출부(610)는 클라이언트 단말(70)의 요청과 관련된 위치 정보를 검출할 수 있다. 위치 정보 검출부(610)는 클라이언트 단말(70)이 접속된 IP 어드레스 정보 또는 클라이언트 단말(70)에 의해 입력된 위치 정보에 기초하여 국가 정보를 검출할 수 있다.
클라이언트 단말(70)로부터 요청(서비스 조회, 검색, 열람 등)을 수신하면, 위치 정보 검출부(610)는 클라이언트 단말(70)의 요청과 관련된 위치 정보를 검출할 수 있다. 코드 분산 처리 서버(60)는 위치 정보를 검출함으로써 복수의 데이터베이스(80) 중 검출된 위치 정보와 관련된 데이터가 저장된 데이터베이스(80A, 80B 또는 80C)에 요청에 대응하는 정보를 조회할 수 있다.
정보 취득부(620)는 복수의 데이터베이스(80) 중 검출된 위치 정보와 관련된 데이터가 저장된 데이터베이스(80A, 80B 또는 80C)에 대하여, 클라이언트 단말(70)의 요청에 대응하는 공통 서비스 타입 코드와 관련된 정보를 조회할 수 있다. 정보 취득부(620)는 공통 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 코드 및 복수의 상기 제1 상세 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 정보를, 검출된 위치 정보와 관련된 데이터가 저장된 데이터베이스(80A, 80B 또는 80C)로부터 취득할 수 있다.
도 8은 본 발명의 일 실시예에 따른 코드 분산 처리 서버(60) 또는 데이터베이스(80)에서 사용되는 코드 정보와 각 코드간의 계층적 관계를 예시하는 도면이다. 도 8의 (a)는 한국 데이터베이스(80A)에 저장된 코드 정보를 도시하고, 도 8의 (b)는 미국 데이터베이스(80B)에 저장된 코드 정보를 도시한다.
도 8을 참조하면, 음식 서비스에 대하여 모든 국가에 공통적으로 부여되는 공통 서비스 타입 코드는 "FC"이다. 공통 서비스 타입 코드는 서비스 공급자가 제공하는 서비스의 유형을 나타낼 수 있다. 다른 실시예에서, 숙박 서비스에 대하여 모든 국가에 공통적으로 부여되는 공통 서비스 타입 코드는 "AC"일 수 있고, 뷰티 서비스에 대하여 모든 국가에 공통적으로 부여되는 공통 서비스 타입 코드는 "BC"일 수 있다. 모든 국가에 공통적으로 부여되는 공통 서비스 타입 코드를 이용하여 국가별 데이터가 저장된 데이터베이스(80A, 80B, 80C)에 저장된 데이터를 조회하는 구성에 의해 웹 서비스 또는 모바일 애플리케이션 서비스의 개발시에 모든 국가에 공통적으로 적용가능한 프로그래밍 코드로 작성이 가능하며, 이에 따라 웹 서비스 및 모바일 애플리케이션 서비스의 글로벌 확장시에 소요되는 비용 및 인력 수요가 절감될 수 있다.
도 8의 (a)를 참조하면, 한국 코드 정보에서는 공통 서비스 타입 코드 "FC"와 관련하여 "AA"와 "BB"의 제1 상세 서비스 타입이 존재한다. "한식"을 나타내는 제1 상세 서비스 타입 코드는 "AA"이고, "분식"을 나타내는 제1 상세 서비스 타입 코드는 "BB"로 설정될 수 있다.
또한, 제1 상세 서비스 타입인 "한식"과 관련된 제2 상세 서비스 타입은 고기(A1), 민물회(A2), 바다회(A3), 백반(A4), 기타(A5)이고, 다른 제1 상세 서비스 타입인 "분식"과 관련된 제2 상세 서비스 타입은 김밥(B1), 면(B2), 떡볶이(B3), 덮밥(B4), 기타(B5)로 설정될 수 있다.
도 8의 (b)를 참조하면, 미국 코드 정보에서는 공통 서비스 타입 코드 "FC"와 관련된 "AA"와 "BB"의 제1 상세 서비스 타입이 존재한다. "미국음식"을 나타내는 제1 상세 서비스 타입 코드는 "AA"이고, "아시안음식"을 나타내는 제2 상세 서비스 타입 코드는 "BB"로 설정될 수 있다.
또한, 제1 상세 서비스 타입인 "미국음식"과 관련된 제2 상세 서비스 타입은 스테이크(A1), 햄버거(A2), 바비큐(A3), 디저트(A4), 기타(A5)이고, 다른 제1 상세 서비스 타입인 "아시안음식"과 관련된 제2 상세 서비스 타입은 한국음식(B1), 일본음식(B2), 중국음식(B3), 베트남음식(B4), 기타(B5)로 설정될 수 있다.
도 8에 도시된 코드 정보에서는 한국과 미국에서 상이한 상세 서비스 타입에 대하여 동일한 상세 서비스 타입 코드를 사용하고 있으나, 다른 실시예에서는 상이한 상세 서비스 타입에 대하여 상이한 서비스 타입 코드를 사용할 수 있고, 이러한 실시예도 본 발명의 기술적 사상의 범위 내에 포함될 수 있다.
다시 도 7을 참조하면, 정보 취득부(620)는 클라이언트 단말(70)의 요청에 대응하는 공통 서비스 타입 코드와 관련된 정보를 데이터베이스(80)에 조회할 수 있다. 정보 취득부(620)는, 공통 서비스 타입 코드 및 위치 정보에 대응하는 국가 코드를 포함하는 쿼리(query)를 이용하여 공통 서비스 타입 코드와 관련된 정보를 조회할 수 있다. 정보 취득부(620)는 데이터베이스(80)로부터 공통 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 코드 및 관련된 복수의 제1 상세 서비스 타입 정보를 취득할 수 있다.
일 실시예에서, 클라이언트 단말(70)로부터 한국의 음식 서비스에 대한 조회 요청이 있는 경우에, 정보 취득부(620)는 한국과 관련된 데이터가 저장된 데이터베이스(80A)에 음식 서비스 요청을 조회할 수 있다. 예를 들면, 음식 서비스 요청과 관련된 공통 서비스 타입 코드가 "FC"인 경우에, 정보 취득부(620)는 데이터베이스(80A)에 공통 서비스 타입 코드 "FC"와 관련된 정보를 조회하여, "FC"와 관련된 제1 상세 서비스 타입 코드(AA, BB) 및 제1 상세 서비스 타입 코드와 관련된 정보(AA 및 BB와 관련된 공급자 서비스 정보 등)을 취득할 수 있다.
다른 실시예에서, 코드 분산 처리 서버(60)가 개별 데이터베이스(80A, 80B, 80C)에 요청에 관한 쿼리를 전송하지 않고, 데이터베이스(80)에 음식 서비스 요청에 관한 쿼리를 전송하면, 데이터베이스(80) 내의 메타 노드(미도시)가 요청과 관련된 국가 정보에 대응하는 데이터베이스(80A, 80B 또는 80C)에서 쿼리를 실행하도록 하고, 정보 취득부(620)가 데이터베이스(80) 로부터 쿼리 실행 결과를 취득할 수 있다.
일 실시예에서, 클라이언트 단말(70)로부터 미국의 음식 서비스에 대한 조회 요청이 있는 경우에, 정보 취득부(620)는 미국과 관련된 데이터가 저장된 데이터베이스(80B)에 음식 서비스 요청을 조회할 수 있다. 예를 들면, 음식 서비스 요청에 대응하는 공통 서비스 타입 코드가 "FC"인 경우에, 정보 취득부(620)는 데이터베이스(80B)에 공통 서비스 타입 코드 "FC"와 관련된 정보를 조회하고, "FC"와 관련된 제1 상세 서비스 타입 코드(AA, BB) 및 제1 상세 서비스 타입 코드와 관련된 정보(AA 및 BB와 관련된 공급자 서비스 정보 등)을 데이터베이스(80B)로부터 취득할 수 있다.
클라이언트 단말이 복수의 제1 상세 서비스 타입 정보로부터 특정의 제1 상세 서비스 타입을 선택한 경우에, 정보 취득부(620)는 선택된 제1 상세 서비스 타입의 제1 상세 서비스 타입 코드와 관련된 정보를 조회하고, 선택된 제1 상세 서비스 타입과 관련된 복수의 제2 상세 서비스 타입 코드 및 복수의 상기 제2 상세 서비스 타입 코드와 관련된 복수의 제2 상세 서비스 타입 정보를 취득할 수 있다. 정보 취득부(620)는 선택된 제1 상세 서비스 타입의 제1 상세 서비스 타입 코드 및 국가 코드를 포함하는 쿼리(query)를 이용하여 선택된 제1 상세 서비스 타입 코드 및 관련된 정보를 조회할 수 있다.
일 실시예에서, 한식(AA) 및 분식(BB)에 관련된 공급자 서비스 정보가 클라이언트 단말(70)에 제공된 후에, 수요자가 제1 상세 서비스 타입인 한식(AA)과 분식(BB) 중에서 한식(AA)을 선택한 경우에, 정보 취득부(620)는 선택된 제1 상세 서비스 타입("한식")의 제1 상세 서비스 타입 코드("AA")에 관련된 정보를 데이터베이스(80A)에 조회하고, 선택된 제1 상세 서비스 타입("한식")과 관련된 제2 상세 서비스 타입 코드 및 관련된 정보(A1: 고기, A2: 민물회, A3: 바다회, A4: 백반, A5: 기타 및 A1~A5와 관련된 공급자의 서비스 정보)를 취득할 수 있다.
일 실시예에서, 미국음식(AA) 및 아시안음식(BB)에 관련된 공급자 서비스 정보가 클라이언트 단말(70)에 제공된 후에, 수요자가 제1 상세 서비스 타입인 미국음식(AA) 및 아시안음식(BB) 중에서 미국음식(AA)을 선택한 경우에, 정보 취득부(620)는 선택된 제1 상세 서비스 타입("미국음식")의 제1 상세 서비스 타입 코드("AA")과 관련된 정보를 데이터베이스(80B)에 조회하고, 선택된 제1 상세 서비스 타입("미국음식")과 관련된 제2 상세 서비스 타입 코드 및 관련된 정보(A1: 스테이크, A2: 햄버거, A3: 바비큐, A4: 디저트, A5: 기타 및 A1~A5와 관련된 공급자의 서비스 정보)를 취득할 수 있다.
정보 제공부(630)는 클라이언트 단말(70)의 요청에 따라 정보 취득부(620)에 의해 조회 및 취득된 제1 상세 서비스 타입 정보 또는 제2 상세 서비스 타입 정보를 클라이언트 단말(70)에 제공할 수 있다.
일 실시예에서, 클라이언트 단말(70)로부터 한국의 음식 서비스에 대한 조회 요청이 있는 경우에, 정보 취득부(620)에 의해 취득된 공통 서비스 타입 코드 FC"와 관련된 제1 상세 서비스 타입 코드(AA, BB) 및 제1 상세 서비스 타입 코드와 관련된 정보(AA 및 BB와 관련된 한국 공급자 서비스 정보 등)가 클라이언트 단말(70)에 제공될 수 있다.
또한, 클라이언트 단말(70)에 의해 한국의 음식 서비스 중 "한식"이 선택된 경우에, 정보 취득부(620)에 의해 취득된"한식"과 관련된 제2 서비스 타입 코드 및 제2 상세 서비스 타입 정보(고기(A1), 민물회(A2), 바다회(A3), 백반(A4), 기타(A5) 및 관련된 공급자 서비스 정보)가 클라이언트 단말(70)에 제공될 수 있다.
일 실시예에서, 클라이언트 단말(70)로부터 미국의 음식 서비스에 대한 조회 요청이 있는 경우에, 정보 취득부(620)에 의해 취득된 공통 서비스 타입 코드 FC"와 관련된 제1 상세 서비스 타입 코드(AA, BB) 및 제1 상세 서비스 타입 코드와 관련된 정보(AA 및 BB와 관련된 미국 공급자 서비스 정보 등)가 클라이언트 단말(70)에 제공될 수 있다.
또한, 클라이언트 단말(70)에 의해 미국의 음식 서비스 중 "미국음식"이 선택된 경우에, 정보 취득부(620)에 의해 취득된"미국음식"과 관련된 제2 서비스 타입 코드 및 제2 상세 서비스 타입 정보(스테이크(A1), 햄버거(A2), 바비큐(A3), 디저트(A4), 기타(A5) 및 관련된 공급자 서비스 정보)가 클라이언트 단말(70)에 제공될 수 있다.
도 9는 수요자가 본 발명의 일 실시예에 따른 코드 분산 처리 서버(60)에 접속한 경우의 화면의 예시이다.
도 9를 참조하면, 코드 분산 처리 서버(60)는 웹페이지 또는 모바일 애플리케이션을 통해 유저가 접속하면 제공하는 서비스의 유형을 나타내는 메뉴를 표시할 수 있다. 도 9의 실시예에서 코드 분산 처리 서버(60)는 음식, 숙박 및 뷰티 서비스의 관한 정보를 제공할 수 있다.
예를 들면,"음식" 메뉴가 클릭되면, 프랜차이즈 음식점, 비프랜차이즈 음식점, 카페, 한식, 중식 등의 여하의 음식 관련 서비스 공급자의 서비스 정보가 표시될 수 있다. "숙박" 메뉴가 클릭되면, 호텔, 민박, 호스텔, 등 여하의 숙박 관련 서비스 공급자의 서비스 정보가 표시될 수 있다. "뷰티" 메뉴가 클릭되면, 헤어, 메이크업, 마사지, 네일 등 여하의 뷰티 관련 서비스 공급자의 서비스 정보가 표시될 수 있다.
도 10은 한국 유저가 "음식" 메뉴를 클릭한 경우에 표시되거나, 또는 다른 나라의 유저가 "음식" 메뉴를 클릭한 후에 한국의 위치 정보를 입력한 경우에 표시되는 화면을 일예를 도시한다.
한국 유저가 "음식" 메뉴를 클릭한 경우에 표시되거나, 또는 다른 나라의 유저가 "음식" 메뉴를 클릭한 후에 한국의 위치 정보를 입력한 경우에, 코드 분산 처리 서버(60)는 "음식"에 대한 공통 서비스 타입 코드(FC)와 관련된 정보를 한국과 관련된 데이터베이스(80A)에 조회할 수 있다. 한국과 관련된 데이터베이스(80A)에서는 공통 서비스 타입 코드 및 국가 정보를 포함하는 쿼리가 실행되고, 음식과 관련된 제1 상세 서비스 타입 코드 및 관련된 제1 상세 서비스 타입 정보(AA: 한식, BB: 분식과 관련된 공급자의 서비스 정보)를 한국 유저의 단말(70)에 제공할 수 있다. 단말(70)의 화면에는 도 10의 (a)에 도시된 바와 같이 접속 위치 근처의 지도 데이터, 음식점 유형으로서 한식과 분식, 이와 관련된 공급자의 서비스 정보(미도시) 등이 표시될 수 있다. 이때 제공되는 서비스 정보는 접속 위치 근처의 지도 데이터에 표시되는 공급자의 서비스 정보로 제한될 수 있다.
또한, 한국 유저가 음식점 유형 중 한식을 선택한 경우에, 코드 분산 처리 서버(60)는 "한식"과 관련된 정보를 한국과 관련된 데이터베이스(80A)에 조회할 수 있다. 한국과 관련된 데이터베이스(80A)에서는 "한식"과 관련된 제1 상세 서비스 타입 코드 "AA" 및 국가 정보를 포함하는 쿼리가 실행되고, "한식"과 관련된 제2 상세 서비스 타입 코드 및 관련된 제2 상세 서비스 타입 정보(고기:A1, 민물회:A2, 바다회:A3, 백반:A4, 기타:A5와 관련된 공급자의 서비스 정보)를 한국 유저의 단말(70)에 제공할 수 있다.
단말(70)의 화면에는 도 10의 (b)에 도시된 바와 같이 접속 위치 근처의 지도 데이터, 음식점 유형으로서 고기, 민물회, 바다회, 백반, 기타 및 이와 관련된 공급자의 서비스 정보(미도시) 등이 표시될 수 있다. 이때 제공되는 서비스 정보는 접속 위치 근처의 지도 데이터에 표시되는 공급자의 서비스 정보로 제한될 수 있다.
도 11은 한국 유저가 "음식" 메뉴를 클릭한 후에 미국의 위치 정보를 입력한 경우, 또는 미국 유저가 "음식" 메뉴를 클릭한 경우에 표시되는 화면을 일예를 도시한다.
한국 유저가 "음식" 메뉴를 클릭한 후에 미국의 위치 정보를 입력한 경우, 또는 미국 유저가 "음식" 메뉴를 클릭한 경우에, 코드 분산 처리 서버(60)는 "음식"에 대한 공통 서비스 타입 코드(FC)와 관련된 정보를 미국과 관련된 데이터베이스(80B)에 조회할 수 있다. 미국과 관련된 데이터베이스(80B)에서는 공통 서비스 타입 코드 및 국가 정보를 포함하는 쿼리가 실행되고, 음식과 관련된 제1 상세 서비스 타입 코드 및 관련된 제1 상세 서비스 타입 정보(AA: 미국음식, BB: 아시안음식과 관련된 공급자의 서비스 정보)를 미국 유저의 단말(70)에 제공할 수 있다. 단말(70)의 화면에는 도 11의 (a)에 도시된 바와 같이 접속 위치 근처의 지도 데이터, 음식점 유형으로서 미국음식과 아시안음식, 이와 관련된 공급자의 서비스 정보(미도시) 등이 표시될 수 있다. 이때 제공되는 서비스 정보는 접속 위치 근처의 지도 데이터에 표시되는 공급자의 서비스 정보로 제한될 수 있다.
또한, 미국 유저가 음식점 유형 중 미국음식을 선택한 경우에, 코드 분산 처리 서버(60)는 "미국음식"과 관련된 정보를 미국과 관련된 데이터베이스(80B)에 조회할 수 있다. 미국과 관련된 데이터베이스(80B)에서는 "미국음식"과 관련된 제1 상세 서비스 타입 코드 "AA" 및 국가 정보를 포함하는 쿼리가 실행되고, "미국음식"과 관련된 제2 상세 서비스 타입 코드 및 관련된 제2 상세 서비스 타입 정보(스테이크:A1, 햄버거:A2, 바비큐:A3, 디저트:A4, 기타:A5와 관련된 공급자의 서비스 정보)를 미국 유저의 단말(70)에 제공할 수 있다.
단말(70)의 화면에는 도 11의 (b)에 도시된 바와 같이 접속 위치 근처의 지도 데이터, 음식점 상세 유형으로서 스테이크, 햄버거 바비큐, 디저트, 기타 및 이와 관련된 공급자의 서비스 정보(미도시) 등이 표시될 수 있다. 이때 제공되는 서비스 정보는 접속 위치 근처의 지도 데이터에 표시되는 공급자의 서비스 정보로 제한될 수 있다.
도 12는 본 발명의 일 실시예에 따른 코드 분산 처리 장치(60)에 의해 수행되는 코드 분산 처리 방법의 흐름도이다.
도 12를 참조하면, 코드 분산 처리 방법은 위치 정보 검출 단계(S210), 제1 정보 취득 단계(S220), 제1 정보 제공 단계(S230), 제2 정보 취득 단계(S240) 및 제2 정보 제공 단계(S250)를 포함할 수 있다.
위치 정보 검출 단계(S210)에서는, 코드 분산 처리 서버(60)의 위치 정보 검출부(610)가 클라이언트 단말(70)의 요청과 관련된 위치 정보를 검출할 수 있다.
제1 정보 취득 단계(S220)에서는, 코드 분산 처리 서버(60)의 정보 취득부(620)가 복수의 데이터베이스(80) 중 상기 위치 정보와 관련된 데이터가 저장된 데이터베이스(80A, 80B 또는 80C)로부터 클라이언트 단말(70)의 요청에 대응하는 공통 서비스 타입 코드와 관련된 정보를 조회하고, 공통 서비스 타입 코드에 대응하는 복수의 제1 상세 서비스 타입 코드 및 복수의 제1 상세 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 정보를 취득할 수 있다.
제1 정보 제공 단계(S230)에서는, 코드 분산 처리 서버(60)의 정보 제공부(630)가 정보 취득부(620)에 의해 취득된 복수의 제1 상세 서비스 타입 정보를 클라이언트 단말(70)에 제공할 수 있다.
제2 정보 취득 단계(S240)에서는, 코드 분산 처리 서버(60)의 정보 취득부(620)가, 선택된 제1 상세 서비스 타입의 제1 상세 서비스 타입 코드에 관련된 정보를 조회하고, 선택된 제1 상세 서비스 타입과 관련된 복수의 제2 상세 서비스 타입 코드 및 복수의 제2 상세 서비스 타입 코드와 관련된 복수의 제2 상세 서비스 타입 정보를 취득할 수 있다.
제2 정보 제공 단계(S250)에서는, 코드 분산 처리 서버(60)의 정보 제공부(630)가 정보 취득부(620)에 의해 취득된 복수의 제2 상세 서비스 타입 정보를 클라이언트 단말(70)에 제공할 수 있다.
상술한 본 발명의 일 실시예에 따른 코드 분산 처리 방법에 의하면, 클라이언트 단말의 요청과 관련된 위치 정보를 검출하고, 검출된 위치 정보와 관련된 데이터가 저장된 데이터베이스에 대하여 클라이언트 단말의 요청에 대응하는 공통 서비스 타입 코드와 관련된 정보를 조회하고, 공통 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 코드 및 복수의 제1 상세 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 정보를 취득함으로써, 서비스의 글로벌 확장이 용이하고, 서비스 확장의 범용성이 향상될 수 있다.
이상에서 설명된 단계 또는 프로세스는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합에 의해 실행될 수 있다. 예를 들어, 실시예들에서 설명된 단계 또는 프로세스는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 실행될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
1: 데이터 샤딩 시스템 10: 서버
20: 데이터베이스부 30: 단말
110: 지역 정보 검출부 120: 장비 코드 결정부
130: 데이터 전송부 140: 룩업 테이블
210: 메타 노드 230A~230C: 데이터 노드
60: 서버 70: 클라이언트 단말
80, 80A, 80B, 80C: 데이터베이스 610: 위치 정보 검출부
620: 정보 취득부 630: 정보 제공부

Claims (10)

  1. 복수의 데이터베이스와 접속되고, 클라이언트 단말의 요청을 처리하는 코드 분산 처리 서버로서,
    클라이언트 단말의 요청과 관련된 위치 정보를 검출하는 위치 정보 검출부;
    복수의 데이터베이스 중 상기 위치 정보와 관련된 데이터가 저장된 데이터베이스에 대하여, 상기 클라이언트 단말의 요청에 대응하는 공통 서비스 타입 코드와 관련된 정보를 조회하고, 상기 공통 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 코드 및 복수의 상기 제1 상세 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 정보를 취득하는 정보 취득부; 및
    복수의 상기 제1 상세 서비스 타입 정보를 상기 클라이언트 단말에 제공하는 정보 제공부
    를 포함하고,
    상기 공통 서비스 타입 코드 및 상기 제1 상세 서비스 타입 코드는 서비스 공급자가 제공하는 서비스의 유형을 나타내는 코드 분산 처리 서버.
  2. 제1항에 있어서, 상기 정보 취득부는, 상기 공통 서비스 타입 코드 및 상기 위치 정보에 대응하는 국가 코드를 포함하는 쿼리(query)를 이용하여 상기 공통 서비스 타입 코드와 관련된 정보를 조회하는 코드 분산 처리 서버.
  3. 제1항에 있어서,
    복수의 데이터베이스는 복수의 서비스 공급자에 관한 서비스 상세 정보를 포함하고, 데이터에 포함된 국가 정보에 기초하여 결정되는 샤드키를 기준으로 복수의 서비스 공급자에 관한 서비스 상세 정보를 분산 저장하는 코드 분산 처리 서버.
  4. 제1항에 있어서,
    상기 공통 서비스 타입 코드는 서비스 공급자가 제공하는 서비스의 유형을 나타내고, 모든 국가에 대하여 동일하게 부여되는 코드 분산 처리 서버.
  5. 제1항에 있어서,
    상기 제1 상세 서비스 타입 코드는 상기 공통 서비스 타입 코드와 관련된 서비스 유형의 상세 서비스 유형을 나타내는 코드 분산 처리 서버.
  6. 제1항에 있어서,
    상기 위치 정보 검출부는 상기 클라이언트 단말의 IP 어드레스 정보 또는 상기 클라이언트 단말에 의해 입력된 위치 정보에 기초하여 상기 클라이언트 단말의 요청과 관련된 국가 정보를 검출하는 코드 분산 처리 서버.
  7. 제1항에 있어서,
    상기 클라이언트 단말이 복수의 상기 제1 상세 서비스 타입 정보로부터 특정의 제1 상세 서비스 타입을 선택한 경우에,
    상기 정보 취득부는, 선택된 제1 상세 서비스 타입의 제1 상세 서비스 타입 코드에 관련된 정보를 조회하고, 선택된 제1 상세 서비스 타입과 관련된 복수의 제2 상세 서비스 타입 코드 및 복수의 상기 제2 상세 서비스 타입 코드와 관련된 복수의 제2 상세 서비스 타입 정보를 취득하고,
    상기 정보 제공부는, 복수의 상기 제2 상세 서비스 타입 정보를 상기 클라이언트 단말에 제공하는 코드 분산 처리 서버.
  8. 제7항에 있어서,
    상기 제2 상세 서비스 타입 코드는 상기 제1 상세 서비스 타입 코드와 관련된 서비스 유형의 상세 서비스 유형을 나타내는 코드 분산 처리 서버.
  9. 복수의 데이터베이스와 접속되고, 클라이언트 단말의 요청을 처리하는 코드 분산 처리 서버에 의해 수행되는 코드 분산 처리 방법으로서,
    클라이언트 단말의 요청과 관련된 위치 정보를 검출하는 위치 정보 검출 단계;
    복수의 데이터베이스 중 상기 위치 정보와 관련된 데이터가 저장된 데이터베이스로부터 상기 클라이언트 단말의 요청에 대응하는 공통 서비스 타입 코드와 관련된 정보를 조회하고, 상기 공통 서비스 타입 코드에 대응하는 복수의 제1 상세 서비스 타입 코드 및 복수의 상기 제1 상세 서비스 타입 코드와 관련된 복수의 제1 상세 서비스 타입 정보를 취득하는 제1 상세 정보 취득 단계; 및
    복수의 상기 제1 상세 서비스 타입 정보를 상기 클라이언트 단말에 제공하는 제1 상세 정보 제공 단계
    를 포함하고,
    상기 공통 서비스 타입 코드 및 상기 제1 상세 서비스 타입 코드는 서비스 공급자가 제공하는 서비스의 유형을 나타내는 코드 분산 샤딩 방법.
  10. 제9항에 기재된 코드 분산 처리 방법을 컴퓨터에 의해 수행하기 위해 기록매체에 저장된 프로그램.
KR1020200168837A 2020-12-04 2020-12-04 코드 분산 처리 서버, 코드 분산 처리 방법 및 기록 매체에 저장된 프로그램 KR102265085B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200168837A KR102265085B1 (ko) 2020-12-04 2020-12-04 코드 분산 처리 서버, 코드 분산 처리 방법 및 기록 매체에 저장된 프로그램
US18/039,936 US20240004890A1 (en) 2020-12-04 2021-12-02 Data sharding system, data sharding method, and program stored in recording medium
EP21901016.2A EP4258129A4 (en) 2020-12-04 2021-12-02 DATA PARTITIONING SYSTEM, DATA PARTITIONING METHOD AND RECORDING MEDIUM STORED PROGRAM
PCT/KR2021/018051 WO2022119328A1 (ko) 2020-12-04 2021-12-02 데이터 샤딩 시스템, 데이터 샤딩 방법 및 기록 매체에 저장된 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200168837A KR102265085B1 (ko) 2020-12-04 2020-12-04 코드 분산 처리 서버, 코드 분산 처리 방법 및 기록 매체에 저장된 프로그램

Publications (1)

Publication Number Publication Date
KR102265085B1 true KR102265085B1 (ko) 2021-06-14

Family

ID=76417344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200168837A KR102265085B1 (ko) 2020-12-04 2020-12-04 코드 분산 처리 서버, 코드 분산 처리 방법 및 기록 매체에 저장된 프로그램

Country Status (1)

Country Link
KR (1) KR102265085B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101775433B1 (ko) * 2013-01-07 2017-09-06 페이스북, 인크. 분산형 데이터베이스 쿼리 엔진을 위한 시스템 및 방법
KR20190076836A (ko) * 2017-12-22 2019-07-02 삼성전자주식회사 분산 캐싱 시스템 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101775433B1 (ko) * 2013-01-07 2017-09-06 페이스북, 인크. 분산형 데이터베이스 쿼리 엔진을 위한 시스템 및 방법
KR20190076836A (ko) * 2017-12-22 2019-07-02 삼성전자주식회사 분산 캐싱 시스템 및 방법

Similar Documents

Publication Publication Date Title
US8762360B2 (en) Integrating applications within search results
KR102287483B1 (ko) 데이터 샤딩 시스템, 데이터 샤딩 방법 및 기록 매체에 저장된 프로그램
EP3312738B1 (en) Method and device for displaying keyword
US20140358987A1 (en) Implementing synchronization of state information betweeen instances of an application as well as between different applications in an efficient, scalable manner
US20160364792A1 (en) Cloud service brokerage method and apparatus using service image store
CN105745646A (zh) 本机应用程序搜索结果
EP3128440B1 (en) Method and device for invoking service in mobile terminal
JP2019192211A (ja) 情報をプッシュするための方法及び装置
US20180035367A1 (en) Method and Apparatus for Accessing Wifi Access Point in Target Shop
JP5869010B2 (ja) モバイル検索環境でモバイルurlを提供するシステムおよびその方法
US20160188543A1 (en) Accessing Related Application States From A Current Application State
US10318504B2 (en) Apparatus and method for processing map data by real-time index creation and system thereof
CN107924415B (zh) 从位置不可感知设备向搜索查询提供位置信息以提高用户交互性能
KR102265085B1 (ko) 코드 분산 처리 서버, 코드 분산 처리 방법 및 기록 매체에 저장된 프로그램
US20240004890A1 (en) Data sharding system, data sharding method, and program stored in recording medium
WO2017050261A1 (zh) 一种云计算方法、云服务器及终端
JP2010267075A (ja) 情報処理装置、情報処理方法、プログラム及び記憶媒体
US20210320986A1 (en) Task proximity for cloud services
US10965781B2 (en) Method and server for displaying access content
US10089369B2 (en) Searching method, searching apparatus and device
US20170220676A1 (en) Method of providing search results and system for performing the method
US20180054471A1 (en) Hardware Bus Redirection
JP5331166B2 (ja) 検索サーバ及び方法
Pace et al. Eo on-line data access in the big data era
US11200285B2 (en) Geocoding administrative areas with user-defined content

Legal Events

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