一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

块数据并行下发方法、装置、计算机设备与存储介质与流程

2022-07-16 13:22:03 来源:中国专利 TAG:


1.本发明涉及动作捕捉及数据传输技术领域,尤其涉及一种块数据并行下发方法、装置、计算机设备与存储介质。


背景技术:

2.在动作捕捉、运动康复、医疗物联网领域中。以上各领域所用到的各类子设备,出于低功耗与设计成本的目的考虑,未在内部集成蓝牙、wifi等复杂协议而转而使用2.4ghz点对点通信。
3.假如需要对多个2.4ghz子设备传输类似于设备固件、文件、图片等大体积块数据,由于部分数据在设备内部处理、存储、过程中会存在时间滞后与延迟,此时就可以考虑到是否可以采用并行的方式对多台设备同时进行传输,以避免单次传输产生的不必要等待。


技术实现要素:

4.本发明的目的是提供一种块数据并行下发方法、装置、计算机设备与存储介质。
5.为实现上述目的,本发明提供的技术方案为:
6.第一方面,提供一种块数据并行下发方法,应用于多个子设备和终端之间的数据传输,包括,如下步骤:
7.步骤1,终端生成块数据下发请求,子设备devn定期向终端设备主动上传心跳数据时,终端会将心跳回复更新为块数据下发请求发至子设备;
8.步骤2,在确保所有子设备进入组播状态后,终端切换为发送模式以进入组播状态;
9.步骤3,终端按照排序向子设备devn发送分片数据devndata
k(n)
,终端发送完分片数据的那一刻,需切换至接收模式并短暂持续rtimeout时间以接收子设备devn回复的分片数据校验结果devnack
k(n)

10.步骤4,子设备devn将分片数据中的分片序号fragnum与自身序号curnum进行对比以确定是否一致,同时核验校验和是否正确,并检查自身是否准备好写入分片数据至rom,上述条件同时满足,子设备devn需立即切换至发送模式以回复分片数据校验结果;
11.步骤5,终端在rtimeout时间内收到devn分片数据校验结果时,或者在rtimeout时间结束时,会切换回发送模式以对下一个子设备dev
n 1
(n 1《n,若n 1=n,则为dev0)进行分片数据下发操作;
12.步骤6,当终端再次轮询到子设备devn时,根据上一次对于devndata
k(n)
下发结果进行不同操作:
13.若终端在rtimeout结束前未收到合法的devnack
k(n)
,或其中的校验结果为失败,则在本次重新下发devndata
k(n)

14.若终端在rtimeout结束前收到合法的devnack
k(n)
,且其中的校验结果为成功,则开始下发devndatak
(n) 1

15.所述步骤1中,终端将记录子设备devn最后一次上传数据时的信号强度rssin,此时子设备devn可认为进入组播状态;
16.若子设备devn在组播状态下持续bltime未收到任何块数据分片数据,会重新回到常规连接状态。
17.所述步骤2中,还将流各个子设备devn最后一次通信的信号强度由高到低进行排列。
18.所述步骤4中,子设备devn同时准备好写入分片数据至rom,并将在回复完成分片数据校验结果时,立即开始写入分片数据至rom。
19.依次重复步骤3~6,直至在解析完成devndata
k(n)
数据作出回复devnack
k(n)
,并在之后完成了rom写入,此时子设备devn的块数据分片数据写入地址:
20.writeaddrn=startaddrn datasize
21.则子设备devn所有分片数据传输结束;
22.同样的,终端发送完成devndata
k(n)
数据之后,收到回复devnack
k(n)
,且此时:
23.readaddrn=dataaddr datasize
24.则终端这认为作子设备devn的所有分片数据传输结束,双端同时认定所有分片数据传输结束时,即可认定devn块数据传输结束,子设备devn将切换回常规连接状态。
25.判定所有子设备的块数据传输状态,若所有子设备块数据传输结束,则认定块数据并行下发完成,终端将切换回常规连接状态。
26.第二方面,本发明提供一种块数据并行下发系统,其特征在于,应用于多个子设备和终端之间的数据传输,包括:
27.下发请求模块,用于终端生成块数据下发请求,子设备devn定期向终端设备主动上传心跳数据时,终端会将心跳回复更新为块数据下发请求发至子设备;
28.第一切换模块,用于在确保所有子设备进入组播状态后,终端切换为发送模式以进入组播状态;
29.发送模块,用于终端按照排序向子设备devn发送分片数据devndata
k(n)
,终端发送完分片数据的那一刻,需切换至接收模式并短暂持续rtimeout时间以接收子设备devn回复的分片数据校验结果devnack
k(n)

30.对比模块,用于子设备devn将分片数据中的分片序号fragnum与自身序号curnum进行对比以确定是否一致,同时核验校验和是否正确,并检查自身是否准备好写入分片数据至rom,上述条件同时满足,子设备devn需立即切换至发送模式以回复分片数据校验结果;
31.第二切换模块,用于终端在rtimeout时间内收到devn分片数据校验结果时,或者在rtimeout时间结束时,会切换回发送模式以对下一个子设备dev
n 1
(n 1《n,若n 1=n,则为dev0)进行分片数据下发操作;
32.轮询模块,用于当终端再次轮询到子设备devn时,根据上一次对于devndatak
(n)
下发结果进行不同操作:
33.若终端在rtimeout结束前未收到合法的devnack
k(n)
,或其中的校验结果为失败,则在本次重新下发devndata
k(n)

34.若终端在rtimeout结束前收到合法的devnack
k(n)
,且其中的校验结果为成功,则开
始下发devndatak
(n) 1

35.所述下发请求模块中,终端将记录子设备devn最后一次上传数据时的信号强度rssin,此时子设备devn可认为进入组播状态;
36.若子设备devn在组播状态下持续bltime未收到任何块数据分片数据,会重新回到常规连接状态。
37.所述第一切换模块中,还将流各个子设备devn最后一次通信的信号强度由高到低进行排列。
38.所述对比模块中,子设备devn同时准备好写入分片数据至rom,并将在回复完成分片数据校验结果时,立即开始写入分片数据至rom。
39.依次重复所述发送模块、对比模块、第二切换模块及轮询模块的工作,直至在解析完成devndata
k(n)
数据作出回复devnack
k(n)
,并在之后完成了rom写入,此时子设备devn的块数据分片数据写入地址:
40.writeaddrn=startaddrn datasize
41.则子设备devn所有分片数据传输结束;
42.同样的,终端发送完成devndata
k(n)
数据之后,收到回复devnack
k(n)
,且此时:
43.readaddrn=dataaddr datasize
44.则终端这认为作子设备devn的所有分片数据传输结束,双端同时认定所有分片数据传输结束时,即可认定devn块数据传输结束,子设备devn将切换回常规连接状态。
45.判定所有子设备的块数据传输状态,若所有子设备块数据传输结束,则认定块数据并行下发完成,终端将切换回常规连接状态。
46.第三方面,本发明提供一种计算机设备,所述计算机设备包括存储介质及与所述存储介质连接的处理器,所述存储介质用于存储计算机程序,所述处理器在运行所述计算机程序时,执行块数据并行下发方法。
47.第四方面,本发明提供一种存储介质,所述存储介质为可读存储介质并用于存储计算机程序,所述计算机程序被处理器执行时,执行块数据并行下发方法。
48.与现有技术相比,本发明块数据并行下发方法、装置、计算机设备与存储介质,将下发的块数据分割为多个分片数据,每次下发的分片数据内容根据不同子设备的不同分片阶段而各自不等同;若子设备在收到分片数据后前移校验与回复校验结果的时机,以避开数据处理、存储所带来的阻塞,终端每次下发并快速得到子设备的校验回复后,立即轮询至下一个目标子设备以尝试对其发送对应的分片数据,避免整个块数据下发流程因为个别子设备的非传输时间损耗而加大下发周期与消耗。
49.通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明的实施例。
附图说明
50.图1所示为本发明块数据并行下发方法的流程图。
51.图2所示为本发明实施例的一个子流程图。
52.图3所示为本发明实施例的另一个子流程图。
53.图4所示为本发明实施例的又一个子流程图。
54.图5所示为本发明块数据并行下发系统的结构示意图。
55.图6所示为本发明计算机设备的一个实施例的示意图。
具体实施方式
56.下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
57.通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
58.在下文中,若在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
59.此外,若本发明涉及到术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
60.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
61.在基于传统的点对点或者基于点对点形成的一对多通信方案中,如若存储在大型块数据的批量下发需求,例如常见的固件升级、设备图片或者其他数据,都是在点对点的基础上进行一对一阻塞式的方式进行。众所周知,多数点对点通信的子端设备都是以低功耗、低成本存储方案与微控制器方案构建的,其在数据处理速度、数据写入速度上会形成较大的延时,若依旧采用传统的阻塞式方法等待其中一个子设备传输完成后再进行下一个设备的传输,对于该块数据的大批量传输效率会带来很大的影响,基于此,提出一种并行轮询的方式,依次对所有设备进行独立传输,以消除上述延时对整体传输带来的影响。
62.本发明的实现原理:将下发的块数据分割为多个分片数据,每次下发的分片数据内容根据不同子设备的不同分片阶段而各自不等同;若子设备在收到分片数据后前移校验与回复校验结果的时机,以避开数据处理、存储所带来的阻塞,终端每次下发并快速得到子设备的校验回复后,立即轮询至下一个目标子设备以尝试对其发送对应的分片数据,避免整个块数据下发流程因为个别子设备的非传输时间损耗而加大下发周期与消耗。
63.本发明的实现方法为单天线,设定终端连接的最大子设备数目为n,常规连接状态下,子设备作为发射模式,终端设备作为接收模式。
64.下面结合实施例,详细地对本发明进行说明:
65.首先,终端获取或生成块数据,块数据缓存于终端ram存储介质,存储地址为dataaddr,块数据大小为datasize。
66.一个实施例中,提供一种块数据并行下发方法,应用于多个子设备和终端之间的数据传输,包括,如下步骤:
67.s001,终端生成块数据下发请求,子设备devn定期向终端设备主动上传心跳数据时,终端会将心跳回复更新为块数据下发请求发至子设备;
68.s002,在确保所有子设备进入组播状态后,终端切换为发送模式以进入组播状态;
69.s003,终端按照排序向子设备devn发送分片数据devndata
k(n)
,终端发送完分片数据的那一刻,需切换至接收模式并短暂持续rtimeout时间以接收子设备devn回复的分片数据校验结果devnack
k(n)

70.s004,子设备devn将分片数据中的分片序号fragnum与自身序号curnum进行对比以确定是否一致,同时核验校验和是否正确,并检查自身是否准备好写入分片数据至rom,上述条件同时满足,子设备devn需立即切换至发送模式以回复分片数据校验结果;
71.s005,终端在rtimeout时间内收到devn分片数据校验结果时,或者在rtimeout时间结束时,会切换回发送模式以对下一个子设备dev
n 1
(n 1《n,若n 1=n,则为dev0)进行分片数据下发操作;
72.s006,当终端再次轮询到子设备devn时,根据上一次对于devndata
k(n)
下发结果进行不同操作:
73.若终端在rtimeout结束前未收到合法的devnack
k(n)
,或其中的校验结果为失败,则在本次重新下发devndata
k(n)

74.若终端在rtimeout结束前收到合法的devnack
k(n)
,且其中的校验结果为成功,则开始下发devndatak
(n) 1

75.参考图2,s0011,终端将记录子设备devn最后一次上传数据时的信号强度rssin,此时子设备devn可认为进入组播状态;
76.s0012,若子设备devn在组播状态下持续bltime未收到任何块数据分片数据,会重新回到常规连接状态。
77.具体地,当终端生成块数据下发请求(包含块数据大小datasize、块数据校验和sum、分片数据单分片大小fragsize、分片数据总分片数fragcnt、组播状态通信频点ch
bd
),子设备devn定期向终端设备主动上传心跳数据时,终端会将心跳回复更新为块数据下发请求发至子设备。子设备devn收到块数据下发请求,会切换至接收模式,接收频点设置为ch
bd
,本轮通信中,终端将记录子设备devn最后一次上传数据时的信号强度rssin。此时子设备n可认为进入组播状态,若子设备devn在组播状态下持续bltime未收到任何块数据分片数据,会重新回到常规连接状态。
78.参考图3,s002,在确保所有子设备进入组播状态后,终端切换为发送模式以进入组播状态;
79.s0021,将流各个子设备devn最后一次通信的信号强度由高到低进行排列。
80.具体地,在确保所有设备(例如单位时间内不再收到任何子设备心跳数据)进入组播状态后,终端切换为发送模式以进入组播状态,通信频点恒为ch
bd
,各个子设备最后一次通信的信号强度由高到低进行排列。从信号强度值最高的子设备dev0开始,到dev
n-1
结束。
81.依次按照排序向子设备devn发送分片数据devndata
k(n)
(包含分片数据内容、分片数据大小、分片序号、分片数据校验和),终端发送完成的那一刻,需切换至接收模式并短暂
持续rtimeout时间以接收子设备devn回复的分片数据校验结果devnack
k(n)
(包含分片序号、校验结果、上一包分片数据处理结果)。
82.参考图4,s004,子设备devn将分片数据中的分片序号fragnum与自身序号curnum进行对比以确定是否一致,同时核验校验和是否正确,并检查自身是否准备好写入分片数据至rom,上述条件同时满足,子设备devn需立即切换至发送模式以回复分片数据校验结果。
83.s0041子设备devn同时准备好写入分片数据至rom,并将在回复完成分片数据校验结果时,立即开始写入分片数据至rom。
84.具体地,子设备devn将分片数据中的分片序号fragnum与自身序号curnum进行对比以确定是否一致,同时核验校验和是否正确,并检查自身是否准备好写入分片数据至rom。上述条件同时满足,子设备需立即切换至发送模式以回复分片数据校验结果,同时准备好写入分片数据至rom,并将在回复完成分片数据校验结果时,立即开始写入分片数据至rom。设定子设备devn用于存储块数据的rom起始地址为startaddrn,可算出分片数据的当前被写入的地址writeaddrn:
85.writeaddrn=writeaddr
n’ fragsize
n’86.其中writeaddr
n’为子设备devn上一次分片数据写入地址,若为第一个分片数据,writeaddr
n’等于startaddrn;
87.fragsize
n’为子设备devn上一次分片数据大小,若这是第一个分片数据,fragsize
n’等于0;
88.若子设备在对分片数据进行校验时,出现:
89.fragnumn=curnum
n-1
90.表明这是终端因为丢包导致未收到序号fragnumn的分片数据校验结果而在重新尝试传输该分片数据。假定子设备此时正在对序号为fragnumn的分片数据进行rom写入操作,或者已完成对序号为fragnumn的分片数据的rom写入操作,都表明子设备对于序号fragnumn的分片数据已经校验通过;或者假定针对序号为fragnumn的分片数据已经校验失败;当出现终端在重传分片数据时,子设备皆须根据上述两种情况对终端再次回复对应于该分片数据的校验结果。
91.fragsizen可根据:
92.fragsizen=(datasize-(readaddr
n-dataaddr))/fragsize?fragsize:
93.datasize%fragsize
94.其中readaddrn为终端下发给devn的块数据分片数据偏移地址,可根据:
95.readaddrn=fragsize
n’ readaddr
n’96.其中fragsize
n’为devn上一次分片数据大小,若此时为第一次发送,则此值为0;
97.其中readaddr
n’为终端下发给devn上一次块数据分片数据偏移地址,若此时为第一次发送,则此值等于dataaddr;
98.fragcntn可根据:
99.fragcntn=(readaddrn datasize%fragsize-dataaddr)/fragsize&0xff
100.依次重复步骤s003~s006,直至在解析完成devndata
k(n)
数据作出回复devnack
k(n)
,并在之后完成rom写入,在子设备devn这一端可算作所有分片数据传输结束;同
样的,终端在发送完成devndata
k(n)
数据之后,收到回复devnack
k(n)
,在终端这一端可算作子设备devn的所有分片数据传输结束,双端同时认定所有分片数据传输结束时,即可认定子设备devn块数据传输结束,子设备devn将切换回常规连接状态。
101.判定所有子设备的块数据传输状态,若所有子设备块数据传输结束,则认定块数据并行下发完成,终端将切换回常规连接状态。
102.需要说明的是,s005终端在rtimeout时间内收到devn分片数据校验结果时,或者在rtimeout时间结束时,会切换回发送模式以对下一个子设备dev
n 1
(n 1《n,若n 1=n,则为dev0)进行分片数据下发操作,终端下发逻辑以及dev
n 1
对于分片数据的解析与处理逻辑完全相同于s002和s003。
103.当终端再次轮询到子设备devn时,根据上一次对于devndata
k(n)
下发结果进行不同操作:
104.·
若终端在rtimeout结束前未收到合法的devnack
k(n)
,或其中的校验结果为失败,则在本次重新下发devndata
k(n)

105.·
若终端在rtimeout结束前收到合法的devnack
k(n)
,且其中的校验结果为成功,则开始下发devndata
k(n) 1

106.依次重复s003~s006,直至在解析完成devndata
k(n)
数据作出回复devnack
k(n)
,并在之后完成rom写入,此时子设备devn的块数据分片数据写入地址:
107.writeaddrn=startaddrn datasize
108.则在子设备devn这一端可算作所有分片数据传输结束,同样的,终端在发送完成devndata
k(n)
数据之后,收到回复devnack
k(n)
,并且此时:
109.readaddrn=dataaddr datasize
110.则在终端这一端可算作子设备devn的所有分片数据传输结束,双端同时认定所有分片数据传输结束时,即可认定devn块数据传输结束,子设备devn将切换回常规连接状态。
111.判定所有子设备的块数据传输状态,若所有子设备块数据传输结束,可认定块数据并行下发完成,终端将切换回常规连接状态。
112.参考图5,本发明提供一种块数据并行下发系统,其特征在于,应用于多个子设备和终端之间的数据传输,包括:
113.下发请求模块1,用于终端生成块数据下发请求,子设备devn定期向终端设备主动上传心跳数据时,终端会将心跳回复更新为块数据下发请求发至子设备;
114.第一切换模块2,用于在确保所有子设备进入组播状态后,终端切换为发送模式以进入组播状态;
115.发送模块3,用于终端按照排序向子设备devn发送分片数据devndata
k(n)
,终端发送完分片数据的那一刻,需切换至接收模式并短暂持续rtimeout时间以接收子设备devn回复的分片数据校验结果devnack
k(n)

116.对比模块4,用于子设备devn将分片数据中的分片序号fragnum与自身序号curnum进行对比以确定是否一致,同时核验校验和是否正确,并检查自身是否准备好写入分片数据至rom,上述条件同时满足,子设备devn需立即切换至发送模式以回复分片数据校验结果;
117.第二切换模块5,用于终端在rtimeout时间内收到devn分片数据校验结果时,或者
在rtimeout时间结束时,会切换回发送模式以对下一个子设备dev
n 1
(n 1《n,若n 1=n,则为dev0)进行分片数据下发操作;
118.轮询模块6,用于当终端再次轮询到子设备devn时,根据上一次对于devndata
k(n)
下发结果进行不同操作:
119.若终端在rtimeout结束前未收到合法的devnack
k(n)
,或其中的校验结果为失败,则在本次重新下发devndata
k(n)

120.若终端在rtimeout结束前收到合法的devnack
k(n)
,且其中的校验结果为成功,则开始下发devndata
k(n) 1

121.所述下发请求模块中,终端将记录子设备devn最后一次上传数据时的信号强度rssin,此时子设备devn可认为进入组播状态;
122.若子设备devn在组播状态下持续bltime未收到任何块数据分片数据,会重新回到常规连接状态。
123.所述第一切换模块中,还将流各个子设备devn最后一次通信的信号强度由高到低进行排列。
124.所述对比模块中,子设备devn同时准备好写入分片数据至rom,并将在回复完成分片数据校验结果时,立即开始写入分片数据至rom。
125.依次重复所述发送模块、对比模块、第二切换模块及轮询模块的工作,直至在解析完成devndata
k(n)
数据作出回复devnack
k(n)
,并在之后完成rom写入,在子设备devn这一端可算作所有分片数据传输结束;同样的,终端在发送完成devndata
k(n)
数据之后,收到回复devnack
k(n)
,在终端这一端可算作子设备devn的所有分片数据传输结束,双端同时认定所有分片数据传输结束时,即可认定子设备devn块数据传输结束,子设备devn将切换回常规连接状态。
126.判定所有子设备的块数据传输状态,若所有子设备块数据传输结束,则认定块数据并行下发完成,终端将切换回常规连接状态。
127.参考图6,本发明提供一种计算机设备100,所述计算机设备100包括存储介质10及与所述存储介质10连接的处理器30,所述存储介质10用于存储计算机程序30,所述处理器10在运行所述计算机程序30时,执行块数据并行下发方法。此外,本发明计算机设备还包括有内存储器和网络接口。
128.参考图6,本发明提供一种存储介质10,所述存储介质10为可读存储介质并用于存储计算机程序30,所述计算机程序30被处理器20执行时,执行块数据并行下发方法。此外,本发明计算机设备100还包括有内存储器和网络接口。
129.以上所揭露的仅为本发明的优选实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献