KR102031589B1 - 관계 체인 처리 방법 및 시스템, 그리고 저장 매체 - Google Patents

관계 체인 처리 방법 및 시스템, 그리고 저장 매체

Info

Publication number
KR102031589B1
KR102031589B1 KR1020177035497A KR20177035497A KR102031589B1 KR 102031589 B1 KR102031589 B1 KR 102031589B1 KR 1020177035497 A KR1020177035497 A KR 1020177035497A KR 20177035497 A KR20177035497 A KR 20177035497A KR 102031589 B1 KR102031589 B1 KR 102031589B1
Authority
KR
South Korea
Prior art keywords
relationship
relationship set
internet data
data center
user identifier
Prior art date
Application number
KR1020177035497A
Other languages
English (en)
Other versions
KR20180004794A (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 KR20180004794A publication Critical patent/KR20180004794A/ko
Application granted granted Critical
Publication of KR102031589B1 publication Critical patent/KR102031589B1/ko

Links

Classifications

    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • 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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • H04L67/28
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • General Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

관계 체인 처리 방법이 제공되며, 이 방법은, 현재 검출된 사용자 식별자에 대응하고 각 인터넷 데이터 센터에 저장된 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치하는지를 검출하는 단계 ― 상기 순방향 관계 집합은 상기 대응하는 현재 검출된 사용자 식별자에 의해 추가된 소셜 친구들의 사용자 식별자를 포함하고, 상기 역방향 관계 집합은 상기 현재 검출된 사용자 식별자를 소셜 친구로 추가하는 사용자 식별자를 포함하며, 상기 반전된 역방향 관계 집합은 상기 현재 검출된 사용자 식별자를 포함하는 상기 역방향 관계 집합에 대응하는 상기 사용자 식별자를 포함함 ―; 및 상기 현재 검출된 사용자 식별자에 대응하는 상기 순방향 관계 집합이 상기 대응하는 역방향 관계 집합과 일치하지 않는 경우, 상기 불일치하는 순방향 관계 집합 및/또는 상기 대응하는 역방향 관계 집합에 대해 일관성 복구를 수행하는 단계를 포함한다.

Description

관계 체인 처리 방법 및 시스템, 그리고 저장 매체
본 출원은 2015년 9월 9일에 출원된 중국 특허 출원 제201510572404.2호 ('관계 체인 처리 시스템, 방법, 및 장치')의 우선권을 주장하며 이것은 그 전체가 참조로서 본 명세서 포함된다.
본 발명은 소셜 네트워킹(social networking) 기술 분야에 관한 것으로, 구체적으로는 관계 체인(relation chain) 처리 방법 및 시스템, 그리고 저장 매체에 관한 것이다.
단말 하드웨어 기술의 발전과 네트워크의 보급으로, 사용자는 개인용 컴퓨터 또는 이동 전화기와 같은 단말을 사용하여 소셜 애플리케이션 클라이언트에 로그인하고, 소셜 애플리케이션 클라이언트에 로그인하는 다른 사용자와 소셜 상호작용을 수행할 수 있다. 소셜 상호 작용은 인스턴트 메신저, 콘텐츠 공유 등을 포함한다.
관계 체인(relation chain)은 사용자가 소셜 네트워킹을 수행하는 데 있어 기본이며, 일반적으로 사용자 식별자(user identifier)간 매핑 관계에 의해 표현될 수 있다. 예를 들어, 사용자 A와 사용자 B 사이의 매핑 관계가 저장될 수 있고, 사용자 A와 사용자 B는 서로의 정보를 획득하기 위해 매핑 관계를 풀링할 수 있으며, 서로 소셜 상호작용을 수행할 수 있다.
현재, 관계 체인의 오류에 기인하는 관계 체인 기반 소셜 상호작용의 실패를 피하기 위해, 관계 체인은, 예를 들어 인터넷 데이터 센터(Internet Data Center, IDC)에 중앙집중 방식으로 저장될 필요가 있다. 그러나, 중앙집중 방식으로 관계 체인을 저장하는 데는 큰 충돌 위험이 존재하며; 사용자가 근처에서 액세스할 수 없어서, 단말 액세스 성능이 보장될 수 없다.
본 발명의 다양한 실시예에 따라, 관계 체인 처리 방법 및 시스템, 그리고 저장 매체가 제공된다.
관계 체인 처리 방법은,
현재 검출된 사용자 식별자에 대응하고 각 인터넷 데이터 센터에 저장된 순방향 관계 집합(forward-relationships set)이 대응하는 반전된 역방향 관계 집합(inverted-reverse-relationships set)과 일치하는지를 검출하는 단계 ― 상기 순방향 관계 집합은 상기 대응하는 현재 검출된 사용자 식별자에 의해 추가된 소셜 친구들(social friends)의 사용자 식별자를 포함하고, 상기 역방향 관계 집합은 상기 현재 검출된 사용자 식별자를 소셜 친구로 추가하는 사용자 식별자를 포함하며, 상기 반전된 역방향 관계 집합은 상기 현재 검출된 사용자 식별자를 포함하는 상기 역방향 관계 집합에 대응하는 상기 사용자 식별자를 포함함 ―; 및
상기 현재 검출된 사용자 식별자에 대응하는 상기 순방향 관계 집합이 상기 대응하는 역방향 관계 집합과 일치하지 않는 경우, 상기 불일치하는 순방향 관계 집합 및/또는 상기 대응하는 역방향 관계 집합에 대해 일관성 복구(consistency repair)를 수행하는 단계를 포함한다.
관계 체인 처리 시스템은,
사용자 식별자에 대응하는 순방향 관계 집합 및 역방향 관계 집합을 저장하도록 개별적으로 구성된 복수의 인터넷 데이터 센터 ― 상기 순방향 관계 집합은 상기 대응하는 사용자 식별자에 의해 추가된 소셜 친구들의 사용자 식별자를 포함하고, 상기 역방향 관계 집합은 상기 역방향 관계 집합에 대응하는 상기 사용자 식별자를 소셜 친구로 추가하는 사용자 식별자를 포함함 ―; 및
현재 검출된 사용자 식별자에 대응하고 각 인터넷 데이터 센터에 저장된 순방향 관계 집합이 상기 대응하는 반전된 역방향 관계 집합과 일치하는지를 검출하고, 상기 현재 검출된 사용자 식별자에 대응하는 상기 순방향 관계 집합이 상기 대응하는 반전된 역방향 관계 집합과 일치하지 않는 경우 상기 불일치하는 순방향 관계 집합 및/또는 상기 대응하는 역방향 관계 집합에 대해 일관성 복구를 수행하도록 구성된 관계 체인 복구 서버
를 포함하고,
상기 반전된 역방향 관계 집합은 상기 현재 검출된 사용자 식별자를 포함하는 상기 역방향 관계 집합에 대응하는 상기 사용자 식별자를 포함한다.
컴퓨터 판독 가능 명령들을 저장하는 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체가 제공되며, 상기 컴퓨터 판독가능 명령들은, 하나 이상의 프로세서들에 의해 실행되는 경우, 상기 하나 이상의 프로세서들이,
현재 검출된 사용자 식별자에 대응하고 각 인터넷 데이터 센터에 저장된 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치하는지를 검출하는 단계 ― 상기 순방향 관계 집합은 상기 대응하는 현재 검출된 사용자 식별자에 의해 추가된 소셜 친구들의 사용자 식별자를 포함하고, 상기 역방향 관계 집합은 상기 현재 검출된 사용자 식별자를 소셜 친구로 추가하는 사용자 식별자를 포함하며, 상기 반전된 역방향 관계 집합은 상기 현재 검출된 사용자 식별자를 포함하는 상기 역방향 관계 집합에 대응하는 상기 사용자 식별자를 포함함 ―; 및
상기 현재 검출된 사용자 식별자에 대응하는 상기 순방향 관계 집합이 상기 대응하는 역방향 관계 집합과 일치하지 않는 경우, 상기 불일치하는 순방향 관계 집합 및/또는 상기 대응하는 역방향 관계 집합에 대해 일관성 복구를 수행하는 단계
를 수행하도록 한다.
본 발명의 하나 이상의 실시예의 세부 사항은 다음의 첨부 도면 및 설명에서 제공된다. 본 개시의 다른 특징, 목적 및 이점은 명세서, 첨부 도면 및 청구범위로부터 더욱 명백해진다.
본 발명의 실시예 또는 종래 기술의 기술적 해결수단을 더욱 명확히 기술하기 위해, 이하에서 본 발명의 실시예 또는 종래 기술을 설명할 때 필요한 첨부 도면을 간략하게 소개한다. 분명한 것은, 이어질 설명에서 첨부된 도면은 단지 본 발명의 몇 가지 실시예를 나타내며, 통상의 기술자라면 첨부된 도면으로부터 창작 능력 없이도 다른 도면을 도출해 낼 수 있다는 것이다.
도 1은 실시예에서 관계 체인 처리 시스템의 애플리케이션 환경의 구성도이다.
도 2는 다른 실시예에서 관계 체인 처리 시스템의 애플리케이션 환경의 구성도이다.
도 3은 또 다른 실시예에서 관계 체인 처리 시스템의 애플리케이션 환경의 구성도이다.
도 4는 실시예에서 인터넷 데이터 센터의 애플리케이션 환경의 구성도이다.
도 5는 다른 실시예에서 관계 체인 처리 시스템의 애플리케이션 환경의 구성도이다.
도 6은 실시예에서 관계 체인 처리 방법의 개략적인 흐름도이다.
도 7은 실시예에서 현재 검출된 사용자 식별자에 대응하며 각 인터넷 데이터 센터에 저장된 순방향 관계 집합이 대응하는 역방향 관계 집합과 일치하는지를 검출하는 단계의 개략적인 흐름도이다.
도 8은 실시예에서 각 인터넷 데이터 센터로부터, 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합 내의 사용자 식별자들 사이의 제1 XOR 값 및 대응하는 역방향 관계 집합 내의 사용자 식별자들 사이의 제2 XOR 값을 획득하는 단계의 개략적인 흐름도이다.
도 9는 실시예에서 일치하지 않는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대한 일관성 복구를 수행하는 단계의 개략적인 흐름도이다.
도 10은 실시예에서 인터넷 데이터 센터의 내부 동작 단계의 개략적인 흐름도이다.
도 11은 실시예에서 인터넷 데이터 센터 내의 서버의 개략적인 구성도이다.
도 12는 실시예에서 서버의 구조 블록 구성도이다.
도 13은 다른 실시예에서 서버의 구조 블록 구성도이다.
본 개시의 목적, 기술적 해결수단, 및 이점을 보다 명확히 하기 위해, 이하 첨부 도면 및 실시예를 참조하여 본 개시를 보다 상세하게 기술한다. 여기에서 설명되는 특정 실시예는 본 개시를 설명하기 위해 사용될 뿐이지, 본 개시를 제한하기 위해 사용되지 않는다는 것을 이해해야 한다.
도 1에 도시된 바와 같이, 실시예에서, 관계 체인 처리 시스템이 제공되며 (도 1에서 102(1) 및 102(2)를 포함하는) 복수의 인터넷 데이터 센터(102) 및 관계 체인 복구 서버(104)를 한다. 관계 체인 복구 서버(104)는 각각의 인터넷 데이터 센터(102)에 연결되고, 인터넷 데이터 센터(102)는 사용자 단말(200)을 위한 액세스 인터페이스를 제공한다. 사용자 단말(200)은 액세스를 위해 임의의 인터넷 데이터 센터(102)를 선택할 수 있고, 일반적으로 네트워크 구조에 따라 인터넷 데이터 센터(102)에 근접 액세스를 수행할 수 있다. 사용자 단말(200)은 데스크탑 컴퓨터 또는 이동 단말일 수 있고, 이동 단말은 이동 전화기, 태블릿 컴퓨터, 스마트 시계, 및 PDA(Personal Digital Assistant) 중 적어도 하나를 포함한다.
복수의 인터넷 데이터 센터(102)는 사용자 식별자에 대응하는 순방향 관계 집합(forward-relationships set)과 역방향 관계 집합(reverse-relationships set)을 저장하도록 별개로 구성되며, 여기서 순방향 관계 집합은 대응하는 사용자 식별자에 의해 추가된 소셜 친구(social friend)의 사용자 식별자를 포함하고, 역방향 관계 집합은 소셜 친구로서 역방향 관계 집합에 대응하는 사용자 식별자를 추가하는 사용자 식별자를 포함한다.
구체적으로, 인터넷 데이터 센터(102)는 서버 클러스터이고, 인터넷에 기초하며 중앙집중 방식으로 데이터를 수집하고, 저장하며, 처리하고, 그리고 전송하는 장치에 대한 운영 유지보수를 제공하는 시설이다. 복수의 인터넷 데이터 센터(102)의 수는 알려져 있다. 하나의 인터넷 데이터 센터(102) 내의 서버 클러스터는 지리적으로 중앙집중되어 있다. 소셜 친구는 소셜 네트워크에 기초하는 친구이며, 오프라인 친구로만 한정되는 것은 아니고, 또한 동료, 친척, 또는 연인과 같은 다양한 지인 관계 내의 사용자들일 수 있다. 관계 체인은 소셜 네트워크의 소셜 친구들 간의 매핑 관계이다.
긍정적인 관계 체인은 사용자가 적극적으로 다른 사용자를 친구로 추가하는 관계 체인이고, 순방향 관계 집합은 사용자에 의해 추가된 친구들의 집합이며, 순방향 관계 집합에 고유하게 대응하는 사용자 식별자는 적극적으로 친구를 추가하는 사용자의 고유 식별자이고, 순방향 관계 집합 내에 포함된 사용자 식별자는 사용자에 의해 적극적으로 추가된 친구들의 고유 식별자이다. 순방향 관계 집합은 데이터베이스 테이블 내에 저장될 수 있으며, 긍정적인 방향 테이블로 불릴 수 있다.
역방향 관계 체인은 사용자가 다른 사용자에 의해 수동적으로 친구로 추가되는 관계 체인이며, 역방향 관계 집합에 고유하게 대응하는 사용자 식별자는 다른 사용자에 의해 수동적으로 친구로 추가된 사용자의 고유 식별자이고, 역방향 관계 집합에 포함된 사용자 식별자는 역방향 관계 집합에 대응하는 사용자 식별자를 친구로 추가하는 사용자의 고유 식별자이다. 역방향 관계 집합은 데이터베이스 테이블 내에 저장될 수 있으며, 역방향 테이블로 불릴 수 있다. 순방향 관계 집합, 역방향 관계 집합과, 순방향 관계 집합과 역방향 관계 집합에 대응하는 사용자 식별자들 사이의 대응관계는 집합적으로 관계 체인 데이터로서 불릴 수 있다.
사용자 식별자에 대응하는 순방향 관계 집합과 역방향 관계 집합은 인터넷 데이터 센터(102)에 저장되고, 복수의 인터넷 데이터 센터(102)의 다른 인터넷 데이터 센터(102)는 순방향 관계 집합과 역방향 관계 집합의 복사본을 저장한다.
예를 들어, 사용자 UserA와 사용자 UserB는 서로 친구이고, 다른 친구가 없다고 가정하는 경우, UserA에 대응하는 순방향 관계 집합은 {UserB}이고, UserA에 대응하는 역방향 관계 집합은 {UserB}이며, UserA에 응하는 순방향 관계 집합과 역방향 관계 집합은 UserA가 속하는 인터넷 데이터 센터에 저장된다. UserB에 대응하는 순방향 관계 집합은 {UserA}이고, UserB에 대응하는 역방향 관계 집합은 {UserA}이며, UserB에 대응하는 순방향 관계 집합과 역방향 관계 집합은 UserB가 속하는 인터넷 데이터 센터 내에 저장된다.
시간이 지남에 따라, UserA와 UserB 사이의 관계 체인은 변경될 수 있다. 예를 들어, UserB가 먼저 친구 UserA를 삭제하면 UserA에 대응하는 순방향 관계 집합은 여전히 {UserB}이고, UserA에 대응하는 역방향 관계 집합은 {}로 변경되지만; 반면에 UserB에 대응하는 순방향 관계 집합은 {}로 변경되고, UserB에 대응하는 역방향 관계 집합은 여전히 {UserA}이다.
또한, 사용자 UserB가 UserA를 삭제하는 경우, 두 사용자들의 사용자 집합의 데이터가 조작될 필요가 있다. 즉, UserB에 대응하는 순방향 관계 집합에서 UserA를 삭제하고 UserA에 대응하는 역방향 관계 집합에서 UserB를 삭제하기 위해. 따라서, 이들 두 사용자 집합을 동시에 조작하기 위해 인터넷 데이터 센터를 통해 수정이 수행될 필요가 있다. 이 경우에, 하나의 수정 중에, 한 사용자 집합 성공적으로 수정되고, 다른 사용자 집합이 수정에 실패하는 경우, 관계 체인 복구 서버(104)가 복수의 인터넷 데이터 센터(102) 사이의 관계 체인의 일관성을 유지할 것을 요구받을 수 있도록, 인터넷 데이터 센터(102) 사이의 관계 체인이 불일치된다.
관계 체인 복구 서버(104)는 현재 검출된 사용자 식별자에 대응하고 각 인터넷 데이터 센터(102)에 저장된 순방향 관계 집합이 반전된(inverted) 역방향 관계 집합과 일치하는지 여부를 검출하도록 구성된다. 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치하지 않는 경우, 관계 체인 복구 서버(104)는 불일치하는 순방향 관계 집합 및/또는 대응하는 반전된 역방향 관계 집합에 대한 일관성 복구를 수행한다. 반전된 역방향 관계 집합은 현재 검출된 사용자 식별자를 포함하는 모든 역방향 관계 집합에 대응하는 사용자 식별자에 의해 형성된다.
구체적으로, 관계 체인 복구 서버(104)는 각 인터넷 데이터 센터(102)에 저장된 사용자 관계 체인이 어떠한 불일치를 갖고 있는지를 검출하고, 관계 체인 불일치가 존재하는 경우 대응하는 순방향 관계 집합 및/또는 역방향 관계 집합에 대한 일관성 복구를 수행하도록 구성된다. 여기서 일관성 복구는 불일치하는 순방향 관계 집합과 대응하는 역방향 관계 집합이 일치하도록 복구하고, 복수의 인터넷 데이터 센터(102)를 통해 일관성을 유지하는 것이다. 현재 검출된 사용자 식별자는 사용자의 관계 체인 불일치의 여부에 대해서는 현재 불일치 검출 하에 있는 사용자의 사용자 식별자이다.
반전된 역방향 관계 집합은 현재 검출된 사용자 식별자를 포함하는 역방향 관계 집합에 대응하는 모든 사용자 식별자에 의해 형성된다. 이러한 방식으로, 정상적인 상황에서, 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합은 대응하는 역방향 관계 집합과 일치한다. 순방향 관계 집합이 대응하는 역방향 관계 집합과 일치하는 경우, 복구가 수행되지 않는다. 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치하지 않는 경우, 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합과 역방향 관계 집합 중 적어도 하나에 문제가 있음을 나타내며, 일관성 복구가 수행되어야 한다.
예를 들어, 인터넷 데이터 센터에서 현재 검출된 사용자 식별자 U에 대응하는 순방향 관계 집합은 f(U):{A, B, C}로 표시된다. 동일한 인터넷 데이터 센터에서, 다른 사용자 식별자에 대응하며 현재 검출된 사용자 식별자 U를 포함하는 다른 역방향 관계 집합은 r(A):{..., U, ...}, r(B):{..., U, ...}, 및 r(C):{..., U, ...}, 즉, 사용자 식별자 A, B 및 C에 각각 대응하는 역방향 관계 집합이다. 따라서, 사용자 식별자 A, B 및 C를 포함하는 현재 검출된 사용자 식별자 U를 포함하는 다른 역방향 관계 집합에 대응하는 사용자 식별자 A, B 및 C를 포함하며, rr(U):{A, B, C}, 또는 현재 검출된 사용자 식별자에 대응하는 반전된 역방향 관계 집합으로 표현된다. 따라서, 정상적인 상황에서, f(U)=rr(U)이다. 현재 검출된 사용자 식별자 중 임의의 관계 체인이 불일치하면, 그 때 f(U)≠rr(U)가 존재한다.
또한, 관계 체인 복구 서버(104)는, 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치하는지를 추가로 결정하기 위해, 각 인터넷 데이터 센터(102)에서 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합과 대응하는 반전된 역방향 관계 집합을 관계 체인 복구 서버(104)로 끌어온다(pull).
일관성 복구가 불일치하는 순방향 관계 집합 및/또는 임의의 대응하는 역방향 관계 집합에 대해 수행되는 경우, 불일치하는 순방향 관계 집합은 대응하는 역방향 관계 집합과 일치하도록 복구될 수 있거나; 또는 대응하는 역방향 관계 집합이 순방향 관계 집합과 일치할 수 있도록 역방향 관계 집합이 복구될 수 있거나; 또는 대응하는 순방향 관계 집합과 역방향 관계 집합이 동시에 수정되어 수정된 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치할 수 있도록 한다.
실시예에서, 관계 체인 복구 서버(104)가 불일치하는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대한 일관성 복구를 수행하는 때에, 불일치가 사용자 식별자를 누락(missing)한 것에 기인한 경우, 누락된 사용자 식별자가 순방향 관계 집합 또는 대응하는 역방향 관계 집합 내에 구체적으로 추가될 수 있다. 이와 같이, 일관성 복구가 수행되는 경우, 관계 체인은 시스템 위험으로 인한 사용자 관계 체인의 누락을 방지하기 위해 가능한 한 많이 유지될 수 있다.
예를 들어, f(U):{A, B, C}, rr(U):{A, B}를 가정하면, 이 경우, f(U)≠rr(U)이고, 사용자 식별자 U와 사용자 식별자 C 사이의 관계 체인이 유지될 수있도록, 바람직하게는 사용자 식별자 U가 사용자 식별자 C에 대응하는 역방향 관계 집합 내에 추가될 수 있다. 물론, 순방향 관계 집합과 대응하는 역방향 관계 집합이 일치될 수 있도록, 사용자 식별자 C는 사용자 식별자 U에 대응하는 순방향 관계 집합에서 삭제될 수도 있지만, 그러나, 이것은 사용자 식별자 U와 사용자 식별자 C 사이의 관계 체인의 누락을 유발할 수 있다.
실시예에서, 불일치하는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대한 일관성 복구를 수행하기 전에, 관계 체인 복구 서버(104)는 일관성 문제를 갖고 있는 적어도 하나의 관계 체인 쌍(pair)에게 일관성 복구 포맷 선택 요청(consistency-pair-format selection request)을 전송할 수 있고; 일관성 복구 포맷 선택 요청에 응답하여 피드백되는 일관성 복구 포맷 확인 명령(consistency-pair-format confirmation instruction)을 수신한 후, 일관성 복구 포맷 확인 명령에 따라서 불일치하는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대한 일관성 복구를 수행한다.
예를 들어, f(U):{A, B, C}, rr(U):{A, B}를 가정하면, 이 경우, f(U)≠rr(U)이고, 관계 체인 복구 서버(104)는 사용자 식별자 U 및/또는 C에 대응하는 단말에게 일관성 복구 포맷 선택 요청을 전송하여, 대응하는 단말이 일치 복구 포맷을 결정하여 관계 체인 복구 서버(104)에게 일관성 복구 포맷이 사용되는 것을 나타내는 일관성 복구 포맷 확인 명령을 추가로 리턴하기 위해 사용자 입력을 수신하기 위한 인터페이스를 제공할 수 있다. 여기서 복구 포맷은 불일치하는 관계 체인을 삭제하여 불일치하는 관계 체인을 개량하는 것을 포함한다. 이와 같이, 관계 체인 복구 서버(104)는, 일관성 복구 포맷 확인 명령에 따라서, 사용자 식별자 C에 대응하는 역방향 관계 집합 내에 사용자 식별자 U를 추가하거나, 또는 사용자 식별 U에 대응하는 순방향 관계 집합에서 사용자 식별자 C를 삭제할 수 있다.
관계 체인 처리 시스템에서, 하나의 인터넷 데이터 센터가 고장나더라도 관계 체인의 가용성이 여전히 보증될 수 있도록, 관계 체인이 복수의 인터넷 데이터 센터에 저장된다. 관계 체인은 순방향 관계 집합 및 역방향 관계 집합의 형태로 각 인터넷 데이터 센터에 저장되며, 사용자가 추가하는 친구와 다른 사용자가 사용자를 친구로 추가하는 것을 결정할 수 있으므로 관계 체인에 따라 보다 정확한 소셜 상호작용을 수행하기 위해 사용자들 사이의 양방향 관계 체인이 결정될 수 있다. 사용자의 순방향 관계 집합이 반전된 역방향 관계 집합과 일치하는지 여부를 검출함으로써, 각 인터넷 데이터 센터에 저장된 관계 체인이 불일치하는지 여부가 검출될 수 있으므로, 순방향 관계 집합 및/또는 역방향 관계 집합을 복구하여 관계 체인의 일관성 및 가용성을 보장할 수 있다.
도 2에 도시된 바와 같이, 실시예에서, 관계 체인 처리 시스템은 동기화 프록시 서버(106)를 더 포함한다. 동기화 프록시 서버(106)는 각 인터넷 데이터 센터(102)에 연결되고, 관계 체인 복구 서버(104)에 추가로 연결될 수 있다.
실시예에서, 동기화 프록시 서버(106)는, 임의의 인터넷 데이터 센터(102)의 순방향 관계 집합 및/또는 역방향 관계 집합이 변경되는 경우, 복수의 인터넷 데이터 센터(102) 사이에 변경된 관계 체인 데이터를 동기화하도록 구성된다.
구체적으로, 여기에서 동기화 프록시 서버(106)는 프록시 서버이고, 프록시 방식으로 복수의 인터넷 데이터 센터(102) 사이의 관계 체인 데이터를 동기화하도록 구성된다. 임의의 인터넷 데이터 센터(102)의 순방향 관계 집합 및/또는 역방향 관계 집합이 변경되는 경우, 변경된 인터넷 데이터 센터(102)는 변경된 관계 체인 데이터를 동기화 프록시 서버(106)에게 전송한다. 동기화 프록시 서버(106)는 변경된 관계 체인 데이터를 다른 인터넷 데이터 센터(102)에 동기화하도록 구성된다. 복수의 인터넷 데이터 센터(102) 사이의 코어 데이터는 동기화 프록시 서버(106)를 사용하여 또한 교환될 수 있다.
실시예에서, 동기화 프록시 서버(106)는 복수의 인터넷 데이터 센터(102) 사이에 복구된 순방향 관계 집합 및/또는 역방향 관계 집합을 동기화하도록 구성된다.
구체적으로, 동기화 프록시 서버(106)는 관계 체인 복구 서버(104)와 통신 연결되어 있고, 관계 체인 복구 서버(104)가 관계 체인을 복구할 때 변경된 데이터를 획득하여 변경된 데이터를 각 인터넷 데이터 센터(102)에 동기화시킬 수 있다.
본 실시예에서, 관계 체인 처리 시스템은 동기화 프록시 서버(106)를 포함한다. 동기화 프록시 서버(106)는 각 인터넷 데이터 센터(102)에 저장된 순방향 관계 집합 및/또는 역방향 관계 집합이, 순방향 관계 집합 및/또는 역방향 관계 집합이 변경되는 경우, 다른 인터넷 데이터 센터(102)에 동기화될 수 있고, 관계 체인의 동적 일관성을 보장할 수 있다.
실시예에서, 각 인터넷 데이터 센터(102)는 제1 XOR 값을 획득하기 위해 현재 검출된 사용자 식별자에 대응하는 로컬(local)에서 저장된 순방향 관계 집합 내의 사용자 식별자에 대한 XOR 연산을 수행하고; 제2 XOR 값을 획득하기 위해 현재 검출된 사용자 식별자에 대응하는 반전된 역방향 관계 집합 내의 사용자 식별자에 대한 XOR 연산을 수행하도록 추가로 구성된다.
구체적으로, 관계 체인 복구 서버(104)는 하나의 인터넷 데이터 센터(102)에 각 인터넷 데이터 센터(102)의 관계 체인 데이터를 수집할 수 있지만, 인터넷 데이터 센터를 통한 데이터 전송은 대량의 네트워크 대역폭을 차지하며, 네트워크 대역폭 자원에 대한 매우 높은 소모와 높은 비용을 갖는다.
네트워크 대역폭에 대한 점유를 감소시키기 위해, 여기에서 각 인터넷 데이터 센터(102)는 제1 XOR 값을 획득하기 위해 먼저 현재 검출된 사용자 식별자에 대응하는 로컬에서 저장된 순방향 관계 집합에 대해 XOR 연산을 개별적으로 로컬에서 수행하도록, 즉, 순방향 관계 집합 내의 각 사용자 식별자에 대한 XOR 연산을 수행하도록 구성된다. 각 인터넷 데이터 센터(102)는 제2 XOR 값을 획득하기 위해 현재 검출된 사용자 식별자에 대응하는 반전된 역방향 관계 집합에 대해 XOR 연산을 개별적으로 로컬에서 수행하도록, 즉 반전된 역방향 관계 집합 내의 각 사용자 식별자에 대해 XOR 연산을 수행하도록 구성된다.
예를 들어, 현재 검출된 사용자 식별자 U에 대응하는 순방향 관계 집합이 f(U):{A, B, C}로 표현된다고 가정하면, 대응하는 반전된 역방향 관계 집합은 rr(U):{A, B, C}로 표현된다. 이와 같이, 제1 XOR 값은 XOR(f(U))=A xor B xor C이고, 제2 XOR 값은 XOR(rr(U))= A xor B xor C이며, 여기서 XOR()는 XOR 값을 구하기 위한 함수를 나타내고, xor는 XOR 연산자이다. 두 개의 서로 다른 값의 XOR 연산 결과는 1이고, 두 개의 동일한 값의 XOR 연산 결과는 0이다. 따라서 정상적인 경우, XOR(f(U))=XOR(rr(U))이 존재해야 한다. XOR(f(U))≠XOR(rr(U))이 존재하면, 그것은 f(U)가 rr(U)와 분명히 일치하지 않는다는 것을 나타낸다.
관계 체인 복구 서버(104)는 구체적으로 각 인터넷 데이터 센터(102)로부터 제1 XOR 값 및 제2 XOR 값을 획득하고; 제1 비교 값을 획득하기 위해 각 인터넷 데이터 센터(102)로부터의 제1 XOR 값에 대한 XOR 연산을 수행하며; 제2 비교 값을 획득하기 위해 각 인터넷 데이터 센터(102)로부터의 제2 XOR 값에 대한 XOR 연산을 수행하고; 제1 비교 값이 제2 비교 값과 일치하는지 여부를 결정하며; 제1 비교 값이 제2 비교 값과 일치하지 않는 경우, 불일치하는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대해 일관성 복구를 수행하도록 구성된다.
구체적으로, 인터넷 데이터 센터(102)가 0, 1, 2 ...를 사용하여 넘버링되는 것으로 가정하면, 대응하는 인터넷 데이터 센터(102)에서 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합은 fi(U)로 표현될 수 있고, 대응하는 인터넷 데이터 센터(102)에서 현재 검출된 사용자 식별자에 대응하는 반전된 역방향 관계 집합은 rri(U)로 표현될 수 있으며, 여기서 i=0, 1, 2 ...는 대응하는 인터넷 데이터 센터(102)의 숫자를 나타낸다. 각 인터넷 데이터 센터(102)로부터의 제1 XOR 값은 XOR(fi(U))이고, XOR 연산은 제2 비교값 XOR(rri(U))를 획득하기 위해 각 인터넷 데이터 센터(102)로부터의 제2 XOR 값에 대해 수행된다.
따라서, 제1 비교 값은 XOR(f(U))= XOR(f0(U))xorXOR(f1(U))xorXOR(f2(U))... 로 표현되고, 제2 비교 값은 XOR(rr(U))= XOR(rr0(U))xorXOR(rr1(U))xorXOR(rr2(U))... 로 표현된다.
그 후, 제1 비교 값 XOR(f(U))가 제2 비교 값 XOR(rr(U))와 같은 지의 여부가 결정된다. XOR(f(U))가 XOR(rr(U))와 같으면, 일관성 문제가 검출되지 않은 것을 나타내고, 이 경우 복구가 수행되지 않는다. XOR(f(U))가 XOR(rr(U))와 같지 않으면 일관성 문제가 검출된 것을 나타내고, 이 경우 불일치하는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대해 일관성 복구가 수행된다.
본 실시예에서, 각 인터넷 데이터 센터(102)는 일관성 분석을 수행하기 위해 로컬에서 저장된 순방향 관계 집합 및 역방향 관계 집합을 수집할 필요가 없고; 대신에, 내부 연산이 관계 체인 복구 서버(104)에서 수행된 후에 획득되는 제1 XOR 값 및 제2 XOR 값을 수집하기만 하면 되며, 그 후 관계 체인 복구 서버(104)는 후속 검출을 수행한다. 이러한 방식으로, 인터넷 데이터 센터를 통해 전송되어야 하는 데이터가 크게 감소되고, 네트워크 대역폭에 대한 점유가 감소되어, 자원이 절약되고, 효율성이 향상된다.
도 3에 도시된 바와 같이, 실시예에서, 각 인터넷 데이터 센터(102)는 인터넷 데이터 센터(102) 내의 관계 체인 복구 서버(104)에 현재 검출된 사용자 식별자에 대응하는 로컬에서 저장된 순방향 관계 집합 및 역방향 관계 집합을 수집하도록 구성되고;
각 인터넷 데이터 센터(102) 내부의 관계 체인 복구 서버(104)는 인터넷 데이터 센터(102)에 수집된 순방향 관계 집합 내의 사용자 식별자들 사이의 제1 XOR 값을 계산하고, 인터넷 데이터 센터(102) 내에 수집된 반전된 역방향 관계 집합 내의 사용자 식별자들 사이의 제2 XOR 값을 계산하도록 구성된다.
특정 인터넷 데이터 센터(102) 내의 관계 체인 복구 서버(104)는 다른 인터넷 데이터 센터(102) 내의 관계 체인 복구 서버(104)로부터 제1 XOR 값 및 제2 XOR 값을 끌어오고(pull); 제1 비교 값을 획득하기 위해 각 인터넷 데이터 센터(102)로부터의 제1 XOR 값에 대해 XOR 연산을 수행하며; 제2 비교 값을 획득하기 위해 각 인터넷 데이터 센터(102)로부터의 제2 XOR 값에 대해 XOR 연산을 수행하고; 제1 비교 값이 제2 비교 값과 일치하는지 여부를 결정하며; 그리고 제1 비교 값이 제2 비교 값과 일치하지 않으면, 불일치하는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대한 일관성 복구를 수행하도록 구성된다.
구체적으로, 본 실시예에서, 관계 체인 복구 서버(104)는 각 인터넷 데이터 센터(102) 내부에 배치된다.
이러한 방식으로, 각 인터넷 데이터 센터(102)는 먼저 현재 검출된 사용자 식별자에 대응하는 인터넷 데이터 센터(102)에 저장된 순방향 관계 집합 fi(U) 및 반전된 역방향 관계 집합 rri(U)를 획득하고, 인터넷 데이터 센터(102) 내부의 관계 체인 복구 서버(104)에서 순방향 관계 집합 fi(U) 및 반전된 역방향 관계 집합 rri(U)를 수집하도록 구성되며, 여기서 i는 대응하는 인터넷 데이터 센터(102)의 번호를 나타낸다.
이어서, 각 인터넷 데이터 센터(102) 내부의 관계 체인 복구 서버(104)는 제1 XOR 값 XOR(fi(U))을 획득하기 위해 수집된 순방향 관계 집합 fi(U)에 대해 XOR 연산을 수행하고, 제2 XOR 값 XOR(rri(U))을 획득하기 위해 수집된 반전된 역방향 관계 집합 rri(U)에 대해 XOR 연산을 수행하도록 구성된다.
게다가, 인터넷 데이터 센터(102) 중 하나의 특정된 인터넷 데이터 센터(102) 내부의 관계 체인 복구 서버(104)는 제1 비교 값 XOR(f(U))=XOR(f0(U)) xor XOR(f1(U)) xor XOR(f2(U))... 및 제2 비교 값 XOR(rr(U))=XOR(rr0(U)) xor XOR(rr1(U)) xor XOR(rr2(U))...를 계산하기 위해, 또 다른 인터넷 데이터 센터(102) 내부의 관계 체인 복구 서버(104)로부터 제1 XOR 값 XOR(fi(U)) 및 제2 XOR 값 XOR(rri(U)를 끌어오도록 구성된다.
특정 인터넷 데이터 센터(102) 내부의 관계 체인 복구 서버(104)는 제1 비교 값 XOR(f(U))이 제2 비교 값 XOR(rr(U))과 같은 지의 여부를 결정하도록 구성된다. XOR(f(U))가 XOR(rr(U))와 같으면, 일관성 문제가 검출되지 않은 것을 나타내며, 이 경우 복구가 수행되지 않는다. XOR(f(U))가 XOR(rr(U))와 같지 않으면, 일관성 문제가 검출된 것을 나타내며, 이 경우 불일치하는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대해 일관성 복구가 수행된다.
실시예에서, 관계 체인 복구 서버(104)는 구체적으로, 제1 비교 값이 제2 비교 값과 일치하지 않는 경우, 각 인터넷 데이터 센터(102)로부터 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합 및 반전된 역방향 관계 집합을 끌어오고; 불일치하는 관계 체인 쌍(pair)을 찾기 위해, 끌려온 순방향 관계 집합과 끌려온 반전된 역방향 관계 집합을 비교하며; 불일치하는 관계 체인 쌍에 대해, 일관성 복구를 수행하기 위해, 양 당사자가 속하는 인터넷 데이터 센터(102)로부터 양 당사자의 순방향 관계 집합 및 역방향 관계 집합을 끌어오도록 구성된다.
구체적으로, 제1 비교 값이 제2 비교 값과 일치하지 않는 것으로 검출되는 경우, 일관성 문제가 검출된 것을 나타내며, 이 경우, 관계 체인 복구 서버(104)는, 각 인터넷 데이터 센터(102)로부터, 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합 및 반전된 역방향 관계 집합을 끌어오도록 구성된다. 이러한 방식으로, 문제가 발생할 수 있는 순방향 관계 집합 및 반전된 역방향 관계 집합만 끌어오고, 네트워크 대역폭에 대한 점유는 여전히 허용된다.
관계 체인 복구 서버(104)는 끌려온 순방향 관계 집합과 끌려온 반전된 역방향 관계 집합을 비교하도록 구성되고, 구체적으로 순방향 관계 집합 및 반전된 역방향 관계 집합을 각각 분류할 수 있으며, 그 후 문제가 있는 관계 체인 쌍을 찾기 위해 비교를 수행한다. 관계 체인 쌍은 하나의 관계 체인에 있는 양 당사자의 사용자 식별자이다.
문제가 있는 관계 체인 쌍에 대해서는, 양 당사자의 순방향 관계 집합 및 역방향 관계 집합이 일관성 복구를 수행하기 위해 양 당사자가 속한 인터넷 데이터 센터(102)로부터 끌어온다. 그 후, 동기화 프록시 서버(104)는 각 인터넷 데이터 센터(102)에서 복구된 순방향 관계 집합 및 역방향 관계 집합을 동기화한다.
실시예에서, 관계 체인 복구 서버(104)는, 각 인터넷 데이터 센터(102)로부터 규칙적으로 또한 정량적으로, 일관성 문제가 있는 사용자 식별자에 대응하는 순방향 관계 집합 및 반전된 역방향 관계 집합을 끌어오고; 불일치하는 관계 체인 쌍을 찾기 위해, 끌려온 순방향 관계 집합과 끌려온 반전된 역방향 관계 집합을 비교하며; 불일치하는 관계 체인 쌍에 대해, 일관성 복구를 수행하기 위해, 양 당사자가 속하는 인터넷 데이터 센터(102)로부터 양 당사자의 순방향 관계 집합 및 역방향 관계 집합을 끌어오도록 구성된다.
예를 들어, 일관성 문제가 있는 사용자의 비율이 0.1% 이상이라고 가정하면, 관계 체인의 0.1 %만이 매일 한 번씩 복구된다. 이러한 방식으로, 여러 번 반복된 후 일관성 문제가 있는 사용자의 비율이 줄어들고, 마지막으로 매일 복구되는 양이 매일 생성되는 양과 동일해져서, 균형이 이루어질 수 있다. 본 실시예에서, 규칙적으로 또한 정량적으로 일관성 복구를 수행함으로써, 네트워크 대역폭에 대한 점유 균등(occupation equalization)이 실현된다.
도 4 및 도 5를 참조하면, 실시예에서, 인터넷 데이터 센터(102)는 인터페이스 서버(102a), 관계 체인 로직 서버(102b), 및 관계 체인 저장 서버(102c)를 포함한다.
인터페이스 서버(102a)는 소셜 어플리케이션 클라이언트에 연결되고, 사용자 식별자에 대응하며 소셜 어플리케이션 클라이언트에 의해 전송되는 관계 편집 명령을 수신하며, 관계 체인 로직 서버(102b)에게 관계 편집을 전송하도록 구성된다.
구체적으로, 소셜 어플리케이션 클라이언트는 인스턴트 메시징 어플리케이션 클라이언트, SNS(Social Network Site) 어플리케이션 클라이언트, 또는 컨텐츠 공유 어플리케이션 클라이언트일 수 있다. 클라이언트는 특수 제작된 어플리케이션 소프트웨어일 수 있거나, 또는 대응하는 어플리케이션 서버를 액세스하는 제3자 어플리케이션일 수 있다. 제3자 어플리케이션은 웹 페이지 브라우저, 웹 페이지 브라우징 기능을 갖는 어플리케이션 등이다. 소셜 어플리케이션 클라이언트는 관계 체인에 따라 메시지를 수신하고 전송할 수 있다. 여기에서 메시지는 텍스트, 그림, 비디오, 및 오디오 중 적어도 하나를 포함한다.
관계 편집 명령은 관계 체인을 조작하기 위한 명령이고, 친구 추가, 친구 삭제, 팔로잉(following), 언팔로잉(unfollowing), 블랙 리스트에 추가 및 차단과 같은, 관계 체인의 변경에 관한 조작 명령을 포함한다.
관계 체인 로직 서버(102b)는 대응하는 사용자 식별자에 대응하는 순방향 관계 집합 및/또는 역방향 관계 집합을 조작하기 위해 관계 편집 명령에 따라 관계 체인 저장 서버(102c)에 액세스하도록 구성된다.
구체적으로, 관계 체인 로직 서버(102b)는 관계 체인과 관련된 다양한 서비스 로직을 처리하도록 구성되고, 구체적으로 인터페이스 서버(102a)에 의해 전송되는 관계 편집 명령을 파싱(parse)하고 실행할 수 있다. 관계 체인 로직 서버(102b)는 동기화 프록시 서버(106)에 연결될 수 있고, 동기화 프록시 서버(106)는 복수의 인터넷 데이터 센터(102) 사이의 관계 체인의 변경된 데이터를 직접 동기화한다. 관계 체인 로직 서버(102b)는 관계 체인 복구 서버(104)에 연결될 수 있고, 인터넷 데이터 센터(102)에 대한 관계 체인 복구 서버(104)의 읽기 동작 및/또는 쓰기 동작을 허용할 수 있다.
관계 체인 저장 서버(102b)는 사용자 식별자에 대응하는 순방향 관계 집합 및 역방향 관계 집합을 저장하고, 저장된 순방향 관계 집합 및/또는 역방향 관계 집합에 대한 관계 체인 로직 서버(102c)의 액세스 및 조작을 허용하도록 구성된다.
구체적으로, 관계 체인 저장 서버(102c)는 데이터의 누락 방지 및 신뢰성, 그리고 관계 체인 데이터의 최종 저장을 보장하기 위해 분산 키 값 저장 시스템을 사용할 수 있다. 관계 체인 저장 서버(102c)는 관계 체인 로직 서버(102b)의 다양한 조작, 예를 들어 언팔로잉(unfollowing), 팔로잉, 및 차단 조작을 허용하도록 추가로 구성될 수 있다.
본 실시예에서, 인터넷 데이터 센터(102) 내부에서, 인터페이스 서버(102a)는 인터넷 데이터 센터(102)의 액세스를 일률적으로 관리하고, 관계 체인 로직 서버(102b)는 다양한 서비스 로직을 처리하며, 관계 체인 저장 서버(102c)는 순방향 관계 집합 및 역방향 관계 집합을 저장한다. 이러한 방식으로, 인터넷 데이터 센터(102) 내부의 서버 기능은 명확하고, 관리 및 유지보수가 용이하다.
도 4 및 도 5를 참조하면, 실시예에서, 인터넷 데이터 센터(102)는 액세스 프록시 서버(102d)를 더 포함한다.
관계 체인 로직 서버(102b)는 대응하는 사용자 식별자에 대응하는 순방향 관계 집합 및/또는 역방향 관계 집합을 조작하기 위해 관계 편집 명령에 따라서 액세스 프록시 서버를 사용하여 관계 체인 저장 서버를 액세스하도록 추가로 구성된다.
액세스 프록시 서버(102d)는 관계 체인 로직 서버의 액세스 빈도 및 액세스 허가를 제어하고, 액세스 기록을 생성하도록 구성된다.
본 실시예에서, 액세스 프록시 서버(102d)는 관계 체인 저장 서버(102c)로부터 관계 체인 로직 서버(102b)를 분리하고, 액세스 프록시 서버(102d)는 관계 체인 로직 서버의 액세스 빈도 및 액세스 허가를 제어할 수 있다. 생성된 액세스 기록은 이력 동작 기록(historical behavior record)을 확인하는 데 사용될 수 있으며, 일관성 복구의 기초로 사용될 수도 있다. 액세스 프록시 서버(102d)는 민감한 관계 체인 데이터를 보호하는 역할을 추가로 수행할 수 있다.
실시예에서, 사용자 식별자는 공개 계정(public account) 또는 개인 사용자 식별자로 분류 될 수 있다. 순방향 관계 집합 또는 역방향 관계 집합 내의 사용자 식별자는 특정 수의 사용자 식별자를 단위로 사용하여 그룹별로 인덱스화된다.
공개 계정은 어플리케이션 개발자 또는 판매자에 의해 적용되는 어플리케이션 계정이다. 공개 계정을 사용함으로써, 어플리케이션 개발자 또는 판매자는 일대일 및 일대다 정보 상호작용, 예를 들어 텍스트, 그림, 음성 또는 비디오의 정보 상호작용을 수행할 수 있다. 개인 사용자 식별자는 일반 자연인에 의해 신청된 어플리케이션 계정이다. 개인 사용자 식별자와 공개 계정이 관계 체인을 가지고 있고, 개인 사용자 식별자가 공개 계정의 팬(fan)으로 지칭될 수 있는 경우이다. 공용 계정과의 관계 체인을 갖는 개인 사용자 식별자의 전체 개수는 일반적으로 크며, 그 관계 체인은 긴(long) 관계 체인으로 지칭될 수 있다.
공개 계정과 개인 사용자 사이의 관계 체인의 복잡성 때문에, 관계 체인 데이터의 쿼리를 용이하게 하기 위해 순방향 관계 집합 또는 역방향 관계 집합 내의 사용자 식별자가 그룹화되고 인덱스화된다. 특정 숫자를 단위로 사용하여 그룹화하는 것은 그룹화 후에 획득되는 각 그룹이 특정 수의 사용자 식별자를 포함한다는 것을 지칭한다.
도 6에 도시된 바와 같이, 실시예에서, 관계 체인 처리 방법이 제공된다. 본 실시예는 상기 방법을 도 1 내지 도 5에서의 관계 체인 처리 시스템에 적용하여 설명된다. 본 방법은 구체적으로 다음의 단계를 포함한다.
단계 602. 현재 검출된 사용자 식별자에 대응하고 각 인터넷 데이터 센터에 저장된 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치하는지를 검출한다. 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치하지 않으면, 단계 604가 수행된다. 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치하면, 추가 동작이 수행되지 않는다. 순방향 관계 집합은 대응하는 현재 검출된 사용자 식별자에 의해 추가된 소셜 네트워크 친구들의 사용자 식별자를 포함하고; 역방향 관계 집합은 현재 검출된 사용자 식별자를 소셜 친구로 추가하는 사용자 식별자를 포함하며; 반전된 역방향 관계 집합은 현재 검출된 사용자 식별자를 포함하는 역방향 관계 집합에 대응하는 사용자 식별자에 의해 형성된다.
구체적으로, 인터넷 데이터 센터는 서버 클러스터이고, 인터넷에 기초하고 중앙집중 방식으로 데이터를 수집하고, 저장하며, 처리하고 그리고 전송하는 장치에 대한 운용 유지관리를 제공하는 시설이다. 하나의 인터넷 데이터 센터에있는 서버 클러스터는 지리적으로 중앙집중화되어 있다. 소셜 친구는 소셜 네트워크에 기초하는 친구를 지칭하고, 친구는 오프라인 친구로 제한되지 않으며, 동료, 친척 또는 연인과 같은 다양한 지인 관계에 있는 사용자일 수도 있다.
긍정적인 관계 체인은 사용자가 적극적으로 다른 사용자를 친구로 추가하는 관계 체인이고, 순방향 관계 집합은 사용자에 의해 추가된 친구들의 집합이며, 순방향 관계 집합에 고유하게 대응하는 사용자 식별자는 적극적으로 친구를 추가하는 사용자의 고유 식별자이고, 순방향 관계 집합 내에 포함된 사용자 식별자는 사용자에 의해 적극적으로 추가된 친구들의 고유 식별자이다. 순방향 관계 집합은 데이터베이스 테이블 내에 저장될 수 있으며, 긍정적인 방향 테이블로 지칠될 수 있다.
역방향 관계 체인은 사용자가 다른 사용자에 의해 수동적으로 친구로 추가되는 관계 체인이며, 역방향 관계 집합에 고유하게 대응하는 사용자 식별자는 다른 사용자에 의해 수동적으로 친구로 추가된 사용자의 고유 식별자이고, 역방향 관계 집합에 포함된 사용자 식별자는 역방향 관계 집합에 대응하는 사용자 식별자를 친구로 추가하는 사용자의 고유 식별자이다. 역방향 관계 집합은 데이터베이스 테이블 내에 저장될 수 있으며, 역방향 테이블로 지칠될 수 있다.
사용자 식별자에 대응하는 순방향 관계 집합 및 역방향 관계 집합은 하나의 인터넷 데이터 센터 내에 저장되고, 복수의 인터넷 데이터 센터 중 또 다른 인터넷 데이터 센터는 순방향 관계 집합 및 역방향 관계 집합의 복사본을 저장한다.
예를 들어, 사용자 UserA와 사용자 UserB는 서로 친구이고, 다른 친구가 없다고 가정하는 경우, UserA에 대응하는 순방향 관계 집합은 {UserB}이고, UserA에 대응하는 역방향 관계 집합은 {UserB}이며, UserA에 응하는 순방향 관계 집합과 역방향 관계 집합은 UserA가 속하는 인터넷 데이터 센터에 저장된다. UserB에 대응하는 순방향 관계 집합은 {UserA}이고, UserB에 대응하는 역방향 관계 집합은 {UserA}이며, UserB에 대응하는 순방향 관계 집합과 역방향 관계 집합은 UserB가 속하는 인터넷 데이터 센터 내에 저장된다.
시간이 지남에 따라, UserA와 UserB 사이의 관계 체인은 변경될 수 있다. 예를 들어, UserB가 먼저 친구 UserA를 삭제하면 UserA에 대응하는 순방향 관계 집합은 여전히 {UserB}이고, UserA에 대응하는 역방향 관계 집합은 {}로 변경되지만; 반면에 UserB에 대응하는 순방향 관계 집합은 {}로 변경되고, UserB에 대응하는 역방향 관계 집합은 여전히 {UserA}이다.
또한, 사용자 UserB가 UserA를 삭제하는 경우, 두 사용자들의 데이터가 조작될 필요가 있다. 즉, UserB에 대응하는 순방향 관계 집합 내의 UserA가 삭제되고, UserA에 대응하는 역방향 관계 집합 내의 UserB가 삭제된다. 두 사용자 집합을 동시에 조작하기 위해, 인터넷 데이터 센터를 통해 수정이 수행될 필요가 있다. 이 경우에, 한 번의 수정 중에, 한 사용자 집합이 성공적으로 수정되고, 다른 사용자 집합이 수정에 실패하는 경우, 관계 체인 복구 서버가 복수의 인터넷 데이터 센터 사이의 관계 체인의 일관성을 유지할 것을 요구받을 수 있도록, 인터넷 데이터 센터 사이의 관계 체인이 불일치된다.
단계 604. 불일치하는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대해 일관성 복구를 수행한다.
구체적으로, 관계 체인 복구 서버는 각 인터넷 데이터 센터에 저장된 사용자 관계 체인이 일관성 문제를 갖고 있는지를 검출하고, 관계 체인이 일관성 문제를 갖고 있는 경우 대응하는 순방향 관계 집합 및/또는 역방향 관계 집합에 대한 일관성 복구를 수행한다. 여기서 일관성 복구는 불일치하는 순방향 관계 집합과 대응하는 역방향 관계 집합이 일치하도록 복구하고, 복수의 인터넷 데이터 센터를 통해 일관성을 유지하는 것이다. 현재 검출된 사용자 식별자는 사용자의 관계 체인이 불일치하는지의 여부에 대해서는 현재 불일치 검출하에 있는 사용자의 사용자 식별자이다.
반전된 역방향 관계 집합은 현재 검출된 사용자 식별자를 포함하는 역방향 관계 집합에 대응하는 모든 사용자 식별자에 의해 형성된다. 이러한 방식으로, 정상적인 상황에서, 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합은 대응하는 역방향 관계 집합과 일치한다. 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합이 대응하는 역방향 관계 집합과 일치하는 경우, 복구가 수행되지 않는다. 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치하지 않는 경우, 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합과 역방향 관계 집합 중 적어도 하나에 문제가 있음을 나타내며, 일관성 복구가 수행되어야 한다.
예를 들어, 현재 검출된 사용자 식별자 U에 대응하는 순방향 관계 집합은 f(U):{A, B, C}로 표시되는 것으로 가정하면, 다른 사용자 식별자에 대응하는 역방향 관계 집합은 현재 검출된 사용자 식별자 U의 역방향 관계 집합 r(A):{..., U, ...}, r(B):{..., U, ...}, 및 r(C):{..., U, ...}를 포함하며, 이것은 사용자 식별자 A, B 및 C에 각각 대응하는 역방향 관계 집합이다. 따라서, 사용자 식별자 A, B 및 C를 포함하는 현재 검출된 사용자 식별자 U를 포함하는 다른 역방향 관계 집합에 대응하는 다른 사용자 식별자를 포함하며, rr(U):{A, B, C}, 또는 현재 검출된 사용자 식별자에 대응하는 반전된 역방향 관계 집합으로 표현된다. 따라서, 정상적인 상황에서, f(U)=rr(U)이다. 현재 검출된 사용자 식별자 중 임의의 관계 체인이 불일치하면, 그 때 f(U)≠rr(U)가 존재한다.
또한, 관계 체인 복구 서버는, 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치하는지를 추가로 결정하기 위해, 각 인터넷 데이터 센터에서 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합과 대응하는 반전된 역방향 관계 집합을 관계 체인 복구 서버로 끌어올 수 있다.
일관성 복구가 불일치하는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대해 수행되는 경우, 불일치하는 순방향 관계 집합은 대응하는 역방향 관계 집합과 일치하도록 복구될 수 있거나; 또는 대응하는 역방향 관계 집합이 순방향 관계 집합과 일치할 수 있도록 역방향 관계 집합이 복구될 수 있거나; 또는 대응하는 순방향 관계 집합과 역방향 관계 집합이 동시에 수정되어 수정된 순방향 관계 집합이 대응하는 역방향 관계 집합과 일치할 수 있도록 할 수 있다.
일관성 복구가 불일치하는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대해 수행되는 경우, 복구는 바람직한 옵션으로 관계 체인을 유지함으로써 수행될 수 있다. 예를 들어, f(U):{A, B, C}, rr(U):{A, B}를 가정하면, 이 경우, f(U)≠rr(U)이고, 사용자 식별자 U와 사용자 식별자 C 사이의 관계 체인이 가능한한 많이 유지될 수 있도록, 바람직하게는 사용자 식별자 U가 사용자 식별자 C에 대응하는 역방향 관계 집합 내에 추가될 수 있다. 물론, 사용자 식별자 C는 사용자 식별자 U에 대응하는 순방향 관계 집합에서 삭제될 수도 있거나, 또는 순방향 관계 집합과 대응하는 역방향 관계 집합이 일관성 상태로 유지될 수 있다.
관계 체인 처리 방법에서, 하나의 인터넷 데이터 센터가 고장나더라도 관계 체인의 가용성이 여전히 보증될 수 있도록, 관계 체인이 복수의 인터넷 데이터 센터에 저장된다. 관계 체인은 순방향 관계 집합 및 역방향 관계 집합의 형태로 각 인터넷 데이터 센터에 저장되며, 사용자가 추가하는 친구와 다른 사용자가 사용자를 친구로 추가하는 것을 결정할 수 있으므로 관계 체인에 따라 보다 정확한 소셜 상호작용을 수행하기 위해 사용자들 사이의 양방향 관계 체인이 결정될 수 있다. 사용자의 순방향 관계 집합이 반전된 역방향 관계 집합과 일치하는지 여부를 검출함으로써, 각 인터넷 데이터 센터에 저장된 관계 체인이 문제를 갖고 있는지의 여부가 검출될 수 있으므로, 순방향 관계 집합 및/또는 역방향 관계 집합을 복구하여 관계 체인의 일관성 및 가용성을 보장할 수 있다.
실시예에서, 관계 체인 처리 방법은 임의의 인터넷 데이터 센터의 순방향 관계 집합 및/또는 역방향 관계 집합이 변경되는 경우, 동기화 프록시 서버를 사용하여 복수의 인터넷 데이터 센터 사이에 변경된 관계 체인 데이터를 동기화시키는 단계를 더 포함한다.
구체적으로, 여기에서 동기화 프록시 서버는 프록시 서버이고, 프록시 방식으로 복수의 인터넷 데이터 센터 사이에 관계 체인 데이터를 동기화하도록 구성된다. 임의의 인터넷 데이터 센터의 순방향 관계 집합 및/또는 역방향 관계 집합이 변경되는 경우, 변경된 인터넷 데이터 센터는 변경된 관계 체인 데이터를 동기화 프록시 서버에게 전송한다. 동기화 프록시 서버는 변경된 관계 체인 데이터를 다른 인터넷 데이터 센터에 동기화하도록 구성된다. 복수의 인터넷 데이터 센터 사이의 코어 데이터는 동기화 프록시 서버를 사용하여 또한 교환될 수 있다.
실시예에서, 관계 체인 처리 방법은 복수의 인터넷 데이터 센터 사이에 복구된 순방향 관계 집합 및/또는 역방향 관계 집합을 동기화하는 단계를 더 포함한다.
구체적으로, 동기화 프록시 서버는 관계 체인 복구 서버와 통신 연결되어 있고, 관계 체인 복구 서버가 관계 체인을 복구할 때 변경된 데이터를 획득하여 변경된 데이터를 각 인터넷 데이터 센터에 동기화시킬 수 있다.
본 실시예에서, 관계 체인 처리 시스템은 동기화 프록시 서버를 포함한다. 동기화 프록시 서버는 각 인터넷 데이터 센터에 저장된 순방향 관계 집합 및/또는 역방향 관계 집합이, 순방향 관계 집합 및/또는 역방향 관계 집합이 변경되는 경우, 다른 인터넷 데이터 센터에 동기화될 수 있다는 것을 보장할 수 ㅇ있고, 또한, 관계 체인의 동적 일관성을 보장할 수 있다.
도 7에 도시된 바와 같이, 실시예에서, 단계 602는 다음의 단계를 더 포함한다.
단계 702. 각 인터넷 데이터 센터로부터, 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합 내의 사용자 식별자들 사이의 제1 XOR 값과, 대응하는 반전된 역방향 관계 집합 내의 사용자 식별자들 사이의 제2 XOR 값을 획득한다.
구체적으로, 관계 체인 복구 서버는 하나의 인터넷 데이터 센터에 각 인터넷 데이터 센터의 관계 체인 데이터를 수집할 수 있지만, 인터넷 데이터 센터를 통한 데이터 전송은 대량의 네트워크 대역폭을 차지하며, 네트워크 대역폭 자원에 대한 매우 높은 소모와 높은 비용을 갖는다.
네트워크 대역폭에 대한 점유를 감소시키기 위해, 여기에서 각 인터넷 데이터 센터는, 제1 XOR 값을 획득하기 위해, 먼저 현재 검출된 사용자 식별자에 대응하는 로컬에서 저장된 순방향 관계 집합에 대해 XOR 연산을 개별적으로 로컬에서 수행하도록, 즉, 순방향 관계 집합 내의 각 사용자 식별자에 대한 XOR 연산을 수행하도록 구성된다. 각 인터넷 데이터 센터는, 제2 XOR 값을 획득하기 위해, 현재 검출된 사용자 식별자에 대응하는 반전된 역방향 관계 집합에 대해 XOR 연산을 개별적으로 로컬에서 수행하도록, 즉 역방향 관계 집합 내의 각 사용자 식별자에 대해 XOR 연산을 수행하도록 구성된다.
예를 들어, 현재 검출된 사용자 식별자 U에 대응하는 순방향 관계 집합이 f(U):{A, B, C}로 표현된다고 가정하면, 대응하는 반전된 역방향 관계 집합은 rr(U):{A, B, C}로 표현된다. 이와 같이, 제1 XOR 값은 XOR(f(U))=A xor B xor C이고, 제2 XOR 값은 XOR(rr(U))=A xor B xor C이며, 여기서 XOR()는 XOR 값을 구하기 위한 함수를 나타내고, xor는 XOR 연산자이다. 두 개의 서로 다른 값의 XOR 연산 결과는 1이고, 두 개의 동일한 값의 XOR 연산 결과는 0이다. 따라서 정상적인 경우, XOR(f(U))=XOR(rr(U))이 존재해야 한다. XOR(f(U))≠XOR(rr(U))이 존재하면, 그것은 f(U)가 rr(U)와 분명히 일치하지 않는다는 것을 나타낸다.
인터넷 데이터 센터가 0, 1, 2 ...를 사용하여 넘버링되는 것으로 가정하면, 대응하는 인터넷 데이터 센터에서 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합은 fi(U)로 표현될 수 있고, 대응하는 인터넷 데이터 센터에서 현재 검출된 사용자 식별자에 대응하는 반전된 역방향 관계 집합은 rri(U)로 표현될 수 있으며, 여기서 i=0, 1, 2 ...는 대응하는 인터넷 데이터 센터의 숫자를 나타낸다. 각 인터넷 데이터 센터로부터의 제1 XOR 값은 XOR(fi(U))이고, XOR 연산은 제2 비교값 XOR(rri(U))를 획득하기 위해 각 인터넷 데이터 센터로부터의 제2 XOR 값에 대해 수행된다.
단계 704. 제1 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 제1 XOR 값에 대해 XOR 연산을 수행한다.
구체적으로, 제1 비교 값은 XOR(f(U))=XOR(f0(U))xorXOR(f1(U))xorXOR(f2(U))... 로 표현된다.
단계 706. 제2 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 제2 XOR 값에 대해 XOR 연산을 수행한다.
구체적으로, 제2 비교 값은 XOR(rr(U))=XOR(rr0(U))xorXOR(rr1(U))xorXOR(rr2(U))... 로 표현된다.
단계 708. 제1 비교값이 제2 비교값과 일치하는지 여부를 결정한다. 제1 비교값이 제2 비교값과 일치하지 않으면, 단계 604가 수행된다.
구체적으로, 제 비교값 XOR(f(U))가 제2 비교값 XOR(rr(U))와 같은지의 여부가 결정된다. XOR(f(U))가 XOR(rr(U))와 같으면, 일관성 문제가 검출되지 않은 것을 나타내고, 이 경우 복구가 수행되지 않는다. XOR(f(U))가 XOR(rr(U))와 같지 않으면 일관성 문제가 검출된 것을 나타내고, 이 경우 불일치하는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대해 일관성 복구가 수행된다.
본 실시예에서, 각 인터넷 데이터 센터는 일관성 분석을 수행하기 위해 로컬에서 저장된 순방향 관계 집합 및 역방향 관계 집합을 수집할 필요가 없고; 대신에, 내부 연산이 관계 체인 복구 서버에서 수행된 후에 획득되는 제1 XOR 값 및 제2 XOR 값을 수집하기만 하면 되며, 그 후 관계 체인 복구 서버가 후속 검출을 수행한다. 이러한 방식으로, 인터넷 데이터 센터를 통해 전송되어야 하는 데이터가 크게 감소되고, 네트워크 대역폭에 대한 점유가 감소되어, 자원이 절약되고, 효율성이 향상된다.
도 8에 도시된 바와 같이, 실시예에서, 단계 702는 다음의 단계를 더 포함할 수 있다.
단계 802. 각 인터넷 데이터 센터 내부의 관계 체인 복구 서버는 현재 검출된 사용자 식별자에 대응하고 인터넷 데이터 센터에 저장된 순방향 관계 집합 및 역방향 관계 집합을 수집하고; 인터넷 데이터 센터에서 수집된 순방향 관계 집합 내의 사용자 식별자들 사이의 제1 XOR 값을 계산하며; 인터넷 데이터 센터에서 수집된 반전된 역방향 관계 집합 내의 사용자 식별자들 사이의 제2 XOR 값을 계산한다.
구체적으로, 본 실시예에서, 관계 체인 복구 서버는 각 인터넷 데이터 센터 내부에 배치된다. 이러한 방식으로, 각 인터넷 데이터 센터는 먼저 현재 검출된 사용자 식별자에 대응하는 인터넷 데이터 센터에 저장된 순방향 관계 집합 fi(U) 및 반전된 역방향 관계 집합 rri(U)를 획득하고, 인터넷 데이터 센터 내부의 관계 체인 복구 서버에서 순방향 관계 집합 fi(U) 및 반전된 역방향 관계 집합 rri(U)를 수집하도록 구성된다. i는 대응하는 인터넷 데이터 센터의 번호를 나타낸다.
그 후, 각 인터넷 데이터 센터 내부의 관계 체인 복구 서버는 제1 XOR 값 XOR(fi(U))을 획득하기 위해 수집된 순방향 관계 집합 fi(U)에 대해 XOR 연산을 수행하고, 제2 XOR 값 XOR(rri(U))을 획득하기 위해 수집된 반전된 역방향 관계 집합 rri(U)에 대해 XOR 연산을 수행하도록 구성된다.
단계 804. 특정 인터넷 데이터 센터 내부의 관계 체인 복구 서버는 다른 인터넷 데이터 센터 내부의 관계 체인 복구 서버로부터 제1 XOR 값과 제2 XOR 값을 끌어오고; 제1 비교값을 획득하기 위해, 각 인터넷 데이터 센터로부터의 제1 XOR 값에 대해 XOR 연산을 수행하며; 제2 비교값을 획득하기 위해, 각 인터넷 데이터 센터로부터의 제2 XOR 값에 대해 XOR 연산을 수행하고; 제1 비교값이 제2 비교값과 일치하는지 여부를 결정하며; 제1 비교값이 제2 비교값과 일치하지 않는 경우, 불일치하는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대해 일관성 복구를 수행한다.
구체적으로, 특정 인터넷 데이터 센터 내부의 관계 체인 복구 서버는 제1 비교값 XOR(f(U))= XOR(f0(U))xorXOR(f1(U))xorXOR(f2(U))... 및 제2 비교값 XOR(rr(U))= XOR(rr0(U))xorXOR(rr1(U))xorXOR(rr2(U))...를 계산하기 위해, 다른 인터넷 데이터 센터 내부의 관계 체인 복구 서버로부터 제1 XOR 값 XOR(fi(U)) 및 제2 XOR 값 XOR(rri(U)를 끌어오도록 구성된다.
특정 인터넷 데이터 센터 내부의 관계 체인 복구 서버는 제1 비교값 XOR(f(U))이 제2 비교값 XOR(rr(U))과 같은지의 여부를 결정하도록 구성된다. XOR(f(U))가 XOR(rr(U))와 같으면, 일관성 문제가 검출되지 않은 것을 나타내며, 이 경우 복구가 수행되지 않는다. XOR(f(U))가 XOR(rr(U))와 같지 않으면, 일관성 문제가 검출된 것을 나타내며, 이 경우 불일치하는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대해 일관성 복구가 수행된다.
도 9에 도시된 바와 같이, 실시예에서, 단계 604는 다음의 단계를 더 포함할 수 있다.
단계 902. 각 인터넷 데이터 센터로부터, 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합 및 반전된 역방향 관계 집합을 끌어온다.
구체적으로, 제1 비교값이 제2 비교값과 일치하지 않는 것으로 검출되는 경우, 일관성 문제가 검출된 것을 나타내며, 이 경우, 관계 체인 복구 서버는, 각 인터넷 데이터 센터로부터, 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합 및 반전된 역방향 관계 집합을 끌어온다. 이러한 방식으로, 문제가 발생할 수 있는 순방향 관계 집합 및 반전된 역방향 관계 집합만 끌어오고, 네트워크 대역폭에 대한 점유는 여전히 허용된다.
단계 904. 불일치하는 관계 체인 쌍을 찾기 위해, 끌려온 순방향 관계 집합과 끌려온 반전된 역방향 관계 집합을 비교한다.
구체적으로, 관계 체인 복구 서버는 끌려온 순방향 관계 집합과 끌려온 반전된 역방향 관계 집합을 비교하고, 구체적으로 순방향 관계 집합 및 반전된 역방향 관계 집합을 각각 분류할 수 있으며, 그 후 문제가 있는 관계 체인 쌍을 찾기 위해 비교를 수행한다. 관계 체인 쌍은 하나의 관계 체인에 있는 양 당사자의 사용자 식별자이다.
단계 906. 불일치하는 관계 체인 쌍에 대해서는, 일관성 복구를 수행하기 위해, 양 당사자가 속한 인터넷 데이터 센터로부터 양 당사자의 순방향 관계 집합 및 반전된 역방향 관계 집합을 끌어온다.
구체적으로, 문제가 있는 관계 체인 쌍에 대해서는, 일관성 복구를 수행하기 위해, 양 당사자의 순방향 관계 집합 및 반전된 역방향 관계 집합이 양 당사자가 속한 인터넷 데이터 센터로부터 끌려온다. 그 후, 동기화 프록시 서버는 각 인터넷 데이터 센터에서 복구된 순방향 관계 집합 및 반전된 역방향 관계 집합을 동기화한다.
실시예에서, 관계 체인 처리 방법은, 각 인터넷 데이터 센터로부터 규칙적으로 또한 정량적으로, 일관성 문제가 있는 사용자 식별자에 대응하는 순방향 관계 집합 및 반전된 역방향 관계 집합을 끌어오는 단계; 불일치하는 관계 체인 쌍을 찾기 위해, 끌려온 순방향 관계 집합과 끌려온 반전된 역방향 관계 집합을 비교하는 단계; 불일치하는 관계 체인 쌍에 대해, 일관성 복구를 수행하기 위해, 양 당사자가 속하는 인터넷 데이터 센터로부터 양 당사자의 순방향 관계 집합 및 반전된 역방향 관계 집합을 끌어오는 단계를 더 포함한다.
예를 들어, 일관성 문제가 있는 사용자의 비율이 0.1% 이상이라고 가정하면, 관계 체인의 0.1 %만이 매일 한 번씩 복구된다. 이러한 방식으로, 여러 번 반복된 후 일관성 문제가 있는 사용자의 비율이 줄어들고, 마지막으로 매일 복구되는 양이 매일 생성되는 양과 동일해져서, 균형이 이루어질 수 있다. 본 실시예에서, 규칙적으로 또한 정량적으로 일관성 복구를 수행함으로써, 네트워크 대역폭에 대한 점유 균형이 이루어진다.
도 10에 도시된 바와 같이, 실시예에서, 인터넷 데이터 센터는, 인터페이스 서버, 관계 체인 로직 서버, 및 관계 체인 저장 서버를 포함한다. 관계 체인 처리 방법은 인터넷 데이터 센터 내부의 조작 단계를 더 포함하며, 구체적으로는 다음의 단계를 포함한다.
단계 1002. 인터페이스 서버는 소셜 어플리케이션 클라이언트에 연결되고, 사용자 식별자에 대응하며 소셜 어플리케이션 클라이언트에 의해 전송되는 관계 편집 명령을 수신하며, 관계 체인 로직 서버에게 관계 편집 명령을 전송한다.
구체적으로, 소셜 어플리케이션 클라이언트는 인스턴트 메시징 어플리케이션 클라이언트, SNS 어플리케이션 클라이언트, 또는 컨텐츠 공유 어플리케이션 클라이언트일 수 있다. 클라이언트는 특수 제작된 어플리케이션 소프트웨어일 수 있거나, 또는 대응하는 어플리케이션 서버를 액세스하는 제3자 어플리케이션일 수 있다. 제3자 어플리케이션은 웹 페이지 브라우저, 웹 페이지 브라우징 기능을 갖는 어플리케이션 등이다. 소셜 어플리케이션 클라이언트는 관계 체인에 따라 메시지를 수신하고 전송할 수 있다. 여기에서 메시지는 텍스트, 그림, 비디오, 및 오디오 중 적어도 하나를 포함한다.
관계 편집 명령은 관계 체인을 조작하기 위한 명령이고, 친구 추가, 친구 삭제, 팔로잉, 언팔로잉, 블랙 리스트에 추가 및 차단과 같은, 관계 체인의 변경에 관한 조작 명령을 포함한다.
단계 1004. 관계 체인 로직 서버는 대응하는 사용자 식별자에 대응하는 순방향 관계 집합 및/또는 역방향 관계 집합을 조작하기 위해 관계 편집 명령에 따라 관계 체인 저장 서버에 액세스한다.
구체적으로, 관계 체인 로직 서버는 관계 체인과 관련된 다양한 서비스 로직을 처리할 수 있고, 구체적으로 인터페이스 서버에 의해 전송되는 관계 편집 명령을 파싱(parse)하고 실행할 수 있다. 관계 체인 로직 서버는 동기화 프록시 서버에 연결될 수 있고, 동기화 프록시 서버는 복수의 인터넷 데이터 센터 사이의 관계 체인의 변경된 데이터를 직접 동기화한다. 관계 체인 로직 서버는 관계 체인 복구 서버에 연결될 수 있고, 인터넷 데이터 센터에 대한 관계 체인 복구 서버의 읽기 조작 및/또는 쓰기 조작을 허용할 수 있다.
단계 1006. 관계 체인 저장 서버는 저장된 순방향 관계 집합 및/또는 역방향 관계 집합에 대한 관계 체인 로직 서버의 액세스 및 조작을 허용한다.
구체적으로, 관계 체인 저장 서버는 데이터의 누락 방지 및 신뢰성, 그리고 관계 체인 데이터의 최종 저장을 보장하기 위해 분산 키 값 저장 시스템을 사용할 수 있다. 관계 체인 저장 서버는 관계 체인 로직 서버의 다양한 조작, 예를 들어 언팔로잉, 팔로잉, 및 차단 조작을 허용하도록 추가로 구성될 수 있다.
본 실시예에서, 인터넷 데이터 센터 내부에서, 인터페이스 서버는 인터넷 데이터 센터의 액세스를 일률적으로 관리하고, 관계 체인 로직 서버는 다양한 서비스 로직을 처리하며, 관계 체인 저장 서버는 순방향 관계 집합 및 역방향 관계 집합을 저장한다. 이러한 방식으로, 인터넷 데이터 센터 내부의 서버 기능은 명확하고, 관리 및 유지보수가 용이하다.
실시예에서, 인터넷 데이터 센터는 액세스 프록시 서버를 더 포함한다. 관계 체인 처리 방법은, 관계 체인 로직 서버에 의해, 액세스 프록시 서버가 관계 체인 로직 서버의 액세스 빈도 및 액세스 허가를 제어하고 액세스 기록을 생성할 수 있도록, 대응하는 사용자 식별자에 대응하는 순방향 관계 집합 및/또는 역방향 관계 집합을 조작하기 위해, 관계 편집 명령에 따라서 액세스 프록시 서버를 사용하여 관계 체인 저장 서버를 액세스하는 단계를 더 포함한다.
본 실시예에서, 액세스 프록시 서버는 관계 체인 저장 서버로부터 관계 체인 로직 서버를 분리하고, 액세스 프록시 서버는 관계 체인 로직 서버의 액세스 빈도 및 액세스 허가를 제어할 수 있다. 생성된 액세스 기록은 이력 동작 기록(historical behavior record)을 확인하는 데 사용될 수 있으며, 일관성 복구의 기초로 사용될 수도 있다. 액세스 프록시 서버는 민감한 관계 체인 데이터를 보호하는 역할을 추가로 수행할 수 있다.
실시예에서, 사용자 식별자는 공개 계정 또는 개인 사용자 식별자로 분류 될 수 있다. 순방향 관계 집합 또는 역방향 관계 집합 내의 사용자 식별자는 특정 수의 사용자 식별자를 단위로 사용하여 그룹별로 인덱스화된다.
공개 계정은 어플리케이션 개발자 또는 판매자에 의해 신청되는 어플리케이션 계정이다. 공개 계정을 사용함으로써, 어플리케이션 개발자 또는 판매자는 공개 계정을 따르는 사용자 그룹과 일대일 및 일대다 정보 상호작용, 예를 들어 텍스트, 그림, 음성 또는 비디오의 정보 상호작용을 수행할 수 있다. 개인 사용자 식별자는 일반 자연인에 의해 신청된 어플리케이션 계정이다.
공개 계정과 개인 사용자 사이의 관계 체인의 복잡성 때문에, 관계 체인 데이터의 쿼리를 용이하게 하기 위해 순방향 관계 집합 또는 역방향 관계 집합 내의 사용자 식별자가 그룹화되고 인덱스화된다. 특정 숫자를 단위로 사용하여 그룹화하는 것은 그룹화 후에 획득되는 각 그룹이 특정 수의 사용자 식별자를 포함한다는 것을 지칭한다.
도 11에 도시된 바와 같이, 실시예에서, 인터넷 데이터 센터 내 서버는 시스템 버스를 사용하여 연결되는 프로세서, 비일시적 저장 매체, 내부 메모리, 및 네트워크 인터페이스를 포함한다. 프로세서는 계산 기능과 서버 작동을 제어하는 기능을 갖는다. 프로세서는 관계 체인 처리 방법을 수행하도록 구성된다. 비일시적 저장 매체는 자기 저장 매체, 광학 저장 매체, 및 플래시(flash) 저장 매체 중 적어도 하나를 포함한다. 비일시적 저장 매체는 운영 체제를 저장한다. 비일시적 저장 매체 및 내부 메모리는 컴퓨터 판독 가능 명령들을 저장하고, 이 컴퓨터 판독 가능 명령들은 프로세서에 의해 실행될 때 프로세서로 하여금 관계 체인 처리 방법을 수행하도록 한다. 네트워크 인터페이스는 네트워크에 연결하도록 구성된다.
도 12에 도시된 바와 같이, 실시예에서, 서버(1200)가 제공된다. 서버(1200)의 내부 구조는 도 11에 도시된 서버의 구조에 대응할 수 있으며, 이하의 모듈들 모두 또는 일부는 소프트웨어, 하드웨어, 또는 이들의 조합에 의해 구현될 수 있다. 서버(1200)는 일관성 검출 모듈(1201) 및 복구 모듈(1202)을 포함한다.
일관성 검출 모듈(1201)은 현재 검출된 사용자 식별자에 대응하고 각 인터넷 데이터 센터에 저장된 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치하는지를 검출하도록 구성되며, 여기서 순방향 관계 집합은 대응하는 현재 검출된 사용자 식별자에 의해 추가된 소셜 친구들의 사용자 식별자를 포함하고; 역방향 관계 집합은 현재 검출된 사용자 식별자를 소셜 친구로 추가하는 사용자 식별자를 포함하며; 반전된 역방향 관계 집합은 현재 검출된 사용자 식별자를 포함하는 역방향 관계 집합에 대응하는 사용자 식별자에 의해 형성된다.
복구 모듈(1202)은 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치하지 않는 경우, 불일치하는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대한 일관성 복구를 수행하도록 구성된다.
도 13에 도시된 바와 같이, 실시예에서, 서버(1200)는 임의의 인터넷 데이터 센터의 순방향 관계 집합 및/또는 역방향 관계 집합이 변경되는 경우 복수의 인터넷 데이터 센터 사이에 변경된 관계 체인 데이터를 동기화하도록 구성된 동기화 프록시 모듈(1203)을 더 포함한다.
실시예에서, 동기화 프록시 모듈(1203)은 복수의 인터넷 데이터 센터 사이에 복구된 순방향 관계 집합 및/또는 역방향 관계 집합을 동기화하도록 추가로 구성된다.
실시예에서, 일관성 검출 모듈(1201)은 획득 모듈(1201a), 연산 모듈(1201b), 및 결정 모듈(1201c)을 포함한다.
획득 모듈(1201a)은, 각 인터넷 데이터 센터로부터, 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합 내의 사용자 식별자들 사이의 제1 XOR 값과, 대응하는 반전된 역방향 관계 집합 내의 사용자 식별자들 사이의 제2 XOR 값을 획득하도록 구성된다.
연산 모듈(1201b)은 제1 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 제1 XOR 값에 대해 XOR 연산을 수행하고, 제2 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 제2 XOR 값에 대해 XOR 연산을 수행하도록 구성된다.
결정 모듈(1201c)은 제1 비교값이 제2 비교값과 일치하는지 여부를 결정하도록 구성된다.
실시예에서, 획득 모듈(1201a)은 각 인터넷 데이터 센터 내부에서 동작하는 내부 획득 모듈을 포함한다.
각 인터넷 데이터 센터 내부에서 동작하는 내부 획득 모듈은 현재 검출된 사용자 식별자에 대응하고 인터넷 데이터 센터에 저장된 순방향 관계 집합 및 역방향 관계 집합을 수집하고; 인터넷 데이터 센터에서 수집된 순방향 관계 집합 내의 사용자 식별자들 사이의 제1 XOR 값을 계산하며; 인터넷 데이터 센터에서 수집된 반전된 역방향 관계 집합 내의 사용자 식별자들 사이의 제2 XOR 값을 계산하도록 구성된다.
특정 인터넷 데이터 센터 내부에서 동작하는 내부 획득 모듈은 다른 인터넷 데이터 센터 내부에서 동작하는 내부 획득 모듈로부터 제1 XOR 값과 제2 XOR 값을 끌어오고; 제1 비교값을 획득하기 위해, 각 인터넷 데이터 센터로부터의 제1 XOR 값에 대해 XOR 연산을 수행하며; 제2 비교값을 획득하기 위해, 각 인터넷 데이터 센터로부터의 제2 XOR 값에 대해 XOR 연산을 수행하고; 제1 비교값이 제2 비교값과 일치하는지 여부를 결정하며; 제1 비교값이 제2 비교값과 일치하지 않는 경우, 불일치하는 순방향 관계 집합 및/또는 대응하는 역방향 관계 집합에 대해 일관성 복구를 수행하도록 구성된다.
실시예에서, 복구 모듈(1202)은 풀링 모듈(1202a), 비교 모듈(1202b), 및 복구 실행 모듈(1202c)를 포함한다.
풀링 모듈(1202a)은 제1 비교값이 제2 비교값과 일치하지 않는 경우, 각 인터넷 데이터 센터로부터, 현재 검출된 사용자 식별자에 대응하는 순방향 관계 집합 및 반전된 역방향 관계 집합을 끌어오도록 구성된다.
비교 모듈(1202b)은 불일치하는 관계 체인 쌍을 찾기 위해, 끌려온 순방향 관계 집합과 끌려온 반전된 역방향 관계 집합을 비교하도록 구성된다.
복구 실행 모듈(1202c)은, 불일치하는 관계 체인 쌍에 대해, 일관성 복구를 수행하기 위해, 양 당사자가 속한 인터넷 데이터 센터로부터 양 당사자의 순방향 관계 집합 및 역방향 관계 집합을 끌어오도록 구성된다.
실시예에서, 사용자 식별자는 공개 계정 또는 개인 사용자 식별자로 분류될 수 있다. 순방향 관계 집합 또는 역방향 관계 집합 내의 사용자 식별자는 특정 수의 사용자 식별자를 단위로 사용하여 그룹별로 인덱스화된다.
서버(1200)에서, 하나의 인터넷 데이터 센터가 고장나더라도 관계 체인의 가용성이 여전히 보증될 수 있도록, 관계 체인이 복수의 인터넷 데이터 센터에 저장된다. 관계 체인은 순방향 관계 집합 및 역방향 관계 집합의 형태로 각 인터넷 데이터 센터에 저장되며, 사용자가 추가하는 친구와 다른 사용자가 사용자를 친구로 추가하는 것을 결정할 수 있으므로 관계 체인에 따라 보다 정확한 소셜 상호작용을 수행하기 위해 사용자들 사이의 양방향 관계 체인이 결정될 수 있다. 사용자의 순방향 관계 집합이 반전된 역방향 관계 집합과 일치하는지 여부를 검출함으로써, 각 인터넷 데이터 센터에 저장된 관계 체인이 문제를 갖고 있는지의 여부가 검출될 수 있으므로, 순방향 관계 집합 및/또는 역방향 관계 집합을 복구하여 관계 체인의 일관성 및 가용성을 보장할 수 있다.
통상의 기술자라면 전술한 실시예 방법들을 구현하기 위한 모든 또는 일부 과정이 관련된 하드웨어를 명령하는 컴퓨터 프로그램에 의해 완료될 수 있다는 것을 이해할 것이다. 이 프로그램은 컴퓨터에 의해 판독 가능한 저장 매체에 저장될 수 있다. 이 프로그램이 실행된 때, 전술한 방법들의 실시예들에 따른 과정이 포함될 수 있다. 저장 매체는 자기 디스크, 광디스크, ROM(Read-Only Memory), 또는 RAM(Random Access Memory)과 같은 비일시적 저장 매체일 수 있다.
실시예들에 대해 전술한 기술적 특징은 무작위로 조합될 수 있다. 설명의 편의를 위해, 전술한 실시예들에서 기술 특징들의 모든 가능한 조합이 설명되지는 않는다. 그러나 기술적 특징들의 이러한 조합들이 상충하지 않는 한, 그 조합들은 본 명세서에 기록된 범위로 간주되어야 한다.
전술한 실시예들은 본 개시의 몇몇 구현예만을 설명하고, 그 설명은 비교적 구체적이고 상세하지만, 본 개시의 특허 범위를 제한하는 것으로 이해될 수 없다. 통상의 기술자라면 본 개시의 개념을 벗어남이 없이 변형 및 개선을 더 행할 수 있으며, 이들이 모두 본 개시의 보호 범위 내에 속한다는 것을 알아야 한다. 따라서, 본 개시의 특허 보호 범위는 첨부된 청구 범위를 따라야 한다.

Claims (20)

  1. 관계 체인(relation chain) 처리 방법으로서,
    현재 검출된 사용자 식별자(user identifier)에 대응하고 각 인터넷 데이터 센터에 저장된 순방향 관계 집합(forward-relationships set)이 대응하는 반전된 역방향 관계 집합(inverted-reverse-relationships set)과 일치하는지를 검출하는 단계 ― 상기 순방향 관계 집합은 상기 대응하는 현재 검출된 사용자 식별자에 의해 추가된 소셜 친구들(social friends)의 사용자 식별자를 포함하고, 상기 역방향 관계 집합은 상기 현재 검출된 사용자 식별자를 소셜 친구로 추가하는 사용자 식별자를 포함하며, 상기 반전된 역방향 관계 집합은 상기 현재 검출된 사용자 식별자를 포함하는 상기 역방향 관계 집합에 대응하는 사용자 식별자를 포함함 ―; 및
    상기 현재 검출된 사용자 식별자에 대응하는 상기 순방향 관계 집합이 상기 대응하는 역방향 관계 집합과 일치하지 않는 경우, 불일치하는 순방향 관계 집합 및/또는 상기 대응하는 역방향 관계 집합에 대해 일관성 복구(consistency repair)를 수행하는 단계
    를 포함하고,
    상기 현재 검출된 사용자 식별자에 대응하고 각 인터넷 데이터 센터에 저장된 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치하는지를 검출하는 단계는,
    각 인터넷 데이터 센터로부터, 상기 현재 검출된 사용자 식별자에 대응하는 상기 순방향 관계 집합 내의 사용자 식별자들 사이의 제1 XOR 값, 및 상기 대응하는 역방향 관계 집합 내의 사용자 식별자들 사이의 제2 XOR 값을 획득하는 단계;
    제1 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 상기 제1 XOR 값에 대해 XOR 연산을 수행하는 단계;
    제2 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 상기 제2 XOR 값에 대해 XOR 연산을 수행하는 단계; 및
    상기 제1 비교값이 상기 제2 비교값과 일치하는지를 결정하는 단계
    를 포함하는, 관계 체인 처리 방법.
  2. 제1항에 있어서,
    동기화 프록시 서버에 의해, 임의의 인터넷 데이터 센터의 순방향 관계 집합 및/또는 역방향 관계 집합이 변경되는 경우, 복수의 인터넷 데이터 센터 사이에 변경된 관계 체인 데이터를 동기시키는 단계; 및/또는
    상기 동기화 프록시 서버에 의해, 상기 복수의 인터넷 데이터 센터 사이에 상기 복구된 순방향 관계 집합 및/또는 역방향 관계 집합을 동기시키는 단계
    를 더 포함하는, 관계 체인 처리 방법.
  3. 제1항에 있어서,
    각 인터넷 데이터 센터로부터, 상기 현재 검출된 사용자 식별자에 대응하는 상기 순방향 관계 집합 내의 사용자 식별자들 사이의 제1 XOR 값, 및 상기 대응하는 역방향 관계 집합 내의 사용자 식별자들 사이의 제2 XOR 값을 획득하는 단계는,
    각 인터넷 데이터 센터 내부의 관계 체인 복구 서버에 의해, 상기 현재 검출된 사용자 식별자에 대응하고 상기 인터넷 데이터 센터에 저장된 상기 순방향 관계 집합 및 상기 반전된 역방향 관계 집합을 수집하고, 상기 인터넷 데이터 센터에서 수집된 상기 순방향 관계 집합 내의 사용자 식별자들 사이의 상기 제1 XOR 값을 계산하며, 상기 인터넷 데이터 센터에서 수집된 상기 반전된 역방향 관계 집합 내의 사용자 식별자들 사이의 상기 제2 XOR 값을 계산하는 단계; 및
    특정된 인터넷 데이터 센터 내부의 관계 체인 복구 서버에 의해, 다른 인터넷 데이터 센터 내부의 관계 체인 복구 서버로부터 상기 제1 XOR 값 및 상기 제2 XOR 값을 끌어오고(pull), 제1 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 상기 제1 XOR 값에 대해 XOR 연산을 수행하며; 제2 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 상기 제2 XOR 값에 대해 XOR 연산을 수행하고, 상기 제1 비교값이 상기 제2 비교값과 일치하는지를 결정하며, 상기 제1 비교값이 상기 제2 비교값과 일치하지 않는 경우 상기 불일치하는 순방향 관계 집합 및/또는 상기 대응하는 역방향 관계 집합에 대해 일관성 복구를 수행하는 단계
    를 포함하는, 관계 체인 처리 방법.
  4. 제1항에 있어서,
    상기 현재 검출된 사용자 식별자에 대응하는 상기 순방향 관계 집합이 상기 대응하는 역방향 관계 집합과 일치하지 않는 경우, 상기 불일치하는 순방향 관계 집합 및/또는 상기 대응하는 역방향 관계 집합에 대해 일관성 복구를 수행하는 단계는,
    상기 제1 비교값이 상기 제2 비교값과 일치하지 않는 경우, 각 인터넷 데이터 센터로부터, 상기 현재 검출된 사용자 식별자에 대응하는 상기 순방향 관계 집합 및 상기 반전된 역방향 관계 집합을 끌어오는 단계;
    불일치하는 관계 체인 쌍(relation chain pair)을 찾기 위해, 끌려온 순방향 관계 집합과 끌려온 반전된 역방향 관계 집합을 비교하는 단계; 및
    상기 불일치하는 관계 체인 쌍에 대해, 일관성 복구를 수행하기 위해, 양 당사자(two parties)가 속한 인터넷 데이터 센터로부터 상기 양 당사자의 순방향 관계 집합 및 반전된 역방향 관계 집합을 끌어오는 단계
    를 포함하는, 관계 체인 처리 방법.
  5. 제1항에 있어서,
    상기 인터넷 데이터 센터는 인터페이스 서버, 관계 체인 로직 서버, 및 관계 체인 저장 서버를 포함하고,
    상기 방법은,
    상기 인터페이스 서버에 의해, 소셜 어플리케이션 클라이언트(social application client)에 연결되고, 사용자 식별자에 대응하고 상기 소셜 어플리케이션 클라이언트에 의해 전송되는 관계 편집 명령(relation editing instructiion)을 수신하며, 상기 관계 체인 로직 서버에게 상기 관계 편집 명령을 전송하는 단계;
    상기 관계 체인 로직 서버에 의해, 상기 대응하는 사용자 식별자에 대응하는 순방향 관계 집합 및/또는 역방향 관계 집합을 조작하기 위해, 상기 관계 편집 명령에 따라 상기 관계 체인 저장 서버를 액세스하는 단계; 및
    상기 관계 체인 저장 서버에 의해, 저장된 순방향 관계 집합 및/또는 역방향 관계 집합에 대한 상기 관계 체인 로직 서버의 액세스 및 조작을 허용하는 단계
    를 더 포함하는, 관계 체인 처리 방법.
  6. 제5항에 있어서,
    상기 인터넷 데이터 센터는 액세스 프록시 서버를 더 포함하고,
    상기 방법은,
    상기 관계 체인 로직 서버에 의해, 상기 액세스 프록시 서버가 상기 관계 체인 로직 서버의 액세스 빈도 및 액세스 허가를 제어하고 액세스 기록을 생성할 수 있도록, 상기 대응하는 사용자 식별자에 대응하는 순방향 관계 집합 및/또는 역방향 관계 집합을 조작하기 위해, 상기 관계 편집 명령에 따라 상기 액세스 프록시 서버를 사용하여 상기 관계 체인 저장 서버를 액세스하는 단계
    를 더 포함하는, 관계 체인 처리 방법.
  7. 제1항에 있어서,
    상기 사용자 식별자는 공개 계정(public account) 및 개인 사용자 식별자를 포함하고, 상기 순방향 관계 집합 또는 상기 역방향 관계 집합 내의 사용자 식별자들은 특정 수의 사용자 식별자들을 단위로 사용하여 그룹별로 인덱스화되는,
    관계 체인 처리 방법.
  8. 관계 체인 처리 시스템으로서,
    사용자 식별자에 대응하는 순방향 관계 집합 및 역방향 관계 집합을 저장하도록 개별적으로 구성된 복수의 인터넷 데이터 센터 ― 상기 순방향 관계 집합은 상기 대응하는 사용자 식별자에 의해 추가된 소셜 친구들의 사용자 식별자를 포함하고, 상기 역방향 관계 집합은 상기 역방향 관계 집합에 대응하는 사용자 식별자를 소셜 친구로 추가하는 사용자 식별자를 포함함 ―; 및
    현재 검출된 사용자 식별자에 대응하고 각 인터넷 데이터 센터에 저장된 순방향 관계 집합이 상기 대응하는 반전된 역방향 관계 집합과 일치하는지를 검출하고, 상기 현재 검출된 사용자 식별자에 대응하는 상기 순방향 관계 집합이 상기 대응하는 반전된 역방향 관계 집합과 일치하지 않는 경우 불일치하는 순방향 관계 집합 및/또는 상기 대응하는 역방향 관계 집합에 대해 일관성 복구를 수행하도록 구성된 관계 체인 복구 서버
    를 포함하고,
    상기 반전된 역방향 관계 집합은 상기 현재 검출된 사용자 식별자를 포함하는 상기 역방향 관계 집합에 대응하는 상기 사용자 식별자를 포함하고,
    각 인터넷 데이터 센터는, 제1 XOR 값을 획득하기 위해, 상기 현재 검출된 사용자 식별자에 대응하는 로컬에서 저장된 상기 순방향 관계 집합 내의 사용자 식별자들에 대해 XOR 연산을 수행하고, 제2 XOR 값을 획득하기 위해, 상기 현재 검출된 사용자 식별자에 대응하는 상기 역방향 관계 집합 내의 사용자 식별자들에 대해 XOR 연산을 수행하도록 추가로 구성되고,
    상기 관계 체인 복구 서버는 구체적으로, 각 인터넷 데이터 센터로부터 상기 제1 XOR 값 및 상기 제2 XOR 값을 획득하고, 제1 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 상기 제1 XOR 값에 대해 XOR 연산을 수행하며, 제2 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 상기 제2 XOR 값에 대해 XOR 연산을 수행하고, 상기 제1 비교값이 상기 제2 비교값과 일치하는지를 결정하며, 상기 제1 비교값이 상기 제2 비교값과 일치하지 않는 경우 상기 불일치하는 순방향 관계 집합 및/또는 상기 대응하는 역방향 관계 집합에 대해 일관성 복구를 수행하도록 구성되는,
    관계 체인 처리 시스템.
  9. 제8항에 있어서,
    상기 시스템은 동기화 프록시 서버를 더 포함하고,
    상기 동기화 프록시 서버는, 임의의 인터넷 데이터 센터의 순방향 관계 집합 및/또는 역방향 관계 집합이 변경되는 경우, 상기 복수의 인터넷 데이터 센터 사이에 변경된 관계 체인 데이터를 동기시키도록 구성되고; 및/또는
    상기 동기화 프록시 서버는 상기 복수의 인터넷 데이터 센터 사이에 상기 복구된 순방향 관계 집합 및/또는 역방향 관계 집합을 동기시키도록 구성되는,
    관계 체인 처리 시스템.
  10. 제8항에 있어서,
    각 인터넷 데이터 센터는 상기 현재 검출된 사용자 식별자에 대응하는 로컬에서 저장된 상기 순방향 관계 집합 및 상기 역방향 관계 집합을 수집하도록 구성되고,
    각 인터넷 데이터 센터 내의 상기 관계 체인 복구 서버는 상기 인터넷 데이터 센터에서 수집된 상기 순방향 관계 집합 내의 사용자 식별자들 사이의 상기 제1 XOR 값을 계산하고, 상기 인터넷 데이터 센터에서 수집된 상기 반전된 역방향 관계 집합 내의 사용자 식별자들 사이의 상기 제2 XOR 값을 계산하도록 구성되며,
    특정된 인터넷 데이터 센터 내부의 관계 체인 복구 서버는 다른 인터넷 데이터 센터 내부의 관계 체인 복구 서버로부터 상기 제1 XOR 값 및 상기 제2 XOR 값을 끌어오고, 제1 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 상기 제1 XOR 값에 대해 XOR 연산을 수행하며; 제2 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 상기 제2 XOR 값에 대해 XOR 연산을 수행하고, 상기 제1 비교값이 상기 제2 비교값과 일치하는지를 결정하며, 상기 제1 비교값이 상기 제2 비교값과 일치하지 않는 경우 상기 불일치하는 순방향 관계 집합 및/또는 상기 대응하는 역방향 관계 집합에 대해 일관성 복구를 수행하도록 구성되는,
    관계 체인 처리 시스템.
  11. 제8항에 있어서,
    상기 관계 체인 복구 서버는 구체적으로, 상기 제1 비교값이 상기 제2 비교값과 일치하지 않는 경우, 각 인터넷 데이터 센터로부터, 상기 현재 검출된 사용자 식별자에 대응하는 상기 순방향 관계 집합 및 상기 역방향 관계 집합을 끌어오고, 불일치하는 관계 체인 쌍을 찾기 위해, 끌려온 순방향 관계 집합과 끌려온 반전된 역방향 관계 집합을 비교하며, 상기 불일치하는 관계 체인 쌍에 대해, 일관성 복구를 수행하기 위해, 양 당사자가 속한 인터넷 데이터 센터로부터 상기 양 당사자의 순방향 관계 집합 및 반전된 역방향 관계 집합을 끌어오도록 구성되는,
    관계 체인 처리 시스템.
  12. 제8항에 있어서,
    상기 인터넷 데이터 센터는,
    소셜 어플리케이션 클라이언트에 연결되고, 사용자 식별자에 대응하고 상기 소셜 어플리케이션 클라이언트에 의해 전송되는 관계 편집 명령을 수신하며, 관계 체인 로직 서버에게 상기 관계 편집 명령을 전송하도록 구성된 인터페이스 서버;
    상기 대응하는 사용자 식별자에 대응하는 순방향 관계 집합 및/또는 역방향 관계 집합을 조작하기 위해, 상기 관계 편집 명령에 따라 관계 체인 저장 서버를 액세스하도록 구성된 상기 관계 체인 로직 서버; 및
    상기 사용자 식별자에 대응하는 상기 순방향 관계 집합 및 상기 역방향 관계 집합을 저장하고, 저장된 순방향 관계 집합 및/또는 역방향 관계 집합에 대한 상기 관계 체인 로직 서버의 액세스 및 조작을 허용하도록 구성된 상기 관계 체인 저장 서버
    를 포함하는, 관계 체인 처리 시스템.
  13. 제12항에 있어서,
    상기 인터넷 데이터 센터는 액세스 프록시 서버를 더 포함하고,
    상기 관계 체인 로직 서버는, 상기 대응하는 사용자 식별자에 대응하는 순방향 관계 집합 및/또는 역방향 관계 집합을 조작하기 위해, 상기 관계 편집 명령에 따라 상기 액세스 프록시 서버를 사용하여 상기 관계 체인 저장 서버를 액세스하도록 추가로 구성되고,
    상기 액세스 프록시 서버는 상기 관계 체인 로직 서버의 액세스 빈도 및 액세스 허가를 제어하고 액세스 기록을 생성하도록 구성되는,
    관계 체인 처리 시스템.
  14. 제8항에 있어서,
    상기 사용자 식별자는 공개 계정 및 개인 사용자 식별자를 포함하고, 상기 순방향 관계 집합 또는 상기 역방향 관계 집합 내의 상기 사용자 식별자들은 특정 수의 사용자 식별자들을 단위로 사용하여 그룹별로 인덱스화되는,
    관계 체인 처리 시스템.
  15. 컴퓨터 판독 가능 명령들을 저장하는 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 판독가능 명령들은, 하나 이상의 프로세서들에 의해 실행되는 경우, 상기 하나 이상의 프로세서들이,
    현재 검출된 사용자 식별자에 대응하고 각 인터넷 데이터 센터에 저장된 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치하는지를 검출하는 단계 ― 상기 순방향 관계 집합은 상기 대응하는 현재 검출된 사용자 식별자에 의해 추가된 소셜 친구들의 사용자 식별자를 포함하고, 상기 역방향 관계 집합은 상기 현재 검출된 사용자 식별자를 소셜 친구로 추가하는 사용자 식별자를 포함하며, 상기 반전된 역방향 관계 집합은 상기 현재 검출된 사용자 식별자를 포함하는 상기 역방향 관계 집합에 대응하는 사용자 식별자를 포함함 ―; 및
    상기 현재 검출된 사용자 식별자에 대응하는 상기 순방향 관계 집합이 상기 대응하는 역방향 관계 집합과 일치하지 않는 경우, 불일치하는 순방향 관계 집합 및/또는 상기 대응하는 역방향 관계 집합에 대해 일관성 복구를 수행하는 단계
    를 수행하도록 하고,
    상기 현재 검출된 사용자 식별자에 대응하고 각 인터넷 데이터 센터에 저장된 순방향 관계 집합이 대응하는 반전된 역방향 관계 집합과 일치하는지를 검출하는 단계는,
    각 인터넷 데이터 센터로부터, 상기 현재 검출된 사용자 식별자에 대응하는 상기 순방향 관계 집합 내의 사용자 식별자들 사이의 제1 XOR 값, 및 상기 대응하는 반전된 역방향 관계 집합 내의 사용자 식별자들 사이의 제2 XOR 값을 획득하는 단계;
    제1 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 상기 제1 XOR 값에 대해 XOR 연산을 수행하는 단계;
    제2 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 상기 제2 XOR 값에 대해 XOR 연산을 수행하는 단계; 및
    상기 제1 비교값이 상기 제2 비교값과 일치하는지를 결정하는 단계
    를 포함하는, 저장 매체.
  16. 제15항에 있어서,
    상기 명령들은, 상기 프로세서에 의해 실행되는 경우, 상기 프로세서가,
    동기화 프록시 서버에 의해, 임의의 인터넷 데이터 센터의 순방향 관계 집합 및/또는 역방향 관계 집합이 변경되는 경우, 복수의 인터넷 데이터 센터 사이에 변경된 관계 체인 데이터를 동기시키는 단계; 및/또는
    상기 동기화 프록시 서버에 의해, 상기 복수의 인터넷 데이터 센터 사이에 상기 복구된 순방향 관계 집합 및/또는 역방향 관계 집합을 동기시키는 단계
    를 추가로 수행하도록 하는, 저장 매체.
  17. 제15항에 있어서,
    각 인터넷 데이터 센터로부터, 상기 현재 검출된 사용자 식별자에 대응하는 상기 순방향 관계 집합 내의 상기 사용자 식별자들 사이의 제1 XOR 값, 및 상기 대응하는 역방향 관계 집합 내의 상기 사용자 식별자들 사이의 제2 XOR 값을 획득하는 단계는,
    각 인터넷 데이터 센터 내부의 관계 체인 복구 서버에 의해, 상기 현재 검출된 사용자 식별자에 대응하고 상기 인터넷 데이터 센터에 저장된 상기 순방향 관계 집합 및 상기 반전된 역방향 관계 집합을 수집하고, 상기 인터넷 데이터 센터에서 수집된 상기 순방향 관계 집합 내의 사용자 식별자들 사이의 상기 제1 XOR 값을 계산하며, 상기 인터넷 데이터 센터에서 수집된 상기 반전된 역방향 관계 집합 내의 사용자 식별자들 사이의 상기 제2 XOR 값을 계산하는 단계; 및
    특정된 인터넷 데이터 센터 내부의 관계 체인 복구 서버에 의해, 다른 인터넷 데이터 센터 내부의 관계 체인 복구 서버로부터 상기 제1 XOR 값 및 상기 제2 XOR 값을 끌어오고, 제1 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 상기 제1 XOR 값에 대해 XOR 연산을 수행하며; 제2 비교값을 획득하기 위해 각 인터넷 데이터 센터로부터의 상기 제2 XOR 값에 대해 XOR 연산을 수행하고, 상기 제1 비교값이 상기 제2 비교값과 일치하는지를 결정하며, 상기 제1 비교값이 상기 제2 비교값과 일치하지 않는 경우 상기 불일치하는 순방향 관계 집합 및/또는 상기 대응하는 역방향 관계 집합에 대해 일관성 복구를 수행하는 단계
    를 포함하는, 저장 매체.
  18. 삭제
  19. 삭제
  20. 삭제
KR1020177035497A 2015-09-09 2016-05-24 관계 체인 처리 방법 및 시스템, 그리고 저장 매체 KR102031589B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510572404.2A CN106534234B (zh) 2015-09-09 2015-09-09 关系链处理系统、方法和装置
CN201510572404.2 2015-09-09
PCT/CN2016/083194 WO2017041523A1 (zh) 2015-09-09 2016-05-24 关系链处理方法、系统和存储介质

Publications (2)

Publication Number Publication Date
KR20180004794A KR20180004794A (ko) 2018-01-12
KR102031589B1 true KR102031589B1 (ko) 2019-10-14

Family

ID=58239526

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177035497A KR102031589B1 (ko) 2015-09-09 2016-05-24 관계 체인 처리 방법 및 시스템, 그리고 저장 매체

Country Status (6)

Country Link
US (1) US10853892B2 (ko)
EP (1) EP3349416B1 (ko)
JP (1) JP6577604B2 (ko)
KR (1) KR102031589B1 (ko)
CN (1) CN106534234B (ko)
WO (1) WO2017041523A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11601509B1 (en) * 2017-11-28 2023-03-07 Stripe, Inc. Systems and methods for identifying entities between networks
CN110097258A (zh) * 2019-04-12 2019-08-06 平安普惠企业管理有限公司 一种用户关系网络建立方法、装置及计算机可读存储介质
CN112187915B (zh) * 2020-09-25 2021-09-28 腾讯科技(深圳)有限公司 数据处理方法及相关设备

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000285061A (ja) * 1999-03-31 2000-10-13 Nec Corp プロキシアクセス制御システム
US6883131B2 (en) * 2001-09-28 2005-04-19 Sun Microsystems, Inc. XOR processing incorporating error correction code data protection
US7366740B2 (en) * 2004-05-03 2008-04-29 Microsoft Corporation Systems and methods for automatic maintenance and repair of enitites in a data model
US8620896B2 (en) * 2007-12-06 2013-12-31 Yahoo! Inc. Reverse matching relationships in networks of existing identifiers
US20090265604A1 (en) * 2008-04-21 2009-10-22 Microsoft Corporation Graphical representation of social network vitality
CN101572606B (zh) * 2009-06-12 2012-05-23 阿里巴巴集团控股有限公司 一种社会化网络中认证请求消息发送方法及装置
US9126120B2 (en) * 2009-09-30 2015-09-08 Zynga Inc. Apparatuses, methods and systems for a virtual security camera
US20110314048A1 (en) * 2010-06-22 2011-12-22 Microsoft Corporation Social network user list detection and searching
CN102075454A (zh) * 2011-02-18 2011-05-25 北京新媒传信科技有限公司 网络中双向真人关系的建立方法和设备
JP2012242859A (ja) * 2011-05-13 2012-12-10 Nippon Hoso Kyokai <Nhk> グラフ生成装置およびプログラム
KR101336837B1 (ko) * 2011-08-19 2013-12-04 허민 친구찾기 방법 및 이를 위한 시스템
CN102262681B (zh) * 2011-08-19 2015-12-02 南京大学 一种博客信息传播中识别关键博客集的方法
US9626656B2 (en) * 2011-08-22 2017-04-18 Facebook, Inc. Dialer with real-time reverse look-up including social data
US8769259B2 (en) * 2012-01-06 2014-07-01 Alcatel Lucent Methods and apparatuses for secure information sharing in social networks using randomly-generated keys
US9135600B2 (en) * 2012-06-01 2015-09-15 The Boeing Company Methods and systems for providing real-time information regarding objects in a social network
US8959390B2 (en) * 2012-11-12 2015-02-17 Facebook, Inc. Directory-level RAID
JP6107429B2 (ja) * 2013-05-30 2017-04-05 富士通株式会社 データベースシステム、検索方法およびプログラム
US9477994B2 (en) * 2013-06-27 2016-10-25 National Taiwan University Global relationship model and a relationship search method for internet social networks
CN104468318B (zh) * 2013-09-18 2019-03-26 腾讯科技(北京)有限公司 网络通信中回收反向关系链的方法及服务器

Also Published As

Publication number Publication date
JP2018524707A (ja) 2018-08-30
EP3349416A1 (en) 2018-07-18
CN106534234B (zh) 2020-04-28
KR20180004794A (ko) 2018-01-12
WO2017041523A1 (zh) 2017-03-16
EP3349416B1 (en) 2021-06-30
US20180060974A1 (en) 2018-03-01
JP6577604B2 (ja) 2019-09-18
CN106534234A (zh) 2017-03-22
EP3349416A4 (en) 2018-07-25
US10853892B2 (en) 2020-12-01

Similar Documents

Publication Publication Date Title
EP3567801B1 (en) Content item templates
US8990176B2 (en) Managing a search index
US9451022B2 (en) Local server for synced online content management system
US9747582B2 (en) Implementing a consistent ordering of operations in collaborative editing of shared content items
US8234372B2 (en) Writing a file to a cloud storage solution
US9628560B2 (en) Sharing a content item
US9344433B2 (en) Unregistered user account generation for content item sharing
CN113254466B (zh) 一种数据处理方法、装置、电子设备和存储介质
CN105900121B (zh) 用于生成活动流的方法
US20140304384A1 (en) Uploading large content items
US11777880B2 (en) Messaging client application integrated with a content management system
US20150326620A1 (en) Media presentation in a virtual shared space
US9609043B2 (en) Facilitating access to content from group interactions
US11463446B2 (en) Team member transfer tool
US20140181213A1 (en) Prioritizing structural operations and distributing changes in a synced online content management system
US10917484B2 (en) Identifying and managing redundant digital content transfers
KR102031589B1 (ko) 관계 체인 처리 방법 및 시스템, 그리고 저장 매체
US10686888B2 (en) Communication protocols for an online content management system
US10412586B2 (en) Limited-functionality accounts
CN115150466B (zh) 一种数据分发的实现方法、装置、电子设备及存储介质
US20140195481A1 (en) Content managing apparatus and content managing method

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