System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于位图的电能表冻结数据查询方法和装置制造方法及图纸_技高网

基于位图的电能表冻结数据查询方法和装置制造方法及图纸

技术编号:41137773 阅读:3 留言:0更新日期:2024-04-30 18:08
本申请涉及基于位图的电能表冻结数据查询方法和装置。方法包括:建立冻结数据位图;判断起始点对应的位图bit位是否为1,若为0则用2分法搜索右侧第一个为1的bit位并返回其对应的int数组下标位置,若为1则直接返回起始点对应的int数组下标位置;判断结束点对应的位图bit位是否为1,若为0则用2分法从末尾开始向前搜索第一个为1的bit位并返回其对应的int数组下标位置,若为1直接返回结束点对应的int数组下标位置;根据冻结周期计算所述起始点和结束点之间的冻结点数量,若冻结点对应的位图bit位为1,则将冻结点对应的冻结数据返回并读取。采用本方法能够有效减少对FLASH的读取操作,提高数据查询效率。

【技术实现步骤摘要】

本申请涉及电能表,特别是涉及一种基于位图的电能表冻结数据查询方法和装置


技术介绍

1、当前电能表的冻结数据量增加,使得flash存储的是大量冻结数据,其存储结构为序号+时间+关联对象数据,因此在搜索数据时需要通过时间去匹配数据,也就是就需要计算出当前时间对应的序号。

2、假设第一条存储的时间为2023.1.1/0:15,最后一条数据为2023.10.1/0:15,通常的做法是计算出两个时间的间隔分钟,除以冻结的周期时间,算出一共有多少条冻结数据,然后进行二分查询,算法复杂度为o(log2 n),其中o表示的是算法运行时间的增速,即算法的运行时间以不同的速度增加,也叫渐进时间复杂度,o(log2 n)表示对数时间复杂度,算法执行时间和n是一种对数关系。该方法由于需要知道第一条存储的位置和最后一条存储的位置,在进行时间的查询时就需要去读取flash内存储的时间数据,从而会极大地消耗时间并且消耗flash的读取寿命。

3、因此,现有技术在查找flash存储的冻结数据的时候,查找的性能不足,从而会造成读取查询结果的时候卡顿,影响程序的运行效率,甚至阻塞其他功能的运行,进而影响程序运行性能和器件寿命。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够减少对flash的读取操作、并提高数据查询效率的基于位图的电能表冻结数据查询方法和装置。

2、第一方面,本申请提供了一种基于位图的电能表冻结数据查询方法。

3、方法包括:

>4、建立冻结数据位图;

5、判断起始点对应的位图bit位是否为1,若为0则用2分法搜索右侧第一个为1的bit位并返回其对应的int数组下标位置,若为1则直接返回起始点对应的int数组下标位置;

6、判断结束点对应的位图bit位是否为1,若为0则用2分法从末尾开始向前搜索第一个为1的bit位并返回其对应的int数组下标位置,若为1直接返回结束点对应的int数组下标位置;

7、根据冻结周期计算起始点和结束点之间的冻结点数量,若冻结点对应的位图bit位为1,则将冻结点对应的冻结数据返回并读取。

8、其进一步的技术方案为,建立冻结数据位图包括:

9、根据最小冻结周期确定int数组下标,并建立相应的冻结数据位图,将冻结存储时间对应的bit位置为1;

10、在到达冻结点时,更新冻结数据位图,将冻结点对应的bit位置为1。

11、其进一步的技术方案为,根据最小冻结周期确定int数组下标,并建立相应的位图,包括:

12、根据最小冻结周期确定一年的冻结数据量;

13、根据冻结数据量确定int数组的长度;

14、根据int数组的长度确定int数组下标,并建立相应的位图。

15、其进一步的技术方案为,最小冻结周期为1min。

16、其进一步的技术方案为,冻结周期为1~15min。

17、第二方面,本申请还提供了一种基于位图的电能表冻结数据查询装置,该装置实现上述任一项的方法的步骤。装置包括:

18、位图建立模块,用于建立冻结数据位图;

19、第一判断模块,用于判断起始点对应的位图bit位是否为1,若为0则用2分法搜索右侧第一个为1的bit位并返回其对应的数组下标位置,若为1则直接返回起始点对应的数组下标位置;

20、第二判断模块,用于判断结束点对应的位图bit位是否为1,若为0则用2分法从末尾开始向前搜索第一个为1的bit位并返回其对应的数组下标位置,若为1直接返回结束点对应的数组下标位置;

21、冻结数据确认模块,用于根据冻结周期计算起始点和结束点之间的冻结点数量,若冻结点对应的位图bit位为1,则将冻结点对应的冻结数据返回并读取。

22、其进一步的技术方案为,位图建立模块包括:

23、位图确认单元,用于根据最小冻结周期确定int数组下标,并建立相应的位图,将冻结存储时间对应的bit位置为1;

24、位图更新单元,用于在到达冻结点时,更新位图,将冻结点对应的bit位置为1。

25、其进一步的技术方案为,位图确认单元还包括:

26、冻结数据量确认单元,用于根据最小冻结周期确定一年的冻结数据量;

27、数组长度确认单元,用于根据冻结数据量确定int数组的长度;

28、数组下标确认单元,用于根据int数组的长度确定int数组下标,并建立相应的位图。

29、本专利技术的有益技术效果是:

30、本专利技术通过建立冻结数据位图,利用位图避免原始数据查询,简化了算法复杂度,减少了对flash的读取操作,提高了冻结数据的查询效率。

本文档来自技高网...

【技术保护点】

1.一种基于位图的电能表冻结数据查询方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述建立冻结数据位图包括:

3.根据权利要求2所述的方法,其特征在于,所述根据最小冻结周期确定int数组下标,并建立相应的位图,包括:

4.根据权利要求2或3所述的方法,其特征在于,所述最小冻结周期为1min。

5.根据权利要求1所述的方法,其特征在于,所述冻结周期为1~15min。

6.一种基于位图的电能表冻结数据查询装置,其特征在于,所述装置实现权利要求1至5中任一项所述的方法的步骤,所述装置包括:

7.根据权利要求6所述的装置,其特征在于,所述位图建立模块包括:

8.根据权利要求7所述的装置,其特征在于,所述位图确认单元还包括:

【技术特征摘要】

1.一种基于位图的电能表冻结数据查询方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述建立冻结数据位图包括:

3.根据权利要求2所述的方法,其特征在于,所述根据最小冻结周期确定int数组下标,并建立相应的位图,包括:

4.根据权利要求2或3所述的方法,其特征在于,所述最小冻结周期为1min。

<...

【专利技术属性】
技术研发人员:黄之健陈文藻胡恩炜金炀姜枫杨玉勇缪炜钱林江黄金涛王宁
申请(专利权)人:江阴长仪集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1