一种磁性数据接收方法和装置制造方法及图纸

技术编号:13080331 阅读:85 留言:0更新日期:2016-03-30 13:28
本发明专利技术涉及金融技术领域,提供了一种磁性数据接收方法和装置,旨在解决现有技术中在接收磁性数据过程中磁性数据丢行导致的数据处理错误。所述方法包括:对读取的当前一帧数据进行丢行检测,获取丢行数量;根据所述丢行数量重新确定数据位置;根据所述数据位置读取下一帧数据。本发明专利技术的技术方案通过对读取的当前一帧数据进行丢行检测,获取丢行数量,并根据丢行数量重新确定数据位置,从而有效的提高读取到内存中的数据的准确性,避免数据处理错误。

【技术实现步骤摘要】

本专利技术涉及金融
,尤其涉及一种磁性数据接收方法和装置
技术介绍
在金融点耖或验耖过程中,点耖或验耖设备的DSP(Digital Signal Processing,DSP芯片也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法)端需要接收磁性数据,磁性数据由磁性传感器获取,按照标准协议规定,每次接收的磁性数据都有相同的大小和固定的格式,每一帧数据的大小为1386行48列,数据格式由行号加磁性数据组成。在接收磁性数据的过程中,常常会出现磁性数据丢行的现象,即当前接收的一帧数据中的一行或者几行丢失,导致下一帧数据位置的错位,从而使读取到内存中的数据在进行处理时出错。
技术实现思路
本专利技术的目的在于提供一种磁性数据接收方法和装置,旨在解决现有技术中在接收磁性数据过程中磁性数据丢行导致的数据处理错误。本专利技术第一方面,提供一种磁性数据接收方法,包括:对读取的当前一帧数据进行丢行检测,获取丢行数量;根据所述丢行数量重新确定数据位置;根据所述数据位置读取下一帧数据。本专利技术第二方面,提供一种磁性数据接收装置,包括:检测模块,用于对读取的当前一帧数据进行丢行检测,获取丢行数量;分配模块,用于根据所述丢行数量重新确定数据位置;读取模块,用于根据所述数据位置读取下一帧数据。本专利技术与现有技术相比存在的有益效果是:本专利技术提供的技术方案通过对读取的当前一帧数据进行丢行检测,获取丢行数量,并根据丢行数量重新确定数据位置,从而有效的提高读取到内存中的数据的准确性,避免数据处理错误。【附图说明】图1是本专利技术实施例一提供的磁性数据接收方法的流程图;图2是本专利技术实施例一提供的磁性数据接收方法中丢行现象的示意图;图3是本专利技术实施例二提供的磁性数据接收方法的流程图;图4是本专利技术实施例二提供的磁性数据接收方法中发生丢行现象后实际数据数据接收示意图;图5是本专利技术实施例三提供的磁性数据接收装置的组成示意图;图6是本专利技术实施例四提供的磁性数据接收装置的组成示意图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。以下结合具体附图对本专利技术的实现进行详细的描述。图1是本专利技术实施例一提供的磁性数据接收方法的流程图,具体包括步骤S101至S103,详述如下:S101、对读取的当前一帧数据进行丢行检测,获取丢行数量。磁性数据由磁性传感器获取,按照标准协议的规定,每次接收的磁性数据都有相同的大小和固定的格式,每一帧数据的大小为1386行48列,数据格式由行号加磁性数据组成,每一行的第一列的数值为该行的行号,每一帧数据的行号从1开始连续编号。磁性数据在接收的过程中偶尔会出现丢行的现象,如图2所示。由于第一帧数据中的某一行丢失,导致第二帧数据的第一行作为第一帧数据的最后一行被接收,而接收的第二帧数据实际上是从第二帧数据的第二行开始,假设第二帧数据在接收过程中没有出现丢行,则第二帧数据的最后一行实际上接收到的是第三帧数据的第一行。对接收的每一帧数据都会在内存中分配相同大小的内存块进行存放,当出现丢行现象时,由于丢行引起数据错位,进而导致存放在内存块中的每一帧数据也是错位的,因此需要进行丢行检测,重新确定每一帧数据在内存中的位置和大小。具体地,对读取的当前一帧磁性数据进行丢行检测,判断该帧数据是否有丢行,如果有丢行则获取当前一帧数据具体丢失的行数,即丢行数量。S102、根据丢行数量重新确定数据位置。具体地,根据步骤S101获取的丢行数量,确定当前一帧的实际接收的数据量,同时根据丢行数量确定待读取的下一帧数据的内存块首地址和待读取的数据量。S103、根据数据位置读取下一帧数据。具体地,根据步骤S102确定的待读取的下一帧数据的内存块首地址和待读取的数据量,读取下一帧数据。本实施例中,通过对读取的当前一帧数据进行丢行检测,获取丢行数量,并根据丢行数量重新确定数据位置,从而有效的提高读取到内存中的数据的准确性,避免数据处理错误。实施例二:图3是本专利技术实施例二提供的磁性数据接收方法的流程图,具体包括步骤S201至S205,详述如下:S201、对读取的当前一帧数据在预设的行数阈值范围内的第一列的值进行逐行读取。在本专利技术实施例中,行数阈值是一个经验值,该经验值取得过大和过小都不合适,这是因为,若行数阈值取得过大,则在丢行数量没有超过行数阈值时,大范围地对丟行进行检测会增加系统的计算量;若行数阈值取得太小,则在丢行数量很多时,例如丢行数量超过了行数阈值,由于只能小范围地对丟行进行检测,因此不能检测出实际的丢行数量。作为本专利技术的一个实施例,行数阈值可以取20,相应地,对读取的当前一帧数据在预设的行数阈值范围内的第一列的值进行逐行读取,可以是在读取的当前一帧数据倒数20行范围内,逐行读取第一列的值。S202、当读取到第一列的值为1时,根据第一列的值为1所在的行获取丢行数量。如前所述,由于每一帧磁性数据的行号是从1开始编号,因此,在对步骤S201逐行读取的第一列的值进行判断时,如果该第一列的值为1,则表示从第一列值为1的这一行开始,一直到当前这一帧数据的最后一行为止,这一部分数据均属于下一帧的数据,是由于当前一帧数据的丢行而导致被提前读取的。具体地,根据第一列的值为1所在行的位置,统计从该行一直到当前这一帧数据的最后一行的总行数,即为当前一帧数据具体的丢行数量。 S203、根据丢行数量计算当前一帧的数据量。具体地,可以用每一帧数据的总行数减去丢行数量得到的行数即为当前一帧实际的数据量。例如,假设当前一帧丢行数量为6行,由于每一帧数据的总行数为协议规定的1386行,则当前一帧实际的数据量行数为1380行。S204、对当前一帧的数据进行算法处理。具体地,对当前一帧实际的数据量进行算法处理,包括对所读取的当前一帧磁性数据的内容的准确性做进一步判断和检测。S205、根据丢行数量计算下一帧数据的内存块首地址和待读取的数据量。具体地,根据当前一帧的丢行数量,计算下一帧数据的内存块首地址,即对原有的下一帧数据的内存块首地址进行向前偏移,偏移量为丢行数量,同时根据丢行数量重新计算待读取的下一帧数据的数据量,每一帧数据的总行数减去丢行数量得到的行数即为待读取的下一帧数据的数据量。例如,假设当前一帧的内存块首地址为0x10000000,每一行数据所在的内存地址假设为逐行加1,由于每一帧数据的总行数为协议规定的1386行,则原有的下一帧数据的内存块首地址为0xl000056A,假设当前一帧丢行数量为6行,则实际下一帧数据的内存块首地址需要向前偏移6行,S卩0x10000564,而实际需要读取的下一帧数据的数据量为1380行。为了解释清楚本实施例,现举例说明如下。如图4所示,addrl为第一帧数据的内存块首地址,addr2为原第二帧数据的内存块首地址。第一帧数据的91行出现丢行现象,导致第二帧的第一行提前到第一帧的最后一行被接收。[0051当前第1页1 2 本文档来自技高网...

【技术保护点】
一种磁性数据接收方法,其特征在于,包括:对读取的当前一帧数据进行丢行检测,获取丢行数量;根据所述丢行数量重新确定数据位置;根据所述数据位置读取下一帧数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:黄卓治
申请(专利权)人:深圳怡化电脑股份有限公司深圳市怡化时代科技有限公司深圳市怡化金融智能研究院
类型:发明
国别省市:广东;44

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

1