CN116560949B - 一种数据采集与接收的实现方法、系统、设备及存储介质 - Google Patents

一种数据采集与接收的实现方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN116560949B
CN116560949B CN202310834573.3A CN202310834573A CN116560949B CN 116560949 B CN116560949 B CN 116560949B CN 202310834573 A CN202310834573 A CN 202310834573A CN 116560949 B CN116560949 B CN 116560949B
Authority
CN
China
Prior art keywords
index
collector
value
acquisition
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
Application number
CN202310834573.3A
Other languages
English (en)
Other versions
CN116560949A (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.)
Nari Rail Transit Technology Co ltd
Original Assignee
Nari Rail Transit Technology 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 Nari Rail Transit Technology Co ltd filed Critical Nari Rail Transit Technology Co ltd
Priority to CN202310834573.3A priority Critical patent/CN116560949B/zh
Publication of CN116560949A publication Critical patent/CN116560949A/zh
Application granted granted Critical
Publication of CN116560949B publication Critical patent/CN116560949B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3096Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据采集与接收的实现方法、系统、设备及存储介质包括将所有需使用的采集器注册到服务后台,并在服务后台设置采集器的注册信息;采集器获取组成采集器的所有文件信息和其所在宿主机的信息,将采集器的所有文件信息和所在宿主机的信息组成采集器的身份信息,将身份信息发送给服务后台;服务后台接收采集器的身份信息,查找该采集器在服务后台设置的注册信息,判断该采集器是否在服务后台注册,将注册信息以及注册结果返回给采集器;采集器根据服务后台返回的注册信息和注册结果,判断该采集器是否注册,当该采集器已经注册时,则标识该采集器可与服务后台正常交互。本发明在及时有效地采集数据的同时最少消耗宿主机资源。

Description

一种数据采集与接收的实现方法、系统、设备及存储介质
技术领域
本发明涉及服务器数据交互技术领域,尤其涉及一种数据采集与接收的实现方法、系统、设备及存储介质。
背景技术
数字化时代,服务器众多,监控服务器的运行状态是保证系统稳定运行的必要手段。而采集器是监控系统中重要的组成部分,只有服务器的运行数据被及时、正确采集,才能保证监控的实时性和有效性。同时,数据采集器一般是安装在宿主机上,但目前采集器消耗过多的宿主机资源,数据采集的有效性差。
因此,亟待解决上述问题。
发明内容
发明目的:本发明的第一目的是提供一种数据采集与接收的实现方法,旨在解决如何及时有效地采集数据,以及最少消耗宿主机资源的技术问题。
本发明的第二目的是提供一种数据采集与接收的实现系统。
本发明的第三目的是提供一种电子设备。
本发明的第四目的是提供一种计算机存储介质。
技术方案:为实现以上目的,本发明公开了一种数据采集与接收的实现方法,包括如下步骤:
将所有需使用的采集器注册到服务后台,并在服务后台设置采集器的注册信息;
采集器获取组成采集器的所有文件信息以及其所在宿主机的信息,将采集器的所有文件信息和所在宿主机的信息组成采集器的身份信息,并将身份信息发送给服务后台;
服务后台接收采集器的身份信息,同时查找该采集器在服务后台设置的注册信息,判断该采集器是否在服务后台注册,将后台设置的注册信息以及注册结果返回给采集器;
采集器根据服务后台返回的注册信息和注册结果,判断该采集器是否注册,当该采集器已经注册时,则标识该采集器可与服务后台正常交互。
其中,采集器的注册信息包括采集器所在宿主机的IP地址、采集器的采集周期和采集器的“参数获取周期”。
优选的,组成采集器的所有文件包括配置文件、可执行文件和动态链接库,文件信息包括文件名称、文件路径和文件的MD5值。
再者,宿主机的信息包含操作系统的名称、操作系统的版本、操作系统的架构、主机名称和IP地址。
进一步,采集器在进行指标采集时创建指标采集方法容器,该指标采集方法容器包括磁盘指标采集方法、内存指标采集方法、负载指标采集方法、网络指标采集方法、CPU指标采集方法和进程指标采集方法。
优选的,采集器进行指标采集具体包括如下步骤:
计算当前时间和最后一次采样时间的差值,如果该差值小于采集器的采样周期,则当前采样任务结束,等待下一次采样任务的到来;否则继续当前采样任务;
从“指标采集方法容器”中获取指标采集方法,与每一种采集方法相对应的指标按是否实时变化和读取方式分为三大种类:A1类型的指标是指标值随时间实时变化且可以直接读取的指标;A2类型的指标是指标值随时间实时变化但需要计算差值的指标;A3类型的指标是指标值不变的指标;
对于A1类型的指标,采集器实时采集,通过命令/脚本获取指标值,然后将指标值加入到指标队列中;
对于A2类型的指标,采集器实时采集,并计算指标差值,指标差值结果为本次的指标值,然后将指标值加入到指标队列中;
对于A3类型的指标,采集器将采用缓存的机制,将采集的数据缓存设定时间,在缓存有效时间内,直接从缓存中读取数据;判断缓存中是否有指标值,如果有,则直接从缓存中获取数据作为指标值;如果无,则通过命令/脚本获取指标值,将获取的指标值存入缓存中,检验缓存指标值的有效性,然后将指标值加入到指标队列中;
该指标队列为先入先出队列,从指标队列中获取所有的指标,并按照设定规则组织所有的指标,形成上报的指标数据;将上报的指标数据压缩后发送给服务后台。
再者,计算指标差值具体包括如下步骤:
T2为当前时间值,T1为最后一次采样的时间值,如果T2-T1>30秒,则表示采集器为首次采集、或者采集的间隔时间过长,则通过命令/脚本获取指标值,将获取的指标值作为最后一次采集结果放到(V1,T1)中,V1表示最后一次采集指标的值,T1为最后一次采样的时间值,获得(V1,T1)后,休眠设定时间后再通过命令/脚本采集当前指标值;否则直接通过命令/脚本采集当前指标值;
将获得的当前指标值保存到(V2,T2)中,V2表示最新的指标值,T2表示最新的采集时间;计算指标差值,公式为(V2-V1)/(T2-T1),该差值就是本次的采集结果;(V2,T2)作为最后一次采集结果存储在(V1,T1)中。
进一步,检验缓存指标值的有效性具体包括如下步骤:
遍历缓存列表中的缓存指标值,判断缓存指标值的有效时间是否过期,如果没有过期,则结束;如果过期,则删除过期的指标值。
再者,设定规则为:指标信息按行书写,每行一个指标信息,实现方式是在每行指标信息之间添加字符“\n”,
每一行指标信息的组成部分如下:
指标名称、指标采样时间、指标当前值、指标最大值、指标最小值、指标平均值、指标补充值;
每行指标信息的组成部分之间用“|”分割。
本发明公开了一种数据采集与接收的实现系统,包括:
采集器注册模块,用于将所有需使用的采集器注册到服务后台,并在服务后台设置采集器的注册信息;
获取身份信息模块,用于采集器获取组成采集器的所有文件信息以及其所在宿主机的信息,将采集器的所有文件信息和所在宿主机的信息组成采集器的身份信息,并将身份信息发送给服务后台;
注册查询模块,用于服务后台接收采集器的身份信息,同时查找该采集器在服务后台设置的注册信息,判断该采集器是否在服务后台注册,将后台设置的注册信息以及注册结果返回给采集器;
交互识别模块,用于采集器根据服务后台返回的注册信息和注册结果,判断该采集器是否注册,当该采集器已经注册时,则标识该采集器可与服务后台正常交互。
其中,采集器的注册信息包括采集器所在宿主机的IP地址、采集器的采集周期和采集器的“参数获取周期”。
优选的,组成采集器的所有文件包括配置文件、可执行文件和动态链接库,文件信息包括文件名称、文件路径和文件的MD5值。
再者,宿主机的信息包含操作系统的名称、操作系统的版本、操作系统的架构、主机名称和IP地址。
进一步,还包括:
指标采集模块,用于采集器在进行指标采集时创建指标采集方法容器,该指标采集方法容器包括磁盘指标采集方法、内存指标采集方法、负载指标采集方法、网络指标采集方法、CPU指标采集方法和进程指标采集方法。
本发明公开了一种电子设备,包括处理器和存储器,
存储器,用于存储计算机程序,该计算机程序被处理器运行,执行一种数据采集与接收的实现方法。
本发明公开了一种计算机存储介质,计算机存储介质存储有计算机程序,该计算机程序被处理器运行,执行一种数据采集与接收的实现方法。
有益效果:与现有技术相比,本发明具有以下显著优点:
(1)本发明是将所有指标的数据通过设定方式采集完毕后,按设定的规则,组装成一个数据集,一次性发给服务后台,提高采集效率;
(2)本发明通过2个线程的有机组合,完成不同的采集任务,实现对不同类型的指标按不同的方式进行采取,对长时间不变的指标通过缓存机制来实现采集,差值采集,减少对宿主机资源的消耗。
(3)本发明的采集器的采集周期可以动态调整,在后台服务上更新采集周期后,采集器将自动更改采集周期,以适应不同宿主机的性能要求,实现不同的宿主机采用不同的采集周期。
附图说明
图1为本发明的场景示意图;
图2为本发明中采集器和服务后台的交互示意图;
图3为本发明中指标采集方法分类示意图;
图4为本发明中指标采集过程示意图;
图5为本发明中指标缓存删除示意图;
图6为本发明中一种电子设备的示意图;
图7为本发明中定时任务的线程示意图。
实施方式
下面结合附图对本发明的技术方案作进一步说明。
目前服务器监控应用广泛,采集器种类繁多,实现都很复杂,占用宿主机资源比较多。因此,本发明提出一种数据采集与接收的实现方法、系统、设备及存储介质来解决上述技术问题。
实施例
首先,本发明提出一种数据采集与接收的实现方法,该一种数据采集与接收的实现方法应用于上述采集器和后台服务。如图1所示,是本发明一种数据采集与接收的实现方法的场景示意图。本系统可以有多个采集器,众多的数据采集器将采集的数据最终归集到服务后台;每个采集器安装在不同的宿主机上,采集器获取自身身份信息并传给服务后台,然后接收服务后台传来的参数信息,接着采集器采集宿主机上的指标数据、并按规则组织这些指标数据,最后将组织后的指标数据发送给后台服务。服务后台用于注册采集器,注册时需要设置采集器所在宿主机的IP、采集器的采集周期、采集器的“参数获取周期”;服务后台同时接收采集器上报的数据,未在服务后台注册的采集器不能与服务后台交互数据。
如图2所示,为本发明一种数据采集与接收的实现方法的采集端参数获取的示意图,根据不同的需求,图2所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。本发明一种数据采集与接收的实现方法包括如下步骤:
S201.将所有需要使用的采集器注册到服务后台,注册时需要设置采集器所在宿主机的IP地址、采集器的采集周期、采集器的“参数获取周期”;
采集器首先会启动一个定时任务task1,该定时任务默认时间间隔为300秒,该定时任务包括以下步骤:
S202.采集器在向服务后台发起请求之前,先获取采集器自己的版本号,该版本号保存在采集器的配置文件中;
S203.采集器获取组成采集器的所有文件的信息,所有文件包括配置文件、可执行文件和动态链接库,文件信息包括文件名称、文件路径和文件的MD5值;
S204.采集器获取其所在宿主机的信息,所在宿主机的信息包含操作系统的名称、操作系统的版本、操作系统的架构、主机名称和IP地址;
S205.采集器将步骤S201至S204获取的信息组成采集器的身份信息,并将这些身份信息发送给服务后台;
S206.服务后台接收接收采集器的身份信息,同时查找该采集器在服务后台设置的相关参数信息,判断采集器的IP地址是否在服务后台注册,最后将这些后台设置的参数以及注册的结果返回给采集器;
S207.采集器接收服务后台返回的数据,并解析这些数据;
S208.采集器解析服务后台返回的数据后,判断该采集器是否注册,如果没有注册,则直接结束;如果采集器已经注册了,则转到步骤S209;
S209.表明采集器已经注册,则标识采集器可以和服务后台正常交互,同时本定时任务task1的时间间隔也更改为采集器的“参数获取周期”,同时服务后台设置的“采集器采集周期”设定采集器的采集周期。
步骤S202到步骤S209构成一个定时任务task1,该定时任务在默认情况下按300秒的时间间隔执行,经过步骤S209后,task1的时间间隔设置为采集器的“参数获取周期”。经过步骤S209,表明采集器可以与后台服务正常进行交互。
具体地,在本实施例中,采集器在启动时会创建一个指标采集方法容器,所有指标的采集方法都会加入到该指标采集方法容器中,如图3所示,为本发明一种数据采集与接收的实现方法的指标采集方法分类示意图,本发明所包含的指标采集方法包含:
磁盘指标采集方法,该方法将采集磁盘的总大小、空闲大小、已使用大小、已使用百分比、空闲百分比、磁盘读写次数、磁盘读写字节数和磁盘名称。
内存指标采集方法,该方法将采集内存的总大小、空闲大小、已使用大小、已使用百分比和空闲百分比。
负载指标采集方法,该方法主要采集类似linux系统中的一分钟平均负载、五分钟平均负载和十五分钟平均负载。
网络指标采集方法,该方法主要采集网卡的名称、网卡的发送/接收字节数、网卡的发送/接收错误数、网卡发送/接收丢弃数,同时该方法还采集网络链接状态分别为ESTABLISHED、SYN_SENT、SYN_RECV、FIN_WAIT1、FIN_WAIT2、TIME_WAIT、CLOSE_WAIT、LAST_ACK、LISTEN时的数量。
CPU指标采集方法,采集CPU的以下指标:内核空间占用CPU的百分比(sy)、改变过优先级的进程占用CPU的百分比(ni)、空闲CPU百分比(idle)、IO等待占用CPU的百分比(wa)、 硬中断占用CPU的百分比(hi)、软中断占用CPU的百分比(si)、虚拟机占用CPU百分比(st)。
进程指标采集方法,该方法采集进程的数量、进程的详细信息。
以上所有指标采集方法采集的指标都会存放到指标队列中。
经过task1任务后,采集器与服务后台可以正常交互,则开启一个定时任务task4,该定时任务task4的时间间隔为task1中获得的采集周期。task4会先从“指标采集方法容器”中获取所有注册的指标采集方法,然后调用这些指标采集方法进行指标的采集,每个指标采集方法将采集的指标存入到同一个指标队列中。该指标队列的容量设置为1千个指标。如果指标队列已满,则去除最先加入该队列的指标。指标由指标名称、指标采样时的时间、指标当前值、指标最大值、指标最小值、指标平均值、指标补充值等组成。如果一些指标没有其中的某项值,则该项值为空。
具体地,图4为本发明一种数据采集与接收的实现方法的指标采集过程示意图,根据不同的需求,图4所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。该过程示意图为在一个定时任务task4中执行,包含以下步骤:
S401.计算当前时间和最后一次采样时间的差值。如果该差值小于采集器的采样周期,则task4任务结束,等待下一次任务的到来;否则,进入步骤S402。
S402.从“指标采集方法容器”中获取指标采集方法,各种采集方法对应的指标,按是否实时变化和读取方式分为三大种类:A1类型的指标是指标值随时间实时变化且可以直接读取的指标,如内存使用量、磁盘使用量等指标;A2类型的指标是指标值随时间实时变化但需要计算差值的指标,如内存增量、网卡接收/发送数据量等;A3类型的指标是指标值不变的指标,如网卡名称、磁盘名称,磁盘分布,磁盘总量等;
S403.对于A1类型的指标,采集器实时采集;
S403A.采集器实时采集A1类型指标时,直接通过命令/脚本获取指标值,然后进入步骤S406;
S404.对于A2类型的指标,采集器将实时采集,并计算差值。计算差值的方法在另外一个定时任务task2中进行;
S404A.从task2中获取计算的指标差值结果,该结果为本次的采样值;将采样值加入到步骤S406的指标队列中,进入步骤S406;
S405.对于A3类型的指标,采集器将采用缓存的机制,将采集的数据缓存设定时间,在缓存有效时间内,直接从缓存中读取数据,减少对宿主机资源的消耗;
S405A.判断缓存中是否有指标值,如果有,则进入步骤S405D;如果无,则进入步骤S405B;
S405B.通过命令/脚本获取指标值;
S405C.将步骤S405B中获取的指标值存入缓存中,然后进入步骤S406,而缓存值的有效性通过S417来完成;
S405D.缓存中的指标值有效,则直接从缓存中获取数据,然后进入步骤S406;
S406.如步骤S403A、步骤S404A、步骤S405A、步骤S405D所述,具体地,上述中的指标值将会加入到指标队列中,该队列为先入先出队列,队列的容量为1千个指标,加入队列时,如果队列已满,则去除最先进入队列的指标值;
S407.从指标队列中获取所有的指标,并按以下规则组织所有的指标:
(1)指标信息按行书写,每行一个指标信息,实现方式是在每行指标信息之间添加字符“\n”;
(2)每一行指标信息的组成部分如下:
指标名称、指标采样时间、指标当前值、指标最大值、指标最小值、指标平均值、指标补充值;
(3)每行指标信息的组成部分之间用“|”分割;
为了减少传输的数据量,经过以上(1)~(3)操作后得到的的数据要进行压缩操作;
压缩后的数据就是采集器本次需要发送给服务后台的所有指标数据;
S408.将步骤S407获得的指标数据发送给服务后台。
从步骤S401到步骤S408为一个定时任务task4的具体执行过程。task4的执行周期为步骤S209中获取的采集器采集周期。在这些具体的执行步骤中,步骤S404计算差值的方法在另外一个定时任务task2中进行,定时任务task2时间间隔为1秒,具体过程如图4所示,具体步骤如下:
S409.T2为当前时间值(最新时间值),T1为最后一次采样的时间值(首次采集是为0);如果T2-T1>30秒,则表示采集器为首次采集、或者采集的间隔时间过长,则进入步骤S410;否则进入步骤S413;
S410.通过命令/脚本获取指标值;
S411.将步骤410获取的指标值,作为最后一次采集结果放到(V1,T1)中;V1表示最后一次采集指标的值,T1为最后一次采样的时间值;
S412.获得(V1,T1)后,task2任务休眠1秒,1秒后进入步骤S413;
S413.通过命令/脚本采集当前指标值;
S414.将步骤S413获得的指标值保存到(V2,T2)中,V2表示最新的指标值,T2表示最新的采集时间;
S415.计算指标差值,公式为(V2-V1)/(T2-T1),该差值就是本次的采集结果;
S416.(V2,T2)作为最后一次采集结果放到(V1,T1)中,为下一次task2任务到来时做好计算准备。
从步骤S409到步骤S416为一个定时任务task2的具体执行步骤,该定时任务用于完成指标差值计算。
从步骤S401到步骤S408为一个定时任务task4的具体执行步骤。在这些具体的执行步骤中,步骤S405C中缓存值的有效性通过S417来完成,S417为另外一个定时任务task3,该定时任务的时间间隔为10秒,在task3中注册了不同指标的缓存时间要求(设为有效时间),比如网卡名称信息有效时间设置5分钟、磁盘名称信息有效时间设置10分钟等,其具体的执行过程如图5所示,为本发明一种数据采集与接收的实现方法的指标缓存删除示意图,步骤如下:
S501.遍历缓存列表中的缓存指标;
S502.判断缓存指标的有效时间是否过期,如果没有过期,则本任务task3结束;如果过期,则进入步骤S503;
S503.删除过期的指标值。
如图7所示,定时任务task1、task2、task4都在一个线程1中完成,task1、task2、task4对应的任务到达时,就加入到该线程1的任务队列中,由该线程1执行任务队列中的每一个任务;所述的定时任务task3在另外一个线程2中完成。通过两个线程中任务的有机结合,实现了采集器及时、准确地采集宿主机的运行数据,并保证了最少地消耗宿主机资源。
实施例
本发明公开了一种数据采集与接收的实现系统,包括:
采集器注册模块,用于将所有需使用的采集器注册到服务后台,并在服务后台设置采集器的注册信息;采集器的注册信息包括采集器所在宿主机的IP地址、采集器的采集周期和采集器的“参数获取周期”;
获取身份信息模块,用于采集器获取组成采集器的所有文件信息以及其所在宿主机的信息,组成采集器的所有文件包括配置文件、可执行文件和动态链接库,文件信息包括文件名称、文件路径和文件的MD5值;宿主机的信息包含操作系统的名称、操作系统的版本、操作系统的架构、主机名称和IP地址;将采集器的所有文件信息和所在宿主机的信息组成采集器的身份信息,并将身份信息发送给服务后台;
注册查询模块,用于服务后台接收采集器的身份信息,同时查找该采集器在服务后台设置的注册信息,判断该采集器是否在服务后台注册,将后台设置的注册信息以及注册结果返回给采集器;
交互识别模块,用于采集器根据服务后台返回的注册信息和注册结果,判断该采集器是否注册,当该采集器已经注册时,则标识该采集器可与服务后台正常交互;
指标采集模块,用于采集器在进行指标采集时创建指标采集方法容器,该指标采集方法容器包括磁盘指标采集方法、内存指标采集方法、负载指标采集方法、网络指标采集方法、CPU指标采集方法和进程指标采集方法。
指标采集模块采用如图2所示,进行指标数据的采集。
实施例
与本发明实施例的方法相对应的,本发明实施例2还提供一种电子设备。
如图6所示,图6为本发明第二实施例中提供的一种电子设备的示意图。
在本实施例中,电子设备501的一种可选的硬件结果如图6所示,电子设备包括:至少一条通信总线510、至少一个处理器502、至少一个存储器503、至少一个网络接口506、至少一个外设接口507。存储器503包含程序504和数据505。
总线510可以是在电子设备501内部的组件之间传输数据的通信设备,诸如内部总线(CPU与存储器总线)、外部总线(通用串行总线端口、外围组件互连快速端口等)。
存储器503可能包含高速R A M存储器,也可能还包括非易失性存储器(n on-volatile memory),例如至少一个磁盘存储器。
处理器502调用存储器503所存储的程序与数据,以执行本发明实施例提供的数据采集方法。
外设接口507用于与外设连接,外设即外部设备508,外部设备可以包括但不限于键盘、显示器、光标控制设备(例如鼠标、触摸板或触摸屏)、视频输入设备等。
网络接口506以提供与外部网络509(例如,因特网、内联网、局域网、移动通信网络等)相关的有线或无线通信。
实施例
与本发明实施例1的方法相对应的,本发明实施例4还提供一种计算机存储介质,用于数据采集和接收,所述计算机存储介质存储有计算机程序,该计算机程序被处理器运行,以执行本发明实施例提供的数据采集方法。
本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单位集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现,也可以结合软件和硬件的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:移动硬盘、U盘、只读存储器(ROM ,Read-Only Memory)、随机存取存储器(RAM , Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明提供了一种数据采集与接收的实现方法、系统、设备及存储介质,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (12)

1.一种数据采集与接收的实现方法,其特征在于,包括如下步骤:
在定时任务task1中:
将所有需使用的采集器注册到服务后台,并在服务后台设置采集器的注册信息;
采集器获取组成采集器的所有文件信息以及其所在宿主机的信息,将采集器的所有文件信息和所在宿主机的信息组成采集器的身份信息,并将身份信息发送给服务后台;
服务后台接收采集器的身份信息,同时查找该采集器在服务后台设置的注册信息,判断该采集器是否在服务后台注册,将后台设置的注册信息以及注册结果返回给采集器;
采集器根据服务后台返回的注册信息和注册结果,判断该采集器是否注册,当该采集器已经注册时,则标识该采集器可与服务后台正常交互;
在定时任务task4中:
所述采集器在进行指标采集时创建指标采集方法容器,该指标采集方法容器包括磁盘指标采集方法、内存指标采集方法、负载指标采集方法、网络指标采集方法、CPU指标采集方法和进程指标采集方法;
所述采集器进行指标采集具体包括如下步骤:
计算当前时间和最后一次采样时间的差值,如果该差值小于采集器的采样周期,则当前采样任务结束,等待下一次采样任务的到来;否则继续当前采样任务;
从“指标采集方法容器”中获取指标采集方法,与每一种采集方法相对应的指标按是否实时变化和读取方式分为三大种类:A1类型的指标是指标值随时间实时变化且可以直接读取的指标;A2类型的指标是指标值随时间实时变化但需要计算差值的指标;A3类型的指标是指标值不变的指标;
对于A1类型的指标,采集器实时采集,通过命令/脚本获取指标值,然后将指标值加入到指标队列中;
对于A2类型的指标,采集器实时采集,并计算指标差值,指标差值结果为本次的指标值,然后将指标值加入到指标队列中;计算指标差值的方法在另外一个定时任务task2中进行;
对于A3类型的指标,采集器将采用缓存的机制,将采集的数据缓存设定时间,在缓存有效时间内,直接从缓存中读取数据;判断缓存中是否有指标值,如果有,则直接从缓存中获取数据作为指标值;如果无,则通过命令/脚本获取指标值,将获取的指标值存入缓存中,检验缓存指标值的有效性,然后将指标值加入到指标队列中;
该指标队列为先入先出队列,从指标队列中获取所有的指标,并按照设定规则组织所有的指标,形成上报的指标数据;将上报的指标数据压缩后发送给服务后台;
在定时任务task3中:
所述检验缓存指标值的有效性具体包括如下步骤:
遍历缓存列表中的缓存指标值,判断缓存指标值的有效时间是否过期,如果没有过期,则结束;如果过期,则删除过期的指标值;
定时任务task1、task2、task4都在一个线程中完成,定时任务task3在另外一个线程中完成。
2.根据权利要求1所述的一种数据采集与接收的实现方法,其特征在于:所述采集器的注册信息包括采集器所在宿主机的IP地址、采集器的采集周期和采集器的“参数获取周期”。
3.根据权利要求1所述的一种数据采集与接收的实现方法,其特征在于:所述组成采集器的所有文件包括配置文件、可执行文件和动态链接库,文件信息包括文件名称、文件路径和文件的MD5值。
4.根据权利要求1所述的一种数据采集与接收的实现方法,其特征在于:所述宿主机的信息包含操作系统的名称、操作系统的版本、操作系统的架构、主机名称和IP地址。
5.根据权利要求1所述的一种数据采集与接收的实现方法,其特征在于:所述计算指标差值具体包括如下步骤:
T2为当前时间值,T1为最后一次采样的时间值,如果T2-T1>30秒,则表示采集器为首次采集、或者采集的间隔时间过长,则通过命令/脚本获取指标值,将获取的指标值作为最后一次采集结果放到(V1,T1)中,V1表示最后一次采集指标的值,T1为最后一次采样的时间值,获得(V1,T1)后,休眠设定时间后再通过命令/脚本采集当前指标值;否则直接通过命令/脚本采集当前指标值;
将获得的当前指标值保存到(V2,T2)中,V2表示最新的指标值,T2表示最新的采集时间;计算指标差值,公式为(V2-V1)/(T2-T1),该差值就是本次的采集结果;(V2,T2)作为最后一次采集结果存储在(V1,T1)中。
6.根据权利要求1所述的一种数据采集与接收的实现方法,其特征在于:所述设定规则为:指标信息按行书写,每行一个指标信息,实现方式是在每行指标信息之间添加字符“n”,
每一行指标信息的组成部分如下:
指标名称、指标采样时间、指标当前值、指标最大值、指标最小值、指标平均值、指标补充值;
每行指标信息的组成部分之间用“|”分割。
7.一种数据采集与接收的实现系统,其特征在于,包括:
在定时任务task1中:
采集器注册模块,用于将所有需使用的采集器注册到服务后台,并在服务后台设置采集器的注册信息;
获取身份信息模块,用于采集器获取组成采集器的所有文件信息以及其所在宿主机的信息,将采集器的所有文件信息和所在宿主机的信息组成采集器的身份信息,并将身份信息发送给服务后台;
注册查询模块,用于服务后台接收采集器的身份信息,同时查找该采集器在服务后台设置的注册信息,判断该采集器是否在服务后台注册,将后台设置的注册信息以及注册结果返回给采集器;
交互识别模块,用于采集器根据服务后台返回的注册信息和注册结果,判断该采集器是否注册,当该采集器已经注册时,则标识该采集器可与服务后台正常交互;
在定时任务task4中:
指标采集模块,用于采集器在进行指标采集时创建指标采集方法容器,该指标采集方法容器包括磁盘指标采集方法、内存指标采集方法、负载指标采集方法、网络指标采集方法、CPU指标采集方法和进程指标采集方法;
所述采集器进行指标采集具体执行如下:
计算当前时间和最后一次采样时间的差值,如果该差值小于采集器的采样周期,则当前采样任务结束,等待下一次采样任务的到来;否则继续当前采样任务;
从“指标采集方法容器”中获取指标采集方法,与每一种采集方法相对应的指标按是否实时变化和读取方式分为三大种类:A1类型的指标是指标值随时间实时变化且可以直接读取的指标;A2类型的指标是指标值随时间实时变化但需要计算差值的指标;A3类型的指标是指标值不变的指标;
对于A1类型的指标,采集器实时采集,通过命令/脚本获取指标值,然后将指标值加入到指标队列中;
对于A2类型的指标,采集器实时采集,并计算指标差值,指标差值结果为本次的指标值,然后将指标值加入到指标队列中;计算指标差值的方法在另外一个定时任务task2中进行;
对于A3类型的指标,采集器将采用缓存的机制,将采集的数据缓存设定时间,在缓存有效时间内,直接从缓存中读取数据;判断缓存中是否有指标值,如果有,则直接从缓存中获取数据作为指标值;如果无,则通过命令/脚本获取指标值,将获取的指标值存入缓存中,检验缓存指标值的有效性,然后将指标值加入到指标队列中;
该指标队列为先入先出队列,从指标队列中获取所有的指标,并按照设定规则组织所有的指标,形成上报的指标数据;将上报的指标数据压缩后发送给服务后台;
在定时任务task3中:
所述检验缓存指标值的有效性具体执行如下:
遍历缓存列表中的缓存指标值,判断缓存指标值的有效时间是否过期,如果没有过期,则结束;如果过期,则删除过期的指标值;
定时任务task1、task2、task4都在一个线程中完成,定时任务task3在另外一个线程中完成。
8.根据权利要求7所述的一种数据采集与接收的实现系统,其特征在于,所述采集器的注册信息包括采集器所在宿主机的IP地址、采集器的采集周期和采集器的“参数获取周期”。
9.根据权利要求7所述的一种数据采集与接收的实现系统,其特征在于,所述组成采集器的所有文件包括配置文件、可执行文件和动态链接库,文件信息包括文件名称、文件路径和文件的MD5值。
10.根据权利要求7所述的一种数据采集与接收的实现系统,其特征在于,所述宿主机的信息包含操作系统的名称、操作系统的版本、操作系统的架构、主机名称和IP地址。
11.一种电子设备,其特征在于,包括处理器和存储器,
存储器,用于存储计算机程序,该计算机程序被处理器运行,执行权利要求1-6任一项所述的方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器运行,执行权利要求1-6任一项所述的方法。
CN202310834573.3A 2023-07-10 2023-07-10 一种数据采集与接收的实现方法、系统、设备及存储介质 Active CN116560949B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310834573.3A CN116560949B (zh) 2023-07-10 2023-07-10 一种数据采集与接收的实现方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310834573.3A CN116560949B (zh) 2023-07-10 2023-07-10 一种数据采集与接收的实现方法、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116560949A CN116560949A (zh) 2023-08-08
CN116560949B true CN116560949B (zh) 2023-09-29

Family

ID=87495029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310834573.3A Active CN116560949B (zh) 2023-07-10 2023-07-10 一种数据采集与接收的实现方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116560949B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107948092A (zh) * 2017-11-22 2018-04-20 用友金融信息技术股份有限公司 实时数据采集方法和实时数据采集系统
CN108762193A (zh) * 2018-07-31 2018-11-06 吉林大学 数控机床远程数据采集及分析系统
CN110727557A (zh) * 2019-09-23 2020-01-24 北京百度网讯科技有限公司 日志采集器的管控方法、平台、电子设备及存储介质
WO2020125716A1 (zh) * 2018-12-21 2020-06-25 中兴通讯股份有限公司 一种实现网络优化的方法及相关设备
CN112506755A (zh) * 2020-12-18 2021-03-16 北京顺达同行科技有限公司 日志采集方法、装置、计算机设备和存储介质
CN112732528A (zh) * 2021-01-08 2021-04-30 卓望数码技术(深圳)有限公司 基于it运维监控的指标采集方法、系统、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220715B (zh) * 2021-07-08 2021-10-08 腾讯科技(深圳)有限公司 一种数据处理方法、系统、计算机及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107948092A (zh) * 2017-11-22 2018-04-20 用友金融信息技术股份有限公司 实时数据采集方法和实时数据采集系统
CN108762193A (zh) * 2018-07-31 2018-11-06 吉林大学 数控机床远程数据采集及分析系统
WO2020125716A1 (zh) * 2018-12-21 2020-06-25 中兴通讯股份有限公司 一种实现网络优化的方法及相关设备
CN110727557A (zh) * 2019-09-23 2020-01-24 北京百度网讯科技有限公司 日志采集器的管控方法、平台、电子设备及存储介质
CN112506755A (zh) * 2020-12-18 2021-03-16 北京顺达同行科技有限公司 日志采集方法、装置、计算机设备和存储介质
CN112732528A (zh) * 2021-01-08 2021-04-30 卓望数码技术(深圳)有限公司 基于it运维监控的指标采集方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN116560949A (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
US9952905B2 (en) Methods and systems to identify and migrate threads among system nodes based on system performance metrics
Pesterev et al. Locating cache performance bottlenecks using data profiling
US8839271B2 (en) Call stack sampling to obtain information for analyzing idle states in a data processing system
US8782322B2 (en) Ranking of target server partitions for virtual server mobility operations
CN107798108B (zh) 一种异步任务查询方法及设备
US20090044198A1 (en) Method and Apparatus for Call Stack Sampling in a Data Processing System
WO2011000700A1 (en) Time based context sampling of trace data with support for multiple virtual machines
CN111949568B (zh) 一种报文处理方法、装置及网络芯片
CN108228322B (zh) 一种分布式链路跟踪、分析方法及服务器、全局调度器
CN111431757A (zh) 虚拟网络的流量采集方法及装置
Ouyang et al. Reducing late-timing failure at scale: Straggler root-cause analysis in cloud datacenters
US20160154848A1 (en) Database management apparatus, database management method, and storage medium
CN110147470B (zh) 一种跨机房数据比对系统及方法
CN112114983B (zh) 一种基于共享内存的通信方法、装置和设备
CN116560949B (zh) 一种数据采集与接收的实现方法、系统、设备及存储介质
US20120136858A1 (en) Method to Coordinate Data Collection Among Multiple System Components
US20140040460A1 (en) Transaction data acquisition method, recording medium, and information processing apparatus
CN109117247B (zh) 一种基于异构多核拓扑感知的虚拟资源管理系统及方法
US20050125784A1 (en) Hardware environment for low-overhead profiling
CN115878035A (zh) 一种数据读取方法、装置、电子设备及存储介质
US20200250004A1 (en) Information processing device and storage medium
CN113835953A (zh) 作业信息的统计方法、装置、计算机设备和存储介质
US9489235B2 (en) Request processing system, method and program product
KR20030041612A (ko) 서버 병목을 실시간으로 분석하는 방법
CN116842299B (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