一种基于云计算的安全存储方法与流程

文档序号:15358283发布日期:2018-09-05 00:17阅读:165来源:国知局

本发明涉及云存储,特别涉及一种基于云计算的安全存储方法。



背景技术:

为将实时的金融事件数据进行处理和存储,多数企业采取云端存储/访问技术,将实时金融事件数据分布存储在云存储集群中,避免读取i/o的操作瓶颈,更符合企业短时间处理大量实时金融事件数据的需求。然而,随着处理金融事件数据量的不断增大,给云存储集群的存储空间带来了巨大压力。在云端数据发生备份或复制时,云端数据的存储位置都会发生变化,需要进行大规模的数据重加载,直至云端数据备份进程完成之后,才能提供正常服务,这样容易造成数据丢失,影响了系统对外提供服务的能力,降低了系统的安全性和可靠性。



技术实现要素:

为解决上述现有技术所存在的问题,本发明提出了一种基于云计算的安全存储方法,包括:

云平台的支付应用服务器pas与金融交易终端tue通过安全通信方法来传输金融事件数据e_data;

支付应用服务器pas将前台的金融事件数据e_data存储至云平台的金融数据存储服务器ms中。

优选地,所述金融交易终端tue向支付应用服务器pas发送金融事件数据e_data之前,还包括:

金融交易终端tue向支付应用服务器pas发送自身使用的数据封装版本和加密算法的配置参数。

优选地,所述支付应用服务器pas反馈给金融交易终端tue自己的数据封装版本、加密算法的配置参数以及用自己的私钥加密的心跳信息。

优选地,支付应用服务器pas将自己的证书传递到金融交易终端tue;并请求金融交易终端tue发送自己的证书;

金融交易终端tue用支付应用服务器pas传递过来证书验证支付应用服务器pas的身份,如果身份未验证通过,则结束数据通信;

证书验证通过后利用支付应用服务器pas的公钥尝试解密被其用私钥加密过的心跳信息,如果解密失败则结束通信;

金融交易终端tue生成随机浮点数,并且把这个随机浮点数用支付应用服务器pas发送过来的公钥加密,此次加密过程产生本次心跳信号中的随机浮点数密文,然后将随机浮点数密文送回给支付应用服务器pas;

支付应用服务器pas请求需要验证金融交易终端tue时,金融交易终端tue把自己的证书一同传送到支付应用服务器pas;

验证完金融交易终端tue的身份之后,然后支付应用服务器pas用自己的私钥解密得到随机浮点数密文然后双方利用这个随机浮点数密文来共同协商,得到会话密钥来传输数据;

双方再交换结束信息,心跳信号结束;接下来双方用协商好的会话密钥,采用aes加密来通信。

本发明相比现有技术,具有以下优点:

本发明提出了一种基于云计算的安全存储方法,提高了金融业务数据管理系统的安全性和可靠性。

附图说明

图1是根据本发明实施例的基于云计算的安全存储方法的流程图。

具体实施方式

下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。

本发明的一方面提供了一种基于云计算的安全存储方法。图1是根据本发明实施例的基于云计算的安全存储方法流程图。

本发明云平台金融事件数据高可靠存储系统基于区块链技术,在金融数据存储过程中,在数据产生的同时由相关联的多个拷贝节点共同协商选择出一个拷贝节点来记录已建立的数据标签,使得各拷贝节点都参与数据的存储竞争与选择,提高存储数据的可信度;后续任意一个拷贝节点需要使用产生的金融事件数据时,直接根据数据标签获得高可信度的数据。

云平台金融事件数据高可靠存储系统包括协调服务器cs、支付应用服务器pas、存储服务器ms。其中,支付应用服务器pas与协调服务器cs相通信,用于接收前台的事件数据e_data,并将这些事件数据e_data保存在缓存队列,顺序依次发送给协调服务器cs;或者向协调服务器cs发送数据读请求,并实时从金融数据存储服务器ms中读取相应的金融事件数据。

由存储服务器ms将数据标签存储至区块链相应的区块中;每存储一个数据标签该区块链中增加一个区块,该区块链由多个数据存储区块组成,每个数据存储区块均记录了一个拷贝节点建立的数据标签,使得记录下来的数据标签所指向的数据是不可纂改的。

所述金融数据存储服务器包括n个金融数据存储服务器ms,接收协调服务器cs发送的从支付应用服务器pas接收的金融事件数据e_data,每个金融数据存储服务器ms的数据存储格式为<散列值,e_data>;将每个金融数据存储服务器ms的存储空间剩余量提供给协调服务器cs;在协调服务器cs完成云端数据备份后,接收协调服务器cs发送的云端数据备份完成信息,将需要数据移除的金融数据存储服务器ms上已完成备份的事件数据e_data删除。

所述支付应用服务器pas与金融交易终端tue通过安全通信方法来传输金融事件数据e_data。在金融交易终端tue向支付应用服务器pas发送金融事件数据e_data之前,金融交易终端tue向支付应用服务器pas发送自身使用的数据封装版本和加密算法的配置参数。支付应用服务器pas反馈给金融交易终端tue自己的数据封装版本、加密算法的配置参数以及用自己的私钥加密的心跳信息。支付应用服务器pas紧接着将自己的证书传递到金融交易终端tue。并请求金融交易终端tue发送自己的证书。金融交易终端tue用支付应用服务器pas传递过来证书验证支付应用服务器pas的身份,如果身份未验证通过,则结束数据通信。证书验证通过后利用支付应用服务器pas的公钥尝试解密被其用私钥加密过的心跳信息,如果解密失败则结束通信。金融交易终端tue生成随机浮点数,并且把这个随机浮点数用支付应用服务器pas发送过来的公钥加密,此次加密过程产生本次心跳信号中的随机浮点数密文,然后将随机浮点数密文送回给支付应用服务器pas。支付应用服务器pas请求需要验证金融交易终端tue时,金融交易终端tue把自己的证书一同传送到支付应用服务器pas。

验证完金融交易终端tue的身份之后,然后支付应用服务器pas用自己的私钥解密得到随机浮点数密文然后双方利用这个随机浮点数密文来共同协商,得到会话密钥来传输数据。双方再交换结束信息,心跳信号结束。接下来双方用协商好的会话密钥,采用aes加密来通信。

存储服务器ms的基于区块链的去中心化存储机制包括:

1)金融交易终端tue生成一组金融事件数据,将这组数据通过存储服务器区块链网络的远程过程调用协议接口,发送到金融事件存储服务器区块链网络中,调用已部署的智能合约来完成数字标签写入、检索或更新功能。

智能合约在该模型中作为逻辑层,接收三种类型的请求:数字标签写入请求,记为τα;数字标签更新请求,记为τβ;数字标签检索请求,记为τγ。

通过调用部署在金融事件数据区块链上的智能合约,将自己的数字标签信息写入新的区块并链接到区块链上。区块链上存储的数据具有不可篡改的特性,而且每一组金融事件数据都包含时间戳,所以能够为数字标签的归属提供证明。

2)矿机网络中的主机节点接收到事件请求数据后,通过金融事件存储服务器区块链网络的共识机制,在本地进行运算产生新的金融事件区块,该区块在矿机之间传播,当超过半数节点确认了该区块的有效性后,此次的数字标签信息才会被写入到区块链存储。新的区块在经过验证其合法性之后,通过记录父块hash链接到金融事件数据区块链上。

金融事件存储服务器区块链网络是由加入的各个拷贝节点共同构建的端到端的分布式网络。在创建金融事件时,区块链网络中的客户端调用rpc接口生成事务。事务包括两大类:一是在特定的条件下部署一份智能合约s,其二是通过已部署的合约产生消息调用,事务t的序列化表示如:

t=rlp(tn,tt,ts,tc,td)

其中:rlp为递归长度前缀编码,将金融事件序列化表示;tt表示金融交易接收方的账户地址hash值,当其为空时代表交易类型为创建合约;tc代表新合约的代码的字节数组;tn代表合约的创建者发起的总事务数;ts为发起方对金融交易信息的签名。当tt表示金融交易接收方的账户地址不为空时,表明交易的类型是通过已部署的智能合约产生消息调用,td为调用智能合约接口数据的字节数组。

金融事件存储服务器区块链网络中的矿机构造区块分为同步区块链、构造新区块和挖矿产生完整区块步骤。构造新区块时,金融事件存储服务器区块链网络中的矿机通过同步最新区块链获得下一个区块的记账权,对一段时间内网络中未确认的金融事件数据t={t1,t2,…,tn}进行收集。调用金融事件区块难度值设置函数得到新区块头的难度值hd,用于设定下一步的挖矿目标。在交易执行和验证阶段,对收集到的金融事件数据进行验证包括交易签名的合法性和账户的合法性。交易执行完成返回设定区块交易根。根据金融事件区块所包含信息进行信息的计算和收集。由此,构造出不包含随机数的金融事件区块bn。

挖矿算法根据bn的区块头难度值hd,定义该区块的难度系数为hdco,hdco=2256/hd,生成随机数rad值,输入工作量证明函数计算得到finalhash,若其小于hdco,则挖矿成功。

矿机在构造出新的金融事件区块后,在网络广播该区块,其他节点对区块进行合法性验证,若该区块合法即同步新区块到金融事件数据区块链上。其中,金融事件数据区块链接的形式化表述如:αt+1=ζ(…γ(γ(αt,t0),t1)…)

其中:t+1产生的新区块b,确认的交易包括{t1,t2,…,tn},ζ表示经区块b链接的金融事件数据区块链状态转换函数,γ表示单个有效金融事件引起的金融事件数据区块链的状态转变函数,αt表示t时刻的金融事件数据区块链状态,αt+1表示添加新区块b后的金融事件数据区块链状态。经过链接,交易才被真正确认并永久记录到金融事件数据区块链上,此时其他节点同步新区块获得记账权。

数字标签写入合约用于写入终端的版权。用户在注册账户的时候会同时在区块链上部署一份数字标签写入合约,通过构造函数初始化合约拥有者。在用户调用数字标签写入合约时,该合约会预先检测发起方的信息,若合约的调用者不是该份合约的拥有者,则无法向区块链上写入自己的版权;若成功写入新的金融事件之后,数字标签写入合约会返回由文件特征值提取的hash值作为该金融事件的数字标签。数字标签检索合约提供权限管理途径以及其他用户对该金融事件数字标签的检索等操作。数据拥有者通过调用检索合约管理用户授权列表,只有处于列表中的用户才有查看数据的权限。授权列表中存放被授权用户的公钥,当其他用户调用合约检索某一金融事件时,检索合约先检查该用户是否有权限访问即该用户的公钥是否存在于授权列表中,若存在,被检索的金融事件数据会先经过检索用户的公钥加密后再返回给用户,用户使用自己的私钥解密即可获取到数字标签信息,确保了在传输过程中的金融事件不会被他人截获。数字标签更新合约让终端之间交换自己金融事件的数字标签。当两方协商好交易后,数字标签的购买方发起数字标签更新请求,数字标签拥有者收到请求后,调用更新合约的数字标签更新协议触发更新事件。若数字标签拥有者同意此次交易,更新合约将进行数字标签转移并且执行转账操作;若数字标签拥有者不同意则直接从队列中弹出该组金融事件数据。

所述协调服务器cs用于初始化控制表、协调各服务器之间的通信、管理云端数据备份。该协调服务器cs包括:接收节点、启动节点和拷贝节点。其中,接收节点接收每个金融数据存储服务器ms的存储空间剩余量;启动节点当存储服务器ms中的至少一个金融数据存储服务器ms的存储空间剩余量大于存储空间使用阈值时,启动数据备份进程;确定备份元数据,所述备份元数据包括需要数据移除的金融数据存储服务器ms的位置、待备份的事件数据e_data的散列值、待备份的事件数据e_data的大小和目标存储服务器ms的位置;拷贝节点根据备份元数据将存储的待备份的事件数据e_data备份到目标存储服务器ms,其中目标存储服务器ms为新增的金融数据存储服务器ms。

协调服务器cs优选地还包括存储监控节点,在接收节点接收到存储空间剩余量后,将存储空间剩余量记录在数据备份全局列表中,实时监控金融数据存储服务器ms的存储空间占用状态,数据备份全局列表中的参数包括每个金融数据存储服务器ms的id、存储空间剩余量和每个存储服务器ms数据备份状态;数据备份状态包括未开始状态、开始状态和完成状态。

所述启动节点具体用于当监控到存储服务器ms中的至少一个金融数据存储服务器ms的存储空间剩余量大于预定义的存储空间使用阈值,并且全部金融数据存储服务器ms的备份状态为未开始状态时,触发数据备份进程。

该协调服务器cs还用于在数据备份进程触发后,修改数据备份全局列表的需要数据移除的金融数据存储服务器ms的数据备份状态。具体的,数据备份全局列表的变化过程如下:

在监控数据备份进程的初始化阶段,将所有金融数据存储服务器ms的数据备份状态设为未开始状态;在触发数据备份进程后,根据备份元存储池将数据移除的金融数据存储服务器ms的数据备份状态设为开始状态。当某一个金融数据存储服务器ms完成了数据备份,则该金融数据存储服务器ms的备份状态设为完成状态;当全部参与备份的需要数据移除的金融数据存储服务器ms的备份状态都为完成状态的时候,表示此次云端数据备份已完成,将所有金融数据存储服务器ms的备份状态都还原为未开始。

接收节点用于接收支付应用服务器pas发送的事件数据e_data;确定该事件数据e_data的散列值;拷贝节点还用于根据寻址索引表和事件数据e_data的散列值,将事件数据e_data发送至存储服务器ms中对应的金融数据存储服务器ms。接收节点接收支付应用服务器pas发送的数据读请求;根据数据读请求到对应的金融数据存储服务器ms上获取相应的事件数据e_data;拷贝节点将相应的事件数据e_data发送至支付应用服务器pas。其中所述寻址索引表预先记录了散列值与金融数据存储服务器ms的映射关系。

拷贝节点是在计算完事件数据e_data的散列值之后,判断该事件数据e_data的散列值是否介于寻址索引表中散列值的范围内,当该事件数据e_data的散列值介于寻址索引表中散列值的范围内时,从寻址索引表中找到与该事件数据e_data的散列值对应的金融数据存储服务器ms的位置,将该事件数据e_data发送至该位置对应的金融数据存储服务器ms。

该协调服务器cs还在数据备份完成后,对寻址索引表进行参数更新;当金融数据存储服务器ms上存储的事件数据e_data改变时,根据金融数据存储服务器ms的位置,更新对应的事件数据e_data的散列值;当增加了金融数据存储服务器ms时,增加新的金融数据存储服务器ms的位置,并增加对应的事件数据e_data的散列值。

拷贝节点将支付应用服务器pas发送的事件数据e_data进行持久化存储,其存储格式为:<存储服务器位置,散列值,e_data>;根据备份元数据,对本地存储的备份表的参数进行更新;备份表的参数包括需要数据移除的金融数据存储服务器ms的位置、待备份的事件数据e_data的散列值和目标存储服务器ms的位置;根据更新后的备份表,按顺序将待备份的事件数据e_data备份到目标存储服务器ms。拷贝节点在数据备份完成后,向需要数据移除的金融数据存储服务器ms发送云端数据备份完成信息,控制需要数据移除的金融数据存储服务器ms将已完成备份的事件数据e_data删除。

除协调服务器外,本发明的云平台金融事件数据高可靠存储系统还包括备用协调服务器cs0。当协调服务器cs异常时,备用协调服务器cs0会启动协调服务器cs的服务功能,作为当前的协调服务器cs;而此时从所有存储服务器ms中选择一个存储服务器ms作为备用协调服务器cs0。协调服务器cs和备用协调服务器cs0存储相同的元数据;其中,元数据包括存储服务器ms的id、存储服务器ms存储的事件数据e_data块的id。

在接收到事件数据e_data请求时,根据元数据确定处理事件数据e_data请求的存储服务器ms。若事件数据e_data请求为写请求,则根据协调服务器cs上存储的元数据确定可写入待处理金融事件数据e_data的空闲块对应的存储服务器ms的id,在将待处理金融事件数据e_data写入至空闲块对应的存储服务器ms之后,得到该待处理金融事件数据e_data的id与该写入待处理金融事件数据e_data的空闲块的id的对应关系,以及该写入待处理金融事件数据e_data的空闲块的id与该写入待处理金融事件数据e_data的空闲块所在的存储服务器ms的id的对应关系。若事件数据e_data请求为读文件请求,根据协调服务器cs上存储的元数据和待处理金融事件数据e_data的文件id,确定存储待处理金融事件数据e_data的数据块的id,以及该存储待处理金融事件数据e_data的数据块所在的存储服务器ms的id;然后在存储待处理金融事件数据e_data的数据块所在的存储服务器ms读取相应事件数据e_data。

其中,将备用协调服务器cs0作为当前的协调服务器cs之后,确定出云平台的多个金融数据存储服务器ms中每个存储服务器ms的权值;根据每个存储服务器ms的权值,从至少一个存储服务器ms中选出一个存储服务器ms作为当前的备用协调服务器cs0;将当前的协调服务器cs上的元数据同步至当前的备用协调服务器cs0上。一方面,当前协调服务器cs通过向存储服务器ms发生心跳信号,检测存储服务器ms的状态:若通过协调服务器cs向存储服务器ms中的每个存储服务器ms发送心跳信号、且在预定义时长内接收到该存储服务器ms返回的该心跳信号对应的应答,则确定该存储服务器ms处于正常工作状态;若在预定义时长内未接收到该存储服务器ms返回的该心跳信号对应的应答,则确定该存储服务器ms异常。协调服务器cs也可以通过向备用协调服务器cs0发送心跳信号,检测备用协调服务器cs0的状态。

另一方面,存储服务器ms中的每个存储服务器ms向所述协调服务器cs发送心跳信号,检测协调服务器cs的状态:在通过所述存储服务器ms中的每个存储服务器ms向所述协调服务器cs发送心跳信号、且在预定义时长内收到协调服务器cs发送的该心跳信号对应的应答的情况下,确定所述协调服务器cs处于正常工作状态;而确定协调服务器cs异常包括:在通过存储服务器ms中的每个存储服务器ms向协调服务器cs发送心跳信号、且在预定义时长内未收到协调服务器cs发送的该心跳信号对应的应答的情况下,确定协调服务器cs异常。

其中,确定存储服务器ms中每个存储服务器ms的权值包括:根据以下内容中的任一项或任多项内容确定的权值:cpu核数、所述cpu并发数、存储空间容量。

在数据备份进程触发后,本发明在优选的实施例中包括以下备份策略:

1:根据实际备份规则从至少一个源存储池中确定出n组待备份事件数据e_data;其中,n组待备份事件数据e_data中的每组待备份事件数据e_data根据预定义备份规则存储至该组待备份事件数据e_data对应的源存储池中,且每组待备份事件数据e_data对应一个主键;n为正整数;

2:针对n组待备份事件数据e_data中的每组待备份事件数据e_data,根据实际备份规则确定该组待备份事件数据e_data对应的目的存储池;并在目的存储池中生成该组待备份事件数据e_data的待备份事件数据e_data副本;

3:若确定生成n组待备份事件数据e_data中每组待备份事件数据e_data的待备份事件数据e_data副本,则从至少一个源存储池中删除n组待备份事件数据e_data。

本发明进行数据转存时,操作单位为n组待备份事件数据e_data,缩短事件数据e_data转存过程访问中断的时间,进而降低数据转存对于金融交易终端tue访问云平台金融事件数据高可靠存储系统的影响。

至少一个源存储池为进行数据转存之前云平台金融事件数据高可靠存储系统中包括的所有存储池,也是每组待备份事件数据e_data根据预定义备份规则存储的源位置。目的存储池为每组待备份事件数据e_data根据实际备份规则存储的目标位置,

源存储池中包括按照预定义备份规则存储的至少一个keyid的至少一组事件数据e_data;每个keyid标识一组数据;预定义备份规则优选地包括:若一组事件数据e_data包括的预定义字段对应的值在第一集合中的第一预定义范围内,则将该组事件数据e_data存储在该第一预定义范围对应的位置;其中,第一集合中包括至少一个第一预定义范围。

具体实施中,云平台金融事件数据高可靠存储系统中每个存储服务器可以包括一个存储池,也可以包括多个存储池。基于上文所述,根据实际备份规则从至少一个源存储池中确定出n组待备份事件数据e_data之前,还包括:

确定云平台金融事件数据高可靠存储系统中的数据备份规则需要更新,包括从预定义备份规则更新为实际备份规则;其中,实际备份规则包括:若一组事件数据e_data包括的预定义字段对应的值在第二集合中的一个第二预定义范围内,则将该组事件数据e_data存储在该第二预定义范围对应的位置;第二集合中包括至少一个第二预定义范围。

下面对如何确定n组待备份事件数据e_data进行介绍。针对源存储池中包括的至少一组事件数据e_data中的每组事件数据e_data,执行以下步骤:确定该组事件数据e_data按照实际备份规则存储的位置;若所述keyid的该组事件数据e_data按照预定义备份规则存储的位置与该组事件数据e_data按照实际备份规则存储的位置不相同,则该组事件数据e_data为一组待备份数据。如此,根据每组事件数据e_data按照预定义备份规则和按照实际备份规则存储的位置,确定出数据备份规则更新之后的待备份事件数据e_data,进而对待备份事件数据e_data进行数据移动。

在确定云平台金融事件数据高可靠存储系统的数据备份规则需要更新之后,需要对云平台金融事件数据高可靠存储系统中存储的事件数据e_data进行数据转存。在实际的数据转存过程中,针对云平台金融事件数据高可靠存储系统中存储的至少一个keyid的事件数据e_data的存储位置,可以分为两种情况:第一种,一组事件数据e_data按照预定义备份规则和实际备份规则存储位置相同,该组事件数据e_data不需要同步;第二种,一组事件数据e_data按照预定义备份规则和实际备份规则存储位置变化,该组数据需要同步。

可选的,在目的存储池中生成该组待备份事件数据e_data的待备份事件数据e_data副本,包括:针对n组待备份事件数据e_data中的每组待备份事件数据e_data,在目的存储池中生成该组待备份事件数据e_data的待备份事件数据e_data副本;并在该组待备份事件数据e_data对应的源存储池中为该组待备份事件数据e_data添加待移除标记;并在该组待备份事件数据e_data对应的目的存储池中为待备份事件数据e_data副本添加待启用标记。若一组事件数据e_data按照预定义备份规则和实际备份规则的存储位置不变,则为该组事件数据e_data添加不修改标记。

下面对云平台金融事件数据高可靠存储系统使用的数据备份规则更新的数据移动过程中的标记进行举例介绍。当第一次数据备份规则改变时,如果预定义备份规则为规则一,实际备份规则为规则二,则将云平台金融事件数据高可靠存储系统使用的规则一更新为规则二,在数据转存过程中,将待移除标记设为-1,待启用标记设为1,不修改标记设为0;在数据转存完成之后,使用规则二的云平台金融事件数据高可靠存储系统中包括带有待启用标记1、和不修改标记0的事件数据e_data;当第二次数据备份规则改变时,如果预定义备份规则为规则二,实际备份规则为规则三;将云平台金融事件数据高可靠存储系统使用的规则二更新为规则三,在数据转存过程中重新确定出待备份事件数据e_data,将待移除标记设为-1,待启用标记设为2,存储位置不变的事件数据e_data仍旧保持第一次数据备份规则改变时的标记对应的值,比如采用0和1。

所述从至少一个源存储池中删除n组待备份事件数据e_data,包括:

针对每个源存储池,将源存储池中添加有待移除标记的每组待备份事件数据e_data删除。此时,数据转存结束,云平台金融事件数据高可靠存储系统中的事件数据e_data包括待启用标记的事件数据e_data和不修改标记的事件数据e_data。数据转存除了移动待备份事件数据e_data,还包括对备份规则的更新。在数据转存之前,云平台金融事件数据高可靠存储系统中所有事件数据e_data按照预定义备份规则存储。在数据转存过程中,从至少一个源存储池中删除n组待备份事件数据e_data之前,还包括:若确定需要根据实际备份规则对n组待备份事件数据e_data进行备份,则针对n组待备份事件数据e_data中的每组待备份事件数据e_data,将该组待备份事件数据e_data的备份规则更新为预定义备份规则和实际备份规则。在完成数据转存之前,系统中存在按照预定义备份规则存储的待备份事件数据e_data和按照实际备份规则存储的待备份事件数据e_data副本,如此可避免数据移动过程中出错导致的数据无法访问的问题。

在数据转存完成时,云平台金融事件数据高可靠存储系统中存在一个备份规则。从至少一个源存储池中删除n组待备份事件数据e_data之后,还包括:针对n组待备份事件数据e_data中的每组待备份事件数据e_data,将该组待备份事件数据e_data的备份规则更新为实际备份规则。在完成数据转存之后,可以直接按照实际备份规则访问事件数据e_data。

本发明实施例中在所述目的存储池中生成该组待备份事件数据e_data的待备份事件数据e_data副本的实现方式可以为:

从源存储池中将待备份事件数据e_data同步至目的存储池中,在目的存储池中称为待备份事件数据e_data副本。下面针对待备份事件数据e_data同步至目的存储池的过程中,如何实现降低对访问的影响进行介绍。若在n个keyid的n组待备份事件数据e_data中的任一组待备份事件数据e_data开始同步之后,且在n个keyid的n组待备份事件数据e_data全部同步至目标位置之前,接收到金融交易终端tue的数据检索请求,则允许金融交易终端tue访问云平台金融事件数据高可靠存储系统中带有待移除标记和不修改标记的事件数据e_data。经过对同步过程中的所有事件数据e_data进行标记,允许金融交易终端tue访问带有不修改标记和待移除标记的待备份事件数据e_data,对金融交易终端tue的访问不造成影响。若在n个keyid的n组待备份事件数据e_data全部同步至目标位置之后,接收到金融交易终端tue的数据检索请求,则允许金融交易终端tue访问云平台金融事件数据高可靠存储系统中带有待启用标记和不修改标记的事件数据e_data。为避免数据重复访问,允许访问带有待启用标记和不修改标记的事件数据e_data;如此,金融交易终端tue可以访问到所有的位置不变的事件数据e_data和n组待备份事件数据e_data中的任一组事件数据e_data。

可选的,在n个keyid的n组待备份事件数据e_data全部同步至目标位置之后,还包括:

针对n个主键的每个主键,若源存储池中的keyid的待备份事件数据e_data生成了新的操作记录,则将主键对应的新的操作记录同步至主键对应的目标位置;在将主键对应的新的操作记录同步至主键对应的目标位置之前,停止数据写入。保证了数据移动之后每个keyid的待备份数据的完整性。

所述协调服务器cs还用于对每个存储控制器的空间进行管理。具体地,所述协调服务器cs根据当前支付应用服务器收到的待存储事件数据的大小,判断当前存储服务器节点的可用空间是否充足。若充足,则金融交易终端tue直接将当前待存储事件数据写入对应的金融数据存储服务器ms节点中;若不足,则判断执行写数据的备份进程是否多于一个个进程,若不超过,则向协调服务器cs发送申请目标空间的请求;若超过,利用进程锁将多个写进程封装为一个原语操作,以使第一目标进程向协调服务器cs发送申请目标空间的请求。具体地,申请目标空间的计算过程为:

获取上一次多进程同时写数据时,第一个备份进程成功写入金融数据存储服务器ms节点中数据之后,其余各备份进程欲写入金融数据存储服务器ms节点中的数据大小;计算该数据大小与第一目标进程对应的待存储事件数据的大小之后,以作为目标空间大小值。

接收协调服务器cs返回的实际空间,并根据金融数据存储服务器ms节点当前剩余可用空间大小值与实际空间更新金融数据存储服务器ms节点的可用空间。协调服务器cs在接收金融交易终端tue的空间请求后,反馈给金融交易终端tue实际空间大于金融交易终端tue申请的空间值,也就是说实际空间包括目标空间大小值与预定义可伸缩空间值。预定义可伸缩空间值的选取可根据云平台金融事件数据高可靠存储系统的可用容量、容量使用状况与当前申请空间的金融交易终端tue的运行状况进行确定。

根据金融数据存储服务器ms节点当前剩余可用空间大小值与实际空间更新金融数据存储服务器ms节点的可用空间。向金融数据存储服务器ms节点中写入待存储事件数据,并获取写入金融数据存储服务器ms节点中新增数据大小,计算金融数据存储服务器ms节点的当前可用空间大小值与新增数据大小的差值。

根据差值更新金融数据存储服务器ms节点的可备份空间,并将可备份空间发送给协调服务器cs。将可备份空间、新增加的大小、元数据反馈的实际空间发送给协调服务器cs,可用于协调服务器cs统计云平台金融事件数据高可靠存储系统的容量使用情况。

判断用于将可备份空间发送给协调服务器cs的备份进程个数是否多于一个;若是,则利用进程锁将多个上报备份进程封装为一个原语操作,以使第二目标进程将可备份空间发送给协调服务器cs。

考虑到金融交易终端tue不仅向云平台金融事件数据高可靠存储系统中写数据,还会进行数据删除,鉴于此,本发明还包括:

判断是否要从金融数据存储服务器ms节点中移除数据,当从金融数据存储服务器ms节点中移除数据时,获取待移除数据的大小。即当检测到从金融数据存储服务器ms节点中移除数据,获取待移除数据的大小。计算金融数据存储服务器ms节点当前的可用空间与待移除数据的大小的差值。根据差值更新金融数据存储服务器ms节点的可用备份空间,并将可用备份空间发送给协调服务器cs。

判断用于将可备份空间发送给协调服务器cs的备份进程个数是否多于一个;若是,则利用进程锁将多个上报备份进程封装为一个原语操作,以使第二目标进程将可备份空间发送给协调服务器cs。为了存储系统更加精确的统计容量信息,将可用备份空间与待移除数据的大小发送给协调服务器cs,以用于协调服务器cs统计云平台金融事件数据高可靠存储系统的使用情况。

综上所述,本发明提出了一种基于云计算的安全存储方法,提高了金融业务数据管理系统的安全性和可靠性。

显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

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