本发明涉及分布式存储技术领域,特别是涉及一种多业务进程性能统计方法、装置和系统。
背景技术:
服务器信息块(servermessageblock,smb)是一个网络文件共享协议,它允许应用程序和终端用户从远端的文件服务器访问文件资源。samba是在linux和unix系统上实现smb文件共享协议的一个免费软件,由服务器及客户端程序构成,windows等客户端通过samba软件来访问后端分布式存储系统。
作为最上层对接用户应用的samba,性能数据的高低决定了存储系统整体性能。但是现有技术中并没有针对于开源的samba,获取性能数据的技术手段,只能依据于数据的传输速率对分布式存储系统的整体性能进行评估。
可见,如何获取业务进程的性能数据,是本领域技术人员亟待解决的问题。
技术实现要素:
本发明实施例的目的是提供一种多业务进程性能统计方法、装置和系统,可以获取业务进程的性能数据。
为解决上述技术问题,本发明实施例提供一种多业务进程性能统计方法,包括:
服务端记录各业务进程所对应的进程信息,以便于终端获取所述进程信息;其中,每个业务进程运行时有其对应的业务性能数据;
所述服务端接收终端发送的目标业务获取请求;
所述服务端依据所述目标业务获取请求中携带的目标进程信息,查找与所述目标进程信息相对应的目标业务性能数据;
所述服务端向所述终端反馈所述目标业务性能数据。
可选的,所述服务端记录各业务进程所对应的进程信息包括:
当所述服务端接收到客户端发送的访问请求时,判断是否存在共享内存;
若是,所述服务端在执行所述访问请求所对应的业务进程时,将所述业务进程对应的进程信息存储至所述共享内存中;
若否,所述服务端建立共享内存,并在执行所述访问请求所对应的业务进程时,将所述业务进程对应的进程信息存储至所述共享内存中。
可选的,所述服务端在向所述终端反馈所述目标业务性能数据之后还包括:
所述服务端接收到所述终端发送的数据获取失败的响应消息后,重新向所述终端反馈所述目标业务性能数据。
可选的,所述进程信息包括进程号、ip地址和端口信息。
本发明实施例还提供了一种适用于服务端的多业务进程性能统计装置,包括记录单元、接收单元、查找单元和发送单元;
所述记录单元,用于记录各业务进程所对应的进程信息;其中,每个业务进程运行时有其对应的业务性能数据;
所述接收单元,用于接收终端发送的目标业务获取请求;
所述查找单元,用于依据所述目标业务获取请求中携带的目标进程信息,查找与所述目标进程信息相对应的目标业务性能数据;
所述发送单元,用于向所述终端反馈所述目标业务性能数据。
可选的,所述记录单元包括判断子单元、存储子单元和建立子单元;
所述判断子单元,用于当接收到客户端发送的访问请求时,判断是否存在共享内存;若是,则触发所述存储子单元;若否,则触发所述建立子单元;
所述存储子单元,用于在执行所述访问请求所对应的业务进程时,将所述业务进程对应的进程信息存储至所述共享内存中;
所述建立子单元,用于建立共享内存,并触发所述存储子单元。
可选的,所述接收单元还用于在接收到所述终端发送的数据获取失败的响应消息后触发所述发送单元;
所述发送单元还用于重新向所述终端反馈所述目标业务性能数据。
可选的,所述进程信息包括进程号、ip地址和端口信息。
本发明实施例还提供了一种多业务进程性能统计方法,包括:
终端获取所有业务进程所对应的进程信息;
所述终端向服务端发送目标业务获取请求;
所述终端接收所述服务端反馈的目标业务性能数据;
所述终端展示目标业务性能数据。
可选的,所述终端获取所有业务进程所对应的进程信息包括:
所述终端从共享内存中读取所述业务进程所对应的进程信息。
可选的,所述终端向服务端发送目标业务获取请求之后还包括:
检测预设时间内是否接收到所述服务端反馈的目标业务性能数据;
若否,则向所述服务端发送数据获取失败的响应消息。
本发明实施例还提供了一种适用于终端的多业务进程性能统计装置,包括获取单元、发送单元、接收单元和展示单元;
所述获取单元,用于获取所有业务进程所对应的进程信息;
所述发送单元,用于向服务端发送目标业务获取请求;
所述接收单元,用于接收所述服务端反馈的目标业务性能数据;
所述展示单元,用于展示目标业务性能数据。
可选的,所述获取单元具体用于从共享内存中读取所述业务进程所对应的进程信息。
可选的,还包括检测单元;
所述检测单元,用于检测预设时间内是否接收到所述服务端反馈的目标业务性能数据;若否,则触发所述发送单元;
所述发送单元还用于向所述服务端发送数据获取失败的响应消息。
本发明实施例还提供了一种多业务进程性能统计系统,包括服务端和终端;
所述服务端,用于记录各业务进程所对应的进程信息;其中,每个业务进程运行时有其对应的业务性能数据;接收终端发送的目标业务获取请求;依据所述目标业务获取请求中携带的目标进程信息,查找与所述目标进程信息相对应的目标业务性能数据;向所述终端反馈所述目标业务性能数据;
所述终端,用于获取所有业务进程所对应的进程信息;向服务端发送目标业务获取请求;接收所述服务端反馈的目标业务性能数据;展示目标业务性能数据。
由上述技术方案可以看出,服务端记录各业务进程所对应的进程信息,以便于终端获取进程信息;其中,每个业务进程运行时有其对应的业务性能数据;管理人员可以通过终端获取到所有业务进程对应的进程信息,当管理人员需要获取某个或某些业务进程的业务性能数据时,便可以通过终端向服务端发送目标业务获取请求;在该目标业务获取请求中可以携带有管理人员所选定的目标进程信息,服务端依据目标进程信息,查找与所述目标进程信息相对应的目标业务性能数据;并向所述终端反馈所述目标业务性能数据。在该技术方案中服务端通过记录各业务进程的进程信息,为终端获取业务性能数据提供了依据,终端可以根据需求选取所需的目标进程信息,从而获取到与目标进程信息相对应的业务性能数据。管理人员根据获取的业务性能数据,便可以获知存储系统的性能,从而可以有针对性的改进分布式存储系统的性能指标,从而提升分布式存储系统整体性能,提高分布式存储系统的竞争力。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种多业务进程性能统计方法的信令流程图;
图2为本发明实施例提供的一种适用于服务端的多业务进程性能统计装置的结构示意图;
图3为本发明实施例提供的一种适用于终端的多业务进程性能统计装置的结构示意图;
图4为本发明实施例提供的一种多业务进程性能统计系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种多业务进程性能统计方法。图1为本发明实施例提供的一种多业务进程性能统计方法的信令流程图,该方法包括:
s101:服务端记录各业务进程所对应的进程信息。
客户端通过smb协议访问存储节点即服务端时,服务端会根据客户端的访问需求生成相应的业务进程。业务进程运行时会生成相应的业务性能数据,并且每个业务进程都有其对应的进程号和端口信息。
在分布式存储系统中,存储节点的个数有多个,依据ip地址可以有效的区分不同的存储节点。进程号和端口信息可以作为业务进程的唯一标识。因此,在本发明实施例中,可以将每个业务进程所对应的进程号、ip地址和端口信息作为该业务进程的进程信息。
对于管理人员而言,由于无法确定业务性能数据的存储位置,因此,管理人员无法直接获取到业务性能数据。而服务端记录的进程信息可以看作是业务性能数据的标识信息,服务端依据该进程信息便可以查找到与该进程信息相对应的业务性能数据。
因此,在本发明实施例中,为了便于管理人员后续调用获取这些业务性能数据,服务端在生成一个业务进程的同时可以启动一个监控线程,该监控线程用于获取业务进程所对应的进程信息。
在实际应用中,为了便于管理人员调用进程信息,可以建立一个共享内存。服务端可以将进程信息存储在共享内存中,终端可以从该共享内存中直接读取进程信息。
具体的,当服务端接收到客户端发送的访问请求时,判断是否存在共享内存;若是,则服务端在执行访问请求所对应的业务进程时,将业务进程对应的进程信息存储至共享内存中;若否,则服务端建立共享内存,并在执行访问请求所对应的业务进程时,将业务进程对应的进程信息存储至共享内存中。
除了设置共享内存存储进程信息外,在具体实现中,终端也可以通过与服务端建立连接,发送进程信息获取请求的方式,来获取服务端存储的进程信息。为了便于描述,在后续内容中,均以进程信息存储至共享内存为例展开介绍。
s102:终端获取所有业务进程所对应的进程信息。
在具体实现中,终端可以从共享内存中获取到所有业务进程所对应的进程信息,并通过相关界面向管理人员展示这些进程信息。
s103:终端向服务端发送目标业务获取请求。
当管理人员需要获取某个或某些业务进程所对应的业务性能数据时,便可以在界面上选定这些进程信息,从而触发终端向服务端发送目标业务获取请求。
其中,目标业务可以是管理人员所需获取业务性能数据的业务进程,为了便于和其它进程信息进行区分,相应的,可以将与该目标业务相对应的进程信息称作目标进程信息。
在具体实现中,终端可以通过socket建立与服务端的通信连接,然后依据该通信连接向服务端发送目标业务获取请求。
s104:服务端接收终端发送的目标业务获取请求。
s105:服务端依据目标业务获取请求中携带的目标进程信息,查找与目标进程信息相对应的目标业务性能数据。
服务端接收到目标业务获取请求后,便可以获知终端需要获取业务性能数据。服务端依据目标业务获取请求中携带的目标进程信息,可以查找到与该目标进程信息相对应的目标业务性能数据。
s106:服务端向终端反馈目标业务性能数据。
在具体实现中,当服务端查到相应的目标业务性能数据后,便可以依据建立的通信连接,向终端反馈目标业务性能数据。
s107:终端接收服务端反馈的目标业务性能数据,并展示目标业务性能数据。
终端可以将获取的目标业务性能数据进行展示,以便于管理人员可以直接查看。
其中,目标业务性能数据中可以包括有目标业务进程中各步骤的执行次数、操作时延等信息。以一个业务进程为例,该业务进程可以包括有调用接口、写入数据、保存数据等步骤,相应的,业务性能数据中可以包括有调用接口的次数、写入数据的次数、保存数据的次数、调用接口的时延、写操作的时延、保存数据的时延等。
管理人员依据这些业务性能数据,便可以了解到服务端的性能,从而可以采取有针对性的措施,以提升服务端的性能。
结合上述举例,当接口调用的次数较多时,管理人员可以对接口调用次数进行限定,以保证接口的正常工作;当写操作的时延较长时,管理人员可以针对于写操作的性能进行改进。
由上述技术方案可以看出,服务端记录各业务进程所对应的进程信息,以便于终端获取进程信息;其中,每个业务进程运行时有其对应的业务性能数据;管理人员可以通过终端获取到所有业务进程对应的进程信息,当管理人员需要获取某个或某些业务进程的业务性能数据时,便可以通过终端向服务端发送目标业务获取请求;在该目标业务获取请求中可以携带有管理人员所选定的目标进程信息,服务端依据目标进程信息,查找与所述目标进程信息相对应的目标业务性能数据;并向所述终端反馈所述目标业务性能数据。在该技术方案中服务端通过记录各业务进程的进程信息,为终端获取业务性能数据提供了依据,终端可以根据需求选取所需的目标进程信息,从而获取到与目标进程信息相对应的业务性能数据。管理人员根据获取的业务性能数据,便可以获知存储系统的性能,从而可以有针对性的改进分布式存储系统的性能指标,从而提升分布式存储系统整体性能,提高分布式存储系统的竞争力。
受网络等外界因素的影响,终端可能会出现业务性能数据获取失败的情况发生。为了提升数据传输的稳定性,可以在终端上设置检测机制。
具体的,终端向服务端发送目标业务获取请求之后,可以进一步检测预设时间内是否接收到服务端反馈的目标业务性能数据。
预设时间可以依据实际需求进行设定,在此不做限定。
在具体实现中,终端向服务端发送目标业务获取请求时开始计时,当达到该预设时间仍未接收到服务端反馈的目标业务性能数据时,则可以向服务端发送数据获取失败的响应消息。
相应的,服务端在接收到终端发送的数据获取失败的响应消息后,可以重新向终端反馈目标业务性能数据。
通过在终端设置检测机制,可以有效的降低网络等外界因素对数据传输带来的影响,有效的保证了终端能够顺利接收到所需的目标业务性能数据。
图2为本发明实施例提供的一种适用于服务端的多业务进程性能统计装置的结构示意图,包括记录单元21、接收单元22、查找单元23和发送单元24;
记录单元21,用于记录各业务进程所对应的进程信息;其中,每个业务进程运行时有其对应的业务性能数据;
接收单元22,用于接收终端发送的目标业务获取请求;
查找单元23,用于依据目标业务获取请求中携带的目标进程信息,查找与目标进程信息相对应的目标业务性能数据;
发送单元24,用于向终端反馈目标业务性能数据。
可选的,记录单元包括判断子单元、存储子单元和建立子单元;
判断子单元,用于当接收到客户端发送的访问请求时,判断是否存在共享内存;若是,则触发存储子单元;若否,则触发建立子单元;
存储子单元,用于在执行访问请求所对应的业务进程时,将业务进程对应的进程信息存储至共享内存中;
建立子单元,用于建立共享内存,并触发存储子单元。
可选的,接收单元还用于在接收到终端发送的数据获取失败的响应消息后触发发送单元;
发送单元还用于重新向终端反馈目标业务性能数据。
可选的,进程信息包括进程号、ip地址和端口信息。
图2所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,服务端记录各业务进程所对应的进程信息,以便于终端获取进程信息;其中,每个业务进程运行时有其对应的业务性能数据;服务端接收终端发送的目标业务获取请求;并依据所述目标业务获取请求中携带的目标进程信息,查找与所述目标进程信息相对应的目标业务性能数据;并向所述终端反馈所述目标业务性能数据。在该技术方案中服务端通过记录各业务进程的进程信息,为终端获取业务性能数据提供了依据,终端可以根据需求选取所需的目标进程信息,从而获取到与目标进程信息相对应的业务性能数据。管理人员根据获取的业务性能数据,便可以获知存储系统的性能,从而可以有针对性的改进分布式存储系统的性能指标,从而提升分布式存储系统整体性能,提高分布式存储系统的竞争力
图3为本发明实施例提供的一种适用于终端的多业务进程性能统计装置的结构示意图,包括获取单元31、发送单元32、接收单元33和展示单元34;
获取单元31,用于获取所有业务进程所对应的进程信息;
发送单元32,用于向服务端发送目标业务获取请求;
接收单元33,用于接收服务端反馈的目标业务性能数据;
展示单元34,用于展示目标业务性能数据。
可选的,获取单元具体用于从共享内存中读取业务进程所对应的进程信息。
可选的,还包括检测单元;
检测单元,用于检测预设时间内是否接收到服务端反馈的目标业务性能数据;若否,则触发发送单元;
发送单元还用于向服务端发送数据获取失败的响应消息。
图3所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,终端可以获取所有业务进程所对应的进程信息;管理人员可以通过终端查看到所有业务进程对应的进程信息,当管理人员需要获取某个或某些业务进程的业务性能数据时,便可以通过终端向服务端发送目标业务获取请求;在该目标业务获取请求中可以携带有管理人员所选定的目标进程信息,以便于服务端依据目标进程信息,查找与所述目标进程信息相对应的目标业务性能数据;终端可以接收服务端反馈的目标业务性能数据,并展示目标业务性能数据。管理人员根据获取的业务性能数据,便可以获知存储系统的性能,从而可以有针对性的改进分布式存储系统的性能指标,从而提升分布式存储系统整体性能,提高分布式存储系统的竞争力。
图4为本发明实施例提供的一种多业务进程性能统计系统40的结构示意图,包括服务端41和终端42;
服务端41,用于记录各业务进程所对应的进程信息;其中,每个业务进程运行时有其对应的业务性能数据;接收终端发送的目标业务获取请求;依据目标业务获取请求中携带的目标进程信息,查找与目标进程信息相对应的目标业务性能数据;向终端反馈目标业务性能数据;
终端42,用于获取所有业务进程所对应的进程信息;向服务端发送目标业务获取请求;接收服务端反馈的目标业务性能数据;展示目标业务性能数据。
图4所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
以上对本发明实施例所提供的一种多业务进程性能统计方法、装置和系统进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。