CN103716133A - 一种防止数据丢失方法 - Google Patents
一种防止数据丢失方法 Download PDFInfo
- Publication number
- CN103716133A CN103716133A CN201310494121.1A CN201310494121A CN103716133A CN 103716133 A CN103716133 A CN 103716133A CN 201310494121 A CN201310494121 A CN 201310494121A CN 103716133 A CN103716133 A CN 103716133A
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- sequence number
- acquisition terminal
- transmission
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种防止数据丢失的方法,其包括以下步骤:S1、数据采集终端接收到数据采集命令后,从数据采集终端上的存储器上读取数据并按照约定的格式封装成数据包;S2、将所述数据包传输给服务器端;S3、所述服务器端判断所述数据包的校验字节是否正确,以及所述数据包的包序号是否和前次已经接收到的数据包序号连续,从而确定是否发出错重传请求;S4、如判断结果为需要重传,则所述信息采集终端收到重传请求指令后完成重传,从而完成数据采集;S5、如判断结果为不需要重传,则数据采集完成。本发明之方法可以由服务器判断是否需要重传,通过避免单条记录传输的握手信号,提升了传输效率并做到可靠传输。
Description
技术领域
本发明涉及数据传输技术领域,尤其是涉及一种防止数据丢失方法,其可以应用于对数据传输可靠性要求非常高的系统,如IC卡消费系统、电力系统远程抄表系统等。
背景技术
当前在一卡通系统等数据采集应用中终端设备由于成本原因,一般采用低成本、低运算能力的微处理器作为设备的主控管理单元,造成终端设备在和PC主机通信过程中因为存在系统掉线、传输过程中受到外界电磁干扰等情况普遍存在数据丢失或者传输出错的情况。这种情况尤其容易导致TCP/IP和CAN总线等多主机网络拓扑结构,多个设备同时向PC主机服务器端传输数据时发生数据碰撞造成数据传输出错甚至丢失。
为解决数据传输出错和丢失现象,本领域技术人员开发了很多方法,如RS485总线结构中传输数据时采取降低通信速率,将本来可以做到9600bps甚至更高传输速率的降低到4800bps甚至更低;而CAN总线结构中定义了CAN协议也定义了CAN帧等;TCP/IP中定义了包序列号甚至分包序列号;传输过程中单条数据记录握手,采取边接收边校验,出错请求重传,终端设备收到了确认传输正确的握手信息后再传输下一个数据;单条数据主动多次传输等方式,这些方法也能一定程度上防止数据丢失,但都是以降低效率为前提,而且也不能完全杜绝数据丢失。加上数据采集终端的运算能力限制,一般的设计工程师在做产品设计时将CAN协议、TCP/IP等简化应用,造成了数据丢失后不可追溯。而即使增加硬件成本,完整引用CAN协议、TCP/IP协议,也只能确保传输过程不丢数据,而不能保证系统本身数据处理的安全。
发明内容
有鉴于背景技术中提到的问题,本发明的目的就是提供一种数据采集终端和服务器之间数据传输过程中防止数据丢失的方法,既能有效解决防止数据丢失,又不会导致降低数据传输效率。
更具体的,本发明的目的是确保考勤、消费等IC卡信息采集终端和服务器端的数据传输可靠,通过以下技术方案实现的:
一种防止数据丢失的方法,其包括以下步骤:
S1、数据采集终端接收到数据采集命令后,将数据读取后进行数据包的打包封装处理;
S2、将所述数据包传输给服务器端;
S3、所述服务器端判断所述数据包的校验字节是否正确,以及所述数据包的包序号是否前后连续,从而确定是否发出错重传请求;
S4、如判断结果为需要重传,则所述信息采集终端收到重传请求指令后完成重传,从而完成数据采集;
S5、如判断结果为不需要重传,则数据采集完成。
所述S1具体包括:所述信息采集终端对刷卡记录分别进行数据包处理:将所述刷卡记录中的一条或多条增加一个包序号及校验字节,打包处理成一个与所述一条或多条刷卡记录对应的数据包,从而准备好与所述刷卡记录对应的数据包;所述刷卡记录是指存储在所述数据采集终端的一个刷卡事件,比如IC卡考勤的记录是包括了IC卡的卡号和刷卡时间等关键信息的一个刷卡事件的内容,IC卡消费的记录包括了卡号、刷卡时间、消费金额等关键信息的一个刷卡事件的内容。
所述S3具体包括:所述服务器端主动对接收到的数据包进行判断,如判断所述校验字节出错,则向信息采集终端请求接收到的校验字节错误的数据包对应的包序号请求数据采集终端重传;如判断校验字节正确,则转向判断所述数据包的包序号是否连续,如判断结果为连续,则数据采集完成,如判断结果为不连续,则向所述信息采集终端请求所述缺失的包序号对应的数据包重传。
数据采集终端向服务器端传输完一条后进行下一条记录的处理,直到传输完毕。
所述数据包序号和其所对应的数据包校验字节是在数据包传输时由所述数据采集终端按照内部定义的规则临时添加,不保存在数据采集终端上。
所述S3中,所述服务器端发送请求重传的信息是在判断到有错后立即发送,或者先记录下来在数据采集终端上的数据完毕后再发送,即:服务器端可以一边接收一边实时进行重传请求,也可以将需要重传的序号记录下来在数据采集终端传输完后统一进行重传请求的处理。
综上,本发明的思路是:数据传输过程中,数据丢失不可避免,关键在于怎么补救,服务器端知道丢的是哪条记录,然后请求信息采集终端重传,重传时信息采集终端能第一时间找到需要重传的记录。为了能让服务器端快速确认在传输过程中是否有整条记录遗漏或某条记录有错,我们在传输数据时采用数据包的方式进行传输,一次传输一个数据包,一个数据包包含如下关键内容:包序号、刷卡记录、校验字节。在定义的数据包的结构上增加 2个字段,数据包的序号和校验字节。序号编码规则为从零开始递增到极限值后重新归零再循环递增。序号按照一定关系对应到信息采集终端内存储器上物理地址。传输过程中服务器端收到一个数据包后先判断校验字节是否正确,再判断序号是否连续,如果校验正确表示该数据包正确,校验字节出错表示该数据包传输错;序号不连续表示出现了数据包的丢失。服务器端判断某个数据包出错或者丢失时可以立即请求重传,也可以先记录下来,在一轮数据上传完毕后集中请求重传,直到收到正确完整的记录,通过这种方式,默认上传的数据是成功传输的,在数据传输过程种避免了握手信息的传输,既能提高数据传输的效率,也能确保数据传输可靠。
与传统技术相比,本发明的优点在于:
本发明之方法可以由服务器判断是否需要重传,信息采集终端在数据传输后不需要知道服务器端是否正确收到,收到服务器端请求重传某条记录又能快速定位找到该条记录并上传。收到重传指令后通过序号关联到内部存储位置,快速的找到需要重传的记录,这样通过避免单条记录传输的握手信号,提升了传输效率并做到可靠传输。本方法可广泛应用于考勤、门禁、消费等需要可靠数据传输的信息采集终端中,也可以应用于其他需要数据传输的信息采集终端如电力系统信息采集方面的远端信息采集终端和服务器端之间进行数据传输,应用范围广,既能有效解决防数据丢失,也不至于降低效率。
附图说明
图1为本发明实施例的流程示意图。
具体实施方式
本实施例提供一种防止数据丢失的方法,如图1所示,其包括以下步骤:
S1、数据采集终端接收到数据采集命令后,准备数据:具体的,所述信息采集终端从终端上的存储器内读取刷卡记录,按照从指定地址开始一次读取一条或者多条的方式读取,并将读取的内容打包成一个数据包,打包的方式是在指定位置添加序号编码和校验字节,然后将打包好的数据包上传给服务器端,传完一个再循环操作,直到上传完毕;更具体的,所述信息采集终端对刷卡记录分别进行数据包处理:将所述刷卡记录中的一条或多条增加一个包序号及校验字节,打包处理成一个与所述一条或多条刷卡记录对应的数据包,从而准备好与所述刷卡记录对应的数据包;所述刷卡记录是指存储在所述数据采集终端的一个刷卡事件,比如IC卡考勤的记录是包括了IC卡的卡号和刷卡时间等关键信息的一个刷卡事件的内容,IC卡消费的记录包括了卡号、刷卡时间、消费金额等关键信息的一个刷卡事件的内容;
S2、将所述数据包传输给服务器端;
S3、所述服务器端判断所述数据包的校验字节是否正确,以及所述数据包的包序号是否连续,从而确定是否发出错重传请求:如判断所述校验字节出错,则向信息采集终端请求接收到的校验字节错误的数据包对应的包序号请求数据采集终端重传;如判断校验字节正确,则转向判断所述数据包的包序号是否连续,如判断结果为连续,则数据采集完成,如判断结果为不连续,则向所述信息采集终端请求所述缺失的包序号对应的数据包重传;
S4、如判断结果为需要重传,则所述信息采集终端收到重传请求指令后完成重传,从而完成本次数据采集;
S5、如判断结果为不需要重传,则数据采集完成。
具体的,本实施例之方法为:信息采集终端判断是否有新的刷卡记录,有刷卡记录时发起上传,对每条记录进行数据包的封装处理,逐条附加一个和该记录在终端机的存储地址关联的记录序号(即包序号)的方式,序号从0开始递增到上限设定值如10000后循环,服务器端接收到考勤记录时在一个循环内通过对数据进行排序查找和校验,如有断缺丢失或者校验出错现象,可以将断缺丢失或者校验出错的记录序号按照给定的指令格式数据采集终端设备发出重传请求,数据采集终端重新上传以确保数据完整。由于上传的序号在信息采集终端内部和该条记录所在的存储器上物理地址是对应的,因此在接收到请求重传指令后能够快速准确可靠的找到对应的记录进行重新上传。如服务器端请求重传第100条记录数据,那么信息采集终端任何时候都能直接读取第100条对应的地址上的记录并重新上传。这样,在传输中不再需要降低通信速率,也可以在采用CAN协议、TCP/IP协议等通信方式时可以简化运用。
本方法附加的数据包序号可以和对应的数据一起保存在终端设备内的存储器上,也可以不存储,只是在传输的时候添加上去,以节约存储空间。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (5)
1.一种防止数据丢失的方法,其特征在于:其包括以下步骤:
S1、数据采集终端接收到数据采集命令后,从数据采集终端上的存储器上读取数据并按照约定的格式封装成数据包;
S2、将所述数据包传输给服务器端;
S3、所述服务器端判断所述数据包的校验字节是否正确,以及所述数据包的包序号是否和前次已经接收到的数据包序号连续,从而确定是否发出重传请求;
S4、 如判断结果为需要重传,则所述信息采集终端收到重传请求指令后完成重传,从而完成数据采集;
S5、如判断结果为不需要重传,则数据采集完成。
2.根据权利要求1所述的方法,其特征在于:所述S1具体包括:所述信息采集终端从终端上的存储器内读取刷卡记录,按照从指定地址开始一次读取一条或者多条的方式读取,并将读取的内容打包成一个数据包,打包的方式是在指定位置添加序号编码和校验字节,然后将打包好的数据包上传给服务器端,传完一个再循环操作,直到上传完毕。
3.根据权利要求2所述的方法,其特征在于:所述S3具体包括:所述服务器端主动对接收到的数据包进行判断,如判断所述校验字节出错,则向信息采集终端请求接收到的校验字节错误的数据包对应的包序号请求数据采集终端重传;如判断校验字节正确,则转向判断所述数据包的包序号是否连续,如判断结果为连续,则数据采集完成,如判断结果为不连续,则向所述信息采集终端请求所述缺失的包序号对应的数据包重传。
4.根据权利要求3所述的方法,其特征在于:所述数据包序号和其所对应的数据包校验字节是在数据包传输时由所述数据采集终端按照内部定义的规则临时添加,不保存在数据采集终端上。
5.根据权利要求1或3所述的方法,其特征在于:所述S3中,所述服务器端发送请求重传的信息是在判断到有错后立即发送,或者先记录下来在数据采集终端上的数据完毕后再发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310494121.1A CN103716133A (zh) | 2013-10-21 | 2013-10-21 | 一种防止数据丢失方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310494121.1A CN103716133A (zh) | 2013-10-21 | 2013-10-21 | 一种防止数据丢失方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103716133A true CN103716133A (zh) | 2014-04-09 |
Family
ID=50408754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310494121.1A Pending CN103716133A (zh) | 2013-10-21 | 2013-10-21 | 一种防止数据丢失方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103716133A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102169A (zh) * | 2014-06-16 | 2014-10-15 | 福建睿能科技股份有限公司 | 纺织、机控设备及控制系统、控制及驱动装置、通讯方法 |
CN104266772A (zh) * | 2014-09-25 | 2015-01-07 | 安徽天瞳智能科技有限公司 | 一种开关柜多点温度监控系统的数据采集方法 |
CN104301409A (zh) * | 2014-10-15 | 2015-01-21 | 深圳中科讯联科技有限公司 | 一种信息处理系统及方法 |
CN104767588A (zh) * | 2015-03-12 | 2015-07-08 | 成都金本华科技股份有限公司 | 一种向客户端传输数据的方法 |
CN105634673A (zh) * | 2015-12-30 | 2016-06-01 | 长春北方化工灌装设备有限公司 | 一种容忍丢包的高稳定度数据通信方法 |
CN105991234A (zh) * | 2015-03-04 | 2016-10-05 | 上海杰轩智能科技有限公司 | 一种防止客流数据丢失的方法及系统 |
CN106230561A (zh) * | 2016-07-22 | 2016-12-14 | 努比亚技术有限公司 | 数据收集方法、装置及系统 |
CN106683214A (zh) * | 2016-12-06 | 2017-05-17 | 厦门中控生物识别信息技术有限公司 | 一种考勤验证数据获取方法及装置 |
CN108134656A (zh) * | 2017-12-22 | 2018-06-08 | 平安养老保险股份有限公司 | 投保数据回传方法、装置、服务器和存储介质 |
CN108363657A (zh) * | 2018-01-25 | 2018-08-03 | 上海连尚网络科技有限公司 | 监控app客户端埋点数据采集完整性的方法、设备以及介质 |
CN110830972A (zh) * | 2019-12-02 | 2020-02-21 | 北京深思数盾科技股份有限公司 | 用于蓝牙通讯的数据传输方法和装置以及存储介质 |
CN111930675A (zh) * | 2020-08-13 | 2020-11-13 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输管理方法、系统及装置 |
CN112002115A (zh) * | 2020-08-05 | 2020-11-27 | 中车工业研究院有限公司 | 一种数据采集方法及数据处理器 |
CN112102605A (zh) * | 2020-09-17 | 2020-12-18 | 杭州海兴泽科信息技术有限公司 | 电能表事件上报方法及系统、获取方法、可读存储介质 |
CN113824626A (zh) * | 2021-09-24 | 2021-12-21 | 广东科瑞德电气科技有限公司 | 一种防止信息交互丢失的通讯管理方法 |
-
2013
- 2013-10-21 CN CN201310494121.1A patent/CN103716133A/zh active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102169A (zh) * | 2014-06-16 | 2014-10-15 | 福建睿能科技股份有限公司 | 纺织、机控设备及控制系统、控制及驱动装置、通讯方法 |
CN104266772A (zh) * | 2014-09-25 | 2015-01-07 | 安徽天瞳智能科技有限公司 | 一种开关柜多点温度监控系统的数据采集方法 |
CN104301409A (zh) * | 2014-10-15 | 2015-01-21 | 深圳中科讯联科技有限公司 | 一种信息处理系统及方法 |
CN105991234A (zh) * | 2015-03-04 | 2016-10-05 | 上海杰轩智能科技有限公司 | 一种防止客流数据丢失的方法及系统 |
CN104767588A (zh) * | 2015-03-12 | 2015-07-08 | 成都金本华科技股份有限公司 | 一种向客户端传输数据的方法 |
CN105634673A (zh) * | 2015-12-30 | 2016-06-01 | 长春北方化工灌装设备有限公司 | 一种容忍丢包的高稳定度数据通信方法 |
CN106230561A (zh) * | 2016-07-22 | 2016-12-14 | 努比亚技术有限公司 | 数据收集方法、装置及系统 |
CN106683214A (zh) * | 2016-12-06 | 2017-05-17 | 厦门中控生物识别信息技术有限公司 | 一种考勤验证数据获取方法及装置 |
CN108134656A (zh) * | 2017-12-22 | 2018-06-08 | 平安养老保险股份有限公司 | 投保数据回传方法、装置、服务器和存储介质 |
CN108363657A (zh) * | 2018-01-25 | 2018-08-03 | 上海连尚网络科技有限公司 | 监控app客户端埋点数据采集完整性的方法、设备以及介质 |
CN108363657B (zh) * | 2018-01-25 | 2021-07-06 | 上海连尚网络科技有限公司 | 监控app客户端埋点数据采集完整性的方法、设备以及介质 |
CN110830972A (zh) * | 2019-12-02 | 2020-02-21 | 北京深思数盾科技股份有限公司 | 用于蓝牙通讯的数据传输方法和装置以及存储介质 |
CN112002115A (zh) * | 2020-08-05 | 2020-11-27 | 中车工业研究院有限公司 | 一种数据采集方法及数据处理器 |
CN112002115B (zh) * | 2020-08-05 | 2021-04-23 | 中车工业研究院有限公司 | 一种数据采集方法及数据处理器 |
CN111930675A (zh) * | 2020-08-13 | 2020-11-13 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输管理方法、系统及装置 |
CN111930675B (zh) * | 2020-08-13 | 2022-07-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输管理方法、系统及装置 |
CN112102605A (zh) * | 2020-09-17 | 2020-12-18 | 杭州海兴泽科信息技术有限公司 | 电能表事件上报方法及系统、获取方法、可读存储介质 |
CN113824626A (zh) * | 2021-09-24 | 2021-12-21 | 广东科瑞德电气科技有限公司 | 一种防止信息交互丢失的通讯管理方法 |
CN113824626B (zh) * | 2021-09-24 | 2023-12-22 | 广东科瑞德电气科技有限公司 | 一种防止信息交互丢失的通讯管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103716133A (zh) | 一种防止数据丢失方法 | |
CN106559739B (zh) | 适于蓝牙低功耗无线通信系统的轻量级数据传输方法 | |
CN102217258B (zh) | 探测处理方法、数据发送端、数据接收端以及通信系统 | |
CN109981480A (zh) | 一种数据传输方法及第一设备 | |
CN105721295B (zh) | 一种云端服务器与plc ppi通信的网关 | |
CN107360177B (zh) | 一种基于udp的报文传输方法及装置 | |
CN101621368A (zh) | 一种重传数据包的方法、装置及系统 | |
CN107612661A (zh) | 数据通讯方法和装置 | |
CN103795632A (zh) | 一种数据报文传输方法及相关设备、系统 | |
CN104484295A (zh) | 并行计算机系统中基于接收方滑动窗口的数据传输方法 | |
CN102710758A (zh) | 一种基于单片机系统的数据流断点续传方法 | |
CN103701843A (zh) | 一种信息同步数据传输方法及系统 | |
CN112910856A (zh) | 基于串口通信的通信协议的设计方法 | |
CN108886713B (zh) | 一种数据传输方法、数据接收设备及数据发送设备 | |
CN109981566B (zh) | 用于列控中心系统的系间同步安全协议通信方法 | |
CN109067796A (zh) | 一种数据传输方法及装置 | |
CN110213020A (zh) | 基于蓝牙外设的数据传输方法、终端、系统以及装置 | |
CN112953839A (zh) | 一种数据分帧传输方法、遥测设备和数据中心平台 | |
CN109981385A (zh) | 一种实现丢包检测的方法、装置和系统 | |
CN113992654A (zh) | 一种高速的文件传输方法、系统、设备及介质 | |
CN101651676A (zh) | 一种大数据量文件的网络下载方法 | |
CN114500528A (zh) | 一种基于云平台的数据传输方法及装置 | |
CN112217610B (zh) | 数据处理方法、装置、消费机、终端及可读存储介质 | |
CN107172181B (zh) | 一种基于双线程的文件传输方法 | |
CN103825682B (zh) | 一种高效快速的wtb多播消息数据传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140409 |
|
RJ01 | Rejection of invention patent application after publication |