本发明涉及智能家电自动网络接入领域,具体涉及一种智能家电离线数据处理方法。
背景技术:
带网络功能的智能家电,由于其在工作过程中需要和服务器建立数据交互,从而能更好的发挥其网络功能,但在实际使用中,由于各种原因导致家电无法和服务器建立连接,或者连接过程中网络发生故障,导致智能家电和服务器的网络断开,从而使得家电状态数据无法上传。
当用户控制智能家电时,往往可以从服务器获得到很多服务,比如积分积分服务、信息推送等等,这些都建立在智能家电和服务器之间无缝的数据传输上,如果智能家电断网,很多交互就无法实现,用户需要上传的信息无法上传,用户需要获取的信息无法实现。
目前,智能家电未能解决离线状态下的状态数据上传,导致服务器部分数据无法得知,而且,如果断网发生在家电工作阶段,则很多数据无法传输给服务器,服务器也无法根据家电的状态数据推送信息给用户,影响了用户体验。
技术实现要素:
本发明为了解决智能家电离线数据无法上传服务器的问题,提出了一种智能家电离线数据处理方法。
为了实现上述发明目的,本发明采取的技术方案如下:
一种智能家电离线数据处理方法,包括:
确定所述智能家电未联网时,缓存所述智能家电主控器上报的离线数据;
确定所述智能家电联网时,将所述缓存的离线数据上传至服务器。
可选地,确定所述智能家电未联网时,缓存所述智能家电主控器上报的离线数据包括:
通过所述智能家电的无线通信单元检测所述智能家电是否联网;
当所述智能家电未联网时,将所述智能家电主控器上报的离线数据缓存在所述无线通信单元的存储器中。
可选地,确定所述智能家电联网时,将所述缓存的离线数据上传至服务器包括:
通过所述智能家电的无线通信单元检测所述智能家电是否联网;
当所述智能家电联网时,将缓存在所述无线通信单元的存储器中离线数据上传至服务器。
可选地,将所述缓存的离线数据上传至服务器之后还包括:
清除所述缓存的离线数据。
可选地,所述离线数据包括以下的一项或者多项:所述智能家电的状态信息、所述智能家电使用次数、使用所述智能家电的开始时间和结束时间、输入的轨迹和异常报警信息。
可选地,缓存所述智能家电主控器上报的离线数据包括:
将所述智能家电主控器上报的离线数据缓存在离线数据列表中。
可选地,将所述缓存的离线数据上传至服务器包括:
按照所述缓存的离线数据对应的优先级顺序将所述缓存的离线数据上传至服务器;
可选地,将所述缓存的离线数据上传至服务器包括:
按照所述缓存的离线数据对应的存储时间顺序将所述缓存的离线数据上传至服务器。
优先级优先级顺序包括:
所述智能家电状态、操作次数、操作内容为第一优先级;
操作开始和结束时间为第二优先级;
按键输入轨迹和异常报警为第三优先级。
可选地,当所述离线数据列表溢出时,缓存所述智能家电主控器上报的离线数据包括:
丢弃所述智能家电最新上报的离线数据或者覆盖所述离线数据列表中保存的离线数据。
可选地,按照所述缓存的离线数据对应的存储时间顺序将所述缓存的离线数据上传至服务器包括:
通过所述智能家电的无线通信单元记录所述缓存的离线数据对应的存储时间;
按照所记录的存储时间将所述缓存的离线数据上传至服务器。
本发明和现有技术相比,具有如下有益效果:
本发明实施例提供的智能家电离线数据处理方法,在智能家电未联网时,缓存离线数据;再次联网时把离线数据上传服务器,实现离线数据的上传,保证智能家电和服务器的长期交互。更进一步地,鉴于目前智能家电主控器主要采用单片机,存储空间很小,只有几kb或者几十kb,利用设置在所述智能家电的wifi芯片或者其他无线通信单元的存储空间存储、上传所述离线数据,可以不改变现有智能家电与服务器的交互模式,同时也不占用智能家电本体存储空间,从而在实现智能家电和服务器之间无缝的数据传输的同时也不会增加智能家电的存储和处理负载。
附图说明
图1为本发明实施例的智能家电离线数据处理方法的流程图;
图2为本发明实施例的智能家电离线数据传输的结构示意图。
具体实施方式
为使本发明的发明目的、技术方案和有益效果更加清楚明了,下面结合附图对本发明的实施例进行说明,需要说明的是,在不冲突的情况下,本申请中的实施例和实施例中的特征可以相互任意组合。
如图1所示,一种智能家电离线数据处理方法,包括:
s101、确定所述智能家电未联网时,缓存所述智能家电主控器上报的离线数据;
s102、确定所述智能家电联网时,将所述缓存的离线数据上传至服务器。
本发明实施例提供的智能家电离线数据处理方法,在智能家电未联网时,缓存离线数据;再次联网时把离线数据上传服务器,实现离线数据的上传,保证智能家电和服务器的长期交互。
如图2所示,优选的,步骤s101具体包括:
通过所述智能家电的无线通信单元检测所述智能家电是否联网;
当所述智能家电未联网时,将所述智能家电主控器上报的离线数据缓存在所述无线通信单元的存储器中。
如图2所示,优选的,步骤s102具体包括:
通过所述智能家电的无线通信单元检测所述智能家电是否联网;
当所述智能家电联网时,将缓存在所述无线通信单元的存储器中离线数据上传至服务器。
鉴于目前智能家电主控器主要采用单片机,存储空间很小,只有几kb或者几十kb,利用设置在所述智能家电的wifi芯片或者其他无线通信单元的存储空间存储、上传所述离线数据,可以不改变现有智能家电与服务器的交互模式,同时也不占用智能家电本体存储空间,从而在实现智能家电和服务器之间无缝的数据传输的同时也不会增加智能家电的存储和处理负载。
可选的,步骤s102之后还包括:
s103、清除所述缓存的离线数据。
所述离线数据包括以下的一项或者多项:所述智能家电的状态信息、所述智能家电使用次数、使用所述智能家电的开始时间和结束时间、输入的轨迹和异常报警信息。
例如所述智能家电未网络豆浆机时,离线数据可以包括豆浆机状态信息、制浆次数、制浆食谱、制浆制作开始和结束时间、按键输入轨迹和异常报警信息.
优选的,步骤s101中缓存所述智能家电主控器上报的离线数据包括:
将所述智能家电主控器上报的离线数据缓存在离线数据列表中。
优选的,步骤s102中将所述缓存的离线数据上传至服务器包括:
按照所述缓存的离线数据对应的优先级顺序将所述缓存的离线数据上传至服务器;
或者,按照所述缓存的离线数据对应的存储时间顺序将所述缓存的离线数据上传至服务器。
其中,优先级优先级顺序包括:
所述智能家电状态、操作次数、操作内容为第一优先级;
操作开始和结束时间为第二优先级;
按键输入轨迹和异常报警为第三优先级。
其中,按照所述缓存的离线数据对应的存储时间顺序将所述缓存的离线数据上传至服务器包括:
通过所述智能家电的无线通信单元记录所述缓存的离线数据对应的存储时间;
按照所记录的存储时间将所述缓存的离线数据上传至服务器。
当所述离线数据列表溢出时,缓存所述智能家电主控器上报的离线数据包括:
丢弃所述智能家电最新上报的离线数据或者覆盖所述离线数据列表中保存的离线数据。
实施例1
本实施例以网络豆浆机的wifi芯片为例,说明本发明实施例提供的智能家电离线数据处理方法的步骤:
豆浆机工作时,如果主控器mcu(microcontrollerunit)的状态数据改变时会自动将数据通过wifi芯片上传服务器,wifi芯片判定是否已经联网并连接上服务器,如果豆浆机处于联网状态,则实时上传数据给服务器,如果wifi芯片判定豆浆机未联网(未联网的情况包括无法连接路由器,或者无法连接服务器),则将主控器mcu发送的数据保存在wifi芯片中,直到下一次豆浆机联网的时候再把数据上传给服务器。
具体地,通过wifi芯片实现离线数据处理的方案:当豆浆机处于离线状态时,存储主控器mcu上传的离线数据,因此在wifi芯片中需要预留flash空间用于离线数据的存储。
豆浆机离线数据包括以下的一项或者多项:断网情况下豆浆机的状态信息、按键轨迹信息、制浆次数、制浆的食谱、制浆制作开始和结束时间以及异常报警等数据,此类数据和正常联网时上传的数据类型相同。
wifi芯片实时检测网络连接状态,当网络正常连接时,wifi芯片完成初始化工作后当处于空闲状态时,将缓存在wifi芯片的存储器中离线数据上传至服务器。
实施例2
本实施例以网络豆浆机的wifi芯片为例,说明wifi芯片存储离线数据的存储空间的构成:
本实施例wifi芯片的用于存储离线数据的存储空间分为两个部分:一部分为离线数据的数据列表,该列表记录了一共几条离线数据,另一部分为每条存储的离线数据的flash地址和存储长度。
wifi芯片检测到此时网络断开时,把豆浆机发送的离线数据保持在flash存入方式如下表1:
表1中,离线数据总数total_n存储在固定地址,这个总数wifi芯片每次上电时,会从flash中读取到内存变量中;
表1
表2显示离线数据存储位置:
表2
总数依次增加,由各自flash大小制定最多存储的离线数据的大小;
本实施例可将不同的地址分配定义给不同的数据储存,比如0x8000-0x800f是给制浆次数,0x8010-0x801f是给制浆食谱等等;以便后续上传时可以根据不同的优先级上传。
如果豆浆机一直未联网,导致存储的空间爆满,有2种处理方式,一是丢弃所述豆浆机最新上报的离线数据,即存储满就不再接受数据,直到联网传输清空后再重新计数或存储;二是覆盖所述离线数据列表中保存的离线数据,优选地,可以用最新需要存储的数据将最早存储的数据覆盖。
实施例3
本实施例以网络豆浆机的wifi芯片为例,说明将缓存在wifi芯片的存储器中离线数据上传至服务器的过程:
wifi芯片实时检测网络连接状态,当网络正常连接时,wifi芯片完成初始化工作后当处于空闲状态时,检测离线数据总数total_n是否大于0,如果大于0,那么启动离线数据发送功能,此时读取离线存放列表,第total_n行数据,获得第一个离线数据的存储位置,根据存储地址读取离线数据内容发送服务器,等待服务器回复,一段时间不会重发(1~3s),重发3次还是没有回复则认为异常,30分钟后再试;如果得到回复数据那么认为上传成功,此时将total_n减1,再次判断total_n是否大于0,循环上面过程直到全部上传完成;
数据传输按一定字节长度进行,每传输一次,即将对应的存储区域清空,以便为下一次数据做准备;
当wifi芯片检测到设备联网时,首先根据不同的优先级上传第一优先级地址中存储的数据,其次是第二优先级,最后是第三优先级,
优先级预先设置,例如本实施例中设置的优先级顺序如下:
豆浆机状态、制浆次数、制浆食谱为第一优先级;
制浆制作开始和结束时间为第二优先级;
按键输入轨迹和异常报警为第三优先级;
wifi芯片具有时钟功能,在主控器mcu发送数据时,记录下本地时间,发送离线数据时将这个本地时间一起发送给服务器;如果是联网状态下的实时上报,则计时工作可以由服务器执行,无需wifi芯片参与。
虽然本发明所揭示的实施方式如上,但其内容只是为了便于理解本发明的技术方案而采用的实施方式,并非用于限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭示的核心技术方案的前提下,可以在实施的形式和细节上做任何修改与变化,但本发明所限定的保护范围,仍须以所附的权利要求书限定的范围为准。