CN113378544A - 文本解析方法、文本数据获取方法、装置、介质及设备 - Google Patents
文本解析方法、文本数据获取方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN113378544A CN113378544A CN202110766132.5A CN202110766132A CN113378544A CN 113378544 A CN113378544 A CN 113378544A CN 202110766132 A CN202110766132 A CN 202110766132A CN 113378544 A CN113378544 A CN 113378544A
- Authority
- CN
- China
- Prior art keywords
- tree
- text
- data
- analyzed
- search
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请属于计算机技术领域,具体涉及一种文本解析方法、文本数据获取方法、文本解析装置、文本数据获取装置、计算机可读介质及电子设备。该方法包括:获取待解析文本,待解析文本中包含有待解析文本行;根据待解析文本行的缩进量确定待解析文本行对应的树型层级;根据待解析文本行及待解析文本行对应的树型层级,构建树型数据结构;根据树型数据结构生成待解析文本行对应的树型结构表达式,树型结构表达式用于在树型数据结构中获取待解析文本包括的数据。本申请实施例能够通过树型结构表达式在树型数据结构中快速定位到待解析文本中具体的一个文本行中的数据,进而能够提高对待解析文本的信息提取和数据管理的效率。
Description
技术领域
本申请属于计算机技术领域,具体涉及一种文本解析方法、文本数据获取方法、文本解析装置、文本数据获取装置、计算机可读介质及电子设备。
背景技术
目前,在大数据时代背景下,在现有的数据管理业务中,对通信设备的config配置文件、计算机软件日志、源代码等文本数据的管理是必不可少的部分。通过对业务日志的分析处理,可以了解到业务的经营状况;同时在服务器出现问题的时候,也可以通过对服务器日志进行分析找出问题所在,方便问题的解决。当前,文本数据都是以原始的格式存放于文件装置或者数据库装置,在对业务运营数据进行分析和统计的时候,需要对大量的原始格式的文本数据进行逐行阅读、提取信息、分析处理和统计处理,以得到想要的分析和统计结果,耗费时间较长,数据管理效率较低。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请的目的在于提供一种文本解析方法、文本数据获取方法、文本解析装置、文本数据获取装置、计算机可读介质及电子设备,至少在一定程度上克服相关技术中对原始文本数据进行信息提取和数据管理的效率较低的技术问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种文本解析方法,所述文本解析方法包括:
获取待解析文本,所述待解析文本中包含有待解析文本行;
根据所述待解析文本行的缩进量确定所述待解析文本行对应的树型层级;
根据所述待解析文本行及所述待解析文本行对应的树型层级,构建树型数据结构;
根据所述树型数据结构生成所述待解析文本行对应的树型结构表达式,所述树型结构表达式用于在所述树型数据结构中获取所述待解析文本包括的数据。
根据本申请实施例的一个方面,提供一种文本数据获取方法,所述文本数据获取方法包括:
获取树型数据结构对应的树型结构表达式,所述树型数据结构是根据目标文本包含的文本行及所述文本行对应的树型层级构建的,所述树型层级是根据所述文本行的缩进量确定的;
根据所述树型结构表达式对所述树型数据结构进行匹配查找,得到最终查找结果,所述最终查找结果包括所述树型结构表达式对应的目标数据。
根据本申请实施例的一个方面,提供一种文本解析装置,所述文本解析装置包括:
待解析文本获取模块,被配置为获取待解析文本,所述待解析文本中包含有待解析文本行;
树型层级确定模块,被配置为根据所述待解析文本行的缩进量确定所述待解析文本行对应的树型层级;
树型数据结构构建模块,被配置为根据所述待解析文本行及所述待解析文本行对应的树型层级,构建树型数据结构;
树型结构表达式生成模块,被配置为根据所述树型数据结构生成所述待解析文本行对应的树型结构表达式,所述树型结构表达式用于在所述树型数据结构中获取所述待解析文本包括的数据。
在本申请的一些实施例中,基于以上技术方案,所述树型层级确定模块包括:
预设缩进量获取单元,被配置为获取与所述树型层级对应的预设缩进量;
树型层级确定单元,被配置为根据所述待解析文本行的缩进量,以及与所述树型层级对应的预设缩进量,确定与所述待解析文本行对应的树型层级。
在本申请的一些实施例中,基于以上技术方案,所述树型数据结构构建模块包括:
树型空结构构建单元,被配置为根据与所述待解析文本行对应的树型层级,构建树型空结构;
树型数据结构形成单元,被配置为将所述待解析文本行包括的标记数据和实体数据写入到所述树型空结构中,形成所述树型数据结构。
在本申请的一些实施例中,基于以上技术方案,所述树型数据结构形成单元包括:
第一写入子单元,被配置为若所述树型数据结构中包含有标记数据相同的多个待解析文本行,则将所述多个待解析文本行的标记数据附加上编号标记后,写入到所述树型空结构的对应层级中;
第二写入子单元,被配置为若所述树型层级中包含有目标待解析文本行,所述目标待解析文本行的标记数据与其他待解析文本行的标记数据均不相同,则将所述目标待解析文本行的标记数据直接写入到所述树型空结构的对应层级中。
根据本申请实施例的一个方面,提供一种文本数据获取装置,所述文本数据获取装置包括:
树型结构表达式获取模块,被配置为获取树型数据结构对应的树型结构表达式,所述树型数据结构是根据目标文本包含的文本行及所述文本行对应的树型层级构建的,所述树型层级是根据所述文本行的缩进量确定的;
匹配查找模块,被配置为根据所述树型结构表达式对所述树型数据结构进行匹配查找,得到最终查找结果,所述最终查找结果包括所述树型结构表达式对应的目标数据。
在本申请的一些实施例中,基于以上技术方案,所述匹配查找模块包括:
拆分单元,被配置为根据预设拆分符号将所述树型结构表达式拆分为与所述树型层级对应的关键字;
匹配查找单元,被配置为根据所述关键字依次对所述树型数据结构的对应树型层级进行匹配查找,得到所述最终查找结果。
在本申请的一些实施例中,基于以上技术方案,所述匹配查找单元包括:
第一匹配查找子单元,被配置为在根据一个树型层级对应的关键字对所述树型层级进行匹配查找后,获取查找匹配结果;
第一执行子单元,被配置为若根据所述查找匹配结果确定查找到一个目标数据、且进行匹配查找的关键字所在的树型层级是所述树型数据结构的最后一个树型层级,则将所述目标数据作为所述最终查找结果;
第二执行子单元,被配置为若根据所述查找匹配结果确定查找到一个目标数据、且进行匹配查找的关键字所在的树型层级不是树型数据结构的最后一个树型层级,则根据下一树型层级的关键字继续进行匹配查找,直到进行匹配查找的关键字所在的层级是所述树型数据结构的最后一个树型层级。
在本申请的一些实施例中,基于以上技术方案,所述匹配查找单元包括:
第二匹配查找子单元,被配置为在根据一个树型层级对应的关键字对所述树型层级进行匹配查找后,获取查找匹配结果;
第三执行子单元,被配置为若根据所述查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字指定了编号标记、且在进行匹配查找的关键字所在的树型层级是所述树型数据结构的最后一个树型层级时,将所述编号标记对应的所述目标数据作为所述最终查找结果;
第四执行子单元,被配置为若根据所述查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字指定了编号标记、且在进行匹配查找的关键字所在的树型层级不是所述树型数据结构的最后一个树型层级时,根据下一树型层级的关键字继续进行匹配查找,直到进行匹配查找的关键字所在的树型层级是所述树型数据结构的最后一个树型层级;
第五执行子单元,被配置为若根据所述查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字未指定编号标记时,将所述多个目标数据作为所述最终查找结果。
在本申请的一些实施例中,基于以上技术方案,所述匹配查找单元包括:
第三匹配查找子单元,被配置为在根据一个树型层级的关键字进行匹配查找后,获取查找匹配结果;
第六执行子单元,被配置为若根据所述查找匹配结果确定未查找到目标数据,则确定查找失败,无法获取所述最终查找结果。
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的文本解析方法或文本数据获取方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器被配置为经由执行可执行指令来执行如以上技术方案中的文本解析方法或文本数据获取方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的文本解析方法或文本数据获取方法。
在本申请实施例提供的技术方案中,通过根据待解析文本行的缩进量确定待解析文本行对应的树型层级,并根据待解析文本行及待解析文本行对应的树型层级,构建树型数据结构,从而将待解析文本解析形成树型数据结构,由此,能够通过树型结构表达式在树型数据结构中获取待解析文本包括的数据,从而,能够通过树型结构表达式在树型数据结构中快速定位到待解析文本中具体的一个文本行中的数据,进而能够提高对待解析文本的信息提取和数据管理的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性地示出了本申请某些实施方式的文本解析方法的步骤流程图。
图2示意性地示出了本申请某实施例根据待解析文本行的缩进量确定待解析文本行对应的树型层级的步骤流程图。
图3示意性地示出了本申请某实施例根据某待解析文本的待解析文本行的缩进量确定待解析文本行对应的树型层级的示意图。
图4示意性地示出了本申请某实施例根据待解析文本行及待解析文本行对应的树型层级,构建树型数据结构的步骤流程图。
图5示意性地示出了本申请某实施例根据与待解析文本行对应的树型层级,构建树型空结构的具体示例图。
图6示意性地示出了本申请某实施例将待解析文本行包括的标记数据和实体数据写入到树型空结构中,形成树型数据结构的步骤流程图。
图7示意性地示出了本申请某实施例将待解析文本行包括的标记数据和实体数据写入到树型空结构中,形成的树型数据结构的具体示例图。
图8示意性地示出了本申请某些实施方式的文本数据获取方法的步骤流程图。
图9示意性地示出了本申请某实施例根据树型结构表达式对树型数据结构进行匹配查找,得到最终查找结果的步骤流程图。
图10示意性地示出了本申请某实施例根据关键字依次对树型数据结构的对应树型层级进行匹配查找,得到最终查找结果的步骤流程图。
图11示意性地示出了本申请某实施例根据关键字依次对树型数据结构的对应树型层级进行匹配查找,得到最终查找结果的具体流程示例图。
图12示意性地示出了本申请某实施例根据关键字依次对树型数据结构的对应树型层级进行匹配查找,得到最终查找结果的步骤流程图。
图13示意性地示出了本申请某实施例根据另一待解析文本的待解析文本行的缩进量确定待解析文本行对应的树型层级的示意图。
图14示意性地示出了本申请某实施例根据关键字依次对树型数据结构的对应树型层级进行匹配查找,得到最终查找结果的步骤流程图。
图15示意性地示出了本申请实施例提供的文本解析装置的结构框图。
图16示意性地示出了本申请实施例提供的文本数据获取装置的结构框图。
图17示意性地示出了用于实现本申请实施例的电子设备的结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
根据实现需要,本申请实施例提供的技术方案可以应用于终端设备上,也可以应用于服务器上,或者可以由终端设备和服务器共同实施,本申请对此不做特殊限定。
举例而言,服务器上可以搭载了本申请实施方式的文本解析方法或文本数据处理方法,用户通过终端设备上的客户端与服务器进行交互,当服务器需要对原始数据文本进行管理时,服务器可以实施本申请实施方式的文本解析方法或文本数据处理方法,通过根据待解析文本行的缩进量确定待解析文本行对应的树型层级,并根据待解析文本行及待解析文本行对应的树型层级,构建树型数据结构,从而将待解析文本解析形成树型数据结构,由此,能够通过树型结构表达式在树型数据结构中获取待解析文本包括的数据,从而,能够通过树型结构表达式在树型数据结构中快速定位到待解析文本中具体的一个文本行中的数据,进而能够提高对待解析文本的信息提取和数据管理的效率。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
下面结合具体实施方式对本申请提供的文本解析方法做出详细说明。
图1示意性地示出了本申请某些实施方式的文本解析方法的步骤流程图。该文本解析方法的执行主体可以是终端设备,也可以是服务器等,本申请对此不设限。如图1所示,该文本解析方法主要可以包括如下步骤S110~步骤S140。
S110.获取待解析文本,待解析文本中包含有待解析文本行。
具体地,待解析文本可以为通信设备的config配置文件、计算机软件日志、源代码等文本等代码文本。在一些实施方式中,待解析文本也可以是语言文本等,本申请对此不作限制。
在某些实施方式中,待解析文本可以是按照预设标识缩进的树型文本。例如,待解析文本可以为按照空格缩进的树型文本,或者,待解析文本可以为按照特殊符号缩进的树型文本。
S120.根据待解析文本行的缩进量确定待解析文本行对应的树型层级。
具体地,根据待解析文本行的缩进量可以将待解析文本确定为对应第零树型层级、第一树型层级、第二树型层级、第三树型层级。
图2示意性地示出了本申请某实施例根据待解析文本行的缩进量确定待解析文本行对应的树型层级的步骤流程图。如图2所示,在以上实施例的基础上,步骤S120的根据待解析文本行的缩进量确定待解析文本行对应的树型层级,可以进一步包括以下步骤S210~步骤S220。
S210.获取与树型层级对应的预设缩进量。
S220.根据待解析文本行的缩进量,以及与树型层级对应的预设缩进量,确定与待解析文本行对应的树型层级。
图3示意性地示出了本申请某实施例根据某待解析文本的待解析文本行的缩进量确定待解析文本行对应的树型层级的示意图。在具体的实施例中,如图3所示,在待解析文本中,每个待解析文本行都具有对应的缩进量。在图3中,第1行至第3行的待解析文本行的缩进量为0个空格;第4行的待解析文本行的缩进量为4个空格;第5行的待解析文本行的缩进量为8个空格;第6行的待解析文本行的缩进量为12个空格;第7行至第20行的待解析文本行的缩进量均为16个空格。树型层级对应的预设缩进量可以是第零树型层级对应4个空格的缩进量,第一树型层级对应8个空格的缩进量,第二树型层级对应12个空格的缩进量,第四树型层级对应16个空格的缩进量。
由于没有树型层级与0个空格的对应,则对缩进量为0个空格的待解析文本行忽略,不作处理。由于第零树型层级对应4个空格的缩进量,则将缩进量为4个空格的第4行的待解析文本行确定为对应第零树型层级。由于第一树型层级对8个空格的缩进量,则将缩进量为8个空格的第5行的待解析文本行确定为对应第一树型层级。由于第二树型层级对应12个空格的缩进量,则将缩进量为12个空格的第6行的待解析文本行确定为对应第二树型层级。由于第三树型层级对应16个空格的缩进量,则将缩进量为16个空格的第7行至第20行的待解析文本行确定为对应第三树型层级。
S130.根据待解析文本行及待解析文本行对应的树型层级,构建树型数据结构。
在具体的实施例中,树型层级包括第零树型层级、第一树型层级、第二树型层级和第三树型层级,则树型数据结构共包括4个树型层级:第零树型层级、第一树型层级、第二树型层级和第三树型层级,每个树型层级用于存储该树型层级对应的待解析文本行的数据。
图4示意性地示出了本申请某实施例根据待解析文本行及待解析文本行对应的树型层级,构建树型数据结构的步骤流程图。如图4所示,在以上实施例的基础上,步骤S130的根据待解析文本行及待解析文本行对应的树型层级,构建树型数据结构,可以进一步包括以下步骤S410~步骤S430。
S410.根据与待解析文本行对应的树型层级,构建树型空结构。
S420.将待解析文本行包括的标记数据和实体数据写入到树型空结构中,形成树型数据结构。
根据与待解析文本行对应的树型层级,构建树型空结构,然后将待解析文本行包括的标记数据和实体数据写入到树型空结构中,形成树型数据结构。由此,实现将待解析文本中的待解析文本行解析成树型数据结构,从而方便后续对待解析文本中的待解析文本行的数据的查找。并且,能够将数据量较大的按照预设标识缩进的待解析文本快速解析成树型数据结构,得到树型对象,有利于实现对待解析文本中的数据值的快速查找。具体地,有利于实现对待解析文本中的代码、IP地址等数据的快速查找。
具体地,待解析文本行的标记数据可以是待解析文本行的行首的第一个单词、第一个词语或者第一个词组等。待解析文本行的实体数据可以是待解析文本行中,除了标记数据以外的所有数据。例如,在某些实施例中,图3所示的待解析文本行7:“prefix1.1.1.1/32”中,标记数据为“prefix”,实体数据为“1.1.1.1/32”。
在某些实施方式中,树型空结构的由多个树型层级组成,其中,每个树型层级包括多个标记节点。当将待解析文本行包括的标记数据和实体数据写入到树型空结构中,形成树型数据结构后,每个标记节点对应待解析文本中的一个待解析文本行,每个标记节点用于存储该待解析文本行的标记数据和实体数据。标记节点包括分支节点和叶节点,分支节点也即包括从属于该标记节点所在的层级的下一层级的标记节点,叶节点也即没有从属于该标记节点所在的层级的下一层级的标记节点。例如,图7中,标记节点001、标记节点101、标记节点201为分支节点;标记节点301、标记节点302、标记节点303、标记节点304、标记节点305、标记节点306、标记节点307、标记节点308、标记节点309、标记节点310、标记节点311、标记节点312、标记节点313、标记节点314为叶节点。
例如,获取图3所示的待解析文本中的待解析文本行对应的树型层级,并根据与待解析文本行对应的树型层级,构建如图5所示的树型空结构。图5示意性地示出了本申请某实施例根据与待解析文本行对应的树型层级,构建树型空结构的具体示例图。如图5所示,根据图3所示的待解析文本中的待解析文本行对应的树型层级,构建得到的树型空结构包括第零树型层级、第一树型层级、第二树型层级和第三树型层级。其中,第零树型层级包括标记节点001和标记节点002。第一树型层级包括标记节点101和标记节点102。第二树型层级包括标记节点201和标记节点202。第三树型层级包括标记节点301、标记节点302、标记节点303、标记节点304、标记节点305、标记节点306、标记节点307、标记节点308、标记节点309、标记节点310、标记节点311、标记节点312、标记节点313、标记节点314。每个标记节点对应有一个存储空间,可以用于存储该标记节点对应的待解析文本行的数据,形成对应的数据体。具体地,每个标记节点可以用于存储待解析文本行的标记数据和实体数据,以及标记数据对应的编码标记。
图6示意性地示出了本申请某实施例将待解析文本行包括的标记数据和实体数据写入到树型空结构中,形成树型数据结构的步骤流程图。如图6所示,在以上实施例的基础上,步骤S420的将待解析文本行包括的标记数据和实体数据写入到树型空结构中,形成树型数据结构,可以进一步包括以下步骤S610~步骤S620。
S610.若树型数据结构中包含有标记数据相同的多个待解析文本行,则将多个待解析文本行的标记数据附加上编号标记后,写入到树型空结构的对应层级中。
S620.若树型层级中包含有目标待解析文本行,目标待解析文本行的标记数据与其他待解析文本行的标记数据均不相同,则将目标待解析文本行的标记数据直接写入到树型空结构的对应层级中。
图7示意性地示出了本申请某实施例将待解析文本行包括的标记数据和实体数据写入到树型空结构中,形成的树型数据结构的具体示例图。如图7所示,请结合图3,将待解析文本行4包括的标记数据“filter”写入到树型空结构的第零树型层级的数据体001中;将待解析文本行5包括的标记数据“match-list”写入到树型空结构的第一树型层级的数据体101中;将待解析文本行6包括的标记数据“ip-prefix-list”和实体数据“"IPV4-LS"create”写入到树型空结构的第二树型层级的数据体201中。将待解析文本行7包括的标记数据“prefix”附加上编号标记“[0]”后,和实体数据“1.1.1.1/32”写入到树型空结构的第三树型层级的标记节点301对应的数据体中。将待解析文本行8包括的标记数据“prefix”附加上编号标记“[1]”后,和实体数据“1.1.1.2/32”写入到树型空结构的第三树型层级的标记节点302对应的数据体中。将待解析文本行9包括的标记数据“prefix”附加上编号标记“[2]”后,和实体数据“1.1.1.3/32”写入到树型空结构的第三树型层级的标记节点303对应的数据体中。将待解析文本行10包括的标记数据“prefix”附加上编号标记“[3]”后,和实体数据“1.1.1.4/32”写入到树型空结构的第三树型层级的标记节点304对应的数据体中。将待解析文本行11包括的标记数据“prefix”附加上编号标记“[4]”后,和实体数据“1.1.1.5/32”写入到树型空结构的第三树型层级的标记节点305对应的数据体中,以此类推,得到如图7所示的树型数据结构。
具体地,可以采用Java设计该树型空结构并将标记数据、实体数据、编号数据等写入树型空结构中,得到树型数据结构。例如,可以将树型层级定义为int类型,将没有子节点的标记节点定义为boolean类型,将包括子节点的标记节点定义为List<Indent Text>类型,将标记数据定义为String类型,将编号数据定义为String类型,将实体数据定义为String类型。
在某些实施方式中,S610的将多个待解析文本行的标记数据附加上编号标记后,写入到树型空结构的对应层级中,可以进一步包括以下步骤:
将多个待解析文本行的标记数据附加上编号标记后作为索引数据,写入到待解析文本行在树型空结构的对应层级中的对应标记节点中,并将多个待解析文本行的的实体数据分别写入到标记节点对应的存储空间中。
在某些实施方式中,S620的将多个待解析文本行的标记数据附加上编号标记后,写入到树型空结构的对应层级中,可以进一步包括以下步骤:
将目标待解析文本行的标记数据作为索引数据,写入到树型空结构的对应层级中的对应标记节点中,并将目标待解析文本行的的实体数据写入到标记节点对应的存储空间中。
S140.根据树型数据结构生成待解析文本行对应的树型结构表达式。树型结构表达式用于在树型数据结构中获取待解析文本包括的数据。
具体地,可以根据待解析文本行所在的树型层级对应的标记数据的标记节点,以及该标记节点在树型数据结构中从属的标记节点,生成该待解析文本行对应的树型结构表达式。如图7所示,请结合图3,根据待解析文本行8所在的第三树型层级对应的标记数据的“prefix”对应的标记节点302“prefix[1]”,以及标记节点302“prefix[1]”在树型数据结构中从属的标记节点:标记节点201“ip-prefix-list”、标记节点101“match-list”和标记节点001“filter”,生产该待解析文本行对应的树型结构表达式“filter.match-list.ip-prefix-list.prefix[1]”,其中,符号“.”为预设的拆分符号。采用树型结构表达式“filter.match-list.ip-prefix-list.prefix[1]”,可以在图7所示树型数据结构中获取到对应的待解析文本行包括的实体数据,也即目标数据“1.1.1.2/32”。在一些实施方式中,采用树型结构表达式“filter.match-list.ip-prefix-list.prefix[1]”,可以在图7所示树型数据结构中获取到包括了标记数据和实体数据的待解析文本行,也即目标数据“prefix1.1.1.2/32”。
下面结合具体实施方式对本申请提供的文本数据获取方法做出详细说明。
图8示意性地示出了本申请某些实施方式的文本数据获取方法的步骤流程图。该文本数据获取方法的执行主体可以是终端设备,也可以是服务器等,本申请对此不设限。如图8所示,该文本数据获取方法主要可以包括如下步骤S810~步骤S820。
S810.获取树型数据结构对应的树型结构表达式,树型数据结构是根据目标文本包含的文本行及文本行对应的树型层级构建的,树型层级是根据文本行的缩进量确定的。
S820.根据树型结构表达式对树型数据结构进行匹配查找,得到最终查找结果,最终查找结果包括树型结构表达式对应的目标数据。
获取树型数据结构对应的树型结构表达式后,可以根据树型结构表达式对树型数据结构进行匹配查找,得到最终查找结果,最终查找结果包括树型结构表达式对应的目标数据。其中,树型数据结构是根据目标文本包含的文本行及文本行对应的树型层级构建的,树型层级是根据文本行的缩进量确定的。构建树型数据结构的过程在上文中文本解析方法的实施例中已进行了详细说明,此处不再展开说明。
具体地,可以从网关、交互界面、键盘、数据库等获取树型结构表达式,也可以获取本申请的文本解析方法生成的树型结构表达式,本申请对此不作限制。根据树型结构表达式对树型数据结构进行匹配查找,具体地,可以是根据树型结构表达式对树型数据结构逐个树型层级地进行匹配查找。
图9示意性地示出了本申请某实施例根据树型结构表达式对树型数据结构进行匹配查找,得到最终查找结果的步骤流程图。如图9所示,在以上实施例的基础上,步骤S820的根据树型结构表达式对树型数据结构进行匹配查找,得到最终查找结果,可以进一步包括以下步骤S910~步骤S920。
S910.根据预设拆分符号将树型结构表达式拆分为与树型层级对应的关键字。
S920.根据关键字依次对树型数据结构的对应树型层级进行匹配查找,得到最终查找结果。
首先,可以根据预设拆分符号将树型结构表达式拆分为与树型层级对应的关键字。例如,根据预设拆分符号“.”,将树型结构表达式“filter.match-list.ip-prefix-list.prefix[1]”拆分为与第零树型层级对应的关键字“filter”、与第一树型层级对应的关键字“match-list”、与第二树型层级对应的关键字“ip-prefix-list”、与第三树型层级对应的关键字“prefix”和编号标记[1]。然后,根据关键字“filter”、“match-list”、“ip-prefix-list”和“prefix”依次对树型数据结构的对应树型层级进行匹配查找,得到最终查找结果,其中,关键字“prefix”指定了编号标记[1]。
图10示意性地示出了本申请某实施例根据关键字依次对树型数据结构的对应树型层级进行匹配查找,得到最终查找结果的步骤流程图。如图10所示,在以上实施例的基础上,步骤S920的根据关键字依次对树型数据结构的对应树型层级进行匹配查找,得到最终查找结果,可以进一步包括以下步骤S1010~步骤S1030。
S1010.在根据一个树型层级对应的关键字对树型层级进行匹配查找后,获取查找匹配结果。
S1020.若根据查找匹配结果确定查找到一个目标数据、且进行匹配查找的关键字所在的树型层级是树型数据结构的最后一个树型层级,则将目标数据作为最终查找结果。
S1030.若根据查找匹配结果确定查找到一个目标数据、且进行匹配查找的关键字所在的树型层级不是树型数据结构的最后一个树型层级,则根据下一树型层级的关键字继续进行匹配查找,直到进行匹配查找的关键字所在的层级是树型数据结构的最后一个树型层级。
在一些实施例中,在根据关键字依次对树型数据结构的对应树型层级进行匹配查找的过程中,可以先对层级较低的树型层级进行匹配查找,再依次对层级较高的下一树型层级进行匹配查找。在一些实施例中,在根据关键字依次对树型数据结构的对应树型层级进行匹配查找的过程中,可以先对层级较高的树型层级进行匹配查找,再依次对层级较低的下一树型层级进行匹配查找。最后一个树型层级是没有下一树型层级的树型层级。
在具体的实施例中,可以先对第零树型层级进行匹配查找,再依次对层级较低的下一树型层级进行匹配查找,获取查找匹配结果。
具体地,可以参阅图11。图11示意性地示出了本申请某实施例根据关键字依次对树型数据结构的对应树型层级进行匹配查找,得到最终查找结果的具体流程示例图。如图11所示,先令n=0,根据树型层级n对应的关键字对第n树型层级进行匹配查找。若根据查找匹配结果确定查找到一个目标数据、且进行匹配查找的关键字所在的树型层级n是树型数据结构的最后一个树型层级,则将目标数据作为最终查找结果。若根据查找匹配结果确定查找到一个目标数据、且进行匹配查找的关键字所在的树型层级n不是树型数据结构的最后一个树型层级,则令n自加一后,再对第n树型层级进行匹配查找,也即根据下一树型层级的关键字继续进行匹配查找,直到进行匹配查找的关键字所在的层级n是树型数据结构的最后一个树型层级。由此,实现“先对第零树型层级进行匹配查找,再依次对层级较高的下一树型层级进行匹配查找”,直到进行匹配查找的关键字所在的层级是树型数据结构的最高的树型层级,也即最后一个树型层级。在一些实施方式中,如果先对层级较高的树型层级进行匹配查找,再依次对层级较低的下一树型层级进行匹配查找,可以将图11的实施例的“令n自加一”对应变为“令n自减一”,以实现“依次对层级较低的下一树型层级进行匹配查找”,直到进行匹配查找的关键字所在的层级是树型数据结构的最低的树型层级,也即最后一个树型层级。
请参阅图3和图7,例如,采用“filter.match-list.ip-prefix-list.prefix[1]”拆分后的与第零树型层级对应的关键字“filter”、与第一树型层级对应的关键字“match-list”、与第二树型层级对应的关键字“ip-prefix-list”、与第三树型层级对应的关键字“prefix”和编号标记[1],对图7所示的树型数据结构的对应树型层级进行匹配查找,得到最终查找结果。先令n=0,根据树型层级n对应的关键字“filter”对第零树型层级进行匹配查找,根据查找匹配结果确定查找到一个目标数据“filter”、且进行匹配查找的关键字“filter”所在的树型层级n=0不是树型数据结构的最后一个树型层级,则令n自加一后,再对第n=1树型层级进行匹配查找,也即根据下一树型层级的关键字继续进行匹配查找,直到进行匹配查找的关键字所在的层级n是树型数据结构的最后一个树型层级3。此时,根据树型层级n=1对应的关键字“match-list”对第一树型层级进行匹配查找,根据查找匹配结果确定查找到一个目标数据“match-list”、且进行匹配查找的关键字“filter”所在的树型层级n=0不是树型数据结构的最后一个树型层级,则令n自加一后,再对第n=1树型层级进行匹配查找,也即根据下一树型层级的关键字继续进行匹配查找,直到进行匹配查找的关键字所在的层级n是树型数据结构的最后一个树型层级3。
根据一个树型层级对应的关键字对树型层级进行匹配查找后,获取查找匹配结果,根据查找匹配结果可以确定查找到一个目标数据、多个目标数据或者零个目标数据。具体地,根据一个树型层级对应的关键字对该树型层级的所有标记数据进行匹配查找,获取查找匹配结果,当匹配结果为匹配到标记数据的数量为一个时,则查找到与该标记数据对应的一个实体数据,将该实体数据作为目标数据,则查找到一个目标数据;根据一个树型层级对应的关键字对该树型层级的所有标记数据进行匹配查找,获取查找匹配结果,当匹配结果为匹配到标记数据的数量为多个时,则查找到与该多个标记数据一一对应的多个实体数据,将该多个实体数据均作为目标数据,则查找到多个目标数据;根据一个树型层级对应的关键字对该树型层级的所有标记数据进行匹配查找,获取查找匹配结果,当匹配结果为匹配到标记数据的数量为零个时,则无法查找到对应的实体数据,则未查找到目标数据。
在某些实施方式中,在以上实施例的基础上,步骤步骤1010的“在根据一个树型层级的关键字进行匹配查找后,获取查找匹配结果”,可以进一步包括以下步骤:
根据一个树型层级的关键字对该树型层级所包括的标记节点对应的索引数据进行匹配查找后,获取查找匹配结果。
在某些实施方式中,在以上实施例的基础上,步骤S1020的“若根据查找匹配结果确定查找到一个目标数据、且进行匹配查找的关键字所在的树型层级是树型数据结构的最后一个树型层级,则将目标数据作为最终查找结果”,可以包括以下步骤:
若根据查找匹配结果确定查找到一个标记节点、且该标记节点是叶节点时,则该叶节点存储的实体数据作为最终查找结果。
在某些实施方式中,在以上实施例的基础上,步骤S1030的“若根据查找匹配结果确定查找到一个目标数据、且进行匹配查找的关键字所在的树型层级不是树型数据结构的最后一个树型层级,则根据下一树型层级的关键字继续进行匹配查找,直到进行匹配查找的关键字所在的层级是树型数据结构的最后一个树型层级”,可以进一步包括以下步骤:
若根据查找匹配结果确定查找到一个标记节点、且所述标记节点是分支节点,则根据下一树型层级的关键字继续对该分支节点所包括的标记节点的索引数据进行匹配查找,直到据查找匹配结果确定查找到的标记节点,是树型数据结构中的叶节点。
图12示意性地示出了本申请某实施例根据关键字依次对树型数据结构的对应树型层级进行匹配查找,得到最终查找结果的步骤流程图。如图12所示,在以上实施例的基础上,步骤S920的根据关键字依次对树型数据结构的对应树型层级进行匹配查找,得到最终查找结果,可以进一步包括以下步骤S1210~步骤S1240。
S1210.在根据一个树型层级对应的关键字对树型层级进行匹配查找后,获取查找匹配结果。
S1220.若根据查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字指定了编号标记、且在进行匹配查找的关键字所在的树型层级是树型数据结构的最后一个树型层级时,将编号标记对应的目标数据作为最终查找结果。
S1230.若根据查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字指定了编号标记、且在进行匹配查找的关键字所在的树型层级不是树型数据结构的最后一个树型层级时,根据下一树型层级的关键字继续进行匹配查找,直到进行匹配查找的关键字所在的树型层级是树型数据结构的最后一个树型层级。
S1240.若根据查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字未指定编号标记时,将多个目标数据作为最终查找结果。
请继续参阅图11,根据树型层级n对应的关键字对第n树型层级进行匹配查找后,获取查找匹配结果。若根据查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字指定了编号标记、且在进行匹配查找的关键字所在的树型层级n是树型数据结构的最后一个树型层级时,将编号标记对应的目标数据作为最终查找结果。请参阅图3和图7,例如,采用“filter.match-list.ip-prefix-list.prefix[1]”拆分后的与第零树型层级对应的关键字“filter”、与第一树型层级对应的关键字“match-list”、与第二树型层级对应的关键字“ip-prefix-list”、与第三树型层级对应的关键字“prefix”和编号标记[1],对图7所示的树型数据结构的对应树型层级进行匹配查找,先令n=0,对第n=0树型层级进行匹配查找,根据查找匹配结果确定查找到一个目标数据“filter”,第0树型层级不是树型数据结构的最后一个树型层级;令n自加一后,再对第n=1树型层级进行匹配查找,根据查找匹配结果确定查找到一个目标数据“match-list”,第1树型层级不是树型数据结构的最后一个树型层级;令n自加一后,再对第n=2树型层级进行匹配查找,根据查找匹配结果确定查找到一个目标数据“ip-prefix-list”,第2树型层级不是树型数据结构的最后一个树型层级;令n自加一后,再对第n=3树型层级进行匹配查找,根据查找匹配结果确定查找到多个标记数据“prefix”对应的多个目标数据,并且进行匹配查找的关键字“prefix”指定了编号标记[1]、且在进行匹配查找的关键字所在的树型层级n=3是图7所示的树型数据结构的最后一个树型层级,将编号标记[1]对应的目标数据“1.1.1.2/32”作为最终查找结果。
请继续参阅图11,根据树型层级n对应的关键字对第n树型层级进行匹配查找后,获取查找匹配结果。若根据查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字指定了编号标记、且在进行匹配查找的关键字所在的树型层级n不是树型数据结构的最后一个树型层级时,令n自加一,再根据树型层级n对应的关键字对第n树型层级进行匹配查找,也即根据下一树型层级的关键字继续进行匹配查找,直到进行匹配查找的关键字所在的树型层级n是树型数据结构的最后一个树型层级。
图13示意性地示出了本申请某实施例根据另一待解析文本的待解析文本行的缩进量确定待解析文本行对应的树型层级的示意图。例如,采用本申请的文本解析方法对如图13所示的待解析文本构建了对应的树型数据结构后,得到对应的树型数据结构。然后,在获取树型结构表达式“system.security.management-access-filter.ip-filter.entry[0].src-ip”后,根据预设拆分符号“.”将该树型结构表达式拆分为与第零树型层级对应的关键字“system”、与第一树型层级对应的关键字“security”、与第二树型层级对应的关键字“management-access-filter”、与第三树型层级对应的关键字“ip-filter”、与第四树型层级对应的关键字“entry”和编号标记[0]、与第五树型层级对应的关键字“src-ip”。根据关键字“system”、“security”、“management-access-filter”、“ip-filter”、“entry”和“src-ip”依次对树型数据结构的对应树型层级进行匹配查找,得到最终查找结果,其中,关键字“entry”指定了编号标记[0]。先令n=0,对第n=0树型层级进行匹配查找,根据查找匹配结果确定查找到一个目标数据“system”,第0树型层级不是树型数据结构的最后一个树型层级;令n自加一后,再对第n=1树型层级进行匹配查找,根据查找匹配结果确定查找到一个目标数据“security”,第1树型层级不是树型数据结构的最后一个树型层级;令n自加一后,再对第n=2树型层级进行匹配查找,根据查找匹配结果确定查找到一个目标数据“management-access-filter”,第2树型层级不是树型数据结构的最后一个树型层级;令n自加一后,再对第n=3树型层级进行匹配查找,根据查找匹配结果确定查找到一个目标数据“ip-filter”,第3树型层级不是树型数据结构的最后一个树型层级;令n自加一后,再对第n=4树型层级进行匹配查找,根据查找匹配结果确定查找到多个标记数据“entry”一一对应的多个目标数据,并且进行匹配查找的关键字“entry”指定了编号标记[0]、且在进行匹配查找的关键字所在的树型层级n=4不是图13对应构建的树型数据结构的最后一个树型层级,将编号标记[0]对应的标记节点“entry[0]”作为中间查找结果;令n自加一后,再根据树型层级n=5对应的关键字“src-ip”对第n=5树型层级中标记节点“entry[0]”包括的数据进行匹配查找,也即根据下一树型层级的关键字继续进行匹配查找,根据查找匹配结果确定查找到一个目标数据“1.1.1.1/32”,且进行匹配查找的关键字“src-ip”所在的树型层级n=5是该树型数据结构的最后一个树型层级,则将目标数据“1.1.1.1/32”作为最终查找结果。
在一些实施例中,例如,在运营商需要对IP城域网MSE(多业务边缘路由器)设备进行配置分析时,通过FTP(File Transfer Protocol Server,文件传输协议)服务器下载设备的配置文件后,可以采用本申请的文本解析方法将配置文件解析成为树型数据结构,然后通过树型结构表达式快速定位配置文件中第1条IP地址过滤器的源IP。在另一些实施例中,也可以将Python等语言的源码解析成为树型数据结构,然后通过树型结构表达式快速定位配置文件中第1条IP地址过滤器的源IP。由此,能够实现对复杂度较高的数据文件进行解析,以便通过树型结构表达式在树型数据结构中快速定位到待解析文本中具体的一个文本行中的数据,进而能够提高对待解析文本的信息提取和数据管理的效率。
在某些实施方式中,在以上实施例的基础上,步骤步骤1210的“在根据一个树型层级的关键字进行匹配查找后,获取查找匹配结果”,可以进一步包括以下步骤:
根据一个树型层级的关键字对该树型层级所包括的标记节点对应的索引数据进行匹配查找后,获取查找匹配结果。
在某些实施方式中,在以上实施例的基础上,步骤S1220的“若根据查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字指定了编号标记、且在进行匹配查找的关键字所在的树型层级是树型数据结构的最后一个树型层级时,将编号标记对应的目标数据作为最终查找结果”,可以包括以下步骤:
若根据查找匹配结果确定查找到多个标记节点,则在进行匹配查找的关键字指定了编号标记、且该编号标记指定的标记节点是叶节点时,将该叶节点存储的实体数据作为目标数据,并将目标数据作为最终查找结果。
在某些实施方式中,在以上实施例的基础上,步骤S1230的“若根据查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字指定了编号标记、且在进行匹配查找的关键字所在的树型层级不是树型数据结构的最后一个树型层级时,根据下一树型层级的关键字继续进行匹配查找,直到进行匹配查找的关键字所在的树型层级是树型数据结构的最后一个树型层级”,可以进一步包括以下步骤:
若根据查找匹配结果确定查找到多个标记节点、则在进行匹配查找的关键字指定了编号标记、且该编号标记指定的标记节点是分支节点时,根据下一树型层级的关键字继续对该分支节点所包括的标记节点的索引数据进行匹配查找,直到据查找匹配结果确定查找到的标记节点,是树型数据结构中的叶节点。
在某些实施方式中,在以上实施例的基础上,步骤步骤1240的“若根据查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字未指定编号标记时,将多个目标数据作为最终查找结果”,可以进一步包括以下步骤:
若根据查找匹配结果确定查找到多个标记节点,则在进行匹配查找的关键字未指定编号标记时,将多个标记节点存储的实体数据作为目标数据,并将目标数据作为最终查找结果。
图14示意性地示出了本申请某实施例根据关键字依次对树型数据结构的对应树型层级进行匹配查找,得到最终查找结果的步骤流程图。如图14所示,在以上实施例的基础上,步骤S920的根据关键字依次对树型数据结构的对应树型层级进行匹配查找,得到最终查找结果,可以进一步包括以下步骤S1410~步骤S1420。
S1410.在根据一个树型层级的关键字进行匹配查找后,获取查找匹配结果。
S1420.若根据查找匹配结果确定未查找到目标数据,则确定查找失败,无法获取最终查找结果。
具体地,请继续参阅图11,根据树型层级n对应的关键字对第n树型层级进行匹配查找后,获取查找匹配结果。若根据查找匹配结果确定未查找到目标数据,则确定查找失败,无法获取最终查找结果。请参阅图3和图7,例如,采用“filter.match-list.ip-prefix-list.src-ip”拆分后的与第零树型层级对应的关键字“filter”、与第一树型层级对应的关键字“match-list”、与第二树型层级对应的关键字“ip-prefix-list”、与第三树型层级对应的关键字“src-ip”,对图7所示的树型数据结构的对应树型层级进行匹配查找,先令n=0,对第n=0树型层级进行匹配查找,根据查找匹配结果确定查找到一个目标数据“filter”,第0树型层级不是树型数据结构的最后一个树型层级;令n自加一后,再对第n=1树型层级进行匹配查找,根据查找匹配结果确定查找到一个目标数据“match-list”,第1树型层级不是树型数据结构的最后一个树型层级;令n自加一后,再对第n=2树型层级进行匹配查找,根据查找匹配结果确定查找到一个目标数据“ip-prefix-list”,第2树型层级不是树型数据结构的最后一个树型层级;令n自加一后,再对第n=3树型层级进行匹配查找,根据查找匹配结果确定未查找到与标记数据“src-ip”对应的目标数据,则确定查找失败,无法获取最终查找结果。
由此,实现了根据树型结构表达式对树型数据结构逐个树型层级地进行匹配查找,从而在构建了树型数据结构后,能够通过树型结构表达式快速地定位到待解析文本中的目标数据,得到最终查找结构,从而能够提高对待解析文本的信息提取和数据管理的效率。
在某些实施方式中,在以上实施例的基础上,步骤1410的“在根据一个树型层级的关键字进行匹配查找后,获取查找匹配结果”,可以进一步包括以下步骤:
根据一个树型层级的关键字对该树型层级所包括的标记节点对应的索引数据进行匹配查找后,获取查找匹配结果。
在某些实施方式中,在以上实施例的基础上,步骤1420的“若根据查找匹配结果确定未查找到目标数据,则确定查找失败,无法获取最终查找结果”,可以进一步包括以下步骤:
若根据查找匹配结果确定未查找到标记节点,则确定查找失败,无法获取最终查找结果。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施例。图15示意性地示出了本申请实施例提供的文本解析装置的结构框图。本申请实施例提供的文本解析装置可以用于执行本申请上述实施例中的文本解析方法。如图15所示,文本解析装置1500包括:
待解析文本获取模块1510,被配置为获取待解析文本,待解析文本中包含有待解析文本行;
树型层级确定模块1520,被配置为根据待解析文本行的缩进量确定待解析文本行对应的树型层级;
树型数据结构构建模块1530,被配置为根据待解析文本行及待解析文本行对应的树型层级,构建树型数据结构;
树型结构表达式生成模块1540,被配置为根据树型数据结构生成待解析文本行对应的树型结构表达式,树型结构表达式用于在树型数据结构中获取待解析文本包括的数据。
在本申请的一些实施例中,基于以上各实施例,树型层级确定模块包括:
预设缩进量获取单元,被配置为获取与树型层级对应的预设缩进量;
树型层级确定单元,被配置为根据待解析文本行的缩进量,以及与树型层级对应的预设缩进量,确定与待解析文本行对应的树型层级。
在本申请的一些实施例中,基于以上各实施例,树型数据结构构建模块包括:
树型空结构构建单元,被配置为根据与待解析文本行对应的树型层级,构建树型空结构;
树型数据结构形成单元,被配置为将待解析文本行包括的标记数据和实体数据写入到树型空结构中,形成树型数据结构。
在本申请的一些实施例中,基于以上各实施例,树型数据结构形成单元包括:
第一写入子单元,被配置为若树型数据结构中包含有标记数据相同的多个待解析文本行,则将多个待解析文本行的标记数据附加上编号标记后,写入到树型空结构的对应层级中;
第二写入子单元,被配置为若树型层级中包含有目标待解析文本行,目标待解析文本行的标记数据与其他待解析文本行的标记数据均不相同,则将目标待解析文本行的标记数据直接写入到树型空结构的对应层级中。
图16示意性地示出了本申请实施例提供的文本数据获取装置的结构框图。本申请实施例提供的文本数据获取装置可以用于执行本申请上述实施例中的文本数据获取方法。如图16所示,文本数据获取装置1600包括:
树型结构表达式获取模块1610,被配置为获取树型数据结构对应的树型结构表达式,树型数据结构是根据目标文本包含的文本行及文本行对应的树型层级构建的,树型层级是根据文本行的缩进量确定的;
匹配查找模块1620,被配置为根据树型结构表达式对树型数据结构进行匹配查找,得到最终查找结果,最终查找结果包括树型结构表达式对应的目标数据。
在本申请的一些实施例中,基于以上各实施例,匹配查找模块包括:
拆分单元,被配置为根据预设拆分符号将树型结构表达式拆分为与树型层级对应的关键字;
匹配查找单元,被配置为根据关键字依次对树型数据结构的对应树型层级进行匹配查找,得到最终查找结果。
在本申请的一些实施例中,基于以上各实施例,匹配查找单元包括:
第一匹配查找子单元,被配置为在根据一个树型层级对应的关键字对树型层级进行匹配查找后,获取查找匹配结果;
第一执行子单元,被配置为若根据查找匹配结果确定查找到一个目标数据、且进行匹配查找的关键字所在的树型层级是树型数据结构的最后一个树型层级,则将目标数据作为最终查找结果;
第二执行子单元,被配置为若根据查找匹配结果确定查找到一个目标数据、且进行匹配查找的关键字所在的树型层级不是树型数据结构的最后一个树型层级,则根据下一树型层级的关键字继续进行匹配查找,直到进行匹配查找的关键字所在的层级是树型数据结构的最后一个树型层级。
在本申请的一些实施例中,基于以上各实施例,匹配查找单元包括:
第二匹配查找子单元,被配置为在根据一个树型层级对应的关键字对树型层级进行匹配查找后,获取查找匹配结果;
第三执行子单元,被配置为若根据查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字指定了编号标记、且在进行匹配查找的关键字所在的树型层级是树型数据结构的最后一个树型层级时,将编号标记对应的目标数据作为最终查找结果;
第四执行子单元,被配置为若根据查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字指定了编号标记、且在进行匹配查找的关键字所在的树型层级不是树型数据结构的最后一个树型层级时,根据下一树型层级的关键字继续进行匹配查找,直到进行匹配查找的关键字所在的树型层级是树型数据结构的最后一个树型层级;
第五执行子单元,被配置为若根据查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字未指定编号标记时,将多个目标数据作为最终查找结果。
在本申请的一些实施例中,基于以上各实施例,匹配查找单元包括:
第三匹配查找子单元,被配置为在根据一个树型层级的关键字进行匹配查找后,获取查找匹配结果;
第六执行子单元,被配置为若根据查找匹配结果确定未查找到目标数据,则确定查找失败,无法获取最终查找结果。
本申请各实施例中提供的文本解析装置和文本数据获取装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
图17示意性地示出了用于实现本申请实施例的电子设备的结构框图。
需要说明的是,图17示出的电子设备1700仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图17所示,电子设备1700包括中央处理器1701(Central Processing Unit,CPU),其可以根据存储在只读存储器1702(Read-Only Memory,ROM)中的程序或者从存储部分1708加载到随机访问存储器1703(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器1703中,还存储有系统操作所需的各种程序和数据。中央处理器1701、在只读存储器1702以及随机访问存储器1703通过总线1704彼此相连。输入/输出接口1705(Input/Output接口,即I/O接口)也连接至总线1704。
以下部件连接至输入/输出接口1705:包括键盘、鼠标等的输入部分1706;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1707;包括硬盘等的存储部分1708;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1709。通信部分1709经由诸如因特网的网络执行通信处理。驱动器1710也根据需要连接至输入/输出接口1705。可拆卸介质1711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1710上,以便于从其上读出的计算机程序根据需要被安装入存储部分1708。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1709从网络上被下载和安装,和/或从可拆卸介质1711被安装。在该计算机程序被中央处理器1701执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (13)
1.一种文本解析方法,其特征在于,包括:
获取待解析文本,所述待解析文本中包含有待解析文本行;
根据所述待解析文本行的缩进量确定所述待解析文本行对应的树型层级;
根据所述待解析文本行及所述待解析文本行对应的树型层级,构建树型数据结构;
根据所述树型数据结构生成所述待解析文本行对应的树型结构表达式,所述树型结构表达式用于在所述树型数据结构中获取所述待解析文本包括的数据。
2.根据权利要求1所述的文本解析方法,其特征在于,所述根据所述待解析文本行的缩进量确定所述待解析文本行对应的树型层级,包括:
获取与所述树型层级对应的预设缩进量;
根据所述待解析文本行的缩进量,以及与所述树型层级对应的预设缩进量,确定与所述待解析文本行对应的树型层级。
3.根据权利要求1所述的文本解析方法,其特征在于,所述根据所述待解析文本行及所述待解析文本行对应的树型层级,构建树型数据结构,包括:
根据与所述待解析文本行对应的树型层级,构建树型空结构;
将所述待解析文本行包括的标记数据和实体数据写入到所述树型空结构中,形成所述树型数据结构。
4.根据权利要求3所述的文本解析方法,其特征在于,所述将所述待解析文本行包括的标记数据和实体数据写入所述树型空结构中,形成所述树型数据结构,包括:
若所述树型数据结构中包含有标记数据相同的多个待解析文本行,则将所述多个待解析文本行的标记数据附加上编号标记后,写入到所述树型空结构的对应层级中;
若所述树型层级中包含有目标待解析文本行,所述目标待解析文本行的标记数据与其他待解析文本行的标记数据均不相同,则将所述目标待解析文本行的标记数据直接写入到所述树型空结构的对应层级中。
5.一种文本数据获取方法,其特征在于,包括:
获取树型数据结构对应的树型结构表达式,所述树型数据结构是根据目标文本包含的文本行及所述文本行对应的树型层级构建的,所述树型层级是根据所述文本行的缩进量确定的;
根据所述树型结构表达式对所述树型数据结构进行匹配查找,得到最终查找结果,所述最终查找结果包括所述树型结构表达式对应的目标数据。
6.根据权利要求5所述的文本数据获取方法,其特征在于,所述根据所述树型结构表达式对所述树型数据结构进行匹配查找,得到最终查找结果,包括:
根据预设拆分符号将所述树型结构表达式拆分为与所述树型层级对应的关键字;
根据所述关键字依次对所述树型数据结构的对应树型层级进行匹配查找,得到所述最终查找结果。
7.根据权利要求6所述的文本数据获取方法,其特征在于,所述根据所述关键字依次对所述树型数据结构的对应树型层级进行匹配查找,得到所述最终查找结果,包括:
在根据一个树型层级对应的关键字对所述树型层级进行匹配查找后,获取查找匹配结果;
若根据所述查找匹配结果确定查找到一个目标数据、且进行匹配查找的关键字所在的树型层级是所述树型数据结构的最后一个树型层级,则将所述目标数据作为所述最终查找结果;
若根据所述查找匹配结果确定查找到一个目标数据、且进行匹配查找的关键字所在的树型层级不是树型数据结构的最后一个树型层级,则根据下一树型层级的关键字继续进行匹配查找,直到进行匹配查找的关键字所在的层级是所述树型数据结构的最后一个树型层级。
8.根据权利要求6所述的文本数据获取方法,其特征在于,所述根据所述关键字依次对所述树型数据结构的对应树型层级进行匹配查找,得到所述最终查找结果,包括:
在根据一个树型层级对应的关键字对所述树型层级进行匹配查找后,获取查找匹配结果;
若根据所述查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字指定了编号标记、且在进行匹配查找的关键字所在的树型层级是所述树型数据结构的最后一个树型层级时,将所述编号标记对应的所述目标数据作为所述最终查找结果;
若根据所述查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字指定了编号标记、且在进行匹配查找的关键字所在的树型层级不是所述树型数据结构的最后一个树型层级时,根据下一树型层级的关键字继续进行匹配查找,直到进行匹配查找的关键字所在的树型层级是所述树型数据结构的最后一个树型层级;
若根据所述查找匹配结果确定查找到多个目标数据,则在进行匹配查找的关键字未指定编号标记时,将所述多个目标数据作为所述最终查找结果。
9.根据权利要求6所述的文本数据获取方法,其特征在于,所述根据所述关键字依次对所述树型数据结构的对应树型层级进行匹配查找,得到所述最终查找结果,包括:
在根据一个树型层级的关键字进行匹配查找后,获取查找匹配结果;
若根据所述查找匹配结果确定未查找到目标数据,则确定查找失败,无法获取所述最终查找结果。
10.一种文本解析装置,其特征在于,包括:
待解析文本获取模块,被配置为获取待解析文本,所述待解析文本中包含有待解析文本行;
树型层级确定模块,被配置为根据所述待解析文本行的缩进量确定所述待解析文本行对应的树型层级;
树型数据结构构建模块,被配置为根据所述待解析文本行及所述待解析文本行对应的树型层级,构建树型数据结构;
树型结构表达式生成模块,被配置为根据所述树型数据结构生成所述待解析文本行对应的树型结构表达式,所述树型结构表达式用于在所述树型数据结构中获取所述待解析文本包括的数据。
11.一种文本数据获取装置,其特征在于,包括:
树型结构表达式获取模块,被配置为获取树型数据结构对应的树型结构表达式,所述树型数据结构是根据目标文本包含的文本行及所述文本行对应的树型层级构建的,所述树型层级是根据所述文本行的缩进量确定的;
匹配查找模块,被配置为根据所述树型结构表达式对所述树型数据结构进行匹配查找,得到最终查找结果,所述最终查找结果包括所述树型结构表达式对应的目标数据。
12.一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至9中任意一项所述的方法。
13.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至9中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110766132.5A CN113378544A (zh) | 2021-07-07 | 2021-07-07 | 文本解析方法、文本数据获取方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110766132.5A CN113378544A (zh) | 2021-07-07 | 2021-07-07 | 文本解析方法、文本数据获取方法、装置、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113378544A true CN113378544A (zh) | 2021-09-10 |
Family
ID=77581295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110766132.5A Pending CN113378544A (zh) | 2021-07-07 | 2021-07-07 | 文本解析方法、文本数据获取方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113378544A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11853732B1 (en) | 2022-06-21 | 2023-12-26 | Microsoft Technology Licensing, Llc | Source code structural inference based on indentation |
-
2021
- 2021-07-07 CN CN202110766132.5A patent/CN113378544A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11853732B1 (en) | 2022-06-21 | 2023-12-26 | Microsoft Technology Licensing, Llc | Source code structural inference based on indentation |
WO2023249765A1 (en) * | 2022-06-21 | 2023-12-28 | Microsoft Technology Licensing, Llc | Source code structural inference based on indentation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857917B (zh) | 面向威胁情报的安全知识图谱构建方法及系统 | |
US10725836B2 (en) | Intent-based organisation of APIs | |
CN107391677B (zh) | 携带实体关系属性的中文通用知识图谱的生成方法及装置 | |
US10423649B2 (en) | Natural question generation from query data using natural language processing system | |
US20110078562A1 (en) | Method and system for tracking authorship of content in data | |
CN110866029B (zh) | sql语句构建方法、装置、服务器及可读存储介质 | |
CN110555205B (zh) | 否定语义识别方法及装置、电子设备、存储介质 | |
CN111708805A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN101794318A (zh) | Url解析方法及设备 | |
CN114091426A (zh) | 一种处理数据仓库中字段数据的方法和装置 | |
CN113535977A (zh) | 一种知识图谱融合方法和装置及设备 | |
CN110795526B (zh) | 一种用于检索系统的数学公式索引创建方法与系统 | |
CN115203435A (zh) | 基于知识图谱的实体关系生成方法及数据查询方法 | |
CN113094625B (zh) | 页面元素定位方法、装置、电子设备及存储介质 | |
CN113378544A (zh) | 文本解析方法、文本数据获取方法、装置、介质及设备 | |
CN112582073B (zh) | 医疗信息获取方法、装置、电子设备和介质 | |
CN109062913B (zh) | 国际化资源智能获取方法、存储介质 | |
WO2020024778A1 (zh) | xml文件批量修改方法、系统、设备和计算机可读存储介质 | |
CN113806647A (zh) | 识别开发框架的方法及相关设备 | |
CN111061927B (zh) | 数据处理方法、装置及电子设备 | |
US10235224B2 (en) | Validation and parsing performance using subtree caching | |
CN116822491A (zh) | 日志解析方法及装置、设备、存储介质 | |
CN114519071A (zh) | 规则匹配模型的生成方法、匹配方法、系统、设备和介质 | |
CN113590650A (zh) | 基于特征表达式的结构化查询语句甄别方法及装置 | |
CN112988778A (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 |