CN111158934B - 基于缓冲队列接收数据实现不同级别延迟拼接方法和装置 - Google Patents

基于缓冲队列接收数据实现不同级别延迟拼接方法和装置 Download PDF

Info

Publication number
CN111158934B
CN111158934B CN201911406478.3A CN201911406478A CN111158934B CN 111158934 B CN111158934 B CN 111158934B CN 201911406478 A CN201911406478 A CN 201911406478A CN 111158934 B CN111158934 B CN 111158934B
Authority
CN
China
Prior art keywords
queue
transaction information
transaction
information
forwarding
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.)
Active
Application number
CN201911406478.3A
Other languages
English (en)
Other versions
CN111158934A (zh
Inventor
杜庆
罗建林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201911406478.3A priority Critical patent/CN111158934B/zh
Publication of CN111158934A publication Critical patent/CN111158934A/zh
Application granted granted Critical
Publication of CN111158934B publication Critical patent/CN111158934B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于缓冲队列接收数据实现不同级别延迟拼接方法和装置,该方法包括:监听MQ消息队列,获取交易信息;将交易信息转发至缓冲队列;所述缓冲队列设有缓冲时长;在缓冲队列的缓冲时长到期后,将交易信息转发至实际消费队列;将实际消费队列中的交易信息取出,与***信息表进行匹配判断;在交易信息与***信息表匹配时,对交易信息进行拼接加工,确定完整交易信息;在交易信息与***信息表不匹配时,将交易信息转发至多级延迟队列,在多级延迟队列的延迟时长到期后,将交易信息转发至实际消费队列。本发明能够缓解MQ消息队列及数据库中的积压情况,实现交易信息的延迟拼接。

Description

基于缓冲队列接收数据实现不同级别延迟拼接方法和装置
技术领域
本发明属于数据信息拼接处理技术领域,尤其涉及一种基于缓冲队列接收数据实现不同级别延迟拼接方法和装置。
背景技术
实时加工通过MQ接收到的消息过程中,在收到一笔金融动账的交易信息时,为了满足实时加工的需求,因此需要实时根据另一个***信息表中提供的信息进行关联补全交易信息,需要通过入表时间滞后以及反复查询的机制来尽可能等待接收到***信息表中的信息,如果未能补充上则只能认为未能拼接上而强制入库提供对外查询。
现有技术中使用方法为首先在获取数据时,通过入表时间等于数据库当前时间减去配置的时间等待间隔进行筛选满足条件的数据,其次需要拼接的数据会根据配置次数反复扫描***信息补充表,如果补充表中无相关数据则扫描次数加一,直至扫描次数已满。
在采用上述现有技术的方法时,首先使用数据库时间进行控制,这样就导致始终有部分数据属于无法处理状态,增加表查询负荷;其次反复扫描情况,需要对此表进行反复更新,影响整体处理性能,加重数据库负荷,从而影响数据接收处理的速度。
发明内容
本发明实施例提供一种基于缓冲队列接收数据实现不同级别延迟拼接方法,利用缓冲队列和多级延迟队列实现交易信息与***信息表的延迟拼接加工,该方法包括:
监听MQ消息队列,获取交易信息;
将交易信息转发至缓冲队列;所述缓冲队列设有缓冲时长;
在缓冲队列的缓冲时长到期后,将交易信息转发至实际消费队列;
将实际消费队列中的交易信息取出,与***信息表进行匹配判断;
在交易信息与***信息表匹配时,对交易信息进行拼接加工,确定完整交易信息;
在交易信息与***信息表不匹配时,将交易信息转发至多级延迟队列,在多级延迟队列的延迟时长到期后,将交易信息转发至实际消费队列。
本发明实施例还提供一种基于缓冲队列接收数据实现不同级别延迟拼接装置,包括:
交易信息获取模块,用于监听MQ消息队列,获取交易信息;
交易信息转发缓冲队列模块,用于将交易信息转发至缓冲队列;所述缓冲队列设有缓冲时长;
交易信息转发实际消费队列模块,用于在缓冲队列的缓冲时长到期后,将交易信息转发至实际消费队列;
匹配判断模块,用于将实际消费队列中的交易信息取出,与***信息表进行匹配判断;
完整交易信息确定模块,用于在交易信息与***信息表匹配时,对交易信息进行拼接加工,确定完整交易信息;
延迟转发模块,用于在交易信息与***信息表不匹配时,将交易信息转发至多级延迟队列,在多级延迟队列的延迟时长到期后,将交易信息转发至实际消费队列。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于缓冲队列接收数据实现不同级别延迟拼接方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行实现上述基于缓冲队列接收数据实现不同级别延迟拼接方法的计算机程序。
本发明实施例提供的一种基于缓冲队列接收数据实现不同级别延迟拼接方法和装置,首先通过监听MQ消息队列,获取交易信息并转发至缓冲队列,能够缓解MQ消息队列及数据库中的积压情况,然后在缓冲队列的缓冲时长到期后,将交易信息转发至实际消费队列,再将实际消费队列中的交易信息取出,与***信息表进行匹配判断,在数据加工的过程中,能够匹配成功时,交易信息直接与***信息表进行拼接加工,确定完整交易新,在匹配不成功时,将交易信息分发至不同延迟等级的多级延迟队列,在多级延迟队列的延迟时长到期后,将交易信息转发至实际消费队列,实现交易信息的延迟拼接。本发明实施例不依赖于***数据库的操作,除去了多次轮询反复更新的操作,减少了数据库的整体的负荷,能够提高数据接收处理的速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例一种基于缓冲队列接收数据实现不同级别延迟拼接方法示意图。
图2为本发明实施例一种基于缓冲队列接收数据实现不同级别延迟拼接方法流程图。
图3为本发明实施例一种基于缓冲队列接收数据实现不同级别延迟拼接装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
如图1本发明实施例一种基于缓冲队列接收数据实现不同级别延迟拼接方法示意图所示,本发明实施例提供一种基于缓冲队列接收数据实现不同级别延迟拼接方法,利用缓冲队列和多级延迟队列实现交易信息与***信息表的延迟拼接加工,该方法包括:
步骤101:监听MQ消息队列,获取交易信息;
步骤102:将交易信息转发至缓冲队列;所述缓冲队列设有缓冲时长;
步骤103:在缓冲队列的缓冲时长到期后,将交易信息转发至实际消费队列;
步骤104:将实际消费队列中的交易信息取出,与***信息表进行匹配判断;
步骤105:在交易信息与***信息表匹配时,对交易信息进行拼接加工,确定完整交易信息;
步骤106:在交易信息与***信息表不匹配时,将交易信息转发至多级延迟队列,在多级延迟队列的延迟时长到期后,将交易信息转发至实际消费队列。
本发明实施例提供的一种基于缓冲队列接收数据实现不同级别延迟拼接方法,首先通过监听MQ消息队列,获取交易信息并转发至缓冲队列,能够缓解MQ消息队列及数据库中的积压情况,然后在缓冲队列的缓冲时长到期后,将交易信息转发至实际消费队列,再将实际消费队列中的交易信息取出,与***信息表进行匹配判断,在数据加工的过程中,能够匹配成功时,交易信息直接与***信息表进行拼接加工,确定完整交易新,在匹配不成功时,将交易信息分发至不同延迟等级的多级延迟队列,在多级延迟队列的延迟时长到期后,将交易信息转发至实际消费队列,实现交易信息的延迟拼接。本发明实施例不依赖于***数据库的操作,除去了多次轮询反复更新的操作,减少了数据库的整体的负荷,能够提高数据接收处理的速度。
在具体实施本发明实施例的一种基于缓冲队列接收数据实现不同级别延迟拼接方法时,如图1本发明实施例一种基于缓冲队列接收数据实现不同级别延迟拼接方法示意图和图2本发明实施例一种基于缓冲队列接收数据实现不同级别延迟拼接方法流程图所示,上述方法可以包括:
监听MQ消息队列,获取交易信息;将交易信息转发至缓冲队列;所述缓冲队列设有缓冲时长;在缓冲队列的缓冲时长到期后,将交易信息转发至实际消费队列;将实际消费队列中的交易信息取出,与***信息表进行匹配判断;在交易信息与***信息表匹配时,对交易信息进行拼接加工,确定完整交易信息;在交易信息与***信息表不匹配时,将交易信息转发至多级延迟队列,在多级延迟队列的延迟时长到期后,将交易信息转发至实际消费队列。
在具体实施发明实施例的一种基于缓冲队列接收数据实现不同级别延迟拼接方法时,在一个实施例中,前述的监听MQ消息队列,获取交易信息,可以包括:
启动JAVA常驻守护进程,不间断监听MQ消息队列,在交易信息到达MQ消息队列时将交易信息从MQ消息队列中取出。
实施例中,前述启动JAVA常驻守护进程为长挂进程,进行不间断监听MQ消息队列,在交易信息到达MQ消息队列时将交易信息从MQ消息队列中取出,解决了减少了MQ消息队列积压的风险。实施例中,MQ消息队列可以是IBM MQ消息队列。
在具体实施发明实施例的一种基于缓冲队列接收数据实现不同级别延迟拼接方法时,在一个实施例中,前述的将交易信息转发至缓冲队列,可以包括:通过调用JAVA API将交易信息转发至缓冲队列。
实施例中,缓冲队列设有缓冲时长,在具体实施时,缓冲时长可以根据实际需求进行设定,例如在一个实例中,缓冲队列的缓冲时长设置为3s,即交易信息在缓冲队列中的存活时间为3s,在3s结束后,交易信息将从缓冲队列中被被转发至实际消费队列;在实施例中,前述缓冲队列可以采用内部集群的Rabbit MQ消息集群的缓冲队列。
在具体实施发明实施例的一种基于缓冲队列接收数据实现不同级别延迟拼接方法时,在一个实施例中,前述的在缓冲队列的缓冲时长到期后,将交易信息转发至实际消费队列,可以包括:
在缓冲队列的缓冲时长到期后,由死信消息交换中间件(Dead-letter Exchange)将交易信息从缓冲队列中挪出,转发至实际消费队列。
在实施例中,例如采用上述的设置的缓冲时长为3s,交易信息在缓冲队列中达到3s后,信消息交换中间件将交易信息从缓冲队列中挪出,转发至实际消费队列。
在具体实施发明实施例的一种基于缓冲队列接收数据实现不同级别延迟拼接方法时,在一个实施例中,前述的***信息表,包括附属信息;
前述的将实际消费队列中的交易信息取出,与附属信息进行匹配判断,包括:
利用长挂多线程服务将实际消费队列中的交易信息取出,在***信息表中查找是否存在与交易信息属于同一笔交易的附属信息。
在实施例中,可以通过扫描的方式对***信息表进行搜索,在***信息表中查找是否存在与交易信息属于同一笔交易的附属信息,如果在***信息表中存在与交易信息属于同一笔交易的附属信息,则进行拼接加工,如果在***信息表中不存在与交易信息属于同一笔交易的附属信息,则可以将交易信息转发至多级延迟队列,等待***信息表更新后进行延迟拼接。
实施例中,前述附属信息可以包括:交易对手信息、用途摘要附言备注等内容,用于对交易信息进行补全。前述的***信息表是由其他***实时报送,因此会存在一定延时。
在一个实施例中,在将实际消费队列中的交易信息取出后,还包括将交易信息分发至每个独立线程独立进行针对待处理的交易信息进行加工。
在具体实施发明实施例的一种基于缓冲队列接收数据实现不同级别延迟拼接方法时,在一个实施例中,前述的在交易信息与***信息表匹配时,对交易信息进行拼接加工,确定完整交易信息,可以包括:
在交易信息与***信息表中的附属信息属于同一笔交易时,根据业务主键将附属信息与交易信息进行拼接加工,确定完整交易信息。
在一个实施例中,在上述确定完整交易信息后,还包括将完整交易信息的状态改为已补全,并将完整交易信息存储至最终数据库,进行保存。
在具体实施发明实施例的一种基于缓冲队列接收数据实现不同级别延迟拼接方法时,在一个实施例中,前述的在交易信息与***信息表不匹配时,将交易信息转发至多级延迟队列,在多级延迟队列的延迟时长到期后,将交易信息转发至实际消费队列,可以包括:
在交易信息与***信息表中的附属信息不属于同一笔交易时,根据交易信息的交易及时性要求,将交易信息转发至多级延迟队列;
在多级延迟队列的延迟时长到期后,由死信消息交换中间件将交易信息回传至实际消费队列。
在实施例中,由于***信息表中的附属信息由其他***报送,存在一定延时,因此***信息表是不断更新的,在更新的过程中,如果交易信息在***信息表中没有扫描到与交易信息属于同一笔交易的附属信息,则需要将交易信息转发至多级延迟队列,在多级延迟队列中进行设定的延迟,以等待***信息表的更新,在多级延迟队列的延迟时间到期后,再回传至实际消费队列,再次进行扫描和拼接加工;通过不断的循环上述过程,可以实现全部附属信息与交易信息的拼接加工。
在具体实施发明实施例的一种基于缓冲队列接收数据实现不同级别延迟拼接方法时,在一个实施例中,前述的多级延迟队列,可以包括:第一级延迟队列、第二级延迟队列和第三级延迟队列;
第一级延迟队列的延迟时长小于第二级延迟队列的延迟时长,第二级延迟队列的延迟时长小于第三级延迟队列的延迟时长;
前述的交易及时性要求,可以包括:高交易加工时效性、中交易加工时效性和低交易加工时效性;
前述的根据交易信息的交易及时性要求,将交易信息转发至多级延迟队列,可以包括:
在交易信息的交易及时性要求为高交易加工时效性时,将交易信息转发至第一级延迟队列;
在交易信息的交易及时性要求为中交易加工时效性时,将交易信息转发至第二级延迟队列;
在交易信息的交易及时性要求为低交易加工时效性时,将交易信息转发至第三级延迟队列。
在本发明实施例的一个实例中,第一级延迟队列的延迟时长可以设定为1s、第二级延迟队列的延迟时长可以设定为2s,第三级延迟队列的延迟时长可以设定为3s;在在交易信息的交易及时性要求为高交易加工时效性时,将交易信息转发至第一级延迟队列,交易信息延时1秒;在交易信息的交易及时性要求为中交易加工时效性时,将交易信息转发至第二级延迟队列,交易信息延时2秒;在交易信息的交易及时性要求为低交易加工时效性时,将交易信息转发至第三级延迟队列,交易信息延时3秒;
如果想不使用数据库方式进行延迟加工或反复查询补充信息,首先必须要使用缓冲队列,且如果要分级别控制延迟时间,可以通过不同缓冲队列的过期时间,进行分级别控制延迟程度。使用Rabbit MQ的缓冲队列,首先缓解IBM MQ消息队列及数据库中的积压情况,随后在加工过程中,将未能实时拼接上的数据根据延迟时间的不同分发至不同延迟时间的延迟队列,由DLX(Dead-letter Exchange)将满足延迟时间的数据再转发至实际工作消费队列。本发明由于使用JAVA常挂服务的程序,首先解决了减少了IBM MQ消息队列积压的风险,不再过度依赖***数据库的操作,其次去除了多次轮询反复更新的操作,进一步减少了数据库的整体的负荷。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于缓冲队列接收数据实现不同级别延迟拼接方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行实现上述基于缓冲队列接收数据实现不同级别延迟拼接方法的计算机程序。
本发明实施例中还提供了一种基于缓冲队列接收数据实现不同级别延迟拼接装置,如下面的实施例所述。由于该装置解决问题的原理与一种基于缓冲队列接收数据实现不同级别延迟拼接方法相似,因此该装置的实施可以参见一种基于缓冲队列接收数据实现不同级别延迟拼接方法的实施,重复之处不再赘述。
如图3本发明实施例本发明实施例一种基于缓冲队列接收数据实现不同级别延迟拼接装置示意图所示,本发明实施例还提供一种基于缓冲队列接收数据实现不同级别延迟拼接装置,可以包括:
交易信息获取模块301,用于监听MQ消息队列,获取交易信息;
交易信息转发缓冲队列模块302,用于将交易信息转发至缓冲队列;所述缓冲队列设有缓冲时长;
交易信息转发实际消费队列模块303,用于在缓冲队列的缓冲时长到期后,将交易信息转发至实际消费队列;
匹配判断模块304,用于将实际消费队列中的交易信息取出,与***信息表进行匹配判断;
完整交易信息确定模块305,用于在交易信息与***信息表匹配时,对交易信息进行拼接加工,确定完整交易信息;
延迟转发模块306,用于在交易信息与***信息表不匹配时,将交易信息转发至多级延迟队列,在多级延迟队列的延迟时长到期后,将交易信息转发至实际消费队列。
在具体实施发明实施例的一种基于缓冲队列接收数据实现不同级别延迟拼接装置时,在一个实施例中,前述交易信息获取模块,具体用于:
启动JAVA常驻守护进程,不间断监听MQ消息队列,在交易信息到达MQ消息队列时将交易信息从MQ消息队列中取出。
在具体实施发明实施例的一种基于缓冲队列接收数据实现不同级别延迟拼接装置时,在一个实施例中,前述交易信息转发缓冲队列模块,具体用于:通过调用JAVA API将交易信息转发至缓冲队列。
在具体实施发明实施例的一种基于缓冲队列接收数据实现不同级别延迟拼接装置时,在一个实施例中,前述交易信息转发实际消费队列模块,具体用于:
在缓冲队列的缓冲时长到期后,由死信消息交换中间件将交易信息从缓冲队列中挪出,转发至实际消费队列。
在具体实施发明实施例的一种基于缓冲队列接收数据实现不同级别延迟拼接装置时,在一个实施例中,前述***信息表,包括附属信息;
前述匹配判断模块,具体用于:
利用长挂多线程服务将实际消费队列中的交易信息取出,在***信息表中查找是否存在与交易信息属于同一笔交易的附属信息。
在具体实施发明实施例的一种基于缓冲队列接收数据实现不同级别延迟拼接装置时,在一个实施例中,前述完整交易信息确定模块,具体用于:
在交易信息与***信息表中的附属信息属于同一笔交易时,根据业务主键将附属信息与交易信息进行拼接加工,确定完整交易信息。
在具体实施发明实施例的一种基于缓冲队列接收数据实现不同级别延迟拼接装置时,在一个实施例中,前述延迟转发模块,具体用于:
在交易信息与***信息表中的附属信息不属于同一笔交易时,根据交易信息的交易及时性要求,将交易信息转发至多级延迟队列;
在多级延迟队列的延迟时长到期后,由死信消息交换中间件将交易信息回传至实际消费队列。
在具体实施发明实施例的一种基于缓冲队列接收数据实现不同级别延迟拼接装置时,在一个实施例中,多级延迟队列,包括:第一级延迟队列、第二级延迟队列和第三级延迟队列;
第一级延迟队列的延迟时长小于第二级延迟队列的延迟时长,第二级延迟队列的延迟时长小于第三级延迟队列的延迟时长;
交易及时性要求,包括:高交易加工时效性、中交易加工时效性和低交易加工时效性;
前述延迟转发模块,还用于:
在交易信息的交易及时性要求为高交易加工时效性时,将交易信息转发至第一级延迟队列;
在交易信息的交易及时性要求为中交易加工时效性时,将交易信息转发至第二级延迟队列;
在交易信息的交易及时性要求为低交易加工时效性时,将交易信息转发至第三级延迟队列。
综上,本发明实施例提供的一种基于缓冲队列接收数据实现不同级别延迟拼接方法和装置,首先通过监听MQ消息队列,获取交易信息并转发至缓冲队列,能够缓解MQ消息队列及数据库中的积压情况,然后在缓冲队列的缓冲时长到期后,将交易信息转发至实际消费队列,再将实际消费队列中的交易信息取出,与***信息表进行匹配判断,在数据加工的过程中,能够匹配成功时,交易信息直接与***信息表进行拼接加工,确定完整交易新,在匹配不成功时,将交易信息分发至不同延迟等级的多级延迟队列,在多级延迟队列的延迟时长到期后,将交易信息转发至实际消费队列,实现交易信息的延迟拼接。本发明实施例不依赖于***数据库的操作,除去了多次轮询反复更新的操作,减少了数据库的整体的负荷,能够提高数据接收处理的速度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (18)

1.一种基于缓冲队列接收数据实现不同级别延迟拼接方法,其特征在于,包括:
监听MQ消息队列,获取交易信息;
将交易信息转发至缓冲队列;所述缓冲队列设有缓冲时长;
在缓冲队列的缓冲时长到期后,将交易信息转发至实际消费队列;
将实际消费队列中的交易信息取出,与***信息表进行匹配判断;
在交易信息与***信息表匹配时,对交易信息进行拼接加工,确定完整交易信息;
在交易信息与***信息表不匹配时,将交易信息转发至多级延迟队列,在多级延迟队列的延迟时长到期后,将交易信息转发至实际消费队列。
2.如权利要求1所述的方法,其特征在于,监听MQ消息队列,获取交易信息,包括:
启动JAVA常驻守护进程,不间断监听MQ消息队列,在交易信息到达MQ消息队列时将交易信息从MQ消息队列中取出。
3.如权利要求1所述的方法,其特征在于,将交易信息转发至缓冲队列,包括:通过调用JAVA API将交易信息转发至缓冲队列。
4.如权利要求1所述的方法,其特征在于,在缓冲队列的缓冲时长到期后,将交易信息转发至实际消费队列,包括:
在缓冲队列的缓冲时长到期后,由死信消息交换中间件将交易信息从缓冲队列中挪出,转发至实际消费队列。
5.如权利要求1所述的方法,其特征在于,***信息表,包括附属信息;
将实际消费队列中的交易信息取出,与附属信息进行匹配判断,包括:
利用长挂多线程服务将实际消费队列中的交易信息取出,在***信息表中查找是否存在与交易信息属于同一笔交易的附属信息。
6.如权利要求5所述的方法,其特征在于,在交易信息与***信息表匹配时,对交易信息进行拼接加工,确定完整交易信息,包括:
在交易信息与***信息表中的附属信息属于同一笔交易时,根据业务主键将附属信息与交易信息进行拼接加工,确定完整交易信息。
7.如权利要求5所述的方法,其特征在于,在交易信息与***信息表不匹配时,将交易信息转发至多级延迟队列,在多级延迟队列的延迟时长到期后,将交易信息转发至实际消费队列,包括:
在交易信息与***信息表中的附属信息不属于同一笔交易时,根据交易信息的交易及时性要求,将交易信息转发至多级延迟队列;
在多级延迟队列的延迟时长到期后,由死信消息交换中间件将交易信息回传至实际消费队列。
8.如权利要求7所述的方法,其特征在于,
多级延迟队列,包括:第一级延迟队列、第二级延迟队列和第三级延迟队列;
第一级延迟队列的延迟时长小于第二级延迟队列的延迟时长,第二级延迟队列的延迟时长小于第三级延迟队列的延迟时长;
交易及时性要求,包括:高交易加工时效性、中交易加工时效性和低交易加工时效性;
根据交易信息的交易及时性要求,将交易信息转发至多级延迟队列,包括:
在交易信息的交易及时性要求为高交易加工时效性时,将交易信息转发至第一级延迟队列;
在交易信息的交易及时性要求为中交易加工时效性时,将交易信息转发至第二级延迟队列;
在交易信息的交易及时性要求为低交易加工时效性时,将交易信息转发至第三级延迟队列。
9.一种基于缓冲队列接收数据实现不同级别延迟拼接装置,其特征在于,包括:
交易信息获取模块,用于监听MQ消息队列,获取交易信息;
交易信息转发缓冲队列模块,用于将交易信息转发至缓冲队列;所述缓冲队列设有缓冲时长;
交易信息转发实际消费队列模块,用于在缓冲队列的缓冲时长到期后,将交易信息转发至实际消费队列;
匹配判断模块,用于将实际消费队列中的交易信息取出,与***信息表进行匹配判断;
完整交易信息确定模块,用于在交易信息与***信息表匹配时,对交易信息进行拼接加工,确定完整交易信息;
延迟转发模块,用于在交易信息与***信息表不匹配时,将交易信息转发至多级延迟队列,在多级延迟队列的延迟时长到期后,将交易信息转发至实际消费队列。
10.如权利要求9所述的装置,其特征在于,交易信息获取模块,具体用于:
启动JAVA常驻守护进程,不间断监听MQ消息队列,在交易信息到达MQ消息队列时将交易信息从MQ消息队列中取出。
11.如权利要求9所述的装置,其特征在于,交易信息转发缓冲队列模块,具体用于:通过调用JAVA API将交易信息转发至缓冲队列。
12.如权利要求9所述的装置,其特征在于,交易信息转发实际消费队列模块,具体用于:
在缓冲队列的缓冲时长到期后,由死信消息交换中间件将交易信息从缓冲队列中挪出,转发至实际消费队列。
13.如权利要求9所述的装置,其特征在于,***信息表,包括附属信息;
匹配判断模块,具体用于:
利用长挂多线程服务将实际消费队列中的交易信息取出,在***信息表中查找是否存在与交易信息属于同一笔交易的附属信息。
14.如权利要求13所述的装置,其特征在于,完整交易信息确定模块,具体用于:
在交易信息与***信息表中的附属信息属于同一笔交易时,根据业务主键将附属信息与交易信息进行拼接加工,确定完整交易信息。
15.如权利要求13所述的装置,其特征在于,延迟转发模块,具体用于:
在交易信息与***信息表中的附属信息不属于同一笔交易时,根据交易信息的交易及时性要求,将交易信息转发至多级延迟队列;
在多级延迟队列的延迟时长到期后,由死信消息交换中间件将交易信息回传至实际消费队列。
16.如权利要求15所述的装置,其特征在于,
多级延迟队列,包括:第一级延迟队列、第二级延迟队列和第三级延迟队列;
第一级延迟队列的延迟时长小于第二级延迟队列的延迟时长,第二级延迟队列的延迟时长小于第三级延迟队列的延迟时长;
交易及时性要求,包括:高交易加工时效性、中交易加工时效性和低交易加工时效性;
延迟转发模块,还用于:
在交易信息的交易及时性要求为高交易加工时效性时,将交易信息转发至第一级延迟队列;
在交易信息的交易及时性要求为中交易加工时效性时,将交易信息转发至第二级延迟队列;
在交易信息的交易及时性要求为低交易加工时效性时,将交易信息转发至第三级延迟队列。
17.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-8任一项所述基于缓冲队列接收数据实现不同级别延迟拼接方法。
18.一种计算机可读存储介质,所述计算机可读存储介质存储有执行实现权利要求1-8任一项所述基于缓冲队列接收数据实现不同级别延迟拼接方法的计算机程序。
CN201911406478.3A 2019-12-31 2019-12-31 基于缓冲队列接收数据实现不同级别延迟拼接方法和装置 Active CN111158934B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911406478.3A CN111158934B (zh) 2019-12-31 2019-12-31 基于缓冲队列接收数据实现不同级别延迟拼接方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911406478.3A CN111158934B (zh) 2019-12-31 2019-12-31 基于缓冲队列接收数据实现不同级别延迟拼接方法和装置

Publications (2)

Publication Number Publication Date
CN111158934A CN111158934A (zh) 2020-05-15
CN111158934B true CN111158934B (zh) 2023-05-02

Family

ID=70559717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911406478.3A Active CN111158934B (zh) 2019-12-31 2019-12-31 基于缓冲队列接收数据实现不同级别延迟拼接方法和装置

Country Status (1)

Country Link
CN (1) CN111158934B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115328680B (zh) * 2022-09-28 2023-01-31 天津卓朗昆仑云软件技术有限公司 消息队列消费异常的辅助方法、装置和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106210021A (zh) * 2016-07-05 2016-12-07 中国银行股份有限公司 金融应用***联机业务的实时监控方法以及监控装置
CN108076098A (zh) * 2016-11-16 2018-05-25 北京京东尚科信息技术有限公司 一种业务处理方法及***
WO2018232490A1 (en) * 2017-06-22 2018-12-27 Zeu Crypto Networks Inc. TRANSACTION TRAFFIC FORMAT BASED ON A MULTINIVE QUEUE FOR BLOCK CHAINS
CN109271417A (zh) * 2018-11-23 2019-01-25 福建榕基软件股份有限公司 一种基于数据库的轻量级消息队列实现方法及存储设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104753769A (zh) * 2015-03-24 2015-07-01 新余兴邦信息产业有限公司 用于消息队列下发消息的方法和消息下发装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106210021A (zh) * 2016-07-05 2016-12-07 中国银行股份有限公司 金融应用***联机业务的实时监控方法以及监控装置
CN108076098A (zh) * 2016-11-16 2018-05-25 北京京东尚科信息技术有限公司 一种业务处理方法及***
WO2018232490A1 (en) * 2017-06-22 2018-12-27 Zeu Crypto Networks Inc. TRANSACTION TRAFFIC FORMAT BASED ON A MULTINIVE QUEUE FOR BLOCK CHAINS
CN109271417A (zh) * 2018-11-23 2019-01-25 福建榕基软件股份有限公司 一种基于数据库的轻量级消息队列实现方法及存储设备

Also Published As

Publication number Publication date
CN111158934A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
CN108280150B (zh) 一种分布式异步业务分发方法及***
US20180365254A1 (en) Method and apparatus for processing information flow data
US8984530B2 (en) Queued message dispatch
CN109901918B (zh) 一种处理超时任务的方法和装置
CN113238843B (zh) 一种任务执行方法、装置、设备及存储介质
CN109033814B (zh) 智能合约触发方法、装置、设备及存储介质
CN105955807B (zh) 一种任务处理***及方法
CN107623731B (zh) 一种任务调度方法、客户端、服务集群及***
CN105160570A (zh) 一种可水平扩展的并发在线交易处理方法
CN110569312A (zh) 一种基于gpu的大数据快速检索***及其使用方法
US20130074095A1 (en) Handling and reporting of object state transitions on a multiprocess architecture
CN113656176B (zh) 云设备的分配方法、装置、***、电子设备、介质及产品
CN113157411B (zh) 一种基于Celery的可靠可配置任务***及装置
CN110941525A (zh) 一种数据积压预警方法及装置
CN109842621A (zh) 一种减少token存储数量的方法及终端
CN107451152B (zh) 计算设备、数据缓存和查找的方法及装置
CN111158934B (zh) 基于缓冲队列接收数据实现不同级别延迟拼接方法和装置
CN111914007B (zh) 一种hadoop集群运行ETL流程的方法及装置
US11902119B2 (en) System and method for serverless monitoring
CN111694798B (zh) 一种基于日志解析的数据同步方法及数据同步***
CN111221742B (zh) 一种测试案例的更新方法、装置、存储介质和服务器
CN114090113B (zh) 数据源处理插件动态加载的方法、装置、设备及存储介质
CN109714214B (zh) 一种服务器异常的处理方法及管理设备
CN111553652A (zh) 业务处理方法及装置
US10762207B2 (en) Method and device for scanning virus

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
GR01 Patent grant
GR01 Patent grant