[发明专利]对数据写入请求进行流量均衡的方法和系统在审
申请号: | 201910814235.7 | 申请日: | 2019-08-30 |
公开(公告)号: | CN110659319A | 公开(公告)日: | 2020-01-07 |
发明(设计)人: | 王磊 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/22;G06F16/27;H04L29/08 |
代理公司: | 11315 北京国昊天诚知识产权代理有限公司 | 代理人: | 许振新;朱文杰 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据写入请求 散列 业务标识符 数据库 解析 写入 流量均衡 请求参数 路由 | ||
本公开涉及一种用于对数据写入请求进行流量均衡的方法和系统。该方法包括:获取将数据写入到数据库的数据写入请求,其中所述数据写入请求至少包括能唯一地标识该请求的业务标识符和序列号;解析所述数据写入请求以得到请求参数,所述参数至少包括所述业务标识符和所述序列号;基于解析出的所述参数来计算所述数据写入请求的散列值,其中所述散列值能唯一地标识所述数据写入请求;以及基于所述散列值来将所述数据写入请求路由到相应的数据库,以将数据写入该数据库。
技术领域
本公开涉及对数据写入请求进行流量均衡的方法和系统。
背景技术
对于需要使用大型数据库的系统(例如,金融公司的账务处理系统、购物网站的订单处理系统,等等)而言,一般都会进行数据库的分库分表操作,也就是将要写入的数据(例如,交易记录、订单,等等)按照一定规则分散到不同的数据库,达到流量均衡的目的。然而,目前的流量均衡策略一般与业务强耦合,而且需要人工配置流量均衡的规则。从而,如果漏配置或者配置错误,都可能达不到流量负载均衡的效果,导致某一些数据库流量过大影响性能和/或导致故障。
发明内容
本公开提出了一种将原本需要手动配置的路由功能沉入业务逻辑的方案。该方案通过使用散列算法对请求参数进行散列并根据散列值得出要路由到的数据分库,解决了负载均衡问题。本公开的这一方案利用散列函数的随机性来达成负载和/或流量均衡,不需要配置路由表,避免了手工配置错误或者遗漏以及业务请求的发起者或者业务标识的分表位集中导致的流量不均衡现象,不仅解放了生产力而且达到了负载均衡的效果。
根据本公开的第一方面,提供了一种用于对数据写入请求进行流量均衡的方法,包括:获取将数据写入到数据库的数据写入请求,其中所述数据写入请求至少包括能唯一地标识该请求的业务标识符和序列号;解析所述数据写入请求以得到请求参数,所述参数至少包括所述业务标识符和所述序列号;基于解析出的所述参数来计算所述数据写入请求的散列值,其中所述散列值能唯一地标识所述数据写入请求;以及基于所述散列值来将所述数据写入请求路由到相应的数据库,以将数据写入该数据库。
在一实施例中,所述散列值是至少对所述数据写入请求中包括的所述业务标识符和所述序列号应用散列函数来获得的。
在另一实施例中,所述散列函数包括以下中的任一者:MD4、MD5、SHA-1。
在又一实施例中,数据库分库数目是N,其中N是大于等于1的整数,并且各数据库按0到N-1来编号,并且基于所述散列值来将所述数据写入请求路由到相应的数据库包括:通过使用函数运算将所述散列值映射到相应数据库编号;以及将所述数据写入请求路由到相应编号的数据库。
在又一实施例中,所述函数运算包括模运算,并且通过使用函数运算将所述散列值映射到相应数据库编号包括:根据数据库分库数目N对所述散列值进行模运算以得到余数;以及将所述数据写入请求路由到编号等于所述余数的数据库。
在又一实施例中,所述方法还包括在进行模运算之前,根据预定映射将所述散列值中的字母替换成数字,以得到纯数字形式的散列值。
在又一实施例中,所述模运算进一步包括:将所述散列值拆分成两段或更多段,并根据预定值对每一段进行模运算;将针对各段所得到的各个余数累加在一起以得到总和;以及根据数据库分库数目对所述总和进行模运算以得到余数。
在又一实施例中,所述预定值大于等于所述数据库分库数目N。
在又一实施例中,所述数据写入请求包括汇总记账请求。
在又一实施例中,所述方法还包括在解析所述数据写入请求之前确定该请求是否是汇总记账请求,并且如果是则执行该方法的后续解析请求和计算散列值操作,相反如果否则按照普通方式进行记账。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910814235.7/2.html,转载请声明来源钻瓜专利网。