一种读写数据库的数据的方法和应用应答装置的制造方法

文档序号:9547204阅读:480来源:国知局
一种读写数据库的数据的方法和应用应答装置的制造方法
【技术领域】
[0001]本发明涉及数据库领域,尤其涉及一种读写数据库的数据的方法和应用应答装置。
【背景技术】
[0002]现有技术中公开了一种数据库加密系统,包括:数据库设备,所述数据库设备包括数据库以及控制数据库操作的执行的数据库控制装置;以及用户设备,所述用户设备经由网络连接到所述数据库控制装置,其中所述用户设备还包括:密钥使用装置,所述密钥使用装置管理用于加密和解密的密钥信息;安全性配置装置,所述安全性配置装置配置与所述数据库中所存储的数据和/或元数据的安全性的配置有关的信息;第一存储单元,所述第一存储单元存储与所述安全性的配置有关的信息;以及应用应答装置,所述应用应答装置接收所述数据库设备发布的数据库操作命令,并且通过参考所述第一存储单元的所述信息,确定是否需要针对由数据库操作命令处理的数据和/或元数据的加密,其中如果需要加密,所述应用应答装置将已经通过使用对应于所述数据和/或元数据的所述安全性的加密算法、根据所述密钥使用装置的密钥信息而被加密的经加密数据和/或经加密元数据,作为所述数据库操作命令的数据和/或元数据,传送给所述数据库控制装置,以致使所述数据库控制装置执行所述数据库操作,如果不需要加密,所述应用应答装置将所述数据库操作命令按原样传送给所述数据库控制装置。
[0003]现有技术中还公开了一种方法,通过对数据库驱动的代理实现对应用层执行的SQL (Structured Query Language,结构化查询语言)语句的分析,并根据分析结果进行数据加密和返回的结果集的数据解密过程。与现有技术相比,本发明的应用层透明的数据库加密方法对应用层的存取的表中敏感字段数据进行加密和解密,在不影响开发人员和用户读取的情况下能够保证数据的安全存储。
[0004]以上两种方案,对密钥存放模块的读写效率并没有进行充分的考虑和说明,而数据库节点往往是这个应用系统的性能瓶颈,因此,如何提高密钥的读写效率是一个值得解决的问题。

【发明内容】

[0005]本发明的主要目的在于解决上层应用对底层关系数据库进行读写加密数据时,密钥的读写效率低的问题。
[0006]为实现上述目的,本发明提供一种读写数据库的数据的方法,应用于分布式存储系统的应用应答装置中,读写数据库的数据的方法包括以下步骤:
[0007]截获数据库使用应用装置发出的要求读写数据库内的数据的SQL读写请求;
[0008]获取存放于分布式密钥信息存储装置内与所述数据对应的密钥;
[0009]根据所述SQL读写请求应用所述密钥加密或解密所述数据并返回给所述数据库使用应用装置。
[0010]优选地,所述数据包括表名或者字段名,所述获取存放于分布式密钥信息存储装置内与所述数据对应的密钥的步骤具体包括:
[0011]根据所述数据的表名或者字段名获取对应密钥。
[0012]优选地,所述数据为加密数据,所述SQL读写请求包括SQL读请求,所述根据所述SQL读写请求应用所述密钥加密或解密所述数据并返回给所述数据库使用应用装置的步骤具体包括:
[0013]传递SQL读请求给所述数据库后获取所述加密数据,应用所述密钥解密所述加密数据;
[0014]返回解密后的数据给所述数据库使用应用装置。
[0015]优选地,所述SQL读写请求包括SQL写请求,所述根据所述SQL读写请求应用所述密钥加密或解密所述数据并返回给所述数据库使用应用装置的步骤具体包括:
[0016]应用所述密钥加密所述数据后传递SQL写请求给所述数据库;
[0017]返回所述数据库发出的写数据成功信息给所述数据库使用应用装置。
[0018]为了解决上述的技术问题,本发明进一步提供一种应用应答装置,所述应用应答装置包括:
[0019]截获模块,用于截获数据库使用应用装置发出的要求读写数据库内的数据的SQL读写请求;
[0020]获取模块,用于获取存放于分布式密钥信息存储装置内与所述数据对应的密钥;
[0021]读写模块,用于根据所述SQL读写请求应用所述密钥加密或解密所述数据并返回给所述数据库使用应用装置。
[0022]优选地,所述获取模块,具体用于根据所述数据的表名或者字段名获取对应密钥。
[0023]优选地,所述读写模块包括:
[0024]解密单元,用于传递SQL读请求给所述数据库后获取所述加密数据,应用所述密钥解密所述加密数据;
[0025]解密返回单元,用于返回解密后的数据给所述数据库使用应用装置。
[0026]优选地,所述读写模块还包括:
[0027]加密单元,用于应用所述密钥加密所述数据后传递SQL写请求给所述数据库;
[0028]加密返回单元,用于返回所述数据库发出的写数据成功信息给所述数据库使用应田ft晉
/TJ 目.Ο
[0029]为了解决上述的技术问题,本发明进一步提供一种分布式密钥信息存储装置,所述分布式密钥信息存储装置包括,
[0030]接收模块,用于接收应用应答装置发出的获取密钥的请求,所述密钥与使用应用装置发出的SQL读写请求中数据库的数据对应;
[0031]发送模块,用于发送所述密钥给所述应用应答装置。
[0032]优选地,所述数据包括表名或者字段名,所述分布式密钥信息存储装置,所述密钥与所述数据的表名或者字段名对应。
[0033]本发明提供的一种读写数据库的数据的方法,应用于分布式存储系统的应用应答装置中,包括以下步骤:截获数据库使用应用装置发出的要求读写数据库内的数据的SQL读写请求;获取存放于分布式密钥信息存储装置内与所述数据对应的密钥;应用所述密钥加密或解密所述数据后传递SQL读写请求给所述数据库并将读写结果返回给所述数据库使用应用装置。所能实现的有益效果为提高密钥的读写效率和数据库的读写性能。
【附图说明】
[0034]图1为本发明读写数据库的数据的方法一实施例的流程示意图;
[0035]图2为图1中步骤S300的一细化流程示意图;
[0036]图3为本发明读写数据库的数据的方法中读数据的一实施例的流程框图;
[0037]图4为图1中步骤S300的另一细化流程示意图;
[0038]图5为本发明读写数据库的数据的方法中写数据的一实施例的流程框图;
[0039]图6为本发明应用应答装置一实施例的结构框图;
[0040]功能模块示意图;
[0041]图7为图6中读写模块的功能模块一实施例示意图;
[0042]图8为图6中读与t旲块的功能t旲块另一实施例意图;
[0043]图9为本发明分布式密钥信息存储装置一实施例的结构框图。
[0044]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0045]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0046]本发明提供一种写数据库的数据的方法,应用于分布式存储系统的应用应答装置中,参照图1,在一实施例中,该读写数据库的数据的方法包括以下步骤:
[0047]步骤S100、截获数据库使用应用装置发出的要求读写数据库内的数据的SQL读写请求。
[0048]数据库使用应用装置发起SQL读写请求,分布式存储系统的应用应答装置截获数据库使用应用装置的SQL读写请求,数据库使用应用装置和应用应答装置的接口可以为API (Applicat1n Programming Interface,应用程序编程接口)接口或 SQL 接口,API 为 C语言或JAVA语言。
[0049]步骤S200、获取存放于分布式密钥信息存储装置内与所述数据对应的密钥。
[0050]应用应答装置如果分析到要读写的数据库的数据为加密数据,则根据读取的表名、字段名到分布式密钥信息存储装置获取相关密钥。
[0051]步骤S300、根据所述SQL读写请求应用所述密钥加密或解密所述数据并返回给所述数据库使用应用装置。
[0052]应用应答装置将SQL读写请求传递至数据库,应用密钥对读写数据进行加密或解密,数据库返回相关信息,应用应答装置接收返回信息,并将返回信息回传给数据库使用应田ft晉
/TJ 目.Ο
[0053]本实施例提供的一种读写数据库的数据的方法,应用于分布式存储系统的应用应答装置中,包括以下步骤:步骤S100、截获数据库使用应用装置发出的要求读写数据库内的数据的SQL读写请求;步骤S200、获取存放于分布式密钥信息存储装置内与所述数据对应的密钥;步骤S300、应用所述密钥加密或解密所述数据后传递SQL读写请求给所述数据库并将读写结果返回给所述数据库使用应用装置。本实施例所能实现的有益效果为提高密钥的读写效率和数据库的读写性能。
[0054]参见图2,本实施例提供的一种读写数据库的数据的方法,所述步骤S300包括:
[0055]步骤S310、传递SQL读请求给所述数据库后获取所述加密数据,应用所述密钥解密所述加密数据。
[0056]应用应答装置将SQL读请求传递至数据库,数据库返回相关数据,返回的数据为加密数据,应用应答装置根据相关算法,利用获得的密钥将加密数据解密。
[0057]步骤S320、返回解密后的数据给所述数据库使用应用装置。
[0058]应用应答装置将解密后的数据回传给数据库使用应用装置,完成读操作。
[0059]如图3所示,图3为本发明读写数据库的数据的方法中读数据的一实施例的流程框图。
[0060]所述读数据的步骤具体包括:
[0061]步骤301、数据库使用应用装置发起SQL读请求;
[0062]步骤302、应用应答装置截获数据库使用应用装置发起的SQL读请求,根据读取的表名、字段名到分布式密钥信息存储装置获取相关密钥;
[0
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1