掌桥专利:专业的专利平台
掌桥专利
首页

一种PostGreSQL数据库的高并发场景下的数据加密方法

文献发布时间:2024-04-18 20:00:50


一种PostGreSQL数据库的高并发场景下的数据加密方法

技术领域

本申请涉及电力系统的信息安全领域,具体涉及一种PostGreSQL数据库的高并发场景下的数据加密方法。

背景技术

电力系统是国家运行的基础,是现代生活无法缺失的一部分;一旦电力系统由任何问题,都会对整个社会的生产生活造成巨大的影响。一旦电力系统发生任何故障,人类社会将会彻底进入黑暗状态,所以保持电力通常是政府最应该首先解决的问题。近年来,随着我国智能电网高速建设,对整个电力系统的自动化要求也越来越高。随着电力系统网络规模的不断发展,电力系统网络的安全使用越来越受到重视。

在电力系统网络中,数据库作为非常重要的存储工具,会存储着大量有价值或敏感信息。现有数据库会对关键敏感数据进行加密;但目前主流数据加密产品相对简单,产品相对缺乏,大部分项目采用的是价格昂贵的国外产品,且安全性上有待验证,特别是针对高并发的数据库读写场景下的加密产品性能在信息化系统中已经成为了瓶颈,单一节点的加密解密产品无法适应数据库频繁的读取需求。

发明内容

本申请提供了一种PostGreSQL数据库的高并发场景下的数据加密方法。

为了达到上述目的,本申请实施例提出了一种PostGreSQL数据库的高并发场景下的数据加密方法,应用于数据加密系统,该数据加密系统包括至少一个授权访问终端、至少两个元数据服务器、至少两个加密设备;其中每一授权访问终端分别连接每一元数据服务器,其中每一元数据服务器连接对应的加密系统;

元数据服务器存储有设备绑定列表,加密服务工况列表和任务处理列表;其中设备绑定列表用于存储授权访问终端与加解密服务器的对应关系,其中加密服务工况列表用于存储加解密服务器的实时工况,其中任务处理表用于存储记录加解密动作、数据表、涉密字段、授权访问终端ID、加解密设备ID、任务状态、错误代码;其中任务状态位采用tinyint类整型类型存储,0表示未完成,1表示任务处理中,10表示任务完成,11表示任务失败,用于记录任务失败的具体原因,采用tinyint类整形存储;其中,授权访问终端ID、加解密设备ID都采用int整形赋值且唯一;

所述方法包括:

步骤1、通过授权访问终端向用于存储设备绑定列表的元数据服务器发送加解密数据请求;

步骤2、元数据服务器根据授权访问终端的ID查询设备绑定列表中与该授权访问终端对应的数据I/O组件设备ID;

步骤3、确定加解密设备的实时工况,并重定向链路给空闲的加密设备,并将该加解密设备的实时工况置为繁忙。

其中,多个元数据服务器分布式部署的时候同样采用了动态令牌机制和广播同步方式,确保所有的元数据的服务器的元数据保持一致;其中动态令牌机制和广播同步方式为:当出现元数据维护的场景后,当前元数据服务器即触发令牌获得流程,在所有服务器均响应无令牌争用后即获得令牌,并同时对其他服务器的令牌获得请求均反馈已占用请等待的指令,获得令牌后向其他分布式部署的元数据服务器广播涉及改动的元数据,其他服务器接收到广播后均认定发出广播的服务器为主服务器,接受服务器的数据更新;当其他服务器均返回元数据覆写或更新完成后,当前服务器放弃令牌并对令牌争用指令返回无争用的指令,进入正常工作状态。

其中,元数据服务器中存储有加解密设备的初始维护信息,该维护信息包括设备的响应接口地址、域名或IP地址、设备编号、实时工况状态和是否可用;

其中加解密设备可用状态的信息机制为:当加解密服务器启动后会根据设定调用元数据服务器的接口函数进行注册,元数据服务器函数被调用后根据数据包解析加解密服务ID等信息,验证是否为设备绑定列表中设备,如果是列表中设备则更新设备实时工况状态位空闲可用,并将新启动设备加入定时轮询检查列表。如果不是则收集IP端口号等信息进入新设备注册流程,等待管理员进行后台数据维护。

其中,当加解密设备出现网络中断或者离线时,元数据服务器将会通过轮询列表在定时检查、和实时重定向失败两种方式触发检查加解密设备服务的服务以确认节点服务有效性,确认该加解密节点失效后更新节点实时工况。

其中,所述方法还包括:

步骤4,加解密设备接收到重定向链接和任务请求后,与数据库服务器通过连接池建立长连接;读取需要加密或解密的数据,并调用数据加解密组件进行对应加密或解密的操作处理。

本申请的上述技术方案的有益效果如下:本申请实施例中,加解密数据需求由元数据管理组件服务器接受后根据系统来源和处理组件的绑定分组信息和加解密组件、数据I/O组件的实施工况组成任务处理记录,并触发数据I/O组件读取或缓存需要加密或解密的数据,并根据数据库自然记录进行切分提交给设备绑定的加解密组件进行加解密处理,加解密完成后返回数据I/O组件,数据I/O组件待所有分布任务返回后进行组合后返回数据调用端,并调用元数据管理组件更新任务完成标志和自身工况标志。

本申请实施例的技术方案可以看出,本申请实施例通过提供多套数据I/O链路和加解密组件提高了传统数据加密系统的并发能力,并通过元数据组件实现了多个数据源对多套数据加解密服务器的1:1或1:N的灵活绑定需求。

附图说明

图1为本申请实施例的高并发场景下的数据加解密方法流程图;

图2是本申请实施例的高并发场景下的数据加解密设备典型部署结构图。

具体实施方式

为使本申请要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

现有数据库会对关键敏感数据进行加密;但目前主流数据加密产品相对简单,产品相对缺乏,大部分项目采用的是价格昂贵的国外产品,且安全性上有待验证,特别是针对高并发的数据库读写场景下的加密产品性能在信息化系统中已经成为了瓶颈,单一节点的加密解密产品无法适应数据库频繁的读取需求。

有鉴于此,本申请的技术方案提供一种基于PostGreSQL数据库高并发场景下的数据加密方法,其主要是采用分布式可扩展的至少2个或多个加密系统和数据I/O系统通过分组绑定的方式,实现高并发的数据加密解密,从而提高数据加密系统的数据加解密吞吐量。本申请技术方案提出的基于PostGreSQL数据库高并发场景下的数据加密的设备,包括:

单台服务器部署数据I/O组件、n套数据加密组件,n≥2;其中,单台服务器部署元数据控制组件,数据I/O组件的功能是进行加密或未加密的数据进行读写和缓存,通过分布式部署的特点增加数据吞吐链路从而提高数据吞吐率。数据加密组件的功能是通过多组加密系统读取元数据控制组件的分组信息中的数据I/O组件和对应的通用或专用密钥信息进行加、解密工作,在某一台加密系统存储的密钥发生变化时,采用动态令牌机制和广播方式进行密钥的同步。元数据控制组件的功能是存储加密数据的数据请求、链路分配以及密钥的实时关系,加密设备、数据源和数据链路的专用绑定分组关系,以及根据数据链路和加密系统空闲与忙碌实时状态对加密数据请求进行分配。

一种基于PostGreSQL数据库高并发场景下的数据加密的任务处理方法,包括以下步骤:

步骤1,如图1所示的,通过授权访问终端向用于存储设备绑定列表的元数据服务器发送加解密数据请求。

步骤2,元数据服务器根据授权访问终端的ID查询设备绑定列表中的数据I/O组件设备ID,根据加解密设备实时工况,并重定向链路给数据I/O组件服务器,并记录加解密动作、数据表、涉密字段、查询终端ID、数据I/O组件设备ID和任务完成标识,标识状态位采用tinyint类整型类型存储其中,0表示未完成,1表示任务处理中,10表示任务完成,11表示任务失败;并记录任务失败的具体原因位,采用tinyint类整形存储。

其中,授权访问终端、数据I/O组件、数据加解密组件设备ID在系统内都采用int整形赋值且唯一;设备绑定列表存储查询需求设备的系统内唯一ID和数据I/O组件和数据加解密组件服务器ID的绑定关系,绑定关系允许1:1、1:N或者M:N,数据I/O组件和数据加解密组件由部署在一台服务器上形成天然绑定关系,且出于网络不稳定考虑以及数据跨服务器的传输成本,不进行跨服务器的数据I/O组件和数据加密组件的映射关系绑定。

步骤3,元数据服务器涉及设备绑定列表,加密服务工况列表和任务处理列表如下述表1、表2、表3所示。

表1设备绑定表

表2加密设备工况表

表3任务处理表

结合上述表1-表3,在元数据服务器接收到数据发送设备发送的数据加密请求后,根据授权访问终端的ID获取加解密服务器ID,如上表1所示当ID为1的设备发出数据加解密请求时,从列表1获取对应加解密设备ID=1的设备具有绑定关系;且从表2所示,当前加解密设备ID为1的设备处于空闲状态,故元数据将数据请求重定向到服务器ID=1的加解密设备的数据I/O组件监听接口上,并将ID为1的加解密设备实施工况状态置为0。

元数据服务器存储和管理上述如表1所示的设备绑定列表、如表2所示的加密设备工况表和如表3所示的任务处理表。元数据服务器仅作为请求转发和记录任务处理列表,而并不实际进行数据处理,在实践中未出现负载瓶颈问题,所以本申请实施例中并未说明多个元数据服务器分布式部署的场景。在本申请实施例中,元数据服务器支持分布式部署,采用如图2所示的元数据服务器集群的形式,用以解决元数据数据意外损坏导致设备绑定列表丢失导致的系统服务中断问题,在多个元数据服务器分布式部署的时候同样采用了动态令牌机制和广播同步方式确保所有的元数据的服务器的元数据保持一致。动态令牌机制和广播同步方式是指,在出现元数据维护的场景后,当前元数据服务器即触发令牌获得流程,在所有服务器均响应无令牌争用后即获得令牌,并同时对其他服务器的令牌获得请求均反馈已占用请等待的指令,获得令牌后向其他分布式部署的元数据服务器广播涉及改动的元数据,其他服务器接收到广播后均认定发出广播的服务器为主服务器,接受服务器的数据更新。当其他服务器均返回元数据覆写或更新完成后,当前服务器放弃令牌并对令牌争用指令返回无争用的指令,进入正常工作状态。这个方法确保了所有服务器的元数据更新是串行的确保元数据的一致性,避免了因为并发修改导致元数据分裂的问题。

元数据服务器对加解密设备还需要再初始维护信息,该维护信息包括设备的响应接口地址、域名或IP地址、设备编号、实时工况状态和是否可用等信息。其中加解密设备可用状态的信息机制为:当加解密服务器启动后会根据设定调用元数据服务器的接口函数进行注册,元数据服务器函数被调用后根据数据包解析加解密服务ID等信息,验证是否为设备绑定列表中设备,如果是列表中设备则更新设备实时工况状态位空闲可用,并将新启动设备加入定时轮询检查列表。如果不是则收集IP端口号等信息进入新设备注册流程,等待管理员进行后台数据维护。当加解密设备出现网络中断或者离线时,元数据服务器将会通过轮询列表在定时检查、和实时重定向失败两种方式触发检查加解密设备服务的服务以确认节点服务有效性,确认该加解密节点失效后更新节点实时工况。

如图2所示的,本申请实施例中提供的设备包括:元数据服务器、授权访问终端、加密设备;通过设备绑定列表实现了多对多的星型结构关系,避免了单点故障,提高了并发能力,同时可以根据需求设定一对一绑定,实现授权管控等需求。其中,加密设备既可以进行加密操作,也可以进行解密操作,因此也可以称为加解密设备。

步骤4,加解密设备的数据I/O组件接收到重定向链接和任务请求后,与数据库服务器通过连接池建立长连接,读取需要加密或解密的数据,并调用数据加解密组件进行对应加密或解密的操作处理。

本申请实施例中的数据I/O组件对数据库采用连接池保持长连接的方式降低每次请求都要重新对数据库建立新连接的服务器资源的浪费,同时设定资源池保持长连接的数量避免当一台数据库服务器绑定多台加解密设备的时候过多的长连接过度占用服务器内存,仅当加解密服务器本地资源池数量超过允许长连接数量或超过长连接设定生命周期后自动关闭数据库连接。

步骤5,在本申请实施例中,当数据I/O组件和数据加解密组件在1:N的部署模式下,在读取数据库数据记录数大于等于2条自然记录后即触发,以自然记录数据准平均分布的原则轮流调用所绑定本机可用加解密组件进行加解密操作,同一次调用视为数据库的一次事务,当前调用所有数据完成加解密操作后,数据I/O组件将根据加解密操作不同回写数据库或返回数据。

加解密设备中的数据加解密组件在启动完成后会在当前加解密设备服务器的固定路径配置文件中添加本组件当前实例名、进程号和监听端口的等信息,数据I/O组件在启动时会读取该配置文件并在内存中建立绑定关系的记录,并会在固定周期进行扫描,跟据本地文件验证进程是否存在,端口响应是否正常,本地文件进程数是否多于内存表中绑定关系数量,当验证不通过时,立刻将进程不存在、监听端口无响应的应用从本地文件中删除,强制更新内存绑定关系表,数据加解密组件在正常关闭时会更新本地配置文件且调用数据I/O接口强制更新内存中的关系表。

本申请实施例中,加解密数据需求由元数据管理组件服务器接受后根据系统来源和处理组件的绑定分组信息和加解密组件、数据I/O组件的实施工况组成任务处理记录,并触发数据I/O组件读取或缓存需要加密或解密的数据,并根据数据库自然记录进行切分提交给设备绑定的加解密组件进行加解密处理,加解密完成后返回数据I/O组件,数据I/O组件待所有分布任务返回后进行组合后返回数据调用端,并调用元数据管理组件更新任务完成标志和自身工况标志。

本申请实施例的技术方案可以看出,本申请实施例通过提供多套数据I/O链路和加解密组件提高了传统数据加密系统的并发能力,并通过元数据组件实现了多个数据源对多套数据加解密服务器的1:1或1:N的灵活绑定需求。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序。在计算机上加载和执行所述计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储介质。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。

本领域普通技术人员可以理解:本申请中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围,也表示先后顺序。

本申请中的至少一个还可以描述为一个或多个,多个可以是两个、三个、四个或者更多个,本申请不做限制。在本申请实施例中,对于一种技术特征,通过“第一”、“第二”、“第三”、“A”、“B”、“C”和“D”等区分该种技术特征中的技术特征,该“第一”、“第二”、“第三”、“A”、“B”、“C”和“D”描述的技术特征间无先后顺序或者大小顺序。

本申请中各表所示的对应关系可以被配置,也可以是预定义的。各表中的信息的取值仅仅是举例,可以配置为其他值,本申请并不限定。在配置信息与各参数的对应关系时,并不一定要求必须配置各表中示意出的所有对应关系。例如,本申请中的表格中,某些行示出的对应关系也可以不配置。又例如,可以基于上述表格做适当的变形调整,例如,拆分,合并等等。上述各表中标题示出参数的名称也可以采用通信装置可理解的其他名称,其参数的取值或表示方式也可以通信装置可理解的其他取值或表示方式。上述各表在实现时,也可以采用其他的数据结构,例如可以采用数组、队列、容器、栈、线性表、指针、链表、树、图、结构体、类、堆、散列表或哈希表等。

本申请中的预定义可以理解为定义、预先定义、存储、预存储、预协商、预配置、固化、或预烧制。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种锂电池用终止胶带及其制备方法
  • 一种胶带生产用大型胶带拉伸检测装置
  • 一种胶带上胶除尘机及其胶带生产工艺
  • 一种全自动特种胶带涂布机
  • 一种全自动电池缠绕胶带设备
  • 一种超薄终止胶带生产用全自动复卷机
  • 一种锂电池终止胶带生产用全自动复卷机
技术分类

06120116539567