一种数据库保密结构及其使用方法

文档序号:6573924阅读:261来源:国知局
专利名称:一种数据库保密结构及其使用方法
技术领域
本发明涉及一种数据库保密结构和该数据库保密结构的使用方法。
背景技术
数据库开发中,为了方便对数据库中数据的操作,往往把数据中的表、字段的名称定义成便于理解的符号;另外,数据库开发中,一般都提供了数据库的备份功能,这些备份基本上都是调用数据库管理系统提供的备份功能,而数据库管理系统本身提供的备份大都对数据库结构没有任何保护措施。
无论上述哪一种方式的存在,都为别人盗用数据库资源提供了方便,数据库的设计思想会被别人轻易复制,分析原因如下1.数据库中明显的表、字段名称,符合常人思维,盗用者可以轻而易举地理解到数据库结构的设计思想;2.不加密的数据库备份,只要做相同的模拟环境,很轻易就能对备份数据进行恢复,从而进行分析。

发明内容
本发明的目的是克服现有技术中数据库容易被人盗用的技术问题,提供一种数据库保密结构。
本发明的另一目的是提供一种数据库保密结构的使用方法。
本发明提出的数据库保密结构包括一数据库系统及至少一个数据库映射关系模块,所述的数据库系统包括一真实数据库和至少一个虚拟数据库,虚拟数据库通过数据库映射关系模块创建的跨库视图对真实数据库中的业务数据进行管理。数据库映射关系模块用于对真实数据库、虚拟数据库的结构和它们之间的映射关系进行初始化和维护。
本发明还提出了一种数据库保密结构的使用方法,所述的数据库保密结构包括一数据库系统及至少一个数据库映射关系模块,所述的数据库系统包括一真实数据库和至少一个虚拟数据库,所述数据库保密结构的使用方法包括对真实数据库和虚拟数据库进行初始化的步骤,使得真实数据库存放真实的业务数据,虚拟数据库存放从真实数据库映射过来的视图语法以及存储过程的语法。
在所述数据库保密结构的使用方法中,初始化的步骤具体如下
a.设数据结构中的表名称、字段名称、字段类型及存储过程的集合为集合M;b.运行数据库映射关系模块,输入集合M和设定参数,编制出与集合M一一对应的没有实际意义的若干组集合M’,保存这些对应关系于一张特殊的经过加密处理的表或文件中;c.用其中一组M’创建数据库D2,同时创建至少一个虚拟数据库D1,虚拟数据库D1中创建一张维护表T,T中存放集合M中表名称及从数据库D2中集合M’对应映射过来的与集合M中表名、列名均相同的视图创建语法和集合M中存储过程的名称及语法。
所述数据库保密结构的使用方法,还包括对数据库结构关系进行维护的步骤,该步骤具体如下a.输入集合M1和新的参数,运行数据库映射关系模块,生成新的集合M’;b.根据集合M’的一组创建系列新表,对应将原集合M’系列表数据导入到新的集合M’系列表中,删除原集合M’系列表,同时重新维护存放集合M、M’关系的表或者文件。
本发明对数据库进行操作时,按下列步骤进行a.进行数据库访问时,客户端启动数据库操作申请模块,向数据库监控模块申请要访问的数据库资源;b.数据库监控模块收到申请后,对要访问的数据库资源进行维护,并返回给数据库操作申请模块该资源申请成功与否的状态标志;c.数据库操作申请模块收到资源申请成功的标志后,反馈给客户端,客户端通过这些资源操作数据;d.客户端操作数据完成后,通过数据库操作申请模块向数据库监控模块发送资源使用完成的信号;e.数据库监控模块接到资源使用完成信号后,对上述资源进行再维护。
所述的虚拟数据库D1可以为多个,对应的数据库映射关系模块也为多个。在本发明的一个较佳实施例中,设置了二个虚拟数据库和二个数据库映射关系模块,此时,第一虚拟数据库可以通过第一数据库映射关系模块创建的跨库视图对真实数据库中的业务数据进行管理;第二数虚拟数据库可以通过第二数据库映射关系模块创建的跨库视图对第一虚拟数据库进行操作,从而间接管理到真实数据库,而实际应用中对客户端只公开第二数虚拟数据库结构。这种多层结构增强了对真实数据库中数据的安全性。
与现有技术相比,本发明提出的数据库保密结构及其使用方法通过多层映射和加密,有效隐藏了真实的数据库结构和数据库设计思想;同时,结合数据库结构的动态维护变更,极好地实现了对数据库结构的保密。


图1是本发明的数据库保密结构的示意图。
图2是本发明对数据库保密结构进行操作的流程图。
具体实施例方式
图1是本发明的数据库保密结构的示意图。本发明的数据库保密结构包括一数据库系统10、一数据库映射关系模块20、一数据库备份模块30、一数据库操作申请模块40及一数据库监控模块50。该数据库系统10包括虚拟数据库D1和真实数据库D2,虚拟数据库D1只存放从真实数据库D2映射过来的视图语法以及存储过程的语法,这些语法是经过加密处理的;数据库映射关系模块20用于对虚拟数据库D1和真实数据库D2的结构映射关系进行初始化。数据库备份模块30用于对真实数据库D2进行备份并加密。数据库操作申请模块40设置于客户端60中,并与数据库监控模块50相连接,用于向数据库申请操作资源。数据库监控模块50用于对虚拟数据库D1的资源进行管理和维护。
客户端60要进行数据操作时,启动数据库操作申请模块40,数据库操作申请模块40向数据库监控模块50申请操作资源,数据库监控程序模块50收到数据库操作申请模块40的申请后,对对应资源进行维护,并返回给数据库操作申请模块40该资源的状态标志,数据库操作申请模块40收到资源状态标志申请成功信息后,反馈给客户端,客户端60对这些资源进行数据操作,并在操作完成后通过数据库操作申请模块40向数据库监控模块50报告资源使用结束,数据库监控模块50收到资源使用结束的报告后,对对应资源进行再维护。数据库备份时,启动数据库备份模块30,对真实数据库D2进行备份并加密。数据库运行一段时间后,对真实数据库结构D2进行调整,重新维护数据库结构的映射关系。
数据库保密结构是通过映射和加密的方法达到对数据库结构保密的目的,其创建和应用包括下列四部分操作,各部分操作的流程如下1、对数据库结构映射关系的初始化(1)设数据结构中的表名称、字段名称、字段类型及存储过程为集合M1;(2)运行数据库映射关系模块20,输入集合M1和参数α,编制出与集合M1对应没有实际意义的表名称、字段名称、字段类型的集合M2;(3)再输入参数β,运行系统数据库映射关系模块20加密编制与集合M1、M2一一对应的一组表和字段的名称集合M3,保存这些对应关系于一张特殊的经过加密处理的文件F中;(4)用集合M2建真实数据库D2,同时创建虚拟数据库D1,在虚拟数据库D1中创建一张维护表T,T中存放集合M1中表名称及从虚拟数据库D2库中集合M2对应映射过来的,与集合M1中表名、列名均相同的视图创建语法和集合M1中存储过程的名称及语法,且视图语法中的表和字段名称用对应集合M3中的表和字段的名称代替,并且与存储过程语法一样进行加密处理。
2、对数据库结构映射关系的维护(1)当数据库运行一段时间后,为了安全起见,输入集合M1和参数α’,运行数据库映射关系模块20,生成对应集合M2’;(2)根据集合M2’创建系列新表,对应导入集合M2系列表数据到集合M2’系列表中,删除集合M2系列表,同时重新维护存放集合M1、M2’、M3关系的文件F。
3、对数据库的操作的处理,如图2所示,其包括如下步骤(1)进行数据访问时,启动数据库操作申请模块40,向数据库监控模块50申请访问的资源;(2)数据库监控模块50收到请求后,检测是否有该资源存在,如果存在,则将该资源访问连接数加1,返回给数据库操作申请模块40申请成功标志;如果不存在,则从维护表T中取出资源创建语法,用数据库监控模块50启动时读取的文件F信息,解密创建语法并创建相关资源,若创建成功,则将该视图访问连接数设为1,返回给数据库操作申请模块40申请成功标志,若创建失败,则返回给数据库操作申请模块40失败标志;(3)数据库操作申请模块40将资源创建成功标志反馈给客户端60,客户端60通过这些资源操作数据;(4)客户端60操作数据完成后,通过数据库操作申请模块40向数据库监控模块50发送资源使用完成信号;(5)数据库监控模块50接到资源使用完成信号后,对资源连接数进行减1操作,检查资源连接数,若资源连接数小于1,则删除资源。
4、加密数据库备份运行数据库备份模块30,完成对真实数据库D2的备份,并把备份信息加密。
在上述具体实施方式
中,集合M2、M2’可以分别是一组或多组,对应参数α、α’、β均可以是一个参数,也可以是一组参数,其形式可以是单纯的数字、符号、字符串或一段程序,可以进行加密处理,也可以不进行加密处理;而产生集合M3时以及存放在T表中的语法,也都可以不进行加密,同样保存映射关系的文件F也可以是一张表或其他形式,完全取次于实现中安全级别的高低。
在本发明的一个较佳实施例中,设置了二个虚拟数据库和二个数据库映射关系模块,此时,第一虚拟数据库可以通过第一数据库映射关系模块创建的跨库视图对真实数据库中的业务数据进行管理;第二数虚拟数据库可以通过第二数据库映射关系模块创建的跨库视图对第一虚拟数据库进行操作,从而间接管理到真实数据库,而实际应用中对客户端只公开第二数虚拟数据库结构。这种多层结构增强了对真实数据库中数据的安全性。
在本发明的实施方式中,对初始化及维护数据库结构的操作,还可通过下列三个方式实现(一)当数据库结构中大量使用了触发器时,数据库映射关系模块20初始化生成集合M2时,产生两组数据,设为集合M21、M22,用M21创建真实数据库D2真实业务表,用M22在真实数据库D2中创建对应的从集合M21映射过来的视图,触发器中的对数据操作均采用调用存储过程的方法实现,这些存储过程中对数据的访问均通过用集合M22创建的视图,而虚拟数据库D1库中T表的视图原始创建语法也均来自于集合M22,这样当数据库结构维护变更集合M2时,数据库映射关系模块20中只需要增加重新维护这些用集合M22创建的视图的功能即可,极大地减少了库结构变更的维护工作量。
(二)当对数据库结构进行维护进,重新生成集合M2为M2’时,也可以同时重新生成集合M3为集合M3’,对应数据库映射关系模块20增加对虚拟数据库D1的T表视图创建语法的维护,从而进一步加强数据结构保密的安全性。
(三)当安全性要求不是非常高时,对数据库结构进行的维护,通常情况下只重新生成集合M3为集合M3’,对应数据库映射关系模块20增加对虚拟数据库D1的T表视图创建语法的维护,只有数据库结构运行相当长一段时间才重新生成结合M2为集合M2’,对业务数据存在的真实表进行维护。
本发明提出的通过映射和加密的技术对数据库结构进行保密的方法与现有技术相比,具有以下优点(一)安全可靠对数据库结构进行多层映射和加密,极大程度上隐藏数据库结构的真实设计思想,盗用者破解难度较大;结合所有数据库设计思想只有在运行时部分显示,且可以对真实业务表动态调整与维护的技术使得盗用者破解更加困难。
(二)技术容易封装,能很方便地在不同软件中使用本发明很容易封装成初始化及维护数据库结构的映射关系程序、数据库操作申请程序、数据库运行监控程序和数据库备份加密程序,且它们开发封装完成后,可以直接布置在任何软件中,接口简单不会给软件的开发和维护带来过多附加工作量。
本发明中提到的参数可为数字、符号、字符串和/或程序。
本发明不为上述实施方式所限,还可做出其它变更,如,可以对数据库结构完成初始化映射后,不进行动态维护;相应也可以在虚拟数据库D1中直接创建从集合M1到集合M2映射的视图,不再进行加密保护,对应也不需要再开发初始化及维护数据库结构的映射关系模块、数据库操作申请模块和数据库监控模块,甚至不进行数据库备份。
另外,本领域技术人员还可在本发明精神内做其它变化。这些依据本发明精神所做的变化,都应包含在本发明所要求保护的范围之内。
权利要求
1.一种数据库保密结构,其特征在于包括一数据库系统及至少一个数据库映射关系模块,所述的数据库系统包括一个真实数据库和至少一个虚拟数据库,虚拟数据库通过数据库映射关系模块创建的跨库视图对真实数据库中的业务数据进行管理,数据库映射关系模块用于对真实数据库、虚拟数据库的结构和它们之间的映射关系进行初始化和维护。
2.如权利要求1所述的数据库保密结构,其特征在于所述的真实数据库映射过来的视图语法以及存储过程的语法经过加密处理。
3.如权利要求1所述的数据库保密结构,其特征在于还包括一用于对真实数据库进行备份及加密的数据库备份模块。
4.如权利要求1所述的数据库保密结构,其特征在于,还包括一数据库操作申请模块及一数据库监控模块,所述的数据库操作申请模块设置于客户端,并通过数据库监控模块与数据库系统相连接,用于申请数据库资源,所述的数据库监控模块用于对虚拟数据库的资源进行管理和维护。
5.如权利要求1所述的数据库保密结构,其特征在于,设置了二个虚拟数据库和二个数据库映射关系模块,第一虚拟数据库可以通过第一数据库映射关系模块创建的跨库视图对真实数据库中的业务数据进行管理;第二数虚拟数据库可以通过第二数据库映射关系模块创建的跨库视图对第一虚拟数据库进行操作,从而间接管理到真实数据库,而实际应用中对客户端只公开第二数虚拟数据库结构。
6.一种数据库保密结构的使用方法,所述的数据库保密结构包括一数据库系统及至少一个数据库映射关系模块,所述的数据库系统包括一真实数据库和至少一个虚拟数据库,其特征在于所述的方法包括对真实数据库和虚拟数据库进行初始化的步骤,使得真实数据库存放真实的业务数据,虚拟数据库存放从真实数据库映射过来的视图语法以及存储过程的语法。
7.如权利要求6所述的数据库保密结构的使用方法,其特征在于所述初始化的步骤包括下列具体步骤a.设数据结构中的表名称、字段名称、字段类型及存储过程为集合M;b.运行数据库映射关系模块,输入集合M和设定参数,编制出与集合M一一对应的没有实际意义的集合M’,保存这些对应关系于一张特殊的经过加密处理的表或文件中;C.用集合M’建一个真实数据库D2,同时创建一个虚拟数据库D1,在虚拟数据库D1中创建一张维护表T,T中存放M集合中表名称及从真实数据库D2中集合M’对应映射过来的与集合M中表名、列名均相同的视图创建语法和集合M中存储过程的名称及语法。
8.如权利要求6所述的数据库保密结构的使用方法,其特征在于还包括对数据库结构关系进行维护的步骤,该步骤具体如下a.输入集合M1和新的参数,运行数据库映射关系模块,生成新的集合M’;b.根据集合M’创建系列新表,对应导入原集合M’系列表数据到新集合M’系列表中,删除原集合M’系列表,同时重新维护存放集合M、M’关系的表或者文件。
9.如权利要求6所述的数据库保密结构的使用方法,其特征在于还包括对数据库进行操作的步骤,该操作的具体步骤如下a.进行数据库访问时,客户端启动数据库操作申请模块,向数据库监控模块申请要访问的数据库资源;b.数据库监控模块收到申请后,对要访问的数据库资源进行维护,并返回给数据库操作申请模块该资源申请成功与否的状态标志;c.数据库操作申请模块收到资源申请成功的标志后,反馈给客户端,客户端通过这些资源操作数据;d.客户端操作数据完成后,通过数据库操作申请模块向数据库监控模块发送资源使用完成的信号;e.数据库监控模块接到资源使用完成信号后,对上述资源进行再维护。
10.如权利要求6所述的数据库保密结构的使用方法,其特征在于还包括对所述真实数据库进行备份并对备份信息进行加密的步骤。
全文摘要
本发明涉及一种数据库保密结构及其使用方法,所述的数据库保密结构包括一数据库系统及至少一个数据库映射关系模块,该数据库系统包括一真实数据库和至少一个虚拟数据库,虚拟数据库通过数据库映射关系模块创建的跨库视图对真实数据库中的业务数据进行管理。本发明提出的数据库保密结构可以设置多个虚拟数据库,有效地防止他人盗用和复制数据库资源。本发明还提供一种数据库保密结构的使用方法。
文档编号G06F21/00GK101093502SQ200710075079
公开日2007年12月26日 申请日期2007年6月19日 优先权日2007年6月19日
发明者尹立东, 王东卫, 杭小林 申请人:深圳市迈科龙电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1