CN111581948A - 文档解析方法、装置、设备及存储介质 - Google Patents
文档解析方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111581948A CN111581948A CN202010261296.8A CN202010261296A CN111581948A CN 111581948 A CN111581948 A CN 111581948A CN 202010261296 A CN202010261296 A CN 202010261296A CN 111581948 A CN111581948 A CN 111581948A
- Authority
- CN
- China
- Prior art keywords
- document
- task
- conversion
- component
- task queue
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 121
- 238000006243 chemical reaction Methods 0.000 claims description 123
- 238000000034 method Methods 0.000 claims description 63
- 238000012544 monitoring process Methods 0.000 claims description 36
- 230000015654 memory Effects 0.000 claims description 19
- 230000007717 exclusion Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 description 26
- 238000012545 processing Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 9
- 240000007087 Apium graveolens Species 0.000 description 8
- 235000015849 Apium graveolens Dulce Group Nutrition 0.000 description 8
- 235000010591 Appio Nutrition 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006837 decompression Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information 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/84—Mapping; Conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/221—Parsing markup language streams
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/123—Storage facilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program 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)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
- Machine Translation (AREA)
Abstract
本申请提出了一种文档解析方法、装置、设备及存储介质,涉及文档解析技术领域,具体实现方案为:接收文档解析请求,并根据文档解析请求下载对应的文档;将文档转换为可扩展标记语言XML文件;对转换后的XML文件进行解析以提取XML文件之中的文档内容,并以JS对象简谱JSON格式将提取的文档内容存储至数据库。根据本申请实施例的文档解析方法,能够提高文档解析效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及文档解析技术领域,提出一种文档解析方法、装置、设备及存储介质。
背景技术
目前,各类文档格式在日常工作生活中被广泛使用。文档解析作为一种常见的文档处理方式,能够为文档内容抽取任务完成前置工作。
相关技术中,通过Apache POI工具实现文档解析,在批量解析文档时,该方案的文档解析效率仍有待提高。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请提出一种文档解析方法、装置、设备及存储介质,以提高文档解析效率。
根据本申请第一方面实施例提出了一种文档解析方法,包括:
接收文档解析请求,并根据所述文档解析请求下载对应的文档。
将所述文档转换为可扩展标记语言XML文件。
对转换后的XML文件进行解析以提取所述XML文件之中的文档内容,并以JS对象简谱JSON格式将提取的所述文档内容存储至数据库。
本申请实施例的文档解析方法,通过将文档转换为XML文件,在批量文档解析场景下快速获取文档对应的XML文件,进而对转换后的XML文件进行解析以提取XML文件之中的文档内容,实现了XML文件的高效解析,提高文档解析效率。以JSON格式将提取的文档内容存储至数据库,便于应用于机器学习模型训练。
根据本申请第二方面实施例提出了一种文档解析装置,包括:
组件容器,所述组件容器包括解析请求接收接口;
设置在所述组件容器之中的数据库组件;
设置在所述组件容器之中的文档下载组件,用于根据所述解析请求接收接口接收的文档解析请求下载对应的文档;
设置在所述组件容器之中的文档转换组件,用于将所述文档转换为可扩展标记语言XML文件;
设置在所述组件容器之中的文档解析组件,用于对转换之后的XML文件进行解析以提取所述XML文件之中的文档内容,并以JS对象简谱JSON格式将提取的所述文档内容存储至所述数据库组件。
本申请实施例的文档解析装置,包括:组件容器,设置在所组件容器之中的数据库组件、文档下载组件、文档转换组件、文档解析组件,组件容器包括解析请求接收接口。本实施例中,文档下载组件根据解析请求接收接口接收的文档解析请求下载对应的文档,文档转换组件将文档转换为XML文件,在批量文档解析场景下快速获取文档对应的XML文件,文档解析组件对转换之后的XML文件进行解析以提取XML文件之中的文档内容,实现了XML文件的高效解析,并以JSON格式将提取的文档内容存储至数据库组件,便于应用于机器学习模型训练。由此,提高了文档解析效率。
根据本申请第三方面实施例提出了一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面实施例所述的文档解析方法。
本申请第四方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如第一方面实施例所述的文档解析方法。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请实施例所提供的一种文档解析方法的流程示意图;
图2为本申请实施例所提供的另一种文档解析方法的流程示意图;
图3为本申请实施例所提供的一种文档解析装置的示意图;
图4为本申请实施例所提供的另一种文档解析装置的示意图;
图5为本申请实施例所提供的另一种文档解析装置的结构示意图;
图6为本申请实施例所提供的一种文档解析的处理流程示意图;
图7示出了适于用来实现本申请实施例的示例性电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1为本申请实施例所提供的一种文档解析方法的流程示意图,如图1所示,该方法包括:
步骤101,接收文档解析请求,并根据文档解析请求下载对应的文档。
本实施例中,文档解析请求中携带有文件地址,通过接收文档解析请求,并根据文档解析请求中携带的文件地址下载对应的文档。可选地,文档解析请求中还可以携带有文件标识,文件标识用于使文档和文档解析结果形成唯一映射。
步骤102,将文档转换为可扩展标记语言XML文件。
本实施例中,可以通过相关文件解压算法将下载的文档解压,进而将文档转换为XML文件。可选地,文档为Word文档,通过Libreoffice转换器将文档转换为XML文件。
步骤103,对转换后的XML文件进行解析以提取XML文件之中的文档内容,并以JS对象简谱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,接收文档解析请求,通过下载任务队列根据所述文档解析请求下载对应的文档。
本实施例中,下载任务队列包括多个下载任务,每个下载任务调用对应的下载线程获取文档解析请求,并根据文档解析请求下载对应的文档,作为一种示例,接收文档解析请求后,若下载任务队列中存在空闲的下载任务,则通过空闲的下载任务调用对应的下载线程获取文档解析请求,并根据获取的文档解析请求下载对应的文档。
步骤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容器引擎之中。
在本申请的一个实施例中,数据库具有互斥锁,当互斥锁被当前任务抢占时,数据库对其他任务禁止读/写。例如,当前任务包括读/写任务,各读/写任务在执行之前抢占该互斥锁,若抢占成功则将互斥锁标记为占用状态,在当前任务执行完成后释放互斥锁,在互斥锁被占用时,其他任务等待执行并继续尝试抢占互斥锁。由此,通过互斥锁保证同一时间只有一个当前任务执行读/写,避免出现并发请求冲突的问题,使并发的文档解析请求能够有序地记录在数据库中。
本申请实施例的文档解析方法,通过建立下载任务队列、转换任务队列和解析任务队列,并控制任务队列中每个任务调用对应的线程执行下载、转换、解析,能够高效地批量处理文档解析,实现了文档解析中下载任务、转换任务和解析任务的调度,支持并发的文档解析请求,进一步提高了批量解析文档的处理效率。
基于上述实施例,进一步地,本申请实施例的文档解析方法,还可以对下载任务队列、转换任务队列和解析任务队列之中的下载任务、转换任务和解析任务的状态进行监控。
其中,监控结果例如包括等待中、执行中、已成功、已失败。
在本申请的一个实施例中,对下载任务队列之中的下载任务的状态进行监控,当下载任务完成之后,根据下载任务在转换任务队列之中新增对应的转换任务。作为一种示例,对于下载任务队列中的每个下载任务,监控下载任务的状态,若对于文档一的下载任务状态由执行中变为已成功,则在转换任务队列之中新增与文档一对应的转换任务;若对于文档二的下载任务状态由执行中变为已失败,则根据重试设置重新下载文档二。
在本申请的一个实施例中,对转换任务队列之中的转换任务的状态进行监控,当转换任务完成之后,根据转换任务在解析任务队列之中新增对应的解析任务。作为一种示例,对于转换任务队列中的每个转换任务,监控转换任务的状态,若对于文档一的转换任务状态由执行中变为已成功,则在解析任务队列之中新增与文档一对应的解析任务;若对于文档二的转换任务状态由执行中变为已失败,则根据重试设置重新将文档二转换为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,JS对象简谱)格式将提取的文档内容存储至数据库组件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:是指Python编程语言内置的XML对象操作接口。
Celery(分布式任务队列管理工具):Celery支持使用任务队列的方式在分布的机器、进程、线程上执行任务调度。Celery的架构由消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)三部分组成。Celery本身不提供消息服务,但是可以方便的和第三方提供的消息中间件(例如RabbitMQ、Redis、MongoDB等)集成。任务执行单元可以并发的运行在分布式的系统节点中。任务执行结果存储用于存储任务执行单元执行任务的结果,Celery支持以Redis,MongoDB,Django ORM,AMQP等方式存储。
Flower是基于web的工具,用于监控管理Celery。Flower通过API接口监控管理Celery中的任务,且Flower的运行不会影响到任务队列的执行。
Docker是开源的应用容器引擎,基于Docker容器可以在各类操作系统的基础上实现应用软件运行环境的配置,并打包导出Docker镜像。
为了实现上述实施例,本申请还提出一种计算机程序产品,当计算机程序产品中的指令被处理器执行时实现如前述任一实施例所述的文档解析方法。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图7所示,是根据本申请实施例的文档解析方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图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 (18)
1.一种文档解析方法,其特征在于,包括:
接收文档解析请求,并根据所述文档解析请求下载对应的文档;
将所述文档转换为可扩展标记语言XML文件;
对转换后的XML文件进行解析以提取所述XML文件之中的文档内容,并以JS对象简谱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文件之中的文档内容,并以JS对象简谱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中任一项所述的文档解析方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010261296.8A CN111581948B (zh) | 2020-04-03 | 2020-04-03 | 文档解析方法、装置、设备及存储介质 |
US17/121,500 US20210312125A1 (en) | 2020-04-03 | 2020-12-14 | Method, device, and storage medium for parsing document |
EP20214278.2A EP3889805A1 (en) | 2020-04-03 | 2020-12-15 | Method, apparatus, and storage medium for parsing document |
JP2021048604A JP7206313B2 (ja) | 2020-04-03 | 2021-03-23 | ドキュメント解析方法、装置、機器及び記憶媒体 |
KR1020210037742A KR102674648B1 (ko) | 2020-04-03 | 2021-03-24 | 문서 분석 방법, 장치, 기기 및 저장 매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010261296.8A CN111581948B (zh) | 2020-04-03 | 2020-04-03 | 文档解析方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581948A true CN111581948A (zh) | 2020-08-25 |
CN111581948B CN111581948B (zh) | 2024-02-09 |
Family
ID=72121130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010261296.8A Active CN111581948B (zh) | 2020-04-03 | 2020-04-03 | 文档解析方法、装置、设备及存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210312125A1 (zh) |
EP (1) | EP3889805A1 (zh) |
JP (1) | JP7206313B2 (zh) |
KR (1) | KR102674648B1 (zh) |
CN (1) | CN111581948B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527734A (zh) * | 2020-12-07 | 2021-03-19 | 北京百度网讯科技有限公司 | 一种图形处理方法、装置、电子设备及存储介质 |
CN113204621A (zh) * | 2021-05-12 | 2021-08-03 | 北京百度网讯科技有限公司 | 文档入库、文档检索方法,装置,设备以及存储介质 |
CN116089362A (zh) * | 2023-03-06 | 2023-05-09 | 北京微吼时代科技有限公司 | 文档转换方法及其系统、直播系统、存储介质及电子设备 |
Families Citing this family (7)
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 |
US20220261530A1 (en) | 2021-02-18 | 2022-08-18 | MBTE Holdings Sweden AB | Providing enhanced functionality in an interactive electronic technical manual |
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 |
KR102667058B1 (ko) * | 2021-10-19 | 2024-05-17 | 숭실대학교산학협력단 | 쿠버네티스용 yaml 파일 관리 방법 및 장치 |
CN116107816B (zh) * | 2023-04-13 | 2023-08-01 | 山东捷瑞数字科技股份有限公司 | 一种mysql数据库回档云平台 |
CN116757170B (zh) * | 2023-08-21 | 2023-10-20 | 成都数联云算科技有限公司 | 一种基于JAVA语言的Excel表格导入方法和系统 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0125894D0 (en) * | 2001-10-27 | 2001-12-19 | Hewlett Packard Co | Improvements relating to document generation in a distributed information network |
JP2003271609A (ja) * | 2002-03-12 | 2003-09-26 | Mitsubishi Electric Corp | 情報監視装置及び情報監視方法 |
GB0413150D0 (en) * | 2004-06-14 | 2004-07-14 | Siemens Ag | A method of performing administration in a communications system |
US20060101058A1 (en) * | 2004-11-10 | 2006-05-11 | Xerox Corporation | System and method for transforming legacy documents into XML documents |
CN1776673A (zh) * | 2005-12-03 | 2006-05-24 | 福州大学 | 一种pdf文档到xml文档转换的方法 |
CN101055577A (zh) * | 2006-04-12 | 2007-10-17 | 龙搜(北京)科技有限公司 | 可扩展标记语言集中器 |
US20070283245A1 (en) * | 2006-05-31 | 2007-12-06 | Microsoft Corporation | Event-based parser for markup language file |
CN101706772A (zh) * | 2009-12-14 | 2010-05-12 | 中国移动通信集团山西有限公司 | Word文档的操作方法及装置 |
CN102135978A (zh) * | 2010-11-30 | 2011-07-27 | 广东星海数字家庭产业技术研究院有限公司 | 将标记语言转为xml语言的hsml解析方法及系统 |
US20140373020A1 (en) * | 2013-06-13 | 2014-12-18 | Wipro Limited | Methods for managing threads within an application and devices thereof |
US20160232143A1 (en) * | 2015-02-10 | 2016-08-11 | Researchgate Gmbh | Online publication system and method |
US9558164B1 (en) * | 2008-12-31 | 2017-01-31 | F5 Networks, Inc. | Methods and system for converting WSDL documents into XML schema |
CN108763176A (zh) * | 2018-04-10 | 2018-11-06 | 达而观信息科技(上海)有限公司 | 一种文档处理方法及装置 |
CN109783554A (zh) * | 2018-12-13 | 2019-05-21 | 重庆金融资产交易所有限责任公司 | excel文档解析方法、装置及计算机可读存储介质 |
CN110083805A (zh) * | 2018-01-25 | 2019-08-02 | 北京大学 | 一种将Word文件转换为EPUB文件的方法及系统 |
CN110852065A (zh) * | 2019-11-07 | 2020-02-28 | 达而观信息科技(上海)有限公司 | 一种文档审核方法、装置、系统、设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750132B (zh) * | 2012-06-13 | 2015-02-11 | 深圳中微电科技有限公司 | 多线程虚拟流水线处理器的线程控制和调用方法及其处理器 |
US9842099B2 (en) * | 2012-11-29 | 2017-12-12 | Business Objects Software Limited | Asynchronous dashboard query prompting |
US9513961B1 (en) * | 2014-04-02 | 2016-12-06 | Google Inc. | Monitoring application loading |
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数据采集系统 |
CN110851678B (zh) | 2018-07-24 | 2024-02-02 | 京东科技控股股份有限公司 | 一种爬取数据的方法和装置 |
CN109951359B (zh) | 2019-03-21 | 2021-02-02 | 北京国舜科技股份有限公司 | 分布式网络资产异步扫描方法及设备 |
-
2020
- 2020-04-03 CN CN202010261296.8A patent/CN111581948B/zh active Active
- 2020-12-14 US US17/121,500 patent/US20210312125A1/en not_active Abandoned
- 2020-12-15 EP EP20214278.2A patent/EP3889805A1/en not_active Withdrawn
-
2021
- 2021-03-23 JP JP2021048604A patent/JP7206313B2/ja active Active
- 2021-03-24 KR KR1020210037742A patent/KR102674648B1/ko active IP Right Grant
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0125894D0 (en) * | 2001-10-27 | 2001-12-19 | Hewlett Packard Co | Improvements relating to document generation in a distributed information network |
JP2003271609A (ja) * | 2002-03-12 | 2003-09-26 | Mitsubishi Electric Corp | 情報監視装置及び情報監視方法 |
GB0413150D0 (en) * | 2004-06-14 | 2004-07-14 | Siemens Ag | A method of performing administration in a communications system |
US20060101058A1 (en) * | 2004-11-10 | 2006-05-11 | Xerox Corporation | System and method for transforming legacy documents into XML documents |
CN1776673A (zh) * | 2005-12-03 | 2006-05-24 | 福州大学 | 一种pdf文档到xml文档转换的方法 |
CN101055577A (zh) * | 2006-04-12 | 2007-10-17 | 龙搜(北京)科技有限公司 | 可扩展标记语言集中器 |
US20070283245A1 (en) * | 2006-05-31 | 2007-12-06 | 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解析方法及系统 |
US20140373020A1 (en) * | 2013-06-13 | 2014-12-18 | Wipro Limited | Methods for managing threads within an application and devices thereof |
US20160232143A1 (en) * | 2015-02-10 | 2016-08-11 | Researchgate Gmbh | Online publication system and method |
CN110083805A (zh) * | 2018-01-25 | 2019-08-02 | 北京大学 | 一种将Word文件转换为EPUB文件的方法及系统 |
CN108763176A (zh) * | 2018-04-10 | 2018-11-06 | 达而观信息科技(上海)有限公司 | 一种文档处理方法及装置 |
CN109783554A (zh) * | 2018-12-13 | 2019-05-21 | 重庆金融资产交易所有限责任公司 | excel文档解析方法、装置及计算机可读存储介质 |
CN110852065A (zh) * | 2019-11-07 | 2020-02-28 | 达而观信息科技(上海)有限公司 | 一种文档审核方法、装置、系统、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
Y. ISHITANI: "Document transformation system from papers to XML data based on pivot XML document method", 《SEVENTH INTERNATIONAL CONFERENCE ON DOCUMENT ANALYSIS AND RECOGNITION, 2003. PROCEEDINGS.》 * |
李园园;黄松;惠战伟;张东: "XML-TeX-PDF文档转换方法与实现", 《指挥信息系统与技术》 * |
蒋悦, 吴壮志, 赵旭林, 怀进鹏: "基于文档树的XML文件转换", 计算机工程, no. 21 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527734A (zh) * | 2020-12-07 | 2021-03-19 | 北京百度网讯科技有限公司 | 一种图形处理方法、装置、电子设备及存储介质 |
CN113204621A (zh) * | 2021-05-12 | 2021-08-03 | 北京百度网讯科技有限公司 | 文档入库、文档检索方法,装置,设备以及存储介质 |
CN113204621B (zh) * | 2021-05-12 | 2024-05-07 | 北京百度网讯科技有限公司 | 文档入库、文档检索方法,装置,设备以及存储介质 |
CN116089362A (zh) * | 2023-03-06 | 2023-05-09 | 北京微吼时代科技有限公司 | 文档转换方法及其系统、直播系统、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2021120862A (ja) | 2021-08-19 |
KR20210040850A (ko) | 2021-04-14 |
EP3889805A1 (en) | 2021-10-06 |
JP7206313B2 (ja) | 2023-01-17 |
CN111581948B (zh) | 2024-02-09 |
US20210312125A1 (en) | 2021-10-07 |
KR102674648B1 (ko) | 2024-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581948B (zh) | 文档解析方法、装置、设备及存储介质 | |
US11445008B2 (en) | Data processing methods, electronic devices, and storage media | |
CN107729139B (zh) | 一种并发获取资源的方法和装置 | |
CN110806923B (zh) | 一种区块链任务的并行处理方法、装置、电子设备和介质 | |
CN112668386A (zh) | 使用机器人过程自动化用于文档处理的长时间运行工作流 | |
CN111694857B (zh) | 存储资源数据的方法、装置、电子设备及计算机可读介质 | |
CN111625738B (zh) | App目标页面的唤起方法、装置、设备和存储介质 | |
US20210191780A1 (en) | Method and apparatus for processing development machine operation task, device and storage medium | |
CN113934464A (zh) | Linux系统中启动安卓应用的方法、装置和电子设备 | |
US10810220B2 (en) | Platform and software framework for data intensive applications in the cloud | |
US11775309B2 (en) | Exception stack handling method, system, electronic device and storage medium | |
CN111782147A (zh) | 用于集群扩缩容的方法和装置 | |
CN112506854A (zh) | 页面模板文件的存储和页面生成方法、装置、设备及介质 | |
CN112084395A (zh) | 搜索方法、搜索装置、电子设备和存储介质 | |
CN111813758A (zh) | 数据库文件分布式分析方法、装置、服务器及存储介质 | |
EP3872630A2 (en) | Request processing method and apparatus, electronic device, and computer storage medium | |
CN116932147A (zh) | 流式作业处理方法、装置、电子设备及介质 | |
CN111966877A (zh) | 前端服务方法、装置、设备及存储介质 | |
CN111767126A (zh) | 分布式批量处理的系统和方法 | |
US20180373512A1 (en) | Method and device for simulating synchronous blocking in asynchronous environment, storage medium, server and terminal | |
CN113779122B (zh) | 导出数据的方法和装置 | |
CN111258954B (zh) | 数据迁移方法、装置、设备及存储介质 | |
WO2023024035A1 (zh) | 请求处理方法、装置、电子设备以及存储介质 | |
CN116578430A (zh) | 一种请求响应方法、装置、设备以及存储介质 | |
CN114741209A (zh) | 一种单例处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |