本发明涉及数据处理领域,尤其涉及一种基于区块链的数据传输方法、装置、电子设备及存储介质。
背景技术:
随着网络技术的发展,人们可以便捷地通过网络获取自己想要的文件。但是,在某些指定情况(例如只供内部人员查看的文件)下为了防止文件的外泄,也会对文件的操作设置权限,使没有权限的人无法对文件进行操作。
虽然通过上述设置权限的方式可以在一定程度上对文件起到防护效果,但是,一旦出现在敏感时期,例如在系统上上传了重要文件,刚好被外界知道重要文件上传的事情。此时,应当对文件严加把控,既要防止拥有权限的人员不经许可擅自对文件进行操作,也要避免文件在传输过程中被黑客恶意窃取,造成文件泄露。因此如何增强文件在传输过程的安全性成为了亟需解决的技术问题。
技术实现要素:
本发明的主要目的在于提供一种基于区块链的数据传输方法、装置、电子设备及存储介质,旨在如何增强文件在传输过程的安全性的问题。
为实现上述目的,本发明提供的一种基于区块链的数据传输方法,该方法包括:
客户端向服务器发出数据传输请求,所述服务器被配置为,接收客户端发送的所述数据传输请求,将所述数据传输请求写入区块链平台,解析所述数据传输请求得到第一数据,利用预设的乱序规则对所述第一数据的数据单元重新排序,得到第二数据,利用加密算法对所述第二数据及所述乱序规则进行加密处理得到加密数据,将所述加密数据发送至所述客户端,并将用于解密所述第一数据的解密密钥发送至所述区块链平台,创建所述解密秘钥在所述区块链平台中的索引信息;
接收所述服务器返回的所述加密数据,发送确认接收所述加密数据的回执信息,所述服务器被配置为,在接收到所述回执信息时,将所述索引信息发送至所述客户端;
接收所述服务器返回的索引信息,根据所述索引信息从所述区块链平台获取与所述索引信息对应的解密密钥;
根据所述解密密钥对所述加密数据进行解密。
优选地,所述将所述区块链平台的解密秘钥发送至所述客户端对所述加密数据进行解密包括:
利用所述解密秘钥对所述加密数据进行解密得到所述第二数据及乱序规则;
根据所述乱序规则对所述第二数据恢复原始排序,得到所述第一数据。
优选地,所述乱序规则包括:
为所述数据中的每个数据单元按照预设的排列顺序分配序号,并生成序号排列表;
对所述数据单元随机打乱后进行重新排列。
优选地,该方法还包括复原步骤,包括:
识别每个所述数据单元对应的序号;
对照所述序号排列表复原每个所述数据单元的原始排列位置,得到所述第一数据。
优选地,该方法还包括以下步骤:
统计所述加密数据从所述服务器发往所述客户端到被客户端接收的过程时长;
判断所述时长是否超过预设阈值;
若所述时长超过所述预设阈值,则对该加密数据进行拦截,并重新对所述第一数据进行加密处理后发送至所述客户端。
优选地,所述加密算法为rsa算法。
为实现上述目的,本发明还进一步提供一种数据传输装置,所述数据传输装置包括:
加密模块,用于客户端向服务器发出数据传输请求,所述服务器被配置为,接收客户端发送的所述数据传输请求,将所述数据传输请求写入区块链平台,解析所述数据传输请求得到第一数据,利用预设的乱序规则对所述第一数据的数据单元重新排序,得到第二数据,利用加密算法对所述第二数据及所述乱序规则进行加密处理得到加密数据,将所述加密数据发送至所述客户端,并将用于解密所述第一数据的解密密钥发送至所述区块链平台,创建所述解密秘钥在所述区块链平台中的索引信息;
接收模块,用于接收所述服务器返回的所述加密数据,发送确认接收所述加密数据的回执信息,所述服务器被配置为,在接收到所述回执信息时,将所述索引信息发送至所述客户端;
获取模块,用于接收所述服务器返回的索引信息,根据所述索引信息从所述区块链平台获取与所述索引信息对应的解密密钥;
解密模块,用于根据所述解密密钥对所述加密数据进行解密。
优选地,所述将所述区块链平台的解密秘钥发送至所述客户端对所述加密数据进行解密包括:
利用所述解密秘钥对所述加密数据进行解密得到所述第二数据及乱序规则;根据所述乱序规则对所述第二数据恢复原始排序,得到所述第一数据。
为实现上述目的,本发明还进一步提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器上存储有数据传输程序,所述数据传输程序被所述处理器执行时实现如上述的基于区块链的数据传输方法的步骤。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据传输程序,所述数据传输程序可被一个或者多个处理器执行,以实现如上述的基于区块链的数据传输方法的步骤。
本发明提出的基于区块链的数据传输方法、装置、电子设备及存储介质,通过客户端向服务器发出数据传输请求,服务器接收客户端发送数据传输请求,将数据传输请求写入区块链平台,解析数据传输请求得到第一数据,利用乱序规则对第一数据的数据单元重新排序,得到第二数据,利用加密算法对所述第二数据及乱序规则进行加密处理得到加密数据,将加密数据发送至客户端,并将用于解密第一数据的解密密钥发送至区块链平台,创建解密秘钥在区块链平台中的索引信息;接收服务器返回的加密数据,发送确认接收加密数据的回执信息,服务器被配置为,在接收到回执信息时,将索引信息发送至客户端;接收服务器返回的索引信息,根据索引信息从区块链平台获取与索引信息对应的解密密钥;根据解密密钥对加密数据进行解密。本发明能够防止拥有权限的人员不经许可擅自对文件进行操作,也能避免文件在传输过程中被黑客恶意窃取,造成文件泄露。
附图说明
图1为本发明一实施例提供的基于区块链的数据传输方法的流程示意图;
图2为本发明一实施例提供的数据传输装置的模块示意图;
图3为本发明一实施例提供的实现基于区块链的数据传输方法的电子设备的内部结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参附图做进一步说明。
具体实施方式
为了使本发明的目的、技术本实施例及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术本实施例可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术本实施例的结合出现相互矛盾或无法实现时应当认为这种技术本实施例的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种基于区块链的数据传输方法。参照图1所示,为本发明一实施例提供的基于区块链的数据传输方法的流程示意图。该方法可以由一个系统执行,该系统可以由软件和/或硬件实现。
在本实施例中,基于区块链的数据传输方法包括:
s110,客户端向服务器发出数据传输请求,所述服务器被配置为,接收客户端发送的所述数据传输请求,将所述数据传输请求写入区块链平台,解析所述数据传输请求得到第一数据,利用预设的乱序规则对所述第一数据的数据单元重新排序,得到第二数据,利用加密算法对所述第二数据及所述乱序规则进行加密处理得到加密数据,将所述加密数据发送至所述客户端,并将用于解密所述第一数据的解密密钥发送至所述区块链平台,创建所述解密秘钥在所述区块链平台中的索引信息。
随着网络技术的发展,人们可以便捷地通过网络获取自己想要的文件。但是,在某些指定情况下为了防止文件的外泄,也会对文件的操作设置权限,使没有权限的人无法对文件进行操作。例如大多数在线教学平台存储有供内部学员或教师自行下载的教学资源,拥有权限的内部学员或教师可以从在线教学平台上任意下载所需教学资源。
虽然通过上述设置权限的方式可以在一定程度上对文件起到防护作用,但是,在一些敏感时期,例如当某一份重要文件(例如内部机密文件)被上传在了系统上,而刚好被外界知道有重要文件上传的事情。此时,需要当对该份文件进行严加把控,既要防止拥有权限的人员在不经许可的情况下擅自登录系统对文件进行操作,也要避免文件在进行传输的过程中被黑客恶意窃取,造成文件泄露。
因此,为了解决上述问题,在本实施例中,以基于在线教学平台实现提升数据传输过程的安全性为例对本方案进行详细解释。
当服务器接收到客户端(例如某一台电脑)发出的数据传输请求时,服务器会将数据传输请求写入区块链平台,即将客户端向服务器发出数据传输请求这一事件记录在区块链平台,使区块链平台的所有节点都有记录该事件,且能够根据客户端对应的id知道发出输出传输请求对应的请求者身份。
其中,本方案涉及区块链技术,区块链(英文:blockchain)是一种分布式数据库。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
本方案利用了区块链的分布式存储的独特性,即区块链每个节点都能够按照块链式结构存储完整的数据(例如本实施例中的数据传输请求),不同于传统分布式存储一般是将数据按照一定的规则分成多份进行存储;同时,区块链每个节点存储都是独立的、地位等同的,依靠共识机制能够保证存储的一致性,不同于传统分布式存储一般是通过中心节点往其他备份节点同步数据。
因此,通过将本方案产生的重要数据,例如将数据传输请求存放在区块链平台的所有节点上,因为没有任何一个节点可以单独记录账本数据,所以避免了单一记账人被控制或者被贿赂而记假账的可能性。也由记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性。
进一步地,服务器对数据传输请求进行解析得到第一数据,利用预设的乱序规则对第一数据的数据单元重新排序,得到第二数据,能够提升第一数据的破解难度,进而达到提升第一数据安全性的目的。
其中,乱序规则包括:
为数据中的每个数据单元按照预设的排列顺序(例如从小到大或从大到小)分配序号,并生成序号排列表;及
对数据单元随机打乱后进行重新排列。为了进一步提升第二数据的安全性,在本实施例中,利用加密算法对第二数据及乱序规则进行加密处理得到加密数据,再将加密数据发送至客户端,并将用于解密第一数据的解密密钥发送至区块链平台,创建解密秘钥在区块链平台中的索引信息。
其中,加密算法采用rsa算法,即非对称加密算法,相较于加密算法安全性能更高,更不容易被黑客破解。
s120,接收所述服务器返回的所述加密数据,发送确认接收所述加密数据的回执信息,所述服务器被配置为,在接收到所述回执信息时,将所述索引信息发送至所述客户端。
为了确保客户端是在已接收到加密数据的前提下才能够获取解密秘钥,防止加密数据在传输过程出现异常,例如数据丢失或加密数据被非法拦截的情况。此时如果没明确客户端是否能够顺利接收到加密数据,便允许客户端获取解密秘钥,可能会出现客户端无法接收到解密秘钥,或出现解密秘钥被非法拦截,导致数据泄露。
因此,在本实施例中,当客户端接收到服务器返回的加密数据后,需要发送确认接收加密数据的回执信息给服务器,告知服务器客户端已接收到加密数据,此时便可以继续执行解密秘钥发放的动作。
进一步地,客户端获取解密秘钥的方式可以有多种,例如通过服务器从区块链平台上获取解密秘钥直接发送给客户端,但是,采用该获取方式存在无法确定客户端是不是作为主动获取解密秘钥的一方。因此,在本实施例中,客户端获取解密秘钥的获取方式优选为让客户端接收服务器发放的索引信息,通过客户端根据索引信息主动从区块链平台上获取与索引信息对应的加密数据,以将客户端获取加密数据的事件记录在区块链平台的所有节点上。
s130,收所述服务器返回的索引信息,根据所述索引信息从所述区块链平台获取与所述索引信息对应的解密密钥。
在本实施例中,客户端根据索引信息主动从区块链平台上获取与索引信息对应的加密数据,以将客户端获取加密数据的事件记录在区块链平台的所有节点上。
s140,根据所述解密密钥对所述加密数据进行解密。
在本实施例中,客户端根据解密密钥对加密数据进行解密,得到加密前的数据
具体地,对加密数据进行解密过程包括以下步骤:
利用解密秘钥对加密数据进行解密得到第二数据及乱序规则;
根据乱序规则对第二数据恢复原始排序,得到第一数据。
在另一实施例中,该方法还包括用于实现根据乱序规则对第二数据恢复原始排序的复原步骤,包括:
识别每个数据单元对应的序号;
对照序号排列表复原每个数据单元的原始排列位置,得到第一数据。
在另一实施例中,该方法还包括以下步骤:
统计所述加密数据从发往所述客户端到被客户端接收过程的时长;
判断所述时长是否超过预设阈值;
若所述时长超过所述预设阈值,则对该加密数据进行拦截,并重新对所述第一数据进行加密处理后发送至所述客户端。
在本实施例中,通过统计加密数据从服务器发往客户端到被客户端接收的过程时长,将该时长与预设阈值进行比较,判断该时长是否超过预设阈值,若超过则可能存在数据在传输过程出现异常,例如被黑客拦截导致传输延时。例如加密数据从发往客户端到被客户端接收过程的时长为8s,预设阈值为5s,考虑到网络延时的问题。此时可以看出加密数据从发往客户端到被客户端接收过程的时长超过了预设阈值,则可以认为该加密数据在传输过程中出现异常,为了安全起见,需要对该加密数据进行拦截,并重新对第一数据进行加密处理后发送至客户端。
关于上述步骤的详细介绍,请参照下述图2关于数据传输程序10实施例的程序模块示意图及图3关于基于区块链的数据传输方法实施例的方法流程示意图的说明。
如图2所示,是本发明数据传输装置100的功能模块图。
本发明所述数据传输装置100可以安装于电子设备1中。根据实现的功能,所述数据传输装置100可以包括接收模块110、排序模块120、传输模块130及解密模块140。本发明所述模块也可以称之为单元,是指一种能够被电子设备1处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备1的存储器中。
在本实施例中,关于各模块/单元的功能如下:
接收模块110,用于客户端向服务器发出数据传输请求,所述服务器被配置为,接收客户端发送的所述数据传输请求,将所述数据传输请求写入区块链平台,解析所述数据传输请求得到第一数据,利用预设的乱序规则对所述第一数据的数据单元重新排序,得到第二数据,利用加密算法对所述第二数据及所述乱序规则进行加密处理得到加密数据,将所述加密数据发送至所述客户端,并将用于解密所述第一数据的解密密钥发送至所述区块链平台,创建所述解密秘钥在所述区块链平台中的索引信息。
随着网络技术的发展,人们可以便捷地通过网络获取自己想要的文件。但是,在某些指定情况下为了防止文件的外泄,也会对文件的操作设置权限,使没有权限的人无法对文件进行操作。例如大多数在线教学平台存储有供内部学员或教师自行下载的教学资源,拥有权限的内部学员或教师可以从在线教学平台上任意下载所需教学资源。
虽然通过上述设置权限的方式可以在一定程度上对文件起到防护作用,但是,在一些敏感时期,例如当某一份重要文件(例如内部机密文件)被上传在了系统上,而刚好被外界知道有重要文件上传的事情。此时,需要当对该份文件进行严加把控,既要防止拥有权限的人员在不经许可的情况下擅自登录系统对文件进行操作,也要避免文件在进行传输的过程中被黑客恶意窃取,造成文件泄露。
因此,为了解决上述问题,在本实施例中,以基于在线教学平台实现提升数据传输过程的安全性为例对本方案进行详细解释。
当服务器接收到客户端(例如某一台电脑)发出的数据传输请求时,服务器会将数据传输请求写入区块链平台,即将客户端向服务器发出数据传输请求这一事件记录在区块链平台,使区块链平台的所有节点都有记录该事件,且能够根据客户端对应的id知道发出输出传输请求对应的请求者身份。
其中,本方案本方案涉及区块链技术,区块链(英文:blockchain)是一种分布式数据库。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
本方案利用了区块链的分布式存储的独特性,即区块链每个节点都能够按照块链式结构存储完整的数据(例如本实施例中的数据传输请求),不同于传统分布式存储一般是将数据按照一定的规则分成多份进行存储;同时,区块链每个节点存储都是独立的、地位等同的,依靠共识机制能够保证存储的一致性,不同于传统分布式存储一般是通过中心节点往其他备份节点同步数据。
因此,通过将本方案产生的重要数据,例如将数据传输请求存放在区块链平台的所有节点上,因为没有任何一个节点可以单独记录账本数据,所以避免了单一记账人被控制或者被贿赂而记假账的可能性。也由记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性。
进一步地,服务器对数据传输请求进行解析得到第一数据,利用预设的乱序规则对第一数据的数据单元重新排序,得到第二数据,能够提升第一数据的破解难度,进而达到提升第一数据安全性的目的。
其中,乱序规则包括:
为数据中的每个数据单元按照预设的排列顺序(例如从小到大或从大到小)分配序号,并生成序号排列表;及
对数据单元随机打乱后进行重新排列。为了进一步提升第二数据的安全性,在本实施例中,利用加密算法对第二数据及乱序规则进行加密处理得到加密数据,再将加密数据发送至客户端,并将用于解密第一数据的解密密钥发送至区块链平台,创建解密秘钥在区块链平台中的索引信息。
其中,加密算法采用rsa算法,即非对称加密算法,相较于加密算法安全性能更高,更不容易被黑客破解。
s120,接收所述服务器返回的所述加密数据,发送确认接收所述加密数据的回执信息,所述服务器被配置为,在接收到所述回执信息时,将所述索引信息发送至所述客户端。
为了确保客户端是在已接收到加密数据的前提下才能够获取解密秘钥,防止加密数据在传输过程出现异常,例如数据丢失或加密数据被非法拦截的情况。此时如果没明确客户端是否能够顺利接收到加密数据,便允许客户端获取解密秘钥,可能会出现客户端无法接收到解密秘钥,或出现解密秘钥被非法拦截,导致数据泄露。
因此,在本实施例中,当客户端接收到服务器返回的加密数据后,需要发送确认接收加密数据的回执信息给服务器,告知服务器客户端已接收到加密数据,此时便可以继续执行解密秘钥发放的动作。
进一步地,客户端获取解密秘钥的方式可以有多种,例如通过服务器从区块链平台上获取解密秘钥直接发送给客户端,但是,采用该获取方式存在无法确定客户端是不是作为主动获取解密秘钥的一方。因此,在本实施例中,客户端获取解密秘钥的获取方式优选为让客户端接收服务器发放的索引信息,通过客户端根据索引信息主动从区块链平台上获取与索引信息对应的加密数据,以将客户端获取加密数据的事件记录在区块链平台的所有节点上。
s130,收所述服务器返回的索引信息,根据所述索引信息从所述区块链平台获取与所述索引信息对应的解密密钥。
在本实施例中,客户端根据索引信息主动从区块链平台上获取与索引信息对应的加密数据,以将客户端获取加密数据的事件记录在区块链平台的所有节点上。
s140,根据所述解密密钥对所述加密数据进行解密。
在本实施例中,客户端根据解密密钥对加密数据进行解密,得到加密前的数据。
具体地,对加密数据进行解密过程包括以下步骤:
利用解密秘钥对加密数据进行解密得到第二数据及乱序规则;
根据乱序规则对第二数据恢复原始排序,得到第一数据。
在另一实施例中,该方法还包括用于实现根据乱序规则对第二数据恢复原始排序的复原步骤,包括:
识别每个数据单元对应的序号;
对照序号排列表复原每个数据单元的原始排列位置,得到第一数据。
在另一实施例中,该方法还包括以下步骤:
统计所述加密数据从发往所述客户端到被客户端接收过程的时长;
判断所述时长是否超过预设阈值;
若所述时长超过所述预设阈值,则对该加密数据进行拦截,并重新对所述第一数据进行加密处理后发送至所述客户端。
在本实施例中,通过统计加密数据从服务器发往客户端到被客户端接收的过程时长,将该时长与预设阈值进行比较,判断该时长是否超过预设阈值,若超过则可能存在数据在传输过程出现异常,例如被黑客拦截导致传输延时。例如加密数据从发往客户端到被客户端接收过程的时长为8s,预设阈值为5s,考虑到网络延时的问题。此时可以看出加密数据从发往客户端到被客户端接收过程的时长超过了预设阈值,则可以认为该加密数据在传输过程中出现异常,为了安全起见,需要对该加密数据进行拦截,并重新对第一数据进行加密处理后发送至客户端。
如图3所示,是本发明实现基于区块链的数据传输方法的电子设备的结构示意图。
所述电子设备1可以包括处理器12、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器12上运行的计算机程序,如数据传输程序10。
其中,所述存储器11至少包括一种类型的可读存储介质,所述计算机可读存储介质上存储有数据传输程序,数据传输程序可被一个或者多个处理器执行。所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(smartmediacard,smc)、安全数字(securedigital,sd)卡、闪存卡(flashcard)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如数据传输程序10的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器12在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(centralprocessingunit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器12是所述电子设备1的控制核心(controlunit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如数据传输程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器12等之间的连接通信。
图3仅示出了具有部件的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理系统与所述至少一个处理器12逻辑相连,从而通过电源管理系统实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口13,可选地,所述网络接口13可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备1之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的数据传输程序10是多个指令的组合,在所述处理器12中运行时,可以实现:
客户端向服务器发出数据传输请求,所述服务器被配置为,接收客户端发送的所述数据传输请求,将所述数据传输请求写入区块链平台,解析所述数据传输请求得到第一数据,利用预设的乱序规则对所述第一数据的数据单元重新排序,得到第二数据,利用加密算法对所述第二数据及所述乱序规则进行加密处理得到加密数据,将所述加密数据发送至所述客户端,并将用于解密所述第一数据的解密密钥发送至所述区块链平台,创建所述解密秘钥在所述区块链平台中的索引信息;
接收所述服务器返回的所述加密数据,发送确认接收所述加密数据的回执信息,所述服务器被配置为,在接收到所述回执信息时,将所述索引信息发送至所述客户端;
接收所述服务器返回的索引信息,根据所述索引信息从所述区块链平台获取与所述索引信息对应的解密密钥;
根据所述解密密钥对所述加密数据进行解密。
在另一实施例中,该程序还执行复原步骤,包括:
识别每个所述数据单元对应的序号;对照所述序号排列表复原每个所述数据单元的原始排列位置,得到所述第一数据。
在另一实施例中,该程序还执行以下步骤,包括:
统计所述加密数据从服务器发往所述客户端到被客户端接收的过程时长;
判断所述时长是否超过预设阈值;
若所述时长超过所述预设阈值,则对该加密数据进行拦截,并重新对所述第一数据进行加密处理后发送至所述客户端。
具体地,所述处理器11对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或系统、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或系统也可以由一个单元或系统通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。