CN110213310A - 一种网络服务的路径获取方法、装置和存储介质 - Google Patents
一种网络服务的路径获取方法、装置和存储介质 Download PDFInfo
- Publication number
- CN110213310A CN110213310A CN201810207502.XA CN201810207502A CN110213310A CN 110213310 A CN110213310 A CN 110213310A CN 201810207502 A CN201810207502 A CN 201810207502A CN 110213310 A CN110213310 A CN 110213310A
- Authority
- CN
- China
- Prior art keywords
- container assemblies
- network service
- information
- configuration file
- file
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种网络服务的路径获取方法、装置和存储介质;本发明实施例接收输入的路径获取请求;然后根据接收到的路径获取请求在当前运行的进程中识别容器组件进程;在识别到容器组件进程时,获取容器组件进程采用的配置文件;最后从该配置文件中获取容器组件进程所服务的网络服务的物理路径信息。采用本发明提供的技术方案,只需对服务器运行的进程进行识别,识别出其中的容器组件进程,进而从识别到的容器组件进程所采用的配置文件中提取出服务器部署的网络服务(也即是容器组件进程所服务的网络服务)的物理路径信息,而无需对服务器进行全盘扫描,可以快速的获取到服务器上部署的网络服务的物理路径信息。
Description
技术领域
本发明涉及互联网技术领域,具体涉及一种网络服务的路径获取方法、装置和存储介质。
背景技术
“网络服务”(或称Web服务)是一种基于互联网环境的,具有自适应、自描述、模块化并具有良好互操作能力的应用程序。随着互联网上服务的持续增加,以网络服务为中心的互联网正在悄然形成。
目前,网络服务部署在服务器对外提供功能服务,也通常是服务器被入侵的主要渠道之一,了解并识别服务器上部署的网络服务有助于了解服务器的情况,以针对性的对服务器进行运维和管理。然而,识别网络服务的前提是识别服务器上网络服务部署的物理路径,尤其是在云端的环境下,面对成千上万的服务器,如何快速的识别部署在服务器内的网络服务的物理路径,是一个亟需解决的问题。
发明内容
本发明实施例提供一种网络服务的路径获取方法、装置和存储介质,能够问答系统得到答案信息的准确度。
本发明实施例提供一种网络服务的路径获取方法,包括:
接收输入的路径获取请求;
根据所述路径获取请求在当前运行的进程中识别容器组件进程;
在识别到所述容器组件进程时,获取所述容器组件进程采用的配置文件;
从所述配置文件中获取所述容器组件进程所服务的网络服务的物理路径信息。
对应的,本发明实施例还提供了一种网络服务的路径获取装置,包括:
请求接收模块,用于接收输入的路径获取请求;
进程识别模块,用于根据所述路径获取请求在当前运行的进程中识别容器组件进程,所述容器组件进程用于为网络服务提供端口服务;
文件获取模块,用于在识别到所述容器组件进程时,获取所述容器组件进程采用的配置文件;
信息获取模块,用于从所述配置文件中获取所述容器组件进程所服务的网络服务的物理路径信息。
对应的,本发明实施例还提供一种存储介质,所述存储介质存储有指令,所述指令被处理器执行时实现本发明任一实施例提供的网络服务的路径获取方法。
本发明实施例接收输入的路径获取请求;然后根据接收到的路径获取请求在当前运行的进程中识别容器组件进程;在识别到容器组件进程时,获取容器组件进程采用的配置文件;最后从该配置文件中获取容器组件进程所服务的网络服务的物理路径信息。采用本发明提供的技术方案,只需对服务器运行的进程进行识别,识别出其中的容器组件进程,进而从识别到的容器组件进程所采用的配置文件中提取出服务器部署的网络服务(也即是容器组件进程所服务的网络服务)的物理路径信息,而无需对服务器进行全盘扫描,可以快速的获取到服务器上部署的网络服务的物理路径信息。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的路径获取系统的场景示意图。
图2a是本发明实施例提供的网络服务的路径获取方法的第一种流程示意图。
图2b是本发明实施例中服务器通过容器组件部署网络服务的示意图。
图3a是本发明实施例提供的网络服务的路径获取方法的第二种流程示意图。
图3b是本发明实施例中终端在信息展示界面展示服务信息的示例图。
图4是本发明实施例提供的网络服务的路径获取装置的结构示意图。
图5是本发明实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种路径获取系统,该路径获取系统包括本发明实施例提供的任一网络服务的路径获取装置,该网络服务的路径获取装置可以集成在具备存储器并安装有处理器而具有运算能力的服务器中。
请参照图1,本发明实施例提供的路径获取系统,包括:服务器10和终端20,服务器10与终端20通过网络30连接。其中,网络30中包括路由器、网关等等网络实体,图1中并未一一示意出。终端20可以通过有线网络或无线网络与服务器10进行信息交互,比如,终端20可以接收使用者输入的路径获取请求,并将该路径获取请求传输至服务器10;服务器10接收到输入的路径获取请求之后,根据该路径获取请求获取到当前部署的网络服务的物理路径信息,并将获取到的网络服务的物理路径信息返回至终端20。
基于上述图1所示的路径获取系统,服务器10可以通过网络30接收终端20输入的路径获取请求;根据接收到的路径获取请求在当前运行的进程中识别容器组件进程;在识别到容器组件进程时,获取容器组件进程采用的配置文件;从该配置文件中获取容器组件进程所服务的网络服务的物理路径信息;之后,服务器10可以将得到的网络服务的物理路径信息通过网络30返回至终端20。
需要说明的是,上述图1示出的仅是实现本发明实施例的一个系统架构实例,本发明实施例并不限于上述图1所示的系统架构,基于该系统架构,提出本发明各个实施例。
在本实施例中,将从网络服务的路径获取装置的角度进行描述,该网络服务的路径获取装置具体可以集成在服务器中。
一种网络服务的路径获取方法,包括:接收输入的路径获取请求;根据接收到的路径获取请求在当前运行的进程中识别容器组件进程;在识别到容器组件进程时,获取容器组件进程采用的配置文件;从该配置文件中获取容器组件进程所服务的网络服务的物理路径信息。
请参照图2a,图2a是本发明实施例提供的网络服务的路径获取方法的流程示意图,如图2a所示,该网络服务的路径获取方法包括:
在步骤101中,接收输入的路径获取请求。
其中,可以通过多种不同的方式向服务器输入路径获取请求,该路径获取请求用于指示服务器获取其当前部署的网络服务(或称Web服务)的物理路径信息。比如,可以通过输入设备(如连接至服务器的键盘、鼠标等)直接向服务器输入路径获取请求;又比如,可以通过与服务器建立通讯连接的终端,向服务器输入路径获取请求。
需要说明的是,虽然服务器能够部署各种各样的网络服务,从而对外提供各种不同形式的功能服务,尽管这些网络服务对外的展现形式不尽相同,但其在服务器上均是以执行文件(包括文本文件、图像文件以及音视频文件等各类型文件)的形式进行部署,通常的,同一网络服务对应的所有执行文件位于同一文件目录中。比如,互联网中五花八门的各类网站就是一种网络服务,网站在服务器上就是以文本文件、图像文件以及音视频文件等执行文件的形式存在。
本发明实施例中,网络服务的物理路径信息也即是网络服务的执行文件的物理路径信息。
在步骤102中,根据接收到的路径获取请求在当前运行的进程中识别容器组件进程;
需要说明的是,请参照图2b,网络服务的部署离不开容器组件,容器组件为网络服务提供所需的运行环境,而网络服务需要部署到容器组件中才能运行。其中,容器组件通常还称作Web容器、网络容器或者Web Container等,其实质上也是一种应用程序,如Nginx、Tomcat、Apache以及IIS等,在服务器一个端口就有一个提供相应服务的容器组件,用于处理来自外部的请求。
换言之,服务器上若部署有网络服务,则必然存在为其服务的容器组件,因此,在本发明实施例中,可以首先识别当前是否存在运行的容器组件。
其中,在识别当前是否存在运行的容器组件时,可以遍历当前运行的所有进程,识别当前运行的所有进程中是否存在容器组件进程,若识别到,则说明当前识别到的容器组件进程所对应的容器组件。
具体的,本发明实施例中预先设置容器组件与进程名的映射关系,从而根据该映射关系在当前运行的所有进程中识别容器组件进程。
比如,以Apache为例,在服务器的操作系统为Windows系统时,Apache运行时的进程名为httpd.exe,则将Apache与进程名“httpd.exe”关联;在识别容器组件进程时,若识别到当前运行的所有进程中存在进程名为“httpd.exe”的进程,也即是识别到进程名为“httpd.exe”的容器组件进程,说明当前运行的容器组件为Apache;在服务器的操作系统为Linux系统时,Apache运行时的进程名为httpd,则将Apache与进程名“httpd”关联;在识别容器组件进程时,若识别到当前运行的所有进程中存在进程名为“httpd”的进程,也即是识别到进程名为“httpd”的容器组件进程,说明当前运行的容器组件为Apache。
在步骤103中,在识别到容器组件进程时,获取该容器组件进程采用的配置文件;
需要的说明是,网络服务的部署少不了容器组件,通过容器组件来提供不同端口的网络服务,而容器组件需要通过配置文件进行运行环境配置,从而为部署的网络服务提供所需的运行环境,该配置文件中即配置有网络服务对应的执行文件所在目录的物理路径信息。
因此,本发明实施例中,在识别到当前运行的进程中存在容器组件进程时,进一步获取该容器组件进程采用的配置文件,也即是容器组件进程对应的容器组件所采用的配置文件。
在一个可选的实施方式中,获取该容器组件进程采用的配置文件,包括以下步骤:
获取容器组件进程对应的执行文件的物理路径信息;
根据该执行文件的物理路径信息、在该执行文件所在的目录中查找容器组件进程采用的配置文件。
需要说明的是,容器组件进程采用的配置文件通常位于该容器组件进程对应的执行文件所在的目录中。因此,在获取容器组件进程采用的配置文件时,可以首先获取到容器组件进程对应的执行文件的物理路径信息,根据该物理路径信息确定容器组件进程对应的执行文件所在的目录,进而在该目录中查找容器进程采用的配置文件。
其中,在获取容器组件进程对应的执行文件的物理路径信息,可以首先获取到该容器组件进程的进程信息,再从获取到的进程信息中提取出该容器组件进程对应的执行文件的物理路径信息。
比如:以容器组件为Nginx为例,在服务器的操作系统为Windows系统时,Nginx对应进程名为“nginx.exe”的进程,在识别到进程名为“nginx.exe”的容器组件进程之后,获取到该容器组件进程的进程信息,并从获取到的进程信息中提取出容器组件进程“nginx.exe”对应的执行文件的物理路径信息:C:\nginx\bin\nginx.exe,最后从C:\nginx\bin\nginx.exe对应的目录中逐级查找到容器组件进程“nginx.exe”采用的配置文件,也即是容器组件“Nginx”采用的配置文件;在服务器的操作系统为Linux系统时,Nginx对应进程名为“nginx”的进程,在识别到进程名为“nginx”的容器组件进程之后,获取到该容器组件进程的进程信息,并从获取到的进程信息中提取出容器组件进程“nginx”对应的执行文件的物理路径信息:/usr/bin/nginx,最后从/usr/bin/nginx对应的目录中逐级查找到容器组件进程“nginx”采用的配置文件,也即是容器组件“Nginx”采用的配置文件。
在另一个可选的实施方式中,获取该容器组件进程采用的配置文件,包括以下步骤:
获取容器组件进程采用的配置文件的物理路径信息;
根据该配置文件的物理路径信息获取到该配置文件。
需要说明的是,为了更准确快速的获取到容器组件进程采用的配置文件,可以先获取到容器组件进程采用的配置文件的物理路径信息,再根据该物理路径信息直接提取到容器组件进程所采用的配置文件。
可具体的,在一个可选的实施方式中,获取容器组件进程采用的配置文件的物理路径信息,包括以下步骤:
获取容器组件进程的进程信息;
从获取到进程信息中提取取容器组件进程采用的配置文件的物理路径信息。
需要说明的是,容器进程组件的进程信息通常包括了该容器组件进程所采用的配置文件的物理路径信息。因此,在获取容器组件进程采用的配置文件的物理路径信息时,可以首先获取到容器组件进程的进程信息,再从获取到的进程信息中提取出该容器组件进程采用的配置文件的物理路径信息。
其中,可以在识别容器组件进程的同时,一并获取到容器组件进程的进程信息,并将该容器组件进程的进程信息缓存至预设的缓存区中。需要说明的是,对于前述缓存区的大小以及路径等设置,本发明实施例不做具体限定,可由本领域技术人员根据实际需要进行设置。
在服务器的操作系统为Windows系统时,可以执行命令行命令“wmic process”来得到服务器当前运行的所有进程的进程名以及其对应的进程信息,之后通过进程名来识别当前运行的所有进程中是否存在容器组件进程,若识别到,则将该容器组件进程的进程信息缓存至缓存区中;在获取该容器组件进程采用的配置文件的物理路径信息时,从缓存区中提取出该容器组件进程的进程信息,在从提取出的进程信息中进一步提取出该容器组件进程采用的配置文件的物理路径信息。比如,以容器组件为Nginx为例,Nginx对应进程名为“nginx.exe”的进程,在识别到进程名为“nginx.exe”的容器组件进程之后,获取到该容器组件进程的进程信息,包括如下字段:
C:\nginx\bin\nginx.exe-c C:\nginx\conf\nginx.conf
而容器组件Nginx的采用的配置文件的名称为“nginx.conf”,此时从上述进程信息的字段中提取出其采用的配置文件的物理路径信息:“C:\nginx\conf\nginx.conf”。
在服务器的操作系统为Linux系统时,可以执行命令行命令“PS”来得到服务器当前运行的所有进程的进程名以及其对应的进程信息,之后通过进程名来识别当前运行的所有进程中是否存在容器组件进程,若识别到,则将该容器组件进程的进程信息缓存至缓存区中;在获取该容器组件进程采用的配置文件的物理路径信息时,从缓存区中提取出该容器组件进程的进程信息,在从提取出的进程信息中进一步提取出该容器组件进程采用的配置文件的物理路径信息。比如,以容器组件为Apache为例,Apache对应进程名为“httpd”的进程,在识别到进程名为“httpd”的容器组件进程之后,获取到该容器组件进程的进程信息,包括如下字段:
/usr/bin/httpd/apache_home/conf/httpd.conf
而容器组件Apache的采用的配置文件的名称为“httpd.conf”,此时从上述进程信息的字段中提取出其采用的配置文件的物理路径信息:“/apache_home/conf/httpd.conf”。
可具体的,在另一个可选的实施方式中,获取容器组件进程采用的配置文件的物理路径信息,包括以下步骤:
获取容器组件进程对应的执行文件的物理路径信息;
基于该执行文件的物理路径信息,执行对应容器组件进程的预设指令,得到结果信息;
从得到的结果信息中提取容器组件进程采用的配置文件的物理路径信息。
其中,在获取容器组件进程对应的执行文件的物理路径信息,可以首先获取到该容器组件进程的进程信息,再从获取到的进程信息中提取出该容器组件进程对应的执行文件的物理路径信息。
在获取到容器组件进程对应的执行文件的物理路径信息之后,基于该执行文件的物理路径信息,执行对应容器组件进程的预设指令,得到结果信息。其中,前述预设指令为容器组件进程对应的容器组件的自带命令。
比如:以容器组件为Nginx为例,在服务器的操作系统为Linux系统时,Nginx对应进程名为“nginx”的进程,在识别到进程名为“nginx”的容器组件进程之后,获取到该容器组件进程对应的执行文件的物理路径信息为:/usr/bin/nginx,之后结合该物理路径信息执行对应Nginx的预设指令“-t”,t表示测试,也即是执行命令行命令“/usr/bin/nginx-t”,此时得到的结果信息为:
nginx:the configuration file/etc/nginx/nginx.conf syntax is ok
nginx:configuration file/etc/nginx/nginx.conf test is successful
而容器组件Nginx的采用的配置文件的名称为“nginx.conf”,此时从上述结果信息的字段中提取出容器组件Nginx采用的配置文件的物理路径信息:“/etc/nginx/nginx.conf”。
在步骤104中,从获取到的配置文件中获取容器组件进程所服务的网络服务的物理路径信息。
本发明实施例中,在获取到容器组件进程所采用的配置文件之后,即可从该配置文件中提取出容器组件进程所服务的网络服务的物理路径信息,也即是部署容器组件进程对应的容器组件之中的网络服务的物理路径信息。
可具体的,从获取到的配置文件中获取容器组件进程所服务的网络服务的物理路径信息,包括:
获取对应前述配置文件的解析规则;
根据获取到解析规则对前述配置文件进行解析,从前述配置文件的配置内容中提取前述网络服务的物理路径信息。
需要说明的是,通常的,对应不同容器类型的容器组件(比如,Apache、Nginx、IIS以及Tomcat等)的配置文件的格式不同,需要采用不同的解析规则来对不同容器组件的配置文件进行解析。
可具体的,获取对应前述配置文件的解析规则,包括:
获取容器组件进程的容器类型信息;
根据获取到的容器类型信息以及预设的容器类型信息与解析规则的关联关系,获取前述容器类型信息关联的解析规则;
将获取到解析规则作为对应前述配置文件的解析规则。
本发明实施例中,采用容器类型信息来表示不同的容器组件,预先设置对应不同容器类型容器组件的配置文件的解析规则,将设置的解析规则与其对应的容器类型信息相关联,得到容器类型信息与解析规则之间的关联关系。
在获取对应前述配置文件的解析规则时,即可根据之前设置的关联关系进行获取。
在获取到对应前述配置文件的解析规则之后,根据获取到的解析规则对前述配置文件进行解析,从前述配置文件的配置内容中提取出前述网络服务的物理路径信息。
其中,解析规则可以由本领域技术人员根据实际需要进行设置,本发明实施例不做具体限定。
比如,以容器组件为Nginx为例,设置对应Nginx的配置文件的解析规则为:逐行分析配置文件的各字段,查找“root”字段,Nginx服务的网络服务的物理路径信息就在“root”字段之后;若在Nginx的配置文件中查找到以下字段:
root/data0/abc;
此时可从上述字段中提取出Nginx服务的网络服务的物理路径信息:“/data0/abc”;
又比如,以容器组件为Apache为例,设置对应Apache的配置文件的解析规则为:逐行分析配置文件的各字段,查找“DocumentRoot”字段,Apache服务的网络服务的物理路径信息就在“DocumentRoot”字段之后;若在Apache的配置文件中查找到以下字段:
DocumentRoot“/mnt/Document/html”;
此时可从上述字段中提取出Apache服务的网络服务的物理路径信息:“/mnt/Document/html”。
在一实施例中,从前述配置文件的配置内容中提取网络服务的物理路径信息之后,还包括:
在提取前述网络服务的物理路径信息失败时,获取前述配置文件中指向其它配置文件的物理路径信息;
根据该指向其它配置文件的物理路径信息、获取该其它配置文件;
从该其它配置文件中获取前述网络服务的物理路径信息。
需要说明的是,在实际使用中,还存在容器组件进程采用一个主配置文件,再从主配置文件中调用其它配置文件的情况,这就导致主配置文件中不一定配置有容器组件进程服务的网络服务的物理路径信息。为解决此问题,在前述配置文件的配置内容未提取到前述网络服务的物理路径信息,也即是提取前述网络服务的物理路径信息失败时,进一步获取前述配置文件中指向其它配置文件的物理路径信息;然后根据该指向其它配置文件的物理路径信息、获取到该其它配置文件;最后从获取到的该其它配置文件中提取出前述网络服务的物理路径信息
由上可知,本申请实施例提供的网络服务的路径获取方法,首先接收输入的路径获取请求;然后根据接收到的路径获取请求在当前运行的进程中识别容器组件进程;在识别到容器组件进程时,获取容器组件进程采用的配置文件;最后从该配置文件中获取容器组件进程所服务的网络服务的物理路径信息。采用本发明提供的技术方案,只需对服务器运行的进程进行识别,识别出其中的容器组件进程,进而从识别到的容器组件进程所采用的配置文件中提取出服务器部署的网络服务(也即是容器组件进程所服务的网络服务)的物理路径信息,而无需对服务器进行全盘扫描,可以快速的获取到服务器上部署的网络服务的物理路径信息。
在一实施例中,以服务器接收来自终端的路径获取请求为例,来详细介绍本发明提供的网络服务的路径获取方法。
在本实施例中,将从路径获取系统的角度进行描述,其中该路径获取系统包括终端、网络和服务器,终端用于接收用户输入的服务识别请求,并根据接收到的服务识别请求生成路径获取请求,将接收到路径获取请求通过网络传输至服务器;服务器用于根据接收到的路径获取请求在当前运行的进程中识别容器组件进程;还用于在识别到容器组件进程时,获取容器组件进程采用的配置文件;还用于从该配置文件中获取容器组件进程所服务的网络服务的物理路径信息,将获取到的该物理路径信息通过网络返回至终端;终端根据服务器返回的物理路径信息,识别出服务器当前部署的网络服务。
具体的,请结合参照图3a,图3a为本实施例的流程示意图,该网络服务的路径获取方法的具体流程如下:
在步骤201中,终端接收使用者输入的服务识别请求,并根据接收到的服务识别请求生成路径获取请求。
本发明实施例中,使用者可以根据实际使用向终端输入服务识别请求,该服务识别请求指示终端对指示的服务器所部署的网络服务进行识别。比如,使用者可以提供与终端连接的输入设备(如鼠标、键盘等)直接输入服务识别请求。
终端在接收到使用者输入的服务识别请求之后,根据该服务识别请求按照预定的报文格式构建路径获取请求,该路径获取请求用于指示服务器返回其当前部署的网络服务的物理路径信息。
在步骤202中,终端通过网络将生成的路径获取请求传输至服务器。
其中,网络包括路由器、网关等等网络实体,用于实现终端和服务器之间的信息交互,可以是有线网络,也可以是无线网络。
在步骤203中,服务器根据接收到的路径获取请求在当前运行的进程中识别容器组件进程。
需要说明的是,虽然服务器能够部署各种各样的网络服务,从而对外提供各种不同形式的功能服务,尽管这些网络服务对外的展现形式不尽相同,但其在服务器上均是以执行文件(包括文本文件、图像文件以及音视频文件等各类型文件)的形式进行部署,通常的,同一网络服务对应的所有执行文件位于同一文件目录中。比如,互联网中五花八门的各类网站就是一种网络服务,网站在服务器上就是以文本文件、图像文件以及音视频文件等执行文件的形式存在。
请参照图2b,网络服务的部署离不开容器组件,容器组件为网络服务提供所需的运行环境,而网络服务需要部署到容器组件中才能运行。其中,容器组件通常还称作Web容器、网络容器或者Web Container等,其实质上也是一种应用程序,如Nginx、Tomcat、Apache以及IIS等,在服务器一个端口就有一个提供相应服务的容器组件,用于处理来自外部的请求。
换言之,服务器上若部署有网络服务,则必然存在为其服务的容器组件,因此,在本发明实施例中,可以首先识别当前是否存在运行的容器组件。
其中,在识别当前是否存在运行的容器组件时,可以遍历当前运行的所有进程,识别当前运行的所有进程中是否存在容器组件进程,若识别到,则说明当前识别到的容器组件进程所对应的容器组件。
具体的,本发明实施例中预先设置容器组件与进程名的映射关系,从而根据该映射关系在当前运行的所有进程中识别容器组件进程。
比如,以Apache为例,在服务器的操作系统为Windows系统时,Apache运行时的进程名为httpd.exe,则将Apache与进程名“httpd.exe”关联;在识别容器组件进程时,若识别到当前运行的所有进程中存在进程名为“httpd.exe”的进程,也即是识别到进程名为“httpd.exe”的容器组件进程,说明当前运行的容器组件为Apache;在服务器的操作系统为Linux系统时,Apache运行时的进程名为httpd,则将Apache与进程名“httpd”关联;在识别容器组件进程时,若识别到当前运行的所有进程中存在进程名为“httpd”的进程,也即是识别到进程名为“httpd”的容器组件进程,说明当前运行的容器组件为Apache。
在步骤204中,服务器在识别到容器组件进程时,获取容器组件进程的进程信息。
需要的说明是,网络服务的部署少不了容器组件,通过容器组件来提供不同端口的网络服务,而容器组件需要通过配置文件进行运行环境配置,从而为部署的网络服务提供所需的运行环境,该配置文件中即配置有网络服务对应的执行文件所在目录的物理路径信息。
因此,本发明实施例中,在识别到当前运行的进程中存在容器组件进程时,进一步获取该容器组件进程采用的配置文件,也即是容器组件进程对应的容器组件所采用的配置文件。
需要说明的是,容器进程组件的进程信息通常包括了该容器组件进程所采用的配置文件的物理路径信息。因此,在获取容器组件进程采用的配置文件的物理路径信息时,可以首先获取到容器组件进程的进程信息,再从获取到的进程信息中提取出该容器组件进程采用的配置文件的物理路径信息。
在步骤205中,服务器从获取到的进程信息中提取容器组件进程采用的配置文件的物理路径信息。
其中,可以在识别容器组件进程的同时,一并获取到容器组件进程的进程信息,并将该容器组件进程的进程信息缓存至预设的缓存区中。需要说明的是,对于前述缓存区的大小以及路径等设置,本发明实施例不做具体限定,可由本领域技术人员根据实际需要进行设置。
在服务器的操作系统为Windows系统时,可以执行命令行命令“wmic process”来得到服务器当前运行的所有进程的进程名以及其对应的进程信息,之后通过进程名来识别当前运行的所有进程中是否存在容器组件进程,若识别到,则将该容器组件进程的进程信息缓存至缓存区中;在获取该容器组件进程采用的配置文件的物理路径信息时,从缓存区中提取出该容器组件进程的进程信息,在从提取出的进程信息中进一步提取出该容器组件进程采用的配置文件的物理路径信息。比如,以容器组件为Nginx为例,Nginx对应进程名为“nginx.exe”的进程,在识别到进程名为“nginx.exe”的容器组件进程之后,获取到该容器组件进程的进程信息,包括如下字段:
C:\nginx\bin\nginx.exe-c C:\nginx\conf\nginx.conf
而容器组件Nginx的采用的配置文件的名称为“nginx.conf”,此时从上述进程信息的字段中提取出其采用的配置文件的物理路径信息:“C:\nginx\conf\nginx.conf”。
在服务器的操作系统为Linux系统时,可以执行命令行命令“PS”来得到服务器当前运行的所有进程的进程名以及其对应的进程信息,之后通过进程名来识别当前运行的所有进程中是否存在容器组件进程,若识别到,则将该容器组件进程的进程信息缓存至缓存区中;在获取该容器组件进程采用的配置文件的物理路径信息时,从缓存区中提取出该容器组件进程的进程信息,在从提取出的进程信息中进一步提取出该容器组件进程采用的配置文件的物理路径信息。比如,以容器组件为Apache为例,Apache对应进程名为“httpd”的进程,在识别到进程名为“httpd”的容器组件进程之后,获取到该容器组件进程的进程信息,包括如下字段:
/usr/bin/httpd/apache_home/conf/httpd.conf
而容器组件Apache的采用的配置文件的名称为“httpd.conf”,此时从上述进程信息的字段中提取出其采用的配置文件的物理路径信息:“/apache_home/conf/httpd.conf”。
在步骤206中,服务器根据前述配置文件的物理路径信息获取前述配置文件。
服务器在获取到容器组件进程采用的配置文件的物理路径信息之后,即可根据该物理路径信息直接提取到容器组件进程所采用的配置文件。
在步骤207中,服务器根据对应前述配置文件的解析规则对前述配置文件进行解析,从配置文件的配置内容中提取容器组件进程所服务的网络服务的物理路径信息。
需要说明的是,通常的,对应不同容器类型的容器组件(比如,Apache、Nginx、IIS以及Tomcat等)的配置文件的格式不同,需要采用不同的解析规则来对不同容器组件的配置文件进行解析。
本发明实施例中,采用容器类型信息来表示不同的容器组件,预先设置对应不同容器类型容器组件的配置文件的解析规则,将设置的解析规则与其对应的容器类型信息相关联,得到容器类型信息与解析规则之间的关联关系。
在获取对应前述配置文件的解析规则时,即可根据之前设置的关联关系进行获取。
在获取到对应前述配置文件的解析规则之后,根据获取到的解析规则对前述配置文件进行解析,从前述配置文件的配置内容中提取出前述网络服务的物理路径信息。
其中,解析规则可以由本领域技术人员根据实际需要进行设置,本发明实施例不做具体限定。
比如,以容器组件为Nginx为例,设置对应Nginx的配置文件的解析规则为:逐行分析配置文件的各字段,查找“root”字段,Nginx服务的网络服务的物理路径信息就在“root”字段之后;若在Nginx的配置文件中查找到以下字段:
root/data0/abc;
此时可从上述字段中提取出Nginx服务的网络服务的物理路径信息:“/data0/abc”;
又比如,以容器组件为Apache为例,设置对应Apache的配置文件的解析规则为:逐行分析配置文件的各字段,查找“DocumentRoot”字段,Apache服务的网络服务的物理路径信息就在“DocumentRoot”字段之后;若在Apache的配置文件中查找到以下字段:
DocumentRoot“/mnt/Document/html”;
此时可从上述字段中提取出Apache服务的网络服务的物理路径信息:“/mnt/Document/html”。
在步骤208中,服务器将前述网络服务的物理路径信息通过网络传输至终端。
比如,在一个可选的实施方式中,服务器可以将网络服务的物理路径信息按照与终端约定的加解密方式加密后,传输至终端;又比如,在另一个可选的实施方式中,服务器可以将网络服务的物理路径信息以明文的方式传输至终端。
在步骤209中,终端根据来自服务器的物理路径信息,获取服务器部署的前述网络服务的服务信息。
终端在接收到来自服务器的物理路径信息之后,即可根据接收的物理路径信息获取服务器部署的前述网络服务的服务信息,该服务信息用于描述服务器所部署的网络服务的类型。
比如,终端接收到服务器传输的网络服务的物料路径信息为“/mnt/Document/html”,即可根据其中的“html”字段获取到服务器当前部署的网络服务的服务信息“网站服务”,即该服务器当前部署有网站服务(如新闻网站、视频网站以及门户网站等)。
在步骤210中,终端展示获取到的服务信息。
其中,终端可以显示信息展示界面,并在该信息展示界面中展示获取到的服务信息,也即是服务器当前部署的网络服务的服务信息。
比如,请参照图3b,终端在信息展示界面中展示获取到的服务信息“服务器当前部署有网站服务”。
为了便于更好的实施本发明实施例提供的网络服务的路径获取方法,在一实施例中还提供了一种网络服务的路径获取装置。其中名词的含义与上述网络服务的路径获取方法中相同,具体实现细节可以参考方法实施例中的说明。
在一实施例中,还提供了一种网络服务的路径获取装置,如图4所示,该网络服务的路径获取装置300可以包括:请求接收模块301、进程识别模块302、文件获取模块303以及信息获取模块304;
请求接收模块301,用于接收输入的路径获取请求;
进程识别模块302,用于根据接收到的路径获取请求在当前运行的进程中识别容器组件进程;
文件获取模块303,用于在进程识别模块302识别到容器组件进程时,获取容器组件进程采用的配置文件;
信息获取模块304,用于从配置文件中获取容器组件进程所服务的网络服务的物理路径信息。
在一实施例中,文件获取模块303具体用于:
获取容器进程采用的配置文件的物理路径信息;
根据配置文件的物理路径信息获取配置文件。
在一实施例中,文件获取模块303还具体用于:
获取容器组件进程的进程信息;
从获取到的进程信息中提取容器组件进程采用的配置文件的物理路径信息。
在一实施例中,文件获取模块303还具体用于:
获取容器组件进程对应的执行文件的物理路径信息;
基于容器组件进程对应的执行文件的物理路径信息,执行对应容器组件进程的预设指令,得到结果信息;
从得到的结果信息中提取容器组件进程采用的配置文件的物理路径信息。
在一实施例中,文件获取模块303还具体用于:
获取容器组件进程对应的执行文件的物理路径信息;
根据容器组件进程对应的执行文件的物理路径信息、在容器组件进程对应的执行文件所在的目录中查找容器组件进程采用的配置文件。
在一实施例中,信息获取模块304具体用于:
获取对应容器组件进程采用的配置文件的解析规则;
根据获取到的解析规则对容器组件进程采用的配置文件进行解析,从容器组件进程采用的配置文件的配置内容中、提取容器组件进程服务的网络服务的物理路径信息。
在一实施例中,文件获取模块303还用于:
在信息获取模块304提取前述网络服务的物理路径信息失败时,获取前述配置文件中指向其它配置文件的物理路径信息;
根据该指向其它配置文件的物理路径信息、获取该其它配置文件;
信息获取模块304还用于:
从该其它配置文件中获取前述网络服务的物理路径信息。
在一实施例中,信息获取模块304还用于:
获取容器组件进程的容器类型信息;
根据容器类型信息以及预设的容器类型信息与解析规则的关联关系,获取容器类型信息关联的解析规则;
将获取到解析规则作为对应前述配置文件的解析规则。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本发明实施例提供的网络服务的路径获取装置采用请求接收模块301接收输入的路径获取请求;进程识别模块302根据接收到的路径获取请求在当前运行的进程中识别容器组件进程;文件获取模块303在进程识别模块302识别到容器组件进程时,获取容器组件进程采用的配置文件;信息获取模块304从配置文件中获取容器组件进程所服务的网络服务的物理路径信息。采用本发明提供的技术方案,只需对服务器运行的进程进行识别,识别出其中的容器组件进程,进而从识别到的容器组件进程所采用的配置文件中提取出服务器部署的网络服务(也即是容器组件进程所服务的网络服务)的物理路径信息,而无需对服务器进行全盘扫描,可以快速的获取到服务器上部署的网络服务的物理路径信息。
参考图5,本发明实施例提供了一种服务器,可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、射频(Radio Frequency,RF)电路403、电源404、输入单元405、以及显示单元406等部件。本领域技术人员可以理解,图5中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。
RF电路403可用于收发信息过程中,信号的接收和发送。
服务器还包括给各个部件供电的电源404(比如电池),优选的,电源可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
该服务器还可包括输入单元405,该输入单元405可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该服务器还可包括显示单元406,该显示单元406可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
接收输入的路径获取请求;
根据接收到的路径获取请求在当前运行的进程中识别容器组件进程;
在识别到容器组件进程时,获取容器组件进程采用的配置文件;
从该配置文件中获取容器组件进程所服务的网络服务的物理路径信息。
网络服务的路径获取方法的详细步骤介绍可以参考上述方法实例的描述,这里不再赘述。
由上可知,本发明实施例服务器可以接收输入的路径获取请求;然后根据接收到的路径获取请求在当前运行的进程中识别容器组件进程;在识别到容器组件进程时,获取容器组件进程采用的配置文件;最后从该配置文件中获取容器组件进程所服务的网络服务的物理路径信息。采用本发明提供的技术方案,只需对服务器运行的进程进行识别,识别出其中的容器组件进程,进而从识别到的容器组件进程所采用的配置文件中提取出服务器部署的网络服务(也即是容器组件进程所服务的网络服务)的物理路径信息,而无需对服务器进行全盘扫描,可以快速的获取到服务器上部署的网络服务的物理路径信息。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种网络服务的路径获取方法、装置和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种网络服务的路径获取方法,其特征在于,包括:
接收输入的路径获取请求;
根据所述路径获取请求在当前运行的进程中识别容器组件进程;
在识别到所述容器组件进程时,获取所述容器组件进程采用的配置文件;
从所述配置文件中获取所述容器组件进程所服务的网络服务的物理路径信息。
2.如权利要求1所述的网络服务的路径获取方法,其特征在于,获取所述容器组件进程采用的配置文件,包括:
获取所述配置文件的物理路径信息;
根据所述配置文件的物理路径信息获取所述配置文件。
3.如权利要求2所述的网络服务的路径获取方法,其特征在于,获取所述配置文件的物理路径信息,包括:
获取所述容器组件进程的进程信息;
从所述进程信息中提取所述配置文件的物理路径信息。
4.如权利要求2所述的网络服务的路径获取方法,其特征在于,获取所述配置文件的物理路径信息,包括:
获取所述容器组件进程对应的执行文件的物理路径信息;
基于所述执行文件的物理路径信息,执行对应所述容器组件进程的预设指令,得到结果信息;
从得到的所述结果信息中提取所述配置文件的物理路径信息。
5.如权利要求1所述的网络服务的路径获取方法,其特征在于,获取所述容器组件进程采用的配置文件,包括:
获取所述容器组件进程对应的执行文件的物理路径信息;
根据所述执行文件的物理路径信息、在所述执行文件所在的目录中查找所述配置文件。
6.如权利要求1-5任一项所述的网络服务的路径获取方法,其特征在于,从所述配置文件中获取所述容器组件进程所服务的网络服务的物理路径信息,包括:
获取对应所述配置文件的解析规则;
根据所述解析规则对所述配置文件进行解析,从所述配置文件的配置内容中提取所述网络服务的物理路径信息。
7.如权利要求6所述的网络服务的路径获取方法,其特征在于,从所述配置文件的配置内容中提取所述网络服务的物理路径信息之后,还包括:
在提取所述网络服务的物理路径信息失败时,获取所述配置文件中指向其它配置文件的物理路径信息;
根据所述指向其它配置文件的物理路径信息、获取所述其它配置文件;
从所述其它配置文件中获取所述网络服务的物理路径信息。
8.如权利要求6所述的网络服务的路径获取方法,其特征在于,获取对应所述配置文件的解析规则,包括:
获取所述容器组件进程的容器类型信息;
根据所述容器类型信息以及预设的容器类型信息与解析规则的关联关系,获取所述容器类型信息关联的解析规则;
将获取到解析规则作为对应所述配置文件的解析规则。
9.一种网络服务的路径获取装置,其特征在于,包括:
请求接收模块,用于接收输入的路径获取请求;
进程识别模块,用于根据所述路径获取请求在当前运行的进程中识别容器组件进程,所述容器组件进程用于为网络服务提供端口服务;
文件获取模块,用于在识别到所述容器组件进程时,获取所述容器组件进程采用的配置文件;
信息获取模块,用于从所述配置文件中获取所述容器组件进程所服务的网络服务的物理路径信息。
10.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至8任一项所述的网络服务的路径获取方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810207502.XA CN110213310B (zh) | 2018-03-14 | 2018-03-14 | 一种网络服务的路径获取方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810207502.XA CN110213310B (zh) | 2018-03-14 | 2018-03-14 | 一种网络服务的路径获取方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110213310A true CN110213310A (zh) | 2019-09-06 |
CN110213310B CN110213310B (zh) | 2021-11-30 |
Family
ID=67778791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810207502.XA Active CN110213310B (zh) | 2018-03-14 | 2018-03-14 | 一种网络服务的路径获取方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213310B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733148A (zh) * | 2021-01-12 | 2021-04-30 | 北京旋极安辰计算科技有限公司 | 一种基于Java的可信策略自动适配的方法 |
CN113806304A (zh) * | 2021-08-23 | 2021-12-17 | 北京天融信网络安全技术有限公司 | 一种获取软件文件路径的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138558A1 (en) * | 2008-11-28 | 2010-06-03 | International Business Machines Corporation | System, device, method and computer-readable medium for providing network service information |
CN102404149A (zh) * | 2011-11-23 | 2012-04-04 | 华为技术有限公司 | 一种业务特性的管理系统和方法 |
CN102546683A (zh) * | 2010-12-10 | 2012-07-04 | 厦门市美亚柏科信息股份有限公司 | 一种主机域名收集方法和装置 |
CN104182418A (zh) * | 2013-05-27 | 2014-12-03 | 阿里巴巴集团控股有限公司 | 节点元数据获取方法与装置 |
CN104937581A (zh) * | 2013-01-31 | 2015-09-23 | 高通股份有限公司 | 横跨多个计算装置提供对信息的接入 |
-
2018
- 2018-03-14 CN CN201810207502.XA patent/CN110213310B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138558A1 (en) * | 2008-11-28 | 2010-06-03 | International Business Machines Corporation | System, device, method and computer-readable medium for providing network service information |
CN102546683A (zh) * | 2010-12-10 | 2012-07-04 | 厦门市美亚柏科信息股份有限公司 | 一种主机域名收集方法和装置 |
CN102404149A (zh) * | 2011-11-23 | 2012-04-04 | 华为技术有限公司 | 一种业务特性的管理系统和方法 |
CN104937581A (zh) * | 2013-01-31 | 2015-09-23 | 高通股份有限公司 | 横跨多个计算装置提供对信息的接入 |
CN104182418A (zh) * | 2013-05-27 | 2014-12-03 | 阿里巴巴集团控股有限公司 | 节点元数据获取方法与装置 |
Non-Patent Citations (1)
Title |
---|
李文龙等: "类Kubernetes扁平化网络模型的研究与实现", 《工业控制计算机》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733148A (zh) * | 2021-01-12 | 2021-04-30 | 北京旋极安辰计算科技有限公司 | 一种基于Java的可信策略自动适配的方法 |
CN112733148B (zh) * | 2021-01-12 | 2021-10-01 | 北京旋极安辰计算科技有限公司 | 一种基于Java的可信策略自动适配的方法 |
CN113806304A (zh) * | 2021-08-23 | 2021-12-17 | 北京天融信网络安全技术有限公司 | 一种获取软件文件路径的方法及系统 |
CN113806304B (zh) * | 2021-08-23 | 2023-07-18 | 北京天融信网络安全技术有限公司 | 一种获取软件文件路径的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110213310B (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200052983A1 (en) | Data leakage protection in cloud applications | |
CN112187491B (zh) | 服务器的管理方法、装置和设备 | |
CN104142784B (zh) | 输入内容的临时存储方法和装置 | |
CN110198248B (zh) | 检测ip地址的方法和装置 | |
US10152400B2 (en) | Method and system for dynamically unblocking customers in critical workflows by pushing community contributed solutions just-in-time when an error is encountered | |
US10775751B2 (en) | Automatic generation of regular expression based on log line data | |
CN113765988A (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN113296981A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN110213310A (zh) | 一种网络服务的路径获取方法、装置和存储介质 | |
US20160124783A1 (en) | Tracking asynchronous entry points for an application | |
CN105812432A (zh) | 云文档处理方法及装置 | |
CN114385382A (zh) | 轻应用的访问方法、装置、计算机设备和存储介质 | |
CN112769876A (zh) | 一种设备通道信息获取方法、装置、设备和介质 | |
CN108632130B (zh) | 多终端聊天输入转移的方法、装置、电子设备和存储介质 | |
WO2024045646A1 (zh) | 管理集群访问权限的方法、装置和系统 | |
CN112394907A (zh) | 基于容器的交付系统构建方法、应用交付方法和交付系统 | |
WO2024001240A1 (zh) | 多种技术栈的任务集成方法及装置 | |
CN115567596B (zh) | 云服务资源部署方法、装置、设备及存储介质 | |
CN103457771B (zh) | 一种ha的虚拟机集群的管理方法和设备 | |
CN108449428A (zh) | 一种网络连接方法、装置、服务器和存储介质 | |
JP2008210214A (ja) | 情報処理装置、通信制御処理関数追加方法、及び、通信制御処理関数追加プログラム | |
CN115174367B (zh) | 一种业务系统边界确定方法、装置、电子设备及存储介质 | |
US11755681B2 (en) | Real-time equivalent user interaction generation | |
CN113709196B (zh) | 数据提取方法、装置、计算机设备、介质和程序产品 | |
CN114884931B (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 |