KR102431806B1 - 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법과 장치 - Google Patents

대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법과 장치 Download PDF

Info

Publication number
KR102431806B1
KR102431806B1 KR1020150170033A KR20150170033A KR102431806B1 KR 102431806 B1 KR102431806 B1 KR 102431806B1 KR 1020150170033 A KR1020150170033 A KR 1020150170033A KR 20150170033 A KR20150170033 A KR 20150170033A KR 102431806 B1 KR102431806 B1 KR 102431806B1
Authority
KR
South Korea
Prior art keywords
audio fingerprint
key value
audio
deletion
online
Prior art date
Application number
KR1020150170033A
Other languages
English (en)
Other versions
KR20160100216A (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 KR20160100216A publication Critical patent/KR20160100216A/ko
Application granted granted Critical
Publication of KR102431806B1 publication Critical patent/KR102431806B1/ko

Links

Images

Classifications

    • 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/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • 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
    • 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
    • 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
    • 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}
본 발명은 오디오 지문 식별 기술영역에 관하며, 구체적으로는 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법과 장치에 관한 것이다.
오디오 지문 식별(속칭 "음을 듣고 곡을 식별하는 것")은 새로운 음악 검색 기술이다. 이 기술은 오디오 파일을 분석하는 주파수 스펙트럼을 통하여, "오디오 지문"이라고 칭하는 디지털 특징을 추출하고, 디지털 특징을 사용하여 "대량 오디오 지문 데이터베이스"를 구축하며, 네트워크 서버상에 배치하고, 고객의 단말기가 녹음한 미지의 오디오 일부를 서버에 발송하면, 서버는 동일한 계산 방식을 사용하여 "오디오 지문"을 추출하고, 그리고 검색 계산 방식을 통하여 대량 오디오 지문 데이터베이스 중 비슷한 특징을 조사하여, 찾은 복수의 특징을 근거로 목표의 오디오 파일을 추측하고, 결과는 고객단말기에 회송하여 모든 식별과정을 완성한다. 오디오 지문 식별은 데이터 밀집형과 계산 밀집형의 응용을 겸비한다: 대량 오디오 지문 데이터베이스는 반드시 충분하게 많은 오디오 파일의 특징을 포함해야하며, 그래야만 응용의 식별률을 보장할 수 있고, 이 규모는 통상적으로 천만 급이다; 검색 계산방식의 계산량은 거대하고, 검색 속도를 보장하기 위해, 통상적으로 우선 지문 데이터베이스를 오프라인으로 구축하고, 서열화 처리를 진행하여 하나의 파일을 생성하며, 데이터를 연속 저장함으로써, 과다한 포인터 건너뛰기 조작을 피하고, 그리고 색인 파일을 완전하게 메모리에 다운로드 하여 검색 서비스를 제공한다.
선행기술 중 대량 오디오 지문 데이터베이스의 검색 방법은, 색인 데이터가 한 피스의 메모리(a piece of memory)에 연속 저장되기 때문에, 통상의 해결방안은 오디오 지문 색인 데이터를 온라인으로 추가, 삭제를 지원하기가 어렵고, 고로 매번 업데이트는 서버의 재시작(restart)을 필요로 한다. 도 1에서 나타내듯이, 현재의 해결방안은 일반적으로 대량 오디오 지문 색인 데이터베이스를 복수의 고정된 작은 오디오 지문 데이터베이스로 나누며(피스 1, 피스 2... 피스 n), 일정 수량의 새 데이터가 누적되면, 최후의 차지 않은 하나의 오디오 지문 데이터베이스(피스 n)를 오프라인으로 재구축해야하며, 그리고 서비스를 재시작하고(서비스 및 업데이트 피스 n을 재시작), 최근의 오디오 지문 데이터베이스를 온라인 대체한다. 이로써 알 수 있듯이, 오프라인 데이터베이스 구축, 서비스를 재시작하는 색인 데이터 업데이트 방법은 조작의 번잡함을 가지며, 업데이트가 즉시 이루어지지 않는 등의 결함을 가지고, 즉각적인 새 음악의 검색 서비스를 제공할 수 없다. 그러므로 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법은 꼭 필요한 것이다.
이를 위해, 본 발명은 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법과 장치를 제공하며, 선행기술 중 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트가 불편한 기술문제를 해결한다.
본 발명은 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법을 제공하며, 이 방법은:
동일 키 값을 가지는 오디오 지문과 상기 키 값의 대응관계를 건립하며; 각 키 값과 그에 대응하는 오디오 지문의 색인 리스트를 건립하고, 색인 리스트에서 각 키 값을 포인터 방식을 통해 그에 대응하는 오디오 지문을 가리키도록 하고; 그리고 동일 키 값을 가지는 오디오 지문을 연속으로 저장함을 포함한다.
본 발명은 온라인 서비스 엔진으로 하여금 오디오 지문을 실시간 추가, 삭제할 수 있게 하며, 1초 내 완성할 수 있고, 뿐만 아니라 검색서비스에 영향을 받지 않으며, 오프라인 데이터 구축, 재생 서비스에서 발생하는 번거롭고 시간 소모의 작업을 피하는 동시에 대량 오디오 지문 데이터베이스의 데이터 시의성(timeliness)을 보증하며, 초 단위 데이터 업데이트 요구에 향응하는 능력을 실현하며, 데이터 서비스의 오디오 검색 서비스에 대해 말하자면 서비스에 대해 의의가 크다.
나아가, 본 발명은 엄격한 데이터 연속성의 제약 조건을 깨트리고, 대량 오디오 지문 데이터베이스를 키(키 값)에 따라 나누며, 각 키(키 값)의 오디오 지문(값)은 여전히 연속적으로 저장된다. 그래서, 비록 소량의 주소 건너뛰기 조작을 가져오지만, 다수의 색인 피스의 설계를 피하고, 색인 구조는 하나의 전체를 이루며, 검색시 많은 색인 피스를 편력(traverse)하는 것이 불필요하므로, 전체 성능이 제고함을 가진다.
나아가, 본 발명에서 제기하는 각 키(키 값)를 업데이트하고 대체하는 오디오 지문(값)의 방법을 통하여 오디오 지문의 온라인 실시간 추가, 삭제를 실현하고, 파일 중의 비동기 지속화된 데이터와 옛 데이터를 비동기 지연삭제하는 방법을 통해서 온라인 검색서비스가 색인 업데이트 작업의 영향을 받지 않음을 보장할 수 있고, 실시간 데이터 업데이트 요구를 실현한다.
도 1은 선행기술의 대량 오디오 지문 데이터베이스의 업데이트 방법의 안내도이다.
도 2는 본 발명의 실시 예에 따른 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법의 흐름도이다.
도 3은 동일한 키 값을 가지는 오디오 지문과 상기 키 값의 대응관계의 안내도이다.
도 4는 색인 리스트의 하나의 실시방식단계의 안내도이다.
도 5는 색인 리스트구조의 안내도이다.
도 6은 각 키 값과 그에 대응하는 오디오 지문을 포함하는 색인 리스트를 건립하는 구체적인 조작 흐름 안내도이다.
도 7은 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법의 흐름도이다.
도 8은 온라인으로 오디오 지문을 추가하는 조작 흐름도이다.
도 9는 삭제 조작을 지연하는 흐름도이다.
도 10은 특수 상황하에 온라인으로 오디오 지문을 추가하는 조작 흐름도이다.
도 11은 온라인으로 오디오 지문을 추가하는 조작 흐름도이다.
도 12는 온라인으로 오디오 지문을 삭제하는 조작 흐름도이다.
도 13은 오디오 지문 데이터베이스를 온라인 실시간 업데이트를 구축하는 장치 구조 안내도이다.
도 14는 오디오 지문 데이터베이스를 온라인 실시간 업데이트를 구축하는 장치 구조 안내도이다.
도 15는 온라인으로 오디오 지문을 추가하는데 사용되는 장치 구조 안내도이다.
도 16은 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 장치 구조 안내도이다.
도 17은 온라인으로 오디오 지문을 삭제하는데 사용되는 장치 구조 안내도이다.
도 18은 온라인 실시간 업데이트를 지원하는 대량 오디오 지문 데이터베이스 구조의 안내도이다.
도 19는 본 발명의 온라인 실시간으로 오디오 지문을 추가하는 방법의 안내도이다.
도 20은 본 발명의 온라인 실시간으로 오디오 지문을 삭제하는 방법의 안내도이다.
본 발명에서 언급한 어휘 중: "연속으로 저장한다."는 것은 새로 추가한 파일 내용 정보를 원래 파일 정보 다음에 연속적으로 보충 추가하는 함의를 가지며, 이는 순서 번호(sequence number)에 따라 다음 순서의 파일 자료에 연속적으로 추가하거나 파일을 그 전의 동일 유형파일이 저장된 동일한 파일 어드레스 하에 병렬로 저장하는 것과 유사하고, 병렬로 순서에 따라 저장한다는 함의를 가진다. "지연 삭제"의 함의는 삭제 예정의 파일을 일정시간 지연 후에 삭제하고, 삭제 전에, 삭제 예정 파일은 정상적으로 접근(access) 또는 둘러보는 것(browse)이 가능하며, 진행중인 접근이 끝난 후 파일은 삭제된다. 본 발명에서 선호하는 삭제방안은 지연 후에 백그라운드 스레드(thread)을 통해서 비동기적 삭제를 진행하며, 현 스레드의 정상 사용에 영향을 주지 않는다.
실시예 1:
일반성을 잃지 않고, 도 2에서 나타내듯이, 선행기술에서 발생하는 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트의 불편함을 해결하기 위해, 본 발명은 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법을 제공하며, 이 방법은 다음의 단계를 포함한다:
S1000. 동일한 키 값(same key value)을 가지는 오디오 지문과 키 값(key value)의 대응관계를 건립한다;
S2000. 각 키 값과 그에 대응하는 오디오 지문을 포함하는 색인 리스트를 건립하고, 색인 리스트에서 각 키 값이 포인터의 형식으로 그 대응하는 오디오 지문을 가리키도록 한다; 그리고,
S3000. 동일 키 값을 가지는 오디오 지문을 연속 저장한다.
비록 음악은 복수의 오디오 지문을 가질 수 있고, 각 오디오 지문은 하나의 키 값을 가질 수 있지만, 동일한 키 값이 선행기술에서 복수의 다른 음악 중에 중복으로 출현할 수 있다. 그러므로 많은 다른 음악에서 동일한 키 값을 갖는 복수의 오디오 지문이 존재한다. 그러므로 도 3에서 나타내듯이, 본 발명은 우선 단계 S1000 을 진행한다. 즉, 동일 키 값을 가지는 오디오 지문과 키 값의 대응관계를 건립한다.
포지셔닝(positioning) 해야하는 업데이트 예정의 오디오 지문을 신속하게 찾기 위해서, 본 발명의 단계 S2000은 각 키 값과 그에 대응하는 오디오 지문을 포함하는 색인 리트스를 건립하고, 색인 리스트에서 각 하나의 키 값이 포인터의 형식으로 그에 대응하는 오디오 지문을 가리키도록 한다; 그리고 단계 S3000은 동일 키 값을 가지는 오디오 지문을 연속으로 저장한다.
색인 리스트에서 키 값(key value)은 배열(array)의 형식으로, 키1, 키2, 키3...의 형식에 따라 순서대로 저장되며, "키1, 키2, 키3..."는 그 대응하는 오디오 지문을 가리키며; 그리고 동일 키 값을 가지는 오디오 지문(값)이 그 대응하는 키 값 뒤에 연속 저장된다. 예를 들면: 값1(value1)과 값4(value4)가, 동일의 키 값- 키1 값을 가지면, 키1 값 뒤에 값1과 값4를 저장한다.
실시예 2:
바람직하게, 본 발명의 상기 색인 리스트는 순서대로 배열한 대수의 배열을 통해 실현하며, 나아가 도 4에서 나타내듯이, 단계 S1000은 다음 단계를 더 포함한다:
S1100: 동일 키 값을 가지는 오디오 지문을 동일 배열로 분류한다(classify).
예를 들면: 도 5에서 나타내듯이: 키1, 값1과 값4를 제1배열로 분류하고, 그 나머지는 차례대로 배열한다.
나아가서, 도 6에서 나타내듯이, 단계 S2000에서, 각 키 값과 그 대응하는 오디오 지문을 포함하는 색인 리스트를 건립하는 단계는 다음 단계를 더 포함한다:
S2100: 색인 리스트에 수량(number)이 키 값 수량과 동일한 배열을 포함시킨다.
도 5에서 나타내듯이: 키들은 종렬(longitudinal column) 상에 배열로 존재할 수 있으며, 다른 배열들에 있는 키는 복수의 오디오 지문(값)에 동시에 대응할 수 있다.
실시예 3:
우선적으로, 선행기술에서 온라인으로 추가하는 오디오 파일의 수량이 통상적으로 아주 많음을 필요로 하기 때문에, 각 오디오 파일은 통상적으로 복수의 키 값을 포함하고, 각 키 값은 하나의 오디오 지문에 대응한다; 이러한 오디오 지문 중에는 아주 많은 오디오 지문이 동일한 키 값을 가지는 경우가 자주 존재하므로, 도 7에서 나타내듯이, 본 발명은 다음 단계를 더 포함한다:
S4000: 오디오 지문을 온라인 추가한다.
진일보적으로, 도 8에서 나타내듯이, 단계 S4000은 다음 단계를 포함한다:
S4100: 추가 예정의 오디오 지문을 그 대응하는 키 값에 따라 그룹화한다. 여기서 각 그룹에서 추가 예정 오디오 지문은 동일한 키 값을 가지며, 이는 다음 단계에서 각 그룹의 대응하는 키 값에 따라 색인 리스트에 오디오 지문을 포지셔닝 및 보충하는 것을 용이하게 하며, 한 유닛을 한 그룹으로 하여 오디오 지문을 추가함으로써 추가속도를 극도로 높일 있으며, 나아가 어드레스 방문의 회수와 시간을 절약한다.
S4200: 색인 리스트에서 대응하는 키 값과 동일한 키 값을 조사하여, 업데이트 예정의 오디오 지문을 포지셔닝하고; 업데이트 예정의 오디오 지문을 복제하며, 이후의 추가 조작은 복제로 형성된 복제 텍스트에서 수행되며, 오디오 지문 데이터베이스의 업데이트 과정 중에서 온라인 접근은 영향을 받지 않는다.
S4300; 복제 파일에서, 동일 키 값을 가지는 업데이트 예정의 오디오 지문과 추가 예정의 오디오 지문을 연속으로 저장하고, 새 오디오 지문을 획득하며, 여기서 새 오디오 지문은 오디오 지문을 추가한 후의 복제 파일을 형성한다.
S4400: 상기 색인 리스트에서 상기 업데이트 예정의 오디오 지문의 키 값을 가리키는 포인터가, 새 오디오 지문을 가리키도록 하고, 온라인 업데이트 조작을 끝낸다; 새 오디오 지문은 대응하는 키 값에 따라 오디오 지문 데이터베이스에 추가되었고, 색인 리스트에서 대응하는 포지셔닝 포인터를 획득한다.
S4500: 업데이트 예정의 오디오 지문을 지연삭제한다. 원래의 복제된 오디오 지문 파일에 대하여 순차적인 삭제 작업을 수행하는 것이며, 서버에서 여분의 파일(redundant file)에 의해 점유되는 저장 공간을 확보(release) 하기 위해 여분의 파일을 삭제하기 위한 것이다.
우선적으로, 삭제 조작과 현재 운행 프로세스(running process)는 무관하기 때문에, 별도의 스레드(thread)가 가능하며, 서버가 바쁘지 않을 때 지연 삭제처리를 행하므로, 도 9에서 나타내듯이 단계 S4500중에서, 다음 단계를 더 포함한다:
S4510: 지연삭제, 백그라운드 스레드(background thread)를 통해서 실현한다.
우선적으로, 만약 추가 예정의 오디오 지문의 키 값이 색인 리스트에 포함되지 않았으면, 도 10에서 나타내듯이, 단계 S4500는 다음 단계를 더 포함한다:
S4600: 새 키 값을 새로 구축된 키 값으로 간주한다;
S4700: 새로 구축된 키 값을 색인 리스트에 연속 추가하여 업데이트된 색인 리스트를 얻는다;
S4800: 새로 구축된 키 값에 대응하는 오디오 지문을 업데이트 예정의 오디오 지문에 연속 저장한다. 새로 추가된 오디오 지문의 접근 어드레스는 곧 색인 리스트에 새로 추가된 새로 구축된 키 값이 된다.
실시예 4:
우선적으로, 오디오 지문 데이터베이스 중 유행이 지난(outdate) 오디오 파일을 제거하기 위해, 도 11에서 나타내듯이, 본 발명은 다음 단계를 더 포함한다:
S5000: 오디오 지문을 온라인 삭제한다.
진일보적으로, 도 12에서 나타내듯이, 단계 S5000은 다음 단계를 더 포함한다:
S5100: 삭제 예정의 모든 오디오 파일의 오디오 지문에 따라, 모든 삭제 예정의 오디오 지문을 요약한다;
S5200: 각 그룹의 삭제 예정의 오디오 지문이 동일한 대응하는 키 값을 가지도록, 삭제 예정의 오디오 지문을 키 값에 따라 그룹화한다. 이는 한 유닛을 한 그룹으로 하여 포지셔닝과 삭제를 용이하게 한다;
S5300: 색인 리스트에서 상기 대응하는 키 값과 동일한 키 값을 조사하여, 삭제 예정의 오디오 지문을 포지셔닝 한다;
S5400: 삭제 예정의 오디오 지문을 복제하며, 추가 조작과 유사하다. 여기서 후속 삭제작업은 복제 후에 형성되는 파일에서 진행하며, 온라인 방문에 영향을 주지 않는다;
S5500: 삭제 예정의 오디오 지문 중 그룹의 오디오 지문과 동일한 복제된 오디오 지문을 삭제하고, 새 오디오 지문을 획득하고, 삭제 작업을 완료하며, 후속으로 단지 포지셔닝 포인터를 수정하는 것만을 필요로 한다;
S5600: 색인 리스트 중 삭제 예정의 오디오 지문의 키 값을 가리키는 포인터가, 새 오디오 지문을 가리키도록 하고 온라인 삭제 작업을 완료한다. 여기서 대응하는 키 값에 따라 방문한 오디오 지문은 이미 삭제된 오디오 지문을 더 이상 포함하지 않는다;
S5700: 삭제 예정의 오디오 지문을 언제 삭제하든 현 방문 프로세스에 영향을 주지 않기 때문에, 본 발명은 선택적으로 삭제 예정의 오디오 지문을 지연삭제할 수 있다;
우선적으로, 단계 S5700은 선택가능 하게 서버가 바쁘지 않은 기간에 백그라운드 스레드를 사용하여 삭제 작동을 하는 것이 가능하며, 저장 공간을 확보하고 서버의 작업 부담을 경감할 수 있다.
실시예 5:
본 발명이 속하는 기술 분야의 통상의 지식을 가진 자가 본 발명의 기술방안을 더 좋게 응용하도록, 도 13에서 나타내듯이, 본 발명은 새 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 장치를 더 제공하며, 이 장치는 다음을 포함한다:
동일 키 값을 가지는 오디오 지문과 키 값의 대응관계를 건립하는데 사용되는 유닛(100);
각 키 값과 그에 대응하는 오디오 지문을 포함하는 색인 리스트를 건립하는데 사용되는 유닛(200), 여기서, 색인 리스트 중의 각 키 값은 포인터의 형식으로 그 대응하는 오디오 지문을 가리킨다;
동일 키 값을 가지는 오디오 지문을 연속으로 저장하는데 사용되는 유닛(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) 메모리에 하나의 배열을 구축하고, 키리스트(keylist)로 기록하고, 배열의 서브스크립트(subscript)는 키 값과 일치함을 유지하며, 널(Null) 포인터로서 배열의 요소를 초기화하고, 그리고 각 키의 파일을 한 피스의 연속적인 메모리에 각각 다운로드하고, 값으로 기록하고, 배열중 서브스크립트 위치에 대응하는 데이터를 대응하는 값을 가리키는 포인터로 업데이트한다.
(3) 탐색시에, 먼저 키 값에 기초하여 키리스트에서 값을 찾고, 그리고 찾은 값 중에서 조건에 부합하는 데이터를 필터 한다.
도 19에서 나타내듯이, 오디오 지문의 온라인 추가가 필요할 때, 음악지문(n개(키, 값) 쌍으로 조성되며, n은 통상적으로 몇천이다)을 추가하며, 본 발명의 실시방식은 아래와 같다:
그룹화: 오디오 지문을 키 값에 따라 그룹화한다. 한 유닛을 한 그룹으로 하여 동일한 키 값을 가지는 오디오 지문을 삽입의 방식으로 추가하는 것이 용이하다;
포지셔닝: 각 그룹의 키 값에 근거하여, 색인 리스트(키리스트) 중 업데이트 해야할 오디오 지문(값)을 찾아서 값-old로 기록하고; 색인 리스트 중에 온라인 사용중의 오디오 지문 데이터베이스 내의 모든 키 값, 그리고 모든 오디오 지문과 이들 모든 키 값 중 상응하는 키 값과의 대응관계가 포함되고, 대응관계는 우선적으로 포인터의 형식을 통해 실현된다;
복제 및 삽입: 값-old중의 내용을 복제하고, 키 그룹 내의 모든 값을 값-old와 조합하고, 키리스트 중 키 위치가 반드시 가리켜야하는 값-new를 새로 구축한다;
포인터 오프셋: 키리스트 중 키 위치의 포인터가 값-new를 가리킨다.
옛 데이터의 대체, 비동기 삭제: 값-old의 포인터가 여전히 사용되는 것을 피하기 위해, 값-old의 포인터를 큐(queue)에 추가하고, 백그라운드 스레드를 통해 지연삭제한다.
파일의 비동기 업데이트: 키와 대응하는 파일내용을 하드디스크 상에 값-new로 비동기 업데이트 한다.
설명해야 할 단계: 포인터 오프셋과 옛 데이터의 대체, 비동기 삭제는 듀얼(dual) 스레드 병행 조작이며, 시간상의 선후 순서의 비교를 가지지 않는다.
도 20에서 나타내듯이, 오디오 지문의 온라인 삭제가 필요할 때, 음악 지문(n개(키 값) 쌍으로 조정되며, n은 통상적으로 몇천이다)을 삭제할 때, 선행기술 중의 방법에 따르면 온라인 방문에 영향을 받을 뿐만 아니라, 삭제조작 동작이 지나치게 번거롭고, 반복 작업이 과다하다. 이에, 본 발명에 의한 개선 후의 실시방법은 아래와 같다:
그룹화: 삭제 예정의 오디오 파일에 따라 삭제 예정의 오디오 지문에 따라, 삭제 예정의 오디오 지문에 대해 통계를 수행하고, 키 값에 따라 삭제 예정의 오디오 지문을 그룹화를 진행한다;
포지셔닝: 각 그룹의 키 값에 근거하여, 색인 리스트(키리스트) 중 업데이트 해야할 값을 찾아서, 값-old로 기록한다;
복제 및 삭제: 값-old 중의 내용을 복제하고, 값에서 목표 값을 찾아서, 삭제하고, 남은 데이터를 값-new로 새로 조직한다.
포인터 오프셋: 키리스트 중 키-new 위치의 포인터를 값-new에 가리킨다.
옛 데이터의 대체, 비동기 삭제: 값-old의 포인터가 여전히 사용되는 것을 피하기 위해, 값-old의 포인터를 큐에 추가하고, 백그라운드 스레드를 통해 지연삭제한다.
파일의 비동기 업데이트: 키와 대응하는 파일내용을 하드디스크상에 값-new로 비동기 업데이트 한다.

Claims (5)

  1. 삭제
  2. 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법에 있어서, 상기 방법은:
    동일 키 값을 가지는 오디오 지문과 상기 키 값의 대응관계를 건립하고;
    각 키 값과 그에 대응하는 오디오 지문의 색인 리스트를 건립하고, 상기 색인 리스트에서 각 키 값이 포인터 방식을 통해 그 대응하는 오디오 지문을 가리키도록 하고;
    동일 키 값을 가지는 오디오 지문을 연속으로 저장하고;
    오디오 지문을 온라인 삭제함을 포함하며,
    상기 오디오 지문을 온라인 삭제함은:
    삭제 예정의 오디오 지문을 상기 키 값에 따라 그룹화하고, 각 그룹에서 상기 삭제 예정의 오디오 지문이 동일한 대응하는 키 값을 가지도록 하고;
    상기 색인 리스트에서 상기 대응하는 키 값과 동일한 키 값을 조사하여, 상기 삭제 예정의 오디오 지문을 포지셔닝하고;
    상기 삭제 예정의 오디오 지문을 복제하고;
    새 오디오 지문을 얻기 위해, 상기 삭제 예정의 오디오 지문에서 상기 그룹 중의 오디오 지문과 동일한 복제된 오디오 지문을 삭제하고;
    상기 색인 리스트에서 상기 삭제 예정의 오디오 지문의 키 값을 가리키는 포인터가 상기 새 오디오 지문을 가리키게 하고; 그리고
    상기 삭제 예정 오디오 지문을 지연삭제함을 포함하는 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법.
  3. 제2항에 있어서,
    상기 지연삭제함은, 백그라운드 스레드로 실현하는 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법.
  4. 삭제
  5. 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 장치에 있어서, 상기 장치는:
    동일 키 값을 가지는 오디오 지문과 상기 키 값의 대응관계를 건립하도록 구성된 유닛;
    각 키 값과 그에 대응하는 오디오 지문을 포함하는 색인 리스트를 건립하는 유닛으로서, 상기 색인 리스트에서 각 키 값은 포인터의 형식으로 그 대응하는 오디오 지문을 가리키는 유닛;
    동일 키 값을 가지는 오디오 지문을 연속 저장하는데 사용되는 유닛;
    오디오 지문을 온라인으로 삭제하는 데 사용되는 유닛을 포함하며,
    상기 오디오 지문을 온라인으로 삭제하는 데 사용되는 유닛은:
    삭제 예정의 오디오 지문을 상기 키 값에 따라 그룹화하는데 사용되는 유닛으로서, 각 그룹에서 상기 삭제 예정의 오디오 지문은 동일한 대응하는 키 값을 가지며;
    상기 색인 리스트에서 상기 대응하는 키 값과 동일한 키 값을 조사하는데 사용되고, 삭제 예정의 오디오 지문을 포지셔닝하는 유닛;
    상기 삭제 예정의 오디오 지문을 복제하는데 사용되는 유닛;
    상기 삭제 예정의 오디오 지문 중 상기 그룹 중의 오디오 지문과 동일한 오디오 지문을 삭제하는데 사용되고, 새 오디오 지문을 획득하는데 사용되는 유닛;
    상기 색인 리스트에서 상기 삭제 예정의 오디오 지문의 키 값을 가리키는 포인터가 상기 새 오디오 지문을 가리키도록 하는 유닛: 그리고
    상기 삭제 예정의 오디오 지문을 지연삭제하는데 사용되는 유닛을 포함하는 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 장치.
KR1020150170033A 2015-02-13 2015-12-01 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법과 장치 KR102431806B1 (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 (2)

Publication Number Publication Date
KR20160100216A KR20160100216A (ko) 2016-08-23
KR102431806B1 true KR102431806B1 (ko) 2022-08-12

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 Before (1)

Application Number Title Priority Date Filing Date
KR1020150162353A KR20160100211A (ko) 2015-02-13 2015-11-19 대용량 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법 및 장치

Family Applications After (2)

Application Number Title Priority Date Filing Date
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 腾讯音乐娱乐科技(深圳)有限公司 音频处理方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777075A (zh) * 2010-02-05 2010-07-14 上海全土豆网络科技有限公司 并行音频指纹检索方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 杭州智屏软件有限公司 一种实时音频指纹检索库数据更新和检索方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777075A (zh) * 2010-02-05 2010-07-14 上海全土豆网络科技有限公司 并行音频指纹检索方法

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
DE102016001035A1 (de) 2016-08-18
KR20160100211A (ko) 2016-08-23
CN104679847B (zh) 2019-03-15
KR20160100219A (ko) 2016-08-23

Similar Documents

Publication Publication Date Title
KR102431806B1 (ko) 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법과 장치
US10346363B2 (en) Deduplicated file system
US7117294B1 (en) Method and system for archiving and compacting data in a data storage array
US11119978B2 (en) Snapshot version control
US8271456B2 (en) Efficient backup data retrieval
CN107766374B (zh) 一种海量小文件存储读取的优化方法和系统
US20120221523A1 (en) Database Backup and Restore with Integrated Index Reorganization
JP5233233B2 (ja) 情報検索システム、情報検索用インデックスの登録装置、情報検索方法及びプログラム
WO2008127595A1 (en) Cluster storage using delta compression
CN101685467A (zh) 用于内容定义节点分裂的方法和装置
US20230394010A1 (en) File system metadata deduplication
CN112334891A (zh) 用于搜索服务器的集中式存储
KR101652436B1 (ko) 분산파일 시스템에서의 중복 제거 장치 및 방법
US20140067820A1 (en) System and method for phonetic searching of data
US20170270149A1 (en) Database systems with re-ordered replicas and methods of accessing and backing up databases
US9575679B2 (en) Storage system in which connected data is divided
JP2010191903A (ja) 分散ファイルシステムのストライピング種別選択方法及びその分散ファイルシステム
JP4268141B2 (ja) データベース複製プログラムおよびデータベース複製装置
CN112540776A (zh) 一种基于iso9660镜像分片去重技术的操作系统镜像管理方法
US11385826B2 (en) Method, electronic device and computer program product for restoring orphan block via replication
CN112948485B (zh) 问答数据的同步方法、装置、系统、服务器及存储介质
US20230376451A1 (en) Client support of multiple fingerprint formats for data file segments
US20230376461A1 (en) Supporting multiple fingerprint formats for data file segment
US20150215404A1 (en) Replication device, replication method, and replication system
US20090327340A1 (en) System and Method for Managing Data Using a Hierarchical Metadata Management System

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