CN112256808A - 一种数据处理方法、设备及存储介质 - Google Patents
一种数据处理方法、设备及存储介质 Download PDFInfo
- Publication number
- CN112256808A CN112256808A CN202011269611.8A CN202011269611A CN112256808A CN 112256808 A CN112256808 A CN 112256808A CN 202011269611 A CN202011269611 A CN 202011269611A CN 112256808 A CN112256808 A CN 112256808A
- Authority
- CN
- China
- Prior art keywords
- data
- period
- cycle
- time direction
- server
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Telephonic Communication Services (AREA)
- Alarm Systems (AREA)
Abstract
本发明提供一种数据处理方法、设备及存储介质,用以防止数据被篡改,所述方法包括:通过传感器在通信周期中的每个采集周期采集数据;在每个相邻的采集周期中,根据预设时间方向的前一个周期的中间数据和后一个周期的采集数据确定后一个周期的中间数据,其中,所述预设时间方向的第一个周期的中间数据是根据所述第一个周期的采集数据和预设的随机数确定的;在每个相邻的采集周期中,根据与所述预设时间方向相反的时间方向的前一个周期的目标数据和后一个周期的中间数据确定后一个周期的目标数据,其中,与所述预设时间方向相反的时间方向的第一个周期的目标数据和中间数据是相同的;向服务器发送所述通信周期中每个采集周期的目标数据。
Description
技术领域
本发明涉及电子技术领域,特别涉及一种数据处理方法、设备及存储介质。
背景技术
传感器记录的数据对人们日常生活十分重要。人们利用正确、准确、真实的传感器数据能够确定真实的事物或行为状态。若传感器数据被篡改,则无法确定出真实的事物或行为状态。
现有技术通过分布式存储技术,防止传感器数据被篡改。例如,通过区块链技术存储传感器数据。因传感器数据被存储在区块链的多个节点中,若某个节点的数据被篡改,还有其它节点可以提供未被篡改的传感器数据。
但是,在传感器数据存储到区块之前,传感器数据仍有被篡改的风险。例如,在传感器所在设备中篡改传感器采集的数据,或者在传感器数据发送到区块节点的过程中被篡改。
发明内容
本发明示例性的实施方式中提供一种数据处理方法、装置、设备及介质,用以防止存储过程中数据被篡改。
第一方面,本申请实施例提供一种数据处理方法,应用于终端,方法包括:
通过传感器在通信周期中的每个采集周期采集数据;
在每个相邻的采集周期中,根据预设时间方向的前一个周期的中间数据和后一个周期的采集数据确定后一个周期的中间数据,其中,预设时间方向的第一个周期的中间数据是根据第一个周期的采集数据和预设的随机数确定的;
在每个相邻的采集周期中,根据与预设时间方向相反的时间方向的前一个周期的目标数据和后一个周期的中间数据确定后一个周期的目标数据,其中,与预设时间方向相反的时间方向的第一个周期的目标数据和中间数据是相同的;
向服务器发送通信周期中每个采集周期的目标数据。
本申请实施例中,终端对传感器在通信周期中的每个采集周期内采集数据进行处理,得到每个采集周期采集数据对应的目标数据。针对一个采集周期,该采集周期的中间数据,是根据预设时间方向的该采集周期的前一个周期的中间数据和该采集周期的采集数据确定的,该采集周期的目标数据是根据与预设时间方向相反的时间方向的前一个周期的目标数据以及该采集周期的中间数据确定的,从而该采集周期的目标数据与其前一个周期的采集数据,以及其后一个周期的采集数据建立了紧密的关联关系,也是将每个采集周期的采集数据之间建立了紧密的时序关联关系,极大增加了篡改该通信周期中任一个采集周期的采集数据的难度。
一种可能的实施方式中,根据预设时间方向的前一个周期的中间数据和后一个周期的采集数据确定后一个周期的中间数据,包括:
将预设时间方向的前一个周期的中间数据与后一个周期的采集数据进行第一计算处理的结果确定为后一个周期的中间数据,第一计算处理为异或运算或移位运算;或者,
将预设时间方向的前一个周期的中间数据的哈希值与后一个周期的采集数据进行第一计算处理的结果确定为后一个周期的中间数据。
本申请实施例中,终端可以直接利用预设时间方向的前一个周期的中间数据和后一个周期的采集数据进行第一计算处理得到后一个周期的中间数据。终端也可以结合哈希算法利用预设时间方向的前一个周期的中间数据的哈希值和后一个周期的采集数据进行第一数据处理得到后一个周期的中间数据,提升数据篡改难度。其中,第一计算处理为异或运算或者移位运算,有助于服务器可以通过异或运算或者移位运算的逆运算确定每个采集周期的采集数据。
一种可能的实施方式中,根据与预设时间方向相反的时间方向的前一个周期的目标数据和后一个周期的中间数据确定后一个周期的目标数据,包括:
将与预设时间方向相反的时间方向的前一个周期的目标数据与后一个周期的中间数据进行第一计算处理的结果确定为后一个周期的目标数据,第一计算处理为异或运算或移位运算;或者,
将与预设时间方向相反的时间方向的前一个周期的目标数据的哈希值,与后一个周期的中间数据进行第一计算处理的结果确定为后一个周期的目标数据。
本申请实施例中,终端可以直接利用预设时间方向相反的时间方向的前一个周期的目标数据和后一个周期的中间数据进行第一计算处理得到后一个周期的目标数据。终端也可以结合哈希算法利用预设时间方向相反的时间方向的前一个周期的目标数据的哈希值与后一个周期的中间数据进行第一计算处理得到后一个周期的目标数据,提升数据篡改难度。
一种可能的实施方式中,预设的随机数为通信周期对应的随机数;通过传感器在通信周期中的每个采集周期采集数据之前,方法还包括:
接收随机数。
本发明实施中,终端根据预设时间方向的第一个周期的采集数据和预设的随机数确定预设时间方向的第一个周期的中间数据,利用随机数参与通信周期对应数据的数据处理,进一步增加篡改数据的难度以及成本。
一种可能的实施方式中,向服务器发送通信周期中每个采集周期的目标数据之后,方法还包括:
接收通信周期对应的待上链验证信息;
基于待上链验证信息中的服务器的信息和通信周期中每个采集周期的目标数据确定第一校验哈希值;
若第一校验哈希值与待上链验证信息中的第一哈希值相同,记录待上链验证信息中的第二哈希值,并向服务器的信息对应的服务器发送待上链验证信息的响应消息,其中,第二哈希值表征服务器生成的包含通信周期中每个采集周期的采集数据区块的哈希值;
若第一校验哈希值与第一哈希值不同,向管理终端发送告警信息,告警信息表征多个采集周期的数据被篡改。
本申请实施例中,终端在向服务器发送通信周期的数据后,对服务器接收到的数据进行校验,以及时发现数据是否在终端发送后以及服务器接收前被篡改或者替代。终端基于服务器的信息与本地存储的通信周期中每个采集周期的目标数据确定哈希值,并与上链验证信息中的第一哈希值进行比较,若两个数值相同,反映服务器接收到了未篡改的数据,通知服务器将该通信周期的每个采集周期的采集数据存储到区块链中,若两个数据不同,反映服务器接收到了被篡改的数据。
一种可能的实施方式中,向服务器的信息对应的服务器发送待上链验证信息的响应消息之后,方法还包括:
接收服务器发送的通信周期对应的已上链确认信息;
若已上链确认信息中的第三哈希值与第二哈希值相同,确定区块链中存储的通信周期中每个采集周期的采集数据未篡改,第三哈希值表征区块链中存储通信周期中每个采集周期的采集数据的区块的哈希值;
若第三哈希值与第二哈希值不同,向管理终端发送告警信息。
本申请实施例中,终端通知服务器将该通信周期的每个采集周期的采集数据后,通过接收已上链确认信息,可获知数据已经存储到区块链中。为了确认服务器是否将未篡改的数据存储到区块链中,终端可以验证区块链中存储该通信周期的每个采集周期的采集数据的区块的哈希值,是否为记录的第二哈希值。若是,则反映服务器将生成的包含该通信周期中每个采集周期的采集数据的区块直接上链,若否,则反映服务器对生成的包含该通信周期中每个采集周期的采集数据的区块进行了改动或者未将该区块直接上链而是篡改了区块中的数据。
一种可能的实施方式中,预设时间方向的第一个周期的采集数据为终端的标识。本发明实施例中,终端向服务器发送的数据中还携带终端的标识信息,便于服务器根据终端的标识对终端接收的随机数进行校验,或者根据通信周期对应的随机数对终端的标识进行校验,进一步提升数据传输的安全性,防止存储伪造数据或者非法终端发送的数据。
第二方面,本申请实施例提供一种数据处理方法,应用于服务器,方法包括:
接收通信周期中的数据,数据包括终端通过传感器在通信周期中每个采集周期的目标数据;
在每个相邻的采集周期中,根据预设时间方向的后一个周期的中间数据和前一个周期的目标数据确定前一个周期的中间数据,其中,预设时间方向的最后一个周期的中间数据和目标数据是相同的;
在每个相邻的采集周期中,根据与预设方向相反的时间方向的前一个周期的中间数据和后一个周期的中间数据确定后一个周期的采集数据,其中预设时间方向的第一个周期的采集数据是根据第一个采集周期的中间数据和预设的随机数确定的;
存储通信周期中每个采集周期的采集数据。
本申请实施例中,服务器可以接收需要存储的数据。服务器对当前通信周期接收的数据,也是通信周期中每个采集周期的目标数据进行处理,得到终端在通信周期中每个采集周期内的采集数据。针对一个采集周期,该采集周期的中间数据是根据预设时间方向的该采集周期的后一个周期的中间数据和该采集周期的目标数据确定的,该采集周期的采集数据是根据与预设时间方向相反的时间方向的前一个时间的中间数据和该采集周期的中间数据确定的。因该采集周期的目标数据与其前一个周期的采集数据以及其后一个周期的采集数据建立了紧密的关联关系,也是将每个采集周期的采集数据之间建立了紧密的时序关联关系,极大增加了篡改该通信周期中任一个采集周期的采集数据的难度。
一种可能的实施方式中,根据预设时间方向的前一个周期的目标数据和后一个周期的中间数据确定前一个周期的中间数据,包括:
将预设时间方向的后一个周期的中间数据与前一个周期的目标数据进行第二计算处理的结果确定为前一个周期的中间数据,第二计算处理为异或运算或移位运算;或者,
将预设时间方向的后一个周期的中间数据的哈希值与前一个周期的目标数据进行第二计算处理的结果确定为前一个周期的中间数据。
本申请实施例中,服务器可以直接利用预设时间方向的后一个周期的中间数据与前一个周期的目标数据进行第二计算处理得到前一个周期的中间数据。服务器也可以结合哈希算法利用预设时间方向的后一个周期的中间数据哈希值与前一个周期的目标数据进行第二计算处理得到前一个周期的中间数据,哈希算法提升数据篡改难度的同时,还可以得到每个采集周期的采集数据并进行存储。其中,第二计算处理可为异或运算或移位运算。服务器可以通过利用相邻的采集周期的目标数据或者中间数据通过异或运算或移位运算得到每个采集周期的采集数据,可以在数据存储过程中防止数据被篡改。
一种可能的实施方式中,根据与预设方向相反的时间方向的前一个周期的中间数据和后一个周期的中间数据确定后一个周期的采集数据,包括:
将与预设方向相反的时间方向的前一个周期的中间数据与后一个周期的中间数据进行第二计算处理的结果确定为后一个周期的采集数据,第二计算处理为异或运算或移位运算;或者,
将与预设方向相反的时间方向的前一个周期的中间数据的哈希值与后一个周期的中间数据进行第二计算处理的结果确定为后一个周期的采集数据。
本申请实施例中,服务器可以直接利用预设时间方向相反的时间方向的前一个周期的中间数据与后一个周期的中间数据进行第二计算处理得到后一个周期的采集数据。服务器也可以结合哈希算法利用预设时间方向相反的时间方向的前一个周期的中间数据的哈希值与后一个周期的中间数据进行第二计算处理得到后一个周期的采样数据。终端在进行数据处理中使用哈希算法能够提升数据篡改难度的同时,还可以使服务器能够得到每个采集周期的采集数据并进行存储。
一种可能的实施方式中,预设的随机数为通信周期对应的随机数;
接收通信周期中的数据之前,方法还包括:
向终端发送通信周期对应的随机数。
本申请实施例中,服务器可以向终端发送通信周期对应的随机数,使得终端利用随机数参与通信周期对应数据的数据处理,进一步增加篡改数据的难度以及成本。
一种可能的实施方式中,存储通信周期中每个采集周期的采集数据,方法还包括:
基于接收的通信周期中每个采集周期的目标数据与服务器的信息,确定第四哈希值;
生成存储通信周期中每个采集周期的采集数据的第一区块;
向终端发送携带第四哈希值、第一区块的第五哈希值以及服务器的信息的待上链验证信息。
本申请实施例中,服务器可以向终端发送待上链验证信息,待上链验证信息中携带基于服务器接收到的通信周期的数据和服务器的信息确定的第四哈希值、生成存储该通信周期中每个采集周期的采集数据的第一区块的第五哈希值以及服务器的信息,以便于终端验证服务器接收到的通信周期的数据是否为未篡改的数据。
一种可能的实施方式中,向终端发送携带区块的哈希值以及服务器的信息的待上链验证信息之后,方法还包括:
接收待上链验证信息的响应消息;
在区块链中,对区块进行上链处理;
确定区块链中存储通信周期中每个采集周期的采集数据的第二区块的哈希值;
向终端发送携带第二区块的哈希值的已上链确认信息。
本申请实施例中,服务器接收到待上链验证信息的响应消息,可以确定终端验证了服务器接收的通信周期的数据未被篡改,服务器可以将生成的存储该通信周期的数据进行上链到区块链中,并将区块链中存储该通信周期的数据的区块的哈希值通过已上链确认信息发送给终端,以使终端获知数据已存储到区块链中,并且对区块链中的数据进行校验。
一种可能的实施方式中,预设时间方向的第一个周期的采集数据为终端的标识;方法还包括:
若确定预设时间方向的第一个周期的采集数据与存储的终端的标识不同,则向管理终端发送告警信息,丢弃通信周期的数据;或者,
根据预设时间方向的第一个周期的中间数据和终端的标识确定目标随机数,以及若确定目标随机数与向通信周期对应的随机数不同,则向管理终端发送告警信息,丢弃通信周期的数据。
本发明实施例中,服务器可以预先存储终端的标识,利用终端的标识以及通信周期对应的随机数进行校验,确定接收的数据是否发生数据篡改,提升数据传输的安全性。例如,服务器可以利用终端的标识以及预设时间方向的第一个周期的中间数据确定目标数据,若目标数据与通信周期对应的随机数不同,可以确定服务器接收的该终端的数据发生篡改,向管理终端发送告警信息,并丢弃该终端在该通信周期发送的数据。在例如,服务器利用通信周期对应的随机数与预设时间方向的第一个周期的中间数据确定目标随机数,若目标随机数与通信周期对应的随机数不同,可确定接收的数据发生篡改,向管理终端发送告警信息,并丢弃该终端在该通信周期发送的数据。
第三方面,本申请实施例提供一种数据处理装置,装置包括:
采集单元,用于通过传感器在通信周期中的每个采集周期采集数据;
处理单元,用于在每个相邻的采集周期中,根据预设时间方向的前一个周期的中间数据和后一个周期的采集数据确定后一个周期的中间数据,其中,预设时间方向的第一个周期的中间数据是根据第一个周期的采集数据和预设的随机数确定的;在每个相邻的采集周期中,根据与预设时间方向相反的时间方向的后一个周期的目标数据和前一个周期的中间数据确定前一个周期的目标数据,其中,最后一个周期的目标数据和中间数据是相同的;
通信单元,用于向服务器发送通信周期中每个采集周期的目标数据。
一种可能的实施方式中,处理单元具体用于:
将预设时间方向的前一个周期的中间数据与后一个周期的采集数据进行第一计算处理的结果确定为后一个周期的中间数据,第一计算处理为异或运算或移位运算;或者,
将预设时间方向的前一个周期的中间数据的哈希值与后一个周期的采集数据进行第一计算处理的结果确定为后一个周期的中间数据。
一种可能的实施方式中,处理单元具体用于将与预设时间方向相反的时间方向的后一个周期的目标数据与前一个周期的中间数据进行第一计算处理的结果确定为前一个周期的目标数据,第一计算处理为异或运算或移位运算;或者,
将与预设时间方向相反的时间方向的后一个周期的目标数据的哈希值,与前一个周期的中间数据进行第一计算处理的结果确定为前一个周期的目标数据。
一种可能的实施方式中,预设的随机数为通信周期对应的随机数;通信单元还用于:
接收随机数。
一种可能的实施方式中,通信单元还用于接收通信周期对应的待上链验证信息;
处理单元还用于基于待上链验证信息中的服务器的信息和通信周期中每个采集周期的目标数据确定第一校验哈希值;
若第一校验哈希值与待上链验证信息中的第一哈希值相同,记录待上链验证信息中的第二哈希值,并向服务器的信息对应的服务器发送待上链验证信息的响应消息,其中,第二哈希值表征服务器生成的包含通信周期中每个采集周期的采集数据区块的哈希值;
若第一校验哈希值与第一哈希值不同,向管理终端发送告警信息,告警信息表征多个采集周期的数据被篡改。
一种可能的实施方式中,通信单元还用于接收通信周期对应的已上链确认信息;
处理单元还用于若已上链确认信息中的第三哈希值与第二哈希值相同,确定区块链中存储的通信周期中每个采集周期的采集数据未篡改,第三哈希值表征区块链中存储通信周期中每个采集周期的采集数据的区块的哈希值;
若第三哈希值与第二哈希值不同,向管理终端发送告警信息。
一种可能的实施方式中,预设时间方向的第一个周期的采集数据为终端的标识。
第四方面,本申请实施例提供一种数据处理装置,装置包括:
通信单元,用于接收通信周期中的数据,数据包括终端通过传感器在通信周期中每个采集周期的目标数据;
处理单元,用于在每个相邻的采集周期中,根据预设时间方向的后一个周期的中间数据和前一个周期的目标数据确定前一个周期的中间数据,其中,预设时间方向的最后一个周期的中间数据和目标数据是相同的;在每个相邻的采集周期中,根据与预设方向相反的时间方向的前一个周期的中间数据和后一个周期的中间数据确定后一个周期的采集数据,其中预设时间方向的第一个周期的采集数据是根据第一个采集周期的中间数据和预设的随机数确定的;
存储单元,用于存储通信周期中每个采集周期的采集数据。
一种可能的实施方式中,处理单元具体用于:
将预设时间方向的后一个周期的中间数据与前一个周期的目标数据进行第二计算处理的结果确定为前一个周期的中间数据,第二计算处理为异或运算或移位运算;或者,
将预设时间方向的后一个周期的中间数据的哈希值与前一个周期的目标数据进行第二计算处理的结果确定为前一个周期的中间数据。
一种可能的实施方式中,处理单元具体用于:
将与预设方向相反的时间方向的前一个周期的中间数据与后一个周期的中间数据进行第二计算处理的结果确定为后一个周期的采集数据,第二计算处理为异或运算或移位运算;或者,
将与预设方向相反的时间方向的前一个周期的中间数据的哈希值与后一个周期的中间数据进行第二计算处理的结果确定为后一个周期的采集数据。
一种可能的实施方式中,预设的随机数为通信周期对应的随机数;通信单元还用于:
向终端发送通信周期对应的随机数。
一种可能的实施方式中,处理单元还用于:基于接收的通信周期中每个采集周期的目标数据与服务器的信息,确定第四哈希值;生成存储通信周期中每个采集周期的采集数据的第一区块;
通信单元还用于:向终端发送携带第四哈希值、第一区块的第五哈希值以及服务器的信息的待上链验证信息。
一种可能的实施方式中,通信单元还用于:接收待上链验证信息的响应消息;以及向终端发送携带第二区块的哈希值的已上链确认信息;
处理单元还用于在区块链中,对区块进行上链处理;
确定区块链中存储通信周期中每个采集周期的采集数据的第二区块的哈希值。
一种可能的实施方式中,预设时间方向的第一个周期的采集数据为终端的标识,方法还包括:
若确定预设时间方向的第一个周期的采集数据与存储的终端的标识不同,则向管理终端发送告警信息,丢弃通信周期的数据;或者,
根据预设时间方向的第一个周期的中间数据和终端的标识确定目标随机数,以及若确定目标随机数与向通信周期对应的随机数不同,则向管理终端发送告警信息,丢弃通信周期的数据。
第五方面,本申请实施例提供一种终端,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器用于执行指令以实现如第一方面中任一项的数据处理方法。
第六方面,本申请实施例提供一种服务器,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器用于执行指令以实现如第二方面中任一项的数据处理方法。
第七方面,本申请实施例提供一种数据处理系统,包括如第五方面中的终端以及第六方面中的服务器。
一种可能的实施方式中,数据处理系统还包括管理终端。
第八方面,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行本申请实施例第一方面及其第一方面任一可能设计的技术方案,第二方面及其第二方面任一可能的设计的技术方案。
另外,第二方面至第八方面中任一种实现方式所带来的技术效果可参见第一方面、第二方面中不同实现方式所带来的技术效果,此处不再赘述。在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实施例。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示例性示出了智能设备佩戴位置示意图;
图2示例性示出了传感器在家居场景中的位置示意图;
图3示例性示出了一种终端与服务器交互示意图;
图4示例性示出了另一种终端与服务器交互示意图;
图5示例性示出了一种数据处理方法流程示意图;
图6示例性示出了一种预设时间方向的示意图;
图7示例性示出了另一种预设时间方向的示意图;
图8示例性示出了又一种数据处理方法流程示意图;
图9示例性示出了采集信息示意图;
图10示例性示出了区块的结构示意图;
图11示例性示出了又一种数据处理方法流程示意图;
图12示例性示出了又一种数据处理方法流程示意图;
图13示例性示出了一种终端的硬件结构示意图;
图14示例性示出了一种服务器的硬件结构示意图;
图15示出了一种数据处理系统的结构示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
随着物联网技术的发展,越来越多的传感器服务于人们的日常生活中。传感器数据可以记录事物或行为状态,人们通过分析传感器数据能够确定事物或行为状态。
例如,关于车险出险判定的场景中,驾驶员的携带的智能设备可以检测驾驶员如脉搏等生理数据,也可以检测驾驶员位置数据等。当进行车险出险判定时,可以充分利用关于驾驶员的生理数据以及位置数据,确定是否有酒驾或者替代驾驶等情况。
除了驾驶员佩戴智能设备之外,车辆出厂时安装的传感器或者出厂后加装的传感器可以记录车辆的数据,如位置数据、速度数据、车内语音数据、车内影像数据、油量、门锁状态等车辆数据。当进行车险出险判定时,可以充分利用关于车辆的数据,确定车辆是否被合理使用状态,或者车辆是否被恶意处置等。
再例如,关于养老服务场景中,老人携带的智能设备(如图1中示出了头戴式、胸挂式、腕带式具有传感器的智能设备),或者放置于老人生活活动范围中的传感器(如图2中示出安装在生活家居上的传感器)可以采集老人的行为数据,如脉搏数据、翻身数据、坐立数据、或者跌倒数据等。根据这些传感器数据可以对老人当前行为进行推测或者判定。进一步地,可以根据这些传感器数据触发老人处于危险状态的告警,提示工作人员及时确认老人安危进行相应处置。需要说明的是,图1和图2中仅用于举例说明传感器放置的部位或环境,并不作为对传感器位置的具体限定。
工作人员对老人的护理行为或者处置会改变老人的行为,因而根据老人携带的智能设备或者放置于老人活动范围中的传感器数据也可以确定工作人员对老人护理行为或者处置方式。进一步地,利用传感器数据可以评估工作人员服老人的看护质量、响应速度、或者处置服务质量等。
由此可见,传感器记录的数据对人们日常生活十分重要。但需要注意的是,利用正确、准确、真实的传感器数据能够确定真实的事物或行为状态。若传感器数据被篡改,则无法确定出真实的事物或行为状态。
通常,利用分布式存储技术存储传感器数据,防止传感器数据被篡改。例如,通过区块链技术存储传感器数据,因传感器数据被存储在多个节点,某个节点的数据被篡改,还有其它节点可以提供未被篡改的传感器数据。
但存储传感器数据的过程中,传感器数据仍有被篡改的风险。例如,在传感器所在设备中篡改传感器采集的数据,或者在传感器数据发送到区块节点的过程中被篡改。
为了解决降低传感器数据存储到区块之前被篡改的风险,本发明提供一种数据处理方法,防止存储过程中数据被篡改,以及能够及时检测数据是否被篡改。
图3根据一示例性实施例示出了一种应用本申请提供的数据处理方法的终端与服务器交互场景,终端与服务器可以保持通信连接,并且服务器在每个通信周期内,将当前通信周期n(n=1,2,3,…,N)对应的随机数Rn发送给终端。终端根据接收的随机数、终端本地采集的数据,生成能够防止篡改的数据包Dn,并将生成的数据包Dn在当前通信周期n内发送给服务器。
通信周期的时长可以小于预设时长阈值。通信周期的时长可以设置为5秒,或者10秒。通信周期的时长也可以是根据实际应用场景进行配置的,或者是根据经验进行配置的,还可以是根据测试结果或仿真结果进行配置的。通常,通信周期的时长比较小,一般小于根据随机数,生成数据包的时长,以防止非法终端篡改数据包。
如图4所示,服务器可以与多个终端进行通信交互。服务器发送给多个终端的随机数可以是相同的,也可以是不同的,例如服务器可以根据当前通信周期中的终端与随机数的对应关系,向各终端发送相应的随机数。
服务器可以在通信周期n之前,确定通信周期n中需要发送给终端的至少一个随机数。服务器也可以在通信周期n中,生成通信周期n的至少一个随机数。服务器确定的随机数可以是预先设置或者配置的,也可以是利用随机数生成方法,例如,根据时间、终端标识或者其它信息(如前一通信周期的随机数)确定随机数。
本申请实施例提供一种数据处理方法,终端可以利用该方法,对当前通信周期内接收的随机数,对传感器采集的数据进行数据处理。终端可以控制终端中的至少一个传感器进行信息采集,也可以控制与终端连接的外部传感器进行信息采集。
如图5示例性示出了一种数据处理方法,应用于终端与服务器侧交互的场景中,方法可以包括如下步骤:
S501,服务器发送当前通信周期的随机数。
具体实施时,服务器可以将当前通信周期的随机数发送给至少一个终端。当前通信周期的随机数可以是服务器预先确定的或者生成的。例如,服务器可以根据随机数生成方法确定随机数。服务器也可以结合终端的信息,例如设备标识,或者前一周期终端发送的数据等信息确定随机数。其中,服务器可以将数据直接发送给各终端,也可以将数据发送到中间设备,然后由中间设备将数据转发给各终端。例如,中间设备可以为基站,路由器等。
S502,终端接收当前通信周期的随机数。
在实际应用场景中,终端可以直接接收服务器发送的当前通信周期的随机数,也可以接收中间设备向其转发的服务器发送的当前通信周期的随机数。终端在不同通信周期内接收到的随机数可以是不同的。终端在预设数量个连续通信周期内接收到的随机数可以相同的。
一种可能的实施方式中,终端可以对当前通信周期内接收的随机数进行校验,以验证发送该随机数的服务器是否为合法服务器,或者是否为与终端保持通信连接的服务器。
S503,终端通过传感器在当前通信周期中的每个采集周期采集数据。
具体实施时,当前通信周期可以包括多个采集周期,终端可以控制本地的传感器进行数据采集,也可以控制与终端连接的外部传感器进行数据采集。终端还可以控制多个传感器采集当前通信周期中数据,例如控制传感器1在采集周期1中采集数据,控制传感器2在采集周期2中采集数据等。其中,传感器1和传感器2采集的数据的类型可以是不同,例如,传感器1采集心跳数据,传感器2采集加速度数据。
终端通过传感器采集的数据的方式可以包括:
终端通过控制指令控制传感器采集数据并向终端上报采集的数据。或者,终端通过配置指令,控制传感器按照配置指令中的时间间隔参数进行信息采集并上报。或者,终端直接读取用于存放传感器采集的信息的存储器的数据。
S504,终端在每个相邻的采集周期中,根据预设时间方向的前一个周期的中间数据和后一个周期的采集数据确定后一个周期的中间数据,其中,预设时间方向的第一个周期的中间数据是根据第一个周期的采集数据和预设的随机数确定的。
具体实施时,为了防止数据被篡改,终端可以对当前通信周期中的每个采集周期的采集数据进行防篡改处理,提升篡改数据的难度、代价或成本。终端在每个相邻的采集周期中(如图6所示,以相邻的采集周期为采集周期1和采集周期2为例进行说明),根据预设时间方向,采集周期1和采集周期2中采集周期1为两个相邻的采集周期中的前一个周期,采集周期2为两个相邻的采集周期中的后一个周期。根据预设时间方向相反的时间方向,采集周期1和采集周期2中采集周期2为两个相邻的采集周期中的前一个周期,采集周期1为两个相邻的采集周期中的后一个周期。
以图6中示出的当前通信周期中多个采集周期的数量为8个为例,采集周期1为预设时间方向的第一个周期,采集周期8为预设时间方向的最后一个周期。采集周期8为预设时间方向相反的时间方向的第一个周期,采集周期1为预设时间相反的时间方向的最后一个周期。
图6中示例性示出的预设时间方向与多个采集周期的正向时序方向相同。在实际应用场景中,如图7所示,预设时间方向还可以配置为与多个采集周期的反向时序方向相同。其中,相邻的采集周期中,以相邻的采集周期为采集周期1和采集周期2为例。根据预设时间方向,采集周期1和采集周期2中采集周期2为两个相邻的采集周期中的前一个周期,采集周期1为两个相邻的采集周期中的后一个周期。根据预设时间方向相反的时间方向,采集周期1和采集周期2中采集周期1为两个相邻的采集周期中的前一个周期,采集周期2为两个相邻的采集周期中的后一个采集周期。采集周期8为预设时间方向的第一个周期,采集周期1为预设时间方向的最后一个周期。采集周期1为预设时间方向相反的时间方向的第一个周期,采集周期8为预设时间相反的时间方向的最后一个周期。
以预设时间方向为多个采集周期的正向时序方向为例,终端可以根据预设方向的第一个周期的采集数据和预设的随机数确定第一个周期的中间数据。
再例如,终端也可将第一个周期的采集数据d1和预设的随机数R进行移位运算,如右移位,将第一个周期的采集数据d1进行右移位运算预设随机数R对应的位数,如随机数R对应的位数为1,则将第一个周期的采集数据d1右移1位的右移位运算,d1>>1=z1,>>为右移位运算符号,z1为第一个周期的中间数据。
每个相邻的采集周期中,终端根据预设时间方向的前一个周期的中间数据和后一个周期的采集数据确定后一个周期的中间数据。以相邻的采集周期为通信周期中的第一个周期和第二个周期为例,根据预设时间方向的前一个周期为第一个周期,后一个周期为第二个周期。
一种可能的实施方式中,终端将预设时间方向的前一个周期的中间数据与后一个周期的采集数据进行第一计算处理的结果确定为后一个周期的中间数据。
例如,终端确定第二个周期的中间数据时,对第一个周期的中间数据z1和第二个周期的采集数据d2进行第一计算处理,并将计算结果确定第二个周期的中间数据z2。
一种可能的实施方式中,终端将预设时间方向的前一个周期的中间数据的哈希值与后一个周期的采集数据进行第一计算处理的结果确定为后一个周期的中间数据。
例如,终端确定第二个周期的中间数据时,对第一个周期的中间数据d1的哈希值hash(d1)和第二个周期的采集数据d2进行第一计算处理,并将计算结果确定第二个周期的中间数据z2。
需要说明的是,本申请实施例中利用哈希算法确定采集周期的中间数据的哈希值或者目标数据的哈希值时,哈希算法也可以用其它单向函数替换,其中单向函数表征将参数值带入函数后可以确定出函数值,但无法用函数值反推出该参数值的函数。
本申请实施例中第一计算处理可以为异或运算或移位运算等可逆计算方法。其中,可逆计算方法是指A和B通过计算可以得到C,对C进行相同或相近的计算方法可以得到A。
又一种可能的实施方式中,C和A通过相近的计算方式可以得到B,以及C和B通过相近的方式可以得到A。例如,移位运算属于可逆计算方法。移位运算包括右移位运算和左移位运算,A>>B=C,>>为右移位运算符号,对A进行右移位B位得到C。C<<A=B,C<<B=A,<<为左移位运算符号。对C进行左移位A位可以得到B,对C进行左移位B位可以得到A。
针对每个相邻的采集周期,终端可以根据预设时间方向的前一个周期的中间数据zi(i为采集周期的次序)和后一个周期的采集数据di+1确定后一个周期的中间数据zi+1,从而得到每一个采集周期的中间数据z1,z2,…。
S505,终端在每个相邻的采集周期中,根据与预设时间方向相反的时间方向的前一个周期的目标数据和后一个周期的中间数据确定后一个周期的目标数据,其中,与预设时间方向相反的时间方向的第一个周期的目标数据和中间数据是相同的。
终端可以将与预设时间方向相反的时间方向的第一个周期的中间数据作为该周期的目标数据。如图6中示出的将采集周期8的中间数据作为采集周期8的目标数据。
然后,终端针对每个相邻的采集周期,根据与预设时间方向相反的时间方向的前一个周期的目标数据和后一个周期的中间数据确定后一个周期的目标数据。以相邻的采集周期为通信周期中的第一个周期和第二个周期为例,根据与预设时间方向相反的时间方向的前一个周期为第二个周期,后一个周期为第一个周期。
一种可能的实施方式中,终端将与预设时间方向相反的时间方向的前一个周期的目标数据与后一个周期的中间数据进行第一计算处理的结果确定为后一个周期的目标数据。
一种可能的实施方式中,终端将与预设时间方向相反的时间方向的前一个周期的目标数据的哈希值,与后一个周期的中间数据进行第一计算处理的结果确定为后一个周期的目标数据。
针对每个相邻的采集周期,终端可以根据与预设时间方向相反的时间方向的前一个周期的目标数据Di和后一个周期的中间数据zi-1确定后一个周期的目标数据Di-1,从而得到每一个采集周期的目标数据D1,D2,…。
S506,终端向服务器发送通信周期中每个采集周期的目标数据。
终端在当前通信周期中完成确定每个采集周期的目标数据后,将确定出的每个采集周期的目标数据发送给服务器。在实际应用场景中,终端可以直接将通信周期中每个采集周期的目标数据发送给服务器,也可以将通信周期中每个采集周期的目标数据发送给中间设备,然后由中间设备转发给服务器。
一种可能的实施方式中,服务器可以预先获知终端确定每个采集周期的目标数据的方式,或者服务器和终端之间可以约定终端确定每个采集周期的目标数据的方式,使得服务器侧可以根据终端确定每个采集周期的目标数据的方式,采用相应的确定每个采集周期的采集数据的方式。
S507,服务器接收当前通信周期中的数据,数据包括终端通过传感器在通信周期中每个采集周期的目标数据。
S508,服务器在每个相邻的采集周期中,根据预设时间方向的后一个周期的中间数据和前一个周期的目标数据确定前一个周期的中间数据,其中,预设时间方向的最后一个周期的中间数据和目标数据是相同的。
需要说明的是,服务器侧预设时间方向与终端侧预设时间方向相反。若终端侧预设时间方向为通信周期中多个采集周期的正向时序方向,则服务器侧预设时间方向为通信周期中多个采集周期的反向时序方向。若终端侧预设时间方向为通信周期中多个采集周期的反向时序方向,则服务器侧预设时间方向为通信周期中多个采集周期的正向时序方向。
服务器将预设时间方向的最后一个周期的目标数据确定为该最后一个周期的中间数据。并针对每个相邻的采集周期中,根据预设时间方向的后一个周期的中间数据zi和前一个周期的目标数据Di-1可以确定前一个周期的中间数据zi-1。
一种可能的实施方式中,服务器将预设时间方向的后一个周期的中间数据与前一个周期的目标数据进行第二计算处理的结果确定为前一个周期的中间数据。
其中,第二计算处理可以为异或计算或者移位运算。若终端侧的第一计算处理为异或计算,则第二计算处理为异或计算。若终端侧的第一计算处理为移位运算中的右移位运算,则第二处理为移位运算中的左移位运算。
又一种可能的实施方式中,服务器将预设时间方向的后一个周期的中间数据的哈希值与前一个周期的目标数据进行第二计算处理的结果确定为前一个周期的中间数据。
针对每个相邻的采集周期,服务器可以根据预设时间方向的后一个周期的中间数据zi和前一个周期的目标数据Di-1确定前一个周期的中间数据zi-1,从而得到每一个采集周期的中间数据z1,z2,…。
S509,服务器在每个相邻的采集周期中,根据与预设方向相反的时间方向的前一个周期的中间数据和后一个周期的中间数据确定后一个周期的采集数据,其中预设时间方向的第一个周期的采集数据是根据第一个采集周期的中间数据和预设的随机数确定的。
服务器可以根据每个采集周期的中间数据,确定出每个采集周期的采集数据。例如,根据与预设方向相反的时间方向的前一个周期的中间数据和后一个周期的中间数据确定后一个周期的采集数据。
一种可能的实施方式中,服务器将与预设方向相反的时间方向的前一个周期的中间数据与后一个周期的中间数据进行第二计算处理的结果确定为后一个周期的采集数据。
又一种可能的实施方式中,服务器将与预设方向相反的时间方向的前一个周期的中间数据的哈希值与后一个周期的中间数据进行第二计算处理的结果确定为后一个周期的采集数据。
其中,当前通信周期的第一个周期的采集数据可以根据预设时间方向的第一个周期的采集数据是根据第一个采集周期的中间数据和预设的随机数确定的。如服务器将第一个采集周期的中间数据z1和预设的随机数(例如当前通信周期的随机数为Rn)进行异或计算的结果确定为第一个采集周期的采集数据
针对每个相邻的采集周期,服务器可以根据与预设方向相反的时间方向的前一个周期的中间数据zi+1和后一个周期的中间数据zi确定后一个周期的采集数据di,从而得到全部采集周期的采样数据d1,d2,…。
在实际应用场景中,服务器接收的数据中也可以包括终端的标识等身份信息。终端的标识可以是终端身份标识(indentity,ID),也可以是与服务器约定的用于验证终端身份的信息。
服务器首先识别接收的数据中包括的设备标识确定是否为合法终端,或者是否终端列表中的终端,若确定设备标识为合法终端,可以执行下一步骤,若确定设备标识不是合法终端,可以直接丢弃该数据,节约计算资源以及存储资源。
一种可能的实施方式中,预设时间方向的第一个周期的采样数据为终端的标识。服务器可以根据预设时间方向的第一个周期的中间数据z1,与该终端的标识d1,确定出目标随机数Rtest,如服务器对目标随机数进行校验,确定目标随机数Rtest与当前通信周期对应的随机数Rn是否相同。服务器若确定目标随机数Rtest与当前通信周期对应的随机数Rn相同,可确定当前通信周期的数据可信,未发生篡改。服务器若确定目标随机数Rtest与当前通信周期对应的随机数Rn不同,则确定当前通信周期的数据不可信,发生数据篡改。服务器可以向管理终端发送告警信息(表征多个采集周期的数据被篡改),提示管理人员当前通信周期的数据被篡改,或者服务器接收到的数据被篡改。
服务器还可以根据预设时间方向的第一个周期的中间数据z1,与当前通信周期对应的随机数Rn,确定目标标识dtest,如,服务器对目标标识进行校验,确定目标标识dtest与该终端的标识d1,是否相同。服务器若确定目标标识dtest与该终端的标识d1相同,可确定当前通信周期的数据可信,未发生篡改。服务器若确定目标标识dtest与该终端的标识d1不同,则确定当前通信周期的数据不可信,发生数据篡改。服务器可以向管理终端发送告警信息(表征多个采集周期的数据被篡改),提示管理人员当前通信周期的数据被篡改,或者服务器接收到的数据被篡改。
S510,服务器存储通信周期中每个采集周期的采集数据。
服务器确定出每个采集周期的采集数据后,存储到本地的数据库中,也可以存储到区块链中。
S511,服务器向终端发送待上链验证信息。
终端还可以对服务器是否接收到了未篡改的信息进行验证。服务器基于接收的通信周期中每个采集周期的目标数据与服务器的信息确定出的哈希值记为Hash(ack)。其中,服务器的信息可以是服务器的加密签名,也可以是服务器的身份标识等。服务器可以利用待上链信息携带该哈希值Hash(ack),以使终端可以根据该哈希值确定服务器是否接收到未篡改的数据。
一种可能的实施方式中,服务器生成存储该通信周期中每个采集周期的采样数据的区块,并确定生成的区块的哈希值Hash(cur)。服务器也可以利用待上链信息携带该区块的哈希值Hash(cur),以使终端可以验证该区块中的数据是否被篡改。
服务器生成区块时,服务器将前一个区块的哈希值Hash(pre)、当前通信周期对应的随机数R、当前通信周期中每个采集周期的采集数据、生成的区块的哈希值Hash(cur),基于接收的当前通信周期中每个采集周期的目标数据与服务器的信息确定出的哈希值Hash(ack),区块ID信息、时间戳等信息添加到生成的区块的区块头中。
服务器可以在首次向终端发送待上链信息时,携带服务器的信息,以使终端获知服务器的信息。若服务器的信息不会发生变化,则服务器在后续向终端发送待上链信息时可以不携带服务器的信息。若服务器的信息会发生变化,例如服务器的信息为服务器的加密签名,并且加密签名是动态签名的场景中,服务器每次向终端发送的待上链验证信息中需携带服务器的信息。
S512,终端基于待上链验证信息中的服务器的信息和通信周期中每个采集周期的目标数据确定第一校验哈希值。
终端在接收到当前通信周期对应的待上链验证信息后,基于对待上链验证信息中的服务器的信息以及终端确定的每个采集周期的目标数据确定出第一校验哈希值。终端对待上链验证信息中的哈希值Hash(ack)与第一校验哈希值进行比较。若第一校验哈希值与哈希值Hash(ack)相同,终端可以确定服务器接收到的数据未被篡改,若不同,则终端可以确定服务器接收到的数据被篡改。
一种可能的实施方式中,若第一校验哈希值与哈希值Hash(ack)不同,终端向管理终端发送告警信息,告警信息表征多个采集周期的数据被篡改。
终端确定第一校验哈希值与哈希值Hash(ack)不相同,可以确定服务器接收到篡改的数据。终端可以向管理终端发送告警信息,提示管理人员当前通信周期的数据被篡改,或者服务器接收到的数据被篡改。终端还可以向服务器重新发送当前通信周期中每个采集周期的目标数据。
一种可能的实施方式中,若第一校验哈希值与哈希值Hash(ack)相同,终端可以记录待上链验证信息中的存储当前通信周期每个采集周期的采集数据的区块的哈希值Hash(cur),下一步骤可以执行S513。
一种可能的实施方式中,服务器生成的区块中存储当前通信周期每个采集周期的目标数据。当任一终端请求该区块的数据后,可以通过步骤S508、S509的数据处理过程,确定出每个采集周期的采集数据。
S513,终端发送待上链验证信息的响应消息。
终端确定服务器接收的数据未篡改后,可以指示服务器将生成的区块进行上链,存储到区块链中。
S514,服务器在区块链中,对生成的存储通信周期中每个采集周期的采集数据的区块进行上链处理。
服务器接收到待上链验证信息的响应消息,可以确定终端已经确定服务器接收的数据未被篡改。服务器可以将生成的区块存储到区块链中。
S515,服务器向终端发送携带区块链中存储通信周期中每个采集周期的采集数据的区块的哈希值的已上链确认信息。
服务器在将该区块进行上链处理后,通知终端已经将当前通信周期每个采集周期的采集数据存储到区块链中。
一种可能的实施方式中,服务器确定区块链中存储当前通信周期中每个采集周期的采集数据的区块的哈希值,并通过已上链确认信息携带。
S516,终端确定已上链确认信息中携带的哈希值与待上链验证信息中的存储当前通信周期每个采集周期的采集数据的区块的哈希值是否相同,若是,下一步执行步骤S517,若否,下一步执行步骤S518。
终端对已上链确认信息中携带的哈希值与待上链验证信息中的存储当前通信周期每个采集周期的采集数据的区块的哈希值进行比较,也即将服务器生成的区块的哈希值,与区块链中当前通信周期的数据所在区块的哈希值进行比较,验证服务器是否将生成的区块存储到区块链中。
S517,终端确定区块链中存储的通信周期中每个采集周期的采集数据未篡改。
S518,终端向管理终端发送告警信息。
需要说明的是,在每个通信周期中,终端与服务器可以通过如图5中示出的步骤进行交互。
图8示例性示出了另一种数据处理方法,应用于终端与服务器交互的场景中,方法可以包括如下步骤:
S801,终端通过传感器在当前通信周期M中每个采集周期采集数据。
终端在当前通信周期M(M为通信周期标识)中的多个采集周期(如N个)采集信息,如采集加速度、位置、心跳等环境及生理等信息。每个采集周期可以小于10ms,小于人体反应时间)。终端可以得到N个采集周期的采集数据(原始数据),设为D1,D2,......,DN。
一个可能的应用场景中,如图9所示,终端在一个通信周期内采集的数据,可以包括身份信息、时间信息、位置信息、加速度信息、心跳信息等。用于采集各类信息的传感器集成在终端中,也可以不集成在终端中,终端可以通过有线或无线连接方式控制传感器采集数据,并接收传感器采集的数据。
S802,终端对每个采集周期的采集数据进行防篡改处理,确定每个采集周期的目标数据。
终端通过防篡改处理将一个采集周期的前一个周期的数据以及后一个周期的数据叠加到该采集周期的数据上,使该采集周期的目标数据与其前一个周期以及后一个周期的数据相互关联。
一种可能的实施方式中,终端可以利用如下公式对每个采集周期的采集数据进行防篡改处理。
(1)确定每个采集周期的中间数据
其中,x为大于0且小于等于N的正整数,R为当前通信周期M的随机数,D0为终端的标识,Dx为第x个采集周期的采集数据,DKx为第x个采集周期的中间数据,Hash(DKx-1)为DKx-1的哈希值。
(2)确定每个采集周期的目标数据
其中,x为大于等于0且小于等于N-1的正整数,DKx为第x个采集周期的中间数据,DMx为第x个采集周期的目标数据,Hash(DMx+1)为DMx+1的哈希值。
S803,终端发送当前通信周期中每个采集周期的目标数据以及当前通信周期的随机数对应的目标数据。
终端可以将当前通信周期中每个采集周期的目标数据以及当前通信周期的随机数对应的目标数据以数据包的形式发送给服务器。服务器可以是区块链系统中任一个服务器。
S804,服务器确定当前通信周期中每个采集周期的采集数据以及随机数。
服务器在接收到当前通信周期中的每个采集周期的目标数据后,可以采用如下数据处理过程,确定每个采集周期的采集数据。
(1)确定每个采集周期的中间数据
其中,x为大于等于0且小于等于N-1的正整数,DKx为第x个采集周期的中间数据,DMx为第x个采集周期的目标数据,Hash(DKx+1)为DKx+1的哈希值。
(2)确定每个采集周期的采集数据
其中,x为大于0且小于等于N的正整数,R为当前通信周期M的随机数,D0为终端的标识,Dx为第x个采集周期的采集数据,DKx为第x个采集周期的中间数据,Hash(DKx-1)为DKx-1的哈希值。
需要说明的是,服务器中可以预先存储有终端标识D0。服务器根据上述过程确定随机数R’,并与服务器发送给终端的当前通信周期对应的随机数R进行比较,若R’与R相同,服务器确定该设备发送的数据可信。反之,若R’与R不同,服务器确定该设备发送的数据不可信。服务器可以通知管理设备,终端标识D0对应的终端可能异常。
一种可能的实施方式中,服务器可以通过生成加密签名的方式,生成服务器的信息(可记为ACK信息)。服务器端将收到的数据、ACK确定信息,经过哈希计算,形成一个新的固定长度的确认哈希值Hashnew。
服务器还可以将前一个区块包的哈希值Hashpre、当前通信周期对应的随机数R、当前通信周期接收到的数据、当前通信周期接收到的数据所在区块的哈希值Hashcur,确认哈希值Hashnew,当前通信周期接收到的数据所在区块的区块ID信息、时间戳等信息作为当前通信周期接收到的数据所在区块的区块头信息,储存在服务器侧,等待将当前通信周期接收到的数据所在区块上链。如图10所示,区块中还可以包括当前块散列值、前块散列值以及默克尔树等信息。其中,前块散列值为该区块前一个区块的当前块散列值,因而多个区块可以形成链结构。
服务器端将确认哈希值Hashnew、当前通信周期接收到的数据所在区块的哈希值Hashcur、当前通信周期接收到的数据所在区块的区块ID信息、ACK信息发送给终端。
终端根据向服务器发送的当前通信周期中每个采样周期的目标数据以及收到的ACK消息,通过哈希计算,确定校验哈希值Hashnew’。若Hashnew’等于Hashnew,终端可确认服务器接收到未篡改的数据,并记录当前通信周期接收到的数据所在区块的哈希值Hashcur,通知服务器数据将当前通信周期接收到的数据所在区块上链。若Hashnew’不等于Hashnew,终端可确认服务器接收到篡改的数据,向管理终端发送告警信息。
一种可能的实施方式中,服务器在将存储当前通信周期的数据所在区块上链后,向终端发送当前通信周期对应的上链确认信息M1,其中上链确认信息M1中可以携带区块中存储当前通信周期的数据所在区块的哈希值。
终端在接收到当前通信周期对应的上链确认信息M1后,可以根据上链缓冲池中,当前通信周期的上链校验数据结构体中当前通信周期接收到的数据所在区块的哈希值Hashcur对当前通信周期对应的上链确认信息M1携带的哈希值进行校验,若两个哈希值相等,则确定服务器将当前通信周期的数据准确的上传至区块链中。
一种可能的实施方式中,终端可以向区块链中的其它服务器(如服务器P)发起查询请求。例如发送查询当前通信周期的数据所在区块ID信息对应区块的查询消息M2。终端根据服务器P反馈的查询结果,验证区块链中存储的当前通信周期的数据是否被篡改,若确定区块链中存储的当前通信周期的数据被篡改,可以向管理终端发送告警信息M3,提示管理人员当前通信周期的数据存储异常。
一种可能的实施方式中,终端记录当前通信周期接收到的数据所在区块的哈希值Hashcur、当前通信周期的确认哈希值Hashnew、以及当前通信周期接收到的数据所在区块的区块ID信息,作为当前通信周期对应的上链校验数据结构体,并添加到终端的上链缓冲池中,直至终端确定当前通信周期对应的数据被存储到区块链中。也即终端的上链缓冲池中存储有特定通信周期对应的上链数据结构体,其中特定通信周期是指终端未确定该通信周期对应的数据存储到区块链中的通信周期。
一种可能的实施方式中,终端将服务器向其发送的当前通信周期接收到的数据所在区块的哈希值Hashcur存储到终端的同步缓冲池中,其中同步缓冲池中存储有预设数量个通信周期的数据所在区块的哈希值,例如,Hashcur1、Hashcur1、……、Hashcur1p。假设预设数量为m,若同步缓冲池中存储的哈希值数量大于m时,丢弃最先存储的哈希值,例如Hashcur1p,以维持同步缓冲池中的哈希值数量不超过m个。
终端删除同步缓冲池中的哈希值hash(k)时,可以确定该哈希值hash(k)是否在上链缓冲池中,若该哈希值hash(k)在上链缓池中,则在同步缓冲池中的选择其它哈希值hash(j)进行删除。终端也可以向管理终端发送告警信息M3,提示管理人员当前通信周期的数据存储异常。若该哈希值hash(k)不在上链缓冲池中,则直接删除该哈希值hash(k)。
一种可能的实施方式中,终端可以周期性地向区块链的任一个服务器发起数据查询M5,查询同步缓冲池中的哈希值对应的区块的数据。例如在某一查询周期内,同步缓冲池中的哈希值为Hashcur1、Hashcur1、……、Hashcur1p。Hashcur1对应的区块的ID信息可以记为ID1。终端可以向区块链中的任一个服务器发起ID1、ID2、....IDp对应区块的区块哈希值。
并与终端记录的Hashcur1、Hashcur1、……、Hashcur1p进行对比,确定区块链中的数据是否与终端的同步缓冲池中存储的哈希值相同,验证区块链中的数据是否发生存储异常。终端也可以向管理终端发送告警信息M6,提示管理人员区块链中的数据存储异常。
如图11所示,本申请实施例提供一种数据处理方法,包括如下步骤:
S1101,通过传感器在通信周期中的每个采集周期采集数据。
S1102,在每个相邻的采集周期中,根据预设时间方向的前一个周期的中间数据和后一个周期的采集数据确定后一个周期的中间数据,其中,预设时间方向的第一个周期的中间数据是根据第一个周期的采集数据和预设的随机数确定的。
S1103,在每个相邻的采集周期中,根据与预设时间方向相反的时间方向的前一个周期的目标数据和后一个周期的中间数据确定后一个周期的目标数据,其中,与预设时间方向相反的时间方向的第一个周期的目标数据和中间数据是相同的。
S1104,向服务器发送通信周期中每个采集周期的目标数据。
一种可能的实施方式中,根据预设时间方向的前一个周期的中间数据和后一个周期的采集数据确定后一个周期的中间数据,包括:
将预设时间方向的前一个周期的中间数据与后一个周期的采集数据进行第一计算处理的结果确定为后一个周期的中间数据,第一计算处理为异或运算或移位运算;或者,
将预设时间方向的前一个周期的中间数据的哈希值与后一个周期的采集数据进行第一计算处理的结果确定为后一个周期的中间数据。
一种可能的实施方式中,根据与预设时间方向相反的时间方向的前一个周期的目标数据和后一个周期的中间数据确定后一个周期的目标数据,包括:
将与预设时间方向相反的时间方向的前一个周期的目标数据与后一个周期的中间数据进行第一计算处理的结果确定为后一个周期的目标数据第一计算处理为异或运算或移位运算;或者,
将与预设时间方向相反的时间方向的前一个周期的目标数据的哈希值,与后一个周期的中间数据进行第一计算处理的结果确定为后一个周期的目标数据。
一种可能的实施方式中,预设的随机数为通信周期对应的随机数;通过传感器在通信周期中的每个采集周期采集数据之前,方法还包括:
接收随机数。
一种可能的实施方式中,向服务器发送通信周期中每个采集周期的目标数据之后,方法还包括:
接收通信周期对应的待上链验证信息;
基于待上链验证信息中的服务器的信息和通信周期中每个采集周期的目标数据确定第一校验哈希值;
若第一校验哈希值与待上链验证信息中的第一哈希值相同,记录待上链验证信息中的第二哈希值,并向服务器的信息对应的服务器发送待上链验证信息的响应消息,其中,第二哈希值表征服务器生成的包含通信周期中每个采集周期的采集数据区块的哈希值;
若第一校验哈希值与第一哈希值不同,向管理终端发送告警信息,告警信息表征多个采集周期的数据被篡改。
一种可能的实施方式中,通知服务器的信息对应的服务器将区块上链之后,方法还包括:
接收通信周期对应的已上链确认信息;
若已上链确认信息中的第三哈希值与第二哈希值相同,确定区块链中存储的通信周期中每个采集周期的采集数据未篡改,第三哈希值表征区块链中存储通信周期中每个采集周期的采集数据的区块的哈希值;
若第三哈希值与第二哈希值不同,向管理终端发送告警信息。
如图12所示,本申请实施例提供另一种数据处理方法,包括如下步骤:
S1201,接收通信周期中的数据,数据包括终端通过传感器在通信周期中每个采集周期的目标数据。
S1202,在每个相邻的采集周期中,根据预设时间方向的后一个周期的中间数据和前一个周期的目标数据确定前一个周期的中间数据,其中,预设时间方向的最后一个周期的中间数据和目标数据是相同的。
S1203,在每个相邻的采集周期中,根据与预设方向相反的时间方向的前一个周期的中间数据和后一个周期的中间数据确定后一个周期的采集数据,其中预设时间方向的第一个周期的采集数据是根据第一个采集周期的中间数据和预设的随机数确定的。
S1204,存储通信周期中每个采集周期的采集数据。
一种可能的实施方式中,根据预设时间方向的前一个周期的目标数据和后一个周期的中间数据确定前一个周期的中间数据,包括:
将预设时间方向的后一个周期的中间数据与前一个周期的目标数据进行第二计算处理的结果确定为前一个周期的中间数据,第二计算处理为异或运算或移位运算;或者,
将预设时间方向的后一个周期的中间数据的哈希值与前一个周期的目标数据进行第二计算处理的结果确定为前一个周期的中间数据。
一种可能的实施方式中,根据与预设方向相反的时间方向的前一个周期的中间数据和后一个周期的中间数据确定后一个周期的采集数据,包括:
将与预设方向相反的时间方向的前一个周期的中间数据与后一个周期的中间数据进行第二计算处理的结果确定为后一个周期的采集数据,第二计算处理为异或运算或移位运算;或者,
将与预设方向相反的时间方向的前一个周期的中间数据的哈希值与后一个周期的中间数据进行第二计算处理的结果确定为后一个周期的采集数据。
本申请实施例中,服务器可以通过利用相邻的采集周期的目标数据或者中间数据通过异或运算或移位运算得到每个采集周期的采集数据,在可以数据存储过程中防止数据被篡改。
一种可能的实施方式中,预设的随机数为通信周期对应的随机数;
接收通信周期中的数据之前,方法还包括:
向终端发送通信周期对应的随机数。
一种可能的实施方式中,存储通信周期中每个采集周期的采集数据,方法还包括:
基于接收的通信周期中每个采集周期的目标数据与服务器的信息,确定第四哈希值;
生成存储通信周期中每个采集周期的采集数据的第一区块;
向终端发送携带第四哈希值、第一区块的第五哈希值以及服务器的信息的待上链验证信息。
一种可能的实施方式中,向终端发送携带区块的哈希值以及服务器的信息的待上链验证信息之后,方法还包括:
接收待上链验证信息的响应消息;
在区块链中,对区块进行上链处理;
确定区块链中存储通信周期中每个采集周期的采集数据的第二区块的哈希值;
向终端发送携带第二区块的哈希值的已上链确认信息。
在一种可能的应用场景中,为防止数据被篡改,任一设备可以将数据划分为多个部分,多个部分可以实施为本申请实施例中的多个采集周期。该设备可以通过本申请实施例如图11示出的数据处理方法,对多个部分的原始数据进行防篡改处理。该设备也可通过本申请实施例如图12示出的数据处理方法,根据防篡改处理后的多个部分的数据,得到多个部分对应的原始数据。
基于上述实施例,本申请实施例提供一种终端,图13根据一示例性实施例示出了一种终端的结构示意图,终端1300包括:
处理器1301;
用于存储处理器1301可执行指令的存储器1302;
处理器1301用于执行指令以实现:
通过传感器在通信周期中的每个采集周期采集数据;
在每个相邻的采集周期中,根据预设时间方向的前一个周期的中间数据和后一个周期的采集数据确定后一个周期的中间数据,其中,预设时间方向的第一个周期的中间数据是根据第一个周期的采集数据和预设的随机数确定的;
在每个相邻的采集周期中,根据与预设时间方向相反的时间方向的前一个周期的目标数据和后一个周期的中间数据确定后一个周期的目标数据,其中,与预设时间方向相反的时间方向的第一个周期的目标数据和中间数据是相同的;
向服务器发送通信周期中每个采集周期的目标数据。
一种可能的实施方式中,处理器1301具体用于:将预设时间方向的前一个周期的中间数据与后一个周期的采集数据进行第一计算处理的结果确定为后一个周期的中间数据,第一计算处理为异或运算或移位运算;或者,
将预设时间方向的前一个周期的中间数据的哈希值与后一个周期的采集数据进行第一计算处理的结果确定为后一个周期的中间数据。
一种可能的实施方式中,处理器1301具体用于:将与预设时间方向相反的时间方向的前一个周期的目标数据与后一个周期的中间数据进行第一计算处理的结果确定为后一个周期的目标数据,第一计算处理为异或运算或移位运算;或者,
将与预设时间方向相反的时间方向的前一个周期的目标数据的哈希值,与后一个周期的中间数据进行第一计算处理的结果确定为后一个周期的目标数据。
一种可能的实施方式中,预设的随机数为通信周期对应的随机数;通过传感器在通信周期中的每个采集周期采集数据之前,方法还包括:
接收随机数。
一种可能的实施方式中,处理器1301还用于:接收通信周期对应的待上链验证信息;
基于待上链验证信息中的服务器的信息和通信周期中每个采集周期的目标数据确定第一校验哈希值;
若第一校验哈希值与待上链验证信息中的第一哈希值相同,记录待上链验证信息中的第二哈希值,并向服务器的信息对应的服务器发送待上链验证信息的响应消息,其中,第二哈希值表征服务器生成的包含通信周期中每个采集周期的采集数据区块的哈希值;
若第一校验哈希值与第一哈希值不同,向管理终端发送告警信息,告警信息表征多个采集周期的数据被篡改。
一种可能的实施方式中,处理器1301还用于:
接收通信周期对应的已上链确认信息;
若已上链确认信息中的第三哈希值与第二哈希值相同,确定区块链中存储的通信周期中每个采集周期的采集数据未篡改,第三哈希值表征区块链中存储通信周期中每个采集周期的采集数据的区块的哈希值;
若第三哈希值与第二哈希值不同,向管理终端发送告警信息。
本申请实施例提供一种终端,图14根据一示例性实施例示出了一种服务器的结构示意图,服务器1400包括:
处理器1401;
用于存储处理器1401可执行指令的存储器1402;
处理器1401用于执行指令以实现:
接收通信周期中的数据,数据包括终端通过传感器在通信周期中每个采集周期的目标数据;
在每个相邻的采集周期中,根据预设时间方向的后一个周期的中间数据和前一个周期的目标数据确定前一个周期的中间数据,其中,预设时间方向的最后一个周期的中间数据和目标数据是相同的;
在每个相邻的采集周期中,根据与预设方向相反的时间方向的前一个周期的中间数据和后一个周期的中间数据确定后一个周期的采集数据,其中预设时间方向的第一个周期的采集数据是根据第一个采集周期的中间数据和预设的随机数确定的;
存储通信周期中每个采集周期的采集数据。
一种可能的实施方式中,处理器1401具体用于:将预设时间方向的后一个周期的中间数据与前一个周期的目标数据进行第二计算处理的结果确定为前一个周期的中间数据,第二计算处理为异或运算或移位运算;或者,
将预设时间方向的后一个周期的中间数据的哈希值与前一个周期的目标数据进行第二计算处理的结果确定为前一个周期的中间数据。
一种可能的实施方式中,处理器1401具体用于:将与预设方向相反的时间方向的前一个周期的中间数据与后一个周期的中间数据进行第二计算处理的结果确定为后一个周期的采集数据,第二计算处理为异或运算或移位运算;或者,
将与预设方向相反的时间方向的前一个周期的中间数据的哈希值与后一个周期的中间数据进行第二计算处理的结果确定为后一个周期的采集数据。
一种可能的实施方式中,第二计算处理为异或运算或移位运算。
一种可能的实施方式中,预设的随机数为通信周期对应的随机数;
接收通信周期中的数据之前,方法还包括:
向终端发送通信周期对应的随机数。
一种可能的实施方式中,处理器1401还用于:基于接收的通信周期中每个采集周期的目标数据与服务器的信息,确定第四哈希值;
生成存储通信周期中每个采集周期的采集数据的第一区块;
向终端发送携带第四哈希值、第一区块的第五哈希值以及服务器的信息的待上链验证信息。
一种可能的实施方式中,处理器1401还用于:
接收待上链验证信息的响应消息;
在区块链中,对区块进行上链处理;
确定区块链中存储通信周期中每个采集周期的采集数据的第二区块的哈希值;
向终端发送携带第二区块的哈希值的已上链确认信息。
本申请实施例还提供一种数据处理系统,图15根据一示例性实施例示出了一种数据处理系统的结构示意图,数据处理系统1500包括:至少一个如上述实施例中的终端1300,至少一个如上述实施例中的服务器1400。
一种可能的实施方式中,数据处理系统1500还可以包括管理终端1501,管理终端1501,用于控制终端1300、服务器1400,以及接收终端1300或者服务器1400发送的告警信息,并通过管理终端1501的显示器展示告警信息,或者通过管理终端1501的扬声器播放告警信息,以提示工作人员。
另外,本申请实施例提供一种计算机存储介质,计算机存储介质中存储有计算机程序指令,当指令在计算机上运行时,使得计算机执行本申请实施例中提供的任一种数据处理方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (17)
1.一种数据处理方法,其特征在于,应用于终端,所述方法包括:
通过传感器在通信周期中的每个采集周期采集数据;
在每个相邻的采集周期中,根据预设时间方向的前一个周期的中间数据和后一个周期的采集数据确定后一个周期的中间数据,其中,所述预设时间方向的第一个周期的中间数据是根据所述第一个周期的采集数据和预设的随机数确定的;
在每个相邻的采集周期中,根据与所述预设时间方向相反的时间方向的前一个周期的目标数据和后一个周期的中间数据确定后一个周期的目标数据,其中,与所述预设时间方向相反的时间方向的第一个周期的目标数据和中间数据是相同的;
向服务器发送所述通信周期中每个采集周期的目标数据。
2.根据权利要求1所述的方法,其特征在于,所述根据预设时间方向的前一个周期的中间数据和后一个周期的采集数据确定后一个周期的中间数据,包括:
将所述预设时间方向的前一个周期的中间数据与后一个周期的采集数据进行第一计算处理的结果确定为后一个周期的中间数据,所述第一计算处理为异或运算或移位运算;或者,
将所述预设时间方向的前一个周期的中间数据的哈希值与后一个周期的采集数据进行所述第一计算处理的结果确定为后一个周期的中间数据。
3.根据权利要求1所述的方法,其特征在于,所述根据与所述预设时间方向相反的时间方向的前一个周期的目标数据和后一个周期的中间数据确定后一个周期的目标数据,包括:
将与所述预设时间方向相反的时间方向的前一个周期的目标数据与后一个周期的中间数据进行第一计算处理的结果确定为后一个周期的目标数据,所述第一计算处理为异或运算或移位运算;或者,
将与所述预设时间方向相反的时间方向的前一个周期的目标数据的哈希值,与后一个周期的中间数据进行第一计算处理的结果确定为后一个周期的目标数据。
4.根据权利要求1所述的方法,其特征在于,所述预设的随机数为所述通信周期对应的随机数;
所述通过传感器在通信周期中的每个采集周期采集数据之前,所述方法还包括:
接收所述服务器发送的当前通信周期的随机数。
5.根据权利要求1所述的方法,其特征在于,所述向服务器发送所述通信周期中每个采集周期的目标数据之后,所述方法还包括:
接收所述服务器发送的所述通信周期对应的待上链验证信息;
基于所述待上链验证信息中的服务器的信息和所述通信周期中每个采集周期的目标数据确定第一校验哈希值;
若所述第一校验哈希值与所述待上链验证信息中的第一哈希值相同,记录所述待上链验证信息中的第二哈希值,并向所述服务器的信息对应的服务器发送所述待上链验证信息的响应消息,其中,所述第二哈希值表征所述服务器生成的包含所述通信周期中每个采集周期的采集数据区块的哈希值;
若所述第一校验哈希值与所述第一哈希值不同,向管理终端发送告警信息,所述告警信息表征所述多个采集周期的数据被篡改。
6.根据权利要求5所述的方法,其特征在于,所述向所述服务器的信息对应的服务器发送所述待上链验证信息的响应消息之后,所述方法还包括:
接收所述服务器发送的所述通信周期对应的已上链确认信息;
若所述已上链确认信息中的第三哈希值与所述第二哈希值相同,确定区块链中存储的所述通信周期中每个采集周期的采集数据未篡改,所述第三哈希值表征所述区块链中存储所述通信周期中每个采集周期的采集数据的区块的哈希值;
若所述第三哈希值与所述第二哈希值不同,向所述管理终端发送所述告警信息。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述预设时间方向的第一个周期的采集数据为所述终端的标识。
8.一种数据处理方法,其特征在于,应用于服务器,所述方法包括:
接收通信周期中的数据,所述数据包括终端通过传感器在所述通信周期中每个采集周期的目标数据;
在每个相邻的采集周期中,根据预设时间方向的后一个周期的中间数据和前一个周期的目标数据确定前一个周期的中间数据,其中,所述预设时间方向的最后一个周期的中间数据和目标数据是相同的;
在每个相邻的采集周期中,根据与所述预设方向相反的时间方向的前一个周期的中间数据和后一个周期的中间数据确定后一个周期的采集数据,其中所述预设时间方向的第一个周期的采集数据是根据所述第一个采集周期的中间数据和预设的随机数确定的;
存储所述通信周期中每个采集周期的采集数据。
9.根据权利要求8所述的方法,其特征在于,所述根据预设时间方向的前一个周期的目标数据和后一个周期的中间数据确定前一个周期的中间数据,包括:
将所述预设时间方向的后一个周期的中间数据与前一个周期的目标数据进行第二计算处理的结果确定为前一个周期的中间数据,所述第二计算处理为异或运算或移位运算;或者,
将所述预设时间方向的后一个周期的中间数据的哈希值与前一个周期的目标数据进行所述第二计算处理的结果确定为前一个周期的中间数据。
10.根据权利要求8所述的方法,其特征在于,根据与所述预设方向相反的时间方向的前一个周期的中间数据和后一个周期的中间数据确定后一个周期的采集数据,包括:
将与所述预设方向相反的时间方向的前一个周期的中间数据与后一个周期的中间数据进行第二计算处理的结果确定为后一个周期的采集数据,所述第二计算处理为异或运算或移位运算;或者,
将与所述预设方向相反的时间方向的前一个周期的中间数据的哈希值与后一个周期的中间数据进行所述第二计算处理的结果确定为后一个周期的采集数据。
11.根据权利要求8所述的方法,其特征在于,所述预设的随机数为所述通信周期对应的随机数;
所述接收通信周期中的数据之前,所述方法还包括:
向所述终端发送所述通信周期对应的随机数。
12.根据权利要求8所述的方法,其特征在于,所述存储所述通信周期中每个采集周期的采集数据之后,所述方法还包括:
基于接收的所述通信周期中每个采集周期的目标数据与所述服务器的信息,确定第四哈希值;
生成存储所述通信周期中每个采集周期的采集数据的第一区块;
向所述终端发送携带所述第四哈希值、所述第一区块的第五哈希值以及所述服务器的信息的待上链验证信息。
13.根据权利要求12所述的方法,其特征在于,所述向所述终端发送携带所述区块的哈希值以及所述服务器的信息的待上链验证信息之后,所述方法还包括:
接收所述待上链验证信息的响应消息;
在区块链中,对所述区块进行上链处理;
确定所述区块链中存储所述通信周期中每个采集周期的采集数据的第二区块的哈希值;
向所述终端发送携带所述第二区块的哈希值的已上链确认信息。
14.根据权利要求8-13中任一项所述的方法,其特征在于,所述预设时间方向的第一个周期的采集数据为所述终端的标识,所述方法还包括:
若确定所述预设时间方向的第一个周期的采集数据与存储的所述终端的标识不同,则向管理终端发送告警信息,丢弃所述通信周期的数据;或者,
根据所述预设时间方向的第一个周期的中间数据和所述终端的标识确定目标随机数,以及若确定所述目标随机数与向所述通信周期对应的随机数不同,则向管理终端发送告警信息,丢弃所述通信周期的数据。
15.一种终端,其特征在于,所述终端包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器用于执行所述指令以实现如权利要求1至7所中任一项所述的数据处理方法。
16.一种服务器,其特征在于,所述服务器包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器用于执行所述指令以实现如权利要求8至14所中任一项所述的数据处理方法。
17.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-14中任一所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011269611.8A CN112256808B (zh) | 2020-11-13 | 2020-11-13 | 一种数据处理方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011269611.8A CN112256808B (zh) | 2020-11-13 | 2020-11-13 | 一种数据处理方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112256808A true CN112256808A (zh) | 2021-01-22 |
CN112256808B CN112256808B (zh) | 2023-09-12 |
Family
ID=74265677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011269611.8A Active CN112256808B (zh) | 2020-11-13 | 2020-11-13 | 一种数据处理方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256808B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012164140A (ja) * | 2011-02-07 | 2012-08-30 | Azbil Corp | 信号処理装置、信号処理方法、信号処理プログラム、及び記憶媒体 |
CN108282811A (zh) * | 2017-01-05 | 2018-07-13 | 中兴通讯股份有限公司 | 一种数据处理方法和装置 |
CN110264348A (zh) * | 2019-05-07 | 2019-09-20 | 北京奇艺世纪科技有限公司 | 一种交易上链的处理方法、装置及存储介质 |
WO2020062211A1 (zh) * | 2018-09-30 | 2020-04-02 | 北京大学深圳研究生院 | 一种融合区块链技术拟态存储防篡改日志的方法及系统 |
CN111506585A (zh) * | 2020-03-27 | 2020-08-07 | 华立科技股份有限公司 | 一种基于区块链技术的配电网能源计量系统 |
CN211239887U (zh) * | 2020-02-10 | 2020-08-11 | 王招营 | 基于区块链的监测数据防篡改系统 |
CN111740838A (zh) * | 2020-05-22 | 2020-10-02 | 青岛万民科技有限公司 | 一种区块链数据可信上链方法及系统 |
-
2020
- 2020-11-13 CN CN202011269611.8A patent/CN112256808B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012164140A (ja) * | 2011-02-07 | 2012-08-30 | Azbil Corp | 信号処理装置、信号処理方法、信号処理プログラム、及び記憶媒体 |
CN108282811A (zh) * | 2017-01-05 | 2018-07-13 | 中兴通讯股份有限公司 | 一种数据处理方法和装置 |
WO2020062211A1 (zh) * | 2018-09-30 | 2020-04-02 | 北京大学深圳研究生院 | 一种融合区块链技术拟态存储防篡改日志的方法及系统 |
CN110264348A (zh) * | 2019-05-07 | 2019-09-20 | 北京奇艺世纪科技有限公司 | 一种交易上链的处理方法、装置及存储介质 |
CN211239887U (zh) * | 2020-02-10 | 2020-08-11 | 王招营 | 基于区块链的监测数据防篡改系统 |
CN111506585A (zh) * | 2020-03-27 | 2020-08-07 | 华立科技股份有限公司 | 一种基于区块链技术的配电网能源计量系统 |
CN111740838A (zh) * | 2020-05-22 | 2020-10-02 | 青岛万民科技有限公司 | 一种区块链数据可信上链方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112256808B (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11570184B2 (en) | In-vehicle network system, fraud-detection electronic control unit, and fraud-detection method | |
US10728229B2 (en) | Method and device for communicating securely between T-box device and ECU device in internet of vehicles system | |
CN108199852B (zh) | 一种鉴权方法、鉴权系统和计算机可读存储介质 | |
CN102739659B (zh) | 一种防重放攻击的认证方法 | |
CN110929880A (zh) | 一种联邦学习方法、装置及计算机可读存储介质 | |
JP4800651B2 (ja) | セッション開始プロトコルルーティングヘッダに対して署名および検証を行う方法 | |
CN108737110B (zh) | 一种用于防重放攻击的数据加密传输方法及装置 | |
CN111914021A (zh) | 一种跨区块链的交互方法、系统、计算机设备及存储介质 | |
CN110599180B (zh) | 一种基于区块链的疫苗流通管理方法及装置 | |
JP6396011B2 (ja) | 画像管理システム | |
US11936799B2 (en) | Blockchain-based time stamping method for digital signature | |
JP2022528360A (ja) | 自律走行車両を遠隔制御するための暗号的に安全なメカニズム | |
US11303453B2 (en) | Method for securing communication without management of states | |
CN112070501B (zh) | 一种区块链交易发起、验证方法及系统 | |
CN112035896B (zh) | 一种基于交易方式的电子合同存证系统 | |
CN110830259A (zh) | 为多媒体数据提供原始性和完整性证明的方法及系统 | |
EP3955149A1 (en) | Method and apparatus for securing real-time data transfer from a device | |
CN112256808B (zh) | 一种数据处理方法、设备及存储介质 | |
CN104284215B (zh) | 一种视频请求的处理方法和装置 | |
CN113645103B (zh) | 视频监控平台与前端设备间通信链路异常检测方法及装置 | |
CN114065286A (zh) | 基于区块链智能合约的工控设备指令脱敏方法 | |
CN115550376A (zh) | 一种基于终端设备的物联网数据上链方法及系统 | |
CN117240870B (zh) | 一种可穿戴设备数据同步方法 | |
CN116702219B (zh) | 一种基于区块链的可信固证方法和装置 | |
Redfield et al. | Gringotts: securing data for digital evidence |
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 |