CN115220648A - 数据写入流量统计方法、装置以及电子设备 - Google Patents
数据写入流量统计方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN115220648A CN115220648A CN202210094120.7A CN202210094120A CN115220648A CN 115220648 A CN115220648 A CN 115220648A CN 202210094120 A CN202210094120 A CN 202210094120A CN 115220648 A CN115220648 A CN 115220648A
- Authority
- CN
- China
- Prior art keywords
- current
- pid
- write data
- disk
- flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007619 statistical method Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 367
- 230000008569 process Effects 0.000 claims abstract description 338
- 230000002085 persistent effect Effects 0.000 claims description 4
- 238000004886 process control Methods 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 6
- 238000001824 photoionisation detection Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0667—Virtualisation aspects at data level, e.g. file, record or object virtualisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种数据写入流量统计方法、装置以及电子设备。所述方法包括:获取正在运行的进程的进程名称以及所述进程名称的当前PID;根据所述当前PID获取所述进程的当前磁盘写入数据流量;将所述当前PID与所述进程名称的历史PID进行比较,得到比较结果;基于所述当前磁盘写入数据流量和所述比较结果确定所述进程当前的磁盘写入数据总流量。通过上述方式使得,可以基于当前磁盘写入数据流量和比较结果,得到进程当前的磁盘写入数据总流量,进而可以对磁盘生命周期内进程写入数据总流量的监测,以便可以基于进程在磁盘生命周期内写入数据总流量分析进程是否出现异常。
Description
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种数据写入流量统计方法、装置以及电子设备。
背景技术
电子设备通常可以通过其设置的磁盘进行数据的存储。在一些情况下,可以通过对磁盘的操作信息进行获取,并根据获取的操作信息进行进一步的应用。例如,应用于进行异常分析。但是,在相关的获取磁盘的操作信息过程中,还无法实现获取磁盘写入数据总流量。
发明内容
鉴于上述问题,本申请提出了一种数据写入流量统计方法、装置以及电子设备,以实现改善上述问题。
第一方面,本申请提供了一种数据写入流量统计方法,所述方法包括:获取正在运行的进程的进程名称以及所述进程名称的当前PID(即进程识别号(ProcessIdentification,PID));根据所述当前PID获取所述进程的当前磁盘写入数据流量;将所述当前PID与所述进程名称的历史PID进行比较,得到比较结果;基于所述当前磁盘写入数据流量和所述比较结果确定所述进程当前的磁盘写入数据总流量。
第二方面,本申请提供了一种数据写入流量统计装置,所述装置包括:进程获取单元,用于获取正在运行的进程的进程名称以及所述进程名称的当前PID;磁盘写入数据流量获取单元,用于根据所述当前PID获取所述进程的当前磁盘写入数据流量;比较结果获取单元,用于将所述当前PID与所述进程名称的历史PID进行比较,得到比较结果;磁盘写入数据总流量获取单元,用于基于所述当前磁盘写入数据流量和所述比较结果确定所述进程当前的磁盘写入数据总流量。
第三方面,本申请提供了一种电子设备,包括一个或多个处理器以及存储器;一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
第四方面,本申请提供的一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。
本申请提供的一种数据写入流量统计方法、装置、电子设备以及存储介质,在获取正在运行的进程的进程名称以及进程名称对应的当前PID后,根据当前PID获取进程的当前磁盘写入数据流量,将当前PID与进程名称对应的历史PID进行比较,得到比较结果,基于当前磁盘写入数据流量和比较结果确定进程当前的磁盘写入数据总流量。通过上述方式使得,可以基于当前磁盘写入数据流量和比较结果,得到进程当前的磁盘写入数据总流量,进而可以对磁盘生命周期内进程写入数据总流量的监测,以便可以基于进程在磁盘生命周期内写入数据总流量分析进程是否出现异常。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提出的一种数据写入流量统计方法的流程图;
图2示出了本申请实施例提出的一种可变时间间隔的示意图;
图3示出了本申请另一实施例提出的一种数据写入流量统计方法的流程图;
图4示出了本申请提出的一种数据写入流量统计方法的基本流程图;
图5示出了本申请实施例提出的一种数据写入流量统计装置的结构框图;
图6示出了本申请提出的一种电子设备的结构框图;
图7是本申请实施例的用于保存或者携带实现根据本申请实施例的数据写入流量统计方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
电子设备通常可以通过其设置的磁盘进行数据的存储。在一些情况下,可以通过对磁盘的操作信息进行获取,并根据获取的操作信息进行进一步的应用。例如,应用于进行异常分析。
但是,发明人在对相关研究中发现,在相关的获取磁盘的操作信息过程中,还无法实现获取磁盘写入数据总流量。
因此,发明人提出了本申请中的一种数据写入流量统计方法、装置以及电子设备,在获取正在运行的进程的进程名称以及进程名称对应的当前PID后,根据当前PID获取进程的当前磁盘写入数据流量,将当前PID与进程名称对应的历史PID进行比较,得到比较结果,基于当前磁盘写入数据流量和比较结果确定进程当前的磁盘写入数据总流量。通过上述方式使得,可以基于当前磁盘写入数据流量和比较结果,得到进程当前的磁盘写入数据总流量,进而可以对磁盘生命周期内进程写入数据总流量的监测,以便可以基于进程在磁盘生命周期内写入数据总流量分析进程是否出现异常。
为了更好地理解本申请实施例的方案,下面先对本申请实施例所使用的技术名词解释。
虚拟文件系统(Virtual File Systems,VFS):可以是物理文件系统与服务之间的一个接口层,虚拟文件系统可以为应用程序提供文件和文件系统操作的统一接口,并屏蔽不同文件系统的差异和操作细节。例如,proc文件系统就是一种虚拟文件系统。通过proc文件系统可以实现Linux内核空间和用户间进行通信。在proc文件系统中,可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段,proc文件系统主要可以用于查看运行中的内核,以便监控系统性能、查找系统信息、了解系统配置以及更改相关系统配置。
进程(Process):是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,程序是指令、数据及其组织形式的描述,进程是程序的实体;在当代面向线程设计的计算机结构中,进程是线程的容器。
进程识别号(Process Identification,PID):是各进程的代号,每个进程可以有唯一的PID编号。当进程开始运行时,系统可以自动为该进程分配一个PID,但PID是暂时唯一的,在该进程终止后,该进程对应的PID可以被回收,并可能被分配给另一个新进程。
需要说明的是,本申请实施例提供的数据写入流量统计方法可以应用于各种设置有磁盘的设备中。例如,可以应用于服务器、计算机以及智能手机等。再例如,也可以应用于设置有磁盘的车机设备中。
下面将结合附图来对本申请中的实施例进行说明。
请参阅图1,本申请提供的一种数据写入流量统计方法,所述方法包括:
S110:获取正在运行的进程的进程名称以及所述进程名称的当前PID。
在本申请实施例中,进程名称是指一个进程程序的标识,该标识可以由字符串表示,每一个进程可以对应有一个进程名称,且不同的进程的进程名称不同。PID是进程识别号,可以由正整数表示。
作为一种方式,电子设备可以循环地获取正在运行的进程的进程名称以及进程名称的当前PID。
可选的,电子设备可以按照固定的时间间隔循环地获取正在运行的进程的进程名称以及进程名称的当前PID。示例性的,电子设备可以每隔5分钟获取一次正在运行的进程的进程名称以及进程名称的当前PID。其中,该固定的时间间隔可以由运行数据写入流量统计方法的设备的开发人员配置,也可以由设备的使用人员根据自己的需要进行个性化的配置。
可选的,电子设备可以按照可变的时间间隔循环地获取正在运行的进程的进程名称以及进程名称的当前PID。在这种情况下,电子设备可以基于正在运行的进程的持续时间进行时间间隔的变换。
可选的,电子设备可以在当前执行一次获取正在运行的进程的进程名称以及进程名称的当前PID后,获取正在运行的进程的持续时间,然后根据该持续时间来确定时间间隔,该时间间隔为下一次获取正在运行的进程的进程名称以及进程名称的当前PID,与该当前执行获取正在运行的进程的进程名称以及进程名称的当前PID之间的间隔。其中,作为一种方式,可以预先建立有持续时间与时间间隔之间的对应关系。在这种方式下,在获取得到正在运行的进程的持续时间后,可以通过查询该对应关系来确定对应的时间间隔。作为另外一种方式,可以将正在运行的进程的持续时间与预设的时间间隔阈值进行比较,根据比较结果来确定对应的时间间隔。
需要说明的是,进程的持续时间可以理解为基于统计结果得到的进程从开始运行到结束的时间。作为一种方式,电子设备可以统计进程多次从开始运行到结束所需要的时间,将统计结果的均值作为该进程的持续时间。
需要说明的是,若获取到正在运行的进程只有一个的情况下,则可以将这该正在运行的进程的持续时间作为正在运行的进程的持续时间。若获取到正在运行的进程有多个的情况下,则可以将正在运行的进程各自对应的持续时间中最短的持续时间作为正在运行的进程的持续时间。
下面再通过一个示例来对可变的时间间隔进行说明。
例如,如图2所示,预设的时间间隔阈值为A,在T0时刻,电子设备执行了一次获取正在运行的进程的进程名称以及进程名称的当前PID,若电子设备所获取到的进程为持续时间较长的进程(该进程的持续时间大于或等于T,例如,即时通信软件、社交软件等进程)时,电子设备可以在间隔时间B(B>A)后,也就是T1(T0+B)时刻再次获取正在运行的进程的进程名称以及进程名称的当前PID;若在T1时刻所获取到的进程为持续时间较短的进程(该进程的持续时间小于T,例如,sync命令等)时,电子设备可以在间隔时间C(C<A)后,也就是T2(T1+C)时刻又一次获取正在运行的进程的进程名称以及进程名称的当前PID。
在本申请实施例中,上述两种方法都可以循环地获取正在运行的进程的进程名称以及进程名称的当前PID。其中,采用固定的时间间隔循环的方法更为简单、实施方便;采用可变的时间间隔循环的方法可以获取到持续时间较短的进程信息,使得结果更加准确。并且,通过循环获取正在运行的进程的进程名称以及进程名称的当前PID的方式,可以实现对该进程在磁盘生命周期内的磁盘写入数据总流量的统计。
可选的,以设备的操作系统为Linux系统为例,设备可以通过ps aux指令获取正在运行的进程的进程名称以及进程名称的当前PID。其中,ps命令是Process Status的缩写,可以用来显示Linux系统中当前运行进程的状态。aux可以显示所有包含其他使用者的进程。ps aux指令可以输出的参数包括:USER、PID、COMMAND等,其中COMMAND可以表示进程名称,PID可以表示该进程名称的当前PID。
需要说明的是,在每次获取到当前正在进行的进程的当前磁盘写入数据流量后,可以将进程的当前磁盘写入数据流量与进程名称以及PID进行关联存储,示例性的,进程名称为AAA,可以存储为{进程名称:AAA,PID:1234}。
S120:根据所述当前PID获取所述进程的当前磁盘写入数据流量。
其中,作为一种方式,可以根据当前PID在虚拟文件系统中查询进程的当前磁盘写入数据流量。可选的,可以通过指令proc/[pid]/io获取当前PID对应的进程的当前磁盘写入数据流量,其中[pid]是可变参数,具体可以是需要查询的进程所对应的PID,该指令可以反映进程从最近一次启动到执行该指令时刻所对应的磁盘写入总字节数。示例性的,当前PID可以为2000,可以通过指令proc/2000/io输出如表1所示的数据,其中write bytes的输出结果为当前PID对应进程的当前磁盘写入数据流量。
表1
S130:将所述当前PID与所述进程名称的历史PID进行比较,得到比较结果。
其中,由于步骤S110可以是重复多次执行的,历史PID可以为上一次通过步骤S110获取到PID,且上一次PID与当前PID具有相同的进程名称。
作为一种方式,电子设备可以在获取到当前PID的进程名称后,查询该进程名称的历史PID,再将当前PID与历史PID进行比较,得到比较结果,该比较结果可以用于表征当前PID与历史PID是否相同。例如,进程名称为AAA,若该进程名称的当前PID和历史PID均为1234,则可以得到表征当前PID与历史PID相同的比较结果;若该进程名称的当前PID为1234、历史PID为1200,则可以得到表征当前PID与历史PID不同的比较结果。
S140:基于所述当前磁盘写入数据流量和所述比较结果确定所述进程当前的磁盘写入数据总流量。
其中,作为一种方式,若比较结果表征当前PID与历史PID相同,则确定进程当前的磁盘写入数据总流量为当前磁盘写入数据流量。因为相同的进程在每一次运行时,系统都会随机分配一个PID,所以当比较结果表征当前PID与历史PID相同时,可以表明该进程是持续运行的,也就是说该进程在一段时间(历史PID对应的时刻到当前PID对应的时刻)内都在运行,因此可以通过指令proc/[pid]/io获取该进程从最近一次启动到执行该指令时刻的磁盘写入总字节数,并将该磁盘写入总字节数作为该进程当前的磁盘写入数据总流量。示例性的,当进程的当前PID和历史PID均为1234时,表明该进程是持续运行的,可以通过指令proc/[1234]/io获取该进程当前的磁盘写入数据流量,并用当前的磁盘写入数据流量将该进程历史的磁盘写入数据流量覆盖,得到进程当前的磁盘写入数据总流量。
作为另一种方式,若比较结果表征当前PID与历史PID不同,则确定进程当前的磁盘写入数据总流量为当前磁盘写入数据流量与进程的历史磁盘写入数据总流量之和。其中,当比较结果表征当前PID与历史PID不同时,可以表明该进程是重新启动过的,也就是说该进程在一段时间(历史PID对应的时刻到当前PID对应的时刻)内终止后又在该段时间内的某个时刻重新开始执行,因此可以通过指令proc/[pid]/io获取该进程从最近一次启动到执行该指令时刻的磁盘写入总字节数,并将该磁盘写入总字节数与进程的历史磁盘写入数据总流量之和作为该进程当前的磁盘写入数据总流量。示例性的,当进程的当前PID为1234、历史PID为1200时,表明该进程是重新启动的,可以通过指令proc/[1234]/io获取该进程当前的磁盘写入数据流量,并将当前的磁盘写入数据流量与该进程历史的磁盘写入数据流量相加,得到进程当前的磁盘写入数据总流量。
通过将当前PID与历史PID进行比较,可以确定进程的运行状况(持续运行还是重新启动),从而使得可以基于进程的执行情况对进程当前的写入数据总流量进行更加精确的统计。
可选的,电子设备可以重复步骤S110~S140,从而可以实现对磁盘生命周期内进程写入数据总流量的监测,以便可以基于进程在磁盘生命周期内写入数据总流量分析进程是否出现异常。示例性的,假设程序M对应的进程在磁盘生命周期内正常写入数据总流量的范围为小于A,而电子设备通过统计发现该进程在磁盘生命周期内实际的写入数据总流量为B,若B大于A,则表明该程序可能存在安全隐患,此时,电子设备可以发送一个询问信息以告知用户该程序可能存在威胁是否需要删除该程序。
本实施例提供的一种数据写入流量统计方法,在获取正在运行的进程的进程名称以及进程名称对应的当前PID后,根据当前PID获取进程的当前磁盘写入数据流量,将当前PID与进程名称对应的历史PID进行比较,得到比较结果,基于当前磁盘写入数据流量和比较结果确定进程当前的磁盘写入数据总流量。通过上述方式使得,可以基于当前磁盘写入数据流量和比较结果,得到进程当前的磁盘写入数据总流量,进而可以对磁盘生命周期内进程写入数据总流量的监测,以便可以基于进程在磁盘生命周期内写入数据总流量分析进程是否出现异常。并且,在本实施例中,可以直接基于Linux自带的虚拟文件系统得到的进程的当前磁盘写入数据流量来获取得到该进程在磁盘生命周期内写入数据总流量,从而使得在不需要对Linux的虚拟文件系统进行改进的情况下就可以获取得到该进程在磁盘生命周期内写入数据总流量。
请参阅图3,本申请提供的一种数据写入流量统计方法,所述方法包括:
S210:获取多个正在运行的进程各自的进程名称以及每一个进程名称的当前PID。
其中,作为一种方式,当电子设备获取到当前正在运行的进程有多个时,可以获取每一个进程的名称,并基于进程名称获取每一个进程名称的当前PID。
可选的,当正在运行的进程有多个时,可以对进程名称与当前PID按照对应关系存储成一个如表2所示的文件。
表2
进程名称 | 当前PID |
AAA | 1234 |
BBB | 2345 |
... | ... |
S220:根据每一个当前PID获取所述每一个进程名称的当前磁盘写入数据流量。
其中,作为一种方式,可以对表2中的当前PID进行遍历,然后通过指令proc/[pid]/io获取表2中每一个当前PID的磁盘写入数据流量,进而得到每一个进程名称的当前磁盘写入数据流量。
S230:将所述每一个进程名称的当前PID与所述每一个进程名称的历史PID进行比较,得到每一个进程名称的比较结果。
其中,作为一种方式,电子设备可以多次执行步骤S210,每次执行完成后可以对当次的结果进行保存,使得电子设备可以基于保存结果和表2将每一个进程名称的当前PID与历史PID进行比较,得到每一个进程名称的比较结果,以确定每一个进程的运行状态(持续运行或者重新启动)。
S240:基于所述每一个进程名称的当前磁盘写入数据流量和比较结果,确定系统当前的磁盘写入数据总流量。
其中,作为一种方式,可以按照步骤S140的方法得到每一个进程的当前磁盘写入数据总流量,再将所有正在运行的进程的磁盘写入数据总流量相加,以得到系统当前的磁盘写入数据总流量。
S250:将所述磁盘写入数据总流量进行持久化存储。
其中,作为一种方式,可以将磁盘写入数据总流量保存到磁盘中,以进行持久化存储,避免了因为掉电而导致数据消失并无法利用数据进行后续分析的情况。示例性的,可以将磁盘写入数据总流量按照表3的形式进行存储。
表3
可选的,电子设备可以多次执行步骤S210~S250,并基于每一次获取到的进程名称、PID以及进程磁盘写入数据总流量对持久化存储的内容进行更新。例如,进程AAA的当前PID可以为1234,上一次持久化存储的内容如表3所示,则通过表3可知,进程AAA的历史PID与当前PID相同,则将表3中进程AAA对应的进程写入数据总流量从25878更新为通过步骤S220得到的进程AAA当前的写入数据数据总流量,并对系统磁盘写入数据总流量进行相应的更新。再例如,进程BBB的当前PID可以为2580,上一次持久化存储的内容如表3所示,则通过表3可知,进程BBB的历史PID与当前PID不同,则将表3中进程BBB对应的进程写入数据总流量56985与通过步骤S220得到的进程BBB当前的写入数据数据流量相加,得到进程进程BBB当前的写入数据数据总流量,并对系统磁盘写入数据总流量进行相应的更新。再例如,当前出现了新的进程名称FFF,则将进程FFF对应的信息存储到表3中,并对系统磁盘写入数据总流量进行相应的更新。
本实施例提供的一种数据写入流量统计方法,通过上述方式使得,可以基于当前磁盘写入数据流量和比较结果,得到进程当前的磁盘写入数据总流量,进而可以对磁盘生命周期内进程写入数据总流量的监测,以便可以基于进程在磁盘生命周期内写入数据总流量分析进程是否出现异常。并且,在本实施例中,可以基于每一个进程名称的当前磁盘写入数据流量和比较结果,实现对系统当前的磁盘写入数据总流量的统计。并且可以在磁盘生命周期内,多次对系统当前的磁盘写入数据总流量进行统计更新,可以在系统磁盘容量异常耗尽时,基于系统的磁盘写入数据总流量以及每一个进程的磁盘写入数据总流量进行异常分析。
为了更好地理解本申请所有实施例的方案,下面结合电子设备对本申请的数据写入流量统计方法在Linux系统下的基本流程进行介绍。
请参阅图4,在T0(T0>0)时刻,电子设备可以向通过ps aux指令获取所有正在运行的进程的进程名称以及进程名称的当前PID,并将所有的进程名称与当前PID进行记录;在得到所有的当前PID后,电子设备可以基于指令proc/[pid]/io获取每一个进程当前的磁盘写入数据流量,再将相同进程对应的当前PID与历史PID(上一次记录的PID)进行比较,若当前PID与历史PID相同,则可以通过该进程当前的磁盘写入数据流量将上一次记录的进程写入数据总流量覆盖;若当前PID与历史PID不同,则可以将该进程当前的磁盘写入数据流量与上一次记录的进程写入数据总流量进行累加,并用累加后的结果将上一次记录的进程写入数据总流量覆盖,再经过t时间后,电子设备可以继续从获取所有正在运行的进程的进程名称以及进程名称的当前PID开始重复上述步骤,从而实现了在磁盘生命周期内对每一个进程以及系统磁盘的写入数据总流量的监测。
其中,时间t可以是固定不变的,也可是基于获取到的进程的持续时间变化的,进程持续时间越短,间隔时间t也就越短。
需要说明的是,步骤:比较当前PID与历史PID是否相同与步骤:获取每一个进程当前的磁盘写入数据流量的执行顺序是可以交换的,也就是说,可以先比较当前PID与历史PID,再获取每一个进程当前的磁盘写入数据流量。
请参阅图5,本申请提供的一种数据写入流量统计装置600,所述装置600包括:
进程获取单元610,用于获取正在运行的进程的进程名称以及所述进程名称的当前PID。
磁盘写入数据流量获取单元620,用于根据所述当前PID获取所述进程的当前磁盘写入数据流量。
比较结果获取单元630,用于将所述当前PID与所述进程名称的历史PID进行比较,得到比较结果。
磁盘写入数据总流量获取单元640,用于基于所述当前磁盘写入数据流量和所述比较结果确定所述进程当前的磁盘写入数据总流量。
作为一种方式,磁盘写入数据总流量获取单元640具体用于若所述当前PID与所述历史PID相同,则确定所述进程当前的磁盘写入数据总流量为所述当前磁盘写入数据流量;若所述当前PID与所述历史PID不同,则确定所述进程当前的磁盘写入数据总流量为所述当前磁盘写入数据流量与所述进程的历史磁盘写入数据总流量之和。
作为另一种方式,磁盘写入数据总流量获取单元640具体用于将所述磁盘写入数据总流量进行持久化存储。
作为再一种方式,正在当所述正在运行的进程有多个时,进程获取单元610具体用于获取多个正在运行的进程各自的进程名称以及每一个进程名称的当前PID。磁盘写入数据流量获取单元620具体用于根据每一个当前PID获取所述每一个进程名称的当前磁盘写入数据流量。比较结果获取单元630具体用于将所述每一个进程名称的当前PID与所述每一个进程名称的历史PID进行比较,得到每一个进程名称的比较结果。磁盘写入数据总流量获取单元640具体用于基于所述每一个进程名称的当前磁盘写入数据流量和比较结果,确定系统当前的磁盘写入数据总流量。
可选的,进程获取单元610具体用于循环地获取正在运行的进程的进程名称以及所述进程名称的当前PID。
可选的,磁盘写入数据流量获取单元620具体用于根据所述当前PID在虚拟文件系统中查询所述进程的当前磁盘写入数据流量。
可选的,所述进程名称由字符串表示,所述PID由正整数表示。
下面将结合图6对本申请提供的一种电子设备进行说明。
请参阅图6,基于上述的数据写入流量统计方法、装置,本申请实施例还提供的另一种可以执行前述数据写入流量统计方法的电子设备100。电子设备100包括相互耦合的一个或多个(图中仅示出一个)处理器102、存储器104。其中,该存储器104中存储有可以执行前述实施例中内容的程序,而处理器102可以执行该存储器104中存储的程序。
其中,处理器102可以包括一个或者多个处理核。处理器102利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器104内的指令、程序、代码集或指令集,以及调用存储在存储器104内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器102可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器102可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器102中,单独通过一块通信芯片进行实现。
存储器104可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器104可用于存储指令、程序、代码、代码集或指令集。存储器104可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图7,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读存储介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
综上所述,本申请提供的一种数据写入流量统计方法、装置以及电子设备,在获取正在运行的进程的进程名称以及进程名称对应的当前PID后,根据当前PID获取进程的当前磁盘写入数据流量,将当前PID与进程名称对应的历史PID进行比较,得到比较结果,基于当前磁盘写入数据流量和比较结果确定进程当前的磁盘写入数据总流量。通过上述方式使得,可以基于当前磁盘写入数据流量和比较结果,得到进程当前的磁盘写入数据总流量,进而可以对磁盘生命周期内进程写入数据总流量的监测,以便可以基于进程在磁盘生命周期内写入数据总流量分析进程是否出现异常。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种数据写入流量统计方法,其特征在于,所述方法包括:
获取正在运行的进程的进程名称以及所述进程名称的当前PID;
根据所述当前PID获取所述进程的当前磁盘写入数据流量;
将所述当前PID与所述进程名称的历史PID进行比较,得到比较结果;
基于所述当前磁盘写入数据流量和所述比较结果确定所述进程当前的磁盘写入数据总流量。
2.根据权利要求1所述的方法,其特征在于,所述基于所述当前磁盘写入数据流量和所述比较结果确定所述进程当前的磁盘写入数据总流量,包括:
若所述当前PID与所述历史PID相同,则确定所述进程当前的磁盘写入数据总流量为所述当前磁盘写入数据流量;
若所述当前PID与所述历史PID不同,则确定所述进程当前的磁盘写入数据总流量为所述当前磁盘写入数据流量与所述进程的历史磁盘写入数据总流量之和。
3.根据权利要求1所述的方法,其特征在于,所述获取正在运行的进程的进程名称以及所述进程名称的当前PID,包括:
循环地获取正在运行的进程的进程名称以及所述进程名称的当前PID。
4.根据权利要求1所述的方法,其特征在于,所述根据所述当前PID获取所述进程的当前磁盘写入数据流量,包括:
根据所述当前PID在虚拟文件系统中查询所述进程的当前磁盘写入数据流量。
5.根据权利要求1所述的方法,其特征在于,当所述正在运行的进程有多个时,所述方法还包括:
获取多个正在运行的进程各自的进程名称以及每一个进程名称的当前PID;
根据每一个当前PID获取所述每一个进程名称的当前磁盘写入数据流量;
将所述每一个进程名称的当前PID与所述每一个进程名称的历史PID进行比较,得到每一个进程名称的比较结果;
基于所述每一个进程名称的当前磁盘写入数据流量和比较结果,确定系统当前的磁盘写入数据总流量。
6.根据权利要求1-5任一所述的方法,其特征在于,所述进程名称由字符串表示,所述PID由正整数表示。
7.根据权利要求1-5任一所述的方法,其特征在于,所述基于所述当前磁盘写入数据流量和所述比较结果确定所述进程当前的磁盘写入数据总流量之后,还包括:
将所述磁盘写入数据总流量进行持久化存储。
8.一种数据写入流量统计装置,其特征在于,所述装置包括:
进程获取单元,用于获取正在运行的进程的进程名称以及所述进程名称的当前PID;
磁盘写入数据流量获取单元,用于根据所述当前PID获取所述进程的当前磁盘写入数据流量;
比较结果获取单元,用于将所述当前PID与所述进程名称的历史PID进行比较,得到比较结果;
磁盘写入数据总流量获取单元,用于基于所述当前磁盘写入数据流量和所述比较结果确定所述进程当前的磁盘写入数据总流量。
9.一种电子设备,其特征在于,包括一个或多个处理器以及存储器;
一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行权利要求1-7任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行权利要求1-7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210094120.7A CN115220648A (zh) | 2022-01-26 | 2022-01-26 | 数据写入流量统计方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210094120.7A CN115220648A (zh) | 2022-01-26 | 2022-01-26 | 数据写入流量统计方法、装置以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115220648A true CN115220648A (zh) | 2022-10-21 |
Family
ID=83606261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210094120.7A Pending CN115220648A (zh) | 2022-01-26 | 2022-01-26 | 数据写入流量统计方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115220648A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104104560A (zh) * | 2014-08-08 | 2014-10-15 | 广东欧珀移动通信有限公司 | 一种应用流量的监控方法、装置及移动终端 |
CN107402835A (zh) * | 2017-07-25 | 2017-11-28 | 广东欧珀移动通信有限公司 | 应用程序的异常处理方法、装置及存储介质和移动终端 |
CN110196681A (zh) * | 2018-04-11 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 业务写操作的磁盘数据写入控制方法及装置、电子设备 |
CN110688319A (zh) * | 2019-09-30 | 2020-01-14 | RealMe重庆移动通信有限公司 | 应用保活能力测试方法及相关装置 |
US20210303312A1 (en) * | 2020-03-27 | 2021-09-30 | Sysdig, Inc. | Dynamic instrumentation via user-level mechanisms |
CN113886336A (zh) * | 2021-10-25 | 2022-01-04 | 珠海市魅族科技有限公司 | 流量检测方法、装置、设备及介质 |
-
2022
- 2022-01-26 CN CN202210094120.7A patent/CN115220648A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104104560A (zh) * | 2014-08-08 | 2014-10-15 | 广东欧珀移动通信有限公司 | 一种应用流量的监控方法、装置及移动终端 |
CN107402835A (zh) * | 2017-07-25 | 2017-11-28 | 广东欧珀移动通信有限公司 | 应用程序的异常处理方法、装置及存储介质和移动终端 |
CN110196681A (zh) * | 2018-04-11 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 业务写操作的磁盘数据写入控制方法及装置、电子设备 |
CN110688319A (zh) * | 2019-09-30 | 2020-01-14 | RealMe重庆移动通信有限公司 | 应用保活能力测试方法及相关装置 |
US20210303312A1 (en) * | 2020-03-27 | 2021-09-30 | Sysdig, Inc. | Dynamic instrumentation via user-level mechanisms |
CN113886336A (zh) * | 2021-10-25 | 2022-01-04 | 珠海市魅族科技有限公司 | 流量检测方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104298612A (zh) | 移动终端中清理内存的方法、装置和移动终端 | |
WO2016141735A1 (zh) | 缓存数据的确定方法及装置 | |
JP2009205254A (ja) | 計算機、ダンププログラムおよびダンプ方法 | |
CN110209348B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN115639971B (zh) | 数据写入方法、装置、电子设备、存储介质及程序产品 | |
CN113886193A (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
CN109144862A (zh) | 测试数据的统计方法、装置、计算机设备及存储介质 | |
CN111045824A (zh) | 应用控制方法、装置、电子设备以及计算机可读介质 | |
CN109842621A (zh) | 一种减少token存储数量的方法及终端 | |
CN110674149B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN111124315A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN113760187B (zh) | 重删io线程生成方法、系统、终端及存储介质 | |
CN109284193A (zh) | 一种基于多线程的分布式数据处理方法及服务器 | |
CN107229421B (zh) | 视频数据存储系统的创建、文件写入和读取方法及装置 | |
CN111913913A (zh) | 访问请求的处理方法和装置 | |
CN115220648A (zh) | 数据写入流量统计方法、装置以及电子设备 | |
CN112328602A (zh) | 一种数据写入Kafka的方法、装置及设备 | |
CN110245046B (zh) | 一种针对Android App无埋点的数据统计方法及装置 | |
CN115398406A (zh) | 数据压缩方法、装置、电子设备及存储介质 | |
CN111672128A (zh) | 基于本地保留时长识别的游戏商城游戏推荐方法及系统 | |
CN114402313A (zh) | 标签更新方法、装置、电子设备及存储介质 | |
CN114637656B (zh) | 基于Redis的监控方法、装置、存储介质和设备 | |
CN111078418A (zh) | 操作同步方法、装置、电子设备及计算机可读存储介质 | |
CN113302593A (zh) | 任务处理方法、装置、系统、电子设备及存储介质 | |
CN115934999A (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 |