一种数据安全防护系统
技术领域
本发明涉及数据安全技术领域,尤其涉及一种数据安全防护系统。
背景技术
目前市面上流行的各类企业信息管理系统中,很多都采用了B/S架构,工作人员通过浏览器登录系统,浏览器与服务器进行通信以进行数据交互,而服务器从数据库中读取业务数据并反馈至浏览器,由于直接从数据库中读取业务数据会占用较多的I/O资源,增加数据库负载,而通过建立共享内存,在共享内存中存储业务数据以供读写,可以大大加快系统响应速度,并减少对数据库I/O端口的占用,但不明身份的数据请求方对于企业信息管理系统而言,采用共享内存的方式会使数据安全存在极大的隐患,现有技术还不能很好地解决。
发明内容
鉴以此,本发明的目的在于提供一种数据安全防护系统,以至少解决以上问题。
一种数据安全防护系统,包括多台服务请求设备、分布式系统和数据库服务器,所述服务请求设备用于向分布式系统发起数据访问请求,所述分布式系统用于处理数据访问请求并根据请求内容进行响应,所述数据库服务器用于存储业务数据并向分布式系统提供数据访问接口,
所述分布式系统还用于缓存热点业务数据,识别数据访问请求中是否包含对热点业务数据的读写请求;
所述数据访问请求中还包含有校验信息,所述分布式系统还用于若未识别到数据访问请求中包含校验信息,或是数据访问请求中包含错误的校验信息,则结束与相应服务请求设备的通信进程。
进一步的,所述分布式系统包括若干台云服务器,所述云服务器均设有处理单元和共享内存,
所述共享内存用于缓存热点业务数据;
所述处理单元用于处理数据访问请求,识别校验信息,根据数据访问请求从共享内存中读取热点业务数据并回传至服务请求设备。
进一步的,所述共享内存设有若干个分区,所述处理单元在处理数据访问请求时,根据服务请求设备信息、被访问业务数据信息、不同类型业务数据被访问频次计算业务数据权重,将权重最高的业务数据缓存到共享内存的不同分区中。
进一步的,所述处理单元与共享内存之间设有高速缓冲存储器,处理单元往共享内存读写业务数据时相应的业务数据同时被存储到高速缓冲存储器中,所述高速缓冲存储器部署有Hook模块,所述Hook模块用于监听共享内存的数据读写事件。
进一步的,所述处理单元还部署有访问监控模块,Hook模块将监听到的共享内存数据读写事件发送至访问监控模块,访问监控模块根据预设的访问控制策略决定该数据读写事件是否可以继续进行。
进一步的,所述校验信息包括第一校验信息和第二校验信息,所述分布式系统还用于识别数据访问请求中是否包含第一校验信息和第二校验信息,若校验信息缺失或第一校验信息/第二校验信息错误,则分布式系统中断与相应服务请求设备的通信进程。
进一步的,所述服务请求设备设有第一加密模块,所述第一加密模块用于加密数据访问请求;所述分布式系统设有第一解密模块,所述第一解密模块用于解密数据访问请求。
进一步的,所述分布式系统设有第二加密模块,所述第二加密模块用于加密待发送至服务请求设备的业务数据;所述服务请求设备设有第二解密模块,所述第二解密模块用于解密接收到的业务数据。
进一步的,所述分布式系统还运行有虚拟操作系统,服务请求设备发送至分布式系统的数据访问请求首先传输至所述虚拟操作系统,所述虚拟操作系统内设有数据筛选模块,所述数据筛选模块用于获取数据访问请求的应用层协议数据,进行深度包检测,并过滤数据访问请求的通信协议特征,再通过私有协议将经过处理后的数据访问请求进行封装。
进一步的,虚拟操作系统将封装后的数据访问请求存放至共享内存的特定分区,分布式系统的真实操作系统从共享内存的特定分区中取出数据访问请求进行处理。
与现有技术相比,本发明的有益效果是:
本发明提供的一种数据安全防护系统,一方面通过共享内存存放热点业务数据,分布式系统直接从共享内存中读取数据以响应数据请求设备的数据访问请求,提高系统响应速度;另一方面通过校验信息、事件监听等手段对共享内存内发生的业务数据读写进行有效监控,提升基于共享内存的数据交互过程安全性,在提升企业信息管理系统运行效率的同时实现可靠、安全的数据防护。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的优选实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的系统整体结构示意图。
图2是本发明实施例的数据访问流程示意图。
图中,1是服务请求设备,2是云服务器,3是数据库服务器。
具体实施方式
需要说明,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
以下结合附图对本发明的原理和特征进行描述,所列举实施例只用于解释本发明,并非用于限定本发明的范围。
参照图1,本发明提供一种数据安全防护系统,所述系统包括多台服务请求设备1、分布式系统和数据库服务器3,所述服务请求设备1用于向分布式系统发起数据访问请求,所述分布式系统用于处理数据访问请求并根据请求内容进行响应,所述数据库服务器3用于存储业务数据并向分布式系统提供数据访问接口。所述分布式系统还用于缓存热点业务数据,识别数据访问请求中是否包含对热点业务数据的读写请求。所述数据访问请求中还包含有校验信息,所述分布式系统还用于若未识别到数据访问请求中包含校验信息,或是数据访问请求中包含错误的校验信息,则结束与相应服务请求设备的通信进程。
具体的,所述分布式系统包括若干台云服务器2,每台云服务器2均设有处理单元以及共享内存。所述共享内存用于缓存信息管理系统的热点业务数据;所述处理单元用于处理数据访问请求,识别校验信息,根据数据访问请求从共享内存中读取热点业务数据并回传至服务请求设备。
参照图2,服务请求设备1需要获取或对某项业务进行读写操作时,向后台的分布式系统发送数据访问请求,分布式系统的各个云服务器2上分别运行信息管理系统的各项服务应用,各项服务应用之间独立运行,各个云服务器2均与数据库服务器3相连接以进行数据交互。分布式系统接收到数据访问请求后,根据请求访问的数据信息,将数据访问请求转发至运行相应服务应用的云服务器2进行处理。云服务器2接收到数据访问请求后,处理单元识别数据访问请求中的校验信息,校验信息识别正确时,处理单元首先从共享内存中查询请求访问的业务数据,若共享内存中存储有相应的业务数据,则处理单元直接从共享内存中读取业务数据并发送给相应的服务请求设备;若共享内存中未存储有相应的业务数据,则处理单元根据数据访问请求在数据库服务器3中查询相应的业务数据。处理单元直接从内存中获取业务数据相较于常规的通过数据库查询、读写数据的方式速度更快,可以充分发挥出处理单元的计算能力,同时降低对数据库服务器I/O端口的占用,提高系统响应速度。
在上述实施例的基础上,所述共享内存设有多个分区。所述处理单元在处理数据访问请求时,根据服务请求设备信息、被访问业务数据信息、不同类型业务数据被访问频次等数据计算业务数据权重,将权重最高的业务数据从数据库服务器缓存到共享内存的不同分区中。数据库服务器3存储的每项业务数据均设置一个相应的权重值,在云服务器2多次响应服务请求设备1的数据访问请求的过程中,各项业务数据的权重值也会相应的上升/下降,权重值最高的业务数据将作为热点业务数据被缓存到云服务器2的共享内存中,在其他服务请求设备向云服务器2请求访问相同的业务数据时处理单元可以从共享内存中直接读取数据并进行反馈。处理单元会根据预设时间间隔定期删除共享内存中权重值降低的业务数据并缓存高权重值的业务数据,从而保证热点业务数据的动态更新。
在本发明的可选实施例中,所述处理单元和与共享内存之间设有高速缓冲存储器,处理单元往共享内存读写业务数据时相应的业务数据同时被存储到高速缓冲存储器中,所述高速缓冲存储器部署有Hook模块,所述Hook模块用于监听共享内存的数据读写事件。处理单元在向共享内存写入或读出业务数据时,业务数据会经过所述高速缓冲存储器,同时被缓存到高速缓冲存储器中,一方面处理单元在再次读取相同业务数据时可以直接从速度更快的高速缓冲存储器中读取;另一方面高速缓冲存储器所部署的Hook模块会对共享内存发生的业务数据读写事件进行监听。
在上述实施例的基础上,处理单元还设有访问监控模块,Hook模块将监听到的共享内存数据读写事件发送至访问监控模块,访问监控模块根据预设的访问控制策略决定该数据读写事件是否可以继续进行。例如,预设的访问控制策略中详细设置了不同业务数据的操作权限,操作权限至少包括只读、只写、可读写,并且所述操作权限可以针对不同服务请求设备、登录系统的不同用户、操作时间段进行相应的设置。Hook模块监听到共享内存中发生数据读写事件时,将相应的事件信息发送到访问控制模块,访问控制模块根据事件信息查询访问控制策略,并判断相应的数据读写事件是否符合访问控制策略,中断不符合访问控制策略的数据读写事件,从而保障数据安全性。
服务请求设备1向分布式系统发送的数据访问请求中包含有校验信息,所述校验信息包括第一校验信息和第二校验信息。所述处理单元还用于识别数据访问请求中是否包含第一校验信息和第二校验信息,若校验信息缺失或第一校验信息/第二校验信息错误,则云服务器2中断与相应服务请求设备的通信进程。所述第一校验信息、第二校验信息设于所述数据访问请求报文的首部,处理单元接收到数据访问请求时首先对报文首部的校验信息进行识别,当且仅当处理单元同时识别到第一校验信息和第二校验信息,且第一校验信息和第二校验信息均正确无误时,处理单元才会进一步处理数据访问请求的后续内容,否则云服务器2结束与相应服务请求设备的通信进程。
在本发明的可选实施例中,所述第一校验信息可以包括服务请求设备的设备信息、所属单位信息、所述部门信息;所述第二校验信息可以是用户识别信息。
在本发明的可选实施例中,所述服务请求设备设有第一加密模块,所述第一加密模块用于通过加密算法加密数据访问请求,服务请求设备向分布式系统发送加密后的数据访问请求。所述分布式系统设有第一解密模块,所述第一解密模块用于通过相应的解密算法解密数据访问请求,分布式系统接收到加密后的数据访问请求时通过第一解密模块解密后,再由处理单元对数据访问请求进行处理。
所述分布式系统设有第二加密模块,所述第二加密模块用于加密待发送至服务请求设备的业务数据;所述服务请求设备设有第二解密模块,所述第二解密模块用于解密接收到的业务数据。通过在分布式系统及服务请求设备分别设置加密模块和解密模块,对交互数据进行加密传输,提高数据传输安全性。
在上述实施例的基础上,所述分布式系统的云服务器2还运行有虚拟操作系统,用于对传向分布式系统的数据访问请求进行过滤处理,所述虚拟操作系统与云服务器2的真实操作系统互相独立,互不影响。服务请求设备1发送至分布式系统的数据访问请求首先传输至所述虚拟操作系统,所述虚拟操作系统内设有数据筛选模块。所述数据筛选模块首先获取数据访问请求的应用层协议数据;随后对应用层协议数据进行深度包检测,防御应用层攻击;随后过滤数据访问请求的通信协议特征,防御可能通过底层通信协议发起的恶意攻击,再通过私有协议将经过处理后的数据访问请求进行封装。
虚拟操作系统将封装后的数据访问请求存放至共享内存的特定分区,分布式系统的真实操作系统从共享内存的特定分区中取出数据访问请求进行处理。所述共享内存的特定分区在每次虚拟操作系统完成数据封装后创建,云服务器2的真实操作系统和虚拟操作系统可通过所述共享内存的特定分区完成数据共享,并在每次真实操作系统取出经过处理的数据访问请求后销毁所述特定分区,使真实操作系统和虚拟操作系统回归到相互独立、数据隔离的状态。通过设置虚拟操作系统对数据访问请求进行过滤处理可以有效防范、筛选恶意模仿服务请求设备向分布式系统发送的附带恶意代码的数据访问请求。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。