KR101398088B1 - 온라인 게임에서의 데이터 관리 방법 및 데이터 관리 시스템을 포함하는 게임 서버 및 기록매체 - Google Patents

온라인 게임에서의 데이터 관리 방법 및 데이터 관리 시스템을 포함하는 게임 서버 및 기록매체 Download PDF

Info

Publication number
KR101398088B1
KR101398088B1 KR1020120129765A KR20120129765A KR101398088B1 KR 101398088 B1 KR101398088 B1 KR 101398088B1 KR 1020120129765 A KR1020120129765 A KR 1020120129765A KR 20120129765 A KR20120129765 A KR 20120129765A KR 101398088 B1 KR101398088 B1 KR 101398088B1
Authority
KR
South Korea
Prior art keywords
data
user
managing
game
main
Prior art date
Application number
KR1020120129765A
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 KR1020120129765A priority Critical patent/KR101398088B1/ko
Application granted granted Critical
Publication of KR101398088B1 publication Critical patent/KR101398088B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0209Incentive being awarded or redeemed in connection with the playing of a video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Finance (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Multimedia (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 온라인 게임에서 데이터 관리 방법, 데이터 관리 시스템을 포함하는 게임 서버, 및 기록매체에 관한 것으로, 본 발명의 일 실시 예에 따른 온라인 게임에서 데이터 관리 방법은 온라인 게임에서의 데이터 특성을 기초로 데이터를 관리 및 저장하고, 데이터 분산 저장을 통해 메인 데이터베이스의 부하를 줄일 수 있다.

Description

온라인 게임에서의 데이터 관리 방법 및 데이터 관리 시스템을 포함하는 게임 서버 및 기록매체{Method for managing data in online game, a game server including data management system, and recording medium}
본 발명은 온라인 게임에서의 데이터 관리 방법, 데이터 관리 시스템을 포함하는 게임 서버, 및 기록매체에 관한 것으로, 더 상세하게는 온라인 게임에서 메인 DB에 부하를 줄이기 위한 데이터 관리 방법, 데이터 관리 시스템을 포함하는 게임 서버, 및 기록매체에 관한 것이다.
최근, 스마트 폰, 태블릿 PC 등의 온라인 단말이 급속도로 확산하면서 온라인 게임시장은 크게 성장되어 왔다. 이러한 온라인 게임시장은 종래의 개인용 컴퓨터(PC: Personal Computer)를 이용한 온라인 게임시장보다 진입장벽이 낮고 접근성이 높기 때문에 점점 더 경쟁이 치열해 지고 있다.
또한, 최근 소셜 게임의 등장으로 온라인 게임시장이 더욱 각광받고 있는 추세이다. 종래의 온라인 게임은 상대가 불특정 다수이기 때문에 욕설을 하는 등 부작용이 발생할 수 있지만, 소셜 게임은 평소 아는 사람과 게임을 즐기기 때문에 서로 친밀감을 느끼며 온라인게임의 부작용을 최소화할 수 있으며, 스마트폰과 같은 온라인 기기에서도 접속할 수 있어서 시간이나 장소에 구애받지 않고 즐길 수 있기 때문이다.
하지만, 온라인 게임에서 임시 보관 성격이 강한 데이터나 데이터의 선택과 업데이트가 빈번하게 일어나, 메인 데이터베이스에 부하를 주는 문제점이 있었다.
본 발명의 일 실시 예는, 온라인 게임에서의 데이터 특성을 기초로 데이터를 관리 및 저장하고, 데이터 분산 저장을 통해 메인 데이터베이스의 부하를 줄일 수 있는 온라인 게임에서 데이터 관리 방법, 데이터 관리 시스템을 포함하는 게임 서버, 및 기록매체를 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 온라인 게임에서의 메인 DB의 부하를 줄이기 위한 데이터 관리 방법에 있어서, 게임 서버가, 상기 온라인 게임을 수행하는데 필요한 데이터의 특성을 기초로 상기 데이터를 관리하는 단계; 및 상기 관리한 데이터 중 제1 데이터는 상기 메인 DB에 저장하고, 제2 데이터는 상기 메인 DB와 분리된 서브 DB에 저장하는 단계를 포함하고,
상기 특성은 상기 온라인 게임에서의 임시 데이터, 데이터 선택의 빈도 수 및 데이터 업데이트 빈도 수 중 적어도 하나를 포함하고,
상기 특성은, 상기 온라인 게임에서의 임시 데이터, 데이터 선택의 빈도 수 및 데이터 업데이트 빈도 수 중 적어도 하나를 포함하고,
상기 데이터가 임시 데이터인 경우 상기 제2 데이터로서 관리하고, 상기 임시 데이터가 아닌 경우 상기 제1 데이터로서 관리하고,
상기 데이터의 선택의 빈도 수가 제1 임계값 이상인 경우 상기 제2 데이터로서 관리하고, 상기 데이터의 선택의 빈도 수가 상기 제1 임계값 보다 작은 경우 상기 제1 데이터로서 관리하고,
상기 업데이트 빈도 수가 제2 임계값 이상인 경우 상기 제2 데이터로서 관리하고, 상기 업데이트 빈도 수가 상기 제2 임계값 보다 작은 경우 상기 제1 데이터로서 관리하는 것을 특징으로 한다.
삭제
삭제
상기 제2 데이터는, 유저 단말이 상기 게임 서버에 접속한 동안에만 유효한 데이터로서, 데이터 삭제 및/또는 데이터 삽입의 회수가 제3 임계값 이상인 것을 특징으로 한다.
상기 제2 데이터는, 유저 인덱스를 포함한 세션 정보인 것을 특징으로 한다.
상기 제2 데이터는, 유저 데이터를 포함하고, 상기 유저 데이터 중 업데이트의 회수가 일정 수 이상이거나, 선택의 회수가 일정 수 이상인 임시 데이터인 것을 특징으로 한다.
상기 임시 데이터는, 유저 단말이 상기 게임 서버에 접속하고 있는 동안에 상기 서브 DB에 저장되고, 상기 유저 단말이 상기 게임 서버와 접속을 해제하는 경우, 상기 메인 DB로 이동 저장되는 것을 특징으로 한다.
상기 제2 데이터는, 유저가 상기 온라인 게임에서 24시간 동안 수행할 수 있는 전투 회수를 카운트하는 전투 제한 카운트 정보인 것을 특징으로 한다.
상기 제2 데이터는, 유저의 소셜 등급을 계산하기 위해, 상기 유저와 네트워크로 접속된 친구와의 관계를 포인트로 누적한 포인트 정보인 것을 특징으로 한다.
상기 제2 데이터는, 유저와 네트워크로 접속된 친구들의 상기 유저의 플레이 영역으로의 방문 정보를 포함하는 것을 특징으로 한다.
상기 메인 DB는 MySQL DB이고, 상기 서브 DB는 Redis DB인 것을 특징으로 한다.
상기 다른 기술적 과제를 달성하기 위한, 본 발명의 다른 실시 예에 따른 온라인 게임에서의 메인 DB의 부하를 줄이기 위한 데이터 관리 시스템을 포함하는 게임 서버에 있어서, 상기 데이터 관리 시스템은,
상기 온라인 게임을 수행하는데 필요한 데이터의 특성을 기초로 상기 데이터를 관리하는 데이터 관리부; 및 상기 관리한 데이터 중 제1 데이터는 상기 메인 DB에 저장하고, 제2 데이터는 상기 메인 DB와 분리된 서브 DB에 저장하는 DB 제어부를 포함하고, 상기 특성은, 상기 온라인 게임에서의 임시 데이터, 데이터 선택의 빈도 수 및 데이터 업데이트 빈도 수 중 적어도 하나를 포함하고,
상기 데이터 관리부는, 상기 데이터가 임시 데이터인 경우 상기 제2 데이터로서 관리하고, 상기 임시 데이터가 아닌 경우 상기 제1 데이터로서 관리하고,
상기 데이터의 선택의 빈도 수가 제1 임계값 이상인 경우 상기 제2 데이터로서 관리하고, 상기 데이터의 선택의 빈도 수가 상기 제1 임계값 보다 작은 경우 상기 제1 데이터로서 관리하고,
상기 업데이트 빈도 수가 제2 임계값 이상인 경우 상기 제2 데이터로서 관리하고, 상기 업데이트 빈도 수가 상기 제2 임계값 보다 작은 경우 상기 제1 데이터로서 관리하는 것을 특징으로 한다.
상기 제2 데이터는, 유저 세션 정보, 유저 데이터 중 임시 데이터, 전투 제한 카운트 정보, 유저와 네트워크로 접속된 친구와의 관계를 포인트로 누적한 포인트 정보 및 상기 친구의 방문 정보 중 적어도 하나를 포함하는 것을 특징으로 한다.
상기 DB 제어부는, 유저 단말이 상기 게임 서버에 접속하고 있는 동안에 상기 임시 데이터를 상기 서브 DB에 저장하고, 상기 유저 단말이 상기 게임 서버와 접속을 해제하는 경우, 상기 메인 DB로 이동하여 저장하는 것을 특징으로 한다.
상기 또 다른 기술적 과제를 달성하기 위한, 본 발명의 또 다른 실시 예에 따른 온라인 게임에서의 메인 DB의 부하를 줄이기 위한 데이터 관리 방법을 게임 서버를 통해 구현하기 위한 프로그램을 기록한 기록매체는 상기 온라인 게임을 수행하는데 필요한 데이터의 특성을 기초로 상기 데이터를 관리하는 제1 프로그램 코드; 및 상기 관리한 데이터 중 제1 데이터는 상기 메인 DB에 저장하고, 제2 데이터는 상기 메인 DB와 분리된 서브 DB에 저장하는 제2 프로그램 코드를 포함하고,
상기 특성은, 상기 온라인 게임에서의 임시 데이터, 데이터 선택의 빈도 수 및 데이터 업데이트 빈도 수 중 적어도 하나를 포함하는 것을 특징으로 한다.
본 발명의 일 실시 예에 따른 데이터 관리 방법은 온라인 게임에서의 데이터 특성을 기초로 데이터를 관리 및 저장하고, 데이터 분산 저장을 통해 메인 데이터베이스의 부하를 줄일 수 있다.
도 1은 온라인 게임 시스템(100)을 설명하기 위한 개략 도이다.
도 2는 도 1에 도시된 게임 서버(140)의 개략도이다.
도 3은 도 2에 도시된 데이터 관리부(141)의 개략도이다.
도 4는 본 발명의 일 실시 예에 따른 온라인 게임에서의 데이터 관리 방법을 설명하는 흐름도이다.
도 5는 본 발명의 다른 실시 예에 따른 온라인 게임에서의 데이터 관리 방법을 설명하는 흐름도이다.
도 6은 본 발명의 또 다른 실시 예에 따른 온라인 게임에서의 데이터 관리 방법을 설명하는 흐름도이다.
도 7은 본 발명의 또 다른 실시 예에 따른 온라인 게임에서의 데이터 관리 방법을 설명하는 흐름도이다.
도 8 내지 12는 본 발명의 또 다른 실시 예에 따른 데이터 특성을 설명하기 위한 예시 도들이다.
이하, 첨부된 도면을 참조하여, 본 발명의 실시 예들에 따른 온라인 게임에서 데이터 관리 방법, 데이터 관리 시스템을 포함하는 게임 서버, 및 기록매체에 대하여 설명하기로 한다.
이하의 설명에서 본 발명에 대한 이해를 명확히 하기 위하여, 본 발명의 특징에 대한 공지의 기술에 대한 설명은 생략하기로 한다. 이하의 실시 예는 본 발명의 이해를 돕기 위한 상세한 설명이며, 본 발명의 권리 범위를 제한하는 것이 아님은 당연할 것이다. 따라서, 본 발명과 동일한 기능을 수행하는 균등한 발명 역시 본 발명의 권리 범위에 속할 것이다. 이하의 설명에서 동일한 식별 기호는 동일한 구성을 의미하며, 불필요한 중복적인 설명 및 공지 기술에 대한 설명은 생략하기로 한다.
본 발명의 실시 예에서 "통신", "통신망" 및 "네트워크"는 동일한 의미로 사용될 수 있다. 상기 세 용어들은, 파일을 유저 단말, 다른 유저들의 단말 및 다운로드 서버 사이에서 송수신할 수 있는 유무선의 근거리 및 광역 데이터 송수신망을 의미한다.
이하의 설명에서 "게임 서버"란, 유저들이 접속하여 게임 컨텐츠를 이용하기 위하여 접속하게 되는 서버 컴퓨터를 의미한다. 용량이 작거나 이용자 수가 작은 게임의 경우 하나의 게임 서버에 다수의 게임 프로그램이 운영될 수 있다. 또한, 용량이 매우 크거나 실시간 접속 인원 수가 많은 게임의 경우, 게임의 기능에 따라서 하나의 게임의 운영을 위한 게임 서버가 하나 이상 존재할 수도 있다. 또한, 게임 서버에는 데이터 베이스에 대한 미들웨어나 결제 처리를 수행하는 서버들이 연결될 수 있으나, 본 발명에서는 이에 대한 설명은 생략하기로 한다.
본 발명의 실시 예에서 온라인 게임은, 상기 언급한 게임 서버에 접속하여 유저들이 이용할 수 있는 게임 컨텐츠를 의미한다. 특히, 게임상에서 다수의 유저가 동시에 접속하여 즐길 수 있으며, 게임을 진행하여 캐릭터를 육성하면서 경험치를 획득하는 등의 행위를 통해 레벨을 상승시키는 게임을 의미한다. 또한, 게임상에서 게임의 진행을 원활하게 하기 위해서, 다양한 종류의 아이템을 구매할 수 있는 게임을 의미한다.
또한, 온라인 게임에서는, 다양한 커뮤니티 시스템을 이용할 수 있다. 예를 들어, 온라인 게임의 길드, 또는 클랜 등이 형성될 수 있다. 상기의 개념은, 온라인 게임을 이용하는 유저들이 모여서, 하나의 그룹을 형성하고, 단체를 조직한 것을 의미한다. 각 단체는 유저들의 수 또는 유저들의 캐릭터들의 레벨에 따라서, 길드 또는 클랜의 명성이 높아질 수 있으며, 이에 따라서 게임 내에서의 다양한 혜택을 이용할 수 있다. 예를 들어, 길드 또는 클랜의 명성이 높아지면, 캐릭터의 게임 화면상의 표시가 달라질 수 있거나(예를 들어 표시되는 캐릭터의 이름의 색이 바뀌는 효과), 게임 내에서 아이템 및 마을 등을 이용하는 데 있어서의 혜택을 누릴 수 있다.
본 발명의 실시 예에서 소셜 네트워크 게임은 온라인 게임의 한 종류로서, 유저의 온라인 인맥과 유대관계를 증진하기 위해 유저 참여 및 관계 맺기를 극대화한 새로운 형태의 사회적 인맥 기반의 게임이다. 게임 자체가 목적인 일반 온라인 게임과는 달리, 손쉬운 인터페이스를 통해 모든 연령층의 유저를 대상으로 해당 소셜네트워크 내 유저 간 친밀감과 동질성을 증대시키는 것을 목적으로 하는 것이 특징이다.
또한, 소셜 네트워크 게임에서는 온라인 게임에서보다 좀더 다양한 커뮤니티 시스템이 가능하다. 소셜 게임은 스마트폰, 태블릿 PC등의 보급이 보편화 되면서 시간과 장소에 구애받지 않고 이용가능 하기 때문이다. 예를 들어, 유저가 온라인 상태가 아니더라도 다른 유저가 메시지를 보내거나 채팅을 요청하거나 또는 게임에 초대하는 경우에는 푸시(Push)알림이나 SMS/MMS 서비스를 통해서 실시간으로 메시지를 확인하고 채팅이나 게임에 참여할 수 있다.
본 발명의 실시 예에서, 컨텐츠 데이터는 온라인 게임 내에서 사용되는 모든 데이터들을 의미하는 것으로 이해되어야 하며, 예를 들면, 게임 버전, 유저의 프로필 사진 정보, 유저의 건물 정보, 친구 리스트 정보, 유저의 퀘스트 정보, 친구 섬의 건물 정보 등을 포함한다. 또한, 컨텐츠 데이터라는 용어에 한정되지 않고, 컨텐츠, 게임 데이터 등과 동일한 의미로 이해되어야 한다.
도 1은 본 발명의 일 실시 예에 따른, 온라인 게임 시스템(100)을 설명하기 위한 개략 도이다.
온라인 단말의 예시로, 태블릿 PC 또는 노트 북(110)과 휴대폰 또는 스마트 폰(120)이 도시되어 있으며, 네트워크(130)를 통해 게임 서버(140)에 접속하여 온라인 게임을 수행한다. 여기서, 네트워크(130)는 유선 또는 무선 통신망을 포함한다. 게임 서버(140)는 온라인 게임을 온라인 단말(110 및 120)에 제공한다. 여기서, 온라인 게임은 MMORPG 또는 MORPG를 포함하는 역할 수행 게임일 수 있다. 접속자의 수에 따라 MMORPG와 MORPG로 구분하거나, 일반적으로 "방"을 만들어 그 방에 접속한 유저들끼리만 전투 및 사냥을 한다면 MORPG, 모든 유저들의 왕래가 가능한 공개 지역에서 전투 및 사냥을 한다면 MMORPG로 구분할 수 있다. 또한, 온라인 게임은 AOS(Aeon of Strife) 게임, RTS(Real Time Strategy) 게임, FPS/TPS(First/Third Person Shooters) 게임, 대전형 게임, 스포츠 게임일 수도 있다.
온라인 단말(110 및 120)에는 게임 구현에 필요한 프로그램이 설치 및 실행될 수도 있다. 온라인 단말(110 및 120)은 터치-드래그 기능이 구현되며, 온라인 게임 수행 시 터치-드래그 기능을 통해 게임이 가능하다.
게임 서버(140)는 온라인 단말(110 및 120)에서 수행되는 온라인 게임에 필요한 데이터를 관리하는 데이터 관리 시스템을 포함한다.
도 2를 참조하면, 게임 서버(140)는 데이터 관리 시스템을 포함하고, 데이터 관리 시스템은 데이터 관리부(141) 및 DB 제어부(142)를 포함하고, 메인 DB(150)와 서브 DB(151)를 포함한다. 여기서, 메인 DB(150)와 서브 DB(151)는 물리적으로 분리되어 있으며, 서브 DB(151)에는 메인 DB(150)에 부하를 줄 수 있는 성격의 데이터들을 저장한다. 여기서, 데이터의 성격 또는 특성은 온라인 게임에서 사용되는 데이터의 종류에 따라 분류되어, 관리된다. 예를 들면 임시의 성격이 강한 데이터나, 데이터의 선택과 업데이트가 빈번하게 일어나는 데이터로서, 이러한 데이터는 서브 DB(151)에 분산 저장함으로써 메인 DB(150)에 집중되는 부하를 크게 줄일 수 있다.
본 발명의 일 실시 예에서, 메인 DB(150)는 MySQL DB이고, 서브 DB(151)는 Redis DB일 수 있다. MySQL은 다중 스레드, 다중 사용자 형식의 구조질의어 형식의 데이터베이스 관리 시스템(SQL DBMS)이다. MySQL은 SQL에 기반을 두고 있는 관계형 데이터베이스 관리 시스템 중 하나로서, 리눅스, 유닉스 그리고 윈도우 등 모든 플랫폼에서 운영될 수 있다. MySQL은 커널 스레드를 사용한 완전한 멀티스레드이며 C, C++, Eiffel, Java, Perl, PHP, Python, Tcl 등을 포함한 많은 프로그래밍 언어를 지원할 수 있는 API를 제공한다. MySQL은 데이터웨어하우징, 전자상거래, 웹데이터베이스, 로깅 및 분산 애플리케이션 등 광범위한 응용프로그램에서 사용되며, 상용 소프트웨어 및 그 외 다른 기술의 일부로 내장되는 경우가 증가하고 있다.
Redis(REmote DIctionary System)는 메모리 기반의 Key/Value Store 이다. Cassandra나 HBase와 같이 NoSQL DBMS로 분류되기도 하고, memcached와 같은 In memory 솔루션으로 분리되기도 한다. 성능은 memcached에 버금가면서 다양한 데이터 구조체를 지원함으로써 Message Queue, Shared memory, Remote Dictionary 용도로도 사용될 수 있다.
본 발명의 일 실시 예에서, 메인 DB(150)로서 MySQL DB을 사용하고, 서브 DB(151)로서 Redis DB를 사용하는 것으로 설명하였지만, 이에 한정되지 않고, 전통적인 관계형 데이터베이스 시스템(RDBMS)을 사용할 수도 있으며, 다른 종류 또는 유형의 비 관계형 데이터베이스 시스템을 사용할 수 있음은 물론이다.
도 2에 도시된 것처럼, 게임 서버(140) 내의 데이터 관리 시스템과 메인 DB(150) 및 서브 DB(151)가 분리되어 있는 것으로 설명되었지만, 이에 한정되지 않고, 메인 DB(150)와 서브 DB(151)가 게임 서버(140) 내에 구현될 수 있음은 물론이다.
데이터 관리부(141)는 온라인 게임을 수행하는데 필요한 데이터의 특성을 기초로 데이터를 관리한다. 여기서, 필요한 데이터는 온라인 게임에서 사용되는 모든 데이터를 의미하며, 이러한 데이터를 데이터의 특성에 따라 분류 및 관리한다. 데이터의 특성은 온라인 게임에서의 임시 데이터, 데이터 선택의 빈도 수, 데이터 업데이트 빈도 수 등을 포함한다.
DB 제어부(142)는 데이터 관리부(141)가 관리한 데이터 중 제1 데이터는 메인 DB(150)에 저장하고, 제2 데이터는 메인 DB와 분리된 서브 DB(151)에 저장한다.
여기서, 서브 DB(151)에 저장하는 데이터는 세션 정보, 유저 데이터 중 임시 데이터, 전투 제한 카운트 정보, 유저와 네트워크로 접속된 친구와의 관계를 포인트로 누적한 포인트 정보, 친구의 방문 정보 등을 포함한다.
세션 정보는 유저의 동시접속 방지를 위한 세션 기록을 의미하며, 이러한 세션 정보는 유저가 접속해 있는 동안에만 유효한 데이터이므로 임시적인 성격이 강한 데이터이다. 따라서, 데이터의 삭제(delete)와 삽입(insert)이 빈번하게 일어나 게임 서버(140) 또는 데이터베이스 시스템에 부하를 줄 수 있기 때문에, 서브 DB(151)에 별도로 저장한다.
모든 유저 데이터는 메인 DB(150)에 저장하고, 유저 데이터 중 임시 데이터, 예를 들면 가장 업데이트와 선택이 빈번하게 발생하는 데이터는 메인 DB(150)가 아닌 서브 DB(151)에 저장한다. 이러한 임시 데이터는 유저가 접속해 있는 동안 일어나는 변화, 예를 들면 유저가 게임 중 획득하거나 소비한 하트 개수, 유저가 게임 중 획득한 경험치, 유저가 게임 중 획득하거나 소비한 골드 개수는 유저 접속 중에 수시로 변화가 발생된다. 따라서, 이러한 임시 데이터는 서브 DB(151)에 저장하여 두고, 유저가 접속 해제한 때에, 다시 메인 DB(150)에 이동 저장한다. 따라서, 유저가 다시 접속한 때에는 메인 DB(150)에 저장된 임시 데이터를 사용하고, 게임 중에 변화되고 있는 임시 데이터는 서브 DB(151)에 저장함으로써, 메인 DB(150)에 집중되는 부하를 분산시킬 수 있다.
전투 제한 카운트 정보는 유저가 하루 동안 할 수 있는 총 전투 회수를 카운트한 정보이다. 예를 들면 유저가 사용할 수 있는 일일 전투 회수가 30회로 제한되어 있다면, 유저가 전투를 선택할 때마다 전투 회수를 카운트한다. 이러한 전투 회수 카운트 정보는 하루 동안만 유효한 정보이므로, 서브 DB(151)에 저장한다. 여기서, 전투 제한 카운트 정보를 설명하였지만, 이에 한정되지 않고, 온라인 게임 내에서, 하루 또는 특정 시간 동안에만 유효하도록 한 규칙이 있는 경우, 이러한 유저의 행동을 카운트하는 정보는 서브 DB(151)에 저장할 수 있음은 물론이다.
유저와 네트워크로 접속된 친구와의 관계를 포인트로 누적한 포인트 정보는 유저의 소셜 등급을 재계산하는 데 이용되는 정보로서, 하루마다 유저의 소셜 등급을 재계산하기 때문에 임시 데이터의 성격을 갖는다. 따라서, 이러한 포인트 정보는 서브 DB(151)에 저장한다.
친구의 방문 정보도 하루 동안에만 유효한 경우에는 서브 DB(151)에 저장한다. 하지만, 도 12에 도시된 것처럼, 다양한 친구의 방문 정보 중 하루가 지나도 남아 있어야 하는 친구들의 정보, 예를 들면 술통 또는 구름 오픈 정보 등은 메인 DB(150)에 저장한다.
도 3은 도 2에 도시된 데이터 관리부(141)의 개략도이다.
도 3을 참조하면, 데이터 관리부(141)는 세션 정보 관리부(143), 유저 데이터 관리부(144), 전투 제한 카운터(145) 및 소셜 등급 계산부(146)를 포함한다.
세션 정보 관리부(143)는 유저 인덱스를 포함한 세션 정보를 관리한다. 여기서, 세션 정보는 유저의 동시접속 방지를 위한 세션 기록이므로 유저가 접속해 있는 동안에만 유효한 데이터이다.
유저 데이터 관리부(144)는 모든 유저 데이터와, 유저 데이터 중 업데이트 회수가 제1 임계값 이상인 데이터, 또는 유저 데이터 중 선택 회수가 제2 임계값 이상인 데이터를 분류하여 관리한다. 예를 들면, 유저가 게임 중 획득하거나 소비함으로써 수시로 변경되는 것으로, 유저의 경험치, 보유 하트 수, 보유 골드 수 등은 분리하여 관리한다.
전투 제한 카운터(145)는 유저가 하루 동안 할 수 있는 전투 회수를 카운트한다.
소셜 등급 계산부(146)는 유저의 친구들과의 소셜 관계를 포인트로 누적한 포인트 정보를 이용하여 유저의 소셜 등급을 하루에 한 번씩 계산한다. 따라서, 소셜 등급 계산부(146)가 사용하는 유저의 포인트는 소셜 등급 계산 후 소멸되는 것이므로 메인 DB(150)가 아닌 서브 DB(151)에 저장할 수 있도록 관리한다.
도 4는 본 발명의 일 실시 예에 따른 온라인 게임에서의 데이터 관리 방법을 설명하는 흐름도이다.
도 4를 참조하면, 단계 400에서, 온라인 게임을 수행하는 데 필요한 데이터의 특성을 기초로 데이터를 분류 및 관리한다.
단계 402에서, 분류한 데이터 중 제1 데이터는 메인 DB에 저장하고, 제2 데이터는 서브 DB에 저장한다. 여기서, 서브 DB에 저장하는 제2 데이터는 임시 성격이 강한 데이터나 선택과 업데이트가 빈번하게 일어나서, 메인 DB에 부하는 주는 성격의 데이터이다. 이러한 제2 데이터는 온라인 게임의 특성에 맞게 관리될 수 있으며, 세션 정보, 유저 데이터 중 임시 데이터, 전투 제한 카운트, 소셜 등급 재계산에 필요한 유저 소셜 관계를 나타내는 포인트 정보, 친구 방문 정보일 수 있다. 따라서, 임시 성격이 강한 데이터를 서브 DB에 분산 저장함으로써 메인 DB에 집중되던 부하를 줄일 수 있다.
도 5는 본 발명의 다른 실시 예에 따른 온라인 게임에서의 데이터 관리 방법을 설명하는 흐름도이다.
도 5를 참조하면, 단계 500에서, 유저 단말에서 게임 서버에 접속한다. 단계 502에서, 온라인 게임을 수행한다.
단계 504에서, 유저가 임시 데이터를 획득하였는지 판단한다. 유저가 임시 데이터를 획득한 경우, 단계 506에서, 서브 DB에 유저가 획득한 임시 데이터를 저장한다. 도 8을 참조하면, 온라인 게임에서 유저 데이터들이 게임 화면 내에 도시되어 있다. 도 8에는 유저가 소유하고 있는 하트 개수(800), 유저의 경험치(801), 유저가 소유한 골드 개수(802)가 도시되어 있다. 이러한 데이터들은 유저의 온라인 게임 수행시, 예를 들면 전투 참가, 사냥, 항해 등으로 인하여 수시로 변하는 데이터들이다. 따라서, 이러한 데이터들은 임시 데이터이므로 메인 DB 가 아닌 서브 DB에 저장한다.
단계 508에서, 유저 단말의 접속이 종료되었는지 판단한다. 유저 단말의 접속이 종료된 경우, 단계 510에서, 단계 506에서 서브 DB에 저장되었던 임시 데이터를 메인 DB로 이동하여 저장한다. 유저가 게임을 종료한 경우, 종료한 시점의 임시 데이터, 예를 들면 도 8에 도시된 하트 개수(800), 경험치(801), 및 골드 개수(802)는 서브 DB에서 메인 DB로 옮겨 저장한다.
도 6은 본 발명의 또 다른 실시 예에 따른 온라인 게임에서의 데이터 관리 방법을 설명하는 흐름도이다.
도 6을 참조하면, 단계 600에서, 게임 서버에 접속하여 온라인 게임을 수행한다.
단계 602에서 전투가 선택되었는지 판단한다. 도 9를 참조하면, 온라인 게임 중 전투를 선택하는 화면이 도시되어 있다. 유저가 전투를 선택한 경우, 도 10에 도시된 것처럼, 전투를 진행한다.
전투가 선택된 경우, 단계 604에서, 유저의 전투 회수를 카운트한다.
단계 606에서, 유저의 전투 회수 정보를 서브 DB에 저장한다. 본 발명의 일 실시 예에서, 유저에게 허용되는 하루 전투 회수가 제한되는 경우에, 유저의 전투 선택에 따른 전투 회수를 카운트하여 전투 회수 정보를 서브 DB에 저장한다.
단계 608에서, 유저의 접속 후 24시간이 경과되었는지 판단한다. 24시간이 경과되지 않은 경우, 단계 600으로 되돌아가고, 24시간이 경과된 경우, 단계 610에서, 서브 DB에 저장된 전투 회수 정보를 리셋시킨다. 본 발명의 일 실시 예에서, 유저의 전투 회수는 하루 동안만 유효한 임시 데이터의 성격을 갖기 때문에 서브 DB 에 저장하여 관리한다.
도 7은 본 발명의 또 다른 실시 예에 따른 온라인 게임에서의 데이터 관리 방법을 설명하는 흐름도이다.
도 7을 참조하면, 단계 700에서, 게임 서버에 접속하여 온라인 게임을 수행한다.
단계 702에서, 유저의 친구들과의 소셜관계를 포인트로 누적하여 계산한다. 도 11에 도시된 것처럼, 유저 자신과 친구와의 친밀도를 소셜관계의 포인트를 계산하여 클로버 개수로 나타낸다.
단계 704에서, 유저의 포인트를 서브 DB에 저장한다. 유저의 소셜 포인트는 하루에 한 번씩 유저의 소셜 등급을 재계산할 때 필요한 데이터이므로 서브 DB에 저장 및 관리한다.
단계 706에서, 소셜 등급을 계산하는지 판단한다. 본 발명의 일 실시 예에서, 유저의 소셜 등급은 하루에 한 번씩 재계산하는 것이므로, 소셜 등급을 계산하는 시점이 되었는지 판단한다.
단계 708에서, 소셜 등급을 계산하는 경우, 서브 DB에 저장된 포인트를 이용하여 유저의 소셜 등급을 계산한다.
이상에서 전술한 본 발명의 실시 예에 따른 온라인 게임은, 모바일 단말에 기본적으로 설치된 애플리케이션(이는 단말에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 단말에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 실시 예에 따른 온라인 게임은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
이와 같이, 본 발명의 각 실시 예에 따른 온라인 게임에서 데이터 관리 방법을 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다.
이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다.
또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다.
또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈(예: 유선 및/또는 무선 통신 모듈)을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다.
그리고 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.
이상에서 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는, 일 예로, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 미디어 저장장치 등이 있다.
또한, 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는 네트워크로 커넥션된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 이 경우, 다수의 분산된 컴퓨터 중 어느 적어도 하나의 컴퓨터는 상기에 제시된 기능들 중 일부를 실행하고, 그 결과를 다른 분산된 컴퓨터들 중 적어도 하나에 그 실행 결과를 전송할 수 있으며, 그 결과를 전송받은 컴퓨터 역시 상기에 제시된 기능들 중 일부를 실행하여, 그 결과를 역시 다른 분산된 컴퓨터들에 제공할 수 있다.
특히, 본 발명의 각 실시 예에 따른 온라인 게임에서의 데이터 관리 방법을 실행시키기 위한 프로그램인 애플리케이션을 기록한 컴퓨터로 읽을 수 있는 기록매체는, 애플리케이션 스토어 서버(Application Store Server), 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버(Application Provider Server)에 포함된 저장매체(예: 하드디스크 등)이거나, 애플리케이션 제공 서버 그 자체일 수도 있다.
본 발명의 각 실시 예에 따른 온라인 게임에서의 데이터 관리 방법을 실행시키기 위한 프로그램인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터는, 일반적인 데스크 탑이나 노트북 등의 일반 PC 뿐만 아니라, 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 온라인 단말을 포함할 수 있으며, 이뿐만 아니라, 컴퓨팅(Computing) 가능한 모든 기기로 해석되어야 할 것이다.
또한, 본 발명의 실시 예에 따른 온라인 게임에서의 데이터 관리 방법을 실행시키기 위한 프로그램인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터가 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 온라인 단말인 경우, 애플리케이션은 애플리케이션 제공 서버에서 일반 PC로 다운로드 되어 동기화 프로그램을 통해 온라인 단말에 설치될 수도 있다.
이상에서, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 적어도 하나로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
110, 120: 온라인 단말
130: 네트워크
140: 게임 서버
141: 데이터 관리부
142: DB 제어부
150: 메인 DB
151: 서브 DB

Claims (15)

  1. 온라인 게임에서의 메인 DB의 부하를 줄이기 위한 데이터 관리 방법에 있어서,
    게임 서버가,
    상기 온라인 게임을 수행하는데 필요한 데이터의 특성을 기초로 상기 데이터를 관리하는 단계; 및
    상기 관리한 데이터 중 제1 데이터는 상기 메인 DB에 저장하고, 제2 데이터는 상기 메인 DB와 분리된 서브 DB에 저장하는 단계를 포함하고,
    상기 특성은, 상기 온라인 게임에서의 임시 데이터, 데이터 선택의 빈도 수 및 데이터 업데이트 빈도 수 중 적어도 하나를 포함하고,
    상기 데이터가 임시 데이터인 경우 상기 제2 데이터로서 관리하고, 상기 임시 데이터가 아닌 경우 상기 제1 데이터로서 관리하고,
    상기 데이터의 선택의 빈도 수가 제1 임계값 이상인 경우 상기 제2 데이터로서 관리하고, 상기 데이터의 선택의 빈도 수가 상기 제1 임계값 보다 작은 경우 상기 제1 데이터로서 관리하고,
    상기 업데이트 빈도 수가 제2 임계값 이상인 경우 상기 제2 데이터로서 관리하고, 상기 업데이트 빈도 수가 상기 제2 임계값 보다 작은 경우 상기 제1 데이터로서 관리하는 것을 특징으로 하는 데이터 관리 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 제2 데이터는,
    유저 단말이 상기 게임 서버에 접속한 동안에만 유효한 데이터로서, 데이터 삭제 및/또는 데이터 삽입의 회수가 제3 임계값 이상인 것을 특징으로 하는 데이터 관리 방법.
  5. 제 4 항에 있어서,
    상기 제2 데이터는,
    유저 인덱스를 포함한 세션 정보인 것을 특징으로 하는 데이터 관리 방법.
  6. 제 1 항에 있어서,
    상기 제2 데이터는,
    유저 데이터를 포함하고, 상기 유저 데이터 중 업데이트의 회수가 일정 수 이상이거나, 선택의 회수가 일정 수 이상인 임시 데이터인 것을 특징으로 하는 데이터 관리 방법.
  7. 제 6 항에 있어서,
    상기 임시 데이터는,
    유저 단말이 상기 게임 서버에 접속하고 있는 동안에 상기 서브 DB에 저장되고, 상기 유저 단말이 상기 게임 서버와 접속을 해제하는 경우, 상기 메인 DB로 이동 저장되는 것을 특징으로 하는 데이터 관리 방법.
  8. 제 1 항에 있어서,
    상기 제2 데이터는,
    유저가 상기 온라인 게임에서 24시간 동안 수행할 수 있는 전투 회수를 카운트하는 전투 제한 카운트 정보인 것을 특징으로 하는 데이터 관리 방법.
  9. 제 1 항에 있어서,
    상기 제2 데이터는,
    유저의 소셜 등급을 계산하기 위해, 상기 유저와 네트워크로 접속된 친구와의 관계를 포인트로 누적한 포인트 정보인 것을 특징으로 하는 데이터 관리 방법.
  10. 제 1 항에 있어서,
    상기 제2 데이터는,
    유저와 네트워크로 접속된 친구들의 상기 유저의 플레이 영역으로의 방문 정보를 포함하는 것을 특징으로 하는 데이터 관리 방법.
  11. 제 1 항에 있어서,
    상기 메인 DB는 MySQL DB이고, 상기 서브 DB는 Redis DB인 것을 특징으로 하는 데이터 관리 방법.
  12. 온라인 게임에서의 메인 DB의 부하를 줄이기 위한 데이터 관리 시스템을 포함하는 게임 서버에 있어서,
    상기 데이터 관리 시스템은,
    상기 온라인 게임을 수행하는데 필요한 데이터의 특성을 기초로 상기 데이터를 관리하는 데이터 관리부; 및
    상기 관리한 데이터 중 제1 데이터는 상기 메인 DB에 저장하고, 제2 데이터는 상기 메인 DB와 분리된 서브 DB에 저장하는 DB 제어부를 포함하고,
    상기 특성은,
    상기 온라인 게임에서의 임시 데이터, 데이터 선택의 빈도 수 및 데이터 업데이트 빈도 수 중 적어도 하나를 포함하고,
    상기 데이터 관리부는,
    상기 데이터가 임시 데이터인 경우 상기 제2 데이터로서 관리하고, 상기 임시 데이터가 아닌 경우 상기 제1 데이터로서 관리하고,
    상기 데이터의 선택의 빈도 수가 제1 임계값 이상인 경우 상기 제2 데이터로서 관리하고, 상기 데이터의 선택의 빈도 수가 상기 제1 임계값 보다 작은 경우 상기 제1 데이터로서 관리하고,
    상기 업데이트 빈도 수가 제2 임계값 이상인 경우 상기 제2 데이터로서 관리하고, 상기 업데이트 빈도 수가 상기 제2 임계값 보다 작은 경우 상기 제1 데이터로서 관리하는 것을 특징으로 게임 서버.
  13. 제 12 항에 있어서,
    상기 제2 데이터는,
    유저 세션 정보, 유저 데이터 중 임시 데이터, 전투 제한 카운트 정보, 유저와 네트워크로 접속된 친구와의 관계를 포인트로 누적한 포인트 정보 및 상기 친구의 방문 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 게임 서버.
  14. 제 13 항에 있어서,
    상기 DB 제어부는,
    유저 단말이 상기 게임 서버에 접속하고 있는 동안에 상기 임시 데이터를 상기 서브 DB에 저장하고, 상기 유저 단말이 상기 게임 서버와 접속을 해제하는 경우, 상기 메인 DB로 이동하여 저장하는 것을 특징으로 하는 게임 서버.
  15. 온라인 게임에서의 메인 DB의 부하를 줄이기 위한 데이터 관리 방법을 게임 서버를 통해 구현하기 위한 프로그램을 기록한 기록매체에 있어서,
    상기 온라인 게임을 수행하는데 필요한 데이터의 특성을 기초로 상기 데이터를 관리하는 제1 프로그램 코드; 및
    상기 관리한 데이터 중 제1 데이터는 상기 메인 DB에 저장하고, 제2 데이터는 상기 메인 DB와 분리된 서브 DB에 저장하는 제2 프로그램 코드를 포함하고,
    상기 특성은,
    상기 온라인 게임에서의 임시 데이터, 데이터 선택의 빈도 수 및 데이터 업데이트 빈도 수 중 적어도 하나를 포함하고,
    상기 특성은, 상기 온라인 게임에서의 임시 데이터, 데이터 선택의 빈도 수 및 데이터 업데이트 빈도 수 중 적어도 하나를 포함하고,
    상기 데이터가 임시 데이터인 경우 상기 제2 데이터로서 관리하고, 상기 임시 데이터가 아닌 경우 상기 제1 데이터로서 관리하고,
    상기 데이터의 선택의 빈도 수가 제1 임계값 이상인 경우 상기 제2 데이터로서 관리하고, 상기 데이터의 선택의 빈도 수가 상기 제1 임계값 보다 작은 경우 상기 제1 데이터로서 관리하고,
    상기 업데이트 빈도 수가 제2 임계값 이상인 경우 상기 제2 데이터로서 관리하고, 상기 업데이트 빈도 수가 상기 제2 임계값 보다 작은 경우 상기 제1 데이터로서 관리하는 것을 특징으로 하는 기록매체.
KR1020120129765A 2012-11-15 2012-11-15 온라인 게임에서의 데이터 관리 방법 및 데이터 관리 시스템을 포함하는 게임 서버 및 기록매체 KR101398088B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120129765A KR101398088B1 (ko) 2012-11-15 2012-11-15 온라인 게임에서의 데이터 관리 방법 및 데이터 관리 시스템을 포함하는 게임 서버 및 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120129765A KR101398088B1 (ko) 2012-11-15 2012-11-15 온라인 게임에서의 데이터 관리 방법 및 데이터 관리 시스템을 포함하는 게임 서버 및 기록매체

Publications (1)

Publication Number Publication Date
KR101398088B1 true KR101398088B1 (ko) 2014-06-02

Family

ID=51131206

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120129765A KR101398088B1 (ko) 2012-11-15 2012-11-15 온라인 게임에서의 데이터 관리 방법 및 데이터 관리 시스템을 포함하는 게임 서버 및 기록매체

Country Status (1)

Country Link
KR (1) KR101398088B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268497A (zh) * 2016-12-30 2018-07-10 北京国双科技有限公司 关系型数据库的数据同步方法及装置
CN108833494A (zh) * 2018-05-24 2018-11-16 国家电网有限公司 一种分布式数据存储方法和系统
CN109598551A (zh) * 2018-11-30 2019-04-09 网易(杭州)网络有限公司 一种分布式服务器结构的游戏抽奖方法及装置
KR20200121764A (ko) * 2020-09-01 2020-10-26 넷마블 주식회사 게임 컨텐츠 초기화 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100055298A (ko) * 2008-11-17 2010-05-26 에스케이텔레콤 주식회사 컨텐츠의 지역별 선호도 기반의 분산 저장 방법, 관리 서버, 및 멀티미디어 스트리밍 시스템
KR20110136079A (ko) * 2010-06-14 2011-12-21 에스케이플래닛 주식회사 게임서버의 부하 분산 방법 및 그의 시스템
KR20120076630A (ko) * 2010-12-08 2012-07-09 에스케이플래닛 주식회사 게임 서비스 시스템, 그의 게임 서비스 장치 및 게임 서비스 제어 방법
KR20120122462A (ko) * 2011-04-29 2012-11-07 주식회사 디케이아이테크놀로지 데이터분산시스템 및 그 데이터분산방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100055298A (ko) * 2008-11-17 2010-05-26 에스케이텔레콤 주식회사 컨텐츠의 지역별 선호도 기반의 분산 저장 방법, 관리 서버, 및 멀티미디어 스트리밍 시스템
KR20110136079A (ko) * 2010-06-14 2011-12-21 에스케이플래닛 주식회사 게임서버의 부하 분산 방법 및 그의 시스템
KR20120076630A (ko) * 2010-12-08 2012-07-09 에스케이플래닛 주식회사 게임 서비스 시스템, 그의 게임 서비스 장치 및 게임 서비스 제어 방법
KR20120122462A (ko) * 2011-04-29 2012-11-07 주식회사 디케이아이테크놀로지 데이터분산시스템 및 그 데이터분산방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268497A (zh) * 2016-12-30 2018-07-10 北京国双科技有限公司 关系型数据库的数据同步方法及装置
CN108833494A (zh) * 2018-05-24 2018-11-16 国家电网有限公司 一种分布式数据存储方法和系统
CN109598551A (zh) * 2018-11-30 2019-04-09 网易(杭州)网络有限公司 一种分布式服务器结构的游戏抽奖方法及装置
KR20200121764A (ko) * 2020-09-01 2020-10-26 넷마블 주식회사 게임 컨텐츠 초기화 방법
KR102211160B1 (ko) 2020-09-01 2021-02-02 넷마블 주식회사 게임 컨텐츠 초기화 방법

Similar Documents

Publication Publication Date Title
KR101398086B1 (ko) 온라인 게임에서의 유저 제스처 입력 처리 방법
US8845423B1 (en) Accessing a virtual media object within viewable location on gameboard
US20130339473A1 (en) Real time analytics via stream processing
US8998716B2 (en) Gaming system for updating a presentation of a virtual game environment
US9320969B2 (en) Online game for matching text with images
KR101398088B1 (ko) 온라인 게임에서의 데이터 관리 방법 및 데이터 관리 시스템을 포함하는 게임 서버 및 기록매체
JP5830815B1 (ja) ゲームサーバ、ゲーム制御方法、ゲームプログラム、ゲームプログラム記録媒体及び端末装置
US20140004944A1 (en) Integrating online games with online feeds
US20200164276A1 (en) Program, method, and information processing device
KR101493506B1 (ko) 모바일 게임에서의 컨텐츠 데이터 캐싱 방법 및 캐싱 시스템을 포함한 게임 서버, 및 모바일 단말
KR101404635B1 (ko) 온라인 게임에서의 드래그 입력 처리 방법
US10220301B1 (en) Providing content to a scrollable user interface
CN114073100A (zh) 数字内容的映射视图
US10872121B2 (en) Systems and methods for matching users
KR101190473B1 (ko) 온라인 게임에서의 친구간의 전적 제공 방법 및 서버
JP6360028B2 (ja) プログラム、通信システム、サーバの制御方法、及びサーバ
KR101440078B1 (ko) 순위 표시 방법
KR101178325B1 (ko) 온라인 게임의 팀 플레이 제어 방법 및 시스템
KR102595313B1 (ko) 클라우드 게임 서비스 제공 장치 및 클라우드 게임 서비스 제공 방법
KR101306832B1 (ko) 이벤트 아이템 수집 서비스 제공 방법 및 서버
US20130244792A1 (en) Game environment utilizing a lock free memory system
US20150065229A1 (en) Reward method according to a game play number in an online game and a server performing the same
US9669309B2 (en) Method for managing league point of point lapsing league mode and server for providing point lapsing league mode
KR101210009B1 (ko) 플레이 스타일에 대한 캐릭터 능력치 보상 방법 및 서버
KR101360023B1 (ko) 사용자 승패기록 관리방법 및 장치

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
FPAY Annual fee payment

Payment date: 20170510

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180510

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190329

Year of fee payment: 6