KR20180109921A - 데이터 저장과 서비스 처리 방법 및 장치 - Google Patents

데이터 저장과 서비스 처리 방법 및 장치 Download PDF

Info

Publication number
KR20180109921A
KR20180109921A KR1020187022648A KR20187022648A KR20180109921A KR 20180109921 A KR20180109921 A KR 20180109921A KR 1020187022648 A KR1020187022648 A KR 1020187022648A KR 20187022648 A KR20187022648 A KR 20187022648A KR 20180109921 A KR20180109921 A KR 20180109921A
Authority
KR
South Korea
Prior art keywords
data
server
user
balance
identifier
Prior art date
Application number
KR1020187022648A
Other languages
English (en)
Other versions
KR102327572B1 (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 KR20180109921A publication Critical patent/KR20180109921A/ko
Application granted granted Critical
Publication of KR102327572B1 publication Critical patent/KR102327572B1/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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking 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/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/227Payment schemes or models characterised in that multiple accounts are available, e.g. to the payer
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/363Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes with the personal data of a user
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/53Network services using third party service providers

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Technology Law (AREA)
  • Marketing (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 출원은 데이터 저장 및 서비스 처리 방법 및 장치를 제공한다. 방법에 있어서, 데이터 저장 중에, 각 사용자의 데이터가 획득되고, 각 사용자의 데이터는 복수의 데이터 집합들로 분할되며, 상기 복수의 데이터 집합들은 적어도 2개의 서버들에 분리해서 저장된다. 저장된 데이터에 기초하여 서비스를 처리할 때, 서버는 서비스가 필요로 하는 사용자 식별자 및 데이터의 데이터 식별자를 포함한 서비스 처리 요청을 수신하고, 상기 사용자 식별자에 대응하는 국부적으로 저장된 데이터에 상기 데이터 식별자에 대응하는 데이터가 있는지 여부를 결정하며, 만일 있으면 상기 데이터 식별자에 대응하는 상기 국부적으로 저장된 데이터를 획득하고 획득된 데이터에 기초하여 서비스를 실행하며, 만일 없으면 다른 서버로부터 상기 데이터 식별자에 대응하는 데이터를 획득하고 획득된 데이터에 기초하여 서비스를 실행한다. 이 방법으로, 특정 서버가 고장인 경우에도 사용자는 다른 서버에 저장된 데이터를 이용하여 여전히 서비스를 실행할 수 있다.

Description

데이터 저장과 서비스 처리 방법 및 장치
관련 출원에 대한 상호 참조
본 출원은 "데이터 저장 및 서비스 처리 방법 및 장치"의 명칭으로 2016년 1월 6일자 출원된 중국 특허 출원 제201610007367.5에 대한 우선권을 주장하며, 상기 중국 특허 출원은 인용에 의해 그 전부가 본원에 통합된다.
기술 분야
본 발명은 컴퓨터 기술 분야에 관한 것으로, 특히 데이터 저장 및 서비스 처리 방법 및 장치에 관한 것이다.
네트워크 기술의 발전으로 인해 서버는 사용자에게 더 다양한 서비스를 제공할 수 있다. 예를 들면, 서버는 사용자에게 이력적 채팅 기록 쿼리 서비스를 제공할 수 있다.
현재, 사용자의 데이터는 서버가 사용자에게 서비스를 제공하기 전에 서버에 저장될 필요가 있다. 종래의 기술에서 서버는 일반적으로 사용자들을 사용자 ID에 기초하여 N(N은 양의 정수임)개의 그룹으로 그룹화하고, 각 그룹의 사용자에 대응하는 데이터를 상이한 서버에 저장한다. 서버가 사용자에 의해 전송된 사용자 ID를 포함한 서비스 처리 요청을 수신한 후, 서버는 사용자 ID에 대응하는 데이터에 대하여 먼저 검색된다. 만일 사용자 ID에 대응하는 데이터가 있으면, 그 사용자 ID에 대응하는 데이터가 직접 획득되고 획득된 데이터에 기초하여 서비스가 실행된다. 만일 사용자 ID에 대응하는 데이터가 없으면, 서비스 처리 요청이 다른 서버에 전송되고, 상기 다른 서버가 그 사용자 ID에 대응하는 데이터에 기초하여 서비스를 실행한다.
예를 들면, 서버는 9명의 사용자를 사용자 ID에 기초하여 3개의 그룹으로 그룹화하고, 각 그룹은 3명의 사용자를 포함한다. 제1그룹 내의 3명의 사용자에 대응하는 이력적 채팅 기록이 서버 1에 저장되고, 제2그룹 내의 3명의 사용자에 대응하는 이력적 채팅 기록이 서버 2에 저장되며, 제3그룹 내의 3명의 사용자에 대응하는 이력적 채팅 기록이 서버 3에 저장된다. 서버 1이 사용자에 의해 전송된 사용자 ID를 포함한 채팅 기록 쿼리 서비스 요청을 수신한 때, 서버 1은 그 사용자 ID에 대응하는 이력적 채팅 기록에 대하여 검색된다. 만일 이력적 채팅 기록이 식별되면, 식별된 이력적 채팅 기록이 사용자에게 직접 반송(return)된다. 만일 이력적 채팅 기록이 식별되지 않으면, 채팅 기록 쿼리 서비스 요청이 서버 2 및/또는 서버 3에 전송되고, 서버 2 및/또는 서버 3이 그 사용자 ID에 대응하는 이력적 채팅 기록에 대하여 검색된다.
그러나 종래의 기술에서 만일 1개 이상의 서버가 고장이면, 그 서버에 저장된 데이터에 접근할 수 없다. 다시 말해서, 일부 사용자는 이 상황에서 서비스를 정상적으로 실행할 수 없다.
본 발명의 구현예는 하나 이상의 서버가 고장일 때 일부 사용자가 서비스를 정상적으로 실행할 수 없는 종래 기술의 문제점을 해결하는 데이터 저장 및 서비스 처리 방법 및 장치를 제공한다.
본 발명의 구현예는 서비스 처리 방법을 제공하고, 여기에서 각 사용자의 데이터는 적어도 2개의 서버들에 분리해서(separately) 저장되며, 상기 방법은 서비스가 필요로 하는 사용자 식별자 및 데이터의 데이터 식별자를 포함한 서비스 처리 요청을 서버에 의해 수신하는 단계와; 서버에 국부적으로 저장된 상기 사용자 식별자에 대응하는 데이터에 상기 데이터 식별자에 대응하는 데이터가 있는지 여부를 결정하는 단계와; 만일 있으면 상기 데이터 식별자에 대응하는 상기 국부적으로 저장된 데이터를 획득하고 획득된 데이터에 기초하여 서비스를 실행하는 단계; 또는 만일 없으면 다른 서버로부터 상기 데이터 식별자에 대응하는 데이터를 획득하고 획득된 데이터에 기초하여 서비스를 실행하는 단계를 포함한다.
본 발명의 구현예는 서비스 처리 방법을 제공하고, 여기에서 각 사용자의 총 잔액(balance)은 복수의 부잔액(sub-balance)으로 분할되고 상기 복수의 부잔액은 적어도 2개의 서버들에 분리해서 저장되며, 상기 방법은 서비스가 필요로 하는 사용자 식별자 및 금액을 포함한 서비스 처리 요청을 서버에 의해 수신하는 단계와; 서버에 국부적으로 저장된 상기 사용자 식별자에 대응하는 부잔액의 잔액량이 상기 금액 이상인지 여부를 결정하는 단계와; 만일 이상이면 상기 금액을 가진 국부적으로 저장된 부잔액을 획득하고 획득된 부잔액에 기초하여 서비스를 실행하는 단계; 또는 만일 미만이면 상기 서버 및 다른 서버로부터의 금액을 합친 부잔액을 획득하고 획득된 부잔액에 기초하여 서비스를 실행하는 단계를 포함한다.
본 발명의 구현예는 데이터 저장 방법을 제공하고, 여기에서 상기 방법은 각 사용자의 데이터를 획득하는 단계와; 상기 사용자의 데이터를 동일 데이터 볼륨을 가진 복수의 데이터 집합으로 분할하는 단계와; 상기 복수의 데이터 집합을 적어도 2개의 서버들에 분리해서 저장하고 각 서버에 사용자의 사용자 식별자, 사용자의 데이터의 총 데이터 볼륨, 각 서버의 서버 식별자, 및 각 서버에 저장된 데이터 집합의 데이터 볼륨을 저장하는 단계를 포함한다.
본 발명의 구현예는 데이터 저장 방법을 제공하고, 여기에서 상기 방법은 각 사용자의 총 잔액을 획득하는 단계와; 사용자의 총 잔액을 복수의 부잔액으로 동일하게 분할하는 단계와; 상기 복수의 부잔액을 적어도 2개의 서버들에 분리해서 저장하고 각 서버에 사용자의 사용자 식별자, 사용자의 총 잔액, 각 서버의 서버 식별자, 및 각 서버에 저장된 부잔액의 잔액량을 저장하는 단계를 포함한다.
본 발명의 구현예는 서비스 처리 장치를 제공하고, 여기에서 각 사용자의 데이터는 적어도 2개의 서버들에 분리해서 저장되며, 상기 장치는 사용자 식별자 및 서비스가 필요로 하는 데이터의 데이터 식별자를 포함한 서비스 처리 요청을 수신하도록 구성된 수신 모듈과; 장치에 국부적으로 저장된 상기 사용자 식별자에 대응하는 데이터에 상기 데이터 식별자에 대응하는 데이터가 있는지 여부를 결정하도록 구성된 결정 모듈과; 상기 결정 모듈의 결정 결과가 예(yes)일 때 상기 데이터 식별자에 대응하는 상기 국부적으로 저장된 데이터를 획득하고 획득된 데이터에 기초하여 서비스를 실행하도록; 또는 상기 결정 모듈의 결정 결과가 아니오(no)일 때 다른 서버로부터 상기 데이터 식별자에 대응하는 데이터를 획득하고 획득된 데이터에 기초하여 서비스를 실행하도록 구성된 실행 모듈을 포함한다.
본 발명의 구현예는 서비스 처리 장치를 제공하고, 여기에서 각 사용자의 총 잔액은 복수의 부잔액으로 분할되고 상기 복수의 부잔액은 적어도 2개의 서버들에 분리해서 저장되며, 상기 장치는 사용자 식별자 및 서비스가 필요로 하는 금액을 포함한 서비스 처리 요청을 수신하도록 구성된 수신 모듈과; 장치에 국부적으로 저장된 상기 사용자 식별자에 대응하는 부잔액의 잔액량이 상기 금액 이상인지 여부를 결정하도록 구성된 결정 모듈과; 상기 결정 모듈의 결정 결과가 예(yes)일 때 상기 금액을 가진 국부적으로 저장된 부잔액을 획득하고 획득된 부잔액에 기초하여 서비스를 실행하도록; 또는 상기 결정 모듈의 결정 결과가 아니오(no)일 때 상기 장치 및 다른 서버로부터의 금액을 합친 부잔액을 획득하고 획득된 부잔액에 기초하여 서비스를 실행하도록 구성된 실행 모듈을 포함한다.
본 발명의 구현예는 데이터 저장 장치를 제공하고, 여기에서 상기 장치는 각 사용자의 데이터를 획득하도록 구성된 획득 모듈과; 사용자의 데이터를 동일 데이터 볼륨을 가진 복수의 데이터 집합으로 분할하도록 구성된 분할 모듈과; 상기 복수의 데이터 집합을 적어도 2개의 서버들에 분리해서 저장하고 각 서버에 사용자의 사용자 식별자, 사용자의 데이터의 총 데이터 볼륨, 각 서버의 서버 식별자, 및 각 서버에 저장된 데이터 집합의 데이터 볼륨을 저장하도록 구성된 저장 모듈을 포함한다.
본 발명의 구현예는 데이터 저장 장치를 제공하고, 여기에서 상기 장치는 각 사용자의 총 잔액을 획득하도록 구성된 획득 모듈과; 사용자의 총 잔액을 복수의 부잔액으로 동일하게 분할하도록 구성된 분할 모듈과; 복수의 부잔액을 적어도 2개의 서버들에 분리해서 저장하고 각 서버에 사용자의 사용자 식별자, 사용자의 총 잔액, 각 서버의 서버 식별자, 및 각 서버에 저장된 부잔액의 잔액량을 저장하도록 구성된 저장 모듈을 포함한다.
본 발명의 구현예는 데이터 저장 및 서비스 처리 방법 및 장치를 제공한다. 방법에서, 데이터 저장 중에, 각 사용자의 데이터가 획득되고, 사용자의 데이터가 복수의 데이터 집합으로 분할되고, 상기 복수의 데이터 집합이 적어도 2개의 서버들에 분리해서 저장된다. 저장된 데이터에 기초하여 서비스를 처리할 때, 서버는 사용자 식별자 및 서비스가 필요로 하는 데이터의 데이터 식별자를 포함한 서비스 처리 요청을 수신하고, 상기 사용자 식별자에 대응하는 국부적으로 저장된 데이터에 상기 데이터 식별자에 대응하는 데이터가 있는지 여부를 결정하고, 만일 있으면 상기 데이터 식별자에 대응하는 상기 국부적으로 저장된 데이터를 획득하고 획득된 데이터에 기초하여 서비스를 실행하며, 또는 만일 없으면 다른 서버로부터 상기 데이터 식별자에 대응하는 데이터를 획득하고 획득된 데이터에 기초하여 서비스를 실행한다. 상기 방법에서, 소정의 서버가 고장인 경우에도, 사용자는 다른 서버에 저장된 데이터를 이용하여 서비스를 여전히 실행할 수 있다.
여기에서 설명하는 첨부 도면은 본 발명의 완전한 이해를 제공하기 위해 사용되고, 본 출원의 일부를 구성한다. 본 발명의 예시적인 구현예 및 구현예의 설명은 본 발명을 설명하는데 사용되고, 본 발명을 제한하는 것이 아니다. 첨부 도면에 있어서:
도 1은 본 발명의 구현예에 따른 데이터 저장 과정을 보인 도이다.
도 2a는 본 발명의 구현예에 따른 제1 데이터 저장 시스템을 보인 개략도이다.
도 2b는 본 발명의 구현예에 따른 제2 데이터 저장 시스템을 보인 개략도이다.
도 3은 본 발명의 구현예에 따른 서비스 처리 과정을 보인 도이다.
도 4는 본 발명의 구현예에 따른 잔액 저장 과정을 보인 도이다.
도 5는 본 발명의 구현예에 따른 지불 처리 과정을 보인 도이다.
도 6은 본 발명의 구현예에 따른 데이터 저장 장치를 보인 개략적 구조도이다.
도 7은 본 발명의 구현예에 따른 서비스 처리 장치를 보인 개략적 구조도이다.
도 8은 본 발명의 구현예에 따른 잔액 저장 장치를 보인 개략적 구조도이다.
도 9는 본 발명의 구현예에 따른 지불 처리 장치를 보인 개략적 구조도이다.
본 발명의 목적, 기술적 해법 및 장점을 설명하기 위해, 이하에서는 본 발명의 구현예 및 대응하는 첨부 도면을 참조하면서 본 발명의 기술적 해법을 명확히 및 완전하게 설명한다. 물론, 여기에서 설명하는 구현예는 단지 일부이고, 본 발명의 모든 구현예가 아니다. 창조적 노력 없이 본 발명의 구현예에 기초하여 당업자에 의해 획득되는 모든 다른 구현예는 본 발명의 보호 범위 내에 있을 것이다.
도 1은 본 발명의 구현예에 따른 데이터 저장 과정을 보인 것이다. 이 과정은 하기의 단계들을 포함한다:
S101. 각 사용자에 대하여 사용자와 관련된 데이터를 획득한다.
본 발명의 구현예에서, 전체 데이터 저장 시스템이 도 2a에 도시될 수 있다. 이 시스템에서, 사용자 데이터는 적어도 2개의 서버에 저장되고, 적어도 2개의 서버 중 임의의 하나는 단계 S101 내지 S103을 수행할 수 있다. 또한, 전체 데이터 저장 시스템이 도 2b에 도시될 수 있다. 이 시스템에서, 사용자 데이터는 적어도 2개의 서버에 저장되고, 적어도 2개의 서버 대신 중간 장치가 단계 S101 내지 S103을 수행할 수 있다. 이하의 설명은 예로서 단계 S101 내지 S103을 수행하는 도 2b에 도시된 중간 장치를 이용한다.
실제 응용에서, 서버가 사용자에게 서비스를 제공하기 전에 사용자의 데이터가 서버에 저장되어야 한다. 그러므로 본 응용에서는 중간 장치가 각 사용자의 데이터를 먼저 획득한다.
예를 들면, 서버는 사용자에게 이력적 채팅 기록 쿼리 서비스를 제공할 수 있다고 가정한다. 중간 장치는 사용자 A의 이력적 채팅 기록(데이터)를 먼저 획득한다.
S102. 사용자의 데이터를 동일 데이터 볼륨을 가진 복수의 데이터 집합으로 분할한다.
본 발명의 구현예에서, 임의의 데이터는 일반적으로 데이터 속성으로서 데이터 볼륨을 포함하기 때문에, 중간 장치는 사용자의 획득된 데이터를 데이터 볼륨에 기초하여 복수의 데이터 집합으로 분할할 수 있다. 후속 서비스 처리 중에, 사용자에 의해 전송된 서비스 처리 요청이 임의의 서버에 전송될 수 있고, 각 서버가 국부적으로 저장된 데이터 집합으로부터 서비스 처리에 필요한 데이터를 획득할 수 있기 때문에, 사용자의 데이터가 데이터 볼륨에 기초하여 분할된 후에, 획득된 데이터 집합은 동일한 데이터 볼륨을 갖는다.
본 발명은 다른 분할 방법을 또한 제공한다. 임의의 2개의 데이터 집합이 분할을 통해 획득된 후에, 상기 2개의 데이터 집합의 데이터 볼륨들 간의 차이(difference)는 미리 정해진 역치와 같거나 그 미만이다. 역치는 실제 상황에 따라 설정될 수 있다.
또한, 분할을 통해 획득되는 데이터 집합의 수는 사용자의 데이터를 저장하기 위한 서버의 수에 기초하여 결정할 수 있다는 점에 주목한다. 분할을 통해 획득되는 데이터 집합의 수는 사용자의 데이터를 저장할 서버의 수보다 적지 않다.
앞의 예에서, 사용자 A가 99개의 이력적 채팅 기록을 갖고 있고, 총 3개의 서버가 있으며, 사용자의 데이터가 동일한 데이터 볼륨을 가진 복수의 데이터 집합으로 분할된다고 가정한다. 이때, 중간 장치는 33개의 이력적 채팅 기록을 각각 포함한 데이터 집합 1, 데이터 집합 2 및 데이터 집합 3으로 사용자의 이력적 채팅 기록을 분할할 수 있다.
S103. 복수의 데이터 집합을 적어도 2개의 서버들에 분리해서 저장하고 사용자의 사용자 식별자, 사용자의 데이터의 총 데이터 볼륨, 각 서버의 서버 식별자, 및 각 서버에 저장된 데이터 집합의 데이터 볼륨을 각 서버에 저장한다.
본 발명의 구현예에서, 중간 장치가 사용자의 데이터를 복수의 데이터 집합으로 분할한 후에, 중간 장치는 저장될 복수의 데이터 집합을 적어도 2개의 서버들에 분리해서 전송할 수 있다. 각 서버는 적어도 하나의 데이터 집합을 저장한다.
사용자의 데이터에 대해 적어도 2개의 서버를 후속적으로 검색하고 사용자의 식별된 데이터에 기초하여 서비스를 실행하는 것을 돕기 위해, 본 발명에서, 서버에 데이터 집합을 국부적으로 저장하는 것 외에, 서버는 사용자의 사용자 식별자, 사용자의 데이터의 총 데이터 볼륨, 각 서버의 서버 식별자, 및 각 서버에 저장된 데이터 집합의 데이터 볼륨을 또한 저장할 필요가 있다. 각 서버의 서버 식별자와 서버에 저장된 데이터 집합의 데이터 볼륨 간에는 맵핑 관계가 있다. 다시 말해서, 각 서버에 저장된 데이터 집합의 데이터 볼륨은 상기 맵핑 관계로부터 알 수 있다.
앞의 예에서, 33개의 이력적 채팅 기록을 포함한 데이터 집합 1 외에, 서버 1은 표 1에 나타낸 데이터를 저장할 수 있다.
데이터 명 데이터 값
사용자 식별자 사용자 A
사용자 데이터의 총 데이터 볼륨 99개의 이력적 채팅 기록
서버 1의 식별자 서버 1
서버 2의 식별자 서버 2
서버 3의 식별자 서버 3
서버 2에 저장된 데이터 집합 2의 데이터 볼륨 33개의 이력적 채팅 기록
서버 3에 저장된 데이터 집합 3의 데이터 볼륨 33개의 이력적 채팅 기록
표 1에 나타낸 데이터는 중간 장치에 의해 각 서버에 전송되어 그 서버에 저장될 수 있다.
상기 방법으로, 소정의 서버가 고장인 경우에도, 사용자는 다른 서버에 저장된 데이터를 이용하여 서비스를 여전히 실행할 수 있다.
또한, 도 1에 도시된 단계 S101 내지 S103이 도 2a에 도시된 임의의 서버에 의해 수행될 때, 그 서버는 사용자의 데이터를 획득하고, 사용자의 데이터를 복수의 데이터 집합으로 분할한 다음 적어도 하나의 데이터 집합을 저장하고, 궁극적으로 다른 데이터 집합을 저장을 위해 다른 서버에 배분할 수 있다. 한편, 서버는 사용자의 사용자 식별자, 사용자의 데이터의 총 데이터 볼륨, 각 서버의 서버 식별자, 및 각 서버에 저장된 데이터 집합의 데이터 볼륨을 국부적으로 저장하고, 그 다음에 상기 데이터를 저장을 위해 다른 서버에 전송할 수 있다.
본 발명의 구현예에서, 사용자의 데이터가 단계 S101 내지 S103을 이용하여 저장된 후에, 서버는 다른 서버에 저장된 데이터에 기초하여 서비스를 실행할 수 있다. 전체적인 서비스 처리 절차가 도 3에 도시되어 있다.
도 3은 본 발명의 구현예에 따른 서비스 처리 과정을 보인 것이다. 이 과정은 하기의 단계들을 포함한다.
S301. 서버가 서비스 처리 요청을 수신한다.
본 발명의 구현예에서, 사용자의 데이터가 상이한 서버들에 분리해서 저장되기 때문에, 단말기를 이용하여 사용자에 의해 전송된 서비스 처리 요청은 복수의 서버 중 임의의 하나에 전송된다. 서비스 처리 요청은 어떤 사용자 및 그 사용자와 관련된 어떤 데이터를 처리해야 하는지 서버에 통지하기 위해 사용자 식별자 및 서비스가 필요로 하는 데이터의 데이터 식별자를 포함한다.
S302. 서버에 국부적으로 저장된 상기 사용자 식별자에 대응하는 데이터 집합에 상기 데이터 식별자에 대응하는 데이터가 있는지 여부를 결정한다. 만일 있으면 단계 S303을 수행하고, 만일 없으면 단계 S304를 수행한다.
본 발명의 구현예에서, 사용자에 의해 전송된 서비스 처리 요청을 수신한 후에, 서버는 서비스 처리 요청에 포함된 사용자 식별자에 기초하여 상기 사용자에 대응하는 데이터 집합을 결정하고, 상기 서비스 처리 요청에 포함된 데이터 식별자에 기초하여 서비스 실행에 필요한 데이터 집합을 결정한다. 만일 서버에 저장된 데이터 집합이 상기 데이터 식별자에 대응하는 데이터를 포함하고 있으면, 다시 말해서, 서비스 실행에 필요한 데이터 집합이 있으면, 단계 S303이 수행된다. 만일 서버에 저장된 데이터 집합이 상기 데이터 식별자에 대응하는 데이터를 포함하고 있지 않으면, 단계 S304가 수행된다.
S303. 데이터 식별자에 대응하는 국부적으로 저장된 데이터를 획득하고 획득된 데이터에 기초하여 서비스를 실행한다.
S304. 다른 서버로부터 상기 데이터 식별자에 대응하는 데이터를 획득하고 획득된 데이터에 기초하여 서비스를 실행한다.
본 발명의 구현예에서, 서버에 국부적으로 저장된 상기 데이터 식별자에 대응하는 데이터가 없다고 결정한 후에, 서버는 다른 서버로부터 상기 데이터 식별자에 대응하는 데이터를 획득하고 획득된 데이터에 기초하여 서비스를 실행하기 위해 상기 다른 서버에 데이터 획득 요청을 직접 전송할 수 있다. 데이터 획득 요청은 사용자 식별자와 데이터 식별자를 포함한다.
전술한 방법으로, 소정의 서버가 고장일 때, 그 서버에 저장된 사용자의 데이터는 사용할 수 없지만, 다른 서버에 저장된 사용자의 데이터는 여전히 사용할 수 있고, 서비스를 실행하는데 필요한 데이터는 아마 다른 서버에 저장되어 있다. 그래서 서비스가 여전히 성공적으로 실행될 수 있다. 종래의 기술에서는 만일 사용자의 데이터를 저장한 서버가 고장이면 서비스를 실행할 수 없다. 종래의 기술과 비교하면, 상기 방법은 서비스가 실행될 가능성을 크게 개선한다.
실제 응용에서, 서버는 대응하는 데이터의 데이터 볼륨에 기초하여 서비스를 실행할 수 있다. 그러므로 서비스가 필요로 하는 데이터의 데이터 식별자- 서비스 처리 요청에 포함되어 있음 -는 서비스가 필요로 하는 데이터의 데이터 볼륨일 수 있다. 그 다음에, 서버는 서비스가 필요로 하는 데이터의 상기 서비스 처리 요청에 포함된 데이터 볼륨에 기초하여, 서버에 국부적으로 저장된 사용자 식별자에 대응하는 데이터의 데이터 볼륨이 서비스가 필요로 하는 데이터의 데이터 볼륨 이상인지 여부를 결정한다. 만일 이상이면, 서버는 상기 데이터 식별자에 대응하는 데이터가 서버에 있다고 결정한다. 만일 미만이면, 서버는 상기 데이터 식별자에 대응하는 데이터가 서버에 없다고 결정한다.
또한, 사용자의 데이터는 전술한 서버뿐만 아니라 다른 서버에도 저장되기 때문에, 본 발명에서 만일 상기 데이터 식별자에 대응하는 데이터가 서버에 없으면, 다시 말해서 서버에 국부적으로 저장된 사용자 식별자에 대응하는 데이터의 데이터 볼륨이 서비스가 필요로 하는 데이터의 데이터 볼륨 미만이면, 상기 데이터 식별자에 대응하는 데이터가 다른 서버로부터 획득될 수 있다. 서비스가 필요로 하는 데이터의 데이터 볼륨과 서버에 국부적으로 저장된 사용자 식별자에 대응하는 데이터의 데이터 볼륨 간의 차이가 결정되고, 상기 사용자 식별자에 대응하면서 상기 차가 되는 데이터 볼륨을 가진 데이터가 다른 서버로부터 획득된다.
또한, 본 발명은 상기 사용자 식별자에 대응하면서 상기 차이의 데이터 볼륨을 가진 데이터를 다른 서버로부터 획득하는 구현예를 제공하고, 상기 다른 서버에 저장된 상기 사용자 식별자에 대응하는 데이터는 획득된 데이터 볼륨이 상기 차이가 될 때까지 데이터의 데이터 볼륨의 내림차순으로 순차적으로 획득된다.
실제 응용에서, 다른 서버에 저장된 사용자 식별자에 대응하는 데이터의 데이터 볼륨들의 합은 상기 결정된 차이보다 작을 수 있다. 그러므로 본 발명에서, 상기 사용자 식별자에 대응하면서 상기 차이의 데이터 볼륨을 가진 데이터를 다른 서버로부터 획득하기 전에, 서버는 모든 서버에 저장된 상기 사용자 식별자에 대응하는 데이터의 데이터 볼륨들의 합이 서비스가 필요로 하는 데이터의 데이터 볼륨 이상인지 여부를 먼저 결정할 수 있다. 만일 이상이면 서버는 다른 서버로부터 데이터를 획득할 수 있다. 만일 미만이면, 이것은 사용자의 데이터 볼륨이 서비스를 실행하기에 불충분하다는 것을 표시하고, 서버는 서비스의 실행을 직접 거절할 수 있다.
궁극적으로, 획득된 데이터에 기초하여 서비스를 처리한 후에, 서버는 사용자 식별자에 대응하는 상기 국부적으로 저장된 데이터의 데이터 볼륨을 갱신할 필요가 있다. 다시 말해서, 서버는 사용자 식별자에 대응하는 데이터의 총 데이터 볼륨, 사용자 식별자에 대응하는 국부적으로 저장된 데이터의 데이터 볼륨, 및 다른 서버에 저장된 사용자 식별자에 대응하는 데이터의 데이터 볼륨을 갱신한다. 서버에 국부적으로 저장된 사용자 식별자에 대응하는 데이터의 데이터 볼륨이 사용자에 의해 전송된 서비스 요청에 포함된 데이터 볼륨 미만이면, 사용자 식별자에 대응하는 데이터의 데이터 볼륨은 다른 서버로부터 획득된다. 그래서 사용자 식별자에 대응하는 국부적으로 저장된 데이터의 데이터 볼륨을 갱신할 때, 서버는 갱신 요청을 다른 서버에도 역시 전송하여 상기 다른 서버가 사용자 식별자에 대응하는 데이터의 총 데이터 볼륨, 사용자 식별자에 대응하는 국부적으로 저장된 데이터의 데이터 볼륨, 및 다른 서버에 저장된 사용자 식별자에 대응하는 데이터의 데이터 볼륨에 기초하여 국부적으로 저장된 데이터를 갱신하게 할 필요가 있다.
여기에서, 앞의 서비스 처리에서의 서버들은 정상적으로 구동하는 서버들이라는 점에 주목한다. 만일 소정의 서버가 고장이면, 그 서버는 사용자에 의해 전송된 서비스 처리 요청 또는 다른 서버에 의해 상기 서버에 전송된 데이터 획득 요청을 수신할 수 없다. 다시 말해서, 서비스 처리 요청을 수신하는 서버는 다른 서버가 고장인지 모니터링할 수 있고, 고장이 아닌 서버로부터 데이터를 획득할 수 있다.
본 발명의 구현예로 제공된 전술한 서비스 처리 방법에 있어서, 실제 응용에서, 지불 및 양도와 같은 금전과 관련된 서비스를 실행할 때, 서버는 금액(즉, 데이터의 데이터 볼륨)에 기초하여 서비스를 실행할 필요가 있다. 그러므로 본 해법의 데이터 저장 방법 및 서비스 처리 방법을 더 명확하게 설명하기 위해, 데이터는 이하의 설명에서 계좌 잔액이다.
도 4는 본 발명의 구현예에 따른 잔액 저장 과정을 보인 것이다. 이 과정은 하기 단계들을 포함한다.
S401. 각 사용자의 총 잔액을 획득한다.
실제 응용에서, 사용자가 지불 계좌의 잔액을 이용하여 구매 및 지불과 같은 서비스를 실행하는 것이 점차적으로 유행하고 있다. 서비스가 잔액을 이용하여 실행되기 전에, 사용자의 잔액이 서버에 먼저 저장될 필요가 있다. 그래서, 본 응용에서, 서버는 각 사용자의 총 잔액을 먼저 획득한다.
예를 들어서 서버는 사용자 A에게 잔액 지불 서비스를 제공하는 것으로 가정한다. 중간 장치는 사용자 A의 총 잔액 300 RMB를 먼저 획득한다.
S402. 사용자의 총 잔액을 복수의 부잔액으로 균등하게 분할한다.
앞의 예에서, 총 잔액이 균등하게 분할되고 사용자의 잔액을 저장할 3개의 서버가 있다고 가정한다. 이때 중간 장치는 사용자 A의 총 잔액을 3개의 부잔액으로 균등하게 분할할 수 있다. 구체적으로, 부잔액 1은 100 RMB이고, 부잔액 2는 100 RMB이며, 부잔액 3은 100 RMB이다.
S403. 복수의 부잔액을 적어도 2개의 서버들에 분리해서 저장하고, 사용자의 사용자 식별자, 사용자의 총 잔액, 각 서버의 서버 식별자, 및 각 서버에 저장된 부잔액의 잔액량을 각 서버에 저장한다.
본 발명의 구현예에서, 사용자의 부잔액에 대해 적어도 2개의 서버를 후속적으로 검색하고 사용자의 식별된 부잔액에 기초하여 지불 서비스를 실행하는 것을 돕기 위해, 복수의 부잔액이 적어도 2개의 서버들에 분리해서 저장될 수 있을 뿐만 아니라, 사용자의 사용자 식별자, 사용자의 총 잔액, 각 서버의 서버 식별자, 및 각 서버에 저장된 부잔액의 잔액량이 상기 서버들에 저장될 수 있고, 국부적으로 저장된 데이터가 다른 서버에 전송되어 상기 다른 서버가 상기 데이터를 저장한다.
앞의 예에서, 100 RMB의 잔액량을 가진 부잔액 1 외에, 서버 1은 표 2에 나타낸 데이터를 저장할 수 있다.
데이터 명 데이터 값
사용자 식별자 사용자 A
사용자의 총 잔액 300 RMB
서버 1의 식별자 서버 1
서버 2의 식별자 서버 2
서버 3의 식별자 서버 3
서버 2에 저장된 부잔액 2의 잔액량 100 RMB
서버 3에 저장된 부잔액 3의 잔액량 100 RMB
표 2에 나타낸 데이터는 중간 장치에 의해 각 서버에 전송되어 그 서버에 저장될 수 있다.
이 방법으로, 소정의 서버가 고장인 경우에도, 사용자는 다른 서버에 저장된 부잔액을 이용하여 지불 서비스를 여전히 처리할 수 있다.
본 발명의 구현예에서, 사용자의 총 잔액이 단계 S401 내지 S403을 이용하여 저장된 후에, 서버는 다른 서버에 저장된 사용자의 부잔액에 기초하여 지불 서비스를 실행할 수 있다. 전체 지불 처리 과정은 도 5에 도시되어 있다.
도 5는 본 발명의 구현예에 따른 지불 처리 과정을 보인 것이다. 이 과정은 하기의 단계들을 포함한다.
S501. 서버가 서비스 처리 요청을 수신한다.
본 발명의 구현예에서, 서비스 처리 요청은 지불되어야 하는 사용자 및 실행에 필요한 금액을 서버에 통지하기 위해 사용자 식별자 및 서비스가 필요로 하는 금액을 포함한다.
앞의 예에서, 사용자 A는 아이템을 구매할 때 잔액 지불 서비스를 이용한다. 이때 사용자 A는 지불 서비스 처리 요청을 단말기를 이용하여 서버에 전송한다. 지불 서비스 처리 요청은 사용자 A의 사용자 식별자 및 지불 서비스에 필요한 120 RMB를 포함한다. 서버 1이 지불 서비스 처리 요청을 수신한다고 가정한다.
S502. 서버에 국부적으로 저장된 상기 사용자 식별자에 대응하는 부잔액이 잔액량이 상기 금액 이상인지 여부를 결정한다. 만일 이상이면 단계 S503을 수행하고 만일 미만이면 단계 S504를 수행한다.
앞의 예에서, 지불 서비스 처리 요청을 수신한 후에, 서버 1은 사용자 A에 대응하는 국부적으로 저장된 부잔액의 잔액량이 100 RMB인 것을 사용자 A의 사용자 식별자에 기초하여 식별하고, 사용자 A에 대응하는 국부적으로 저장된 부잔액의 잔액량이 지불 서비스가 필요로 하는 금액보다 작다는 것을 상기 지불 서비스가 필요로 하는 120 RMB에 기초하여 결정한 때 단계 S504 및 후속 처리를 수행한다.
S503. 상기 금액을 가진 국부적으로 저장된 부잔액을 획득하고 획득된 부잔액에 기초하여 서비스를 실행한다.
S504. 상기 서버 및 다른 서버로부터의 금액을 합한 부잔액을 획득하고 획득된 부잔액에 기초하여 서비스를 실행한다.
본 발명의 구현예에서, 사용자 식별자에 대응하는 국부적으로 저장된 부잔액의 잔액량이 서비스가 필요로 하는 금액보다 작다고 서버가 결정하면, 이것은 국부적으로 저장된 부잔액이 서비스를 처리하는데 불충분하다는 것을 표시한다. 이때 사용자 식별자에 대응하는 부잔액이 다른 서버로부터 획득될 수 있고, 서비스는 상기 서버 및 상기 다른 서버로부터 획득된 부잔액에 기초하여 처리된다.
서버는 서비스 처리 요청에 포함된 금액과 서버에 국부적으로 저장된 상기 사용자 식별자에 대응하는 부잔액의 잔액량 간의 차이를 결정하고, 서버에 국부적으로 저장된 상기 사용자 식별자에 대응하는 전체 부잔액을 획득하고, 상기 다른 서버로부터 상기 차이의 잔액량을 가진 부잔액을 획득하고, 상기 서버 및 상기 다른 서버로부터 획득된 금액들을 합한 부잔액에 기초하여 서비스를 실행할 수 있다.
여기에서 상기 부잔액은 고장이 아닌 다른 서버로부터 획득될 수 있다는 점에 주목한다.
앞의 예에서, 서버 3이 고장이고 서버 2가 정상적으로 구동하는 것을 서버 1이 검출한다고 가정한다. 이때 서버 1은 서비스 처리 요청에 포함된 금액 120 RMB와 서버 1에 국부적으로 저장된 사용자 A에 대응하는 부잔액의 잔액량 100 RMB 간의 차이, 즉 20 RMB를 결정하고, 상기 차이 20 RMB를 포함한 데이터 획득 요청을 정상적으로 구동하는 서버 2에 전송하며, 서버 2에 의해 반송되는 부잔액의 잔액량 20 RMB를 수신한다. 한편, 서버 1은 서버 1에 국부적으로 저장된 사용자 A에 대응하는 전체 부잔액 100 RMB를 획득하고, 서버 1로부터 획득된 100 RMB 및 서버 2로부터 획득된 20 RMB에 기초하여 잔액 지불 처리를 수행한다.
전술한 방법에서, 소정 서버가 고장일 때 그 서버에 저장된 사용자의 부잔액은 사용할 수 없다. 그러나 다른 서버에 저장된 사용자의 부잔액은 여전히 사용할 수 있고, 고장이 아닌 서버에 저장된 사용자의 부잔액의 합이 서비스가 필요로 하는 금액보다 크면 서비스가 성공적으로 실행될 수 있다. 그러나 종래의 기술에서는 일반적으로 사용자의 잔액을 저장하는 서버가 고장이면 지불 서비스가 실행될 수 없다. 종래 기술과 비교하면, 본 발명의 방법은 지불 서비스가 실행될 가능성을 크게 개선한다.
또한, 이하의 방법은 다른 서버로부터 상기 차이의 잔액량을 가진 부잔액을 획득하기 위해 사용될 수 있다: 다른 서버에 저장된 사용자 식별자에 대응하는 부잔액은 획득된 잔액량이 상기 차이가 될 때까지 부잔액의 잔액량의 내림차순으로 순차적으로 획득된다.
궁극적으로, 획득된 부잔액에 기초하여 서비스를 처리한 후에, 서버는 사용자 식별자에 대응하는 상기 국부적으로 저장된 부잔액의 잔액량을 갱신할 필요가 있다. 다시 말해서, 서버는 사용자 식별자에 대응하는 총 잔액, 서버에 국부적으로 저장된 사용자 식별자에 대응하는 부잔액의 잔액량, 및 다른 서버에 저장된 사용자 식별자에 대응하는 부잔액의 잔액량을 갱신한다. 서버에 국부적으로 저장된 사용자 식별자에 대응하는 부잔액의 잔액량이 서비스가 필요로 하고 사용자에 의해 전송된 서비스 요청에 포함된 금액 미만이면, 서버는 사용자 식별자에 대응하는 부잔액의 잔액량을 다른 서버로부터 획득된다. 그래서 사용자 식별자에 대응하는 국부적으로 저장된 부잔액의 잔액량을 갱신할 때 서버는 갱신 요청을 다른 서버에도 역시 전송하여 상기 다른 서버가 사용자 식별자에 대응하는 총 잔액, 서버에 국부적으로 저장된 사용자 식별자에 대응하는 부잔액의 잔액량, 및 다른 서버에 저장된 사용자 식별자에 대응하는 부잔액의 잔액량에 기초하여 국부적으로 저장된 데이터를 갱신하게 할 필요가 있다.
여기에서, 서비스 처리 요청을 수신하는 서버가 아닌 다른 모든 서버에 저장된 부잔액의 잔액량들의 합은 상기 결정된 차이보다 크다고 가정한다. 그러나 만일 상기 다른 모든 서버 중의 소정 서버가 고장이고 다른 나머지 정상적인 서버에 저장된 부잔액의 잔액량의 합이 상기 결정된 차이 미만이면, 그 사용자에 대하여 지불 서비스가 처리될 수 없다. 이 상황에서, 지불 통지가 사용자에게 반송될 수 있다. 상기 지불 통지는 사용자의 총 잔액이 불변으로 유지되고, 사용자에 의해 저장된 잔액이 소정 서버가 고장이기 때문에 지불 서비스에 사용될 수 없으며, 사용자의 잔액이 서버 복구 후에 지불 서비스에 사용될 수 있음을 통지하기 위해 사용된다.
예를 들면, 총 3개의 서버가 있고, 서버 1은 30 RMB를 저장하고 서버 2는 30 RMB를 저장하고 서버 3은 30 RMB를 저장하며, 사용자가 구매할 아이템의 가격은 70 RMB이다. 서버 2가 고장이라고 가정한다. 사용자에 의해 전송된 지불 서비스 처리 요청을 수신한 후에, 서버 1은 정상적으로 구동하는 다른 서버(즉, 서버 3)에 저장된 부잔액의 잔액량이 결정된 차이(즉, 40 RMB)보다 작다고 결정한다. 이때 서버 1은, 총 잔액이 아직 90 RMB이고, 사용자에 의해 저장된 잔액 90 RMB는 서버 2가 고장인 이유만으로 지불 서비스에 사용할 수 없으며, 사용자의 잔액은 서버 2가 복구된 후에 지불 서비스에 사용될 수 있음을 사용자 A에게 통지하기 위해 사용자에게 지불 통지를 전송한다.
본 발명에서, 서버에 국부적으로 저장된 부잔액이 불충분하면, 부잔액은 정상적으로 구동하는 다른 서버로부터 획득할 필요가 있고, 그 다음에 지불 서비스가 상기 국부적으로 저장된 부잔액 및 상기 획득된 부잔액에 기초하여 처리된다. 서버들 간에 양도 동작이 수반되고, 서버들 간의 양도 동작은 서비스 처리 효율을 감소시킨다. 그러므로 본 발명에서, 모든 서버에 저장된 각 사용자의 부잔액의 평균 잔액량이 소정 역치보다 큰지 여부를 결정할 수 있다. 만일 더 크면, 도 4 및 도 5에 도시된 잔액 저장 방법 및 지불 처리 방법이 그 사용자에 대하여 사용될 수 있다. 만일 크지 않으면, 도 4 및 도 5에 도시된 잔액 저장 방법 및 지불 처리 방법이 그 사용자에 대하여 사용될 수 없다.
본 발명은 사용자가 도 4 및 도 5에 도시된 잔액 저장 방법 및 지불 처리 방법을 사용할 수 있는지 여부를 결정하는 구현예를 제공한다. 만일 모든 서버에 저장된 사용자의 부잔액의 평균 잔액량이 단일 지불 서비스를 실행하기 위해 사용자가 필요로 하는 평균 금액보다 더 크면, 사용자는 도 4 및 도 5에 도시된 잔액 저장 방법 및 지불 처리 방법을 사용할 수 있다. 그래서 서버들 간의 양도 동작이 효과적으로 회피될 수 있다. 단일 지불 서비스를 실행하기 위해 사용자가 필요로 하는 평균 금액은 사용자의 이력적 지불 서비스의 금액에 기초하여 결정될 수 있다.
본 발명의 구현예로 제공되는 데이터 저장 방법, 서비스 처리 방법, 잔액 저장 방법 및 지불 처리 방법을 위에서 설명하였다. 동일한 개념에 기초하여, 본 발명의 구현예는 4개의 장치, 즉 도 6에 도시된 데이터 저장 장치, 도 7에 도시된 서비스 처리 장치, 도 8에 도시된 잔액 저장 장치 및 도 9에 도시된 지불 처리 장치를 제공한다.
도 6은 본 발명의 구현예에 따른 데이터 저장 장치를 보인 개략적 구조도이고, 이 장치는 하기의 컴포넌트들을 포함한다:
각 사용자의 데이터를 획득하도록 구성된 획득 모듈(601);
사용자의 데이터를 동일한 데이터 볼륨을 가진 복수의 데이터 집합으로 분할하도록 구성된 분할 모듈(602); 및
복수의 데이터 집합을 적어도 2개의 서버들에 분리해서 저장하고 사용자의 사용자 식별자, 사용자의 데이터의 총 데이터 볼륨, 각 서버의 서버 식별자, 및 각 서버에 저장된 데이터 집합의 데이터 볼륨을 각 서버에 저장하도록 구성된 저장 모듈(603).
도 7은 본 발명의 구현예에 따른 서비스 처리 장치를 보인 개략적 구조도이다. 각 사용자의 데이터는 적어도 2개의 서버들에 분리해서 저장되고, 이 장치는 하기의 컴포넌트들을 포함한다:
사용자 식별자 및 서비스가 필요로 하는 데이터의 데이터 식별자를 포함한 서비스 처리 요청을 수신하도록 구성된 수신 모듈(701);
장치에 국부적으로 저장된 사용자 식별자에 대응하는 데이터에 상기 데이터 식별자에 대응하는 데이터가 있는지 여부를 결정하도록 구성된 결정 모듈(702); 및
상기 결정 모듈(702)의 결정 결과가 예(yes)일 때 상기 데이터 식별자에 대응하는 상기 국부적으로 저장된 데이터를 획득하고 획득된 데이터에 기초하여 서비스를 실행하며; 상기 결정 모듈(702)의 결정 결과가 아니오(no)일 때 다른 서버로부터 상기 데이터 식별자에 대응하는 데이터를 획득하고 획득된 데이터에 기초하여 서비스를 실행하도록 구성된 실행 모듈(703).
서비스가 필요로 하는 데이터의 데이터 식별자는 서비스가 필요로 하는 데이터의 데이터 볼륨을 포함한다.
상기 결정 모듈(702)은 장치에 국부적으로 저장된 사용자 식별자에 대응하는 데이터의 데이터 볼륨이 서비스가 필요로 하는 데이터의 데이터 볼륨 이상인지 여부를 결정하도록 구성된다.
상기 실행 모듈(703)은 상기 결정 모듈(702)의 결정 결과가 예(yes)일 때 장치에 상기 데이터 식별자에 대응하는 데이터가 있다고 결정하고; 상기 결정 모듈(702)의 결정 결과가 아니오(no)일 때 장치에 상기 데이터 식별자에 대응하는 데이터가 없다고 결정하도록 구성된다.
상기 실행 모듈(703)은 서비스가 필요로 하는 데이터의 데이터 볼륨과 장치에 국부적으로 저장된 사용자 식별자에 대응하는 데이터의 데이터 볼륨 간의 차이를 결정하고, 상기 사용자 식별자에 대응하면서 상기 차이의 데이터 볼륨을 가진 데이터를 다른 서버로부터 획득하도록 구성된다.
상기 실행 모듈(703)은 다른 서버에 저장된 사용자 식별자에 대응하는 데이터를 획득된 데이터 볼륨이 상기 차이가 될 때까지 데이터의 데이터 볼륨의 내림차순으로 순차적으로 획득하도록 구성된다.
상기 장치는 사용자 식별자에 대응하는 데이터의 총 데이터 볼륨, 장치에 국부적으로 저장된 사용자 식별자에 대응하는 데이터의 데이터 볼륨, 및 다른 서버에 저장된 사용자 식별자에 대응하는 데이터의 데이터 볼륨을 갱신하도록 구성된 갱신 모듈(704)를 또한 포함한다.
도 8은 본 발명의 구현예에 따른 잔액 저장 장치를 보인 개략적 구조도이고, 이 장치는 하기의 컴포넌트들을 포함한다.
각 사용자의 지불 계좌의 총 잔액을 획득하도록 구성된 획득 모듈(801);
사용자의 총 잔액을 복수의 부잔액으로 균등하게 분할하도록 구성된 분할 모듈(802); 및
복수의 부잔액을 적어도 2개의 서버들에 분리해서 저장하고 사용자의 사용자 식별자, 사용자의 총 잔액, 각 서버의 서버 식별자, 및 각 서버에 저장된 부잔액의 잔액량을 각 서버에 저장하도록 구성된 저장 모듈(803).
도 9는 본 발명의 구현예에 따른 지불 처리 장치를 보인 개략적 구조도이다. 각 사용자의 지불 계좌의 총 잔액은 복수의 부잔액으로 분할되고, 상기 복수의 부잔액은 적어도 2개의 서버들에 분리해서 저장되며, 이 장치는 하기의 컴포넌트들을 포함한다:
사용자 식별자 및 서비스가 필요로 하는 금액을 포함한 서비스 처리 요청을 수신하도록 구성된 수신 모듈(901);
장치에 국부적으로 저장된 사용자 식별자에 대응하는 부잔액의 잔액량이 상기 금액 이상인지 여부를 결정하도록 구성된 결정 모듈(902); 및
상기 결정 모듈(902)의 결정 결과가 예(yes)일 때 상기 금액을 가진 국부적으로 저장된 부잔액을 획득하고 획득된 부잔액에 기초하여 서비스를 실행하며; 상기 결정 모듈(902)의 결정 결과가 아니오(no)일 때 상기 장치 및 다른 서버로부터의 금액을 합한 부잔액을 획득하고 획득된 부잔액에 기초하여 서비스를 실행하도록 구성된 실행 모듈(903).
상기 실행 모듈(903)은 상기 금액과 상기 장치에 국부적으로 저장된 상기 사용자 식별자에 대응하는 부잔액의 잔액량 간의 차이를 결정하고, 상기 장치에 국부적으로 저장된 상기 사용자 식별자에 대응하는 전체 부잔액을 획득하고, 상기 다른 서버로부터 상기 차이의 잔액량을 가진 부잔액을 획득하도록 구성된다.
상기 실행 모듈(903)은 다른 서버에 저장된 사용자 식별자에 대응하는 부잔액을 획득된 잔액량이 상기 차이가 될 때까지 부잔액의 잔액량의 내림차순으로 순차적으로 획득하도록 구성된다.
상기 장치는 사용자 식별자에 대응하는 총 잔액, 장치에 국부적으로 저장된 사용자 식별자에 대응하는 부잔액의 잔액량, 및 다른 서버에 저장된 사용자 식별자에 대응하는 부잔액의 잔액량을 갱신하도록 구성된 갱신 모듈(904)를 또한 포함한다.
전형적인 구성에서, 컴퓨팅 장치는 하나 이상의 프로세서(CPU), 입력/출력 인터페이스, 네트워크 인터페이스 및 메모리를 포함한다.
메모리는 읽기 전용 메모리(ROM) 또는 플래시 메모리(플래시 ROM)와 같은 컴퓨터 판독가능 매체에서 비영속적 메모리, 랜덤 액세스 메모리(RAM) 및/또는 비휘발성 메모리 등을 포함할 수 있다. 메모리는 컴퓨터 판독가능 매체의 일 예이다.
컴퓨터 판독가능 매체는 임의의 방법 또는 기술을 이용하여 정보를 저장할 수 있는 영속적, 비영속적, 이동형 및 고정형 매체를 포함한다. 정보는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터일 수 있다. 컴퓨터 기억 매체는, 비제한적인 예를 들자면, 파라미터 랜덤 액세스 메모리(PRAM), 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 다른 유형의 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 전기적으로 소거가능한 프로그래머블 읽기 전용 메모리(EEPROM), 플래시 메모리 또는 다른 메모리 기술, 컴팩트 디스크 읽기 전용 메모리(CD-ROM), 디지털 다기능 디스크(DVD) 또는 다른 광학 스토리지, 자기 카세트 테이프, 자기 테이프 디스크 스토리지, 다른 자기 스토리지 장치 또는 임의의 다른 비일시적 매체를 포함하고, 이들은 컴퓨팅 장치에 의해 접근 가능한 정보를 저장하기 위해 사용될 수 있다. 본 명세서에서 설명한 것처럼, 컴퓨터 판독가능 매체는 일시적 컴퓨터 판독가능 매체, 예를 들면, 피변조 데이터 신호 및 반송파를 포함하지 않는다.
용어 "포함하는", "내포하는" 및 이들의 다른 변체는 비배타적 내포를 포괄하는 것으로 의도되고, 그래서 일련의 요소를 포함하는 프로세스, 방법, 물품 또는 장치는 이러한 요소들을 포함할 뿐만 아니라 명확하게 리스트되지 않은 다른 요소들을 포함하거나, 또는 그러한 프로세스, 방법, 물품 또는 장치에 고유한 요소들을 또한 포함한다는 점에 주목한다. "포함하는"의 주체는 추가의 구속이 없다면 그 요소를 포함하는 프로세스, 방법, 물품 또는 장치에 추가의 동일한 요소들이 존재하는 것을 배제하지 않는다.
당업자라면 본 발명의 구현예가 방법, 시스템 또는 컴퓨터 프로그램 제품으로서 제공될 수 있다는 것을 이해할 것이다. 그러므로 본 발명은 하드웨어 단독 구현, 소프트웨어 단독 구현, 또는 소프트웨어와 하드웨어의 조합에 의한 구현을 이용할 수 있다. 더욱이, 본 발명은 컴퓨터 사용가능 프로그램 코드를 포함한 하나 이상의 컴퓨터 사용가능 기억 매체(비제한적으로, 자기 디스크 메모리, CD-ROM, 광학 메모리 등을 포함함)에서 구현되는 컴퓨터 프로그램 제품을 이용할 수 있다.
지금까지의 설명은 단지 본 발명의 구현예이고 본 발명을 제한하는 것으로 의도되지 않는다. 당업자라면 본 발명에 대하여 각종 수정 및 변경을 할 수 있을 것이다. 본 발명의 정신 및 원리로부터 벗어나지 않고 이루어지는 임의의 수정, 균등물 치환 또는 개선은 본 발명의 청구 범위에 포함된다.

Claims (22)

  1. 각 사용자의 데이터가 적어도 2개의 서버들에 분리해서 저장되는 서비스 처리 방법에 있어서,
    서비스가 필요로 하는 사용자 식별자 및 데이터의 데이터 식별자를 포함한 서비스 처리 요청을 서버에 의해 수신하는 단계;
    상기 서버에 국부적으로 저장된 상기 사용자 식별자에 대응하는 데이터에 상기 데이터 식별자에 대응하는 데이터가 있는지 여부를 결정하는 단계;
    만일 있으면 상기 데이터 식별자에 대응하는 상기 국부적으로 저장된 데이터를 획득하는 단계, 및 상기 획득된 데이터에 기초하여 서비스를 실행하는 단계; 또는
    만일 없으면 다른 서버로부터 상기 데이터 식별자에 대응하는 데이터를 획득하는 단계, 및 상기 획득된 데이터에 기초하여 서비스를 실행하는 단계
    를 포함한, 서비스 처리 방법.
  2. 제1항에 있어서, 상기 서비스가 필요로 하는 데이터의 데이터 식별자는 상기 서비스가 필요로 하는 데이터의 데이터 볼륨을 포함하고,
    상기 서버에 국부적으로 저장된 상기 사용자 식별자에 대응하는 데이터에 상기 데이터 식별자에 대응하는 데이터가 있는지 여부를 결정하는 단계는,
    상기 서버에 국부적으로 저장된 상기 사용자 식별자에 대응하는 데이터의 데이터 볼륨이 상기 서비스가 필요로 하는 데이터의 데이터 볼륨 이상인지 여부를 결정하는 단계와;
    만일 이상이면, 상기 서버에 상기 데이터 식별자에 대응하는 데이터가 있다고 결정하는 단계; 또는
    만일 미만이면, 상기 서버에 상기 데이터 식별자에 대응하는 데이터가 없다고 결정하는 단계
    를 포함한 것인, 서비스 처리 방법.
  3. 제2항에 있어서, 상기 다른 서버로부터 상기 데이터 식별자에 대응하는 데이터를 획득하는 단계는,
    상기 서비스가 필요로 하는 데이터의 데이터 볼륨과 상기 서버에 국부적으로 저장된 사용자 식별자에 대응하는 데이터의 데이터 볼륨 간의 차이를 결정하는 단계; 및
    상기 사용자 식별자에 대응하면서 상기 차이의 데이터 볼륨을 가진 데이터를 상기 다른 서버로부터 획득하는 단계
    를 포함한 것인, 서비스 처리 방법.
  4. 제3항에 있어서, 상기 사용자 식별자에 대응하면서 상기 차이의 데이터 볼륨을 가진 데이터를 다른 서버로부터 획득하는 단계는,
    획득된 데이터 볼륨이 상기 차이가 될 때까지, 다른 서버에 있는 상기 사용자 식별자에 대응하는 데이터를 상기 데이터의 데이터 볼륨의 내림차순으로 순차적으로 획득하는 단계를 포함한 것인, 서비스 처리 방법.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서, 상기 방법은, 상기 사용자 식별자에 대응하는 데이터의 총 데이터 볼륨, 상기 서버에 국부적으로 저장된 상기 사용자 식별자에 대응하는 데이터의 데이터 볼륨, 및 상기 다른 서버에 저장된 상기 사용자 식별자에 대응하는 데이터의 데이터 볼륨을 상기 서버에 의해 갱신하는 단계를 더 포함한 것인, 서비스 처리 방법.
  6. 각 사용자의 총 잔액이 복수의 부잔액으로 분할되고 상기 복수의 부잔액이 적어도 2개의 서버들에 분리해서 저장되는 서비스 처리 방법에 있어서,
    서비스가 필요로 하는 사용자 식별자 및 금액을 포함한 서비스 처리 요청을 서버에 의해 수신하는 단계;
    상기 서버에 국부적으로 저장된 상기 사용자 식별자에 대응하는 부잔액의 잔액량이 상기 금액 이상인지 여부를 결정하는 단계; 및
    만일 이상이면, 상기 금액을 가진 국부적으로 저장된 부잔액을 획득하는 단계, 및 상기 획득된 부잔액에 기초하여 서비스를 실행하는 단계; 또는
    만일 미만이면, 상기 서버 및 다른 서버로부터의 금액을 합친 부잔액을 획득하는 단계, 및 상기 획득된 부잔액에 기초하여 서비스를 실행하는 단계
    를 포함한, 서비스 처리 방법.
  7. 제6항에 있어서, 상기 서버 및 다른 서버로부터의 금액을 합친 부잔액을 획득하는 단계는,
    상기 금액과 상기 서버에 국부적으로 저장된 상기 사용자 식별자에 대응하는 부잔액의 잔액량 간의 차이를 결정하는 단계; 및
    상기 서버에 국부적으로 저장된 상기 사용자 식별자에 대응하는 전체 부잔액을 획득하는 단계, 및 상기 다른 서버로부터 상기 차이의 잔액량을 가진 부잔액을 획득하는 단계
    를 포함한 것인, 서비스 처리 방법.
  8. 제7항에 있어서, 상기 다른 서버로부터 상기 차이의 잔액량을 가진 부잔액을 획득하는 단계는,
    획득된 잔액량이 상기 차이가 될 때까지, 다른 서버에 있는 상기 사용자 식별자에 대응하는 부잔액을 상기 부잔액의 잔액량의 내림차순으로 순차적으로 획득하는 단계를 포함한 것인, 서비스 처리 방법.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서, 상기 방법은, 상기 사용자 식별자에 대응하는 총 잔액, 상기 서버에 국부적으로 저장된 상기 사용자 식별자에 대응하는 부잔액의 잔액량, 및 상기 다른 서버에 저장된 상기 사용자 식별자에 대응하는 부잔액의 잔액량을 상기 서버에 의해 갱신하는 단계를 더 포함한 것인, 서비스 처리 방법.
  10. 데이터 저장 방법에 있어서,
    각 사용자의 데이터를 획득하는 단계;
    상기 사용자의 데이터를 동일 데이터 볼륨을 가진 복수의 데이터 집합들로 분할하는 단계; 및
    상기 복수의 데이터 집합들을 적어도 2개의 서버들에 분리해서 저장하는 단계, 및 상기 사용자의 사용자 식별자, 상기 사용자의 데이터의 총 데이터 볼륨, 각 서버의 서버 식별자, 및 각 서버에 저장된 데이터 집합의 데이터 볼륨을 각 서버에 저장하는 단계
    를 포함한, 데이터 저장 방법.
  11. 데이터 저장 방법에 있어서,
    각 사용자의 총 잔액을 획득하는 단계;
    상기 사용자의 총 잔액을 복수의 부잔액으로 균등하게 분할하는 단계; 및
    상기 복수의 부잔액을 적어도 2개의 서버들에 분리해서 저장하는 단계, 및 상기 사용자의 사용자 식별자, 상기 사용자의 총 잔액, 각 서버의 서버 식별자, 및 각 서버에 저장된 부잔액의 잔액량을 각 서버에 저장하는 단계
    를 포함한, 데이터 저장 방법.
  12. 각 사용자의 데이터가 적어도 2개의 서버들에 분리해서 저장되는 서비스 처리 장치에 있어서,
    서비스가 필요로 하는 사용자 식별자 및 데이터의 데이터 식별자를 포함한 서비스 처리 요청을 수신하도록 구성된 수신 모듈;
    상기 장치에 국부적으로 저장된 상기 사용자 식별자에 대응하는 데이터에 상기 데이터 식별자에 대응하는 데이터가 있는지 여부를 결정하도록 구성된 결정 모듈; 및
    상기 결정 모듈의 결정 결과가 예(yes)일 때 상기 데이터 식별자에 대응하는 상기 국부적으로 저장된 데이터를 획득하고 상기 획득된 데이터에 기초하여 상기 서비스를 실행하도록; 또는 상기 결정 모듈의 결정 결과가 아니오(no)일 때 다른 서버로부터 상기 데이터 식별자에 대응하는 데이터를 획득하고 상기 획득된 데이터에 기초하여 상기 서비스를 실행하도록 구성된 실행 모듈
    을 포함한, 서비스 처리 장치.
  13. 제12항에 있어서, 상기 서비스가 필요로 하는 데이터의 데이터 식별자는 상기 서비스가 필요로 하는 데이터의 데이터 볼륨을 포함하고;
    상기 결정 모듈은 상기 장치에 국부적으로 저장된 상기 사용자 식별자에 대응하는 데이터의 데이터 볼륨이 상기 서비스가 필요로 하는 데이터의 데이터 볼륨 이상인지 여부를 결정하도록 구성되며;
    상기 실행 모듈은 상기 결정 모듈의 결정 결과가 예(yes)일 때 상기 장치에 상기 데이터 식별자에 대응하는 데이터가 있다고 결정하도록; 또는 상기 결정 모듈의 결정 결과가 아니오(no)일 때 상기 장치에 상기 데이터 식별자에 대응하는 데이터가 없다고 결정하도록 구성된 것인, 서비스 처리 장치.
  14. 제13항에 있어서, 상기 실행 모듈은 상기 서비스가 필요로 하는 데이터의 데이터 볼륨과 상기 장치에 국부적으로 저장된 상기 사용자 식별자에 대응하는 데이터의 데이터 볼륨 간의 차이를 결정하고, 상기 사용자 식별자에 대응하면서 상기 차이의 데이터 볼륨을 가진 데이터를 상기 다른 서버로부터 획득하도록 구성된 것인, 서비스 처리 장치.
  15. 제14항에 있어서, 상기 실행 모듈은, 획득된 데이터 볼륨이 상기 차이가 될 때까지, 다른 서버에 있는 상기 사용자 식별자에 대응하는 데이터를 상기 데이터의 데이터 볼륨의 내림차순으로 순차적으로 획득하도록 구성된 것인, 서비스 처리 장치.
  16. 제13항 내지 제15항 중 어느 한 항에 있어서, 상기 장치는, 상기 사용자 식별자에 대응하는 데이터의 총 데이터 볼륨, 상기 장치에 국부적으로 저장된 상기 사용자 식별자에 대응하는 데이터의 데이터 볼륨, 및 상기 다른 서버에 저장된 상기 사용자 식별자에 대응하는 데이터의 데이터 볼륨을 갱신하도록 구성된 갱신 모듈을 더 포함한 것인, 서비스 처리 장치.
  17. 각 사용자의 총 잔액이 복수의 부잔액들로 분할되고 상기 복수의 부잔액들이 적어도 2개의 서버들에 분리해서 저장되는 서비스 처리 장치에 있어서,
    사용자 식별자 및 서비스가 필요로 하는 금액을 포함한 서비스 처리 요청을 수신하도록 구성된 수신 모듈;
    상기 장치에 국부적으로 저장된 상기 사용자 식별자에 대응하는 부잔액의 잔액량이 상기 금액 이상인지 여부를 결정하도록 구성된 결정 모듈; 및
    상기 결정 모듈의 결정 결과가 예(yes)일 때 상기 금액을 가진 국부적으로 저장된 부잔액을 획득하고 상기 획득된 부잔액에 기초하여 서비스를 실행하도록; 또는 상기 결정 모듈의 결정 결과가 아니오(no)일 때 상기 장치 및 다른 서버로부터의 금액을 합친 부잔액을 획득하고 상기 획득된 부잔액에 기초하여 서비스를 실행하도록 구성된 실행 모듈
    을 포함한, 서비스 처리 장치.
  18. 제17항에 있어서, 상기 실행 모듈은 상기 금액과 상기 장치에 국부적으로 저장된 상기 사용자 식별자에 대응하는 부잔액의 잔액량 간의 차이를 결정하고, 상기 장치에 국부적으로 저장된 상기 사용자 식별자에 대응하는 전체 부잔액을 획득하고, 상기 다른 서버로부터 상기 차이의 잔액량을 가진 부잔액을 획득하도록 구성된 것인, 서비스 처리 장치.
  19. 제18항에 있어서, 상기 실행 모듈은, 획득된 잔액량이 상기 차이가 될 때까지, 다른 서버에 있는 상기 사용자 식별자에 대응하는 부잔액을 상기 부잔액의 잔액량의 내림차순으로 순차적으로 획득하도록 구성된 것인, 서비스 처리 장치.
  20. 제17항 내지 제19항 중 어느 한 항에 있어서, 상기 장치는, 상기 사용자 식별자에 대응하는 총 잔액, 상기 장치에 국부적으로 저장된 상기 사용자 식별자에 대응하는 부잔액의 잔액량, 및 상기 다른 서버에 저장된 상기 사용자 식별자에 대응하는 부잔액의 잔액량을 갱신하도록 구성된 갱신 모듈을 더 포함한 것인, 서비스 처리 장치.
  21. 데이터 저장 장치에 있어서,
    각 사용자의 데이터를 획득하도록 구성된 획득 모듈;
    상기 사용자의 데이터를 동일 데이터 볼륨을 가진 복수의 데이터 집합들로 분할하도록 구성된 분할 모듈; 및
    상기 복수의 데이터 집합들을 적어도 2개의 서버들에 분리해서 저장하고, 상기 사용자의 사용자 식별자, 상기 사용자의 데이터의 총 데이터 볼륨, 각 서버의 서버 식별자, 및 각 서버에 저장된 데이터 집합의 데이터 볼륨을 각 서버에 저장하도록 구성된 저장 모듈
    을 포함한, 데이터 저장 장치.
  22. 데이터 저장 장치에 있어서,
    각 사용자의 총 잔액을 획득하도록 구성된 획득 모듈;
    상기 사용자의 총 잔액을 복수의 부잔액들로 균등하게 분할하도록 구성된 분할 모듈; 및
    상기 복수의 부잔액들을 적어도 2개의 서버들에 분리해서 저장하고, 상기 사용자의 사용자 식별자, 상기 사용자의 총 잔액, 각 서버의 서버 식별자, 및 각 서버에 저장된 부잔액의 잔액량을 각 서버에 저장하도록 구성된 저장 모듈
    을 포함한, 데이터 저장 장치.
KR1020187022648A 2016-01-06 2016-12-27 데이터 저장과 서비스 처리 방법 및 장치 KR102327572B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610007367.5A CN106952085B (zh) 2016-01-06 2016-01-06 一种数据存储与业务处理的方法及装置
CN201610007367.5 2016-01-06
PCT/CN2016/112297 WO2017118318A1 (zh) 2016-01-06 2016-12-27 一种数据存储与业务处理的方法及装置

Publications (2)

Publication Number Publication Date
KR20180109921A true KR20180109921A (ko) 2018-10-08
KR102327572B1 KR102327572B1 (ko) 2021-11-17

Family

ID=59273290

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187022648A KR102327572B1 (ko) 2016-01-06 2016-12-27 데이터 저장과 서비스 처리 방법 및 장치

Country Status (9)

Country Link
US (1) US20180315030A1 (ko)
EP (1) EP3401862A4 (ko)
JP (1) JP6975153B2 (ko)
KR (1) KR102327572B1 (ko)
CN (1) CN106952085B (ko)
PH (1) PH12018501449A1 (ko)
SG (1) SG11201805826VA (ko)
TW (1) TWI686703B (ko)
WO (1) WO2017118318A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109727010A (zh) * 2018-05-14 2019-05-07 网联清算有限公司 业务查询方法、装置、计算机设备和存储介质
CN110728799A (zh) * 2019-10-15 2020-01-24 恩亿科(北京)数据科技有限公司 一种余量更新方法及装置
CN112001801A (zh) * 2020-10-28 2020-11-27 支付宝(杭州)信息技术有限公司 在区块链系统中进行资源转移的方法和装置
CN112669160B (zh) * 2021-03-18 2021-06-29 恒生电子股份有限公司 数据处理方法、装置、电子设备及存储介质
CN113645304B (zh) * 2021-08-13 2023-06-16 恒生电子股份有限公司 数据服务处理方法及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120290536A1 (en) * 2009-11-25 2012-11-15 Geniedb Inc. System for improved record consistency and availability
CN104424316A (zh) * 2013-09-06 2015-03-18 华为技术有限公司 一种数据存储方法、数据查询方法、相关装置和系统
JP2015219888A (ja) * 2014-05-21 2015-12-07 ソフトバンク株式会社 電子バリュー管理システム及びプログラム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US20010044786A1 (en) * 2000-03-14 2001-11-22 Yoshihito Ishibashi Content usage management system and method, and program providing medium therefor
US7280971B1 (en) * 2000-06-09 2007-10-09 At&T Bls Intellectual Property, Inc. Method and system for server-based error processing in support of legacy-based usage and billing systems
JP4445686B2 (ja) * 2001-08-21 2010-04-07 日立ソフトウエアエンジニアリング株式会社 分散課金処理システムでの残金管理方法、残金管理プログラム及び分散課金処理システム
KR101123330B1 (ko) * 2002-02-14 2012-03-23 자차리 페신 분산형 자본 시스템의 장치 및 방법
US20050182720A1 (en) * 2003-02-24 2005-08-18 Wow! Technologies, Inc. Online payment system and method
US20060041505A1 (en) * 2002-10-11 2006-02-23 900Email Inc. Fee-based message delivery system
JP4394406B2 (ja) * 2003-09-19 2010-01-06 株式会社リコー 情報処理装置、分散ストレージシステム、文書処理方法、文書処理プログラム及び記録媒体
CN101784028B (zh) * 2009-01-16 2014-07-23 北京金山软件有限公司 一种移动终端软件业务订购的方法及系统
JP5662048B2 (ja) * 2010-04-08 2015-01-28 株式会社ユニバーサルエンターテインメント 決済システム
JP2012118709A (ja) * 2010-11-30 2012-06-21 Brother Ind Ltd 配信システム、ストレージ容量決定プログラム、及びストレージ容量決定方法
CN102088491B (zh) * 2011-02-01 2013-06-26 西安建筑科技大学 一种面向分散式的云存储安全架构及其数据存取方法
US20120239560A1 (en) * 2011-03-04 2012-09-20 Pourfallah Stacy S Healthcare payment collection portal apparatuses, methods and systems
JP2013152664A (ja) * 2012-01-26 2013-08-08 Hitachi Omron Terminal Solutions Corp 自動取引装置
US20130282542A1 (en) * 2012-04-18 2013-10-24 The Royal Bank Of Scotland Plc Method, apparatus and system for retrieving financial data
US20130346302A1 (en) * 2012-06-20 2013-12-26 Visa International Service Association Remote Portal Bill Payment Platform Apparatuses, Methods and Systems
CN103152423A (zh) * 2013-03-15 2013-06-12 安科智慧城市技术(中国)有限公司 一种云存储系统及其数据存取方法
CN104252457B (zh) * 2013-06-25 2018-11-23 北京百度网讯科技有限公司 一种用于对数据集合进行管理的方法与设备
CN104794114B (zh) * 2014-01-16 2018-04-03 阿里巴巴集团控股有限公司 一种数据处理方法及装置
US20180082370A1 (en) * 2016-09-21 2018-03-22 Mastercard International Incorporated Credit card product with dynamic interest rate based on balance/spending in merchant categories

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120290536A1 (en) * 2009-11-25 2012-11-15 Geniedb Inc. System for improved record consistency and availability
CN104424316A (zh) * 2013-09-06 2015-03-18 华为技术有限公司 一种数据存储方法、数据查询方法、相关装置和系统
JP2015219888A (ja) * 2014-05-21 2015-12-07 ソフトバンク株式会社 電子バリュー管理システム及びプログラム

Also Published As

Publication number Publication date
KR102327572B1 (ko) 2021-11-17
SG11201805826VA (en) 2018-08-30
WO2017118318A1 (zh) 2017-07-13
US20180315030A1 (en) 2018-11-01
EP3401862A4 (en) 2019-02-27
JP6975153B2 (ja) 2021-12-01
CN106952085A (zh) 2017-07-14
JP2019504415A (ja) 2019-02-14
EP3401862A1 (en) 2018-11-14
PH12018501449A1 (en) 2019-03-18
TWI686703B (zh) 2020-03-01
TW201727517A (zh) 2017-08-01
CN106952085B (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
KR20180109921A (ko) 데이터 저장과 서비스 처리 방법 및 장치
CN106899648B (zh) 一种数据处理方法和设备
US10949118B2 (en) Data storage method, apparatus, and device for multi-layer blockchain-type ledger
JP6498767B2 (ja) データベースの口座に関連する取引要求の効率的な処理のためのシステム
CN108846749B (zh) 一种基于区块链技术的分片化的交易执行系统及方法
US20180004777A1 (en) Data distribution across nodes of a distributed database base system
US10803041B2 (en) Collision detection using state management of configuration items
CN110784498B (zh) 一种个性化数据容灾方法及装置
US11720593B2 (en) Managing identifiers for multinodal master systems of unknown or changing size
CN107391033B (zh) 数据迁移方法及装置、计算设备、计算机存储介质
CN107612950A (zh) 一种提供服务的方法、装置、系统、电子设备
CN107832446B (zh) 一种配置项信息的搜索方法及计算设备
CN104111957A (zh) 一种分布式事务同步的方法及系统
US11386153B1 (en) Flexible tagging and searching system
CN111488247A (zh) 一种管控节点多次容错的高可用方法及设备
CN113869989B (zh) 一种信息处理方法及装置
US11567841B1 (en) Database system
CN110955460A (zh) 一种服务进程启动方法、装置、电子设备和存储介质
CN114285903B (zh) 请求处理方法、装置、系统及电子设备
CN111258873B (zh) 测试方法及装置
CN111221847B (zh) 监控数据存储方法、装置及计算机可读存储介质
US10885014B2 (en) Assigning monitoring responsibilities in distributed systems using optimistic concurrency
US20230188596A1 (en) Balancing data partitions among dynamic services in a cloud environment
US20140365661A1 (en) Master election among resource managers
CN116248499A (zh) 服务的初始化方法、服务的初始化装置和电子设备

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X601 Decision of rejection after re-examination
J201 Request for trial against refusal decision
N231 Notification of change of applicant
J301 Trial decision

Free format text: TRIAL NUMBER: 2020101001951; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20200803

Effective date: 20210831

GRNO Decision to grant (after opposition)
GRNT Written decision to grant