数据采样方法、装置、计算机设备和存储介质与流程
未命名
08-15
阅读:106
评论:0
1.本技术涉及计算机技术领域,特别是涉及一种数据采样方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
2.随着计算机技术的发展,出现了数据采样技术,利用数据采样技术可以从内存中采集得到所需的数据。
3.传统技术中,当需要从数据中采集多个极值(最大值或者最小值)时,通常需要将所有的数据放入一个数组中进行排序,排序完毕后即可以从数组中取出所需要的多个极值。
4.然而,当需要从单片机内存中采集多个极值时,由于单片机内存较小,单片机内存通常无法一次性地存储所有数据,因此无法将所有的数据放入单片机内存中进行排序,难以从单片机内存中实时采样得到所需要的极值数据。
技术实现要素:
5.基于此,有必要针对上述技术问题,提供一种能够从单片机内存中实时采样极值数据的数据采样方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
6.第一方面,本技术提供了一种数据采样方法。所述方法包括:
7.提取预设排序数组中的极值变量作为临时极值变量,从单片机内存中获取采集变量;
8.根据所述临时极值变量,确定所述采集变量是否为目标极值变量;
9.若否,则返回执行步骤:从单片机内存中获取采集变量;
10.若是,则将所述目标极值变量插入所述预设排序数组,更新所述预设排序数组对应的移动次数计数变量;
11.返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至所述移动次数计数变量不小于所述预设排序数组的数组长度。
12.在其中一个实施例中,所述临时极值变量包括临时最小变量;所述根据所述临时极值变量,确定所述采集变量是否为目标极值变量,包括:
13.若所述采集变量小于所述临时最小变量,则确定所述采集变量为目标极值变量;若所述采集变量不小于所述临时最小变量,则确定所述采集变量不为目标极值变量。
14.在其中一个实施例中,所述临时极值变量包括临时最大变量;所述根据所述临时极值变量,确定所述采集变量是否为目标极值变量,包括:
15.若所述采集变量大于所述临时最大变量,则确定所述采集变量为目标极值变量;若所述采集变量大于所述临时最大变量,则确定所述采集变量不为目标极值变量。
16.在其中一个实施例中,所述方法还包括:
17.获取移动标志位变量,若所述移动标志位变量为预设第一标志变量,则执行步骤:
根据所述临时极值变量,确定所述采集变量是否为目标极值变量;若所述移动标志位变量为预设第二标志变量,执行步骤:更新所述预设排序数组对应的移动次数计数变量。
18.在其中一个实施例中,所述将所述目标极值变量插入所述预设排序数组,包括:
19.根据所述预设排序数组中的极值变量所处的位置,定位所述目标极值变量在所述预设排序数组中的待插入位置;根据所述待插入位置,将所述目标极值变量插入所述预设排序数组。
20.在其中一个实施例中,所述采集变量包括多路pd(photo-diode,光电二极管)光功率采样值;所述方法还包括:
21.根据所述预设排序数组中的变量,对所述多路pd光功率采样值进行滤波,得到多路pd光功率滤波值。
22.第二方面,本技术还提供了一种数据采样装置。所述装置包括:
23.数据获取模块,用于提取预设排序数组中的极值变量作为临时极值变量,从单片机内存中获取采集变量;
24.确定模块,用于根据所述临时极值变量,确定所述采集变量是否为目标极值变量;
25.循环采集模块,用于若否,则返回执行步骤:从单片机内存中获取采集变量;
26.变量插入模块,用于若是,则将所述目标极值变量插入所述预设排序数组,更新所述预设排序数组对应的移动次数计数变量;
27.循环排序模块,返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至所述移动次数计数变量不小于所述预设排序数组的数组长度。
28.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
29.提取预设排序数组中的极值变量作为临时极值变量,从单片机内存中获取采集变量;根据所述临时极值变量,确定所述采集变量是否为目标极值变量;若否,则返回执行步骤:从单片机内存中获取采集变量;若是,则将所述目标极值变量插入所述预设排序数组,更新所述预设排序数组对应的移动次数计数变量;返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至所述移动次数计数变量不小于所述预设排序数组的数组长度。
30.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
31.提取预设排序数组中的极值变量作为临时极值变量,从单片机内存中获取采集变量;根据所述临时极值变量,确定所述采集变量是否为目标极值变量;若否,则返回执行步骤:从单片机内存中获取采集变量;若是,则将所述目标极值变量插入所述预设排序数组,更新所述预设排序数组对应的移动次数计数变量;返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至所述移动次数计数变量不小于所述预设排序数组的数组长度。
32.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
33.提取预设排序数组中的极值变量作为临时极值变量,从单片机内存中获取采集变量;根据所述临时极值变量,确定所述采集变量是否为目标极值变量;若否,则返回执行步
骤:从单片机内存中获取采集变量;若是,则将所述目标极值变量插入所述预设排序数组,更新所述预设排序数组对应的移动次数计数变量;返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至所述移动次数计数变量不小于所述预设排序数组的数组长度。
34.上述数据采样方法、装置、计算机设备、存储介质和计算机程序产品,通过提取预设排序数组中的极值变量作为临时极值变量,从单片机内存中获取采集变量;根据所述临时极值变量,确定所述采集变量是否为目标极值变量;若否,则返回执行步骤:从单片机内存中获取采集变量;若是,则将所述目标极值变量插入所述预设排序数组,更新所述预设排序数组对应的移动次数计数变量,返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至所述移动次数计数变量不小于所述预设排序数组的数组长度。这样通过将单片机内存中的采集变量和预设排序数组中的极值变量进行比较,可以实现将单片机内存中的采集变量逐一进行动态排序,使得符合采样要求的目标极值变量会插入到预设排序数组中,该数据采样过程无需将所有的数据放入单片机内存中进行排序,而是以循环的方式逐一从单片机内存中取出采集变量,若采集变量为目标极值变量,则插入预设排序数组,若采集变量不为目标极值变量,则从单片机内存中取出下一个采集变量,直至保证预设排序数组中全部是从单片机内存获取的目标极值变量,即完成了对于单片机内存中的极值变量的实时采集。
附图说明
35.图1为一个实施例中数据采样方法的流程示意图;
36.图2为一个实施例中利用移动标志位变量作为步骤触发条件时的方法流程示意图;
37.图3为一个实施例中数据采样装置的结构框图;
38.图4为一个实施例中计算机设备的内部结构图。
具体实施方式
39.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
40.在一个实施例中,如图1所示,提供了一种数据采样方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
41.步骤202,提取预设排序数组中的极值变量作为临时极值变量,从单片机内存中获取采集变量。
42.其中,预设排序数组为具备预设长度的排序数组,该预设长度可以设置为与需要采集的极值数据量相同,例如需要从单片机内存中采集100个极值变量,则预设排序数组的长度可以设置为100,此时预设排序数组可以保存100个变量。
43.作为一种示例,临时极值变量可以为临时最小变量或者临时最大变量;单片机内存的大小有限,通常无法保存所有待采样的数据,因此也就无法将所有待采样的数据共同
放入内存中进行排序。
44.作为一种示例,在进行数据采样之前,若临时极值变量为临时最小变量,则预设排序数组中的原始数据均为全局最大变量,其中,全局最大变量不小于待采样的数据中的所有变量;若临时极值变量为临时最大变量,则预设排序数组中的原始数据均为全局最小变量,其中,全局最小变量不大于待采样的数据中的所有变量。
45.作为一种示例,步骤202包括:提取预设排序数组中的极值变量作为临时极值变量,其中,极值变量可以为预设排序数组中的最大值或者最小值;从单片机内存中获取采集变量,其中,采集变量为单片机内存中存储的取值变量。
46.步骤204,根据临时极值变量,确定采集变量是否为目标极值变量。
47.作为一种示例,步骤204包括:若临时极值变量为临时最小变量,则通过检测采集变量是否小于临时最小变量,确定采集变量是否为目标极值变量;若临时极值变量为临时最大变量,则通过检测采集变量是否大于临时最大变量,确定采集变量是否为目标极值变量。
48.步骤206,若否,则返回执行步骤:从单片机内存中获取采集变量。
49.步骤208,若是,则将目标极值变量插入预设排序数组,更新预设排序数组对应的移动次数计数变量。
50.作为一种示例,步骤206至步骤208包括:若采集变量不为目标极值变量,则证明本次变量采集得到的采集变量不符合数据采样要求,返回执行步骤:从单片机内存中获取采集变量,以进行下一次变量采集;若采集变量为目标极值变量,则证明本次变量采集得到的采集变量符合数据采样要求,将目标极值变量插入预设排序数组,以及增大预设排序数组对应的移动次数计数变量,其中移动次数计数变量用于表征在预设排序数组中插入的目标极值变量的数量,例如可以移动次数计数变量增加1。
51.作为一种示例,将目标极值变量插入预设排序数组,包括:
52.若本次为第一次向预设排序数组插入目标极值变量,则将目标极值变量插入预设排序数组中排序第一的位置;若本次不为第一次向预设排序数组插入目标极值变量,则将目标极值变量插入预设排序数组中的极值变量的后一排序位置。这样可以实现插入预设排序数组的目标极值变量的自动排序。
53.步骤210,返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至移动次数计数变量不小于预设排序数组的数组长度。
54.其中,预设排序数组中每插入一个目标极值变量,均会在预设排序数组中删除一个变量,该删除的变量可以为预设排序数组中排序最靠后的变量。
55.若临时极值变量为临时最小变量,则预设排序数组中的原始数据均为全局最大变量,每次插入预设排序数组的目标极值变量均为小于预设排序数组中当前的最小变量,且目标极值变量会插入预设排序数组中当前的最小变量的后一排序位置,因此在移动次数计数变量不小于预设排序数组的数组长度时,预设排序数组中将全部为单片机内存中采样多个最小变量,且按照从大到小进行排列。
56.若临时极值变量为临时最大变量,则预设排序数组中的原始数据均为全局最小变量,每次插入预设排序数组的目标极值变量均为大于预设排序数组中当前的最大变量,且目标极值变量会插入预设排序数组中当前的最大变量的后一排序位置,因此在移动次数计
数变量不小于预设排序数组的数组长度时,预设排序数组中将全部为单片机内存中采样多个最大变量,且按照从小到大进行排列。
57.上述数据采样方法中,通过提取预设排序数组中的极值变量作为临时极值变量,从单片机内存中获取采集变量;根据临时极值变量,确定采集变量是否为目标极值变量;若否,则返回执行步骤:从单片机内存中获取采集变量;若是,则将目标极值变量插入预设排序数组,更新预设排序数组对应的移动次数计数变量,返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至移动次数计数变量不小于预设排序数组的数组长度。这样通过将单片机内存中的采集变量和预设排序数组中的极值变量进行比较,可以实现将单片机内存中的采集变量逐一进行动态排序,使得符合采样要求的目标极值变量会插入到预设排序数组中,该数据采样过程无需将所有的数据放入单片机内存中进行排序,而是以循环的方式逐一从单片机内存中取出采集变量,若采集变量为目标极值变量,则插入预设排序数组,若采集变量不为目标极值变量,则从单片机内存中取出下一个采集变量,直至保证预设排序数组中全部是从单片机内存获取的目标极值变量,即完成了对于单片机内存中的极值变量的实时采集。
58.在一个实施例中,临时极值变量包括临时最小变量;根据临时极值变量,确定采集变量是否为目标极值变量,包括:
59.若采集变量小于临时最小变量,则确定采集变量为目标极值变量;若采集变量不小于临时最小变量,则确定采集变量不为目标极值变量。
60.其中,在进行数据采样之前,预设排序数组中的原始数据均为全局最大变量,这样可以保证每次确定的目标极值变量均小于预设排序数组中的最小变量,从而可以实现将比预设排序数组中的最小变量更小的采样变量插入预设排序数组,而将不比预设排序数组中的最小变量更小的采样变量排除预设排序数组之外,为从单片机内存中采样多个最小变量奠定基础。
61.在一个实施例中,临时极值变量包括临时最大变量;根据临时极值变量,确定采集变量是否为目标极值变量,包括:
62.若采集变量大于临时最大变量,则确定采集变量为目标极值变量;若采集变量大于临时最大变量,则确定采集变量不为目标极值变量。
63.其中,在进行数据采样之前,预设排序数组中的原始数据均为全局最小变量,这样可以保证每次确定的目标极值变量均大于预设排序数组中的最大变量,从而可以实现将比预设排序数组中的最大变量更大的采样变量插入预设排序数组,而将不比预设排序数组中的最大变量更大的采样变量排除预设排序数组之外,为从单片机内存中采样多个最大变量奠定基础。
64.在一个实施例中,如图2所示,上述方法还包括:
65.步骤302,获取移动标志位变量,若移动标志位变量为预设第一标志变量,则执行步骤:根据临时极值变量,确定采集变量是否为目标极值变量。
66.其中,移动标志位变量为用于标识预设排序数组是否移动的标志位变量,预设排序数组发生了移动,则证明预设排序数组中插入了目标极值变量,例如可以设置移动标志位变量为0时,标识预设排序数组未发生移动,设置移动标志位变量为1时,标识预设排序数组发生了移动。
67.作为一种示例,步骤302包括:获取移动标志位变量,若移动标志位变量为预设第一标志变量,则证明预设排序数组未发生移动,执行步骤:根据临时极值变量,确定采集变量是否为目标极值变量,其中,预设第一标志变量可以设置为0。
68.步骤304,若移动标志位变量为预设第二标志变量,执行步骤:更新预设排序数组对应的移动次数计数变量。
69.作为一种示例,步骤304包括:若移动标志位变量为预设第二标志变量,则证明预设排序数组发生了移动,执行步骤:更新预设排序数组对应的移动次数计数变量,并将移动标志位变量由预设第二标志变量调整为预设第一标志变量,其中,预设第二标志变量可以设置为1。
70.上述实施例中,设置了移动标志位变量,在移动标志位变量为预设第一标志变量时,执行步骤:根据临时极值变量,确定采集变量是否为目标极值变量;在移动标志位变量为预设第二标志变量时,执行步骤:更新预设排序数组对应的移动次数计数变量,这样可以根据移动标志位变量实现对预设排序数组的状态的监控,从而可以准确确定进入根据临时极值变量,确定采集变量是否为目标极值变量的时机,以及进入更新预设排序数组对应的移动次数计数变量的时机,为从单片机内存中采样极值变量奠定基础。
71.在一个实施例中,将目标极值变量插入预设排序数组,包括:
72.根据预设排序数组中的极值变量所处的位置,定位目标极值变量在预设排序数组中的待插入位置;根据待插入位置,将目标极值变量插入预设排序数组。
73.作为一种示例,若本次不为首次向预设排序数组中插入目标极值变量,则确定预设排序数组中的极值变量所处的位置,得到极值位置;将预设排序数组中极值位置后一位的排序位置作为待插入位置;将目标极值变量插入预设排序数组中的待插入位置处;若本次为首次向预设排序数组中插入目标极值变量,则直接将预设排序数组中排序第一的位置作为待插入位置,将目标极值变量插入预设排序数组中的待插入位置处。
74.上述实施例中,根据预设排序数组中的极值变量所处的位置,定位目标极值变量在预设排序数组中的待插入位置;根据待插入位置,将目标极值变量插入预设排序数组,这样可以实现将目标极值变量按照一定的排列顺序依次插入预设排序数组,实现对插入预设排序数组的目标极值变量的自动排序。
75.在一个实施例中,采集变量包括多路pd光功率采样值;方法还包括:
76.根据预设排序数组中的变量,对多路pd光功率采样值进行滤波,得到多路pd光功率滤波值。
77.作为一种示例,分别对多路的pd光功率采样值进行求和,得到多路的第一采样求和值;将多路的采样求和值减去预设排序数组中的变量,得到多路的第二采样求和值;对多路的第二采样求和值求平均,得到多路pd光功率滤波值。
78.上述实施例中,先分别对多路的pd光功率采样值进行求和,得到多路的第一采样求和值,然后在多路的第一采样求和值中减去预设排序数组中的变量,这样可以去除采样值中的极值对采样结果的影响,提升采样结果的准确度,进而对多路的第二采样求和值求平均,即可得到多路pd光功率滤波值,实现对多路多路pd光功率采样值的准确滤波。
79.在一个实施例中,提取预设排序数组中的极值变量作为临时极值变量,其中,极值变量可以为预设排序数组中的最大值或者最小值;从单片机内存中获取采集变量,其中,采
集变量为单片机内存中存储的取值变量;获取移动标志位变量,若移动标志位变量为预设第一标志变量,在临时极值变量为临时最小变量时,通过检测采集变量是否小于临时最小变量,确定采集变量是否为目标极值变量,在临时极值变量为临时最大变量时,通过检测采集变量是否大于临时最大变量,确定采集变量是否为目标极值变量;若采集变量不为目标极值变量,则返回执行步骤:从单片机内存中获取采集变量;若采集变量为目标极值变量,则将目标极值变量插入预设排序数组,并将移动标志位变量调整为预设第二标志变量。
80.在调整移动标志位变量之后,若检测到移动标志位变量为预设第二标志变量,则更新预设排序数组对应的移动次数计数变量;返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至移动次数计数变量不小于预设排序数组的数组长度,这样通过将单片机内存中的采集变量和预设排序数组中的极值变量进行比较,可以实现将单片机内存中的采集变量逐一进行动态排序,使得符合采样要求的目标极值变量会插入到预设排序数组中,该数据采样过程无需将所有的数据放入单片机内存中进行排序,而是以循环的方式逐一从单片机内存中取出采集变量,若采集变量为目标极值变量,则插入预设排序数组,若采集变量不为目标极值变量,则从单片机内存中取出下一个采集变量,直至保证预设排序数组中全部是从单片机内存获取的目标极值变量,即完成了对于单片机内存中的极值变量的实时采集。
81.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
82.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的数据采样方法的数据采样装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据采样装置实施例中的具体限定可以参见上文中对于数据采样方法的限定,在此不再赘述。
83.在一个实施例中,如图3所示,提供了一种数据采样装置,包括:数据获取模块、确定模块、循环采集模块、变量插入模块和循环排序模块,其中:
84.数据获取模块,用于提取预设排序数组中的极值变量作为临时极值变量,从单片机内存中获取采集变量。
85.确定模块,用于根据所述临时极值变量,确定所述采集变量是否为目标极值变量。
86.循环采集模块,用于若否,则返回执行步骤:从单片机内存中获取采集变量。
87.变量插入模块,用于若是,则将所述目标极值变量插入所述预设排序数组,更新所述预设排序数组对应的移动次数计数变量。
88.循环排序模块,返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至所述移动次数计数变量不小于所述预设排序数组的数组长度。
89.在一个实施例中,所述临时极值变量包括临时最小变量;所述确定模块还用于:
90.若所述采集变量小于所述临时最小变量,则确定所述采集变量为目标极值变量;
若所述采集变量不小于所述临时最小变量,则确定所述采集变量不为目标极值变量。
91.在一个实施例中,所述临时极值变量包括临时最大变量;所述确定模块还用于:
92.若所述采集变量大于所述临时最大变量,则确定所述采集变量为目标极值变量;若所述采集变量大于所述临时最大变量,则确定所述采集变量不为目标极值变量。
93.在一个实施例中,所述数据采样装置还包括:
94.第一执行触发模块,用于获取移动标志位变量,若所述移动标志位变量为预设第一标志变量,则执行步骤:根据所述临时极值变量,确定所述采集变量是否为目标极值变量。
95.第二执行触发模块,用于若所述移动标志位变量为预设第二标志变量,执行步骤:更新所述预设排序数组对应的移动次数计数变量。
96.在一个实施例中,所述变量插入模块还用于:
97.根据所述预设排序数组中的极值变量所处的位置,定位所述目标极值变量在所述预设排序数组中的待插入位置;根据所述待插入位置,将所述目标极值变量插入所述预设排序数组。
98.在一个实施例中,所述采集变量包括多路pd光功率采样值;所述数据采样装置还包括:
99.滤波模块,用于根据所述预设排序数组中的变量,对所述多路pd光功率采样值进行滤波,得到多路pd光功率滤波值。
100.上述数据采样装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
101.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据采样方法。
102.本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
103.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
104.提取预设排序数组中的极值变量作为临时极值变量,从单片机内存中获取采集变量;根据所述临时极值变量,确定所述采集变量是否为目标极值变量;若否,则返回执行步骤:从单片机内存中获取采集变量;若是,则将所述目标极值变量插入所述预设排序数组,更新所述预设排序数组对应的移动次数计数变量;返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至所述移动次数计数变量不小于所述预设排序数组的数组
长度。
105.在一个实施例中,所述临时极值变量包括临时最小变量;处理器执行计算机程序时还实现以下步骤:
106.若所述采集变量小于所述临时最小变量,则确定所述采集变量为目标极值变量;若所述采集变量不小于所述临时最小变量,则确定所述采集变量不为目标极值变量。
107.在一个实施例中,所述临时极值变量包括临时最大变量;处理器执行计算机程序时还实现以下步骤:
108.若所述采集变量大于所述临时最大变量,则确定所述采集变量为目标极值变量;若所述采集变量大于所述临时最大变量,则确定所述采集变量不为目标极值变量。
109.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
110.获取移动标志位变量,若所述移动标志位变量为预设第一标志变量,则执行步骤:根据所述临时极值变量,确定所述采集变量是否为目标极值变量;若所述移动标志位变量为预设第二标志变量,执行步骤:更新所述预设排序数组对应的移动次数计数变量。
111.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
112.根据所述预设排序数组中的极值变量所处的位置,定位所述目标极值变量在所述预设排序数组中的待插入位置;根据所述待插入位置,将所述目标极值变量插入所述预设排序数组。
113.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
114.根据所述预设排序数组中的变量,对所述多路pd光功率采样值进行滤波,得到多路pd光功率滤波值。
115.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
116.提取预设排序数组中的极值变量作为临时极值变量,从单片机内存中获取采集变量;根据所述临时极值变量,确定所述采集变量是否为目标极值变量;若否,则返回执行步骤:从单片机内存中获取采集变量;若是,则将所述目标极值变量插入所述预设排序数组,更新所述预设排序数组对应的移动次数计数变量;返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至所述移动次数计数变量不小于所述预设排序数组的数组长度。
117.在一个实施例中,所述临时极值变量包括临时最小变量;计算机程序被处理器执行时还实现以下步骤:
118.若所述采集变量小于所述临时最小变量,则确定所述采集变量为目标极值变量;若所述采集变量不小于所述临时最小变量,则确定所述采集变量不为目标极值变量。
119.在一个实施例中,所述临时极值变量包括临时最大变量;计算机程序被处理器执行时还实现以下步骤:
120.若所述采集变量大于所述临时最大变量,则确定所述采集变量为目标极值变量;若所述采集变量大于所述临时最大变量,则确定所述采集变量不为目标极值变量。
121.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
122.获取移动标志位变量,若所述移动标志位变量为预设第一标志变量,则执行步骤:根据所述临时极值变量,确定所述采集变量是否为目标极值变量;若所述移动标志位变量
为预设第二标志变量,执行步骤:更新所述预设排序数组对应的移动次数计数变量。
123.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
124.根据所述预设排序数组中的极值变量所处的位置,定位所述目标极值变量在所述预设排序数组中的待插入位置;根据所述待插入位置,将所述目标极值变量插入所述预设排序数组。
125.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
126.根据所述预设排序数组中的变量,对所述多路pd光功率采样值进行滤波,得到多路pd光功率滤波值。
127.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
128.提取预设排序数组中的极值变量作为临时极值变量,从单片机内存中获取采集变量;根据所述临时极值变量,确定所述采集变量是否为目标极值变量;若否,则返回执行步骤:从单片机内存中获取采集变量;若是,则将所述目标极值变量插入所述预设排序数组,更新所述预设排序数组对应的移动次数计数变量;返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至所述移动次数计数变量不小于所述预设排序数组的数组长度。
129.在一个实施例中,所述临时极值变量包括临时最小变量;计算机程序被处理器执行时还实现以下步骤:
130.若所述采集变量小于所述临时最小变量,则确定所述采集变量为目标极值变量;若所述采集变量不小于所述临时最小变量,则确定所述采集变量不为目标极值变量。
131.在一个实施例中,所述临时极值变量包括临时最大变量;计算机程序被处理器执行时还实现以下步骤:
132.若所述采集变量大于所述临时最大变量,则确定所述采集变量为目标极值变量;若所述采集变量大于所述临时最大变量,则确定所述采集变量不为目标极值变量。
133.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
134.获取移动标志位变量,若所述移动标志位变量为预设第一标志变量,则执行步骤:根据所述临时极值变量,确定所述采集变量是否为目标极值变量;若所述移动标志位变量为预设第二标志变量,执行步骤:更新所述预设排序数组对应的移动次数计数变量。
135.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
136.根据所述预设排序数组中的极值变量所处的位置,定位所述目标极值变量在所述预设排序数组中的待插入位置;根据所述待插入位置,将所述目标极值变量插入所述预设排序数组。
137.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
138.根据所述预设排序数组中的变量,对所述多路pd光功率采样值进行滤波,得到多路pd光功率滤波值。
139.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括
非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
140.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
141.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
技术特征:
1.一种数据采样方法,其特征在于,所述方法包括:提取预设排序数组中的极值变量作为临时极值变量,从单片机内存中获取采集变量;根据所述临时极值变量,确定所述采集变量是否为目标极值变量;若否,则返回执行步骤:从单片机内存中获取采集变量;若是,则将所述目标极值变量插入所述预设排序数组,更新所述预设排序数组对应的移动次数计数变量;返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至所述移动次数计数变量不小于所述预设排序数组的数组长度。2.根据权利要求1所述的方法,其特征在于,所述临时极值变量包括临时最小变量;所述根据所述临时极值变量,确定所述采集变量是否为目标极值变量,包括:若所述采集变量小于所述临时最小变量,则确定所述采集变量为目标极值变量;若所述采集变量不小于所述临时最小变量,则确定所述采集变量不为目标极值变量。3.根据权利要求1所述的方法,其特征在于,所述临时极值变量包括临时最大变量;所述根据所述临时极值变量,确定所述采集变量是否为目标极值变量,包括:若所述采集变量大于所述临时最大变量,则确定所述采集变量为目标极值变量;若所述采集变量大于所述临时最大变量,则确定所述采集变量不为目标极值变量。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取移动标志位变量,若所述移动标志位变量为预设第一标志变量,则执行步骤:根据所述临时极值变量,确定所述采集变量是否为目标极值变量;若所述移动标志位变量为预设第二标志变量,执行步骤:更新所述预设排序数组对应的移动次数计数变量。5.根据权利要求1所述的方法,其特征在于,所述将所述目标极值变量插入所述预设排序数组,包括:根据所述预设排序数组中的极值变量所处的位置,定位所述目标极值变量在所述预设排序数组中的待插入位置;根据所述待插入位置,将所述目标极值变量插入所述预设排序数组。6.根据权利要求1所述的方法,其特征在于,所述采集变量包括多路pd光功率采样值;所述方法还包括:根据所述预设排序数组中的变量,对所述多路pd光功率采样值进行滤波,得到多路pd光功率滤波值。7.一种数据采样装置,其特征在于,所述装置包括:数据获取模块,用于提取预设排序数组中的极值变量作为临时极值变量,从单片机内存中获取采集变量;确定模块,用于根据所述临时极值变量,确定所述采集变量是否为目标极值变量;循环采集模块,用于若否,则返回执行步骤:从单片机内存中获取采集变量;变量插入模块,用于若是,则将所述目标极值变量插入所述预设排序数组,更新所述预设排序数组对应的移动次数计数变量;循环排序模块,返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至所述移动次数计数变量不小于所述预设排序数组的数组长度。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
技术总结
本申请涉及一种数据采样方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:提取预设排序数组中的极值变量作为临时极值变量,从单片机内存中获取采集变量;根据所述临时极值变量,确定所述采集变量是否为目标极值变量;若否,则返回执行步骤:从单片机内存中获取采集变量;若是,则将所述目标极值变量插入所述预设排序数组,更新所述预设排序数组对应的移动次数计数变量;返回执行步骤:提取预设排序数组中的极值变量作为临时极值变量,直至所述移动次数计数变量不小于所述预设排序数组的数组长度。采用本方法能够对于单片机内存中的极值变量进行实时采集。机内存中的极值变量进行实时采集。机内存中的极值变量进行实时采集。
技术研发人员:梁永森 罗骏
受保护的技术使用者:镭神技术(深圳)有限公司
技术研发日:2023.05.23
技术公布日:2023/8/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
