CN109687994A - 一种消息处理方法、***、装置及设备 - Google Patents

一种消息处理方法、***、装置及设备 Download PDF

Info

Publication number
CN109687994A
CN109687994A CN201811452531.9A CN201811452531A CN109687994A CN 109687994 A CN109687994 A CN 109687994A CN 201811452531 A CN201811452531 A CN 201811452531A CN 109687994 A CN109687994 A CN 109687994A
Authority
CN
China
Prior art keywords
message
log recording
log
information
consumption
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
CN201811452531.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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201811452531.9A priority Critical patent/CN109687994A/zh
Publication of CN109687994A publication Critical patent/CN109687994A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种消息处理方法、***、装置及设备,其中,该方法可以应用于消息服务端,包括:确定关于消息生产阶段的第一日志记录,确定关于消息存储阶段的第二日志记录,以及确定关于消息消费阶段的第三日志记录;将第一日志记录、第二日志记录以及第三日志记录存储至消息服务端的日志文件中。本发明实施例提供的消息处理方法、***、装置及设备,能够记录消息生命周期中的信息,使得能够根据记录的这些信息,更加方便地在排障过程中进行排障,简化排障过程。

Description

一种消息处理方法、***、装置及设备
技术领域
本发明涉及互联网技术领域,特别是涉及一种消息处理方法、***、装置及设备。
背景技术
消息***因其传统的功能特点:***间调用的异步解耦、减低***的复杂度、流量的削峰填谷,便于业务弹性伸缩、易于实现最终一致性***,避免分布式事务对性能的影响、支持P2P(点对点的调用)和pub/sub(发布/订阅)模式、减少RPC(Remote ProcedureCall Protocol,远程过程调用协议)的多次调用)等。目前已经广泛使用于互联网企业,各类业务***都有它的身影。另外随着业务的快速增长,企业内部需要大量数据的同步传输,流式计算等应用都需要非常稳定高效的传输通道给予支持,消息***在其中充当了重要的角色。
消息***中对消息的处理过程,一般会涉及多个处理阶段,如消息生产阶段、消息消费阶段;对应地就会涉及多个处理方,如消息生产阶段中的生产方,消息消费阶段中的消费方,以及消息***的服务端等等。如此,会使得消息处理过程出现故障时的排障过程比较复杂。
发明内容
本发明实施例的目的在于提供一种消息处理方法、***、装置及设备,以实现更加方便地在排障过程中进行排障,简化排障过程。具体技术方案如下:
第一方面,本发明实施例提供了一种消息处理方法,应用于消息服务端,包括:
确定关于消息生产阶段的第一日志记录,确定关于所述消息存储阶段的第二日志记录,以及确定关于所述消息消费阶段的第三日志记录;
将所述第一日志记录、所述第二日志记录以及所述第三日志记录存储至所述消息服务端的日志文件中。
可选的,所述确定关于消息生产阶段的第一日志记录,包括:
接收消息生产端发送的消息请求;所述消息请求包括消息生产端信息、发送所述消息的发送时间;
根据所述消息请求,生成所述第一消息日志;所述第一消息日志包括所述消息的消息标识、所述消息生产端信息、所述发送时间;
所述确定关于所述消息存储阶段的第二日志记录,包括:
保存所述消息请求,并生成所述第二消息日志;其中,所述第二消息日志包括所述消息标识和保存所述消息的存储时间;
所述确定关于所述消息消费阶段的第三日志记录,包括:
接收消息消费端发送的关于所述消息消费情况的消费信息,所述消费信息包括所述消息的消费状态和所述消息消费的耗时;
生成第三日志记录,所述第三日志记录包括所述消息标识、所述消费状态和所述耗时。
可选的,所述第一日志记录、所述第二日志记录以及所述第三日志记录均包括所述消息的消息标识;
在所述将所述第一日志记录、所述第二日志记录以及所述第三日志记录存储至所述消息服务端的日志文件中之后,所述方法还包括:
根据所述消息的消息标识,关联所述第一日志记录、第二日志记录和第三日志记录;
展示关联后的所述第一日志记录、所述第二日志记录以及所述第三日志记录。
第二方面,本发明实施例提供了一种消息处理***,包括:消息生产端、消息服务端、消息消费端和搜索服务器Elasticsearch;
所述消息生产端,用于向所述消息服务端发送消息请求,所述消息请求包括消息生产端信息、发送所述消息的发送时间;
所述消息消费端,用于向所述消息服务端发送关于所述消息消费情况的消费信息,所述消费信息包括所述消息的消费状态和所述消息消费的耗时;
所述消息服务端,用于接收所述消息请求,根据所述消息请求,确定关于消息生产阶段的第一日志记录,确定关于所述消息存储阶段的第二日志记录,以及接收所述消费信息,根据所述消费信息确定关于所述消息消费阶段的第三日志记录;将所述第一日志记录、所述第二日志记录以及所述第三日志记录存储至所述消息服务端的日志文件中;将所述日志文件发送至所述Elasticsearch;
所述Elasticsearch,用于接收所述日志文件;展示所述第一日志记录、所述第二日志记录以及所述第三日志记录。
可选的,所述消息服务端,具体用于通过预先封装的软件开发工具包SDK,接收所述消息生产端发送的所述消息请求;通过预先封装的软件开发工具包SDK,接收所述消息消费端发送的所述消费信息。
可选的,所述第一日志记录、所述第二日志记录以及所述第三日志记录均包括所述消息的消息标识;
所述Elasticsearch,具体用于根据所述消息的消息标识,关联所述第一日志记录、第二日志记录和第三日志记录;通过日志分析***ELK,展示关联后的所述第一日志记录、所述第二日志记录以及所述第三日志记录。
第三方面,本发明实施例提供了一种消息处理装置,应用于消息服务端,包括:
确定模块,用于确定关于消息生产阶段的第一日志记录,确定关于所述消息存储阶段的第二日志记录,以及确定关于所述消息消费阶段的第三日志记录;
存储模块,用于将所述第一日志记录、所述第二日志记录以及所述第三日志记录存储至所述消息服务端的日志文件中。
可选的,所述确定模块,包括:
第一接收子模块,用于接收消息生产端发送的消息请求;所述消息请求包括消息生产端信息、发送所述消息的发送时间;
第一生成子模块,用于根据所述消息请求,生成所述第一消息日志;所述第一消息日志包括所述消息的消息标识、所述消息生产端信息、所述发送时间;
保存子模块,用于保存所述消息请求;
第二生成子模块,用于生成所述第二消息日志;其中,所述第二消息日志包括所述消息标识和保存所述消息的存储时间;
第二接收子模块,用于接收消息消费端发送的关于所述消息消费情况的消费信息,所述消费信息包括所述消息的消费状态和所述消息消费的耗时;
第三生成子模块,用于生成第三日志记录,所述第三日志记录包括所述消息标识、所述消费状态和所述耗时。
可选的,所述第一日志记录、所述第二日志记录以及所述第三日志记录均包括所述消息的消息标识;
所述装置还包括:
关联模块,用于根据所述消息的消息标识,关联所述第一日志记录、第二日志记录和第三日志记录;
展示模块,用于展示关联后的所述第一日志记录、所述第二日志记录以及所述第三日志记录。
第四方面,本发明实施例提供了一种消息处理设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现第一方面所述的方法步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面所述的方法步骤。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面所述方法的方法步骤。
本发明实施例提供的消息处理方法、***、装置及设备,可以确定关于消息生产阶段的第一日志记录,确定关于消息存储阶段的第二日志记录,以及确定关于消息消费阶段的第三日志记录;将第一日志记录、第二日志记录以及第三日志记录存储至消息服务端的日志文件中。本发明实施例中,确定关于消息生产、存储以及消费过程中的日志记录,并将该日志记录存储至日志文件中。如此,能够记录消息生命周期中的信息,使得能够根据记录的这些信息,更加方便地在排障过程中进行排障,简化排障过程。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的消息处理方法的一种流程图;
图2为本发明实施例提供的消息处理方法的另一种流程图;
图3为本发明实施例提供的消息处理方法的另一种流程图;
图4为本发明实施例提供的消息处理方法的另一种流程图;
图5为本发明实施例提供的消息处理***的流程图;
图6为本发明实施例提供的展示效果示意图;
图7为本发明实施例提供的消息处理装置的一种结构示意图;
图8为本发明实施例提供的消息处理装置的另一种结构示意图;
图9为本发明实施例提供的消息处理设备的一种结构示意图;
图10为本发明实施例提供的消息处理设备的另一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
消息***中对消息的处理过程,一般会涉及多个处理阶段,如消息生产阶段、消息消费阶段;对应地就会涉及多个处理方,如消息生产阶段中的生产方,消息消费阶段中的消费方,以及消息***的服务端等等。
而已知的消息***没有专门针对消息轨迹的,已知的消息***中不会记录消息处理过程中的轨迹信息,如此会使得无法查看消息生产过程中生产阶段、存储阶段以及消费阶段整个生命周期的轨迹过程,也没有办法确定各个阶段的耗时情况等;且当消息处理过程中出现问题时,无法定位问题,如当消息消费端消费失败时,没有办法知道是哪个阶段出现了问题。如此,会使得消息处理过程出现故障时的排障过程比较复杂。
本发明实施例提供了一种消息处理方法,通过确定确定关于消息生产阶段的第一日志记录,确定关于消息存储阶段的第二日志记录,以及确定关于消息消费阶段的第三日志记录。将第一日志记录、第二日志记录以及第三日志记录存储至消息服务端的日志文件中。即在消息处理过程中的各个阶段,记录消息在该阶段的相关信息,如消息在生产阶段的消息生产端信息,存储阶段的存储时间,消费阶段的消费耗时等信息。如此,能够记录消息生命周期中的信息,使得能够根据记录的这些信息,更加方便地在排障过程中进行排障,简化排障过程。如此,可以使业务等了解消息的各阶段状态,是否被生产、存储和消费;了解消息各阶段的处理方,方便定位到机器进一步排查;了解各个阶段的处理速度,及时发现潜在的性能瓶颈等等。且可以将存储的消息各个阶段的相关信息进行展示,如此可以直观地查看消息生命周期的轨迹过程。
下面对本发明实施例提供的消息处理方法进行详细说明。
本发明实施例提供了一种消息处理方法,可以应用于消息服务端,如Broker。
具体地,本发明实施例提供的消息处理方法,如图1所示,可以包括:
S101,确定关于消息生产阶段的第一日志记录,确定关于消息存储阶段的第二日志记录,以及确定关于消息消费阶段的第三日志记录。
消息***中对消息处理的过程可以包括:生产阶段、存储阶段以及消费阶段。
为了清楚地了解消息处理过程中各个阶段的轨迹,如消息的消息生产端、Broke存储消息的时间、消息消费端消费完成的时间等等。
一种可选的实施例中,确定关于消息生产阶段的第一日志记录,如图2所示,包括:
S1011,接收消息生产端发送的消息请求。
消息请求可以包括消息生产端信息、发送消息的发送时间;另一种可实现方式中,消息请求还可以包括消息的消息内容。
具体地,可以通过预先封装的软件开发工具包(Software Development Kit,SDK),接收消息生产端发送的消息请求。
Broke预先封装好SDK,从消息生产端收集生产阶段相关的信息。即消息生产端无需知道要通过哪个端口发送等信息,可以直接调用封装好的该SDK向消息服务端发送消息请求,消息服务端可以通过该SDK接收该消息请求,如此,使该收集过程对应消息生产端来说是透明的。
S1012,根据消息请求,生成第一消息日志。
第一消息日志可以包括消息的消息标识、消息生产端信息、发送时间等。
一种可选的实现方式中,在接收到消息请求时,还可以记录接收到消息请求的接收时间,如此,第一消息日志中还可以包括消息服务端接收到该消息请求的接收时间。
确定关于消息存储阶段的第二日志记录,包括:
保存消息请求,并生成第二消息日志。
其中,第二消息日志可以包括消息标识和保存消息的存储时间等。
消息服务端存储该消息请求,可以记录存储开始的时间、存储结束的时间、在存储完成后,可以将记录的存储开始的时间、存储结束的时间写入第二消息日志中;同时,还可以计算存储从开始到结束经历的时间长,并将该时间长写入第二消息日志中,以记录消息存储过程中的耗时情况。
确定关于消息消费阶段的第三日志记录,如图3所示,可以包括:
S1013,接收消息消费端发送的关于消息消费情况的消费信息。
消费信息可以包括消息的消费状态和消息消费的耗时等。
消息被从消息服务端分发到消息消费端,且消息消费端在完成对消息的消费时,向消息服务端方确认信息,如ACK信息。
消息消费端向消息服务端发送消费结果投递,且在完成对消息的消费时,向消息服务端发送关于消息消费情况的消费信息。如消息消费端标识、消费完成的时间、以及不同时间点上消息的消费状态等等。
具体地,通过预先封装的软件开发工具包SDK,接收消息消费端发送的消费信息。
本发明实施例中消息服务端通过封装SDK,将消息生产、存储以及消费3个阶段的相关信息,收集并存储到服务端日志,如消息服务端的日志文件中,对消息在各个阶段中相关信息的统计以及收集,所有的日志记录全部由Broker服务端,即消息服务端完成,对客户端,如消息生产端和消息消费端等完全透明。如此使得客户端,如消息生产端和消息消费端等接入消息服务端服务时更加方便。
S1014,生成第三日志记录。
第三日志记录可以包括消息标识、消费状态和耗时等。
消息服务端在接收到消息消费端发送的消费信息时,生成消费信息对应的日志记录。
S102,将第一日志记录、第二日志记录以及第三日志记录存储至消息服务端的日志文件中。
将关于消息生产阶段的第一日志记录,关于消息存储阶段的第二日志记录,以及关于消息消费阶段的第三日志记录,存储在消息服务端的日志文件中。如此,可以实现对消息生命周期各个阶段的轨迹信息的记录。
本发明实施例中,确定关于消息生产、存储以及消费过程中的日志记录,并将该日志记录存储至日志文件中。如此,能够记录消息生命周期中的信息,使得能够根据记录的这些信息,更加方便地在排障过程中进行排障,简化排障过程。
在上述实施例的基础上,本发明实施例一种可选的实施中,第一日志记录、第二日志记录以及第三日志记录均包括消息的消息标识。在步骤S102:将第一日志记录、第二日志记录以及第三日志记录存储至消息服务端的日志文件中之后,本发明实施例提供的消息处理方法还可以包括:
展示第一日志记录、第二日志记录以及第三日志记录。
如可以将第一日志记录、第二日志记录以及第三日志记录以列表的形式展示。
具体地,可以根据消息的消息标识,关联第一日志记录、第二日志记录和第三日志记录;展示关联后的第一日志记录、第二日志记录以及第三日志记录。
第一日志记录、第二日志记录以及第三日志记录中均包括消息标识,可以将该消息标识作为关键字,将该消息标识对应的各个日志记录展示出来。如此,使得可以通过该消息标识进行查询,可以快速地查询到该消息标识对应的消息各个阶段的日志记录。
在上述实施例的基础上,本发明实施例另一种可选的实施中,在步骤S102:将第一日志记录、第二日志记录以及第三日志记录存储至消息服务端的日志文件中之后,本发明实施例提供的消息处理方法还可以包括:
将日志文件发送至搜索服务器Elasticsearch,以使Elasticsearch展示第一日志记录、第二日志记录以及第三日志记录。
具体地,如图4所示,本发明实施例提供了一种消息处理方法,可以应用于搜索服务器Elasticsearch,包括:
S401,接收消息服务端发送的日志文件,日志文件包括预先存储的第一日志记录、第二日志记录以及第三日志记录。
其中,第一日志记录是关于消息生产阶段的日志记录;第二日志记录是关于消息存储阶段的日志记录;第三日志记录是关于消息消费阶段的日志记录。
S402,展示第一日志记录、第二日志记录以及第三日志记录。
Elasticsearch也可以理解为第三方存储介质。
第一日志记录、第二日志记录以及第三日志记录均包括消息的消息标识。
根据消息的消息标识,关联第一日志记录、第二日志记录和第三日志记录;通过日志分析***(ElasticSearch,Logstash,Kibana,ELK),展示关联后的第一日志记录、第二日志记录以及第三日志记录。
通过消息标识,如MessageID,或者关键字Key,进行前端渲染,并将渲染后的页面展现给业务。具体地,本发明实施例不对前端渲染的方式作限制,前端渲染可以包括任何可以实现页面渲染的方式均在本发明实施例保护范围内。
如此,通过第三方存储介质,如Elasticsearch展示消息各个阶段的相关信息,一方面使得可以通过MessageID,或者关键字Key进行关联查询,实现已有技术中没有的消息轨迹功能。另一方面,还可以减轻消息服务端的处理压力。
本发明实施例提供了一种消息处理***,如图5所示,可以包括:消息生产端、消息服务端、消息消费端和搜索服务器Elasticsearch。
所述消息生产端,用于向所述消息服务端发送消息请求,所述消息请求包括消息生产端信息、发送所述消息的发送时间。
所述消息消费端,用于向所述消息服务端发送关于所述消息消费情况的消费信息,所述消费信息包括所述消息的消费状态和所述消息消费的耗时。
所述消息服务端,用于接收所述消息请求,根据所述消息请求,确定关于消息生产阶段的第一日志记录,确定关于所述消息存储阶段的第二日志记录,以及接收所述消费信息,根据所述消费信息确定关于所述消息消费阶段的第三日志记录;将所述第一日志记录、所述第二日志记录以及所述第三日志记录存储至所述消息服务端的日志文件中;将所述日志文件发送至所述Elasticsearch。
所述Elasticsearch,用于接收所述日志文件;展示所述第一日志记录、所述第二日志记录以及所述第三日志记录。
可选的,所述消息服务端,具体用于通过预先封装的软件开发工具包SDK,接收所述消息生产端发送的所述消息请求;通过预先封装的软件开发工具包SDK,接收所述消息消费端发送的所述消费信息。
可选的,所述第一日志记录、所述第二日志记录以及所述第三日志记录均包括所述消息的消息标识;
所述Elasticsearch,具体用于根据所述消息的消息标识,关联所述第一日志记录、第二日志记录和第三日志记录;通过日志分析***ELK,展示关联后的所述第一日志记录、所述第二日志记录以及所述第三日志记录。
本发明实施例中,确定关于消息生产、存储以及消费过程中的日志记录,并将该日志记录存储至日志文件中。如此,能够记录消息生命周期中的信息,使得能够根据记录的这些信息,更加方便地在排障过程中进行排障,简化排障过程。
需要说明的是,本发明实施例提供的消息处理***是应用上述消息处理方法的***,则上述消息处理方法的所有实施例均适用于该***,且均能达到相同或相似的有益效果。
本发明实施例还提供了一个应用于上述消息处理***的具体实施例。
消息***中包括:消息生产端、消息服务端、消息消费端以及Elasticsearch,即ES。本发明实施例中,消息服务端包括Broker。
消息从消息生产端发送到消息服务端,即Broker,Broker完成对消息的存储。
消息生产端将消息在生产阶段的相关信息附着到消息Header,发送消息请求,消息Header中可以包括消息的消息生产端信息,发送的时间戳,即发送消息的发送时间。
Broker收到消息后,会立刻打印一条日志,记录消息达到的时间、消息的MessageID,记录在日志文件,如server.log中。
Broker存储消息后,将消息生产阶段和消息存储阶段两部分信息分别打印到日志。消息在存储的过程中,将消息存储需要的耗时情况按照消息的MessageID存入。即生成消息生产阶段的第一日志记录和消息存储阶段的第二日志记录存储至消息服务端的日志文件中。
消息被从Broker端,分发到消息消费端,同时发送确认ACK信息。
Broker接收到消费结果投递,消息消费完成后,会再向Broker发送消息消费端端的具体信息,如消费的状态、消费的耗时情况等消费信息。Broker接收到消息消费端的消息信息反馈后,生成消费信息对应的第三日志记录,并将第三日志记录存储至Broker端的日志文件中。
Broker将日志文件发送至ES,即将日志文件中包括的日志记录写入ES。具体地,通过ELK工具,将消息服务端的各个日志记录,如server.log写入ES,并通过统一的MessageID,或者Key,进行前端渲染并展现给业务。
一种可选的实施例中,通过ES展示给业务的页面如图6所示。
具体地,展示消息生产阶段、存储阶段以及消费阶段的相关信息。
如生产阶段对应的信息:生产组:测试生产组A;地址:10.1.2.33;生产时间:2018/05/16 13:14:15.344。存储阶段对应的信息:Broker名称:Broker-4;地址:192.168.1.1;存储时间:2018/05/16 13:14:15.400;存储耗时:0ms;Key:ORDER2018X:Tag:XXX。消费阶段对应的信息:消费组:测试消费组A;状态:成功;第1次:状态:消费成功;地址:10.1.2.34;消费时间:2018/05/1613:14:20.100;处理耗时:30ms。消费组:测试消费组B;状态:成功;第1次:状态:消费失败;地址:10.1.2.35;消费时间:2018/05/16 13:14:20.100;处理耗时:200ms;第2次:状态:消费成功;地址:10.1.2.35;消费时间:2018/05/1613:14:25.100;处理耗时:10ms。
本发明实施例中通过添加header,记录日志的方式,记录消息的整个过程,实现消息处理过程的轨迹信息,且日志通过Broker统一记录。对客户端,如消息生产端、消息消费端等完全透明,使得客户端接入线上服务非常方便,业务的接入成本几乎为0,做到了完全透明。且通过MessageID跟踪唯一的消息,通过ELK进行页面渲染,展示消息生命周期过程的轨迹信息。可以通过MessageID进行关联查询,极大地方便业务的排障功能。
本发明实施例提供了一种消息处理装置,应用于消息服务端,如图7所示,包括:
确定模块701,用于确定关于消息生产阶段的第一日志记录,确定关于消息存储阶段的第二日志记录,以及确定关于消息消费阶段的第三日志记录;
存储模块702,用于将第一日志记录、第二日志记录以及第三日志记录存储至消息服务端的日志文件中。
本发明实施例中,确定关于消息生产、存储以及消费过程中的日志记录,并将该日志记录存储至日志文件中。如此,能够记录消息生命周期中的信息,使得能够根据记录的这些信息,更加方便地在排障过程中进行排障,简化排障过程。
可选的,确定模块701,包括:
第一接收子模块,用于接收消息生产端发送的消息请求;消息请求包括消息生产端信息、发送消息的发送时间;
第一生成子模块,用于根据消息请求,生成第一消息日志;第一消息日志包括消息的消息标识、消息生产端信息、发送时间;
保存子模块,用于保存消息请求;
第二生成子模块,用于生成第二消息日志;其中,第二消息日志包括消息标识和保存消息的存储时间;
第二接收子模块,用于接收消息消费端发送的关于消息消费情况的消费信息,消费信息包括消息的消费状态和消息消费的耗时;
第三生成子模块,用于生成第三日志记录,第三日志记录包括消息标识、消费状态和耗时。
可选的,第一接收子模块,具体用于通过预先封装的软件开发工具包SDK,接收消息生产端发送的消息请求;
第二接收子模块,用于通过预先封装的软件开发工具包SDK,接收消息消费端发送的消费信息。
可选的,第一日志记录、所述第二日志记录以及所述第三日志记录均包括所述消息的消息标识;
该装置还包括:
关联模块,用于根据消息的消息标识,关联第一日志记录、第二日志记录和第三日志记录;
展示模块,用于展示关联后的第一日志记录、第二日志记录以及第三日志记录。
可选的,该装置还包括:
发送模块,用于将日志文件发送至搜索服务器Elasticsearch,以使Elasticsearch展示第一日志记录、第二日志记录以及第三日志记录。
需要说明的是,本发明实施例提供的消息处理装置是应用上述应用于消息服务端的消息处理方法的装置,则上述应用于消息服务端的消息处理方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
本发明实施例提供了一种消息处理装置,应用于搜索服务器Elasticsearch,如图8所示,包括:
接收模块801,用于接收消息服务端发送的日志文件,日志文件包括预先存储的第一日志记录、第二日志记录以及第三日志记录;其中,第一日志记录是关于消息生产阶段的日志记录;第二日志记录是关于消息存储阶段的日志记录;第三日志记录是关于消息消费阶段的日志记录;
展示模块802,用于展示第一日志记录、第二日志记录以及第三日志记录。
本发明实施例中,可以展示消息生命周期过程的轨迹信息。如此,可以更加直观、方便地查询消息各个阶段相关的信息,极大地方便业务的排障功能。
可选的,第一日志记录、第二日志记录以及第三日志记录均包括消息的消息标识;
展示模块802,包括:
关联子模块,用于根据消息的消息标识,关联第一日志记录、第二日志记录和第三日志记录;
展示子模块,用于通过日志分析***ELK,展示关联后的第一日志记录、第二日志记录以及第三日志记录。
需要说明的是,本发明实施例提供的消息处理装置是应用上述应用于Elasticsearch的消息处理方法的装置,则上述应用于Elasticsearch的消息处理方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
本发明实施例还提供了一种消息处理设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信。
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现上述应用于消息服务端的消息处理方法的方法步骤。
本发明实施例中,确定关于消息生产、存储以及消费过程中的日志记录,并将该日志记录存储至日志文件中。如此,能够记录消息生命周期中的信息,使得能够根据记录的这些信息,更加方便地在排障过程中进行排障,简化排障过程。
本发明实施例还提供了一种消息处理设备,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信。
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现上述应用于Elasticsearch的消息处理方法的方法步骤。
本发明实施例中,可以展示消息生命周期过程的轨迹信息。如此,可以更加直观、方便地查询消息各个阶段相关的信息,极大地方便业务的排障功能。
上述消息处理设备提到的通信总线可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述消息处理设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述应用于消息服务端的消息处理方法的方法步骤。
本发明实施例中,确定关于消息生产、存储以及消费过程中的日志记录,并将该日志记录存储至日志文件中。如此,能够记录消息生命周期中的信息,使得能够根据记录的这些信息,更加方便地在排障过程中进行排障,简化排障过程。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述应用于Elasticsearch的消息处理方法的方法步骤。
本发明实施例中,可以展示消息生命周期过程的轨迹信息。如此,可以更加直观、方便地查询消息各个阶段相关的信息,极大地方便业务的排障功能。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述应用于消息服务端的消息处理方法的方法步骤。
本发明实施例中,确定关于消息生产、存储以及消费过程中的日志记录,并将该日志记录存储至日志文件中。如此,能够记录消息生命周期中的信息,使得能够根据记录的这些信息,更加方便地在排障过程中进行排障,简化排障过程。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述应用于Elasticsearch的消息处理方法的方法步骤。
本发明实施例中,可以展示消息生命周期过程的轨迹信息。如此,可以更加直观、方便地查询消息各个阶段相关的信息,极大地方便业务的排障功能。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***、装置、设备、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种消息处理方法,其特征在于,应用于消息服务端,包括:
确定关于消息生产阶段的第一日志记录,确定关于所述消息存储阶段的第二日志记录,以及确定关于所述消息消费阶段的第三日志记录;
将所述第一日志记录、所述第二日志记录以及所述第三日志记录存储至所述消息服务端的日志文件中。
2.根据权利要求1所述的方法,其特征在于,所述确定关于消息生产阶段的第一日志记录,包括:
接收消息生产端发送的消息请求;所述消息请求包括消息生产端信息、发送所述消息的发送时间;
根据所述消息请求,生成所述第一消息日志;所述第一消息日志包括所述消息的消息标识、所述消息生产端信息、所述发送时间;
所述确定关于所述消息存储阶段的第二日志记录,包括:
保存所述消息请求,并生成所述第二消息日志;其中,所述第二消息日志包括所述消息标识和保存所述消息的存储时间;
所述确定关于所述消息消费阶段的第三日志记录,包括:
接收消息消费端发送的关于所述消息消费情况的消费信息,所述消费信息包括所述消息的消费状态和所述消息消费的耗时;
生成第三日志记录,所述第三日志记录包括所述消息标识、所述消费状态和所述耗时。
3.根据权利要求1所述的方法,其特征在于,所述第一日志记录、所述第二日志记录以及所述第三日志记录均包括所述消息的消息标识;
在所述将所述第一日志记录、所述第二日志记录以及所述第三日志记录存储至所述消息服务端的日志文件中之后,所述方法还包括:
根据所述消息的消息标识,关联所述第一日志记录、第二日志记录和第三日志记录;
展示关联后的所述第一日志记录、所述第二日志记录以及所述第三日志记录。
4.一种消息处理***,其特征在于,包括:消息生产端、消息服务端、消息消费端和搜索服务器Elasticsearch;
所述消息生产端,用于向所述消息服务端发送消息请求,所述消息请求包括消息生产端信息、发送所述消息的发送时间;
所述消息消费端,用于向所述消息服务端发送关于所述消息消费情况的消费信息,所述消费信息包括所述消息的消费状态和所述消息消费的耗时;
所述消息服务端,用于接收所述消息请求,根据所述消息请求,确定关于消息生产阶段的第一日志记录,确定关于所述消息存储阶段的第二日志记录,以及接收所述消费信息,根据所述消费信息确定关于所述消息消费阶段的第三日志记录;将所述第一日志记录、所述第二日志记录以及所述第三日志记录存储至所述消息服务端的日志文件中;将所述日志文件发送至所述Elasticsearch;
所述Elasticsearch,用于接收所述日志文件;展示所述第一日志记录、所述第二日志记录以及所述第三日志记录。
5.根据权利要求4所述的***,其特征在于,所述消息服务端,具体用于通过预先封装的软件开发工具包SDK,接收所述消息生产端发送的所述消息请求;通过预先封装的软件开发工具包SDK,接收所述消息消费端发送的所述消费信息。
6.根据权利要求4所述的***,其特征在于,所述第一日志记录、所述第二日志记录以及所述第三日志记录均包括所述消息的消息标识;
所述Elasticsearch,具体用于根据所述消息的消息标识,关联所述第一日志记录、第二日志记录和第三日志记录;通过日志分析***ELK,展示关联后的所述第一日志记录、所述第二日志记录以及所述第三日志记录。
7.一种消息处理装置,其特征在于,应用于消息服务端,包括:
确定模块,用于确定关于消息生产阶段的第一日志记录,确定关于所述消息存储阶段的第二日志记录,以及确定关于所述消息消费阶段的第三日志记录;
存储模块,用于将所述第一日志记录、所述第二日志记录以及所述第三日志记录存储至所述消息服务端的日志文件中。
8.根据权利要求7所述的装置,其特征在于,所述确定模块,包括:
第一接收子模块,用于接收消息生产端发送的消息请求;所述消息请求包括消息生产端信息、发送所述消息的发送时间;
第一生成子模块,用于根据所述消息请求,生成所述第一消息日志;所述第一消息日志包括所述消息的消息标识、所述消息生产端信息、所述发送时间;
保存子模块,用于保存所述消息请求;
第二生成子模块,用于生成所述第二消息日志;其中,所述第二消息日志包括所述消息标识和保存所述消息的存储时间;
第二接收子模块,用于接收消息消费端发送的关于所述消息消费情况的消费信息,所述消费信息包括所述消息的消费状态和所述消息消费的耗时;
第三生成子模块,用于生成第三日志记录,所述第三日志记录包括所述消息标识、所述消费状态和所述耗时。
9.根据权利要求7所述的装置,其特征在于,所述第一日志记录、所述第二日志记录以及所述第三日志记录均包括所述消息的消息标识;
所述装置还包括:
关联模块,用于根据所述消息的消息标识,关联所述第一日志记录、第二日志记录和第三日志记录;
展示模块,用于展示关联后的所述第一日志记录、所述第二日志记录以及所述第三日志记录。
10.一种消息处理设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-3任一所述的方法步骤。
CN201811452531.9A 2018-11-30 2018-11-30 一种消息处理方法、***、装置及设备 Pending CN109687994A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811452531.9A CN109687994A (zh) 2018-11-30 2018-11-30 一种消息处理方法、***、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811452531.9A CN109687994A (zh) 2018-11-30 2018-11-30 一种消息处理方法、***、装置及设备

Publications (1)

Publication Number Publication Date
CN109687994A true CN109687994A (zh) 2019-04-26

Family

ID=66185985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811452531.9A Pending CN109687994A (zh) 2018-11-30 2018-11-30 一种消息处理方法、***、装置及设备

Country Status (1)

Country Link
CN (1) CN109687994A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114398003A (zh) * 2021-12-07 2022-04-26 广西北投信创科技投资集团有限公司 信息处理方法及装置消息服务器
CN115396530A (zh) * 2022-07-21 2022-11-25 拉卡拉支付股份有限公司 消息管理方法、***、电子设备、存储介质及程序产品

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899277A (zh) * 2015-05-29 2015-09-09 北京京东尚科信息技术有限公司 一种消息分发方法和装置
CN104935469A (zh) * 2015-06-30 2015-09-23 浪潮(北京)电子信息产业有限公司 一种日志信息分布式存储方法及***
CN106878473A (zh) * 2017-04-20 2017-06-20 腾讯科技(深圳)有限公司 一种消息处理方法、服务器集群及***
CN107168845A (zh) * 2017-03-31 2017-09-15 北京奇艺世纪科技有限公司 一种故障定位方法及装置
CN107465549A (zh) * 2017-08-18 2017-12-12 北京奇艺世纪科技有限公司 一种分布式消息处理方法和***
CN108241744A (zh) * 2018-01-04 2018-07-03 北京奇艺世纪科技有限公司 一种日志读取方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899277A (zh) * 2015-05-29 2015-09-09 北京京东尚科信息技术有限公司 一种消息分发方法和装置
CN104935469A (zh) * 2015-06-30 2015-09-23 浪潮(北京)电子信息产业有限公司 一种日志信息分布式存储方法及***
CN107168845A (zh) * 2017-03-31 2017-09-15 北京奇艺世纪科技有限公司 一种故障定位方法及装置
CN106878473A (zh) * 2017-04-20 2017-06-20 腾讯科技(深圳)有限公司 一种消息处理方法、服务器集群及***
CN107465549A (zh) * 2017-08-18 2017-12-12 北京奇艺世纪科技有限公司 一种分布式消息处理方法和***
CN108241744A (zh) * 2018-01-04 2018-07-03 北京奇艺世纪科技有限公司 一种日志读取方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114398003A (zh) * 2021-12-07 2022-04-26 广西北投信创科技投资集团有限公司 信息处理方法及装置消息服务器
CN115396530A (zh) * 2022-07-21 2022-11-25 拉卡拉支付股份有限公司 消息管理方法、***、电子设备、存储介质及程序产品

Similar Documents

Publication Publication Date Title
US11695830B1 (en) Multi-threaded processing of search responses
US11411804B1 (en) Actionable event responder
US11252224B2 (en) Utilizing multiple connections for generating a job result
US9813528B2 (en) Priority-based processing of messages from multiple servers
CN103248684B (zh) 一种互联网中资源获取方法和装置
US20110047187A1 (en) Drag and drop importation of content
CN109688200A (zh) 一种消息处理方法、装置及设备
CN108459939A (zh) 一种日志收集方法、装置、终端设备及存储介质
US11755531B1 (en) System and method for storage of data utilizing a persistent queue
US11449371B1 (en) Indexing data at a data intake and query system based on a node capacity threshold
US11609913B1 (en) Reassigning data groups from backup to searching for a processing node
US10880366B1 (en) Enabling stateless status checks using collector redirection
CN107347062A (zh) 一种日志数据处理的方法、电子设备和可读存储介质
CN107665237B (zh) 数据结构分类装置、非结构化数据的发布订阅***及方法
CN102904959A (zh) 网络加速方法和网关
CN109687994A (zh) 一种消息处理方法、***、装置及设备
CN113391979A (zh) 监控数据展示的处理方法、设备、***及存储介质
CN108696649A (zh) 图像处理方法、装置、设备及计算机可读存储介质
CN106992940A (zh) 报文处理方法、装置、***及终端
US20140032744A1 (en) Method of comparing outputs in a plurality of information systems
WO2017166093A1 (zh) 前置***
CN109739657A (zh) 一种消息处理方法、***、装置及设备
CN101917476B (zh) 超文本传输协议消息处理方法及其客户端***
CN109729148A (zh) 一种消息处理方法、***及设备
US10516767B2 (en) Unifying realtime and static data for presenting over a web service

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: 20190426