发明内容
有鉴于此,本发明提供了一种数据中继传输方法、装置及系统,以解决现有技术中系统间引用中继设备而带来的延迟过大的问题。
为实现上述目的,本发明提供如下技术方案:
一种数据中继传输方法,应用于采集设备中,包括:
在接收报文数据的过程中,将已经接收到的报文数据保存在缓存中;
当所述缓存中的报文数据达到预设长度后,将缓存中的报文数据打包,得到打包报文数据;
将所述打包报文数据发往恢复设备。
可选的,所述将所述打包报文数据发往恢复设备,包括:
将所述打包报文数据通过高速数据接口发往恢复设备。
可选的,所述打包报文数据包括控制字段;所述控制字段包括本段有效数据长度、报文开始标志和报文结束标志。
一种数据中继传输方法,应用于恢复设备中,包括:
解析接收到的打包报文数据,得到报文数据;
将所述报文数据保存在缓存中;
当所述缓存中的报文数据满足预设条件时,将缓存中的报文数据发往目标系统。
可选的,所述预设条件为:缓存中的报文数据的长度达到预设数据长度或缓存中的报文数据包括一个完整的报文。
可选的,在将所述报文数据保存在缓存前,还包括:
累计接收到的所有属于同一报文的报文数据的长度,并在检测到报文的有效结束标志时,确定与所述有效结束标志对应的报文的总长度。
一种数据中继传输装置,应用于采集设备中,包括:
第一数据保存模块,用于将接收到的报文数据保存在缓存中;
数据打包模块,用于当所述缓存中的报文数据达到预设长度后,将缓存中的报文数据打包,得到打包报文数据;
第一数据发送模块,用于将所述打包报文数据发往恢复设备。
可选的,所述第一数据发送模块具体用于:
将所述打包报文数据通过高速数据接口发往恢复设备。
一种数据中继传输装置,应用于恢复设备中,包括:
数据解析模块,用于解析接收到的打包报文数据,得到报文数据;
第二数据保存模块,用于将所述报文数据保存在缓存中;
第二数据发送模块,用于在所述缓存中的报文数据满足预设条件时,将缓存中的报文数据发往目标系统。
可选的,所述预设条件为:缓存中的报文数据达到预设数据长度或缓存中的报文数据包括一个完整的报文。
一种数据中继传输系统,包括上述的应用于采集设备的数据中继传输装置,和/或上述的应用于恢复设备的数据中继传输装置。
经由上述的技术方案可知,与现有技术相比,本发明实施例公开了一种数据中继传输方法、装置及系统,所述数据中继方法在采集设备中,在接收报文数据的过程中将已经接收到的报文数据进行分段打包转发,从而不必须等到接收完一个完整的报文才进行发送操作,有效降低了采集设备在通信过程中的延迟;而在恢复设备中,也不必须等到接收完一个完整的报文,通过在缓存部分的报文数据后再进行报文数据发送的方式,缩短了恢复设备从接收数据到发送数据的时间,降低了恢复设备在通信过程中的延迟。通过本发明公开的数据中继传输方法、装置及系统,能够改变采集设备和恢复设备对通信数据的处理方式,并大大减小引入中继设备的通信系统的延迟时间。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明实施例公开的数据中继传输方法的流程图,该方法应用于采集设备中,参见图2所示,所述数据中继传输方法可以包括:
步骤201:在接收报文数据的过程中,将已经接收到的报文数据保存在缓存中;
其中,所述报文数据是由一个系统发送而来的,采集设备在接收所述报文数据的过程中,将已经接收到的报文数据保存在缓存中,其中的报文数据可以是一个完整报文的部分数据。
其中,系统发送出的报文数据一般为低速信号,而采集设备也是通过低速数据接口接收所述该低速信号。
步骤202:当所述缓存中的报文数据达到预设长度后,将缓存中的报文数据打包,得到打包报文数据;
为了达到减小采集设备在通信链路中的延迟时间的目的,步骤202中所述的预设长度不宜设置的过大。这样,相对于一份比较长的报文,采集设备在接收该比较长的报文的同时,就可以将已经接收到的该比较长的报文的部分数据进行打包发送,即一边接收,一边发送,而不需要等待该比较长的报文的全部数据都接收完成后再执行发送动作。由于所述采集设备的数据接收接口和数据发送接口不属于同一个接口,因此可以互不影响的同时工作。
其中,所述打包报文数据可以包括控制字段,该控制字段用于标示该段报文的控制信息。所述控制字段包括本段有效长度、报文开始标志和报文结束标志。本段有效长度用于说明本次发送的数据的有效长度;报文开始标志用于说明本字段是否是一个完整报文的第一个有效字段;报文结束标志用于说明本字段是否是一个完整报文的最后一个有效字段。可以设置报文开始标志在为1的情况下,表示一个报文的第一个有效字段,而在报文开始标志为0的情况下,表示其不是一个报文的第一个有效字段。所述报文结束标志也可以以同样的方式设置。
步骤203:将所述打包报文数据发往恢复设备。
在步骤202将预设长度的报文数据进行打包处理后,采集设备就可以将打包报文数据发往恢复设备。具体的,步骤203可以是将所述打包报文数据通过高速数据接口发往恢复设备,采用高速数据接口传送报文数据,可以缩短采集设备到恢复设备之间数据传输的时间,提升数据传输效率。
本实施例中,所述数据中继方法应用于采集设备中,该方法在接收报文数据的过程中将已经接收到的报文数据进行分段打包转发,从而不必须等到接收完一个完整的报文才进行发送操作,可以实现一边接收数据,一边发送数据,从而有效降低了采集设备在通信过程中的延迟。
图3为本发明实施例公开的另一种数据中继传输方法的流程图,该方法应用于恢复设备中,参见图3所示,所述数据中继传输方法可以包括:
步骤301:解析接收到的打包报文数据,得到报文数据;
由于所述恢复设备接收到的是打包报文数据,因此,若要识别其中包括的报文数据,需要首先对接收到的打包报文数据进行解析。
步骤302:将所述报文数据保存在缓存中;
其中,将所述报文数据保存在缓存中,是将解析后得到的报文的有效数据长度对应的数据保存在缓存中。
在其他的实施例中,在步骤302之前,还可以包括:累计接收到的所有属于同一报文的报文数据的长度,并在检测到报文的有效结束标志时,确定与所述有效结束标志对应的报文的总长度。具体的,一个示例中,可以使用计数器记录当前收到的全部报文数据中的有效数据的总长度。在解析得到的报文数据中检测到有效开始标志为1时,开始一个报文的有效数据的长度计数;若检测到有效结束标志为1,则结束一个报文的长度计数,并可以进一步将记录器记录的报文的长度写入长度缓存中,以供恢复设备在发送报文时能够依据长度缓存中记录的数据区分出不同的报文。
步骤303:当所述缓存中的报文数据满足预设条件时,将缓存中的报文数据发往目标系统。
其中,所述预设条件可以为:缓存中的报文数据的长度达到预设数据长度或缓存中的报文数据包括一个完整的报文。
具体来说,当缓存中的报文数据的长度达到预先定义的最小数据长度或者虽然没有达到预设数据长度,但是缓存中的报文数据已经包括一个完整的报文,或者缓存中的数据已经包括一个报文的最后字节,那么则可以将缓存中的报文数据发往目标系统。
需要说明的是,恢复设备在发送完一个完整的报文后,在发送下一个报文的报文数据前,中间可以有设定的间隔,或者在恢复设备发送完一个完整的报文后,再判断缓存中的报文数据是否满足所述预设条件,当满足所述预设条件后,再根据要求执行发送动作。其中,恢复设备判断是否发送完一个完整的报文是根据上面介绍到的长度缓存中记录的报文的长度为依据的,所以,在所述恢复设备的数据发送接口处也可以设置一个计数器,通过记录并累计发出的报文数据的长度的方式,在所述数据发送接口处的计数器累计长度达到长度缓存中存储的报文的长度后,则确定一个报文已经发送完毕。
本实施例中,所述数据中继方法应用于恢复设备中,该方法不必须等到恢复设备接收完一个完整的报文,通过在缓存部分的报文数据后就进行报文数据发送的方式,缩短了恢复设备从接收数据到发送数据的时间,降低了恢复设备在通信过程中的延迟。
上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。
图4为本发明实施例公开的数据中继传输装置的结构示意图,所述数据中继传输装置应用于采集设备中,参见图4所示,所述数据中继传输装置40可以包括:
第一数据保存模块401,用于将接收到的报文数据保存在缓存中;
其中,所述报文数据是由一个系统发送而来的,采集设备在接收所述报文数据的过程中,将已经接收到的报文数据保存在缓存中,其中的报文数据可以是一个完整报文的部分数据。
其中,系统发送出的报文数据一般为低速信号,而采集设备也是通过低速数据接口接收所述该低速信号。
数据打包模块402,用于当所述缓存中的报文数据达到预设长度后,将缓存中的报文数据打包,得到打包报文数据;
为了达到减小采集设备在通信链路中的延迟时间的目的,所述的预设长度不宜设置的过大。这样,相对于一份比较长的报文,采集设备在接收该比较长的报文的同时,就可以将已经接收到的该比较长的报文的部分数据进行打包发送,即一边接收,一边发送,而不需要等待该比较长的报文的全部数据都接收完成后再执行发送动作。
其中,所述打包报文数据可以包括控制字段,该控制字段用于标示该段报文的控制信息。所述控制字段包括本段有效长度、报文开始标志和报文结束标志。本段有效长度用于说明本次发送的数据的有效长度;报文开始标志用于说明本字段是否是一个完整报文的第一个有效字段;报文结束标志用于说明本字段是否是一个完整报文的最后一个有效字段。
第一数据发送模块403,用于将所述打包报文数据发往恢复设备。
所述第一数据发送模块403具体可以用于:将所述打包报文数据通过高速数据接口发往恢复设备。采用高速数据接口传送报文数据,可以缩短采集设备到恢复设备之间数据传输的时间,提升数据传输效率。
本实施例中,所述数据中继装置应用于采集设备中,该装置在接收报文数据的过程中将已经接收到的报文数据进行分段打包转发,从而不必须等到接收完一个完整的报文才进行发送操作,可以实现一边接收数据,一边发送数据,从而有效降低了采集设备在通信过程中的延迟。
图5为本发明实施例公开的另一种数据中继传输装置的结构示意图,所述数据中继传输装置应用于恢复设备中,如图5所示,所述数据中继传输装置50可以包括:
数据解析模块501,用于解析接收到的打包报文数据,得到报文数据;
由于所述恢复设备接收到的是打包报文数据,因此,若要识别其中包括的报文数据,需要首先对接收到的打包报文数据进行解析。
第二数据保存模块502,用于将所述报文数据保存在缓存中;
其中,将所述报文数据保存在缓存中,是将解析后得到的报文的有效数据长度对应的数据保存在缓存中。
在其他的实施例中,所述数据中继传输装置还可以包括长度记录模块,所述长度记录模块用于:累计接收到的所有属于同一报文的报文数据的长度,并在检测到报文的有效结束标志时,确定与所述有效结束标志对应的报文的总长度。具体的,一个示例中,可以使用计数器记录当前收到的全部报文数据中的有效数据的总长度。在解析得到的报文数据中检测到有效开始标志为1时,开始一个报文的有效数据的长度计数;若检测到有效结束标志为1,则结束一个报文的长度计数,并可以进一步将记录器记录的报文的长度写入长度缓存中,以供恢复设备在发送报文时能够依据长度缓存中记录的数据区分出不同的报文。
第二数据发送模块503,用于在所述缓存中的报文数据满足预设条件时,将缓存中的报文数据发往目标系统。
其中,所述预设条件可以为:缓存中的报文数据达到预设数据长度或缓存中的报文数据包括一个完整的报文。
具体来说,当缓存中的报文数据的长度达到预先定义的最小数据长度或者虽然没有达到预设数据长度,但是缓存中的报文数据已经包括一个完整的报文,或者缓存中的数据已经包括一个报文的最后字节,那么则可以将缓存中的报文数据发往目标系统。
需要说明的是,恢复设备在发送完一个完整的报文后,在发送下一个报文的报文数据前,中间可以有设定的间隔,或者在恢复设备发送完一个完整的报文后,再判断缓存中的报文数据是否满足所述预设条件,当满足所述预设条件后,再根据要求执行发送动作。其中,恢复设备判断是否发送完一个完整的报文是根据上面介绍到的长度缓存中记录的报文的长度为依据的,所以,在所述恢复设备的数据发送接口处也可以设置一个计数器,通过记录并累计发出的报文数据的长度的方式,在所述数据发送接口处的计数器累计长度达到长度缓存中存储的报文的长度后,则确定一个报文已经发送完毕。
本实施例中,所述数据中继装置应用于恢复设备中,该装置不必须等到恢复设备接收完一个完整的报文,通过在缓存部分的报文数据后就进行报文数据发送的方式,缩短了恢复设备从接收数据到发送数据的时间,降低了恢复设备在通信过程中的延迟。
进一步的,本发明实施例还公开了一种数据中继传输系统,所述数据中继传输系统包括上述实施例中任一种应用于采集设备的数据中继传输装置,和/或包括上述实施例中任一种应用于恢复设备的数据中继传输装置。由于所述数据中继传输系统包括应用于采集设备的数据中继传输装置和/或应用于恢复设备的数据传输装置,因此,所述数据中继传输系统在采集设备中,在接收报文数据的过程中将已经接收到的报文数据进行分段打包转发,从而不必须等到接收完一个完整的报文才进行发送操作,有效降低了采集设备在通信过程中的延迟;和/或,在恢复设备中,不必须等到接收完一个完整的报文,通过在缓存部分的报文数据后再进行报文数据发送的方式,缩短了恢复设备从接收数据到发送数据的时间,降低了恢复设备在通信过程中的延迟。通过本发明公开的数据中继传输系统,能够改变采集设备和恢复设备对通信数据的处理方式,并大大减小引入中继设备的通信系统的延迟时间。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。