一种支持业务数据存储扩容的编号发送方法及相关产品与流程
- 国知局
- 2024-12-06 13:12:41
本申请涉及信息处理,尤其涉及一种支持业务数据存储扩容的编号发送方法及相关产品。
背景技术:
1、随着科技的不断发展,数据的数量也在不断的增长,大量的数据一般存储在多个数据库当中。数据库在存放数据的时候,为了区分这些数据,要给每个数据起一个名字,这个名字一般被叫做数据的id或者叫做数据的序列号。而给数据起名字一般是由发号组件完成的,发号组件一般位于服务器上。当用户需要发号业务时,用户向发号组件请求发号服务,发号组件为用户提供用户所需的序列号。如果使用多个数据库存储数据,还要解决数据的归属问题,相关技术把发号和路由数据相结合,根据数据对应的序列号选择存储该数据的数据库。
2、当数据库中没有位置存放数据或预测到即将没有位置存放数据时,就需要对数据库进行存储扩容,对数据库进行存储扩容一般使用两种方法。第一种是垂直扩展,既然数据库没有空间存储数据,那么就为这个数据库增加更多的存储空间,通过增加的存储空间存放数据。第二种是水平扩展,既然现有的数据库没有空间存储数据,那么就增加新的数据库,使用多个数据库共同存储数据。
3、由于现代的数据增长速度很快,所以在对数据库进行扩展时一般选用数据库的水平扩展方式,也就是增加新的数据库。但是如果增加新的数据库,就会产生大量的数据迁移,例如原来有五个数据库,现在增加一个数据库变为六个数据库,原本被存储于第一个数据库中的数据可能会被迁移到其他的数据库中,而大量的数据迁移不仅会降低数据库扩展的速度,还会对数据库造成额外的迁移数据产生的软、硬件负担。如果不进行数据迁移则可能会出现数据读写异常的情况。
4、为此,如何在对数据库水平扩展时减少数据的迁移成为了本领域技术人员亟需解决的技术问题。
技术实现思路
1、本申请实施例提供了一种支持业务数据存储扩容的编号发送方法及相关产品,旨在解决现有技术在对数据库水平扩展时产生大量数据迁移的问题。
2、本申请第一方面提供了一种支持业务数据存储扩容的编号发送方法,所述方法包括:
3、在接收到目标业务的发号请求后,读取发号配置信息并获取目标业务的发号规则;所述发号配置信息包括所述目标业务的业务配置信息;所述发号规则包括多个不同类别的编号组成部分的位置关系;所述多个不同类别的编号组成部分至少包括第一类编号组成部分和第二类编号组成部分;
4、根据所述业务配置信息中的业务路由信息,生成对应于所述第一类编号组成部分的第一序列号;其中,所述第一类编号组成部分的可用号段支持随所述目标业务的数据库和数据表中至少一个的配置变化调整;
5、响应于所述目标业务的发号请求,从所述内存号池中为所述目标业务分配序列号,并将分配的序列号作为对应于所述第二类编号组成部分的第二序列号;
6、根据所述第一类编号组成部分和所述第二类编号组成部分的位置关系,对所述第一序列号和所述第二序列号进行组合,得到针对于所述目标业务的发号请求的待发送编号;
7、向所述目标业务的发号请求的发送方提供所述待发送编号。
8、本申请第二方面提供了一种支持业务数据存储扩容的编号发送装置,所述发号装置包括:
9、读取模块,用于在接收到目标业务的发号请求后,读取发号配置信息并获取目标业务的发号规则;所述发号配置信息包括所述目标业务的业务配置信息;所述发号规则包括多个不同类别的编号组成部分的位置关系;所述多个不同类别的编号组成部分至少包括第一类编号组成部分和第二类编号组成部分;
10、第一序列号生成模块,用于根据所述业务配置信息中的业务路由信息,生成对应于所述第一类编号组成部分的第一序列号;其中,所述第一类编号组成部分的可用号段支持随所述目标业务的数据库和数据表中至少一个的配置变化调整;
11、分配模块,用于响应于所述目标业务的发号请求,从所述内存号池中为所述目标业务分配序列号,并将分配的序列号作为对应于所述第二类编号组成部分的第二序列号;
12、组合模块,用于根据所述第一类编号组成部分和所述第二类编号组成部分的位置关系,对所述第一序列号和所述第二序列号进行组合,得到针对于所述目标业务的发号请求的待发送编号;
13、发送模块,用于向所述目标业务的发号请求的发送方提供所述待发送编号。
14、本申请第三方面提供了一种支持业务数据存储扩容的编号发送设备,所述设备包括处理器以及存储器:
15、所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
16、所述处理器用于根据所述计算机程序中的指令执行第一方面提供的支持业务数据存储扩容的编号发送方法的步骤。
17、本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被支持业务数据存储扩容的编号发送设备执行时实现第一方面提供的支持业务数据存储扩容的编号发送方法的步骤。
18、本申请第五方面提供了一种计算机程序产品,包括计算机程序,该计算机程序被支持业务数据存储扩容的编号发送设备执行时实现第一方面提供的支持业务数据存储扩容的编号发送方法的步骤。
19、从以上技术方案可以看出,本申请实施例具有以下优点:
20、本申请技术方案中发出的编号是由第一序列号和第二序列号组合得到的。而第一类编号组成部分对应的第一序列号是根据业务路由信息生成的,发出编号中的第一序列号部分可以直接表示编号对应数据的存储位置。第一类编号组成部分对应的第一序列号可以随目标业务的数据库和数据表中至少一个的配置变化进行相应调整。例如对数据库进行水平扩展出现了对数据库或数据表的调整,第一类编号组成部分可以随着数据库或数据表的调整进行调整。就算出现了对数据库的水平扩展,出现了新的数据库或新的表,使用本申请提供的支持业务数据存储扩容的编号发送方法发出的编号依然会明确的表示一个编号对应的数据是属于第几个数据库的第几个表中。通过本申请提供的支持业务数据存储扩容的编号发送方法可以避免相关技术中因为数据库的水平扩展而必须进行的大量的数据迁移。而无需进行大量的数据迁移也就意味着水平扩展速度加快,减小了数据库的负担。
技术特征:1.一种支持业务数据存储扩容的编号发送方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述第一类编号组成部分包括:库编号部分和与所述库编号部分关联的表编号部分;所述第一类序列号包含所述库编号部分对应的库标识和所述表编号部分对应的表标识,所述库标识用于标识所述目标业务的业务数据有待存入的数据库,所述表标识用于编号标识所述目标业务的业务数据有待存入的数据表;
3.根据权利要求1所述的方法,其特征在于,所述多个不同类别的编号组成部分还包括第三类编号组成部分,所述第三类编号组成部分对应于所述目标业务和所述目标业务的子业务中至少一个;
4.根据权利要求1-3任一项所述的方法,其特征在于,所述发号配置信息还包括:远端号池的号池配置信息,所述远端号池设置于磁盘数据库;所述从所述内存号池中为所述目标业务分配序列号,包括:
5.根据权利要求1-3任一项所述的方法,其特征在于,所述发号配置信息还包括:远端号池的号池配置信息,所述远端号池设置于磁盘数据库;所述从所述内存号池中为所述目标业务分配序列号,包括:
6.根据权利要求5所述的方法,其特征在于,所述内存号池包括正使用号池和备用号池;所述内存号池的当前可用号段包括:所述正使用号池当前的可用号段和所述备用号池当前的可用号段;在所述获取内存号池的当前可用号段之后,所述方法还包括:
7.根据权利要求5所述的方法,其特征在于,所述根据所述号池配置信息通过所述远端号池为所述内存号池进行号段补充,包括:
8.根据权利要求1-3,6-7中任一项所述的方法,其特征在于,在所述读取发号配置信息之后,还包括:
9.一种支持业务数据存储扩容的编号发送装置,其特征在于,包括:
10.一种支持业务数据存储扩容的编号发送设备,其特征在于,所述设备包括处理器以及存储器:
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被支持业务数据存储扩容的编号发送设备执行时实现权利要求1至8任一项所述的支持业务数据存储扩容的编号发送方法的步骤。
12.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被发号设备执行时实现权利要求1至8任一项所述的支持业务数据存储扩容的编号发送方法的步骤。
技术总结本申请公开一种支持业务数据存储扩容的编号发送方法及相关产品,在接收到目标业务的发号请求后,读取发号规则,根据业务配置信息生成对应于所述第一类编号组成部分的第一序列号,第一类编号组成部分的可用号段可随所述目标业务的数据库和数据表中至少一个的配置变化调整;从内存号池中为目标业务分配对应于第二类编号组成部分的第二序列号;对第一序列号和第二序列号进行组合,得到针对于所述目标业务的发号请求的待发送编号;向目标业务的发号请求的发送方提供待发送编号。第一类编号组成部分的可用号段可随所述目标业务的数据库、数据表的调整进行相应调整,即使目标业务的数据库和数据表发生变化也目标业务也无需进行大量的数据迁移。技术研发人员:陈臣受保护的技术使用者:腾讯科技(北京)有限公司技术研发日:技术公布日:2024/12/2本文地址:https://www.jishuxx.com/zhuanli/20241204/343444.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。