CN108573029B - 一种获取网络访问关系数据的方法、装置及存储介质 - Google Patents
一种获取网络访问关系数据的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN108573029B CN108573029B CN201810232059.1A CN201810232059A CN108573029B CN 108573029 B CN108573029 B CN 108573029B CN 201810232059 A CN201810232059 A CN 201810232059A CN 108573029 B CN108573029 B CN 108573029B
- Authority
- CN
- China
- Prior art keywords
- data
- character string
- report
- reported
- server information
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种获取网络访问关系数据的方法,包括:接收由部署于各上报服务器的代理程序上报的数据,以及与所述上报的数据关联的上报服务器信息;将所述上报的数据和上报服务器信息进行缓存并写入缓存数据库;对所述缓存数据库中的所述上报的数据和上报服务器信息进行数据类型转换,得到相应的整型数据,将所述整型数据写入关系型数据库;对所述关系型数据库中的整型数据进行聚合计算,确定相应的网络访问关系数据。本发明还同时公开了一种获取网络访问关系数据的装置、以及存储介质。
Description
技术领域
本发明涉及互联网领域中的服务器间访问技术,尤其涉及一种获取网络访问关系数据的方法、装置及存储介质。
背景技术
随着互联网技术的不断发展,服务器的应用越来越广泛,服务器间的交互变得更加频繁。目前,网络监控系统可以根据服务器间的网络访问关系,使用户了解业务数据在各服务器间的流动情况,以获得网络访问流量走势信息。由此可见,如何获取服务器间的网络访问关系是尤其关键的步骤。
相关技术中,为了获取服务器间的网络访问关系,一般采用以下两种技术实现方案:网络设备分析方法和服务器数据包抓取方法。其中,网络设备分析方法要求路由器/防火墙必须支持网络会话数据采集,且要求使用者具备获取网络设备采集数据的权限,通常仅限于获取自建数据中心业务间的访问关系,而并不适用于租用服务器或购买第三方云计算资源的服务器场景中,可见,现有的网络设备分析方法在使用场景上具有一定的局限性。服务器数据包抓取方法需要在服务器上运行抓包工具,利用抓包工具跟踪数据,并持续抓取传输的数据包,而抓取数据包的操作消耗较多的服务器资源,导致服务器负载上升,对服务器本身的业务产生一定影响,进而降低服务器的稳定性,虽然相关技术中的抽样抓取数据包的方法可以降低对服务器负载的影响,但是无法完整反映服务器间的网络访问关系。
对于如何能够在保证获取服务器间完整的网络访问关系数据的同时,降低对服务器负载的影响,提高网络访问关系数据查询和计算的效率,相关技术尚无有效解决方案。
发明内容
有鉴于此,本发明实施例期望提供一种获取网络访问关系数据的方法、装置及存储介质,至少用以解决相关技术中难以在保证获取服务器间完整的网络访问关系数据的同时,降低对服务器负载的影响,提高网络访问关系数据查询和计算的效率的问题。
为达到上述目的,本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种获取网络访问关系数据的方法,所述方法包括:
接收由部署于各上报服务器的代理程序上报的数据,以及与所述上报的数据关联的上报服务器信息;
将所述上报的数据和上报服务器信息进行缓存并写入缓存数据库;
对所述缓存数据库中的所述上报的数据和上报服务器信息进行数据类型转换,得到相应的整型数据,将所述整型数据写入关系型数据库;
对所述关系型数据库中的整型数据进行聚合计算,确定相应的网络访问关系数据。
第二方面,本发明实施例还提供一种获取网络访问关系数据的装置,所述装置包括:接收模块、缓存模块、转换模块和计算模块;其中,
所述接收模块,用于接收由部署于各上报服务器的代理程序上报的数据,以及与所述上报的数据关联的上报服务器信息;
所述缓存模块,用于将所述上报的数据和上报服务器信息进行缓存并写入缓存数据库;
所述转换模块,用于对所述缓存数据库中的所述上报的数据和上报服务器信息进行数据类型转换,得到相应的整型数据,将所述整型数据写入关系型数据库;
所述计算模块,用于对所述关系型数据库中的整型数据进行聚合计算,确定相应的网络访问关系数据。
第三方面,本发明实施例还提供一种存储介质,其上存储有可执行程序,所述可执行程序被处理器执行时实现本发明实施例提供的获取网络访问关系数据的方法的步骤。
第四方面,本发明实施例还提供一种获取网络访问关系数据的装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,所述处理器运行所述可执行程序时执行本发明实施例提供的获取网络访问关系数据的方法的步骤。
本发明实施例所提供的获取网络访问关系数据的方法、装置及存储介质,接收由部署于各上报服务器的代理程序上报的数据,以及与上报的数据关联的上报服务器信息;将上报的数据和上报服务器信息进行缓存并写入缓存数据库;对缓存数据库中的上报的数据和上报服务器信息进行数据类型转换,得到相应的整型数据,将整型数据写入关系型数据库;对关系型数据库中的整型数据进行聚合计算,确定相应的网络访问关系数据。如此,可以不依赖网络设备获取服务器间完整的网络访问关系数据,降低对服务器负载的影响;本发明实施例将缓存数据库中的字符串数据转换成整型数据,以将转换后的整型数据写入关系型数据库中,利用整型存储数据可以极大地提升对网络访问关系数据查询和计算的效率。
附图说明
图1为本发明实施例提供的一种获取网络访问关系数据的方法的实现流程示意图;
图2为本发明实施例提供的一种获取网络访问关系数据的装置的功能结构示意图;
图3为本发明实施例提供的另一种获取网络访问关系数据的装置的功能结构示意图;
图4为本发明实施例提供的一种获取网络访问关系数据的装置的硬件结构示意图。
具体实施方式
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。
图1为本发明实施例提供的一种获取网络访问关系数据的方法的实现流程示意图,该获取网络访问关系数据的方法可应用于服务器中;如图1所示,本发明实施例中的获取网络访问关系数据的方法的实现流程,可以包括以下步骤:
步骤101:接收由部署于各上报服务器的代理程序上报的数据,以及与上报的数据关联的上报服务器信息。
在本实施例中,对于接收由部署于各上报服务器的代理程序上报的数据,可以采用如下方式实现:接收由部署于各上报服务器的代理程序基于接收到的采集指令所采集的数据;其中,采集指令是由中控服务器通过多线程技术并行向代理程序下发的指令。
这里,上报服务器是指需要采集网络访问关系数据的业务服务器。本发明实施例在需要采集网络访问关系数据的业务服务器上全量部署并启动代理程序如Agent程序,中控服务器可以通过多线程技术并行向部署了Agent程序的上报服务器下发采集指令,其中,Agent程序用于负责接收采集指令并执行数据采集操作。也就是说,Agent程序在接收到中控服务器下发的采集指令后,将执行数据采集操作,并向采集服务器上报所采集到的数据。
这里,采集指令中可以包括采集指令ID。在实际应用中,Agent程序可以通过超文本传输协议(HTTP,Hyper Text Transfer Protocol)的方式,将采集到的数据上报给采集服务器。对于Agent程序具体如何通过HTTP方式进行数据上报,可以采用已有的或新的网络协议实现,这里不再详细赘述。
举例来说,需要采集网络访问关系数据的业务服务器,比如一台运行MySQL数据库服务的服务器,需要查看都有哪些服务器/进程来访问该数据库服务,则需要在发起访问的服务器和该MySQL服务器中部署Agent程序以进行数据采集和上报。因此,将部署了Agent程序的业务服务器,都可以视为上报服务器。其中,MySQL是一种关系型数据库管理系统,通过MySQL中的关系数据库将数据保存在不同的表中,而并非将所有数据保存在一个大数据库中,这样就增加了数据查找的速度,并提高了数据处理的灵活性。
在本实施例中,Agent程序是一个独立运行在上报服务器上的进程,该进程用于接收中控服务器下发的采集指令,并进行数据采集和数据上报的操作。中控服务器,还可以称为管理机,主要用于基于操作系统调用,向部署于各上报服务器的Agent程序下发数据采集指令。
需要说明的是,从逻辑关系上来说,中控服务器与采集服务器之间是相互分离的,其中,中控服务器负责采集指令的下发,而采集服务器负责接收Agent程序上报的数据;从物理部署结构上来说,中控服务器和采集服务器可以存在于同一物理设备中。
在本实施例中,所述上报的数据不仅可以包括进程使用的网络信息、以及与网络信息对应的进程信息,还可以包括采集指令ID。具体来说,进程使用的网络信息可以进一步包括本地进程使用的IP地址和端口号、远端进程使用的IP地址和端口号、连接状态以及网络请求类型等。其中,根据不同的连接状态,可以将网络信息的请求分为两种不同的网络请求类型。网络请求类型可以包括:本地进程主动请求远端服务和本地服务被远程进程调用。
其中,进程信息可以包括启动进程时操作系统调用的命令及参数两部分,以如下进程信息为例进行说明:
/usr/libexec/mysqld--basedir=/usr--datadir=/var/lib/mysql
--pid-file=/var/run/mariadb/mariadb.pid--socket=/var/lib/mysql/mysql.sock
从上述进程信息实例中可以获取到对运维工作有用的内容包括:这是一个MySQL数据库服务,并且标明了该MySQL数据库服务部署的路径、数据文件存储的路径、进程ID存储的文件、与MySQL数据库服务进行通信的本地socket文件。
其中,上述进程信息实例中的命令为:/usr/libexec/mysqld,用于表示该进程启动的是MySQL数据库服务。
上述进程信息实例中的参数包括四个参数,这四个参数分别为:
--basedir=/usr,用于表示MySQL数据库服务部署的路径,即将MySQL数据库服务部署在/usr目录;
--datadir=/var/lib/mysql,用于表示MySQL数据库的数据文件存储的路径,即将MySQL数据库的数据文件存储在/var/lib/mysql目录下;
--pid-file=/var/run/mariadb/mariadb.pid,用于表示进程ID存储的文件,即将MySQL数据库服务的运行进程ID信息存储在/var/run/mariadb/mariadb.pid文件中;
--socket=/var/lib/mysql/mysql.sock,用于表示MySQL数据库服务可以通过本地socket进行通信,其中,本地socket文件位于/var/lib/mysql/目录下,本地socket文件的文件名为mysql.sock。
本发明实施例中提供进程信息可以方便运维人员清晰地获取进程对应的服务类型、在服务器中部署的路径、以及相关参数等有用信息。
在本实施例中,使用多线程技术并发获取代理程序上报的数据,以及与上报的数据关联的上报服务器信息。上报服务器信息是指能够唯一标识上报服务器的信息,可以是上报服务器上报数据时使用的IP地址,也可以是由上报服务器上报时使用的IP地址转换的主机名信息,这里不做具体限定。
需要特别说明的是,上报服务器信息是独立于上报的数据的信息,并不存在于上报的数据中。在本发明实施例中,上报服务器信息和上报的数据从内容及获取方式上是有所差异的。具体地,上报服务器信息是指采集服务器根据HTTP协议采集到的发起上报操作的服务器的IP地址,是采集服务器通过解析上报HTTP请求的协议头部获取的,且上报发起方无法篡改上报服务器信息;上报的数据是指Agent程序基于采集指令采集到的数据,是采集服务器接收HTTP请求中的数据获取的,存在上报发起方伪造上报数据的可能。
在本实施例中,代理程序上报的数据可以包括代理程序在完成数据采集后的随机时延内上报的数据。也就是说,在Agent程序向采集服务器上报数据的过程中,为减少对采集服务器负载的影响,通常Agent程序在完成数据采集之后将等待一个随机时延,然后再发起数据上报请求,将所采集到的数据上报给采集服务器。
步骤102:将上报的数据和上报服务器信息进行缓存并写入缓存数据库。
这里,对上报的数据和上报服务器信息进行缓存,对于写入数据的性能有一定提升。缓存数据库中存储的上报的数据和上报服务器信息有可能包括整型数据,也有可能包括非整型数据,比如字符串形式的数据。对于非整型数据,在后续过程中采集服务器可以基于异步进程,对非整型数据进行数据类型转换,将非整型数据转换成整型数据。其中,异步是为了说明该进程和采集服务器接收Agent程序上报的进程之间不存在串行关系。
步骤103:对缓存数据库中的上报的数据和上报服务器信息进行数据类型转换,得到相应的整型数据,将整型数据写入关系型数据库。
在本实施例中,本步骤103具体可以采用如下方式实现:分别以上报服务器信息字符串和上报数据字符串为键,查询非关系型数据库中是否存在与上报服务器信息字符串和上报数据字符串对应的整型数据;
若非关系型数据库中存在与上报服务器信息字符串和上报数据字符串对应的整型数据,将查找到的整型数据替代上报服务器信息字符串和上报数据字符串,并将查找到的整型数据写入关系型数据库;
若非关系型数据库中未存在与上报服务器信息字符串和上报数据字符串对应的整型数据,为上报服务器信息字符串和上报数据字符串重新分配对应的整型数据,将重新分配的整型数据替代上报服务器信息字符串和上报数据字符串,并将重新分配的整型数据写入关系型数据库,以及将以上报服务器信息字符串和上报数据字符串为键,以重新分配的整型数据为值的键值对写入非关系型数据库。
为了满足后续展示可读需求,本发明实施例在为上报服务器信息字符串和上报数据字符串重新分配对应的整型数据之后,该方法还可以包括:
创建以重新分配的整型数据为键,以上报服务器信息字符串和上报数据字符串为值的键值对,将键值对写入非关系型数据库。
假设缓存数据库中存储的上报的数据中仅进程信息为非整型数据,通常上报服务器信息也为非整型数据,那么,以上报的数据为进程信息为例,将上报服务器信息和进程信息通过字典转换成整型数据,即在获取以非整型形式如字符串形式展现的上报服务器信息和进程信息后,由于非关系型数据库(如REDIS,一种内存型非关系数据库)中预先存储有上报服务器信息字符串、进程信息字符串分别与整型值的对应关系,因此,先以上报服务器信息字符串和进程信息字符串为键,查询非关系型数据库中是否存在与上报服务器信息字符串和进程信息字符串对应的整型值,如果存在对应的整型值,则利用查询到的整型值来代替上报服务器信息字符串和进程信息字符串,并将查询到的整型值写入关系型数据库;如果不存在对应的整型值,则为该上报服务器信息字符串和进程信息字符串重新分配一个新的整型值,将分配的新的整型值来代替上报服务器信息字符串和进程信息字符串,并将新的整型值写入关系型数据库,以及将以上报服务器信息字符串和进程信息字符串为键,以新的整型值为值的键值对写入非关系型数据库。
需要说明的是,通过数据类型转换,可以在非关系型数据库中得到根据服务器信息字符串和进程信息字符串查询整型值的字典,以及根据整型值反向查询服务器信息字符串和进程信息字符串的字典,在关系型数据库中得到可用于高效计算的整型数据,也可以满足在展示访问关系过程中,由整型数据还原为可读的字符串信息。也就是说,在数据类型转换过程中,所有上报给采集服务器的数据均以整型入库到关系型数据库中,涉及字符串的数据部分均存储于非关系型数据库中。因此,本发明实施例将缓存数据库中的字符串数据转换成整型数据,以将转换后的整型数据写入关系型数据库中,利用整型存储数据可以极大地提升对网络访问关系数据查询和计算的效率。
步骤104:对关系型数据库中的整型数据进行聚合计算,确定相应的网络访问关系数据。
在本发明一可选实施例中,在执行本步骤104之后,该方法还包括:将网络访问关系数据推送给客户端进行查询展示。
在本实施例中,上报的数据还可以包括采集指令ID,关系型数据库中还可以包括采集指令ID对应的时间戳;
其中,对于对关系型数据库中的整型数据进行聚合计算,确定相应的网络访问关系数据,可以采用如下方式实现:
以采集指令ID对应的时间戳为合并项,将预定时间段内各时间间隔采集到的数据作为一个集合,对获得的各集合进行并集运算,以获得第一运算结果,第一运算结果为预定时间段内各服务器间的网络访问关系数据;或者,
以上报服务器信息为合并项,将各上报服务器在各时间间隔采集到的数据作为一个集合,对获得的各集合进行并集运算,以获得第二运算结果,第二运算结果为上报服务器所有进程与其他服务器进程间的网络访问关系数据;或者,
以进程信息为合并项,将业务进程中各时间间隔采集到的数据中与业务进程相关内容作为一个集合,对获得的各集合进行并集运算,以获得第三运算结果,第三运算结果为各业务进程间的网络访问关系数据;或者,
根据业务模型与进程间的映射关系,将与业务模型对应的进程逐次按照以进程信息为合并项,将业务进程中各时间间隔采集到的数据中与业务进程相关内容作为一个集合,对获得的各集合进行并集运算,以获得各进程的计算结果,对各进程的计算结果进行并集运算,以获得第四运算结果,第四运算结果为各业务模型间的网络访问关系数据;其中,业务模型用于表征服务于同一业务的一组进程。
具体来说,关系型数据库中存储的网络访问关系数据可以根据服务器、时间、进程、业务模型等方式进行聚合计算,并提供网络访问关系数据的查询展示功能。其中,各个聚合计算方法如下:
按时间聚合计算:网络访问关系数据是按照特定时间间隔比如30秒采集的,但一般来说服务器间网络传输存在定时通信等非持续性网络访问场景的情况,为了完整描述一段时间比如1天或1个月内的服务器间的网络访问关系,需要以关系型数据库中的时间,即采集指令ID对应的时间戳为合并项,将该时间范围内每个时间间隔采集到的数据作为一个集合,对这些数据集合求并集运算,即可聚合计算出所要描述的时间段内所有服务器间的网络访问关系数据。
按服务器聚合计算:基础网络访问关系数据的最小存储维度是一个进程,一个上报服务器上可以部署多个业务进程,为了描述一个上报服务器和网络中其他服务器间的网络访问关系,需要以上报服务器信息为合并项,将上报服务器在每个时间间隔采集到的数据作为一个集合,对这些数据集合求并集运算,即可聚合计算出该上报服务器所有进程与其他服务器进程间的网络访问关系数据。
按进程聚合计算:在生产环境中,同一业务可以部署在多台服务器集群上,为了描述该业务进程与其他业务进程间的网络访问关系,需要以进程信息为合并项,将业务进程中每个时间间隔采集到的数据中与该进程相关的部分作为一个集合,对这些集合求并集运算,即可聚合计算出该业务进程与其他业务进程间的网络访问关系数据。
按业务模型聚合计算:在生产管理中一般对进程进行抽象描述,将服务于同一业务的一组进程抽象成一个业务模型,为了描述该业务模型与其他业务模型之间的网络访问关系,需要先根据业务模型与进程之间的映射关系,将业务模型对应的进程逐个按照进程聚合计算的方式进行求并集运算,再对各进程的计算结果进行求并集运算,即可得到该业务模型的网络访问关系数据。
这里,聚合计算操作应用于一个独立的功能模块中,可以在能够连接采集服务器的关系型数据库的任意服务器中执行,也可以在采集服务器中进行,本发明实施例不做限定。但为了简化描述,可以认为该聚合计算在采集服务器中进行。
采用本发明实施例的技术方案,通过并发控制代理程序进行系统调用采集的上报服务器信息和上报的数据,经过数据类型转换完成网络访问关系数据的高效存储和计算,且本发明提供进程、服务器、时间和业务模型等纬度的聚合计算方法,并提供网络访问关系数据的查询展示。如此,可以不依赖网络设备获取服务器间完整的网络访问关系数据,降低对服务器负载的影响;本发明实施例将缓存数据库中的字符串数据转换成整型数据,以将转换后的整型数据写入关系型数据库中,利用整型存储数据可以极大地提升对网络访问关系数据查询和计算的效率。
为了实现上述获取网络访问关系数据的方法,本发明实施例还提供了一种获取网络访问关系数据的装置,该获取网络访问关系数据的装置可应用于服务器中,图2为本发明实施例提供的一种获取网络访问关系数据的装置的功能结构示意图;如图2所示,该获取网络访问关系数据的装置包括接收模块21、缓存模块22、转换模块23和计算模块24。下面对各程序模块进行详细说明。
接收模块21,用于接收由部署于各上报服务器的代理程序上报的数据,以及与上报的数据关联的上报服务器信息;
缓存模块22,用于将上报的数据和上报服务器信息进行缓存并写入缓存数据库;
转换模块23,用于对缓存数据库中的上报的数据和上报服务器信息进行数据类型转换,得到相应的整型数据,将整型数据写入关系型数据库;
计算模块24,用于对关系型数据库中的整型数据进行聚合计算,确定相应的网络访问关系数据。
在本实施例中,对于接收模块21接收由部署于各上报服务器的代理程序上报的数据,可以采用如下方式来实现:接收由部署于各上报服务器的代理程序基于接收到的采集指令所采集的数据;其中,采集指令是由中控服务器通过多线程技术并行向代理程序下发的指令。
上报服务器是指需要采集网络访问关系数据的业务服务器。本发明实施例在需要采集网络访问关系数据的业务服务器上全量部署代理程序,中控服务器可以通过多线程技术并行向部署了Agent程序的上报服务器下发采集指令,其中,Agent程序用于负责接收采集指令并执行数据采集操作,并向采集服务器上报所采集到的数据。采集指令中可以包括采集指令ID。
在本实施例中,接收模块21接收的上报的数据可以包括进程使用的网络信息、与网络信息对应的进程信息,以及采集指令ID。其中,进程使用的网络信息可以包括本地进程使用的IP地址和端口号、远端进程使用的IP地址和端口号、连接状态以及网络请求类型等。网络请求类型可以包括:本地进程主动请求远端服务和本地服务被远程进程调用。进程信息可以包括启动进程时操作系统调用的命令及参数。
这里,代理程序上报的数据可以包括代理程序在完成数据采集后的随机时延内上报的数据。
图3为本发明实施例提供的另一种获取网络访问关系数据的装置的功能结构示意图,如图3所示,该获取网络访问关系数据的装置还包括:推送模块25,用于在计算模块24确定相应的网络访问关系数据之后,将网络访问关系数据推送给客户端进行查询展示。
在本实施例中,对于转换模块23对缓存数据库中的上报的数据和上报服务器信息进行数据类型转换,得到相应的整型数据,将整型数据写入关系型数据库,可以采用如下方式实现:
分别以上报服务器信息字符串和上报数据字符串为键,查询非关系型数据库中是否存在与上报服务器信息字符串和上报数据字符串对应的整型数据;
若非关系型数据库中存在与上报服务器信息字符串和上报数据字符串对应的整型数据,将查找到的整型数据替代上报服务器信息字符串和上报数据字符串,并将查找到的整型数据写入关系型数据库;
若非关系型数据库中未存在与上报服务器信息字符串和上报数据字符串对应的整型数据,为上报服务器信息字符串和上报数据字符串重新分配对应的整型数据,将重新分配的整型数据替代上报服务器信息字符串和上报数据字符串,并将重新分配的整型数据写入关系型数据库,以及将以上报服务器信息字符串和上报数据字符串为键,以重新分配的整型数据为值的键值对写入非关系型数据库。
这里,转换模块23还用于在为上报服务器信息字符串和上报数据字符串重新分配对应的整型数据之后,创建以重新分配的整型数据为键,以上报服务器信息字符串和上报数据字符串为值的键值对,将键值对写入非关系型数据库。
需要说明的是:上述实施例提供的获取网络访问关系数据的装置在进行获取网络访问关系数据时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将获取网络访问关系数据的装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的获取网络访问关系数据的装置与获取网络访问关系数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在实际应用中,上述程序模块中的缓存模块22、转换模块23、计算模块24均可由位于服务器上的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,MicroProcessor Unit)、数字信号处理器(DSP,Digital Signal Processor)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现;上述程序模块中的接收模块21和推送模块25在实际应用中可通过通信模组(包含:基础通信套件、操作系统、通信模块、标准化接口和协议等)及收发天线实现。
为了实现上述获取网络访问关系数据的方法,本发明实施例还提供了一种获取网络访问关系数据的装置的硬件结构。现在将参考附图描述实现本发明实施例的获取网络访问关系数据的装置,该获取网络访问关系数据的装置可以以服务器的形式来实施。下面对本发明实施例的获取网络访问关系数据的装置的硬件结构做进一步说明,可以理解,图4仅仅示出了获取网络访问关系数据的装置的示例性结构而非全部结构,根据需要可以实施图4示出的部分结构或全部结构。
参见图4,图4为本发明实施例提供的一种获取网络访问关系数据的装置的硬件结构示意图,实际应用中可以应用于前述运行应用程序的服务器,图4所示的获取网络访问关系数据的装置400包括:至少一个处理器401、存储器402、用户接口403和至少一个网络接口404。该获取网络访问关系数据的装置400中的各个组件通过总线系统405耦合在一起。可以理解,总线系统405用于实现这些组件之间的连接通信。总线系统405除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统405。
其中,用户接口403可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
可以理解,存储器402可以是易失性存储器或非易失性存储器,也可以包括易失性和非易失性存储器两者。
本发明实施例中的存储器402用于存储各种类型的数据以支持获取网络访问关系数据的装置400的操作。这些数据的示例包括:用于在获取网络访问关系数据的装置400上操作的任何计算机程序,如可执行程序4021和操作系统4022,实现本发明实施例的获取网络访问关系数据的方法的程序可以包含在可执行程序4021中。
本发明实施例揭示的获取网络访问关系数据的方法可以应用于处理器401中,或者由处理器401实现。处理器401可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述获取网络访问关系数据的方法的各步骤可以通过处理器401中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器401可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器401可以实现或者执行本发明实施例中提供的各获取网络访问关系数据的方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例提供的获取网络访问关系数据的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器402,处理器401读取存储器402中的信息,结合其硬件完成本发明实施例提供的获取网络访问关系数据的方法的步骤。
本发明实施例中,获取网络访问关系数据的装置400包括存储器402、处理器401及存储在存储器402上并能够由处理器401运行的可执行程序4021,处理器401运行可执行程序4021时实现:接收由部署于各上报服务器的代理程序上报的数据,以及与上报的数据关联的上报服务器信息;将上报的数据和上报服务器信息进行缓存并写入缓存数据库;对缓存数据库中的上报的数据和上报服务器信息进行数据类型转换,得到相应的整型数据,将整型数据写入关系型数据库;对关系型数据库中的整型数据进行聚合计算,确定相应的网络访问关系数据。
作为一种实施方式,处理器401运行可执行程序4021时实现:在确定相应的网络访问关系数据之后,将网络访问关系数据推送给客户端进行查询展示。
作为一种实施方式,处理器401运行可执行程序4021时实现:接收由部署于各上报服务器的代理程序基于接收到的采集指令所采集的数据;其中,采集指令是由中控服务器通过多线程技术并行向代理程序下发的指令。
作为一种实施方式,处理器401运行可执行程序4021时实现:代理程序上报的数据包括代理程序在完成数据采集后的随机时延内上报的数据。
作为一种实施方式,处理器401运行可执行程序4021时实现:分别以上报服务器信息字符串和上报数据字符串为键,查询非关系型数据库中是否存在与上报服务器信息字符串和上报数据字符串对应的整型数据;若非关系型数据库中存在与上报服务器信息字符串和上报数据字符串对应的整型数据,将查找到的整型数据替代上报服务器信息字符串和上报数据字符串,并将查找到的整型数据写入关系型数据库;若非关系型数据库中未存在与上报服务器信息字符串和上报数据字符串对应的整型数据,为上报服务器信息字符串和上报数据字符串重新分配对应的整型数据,将重新分配的整型数据替代上报服务器信息字符串和上报数据字符串,并将重新分配的整型数据写入关系型数据库,以及将以上报服务器信息字符串和上报数据字符串为键,以重新分配的整型数据为值的键值对写入非关系型数据库。
作为一种实施方式,处理器401运行可执行程序4021时实现:在为上报服务器信息字符串和上报数据字符串重新分配对应的整型数据之后,创建以重新分配的整型数据为键,以上报服务器信息字符串和上报数据字符串为值的键值对,将键值对写入非关系型数据库。
在示例性实施例中,本发明实施例还提供了一种存储介质,该存储介质可为光盘、闪存或磁盘等存储介质,可选为非瞬间存储介质。
本发明实施例提供的存储介质上存储有可执行程序4021,可执行程序4021被处理器401执行时实现:接收由部署于各上报服务器的代理程序上报的数据,以及与上报的数据关联的上报服务器信息;将上报的数据和上报服务器信息进行缓存并写入缓存数据库;对缓存数据库中的上报的数据和上报服务器信息进行数据类型转换,得到相应的整型数据,将整型数据写入关系型数据库;对关系型数据库中的整型数据进行聚合计算,确定相应的网络访问关系数据。
作为一种实施方式,可执行程序4021被处理器401执行时实现:在确定相应的网络访问关系数据之后,将网络访问关系数据推送给客户端进行查询展示。
作为一种实施方式,可执行程序4021被处理器401执行时实现:接收由部署于各上报服务器的代理程序基于接收到的采集指令所采集的数据;其中,采集指令是由中控服务器通过多线程技术并行向代理程序下发的指令。
作为一种实施方式,可执行程序4021被处理器401执行时实现:代理程序上报的数据包括代理程序在完成数据采集后的随机时延内上报的数据。
作为一种实施方式,可执行程序4021被处理器401执行时实现:分别以上报服务器信息字符串和上报数据字符串为键,查询非关系型数据库中是否存在与上报服务器信息字符串和上报数据字符串对应的整型数据;若非关系型数据库中存在与上报服务器信息字符串和上报数据字符串对应的整型数据,将查找到的整型数据替代上报服务器信息字符串和上报数据字符串,并将查找到的整型数据写入关系型数据库;若非关系型数据库中未存在与上报服务器信息字符串和上报数据字符串对应的整型数据,为上报服务器信息字符串和上报数据字符串重新分配对应的整型数据,将重新分配的整型数据替代上报服务器信息字符串和上报数据字符串,并将重新分配的整型数据写入关系型数据库,以及将以上报服务器信息字符串和上报数据字符串为键,以重新分配的整型数据为值的键值对写入非关系型数据库。
作为一种实施方式,可执行程序4021被处理器401执行时实现:在为上报服务器信息字符串和上报数据字符串重新分配对应的整型数据之后,创建以重新分配的整型数据为键,以上报服务器信息字符串和上报数据字符串为值的键值对,将键值对写入非关系型数据库。
采用本发明实施例的技术方案,通过接收由部署于各上报服务器的代理程序上报的数据,以及与上报的数据关联的上报服务器信息;将上报的数据和上报服务器信息进行缓存并写入缓存数据库;对缓存数据库中的上报的数据和上报服务器信息进行数据类型转换,得到相应的整型数据,将整型数据写入关系型数据库;对关系型数据库中的整型数据进行聚合计算,确定相应的网络访问关系数据。如此,可以不依赖网络设备获取服务器间完整的网络访问关系数据,降低对服务器负载的影响;本发明实施例将缓存数据库中的字符串数据转换成整型数据,以将转换后的整型数据写入关系型数据库中,利用整型存储数据可以极大地提升对网络访问关系数据查询和计算的效率。
本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或可执行程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的可执行程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和可执行程序产品的流程图和/或方框图来描述的。应理解可由可执行程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些可执行程序指令到通用计算机、专用计算机、嵌入式处理机或参考可编程数据处理设备的处理器以产生一个机器,使得通过计算机或参考可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些可执行程序指令也可存储在能引导计算机或参考可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些可执行程序指令也可装载到计算机或参考可编程数据处理设备上,使得在计算机或参考可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或参考可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种获取网络访问关系数据的方法,其特征在于,所述方法包括:
接收由部署于各上报服务器的代理程序上报的数据,以及与所述上报的数据关联的上报服务器信息;
将所述上报的数据和上报服务器信息进行缓存并写入缓存数据库;
对所述缓存数据库中的所述上报的数据和上报服务器信息进行数据类型转换,得到相应的整型数据,将所述整型数据写入关系型数据库;
对所述关系型数据库中的整型数据进行聚合计算,确定相应的网络访问关系数据;
其中,所述对所述缓存数据库中的所述上报的数据和上报服务器信息进行数据类型转换,得到相应的整型数据,将所述整型数据写入关系型数据库,包括:
分别以上报服务器信息字符串和上报数据字符串为键,查询非关系型数据库中是否存在与所述上报服务器信息字符串和上报数据字符串对应的整型数据;若所述非关系型数据库中存在与所述上报服务器信息字符串和上报数据字符串对应的整型数据,将查找到的整型数据替代所述上报服务器信息字符串和上报数据字符串,并将所述查找到的整型数据写入关系型数据库;若所述非关系型数据库中未存在与所述上报服务器信息字符串和上报数据字符串对应的整型数据,为所述上报服务器信息字符串和上报数据字符串重新分配对应的整型数据,将所述重新分配的整型数据替代所述上报服务器信息字符串和上报数据字符串,并将所述重新分配的整型数据写入所述关系型数据库,以及将以所述上报服务器信息字符串和上报数据字符串为键,以所述重新分配的整型数据为值的键值对写入所述非关系型数据库。
2.根据权利要求1所述的获取网络访问关系数据的方法,其特征在于,在所述确定相应的网络访问关系数据之后,所述方法还包括:将所述网络访问关系数据推送给客户端进行查询展示。
3.根据权利要求1或2所述的获取网络访问关系数据的方法,其特征在于,所述接收由部署于各上报服务器的代理程序上报的数据,包括:
接收由所述部署于各上报服务器的代理程序基于接收到的采集指令所采集的数据;其中,所述采集指令是由中控服务器通过多线程技术并行向所述代理程序下发的指令。
4.根据权利要求1或2所述的获取网络访问关系数据的方法,其特征在于,所述代理程序上报的数据包括所述代理程序在完成数据采集后的随机时延内上报的数据。
5.根据权利要求1或2所述的获取网络访问关系数据的方法,其特征在于,在所述为所述上报服务器信息字符串和上报数据字符串重新分配对应的整型数据之后,所述方法还包括:
创建以所述重新分配的整型数据为键,以所述上报服务器信息字符串和上报数据字符串为值的键值对,将所述键值对写入所述非关系型数据库。
6.一种获取网络访问关系数据的装置,其特征在于,所述装置包括:接收模块、缓存模块、转换模块和计算模块;其中,
所述接收模块,用于接收由部署于各上报服务器的代理程序上报的数据,以及与所述上报的数据关联的上报服务器信息;
所述缓存模块,用于将所述上报的数据和上报服务器信息进行缓存并写入缓存数据库;
所述转换模块,用于对所述缓存数据库中的所述上报的数据和上报服务器信息进行数据类型转换,得到相应的整型数据,将所述整型数据写入关系型数据库;
所述计算模块,用于对所述关系型数据库中的整型数据进行聚合计算,确定相应的网络访问关系数据;
其中,所述转换模块,还用于:分别以上报服务器信息字符串和上报数据字符串为键,查询非关系型数据库中是否存在与所述上报服务器信息字符串和上报数据字符串对应的整型数据;若所述非关系型数据库中存在与所述上报服务器信息字符串和上报数据字符串对应的整型数据,将查找到的整型数据替代所述上报服务器信息字符串和上报数据字符串,并将所述查找到的整型数据写入关系型数据库;若所述非关系型数据库中未存在与所述上报服务器信息字符串和上报数据字符串对应的整型数据,为所述上报服务器信息字符串和上报数据字符串重新分配对应的整型数据,将所述重新分配的整型数据替代所述上报服务器信息字符串和上报数据字符串,并将所述重新分配的整型数据写入所述关系型数据库,以及将以所述上报服务器信息字符串和上报数据字符串为键,以所述重新分配的整型数据为值的键值对写入所述非关系型数据库。
7.一种存储介质,其上存储有可执行程序,其特征在于,所述可执行程序被处理器执行时实现如权利要求1至5任一项所述的获取网络访问关系数据的方法的步骤。
8.一种获取网络访问关系数据的装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,其特征在于,所述处理器运行所述可执行程序时执行如权利要求1至5任一项所述的获取网络访问关系数据的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810232059.1A CN108573029B (zh) | 2018-03-20 | 2018-03-20 | 一种获取网络访问关系数据的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810232059.1A CN108573029B (zh) | 2018-03-20 | 2018-03-20 | 一种获取网络访问关系数据的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108573029A CN108573029A (zh) | 2018-09-25 |
CN108573029B true CN108573029B (zh) | 2021-11-23 |
Family
ID=63573921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810232059.1A Active CN108573029B (zh) | 2018-03-20 | 2018-03-20 | 一种获取网络访问关系数据的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108573029B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109462659B (zh) * | 2018-12-17 | 2021-06-15 | 深圳市网心科技有限公司 | 嵌入式设备远程访问控制系统、方法及存储介质 |
CN109992488B (zh) * | 2019-01-18 | 2023-01-03 | 珠海金山数字网络科技有限公司 | 一种基于MongoDB数据库的统计方法 |
CN110868318B (zh) * | 2019-11-01 | 2022-10-18 | 咪咕文化科技有限公司 | 网络访问关系的生成方法、装置、电子设备及存储介质 |
CN111523072B (zh) * | 2020-04-20 | 2023-08-15 | 咪咕文化科技有限公司 | 页面访问数据统计方法、装置、电子设备及存储介质 |
CN111917743B (zh) * | 2020-07-15 | 2022-07-19 | 中国工商银行股份有限公司 | 节点间访问关系切换方法、系统、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608203A (zh) * | 2015-12-24 | 2016-05-25 | Tcl集团股份有限公司 | 一种基于Hadoop平台的物联网日志处理方法和装置 |
CN106254153A (zh) * | 2016-09-19 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种网络异常监控方法和装置 |
CN107302569A (zh) * | 2017-06-08 | 2017-10-27 | 武汉火凤凰云计算服务股份有限公司 | 一种面向云平台的安全监控数据采集与存储方法 |
-
2018
- 2018-03-20 CN CN201810232059.1A patent/CN108573029B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608203A (zh) * | 2015-12-24 | 2016-05-25 | Tcl集团股份有限公司 | 一种基于Hadoop平台的物联网日志处理方法和装置 |
CN106254153A (zh) * | 2016-09-19 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种网络异常监控方法和装置 |
CN107302569A (zh) * | 2017-06-08 | 2017-10-27 | 武汉火凤凰云计算服务股份有限公司 | 一种面向云平台的安全监控数据采集与存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108573029A (zh) | 2018-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108573029B (zh) | 一种获取网络访问关系数据的方法、装置及存储介质 | |
AU2021201512B2 (en) | Data stream processing language for analyzing instrumented software | |
US11341131B2 (en) | Query scheduling based on a query-resource allocation and resource availability | |
US11321321B2 (en) | Record expansion and reduction based on a processing task in a data intake and query system | |
US11442935B2 (en) | Determining a record generation estimate of a processing task | |
US20200364223A1 (en) | Search time estimate in a data intake and query system | |
US11593377B2 (en) | Assigning processing tasks in a data intake and query system | |
US10447772B2 (en) | Managed function execution for processing data streams in real time | |
Mavridis et al. | Performance evaluation of cloud-based log file analysis with Apache Hadoop and Apache Spark | |
US20200257691A1 (en) | Executing untrusted commands from a distributed execution model | |
US11163758B2 (en) | External dataset capability compensation | |
US11232100B2 (en) | Resource allocation for multiple datasets | |
US20190310977A1 (en) | Bucket data distribution for exporting data to worker nodes | |
US20190258635A1 (en) | Determining Records Generated by a Processing Task of a Query | |
US20200050607A1 (en) | Reassigning processing tasks to an external storage system | |
US10698897B2 (en) | Executing a distributed execution model with untrusted commands | |
US7979850B2 (en) | Method and system for generating a common trace data format | |
US9712410B1 (en) | Local metrics in a service provider environment | |
US20080127108A1 (en) | Common performance trace mechanism | |
US20220058104A1 (en) | System and method for database replication benchmark testing using a pipeline-based microservices model | |
CN111143286B (zh) | 一种云平台日志管理方法及系统 | |
US10657099B1 (en) | Systems and methods for transformation and analysis of logfile data | |
US20180129712A1 (en) | Data provenance and data pedigree tracking | |
CN109885545A (zh) | 存储、查询日志信息的方法、装置 | |
CN112882906B (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 |