CN109918545B - 传感器数据的提取方法及装置 - Google Patents
传感器数据的提取方法及装置 Download PDFInfo
- Publication number
- CN109918545B CN109918545B CN201910233407.1A CN201910233407A CN109918545B CN 109918545 B CN109918545 B CN 109918545B CN 201910233407 A CN201910233407 A CN 201910233407A CN 109918545 B CN109918545 B CN 109918545B
- Authority
- CN
- China
- Prior art keywords
- data
- length
- original
- standard
- original data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 239000003550 marker Substances 0.000 claims abstract description 74
- 239000000872 buffer Substances 0.000 claims abstract description 62
- 238000000605 extraction Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 5
- 230000001502 supplementing effect Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013075 data extraction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
本发明公开了一种传感器数据的提取方法及装置。其中,该方法包括:接收由传感器发送的多个原始数据;根据数据接收区的长度一对多个原始数据进行数据截取,得到预定数量的与长度一对应的标准数据,并将标准数据存储到数据缓冲区;对数据缓冲区中存储的标准数据进行依次搜索,在搜索到数据开始标志位时继续搜索直到搜索到与数据结束标志位,将数据开始标志位和数据结束标志位之间的数据、数据开始标志位以及数据结束标志位拷贝到预定存储区域,得到待处理数据。本发明解决了相关技术中对主机的数据接收区长度设置比较困难,进而容易导致主机数据接收区接收到的数据不完整的技术问题。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种传感器数据的提取方法及装置。
背景技术
在某些传感器采集返回给主机的数据信息的字节长度是不定长度的,这会导致主机在接收数据时,有时候接收到的数据完整,有时候会由于接收到的数据会丢失导致接收到的数据不完整。如果主机的数据接收区设置的短了,接收不到完整的数据,如果主机的数据接收区设置的长了,随着数据的接收,会出现某一组数据不是完整的,这组数据的前面被上一组数据截断一部分,后面的数据会被下一组数据截断一部分,且还未接收。这就导致了主机的数据接收区长度不容易设置,进而导致接收到的数据完整性不良。
针对上述相关技术中对主机的数据接收区长度设置比较困难,进而容易导致主机数据接收区接收到的数据不完整的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种传感器数据的提取方法及装置,以至少解决相关技术中对主机的数据接收区长度设置比较困难,进而容易导致主机数据接收区接收到的数据不完整的技术问题。
根据本发明实施例的一个方面,提供了一种传感器数据的提取方法,包括:接收由传感器发送的多个原始数据;根据数据接收区的长度一对所述多个原始数据进行数据截取,得到预定数量的与所述长度一对应的标准数据,并将所述标准数据存储到数据缓冲区;对所述数据缓冲区中存储的所述标准数据进行依次搜索,在搜索到数据开始标志位时继续搜索直到搜索到与数据结束标志位,将所述数据开始标志位和所述数据结束标志位之间的数据、所述数据开始标志位以及所述数据结束标志位拷贝到预定存储区域,得到待处理数据。
可选地,在接收由传感器发送的多个原始数据之前,该传感器数据的提取方法还包括:根据所述传感器采集的数据类型确定所述数据接收区的长度一。
可选地,根据数据接收区的长度一对所述多个原始数据进行数据截取包括:确定所述多个原始数据中每一个原始数据的数据长度二;根据所述长度一以及所述多个原始数据中每一个原始数据的数据长度二对所述多个原始数据进行数据截取。
可选地,根据所述长度一以及所述多个原始数据中每一个原始数据的数据长度二对所述多个原始数据进行数据截取包括:判断所述多个原始数据中的第一个原始数据的数据长度三是否小于所述长度一;若否,则按照所述长度一从所述第一个原始数据的第一个字节开始进行数据提取,直到得到与所述长度一数量相同的多个字节;若是,则确定所述第一个原始数据与所述长度一的字节差值,将所述多个原始数据中的第二个原始数据由前往后提取预定个数的字节补入所述第一个原始数据,其中,所述预定数个数与所述字节差值的大小相同。
可选地,所述预定数量是根据所述长度一以及所述多个原始数据中每一个原始数据的数据长度确定的。
可选地,在将所述数据开始标志位和所述数据结束标志位之间的数据、所述数据开始标志位以及所述数据结束标志位拷贝到预定存储区域,得到待处理数据之后,还包括:对所述待处理数据进行检测;其中,对所述待处理数据进行检测包括以下至少之一:检测所述待处理数据中的每一个待处理数据是否包括数据开始标志位和数据结束标志位;检测所述待处理数据中的每一个待处理数据中是否存在无效数据。
可选地,在将所述数据开始标志位和所述数据结束标志位之间的数据、所述数据开始标志位以及所述数据结束标志位拷贝到预定存储区域之后,该传感器数据的提取方法还包括:对所述数据缓冲区进行数据清除操作。
可选地,对所述数据缓冲区中存储的所述标准数据进行依次搜索包括:判断所述数据缓冲区中存储的所述标准数据的数量是否为两个,得到判断结果;在所述判断结果表示所述标准数据的数量为两个的情况下,对所述数据缓冲区中存储的所述标准数据进行依次搜索;在所述判断结果表示所述标准数据的数量不为两个的情况下,控制所述数据缓存区继续接收所述标准数据。
根据本发明实施例的另外一个方面,还提供了一种传感器数据的提取装置,包括:接收单元,用于接收由传感器发送的多个原始数据;存储单元,用于根据数据接收区的长度一对所述多个原始数据进行数据截取,得到预定数量的与所述长度一对应的标准数据,并将所述标准数据存储到数据缓冲区;搜索单元,用于对所述数据缓冲区中存储的所述标准数据进行依次搜索,在搜索到数据开始标志位时继续搜索直到搜索到与数据结束标志位,将所述数据开始标志位和所述数据结束标志位之间的数据、所述数据开始标志位以及所述数据结束标志位拷贝到预定存储区域,得到待处理数据。
可选地,在接收由传感器发送的多个原始数据之前,该传感器数据的提取装置还包括:确定单元,用于根据所述传感器采集的数据类型确定所述数据接收区的长度一。
可选地,所述存储单元包括:确定模块,用于确定所述多个原始数据中每一个原始数据的数据长度二;截取模块,用于根据所述长度一以及所述多个原始数据中每一个原始数据的数据长度二对所述多个原始数据进行数据截取。
可选地,所述截取模块包括:判断子模块,用于判断所述多个原始数据中的第一个原始数据的数据长度三是否小于所述长度一;提取子模块,用于在所述多个原始数据中的第一个原始数据的数据长度三不小于所述长度一,则按照所述长度一从所述第一个原始数据的第一个字节开始进行数据提取,直到得到与所述长度一数量相同的多个字节;处理子模块,用于在所述多个原始数据中的第一个原始数据的数据长度三小于所述长度一,则确定所述第一个原始数据与所述长度一的字节差值,将所述多个原始数据中的第二个原始数据由前往后提取预定个数的字节补入所述第一个原始数据,其中,所述预定数个数与所述字节差值的大小相同。
可选地,所述预定数量是根据所述长度一以及所述多个原始数据中每一个原始数据的数据长度确定的。
可选地,在将所述数据开始标志位和所述数据结束标志位之间的数据、所述数据开始标志位以及所述数据结束标志位拷贝到预定存储区域,得到待处理数据之后,该传感器数据的提取装置还包括:对所述待处理数据进行检测;其中,对所述待处理数据进行检测包括以下至少之一:检测所述待处理数据中的每一个待处理数据是否包括数据开始标志位和数据结束标志位;检测所述待处理数据中的每一个待处理数据中是否存在无效数据。
可选地,在将所述数据开始标志位和所述数据结束标志位之间的数据、所述数据开始标志位以及所述数据结束标志位拷贝到预定存储区域之后,该传感器数据的提取装置还包括:对所述数据缓冲区进行数据清除操作。
根据本发明实施例的另外一个方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述中任意一项所述的传感器数据的提取方法。
根据本发明实施例的另外一个方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项所述的传感器数据的提取方法。
在本发明实施例中,采用接收由传感器发送的多个原始数据;并根据数据接收区的长度一对多个原始数据进行数据截取,得到预定数量的与长度一对应的标准数据,并将标准数据存储到数据缓冲区;以及对数据缓冲区中存储的标准数据进行依次搜索,在搜索到数据开始标志位时继续搜索直到搜索到与数据结束标志位,将数据开始标志位和数据结束标志位之间的数据、数据开始标志位以及数据结束标志位拷贝到预定存储区域,得到待处理数据的方式对传感器数据进行提取,实现了通过连续接收的两个标准数据来提取完整数据的目的,达到了提高传感器数据接收的完整性的技术效果,进而解决了相关技术中对主机的数据接收区长度设置比较困难,进而容易导致主机数据接收区接收到的数据不完整的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的传感器数据的提取方法的流程图;
图2是根据本发明实施例的传感器数据接收的示意图;
图3是根据本发明实施例的可选的传感器数据的提取方法的流程图;
图4是根据本发明实施例的传感器数据的提取装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种传感器数据的提取方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的传感器数据的提取方法的流程图,如图1所示,该传感器数据的提取方法包括如下步骤:
步骤S102,接收由传感器发送的多个原始数据。
在一个应用场景中,上述传感器是温度传感器,主要用来采集环境温度,该多个原始数据可以是温度传感器实时采集的多个环境温度。其中,多个环境温度中的每一个环境温度均是用二进制的字符串表示的。即,多个原始数据中的每一个数据均是一个字符串。其中,字符串的长度是不确定的。例如,在夏季时,温度比较高,一般需要用五个的字节来表示,而冬天时,温度较低,可能3个字节即可表示。
需要说明的是,在接收传感器发送的多个原始数据之前,需要保证主机和传感器的通讯是正常的、稳定的,以保证数据发送以及接收的完整性以及实时性。
步骤S104,根据数据接收区的长度一对多个原始数据进行数据截取,得到预定数量的与长度一对应的标准数据,并将标准数据存储到数据缓冲区。
作为一种可选的实施例,在接收由传感器发送的多个原始数据之前,该传感器数据的提取方法还可以包括:根据传感器采集的数据类型确定数据接收区的长度一。
其中,主机的数据接收区的长度是可以根据实际情况来设定的,此处,可以根据传感器的类型来设置,具体地,以温度传感器为例进行说明,该温度传感器主要用来采集当前环境温度,以方便空调器进行合理运行。即,数据接收区的长度一的设置可以设置到传感器返回的不定长数据范围附近。
即,如果多个原始数据中的第一个原始数据为6个字节,可以将接收到的第二个原始数据的前4个字节补入到第一个原始数据中,得到一个10个字节的标准数据,然后将该标准数据存储到数据缓冲区。
这里的数据缓冲区是可以创建的,具体地,可以根据数据接收区的长度来确定创建的数据缓冲区的长度。例如,可以将该数据缓冲区的容量设置为数据接收区的长度的2倍以上,从而可以保证创建的数据缓冲区可以接收两个连续的标准数据。
另外,根据数据接收区的长度一对多个原始数据进行数据截取可以包括:确定多个原始数据中每一个原始数据的数据长度二;根据长度一以及多个原始数据中每一个原始数据的数据长度二对多个原始数据进行数据截取。
优选的,根据长度一以及多个原始数据中每一个原始数据的数据长度二对多个原始数据进行数据截取可以包括:判断多个原始数据中的第一个原始数据的数据长度三是否小于长度一;若否,则按照长度一从第一个原始数据的第一个字节开始进行数据提取,直到得到与长度一数量相同的多个字节;若是,则确定第一个原始数据与长度一的字节差值,将多个原始数据中的第二个原始数据由前往后提取预定个数的字节补入第一个原始数据,其中,预定数个数与字节差值的大小相同。
例如,数据接收区对应的数据接收长度(即,长度一)为10,第一个原始数据对应的字节个数为15,那么第一个原始数据的数据长度三满足大于或等于长度一,此时可以从第一个原始数据中截取前10个字节,作为标准数据,存储到数据缓冲区,并将剩余的5个字节,作为第二个标准数据的前5位,继续接收原始数据,例如,继续接收到的原始数据的长度为13,那么可以将继续接收到的原始数据的前5个字节补入到第二个标准数据的后位以组成一个完整的标准数据,并将第二标准数据存储到数据缓冲区。
反之,如果数据接收区对应的数据接收长度(即,长度一)为10,第一个原始数据对应的字节个数为6,那么第一个原始数据的数据长度三满足小于长度一,此时可以将第一个原始数据作为第一个标准数据的前6位,继续接收原始数据,假如继续接收到的原始数据为7个字节,则可以将继续接收到的原始数据的前4个字节补入第一标准数据的后4位,以构成一个完整的标准数据,继续接收到的原始数据的后3个字节作为下一个标准数据的前三位;然后继续接收原始数据,假如再次继续接收到的原始数据为8个字节,则可以将再次继续接收到的原始数据的前7个字节补入第二个标准数据的后7位再次构成一个10个字节的完整的标准数据。
即,如果主机接收在接收原始数据到数据接收区时,会自动将以数据接收区对应的长度进行接收,并在接收到的原始数据的长度达到数据接收区的长度时,将其存储到数据缓冲区中。
图2是根据本发明实施例的传感器数据接收的示意图,如图2所示,以传感器接收的是57至64字节范围的不定长数据,当数据接收区设置比较短时,例如,数据接收区的长度为57,传感器发送的数据为64,那么主机接收到的就是一个不完整的数据,即,丢失了传感器发送的数据的后7位,影响了数据的真实性。
另外,如图2所示,当数据接收区的长度设置为70,传感器发送的第一数据为57位时,那么数据接收区的数据包括传感器发送的第一数据以及第二个数据的前13位,则主机接收到的是一个多个后面13为的数据,严重影响了数据接收的真实性。
由上可知,主机的数据接收区的长度设置的过长或过短均无法得到完整可靠的传感器数据。
步骤S106,对数据缓冲区中存储的标准数据进行依次搜索,在搜索到数据开始标志位时继续搜索直到搜索到与数据结束标志位,将数据开始标志位和数据结束标志位之间的数据、数据开始标志位以及数据结束标志位拷贝到预定存储区域,得到待处理数据。
其中,在一个应用场景中,这里的待处理数据可以用于处理器根据待处理数据生成控制指令,以实现对空调器的运行模式的调整,由于待处理数据的精确性提高,从而使得生成的控制指令也更加精确,通过控制指令调整后的运行模式更能满足用于的需求,提高了用户体验。
通过上述步骤,可以接收由传感器发送的多个原始数据;根据数据接收区的长度一对多个原始数据进行数据截取,得到预定数量的与长度一对应的标准数据,并将标准数据存储到数据缓冲区;对数据缓冲区中存储的标准数据进行依次搜索,在搜索到数据开始标志位时继续搜索直到搜索到与数据结束标志位,将数据开始标志位和数据结束标志位之间的数据、数据开始标志位以及数据结束标志位拷贝到预定存储区域,得到待处理数据。在该实施例中,可以为传感器采集的每个数据添加数据开始标志位和结束标识位,组成一个完整的原始数据,并将原始数据发送到主机,主机根据设置的数据接收区的长度来接收传感器每次发送的原始数据,并将根据数据接收区的长度接收的原始数据存储到数据接收区,继续接收原始数据,以得到两个标准数据,并从这两个标准数据中提取一个完整的原始数据,将其存储到预定存储区域,实现了通过连续接收的两个标准数据来提取完整数据的目的,达到了提高传感器数据接收的完整性的技术效果,进而解决了相关技术中对主机的数据接收区长度设置比较困难,进而容易导致主机数据接收区接收到的数据不完整的技术问题。
需要说明的是,预定数量是根据长度一以及多个原始数据中每一个原始数据的数据长度确定的。优选的,数据缓冲区每缓冲两个标准数据,就会对数据缓冲区进行搜索,以得到待处理数据。具体地,可以从缓冲区中存储的标准数据的第一位开始搜索直到搜索到数据开始标志位时,继续进行搜索直到搜索到与数据开始标志位对应的数据结束标志位时,将数据开始标志位和数据结束标志位之间的数据、数据开始标志位以及数据结束标志位拷贝到预定存储区域。
如果长度一设置的比较大,每一个原始数据的数据长度又比较小,则预定数量是比较小的;反之,如果长度一设置的比较小,每一个原始数据的数据长度又比较大,那么预定数量则会比较大。
作为一种可选的实施例,在将数据开始标志位和数据结束标志位之间的数据、数据开始标志位以及数据结束标志位拷贝到预定存储区域,得到待处理数据之后,该传感器数据的提取方法还包括:对待处理数据进行检测;其中,对待处理数据进行检测包括以下至少之一:检测待处理数据中的每一个待处理数据是否包括数据开始标志位和数据结束标志位;检测待处理数据中的每一个待处理数据中是否存在无效数据。该无效数据可以为乱码。通过该实施例,可以保证待处理数据的准确性以及可靠性。
优选的,在将数据开始标志位和数据结束标志位之间的数据、数据开始标志位以及数据结束标志位拷贝到预定存储区域之后,该传感器数据的提取方法还可以包括:对数据缓冲区进行数据清除操作。通过该实施例,可以通过情况数据缓冲区的数据,准备下一次数据接收。
作为一种优选的实施例,在对数据缓冲区的数据进行搜索时,当搜索到传感器的一组完整数据的数据开始标志位和结束标识位时,记录下数据开始标志位和数据结束标志位的位置,然后从数据开始标志位的地方开始拷贝数据到预定存储区域直到数据结束标志位,以进行数据拷贝。
优选的,对数据缓冲区中存储的标准数据进行依次搜索包括:判断数据缓冲区中存储的标准数据的数量是否为两个,得到判断结果;在判断结果表示标准数据的数量为两个的情况下,对数据缓冲区中存储的标准数据进行依次搜索;在判断结果表示标准数据的数量不为两个的情况下,控制数据缓存区继续接收标准数据。通过该实施例可以保证主机在接收传感器发送的数据时,不会出现错误,保证了数据接收的准确性及完整性,也提高了数据接收的可靠性。
下面结合附图对本发明可选的实施例进行说明。
图3是根据本发明实施例的可选的传感器数据的提取方法的流程图,如图3所示,首先,主机会调用数据接收函数接收传感器发送的原始数据,并将接收到的原始数据存储到设置好的数据接收区;然后,判断数据接收区接收到的数据是否第一个原始数据,在是的情况下,将第一个原始数据拷贝到数据缓冲区,继续接收传感器发送的原始数据,反之,判断接收到的数据是否为第二个原始数据,在是的情况下将第二个原始数据连接到数据缓冲区的末尾,在数据缓冲区中从前到后逐个进行数据搜索;判断是否搜索到数据开始标志位,否的情况下继续搜索,反之从缓冲区拷贝数据,判断是否拷贝到数据结束标志位,在否的情况下,继续从数据缓冲区拷贝数据,在是的情况下,则清空数据缓冲区,准备下一次数据接收。
通过本发明实施例提供的传感器数据的提取方法,可以通过主机调用数据接收函数接收传感器数据,将接收到的数据存储到设置好的数据接收区。然后通过标志位判断是接收到的是第一个数据还是第二个数据,如果是第一个数据,则将第一个数据全部拷贝到数据缓冲区,然后继续接收第二个数据;当接收到第二个数据后,将第二个数据拷贝到数据缓冲区的末尾,即,实现将第一个数据和第二个数据合并到一起。需要说明的是,在处理完第一个数据和第二个数据后,需要变化标志位以区分第一个数据和第二个数据,以及表示是否接收完两个数据。再从前到后逐个查找数据缓冲区中的每个字节数据。以及当查找到传感器的一个完整数据的数据开始标志位时,开始拷贝数据到传感器数据的存储区中,一直拷贝到一个完整数据的数据结束标志位,其中,拷贝的内容包括数据开始标志位和数据结束标志位;清空数据缓冲区,准备下一次数据接收。另外,拷贝完成后可以检查传感器数据的存储区的开头和结尾是否有相应的开始和结束的标识位,还可以检查其中的内容是否有乱码,以保证传感器数据的准确性、可靠性。
另外,通过本发明实施例提供的传感器数据的提取方法可以在传感器返回的数据不定长度的情况下,提取其中一个完整数据信息,解决了主机在接收传感器数据时,数据接收区长度不容易设置,数据完整性不良等问题,实现了将连续采集的前后两次数据合并成为一个数据,其中必定包含一个完整的数据信息,在这个数据中进行循环查找,并将查找到的完整数据进行拷贝就可以得到一个完整的数据。
实施例2
根据本发明实施例的另外一个方面,还提供了一种用于实现上述传感器数据的提取方法的装置实施例,图4是根据本发明实施例的传感器数据的提取装置的示意图,如图4所示,该传感器数据的提取装置包括:接收单元41,存储单元43以及搜索单元45。下面对该传感器数据的提取装置进行详细说明。
接收单元41,用于接收由传感器发送的多个原始数据。
存储单元43,用于根据数据接收区的长度一对多个原始数据进行数据截取,得到预定数量的与长度一对应的标准数据,并将标准数据存储到数据缓冲区。
搜索单元45,用于对数据缓冲区中存储的标准数据进行依次搜索,在搜索到数据开始标志位时继续搜索直到搜索到与数据结束标志位,将数据开始标志位和数据结束标志位之间的数据、数据开始标志位以及数据结束标志位拷贝到预定存储区域,得到待处理数据。
此处需要说明的是,上述接收单元41,存储单元43以及搜索单元45对应于实施例1中的步骤S102至S106,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
由上可知,可以利用接收单元接收由传感器发送的多个原始数据;并利用存储单元根据数据接收区的长度一对多个原始数据进行数据截取,得到预定数量的与长度一对应的标准数据,并将标准数据存储到数据缓冲区;以及利用搜索单元对数据缓冲区中存储的标准数据进行依次搜索,在搜索到数据开始标志位时继续搜索直到搜索到与数据结束标志位,将数据开始标志位和数据结束标志位之间的数据、数据开始标志位以及数据结束标志位拷贝到预定存储区域,得到待处理数据。在该实施例中,可以为传感器采集的每个数据添加数据开始标志位和结束标识位,组成一个完整的原始数据,并将原始数据发送到主机,主机根据设置的数据接收区的长度来接收传感器每次发送的原始数据,并将根据数据接收区的长度接收的原始数据存储到数据接收区,继续接收原始数据,以得到两个标准数据,并从这两个标准数据中提取一个完整的原始数据,将其存储到预定存储区域,实现了通过连续接收的两个标准数据来提取完整数据的目的,达到了提高传感器数据接收的完整性的技术效果,进而解决了相关技术中对主机的数据接收区长度设置比较困难,进而容易导致主机数据接收区接收到的数据不完整的技术问题。
作为一种可选的实施例,在接收由传感器发送的多个原始数据之前,该传感器数据的提取装置还可以包括:确定单元,用于根据传感器采集的数据类型确定数据接收区的长度一。
作为一种可选的实施例,存储单元包括:确定模块,用于确定多个原始数据中每一个原始数据的数据长度二;截取模块,用于根据长度一以及多个原始数据中每一个原始数据的数据长度二对多个原始数据进行数据截取。
作为一种可选的实施例,截取模块包括:判断子模块,用于判断多个原始数据中的第一个原始数据的数据长度三是否小于长度一;提取子模块,用于在多个原始数据中的第一个原始数据的数据长度三不小于长度一,则按照长度一从第一个原始数据的第一个字节开始进行数据提取,直到得到与长度一数量相同的多个字节;处理子模块,用于在多个原始数据中的第一个原始数据的数据长度三小于长度一,则确定第一个原始数据与长度一的字节差值,将多个原始数据中的第二个原始数据由前往后提取预定个数的字节补入第一个原始数据,其中,预定数个数与字节差值的大小相同。
作为一种可选的实施例,预定数量是根据长度一以及多个原始数据中每一个原始数据的数据长度确定的。
作为一种可选的实施例,在将数据开始标志位和数据结束标志位之间的数据、数据开始标志位以及数据结束标志位拷贝到预定存储区域,得到待处理数据之后,该传感器数据的提取装置还包括:对待处理数据进行检测;其中,对待处理数据进行检测包括以下至少之一:检测待处理数据中的每一个待处理数据是否包括数据开始标志位和数据结束标志位;检测待处理数据中的每一个待处理数据中是否存在无效数据。
作为一种可选的实施例,在将数据开始标志位和数据结束标志位之间的数据、数据开始标志位以及数据结束标志位拷贝到预定存储区域之后,该传感器数据的提取装置还包括:对数据缓冲区进行数据清除操作。
实施例3
根据本发明实施例的另外一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,程序执行上述中任意一项的传感器数据的提取方法。
实施例4
根据本发明实施例的另外一个方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述中任意一项的传感器数据的提取方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种传感器数据的提取方法,其特征在于,包括:
接收由传感器发送的多个原始数据;
根据数据接收区的长度一对所述多个原始数据进行数据截取,得到预定数量的与所述长度一对应的标准数据,并将所述标准数据存储到数据缓冲区;
对所述数据缓冲区中存储的所述标准数据进行依次搜索,在搜索到数据开始标志位时继续搜索直到搜索到与数据结束标志位,将所述数据开始标志位和所述数据结束标志位之间的数据、所述数据开始标志位以及所述数据结束标志位拷贝到预定存储区域,得到待处理数据;
其中,对所述数据缓冲区中存储的所述标准数据进行依次搜索包括:
判断所述数据缓冲区中存储的所述标准数据的数量是否为两个,得到判断结果;
在所述判断结果表示所述标准数据的数量为两个的情况下,对所述数据缓冲区中存储的所述标准数据进行依次搜索;
在所述判断结果表示所述标准数据的数量不为两个的情况下,控制所述数据缓存区继续接收所述标准数据;
其中,根据数据接收区的长度一对所述多个原始数据进行数据截取包括:
确定所述多个原始数据中每一个原始数据的数据长度二;
根据所述长度一以及所述多个原始数据中每一个原始数据的数据长度二对所述多个原始数据进行数据截取;
其中,根据所述长度一以及所述多个原始数据中每一个原始数据的数据长度二对所述多个原始数据进行数据截取包括:
判断所述多个原始数据中的第一个原始数据的数据长度三是否小于所述长度一;
若否,则按照所述长度一从所述第一个原始数据的第一个字节开始进行数据提取,直到得到与所述长度一数量相同的多个字节;
若是,则确定所述第一个原始数据与所述长度一的字节差值,将所述多个原始数据中的第二个原始数据由前往后提取预定个数的字节补入所述第一个原始数据,其中,所述预定数个数与所述字节差值的大小相同。
2.根据权利要求1所述的方法,其特征在于,在接收由传感器发送的多个原始数据之前,还包括:根据所述传感器采集的数据类型确定所述数据接收区的长度一。
3.根据权利要求1至2中任一项所述的方法,其特征在于,所述预定数量是根据所述长度一以及所述多个原始数据中每一个原始数据的数据长度确定的。
4.根据权利要求1所述的方法,其特征在于,在将所述数据开始标志位和所述数据结束标志位之间的数据、所述数据开始标志位以及所述数据结束标志位拷贝到预定存储区域,得到待处理数据之后,还包括:对所述待处理数据进行检测;
其中,对所述待处理数据进行检测包括以下至少之一:
检测所述待处理数据中的每一个待处理数据是否包括数据开始标志位和数据结束标志位;
检测所述待处理数据中的每一个待处理数据中是否存在无效数据。
5.根据权利要求1所述的方法,其特征在于,在将所述数据开始标志位和所述数据结束标志位之间的数据、所述数据开始标志位以及所述数据结束标志位拷贝到预定存储区域之后,还包括:对所述数据缓冲区进行数据清除操作。
6.一种传感器数据的提取装置,其特征在于,包括:
接收单元,用于接收由传感器发送的多个原始数据;
存储单元,用于根据数据接收区的长度一对所述多个原始数据进行数据截取,得到预定数量的与所述长度一对应的标准数据,并将所述标准数据存储到数据缓冲区;
搜索单元,用于对所述数据缓冲区中存储的所述标准数据进行依次搜索,在搜索到数据开始标志位时继续搜索直到搜索到与数据结束标志位,将所述数据开始标志位和所述数据结束标志位之间的数据、所述数据开始标志位以及所述数据结束标志位拷贝到预定存储区域,得到待处理数据;
其中,所述搜索单元还包括:判断模块,用于判断所述数据缓冲区中存储的所述标准数据的数量是否为两个,得到判断结果;搜索模块,用于在所述判断结果表示所述标准数据的数量为两个的情况下,对所述数据缓冲区中存储的所述标准数据进行依次搜索;控制模块,用于在所述判断结果表示所述标准数据的数量不为两个的情况下,控制所述数据缓存区继续接收所述标准数据;
其中,所述存储单元包括:确定模块,用于确定多个原始数据中每一个原始数据的数据长度二;截取模块,用于根据长度一以及多个原始数据中每一个原始数据的数据长度二对多个原始数据进行数据截取;
其中,所述截取模块包括:判断子模块,用于判断多个原始数据中的第一个原始数据的数据长度三是否小于长度一;提取子模块,用于在多个原始数据中的第一个原始数据的数据长度三不小于长度一,则按照长度一从第一个原始数据的第一个字节开始进行数据提取,直到得到与长度一数量相同的多个字节;处理子模块,用于在多个原始数据中的第一个原始数据的数据长度三小于长度一,则确定第一个原始数据与长度一的字节差值,将多个原始数据中的第二个原始数据由前往后提取预定个数的字节补入第一个原始数据,其中,预定数个数与字节差值的大小相同。
7.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至5中任意一项所述的传感器数据的提取方法。
8.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至5中任意一项所述的传感器数据的提取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910233407.1A CN109918545B (zh) | 2019-03-26 | 2019-03-26 | 传感器数据的提取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910233407.1A CN109918545B (zh) | 2019-03-26 | 2019-03-26 | 传感器数据的提取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109918545A CN109918545A (zh) | 2019-06-21 |
CN109918545B true CN109918545B (zh) | 2021-06-08 |
Family
ID=66966993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910233407.1A Active CN109918545B (zh) | 2019-03-26 | 2019-03-26 | 传感器数据的提取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109918545B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110798518A (zh) * | 2019-10-25 | 2020-02-14 | 深圳市元征科技股份有限公司 | 一种数据传输方法及装置、终端设备、存储介质 |
CN111263249B (zh) * | 2019-11-29 | 2022-04-15 | 湖北航天飞行器研究所 | 遥测数据的处理方法、装置及可读存储介质 |
CN112637355B (zh) * | 2020-12-25 | 2023-05-23 | 新天科技股份有限公司 | 基于多并发单通道无线数据处理方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077152A (zh) * | 2012-12-25 | 2013-05-01 | 北京四方继保自动化股份有限公司 | 一种用于智能变电站终端设备芯片间的通信加速方法 |
CN103957080A (zh) * | 2014-04-30 | 2014-07-30 | 浙江中控技术股份有限公司 | 一种数据完整性校验方法及系统 |
CN104539542A (zh) * | 2014-12-03 | 2015-04-22 | 南京邮电大学 | 一种基于移动Sink数据收集的低能耗路由树枝剪方法 |
CN107703950A (zh) * | 2017-10-30 | 2018-02-16 | 燕山大学 | 一种利用体感控制的水下机器人及控制方法 |
CN109062507A (zh) * | 2018-07-18 | 2018-12-21 | 武汉中旗生物医疗电子有限公司 | 心电数据的处理储存方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7917528B1 (en) * | 2007-04-02 | 2011-03-29 | Google Inc. | Contextual display of query refinements |
US20120239689A1 (en) * | 2011-03-16 | 2012-09-20 | Rovi Technologies Corporation | Communicating time-localized metadata |
CN103413161B (zh) * | 2013-07-30 | 2018-04-27 | 复旦大学 | 一种可切换为安全模式的电子标签及切换的方法 |
CN104158908B (zh) * | 2014-08-29 | 2017-11-17 | 北京奇虎科技有限公司 | 基于WiFi设备传输文件的方法及系统 |
-
2019
- 2019-03-26 CN CN201910233407.1A patent/CN109918545B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077152A (zh) * | 2012-12-25 | 2013-05-01 | 北京四方继保自动化股份有限公司 | 一种用于智能变电站终端设备芯片间的通信加速方法 |
CN103957080A (zh) * | 2014-04-30 | 2014-07-30 | 浙江中控技术股份有限公司 | 一种数据完整性校验方法及系统 |
CN104539542A (zh) * | 2014-12-03 | 2015-04-22 | 南京邮电大学 | 一种基于移动Sink数据收集的低能耗路由树枝剪方法 |
CN107703950A (zh) * | 2017-10-30 | 2018-02-16 | 燕山大学 | 一种利用体感控制的水下机器人及控制方法 |
CN109062507A (zh) * | 2018-07-18 | 2018-12-21 | 武汉中旗生物医疗电子有限公司 | 心电数据的处理储存方法及装置 |
Non-Patent Citations (1)
Title |
---|
数控机床状态及生产信息采集系统设计研究;刘忠凯;《中国优秀硕士学位论文全文数据库 工程科技I辑》;20150715;B022-579 * |
Also Published As
Publication number | Publication date |
---|---|
CN109918545A (zh) | 2019-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109918545B (zh) | 传感器数据的提取方法及装置 | |
CN109451006B (zh) | 一种数据传输方法、装置、服务器及计算机存储介质 | |
KR101456757B1 (ko) | SQLite 데이터베이스에서 삭제된 데이터의 복원 방법 및 장치 | |
WO2014067240A1 (zh) | 一种恢复移动终端已删除sqlite文件的方法及装置 | |
CN108134775B (zh) | 一种数据处理方法和设备 | |
WO2013044726A1 (zh) | 数据索引的故障恢复方法和装置 | |
CN109241780A (zh) | 一种图像隐藏信息的检测方法、装置及设备 | |
WO2017097106A1 (zh) | 一种文件差量的传输方法以及装置 | |
WO2012026884A1 (en) | Method and device for reassembling a data file | |
CN106445616B (zh) | 终端设备从多系统至单系统的升级方法及装置 | |
CN111159497A (zh) | 正则表达式的生成方法及基于正则表达式的数据提取方法 | |
CN105808583A (zh) | 文件类型识别方法及装置 | |
CN106899558B (zh) | 访问请求的处理方法、装置和存储介质 | |
CN105095390B (zh) | 基于poi数据的连锁品牌采集方法及装置 | |
CN111563017B (zh) | 数据处理方法及装置 | |
CN106453663B (zh) | 改进的基于云服务的存储扩容方法及装置 | |
CN111198855B (zh) | 日志数据的处理方法和装置 | |
WO2015055062A1 (zh) | 数据文件写入方法及系统、数据文件读取方法及系统 | |
CN109658985B (zh) | 一种基因参考序列的去冗余优化方法及系统 | |
CN108108467B (zh) | 数据删除方法及装置 | |
CN107818136B (zh) | 用于回收垃圾对象数据的方法和装置 | |
CN112825081B (zh) | 录像信息处理方法、装置、电子设备、处理器及可读介质 | |
CN111026896B (zh) | 特征值存储、处理方法、设备及存储装置 | |
CN113326141A (zh) | 一种区块链节点的内存管理方法和装置 | |
CN108182127B (zh) | 一种提取已删除文件碎片的方法、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |