数据传输方法、装置、系统、上位机和存储介质与流程

文档序号:31670266发布日期:2022-09-28 00:47阅读:80来源:国知局
数据传输方法、装置、系统、上位机和存储介质与流程

1.本技术涉及通信技术领域,尤其涉及一种数据传输方法、装置、系统、上位机和存储介质。


背景技术:

2.在科学仪器、精密测量仪器等领域,越来越复杂的系统及测量精度的提高,如量子钻石单自旋谱仪、量子钻石原子力显微镜、电子顺磁共振波谱仪、扫描电子显微镜等检测设备会产生大量、高速数据需要通过局域网传输到计算机中。然而,相关网络接口传输协议的传输效率还有待进一步地提高,如何保证大量数据的传输高效性成为待解决的问题。


技术实现要素:

3.本技术实施方式提供一种数据传输方法、数据传输装置、数据传输系统、上位机和存储介质。
4.本技术实施方式的数据传输方法包括:
5.构建arp地址解析协议包,所述arp地址解析协议包包括上位机的ip地址、上位机的mac地址和下位机的采集卡的ip地址;
6.将所述arp地址解析协议包发送至局域网;
7.接收所述下位机的采集卡固件构建的arp回应包,所述apr回应包包括所述采集卡固件的mac地址;
8.通过所述上位机的ip地址、所述上位机的mac地址、端口与所述下位机的采集卡固件进行单播通讯。
9.如此,通过构建apr地址解析协议包发送至局域网并接收采集卡固件返回的构建的apr回应包,使采集卡固件可以获得上位机的ip、mac地址,上位机可以记录采集卡固件的mac地址,进而二者可以基于上述信息进行单播通讯,相较于udp组播、广播等方式更加高效。
10.在某些实施方式中,在所述通过所述上位机的ip地址、所述上位机的mac地址、端口与所述下位机的采集卡固件进行单播通讯之前,所述数据传输方法还包括:
11.将所述上位机的网卡巨型帧设置至9000bytes以上。
12.在某些实施方式中,在所述通过所述上位机的ip地址、所述上位机的mac地址、端口与所述下位机的采集卡固件进行单播通讯之前,所述数据传输方法还包括:
13.打开目标网卡,所述目标网卡为所述上位机与所述采集卡固件在同一网段的网卡;
14.设置所述目标网卡的内存缓冲区容量为预定容量,所述预定容量大于1mb。
15.在某些实施方式中,所述预定容量为8mb。
16.在某些实施方式中,所述数据传输方法还包括:
17.查找所述上位机的所有网卡;
18.将与所述采集卡固件在同一网段的网卡确认为所述目标网卡。
19.在某些实施方式中,在所述通过所述上位机的ip地址、所述上位机的mac地址、端口与所述下位机的采集卡固件进行单播通讯之前,所述数据传输方法还包括:
20.采用winpcap直接访问所述上位机的网络底层。
21.本技术提供一种数据传输装置,所述数据传输装置包括:
22.构建模块,用于构建arp地址解析协议包,所述arp地址解析协议包包括上位机的ip地址、上位机的mac地址和下位机的采集卡的ip地址;
23.发送模块,用于将所述arp地址解析协议包发送至局域网;
24.接收模块,用于接收所述下位机的采集卡固件构建的arp回应包,所述apr回应包包括所述采集卡固件的mac地址;
25.通讯模块,用于通过所述上位机的ip地址、所述上位机的mac地址、端口与所述下位机的采集卡固件进行单播通讯。
26.本技术提供一种数据传输系统,包括上位机和下位机,所述上位机用于构建arp地址解析协议包,所述arp地址解析协议包包括上位机的ip地址、上位机的mac地址和下位机的采集卡的ip地址;
27.所述上位机用于将所述arp地址解析协议包发送至局域网;
28.所述下位机用于构建arp回应包,所述apr回应包包括采集卡固件的mac地址;
29.所述上位机还用于接收所述arp回应包;以及用于通过所述上位机的ip地址、所述上位机的mac地址、端口与所述下位机的采集卡固件进行单播通讯
30.本技术提供一种上位机,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序以实现以上任一实施方式所述的数据传输方法。
31.本技术实施方式提供一种计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行以上任一实施方式所述的数据传输方法。
32.本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
33.本技术的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
34.图1是本技术实施方式中的数据传输方法的流程示意图;
35.图2是本技术实施方式中的数据传输装置的模块示意图;
36.图3是本技术实施方式中的数据传输系统的模块示意图;
37.图4是本技术实施方式中的数据传输方法的流程示意图;
38.图5是本技术实施方式中的数据传输方法的流程示意图;
39.图6是本技术实施方式中的数据传输方法的流程示意图;
40.图7是本技术实施方式中的数据传输方法的流程示意图。
41.主要元件符号说明:
42.上位机100、处理器11、存储器12、数据传输装置200、构建模块21、发送模块22、接
收模块23、通讯模块24。
43.下位机300;
44.数据传输系统1000。
具体实施方式
45.下面详细描述本技术的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本技术,而不能理解为对本技术的限制。
46.在本技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
47.在本技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
48.在本技术中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
49.下文的公开提供了许多不同的实施方式或例子用来实现本技术的不同结构。为了简化本技术的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本技术。此外,本技术可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本技术提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
50.请参阅图1,本技术实施方式提供一种数据传输方法,数据传输方法包括:
51.步骤s10:构建arp地址解析协议包,arp地址解析协议包包括上位机100的ip地址、上位机100的mac地址和下位机300的采集卡的ip地址;
52.步骤s20:将arp地址解析协议包发送至局域网;
53.步骤s30:接收下位机300的采集卡固件构建的arp回应包,apr回应包包括采集卡固件的mac地址;
54.步骤s40:通过上位机100的ip地址、上位机100的mac地址、端口与下位机300的采集卡固件进行单播通讯。
55.请参阅图2,本技术实施方式提供一种数据传输装置200,数据传输装置200包括构建模块21、发送模块22、接收模块23和通讯模块24,本技术实施方式的数据传输方法可以通过数据传输装置200来实现,具体地,构建模块21用于构建arp地址解析协议包,arp地址解析协议包包括上位机100的ip地址、上位机100的mac地址和下位机300的采集卡的ip地址,发送模块22用于将arp地址解析协议包发送至局域网,接收模块23用于接收下位机300的采集卡固件构建的arp回应包,apr回应包包括采集卡固件的mac地址,通讯模块24用于通过上位机100的ip地址、上位机100的mac地址、端口与下位机300的采集卡固件进行单播通讯。
56.请参阅图3,本技术实施方式提供一种数据传输系统1000,包括上位机100和下位机300,上位机100用于构建arp地址解析协议包,arp地址解析协议包包括上位机100的ip地址、上位机100的mac地址和下位机300的采集卡的ip地址;上位机100用于将arp地址解析协议包发送至局域网;下位机300用于构建arp回应包,apr回应包包括采集卡固件的mac地址;上位机100还用于接收arp回应包;以及用于通过上位机100的ip地址、上位机100的mac地址、端口与下位机300的采集卡固件进行单播通讯。
57.请再次参阅图3,本技术还提供一种上位机100,包括存储器12和处理器11,存储器12存储有计算机程序,处理器11执行计算机程序以用于构建arp地址解析协议包,arp地址解析协议包包括上位机100的ip地址、上位机100的mac地址和下位机300的采集卡的ip地址;及用于将arp地址解析协议包发送至局域网;及用于接收下位机300的采集卡固件构建的arp回应包,apr回应包包括采集卡固件的mac地址;以及用于通过上位机100的ip地址、上位机100的mac地址、端口与下位机300的采集卡固件进行单播通讯。
58.本技术实施方式的数据传输方法和数据传输系统1000中,通过构建apr地址解析协议包发送至局域网并接收采集卡固件返回的构建的apr回应包,使采集卡固件可以获得上位机100的ip、mac地址,上位机100可以记录采集卡固件的mac地址,进而二者可以基于上述信息进行单播通讯,相较于udp组播、广播等方式更加高效。
59.需要说明的是,在科学仪器、精密测量仪器等领域,越来越复杂的系统及测量精度的提高,使得仪器硬件设备会产生大量、高速数据需要通过局域网传输到计算机中。可以理解,在对数据传输系统的设计中,既要求满足大数据的时效性,又要满足大数据的准确性。
60.进一步地,科学仪器精密测量仪器可以包括量子钻石单自旋谱仪、量子钻石原子力显微镜、电子顺磁共振波谱仪、扫描电子显微镜等检测设备。硬件设备通过局域网传输数据到计算机中时,可以通过网络接口传输协议进行传输,其中主要有tcp协议和udp协议,其中tcp协议传输准确性高但效率低下,消耗网络带宽高;而udp协议传输效率较高,消耗网络带宽低。但udp协议的传输效率还有待进一步地提高。
61.因此,本技术提供一种数据传输方法和数据传输系统1000,使得下位机300的采集卡固件和上位机100之间通过上位机100的ip地址、上位机100的mac地址、端口和采集卡固件的mac地址进行单播通讯,通讯效率会比udp组播、广播方式效率提高10%~20%。
62.具体地,上位机100可以包括安装有数据传输、处理软件的电脑主机,下位机300可以是相关需要发送数据到上位机100进行处理的硬件设备,在本技术中可以是相关精密仪器。下位机300包括有采集卡,采集卡为采集数据的硬件板卡,采集卡固件为硬件板卡的下
位机300软件,如fpga模块。
63.在步骤s10-步骤s40中,arp(address resolution protocol,地址解析协议)是将ip地址解析为以太网mac地址(或称物理地址)的协议。
64.需要说明的是,在网络中,当主机或其它网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即ip地址)。但是仅仅有ip地址是不够的,因为ip数据报必须封装成帧才能通过物理网络发送,因此发送站还必须有接收站的物理地址,所以需要一个从ip地址到物理地址的映射。arp就是实现这个功能的协议。
65.可以理解,上位机100构建apr地址解析协议包,为了实现上位机100与下位机300的数据通讯,上位机100构建解析包时需要包含自身的ip地址、mac地址,并且还需要包含下位机300的采集卡的ip地址。由于上位机100在apr表中未包含下位机300的采集卡的mac地址,此时上位机100将apr地址解析协议包发送至局域网广播,使得该网段的所有主机可以接收到上述解析协议包,也即apr请求。
66.在apr解析过程中,下位机300在比较了apr地址解析协议包中的采集卡的ip地址,在确认相同后,对该apr请求作出处理。下位机300保存上位机100的ip地址、mac地址,然后以单播的方式发送apr回应包至上位机100,apr回应包由采集卡固件构建,包括采集卡固件的mac地址。
67.这样,上位机100与下位机300之间可以通过上位机100的ip地址、上位机100的mac地址、端口、采集卡固件的mac地址进行单播通讯。或者说,通过将arp地址解析协议包发送至局域网广播,然后通过apr回应包查找到采集卡的mac地址后,上位机100与下位机300之间互相使用ip和mac地址实行点对点通讯,降低了路由寻址的时间、带宽消耗,提高了传输效率。并且,相比较使用socket套接字广播寻址的方式,更为底层,且更加通用,路由器支持性更好。
68.特别地,请参阅图4,在某些实施方式中,在通过上位机100的ip地址、上位机100的mac地址、端口与下位机300的采集卡固件进行单播通讯之前(步骤s40),数据传输方法还包括:
69.步骤s00:采用winpcap直接访问上位机100的网络底层。
70.在某些实施方式中,数据传输装置200还包括访问模块,访问模块用于采用winpcap直接访问上位机100的网络底层。
71.在某些实施方式中,处理器11用于采用winpcap直接访问上位机100的网络底层。
72.如此,使用winpcap库作为网络通讯库,更贴近网络底层,效率更高。
73.具体地,winpcap为win32应用程序提供访问网络底层的能力,它用于windows系统下的直接的网络编程,如此,在步骤s00中,通过使用winpcap直接访问网络底层,比socket套接字效率有所提高。
74.那么,在构建上位机100软件的开发环境时,软件代码可以引用wpcap.lib库,在步骤s20中,构建arp地址解析协议包写入上位机100的ip、mac地址、和下位机300的采集卡的ip地址后,可以通过pcap_sendpacket()接口将arp地址解析协议包发送至局域网。
75.请参阅图5,在某些实施方式中,在通过上位机100的ip地址、上位机100的mac地址、端口与下位机300的采集卡固件进行单播通讯之前(s40),数据传输方法还包括:
76.s01:将上位机100的网卡巨型帧设置至9000bytes以上。
77.在某些实施方式中,数据传输装置200还包括设置模块,设置模块用于将上位机100的网卡巨型帧设置至9000bytes以上。
78.在某些实施方式中,处理器11用于将上位机100的网卡巨型帧设置至9000bytes以上。
79.如此,采用巨型帧能够令千兆以太网性能充分发挥,使得数据传输效率提高50%~100%。
80.具体地,使用巨型帧配合千兆网,可以令千兆以太网性能充分发挥,使数据传输效率提高50%~100%,在步骤s01中,开发人员可以在上位机100的网络适配器上设置,以使处理器将上位机100的网卡巨型帧的值设置为9000bytes以上,例如可以为9014bytes。这样,采集卡固件通过发送巨型帧传输数据,降低了cpu消耗和网络组包带宽,再次综合性提高了数据传输效率。
81.请参阅图6,在某些实施方式中,在通过上位机100的ip地址、上位机100的mac地址、端口与下位机300的采集卡固件进行单播通讯之前(步骤s40),数据传输方法还包括:
82.步骤s02:打开目标网卡,目标网卡为上位机100与采集卡固件在同一网段的网卡;
83.步骤s03:设置目标网卡的内存缓冲区容量为预定容量,预定容量大于1mb。
84.在某些实施方式中,设置模块还用于打开目标网卡,目标网卡为上位机100与采集卡固件在同一网段的网卡,以及用于设置目标网卡的内存缓冲区容量为预定容量,预定容量大于1mb。
85.在某些实施方式中,处理器11还用于打开目标网卡,目标网卡为上位机100与采集卡固件在同一网段的网卡,以及用于设置目标网卡的内存缓冲区容量为预定容量,预定容量大于1mb。
86.如此,通过设置合适的内存缓冲区的容量大小,可以提高传输时效。
87.具体地,在一些实施方式中,本技术使用winpcap直接访问网络底层,软件代码引用wpcap.lib库。在步骤s02和步骤s03中,可以通过pcap_open()接口打开目标网卡,然后通过pcap_setbuff()接口对该目标网卡的内核缓冲区大小做预定容量设置,预定容量大于1mb。
88.在某些实施方式中,预定容量为8mb。具体地,可以理解缓冲区设置得过大、过小都会影响传输效率,预定容量可以是经过多次试验获得的,经过试验8mb的延时最小,传输时效明显提高。
89.请参阅图7,在某些实施方式中,数据传输方法还包括:
90.步骤s011:查找上位机100的所有网卡;
91.步骤s012:将与采集卡固件在同一网段的网卡确认为目标网卡。
92.在某些实施方式中,设置模块用于查找上位机100的所有网卡,以及用于将与采集卡固件在同一网段的网卡确认为目标网卡。
93.在某些实施方式中,处理器11用于查找上位机100的所有网卡,以及用于将与采集卡固件在同一网段的网卡确认为目标网卡。
94.如此,使得目标网卡的查找效率和查找准确性高。
95.具体地,在一些实施方式中,本技术使用winpcap直接访问网络底层,软件代码引用wpcap.lib库。在步骤s011和步骤s012中,可通过pcap_findalldevs()接口,返回上位机
100所有的网卡;然后遍历pcap_findalldevs()接口返回的所有网卡,通过ip地址的对比,找出和采集卡固件在同一网段的网卡,并记下索引,该网卡即为目标网卡。
96.本技术实施方式提供了一种存储有计算机程序的非易失性计算机可读存储介质,当计算机程序被一个或多个处理器11执行时,使得处理器11执行以上任一实施方式的数据传输方法。
97.具体地,在一个实施例中,处理器11可以为中央处理器(central processing unit,cpu)。处理器11还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
98.计算机程序可以被存储在存储器12中,存储器12作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如上述方法实施例中的方法所对应的程序指令/模块。处理器11通过运行存储在存储器12中的非暂态软件程序、指令以及模块,从而执行处理器11的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
99.本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,实现的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;存储介质还可以包括上述种类的存储器12的组合。
100.在本说明书的描述中,参考术语“一个实施方式”、“某些实施方式”、“示意性实施方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
101.尽管已经示出和描述了本技术的实施方式,本领域的普通技术人员可以理解:在不脱离本技术的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本技术的范围由权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1