CN113709196B - 数据提取方法、装置、计算机设备、介质和程序产品 - Google Patents

数据提取方法、装置、计算机设备、介质和程序产品 Download PDF

Info

Publication number
CN113709196B
CN113709196B CN202010433036.4A CN202010433036A CN113709196B CN 113709196 B CN113709196 B CN 113709196B CN 202010433036 A CN202010433036 A CN 202010433036A CN 113709196 B CN113709196 B CN 113709196B
Authority
CN
China
Prior art keywords
target
domain
extractor
domain object
text data
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.)
Active
Application number
CN202010433036.4A
Other languages
English (en)
Other versions
CN113709196A (zh
Inventor
廖意明
左文建
张少科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
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 Qianxin Technology Group Co Ltd, Secworld Information Technology Beijing Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN202010433036.4A priority Critical patent/CN113709196B/zh
Publication of CN113709196A publication Critical patent/CN113709196A/zh
Application granted granted Critical
Publication of CN113709196B publication Critical patent/CN113709196B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开提供了一种数据提取方法,包括:获取目标文本数据,所述目标文本数据用于表征目标网络设备的领域对象,所述领域对象用于表征所述目标网络设备的网络参数;确定与所述领域对象对应的目标提取器;利用所述目标提取器,对所述目标文本数据进行数据提取,以获得领域内容,所述领域内容为所述目标文本数据中与所述领域对象对应的网络参数值。本公开还提供了一种数据提取装置、计算机设备、计算机可读存储介质以及计算机程序产品。

Description

数据提取方法、装置、计算机设备、介质和程序产品
技术领域
本公开涉及一种数据提取方法、装置、计算机设备、介质和程序产品。
背景技术
随着网络技术的不断发展,企业各项业务的开展越来越依赖于网络,而网络的构建需要借助多个网络设备及部件,即网络设备。网络设备是连接到网络中的物理实体,其种类繁多,且与日俱增。这些网络设备可以是不同类型、不同厂商,甚至不同型号的网络设备,也称为异构网络设备。
对企业内的网络进行管理维护的网络管理员来说,需要定期(例如每天)将各网络设备上的信息同步到对应平台,以实现对各网络设备的数据下发或者数据同步、策略的检查以及网络设备状态信息的监控。由于异构网络设备对应不同的操作方式,使得网络管理员在执行下发数据或者同步数据时,需要了解每个厂商对应的该类型的网络设备的操作方式,例如,SSH(Secure Shell,安全外壳协议)的操作方式,Telnet(远程终端协议)的操作方式或ZSSH(Zmodem SSH,在使用SSH时将文件交互式传输到远程机器的程序)的操作方式。
但是,由于网络管理员所能监控的网络设备的数量非常有限,而且每个厂商采购的网络设备型号也不相同,因此在统一管理新网络设备时,一定程度上加大了对接网络设备的难度和门槛,导致现有的针对网络设备的管理方法,在对异构网络设备进行管理时需要做重复性的工作,接入设备的效率比较低。
发明内容
本公开的一个方面提供了一种数据提取方法,包括:获取目标文本数据,上述目标文本数据用于表征目标网络设备的领域对象,上述领域对象用于表征上述目标网络设备的网络参数;确定与上述领域对象对应的目标提取器;利用上述目标提取器,对上述目标文本数据进行数据提取,以获得领域内容,上述领域内容为上述目标文本数据中与上述领域对象对应的网络参数值。
可选地,上述确定与上述领域对象对应的目标提取器包括:利用预先定义的模板表达式,生成与上述目标文件数据对应的目标表达式;基于上述目标表达式,确定与上述领域对象对应的目标提取器。
可选地,上述方法还包括:获取预定义领域对象和自定义领域对象,上述自定义领域对象包括至少两个预定义领域对象;针对上述预定义领域对象,配置预定义提取器;针对上述自定义领域对象,配置自定义提取器;基于上述预定义提取器和上述自定义提取器,配置模板引擎。
可选地,上述基于上述目标表达式,确定与上述领域对象对应的目标提取器包括:基于上述目标表达式,从上述模板引擎中确定与上述领域对象对应的目标提取器。
可选地,在获得领域内容之后,上述方法还包括:检测是否能将上述领域内容转换为上述领域对象;若是,则获取与上述目标提取器对应的配置文件;基于上述配置文件,将上述领域内容填充至上述目标提取器的外部。
本公开的另一方面提供了一种数据提取装置,包括:第一获取模块,用于获取目标文本数据,上述目标文本数据用于表征目标网络设备的领域对象,上述领域对象用于表征上述目标网络设备的网络参数;确定模块,用于确定与上述领域对象对应的目标提取器;提取模块,用于利用上述目标提取器,对上述目标文本数据进行数据提取,以获得领域内容,上述领域内容为上述目标文本数据中与上述领域对象对应的网络参数值。
可选地,上述确定模块包括:生成子模块,用于利用预先定义的模板表达式,生成与上述目标文件数据对应的目标表达式;确定子模块,用于基于上述目标表达式,确定与上述领域对象对应的目标提取器。
可选地,上述装置还包括:第二获取模块,用于获取预定义领域对象和自定义领域对象,上述自定义领域对象包括至少两个预定义领域对象;第一配置模块,用于针对上述预定义领域对象,配置预定义提取器;第二配置模块,用于针对上述自定义领域对象,配置自定义提取器;第三配置模块,用于基于上述预定义提取器和上述自定义提取器,配置模板引擎。
可选地,上述确定子模块用于:基于上述目标表达式,从上述模板引擎中确定与上述领域对象对应的目标提取器。
可选地,在获得领域内容之后,上述装置还包括:检测子模块,用于检测是否能将上述领域内容转换为上述领域对象;获取子模块,用于若是,则获取与上述目标提取器对应的配置文件;填充子模块,用于基于上述配置文件,将上述领域内容填充至上述目标提取器的外部。
本公开的另一方面提供了一种计算机设备,上述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,上述处理器执行上述计算机程序时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,上述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序产品,上述计算机程序产品包括计算机可执行指令,上述指令在被执行时用于实现如上所述的方法。
本公开提供的数据提取方法,通过使用领域对象的抽象模型,抽象出大量领域对象提取器,可以将领域对象通过定义方式,暴露出配置文件方法,通过配置文件在外部适配,注入到程序内部,自动化完成程序的适配及转换工作。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的数据提取方法和装置的应用场景;
图2示意性示出了根据本公开实施例的数据提取方法的流程图;
图3示意性示出了根据本公开实施例的数据提取装置的框图;
图4示意性示出了根据本公开实施例的计算机可读存储介质产品的示意图;以及
图5示意性示出了根据本公开的实施例的计算机设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种数据提取方法和装置,用于在对网络设备进行管理时,提取网络设备的设备文本数据。该方法包括:首先获取目标文本数据,目标文本数据用于表征目标网络设备的领域对象,领域对象用于表征目标网络设备的网络参数。然后确定与领域对象对应的目标提取器。最后利用目标提取器,对目标文本数据进行数据提取,以获得领域内容,领域内容为目标文本数据中与领域对象对应的网络参数值。
随着网络技术的不断发展,企业各项业务的开展越来越依赖于网络,而网络的构建需要借助多个网络设备及部件,即网络设备。网络设备是连接到网络中的物理实体,其种类繁多,且与日俱增,可以包括但不限于集线器、交换机、网桥,路由器、网关、网络接口卡、无线接入点、中继器、调制解调器、光纤收发器、防火墙以及光缆。这些网络设备可以是不同类型、不同厂商,甚至不同型号的网络设备,也称为异构网络设备。
在已有的网络系统中,接入一个新的网络设备时,为了实现统一管理,现有技术对该设备数据进行提取时,需要了解该网络设备的数据特性。技术方案大概描述如下:首先,通过命令行界面(CLI,Command-Line Interface)或者通过全球广域网(Web,World WideWeb)方式连接该设备。然后,通过命令行或者应用程序编程接口(ApplicationProgramming Interface,API)的方式,获取该设备的配置数据。获取到该配置数据后,通过正则表达式或字符串切割的方式,提取到对应的文本数据内容。最后,将对应提取的文本数据内容,通过代码适配的方式将对应内容填充到代码中。
可以看出,相关技术存在以下技术问题:
1)在接入一个新的网络设备时,需要对该网络设备做对应的代码处理。因为对应的网络设备在解决对应的领域问题时,虽然其作用结果是相同的,但是表达方式各有差异。而通过正则或文本字符串切割的方式,对该类设备做数据提取时,没法做到动态复用。使得每次在接入一个新的网络设备时,都需要重新适配,需要的工作周期较长;
2)即使针对同一厂商同一型号的网络设备,也可能因为该网络设备的不同版本(例如3.0版本和5.0版本)之间的差距较大,使得在针对之前的字符串切割或正则表达式时,需要另外对该新版本做对应处理。使得在针对不同版本时都需要做重复的工作导致接入设备的效率较低;
3)字符串切割的提取方式使得代码编写较硬编码,扩展性差;
4)基于正则表达式的提取方式,在接入网络设备时,需要熟悉了解正则表达式。另外,在现有的正则表达式已经支持的情况下,对应的处理在维护正则时,复杂度较高,正则可视化较差。
图1示意性示出了根据本公开实施例的数据提取方法和装置的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该应用场景展示了一个基于异构网络设备的网络服务场景100。该应用场景100可以包括路由器101、服务器102的防火墙103、交换机104、服无线路由105以及终端设备106、107、108。
路由器101是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议,例如某个局域网使用的以太网协议,因特网使用的TCP/IP协议。这样,路由器可以分析各种不同类型网络传来的数据包的目的地址,把非TCP/IP网络的地址转换成TCP/IP地址,或者反之;再根据选定的路由算法把各数据包按最佳路线传送到指定位置。所以路由器可以把非TCP/IP网络连接到因特网上。
服务器102可以是提供各种服务的服务器,例如可以是对中央存储和数据文件管理负责的文件服务器(file server),使得在同一网络中的其他计算机可以访问这些文件。文件服务器允许用户在网络上共享信息,而不用通过软磁盘或一些其它外部存储设备来物理地移动文件。任何计算机都能被设置为主机,并作为文件服务器运行。也可以是用于在全球范围内查找用户和商业伙伴的强大的搜索工具的目录服务器。
防火墙103可以是将内部网和公众访问网(如Internet)分开的方法,实际上是一种建立在现代通信网络技术和信息安全技术基础上的应用性安全技术,隔离技术。越来越多地应用于专用网络与公用网络的互联环境之中,尤其以接入Internet网络为最甚。
交换机104根据工作位置的不同,可以分为广域网交换机和局域网交换机。广域的交换机就是一种在通信系统中完成信息交换功能的设备,它应用在数据链路层。交换机有多个端口,每个端口都具有桥接功能,可以连接一个局域网或一台高性能服务器或工作站。实际上,交换机有时被称为多端口网桥。
无线路由105可以是用于用户上网、带有无线覆盖功能的路由器。
终端设备106、107、108通过网络与服务器102交互,以接收或发送消息等。终端设备106、107、108上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
应该理解,图1中的路由器、防火墙、交换机、无线路由以及终端设备的数目、生产商以及设备型号仅仅是示意性的。根据实现需要,可以具有任意数目以及设备型号的路由器、防火墙、交换机、无线路由以及终端设备。
由于网络管理员所能监控的网络设备的数量非常有限,而且每个厂商采购的网络设备型号也不相同,因此在统一管理新网络设备时,一定程度上加大了对接网络设备的难度和门槛,导致现有的针对网络设备的管理方法,在对异构网络设备进行管理时需要做重复性的工作,接入设备的效率比较低。
根据本公开实施例,提供了一种数据提取方法,下面对该方法进行示例性说明。应注意,以下方法中各个步骤的序号仅作为该步骤的表示以便描述,而不应被看作表示该各个步骤的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。使用领域对象的抽象模型,抽象出大量领域对象提取器,将这些领域对象通过定义方式,暴露出配置文件方法,通过配置文件在外部适配,注入到程序内部,自动化完成程序的适配及转换工作。针对种类繁多的异构网络设备,通过配置模板的方式,实现网络设备文本数据的统一提取。使得在针对不同网络设备时,只需要配置与各个网络设备分别对应的模板提取器即可,大大节省了网络设备接入所消耗的时间,提高了对网络设备管理的效率。
图2示意性示出了根据本公开实施例的数据提取方法的流程图。
如图2所示,该方法可以包括操作S210~S230。
在操作S210,获取目标文本数据,目标文本数据用于表征目标网络设备的领域对象,领域对象用于表征目标网络设备的网络参数。
在操作S220,确定与领域对象对应的目标提取器。
在操作S230,利用目标提取器,对目标文本数据进行数据提取,以获得领域内容,领域内容为目标文本数据中与领域对象对应的网络参数值。
在本公开中,目标网络设备可以是如前所述的各种网络设备中的一个或多个网络设备,也可以专门维护网络安全性能的一个或多个安全网络设备。目标文本数据可以是用于表征该目标网络设备的领域对象,是描述该领域对象的文本数据,可以包括领域内容以及其他内容,其中,领域内容是有效内容,可以是与领域对象对应的网络参数值,而其他内容是无效内容,可以是空格和/或引号等与网络参数值无关的字符。
在本公开中,在一系列以编号排定的文件(Request For Comments,RFC)中对领域对象有着现成的且明确的定义,该文件收集了有关互联网的相关信息,以及UNIX和互联网社区的软件文件。RFC文件是由Internet Society(ISOC)赞助发行。基本的互联网通信协议都有在RFC文件内详细说明。RFC文件还额外加入了许多在标准内的论题,例如对于互联网新开发的协议及发展中所有的记录。因此几乎所有的互联网标准都有收录在RFC文件之中。可以理解的是,领域对象用于表征目标网络设备的网络参数,可以包括但不限于网际互连协议(Internet Protocol,IP)、掩码(MASK)、主机(HOST)、计算机端口(PORT)、以及用于在IP主机、路由器之间传递控制消息的Internet控制报文协议(Internet Control MessageProtocol,ICMP)。
可以理解的是,由于领域对象是具有特定含义的,其本身是有规律性的,因此对于领域对象的文本表达也是有规律的。例如,以IP MASK文本表达为例。A厂商的表达式为:10.0.0.1/255.0.0.0,其本质是″IP/MASK″的格式。B厂商表达格式为:10.0.0.1255.0.0.0,其本质是″IP MASK″的格式。C厂商表达格式为:10.0.0.1-255.0.0.0,其本质是″IP-MASK″的格式。
需要说明的是,对于IP这一领域对象来说,文本表达的方式是可以枚举的,且不难发现IP的文本表达格式大致由以下几部分组成:数字″0-9″,字母:″a-f″,大写字母:″A-F″,另外由″.″或″:″随机组成。类似的思路,对于″domain″域名这一领域对象来说,可以由以下几部分组成:数字″0-9″,字母:″a-z″,大写字母:″A-Z″,另外由″.″、″:″、″/″、″-″、″_″随机组成。由于篇幅有限,对各领域对象的文本表达格式不做一一列举,本领域技术人员可以根据实际情况在确定领域对象的基础上,知晓对应的文本表达方式,此次不再赘述。
在本公开中,当现有网络场景中,存在新接入的网络设备时,其本质也是对领域对象的提取。不同的领域对象,对应不同的提取器,但是基于提取器获得的提取的结果均为领域内容,该领域内容为目标文本数据中与领域对象对应的网络参数值。例如,目标文件数据为″ip10.0.0.1value″,则提取到的领域内容仅为″10.0.0.1″,而不包括空格。
通过本公开的实施例,根据目标网络设备的领域对象的目标文本数据,确定与之对应的目标提取器,可以实现对目标文本数据中领域内容的快速提取,使得在针对不同网络设备时,只需要配置与各个网络设备相对应的提取器即可,缩短网络设备接入的时间,提高对网络设备的文本数据进行提取所消耗的时间。
作为一种可选的实施例,前述操作S220(确定与领域对象对应的目标提取器)包括:利用预先定义的模板表达式,生成与目标文件数据对应的目标表达式;基于目标表达式,确定与领域对象对应的目标提取器。
在本公开中,通过定义一套方式来解决文本数据提取的问题,显示的表达让该提取数据更直接方便。具体地,可以针对获取到的目标文件数据,将对该目标文件数据进行文本处理,将其转化为目标表达式,将目标表达式中的提取器确定为目标提取器。
表1示例性示出了一系列语法表达式。
例如,根据表1中预先定义的模板表达式中的基础表达式(用该提取器放入该方法),可以生成与目标文件数据为″ip 10.0.0.1value″所对应的目标表达式为″ip{{IP:ip}}value″。与领域对象网络地址IP所对应的目标提取器为IP提取器,该IP提取器只会提取IP这一领域对象的领域内容,当遇到空格时,而不会将空格收纳进来,即从目标文件数据提取到″10.0.0.1″,并不提取空格。
又例如,选择表达式,可以是单个数字A的类型,也可以是“A to A”的类型,因此在本公开中定义了两种类型:port和port_pair。以“port 10 to 20 30”为例,将出现的可能性通过表达式描述,如下:{{port|port_pair:port}}这样通过“|”或的方式表达。
再例如,循环表达式,可以解决多个数据循环出现的问题。以“port 10 20 30 to40 50 to 60”为例,可以使用单个port对(如30 to 40)的提取器来提取,也可以使用port对(如30 to 40)的提取器来提取,这样在配合文件模板配置可以这样表达:
“port{{#loop sep=“”“{{port|port_pair:port}}”/loop}}”
表1
需要说明的是,表1中所示的上述表达式仅是示例性的,并不是对表达式具体形式的限定。
通过本公开的实施例,利用预先定义的模板表达式,对目标文件数据进行文本处理,以获得与目标文件数据对应的目标表达式,然后再获取目标提取器,可以实现针对于同类网络设备的不同版本的模板配置,且只需要修改表现差异部分,不需再重新适配,提高方法的适用性。
作为一种可选的实施例,该方法除了可以包括前述操作S210~S230之外,还可以包括:获取预定义领域对象和自定义领域对象,自定义领域对象包括至少两个预定义领域对象;针对预定义领域对象,配置预定义提取器;针对自定义领域对象,配置自定义提取器;基于预定义提取器和自定义提取器,配置模板引擎。
需要说明的是,预定义领域对象是预先定义好的,根据不同类型的网络安全设备,定义不同的预定义领域对象。例如可以包括但不限于IP、MASK、HOST、PORT、以及ICMP。自定义领域对象可以是多个预定义领域对象的组合。例如可以是IP/MASK。在预先定义领域对象和自定义领域对象的基础上,根据网络安全设备的设备类型,获取与之对应的预定义领域对象和自定义领域对象。
根据本公开的实施例,把领域提取的对象称为提取器。对模板引擎做了预定义提取器和自定义提取器。对于预定义的提取器,认为本质上是领域对象。对于预定义的提取器增加了对IP进行提取识别的IP提取器,对MASK进行提取识别的MASK提取器,对PORT进行提取识别的PORT提取器,对数字NUMBER进行提取识别的NUMBER提取器,上述提取器可以对空格进行识别,也可以对引号进行识别,还可以对空格加引号进行识别,完成多种其他识别方式。因为本身这是领域对象,对于领域对象其实是可以确定性枚举出来。
在本公开中,对于自定义的提取器,其本质上是由预定义提取器和自定义提取器组合而成的。也就是说,可以基于自定义提取器和预定义提取器定义与多个领域对象对应的组合子,利用组合子可以提取多个领域对象的领域内容。根据本公开的实施例,利用组合子模板,完成文本数据的字符处理,加大了程序快速处理能力,使得在解析1w行文本配置时,花费100ms完成对应内容数据的快速提取。
通过本公开的实施例,由于文本数据因内容多,因此利用自定义领域对象的组合子模板的方式,可以在数据提取时通过一遍过滤,就提取出对应的数据,避免文本内容的拷贝,开销极小。
作为一种可选的实施例,前述基于目标表达式,确定与领域对象对应的目标提取器包括:基于目标表达式,从模板引擎中确定与领域对象对应的目标提取器。
在本公开中,由于在配置模板引擎中,定义了一套关于领域对象的规范。因此,可以从模板引擎中确定与领域对象对应的目标提取器。
具体地,可以利用开源库作为底层的适配引擎,利用如前所述的自定义提取器和预定义提取器,可以定义多个领域对象的组合子。技术方案的实施过程如下,当获取到如下所示的目标文本数据″ip 10.0.0.1 value″时,可以将自定义模板表达该文本数据:″ip{{IP:ip}}value″,该段表达的含义为:将IP提取器提取到的IP值放入IP方法中。因为预先定义的IP提取器只会提取IP这一领域对象对应的领域内容,当遇到空格时,该模板引擎使用的组合子不会将空格收纳进来,即仅提取″10.0.0.1″,并不提取空格,将提取之后的剩余内容返回,作为下一个提取器的输入。
通过本公开的实施例,对于模板引擎的配置文件,可以编写相应的语法,利用该语法,可以将该文本引擎提取数据,只需要关注目标数据,其他数据不需关心,可直接忽略,将所有提取内容利用配置文件,外部填充对应提取器即可。
作为一种可选的实施例,该方法在获得领域内容之后,方法还包括:检测是否能将领域内容转换为领域对象;若是,则获取与目标提取器对应的配置文件;基于配置文件,将领域内容填充至目标提取器的外部。
根据本公开的实施例,配置文件在程序外部适配,注入到程序内部,可以自动化完成程序的适配及转换工作。通过配置文件的表达,使得在新接入网络安全设备时,网络安全工程师不需要修改代码,直接通过编写配置文件的方式,将配置文件与模板引擎相适配,便可高效完成新设备数据文本内容提取,极大简化新设备接入难度及时间,降低接入成本。
根据本公开的实施例,校验该字符串是否能转换为IP对象,并将IP对象填充到IP方法中。配置文件是独立于程序外部,不用修改程序内部代码,内部代码复用性强。
通过本公开的实施例,直接通过编写配置文件,简化接入设备的复杂度。通过配置文件的表达,对新接入的网络设备不需修改代码,使得网络安全工程师,只需理解该模板引擎,便可以高效完成新设备数据文本内容提取,极大简化新设备接入难度及时间,降低接入成本。
图3示意性示出了根据本公开实施例的数据提取装置的框图。
如图3所示,该数据提取装置300包括第一获取模块310、确定模块320以及提取模块330。
第一获取模块310,用于获取目标文本数据,目标文本数据用于表征目标网络设备的领域对象,领域对象用于表征目标网络设备的网络参数。
确定模块320,用于确定与领域对象对应的目标提取器。
提取模块330,用于利用目标提取器,对目标文本数据进行数据提取,以获得领域内容,领域内容为目标文本数据中与领域对象对应的网络参数值。
作为一种可选的实施例,确定模块包括:生成子模块,用于利用预先定义的模板表达式,生成与目标文件数据对应的目标表达式;确定子模块,用于基于目标表达式,确定与领域对象对应的目标提取器。
作为一种可选的实施例,装置除了包括前述第一获取模块310、确定模块320以及提取模块330之前,还包括:第二获取模块,用于获取预定义领域对象和自定义领域对象,自定义领域对象包括至少两个预定义领域对象;第一配置模块,用于针对预定义领域对象,配置预定义提取器;第二配置模块,用于针对自定义领域对象,配置自定义提取器;第三配置模块,用于基于预定义提取器和自定义提取器,配置模板引擎。
作为一种可选的实施例,确定子模块用于:基于目标表达式,从模板引擎中确定与领域对象对应的目标提取器。
作为一种可选的实施例,在获得领域内容之后,装置还包括:检测子模块,用于检测是否能将领域内容转换为领域对象;获取子模块,用于若是,则获取与目标提取器对应的配置文件;填充子模块,用于基于配置文件,将领域内容填充至目标提取器的外部。
需要说明的是,装置部分实施例中各模块/子模块等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块310、确定模块320、提取模块330、生成子模块、确定子模块、第二获取模块、第一配置模块、第二配置模块、第三配置模块、检测子模块、获取子模块以及填充子模块中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一获取模块310、确定模块320、提取模块330、生成子模块、确定子模块、第二获取模块、第一配置模块、第二配置模块、第三配置模块、检测子模块、获取子模块以及填充子模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块310、确定模块320、提取模块330、生成子模块、确定子模块、第二获取模块、第一配置模块、第二配置模块、第三配置模块、检测子模块、获取子模块以及填充子模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图4示意性示出了根据本公开实施例的计算机可读存储介质产品的示意图。
在介绍了本公开示例性实施方式的方法和装置之后,接下来,参考图4对本公开示例性实施方式和装置的、用于实现数据提取的介质进行详细阐述。
本公开实施例提供了一种介质,存储有计算机可执行指令,上述指令在被处理单元执行时使处理单元执行上述方法实施例中任一项上述的数据提取方法。
在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在设备上运行时,所述程序代码用于使所述设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的信息发送方法中的操作(或步骤),例如,所述设备可以执行如图2中所示的操作S210~S230。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图4所示,描述了根据本公开的实施方式的数据处理的程序产品40,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、系统或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java,C++等,还包括常规的过程式程序设计语言-诸如“C”,语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)一连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
图5示意性示出了根据本公开的实施例的计算机设备500的框图。图5示出的计算机设备500仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,根据本公开实施例的电子设备500包括处理器501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。处理器501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 503中,存储有电子设备500操作所需的各种程序和数据。处理器501、ROM502以及RAM 503通过总线504彼此相连。处理器501通过执行ROM 502和/或RAM 503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 502和RAM 503以外的一个或多个存储器中。处理器501也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的操作S310,采集当前用户的操作数据,其中,所述操作数据由所述当前用户对指定账户执行身份认证操作而产生。操作S320,提取与所述操作数据对应的当前特征向量。操作S330,基于所述当前特征向量,确定所述当前用户的身份认证结果。
根据本公开的实施例,电子设备500还可以包括输入/输出(I/O)接口505,输入/输出(I/O)接口505也连接至总线504。系统500还可以包括连接至I/O接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器501执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本发明的实施例,第一获取模块310、确定模块320、提取模块330、生成子模块、确定子模块、第二获取模块、第一配置模块、第二配置模块、第三配置模块、检测子模块、获取子模块以及填充子模块中的至少一个可以实现为参考图5描述的计算机程序模块,其在被处理器510执行时,可以实现上文所述的数据提取方法。
本公开的另一方面提供了一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开还提供了一种计算机可读存储介质,根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 502和/或RAM 503和/或ROM 502和RAM 503以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (7)

1.一种数据提取方法,包括:
获取目标文本数据,所述目标文本数据用于表征目标网络设备的领域对象,所述领域对象用于表征所述目标网络设备的网络参数;
确定与所述领域对象对应的目标提取器;
利用所述目标提取器,对所述目标文本数据进行数据提取,以获得领域内容,所述领域内容为所述目标文本数据中与所述领域对象对应的网络参数值;
所述确定与所述领域对象对应的目标提取器包括:
利用预先定义的模板表达式,生成与所述目标文本数据对应的目标表达式;
基于所述目标表达式,确定与所述领域对象对应的目标提取器。
2.根据权利要求1所述的方法,其中,所述方法还包括:
获取预定义领域对象和自定义领域对象,所述自定义领域对象包括至少两个预定义领域对象;
针对所述预定义领域对象,配置预定义提取器;
针对所述自定义领域对象,配置自定义提取器;
基于所述预定义提取器和所述自定义提取器,配置模板引擎。
3.根据权利要求2所述的方法,其中,所述基于所述目标表达式,确定与所述领域对象对应的目标提取器包括:
基于所述目标表达式,从所述模板引擎中确定与所述领域对象对应的目标提取器。
4.根据权利要求1所述的方法,其中,在获得领域内容之后,所述方法还包括:
检测是否能将所述领域内容转换为所述领域对象;
若是,则获取与所述目标提取器对应的配置文件;
基于所述配置文件,将所述领域内容填充至所述目标提取器的外部。
5.一种数据提取装置,包括:
第一获取模块,用于获取目标文本数据,所述目标文本数据用于表征目标网络设备的领域对象,所述领域对象用于表征所述目标网络设备的网络参数;
确定模块,用于确定与所述领域对象对应的目标提取器;
提取模块,用于利用所述目标提取器,对所述目标文本数据进行数据提取,以获得领域内容,所述领域内容为所述目标文本数据中与所述领域对象对应的网络参数值;
其中,所述确定模块包括:
生成子模块,用于利用预先定义的模板表达式,生成与所述目标文本数据对应的目标表达式;
确定子模块,用于基于所述目标表达式,确定与所述领域对象对应的目标提取器。
6.一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如权利要求1~4中任一项所述的方法。
7.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如权利要求1~4中任一项所述的方法。
CN202010433036.4A 2020-05-20 2020-05-20 数据提取方法、装置、计算机设备、介质和程序产品 Active CN113709196B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010433036.4A CN113709196B (zh) 2020-05-20 2020-05-20 数据提取方法、装置、计算机设备、介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010433036.4A CN113709196B (zh) 2020-05-20 2020-05-20 数据提取方法、装置、计算机设备、介质和程序产品

Publications (2)

Publication Number Publication Date
CN113709196A CN113709196A (zh) 2021-11-26
CN113709196B true CN113709196B (zh) 2023-11-14

Family

ID=78645412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010433036.4A Active CN113709196B (zh) 2020-05-20 2020-05-20 数据提取方法、装置、计算机设备、介质和程序产品

Country Status (1)

Country Link
CN (1) CN113709196B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258721A (ja) * 2004-03-10 2005-09-22 Canon Inc デバイス構成情報の取得方法及び情報処理装置
US7222147B1 (en) * 2000-05-20 2007-05-22 Ciena Corporation Processing network management data in accordance with metadata files
US9311048B1 (en) * 2015-03-06 2016-04-12 Pearson Education, Inc. Electronic template generation, data extraction and response detection
CN109254992A (zh) * 2018-10-12 2019-01-22 北京京东金融科技控股有限公司 项目生成方法及系统、计算机系统和计算机可读存储介质
WO2022247420A1 (zh) * 2021-05-25 2022-12-01 中兴通讯股份有限公司 配置模板生成方法、网元配置方法及其系统、存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7609650B2 (en) * 2004-07-08 2009-10-27 Carrier Iq, Inc. Collection of data at target wireless devices using data collection profiles
US8578034B2 (en) * 2010-11-24 2013-11-05 Verizon Patent And Licensing Inc. Optimized network device discovery

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222147B1 (en) * 2000-05-20 2007-05-22 Ciena Corporation Processing network management data in accordance with metadata files
JP2005258721A (ja) * 2004-03-10 2005-09-22 Canon Inc デバイス構成情報の取得方法及び情報処理装置
US9311048B1 (en) * 2015-03-06 2016-04-12 Pearson Education, Inc. Electronic template generation, data extraction and response detection
CN109254992A (zh) * 2018-10-12 2019-01-22 北京京东金融科技控股有限公司 项目生成方法及系统、计算机系统和计算机可读存储介质
WO2022247420A1 (zh) * 2021-05-25 2022-12-01 中兴通讯股份有限公司 配置模板生成方法、网元配置方法及其系统、存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向Agent的实时数据采集器的设计与实现;何海江;电子质量(第09期);全文 *

Also Published As

Publication number Publication date
CN113709196A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
US9787558B2 (en) Identifying configuration inconsistency in edge-based software defined networks (SDN)
US9473369B2 (en) Application topology based on network traffic
US9100363B2 (en) Automatically recommending firewall rules during enterprise information technology transformation
EP3668007B1 (en) System for identifying and assisting in the creation and implementation of a network service configuration using hidden markov models (hmms)
CN113301116A (zh) 微服务应用跨网络通信方法、装置、系统及设备
JP2017509048A (ja) アンチマルウェア型モバイルコンテンツデータ管理装置及び方法
CN112187491A (zh) 服务器的管理方法、装置和设备
CN107995321A (zh) 一种vpn客户端代理dns的方法及装置
US11824715B2 (en) Configuration method, related apparatus, and system
US7526772B2 (en) Method and apparatus for transforming systems management native event formats to enable correlation
US10057291B1 (en) Comparing networking access control lists
Ribeiro et al. A bottom-up approach for extracting network intents
US20110131628A1 (en) System and method for automatically discovering security classification of hosts
CN113709196B (zh) 数据提取方法、装置、计算机设备、介质和程序产品
CN116708591A (zh) 协议转换方法、装置、电子设备和存储介质
US9172607B2 (en) Transmitting of configuration items within a network
CN115604343A (zh) 一种数据传输方法、系统、电子设备和存储介质
CN110213310A (zh) 一种网络服务的路径获取方法、装置和存储介质
CN109271310B (zh) 移动应用程序网络功能的开发测试方法和装置
Singh Implementing Cisco Networking Solutions: Configure, implement, and manage complex network designs
Mokhov et al. Automating MAC spoofer evidence gathering and encoding for investigations
CN115913824B (zh) 跨vpc的虚拟服务器通信方法及系统
CN115037572B (zh) 一种应用请求的识别方法和装置
US12003517B2 (en) Enhanced cloud infrastructure security through runtime visibility into deployed software
US20230164148A1 (en) Enhanced cloud infrastructure security through runtime visibility into deployed software

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
CB02 Change of applicant information

Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant after: Qianxin Technology Group Co.,Ltd.

Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd.

Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant before: Qianxin Technology Group Co.,Ltd.

Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant