[发明专利]一种短链接生成方法、装置和服务器在审
申请号: | 201911215940.1 | 申请日: | 2019-12-02 |
公开(公告)号: | CN111026985A | 公开(公告)日: | 2020-04-17 |
发明(设计)人: | 彭宜;矫百龙 | 申请(专利权)人: | 北京齐尔布莱特科技有限公司 |
主分类号: | G06F16/955 | 分类号: | G06F16/955 |
代理公司: | 北京思睿峰知识产权代理有限公司 11396 | 代理人: | 史小娟;张赞 |
地址: | 100080 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 链接 生成 方法 装置 服务器 | ||
1.一种短链接生成方法,适于在服务器中执行,所述服务器与数据库通信连接,该数据库中生成有多个数据表,每个数据表名用m位字符表示,每位字符均为一个62进制的字符码,所述方法包括步骤:
接收待转换的长链接数组,并基于该数组中的长链接数目生成每个长链接对应的全局唯一数字标识;
基于打乱顺序后的62进制字符码,对每个数字标识进行62进制转换后得到对应的短链接,该短链接由n位字符表示,且n=m+4,其中不足n位字符的在前边用默认字符补齐;以及
解析短链接的前m位字符,确定以该前m位字符为表名的数据表,并以该短链接码为键、以对应的长链接为值,将该键值对存入该数据表中。
2.如权利要求1所述的方法,其中,所述62进制字符码包括26个小写字母、26个大写字母和10个数字,其经过洗牌算法打乱顺序后得到62位数组,该数组的62个字符分别对应数字0-61。
3.如权利要求1所述的方法,其中,所述数据库中存储有全局信息表,所述全局唯一数字标识通过全局发号器生成,所述全局发号器中创建有定时器线程,用于定时将所生成的自增标识号存入到所述全局信息表中。
4.如权利要求1-3中任一项所述的方法,其中,所述数据表中的每个数据条目包括短链接、对应的长链接、以及短链接的过期时间和创建时间中的一种或多种。
5.如权利要求4所述的方法,还包括步骤:
创建本地一级缓存和redis二级缓存,并将用户近期请求访问过的短链接对应的数据条目存入所述本地一级缓存和redis二级缓存中。
6.如权利要求5所述的方法,所述将用户近期请求访问过的短链接所在的数据条目存入本地一级缓存和redis二级缓存中的步骤包括:
接收用户的短链接访问请求,该访问请求中包括请求的短链接;
以短链接为键,在本地一级缓存中查询该短链接对应的长链接;
若查询到,则重定向该长链接;反之,则在redis二级缓存中查询该短链接对应的长链接。
7.如权利要求6所述的方法,还包括步骤:
若在redis二级缓存中查询到该短链接对应的长链接,则重定向该长链接,并将该短连接所在的数据条目存入本地一级缓存中;
若在redis二级缓存中未查询到该短链接对应的长链接,则解析该短链接的前m位,确定对应的数据表名,并从对应的数据表中查询该短链接对应的长链接进行重定向,并将该短链接所在的数据条目存入本地一级缓存和redis二级缓存中。
8.一种短链接生成装置,适于驻留在服务器中,所述服务器与数据库通信连接,该数据库中生成有多个数据表,每个数据表名用m位字符表示,每位字符均为一个62进制的字符码,所述装置包括:
长链接接收模块,适于接收待转换的长链接数组,基于该数组中的长链接数目生成每个长链接对应的全局唯一数字标识;
短链接生成模块,适于基于打乱顺序后的62进制字符码,对每个数字标识进行62进制转换后得到对应的短链接,该短链接由n位字符表示,且n=m+4,其中不足n位字符的在前边用默认字符补齐;以及
短链接存储模块,适于解析短链接的前m位字符,确定以该前m位字符为表名的数据表,并以该短链接码为键、以对应的长链接为值,将该键值对存入该数据表中。
9.一种服务器,包括:
至少一个处理器;以及
包括计算机程序指令的至少一个存储器;
所述至少一个存储器和所述计算机程序指令被配置为与所述至少一个处理器一起使得所述服务器执行如权利要求1-11中任一项所述的方法。
10.一种存储一个或多个程序的可读存储介质,所述一个或多个程序包括指令,所述指令当由服务器执行时,使得所述服务器执行根据权利要求1-7中所述的方法中的任一方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京齐尔布莱特科技有限公司,未经北京齐尔布莱特科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911215940.1/1.html,转载请声明来源钻瓜专利网。