System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及通信,具体而言,涉及一种设备通信方法、装置、电子设备和计算机可读存储介质。
技术介绍
1、在嵌入式设备中,通信协议的选择与设计对于设备的性能和稳定性至关重要,由于嵌入式设备通常具有有限的计算能力和存储资源,因此在选择通信协议时,往往需要考虑到协议的复杂性和资源消耗情况,基于此,一般在嵌入式设备中采用单一的、线性的问答式协议,从而保证数据的准确传输和设备的及时响应。
2、但问答式协议往往也具有一定的局限性,由于问答式协议呈现出单一的线性特点,即每次只能和一个设备进行通信,因此若出现需要长时间与某个设备进行单独通信的情况,则其他设备只能一直处于等待状态,无法及时获得数据进行响应,因此会导致通信效率低的问题。
技术实现思路
1、有鉴于此,本申请的目的在于提供一种设备通信方法、装置、电子设备和计算机可读存储介质,以解决问答式通信协议通信效率低的问题。
2、为了实现上述目的,本申请实施例采用的技术方案如下:
3、第一方面,本专利技术提供一种设备通信方法,应用于电子设备,所述电子设备分别与多个待通信设备通信连接,所述方法包括:
4、在主线程串行执行所述电子设备与各个待通信设备的问答通信任务的过程中,若需要对第一目标待通信设备执行第一耗时通信任务,则为各所述待通信设备创建子线程;
5、其中,每个所述子线程对应至少一个待通信设备,每个所述子线程中设置有至少一个任务队列,所述至少一个待通信设备中的第一目标待通信设备对应的任务队列为
6、将所述第一耗时通信任务分配至所述第一目标待通信设备对应的耗时任务队列中,并将除所述第一目标待通信设备以外的待通信设备的问答通信任务分配至对应的普通任务队列中;
7、执行各个所述子线程中的所述任务队列中的第一耗时通信任务和/或问答通信任务,以实现所述电子设备与各个所述待通信设备的通信。
8、在可选的实施方式中,所述方法还包括:
9、在主线程串行执行所述电子设备与各个待通信设备的问答通信任务的过程中,根据接收的通信数据确定待执行通信任务以及所述待执行通信任务对应的第一目标待通信设备;
10、若所述待执行通信任务为针对所述第一目标待通信设备的单独通信任务,则确定所述待执行通信任务为第一耗时通信任务。
11、在可选的实施方式中,所述方法还包括:
12、在执行各个所述子线程中的所述任务队列中的第一耗时通信任务和/或问答通信任务的过程中,若需要对第二目标待通信设备执行第二耗时通信任务且所述第二目标待通信设备对应的子线程中仅设置有普通任务队列,则在所述第二目标待通信设备对应的子线程中创建耗时任务队列,将所述第二耗时通信任务分配至所述第二目标待通信设备对应的耗时任务队列中,并执行所述第二耗时通信任务;
13、更新所述第二目标待通信设备对应的子线程中的普通任务队列。
14、在可选的实施方式中,所述方法还包括:
15、在执行各个所述子线程中的所述任务队列中的第一耗时通信任务和/或问答通信任务的过程中,若需要对第三目标待通信设备执行第三耗时通信任务且所述第三目标待通信设备对应的子线程设置有普通任务队列和耗时任务队列,则将所述第三耗时通信任务分配至所述第三目标待通信设备对应的子线程的耗时任务队列中,并执行所述第三耗时通信任务;
16、更新所述第三目标待通信设备对应的子线程中的普通任务队列。
17、在可选的实施方式中,所述执行各个所述子线程中的所述任务队列中的第一耗时通信任务和/或问答通信任务,包括:
18、针对任一子线程,从所述子线程的任一任务队列中获取待处理通信任务;其中,所述待处理通信任务为第一耗时通信任务或问答通信任务;
19、若所述待处理通信任务中未携带执行序号,则确定所述子线程中的其他任务队列是否正在执行与所述待处理通信任务功能相同的通信任务;其中,所述执行序号表征所述待处理通信任务的执行顺序;
20、若所述其他任务队列并未执行与所述待处理通信任务功能相同的通信任务,则执行所述待处理通信任务;
21、若所述其他任务队列正在执行与所述待处理通信任务功能相同的任务,则不执行所述待处理通信任务,直到所述与所述待处理通信任务功能相同的通信任务执行完成。
22、在可选的实施方式中,所述方法还包括:
23、若所述待处理通信任务中携带有执行序号,则根据所述执行序号确定是否执行所述待处理通信任务。
24、在可选的实施方式中,在执行所述待处理通信任务之后,所述方法还包括:
25、确定是否在预设时长内获取到所述待处理通信任务对应的应答数据;
26、若在预设时长内获取到所述待处理通信任务对应的应答数据,则在根据所述应答数据确定所述待处理通信任务执行失败的情况下,按照预设的失败操作流程对所述待处理通信任务进行处理;
27、若未在预设时长内获取到所述待处理通信任务对应的应答数据,则确定所述待处理通信任务执行超时,并按照预设的超时操作流程对所述待处理通信任务进行处理。
28、第二方面,本专利技术提供一种设备通信装置,应用于电子设备,所述电子设备分别与多个待通信设备通信连接,所述装置包括:
29、创建模块,用于在主线程串行执行所述电子设备与各个待通信设备的问答通信任务的过程中,若需要对第一目标待通信设备执行第一耗时通信任务,则为各所述待通信设备创建子线程;
30、其中,每个所述子线程对应至少一个待通信设备,每个所述子线程中设置有至少一个任务队列,所述至少一个待通信设备中的第一目标待通信设备对应的任务队列为耗时任务队列,所述至少一个待通信设备中除所述第一目标待通信设备以外的待通信设备对应的任务队列为普通任务队列;
31、分配模块,用于将所述第一耗时通信任务分配至所述第一目标待通信设备对应的耗时任务队列中,并将除所述第一目标待通信设备以外的待通信设备的问答通信任务分配至对应的普通任务队列中;
32、执行模块,用于执行各个所述子线程中的所述任务队列中的第一耗时通信任务和/或问答通信任务,以实现所述电子设备与各个所述待通信设备的通信。
33、第三方面,本专利技术提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现如前述实施方式中任一项所述的方法。
34、第四方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的方法。
35、本申请实施例提供的设备通信方法、装置、电子设备和计算机可读存储介质,在主线程串行执行电子设备与各个待通信设备的问答通信任务的过程中,若需要对第一目标待通信设备执行第一耗时通本文档来自技高网...
【技术保护点】
1.一种设备通信方法,其特征在于,应用于电子设备,所述电子设备分别与多个待通信设备通信连接,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述执行各个所述子线程中的所述任务队列中的第一耗时通信任务和/或问答通信任务,包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求5所述的方法,其特征在于,在执行所述待处理通信任务之后,所述方法还包括:
8.一种设备通信装置,其特征在于,应用于电子设备,所述电子设备分别与多个待通信设备通信连接,所述装置包括:
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储
...【技术特征摘要】
1.一种设备通信方法,其特征在于,应用于电子设备,所述电子设备分别与多个待通信设备通信连接,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述执行各个所述子线程中的所述任务队列中的第一耗时通信任务和/或问答通信任务,包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
<...【专利技术属性】
技术研发人员:靳毅,姚婷,朱建华,张衍奎,王川,岳志洋,田新宇,鲍伟,
申请(专利权)人:宁夏凯晨电气集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。