防数据丢失的水卡数据写入方法、装置、设备及存储介质与流程

文档序号:20621375发布日期:2020-05-06 20:52阅读:909来源:国知局
防数据丢失的水卡数据写入方法、装置、设备及存储介质与流程

本发明涉及物联网技术领域,尤其涉及一种防数据丢失的水卡数据写入方法、装置、设备及存储介质。



背景技术:

在农作物的生长过程中,为保证农作物的良好发育,需要对农作物进行灌溉,在对农作物进行灌溉时多为抽取地下水,造成了当地地下水位下降,地面塌陷,随着我国的水资源短缺逐渐严重,目前大部分通过先交费才能灌溉的方式,对地下水进行管控,从而节省水资源。

现有的用于农业灌溉的防数据丢失的水卡数据写入设备包括显示模块、存储模块、nfc刷卡模块、mcu模块、计量模块,所述mcu模块分别与所述显示模块、存储模块、nfc刷卡模块、mcu模块、计量模块电连接组成,其中,刷卡取水方式为:第一:在不操作时,mcu模块控制显示模块显示待机界面。第二:当水卡第一次靠近nfc刷卡模块时,mcu模块读取水卡信息并在显示模块显示水卡信息。第三:当水卡第二次靠近nfc刷卡模块时,mcu模块读取水卡信息存储到存储模块后(同时存储水卡状态),并把水卡可用水量清零,然后通过计量模块对用户用水量进行计算,同时显示模块显示可用剩余水量信息。第四:当第三次水卡靠近nfc刷卡模块时,mcu模块读取水卡信息并把可用水量信息反写到水卡中,并在显示模块显示待机界面(清除存储模块可用水量信息和刷卡状态信息)。但是这种刷卡方式,在写卡过程中容易受电磁、水泵干扰以及用户操作不规范的影响,导致写入数据不对或者数据丢失,从而造成用户损失,或者在写卡时候,用户还没完成写卡就脱离,导致数据写入不完整。



技术实现要素:

针对上述问题,本发明的目的在于提供一种防数据丢失的水卡数据写入方法、装置、设备及存储介质,能够保证水卡数据不会丢失。

第一方面,本发明实施例提供了一种防数据丢失的水卡数据写入方法,包括:

通过nfc模块读取当前靠近的水卡;其中,所述水卡具有用于存储当前水量信息的数据区域、用于存储卡号信息的卡号区域、第一备份区域以及第二备份区域;所述数据区域、第一备份区域以及第二备份区域存储有用于标识用水数据是否有效的有效标识、用水数据以及水卡状态

判断所述水卡的数据区域的有效标识是否为有效;

当判断所述水卡的数据区域的有效标识为有效时,读取所述数据区域当前的第一用水数据,并将所述第一用水数据写入所述第一备份区域,以及将待写入的第二用水数据写入所述第二备份区域,同时在本地保存所述水卡的数据区域当前的第一水卡状态;

将所述水卡的数据区域的有效标识置位为无效,并将所述第二用水数据写入至所述水卡的数据区域,同时将所述数据区域的第一水卡状态更新为第二水卡状态;

将所述水卡的数据区域的有效标识置位为有效,以完成本次水卡数据的写入。

优选地,当判断所述水卡的数据区域的有效标识为无效时,获取所述水卡的数据区域的当前水卡状态以及在本地存储的第一水卡状态;

当判断所述数据区域的当前水卡状态与本地存储的第一水卡状态一致时,则读取第一备份区域内的用水数据,并将该用水数据写入至数据区域,同时将所述水卡的数据区域的有效标识置位为有效;

当判断所述数据区域的水卡状态与本地存储的第一本地水卡状态不一致时,则读取第二备份区域内的用水数据,并将该用水数据写入所述数据区域,同时将所述水卡的数据区域的有效标识置位为有效。

优选地,所述有效标识为一串特殊字符串,用于标识每个区域存储的用水数据是否有效;所述水卡状态包括:无效状态,无写卡状态,卡数据清空状态以及正在写卡数据状态;所述用水数据包括:可用水量以及水量单价。

优选地,在将所述水卡的数据区域的有效标识置位为有效,以完成本次水卡数据的写入之前,还包括:

对比写入后所述数据区域的第三用水数据与所述第二用水数据是否一致;

则所述在将所述水卡的数据区域的有效标识置位为有效,以完成本次水卡数据的写入具体为:

当判断写入所述数据区域的第三用水数据与待写入的第二用水数据一致时,将所述水卡的数据区域的有效标识置位为有效,以完成本次水卡数据的写入。

第二方面,本发明实施例还提供了一种防数据丢失的水卡数据写入装置,包括:

水卡读取单元,用于通过nfc模块读取当前靠近的水卡;其中,所述水卡具有用于存储当前水量信息的数据区域、用于存储卡号信息的卡号区域、第一备份区域以及第二备份区域;所述数据区域、第一备份区域以及第二备份区域存储有用于标识用水数据是否有效的有效标识、用水数据以及水卡状态

有效标识判断单元,用于判断所述水卡的数据区域的有效标识是否为有效;

用水数据读取单元,用于当判断所述水卡的数据区域的有效标识为有效时,读取所述数据区域当前的第一用水数据,并将所述第一用水数据写入所述第一备份区域,以及将待写入的第二用水数据写入所述第二备份区域,同时在本地保存所述水卡的数据区域当前的第一水卡状态;

水卡状态更新单元,用于将所述水卡的数据区域的有效标识置位为无效,并将所述第二用水数据写入至所述水卡的数据区域,同时将所述数据区域的第一水卡状态更新为第二水卡状态;

水卡数据写入单元,用于将所述水卡的数据区域的有效标识置位为有效,以完成本次水卡数据的写入。

优选地,包括:

水卡状态获取单元,用于当判断所述水卡的数据区域的有效标识为无效时,获取所述水卡的数据区域的当前水卡状态以及在本地存储的第一水卡状态;

第一备份区域用水数据读取单元,用于当判断所述数据区域的当前水卡状态与本地存储的第一水卡状态一致时,则读取第一备份区域内的用水数据,并将该用水数据写入至数据区域,同时将所述水卡的数据区域的有效标识置位为有效;

第二备份区域用水数据读取单元,用于当判断所述数据区域的水卡状态与本地存储的第一本地水卡状态不一致时,则读取第二备份区域内的用水数据,并将该用水数据写入所述数据区域,同时将所述水卡的数据区域的有效标识置位为有效。

优选地,所述有效标识为一串特殊字符串,用于标识每个区域存储的用水数据是否有效;所述水卡状态包括:无效状态,无写卡状态,卡数据清空状态以及正在写卡数据状态;所述用水数据包括:可用水量以及水量单价。

优选地,还包括:

用水数据对比单元,用于对比写入后所述数据区域的第三用水数据与所述第二用水数据是否一致;

水卡数据写入单元,还用于当判断写入所述数据区域的第三用水数据与待写入的第二用水数据一致时,将所述水卡的数据区域的有效标识置位为有效,以完成本次水卡数据的写入。

本发明实施例还提供了一种防数据丢失的水卡数据写入设备,包括处理器、存储器以及存储在所述存储器内的计算机程序,所述计算机程序能够被所述处理器执行以实现如第一方面所述的防数据丢失的水卡数据写入方法。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的防数据丢失的水卡数据写入方法。

上述一个实施例中,通过将水卡设置具有用于存储当前水量信息的数据区域、用于存储卡号信息的卡号区域、第一备份区域以及第二备份区域,并在每个区域存储有用于标识用水数据是否有效、用水数据以及水卡状态;然后通过设置水卡的数据区域的有效标识是有效时,才能进行水卡的用水数据的读取以及写入操作,同时通过将第一用水数据写入所述第一备份区域,以及将待写入的第二用水数据写入所述第二备份区域,确保水卡数据在写卡过程中不会因为电磁、水泵干扰以及操作不规范的影响,导致写入数据错误、丢失以及写入不完整问题,以避免水卡数据丢失和保证水卡数据完整性。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明第一实施例提供的防数据丢失的水卡数据写入方法的流程示意图。

图2是本发明第三实施例提供的防数据丢失的水卡数据写入装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

实施例中提及的“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二”区分的对象在适当情况下可以互换,以使这里描述的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

实施例一:

请参阅图1,本发明第一实施例提供了一种防数据丢失的水卡数据写入方法,其可由防数据丢失的水卡数据写入设备(以下简称“数据写入设备”)来执行,特别的,由卡数据写入设备内的一个或多个处理器来执行,并至少包括如下步骤:

s101,通过nfc模块读取当前靠近的水卡;其中,所述水卡具有用于存储当前水量信息的数据区域、用于存储卡号信息的卡号区域、第一备份区域以及第二备份区域;所述数据区域、第一备份区域以及第二备份区域存储有用于标识用水数据是否有效的有效标识、用水数据以及水卡状态。

在本实施例中,数据写入设备通过所述nfc模块与水卡进行数据交换,当水卡靠近nfc模块时,nfc模块读取水卡内的水卡信息,并将水卡信息写入至该数据写入设备中,或者nfc模块将设备中存储的可用水量信息反写至水卡中。

其中,所述水卡状态包括:无效状态,无写卡状态,卡数据清空状态以及正在写卡数据状态;所述用水数据包括:可用水量以及水量单价。

表1:

s102,判断所述水卡的数据区域的有效标识是否为有效。

在本实施例中,每个区域内设置有一串特殊字符串的有效标识,用于标识每个区域存储的用水数据是否有效,具体地,当读取的数据区域内的特殊字符串与预先约定的特殊字符串不一致时,则表示所述数据区域对应存储的用水数据是无效,不可读取所述数据区域内的用水数据,只有当读取的所述数据区域内的特殊字符串与预先约定的特殊字符串一致时,方可读取该数据区域内的用水数据,例如,当读取的数据区域内的一串特殊字符为h,t@-%i{t--,d@h)-~i[p--^z$v},预先约定的特殊字符串为h,t@-%h{f--,w@z)-~l[e--^n$i},则判断断所述水卡的数据区域的有效标识是无效,若当读取的数据区域内的一串特殊字符为h,t@-%h{f--,w@z)-~l[e--^n$i},预先约定的特殊字符串为h,t@-%h{f--,w@z)-~l[e--^n$i},则判断断所述水卡的数据区域的有效标识为有效。

s103,当判断所述水卡的数据区域的有效标识为有效时,读取所述数据区域当前的第一用水数据,并将所述第一用水数据写入所述第一备份区域,以及将待写入的第二用水数据写入所述第二备份区域,同时在本地保存所述水卡的数据区域当前的第一水卡状态。

在本实施例中,为了确保水卡数据在写卡过程中不会因为电磁、水泵干扰、未写完以及操作不规范的影响,导致写入数据错误、丢失以及写入不完整问题,通过将数据区域当前的第一用水数据写入所述第一备份区域进行存储,以及将待写入的第二用水数据写入所述第二备份区域进行存储,同时在本地保存所述水卡的数据区域当前的第一水卡状态,如此后续可以根据实际情况选择从第一备份区域或者第二备份恢复数据区域的用水数据,避免水卡数据丢失。

其中,需要说明的是,此时的第一水卡状态例如可为无写卡状态。

s104,将所述水卡的数据区域的有效标识置位为无效,并将所述第二用水数据写入至所述水卡的数据区域,同时将所述数据区域的第一水卡状态更新为第二水卡状态。

在本实施例中,通过将所述水卡的数据区域的有效标识置位为无效,使得数据区域只能被写入用水数据而不能读取或者使用所述数据区域的用水数据。

其中,所述第二水卡状态例如可为正在写卡状态。

s105,将所述水卡的数据区域的有效标识置位为有效,以完成本次水卡数据的写入。

在本实施例中,为了检验水卡数据的完整性,还包括对比写入后所述数据区域的第三用水数据与所述第二用水数据是否一致;当判断写入所述数据区域的第三用水数据与待写入的第二用水数据一致时,将所述水卡的数据区域的有效标识置位为有效,以完成本次水卡数据的写入。

综上,通过将水卡设置具有用于存储当前水量信息的数据区域、用于存储卡号信息的卡号区域、第一备份区域以及第二备份区域,并在每个区域存储有用于标识用水数据是否有效、用水数据以及水卡状态;然后通过设置水卡的数据区域的有效标识是有效时,才能进行水卡的用水数据的读取以及写入操作,同时通过将第一用水数据写入所述第一备份区域,以及将待写入的第二用水数据写入所述第二备份区域,确保水卡数据在写卡过程中不会因为电磁、水泵干扰以及操作不规范的影响,导致写入数据错误、丢失以及写入不完整问题,以避免水卡数据丢失和保证水卡数据完整性。

在上述实施例的基础上,本发明一优选实施例中,还包括:

当判断所述水卡的数据区域的有效标识为无效时,获取所述水卡的数据区域的当前水卡状态以及在本地存储的第一水卡状态;

当判断所述数据区域的当前水卡状态与本地存储的第一水卡状态一致时,则读取第一备份区域内的用水数据,并将该用水数据写入至数据区域,同时将所述水卡的数据区域的有效标识置位为有效;

当判断所述数据区域的水卡状态与本地存储的第一本地水卡状态不一致时,则读取第二备份区域内的用水数据,并将该用水数据写入所述数据区域,同时将所述水卡的数据区域的有效标识置位为有效。

根据上述实施例可以得知,在步骤s104时,会把水卡的数据区域的有效标识置位为无效,即此时的水卡是无法使用其数据区域的用水数据,直至在s105写入完成后才会重新将水卡的数据区域的有效标识置位为有效。如果在写入数据期间,用户移开了水卡或者因为干扰原因导致数据无法写入,则会导致水卡的数据区域的有效标识置位保持为无效,即该水卡无法使用,而且其实际的用水数据也有可能会丢失或者异常。

为此,在本实施例中,当发现水卡的数据区域的有效标识为无效时,会根据水卡的数据区域的卡状态来选择从第一备份区域或者第二备份区域恢复数据区域的用水数据。

其中,根据s103可以得知,设备内存储有第一水卡状态。在s104中,如果在设备还未将第二用水数据写入至所述水卡的数据区域时,水卡就移开了,则此时水卡的数据区域的卡状态保持为第一水卡状态,即与设备本地存储的一致。如果在设备在已经将第二用水数据写入至所述水卡的数据区域后,水卡才移开,则此时水卡的数据区域的卡状态更新为第二水卡状态,即与设备本地存储的不一致。

因此,当判断所述数据区域的当前水卡状态与本地存储的第一水卡状态一致时,说明设备还未成功写入数据,此时读取第一备份区域内的用水数据,并将该用水数据写入至数据区域,同时将所述水卡的数据区域的有效标识置位为有效;

当判断所述数据区域的水卡状态与本地存储的第一本地水卡状态不一致时,则说明已经成功写入数据,此时读取第二备份区域内的用水数据,并将该用水数据写入所述数据区域,同时将所述水卡的数据区域的有效标识置位为有效。

如此,可以保证数据区域的用水数据准确且不会丢失,而且水卡的数据区域的有效标识在刷卡的时候就可以自动从无效置位为有效,用户可以再次使用水卡,而无需再通过相关人员在后台更改,大大方便了用户的使用体验以及后台的工作压力。

本发明第二实施例:

请参阅图2,本发明第二实施例还提供了一种防数据丢失的水卡数据写入装置,包括:

水卡读取单元100,用于通过nfc模块读取当前靠近的水卡;其中,所述水卡具有用于存储当前水量信息的数据区域、用于存储卡号信息的卡号区域、第一备份区域以及第二备份区域;所述数据区域、第一备份区域以及第二备份区域存储有用于标识用水数据是否有效的有效标识、用水数据以及水卡状态;

有效标识判断单元200,用于判断所述水卡的数据区域的有效标识是否为有效;

用水数据读取单元300,用于当判断所述水卡的数据区域的有效标识为有效时,读取所述数据区域当前的第一用水数据,并将所述第一用水数据写入所述第一备份区域,以及将待写入的第二用水数据写入所述第二备份区域,同时在本地保存所述水卡的数据区域当前的第一水卡状态;

水卡状态更新单元400,用于将所述水卡的数据区域的有效标识置位为无效,并将所述第二用水数据写入至所述水卡的数据区域,同时将所述数据区域的第一水卡状态更新为第二水卡状态;

水卡数据写入单元500,用于将所述水卡的数据区域的有效标识置位为有效,以完成本次水卡数据的写入。

在上述实施例的基础上,本发明一优选实施例中,包括:

水卡状态获取单元,用于当判断所述水卡的数据区域的有效标识为无效时,获取所述水卡的数据区域的当前水卡状态以及在本地存储的第一水卡状态;

第一备份区域用水数据读取单元,用于当判断所述数据区域的当前水卡状态与本地存储的第一水卡状态一致时,则读取第一备份区域内的用水数据,并将该用水数据写入至数据区域,同时将所述水卡的数据区域的有效标识置位为有效;

第二备份区域用水数据读取单元,用于当判断所述数据区域的水卡状态与本地存储的第一本地水卡状态不一致时,则读取第二备份区域内的用水数据,并将该用水数据写入所述数据区域,同时将所述水卡的数据区域的有效标识置位为有效。

在上述实施例的基础上,本发明一优选实施例中,所述有效标识为一串特殊字符串,用于标识每个区域存储的用水数据是否有效;所述水卡状态包括:无效状态,无写卡状态,卡数据清空状态以及正在写卡数据状态;所述用水数据包括:可用水量以及水量单价。

在上述实施例的基础上,本发明一优选实施例中,还包括:

用水数据对比单元,用于对比写入后所述数据区域的第三用水数据与所述第二用水数据是否一致;

水卡数据写入单元500,还用于当判断写入所述数据区域的第三用水数据与待写入的第二用水数据一致时,将所述水卡的数据区域的有效标识置位为有效,以完成本次水卡数据的写入。

本发明第三实施例提供了一种防数据丢失的水卡数据写入设备,包括处理器、存储器以及存储在所述存储器内的计算机程序,所述计算机程序能够被所述处理器执行以实现如上述的防数据丢失的水卡数据写入方法。

本发明第四实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的防数据丢失的水卡数据写入方法。

示例性的,所述计算机程序可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在防数据丢失的水卡数据写入设备中的执行过程。

所述数据写入设备可包括但不仅限于处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是防数据丢失的水卡数据写入设备的示例,并不构成对防数据丢失的水卡数据写入设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述防数据丢失的水卡数据写入设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述数据写入设备的控制中心,利用各种接口和线路连接整个数据写入设备的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述数据写入设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述防数据丢失的水卡数据写入设备集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1