信号传输方法、机器人及计算机可读存储介质
技术领域
本发明涉及通信领域,特别涉及一种信号传输方法、机器人及计算机可读存储介质。
背景技术
机器人在运行过程中,通过MCSClient(Mobile Intranet Cloud Serviceclient,移动内联网客户端)与安全专网连接,通过安全专网,机器人终端与云端大脑连接。机器人终端与云端大脑进行数据交换是,所交换的数据中包含音视频,图片等多种不同类型的数据。
然而,本发明的发明人发现,在机器人的实际过程中,由于不同地域和不同时刻的网络质量不同,导致机器人与云端大脑之间的数据交互过程延迟过高,影响机器人的工作。
发明内容
本发明实施方式的目的在于提供一种信号传输方法、机器人及计算机可读存储介质,减少网络质量不良对机器人工作的影响。
为解决上述技术问题,本发明的实施方式提供了一种信号传输方法,应用于机器人,包括:获取所述机器人的当前网络数据;获取所述机器人当前运行的业务、以及运行所述业务所需要的网络条件;当所述当前网络数据无法满足所述网络条件时,暂停预设业务。
本发明的实施方式还提供了一种机器人,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前述的信号传输方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如前述的信号传输方法。
本发明实施方式相对于现有技术而言,机器人在运行的过程中,当检测到当前网络数据无法满足机器人当前运行的业务所需要的网络条件时,暂停预设业务,从而将原本用于传输预设业务的网络带宽释放出来,保证未暂停的业务的网络正常使用,从而有效的减少网络质量问题对机器人工作的影响。
另外,所述暂停预设业务后,还包括:更新所述当前网络数据;当更新后的网络数据满足所述网络条件时,开启所述预设业务。网络数据满足运行业务所需的网络条件时,重新开启预设业务,从而保证预设业务的运行。
另外,所述当前网络数据至少包括所述当前网络的当前上行带宽;所述网络条件至少包括运行所述业务所需要的最小上行带宽;所述当前网络数据无法满足所述网络条件时,具体为:当所述最小上行带宽大于所述当前上行带宽时。
另外,获取当前上行带宽,具体包括:持续向移动内联网网关发送数据;第一预设时长后,接收移动内联网网关根据接收到的总接收数据和所述第一预设时长、计算得到的所述当前上行带宽。
另外,所述当前网络数据至少包括所述当前网络的当前上行丢包率;所述网络条件至少包括所述业务正常运行时的最大上行丢包率;所述当前网络数据无法满足所述网络条件时,具体为:当所述当前上行丢包率大于所述最大上行丢包率时。
另外,获取当前上行丢包率,具体包括:持续向移动内联网网关发送数据包;第二预设时长后,向移动内联网网关发送所述数据包的发送数量;接收移动内联网网关根据所述数据包的接收数量和所述发送数量、计算得到的所述当前上行丢包率。
另外,所述向移动内联网网关发送所述数据包的发送数量,具体为:连续多次向移动内联网网关发送所述数据包的发送数量。
另外,所述暂停预设业务,具体包括:暂停所述机器人上传视频数据。在机器人运行过程中,视频数据为非关键业务,设置暂停预设业务为暂停上传视频数据,暂停视频数据上传后,也并不影响机器人的正常工作,从而进一步的保证机器人的正常工作。
附图说明
图1是本发明第一实施方式所提供的信号传输方法的流程图;
图2是本发明第一实施方式所提供的信号传输方法中获取当前上行带宽的流程图;
图3是本发明第一实施方式所提供的信号传输方法中获取当前上行丢包率的流程图;
图4是本发明第二实施方式所提供的信号传输方法的流程图;
图5是本发明举例说明的示意图;
图6是本发明第三实施方式所提供的机器人的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种信号传输方法。具体流程如图1所示,包括以下步骤:
步骤S101:获取机器人的当前网络数据。
具体的,在本实施方式中,当前网络数据为机器人当前所连接的网络的当前上行带宽。计算当前上行带宽的流程如图2所示,包括:
步骤S201:持续向移动内联网网关发送数据。
具体的,在本步骤中,机器人通过MCSClient持续向移动内联网网关发送数据。经过第一预设时长后,停止数据传送。
步骤S202:第一预设时长后,接收移动内联网网关回传的当前上行带宽。
具体的,在本步骤中,移动内联网网关在持续接收MCSClient发送的数据第一预设时长后,统计第一预设时长内接收到的总接收数据,根据总接收数据和第一预设时长、以总数据流量/第一预设时长即计算得到的当MCSClient的当前上行带宽,MCSClient的当前上行带宽即为机器人的当前上行带宽。移动内联网网关将计算得到的当前上传带宽回传至MCSClient。MCSClient即可直接接收移动内联网网关回传的当前上行带宽。
具体的,在本实施方式中,MCSClient通过AIDL接口方式将当前上行带宽发送给机器人APP。机器人APP注册MCSClient AIDL(Android Interface Definition LanguageAndroid,接口定义语言)接口后,即可接收MCSClient发送的当前上行带宽。可以理解的是,MCSClient通过AIDL接口方式将当前上行带宽发送给机器人APP仅为本实施方式中的一种具体的举例说明,并不构成限定,在本发明的其它实施方式中,MCSClient也可以是通过其它类型的接口将当前上行带宽发送给机器人APP,如光纤分布式数据接口等,在此不进行一一列举,具体可以根据实际需要进行灵活的选用。
通过MCSClient和移动内联网网关之间的数据传输,计算得到当前上行带宽,可以保证当前上行的实时性和准确性。此外,MCSClient和移动内联网网关之间的数据传输,并不占用机器人的上行带宽,进一步减少网络质量不良对机器人工作的影响。
可以理解的是,当前网络数据为机器人当前所连接的网络的当前上行带宽仅为本实施方式中的一种具体的举例说明,并不构成限定,在本发明的其它实施方式中,当前网络数据还可以包括除当前上行带宽外的其它数据,如当前上行丢包率等,在此不进行一一列举,具体可以根据实际需要进行灵活的设定。
具体的,当前网络数据包括当前上行丢包率时,计算当前上行丢包率的方法如图3所示,包括以下步骤:
步骤S301:持续向移动内联网网关发送数据包。
具体的,在本步骤中,机器人通过MCSClient持续向移动内联网网关发送数据包,并对发送的数据包的发送数量进行记录。经过第二预设时长后,停止数据包的传送。
步骤S302:第二预设时长后,向移动内联网网关发送数据包的发送数量。
具体的,在本步骤中,机器人通过MCSClient向移动内联网网关发送数据包的发送数量。
优选的,在本实施方式中,机器人通过MCSClient连续多次向移动内联网网关发送数据包的发送数量。通过连续多次向移动内联网网关发送数据包的发送数量,可以有效的减少由于丢包导致移动内联网网关未接收到发送数量的可能性,提升当前上行丢包率的计算准确性。
步骤S303:接收移动内联网网关回传的当前上行丢包率。
具体的,在本实施方式中,MCSClient通过AIDL接口方式将当前上行丢包率发送给机器人APP。机器人APP注册MCSClient AIDL接口后,即可接收MCSClient发送的当前上行丢包率。可以理解的是,MCSClient通过AIDL接口方式将当前上行丢包率发送给机器人APP仅为本实施方式中的一种具体的举例说明,并不构成限定,在本发明的其它实施方式中,MCSClient也可以是通过其它类型的接口将当前上行丢包率发送给机器人APP,如光纤分布式数据接口等,在此不进行一一列举,具体可以根据实际需要进行灵活的选用。
步骤S102:获取机器人当前运行的业务、以及运行业务所需要的网络条件。
具体的,在本步骤中,机器人业务APP根据IP信息包过滤系统规则流量进入网络层(IP)的点对点设备网卡后,TUN网卡流量进入MCSClient,MCSClient对业务流量进行标记,MCSClient对流量进行外层VPN封装后,发送物理网卡,运行业务所需要的网络条件即为MCSClient发送业务流量到物理网卡的流量数据。
可以理解的是,上述仅为本实施方式中获取机器人运行当前业务所需的网络条件的一种具体的举例说明,并不构成限定,在本发明的其它实施方式中,也可以是其它方法,如从后台数据中直接导出运行所述业务所需要的网络条件等。
步骤S103:当当前网络数据无法满足网络条件时,暂停预设业务。
具体的,在本步骤中,预设业务为不影响机器人正常工作的业务,如视频数据传输业务等。可以理解的是,在机器人的与运行过程中,音频,图片,语言识别和自然语言处理数据业务是关键业务,直接决定机器人是否可以正常工作,则预设业务应避免设置为这些关键业务。从而防止关键业务被关闭导致机器人无法正常工作的情况发生。
与现有技术相比,本发明第一实施方式所提供的信号传输方法通过检测机器人的当前网络数据和获取机器人与西宁各个业务所需的网络条件,当检测到当前网络数据无法满足机器人当前运行的业务所需要的网络条件时,暂停预设业务,例如视频数据等不影响机器人正常工作的数据传输业务等,从而将原本用于传输预设业务的网络带宽释放出来,保证未暂停的业务的网络正常使用,从而有效的减少网络质量问题对机器人工作的影响。
本发明的第二实施方式涉及一种信号传输方法。第二实施方式与第一实施方式大致相同,主要区别之处在于:在第一实施方式中,暂停预设业务后流程即结束了。而在本发明第二实施方式中,暂停预设业务后,还包括:更新当前网络数据;当更新后的网络数据满足网络条件时,开启预设业务。具体步骤如图4所示,包括:
步骤S401:获取机器人的当前网络数据。
步骤S402:获取机器人当前运行的业务、以及运行业务所需要的网络条件。
步骤S403:当当前网络数据无法满足网络条件时,暂停预设业务。
可以理解的是,本实施方式中的步骤S401至步骤S403与第一实施方式中的步骤S101至步骤S103大致相同,具体可以参照第一实施方式中的具体介绍,在此不进行赘述。
步骤S404:更新当前网络数据。
具体的,在本步骤中,再次获取机器人的当前网络数据,从而更新当前网络数据。
进一步的,在本实施方式中,实时更新当前网络数据。可以理解的是,实时更新当前网络数据仅为本实施方式中的一种具体的举例说明,并不构成限定,在本发明的其它实施方式中,也可以是每间隔一端时间更新一次当前网络数据,具体可以根据实际需要进行灵活的设定。
步骤S405:当更新后的网络数据满足网络条件时,开启预设业务。
与现有技术相比,本发明第二实施方式在保留第一实施方式的全部技术效果的同时,通过对当前网络数据的更新,当更新后的网络数据满足网络条件时,开启预设业务。从而在网络质量改善后,保持预设业务的运行。
下面,对本申请实施方式所提供的数据传输方法进行具体的举例说明,可以理解的是,下述仅为本实施方式中的一种具体的实施实例,并不构成限定,如图5所示,机器人APP与MCSClient启动运行后,MCSClient与安全专网建立连接;机器人APP注册MCSCLientAIDL接口函数,如图5中的4线。机器人APP与云端大脑通过安全专网建立连接,并上传视频数据,如图5中的5线。机器人运行过程中,若机器人所在网络环境变差,语言和图像识别速度变慢,MCSClient获取机器人当前运行的业务、以及运行业务所需的网络条件。如图5中1线,MCSClient发送业务流量到移动内联网网关,移动内联网网关计算出机器人当前上行带宽和当前上行丢包率、并将计算得到的当前上行带宽和当前上行丢包率反馈到MCSClient,如图5的2线。MCSClient通过AIDL接口把网络条件,当前上行带宽和当前上行丢包率反馈给机器人APP,如图5的3线。机器人APP根据约束规则,根据带宽和丢包率来判断是否关闭预设业务,如视频数据传输业务。当前网络太差,达不到业务要求的网络条件,则关闭视频数据传输业务。机器人与云端大脑之间只发送语音和图片等关键业务,保证语音和图像识别,如图5的6线。当机器人APP关闭视频等大带宽业务时,总业务带宽降低,MCSClient发送模拟流量来探测上行带宽是否恢复。MCSClient和移动内联网网关检查到网络恢复时,通知机器人APP,机器人APP再打开视频数据传输业务。
本发明第三实施方式涉及一种机器人,如图6所示,包括:至少一个处理器601;以及,与至少一个处理器601通信连接的存储器602;其中,存储器602存储有可被至少一个处理器601执行的指令,指令被至少一个处理器601执行,以使至少一个处理器601能够执行如上述数据传输方法。
其中,存储器602和处理器601采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器601和存储器602的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器601处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器601。
处理器601负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器602可以被用于存储处理器601在执行操作时所使用的数据。
本发明第四实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。