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

一种数据表处理方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 19:20:08


一种数据表处理方法、装置、计算机设备及存储介质

技术领域

本发明涉及计算机数据处理技术领域,具体而言涉及一种数据表处理方法、装置、计算机设备及存储介质。

背景技术

随着互联网技术的不断发展,各种项目基本都需要利用数据库来存储相关业务数据表。由于项目的不断发展,用户量的不断增多,某些热点功能的访问量也会随之增加,导致对应的业务表数据量也是与日俱增。

但是,当业务表单表的数据量达到一个瓶颈时,相关的数据库操作随之就会变慢。通常此时需要进行分库分表操作,但是分库分表操作需要对应用程序进行相应的变更,无法做到自动处理,无法实时响应。

发明内容

本发明解决的问题是:业务表在数据库中因数据量增加,而引起请求耗时缓慢的问题。

为解决上述问题,本发明提供一种数据表处理方法,应用于数据表处理系统,所述数据表处理系统包括:应用程序、数据库和设置于所述应用程序和所述数据库之间的映射层,且所述映射层用于分别与所述应用程序和所述数据库互相访问,所述数据表处理方法包括:

当所述应用程序接收到访问请求时,在所述映射层中查询与所述访问请求对应的映射模型,

根据查询结果访问所述数据库,进行数据操作,得到数据信息,其中,所述映射模型用于存储所述应用程序的数据表和所述数据库的实体表之间的映射关系;

在所述映射层中获取预设拆分标准和所述数据库返回的所述数据信息,根据所述预设拆分标准和所述数据库返回的所述数据信息进行分表操作。

优选地,所述根据查询结果访问所述数据库,进行数据操作,得到数据信息,包括:

若未查询到与所述访问请求对应的所述映射模型,获取初始操作语句,根据所述初始操作语句访问所述数据库,进行所述数据操作,得到所述数据信息;

若查询到与所述访问请求对应的所述映射模型,获取所述数据表和所述实体表之间的映射关系,根据所述映射关系获得当前操作语句,根据所述当前操作语句访问所述数据库,进行所述数据操作,得到所述数据信息。

优选地,所述根据所述预设拆分标准和所述数据库返回的所述数据信息进行分表操作,包括:

当所述数据库返回的所述数据信息满足所述预设拆分标准时,

在所述映射层中获取拆分条件,根据所述拆分条件进行所述分表操作,得到当前映射模型,所述当前映射模型用于存储所述分表操作后所述应用程序的数据表和所述数据库的实体表之间的映射关系;

获取所述当前映射模型中所述数据表和所述实体表之间的当前映射关系,根据所述当前映射关系获得分表操作语句,根据所述分表操作语句访问所述数据库,进行所述数据操作,得到所述数据信息。

优选地,所述数据库返回的所述数据信息包括返回数据量和返回耗时,所述数据库返回的所述数据信息满足所述预设拆分标准,包括:

当所述返回耗时与所述返回数据量的比值大于所述预设拆分标准时,确定所述数据库返回的所述数据信息满足所述预设拆分标准。

优选地,所述拆分条件包括拆分语句和拆分时间点,根据所述拆分条件进行所述分表操作,得到当前映射模型,包括:

根据所述拆分语句和所述拆分时间点进行分表操作,得到所述当前映射模型。

优选地,所述数据库返回的所述数据信息还包括业务信息,所述数据表处理方法还包括:将所述业务信息从所述数据库经过所述映射层返回至所述应用程序。

优选地,所述数据表处理方法还包括:

获取所述映射层中的预设合表标准;

根据所述预设合表标准在所述应用程序中发起合表操作请求;

根据所述合表操作请求,取出所述当前映射模型中所述分表操作后所述应用程序的数据表和所述数据库的实体表之间的映射关系;

在所述映射层中获取合表操作语句和所述分表操作后的拆分表,根据所述拆分表和所述合表操作语句进行合表操作。

与现有技术相比,本发明在数据库和应用程序之间建立可以互相访问的映射层,在接收到数据访问时,先映射层中查询是否有与数据访问请求对应的映射模型,根据查询结果,访问数据库。加快数据访问速度。映射层接收数据库返回的数据信息时,根据所述预设拆分标准和所述数据库返回的数据信息进行分表操作,实现了数据表的自动拆分,避免了数据表在数据库中因数据量增加,而引起请求耗时缓慢的问题,同时,本发明无需修改数据库的应用程序,操作更加简便。

为解决上述问题,本发明还提供一种数据表处理装置,应用于数据表处理系统,所述数据表处理系统包括:应用程序、数据库和设置于所述应用程序和所述数据库之间的映射层,且所述映射层用于分别与所述应用程序和所述数据库互相访问,所述数据表处理装置包括:

查询模块,所述查询模块用于当所述应用程序接收到访问请求时,

在所述映射层中查询与所述访问请求对应的映射模型,根据查询结果,访问所述数据库,进行数据操作,得到数据信息,其中,所述映射模型用于存储所述应用程序的数据表和所述数据库的实体表之间的映射关系;

获取模块,所述获取模块用于在所述映射层中获取预设拆分标准和所述数据库返回的数据信息,

分表模块,所述分表模块用于根据所述预设拆分标准和所述数据库返回的数据信息进行分表操作。

本发明所述的数据表处理装置与所述数据表处理方法相对于现有技术的优势相同,在此不再赘述。

为解决上述问题,本发明还提供一种计算机设备,包括存储器和处理器:

所述存储器,用于存储计算机程序;

所述处理器,用于当执行所述计算机程序时,实现如上所述的数据表处理方法。

本发明所述的数据表处理系统与所述数据表处理方法相对于现有技术的优势相同,在此不再赘述。

为解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如上所述的数据表处理方法。

本发明所述的计算机可读存储介质与所述数据表处理方法相对于现有技术的优势相同,在此不再赘述。

附图说明

图1为本发明实施例中数据表处理系统的结构图;

图2为本发明实施例中数据表处理方法的流程图;

图3为本发明实施例中数据表处理装置的结构图;

图4为本发明实施例中计算机设备的内部结构图。

具体实施方式

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,各实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。

本文中,诸如第一和第二等之类的关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不要求或者暗示这些实体或操作之间存在任何实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的结构、产品等而言,由于其与实施例公开的部分相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

参见图1和图2所示,本发明实施例提供一种数据表处理方法,应用于数据表处理系统,数据表处理系统包括:应用程序110、数据库120和设置于应用程序110和数据库120之间的映射层130,且映射层130用于分别与应用程序110和数据库120互相访问,数据表处理方法包括:

步骤S1:当应用程序接收到访问请求时,

在映射层中查询与访问请求对应的映射模型,根据查询结果,访问数据库,进行数据操作,得到数据信息,其中,映射模型用于存储应用程序的数据表和数据库的实体表之间的映射关系;

步骤S2:在映射层中获取预设拆分标准和数据库返回的数据信息,根据预设拆分标准和数据库返回的数据信息进行分表操作。

一些具体的实施例,映射层中还包括可以由用户自定义的管理表,管理表用于记录拆分的实体表的表名、预设拆分标准、拆分条件、分表操作语句、合表操作语句、预设合表标准、返回数据量和返回时间。

本实施例在数据库和应用程序之间建立可以互相访问的映射层,在接收到数据访问时,先映射层中查询是否有与数据访问请求对应的映射模型,根据查询结果,访问数据库。加快数据访问速度。映射层接收数据库返回的数据信息,将数据库返回的实体表发送给应用程序,同时映射层根据所述预设拆分标准和所述数据库返回的数据信息进行分表操作,实现了数据表的自动拆分,避免了数据表在数据库中因数据量增加,而引起请求耗时缓慢的问题,同时,无需修改数据库的应用程序,操作更加简便。

一些优选的实施例,根据查询结果,访问数据库,进行数据操作,得到数据信息,包括:若未查询到与访问请求对应的映射模型,获取初始操作语句,根据初始操作语句访问数据库,进行数据操作,得到数据信息;

若查询到与访问请求对应的映射模型,获取映射模型中数据表和实体表之间的映射关系,根据映射关系获得当前操作语句,根据当前操作语句访问数据库,进行数据操作,得到数据信息。

一些具体的实施例,在步骤S1中,应用程序接收到数据表访问请求,在映射层中查找与访问请求对应的数据模型,若未查询到与访问请求对应的映射模型,从管理表中获取初始操作语句,根据初始操作语句,访问数据库,在数据库中进行数据操作,得到数据信息。若查询到与访问请求对应的映射模型,则解析该映射模型,从映射模型中获取数据表和实体表之间的映射关系,根据映射关系重写操作语句,得到当前操作语句,根据当前操作语句访问数据库,在数据库中进行数据操作,得到数据信息。

本实施例通过在接收到数据访问时,先映射层中查询是否有与数据访问请求对应的映射模型,根据查询结果,访问数据库,以加快数据访问速度。

一些优选的实施例,根据预设拆分标准和数据库返回的数据信息进行分表操作,包括:当数据库返回的数据信息满足预设拆分标准时,在映射层中获取拆分条件,根据拆分条件进行分表操作,得到当前映射模型,当前映射模型用于存储分表操作后应用程序的数据表和数据库的实体表之间的映射关系;

获取当前映射模型中数据表和实体表之间的当前映射关系,根据当前映射关系获得分表操作语句,根据分表操作语句访问数据库,进行数据操作,得到数据信息。

一些具体的实施例,在步骤S2中,映射层获取数据库返回的数据信息,判断数据库返回信息是否满足预设拆分标准,若满足,则进行分表操作,所述分表操作包括:在管理表中获取拆分条件,根据拆分条件向数据库发送实体表拆分请求,进行分表。同时,获取拆分后的实体表和数据表之间的映射关系,根据映射关系建立当前映射模型。当应用程序再次发起数据访问请求时,在映层中查询到当前映射模型,解析当前映射模型,获取当前映射模型中数据表和实体表之间的映射关系,根据映射关系重写操作语句,得到当前操作语句,根据当前操作语句访问数据库,在数据库中进行数据操作,得到数据信息。

本实施例中映射层接收数据库返回的数据信息,映射层根据所述预设拆分标准和所述数据库返回的数据信息进行分表操作,实现了数据表的自动拆分,避免了数据表在数据库中因数据量增加,而引起请求耗时缓慢的问题。

一些优选的实施例,数据库返回的数据信息包括返回数据量和返回耗时,数据库返回的数据信息满足预设拆分标准,包括:当数据库返回耗时与返回数据量的比值大于预设拆分标准时,确定数据库返回的数据信息满足预设拆分标准。

一些具体的实施例,在步骤S2中,映射层接收到数据库返回的的数据信息,首先,获取管理表中的预设拆分标准,所述预设拆分标准由用户自定义,然后,计算数据库返回耗时与返回数据量的比值,将所述比值与拆分标准比较,若比值大于预设拆分标准,则确定数据库返回的数据信息满足预设拆分标准,即数据表过多,需要进行分表操作。反之,则不需要进行拆表操作。

本实施例通过将数据库返回耗时与返回数据量的比值和拆分标准进行比较,并根据比较结果判断是否需要进行分表操作,实现数据表自动拆分,避免了因数据表在数据库中因数据量增加,而引起请求耗时缓慢的问题。

一些优选的实施例,拆分条件包括拆分语句和拆分时间点,根据拆分条件进行分表操作,得到当前映射模型,包括:

根据拆分语句和拆分时间点进行分表操作,得到当前映射模型。

一些具体的实施例,在步骤S2中,当返回的数据信息满足拆分标准时,首先,获取管理表中的拆分条件,包括拆分语句和拆分时间点,其中拆分时间点可以由用户预设,如果用户设置了拆分时间点则采用设置的时间点,若用户未设置,则获取当前时间作为拆分时间点。根据拆分语句和拆分时间点向数据库发送分表请求,进行分表操作,同时获取拆分后的实体表和数据表之间的映射关系,根据映射关系建立当前映射模型。

本实施例根据拆分条件进行分表操作,并根据拆分后的实体表和数据表之间的映射关系建立当前映射模型,能够实现自动化分表,且保证了数据访问的效率和准确性。

一些优选的实施例,数据库返回的数据信息还包括业务信息,数据表处理方法还包括:将业务信息从数据库经过映射层返回至应用程序。由此,使得用户得到数据信息,提高数据访问的效率。

在一些具体的实施例,数据表处理方法包括:

当应用程序员接收到数据访问请求时,在映射层中查询与访问请求对应的映射模型,

若未查询到与访问请求对应的映射模型,则从管理表中获取操作语句,根据初始操作语句,访问数据库,进行数据操作,得到数据信息;

若查询到与访问请求对应的映射模型,则解析该映射模型,从映射模型中获取数据表和实体表之间的映射关系,根据映射关系重写操作语句,获得当前操作语句,根据当前操作语句访问数据库,进行数据操作,得到数据信息。

此时,在映射层中获取数据库返回的数据信息,其中所述数据信息包括业务信息、返回数据量和返回耗时,将业务信息返回给应用程序,获取管理表中的预设拆分标准,计算数据库返回耗时与返回数据量的比值,将所述比值与预设拆分标准进行比较,若比值大于拆分标准,则进行分表操作,获取管理表中的拆分语句和拆分时间点,根据拆分语句和拆分时间点进行分表操作,获取分表操作后的实体表和数据表之间的映射关系,根据映射关系建立当前映射模型。若比值小于拆分标准,则不进行分表操作。

一些优选的实施例,数据表处理方法还包括:

获取映射层中的预设合表标准,根据预设合表标准在应用程序中发起合表操作请求,

根据合表操作请求,取出当前映射模型中分表操作后应用程序的数据表和数据库的实体表之间的映射关系,

在映射层中获取合表操作语句和分表操作后的拆分表,根据拆分表和合表操作语句进行合表操作。

一些具体的实施例中,当映射层接收到数据表合表请求时,将映射模型中进行分表操作后应用程序的数据表和数据库的实体表之间的映射关系取出,获取管理表中的合表操作语句,并根据合表操作语句,进行合表操作。

本实施例通过合表操作防止数据表无限扩张导致的资源浪费。

如图3所示,本实施例还提供一种数据表处理装置,应用于数据表处理系统,数据表处理系统包括:应用程序、数据库和设置于应用程序和数据库之间的映射层,且映射层用于分别与应用程序和数据库互相访问,数据表处理装置包括:查询模块,查询模块用于当应用程序接收到访问请求时,

在映射层中查询与访问请求对应的映射模型,根据查询结果,访问数据库,进行数据操作,得到数据信息,其中,映射模型用于存储应用程序的数据表和数据库的实体表之间的映射关系;

获取模块,获取模块用于在映射层中获取预设拆分标准和数据库返回的数据信息,

分表模块,分表模块用于根据预设拆分标准和数据库返回的数据信息进行分表操作。

在一些优选的实施例中,获取模块还用于获取映射层中的预设合表标准。

本实施例所述的数据表处理装置与所述数据表处理方法相对于现有技术的优势相同,在此不再赘述。

如图4所示,本实施例还提供一种计算机设备,包括存储器和处理器:

存储器,用于存储计算机程序;

处理器,用于当执行计算机程序时,实现如上所述的数据表处理方法。

图4示出了一个实施例中计算机设备的内部结构图。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数据表处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据表处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器读取并运行时,实现上述数据表处理方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

虽然本发明披露如上,但本发明的保护范围并非仅限于此。本领域技术人员在不脱离本发明的精神和范围的前提下,可进行各种变更与修改,这些变更与修改均将落入本发明的保护范围。

相关技术
  • 测试数据表的处理方法、装置、计算机设备和存储介质
  • 数据表处理方法、装置、计算机设备和存储介质
  • 数据表处理方法、装置、设备及存储介质
  • 一种地形纹理处理方法、装置、计算机设备及可读存储介质
  • 一种图像处理方法、装置、计算机设备和存储介质
  • 一种数据表处理方法、装置、计算机设备以及存储介质
  • 数据表处理方法、装置、计算机设备和存储介质
技术分类

06120115870121