CN113077340A - 面向金融交易的性能监控方法及装置 - Google Patents
面向金融交易的性能监控方法及装置 Download PDFInfo
- Publication number
- CN113077340A CN113077340A CN202110331996.4A CN202110331996A CN113077340A CN 113077340 A CN113077340 A CN 113077340A CN 202110331996 A CN202110331996 A CN 202110331996A CN 113077340 A CN113077340 A CN 113077340A
- Authority
- CN
- China
- Prior art keywords
- transaction
- performance monitoring
- monitored
- trace
- log
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3086—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves the use of self describing data formats, i.e. metadata, markup languages, human readable formats
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computing Systems (AREA)
- Finance (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Library & Information Science (AREA)
- Mathematical Physics (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种面向金融交易的性能监控方法及装置,其中,该方法包括:获取待监控交易的交易类型,其中,交易类型包括:联机业务交易和批量业务交易;如果待监控交易为联机业务交易,则采用***的方式实现对联机业务交易的性能监控;如果待监控交易为批量业务交易,则采用注解的方式实现对批量业务交易的性能监控。本发明仅需要增加***或注解便可实现面向金融交易的性能监控,能够帮助金融***开发人员或运维人员快速发现性能瓶颈,为后续优化性能提供有力的技术支撑。
Description
技术领域
本发明涉及金融技术领域,尤其涉及一种面向金融交易的性能监控方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
金融交易,是指涉及机构单位金融资产所有权变化的所有交易,包括金融债权及负债的产生和清偿。在金融交易中,一个机构单位一方面会形成或处置金融资产,抵消以后可体现金融资产的净获得;另一方面会发生和清偿债务,抵消以后可体现负债净发生。
众所周知,金融***对交易性能具有较高的要求,需确保较低的交易响应时长及良好的用户体验。提供相关的交易性能监控机制,可分析交易状况和趋势,以帮助开发人员和运维人员有效地排查和解决问题。
发明内容
本发明实施例中提供了一种面向金融交易的性能监控方法,用以实现对联机业务交易和批量业务交易的性能监控,该方法包括:获取待监控交易的交易类型,其中,交易类型包括:联机业务交易和批量业务交易;如果待监控交易为联机业务交易,则采用***的方式实现对联机业务交易的性能监控;如果待监控交易为批量业务交易,则采用注解的方式实现对批量业务交易的性能监控。
可选地,本发明实施例中提供的面向金融交易的性能监控方法,基于stopwatch机制实现对联机业务交易或批量业务交易的性能监控。
可选地,本发明实施例中提供的面向金融交易的性能监控方法还包括:启动stopwatch;采集待监控交易的交易信息;组装预设交易痕迹,其中,预设交易痕迹包括:框架预设交易痕迹、内呼预设交易痕迹、外呼预设交易痕迹、作业预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹;执行待监控交易的业务逻辑;关闭stopwatch;生成待监控交易的性能监控信息。
可选地,在采集待监控交易的交易信息之后,本发明实施例中提供的面向金融交易的性能监控方法还包括:获取交易信息中包含的用户敏感信息;对交易信息中包含的用户敏感信息进行脱敏处理。
可选地,本发明实施例中提供的面向金融交易的性能监控方法还包括:接收自定义配置的脱敏字段;其中,获取交易信息中包含的用户敏感信息,包括:根据自定义配置的脱敏字段,获取交易信息中包含的用户敏感信息。
可选地,本发明实施例中提供的面向金融交易的性能监控方法中,组装预设交易痕迹具体包括:如果待监控交易为联机业务交易,则组装框架预设交易痕迹、内呼预设交易痕迹、外呼预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹;如果待监控交易为批量业务交易,则组装框架预设交易痕迹、作业预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹。
可选地,本发明实施例中提供的面向金融交易的性能监控方法还包括:输出待监控交易的性能监控日志。
可选地,本发明实施例中提供的面向金融交易的性能监控方法中,输出性能监控日志,具体包括:配置日志输出方式,日志输出方式包括:本地输出和Kibana平台输出;若日志输出方式为本地输出,则将待监控交易的性能监控日志输出至本地;若日志输出方式为Kibana平台输出,则将待监控交易的性能监控日志输出至Kibana平台。
可选地,本发明实施例中提供的面向金融交易的性能监控方法,采用异步的方式,将待监控交易的性能监控日志输出至Kibana平台。
可选地,本发明实施例中提供的面向金融交易的性能监控方法中,采用异步的方式,将待监控交易的性能监控日志输出至Kibana平台,具体包括:将待监控交易的性能监控日志推送至消息中间件;读取消息中间件内的性能监控日志;将读取的性能监控日志存储到Elasticsearch上;在Kibana平台上显示待监控交易的性能监控日志。
可选地,本发明实施例中提供的面向金融交易的性能监控方法中,消息中间件为Kafka。
本发明实施例中还提供了一种面向金融交易的性能监控装置,用以实现对联机业务交易和批量业务交易的性能监控,该装置包括:交易类型获取模块,用于获取待监控交易的交易类型,其中,交易类型包括:联机业务交易和批量业务交易;联机业务交易监控模块,用于如果待监控交易为联机业务交易,则采用***的方式实现对联机业务交易的性能监控;批量业务交易监控模块,用于如果待监控交易为批量业务交易,则采用注解的方式实现对批量业务交易的性能监控。
可选地,本发明实施例中提供的面向金融交易的性能监控装置中,联机业务交易监控模块还用于基于stopwatch机制实现对联机业务交易的性能监控;批量业务交易监控模块还用于基于stopwatch机制实现对批量业务交易的性能监控。
可选地,本发明实施例中提供的面向金融交易的性能监控装置还包括:stopwatch启动模块,用于启动stopwatch;交易信息采集模块,用于采集待监控交易的交易信息;交易痕迹组装模块,用于组装预设交易痕迹,其中,预设交易痕迹包括:框架预设交易痕迹、内呼预设交易痕迹、外呼预设交易痕迹、作业预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹;业务执行模块,用于执行待监控交易的业务逻辑;Stopwatch关闭模块,用于关闭stopwatch;生成待监控交易的性能监控信息。
可选地,本发明实施例中提供的面向金融交易的性能监控装置还包括:用户敏感信息获取模块,用于获取交易信息中包含的用户敏感信息;脱敏加密模块,用于对交易信息中包含的用户敏感信息进行脱敏处理。
可选地,本发明实施例中提供的面向金融交易的性能监控装置还包括:脱敏字段配置模块,用于接收自定义配置的脱敏字段;其中,用户敏感信息获取模块还用于根据自定义配置的脱敏字段,获取交易信息中包含的用户敏感信息。
可选地,本发明实施例中提供的面向金融交易的性能监控装置中,交易痕迹组装模块还用于:如果待监控交易为联机业务交易,则组装框架预设交易痕迹、内呼预设交易痕迹、外呼预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹;如果待监控交易为批量业务交易,则组装框架预设交易痕迹、作业预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹。
可选地,本发明实施例中提供的面向金融交易的性能监控装置还包括:日志输出模块,用于输出待监控交易的性能监控日志。
可选地,本发明实施例中提供的面向金融交易的性能监控装置还包括:日志输出配置模块,用于配置日志输出方式,日志输出方式包括:本地输出和Kibana平台输出;日志输出模块还用于若日志输出方式为本地输出,则将待监控交易的性能监控日志输出至本地;若日志输出方式为Kibana平台输出,则将待监控交易的性能监控日志输出至Kibana平台。
可选地,本发明实施例中提供的面向金融交易的性能监控装置中,日志输出模块还用于采用异步的方式,将待监控交易的性能监控日志输出至Kibana平台。
可选地,本发明实施例中提供的面向金融交易的性能监控装置中,日志输出模块还用于:将待监控交易的性能监控日志推送至消息中间件;读取消息中间件内的性能监控日志;将读取的性能监控日志存储到Elasticsearch上;在Kibana平台上显示待监控交易的性能监控日志。
可选地,本发明实施例中提供的面向金融交易的性能监控装置中,消息中间件为Kafka。
本发明实施例中还提供了一种计算机设备,用以实现对联机业务交易和批量业务交易的性能监控,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述面向金融交易的性能监控方法。
本发明实施例中还提供了一种计算机可读存储介质,用以实现对联机业务交易和批量业务交易的性能监控,该计算机可读存储介质存储有执行上述面向金融交易的性能监控方法的计算机程序。
本发明实施例中,采用***的方式实现对联机业务交易的性能监控,采用注解的方式实现对批量业务交易的性能监控,仅需要增加***或注解便可实现面向金融交易的性能监控,能够帮助金融***开发人员或运维人员快速发现性能瓶颈,为后续优化性能提供有力的技术支撑。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种面向金融交易的性能监控方法流程图;
图2为本发明实施例中提供的一种基于stopwatch机制的交易性能监控流程图;
图3为本发明实施例中提供的一种对用户敏感信息进行脱敏处理的流程图;
图4为本发明实施例中提供的一种可选的面向金融交易的性能监控方法流程图;
图5为本发明实施例中提供的一种性能监控日志输出流程图;
图6为本发明实施例中提供的一种采用异步方式将性能监控日志输出外部***的流程图;
图7为本发明实施例中提供的一种面向金融交易的性能监控方法的具体实现流程图;
图8为本发明实施例中提供的一种面向金融交易的性能监控装置示意图;
图9为本发明实施例中提供的一种可选的面向金融交易的性能监控装置示意图;
图10为本发明实施例中提供的一种计算机设备示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
银行***分为主机***和开放平台。主机***基于大型机,单机性能优良,但成本较高,且不利于分布式扩展。开放平台基于分布式技术,相比主机来说价格低廉,且可维护性较强,方便横向扩展,是未来银行业务发展的大趋势。本发明实施例基于银行开放平台相关技术,提供了一种面向金融交易的性能监控方法,可以对交易的各个性能指标进行详细统计和监控,并通过Web页面的形式展示给用户。
本发明实施例中提供了一种面向金融交易的性能监控方法,用以实现对银行金融***中联机业务交易和批量业务交易的性能监控。
图1为本发明实施例中提供的一种面向金融交易的性能监控方法流程图,如图1所示,该方法包括如下步骤:
S101,获取待监控交易的交易类型,其中,交易类型包括:联机业务交易和批量业务交易。
需要说明的是,本发明实施例中的待监控交易是指金融***中的业务交易;金融***中的金融交易分为联机业务(例如,存款、取款等业务交易)和批量业务(例如,工资入账、报表生成等业务交易)。联机业务适用于单一事件交易,可以快速反馈处理结果,实时互动性强。批量业务适用于一大批工作任务,处理时间相对比较长,实时性差,但比较高效,节省资源消耗。
S102,如果待监控交易为联机业务交易,则采用***的方式实现对联机业务交易的性能监控。
本发明实施例通过***的方式可以实现联机***的性能监控。
在具体实施时,可通过***获取待监控交易的交易码、交易模块、交易时间等信息,对内呼、外呼、数据库等各个维度的交易时间进行统计,并将日志输入到本地或推送Kibana上显示。可选地,还可对交易的服务器平台类型、数据库类型、web中间件容器等信息进行统计。
需要说明的是,本发明实施例中提供的***可以是但不限于Java***,Java***是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分代码的方式。
在软件领域,AOP为Aspect Oriented Programming的缩写,意为面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP(面向对象编程)的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
需要说明的是,本发明实施例中的***是通过AOP机制来实现的。在软件业,AOP为Aspect Oriented Programming的缩写,意为面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP(面向对象编程)的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提升了开发的效率。
当交易接入时会首先进入性能监控***。在***中可对机器名称、机器IP、应用版本号、平台架构(X86架构或arm架构)、web中间件名称(weblogic或tomcat)等信息进行获取。这些信息是通过基础工具进行封装的,可在应用的全局范围内进行获取。在应用的全局交易区,可对与交易相关的信息进行获取,包括全局事务跟踪号、交易号、模块名称、部署单元名称、多实体标识、渠道编号等。所谓全局交换区,是程序中一块与交易相关的内存区域,记录了与交易相关的详细信息,本身是线程安全的。
在***中会进行交易痕迹组装,包括组装框架预设交易痕迹、组装外呼交易痕迹、组装数据库交易痕迹以及组装自定义交易痕迹等。框架预设交易痕迹包括交易整体耗时、服务执行时间等公共指标。数据库交易痕迹用来跟踪数据库操作相关的指标,可对数据库相关的性能进行分析和排查。外呼交易痕迹用来对外呼相关的指标进行跟踪。开发平台本身是基于分布式框架的,采用微服务思想,不同模块及不同***之间通过RPC调用的方式来进行交互。RPC调用:即远程过程调用(Remote Procedure Call),是一个计算机通信协议,它允许运行于一台计算机的程序调用另一台计算机的子程序,而无需额外地为这个交互作用编程。通过RPC调用,程序能利用其它程序或计算机处理的进程。RPC传输效率较高,而且发起调用的一方无需知道RPC的具体实现,如同调用本地方法。外呼是指***与外部***之间的RPC调用。通过外呼交易痕迹的相关指标,可以有效判断性能瓶颈是出于***内部还是外部***。自定义框架预设痕迹是为了方便应用扩展而提供的支持,可方便应用根据自己的需要加入一些个性化监控指标。
S103,如果待监控交易为批量业务交易,则采用注解的方式实现对批量业务交易的性能监控。
需要说明的是,批量业务往往通过统一批处理平台进行调用,一般只在某个规定的时间段对外提供服务。对于批量业务交易,本发明实施例中,通过注解的方式实现对批量业务交易的性能监控。
根据本发明实施例中提供的面向金融交易的性能监控方法,可开发一个金融交易性能监控工具,监控的指标包括但不限于:全局事务跟踪号、交易码、交易模块、主机IP、主机名、SPU单元(部署单元)、响应状态码、渠道编号、交易整体耗时、数据库耗时、内呼耗时、外呼耗时、平台类型(x86或arm)、web中间件名称(weblogic或tomcat等)、流控信息等,实现了多维度、全方位的交易监控。通过流控信息,可以获取到交易的负载并发情况;通过各个维度的耗时情况,可以方便地排查性能瓶颈;通过机器IP、机器名称、平台类型、web中间件名称等信息,可以更详细地了解交易情况。本发明实施例还可以对磁盘、CPU、内存等信息进行监控,根据平台不同,会执行不同的底层监控逻辑,还可以通过配置开关的方式决定是否对磁盘、CPU、内存等信息进行监控。
在一个实施例中,本发明实施例中提供的面向金融交易的性能监控方法,可基于stopwatch机制实现对联机业务交易或批量业务交易的性能监控。基于stopwatch机制实现对交易性能监控时,可直接实例化一个stopwatch的对象,调用start和stop方法即可完成时间的差值计算。这样可以避免在程序业务逻辑中埋入起始时间和终止时间信息造成的代码侵入,而且可以实现多个方法的嵌套调用。相关的调用是基于栈的方式,可按照调用先后展示完整的调用堆栈及详细耗时。最后的调用信息会封装成完整的java对象,以序列化的方式输出到本地及推送到kibana平台。
在基于stopwatch机制实现对批量业务交易进行性能监控的时候,基于注解的方式对stopwatch进行了抽象和封装。在原有业务的基础上,只需要在作业的方法前加入Perftrace注解,便会在执行方法前后加入stopwatch的start和stop方法,对相关方法的执行时间进行统计。可支持方法之间的层级调用及嵌套关系。
在具体实施时,如图2所示,本发明实施例中提供的面向金融交易的性能监控方法,可以通过如下步骤实现基于stopwatch机制的交易性能监控:
S201,启动stopwatch;
S202,采集待监控交易的交易信息;
S203,组装预设交易痕迹,其中,预设交易痕迹包括:框架预设交易痕迹、内呼预设交易痕迹、外呼预设交易痕迹、作业预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹;
S204,执行待监控交易的业务逻辑;
S205,关闭stopwatch;
S206,生成待监控交易的性能监控信息。
需要说明的是,本发明实施例中,内呼是指***内部之间的RPC调用;外呼是指***与外部***之间的RPC调用。RPC调用,即远程过程调用(Remote Procedure Call),是一个计算机通信协议,它允许运行于一台计算机的程序调用另一台计算机的子程序,而无需额外地为这个交互作用编程。通过RPC调用,程序能利用其它程序或计算机处理的进程。RPC传输效率较高,而且发起调用的一方无需知道RPC的具体实现,如同调用本地方法。
由于交易信息中通常包含客户***、账号、客户号等用户敏感信息,出于保护客户信息及行业监管的要求,这些用户敏感信息不宜进行明文显示。因而,在采集待监控交易的交易信息之后,一个实施例中,如图3所示,本发明实施例中提供的面向金融交易的性能监控方法还可以通过如下步骤对交易信息中包含的用户敏感信息进行脱敏处理:
S301,获取交易信息中包含的用户敏感信息;
S302,对交易信息中包含的用户敏感信息进行脱敏处理。
在具体实施时,可对交易信息中包含的用户敏感信息进行加密,以实现脱敏处理。进一步地,如图3所示,本发明实施例中提供的面向金融交易的性能监控方法还可以包括如下步骤:
S300,接收自定义配置的脱敏字段;
则上述S301可根据自定义配置的脱敏字段,获取交易信息中包含的用户敏感信息。
本发明实施例中,通过自定义配置脱敏字段,能够灵活配置交易信息中需要脱敏的字段信息,可选地,还可根据字段敏感程度,可以选择响应的脱敏算法。脱敏后的信息可以满足信息安全要求,同时对原有业务逻辑是无侵入的。
当待监控交易为联机业务交易的情况下,上述S203具体包括:组装框架预设交易痕迹、内呼预设交易痕迹、组装外呼预设交易痕迹、组装数据库预设交易痕迹和组装自定义交易痕迹。
当待监控交易为联机业务交易的情况下,上述S203具体包括:组装框架预设交易痕迹、作业预设交易痕迹、组装数据库预设交易痕迹和组装自定义交易痕迹。
在一个实施例中,如图4所示,本发明实施例中提供的面向金融交易的性能监控方法还可以包括如下步骤:
S104,输出待监控交易的性能监控日志。
需要说明的是,上述S104既可支持性能日志本地输出,也可支持性能日志输出到Kibana,还可支持性能监控日志同时在本地和Kibana上进行显示。在具体实施时,性能监控日志的输出方式支持配置。
由此,一个实施例中,如图5所示,上述S104具体包括如下步骤:
S501,配置日志输出方式,日志输出方式包括:本地输出和Kibana平台输出;
S502,若日志输出方式为本地输出,则将待监控交易的性能监控日志输出至本地;
S503,若日志输出方式为Kibana平台输出,则将待监控交易的性能监控日志输出至Kibana平台。
可选地,上述S501配置的性能监控日志的输出方式,还可以在应用在启动时,自动将性能日志输出方式加载到内存。可选地,该配置参数可支持热加载,即***上线后可动态对该参数进行调整,而无需重启***。这是通过动态监听及调整参数的机制来实现的。
在一个实施例中,上述S503中,可采用异步的方式,将待监控交易的性能监控日志输出至Kibana平台。
在具体实施时,本发明实施例可基于ELK技术将日志输出到Kibana平台。ELK是下面三个开源软件的缩写:Elasticsearch、Logstash、Kibana。其中,Elasticsearch是开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。具有分布式、零配置、自动发现、索引自动分片、索引副本机制、restful风格接口、多数据源、自动搜索负载等特点。Logstash主要是搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作并发往Elasticsearch上去。Kibana也是一个开源和免费的工具,Kibana可以为Logstash和ElasticSearch产生的日志提供友好的Web界面,可以帮助汇总、分析和搜索重要数据日志。日志appender类会对当前日志输出方式进行判断,如果为本地方式,则直接将日志信息写入本地;如果需要将信息在Kibana上显示,则会将性能日志封装为json字符串的形式,发送到日志Kafka上。Kafka为消息中间件,可实现信息的异步处理,减小对主***的性能压力。Logstach通过脚本方式可以对Kafka上的性能日志消息进行消费,并在Elasticsearch上进行存储。Elasticsearch本身支持集群扩展及大数据量存储,可以满足金融***日志量较大的场景。Kibana会从Elasticsearch上读取性能日志信息,并提供友好的展示界面,可支持按时间段、交易号、机器IP等灵活设置搜索条件。
在一个实施例中,如图6所示,上述S503具体通过如下步骤来实现:
S601,将待监控交易的性能监控日志推送至消息中间件;
S602,读取消息中间件内的性能监控日志;
S603,将读取的性能监控日志存储到Elasticsearch上;
S604,在Kibana平台上显示待监控交易的性能监控日志。
需要说明的是,消息中间件是基于队列与消息传递技术,在网络环境中为应用***提供同步或异步、可靠的消息传输的支撑性软件***。消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式***的集成。它通过提供消息传递和消息排队模型,可以在分布式环境下扩展进程间的通信。
可选地,本发明实施例中采用的消息中间件为Kafka。
图7为本发明实施例中提供的一种面向金融交易的性能监控方法的具体实现流程图,如图7所示,具体包括:
S701,接入交易(可分为联机业务交易和批量业务交易)。
S702,如果为联机业务交易,则需要在调用链中加入性能监控***;如果为批量业务交易,则需要在需要进行性能监控的方法中加入Perftrace注解。
S703,启动stopwacth。
S704,收集交易中的公共信息,包括机器IP、机器名称、交易码(联机业务交易时)、作业名称(批量业务交易时)、模块名称、平台名称、web中间件名称等。
S705,对涉及客户的敏感信息进行加密脱敏。
S706,组装框架预设交易痕迹。
S707,如果为联机业务交易,则组装内呼和外呼预设交易痕迹;如果为批量作业,则组装作业预设交易痕迹。
S708,组装数据库预设交易痕迹。
S709,组装自定义交易痕迹。
S710,执行程序主方法,即:如果为联机业务交易,则执行具体联机业务交易逻辑;如果为批量业务交易,则执行批量作业逻辑。
S711,关闭stopwatch。
S712,对性能监控对象进行封装,并生成序列化格式的性能监控信息。
S713,根据配置文件中的参数确定是否输出性能日志到本地。
S714,如果需要输出到本地,则将性能监控日志输出到服务器本地。否则,继续从715步骤开始向后执行。
S715,根据配置文件中的参数确定是否输出日志到Kibana。如果需要输出到Kibana,则执行716及后续的步骤。否则,跳过716-719,执行720步骤。
S716,将性能监控日志推送到消息中间件Kafka。
S717,通过在Logstash上的脚本消费性能监控日志消息。
S718,将性能监控日志存储到Elasticsearch上。
S719,在Kibana上显示或查询性能监控信息。
S720,交易完成。
需要说明的是,金融交易往往通过责任链模式接入开放平台。责任链模式(Chainof Responsibility)是一种设计模式,使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象能够处理它。通过在联机业务交易中添加相关的性能监控***,并作为责任链中的一环,实现了对交易性能的详细监控。
基于同一发明构思,本发明实施例中还提供了一种面向金融交易的性能监控装置,如下面的实施例所述。由于该装置解决问题的原理与面向金融交易的性能监控法相似,因此该装置的实施可以参见面向金融交易的性能监控方法的实施,重复之处不再赘述。
图8为本发明实施例中提供的一种面向金融交易的性能监控装置示意图,如图8所示,该装置包括:交易类型获取模块801、联机业务交易监控模块802和批量业务交易监控模块803。
其中,交易类型获取模块801,用于获取待监控交易的交易类型,其中,交易类型包括:联机业务交易和批量业务交易;联机业务交易监控模块802,用于如果待监控交易为联机业务交易,则采用***的方式实现对联机业务交易的性能监控;批量业务交易监控模块803,用于如果待监控交易为批量业务交易,则采用注解的方式实现对批量业务交易的性能监控。
在一个实施例中,本发明实施例中提供的面向金融交易的性能监控装置中,联机业务交易监控模块802还用于基于stopwatch机制实现对联机业务交易的性能监控;批量业务交易监控模块还用于基于stopwatch机制实现对批量业务交易的性能监控。
在一个实施例中,如图9所示,本发明实施例中提供的面向金融交易的性能监控装置还包括:stopwatch启动模块804,用于启动stopwatch;交易信息采集模块805,用于采集待监控交易的交易信息;交易痕迹组装模块806,用于组装预设交易痕迹,其中,预设交易痕迹包括:框架预设交易痕迹、内呼预设交易痕迹、外呼预设交易痕迹、作业预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹;业务执行模块807,用于执行待监控交易的业务逻辑;Stopwatch关闭模块807,用于关闭stopwatch;性能监控信息生成模块808,用于生成待监控交易的性能监控信息。
在一个实施例中,如图9所示,本发明实施例中提供的面向金融交易的性能监控装置还包括:用户敏感信息获取模块809,用于获取交易信息中包含的用户敏感信息;脱敏加密模块810,用于对交易信息中包含的用户敏感信息进行脱敏处理。
在一个实施例中,如图9所示,本发明实施例中提供的面向金融交易的性能监控装置还包括:脱敏字段配置模块811,用于接收自定义配置的脱敏字段;其中,用户敏感信息获取模块809还用于根据自定义配置的脱敏字段,获取交易信息中包含的用户敏感信息。
在一个实施例中,本发明实施例中提供的面向金融交易的性能监控装置中,交易痕迹组装模块806还用于:如果待监控交易为联机业务交易,则组装框架预设交易痕迹、内呼预设交易痕迹、外呼预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹;如果待监控交易为批量业务交易,则组装框架预设交易痕迹、作业预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹。
在一个实施例中,如图9所示,本发明实施例中提供的面向金融交易的性能监控装置还包括:日志输出模块812,用于输出待监控交易的性能监控日志。
在一个实施例中,如图9所示,本发明实施例中提供的面向金融交易的性能监控装置还包括:日志输出配置模块813,用于配置日志输出方式,日志输出方式包括:本地输出和Kibana平台输出;日志输出模块812还用于若日志输出方式为本地输出,则将待监控交易的性能监控日志输出至本地;若日志输出方式为Kibana平台输出,则将待监控交易的性能监控日志输出至Kibana平台。
在一个实施例中,本发明实施例中提供的面向金融交易的性能监控装置中,日志输出模块813还用于采用异步的方式,将待监控交易的性能监控日志输出至Kibana平台。
在一个实施例中,本发明实施例中提供的面向金融交易的性能监控装置中,日志输出模块813还用于:将待监控交易的性能监控日志推送至消息中间件;读取消息中间件内的性能监控日志;将读取的性能监控日志存储到Elasticsearch上;在Kibana平台上显示待监控交易的性能监控日志。
可选地,本发明实施例中提供的面向金融交易的性能监控装置中,消息中间件为Kafka。
基于同一发明构思,本发明实施例中还提供了一种计算机设备,用以实现对联机业务交易和批量业务交易的性能监控,图10为本发明实施例中提供的一种计算机设备示意图,如图10所示,该计算机设备11包括存储器12、处理器13及存储在存储器12上并可在处理器13上运行的计算机程序,处理器13执行计算机程序时实现上述面向金融交易的性能监控方法。
基于同一发明构思,本发明实施例中还提供了一种计算机可读存储介质,用以实现对联机业务交易和批量业务交易的性能监控,该计算机可读存储介质存储有执行上述面向金融交易的性能监控方法的计算机程序。
综上所述,本发明实施例中提供了一种面向金融交易的性能监控方法、装置、计算机设备及计算机可读存储介质,采用***的方式实现对联机业务交易的性能监控,采用注解的方式实现对批量业务交易的性能监控,仅需要增加***或注解便可实现面向金融交易的性能监控,能够帮助金融***开发人员或运维人员快速发现性能瓶颈,为后续优化性能提供有力的技术支撑。
通过本发明实施例,能够实现但不限于如下技术效果:①通过***的方式实现联机业务交易业务的性能监控,通过注解的方式实现批量业务交易业务的性能监控,实现了对应用的低耦合,仅需要增加***或注解的方式便可以实现交易性能监控;②在对交易进行性能监控时可对敏感信息脱敏,保证客户信息的安全性,且支持灵活设置需要脱敏的字段信息,并根据字段敏感程度,选择相应的脱敏算法;③通过可配置方式同时支持交易监控信息的本地输出和Kibana平台输出;④支持配置参数的热加载;⑤通过异步方式将性能监控日志推送到界面进行显示,可支持交易总耗时、内呼耗时、外呼耗时、数据库耗时等多维度全方位的性能监控信息展示。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (24)
1.一种面向金融交易的性能监控方法,其特征在于,包括:
获取待监控交易的交易类型,其中,所述交易类型包括:联机业务交易和批量业务交易;
如果待监控交易为联机业务交易,则采用***的方式实现对联机业务交易的性能监控;
如果待监控交易为批量业务交易,则采用注解的方式实现对批量业务交易的性能监控。
2.如权利要求1所述的方法,其特征在于,基于stopwatch机制实现对联机业务交易或批量业务交易的性能监控。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
启动stopwatch;
采集待监控交易的交易信息;
组装预设交易痕迹,其中,所述预设交易痕迹包括:框架预设交易痕迹、内呼预设交易痕迹、外呼预设交易痕迹、作业预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹;
执行待监控交易的业务逻辑;
关闭stopwatch;
生成待监控交易的性能监控信息。
4.如权利要求3所述的方法,其特征在于,在采集待监控交易的交易信息之后,所述方法还包括:
获取所述交易信息中包含的用户敏感信息;
对所述交易信息中包含的用户敏感信息进行脱敏处理。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
接收自定义配置的脱敏字段;
其中,获取所述交易信息中包含的用户敏感信息,包括:根据自定义配置的脱敏字段,获取所述交易信息中包含的用户敏感信息。
6.如权利要求3所述的方法,其特征在于,组装预设交易痕迹,包括:
如果待监控交易为联机业务交易,则组装框架预设交易痕迹、内呼预设交易痕迹、外呼预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹;
如果待监控交易为批量业务交易,则组装框架预设交易痕迹、作业预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
输出待监控交易的性能监控日志。
8.如权利要求7所述的方法,其特征在于,输出待监控交易的性能监控日志,包括:
配置日志输出方式,所述日志输出方式包括:本地输出和Kibana平台输出;
若日志输出方式为本地输出,则将待监控交易的性能监控日志输出至本地;
若日志输出方式为Kibana平台输出,则将待监控交易的性能监控日志输出至Kibana平台。
9.如权利要求8所述的方法,其特征在于,采用异步的方式,将待监控交易的性能监控日志输出至Kibana平台。
10.如权利要求9所述的方法,其特征在于,采用异步的方式,将待监控交易的性能监控日志输出至Kibana平台,包括:
将待监控交易的性能监控日志推送至消息中间件;
读取消息中间件内的性能监控日志;
将读取的性能监控日志存储到Elasticsearch上;
在Kibana平台上显示待监控交易的性能监控日志。
11.如权利要求10所述的方法,其特征在于,所述消息中间件为Kafka。
12.一种面向金融交易的性能监控装置,其特征在于,包括:
交易类型获取模块,用于获取待监控交易的交易类型,其中,所述交易类型包括:联机业务交易和批量业务交易;
联机业务交易监控模块,用于如果待监控交易为联机业务交易,则采用***的方式实现对联机业务交易的性能监控;
批量业务交易监控模块,用于如果待监控交易为批量业务交易,则采用注解的方式实现对批量业务交易的性能监控。
13.如权利要求12所述的装置,其特征在于,所述联机业务交易监控模块还用于基于stopwatch机制实现对联机业务交易的性能监控;所述批量业务交易监控模块还用于基于stopwatch机制实现对批量业务交易的性能监控。
14.如权利要求13所述的装置,其特征在于,所述装置还包括:
stopwatch启动模块,用于启动stopwatch;
交易信息采集模块,用于采集待监控交易的交易信息;
交易痕迹组装模块,用于组装预设交易痕迹,其中,所述预设交易痕迹包括:框架预设交易痕迹、内呼预设交易痕迹、外呼预设交易痕迹、作业预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹;
业务执行模块,用于执行待监控交易的业务逻辑;
Stopwatch关闭模块,用于关闭stopwatch;
性能监控信息生成模块,用于生成待监控交易的性能监控信息。
15.如权利要求14所述的装置,其特征在于,所述装置还包括:
用户敏感信息获取模块,用于获取所述交易信息中包含的用户敏感信息;
脱敏加密模块,用于对所述交易信息中包含的用户敏感信息进行脱敏处理。
16.如权利要求15所述的装置,其特征在于,所述装置还包括:
脱敏字段配置模块,用于接收自定义配置的脱敏字段;
其中,所述用户敏感信息获取模块还用于根据自定义配置的脱敏字段,获取所述交易信息中包含的用户敏感信息。
17.如权利要求14所述的装置,其特征在于,所述交易痕迹组装模块还用于:
如果待监控交易为联机业务交易,则组装框架预设交易痕迹、内呼预设交易痕迹、外呼预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹;
如果待监控交易为批量业务交易,则组装框架预设交易痕迹、作业预设交易痕迹、数据库预设交易痕迹和自定义交易痕迹。
18.如权利要求12所述的装置,其特征在于,所述装置还包括:
日志输出模块,用于输出待监控交易的性能监控日志。
19.如权利要求18所述的装置,其特征在于,输出待监控交易的性能监控日志,包括:
日志输出配置模块,用于配置日志输出方式,其中,所述日志输出方式包括:本地输出和Kibana平台输出;
其中,所述日志输出模块还用于若日志输出方式为本地输出,则将待监控交易的性能监控日志输出至本地;若日志输出方式为Kibana平台输出,则将待监控交易的性能监控日志输出至Kibana平台。
20.如权利要求19所述的装置,其特征在于,所述日志输出模块还用于采用异步的方式,将待监控交易的性能监控日志输出至Kibana平台。
21.如权利要求20所述的装置,其特征在于,所述日志输出模块还用于:将待监控交易的性能监控日志推送至消息中间件;读取消息中间件内的性能监控日志;将读取的性能监控日志存储到Elasticsearch上;在Kibana平台上显示待监控交易的性能监控日志。
22.如权利要求21所述的装置,其特征在于,所述消息中间件为Kafka。
23.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11任一项所述面向金融交易的性能监控方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至11任一项所述面向金融交易的性能监控方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110331996.4A CN113077340A (zh) | 2021-03-29 | 2021-03-29 | 面向金融交易的性能监控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110331996.4A CN113077340A (zh) | 2021-03-29 | 2021-03-29 | 面向金融交易的性能监控方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113077340A true CN113077340A (zh) | 2021-07-06 |
Family
ID=76610927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110331996.4A Pending CN113077340A (zh) | 2021-03-29 | 2021-03-29 | 面向金融交易的性能监控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113077340A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114495378A (zh) * | 2022-01-21 | 2022-05-13 | 浪潮卓数大数据产业发展有限公司 | 基于atm机的取现信息获取及处理方法及*** |
-
2021
- 2021-03-29 CN CN202110331996.4A patent/CN113077340A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114495378A (zh) * | 2022-01-21 | 2022-05-13 | 浪潮卓数大数据产业发展有限公司 | 基于atm机的取现信息获取及处理方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aksakalli et al. | Deployment and communication patterns in microservice architectures: A systematic literature review | |
CN109933522B (zh) | 一种自动化用例的测试方法、测试***及存储介质 | |
CN108196915B (zh) | 基于应用容器引擎的代码处理方法、设备及存储介质 | |
EP2386951B1 (en) | Failsafe mechanism for dynamic instrumentation of software using callbacks | |
US9870303B2 (en) | Monitoring and correlating a binary process in a distributed business transaction | |
CN114490268A (zh) | 全链路监控方法、装置、设备、存储介质和程序产品 | |
US8607205B2 (en) | Automatic generation of functional emulators for web service | |
CN112153012A (zh) | 多端触点接入方法、装置及存储介质 | |
CN116893945A (zh) | 一种运维云平台业务预警方法、***及装置 | |
US7171650B2 (en) | System and method for integrating resources in a network | |
CN114996134A (zh) | 容器化部署方法、电子设备及存储介质 | |
CN113077340A (zh) | 面向金融交易的性能监控方法及装置 | |
CN114116509A (zh) | 程序分析方法、装置、电子设备和存储介质 | |
CN113220403A (zh) | h5拦截Android返回事件的方法、装置及电子设备 | |
US8694596B2 (en) | Systems and methods for information brokering in software management | |
CN115934537A (zh) | 接口测试工具生成方法、装置、设备、介质及产品 | |
US20150186252A1 (en) | Testing of transaction tracking software | |
CN115237399A (zh) | 用于采集数据的方法、存储介质、处理器及工程车辆 | |
CN114661325A (zh) | 服务网格配置更新方法、装置、计算设备及介质 | |
CN114327404A (zh) | 一种文件处理方法、装置、电子设备及计算机可读介质 | |
CN113741912A (zh) | 模型管理***、方法、装置及设备 | |
CN114428723A (zh) | 测试***、***测试方法、相关设备及存储介质 | |
CN117270833B (zh) | 服务调用及发布方法、介质和计算机设备 | |
CN116225395A (zh) | 接口数据处理方法、装置、存储介质及处理器 | |
EP4346191A1 (en) | Data processing method, and apparatus |
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 |