KR20210040850A - 문서 분석 방법, 장치, 기기 및 저장 매체 - Google Patents

문서 분석 방법, 장치, 기기 및 저장 매체 Download PDF

Info

Publication number
KR20210040850A
KR20210040850A KR1020210037742A KR20210037742A KR20210040850A KR 20210040850 A KR20210040850 A KR 20210040850A KR 1020210037742 A KR1020210037742 A KR 1020210037742A KR 20210037742 A KR20210037742 A KR 20210037742A KR 20210040850 A KR20210040850 A KR 20210040850A
Authority
KR
South Korea
Prior art keywords
document
analysis
task
conversion
download
Prior art date
Application number
KR1020210037742A
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 KR20210040850A publication Critical patent/KR20210040850A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams
    • 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/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage 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/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/123Storage facilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Machine Translation (AREA)

Abstract

본 출원은 문서 분석 방법, 장치, 기기 및 저장 매체를 제공하고, 문서 분석 기술 분야에 관한 것이다. 구체적인 구현 방안은, 문서 분석 요청을 수신하고, 문서 분석 요청에 따라 대응되는 문서를 다운로드하고; 문서를 확장성 마크업 언어 (XML) 파일로 변환하고; 변환된 XML 파일을 분석하여, XML 파일의 문서 콘텐츠를 추출하고, 자바 스크립트 객체 표기법 (JSON) 포맷으로 추출된 문서 콘텐츠를 데이터 베이스에 저장한다. 본 출원 실시예의 문서 분석 방법에 따라, 문서 분석 효율을 향상시킬 수 있다.

Description

문서 분석 방법, 장치, 기기 및 저장 매체{METHOD, APPARATUS, DEVICE, AND STORAGE MEDIUM FOR PARSING DOCUMENT}
본 출원은 컴퓨터 기술 분야에 관한 것으로, 특히 문서 분석 기술 분야에 관한 것이고, 문서 분석 방법, 장치, 기기 및 저장 매체를 제공한다.
현재, 각 문서 포맷은 일상 작업 생활에서 광범히 사용되고 있다. 문서 분석은 흔한 문서 처리 방식으로서, 문서 콘텐츠를 추출하는 태스크를 위해, 사전 작업을 완성할 수 있다.
관련 기술에서, Apache POI 도구를 통해 문서 분석을 구현하고, 문서를 대량으로 분석할 경우, 여전히 당해 방안의 문서 분석 효율을 향상시킬 필요가 있다.
본 출원은 일정한 정도에서 관련 기술 중 적어도 하나의 기술적 과제를 해결하려는 것을 취지로 한다.
이로하여, 본 출원은 문서 분석 방법, 장치, 기기 및 저장 매체를 제공하여, 문서 분석 효율을 향상시킨다.
본 출원의 제1 측면에 따라 문서 분석 방법을 제공하고, 문서 분석 방법은,
문서 분석 요청을 수신하고, 상기 문서 분석 요청에 따라 대응되는 문서를 다운로드하는 단계;
상기 문서를 확장성 마크업 언어 (XML) 파일로 변환하는 단계; 및
변환된 XML 파일을 분석하여, 상기 XML 파일의 문서 콘텐츠를 추출하고, 자바 스크립트 객체 표기법 (JSON) 포맷으로 추출된 상기 문서 콘텐츠를 데이터 베이스에 저장하는 단계; 를 포함한다.
본 출원 실시예의 문서 분석 방법은, 문서를 XML 파일로 변환하는 것을 통해, 대량의 문서 분석 장면에서 신속하게 문서에 대응하는 XML 파일을 획득하여, 변환된 XML 파일을 분석하여 XML 파일의 문서 콘텐츠를 추출하고, XML 파일의 효율적인 분석을 구현하고, 문서 분석 효율을 향상시킨다. JSON 포맷으로 추출된 문서 콘텐츠를 데이터 베이스에 저장하여, 기계 학습 모델 훈련에 적용하는데 편리하다.
본 출원의 제2 측면 실시예에 따라 문서 분석 장치를 제공하고, 문서 분석 장치는,
분석 요청 수신 인터페이스를 포함하는 컴포넌트 컨테이너;
상기 컴포넌트 컨테이너에 설치된 데이터 베이스 컴포넌트;
상기 컴포넌트 컨테이너에 설치되어 있고, 상기 분석 요청 수신 인터페이스에 의해 수신된 문서 분석 요청에 따라, 대응되는 문서를 다운로드하는 문서 다운로드 컴포넌트;
상기 컴포넌트 컨테이너에 설치되어 있고, 상기 문서를 확장성 마크업 언어 (XML) 파일로 변환하는 문서 변환 컴포넌트; 및
상기 컴포넌트 컨테이너에 설치되어 있고, 변환된 XML 파일을 분석하여 상기XML 파일의 문서 콘텐츠를 추출하고, 자바 스크립트 객체 표기법 (JSON) 포맷으로 추출된 상기 문서 콘텐츠를 상기 데이터 베이스 컴포넌트에 저장하는 문서 분석 컴포넌트; 를 포함한다.
본 출원 실시예의 문서 분석 장치는 컴포넌트 컨테이너, 상기 컴포넌트 컨테이너에 설치된 데이터 베이스 컴포넌트, 문서 다운로드 컴포넌트, 문서 변환 컴포넌트, 문서 분석 컴포넌트를 포함하고, 컴포넌트 컨테이너는 분석 요청 수신 인터페이스를 포함한다. 본 실시예에서, 문서 다운로드 컴포넌트는 분석 요청 수신 인터페이스에 의해 수신된 문서 분석 요청에 따라 대응되는 문서를 다운로드하고, 문서 변환 컴포넌트는 문서를 XML 파일로 변환하고, 대량의 문서 분석 장면에서 신속하게 문서에 대응하는 XML 파일을 획득하며, 문서 분석 컴포넌트는 변환된 XML 파일을 분석하여 XML 파일의 문서 콘텐츠를 추출하고, XML 파일의 효율적인 분석을 구현하고, JSON 포맷으로 추출된 문서 콘텐츠를 데이터 베이스에 저장하여, 기계 학습 모델 훈련에 적용하는데 편리함으로, 문서의 분석 효율을 향상시킨다.
본 출원의 제3 측면 실시예에 따라 전자 기기를 제공하고, 전자 기기는 적어도 하나의 프로세서 및 상기 적어도 하나의 프로세서와 통신 가능하게 연결하는 메모리를 포함하고; 상기 메모리에는 상기 적어도 하나의 프로세서에 의해 수행 가능한 명령이 저장되어 있고, 상기 명령은 상기 적어도 하나의 프로세서에 의해 수행되어, 상기 적어도 하나의 프로세서가 본 출원의 제1 측면의 문서 분석 방법을 수행하도록 한다.
본 출원의 제4 측면 실시예는 컴퓨터 명령이 저장되어 있는 비일시적 컴퓨터 판독 가능 저장 매체를 제공하고, 상기 컴퓨터 명령은 상기 컴퓨터가 본 출원의 제1 측면 실시예의 문서 분석 방법을 수행하도록 한다.
본 출원의 제5 측면 실시예는 비일시적 컴퓨터 판독 가능 저장 매체에 저장되어 있는 컴퓨터 프로그램을 제공하고, 상기 컴퓨터 프로그램은 상기 컴퓨터가 본 출원의 제1 측면 실시예의 문서 분석 방법을 수행하도록 한다.
이해해야할 것은, 본 발명의 내용 부분에서 설명하는 내용은 본 발명 실시예의 관건 또는 중요한 특징을 식별하기 위한 것이 아니고, 본 발명의 범위를 한정하기 위한 것도 아니다. 본 출원의 기타 특징은 이하의 명세서를 통해 용이하게 이해된다.
도면은 본 기술방안을 더 잘 이해하는데 사용되고, 본 출원을 한정하지 않는다.
도 1은 본 출원의 실시예에서 제공되는 문서 분석 방법의 개략적인 흐름도이다.
도 2는 본 출원의 실시예에서 제공되는 다른 하나의 문서 분석 방법의 개략적인 흐름도이다.
도 3은 본 출원의 실시예에서 제공되는 문서 분석 장치의 개략도이다.
도 4는 본 출원의 실시예에서 제공되는 다른 하나의 문서 분석 장치의 개략도이다.
도 5는 본 출원의 실시예에서 제공되는 다른 하나의 문서 분석 장치의 개략적인 구조도이다.
도 6은 본 출원의 실시예에서 제공되는 문서 분석 처리의 개략적인 흐름도이다.
도 7은 본 출원의 실시예를 구현하는데 적용되는 예시적인 전자 기기의 블록도를 나타낸다.
이하, 도면과 결합하여 본 출원의 예시적인 실시예를 설명한다. 여기에는 이해를 돕기 위해 본 출원의 실시예의 다양한 세부 사항을 포함하고, 실시예들은 단지 예시적인 것으로 간주되어야 한다. 때문에 이 발명에 속하는 기술 분야의 통상의 기술자는 본 출원의 범위 및 사상을 벗어나지 않고 실시예에 다양한 변경과 수정을 할 수 있다는 것을 인식해야 한다. 동시에 정확성과 간결성을 위해 하기의 설명에서 공지 기능과 구조에 대한 설명은 생략한다.
도1은 본 출원의 실시예에서 제공되는 문서 분석 방법의 개략적인 흐름도이다. 도1에 도시된 바와 같이, 당해 방법은 단계101 내지 단계103을 포함한다.
단계101에서, 문서 분석 요청을 수신하고, 문서 분석 요청에 따라 대응되는 문서를 다운로드한다.
본 실시예에서, 문서 분석 요청은 파일 주소를 구비하고, 문서 분석 요청을 수신하고, 문서 분석 요청에 구비된 파일 주소에 따라 대응되는 문서를 다운로드한다. 선택적으로, 문서 분석 요청은 파일 식별자를 더 구비할 수 있고, 파일 식별자는 문서와 문서 분석 결과간에 유일한 매핑을 형성하는데 사용된다.
단계102에서, 문서를 확장성 마크업 언어 (XML) 파일로 변환한다.
본 실시예에서, 관련되는 파일 압축 해제 알고리즘을 통해, 다운로드된 문서의 압축을 해제하고, 문서를 XML 파일로 변환한다. 선택적으로, 문서는 Word 문서이고, Libreoffice 변환기를 통해 문서를 XML 파일로 변환한다.
단계103에서, 변환된 XML 파일을 분석하여 XML 파일 중의 문서 콘텐츠를 추출하고, 자바 스크립트 객체 표기법 (JSON) 포맷으로 추출된 문서 콘텐츠를 데이터 베이스에 저장한다.
본 실시예에서, 파서를 통해 변환된 XML 파일을 분석하여, XML 파일 중의 문서 콘텐츠를 획득하고, 문서 콘텐츠를 JSON 포맷으로 변환하여 데이터 베이스 컴포넌트에 저장한다. 선택적으로, 문서는 Word 문서이고, ElementTree 파서를 통해 변환된 XML 파일을 분석한다.
예시로서, Word 문서를 예로 들어, Word 문서 분석 요청을 수신하고, 문서 분석 요청에 구비된 문서 주소에 따라 대응되는 Word 문서를 다운로드한다. 또한, Libreoffice를 호출하여 Word 문서를 XML 포맷으로 변환한다. 구체적으로, Libreoffice변환기의 명령 줄 인터페이스를 통해, 즉, "soffice-headless-convert-to" 명령을 통해 문서 변환을 구현할 수 있다. 나아가, ElementTree 인터페이스를 통해, XML 파일 중의 Word 문서 콘텐츠를 단락 단위로 순차적으로 추출하고, 추출된 Word 문서 콘텐츠를 일반적인 JSON 포맷으로 변환하여 저장한다.
본 출원 실시예의 문서 분석 방법은, 문서를 XML 파일로 변환하는 것을 통해 효율적인 문서 포맷 변환을 구현하고, 대량의 문서 분석 장면에서 신속하게 문서에 대응하는 XML 파일을 획득하여, 변환된 XML 파일을 분석하여 XML 파일 중의 문서 콘텐츠를 추출하고, XML 파일의 효율적인 분석을 구현하고, 문서 분석 효율을 향상시킨다. 이 외에, 문서 콘텐츠를 JSON 포맷으로 변환하는 것은, 기계 학습 모델 훈련에 적용하는데 편리하고, Apache POI 도구를 호출하여 문서를 분석하고 분석 결과를 다시 옮겨 저장하는 방식에 비해, 처리 효율을 더 향상시킨다.
도2는 본 출원의 실시예에서 제공되는 다른 하나의 문서 분석 방법의 개략적인 흐름도이다. 도2에 도시된 바와 같이, 당해 방법은 단계201 내지 단계203을 포함한다.
단계201에서, 문서 분석 요청을 수신하고, 다운로드 태스크 대기열을 통해 상기 문서 분석 요청에 따라 대응되는 문서를 다운로드한다.
본 실시예에서, 다운로드 태스크 대기열은 복수의 다운로드 태스크를 포함하고, 각 다운로드 태스크는 대응되는 다운로드 스레드를 호출하여 문서 분석 요청을 획득하고, 문서 분석 요청에 따라 대응되는 문서를 다운로드한다. 예시로서, 문서 분석 요청을 수신한 후, 다운로드 태스크 대기열에 유휴 다운로드 태스크가 존재할 경우, 유휴 다운로드 태스크를 통해 대응되는 다운로드 스레드를 호출하여 문서 분석 요청을 획득하고, 획득된 문서 분석 요청에 따라 대응되는 문서를 다운로드한다.
단계202에서, 변환 태스크 대기열을 통해 상기 문서를 XML 파일로 변환한다.
본 실시예에서, 변환 태스크 대기열은 복수의 변환 태스크를 포함하고, 각 변환 태스크는 대응되는 변환 스레드를 호출하여, 다운로드 태스크가 다운로드한 문서를 XML 파일로 변환한다. 예시로서, 문서 분석 요청에 따라 대응되는 문서를 다운로드한 후, 유휴 변환 태스크가 존재할 경우, 유휴 변환 태스크를 통해 대응되는 변환 스레드를 호출하여, 다운로드된 문서를 XML 파일로 변환한다.
단계203에서, 분석 태스크 대기열을 통해 상기 변환된 XML 파일을 분석하여, XML 파일 중의 문서 콘텐츠를 추출하고, JSON 포맷으로 추출된 문서 콘텐츠를 데이터 베이스에 저장한다.
본 실시예에서, 분석 태스크 대기열은 복수의 분석 태스크를 포함하고, 각 분석 태스크는 대응되는 분석 스레드를 호출하여, 변환된 XML 파일을 분석한다. 예시로서, 문서를 XML 파일로 변환한 후, 유휴 분석 태스크가 존재할 경우, 유휴 분석 태스크를 통해 대응되는 분석 스레드를 호출하여, 변환된 XML 파일을 분석하여, XML 파일 중의 문서 콘텐츠를 추출하고, JSON 포맷으로 추출된 문서 콘텐츠를 데이터 베이스에 저장한다.
본 출원의 일 실시예에서, 변환 태스크의 수량은 다운로드 태스크의 수량 및 분석 태스크의 수량보다 크다. 선택적으로, 1:6:1의 비율로 태스크 수량을 분배하고, 변환 태스크의 수량은 6이다. 변환 태스크의 처리 속도가 통상적으로 다운로드 및 분석 태스크 처리 속도보다 낮으므로, 변환 태스크의 수량을 다운로드 태스크의 수량 및 분석 태스크의 수량보다 크게 설정하여, 문서 분석 장치가 태스크를 처리하는 전체 속도를 향상시킨다.
구현 가능한 방식으로서, 문서는 Word 문서이고, Libreoffice 변환기를 통해 문서를 XML 파일로 변환하고, ElementTree 파서를 통해 변환된 XML 파일을 분석한다. 나아가, 분산식 태스크 대기열 관리 도구를 통해 다운로드 태스크 대기열, 변환 태스크 대기열 및 분석 태스크 대기열을 관리하고, 분산식 태스크 대기열 관리 도구, Libreoffice 변환기 및 ElementTree파서는 Docker컨테이너 엔진에 로딩되어 있다.
본 출원의 일 실시예에서, 데이터 베이스는 상호 배제 잠금을 구비하고, 상호 배제 잠금이 현재 태스크에 의해 선점될 경우, 데이터 베이스는 기타 태스크에서 읽기/쓰기를 금지한다. 예를 들면, 현재 태스크는 읽기/쓰기 태스크를 포함하고, 각 읽기/쓰기 태스크는 수행하기 전에 당해 상호 배제 잠금을 선점하고, 만약 선점에 성공하면 상호 배제 잠금을 점용 상태로 표기하고, 현재 태스크가 수행 완성 후 상호 배제 잠금을 해제하며, 상호 배제 잠금이 점용될 경우, 기타 태스크는 수행을 대기하고 상호 배제 잠금에 대한 선점을 계속 시도한다. 이로하여, 상호 배제 잠금을 통해 동일한 시간에 하나만의 현재 태스크가 읽기/쓰기를 수행하도록 보증하고, 동시에 발생한 요청의 충돌을 방지할 수 있고, 동시에 발생한 문서 분석 요청이 순서 있게 데이터 베이스에 기록되도록 한다.
본 출원 실시예의 문서 분석 방법은, 다운로드 태스크 대기열, 변환 태스크 대기열 및 분석 태스크 대기열을 구성하고, 태스크 대기열의 각 태스크를 제어하여 대응되는 스레드를 호출하여 다운로드, 변환 및 분석을 수행함으로써, 효율적으로 대량의 문서 분석을 처리하게 하고, 문서 분석의 다운로드 태스크, 변환 태스크 및 분석 태스크의 스케줄링을 구현하고, 동시에 발생하는 문서 분석 요청을 서포트하고, 대량의 문서 분석의 처리 효율을 향상시킨다.
상기 실시예를 기반으로, 나아가, 본 출원 실시예의 문서 분석 방법은, 다운로드 태스크 대기열, 변환 태스크 대기열 및 분석 태스크 대기열 중의 다운로드 태스크, 변환 태스크 및 분석 태스크의 상태를 모니터링한다.
모니터링 결과는, 예를 들면, 대기 중, 수행 중, 성공, 실패 등을 포함한다.
본 출원의 일 실시예에서, 다운로드 태스크 대기열의 다운로드 태스크의 상태를 모니터링하고, 다운로드 태스크가 완성된 후, 다운로드 태스크에 따라, 변환 태스크 대기열에 대응되는 변환 태스크를 추가한다. 일 실시예로서, 다운로드 태스크 대기열 중의 각 다운로드 태스크에 대해, 다운로드 태스크의 상태를 모니터링하고, 만약 문서1의 다운로드 태스크 상태가 수행 중에서 성공으로 변환되면, 변환 태스크 대기열에 문서1에 대응하는 변환 태스크를 추가한다. 만약 문서2의 다운로드 태스크 상태가 수행 중에서 실패로 변환되면, 재시도 설정에 따라 문서2를 다시 다운로드한다.
본 출원의 일 실시예에서, 변환 태스크 대기열의 변환 태스크의 상태를 모니터링하고, 변환 태스크가 완성된 후, 변환 태스크에 따라 분석 태스크 대기열에 대응되는 분석 태스크를 추가한다. 일 실시예로서, 변환 태스크 대기열의 각 변환 태스크에 대해, 변환 태스크의 상태를 모니터링하고, 문서1의 변환 태스크 상태가 수행 중에서 성공으로 변환되면, 분석 태스크 대기열에 문서1에 대응하는 분석 태스크를 추가하고, 만약 문서2의 변환 태스크 상태가 수행 중에서 실패로 변환되면, 재시도 설정에 따라 문서2를 다시 XML 파일로 변환한다.
선택적으로, 만약 미리 설정된 시간 내에 누적된 실패한 태스크 수량이 미리 설정된 역치보다 크다는 것을 알게 될 경우, 제시 메시지를 송신하여 경고하고, 관리자가 처리하도록 제시한다. 설명해야 할 것은, 제시 메시지의 송신을 구현하는 방식은 수요에 따라 설정할 수 있다. 예를 들면, 미리 설정된 이메일 주소로 메일을 보내거나, 미리 설정된 단말 기기에 메시지를 송신하는 등이 있고, 여기서 구체적으로 한정하지 않는다.
본 출원 실시예의 문서 분석 방법은, 문서 분석 중 다운로드 태스크, 변환 태스크 및 분석 태스크의 모니터링을 구현하고, 동시에 발생된 요청을 서포트하고, 문서 분석의 효율을 향상시키는 동시에 신뢰성을 보증한다.
상기 실시예를 구현하기 위해, 본 출원은 문서 분석 장치를 더 제공한다.
도3은 본 출원의 실시예에서 제공되는 문서 분석 장치의 개략도이다. 도3에 도시된 바와 같이, 당해 문서 분석 장치는, 컴포넌트 컨테이너(100), 데이터 베이스 컴포넌트(10), 문서 다운로드 컴포넌트(20), 문서 변환 컴포넌트(30), 문서 분석 컴포넌트(40)를 포함한다.
데이터 베이스 컴포넌트(10), 문서 다운로드 컴포넌트(20), 문서 변환 컴포넌트(30), 문서 분석 컴포넌트(40)는 모두 컴포넌트 컨테이너(100)에 설치되어 있다.
본 실시예에서, 컴포넌트 컨테이너(100)는 분석 요청 수신 인터페이스를 포함하고, 분석 요청 수신 인터페이스를 통해 문서 분석 요청을 수신한다. 선택적으로, 문서 분석 요청은 파일 주소를 구비하고, 파일 주소는 문서를 캐치하는데 사용된다. 선택적으로, 문서 분석 요청은 파일 식별자를 더 구비할 수 있고, 파일 식별자는 문서와 문서 분석 결과가 유일한 매핑을 형성하는데 사용된다.
일 실시예로서, 컴포넌트 컨테이너(100)는 Docker 컨테이너 엔진을 통해 구현된다.
본 실시예에서, 문서 다운로드 컴포넌트(20)는, 분석 요청 수신 인터페이스에 의해 수신된 문서 분석 요청에 따라 대응되는 문서를 다운로드하는데 사용된다. 일 실시예로서, 문서 분석 요청은 파일 주소를 구비하고, 문서 다운로드 컴포넌트(20)는 요청에 구비된 파일 주소에 따라 문서를 다운로드하고, 다운로드된 문서를 로컬 임시 파일로 저장하고, 임시 파일로 저장하는 것을 통해, 문서 분석 절차가 끝난후 제때에 파일을 삭제하고, 자기 디스크 공간을 해제한다.
문서 변환 컴포넌트(30)는 문서를 XML(Extensible Markup Language, 확장성 마크업 언어)파일로 변환하는데 사용된다.
문서 분석 컴포넌트(40)는 변환된 XML 파일을 분석하여 XML 파일의 문서 콘텐츠를 추출하는데 사용되고, JSON(JavaScript Object Notation, 자바 스크립트 객체 표기법) 포맷으로 추출된 문서 콘텐츠를 데이터 베이스 컴포넌트(10)에 저장한다.
본 출원의 일 실시예에서, 문서는 Word 문서이고, 문서 변환 컴포넌트(30)는 Libreoffice를 통해 구현되고, 문서 분석 컴포넌트(40)는 ElementTree파서를 통해 구현된다.
이하, Word 문서를 예로 들어 문서 분석 과정에 대해 설명한다. 분석 요청 수신 인터페이스를 통해 Word 문서 분석 요청을 수신하고, 문서 다운로드 컴포넌트(20)는 Word 문서 분석 요청에 구비된 파일 주소에 따라, Word 문서를 다운로드하고 로컬 임시 파일로 저장한다. 문서 변환 컴포넌트(30)는 Libreoffice를 호출하여 ".doc" 또는 ".docx" 포맷의 Word 문서를 XML 파일로 변환한다. 구체적으로, C언어를 기반으로 구현된 파일 압축 해제 알고리즘을 호출하여 Word 문서의 압축을 해제하고, 압축이 해제된 ".doc" 또는 ".docx" 포맷의 문서를 XML 포맷으로 변환한다. 문서 분석 컴포넌트(40)는 인터페이스를 통해 ElementTree파서를 호출하여 XML 파일을 분석함으로, 문서 콘텐츠의 추출을 구현하고, 문서 콘텐츠를 JSON 포맷으로 변환하고 데이터 베이스 컴포넌트(10)에 저장한다.
본 출원 실시예의 문서 분석 장치는, 컴포넌트 컨테이너(100), 컴포넌트 컨테이너(100)에 설치되어 있는 데이터 베이스 컴포넌트(10), 문서 다운로드 컴포넌트(20), 문서 변환 컴포넌트(30), 문서 분석 컴포넌트(40)를 포함하고, 컴포넌트 컨테이너(100)는 분석 요청 수신 인터페이스를 포함한다. 문서 다운로드 컴포넌트(20)는 분석 요청 수신 인터페이스에 의해 수신된 문서 분석 요청에 따라 대응되는 문서를 다운로드하고, 문서 변환 컴포넌트(30)는 문서를 XML 파일로 변환하고, 문서 분석 컴포넌트(40)는 변환된 XML 파일을 분석하여 XML 파일의 문서 콘텐츠를 추출하고, JSON 포맷으로 추출된 문서 콘텐츠를 데이터 베이스 컴포넌트(10)에 저장한다. 이로하여, 효율적인 문서 포맷 변환을 구현하고, 대량의 문서 분석 장면에서 신속하게 문서에 대응하는 XML 파일을 획득하여, XML 파일의 효율적인 분석을 구현하고, 문서 분석 효율을 향상시킨다. 이외에, 문서 콘텐츠를 JSON 포맷으로 변환하여, 기계 학습 모델 훈련에 적용하는데 편리하고, Apache POI 도구를 호출하여 문서를 분석하고 분석 결과를 다시 옮겨 저장하는 방식에 비해 처리 효율을 더 향상시킨다.
상기 실시예를 기반으로, 본 출원 실시예의 문서 분석 장치는 효율적인 태스크 스케줄링 및 태스크 모니터링을 구현할 수 있고, 동시에 발생한 문서 분석 요청을 서포트한다.
도4는 본 출원의 실시예에서 제공되는 다른 하나의 문서 분석 장치의 개략도이다. 도4에 도시된 바와 같이, 컴포넌트 컨테이너(100), 데이터 베이스 컴포넌트(10), 문서 다운로드 컴포넌트(20), 문서 변환 컴포넌트(30), 문서 분석 컴포넌트(40), 태스크 대기열 관리 컴포넌트(50), 태스크 대기열 모니터링 컴포넌트(60)를 포함한다.
태스크 대기열 관리 컴포넌트(50) 및 태스크 대기열 모니터링 컴포넌트(60)는 컴포넌트 컨테이너(100)에 설치되어 있다.
본 출원의 일 실시예에서, 컴포넌트 컨테이너(100)는 Docker컨테이너 엔진을 통해 구현되고, 태스크 대기열 관리 컴포넌트(50)는 분산식 태스크 대기열 관리 도구를 통해 구현된다.
이하, 태스크 대기열 관리 컴포넌트(50)에 대해 설명한다.
본 실시예에서, 태스크 대기열 관리 컴포넌트(50)는 다운로드 태스크 대기열, 변환 태스크 대기열 및 분석 태스크 대기열을 통해, 각각 문서 다운로드 컴포넌트(20), 문서 변환 컴포넌트(30) 및 문서 분석 컴포넌트(40)를 제어한다.
일 실시예로서, 문서 다운로드 컴포넌트는, 다운로드 대기열을 통해, 문서 분석 요청에 따라 대응되는 문서를 다운로드하고, 다운로드 태스크 대기열은 복수의 다운로드 태스크를 포함하고, 각 다운로드 태스크는 대응되는 다운로드 스레드를 호출하여, 분석 요청 수신 인터페이스로부터 문서 분석 요청을 획득하고, 문서 분석 요청에 따라 문서 다운로드 컴포넌트(20)를 통해 대응되는 문서를 다운로드한다.
또 하나의 실시예로서, 문서 변환 컴포넌트는, 변환 태스크 대기열을 통해 문서를 XML 파일로 변환하고, 변환 태스크 대기열은 복수의 변환 태스크를 포함하고, 각 변환 태스크는 대응되는 변환 스레드를 호출하여, 문서 변환 컴포넌트(30)를 통해 다운로드 태스크가 다운로드한 문서를 XML 파일로 변환한다.
또 하나의 실시예로서, 문서 분석 컴포넌트는, 분석 태스크 대기열을 통해 변환된 XML 파일을 분석하여 문서 콘텐츠를 추출하고, 분석 태스크 대기열은 복수의 분석 태스크를 포함하고, 각 분석 태스크는 대응되는 분석 스레드를 호출하여, 문서 분석 컴포넌트(40)를 통해 변환된 XML 파일을 분석한다.
본 출원의 일 실시예에서, 변환 태스크의 수량은 다운로드 태스크의 수량과 분석 태스크의 수량보다 크다. 본 실시예에서, 동일한 크기의 문서에 있어서, 문서 변환 컴포넌트(30)의 태스크 처리 속도는 통상적으로 문서 다운로드 컴포넌트(20) 및 문서 분석 컴포넌트(40)의 태스크 처리 속도보다 낮다. 따라서, 변환 태스크의 수량을 다운로드 태스크의 수량 및 분석 태스크의 수량보다 크게 설정하여, 문서 분석 장치가 태스크를 처리하는 전체 속도를 향상시킨다.
일 실시예로서, 문서 다운로드 컴포넌트(20), 문서 변환 컴포넌트(30) 및 문서 분석 컴포넌트(40)의 총 태스크 수는 컴퓨터CPU(Central Processing Unit,중앙 처리 장치)의 논리 코어 수보다 작거나 같고, 각 컴포넌트에 적어도 하나의 태스크를 분배하는 전제하에, 1:6:1의 비율로 태스크 수량을 분배하고, 문서 변환 컴포넌트(30)의 태스크 수는 6이다. 만약 CPU 논리 코어 수가 N이고 N이 8보다 작을 경우, 문서 다운로드 컴포넌트(20)에게 1개의 다운로드 태스크를 분배하고, 문서 분석 컴포넌트(40)에게 1개의 분석 태스크를 분배하고, 문서 변환 컴포넌트(30)에게 N-2개의 변환 태스크를 분배한다.
이하, 태스크 대기열 모니터링 컴포넌트(60)에 대해 설명한다.
본 실시예에서, 태스크 대기열 모니터링 컴포넌트(60)는 다운로드 태스크 대기열, 변환 태스크 대기열 및 분석 태스크 대기열의 다운로드 태스크, 변환 태스크 및 분석 태스크의 상태를 모니터링한다. 태스크의 상태는 예를 들면, 로딩 중, 수행 중, 성공, 실패를 포함한다.
선택적으로, 만약 태스크 대기열 모니터링 컴포넌트(60)가 미리 설정된 시간 내에 누적된 실패한 태스크 수량이 미리 설정된 역치보다 크다는 것을 알게 될 경우, 문서 분석 장치의 관리자에게 제시 메시지를 송신하여 경고하고, 관리자가 처리하도록 제시하고, 문서 분석 장치를 리스타트한다. 설명해야 할 것은, 제시 메시지의 송신을 구현하는 방식은 수요에 따라 설정할 수 있다. 예를 들면, 미리 설정된 이메일 주소로 메일을 송신하거나 미리 설정된 단말 기기에 메시지를 송신하는 등이 있고, 여기서 구체적으로 한정하지 않는다.
본 출원의 일 실시예에서, 태스크 대기열 모니터링 컴포넌트(60)는, 다운로드 태스크 대기열의 다운로드 태스크의 상태를 모니터링하고, 다운로드 태스크가 완성된 후, 다운로드 태스크에 따라 변환 태스크 대기열에 대응되는 변환 태스크를 추가하는데 사용되는 다운로드 태스크 대기열 모니터링 컴포넌트를 포함한다.
본 출원의 일 실시예에서, 태스크 대기열 모니터링 컴포넌트(60)는, 변환 태스크 대기열의 변환 태스크의 상태를 모니터링하고, 변환 태스크가 완성된 후, 변환 태스크에 따라 분석 태스크 대기열에 대응되는 분석 태스크를 추가하는데 사용되는 변환 태스크 대기열 모니터링 컴포넌트를 포함한다.
예를 들면, 모니터링 결과는 수행 성공, 수행 실패 등을 포함하고, 만약 다운로드 태스크 대기열 모니터링 컴포넌트가 다운로드 태스크에 대한 모니터링 결과가 "성공"임을 알게 될 경우, 변환 태스크 대기열에 당해 다운로드 태스크에 대응하는 변환 태스크를 추가한다. 만약 변환 태스크 대기열 모니터링 컴포넌트가 변환 태스크에 대한 모니터링 결과가 "성공"임을 알게 될 경우, 분석 태스크 대기열에 당해 변환 태스크에 대응하는 분석 태스크를 추가한다.
본 출원의 일 실시예에서, 데이터 베이스 컴포넌트(10)는 상호 배제 잠금을 구비하고, 상호 배제 잠금이 현재 태스크에 선점될 경우, 데이터 베이스 컴포넌트(10)는 기타 태스크의 읽기/쓰기를 금지시킨다.
일 실시예로서, 데이터 베이스 컴포넌트(10)는 상호 배제 잠금을 구비하고, 현재 태스크는 읽기/쓰기 태스크를 포함하고, 각 읽기/쓰기 태스크는 수행하기 전에 당해 상호 배제 잠금을 선점하고, 만약 선점에 성공하면 상호 배제 잠금을 점용 상태로 표기하고, 현재 태스크가 수행 완성 후 상호 배제 잠금을 해제하며, 상호 배제 잠금은 동일한 시간에 하나만의 태스크에 점용될 수 있으므로, 데이터 베이스 컴포넌트(10)는 상호 배제 잠금을 선점하지 못한 기타 태스크의 읽기/쓰기를 금지시킨다. 기타 태스크는 수행을 대기하고 상호 배제 잠금에 대한 선점을 계속 시도한다. 이로하여 상호 배제 잠금을 통해 동일한 시간에 하나만의 현재 태스크가 읽기/쓰기를 수행하도록 보증하고, 동시에 발생한 요청의 충돌을 방지할 수 있고, 동시에 발생한 문서 분석 요청이 순서 있게 데이터 베이스에 기록되도록 한다.
본 출원 실시예의 문서 분석 장치에서, 태스크 대기열 관리 컴포넌트(50)는 다운로드 태스크 대기열, 변환 태스크 대기열 및 분석 태스크 대기열을 통해 문서 다운로드 컴포넌트(20), 문서 변환 컴포넌트(30) 및 문서 분석 컴포넌트(40)를 각각 제어하고, 태스크 대기열 모니터링 컴포넌트(60)를 통해 다운로드 태스크 대기열, 변환 태스크 대기열 및 분석 태스크 대기열의 다운로드 태스크, 변환 태스크 및 분석 태스크의 상태를 모니터링한다. 이로하여, 효율적으로 대량의 문서 분석을 처리하고, 문서 분석 장치의 태스크 스케줄링 및 태스크 모니터링을 구현하고, 동시에 발생한 문서 분석 요청을 서포트하고, 대량의 문서 분석의 처리 효율을 향상시키고, 문서 분석 효율을 향상시키는 동시에 신뢰성을 보증한다. 이외에, 문서 분석 장치는 Docker컨테이너를 적용하여, 문서 분석 장치의 환경 배치 절차 및 운영 유지 절차를 단순화 시키고, 시스템의 배치와 이식 효율을 향상시킬 수 있다.
이하, 실제 적용 장면과 결합하여 문서 분석 장치의 구조에 대해 예를 들어 설명한다.
도5는 본 출원의 실시예에서 제공되는 다른 하나의 문서 분석 장치의 개략적인 구조도이다. 도시된 바와 같이, 문서 분석 장치는 Docker컨테이너를 포함하고, Docker컨테이너에는 요청 처리 컴포넌트, 태스크 대기열 관리 컴포넌트, 문서 다운로드 컴포넌트, 문서 변환 컴포넌트, 문서 분석 컴포넌트, 태스크 대기열 모니터링 컴포넌트, Redis데이터 베이스가 설치되어 있다.
요청 처리 컴포넌트는 RESTFul API(Application Programming Interface, 응용 프로그램 인터페이스)를 포함하고, Word 문서 분석 요청을 수신하는데 사용된다. 요청 처리 컴포넌트는 복수의 요청 처리 프로세스를 스타트하여, 동시에 발생한 요청을 처리할 수 있다.
태스크 대기열 관리 컴포넌트는 Celery(분산식 태스크 대기열 관리 도구)를 통해 태스크 대기열을 구현하고, 태스크 대기열에 따라 태스크 스케줄링을 수행하고 태스크의 수행 상태를 유지한다.
태스크 대기열 모니터링 컴포넌트는 태스크 상태 및 태스크 수행 결과의 RESTFul API 검색 인터페이스를 제공한다. 구체적으로, 태스크 대기열 모니터링 컴포넌트는 Flower를 통해 태스크 상태 모니터링을 구현한다.
문서 다운로드 컴포넌트는 Word 문서 분석 요청에 따라 Word 문서를 다운로드하고, 다운로드된 문서를 로컬 임시 파일로 저장한다.
문서 변환 컴포넌트는 Libreoffice를 호출하여 Word 문서를 XML 파일로 변환한다. 문서 변환 컴포넌트는 복수의 변환 태스크 처리 프로세스를 스타트하여, 동시에 발생한 변환 태스크를 처리한다.
문서 분석 컴포넌트는 ElementTree인터페이스를 통해 XML 파일을 분석하고 파일 콘텐츠를 추출하고, 파일 콘텐츠에 대응하는 JSON파일 주소를 Redis데이터 베이스에 저장한다. 문서 분석 컴포넌트는 복수의 분석 태스크 처리 프로새스를 스타트하여, 동시에 발생한 분석 태스크를 처리한다.
이로하여, Word 문서의 분석 효율을 향상시키고, 문서 분석 장치의 효율적인 태스크 스케줄링 및 태스크 모니터링을 구현하고, 동시에 발생한 Word 문서 분석 요청을 서포트한다.
이하, 문서 분석 요청을 예로 들어, 문서 분석의 처리 흐름에 대해 설명한다.
도6은 본 출원의 실시예에서 제공되는 문서 분석 처리의 개략적인 흐름도이다.
본 실시예에서, 각 문서 분석 요청에 대해, 요청 처리 컴포넌트는 문서 분석 요청을 수신하고, 문서 분석 요청을 요청 대기열에 넣고, 태스크 식별자를 피드백한다.
태스크 대기열 관리 컴포넌트는 문서 다운로드 컴포넌트에 유휴 프로세스가 있는지 확인하고, 만약 유휴 프로세스가 있으면, 대응되는 유휴 프로세스에 문서 다운로드 태스크를 발송하고, 만약 유휴 프로세스가 없으면, 계속 기다린다.
문서 다운로드를 수행한 후, 만약 문서 다운로드가 실패되면, 다운로드 태스크 대기열에 미리 설정된 재시도 제한을 검색한다. 만약 재시도 제한을 초과하면, Redis데이터 베이스에 다운로드 실패 상태를 기록하고, 재시도 제한을 초과하지 않았으면 재시도를 진행한다. 만약 문서 다운로드가 성공되면, 다운로드 태스크 대기열에 피드백한다. 태스크 대기열 관리 컴포넌트는 문서 변환 컴포넌트에 유휴 프로세스가 있는지 확인하고, 만약 유휴 프로세스가 있으면, 대응되는 유휴 프로세스에 문서 변환 태스크를 발송하고, 만약 유휴 프로세스가 없으면, 계속 기다린다.
문서 변환을 수행한 후, 만약 문서 포맷 변환이 실패되면, 변환 태스크 대기열에 미리 설정된 재시도 제한을 검색한다. 만약 재시도 제한을 초과하면, Redis데이터 베이스에 변환 실패 상태를 기록하고, 재시도 제한을 초과하지 않았으면 재시도를 진행한다. 만약 문서 포맷 변환이 성공되면, 변환 태스크 대기열에 피드백한다. 태스크 대기열 관리 컴포넌트는 문서 분석 컴포넌트에 유휴 프로세스가 있는지 확인하고, 만약 유휴 프로세스가 있으면, 대응되는 유휴 프로세스에 문서 분석 태스크를 발송하고, 만약 유휴 프로세스가 없으면, 계속 기다린다.
문서 분석을 수행한 후, 만약 문서 분석이 실패되면, 분석 태스크 대기열에 미리 설정된 재시도 제한을 검색한다. 만약 재시도 제한을 초과하면, Redis데이터 베이스에 분석 실패 상태를 기록하고, 재시도 제한을 초과하지 않았으면 재시도를 진행한다. 만약 문서 분석이 성공되면, 분석하여 획득된 문서 콘텐츠를 JSON파일로 저장하고, 분석 태스크 대기열에 피드백한다.
각 태스크 상태 검색 요청에 대해, 태스크 대기열 모니터링 컴포넌트는 태스크 상태 검색 요청을 수신하고, 태스크 식별자에 따라 Redis데이터 베이스에서 검색하여 태스크 상태를 피드백하고, 태스크 상태는, "로딩 중", "수행 중", "성공", "실패"를 포함한다.
각 태스크 수행 결과 검색 요청에 대해, 태스크 대기열 모니터링 컴포넌트는 태스크 수행 결과 검색 요청을 수신하고, 태스크 식별자에 따라 Redis데이터 베이스에서 태스크 상태를 검색하고, 만약 태스크 상태가 "성공"이면, JSON파일 경로와 같은 태스크 수행 결과를 피드백하고, 만약 태스크 상태가 "성공"이 아니면, 태스크 상태를 피드백한다.
이로하여, Word 문서의 분석 효율을 향상시키고, 문서 분석 장치의 효율적인 태스크 스케줄링 및 태스크 모니터링을 구현하고, 동시에 발생한 Word 문서 분석 요청을 서포트한다.
본 출원의 이해를 편리하게 하기 위해, 이하, 상기 실시예에 언급된 일부 전문 용어에 대해 간단한 소개를 하려 한다. 이하의 소개는 본 출원의 이해를 편리하게 하기 위한 것일 뿐, 각 개념의 전체 의미 및/또는 외연에 대한 제한으로 간주되어서는 안된다.
Libreoffice:Libreoffice는 문서의 읽기/쓰기에 사용되는 일련의 인터페이스를 제공하고, Word, PPT, Excel 등 문서 포맷을 서포트한다.
ElementTree: ElementTree는 Python프로그래밍 언어에 내장된 XML 객체 동작 인터페이스를 가리킨다.
Celery(분산식 태스크 대기열 관리 도구): Celery는 태스크 대기열의 방식으로 분산된 기계, 프로세스, 스레드에서 태스크 스케줄링을 수행하도록 서포트한다. Celery의 아키텍처는 메시지 브로커(message broker), 태스크 수행 유닛(worker) 및 태스크 수행 결과 저장 유닛(task result store) 3개 부분으로 조성된다. Celery 자체는 메시지 서비스를 제공하지 않지만 제3자에서 제공하는 메시지 브로커(예를 들면, RabbitMQ, Redis, MongoDB 등)와 집성하는데 편리하다. 태스크 수행 유닛은 동시에 분산식 시스템 노드에서 운행할 수 있다. 태스크 수행 결과 저장 유닛은, 태스크 수행 유닛이 태스크를 수행한 결과를 저장하는데 사용된다. Celery는 Redis, MongoDB, Django ORM, AMQP 등 방식으로 저장하도록 서포트한다.
Flower은 web을 기반으로 하는 도구이고, Celery를 모니터링하고 관리하는데 사용된다. Flower은 API인터페이스를 통해, Celery 중의 태스크를 모니터링하고 관리하고, Flower의 작동은 태스크 대기열의 수행에 영향주지 않는다.
Docker 은 오픈 소스의 애플리케이션 컨테이너 엔진이고, Docker컨테이너를 기반으로 각 동작 시스템의 기초에서 응용 소프트웨어를 실행하기 위한 환경을 배치할 수 있고, Docker미러링을 패키징하여 도출한다.
상기 실시예를 구현하기 위해, 본 출원은 컴퓨터 프로그램 제품을 더 제공하고, 컴퓨터 프로그램 제품 중의 명령이 프로세서에 의해 수행될 경우, 전술한 임의 실시예의 문서 분석 방법을 구현한다.
본 출원의 실시예에 따르면, 본 출원은 전자 기기와 판독 가능 저장 매체를 제공한다.
본 출원의 실시예에 따르면, 본 출원은 비일시적 컴퓨터 판독 가능 저장 매체에 저장되어 있는 컴퓨터 프로그램을 제공하고, 상기 컴퓨터 프로그램은 컴퓨터가 본 출원에서 제공되는 문서 분석 방법을 수행하도록 한다.
도7에 도시된 바와 같이, 도7은 본 출원의 실시예의 문서 분석 방법을 구현하기 위한 전자 기기의 블록도이다. 전자 기기는 복수 형식의 디지털 컴퓨터를 나타낸다. 예를 들면, 랩톱 컴퓨터, 데스크톱 컴퓨터, 워크스테이션, 개인 정보 단말(PAD), 서버, 블레이드 서버, 메인 프레임 및 기타 적합한 컴퓨터일 수 있다. 전자 기기는 복수 형식의 모바일 장치를 나타낸다. 예를 들면 개인 정보 단말(PAD), 셀룰러 폰, 스마트 폰, 웨어러블 기기 및 기타 유사한 컴퓨팅 장치일 수 있다. 본 출원에 나타난 컴포넌트, 이들의 연결과 관계, 및 기능은 단지 예시적인 것 뿐이며, 본 출원에서 설명 및/또는 요구한 본 출원의 구현을 한정하려는 것은 아니다.
도7에 도시된 바와 같이, 당해 전자 기기에는, 하나 또는 복수의 프로세서(701), 메모리(702) 및 각 컴포넌트를 연결하기 위한 고속 인터페이스와 저속 인터페이스를 포함하는 인터페이스를 포함한다. 각 컴포넌트는 서로 다른 버스를 이용하여 서로 연결되고, 공동 메인보드에 장착될 수 있고 수요에 의해 기타 방식으로 장착될 수도 있다. 프로세서는 메모리 또는 메모리 상에 저장되어 외부의 입력 / 출력 장치 (예를 들면, 인터페이스에 결합된 디스플레이 기기)에 GUI의 그래픽 정보를 표시하기 위한 명령을 포함한, 전자 기기 내에서 수행 가능한 명령을 처리할 수 있다. 기타 실시 방식에서, 필요에 따라, 복수의 프로세서 및/또는 복수의 버스를 복수의 메모리와 같이 사용할 수 있다. 마찬가지로, 복수의 전자 기기를 연결할 수 있고, 각 전자 기기는 일부 필요한 동작(예를 들면, 서버 어레이, 한 그룹의 블레이드 서버 또는 멀티 프로세서 시스템)을 제공한다. 도7에서는 하나의 프로세서(701)를 예로 든다.
메모리(702)는 본 출원에서 제공하는 비일시적 컴퓨터 판독 가능 저장 매체이다. 상기 메모리에는 적어도 하나의 프로세서에 의해 수행 가능한 명령이 저장되어 있고, 상기 적어도 하나의 프로세서가 본 출원에서 제공되는 문서 분석 방법을 수행할 수 있게 한다. 본 출원의 비일시적 컴퓨터 판독 가능 저장 매체에는 컴퓨터 명령이 저장되어 있고, 당해 컴퓨터 명령은 컴퓨터가 본 출원에서 제공되는 문서 분석 방법을 수행하게 한다.
메모리(702)는 비일시적 컴퓨터 판독 가능 저장 매체로서, 비일시적 소프트웨어 프로그램, 비일시적 컴퓨터 수행 가능한 프로그램 및 모듈을 저장하는데 사용된다. 예를 들면, 본 출원의 실시예 중의 문서 분석 방법에 대응하는 프로그램 명령/모듈일 수 있다. 프로세서(701)는 메모리(702)에 저장된 비일시적 소프트웨어 프로그램, 명령 및 모듈을 작동시켜, 서버의 복수의 기능 응용 및 데이터 처리를 수행한다. 즉 상기 방법 실시예의 문서 분석 방법을 구현한다.
메모리(702)는 프로그램 저장영역과 데이터 저장영역을 포함할 수 있고, 프로그램 저장영역은 운영체제, 적어도 하나의 기능에 필요한 애플리케이션 프로그램을 저장할 수 있고, 데이터 저장영역은 전자 기기의 사용에 의해 생성된 데이터 등을 저장할 수 있다. 이 외에, 메모리(702)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 비일시적 메모리, 예를 들면 적어도 하나의 자기 디스크 메모리, 플래시 메모리 또는 기타 비일시적 솔리드 스테이트 메모리를 더 포함할 수 있다. 일부 실시예에서, 메모리(702)는 선택적으로 프로세서(701)에 대해 원격으로 설치되는 메모리를 포함하고, 이러한 원격 메모리는 네트워크를 통해 전자 기기에 연결될 수 있다. 상기 네트워크의 구현예는 인터넷, 인트라넷, 근거리 통신망, 이동 통신망 및 이들의 조합을 포함하나 이에 한정되지 않는다.
문서 분석 방법의 전자 기기는 입력 장치(703) 및 출력 장치(704)를 더 포함할 수 있다. 프로세서(701), 메모리(702), 입력 장치(703) 및 출력 장치(704)는 버스 또는 기타 방식을 통해 연결될 수 있고, 도 7에서는 버스를 통해 연결되는 것을 예로 한다.
입력 장치(703)는 입력된 숫자 또는 문자 정보를 수신할 수 있고, 전자 기기의 사용자 설정 및 기능 제어와 관련되는 키 신호 입력을 생성할 수 있고, 예를 들어, 터치 스크린, 키패드, 마우스, 트랙패드, 터치패드, 포인팅 스틱, 하나 또는 복수의 마우스 버튼, 트랙볼, 조이스틱 등 입력 장치이다. 출력 장치(704)는 디스플레이 기기, 보조 조명 장치(예를 들면, LED)와 촉각 피드백 장치(예를 들면, 진동 모터) 등을 포함할 수 있다. 당해 디스플레이 기기는 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이 및 플라즈마 디스플레이를 포함할 수 있으나 이에 한정되지 않는다. 일부 실시예에서, 디스플레이 기기는 터치 스크린일 수 있다.
여기서 설명하는 시스템과 기술의 여러 가지 실시형태는 디지털 전자회로 시스템, 집적회로 시스템, 전용 ASIC(특정 용도 지향 집적 회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합에서 실현될 수 있다. 이러한 여러 가지 실시형태는 하나 또는 복수의 컴퓨터 프로그램에서 실시되는 것을 포함할 수 있고, 당해 하나 또는 복수의 컴퓨터 프로그램은 적어도 하나의 프로그래밍 가능 프로세서를 포함하는 프로그래밍 가능 시스템에서 수행 및/또는 해석되며, 당해 프로그래밍 가능 프로세서는 전용 또는 일반 프로그래밍 가능 프로세서일 수 있으며, 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치에서 데이터와 명령을 수신할 수 있고, 데이터와 명령을 당해 저장 시스템, 당해 적어도 하나의 입력 장치 및 당해 적어도 하나의 출력 장치에 전송할 수 있다.
이러한 컴퓨팅 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 한다)은 프로그래밍 가능 프로세서의 기계 명령을 포함하고, 고급 절차 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어를 이용하여 이러한 컴퓨팅 프로그램을 실시할 수 있다. 본 명세서에서 사용한 용어 "기계 판독 가능 매체"와 "컴퓨터 판독 가능 매체"는 기계 명령 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는 임의의 컴퓨터 프로그램 제품, 기기 및/또는 장치(예를 들면 자기 디스크, 광 디스크, 메모리, 프로그래밍 가능 로직 장치(PLD))를 가리키고, 기계 판독 가능 신호인 기계 명령을 수신하는 기계 판독 가능 매체를 포함한다. 용어 "기계 판독 가능 신호"는 기계 명령 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는 임의의 신호를 가리킨다.
사용자와의 대화를 제공하기 위해, 여기서 설명된 시스템 및 기술은 컴퓨터 상에서 구현할 수 있으며, 당해 컴퓨터는 사용자에게 정보를 디스플레이하는 디스플레이 장치(예를 들면 CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터); 및 키보드와 지향 장치(예를 들면, 마우스 또는 트랙볼)를 구비하고, 사용자는 당해 키보드와 당해 지향 장치를 통해 컴퓨터에 입력을 제공할 수 있다. 기타 유형의 장치도 사용자와의 대화에 사용될 수 있는 바, 예를 들면 사용자에게 제공된 피드백은 임의의 형식의 감각 피드백(예를 들면 시각적 피드백, 청각적 피드백 또는 촉각적 피드백)일 수 있고, 임의의 형식(음향 입력, 음성 입력 또는 촉각 입력을 포함)에 의해 사용자로부터의 입력을 수신할 수 있다.
여기서 설명한 시스템과 기술을 백그라운드 컴포넌트를 포함하는 컴퓨팅 시스템(예를 들면 데이터 서버), 또는 미들웨어 컴포넌트를 포함하는 컴퓨팅 시스템(예를 들면 애플리케이션 서버), 또는 프론트 엔드 컴포넌트를 포함하는 컴퓨팅 시스템(예를 들면 그래픽 사용자 인터페이스 또는 네트워크 브라우저를 구비한 사용자 컴퓨터이며, 사용자는 당해 그래픽 사용자 인터페이스 또는 당해 네트워크 브라우저를 통해 여기서 설명한 시스템과 기술의 실시형태와 대화할 수 있다), 또는 이러한 백그라운드 컴포넌트, 미들웨어 컴포넌트 또는 프론트 엔드 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 실시될 수 있다. 임의의 형태 또는 매체의 디지털 데이터 통신(예를 들면 통신 네트워크)를 통해 시스템의 컴포넌트를 서로 연결할 수 있다. 통신 네트워크의 예시는 근거리 통신망 (LAN), 광역 통신망 (WAN) 및 인터넷을 포함한다.
컴퓨터 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 떨어져 있으며, 통신 네트워크를 통해 서로 대화한다. 대응하는 컴퓨터에서 운행되고 서로 클라이언트-서버 관계를 가지는 컴퓨터 프로그램에 의해 클라이언트와 서버의 관계를 생성한다.
이해해야 할 것은, 상기 복수 형식의 흐름에 의해, 단계를 재정열, 추가 또는 삭제할 수 있다. 예를 들면, 본 출원에 기재한 각 단계는 병행하여 또는 순차적으로 수행할 수도 있고, 서로 다른 순서로 수행할 수도 있다. 본 출원에서 개시한 기술 방안이 원하는 결과만 구현할 수 있으면 본 출원에서는 이에 한정되지 않는다.
상기 구체적인 실시 방식은 본 출원의 보호 범위를 한정하지 않는다. 본 발명이 속하는 기술 분야의 통상의 기술자는 설계 요구 및 기타 요소에 따라 여러가지 수정, 조합, 서브 조합 및 대체가 이루어질 수 있음을 이해해야 한다. 본 출원의 정신과 원칙 내에서 이루어진 모든 수정, 동등한 대체 및 개선은 본 출원 보호 범위에 포함된다.

Claims (19)

  1. 문서 분석 방법에 있어서,
    문서 분석 요청을 수신하고, 상기 문서 분석 요청에 따라 대응되는 문서를 다운로드하는 단계;
    상기 문서를 확장성 마크업 언어 (XML) 파일로 변환하는 단계; 및
    변환된 XML 파일을 분석하여, 상기 XML 파일의 문서 콘텐츠를 추출하고, 자바 스크립트 객체 표기법 (JSON) 포맷으로 추출된 상기 문서 콘텐츠를 데이터 베이스에 저장하는 단계; 를 포함하는,
    것을 특징으로 하는 문서 분석 방법.
  2. 제1항에 있어서,
    상기 문서 분석 요청에 따라 대응되는 문서를 다운로드하는 단계는,
    다운로드 태스크 대기열을 통해 상기 문서 분석 요청에 따라 대응되는 문서를 다운로드하고, 상기 다운로드 태스크 대기열은 복수의 다운로드 태스크를 포함하고, 각 상기 다운로드 태스크는 대응되는 다운로드 스레드를 호출하여 문서 분석 요청을 획득하고, 상기 문서 분석 요청에 따라 대응되는 문서를 다운로드하는 단계를 포함하고;
    상기 문서를 확장성 마크업 언어 (XML) 파일로 변환하는 단계는,
    변환 태스크 대기열을 통해 상기 문서를 XML 파일로 변환하고, 상기 변환 태스크 대기열은 복수의 변환 태스크를 포함하고, 각 상기 변환 태스크는 대응되는 변환 스레드를 호출하여, 상기 다운로드 태스크가 다운로드한 문서를 XML 파일로 변환하는 단계를 포함하고;
    상기 변환된 XML 파일을 분석하여, 상기 XML 파일의 문서 콘텐츠를 추출하는 단계는,
    분석 태스크 대기열을 통해 상기 변환된 XML 파일을 분석하여 상기 문서 콘텐츠를 추출하고, 상기 분석 태스크 대기열은 복수의 분석 태스크를 포함하고, 각 상기 분석 태스크는 대응되는 분석 스레드를 호출하여, 변환된 XML 파일을 분석하는 단계를 포함하는,
    것을 특징으로 하는 문서 분석 방법.
  3. 제2항에 있어서,
    상기 다운로드 태스크 대기열의 다운로드 태스크의 상태를 모니터링하는 단계; 및
    상기 다운로드 태스크가 완성된 후, 상기 다운로드 태스크에 따라, 상기 변환 태스크 대기열에 대응되는 변환 태스크를 추가하는 단계;를 더 포함하는,
    것을 특징으로 하는 문서 분석 방법.
  4. 제2항에 있어서,
    상기 변환 태스크 대기열의 변환 태스크의 상태를 모니터링하는 단계; 및
    상기 변환 태스크가 완성된 후, 상기 변환 태스크에 따라, 상기 분석 태스크 대기열에 대응되는 분석 태스크를 추가하는 단계;를 더 포함하는,
    것을 특징으로 하는 문서 분석 방법.
  5. 제1항에 있어서,
    상기 문서는 Word 문서이고,
    상기 문서를 XML 파일로 변환하는 단계는,
    Libreoffice 변환기를 통해, 상기 문서를 XML 파일로 변환하는 단계를 포함하고;
    상기 변환된 XML 파일을 분석하여 상기 XML 파일의 문서 콘텐츠를 추출하는 단계는,
    ElementTree파서를 통해, 변환된 XML 파일을 분석하여, 상기 XML 파일의 문서 콘텐츠를 추출하는 단계를 포함하는,
    것을 특징으로 하는 문서 분석 방법.
  6. 제5항에 있어서,
    분산식 태스크 대기열 관리 도구를 통해, 상기 다운로드 태스크 대기열, 상기 변환 태스크 대기열 및 상기 분석 태스크 대기열을 관리하고, 상기 분산식 태스크 대기열 관리 도구, 상기 Libreoffice 변환기 및 상기 ElementTree파서는 Docker컨테이너 엔진에 로딩되어 있는,
    것을 특징으로 하는 문서 분석 방법.
  7. 제1항에 있어서,
    상기 데이터 베이스는 상호 배제 잠금을 구비하고, 상기 상호 배제 잠금이 현재 태스크에 의해 선점될 경우, 상기 데이터 베이스는 기타 태스크의 읽기/쓰기를 금지시키는,
    것을 특징으로 하는 문서 분석 방법.
  8. 제2항에 있어서,
    상기 변환 태스크의 수량은 상기 다운로드 태스크의 수량과 상기 분석 태스크의 수량보다 큰,
    것을 특징으로 하는 문서 분석 방법.
  9. 문서 분석 장치에 있어서,
    분석 요청 수신 인터페이스를 포함하는 컴포넌트 컨테이너;
    상기 컴포넌트 컨테이너에 설치된 데이터 베이스 컴포넌트;
    상기 컴포넌트 컨테이너에 설치되어 있고, 상기 분석 요청 수신 인터페이스에 의해 수신된 문서 분석 요청에 따라, 대응되는 문서를 다운로드하는 문서 다운로드 컴포넌트;
    상기 컴포넌트 컨테이너에 설치되어 있고, 상기 문서를 확장성 마크업 언어 (XML) 파일로 변환하는 문서 변환 컴포넌트; 및
    상기 컴포넌트 컨테이너에 설치되어 있고, 변환된 XML 파일을 분석하여 상기XML 파일의 문서 콘텐츠를 추출하고, 자바 스크립트 객체 표기법 (JSON) 포맷으로 추출된 상기 문서 콘텐츠를 상기 데이터 베이스 컴포넌트에 저장하는 문서 분석 컴포넌트; 를 포함하는,
    것을 특징으로 하는 문서 분석 장치.
  10. 제9항에 있어서,
    상기 문서 다운로드 컴포넌트는, 다운로드 태스크 대기열을 통해, 상기 문서 분석 요청에 따라 대응되는 문서를 다운로드하고, 상기 다운로드 태스크 대기열은 복수의 다운로드 태스크를 포함하고, 각 상기 다운로드 태스크는 대응되는 다운로드 스레드를 호출하여, 상기 문서 분석 요청을 획득하고, 상기 문서 분석 요청에 따라, 대응되는 문서를 다운로드하고;
    상기 문서 변환 컴포넌트는, 변환 태스크 대기열을 통해 상기 문서를 XML 파일로 변환하고, 상기 변환 태스크 대기열은 복수의 변환 태스크를 포함하고, 각 상기 변환 태스크는 대응되는 변환 스레드를 호출하여, 상기 다운로드 태스크가 다운로드한 문서를 XML 파일로 변환하고;
    상기 문서 분석 컴포넌트는, 분석 태스크 대기열을 통해 상기 변환된 XML 파일을 분석하여 상기 문서 콘텐츠를 추출하고, 상기 분석 태스크 대기열은 복수의 분석 태스크를 포함하고, 각 상기 분석 태스크는 대응되는 분석 스레드를 호출하여, 변환된 XML 파일을 분석하는,
    것을 특징으로 하는 문서 분석 장치.
  11. 제10항에 있어서,
    상기 다운로드 태스크 대기열의 다운로드 태스크의 상태를 모니터링하고, 상기 다운로드 태스크가 완성된 후, 상기 다운로드 태스크에 따라, 상기 변환 태스크 대기열에 대응되는 변환 태스크를 추가하는 다운로드 태스크 대기열 모니터링 컴포넌트를 더 포함하는,
    것을 특징으로 하는 문서 분석 장치.
  12. 제10항에 있어서,
    상기 변환 태스크 대기열의 변환 태스크의 상태를 모니터링하고, 상기 변환 태스크가 완성된 후, 상기 변환 태스크에 따라, 상기 분석 태스크 대기열에 대응되는 분석 태스크를 추가하는 변환 태스크 대기열 모니터링 컴포넌트를 더 포함하는,
    것을 특징으로 하는 문서 분석 장치.
  13. 제9항에 있어서,
    상기 문서는 Word 문서이고, 상기 문서 변환 컴포넌트는 Libreoffice변환기를 통해 구현되고, 상기 문서 분석 컴포넌트는 ElementTree파서를 통해 구현되는,
    것을 특징으로 하는 문서 분석 장치.
  14. 제13항에 있어서,
    다운로드 태스크 대기열, 변환 태스크 대기열 및 분석 태스크 대기열을 통해, 각각 상기 문서 다운로드 컴포넌트, 상기 문서 변환 컴포넌트 및 상기 문서 분석 컴포넌트를 제어하는 태스크 대기열 관리 컴포넌트를 더 포함하고,
    상기 태스크 대기열 관리 컴포넌트는 분산식 태스크 대기열 관리 도구를 통해 구현되고, 상기 컴포넌트 컨테이너는 Docker컨테이너 엔진을 통해 구현되는,
    것을 특징으로 하는 문서 분석 장치.
  15. 제9항에 있어서,
    상기 데이터 베이스 컴포넌트는 상호 배제 잠금을 구비하고, 상기 상호 배제 잠금이 현재 태스크에 의해 선점될 경우, 상기 데이터 베이스 컴포넌트는 기타 태스크의 읽기/쓰기를 금지시키는,
    것을 특징으로 하는 문서 분석 장치.
  16. 제10항에 있어서,
    상기 변환 태스크의 수량은 상기 다운로드 태스크의 수량 및 상기 분석 태스크의 수량보다 큰,
    것을 특징으로 하는 문서 분석 장치.
  17. 전자 기기에 있어서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서와 통신 가능하게 연결되는 메모리; 를 포함하고,
    상기 메모리에는 상기 적어도 하나의 프로세서에 의해 수행 가능한 명령이 저장되어 있고, 상기 명령은 상기 적어도 하나의 프로세서에 의해 수행되어, 상기 적어도 하나의 프로세서가 제1항 내지 제8항 중 어느 한 항의 문서 분석 방법을 수행하도록 하는,
    것을 특징으로 하는 전자 기기.
  18. 컴퓨터 명령이 저장되어 있는 비일시적 컴퓨터 판독 가능 저장 매체에 있어서,
    상기 컴퓨터 명령은 상기 컴퓨터가 제1항 내지 제8항 중 어느 한 항의 문서분석 방법을 수행하도록 하는,
    것을 특징으로 하는 비일시적 컴퓨터 판독 가능 저장 매체.
  19. 비일시적 컴퓨터 판독 가능 저장 매체에 저장되어 있는 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램은 상기 컴퓨터가 제1항 내지 제8항 중 어느 한 항의 문서 분석 방법을 수행하도록 하는,
    것을 특징으로 하는 비일시적 컴퓨터 판독 가능 저장 매체에 저장되어 있는 컴퓨터 프로그램.
KR1020210037742A 2020-04-03 2021-03-24 문서 분석 방법, 장치, 기기 및 저장 매체 KR20210040850A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010261296.8A CN111581948B (zh) 2020-04-03 2020-04-03 文档解析方法、装置、设备及存储介质
CN202010261296.8 2020-04-03

Publications (1)

Publication Number Publication Date
KR20210040850A true KR20210040850A (ko) 2021-04-14

Family

ID=72121130

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210037742A KR20210040850A (ko) 2020-04-03 2021-03-24 문서 분석 방법, 장치, 기기 및 저장 매체

Country Status (5)

Country Link
US (1) US20210312125A1 (ko)
EP (1) EP3889805A1 (ko)
JP (1) JP7206313B2 (ko)
KR (1) KR20210040850A (ko)
CN (1) CN111581948B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220091707A1 (en) 2020-09-21 2022-03-24 MBTE Holdings Sweden AB Providing enhanced functionality in an interactive electronic technical manual
CN112527734A (zh) * 2020-12-07 2021-03-19 北京百度网讯科技有限公司 一种图形处理方法、装置、电子设备及存储介质
US20220261530A1 (en) 2021-02-18 2022-08-18 MBTE Holdings Sweden AB Providing enhanced functionality in an interactive electronic technical manual
CN113204621B (zh) * 2021-05-12 2024-05-07 北京百度网讯科技有限公司 文档入库、文档检索方法,装置,设备以及存储介质
US11947906B2 (en) 2021-05-19 2024-04-02 MBTE Holdings Sweden AB Providing enhanced functionality in an interactive electronic technical manual
US20230059946A1 (en) * 2021-08-17 2023-02-23 International Business Machines Corporation Artificial intelligence-based process documentation from disparate system documents
US20230117114A1 (en) * 2021-10-19 2023-04-20 Foundation Of Soongsil University Industry Cooperation Method and apparatus for managing a yaml file for kubernetes
CN116089362B (zh) * 2023-03-06 2023-06-20 北京微吼时代科技有限公司 文档转换方法及其系统、直播系统、存储介质及电子设备
CN116107816B (zh) * 2023-04-13 2023-08-01 山东捷瑞数字科技股份有限公司 一种mysql数据库回档云平台
CN116757170B (zh) * 2023-08-21 2023-10-20 成都数联云算科技有限公司 一种基于JAVA语言的Excel表格导入方法和系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2381340A (en) * 2001-10-27 2003-04-30 Hewlett Packard Co Document generation in a distributed information network
JP2003271609A (ja) * 2002-03-12 2003-09-26 Mitsubishi Electric Corp 情報監視装置及び情報監視方法
GB2417637A (en) * 2004-06-14 2006-03-01 Siemens Ag Performing administration in a communications system
US7440967B2 (en) * 2004-11-10 2008-10-21 Xerox Corporation System and method for transforming legacy documents into XML documents
CN100347706C (zh) * 2005-12-03 2007-11-07 福州大学 一种pdf文档到xml文档转换的方法
CN101055577A (zh) * 2006-04-12 2007-10-17 龙搜(北京)科技有限公司 可扩展标记语言集中器
US7930630B2 (en) * 2006-05-31 2011-04-19 Microsoft Corporation Event-based parser for markup language file
US9558164B1 (en) * 2008-12-31 2017-01-31 F5 Networks, Inc. Methods and system for converting WSDL documents into XML schema
CN101706772A (zh) * 2009-12-14 2010-05-12 中国移动通信集团山西有限公司 Word文档的操作方法及装置
CN102135978A (zh) * 2010-11-30 2011-07-27 广东星海数字家庭产业技术研究院有限公司 将标记语言转为xml语言的hsml解析方法及系统
CN102750132B (zh) * 2012-06-13 2015-02-11 深圳中微电科技有限公司 多线程虚拟流水线处理器的线程控制和调用方法及其处理器
US9842099B2 (en) * 2012-11-29 2017-12-12 Business Objects Software Limited Asynchronous dashboard query prompting
US9563474B2 (en) * 2013-06-13 2017-02-07 Wipro Limited Methods for managing threads within an application and devices thereof
US9513961B1 (en) * 2014-04-02 2016-12-06 Google Inc. Monitoring application loading
US9996629B2 (en) * 2015-02-10 2018-06-12 Researchgate Gmbh Online publication system and method
US10216256B2 (en) * 2016-10-03 2019-02-26 Microsoft Technology Licensing, Llc Power conservation of computing components using forced idle state
CN107729564A (zh) * 2017-11-13 2018-02-23 北京众荟信息技术股份有限公司 一种分布式的聚焦网络爬虫网页爬取方法及系统
CN108011931B (zh) * 2017-11-22 2021-06-11 用友金融信息技术股份有限公司 Web数据采集方法和Web数据采集系统
CN110083805B (zh) * 2018-01-25 2020-11-27 北京大学 一种将Word文件转换为EPUB文件的方法及系统
CN108763176A (zh) * 2018-04-10 2018-11-06 达而观信息科技(上海)有限公司 一种文档处理方法及装置
CN110851678B (zh) * 2018-07-24 2024-02-02 京东科技控股股份有限公司 一种爬取数据的方法和装置
CN109783554A (zh) * 2018-12-13 2019-05-21 重庆金融资产交易所有限责任公司 excel文档解析方法、装置及计算机可读存储介质
CN109951359B (zh) * 2019-03-21 2021-02-02 北京国舜科技股份有限公司 分布式网络资产异步扫描方法及设备
CN110852065B (zh) * 2019-11-07 2024-04-05 达观数据有限公司 一种文档审核方法、装置、系统、设备及存储介质

Also Published As

Publication number Publication date
US20210312125A1 (en) 2021-10-07
CN111581948B (zh) 2024-02-09
CN111581948A (zh) 2020-08-25
JP7206313B2 (ja) 2023-01-17
JP2021120862A (ja) 2021-08-19
EP3889805A1 (en) 2021-10-06

Similar Documents

Publication Publication Date Title
KR20210040850A (ko) 문서 분석 방법, 장치, 기기 및 저장 매체
KR102493449B1 (ko) 엣지 컴퓨팅 테스트 방법, 장치, 전자 장치 및 컴퓨터 판독 가능 매체
US11445008B2 (en) Data processing methods, electronic devices, and storage media
CN112668386A (zh) 使用机器人过程自动化用于文档处理的长时间运行工作流
WO2023109138A1 (zh) Linux系统中启动安卓应用的方法、装置和电子设备
CN111625738B (zh) App目标页面的唤起方法、装置、设备和存储介质
CN111694857B (zh) 存储资源数据的方法、装置、电子设备及计算机可读介质
CN108090078B (zh) 文档在线预览方法及装置、存储介质、电子设备
CN112506854B (zh) 页面模板文件的存储和页面生成方法、装置、设备及介质
CN113050940A (zh) 小程序的预览方法、相关装置及计算机程序产品
CN111881650A (zh) 一种pdf文档生成方法、装置以及电子设备
WO2023093127A1 (zh) 一种监控集群的方法、装置及电子设备
US20210117169A1 (en) Code execution method, device, and rendering apparatus
CN111694620A (zh) 第三方业务的交互方法、装置、设备及计算机存储介质
CN111966877B (zh) 前端服务方法、装置、设备及存储介质
US20210117170A1 (en) Wrapping method, registration method, device, and rendering apparatus
CN113779122B (zh) 导出数据的方法和装置
US20220101216A1 (en) Business Content Output Method, Apparatus, Storage Medium and Program Product
US11544140B2 (en) Method and apparatus for generating error reporting content of deep learning framework
WO2021174791A1 (zh) 任务迁移方法、装置、电子设备及存储介质
KR20210042407A (ko) 호스트 플랫폼 계층에서의 애플리케이션 인터페이스 구현 방법, 장치, 설비 및 매체
CN113791819A (zh) 接口文档生成方法和装置、存储介质、电子设备
EP3872630A2 (en) Request processing method and apparatus, electronic device, and computer storage medium
WO2023024035A1 (zh) 请求处理方法、装置、电子设备以及存储介质
CN115167847A (zh) 应用日志采集方法、装置、设备及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal