报文传输方法、装置、存储介质及计算机设备与流程

文档序号:14914297发布日期:2018-07-11 00:17阅读:197来源:国知局

本发明涉及通信领域,尤其涉及一种报文传输方法、装置、存储介质及计算机设备。



背景技术:

目前,报文的传输方式都是需要先将报文整体接收放入接收缓冲区,同时对报文进行校验,当校验成功时,才将接收缓冲区的数据拷贝到发送缓冲区,然后再发送至目标设备。

由于目前的报文传输方式需要将报文整体接收才能做后续处理,这样使得发送、接收所需时间依赖于报文长度,当报文长短不一时,则会出现时延抖动;而且在报文传输过程中在各个缓冲区之间进行数据转移时也会产生时延。



技术实现要素:

本发明实施例提供一种报文传输方法、装置、存储介质及计算机设备,可以降低报文传输时的时延,消除报文传输的时延抖动。

第一方面,本发明实施例提供一种报文传输方法,包括:

通过所述第一设备的第一端口接收报文;

在接收报文的同时,通过第二端口向第二设备发送所述报文;

对所述报文进行校验,得到校验结果;

根据所述报文获取相应的目标数据,并将所述目标数据保存在缓存区;

根据所述校验结果对所述缓存区内的目标数据进行相应的处理,并向目标设备发送所述缓存区内的待传输数据。

第二方面,本发明实施例还提供一种报文传输装置,包括:

接收单元,用于通过所述第一设备的第一端口接收报文;

发送单元,用于在接收报文的同时,通过第二端口向第二设备发送所述报文;

校验单元,用于对所述报文进行校验,得到校验结果;

获取单元,用于根据所述报文获取相应的目标数据,并将所述目标数据保存在缓存区;

处理单元,用于根据所述校验结果对所述缓存区内的目标数据进行相应的处理,并向目标设备发送所述缓存区内的待传输数据。

第三方面,本发明实施例提供的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如本发明任一实施例提供的报文传输方法。

第四方面,本发明实施例提供的计算机设备,包括处理器和存储器,所述存储器有计算机程序,所述处理器通过调用所述计算机程序,用于执行如本发明任一实施例提供的报文传输方法。

本发明实施例通过所述第一设备的第一端口接收报文;在接收报文的同时,通过第二端口向第二设备发送所述报文;对所述报文进行校验,得到校验结果;根据所述报文获取相应的目标数据,并将所述目标数据保存在缓存区;根据所述校验结果对所述缓存区内的目标数据进行相应的处理,并向目标设备发送所述缓存区内的待传输数据。该方案通过在接收报文的同时,将报文发送出去,并同时进行数据处理,降低了报文收发的时间,从而降低了报文传输的时延,消除了报文传输的时延抖动。

附图说明

下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。

图1为本发明实施例提供的报文传输方法的场景示意图;

图2为本发明实施例提供的报文传输方法的流程示意图;

图3为本发明实施例提供的报文传输方法的另一流程示意图;

图4为本发明实施例提供的音频数据传输场景示意图;

图5为本发明实施例提供的报文传输装置的结构示意图;

图6为本发明实施例提供的报文传输装置的另一结构示意图;

图7为本发明实施例提供的计算机设备的结构示意图。

具体实施方式

请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。

在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。

本文所使用的术语“单元”可看做为在该运算系统上执行的软件对象。本文所述的不同组件、单元、引擎及服务可看做为在该运算系统上的实施对象。而本文所述的装置及方法可以以软件的方式进行实施,当然也可在硬件上进行实施,均在本发明保护范围之内。

本发明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是某些实施例还包括没有列出的步骤或单元,或某些实施例还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本发明实施例提供一种报文传输方法,该报文传输方法的执行主体可以是本发明实施例提供的报文传输装置,或者集成了该报文传输装置的计算机设备,其中该报文传输装置可以采用硬件或者软件的方式实现。

请参阅图1,在具体实施方式中,该计算机设备可以有A端口和B端口,A端口和B端口都是双向端口,即既可以接收数据,也可以发送数据。当A端口接收报文时,A端口即为本发明实施例所提到的第一端口,而B端口则为本发明实施例提到的第二端口;当B端口接收报文时,B端口即为本发明实施例所提到的第一端口,而A端口则为本发明实施例提到的第二端口,由第一端口向第二端口方向发送数据为数据下行,第二端口向第一端口方向发送数据为数据上行;该计算机设备本身也具有多个数据缓存区,用于处理计算机设备本身所需数据。

图1为本发明实施例提供的报文传输方法的应用场景示意图,以报文传输装置集成在计算机设备中为例,计算机设备可以通过该计算机设备的第一端口接收报文;在接收报文的同时,通过第二端口向第二设备发送报文;对报文进行校验,得到校验结果;根据报文获取相应的目标数据,并将目标数据保存在缓存区;根据校验结果对缓存区内的目标数据进行相应的处理,并向目标设备发送缓存区内的待传输数据。

请参阅图2,图2为本发明实施例提供的报文传输方法的流程示意图。本发明实施例提供的报文传输方法的具体流程可以如下:

S201、通过第一设备的第一端口接收报文。

在本实施例中,第一设备指代计算机设备本身,也就是说计算机设备通过第一端口接收报文。例如,该计算机设备为音响时,其接收话筒等发送的语音信息。

S202、在接收报文的同时,通过第二端口向第二设备发送报文。

计算机设备在第一端口接收报文的同时,通过第二端口以预设时延向第二设备发送报文。其中,预设时延可以自由设置。

S203、对报文进行校验,得到校验结果。

具体的,对报文进行完整性校验和循环冗余校验码(Cyclic Redundancy Check,CRC)校验,得到校验结果,该校验结果为报文校验成功或者报文校验失败。

需要说明的是,由于本实施例中的计算机设备不需要通过第一端口将报文整体接收到接收缓冲区,然后再对该报文进行校验,当报文校验成功时,才将接收缓冲区中的报文转移到发送缓冲区,最后才通过第二端口向外发送数据。而是在通过第一端口接收报文的同时,便通过第二端口向第二设备发送报文,同时对报文进行校验,因此在接收完报文的同时,便完成了报文的校验,同时,由于在接收报文的同时,便发送了该报文,虽然发送过程中会产生一些时延,但该时延却较小,且可以自由设置,例如,该时延可以为48ns,因此接收完报文的同时,该报文也基本发送完成。

可以理解的是,报文包含多个字段,其中可以有数据字段,用来存放数据内容,还可以有校验字段,用来存放校验信息。而本实施例中的计算机设备在得到校验结果之后,还可以根据校验结果对报文中的校验信息进行更新。例如,计算机设备在通过其第一端口接收报文的同时,通过其第二端口向第二设备发送报文,同时对接收到的报文进行校验,得到校验结果,然后根据该校验结果对报文中的校验字段进行更新,也就是说将原来报文校验字段中的校验信息换成该计算机设备对报文进行校验之后得到的校验信息,其中校验信息可以包括报文校验成功或者报文校验失败,而由于现有设备在接收到报文之后,需要对报文进行校验,校验成功之后才能将报文发送出去,而校验失败时,则将该报文丢弃,并不会对报文校验字段的校验信息进行更新。相比于现有设备,该计算机设备能更快速的将报文发送出去,并能及时让接受该报文的其他设备得知报文的正确性,在一定程度上,也降低了报文传输的时延。

S204、根据报文获取相应的目标数据,并将目标数据保存在缓存区。

其中,如图1所示,可以使用直接插入或提取技术(AEDP,Add or Extract data Directly in Packet)增加功能接点,该功能接点可以是AEDP接点,该AEDP接点用于获取相应的目标数据或者插入相应的目标数据。

例如当计算机设备从第一端口接收报文时,可以根据该计算机设备本身所需求的数据预先设定数据块的大小,根据预设数据块的大小建立一个窗口,并控制该窗口在报文上滑动,当该窗口的滑动位置为第二预设位置时,获取第二预设位置对应的待获取数据,得到目标数据,并将目标数据保存在缓存区中。其中,第二预设位置可以由获取本计算机设备本身所需数据而定,即本设备需要什么数据时,窗口就会滑动到对应的位置,然后截取对应位置的数据,并存在缓存区。

例如当计算机设备从第二端口接收报文时,步骤S204可以为根据报文获取缓存区中相应的待插入数据,具体可以为:根据该计算机设备需要插入的待插入数据建立一数据块,然后根据该预设数据块的大小建立一个窗口,并控制该窗口在报文上滑动,当该窗口的滑动位置为第一预设位置时,插入相应的待插入数据,得到目标数据,将缓存区中包括目标数据在内的所有待传输数据发送给目标设备,其中第一预设位置可以为报文末尾部分。

S205、根据校验结果对缓存区内的目标数据进行相应的处理,并向目标设备发送所述缓存区内的待传输数据。

在报文校验成功时,向目标设备发送所述缓存区内的待传输数据,其中缓存区内的待传输数据包括目标数据。在报文校验失败时,清除缓存区内的目标数据。

特别的,当报文校验成功时,置第一端口接收正确标志;当报文校验失败时,置第一端口接收错误标志。

由上可知,本实施例通过第一设备的第一端口接收报文;在接收报文的同时,通过第二端口向第二设备发送报文;对报文进行校验,得到校验结果;根据报文获取相应的目标数据,并将目标数据保存在缓存区;根据校验结果对缓存区内的目标数据进行相应的处理,并向目标设备发送所述缓存区内的待传输数据。本发明实施例通过在接收报文的同时,将报文发送出去并同时进行数据处理,节省了处理时间,同时使得发送、接收报文所需时间不依赖于报文长度,相比于现有的以太网技术传输报文的方法,本实施例可以减少报文传输的时延和消除报文传输的时延抖动,实现了报文的低时延和无时延抖动传输。

下面将在上述实施例描述的方法基础上,对本发明的报文传输方法做进一步介绍。参考图3,该报文传输方法可以包括:

S301、通过第一设备的第一端口接收报文。

在本发明实施例中,第一设备指代计算机设备本身,也就是说计算机设备通过第一端口接收报文。例如,该计算机设备为音响时,其接收话筒等发送的语音信息。

S302、在接收报文的同时,通过第二端口向第二设备发送报文。

计算机设备在第一端口接收报文的同时,通过第二端口以预设时延向第二设备发送报文。其中,预设时延可以自由设置。

S303、对报文进行校验,得到校验结果。

具体的,对报文进行完整性校验和循环冗余校验码(Cyclic Redundancy Check,CRC)校验,得到校验结果,该校验结果为报文校验成功或者报文校验失败。

与传统的先校验后发送的报文传输不同的是,本实施例可以在接收报文的以预设时延同时将报文发送出去,并同时对报文进行校验,这样使得在接收完报文的同时,相应的报文也校验完成;由于预设时延较小,且可根据需求自由设置,使得在接受完报文时,该报文也相应的将发送完。

S304、根据校验结果对报文中的校验信息进行更新。

其中,报文包括:校验信息,在得到校验结果之后,还可以包括:根据校验结果对报文中的校验信息进行更新。

可以理解的是,报文包含多个字段,其中可以有数据字段,用来存放数据内容,还可以有校验字段,用来存放校验信息。而本实施例中的计算机设备在得到校验结果之后,还可以根据校验结果对报文中的校验信息进行更新。例如,计算机设备在通过其第一端口接收报文的同时,通过其第二端口向第二设备发送报文,同时对接收到的报文进行校验,得到校验结果,然后根据该校验结果对报文中的校验字段进行更新,也就是说将原来报文校验字段中的校验信息换成该计算机设备对报文进行校验之后得到的校验信息,其中校验信息可以包括报文校验成功或者报文校验失败,而由于现有设备在接收到报文之后,需要对报文进行校验,校验成功之后才能将报文发送出去,而校验失败时,则将该报文丢弃,并不会对报文校验字段的校验信息进行更新。相比于现有设备,该计算机设备能更快速的将报文发送出去,并能及时让接受该报文的其他设备得知报文的正确性,在一定程度上,也降低了报文传输的时延。

S305、根据预设数据块大小建立一个窗口,并控制窗口在报文上滑动。

其中,如图1所示,可以使用直接插入或提取技术(AEDP,Add or Extract data Directly in Packet)增加功能接点,该功能接点可以是AEDP接点,该AEDP接点用于获取相应的目标数据或者插入相应的目标数据。

其中,预设数据块大小可以根据该计算机设备所需要的数据而定,因此该计算机设备在接收到报文时,也可以根据预设数据块的大小建立一个窗口,并控制该窗口在报文上滑动,以获取该计算机设备所需要的数据。

S306、当窗口当前的滑动位置为第二预设位置时,获取第二预设位置对应的待获取数据,得到目标数据,并将目标数据保存在缓存区。

当数据下行时,当窗口当前的滑动位置为第二预设位置时,获取第二预设位置对应的待获取数据,得到目标数据,并将目标数据保存在缓存区中,其中第二预设位置可以为报文数据部分的任何位置,可以由该计算机设备所需要数据的多少决定。

当数据上行时,步骤S306可以为:当窗口当前的滑动位置为第一预设位置时,插入该计算机设备需要插入的待插入数据,得到目标数据,其中第一预设位置可以为报文的末尾。

S307、在报文校验失败时,清除缓存区内的目标数据,并将缓存区内的待传输数据分割成多份子待传输数据。

S308、在报文校验成功时,将缓存区内的待传输数据(包括目标数据)分割成多份子待传输数据。

步骤S307和步骤S308具体可以为:在报文校验失败时,置接收端口接收错误标志,清除缓存区中保存的目标数据,并将缓存区内的待传输数据分割成多份子待传输数据来发送。在报文校验成功时,置接收端口接收正确标志,并将缓存区内的待传输数据(包括目标数据在内)分割成多份子待传输数据来发送,并每发送一个确认接收成功后再发送另一个,以提高准确性。

可以理解的是,缓存区内原本就存在待传输数据,所以不管是否将目标数据存入缓存区内作为待传输数据,都需要向目标设备发送缓存区内原本存在的待传输数据。

S309、将多份子待传输数据排序形成传输序列。

在该步骤中,根据各个子待传输数据在待传输数据中的位置来排序,使得各个子待传输数据中的数据顺序与待传输数据中的数据顺序相同。

S310、将传输序列中当前排序第一的子待传输数据设定为当前子待传输数据。

S311、通过多个第一信道向目标设备发送当前子待传输数据。

其中,每一子待传输数据均通过每一第一信道发送一次。

在该步骤中,例如该第一信道的数量为8个,这样每一子待传输数据就要依次通过各个第一信道分别发送一次,总共要发送8次。每发送完一份子待传输数据(通过8条信道共发送8次)后,并得到目标设备确认该子待传输数据校验成功后,才发送下一份子待传输数据。

S312、接收目标设备返回的响应信息。

其中,该响应信息由目标设备接收到当前子待传输数据后对当前子待传输数据进行校验后生成,并当任一当前子待传输数据校验成功时,返回成功响应信息,当任意当前子待传输数据均校验失败时,返回失败响应信息。对于该当前子待传输数据,每接收到一个当前子待传输数据就校验一个,当一个当前子待传输数据校验成功,显示该当前子待传输数据的携带信息完整且无误,则直接判断校验成功,并停止校验以及自动忽略通过其他信道接收到的该当前子待传输数据,返回成功响应信息。当校验完通过该8个信道接收到的子待传输数据都失败时,则判断传输有误,返回失败响应信息。

S313、当接收到成功响应信息时,将设定为当前子待传输数据的子待传输数据从传输序列中删除。

S314、在删除后判断该传输序列中是否存在子待传输数据。

S315、如果不存在,则判断待传输数据发送完毕。

如果存在,则执行步骤S310。

S316、当接收到失败响应信息时,确认至少一个当前可用的第二信道。

在这种情况下,有可能当前的第一信道都不通畅,或者存在干扰,因此需要换第二信道来传输。第二信道的数量可以为一个,也可以为多个。

S317、关闭当前的多个第一信道并将多个第二信道设定为第一信道,设定完成后执行通过多个第一信道向目标设备发送当前子待传输数据的步骤。

由上可知,本实施例通过第一设备的第一端口接收报文;在接收报文的同时,通过第二端口向第二设备发送报文;对报文进行校验,得到校验结果;根据报文获取相应的目标数据,并将目标数据保存在缓存区;根据校验结果对缓存区内的目标数据进行相应的处理,并向目标设备发送缓存区内的待传输数据。本发明实施例通过在接收报文的同时,将报文发送出去并同时进行数据处理,节省了处理时间,同时使得发送、接收报文所需时间不依赖于报文长度,相比于现有的以太网技术传输报文的方法,本实施例可以减少报文传输的时延和消除报文传输的时延抖动,实现了报文的低时延和无时延抖动传输。

进一步的,由于本实施例中该计算机设备通过将缓存区中待传输数据分割成多份子待传输数据;将多份子待传输数据排序形成传输序列;按照传输序列通过多个第一信道向目标设备依次发送每一子待传输数据,其中,每一子待传输数据均通过每一第一信道发送一次;从而完成缓存区内的待传输数据的传输,由于其中每个子待传输数据均通过多个不同的第一信道发送了多次,大大提高了数据传输的准确性,并保证了传输时延稳定,避免在网络较差的情况下出现传输急剧抖动。

在一实施例中还提供了一种报文传输方法,该方法可以应用于各种场景中,请参阅图4,以该方法应用于音频数据传输场景为例,其中该计算机设备b可以是一个或多个,可以以单独的形式存在,也可以集成在音响等设备中,本实施例以该计算机设备b以单独的形式存在为例。

在该音频数据传输场景中,可以是该计算机设备b通过第一端口接收报文,其中,该报文可以是该计算机设备b通过第一端口从其他设备接收的,例如接收由话筒发送的语音信息;然后计算机设备b接收到该报文的同时,通过第二端口向第二设备发送该报文,该第二设备可以是音响c或者其他中继设备;并同时对报文进行校验,得到校验结果;然后根据该计算机设备b的需求或者预先设定的数据块的大小,建立一个窗口,在第一端口接收的报文中滑动,当滑动到设定位置后,提取该计算机设备b所需要的目标数据,并将其存入该计算机设备b的缓存区;接着等待报文接收结束,在报文接收完的同时,也完成了对报文的校验,当报文校验成功时,则置第一端口接收正确标志,并将该计算机设备b的缓存区内的待传输数据移动到接收队列缓冲区中,经设定的接口发送出去,其中,该计算机设备b可以向音响c发送其缓存区内的待传输数据,也可以向其他设备发送。当报文校验失败时,则置第一端口接收错误标志,并清除该计算机设备b的缓存区内的目标数据,并将该计算机设备b的缓存区内的待传输数据移动到接收队列缓冲区中,经设定的接口发送出去。可以理解的是,不管接收的报文校验结果为成功或者失败,该接收队列缓冲区中都可能存在待传输数据,因此不管接收的报文校验结果为成功或者失败,都需要将接收队列缓冲区中的待传输数据发送出去,只是在报文接收成功时,需要将该计算机设备b获取的目标数据一并发送出去。

在该音频数据传输场景中,也可以是该计算机设备b通过第一端口接收报文,其中,该报文可以是该计算机设备b通过第一端口从其他设备接收的,例如接收由话筒发送的语音信息;然后计算机设备b接收到该报文的同时,通过第二端口向第二设备发送该报文,该第二设备可以是音响或者其他中继设备;并同时对报文进行校验,得到校验结果;然后根据该计算机设备b的需求或者预先设定的数据块的大小,建立一个窗口,在第一端口接收的报文中滑动,当滑动到设定位置后,插入该计算机设备b需要插入的数据,一般可以插入到该报文的末尾;接着等待报文接收结束,在报文接收完的同时,也完成了对报文的校验,当报文校验成功时,则置第一端口接收正确标志,当报文校验失败时,则置第一端口接收错误标志;然后可以向音响c或其他设备发送包括插入的数据在内的待传输数据以及对应的数据校验值。

由上可知,本实施例通过该计算机设备的第一端口接收报文;在接收报文的同时,通过第二端口向第二设备发送报文;对报文进行校验,得到校验结果;根据报文获取相应的目标数据,并将目标数据保存在缓存区;根据校验结果对缓存区内的目标数据进行相应的处理,并向目标设备发送缓存区内的待传输数据。本发明实施例通过在接收报文的同时,将报文发送出去并同时进行数据处理,节省了处理时间,同时使得发送、接收报文所需时间不依赖于报文长度,实现了报文的低时延和无时延抖动传输。

在一实施例中还提供了一种报文传输装置。请参阅图5,图5为本发明实施例提供的报文传输装置的结构示意图。其中该报文传输装置应用于计算机设备,该报文传输装置包括接收单元401、发送单元402、校验单元403、、获取单元404和处理单元405,如下:

接收单元401,用于通过第一设备的第一端口接收报文;

发送单元402,用于在接收报文的同时,通过第二端口向第二设备发送报文;

校验单元403,用于对报文进行校验,得到校验结果;

获取单元404,用于根据报文获取相应的目标数据,并将目标数据保存在缓存区;

处理单元405,用于根据校验结果对缓存区内的目标数据进行相应的处理,并向目标设备发送缓冲区内的待传输数据。

在一实施例中,参考图6,所述装置还可以包括:

更新单元406,用于根据校验结果对报文中的校验信息进行更新。

可以理解的是,报文包含多个字段,其中可以有数据字段,用来存放数据内容,还可以有校验字段,用来存放校验信息。而本实施例中的计算机设备在得到校验结果之后,还可以根据校验结果对报文中的校验信息进行更新。例如,计算机设备在通过其第一端口接收报文的同时,通过其第二端口向第二设备发送报文,同时对接收到的报文进行校验,得到校验结果,然后根据该校验结果对报文中的校验字段进行更新,也就是说将原来报文校验字段中的校验信息换成该计算机设备对报文进行校验之后得到的校验信息,其中校验信息可以包括报文校验成功或者报文校验失败,而由于现有设备在接收到报文之后,需要对报文进行校验,校验成功之后才能将报文发送出去,而校验失败时,则将该报文丢弃,并不会对报文校验字段的校验信息进行更新。相比于现有设备,该计算机设备能更快速的将报文发送出去,并能及时让接受该报文的其他设备得知报文的正确性,在一定程度上,也降低了报文传输的时延。

在一实施例中,参考图6,所述获取单元404,可以包括:

滑动子单元4041,用于根据预设数据块大小建立一个窗口,并控制窗口在报文上滑动;

数据处理子单元4042,用于基于窗口的滑动位置对报文进行数据处理,得到目标数据。

在一实施例中,数据处理子单元4042,具体可以用于:当窗口当前的滑动位置为第一预设位置时,在第一预设位置插入待插入数据,得到目标数据;或者当窗口当前的滑动位置为第二预设位置时,获取第二预设位置对应的待获取数据,得到目标数据。

在一实施例中,参考图6,所述处理单元405,可以包括:

清除子单元4051,用于在报文校验失败时,清除缓存区内的目标数据。

分割子单元4052,用于将待传输数据分割成多份子待传输数据;

排序子单元4053,用于将多份子待传输数据排序形成传输序列;

发送子单元4054,用于按照传输序列通过多个第一信道向目标设备依次发送每一子待传输数据。

在一实施例中,发送子单元4054,具体可以用于:

将传输序列中当前排序第一的子待传输数据设定为当前子待传输数据;

通过多个第一信道向目标设备发送当前子待传输数据,其中,每一子待传输数据均通过每一第一信道发送一次;

接收目标设备返回的响应信息,其中,该响应信息由目标设备接收到当前子待传输数据后对当前子待传输数据进行校验后生成,并当任一当前子待传输数据校验成功时,返回成功响应信息,当任意当前子待传输数据均校验失败时,返回失败响应信息;

当接收到成功响应信息时,将设定为当前子待传输数据的子待传输数据从传输序列中删除,并在删除后将传输序列中当前排序第一的子待传输数据设定为当前子待传输数据;

当接收到失败响应信息时,确认多个当前可用的第二信道;

关闭当前的多个第一信道并将多个第二信道设定为第一信道,并在设定完成后触发发送子单元4054通过多个第一信道向目标设备发送当前子待传输数据。

其中,报文传输装置中各单元执行的步骤可以参考上述方法实施例描述的方法步骤。该报文传输装置可以集成在计算机设备中。

具体实施时,以上各个单元可以作为独立的实体实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单位的具体实施可参见前面的实施例,在此不再赘述。

由上可知,本实施例可以由接收单元401通过第一设备的第一端口接收报文;由发送单元402在接收报文的同时,通过第二端口向第二设备发送报文;由校验单元403对报文进行校验,得到校验结果;由获取单元404根据报文获取相应的目标数据,并将目标数据保存在缓存区;由处理单元405根据校验结果对缓存区内的目标数据进行相应的处理,并向目标设备发送缓存区内的待传输数据。本发明实施例通过在接收报文的同时,将报文发送出去并同时进行数据处理,节省了处理时间,同时使得发送、接收报文所需时间不依赖于报文长度,相比于现有的以太网技术传输报文的方法,本实施例可以减少报文传输的时延和消除报文传输的时延抖动,实现了报文的低时延和无时延抖动传输。

本发明实施例还提供一种计算机设备。请参阅图7,计算机设备500包括处理器501以及存储器502。其中,处理器501与存储器502电性连接。

所述处理器500是计算机设备500的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或加载存储在存储器502内的计算机程序,以及调用存储在存储器502内的数据,执行计算机设备500的各种功能并处理数据,从而对计算机设备500进行整体监控。

所述存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的计算机程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。

在本发明实施例中,计算机设备500中的处理器501会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器502中,并由处理器501运行存储在存储器502中的计算机程序,从而实现各种功能,如下:

通过第一设备的第一端口接收报文;

在接收报文的同时,通过第二端口向第二设备发送报文;

对报文进行校验,得到校验结果;

根据报文获取相应的目标数据,并将目标数据保存在缓存区;

根据校验结果对缓存区内的目标数据进行相应的处理,并向目标设备发送缓存区内的待传输数据。

在某些实施方式中,在根据报文获取相应的目标数据时,处理器501可以具体执行以下步骤:

根据预设数据块大小建立一个窗口,并控制窗口在报文上滑动;

基于窗口的滑动位置对报文进行数据处理,得到目标数据。

在某些实施方式中,在基于所述窗口的滑动位置对报文进行数据处理,得到目标数据时,处理器501可以具体执行以下步骤:

当窗口当前的滑动位置为第一预设位置时,在第一预设位置插入待插入数据,得到目标数据;或者

当窗口当前的滑动位置为第二预设位置时,获取第二预设位置对应的待获取数据,得到目标数据。

在某些实施方式中,在根据校验结果对缓存区内的目标数据进行相应的处理时,处理器501可以具体执行以下步骤:

在报文校验失败时,清除缓存区内的目标数据。

在某些实施方式中,在得到校验结果之后,处理器501还可以具体执行以下步骤:

根据所述校验结果对所述报文中的校验信息进行更新。

在某些实施方式中,在向目标设备发送缓存区内的待传输数据时,处理器501还可以具体执行以下步骤:

将缓存区内的待传输数据分割成多份子待传输数据;

将多份子待传输数据排序形成传输序列;

按照传输序列通过多个第一信道向目标设备依次发送每一子待传输数据。

在某些实施方式中,在按照传输序列依次将每一子待传输数据通过多个第一信道发送给目标设备时,处理器501还可以具体执行以下步骤:

将传输序列中当前排序第一的子待传输数据设定为当前子待传输数据;

通过多个第一信道向目标设备发送当前子待传输数据,其中,每一子待传输数据均通过每一第一信道发送一次;

接收目标设备返回的响应信息,其中,该响应信息由目标设备接收到当前子待传输数据后对当前子待传输数据进行校验后生成,并当任一当前子待传输数据校验成功时,返回成功响应信息,当任意当前子待传输数据均校验失败时,返回失败响应信息;

当接收到成功响应信息时,将设定为当前子待传输数据的子待传输数据从传输序列中删除,并在删除后执行将传输序列中排序第一的子待传输数据设定为当前子待传输数据的步骤;

当接收到失败响应信息时,确认多个当前可用的第二信道;

关闭当前的多个第一信道并将多个第二信道设定为第一信道,设定完成后执行通过多个第一信道向目标设备发送当前子待传输数据的步骤。

由上可知,本实施例的计算机设备,通过该计算机设备的第一端口接收报文;在接收报文的同时,通过第二端口向第二设备发送报文;对报文进行校验,得到校验结果;根据报文获取相应的目标数据,并将目标数据保存在缓存区;根据校验结果对缓存区内的目标数据进行相应的处理,并向目标设备发送缓存区内的待传输数据。本实施例通过在接收报文的同时,将报文发送出去并同时进行数据处理,节省了处理时间,同时使得发送、接收报文所需时间不依赖于报文长度,相比于现有的以太网技术传输报文的方法,本实施例可以减少报文传输的时延和消除报文传输的时延抖动,实现了报文的低时延和无时延抖动传输。

本发明实施例还提供一种存储介质,所述存储介质存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述任一实施例中的报文传输方法,比如:通过第一设备的第一端口接收报文;在接收报文的同时,通过第二端口向第二设备发送报文;对报文进行校验,得到校验结果;根据报文获取相应的目标数据,并将目标数据保存在缓存区;根据校验结果对缓存区内的目标数据进行相应的处理,并向目标设备发送缓存区内的待传输数据。

在本发明实施例中,存储介质可以是磁碟、光盘、只读存储器(Read Only Memory,ROM,)、或者随机存取记忆体(Random Access Memory,RAM)等。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

需要说明的是,对本发明实施例的报文传输方法而言,本领域普通测试人员可以理解实现本发明实施例的报文传输方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在计算机设备的存储器中,并被该计算机设备内的至少一个处理器执行,在执行过程中可包括如报文传输方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器、随机存取记忆体等。

对本发明实施例的报文传输装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。

以上对本发明实施例所提供的一种报文传输方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1