CN113157461B - 一种在执行任务单过程中传送消息的方法和装置 - Google Patents

一种在执行任务单过程中传送消息的方法和装置 Download PDF

Info

Publication number
CN113157461B
CN113157461B CN202010075447.0A CN202010075447A CN113157461B CN 113157461 B CN113157461 B CN 113157461B CN 202010075447 A CN202010075447 A CN 202010075447A CN 113157461 B CN113157461 B CN 113157461B
Authority
CN
China
Prior art keywords
information
task list
queue
processing
task
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
CN202010075447.0A
Other languages
English (en)
Other versions
CN113157461A (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.)
Beijing Jingdong Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Zhenshi Information Technology 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 Beijing Jingdong Zhenshi Information Technology Co Ltd filed Critical Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority to CN202010075447.0A priority Critical patent/CN113157461B/zh
Publication of CN113157461A publication Critical patent/CN113157461A/zh
Application granted granted Critical
Publication of CN113157461B publication Critical patent/CN113157461B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

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

一种在执行任务单过程中传送消息的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种在执行任务单过程中传送消息的方法和装置。
背景技术
目前,在跨系统或跨应用的情况下,系统或应用之间多采用消息队列(mq)异步的方式进行数据传输,双方根据事先约定好的报文进行解析并执行业务处理。
在执行任务单过程中,现有的业务逻辑为:接收第二端分配给第一端的任务单,然后将任务单发送给第一端,最后将第一端回传的执行信息发送给第二端,该执行信息是第一端在执行任务单的任务节点回传给第二端的。执行完这整个过程才算完成一个任务单的处理。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
无法感知任务单的各个任务节点是否处理完成,以及无法确认消息传送是否成功。
发明内容
有鉴于此,本发明实施例提供一种在执行任务单过程中传送消息的方法和装置,能够对一个任务单是否完结进行跟踪定位,还可以利用存储的处理结果为未回传的队列消息创建回传任务。
为实现上述目的,根据本发明实施例的一个方面,提供了一种在执行任务单过程中传送消息的方法。
本发明实施例的一种在执行任务单过程中传送消息的方法包括:
对第一端在执行任务单过程中发送的队列消息进行处理,并存储队列消息的处理结果;
扫描存储的处理结果,获取未回传的队列消息及其对应的任务单信息和任务单执行节点;
当任务单执行节点是回传节点时,创建回传任务将任务单信息和任务单执行节点发送至第二端。
可选地,对第一端在执行任务单过程中发送的队列消息进行处理,并存储队列消息的处理结果,包括:
接收第一端在任务单执行节点发送的队列消息;
在缓存数据库中查询队列消息;
若缓存数据库中不存在队列消息,则对队列消息进行处理,并将处理结果存储到缓存数据库和消息数据库;
若缓存数据库中存在队列消息,则根据队列消息的处理状态按状态顺序继续对队列消息进行处理,并将处理结果存储到缓存数据库和消息数据库。
可选地,对队列消息进行处理,并将处理结果存储到缓存数据库和消息数据库,以及在处理异常时添加异常提醒,包括:
将接收的队列消息存储到缓存数据库和消息数据库,并将队列消息的处理状态标记为接收状态;
解析队列消息得到任务单信息和对应的任务单执行节点,将任务单信息和任务单执行节点存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为解析状态;
创建回传任务,将创建结果存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为创建状态;
调用第二端的接口以回传任务单信息和任务单执行节点,将回传结果存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为回传状态。
可选地,还包括:
在接收异常、解析异常、创建任务异常或回传异常时,添加异常提醒。
可选地,扫描存储的处理结果,获取未回传的队列消息及其对应的任务单信息和任务单执行节点,包括:
在第二端的接收时间内,定时扫描消息数据库中存储的处理结果,获取处理状态为接收状态、解析状态和创建状态的队列消息及其对应的任务单信息和任务单执行节点。
为实现上述目的,根据本发明实施例的另一方面,提供了一种在执行任务单过程中传送消息的装置。
本发明实施例的一种在执行任务单过程中传送消息的装置包括:
处理模块,用于对第一端在执行任务单过程中发送的队列消息进行处理,并存储队列消息的处理结果;
扫描模块,用于扫描存储的处理结果,获取未回传的队列消息及其对应的任务单信息和任务单执行节点;
创建模块,用于当任务单执行节点是回传节点时,创建回传任务将任务单信息和任务单执行节点发送至第二端。
可选地,所述处理模块还用于:
接收第一端在任务单执行节点发送的队列消息;
在缓存数据库中查询队列消息;
若缓存数据库中不存在队列消息,则对队列消息进行处理,并将处理结果存储到缓存数据库和消息数据库;
若缓存数据库中存在队列消息,则根据队列消息的处理状态按状态顺序继续对队列消息进行处理,并将处理结果存储到缓存数据库和消息数据库。
可选地,所述处理模块进一步用于:
将接收的队列消息存储到缓存数据库和消息数据库,并将队列消息的处理状态标记为接收状态;
解析队列消息得到任务单信息和对应的任务单执行节点,将任务单信息和任务单执行节点存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为解析状态;
创建回传任务,将创建结果存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为创建状态;
调用第二端的接口以回传任务单信息和任务单执行节点,将回传结果存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为回传状态。
可选地,还包括提醒模块,用于:
在接收异常、解析异常、创建任务异常或回传异常时,添加异常提醒。
可选地,所述扫描模块还用于:
在第二端的接收时间内,定时扫描消息数据库中存储的处理结果,获取处理状态为接收状态、解析状态和创建状态的队列消息及其对应的任务单信息和任务单执行节点。
为实现上述目的,根据本发明实施例的又一方面,提供了一种在执行任务单过程中传送消息的电子设备。
本发明实施例的一种在执行任务单过程中传送消息的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种在执行任务单过程中传送消息的方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读存储介质。
本发明实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种在执行任务单过程中传送消息的方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用对第一端在执行任务单过程中发送的队列消息进行处理,并存储队列消息的处理结果;扫描存储的处理结果,获取未回传的队列消息及其对应的任务单信息和任务单执行节点;当任务单执行节点是回传节点时,创建回传任务将任务单信息和任务单执行节点发送至第二端的技术手段,所以克服了无法感知任务单的各个任务节点是否处理完成,以及无法确认消息传送是否成功的技术问题,进而达到对一个任务单是否完结进行跟踪定位,还可以利用存储的处理结果为未回传的队列消息创建回传任务,同时通过异常提醒实现某一环节出现异常时及时反馈的技术效果。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是现有的商家与库房之间的消息传送流程;
图2是现有的库房回传给商家的消息的处理流程;
图3是根据本发明实施例的在执行任务单过程中传送消息的方法的主要步骤的示意图;
图4是根据本发明一个可参考实施例的在执行任务单过程中传送消息的方法的主要流程的示意图;
图5是根据本发明一个可参考实施例的队列消息的处理流程的示意图;
图6是根据本发明一个可参考实施例的扫描流程的示意图;
图7是根据本发明实施例的在执行任务单过程中传送消息的装置的主要模块的示意图;
图8是本发明实施例可以应用于其中的示例性系统架构图;
图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
以商家和库房处理订单的过程为例,商家与库房之间的消息传送如图1所示,现有的业务逻辑为,从接收到商家订单,到将库房回传的包裹信息回传商家,再到最后将妥投或拒收状态回传商家才算一个订单处理结束;库房回传给商家的消息的处理流程如图2所示,首先接收库房回传的队列消息(mq消息),其次保存回传数据,然后添加回传异步任务,最后调用商家接口。但是,在执行任务单过程中无法感知各个环节是否处理成功,同时回传商家异步任务是否成功也无法感知,最终结果就造成商家未接收到反馈信息而系统又没有体现出来,直到商家主动联系后才进行问题定位并处理,这种处理方式很被动,而且为商家带来不便,对于一个业务处理也无法形成闭环。
为此,本发明实施例提供的一种在执行任务单过程中传送消息的方法采用补偿机制,对回传的mq消息的处理过程及处理结果进行记录,即记录接收mq消息、解析mq消息以及异步任务回传等的处理结果,通过记录实现对一个任务单是否完结进行跟踪定位,并通过记录的处理结果分析消息是否回传成功,同时可以在处理mq消息的每个处理节点添加异常提醒,当某一环节出现异常时可以及时反馈。
图3是根据本发明实施例的在执行任务单过程中传送消息的方法的主要步骤的示意图。
如图3所示,本发明实施例的在执行任务单过程中传送消息的方法主要包括以下步骤:
步骤S301:对第一端在执行任务单过程中发送的队列消息进行处理,并存储队列消息的处理结果。
本发明实施例中,第一端和第二端是不同的系统或应用,且发送队列消息的一端为第一端,也是任务单的执行方,接收队列消息的一端为第二端,也是任务单的分配方。第一端在执行任务单过程中,可能需要将执行过程或该过程中的某些信息等告知第二端,此时可以通过发送队列消息来传递信息。
在本发明实施例中,步骤S301可以采用以下方式实现:接收第一端在任务单执行节点发送的队列消息;在缓存数据库中查询队列消息;若缓存数据库中不存在队列消息,则对队列消息进行处理,并将处理结果存储到缓存数据库和消息数据库;若缓存数据库中存在队列消息,则根据队列消息的处理状态按状态顺序继续对队列消息进行处理,并将处理结果存储到缓存数据库和消息数据库。
对于队列消息的处理结果,同时存储到缓存数据库(即redis缓存)和消息数据库中。其中,存储到缓存数据库主要是为了处理防重和并发,防止同一任务单的同一处理逻辑重复执行;存储到消息数据库主要是为了方便任务单跟踪,实现对一个任务单是否完结进行跟踪定位,还可以用于异常恢复,以及为后续分析提供参考数据等。
此外,队列消息的处理状态通常包括四种状态,处理过程中的状态顺序依次为:接收状态、解析状态、创建状态和回传状态。如果缓存数据库中存在队列消息,则根据处理状态确定队列消息处理到哪一步,并按照状态顺序继续执行。例如缓存数据库中的某个队列消息处于创建状态(即还未回传成功),则可以继续创建回传任务和调用第二端的接口等步骤。
在本发明实施例中,对队列消息进行处理,并将处理结果存储到缓存数据库和消息数据库,的步骤可以采用以下方式实现:将接收的队列消息存储到缓存数据库和消息数据库,并将队列消息的处理状态标记为接收状态;解析队列消息得到任务单信息和对应的任务单执行节点,将任务单信息和任务单执行节点存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为解析状态;创建回传任务,将创建结果存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为创建状态;调用第二端的接口以回传任务单信息和任务单执行节点,将回传结果存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为回传状态。
在处理队列消息的过程中,每个处理状态对应于一个处理节点,各个处理节点(即接收队列消息、解析队列消息、添加回传任务和调用第二端的接口)的数据都会存储到缓存数据库和消息数据库中。其中,存储接收的队列消息用于标识接收到第一端回传的队列消息;存储解析得到的任务单信息和任务单执行节点用于标识第一端回传的队列消息是合法的(即符合处理逻辑),且正常解析并存储的;存储任务结果用于标识第一端回传的队列消息已处理结束,并触发回传第二端的任务;存储回传结果用于标识第一端回传的队列消息,已成功回传第二端。
对于第一端发送的队列消息,对处理得到的处理结果进行存储的同时,如果出现处理异常则添加异常提醒。在本发明实施例中,步骤S301还可以包括:在接收异常、解析异常、创建任务异常或回传异常时,添加异常提醒。
此处的异常提醒是一种预警机制,若第二端对任务单的执行有时效要求,可以在队列消息的处理节点出现异常时,及时通过邮件或短信等方式进行预警,以便运维人员能够第一时间对异常进行定位和恢复。
步骤S302:扫描存储的处理结果,获取未回传的队列消息及其对应的任务单信息和任务单执行节点。
任务单信息是指第一端在执行任务单时所涉及的信息,例如使用的材料、存箱信息和操作人员信息等等;任务单执行节点是指第一端执行任务单的状态或完成程度。步骤S301是队列消息的正常处理方式,若处理过程中出现异常可以及时进行预警并处理,但对于特殊情况仍可能回传失败(即第二端未收到第一端在任务单执行节点发送的任务单信息和任务单执行节点),例如队列消息解析成功并正常存储其携带的任务单信息和任务单执行节点,但没有创建回传任务。针对这种异常情况,可以通过扫描消息数据库存储的队列消息的处理结果,获取未回传的队列消息,通过未回传的队列消息对应的任务单信息和任务单执行节点,可以了解任务单的执行状态,从而判断是否存在需要向第二端回传任务单信息和任务单执行节点。
作为一种优选的实施方式,可以采用定时任务的方式扫描消息数据库。且第二端的接收时间可能是特定时间,为避免再次回传任务单信息和任务单执行节点失败,可以仅在第二端的接收时间扫描消息数据库。在本发明实施例中,步骤S302可以采用以下方式实现:在第二端的接收时间内,定时扫描消息数据库中存储的处理结果,获取处理状态为接收状态、解析状态和创建状态的队列消息及其对应的任务单信息和任务单执行节点。
步骤S303:当任务单执行节点是回传节点时,创建回传任务将任务单信息和任务单执行节点发送至第二端。
对于步骤S302扫描到的未回传的队列消息及其对应的任务单信息和任务单执行节点,根据任务单执行节点判断该队列消息是否为需要回传却未回传的,如果任务单执行节点是回传节点,则需要回传,此时,可以创建回传任务以向第二端回传任务单信息和任务单执行节点。
根据本发明实施例的在执行任务单过程中传送消息的方法可以看出,因为采用对第一端在执行任务单过程中发送的队列消息进行处理,并存储队列消息的处理结果;扫描存储的处理结果,获取未回传的队列消息及其对应的任务单信息和任务单执行节点;当任务单执行节点是回传节点时,创建回传任务将任务单信息和任务单执行节点发送至第二端的技术手段,所以克服了无法感知任务单的各个任务节点是否处理完成,以及无法确认消息传送是否成功的技术问题,进而达到对一个任务单是否完结进行跟踪定位,还可以利用存储的处理结果为未回传的队列消息创建回传任务,同时通过异常提醒实现某一环节出现异常时及时反馈的技术效果。
为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。以商家向库房分配订单(即任务单)为例,商家是第二端、库房是第一端,在商家与库房之间通过第三方平台分配订单及通信。
如图4所示,此情景下,本发明实施例的在执行任务单过程中传送消息的方法可以分为两个阶段,商家与库房之间的订单处理以及后续的定时扫描跟踪。其中,
阶段一,商家与库房之间的订单处理流程如下:
接收订单:第三方平台接收商家向库房分配的订单,该订单可以是采用mq消息的方式分配的,第三方平台在向库房发送该订单的同时,保存订单,并添加redis缓存,以及保存订单跟踪消息(即以上信息)至消息数据库;
接收库房回传mq:第三方平台接收mq消息后,解析并保存得到的订单状态(即任务单执行节点)以及包裹信息、存箱信息、或出库信息,并添加redis缓存,以及保存订单跟踪消息(即以上信息)至消息数据库;其中,订单状态是任务单执行节点,包裹信息和存箱信息是任务单信息;
添加回传商家异步任务:调用商家接口回传出库信息与状态信息等mq消息中携带的信息,并添加redis缓存,以及保存订单跟踪消息(即以上信息)至消息数据库;
需要注意的是,在接收库房回传mq和添加回传商家异步任务的过程中,如果出现处理异常,则保存处理结果并添加监控报警信息(即异常提醒)。
阶段二,定时扫描跟踪:
Clover按策略执行扫描;clover是指按策略引导,即按策略引导扫描消息数据库的订单跟踪消息,发现满足回传条件却未回传的订单,如果存在这种订单则自动创建回传商家异步任务进行回传。
如图5所示,此情景下,在接收mq以及异步任务回传商家时,均对处理结果进行记录(redis缓存与消息数据库),通过记录结果可以对一个订单是否完结进行跟踪定位,同时在每个处理节点(即任务单执行节点)添加异常提醒,使得某一环节出现异常是也可及时收到反馈。具体地,队列消息的处理可以参考以下流程:
库房回传mq,将接收的队列消息存储到缓存数据库和消息数据库,并将队列消息的处理状态标记为接收状态,以及在接收异常时添加异常提醒;
解析队列消息得到任务单信息和对应的任务单执行节点,将任务单信息和任务单执行节点存储到redis缓存和消息数据库,并将队列消息的处理状态更新为解析状态,以及在解析异常时添加异常提醒;
创建回传任务,将创建结果存储到redis缓存和消息数据库,并将队列消息的处理状态更新为创建状态,以及在创建任务异常时添加异常提醒;
调用第二端的接口以回传任务单信息和任务单执行节点,将回传结果存储到redis缓存和消息数据库,并将队列消息的处理状态更新为回传状态,以及在回传异常时添加异常提醒。
如图6所示,此情景下,扫描可以参考以下流程:
对于特殊情况,如mq消息接收成功数据也保存了确没有添加回传商家异步任务,经确定导致该情况的原因是需求上线重启应用导致任务未创建,针对这种异常情况采用不同的策略进行clover定时任务的方式扫描是否存在订单满足回传条件却未回传的情况,如果存在这种订单则自动创建回传商家异步任务进行回传。
以上配置策略方式需关联商家信息,针对不同商家设置不同策略,clover定时任务可配置全天24小时分波次扫描具体波次也需根据商家需求定义。例如,某商家要在订单为交接发货状态并且库房回传了箱信息再回传商家,则该商家对应的策略为:订单交接发货状态、箱信息已落库成功、并且处于每月关账时间段内不回传。
图7是根据本发明实施例的在执行任务单过程中传送消息的装置的主要模块的示意图。
如图7所示,本发明实施例的在执行任务单过程中传送消息的装置700包括:处理模块701、扫描模块702和创建模块703。
其中,
处理模块701,用于对第一端在执行任务单过程中发送的队列消息进行处理,并存储队列消息的处理结果;
扫描模块702,用于扫描存储的处理结果,获取未回传的队列消息及其对应的任务单信息和任务单执行节点;
创建模块,用于当任务单执行节点是回传节点时,创建回传任务将任务单信息和任务单执行节点发送至第二端。
在本发明实施例中,所述处理模块701还用于:
接收第一端在任务单执行节点发送的队列消息;
在缓存数据库中查询队列消息;
若缓存数据库中不存在队列消息,则对队列消息进行处理,并将处理结果存储到缓存数据库和消息数据库;
若缓存数据库中存在队列消息,则根据队列消息的处理状态按状态顺序继续对队列消息进行处理,并将处理结果存储到缓存数据库和消息数据库。
在本发明实施例中,所述处理模块701进一步用于:
将接收的队列消息存储到缓存数据库和消息数据库,并将队列消息的处理状态标记为接收状态;
解析队列消息得到任务单信息和对应的任务单执行节点,将任务单信息和任务单执行节点存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为解析状态;
创建回传任务,将创建结果存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为创建状态;
调用第二端的接口以回传任务单信息和任务单执行节点,将回传结果存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为回传状态。
此外,还可以包括提醒模块(图中并未示出),用于:
在接收异常、解析异常、创建任务异常或回传异常时,添加异常提醒。
在本发明实施例中,所述扫描模块702还用于:
在第二端的接收时间内,定时扫描消息数据库中存储的处理结果,获取处理状态为接收状态、解析状态和创建状态的队列消息及其对应的任务单信息和任务单执行节点。
根据本发明实施例的在执行任务单过程中传送消息的装置可以看出,因为采用对第一端在执行任务单过程中发送的队列消息进行处理,并存储队列消息的处理结果;扫描存储的处理结果,获取未回传的队列消息及其对应的任务单信息和任务单执行节点;当任务单执行节点是回传节点时,创建回传任务将任务单信息和任务单执行节点发送至第二端的技术手段,所以克服了无法感知任务单的各个任务节点是否处理完成,以及无法确认消息传送是否成功的技术问题,进而达到对一个任务单是否完结进行跟踪定位,还可以利用存储的处理结果为未回传的队列消息创建回传任务,同时通过异常提醒实现某一环节出现异常时及时反馈的技术效果。
图8示出了可以应用本发明实施例的在执行任务单过程中传送消息的方法或在执行任务单过程中传送消息的装置的示例性系统架构800。
如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息)反馈给终端设备。
需要说明的是,本发明实施例所提供的在执行任务单过程中传送消息的方法一般由服务器805执行,相应地,在执行任务单过程中传送消息的装置一般设置于服务器805中。
应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括处理模块、扫描模块和创建模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,处理模块还可以被描述为“对第一端在执行任务单过程中发送的队列消息进行处理,并存储队列消息的处理结果的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:步骤S301:对第一端在执行任务单过程中发送的队列消息进行处理,并存储队列消息的处理结果,以及在处理异常时添加异常提醒;步骤S302:扫描存储的处理结果,获取未回传的队列消息及其对应的任务单信息和任务单执行节点;步骤S303:当任务单执行节点是回传节点时,创建回传任务将任务单信息和任务单执行节点发送至第二端。
根据本发明实施例的技术方案,因为采用对第一端在执行任务单过程中发送的队列消息进行处理,并存储队列消息的处理结果;扫描存储的处理结果,获取未回传的队列消息及其对应的任务单信息和任务单执行节点;当任务单执行节点是回传节点时,创建回传任务将任务单信息和任务单执行节点发送至第二端的技术手段,所以克服了无法感知任务单的各个任务节点是否处理完成,以及无法确认消息传送是否成功的技术问题,进而达到对一个任务单是否完结进行跟踪定位,还可以利用存储的处理结果为未回传的队列消息创建回传任务,同时通过异常提醒实现某一环节出现异常时及时反馈的技术效果。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (8)

1.一种在执行任务单过程中传送消息的方法,其特征在于,包括:
对第一端在执行任务单过程中发送的队列消息进行处理,并存储队列消息的处理结果;
将接收的所述队列消息存储到缓存数据库和消息数据库,并将队列消息的处理状态标记为接收状态;解析队列消息得到任务单信息和对应的任务单执行节点,将任务单信息和任务单执行节点存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为解析状态;创建回传任务,将创建结果存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为创建状态;调用第二端的接口以回传任务单信息和任务单执行节点,将回传结果存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为回传状态;
扫描存储的处理结果,获取未回传的队列消息及其对应的任务单信息和任务单执行节点,包括:在第二端的接收时间内,定时扫描消息数据库中存储的处理结果,获取处理状态为接收状态、解析状态和创建状态的队列消息及其对应的任务单信息和任务单执行节点;
当任务单执行节点是回传节点时,创建回传任务将任务单信息和任务单执行节点发送至第二端。
2.根据权利要求1所述的方法,其特征在于,对第一端在执行任务单过程中发送的队列消息进行处理,并存储队列消息的处理结果,包括:
接收第一端在任务单执行节点发送的队列消息;
在缓存数据库中查询队列消息;
若缓存数据库中不存在队列消息,则对队列消息进行处理,并将处理结果存储到缓存数据库和消息数据库;
若缓存数据库中存在队列消息,则根据队列消息的处理状态按状态顺序继续对队列消息进行处理,并将处理结果存储到缓存数据库和消息数据库。
3.根据权利要求1所述的方法,其特征在于,还包括:
在接收异常、解析异常、创建任务异常或回传异常时,添加异常提醒。
4.一种在执行任务单过程中传送消息的装置,其特征在于,包括:
处理模块,用于对第一端在执行任务单过程中发送的队列消息进行处理,并存储队列消息的处理结果;将接收的所述队列消息存储到缓存数据库和消息数据库,并将队列消息的处理状态标记为接收状态;解析队列消息得到任务单信息和对应的任务单执行节点,将任务单信息和任务单执行节点存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为解析状态;创建回传任务,将创建结果存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为创建状态;调用第二端的接口以回传任务单信息和任务单执行节点,将回传结果存储到缓存数据库和消息数据库,并将队列消息的处理状态更新为回传状态;
扫描模块,用于扫描存储的处理结果,获取未回传的队列消息及其对应的任务单信息和任务单执行节点,包括:在第二端的接收时间内,定时扫描消息数据库中存储的处理结果,获取处理状态为接收状态、解析状态和创建状态的队列消息及其对应的任务单信息和任务单执行节点;
创建模块,用于当任务单执行节点是回传节点时,创建回传任务将任务单信息和任务单执行节点发送至第二端。
5.根据权利要求4所述的装置,其特征在于,所述处理模块还用于:
接收第一端在任务单执行节点发送的队列消息;
在缓存数据库中查询队列消息;
若缓存数据库中不存在队列消息,则对队列消息进行处理,并将处理结果存储到缓存数据库和消息数据库;
若缓存数据库中存在队列消息,则根据队列消息的处理状态按状态顺序继续对队列消息进行处理,并将处理结果存储到缓存数据库和消息数据库。
6.根据权利要求4所述的装置,其特征在于,还包括提醒模块,用于:
在接收异常、解析异常、创建任务异常或回传异常时,添加异常提醒。
7.一种在执行任务单过程中传送消息的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-3中任一所述的方法。
8.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-3中任一所述的方法。
CN202010075447.0A 2020-01-22 2020-01-22 一种在执行任务单过程中传送消息的方法和装置 Active CN113157461B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010075447.0A CN113157461B (zh) 2020-01-22 2020-01-22 一种在执行任务单过程中传送消息的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010075447.0A CN113157461B (zh) 2020-01-22 2020-01-22 一种在执行任务单过程中传送消息的方法和装置

Publications (2)

Publication Number Publication Date
CN113157461A CN113157461A (zh) 2021-07-23
CN113157461B true CN113157461B (zh) 2023-09-26

Family

ID=76881812

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010075447.0A Active CN113157461B (zh) 2020-01-22 2020-01-22 一种在执行任务单过程中传送消息的方法和装置

Country Status (1)

Country Link
CN (1) CN113157461B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116521400B (zh) * 2023-07-04 2023-11-03 京东科技信息技术有限公司 文章信息处理方法、装置、存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020039752A (ko) * 2000-11-22 2002-05-30 윤종용 타스크간 이벤트 전달 장치 및 방법
CN104077212A (zh) * 2013-03-26 2014-10-01 阿里巴巴集团控股有限公司 压力测试系统及方法
CN104394236A (zh) * 2014-12-18 2015-03-04 重庆邮电大学 节点与消息状态联合感知的分布式协作缓存方法
CN104468250A (zh) * 2013-09-17 2015-03-25 深圳市共进电子股份有限公司 Tr069测试中的消息处理方法和系统
CN109582445A (zh) * 2018-09-29 2019-04-05 阿里巴巴集团控股有限公司 消息处理方法、装置、电子设备及计算机可读存储介质
CN110691421A (zh) * 2018-07-06 2020-01-14 华为技术有限公司 数据传输方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020039752A (ko) * 2000-11-22 2002-05-30 윤종용 타스크간 이벤트 전달 장치 및 방법
CN104077212A (zh) * 2013-03-26 2014-10-01 阿里巴巴集团控股有限公司 压力测试系统及方法
CN104468250A (zh) * 2013-09-17 2015-03-25 深圳市共进电子股份有限公司 Tr069测试中的消息处理方法和系统
CN104394236A (zh) * 2014-12-18 2015-03-04 重庆邮电大学 节点与消息状态联合感知的分布式协作缓存方法
CN110691421A (zh) * 2018-07-06 2020-01-14 华为技术有限公司 数据传输方法及装置
CN109582445A (zh) * 2018-09-29 2019-04-05 阿里巴巴集团控股有限公司 消息处理方法、装置、电子设备及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Maximilian S.等.Iterative Message Alignment for Quantized Message Passing between Distributed Sensor Nodes.2018 IEEE 87th Vehicular Technology Conference (VTC Spring).2018,全文. *
张有光,焦广伦,戴陇咸,马浩凯.消息中间件中的分布式监控管理子系统.计算机工程.2003,(21),全文. *

Also Published As

Publication number Publication date
CN113157461A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
CN108960691B (zh) 用于服务器系统的确定物品库存的方法和装置
CN110866709B (zh) 合并订单的方法和装置
US10915384B2 (en) Information processing method and device
CN111030784A (zh) 一种信息同步方法和装置
CN111526049B (zh) 运维系统、运维方法、电子设备和存储介质
CN113807960A (zh) 异构链间的跨链处理方法、装置、系统、电子设备
CN111402057A (zh) 交易报文匹配方法、装置、计算设备以及介质
CN113157461B (zh) 一种在执行任务单过程中传送消息的方法和装置
CN114637611A (zh) 基于消息队列的信息处理方法、装置及计算机设备
CN110389976B (zh) 一种多接口数据的调度方法和装置
CN113590354A (zh) 基于区块链的信息推送方法、装置、设备、介质和程序产品
CN111008202A (zh) 分布式事务处理方法和框架
CN112836201A (zh) 多平台信息互通的方法、装置、设备和计算机可读介质
CN112925623A (zh) 任务处理方法、装置、电子设备和介质
CN112783677A (zh) 一种服务异常的监控方法和装置
CN113516523A (zh) 一种订单数据处理方法和接单系统
CN113766437B (zh) 一种短信发送方法和装置
CN114866538B (zh) 一种文件报送方法、装置、电子设备及计算机可读介质
CN112965946B (zh) 处理文档的方法、装置、设备和计算机可读介质
CN114691394A (zh) 一种电商数据处理方法、装置和系统
CN111581244B (zh) 一种异构系统业务交易数据有序同步方法、系统及设备
CN109889590B (zh) 消息处理方法、装置、客户端和计算机可读介质
CN114971564A (zh) 一种业务处理方法、装置、电子设备及计算机可读介质
CN113778728A (zh) 监控故障的方法、装置、设备和计算机可读介质
CN113556276A (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