CN111367688A - 一种业务数据的处理方法和装置 - Google Patents

一种业务数据的处理方法和装置 Download PDF

Info

Publication number
CN111367688A
CN111367688A CN202010131312.1A CN202010131312A CN111367688A CN 111367688 A CN111367688 A CN 111367688A CN 202010131312 A CN202010131312 A CN 202010131312A CN 111367688 A CN111367688 A CN 111367688A
Authority
CN
China
Prior art keywords
task
data
service
message
paging
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
Application number
CN202010131312.1A
Other languages
English (en)
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.)
JD Digital Technology Holdings Co Ltd
Original Assignee
JD Digital Technology Holdings Co 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 JD Digital Technology Holdings Co Ltd filed Critical JD Digital Technology Holdings Co Ltd
Priority to CN202010131312.1A priority Critical patent/CN111367688A/zh
Publication of CN111367688A publication Critical patent/CN111367688A/zh
Priority to PCT/CN2021/072677 priority patent/WO2021169674A1/zh
Pending legal-status Critical Current

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

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)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及一种业务数据的处理方法和装置,其中,该方法包括:从业务模块中查询待业务模块处理的业务数据的数据信息;根据数据信息生成与业务数据一一对应的任务消息;将任务消息通过消息队列发送至业务模块,其中,任务消息用于指示业务模块对任务消息所对应的业务数据进行处理。本申请解决了相关技术中业务数据的处理效率较低的技术问题。

Description

一种业务数据的处理方法和装置
技术领域
本申请涉及计算机领域,尤其涉及一种业务数据的处理方法和装置。
背景技术
大部分任务系统处理海量数据是处理自有的任务数据,但某些场景需要任务系统定时触发分布式业务系统,由业务系统自身处理海量业务数据,业务系统需保证并发处理能力与数据最终正确性。例如,某些任务系统需要定时在月底去触发业务系统处理海量的业务数据,业务系统需要去保证业务处理的并发能力,还有数据最终的正确性。
任务系统定时通知分布式业务系统,业务系统处理对应的数据直到数据全部处理完成。在实现本发明过程中,发明人发现这种数据一般规模都比较庞大,会导致业务系统并发压力过大,可能会影响正常业务服务。因此可能会导致业务数据的处理效率的下降。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种业务数据的处理方法和装置,以至少解决相关技术中业务数据的处理效率较低的技术问题。
根据本申请实施例的一个方面,提供了一种业务数据的处理方法,包括:
从业务模块中查询待所述业务模块处理的业务数据的数据信息;
根据所述数据信息生成与所述业务数据一一对应的任务消息;
将所述任务消息通过消息队列发送至所述业务模块,其中,所述任务消息用于指示所述业务模块对所述任务消息所对应的所述业务数据进行处理。
可选地,所述数据信息包括所述业务数据的数据总量,其中,根据所述数据信息生成与所述业务数据一一对应的所述任务消息包括:
将所述数据总量划分为多个分页数据量;
创建所述多个分页数据量一一对应的多个分页任务;
通过所述多个分页任务中每个所述分页数据量对应的每个分页任务生成每个所述分页数据量的业务数据对应的所述任务消息。
可选地,通过所述多个分页任务中每个所述分页数据量对应的每个分页任务生成每个所述分页数据量的业务数据对应的所述任务消息包括:
通过所述每个分页任务向所述业务模块发送查询请求,其中,所述查询请求用于请求查询每个所述分页数据量的业务数据的数据信息;
接收所述业务模块响应所述查询请求返回的所述数据信息;
通过所述每个分页任务使用所述数据信息创建每个所述分页数据量的业务数据中每条数据的原子任务,得到所述每个分页任务所对应的每个所述分页数据量的原子任务,其中,原子任务是用于指示对所述每条数据进行处理的任务;
通过所述每个分页任务生成每个所述原子任务对应的所述任务消息,其中,所述任务消息用于指示对每个所述原子任务进行处理。
可选地,将所述任务消息通过消息队列发送至所述业务模块包括:
将所述任务消息发送至所述消息队列;
通过所述消息队列将所述任务消息转发至所述业务模块。
可选地,通过所述消息队列将所述任务消息转发至所述业务模块包括:
通过所述消息队列在目标时间段内随机将所述任务消息发送至所述业务模块。
可选地,从所述业务模块中查询待所述业务模块处理的业务数据的数据信息包括:
每隔目标时间间隔执行定时任务,其中,所述定时任务用于按照所述目标时间间隔驱动任务模块通知所述业务模块处理业务数据;
响应所述定时任务向所述业务模块查询所述业务数据的数据总量。
可选地,在将所述任务消息通过消息队列发送至所述业务模块之后,所述方法还包括:
通过所述消息队列检测所述任务消息的发送结果和所述业务模块返回的所述任务消息的处理结果;
在所述发送结果用于指示所述任务消息发送失败,或者,所述处理结果用于指示所述任务消息处理失败的情况下,通过所述消息队列重新向所述业务模块发送所述任务消息。
根据本申请实施例的另一方面,还提供了一种业务数据的处理装置,包括:
查询模块,用于从业务模块中查询待所述业务模块处理的业务数据的数据信息;
生成模块,用于根据所述数据信息生成与所述业务数据一一对应的任务消息;
第一发送模块,用于将所述任务消息通过消息队列发送至所述业务模块,其中,所述任务消息用于指示所述业务模块对所述任务消息所对应的所述业务数据进行处理。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本申请实施例中,采用从业务模块中查询待业务模块处理的业务数据的数据信息;根据数据信息生成与业务数据一一对应的任务消息;将任务消息通过消息队列发送至业务模块,其中,任务消息用于指示业务模块对任务消息所对应的业务数据进行处理的方式,在需要通知业务模块对业务数据进行处理时,从业务模块中查询待所述业务模块处理的业务数据的数据信息,根据数据信息生成任务消息,并通过消息队列将任务消息通知给业务模块,避免了业务模块在一定时间内需要集中处理大量业务数据的情况发生,达到了提高服务的高并发和高可用能力的目的,从而实现了提高业务数据的处理效率的技术效果,进而解决了相关技术中业务数据的处理效率较低的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的业务数据的处理方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的业务数据的处理方法的流程图;
图3是根据本申请可选实施例的一种业务数据的处理过程的示意图;
图4是根据本申请实施例的一种可选的业务数据的处理装置的示意图;
以及
图5是根据本申请实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一方面,提供了一种业务数据的处理的方法实施例。
可选地,在本实施例中,上述业务数据的处理方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑等。本申请实施例的业务数据的处理方法可以由服务器103来执行,也可以由终端101来执行,还可以是由服务器103和终端101共同执行。其中,终端101执行本申请实施例的业务数据的处理方法也可以是由安装在其上的客户端来执行。
图2是根据本申请实施例的一种可选的业务数据的处理方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,从业务模块中查询待所述业务模块处理的业务数据的数据信息;
步骤S204,根据所述数据信息生成与所述业务数据一一对应的任务消息;
步骤S206,将所述任务消息通过消息队列发送至所述业务模块,其中,所述任务消息用于指示所述业务模块对所述任务消息所对应的所述业务数据进行处理。
通过上述步骤S202至步骤S206,在需要通知业务模块对业务数据进行处理时,从业务模块中查询待所述业务模块处理的业务数据的数据信息,根据数据信息生成任务消息,并通过消息队列将任务消息通知给业务模块,避免了业务模块在一定时间内需要集中处理大量业务数据的情况发生,达到了提高服务的高并发和高可用能力的目的,从而实现了提高业务数据的处理效率的技术效果,进而解决了相关技术中业务数据的处理效率较低的技术问题。
可选地,在本实施例中,上述业务数据的处理方法可以但不限于由任务模块(又可以称为任务系统)来执行。上述业务模块也可以称为业务系统。上述业务数据的处理方法可以但不限于应用于需要任务模块通知业务模块处理业务数据的场景中。
在步骤S202提供的技术方案中,上述任务模块和业务模块可以但不限于是各种功能的应用中的任务模块和业务模块,比如:在线教育应用、即时通讯应用、社区空间应用、游戏应用、购物应用、浏览器应用、金融应用、多媒体应用、直播应用等。
作为一种可选的实施例,所述数据信息包括所述业务数据的数据总量,其中,根据所述数据信息生成与所述业务数据一一对应的所述任务消息包括:
S11,将所述数据总量划分为多个分页数据量;
S12,创建所述多个分页数据量一一对应的多个分页任务;
S13,通过所述多个分页任务中每个所述分页数据量对应的每个分页任务生成每个所述分页数据量的业务数据对应的所述任务消息。
可选地,在本实施例中,数据信息可以但不限于包括业务数据的数据总量,也就是说,获取的数据信息可以是业务模块需要处理的数据量。再根据数据量进行分页,分页方式不限,比如可以平均划分,也可以按照一定比例划分,或者还可以随机划分,也可以通过训练模型得到一个能够自动进行数量划分的AI模型来进行分页数据量的划分。
比如:查询到10000条数据,划分为10个分页数据量,则每个分页数据量为1000条数据。
可选地,在本实施例中,为多个分页数据量中每个分页数据量创建一个分页任务来处理该分页数据量。每个分页任务用于生成该分页任务负责的分页数据量的业务数据对应的任务消息。
作为一种可选的实施例,通过所述多个分页任务中每个所述分页数据量对应的每个分页任务生成每个所述分页数据量的业务数据对应的所述任务消息包括:
S21,通过所述每个分页任务向所述业务模块发送查询请求,其中,所述查询请求用于请求查询每个所述分页数据量的业务数据的数据信息;
S22,接收所述业务模块响应所述查询请求返回的所述数据信息;
S23,通过所述每个分页任务使用所述数据信息创建每个所述分页数据量的业务数据中每条数据的原子任务,得到所述每个分页任务所对应的每个所述分页数据量的原子任务,其中,原子任务是用于指示对所述每条数据进行处理的任务;
S24,通过所述每个分页任务生成每个所述原子任务对应的所述任务消息,其中,所述任务消息用于指示对每个所述原子任务进行处理。
可选地,在本实施例中,每个分页任务向业务模块查询其负责的每个数据的明细(即数据信息)。使用数据信息来生成原子任务。并生成用于通知消息队列的任务消息。
在上述实施例中,对于生成的10个分页任务,每一个分页任务会去查询任务的明细,如每一个分页任务查询1000条,生成1000个原子任务,十个分页任务就生成10*1000个原子任务,最终一共也是10000个原子任务。
作为一种可选的实施例,将所述任务消息通过消息队列发送至所述业务模块包括:
S31,将所述任务消息发送至所述消息队列;
S32,通过所述消息队列将所述任务消息转发至所述业务模块。
可选地,在本实施例中,可以由消息队列实现对任务消息的转发。
可选地,在本实施例中,消息队列可以单不限于采用MQ机制,MQ是一种分布式异步消息队列,通过异步通知的方式,达到削峰和限流的作用。发送方通过将请求数据json化并持久化到MQ队列中,MQ中间件再将队列数据发送给订阅消息的接收方,接收方收到通知后,解析队列数据进行业务处理。
采用MQ机制在本实施例中的优势其一是异步化,可以保证任务系统高吞吐,无需同步等待业务系统处理结果,快速响应批量任务处理。其二是MQ的自动重试机制能够保证业务系统实例在处理异步请求时出现异常可以自动重试。
可选地,在本实施例中,单任务处理数据时,由同步调用业务系统调整为消息通知,使得任务线程执行效率更高,提升任务处理吞吐量,由消息保证重试,同时解决业务系统单点问题。
作为一种可选的实施例,通过所述消息队列将所述任务消息转发至所述业务模块包括:
S41,通过所述消息队列在目标时间段内随机将所述任务消息发送至所述业务模块。
可选地,在本实施例中,可以对消息发送进行随机处理,让业务模块在一定时间段内收到1万个消息通知,然后去处理。使用分布式任务和随机时间的方式去处理,把以前的集中时间处理弱化为分时处理,避免在短时间内造成并发问题。
可选地,在本实施例中,任务系统查询业务系统数据总量,根据总量分页切分,使用分布式任务与随机时间处理结合的方式,生成分布式分页任务及对应原子任务,提升任务并发处理能力,同时通过随机时间有效控制业务系统并发处理量。
作为一种可选的实施例,从所述业务模块中查询待所述业务模块处理的业务数据的数据信息包括:
S51,每隔目标时间间隔执行定时任务,其中,所述定时任务用于按照所述目标时间间隔驱动任务模块通知所述业务模块处理业务数据;
S52,响应所述定时任务向所述业务模块查询所述业务数据的数据总量。
可选地,在本实施例中,任务模块在处理任务的时候,可以由定时任务去驱动任务模块通知业务模块处理业务数据,定时任务执行的目标时间间隔可以但不限于为一周,一个月,一个季度,半年,一年等等。
作为一种可选的实施例,在将所述任务消息通过消息队列发送至所述业务模块之后,所述方法还包括:
S61,通过所述消息队列检测所述任务消息的发送结果和所述业务模块返回的所述任务消息的处理结果;
S62,在所述发送结果用于指示所述任务消息发送失败,或者,所述处理结果用于指示所述任务消息处理失败的情况下,通过所述消息队列重新向所述业务模块发送所述任务消息。
可选地,在本实施例中,通过消息队列监控任务消息是否发送成功或者是否处理成功,如果没有发送成功或者没有处理成功,则可以触发消息队列的重试机制重新发送任务消息,从而通过重试机制可以大大提高任务数据的处理成功率。
本申请还提供了一种可选实施例,该可选实施例提供了一种任务系统通知业务系统处理业务数据的方式,图3是根据本申请可选实施例的一种业务数据的处理过程的示意图,如图3所示,有两个服务,一个是任务服务(相当于上述任务模块),一个是基本法服务,基本法服务相当于是一个业务服务(相当于上述业务模块)。任务服务在处理任务的时候,由定时任务去驱动,定时生成一个初始任务,这个初始任务可通过MQ消息的形式去通知,发送消息过后会去查询业务系统的数据总数。比如,查出来是1万条数据,就可以通过分片去申请一个分页的分布式任务,假设1万条数据按1000去分,就分成了十个分页任务。对于这十个分页任务,每一个分页任务会去查询任务的明细,如每一个分页任务查询1000条,生成1000个原子任务,10个分页任务就生成10*1000个原子任务,最终一共也是一万个原子任务。原子任务在执行的时候,通过MQ的形式通知业务系统,业务系统收到这个消息过后,进行任务的处理,系统可以对消息发送进行随机处理,让业务系统在一定时间段内收到1万个消息通知,然后去处理。
对于大部分的任务,定时驱动任务是由任务系统定时去发一个消息通知业务系统,由业务系统就自己去任务;业务系统可以采用分片的机制来完成任务,即在通知的时候,业务系统会根据自己的机器的分片情况,去分片执行,直到所有数据处理完成。但是这种方案存在一个问题,就是系统在任务执行的时候,某个执行时间点的并发压力会非常大,会影响其正常的业务服务,而且通过分片技术去执行时,有可能单机器的服务器没办法保证数据最终执行正确,有可能处理失败或者服务挂掉。这就需要异常的监控和重试机制来保证最终的正确,这种设计的方式就会比较复杂。
本可选实施例中,采用了消息驱动的分页模式的任务处理方式。任务系统在去做定时触发任务的时候不是直接告诉业务系统需要处理的数据,而是首先去查询业务系统,查询它需要处理的数据总量,然后根据数据总量去做切分,把总的大数据量切分成N片小的数据量。对于切分后的数据,使用分布式任务和随机时间的方式去处理,把以前的集中时间处理弱化为分时处理,避免在短时间内造成并发问题。
对于每个分页任务,它会生成自身的一个分布式的分页任务和对应的原子任务。比如100万的数据,可以按照1万条数据为单位分页,分成100个分页任务。这样,每个分页任务只需要关心自己所在那一页的1万条数据,可以提升任务并发处理能力,这100万的数据不是串行去处理,也不是按业务系统的分片去处理,而是由任务系统先把这100万的数据分成100个分页任务,每一个分页任务去处理1万条数据。
在这个分页的基础上,可再加上消息驱动,对于分页任务生成的1万个原子任务,每一个原子任务在处理数据的时候,不是同步去调业务系统,因为同步调业务系统时耗时较长,假设一个原子任务的数据处理的时长是一分钟,那每次调用就需要维持一分钟,当原子任务的数量较大时这个调用时长就会很长,有可能会导致业务系统的链接数被耗尽。本可选实施例中采用的是通过消息去处理的方式,每个原子任务在执行的时候,只需要发一个消息通知,通过消息驱动业务系统,业务系统监听到这个消息去做处理,相当于是把一个同步过程改为消息通知的异步方式。这种方式可以让任务系统的任务线程的执行效率变得更高,因为相对于维持一分钟的调用,发送一个消息的耗时是极短的,这样任务系统就可以用节约的时间继续发送别的消息。
同时,通过消息的方式也能让各个业务系统的重试失败的任务,因为如果有机器在听到一个消息过后,有可能这个消息是这个机器本身去消费的、也可能是其他机器去消费的,如果这个机器有异常的没法提供服务,这个消息也会由其他机器去处理,去消费。就不会出现单点问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述业务数据的处理方法的业务数据的处理装置。图4是根据本申请实施例的一种可选的业务数据的处理装置的示意图,如图4所示,该装置可以包括:
查询模块42,用于从业务模块中查询待所述业务模块处理的业务数据的数据信息;
生成模块44,用于根据所述数据信息生成与所述业务数据一一对应的任务消息;
第一发送模块46,用于将所述任务消息通过消息队列发送至所述业务模块,其中,所述任务消息用于指示所述业务模块对所述任务消息所对应的所述业务数据进行处理。
需要说明的是,该实施例中的查询模块42可以用于执行本申请实施例中的步骤S202,该实施例中的生成模块44可以用于执行本申请实施例中的步骤S204,该实施例中的第一发送模块46可以用于执行本申请实施例中的步骤S206。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,在需要通知业务模块对业务数据进行处理时,从业务模块中查询待所述业务模块处理的业务数据的数据信息,根据数据信息生成任务消息,并通过消息队列将任务消息通知给业务模块,避免了业务模块在一定时间内需要集中处理大量业务数据的情况发生,达到了提高服务的高并发和高可用能力的目的,从而实现了提高业务数据的处理效率的技术效果,进而解决了相关技术中业务数据的处理效率较低的技术问题。
作为一种可选的实施例,所述数据信息包括所述业务数据的数据总量,其中,所述生成模块包括:
划分单元,用于将所述数据总量划分为多个分页数据量;
创建单元,用于创建所述多个分页数据量一一对应的多个分页任务;
生成单元,用于通过所述多个分页任务中每个所述分页数据量对应的每个分页任务生成每个所述分页数据量的业务数据对应的所述任务消息。
作为一种可选的实施例,所述生成单元用于:
通过所述每个分页任务向所述业务模块发送查询请求,其中,所述查询请求用于请求查询每个所述分页数据量的业务数据的数据信息;
接收所述业务模块响应所述查询请求返回的所述数据信息;
通过所述每个分页任务使用所述数据信息创建每个所述分页数据量的业务数据中每条数据的原子任务,得到所述每个分页任务所对应的每个所述分页数据量的原子任务,其中,原子任务是用于指示对所述每条数据进行处理的任务;
通过所述每个分页任务生成每个所述原子任务对应的所述任务消息,其中,所述任务消息用于指示对每个所述原子任务进行处理。
作为一种可选的实施例,所述第一发送模块包括:
发送单元,用于将所述任务消息发送至所述消息队列;
转发单元,用于通过所述消息队列将所述任务消息转发至所述业务模块。
作为一种可选的实施例,所述转发单元用于:
通过所述消息队列在目标时间段内随机将所述任务消息发送至所述业务模块。
作为一种可选的实施例,所述查询模块用于:
每隔目标时间间隔执行定时任务,其中,所述定时任务用于按照所述目标时间间隔驱动任务模块通知所述业务模块处理业务数据;
响应所述定时任务向所述业务模块查询所述业务数据的数据总量。
作为一种可选的实施例,所述装置还包括:
检测模块,用于在将所述任务消息通过消息队列发送至所述业务模块之后,通过所述消息队列检测所述任务消息的发送结果和所述业务模块返回的所述任务消息的处理结果;
第二发送模块,用于在所述发送结果用于指示所述任务消息发送失败,或者,所述处理结果用于指示所述任务消息处理失败的情况下,通过所述消息队列重新向所述业务模块发送所述任务消息。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述()方法的服务器或终端。
图5是根据本申请实施例的一种终端的结构框图,如图5所示,该终端可以包括:一个或多个(图中仅示出一个)处理器501、存储器503、以及传输装置505,如图5所示,该终端还可以包括输入输出设备507。
其中,存储器503可用于存储软件程序以及模块,如本申请实施例中的业务数据的处理方法和装置对应的程序指令/模块,处理器501通过运行存储在存储器503内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的业务数据的处理方法。存储器503可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器503可进一步包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置505用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置505包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置505为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器503用于存储应用程序。
处理器501可以通过传输装置505调用存储器503存储的应用程序,以执行下述步骤:
S1,从业务模块中查询待所述业务模块处理的业务数据的数据信息;
S2,根据所述数据信息生成与所述业务数据一一对应的任务消息;
S3,将所述任务消息通过消息队列发送至所述业务模块,其中,所述任务消息用于指示所述业务模块对所述任务消息所对应的所述业务数据进行处理。
采用本申请实施例,提供了一种业务数据的处理的方案。在需要通知业务模块对业务数据进行处理时,从业务模块中查询待所述业务模块处理的业务数据的数据信息,根据数据信息生成任务消息,并通过消息队列将任务消息通知给业务模块,避免了业务模块在一定时间内需要集中处理大量业务数据的情况发生,达到了提高服务的高并发和高可用能力的目的,从而实现了提高业务数据的处理效率的技术效果,进而解决了相关技术中业务数据的处理效率较低的技术问题。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图5所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图5其并不对上述电子装置的结构造成限定。例如,终端还可包括比图5中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图5所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行业务数据的处理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,从业务模块中查询待所述业务模块处理的业务数据的数据信息;
S2,根据所述数据信息生成与所述业务数据一一对应的任务消息;
S3,将所述任务消息通过消息队列发送至所述业务模块,其中,所述任务消息用于指示所述业务模块对所述任务消息所对应的所述业务数据进行处理。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种业务数据的处理方法,其特征在于,包括:
从业务模块中查询待所述业务模块处理的业务数据的数据信息;
根据所述数据信息生成与所述业务数据一一对应的任务消息;
将所述任务消息通过消息队列发送至所述业务模块,其中,所述任务消息用于指示所述业务模块对所述任务消息所对应的所述业务数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述数据信息包括所述业务数据的数据总量,其中,根据所述数据信息生成与所述业务数据一一对应的所述任务消息包括:
将所述数据总量划分为多个分页数据量;
创建所述多个分页数据量一一对应的多个分页任务;
通过所述多个分页任务中每个所述分页数据量对应的每个分页任务生成每个所述分页数据量的业务数据对应的所述任务消息。
3.根据权利要求2所述的方法,其特征在于,通过所述多个分页任务中每个所述分页数据量对应的每个分页任务生成每个所述分页数据量的业务数据对应的所述任务消息包括:
通过所述每个分页任务向所述业务模块发送查询请求,其中,所述查询请求用于请求查询每个所述分页数据量的业务数据的数据信息;
接收所述业务模块响应所述查询请求返回的所述数据信息;
通过所述每个分页任务使用所述数据信息创建每个所述分页数据量的业务数据中每条数据的原子任务,得到所述每个分页任务所对应的每个所述分页数据量的原子任务,其中,原子任务是用于指示对所述每条数据进行处理的任务;
通过所述每个分页任务生成每个所述原子任务对应的所述任务消息,其中,所述任务消息用于指示对每个所述原子任务进行处理。
4.根据权利要求1所述的方法,其特征在于,将所述任务消息通过消息队列发送至所述业务模块包括:
将所述任务消息发送至所述消息队列;
通过所述消息队列将所述任务消息转发至所述业务模块。
5.根据权利要求4所述的方法,其特征在于,通过所述消息队列将所述任务消息转发至所述业务模块包括:
通过所述消息队列在目标时间段内随机将所述任务消息发送至所述业务模块。
6.根据权利要求1所述的方法,其特征在于,从所述业务模块中查询待所述业务模块处理的业务数据的数据信息包括:
每隔目标时间间隔执行定时任务,其中,所述定时任务用于按照所述目标时间间隔驱动任务模块通知所述业务模块处理业务数据;
响应所述定时任务向所述业务模块查询所述业务数据的数据总量。
7.根据权利要求1所述的方法,其特征在于,在将所述任务消息通过消息队列发送至所述业务模块之后,所述方法还包括:
通过所述消息队列检测所述任务消息的发送结果和所述业务模块返回的所述任务消息的处理结果;
在所述发送结果用于指示所述任务消息发送失败,或者,所述处理结果用于指示所述任务消息处理失败的情况下,通过所述消息队列重新向所述业务模块发送所述任务消息。
8.一种业务数据的处理装置,其特征在于,包括:
查询模块,用于从业务模块中查询待所述业务模块处理的业务数据的数据信息;
生成模块,用于根据所述数据信息生成与所述业务数据一一对应的任务消息;
第一发送模块,用于将所述任务消息通过消息队列发送至所述业务模块,其中,所述任务消息用于指示所述业务模块对所述任务消息所对应的所述业务数据进行处理。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至7任一项中所述的方法。
CN202010131312.1A 2020-02-28 2020-02-28 一种业务数据的处理方法和装置 Pending CN111367688A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010131312.1A CN111367688A (zh) 2020-02-28 2020-02-28 一种业务数据的处理方法和装置
PCT/CN2021/072677 WO2021169674A1 (zh) 2020-02-28 2021-01-19 一种业务数据的处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010131312.1A CN111367688A (zh) 2020-02-28 2020-02-28 一种业务数据的处理方法和装置

Publications (1)

Publication Number Publication Date
CN111367688A true CN111367688A (zh) 2020-07-03

Family

ID=71206478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010131312.1A Pending CN111367688A (zh) 2020-02-28 2020-02-28 一种业务数据的处理方法和装置

Country Status (2)

Country Link
CN (1) CN111367688A (zh)
WO (1) WO2021169674A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190559A (zh) * 2021-05-21 2021-07-30 湖南快乐阳光互动娱乐传媒有限公司 一种业务数据重试方法及相关设备
WO2021169674A1 (zh) * 2020-02-28 2021-09-02 京东数字科技控股股份有限公司 一种业务数据的处理方法和装置
CN113704297A (zh) * 2021-08-03 2021-11-26 深圳兆日科技股份有限公司 业务处理请求的处理方法、模块及计算机可读存储介质
CN113901271A (zh) * 2021-12-10 2022-01-07 飞狐信息技术(天津)有限公司 基于电子表格配置系统的方法、装置、存储介质和设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115296958B (zh) * 2022-06-28 2024-03-22 青岛海尔科技有限公司 设备控制任务的分发方法、装置、存储介质及电子装置
CN115658325B (zh) * 2022-11-18 2024-01-23 北京市大数据中心 数据处理方法、装置、多核处理器、电子设备以及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595812A (zh) * 2013-11-21 2014-02-19 北京京东尚科信息技术有限公司 一种发送Web服务消息的方法及装置
CN108536532A (zh) * 2018-04-23 2018-09-14 中国农业银行股份有限公司 一种批量任务处理方法及系统
CN109144683A (zh) * 2017-06-28 2019-01-04 北京京东尚科信息技术有限公司 任务处理方法、装置、系统及电子设备
CN109344172A (zh) * 2018-08-31 2019-02-15 深圳市元征科技股份有限公司 一种高并发数据处理方法、装置及客户端服务器
CN110213380A (zh) * 2019-06-11 2019-09-06 深圳市思迪信息技术股份有限公司 一种消息推送方法、装置、计算机设备及存储介质
CN110659123A (zh) * 2019-11-29 2020-01-07 中国人民解放军国防科技大学 一种基于消息的分布式任务分发调度方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245008B (zh) * 2018-03-09 2023-02-03 阿里巴巴集团控股有限公司 定时任务处理方法、系统和设备
CN110750349B (zh) * 2019-10-26 2022-07-29 武汉中海庭数据技术有限公司 一种分布式任务调度方法及系统
CN111367688A (zh) * 2020-02-28 2020-07-03 京东数字科技控股有限公司 一种业务数据的处理方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595812A (zh) * 2013-11-21 2014-02-19 北京京东尚科信息技术有限公司 一种发送Web服务消息的方法及装置
CN109144683A (zh) * 2017-06-28 2019-01-04 北京京东尚科信息技术有限公司 任务处理方法、装置、系统及电子设备
CN108536532A (zh) * 2018-04-23 2018-09-14 中国农业银行股份有限公司 一种批量任务处理方法及系统
CN109344172A (zh) * 2018-08-31 2019-02-15 深圳市元征科技股份有限公司 一种高并发数据处理方法、装置及客户端服务器
CN110213380A (zh) * 2019-06-11 2019-09-06 深圳市思迪信息技术股份有限公司 一种消息推送方法、装置、计算机设备及存储介质
CN110659123A (zh) * 2019-11-29 2020-01-07 中国人民解放军国防科技大学 一种基于消息的分布式任务分发调度方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021169674A1 (zh) * 2020-02-28 2021-09-02 京东数字科技控股股份有限公司 一种业务数据的处理方法和装置
CN113190559A (zh) * 2021-05-21 2021-07-30 湖南快乐阳光互动娱乐传媒有限公司 一种业务数据重试方法及相关设备
CN113704297A (zh) * 2021-08-03 2021-11-26 深圳兆日科技股份有限公司 业务处理请求的处理方法、模块及计算机可读存储介质
CN113704297B (zh) * 2021-08-03 2024-02-23 深圳兆日科技股份有限公司 业务处理请求的处理方法、模块及计算机可读存储介质
CN113901271A (zh) * 2021-12-10 2022-01-07 飞狐信息技术(天津)有限公司 基于电子表格配置系统的方法、装置、存储介质和设备

Also Published As

Publication number Publication date
WO2021169674A1 (zh) 2021-09-02

Similar Documents

Publication Publication Date Title
CN111367688A (zh) 一种业务数据的处理方法和装置
CN108449410B (zh) 一种云平台中消息管理方法、系统及相关装置
CN108196961B (zh) 一种异步消息处理方法、终端、系统及存储介质
US11221743B2 (en) Information processing method, terminal, server, and computer storage medium
CN109756417B (zh) 离线消息分发方法、服务器及存储介质
CN102981911B (zh) 一种分布式消息处理系统及其中的设备和方法
CN114024972B (zh) 一种长连接通信方法、系统、装置、设备及存储介质
CN101383839A (zh) 基于数据服务器的数据分发系统及其实现方法
CN110336848B (zh) 一种访问请求的调度方法及调度系统、设备
CN112367345A (zh) 数据处理方法、服务端设备及计算机可读存储介质
CN108900627B (zh) 一种网络请求方法、终端装置及存储介质
CN111767128A (zh) 执行定时任务的方法以及装置
CN113411404A (zh) 一种文件下载方法、装置、服务器及存储介质
CN112667476B (zh) 基于任务的消息过滤方法、装置、设备及存储介质
CN112910987A (zh) 消息推送方法、系统、装置、设备及存储介质
CN110839061B (zh) 数据分发方法、装置及存储介质
CN115951923B (zh) 订阅事件管理方法、显示系统、设备和存储介质
CN112182378A (zh) 消息推送方法、装置、终端及介质
CN110009273B (zh) 信息处理方法及装置、存储介质、电子装置
CN109101340B (zh) 弹幕消息的动态分发方法、装置、设备和存储介质
CN107563942B (zh) 一种物流数据批量处理方法、物流处理系统以及处理装置
CN114390452B (zh) 消息发送方法及相关设备
CN106911557B (zh) 消息传输方法和装置
CN112019689A (zh) 来电秀业务处理系统及方法
CN113434281B (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
CB02 Change of applicant information

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: Jingdong Digital Technology Holding Co.,Ltd.

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Digital Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

CB02 Change of applicant information