一种数据处理方法以及设备与流程

文档序号:22041523发布日期:2020-08-28 18:10阅读:121来源:国知局
一种数据处理方法以及设备与流程

本申请涉及电子技术领域,尤其涉及一种数据处理方法以及设备。



背景技术:

为了保证系统的正常运行,需要对程序运行状态信息进行采集,传统的信息采集主要以日志的方式记录程序的运行流程,然后将日志写入文件,通过分析日志来定位程序异常问题。以日志的方式定位程序异常问题,可以解决一些常见的问题,但作为全局的系统,依然存在着一些问题:例如,将采集到的日志保存到文件,文件过于冗余,对终端的i/o(输入输出)消耗很大;同时,日志文件缺少分析工具方式,问题分析排查都需要人工阅读,导致排查问题的效率低下。



技术实现要素:

本申请实施例提供一种数据处理方法以及设备,可以提高对应用程序中数据分析的效率。

本申请实施例一方面提供了一种数据处理方法,可包括:

采集应用程序中目标线程的运行指标;

将所述运行指标进行序列化处理,得到序列文件;

将所述序列文件进行分页处理,得到文件分页,存储所述文件分页;

响应针对所述应用程序的指标显示操作,从所述文件分页中读取所述序列文件;

将所述序列文件转换为所述指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据。

其中,还包括:

对所述运行指标的层级路径信息进行哈希转换,生成层级路径信息对应的哈希值,将所述哈希值作为所述运行指标的路径标志;

对所述运行指标进行压缩处理,将压缩处理后的运行指标和所述路径标志存储至所述目标线程对应的临时存储空间;所述临时存储空间是在目标线程启动时所分配的;

则所述将所述运行指标进行序列化处理,得到序列文件,包括:

从所述临时存储空间中获取压缩处理后的运行指标,将所述压缩处理后的运行指标通过序列化函数生成字节序列;

将所述字节序列存储至具有目标格式的文件中,将所述路径标志作为所述文件的文件名称,将存储所述字节序列的文件确定为序列文件。

其中,所述采集应用程序中目标线程的运行指标,包括:

获取应用程序中目标线程的锚点信息,根据所述锚点信息确定对目标线程进行运行指标采集的位置信息;

根据所述位置信息采集应用程序中目标线程的运行指标。

其中,所述将所述序列文件进行分页处理,得到文件分页,存储所述文件分页,包括:

获取所述序列文件的文件属性,将所述序列文件存储至文件分页集合中所述文件属性对应的文件分页中,所述文件分页集合中包括至少一个文件分页;

以所述文件分页为存储单位对所述序列文件进行存储。

其中,还包括:

对所述文件分页进行存储之前,将所述文件分页在备份存储空间中进行备份;

当所述文件分页存储成功时,将所述文件分页从所述备份存储空间中删除;

当接收到所述应用程序的启动指令时,若所述备份存储空间中存在文件分页,则将所述备份存储空间中的文件分页进行恢复。

其中,所述响应针对所述应用程序的指标显示操作,从所述文件分页中读取所述序列文件,包括:

响应针对所述应用程序的指标显示操作,根据所述指标显示操作中携带的路径标志从配置表中获取对应的哈希值;所述配置表用于存储路径标志和哈希值的对应关系;

根据所述哈希值从文件分页中获取所述哈希值对应的序列文件。

其中,所述将所述序列文件转换为所述指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据,包括:

将所述序列文件中的字节序列,通过反序列化函数生成字节序列对应的运行指标;

根据所述指标显示操作将所述运行指标进行预处理,根据预处理后的运行指标生成指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据。

本申请实施例一方面提供了一种数据处理设备,可包括:

指标采集单元,用于采集应用程序中目标线程的运行指标;

文件生成单元,用于将所述运行指标进行序列化处理,得到序列文件;

文件存储单元,用于将所述序列文件进行分页处理,得到文件分页,存储所述文件分页;

文件读取单元,用于响应针对所述应用程序的指标显示操作,从所述文件分页中读取所述序列文件;

数据显示单元,用于将所述序列文件转换为所述指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据。

其中,还包括:

信息转换单元,用于对所述运行指标的层级路径信息进行哈希转换,生成层级路径信息对应的哈希值,将所述哈希值作为所述运行指标的路径标志;对所述运行指标进行压缩处理,将压缩处理后的运行指标和所述路径标志存储至所述目标线程对应的临时存储空间;所述临时存储空间是在目标线程启动时所分配的;

则所述文件生成单元具体用于:

从所述临时存储空间中获取压缩处理后的运行指标,将所述压缩处理后的运行指标通过序列化函数生成字节序列;

将所述字节序列存储至具有目标格式的文件中,将所述路径标志作为所述文件的文件名称,将存储所述字节序列的文件确定为序列文件。

其中,所述指标采集单元具体用于:

获取应用程序中目标线程的锚点信息,根据所述锚点信息确定对目标线程进行运行指标采集的位置信息;

根据所述位置信息采集应用程序中目标线程的运行指标。

其中,所述文件存储单元具体用于:

获取所述序列文件的文件属性,将所述序列文件存储至文件分页集合中所述文件属性对应的文件分页中,所述文件分页集合中包括至少一个文件分页;

以所述文件分页为存储单位对所述序列文件进行存储。

其中,还包括:

数据备份单元,用于对所述文件分页进行存储之前,将所述文件分页在备份存储空间中进行备份;

当所述文件分页存储成功时,将所述文件分页从所述备份存储空间中删除;

当接收到所述应用程序的启动指令时,若所述备份存储空间中存在文件分页,则将所述备份存储空间中的文件分页进行恢复。

其中,所述文件读取单元具体用于:

响应针对所述应用程序的指标显示操作,根据所述指标显示操作中携带的路径标志从配置表中获取对应的哈希值;所述配置表用于存储路径标志和哈希值的对应关系;

根据所述哈希值从文件分页中获取所述哈希值对应的序列文件。

其中,所述数据显示单元具体用于:

将所述序列文件中的字节序列,通过反序列化函数生成字节序列对应的运行指标;

根据所述指标显示操作将所述运行指标进行预处理,根据预处理后的运行指标生成指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据。

本申请实施例一方面提供了一种计算机可读存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。

本申请实施例一方面提供了一种计算机设备,包括处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。

在本申请实施例中,通过采集应用程序中目标线程的运行指标;将所述运行指标进行序列化处理,得到序列文件;将所述序列文件进行分页处理,得到文件分页,存储所述文件分页;响应针对所述应用程序的指标显示操作,从所述文件分页中读取所述序列文件;将所述序列文件转换为所述指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据。通过对文件进行分页处理,可以减少终端中i/o读写的频率,避免了对终端的i/o(输入输出)消耗过大的问题,通过将运行指标转换为统计数据,便于对应用程序进行数据分析和问题排查,提高了对应用程序中数据分析的效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种数据处理的系统架构图;

图2是本申请实施例提供的一种数据处理方法的流程示意图;

图3是本申请实施例提供的一种数据处理方法的流程示意图;

图4a是本申请实施例提供的一种文件分页的举例示意图;

图4b是本申请实施例提供的一种数据采集和分析的举例示意图;

图4c是本申请实施例提供的一种指标统计页面的举例示意图;

图5是本申请实施例提供的一种数据处理设备的结构示意图;

图6是本申请实施例提供的一种计算机设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参见图1,是本发明实施例提供的一种数据处理的系统架构图。服务器10f通过交换机10e和通信总线10d与用户终端集群建立连接,用户终端集群可包括:用户终端10a、用户终端10b、...、用户终端10c。数据库10g中存储了多个文件分页,用户终端采集应用程序中目标线程的运行指标,对运行指标的层级路径信息进行哈希转换,生成层级路径信息对应的哈希值,用户终端对运行指标进行压缩处理,将压缩处理后的运行指标和路径标志存储至目标线程对应的临时存储空间,用户终端从临时存储空间中获取压缩处理后的运行指标,根据压缩处理后的运行指标生成序列文件,将所述序列文件进行分页处理,得到文件分页,将所述文件分页存储至服务器10f,用户终端响应针对所述应用程序的指标显示操作,从服务器10f中的文件分页中读取所述序列文件,用户终端将所述序列文件转换为所述指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据。

本申请实施例涉及的服务器10f可以是具有数据传输和存储的服务器,所述用户终端包括:平板电脑、智能手机、个人电脑(pc)、笔记本电脑、掌上电脑等终端设备。

请参见图2,为本申请实施例提供了一种数据处理方法的流程示意图。如图2所示,本申请实施例的所述方法可以包括以下步骤s101-步骤s105。

s101,采集应用程序中目标线程的运行指标;

具体的,数据处理设备采集应用程序中目标线程的运行指标,可以理解的是,所述数据处理设备可以是图1中的用户终端,所述应用程序是终端中的运行的软件,应用程序中包括多个线程,每个线程执行不同的任务,所述目标线程为应用程序中的任意一个线程,所述目标线程可以是指定的一个线程,运行指标对应应用程序的状态信息,具体可以是程序运行状态或网络状态,采集的运行指标包括路径标志,路径标志采用层级路径信息进行表示,如“net.rtt”,“net.rtt”表示在“net”分类下的“rtt”子项,采集的运行指标还包括采集的具体数值和采集运行指标的采集时间戳,运行指标还包括标志组合,标志组合对应运行指标的属性,例如,运行指标是否写入文件,是否在网络上传输。

s102,将所述运行指标进行序列化处理,得到序列文件;

具体的,数据处理设备将所述运行指标进行序列化处理,得到序列文件,可以理解的是,序列化处理是指把待处理对象转换为字节序列的过程,序列化处理的可以在传递和保存待处理对象的时候,保证待处理对象的完整性和可传递性。序列化处理是把对象转换成有序字节流,可以在网络上传输或者保存在本地文件中。数据处理设备通过序列化函数将运行指标进行转化生成字节序列,将所述字节序列存储至对应文件中,将存储字节序列的文件确定为序列文件。

s103,将所述序列文件进行分页处理,得到文件分页,存储所述文件分页;

具体的,数据处理设备将所述序列文件进行分页处理,得到文件分页,存储所述文件分页,可以理解的是,所述文件分页集合中包括至少一个文件分页,每个文件分页中前面有固定大小分页头描述了该文件分页的一些基本信息,每个文件分页对应一个文件属性,所述文件属性为文件分页存储文件的文件类别,文件分页以链式的方式保存,每个线程有独立的一条分页链,每条分页链上的内容是按照时间戳排序的,每次io读写(文件io/网络io)以一个文件分页的大小为单位,减少了io读写的频率。

s104,响应针对所述应用程序的指标显示操作,从所述文件分页中读取所述序列文件;

具体的,数据处理设备响应针对所述应用程序的指标显示操作,从所述文件分页中读取所述序列文件,可以理解的是,所述指标显示操作携带有路径标志,所述路径标志对应序列文件的存储地址,根据所述路径标志从存储文件分页的存储空间中获取对应的序列文件,所述路径标志可以是层级路径信息对应的哈希值,层级路径信息和哈希值的对应关系可以通过配置表获取,具体的,根据所述路径标志从配置表中获取对应的哈希值,根据所述哈希值从文件分页中获取所述哈希值对应的序列文件,所述序列文件即为指标显示操作所指示的数据。

s105,将所述序列文件转换为所述指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据。

具体的,数据处理设备将所述序列文件转换为所述指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据,可以理解的是,通过反序列化函数对所述序列文件中的字节序列进行反序列化处理,生成字节序列对应的运行指标,序列化是指把运行指标转换为字节序列的过程,而反序列化是与序列化相对的操作过程,是指把字节序列恢复为运行指标的过程。将运行指标按照指标统计页面的显示格式进行封装生成统计数据,所述统计数据包括曲线图、时序图等,在指标统计页面中显示所述统计数据。

在本申请实施例中,通过采集应用程序中目标线程的运行指标;将所述运行指标进行序列化处理,得到序列文件;将所述序列文件进行分页处理,得到文件分页,存储所述文件分页;响应针对所述应用程序的指标显示操作,从所述文件分页中读取所述序列文件;将所述序列文件转换为所述指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据。通过对文件进行分页处理,可以减少终端中i/o读写的频率,避免了对终端的i/o(输入输出)消耗过大的问题,通过将运行指标转换为统计数据,便于对应用程序进行数据分析和问题排查,提高了对应用程序中数据分析的效率。

请参见图3,为本申请实施例提供了一种数据处理方法的流程示意图。如图3所示,本申请实施例的所述方法可以包括以下步骤s201-步骤s207。

s201,获取应用程序中目标线程的锚点信息,根据所述锚点信息确定对目标线程进行运行指标采集的位置信息;根据所述位置信息采集应用程序中目标线程的运行指标。

具体的,数据处理设备获取应用程序中目标线程的锚点信息,根据所述锚点信息确定对目标线程进行运行指标采集的位置信息;根据所述位置信息采集应用程序中目标线程的运行指标,可以理解的是,应用程序中包括多个线程,每个线程执行不同的任务,所述锚点信息是用于标记位置的指示信息,例如,锚点信息可以放置在程序代码中的第一行代码对应的位置,则程序代码的第一行代码的位置信息为运行指标的采集位置,需要说明的是,可以根据锚点信息创建锚点信息对应的锚点链接,锚点链接可快速访问到指定锚点信息指定的位置。最后根据位置信息采集应用程序中目标线程的运行指标,运行指标对应应用程序的状态信息,具体可以是程序运行状态或网络状态,采集的运行指标包括路径标志,路径标志采用层级路径信息进行表示,如“net.rtt”,“net.rtt”表示在“net”分类下的“rtt”子项,采集的运行指标还包括采集的具体数值和采集运行指标的采集时间戳,运行指标还包括标志组合,标志组合对应运行指标的属性,例如,运行指标是否写入文件,是否在网络上传输。

s202,对所述运行指标的层级路径信息进行哈希转换,生成层级路径信息对应的哈希值,将所述哈希值作为所述运行指标的路径标志;对所述运行指标进行压缩处理,将压缩处理后的运行指标和所述路径标志存储至所述目标线程对应的临时存储空间;所述临时存储空间是在目标线程启动时所分配的;

具体的,数据处理设备对所述运行指标的层级路径信息进行哈希转换,生成层级路径信息对应的哈希值,将所述哈希值作为所述运行指标的路径标志;对所述运行指标进行压缩处理,将压缩处理后的运行指标和所述路径标志存储至所述目标线程对应的临时存储空间;所述临时存储空间是在目标线程启动时所分配的,可以理解的是,运行指标的路径标志采用层级路径信息进行表示,层级路径信息的层级通常较多,导致层级路径信息较长,在对路径标志进行存档时数据量较大,因此,为了减少冗余,对所述运行指标的层级路径信息进行哈希转换,生成层级路径信息对应的哈希值,通过哈希转换后的哈希值为固定长度的数据,若哈希转换后的哈希值为16位,则任意长度的层级路径信息均可转换为16位的数据。

同时,为了减少运行指标占用字节长度,对所述运行指标进行压缩处理,例如,进行压缩处理前的整形数据进行了变长的压缩,如一个int64整形666正常的内存为:9a02000000000000,占用8个字节,在使用压缩处理之后,内存为:851a,只占用2个字节,大大的减少了存储的空间。然后将压缩处理后的运行指标和所述路径标志存储至所述目标线程对应的临时存储空间,所述临时存储空间是在目标线程启动时所分配的,线程结束时回收,具体的,所述临时存储空间可以是线程本地变量(tls),由于临时存储空间之间独立,所以保存的过程不涉及线程冲突,可以解决全局锁竞争问题,多个线程可以同时进行运行指标的采集,提高了数据采集的效率。

s203,从所述临时存储空间中获取压缩处理后的运行指标,将所述压缩处理后的运行指标通过序列化函数生成字节序列;将所述字节序列存储至具有目标格式的文件中,将所述路径标志作为所述文件的文件名称,将存储所述字节序列的文件确定为序列文件。

具体的,数据处理设备从所述临时存储空间中获取压缩处理后的运行指标,将所述压缩处理后的运行指标通过序列化函数生成字节序列;将所述字节序列存储至具有目标格式的文件中,将所述路径标志作为所述文件的文件名称,将存储所述字节序列的文件确定为序列文件,可以理解的是,所述临时存储空间是在目标线程启动时所分配的,所述临时存储空间与目标线程是一一对应的关系,从所述临时存储空间中获取压缩处理后的运行指标,通过序列化函数将运行指标进行转化生成字节序列,将所述字节序列存储至具有目标格式的文件中,上述文件可以在网络上传输,同时,上述字节序列可以通过反序列化处理将其还原为运行指标,保证了运行指标的完整性和可传递性,采用所述路径标志作为所述文件的文件名称,将存储字节序列的文件确定为序列文件。

s204,获取所述序列文件的文件属性,将所述序列文件存储至文件分页集合中所述文件属性对应的文件分页中,所述文件分页集合中包括至少一个文件分页;以所述文件分页为存储单位对所述序列文件进行存储。

具体的,数据处理设备获取所述序列文件的文件属性,将所述序列文件存储至文件分页集合中所述文件属性对应的文件分页中,以所述文件分页为存储单位对所述序列文件进行存储,可以理解的是,所述文件分页集合中包括至少一个文件分页,每个文件分页中前面有固定大小分页头描述了该文件分页的一些基本信息,每个文件分页对应一个文件属性,所述文件属性为文件分页存储文件的文件类别,例如,文件属性包括“item”、“thread”、“index”,将文件属性为“item”的序列文件存储至“item”对应的文件分页中,请参见图4a,为本申请实施例提供了一种文件分页的举例示意图。如图4a所示,数据分页集合中包括文件分页page0、文件分页page1...、文件分页pagen,每个文件分页对应一个文件属性,page0对应的文件属性为“item”,page1对应的文件属性为“thread”,page2对应的文件属性为“index”,每个文件分页用于存储对应的文件类型。文件分页以链式的方式保存,每个线程有独立的一条分页链,每条分页链上的内容是按照时间戳排序的,每次io读写以一个文件分页的大小为单位,减少了io读写的频率。

s205,对所述文件分页进行存储之前,将所述文件分页在备份存储空间中进行备份;当所述文件分页存储成功时,将所述文件分页从所述备份存储空间中删除;当接收到所述应用程序的启动指令时,若所述备份存储空间中存在文件分页,则将所述备份存储空间中的文件分页进行恢复。

具体的,数据处理设备将所述文件分页在备份存储空间中进行备份;当所述文件分页存储成功时,将所述文件分页从所述备份存储空间中删除;当接收到所述应用程序的启动指令时,若所述备份存储空间中存在文件分页,则将所述备份存储空间中的文件分页进行恢复,可以理解的是,在对分页文件进行存储时,可能会出现写入中断的场景,因此对所述文件分页进行存储之前,将所述文件分页在备份存储空间中进行备份,所述备份存储空间是用于存储备份文件的独立空间,当所述文件分页存储成功时,会接受到存储成功的指令,根据存储成功的指令将所述文件分页从所述备份存储空间中删除,若出现存储中断的情况,则不会接受到存储成功的指令,备份存储空间中一直存在存储中断的文件分页,当系统再次启动,接收到所述应用程序的启动指令时,则将所述备份存储空间中的文件分页进行恢复。

s206,响应针对所述应用程序的指标显示操作,根据所述指标显示操作中携带的路径标志从配置表中获取对应的哈希值;所述配置表用于存储路径标志和哈希值的对应关系;根据所述哈希值从文件分页中获取所述哈希值对应的序列文件。

具体的,数据处理设备响应针对所述应用程序的指标显示操作,根据所述指标显示操作中携带的路径标志从配置表中获取对应的哈希值;根据所述哈希值从文件分页中获取所述哈希值对应的序列文件,可以理解的是,所述指标显示操作携带有路径标志,根据所述路径标志从存储文件分页的存储空间中获取对应的序列文件,所述配置表用于存储路径标志和哈希值的对应关系,具体的,根据所述路径标志从配置表中获取对应的哈希值,根据所述哈希值从文件分页中获取所述哈希值对应的序列文件,所述序列文件即为指标显示操作所指示的数据。

s207,将所述序列文件中的字节序列,通过反序列化函数生成字节序列对应的运行指标;根据所述指标显示操作将所述运行指标进行预处理,根据预处理后的运行指标生成指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据。

具体的,数据处理设备将所述序列文件中的字节序列,通过反序列化函数生成字节序列对应的运行指标;根据所述指标显示操作将所述运行指标进行预处理,根据预处理后的运行指标生成指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据,可以理解的是,通过反序列化函数对所述序列文件中的字节序列进行反序列化处理,生成字节序列对应的运行指标,序列化是指把运行指标转换为字节序列的过程,而反序列化是与序列化相对的操作过程,是指把字节序列恢复为运行指标的过程。根据所述指标显示操作将所述运行指标进行预处理,所述预处理包括对运行指标中的信息进行整理,例如,对相同类型的数据进行归类,或者根据指标显示操作的规则对运行指标中的数据进行过滤等,将预处理后的运行指标按照指标统计页面的显示格式进行封装生成统计数据,所述统计数据包括曲线图、时序图等,在指标统计页面中显示所述统计数据。请参见图4b,为本申请实施例提供了一种数据采集和分析的举例示意图。如图4b所示,数据处理设备包括数据采集和数据分析模块,数据采集模块通过应用接口层采集应用程序中目标线程的运行指标,数据采集层中包括线程支持信息、数据采集支持的类型等信息,数据采集模块对根据运行指标生成序列文件,将所述序列文件进行分页处理,得到文件分页,对所述文件分页进行存储,数据分析模块响应针对所述应用程序的指标显示操作,从所述文件分页中获取所述序列文件,将所述序列文件转换为所述指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据,在指标统计页面中的统计数据包括显示时序视图和曲线图。请参见图4c,为本申请实施例提供了一种指标统计页面的举例示意图。如图4c所示,指标统计页面的显示页面包括菜单栏,视图展示区域,条件/时间过滤等区域,其中菜单栏包括“文件”、“视图”、“工具”等信息,视图展示区域用于展示对运行指标的视图信息,包括时序视图和曲线图,条件过滤区域用于输入筛选的条件,具体可以是时间条件。

在本申请实施例中,通过采集应用程序中目标线程的运行指标;对运行指标的层级路径信息进行哈希转换,生成层级路径信息对应的哈希值,对运行指标进行压缩处理,将压缩处理后的运行指标和路径标志存储至目标线程对应的临时存储空间;从临时存储空间中获取压缩处理后的运行指标,根据压缩处理后的运行指标生成序列文件,将所述序列文件进行分页处理,得到文件分页,存储所述文件分页;响应针对所述应用程序的指标显示操作,从所述文件分页中读取所述序列文件;将所述序列文件转换为所述指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据。通过对所述运行指标的层级路径信息进行哈希转换,可以减少数据冗余,通过对文件进行分页处理,可以减少终端中i/o读写的频率,避免了对终端的i/o消耗过大的问题,通过将运行指标转换为统计数据,便于对应用程序进行数据分析和问题排查,提高了对应用程序中数据分析的效率。

请参见图5,为本申请实施例提供了一种数据处理设备的结构示意图。所述数据处理设备可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理设备为一个应用软件;该设备可以用于执行本申请实施例提供的方法中的相应步骤。如图5所示,本申请实施例的所述数据处理设备1可以包括:指标采集单元11、文件生成单元12、文件存储单元13、文件读取单元14、数据显示单元15、信息转换单元16、数据备份单元17。

指标采集单元11,用于采集应用程序中目标线程的运行指标;

具体的,指标采集单元11采集应用程序中目标线程的运行指标,可以理解的是,所述应用程序是终端中的运行的软件,应用程序中包括多个线程,每个线程执行不同的任务,所述目标线程为应用程序中的任意一个线程,所述目标线程可以是指定的一个线程,运行指标对应应用程序的状态信息,具体可以是程序运行状态或网络状态,采集的运行指标包括路径标志,路径标志采用层级路径信息进行表示,如“net.rtt”,“net.rtt”表示在“net”分类下的“rtt”子项,采集的运行指标还包括采集的具体数值和采集运行指标的采集时间戳,运行指标还包括标志组合,标志组合对应运行指标的属性,例如,运行指标是否写入文件,是否在网络上传输。

文件生成单元12,用于将所述运行指标进行序列化处理,得到序列文件;

具体的,文件生成单元12将所述运行指标进行序列化处理,得到序列文件,可以理解的是,序列化处理是指把待处理对象转换为字节序列的过程,序列化处理的可以在传递和保存待处理对象的时候,保证待处理对象的完整性和可传递性。序列化处理是把对象转换成有序字节流,可以在网络上传输或者保存在本地文件中。数据处理设备通过序列化函数将运行指标进行转化生成字节序列,将所述字节序列存储至对应文件中,将存储字节序列的文件确定为序列文件。

文件存储单元13,用于将所述序列文件进行分页处理,得到文件分页,存储所述文件分页;

具体的,文件存储单元13将所述序列文件进行分页处理,得到文件分页,存储所述文件分页,可以理解的是,所述文件分页集合中包括至少一个文件分页,每个文件分页中前面有固定大小分页头描述了该文件分页的一些基本信息,每个文件分页对应一个文件属性,所述文件属性为文件分页存储文件的文件类别,文件分页以链式的方式保存,每个线程有独立的一条分页链,每条分页链上的内容是按照时间戳排序的,每次io读写(文件io/网络io)以一个文件分页的大小为单位,减少了io读写的频率。

文件读取单元14,用于响应针对所述应用程序的指标显示操作,从所述文件分页中读取所述序列文件;

具体的,文件读取单元14响应针对所述应用程序的指标显示操作,从所述文件分页中读取所述序列文件,可以理解的是,所述指标显示操作携带有路径标志,所述路径标志对应序列文件的存储地址,根据所述路径标志从存储文件分页的存储空间中获取对应的序列文件,所述路径标志可以是层级路径信息对应的哈希值,层级路径信息和哈希值的对应关系可以通过配置表获取,具体的,根据所述路径标志从配置表中获取对应的哈希值,根据所述哈希值从文件分页中获取所述哈希值对应的序列文件,所述序列文件即为指标显示操作所指示的数据。

数据显示单元15,用于将所述序列文件转换为所述指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据。

具体的,数据显示单元15将所述序列文件转换为所述指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据,可以理解的是,通过反序列化函数对所述序列文件中的字节序列进行反序列化处理,生成字节序列对应的运行指标,序列化是指把运行指标转换为字节序列的过程,而反序列化是与序列化相对的操作过程,是指把字节序列恢复为运行指标的过程。将运行指标按照指标统计页面的显示格式进行封装生成统计数据,所述统计数据包括曲线图、时序图等,在指标统计页面中显示所述统计数据。

请参见图5,本申请实施例的所述数据处理设备1可以还包括:信息转换单元16;

信息转换单元16,用于对所述运行指标的层级路径信息进行哈希转换,生成层级路径信息对应的哈希值,将所述哈希值作为所述运行指标的路径标志;对所述运行指标进行压缩处理,将压缩处理后的运行指标和所述路径标志存储至所述目标线程对应的临时存储空间;所述临时存储空间是在目标线程启动时所分配的;

则所述文件生成单元12具体用于:

从所述临时存储空间中获取压缩处理后的运行指标,将所述压缩处理后的运行指标通过序列化函数生成字节序列;

将所述字节序列存储至具有目标格式的文件中,将所述路径标志作为所述文件的文件名称,将存储所述字节序列的文件确定为序列文件。

所述指标采集单元11具体用于:

获取应用程序中目标线程的锚点信息,根据所述锚点信息确定对目标线程进行运行指标采集的位置信息;

根据所述位置信息采集应用程序中目标线程的运行指标。

所述文件存储单元13具体用于:

获取所述序列文件的文件属性,将所述序列文件存储至文件分页集合中所述文件属性对应的文件分页中,所述文件分页集合中包括至少一个文件分页;

以所述文件分页为存储单位对所述序列文件进行存储。

请参见图5,本申请实施例的所述数据处理设备1可以还包括:数据备份单元17;

数据备份单元17,用于对所述文件分页进行存储之前,将所述文件分页在备份存储空间中进行备份;

当所述文件分页存储成功时,将所述文件分页从所述备份存储空间中删除;

当接收到所述应用程序的启动指令时,若所述备份存储空间中存在文件分页,则将所述备份存储空间中的文件分页进行恢复。

所述文件读取单元14具体用于:

响应针对所述应用程序的指标显示操作,根据所述指标显示操作中携带的路径标志从配置表中获取对应的哈希值;所述配置表用于存储路径标志和哈希值的对应关系;

根据所述哈希值从文件分页中获取所述哈希值对应的序列文件。

所述数据显示单元15具体用于:

将所述序列文件中的字节序列,通过反序列化函数生成字节序列对应的运行指标;

根据所述指标显示操作将所述运行指标进行预处理,根据预处理后的运行指标生成指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据。

在本申请实施例中,通过采集应用程序中目标线程的运行指标;对运行指标的层级路径信息进行哈希转换,生成层级路径信息对应的哈希值,对运行指标进行压缩处理,将压缩处理后的运行指标和路径标志存储至目标线程对应的临时存储空间;从临时存储空间中获取压缩处理后的运行指标,根据压缩处理后的运行指标生成序列文件,将所述序列文件进行分页处理,得到文件分页,存储所述文件分页;响应针对所述应用程序的指标显示操作,从所述文件分页中读取所述序列文件;将所述序列文件转换为所述指标显示操作所指示的统计数据,在指标统计页面中显示所述统计数据。通过对所述运行指标的层级路径信息进行哈希转换,可以减少数据冗余,通过对文件进行分页处理,可以减少终端中i/o读写的频率,避免了对终端的i/o消耗过大的问题,通过将运行指标转换为统计数据,便于对应用程序进行数据分析和问题排查,提高了对应用程序中数据分析的效率。

请参见图6,为本申请实施例提供了一种计算机设备的结构示意图。如图6所示,所述计算机设备1000可以包括:至少一个处理器1001,例如cpu,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(display),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理应用程序。

在图6所示的计算机设备1000中,网络接口1004可提供网络通讯功能,用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的数据处理应用程序,以实现上述图2-图4c任一个所对应实施例中对所述数据处理方法的描述,在此不再赘述。

应当理解,本申请实施例中所描述的计算机设备1000可执行前文图2-图4c任一个所对应实施例中对所述数据处理方法的描述,也可执行前文图5所对应实施例中对所述数据处理设备的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。

此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的数据处理设备所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图2-图4c任一个所对应实施例中对所述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1