本发明涉及智能电表,特别是涉及一种基于缓冲区的智能电表数据调度方法及装置。
背景技术:
1、随着新型电力系统的建设,低压电网作为电网连接负荷、新能源的最后一公里,其设备的智能化水平亟待提升。因此,智能电表正在经历从传统电费计量表计到边缘智能设备的升级中。新一代电表的数据量和数据类型将有爆发式增长,当前传统的集抄系统是采用固定的抄读模式和采集队列,针对新的数据采集方式,都需要由运维人员基于经验对采集集中器进行配置,并不支持对数据队列的动态调度分配,显然不适应具有丰富边缘数据的新电表。
2、目前的智能电表调度策略基于访问数,在“如果数据之前被访问越频繁,则其重要性越大、越应该保证下一次被采集”的场景下效果较好;但在其他应用场景下,基于访问数的调度策略有可能会导致“饿死”现象,因为有限的数据缓冲池位置,有可能会被几个固定的数据项长期占用,这些数据一直在被访问,因此访问数一直增长,从而导致其他突发需求的重要数据项无法直接从缓冲区获取,必须每次都通过集中器即时采集,从而导致效率低下。
技术实现思路
1、本发明提供了一种基于缓冲区的智能电表数据调度方法及装置,既实现了对重要数据的实时优先读取,同时又保证了缓冲区位置的灵活轮换更新,以支持突发数据的实时采集需求,提高了智能电表数据采集的灵活性。
2、为了解决上述技术问题,本发明提供了一种基于缓冲区的智能电表数据调度方法,包括:
3、当接收到缓冲区位置轮转信号时,开启缓冲区位置轮转,在缓冲区的轮转区域中,根据轮转指针获取轮转初始位置和轮转顺序;
4、将所述轮转初始位置确定为当前待测位置,根据所述轮转顺序对轮转区域中的各缓冲区位置进行轮转判断,得出缓冲区替换位置;
5、启动集中器,利用所述缓冲区替换位置获取待采集数据;
6、其中,所述根据所述轮转顺序对轮转区域中的各缓冲区位置进行轮转判断,得出缓冲区替换位置,具体为:
7、判断当前待测位置对应数据的访问位值是否为0;
8、若当前待测位置对应数据的访问位值为非0,则将所述当前待测位置对应数据的访问位值置0,并根据所述轮转顺序将下一缓冲区位置确定为当前待测位置,并进行轮转判断;
9、若当前待测位置对应数据的访问位值为0,则确定所述当前待测位置为缓冲区替换位置。
10、进一步地,所述缓冲区位置轮转信号的触发过程,具体为:
11、当接收到电表数据采集信号时,通过解析所述电表数据采集信号获取各待采集数据的数据项名称;
12、根据各待采集数据的数据项名称,判断能否在缓冲区获取所有待采集数据;其中,所述缓冲区包括优先区域和轮转区域;
13、当所有待采集数据都能在缓冲区获取时,根据待采集数据的数据项名称,在缓冲区获取各待采集数据;
14、当待采集数据中存在无法从缓冲区获取的数据时,判断所述缓冲区是否存在空闲位置;
15、当所述缓冲区存在空闲位置时,结合缓冲区空闲位置,启动集中器采集各待采集数据;
16、当所述缓冲区不存在空闲位置时,发出缓冲区位置轮转信号。
17、进一步地,所述当所有待采集数据都能在缓冲区获取时,根据待采集数据的数据项名称,在缓冲区获取各待采集数据,具体为:
18、根据各待采集数据的数据项名称在缓冲区的优先区域获取对应的待采集数据;
19、根据各待采集数据的数据项名称在缓冲区的轮转区域获取对应的待采集数据,并将在轮转区域获取的待采集数据的访问位值置1。
20、进一步地,所述当所述缓冲区存在空闲位置时,结合缓冲区空闲位置,启动集中器采集各待采集数据,具体为:
21、获取缓冲区空闲位置的位置信息;
22、将所述缓冲区空闲位置的位置信息写入所述待采集数据对应的存储位置中;
23、启动集中器采集待采集数据,将采集到的待采集数据存储在缓冲区空闲位置,并将采集到的待采集数据的访问位值置1。
24、进一步地,所述缓冲区的优先区域,具体为:
25、根据预设的优先数据名单,启动集中器实时采集所述优先数据名单中的优先数据;
26、将采集到的优先数据存储在缓冲区的优先区域中,并将所述优先数据的优先选项置1。
27、进一步地,所述开启缓冲区位置轮转,在缓冲区的轮转区域中,根据轮转指针获取轮转初始位置和轮转顺序,具体为:
28、判断当前的缓冲区位置轮转是否为首次轮转;
29、若当前的缓冲区位置轮转是首次轮转,则利用随机生成函数生成轮转初始位置;
30、若当前的缓冲区位置轮转不是首次轮转,则将轮转指针存储的位置加1,作为轮转初始位置;其中,所述轮转指针存储的位置为上一次轮转的结束位置。
31、进一步地,所述启动集中器,利用所述缓冲区替换位置获取待采集数据,具体为:
32、获取缓冲区替换位置的位置信息;
33、将所述缓冲区替换位置上的数据对应的存储位置清空,并将所述缓冲区替换位置的位置信息写入所述待采集数据对应的存储位置中;
34、利用所述缓冲区替换位置,启动集中器采集待采集数据,并将在轮转区域获取的待采集数据的访问位值置1。
35、本发明提供了一种基于缓冲区的智能电表数据调度方法,在接收到电表数据采集信号时,在缓冲区的优先区域和轮转区域获取待采集数据,若存在未能在缓冲区获取的待采集数据时,利用缓冲区空闲位置和缓冲区替换位置即时采集数据,其中,缓冲区替换位置通过启动缓冲区位置轮转,对缓冲区的轮转区域中的各缓冲区位置进行轮转判断得出,轮转判断的对象是缓冲区位置所存储数据的访问位值。本发明实现了智能电表数据的提前缓冲和优先采集,既能保证对重要数据的实时优先读取,同时又能在有新的突发数据需求且缓冲池满了以后,及时找到合适缓冲区的位置让新的数据项替换出旧的数据项,通过缓冲区位置的灵活轮换更新,保证了智能电表数据灵活和快速的采集需求。
36、相应的,本发明提供了一种基于缓冲区的智能电表数据调度装置,包括:轮转触发模块、轮转判断模块和数据获取模块;
37、所述轮转触发模块用于当接收到缓冲区位置轮转信号时,开启缓冲区位置轮转,在缓冲区的轮转区域中,根据轮转指针获取轮转初始位置和轮转顺序;
38、所述轮转判断模块用于将所述轮转初始位置确定为当前待测位置,根据所述轮转顺序对轮转区域中的各缓冲区位置进行轮转判断,得出缓冲区替换位置;
39、所述数据获取模块用于启动集中器,利用所述缓冲区替换位置获取待采集数据;
40、其中,所述数据获取模块包括访问位值判断单元、第一判断结果单元和第二判断结果单元;
41、所述访问位值判断单元用于判断当前待测位置对应数据的访问位值是否为0;
42、所述第一判断结果单元用于若当前待测位置对应数据的访问位值为非0,则将所述当前待测位置对应数据的访问位值置0,并根据所述轮转顺序将下一缓冲区位置确定为当前待测位置,并进行轮转判断;
43、所述第二判断结果单元用于若当前待测位置对应数据的访问位值为0,则确定所述当前待测位置为缓冲区替换位置。
44、进一步地,所述缓冲区位置轮转信号的触发过程,具体为:
45、当接收到电表数据采集信号时,通过解析所述电表数据采集信号获取各待采集数据的数据项名称;
46、根据各待采集数据的数据项名称,判断能否在缓冲区获取所有待采集数据;其中,所述缓冲区包括优先区域和轮转区域;
47、当所有待采集数据都能在缓冲区获取时,根据待采集数据的数据项名称,在缓冲区获取各待采集数据;
48、当待采集数据中存在无法从缓冲区获取的数据时,判断所述缓冲区是否存在空闲位置;
49、当所述缓冲区存在空闲位置时,结合缓冲区空闲位置,启动集中器采集各待采集数据;
50、当所述缓冲区不存在空闲位置时,发出缓冲区位置轮转信号。
51、进一步地,所述轮转触发模块,包括首次轮转判断单元、第一位置生成单元和第二位置生成单元;
52、所述判断单元用于判断当前的缓冲区位置轮转是否为首次轮转;
53、所述第一位置生成单元用于若当前的缓冲区位置轮转是首次轮转,则利用随机生成函数生成轮转初始位置;
54、所述第二位置生成单元用于若当前的缓冲区位置轮转不是首次轮转,则将轮转指针存储的位置加1,作为轮转初始位置;其中,所述轮转指针存储的位置为上一次轮转的结束位置。
55、本发明提供了一种基于缓冲区的智能电表数据调度装置,以模块间的有机结合为基础,在接收到电表数据采集信号时,在缓冲区的优先区域和轮转区域获取待采集数据,若存在未能在缓冲区获取的待采集数据时,利用缓冲区空闲位置和缓冲区替换位置即时采集数据,其中,缓冲区替换位置通过启动缓冲区位置轮转,对缓冲区的轮转区域中的各缓冲区位置进行轮转判断得出,轮转判断的对象是缓冲区位置所存储数据的访问位值。本发明实现了智能电表数据的提前缓冲和优先采集,既能保证对重要数据的实时优先读取,同时又能在有新的突发数据需求且缓冲池满了以后,及时找到合适缓冲区的位置让新的数据项替换出旧的数据项,通过缓冲区位置的灵活轮换更新,保证了智能电表数据灵活和快速的采集需求。
1.一种基于缓冲区的智能电表数据调度方法,其特征在于,包括:
2.根据权利要求1所述的基于缓冲区的智能电表数据调度方法,其特征在于,所述缓冲区位置轮转信号的触发过程,具体为:
3.根据权利要求2所述的基于缓冲区的智能电表数据调度方法,其特征在于,所述当所有待采集数据都能在缓冲区获取时,根据待采集数据的数据项名称,在缓冲区获取各待采集数据,具体为:
4.根据权利要求2所述的基于缓冲区的智能电表数据调度方法,其特征在于,所述当所述缓冲区存在空闲位置时,结合缓冲区空闲位置,启动集中器采集各待采集数据,具体为:
5.根据权利要求3所述的基于缓冲区的智能电表数据调度方法,其特征在于,所述缓冲区的优先区域,具体为:
6.根据权利要求1-5任一项所述的基于缓冲区的智能电表数据调度方法,其特征在于,所述开启缓冲区位置轮转,在缓冲区的轮转区域中,根据轮转指针获取轮转初始位置和轮转顺序,具体为:
7.根据权利要求1-5任一项所述的基于缓冲区的智能电表数据调度方法,其特征在于,所述启动集中器,利用所述缓冲区替换位置获取待采集数据,具体为:
8.一种基于缓冲区的智能电表数据调度装置,其特征在于,包括:轮转触发模块、轮转判断模块和数据获取模块;
9.根据权利要求8所述的基于缓冲区的智能电表数据调度装置,其特征在于,所述缓冲区位置轮转信号的触发过程,具体为:
10.根据权利要求8或权利要求9所述的基于缓冲区的智能电表数据调度装置,其特征在于,所述轮转触发模块,包括首次轮转判断单元、第一位置生成单元和第二位置生成单元;