CN102521174B - 一种嵌入式系统中数据采集存储与传输的方法 - Google Patents
一种嵌入式系统中数据采集存储与传输的方法 Download PDFInfo
- Publication number
- CN102521174B CN102521174B CN201110426698.XA CN201110426698A CN102521174B CN 102521174 B CN102521174 B CN 102521174B CN 201110426698 A CN201110426698 A CN 201110426698A CN 102521174 B CN102521174 B CN 102521174B
- Authority
- CN
- China
- Prior art keywords
- data
- transmission
- send
- jump
- buffer area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种数据采集存储与传输领域,特别是涉及一种嵌入式系统中数据采集存储与传输的方法。本发明提供了一种数据采集存储与传输的方法,包括<b>以下</b>流程,流程A.数据采集存储流程;流程B.发送窗口与缓存区数据绑定映射流程;流程C.数据传输的流程,本发明的一种数据采集存储与传输的方法,实现简单,实用性强,稳定可靠,效率高,不影响系统运行的实时性,延长产品使用寿命,传输速度快,传输效率高,减少通信流量,从而降低通信流量费用。
Description
技术领域
本发明涉及一种数据采集存储与传输领域,特别是涉及一种嵌入式系统中数据采集存储与传输的方法。
背景技术
随着嵌入式技术发展和嵌入式设备的多样化,数据采集存储与传输成为嵌入式系统经常需要解决关键问题。
在实际应用中,嵌入式系统中基本上都具备Flash存储器和RAM存储器两种存储介质,正是由于这个两种存储器使得数据的采集存储成为可能,因此被广泛用于移动存储、数码相机、MP3播放器、掌上电脑、车载终端等新兴数字设备中。
Flash存储器,又称闪存,是一种非易失性(Non-Volatile)存储器,在没有电流供应的条件下也能够长久地保持数据,存储数据时需要先擦除再写入,具有一定擦写次数寿命限制,读写速度慢,其存储特性相当于硬盘。
RAM存储器,又称随机存取存储器,是一种易失性存储器,在断电时将丢失其存储内容,故主要用于存储短时间使用的数据,存储单元的内容可按需随意取出或存入,无读写次数寿命限制,读写速度快,且读写的速度与存储单元的位置无关。
基于以上两种存储器的特性,以往数据采集存储与传输方法:将采集到的数据存储到Flash存储器,在传输时取出Flash存储器中的已存储数据进行传输,等待对方接收成功应答后,删除该数据。该方法存在很多缺点:一是在数据采集比较频繁和数据量比较大的情况下,Flash存储器擦写次数过于频繁,缩短Flash存储器使用寿命,从而影响产品寿命;二是读写Flash存储器速度比较慢,经常读写Flash存储器,导致系统运行效率低下,影响系统运行性能;三是传输数据方式采用一应一答方式,传输速度慢,传输效率低,数据通信流量大,产生昂贵的流量费用,如GPRS流量费。
发明内容
针对现有技术的不足,本发明提供了一种嵌入式系统中数据采集存储与传输的方法,减少Flash存储器擦写次数,延长Flash存储器使用寿命,提高系统运行效率,提高传输速度和效率,减少通信流量。
为达到上述目的,本发明是通过以下技术方案实现的:一种嵌入式系统中数据采集与存储的方法,包括以下流程:
流程A.数据采集存储流程,包括以下步骤:
步骤A1.首先判断通信是否正常,如果通信异常,则执行步骤A3,如果通信正常,则执行步骤A2;
步骤A2.判断RAM缓存区状态,如果RAM缓存区已满,则将数据存储到Flash缓存区中,如果RAM缓存区未满,则将数据存储到RAM缓存区中;
步骤A3.判断Flash缓存区状态,如果Flash缓存区未满,则直接将数据存储到Flash,如果Flash缓存区已满,则丢弃该数据;
流程B.发送窗口与缓存区数据绑定映射流程,包括以下步骤:
步骤B1.判断发送窗口是否已满,即发送窗口中各个窗口是否都已映射到数据索引号,是则返回,否则跳到步骤B2;
步骤B2.判断RAM缓存中是否有未发送数据,即未映射的发送窗口对应的RAM缓存区是否有数据,是则将数据记录的索引号填充该发送窗口,实现发送窗口与数据记录绑定映射,接着进入数据传输流程;否则跳到步骤B3;
步骤B3.判断Flash缓存中是否有未发送数据,是则获取Flash缓存中的数据挂接到RAM缓存,接着跳到步骤B1,否则返回;
流程C.数据传输的流程,包括以下步骤:
步骤C1.判断通信状态是否正常,是则跳到步骤C2,否则返回;
步骤C2.判断发送窗口中是否有绑定映射的数据记录未发送,是则跳到步骤C3,否则返回;
步骤C3.发送数据记录给接收方,跳到步骤C4;
步骤C4.如果发送方发送数据成功,则跳到步骤C5,否则跳到步骤C3,重发;
步骤C5.判断数据传输模式,不可靠传输跳到步骤C8,可靠传输跳到步骤C6;
步骤C6.标志发送窗口中对应数据记录已发送成功,接着判断所有发送窗口所绑定映射的数据记录是否都已发送完毕,是则跳到步骤C7,否则跳到步骤C2,继续发送下一个窗口中的数据记录;
步骤C7.发送方发送请求帧,请求接收方对所有窗口记录数据的接收情况的应答,如果接收方应答所有记录已接收成功,则跳到步骤C8,如果接收方应答未接收到所有记录和未接收到记录的编号,则清除对应发送窗口中记录的已发送标志,跳到步骤C2,重发;
步骤C8.清除发送窗口中绑定映射状态,删除发送窗口绑定映射的RAM缓存区的数据记录,如果数据记录是存储在Flash缓存区,还需要删除Flash缓存中的记录。
本发明的有益效果是,一种数据采集存储与传输的方法,实现简单,实用性强,稳定可靠,效率高,不影响系统运行的实时性,延长产品使用寿命,传输速度快,传输效率高,减少通信流量,从而降低通信流量费用。采用本发明一种数据采集存储与传输的方法,能够解决以上所述问题,减少Flash存储器擦写次数,延长Flash存储器使用寿命,提高系统运行效率,提高传输效速度和效率,减少通信流量,降低产品的使用成本,提高产品的竞争力。
附图说明
图1为本发明一种数据采集存储与传输的方法的流程图;
图2为本发明的方法中数据采集存储流程的详细流程图;
图3为本发明的方法中发送窗口与缓存区数据绑定映射流程的详细流程图;
图4为本发明的方法中的数据传输流程的详细流程图;
图5为本发明的实施例的系统结构图。
具体实施方式
现结合附图和具体实施方式对本发明进一步说明。
实施例1
参考图1至图5所示,本发明的一个应用实例是一个由GPS车载终端1和GPS中心服务系统2组成GPS应用系统,其中GPS车载终端1与GPS中心服务系统2之间是通过GPRS3进行业务数据通信。系统按如下所述的实际应用场景阐述本发明的一种数据采集存储与传输的方法的应用:
GPS车载终端1是一个安装在车辆上的主机设备,包含了微处理器、存储器RAM、Flash、外围输入输出接口、CAN总线通信接口、移动通信模块和卫星定位模块的子系统。主要起到移动网络无线数据通信和GPS卫星定位功能。
GPS中心服务系统2是一个基于服务器的应用软件,用于接收、解析、处理GPS车载终端1上传的数据,分析数据,生成报表,同时可以远程监控、遥控、配置GPS车载终端1。
GPS车载终端1安装在车辆上,GPS车载终端1按照一定时间间隔(如5秒)采集存储GPS经纬度、速度、方向等数据,同时通过CAN总线连接车辆电控系统(ECU)采集车辆工况数据,接着将采集的这些数据实时可靠上传到GPS中心服务系统,GPS中心服务器系统2接收、解析、处理这些数据,生成车辆行驶轨迹报表和车辆工况数据报表。
应用场景1:
当GPRS信号和GPS中心服务系统2正常情况下,采用本发明的一种数据采集存储与传输的方法,则数据采集存储和传输都是在RAM缓存区中完成,从而降低Flash存储器的擦写访问次数,提高Flash存储器寿命和系统运行效率;传输方式选择多窗口可靠传输方式,保证数据不丢失,而且减少GPRS通信流量,降低通信费用。
应用场景2:
当车辆进入GPRS信号盲区、GPS中心服务系统2异常崩溃或者手机卡短暂性欠费等通信异常时,采用本发明的一种数据采集存储与传输的方法,所采集的数据将存储到Flash缓存区,从而在通信异常的情况下能够大容量缓存数据,而且保证数据掉电不丢失,当通信正常时,立即取出缓存区的数据补传到GPS中心服务系统2,满足客户对数据连续性要求。
综合上述两种应用场景考虑,参考图1至图4所示,本发明的一种数据采集与存储的方法,包括以下流程:
流程A.数据采集存储流程,包括以下步骤:
步骤A1.首先判断通信是否正常,如果通信异常,则执行步骤A3,如果通信正常,则执行步骤A2;
步骤A2.判断RAM缓存区状态,如果RAM缓存区已满,则将数据存储到Flash缓存区中,如果RAM缓存区未满,则将数据存储到RAM缓存区中;
步骤A3.判断Flash缓存区状态,如果Flash缓存区未满,则直接将数据存储到Flash,如果Flash缓存区已满,则丢弃该数据;
流程B.发送窗口与缓存区数据绑定映射流程,包括以下步骤:
步骤B1.判断发送窗口是否已满,即发送窗口中各个窗口是否都已映射到数据索引号,是则返回,否则跳到步骤B2;
步骤B2.判断RAM缓存中是否有未发送数据,即未映射的发送窗口对应的RAM缓存区是否有数据,是则将数据记录的索引号填充该发送窗口,实现发送窗口与数据记录绑定映射,接着进入数据传输流程;否则跳到步骤B3;
步骤B3.判断Flash缓存中是否有未发送数据,是则获取Flash缓存中的数据挂接到RAM缓存,接着跳到步骤B1,否则返回;
流程C.数据传输的流程,包括以下步骤:
步骤C1.判断通信状态是否正常,是则跳到步骤C2,否则返回;
步骤C2.判断发送窗口中是否有绑定映射的数据记录未发送,是则跳到步骤C3,否则返回;
步骤C3.发送数据记录给接收方,跳到步骤C4;
步骤C4.如果发送方发送数据成功,则跳到步骤C5,否则跳到步骤C3,重发;
步骤C5.判断数据传输模式,不可靠传输跳到步骤C8,可靠传输跳到步骤C6;
步骤C6.标志发送窗口中对应数据记录已发送成功,接着判断所有发送窗口所绑定映射的数据记录是否都已发送完毕,是则跳到步骤C7,否则跳到步骤C2,继续发送下一个窗口中的数据记录;
步骤C7.发送方发送请求帧,请求接收方对所有窗口记录数据的接收情况的应答,如果接收方应答所有记录已接收成功,则跳到步骤C8,如果接收方应答未接收到所有记录和未接收到记录的编号,则清除对应发送窗口中记录的已发送标志,跳到步骤C2,重发;
步骤C8.清除发送窗口中绑定映射状态,删除发送窗口绑定映射的RAM缓存区的数据记录,如果数据记录是存储在Flash缓存区,还需要删除Flash缓存中的记录。
上述流程A数据采集存储流程中,由于Flash存储器具有掉电后数据不丢失特性,但是有擦写次数寿命限制;RAM存储器无擦写次数寿命限制,但是掉电后数据丢失。利用Flash存储器和RAM存储器的这些不同特性,本发明的数据采集存储方法采用双缓存存储方式,即采用Flash存储器和RAM存储器组合应用的双缓存设计结构。
数据采集存储时,首先判断通信是否正常,如果通信异常,则直接将数据存储到Flash,如果通信正常,则需要判断RAM缓存区状态,如果RAM缓存区已满,则将数据存储到Flash缓存区中,如果RAM缓存区未满,则将数据存储到RAM缓存区中。
数据存储到RAM缓存区后,接着在传输流程中将数据进行传输,传输完毕后,删除已传输的数据记录,因此通信正常情况下,数据采集存储与传输基本上都是在RAM存储器中完成,当通信异常或者RAM缓存已存满,才将数据存储到Flash存储器中。
RAM缓存的容量一般设定为比较小值,如16个数据记录,具体可根据实际的系统性能来调整。当设备正常关机或复位前,将RAM中未传输的数据存储到Flash中,等待设备开机重启后继续传输,避免数据丢失;当通信异常时,将数据存储到Flash;当设备崩溃异常重启时,只有RAM中的数据丢失;因此可保证最大程度减少数据丢失。
上述流程B发送窗口与缓存区数据绑定映射中,主要作用是将发送窗口与缓存区数据进行关联绑定,有利于数据存储、发送和删除管理。发送窗口只存储数据索引号,发送数据时,获取对应窗口的数据索引号,根据索引号取出RAM缓存中数据,接着发送,发送成功后,根据索引号删除已发送数据。
RAM缓存的容量设定为发送窗口的2倍,在数据发送过程中,RAM缓存还有足够的容量继续采集存储数据。
上述流程C数据传输中,传输方式可选择多窗口可靠传输方式,发送多窗口数据后请求一次应答,应答成功后,清除发送窗口中绑定映射状态,删除发送窗口绑定映射的RAM缓存区的数据记录,如果数据记录是存储在Flash缓存区,还需要删除Flash缓存中的记录,实现数据可靠传输,保证数据不丢失,而且减少请求应答次数,减少GPRS通信流量,降低通信费用,降低产品使用成本,提高产品竞争力。
本发明的数据采集存储与传输的方法实现简单,实用性强,稳定可靠,效率高,不影响系统运行的实时性,延长产品使用寿命,传输速度快,传输效率高,减少通信流量,从而降低通信流量费用。采用本发明一种数据采集存储与传输的方法,能够解决以上所述问题,减少Flash存储器擦写次数,延长Flash存储器使用寿命,提高系统运行效率,提高传输速度和效率,减少通信流量,降低产品的使用成本,提高产品的竞争力。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (1)
1.一种嵌入式系统中数据采集存储与传输的方法,其特征在于,包括以下流程:
流程A.数据采集存储流程,包括以下步骤:
步骤A1.首先判断通信是否正常,如果通信异常,则执行步骤A3,如果通信正常,则执行步骤A2;
步骤A2.判断RAM缓存区状态,如果RAM缓存区已满,则将数据存储到Flash缓存区中,如果RAM缓存区未满,则将数据存储到RAM缓存区中;
步骤A3.判断Flash缓存区状态,如果Flash缓存区未满,则直接将数据存储到Flash,如果Flash缓存区已满,则丢弃该数据;
流程B.发送窗口与缓存区数据绑定映射流程,包括以下步骤:
步骤B1.判断发送窗口是否已满,即发送窗口中各个窗口是否都已映射到数据索引号,是则返回,否则跳到步骤B2;
步骤B2.判断RAM缓存中是否有未发送数据,即未映射的发送窗口对应的RAM缓存区是否有数据,是则将数据记录的索引号填充该发送窗口,实现发送窗口与数据记录绑定映射,接着进入数据传输流程;否则跳到步骤B3;
步骤B3.判断Flash缓存中是否有未发送数据,是则获取Flash缓存中的数据挂接到RAM缓存,接着跳到步骤B1,否则返回;
流程C.数据传输的流程,包括以下步骤:
步骤C1.判断通信状态是否正常,是则跳到步骤C2,否则返回;
步骤C2.判断发送窗口中是否有绑定映射的数据记录未发送,是则跳到步骤C3,否则返回;
步骤C3.发送数据记录给接收方,跳到步骤C4;
步骤C4.如果发送方发送数据成功,则跳到步骤C5,否则跳到步骤C3,重发;
步骤C5.判断数据传输模式,不可靠传输跳到步骤C8,可靠传输跳到步骤C6;
步骤C6.标志发送窗口中对应数据记录已发送成功,接着判断所有发送窗口所绑定映射的数据记录是否都已发送完毕,是则跳到步骤C7,否则跳到步骤C2,继续发送下一个窗口中的数据记录;
步骤C7.发送方发送请求帧,请求接收方对所有窗口记录数据的接收情况的应答,如果接收方应答所有记录已接收成功,则跳到步骤C8,如果接收方应答未接收到所有记录和未接收到记录的编号,则清除对应发送窗口中记录的已发送标志,跳到步骤C2,重发;
步骤C8.清除发送窗口中绑定映射状态,删除发送窗口绑定映射的RAM缓存区的数据记录,如果数据记录是存储在Flash缓存区,还需要删除Flash缓存中的记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110426698.XA CN102521174B (zh) | 2011-12-19 | 2011-12-19 | 一种嵌入式系统中数据采集存储与传输的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110426698.XA CN102521174B (zh) | 2011-12-19 | 2011-12-19 | 一种嵌入式系统中数据采集存储与传输的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102521174A CN102521174A (zh) | 2012-06-27 |
CN102521174B true CN102521174B (zh) | 2016-04-13 |
Family
ID=46292103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110426698.XA Active CN102521174B (zh) | 2011-12-19 | 2011-12-19 | 一种嵌入式系统中数据采集存储与传输的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102521174B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929799B (zh) * | 2012-10-17 | 2016-04-13 | 北京西塔网络科技股份有限公司 | 数据采集存储方法及系统 |
CN104917644A (zh) * | 2015-04-14 | 2015-09-16 | 安徽立卓智能电网科技有限公司 | 一种基于压缩算法的子站向主站主动补录数据的方法 |
CN105788030B (zh) * | 2016-03-25 | 2018-07-06 | 航天科技控股集团股份有限公司 | 一种节省内存的循环代替式数据发送方法 |
CN107589971A (zh) * | 2016-07-13 | 2018-01-16 | 江苏新通达电子科技股份有限公司 | 一种无线用车载BootLoader调试设备及试验用汽车 |
CN106656558B (zh) * | 2016-11-04 | 2020-04-24 | 上海枫昱能源科技有限公司 | 一种延长数据采集服务器存储单元使用寿命的方法 |
CN107612661B (zh) * | 2017-09-07 | 2021-06-22 | 四川九洲北斗导航与位置服务有限公司 | 数据通讯方法和装置 |
CN109815164A (zh) * | 2018-12-18 | 2019-05-28 | 航天信息股份有限公司 | 一种实现设备离线状态下的数据缓存的方法及系统 |
CN110992519A (zh) * | 2019-12-10 | 2020-04-10 | 厦门金龙联合汽车工业有限公司 | 一种新能源汽车故障数据的处理方法及处理装置 |
CN113760587B (zh) * | 2020-09-23 | 2024-06-14 | 北京沃东天骏信息技术有限公司 | 一种处理数据的方法和装置 |
CN113464481A (zh) * | 2021-08-23 | 2021-10-01 | 小熊电器股份有限公司 | 桌面风扇、用于桌面风扇的断电保护控制方法及装置 |
CN115102672B (zh) * | 2022-06-15 | 2024-04-05 | 珠海格力电器股份有限公司 | 数据处理方法、系统、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6665819B1 (en) * | 2000-04-24 | 2003-12-16 | Microsoft Corporation | Data capture and analysis for embedded systems |
CN101079797A (zh) * | 2006-05-25 | 2007-11-28 | 秦国锋 | 基于canbus信息采集、发布与控制的车载终端 |
CN101334439A (zh) * | 2008-07-08 | 2008-12-31 | 国电南瑞科技股份有限公司 | 一种电网数据综合采集方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8068007B2 (en) * | 2007-06-25 | 2011-11-29 | WidePoint Corporation | Emergency responder credentialing system and method |
-
2011
- 2011-12-19 CN CN201110426698.XA patent/CN102521174B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6665819B1 (en) * | 2000-04-24 | 2003-12-16 | Microsoft Corporation | Data capture and analysis for embedded systems |
CN101079797A (zh) * | 2006-05-25 | 2007-11-28 | 秦国锋 | 基于canbus信息采集、发布与控制的车载终端 |
CN101334439A (zh) * | 2008-07-08 | 2008-12-31 | 国电南瑞科技股份有限公司 | 一种电网数据综合采集方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102521174A (zh) | 2012-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102521174B (zh) | 一种嵌入式系统中数据采集存储与传输的方法 | |
CN101877604B (zh) | 一种传输文件的方法及系统 | |
CN105070017A (zh) | 一种无人机无线通信方法和系统 | |
CN204833674U (zh) | 一种无人机控制及多媒体数据传输系统 | |
CN113934366A (zh) | 用于数据存储的系统和方法以及存储设备 | |
CN104954374A (zh) | 一种车联网通信协议的设计方法 | |
CN106488175A (zh) | 一种视频传输方法 | |
CN109873722B (zh) | 固件远程升级方法、装置、计算机设备及存储介质 | |
CN111049857A (zh) | 一种基于udp协议的网络存储系统及方法 | |
CN103489301A (zh) | 一种双处理器架构的车辆运行信息采集系统和方法 | |
CN105912422A (zh) | 数据备份方法、备份客户端与数据备份系统 | |
CN103837197B (zh) | 一种不间断的温湿度监测系统及方法 | |
CN104410822A (zh) | 视频监控方法和车载视频监控设备 | |
CN106488176A (zh) | 一种视频传输装置 | |
CN103685003A (zh) | 列车网关设备 | |
CN102523410B (zh) | 一种写入视频数据的方法及视频数据存储设备 | |
CN111752803A (zh) | 埋点数据收集上报的方法、装置及介质 | |
US20140115112A1 (en) | Server system and message processing method thereof | |
CN110083666A (zh) | 服务器装置、信息收集系统、信息收集方法以及记录介质 | |
CN107682939B (zh) | 一种基于lora自组协议的通信方法 | |
CN104639880B (zh) | Gprs网络环境下的视频监控集中录像方法及系统 | |
CN108540514A (zh) | 停车数据处理方法及系统 | |
CN207216409U (zh) | 基于bds/gps的远程监控系统 | |
CN103049351B (zh) | 多元数据服务器的日志处理方法和装置 | |
CN107272031A (zh) | 基于bds/gps的远程监控系统及其离线指令处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |