订单数据库自动分表方法技术

技术编号:39788859 阅读:13 留言:0更新日期:2023-12-22 02:27
本申请提供一种订单数据库自动分表方法

【技术实现步骤摘要】
订单数据库自动分表方法、装置、设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种订单数据库自动分表方法

装置

设备及存储介质


技术介绍

[0002]随着信息技术的发展,企业在进行运营

生产时的数据越来越多,而如果将所有数据保存在一张数据表中,往往会超出数据表可以存储的阈值,也就是说,传统的关系型数据库对海量数据进行操作时,在大于一定数据量的情况下检索性能会急剧下降,无法满足快速查询与插入数据的需求;并且,在进行数据查询时,可能会导致各种各样的问题发生,如服务器资源被耗尽,因数据传输量过大而使处理超时等,最终都会导致查询无法完成,查询得到的结构会超出预期的多

[0003]现有技术中通过分库分表策略,将并发请求分发到不同的数据库以及数据表中,比如,当数据库中一张表的数据量过大时,把该表的数据按照某种规则,如按时间区间进行切分,存储到多个结构相同的表上,后续在对数据进行操作时,就不用再操作一张大表,而是把压力分摊到多个表上,以提高执行效率,从而解决了大数据量和高并发所导致的数据库检索性能差和数据库响应慢的问题

这种技术利用数据库本身的能力解决了分表分页查询的功能,
[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]指令获取模块,用于获取数据操作指令,所述数据操作指令包括新增订单数据和查询历史数据,所述订单数据包括订单标识和订单属性信息,所述历史数据包括历史数据
标识;
[0033]订单属性信息转换模块,用于对于所述新增订单数据,根据预设的属性配置表对所述订单属性信息进行转换,获得转换后的订单属性实例表,将所述订单属性实例表写入总属性表,所述属性配置表用于根据订单属性信息配置属性查询信息;
[0034]订单数据分表模块,用于在将所述订单属性实例表写入总属性表的同时,基于所述订单标识获取该订单数据的创建日期,根据预设分表规则将该订单数据的所述订单属性实例表写入所述创建日期对应的属性分表中,所述分表规则用于根据所述订单数据的创建日期所述的时间区间对所述订单数据进行划分;
[0035]历史数据分表模块,用于对于所述查询历史数据,基于所述历史数据标识获取所述历史数据的历史创建时间,根据预设分表规则将所述历史数据写入所述历史创建日期对应的属性分表中,将所述查询历史数据指令中的历史数据表名替换为该历史数据所在的属性分表表名
。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种订单数据库自动分表方法,其特征在于,包括:获取数据操作指令,所述数据操作指令包括新增订单数据和查询历史数据,所述订单数据包括订单标识和订单属性信息,所述历史数据包括历史数据标识;对于所述新增订单数据,根据预设的属性配置表对所述订单属性信息进行转换,获得转换后的订单属性实例表,将所述订单属性实例表写入总属性表,所述属性配置表用于根据订单属性信息配置属性查询信息;在将所述订单属性实例表写入总属性表的同时,基于所述订单标识获取该订单数据的创建日期,根据预设分表规则将该订单数据的所述订单属性实例表写入所述创建日期对应的属性分表中,所述分表规则用于根据所述订单数据的创建日期所属的时间区间对所述订单数据进行划分;对于所述查询历史数据,基于所述历史数据标识获取所述历史数据的历史创建时间,根据预设分表规则将所述历史数据写入所述历史创建日期对应的属性分表中,将所述查询历史数据指令中的历史数据表名替换为该历史数据所在的属性分表表名
。2.
根据权利要求1所述的方法,其特征在于,所述属性查询信息包括属性编码和属性名称,所述根据预设的属性配置表对所述订单属性信息进行转换,获得转换后的订单属性实例表,包括:根据所述订单属性信息获取所述属性配置表中与该订单属性信息对应的属性编码和属性名称;将所述属性编码和所述属性名称以预设的数据结构添加至所述订单数据中,生成所述订单属性实例表
。3.
根据权利要求1所述的方法,其特征在于,所述基于所述订单标识获取该订单数据的创建日期,包括:提取所述订单标识中的第一文本内容;按预设的第一分切规则对所述第一文本内容进行分切,获得所述订单标识对应的第一关键字段,所述第一分切规则用于将文本内容分为不同字段;基于所述第一关键字段生成所述订单数据的创建日期
。4.
根据权利要求1所述的方法,其特征在于,所述基于所述历史数据标识获取所述历史数据的历史创建时间,包括:提取所述历史数据标识中的第二文本内容;按预设的第二分切规则对所述第二文本内容进行分切,获得所述历史数据标识对应的第二关键字段,所述第二分切规则用于将文本内容分为不同字段;基于所述第二关键字段生成所述历史数据的创建日期
。5.
根据权利要求1所述的方法,其特征在于,所述根据预设分表规则将该订单数据的所述订单属性实例表写入所述创建日期对应的属性分表中,包括:根据所述分表...

【专利技术属性】
技术研发人员:李研何非曹侃徐华珺蒋昱狄安安
申请(专利权)人:联通数字科技有限公司联通物联网有限责任公司
类型:发明
国别省市:

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

1