本公开涉及数据处理,尤其涉及一种标记语言文件的文本提取方法、装置、设备和存储介质。
背景技术:
1、标记语言文件在各种应用中得到了广泛的使用,如xml文件、html文件等。这些标记语言文件中包含了大量的标记信息和文本信息。在一些场景下,需要将标记语言文件中的文本信息提取出来,得到仅包括文本信息的文本文件。目前,在对标记语言文件中的文本信息进行提取时,通常是将整个标记语言文件作为一个整体进行文本信息的提取,这就导致在标记语言文件比较大时,文本信息的提取效率低且容易出错。
技术实现思路
1、有鉴于此,本公开提出了一种标记语言文件的文本提取方法、装置、设备和存储介质,可以提高文本信息的提取效率,并且可以避免将整个待处理标记语言文件全部加载至内存中所导致的内存外溢,进而可以避免文本信息的提取报错。
2、根据本公开的第一方面,提供了一种标记语言文件的文本提取的方法,包括:
3、获取待处理标记语言文件以及所述待处理标记语言文件的文件大小;
4、基于所述文件大小以及当前系统剩余内存,判断所述待处理标记语言文件是否为大文件;
5、在判断所述待处理标记语言文件为大文件的情况下,对所述待处理标记语言文件进行流式分片内容读取和文本提取,得到组成所述待处理标记语言文件的各分片内容对应的文本提取结果;
6、将各所述分片内容对应的文本提取结果以流式分片的方式发送至目标服务器,以使目标服务器对各所述分片内容对应的文本提取结果进行组合,得到所述待处理标记语言文件对应的文本文件。
7、在一种可能的实现方式中,在对所述待处理标记语言文件进行流式分片内容读取和文本提取,得到组成所述待处理标记语言文件的各分片内容对应的文本提取结果时,包括:
8、获取系统的总内存、当前时刻内存使用数据以及预设的分片数量;
9、基于所述总内存、所述当前时刻内存使用数据以及所述分片数量,计算当前时刻分片大小;
10、基于所述当前时刻分片大小,由所述待处理标记语言文件中未被读取的文件内容中读取出当前时刻分片内容;
11、对所述当前时刻分片内容中的标记信息进行检测和删除,得到所述当前时刻分片内容对应的文本提取结果;
12、重复上述流式分片内容读取和文本提取操作,直到得到组成所述待处理标记语言文件的各分片内容对应的文本提取结果。
13、在一种可能的实现方式中,在计算出所述当前时刻分片大小后还,还包括:
14、判断所述当前时刻分片大小是否小于等于所述当前系统剩余内存;
15、在判断所述当前时刻分片大小小于等于所述当前系统剩余内存时,再执行基于所述当前时刻分片大小,由所述待处理标记语言文件中未被读取的文件内容中读取出当前时刻分片内容的操作。
16、在一种可能的实现方式中,在判断所述当前时刻分片大小大于所述当前系统剩余内存时,将执行以下操作:
17、按照预设步长调整所述分片数量;
18、基于所述总内存、所述当前时刻内存使用数据以及调整后的分片数量,重新计算所述当前时刻分片大小,直到所述当前时刻分片大小小于等于所述当前系统剩余内存,再执行基于所述当前时刻分片大小,由所述待处理标记语言文件中未被读取的文件内容中读取出当前时刻分片内容的操作。
19、在一种可能的实现方式中,在对所述当前时刻分片内容中的标记信息进行检测和删除,得到所述当前时刻分片内容对应的文本提取结果时,包括:
20、判断所述当前时刻分片内容中是否存在包括完整标记信息的文本内容;
21、在判断所述当前时分片内容中存在包括完整标记信息的文本内容的情况下,将包括完整标记信息的文本内容提取出来,删除其中的完整标记,得到所述当前时刻分片内容对应的文本提取结果。
22、在一种可能的实现方式中,在判断所述当前时分片内容中不存在包括完整标记信息的文本内容的时,执行以下操作:
23、判断所述当前时刻分片大小是否小于等于所述当前系统剩余内存;
24、在判断所述当前时刻分片大小小于等于所述当前系统剩余内存时,基于所述当前时刻分片大小,由所述待处理标记语言文件中读取下一时刻分片内容;
25、将所述下一时刻分片内容与所述当前时分片内容按序组合,得到下一时刻分片内容;
26、判断所述下一时刻分片内容中是否存在包括完整标记信息的文本内容;
27、在判断所述下一时刻分片内容中存在包括完整标记信息的文本内容的情况下,将包括完整标记信息的文本内容提取出来,删除其中的完整标记,得到所述下一时刻分片内容对应的文本提取结果。
28、在一种可能的实现方式中,在判断所述待处理标记语言文件不是大文件的情况下,直接读取所述待处理标记语言文件的全部内容,检测并删除所述待处理标记语言文件中的标记信息,得到所述待处理标记语言文件对应的文本文件。
29、根据本公开的第二方面,提供了一种标记语言文件的文本提取的装置,包括:
30、文件获取模块,用于获取待处理标记语言文件以及所述待处理标记语言文件的文件大小;
31、文件大小识别模块,用于基于所述文件大小以及当前系统剩余内存,判断所述待处理标记语言文件是否为大文件;
32、文本提取模块,用于在判断所述待处理标记语言文件为大文件的情况下,对所述待处理标记语言文件进行流式分片内容读取和文本提取,得到组成所述待处理标记语言文件的各分片内容对应的文本提取结果;
33、文本输出模块,用于将各所述分片内容对应的文本提取结果以流式分片的方式发送至目标服务器,以使目标服务器对各所述分片内容对应的文本提取结果进行组合,得到所述待处理标记语言文件对应的文本文件。
34、根据本公开的第三方面,提供了一种标记语言文件的文本提取设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行本公开第一方面所述的方法。
35、根据本公开的第四方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现本公开第一方面所述的方法。
36、本公开提供了一种标记语言文件的文本提取方法、装置、设置和存储介质,该方法包括:获取待处理标记语言文件以及待处理标记语言文件的文件大小;基于文件大小以及当前系统剩余内存,判断待处理标记语言文件是否为大文件;在判断待处理标记语言文件为大文件的情况下,对待处理标记语言文件进行流式分片内容读取和文本提取,得到组成待处理标记语言文件的各分片内容对应的文本提取结果;将各分片内容对应的文本提取结果以流式分片的方式发送至目标服务器,以使目标服务器对各分片内容对应的文本提取结果进行组合,得到待处理标记语言文件对应的文本文件。在本公开中,在待处理标记语言文件为大文件的情况下,将对其进行流式分片处理,从而提高文本信息的提取效率,并且可以避免将整个待处理标记语言文件全部加载至内存中所导致的内存外溢,进而可以避免文本信息的提取报错。
37、根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
1.一种标记语言文件的文本提取方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在对所述待处理标记语言文件进行流式分片内容读取和文本提取,得到组成所述待处理标记语言文件的各分片内容对应的文本提取结果时,包括:
3.根据权利要求2所述的方法,其特征在于,在计算出所述当前时刻分片大小后还,还包括:
4.根据权利要求2所述的方法,其特征在于,在判断所述当前时刻分片大小大于所述当前系统剩余内存时,将执行以下操作:
5.根据权利要求2所述的方法,其特征在于,在对所述当前时刻分片内容中的标记信息进行检测和删除,得到所述当前时刻分片内容对应的文本提取结果时,包括:
6.根据权利要求5所述的方法,其特征在于,在判断所述当前时分片内容中不存在包括完整标记信息的文本内容的时,执行以下操作:
7.根据权利要求1-6中任一项所述的方法,其特征在于,在判断所述待处理标记语言文件不是大文件的情况下,直接读取所述待处理标记语言文件的全部内容,检测并删除所述待处理标记语言文件中的标记信息,得到所述待处理标记语言文件对应的文本文件。
8.一种标记语言文件的文本提取装置,其特征在于,包括:
9.一种标记语言文件的文本提取设备,其特征在于,包括:
10.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。