掌桥专利:专业的专利平台
掌桥专利
首页

主机交易中主机程序性能采集方法及装置

文献发布时间:2023-06-19 11:32:36


主机交易中主机程序性能采集方法及装置

技术领域

本申请涉及数据处理技术领域,特别涉及金融技术领域,具体涉及主机交易中主机程序性能采集方法及装置。

背景技术

银行、证券等金融机构的主机交易,运行在IBM大机的CICS中间件上,为了保证主机交易的有效性,需要进行性能采集以用于分析,以在遇到交易性能问题时根据采集到的性能数据确定解决方式。

由于一个主机交易包含多个主机程序和SQL处理,因此现有的性能数据采集方式包括主机交易过程中的主机程序的性能分析和SQL处理的性能分析。对于SQL处理,可通过打PM报表的方法实现;而对于交易内部的各主机程序,一般使用EDX工具进行分步跟踪调试,或者通过输出每个程序各关键点的开始和结束时间来计算总运行时间。

然而,对于EDX工具,其使用较为繁琐,跟踪调试效率低,且只能主观感受程序执行的开销,缺少数据支撑;对于通过输出每个程序各关键点开始和结束时间来计算总运行时间的方式,需对交易里面的所有程序进行修改编译调试,成本较高。因此需要设计一种成本较低且采集结果更为准确的主机交易过程中的主机程序性能分析方法。

发明内容

针对现有技术中的问题,本申请提供一种主机交易中主机程序性能采集方法及装置,能够有效提高主机交易过程中主机程序性能数据采集的便捷性,并能够有效降低主机交易过程中主机程序性能数据的采集成本,并有效提高主机程序性能数据的采集准确性。

为解决上述技术问题,本申请提供以下技术方案:

第一方面,本申请提供一种主机交易中主机程序性能采集方法,包括:

控制运行在客户信息控制系统中间件上的目标主机交易对应的各个主机程序数据,均运行在预设的第一任务控制块内,并使所述目标主机交易对应的分布式数据库数据运行在第二任务控制块中;

采集并存储所述目标主机交易过程中的所述第一任务控制块内的各个所述主机程序的性能数据。

进一步地,所述采集并存储所述目标主机交易过程中的所述第一任务控制块内的各个所述主机程序的性能数据,包括:

在所述目标主机交易过程中实时采集所述第一任务控制块内的多个所述主机程序各自对应的各个预设的数据采集点的性能数据;

存储各个所述主机程序各自对应的各个所述数据采集点的性能数据。

进一步地,在所述目标主机交易过程中实时采集所述第一任务控制块内的多个所述主机程序各自对应的各个预设的数据采集点的性能数据之前,还包括:

在所述第一任务控制块中设置多个不同的数据采集点;

其中,所述数据采集点包括:程序调用采集点、被调用程序返回采集点、数据库脚本执行前采集点和数据库脚本执行后采集点。

进一步地,在所述目标主机交易过程中实时采集所述第一任务控制块内的多个所述主机程序各自对应的各个预设的数据采集点的性能数据之前,还包括:

分别设置与各个所述数据采集点一一对应的性能数据收集程序;

相对应的,所述在所述目标主机交易过程中实时采集所述第一任务控制块内的多个所述主机程序各自对应的各个预设的数据采集点的性能数据,包括:

激活各个所述性能数据收集程序,以使各个所述性能数据收集程序在检测到所述目标主机交易已发起之时或之后,分别采集各自对应的数据采集点的性能数据;

若检测到所述目标主机交易已结束,则停止运行各个所述性能数据收集程序。

进一步地,所述控制运行在客户信息控制系统中间件上的目标主机交易对应的各个主机程序数据,均运行在预设的第一任务控制块内,包括:

开启所述客户信息控制系统中间件中预设的强制拟重入单元,以使该强制拟重入单元控制除所述分布式数据库数据之外的各个主机程序数据,均运行在所述客户信息控制系统中间件内的所述第一任务控制块内。

进一步地,所述并使所述目标主机交易对应的分布式数据库数据运行在第二任务控制块中,包括:

控制所述第二任务控制块中预设的连接工具与分布式数据库中的数据调取单元建立连接,以使所述第二任务控制块处理所述分布式数据库对应的所述分布式数据库数据。

进一步地,所述性能数据包括:响应时间和CPU消耗。

第二方面,本申请提供一种主机交易中主机程序性能采集装置,包括:

控制模块,用于控制运行在客户信息控制系统中间件上的目标主机交易对应的各个主机程序数据,均运行在预设的第一任务控制块内,并使所述目标主机交易对应的分布式数据库数据运行在第二任务控制块中;

采集模块,用于采集并存储所述目标主机交易过程中的所述第一任务控制块内的各个所述主机程序的性能数据。

第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的主机交易中主机程序性能采集方法。

第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的主机交易中主机程序性能采集方法。

由上述技术方案可知,本申请提供的一种主机交易中主机程序性能采集方法及装置,方法包括:控制运行在客户信息控制系统中间件上的目标主机交易对应的各个主机程序数据,均运行在预设的第一任务控制块内,并使所述目标主机交易对应的分布式数据库数据运行在第二任务控制块中;采集并存储所述目标主机交易过程中的所述第一任务控制块内的各个所述主机程序的性能数据,通过采用第一任务控制块和第二任务控制块将DB2外数据(目标主机交易对应的各个主机程序数据)与DB2数据进行分区运行,以实现对目标主机交易过程中的各个主机程序数据的集中采集,能够有效提高主机交易过程中主机程序性能数据采集的便捷性,并能够有效降低主机交易过程中主机程序性能数据的采集成本,并有效提高主机程序性能数据的采集准确性,进而能够有效提高根据采集的性能数据进行性能分析及性能问题检测的准确性及效率,进而能够在出现主机交易中主机程序性能问题时,快速且准确地排查或解决性能问题,以有效提高客户信息控制系统的运行稳定性及可靠性,并提高主机交易的可靠性。

附图说明

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

图1是本申请实施例中的主机交易中主机程序性能采集方法的第一种流程示意图。

图2是本申请实施例中的主机交易中主机程序性能采集方法的第二种流程示意图。

图3是本申请实施例中的主机交易中主机程序性能采集方法的第三种流程示意图。

图4是本申请实施例中的主机交易中主机程序性能采集方法的第四种流程示意图。

图5是本申请实施例中的主机交易中主机程序性能采集方法的第五种流程示意图。

图6是本申请实施例中的主机交易中主机程序性能采集方法的第六种流程示意图。

图7是本申请实施例中的主机交易中主机程序性能采集装置的结构示意图。

图8是本申请应用实例中的主机交易中主机程序性能采集系统的结构示意图。

图9是本申请应用实例中的EIXT程序模块104收集到并格式化后的QR TCB数据举例示意图。

图10是本申请应用实例中的应用所述主机交易中主机程序性能采集系统实现的所述主机交易中主机程序性能采集方法的逻辑示意图。

图11是本申请实施例中的电子设备的结构示意图。

具体实施方式

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

需要说明的是,本申请公开的主机交易中主机程序性能采集方法及装置可用于金融技术领域,也可用于除金融技术领域之外的任意领域,本申请公开的主机交易中主机程序性能采集方法及装置的应用领域不做限定。

为了解决现有的EDX工具存在的采集主机交易过程中主机程序性能数据的成本高且准确性低等问题,本申请分别提供一种主机交易中主机程序性能采集方法、主机交易中主机程序性能采集装置、主机交易中主机程序性能采集系统、电子设备和计算机可读存储介质,通过控制运行在客户信息控制系统中间件上的目标主机交易对应的各个主机程序数据,均运行在预设的第一任务控制块内,并使所述目标主机交易对应的分布式数据库数据运行在第二任务控制块中;采集并存储所述目标主机交易过程中的所述第一任务控制块内的各个所述主机程序的性能数据,通过采用第一任务控制块和第二任务控制块将DB2外数据(目标主机交易对应的各个主机程序数据)与DB2数据进行分区运行,以实现对目标主机交易过程中的各个主机程序数据的集中采集,能够有效提高主机交易过程中主机程序性能数据采集的便捷性,并能够有效降低主机交易过程中主机程序性能数据的采集成本,并有效提高主机程序性能数据的采集准确性,进而能够有效提高根据采集的性能数据进行性能分析及性能问题检测的准确性及效率,进而能够在出现主机交易中主机程序性能问题时,快速且准确地排查或解决性能问题,以有效提高客户信息控制系统的运行稳定性及可靠性,并提高主机交易的可靠性。

在本申请的一个或多个实施例中,EDX为IBM联机交易中间件CICS自带的一个交易跟踪工具,用来跟踪联机交易的一步步执行,可以看成是一个debug工具。例如,登录CICS后,命令行输入CEDX TXN1回车,就会等待TXN1交易发起,一旦发起,CICS界面上就会展示TXN1交易每执行一步的信息(如上送数据,返回信息等。需手工逐步按“下一步”键)。

在本申请的一个或多个实施例中,客户信息控制系统CICS(CustomerInformation Control System):IBM公司的一款主机交易处理中间件,支持联机交易服务(OLTP),为应用提供联机事务处理和事务管理,能实现高并发度的联机交易,提供用户实时的交易请求与响应。

基于上述内容,本申请还提供一种用于实现本申请一个或多个实施例中提供的主机交易中主机程序性能采集方法的主机交易中主机程序性能采集装置,该主机交易中主机程序性能采集装置可以自行或通过第三方服务器等与客户端设备之间通信连接,以接收客户端设备发送的主机程序性能采集触发指令,并根据该指令控制运行在客户信息控制系统中间件上的目标主机交易对应的各个主机程序数据,均运行在预设的第一任务控制块内,并使所述目标主机交易对应的分布式数据库数据运行在第二任务控制块中;采集并存储所述目标主机交易过程中的所述第一任务控制块内的各个所述主机程序的性能数据,而后将性能数据输出至所述客户端设备,以使客户端设备根据所述目标主机交易过程中的所述第一任务控制块内的各个所述主机程序的性能数据对进行主机交易中主机程序性能分析,并在主机交易中出现主机程序性能问题时,及时且快速地根据所述目标主机交易过程中的所述第一任务控制块内的各个所述主机程序的性能数据获取解决主机交易中出现的主机程序性能问题的方案。

可以理解的是,所述客户端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。

在另一种实际应用情形中,前述的主机交易中主机程序性能采集装置进行主机交易中主机程序性能采集的部分可以在如上述内容的服务器中执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,用于主机交易中主机程序性能采集的具体处理。

上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。

上述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。

具体通过下述各个实施例及应用实例分别进行详细说明。

为了解决现有的EDX工具存在的采集主机交易过程中主机程序性能数据的成本高且准确性低等问题,本申请提供一种主机交易中主机程序性能采集方法的实施例,参见图1,基于主机交易中主机程序性能采集装置执行的所述主机交易中主机程序性能采集方法具体包含有如下内容:

步骤100:控制运行在客户信息控制系统中间件上的目标主机交易对应的各个主机程序数据,均运行在预设的第一任务控制块内,并使所述目标主机交易对应的分布式数据库数据运行在第二任务控制块中。

在步骤100中,所述客户信息控制系统中间件可以采用CICS中间件;所述第一任务控制块可以采用QR任务控制块,所述第二任务控制块可以采用L8任务控制块。

在本申请的一个或多个实施例中,QR任务控制块QR TCB(Quasi-Reentrant TaskControl Block):TCB是CICS中用来控制任务的链表,QR TCB是CICS中的主TCB,Threadsafe和nonthreadsafe的应用程序都可运行在QR TCB。

在本申请的一个或多个实施例中,L8任务控制块L8 TCB(L8 Mode Open TCB):CICS DB2连接工具TRUE运行在L8 TCB等Open TCB。Threadsafe的应用程序也可以运行在L8TCB等Open TCB。

可以理解的是,所述分布式数据库数据是指所述目标主机交易过程中需要执行分布式数据库的脚本等数据,所述分布式数据库可以采用关系型数据库DB2。

在本申请的一个或多个实施例中,DB2是指IBM开发的一种大型关系型数据库产品。

在本申请的一个或多个实施例中,由于一个交易包含一个或多个程序,而每个程序的执行时间包括两部分:执行自身程序的时间(DB2外程序消耗)和执行DB2数据库脚本的时间(SQL消耗)。因此,在本申请中提及的DB2数据是指DB2数据库的脚本等数据,BD2外数据是指主机交易过程中涉及到的各个主机程序自身数据,本申请提出的主机程序性能检测方法即是指对DB2外数据(主机交易过程中涉及到的各个主机程序自身数据)进行性能检测。

步骤200:采集并存储所述目标主机交易过程中的所述第一任务控制块内的各个所述主机程序的性能数据。

从上述描述可知,本申请实施例提供的主机交易中主机程序性能采集方法,通过采用第一任务控制块和第二任务控制块将DB2外数据(目标主机交易对应的各个主机程序数据)与DB2数据进行分区运行,以实现对目标主机交易过程中的各个主机程序数据的集中采集,能够有效提高主机交易过程中主机程序性能数据采集的便捷性,并能够有效降低主机交易过程中主机程序性能数据的采集成本,并有效提高主机程序性能数据的采集准确性,进而能够有效提高根据采集的性能数据进行性能分析及性能问题检测的准确性及效率,进而能够在出现主机交易中主机程序性能问题时,快速且准确地排查或解决性能问题,以有效提高客户信息控制系统的运行稳定性及可靠性,并提高主机交易的可靠性。

为了实现分多个数据采集点采集主机程序数据,在本申请提供的主机交易中主机程序性能采集方法的一个实施例,参见图2,所述主机交易中主机程序性能采集方法中的步骤200具体包含有如下内容:

步骤210:在所述目标主机交易过程中实时采集所述第一任务控制块内的多个所述主机程序各自对应的各个预设的数据采集点的性能数据。

步骤220:存储各个所述主机程序各自对应的各个所述数据采集点的性能数据。

从上述描述可知,本申请实施例提供的主机交易中主机程序性能采集方法,通过多数据采集点的设置,能够有效提高性能数据采集的全面性,进而能够进一步提高主机程序性能数据的采集准确性。

为了实现数据采集点的预先设置,在本申请提供的主机交易中主机程序性能采集方法的一个实施例,参见图3,在所述主机交易中主机程序性能采集方法中的步骤100或200之前还具体包含有如下内容:

步骤010:在所述第一任务控制块中设置多个不同的数据采集点;其中,所述数据采集点包括:程序调用采集点、被调用程序返回采集点、数据库脚本执行前采集点和数据库脚本执行后采集点。

在步骤010中,程序调用采集点可以写为:程序LINK;被调用程序返回采集点可以写为:程序RETURN;数据库脚本执行前采集点可以写为:SQL执行前(表示为SQL-1);数据库脚本执行后采集点可以写为:SQL执行后(表示为SQL-1)。

其中,LINK表示:程序调用;RETURN表示:被调用程序返回。比如:程序A调用程序B,使用A LINK B;程序B执行完后,将返回码或返回信息返回给程序A,使用RETURN。

从上述描述可知,本申请实施例提供的主机交易中主机程序性能采集方法,通过数据采集点多类型的设置,能够进一步提高性能数据采集的全面性,进而能够进一步提高主机程序性能数据的采集准确性。

为了实现性能数据收集程序的预先设置,在本申请提供的主机交易中主机程序性能采集方法的一个实施例,参见图4,在所述主机交易中主机程序性能采集方法中的步骤010之后且步骤200之前还具体包含有如下内容:

步骤020:分别设置与各个所述数据采集点一一对应的性能数据收集程序。

可以理解的是,所述性能数据收集程序可以采用EXIT程序模块,具体来说,新增并部署4个CICS EXIT程序模块,分别用来采集“程序LINK”、“程序RETURN”、“SQL执行前”和“SQL执行后”4个数据收集点的当前时间戳和QR TCB使用时间。

相对应的,参见图5,基于步骤020,所述主机交易中主机程序性能采集方法中的步骤210具体包含有如下内容:

步骤211:激活各个所述性能数据收集程序,以使各个所述性能数据收集程序在检测到所述目标主机交易已发起之时或之后,分别采集各自对应的数据采集点的性能数据。

在本申请的一个或多个实施例中,EXIT程序模块是指使用大机汇编语言写的功能模块,可读取QR TCB时间戳和QR TCB总消耗。

步骤212:若检测到所述目标主机交易已结束,则停止运行各个所述性能数据收集程序。

具体来说,激活EXIT程序,准备开始性能数据收集。发起主机交易。EXIT程序收集各数据采集点的性能数据。将各收集点数据写到dataset中保存。判断主机交易是否已结束,如果未结束,执行步骤211,否则关闭EXIT程序,停止收集主机交易性能数据。

从上述描述可知,本申请实施例提供的主机交易中主机程序性能采集方法,通过预先设置性能数据收集程序,能够进一步提高性能数据采集的便捷性及有效性,进而能够进一步提高主机程序性能数据的采集准确性及效率。

为了进一步提高主机程序性能数据的采集准确性及可靠性,在本申请提供的主机交易中主机程序性能采集方法的一个实施例,参见图6,所述主机交易中主机程序性能采集方法中的步骤100具体包含有如下内容:

步骤110:开启所述客户信息控制系统中间件中预设的强制拟重入单元,以使该强制拟重入单元控制除所述分布式数据库数据之外的各个主机程序数据,均运行在所述客户信息控制系统中间件内的所述第一任务控制块内。

在步骤110中,所述强制拟重入单元具体可以指FORCEQR,可以理解的是,FORCEQR为CICS中间件提供的一个功能,打开之后,应用程序只能在QR TCB上运行,而DB2数据库部分(比如SQL的执行)则在L8 TCB上运行。

可以理解的是,联机程序想在CICS上运行,必须在CICS上先定义。通过定义,告诉CICS此程序是否可以处理16MB线以上的数据、是否可以动态路由、程序是符合线程安全(Threadsafe)标准,还是只能Quasi-Reentrant。Threadsafe的多个程序可以同时访问同一个资源,而Quasi-Reentrant的程序在访问共享资源时要依赖CICS提供的串行机制等。Threadsafe是程序定义中的一个重要属性。

从上述描述可知,本申请实施例提供的主机交易中主机程序性能采集方法,通过预先设置强制拟重入单元,能够有效提高目标主机交易对应的各个主机程序数据均运行在预设的第一任务控制块内的控制准确性及可靠性,进而能够进一步提高主机程序性能数据的采集准确性及可靠性。

为了进一步提高主机程序性能数据的采集准确性及可靠性,在本申请提供的主机交易中主机程序性能采集方法的一个实施例,参见图6,所述主机交易中主机程序性能采集方法中还具体包含有在步骤110之后执行的如下内容:

步骤120:控制所述第二任务控制块中预设的连接工具与分布式数据库中的数据调取单元建立连接,以使所述第二任务控制块处理所述分布式数据库对应的所述分布式数据库数据。

在步骤120中,所述连接工具可以指CICS与DB2连接工具TRUE,使CICS与DB2连接工具TRUE之通过线程thread与BD2的数据调取单元PLAN建立连接,且由于CICS与DB2连接工具TRUE是第二任务控制块的一部分,因此能够使得第二任务控制块处理DB2数据库的相关事务。这块事务的CPU消耗不算在QR TCB消耗上面,也即不算在DB2外程序CPU消耗里面。

在本申请的一个或多个实施例中,数据调取单元PLAN是指在BIND处理中产生,是DBRM和PACKAGE的实例化,应用程序执行时被调用。

从上述描述可知,本申请实施例提供的主机交易中主机程序性能采集方法,通过预先设置连接工具,能够有效提高第二任务控制块处理所述分布式数据库对应的所述分布式数据库数据的准确性及可靠性,进而能够进一步提高主机程序性能数据的采集准确性及可靠性。

为了更加直观且快速地根据性能数据进行性能分析及性能问题检测的准确性及效,在本申请提供的主机交易中主机程序性能采集方法的一个实施例,所述主机交易中主机程序性能采集方法中的所述性能数据包括:响应时间和CPU消耗。

可以理解的是,所述性能数据包括响应时间和CPU消耗两大指标,也可以根据实际应用需求增加其他指标。可以理解的是,两个时间戳之差即为响应时间;两个QR TCB使用时间之差即为CPU消耗。

从上述描述可知,本申请实施例提供的主机交易中主机程序性能采集方法,过性能数据的类型划分,能够更加直观且快速地根据性能数据进行性能分析及性能问题检测的准确性及效,进而能够在出现主机交易中主机程序性能问题时,进一步快速且准确地排查或解决性能问题,以有效提高客户信息控制系统的运行稳定性及可靠性,并提高主机交易的可靠性。

从软件层面来说,为了解决现有的EDX工具存在的采集主机交易过程中主机程序性能数据的成本高且准确性低等问题,本申请提供一种用于执行所述主机交易中主机程序性能采集方法中全部或部分内容的主机交易中主机程序性能采集装置的实施例,参见图7,所述主机交易中主机程序性能采集装置具体包含有如下内容:

控制模块10,用于控制运行在客户信息控制系统中间件上的目标主机交易对应的各个主机程序数据,均运行在预设的第一任务控制块内,并使所述目标主机交易对应的分布式数据库数据运行在第二任务控制块中。

在控制模块10中,所述客户信息控制系统中间件可以采用CICS中间件;所述第一任务控制块可以采用QR任务控制块,所述第二任务控制块可以采用L8任务控制块。

在本申请的一个或多个实施例中,QR任务控制块QR TCB(Quasi-Reentrant TaskControl Block):TCB是CICS中用来控制任务的链表,QR TCB是CICS中的主TCB,Threadsafe和nonthreadsafe的应用程序都可运行在QR TCB。

在本申请的一个或多个实施例中,L8任务控制块L8 TCB(L8 Mode Open TCB):CICS DB2连接工具TRUE运行在L8 TCB等Open TCB。Threadsafe的应用程序也可以运行在L8TCB等Open TCB。

可以理解的是,所述分布式数据库数据是指所述目标主机交易过程中需要执行分布式数据库的脚本等数据,所述分布式数据库可以采用关系型数据库DB2。

在本申请的一个或多个实施例中,DB2是指IBM开发的一种大型关系型数据库产品。

在本申请的一个或多个实施例中,由于一个交易包含一个或多个程序,而每个程序的执行时间包括两部分:执行自身程序的时间(DB2外程序消耗)和执行DB2数据库脚本的时间(SQL消耗)。因此,在本申请中提及的DB2数据是指DB2数据库的脚本等数据,BD2外数据是指主机交易过程中涉及到的各个主机程序自身数据,本申请提出的主机程序性能检测方法即是指对DB2外数据(主机交易过程中涉及到的各个主机程序自身数据)进行性能检测。

采集模块20,用于采集并存储所述目标主机交易过程中的所述第一任务控制块内的各个所述主机程序的性能数据。

本申请提供的主机交易中主机程序性能采集装置的实施例具体可以用于执行上述实施例中的主机交易中主机程序性能采集方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。

从上述描述可知,本申请实施例提供的主机交易中主机程序性能采集装置,通过采用第一任务控制块和第二任务控制块将DB2外数据(目标主机交易对应的各个主机程序数据)与DB2数据进行分区运行,以实现对目标主机交易过程中的各个主机程序数据的集中采集,能够有效提高主机交易过程中主机程序性能数据采集的便捷性,并能够有效降低主机交易过程中主机程序性能数据的采集成本,并有效提高主机程序性能数据的采集准确性,进而能够有效提高根据采集的性能数据进行性能分析及性能问题检测的准确性及效率,进而能够在出现主机交易中主机程序性能问题时,快速且准确地排查或解决性能问题,以有效提高客户信息控制系统的运行稳定性及可靠性,并提高主机交易的可靠性。

为了实现分多个数据采集点采集主机程序数据,在本申请提供的主机交易中主机程序性能采集装置的一个实施例,所述主机交易中主机程序性能采集装置中的采集模块20具体用于执行下述内容:

步骤210:在所述目标主机交易过程中实时采集所述第一任务控制块内的多个所述主机程序各自对应的各个预设的数据采集点的性能数据。

步骤220:存储各个所述主机程序各自对应的各个所述数据采集点的性能数据。

从上述描述可知,本申请实施例提供的主机交易中主机程序性能采集装置,通过多数据采集点的设置,能够有效提高性能数据采集的全面性,进而能够进一步提高主机程序性能数据的采集准确性。

为了实现数据采集点的预先设置,在本申请提供的主机交易中主机程序性能采集装置的一个实施例,所述主机交易中主机程序性能采集装置还具体用于执行下述内容:

步骤010:在所述第一任务控制块中设置多个不同的数据采集点;其中,所述数据采集点包括:程序调用采集点、被调用程序返回采集点、数据库脚本执行前采集点和数据库脚本执行后采集点。

在步骤010中,程序调用采集点可以写为:程序LINK;被调用程序返回采集点可以写为:程序RETURN;数据库脚本执行前采集点可以写为:SQL执行前(表示为SQL-1);数据库脚本执行后采集点可以写为:SQL执行后(表示为SQL-1)。

其中,LINK表示:程序调用;RETURN表示:被调用程序返回。比如:程序A调用程序B,使用A LINK B;程序B执行完后,将返回码或返回信息返回给程序A,使用RETURN。

从上述描述可知,本申请实施例提供的主机交易中主机程序性能采集装置,通过数据采集点多类型的设置,能够进一步提高性能数据采集的全面性,进而能够进一步提高主机程序性能数据的采集准确性。

为了实现性能数据收集程序的预先设置,在本申请提供的主机交易中主机程序性能采集装置的一个实施例,所述主机交易中主机程序性能采集装置还具体用于执行下述内容:

步骤020:分别设置与各个所述数据采集点一一对应的性能数据收集程序。

可以理解的是,所述性能数据收集程序可以采用EXIT程序模块,具体来说,新增并部署4个CICS EXIT程序模块,分别用来采集“程序LINK”、“程序RETURN”、“SQL执行前”和“SQL执行后”4个数据收集点的当前时间戳和QR TCB使用时间。

相对应的,基于步骤020,所述主机交易中主机程序性能采集装置中的采集模块20还具体用于执行下述内容:

步骤211:激活各个所述性能数据收集程序,以使各个所述性能数据收集程序在检测到所述目标主机交易已发起之时或之后,分别采集各自对应的数据采集点的性能数据。

在本申请的一个或多个实施例中,EXIT程序模块是指使用大机汇编语言写的功能模块,可读取QR TCB时间戳和QR TCB总消耗。

步骤212:若检测到所述目标主机交易已结束,则停止运行各个所述性能数据收集程序。

具体来说,激活EXIT程序,准备开始性能数据收集。发起主机交易。EXIT程序收集各数据采集点的性能数据。将各收集点数据写到dataset中保存。判断主机交易是否已结束,如果未结束,执行步骤211,否则关闭EXIT程序,停止收集主机交易性能数据。

从上述描述可知,本申请实施例提供的主机交易中主机程序性能采集装置,通过预先设置性能数据收集程序,能够进一步提高性能数据采集的便捷性及有效性,进而能够进一步提高主机程序性能数据的采集准确性及效率。

为了进一步提高主机程序性能数据的采集准确性及可靠性,在本申请提供的主机交易中主机程序性能采集装置的一个实施例,所述主机交易中主机程序性能采集装置中的控制模块10具体用于执行下述内容:

步骤110:开启所述客户信息控制系统中间件中预设的强制拟重入单元,以使该强制拟重入单元控制除所述分布式数据库数据之外的各个主机程序数据,均运行在所述客户信息控制系统中间件内的所述第一任务控制块内。

在步骤110中,所述强制拟重入单元具体可以指FORCEQR,可以理解的是,FORCEQR为CICS中间件提供的一个功能,打开之后,应用程序只能在QR TCB上运行,而DB2数据库部分(比如SQL的执行)则在L8 TCB上运行。

可以理解的是,联机程序想在CICS上运行,必须在CICS上先定义。通过定义,告诉CICS此程序是否可以处理16MB线以上的数据、是否可以动态路由、程序是符合线程安全(Threadsafe)标准,还是只能Quasi-Reentrant。Threadsafe的多个程序可以同时访问同一个资源,而Quasi-Reentrant的程序在访问共享资源时要依赖CICS提供的串行机制等。Threadsafe是程序定义中的一个重要属性。

从上述描述可知,本申请实施例提供的主机交易中主机程序性能采集装置,通过预先设置强制拟重入单元,能够有效提高目标主机交易对应的各个主机程序数据均运行在预设的第一任务控制块内的控制准确性及可靠性,进而能够进一步提高主机程序性能数据的采集准确性及可靠性。

为了进一步提高主机程序性能数据的采集准确性及可靠性,在本申请提供的主机交易中主机程序性能采集装置的一个实施例,所述主机交易中主机程序性能采集装置中的控制模块10还具体用于执行下述内容:

步骤120:控制所述第二任务控制块中预设的连接工具与分布式数据库中的数据调取单元建立连接,以使所述第二任务控制块处理所述分布式数据库对应的所述分布式数据库数据。

在步骤120中,所述连接工具可以指CICS与DB2连接工具TRUE,使CICS与DB2连接工具TRUE之通过线程thread与BD2的数据调取单元PLAN建立连接,且由于CICS与DB2连接工具TRUE是第二任务控制块的一部分,因此能够使得第二任务控制块处理DB2数据库的相关事务。这块事务的CPU消耗不算在QR TCB消耗上面,也即不算在DB2外程序CPU消耗里面。

在本申请的一个或多个实施例中,数据调取单元PLAN是指在BIND处理中产生,是DBRM和PACKAGE的实例化,应用程序执行时被调用。

从上述描述可知,本申请实施例提供的主机交易中主机程序性能采集装置,通过预先设置连接工具,能够有效提高第二任务控制块处理所述分布式数据库对应的所述分布式数据库数据的准确性及可靠性,进而能够进一步提高主机程序性能数据的采集准确性及可靠性。

为了更加直观且快速地根据性能数据进行性能分析及性能问题检测的准确性及效,在本申请提供的主机交易中主机程序性能采集装置的一个实施例,所述主机交易中主机程序性能采集装置中的所述性能数据包括:响应时间和CPU消耗。

可以理解的是,所述性能数据包括响应时间和CPU消耗两大指标,也可以根据实际应用需求增加其他指标。可以理解的是,两个时间戳之差即为响应时间;两个QR TCB使用时间之差即为CPU消耗。

从上述描述可知,本申请实施例提供的主机交易中主机程序性能采集装置,过性能数据的类型划分,能够更加直观且快速地根据性能数据进行性能分析及性能问题检测的准确性及效,进而能够在出现主机交易中主机程序性能问题时,进一步快速且准确地排查或解决性能问题,以有效提高客户信息控制系统的运行稳定性及可靠性,并提高主机交易的可靠性。

为了进一步说明书本方案,本申请还提供一种主机交易中主机程序性能采集方法及系统的具体应用实例,通过新增CICS出口程序数据采集模块和开启FORCEQR将DB2外的处理集中运行在QR TCB上的方式,实现精准获取DB2外各程序消耗的目的。

参见图8,用于实现所述主机交易中主机程序性能采集方法的主机交易中主机程序性能采集系统具体包含有如下内容:

CICS中间件101、QR任务控制块102、L8任务控制块103、EIXT程序模块104和DB2数据库105。

首先,开启FORCEQR之后,包括线程安全Threadsafe标准在内的所有应用程序都只能运行在QR任务控制块102,SQL处理则运行在L8任务控制块103。

可以理解的是,FORCEQR为CICS中间件提供的一个功能,打开之后,应用程序只能在QR TCB上运行(相当于赶鸭子,赶在一个笼子里),而DB2数据库部分(比如SQL的执行)则在L8 TCB上运行。可以理解的是,联机程序想在CICS上运行,必须在CICS上先定义。通过定义,告诉CICS此程序是否可以处理16MB线以上的数据、是否可以动态路由、程序是符合线程安全(Threadsafe)标准,还是只能Quasi-Reentrant。Threadsafe的多个程序可以同时访问同一个资源,而Quasi-Reentrant的程序在访问共享资源时要依赖CICS提供的串行机制等。Threadsafe是程序定义中的一个重要属性。

EIXT程序模块104为CICS的出口程序,可采集QR任务控制块102的时间戳和QR TCB消耗。L8任务控制块103此时不承担DB2外程序的运行,主要负责CICS与DB2连接工具TRUE的运行,使CICS与DB2连接工具TRUE通过线程thread与BD2的数据调取单元PLAN建立连接,且由于CICS与DB2连接工具TRUE是L8任务控制块103的一部分,因此能够使得L8任务控制块103处理DB2数据库105的相关事务。这块事务的CPU消耗不算在QR TCB消耗上面,也即不算在DB2外程序CPU消耗里面。

可以理解的是,PLAN是在BIND处理中产生的控制结构,是DBRM和PACKAGE的综合,应用程序执行时被调用。其中的BIND是将DB2预编译程序的输出转变为可控制结构(一个package或application plan)的一种处理方式,通过这种处理选择存取数据的路径和执行某种权限的核对。

参见图9,为EIXT程序模块104收集到并格式化后的QR TCB数据,可据此方便准确地对DB2外各程序的性能进行分析。具体说明如下:

1、SQL-1为SQL执行前的数据收集点,SQL-2为SQL执行后的数据收集点;

2、每个收集点的响应时间和CPU消耗的计算:下一个收集点的时间戳、QR TCB总消耗,减去当前收集点的时间戳、QR TCB总消耗;

3、LINK/RETURN收集点的消耗算在PROGB,SQL-1/SQL-2收集点的消耗算在PROGA;

4、响应时间和CPU消耗的单位都为微秒。

参见图10,应用所述主机交易中主机程序性能采集系统实现的所述主机交易中主机程序性能采集方法具体包含有如下内容:

步骤S101,新增并部署4个CICS EXIT程序模块,分别用来采集“程序LINK”、“程序RETURN”、“SQL执行前”和“SQL执行后”4个数据收集点的当前时间戳和QR TCB使用时间。其中,LINK表示:程序调用;RETURN表示:被调用程序返回。比如:程序A调用程序B,使用A LINKB;程序B执行完后,将返回码或返回信息返回给程序A,使用RETURN。

可以理解的是,两个时间戳之差即为响应时间;两个QR TCB使用时间之差即为CPU消耗。

步骤S102,开启FORCEQR,将DB2外的处理集中运行在QR TCB(QR任务控制块)上,SQL处理则运行在L8 TCB上。

步骤S103,激活EXIT程序,准备开始性能数据收集。

可以理解的是,所述性能数据包括响应时间和CPU消耗两大指标,也可以根据实际应用需求增加其他指标。

步骤S104,发起主机交易。

步骤S105,EXIT程序收集各数据采集点的性能数据。

步骤S106,将各收集点数据写到dataset中保存。

步骤S107,判断主机交易是否已结束,如果未结束,执行步骤S105,否则执行步骤S108。

步骤S108,激死EXIT程序,停止收集主机交易性能数据。

步骤S109,关闭FORCEQR。

步骤S110,基于以上收集到的QR TCB数据,对交易里面的各DB2外主机程序性能进行分析。

综上所述,本申请提供了一种主机交易中主机程序性能采集方法及系统,解决了使用IBM EDX跟踪工具使用繁琐且效率低下,及通过修改程序打印运行时间导致操作成本较高等问题,提供了一种成本较低且结果更为准确的DB2外主机程序性能分析方法。本申请应用实例的具体优点如下:

1、提供了一个新的交易性能分析手段。直接得到DB2外各程序性能参考数据,改变了以往打印DB2 PM报表排除数据库性能问题后,定位具体程序较难的问题。

2、准确性:直接在主机内存获取程序实际运行数据,数据最为准确。

3、易用性:使用该方法,可直接得到准确的DB2外各程序的消耗,无需使用繁琐的调试工具,无需修改应用程序以便在各关键点输出时间,也无需通过打DB2PM报表后用程序执行时间减去SQL执行时间得到DB2外各程序的消耗。

从硬件层面来说,为了解决现有的EDX工具存在的采集主机交易过程中主机程序性能数据的成本高且准确性低等问题,本申请提供一种用于实现所述主机交易中主机程序性能采集方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:

图11为本申请实施例的电子设备9600的系统构成的示意框图。如图11所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图11是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。

在一实施例中,主机交易中主机程序性能采集功能可以被集成到中央处理器中。其中,中央处理器可以被配置为进行如下控制:

步骤100:控制运行在客户信息控制系统中间件上的目标主机交易对应的各个主机程序数据,均运行在预设的第一任务控制块内,并使所述目标主机交易对应的分布式数据库数据运行在第二任务控制块中。

在步骤100中,所述客户信息控制系统中间件可以采用CICS中间件;所述第一任务控制块可以采用QR任务控制块,所述第二任务控制块可以采用L8任务控制块。

在本申请的一个或多个实施例中,QR任务控制块QR TCB(Quasi-Reentrant TaskControl Block):TCB是CICS中用来控制任务的链表,QR TCB是CICS中的主TCB,Threadsafe和nonthreadsafe的应用程序都可运行在QR TCB。

在本申请的一个或多个实施例中,L8任务控制块L8 TCB(L8 Mode Open TCB):CICS DB2连接工具TRUE运行在L8 TCB等Open TCB。Threadsafe的应用程序也可以运行在L8TCB等Open TCB。

可以理解的是,所述分布式数据库数据是指所述目标主机交易过程中需要执行分布式数据库的脚本等数据,所述分布式数据库可以采用关系型数据库DB2。

在本申请的一个或多个实施例中,DB2是指IBM开发的一种大型关系型数据库产品。

在本申请的一个或多个实施例中,由于一个交易包含一个或多个程序,而每个程序的执行时间包括两部分:执行自身程序的时间(DB2外程序消耗)和执行DB2数据库脚本的时间(SQL消耗)。因此,在本申请中提及的DB2数据是指DB2数据库的脚本等数据,BD2外数据是指主机交易过程中涉及到的各个主机程序自身数据,本申请提出的主机程序性能检测方法即是指对DB2外数据(主机交易过程中涉及到的各个主机程序自身数据)进行性能检测。

步骤200:采集并存储所述目标主机交易过程中的所述第一任务控制块内的各个所述主机程序的性能数据。

从上述描述可知,本申请实施例提供的电子设备,通过采用第一任务控制块和第二任务控制块将DB2外数据(目标主机交易对应的各个主机程序数据)与DB2数据进行分区运行,以实现对目标主机交易过程中的各个主机程序数据的集中采集,能够有效提高主机交易过程中主机程序性能数据采集的便捷性,并能够有效降低主机交易过程中主机程序性能数据的采集成本,并有效提高主机程序性能数据的采集准确性,进而能够有效提高根据采集的性能数据进行性能分析及性能问题检测的准确性及效率,进而能够在出现主机交易中主机程序性能问题时,快速且准确地排查或解决性能问题,以有效提高客户信息控制系统的运行稳定性及可靠性,并提高主机交易的可靠性。

在另一个实施方式中,主机交易中主机程序性能采集装置可以与中央处理器9100分开配置,例如可以将主机交易中主机程序性能采集装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现主机交易中主机程序性能采集功能。

如图11所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图11中所示的所有部件;此外,电子设备9600还可以包括图11中没有示出的部件,可以参考现有技术。

如图11所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。

其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。

输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。

该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。

存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。

通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。

基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。

本申请的实施例还提供能够实现上述实施例中的主机交易中主机程序性能采集方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的主机交易中主机程序性能采集方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

步骤100:控制运行在客户信息控制系统中间件上的目标主机交易对应的各个主机程序数据,均运行在预设的第一任务控制块内,并使所述目标主机交易对应的分布式数据库数据运行在第二任务控制块中。

在步骤100中,所述客户信息控制系统中间件可以采用CICS中间件;所述第一任务控制块可以采用QR任务控制块,所述第二任务控制块可以采用L8任务控制块。

在本申请的一个或多个实施例中,QR任务控制块QR TCB(Quasi-Reentrant TaskControl Block):TCB是CICS中用来控制任务的链表,QR TCB是CICS中的主TCB,Threadsafe和nonthreadsafe的应用程序都可运行在QR TCB。

在本申请的一个或多个实施例中,L8任务控制块L8 TCB(L8 Mode Open TCB):CICS DB2连接工具TRUE运行在L8 TCB等Open TCB。Threadsafe的应用程序也可以运行在L8TCB等Open TCB。

可以理解的是,所述分布式数据库数据是指所述目标主机交易过程中需要执行分布式数据库的脚本等数据,所述分布式数据库可以采用关系型数据库DB2。

在本申请的一个或多个实施例中,DB2是指IBM开发的一种大型关系型数据库产品。

在本申请的一个或多个实施例中,由于一个交易包含一个或多个程序,而每个程序的执行时间包括两部分:执行自身程序的时间(DB2外程序消耗)和执行DB2数据库脚本的时间(SQL消耗)。因此,在本申请中提及的DB2数据是指DB2数据库的脚本等数据,BD2外数据是指主机交易过程中涉及到的各个主机程序自身数据,本申请提出的主机程序性能检测方法即是指对DB2外数据(主机交易过程中涉及到的各个主机程序自身数据)进行性能检测。

步骤200:采集并存储所述目标主机交易过程中的所述第一任务控制块内的各个所述主机程序的性能数据。

从上述描述可知,本申请实施例提供的计算机可读存储介质,通过采用第一任务控制块和第二任务控制块将DB2外数据(目标主机交易对应的各个主机程序数据)与DB2数据进行分区运行,以实现对目标主机交易过程中的各个主机程序数据的集中采集,能够有效提高主机交易过程中主机程序性能数据采集的便捷性,并能够有效降低主机交易过程中主机程序性能数据的采集成本,并有效提高主机程序性能数据的采集准确性,进而能够有效提高根据采集的性能数据进行性能分析及性能问题检测的准确性及效率,进而能够在出现主机交易中主机程序性能问题时,快速且准确地排查或解决性能问题,以有效提高客户信息控制系统的运行稳定性及可靠性,并提高主机交易的可靠性。

本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 主机交易中主机程序性能采集方法及装置
  • 盾构机主机过站装置及在不可吊移环境中的盾构机主机过站方法
技术分类

06120112965896