一种数据转发方法及其接口盒的制作方法_2

文档序号:9619129阅读:来源:国知局
>[0042]其中,这里的数据可以为站场图数据类型和/或作业单数据类型,当然,并不限于以上两种数据类型,本发明对数据的具体类型不做特别的限定。
[0043]另外,这里的大数据类型是人为设定的,这里的大数据通常指数据容量比较大的数据,哪些数据属于大数据类型是根据实际情况人为实现设定好的。
[0044]另外,这里的对数据的类型进行判断是指,在接收数据时,根据所接收到的数据的第一帧来对数据的类型进行判断。
[0045]步骤sl02:接收数据,同时对数据进行压缩,得到压缩数据;
[0046]作为优选地,对数据进行压缩的算法为Huffman压缩算法。
[0047]可以理解的是,以上对数据进行压缩的算法为带缓存的流水式Huffman压缩算法,该算法采用先进行数据缓冲然后流水作业的方式压缩,即在接收数据的同时对数据进行压缩。该算法可以使压缩数据的过程与接收数据的过程同时进行,而不必另外消耗时间。
[0048]其中,这里的数据缓冲可以通过压缩缓存器来实现。压缩缓存器从控制单元的内存中读取数据,并以缓存队列的形式将数据存储于压缩缓存器中,同时将数据从压缩缓存器中读出,然后采用Huffman算法进行压缩。
[0049]当然,以上仅为优选方案,实际工作中也可采用其他能够实现相同目的压缩算法,本发明对此并不做限定。并且,是否采用压缩缓存器来实现数据缓冲,以及采用何种压缩缓存器本发明也不做限定,只要能实现本发明方法的压缩缓存器均在本发明的保护范围之内。
[0050]步骤sl03:判断压缩数据的容量是否达到预设压缩容量阈值,如果是,则按照预设时间间隔转发压缩数据,进入步骤sl04 ;否则,进入步骤sl04 ;
[0051]进一步的,这里的预设时间间隔,可根据实际情况自行设定,本发明对此不做限定。
[0052]步骤sl04:判断数据是否全部压缩完,如果是,则进入步骤sl05 ;否则,进入步骤sl02 ;
[0053]其中,因为该方法在接收数据的同时对数据进行压缩,因此当数据全部压缩完时数据同时也全部接收完成。
[0054]步骤sl05:判断全部压缩完的数据是否全部发送完,如果是,进入步骤sl06 ;否贝1J,按照预设时间间隔转发全部压缩完的数据,直至所述全部压缩完的所述数据全部发送完,进入步骤sl06 ;
[0055]步骤sl06:结束对数据的转发。
[0056]本发明提供了一种数据转发方法,该方法首先接收数据,当判断数据的类型为大数据类型时,同时对数据进行压缩,当压缩数据达到预设压缩容量阈值时,按照预设时间间隔转发压缩数据,如果数据已经全部压缩完,但未全部发送完,则继续按照预设时间间隔转发压缩数据,当压缩数据全部发送完后,结束数据转发,如果数据并未全部压缩完,则继续接收数据进行压缩;如果压缩数据未达到预设压缩容量阈值但数据已压缩完,即按照预设时间间隔转发压缩数据,并结束数据转发,否则继续接收数据进行压缩。
[0057]可见,一方面,该方法在进行大数据转发时,对大数据进行了压缩,减小了数据容量,因此减小了数据的发送时间,提高了数据的实时性,并且由于减小了 CAN总线转发的数据容量,传输速度加快,使得占用CAN总线的时间缩短,并且该方法在接收数据的同时对数据进行压缩,避免了压缩的过程占用时间,此时数据接收完成的同时数据也压缩完成;另一方面,本发明提供的方法还对大数据进行了分块处理,且相邻的压缩数据块之间有一定的时间间隔,因此其他设备可以在各个数据块转发的间隙进行发送,避免了由于CAN总线被长时间占用而导致的其他设备无法通信的问题。
[0058]因此,本发明不仅解决了接口盒在进行大数据包转发时CAN总线被长时间占用的问题,还提高了数据转发的实时性,减小了数据的发送时间。
[0059]实施例二
[0060]参见图2所示,图2为本发明提供的另一种数据转发方法的过程的流程图。
[0061]步骤s201:接收数据;
[0062]步骤s202:将数据存储于外部存储器中;
[0063]步骤s203:对数据的类型进行判断,当数据的类型为大数据类型时,进入步骤s204 ;当数据的类型为小数据类型时,转发数据,进入步骤s208 ;
[0064]步骤s204:接收数据,同时对数据进行压缩,得到压缩数据;
[0065]步骤s205:判断压缩数据的容量是否达到预设压缩容量阈值,如果是,则按照预设时间间隔转发压缩数据,进入步骤s206 ;否则,进入步骤s206 ;
[0066]步骤s206:判断数据是否全部压缩完,如果是,则进入步骤s207 ;否则,进入步骤s204 ;
[0067]步骤s207:判断全部压缩完的数据是否全部发送完,如果是,进入步骤s208 ;否贝1J,按照预设时间间隔转发全部压缩完的数据,直至所述全部压缩完的所述数据全部发送完,进入步骤s208 ;
[0068]步骤s208:结束对数据的转发。
[0069]本实施例在实施例一的基础上对方法进行了增加,当数据的类型为小数据类型时,将接收后的数据直接转发,不用进行压缩,小数据的容量小,直接转发也不会长时间占用CAN总线,也并不会造成数据实时性差。另外,现有技术中采用控制单元的内存存储缓存数据和文件指针等数据,在接口盒意外断电的情况下,内存会造成数据的丢失,这样的情况会导致有些数据无法恢复。而本实施例中,不仅将数据存储于控制单元的内存中,还将数据存储于外部存储器中,由于外部存储器具有掉电保护的功能,因此在接口盒意外断电的情况下,也可以避免正在运行的缓存数据、文件指针以及故障数据的丢失,接口盒再次启动后,还可以根据既定的数据结构继续处理事件,不会因为断电等故障影响接口盒的记录存储功能的性能。
[0070]与上述方法实施例相对应的,本发明还提供了一种采用上述数据转发方法的接口盒,参见图3所示,图3为本发明提供的一种接口盒的结构示意图,该接口盒包括接收判断单元301、压缩单元302、第一判断单元303、第二判断单元304和第三判断单元305。其中:
[0071]接收判断单元301,用于接收数据,并对数据的类型进行判断,当数据的类型为大数据类型时,将数据发送至压缩单元302 ;
[0072]压缩单元302,用于接收数据,同时对接收到的数据进行压缩,得到压缩数据;
[0073]第一判断单元303,用于判断压缩数据的容量是否达到预设压缩容量阈值,如果是,发送第一信号控制压缩单元302按照预设时间间隔转发压缩数据,并发送第一通知信号至第二判断单元304 ;否则,直接发送第一通知信号至第二判断单元304 ;
[0074]第二判断单元304,用于当接收到第一通知信号时,判断数据是否全部压缩完,如果是,发送第二通知信号至第三判断单元305,否则发送第二信号控制压缩单元302继续压缩数据;
[0075]第三判断单元305,用于当接收到第二通知信号时,判断全部压缩完的数据是否全部发送完,如果是,结束对数据的转发;否则,发送第三信号控制压缩单元302按照预设时间间隔转发全部压缩完的数据,直至全部压缩完的数据全部发送完,结束对数据的转发。
[0076]另外,这里的接收判断单元301、压缩单元302、第一判断单元303、第二判断单元304和第三判断单元305均位于控制单元CPU中。
[0077]基于以上所提供的接口盒,优选地,该接口盒还包括:
[0078]外部存储器306,用于存储所述数据。
[0079]其中,这里的外部存储器306为压缩缓存器的载体,具有掉电保护的功能。当发生意外断电时,由于
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1