CN105487963B - 消息确认方法及装置 - Google Patents

消息确认方法及装置 Download PDF

Info

Publication number
CN105487963B
CN105487963B CN201510837119.9A CN201510837119A CN105487963B CN 105487963 B CN105487963 B CN 105487963B CN 201510837119 A CN201510837119 A CN 201510837119A CN 105487963 B CN105487963 B CN 105487963B
Authority
CN
China
Prior art keywords
message
log messages
log
real
analysis
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
CN201510837119.9A
Other languages
English (en)
Other versions
CN105487963A (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.)
Xiaomi Inc
Original Assignee
Xiaomi Inc
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 Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201510837119.9A priority Critical patent/CN105487963B/zh
Publication of CN105487963A publication Critical patent/CN105487963A/zh
Application granted granted Critical
Publication of CN105487963B publication Critical patent/CN105487963B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开是关于一种消息确认方法及装置。所述方法包括:消息分发装置读入需要实时分析的N个日志消息,N为大于或等于2的整数;所述消息分发装置向消息分析装置发送所述N个日志消息;所述消息分发装置接收所述消息分析装置发送的确认消息,所述确认消息用于指示所述N个日志消息已实时分析成功。从而实现了通过一个确认消息来实现对至少两个日志消息的确认,避免了每个日志消息均需要一个日志消息来实现对该日志消息的确认,从而减少了资源消耗,降低了时延,提高了吞吐量。

Description

消息确认方法及装置
技术领域
本公开涉及带有触控显示屏的终端,特别涉及一种消息确认方法及装置。
背景技术
随着大数据时代的到来,从数据里挖掘出有价值的信息变的越来越重要,而数据的价值是随着数据产生的时间迅速递减的,所以实时对数据分析变得非常重要。目前,在分布式实时分析系统中消息确认机制为:对需要实时分析的日志消息,在实时分析完成每一条日志消息后,均反馈一个确认消息,从而根据确认消息完成消息确认过程,以根据确认消息确定该日志消息已实时分析完成;由于每一条日志消息均对应产生一个确认消息,从而要将所有的日志消息确认完,资源消耗大以及所需时间长。
发明内容
本公开实施例提供了一种消息确认方法及装置。所述技术方案如下:
根据本公开实施例的第一方面,提供一种消息确认方法,包括:
消息分发装置读入需要实时分析的N个日志消息,N为大于或等于2的整数;
所述消息分发装置向消息分析装置发送所述N个日志消息;
所述消息分发装置接收所述消息分析装置发送的确认消息,所述确认消息用于指示所述N个日志消息已实时分析成功。
根据本公开实施例的第二方面,提供一种消息确认消息,包括:
消息分析装置接收消息分发装置发送的需要实时分析的N个日志消息,N为大于或等于2的整数;
所述消息分析装置对所述N个日志消息进行实时分析;
当所述消息分析装置确定对所述N个日志消息实时分析成功后,所述消息分析装置向所述消息分发装置发送确认消息,所述确认消息用于指示所述N个日志消息已实时分析成功。
根据本公开实施例的第三方面,提供一种消息分发装置,包括:
读入模块,被配置为读入需要实时分析的N个日志消息,N为大于或等于2的整数;
发送模块,被配置为向消息分析装置发送所述N个日志消息;
接收模块,被配置为接收所述消息分析装置发送的确认消息,所述确认消息用于指示所述N个日志消息已实时分析成功。
根据本公开实施例的第四方面,提供一种消息分析装置,包括;
接收模块,被配置为接收消息分发装置发送的需要实时分析的N个日志消息,N为大于或等于2的整数;
实时分析模块,被配置为对所述N个日志消息进行实时分析;
确定模块,被配置为确定对所述N个日志消息实时分析是否成功;
发送模块,被配置为当所述确定模块确定对所述N个日志消息实时分析成功后,向所述消息分发装置发送确认消息,所述确认消息用于指示所述N个日志消息已实时分析成功。
根据本公开实施例的第五方面,提供一种消息分发装置,包括:处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
读入需要实时分析的N个日志消息,N为大于或等于2的整数;
向消息分析装置发送所述N个日志消息;
接收所述消息分析装置发送的确认消息,所述确认消息用于指示所述N个日志消息已实时分析成功。
根据本公开实施例的第六方面,提供一种消息分析装置,包括:处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
接收消息分发装置发送的需要实时分析的N个日志消息,N为大于或等于2的整数;
对所述N个日志消息进行实时分析;
当确定对所述N个日志消息实时分析成功后,向所述消息分发装置发送确认消息,所述确认消息用于指示所述N个日志消息已实时分析成功。
本公开实施例提供的技术方案可以包括以下有益效果:
通过一个确认消息来实现对至少两个日志消息的确认,避免了每个日志消息均需要一个日志消息来实现对该日志消息的确认,从而减少了资源消耗,降低了时延,提高了吞吐量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种消息确认方法的流程图;
图2是根据另一示例性实施例示出的一种消息确认方法的流程图;
图3是根据另一示例性实施例示出的一种消息确认方法的流程图;
图4是根据另一示例性实施例示出的一种消息确认方法的流程图;
图5是根据另一示例性实施例示出的一种消息确认方法的流程图;
图6是根据一示例性实施例示出的一种消息分发装置的框图;
图7是根据另一示例性实施例示出的一种消息分发装置的框图;
图8是根据一示例性实施例示出的一种消息分析装置的框图;
图9是根据另一示例性实施例示出的一种消息分析装置的框图;
图10是根据一示例性实施例示出的一种消息分发装置1000的框图;
图11是根据一示例性实施例示出的一种消息分析装置1100的框图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
首先对本公开实施例所涉及的几个名词进行解释:
日志消息:是指用来记录用户的行为信息,例如:用户何时浏览过什么页面等等。
图1是根据一示例性实施例示出的一种消息确认方法的流程图,本实施例以该消息确认方法应用于分布式实时分析系统中的服务器来举例说明。该消息确认方法可以包括如下几个步骤:
在步骤101中,消息分发装置读入需要实时分析的N个日志消息,N为大于或等于2的整数。
本实施例中,消息分发装置从所有需要实时分析的日志消息流中读入N个日志消息,N为大于或等于2的整数。其中,消息分发装置是从分布式实时分析系统的外部读入上述日志消息。
在步骤102中,该消息分发装置将该N个日志消息发送给消息分析装置。
在步骤103中,该消息分发装置接收该消息分析装置发送的确认消息,该确认消息用于指示该N个日志消息已实时分析成功。
本实施例中,消息分发装置读入N个日志消息之后,再将N个日志消息发送给消息分析装置。相应地,消息分析装置对N个日志消息进行实时分析,在实时分析成功后,向消息分发装置发送确认消息,因此,消息分发装置向消息分析装置发送N个日志消息后,接收消息分析装置发送的确认消息,该确认消息用于指示该N个日志消息已实时分析成功。因此,通过本实施例的方案,针对N个日志消息,只需要产生一个确认消息,而且消息分析装置与消息分发装置之间也只需传输一个确认消息,即可实现对N个日志消息的确认。
可选地,上述步骤101与上述步骤102也可以并行进行,即消息分发装置可以无需等至读入所有的N个日志消息后才向消息分析装置发送日志消息,而是消息分发装置读入一个日志消息后就向消息分析装置发送该日志消息,消息分发装置读入另一个日志消息后就向消息分析装置发送该另一个日志消息,直至消息分发装置读入N个日志消息中的最后一个日志消息后向消息分析装置发送该最后一个日志消息,即完成上述步骤101和上述步骤102。
综上所述,本实施例提供的消息确认方法,通过消息分发装置向消息分析装置发送至少两个日志消息,然后接收消息分析装置发送的确认消息,该确认消息用于指示该至少两个日志消息已实时分析成功,从而实现了通过一个确认消息来实现对至少两个日志消息的确认,避免了每个日志消息均需要一个日志消息来实现对该日志消息的确认,从而减少了资源消耗,降低了时延,提高了吞吐量。
图2是根据另一示例性实施例示出的一种消息确认方法的流程图,本实施例以该消息确认方法应用于分布式实时分析系统中的服务器来举例说明。该消息确认方法可以包括如下几个步骤:
在步骤201中,消息分发装置读入需要实时分析的N个日志消息,N为大于或等于2的整数。
消息分发装置从所有需要实时分析的日志消息流中读入N个日志消息,N为大于或等于2的整数。其中,消息分发装置是从分布式实时分析系统的外部读入上述日志消息。
可选地,消息分发装置读入需要实时分析的N个日志消息的一种可行的实现方式为:该消息分发装置根据预设的日志消息的个数为N,读入需要实时分析的N个日志消息。具体地,消息分发装置中预先配置有一个确认消息对应确认的日志消息的个数为N,消息分发装置可以根据预设的日志消息的个数为N,依次读入日志消息,读入第一个日志消息后计数为1,若计数小于个数N,再读入日志消息并计数,当计数等于N时,暂时停止读入日志消息,从而可获得N个日志消息。
可选地,消息分发装置读入需要实时分析的N个日志消息的另一种可行的实现方式为:消息分发装置根据预设的读入日志消息的时间,在该预设的读入日志消息的时间内读入该N个日志消息。具体地,消息分发装置中预先配置有一个确定消息对应确认的多个日志消息的读入时间,消息分发装置可以根据预设的读入日志消息的时间,依次读入日志消息,从读入第一个日志消息时开始计时,当计时时间达到预设的读入日志消息的时间时,暂时停止读入日志消息,从而可获得N个日志消息。
在步骤202中,该消息分发装置备份该N个日志消息。
本实施例中,该消息分发装置读入N个日志消息之后,对这N个日志消息进行备份,即该消息分发装置对读入的N个日志消息进行复制,并其中一份的该N个日志消息进行存储。
在步骤203中,该消息分发装置向消息分析装置发送该N个日志消息。
本实施例中,该消息分发装置在备份该N个日志消息后,将读入的N个日志消息发送发消息分析装置。在执行步骤203之后,可执行步骤204或者步骤206或者步骤207。
在步骤204中,该消息分发装置接收该消息分析装置发送的确认消息,该确认消息用于指示该N个日志消息已实时分析成功。
本实施例中,消息分发装置接收到N个日志消息后对N个日志消息进行实时分析,在实时分析成功后,向消息分发装置发送确认消息,因此,消息分发装置向消息分析装置发送N个日志消息后,接收消息分析装置发送的确认消息,该确认消息用于指示该N个日志消息已实时分析成功。因此,通过本实施例的方案,针对N个日志消息,只需要产生一个确认消息,而且消息分析装置与消息分发装置之间也只需传输一个确认消息,即可实现对N个日志消息的确认。
在步骤205中,该消息分发装置删除备份的该N个日志消息。
本实施例中,该消息分发装置在接收到消息分析装置发送的确认消息之后,表明上述的N个日志消息已实时分析成功,然后删除备份的该N个日志消息。可选地,该消息分发装置还可以读入下一批N个日志消息,执行过程与这一批N个日志消息的处理过程类似,此处不再赘述。
在步骤206中,该消息分发装置接收该消息分析装置发送的非确认消息,该非确认消息用于指示该N个日志消息中至少一个日志消息实时分析失败。
本实施例中,消息分析装置接收到N个日志消息后对N个日志消息进行实时分析,若确定N个日志消息中至少一个日志消息实时分析失败,例如:至少一个日志消息丢失,则该消息分析装置向消息分发装置发送非确认消息,因此在这种情况下,消息分发装置向消息分析装置发送N个日志消息后,接收消息分析装置发送的非确认消息,该非确认消息用于指示该N个日志消息中至少一个日志消息实时分析失败。消息分发装置根据该非确认消息确定该N个日志消息未得到确认,因此,消息分发装置再次向消息分析装置发送该N个日志消息,如执行图2中所示的步骤203,后续步骤可以参见本实施例中的相关描述,此处不再赘述,从而提高了该N个日志消息的确认可靠性。
在步骤207中,在预设时间内,该消息分发装置确定未接收到该消息分析装置发送的该确认消息或该非确认消息。
本实施例中,消息分析装置接收到N个日志消息后对N个日志消息进行实时分析,若消息分析装置在实时分析的过程中出现了故障,造成N个日志消息未全部进行实时分析,而此时消息分析装置也无法向消息分发装置发送任何消息;因此在这种情况下,消息分发装置向消息分析装置发送N个日志消息后,在预设时间内未接收到消息分析装置发送的确认消息,甚至非确认消息,表明该N个日志消息未得到确认,因此,消息分发装置再次向消息分析装置发送该N个日志消息,如执行图2中所示的步骤203,后续步骤可以参见本实施例中的相关描述,此处不再赘述,从而提高了该N个日志消息的确认可靠性。
综上所述,本实施例提供的消息确认方法,通过消息分发装置向消息分析装置发送至少两个日志消息,若接收消息分析装置发送的确认消息,该确认消息用于指示该至少两个日志消息已实时分析成功,从而实现了通过一个确认消息来实现对至少两个日志消息的确认,避免了每个日志消息均需要一个日志消息来实现对该日志消息的确认,从而减少了资源消耗,降低了时延,提高了吞吐量。若接收消息分析装置发送的非确认消息,该确认消息用于指示该至少两个日志消息中存在至少一个日志消息实时分析失败;或者,在预设时间内,确定未接收到该消息分析装置发送的确认消息,将该N个日志消息再次发送给该消息分析装置,从而提高了该N个日志消息的确认可靠性。
图3是根据另一示例性实施例示出的一种消息确认方法的流程图,本实施例以该消息确认方法应用于分布式实时分析系统中的服务器来举例说明。该消息确认方法可以包括如下几个步骤:
在步骤301中,消息分析装置接收消息分发装置发送的需要实时分析的N个日志消息,N为大于或等于2的整数。
在步骤302中,该消息分析装置对该N个日志消息进行实时分析。
在步骤303中,当该消息分析装置确定对该N个日志消息实时分析成功后,该消息分析装置向该消息分发装置发送确认消息,该确认消息用于指示该N个日志消息已实时分析成功。
本实施例中,消息分析装置接收消息分发装置发送的需要实时分析的N个日志消息,并对该N个日志消息进行实时分析,如何对日志消息进行实时分析与现有技术类似,此处不再赘述。当消息分析装置确定对该N个日志消息实时分析成功后,向消息分发装置发送统一发送一个确认消息,该确认消息用于指示该N个日志消息已实时分析成功。因此,通过本实施例的方案,针对N个日志消息,只需要产生一个确认消息,而且消息分析装置与消息分发装置之间也只需传输一个确认消息,即可实现对N个日志消息的确认。
可选地,上述步骤301与上述步骤302也可以并行进行,即消息分发装置可以无需等至接收到所有的N个日志消息后才进行实时分析,而是消息分析装置接收一个日志消息后就可以对该日志消息进行实时分析,在对该日志消息分析成功后再实时分析下一个接收的日志消息,直至对最后一个日志消息进行实时分析,即完成上述步骤301和上述步骤302。
综上所述,本实施例提供的消息确认方法,通过消息分析装置接收消息分发装置发送的至少两个日志消息,并对该至少两个日志消息进行实时分析,当对该至少两个日志消息实时分析成功后,向消息分发装置发送确认消息,该确认消息用于指示该至少两个日志消息已实时分析成功,从而实现了通过一个确认消息来实现对至少两个日志消息的确认,避免了每个日志消息均需要一个日志消息来实现对该日志消息的确认,从而减少了资源消耗,降低了时延,提高了吞吐量。
图4是根据另一示例性实施例示出的一种消息确认方法的流程图,本实施例以该消息确认方法应用于分布式实时分析系统中的服务器来举例说明。该消息确认方法可以包括如下几个步骤:
在步骤401中,消息分析装置接收消息分发装置发送的需要实时分析的N个日志消息,N为大于或等于2的整数。
本实施例中,步骤401的具体实现过程可以参见图3所示的实施例中的相关描述,此处不再赘述。
在步骤402中,该消息分析装置对该N个日志消息按队列进行存储。
在步骤403中,该消息分析装置根据存储的队列依次对该N个日志消息中的每个日志消息进行实时分析,并在对该日志消息进行实时分析时删除该队列中的该日志消息。
本实施例中,该消息分析装置可以对接收的N个日志消息按照队列的形式进行存储,然后再按照队列的形式依次对该N个日志消息进行实时分析,在每个日志消息进行实时分析成功后删除上述队列中的该日志消息,以保证存储的队列中的日志消息为等待实时分析的日志消息。
在执行步骤403之后,可执行步骤404或者步骤405或者步骤406。
在步骤404中,当该消息分析装置确定对该N个日志消息实时分析成功时,该消息分析装置向该消息分发装置发送确认消息,该确认消息用于指示该N个日志消息已实时分析成功。
本实施例中,该消息分析装置确定对该N个日志消息实时分析成功的一种可行的实现方式为:该消息分析装置确定该N个日志消息中不存在等待实时分析的日志消息且不存在正在实时分析的日志消息时,确定对该N个日志消息实时分析成功。具体地,该消息分析装置可以根据预设的间隔时间,每经过间隔时间,确定该N个日志消息中是否存在等待实时分析的日志消息以及是否存在正在实时分析的日志消息,若确定该N个日志消息中不存在等待实时分析的日志消息以及不存在正在实时分析的日志消息,则可以确定消息分析装置对该N个日志消息实时分析成功;否则,可以确定消息分析装置对该N个日志消息还未实时分析完成,消息分析装置继续(可以间隔预设的间隔时间后)确定该N个日志消息中是否存在等待实时分析的日志消息以及是否存在正在实时分析的日志消息。可选地,消息分析装置可以判断上述存储的队列中是否存在日志消息,若是,则可以确定N个日志消息中存在等待实时分析的日志消息,若否,则可以确定N个日志消息中不存在等待实时分析的日志消息。可选地,消息分析装置可以判断进行实时分析任务的执行体(消息分析装置)的状态是否阻塞,若是,则确定N个日志消息中不存在正在实时分析的日志消息,若否,则可以确定N个日志消息中存在正在实时分析的日志消息。
在步骤405中,当该消息分析装置确定对该N个日志消息中至少一个日志消息实时分析失败时,该消息分析装置向该消息分发装置发送非确认消息,该非确认消息用于指示该N个日志消息中至少一个日志消息实时分析失败。
本实施例中,消息分析装置接收到N个日志消息后对N个日志消息进行实时分析,若确定N个日志消息中至少一个日志消息实时分析失败,例如:至少一个日志消息丢失,则该消息分析装置向消息分发装置发送非确认消息。因此在这种情况下,消息分发装置根据接收的该非确认消息确定该N个日志消息未得到确认,因此,消息分发装置再次向消息分析装置发送该N个日志消息,相应地,消息分析装置再次接收该N个日志消息,如执行图4中所示的步骤401,后续步骤可以参见本实施例中的相关描述,此处不再赘述,从而提高了该N个日志消息的确认可靠性。
在步骤406中,当该消息分析装置确定该消息分析装置发生故障时,该消息分析装置重启。
本实施例中,消息分析装置接收到N个日志消息后对N个日志消息进行实时分析,若消息分析装置在实时分析的过程中出现了故障,造成N个日志消息未全部进行实时分析,而此时消息分析装置也无法向消息分发装置发送任何消息,消息分析装置进行重启,重启后接收的N个日志消息也将随之丢失;因此在这种情况下,消息分发装置向消息分析装置发送N个日志消息后,在预设时间内未接收到消息分析装置发送的确认消息,甚至非确认消息,表明该N个日志消息未得到确认,因此,消息分发装置再次向消息分析装置发送该N个日志消息;相应地,消息分析装置在自接收到N个日志消息起预设时间后,接收消息分发装置再发次发送的N个日志消息,如执行图4中所示的步骤401,后续步骤可以参见本实施例中的相关描述,此处不再赘述,从而提高了该N个日志消息的确认可靠性。
综上所述,本实施例提供的消息确认方法,通过消息分析装置接收消息分发装置发送的至少两个日志消息,并对该至少两个日志消息进行实时分析,若对该至少两个日志消息实时分析成功后,向消息分发装置发送确认消息,该确认消息用于指示该至少两个日志消息已实时分析成功,从而实现了通过一个确认消息来实现对至少两个日志消息的确认,避免了每个日志消息均需要一个日志消息来实现对该日志消息的确认,从而减少了资源消耗,降低了时延,提高了吞吐量。若对至少一个日志消息实时分析失败后,向消息分发装置发送非确认消息,该确认消息用于指示该至少两个日志消息中至少一个日志消息实时分析失败;或者,在实时分析过程中发生故障,再次接收消息分析装置发送的该至少两个日志消息,从而提高了该N个日志消息的确认可靠性。
图5是根据另一示例性实施例示出的一种消息确认方法的流程图,本实施例以该消息确认方法应用于分布式实时分析系统中的服务器来举例说明。该消息确认方法可以包括如下几个步骤:
在步骤501中,消息分发装置读入需要实时分析的N个日志消息。
在步骤502中,该消息分发装置备份该N个日志消息。
在步骤503中,该消息分发装置向消息分析装置发送该N个日志消息。
在步骤504中,该消息分析装置对该N个日志消息按队列进行存储。
在步骤505中,该消息分析装置根据存储的队列依次对该N个日志消息中的每个日志消息进行实时分析,并在对该日志消息进行实时分析时删除该队列中的该日志消息。
在执行步骤505之后,该消息分析装置可以执行步骤506或者步骤508或者步骤509。
在步骤506中,当该消息分析装置确定对该N个日志消息实时分析成功时,该消息分析装置向该消息分发装置发送确认消息。
在步骤507中,该消息分发装置删除备份的该N个日志消息。
在步骤508中,当该消息分析装置确定对该N个日志消息中至少一个日志消息实时分析失败时,该消息分析装置向该消息分发装置发送非确认消息。
相应地,消息分发装置接收到非确认消息后,根据非确认消息再次向消息分析装置发送该N个日志消息,如再次执行步骤503。
在步骤509中,当该消息分析装置确定该消息分析装置发生故障时,该消息分析装置重启。
在步骤510中,在预设时间内,该消息分发装置确定未接收到该消息分析装置发送的非确认消息或者非确认消息。
相应地,消息分发装置在预设时间内未接收到确认消息或者非确认消息,则再次向消息分析装置发送该N个日志消息,如再次执行步骤503。
综上所述,本实施例提供的消息确认方法,通过上述方案,实现了通过一个确认消息来实现对至少两个日志消息的确认,避免了每个日志消息均需要一个日志消息来实现对该日志消息的确认,从而减少了资源消耗,降低了时延,提高了吞吐量,也提高了该N个日志消息的确认可靠性。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图6是根据一示例性实施例示出的一种消息分发装置的框图,该消息分发装置可以通过软件、硬件或者两者的结合实现成为服务器的部分或者全部。该消息分发装置可以包括:读入模块610、发送模块620和接收模块630;
读入模块610,被配置为读入需要实时分析的N个日志消息,N为大于或等于2的整数;
发送模块620,被配置为向消息分析装置发送所述N个日志消息;
接收模块630,被配置为接收所述消息分析装置发送的确认消息,所述确认消息用于指示所述N个日志消息已实时分析成功。
综上所述,本实施例提供的消息分发装置,通过向消息分析装置发送至少两个日志消息,然后接收消息分析装置发送的确认消息,该确认消息用于指示该至少两个日志消息已实时分析成功,从而实现了通过一个确认消息来实现对至少两个日志消息的确认,避免了每个日志消息均需要一个日志消息来实现对该日志消息的确认,从而减少了资源消耗,降低了时延,提高了吞吐量。
图7是根据另一示例性实施例示出的一种消息分发装置的框图,该消息分发装置可以通过软件、硬件或者两者的结合实现成为服务器的部分或者全部。本实施例在图6所示的实施例的基础上,可选地,读入模块710,被配置为根据预设的日志消息的个数为N,读入需要实时分析的N个日志消息;或者,被配置为根据预设的读入日志消息的时间,在所述预设的读入日志消息的时间内读入所述N个日志消息。
可选地,本实施例的装置还可以包括:备份模块640和删除模块650;
备份模块640,被配置为在发送模块620向消息分析装置发送所述N个日志消息之前,备份所述N个日志消息;
删除模块650,被配置为在接收模块630接收所述消息分析装置发送的确认消息之后,删除备份的所述N个日志消息。
可选地,本实施例的装置还可以包括:确定模块660;
接收模块630,还被配置为接收所述消息分析装置发送的非确认消息;
确定模块660,被配置为确定是否接收到所述消息分析装置发送的所述确认消息或者非确认消息;
发送模块620,还被配置为若向消息分析装置发送所述N个日志消息之后,接收模块630接收所述消息分析装置发送的非确认消息,或者,在预设时间内,确定模块660确定未接收到所述消息分析装置发送的所述确认消息或者非确认消息,再次向所述消息分析装置发送所述N个日志消息;
所述非确认消息用于指示所述N个日志消息中至少一个日志消息实时分析失败。
综上所述,本实施例提供的消息分发装置,通过向消息分析装置发送至少两个日志消息,然后接收消息分析装置发送的确认消息,该确认消息用于指示该至少两个日志消息已实时分析成功,从而实现了通过一个确认消息来实现对至少两个日志消息的确认,避免了每个日志消息均需要一个日志消息来实现对该日志消息的确认,从而减少了资源消耗,降低了时延,提高了吞吐量。
需要补充说明的是,本实施例通过再次向消息分析装置发送N个日志消息的方式,提高了该N个日志消息的确认可靠性。
图8是根据一示例性实施例示出的一种消息分析装置的框图,该消息分析装置可以通过软件、硬件或者两者的结合实现成为服务器的部分或者全部。该消息分析装置可以包括:接收模块810、实时分析模块820、确定模块830和发送模块840;
接收模块810,被配置为接收消息分发装置发送的需要实时分析的N个日志消息,N为大于或等于2的整数;
实时分析模块820,被配置为对所述N个日志消息进行实时分析;
确定模块830,被配置为确定对所述N个日志消息实时分析是否成功;
发送模块840,被配置为当确定模块830确定对所述N个日志消息实时分析成功后,向所述消息分发装置发送确认消息,所述确认消息用于指示所述N个日志消息已实时分析成功。
综上所述,本实施例提供的消息分析装置,通过接收消息分发装置发送的至少两个日志消息,并对该至少两个日志消息进行实时分析,当对该至少两个日志消息实时分析成功后,向消息分发装置发送确认消息,该确认消息用于指示该至少两个日志消息已实时分析成功,从而实现了通过一个确认消息来实现对至少两个日志消息的确认,避免了每个日志消息均需要一个日志消息来实现对该日志消息的确认,从而减少了资源消耗,降低了时延,提高了吞吐量。
图9是根据另一示例性实施例示出的一种消息分析装置的框图,该消息分析装置可以通过软件、硬件或者两者的结合实现成为服务器的部分或者全部。本实施例在图8所示实施例的基础上,可选地,实时分析模块820包括:存储单元821、实时分析单元822和删除单元823;
存储单元821,被配置为对所述N个日志消息按队列进行存储;
实时分析单元822,被配置为根据存储的所述队列依次对所述N个日志消息中的每个日志消息进行实时分析;
删除单元823,被配置为在实时分析单元822对该日志消息进行实时分析时删除所述队列中的该日志消息。
可选地,确定模块830,被配置为当确定所述N个日志消息中不存在等待实时分析的日志消息且不存在正在实时分析的日志消息时,确定对所述N个日志消息实时分析成功。
可选地,本实施例的装置还可以包括:重启模块850;
确定模块830,还被配置为确定所述消息分析装置发生故障;
重启模块850,被配置为若接收模块810接收消息分发装置发送的需要实时分析的N个日志消息之后,当确定模块830确定所述消息分析装置发生故障时,重启所述消息分析装置;
接收模块810,还被配置为重启模块850重启所述消息分析装置,自接收到消息分发装置发送的所述N个日志消息起预设时间后,接收所述消息分发装置再次发送的所述N个日志消息。
可选地,发送模块840,还被配置为当确定模块830确定所述N个日志消息中至少一个日志消息实时分析失败时,向所述消息分发装置发送非确认消息;
接收模块810,还被配置为接收所述消息分发装置根据所述非确认消息再次发送的所述N个日志消息;
所述非确认消息用于指示所述N个日志消息中至少一个日志消息实时分析失败。
综上所述,本实施例提供的消息分析装置,通过接收消息分发装置发送的至少两个日志消息,并对该至少两个日志消息进行实时分析,当对该至少两个日志消息实时分析成功后,向消息分发装置发送确认消息,该确认消息用于指示该至少两个日志消息已实时分析成功,从而实现了通过一个确认消息来实现对至少两个日志消息的确认,避免了每个日志消息均需要一个日志消息来实现对该日志消息的确认,从而减少了资源消耗,降低了时延,提高了吞吐量。
需要补充说明的是,本实施例通过再次接收消息分析装置发送的N个日志消息的方式,提高了该N个日志消息的确认可靠性。
图10是根据一示例性实施例示出的一种消息分发装置1000的框图。例如,装置1000可以被提供为一个与消息分发装置关联的服务器。参照图10,装置1000包括处理组件1022,其进一步包括一个或多个处理器,以及由存储器1032所代表的存储器资源,用于存储可由处理部件1022执行的指令,例如应用程序。存储器1032中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1022被配置为执行指令,以执行上述消息确认方法。
装置1000还可以包括一个电源组件1026被配置为执行装置1000的电源管理,一个有线或无线网络接口1050被配置为将装置1000连接到网络,和一个输入输出(I/O)接口1058。装置1000可以操作基于存储在存储器1032的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
图11是根据一示例性实施例示出的一种消息分析装置1100的框图。例如,装置1100可以被提供为一个与消息分析装置关联的服务器。参照图11,装置1100包括处理组件1122,其进一步包括一个或多个处理器,以及由存储器1132所代表的存储器资源,用于存储可由处理部件1122执行的指令,例如应用程序。存储器1132中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1122被配置为执行指令,以执行上述消息确认方法。
装置1100还可以包括一个电源组件1126被配置为执行装置1100的电源管理,一个有线或无线网络接口1150被配置为将装置1100连接到网络,和一个输入输出(I/O)接口1158。装置1100可以操作基于存储在存储器1032的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (17)

1.一种消息确认方法,其特征在于,包括:
消息分发装置读入需要实时分析的N个日志消息,N为大于或等于2的整数,所述N个日志消息由所述消息分发装置从分布式实时分析系统的外部读入;
所述消息分发装置备份所述N个日志消息;
所述消息分发装置向消息分析装置发送所述N个日志消息;
所述消息分发装置接收所述消息分析装置发送的确认消息,所述确认消息用于指示所述N个日志消息已实时分析成功;
所述消息分发装置删除备份的所述N个日志消息。
2.根据权利要求1所述的方法,其特征在于,所述消息分发装置读入需要实时分析的N个日志消息,包括:
所述消息分发装置根据预设的日志消息的个数为N,读入需要实时分析的N个日志消息;或者,
所述消息分发装置根据预设的读入日志消息的时间,在所述预设的读入日志消息的时间内读入所述N个日志消息。
3.根据权利要求1-2任意一项所述的方法,其特征在于,若所述消息分发装置向消息分析装置发送所述N个日志消息之后,还包括:
所述消息分发装置接收所述消息分析装置发送的非确认消息;或者,在预设时间内,所述消息分发装置确定未接收到所述消息分析装置发送的所述确认消息或者非确认消息,再次向所述消息分析装置发送所述N个日志消息;
所述非确认消息用于指示所述N个日志消息中至少一个日志消息实时分析失败。
4.一种消息确认方法,其特征在于,包括:
消息分析装置接收消息分发装置发送的需要实时分析的N个日志消息,N为大于或等于2的整数,所述N个日志消息由所述消息分发装置从分布式实时分析系统的外部读入;
所述消息分析装置对所述N个日志消息进行实时分析;
当所述消息分析装置确定对所述N个日志消息实时分析成功后,所述消息分析装置向所述消息分发装置发送确认消息,所述确认消息用于指示所述N个日志消息已实时分析成功。
5.根据权利要求4所述的方法,其特征在于,所述消息分析装置对所述N个日志消息进行实时分析,包括:
所述消息分析装置对所述N个日志消息按队列进行存储;
所述消息分析装置根据存储的所述队列依次对所述N个日志消息中的每个日志消息进行实时分析,并在对该日志消息进行实时分析时删除所述队列中的该日志消息。
6.根据权利要求4或5所述的方法,其特征在于,所述消息分析装置确定对所述N个日志消息实时分析成功,包括:
当所述消息分析装置确定所述N个日志消息中不存在等待实时分析的日志消息且不存在正在实时分析的日志消息时,所述消息分析装置确定对所述N个日志消息实时分析成功。
7.根据权利要求4-5任意一项所述的方法,其特征在于,若所述消息分析装置接收消息分发装置发送的需要实时分析的N个日志消息之后,还包括:
当所述消息分析装置确定所述消息分析装置发生故障时,所述消息分析装置重启;自所述消息分析装置接收到消息分发装置发送的所述N个日志消息起预设时间后,所述消息分析装置接收所述消息分发装置再次发送的所述N个日志消息;
或者,当所述消息分析装置确定所述N个日志消息中至少一个日志消息实时分析失败时,所述消息分析装置向所述消息分发装置发送非确认消息,接收所述消息分发装置根据所述非确认消息再次发送的所述N个日志消息,所述非确认消息用于指示所述N个日志消息中至少一个日志消息实时分析失败。
8.一种消息分发装置,其特征在于,包括:
读入模块,被配置为读入需要实时分析的N个日志消息,N为大于或等于2的整数,所述N个日志消息由所述消息分发装置从分布式实时分析系统的外部读入;
备份模块,被配置备份所述N个日志消息;
发送模块,被配置为向消息分析装置发送所述N个日志消息;
接收模块,被配置为接收所述消息分析装置发送的确认消息,所述确认消息用于指示所述N个日志消息已实时分析成功;
删除模块,被配置为删除备份的所述N个日志消息。
9.根据权利要求8所述的装置,其特征在于,所述读入模块,被配置为根据预设的日志消息的个数为N,读入需要实时分析的N个日志消息;或者,被配置为根据预设的读入日志消息的时间,在所述预设的读入日志消息的时间内读入所述N个日志消息。
10.根据权利要求8-9任意一项所述的装置,其特征在于,还包括:确定模块;
所述接收模块,还被配置为接收所述消息分析装置发送的非确认消息;
所述确定模块,被配置为确定是否接收到所述消息分析装置发送的所述确认消息或者非确认消息;
所述发送模块,还被配置为若所述发送模块向消息分析装置发送所述N个日志消息之后,所述接收模块接收所述消息分析装置发送的非确认消息,或者,在预设时间内,所述确定模块确定未接收到所述消息分析装置发送的所述确认消息或者非确认消息,再次向所述消息分析装置发送所述N个日志消息;
所述非确认消息用于指示所述N个日志消息中至少一个日志消息实时分析失败。
11.一种消息分析装置,其特征在于,包括:
接收模块,被配置为接收消息分发装置发送的需要实时分析的N个日志消息,N为大于或等于2的整数,所述N个日志消息由所述消息分发装置从分布式实时分析系统的外部读入;
实时分析模块,被配置为对所述N个日志消息进行实时分析;
确定模块,被配置为确定对所述N个日志消息实时分析是否成功;
发送模块,被配置为当所述确定模块确定对所述N个日志消息实时分析成功后,向所述消息分发装置发送确认消息,所述确认消息用于指示所述N个日志消息已实时分析成功。
12.根据权利要求11所述的装置,其特征在于,所述实时分析模块包括:存储单元、实时分析单元和删除单元;
所述存储单元,被配置为对所述N个日志消息按队列进行存储;
所述实时分析单元,被配置为根据存储的所述队列依次对所述N个日志消息中的每个日志消息进行实时分析;
所述删除单元,被配置为在所述实时分析单元对该日志消息进行实时分析时删除所述队列中的该日志消息。
13.根据权利要求11或12所述的装置,其特征在于,所述确定模块,被配置为当确定所述N个日志消息中不存在等待实时分析的日志消息且不存在正在实时分析的日志消息时,确定对所述N个日志消息实时分析成功。
14.根据权利要求11-12任意一项所述的装置,其特征在于,还包括:重启模块;
所述确定模块,还被配置为确定所述消息分析装置发生故障;
所述重启模块,被配置为若接收消息分发装置发送的需要实时分析的N个日志消息之后,当所述确定模块确定所述消息分析装置发生故障时,重启所述消息分析装置;
所述接收模块,还被配置为所述重启模块重启所述消息分析装置,自接收到消息分发装置发送的所述N个日志消息起预设时间后,接收所述消息分发装置再次发送的所述N个日志消息。
15.根据权利要求11-12任意一项所述的装置,其特征在于,
所述发送模块,还被配置为当所述确定模块确定所述N个日志消息中至少一个日志消息实时分析失败时,向所述消息分发装置发送非确认消息;
所述接收模块,还被配置为接收所述消息分发装置根据所述非确认消息再次发送的所述N个日志消息;
所述非确认消息用于指示所述N个日志消息中至少一个日志消息实时分析失败。
16.一种消息分发装置,其特征在于,处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
读入需要实时分析的N个日志消息,N为大于或等于2的整数,所述N个日志消息由所述消息分发装置从分布式实时分析系统的外部读入;
备份所述N个日志消息;
向消息分析装置发送所述N个日志消息;
接收所述消息分析装置发送的确认消息,所述确认消息用于指示所述N个日志消息已实时分析成功;
删除备份的所述N个日志消息。
17.一种消息分析装置,其特征在于,处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
接收消息分发装置发送的需要实时分析的N个日志消息,N为大于或等于2的整数,所述N个日志消息由所述消息分发装置从分布式实时分析系统的外部读入;
对所述N个日志消息进行实时分析;
当确定对所述N个日志消息实时分析成功后,向所述消息分发装置发送确认消息,所述确认消息用于指示所述N个日志消息已实时分析成功。
CN201510837119.9A 2015-11-26 2015-11-26 消息确认方法及装置 Active CN105487963B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510837119.9A CN105487963B (zh) 2015-11-26 2015-11-26 消息确认方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510837119.9A CN105487963B (zh) 2015-11-26 2015-11-26 消息确认方法及装置

Publications (2)

Publication Number Publication Date
CN105487963A CN105487963A (zh) 2016-04-13
CN105487963B true CN105487963B (zh) 2018-04-06

Family

ID=55674955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510837119.9A Active CN105487963B (zh) 2015-11-26 2015-11-26 消息确认方法及装置

Country Status (1)

Country Link
CN (1) CN105487963B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032489B2 (en) * 2005-11-12 2011-10-04 LogRhythm Inc. Log collection, structuring and processing
CN102412983A (zh) * 2011-10-12 2012-04-11 广东威创视讯科技股份有限公司 一种设备告警上报方法
CN102480489A (zh) * 2010-11-30 2012-05-30 北京千橡网景科技发展有限公司 一种用于分布式环境下的日志记录方法和设备
CN103051681A (zh) * 2012-12-06 2013-04-17 华中科技大学 一种面向分布式文件系统的协作式日志系统
CN103220206A (zh) * 2012-01-19 2013-07-24 阿里巴巴集团控股有限公司 一种消息发送方法、装置和一种消息接收方法、装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032489B2 (en) * 2005-11-12 2011-10-04 LogRhythm Inc. Log collection, structuring and processing
CN102480489A (zh) * 2010-11-30 2012-05-30 北京千橡网景科技发展有限公司 一种用于分布式环境下的日志记录方法和设备
CN102412983A (zh) * 2011-10-12 2012-04-11 广东威创视讯科技股份有限公司 一种设备告警上报方法
CN103220206A (zh) * 2012-01-19 2013-07-24 阿里巴巴集团控股有限公司 一种消息发送方法、装置和一种消息接收方法、装置
CN103051681A (zh) * 2012-12-06 2013-04-17 华中科技大学 一种面向分布式文件系统的协作式日志系统

Also Published As

Publication number Publication date
CN105487963A (zh) 2016-04-13

Similar Documents

Publication Publication Date Title
US10263910B2 (en) Resource calling for hybrid applications
CN104978529B (zh) 网页前端的异常处理方法、异常处理系统及异常处理服务器
WO2017096968A1 (zh) 日志上传方法及装置
CN111835467B (zh) 消息发送方法、装置、计算机设备和存储介质
CN109618225B (zh) 视频抽帧方法、装置、设备和介质
CN107770563B (zh) 一种弹幕消息处理方法及装置
CN107341062B (zh) 一种数据推送方法、装置、设备以及存储介质
CN108089915B (zh) 基于消息队列的业务控件化处理的方法及系统
US9342409B2 (en) Recording medium storing transaction resuming program, information processing apparatus and transaction resuming method
US11537336B2 (en) Resource service system, control method, and storage medium
EP2995028B1 (en) Tuple recovery
CN107239325B (zh) 单证数据处理方法和装置
CN112822260A (zh) 文件传输方法及装置、电子设备、存储介质
CN108011926B (zh) 一种报文发送方法、处理方法、服务器及系统
US10678749B2 (en) Method and device for dispatching replication tasks in network storage device
CN110704148A (zh) 设备页面元素的获取方法、装置、服务器及存储介质
CN108241616B (zh) 消息推送方法和装置
CN105487963B (zh) 消息确认方法及装置
CN112825525B (zh) 用于处理事务的方法和装置
US10135578B2 (en) Method of re-transmitting data and electronic device therefor
CN109905459B (zh) 一种数据传输方法及装置
CN111858379B (zh) 应用的测试方法和装置
CN110704208B (zh) 多个系统的消息处理方法、服务器及存储介质
CN113590355A (zh) 工作流回调消息的实现方法及消息网关系统
CN111552907A (zh) 消息处理方法、装置、设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant