CN114465697B - 一种基于以太网的可靠通信方法、装置及设备 - Google Patents
一种基于以太网的可靠通信方法、装置及设备 Download PDFInfo
- Publication number
- CN114465697B CN114465697B CN202210370924.5A CN202210370924A CN114465697B CN 114465697 B CN114465697 B CN 114465697B CN 202210370924 A CN202210370924 A CN 202210370924A CN 114465697 B CN114465697 B CN 114465697B
- Authority
- CN
- China
- Prior art keywords
- message
- data packet
- receiver
- sender
- recorded
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1621—Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1809—Selective-repeat protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
Abstract
本申请公开了一种基于以太网的可靠通信方法,应用于接收方,包括:接收发送方发送的数据包;确定数据包的消息ID;若数据包的消息ID大于本地记录的消息ID,则将本地记录的消息ID更新为数据包的消息ID以同步双方消息ID,并向发送方发送异常应答包;若数据包的消息ID小于本地记录的消息ID,则向发送方发送携带本地记录的消息ID的异常应答包以同步双方消息ID。可见,该方法实现了发送方和接收方之间消息ID的同步,有效保证了整个通信过程的可靠性。此外,本申请还提供了一种基于以太网的可靠通信装置、设备及计算机可读存储介质,其技术效果与上述方法的技术效果相对应。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种基于以太网的可靠通信方法、装置、设备及计算机可读存储介质。
背景技术
以太网作为支持单播、组播及广播的不可靠通信协议,数据报文在通信链路上可能出现报文乱序或报文丢失的情况,使用以太网进行通信的软件无法确定对端是否正确收到了所有已经发送的消息。
在刀片机箱内部,板卡与板卡之间通过以太网交换芯片互相连接在一个内部局域网中,它们之间的通信模式需要具备一对一(管理板卡向单个业务板卡发送查询消息)及一对多( 管理板卡向某一类业务板卡发送配置消息)。而这些通信需求必须要保证消息按序准确到达接收方,否则会出现消息错乱导致配置信息不同步问题。因此,多个不同消息之间也需要保证顺序到达,避免依赖关系错误导致业务程序错误。
发明内容
本申请的目的是提供一种基于以太网的可靠通信方法、装置、设备及计算机可读存储介质,用以解决目前基于以太网的通信方案的可靠性较差的问题。其具体方案如下:
第一方面,本申请提供了一种基于以太网的可靠通信方法,应用于接收方,包括:
接收发送方发送的数据包;
确定所述数据包的消息ID;
若所述数据包的消息ID大于本地记录的消息ID,则将所述本地记录的消息ID更新为所述数据包的消息ID以同步双方消息ID,并向所述发送方发送异常应答包;
若所述数据包的消息ID小于本地记录的消息ID,则向所述发送方发送携带所述本地记录的消息ID的异常应答包以同步双方消息ID。
可选的,所述将所述本地记录的消息ID更新为所述数据包的消息ID以同步双方消息ID,并向所述发送方发送异常应答包,包括:
将所述本地记录的消息ID更新为所述数据包的消息ID以同步双方消息ID,并向所述发送方发送异常应答包,所述异常应答包的异常字段为表示消息ID过大的错误码;
相应的,所述向所述发送方发送携带所述本地记录的消息ID的异常应答包以同步双方消息ID,包括:
向所述发送方发送携带所述本地记录的消息ID的异常应答包以同步双方消息ID,所述异常应答包的异常字段为表示消息ID过小的错误码。
可选的,还包括:
若所述数据包的消息ID等于本地记录的消息ID,则向所述发送方发送正常应答包。
第二方面,本申请提供了一种基于以太网的可靠通信装置,应用于接收方,包括:
接收模块,用于接收发送方发送的数据包;
消息ID确定模块,用于确定所述数据包的消息ID;
过大同步模块,用于若所述数据包的消息ID大于本地记录的消息ID,则将所述本地记录的消息ID更新为所述数据包的消息ID以同步双方消息ID,并向所述发送方发送异常应答包;
过小同步模块,用于若所述数据包的消息ID小于本地记录的消息ID,则向所述发送方发送携带所述本地记录的消息ID的异常应答包以同步双方消息ID。
第三方面,本申请提供了一种基于以太网的可靠通信方法,应用于发送方,包括:
向接收方发送携带消息ID的数据包;
在所述数据包的消息ID小于所述接收方记录的消息ID时,接收所述接收方发送的异常应答包,判定本次传输失败;
在所述数据包的消息ID大于所述接收方记录的消息ID时,接收所述接收方发送的携带所述接收方记录的消息ID的异常应答包,判定本次传输失败,并将本地的消息ID更新为所述接收方记录的消息ID。
可选的,所述在所述数据包的消息ID小于所述接收方记录的消息ID时,接收所述接收方发送的异常应答包,判定本次传输失败;在所述数据包的消息ID大于所述接收方记录的消息ID时,接收所述接收方发送的携带所述接收方记录的消息ID的异常应答包,判定本次传输失败,并将本地的消息ID更新为所述接收方记录的消息ID,包括:
接收所述接收方发送的异常应答包;
在所述异常应答包的异常字段为表示消息ID过大的错误码时,判定所述数据包的消息ID大于所述接收方记录的消息ID,并判定本次传输失败;
在所述异常应答包的异常字段为表示消息ID过小的错误码时,判定所述数据包的消息ID小于所述接收方记录的消息ID,并判定本次传输失败,从所述异常应答包中提取所述接收方记录的消息ID,将本地的消息ID更新为所述接收方记录的消息ID。
可选的,还包括:
在所述数据包的消息ID等于所述接收方记录的消息ID时,接收所述接收方发送的正常应答包,判定本次传输成功。
第四方面,本申请提供了一种基于以太网的可靠通信装置,应用于发送方,包括:
发送模块,用于向接收方发送携带消息ID的数据包;
第一应答模块,用于在所述数据包的消息ID小于所述接收方记录的消息ID时,接收所述接收方发送的异常应答包,判定本次传输失败;
第二应答模块,用于在所述数据包的消息ID大于所述接收方记录的消息ID时,接收所述接收方发送的携带所述接收方记录的消息ID的异常应答包,判定本次传输失败,并将本地的消息ID更新为所述接收方记录的消息ID。
第五方面,本申请提供了一种基于以太网的可靠通信设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的基于以太网的可靠通信方法。
第六方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的基于以太网的可靠通信方法。
本申请所提供的一种基于以太网的可靠通信方法,应用于接收方,包括:接收发送方发送的数据包;确定数据包的消息ID;若数据包的消息ID大于本地记录的消息ID,则将本地记录的消息ID更新为数据包的消息ID以同步双方消息ID,并向发送方发送异常应答包;若数据包的消息ID小于本地记录的消息ID,则向发送方发送携带本地记录的消息ID的异常应答包以同步双方消息ID。可见,该方法实现了发送方和接收方之间消息ID的同步,有效保证了整个通信过程的可靠性。
此外,本申请还提供了一种基于以太网的可靠通信装置、设备及计算机可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的数据包头结构示意图;
图2为本申请提供的通信框架示意图;
图3为本申请提供的应用于接收方的基于以太网的可靠通信方法实施例的流程图;
图4为本申请提供的应用于接收方的基于以太网的可靠通信装置实施例的示意图;
图5为本申请提供的应用于发送方的基于以太网的可靠通信方法实施例的流程图;
图6为本申请提供的应用于发送方的基于以太网的可靠通信装置实施例的示意图;
图7为本申请提供的接收方消息ID过小的第一状态示意图;
图8为本申请提供的接收方消息ID过小的第二状态示意图;
图9为本申请提供的接收方消息ID过小的第三状态示意图;
图10为本申请提供的发送方消息ID过小的第一状态示意图;
图11为本申请提供的发送方消息ID过小的第二状态示意图;
图12为本申请提供的发送方消息ID过小的第三状态示意图;
图13为本申请提供的基于以太网的可靠通信设备实施例的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的核心在于提供一种基于以太网的可靠通信方法、装置、设备及计算机可读存储介质。传输协议总体设计为以消息为单位的传输模式,并对每一个消息指定一个消息ID (Message ID),用于唯一标识一个消息。每发送一个消息,对应的消息ID号增加1,例如当前发送的消息的消息ID为1,无论是否发送成功,下次发送消息时,其消息ID必须为2。正式发送消息之前,发送方的消息ID必须与所有接收方的消息ID互相同步,且在各自内存中有记录,避免因为任意一方重启导致消息不完整,例如接收方当前应该接收消息ID为5的消息,随后因为某种原因,未收到发送方发送的消息6/7/8,当消息9到达时,接收方应该判定消息ID错位,应当进行同步后再继续通信。
首先对相关背景进行介绍。图1是数据包头结构示意图,如图1所示,数据包主要包括以下字段:
DEST_MAC:目的mac地址,一对一通信时,填接收方实际mac地址;一对多通信时,预设的组播地址或广播地址;
SRC_MAC:源mac地址,填发送方实际mac地址;
TYPE:以太网协议类型,本申请中用于唯一标识一个应用程序;
PLD_len:当前报文的载荷长度;
Message_ID:当前消息的消息ID;
DIR:发送方或接收方标识,为0时表示为发送方发送出去的报文(数据报文),为1时表示为接收方发送出去的报文(应答报文);
ERR:异常字段,为0时表示无错误,其他值表示特定的错误类型。
图2是通信框架图,图2中,socket表示一对多或一对一的通信链路,图1中示意了一个发送方P个接收方;msg表示需要发送的消息,以Message ID编号;receiver表示接收方。一条通信链路下的发送方与所有接收方,彼此保存的当前的消息ID应该相等,以保证消息n与消息n+1之间的依赖关系的完整性。因此,接收方每收到一个新的消息ID,就将其保存到本地,下一个消息的消息ID必须为本地的值加1,否则认为传输失败。
发送的包分为三种类型:第一种为数据包,由发送方发送;第二种为正常应答包,由接收方发送,表示正常收到数据包;第三种为异常应答包,由接收方发送发送,表示当前的数据包已收到,但出现了某种错误。
下面对本申请提供的应用于接收方的基于以太网的可靠通信方法实施例进行介绍,参见图3,该实施例包括:
S31、接收发送方发送的数据包;
S32、确定数据包的消息ID;
S33、若数据包的消息ID大于本地记录的消息ID,则将本地记录的消息ID更新为数据包的消息ID以同步双方消息ID,并向发送方发送异常应答包;
上述本地记录的消息ID是指接收方记录的消息ID。
S34、若数据包的消息ID小于本地记录的消息ID,则向发送方发送携带本地记录的消息ID的异常应答包以同步双方消息ID。
作为一种具体的实施方式,在数据包的消息ID大于本地记录的消息ID时,接收方向发送方发送的异常应答包中的异常字段为表示消息ID过大的错误码;相应的,在数据包的消息ID小于本地记录的消息ID时,接收方向发送方发送的异常应答包中的异常字段为表示消息ID过小的错误码。
可以理解的是,若接收方接收到的数据包的消息ID等于本地记录的消息ID,则表明本次传输正常,接收方向发送方发送正常应答包。
总之,接收方的工作流程主要如下:
1、本地记录的消息ID值为x,接收到的数据报文中消息ID值为z,判断z是否与x相等,z等于x转到2,z小于x转到3,z大于x转到4;
2、向发送方发送正常应答报文,其中DEST_MAC填发送方的mac地址,SRC_MAC填本机的 mac地址,TYPE填入套接字对应的类型值,PLD_填入0,消息ID填入x,DIR填入0,ERR填0,随后将pkt(x)的头部剥离,转交给应用层,转到1;
上述pkt(x)是指:已经包含消息头部,消息ID为x的数据包。数据报文ack(x,y)是指:消息ID为x,被接收方y应答的应答报文。
3、向发送方发送异常应答报文,其中DEST_MAC填发送方的mac地址,SRC_MAC填本机的 mac地址,TYPE填入套接字对应的类型值,PLD_填入0,消息ID填入本机保存的当前的消息 ID值x,DIR填入0,ERR填消息ID过小的错误码1,转到1;
4、向发送方发送异常应答报文,其中DEST_MAC填发送方的mac地址,SRC_MAC填本机的 mac地址,TYPE填入套接字对应的类型值,PLD_填入0,消息ID填入当前收到的报文的消息 ID值z,DIR填入0,ERR填消息ID过大的错误码2,转到1。
下面对本申请实施例提供的应用于接收方的基于以太网的可靠通信装置实施例进行介绍,下文描述的应用于接收方的基于以太网的可靠通信装置与上文描述的应用于接收方的基于以太网的可靠通信方法可相互对应参照。
如图4所示,该实施例包括:
接收模块41,用于接收发送方发送的数据包;
消息ID确定模块42,用于确定数据包的消息ID;
过大同步模块43,用于若数据包的消息ID大于本地记录的消息ID,则将本地记录的消息ID更新为数据包的消息ID以同步双方消息ID,并向发送方发送异常应答包;
过小同步模块44,用于若数据包的消息ID小于本地记录的消息ID,则向发送方发送携带本地记录的消息ID的异常应答包以同步双方消息ID。
本实施例的应用于接收方的基于以太网的可靠通信装置用于实现前述的应用于接收方的基于以太网的可靠通信方法,因此该装置的具体实施方式可见前文中的应用于接收方的基于以太网的可靠通信方法的实施例部分,这里不再赘述。
下面开始详细介绍本申请提供的应用于发送方的基于以太网的可靠通信方法实施例,参见图5,该实施例具体包括:
S51、向接收方发送携带消息ID的数据包;
S52、在数据包的消息ID小于接收方记录的消息ID时,接收接收方发送的异常应答包,判定本次传输失败;
S53、在数据包的消息ID大于接收方记录的消息ID时,接收接收方发送的携带接收方记录的消息ID的异常应答包,判定本次传输失败,并将本地的消息ID更新为接收方记录的消息ID。
作为一种具体的实施方式,发送方根据异常应答包中的异常字段判断本次传输中自身的消息ID与接收方的消息ID之间的大小关系。具体的,发送方接收接收方发送的异常应答包;在异常应答包的异常字段为表示消息ID过大的错误码时,发送方判定数据包的消息ID大于接收方记录的消息ID,并判定本次传输失败;在异常应答包的异常字段为表示消息ID过小的错误码时,发送方判定数据包的消息ID小于接收方记录的消息ID,并判定本次传输失败,进而从异常应答包中提取接收方记录的消息ID,将本地的消息ID更新为接收方记录的消息ID。这里的本地的消息ID是指发送方的消息ID。
可以理解的是,若数据包的消息ID等于接收方记录的消息ID时,则表明本次传输成功,发送方会接收接收方发送的正常应答包,判定本次传输成功。
总之,发送方的工作流程主要如下:
1、发送方本地记录的消息ID为x,当有数据发送时,转到2,当有数据接收时,转到3,当发送的消息超时(一定时间内未收到任何应答报文),转到4;
2、发送方准备好需要发送的数据长度为len(不超过1500字节),并将其组织成数据包的形式pkt(x),其中DEST_MAC根据发送方不同,选择填入单播、组播或广播mac地址,SRC_MAC填入本机mac,TYPE填入套接字对应的类型值,PLD_len填入len,消息ID填入x, DIR填入1,ERR填0,通过以太网套接字发送出去,随后转到1;
3、若收到正常应答报文ack(x,y),转到3.1,若收到异常应答报文ack(x,y),转到3.3;
3.1、标记接收方y已正常接收到报文,判断pkt(x)是否被所有接收者收到,若是,则转到3.2,否则转到1;
3.2、判断消息x中的所有数据报文是否全部被所有接收者收到,若是,则判定本次传输成功,随后转到1,否则直接转到1;
3.3、判断异常应答报文类型,若为消息ID过大的错误码2(接收方y的消息ID过小,已更新到最新,现将更新情况通告给发送方),则判定本次传输失败,随后转到1;若为消息ID 过小的错误码1(接收方y的消息ID比当前x还要大,现将最新的消息ID通告给发送方),则用当前异常应答报文ack(z,y)中的消息ID值z更新为本地消息ID,并判定本次传输失败,随后转到1。
4、发送超时,若消息ID为x的所有数据报文已被重发3次,判定为当前消息传输失败;否则 重新发送消息ID为x的所有数据报文,并记录重发次数。
下面对本申请实施例提供的应用于发送方的基于以太网的可靠通信装置实施例进行介绍,下文描述的应用于发送方的基于以太网的可靠通信装置与上文描述的应用于发送方的基于以太网的可靠通信方法可相互对应参照。
如图6所示,该实施例包括:
发送模块61,用于向接收方发送携带消息ID的数据包;
第一应答模块62,用于在数据包的消息ID小于接收方记录的消息ID时,接收接收方发送的异常应答包,判定本次传输失败;
第二应答模块63,用于在数据包的消息ID大于接收方记录的消息ID时,接收接收方发送的携带接收方记录的消息ID的异常应答包,判定本次传输失败,并将本地的消息ID更新为接收方记录的消息ID。
本实施例的应用于发送方的基于以太网的可靠通信装置用于实现前述的应用于发送方的基于以太网的可靠通信方法,因此该装置的具体实施方式可见前文中的应用于发送方的基于以太网的可靠通信方法的实施例部分,在此不再展开介绍。
上文分别从接收方和发送方的角度对本申请的实施过程进行介绍,下面融合双方对整体实施过程做进一步说明。
实际应用中,消息ID不同步主要分为两种情形:接收方Message ID过小,发送方Message ID过小。下面分别介绍这两种情形:
第一种,接收方Message ID过小
发送方A给接收方B、C、D发送广播消息,其中A、B、C、D后部的数字代表当前保存的消息ID。
1、初始状态,如图7所示,Message ID彼此同步,均为1,下次发送时,消息的Message ID将会为2。
2、A发送Message ID为2的消息,链路途中出现了丢包,只有D没有完整接收到Message ID 为2的数据包,A会判定消息2传递失败。B、C完整收到了A传递的所有包,唯独D没有收到,B、C判定为成功,D判定为失败,如图8所示。
3、A正常发送Message ID为3的消息,D接收Message ID为3的消息,发现比当前保存的ID值1要大,D判定当前消息传递失败,然后强制更新本板卡的Message ID为3,并向A发送异常应答包,如图9所示。由于D为发送异常应答包,因此A会判定当前消息传递失败。
总体来说,第1点中为正常传输情况;第2点中因为某种因素(丢包、接收方程序重启等),导致接收方的Message ID与链路其他发送方、接收方的Message ID不一致;第3点描述了在某个接收方Message ID小于其他发送方、接收方Message ID时,一种同步手段,对于发送方A来说,消息3的发送与正常消息发送没有区别,但在Message ID小于其他发送方、接收方的接收方D,在收到大于本地的Message ID的数据包时,便判定本地的 Message ID已经偏小,因此发送异常应答包,并将本地的Message ID修改为最新的值,达到Message ID同步的目的。
第二种,发送方Message ID过小
发送方A给接收方B、C、D发送广播消息,其中A、B、C、D后部的数字代表当前保存的消息ID。
1、初始状态,如图10所示,Message ID彼此同步,均为1,下次发送时,消息的Message ID将会为2。
2、发送方A因为重启或其他原因,导致内部保存的Message ID被重置为初始值0,如图11所示。
3、发送方A发送0消息,B、C、D收到消息后,收到的消息中的Message ID小于本地保存 Message ID,说明发送端A的Message ID过小,接收方随后发送包含当前本地的MessageID 的异常应答包给A。A收到异常应答包后,若大于本地保存的Message ID,则将其更新到本地,并判定消息0发送失败,如图12所示。
总体来说,第1点中为正常传输情况;第2点中因为某种因素(丢包、接收方程序重启等),导致发送方的Message ID与链路其他发送方、接收方的Message ID不一致;第3点描述了在发送方消息ID小于某一接收方的消息ID时,互相同步消息ID的方法。对 于发送方A来说,消息0的发送与正常消息发送没有区别,但的消息ID大于0的B、C、D而言 (他们期待消息ID为2的消息),在收到报文后会检测到这种错误,此时B、C、D会发送异 常应答报文给A,并附带上最新的消息ID。A在收到异常应答报文后,会将本地的消息ID更新到最大值(即2),本次消息判定为传输失败。但下次的消息传输,发送方与所有接收方的消息ID是互相同步的。
此外,本申请还提供了一种基于以太网的可靠通信设备,如图13所示,包括:
存储器100:用于存储计算机程序;
处理器200:用于执行所述计算机程序,以实现如上文所述的基于以太网的可靠通信方法。
最后,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的基于以太网的可靠通信方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1. 一种基于以太网的可靠通信方法,其特征在于,应用于接收方,每一个消息指定一个消息ID ,每发送一个消息,对应的消息ID号增加1,接收方每收到一个新的消息ID,将其保存到本地,下一个消息的消息ID为本地的值加1,否则传输失败;正式发送消息之前,发送方的消息ID与所有接收方的消息ID互相同步,且在各自内存中有记录,包括:
接收发送方发送的数据包;
确定所述数据包的消息ID;
若所述数据包的消息ID大于本地记录的消息ID,则将所述本地记录的消息ID更新为所述数据包的消息ID以同步双方消息ID,并向所述发送方发送异常应答包;
若所述数据包的消息ID小于本地记录的消息ID,则向所述发送方发送携带所述本地记录的消息ID的异常应答包以同步双方消息ID。
2.如权利要求1所述的方法,其特征在于,所述将所述本地记录的消息ID更新为所述数据包的消息ID以同步双方消息ID,并向所述发送方发送异常应答包,包括:
将所述本地记录的消息ID更新为所述数据包的消息ID以同步双方消息ID,并向所述发送方发送异常应答包,所述异常应答包的异常字段为表示消息ID过大的错误码;
相应的,所述向所述发送方发送携带所述本地记录的消息ID的异常应答包以同步双方消息ID,包括:
向所述发送方发送携带所述本地记录的消息ID的异常应答包以同步双方消息ID,所述异常应答包的异常字段为表示消息ID过小的错误码。
3.如权利要求1所述的方法,其特征在于,还包括:
若所述数据包的消息ID等于本地记录的消息ID,则向所述发送方发送正常应答包。
4.一种基于以太网的可靠通信装置,其特征在于,应用于接收方,每一个消息指定一个消息ID ,每发送一个消息,对应的消息ID号增加1,接收方每收到一个新的消息ID,将其保存到本地,下一个消息的消息ID为本地的值加1,否则传输失败;正式发送消息之前,发送方的消息ID与所有接收方的消息ID互相同步,且在各自内存中有记录,包括:
接收模块,用于接收发送方发送的数据包;
消息ID确定模块,用于确定所述数据包的消息ID;
过大同步模块,用于若所述数据包的消息ID大于本地记录的消息ID,则将所述本地记录的消息ID更新为所述数据包的消息ID以同步双方消息ID,并向所述发送方发送异常应答包;
过小同步模块,用于若所述数据包的消息ID小于本地记录的消息ID,则向所述发送方发送携带所述本地记录的消息ID的异常应答包以同步双方消息ID。
5.一种基于以太网的可靠通信方法,其特征在于,应用于发送方,每一个消息指定一个消息ID ,每发送一个消息,对应的消息ID号增加1,正式发送消息之前,发送方的消息ID与所有接收方的消息ID互相同步,且在各自内存中有记录;接收方每收到一个新的消息ID,将其保存到本地,下一个消息的消息ID为本地的值加1,否则传输失败;包括:
向接收方发送携带消息ID的数据包;
在所述数据包的消息ID小于所述接收方记录的消息ID时,接收所述接收方发送的异常应答包,判定本次传输失败;
在所述数据包的消息ID大于所述接收方记录的消息ID时,接收所述接收方发送的携带所述接收方记录的消息ID的异常应答包,判定本次传输失败,并将本地的消息ID更新为所述接收方记录的消息ID。
6.如权利要求5所述的方法,其特征在于,所述在所述数据包的消息ID小于所述接收方记录的消息ID时,接收所述接收方发送的异常应答包,判定本次传输失败;在所述数据包的消息ID大于所述接收方记录的消息ID时,接收所述接收方发送的携带所述接收方记录的消息ID的异常应答包,判定本次传输失败,并将本地的消息ID更新为所述接收方记录的消息ID,包括:
接收所述接收方发送的异常应答包;
在所述异常应答包的异常字段为表示消息ID过大的错误码时,判定所述数据包的消息ID大于所述接收方记录的消息ID,并判定本次传输失败;
在所述异常应答包的异常字段为表示消息ID过小的错误码时,判定所述数据包的消息ID小于所述接收方记录的消息ID,并判定本次传输失败,从所述异常应答包中提取所述接收方记录的消息ID,将本地的消息ID更新为所述接收方记录的消息ID。
7.如权利要求5所述的方法,其特征在于,还包括:
在所述数据包的消息ID等于所述接收方记录的消息ID时,接收所述接收方发送的正常应答包,判定本次传输成功。
8.一种基于以太网的可靠通信装置,其特征在于,应用于发送方,每一个消息指定一个消息ID ,每发送一个消息,对应的消息ID号增加1,正式发送消息之前,发送方的消息ID与所有接收方的消息ID互相同步,且在各自内存中有记录;接收方每收到一个新的消息ID,将其保存到本地,下一个消息的消息ID为本地的值加1,否则传输失败;包括:
发送模块,用于向接收方发送携带消息ID的数据包;
第一应答模块,用于在所述数据包的消息ID小于所述接收方记录的消息ID时,接收所述接收方发送的异常应答包,判定本次传输失败;
第二应答模块,用于在所述数据包的消息ID大于所述接收方记录的消息ID时,接收所述接收方发送的携带所述接收方记录的消息ID的异常应答包,判定本次传输失败,并将本地的消息ID更新为所述接收方记录的消息ID。
9.一种基于以太网的可靠通信设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求1至3或5至7任意一项所述的基于以太网的可靠通信方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1至3或5至7任意一项所述的基于以太网的可靠通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210370924.5A CN114465697B (zh) | 2022-04-11 | 2022-04-11 | 一种基于以太网的可靠通信方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210370924.5A CN114465697B (zh) | 2022-04-11 | 2022-04-11 | 一种基于以太网的可靠通信方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114465697A CN114465697A (zh) | 2022-05-10 |
CN114465697B true CN114465697B (zh) | 2022-07-19 |
Family
ID=81417850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210370924.5A Active CN114465697B (zh) | 2022-04-11 | 2022-04-11 | 一种基于以太网的可靠通信方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114465697B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116527617B (zh) * | 2023-06-29 | 2023-10-03 | 北京华龙通科技有限公司 | 用于容迟容断网络的即时通信方法、系统、设备及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5011728B2 (ja) * | 2006-01-11 | 2012-08-29 | 日本電気株式会社 | ホットスタンバイ方式を採用したシステム及びそれに用いる同期方法 |
CN103647625B (zh) * | 2013-11-19 | 2017-01-25 | 中国科学院计算技术研究所 | 一种基于链路的数据可靠传输方法 |
CN108846085B (zh) * | 2018-06-12 | 2021-11-05 | 北京奇艺世纪科技有限公司 | 一种id生成方法、装置、电子设备及系统 |
CN110233791B (zh) * | 2019-06-06 | 2022-04-15 | 北京百度网讯科技有限公司 | 数据去重方法和装置 |
CN112448898A (zh) * | 2019-08-28 | 2021-03-05 | 无锡江南计算技术研究所 | 基于序列号机制的消息保序方法 |
CN112367149B (zh) * | 2020-10-28 | 2022-10-14 | 百果园技术(新加坡)有限公司 | 消息获取方法、装置、设备及存储介质 |
-
2022
- 2022-04-11 CN CN202210370924.5A patent/CN114465697B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114465697A (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8064474B2 (en) | Method and apparatus for selecting a responder to enable reliable multicast | |
EP1747644B1 (en) | Method and apparatus for group communication with end-to-end reliability | |
CN101855856B (zh) | 无线通信系统中的状态报告方法 | |
US7451381B2 (en) | Reliable method and system for efficiently transporting dynamic data across a network | |
FI112753B (fi) | Menetelmä ja järjestely synkronoinnin säilyttämiseksi tiedonsiirtoyhteyden resetoinnin yhteydessä | |
CN103004141B (zh) | 网络环路检测方法、设备及系统 | |
JP3349926B2 (ja) | 受信制御装置、通信制御システム及び通信制御方法 | |
US6760766B1 (en) | Data transmission method and device | |
US20020116515A1 (en) | Network system, server, clients, communication method, and communication computer program product | |
US20060239195A1 (en) | Method and apparatus for dual-mode application update protocol | |
CN114465697B (zh) | 一种基于以太网的可靠通信方法、装置及设备 | |
CN113721966B (zh) | 节点升级方法、装置、存储介质及电子装置 | |
CN113746733A (zh) | 表项同步方法、网关设备、组网系统及存储介质 | |
JP4354924B2 (ja) | Mmsメッセージの分割伝送及び自動再伝送方法 | |
CN101369879B (zh) | 一种请求数据重传的方法及装置 | |
US8312339B2 (en) | Apparatuses and methods for controlling automatic repeat request (ARQ) reset in broadband wireless communication system | |
CN112243139B (zh) | 一种多媒体终端的节目分发同步方法及系统 | |
CN107786607B (zh) | 一种消息重传方法、消息重传服务器及用户设备 | |
KR20060043794A (ko) | Mms 메시지의 분할 전송 및 자동 재전송 방법 | |
CN112104531B (zh) | 一种备份实现方法及装置 | |
US20050262224A1 (en) | Method for modifying one or more parameters for the operation of a network and subscribers for carrying out this method | |
CN109525496B (zh) | 一种链路状态信息的更新方法及装置 | |
CN115412483B (zh) | 一种跨设备链路聚合保活报文交互的方法和系统 | |
KR20090014744A (ko) | 단말기의 대기화면으로의 콘텐츠 전송 방법 및 그를 위한dcd/bcmcs 연동시스템, dcd 서버, smd 센터및 단말기 | |
JP2002077165A (ja) | 多重化ネットワーク通信装置 |
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 |