获取进程数据的方法及装置与流程

文档序号:11250730阅读:506来源:国知局
获取进程数据的方法及装置与流程

本申请涉及进程数据获取技术,尤其涉及一种获取进程数据的方法及装置。



背景技术:

多进程系统,例如linux系统和支持多进程的windows系统,往往基于虚拟内存技术构建,现有技术中为了解决共享内存安全性差的问题,为不同的进程的私有数据分配相互隔离的内存空间,从而简化多进程系统的内存空间的管理,系统稳定性较高。但是,由于每个进程私有数据量比较大,所要求分配的相互隔离的内存空间也会比较大,当有进程需要访问另一个进程的私有数据时,需要一次性传递较大的数据量,从而导致需要分配的系统临时缓存比较大,而且有些进程间通信协议对传输数据的大小有限制,导致发起进程数据访问请求后数据获取不全,影响业务正常处理。

由此可见,基于内存隔离的多进程系统,由于进程间访问的数据量比较大从而要求系统缓存需求较大,如果不能采取有效的措施,则影响正常业务处理。



技术实现要素:

本申请提供一种获取进程数据的方法及装置,用于解决进程数据获取不全且进程间交互缓存需求较大的问题。

为达到上述目的,本申请采用如下技术方案:

一种获取进程数据的方法,包括:

源进程向目标进程发送请求消息,请求消息用于请求获取目标进程数据;

目标进程根据请求消息,获取待发送进程数据;

目标进程根据已获取的待发送进程数据生成响应消息,并向源进程发送,响应消息包括待发送进程数据和发送标志信息;

源进程接收目标进程发送的响应消息,若发送标志信息表示目标进程数据未全部发送,则源进程根据响应消息携带的进程数据在全部目标进程数据中的位置信息,生成下一个请求消息,并向目标进程发送。

一种获取进程数据的装置,包括:

源进程,用于向目标进程发送请求消息,请求消息用于请求获取目标进程数据;

目标进程,用于根据请求消息,获取待发送进程数据;

目标进程,还用于根据已获取的待发送进程数据生成响应消息,并向源进程发送,响应消息包括待发送进程数据和发送标志信息;

源进程,还用于接收目标进程发送的响应消息,若发送标志信息表示目标进程数据未全部发送,则根据响应消息携带的进程数据在全部目标进程数据中的位置信息,生成下一个请求消息,并向目标进程发送。

本申请实施例提供的一种获取进程数据的方法及装置,目标进程根据源进程发送的请求消息,获取待发送进程数据,并根据已获取的待发送进程数据生成响应消息向源进程发送;若源进程接收到的响应消息携带的发送标志信息表示目标进程数据未全部发送,则源进程根据响应消息携带的进程数据在全部目标进程数据中的位置信息,生成下一个请求消息,并向目标进程发送。由此可见,在本申请实施例中,当已获取的目标进程的数据量较大时,利用请求消息和响应消息形成目标数据分批次传输机制,避免了一次性传输大量目标进程数据,也避免了为一次性传输大量目标进程数据分配大容量缓存,不需要占用大量的系统资源,降低了获取大量目标进程数据对处理正常业务的不良影响,提高了处理正常业务的效率。

附图说明

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

图1为本申请实施例提供的一种获取进程数据的方法流程图;

图2为本申请实施例提供的另一种获取进程数据的方法流程图;

图3为本申请实施例提供的另一种获取进程数据的方法流程图;

图4为本申请实施例提供的另一种获取进程数据的方法流程图;

图5为本申请实施例提供的另一种获取进程数据的方法流程图;

图6为本申请实施例提供的一种获取进程数据的装置的结构示意图;

图7为本申请实施例提供的另一种获取进程数据的装置的结构示意图。

具体实施方式

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

本申请实施例提供一种获取进程数据的方法,如图1所示,该方法包括:

步骤101、源进程向目标进程发送请求消息。

其中,请求消息用于请求获取目标进程数据。

在本申请实施例中,源进程是指进程数据的请求方,可以是操作系统本身的管理进程,例如windows任务管理器中的进程管理工具,也可以是创建了子进程的父进程,还可以是存在进程数据交互的两个进程中发起请求的一方。而目标进程是指进程数据的提供方,可以是执行特定协议业务的业务进程,也可以是某个进程创建的子进程,还可以是存在进程数据交互的两个进程中提供进程数据的一方。总之,在本申请实施例中,请求其他进程的进程数据的进程,即为源进程,与源进程相对应,提供进程数据的进程,即为目标进程。

其中,目标进程数据通常包括:存储在为目标进程分配的隔离内存空间中的可运行代码、输入/输出数据以及目标进程运行过程中产生的中间数据等;以及分配给目标进程的操作系统描述符,例如,unix系统中的文件描述符和windows系统中的文件句柄、数据源和数据终端;目标进程的安全特性,例如目标进程的创建者和目标进程的权限;目标进程的运行状态,例如目标进程的状态寄存器中的内容、物理存储器寻址等。

步骤102、目标进程根据请求消息,获取待发送进程数据。

例如,可以根据请求消息携带的目标进程的名称、目标进程数据种类获取待发送进程数据,待发送进程数据为源进程请求获取的目标进程数据的全部或者一部分,根据系统设置确定。

步骤103、目标进程根据已获取的待发送进程数据生成响应消息,并向源进程发送。

其中,响应消息包括待发送进程数据和发送标志信息。

发送标志信息包括目标进程数据是否已全部发送的信息。

步骤104、源进程接收目标进程发送的响应消息。

步骤105、若发送标志信息表示目标进程数据未全部发送,则源进程根据响应消息携带的进程数据在全部目标进程数据中的位置信息,生成下一个请求消息,并向目标进程发送。

本申请实施例提供的一种获取进程数据的方法,目标进程根据源进程发送的请求消息,获取待发送进程数据,并根据已获取的待发送进程数据生成响应消息后向源进程发送;若源进程接收到的响应消息携带的发送标志信息表示目标进程数据未全部发送,则源进程根据响应消息携带的进程数据在全部目标进程数据中的位置信息,生成下一个请求消息,并向目标进程发送。由此可见,在本申请实施例中,当请求获取的目标进程的数据量较大时,利用请求消息和响应消息形成目标数据分批次传输机制,避免了一次性传输大量目标进程数据,也避免了为一次性传输大量目标进程数据分配大容量缓存,不需要占用大量的系统资源,降低了获取大量目标进程数据对处理正常业务的不良影响,提高了处理正常业务的效率。

在如图1所示的实现方式的基础上,还可以实现为如图2所示的实现方式。其中,如图2所示,在执行步骤104源进程接收目标进程发送的响应消息之后,还可以执行步骤201:

步骤201、源进程显示响应消息携带的进程数据。

其中,源进程通过显示模块输出要显示的进程数据,从而用户设备显示响应消息携带的进程数据,便于用户分析进程数据,进而分析目标进程是否存在异常,以便对目标进程采取必要措施。例如,当目标进程异常时,可以手动恢复或结束目标进程。

在如图1或图2所示的实现方式的基础上,还可以实现为另一种实现方式。以图1为例,在如图1所示的实现方式的基础上,还可以实现为如图3所示的实现方式。如图3所示,步骤102目标进程根据请求消息,获取待发送进程数据,可以具体实现为步骤301至步骤303:

步骤301、目标进程根据请求消息,从本进程的私有数据中收集源进程所请求的目标进程数据。

其中,私有数据是指目标进程私有、且其他进程(包括源进程)不能直接访问的数据。

步骤302、目标进程按照预设排序规则对收集的目标进程数据进行排序。

其中,排序之后,便于目标进程根据预设的顺序向源进程发送收集的进程数据,避免遗漏。

步骤303、目标进程按照预设发送限量规则得到待发送进程数据。

在本发明实施例中,可以依据系统限制设定目标进程发送的进程数据。其中,发送限量规则是指,目标进程每次发送的待发送进程数据的最大限额。例如,可以是每次允许发送的进程数据的条目数,也可以是每次允许发送的进程数据的数据量。

在本申请实施例中,目标进程根据预设排序规则对收集的进程数据排序,便于源进程管理接收到的目标进程数据,进而便于用户分析源进程通过诸如显示设备输出的目标进程数据,提高了分析目标进程数据的效率。并且,目标进程根据发送限量规则,分批次地向源进程发送目标进程数据,避免了一次性传输数量较大的目标进程数据占用过多的系统资源,提高了处理正常业务的效率。

在如图3所示的实现方式的基础上,还可以实现为如图4所示的实现方式。如图4所示,步骤302目标进程按照预设排序规则对收集的目标进程数据进行排序,可以具体实现为步骤401:

步骤401、目标进程按照进程数据的关键字,依据预设的升序或者降序规则对进程数据排序。

其中,关键字包括目标进程创建的函数的名称和标识,以及为该函数分配的内存地址。

在如图3所示的实现方式的基础上,还可以实现为如图5所示的实现方式。如图5所示,步骤303目标进程按照预设发送限量规则得到待发送进程数据,可以具体实现为步骤501:

步骤501、目标进程按照预设发送限量规则,从排序后的目标进程数据中取出全部或者部分进程数据作为待发送进程数据,放入系统缓存并准备发送。

其中,预设发送限量规则为待发送进程数据的发送条目数限量值或者缓存待发送进程数据的内存大小限量值。

本申请提供了一种获取进程数据的装置60,用于实现如图1所示的方法流程。如图6所示,该装置60包括:

源进程61,用于向目标进程62发送请求消息,请求消息用于请求获取目标进程62数据;

目标进程62,用于根据请求消息,获取待发送进程数据;

目标进程62,还用于根据已获取的待发送进程数据生成响应消息,并向源进程61发送,响应消息包括待发送进程数据和发送标志信息;

源进程61,还用于接收目标进程62发送的响应消息,若发送标志信息表示目标进程62数据未全部发送,则根据响应消息携带的进程数据在全部目标进程62数据中的位置信息,生成下一个请求消息,并向目标进程62发送。

本申请实施例提供的一种获取进程数据的装置60,目标进程62根据源进程61发送的请求消息,获取待发送进程数据,并根据已获取的待发送进程数据生成响应消息后向源进程61发送;若源进程61接收到的响应消息携带的发送标志信息表示目标进程数据未全部发送,则源进程61根据响应消息携带的进程数据在全部目标进程数据中的位置信息,生成下一个请求消息,并向目标进程62发送。由此可见,在本申请实施例中,当获取的目标进程数据的量较大时,利用请求消息和响应消息形成目标数据分批次传输机制,避免了一次性传输大量目标进程数据,也避免了为一次性传输大量目标进程数据分配大容量缓存,降低了获取大量目标进程数据对处理正常业务的不良影响,提高了处理正常业务的效率。

在如图6所示的获取进程数据的装置60的基础上,还可以实现为如图7所示的获取进程数据的装置60,用于实现如图2所示的方法流程。如图7所示,源进程61,还用于通过显示模块63显示响应消息携带的进程数据。

在如图6或图7任意一项所示的获取进程数据的装置60的基础上,还可以实现为如图6所示的另一种获取进程数据的装置60,用于实现如图3所示的方法流程。如图6所示,目标进程62,还用于根据请求消息,从本进程的私有数据中收集源进程61所请求的目标进程数据,按照预设排序规则对收集的目标进程数据进行排序,并按照预设发送限量规则得到待发送进程数据。

在用于实现如图3所示的方法流程的获取进程数据的装置60的基础上,还可以实现为如图6所示的另一种获取进程数据的装置60,用于实现如图4所示的方法流程。如图6所示,目标进程62,还用于按照进程数据的关键字,依据预设的升序或者降序规则对进程数据排序。

在用于实现如图4所示的方法流程的获取进程数据的装置60的基础上,还可以实现为如图6所示的另一种获取进程数据的装置60,用于实现如图5所示的方法流程。如图6所示,目标进程62,还用于按照预设发送限量规则,从排序后的目标进程数据中取出全部或者部分进程数据作为待发送进程数据,放入系统缓存并准备发送。

其中,预设发送限量规则为待发送进程数据的发送条目数限量值或者缓存待发送进程数据的内存大小限量值。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

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