System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种用于多功能智能仪表数据存储的方法技术_技高网

一种用于多功能智能仪表数据存储的方法技术

技术编号:41133290 阅读:3 留言:0更新日期:2024-04-30 18:03
本发明专利技术提供了一种用于多功能智能仪表数据存储的方法,包括以下步骤:S1、将数据的存储处理做成高集成度的存储功能模块,应用层与存储模块的数据交互通过存储模块提供的函数接口来完成,而存储模块与硬件平台的交互通过应用层的回调函数来完成;S2、所有的数据都通过多个存储分区轮流存储的方式来进行存储,通过索引参数来查询当前最新数据所处分区;S3、存储模块内部需要使用到与硬件平台相关的函数功能,且通过回调函数的方式来实现,存储模块内部封装回调函数注册结构体;本发明专利技术通过初始化、写数据和读数据的方法对存储数据源没有格式要求,提升了数据计算应用的灵活性,并且节省了因数据格式转换来的内存空间浪费。

【技术实现步骤摘要】

本专利技术涉及数据存储,特别涉及一种用于多功能智能仪表数据存储的方法


技术介绍

1、目前,常用的存储方式有主备区存储、多存储分区存储、单存储区存储等,依据数据类型的不同,选用不同的存储方式,同一款产品中,往往是多种不同的存储方式并存,并且,用于校验的crc参数往往存放在数据结构体内部,如果是多个存储分区,存储数据结构体内部还要包含索引参数,为了准确计算存储数据crc,对存储数据结构要求字节对齐。

2、对于现有的这些存储方法,在实际应用中,具有以下不足之处:

3、1、对数据源要求高,需要数据结构按照一定的格式定义,并且要求数据结构保持字节对齐,这对数据的计算应用带来困扰,并且浪费内存空间;

4、2、相同产品不同数据类型,存储方法不同,不同产品相同数据类型,存储方法也不同,没有稳定、统一和规范的存储方法,数据读写过程做了很多无用功,效率低下;

5、3、数据的存储方法与存储介质绑定,无法灵活的配置兼容不同的存储介质,若是更换存储介质,需要相应的调整数据的存储方法,增加维护成本;

6、4、数据的存储处理分散在各个功能模块,移植困难,新产品开发很难直接引用,无法有效帮助提升新产品开发进度,为此,提出一种用于多功能智能仪表数据存储的方法。


技术实现思路

1、有鉴于此,本专利技术实施例希望提供一种用于多功能智能仪表数据存储的方法,以解决或缓解现有技术中存在的技术问题,至少提供一种有益的选择。

2、本专利技术实施例的技术方案是这样实现的:一种用于多功能智能仪表数据存储的方法,包括以下步骤:

3、s1、将数据的存储处理做成高集成度的存储功能模块,应用层与存储模块的数据交互通过存储模块提供的函数接口来完成,而存储模块与硬件平台的交互通过应用层的回调函数来完成;

4、s2、所有的数据都通过多个存储分区轮流存储的方式来进行存储,通过索引参数来查询当前最新数据所处分区;

5、s3、存储模块内部需要使用到与硬件平台相关的函数功能,且通过回调函数的方式来实现,存储模块内部封装回调函数注册结构体,开发人员只需在上电初始化的时候,调用存储模块提供的初始化函数接口,完成回调函数注册即可;

6、s4、存储模块定义统一的数据信息结构体,数据信息结构体包含主指针、备指针、数据长度和数据类型,并且应用层与存储模块进行数据交互时,只需将存储数据的地址赋值给主指针即可。

7、在一些实施例中,在所述s2中,根据分配的存储分区的个数,将数据划分为基本数据和大数据。

8、在一些实施例中,所述基本数据的存储分区个数较少,取决于存储介质寿命,将索引参数与存储数据存放在一起,通过轮询各个存储分区的方式找到当前最新的数据。

9、在一些实施例中,所述大数据的存储分区个数比较多,无法通过轮询各个存储分区的方式找到当前最新数据,将存储数据和索引分开保存,索引信息存放在独立的存储分区,以方便快速查询到最新的索引值,从而找到最新的存储数据。

10、在一些实施例中,在所述s4中,主指针指向存储数据,而备用指针指向与存储数据相同类型的临时变量,在存储模块内部使用备用指针计算crc以及读数据和写数据,以此来保证数据的一致性。

11、在一些实施例中,在所述s3中,所述初始化包括以下步骤,

12、s3-1、应用层封装初始化存储模块函数,在函数内部定义存储模块初始化结构体变量,完成对初始化结构体变量的赋值,调用存储模块初始化函数接口;

13、s3-2、在上电初始化阶段,调用应用层封装的初始化存储模块函数;

14、s3-3、进入存储模块初始化函数接口内部,初始化存储模块内部变量、注册回调函数、配置数据存储信息和索引存储信息。

15、在一些实施例中,所述读数据包括以下步骤,

16、s4-11、应用层封装各类读数据函数,在函数内部定义数据信息结构体变量,完成对数据信息结构体变量的赋值,调用存储模块读数据函数接口;

17、s4-12、上电初始化过程中,在完成了存储模块初始化步骤后,调用各类读数据函数,将数据从存储介质读到内存中缓存;

18、s4-13、进入存储模块读数据函数接口内部,首先判断存储模块内部回调函数是否完成注册,若注册完成,进入判断数据类型为基本数据还是大数据;

19、若没有注册完成,返回错误码;

20、s4-14、若是基本数据,则获取数据类型的存储信息,调用读数据底层函数;

21、若是大数据,则配置大数据对应的索引的数据信息和存储信息,调用读数据底层函数。

22、s4-15、进入读数据底层函数内部,首先判断数据信息和存储信息是否合法,若不合法,返回错误码;

23、若合法,则轮询所有存储分区,找到写次数最大值所在分区,将该区的数据拷贝到数据信息的主指针中,将写次数最大值赋值给存储信息中的写次数参数;

24、s4-16、从读数据底层函数返回后,若是基本数据类型,则读数据操作结束;

25、若是大数据类型,则使用大数据的数据信息,再次调用读指定索引位置数据底层函数,读出最近一条大数据;

26、s4-17、从读指定索引位置数据底层函数返回后,读数据操作结束。

27、在一些实施例中,所述写数据包括以下步骤,

28、s4-21、应用层封装各类写数据函数,在函数内部定义数据信息结构体变量,完成对数据信息结构体变量的赋值,调用存储模块写数据函数接口;

29、s4-22、在存储线程中,接收到各类存储事件后,调用各类写数据函数,将数据从内存缓存中写入到存储介质;

30、s4-23、进入存储模块写数据函数接口内部,首先判断存储模块内部回调函数是否完成注册,若注册完成,进入判断数据类型为基本数据还是大数据;

31、若没有注册完成,返回错误码;

32、s4-24、若是基本数据,则获取数据类型的存储信息,调用写数据底层函数;

33、若是大数据,则获取数据类型的存储信息,调用写数据底层函数;

34、s4-25、进入写数据底层函数,首先判断数据信息和存储信息是否合法,若不合法,返回错误码;

35、若合法,根据存储信息中记录的写次数计算存储分区偏移,进而计算出地址偏移,然后将写次数+1,将数据写入到计算出的地址中;

36、s4-26、从写数据底层函数返回后,若是基本数据类型,则写数据操作结束;

37、若是大数据类型,则配置大数据对应的索引的数据信息和存储信息,再次调用写数据底层函数,将索引数据写入到存储介质,写数据操作结束。

38、在一些实施例中,所述方法还包括数据清除方法,具体步骤如下,

39、s21、应用层封装各类清除数据函数,在函数内部定义数据信息结构体变量,完成对数据信息结构体变量的赋值,调用存储模块清除数据函数接口本文档来自技高网...

【技术保护点】

1.一种用于多功能智能仪表数据存储的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的用于多功能智能仪表数据存储的方法,其特征在于:在所述S2中,根据分配的存储分区的个数,将数据划分为基本数据和大数据。

3.根据权利要求2所述的用于多功能智能仪表数据存储的方法,其特征在于:所述基本数据的存储分区个数较少,取决于存储介质寿命,将索引参数与存储数据存放在一起,通过轮询各个存储分区的方式找到当前最新的数据。

4.根据权利要求2所述的用于多功能智能仪表数据存储的方法,其特征在于:所述大数据的存储分区个数比较多,无法通过轮询各个存储分区的方式找到当前最新数据,将存储数据和索引分开保存,索引信息存放在独立的存储分区,以方便快速查询到最新的索引值,从而找到最新的存储数据。

5.根据权利要求1所述的用于多功能智能仪表数据存储的方法,其特征在于:在所述S4中,主指针指向存储数据,而备用指针指向与存储数据相同类型的临时变量,在存储模块内部使用备用指针计算CRC以及读数据和写数据,以此来保证数据的一致性。

6.根据权利要求1所述的用于多功能智能仪表数据存储的方法,其特征在于:在所述S3中,所述初始化包括以下步骤,

7.根据权利要求5所述的用于多功能智能仪表数据存储的方法,其特征在于:所述读数据包括以下步骤,

8.根据权利要求5所述的用于多功能智能仪表数据存储的方法,其特征在于:所述写数据包括以下步骤,

9.根据权利要求1所述的用于多功能智能仪表数据存储的方法,其特征在于:所述方法还包括数据清除方法,具体步骤如下,

...

【技术特征摘要】

1.一种用于多功能智能仪表数据存储的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的用于多功能智能仪表数据存储的方法,其特征在于:在所述s2中,根据分配的存储分区的个数,将数据划分为基本数据和大数据。

3.根据权利要求2所述的用于多功能智能仪表数据存储的方法,其特征在于:所述基本数据的存储分区个数较少,取决于存储介质寿命,将索引参数与存储数据存放在一起,通过轮询各个存储分区的方式找到当前最新的数据。

4.根据权利要求2所述的用于多功能智能仪表数据存储的方法,其特征在于:所述大数据的存储分区个数比较多,无法通过轮询各个存储分区的方式找到当前最新数据,将存储数据和索引分开保存,索引信息存放在独立的存储分区,以方便快速查询到最新的索引值,从而找到最新的存储数据...

【专利技术属性】
技术研发人员:陈银卫刘伟
申请(专利权)人:珠海派诺科技股份有限公司
类型:发明
国别省市:

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

1