KR20160100211A - 대용량 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법 및 장치 - Google Patents

대용량 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20160100211A
KR20160100211A KR1020150162353A KR20150162353A KR20160100211A KR 20160100211 A KR20160100211 A KR 20160100211A KR 1020150162353 A KR1020150162353 A KR 1020150162353A KR 20150162353 A KR20150162353 A KR 20150162353A KR 20160100211 A KR20160100211 A KR 20160100211A
Authority
KR
South Korea
Prior art keywords
audio fingerprints
key value
audio
fingerprints
same
Prior art date
Application number
KR1020150162353A
Other languages
English (en)
Inventor
레이 왕
Original Assignee
레이 왕
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 레이 왕 filed Critical 레이 왕
Publication of KR20160100211A publication Critical patent/KR20160100211A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • G06F17/30743
    • 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
    • G06F16/2255Hash tables
    • 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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • G06F16/2386Bulk updating operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/61Indexing; Data structures therefor; Storage structures
    • G06F17/3074
    • G06F17/30778
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6272Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Library & Information Science (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)

Abstract

본 발명은 종래 기술에서 대용량 오디오 핑커프린트 데이터베이스를 위한 불편한 온라인 실시간 업데이팅의 기술적 문제점을 해결할 수 있는, 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법 및 장치를 제안한다. 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법은 동일한 키 값을 갖는 오디오 핑거프린트들 및 키 값 사이의 상응성 관계를 수립하는 단계; 각각의 키 값 및 그 상응하는 오디오 핑거프린트들을 포함하는 지수 리스트를 수립하는 단계, 및 포인터 방식으로 지수 리스트 내의 각각의 키 값을 그 상응하는 오디오 핑거프린트들을 가리키도록 허용하는 단계; 및 동일한 키 값을 갖는 오디오 핑거프린트들을 연속적으로 저장하는 단계;를 포함한다.

Description

대용량 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법 및 장치{METHOD AND DEVICE FOR CONSTRUCTING ON-LINE REAL-TIME UPDATING OF MASSIVE AUDIO FINGERPRINT DATABASE}
본 발명은 오디오 핑거프린트 인식의 기술 분야에 관한 것으로서, 특히 대용량 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅의 구성을 위한 방법 및 장치에 관한 것이다.
대용량 오디오 핑거프린트 데이터베이스를 업데이팅하기 위한 방법을 위하여, 메모리의 조각(피스, piece) 내에 지수 데이터가 연속적으로 저장되기 때문에, 공통 해결방안으로 오디오 핑거프린트 지수 데이터의 온라인 추가(adding), 삭제(deleting)를 지원하기가 매우 어렵고, 모든 업데이팅(updating)은 서버의 재시작을 필요로 한다. 도 1에 도시된 것과 같이, 종래의 해결방안에서, 대용량 오디오 핑거프린트 지수 데이터베이스는 특정 수의 새로운 데이터가 축적된 후에, 다수의 고정된 적은 오디오 핑거프린트 데이터베이스(조각 1, 조각 2,...조각 n)로 세분되고, 이는 채워지지 않은 마지막 오디오 핑거프린트 데이터베이스(조각 n)를 오프 라인 복원하고, 그리고 나서 서비스를 재시작하며(서비스를 재시작하고 조작 n을 업데이트), 라인 상에 가장 최근의 오디오 핑거프린트 데이터베이스를 대체하는 것이 필요하다. 따라서, 오프라인 데이터베이스 구성 및 재시작 서비스를 갖는지수 데이터 업데이팅 방법은 지루한 운영, 비-실시간 업데이팅의 고유의 단점들을 갖고, 시간에 맞게 신규 노래 검색 서비스를 제공할 수 없는데, 따라서, 대용량 오디오 핑거프린트 데이터베이스의 지수 데이터를 온라인 실시간 업데이팅하기 위한 방법을 개발하는 것이 필요하다.
이러한 목적을 위하여, 본 발명은 종래 기술에서 대용량 오디오 핑커프린트 데이터베이스를 위한 불편한 온라인 실시간 업데이팅의 기술적 문제점을 해결할 수 있는, 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법 및 장치를 제안한다.
본 발명은 동일한 키 값(key value)을 갖는 오디오 핑거프린트들 및 키 값 사이의 상응성 관계를 수립하는(establishing) 단계; 각각의 키 값 및 그 상응하는 오디오 핑거프린트들을 포함하는 지수 리스트를 수립하는 단계, 및 포인터(pointer) 방식으로 지수 리스트 내의 각각의 키 값이 그것의 상응하는 오디오 핑거프린트들을 가리키도록 허용하는 단계; 및 동일한 키 값을 갖는 오디오 핑거프린트들을 연속적으로 저장하는 단계;를 포함하는, 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법을 제공하는데, 동일한 키 값을 갖는 오디오 핑거프린트들 및 키 값 사이의 상응성 관계를 수립하는 단계는 동일한 키 값을 갖는 오디오 핑거프린트들을 동일한 어레이(array)로서 분류하는 단계를 포함한다.
본 발명은 온라인 서비스 엔진이 검색 서비스에 영향을 주지 않고, 1초 내에 완료될수 있는 노래 핑거프린트들의 실시간 추가, 삭제를 지원하고, 이에 이해 오프라인 데이터베이스 구성과 재시작 서비스에 의해 야기되는 지루하고 시간 소모적 운영을 방지하며, 대용량 오디오 핑거프린트 데이터베이스의 데이터 무한함(timeliness)을 보장하도록 허용하며, 이는 온라인 서비스 상에 최신 노래들을 추가하고, 온라인 서비스로부터 시간이 경과되었거나 또는 문제가 있는 노래들을 삭제할 수 있으며, 이는 2단계 데이터 업데이팅에 의해 필요한 반응성을 실현하고 데이터의 오디오 검색 서비스, 즉 서비스에 있어서 상당한 중요성을 갖는다.
또한, 본 발명은 데이터 연속성의 엄격한 제한 조건들을 깨뜨리고, 키(키 값)에 따라 대용량 오디오 핑거프린트 데이터베이스를 세분하며, 각각의 키(키 값)의 오디오 핑거프린트들(값)은 여전히 연속적으로 저장된다. 따라서, 비록 적은 양의 어드레스 스키핑(address skipping) 운영들이 야기되더라도, 다수의 지수 조각의 디자인이 방지되고, 지수 구조는 완전체(integral whole)로서 역할을 하며, 검색 동안에 다수의 지수 조각의 교차가 방지되고, 따라서, 전체 성능이 향상된다.
또한, 본 발명은 각각의 키(키 값)의 오디오 핑거프린트들(값)을 업데이트하고 대체하는 방법에 의한 노래 핑거프린트들의 온라인 실시간 추가, 삭제를 실현하고, 온라인 검색 서비스가 시간이 경과된 데이터를 비-동기식으로(asynchronously) 지연 삭제하는 방법에 의한 지수 업데이팅 운영에 의해 영향을 받지 않고 비-동기식 지속성(persistence)에 의해 파일들 내에 데이터를 저장하며, 이에 의해 실시간 데이터 업데이팅에 필요한 반응성을 실현하는 것을 보장한다.
도 1은 종래 기술의 대용량 오디오 핑거프린트 데이터베이스의 업데이팅을 위한 방법의 개략적인 다이어그램을 도시한다.
도 2는 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 위한 방법의 플로우차트를 도시한다.
도 3은 동일한 키 값 및 키 값을 오디오 핑거프린트들 사이의 상응성 관계를 개략적으로 도시한다.
도 4는 짓 리스트의 일 실시 예의 개략적인 단계 다이어그램을 도시한다.
도 5는 지수 리스트의 개략적인 구조 다이어그램을 도시한다.
도 6은 각각의 키 값 및 그 상응하는 오디오 핑거프린트들을 포함하는 지수 리스트의 수립의 특정 운영을 위한 플로우차트를 도시한다.
도 7은 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법을 위한 방법의 플로우차트를 도시한다.
도 8은 오디오 핑거프린트들의 추가를 위한 운영 플로우차트를 도시한다.
도 9는 지연 삭제를 위한 운영 플로우차트를 도시한다.
도 10은 특정 조건 하에서 오디오 핑거프린트들을 온라인 추가하기 위한 운영 플로우차트를 도시한다.
도 11은 오디오 핑거프린트들을 온라인 추가하기 위한 운영 플로우차트를 도시한다.
도 12는 오디오 핑거프린트들을 온라인 삭제하기 위한 운영 플로우차트를 도시한다.
도 13은 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 장치의 개략적인 구조 다이어그램을 도시한다.
도 14는 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 장치의 개략적인 구조 다이어그램을 도시한다.
도 15는 오디오 핑거프린트들을 온라인 추가하기 위한 장치의 개략적인 구조 다이어그램을 도시한다.
도 16은 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 장치의 개략적인 구조 다이어그램을 도시한다.
도 17은 오디오 핑거프린트의 온라인 추가를 위한 장치의 개략적인 구조 다이어그램을 도시한다.
도 18은 온라인 실시간 업데이팅을 지원하는 대용량 핑거프린트 데이터베이스의 개략적인 구조 다이어그램을 도시한다.
도 19는 오디오 핑거프린트의 온라인 실시간 추가를 위한 방법의 개략적인 다이어그램을 조시한다.
도 20은 오디오 핑거프린트의 온라인 실시간 삭제를 위한 방법의 개략적인 다이어그램을 도시한다.
본 발명과 관련된 용어들에 있어서: 용어 "연속적인 저장"은 시퀀스 숫자에 의해 그 다음 시퀀스 파일 문서를 연속적으로 추가하거나 또는 이전의 동일한 형태의 파일의 저장되는 동일한 파일 어드레스 하에서 병렬로 저장하는 단계와 유사한, 원래 파일 정보 이후의 새로 추가되는 파일 콘텐츠 정보를 연속적으로 보충하고 추가하는 것을 의미하고, 병렬의 순서대로의(in-sequence) 저장의 의미를 갖는다. 용어 "지연-삭제"는 일정 시간 동안의 삭제 후에 삭제되려는 파일의 삭제를 의미하고, 삭제 이전에, 삭제되려는 파일은 정상적으로 액세스되거나 또는 열람될(browsed) 수 있으며, 파일은 진행중인 액세싱(accessing)이 완료된 이후에 삭제된다; 본 발명에서의 바람직한 삭제 해결방안은 현재 스레드(thread)의 정상적인 이용에 영향을 주지 않고 삭제 이후에 백그라운드 스레드(backgroud thread)에 의한 비-동기식 삭제를 실행하는 것이다.
실시 예 1:
도 2에 도시된 것과 같이 보편성(generality)의 손실 없이, 종래 기술의 대용량 오디오 핑거프린트 데이터베이스의 불편한 온라인 실시간 업데이팅의 기술적 문제점을 해결하기 위하여, 본 발명은 다음의 단계를 포함하는, 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법을 제공한다:
S1000. 동일한 키 값을 갖는 오디오 핑거프린트들 및 키 값 사이의 상응성 관계를 수립하는 단계.
S2000. 각각의 키 값 및 그것의 상응하는 오디오 핑거프린트들을 포함하는 지수 리스트를 수립하는 단계, 및 지수 리스트 내의 각각의 키 값이 포인터 방식으로 그것의 상응하는 오디오 핑거프린트들을 가리키도록 허용하는 단계.
S3000. 동일한 키 값을 갖는 오디오 핑거프린트들을 연속적으로 저장하는 단계.
비록, 노래가 다수의 오디오 핑거프린트들을 가질 수 있고 각각의 오디오 핑거프린트가 하나의 키 값을 가질 수 있더라도, 동일한 키 값은 종래에 다수의 서로 다른 노래들에서 반복적으로 출현할 것이다. 따라서, 다수의 서로 다른 노래들에서 동일한 값을 갖는 다수의 오디오 핑거프린트들이 존재한다. 따라서, 도 3에 도시된 것과 같이, 본 발명의 단계 S1000, 즉 동일한 키 값을 갖는 오디오 핑거프린트들 및 키 값 사이의 상응성 관계를 수립하는 단계를 실행하는 것이 필요하다.
위치되는 업데이트될 오디오 핑거프린트를 빠르게 검색하기 위하여, 본 발명에서의 단계 S2000은 각각의 키 값 및 그것의 상응하는 오디오 핑거프린트들을 포함하는 지수 리스트를 수립하는 단계, 및 지수 리스트 내의 각각의 키 값이 포인터 방식으로 그것의 상응하는 오디오 핑거프린트들을 가리키도록 허용하는 단계를 포함하고; 단계 S3000은 동일한 키 값을 갖는 오디오 핑거프린트들을 연속적으로 저장하는 단계를 포함한다.
지수 리스트 내에서, 키 값은 그 뒤에 어레이 내에 그리고 각각 복수의 상응하는 오디오 핑거프린트들을 순차적으로 가리키는, "key1, key2, key3......"의 형태로 저장되고; 그리고 나서 만일 value1 및 value4가 키 값(key1 값)을 가지면, value1 및 value4가 key1 값 뒤에 저장하도록 요구되는 것처럼, 동일한 키 값을 갖는 오디오 핑거프린트(값)가 상응하는 키 값 뒤에 연속적으로 저장된다.
실시 예 2:
바람직하게는, 본 발명의 위의 지수 리스트는 순차적으로 배치되는 다수의 어레이를 수립함으로써 실현될 수 있다. 또한, 도 4에 도시된 것과 같이, 단계 S1000은 다음의 단계를 더 포함한다:
S1100: 동일한 키 값을 갖는 오디오 핑거프린트들을 동일한 어레이로서 분류하는 단계.
예를 들면, 도 5에 도시된 것과 같이, key1, value1 및 value4는 제 1 어레이로서 분류되고, 나머지는 순차적으로 배치된다.
또한, 도 6에 도시된 것과 같이, 단계 S2000에서, 각각의 키 값 및 그것의 상응하는 오디오 핑거프린트들을 포함하는 지수 리스트를 수립하는 단계는 다음의 단계를 더 포함한다:
S2100: 지수 리스트가 키 값으로서 동일한 수를 갖는 어레이들을 포함하도록 허용하는 단계.
도 5에 도시된 것과 같이, 세로 칼럼 내에 키 값이 동일한 수로 상응하는 어레이들이 존재하고, 서로 다른 어레이들 내의 키 값은 다수의 오디오 핑거프린트들(값)과 상응할 수 있다.
실시 예 3:
바람직하게는 종래에 온라인 추가되는데 필요한 오디오 파일들의 수가 많기 때문에, 각각의 오디오 파일은 일반적으로 각각 오디오 핑거프린트와 상응하는, 복수의 키 값을 포함하고; 이러한 오디오 핑거프린트들에서, 동일한 키 값을 갖는 다수의 오디오 핑거프린트들이 존재하며, 따라서, 도 7에 도시된 것과 같이, 본 발명은 다음의 단계를 더 포함한다:
S4000: 오디오 핑거프린트들을 온라인 추가하는 단계.
또한, 도 8에 도시된 것과 같이, 단계 S4000은 다음의 단계를 포함한다:
S4100: 그것들의 상응하는 키 값들에 따라 추가되려는 오디오 핑거프린트들을 그루핑하는(grouping) 단계를 포함하되, 각각의 그룹 내의 추가되려는 오디오 핑거프린트들은 동일한 키 값을 갖고, 이는 그 다음 단계에서, 각각의 그룹의 상응하는 키 값에 따라 지수 리스트 내에 오디오 핑거프린트들의 위치결정(positioning) 및 부가를 용이하게 하며, 어드레스를 액세싱하기 위한 횟수 및 시간을 더 절약하기 위하여, 하나의 그룹을 유닛으로서 간주함으로써 오디오 핑거프린트들을 추가하는 단계는 추가 속도를 상당히 향상시킬 수 있다.
S4200: 업데이트되려는 오디오 핑거프린트을 위치시키기 위하여, 지수 리스트 내에서, 상응하는 키 값과 동일한 키 값을 룩업하는 단계; 및 업데이트되려는 오디오 핑거프린트을 복사하는 단계를 포함하되, 뒤따르는 모든 추가 운영은 오디오 핑거프린트 데이터베이스의 업데이팅 동안에 온라인 액세싱에 영향을 미치지 않고, 복사에 의해 형성되는 복사 텍스트 내에 구현된다.
S4300: 새로운 오디오 핑거프린트들을 획득하기 위하여, 복사 파일 내에서, 업데이트되려는 오디오 핑거프린트들 및 추가되려는 오디오 핑거프린트들을 연속적으로 저장하는 단계를 포함하되, 새로운 오디오 핑거프린트들은 오디오 핑거프린트들로 추가된 후에 복사 파일을 형성한다.
S4400: 새로운 오디오 핑거프린트들을 가리키기 위하여, 지수 리스트 내의 포인터가 업데이트되려는 오디오 핑거프린트들의 키 값을 가리키도록 허용하는 단계, 및 온라인 업데이팅 운영을 완료하는 단계를 포함하되, 새로운 오디오 핑거프린트들은 상응하는 키 값들에 따라 오디오 핑거프린트 데이터베이스 내로 추가되었고, 상응하는 위치결정 포인터들은 지수 리스트 내에서 획득된다.
S4500: 원래 복사된 오디오 핑거프린트 파일에 대한 뒤따르는 삭제 운영의 실행을 의미하는, 업데이트되려는 오디오 핑거프린트들을 지연 삭제하는 단계를 포함하되, 이는 서버 내의 중복 파일에 의해 복사된 저장 공간을 해소하기 위하여, 중복 파일의 삭제를 목적으로 한다.
바람직하게는, 삭제 운영이 현재 구동 과정과 아무 관련이 없기 때문에, 서버가 바쁘지 않을 때 지연 삭제 운영을 실행하기 위하여, 또 다른 스레드가 개시될 수 있다. 따라서, 도 9에 도시된 것과 같이, 단계 S4500은 다음의 단계를 더 포함한다:
S4510: 백그라운드 스레드에 의해 구현되는, 지연 삭제하는 단계.
바람직하게는, 만일 추가되려는 오디오 핑거프린트들 내의 키 값이 지수 리스트 내에 포함되지 않으면, 도 10에 도시된 것과 같이, 단계 S4500은 다음의 단계를 더 포함한다:
S4600: 새로운 키 값을 새로 구성되는 키 값으로서 간주하는 단계;
S4700: 업데이트된 지수 리스트를 획득하기 위하여, 새로 구성되는 키 값을 지수 리스트 내로 연속적으로 추가하는 단계;
S4800: 업데이되려는 오디오 핑커프린트들 내의 새로 구성되는 키 값과 상응하는 오디오 핑거프린트들을 연속적으로 저장하는 단계를 포함하되, 새로 추가되는 오디오 핑거프린트들의 액세스 어드레스는 지수 리스트 내로 새로 추가되는 새로 구성되는 키이다.
실시 예 4:
바람직하게는, 도 11에 도시된 것과 같이, 구식 오디오 파일을 시간에 맞게 제거하기 위하여, 본 발명은 다음의 단계를 더 포함한다:
S5100: 오디오 핑거프린트들을 온라인 삭제하는 단계.
또한, 도 12에 도시된 것과 같이, 단계 S5000은 다음의 단계를 더 포함한다:
S5100: 모든 삭제되려는 오디오 파일의 오디오 핑거프린트들에 따라 모든 삭제되려는 오디오 핑거프린트를 요약하는 단계
S5200: 하나의 그룹을 하나의 유닛으로서 간주함으로써 위치결정 및 삭제를 용이하게 하는, 각각의 그룹 내의 삭제되려는 오디오 핑거프린트들이 동일한 상응하는 키 값을 갖도록 허용하기 위하여, 키 값들에 따라 삭제되려는 오디오 핑거프린트들을 그루핑하는 단계;
S5300: 삭제되려는 오디오 핑거프린트들을 위치시키기 위하여, 지수 리스트 내에서, 상응하는 키 값과 동일한 키 값을 룩업하는 단계;
S5400: 추가 운영과 유사한, 삭제되려는 오디오 핑거프린트들을 복사하는 단계 - 뒤다르는 모든 삭제 운영은 온라인 액세스에 영향을 주지 않고 복사-형성된 텍스트 내에 구현됨 -;
S5500: 새로운 오디오 핑거프린트들을 획득하고 삭제 운영을 종료하며, 그 뒤에 위치결정 포지셔너(positioner)들만을 변형하기 위하여, 삭제되려는 오디오 핑거프린트들 내에서, 그룹들 내의 오디오 핑거프린트들과 동일한, 복사된 오디오 핑거프린트들을 삭제하는 단계;
S5600: 새로운 오디오 핑거프린트들을 가리키기 위하여, 지수 내의 포인터들이 삭제되려는 오디오 핑거프린트들의 키 값들을 가리키도록 허용하는 단계, 및 온라인 삭제 운영을 완료하는 단계 - 삭제된 오디오 핑거프린트들은 상응하는 키 값들에 따라 액세스된 오디오 핑거프린트들 내에 포함되지 않았음 -;
S5700: 삭제되려는 오디오 핑거프린트들이 현재 액세스 과정에 영향을 주지 않은 때부터, 본 발명은 삭제되려는 오디오 핑거프린트들을 지연 삭제하도록 선택할 수 있다.
바람직하게는, 단계 S5700에서, 서버가 바쁘지 않을 때, 삭제 운영을 실행하기 위하여, 또 다른 백그라운드 스레드가 개시될 수 있고, 이는 공간을 해소하고 서버의 운영 하중을 덜어준다.
실시 예 5:
통상의 지식을 가진 자들이 이러한 기술적 해결방안을 더 편리하게 적용하도록 하기 위하여, 도 13에 도시된 것과 같이, 본 발명은 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 장치를 더 제공하는데, 장치는:
동일한 키 값 및 키 값을 갖는 오디오 핑거프린트들 사이의 상응성 관계를 수립하기 위한 유닛(100); 각각의 키 값 및 그 상응하는 오디오 핑거프린트들을 포함하는 지수 리스트를 수립하기 위한 유닛(200) - 지수 리스트 내의 각각의 키 값은 포인터(pointer) 방식으로 그것의 상응하는 오디오 핑거프린트들을 가리킴 -; 및 동일한 키 값을 갖는 오디오 핑거프린트들을 연속적으로 저장하기 위한 유닛(300);을 포함한다.
실시 예 6:
게다가, 도 14에 도시된 것과 같이, 본 발명에서의 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 장치는 오디오 핑거프린트들을 온라인 추가하기 위한 유닛(400)을 더 포함한다.
또한, 도 15에 도시된 것과 같이, 오디오 핑거프린트들을 온라인 추가하기 위한 유닛(400)은: 상응하는 키 값들에 따라 추가되려는 오디오 핑거프린트들을 그루핑하기 위한 유닛(410) - 각각의 그룹 내의 추가되려는 오디오 핑거프린트들은 동일한 상응하는 키 값을 가짐 -; 업데이트되려는 오디오 핑거프린트들을 위치시키기 위하여, 지수 리스트 내에서, 상응하는 키 값과 동일한 키 값을 룩업하기 위한 유닛(420); 업데이트되려는 오디오 핑거프린트들을 복사하기 위한 유닛(430); 새로운 오디오 핑거프린트들을 획득하기 위하여, 동일한 키 값을 갖는 업데이트되려는 오디오 핑거프린트들 및 추가되려는 오디오 핑거프린트들을 연속적으로 저장하기 위한 유닛(440); 새로운 오디오 핑거프린트들을 가리키기 위하여, 지수 리스트 내의 포인터가 업데이트되려는 오디오 핑거프린트들의 키 값을 가리키도록 허용하기 위한 유닛(450); 및 업데이트되려는 오디오 핑거프린트들을 지연-삭제하기 위한 유닛(460);을 포함한다.
실시 예 7:
또한, 본 기술적 해결방안을 더 쉽게 구현하기 위하여, 도 16에 도시된 것과 같이, 본 발명에서의 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 장치는 오디오 핑거프린트들을 온라인 삭제하기 위한 유닛(500)을 더 포함한다.
또한, 도 17에 도시된 것과 같이, 오디오 핑거프린트들을 온라인 삭제하기 위한 유닛(500)은: 그것들의 상응하는 키 값들에 따라 삭제되려는 오디오 핑거프린트들을 그루핑하기 위한 유닛(510) - 각각의 그룹 내의 삭제되려는 오디오 핑거프린트들은 동일한 상응하는 키 값을 가짐 -; 삭제되려는 오디오 핑거프린트들을 위치시키기 위하여, 지수 리스트 내에서, 상응하는 키 값과 동일한 키 값을 룩업하기 위한 유닛(520); 삭제되려는 오디오 핑거프린트들을 복사하기 위한 유닛(530); 새로운 오디오 핑거프린트들을 획득하기 위하여, 삭제되려는 오디오 핑거프린트들 내에서, 그룹들 내의 오디오 핑거프린트들과 동일한, 복사된 오디오 핑거프린트들을 삭제하기 위한 유닛(540); 새로운 오디오 핑거프린트들을 가리키기 위하여, 지수 리스트 내의 포인터가 삭제되려는 오디오 핑거프린트들의 키 값을 가리키도록 허용하기 위한 유닛(550); 및 삭제되려는 오디오 핑거프린트들을 지연-삭제하기 위한 유닛(560);을 포함한다.
위의 기술적 해결책에 따르면, 다음과 같이 특정 실시 예가 구현된다:
(1) 모든 오디오 데이터의 오디오 핑거프린트 데이터를 사용함으로써 글로벌(global) 대용량 오디오 핑거프린트 데이터베이스를 구성하고, 키 값들에 따라 분류하며, 특정 규칙에 따라 지정된 카탈로그 내에 저장되는, 각각의 키 값이 하나의 파일과 상응하는 것과 같이, 하드 디스크 상에 저장 - 구체적인 구조가 도 18에 도시됨 -;
(2) 메모리 내에 어레이를 구성하고, 키 리스트로서 기록하고 키 값과 일치하도록 어레이의 어레이의 서브스트립트를 유지하며, 널(null) 포인터로서 어레이의 소자를 초기화하며, 그리고 나서 조각-연속적 메모리 내의 각각의 키의 파일을 업로딩하고, 값들로서 기록하며, 포인터가 상응하는 값들을 가리키도록 어레이 내의 서브스크립트 위치와 상응하는 데이터를 업데이팅;
(3) 검색을 위하여, 우선 키 값을 기초로 하여 키 리스트 내의 값들을 찾고, 값들 내의 데이터를 필터링.
도 19에 도시된 것과 같이, 노래 핑거프린트들의 온라인 추가가 필요하고, 노래 핑거프린트들(n(키, 값) 쌍들로 구성되고, n은 일반적으로 수 천인)이 추가될 때, 본 발명의 실시 예는 다음과 같이 구현된다:
그루핑(Grouping): 그룹을 유닛으로서 간주함으로써 이에 의해 삽입 방식으로 동일한 키 값을 갖는 노래 핑거프린트들의 추가를 용이하게 하기 위하여, 키 값들에 따라 노래 핑거프린트들을 그루핑;
위치결정: 각각의 그룹의 키 값에 따라, 지수 리스트(키 리스트) 내의 업데이트되려는 오디오 핑거프린트들(값들)을 찾고, 이전(old)-값들로서 기록 - 지수 리스트 내에 온라인 적용 및 모든 오디오 핑거프린트 및 모든 키 값 내의 상응하는 키 값들 사이의 상응성 관계들 내의 오디오 핑거프린트 데이터베이스 내의 모든 키 값이 포함되고, 상응성 관계는 바람직하게는 포인터 방식으로 실현됨 -;
복사 및 삽입: 이전-값들 내의 콘텐츠를 복사하고, 이전-값들을 갖는 키 그룹 내의 모든 값을 결합하며, 키 리스트 내의 키 위치들이 가리켜야만 하는, 새로운-값들을 재구성;
포인터의 오프셋: 키 리스트 내의 키 위치들에서 포인터들이 새로운-값들을 가리키도록 허용;
대체, 구 데이터의 비-동기식 삭제:
이전-값들의 포인트들이 사용되는 것을 방지하기 위하여, 이전-값들의 포인터들을 큐(queue) 내에 추가하고, 이들을 백그라운드 스레드에 의해 지연-삭제;
파일들의 비-동기식 업데이팅:
새로운-값들로서 키에 상응하는 하드 디스크 상에 파일들의 콘텐츠를 비-동기식으로 업데이팅.
다음의 단계들, 포인터를 제거하는 단계, 및 이전 데이터를 대체하고 비-동기식으로 삭제하는 단계는 이중-스레드식 병렬 운영이고, 시간 순서가 아니라는 것에 유의하여야만 한다.
도 20에 도시된 것과 같이, 노래 핑거프린트들의 온라인 삭제가 필요하고, 노래 핑거프린트들(n)(키, 값) 쌍들로 구성되고, n은 일반적으로 수 천인)이 삭제될 때, 만일 종래의 방법이 적용되면, 온라인 액세싱은 영향을 받고 삭제 운영은 과도하게 지루해지며, 반복 운영 시간이 중복되는데, 본 발명의 향상된 실시 예는 다음과 같이 구현된다:
그루핑: 삭제되려는 오디오 핑거프린트 리스트에 따라 삭제되려는 오디오 핑거프린트들에 대한 통계를 실행하고, 키 값들에 따라 삭제되려는 오디오 핑거프린트들을 그루핑;
위치결정: 각각의 그룹의 키 값에 따라, 지수 리스트(키 리스트) 내의 업데이트되려는 값들을 찾고, 이전-값들로서 기록;
복사 및 삭제: 이전-값들 내의 콘텐츠를 복사하고, 값들 내의 표적 값을 찾고 삭제하며, 나머지 데이터를 새로운-값들로 재편성;
포인터의 오프셋: 키 리스트 내의 새로운-키 위치들에서 포인터들이 새로운-값들을 가리키도록 허용;
대체, 구 데이터의 비-동기식 삭제:
이전-값들의 포인트들이 사용되는 것을 방지하기 위하여, 이전-값들의 포인터들을 큐(queue 내에 추가하고, 이들을 백그라운드 스레드에 의해 지연-삭제;
파일들의 비-동기식 업데이팅:
새로운-값들로서 키에 상응하는 하드 디스크 상에 파일들의 콘텐츠를 비-동기식으로 업데이팅.
100 : 동일한 키 값 및 키 값을 갖는 오디오 핑거프린트들 사이의 상응성 관계를 수립하기 위한 유닛
200 : 지수 리스트를 수립하기 위한 유닛
300 : 동일한 키 값을 갖는 오디오 핑거프린트들을 연속적으로 저장하기 위한 유닛
400 : 오디오 핑거프린트들을 온라인 추가하기 위한 유닛
410 : 추가되려는 오디오 핑거프린트들을 그루핑하기 위한 유닛
420 : 상응하는 키 값과 동일한 키 값을 룩업하기 위한 유닛
430 : 업데이트되려는 오디오 핑거프린트들을 복사하기 위한 유닛
440 : 동일한 키 값을 갖는 업데이트되려는 오디오 핑거프린트들 및 추가되려는 오디오 핑거프린트들을 연속적으로 저장하기 위한 유닛
450 : 지수 리스트 내의 포인터가 업데이트되려는 오디오 핑거프린트들의 키 값을 가리키도록 허용하기 위한 유닛
460 : 업데이트되려는 오디오 핑거프린트들을 지연-삭제하기 위한 유닛
500 : 오디오 핑거프린트들을 온라인 삭제하기 위한 유닛
510 : 삭제되려는 오디오 핑거프린트들을 그루핑하기 위한 유닛
520 : 상응하는 키 값과 동일한 키 값을 룩업하기 위한 유닛
530 : 삭제되려는 오디오 핑거프린트들을 복사하기 위한 유닛
540 : 복사된 오디오 핑거프린트들을 삭제하기 위한 유닛
550 : 지수 리스트 내의 포인터가 삭제되려는 오디오 핑거프린트들의 키 값을 가리키도록 허용하기 위한 유닛
560 : 삭제되려는 오디오 핑거프린트들을 지연-삭제하기 위한 유닛

Claims (4)

  1. 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법에 있어서,
    동일한 키 값을 갖는 오디오 핑거프린트들 및 키 값 사이의 상응성 관계를 수립하는 단계;
    각각의 키 값 및 그 상응하는 오디오 핑거프린트들을 포함하는 지수 리스트를 수립하는 단계, 및 포인터 방식으로 지수 리스트 내의 각각의 키 값을 그 상응하는 오디오 핑거프린트들을 가리키도록 허용하는 단계; 및
    동일한 키 값을 갖는 오디오 핑거프린트들을 연속적으로 저장하는 단계;를 포함하고,
    상기 동일한 키 값을 갖는 오디오 핑거프린트들 키 값 사이의 상응성 관계를 수립하는 단계는:
    상기 동일한 키 값을 갖는 상기 오디오 핑거프린트들을 동일한 어레이로서 분류하는 단계;를 포함하는 것을 특징으로 하는 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법.
  2. 제 1항에 있어서,
    오디오 핑거프린트들을 온라인 삭제하는 단계를 더 포함하고, 상기 단계는:
    각각의 그룹 내의 상기 삭제되려는 오디오 핑거프린트들이 상기 동일한 상응하는 키 값을 갖도록 허용하기 위하여, 상기 키 값들에 따라 상기 삭제되려는 오디오 핑거프린트들을 그루핑하는 단계;
    상기 삭제되려는 오디오 핑거프린트들을 위치시키기 위하여, 상기 지수 리스 내에, 상기 상응하는 키 값과 동일한 키 값을 룩업하는 단계
    상기 삭제되려는 오디오 핑거프린트들을 복사하는 단계;
    새로운 오디오 핑거프린트들을 획득하기 위하여, 상기 그룹들 내의 상기 오디오 핑커프린트들과 동일한, 상기 삭제되려는 오디오 핑거프린트들 내에, 상기 복사된 오디오 핑거프린트들을 삭제하는 단계;
    상기 삭제되려는 오디오 핑거프린트들의 상기 키 값들을 가리키는 상기 지수 리스트 내의 상기 포인터들이 상기 새로운 오디오 핑거프린트들을 가리키도록 허용하는 단계;
    상기 삭제되려는 오디오 핑거프린트들을 지연 삭제하는 단계;를 포함하는 것을 특징으로 하는 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법.
  3. 제 2항에 있어서, 상기 지연-삭제하는 단계는 백그라운드 스레드에 의해 실현되는 것을 특징으로 하는 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법.
  4. 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 장치에 있어서,
    동일한 키 값을 갖는 오디오 핑거프린트들 및 키 값 사이의 상응성 관계를 수립하기 위한 유닛;
    각각의 키 값 및 그 상응하는 오디오 핑거프린트들을 포함하는 지수 리스트를 수립하기 위한 유닛 - 상기 지수 리스트 내의 각각의 키 값은 포인터 방식으로 그것의 상응하는 오디오 핑거프린트들을 가리킴 -; 및
    상기 동일한 키 값을 갖는 오디오 핑거프린트들을 연속적으로 저장하기 위한 유닛(300);을 포함하고,
    상기 동일한 키 값을 갖는 오디오 핑거프린트들 및 키 값 사이의 상응성 관계를 수립하기 위한 유닛은 상기 동일한 키 값을 갖는 상기 오디오 핑거프린트들을 동일한 어레이로서 분류하기 위한 유닛을 포함하는 것을 특징으로 하는 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 장치.
KR1020150162353A 2015-02-13 2015-11-19 대용량 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법 및 장치 KR20160100211A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510079627.5 2015-02-13
CN201510079627.5A CN104679847B (zh) 2015-02-13 2015-02-13 一种构建在线实时更新海量音频指纹库的方法和设备

Publications (1)

Publication Number Publication Date
KR20160100211A true KR20160100211A (ko) 2016-08-23

Family

ID=53314889

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020150162353A KR20160100211A (ko) 2015-02-13 2015-11-19 대용량 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법 및 장치
KR1020150170033A KR102431806B1 (ko) 2015-02-13 2015-12-01 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법과 장치
KR1020150181165A KR20160100219A (ko) 2015-02-13 2015-12-17 대규모 오디오 지문인식 데이터베이스의 온라인 실시간 업데이트를 구성하기 위한 방법 및 디바이스
KR1020160004208A KR101740271B1 (ko) 2015-02-13 2016-01-13 온라인 상에서 실시간으로 업데이트되는 대규모 오디오 핑거프린트 데이터베이스의 구축 방법 및 장치

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020150170033A KR102431806B1 (ko) 2015-02-13 2015-12-01 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법과 장치
KR1020150181165A KR20160100219A (ko) 2015-02-13 2015-12-17 대규모 오디오 지문인식 데이터베이스의 온라인 실시간 업데이트를 구성하기 위한 방법 및 디바이스
KR1020160004208A KR101740271B1 (ko) 2015-02-13 2016-01-13 온라인 상에서 실시간으로 업데이트되는 대규모 오디오 핑거프린트 데이터베이스의 구축 방법 및 장치

Country Status (3)

Country Link
KR (4) KR20160100211A (ko)
CN (1) CN104679847B (ko)
DE (1) DE102016001035A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334514B (zh) * 2017-01-20 2020-11-03 北京京东尚科信息技术有限公司 数据的索引方法以及装置
CN107066861B (zh) * 2017-03-20 2020-01-14 Oppo广东移动通信有限公司 一种指纹事件的处理方法及移动终端
CN106970813A (zh) * 2017-03-31 2017-07-21 广东欧珀移动通信有限公司 软件升级控制方法、装置及电子设备
CN107731220B (zh) 2017-10-18 2019-01-22 北京达佳互联信息技术有限公司 音频识别方法、装置和服务器
KR102494591B1 (ko) 2018-09-18 2023-02-03 삼성전자주식회사 전자 장치, 그 제어 방법 및 전자 시스템
CN109597024B (zh) * 2018-11-19 2020-05-12 南京财经大学 基于异步传感数据的室内区域定位方法及系统
CN109657093A (zh) * 2018-11-27 2019-04-19 腾讯音乐娱乐科技(深圳)有限公司 音频检索方法、装置及存储介质
CN109726307A (zh) * 2018-12-26 2019-05-07 合肥凯捷技术有限公司 一种跨网互联音频大数据存储检索方法
CN109871463B (zh) * 2019-03-06 2024-04-09 腾讯音乐娱乐科技(深圳)有限公司 音频处理方法、装置、电子设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777075B (zh) * 2010-02-05 2015-02-11 上海全土豆网络科技有限公司 并行音频指纹检索方法
CN102289518B (zh) 2011-09-13 2013-03-27 盛乐信息技术(上海)有限公司 音频指纹检索库的更新方法及系统
CN103870516B (zh) * 2012-12-18 2019-10-25 北京三星通信技术研究有限公司 检索图像的方法、实时绘画提示方法及其装置
CN104123300B (zh) * 2013-04-26 2017-10-13 上海云人信息科技有限公司 数据分布式存储系统及方法
CN103995890A (zh) 2014-05-30 2014-08-20 杭州智屏软件有限公司 一种实时音频指纹检索库数据更新和检索方法

Also Published As

Publication number Publication date
KR20160100216A (ko) 2016-08-23
CN104679847A (zh) 2015-06-03
KR101740271B1 (ko) 2017-05-26
KR20160100226A (ko) 2016-08-23
KR102431806B1 (ko) 2022-08-12
DE102016001035A1 (de) 2016-08-18
CN104679847B (zh) 2019-03-15
KR20160100219A (ko) 2016-08-23

Similar Documents

Publication Publication Date Title
KR20160100211A (ko) 대용량 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법 및 장치
CN100458779C (zh) 扩展索引的方法
US8024383B2 (en) Fat directory structure for use in transaction safe file
JP4206586B2 (ja) データベース管理方法および装置並びにデータベース管理プログラムを記録した記憶媒体
US9183268B2 (en) Partition level backup and restore of a massively parallel processing database
US20160188227A1 (en) Method and apparatus for writing data into solid state disk
EP2199935A2 (en) Method and system for dynamically partitioning very large database indices on write-once tables
CN107766374B (zh) 一种海量小文件存储读取的优化方法和系统
US11327999B2 (en) Reorganization of partition by growth space with LOB columns
CN101685467A (zh) 用于内容定义节点分裂的方法和装置
US20110145255A1 (en) Systems and methods for distribution of data in a database index
CN109683825A (zh) 一种存储系统在线数据压缩方法、装置及设备
CN113468107A (zh) 数据处理方法、设备、存储介质及系统
CN106709014B (zh) 一种文件系统转换方法及装置
CN113253932B (zh) 一种分布式存储系统的读写控制方法和系统
CN108038253B (zh) 一种日志查询的处理方法及装置
CN114115734A (zh) 一种数据重删方法、装置、设备及存储介质
US20110153674A1 (en) Data storage including storing of page identity and logical relationships between pages
US9235578B2 (en) Data partitioning apparatus and data partitioning method
JP4304746B2 (ja) ファイルの置き換え方法及び装置
CN108021562B (zh) 应用于分布式文件系统的存盘方法、装置及分布式文件系统
CN114297196A (zh) 元数据存储方法、装置、电子设备及存储介质
JP2010191903A (ja) 分散ファイルシステムのストライピング種別選択方法及びその分散ファイルシステム
CN106033454B (zh) 虚拟文件系统的格式化方法、处理方法和装置
US20090276603A1 (en) Techniques for efficient dataloads into partitioned tables