一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于UDP协议的数据定制传输的方法与流程

2022-03-02 03:14:20 来源:中国专利 TAG:

一种基于udp协议的数据定制传输的方法
技术领域
1.本发明涉及半导体自动测试设备(automatic test equipment,简称ate)领域,尤其涉及一种基于udp(user datagram protocol)协议的数据定制传输的方法。


背景技术:

2.在集成电路测试中,pattern文件数据占据重要的位置,且pattern文件数据可能会很大,而pattern数据需要下发到测试机的设备中,同时还要保证数据传输的完整性及高效性。
3.目前,业界通常采用用户数据报协议(user datagram protocol,udp)来实现pattern文件数据传输的。udp是开放式系统互联(open system interconnection,osi)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,ietf rfc 768是udp的正式规范。
4.udp协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。在osi模型中,在第四层
‑‑
传输层,处于ip协议的上一层。udp有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。
5.因此,基础的udp协议虽能满足pattern文件数据的高效性,但是对于pattern文件数据的完整性无法完全满足。


技术实现要素:

6.本发明的目的在于,提供一种基于udp协议的数据定制传输方法,用于解决集成电路自动化测试中pattern数据传输高效但不完整或完整但不高效的问题。
7.为实现上述目的,本发明的技术方案如下:
8.一种基于udp协议的数据定制传输方法,用于pattern数据文件的传输,其包括如下步骤:
9.步骤s1:将所述pattern数据文件加载到上层应用中进行编址,并基于udp协议传输定制的分块机制将所述pattern数据文件分成n个数据块,根据压缩机制将分割好的所述n个数据块进行压缩;其中,压缩后的所述数据块的大小小于等于udp传输协议对报文大小存在限制的最大值;
10.步骤s2:根据分块压缩后文件分块的总数n,来创建n个字节位图bitmap,每一位代表一个数据块,所述字节位图bitmap的每一位所对应一个数据块的原始配置信息,所述原始配置信息包括所有所述数据块原编址位置、大小和预定时间;
11.步骤s3:依次发送所述pattern数据文件中的n个数据块到接收端,每一个所述数据块发送数据根据所述原始配置信息的预定时间,会启动一个定时器;
12.步骤s4:在上层应用收到所述数据块后,同步对接收报文做校验,并基于udp定制
的确认机制同步回复ack报文给发送端,将对应的所述字节位图bitmap相应位进行更新为收到ack报文状态;如果在预定时间内没有接收到所述数据块,即所述字节位图bitmap相应位没有更新为收到ack报文状态;
13.步骤s5:上层应用轮询所有所述字节位图bitmap,检查由于发送超时,未接收到ack报文的所述数据块,将对应所述数据块重新下发,当轮询到所有所述数据块都已下发完成所述字节位图bitmap的所有位状态都已变更,则发送结束。
14.进一步地,所述的基于udp协议的数据定制传输方法,其还包括步骤s6:检测所述pattern文件的传输时长,如果所述传输时长超过一预定的阈值,即中间出现网络中断导致数据未传输完成时,上层应用主动触发通过断点续传机制实现数据的继续传输。
15.进一步地,所述步骤s6包括:
16.步骤s61:获取上层应用所述字节位图bitmap,从中获取没有更新为收到ack报文状态的位信息;
17.步骤s62:计算获取没有更新为收到ack报文状态位对应的数据块的位置和大小,形成一个数据块列表;
18.步骤s63:执行数据块列表的分块压缩操作,同步构建udp报文发送给接收端进行断点续传操作;其中,所述断点续传操作是基于用户主动触发的。
19.进一步地,所述步骤s3还包括:在发送所述pattern数据文件前,先对所述pattern文件数据基于udp协议传输定制流量控制机制;其中,所述流量控制机制通过在udp报文段中增加窗口大小字段来控制,发送方的发送窗口小于接收方发回的窗口大小。
20.进一步地,所述步骤s1中的将根据压缩机制将分割好的所述n个数据块进行压缩包括:获取压缩后的每块所述数据块的大小,计算压缩比,如果压缩比超过既定的因子,那么放弃此次压缩,动态调整分块的基准,继续压缩,直至每个数据的压缩比在既定的因子以内。
21.进一步地,所述既定的因子为30%。
22.从上述技术方案可以看出,本发明供的基于udp协议的数据定制传输方法可以有效解决基于udp协议数据传输的可靠性完整性无法保证的问题;在提高测试效率的前提下,通过增加ack机制,可以确保下发的pattern数据的可靠性和完整性。
附图说明
23.图1所示为本发明实施例中基于udp协议的数据定制传输方法的流程示意图
24.图2所示为本发明实施例中pattern数据传输过程与部分定制udp协议的交互示意图
25.图3所示为本发明pattern数据传输过程与udp协议定制化重传机制的示意图
具体实施方式
26.下面结合附图1-3,对本发明的具体实施方式作进一步的详细说明。
27.需要说明的是,基于udp的数据传输协议属性决定,无法保证报文能到达接收端,本发明的pattern数据基于udp协议传输定制确认机制,通过增加ack(acknowledge character)机制,即在接收端收到报文后同步返回一个ack确认报文,发送端维护一张字节
位图bitmap,用以主动标记每个报文的传输状态。
28.具体地,在上层应用在处理一个大pattern文件数据传输时,可以首先将一个pattern数据文件进行编址、分块和压缩操作,然后根据文件分块的总数来创建一个字节位图bitmap,并记录每一位对应的数据块的原位置和大小,接着将数据块逐个构建udp报文发送给接收端,最后在上层应用收到接收端的ack报文后,同步做校验,并将对应的bitmap位进行更新。ack是确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符,表示发来的数据已确认接收无误。
29.请参阅图1,图1所示为本发明实施例中基于udp协议的数据定制传输方法的流程示意图。该pattern数据文件的传输方法用于解决集成电路自动化测试中pattern数据传输高效但不完整或完整但不高效的问题。
30.该基于定制化udp协议的pattern数据传输过程,其针对传输pattern数据的定制化udp协议的定制内容,可以包括如下步骤:
31.步骤s1:将所述pattern数据文件加载到上层应用中进行编址,并基于udp协议传输定制的分块机制将所述pattern数据文件分成n个数据块,根据压缩机制将分割好的所述n个数据块进行压缩;其中,压缩后的所述数据块的大小小于等于udp传输协议对报文大小存在限制的最大值。
32.在本发明的实施例中,pattern数据基于udp协议传输定制分块压缩机制,首先使用常量作为分块的基准(每块的大小),该常量可以通过经验数据来学习,也可以固定,分块的相对位置需要记录,并加以内存的起始位置,计算内存中的最终存放位置,即为编址;接着将分割好的数据块进行压缩,获取压缩后的块大小,计算压缩比,如果压缩比超过既定的因子(比如30%),那么放弃此次压缩,动态调整分块的基准,继续压缩,直至每个数据的压缩比在30%以内,且压缩后的数据块大小小于等于udp传输协议对报文大小存在限制的最大值。其中,压缩的算法可根据实际的需求去筛选。
33.步骤s2:根据分块压缩后文件分块的总数n,来创建n个字节位图bitmap,每一位代表一个数据块,所述字节位图bitmap的每一位所对应一个数据块的原始配置信息,所述原始配置信息包括所有所述数据块原编址位置、大小和预定时间。
34.请参阅图2,图2所示为本发明实施例中pattern数据传输过程与部分定制udp协议的交互示意图。如图2所示:
35.步骤s3:依次发送所述pattern数据文件中的n个数据块到接收端,每一个所述数据块发送数据根据所述原始配置信息的预定时间,会启动一个定时器。
36.步骤s4:在上层应用收到所述数据块后,同步对接收报文做校验,并基于udp定制的确认机制同步回复ack报文给发送端,将对应的所述字节位图bitmap相应位进行更新为收到ack报文状态;如果在预定时间内没有接收到所述数据块,即所述字节位图bitmap相应位没有更新为收到ack报文状态。
37.具体地,由于待传输的数据已进行包括编制、分块和压缩处理,创建的字节位图bitmap空间,每一位代表一个数据块,即相应的udp报文,0表示未ack,1表示已ack,对于控制报文用两个bit位来表示状态,即附加*0表示未执行,11表示已执行。
38.步骤s5:上层应用轮询所有所述字节位图bitmap,检查由于发送超时,未接收到ack报文的所述数据块,将对应所述数据块重新下发,当轮询到所有所述数据块都已下发完
成所述字节位图bitmap的所有位状态都已变更,则发送结束。
39.通常,基于udp的数据传输,由协议属性决定,对于丢包无法支持重传,但该pattern数据文件基于udp协议传输定制重传机制(步骤s5表述)就是在发送端建立重传机制,以确保数据报能到达接收端。
40.请参阅图3,图3所示为本发明pattern数据传输过程与udp协议定制化重传机制的示意图。如图3所示,在上层应用收到接收端回复的ack报文后,同步做接收和校验,并修改该数据块在字节位图bitmap中的相应位状态值,然后通过上层应用轮训字节位图bitmap的线程,检查传输超时的数据块,当检查到字节位图bitmap中对应位已超时,会重新发起对相应数据块的重传操作。
41.在本发明另外一些实施例中,由于pattern文件数据基于udp协议传输定制断点续传机制,在pattern数据加载过程中,由于文件数据比较大,持续时间相对较长(经验表明有超12小时),传输过程中会存在网络中断的风险,此时如果重头开始传输,产生的浪费是极大的,所以为了规避这类因网络异常导致的数据重传问题,需要通过断点续传机制予以规避。
42.也就是说,该方法还可以包括步骤s6:检测所述pattern文件的传输时长,如果所述传输时长超过一预定的阈值,即中间出现网络中断导致数据未传输完成时,上层应用主动触发通过断点续传机制实现数据的继续传输。
43.所述步骤s6可以具体包括:
44.步骤s61:获取上层应用所述字节位图bitmap,从中获取没有更新为收到ack报文状态的位信息;
45.步骤s62:计算获取没有更新为收到ack报文状态位对应的数据块的位置和大小,形成一个数据块列表;
46.步骤s63:执行数据块列表的分块压缩操作,同步构建udp报文发送给接收端进行断点续传操作;其中,所述断点续传操作是基于用户主动触发的。
47.此外,在本发明的实施例中,ack机制还常用于限流作用,即所述步骤s3还可以包括:在发送所述pattern数据文件前,先对所述pattern文件数据基于udp协议传输定制流量控制机制;其中,所述流量控制机制通过在udp报文段中增加窗口大小字段来控制,发送方的发送窗口小于接收方发回的窗口大小。
48.综上所述,本发明一种基于udp协议的数据定制传输方法,其可以解决pattern的大文件数据传输基于tcp传输效率较低,基于udp协议数据传输的可靠性完整性无法保证的问题。也就是说,本发明能可靠高效率进行传输,提高测试效率,且确保下发的pattern文件数据的可靠性和完整性。
49.以上所述的仅为本发明的优选实施例,所述实施例并非用以限制本发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献