一种降低存储介质损耗的数据存储方法和系统与流程

未命名 07-22 阅读:118 评论:0


1.本技术涉及电池自动化生产领域,特别是涉及一种降低存储介质损耗的数据存储方法和系统。


背景技术:

2.电池在自动生产时需要对每颗电池的状态进行监测并记录,以便出现问题时能够对数据进行分析排查,进一步改善产品生产制造工艺,从而提高产品质量。电池的状态由下位机产生,由中位机收集处理多个电池的数据并汇总后上传至后台服务程序进行存储。
3.通常情况下,中位机通过文件系统对每个电池建立一个历史数据文件,通过对该文件的读写实现历史数据的存取。为确保断电时能够不丢失数据及成本考虑,中位机通常采用低功耗低性能的嵌入式mcu对此类数据进行处理,mcu对存储介质的读写速度会限制一个中位机能够管理的电池数量,导致不同的电池产线可能需要的中位机数量不一致,后台服务程序也需要根据产线配置的中位机数量进行适配,对系统的稳定性造成了影响。并且对存储介质的反复擦写也导致了存储介质寿命损失,而存储介质的损坏需要停工维修中位机,会造成一定的经济损失。
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.第二缓存模块,用于将存储介质中保存的数据读入至本地的读缓存区,并将读缓存区的数据发送至上位机,以便上位机对接收到的数据进行分析。
32.本技术所提供的一种降低存储介质损耗的数据存储方法,应用于中位机,包括:当自身与上位机之间处于已连接状态,则通过本地的若干写缓存区对下位机发送的数据进行缓存,并将写缓存区中当前缓存的数据实时发送至上位机;当自身与上位机之间的连接处于断开状态,则将当前已写满的写缓存区中的数据写入至本地的存储介质中,并将在断开状态保持的过程中下位机发送的新数据写入至当前还未写满的写缓存区;将存储介质中保存的数据读入至本地的读缓存区,并将读缓存区的数据发送至上位机,以便上位机对接收到的数据进行分析。本技术通过在内存建立写缓存区和读缓存区减少对存储介质的擦写,提高了系统的稳定性,提高了存储介质的寿命,并且降低存储介质的损坏风险,减少经济损
失。
附图说明
33.为了更清楚地说明本技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1为本技术实施例提供的降低存储介质损耗的数据存储方法流程图;
35.图2为本技术实施例提供的降低存储介质损耗的数据存储系统架构图;
36.图3为本技术实施例提供的历史数据存储的数据结构图;
37.图4为本技术实施例提供的数据存储流程图;
38.图5为本技术实施例提供的数据写入存储介质流程图;
39.图6为本技术实施例提供的数据获取流程图;
40.图7为本技术另一实施例提供的一种降低存储介质损耗的数据存储系统模块图。
具体实施方式
41.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本技术保护范围。
42.本技术的核心是提供一种降低存储介质损耗的数据存储方法和系统。
43.为了使本技术领域的人员更好地理解本技术方案,下面结合附图和具体实施方式对本技术作进一步的详细说明。
44.图1为本技术实施例提供的降低存储介质损耗的数据存储方法流程图,如图1所示,该流程包括如下步骤。
45.s10:当自身与上位机之间处于已连接状态,则通过本地的若干写缓存区对下位机发送的数据进行缓存,并将写缓存区中当前缓存的数据实时发送至上位机。
46.在具体实施例中,图2为本技术实施例提供的降低存储介质损耗的数据存储系统架构图,系统分为上位机、中位机、下位机三部分。
47.上位机后台服务程序负责和中位机进行通信,并把解析到的数据存储至数据库,人机交互界面程序通过读取数据库对数据进行显示。
48.下位机包括电池生产工艺中需要使用的各种执行及监控机构,如对电池进行充放电及保护的电源模块、辅助数据采集模块、机械执行结构等。这类设备数量众多,且接口种类多,不适合上位机直接控制、采集。下位机种类繁多,硬件并不固定,可能是dsp,可能是单片机,也可能是plc等设备
49.中位机是为了解决下位机数量多、接口多样的一种设备,用于接收上位机的工艺流程以控制下位机进行生产工艺,生产中收集各类监控数据并汇总给上位机,故通常情况下中位机并不需要对数据进行存储,只需进行转发即可。而上位机异常时中位机在一定时间内可继续执行设定好的工艺,此时需要存储当前未转发出去的数据,待上位机恢复时,将这一部分数据发给上位机,以保障数据不会丢失。而在系统出现断电时,中位机也需要在有
限的时间内对缓存的数据及时进行保存,避免数据丢失,所以对内存中的数据数量也有限制。同时由于中位机数量较多,且安装好后拆装较难,故需要尽可能减少维护次数。
50.其中,本技术在对每个电池通道建立若干小型写缓存区与一个读缓存区当自身(中位机)与上位机之间处于已连接状态,则通过本地的若干写缓存区对下位机发送的数据进行存储,并将写缓存区中当前存储的数据实时发送至上位机。
51.其中作为一种优选,建立两个小型写缓存区和一个读缓存区。
52.s11:当自身与上位机之间的连接处于断开状态,则将当前已写满的写缓存区中的数据写入至本地的存储介质中,并将在断开状态保持的过程中下位机发送的新数据写入至当前还未写满的写缓存区。
53.在具体实施例中,自身(中位机)与上位机之间的连接处于断开状态,并且在此过程中持续接收下位机发送的数据,当任意一个写缓存区存满数据时,则将当前已写满的写缓存区中的数据写入至本地的存储介质中,并将在断开状态保持的过程中下位机发送的新数据写入至当前还未写满的写缓存区。
54.例如:写缓存分为1缓存和2缓存两部分,1缓存区写满后新来的数据将保存至2缓存区,并同步将1缓存区写入存储介质并清空,以便2缓存区再次写满时能够再使用1缓存区进行缓存,以此反复。
55.其中,存储介质通常指具有非易失存储器,如sd卡、nandflash存储芯片、norflash存储芯片等。
56.s12:将存储介质中保存的数据读入至本地的读缓存区,并将读缓存区的数据发送至上位机,以便上位机对接收到的数据进行分析。
57.在具体实施例中,存储介质中的数据是通过写缓存区写入的,也需要上传至上位机。将存储介质中保存的数据读入至本地的读缓存区,并将读缓存区的数据发送至上位机,以便上位机对接收到的数据进行分析。
58.其中,如图3所示,图3为本技术实施例提供的历史数据存储的数据结构图。数据主要分为两部分,一部分为内存中的缓存数据,一部分为存储介质中的存盘数据。缓存数据分为各电池的缓存历史数据及控制器信息,缓存历史数据包含两个写入缓存区和一个读取缓存区,控制器信息包括存储器的读写指针,写入缓存区的读写指针,读取缓存区的读取指针,标识当前已存满数据的标记,当前数据处于已读取待删除的标记。存储介质数据按电池通道进行划分,每个通道的数据块最前面存储掉电时的控制器状态,控制器状态后有n个读缓存大小的历史数据块空间用于存储离线的历史数据。
59.建立缓存区的目的是为了加快读写效率,存储介质每次读取1b大小读取1000次耗时远大于读取1000b大小读取1次的耗时。为简化结构,方案中单个写缓存、单个数据块、读缓存区大小均一致,如写缓存区为100b*2,数据块为100b*n,读缓存区为100b。
60.其中,如图3所示,存储介质中会存储很多电池的数据,如当前控制器数据大小为20b,数据块大小为100b,每个电池最多存储50个数据块,那么电池1的第一条数据需要从20b位置开始写入,而电池2的第一条数据需要从21+100*50+21即5042b的位置开始写入。从而实现数据写入行为。
61.本技术所提供的一种降低存储介质损耗的数据存储方法,应用于中位机,包括:当自身与上位机之间处于已连接状态,则通过本地的若干写缓存区对下位机发送的数据进行
存储,并将写缓存区中当前存储的数据实时发送至上位机;当自身与上位机之间的连接处于断开状态,则将当前已写满的写缓存区中的数据写入至本地的存储介质中,并将在断开状态保持的过程中下位机发送的新数据写入至当前还未写满的写缓存区;将存储介质中保存的数据写入至本地的读缓存区,并将读缓存区的数据发送至上位机,以便上位机对接收到的数据进行分析。本身申请中的中位机的mcu与存储介质的接口速率要求较低,且在中位机能够正常与后台进行通信时,不会对存储介质的寿命产生影响。且由于该方法不依赖于文件系统,也可减少移植文件系统的开发费用。
62.在上述实施例的基础上,作为一种优选的实施例,还包括:
63.判断当前是否已存在数据存满标记;数据存满标记用于表征存储介质分配给该通道的空间已存满;
64.若当前已存在数据存满标记,则禁止对下位机发送的数据进行存储,并向上位机发送相应的表征存储空间已用完的提示信息;
65.若当前不存在数据存满标记,则允许对下位机发送的数据进行存储。
66.在具体实施例中,存储数据前先判断当前是否已存在数据存满标记,存在时则表示无法再继续存储数据,直接退出流程并告知数据已存满;未存满时将数据写入当前写缓存写指针所指向的位置后,将写缓存写指针后移,再执行数据写入存储介质的判断执行流程。
67.其中数据存储具体流程如图4所示:
68.s20:数据存储流程。
69.s21:判断对应控制器存满标记是否置位。
70.s22:若是,则返回数据已存满。
71.s23:若否,数据写入当前写缓存区写指针指向的位置。
72.s24:写缓存写指针后移。
73.s25:判断写缓存写指针是否移动到了写缓存区末尾。
74.s26:若是,则写缓存写指针移动到起始位置,并进入s27的步骤。
75.s27:若否,则进入数据写入存储介质判断执行流程。
76.在具体实施例中,数据写入存储介质,根据写缓存写指针与写缓存读指针的相对位置,判断当前是否已有一个缓存区大小的数据待写入存储器,有则将数据写入存储介质并调整属性。
77.数据写入存储介质判断流程如图5所示:
78.s27:数据写入存储介质判断执行流程。
79.s28:判断写缓存读指针是否指向写缓存1内。
80.s29:若是,则判断写缓存写指针是否指向写缓存读指针一个数据块之后。若否,进入s41的步骤。
81.s30:若是,则判断是否待删除标记为0,且当前读缓存区没有数据。
82.s31:若否,则写缓存读指针前移待删除标志置1。
83.s32:若是,则写入当前写缓存读指针指向的缓存区位置,大小为一个数据块的数据到存储介质。
84.s33:存储介质写指针后移。
85.s34:判断存储介质写指针是否指向了数据块n后。
86.s35:若是,则存储介质写指针回到数据块0。
87.s36:若否,则判断存储介质写指针与读指针是否指向同一位置。
88.s37:若是,则置为控制器数据存满标记。
89.s38:若否,则写缓存读指针后移一个数据块。
90.s39:将控制器数据写入对应存储介质位置。
91.s40:返回写入成功。
92.s41:返回无需写入。
93.s42:判断写缓存写指针是否在写缓存读指针前。
94.s43:若是,则判断写缓存写指针是否与写缓存读指针指向一个数据块内。
95.若是,则执行s30和s31的步骤,若否,则执行s41的步骤。
96.s44:若是,则写入当前写缓存读指针到缓存区末尾的数据。
97.s45:写入写缓存区开始到当前写缓存写指针位置的数据。
98.执行s33、s34、s35、s36、s37的步骤。
99.s46:若否,则写缓存读指针移动到当前写缓存写指针的位置。
100.本技术实施例在存储数据前需要判断当前是否有用于表征存储介质分配给该通道的空间已存满的标记,若有,则说明存满,会提示用户,并且停止后续相关的操作,降低了数据丢失的风险。
101.在上述实施例的基础上,作为一种优选的实施例,将任一写缓存区中的数据发送至上位机之后,还包括:
102.当获取到上位机发送的相应的表征已接收到数据的第一确认信息,则销毁相应的写缓存区中的数据。
103.并且将当前已写满的写缓存区中的数据写入至本地的存储介质中之后,还包括:
104.销毁当前已写满的写缓存区中的数据,或者,再一次对下位机发送的数据进行存储时,新数据覆盖已写满的写缓存区中的数据。
105.在具体实施例中,当自身中位机与上位机正常连接时,写缓存区的数据发送至上位机,当上位机确认,也就是当自身获取到上位机发送的相应的表征已接收到数据的第一确认信息,则销毁相应的写缓存区中的数据,以便循环存储数据。
106.在具体实施例中,当前已写满的写缓存区中的数据写入至本地的存储介质中之后,也会自动销毁当前已写满的写缓存区中的数据,或者在下一次循环存储数据时,新数据覆盖之前的写缓存区的数据。
107.本技术实施例在数据完成上传,写入之后,会销毁对应的数据,可以在异常时增加发现异常的可能性,提高数据存储时的数据安全性。
108.在上述实施例的基础上,作为一种优选的实施例,将读缓存区的数据发送至上位机,包括:
109.执行将读缓存区的数据发送至上位机的步骤;
110.实时判断是否获取上位机返回的第二确认信息;第二确认信息为上位机在接收到读缓存区发送的任一组数据后生成的信息;
111.若获取到第二确认信息,则为读缓存区中的相应数据配置相应的已读取标记;
112.若还未获取到第二确认信息,则重新跳转至执行将读缓存区的数据发送至所述上位机的步骤。
113.其中,还需要判断读缓存区的数据是否带有已读取标记;
114.若是,则删除读缓存区中与已读取标记对应的一组数据,并重新跳转至将读缓存区的数据发送至上位机的步骤,以便将读缓存区中的下一组的数据发送至上位机。
115.在具体实施例中,将读缓存区的数据发送至上位机,需要实时发送数据,待上位机确认后,删除读缓存区的数据,并在此接收存储介质中的数据并发送给上位机。
116.其中,具体流程如图6所示:
117.s48:数据获取流程。
118.s49:判断待删除标记是否为0。
119.s50:若是,则判断读缓存读指针是否不在起始位置。
120.s51:若是,读缓存读指针后移。
121.s52:判断读缓存读指针是否指向了缓存区最后一个数据。
122.s53:若是,则判断对应控制器存满标记是否置位。
123.s54:若是,则对应控制器存满标记取消置位。
124.s55:若否,读缓存读指针回到读缓存起始位置。
125.s56:存储介质读指针后移。
126.s57:判断存储介质读指针是否指向了数据块n后。
127.s58:若是,则存储介质读指针回到数据块0。
128.s59:若否,待删除标志置1。
129.s60:返回读缓存最后一个数据。
130.s61:读缓存读指针是否不在起始位置。
131.s62:若是,则返回读缓存读指针指向位置的前一个数据。
132.s63:若否,则判断写缓存读指针与写指针是否不指向同一个位置。
133.s64:若是,则返回写缓存读指针指向位置的前一个数据;若否,则进入s50的步骤。
134.s65:判断存储介质读指针与写指针是否位置不同。
135.s66:若是,则从存储介质读指针指向的位置读取一个数据块的数据到读缓存。
136.然后执行s51和s59的步骤。
137.s67:返回读缓存读指针指向位置的前一个数据。
138.s68:判断写缓存读指针与写指针是否指向同一位置。
139.s69:若是,返回无数据。
140.s70:若否,则写缓存读指针后移。
141.s71:判断写缓存读指针是否指向了缓存区最后一个数据。
142.s72:若是,则写缓存读指针回到起始位置。
143.并执行s59的步骤。
144.s73:返回写缓存最后一个数据。
145.其中,数据获取流程,先判断当前是否有已读取待删除数据标记,有此标记时判断当前需要读取的位置在读缓存还是写缓存,并返回当前已读取的数据。没有已读取待删除数据标记时,根据当前读缓存指针判断当前读缓存是否有未获取完的数据,有则返回该数
据,并调整控制器属性。读缓存没有待读取数据时判断存储介质读写指针位置,判断是否有数据待从存储介质中读出,有数据待读出则将数据读取一个缓存区的大小到读缓存,并返回读缓存的第一个数据。读缓存与存储介质中均无数据待读出时判断写缓存中是否有数据待读出,有则返回该数据,并操作指针后标记数据已读取待删除。
146.其中,综上述实施例和本技术实施例,上位机和中位机连接会出现三种情况:
147.第一种,上位机与中位机连接正常,中位机会将数据汇总后写入缓存区,随后将该数据发送给上位机即:汇总数据写入w1,随后将w1的数据发给上位机,汇总数据写入w2,随后将w2的数据发给上位机.....汇总数据写入w10,随后将w10的数据发给上位机,汇总数据写入w1,随后将w1的数据发给上位机......以此反复。
148.第二种,上位机与中位机短时间连接异常:新数据写入w1,发送w1,上位机确认,销毁w1,新数据写入w2,发送w2,上位机未响应,再次发送w2,上位机未响应,新数据写入w3,继续发送w2,上位机响应,继续发送w3.....
149.第三种,上位机与中位机长时间连接异常:新数据写入w1,发送w1,上位机确认,销毁w1,新数据写入w2,发送w2,上位机未响应,再次发送w2,上位机未响应,新数据写入w3......直到新数据写入w7,上位机仍没有响应发现的w2,即现在已有w2~w7共6条数据(超过一个缓存区大小5条)未发送到上位机,将w2~w6写入存储介质(一次写入缓存区大小的数据即5条),销毁写缓存的w2~w6数据,并将存储介质中的这5条数据读取到读缓存区r1~r5中,向上位机发送r1数据,上位机一直未响应,写缓存写到w2时,将w7~w1的5条数据写入存储介质,继续向上位机发送r1数据,以此反复。当上位机开始响应时,依次将r1~r5的数据发给上位机并等待响应,随后将存储介质中最老的一个缓存区数据读取到r1~r5,并发给上位机,直到所有数据发送完毕,回到第一种情况。
150.其中,需要说明的是,本技术实施例中的缓存区大小为5条数据,仅是一种可以实现的方式,但是不限于只有该种实现方式,可以根据用户的需要自行设置。
151.在上述实施例的基础上,作为一种优选的实施例,将存储介质中保存的数据读入至本地的读缓存区,并将读缓存区的数据发送至上位机,包括:
152.按照先进先出的顺序将存储介质中保存的数据依序读入至本地的读缓存区,并将读缓存区的数据发送至上位机。
153.在具体实施例中,综上述实施例中的第三种情况,也就是最先存储至存储介质中的数据会最先读入读缓存区。
154.本技术是由于中位机的地位的特殊性产生的,即正常情况下不需要对数据进行大量存储,异常情况下需要对数据进行存储,且需要限制内存中的数据数量,避免掉电瞬间由于待写入数据过多导致无法及时存储。本技术使用内存进行缓存应对网络波动,缓存存满时或掉电时才对存储介质进行操作。
155.在上述实施例中,对于数据存储方法进行了详细描述,本技术还提供数据存储装置对应的实施例。
156.图7为本技术另一实施例提供的一种降低存储介质损耗的数据存储系统模块图,应用于中位机,包括:
157.第一缓存模块11,用于当自身与上位机之间处于已连接状态,则通过本地的若干写缓存区对下位机发送的数据进行存储,并将写缓存区中当前存储的数据实时发送至上位
机;
158.存储模块12,用于当自身与上位机之间的连接处于断开状态,则将当前已写满的写缓存区中的数据写入至本地的存储介质中,并将在断开状态保持的过程中下位机发送的新数据写入至当前还未写满的写缓存区;
159.第二缓存模块13,用于将存储介质中保存的数据读入至本地的读缓存区,并将读缓存区的数据发送至上位机,以便上位机对接收到的数据进行分析。
160.由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
161.以上对本技术所提供的一种降低存储介质损耗的数据存储方法和系统进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
162.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

技术特征:
1.一种降低存储介质损耗的数据存储方法,其特征在于,应用于中位机,包括:当自身与上位机之间处于已连接状态,则通过本地的若干写缓存区对下位机发送的数据进行缓存,并将所述写缓存区中当前缓存的数据实时发送至所述上位机;当自身与所述上位机之间的连接处于断开状态,则将当前已写满的所述写缓存区中的数据写入至本地的存储介质中,并将在所述断开状态保持的过程中所述下位机发送的新数据写入至当前还未写满的所述写缓存区;将所述存储介质中保存的数据读入至本地的读缓存区,并将所述读缓存区的数据发送至所述上位机,以便所述上位机对接收到的数据进行分析。2.根据权利要求1所述的降低存储介质损耗的数据存储方法,其特征在于,还包括:判断当前是否已存在数据存满标记;所述数据存满标记用于表征所述存储介质分配给该通道的空间已存满;若当前已存在所述数据存满标记,则禁止对所述下位机发送的数据进行存储,并向所述上位机发送相应的表征存储空间已用完的提示信息;若当前不存在所述数据存满标记,则允许对所述下位机发送的数据进行存储。3.根据权利要求1所述的降低存储介质损耗的数据存储方法,其特征在于,将任一所述写缓存区中的数据发送至所述上位机之后,还包括:当获取到所述上位机发送的相应的表征已接收到数据的第一确认信息,则销毁相应的所述写缓存区中的数据。4.根据权利要求1所述的降低存储介质损耗的数据存储方法,其特征在于,所述将当前已写满的所述写缓存区中的数据写入至本地的存储介质中之后,还包括:销毁所述当前已写满的所述写缓存区中的数据,或者,再一次对所述下位机发送的数据进行存储时,新数据覆盖已写满的所述写缓存区中的数据。5.根据权利要求1-4任一项所述的降低存储介质损耗的数据存储方法,其特征在于,所述将所述存储介质中保存的数据读入至本地的读缓存区,并将所述读缓存区的数据发送至所述上位机,包括:按照先进先出的顺序将所述存储介质中保存的数据依序读入至本地的读缓存区,并将所述读缓存区的数据发送至所述上位机。6.根据权利要求5所述的降低存储介质损耗的数据存储方法,其特征在于,所述将所述读缓存区的数据发送至所述上位机,包括:执行将所述读缓存区的数据发送至所述上位机的步骤;实时判断是否获取所述上位机返回的第二确认信息;所述第二确认信息为所述上位机在接收到所述读缓存区发送的任一组数据后生成的信息;若获取到所述第二确认信息,则为所述读缓存区中的相应数据配置相应的已读取标记;若还未获取到所述第二确认信息,则重新跳转至所述执行将所述读缓存区的数据发送至所述上位机的步骤。7.根据权利要求6所述的降低存储介质损耗的数据存储方法,其特征在于,还包括:判断所述读缓存区的数据是否带有所述已读取标记;若是,则删除所述读缓存区中与所述已读取标记对应的一组数据,并重新跳转至所述
将所述读缓存区的数据发送至所述上位机的步骤,以便将所述读缓存区中的下一组的数据发送至所述上位机。8.一种降低存储介质损耗的数据存储系统,其特征在于,应用于中位机,包括:第一缓存模块,用于当自身与上位机之间处于已连接状态,则通过本地的若干写缓存区对下位机发送的数据进行缓存,并将所述写缓存区中当前缓存的数据实时发送至所述上位机;存储模块,用于当自身与所述上位机之间的连接处于断开状态,则将当前已写满的所述写缓存区中的数据写入至本地的存储介质中,并将在所述断开状态保持的过程中所述下位机发送的新数据写入至当前还未写满的所述写缓存区;第二缓存模块,用于将所述存储介质中保存的数据读入至本地的读缓存区,并将所述读缓存区的数据发送至所述上位机,以便所述上位机对接收到的数据进行分析。

技术总结
本申请公开了一种降低存储介质损耗的数据存储方法和系统,应用于电池自动化生产领域。本申请应用于中位机,当自身与上位机之间连接,则通过本地的若干写缓存区对下位机的数据进行缓存,并将当前缓存的数据实时发送至上位机;当自身与上位机之间断开,则将当前已写满的写缓存区中的数据写入至本地的存储介质中,并将在断开状态保持的过程中下位机发送的新数据写入至当前还未写满的写缓存区;将存储介质中保存的数据读至本地的读缓存区,并将其发送至上位机,以便上位机对接收到的数据进行分析。本申请通过在内存建立写缓存区和读缓存区减少对存储介质的擦写,提高了系统的稳定性和存储介质的寿命,并且降低存储介质的损坏风险,减少经济损失。减少经济损失。减少经济损失。


技术研发人员:杨俊 杨义 赵正华 潘前华 阳柑
受保护的技术使用者:华自科技股份有限公司
技术研发日:2023.05.06
技术公布日:2023/7/20
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐