CN110851248B - 异步任务数据处理方法、装置及计算机可读存储介质 - Google Patents
异步任务数据处理方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110851248B CN110851248B CN201910970982.XA CN201910970982A CN110851248B CN 110851248 B CN110851248 B CN 110851248B CN 201910970982 A CN201910970982 A CN 201910970982A CN 110851248 B CN110851248 B CN 110851248B
- Authority
- CN
- China
- Prior art keywords
- message
- task data
- asynchronous task
- asynchronous
- message set
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 57
- 238000000034 method Methods 0.000 claims description 31
- 238000004891 communication Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000012546 transfer Methods 0.000 description 14
- 230000004044 response Effects 0.000 description 6
- 230000002688 persistence Effects 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据处理技术,揭露了一种异步任务数据处理方法,包括:获取客户端待处理的异步任务数据,将所述异步任务数据输入至预先构建的异步消息服务器中,其中,所述异步消息服务器包括生产者、管理者以及消费者;通过所述生产者对所述异步任务数据进行解析处理,得到消息集;通过所述管理者对所述消息集进行汇总处理,得到源消息集;通过所述消费者对所述源消息集进行消费订阅,得到目标消息集;将所述目标消息集传输到后台数据库中,得到所述目标消息集的查询结果,并通过所述异步消息服务器将所述查询结果返回给所述客户端。本发明还提出一种异步任务数据处理装置以及一种计算机可读存储介质。本发明实现了异步任务数据的高效处理。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种异步任务数据处理方法、装置及计算机可读存储介质。
背景技术
目前,基于oracle数据存储介质的架构大多无法满足高并发的业务量处理,一些实时性要求不高的数据会通过异步任务的方式来处理。其中,所述通过异步任务的方式处理步骤为:先在oracle数据库中写一条待处理的任务;再通过定时任务去抓取数据库中异步任务数据进行业务逻辑的处理。所述通过异步任务的方式处理的缺点包括:1、强依赖数据库,高并发下对数据库压力增大;2、大量的任务积压会影响任务的处理速度。
发明内容
本发明提供一种异步任务数据处理方法、装置及计算机可读存储介质,其主要目的在于当用户在异步任务数据处理时,给用户提供一种高效的异步任务数据处理的方法。
为实现上述目的,本发明提供的一种异步任务数据处理方法,包括:
获取客户端待处理的异步任务数据,将所述异步任务数据输入至预先构建的异步消息服务器中,其中,所述异步消息服务器包括生产者、管理者以及消费者,所述生产者和所述消费者分别与所述管理者连接;
通过所述生产者对所述异步任务数据进行解析处理,得到所述异步任务数据的消息集;
通过所述管理者对所述异步任务数据的消息集进行汇总处理,得到源消息集;
通过所述消费者对所述源消息集进行消费订阅,得到目标消息集;
将所述目标消息集传输到后台数据库中,得到所述目标消息集的查询结果,并通过所述异步消息服务器将所述查询结果返回给所述客户端。
可选地,所述预先构建的异步消息服务器包括RocketMQ消息中间件;及将所述生产者和所述消费者分别与所述管理者建立连接,包括:
在所述生产者与所述管理者之间开启一个第一信道,通过所述第一信道声明一个第一交换器,在所述生产者和所述管理者之间声明一个第一消息队列,利用路由键绑定所述第一交换器和所述第一队列,实现所述生产者和所述管理者的连接建立;
在所述消费者与所述管理者之间开启一个第二信道,通过所述第二信道声明一个第二交换器,在所述消费者和所述管理者之间声明一个第二消息队列,利用路由键绑定所述第二交换器和所述第二队列,实现所述消费者和所述管理者的连接建立。
可选地,所述解析处理包括:
对所述异步任务数据进行过滤,根据用户的需求通过运维指令对过滤后的所述异步任务数据进行增加、删除、改变以及查看操作,完成所述解析处理。
可选地,所述管理者包括Broker模块和Name Server模块;及所述管理者对所述异步任务数据的消息集进行汇总处理,得到源消息集,包括:
将所述异步任务数据的消息集传输到所述Broker模块中,并定期从所述NameServer模块中获取所述异步任务数据的消息集主题路由信息;
通过所述Name Server模块中的Namesrv Startup类对所述消息集主题路由信息进行解析,得到所述异步任务数据的消息集中各个节点的信息;
利用所述Broker模块中Default Request Processor类定义所述消息集中各个节点之间的通讯协议,根据所述通讯协议调用所述异步任务数据的消息集中各自的处理信息,完成所述异步任务数据的消息集进行汇总处理,得到所述源消息集。
可选地,所述通过所述消费者对所述源消息集进行消费订阅,包括:
预设所述管理者中Name Server模块的源数据集节点地址,并进行遍历所述源数据集的主题和标签,得到所述源数据集的标准数据集;
通过预设的分配策略对所述标准数据集分配消费队列;
通过所述消费者定期向所述管理者发送消费请求,根据所述消费请求向所述消费队列进行数据查找,完成所述消费订阅。
此外,为实现上述目的,本发明还提供一种异步任务数据处理装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的异步任务数据处理程序,所述异步任务数据处理程序被所述处理器执行时实现如下步骤:
获取客户端待处理的异步任务数据,将所述异步任务数据输入至预先构建的异步消息服务器中,其中,所述异步消息服务器包括生产者、管理者以及消费者,所述生产者和所述消费者分别与所述管理者连接;
通过所述生产者对所述异步任务数据进行解析处理,得到所述异步任务数据的消息集;
通过所述管理者对所述异步任务数据的消息集进行汇总处理,得到源消息集;
通过所述消费者对所述源消息集进行消费订阅,得到目标消息集;
将所述目标消息集传输到后台数据库中,得到所述目标消息集的查询结果,并通过所述异步消息服务器将所述查询结果返回给所述客户端。
可选地,所述预先构建的异步消息服务器包括RocketMQ消息中间件;及将所述生产者和所述消费者分别与所述管理者建立连接,包括:
在所述生产者与所述管理者之间开启一个第一信道,通过所述第一信道声明一个第一交换器,在所述生产者和所述管理者之间声明一个第一消息队列,利用路由键绑定所述第一交换器和所述第一队列,实现所述生产者和所述管理者的连接建立;
在所述消费者与所述管理者之间开启一个第二信道,通过所述第二信道声明一个第二交换器,在所述消费者和所述管理者之间声明一个第二消息队列,利用路由键绑定所述第二交换器和所述第二队列,实现所述消费者和所述管理者的连接建立。
可选地,所述解析处理包括:
对所述异步任务数据进行过滤,根据用户的需求通过运维指令对过滤后的所述异步任务数据进行增加、删除、改变以及查看操作,完成所述解析处理。
可选地,所述管理者包括Broker模块和Name Server模块;及所述通过所述管理者对所述异步任务数据的消息集进行汇总处理,得到源消息集,包括:
将所述异步任务数据的消息集传输到所述Broker模块中,并定期从所述NameServer模块中获取所述异步任务数据的消息集主题路由信息;
通过所述Name Server模块中的Namesrv Startup类对所述消息集主题路由信息进行解析,得到所述异步任务数据的消息集中各个节点的信息;
利用所述Broker模块中Default Request Processor类定义所述消息集中各个节点之间的通讯协议,根据所述通讯协议调用所述异步任务数据的消息集中各自的处理信息,完成所述异步任务数据的消息集进行汇总处理,得到所述源消息集。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有异步任务数据处理程序,所述异步任务数据处理程序可被一个或者多个处理器执行,以实现如上所述的异步任务数据处理方法的步骤。
本发明提出的异步任务数据处理方法、装置及计算机可读存储介质,在用户进行异步任务数据处理时,结合预先构建的异步消息服务器对所述异步任务数据进行解析、汇总以及消费订阅操作,得到目标消息集,并将所述目标消息集传输到后台数据库中,得到所述目标消息集的查询结果,从而可以实现异步任务数据的高效处理。
附图说明
图1为本发明一实施例提供的异步任务数据处理方法的流程示意图;
图2为本发明一实施例提供的异步任务数据处理装置的内部结构示意图;
图3为本发明一实施例提供的异步任务数据处理装置中异步任务数据处理程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种异步任务数据处理方法。参照图1所示,为本发明一实施例提供的异步任务数据处理方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,异步任务数据处理方法包括:
S1、获取客户端待处理的异步任务数据,将所述异步任务数据输入至预先构建的异步消息服务器中,其中,所述异步消息服务器包括生产者、管理者以及消费者,并将所述生产者和所述消费者分别与所述管理者建立连接。
本发明较佳实施例中,所述客户端可以为某交易平台的业务系统,例如,中国平安银行的转账系统,于是,所述中国平安银行的转账系统的异步任务数据可以为转账金额、转账时间以及转账对象等等。其中,所述异步任务区别在于和同步任务的概念,所述同步任务指的是当请求执行某个功能任务时,在没有响应结果前,所述请求就无法返回,简单说就是所述请求必须阻塞,必须等到响应才进行下一步操作。所述异步任务指的是,当执行某个功能任务时,并不需要立即得到响应就可以进行下一步操作,何时得到响应就在处理该操作。
进一步,本发明中所述预先构建的异步消息服务器通过RocketMQ消息中间件进行构建,所述预先构建的异步消息服务器包括生产者、管理者以及消费者。其中,所述RocketMQ消息中间件指的是能够有效的保证及支持在分布式应用系统中,通过同步或异步的机制进行消息收发的中间件系统。所述生产者指的是向消息队列中发送消息的组件。所述管理者指的是对所述生产者发送的消息进行处理的组件,所述消费者指的是对所述管理者处理后的消息进行订阅的组件。
进一步地,本发明中将所述生产者与所述管理者建立连接包括:
a、在所述生产者与所述管理者开启一个第一信道(Channel),通过所述第一信道声明一个第一交换器,并设置所述第一交换器的相关属性,比如第一交换器类型、是否持久化等,其中,所述第一信道用于识别所述生产者发送消息的ID;
b、在所述生产者和所述管理者之间声明一个第一消息队列,并设置所述第一消息队列的相关属性,比如是否排他、是否持久化、是否自动删除等;
c、通过路由键将所述第一交换器和所述第一消息队列绑定起来。其中,所述路由键是一种消息转发方式,本发明较佳实施例通过所述路由键进行查找所述第一交换器匹配的第一消息队列,如果找到匹配的第一消息队列,则将从所述生产者发送过来的消息存入相应的第一消息队列中。如果没有找到,则根据所述生产者配置的属性选择丢弃并回退给生产者,关闭连接。
进一步地,本发明中将所述消费者与所述管理者建立连接包括:
A、将所述消费者与所述管理者开启一个第二信道(Channel),通过所述第二信道声明一个第二交换器,并设置所述第二交换器的相关属性,比如第二交换器类型、是否持久化等,其中,所述第二信道用于识别所述生产者发送消息的ID;
B、在所述消费者和所述管理者之间声明一个第二消息队列,并设置所述第二消息队列的相关属性,比如是否排他、是否持久化、是否自动删除等;
C、通过路由键将所述第二交换器和所述第二消息队列绑定起来。其中,所述路由键是一种消息转发方式,本发明较佳实施例通过所述路由键进行查找所述第二交换器匹配的第二消息队列,如果找到匹配的第二消息队列,则将从所述消费者发送过来的消息存入相应的第二消息队列中。如果没有找到,则根据所述消费者配置的属性选择丢弃并回退给消费者,关闭连接。
S2、通过所述生产者对所述异步任务数据进行解析处理,得到所述异步任务数据的消息集。
本发明较佳实施例通过Java编程语言对所述异步任务数据进行编译,并通过调用预设的Java包实现所述生产者对所述异步任务数据的解析处理。详细地,所述解析处理包括:本发明调用Java中的vesselmq-filtersrv包对所述异步任务数据进行过滤,通过Java中的esselmq-tools包给用户提供运维指令,并根据所述用户的需求,对过滤后的所述异步数据进行增加、删除、改变以及查看操作,完成所述解析处理,从而得到所述异步任务的消息集。例如,创建Topic(主题)、删除Topic、查看Topic的路由信息、查看Topic统计信息、增加修改订阅组信息、查看消费进度等。
进一步地,本发明还包括根据Java中的Transaction MQProducer接口将所述异步任务数据的消息进行发送;根据Java中的Send Status类查看所述异步任务数据的消息集的发送状态;根据Java中的Send Result类查看所述异步任务数据的消息集的发送结果。
S3、通过所述管理者对所述异步任务数据的消息集进行汇总处理,得到源消息集。
本发明较佳实施例中,所述管理者包括Broker模块和Name Server模块,其中,所述Broker模块用于进行消息的中转、读取以及存储。所述Name Server模块用于消息集群的部署,维护各个消息节点的信息,为所述异步消息器提供路由服务。
进一步地,本发明中根据所述生产者与所述管理者建立的连接,将所述异步任务数据的消息集传输到所述Broker模块中,并定期从所述Name Server模块中获取所述异步任务数据的消息集Topic路由信息,通过所述Name Server模块中的Namesrv Startup类对所述消息集Topic路由信息进行解析,得到所述异步任务数据的消息集中各个节点的信息,利用所述Broker模块中Default Request Processor类定义所述消息集中各个节点之间的通讯协议,根据所述通讯协议调用所述异步任务数据的消息集中各自的处理信息,从而完成所述异步任务数据的消息集进行汇总处理,得到所述源消息集。
S4、通过所述消费者对所述源消息集进行消费订阅,得到目标消息集。
本发明较佳实施例通过预设所述管理者中Name Server模块的源数据集节点地址,并进行遍历所述源数据集的Topic及tag(标签),得到所述源数据集的标准数据集。其中,所述分配策略包括:平均分配、消费端配置等。
进一步地,本发明中,所述消费者定期向所述管理者发送消费请求,所述管理者根据所述消费请求在所述分配消费队列中进行数据查找,完成所述消费订阅。若所述消费队列中有消息就立即返回数据,所述消费者收到返回的数据后,通过回调所述消费者中的监听器(Listener),从而得到所述目标数据集。如果消息队列里没有消息,所述管理者会阻塞请求直到有数据传递或超时才返回。
S5、将所述目标消息集传输到后台数据库中,得到所述目标消息集的查询结果,并通过所述异步消息服务器将所述查询结果返回给所述客户端。
本发明较佳实施例中,所述后台数据库可以为中国平安银行后台数据库。例如,所述目标消息为查询转账金额100是否到用户Z账户中,此时所述中国平安银行后台数据库在接收到所述目标消息后,会执行查询操作,并将查询后的结果通过所述异步消息服务器返回给客户端。
发明还提供一种异步任务数据处理装置。参照图2所示,为本发明一实施例提供的异步任务数据处理装置的内部结构示意图。
在本实施例中,所述异步任务数据处理装置1可以是PC(Personal Computer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器等。该异步任务数据处理装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是异步任务数据处理装置1的内部存储单元,例如该异步任务数据处理装置1的硬盘。存储器11在另一些实施例中也可以是异步任务数据处理装置1的外部存储设备,例如异步任务数据处理装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括异步任务数据处理装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于异步任务数据处理装置1的应用软件及各类数据,例如异步任务数据处理程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行异步任务数据处理程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在异步任务数据处理装置1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-14以及异步任务数据处理程序01的异步任务数据处理装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对异步任务数据处理装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的装置1实施例中,存储器11中存储有异步任务数据处理程序01;处理器12执行存储器11中存储的异步任务数据处理程序01时实现如下步骤:
步骤一、获取客户端待处理的异步任务数据,将所述异步任务数据输入至预先构建的异步消息服务器中,其中,所述异步消息服务器包括生产者、管理者以及消费者,并将所述生产者和所述消费者分别与所述管理者建立连接。
本发明较佳实施例中,所述客户端可以为某交易平台的业务系统,例如,中国平安银行的转账系统,于是,所述中国平安银行的转账系统的异步任务数据可以为转账金额、转账时间以及转账对象等等。其中,所述异步任务区别在于和同步任务的概念,所述同步任务指的是当请求执行某个功能任务时,在没有响应结果前,所述请求就无法返回,简单说就是所述请求必须阻塞,必须等到响应才进行下一步操作。所述异步任务指的是,当执行某个功能任务时,并不需要立即得到响应就可以进行下一步操作,何时得到响应就在处理该操作。
进一步,本发明中所述预先构建的异步消息服务器通过RocketMQ消息中间件进行构建,所述预先构建的异步消息服务器包括生产者、管理者以及消费者。其中,所述RocketMQ消息中间件指的是能够有效的保证及支持在分布式应用系统中,通过同步或异步的机制进行消息收发的中间件系统。所述生产者指的是向消息队列中发送消息的组件。所述管理者指的是对所述生产者发送的消息进行处理的组件,所述消费者指的是对所述管理者处理后的消息进行订阅的组件。
进一步地,本发明中将所述生产者与所述管理者建立连接包括:
a、在所述生产者与所述管理者开启一个第一信道(Channel),通过所述第一信道声明一个第一交换器,并设置所述第一交换器的相关属性,比如第一交换器类型、是否持久化等,其中,所述第一信道用于识别所述生产者发送消息的ID;
b、在所述生产者和所述管理者之间声明一个第一消息队列,并设置所述第一消息队列的相关属性,比如是否排他、是否持久化、是否自动删除等;
c、通过路由键将所述第一交换器和所述第一消息队列绑定起来。其中,所述路由键是一种消息转发方式,本发明较佳实施例通过所述路由键进行查找所述第一交换器匹配的第一消息队列,如果找到匹配的第一消息队列,则将从所述生产者发送过来的消息存入相应的第一消息队列中。如果没有找到,则根据所述生产者配置的属性选择丢弃并回退给生产者,关闭连接。
进一步地,本发明中将所述消费者与所述管理者建立连接包括:
A、将所述消费者与所述管理者开启一个第二信道(Channel),通过所述第二信道声明一个第二交换器,并设置所述第二交换器的相关属性,比如第二交换器类型、是否持久化等,其中,所述第二信道用于识别所述生产者发送消息的ID;
B、在所述消费者和所述管理者之间声明一个第二消息队列,并设置所述第二消息队列的相关属性,比如是否排他、是否持久化、是否自动删除等;
C、通过路由键将所述第二交换器和所述第二消息队列绑定起来。其中,所述路由键是一种消息转发方式,本发明较佳实施例通过所述路由键进行查找所述第二交换器匹配的第二消息队列,如果找到匹配的第二消息队列,则将从所述消费者发送过来的消息存入相应的第二消息队列中。如果没有找到,则根据所述消费者配置的属性选择丢弃并回退给消费者,关闭连接。
步骤二、通过所述生产者对所述异步任务数据进行解析处理,得到所述异步任务数据的消息集。
本发明较佳实施例通过Java编程语言对所述异步任务数据进行编译,并通过调用预设的Java包实现所述生产者对所述异步任务数据的解析处理。详细地,所述解析处理包括:本发明调用Java中的vesselmq-filtersrv包对所述异步任务数据进行过滤,通过Java中的esselmq-tools包给用户提供运维指令,并根据所述用户的需求,对过滤后的所述异步数据进行增加、删除、改变以及查看操作,完成所述解析处理,从而得到所述异步任务的消息集。例如,创建Topic(主题)、删除Topic、查看Topic的路由信息、查看Topic统计信息、增加修改订阅组信息、查看消费进度等。
进一步地,本发明还包括根据Java中的Transaction MQProducer接口将所述异步任务数据的消息进行发送;根据Java中的Send Status类查看所述异步任务数据的消息集的发送状态;根据Java中的Send Result类查看所述异步任务数据的消息集的发送结果。
步骤三、通过所述管理者对所述异步任务数据的消息集进行汇总处理,得到源消息集。
本发明较佳实施例中,所述管理者包括Broker模块和Name Server模块,其中,所述Broker模块用于进行消息的中转、读取以及存储。所述Name Server模块用于消息集群的部署,维护各个消息节点的信息,为所述异步消息器提供路由服务。
进一步地,本发明中根据所述生产者与所述管理者建立的连接,将所述异步任务数据的消息集传输到所述Broker模块中,并定期从所述Name Server模块中获取所述异步任务数据的消息集Topic路由信息,通过所述Name Server模块中的Namesrv Startup类对所述消息集Topic路由信息进行解析,得到所述异步任务数据的消息集中各个节点的信息,利用所述Broker模块中Default Request Processor类定义所述消息集中各个节点之间的通讯协议,根据所述通讯协议调用所述异步任务数据的消息集中各自的处理信息,从而完成所述异步任务数据的消息集进行汇总处理,得到所述源消息集。
步骤四、通过所述消费者对所述源消息集进行消费订阅,得到目标消息集。
本发明较佳实施例通过预设所述管理者中Name Server模块的源数据集节点地址,并进行遍历所述源数据集的Topic及tag(标签),得到所述源数据集的标准数据集。其中,所述分配策略包括:平均分配、消费端配置等。
进一步地,本发明中,所述消费者定期向所述管理者发送消费请求,所述管理者根据所述消费请求在所述分配消费队列中进行数据查找,完成所述消费订阅。若所述消费队列中有消息就立即返回数据,所述消费者收到返回的数据后,通过回调所述消费者中的监听器(Listener),从而得到所述目标数据集。如果消息队列里没有消息,所述管理者会阻塞请求直到有数据传递或超时才返回。
步骤五、将所述目标消息集传输到后台数据库中,得到所述目标消息集的查询结果,并通过所述异步消息服务器将所述查询结果返回给所述客户端。
本发明较佳实施例中,所述后台数据库可以为中国平安银行后台数据库。例如,所述目标消息为查询转账金额100是否到用户Z账户中,此时所述中国平安银行后台数据库在接收到所述目标消息后,会执行查询操作,并将查询后的结果通过所述异步消息服务器返回给客户端。
可选地,在其他实施例中,异步任务数据处理程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述异步任务数据处理程序在异步任务数据处理装置中的执行过程。
例如,参照图3所示,为本发明异步任务数据处理装置一实施例中的异步任务数据处理程序的程序模块示意图,该实施例中,所述异步任务数据处理程序可以被分割为数据接收模块10、数据解析模块20、数据汇总模块30、数据消费订阅模块40以及数据查询模块50,示例性地:
所述数据接收模块10用于:获取客户端待处理的异步任务数据,将所述异步任务数据输入至预先构建的异步消息服务器中,其中,所述异步消息服务器包括生产者、管理者以及消费者,并将所述生产者和所述消费者分别与所述管理者建立连接。
所述数据解析模块20用于:通过所述生产者对所述异步任务数据进行解析处理,得到所述异步任务数据的消息集。
所述数据汇总模块30用于:通过所述管理者对所述异步任务数据的消息集进行汇总处理,得到源消息集。
所述数据消费订阅模块40用于:通过所述消费者对所述源消息集进行消费订阅,得到目标消息集。
所述数据查询模块50用于:将所述目标消息集传输到后台数据库中,得到所述目标消息集的查询结果,并通过所述异步消息服务器将所述查询结果返回给所述客户端。
上述数据接收模块10、数据解析模块20、数据汇总模块30、数据消费订阅模块40以及数据查询50等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有异步任务数据处理程序,所述异步任务数据处理程序可被一个或多个处理器执行,以实现如下操作:
获取客户端待处理的异步任务数据,将所述异步任务数据输入至预先构建的异步消息服务器中,其中,所述异步消息服务器包括生产者、管理者以及消费者,并将所述生产者和所述消费者分别与所述管理者建立连接;
通过所述生产者对所述异步任务数据进行解析处理,得到所述异步任务数据的消息集;
通过所述管理者对所述异步任务数据的消息集进行汇总处理,得到源消息集;
通过所述消费者对所述源消息集进行消费订阅,得到目标消息集;
将所述目标消息集传输到后台数据库中,得到所述目标消息集的查询结果,并通过所述异步消息服务器将所述查询结果返回给所述客户端。
本发明计算机可读存储介质具体实施方式与上述异步任务数据处理装置和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (5)
1.一种异步任务数据处理方法,其特征在于,所述方法包括:
获取客户端待处理的异步任务数据,将所述异步任务数据输入至预先构建的异步消息服务器中,其中,所述预先构建的异步消息服务器包括Rocket MQ消息中间件,所述异步消息服务器包括生产者、管理者以及消费者,在所述生产者与所述管理者之间开启一个第一信道,通过所述第一信道声明一个第一交换器,在所述生产者和所述管理者之间声明一个第一消息队列,利用路由键绑定所述第一交换器和所述第一消息队列,建立所述生产者和所述管理者的连接,在所述消费者与所述管理者之间开启一个第二信道,通过所述第二信道声明一个第二交换器,在所述消费者和所述管理者之间声明一个第二消息队列,利用路由键绑定所述第二交换器和所述第二消息队列,建立所述消费者和所述管理者的连接;
通过所述生产者对所述异步任务数据进行解析处理,得到所述异步任务数据的消息集,将所述消息集发送至所述管理者,查看所述消息集的发送状态,并查看所述消息集的发送结果;
所述管理者包括Broker模块和Name Server模块,将所述异步任务数据的消息集传输到所述Broker模块中,并定期从所述Name Server模块中获取所述异步任务数据的消息集主题路由信息,通过所述Name Server模块中的Namesrv Startup类对所述消息集主题路由信息进行解析,得到所述异步任务数据的消息集中各个节点的信息,利用所述Broker模块中Default Request Processor类定义所述消息集中各个节点之间的通讯协议,根据所述通讯协议调用所述异步任务数据的消息集中各自的处理信息,并对所述异步任务数据的消息集进行汇总处理,得到源消息集;
预设所述Name Server模块的源数据集节点地址,并进行遍历所述源数据集的主题和标签,得到所述源数据集的标准数据集,通过预设的分配策略对所述标准数据集分配消费队列,通过所述消费者定期向所述管理者发送消费请求,根据所述消费请求向所述消费队列进行数据查找,完成对所述源消息集的消费订阅,得到目标消息集;
将所述目标消息集传输到后台数据库中,得到所述目标消息集的查询结果,并通过所述异步消息服务器将所述查询结果返回给所述客户端。
2.如权利要求1所述的异步任务数据处理方法,其特征在于,所述解析处理包括:
对所述异步任务数据进行过滤,根据用户的需求通过运维指令对过滤后的所述异步任务数据进行增加、删除、改变以及查看操作,完成所述解析处理。
3.一种异步任务数据处理装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的异步任务数据处理程序,所述异步任务数据处理程序被所述处理器执行时实现如下步骤:
获取客户端待处理的异步任务数据,将所述异步任务数据输入至预先构建的异步消息服务器中,其中,所述预先构建的异步消息服务器包括Rocket MQ消息中间件,所述异步消息服务器包括生产者、管理者以及消费者,在所述生产者与所述管理者之间开启一个第一信道,通过所述第一信道声明一个第一交换器,在所述生产者和所述管理者之间声明一个第一消息队列,利用路由键绑定所述第一交换器和所述第一消息队列,建立所述生产者和所述管理者的连接,在所述消费者与所述管理者之间开启一个第二信道,通过所述第二信道声明一个第二交换器,在所述消费者和所述管理者之间声明一个第二消息队列,利用路由键绑定所述第二交换器和所述第二消息队列,建立所述消费者和所述管理者的连接;
通过所述生产者对所述异步任务数据进行解析处理,得到所述异步任务数据的消息集,将所述消息集发送至所述管理者,查看所述消息集的发送状态,并查看所述消息集的发送结果;
所述管理者包括Broker模块和Name Server模块,将所述异步任务数据的消息集传输到所述Broker模块中,并定期从所述Name Server模块中获取所述异步任务数据的消息集主题路由信息,通过所述Name Server模块中的Namesrv Startup类对所述消息集主题路由信息进行解析,得到所述异步任务数据的消息集中各个节点的信息,利用所述Broker模块中Default Request Processor类定义所述消息集中各个节点之间的通讯协议,根据所述通讯协议调用所述异步任务数据的消息集中各自的处理信息,并对所述异步任务数据的消息集进行汇总处理,得到源消息集;
预设所述Name Server模块的源数据集节点地址,并进行遍历所述源数据集的主题和标签,得到所述源数据集的标准数据集,通过预设的分配策略对所述标准数据集分配消费队列,通过所述消费者定期向所述管理者发送消费请求,根据所述消费请求向所述消费队列进行数据查找,完成对所述源消息集的消费订阅,得到目标消息集;
将所述目标消息集传输到后台数据库中,得到所述目标消息集的查询结果,并通过所述异步消息服务器将所述查询结果返回给所述客户端。
4.如权利要求3所述的异步任务数据处理装置,其特征在于,所述解析处理包括:
对所述异步任务数据进行过滤,根据用户的需求通过运维指令对过滤后的所述异步任务数据进行增加、删除、改变以及查看操作,完成所述解析处理。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有异步任务数据处理程序,所述异步任务数据处理程序可被一个或者多个处理器执行,以实现如权利要求1至2中任一项所述的异步任务数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910970982.XA CN110851248B (zh) | 2019-10-12 | 2019-10-12 | 异步任务数据处理方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910970982.XA CN110851248B (zh) | 2019-10-12 | 2019-10-12 | 异步任务数据处理方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110851248A CN110851248A (zh) | 2020-02-28 |
CN110851248B true CN110851248B (zh) | 2024-09-13 |
Family
ID=69597437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910970982.XA Active CN110851248B (zh) | 2019-10-12 | 2019-10-12 | 异步任务数据处理方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110851248B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113395302B (zh) * | 2020-03-11 | 2022-04-26 | 杭州中天微系统有限公司 | 异步数据分发器、相关装置和方法 |
CN111506430B (zh) * | 2020-04-23 | 2024-04-19 | 上海数禾信息科技有限公司 | 多任务下数据处理的方法、装置及电子设备 |
CN112346886B (zh) * | 2020-10-23 | 2021-10-22 | 上海优方信息科技服务股份有限公司 | 交易数据处理方法、装置、存储介质及服务器 |
CN112527528A (zh) * | 2020-12-18 | 2021-03-19 | 平安科技(深圳)有限公司 | 基于消息队列的数据传输方法、装置及存储介质 |
CN112839038A (zh) * | 2021-01-04 | 2021-05-25 | 城云科技(中国)有限公司 | 服务器之间单向通信传输数据的方法及系统 |
CN113094362B (zh) * | 2021-04-30 | 2024-04-16 | 中国银行股份有限公司 | 一种异步消息可靠投递和处理的方法和装置 |
CN114640707A (zh) * | 2022-03-04 | 2022-06-17 | 微位(深圳)网络科技有限公司 | 一种消息异步处理方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108196961A (zh) * | 2017-12-28 | 2018-06-22 | 广东蜂助手网络技术股份有限公司 | 一种异步消息处理方法、终端、系统及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8849946B2 (en) * | 2007-12-05 | 2014-09-30 | Oracle International Corporation | System and method for hypertext transfer protocol publish and subscribe server |
CN105808363A (zh) * | 2016-03-11 | 2016-07-27 | 浪潮通用软件有限公司 | 一种基于Active MQ消息队列实现异步执行的方法 |
CN110113420B (zh) * | 2019-05-08 | 2020-06-05 | 重庆大学 | 基于nvm的分布式消息队列管理系统 |
-
2019
- 2019-10-12 CN CN201910970982.XA patent/CN110851248B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108196961A (zh) * | 2017-12-28 | 2018-06-22 | 广东蜂助手网络技术股份有限公司 | 一种异步消息处理方法、终端、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110851248A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110851248B (zh) | 异步任务数据处理方法、装置及计算机可读存储介质 | |
CN108052675B (zh) | 日志管理方法、系统及计算机可读存储介质 | |
US8635250B2 (en) | Methods and systems for deleting large amounts of data from a multitenant database | |
CN111813570A (zh) | 一种电力物联网的事件驱动型消息交互方法 | |
CN112667414A (zh) | 基于消息队列的消息消费方法、装置、计算机设备及介质 | |
US7877091B2 (en) | Method and system for executing a container managed application on a processing device | |
CN111447102B (zh) | Sdn网络设备访问方法、装置、计算机设备及存储介质 | |
CN112162965B (zh) | 一种日志数据处理的方法、装置、计算机设备及存储介质 | |
US20170171337A1 (en) | Scalable data feed system | |
CN111311326A (zh) | 用户行为实时多维度分析方法、装置及存储介质 | |
CN111813573B (zh) | 管理平台与机器人软件的通信方法及其相关设备 | |
CN102801737A (zh) | 一种异步网络通信方法及装置 | |
CN113014608B (zh) | 一种流量分发控制方法、装置、电子设备及存储介质 | |
US20130117768A1 (en) | Web service api for unified contact store | |
CN105468682B (zh) | 一种事件调度系统 | |
CN112631806A (zh) | 异步消息排列及调度方法、装置、电子设备及存储介质 | |
CN113590433B (zh) | 数据管理方法、数据管理系统和计算机可读存储介质 | |
CN115567594A (zh) | 微服务请求处理方法、装置、计算机设备及存储介质 | |
CN108768727B (zh) | 访问第三方服务的方法、电子装置及可读存储介质 | |
CN107657155B (zh) | 用于鉴定用户操作权限的方法和装置 | |
CN112100260A (zh) | 一种基于接口引擎的多应用数据融合的方法及系统 | |
KR100974621B1 (ko) | Rfid 비즈니스 인식 프레임워크 | |
KR20140116682A (ko) | 컨텐츠 공유 방법 | |
US11954630B2 (en) | Real time method and system for analyzing data streams | |
CN102902593A (zh) | 基于缓存机制的协议分发处理系统 |
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 |