报文处理的方法及装置制造方法及图纸

技术编号:15295748 阅读:112 留言:0更新日期:2017-05-11 13:08
本发明专利技术提供了一种报文处理的方法及装置,其中,该方法包括:接收来自客户端的第一请求报文,其中,该第一请求报文用于请求对预定数据进行处理;判断在接收第一请求报文之前,是否接收过与第一请求报文相同的第二请求报文;在判断结果为接收过第二请求报文的情况下,根据第二请求报文的处理状态对第一请求报文进行处理。通过本发明专利技术,解决了相关技术中存在的重复执行相同的处理,从而导致数据错误的问题,进而达到了提高执行效率和准确性,减少系统开销的效果。

Message processing method and device

The present invention provides a method and a device for processing message wherein the method comprises: receiving a first request message from the client, wherein the first request message for requesting for processing a predetermined data; judge before receiving a first request message is received and the first request message the same second request message; in judgment the received request message second cases, according to the state second request message to the first request message processing. The invention solves the problem that the repeated processing of the same processing is carried out in the relevant technology, thereby leading to the data error, and thus the effect of improving the execution efficiency and accuracy and reducing the system cost is achieved.

【技术实现步骤摘要】

本专利技术涉及通信领域,具体而言,涉及一种报文处理的方法及装置
技术介绍
云计算(CloudComputing)是网格计算(GridComputing)、分布式计算(DistributedComputing)、并行计算(ParallelComputing)、效用计算(UtilityComputing)、网络存储(NetworkStorageTechnologies)、虚拟化(Virtualization)、负载均衡(LoadBalance)等传统计算机技术和网络技术发展融合的产物。它旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的系统。分布式存储是云计算范畴中的一个领域,其作用是提供海量数据的分布式存储服务以及高速读写访问的能力。分布式存储系统是由若干服务器节点(以下简称“节点”或“服务节点”)和客户端互相连接构成的。在分布式存储系统中,当客户端给服务节点发送消息进行某数据自增操作过程中,服务节点故障会导致客户端无法判断是否可以重发,此操作具有不可重发性。这个过程中包含两个需要解决的问题,一是服务节点故障时如何保证服务不中断,二是如何保证已处理但未返回的临界消息如何被正确重新执行。对于节点故障时保证服务不间断的解决方法,一般是将服务节点划分为若干服务组,每组由主节点和多个备节点组成。客户端记录服务组节点列表,当主节点故障时,将请求消息发送给备节点进行处理,达到服务不间断,但是这种方法并不能保证非幂等操作(如自增)重发后的正确性。如数据A当前值是5,如果节点在已处理操作但未返回报文前故障,重发自增操作会导致A增加到7。这样就出现了错误。针对相关技术中存在的重复执行相同的处理,从而导致数据错误的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术提供了一种报文处理的方法及装置,以至少解决相关技术中存在的重复执行相同的处理,从而导致数据错误的问题。根据本专利技术的一个方面,提供了一种报文处理的方法,包括:接收来自客户端的第一请求报文,其中,所述第一请求报文用于请求对预定数据进行处理;判断在接收所述第一请求报文之前,是否接收过与所述第一请求报文相同的第二请求报文;在判断结果为接收过所述第二请求报文的情况下,根据所述第二请求报文的处理状态对所述第一请求报文进行处理。可选地,判断在接收所述第一请求报文之前,是否接收过与所述第一请求报文相同的第二请求报文包括:获取所述第一请求报文的第一报文标识;判断存储的预先接收到的一个或多个第三请求报文的报文标识中是否存在与所述第一报文标识相同的报文标识;在判断结果为是的情况下,确定接收过所述第二请求报文;和/或,在判断结果为否的情况下,确定未接收过所述第二请求报文。可选地,所述报文标识包括所述客户端的标识和用于标识请求报文的本地唯一数。可选地,根据所述第二请求报文的处理状态对所述第一请求报文进行处理包括:在所述第二请求报文的处理状态为未处理的情况下,根据所述第一请求报文对所述预定数据进行处理;或者,在所述第二请求报文的处理状态为已处理的情况下,忽略所述第一请求报文,并向所述客户端发送对所述预定数据进行处理的处理结果。可选地,所述第二请求报文为原主节点发送的,其中,所述原主节点为在接收来自所述客户端的所述第一请求报文之前,用于接收并处理所述客户端发送的请求报文的节点。根据本专利技术的另一个方面,还提供了一种报文处理的装置,包括:接收模块,用于接收来自客户端的第一请求报文,其中,所述第一请求报文用于请求对预定数据进行处理;判断模块,用于判断在接收所述第一请求报文之前,是否接收过与所述第一请求报文相同的第二请求报文;处理模块,用于在所述判断模块的判断结果为接收过所述第二请求报文的情况下,根据所述第二请求报文的处理状态对所述第一请求报文进行处理。可选地,所述判断模块包括:获取单元,用于获取所述第一请求报文的第一报文标识;判断单元,用于判断存储的预先接收到的一个或多个第三请求报文的报文标识中是否存在与所述第一报文标识相同的报文标识;第一确定单元,用于在所述判断单元的判断结果为是的情况下,确定接收过所述第二请求报文;和/或,第二确定单元,用于在所述判断单元的判断结果为否的情况下,确定未接收过所述第二请求报文。可选地,所述报文标识包括所述客户端的标识和用于标识请求报文的本地唯一数。可选地,所述处理模块包括:第一处理单元,用于在所述第二请求报文的处理状态为未处理的情况下,根据所述第一请求报文对所述预定数据进行处理;或者,第二处理单元,用于在所述第二请求报文的处理状态为已处理的情况下,忽略所述第一请求报文,并向所述客户端发送对所述预定数据进行处理的处理结果。可选地,所述第二请求报文为原主节点发送的,其中,所述原主节点为在接收来自所述客户端的所述第一请求报文之前,用于接收并处理所述客户端发送的请求报文的节点。通过本专利技术,采用接收来自客户端的第一请求报文,其中,该第一请求报文用于请求对预定数据进行处理;判断在接收第一请求报文之前,是否接收过与第一请求报文相同的第二请求报文;在判断结果为接收过第二请求报文的情况下,根据第二请求报文的处理状态对第一请求报文进行处理的方法,由于对于之前是否接收过与第一请求报文相同的第二请求报文进行了判断,可以根据对第二请求报文的处理状态对第一请求报文进行处理,避免了对相同的报文进行多次处理的问题,解决了相关技术中存在的重复执行相同的处理,从而导致数据错误的问题,进而达到了提高执行效率和准确性,减少系统开销的效果。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的报文处理的方法的流程图;图2是根据本专利技术实施例的报文处理的装置的结构框图;图3是根据本专利技术实施例的报文处理的装置中判断模块24的结构框图;图4是根据本专利技术实施例的报文处理的装置中处理模块26的结构框图;图5是根据本专利技术实施例的分布式存储系统与客户端的连接示意图;图6是根据本专利技术实施例的请求报文的处理的方法的流程图;图7是根据本专利技术实施例的正常情况下的消息处理流程图;图8是根据本专利技术实施例的主服务节点故障的消息处理流程图一;图9是根据本专利技术实施例的主服务节点故障的消息处理流程图二。具体实施方式下文中将参考附图并结合实施例来详细说明本专利技术。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。在本实施例中提供了一种报文处理的方法,图1是根据本专利技术实施例的报文处理的方法的流程图,如图1所示,该流程包括如下步骤:步骤S102,接收来自客户端的第一请求报文,其中,该第一请求报文用于请求对预定数据进行处理;步骤S104,判断在接收第一请求报文之前,是否接收过与第一请求报文相同的第二请求报文;步骤S106,在判断结果为接收过第二请求报文的情况下,根据第二请求报文的处理状态对第一请求报文进行处理。通过上述步骤,由于对于之前是否接收过与第一请求报文相同的第二请求报文进行了判断,可以根据对本文档来自技高网
...
报文处理的方法及装置

【技术保护点】
一种报文处理的方法,其特征在于,包括:接收来自客户端的第一请求报文,其中,所述第一请求报文用于请求对预定数据进行处理;判断在接收所述第一请求报文之前,是否接收过与所述第一请求报文相同的第二请求报文;在判断结果为接收过所述第二请求报文的情况下,根据所述第二请求报文的处理状态对所述第一请求报文进行处理。

【技术特征摘要】
1.一种报文处理的方法,其特征在于,包括:接收来自客户端的第一请求报文,其中,所述第一请求报文用于请求对预定数据进行处理;判断在接收所述第一请求报文之前,是否接收过与所述第一请求报文相同的第二请求报文;在判断结果为接收过所述第二请求报文的情况下,根据所述第二请求报文的处理状态对所述第一请求报文进行处理。2.根据权利要求1所述的方法,其特征在于,判断在接收所述第一请求报文之前,是否接收过与所述第一请求报文相同的第二请求报文包括:获取所述第一请求报文的第一报文标识;判断存储的预先接收到的一个或多个第三请求报文的报文标识中是否存在与所述第一报文标识相同的报文标识;在判断结果为是的情况下,确定接收过所述第二请求报文;和/或,在判断结果为否的情况下,确定未接收过所述第二请求报文。3.根据权利要求2所述的方法,其特征在于,所述报文标识包括所述客户端的标识和用于标识请求报文的本地唯一数。4.根据权利要求1所述的方法,其特征在于,根据所述第二请求报文的处理状态对所述第一请求报文进行处理包括:在所述第二请求报文的处理状态为未处理的情况下,根据所述第一请求报文对所述预定数据进行处理;或者,在所述第二请求报文的处理状态为已处理的情况下,忽略所述第一请求报文,并向所述客户端发送对所述预定数据进行处理的处理结果。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第二请求报文为原主节点发送的,其中,所述原主节点为在接收来自所述客户端的所述第一请求报文之前,用于接收并处理所述客户端发送的请求报文的节点。6.一种报文处理的装置,其特征在于,包...

【专利技术属性】
技术研发人员:沈建陈正华郭斌
申请(专利权)人:南京中兴新软件有限责任公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1