发明内容
本发明所要解决的技术问题是现有技术中采用无线数据集中器中转发送多个温度数据带来的整个温度采集系统造价高和容错能力差的技术问题,从而提供一种稳定性好且造价低的基于后备冗余数据的低功耗在线采集系统和采集方法。
为解决上述技术问题,本发明是通过以下技术方案实现的:
一种基于后备冗余数据的低功耗在线采集系统,所述系统包括:
数据中心控制器;和
并列连接到所述数据中心控制器上的M条数据采集节点链路,将并列连接的M条所述链路从1到M顺序编号,且编号后第2条链路到第M条链路以逐渐远离第1条链路的方向顺次排列,M为整数且M≥2;
每条链路包括N个串行通讯连接的温度采集节点,每一个所述温度采集节点设置在一个测温点上,且N个所述温度采集节点从距离数据中心控制器最近的链路近端向距离数据中心控制器最远的链路远端从1到N顺序编号,N为整数且N≥1;
温度采集节点(m,n)代表第m条链路上的第n个温度采集节点,m和n均为自然数,且m≤M,n≤N;每一个所述温度采集节点(m,n)包括:
节点状态切换单元,用于控制所述温度采集节点(m,n)进入工作状态或休眠状态;
控制单元,包括节点温度检测控制模块、同链路相邻节点温度数据接收控制模块、冗余节点温度采集控制模块和温度数据打包模块;
温度测量单元,用于在所述节点温度检测控制模块的控制下周期性地检测所述温度采集节点(m,n)的温度数据并将检测到的温度数据存储至所述温度数据打包模块;
无线传输单元,在温度采集节点(m,n+1)发送数据时,所述温度采集节点(m,n)上的同链路相邻节点温度数据接收控制模块控制该温度采集节点(m,n)的无线传输单元进入等待接收状态,在预定时间T1内接收温度采集节点(m,n+1)发送的温度数据,并将接收到的温度采集节点(m,n+1)发送的温度数据存储至所述温度采集节点(m,n)上的温度数据打包模块;在温度采集节点(m+1,n)和/或温度采集节点(m-1,n)发送温度数据时,所述温度采集节点(m,n)上的冗余节点温度采集控制模块控制该温度采集节点(m,n)的无线传输单元进入等待接收状态,在预定时间T1内接收温度采集节点(m+1,n)和/或温度采集节点(m-1,n)发送的温度数据,并将接收到的温度采集节点(m+1,n)和/或温度采集节点(m-1,n)发送的温度数据存储至所述温度采集节点(m,n)上的温度数据打包模块;和
电池单元,用于给所述节点状态切换单元、所述控制单元、所述温度测量单元和所述无线传输单元供电;
所述温度数据打包模块从温度采集节点(m+1,n)和/或温度采集节点(m-1,n)发送的温度数据中提取出q级冗余链路上的温度采集节点检测到的温度数据后与检测到的所述温度采集节点(m,n)的温度数据和接收到的所述温度采集节点(m,n+1)发送的温度数据打包后经所述无线传输模块发送;
其中,q为单侧冗余级数,所述q级冗余链路上的温度采集节点指:第(m-q)条链路到第(m-1)条链路和/或第(m+1)条链路到第(m+q)条链路中的第n个温度采集节点至第N个温度采集节点,q为整数且1≤q≤M-1;。
所述冗余节点温度采集控制模块进一步包括:
侧向冗余因子p和单侧冗余级数q配置模块,用于设定所述侧向冗余因子p和所述单侧冗余级数q,其中,所述侧向冗余因子p用于标识冗余为前向单侧冗余或后向单侧冗余或双侧冗余,所述前向单侧冗余为从第m条链路向第m+1条链路方向的冗余,所述后向单侧冗余为从第m条链路向第m-1条链路方向的冗余;所述双侧冗余包括前向单侧冗余和后向单侧冗余;和
侧向冗余因子判断模块,接收所述侧向冗余因子p和单侧冗余级数q配置模块设定的所述侧向冗余因子p,判断所述冗余为前向单侧冗余或后向单侧冗余或双侧冗余:
前向单侧冗余时,所述温度采集节点(m,n)上的所述无线传输单元在其上的所述冗余节点温度采集控制模块控制下接收温度采集节点(m+1,n)发送的温度数据并存储至其上的所述温度数据打包模块;
后向单侧冗余时,所述温度采集节点(m,n)上的所述无线传输单元在其上的所述冗余节点温度采集控制模块控制下接收温度采集节点(m-1,n)发送的温度数据并存储至其上的所述温度数据打包模块;
双侧冗余时,所述温度采集节点(m,n)上的所述无线传输单元在其上的所述冗余节点温度采集控制模块控制下接收温度采集节点(m-1,n)和温度采集节点(m+1,n)发送的温度数据并存储至其上的所述温度数据打包模块。
所述温度数据打包模块进一步包括完整温度数据打包模块和压缩温度数据打包模块,
其中,所述完整温度数据打包模块用于打包完整的温度数据,打包后的完整温度数据包包括帧头、完整数据段和标识温度采集节点温度数据处于数据上传状态或丢失状态的节点状态标志位;所述完整数据段中存储有q级冗余链路上的温度采集节点检测到的温度数据、所述温度采集节点(m,n)上检测到的温度数据和接收到的所述温度采集节点(m,n+1)发送的温度数据;
所述压缩温度数据打包模块用于打包压缩的温度数据,打包后的压缩温度数据包包括帧头、压缩数据段和标志位;所述压缩数据段中存储有通过所述标志位压缩后的温度数据;所述标志位包括标识温度采集节点温度数据处于数据上传状态或丢失状态的节点状态标志位,同时还包括如下标志位中的至少一种:
历史温度比较标志位,用于标识当前检测到的温度数据和该温度采集节点上次检测到的温度数据是否相同;在当前检测到的温度数据和该温度采集节点上次检测到的温度数据相同时,仅用所述历史温度比较标志位标记所述温度采集节点当前检测的温度数据,且所述压缩数据段中不包括该温度采集节点当前检测到的温度数据;
同期温度比较标志位,用于标记一个温度采集节点与所述压缩数据段中相邻的前一个温度采集节点的温度数据是否相同;如该温度采集节点上的温度数据与相邻的前一个温度采集节点上的温度数据相同,则仅用所述同期温度比较标志位标记所述温度采集节点当前检测的温度数据,且所述压缩数据段中不包括该温度采集节点当前检测的温度数据。
所述帧头包括帧长度、目的地址和源地址,其中所述帧长度、所述目的地址和所述源地址分别占1个字节;
所述完整数据段或所述压缩数据段最多包括(pq+1)*N个温度采集节点的温度数据,每个温度采集节点的温度数据占1.5个字节,所述完整数据段或所述压缩数据段最大为1.5*(pq+1)*N个字节,若1.5*(pq+1)*N不为整数字节,则向上取整字节;其中前向单侧冗余或后向单侧冗余时,p取值1,双侧冗余时p取值2;
每个所述标志位占用1个比特位。
一种基于上述的基于后备冗余数据的低功耗在线采集系统的在线采集方法,包括如下步骤:
S0:令m=1,n=N;
S1:所述节点状态切换单元控制所述温度采集节点(m,n)进入工作状态,所述温度数据打包模块从存储的温度采集节点(m+1,n)和/或温度采集节点(m-1,n)的温度数据中提取出q级冗余链路上的温度采集节点检测到的温度数据并存储;直到到达预定时间T1,然后所述温度采集节点(m,n)在其上的所述节点状态切换单元的控制下转入休眠状态,到达工作时间后所述节点状态切换单元控制所述温度采集节点(m,n)进入工作状态;
S2:判断n是否等于N,若n=N则进入步骤S4,否则进入步骤S3;
S3:在温度采集节点(m,n+1)开始发送温度数据时,所述温度采集节点(m,n)的同链路相邻节点温度数据接收控制模块控制所述无线传输单元等待接收温度采集节点(m,n+1)发送的温度数据;直到到达预定时间T1,所述同链路相邻节点温度数据接收控制模块将接收到的温度数据存储至所述温度数据打包模块;所述温度采集节点(m,n+1)在其上的节点状态切换单元的控制下进入休眠状态;
所述温度测量单元测量所述温度采集节点(m,n)的温度数据并将测量得到的温度数据存储至所述温度数据打包模块;
所述温度数据打包模块将所述q级冗余链路上的温度采集节点检测到的温度数据、所述温度采集节点(m,n+1)发送的温度数据以及检测到的所述温度采集节点(m,n)的温度数据打包后经所述无线传输模块发送;
所述温度采集节点(m,n-1)在其同链路相邻节点温度数据接收控制模块的控制下接收所述温度采集节点(m,n)发送的温度数据,直到到达预定时间T1,将所述温度采集节点(m,n)发送的温度数据存储至其温度数据打包模块后,在其节点温度检测控制模块的控制下检测所述温度采集节点(m,n-1)的温度数据;
所述温度采集节点(m+1,n)和/或所述温度采集节点(m-1,n)在各自所述冗余节点温度采集控制模块的控制下接收所述温度采集节点(m,n)发送的温度数据,直到到达预定时间T1,将所述温度采集节点(m,n)发送的温度数据存储至其上的温度数据打包模块后,在各自所述节点状态切换单元的控制下进入休眠状态;
所述温度采集节点(m,n)发送温度数据,直到到达预定时间T1,所述温度采集节点(m,n)在其上的所述节点状态切换单元控制下进入休眠状态,到达工作时间后所述节点状态切换单元控制所述温度采集节点(m,n)进入工作状态后转入步骤S5;
S4:所述节点温度检测控制模块控制所述温度测量单元检测所述温度采集节点(m,N)的温度数据并将检测到的温度数据存储至所述温度数据打包模块;
所述温度数据打包模块将所述q级冗余链路上的温度采集节点检测到的温度数据,与检测到的所述温度采集节点(m,N)的温度数据打包后经所述无线传输模块发送;
所述温度采集节点(m,N-1)在其同链路相邻节点温度数据接收控制模块的控制下接收所述温度采集节点(m,N)发送的温度数据,直到到达预定时间T1,将所述温度采集节点(m,N)发送的温度数据存储至其温度数据打包模块后,在所述温度采集节点(m,N-1)的节点温度检测控制模块的控制下检测所述温度采集节点(m,N-1)的温度数据;
所述温度采集节点(m+1,N)和/或所述温度采集节点(m-1,N)在各自所述冗余节点温度采集控制模块的控制下接收所述温度采集节点(m,N)发送的温度数据,直到到达预定时间T1,将所述温度采集节点(m,N)发送的温度数据存储至其温度数据打包模块后,在各自所述节点状态切换单元的控制下进入休眠状态;
所述温度采集节点(m,N)发送温度数据,直到到达预定时间T1,所述温度采集节点(m,N)在其上的所述节点状态切换单元控制下进入休眠状态,到达工作时间后所述节点状态切换单元控制所述温度采集节点(m,N)进入工作状态;
S5:在所述温度采集节点(m+1,n)和/或温度采集节点(m-1,n)发送温度数据时,所述温度采集节点(m,n)上的所述无线传输单元在其上的所述冗余节点温度采集控制模块的控制下等待接收温度采集节点(m+1,n)和/或温度采集节点(m-1,n)发送的温度数据;直到到达预定时间T1,所述温度采集节点(m,n)在其上的所述冗余节点温度采集控制模块的控制下将接收到的温度数据存储至所述温度数据打包模块,在其上的节点状态切换单元的控制下进入休眠状态;所述温度采集节点(m+1,n)和/或温度采集节点(m-1,n)发送温度数据,直到到达预定时间T1,所述温度采集节点(m+1,n)和/或温度采集节点(m-1,n)在其各自的节点状态切换单元的控制下进入休眠状态;
S6:判断是否n-1=0,若不等于0则令n=n-1后进入所述步骤S1;若n-1=0,则将所述温度采集节点(m,n)的温度数据直接发送至所述数据中心控制器,并进一步判断是否m=M,若是则转入所述步骤S7,否则令m=m+1,n=N后返回所述步骤S1;
S7:到达工作时间后所述温度采集节点(m,n)在其上的所述节点状态切换单元控制下进入工作状态转入步骤S0。
一种基于上述的基于后备冗余数据的低功耗在线采集系统的在线采集方法,包括如下步骤:
S0’:令m=1,n=N;
S1’:所述节点状态切换单元控制所述温度采集节点(m,n)进入工作状态,所述温度数据打包模块从存储的温度采集节点(m+1,n)和/或温度采集节点(m-1,n)的温度数据中提取出q级冗余链路上的温度采集节点检测到的温度数据并存储;直到到达预定时间T1,然后所述温度采集节点(m,n)在其上的所述节点状态切换单元的控制下转入休眠状态,到达工作时间后所述节点状态切换单元控制所述温度采集节点(m,n)进入工作状态;
S2’:在温度采集节点(m,n+1)开始发送温度数据时,所述温度采集节点(m,n)的同链路相邻节点温度数据接收控制模块控制所述无线传输单元等待接收温度采集节点(m,n+1)发送的温度数据;直到到达预定时间T1,所述同链路相邻节点温度数据接收控制模块将接收到的温度数据存储至所述温度数据打包模块;所述温度采集节点(m,n+1)在其上的节点状态切换单元的控制下进入休眠状态;
所述温度测量单元测量所述温度采集节点(m,n)的温度数据并将测量得到的温度数据存储至所述温度数据打包模块;
所述温度数据打包模块将所述q级冗余链路上的温度采集节点检测到的温度数据、所述温度采集节点(m,n+1)发送的温度数据以及检测到的所述温度采集节点(m,n)的温度数据打包后经所述无线传输模块发送;
所述温度采集节点(m,n-1)在其同链路相邻节点温度数据接收控制模块的控制下接收所述温度采集节点(m,n)发送的温度数据,直到到达预定时间T1,将所述温度采集节点(m,n)发送的温度数据存储至其温度数据打包模块后,在其节点温度检测控制模块的控制下检测所述温度采集节点(m,n-1)的温度数据;
所述温度采集节点(m+1,n)和/或所述温度采集节点(m-1,n)在各自所述冗余节点温度采集控制模块的控制下接收所述温度采集节点(m,n)发送的温度数据,直到到达预定时间T1,将所述温度采集节点(m,n)发送的温度数据存储至其上的温度数据打包模块后,在各自所述节点状态切换单元的控制下进入休眠状态;
所述温度采集节点(m,n)发送温度数据后,直到到达预定时间T1,所述温度采集节点(m,n)在其上的所述节点状态切换单元控制下进入休眠状态,到达工作时间后所述节点状态切换单元控制所述温度采集节点(m,n)进入工作状态后转入步骤S3’;
S3’:在所述温度采集节点(m+1,n)和/或温度采集节点(m-1,n)发送温度数据时,所述温度采集节点(m,n)上的无线传输单元在其上的所述冗余节点温度采集控制模块控制下等待接收温度采集节点(m+1,n)和/或温度采集节点(m-1,n)发送的温度数据;直到到达预定时间T1,所述温度采集节点(m,n)在其上的所述冗余节点温度采集控制模块的控制下将接收到的温度数据存储至所述温度数据打包模块,在其上的节点状态切换单元的控制下进入休眠状态;所述温度采集节点(m+1,n)和/或温度采集节点(m-1,n)发送温度数据,直到到达预定时间T1,在各自的所述节点状态切换单元的控制下转入休眠状态;
S4’:判断是否n-1=0,若不等于0则令n=n-1后进入所述步骤S1’;若n-1=0,则将所述温度采集节点(m,n)的温度数据直接发送至所述数据中心控制器,并进一步判断是否m=M,若是则转入所述步骤S5’,否则令m=m+1,n=N后返回所述步骤S1’;
S5’:到达工作时间后所述温度采集节点(m,n)在其上的所述节点状态切换单元控制下进入工作状态转入步骤S0’。
在所述步骤S0或S0’之前,还包括通过所述侧向冗余因子p和单侧冗余级数q配置模块配置侧向冗余因子p和单侧冗余级数q的步骤。
所述温度数据打包模块还进一步包括完整温度数据打包步骤和压缩温度数据打包步骤,其中,
完整温度数据打包步骤,用于打包完整的温度数据,打包后的完整温度数据包包括帧头、完整数据段和标识温度采集节点温度数据处于数据上传状态或丢失状态的节点状态标志位;其中
所述压缩温度数据打包步骤用于打包压缩的温度数据,打包后的压缩温度数据包包括帧头、压缩数据段和标志位;所述标志位包括标识温度采集节点温度数据处于数据上传状态或丢失状态的节点状态标志位,同时还包括如下标志位中的至少一种:
历史温度比较标志位,用于标识当前检测到的温度数据和该温度采集节点上次检测到的温度数据是否相同;在当前检测到的温度数据和该温度采集节点上次检测到的温度数据相同时,仅用所述历史温度比较标志位标记所述温度采集节点当前检测的温度数据,且所述压缩数据段中不包括该温度采集节点当前检测到的温度数据;
同期温度比较标志位,用于标记一个温度采集节点与所述压缩数据段中相邻的前一个温度采集节点的温度数据是否相同;如该温度采集节点上的温度数据与相邻的前一个温度采集节点上的温度数据相同,则仅用所述同期温度比较标志位标记所述温度采集节点当前检测的温度数据,且所述压缩数据段中不包括该温度采集节点当前检测的温度数据。
所述帧头包括帧长度、目的地址和源地址,其中所述帧长度、所述目的地址和所述源地址分别占1个字节;
所述完整数据段或所述压缩数据段最多包括(pq+1)*N个温度采集节点的温度数据,每个温度采集节点的温度数据占1.5个字节,所述完整数据段或所述压缩数据段最大为1.5*(pq+1)*N个字节,若1.5*(pq+1)*N不为整数字节,则向上取整字节;
每个所述标志位占用1个比特位。
本发明的上述技术方案相比现有技术具有以下优点:
(1)本发明所述的一种基于后备冗余数据的低功耗在线采集系统和采集方法,数据中心控制器通过所述温度采集节点(m,1)接收多条数据采集节点链路上的温度数据,每条链路上的温度采集节点从(m,N)到(m,1)顺次串行通讯连接,无需设置单独的无线数据集中器,即可实现温度数据的采集,使得本发明的在线采集系统造价大大降低;同时,每个温度采集节点均接收并存储有冗余节点上检测到的温度数据,在某个温度采集节点出错或者电力不足不能正常工作导致某一条传输路径出现问题时,该传输路径上的温度数据可通过其它温度采集节点构成的传输路径传输,实现冗余数据通信的功能,可以保证在某个或某几个温度采集节点出现故障或不能传输数据的时候,不影响其他温度采集节点的数据传输,因此可以避免因某个温度采集节点失效而导致大面积的通信故障,稳定性好。
(2)本发明所述的一种基于后备冗余数据的低功耗在线采集系统和采集方法,所述侧向冗余因子p和单侧冗余级数q可以根据系统对数据的负载能力以及系统在不同环境下的对容错性的需要来配置:如当环境比较恶略,对无线传输信号干扰较大时,可根据系统的承受能力,可将侧向冗余因子p配置为双向冗余,和/或将单侧冗余级数q增大,这样保证整个系统在满足稳定性的同时,能够最大可能的降低功耗。
(3)本发明所述的一种基于后备冗余数据的低功耗在线采集系统和采集方法,传输压缩的温度数据,可以大大减少传输的温度数据量,缩短传输时间,降低能耗,延长电池单元的使用时间;同时,在传输周期开始时传输完整的温度数据,可以有效避免当温度数据上报失败并且以后的温度维持不变时,数据中心控制器只收到“与上次温度相同”的报告,从而导致不能及时更新数据的情况的出现。
(4)本发明所述的一种基于后备冗余数据的在线采集系统和采集方法,对温度数据进行压缩,压缩后的温度数据包括标志位,其中,历史温度比较标志位来表示所述系统节点的温度与上一周期的温度相比是否改变,并在当前温度数据与上一次温度数据相同时,仅用历史温度比较标志位标记当前温度数据,打包后的压缩数据包里不包括该温度采集节点的当前温度数据,充分考虑环境温度的稳定性,可大大减少传输的数据量,降低传输时间,进一步降低功耗;同期温度比较标志表示在同一周期内所述系统节点的温度与上一节点的温度是否一致,如该温度采集节点上的温度数据与相邻的前一个温度采集节点上的温度数据相同,则仅用所述同期温度比较标志位标记所述温度采集节点当前检测的温度数据,且所述数据段中不包括该温度采集节点当前检测的温度数据;不需要通过温度数据字段重新传输节点温度,温度数据字段的后续字节向前移位,减少温度数据字段的长度,降低传输的数据量,从而降低功耗,提高电池使用时间。特别适合于各个测温点之间温度基本恒定的在线温度采集系统,可最大程度的压缩传输的数据量,将功耗降到最低。
具体实施方式
参见图1,根据本实施例的基于后备冗余数据的低功耗在线采集系统包括:数据中心控制器和并列连接到所述数据中心控制器上的3条数据采集节点链路。将并列连接的3条所述链路从1到3顺序编号,且编号后第2条链路和第3条链路以逐渐远离第1条链路的方向顺次排列。从图1中可以看出,每条链路包括16个串行通讯连接的温度采集节点,每一个所述温度采集节点设置在一个测温点上,且所述16个温度采集节点从距离数据中心控制器最近的链路近端向距离数据中心控制器最远的链路远端从1到16顺序编号。
以温度采集节点(m,n)代表第m条链路上的第n个温度采集节点,m和n均为自然数,且m≤3,n≤16。
图2给出了每一个所述温度采集节点(m,n)的结构框图,其包括:
节点状态切换单元,用于控制所述温度采集节点(m,n)进入工作状态或休眠状态。
控制单元,包括节点温度检测控制模块、同链路相邻节点温度数据接收控制模块、冗余节点温度采集控制模块和温度数据打包模块。
温度测量单元,用于在所述节点温度检测控制模块的控制下周期性地检测所述温度采集节点(m,n)的温度数据并将检测到的温度数据存储至所述温度数据打包模块。
无线传输单元,在所述温度采集节点(m,n+1)发送数据时,所述温度采集节点(m,n)上的同链路相邻节点温度数据接收控制模块控制该温度采集节点(m,n)的无线传输单元进入等待接收状态,在预定时间T1内接收温度采集节点(m,n+1)发送的温度数据,并将接收的温度采集节点(m,n+1)发送的温度数据存储至所述温度采集节点(m,n)上的温度数据打包模块;在所述温度采集节点(m+1,n)和/或温度采集节点(m-1,n)发送温度数据时,所述温度采集节点(m,n)上的冗余节点温度采集控制模块控制该温度采集节点(m,n)的无线传输单元进入等待接收状态,在预定时间T1内接收温度采集节点(m+1,n)和/或温度采集节点(m-1,n)发送的温度数据,并将接收的温度采集节点(m+1,n)和/或温度采集节点(m-1,n)发送的温度数据存储至所述温度采集节点(m,n)上的温度数据打包模块。
还包括电池单元,用于给所述节点状态切换单元、所述控制单元、所述温度测量单元和所述无线传输单元供电。
本实施例中,所述温度数据打包模块,从温度采集节点(m+1,n)和/或温度采集节点(m-1,n)发送的温度数据中提取出q级冗余链路上的温度采集节点检测到的温度数据后与检测到的所述温度采集节点(m,n)的温度数据和接收到的所述温度采集节点(m,n+1)发送的温度数据打包后经所述无线传输模块发送给所述温度采集节点(m,n-1)、所述温度采集节点(m+1,n)和/或所述温度采集节点(m-1,n)。
其中,q为单侧冗余级数,所述q级冗余链路上的温度采集节点指:第(m-q)条链路到第(m-1)条链路和/或第(m+1)条链路到第(m+q)条链路中的第n个温度采集节点至第N个温度采集节点,q为整数且1≤q≤M-1。
优选地,所述温度数据打包模块进一步包括完整温度数据打包模块和压缩温度数据打包模块,其中,所述完整温度数据打包模块用于打包完整的温度数据,打包后的完整温度数据包包括帧头、完整数据段和标识温度采集节点温度数据处于数据上传状态或丢失状态的节点状态标志位;所述完整数据段中存储有q级冗余链路上的温度采集节点检测到的温度数据、所述温度采集节点(m,n)上检测到的温度数据和接收到的所述温度采集节点(m,n+1)发送的温度数据。
所述压缩温度数据打包模块用于打包压缩的温度数据,打包后的压缩温度数据包包括帧头、压缩数据段和标志位;所述压缩数据段中存储有通过所述标志位压缩后的温度数据;所述标志位包括标识温度采集节点温度数据处于数据上传状态或丢失状态的节点状态标志位,同时还包括如下标志位中的至少一种:
历史温度比较标志位,用于标识当前检测到的温度数据和该温度采集节点上次检测到的温度数据是否相同;在当前检测到的温度数据和该温度采集节点上次检测到的温度数据相同时,仅用所述历史温度比较标志位标记所述温度采集节点当前检测的温度数据,且所述压缩数据段中不包括该温度采集节点当前检测到的温度数据。
同期温度比较标志位,用于标记一个温度采集节点与所述压缩数据段中相邻的前一个温度采集节点的温度数据是否相同;如该温度采集节点上的温度数据与相邻的前一个温度采集节点上的温度数据相同,则仅用所述同期温度比较标志位标记所述温度采集节点当前检测的温度数据,且所述压缩数据段中不包括该温度采集节点当前检测的温度数据。
进一步优选地,所述完整数据段或所述压缩数据段最多包括(pq+1)*N个温度采集节点的温度数据,每个温度采集节点的温度数据占1.5个字节,所述完整数据段或所述压缩数据段最大为1.5*(pq+1)*N个字节,若1.5*(pq+1)*N不为整数字节,则向上取整字节;其中前向单侧冗余或后向单侧冗余时,p取值1,双侧冗余时p取值2。
每个所述标志位占用1个比特位。
优选地,所述冗余节点温度采集控制模块进一步包括:
侧向冗余因子p和单侧冗余级数q配置模块,用于设定所述侧向冗余因子p和所述单侧冗余级数q,其中,所述侧向冗余因子p用于标识冗余为前向单侧冗余或后向单侧冗余或双侧冗余,所述前向单侧冗余为从第m条链路向第m+1条链路方向的冗余,所述后向单侧冗余为从第m条链路向第m-1条链路方向的冗余;所述双侧冗余包括前向单侧冗余和后向单侧冗余;和
侧向冗余因子判断模块,接收所述侧向冗余因子p和单侧冗余级数q配置模块设定的所述侧向冗余因子p,判断所述冗余为前向单侧冗余或后向单侧冗余或双侧冗余:
前向单侧冗余时,所述温度采集节点(m,n)上的所述无线传输单元在其上的所述冗余节点温度采集控制模块控制下接收温度采集节点(m+1,n)发送的温度数据并存储至其上的所述温度数据打包模块。
后向单侧冗余时,所述温度采集节点(m,n)上的所述无线传输单元在其上的所述冗余节点温度采集控制模块控制下接收温度采集节点(m-1,n)发送的温度数据并存储至其上的所述温度数据打包模块。
双侧冗余时,所述温度采集节点(m,n)上的所述无线传输单元在其上的所述冗余节点温度采集控制模块控制下接收温度采集节点(m-1,n)和温度采集节点(m+1,n)发送的温度数据并存储至其上的所述温度数据打包模块。
一种基于上述基于后备冗余数据的低功耗在线采集系统的第一个实施例的在线采集方法,其采集过程包括如下步骤:
第一条链路、第二条链路、第三条链路顺次进行温度数据采集,在任一条链路进行温度数据采集的过程中,其他两条链路均处于休眠状态。对进行温度数据采集的链路而言,该链路上的温度采集节点按照从链路远端至链路近端的顺序依次进入工作状态,并在发送温度数据到达预定时间T1后依次进入休眠状态。
系统开始工作前,每一所述温度采集节点(m,n)中的侧向冗余因子P和单侧冗余级数q配置模块配置侧向冗余因子P=2即为双侧冗余,单侧冗余级数q=1;作为其他实施方式所述侧向冗余因子P和单侧冗余级数q也可为不可配置的,比如通过编程将P和q赋值。
第一条链路上的温度采集节点按照如下顺序开始温度数据采集:
S10:所述温度采集节点(1,16)在其上的节点状态切换单元控制下进入工作状态;
S11:所述温度采集节点(1,16)中的温度测量单元测量所述温度采集节点(1,16)的温度数据并将测量得到的温度数据存储至所述温度采集节点(1,16)的温度数据打包模块;
S12:所述温度采集节点(1,16)中的所述温度数据打包模块将所述温度采集节点(1,16)自身的温度数据打包后经所述无线传输模块发送;
由于本实施例中预先设定为双侧冗余,且冗余级数为1,因此当所述温度采集节点(1,16)发送温度数据时,除了同链路上与其相邻的温度采集节点(1,15)会接收之外,还有其后向冗余链路上的冗余节点(2,16)接收其发送的温度数据;此时所述温度采集节点(1,16)的前向冗余链路上的冗余节点不存在。
在所述温度采集节点(1,16)开始发送温度数据时,所述温度采集节点(1,15)在其同链路相邻节点温度数据接收控制模块的控制下进入等待接收状态;同时,所述温度采集节点(2,16)在其冗余节点温度采集控制模块的控制下进入等待接收状态;
直到所述温度采集节点(1,16)发送温度数据的时间到达预定时间T1后,所述温度采集节点(1,16)在其上的节点状态切换单元控制下进入休眠状态;所述温度采集节点(2,16)将接收的温度数据存储至其上的温度数据打包模块后在其上的节点状态切换单元控制下进入休眠状态;所述温度采集节点(1,15),将所述温度采集节点(1,16)发送的温度数据存储至其上的温度数据打包模块后,在其所述节点温度检测控制模块的控制下检测所述温度采集节点(1,15)的温度数据;此时,所述温度采集节点(1,15)将所述温度采集节点(1,16)发送的温度数据与检测到的所述温度采集节点(1,15)的温度数据打包后经其上的无线传输单元发送;
在所述温度采集节点(1,16)开始发送温度数据时,所述温度采集节点(1,15)在其同链路相邻节点温度数据接收控制模块的控制下进入等待接收状态;同时,所述温度采集节点(2,16)在其冗余节点温度采集控制模块的控制下进入等待接收状态;
直到所述温度采集节点(1,16)发送温度数据的时间到达预定时间T1后,所述温度采集节点(1,16)在其上的节点状态切换单元控制下进入休眠状态;所述温度采集节点(2,16)将接收的温度数据存储至其上的温度数据打包模块后在其上的节点状态切换单元控制下进入休眠状态;所述温度采集节点(1,15),将所述温度采集节点(1,16)发送的温度数据存储至其上的温度数据打包模块后,在其所述节点温度检测控制模块的控制下检测所述温度采集节点(1,15)的温度数据;此时,所述温度采集节点(1,15)将所述温度采集节点(1,16)发送的温度数据与检测到的所述温度采集节点(1,15)的温度数据打包后经其上的无线传输单元发送。
在所述温度采集节点(1,15)开始发送温度数据时,所述温度采集节点(1,14)在其同链路相邻节点温度数据接收控制模块的控制下进入等待接收状态;同时,所述温度采集节点(2,15)在其冗余节点温度采集控制模块的控制下进入等待接收状态;
直到所述温度采集节点(1,15)发送温度数据的时间到达预定时间T1后,所述温度采集节点(1,15)在其上的节点状态切换单元控制下进入休眠状态;所述温度采集节点(2,15)将接收的温度数据存储至其上的温度数据打包模块后在其上的节点状态切换单元控制下进入休眠状态;所述温度采集节点(1,14),将所述温度采集节点(1,15)发送的温度数据存储至其上的温度数据打包模块后,在其所述节点温度检测控制模块的控制下检测所述温度采集节点(1,14)的温度数据;此时,所述温度采集节点(1,14)将所述温度采集节点(1,15)发送的温度数据与检测到的所述温度采集节点(1,14)的温度数据打包后经其上的无线传输单元发送。
依次类推,直到所述温度采集节点(1,1)开始发送温度数据时,所述中心数据控制器接收所述温度检测节点(1,1)发送的温度数据;同时,温度采集节点(2,1)在其冗余节点温度采集控制模块的控制下进入等待接收状态;所述温度采集节点(1,1)发送温度数据的时间到达预定时间T1后,所述温度采集节点(1,1)在其上的节点状态切换单元的控制下进入休眠状态;所述温度采集节点(2,1)在其冗余节点温度采集控制模块的控制下接收所述温度采集节点(1,1)发送的温度数据的时间到达预定时间T1后,将其接收到的所述温度采集节点(1,1)发送的温度数据存储至其上的温度数据打包模块,然后在其上的节点状态切换单元的控制下进入休眠状态;至此,第一条链路的温度数据采集过程结束。
然后第二条链路上的温度采集节点按照如下顺序开始温度数据采集:
S20:所述温度采集节点(2,16)在其上的节点状态切换单元控制下进入工作状态;
S21:所述温度采集节点(2,16)中的温度测量单元测量所述温度采集节点(2,16)的温度数据并将测量得到的温度数据存储至所述温度采集节点(2,16)的温度数据打包模块;
S22:所述温度采集节点(2,16)的温度数据打包模块从其中存储的温度采集节点(1,16)发送的温度数据中提取出所述温度采集节点(1,16)检测到的温度数据和所述温度采集节点(2,16)检测到的温度数据打包后经所述无线传输模块发送;
由于本实施例中预先设定为双侧冗余,且冗余级数为1,因此当所述温度采集节点(2,16)发送温度数据时,除了同链路上与其相邻的温度采集节点(2,15)会接收之外,还有其前向冗余链路上的冗余节点(1,16)和后向冗余链路上的冗余节点(3,16)接收其发送的温度数据。
在所述温度采集节点(2,16)开始发送温度数据时,所述温度采集节点(2,15)在其同链路相邻节点温度数据接收控制模块的控制下进入等待接收状态;同时,所述温度采集节点(1,16)和所述温度采集节点(3,16)在其各自的冗余节点温度采集控制模块的控制下进入等待接收状态。
直到所述温度采集节点(2,16)发送温度数据的时间到达预定时间T1后,所述温度采集节点(2,16)在其上的节点状态切换单元控制下进入休眠状态;所述温度采集节点(1,16)和所述温度采集节点(3,16)将接收的温度数据存储至各自的温度数据打包模块后在其各自的节点状态切换单元控制下进入休眠状态;所述温度采集节点(2,15),将所述温度采集节点(2,16)发送的温度数据存储至其上的温度数据打包模块后,在其所述节点温度检测控制模块的控制下检测所述温度采集节点(2,15)的温度数据;此时,所述温度采集节点(2,15)上的温度数据打包模块将其存储的所述温度采集节点(1,15)发送的温度数据中提取出所述温度采集节点(1,15)和所述温度采集节点(1,16)检测到的温度数据,与所述温度采集节点(2,16)发送的温度数据与检测到的所述温度采集节点(2,15)的温度数据打包后经其上的无线传输单元发送;
依次类推,直到所述温度采集节点(2,1)开始发送温度数据时,所述中心数据控制器接收所述温度检测节点(2,1)发送的温度数据;同时,温度采集节点(1,1)和温度采集节点(3,1)在各自的冗余节点温度采集控制模块的控制下进入等待接收状态;所述温度采集节点(2,1)发送温度数据的时间到达预定时间T1后,所述温度采集节点(2,1)在其上的节点状态切换单元的控制下进入休眠状态;所述温度采集节点(1,1)和所述温度采集节点(3,1)在各自的冗余节点温度采集控制模块的控制下接收所述温度采集节点(2,1)发送的温度数据的时间到达预定时间T1后,将其接收到的所述温度采集节点(2,1)发送的温度数据存储至各自的温度数据打包模块,然后在各自的节点状态切换单元的控制下进入休眠状态;至此,第二条链路的温度数据采集过程结束。
然后第三条链路上的温度采集节点按照如下顺序开始温度数据采集:
S30:所述温度采集节点(3,16)在其上的节点状态切换单元控制下进入工作状态;
S31:所述温度采集节点(3,16)中的温度测量单元测量所述温度采集节点(3,16)的温度数据并将测量得到的温度数据存储至所述温度采集节点(3,16)的温度数据打包模块;
S32:所述温度采集节点(3,16)的温度数据打包模块从其中存储的温度采集节点(2,16)发送的温度数据中提取出所述温度采集节点(2,16)检测到的温度数据和所述温度采集节点(3,16)检测到的温度数据打包后经所述无线传输模块发送;
由于本实施例中预先设定为双侧冗余,且冗余级数为1,因此当所述温度采集节点(3,16)发送温度数据时,除了同链路上与其相邻的温度采集节点(3,15)会接收之外,还有其前向冗余链路上的冗余节点(2,16)接收其发送的温度数据,此时其后向冗余链路上的冗余节点不存在。
在所述温度采集节点(3,16)开始发送温度数据时,所述温度采集节点(3,15)在其同链路相邻节点温度数据接收控制模块的控制下进入等待接收状态;同时,所述温度采集节点(2,16)在其上的冗余节点温度采集控制模块的控制下进入等待接收状态;
直到所述温度采集节点(3,16)发送温度数据的时间到达预定时间T1后,所述温度采集节点(3,16)在其上的节点状态切换单元控制下进入休眠状态;所述温度采集节点(2,16)将接收的温度数据存储至其上的温度数据打包模块后在其上的节点状态切换单元控制下进入休眠状态;所述温度采集节点(3,15),将所述温度采集节点(3,16)发送的温度数据存储至其上的温度数据打包模块后,在其所述节点温度检测控制模块的控制下检测所述温度采集节点(3,15)的温度数据;此时,所述温度采集节点(3,15)上的温度数据打包模块将其存储的所述温度采集节点(2,15)发送的温度数据中提取出所述温度采集节点(2,15)和所述温度采集节点(2,16)检测到的温度数据,与所述温度采集节点(3,16)发送的温度数据与检测到的所述温度采集节点(3,15)的温度数据打包后经其上的无线传输单元发送;
依次类推,直到所述温度采集节点(3,1)开始发送温度数据时,所述中心数据控制器接收所述温度检测节点(3,1)发送的温度数据;同时,温度采集节点(2,1)在其上的冗余节点温度采集控制模块的控制下进入等待接收状态;所述温度采集节点(3,1)发送温度数据的时间到达预定时间T1后,所述温度采集节点(3,1)在其上的节点状态切换单元的控制下进入休眠状态;所述温度采集节点(2,1)在其上的冗余节点温度采集控制模块的控制下接收所述温度采集节点(3,1)发送的温度数据的时间到达预定时间T1后,将其接收到的所述温度采集节点(3,1)发送的温度数据存储至其上的温度数据打包模块,然后在其上的节点状态切换单元的控制下进入休眠状态;至此,第三条链路的温度数据采集过程结束。
所有温度采集节点的第一次温度数据采集至此结束,所有温度采集节点均进入休眠状态。
第二次温度采集开始后,按照类似于第一次温度数据采集的顺序开始温度数据采集。与第一次温度数据采集不同的是,每个温度采集节点上的温度数据打包模块中均存储有冗余链路上的冗余节点发送的温度数据。所述温度数据打包模块从存储的冗余节点发送的温度数据中提取出冗余节点至所述冗余节点所在链路上的最远端的温度采集节点检测的温度数据,与同链路相邻节点发送的温度数据与其上检测到的温度数据一同打包后经其上的无线传输单元发送。
第三次温度采集过程、第四次温度采集过程以及后续的温度采集过程均和第二次温度采集过程相同。
在本实施例中,每条链路进行温度数据采集时,其上的最远端温度采集节点即温度采集节点(1,16)或温度采集节点(2,16)或温度采集节点(3,16)在进入工作状态后,根据实际所处测温点的位置,省去了同链路相邻节点温度数据采集过程,可简化温度数据采集流程,减少温度数据采集时间,降低系统功耗。
作为本发明第二个实施例的基于上述基于后备冗余数据的低功耗在线采集系统的在线采集方法,与第一个实施例的在线采集方法的不同在于,每条链路进行温度数据采集时,其上的最远端温度采集节点即温度采集节点(1,16)或温度采集节点(2,16)或温度采集节点(3,16)在进入工作状态后,首先在各自的同链路相邻节点温度数据接收控制模块的控制下接收相同链路相邻节点发送的温度数据,接收时间到达预定时间T1后,该最远端温度采集节点的后续工作同上述实施例中的最远端温度采集节点的工作过程。除最远端温度采集节点之外的其他温度采集节点的工作过程与上述实施例中该温度采集节点的工作过程相同。在本实施例中,每条链路进行温度数据采集时,其上的最远端温度采集节点即温度采集节点(1,16)或温度采集节点(2,16)或温度采集节点(3,16)在进入工作状态后,与其他非最远端温度采集节点的工作过程一致,都先进行同链路相邻节点温度数据的接收,这样可使得所有温度采集节点的工作过程完全一致,工作时间完全一致,方便控制,并且所有温度采集节点上的控制单元都可以采用同样的控制方法,使用同一套控制软件,降低研发成本。
作为上述第一、第二实施例的进一步优化,所述温度数据打包模块还进一步包括完整温度数据打包步骤和压缩温度数据打包步骤,其中,
完整温度数据打包步骤,用于打包完整的温度数据,打包后的完整温度数据包包括帧头、数据段和标识温度采集节点温度数据处于数据上传状态或丢失状态的节点状态标志位;其中
所述压缩温度数据打包步骤用于打包压缩的温度数据,打包后的压缩温度数据包包括帧头、数据段和标志位;所述标志位包括标识温度采集节点温度数据处于数据上传状态或丢失状态的节点状态标志位,同时还包括如下标志位中的至少一种:
历史温度比较标志位,用于标识当前检测到的温度数据和该温度采集节点上次检测到的温度数据是否相同;在当前检测到的温度数据和该温度采集节点上次检测到的温度数据相同时,仅用所述历史温度比较标志位标记所述温度采集节点当前检测的温度数据,且所述数据段中不包括该温度采集节点当前检测到的温度数据。
同期温度比较标志位,用于标记一个温度采集节点与所述数据段中相邻的前一个温度采集节点的温度数据是否相同;如该温度采集节点上的温度数据与相邻的前一个温度采集节点上的温度数据相同,则仅用所述同期温度比较标志位标记所述温度采集节点当前检测的温度数据,且所述数据段中不包括该温度采集节点当前检测的温度数据。
进一步优选地,所述帧头包括帧长度、目的地址和源地址,其中所述帧长度、所述目的地址和所述源地址分别占1个字节。
所述数据段最多包括(pq+1)*N个温度采集节点的温度数据,每个温度采集节点的温度数据占1.5个字节,所述数据段最大为1.5*(pq+1)*N个字节,若1.5*(pq+1)*N不为整数字节,则向上取整字节。
每个所述标志位占用1个比特位。
在本发明的上述实施例中,所述侧向冗余因子p和单侧冗余级数q可以根据系统对数据的负载能力以及系统在不同环境下的对容错性的需要来配置:如当环境比较恶略,对无线传输信号干扰较大时,可根据系统的承受能力,可将侧向冗余因子p配置为双向冗余,和/或将单侧冗余级数q增大,这样保证整个系统在满足稳定性的同时,能够最大可能的降低功耗。
传输压缩的温度数据,可以大大减少传输的温度数据量,缩短传输时间,降低能耗,延长电池单元的使用时间;同时,在传输周期开始时传输完整的温度数据,可以有效避免当温度数据上报失败并且以后的温度维持不变时,数据中心控制器只收到“与上次温度相同”的报告,从而导致不能及时更新数据的情况的出现。
对温度数据进行压缩,压缩后的温度数据包括标志位,其中,历史温度比较标志位来表示所述系统节点的温度与上一周期的温度相比是否改变,并在当前温度数据与上一次温度数据相同时,仅用历史温度比较标志位标记当前温度数据,打包后的压缩数据包里不包括该温度采集节点的当前温度数据,充分考虑环境温度的稳定性,可大大减少传输的数据量,降低传输时间,进一步降低功耗;同期温度比较标志表示在同一周期内所述系统节点的温度与上一节点的温度是否一致,如该温度采集节点上的温度数据与相邻的前一个温度采集节点上的温度数据相同,则仅用所述同期温度比较标志位标记所述温度采集节点当前检测的温度数据,且所述数据段中不包括该温度采集节点当前检测的温度数据;不需要通过温度数据字段重新传输节点温度,温度数据字段的后续字节向前移位,减少温度数据字段的长度,降低传输的数据量,从而降低功耗,提高电池使用时间。特别适合于各个测温点之间温度基本恒定的在线温度采集系统,可最大程度的压缩传输的数据量,将功耗降到最低。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。