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.图1示出了根据本技术一个实施例的数据传输方法的流程图。
32.图2示出了根据本技术一个实施例的配置帧与数据帧的帧结构示意图。
33.图3示出了根据本技术一个实施例的配置帧与数据帧的帧结构示意图。
34.图4示出了根据本技术一个实施例的配置帧与数据帧的帧结构示意图。
35.图5示出了根据本技术一个实施例的数据解析方法的流程图。
36.图6示出了根据本技术一个实施例的数据帧的帧内数据组成示意图。
37.图7示出了根据本技术一个实施例的数据传输装置的框图。
38.图8示出了根据本技术一个实施例的数据解析装置的框图。
39.图9示出了根据本技术一个实施例的电子设备硬件图。
具体实施方式
40.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本技术的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本技术的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
41.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本技术的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本技术的各方面变得模糊。
42.附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
43.本技术提供了一种数据传输方法,可以应用于嵌入式系统,提高嵌入式系统中数据传输时的有效数据占比,进而提高嵌入式系统的数据传输效率。
44.详细的,本技术所提供数据传输方法的主要处理流程和可选具体实施方式参见如下所示内容。
45.图1示出了本技术所提供数据传输方法的流程图,该方法的示例性执行主体为数据的发送端。该方法包括:
46.步骤s110、获取待传输的目标数据的实际值和配置参数;
47.具体的,本技术实施例中,发送端得到待传输的目标数据后,确定目标数据的实际值,并确定目标数据的配置参数。
48.目标数据的配置参数主要用于描述目标数据所属数据类型的数据属性。该数据属性包括但不限于:目标数据所属数据类型的数据范围相关属性,目标数据所属数据类型的数据采集相关属性等。例如:发送端得到一个待传输的电压数据“电压:50v,范围:0-300”,则该电压数据的数据范围为0v-300v。范围:0-300即表示其中一种配置参数。
49.步骤s120、根据配置参数和实际值计算目标数据对应的传输数据;
50.目标数据的实际值主要用于直接描述目标数据所具有物理意义的值,或者用于直接描述采集/生成目标数据时所得到的值。例如:发送端得到一个待传输的电压数据“电压:50v”,则该电压数据的实际值为50。
51.根据目标数据的配置参数,发送端得以将目标数据的实际值进行转换,得到目标数据对应的传输数据。传输数据指的是以比特为单位进行传输的目标数据,传输数据的值可以不同于目标数据的实际值,但是二者之间存在确定的转换关系。
52.步骤s130、根据配置参数确定目标数据在数据帧中所占用的比特位长度;
53.根据目标数据的配置参数,发送端得以确定目标数据在数据帧中所占用的比特位长度。即,目标数据在数据帧中所占用的比特位长度,与目标数据的配置参数是相关联的。因此,同一配置参数的目标数据,在数据帧中所占用的比特位长度是相同的;并且,不同配
置参数的目标数据,在数据帧中所占用的比特位长度是不同的。
54.步骤s140、根据传输数据和比特位长度生成数据帧,并将数据帧发送至目标设备。
55.发送端根据传输数据和对应的比特位长度生成数据帧后,将数据帧发送至目标设备。目标设备接收到数据帧后,即可按照对应的比特位长度提取出对应的传输数据,再转换得到对应的目标数据的实际值。
56.由此可见,本技术实施例中,基于目标数据的配置参数计算目标数据的传输数据,并确定目标数据在数据帧中所占用的比特位长度,进而传输根据传输数据和比特位长度生成的数据帧,使得不同配置参数的目标数据在数据帧中能够适应性地占用不同比特位长度,避免了在传输多种数据类型的目标数据时按照统一长度生成目标数据而造成通信资源的浪费,提高了数据传输时的有效数据占比,从而提高了数据传输效率。
57.在一实施例中,配置参数包括数据范围起始值和颗粒度,颗粒度用于描述对目标数据进行数据采集的最小单位,根据配置参数和实际值计算目标数据对应的传输数据,包括:
58.计算实际值与数据范围起始值之间的差值;
59.将差值除以颗粒度得到的比值,作为传输数据。
60.本实施例中,根据配置参数将目标数据的实际值转化为目标数据在其所处数据范围内的相对值,此处,相对值也即实际值与数据范围起始值的差值,进而根据相对值计算得到目标数据对应的传输数据。
61.具体的,目标数据的配置参数包括数据范围起始值offset和颗粒度graininess。数据范围起始值offset用于描述目标数据所处范围的起始值。颗粒度graininess用于描述对目标数据进行数据采集的最小单位的。例如:电压数据介于0v~300v之间,并且在采集电压数据时的最小单位为5v,即,不同电压数据之间的差值为5v的整数倍。则电压数据的数据范围起始值offset为0,颗粒度graininess为5。温度数据介于-50℃~150℃之间,并且在采集温度数据时的最小单位为0.1℃,即,不同温度数据之间的差值为0.1℃的整数倍。则温度数据的数据范围起始值offset为-50,颗粒度graininess为0.1。
62.得到目标数据的数据范围起始值offset和颗粒度graininess后,先计算目标数据的实际值true_value与数据范围起始值offset之间的差值,得到目标数据在其所处数据范围内的相对值rela_value。
63.即,根据公式rela_value=true_value-offset计算得到目标数据在其所处数据范围内的相对值rela_value。
64.计算得到相对值rela_value后,再将相对值rela_value除以颗粒度graininess,得到目标数据对应的传输数据bit_value。
65.即,根据公式bit_value=(true_value-offset)/graininess计算得到目标数据对应的传输数据bit_value。
66.本实施例的优点在于,根据目标数据在其所处数据范围内的相对值计算得到目标数据的传输数据,使得传输数据能够以整数的形式进行传输,并且能够精准地反映出目标数据在其所处数据范围的位置,从而降低了传输带宽的浪费。
67.在一实施例中,配置参数包括还包括数据范围宽度,根据配置参数确定目标数据在数据帧中所占用的比特位长度,包括:
68.基于数据范围宽度与颗粒度之间的比值,计算得到目标数据所处数据范围的有效宽度;
69.计算有效宽度占用的比特位数量,得到比特位长度。
70.本实施例中,根据配置参数计算得到目标数据所处数据范围的有效宽度,进而根据有效宽度计算得到目标数据在数据帧中所占用的比特位长度。
71.具体的,目标数据的配置参数包括:用于描述目标数据所处范围的起始值的数据范围起始值offset,用于描述对目标数据进行数据采集的最小单位的颗粒度graininess,用于描述数据所处范围的宽度的数据范围宽度width。
72.例如:电压数据介于0v~300v之间,则电压数据的数据范围宽度width为300。温度数据介于-50℃~150℃之间,则温度数据的数据范围宽度width为200,也即等于数据范围的首尾数据之间的差值。
73.得到目标数据的数据范围宽度width和颗粒度graininess后,先计算目标数据的数据范围宽度width与颗粒度graininess之间的比值,进而基于所得比值确定目标数据所处数据范围的有效宽度eff_width。
74.可选的,直接将数据范围宽度width与颗粒度graininess之间的比值作为对应的有效宽度eff_width。优选的,计算得到数据范围宽度width与颗粒度graininess之间的比值后,对所得比值进行向上取整,得到对应的有效宽度eff_width。
75.计算得到有效宽度eff_width后,计算有效宽度eff_width占用的比特位数量,得到目标数据在数据帧中所占用的比特位长度bit_len。
76.其中,有效宽度eff_width占用的比特位数量,指的是存储有效宽度eff_width的数据至少所要占用的比特位数量。有效宽度eff_width与数据传输所采取进制有关。例如:有效宽度eff_width为16时,若数据传输所采取进制为二进制,则其至少所要占用的比特位数量为4;若数据传输所采取进制为十六进制,则其至少所要占用的比特位数量为1。
77.本实施例的优点在于,根据目标数据所处数据范围的有效宽度计算得到目标数据在数据帧中所占用的比特位长度,避免了直接根据目标数据所处数据范围的最大值预留比特位造成的数据空间浪费,可以有效减少数据帧的比特长度,避免冗余。
78.在一实施例中,数据传输所采取进制为二进制时,计算得到有效宽度eff_width后,通过如下方法计算有目标数据在数据帧中所占用的比特位长度bit_len:从0开始,将比特位长度bit_len加一,再计算2
bit_len
的值,并对比2
bit_len
与有效宽度eff_width之间的相对大小。不断重复该过程,直到2
bit_len
大于或等于有效宽度eff_width,得到最终的比特位长度bit_len。
79.例如:有效宽度eff_width为15,比特位长度bit_len初始为0。
80.比特位长度bit_len加一,当前的比特位长度bit_len为1,计算21的值,得到2。
81.2小于15,继续在比特位长度bit_len加一,当前的比特位长度bit_len为2,计算22的值,得到4。
82.4小于15,继续在比特位长度bit_len加一,当前的比特位长度bit_len为3,计算23的值,得到8。
83.8小于15,继续在比特位长度bit_len加一,当前的比特位长度bit_len为4,计算24的值,得到16。
84.16大于15,则终止循环,得到最终的比特位长度bit_lent为4。
85.在一实施例中,根据传输数据和比特位长度生成数据帧,包括:
86.获取各个目标数据在数据帧中的预设位置顺序;
87.将各个目标数据的传输数据转换为对应比特位长度的预设进制数据;
88.按照预设位置顺序组合各个目标数据的预设进制数据,得到数据帧。
89.本实施例中,待传输多个目标数据时,预先设置各个目标数据在数据帧的位置顺序。得到各个目标数据的传输数据和比特位长度后,将各个目标数据的传输数据转换为对应比特位长度的预设进制数据。进而按照各个目标数据对应的预设位置顺序,对各个目标数据的预设进制数据进行组合,得到数据帧。
90.在一实施例中,按照预设位置顺序组合各个目标数据的预设进制数据,得到数据帧还包括:
91.确定当前时刻对应的时间戳;
92.按照预设位置顺序组合各个目标数据的预设进制数据后得到第一组合帧;
93.将时间戳插入到第一组合帧的预设位置,得到数据帧。
94.本实施例中,在组装得到数据帧的过程中,在数据帧中插入当前时刻对应的时间戳。
95.具体的,在构造数据帧的时候,确定当前时刻对应的时间戳,并按照各个目标数据对应的预设位置顺序对各个目标数据的预设进制数据进行组合,得到第一组合帧。进而将该时间戳插入到第一组合帧的预设位置(例如:插入到第一组合帧的头部,插入到第一组合帧的尾部等),得到数据帧。
96.本实施例的优点在于,通过在数据帧中添加组装数据帧时的时间戳,使得目标设备能够根据该时间戳确认各个目标数据的时间信息,进而便于在此基础上进行数据分析。
97.在一实施例中,该数据传输方法还包括:
98.根据目标数据的数据名称和配置参数,生成数据帧的配置帧,并将配置帧发送至目标设备。
99.本实施例中,除了将数据帧发送至目标设备外,还生成数据帧的配置帧,并将配置帧发送至目标设备。其中,配置帧是根据目标数据的数据名称和配置参数生成的。
100.具体的,将对应于同一个目标数据的数据名称和配置参数进行关联后组成各个目标数据对应的关联数据,也即,每个目标数据的关联数据包括目标数据的数据名称和配置参数。进而按照各个目标数据在数据帧中的位置顺序,对各个目标数据对应的关联数据进行组合,得到配置帧。
101.需要说明的是,在生成数据帧与配置帧后,可以将数据帧与配置帧同步地发送至目标设备,也可以先将配置帧发送至目标设备再将数据帧发送至目标设备,也可以先将数据帧发送至目标设备再将配置帧发送至目标设备。
102.本实施例的优点在于,由于配置帧中包含有顺序排列的各个目标数据的数据名称,因此配置帧可以用于描述各个目标数据在数据帧中的预设位置顺序。即,本实施例能够通过复用配置帧的方式,向目标设备传递各个目标数据的配置参数的同时,向目标设备传递各个目标数据在数据帧中的预设位置顺序信息。
103.图2示出了本技术一实施例中配置帧与数据帧的帧结构示意图。
104.参见图2,本实施例中,将待传输的目标数据记为目标数据a~n,相应的,各个目标数据的传输数据记为组合关联数据,得到图2所示配置帧。
105.并且,将传输数据a~n分别转换为对应比特位长度的预设进制数据后,同样按照从a到n的顺序,依次组合预设进制数据,得到图2所示数据帧。
106.图3示出了本技术一实施例中配置帧与数据帧的帧结构示意图。
107.参见图3,与图2实施例相比,本实施例中配置帧的帧结构与图2实施例中配置帧的帧结构相同,主要区别在于在数据帧传输数据中还插入有时间戳。该时间戳用于描述组装数据帧时的时刻信息。
108.图4示出了本技术一实施例中配置帧与数据帧的帧结构示意图。
109.参见图4,与图3实施例相比,本实施例的主要区别在于配置帧与数据帧的头部均写入有相同且唯一的配置帧编号。通过设置该配置帧编号,发送端可以异步地将配置帧与数据帧发送至目标设备。目标设备无论是先接收到配置帧,还是先接收到数据帧,均只需根据配置帧编号找到相关联的配置帧和数据帧后,再根据配置帧对数据帧中的目标数据进行解析。
110.本技术还提供了一种数据解析方法,图5示出了本技术所提供数据解析方法的流程图,该方法的示例性执行主体为作为数据接收端的目标设备。该方法包括:
111.步骤s210、接收数据帧,数据帧中携带目标数据对应的传输数据;
112.其中,目标数据对应的传输数据指的是以比特为单位进行传输的目标数据,传输数据的值可以不同于目标数据的实际值,而目标设备接收到数据帧后目的主要在于通过解析传输数据确定目标数据的实际值。
113.步骤s220、获取目标数据对应的配置参数;
114.本技术实施例中,目标设备接收到携带有目标数据对应的传输数据的数据帧,并获取目标数据对应的配置参数。
115.目标数据对应的配置参数主要用于描述目标数据所属数据类型的数据属性。该数据属性包括但不限于:目标数据所属数据类型的数据范围相关属性,目标数据所属数据类型的数据采集相关属性等。
116.步骤s230、根据配置参数确定目标数据在数据帧中所占用的比特位长度,并按照比特位长度,从数据帧中提取得到传输数据;
117.根据目标数据对应的配置参数,目标设备得以确定目标数据在数据帧中所占用的比特位长度,即,确定目标数据对应的传输数据在数据帧中所占用的比特位长度。
118.确定目标数据在数据帧中所占用的比特位长度后,目标设备即可从数据帧中提取出该比特位长度的数据,即提取得到目标数据对应的传输数据。
119.步骤s240、根据配置参数对传输数据进行解析,确定目标数据的实际值。
120.得到传输数据后,目标设备再根据配置参数对传输数据进行解析,从而确定目标数据的实际值。
121.由此可见,本技术实施例中,通过基于目标数据的配置参数确定目标数据在数据帧中所占用的比特位长度,并按照该比特位长度从数据帧中提取得到传输数据,进而基于配置参数解析传输数据得到目标数据的实际值,使得数据帧中由于具有不同配置参数而适应性地占用不同比特位长度的目标数据均能够被顺利解析,避免了对多种数据类型的目标
数据进行解析时必须要求目标数据均按照统一长度存在数据帧中,从而避免了数据帧比特位的浪费,提高了数据传输时的有效数据占比,从而提高了数据传输效率。
122.在一实施例中,目标设备根据配置参数确定目标数据在数据帧中所占用的比特位长度的方式,同理于发送端根据配置参数确定目标数据在数据帧中所占用的比特位长度的方式,故在此不再赘述。
123.在一实施例中,目标设备接收到的配置参数中直接描述有对应目标数据在数据帧中所占用的比特位长度。这种情况下,目标设备可以从配置参数中直接读取得到对应目标数据在数据帧中所占用的比特位长度。例如:发送端根据配置参数中的数据范围宽度width和颗粒度graininess计算得到比特位长度bit_len后,将比特位长度bit_len添加值配置参数中再发送至目标设备,从而目标设备能够直接从配置参数中读取到比特位长度bit_len。
124.在一实施例中,获取目标数据对应的配置参数,包括:获取数据帧对应的配置帧,并从配置帧中提取各个目标数据的数据名称和各个目标数据对应的配置参数。
125.按照比特位长度,从数据帧中提取得到传输数据,包括:根据各个目标数据的数据名称在配置帧中的位置顺序以及各个目标数据对应的比特位长度,确定各个目标数据在数据帧中所占用的比特位;根据各个目标数据在数据帧中所占用的比特位从数据帧中提取得到各个目标数据对应的传输数据。
126.本实施例中,目标设备接收到数据帧对应的配置帧,进而从配置帧中提取得到各个目标数据的数据名称和各个目标数据对应的配置参数。
127.根据各个目标数据对应的配置参数,目标设备得以确定各个目标数据对应的比特位长度。并且,根据各个目标数据的数据名称在配置帧中的位置顺序,目标设备还得以确定各个目标数据在数据帧中的位置顺序。
128.既确定了比特位长度,又确定了位置顺序,因此各个目标数据在数据帧中所占用的比特位也得以确定。例如:数据帧中使用10个比特位存放各个目标数据对应的传输数据。若配置帧中从前往后的目标数据名称依次为目标数据a、目标数据b和目标数据c,并且目标数据a占用3个比特位,目标数据b占用4个比特位,目标数据c占用3个比特位,则目标设备便能够确定目标数据a在数据帧中所占用的比特位为第1~3个比特位,目标数据b在数据帧中所占用的比特位为第4~7个比特位,目标数据c在数据帧中所占有的比特位为第8~10个比特位。
129.确定各个目标数据在数据帧中所占用的比特位后,即可对应地从数据帧中提取得到各个目标数据对应的传输数据。
130.在一实施例中,配置参数包括数据范围起始值和颗粒度,颗粒度用于描述对目标数据进行数据采集的最小单位,数据范围起始值用于描述目标数据所处数据范围的起始值,根据配置参数对传输数据进行解析,确定目标数据的实际值,包括:
131.计算传输数据乘以颗粒度之间的乘积;
132.将乘积与数据范围起始值之间的加和作为实际值。
133.本实施例中,目标数据的配置参数包括:用于描述目标数据所处范围的起始值的数据范围起始值offset,用于描述对目标数据进行数据采集的最小单位的颗粒度graininess。
134.目标设备提取得到目标数据对应的传输数据bit_value后,将传输数据bit_value
与颗粒度graininess相乘,得到目标数据在其所处数据范围内的相对值rela_value。
135.即,根据公式rela_value=bit_value*graininess计算得到目标数据在其所处数据范围内的相对值rela_value。
136.进而目标设备将目标数据在其所处数据范围内的相对值rela_value与数据范围起始值offset相加,得到目标数据的实际值true_value。
137.即,根据公式true_value=rela_value+offset计算得到目标数据的实际值true_value。
138.在一实施例中,目标设备接收到的数据帧中还包含有时间戳。则目标设备解析得到数据帧中各个目标数据的实际值后,可以根据时间戳绘制得到在时间维度和数值维度上的二维曲线,从而方便对目标数据进行记录和分析。
139.图6示出了本技术一实施例的数据帧的帧内数据组成示意图。
140.参见图6,本实施例中,待以二进制进行传输的目标数据依次为:一个电压数据“电压:50v,数据范围0v~300v,数据范围宽度width:301,数据范围起始值offset:0,颗粒度graininess:5”,一个电流数据“电流:10a,数据范围0a~50a,数据范围宽度width:51,数据范围起始值offset:0,颗粒度graininess:1”,一个温度数据“温度:-23.1℃,数据范围-50℃~150℃,数据范围宽度width:201,数据范围起始值offset:-50,颗粒度graininess:0.1”,一个状态标志数据“状态:8,数据范围0~10,数据范围宽度width:11,数据范围起始值offset:0,颗粒度graininess:1”。
141.在确定电压数据在数据帧中占用的比特位长度时:将电压数据的实际值50减去其数据范围起始值0,再将所得差值除以其颗粒度5,得到电压数据对应的传输数据10。并且,将电压数据的数据范围宽度301除以其颗粒度5,再将所得比值向上取整,得到电压数据所处数据范围的有效宽度61;有效宽度61介于25与26之间,则电压数据所占用比特位长度为6。则以6bit存储二进制的传输数据10。即以6bit存储“0b001010”。
142.在确定电流数据在数据帧中占用的比特位长度时:将电流数据的实际值10减去其数据范围起始值0,再将所得差值除以其颗粒度1,得到电流数据对应的传输数据10。并且,将电流数据的数据范围宽度51除以其颗粒度1,再将所得比值向上取整,得到电流数据所处数据范围的有效宽度51;有效宽度51介于25与26之间,则电流数据所占用比特位长度为6。则以6bit存储二进制的传输数据10。即以6bit存储“0b001010”。
143.在确定温度数据在数据帧中占用的比特位长度时:将温度数据的实际值-23.1减去其数据范围起始值-50,再将所得差值除以其颗粒度0.1,得到温度数据对应的传输数据269。并且,将温度数据的数据范围宽度201除以其颗粒度0.1,再将所得比值向上取整,得到温度数据所处数据范围的有效宽度2010;有效宽度61介于2
10
与2
11
之间,则温度数据所占用比特位长度为11。则以11bit存储二进制的传输数据269。即以6bit存储“0b00100001101”。
144.在确定状态标志数据在数据帧中占用的比特位长度时:将状态标志数据的实际值8减去其数据范围起始值0,再将所得差值除以其颗粒度1,得到状态标志数据对应的传输数据8。并且,将状态标志数据的数据范围宽度11除以其颗粒度1,再将所得比值向上取整,得到状态标志数据所处数据范围的有效宽度11;有效宽度11介于2
13
与24之间,则状态标志数据所占用比特位长度为4。则以4bit存储二进制的传输数据8。即以4bit存储“0b1000”。
145.将这些目标数据对应的二进制传输数据依次组合,并插入当前时刻的时间戳和数
据帧对应的配置帧编号,即得到数据帧。
146.将该数据帧发送至目标设备后,目标设备根据该数据帧中的配置帧编号得到该数据帧对应的配置帧。进而目标设备根据该数据帧对应的配置帧,确定该数据中各个目标数据的位置顺序和所占用的比特位长度:数据帧中从前往后依次为占用6bit的电压数据、占用6bit的电流数据、占用11bit的温度数据、占用4bit的状态标志数据。
147.目标设备提取得到各个目标数据的二进制传输数据,并根据配置帧中所描述的数据范围起始值offset和颗粒度graininess,将各个目标数据的二进制传输数据还原为对应的实际值。
148.图7示出了根据本技术一实施例的数据传输装置的框图,所述装置包括:
149.第一获取模块310,配置为获取待传输的目标数据的实际值和配置参数;
150.计算模块320,配置为根据所述配置参数和所述实际值计算所述目标数据对应的传输数据;
151.长度确定模块330,配置为根据所述配置参数确定所述目标数据在数据帧中所占用的比特位长度;
152.数据生成模块340,配置为根据所述传输数据和所述比特位长度生成所述数据帧,并将所述数据帧发送至目标设备。
153.在本技术的一示例性实施例中,所述配置参数包括数据范围起始值和颗粒度,所述颗粒度用于描述对所述目标数据进行数据采集的最小单位,所述数据范围起始值用于描述所述目标数据所处数据范围的起始值,所述计算模块配置为:
154.计算所述实际值与所述数据范围起始值之间的差值;
155.将所述差值除以所述颗粒度得到的比值,作为所述传输数据。
156.在本技术的一示例性实施例中,所述配置参数包括还包括数据范围宽度,所述数据范围宽度用于描述所述目标数据所处数据范围的宽度,所述长度确定模块配置为:
157.基于所述数据范围宽度与所述颗粒度之间的比值,计算得到所述目标数据所处数据范围的有效宽度;
158.计算所述有效宽度占用的比特位数量,得到所述比特位长度。
159.在本技术的一示例性实施例中,所述数据生成模块配置为:
160.获取各个所述目标数据在所述数据帧中的预设位置顺序;
161.将各个所述目标数据的传输数据转换为对应比特位长度的预设进制数据;
162.按照所述预设位置顺序组合各个所述目标数据的预设进制数据,得到所述数据帧。
163.在本技术的一示例性实施例中,所述数据生成模块配置为:
164.确定当前时刻对应的时间戳;
165.按照所述预设位置顺序组合各个所述目标数据的预设进制数据后得到第一组合帧;
166.将所述时间戳插入到所述第一组合帧的预设位置,得到所述数据帧。
167.在本技术的一示例性实施例中,所述装置配置为:
168.根据所述目标数据的数据名称和所述配置参数,生成所述数据帧的配置帧,并将所述配置帧发送至所述目标设备。
169.图8示出了根据本技术一实施例的数据解析装置的框图,所述装置包括:
170.接收模块410,配置为接收数据帧,所述数据帧中携带目标数据对应的传输数据;
171.第二获取模块420,配置为获取所述目标数据对应的配置参数;
172.提取模块430,配置为根据所述配置参数确定所述目标数据在所述数据帧中所占用的比特位长度,并按照所述比特位长度,从所述数据帧中提取得到所述传输数据;
173.数据解析模块440,配置为根据所述配置参数对所述传输数据进行解析,确定所述目标数据的实际值。
174.在本技术的一示例性实施例中,所述第二获取模块配置为:
175.获取所述数据帧对应的配置帧,并从所述配置帧中提取各个所述目标数据的数据名称和各个所述目标数据对应的配置参数;
176.所述提取模块配置为:
177.根据各个所述目标数据的数据名称在所述配置帧中的位置顺序以及各个目标数据对应的所述比特位长度,确定各个所述目标数据在所述数据帧中所占用的比特位;
178.根据各个所述目标数据在所述数据帧中所占用的比特位从所述数据帧中提取得到各个所述目标数据对应的传输数据。
179.下面参考图9来描述根据本技术实施例的电子设备50。图9显示的电子设备50仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
180.如图9所示,电子设备50以通用计算设备的形式表现。电子设备50的组件可以包括但不限于:上述至少一个处理单元510、上述至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530。
181.其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述示例性方法的描述部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元510可以执行如图1或图5中所示的各个步骤。
182.存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(rom)5203。
183.存储单元520还可以包括具有一组(至少一个)程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
184.总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
185.电子设备50也可以与一个或多个外部设备600(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备50交互的设备通信,和/或与使得该电子设备50能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口550进行。输入/输出(i/o)接口550与显示单元540相连。并且,电子设备50还可以通过网络适配器560与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器560通过总线530与电子设备50的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备50使
用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
186.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本技术实施方式的方法。
187.在本技术的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施例部分描述的方法。
188.根据本技术的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
189.所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
190.计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
191.可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
192.可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
193.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多
模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
194.此外,尽管在附图中以特定顺序描述了本技术中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
195.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本技术实施方式的方法。
196.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由所附的权利要求指出。
技术特征:1.一种数据传输方法,其特征在于,所述方法包括:获取待传输的目标数据的实际值和配置参数;根据所述配置参数和所述实际值计算所述目标数据对应的传输数据;根据所述配置参数确定所述目标数据在数据帧中所占用的比特位长度;根据所述传输数据和所述比特位长度生成所述数据帧,并将所述数据帧发送至目标设备。2.根据权利要求1所述的方法,其特征在于,所述配置参数包括数据范围起始值和颗粒度,所述颗粒度用于描述对所述目标数据进行数据采集的最小单位,所述根据所述配置参数和所述实际值计算所述目标数据对应的传输数据,包括:计算所述实际值与所述数据范围起始值之间的差值;将所述差值除以所述颗粒度得到的比值,作为所述传输数据。3.根据权利要求2所述的方法,其特征在于,所述配置参数包括还包括数据范围宽度,所述根据所述配置参数确定所述目标数据在数据帧中所占用的比特位长度,包括:基于所述数据范围宽度与所述颗粒度之间的比值,计算得到所述目标数据所处数据范围的有效宽度;计算所述有效宽度占用的比特位数量,得到所述比特位长度。4.根据权利要求1所述的方法,其特征在于,所述根据所述传输数据和所述比特位长度生成所述数据帧,包括:获取各个所述目标数据在所述数据帧中的预设位置顺序;将各个所述目标数据的传输数据转换为对应比特位长度的预设进制数据;按照所述预设位置顺序组合各个所述目标数据的预设进制数据,得到所述数据帧。5.根据权利要求4所述的方法,其特征在于,所述按照所述预设位置顺序组合各个所述目标数据的预设进制数据,得到所述数据帧还包括:确定当前时刻对应的时间戳;按照所述预设位置顺序组合各个所述目标数据的预设进制数据后得到第一组合帧;将所述时间戳插入到所述第一组合帧的预设位置,得到所述数据帧。6.根据权利要求1所述的方法,其特征在于,所述数据传输方法还包括:根据所述目标数据的数据名称和所述配置参数,生成所述数据帧的配置帧,并将所述配置帧发送至所述目标设备。7.一种数据解析方法,其特征在于,所述方法包括:接收数据帧,所述数据帧中携带目标数据对应的传输数据;获取所述目标数据对应的配置参数;根据所述配置参数确定所述目标数据在所述数据帧中所占用的比特位长度,并按照所述比特位长度,从所述数据帧中提取得到所述传输数据;根据所述配置参数对所述传输数据进行解析,确定所述目标数据的实际值。8.根据权利要求7所述的方法,其特征在于,所述获取所述目标数据对应的配置参数,包括:获取所述数据帧对应的配置帧,并从所述配置帧中提取各个所述目标数据的数据名称和各个所述目标数据对应的配置参数;
所述按照所述比特位长度,从所述数据帧中提取得到所述传输数据,包括:根据各个所述目标数据的数据名称在所述配置帧中的位置顺序以及各个目标数据对应的所述比特位长度,确定各个所述目标数据在所述数据帧中所占用的比特位;根据各个所述目标数据在所述数据帧中所占用的比特位从所述数据帧中提取得到各个所述目标数据对应的传输数据。9.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现权利要求1至6任一项所述的数据传输方法或者7至8任一项所述的数据解析方法。10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至6任一项所述的数据传输方法或者7至8任一项所述的数据解析方法。
技术总结本申请提供了一种数据传输方法、数据解析方法、电子设备及存储介质,所述数据传输方法包括:获取待传输的目标数据的实际值和配置参数;根据所述配置参数和所述实际值计算所述目标数据对应的传输数据;根据所述配置参数确定所述目标数据在数据帧中所占用的比特位长度;根据所述传输数据和所述比特位长度生成所述数据帧,并将所述数据帧发送至目标设备。本申请所提供数据传输方法提高了数据传输时的有效数据占比,从而提高了数据传输效率。从而提高了数据传输效率。从而提高了数据传输效率。
技术研发人员:詹军成 陈熙
受保护的技术使用者:深圳市正浩创新科技股份有限公司
技术研发日:2022.07.18
技术公布日:2022/11/1