KR20190020105A - 스트리밍 데이터의 분배 처리 방법 및 디바이스 - Google Patents

스트리밍 데이터의 분배 처리 방법 및 디바이스 Download PDF

Info

Publication number
KR20190020105A
KR20190020105A KR1020197001861A KR20197001861A KR20190020105A KR 20190020105 A KR20190020105 A KR 20190020105A KR 1020197001861 A KR1020197001861 A KR 1020197001861A KR 20197001861 A KR20197001861 A KR 20197001861A KR 20190020105 A KR20190020105 A KR 20190020105A
Authority
KR
South Korea
Prior art keywords
real
time
processed
time value
data
Prior art date
Application number
KR1020197001861A
Other languages
English (en)
Other versions
KR102099544B1 (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 KR20190020105A publication Critical patent/KR20190020105A/ko
Application granted granted Critical
Publication of KR102099544B1 publication Critical patent/KR102099544B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

스트리밍 데이터의 분배 처리 방법은, 서비스 데이터 식별 정보, 처리될 실시간 값 및 데이터 스트림 내의 특정한 데이터에 의해 기록되는 처리될 실시간 값의 시간-시퀀스 특징을 획득하는 단계로서, 식별 정보는 유일하게 하나의 서비스 데이터 또는 서비스 데이터의 군을 나타내는, 획득하는 단계(210); 저장된 서비스 데이터 식별 정보와 처리된 실시간 값의 시간-시퀀스 특징 간의 대응에 따라, 서비스 데이터의 처리된 실시간 값의 시간-시퀀스 특징을 획득하는 단계(220); 및 처리될 실시간 값의 시간-시퀀스 특징과 서비스 데이터의 이미 처리된 실시간 값의 시간-시퀀스 특징을 비교하고, 그리고 처리될 실시간 값의 시간 시퀀스가 이미 처리된 실시간 값의 시간 시퀀스 뒤에 있을 때, 처리될 실시간 값을 사용하여 서비스 작동을 수행하고, 그리고 이미 처리된 실시간 값의 저장된 시간-시퀀스 특징을 처리될 실시간 값의 시간-시퀀스 특징으로 업데이트하는 단계(230)를 포함한다. 기술적 해결책에 의해, 데이터가 데이터 업데이트 시퀀스에 따라 처리될 수 있어서, 나중에 업데이트되는 실시간 값을 먼저 처리함으로써 유발되는 틀린 처리 결과가 방지되고, 그리고 데이터 처리 정확도가 개선된다.

Description

스트리밍 데이터의 분배 처리 방법 및 디바이스
본 출원은 중국 특허 출원 제201610447125.8호(출원일: 2016년 6월 20일, 발명의 명칭: "STREAMING DATA DISTRIBUTED PROCESSING METHOD AND DEVICE")의 우선권을 주장하고, 상기 기초 출원의 전체 내용은 이의 전문이 참고로 본 명세서에 편입된다.
본 발명은 데이터 처리의 기술 분야, 특히, 스트리밍 데이터의 분배 처리 방법 및 장치에 관한 것이다.
다양한 네트워크 애플리케이션이 사람들의 일상생활에서 점점 더 깊게 자리 잡음에 따라, 많은 애플리케이션 시스템은 테라바이트의 서비스 데이터를 매일 생성할 것이다. 이 데이터 바다의 실시간 분석은 매우 가치 있는 정보를 애플리케이션 시스템에 제공할 수 있다. 예를 들어, 트래픽 모니터링 시스템에 의해 수집된 비디오 데이터 스트림의 실시간 분석은 트래픽 흐름을 다이렉팅하는 것을 도울 수 있고, 그리고 소셜 네트워킹 사이트에서의 사용자 액세스 거동의 실시간 분석은 즉각적으로 핫 토픽을 다룰 수 없고 그리고 더 많은 사용자에게 푸시될 수 있다.
막대한 양의 실시간 서비스 데이터가 보통 상이한 위치에, 상이한 소프트웨어 및 하드웨어 플랫폼에 그리고/또는 상이한 유형의 데이터베이스에 저장된다. 실시간 데이터 수집 시스템은 실시간 데이터 처리를 수행하도록, 스트림의 형태의, 데이터베이스 내의 실시간으로 변화되는 서비스 데이터를 연속적으로 수집한다. 실시간 데이터 수집 시스템은 단일의 스레드를 사용하여 달성될 수 있거나 또는 다수의 스레드가 실시간 데이터 수집을 동시에 수행하는, 분산된 형태를 채용하여 달성될 수 있다.
애플리케이션 시스템의 서비스 데이터가 언제든지 업데이트될 수도 있고, 특히, 서비스 데이터의 단일의 부분(piece)이 가능하게는 매우 짧은 시간 기간 내에서 여러번 업데이트될 수도 있기 때문에, 단일의 스레드를 사용하여 구현된 실시간 데이터 수집 시스템은 업데이트되었던 서비스 데이터의 실시간 값이 스트리밍 데이터 내의 나중에-업데이트된 서비스 데이터의 실시간 값 전에 먼저 오는 것을 보장할 수 있다. 그러나, 대다수의 상황에서, 단일의 스레드의 저성능은 다량의 데이터를 위한 실시간 데이터 처리 수요를 충족할 수 없다. 분산형 실시간 데이터 수집 시스템에서, 생성된 분산형 스트리밍 데이터 내의 서비스 데이터의 실시간 값의 시퀀스가 업데이트가 발생되는 시퀀스와는 상이하다는 것이 가능하다.
현재의 기술에서, 서비스 데이터의 실시간 값의 데이터 처리는 스트리밍 데이터 내의 서비스 데이터의 시퀀스에 따라 수행된다. 이 방식에 의해, 분산형 스트리밍 데이터 내의 서비스 데이터의 실시간 값의 시퀀스가 업데이트가 발생되는 시퀀스와는 상이할 때, 앞서 업데이트된 실시간 값이 나중에-업데이트된 실시간 값을 대체할 것이고, 그래서 데이터 처리 결과의 오류를 야기한다.
위의 내용을 고려하면, 본 출원은 스트리밍 데이터의 분배 처리 방법을 제공하되, 방법은,
스트리밍 데이터의 데이터 기록의 서비스 데이터 식별자 정보, 데이터 기록의 처리될 실시간 값, 및 데이터 기록의 처리될 실시간 값의 시간 시퀀스 특성을 획득하는 단계로서, 식별자 정보는 유일하게 서비스 데이터의 원피스 또는 하나의 세트를 나타내는, 획득하는 단계;
저장된 서비스 데이터 식별자 정보와 처리된 실시간 값의 시간 시퀀스 특성 간의 대응 관계에 기초하여 서비스 데이터의 처리된 실시간 값의 시간 시퀀스 특성을 획득하는 단계; 및
서비스 데이터의 처리될 실시간 값의 시간 시퀀스 특성과 서비스 데이터의 처리된 실시간 값의 시간 시퀀스 특성을 비교하고, 그리고 처리될 실시간 값의 시간 시퀀스가 처리된 실시간 값의 시간 시퀀스보다 나중일 때, 서비스 산출(service computation)을 수행할 시 처리될 실시간 값을 채용하고 그리고 처리된 실시간 값의 저장된 시간 시퀀스 특성을 처리될 실시간 값의 시간 시퀀스 특성으로 업데이트하는 단계를 포함한다.
본 출원은 또한 스트리밍 데이터 분배 처리 장치를 포함하되, 장치는,
스트리밍 데이터의 데이터 기록의 서비스 데이터 식별자 정보, 데이터 기록의 처리될 실시간 값, 및 데이터 기록의 처리될 실시간 값의 시간 시퀀스 특성을 획득하도록 구성되는, 처리될 정보 획득부로서, 식별자 정보는 유일하게 서비스 데이터의 원피스 또는 하나의 세트를 나타내는, 처리될 정보 획득부;
저장된 서비스 데이터 식별자 정보와 처리된 실시간 값의 시간 시퀀스 특성 간의 대응 관계에 기초하여 서비스 데이터의 처리된 실시간 값의 시간 시퀀스 특성을 획득하도록 구성되는, 처리된 정보 획득부; 및
서비스 데이터의 처리될 실시간 값의 시간 시퀀스 특성과 서비스 데이터의 처리된 실시간 값의 시간 시퀀스 특성을 비교하고, 그리고 처리될 실시간 값의 시간 시퀀스가 처리된 실시간 값의 시간 시퀀스보다 나중일 때, 서비스 산출을 수행할 시 처리될 실시간 값을 채용하고 그리고 처리된 실시간 값의 저장된 시간 시퀀스 특성을 처리될 실시간 값의 시간 시퀀스 특성으로 업데이트하도록 구성되는, 데이터 처리부를 포함한다.
위의 기술적 해결책에 의해 나타낸 바와 같이, 본 출원의 실시형태에서, 데이터 기록의 처리된 실시간 값의 시간 시퀀스 특성이 데이터 처리 동안 저장되고 그리고 스트리밍 데이터 내의 동일한 데이터 기록으로부터 처리될 실시간 값의 시간 시퀀스 특성과 비교되고, 그리고 처리된 실시간 값보다 나중의 시간 시퀀스를 가진 처리될 실시간 값만이 서비스 산출을 겪는다. 따라서, 데이터 업데이트 시퀀스에 따른 데이터 처리가 달성되어, 나중에 업데이트되었던 실시간 값을 처리함으로써 유발되는 처리 결과 오류를 방지하고, 그리고 데이터 처리 정확도를 향상시킨다.
도 1은 본 출원의 실시형태의 적용 시나리오에 대한 네트워크 구조도;
도 2는 본 출원의 실시형태의 스트리밍 데이터의 분배 처리 방법의 흐름도;
도 3은 본 출원의 실시형태를 포함하는 디바이스의 하드웨어 구조도;
도 4는 본 출원의 실시형태의 스트리밍 데이터 분배 처리 장치의 논리 구조도.
본 출원의 실시형태는 새로운 스트리밍 데이터의 분배 처리 방법을 제시한다. 스트리밍 데이터는 데이터 기록의 처리될 실시간 값의 시간 시퀀스 특성을 포함하고, 그리고 데이터 처리를 이미 겪은 데이터 기록에 대한 처리된 실시간 값의 시간 시퀀스 특성이 저장된다. 처리될 실시간 값과 처리된 실시간 값의 시간 시퀀스 특성을 비교함으로써, 처리될 실시간 값과 처리된 실시간 값의 상대적인 시간 시퀀스가 발견되고, 그리고 처리될 실시간 값의 시간 시퀀스가 나중일 때, 처리될 실시간 값의 시간 시퀀스는 데이터 처리를 겪는다. 이 방식으로, 앞선 시간 시퀀스에 대한 실시간 값의 나중의 처리에 의해 유발되는 데이터 처리 결과의 오류를 방지하는 것이 가능하고, 따라서 기존의 기술의 문제를 해결한다.
본 출원의 실시형태의 적용 시나리오의 네트워크 구조가 도 1에 도시되고; 작동 실행 과정 동안 상이한 서비스 시스템에 의해 생성되고 그리고 리프레시된 서비스 데이터가 서비스 데이터베이스의 복수의 상이한 유형(예를 들어, MySQL, 오라클, HBase 등)에 저장될 수도 있다. 미리 결정된 조건을 충족하는 서비스 데이터가 서비스 데이터베이스에 부가되거나 또는 서비스 데이터베이스에서 리프레시될 때, 데이터 수집 플랫폼은 새롭게 부가된 또는 업데이트된 서비스 데이터에 기초하여 데이터 기록을 생성하고, 스트리밍 데이터인, 끊임없이 생성된 데이터 기록과 결합되고, 그리고 스트리밍 데이터를 실시간 컴퓨팅 플랫폼에 제공한다. 데이터 수집 플랫폼은 메시지-지향 미들웨어(예를 들어, 카프카(kafka), 타임터널(TimeTunel) 등)를 채용하고, 판독을 위한 실시간 컴퓨팅 플랫폼에 제공될 메시지 큐 내에 메시지로서 생성된 데이터 기록을 기입함으로써 달성될 수 있다. 실시간 컴퓨팅 플랫폼은 분산형 컴퓨팅(예를 들어, 제이스톰(Jstorm), 스톰(storm) 등)을 채용할 수 있고, 그리고 또한 중앙집중식 컴퓨팅을 채용할 수 있다. 도 1은 분산형 컴퓨팅이 채용될 때 프레임워크일 수도 있다. 하나 이상의 데이터 분배기(예를 들어, 스톰 플랫폼의 스파우트)는 스트리밍 데이터의 데이터 기록을 적어도 2개의 데이터 프로세서(예를 들어, 스톰 플랫폼의 볼트)에 분배하고, 그리고 데이터 프로세서는 처리 결과에 반영되도록 서비스 데이터의 실시간 변화를 유발한다.
이와 같이, 도 1에서, 데이터 수집 플랫폼이 멀티-스레드 병렬 획득을 채용하고 그리고/또는 실시간 컴퓨팅 플랫폼이 분산형 컴퓨팅을 채용한다면, 서비스 데이터의 부분이 연속적으로 업데이트될 때, 앞서 업데이트되었던 서비스 데이터의 실시간 값을 지닌 데이터 기록은 나중에 업데이트되었던 서비스 데이터의 실시간 값을 지닌 데이터 기록보다 나중에 실시간 컴퓨팅 플랫폼의 데이터 프로세서에 도착할 수도 있다. 본 출원의 실시형태는 실시간 컴퓨팅 플랫폼에서 실행(분산형 컴퓨팅이 채용될 때 각각의 데이터 프로세서에서 실행)될 수도 있고, 그리고 나중에 업데이트된 서비스 데이터의 처리 결과가 전술한 상황에서 앞서 업데이트된 서비스 데이터의 처리 결과에 의해 완전히 커버되는 오류를 방지할 수 있다.
본 출원의 실시형태는 컴퓨팅 및 저장 능력을 가진 임의의 물리 또는 논리 디바이스, 예를 들어, 모바일 폰, 태블릿 컴퓨터, PC(개인용 컴퓨터), 랩탑, 서버, 및 가상 기계에 적용될 수 있다. 디바이스는 대안적으로 상이한 임무를 공유하고, 본 출원의 실시형태의 다양한 기능을 달성하도록 서로 조정되는 2개 이상의 물리 또는 논리 디바이스일 수 있다.
본 출원의 일부 실시형태에서, 스트리밍 데이터의 분배 처리 방법의 흐름이 도 2에 도시된다.
스트리밍 데이터의 데이터 기록의 서비스 데이터 식별자 정보, 데이터 기록의 처리될 실시간 값, 및 데이터 기록의 처리될 실시간 값의 시간 시퀀스 특성을 획득하는 단계(210).
본 출원의 일부 실시형태에서, 데이터 기록은 스트리밍 데이터의 가장 작은 구성 단위이다. 각각의 데이터 기록은 서비스 데이터(예를 들어, 계좌 잔액)의 부분의 변화(부가 또는 업데이트) 또는 서비스 데이터베이스 내의 서비스 데이터(예를 들어, 전송의 수, 전송된 총량)의 세트(2개 이상의 부분)의 동시 변화에 기초하여 생성된다. 데이터 기록은 서비스 데이터의 식별자 정보 또는 서비스 데이터의 세트 및 서비스 데이터의 실시간 값 또는 서비스 데이터의 세트를 포함하고; 보통, 데이터 기록은 또한 실시간 값이 서비스 데이터베이스에서 생성되었던 시간을 포함한다.
여기서, 식별자 정보는 서비스 데이터 또는 서비스 데이터의 세트를 나타내고, 예를 들어, 본 출원의 실시형태가 실행되는 범주 내에서, 식별자 정보와 서비스 데이터 또는 서비스 데이터의 세트 간의 1-대-1 대응이 있다. 예를 들어, 본 출원의 실시형태가 실시간 컴퓨팅 플랫폼의 각각의 데이터 프로세서에서 실행되고, 그래서 데이터 프로세서에 의해 처리된 각각의 데이터 기록에 대해, 식별자 정보와 서비스 데이터의 부분 또는 서비스 데이터의 세트 간의 1-대-1 대응이 있다. 실제의 적용 시나리오에서, 서비스 데이터베이스 내의 필드 및 표 식별자 및/또는 서비스 시스템 내의 서비스 데이터 식별자는 서비스 데이터의 식별자 정보를 결정하도록 참조될 수도 있다. 예를 들어, 일차 키, 표 이름, 및 서비스 데이터가 위치되는 표의 데이터베이스 이름의 조합은 서비스 데이터의 식별자 정보로서 사용될 수도 있다. 또한, 서비스 데이터가 속하는 서비스의 주요 서비스 일차 키 식별자, 부수적인 서비스 일차 키 식별자, 및 애플리케이션 시그니처(application signature)가 서비스 데이터의 식별자 정보로서 사용될 수도 있다.
서비스 데이터의 실시간 값은 가장 최근의 변화 후의 서비스 데이터 또는 서비스 데이터의 세트의 값이다. 실시간 값의 생성 시간은 서비스 데이터가 서비스 데이터베이스에서 변화되는 시간이다.
실시간 값의 시간 시퀀스 특성은 서비스 데이터 또는 서비스 데이터의 세트가 변화했을 때의 시간과 연관된 정보를 포함한다. 서비스 데이터 또는 서비스 데이터의 세트가 N회의 변화를 겪을 때, N개의 데이터 기록이 생성될 것이다. 이 N개의 데이터 기록에서, 서비스 데이터 식별자 정보가 동일하고, 서비스 데이터의 실시간 값이 상이하며, 그리고 대다수의 상황에서, 실시간 값의 시간 시퀀스 특성이 또한 상이하다. 실시간 값의 시간 시퀀스 특성을 비교함으로써, 이 서비스 데이터 또는 서비스 데이터의 세트의 실시간 값 또는 값들이 앞서 발생했는지 그리고 나중에 발생했는지를 아는 것이 보통 가능하다.
실시간 값의 시간 시퀀스 특성으로서 사용되는 변수는 실제의 적용 시나리오에서의 요인, 예컨대, 서비스 데이터가 변화되는 속도 및 스트리밍 데이터 처리를 위한 정밀성 필요조건에 기초하여 선택될 수 있다. 예를 들어, 데이터 기록의 실시간 값의 생성 시간은 실시간 값의 시간 시퀀스 특성으로서 사용될 수도 있다. 동일한 식별자 정보를 가진 서비스 데이터에 대해, 실시간 값의 시간 시퀀스는 실시간 값의 생성 시간에 기초하여 결정될 수 있다. 그러나, 실시간 값의 생성 시간을 저장하는 것이 보통 정밀성에 의해 (예를 들어, 밀리초로) 제한되기 때문에, 함께 매우 가까이(예를 들어, 수 마이크로초 내로) 발생하는 서비스 데이터의 동일한 부분 또는 동일한 세트에 대한 2개의 변화는 동일한 실시간 값의 생성 시간을 가질 수도 있다.
실시간 값의 생성 시간의 정밀성을 증가시키는 것에 더하여, 메시지-지향 미들웨어가 데이터 수집 플랫폼으로서 기능하는 적용 시나리오에서, 실시간 값의 생성 시간, 및 실시간 값의 시간 시퀀스 특성으로서 실시간 값을 포함하는 메시지의 메시지 식별자를 사용하는 것이 또한 가능하다. 이 유형의 적용 시나리오에서, 메시지-지향 미들웨어는 메시지 내의 하나 이상의 데이터 기록을 패키징(package)하고, 메시지 식별자는 메시지 생성의 시간 시퀀스에 따라 각각의 메시지에 대해 지정되고, 그리고 메시지 식별자를 지닌 메시지는 메시지 흐름(즉, 스트리밍 데이터)을 이룬다. 서비스 데이터의 동일한 부분 또는 동일한 세트에 대한 2개의 연이은 변화에 대해 생성된 데이터 기록이 보통 동일한 메시지에서 나타나지 않을 것이기 때문에, 메시지 생성 시간 시퀀스를 반영한 메시지 식별자는 또한 서비스 데이터의 실시간 값의 시간 정보를 반영한다. 동일한 서비스 데이터 식별자 정보를 가진 2개의 데이터 기록에 대해, 서비스 데이터의 실시간 값의 생성 시간이 상이하다면, 실시간 값의 시간 시퀀스는 실시간 값의 생성 시간에 기초하여 결정된다. 서비스 데이터의 실시간 값의 생성 시간이 동일하다면, 실시간 값의 시간 시퀀스는 데이터 기록을 포함하는 메시지의 메시지 식별자에 기초하여 결정될 수 있다.
이와 같이, 데이터 기록이 스트리밍 데이터로부터 추출되고, 그리고 데이터 기록으로부터, 서비스 데이터 식별자 정보 및 서비스 데이터의 처리될 실시간 값(데이터 기록 내의 서비스 데이터의 실시간 값이 데이터 처리를 겪지 않았기 때문에, 데이터 기록 내의 서비스 데이터의 실시간 값은 처리될 실시간 값으로서 지칭될 수도 있음)을 획득하는 것이 가능하고 그리고 처리될 실시간 값의 시간 시퀀스 특성은 데이터 기록으로부터 또는 데이터 기록 및 데이터 기록을 지닌 메시지로부터 획득될 수 있다.
저장된 서비스 데이터 식별자 정보와 처리된 실시간 값의 시간 시퀀스 특성 간의 대응 관계에 기초하여 서비스 데이터의 처리된 실시간 값의 시간 시퀀스 특성을 획득하는 단계(220).
서비스 데이터의 처리될 실시간 값의 시간 시퀀스 특성과 서비스 데이터의 처리된 실시간 값의 시간 시퀀스 특성을 비교하고, 그리고 처리될 실시간 값의 시간 시퀀스가 처리된 실시간 값의 시간 시퀀스보다 나중일 때, 서비스 산출을 수행할 시 처리될 실시간 값을 채용하고 그리고 처리된 실시간 값의 저장된 시간 시퀀스 특성을 처리될 실시간 값의 시간 시퀀스 특성으로 업데이트하는 단계(230).
본 출원의 일부 실시형태에서, 서비스 데이터 식별자 정보와 처리된 실시간 값의 시간 시퀀스 특성 간의 대응 관계의 표가 유지되고, 처리된 실시간 값의 시간 시퀀스 특성은 가장 최근에 데이터 처리를 겪었던 서비스 데이터의 실시간 값의 시간 시퀀스 특성이다. 이 실시간 값을 포함하는 데이터 기록은 스트리밍 데이터에서 원래의 데이터 기록 앞에 배치된다.
새로운 데이터 기록으로부터 서비스 데이터 식별자 정보를 획득한 후에, 식별자 정보와 처리된 실시간 값의 시간 시퀀스 특성 간의 대응 관계의 표가 참고된다. 이 식별자 정보가 제공된다면, 이 식별자 정보를 가진 서비스 데이터의 처리된 실시간 값의 시간 시퀀스 특성이 획득될 수 있다. 이 서비스 데이터의 처리될 실시간 값 및 처리된 실시간 값의 시간 시퀀스 특성이 비교된다. 처리될 실시간 값의 시간 시퀀스가 처리된 실시간 값보다 나중이라면, 처리될 실시간 값은 서비스 산출에서 채용되고(즉, 처리될 실시간 값이 데이터 처리를 겪음), 그리고 식별자 정보와 처리된 실시간 값의 시간 시퀀스 특성 간의 대응 관계의 표에서, 데이터 기록 내의 식별자 정보에 대응하는 처리된 실시간 값의 시간 시퀀스 특성이 데이터 기록의 처리될 실시간 값의 시간 시퀀스 특성 값으로서 업데이트된다. 그렇지 않으면, 데이터 기록 내의 처리될 실시간 값이 처리를 겪지 않고, 즉, 데이터 기록 내의 처리될 실시간 값이 서비스 산출에서 사용되지 않아서, 앞서 업데이트되었던 실시간 값과 나중에 업데이트되었던 실시간 값을 교체하는 것을 방지하고, 이는 데이터 처리 결과의 오류를 초래한다.
실시간 값의 생성 시간이 실시간 값의 시간 시퀀스 특성으로서 기능하는 상황에 대해, 처리될 실시간 값의 생성 시간이 처리된 실시간 값의 생성 시간보다 더 길 때, 처리될 실시간 값의 시간 시퀀스는 처리된 실시간 값의 시간 시퀀스보다 나중이다. 실시간 값의 생성 시간, 및 실시간 값을 포함하는 메시지의 메시지 식별자가 실시간 값의 시간 시퀀스 특성으로서 사용되는 상황에 대해, 처리될 실시간 값의 생성 시간이 처리된 실시간 값의 생성 시간보다 나중일 때, 그리고 처리될 실시간 값 및 처리된 실시간 값의 생성 시간이 동일할 때, 처리될 실시간 값을 포함하는 메시지의 메시지 식별자에 의해 반영된 시간 시퀀스는 처리된 실시간 값을 포함하는 메시지의 메시지 식별자에 의해 반영된 시간 시퀀스보다 나중이고, 처리될 실시간 값의 시간 시퀀스는 처리된 실시간 값의 시간 시퀀스보다 나중이다.
식별자 정보와 처리된 실시간 값의 시간 시퀀스 특성 간의 대응 관계의 표가 데이터 기록 내의 서비스 데이터 식별자 정보에 대응하는 처리된 실시간 값의 시간 시퀀스 특성을 갖지 않는다면, 이것은 이 서비스 데이터 또는 이 서비스 데이터의 세트에 대한 실시간 값을 수용하는 제1 시간일 수도 있다는 것을 의미한다. 따라서, 데이터 기록 내의 서비스 데이터의 처리될 실시간 값이 서비스 산출에서 사용되고, 서비스 데이터의 처리될 실시간 값의 시간 시퀀스 특성이 처리된 실시간 값의 시간 시퀀스 특성으로서 기능하고, 그리고 서비스 데이터의 식별자 정보와 처리된 실시간 값의 시간 시퀀스 특성 간의 대응 관계가 대응 관계 표에 저장된다.
서비스 산출을 실시하도록 처리될 실시간 값을 채용하기 위한 특정한 알고리즘은 현재의 기술의 데이터 처리 모드를 참조함으로써 달성된, 실제의 적용 시나리오의 요구에 기초할 수 있다. 추가의 상세사항은 제공되지 않을 것이다.
식별자 정보와 처리된 실시간 값의 시간 시퀀스 특성 간의 대응 관계의 표 내의 수많은 표 항목 또는 높은 바이트 수를 가진 식별자 정보를 수반한 적용 시나리오에서, 대응 관계 표를 검색하는 것은 상당한 시간량을 필요로 할 수 있다. 데이터 처리의 실시간 품질에 관한 검색 시간의 영향을 감소시키기 위해서, 식별자 정보가 식별자 특성 및 적어도 하나의 식별자 필드를 포함하도록 만들어질 수 있고, 모든 식별자 필드의 조합이 서비스 데이터의 원피스 또는 하나의 세트를 나타내고; 식별자 특성의 입력이 모든 식별자 필드의 조합의 미리 결정된 부분이고, 그리고 알고리즘(예를 들어, 다이제스트 알고리즘(digest algorithm))을 사용하여 생성된다. 대응 관계 표를 검색할 때, 식별자 정보 내의 식별자 특성이 표 항목 검색을 수행하기 위한 색인으로서 사용될 수 있어서, 검색 속도를 가속화한다.
실시간 컴퓨팅 플랫폼이 분산형 컴퓨팅을 채용하는 적용 시나리오에서, 본 출원의 실시형태의 방법은 데이터 처리에 책임이 있는 2개 이상의 소프트웨어 기능 모듈(예를 들어, 도 1에 도시된 네트워크 구조 내의 데이터 프로세서)에서 동시에 그리고 독립적으로 실행된다. 스트리밍 데이터가 이 소프트웨어 기능 모듈에 도착하기 전에, 데이터 분배기는 보통 상이한 데이터 기록을 이 소프트웨어 기능 모듈에 분배할 것이다. 데이터 분배기가 데이터 기록 내의 서비스 데이터 식별자 정보의 전부 또는 미리 결정된 부분에 따라 데이터 기록을 소프트웨어 기능 모듈에 분배할 수 있고, 그래서 동일한 서비스 데이터 식별자 정보를 가진 데이터 기록이 동일한 소프트웨어 기능 모듈에 분배될 수 있다. 이 방식으로, 식별자 정보와 처리된 실시간 값의 시간 시퀀스 특성 간의 대응 관계의 표가 전체의 실시간 컴퓨팅 플랫폼이 아닌 단일의 소프트웨어 기능 모듈에서 구현될 수 있어서, 대응 관계 표의 용량을 감소시키고 그리고 검색 속도를 가속화한다.
이와 같이, 본 출원의 실시형태에서, 스트리밍 데이터는 데이터 기록의 처리될 실시간 값의 시간 시퀀스 특성을 지닌다. 데이터 처리 동안, 데이터 기록의 처리된 실시간 값의 시간 시퀀스 특성이 저장되고, 그리고 처리될 실시간 값 및 처리된 실시간 값의 시간 시퀀스 특성을 비교함으로써, 처리된 실시간 값보다 나중인 시간 시퀀스를 가진 처리될 실시간 값만이 서비스 산출을 겪어서, 나중에 업데이트되었던 실시간 값을 처리함으로써 유발된 처리 결과 오류를 방지하고, 그리고 데이터 처리 정확도를 신장시킨다.
본 출원의 하나의 적용예에서, 메시지-지향 미들웨어는 서비스 데이터베이스로부터 변화되는 서비스 데이터를 수집하고 그리고 데이터 기록을 생성한다. 데이터 기록은 서비스 데이터 식별자 정보, 서비스 데이터의 실시간 값(처리될 실시간 값), 및 실시간 값의 생성 시간을 포함한다. 여기서, 서비스 데이터 식별자 정보는 식별자 특성 및 적어도 2개의 식별자 필드를 포함하고, 그리고 식별자 필드는 하나 이상의 서비스 일차 키 식별자와 서비스 시그니처이다. 이 서비스 일차 키 식별자와 서비스 시그니처의 조합과 (데이터 기록을 처리하는 소프트웨어 기능 모듈의 범주 내에서) 데이터 기록을 생성하도록 사용된 서비스 데이터 간에 1-대-1 대응이 있다. 서비스 일차 키 식별자는 주요 서비스 일차 키 식별자를 포함한다. 1개보다 많은 서비스 일차 키 식별자가 있다면, 서비스 일차 키 식별자는 또한 부수적인 서비스 일차 키 식별자 및 다른 서비스 일차 키 식별자를 포함할 수 있다. 식별자 특성은 주요 서비스 일차 키의 다이제스트 값의 제1 수개의 비트이고, 다이제스트 값은 다이제스트 알고리즘을 채용한 후에 주요 서비스 일차 키로부터 획득된 값이다. 예를 들어, 주요 서비스 일차 키의 MD5(Message Digest Algorithm 5) 값의 제1의 5 비트는 식별자 특성으로서 사용될 수 있다. 식별자 특성은 서비스 데이터의 식별자 정보로서 기능하도록 모든 식별자 필드(고정 부호가 "#"와 같은 조인 연산자(join operator)로서 인접한 식별자 필드 간에 사용될 수 있음)와 조인(join)된다. 예시적인 결과가 표 1에 도시된다.
식별자 특성 식별자 필드
주요 서비스 일차 키 식별자의 MD5 값의 제1의 5 비트 주요 서비스 일차 키 식별자 부수적인 서비스 일차 키 식별자 다른 서비스 일차 키 식별자 서비스 시그니처
"#"를 사용하여 조인됨
메시지-지향 미들웨어가 메시지 내의 데이터 기록을 패키징하고, 오름차순으로 분류된 다음의 메시지 일련 번호가 메시지 식별자(메시지 내에 유사하게 패키징됨)로서 사용되고, 그리고 생성된 메시지가 메시지 큐에 배치된다.
실시간 컴퓨팅 플랫폼의 데이터 분배기가 메시지 큐로부터 메시지를 추출하고, 데이터 기록을 파싱(parse)하고, 그리고 데이터 기록 및 데이터 기록을 포함하는 메시지의 메시지 식별자를 데이터 기록 내의 서비스 데이터 식별자 정보의 식별자 특성에 따라 데이터 프로세서 중 하나로 전송한다. 식별자 특성이 주요 서비스 일차 키의 다이제스트 값의 제1 수개의 비트이기 때문에, 서비스 데이터가 동일한 주요 서비스 일차 키를 가진 데이터 기록이 동일한 데이터 프로세서에 분배될 것이다. 즉, 동일한 서비스 데이터가 동일한 데이터 프로세서에서 데이터 처리를 겪을 것이다.
각각의 데이터 프로세서는 서비스 데이터 식별자 정보와 처리된 실시간 값의 시간 시퀀스 특성 간의 대응 관계: DATA_CHECK의 표를 유지한다. DATA_CHECK 표의 필드는 표 2에 도시된다:
필드 이름 필드 유형 필드 설명 비고
ROWKEY STRING 일차 키 식별자 특성 + 식별자 필드
LAST_VERSION STRING 처리된 실시간 값의 시간 시퀀스 특성 실시간 값의 생성 시간 + 위치되는 메시지의 메시지 식별자
데이터 기록 및 데이터 분배기에 의해 분배되는 데이터 기록이 위치되는 메시지의 메시지 식별자를 수신한 후에, 데이터 프로세서가 데이터 기록으로부터 서비스 데이터 식별자 정보를 추출하고, 데이터 기록의 서비스 데이터의 실시간 값 및 실시간 값의 생성 시간을 처리될 실시간 값 및 처리될 실시간 값의 생성 시간으로서 사용하고, 그리고 분산형 메시지 식별자를 처리될 실시간 값이 위치되는 메시지의 메시지 식별자로서 사용한다.
식별자 정보 내의 식별자 특성을 색인으로서 사용하여, 데이터 프로세서는 DATA_CHECK 표 내의 ROWKEY를 이 식별자 정보에 대한 표 항목으로서 검색하고, 식별자 정보에 대응하는 처리된 실시간 값의 시간 시퀀스 특성의 LAST_VERSION을 획득하고, 그리고 처리된 실시간 값의 생성 시간 및 처리된 실시간 값이 위치되는 메시지의 메시지 식별자를 파싱한다.
데이터 프로세서는 처리될 실시간 값의 생성 시간과 처리된 실시간 값의 생성 시간을 비교한다. 처리될 실시간 값의 생성 시간이 처리된 실시간 값의 생성 시간보다 나중이라면, 또는 처리될 실시간 값의 생성 시간과 처리된 실시간 값의 생성 시간이 동일하고 그리고 처리될 실시간 값이 위치되는 메시지의 메시지 식별자가 처리된 실시간 값이 위치되는 메시지의 메시지 식별자보다 더 크다면, 처리될 실시간 값은 데이터 처리를 겪고, 그리고 DATA_CHECK 표 내의 이 식별자 정보를 가진 표 항목의 LAST_VERSION이 처리될 실시간 값의 생성 시간 및 처리될 실시간 값을 보유한 메시지의 메시지 식별자로 변화된다. 그렇지 않으면, 데이터 기록의 처리될 실시간 값이 폐기되고 그리고 데이터 처리를 겪지 않는다.
위에서 설명된 과정의 구현예에 대응하여, 본 출원의 실시형태가 또한 스트리밍 데이터 분배 처리를 위한 장치를 제공한다. 이 장치는 소프트웨어를 통해, 하드웨어 또는 소프트웨어와 하드웨어의 조합을 통해 구현될 수 있다. 실시예인 소프트웨어 구현예를 논리 장치로서 사용하여, 장치는 디바이스의 중앙 처리 장치(CPU: Central Processing Unit)를 가짐으로써 실행되고 CPU는 대응하는 컴퓨터 프로그램 명령어를 판독하도록 메모리에 대해 위치된다. 하드웨어에 대해서 말하자면, 도 3에 도시된 CPU, 내부 메모리 및 비휘발성 메모리 외에, 스트리밍 데이터 분배 처리를 위한 장치가 위치되는 디바이스는 보통 또한 다른 하드웨어, 예컨대, 무선 신호 전송 및 수신을 수행하도록 사용되는 칩 및/또는 다른 하드웨어, 예컨대, 네트워크 통신을 위해 사용되는 카드를 포함한다.
도 4는 처리될 정보 획득부, 처리된 정보 획득부, 및 데이터 처리부를 포함하는, 본 출원의 실시형태에 의해 제공된 스트리밍 데이터 분배 처리 장치를 도시하고, 여기서: 처리될 정보 획득부는 스트리밍 데이터의 데이터 기록의 서비스 데이터 식별자 정보, 데이터 기록의 처리될 실시간 값, 및 데이터 기록의 처리될 실시간 값의 시간 시퀀스 특성을 획득하도록 구성되고, 식별자 정보는 유일하게 서비스 데이터의 원피스 또는 하나의 세트를 나타내며; 처리된 정보 획득부는 저장된 서비스 데이터 식별자 정보와 처리된 실시간 값의 시간 시퀀스 특성 간의 대응 관계에 기초하여 서비스 데이터의 처리된 실시간 값의 시간 시퀀스 특성을 획득하도록 구성되고; 데이터 처리부는 서비스 데이터의 처리될 실시간 값의 시간 시퀀스 특성과 서비스 데이터의 처리된 실시간 값의 시간 시퀀스 특성을 비교하고, 그리고 처리될 실시간 값의 시간 시퀀스가 처리된 실시간 값의 시간 시퀀스보다 나중일 때, 서비스 산출을 수행할 시 처리될 실시간 값을 채용하고 그리고 처리된 실시간 값의 저장된 시간 시퀀스 특성을 처리될 실시간 값의 시간 시퀀스 특성으로 업데이트하도록 구성된다.
임의로, 실시간 값의 시간 시퀀스 특성은 실시간 값의 생성 시간을 포함한다.
임의로, 스트리밍 데이터는: 데이터 기록의 서비스 데이터 식별자 정보를 지닌 메시지의 메시지 흐름, 데이터 기록의 처리될 실시간 값, 및 데이터 기록의 처리될 실시간 값의 시간 시퀀스 특성을 포함하고; 실시간 값의 시간 시퀀스 특성은: 실시간 값의 생성 시간 및 실시간 값을 포함하는 메시지의 메시지 식별자를 포함하고, 메시지 식별자는 메시지 생성의 시간 시퀀스를 반영할 수 있고; 처리될 실시간 값의 시간 시퀀스가 처리된 실시간 값의 시간 시퀀스보다 나중인 것은: 처리될 실시간 값의 생성 시간이 처리된 실시간 값의 생성 시간보다 나중인 것, 또는 처리될 실시간 값과 처리된 실시간 값의 생성 시간이 동일한 것 및 처리될 실시간 값을 포함하는 메시지의 메시지 식별자에 의해 반영된 시간 시퀀스가 처리된 실시간 값을 포함하는 메시지의 메시지 식별자에 의해 반영된 시간 시퀀스보다 나중인 것을 포함한다.
임의로, 장치는: 서비스 데이터의 처리된 실시간 값의 시간 시퀀스 특성이 저장되기 전에 서비스 산출에서 서비스 데이터의 처리될 실시간 값을 채용하고, 서비스 데이터의 처리될 값의 시간 시퀀스 특성을 처리된 실시간 값의 시간 시퀀스 특성으로서 사용하고, 그리고 서비스 데이터 식별자 정보와 처리된 실시간 값의 시간 시퀀스 특성 간의 대응 관계를 저장하도록 구성된, 처리된 정보 부가부를 또한 포함한다.
임의로, 스트리밍 데이터의 분배 처리 방법은 적어도 2개의 소프트웨어 기능 모듈에서 동시에 그리고 독립적으로 실행되고, 그리고 소프트웨어 기능 모듈에 의해 처리된 데이터 기록은 데이터 기록의 서비스 데이터 식별자 정보 또는 서비스 데이터 식별자 정보의 일부에 기초하여 결정된다.
하나의 실시예에서, 식별자 정보는 식별자 특성 및 적어도 하나의 식별자 필드를 포함하고; 모든 식별자 필드의 조합은 서비스 데이터의 원피스 또는 하나의 세트를 나타내고, 그리고 식별자 특성은 모든 식별자 필드의 조합의 미리 결정된 부분에 기초하여 생성된다.
이전의 실시예에서, 식별자 필드는 주요 서비스 일차 키 식별자 및 애플리케이션 시그니처를 포함할 수도 있고; 식별자 특성은 주요 서비스 일차 키 식별자의 다이제스트 값의 제1 수개의 비트이다.
위의 내용은 단지 본 출원의 바람직한 실시형태이고 본 출원을 제한하지 않는다. 본 출원의 정신 및 원리 내에서 행해진 모든 변화, 등가 치환 및 개선은 본 출원의 보호 범위 내에 속할 것이다.
하나의 전형적인 구성에서, 산출 디바이스는 하나 이상의 프로세서(CPU), 입력/출력 인터페이스, 네트워크 인터페이스 및 내부 메모리를 포함한다.
내부 메모리는 컴퓨터-판독 가능 매체의 휘발성 메모리, 랜덤 액세스 메모리(RAM: random access memory) 및/또는 비휘발성 RAM, 예컨대, 판독-전용 메모리(ROM: read-only memory), 또는 플래시 RAM의 형태를 포함할 수도 있다. 내부 메모리는 컴퓨터-판독 가능 매체의 예이다.
컴퓨터-판독 가능 매체는 임의의 방법 또는 기술을 통해 정보 저장을 달성할 수 있는, 영구적, 비영구적, 이동 및 부동 매체를 포함한다. 정보는 컴퓨터-판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터일 수도 있다. 컴퓨터 저장 매체의 예는 상-변화 RAM(Phase-change RAM: PRAM), 정적 RAM(Static RAM: SRAM), 동적 RAM(Dynamic RAM: DRAM), 다른 유형의 랜덤 액세스 메모리(RAM), 판독-전용 메모리(ROM), 전기적으로 소거 가능한 프로그램 가능 판독-전용 메모리(Electrically Erasable Programmable Read-Only Memory: EEPROM), 플래시 메모리 또는 다른 내부 메모리 기술, 콤팩트 디스크 판독-전용 메모리(Compact Disk Read-Only Memory: CD-ROM), 디지털 다기능 디스크(Digital Versatile Disc: DVD) 또는 다른 광 메모리, 카세트, 자기 테이프 및 디스크 메모리 또는 다른 자기 메모리 디바이스 또는 임의의 다른 비전송 매체를 포함하지만, 이로 제한되지 않고, 이들은 산출 디바이스에 의해 액세스될 수 있는 정보를 저장하기 위해 사용될 수 있다. 본 명세서의 정의에 따르면, 컴퓨터-판독 가능 매체는 일시적인 컴퓨터-판독 가능 매체(일시적인 매체), 예컨대, 변조된 데이터 신호 및 캐리어를 배제할 수도 있다.
용어 "포함" 또는 이들의 임의의 변형은 배타적이지 않은 포함인 것으로 의도된다는 것을 주의하라. 따라서, 일련의 구성요소를 포함하는 과정, 방법, 제품 또는 디바이스가 단지 이 구성요소만을 포함하지 않을 수도 있지만 또한 명백히 나열되지 않은 다른 구성요소, 또는 상기의 과정, 방법, 제품 또는 디바이스에 고유한 구성요소를 포함할 수도 있다. 다른 제한이 없다면, 어구 "~을 포함하는"은 구성요소를 포함하는 과정, 방법, 제품 또는 디바이스 내의 다른 유사한 구성요소의 존재를 배제하지 않는다.
당업자는 본 출원의 실시형태가 방법, 시스템 또는 컴퓨터 프로그램 제품으로서 제공될 수 있다는 것을 이해해야 한다. 따라서, 본 출원은 순전히 하드웨어 실시형태의 형태, 순전히 소프트웨어 실시형태의 형태 또는 소프트웨어와 하드웨어를 결합하는 실시형태의 형태를 채용할 수도 있다. 또한, 본 출원은 컴퓨터-실행 가능 프로그램 코드를 포함하는 하나 이상의 컴퓨터 저장 매체(자기 디스크 메모리, CD-ROM 및 광 메모리를 포함하지만 이로 제한되지 않음)를 통해 달성된 컴퓨터 프로그램 제품의 형태를 채용할 수도 있다.

Claims (14)

  1. 스트리밍 데이터의 분배 처리 방법으로서,
    스트리밍 데이터의 데이터 기록의 서비스 데이터 식별자 정보, 상기 데이터 기록의 처리될 실시간 값, 및 상기 데이터 기록의 상기 처리될 실시간 값의 시간 시퀀스 특성을 획득하는 단계로서, 상기 식별자 정보는 유일하게 서비스 데이터의 원피스 또는 하나의 세트를 나타내는, 상기 획득하는 단계;
    저장된 서비스 데이터 식별자 정보와 처리된 실시간 값의 시간 시퀀스 특성 간의 대응 관계에 기초하여 상기 서비스 데이터의 상기 처리된 실시간 값의 상기 시간 시퀀스 특성을 획득하는 단계; 및
    상기 서비스 데이터의 상기 처리될 실시간 값의 상기 시간 시퀀스 특성과 상기 서비스 데이터의 상기 처리된 실시간 값의 상기 시간 시퀀스 특성을 비교하고, 그리고 상기 처리될 실시간 값의 시간 시퀀스가 상기 처리된 실시간 값의 시간 시퀀스보다 나중일 때, 서비스 산출(service computation)을 수행할 시 상기 처리될 실시간 값을 채용하고 그리고 상기 처리된 실시간 값의 저장된 시간 시퀀스 특성을 상기 처리될 실시간 값의 상기 시간 시퀀스 특성으로 업데이트하는 단계를 포함하는, 스트리밍 데이터의 분배 처리 방법.
  2. 제1항에 있어서, 상기 실시간 값의 상기 시간 시퀀스 특성은 실시간 값의 생성 시간을 포함하는, 스트리밍 데이터의 분배 처리 방법.
  3. 제1항에 있어서, 상기 스트리밍 데이터는, 상기 데이터 기록의 상기 서비스 데이터 식별자 정보를 지닌 메시지의 메시지 흐름, 상기 데이터 기록의 상기 처리될 실시간 값, 및 상기 데이터 기록의 상기 처리될 실시간 값의 상기 시간 시퀀스 특성을 포함하고;
    상기 실시간 값의 상기 시간 시퀀스 특성은, 실시간 값의 생성 시간 및 상기 실시간 값을 포함하는 메시지의 메시지 식별자를 포함하되, 상기 메시지 식별자는 메시지 생성의 시간 시퀀스를 반영할 수 있고; 그리고
    상기 처리될 실시간 값의 상기 시간 시퀀스가 상기 처리된 실시간 값의 상기 시간 시퀀스보다 나중인 것은, 상기 처리될 실시간 값의 생성 시간이 상기 처리된 실시간 값의 생성 시간보다 나중인 것, 또는 상기 처리될 실시간 값과 상기 처리된 실시간 값의 상기 생성 시간이 동일한 것 및 상기 처리될 실시간 값을 포함하는 메시지의 메시지 식별자에 의해 반영된 시간 시퀀스가 상기 처리된 실시간 값을 포함하는 메시지의 메시지 식별자에 의해 반영된 시간 시퀀스보다 나중인 것을 포함하는, 스트리밍 데이터의 분배 처리 방법.
  4. 제1항에 있어서, 상기 서비스 데이터의 상기 처리된 실시간 값의 상기 시간 시퀀스 특성이 저장되기 전에 상기 서비스 산출에서 상기 서비스 데이터의 상기 처리될 실시간 값을 채용하고, 상기 서비스 데이터의 상기 처리될 값의 상기 시간 시퀀스 특성을 상기 처리된 실시간 값의 상기 시간 시퀀스 특성으로서 사용하고, 그리고 상기 서비스 데이터 식별자 정보와 상기 처리된 실시간 값의 상기 시간 시퀀스 특성 간의 대응 관계를 저장하는 단계를 더 포함하는, 스트리밍 데이터의 분배 처리 방법.
  5. 제1항에 있어서, 상기 스트리밍 데이터의 분배 처리 방법은 적어도 2개의 소프트웨어 기능 모듈에서 동시에 그리고 독립적으로 실행되고, 그리고 상기 소프트웨어 기능 모듈에 의해 처리된 상기 데이터 기록은 상기 데이터 기록의 상기 서비스 데이터 식별자 정보 또는 상기 서비스 데이터 식별자 정보의 일부에 기초하여 결정되는, 스트리밍 데이터의 분배 처리 방법.
  6. 제1항 또는 제5항에 있어서, 상기 식별자 정보는 식별자 특성 및 적어도 하나의 식별자 필드를 포함하고; 모든 식별자 필드의 조합은 유일하게 상기 서비스 데이터의 원피스 또는 하나의 세트를 나타내고, 그리고 상기 식별자 특성은 상기 모든 식별자 필드의 조합의 미리 결정된 부분에 기초하여 생성되는, 스트리밍 데이터의 분배 처리 방법.
  7. 제6항에 있어서, 상기 식별자 필드는 주요 서비스 일차 키 식별자 및 애플리케이션 시그니처(application signature)를 포함하고; 상기 식별자 특성은 상기 주요 서비스 일차 키 식별자의 다이제스트 값의 제1 수개의 비트인, 스트리밍 데이터의 분배 처리 방법.
  8. 스트리밍 데이터 분배 처리 장치로서,
    스트리밍 데이터의 데이터 기록의 서비스 데이터 식별자 정보, 상기 데이터 기록의 처리될 실시간 값, 및 상기 데이터 기록의 상기 처리될 실시간 값의 시간 시퀀스 특성을 획득하도록 구성되는, 처리될 정보 획득부로서, 상기 식별자 정보는 유일하게 서비스 데이터의 원피스 또는 하나의 세트를 나타내는, 상기 처리될 정보 획득부;
    저장된 서비스 데이터 식별자 정보와 처리된 실시간 값의 시간 시퀀스 특성 간의 대응 관계에 기초하여 상기 서비스 데이터의 상기 처리된 실시간 값의 상기 시간 시퀀스 특성을 획득하도록 구성되는, 처리된 정보 획득부; 및
    상기 서비스 데이터의 상기 처리될 실시간 값의 상기 시간 시퀀스 특성과 상기 서비스 데이터의 상기 처리된 실시간 값의 상기 시간 시퀀스 특성을 비교하고, 그리고 상기 처리될 실시간 값의 시간 시퀀스가 상기 처리된 실시간 값의 시간 시퀀스보다 나중일 때, 서비스 산출을 수행할 시 상기 처리될 실시간 값을 채용하고 그리고 상기 처리된 실시간 값의 저장된 시간 시퀀스 특성을 상기 처리될 실시간 값의 상기 시간 시퀀스 특성으로 업데이트하도록 구성되는, 데이터 처리부를 포함하는, 스트리밍 데이터 분배 처리 장치.
  9. 제8항에 있어서, 상기 실시간 값의 시간 시퀀스 특성은 상기 실시간 값의 생성 시간을 포함하는, 스트리밍 데이터 분배 처리 장치.
  10. 제8항에 있어서, 상기 스트리밍 데이터는, 상기 데이터 기록의 상기 서비스 데이터 식별자 정보를 지닌 메시지의 메시지 흐름, 상기 데이터 기록의 상기 처리될 실시간 값, 및 상기 데이터 기록의 상기 처리될 실시간 값의 상기 시간 시퀀스 특성을 포함하고;
    상기 실시간 값의 상기 시간 시퀀스 특성은, 실시간 값의 생성 시간 및 상기 실시간 값을 포함하는 메시지의 메시지 식별자를 포함하되, 상기 메시지 식별자는 메시지 생성의 시간 시퀀스를 반영할 수 있고; 그리고
    상기 처리될 실시간 값의 상기 시간 시퀀스가 상기 처리된 실시간 값의 상기 시간 시퀀스보다 나중인 것은, 상기 처리될 실시간 값의 생성 시간이 상기 처리된 실시간 값의 생성 시간보다 나중인 것, 또는 상기 처리될 실시간 값과 상기 처리된 실시간 값의 상기 생성 시간이 동일한 것 및 상기 처리될 실시간 값을 포함하는 메시지의 메시지 식별자에 의해 반영된 시간 시퀀스가 상기 처리된 실시간 값을 포함하는 메시지의 메시지 식별자에 의해 반영된 시간 시퀀스보다 나중인 것을 포함하는, 스트리밍 데이터 분배 처리 장치.
  11. 제8항에 있어서, 상기 서비스 데이터의 상기 처리된 실시간 값의 상기 시간 시퀀스 특성이 저장되기 전에 상기 서비스 산출에서 상기 서비스 데이터의 상기 처리될 실시간 값을 채용하고, 상기 서비스 데이터의 상기 처리될 값의 상기 시간 시퀀스 특성을 상기 처리된 실시간 값의 상기 시간 시퀀스 특성으로서 사용하고, 그리고 상기 서비스 데이터 식별자 정보와 상기 처리된 실시간 값의 상기 시간 시퀀스 특성 간의 대응 관계를 저장하도록 구성되는, 처리된 정보 부가부를 더 포함하는, 스트리밍 데이터 분배 처리 장치.
  12. 제8항에 있어서, 상기 스트리밍 데이터의 분배 처리 방법은 적어도 2개의 소프트웨어 기능 모듈에서 동시에 그리고 독립적으로 실행되고, 그리고 상기 소프트웨어 기능 모듈에 의해 처리된 상기 데이터 기록은 상기 데이터 기록의 상기 서비스 데이터 식별자 정보 또는 상기 서비스 데이터 식별자 정보의 일부에 기초하여 결정되는, 스트리밍 데이터 분배 처리 장치.
  13. 제8항 또는 제12항에 있어서, 상기 식별자 정보는 식별자 특성 및 적어도 하나의 식별자 필드를 포함하고; 모든 식별자 필드의 조합은 유일하게 상기 서비스 데이터의 원피스 또는 하나의 세트를 나타내고, 그리고 상기 식별자 특성은 상기 모든 식별자 필드의 조합의 미리 결정된 부분에 기초하여 생성되는, 스트리밍 데이터 분배 처리 장치.
  14. 제13항에 있어서, 상기 식별자 필드는 주요 서비스 일차 키 식별자 및 애플리케이션 시그니처를 포함하고; 상기 식별자 특성은 상기 주요 서비스 일차 키 식별자의 다이제스트 값의 제1 수개의 비트인, 스트리밍 데이터 분배 처리 장치.
KR1020197001861A 2016-06-20 2017-06-07 스트리밍 데이터의 분배 처리 방법 및 디바이스 KR102099544B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610447125.8A CN106874320A (zh) 2016-06-20 2016-06-20 分布式流式数据处理的方法和装置
CN201610447125.8 2016-06-20
PCT/CN2017/087380 WO2017219858A1 (zh) 2016-06-20 2017-06-07 分布式流式数据处理的方法和装置

Publications (2)

Publication Number Publication Date
KR20190020105A true KR20190020105A (ko) 2019-02-27
KR102099544B1 KR102099544B1 (ko) 2020-05-18

Family

ID=59239567

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197001861A KR102099544B1 (ko) 2016-06-20 2017-06-07 스트리밍 데이터의 분배 처리 방법 및 디바이스

Country Status (16)

Country Link
US (1) US11036562B2 (ko)
EP (1) EP3474162A4 (ko)
JP (1) JP6716727B2 (ko)
KR (1) KR102099544B1 (ko)
CN (1) CN106874320A (ko)
AU (1) AU2017282818C1 (ko)
BR (1) BR112018076658A8 (ko)
CA (1) CA3025215C (ko)
MX (1) MX2018016067A (ko)
MY (1) MY188882A (ko)
PH (1) PH12018502494A1 (ko)
RU (1) RU2705429C1 (ko)
SG (1) SG11201810630PA (ko)
TW (1) TWI662426B (ko)
WO (1) WO2017219858A1 (ko)
ZA (1) ZA201808139B (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110019214A (zh) * 2017-12-04 2019-07-16 北京京东尚科信息技术有限公司 对数据拆分结果进行校验的方法和装置
CN109002472B (zh) * 2018-06-13 2023-07-14 平安科技(深圳)有限公司 一种数据库差异的识别方法及装置
CN109361629B (zh) * 2018-10-26 2020-11-03 江苏大学 一种基于Kafka大消息可靠传输方法
CN110033263A (zh) * 2019-01-14 2019-07-19 阿里巴巴集团控股有限公司 基于区块链的用户特征值获取、应用方法和装置
RU2722538C1 (ru) * 2019-12-13 2020-06-01 Общество С Ограниченной Ответственностью "Убик" Компьютерно-реализуемый способ обработки информации об объектах, с использованием методов совместных вычислений и методов анализа данных
CN111611252B (zh) * 2020-04-01 2023-07-18 石化盈科信息技术有限责任公司 数据同步过程中安全数据的监控、装置、设备和存储介质
WO2021230771A2 (en) * 2020-05-12 2021-11-18 Ubic Technologies Llc Method of piece data synchronization describing a single entity and stored in different databases
CN111639138B (zh) * 2020-06-03 2023-04-25 中国联合网络通信集团有限公司 数据处理方法、装置、设备及存储介质
CN112150248B (zh) * 2020-09-30 2021-08-03 欧冶云商股份有限公司 一种基于批流融合的挂货量统计方法、系统、装置
CN112200505B (zh) * 2020-12-04 2022-02-08 望海康信(北京)科技股份公司 跨业务系统的流程监控装置、方法及相应设备和存储介质
CN112988429B (zh) * 2021-05-08 2021-08-06 成都新希望金融信息有限公司 数据处理方法、装置、电子设备和计算机可读存储介质
CN113160918A (zh) * 2021-05-21 2021-07-23 山东健康医疗大数据有限公司 一种变化数据捕获的统一处理方法及工具
CN113672621A (zh) * 2021-08-20 2021-11-19 建信金融科技有限责任公司 一种生成时序主键的方法、装置及设备
CN115098247A (zh) * 2022-06-06 2022-09-23 支付宝(杭州)信息技术有限公司 资源分配方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051245B2 (en) * 2002-11-30 2006-05-23 International Business Machines Corporation System and method for handling out-of-order data supplied by a real-time feed
KR20080096004A (ko) * 2007-04-26 2008-10-30 엔에이치엔(주) 웹로그의 시계열 분석을 위한 데이터 저장 및 조회 방법그리고 상기 방법을 수행하는 시스템
KR101410621B1 (ko) * 2009-02-04 2014-06-23 구글 인코포레이티드 비디오 스트리밍의 끊김없는 되감기 및 재생을 위한 서버측 지원
CN104091276A (zh) * 2013-12-10 2014-10-08 深圳市腾讯计算机系统有限公司 在线分析点击流数据的方法和相关装置及系统
KR101588375B1 (ko) * 2014-04-25 2016-01-25 네이버 주식회사 데이터베이스 관리 방법 및 데이터베이스 관리 시스템

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185871A (en) 1989-12-26 1993-02-09 International Business Machines Corporation Coordination of out-of-sequence fetching between multiple processors using re-execution of instructions
US8639625B1 (en) * 1995-02-13 2014-01-28 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US6055619A (en) 1997-02-07 2000-04-25 Cirrus Logic, Inc. Circuits, system, and methods for processing multiple data streams
US6748440B1 (en) 1999-05-12 2004-06-08 Microsoft Corporation Flow of streaming data through multiple processing modules
US7007096B1 (en) 1999-05-12 2006-02-28 Microsoft Corporation Efficient splitting and mixing of streaming-data frames for processing through multiple processing modules
US6880126B1 (en) 1999-08-03 2005-04-12 International Business Machines Corporation Controlling presentation of a GUI, using view controllers created by an application mediator, by identifying a destination to access a target to retrieve data
US7181017B1 (en) * 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US6633825B2 (en) * 2001-06-29 2003-10-14 Siemens Power Transmission & Distribution, Inc. Automatic calibration of time keeping for utility meters
US6910078B1 (en) 2001-11-15 2005-06-21 Cisco Technology, Inc. Methods and apparatus for controlling the transmission of stream data
JP4154893B2 (ja) * 2002-01-23 2008-09-24 株式会社日立製作所 ネットワークストレージ仮想化方法
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
EP2264628A1 (en) 2002-09-18 2010-12-22 Netezza Corporation Intelligent storage device controller
EP1463309A1 (fr) 2003-03-26 2004-09-29 THOMSON Licensing S.A. Traitement d'un format de flux de données pour la réception audiovisuelle mobile
CN101167357B (zh) 2005-04-26 2011-09-07 皇家飞利浦电子股份有限公司 用于处理具有分组序列和与分组有关的定时信息的数据流的设备和方法
US20070226226A1 (en) * 2006-03-23 2007-09-27 Elta Systems Ltd. Method and system for distributing processing of computerized tasks
JP5198929B2 (ja) 2008-04-25 2013-05-15 株式会社日立製作所 ストリームデータ処理方法及び計算機システム
JP5154366B2 (ja) 2008-10-28 2013-02-27 株式会社日立製作所 ストリームデータ処理プログラム及び計算機システム
JP5465413B2 (ja) 2008-10-29 2014-04-09 株式会社日立製作所 ストリームデータ処理方法、及びそのシステム
US8438456B2 (en) 2009-10-05 2013-05-07 Cleversafe, Inc. Method and apparatus for dispersed storage of streaming data
RU2494453C2 (ru) * 2011-11-24 2013-09-27 Закрытое акционерное общество "Лаборатория Касперского" Способ распределенного выполнения задач компьютерной безопасности
CN103458000B (zh) * 2013-08-07 2016-06-08 广东电网公司佛山供电局 终端数据同步系统与方法
WO2015103615A1 (en) * 2014-01-06 2015-07-09 Yyesit, Llc Method and apparatus of surveillance system
CN104794114B (zh) * 2014-01-16 2018-04-03 阿里巴巴集团控股有限公司 一种数据处理方法及装置
US9389899B2 (en) * 2014-01-27 2016-07-12 Red Hat Israel, Ltd. Fair unidirectional multi-queue virtual machine migration
CN104866234B (zh) * 2014-02-21 2019-01-22 腾讯科技(北京)有限公司 数据迁移方法、装置及系统
WO2015183517A1 (en) * 2014-05-29 2015-12-03 Causam Energy, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US20160026673A1 (en) * 2014-07-25 2016-01-28 Linkedin Corporation Ensuring consistency of derived data in a distributed storage system
CN104320382B (zh) * 2014-09-30 2018-04-20 华为技术有限公司 分布式的实时流处理装置、方法和单元
US9754002B2 (en) * 2014-10-07 2017-09-05 Excalibur Ip, Llc Method and system for providing a synchronization service
GB201421674D0 (en) * 2014-12-05 2015-01-21 Business Partners Ltd Real time document indexing
RU2584471C1 (ru) * 2014-12-30 2016-05-20 Некоммерческое Партнерство "Центр Прикладных Исследований Компьютерных Сетей" УСТРОЙСТВО ДЛЯ ПРИЕМА И ПЕРЕДАЧИ ДАННЫХ С ВОЗМОЖНОСТЬЮ ОСУЩЕСТВЛЕНИЯ ВЗАИМОДЕЙСТВИЯ С OpenFlow КОНТРОЛЛЕРОМ
US10706468B2 (en) * 2015-08-03 2020-07-07 Trading Technologies International, Inc. Contextual searching

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051245B2 (en) * 2002-11-30 2006-05-23 International Business Machines Corporation System and method for handling out-of-order data supplied by a real-time feed
KR20080096004A (ko) * 2007-04-26 2008-10-30 엔에이치엔(주) 웹로그의 시계열 분석을 위한 데이터 저장 및 조회 방법그리고 상기 방법을 수행하는 시스템
KR101410621B1 (ko) * 2009-02-04 2014-06-23 구글 인코포레이티드 비디오 스트리밍의 끊김없는 되감기 및 재생을 위한 서버측 지원
CN104091276A (zh) * 2013-12-10 2014-10-08 深圳市腾讯计算机系统有限公司 在线分析点击流数据的方法和相关装置及系统
KR101588375B1 (ko) * 2014-04-25 2016-01-25 네이버 주식회사 데이터베이스 관리 방법 및 데이터베이스 관리 시스템

Also Published As

Publication number Publication date
EP3474162A1 (en) 2019-04-24
MX2018016067A (es) 2019-03-28
JP6716727B2 (ja) 2020-07-01
US20190114213A1 (en) 2019-04-18
TW201800967A (zh) 2018-01-01
CA3025215A1 (en) 2017-12-28
AU2017282818B2 (en) 2019-08-22
RU2705429C1 (ru) 2019-11-07
PH12018502494A1 (en) 2019-07-15
BR112018076658A2 (pt) 2019-04-02
CA3025215C (en) 2020-06-02
MY188882A (en) 2022-01-12
CN106874320A (zh) 2017-06-20
BR112018076658A8 (pt) 2023-01-31
US11036562B2 (en) 2021-06-15
KR102099544B1 (ko) 2020-05-18
ZA201808139B (en) 2020-08-26
WO2017219858A1 (zh) 2017-12-28
TWI662426B (zh) 2019-06-11
JP2019523952A (ja) 2019-08-29
SG11201810630PA (en) 2019-01-30
EP3474162A4 (en) 2020-01-15
AU2017282818A1 (en) 2019-01-24
AU2017282818C1 (en) 2020-02-20

Similar Documents

Publication Publication Date Title
KR102099544B1 (ko) 스트리밍 데이터의 분배 처리 방법 및 디바이스
US10949447B2 (en) Blockchain-based data synchronizing and data block parsing method and device
CN107040585B (zh) 一种业务校验的方法及装置
US10222987B2 (en) Data deduplication with augmented cuckoo filters
US10140351B2 (en) Method and apparatus for processing database data in distributed database system
CN110941621A (zh) 一种内外网间同步数据库的方法及装置
CN110162512B (zh) 一种日志检索方法、装置及存储介质
CN108399175B (zh) 一种数据存储、查询方法及其装置
CN106547646B (zh) 一种数据备份及恢复方法、数据备份及恢复装置
WO2016165542A1 (zh) 缓存命中率分析的方法及设备
CN107515807B (zh) 一种存储监控数据的方法及装置
CN103345527B (zh) 数据智能统计系统
CN107590160B (zh) 一种监控基数树内部结构以实现测试的方法及装置
US10135926B2 (en) Shuffle embedded distributed storage system supporting virtual merge and method thereof
CN111427871B (zh) 数据处理方法、装置、设备
CN116028469A (zh) 数据安全链路跟踪方法及装置
CN105718485B (zh) 一种将数据录入数据库的方法及装置
CN112699129A (zh) 一种数据处理系统、方法及装置
CN114860826B (zh) 数据同步方法和装置
CN109446226B (zh) 一种数据集合确定的方法及设备
CN111949505B (zh) 一种测试方法、装置及设备
CN107395745A (zh) 一种分布式存储系统数据分散存储实现方法
WO2016082591A1 (zh) 嵌入式系统内存统计方法及装置
CN110912851B (zh) 流动数据的监控方法、装置及设备
CN116126546A (zh) 一种性能调优的方法、装置、电子设备及介质

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