掌桥专利:专业的专利平台
掌桥专利
首页

设备通信方法、电子设备、通信系统和存储介质

文献发布时间:2024-04-18 20:01:30


设备通信方法、电子设备、通信系统和存储介质

技术领域

本申请涉及通信技术领域,特别是涉及一种设备通信方法、电子设备、通信系统和存储介质。

背景技术

随着网络通信及物联网的快速发展,现有网络速率和设备(如,服务器)等性能并不能给用户很好的体验,在网络波动或者设备性能受限时,往往会出现设备响应不及时、控制无反馈等问题。

目前,会通过性能监测、网关监测等进行网络交互的优化,但是也只停留在了异常监测阶段,并没有任何优化措施。

发明内容

本申请主要解决的技术问题是提供一种设备通信方法、电子设备、通信系统和存储介质,能够提高设备间的通信成功率。

为解决上述技术问题,本申请采用的一个技术方案是:提供一种设备通信方法,该方法包括:本端设备接收对端设备发送的报文数据包;其中,报文数据包括目标管理指令;确定在对应目标管理指令的预存响应时长内能否使对端设备接收到协议响应报文;其中,协议响应报文是本端设备根据通信协议在执行完目标管理指令对应的目标任务后发送的,预存响应时长被定义为能够使对端设备接收到协议响应报文,且不会触发预设处理机制的时长,预设处理机制为对端设备根据通信协议确定报文数据包发送失败而触发的处理机制;响应于无法使对端设备在预存响应时长内接收到协议响应报文,向对端设备发送预响应报文;其中,预响应报文用于告知对端设备,本端设备已接收到报文数据包。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种电子设备,该电子设备包括处理器和存储器,存储器存储有程序指令,处理器用于执行程序指令以实现上述的方法。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种通信系统,该通信系统包括电子设备和管理平台,其中,电子设备为上述的电子设备。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种计算机可读存储介质,该计算机可读存储介质用于存储程序指令,程序指令能够被执行以实现上述的方法。

上述技术方案,本端设备确定对应目标管理指令的预存响应时长内能否使对端设备接收到协议响应报文,并响应于无法使对端设备在预存响应时长内接收到协议响应报文,向对端设备发送预响应报文。故,在确定无法使对端设备在预存响应时长内接收到协议响应报文时,则立即进入预响应机制,向对端设备发送预响应报文,以告知对端设备已经成功接收到报文数据包,从而阻止对端设备在预存响应时长内未接收到协议响应报文时触发预设处理机制,进而使得对端设备在预存响应时长内未接收到响应报文时依旧保持与本端设备之间的正常通信,提高了设备之间的通信成功率。

附图说明

图1是本申请提供的设备通信方法一实施例的流程示意图;

图2是本申请提供的通信系统一实施例的结构示意图;

图3是本申请提供的基于本端设备的历史通信情况确定时长参考因子一实施例的流程示意图;

图4是图1所示步骤S12一实施例的流程示意图;

图5是本申请提供的电子设备一实施例的结构示意图;

图6是本申请提供的通信系统另一实施例的结构示意图;

图7是本申请提供的计算机可读存储介质一实施例的结构示意图。

具体实施方式

下面结合说明书附图,对本申请实施例的方案进行详细说明。

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。

请参阅图1,图1是本申请提供的设备通信方法一实施例的流程示意图。需注意的是,若有实质上相同的结果,本申请的实施例并不以图1所示的流程顺序为限。如图1所示,本实施例包括:

步骤S11:本端设备接收对端设备发送的报文数据包。

两个设备之间进行通信(如,本端设备与对端设备之间进行通信,对端设备向本端设备发送相关请求),在对端设备向本端设备发送了请求之后,是需要本端设备在一定时间内给出回复(响应)的,其中,本端设备一般是在执行完请求对应的相关任务后,才会给予对端设备响应。如果对端设备在发送请求后的一定时间内未接收到本端设备的响应(如,可能由于本端设备执行请求对应的相关任务的耗时过程过长),则会认为向本端设备发送请求失败,会触发预设处理机制;一种预设处理机制可以为向本端设备发送断连数据包(如,向本端设备发送包头的RST标志位等为1的数据包),并与本端设备断开对应的网络链路连接,后续本端设备再基于此请求向对端设备回复时,由于对端设备与本端设备对应的网络链路已经断开,对端设备无法收到本端设备基于此请求的回复,本端设备与对端设备基于此请求的通信是失败的,即,本端设备与对端设备之间通信失败;另一种预设处理机制可以为向本端设备发送重发数据包(重新发送相同内容的请求),后续虽然对端设备能够接收到本端设备基于此请求的回复,但是造成了同一数据的反复发送,造成了资源的多余消耗,所以,在对端设备发送重发数据包之后给予对端设备回复,也可以认为本端设备与对端设备基于此请求的通信是失败的,即,本端设备与对端设备之间通信失败。

本实施例的方法用于优化可能会超时的设备间的协议交互,提高设备之间的通信成功率。

本实施方式中,本端设备接收对端设备发送的报文数据包;其中,报文数据包包括目标管理指令。具体地,本端设备启动后,接收对端设备发送的报文数据包;然后,对报文数据包进行解析,得到目标管理指令,确定对端设备具体需要本端设备做什么。

在一实施方式中,如图2所示,图2是本申请提供的通信系统一实施例的结构示意图,本端设备为前端设备,前端设备具有网络传输(如,以太网、蜂窝网)能力和数据采集(如,音频数据采集、视频数据采集)能力的一种设备;对端设备为设备管理平台,设备管理平台指具有添加、删除和控制前端设备,以及存储、检索、显示、转发前端设备信息和前端设备采集的信息等功能的综合管理平台;前端设备与设备管理平台之间通过因特网承载特定的协议进行通信。

当然,在其他实施方式中,本端设备和对端设备也可均为前端设备,前端设备之间进行通信,如,可以实现两前端设备之间的数据交互、数据同步等。

在一具体实施方式中,如图2所示,前端设备包括协议通信模块、网络数据监视模块、策略调控模块和至少一个业务功能模块。协议通信模块负责按照既定的协议与设备管理平台进行通信;将设备管理平台的请求转换成对应内部指令并发送给策略控制模块,以使策略控制模块去控制匹配的业务功能模块执行;在业务功能模块执行完成后,将执行的结果按照协议格式生成协议响应报文并回复给设备管理平台,其中,协议可以是当前一些公开的对接协议(如,Onvif协议、GB28181协议等),也可以是其他基于因特网的前端设备与设备管理平台定好的私有协议。网络数据监视模块用于监视前端设备上的所有网络通信和链路往返时间(RTT),对符合监视条件的通信状态进行统计,主要是监视协议交互状态和网络链路层状态。策略调控模块用于记录前端设备运行时所有功能执行的耗时;当收到协议通信模块的指令后,结合网络数据监视模块反馈的信息,通过各种公式计算之后选择直接控制业务功能模块进行处理还是先向设备管理平台发送预响应报文,以告知设备管理平台自身已经接收到报文数据包,从而使设备管理平台不断开与前端设备的连接或者使设备管理平台不重复向前端设备发送相同内容的请求。业务功能模块为具体功能的执行模块。

步骤S12:确定在对应目标管理指令的预存响应时长内能否使对端设备接收到协议响应报文。

本实施方式中,确定在对应目标管理指令的预存响应时长内能否使对端设备接收到协议响应报文;其中,协议响应报文是本端设备根据通信协议在执行完目标管理指令对应的目标任务后发送的,预存响应时长被定义为能够使对端设备接收到协议响应报文,且不会触发预设处理机制的时长,预设处理机制为对端设备根据通信协议确定报文数据发送失败而触发的处理机制。需要说明的是,在对应目标管理指令的预存响应时长内无法使对端设备接收到协议响应报文,可能是由于网络速率波动所导致的,也有可能是本端设备繁忙使执行目标管理指令对应的目标任务的耗时较长所导致的。

在一实施方式中,预存响应时长小于或等于所有时长参考因子,时长参考因子包括以下至少一者:第一表征时长、第二表征时长、以及报文数据包对应的协议等待时长,第一表征时长表征接收到报文数据包至本端设备对应的通信链路断开的时长,第二表征时长表征接收到报文数据包至本端设备重复接收到报文数据包的时长,报文数据包对应的协议等待时长为通信协议设定的,且协议等待时长内未接收到协议响应报文则触发的处理机制。

第一表征时长表征接收到报文数据包至本端设备对应的通信链路断开的时长,所以在时长参考因子为第一表征时长时,确定接收到报文数据包至本端设备对应的通信链路断开的时长内,能否使对端设备接收到协议响应报文,以便于在确定了接收到报文数据包至本端设备对应的通信链路断开的时长内,无法使对端设备接收到协议响应报文,后续能够及时进行相应处理,使得对端设备不触发断开与本端设备对应的通信链路,保持本端设备与对端设备之间的通信,提高了设备之间的通信成功率。

第二表征时长表征接收到报文数据包至本端设备重复接收到报文数据包的时长,所以在时长参考因子为第二表征时长时,确定接收到报文数据包至本端设备重复接收到报文数据包的时长内,能否使对端设备接收到协议响应报文,以便于在确定了接收到报文数据包至本端设备重复接收到报文数据包的时长内,无法使对端设备接收到协议响应报文,后续能够及时进行相应处理,使得对端设备不触发重复向本端设备发送报文数据包,减少资源消耗,保持本端设备与对端设备之间的正常通信,提高了设备之间的通信成功率。

在时长参考因子为报文数据包对应的协议等待时长时,确定在报文数据包对应的协议等待时长内,能否使对端设备接收到协议响应报文,以便于在确定了在协议等待时长内,无法使对端设备接收到协议响应报文,后续能够及时进行相应处理,使得对端设备不触发断开与本端设备对应的通信链路和/或不触发重复向本端设备发送报文数据包,保持本端设备与对端设备之间的通信,提高了设备之间的通信成功率。

在一具体实施方式中,时长参考因子为第一表征时长和第二表征时长中的较小者,预存响应时长小于或等于第一表征时长和第二表征时长中的较小者。在预存响应时长小于或等于第一表征时长和第二表征时长中的较小者时,确定在第一表征时长内和第二表征时长中的较小者内,能否使对端设备接收到协议响应报文,以便于后续在确定了在第一表征时长和第二表征时长中的较小者内,无法使对端设备接收到协议响应报文,后续能够及时进行相应处理,使得对端设备不触发断开与本端设备对应的通信链路以及不触发重复向本端设备发送报文数据包,保持本端设备与对端设备之间的通信,提高了设备之间的通信成功率。需要说明的是,以第一表征时长为较小者为例:由于在后续能够及时进行相关处理,使得对端设备不触发断开与本端设备对应的通信链路,对于需要更长时间才会触发的重复向本端设备发送报文数据的预设处理机制,也就更加不会触发了。

在一具体实施方式中,不同报文类型的时长参考因子对应的时长不同,每个报文类型的时长参考因子对应的时长是根据报文类型的历史通信情况确定的。不同报文类型可以理解为基于不同通信协议传输的报文数据包;通过设置不同通信协议对应不同的时长参考因子的时长,使得不同通信协议对应不同的预存响应时长,从而使得预存响应时长与对应的通信协议更加匹配,能够进一步提高设备之间的通信成功率。

举例来说,如下表1所示,包括3种通信协议,Fomat(格式化文件系统)协议对应的时长参考因子为3400ms,Setconfig(设置配置数据)协议对应的时长参考因子为2150ms,Reset(复位)协议对应的时长参考因子为3555ms;所以,Fomat协议对应的报文数据包的预存响应时长小于或等于3400ms,Setconfig协议对应的报文数据包的预存响应时长小于或等于2150ms,Reset协议对应的报文数据包的预存响应时长小于或等于3555ms。需要说明的是,表1中,对于各通信协议来说,通信协议的时长参考因子为通信协议的第一表征时长和第二表征时长中的较小者。

表1时长参考因子表

在一实施方式中,上述的时长参考因子是根据本端设备的利用历史通信情况而确定的,时长参考因子与通信协议更加匹配,能够提高设备之间的通信成功率。当然,在其他实施方式中,上述的时长参考因子也可以是用户提前设置的,在此不做限定。

步骤S13:响应于无法使对端设备在预存响应时长内接收到协议响应报文,向对端设备发送预响应报文。

本实施方式中,响应于无法使对端设备在预存响应时长内接收到协议响应报文,向对端设备发送预响应报文;其中,预响应报文用于告知对端设备,本端设备已接收到报文数据包。也就是说,在确定无法使对端设备在预存响应时长内接收到协议响应报文时,即,会导致通信交互超时时,则立即进入预响应机制,向对端设备发送预响应报文,以告知对端设备已经成功接收到报文数据包,从而阻止对端设备在预存响应时长内未接收到协议响应报文时触发预设处理机制,进而使得对端设备在预存响应时长内未接收到响应报文时依旧保持与本端设备之间的正常通信,提高了设备之间的通信成功率。

在一实施方式中,向对端设备发送预响应报文,具体为:提前向对端设备发送协议响应报文。也就是说,在确定无法使对端设备在预存响应时长内接收到协议响应报文时,先向对端设备回复响应再执行对应的目标任务。当然,在其他实施方式中,向对端设备发送预响应报文,也可以是向对端设备发送提示信息,以提示告知对端设备已经成功接收到报文数据包。

在一实施方式中,协议响应反馈包括执行成功反馈和执行失败反馈,本申请提供的设备通信方法还包括以下至少一个步骤:执行目标任务,响应于目标任务执行完成,向对端设备发送执行成功反馈;或者,响应于目标任务执行失败,向对端设备发送执行失败反馈,其中,执行失败反馈包括执行失败原因。

上述实施方式中,本端设备确定对应目标管理指令的预存响应时长内能否使对端设备接收到协议响应报文,并响应于无法使对端设备在预存响应时长内接收到协议响应报文,向对端设备发送预响应报文。故,在确定无法使对端设备在预存响应时长内接收到协议响应报文时,则立即进入预响应机制,向对端设备发送预响应报文,以告知对端设备已经成功接收到报文数据包,从而阻止对端设备在预存响应时长内未接收到协议响应报文时触发预设处理机制,进而使得对端设备在预存响应时长内未接收到响应报文时依旧保持与本端设备之间的正常通信,提高了设备之间的通信成功率。

请参阅图3,图3是本申请提供的基于本端设备的历史通信情况确定时长参考因子一实施例的流程示意图。需注意的是,若有实质上相同的结果,本申请的实施例并不以图3所示的流程顺序为限。如图3所示,在本端设备接收对端设备发送的报文数据包之前,会基于本端设备的历史通信情况确定时长参考因子,历史通信情况即为本端设备接收对端设备发送的报文数据包之前的通信情况,本实施例包括:

步骤S31:监测到对端设备发送的测试数据包。

本实施方式中,监测到对端设备发送的测试数据包(对应一通信协议的协议数据包);其中,测试数据包包括测试管理指令。具体地,在本端设备启动后,不断从网络协议栈抓取TCP测试数据包和UDP测试数据包;并且,记录各测试数据包以及各测试数据包被监测到的时间。

由于可能会接收到无需进行监测的协议数据包,所以,在一实施方式中,在从网络协议栈抓取到数据包后,会将数据包与本端设备预置的协议特征进行匹配,若能够匹配上,则表明是本端设备需要监测的协议数据包,并记录其被监测到的时间。其中,协议特征包括但不限于固定标识的一段数据、满足特定模式的数据格式、用正则表达式描述的数据格式。

步骤S32:在向对端设备发送测试响应报文之前,监测到对端设备发送的对应测试数据包的异常数据包。

本实施方式中,在向对端设备发送测试响应报文之前,监测到对端设备发送的对应测试数据包的异常数据包;其中,测试响应报文是本端设备根据通信协议在执行完测试管理指令对应的测试任务后发送的,异常数据包是对端设备在测试数据包对应的协议等待时长内未接收到测试响应报文而触发的。需要说明的是,在对应测试管理指令的协议等待时长内无法使对端设备接收到测试响应报文,可能是由于网络速率波动所导致的,也有可能是本端设备繁忙使执行测试管理指令对应的测试任务的耗时较长所导致的。

具体地,在本端设备接收到对端设备发送的测试数据包后,会对测试数据包进行解析以得到测试管理指令;然后,执行测试管理指令对应的测试任务。对于对端设备来说,如果在协议等待时长内未接收到本端设备执行完测试管理指令对应的测试任务后发送的测试响应报文,会向本端设备发送异常数据包。

在一实施方式中,异常数据包包括断连数据包、重发数据包中的一者。监测到对端设备发送的断连数据包,则表明对端设备在协议等待时长内没有收到本端设备发送的测试响应报文后,断开了与本端设备对应的通信链路的连接。监测到对端设备发送的重发数据包,则表明对端设备在协议等待时长内没有收到本端设备发送的测试响应报文,重复性地向本端设备发送相同内容的报文数据包。

在一具体实施方式中,异常数据包为包头的RST标志位等为1的数据包。当然,在其他具体实施方式中,异常数据包也可以是其他形式的数据包,在此不做限定。

在其他实施方式中,在监测到对端设备发送的对应测试数据包的异常数据包之前,监测到本端设备基于该测试数据包的回复(响应),则删除该回复对应的测试数据包的相关信息,减少内存的占用。

步骤S33:获取第一监测时刻与第二监测时刻之间的监测时差,作为第一表征时长或第二表征时长。

本实施方式中,获取第一监测时刻与第二监测时刻之间的监测时差,作为第一表征时长或第二表征时长;其中,第一监测时刻为监测到测试数据包的时刻,第二监测时刻为监测到异常数据包的时刻。也就是说,将监测到测试数据包的时刻与监测到对应的异常数据包的时刻之差,作为第一表征时长或第二表征时长。其中,在异常数据包为断连数据包时,将监测到测试数据包的时刻与监测到对应的断连数据包的时刻之差,作为第一表征时长;在异常数据包为重发数据包时,将监测到测试数据包的时刻与监测到对应的重发数据包的时刻之差,作为第二表征时长。

在一实施方式中,会对不同通信协议(不同报文类型)对应的第一表征时长和/或第二表征时长进行记录并存储,以便于后续接收到对端设备发送的报文数据包时,可以查取确定报文数据包对应的预存响应时长。

在一具体实施方式中,记录的内容具体包括通信协议类型以及第一表征时长、第二表征时长中的较小者。在一具体实施方式中,具体可以存储在本端设备的内存和/或持久存储器(如,闪存、磁盘等)中。

请参阅图4,图4是图1所示步骤S12一实施例的流程示意图。需注意的是,若有实质上相同的结果,本申请的实施例并不以图4所示的流程顺序为限。如图4所示,本实施例包括:

步骤S41:获取目标任务的历史耗时。

本实施方式中,获取目标任务的历史耗时;其中,历史耗时为历史执行目标任务的所耗时长。也就是说,获取历史执行目标任务的耗时情况,以确定当前执行目标管理指令对应的目标任务的耗时情况。

在一实施方式中,历史耗时包括以下至少一者:最短历史耗时、最长历史耗时;其中,最短历史耗时与最长历史耗时是在不同的历史资源空闲情况下执行目标任务的所耗时长,目标任务的所耗时长与目标任务执行时的资源空闲情况呈反比。也就是说,本端设备执行目标管理指令对应的目标任务所需要的时长,主要是受本端设备的资源空闲情况影响;本端设备的资源空闲情况较大,表明本端设备当前大部分资源处于空闲状态,即,表明当前有大部分资源能够用于执行目标任务,所以,在此情况下,执行完成目标任务所需要的时长较小;本端设备的资源空闲情况较小,表明本端设备当前只有小部分资源处于空闲状态,即,表明当前只有小部分资源能够用于执行目标任务,所以,在此情况下,执行完成目标任务所需要的时长较大。

需要说明的是,最短历史耗时,可以看作是本端设备执行该目标任务的固有耗时,即,无论本端设备的资源空闲情况再怎么大,执行目标任务所需要的时长都不会再低于执行该目标任务的固有耗时。最大历史耗时,可以看作是本端设备在历史执行目标任务时发生过的最长耗时;最大耗时是会改变的,如,后续本端设备在执行目标任务时的资源空闲情况差于最长历史耗时对应的历史资源空闲情况时,后续在本端设备执行目标任务所耗时长会大于最长历史耗时。也就是说,最长历史耗时是在不断被更新的。另外,本端设备首次启动时,本端设备的资源空闲情况最大,可在本端设备首次启动时调用测试接口记录固有耗时以及资源空闲情况。

例如,如下表2所示,包括有三种通信协议,通过对不同通信协议传输的报文数据包解析得到的目标管理执行不同,用于执行不同的目标任务。以资源空闲情况为资源空闲率为例,执行复位任务的最短历史耗时(固有耗时)为2500ms,对应的资源空闲率为80%;执行复位任务的最长历史耗时为4150s,对应的资源空闲率为60%。

表2各任务对应的耗时和资源空闲率

步骤S42:利用预存响应时长确定目标任务的可执行时长。

本实施方式中,利用预存响应时长确定目标任务的可执行时长。协议响应报文在传输链路中从本端设备传输到对端设备需要一定的时间,如果想要使对端设备在预存响应时长内接收到协议响应报文,那么实际可用于本端设备执行目标任务的时间是小于预存响应时长的。故,需要进一步利用预存响应时长确定目标任务的可执行时长。

由于协议响应报文在传输链路中从本端设备传输到对端设备需要一定的时间,如果想要使对端设备在预存响应时长内接收到协议响应报文,那么需要从预存响应时长内减去协议响应报文从本端设备传输至对端设备的时长。另外,由于预存响应时长是基于第一表征时长和第二表征时长中的较小者确定的,第二表征值和第一表征值是基于接收到异常数据包时刻确定的;而对端设备在向本端设备发送异常数据包时就确定报文数据包发送失败了,并非是在本端设备接收到异常数据包时确定报文数据包发送失败的;所以,需要在对端设备发送异常数据包之前,使其收到协议响应报文,则还需要从预存响应时长内减去异常数据包从对端设备传输至本端设备的时长。即,在一实施方式中,将预存响应时长与目标往返时长之差,作为可执行时长,目标往返时长为数据在目标管理指令对应的传输链路上的往返时长。其中,具体公式如下所示:

RT=TOT-RTT

其中,RT表示目标任务的可执行时长;TOT表示预存响应时长;RTT表示目标往返时长。

步骤S43:响应于可执行时长和历史耗时之间满足预设大小关系,确定无法使对端设备在预存响应时长内接收到协议响应报文。

本实施方式中,响应于可执行时长和历史耗时之间满足预设大小关系,确定无法使对端设备在预存响应时长内接收到协议响应报文。也就是说,在可用于本端设备执行目标任务的时长不足以本端设备执行完成目标任务时,表明本端设备当前执行完成目标任务需要的时长大于可执行时长,所以本端设备当前执行完成目标任务需要的时长与目标往返时长之和大于预存响应时长,所以确定无法使对端设备在预存响应时长内接收到协议响应报文。

在一实施方式中,历史耗时包括以下至少一者:最短历史耗时、最长历史耗时;其中,最短历史耗时与最长历史耗时在不同的历史资源空闲情况下执行目标任务的所耗时长,目标任务的所耗时长与目标任务执行时的资源空闲情况呈反比。预设大小关系包括以下至少一者:可执行时长小于最短历史耗时,可执行时长大于最短历史耗时且小于最长历史耗时、且预估完成时长大于可执行时长;其中,预估完成时长为当前执行目标任务的预估所耗时长,预估完成时长是基于当前资源空闲情况确定的。

可执行时长小于最短历史耗时,表明可用于本端设备执行目标任务的时长小于最短历史耗时,而无论本端设备的资源空闲情况再怎么大,执行目标任务所需要的时长都不会再低于执行该目标任务的最短历史耗时。所以,在可执行时长小于最短历史耗时时,可执行时长不足以本端设备执行完成目标任务。

可执行时长大于最短历史耗时且小于最大历史耗时、且预估完成时长大于可执行时长,预估完成时长是基于当前资源空闲情况确定的。表明在当前资源情况下执行目标任务所需要的时长大于可执行时长,可执行时长不足以本端设备执行完成目标任务。

在一实施方式中,历史耗时包括最短历史耗时和最长历史耗时,目标任务的预估完成时长的确定,具体包括如下步骤:步骤一:分别获取对应最短历史耗时的第一历史资源空闲情况、对应最长历史耗时的第二历史资源空闲情况以及当前资源空闲情况;步骤二:利用最短历史耗时、第一历史资源空闲情况、最长历史耗时、第二历史资源空闲情况和当前资源空闲情况,得到预估完成时长。

在一具体实施方式中,资源空闲情况为资源空闲率;利用最短历史耗时、第一历史资源空闲情况、最长历史耗时、第二历史资源空闲情况和当前资源空闲情况,得到预估完成时长,具体为:获取耗时时差、第一资源差和第二资源差,其中,耗时时差为最长历史耗时与最短历史耗时之间的差值,第一资源差为第一历史资源空闲率与第二历史资源空闲率之间的差值,第二资源差为第一历史资源空闲率与当前资源空闲率之间的差值;将第一乘积与最短历史耗时之和,作为预估完成时长,其中,第一乘积为耗时时差和第一资源差的比值与第二资源差的乘积。其中,具体公式如下所示:

PT=(LT-FT)/(FI-LI)*(FI-CI)+FT

其中,PT表示目标任务的预估完成时长;LT表示最长历史耗时;FT表示最短历史耗时;FI表示第一历史资源空闲率;LI表示第二历史资源空闲率;CI表示当前资源空闲率。

在一实施方式中,历史耗时包括最长历史耗时,在确定无法使对端设备在预存响应时长内接收到协议响应报文之后,还会响应于预估完成时长大于最大历史耗时,将预估完成时长作为新的最大历史耗时,以及当前资源空闲情况作为对应最大历史耗时的新的历史资源空闲情况。也就是说,会对最大历史耗时以及对应的资源空闲情况进行更新。

下面以视频监控平台通过Onvif(SetSystemFactoryDefaultResponse)协议对网络摄像机进行复位操作为例对本申请提供的设备通信方法进行说明:

网络摄像机接收到平台发送的Onvif复位协议数据包(对应Onvif协议的报文数据包);对Onvif复位协议数据包进行解析得到复位操作指令;确定复位操作指令对应的复位任务的预存响应时长为3555毫秒,以及确定Onvif复位协议对应的链路往返时长RTT为10毫秒,并根据预存响应时长和链路往返时长确定出可执行时长为3550毫秒。

获取复位任务的历史耗时情况以及对应的资源空闲情况(最短历史耗时:2500毫秒,最短历史耗时对应的资源空闲率:80%,最长历史耗时:4150毫秒,最长历史耗时对应的资源空闲率:60%),以及获取当前资源空闲率为66%;由于可执行时长处于最短历史耗时和最长历史耗时之间,需要进行预估完成时长计算,根据“预估完成时长”的公式计算出预计完成时长为3655毫秒;可执行时长(3550毫秒)小于预估完成时长(3655毫秒),本次操作会导致通信交互超时,需要进入预响应机制,向平台发送预响应报文,以告知平台已经成功接收到报文数据包,从而阻止平台在预存响应时长内未接收到协议响应报文时触发预设处理机制,进而使得平台在预存响应时长内未接收到响应报文时依旧保持与网络摄像机之间的正常通信,提高了设备之间的通信成功率。

请参阅图5,图5是本申请提供的电子设备一实施例的结构示意图。电子设备50包括相互耦接的存储器51和处理器52,处理器52用于执行存储器51中存储的程序指令,以实现上述任一设备通信方法实施例的步骤。在一个具体的实施场景中,电子设备50可以包括但不限于:微型计算机、服务器,此外,电子设备50还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。

具体而言,处理器52用于控制其自身以及存储器51以实现上述任一设备通信方法实施例的步骤。处理器52还可以称为CPU(Central Processing Unit,中央处理单元)。处理器52可能是一种集成电路芯片,具有信号的处理能力。处理器52还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器52可以由集成电路芯片共同实现。

请参阅图6,图6是本申请提供的通信系统另一实施例的结构示意图。本申请实施例的通信系统60包括上述的电子设备50和管理平台61。

请参阅图7,图7是本申请提供的计算机可读存储介质一实施例的结构示意图。本申请实施例的计算机可读存储介质70存储有程序指令71,该程序指令71被执行时实现本申请设备通信方法任一实施例以及任意不冲突的组合所提供的方法。其中,该程序指令71可以形成程序文件以软件产品的形式存储在上述计算机可读存储介质70中,以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式方法的全部或部分步骤。而前述的计算机可读存储介质70包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。

若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。

以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

相关技术
  • 一种电力系统稳定器投退控制与指示方法
  • 一种用于电力系统原动机侧投退阻尼控制器的方法及系统
技术分类

06120116557992