数据库处理方法、装置、设备、存储介质和程序产品制造方法及图纸

技术编号:39176285 阅读:8 留言:0更新日期:2023-10-27 08:24
本申请涉及一种数据库处理方法、装置、设备、存储介质和程序产品。该方法包括:接收客户端应用程序发起的针对目标事务的当前数据更新请求;当前数据更新请求中携带有当前待更新数据;若当前待更新数据不符合目标数据库的数据更新规则,则缓存当前待更新数据;在接收到的在后数据更新请求中的在后待更新数据符合数据更新规则的情况下,将在后待更新数据与缓存的当前待更新数据进行合并,并将合并后的待更新数据写入目标数据库;在后数据更新请求是客户端应用程序针对目标事务发起的数据更新请求。采用本方法能够解决因直接对目标数据库中的目标事务进行多次更新操作带来的表膨胀问题,进而节省了目标数据库的存储资源。进而节省了目标数据库的存储资源。进而节省了目标数据库的存储资源。

【技术实现步骤摘要】
数据库处理方法、装置、设备、存储介质和程序产品


[0001]本申请涉及计算机
,特别是涉及一种数据库处理方法、装置、设备、存储介质和程序产品。

技术介绍

[0002]PostgreSQL(以下简称为PG数据库)是一种特性齐全的对象

关系型数据库管理系统,它使用和扩展了SQL(Structured Query Language,结构化查询语言),并结合了许多安全存储和扩展复杂数据工作负载的功能,具有高可靠性、数据完整性、强大的功能集和良好的扩展性等特点,是存储很多应用程序服务的应用数据的数据仓库。
[0003]由于PG数据库使用MVCC(Multi

Version Concurrency Control,多版本并发控制)机制,因此对目标事务对应的数据行执行更新操作时,相当于在PG数据库中插入该数据行的新版本数据,同时删除PG数据库中该数据行的旧版本数据。但由于删除旧版本数据的实质是对旧版本数据添加删除标识,旧版本数据并不会及时从PG数据库中删除,因此导致PG数据库中同时保存有目标事务对应的数据行的旧版本数据和新版本数据。当频繁地对PG数据库中的同一数据行执行更新操作时,PG数据库中会出现一些不需要的版本数据,导致PG数据库出现表膨胀的问题,进而导致PG数据库的存储资源的利用率低。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种能够提高存储资源的利用率的数据库处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0005]第一方面,本申请提供了一种数据库处理方法,方法包括:
[0006]接收客户端应用程序发起的针对目标事务的当前数据更新请求;当前数据更新请求中携带有当前待更新数据;
[0007]若当前待更新数据不符合目标数据库的数据更新规则,则缓存当前待更新数据;
[0008]在接收到的在后数据更新请求中的在后待更新数据符合数据更新规则的情况下,将在后待更新数据与缓存的当前待更新数据进行合并,并将合并后的待更新数据写入目标数据库;在后数据更新请求是客户端应用程序针对目标事务发起的数据更新请求。
[0009]在一些实施例中,当前待更新数据包括字段名和字段值;方法还包括:
[0010]若当前待更新数据中的字段名对应的字段值不存在缺省,则确定当前待更新数据符合目标数据库的数据更新规则;
[0011]若当前待更新数据中的字段名对应的字段值存在缺省,则确定当前待更新数据不符合目标数据库的数据更新规则。
[0012]在一些实施例中,方法还包括:
[0013]接收规则配置中心发送的规则消息事件;规则配置中心用于配置目标数据库的数据更新规则;
[0014]对规则消息事件进行解析处理,得到目标数据库的数据更新规则。
[0015]在一些实施例中,方法还包括:
[0016]接收客户端应用程序发起的针对目标事务的数据查询请求;
[0017]响应于数据查询请求,从本地缓存空间中查询数据查询请求所指示的目标数据;
[0018]在本地缓存空间中不存在目标数据的情况下,从目标数据库中查询目标数据。
[0019]在一些实施例中,方法还包括:
[0020]在从目标数据库中查询目标数据的过程中,将查询到的目标数据与本地缓存空间中缓存的目标事务对应的数据进行合并,并将合并后的数据发送给客户端应用程序。
[0021]在一些实施例中,方法还包括:
[0022]计算目标数据库的当前空间大小;
[0023]基于当前空间大小确定目标数据库的数据更新频率。
[0024]第二方面,本申请还提供了一种数据库处理装置,该装置包括:
[0025]接收模块,用于接收客户端应用程序发起的针对目标事务的当前数据更新请求;当前数据更新请求中携带有当前待更新数据;
[0026]缓存模块,用于若当前待更新数据不符合目标数据库的数据更新规则,则缓存当前待更新数据;
[0027]合并写入模块,用于在接收到的在后数据更新请求中的在后待更新数据符合数据更新规则的情况下,将在后待更新数据与缓存的当前待更新数据进行合并,并将合并后的待更新数据写入目标数据库;在后数据更新请求是客户端应用程序针对目标事务发起的数据更新请求。
[0028]第三方面,本申请还提供了一种计算机设备。该计算机设备包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述的方法的步骤。
[0029]第四方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
[0030]第五方面,本申请还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
[0031]上述数据库处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,通过接收客户端应用程序发起的针对目标事务的当前数据更新请求,若当前数据更新请求中携带的当前待更新数据不符合目标数据库的数据更新规则,则缓存当前待更新数据;在接收到的在后数据更新请求中的在后待更新数据符合数据更新规则的情况下,将在后待更新数据与缓存的当前待更新数据进行合并,并将合并后的待更新数据写入目标数据库,即通过在客户端应用程序和目标数据库之间设置专门的数据库代理服务器,通过数据库代理服务器对针对目标事务发起的多次更新请求中的待更新数据进行更新判断,并将符合目标数据库的数据更新规则的待更新数据进行合并,并将合并后的待更新数据一次性写入目标数据库,解决因直接对目标数据库中的目标事务进行多次更新操作带来的表膨胀问题,进而节省了目标数据库的存储资源,提高了目标数据库的存储资源的利用率。
附图说明
[0032]图1为一个实施例中数据库处理方法的应用环境图;
[0033]图2为一个实施例中数据库处理方法的流程示意图;
[0034]图3为另一个实施例中数据库处理方法的流程示意图;
[0035]图4为一个实施例中数据处理系统的结构示意图;
[0036]图5为一个实施例中数据库处理装置的结构框图;
[0037]图6为一个实施例中的接收模块的结构框图;
[0038]图7为一个实施例中计算机设备的内部结构图。
具体实施方式
[0039]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0040]本申请实施例提供的数据库处理方法,可以应用于如图1所示的应用环境中。可以理解,传统方法中,客户端应用程序101直接向目标数据库103发送数据更新请求,以向目标数据库103中写入待更新数据。然而,当频繁地对目标数据库103中的目标事务对应的同一数据行执行更新操作时,目标数据库103中会出现一些不需要的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库处理方法,其特征在于,所述方法包括:接收客户端应用程序发起的针对目标事务的当前数据更新请求;所述当前数据更新请求中携带有当前待更新数据;若所述当前待更新数据不符合目标数据库的数据更新规则,则缓存所述当前待更新数据;在接收到的在后数据更新请求中携带的在后待更新数据符合所述数据更新规则的情况下,将所述在后待更新数据与缓存的当前待更新数据进行合并,并将合并后的待更新数据写入所述目标数据库;所述在后数据更新请求是所述客户端应用程序针对所述目标事务发起的数据更新请求。2.根据权利要求1所述的方法,其特征在于,所述当前待更新数据包括字段名和字段值;所述方法还包括:若所述当前待更新数据中的字段名对应的字段值不存在缺省,则确定所述当前待更新数据符合目标数据库的数据更新规则;若所述当前待更新数据中的字段名对应的字段值存在缺省,则确定所述当前待更新数据不符合目标数据库的数据更新规则。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收规则配置中心发送的规则消息事件;所述规则配置中心用于配置所述目标数据库的数据更新规则;对所述规则消息事件进行解析处理,得到所述目标数据库的数据更新规则。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述客户端应用程序发起的针对所述目标事务的数据查询请求;响应于所述数据查询请求,从本地缓存空间中查询数据查询请求所指示的目标数据;在所述本地缓存空间中不存在所述目标数据的情况下,从所述目标数据库中查询所述目标数据。5.根据权利要求4所述的方法...

【专利技术属性】
技术研发人员:卢伟鹏余锦福钱爽向勇章威
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1