CN110049113A - 业务消息处理方法及装置 - Google Patents

业务消息处理方法及装置 Download PDF

Info

Publication number
CN110049113A
CN110049113A CN201910260739.9A CN201910260739A CN110049113A CN 110049113 A CN110049113 A CN 110049113A CN 201910260739 A CN201910260739 A CN 201910260739A CN 110049113 A CN110049113 A CN 110049113A
Authority
CN
China
Prior art keywords
service message
state
message
service
sent
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
CN201910260739.9A
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.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group 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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201910260739.9A priority Critical patent/CN110049113A/zh
Publication of CN110049113A publication Critical patent/CN110049113A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明实施例提供一种业务消息处理方法及装置,应用于消息服务系统,消息服务系统可处理不同微服务的业务消息,该方法包括:接收订单中心各微服务发送的业务消息,其中,业务消息用于指示执行对应的业务操作;根据数据库对业务消息的存储结果,向订单中心发送业务消息的存储信息,存储信息包括存储结果;根据订单中心发送的业务操作结果,确定业务消息的执行状态;根据业务消息的执行状态,确定是否向客户中心发送业务消息。通过消息服务系统对订单中心中各微服务的业务消息的执行状态进行更新,避免了业务消息的执行状态不一致导致的系统状态异常,提升系统状态的稳定性。

Description

业务消息处理方法及装置
技术领域
本发明实施例涉及计算机技术,尤其涉及一种业务消息处理方法及装置。
背景技术
随着信息化的快速发展,基于微服务实现组织系统的开发已经成为一种重要的开发方式。
现有技术在实现基于微服务的组织系统架构时,通常是将系统中的单个应用拆分为多个功能简单、松耦合的微服务,当多个微服务之间存在协同工作时,通常涉及多个数据库的操作。
然而,当涉及多个数据库的操作时,难以保证各数据库之间业务消息的一致性,从而导致系统状态异常。
发明内容
本发明实施例提供一种业务消息处理方法及装置,以克服业务消息的执行状态难以保证一致性的问题。
第一方面,本发明实施例提供一种业务消息处理方法,应用于消息服务系统,所述消息服务系统可处理不同微服务的业务消息,包括:
接收订单中心各所述微服务发送的业务消息,其中,所述业务消息用于指示执行对应的业务操作;
根据数据库对所述业务消息的存储结果,向所述订单中心发送业务消息的存储信息,所述存储信息包括所述存储结果;
根据所述订单中心发送的业务操作结果,确定所述业务消息的执行状态;
根据所述业务消息的执行状态,确定是否向客户中心发送所述业务消息。
在一种可能的设计中,所述根据所述订单中心发送的业务操作结果,确定所述业务消息的执行状态,包括:
若所述业务操作结果为处理成功,将所述业务消息的执行状态设置为待发送状态;若所述业务操作结果为处理失败,将所述业务消息的执行状态设置为已废弃状态;
根据所述业务消息的执行状态,确定是否向客户中心发送所述业务消息,包括:
若所述业务消息的状态为待发送状态,则确定向客户中心发送所述业务消息;若所述业务消息的状态为已废弃状态,则确定不向客户中心发送所述业务消息。
在一种可能的设计中,所述将所述业务消息的状态设置为待发送状态之后,所述方法还包括:
将所述业务消息加入消息队列,更新所述业务消息的执行状态为已发送状态;
将处于已发送状态的业务消息发送至客户中心,所述客户中心用于对业务消息进行消费处理;
根据所述客户中心发送的消费处理结果,更新所述业务消息的执行状态。
在一种可能的设计中,所述根据所述客户中心发送的消费处理结果,更新所述业务消息的执行状态,包括:
若所述消费处理结果为消费成功,将所述业务消息的执行状态设置为已完成状态;若所述消费处理结果为消费失败,保持所述业务消息的执行状态为已发送状态。
在一种可能的设计中,所述方法还包括:
按照预设周期,获取处于待发送状态的业务消息和已发送状态的业务消息;
判断所述处于待发送状态的业务消息和已发送状态的业务消息的处理时长是否超过第一预设时长;
若是,将所述处于待发送状态的业务消息和已发送状态的业务消息加入消息队列,更新所述待发送状态的业务消息的执行状态为已发送状态。
在一种可能的设计中,所述接收订单中心各所述微服务发送的业务消息之后,所述方法还包括:
将所述业务消息的执行状态设置为待确认状态;
按照预设周期,判断处于待确认状态的业务消息的等待时长是否超过第二预设时长;
若是,则向所述订单中心发送请求信息,所述请求信息用于请求业务操作结果。
第二方面,本发明实施例提供一种业务消息处理装置,应用于消息服务系统,所述消息服务系统可处理不同微服务的业务消息,包括:
接收模块,用于接收订单中心各所述微服务发送的业务消息,其中,所述业务消息用于指示执行对应的业务操作;
发送模块,用于根据数据库对所述业务消息的存储结果,向所述订单中心发送业务消息的存储信息,所述存储信息包括所述存储结果;
执行状态确定模块,用于根据所述订单中心发送的业务操作结果,确定所述业务消息的执行状态;
消息发送确定模块,用于根据所述业务消息的执行状态,确定是否向客户中心所述业务消息。
在一种可能的设计中,所述执行状态确定模块具体用于:
若所述业务操作结果为处理成功,将所述业务消息的执行状态设置为待发送状态;若所述业务操作结果为处理失败,将所述业务消息的执行状态设置为已废弃状态;
所述消息发送确定模块具体用于:
若所述业务消息的状态为待发送状态,则确定向客户中心发送所述业务消息;若所述业务消息的状态为已废弃状态,则确定不向客户中心发送所述业务消息。
在一种可能的设计中,所述消息发送确定模块,还用于:
在所述将所述业务消息的状态设置为待发送状态之后,将所述业务消息加入消息队列,更新所述业务消息的执行状态为已发送状态;
将处于已发送状态的业务消息发送至客户中心,所述客户中心用于对业务消息进行消费处理;
根据所述客户中心发送的消费处理结果,更新所述业务消息的执行状态。
在一种可能的设计中,所述消息发送确定模块具体用于:
若所述消费处理结果为消费成功,将所述业务消息的执行状态设置为已完成状态;若所述消费处理结果为消费失败,保持所述业务消息的执行状态为已发送状态。
在一种可能的设计中,还包括:获取模块;
所述获取模块,用于按照预设周期,获取处于待发送状态的业务消息和已发送状态的业务消息;
判断所述处于待发送状态的业务消息和已发送状态的业务消息的处理时长是否超过第一预设时长;
若是,将所述处于待发送状态的业务消息和已发送状态的业务消息加入消息队列,更新所述待发送状态的业务消息的执行状态为已发送状态。
在一种可能的设计中,所述执行状态确定模块还用于:
在所述接收订单中心各所述微服务发送的业务消息之后将所述业务消息的执行状态设置为待确认状态;
按照预设周期,判断处于待确认状态的业务消息的等待时长是否超过第二预设时长;
若是,则向所述订单中心发送请求信息,所述请求信息用于请求业务操作结果。
第三方面,本发明实施例提供一种业务消息处理设备,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。
本发明实施例提供一种业务消息处理方法及装置,应用于消息服务系统,消息服务系统可处理不同微服务的业务消息,该方法包括:接收订单中心各微服务发送的业务消息,其中,业务消息用于指示执行对应的业务操作;根据数据库对业务消息的存储结果,向订单中心发送业务消息的存储信息,存储信息包括存储结果;根据订单中心发送的业务操作结果,确定业务消息的执行状态;根据业务消息的执行状态,确定是否向客户中心发送业务消息。通过消息服务系统对订单中心中各微服务的业务消息的执行状态进行更新,从而使得业务操作涉及多个微服务的数据库的操作时,能够实现对业务消息的执行状态的统一设置,避免了业务消息的执行状态不一致导致的系统状态异常,提升系统状态的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的业务消息处理方法的系统示意图;
图2为本发明实施例提供的业务消息处理方法的流程图一;
图3为本发明实施例提供的业务消息处理方法的流程图二;
图4为本发明实施例提供的业务消息处理方法的流程图三;
图5为本发明实施例提供的业务消息处理方法的交互示意图;
图6为本发明实施例提供的业务消息处理装置的结构示意图一;
图7为本发明实施例提供的业务消息处理装置的结构示意图二;
图8为本发明实施例提供的业务消息处理设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的业务消息处理方法的系统示意图。如图1所示,该系统包括:接入层101、服务层102以及接出层103。
其中,接入层101用于客户端的接入,例如可以用于平台站点的接入,还例如可以用于移动应用程序的接入、其他平台应用的接入等,本实施例对客户端的具体实现方式不做限定,凡是可以使得用户接入系统的均可以理解为接入层101对应的客户端。
可选地,该系统还包括第一接口层,其中第一接口层用于实现接入层101 与服务层102之间的数据交互,具体的,第一接口层101例如可以通过Dubbo 实现,其中Dubbo是一个服务框架,可实现服务的输出和输入功能,Dubbo 具备面向接口的远程方法调用、智能容错和负载均衡以及服务自动注册和发现的功能。
其中,第一接口层还例如可以通过表征性状态转移(Representational StateTransfer,REST)实现,还例如可以通过Dubbo以及REST同时实现等,本实施例对第一接口层的具体实现方式不做特别限定。
进一步地,服务层102用于实现各微服务的业务消息的处理,具体的,服务层102包括业务服务,在本实施例中,业务服务包括消息发送服务、消息恢复服务、实时消息服务以及消息查询服务,根据业务服务提供的多种服务可以实现对业务消息执行状态的处理。
其次,服务层102还包括服务管理,其中服务管理包括配置管理、监控报警、日志管理以及注册发现,其中配置管理例如可以为对业务消息处理的相关参数进行设置,如在进行消息恢复服务时,通过配置管理设置查看消息的预设周期等,其中监控报警例如可以为在业务消息的执行状态出现异常时进行报警,注册发现例如可以为提供用户注册的功能等,本实施例对服务管理中各功能的具体实现方式不做限制,本领域技术人员可以理解,其中的功能可以根据需求进行设定。
进一步地,服务层102还包括基础组件服务,其中基础组件服务包括缓存服务以及搜索服务,缓存服务例如可以用于对业务消息的不同时间点的执行状态进行缓存,还例如可以用于对用户的操作过程进行缓存等,本实施例对此不做限定,其中缓存服务可基于存储系统redis实现,本领域技术人员可以理解,缓存服务的实现方式可以根据实际需要进行选择。
其中,搜索服务例如可以为向用户提供搜索业务消息的接口,还例如可以为向开发人员提供搜索业务消息等,搜索服务可以基于solr实现,其中 Solr是一个独立的搜索应用服务器,此处对搜索服务的具体实现方式不做限定。
可选地,服务层102中各服务之间还可以进行通信,从而实现业务消息状态的更新以及查询等,其中通信的实现例如可以基于消息队列(message queue,MQ),还例如可以通过Dubbo、REST等,本实施例对各服务之间通信的具体实现方式不做限定。
进一步地,接出层103用于实现外部系统的接入,例如可以为客户中心接入,对业务消息进行具体的业务操作处理,还例如可以为其他外部系统的接入等,本实施例对此不做限定。
可选地,该系统还包括持久层,其中持久层用于实现数据的持久化,持久层包括数据库中间件以及索引库,具体的,数据层中间件用于实现对系统中各数据的存储,索引库用于存储预设的索引关键词,从而实现对系统中业务消息的查询,本实施例对数据库中间件以及索引库的具体实现方式不做限定。
具体的,例如可以通过搜索服务查询索引库从而实现数据查询服务,还例如可以通过缓存服务调用数据库中间件,实现对系统中数据的存储,以实现数据持久化,基于该系统实现的消息发送服务、消息恢复服务、实时消息服务以及消息查询服务共同组成业务消息处理方法,下面结合具体的实施例对基于该系统的业务消息处理方法进行详细介绍。
在本实施例中,基于微服务架构实现的业务服务需要将服务系统进行拆分,得到订单中心、客户中心以及库存中心,其中订单中心为接收用户通过客户端提交的订单相关数据的服务中心,客户中心为存储及处理客户相关数据的服务中心,库存中心为存储及处理相关库存数据的服务中心,其中订单中心、客户中心以及库存中心均可以用于存储及处理服务系统中各微服务的相关数据。
具体的,订单中心有专门的订单数据库存储订单信息,其中客户中心也有专门的客户数据库存储客户的相关信息,库存中心也会有专门的库存数据库存储库存信息,若要同时对订单和客户进行操作,则会涉及到订单数据库和库存数据库,然而,在业务操作涉及多个数据库的操作时,难以保证各数据库之间业务消息的一致性,从而导致系统状态异常。
基于上述问题,本发明实施例提供一种业务消息处理方法,下面结合图2进行详细介绍,图2为本发明实施例提供的业务消息处理方法的流程图一,如图2所示,该方法应用于消息服务系统,消息服务系统可处理不同微服务的业务消息,包括:
S201、接收订单中心各微服务的发送的业务消息,其中,业务消息用于指示执行对应的业务操作。
在本实施例中,订单中心可用于处理各微服务的订单相关数据,具体的,订单服务中心接受用户通过客户端输入的订单相关数据,其次根据订单相关数据得到业务消息,其中业务消息用于指示执行对应的业务操作。
可选地,例如某业务消息用于指示为当前用户办理预设套餐等,或者用于指示为该用户对应的账号进行充值等,此处对业务消息及业务操作不做特别限定,本领域技术人员可以理解,业务操作以及对应的业务操作为根据用户具体的订单相关数据确定的。
其次,消息服务系统接收订单中心发送的业务消息,在本实施例中,各微服务均通过订单中心向消息服务系统发送业务消息,从而提高处理业务消息的便捷性。
S202、根据数据库对业务消息的存储结果,向订单中心发送业务消息的存储信息,存储信息包括存储结果。
进一步地,消息服务系统将业务消息存储至消息服务系统的数据库中,其中数据库例如可以为上述实施例介绍的数据库中间件,还例如可以为单独设置的消息服务系统的数据库等,此处对存储的具体实现方式不做限定。
其次,数据库返回对业务消息的存储结果,其中存储结果例如可以为存储成功,还例如可以为存储失败等,消息服务系统向订单中心发送业务消息的存储信息,其中存储信息包括存储结果。
进一步地,订单中心根据存储信息对业务消息进行处理,当存储结果为存储失败时,则确认放弃当前操作,当存储结果为存储成功时,订单中心执行该业务消息对应的业务操作,得到业务操作结果,其中业务操作结果例如可以操作成功,还例如可以为操作失败。
S203、根据订单中心发送的业务操作结果,确定业务消息的执行状态。
具体的,消息服务系统接收订单中心发送的业务操作结果,其次根据业务操作结果确定业务消息的执行状态,其中业务消息的执行状态用于指示当前业务操作的作业情况。
可选地,例如在业务操作结果为处理成功时,将业务消息的执行状态设置为待发送状态,若业务操作结果为处理失败,则将业务消息的执行状态设置为已废弃状态,其中业务消息具体的执行状态可以根据需要进行选择,此处对此不做特别限制。
S204、根据业务消息的执行状态,确定是否向客户中心发送业务消息。
进一步地,若业务消息的执行状态指示当前业务操作可以进一步进行处理,则确定向客户中心发送业务消息,客户中心根据业务消息完成对应业务操作的处理。
可选地,若业务消息的执行状态指示当前业务操作无法继续进行处理,则确定该业务操作失败,从而确定不向客户中心发送业务消息,其次可以在消息服务系统中删除该业务消息,或者定时查看该业务消息的执行状态是否可以更新等。
本发明实施例提供的业务消息处理方法,应用于消息服务系统,消息服务系统可处理不同微服务的业务消息,包括:接收订单中心各微服务发送的业务消息,其中,业务消息用于指示执行对应的业务操作;根据数据库对业务消息的存储结果,向订单中心发送业务消息的存储信息,存储信息包括存储结果;根据订单中心发送的业务操作结果,确定业务消息的执行状态;根据业务消息的执行状态,确定是否向客户中心发送业务消息。通过消息服务系统对订单中心中各微服务的业务消息的执行状态进行更新,从而使得业务操作涉及多个微服务的数据库的操作时,能够实现对业务消息的执行状态的统一设置,避免了业务消息的执行状态不一致导致的系统状态异常,提升系统状态的稳定性。
在上述实施例的基础上,下面结合图3对本发明实施例提供的业务消息处理方法进行进一步地详细介绍,图3为本发明实施例提供的业务消息处理方法的流程图二。如图3所示,该方法包括:
S301、接收订单中心各微服务发送的业务消息,其中,业务消息用于指示执行对应的业务操作。
S302、根据数据库对业务消息的存储结果,向订单中心发送业务消息的存储信息,存储信息包括存储结果。
具体的,S301、S302的实现方式与S201、S202的实现方式类似,此处不再赘述。
S303、若业务操作结果为处理成功,将业务消息的执行状态设置为待发送状态,确定向客户中心发送业务消息。
进一步地,接收订单中心发送的业务操作结果,根据该业务操作结果确定业务消息的执行状态,具体的,当业务操作结果为处理成功时,表明此时可以对业务进行进一步处理,则将业务消息的执行状态设置为待发送状态,并确定向客户中心发送业务消息。
S304、将业务消息加入消息队列,更新业务消息的执行状态为已发送状态。
在本实施例中,在消息服务系统中设置有消息队列,消息队列用于以队列的方式存储业务消息,其次客户中心或其他平台可以从消息队列中获取业务消息进行进一步处理,从而完成对应的业务操作,采用消息队列的方式存储业务消息,可以保证业务消息的有序处理,从而提升业务消息处理的效率。
进一步地,将处理待发送状态的消息加入消息队列,其次将业务消息的执行状态由待发送状态更新为已发送状态,表明该业务消息已经加入至消息队列中,本领域技术人员可以理解,更新后的业务消息的执行状态可以根据需求进行设定,此处并非唯一的实现方式,本实施例对此不做限定。
S305、将处于已发送状态的业务消息发送至客户中心,客户中心用于对业务消息进行消费处理。
进一步地,消息队列中的业务消息的执行状态均为已发送状态,从消息队列中将处于已发送状态的业务消息发送至客户中心,其中发送的具体方式例如可以为按照预设的固定周期进行发送,还例如可以在消息队列中存在业务消息时就立即发送,本实施例对此不做限定。
在本实施例中,客户中心用于对业务消息进行消费处理,具体的,客户中心监听并接收消息队列中的已发送状态的业务消息,进一步地,对该业务消息对应的业务操作进行业务处理,其中具体的业务处理为根据业务操作确定的处理,此处对此不做限定。
进一步地,客户中心对业务消息进行消费处理之后,得到对应的消费处理结果,其中消费处理结果可以为消费处理成功,还可以为消费处理失败,其次客户中心将该消费处理结果发送至客户中心。
S306、根据客户中心发送的消费处理结果,更新业务消息的执行状态。
具体的,若消费处理结果为消费成功,则表明该业务操作已经执行完成,
则将业务消息的执行状态设置为已完成状态;若消费处理结果为消费失败,则表明客户中心对该业务操作未执行完成,则保持业务消息的执行状态为已发送状态,以便后续再次进行处理。
S307、若业务操作结果为处理失败,将业务消息的执行状态设置为已废弃状态,确定不向客户中心发送业务消息。
可选地,若接收订单中心发送的业务操作结果,该业务操作结果为处理失败时,则表明在订单中心中无法正确处理该业务消息对应的业务操作,则将业务消息的执行状态设置为已废弃状态,表明不继续对该业务消息对应的业务操作进行进一步处理。
可选地,在将业务消息的执行状态设置为已废弃状态时,从数据库中删除该业务消息,避免无法处理的业务操作占用数据库,提升系统的操作效率。
进一步地,在业务消息的执行状态设置为已废弃状态时,表明不继续对该业务操作进行处理,则确定不向客户中心发送业务消息。
本发明实施例提供的业务消息处理方法,包括:接收订单中心各微服务发送的业务消息,其中,业务消息用于指示执行对应的业务操作。根据数据库对业务消息的存储结果,向订单中心发送业务消息的存储信息,存储信息包括存储结果。若业务操作结果为处理成功,将业务消息的执行状态设置为待发送状态,确定向客户中心发送业务消息。将业务消息加入消息队列,更新业务消息的执行状态为已发送状态。将处于已发送状态的业务消息发送至客户中心,客户中心用于对业务消息进行消费处理。根据客户中心发送的消费处理结果,更新业务消息的执行状态。若业务操作结果为处理失败,将业务消息的执行状态设置为已废弃状态,确定不向客户中心发送业务消息。通过根据业务操作结果执行不同的操作,实时更新业务消息的执行状态,从而能够实现在各微服务中业务消息的执行状态的统一设置,其次在业务操作结果为处理成功时,根据消息队列向客户中心发送业务消息,从而提高对业务消息的执行状态的处理效率,避免系统出现混乱。
在上述实施例的基础上,在订单中心的业务操作结果为处理成功时,业务消息的执行状态设置为待发送状态,表示该业务消息等待加入消息队列,其次在业务消息接入消息队列之后将业务消息的执行状态设置为已发送状态,表示该业务消息已经加入消息队列。
然而,由于系统故障或者延时等可能出现的问题,可能出现处于待发送状态的业务消息长时间未加入消息队列,以及可能出现处于已发送消息的业务消息长时间未发送至客户中心,从而导致业务消息的处理出现错误,基于此问题,本发明实施例提供的业务消息处理方法还按照预设周期对此类消息进行处理,下面结合图4进行详细说明,图4为本发明实施例提供的业务消息处理方法的流程图三。
如图4所示,该方法还包括:
S401、按照预设周期,获取处于待发送状态的业务消息和已发送状态的业务消息。
具体的,预设周期可以按照实际需求进行设定,预设周期设置的越小,获取到的业务消息越少,则对超期未处理的业务消息的处理效率也就越高,本实施例对预设周期不做具体限定。
S402、判断处于待发送状态的业务消息和已发送状态的业务消息的处理时长是否超过第一预设时长,若是,则执行S403,若否,则执行S402。
进一步地,获取待发送状态的业务消息和已发送状态的业务消息的处理时长,其中处理时长为该业务消息处于该执行状态起到当前时刻的时长,其次判断处理时长是否超过第一预设时长,第一预设时长的具体设置可以根据需要进行选择,例如可以针对待发送状态的业务消息设置一个预设时长,针对已发送状态的业务消息设置另一个预设时长,还例如可以仅设置一个预设时长等,本实施例对此不做限定。
进一步地,若确定处理时长未超过第一预设时长,则持续进行判断。
S403、将处于待发送状态的业务消息和已发送状态的业务消息加入消息队列,更新待发送状态的业务消息的执行状态为已发送状态。
可选地,若确定处于待发送状态的业务消息和已发送状态的业务消息的处理时长超过第一预设时长,则表明这些待发送状态的业务消息和已发送状态的业务消息已经超期未处理,则将处于待发送状态的业务消息和已发送状态的业务消息加入消息队列,从而能够实现对业务消息的及时处理,提高系统的稳定性。
进一步地,将处于待发送状态的业务消息加入消息队列之后,更新待发送状态的业务消息的执行状态为已发送状态。
本发明实施例提供的业务消息处理方法,包括:按照预设周期,获取处于待发送状态的业务消息和已发送状态的业务消息。
判断处于待发送状态的业务消息和已发送状态的业务消息的处理时长是否超过第一预设时长,若是,则将处于待发送状态的业务消息和已发送状态的业务消息加入消息队列,更新待发送状态的业务消息的执行状态为已发送状态。通过根据预设周期对超期未处理的处于待发送状态的业务消息和已发送状态的业务消息重新进行处理,从而避免了因系统故障导致的业务消息无法处理,提高系统的稳定性。
在上述实施例的基础上,本发明实施例提供的业务消息处理方法,在接收订单中心各微服务发送的业务消息之后,该方法还包括:
将业务消息的执行状态设置为待确认状态;
按照预设周期,判断处于待确认状态的业务消息的等待时长是否超过第二预设时长;
若是,则向订单中心发送请求信息,所述请求信息用于请求业务操作结果。
具体的,若接收订单中心各微服务发送的业务消息,则将业务消息的执行状态设置为待确认状态,表明消息服务系统已经接受到该业务消息。
进一步地,在按照预设周期确定处于待确认状态的业务消息的等待时长超过第二预设时长时,表明在第二预设时长的时间内未接受到订单中心发送的业务操作结果,则向订单中心发送请求信息,其中请求信息用于请求业务操作结果,通过根据预设周期对等待时长超过第二预设时长的待确认状态的业务消息重新进行处理,从而避免了对业务消息的遗漏,提高业务消息处理的有效性。
在上述实施例的基础上,下面结合图5对本发明实施例提供的业务消息的处理方法进行进一步地详细说明,图5为本发明实施例提供的业务消息处理方法的交互示意图。
如图5所示,首先订单中心接收用户通过客户端发送的订单信息,其次订单中心生成业务消息发送给消息服务系统。进一步地,消息服务系统存储业务消息并得到存储结果,更新业务消息的执行状态为待确认状态。
其次,根据数据库对业务消息的存储结果,向订单中心发送业务消息的存储信息,若存储结果为存储失败,则订单中心放弃业务操作,该业务消息对应的业务操作结束;若存储结果为存储成功,则订单中心执行业务操作,得到对应的业务操作结果。
进一步地,若业务操作结果为处理成功,将业务消息的执行状态设置为待发送状态,由实时消息服务将数据库中存储的处于待发送状态的业务消息添加到消息队列,并更新该业务消息的执行状态为已发送状态,其次客户中心监听消息队列并对消息队列中的业务消息进行消费处理,其次向消息服务系统发送消费处理结果。
进一步地,若消费处理结果为消费成功,则将业务消息的执行状态设置为已完成状态;则若消费处理结果为消费失败,保持业务消息的执行状态为已发送状态。
可选地,若业务操作结果为处理失败,则将业务消息的执行状态设置为已废弃状态。
其次,消息恢复系统按照预设周期,获取处于待发送状态的业务消息和已发送状态的业务消息,将处于待发送状态的业务消息和已发送状态的业务消息的处理时长超过第一预设时长的业务消息加入消息队列,并更新待发送状态的业务消息的执行状态为已发送状态。
可选地,消息恢复系统定时查看处于待确认状态并超时的业务消息,查询该业务消息对应的业务数据是否为处理成功。若业务消息是处理成功的状态,则设置业务消息的执行状态为待发送状态,若业务数据是处理失败的,将业务消息的执行状态设置为已废弃状态,并删除该条消息数据。
通过设置消息服务系统对各微服务对应的业务消息的执行状态统一进行处理,从而避免了微服务涉及多个数据库之间的操作时导致的业务消息不一致的问题。
图6为本发明实施例提供的业务消息处理装置的结构示意图一。如图6 所示,该业务消息处理装置60包括:接收模块601、发送模块602、执行状态确定模块603以及消息发送确定模块604。
接收模块601,用于接收订单中心各微服务发送的业务消息,其中,业务消息用于指示执行对应的业务操作;
发送模块602,用于根据数据库对业务消息的存储结果,向订单中心发送业务消息的存储信息,存储信息包括存储结果;
执行状态确定模块603,用于根据订单中心发送的业务操作结果,确定业务消息的执行状态;
消息发送确定模块604,用于根据业务消息的执行状态,确定是否向客户中心业务消息。
可选地,执行状态确定模块603具体用于:
若业务操作结果为处理成功,将业务消息的执行状态设置为待发送状态;若业务操作结果为处理失败,将业务消息的执行状态设置为已废弃状态;
消息发送确定模块604具体用于:
若业务消息的状态为待发送状态,则确定向客户中心发送业务消息;若业务消息的状态为已废弃状态,则确定不向客户中心发送业务消息。
可选地,消息发送确定模块604,还用于:
在将业务消息的状态设置为待发送状态之后,将业务消息加入消息队列,更新业务消息的执行状态为已发送状态;
将处于已发送状态的业务消息发送至客户中心,客户中心用于对业务消息进行消费处理;
根据客户中心发送的消费处理结果,更新业务消息的执行状态。
可选地,消息发送确定模块604具体用于:
若消费处理结果为消费成功,将业务消息的执行状态设置为已完成状态;若消费处理结果为消费失败,保持业务消息的执行状态为已发送状态。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图7为本发明实施例提供的业务消息处理装置的结构示意图二。如图7 所示,本实施例在图6实施例的基础上,还包括:获取模块704。
可选地,获取模块704,用于按照预设周期,获取处于待发送状态的业务消息和已发送状态的业务消息;
判断处于待发送状态的业务消息和已发送状态的业务消息的处理时长是否超过第一预设时长;
若是,将处于待发送状态的业务消息和已发送状态的业务消息加入消息队列,更新待发送状态的业务消息的执行状态为已发送状态。
可选地,执行状态确定模块703还用于:
在接收订单中心各微服务发送的业务消息之后将业务消息的执行状态设置为待确认状态;
按照预设周期,判断处于待确认状态的业务消息的等待时长是否超过第二预设时长;
若是,则向订单中心发送请求信息,请求信息用于请求业务操作结果。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图8为本发明实施例提供的业务消息处理设备的硬件结构示意图,如图 8所示,本实施例的业务消息处理设备80包括:处理器801以及存储器802;其中
存储器802,用于存储计算机执行指令;
处理器801,用于执行存储器存储的计算机执行指令,以实现上述实施例中业务消息处理方法所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器802既可以是独立的,也可以跟处理器801集成在一起。
当存储器802独立设置时,该业务消息处理设备还包括总线803,用于连接存储器802和处理器801。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上业务消息处理设备所执行的业务消息处理方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等) 或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器 (PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种业务消息处理方法,其特征在于,应用于消息服务系统,所述消息服务系统可处理不同微服务的业务消息,包括:
接收订单中心各所述微服务发送的业务消息,其中,所述业务消息用于指示执行对应的业务操作;
根据数据库对所述业务消息的存储结果,向所述订单中心发送业务消息的存储信息,所述存储信息包括所述存储结果;
根据所述订单中心发送的业务操作结果,确定所述业务消息的执行状态;
根据所述业务消息的执行状态,确定是否向客户中心发送所述业务消息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述订单中心发送的业务操作结果,确定所述业务消息的执行状态,包括:
若所述业务操作结果为处理成功,将所述业务消息的执行状态设置为待发送状态;若所述业务操作结果为处理失败,将所述业务消息的执行状态设置为已废弃状态;
根据所述业务消息的执行状态,确定是否向客户中心发送所述业务消息,包括:
若所述业务消息的状态为待发送状态,则确定向客户中心发送所述业务消息;若所述业务消息的状态为已废弃状态,则确定不向客户中心发送所述业务消息。
3.根据权利要求2所述的方法,其特征在于,所述将所述业务消息的状态设置为待发送状态之后,所述方法还包括:
将所述业务消息加入消息队列,更新所述业务消息的执行状态为已发送状态;
将处于已发送状态的业务消息发送至客户中心,所述客户中心用于对业务消息进行消费处理;
根据所述客户中心发送的消费处理结果,更新所述业务消息的执行状态。
4.根据权利要求3所述的方法,其特征在于,所述根据所述客户中心发送的消费处理结果,更新所述业务消息的执行状态,包括:
若所述消费处理结果为消费成功,将所述业务消息的执行状态设置为已完成状态;若所述消费处理结果为消费失败,保持所述业务消息的执行状态为已发送状态。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
按照预设周期,获取处于待发送状态的业务消息和已发送状态的业务消息;
判断所述处于待发送状态的业务消息和已发送状态的业务消息的处理时长是否超过第一预设时长;
若是,将所述处于待发送状态的业务消息和已发送状态的业务消息加入消息队列,更新所述待发送状态的业务消息的执行状态为已发送状态。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述接收订单中心各所述微服务发送的业务消息之后,所述方法还包括:
将所述业务消息的执行状态设置为待确认状态;
按照预设周期,判断处于待确认状态的业务消息的等待时长是否超过第二预设时长;
若是,则向所述订单中心发送请求信息,所述请求信息用于请求业务操作结果。
7.一种业务消息处理装置,其特征在于,应用于消息服务系统,所述消息服务系统可处理不同微服务的业务消息,包括:
接收模块,用于接收订单中心各所述微服务发送的业务消息,其中,所述业务消息用于指示执行对应的业务操作;
发送模块,用于根据数据库对所述业务消息的存储结果,向所述订单中心发送业务消息的存储信息,所述存储信息包括所述存储结果;
执行状态确定模块,用于根据所述订单中心发送的业务操作结果,确定所述业务消息的执行状态;
消息发送确定模块,用于根据所述业务消息的执行状态,确定是否向客户中心所述业务消息。
8.一种业务消息处理设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1至6中任一所述的方法。
9.一种业务消息处理系统,其特征在于,包括:接入层、服务层以及接出层,
所述接入层用于客户端的接入;
所述服务层用于执行如上权利要求1至6任一项所述的方法;
所述接出层用于外部系统的接入。
10.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至6中任一所述的方法。
CN201910260739.9A 2019-04-02 2019-04-02 业务消息处理方法及装置 Pending CN110049113A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910260739.9A CN110049113A (zh) 2019-04-02 2019-04-02 业务消息处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910260739.9A CN110049113A (zh) 2019-04-02 2019-04-02 业务消息处理方法及装置

Publications (1)

Publication Number Publication Date
CN110049113A true CN110049113A (zh) 2019-07-23

Family

ID=67275825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910260739.9A Pending CN110049113A (zh) 2019-04-02 2019-04-02 业务消息处理方法及装置

Country Status (1)

Country Link
CN (1) CN110049113A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110727523A (zh) * 2019-09-30 2020-01-24 歌尔股份有限公司 业务请求的处理方法、处理装置及可读存储介质
CN110888893A (zh) * 2019-11-18 2020-03-17 湖南御家科技有限公司 一种基于微服务电商系统的订单处理方法
CN110941622A (zh) * 2019-10-31 2020-03-31 京东数字科技控股有限公司 一种数据处理方法及装置
CN111078425A (zh) * 2019-11-28 2020-04-28 东软集团股份有限公司 消息处理方法、装置、存储介质及电子设备
CN111371892A (zh) * 2020-03-05 2020-07-03 中国银行股份有限公司 高并发分布式消息推送系统及方法
CN112184387A (zh) * 2020-10-12 2021-01-05 广州宸祺出行科技有限公司 一种保证司机状态和订单状态变化一致性的方法和系统
CN112463407A (zh) * 2020-11-25 2021-03-09 北京神州数字科技有限公司 一种消息传输及消费方法
CN113378041A (zh) * 2021-05-24 2021-09-10 北京京东振世信息技术有限公司 提示信息推送方法、装置、电子设备和计算机可读介质
CN113535421A (zh) * 2020-04-20 2021-10-22 北京沃东天骏信息技术有限公司 一种业务消息处理方法和装置
CN113794620A (zh) * 2021-07-27 2021-12-14 奇安信科技集团股份有限公司 消息发送方法、装置、设备、系统与存储介质
CN114253748A (zh) * 2021-12-27 2022-03-29 北京宇信科技集团股份有限公司 一种消息处理系统和消息处理方法
CN114979187A (zh) * 2022-05-17 2022-08-30 北京京东拓先科技有限公司 一种数据处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130267208A1 (en) * 2012-04-04 2013-10-10 Samsung Electronics Co., Ltd. System, terminal, and method for operating a communication service function
CN106383737A (zh) * 2016-09-09 2017-02-08 浪潮软件股份有限公司 一种分布式事务处理方法
CN106909467A (zh) * 2017-02-28 2017-06-30 郑州云海信息技术有限公司 一种基于微服务架构的分布式事务处理方法
CN107332906A (zh) * 2017-06-30 2017-11-07 郑州云海信息技术有限公司 分布式系统事务管理方法及装置
CN108153598A (zh) * 2017-12-25 2018-06-12 东软集团股份有限公司 基于微服务架构的数据一致性方法以及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130267208A1 (en) * 2012-04-04 2013-10-10 Samsung Electronics Co., Ltd. System, terminal, and method for operating a communication service function
CN106383737A (zh) * 2016-09-09 2017-02-08 浪潮软件股份有限公司 一种分布式事务处理方法
CN106909467A (zh) * 2017-02-28 2017-06-30 郑州云海信息技术有限公司 一种基于微服务架构的分布式事务处理方法
CN107332906A (zh) * 2017-06-30 2017-11-07 郑州云海信息技术有限公司 分布式系统事务管理方法及装置
CN108153598A (zh) * 2017-12-25 2018-06-12 东软集团股份有限公司 基于微服务架构的数据一致性方法以及装置

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110727523A (zh) * 2019-09-30 2020-01-24 歌尔股份有限公司 业务请求的处理方法、处理装置及可读存储介质
CN110727523B (zh) * 2019-09-30 2023-08-29 歌尔股份有限公司 业务请求的处理方法、处理装置及可读存储介质
CN110941622A (zh) * 2019-10-31 2020-03-31 京东数字科技控股有限公司 一种数据处理方法及装置
CN110888893A (zh) * 2019-11-18 2020-03-17 湖南御家科技有限公司 一种基于微服务电商系统的订单处理方法
CN111078425A (zh) * 2019-11-28 2020-04-28 东软集团股份有限公司 消息处理方法、装置、存储介质及电子设备
CN111078425B (zh) * 2019-11-28 2023-12-15 东软集团股份有限公司 消息处理方法、装置、存储介质及电子设备
CN111371892A (zh) * 2020-03-05 2020-07-03 中国银行股份有限公司 高并发分布式消息推送系统及方法
CN113535421A (zh) * 2020-04-20 2021-10-22 北京沃东天骏信息技术有限公司 一种业务消息处理方法和装置
CN112184387A (zh) * 2020-10-12 2021-01-05 广州宸祺出行科技有限公司 一种保证司机状态和订单状态变化一致性的方法和系统
CN112463407A (zh) * 2020-11-25 2021-03-09 北京神州数字科技有限公司 一种消息传输及消费方法
CN113378041A (zh) * 2021-05-24 2021-09-10 北京京东振世信息技术有限公司 提示信息推送方法、装置、电子设备和计算机可读介质
CN113378041B (zh) * 2021-05-24 2024-04-16 北京京东振世信息技术有限公司 提示信息推送方法、装置、电子设备和计算机可读介质
CN113794620A (zh) * 2021-07-27 2021-12-14 奇安信科技集团股份有限公司 消息发送方法、装置、设备、系统与存储介质
CN113794620B (zh) * 2021-07-27 2023-07-25 奇安信科技集团股份有限公司 消息发送方法、装置、设备、系统与存储介质
CN114253748A (zh) * 2021-12-27 2022-03-29 北京宇信科技集团股份有限公司 一种消息处理系统和消息处理方法
CN114253748B (zh) * 2021-12-27 2023-01-31 北京宇信科技集团股份有限公司 一种消息处理系统和消息处理方法
CN114979187A (zh) * 2022-05-17 2022-08-30 北京京东拓先科技有限公司 一种数据处理方法及装置
CN114979187B (zh) * 2022-05-17 2024-05-17 北京京东拓先科技有限公司 一种数据处理方法及装置

Similar Documents

Publication Publication Date Title
CN110049113A (zh) 业务消息处理方法及装置
CN109491801B (zh) 微服务访问调度方法、装置、介质及电子设备
CN112788074B (zh) 数据发送方法、处理方法、接收方法及其设备、存储介质
CN109076024A (zh) 数据控制方法及终端设备
CN104579905A (zh) 消息传递方法和系统及mom服务器、接收端
CN108418874A (zh) 跨广域网数据回导方法、装置、计算机设备及存储介质
CN112068973A (zh) 策略模式的异步信息处理方法、装置、服务器和存储介质
US7133913B2 (en) Information routing
CN115439250A (zh) 一种交易请求的处理方法及装置、存储介质、电子装置
CN113364857A (zh) 业务数据的处理方法、装置和服务器
CN113347238A (zh) 基于区块链的消息分区方法及系统、设备、存储介质
CN110389976A (zh) 一种多接口数据的调度方法和装置
CN110889765B (zh) 交易信息报送方法及装置
CN111209333B (zh) 数据更新方法、装置、终端及存储介质
CN112988800A (zh) 一种基于分布式环境的数据处理方法和装置
CN115587119A (zh) 一种数据库查询方法、装置、电子设备及存储介质
CN110336847B (zh) 支付报文传输系统及方法
CN109688174A (zh) 一种基于多代理商服务的虚拟业务实现方法和装置
CN114785631B (zh) 通信协议栈复用方法、通信方法、计算机设备及介质
CN112491508A (zh) 基于传输进程自适应的数据传输方法及装置
CN111752911A (zh) 一种基于Flume的数据传输方法、系统、终端及存储介质
CN112511277B (zh) 数据处理方法及装置
CN116760741B (zh) 一种数据状态监控方法、装置、设备及介质
CN112162868B (zh) 应用于集群处理的数据通信方法、装置及存储介质
CN114491674A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190723