一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

交易监控方法及装置与流程

2022-02-24 14:12:06 来源:中国专利 TAG:


1.本发明涉及大数据技术领域,尤其涉及一种交易监控方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.金融业的业务系统,对准确性和实时性要求较高,在出现问题时对问题的发现时刻和解决时刻要求也较高,因此需要对业务系统进行实时监控,以便掌握业务系统的运行情况和健康状况。当前业务系统的软件架构趋于复杂,例如:采用了微服务架构的业务系统,既需要监控整个业务系统的运行情况,又需要监控各个服务的运行情况;采用了工作流的业务系统,既需要监控整个流程的运行情况,又需要监控各个工作流节点的运行情况。且当前银行内部系统数量多,交易种类多,若监控系统与被监控的业务系统之间关联性高,将导致监控系统的通用性降低,在把新的业务系统纳入监控系统时,需要监控系统和/或业务系统做较大改动。
4.现有技术的监控系统,按照数据的来源可分为:基于数据库的监控系统,将交易信息写入数据库,监控系统扫描数据库读取交易信息后进行统计计算,这种监控系统和业务系统共用同一数据库的方式,操作失当可能会影响数据库的响应时间,进而影响业务系统中交易的正常执行,并且监控系统和业务系统间的关联性较高、通用性差;基于日志的监控系统,将交易信息写入日志文件,监控系统扫描日志文件读取交易信息后进行统计计算,由于日志文件是记录在磁盘上,具有实时性较差的技术问题;按照交易统计数据的保存位置可分为:基于内存的监控系统,将交易统计数据写入计算所在的单台服务器的内存中,这种方式下若服务器宕机将会导致数据丢失,且不支持监控系统的水平扩展;基于数据库的监控系统,将交易统计数据写入数据库,需要提前创建数据库表,不利于灵活设置交易维度信息和统计指标信息,并且由于单笔交易需要更新多个统计指标,则需要更新多张数据库表,在进行水平扩展时,为了保证数据同步需要同时对多张数据库表加写锁,影响处理速度。


技术实现要素:

5.本发明实施例提供一种交易监控方法,用以实现降低与业务系统之间的关联性,提高通用性和实时性,加快水平扩展的处理速度,该方法包括:
6.从kafka异步队列中读取交易维度信息;交易维度信息由业务系统将交易信息按交易维度组装得到;
7.根据读取的交易维度信息和预先配置的统计指标,计算得到交易统计数据,将交易统计数据写入到redis数据库中;
8.从redis数据库读取交易统计数据,根据读取的交易统计数据和预先配置的展示界面参数,获得交易监控数据,在展示界面上展示交易监控数据;
9.在交易监控数据达到预先设置的预警阈值时进行预警。
10.本发明实施例还提供一种交易监控装置,用以实现降低与业务系统之间的关联性,提高通用性和实时性,加快水平扩展的处理速度,该装置包括:
11.读取模块,用于从kafka异步队列中读取交易维度信息;交易维度信息由业务系统将交易信息按交易维度组装得到;
12.统计模块,用于根据读取的交易维度信息和预先配置的统计指标,计算得到交易统计数据,将交易统计数据写入到redis数据库中;
13.展示模块,用于从redis数据库读取交易统计数据,根据读取的交易统计数据和预先配置的展示界面参数,获得交易监控数据,在展示界面上展示交易监控数据;
14.预警模块,用于在交易监控数据达到预先设置的预警阈值时进行预警。
15.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述交易监控方法。
16.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述交易监控方法。
17.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述交易监控方法。
18.本发明实施例中,从kafka异步队列中读取交易维度信息;交易维度信息由业务系统将交易信息按交易维度组装得到;根据读取的交易维度信息和预先配置的统计指标,计算得到交易统计数据,将交易统计数据写入到redis数据库中;从redis数据库读取交易统计数据,根据读取的交易统计数据和预先配置的展示界面参数,获得交易监控数据,在展示界面上展示交易监控数据;在交易监控数据达到预先设置的预警阈值时进行预警。与现有技术中的技术方案相比,从kafka异步队列中读取交易维度信息,不将交易信息写入业务系统的数据库,可以实现降低与业务系统之间的关联性,提高通用性和实时性,且将交易统计数据写入具有分布式架构的redis数据库,不需要提前创建数据库表,可以实现灵活配置交易维度信息和统计指标,在进行水平扩展时,不需要对多张数据库表加写锁,加快水平扩展的处理速度。
附图说明
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
20.图1为本发明实施例中提供的交易监控方法流程图;
21.图2为本发明实施例中提供的交易监控方法的展示界面的一具体实例图;
22.图3为本发明实施例中提供的交易监控方法的展示界面的一具体实例图;
23.图4为本发明实施例中提供的交易监控方法的展示界面的一具体实例图;
24.图5为本发明实施例中提供的交易监控方法的一具体实例图;
25.图6为本发明实施例中提供的交易监控方法的一具体实例图;
26.图7为本发明实施例中提供的交易监控装置示意图;
27.图8为本发明实施例中提供的交易监控装置的一具体实例图。
具体实施方式
28.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
29.在介绍本发明实施例之前,首先对本发明实施例涉及的名词进行介绍。
30.1.监控系统:
31.对业务系统的运行情况进行监控的系统。
32.2.业务系统:
33.被监控的系统。
34.3.交易维度:
35.业务系统中交易的一些关键信息。
36.4.统计指标:
37.业务系统的交易量、交易耗时、成功率等统计信息。
38.5.监控指标:
39.本发明实施例是基于统计的监控,因此监控指标为统计指标。
40.6.水平扩展:
41.本发明实施例中指服务器的水平扩展,即不改动程序,仅简单复制代码到多个服务器上,即可实现系统处理能力的提升。
42.7.kafka:
43.一个开源流处理平台,是一种高吞吐量的分布式发布订阅消息系统,可以处理消费者在网站中的所有动作流数据。
44.8.redis:
45.remote dictionary server,远程字典服务,是一个开源的使用anci c语言编写、支持网络、可基于内存亦可持久化的日志型、key-value(键-值)数据库,提供多种语言的api(application programming interface,应用程序接口)。
46.9.lua脚本:
47.由标准c语言编写而成,能够为应用程序提供灵活的扩展和定制功能,在大部分操作系统和平台都可以编译,运行。
48.本发明实施例提供了一种交易监控方法,图1为本发明实施例中提供的交易监控方法流程图,如图1所示,该方法包括如下步骤:
49.步骤101:从kafka异步队列中读取交易维度信息;交易维度信息由业务系统将交易信息按交易维度组装得到;
50.步骤102:根据读取的交易维度信息和预先配置的统计指标,计算得到交易统计数据,将交易统计数据写入到redis数据库中;
51.步骤103:从redis数据库读取交易统计数据,根据读取的交易统计数据和预先配置的展示界面参数,获得交易监控数据,在展示界面上展示交易监控数据;
52.步骤104:在交易监控数据达到预先设置的预警阈值时进行预警。
53.由图1所示流程可知,本发明实施例中提供的交易监控方法,按照数据来源方式分析,不同于现有技术中从数据库或者日志文件中读取交易信息,进行统计计算,而是从kafka异步队列中读取交易维度信息,不将交易信息写入业务系统的数据库,可以实现降低与业务系统之间的关联性,提高通用性和实时性;按照交易统计数据的保存位置分析,不同于现有技术中将交易统计数据写入计算所在的单台服务器的内存中,或提前创建数据库表,将交易统计数据写入数据库,而是将交易统计数据写入具有分布式架构的redis数据库,不需要提前创建数据库表,可以实现灵活配置交易维度信息和统计指标,在进行水平扩展时,不需要对多张数据库表加写锁,加快水平扩展的处理速度。
54.图1所示流程可以由能够实现其功能的装置、设备或系统实施,例如该系统可以称为交易监控系统,在后面的实施例中,以交易监控系统的应用进行说明。
55.具体实施时,首先从kafka异步队列中读取交易维度信息;交易维度信息由业务系统将交易信息按交易维度组装得到。例如可以是,在业务系统将交易信息按交易维度组装得到,将交易维度信息发送到异步队列kafka,交易监控系统读取kafka;例如还可以是,在交易监控系统提供的客户端将交易信息按交易维度组装得到,将交易维度信息发送到异步队列kafka,交易监控系统读取kafka。
56.在一个实施例中,交易维度信息可以包括如下一种或多种交易信息:交易模块标识、交易标识、交易的服务器地址、交易结果、交易开始时刻、交易结束时刻。其中,交易模块标识例如可以是:调额网关模块、调额工作流模块、调额gcs(global communication system,全球通信系统)通信模块、调额ips(internet protocol suite,互联网协议群)通信模块;交易标识可以是交易名称,可以是交易编号,例如可以是:调额历史查询、调额结果查询、额度调整交易、取消临增交易;交易的服务器地址例如可以是:网关节点1;交易结果例如可以是:交易成功、交易失败、交易异常、交易未知。交易维度还可以额外提供一个扩展维度,例如可以是:自定义的其他交易信息。举一例,本例中,交易维度信息可以是根据交易模块标识 交易标识,进行多级细分,例如:对于使用了微服务的业务系统,既可以对某个微服务进行单独统计,又可以对整个交易流程进行合并统计;对于结合网关、应用和服务的多级分布式业务系统,既可以对某个服务进行单独统计,又可以对整个交易流程进行合并统计;对于使用了工作流的业务系统,既可以对工作流节点进行统计,又可以对整个工作流流程进行统计。
57.在从kafka异步队列中读取交易维度信息之后,根据读取的交易维度信息和预先配置的统计指标,计算得到交易统计数据,将交易统计数据写入到redis数据库中。
58.在一个实施例中,统计指标可以包括如下一种或多种:交易量、响应时长、成功率、统计时间间隔。举一例,本例中,统计指标可以是一个交易维度,还可以是任意多个交易维度的组合。例如可以是不同交易的成功率,可以是不同交易结果(交易成功、交易失败、交易异常、交易异常)的交易量,可以是某个交易在不同节点上的响应时间,可以是三十天内按小时统计的交易成功率,可以是当天的每五分钟统计的交易量。其中,交易成功率可以转化为交易量的比率,因此进行统计时对成功率的统计可以转换为对交易量的统计。
59.在一个实施例中,根据读取的交易维度信息和预先配置的统计指标,计算得到交易统计数据,将交易统计数据写入到redis数据库中,可以包括:根据redis数据库的原子化自增功能,对交易维度信息中与预先配置的统计指标相符的交易维度信息进行计算,得到
交易统计数据,将交易统计数据写入到redis数据库中。举一例,本例中,redis为key-value数据库,根据读取的交易维度信息和预先配置的统计指标,分别对redis的key和value进行计算设计。例如可以将redis的key设计为:监控器类型_交易模块标识_交易标识_服务器地址_交易结果_统计时间间隔,其中监控器类型可以为交易量(count)和响应时长(duration);由于交易成功率可以转化为交易成功量与总交易量的比值,不能够直接由数量统计得到,因此,不在此步骤对交易成功率进行计算。例如可以将redis的value设计为:在统计指标为交易量时,设计value为计数器,每次进行 1操作,其中,由于redis数据库的原子化自增功能,可以直接进行 1操作;在统计指标为响应时长时,设计value为平均时长,每次进行加权平均操作,其中,在进行加权平均操作时,通过使用lua脚本,能够在水平扩展时多个进程同时操作redis,且能够保证同步性。
60.在将交易统计数据写入到redis数据库中之后,从redis数据库读取交易统计数据,根据读取的交易统计数据和预先配置的展示界面参数,获得交易监控数据,在展示界面上展示交易监控数据。其中,预先配置的展示界面参数包括不能直接由数量统计得到的统计指标,例如包括交易成功率,因此,需要根据读取的交易统计数据和预先配置的展示界面参数,进行计算,获得交易监控数据,在展示界面上展示交易监控数据。在一个实施例中,展示界面包括如下图表类型其中之一或任意组合:柱状图、饼图、折线图。举一例,本例中,从redis数据库读取交易统计数据,由于交易统计数据是以交易维度分别存储,因此可以灵活配置展示界面参数,提高通用性,例如可以对展示界面参数进行如下配置(等号前用于程序,等号后用于展示界面):
61.1.统计时间间隔,单位为秒:
62.monitor.intervals=5,60,3600;
63.2.交易统计数据保存个数,用于计算交易统计数据的允许存储时长:
64.monitor.save.quantity=120;
65.3.清理模块定时调起的时间间隔,单位为秒:
66.monitor.clean.interval=300;
67.4.交易维度-交易模块标识:
68.monitor.module.gateway=调额网关,
69.monitor.module.activiti=调额工作流,
70.monitor.module.gcs=调额gcs通信,
71.monitor.module.ips=调额ips通信;
72.5.交易维度-交易标识:
73.monitor.transaction.as002002=调额历史查询,
74.monitor.transaction.as002003=调额结果查询,
75.monitor.transaction.as002005=额度调整交易,
76.monitor.transaction.as002006=取消临增交易;
77.6.交易维度-交易的服务器地址:
78.monitor.host.22.11.84.65=网关节点1;
79.7.交易维度-交易结果:
80.monitor.result.0=成功,
81.monitor.result.1=失败,
82.monitor.result.2=异常,
83.monitor.result.3=未知;
84.8.交易维度-其他交易信息:
85.#monitor.other.;
86.9.界面展示的图表个数:
87.chart.num=4。
88.本发明实施例中还提供一种交易监控方法的展示界面的一具体实例,可以分别统计调额历史查询、调额结果查询、额度调整交易、取消临增交易在统计时间间隔为5秒内的到达交易量,图2为本发明实施例中提供的交易监控方法的展示界面的一具体实例图,如图2所示,统计调额历史查询在统计时间间隔为5秒内的到达交易量。在分别统计调额历史查询、调额结果查询、额度调整交易、取消临增交易在统计时间间隔为5秒内的到达交易量时,例如可以对展示界面参数进行如下配置(等号前用于程序,等号后用于展示界面):
89.1.图表数据的统计指标,取值交易量count、响应时间duration、交易成功率percent:
90.chart.monitor.data.type.0=count;
91.2.图表数据的统计时间间隔:
92.chart.monitor.interval.0=5;
93.3.图表数据的交易维度-交易模块标识:
94.chart.monitor.module.0=gateway;
95.4.图表数据的交易维度-交易标识:
96.chart.monitor.transaction.0=as002002,as002003,as002005,as002006;
97.5.图表数据的交易维度-交易的服务器地址:
98.chart.monitor.host.0=22.11.84.65,127.0.0.1;
99.6.图表数据的交易结果:
100.chart.monitor.result.0=0,1,2,3;
101.7.图表数据进行汇总的一个交易维度:
102.chart.main.elem.0=transaction;
103.8.图表的采样间隔:
104.chart.sample.size.0=5;
105.9.图表样式:
106.chart.type.0=bar;
107.10.图表表头信息:
108.chart.title.0=到达交易量(5s)。
109.本发明实施例中还提供一种交易监控方法的展示界面的一具体实例,可以分别统计调额-临增、调额-临增仅计算、调额-仅调额、调额-长减、调额-长增、调额-长增仅计算在统计时间间隔为5秒内的完成交易量,支持根据多个交易维度进行界面展示。图3为本发明实施例中提供的交易监控方法的展示界面的一具体实例图,如图3所示,统计调额-临增在统计时间间隔为5秒内的完成交易量。
110.本发明实施例中还提供一种交易监控方法的展示界面的一具体实例,可以分别统计交易失败、交易异常、交易成功在统计时间间隔为5秒内的各状态交易量,支持根据多个交易维度进行界面展示。图4为本发明实施例中提供的交易监控方法的展示界面的一具体实例图,如图4所示,统计交易失败和交易成功在统计时间间隔为5秒内的交易量,其中交易成功的交易量随时刻变化在统计时间间隔为5秒内的交易量一直为0,形成如图4中所示的交易成功时所指向的在统计时间间隔为5秒内交易量为0的直线;交易失败的交易量在时刻11:01/02-01后的第二次统计开始,随时刻的增加不断变化,形成如图4中所示的交易失败时所指向的在统计时间间隔为5秒内的交易量随时刻变化的折线。
111.在展示界面上展示交易监控数据时,可以在交易监控数据达到预先设置的预警阈值时进行预警。举一例,本例中,例如可以根据交易监控数据中每小时的交易成功率,在每小时的交易成功率低于预先设置的预警阈值时,向中心监控平台进行预警,并且通过短信和/或邮件的方式通知运维人员。
112.图5为本发明实施例中提供的交易监控方法的一具体实例图,如图5所示,本例中,图1所示的交易监控方法还可以包括如下步骤:
113.步骤501:根据预先配置的统计指标,计算交易统计数据在redis数据库中的允许存储时长;在交易统计数据的存储时长超过允许存储时长时,从redis数据库中清理交易统计数据。
114.具体实施时,根据统计时间间隔的不同,交易统计数据需要存储的时长也不同,因此需要根据预先配置的统计指标,将统计时间间隔与交易统计数据保存个数相乘得到交易统计数据在redis数据库中的允许存储时长,在交易统计数据的存储时长超过允许存储时长时,从redis数据库中清理交易统计数据。能够实现在统计时间间隔越长时交易统计数据在redis数据库中的允许存储时长越长,在较长时长之后仍保存业务系统的运行状况;在统计时间间隔越短时交易统计数据在redis数据库中的允许存储时长越短,支持查看业务系统的实时交易情况。
115.图6为本发明实施例中提供的交易监控方法的一具体实例图,如图6所示,本例中,首先业务系统可以直接将交易信息按交易维度组装得到,或者可以在客户端将交易信息按交易维度组装得到;然后将交易维度信息发送到异步队列kafka;交易监控系统从kafka异步队列中读取交易维度信息,计算得到交易统计数据,将交易统计数据写入到redis数据库中;从redis数据库读取交易统计数据,计算获得交易监控数据,在展示界面上展示交易监控数据。
116.本发明实施例中还提供了一种交易监控装置,如下面的实施例所述。由于该装置解决问题的原理与交易监控方法相似,因此该装置的实施可以参见交易监控方法的实施,重复之处不再赘述。
117.本发明实施例中提供了一种交易监控装置,图7为本发明实施例中提供的交易监控装置示意图,如图7所示,该装置包括如下模块:
118.读取模块71,用于从kafka异步队列中读取交易维度信息;交易维度信息由业务系统将交易信息按交易维度组装得到;
119.统计模块72,用于根据读取的交易维度信息和预先配置的统计指标,计算得到交易统计数据,将交易统计数据写入到redis数据库中;
120.展示模块73,用于从redis数据库读取交易统计数据,根据读取的交易统计数据和预先配置的展示界面参数,获得交易监控数据,在展示界面上展示交易监控数据;
121.预警模块74,用于在交易监控数据达到预先设置的预警阈值时进行预警。
122.在一个实施例中,交易维度信息包括如下一种或多种交易信息:交易模块标识、交易标识、交易的服务器地址、交易结果、交易开始时刻、交易结束时刻。
123.在一个实施例中,统计指标包括如下一种或多种:交易量、响应时长、成功率、统计时间间隔。
124.在一个实施例中,统计模块72具体用于:根据redis数据库的原子化自增功能,对交易维度信息中与预先配置的统计指标相符的交易维度信息进行计算,得到交易统计数据,将交易统计数据写入到redis数据库中。
125.在一个实施例中,展示界面包括如下图表类型其中之一或任意组合:柱状图、饼图、折线图。
126.图8为本发明实施例中提供的交易监控装置的一具体实例图,如图8所示,本例中,图7所示的交易监控装置还包括:
127.清理模块81,用于根据预先配置的统计指标,计算交易统计数据在redis数据库中的允许存储时长;在交易统计数据的存储时长超过允许存储时长时,从redis数据库中清理交易统计数据。
128.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述交易监控方法。
129.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述交易监控方法。
130.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述交易监控方法。
131.综上所述,本发明实施例中,从kafka异步队列中读取交易维度信息;交易维度信息由业务系统将交易信息按交易维度组装得到;根据读取的交易维度信息和预先配置的统计指标,计算得到交易统计数据,将交易统计数据写入到redis数据库中;从redis数据库读取交易统计数据,根据读取的交易统计数据和预先配置的展示界面参数,获得交易监控数据,在展示界面上展示交易监控数据;在交易监控数据达到预先设置的预警阈值时进行预警。与现有技术中的技术方案相比,从kafka异步队列中读取交易维度信息,不将交易信息写入业务系统的数据库,可以实现降低与业务系统之间的关联性,提高通用性和实时性,且将交易统计数据写入具有分布式架构的redis数据库,不需要提前创建数据库表,可以实现灵活配置交易维度信息和统计指标,在进行水平扩展时,不需要对多张数据库表加写锁,加快水平扩展的处理速度。
132.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
133.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
134.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
135.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
136.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献