本发明涉及通讯控制,尤其是涉及一种数据传输方法、装置、电子设备和计算机可读存储介质。
背景技术:
1、在工业机器人通讯控制领域,实现设备间可靠高效的网络通讯一直是各设备厂家面临的一大难题;同时,当有新的通讯功能需求时,常常发现难以扩展,在扩展的过程中往往会对机器人和设备间代码作较多的修改,造成项目周期拉长,项目进度不容易掌控。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种数据传输方法、装置、电子设备和计算机可读存储介质,通过选择传输协议提高传输效率,并对通讯数据包转化为二进制格式,将通讯数据包分隔为多个功能区,简化了扩展过程,提高了扩展性,提高了用户体验。
2、第一方面,本发明实施例提供了一种数据传输方法,通讯数据命令包为二进制格式,通讯数据命令包包括:命令字、包长度、控制字和结构化变长区域;命令字和包长度均为长度为32位的二进制整数;命令字包括控制指令;包长度用于表征通讯数据命令包的长度;数据传输方法包括:确定通讯数据命令包的命令字中的传输协议;其中,传输协议包括:传输控制协议或用户数据报协议;基于传输控制协议或用户数据报协议将通讯数据命令包发送至外围设备;或者,基于传输控制协议或用户数据报协议接收外围设备发送的通讯数据命令包。
3、在本发明较佳的实施例中,数据传输方法还包括:如果传输协议为用户数据报协议,判断包长度是否大于预设的阈值;如果包长度大于预设的阈值,将通讯数据命令包的传输协议设置为传输控制协议。
4、在本发明较佳的实施例中,控制字为长度为32位的二进制整数;控制字包括:长度为2位的优先级指示位,优先级指示位用于表征通讯数据命令包的优先级;数据传输方法还包括:确定通讯数据命令包的优先级;将多个通讯数据命令包按照优先级排序发送至外围设备。
5、在本发明较佳的实施例中,控制字还包括:长度为1位的等待标志位和长度为16位的等待时间位;等待标志位用于表征发送的后续通讯数据命令包是否基于接收端的返回标志;等待时间位用于表征预设的等待接收返回标志的时间长度;数据传输方法还包括:基于等待标志位判断发送的后续通讯数据命令包是否基于接收端的返回标志;如果是,基于等待时间位确定等待接收返回标志的时间长度。
6、在本发明较佳的实施例中,基于等待时间位确定等待接收返回标志的时间长度的步骤之后,数据传输方法还包括:响应在时间长度内接收到返回标志,发送后续通讯数据命令包;如果在时间长度内未接收到返回标志,在时间长度结束后发送后续通讯数据命令包。
7、在本发明较佳的实施例中,结构化变长区域包括:多个指令字;其中,指令字包括:长度为32位的浮点数。
8、第二方面,本发明实施例提供了一种数据传输装置,通讯数据命令包为二进制格式,通讯数据命令包包括:命令字、包长度、控制字和结构化变长区域;命令字和包长度均为长度为32位的二进制整数;命令字包括控制指令;包长度用于表征通讯数据命令包的长度;数据传输装置包括:传输协议确定模块,用于确定通讯数据命令包的命令字中的传输协议;其中,传输协议包括:传输控制协议或用户数据报协议;通讯模块,用于基于传输控制协议或用户数据报协议将通讯数据命令包发送至外围设备。
9、在本发明较佳的实施例中,数据传输装置还包括:包长度确定模块,用于如果传输协议为用户数据报协议,判断包长度是否大于预设的阈值;传输协议变更模块,用于如果包长度大于预设的阈值,将通讯数据命令包的传输协议设置为传输控制协议。
10、第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述任一项的数据传输方法。
11、第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述任一项的数据传输方法。
12、本发明实施例带来以下有益效果:
13、本发明实施例提供了一种数据传输方法、装置、电子设备和计算机可读存储介质,通讯数据命令包为二进制格式,通讯数据命令包包括:命令字、包长度、控制字和结构化变长区域;命令字和包长度均为长度为32位的二进制整数;命令字包括控制指令;包长度用于表征通讯数据命令包的长度;数据传输方法包括:确定通讯数据命令包的命令字中的传输协议;其中,传输协议包括:传输控制协议或用户数据报协议;基于传输控制协议或用户数据报协议将通讯数据命令包发送至外围设备,或者,基于传输控制协议或用户数据报协议接收外围设备发送的通讯数据命令包;通过选择传输协议提高传输效率,通讯数据包采用二进制格式传输数据,传输效率高,将通讯数据包分隔为多个功能区,简化了扩展过程,通过命令字标识每个通讯数据命令包,提高了扩展性,提高了用户体验。
1.一种数据传输方法,其特征在于,通讯数据命令包为二进制格式,所述通讯数据命令包包括:命令字、包长度、控制字和结构化变长区域;所述命令字和所述包长度均为长度为32位的二进制整数;所述命令字包括控制指令;所述包长度用于表征所述通讯数据命令包的长度;所述数据传输方法包括:
2.根据权利要求1所述的数据传输方法,其特征在于,所述数据传输方法还包括:
3.根据权利要求1所述的数据传输方法,其特征在于,所述控制字为长度为32位的二进制整数;所述控制字包括:长度为2位的优先级指示位,所述优先级指示位用于表征所述通讯数据命令包的优先级;
4.根据权利要求3所述的数据传输方法,其特征在于,所述控制字还包括:长度为1位的等待标志位和长度为16位的等待时间位;所述等待标志位用于表征发送的后续通讯数据命令包是否基于接收端的返回标志;所述等待时间位用于表征预设的等待接收所述返回标志的时间长度;
5.根据权利要求4所述的数据传输方法,其特征在于,基于所述等待时间位确定等待接收所述返回标志的时间长度的步骤之后,所述数据传输方法还包括:
6.根据权利要求1所述的数据传输方法,其特征在于,所述结构化变长区域包括:多个指令字;其中,所述指令字包括:长度为32位的浮点数。
7.一种数据传输装置,其特征在于,通讯数据命令包为二进制格式,所述通讯数据命令包包括:命令字、包长度、控制字和结构化变长区域;所述命令字和所述包长度均为长度为32位的二进制整数;所述命令字包括控制指令;所述包长度用于表征所述通讯数据命令包的长度;所述数据传输装置包括:
8.根据权利要求7所述的数据传输装置,其特征在于,所述数据传输装置还包括:
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现上述权利要求1至6任一项所述的数据传输方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述权利要求1至6任一项所述的数据传输方法。