CN109120714B - 安防数据恢复方法及系统,节点服务器 - Google Patents
安防数据恢复方法及系统,节点服务器 Download PDFInfo
- Publication number
- CN109120714B CN109120714B CN201811108458.3A CN201811108458A CN109120714B CN 109120714 B CN109120714 B CN 109120714B CN 201811108458 A CN201811108458 A CN 201811108458A CN 109120714 B CN109120714 B CN 109120714B
- Authority
- CN
- China
- Prior art keywords
- security
- target
- block
- data
- node
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Abstract
本发明涉及数据恢复技术领域,特别是涉及一种安防数据恢复方法及系统,节点服务器。方法包括:接收目标安防客户端发送的数据恢复请求;搜索出包含目标安防客户端的节点编号的所有目标区块;从各个目标区块恢复与目标安防客户端对应的安防数据;向目标安防客户端发送恢复的安防数据。一方面,安防客户端便捷快速地从区块链便可以恢复原始的安防数据。另一方面,由于区块链中各个节点服务器都存储有同一安防数据,安防客户端恢复数据时可以有更多选择,相对而言,其成功恢复数据的概率会更高。并且,由于区块链具有不可篡改、去中心化及高度透明化的特点,因此,其能够提供可靠的安防数据。
Description
技术领域
本发明涉及数据恢复技术领域,特别是涉及一种安防数据恢复方法及系统,节点服务器。
背景技术
在安防技术领域,每个安防区域设置有安防客户端,用于接收各个安防数据采集节点采集的安防信息,诸如烟雾传感器采集的环境烟雾信息、摄像机采集的视频信息等等。
发明人在实现本发明的过程中,发现传统技术至少存在以下问题:当安防客户端受到网络攻击或者其它突发事件时,其容易丢失一些安防数据,然而,丢失的安防数据却不能够有效地恢复,因此,现有安防数据存储安全性比较低。
发明内容
本发明实施例一个目的旨在提供一种安防数据恢复方法及系统,节点服务器,其能够可靠地恢复安防数据。
为解决上述技术问题,本发明实施例提供以下技术方案:
在第一方面,本发明实施例提供一种安防数据恢复方法,所述区块链包括若干节点服务器,每个所述节点服务器皆存储有包含所述安防数据的区块,所述方法包括:
接收目标安防客户端发送的数据恢复请求,所述数据恢复请求携带有所述目标安防客户端的节点编号,所述区块包括区块头与区块体,所述区块体记录有各个安防数据采集节点向安防客户端发送采集的安防数据,所述区块头记录有与所述各个安防客户端对应的节点编号;
搜索出包含所述目标安防客户端的节点编号的所有目标区块;
从各个所述目标区块恢复与所述目标安防客户端对应的安防数据;
向所述目标安防客户端发送恢复的安防数据。
可选地,所述从各个所述目标区块恢复与所述目标安防客户端对应的安防数据,包括:
按照区块编号的高低顺序,将各个所述目标区块划分成若干目标区域,每个所述目标区域皆包括按照区块编号的高低顺序排列的若干目标区块;
选择预设数量个目标区域中的目标区块恢复与所述目标安防客户端对应的安防数据;
向所述目标安防客户端发送其它安防节点的网络地址,以使所述目标安防客户端从剩余数量个目标区域中的目标区块恢复与所述目标安防客户端对应的安防数据。
可选地,所述从各个所述目标区块恢复与所述目标安防客户端对应的安防数据,包括:
获取每个所述目标区块的区块生成时间;
按照每个所述区块生成时间的生成顺序,依次从各个所述目标区块恢复与所述目标安防客户端对应的安防数据。
可选地,所述区块体按照默克尔树方式记录各个安防数据采集节点采集的安防数据。
可选地,每个所述安防客户端皆配置有私钥与公钥,所述私钥由每个所述安防客户端保存,所述公钥广播于所述区块链中,所述数据恢复请求还携带有签名,所述签名由所述私钥生成;
所述接收目标安防客户端发送的数据恢复请求,包括:
使用所述目标安防客户端的公钥验证所述签名的合法性;
若合法,接收所述目标安防客户端发送的数据恢复请求;
若非法,不响应所述目标安防客户端发送的数据恢复请求。
在第二方面,本发明实施例提供一种安防数据恢复装置,所述区块链包括若干节点服务器,每个所述节点服务器皆存储有包含所述安防数据的区块,所述装置包括:
接收模块,用于接收目标安防客户端发送的数据恢复请求,所述数据恢复请求携带有所述目标安防客户端的节点编号,所述区块包括区块头与区块体,所述区块体记录有各个安防数据采集节点向安防客户端发送采集的安防数据,所述区块头记录有与所述各个安防客户端对应的节点编号;
搜索模块,用于搜索出包含所述目标安防客户端的节点编号的所有目标区块;
恢复模块,用于从各个所述目标区块恢复与所述目标安防客户端对应的安防数据;
发送模块,用于向所述目标安防客户端发送恢复的安防数据。
可选地,所述发送模块具体用于:
按照区块编号的高低顺序,将各个所述目标区块划分成若干目标区域,每个所述目标区域皆包括按照区块编号的高低顺序排列的若干目标区块;
选择预设数量个目标区域中的目标区块恢复与所述目标安防客户端对应的安防数据;
向所述目标安防客户端发送其它安防节点的网络地址,以使所述目标安防客户端从剩余数量个目标区域中的目标区块恢复与所述目标安防客户端对应的安防数据。
在第三方面,本发明实施例提供一种节点服务器,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行任一项所述的安防数据恢复方法。
在第四方面,本发明实施例提供一种安防数据恢复系统,包括:
若干安防数据采集节点;
若干安防客户端,所述安防客户端与所述安防数据采集节点连接;以及
所述的节点服务器,所述节点服务器与所述安防客户端连接。
在第五方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使节点服务器执行任一项所述的安防数据恢复方法。
在第六方面,本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被节点服务器执行时,使所述节点服务器执行任一项所述的安防数据恢复方法。
在本发明各个实施例提供的安防数据恢复方法及系统,节点服务器中,首先,接收目标安防客户端发送的数据恢复请求,数据恢复请求携带有目标安防客户端的节点编号,区块包括区块头与区块体,区块体记录有各个安防数据采集节点向安防客户端发送采集的安防数据,区块头记录有与各个安防客户端对应的节点编号。其次,搜索出包含目标安防客户端的节点编号的所有目标区块。再次,从各个目标区块恢复与目标安防客户端对应的安防数据。最后,向目标安防客户端发送恢复的安防数据。一方面,安防客户端便捷快速地从区块链便可以恢复原始的安防数据。另一方面,由于区块链中各个节点服务器都存储有同一安防数据,安防客户端恢复数据时可以有更多选择,相对而言,其成功恢复数据的概率会更高。并且,由于区块链具有不可篡改、去中心化及高度透明化的特点,因此,其能够提供可靠的安防数据。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供一种区块链网络的架构模型示意图;
图2是本发明实施例提供一种安防数据恢复系统的结构示意图;
图3是本发明实施例提供一种安防数据恢复方法的流程示意图;
图4是本发明实施例提供一种安防数据恢复装置的结构示意图;
图5是本发明实施例提供一种节点服务器的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
区块链技术亦称为分布式账本技术,是一种分布式互联网数据库技术。基于区块链技术构建的网络可以称之为区块链网络,区块链网络包含多个节点服务器,每一个节点对应至少一个区块链,每一个区块链上至少包含一个区块。区块链技术具备去中心化、公开透明、不可篡改、可信任等特点,因此,区块链技术应用领域越来越广泛。
请参阅图1,图1是本发明实施例提供一种区块链网络的架构模型示意图。如图1所示,该区块链网络100包括数据层11、网络层12、共识层13以及智能合约层14。
数据层11封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法。网络层12包括分布式组网机制、数据传播机制和数据验证机制等等。共识层13封装网络节点的各类共识算法。智能合约层14封装各类脚本、算法和智能合约。
本发明实施例的安防数据恢复方法,可以在任何合适类型、具有运算能力的节点服务器中执行,例如服务器、台式计算机、智能手机、平板电脑以及其他电子产品中。其中,此处的服务器可以是一个物理服务器或者多个物理服务器虚拟而成的一个逻辑服务器。服务器也可以是多个可互联通信的服务器组成的服务器群,且各个功能模块可分别分布在服务器群中的各个服务器上。
本发明实施例的安防数据恢复装置可以作为软件系统,独立设置在上述节点服务器中,也可以作为整合在处理器中的其中一个功能模块,执行本发明实施例的安防数据恢复方法。
本发明实施例提供的区块链包括诸如公有区块链(Public Block Chains)、联合区块链(Consortium Block Chains)及私有区块链(Private Block Chains)。
请参阅图2,图2是本发明实施例提供一种安防数据恢复系统的结构示意图。如图2所示,安防数据恢复系统200包括安防数据采集节点20、安防客户端21、安防节点22、代理节点23及矿工节点24。
安防数据采集节点20与安防客户端21通讯,通讯方式既可以为有线通讯,亦可以为无线通讯。安防客户端21与安防节点22通讯连接,安防节点22与代理节点23通讯连接,代理节点23还与矿工节点24通讯连接。其中,安防节点22、代理节点23及矿工节点24作为节点服务器,两两节点服务器之间的通讯支持点对点通讯方式(Point to pointcommunication,P2P),每个节点服务器皆存储有包含安防数据的区块。
安防数据采集节点20用于采集安防数据,其中,安防数据包括视频数据、烟雾数据、语音数据、温度数据、湿度数据、颗粒物数据等等。相应的,安防数据采集节点20可以为以下任意一种或多种电子设备:视频监控器、烟雾传感器、温度传感器或湿度传感器,其可以根据安防需求,设置于任何区域。
安防数据采集节点20采集预设范围的安防数据,并将安防数据发送给安防客户端21。安防客户端21将各个安防数据采集节点20发送的安防数据汇总并存储。
一般的,当安防客户端21受到网络攻击或者其它突发事件时,其容易丢失一些安防数据,并且不容易本地恢复丢失的安防数据。
安防节点22能够分析处理安防数据,并将处理后的安防数据发送至代理节点23,安防节点22持有流通的电子货币,在区块链系统中拥有投票选举的权利。安防节点22可以进行相关交易操作,但是没有区块的打包记账权,只能从拥有打包记账权的代理节点23处同步记录区块数据。
代理节点23编写有智能合约代码,安防节点22向代理节点23发送安防数据,触发代理节点23的智能合约,使得代理节点23的智能合约执行安防数据。其中,安防节点22维护有智能合约列表,该智能合约列表记录能够执行智能合约的各个代理节点名单。每当安防节点22接收到安防数据时,安防节点22调取智能合约列表,从智能合约列表中查找出各个代理节点的地址,并向各个代理节点发送安防数据。
在本实施例中,代理节点23可以预存多种类型智能合约,其可以根据安防节点22发送的触发请求,解析出智能合约的执行类型。代理节点23再根据解析出的智能合约的执行类型,执行对应的智能合约。
当某个代理节点陷入故障,其余代理节点将该某个代理节点的地址广播至全网,安防节点22监测到该广播信息,并更新智能合约列表,后续发送安防数据时,安防节点22不向该某个代理节点23发送数据,以提高工作效率。
智能合约的代码是根据业务场景逻辑编写的,例如,在安防领域中,智能合约可以根据安防数据实施自动报警。
代理节点23根据智能合约执行安防数据后,输出待验证的区块数据。接着,代理节点23还将待验证的区块数据作签名,并将签名后的区块数据打包发送至矿工节点24。矿工节点24利用代理节点23的公钥验证签名后的区块数据,若验证成功,则认为该签名后的区块数据是合法代理节点23发送的,后续接着对该区块数据进行共识处理。若验证未成功,则认为该签名后的区块数据是非法代理节点23发送的。例如,代理节点23使用自身私钥对当前区块的哈希内容作签名运算,得到该签名。
矿工节点24用于共识验证代理节点23上传的区块数据。其中,矿工节点24可以支持以下任意一种共识算法:工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,POS)、股份授权证明(Delegate proof of Stake,DPoS)、实用拜占庭容错(practicalByzantine Fault Tolerance,PBFT)、授权拜占庭容错(Delegated Byzantine FaultTolerance,DBFT)等等。
每个矿工节点24皆需要在代理节点23注册,待注册成功后,该矿工节点便为合法矿工节点。注册过程如下:
1、矿工节点24向代理节点23提交注册信息。
其中,该注册信息包括以下一种或多种信息:矿工节点24的设备序列号SN、用户信息及矿工钱包地址。
2、代理节点23对注册信息进行检查。
检查过程包括:检测SN编号格式是否正确、SN是否存在数据库中、SN是否已被绑定了其他用户等等。
3、代理节点23记录注册信息。
4、代理节点23将注册结果返回给矿工节点24。
5、代理节点23将新的注册数据广播。
在上述安防数据恢复200中,区块是用于存储安防数据的载体,每个区块皆包含区块头与区块体,区块头记载的信息用于标识区块本身、前一个区块的信息摘要以及区块在整个账本中的位置。区块体用于存储安防数据以及验证安防数据并保存安防数据不被篡改。
区块链为将每个区块按照生成时间的顺序逐个连接起来,便形成了一个链式的数据存储结构。在整个区块链中,第一个区块称为创世区块,其区块高度为0,之后的每个区块的区块高度依次加1,并且在区块头中写入前一个区块头的哈希值。区块链上的各个区块之间由各个区块上的上一个区块头哈希值进行链接。
因此,区块链具有不可篡改性。基于此,本发明实施例提供一种安防数据恢复方法。
请参阅图3,图3是本发明实施例提供一种安防数据恢复方法的流程示意图。如图3所示,安防数据恢复方法S300包括:
S31、接收目标安防客户端发送的数据恢复请求,数据恢复请求携带有目标安防客户端的节点编号,区块包括区块头与区块体,区块体记录有各个安防数据采集节点向安防客户端发送采集的安防数据,区块头记录有与各个安防客户端对应的节点编号;
在本实施例中,每个安防客户端都可以为目标安防客户端,“目标安防客户端”中的“目标”并不用于限制“安防客户端”的保护范围。当安防客户端A选择为目标安防节点后,相对于安防客户端A,其它安防客户端都为额外安防客户端。类似,当安防客户端B选择为目标安防客户端后,相对于安防客户端B,其它安防客户端(包括安防客户端A)都为额外安防节点。以此类推,在此不赘述。
在本实施例中述区块体按照默克尔树方式记录各个安防数据采集节点采集的安防数据。代理节点按照默克尔树方式将安防数据打包成区块数据,亦即,每两个安防数据合并生成一个哈希值,从而以默克尔树方式将所有安防数据生成默克尔树,其中,默克尔树根哈希记录于该区块数据的区块头。通过以默克尔树方式将安防数据打包成区块数据,其能够方便后期验证各个安防数据。其中,安防节点从代理节点同步更新区块。
在一些实施例中,每个安防客户端皆配置有私钥与公钥,私钥由每个安防客户端保存,公钥广播于所述区块链中,数据恢复请求还携带有签名,签名由私钥生成。安防节点在接收目标安防客户端发送的数据恢复请求时,其可以使用目标安防客户端的公钥验证签名的合法性;若合法,接收目标安防客户端发送的数据恢复请求;若非法,不响应目标安防客户端发送的数据恢复请求。
因此,通过此种方式,其能够防止非法客户端非法恢复安防数据,防止安防数据泄露于非法客户端上,提高了数据恢复的安全性与可靠性。
S32、搜索出包含目标安防客户端的节点编号的所有目标区块;
安防节点从数据恢复请求解析出目标安防客户端的节点编号,并从自身存储账本中遍历出包含目标安防客户端的节点编号的所有目标区块。
S33、从各个目标区块恢复与目标安防客户端对应的安防数据;
安防节点解析各个目标区块,从区块的区块头中读取出与目标安防客户端对应的安防数据,从而恢复出与目标安防客户端对应的安防数据。
在一些实施例中,代理节点按照每个安防数据的生成顺序将各个安防数据打包成区块数据,例如,安防数据为视频数据,各个视频数据的生成时间皆不同,存在先后关系,代理节点将预设时间范围内的视频数据打包成一个区块数据。例如,视频数据M1的生成时间T1早于视频数据M2的T2、视频数据M2的T2早于视频数据M3的T3、视频数据M3的T3早于视频数据M4的T4、视频数据M4的T4早于视频数据M5的T5,于是,代理节点将时间范围位于T1至T3之间的视频数据打包在一起,亦即,代理节点先将视频数据M1、M2及M3打包在一起形成区块数据Q1,后面在打包视频数据M4、M5并形成区块数据Q2。
为了方便用户后期更加有效地整理出恢复后的安防数据,安防节点从各个目标区块恢复与目标安防客户端对应的安防数据的过程中,首先,安防节点获取每个目标区块的区块生成时间,其次,安防节点按照每个区块生成时间的生成顺序,依次从各个目标区块恢复与目标安防客户端对应的安防数据。举例而言,承接上述例子,安防节点先从区块数据Q1提取出视频数据M1、M2及M3,并按照视频数据的生成时间,排列视频数据M1、M2及M3。其次,安防节点再从区块数据Q2提取出视频数据M4、M5,并按照视频数据的生成时间,排列视频数据M1、M2、M3、M4、M5。
S34、向目标安防客户端发送恢复的安防数据。
一方面,安防客户端便捷快速地从区块链便可以恢复原始的安防数据。另一方面,由于区块链中各个节点服务器都存储有同一安防数据,安防客户端恢复数据时可以有更多选择,相对而言,其成功恢复数据的概率会更高。并且,由于区块链具有不可篡改、去中心化及高度透明化的特点,因此,其能够提供可靠的安防数据。
如果过多安防客户端集中于某个安防节点恢复安防数据时,其会给该安防节点造成过载。因此,在一些实施例中,安防节点从各个目标区块恢复与目标安防客户端对应的安防数据时,首先,安防节点按照区块编号的高低顺序,将各个目标区块划分成若干目标区域,每个目标区域皆包括按照区块编号的高低顺序排列的若干目标区块。举例而言,安防节点找到区块编号为以下的目标区块:第1000个区块至第1499个区块。安防节点按照区块编号的高低顺序,将第1000个区块至第1500个区块划分成5个目标区域,例如,第一目标区域为第1000个区块至第1099个区块,第二目标区域为第1100个区块至第1199个区块,第三目标区域为第1200个区块至第1299个区块,第四目标区域为第1300个区块至第1399个区块,第五目标区域为第1400个区块至第1499个区块。
其次,安防节点选择预设数量个目标区域中的目标区块恢复与目标安防客户端对应的安防数据。例如,安防节点选择第一目标区域、第二目标区域及第三目标区域(总共3个目标区域)中的目标区块恢复与目标安防客户端对应的安防数据。其中,预设数量由用户自定义。
再次,安防节点向目标安防客户端发送其它安防节点的网络地址,以使目标安防客户端从剩余数量个目标区域中的目标区块恢复与目标安防客户端对应的安防数据。例如,目标安防客户端根据其它安防节点的网络地址,访问其它安防节点,并向其它安防节点发送需要恢复的目标区块的区块编号以及与目标安防客户端的节点编号,其中,发送给其它安防节点需要恢复的目标区块的区块编号为剩余数量个目标区域中的目标区块的区块编号,例如,承接上述例子,发送的区块编号为第1300个区块至第1499个区块,其它安防节点从区块编号为第1300个区块至第1499个区块恢复与所述目标安防客户端对应的安防数据,并向目标安防客户端发送恢复的安防数据。
因此,通过此种方式,其能够降低某个安防节点恢复安防数据的压力,从而使得整个区块链系统在恢复安防数据时更加可靠与稳定。
在一些实施例中,该安防数据恢复方法应用于联盟链,当采用股份授权证明算法作为共识机制时,股份授权证明算法的股份占比按照各个安防管理者的安防规模分配。例如,联盟链的各个安防节点为安防管理者架设的服务器,安防规模包括安防数据采集节点的数量及覆盖范围等等。其中,安防管理者A的安防规模最大,占比为10%,安防管理者B为6%,安防管理者C为3%......,以此类推。
有些矿工陷入故障或者作恶(不签署验证新区块链数据),为了保证区块链系统能够正常出块,其余矿工可以作视图更新,停止故障或作恶矿工的共识权利。因此,在一些实施例中,矿工共识验证区块数据的过程中,在检测到共识验证失败的次数大于预设阈值时,矿工组成的共识服务器群确定恶意矿工,恶意矿工为未签署验证区块数据并导致共识验证失败次数最多的节点。矿工组成的共识服务器群禁止恶意矿工参与共识验证,并在剩余的矿工重新分配股份并共识验证区块数据,例如,占比为10%的矿工A作恶,于是,首先共识服务器群停止矿工A的投票权利,其次,共识服务器将矿工A的占比10%按照预设规则分配给其余矿工,例如,均分给其余矿工,或者,按照矿工的工作年龄分配给其余节点,工作年龄越长,分配占比越高,工作年龄越短,分配占比越低。
再次,共识服务器群在检测到共识验证失败的次数小于预设阈值时,继续共识验证区块数据。
采用此种方式,其保证区块链系统能够顺利出块。
需要说明的是,在上述各个实施例中,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施例的描述可以理解,不同实施例中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。
作为本发明实施例的另一方面,本发明实施例提供一种安防数据恢复装置。本发明实施例的安防数据恢复装置可以作为其中一个软件功能单元,安防数据恢复装置包括若干指令,该若干指令存储于存储器内,处理器可以访问该存储器,调用指令进行执行,以完成上述安防数据恢复方法。
请参阅图4,,安防数据恢复装置400包括:
接收模块41用于接收目标安防客户端发送的数据恢复请求,所述数据恢复请求携带有所述目标安防客户端的节点编号,所述区块包括区块头与区块体,所述区块体记录有各个安防数据采集节点向安防客户端发送采集的安防数据,所述区块头记录有与所述各个安防客户端对应的节点编号;
搜索模块42用于搜索出包含所述目标安防客户端的节点编号的所有目标区块;
恢复模块43用于从各个所述目标区块恢复与所述目标安防客户端对应的安防数据;
发送模块44用于向所述目标安防客户端发送恢复的安防数据。
一方面,安防客户端便捷快速地从区块链便可以恢复原始的安防数据。另一方面,由于区块链中各个节点服务器都存储有同一安防数据,安防客户端恢复数据时可以有更多选择,相对而言,其成功恢复数据的概率会更高。并且,由于区块链具有不可篡改、去中心化及高度透明化的特点,因此,其能够提供可靠的安防数据。
在一些实施例中,发送模块44具体用于:按照区块编号的高低顺序,将各个所述目标区块划分成若干目标区域,每个所述目标区域皆包括按照区块编号的高低顺序排列的若干目标区块;选择预设数量个目标区域中的目标区块恢复与所述目标安防客户端对应的安防数据;向所述目标安防客户端发送其它安防节点的网络地址,以使所述目标安防客户端从剩余数量个目标区域中的目标区块恢复与所述目标安防客户端对应的安防数据。
需要说明的是,上述文件分布式存储装置可执行本发明实施例所提供的安防数据恢复方法,具备执行方法相应的功能模块和有益效果。未在安防数据恢复装置实施例中详尽描述的技术细节,可参见本发明实施例所提供的安防数据恢复方法。
作为本发明实施例的又另一方面,本发明实施例提供一种节点服务器。如图5所示,该节点服务器500包括:一个或多个处理器51以及存储器52。其中,图5中以一个处理器51为例。
处理器51和存储器52可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器52作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的安防数据恢复方法对应的程序指令/模块。处理器51通过运行存储在存储器52中的非易失性软件程序、指令以及模块,从而执行安防数据恢复装置的各种功能应用以及数据处理,即实现上述方法实施例安防数据恢复方法以及上述装置实施例的各个模块的功能。
存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至处理器51。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器52中,当被所述一个或者多个处理器51执行时,执行上述任意方法实施例中的安防数据恢复方法,例如,执行以上描述的图3各个步骤;也可实现附图4所述的各个模块的功能。
本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图5中的一个处理器51,可使得上述一个或多个处理器可执行上述任意方法实施例中的安防数据恢复方法,例如,执行上述任意方法实施例中的安防数据恢复方法,例如,执行以上描述的执行以上描述的执行以上描述的图3所示的各个步骤;也可实现附图4所述的各个模块的功能。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用直至得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (8)
1.一种安防数据恢复方法,区块链包括若干节点服务器,每个所述节点服务器皆存储有包含所述安防数据的区块,其特征在于,所述方法包括:
接收目标安防客户端发送的数据恢复请求,所述数据恢复请求携带有所述目标安防客户端的节点编号,所述区块包括区块头与区块体,所述区块体记录有各个安防数据采集节点向安防客户端发送采集的安防数据,所述区块头记录有与所述各个安防客户端对应的节点编号;
搜索出包含所述目标安防客户端的节点编号的所有目标区块;
从各个所述目标区块恢复与所述目标安防客户端对应的安防数据,其中,按照区块编号的高低顺序,将各个所述目标区块划分成若干目标区域,每个所述目标区域皆包括按照区块编号的高低顺序排列的若干目标区块,选择预设数量个目标区域中的目标区块恢复与所述目标安防客户端对应的安防数据,向所述目标安防客户端发送其它安防节点的网络地址,以使所述目标安防客户端从剩余数量个目标区域中的目标区块恢复与所述目标安防客户端对应的安防数据;
向所述目标安防客户端发送恢复的安防数据。
2.根据权利要求1所述的方法,其特征在于,所述从各个所述目标区块恢复与所述目标安防客户端对应的安防数据,还包括:
获取每个所述目标区块的区块生成时间;
按照每个所述区块生成时间的生成顺序,依次从各个所述目标区块恢复与所述目标安防客户端对应的安防数据。
3.根据权利要求1所述的方法,其特征在于,所述区块体按照默克尔树方式记录各个安防数据采集节点采集的安防数据。
4.根据权利要求1至3任一项所述的方法,其特征在于,每个所述安防客户端皆配置有私钥与公钥,所述私钥由每个所述安防客户端保存,所述公钥广播于所述区块链中,所述数据恢复请求还携带有签名,所述签名由所述私钥生成;
所述接收目标安防客户端发送的数据恢复请求,包括:
使用所述目标安防客户端的公钥验证所述签名的合法性;
若合法,接收所述目标安防客户端发送的数据恢复请求;
若非法,不响应所述目标安防客户端发送的数据恢复请求。
5.一种安防数据恢复装置,区块链包括若干节点服务器,每个所述节点服务器皆存储有包含所述安防数据的区块,其特征在于,所述装置包括:
接收模块,用于接收目标安防客户端发送的数据恢复请求,所述数据恢复请求携带有所述目标安防客户端的节点编号,所述区块包括区块头与区块体,所述区块体记录有各个安防数据采集节点向安防客户端发送采集的安防数据,所述区块头记录有与所述各个安防客户端对应的节点编号;
搜索模块,用于搜索出包含所述目标安防客户端的节点编号的所有目标区块;
恢复模块,用于从各个所述目标区块恢复与所述目标安防客户端对应的安防数据,其中,按照区块编号的高低顺序,将各个所述目标区块划分成若干目标区域,每个所述目标区域皆包括按照区块编号的高低顺序排列的若干目标区块,选择预设数量个目标区域中的目标区块恢复与所述目标安防客户端对应的安防数据,向所述目标安防客户端发送其它安防节点的网络地址,以使所述目标安防客户端从剩余数量个目标区域中的目标区块恢复与所述目标安防客户端对应的安防数据;
发送模块,用于向所述目标安防客户端发送恢复的安防数据。
6.一种节点服务器,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行如权利要求1至4任一项所述的安防数据恢复方法。
7.一种安防数据恢复系统,其特征在于,包括:
若干安防数据采集节点;
若干安防客户端,所述安防客户端与所述安防数据采集节点连接;以及
如权利要求6所述的节点服务器,所述节点服务器与所述安防客户端连接。
8.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使节点服务器执行如权利要求1至4任一项所述的安防数据恢复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811108458.3A CN109120714B (zh) | 2018-09-21 | 2018-09-21 | 安防数据恢复方法及系统,节点服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811108458.3A CN109120714B (zh) | 2018-09-21 | 2018-09-21 | 安防数据恢复方法及系统,节点服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109120714A CN109120714A (zh) | 2019-01-01 |
CN109120714B true CN109120714B (zh) | 2021-07-09 |
Family
ID=64856156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811108458.3A Active CN109120714B (zh) | 2018-09-21 | 2018-09-21 | 安防数据恢复方法及系统,节点服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109120714B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111160913B (zh) * | 2020-04-02 | 2020-07-17 | 支付宝(杭州)信息技术有限公司 | 区块链账户余额的存证、恢复方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598490A (zh) * | 2016-11-25 | 2017-04-26 | 深圳前海微众银行股份有限公司 | 区块链数据的访问方法和区块链管理系统 |
CN107580196A (zh) * | 2017-07-28 | 2018-01-12 | 国创科视科技股份有限公司 | 一种视频数据共享系统及方法 |
CN107807951A (zh) * | 2017-09-18 | 2018-03-16 | 联动优势科技有限公司 | 一种区块链生成方法、数据验证方法、节点及系统 |
WO2018059334A1 (zh) * | 2016-09-29 | 2018-04-05 | 腾讯科技(深圳)有限公司 | 区块链网络、分支节点、区块链网络应用方法及存储介质 |
CN107947922A (zh) * | 2017-11-29 | 2018-04-20 | 中国科学院合肥物质科学研究院 | 一种基于区块链技术的数字档案管理方法及系统 |
CN107995270A (zh) * | 2017-11-24 | 2018-05-04 | 成都赤乌软件技术有限公司 | 一种基于区块链实现分布式文件存储的方法 |
CN108134822A (zh) * | 2017-12-15 | 2018-06-08 | 成都链网络科技有限公司 | 基于区块链的存储系统的下载方法 |
CN108259845A (zh) * | 2018-03-30 | 2018-07-06 | 河南大学 | 一种基于云计算的安防监控大数据处理方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9973341B2 (en) * | 2015-01-23 | 2018-05-15 | Daniel Robert Ferrin | Method and apparatus for the limitation of the mining of blocks on a block chain |
-
2018
- 2018-09-21 CN CN201811108458.3A patent/CN109120714B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018059334A1 (zh) * | 2016-09-29 | 2018-04-05 | 腾讯科技(深圳)有限公司 | 区块链网络、分支节点、区块链网络应用方法及存储介质 |
CN106598490A (zh) * | 2016-11-25 | 2017-04-26 | 深圳前海微众银行股份有限公司 | 区块链数据的访问方法和区块链管理系统 |
CN107580196A (zh) * | 2017-07-28 | 2018-01-12 | 国创科视科技股份有限公司 | 一种视频数据共享系统及方法 |
CN107807951A (zh) * | 2017-09-18 | 2018-03-16 | 联动优势科技有限公司 | 一种区块链生成方法、数据验证方法、节点及系统 |
CN107995270A (zh) * | 2017-11-24 | 2018-05-04 | 成都赤乌软件技术有限公司 | 一种基于区块链实现分布式文件存储的方法 |
CN107947922A (zh) * | 2017-11-29 | 2018-04-20 | 中国科学院合肥物质科学研究院 | 一种基于区块链技术的数字档案管理方法及系统 |
CN108134822A (zh) * | 2017-12-15 | 2018-06-08 | 成都链网络科技有限公司 | 基于区块链的存储系统的下载方法 |
CN108259845A (zh) * | 2018-03-30 | 2018-07-06 | 河南大学 | 一种基于云计算的安防监控大数据处理方法及系统 |
Non-Patent Citations (1)
Title |
---|
"区块链技术驱动下的物联网安全研究综述";赵阔,邢永恒;《等级保护》;20170329(第5期);正文第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109120714A (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6882474B2 (ja) | リプレイ攻撃の検出のためのシステム及び方法 | |
CN110431577B (zh) | 用于检测重放攻击的系统和方法 | |
CN113570466B (zh) | 一种交易数据处理方法、装置以及可读存储介质 | |
CN111698315B (zh) | 针对区块的数据处理方法、数据处理装置及计算机设备 | |
CN110569251A (zh) | 一种数据处理方法、相关设备及计算机可读存储介质 | |
CN111885050B (zh) | 基于区块链网络的数据存储方法、装置、相关设备及介质 | |
CN111614761B (zh) | 区块链消息传输方法、装置、计算机以及可读存储介质 | |
CN104067283A (zh) | 识别移动环境的木马化应用程序 | |
CN110598456B (zh) | 一种数据存储方法、装置、电子设备以及存储介质 | |
CN110933040B (zh) | 基于区块链的数据上链方法、装置、设备及介质 | |
CN109936620B (zh) | 基于区块链的存储方法及装置、系统与存储介质 | |
CN111488372A (zh) | 一种数据处理方法、设备及存储介质 | |
CN110866265A (zh) | 一种基于区块链的数据存储方法、设备及存储介质 | |
CN111488626A (zh) | 基于区块链的数据处理方法、装置、设备及介质 | |
CN111209339B (zh) | 区块同步方法、装置、计算机以及存储介质 | |
CN115134069A (zh) | 区块链编辑的方法和区块链节点 | |
CN109246248B (zh) | 基于区块链技术的数据可信安全共享系统和方法 | |
CN107659579A (zh) | 一种现场存证方法、设备及相关存证系统 | |
CN109120714B (zh) | 安防数据恢复方法及系统,节点服务器 | |
CN109284630B (zh) | 文件编辑方法、装置、系统及可读存储介质 | |
CN112200680B (zh) | 区块链节点管理方法、装置、计算机以及可读存储介质 | |
CN113129002A (zh) | 一种数据处理方法以及设备 | |
CN111343212B (zh) | 消息处理方法、装置、设备以及存储介质 | |
CN111327680B (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN116827957A (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 |