CN109313660A - 一种生成短网址的方法和终端 - Google Patents
一种生成短网址的方法和终端 Download PDFInfo
- Publication number
- CN109313660A CN109313660A CN201880001079.6A CN201880001079A CN109313660A CN 109313660 A CN109313660 A CN 109313660A CN 201880001079 A CN201880001079 A CN 201880001079A CN 109313660 A CN109313660 A CN 109313660A
- Authority
- CN
- China
- Prior art keywords
- value
- network address
- key
- short network
- redis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 54
- 238000006243 chemical reaction Methods 0.000 claims abstract description 22
- 238000003860 storage Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 14
- 229910017435 S2 In Inorganic materials 0.000 claims 3
- 230000005856 abnormality Effects 0.000 abstract description 4
- 238000009825 accumulation Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000682 scanning probe acoustic microscopy Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种生成短网址的方法和终端,通过使用java编程语言初始化redis的ID值,每接收将长网址生成对应的短网址的请求,将redis的ID值自增预设值,并通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址,将所述短网址作为key值,将所述短网址对应的长网址作为value值,将所述key值和value值作为一键值对存入所述redis;能够实现将软件部署在多个操作系统,大大降低计操作系统对软件的约束,使软件可以在各种环境下运行;并且支持高并发请求,避免遇到高并发场景时使系统陷入到异常状态。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种生成短网址的方法和终端。
背景技
短网址指的是一种互联网上的技术与服务。此服务可以提供一个非常短小的网址以代替原来的可能较长的网址,将长的网址长度缩短。用户访问缩短后的网址时,通常将会重定向到原来的网址。大多数的网址缩短服务都提供有API,网址缩短服务在Twitter的等一些每条消息有字数限制的微博客及其他社交网络中有广泛的使用。短网址的运用场景有:论坛签名有字数限制;隐藏个人的URL广告推荐码;网站被列入SPAM名单;文件下载等场景。短网址的好处,主要有下面几个方面:
1、节省网址长度,便于社交化传播。
2、方便后台跟踪点击量、地域分布等用户统计。
3、规避关键词、域名屏蔽手段。
4、隐藏真实地址,适合做付费推广链接。
现有技术中,通常使用其他对系统兼容性较为单一的编程语言进行短网址的生成,软件部署时对单一系统的依赖性较高;通常使用传统的关系型数据库存储生成的短网址,当遇到高并发场景时,容易使系统陷入到异常状态。
发明内容
本发明所要解决的技术问题是:提供一种生成短网址的方法和终端,可部署在多个操作系统,且支持高并发处理。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种生成短网址的方法,包括步骤:
S1、使用java编程语言初始化redis的ID值;
S2、每接收一次将长网址生成对应的短网址的请求,执行:
S21、将redis的ID值自增预设值,并通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址;
S22、将所述短网址作为key值,将所述短网址对应的长网址作为value值,将所述key值和value值作为一键值对存入所述redis。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种生成短网址的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、使用java编程语言初始化redis的ID值;
S2、接收将长网址生成对应的短网址的请求,将redis的ID值自增预设值,并通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址;
S3、将所述短网址作为key值,将所述短网址对应的长网址作为value值,将所述key值和value值作为一键值对存入所述redis,并返回步骤S2。
本发明的有益效果在于:通过使用java编程语言初始化redis的ID值,每接收将长网址生成对应的短网址的请求,将redis的ID值自增预设值,并通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址,将所述短网址作为key值,将所述短网址对应的长网址作为value值,将所述key值和value值作为一键值对存入所述redis;能够实现将软件部署在多个操作系统,大大降低计操作系统对软件的约束,使软件可以在各种环境下运行;并且支持高并发请求,避免遇到高并发场景时使系统陷入到异常状态。
附图说明
图1为本发明实施例的生成短网址的方法的流程图;
图2为本发明实施例的生成短网址的终端的结构示意图;
标号说明:
1、生成短网址的终端;2、存储器;3、处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:使用java语言将长网址转换生成对应的短网址,并将生成的短网址存入redis。
请参照图1,一种生成短网址的方法,包括步骤:
S1、使用java编程语言初始化redis的ID值;
S2、每接收一次将长网址生成对应的短网址的请求,执行:
S21、将redis的ID值自增预设值,并通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址;
S22、将所述短网址作为key值,将所述短网址对应的长网址作为value值,将所述key值和value值作为一键值对存入所述redis。
从上述描述可知,本发明的有益效果在于:通过使用java编程语言初始化redis的ID值,每接收将长网址生成对应的短网址的请求,将redis的ID值自增预设值,并通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址,将所述短网址作为key值,将所述短网址对应的长网址作为value值,将所述key值和value值作为一键值对存入所述redis;能够实现将软件部署在多个操作系统,大大降低计操作系统对软件的约束,使软件可以在各种环境下运行;并且支持高并发请求,避免遇到高并发场景时使系统陷入到异常状态。
进一步的,所述S1中,使用java编程语言初始化redis的ID值的进制是10进制。
由上述描述可知,所述初始化redis的ID值的进制是10进制,用于后续与预设进制算法进行转换生成预设进制算法的字符串。
进一步的,所述S2中,所述预设的进制算法为62进制算法;
所述通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址包括:
通过62进制算法对所述自增后的ID值转化成对应的62进制数值,根据预设的62进制的ascii码表将所述62进制数值转化成字符串,将所述字符串作为与所述长网址对应的短网址。
由上述描述可知,所述预设的进制算法为62进制算法,通过62进制算法将自增的redis的ID值转换生成对应的短网址,用于和所述长网址配对存储。
进一步的,所述62进制的ascii码包括26个小写字母、26个大写字母和10个数字,对所述62个字符通过洗牌算法形成一个长度为62的字符数组,将所述字符数组作为预设的62进制的ascii码表,所述数组中1到62个字符分别对应62进制中的0-61。
由上述描述可知,通过洗牌算法将62进制的ascii码生成的62长度的字符数组作为62进制的ascii码表,所述62进制的ascii码表实现了和10进制的对应关系。
进一步的,所述步骤S2之后还包括:
S3、接收并处理短网址请求,返回与所述短网址对应的长网址。
由上述描述可知,当接收到短网址请求时,可进行处理并返回与短网址对应的长网址,实现用户访问短网址时跳转到对应的长网址。
进一步的,定义一个servlet,利用所述servlet接收并处理所述短网址请求。
由上述描述可知,利用所述servlet便于用户访问短网址时进行处理跳转到对应的长网址。
进一步的,所述步骤S3包括:
解析接收的短网址请求,获取所述短网址中的key值,根据所述key值,判断所述redis中是否有与所述key值对应的value值,若是,则将所述value值作为与所述短网址对应的长网址返回,否则,返回异常信息。
由上述描述可知,通过所述解析接收的短网址请求进行判断,并根据判断进行对应的返回,实现对各种短网址的请求进行不同的判断回馈。
进一步的,所述步骤S2中对存入redis中的每一键值对设置一有效期。
由上述描述可知,通过设置有效期可有效的进行数据的清理,并保持key值的重复利用,避免大批写入数据库后造成数据堆积使查询效率下降。
进一步的,所述步骤S2中对存入redis中的每一键值对设置级别,为不同级别的键值对设置不同的有效期。
由上述描述可知,所述对存入redis的所有键值对设置级别并对不同级别的键值对设置不同的有效期,实现对所生成的长网址对应的短网址的生命周期进行选择处理,灵活性高,提高了短网址生成后存储时间的可控制性和利用率。
进一步的,每隔预设时间遍历所述redis中存储的键值对,根据所述键值对的有效期,判断所述键值对是否失效,若是,则将所述键值对从所述redis中删除。
由上述描述可知,通过预设时间遍历存储的键值对并根据其有效期判断是否失效,并将失效的的键值对删除,能够将失效的键值对及时删除,可以保证数据库中存储的数据的有效性,避免数据的堆积。
请参照图2,一种生成短网址的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
S1、使用java编程语言初始化redis的ID值;
S2、每接收一次将长网址生成对应的短网址的请求,执行:
S21、将redis的ID值自增预设值,并通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址;
S22、将所述短网址作为key值,将所述短网址对应的长网址作为value值,将所述key值和value值作为一键值对存入所述redis。
从上述描述可知,本发明的有益效果在于:通过使用java编程语言初始化redis的ID值,每接收将长网址生成对应的短网址的请求,将redis的ID值自增预设值,并通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址,将所述短网址作为key值,将所述短网址对应的长网址作为value值,将所述key值和value值作为一键值对存入所述redis;能够实现将软件部署在多个操作系统,大大降低计操作系统对软件的约束,使软件可以在各种环境下运行;并且支持高并发请求,避免遇到高并发场景时使系统陷入到异常状态。
进一步的,所述S1中,使用java编程语言初始化redis的ID值的进制是10进制。
由上述描述可知,所述初始化redis的ID值的进制是10进制,用于后续与预设进制算法进行转换生成预设进制算法的字符串。
进一步的,所述S2中,所述预设的进制算法为62进制算法;
所述通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址包括:
通过62进制算法对所述自增后的ID值转化成对应的62进制数值,根据预设的62进制的ascii码表将所述62进制数值转化成字符串,将所述字符串作为与所述长网址对应的短网址。
由上述描述可知,所述预设的进制算法为62进制算法,通过62进制算法将自增的redis的ID值转换生成对应的短网址,用于和所述长网址配对存储。
进一步的,所述62进制的ascii码包括26个小写字母、26个大写字母和10个数字,对所述62个字符通过洗牌算法形成一个长度为62的字符数组,将所述字符数组作为预设的62进制的ascii码表,所述数组中1到62个字符分别对应62进制中的0-61。
由上述描述可知,通过洗牌算法将62进制的ascii码生成的62长度的字符数组作为62进制的ascii码表,所述62进制的ascii码表实现了和10进制的对应关系。
进一步的,所述步骤S2之后还包括:
S3、接收并处理短网址请求,返回与所述短网址对应的长网址。
由上述描述可知,当接收到短网址请求时,可进行处理并返回与短网址对应的长网址,实现用户访问短网址时跳转到对应的长网址。
进一步的,定义一个servlet,利用所述servlet接收并处理所述短网址请求。
由上述描述可知,利用所述servlet便于用户访问短网址时进行处理跳转到对应的长网址。
进一步的,所述步骤S3包括:
解析接收的短网址请求,获取所述短网址中的key值,根据所述key值,判断所述redis中是否有与所述key值对应的value值,若是,则将所述value值作为与所述短网址对应的长网址返回,否则,返回异常信息。
由上述描述可知,通过所述解析接收的短网址请求进行判断,并根据判断进行对应的返回,实现对各种短网址的请求进行不同的判断回馈。
进一步的,所述步骤S2中对存入redis中的每一键值对设置一有效期。
由上述描述可知,通过设置有效期可有效的进行数据的清理,并保持key值的重复利用,避免大批写入数据库后造成数据堆积使查询效率下降。
进一步的,所述步骤S2中对存入redis中的每一键值对设置级别,为不同级别的键值对设置不同的有效期。
由上述描述可知,所述对存入redis的所有键值对设置级别并对不同级别的键值对设置不同的有效期,实现对所生成的长网址对应的短网址的生命周期进行选择处理,灵活性高,提高了短网址生成后存储时间的可控制性和利用率。
进一步的,每隔预设时间遍历所述redis中存储的键值对,根据所述键值对的有效期,判断所述键值对是否失效,若是,则将所述键值对从所述redis中删除。
由上述描述可知,通过预设时间遍历存储的键值对并根据其有效期判断是否失效,并将失效的的键值对删除,能够将失效的键值对及时删除,可以保证数据库中存储的数据的有效性,避免数据的堆积。
实施例一
请参照图1,一种生成短网址的方法,包括步骤:
S1、使用java编程语言初始化redis的ID值,所述ID值的进制为10进制;
S2、每接收一次将长网址生成对应的短网址的请求,执行:
S21、将redis的ID值自增预设值;
具体的,所述预设值可设置为1,并通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址,所述预设的进制算法为62进制算法;
具体的,通过62进制算法对所述自增后的ID值转化成对应的62进制数值,所述62进制的ascii码包括26个小写字母、26个大写字母和10个数字,对所述62个字符通过洗牌算法形成一个长度为62的字符数组,将所述字符数组作为预设的62进制的ascii码表,所述数组中1到62个字符分别对应62进制中的0-61,根据所述的62进制的ascii码表将所述62进制数值转化成字符串,将所述字符串作为与所述长网址对应的短网址;
S22、将所述短网址作为key值,将所述短网址对应的长网址作为value值,将所述key值和value值作为一键值对存入所述redis。
实施例二
请参照图1,一种生成短网址的方法,包括步骤:
S1、使用java编程语言初始化redis的ID值;
S2、每接收一次将长网址生成对应的短网址的请求,执行:
S21、将redis的ID值自增预设值,并通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址;
S22、将所述短网址作为key值,将所述短网址对应的长网址作为value值,将所述key值和value值作为一键值对存入所述redis;
其中,对存入redis中的每一键值对设置一有效期,优选的,对存入redis中的每一键值对设置级别,为不同级别的键值对对应的key值设置不同的有效期;
每隔预设时间遍历所述redis中存储的键值对,根据所述键值对的有效期,判断所述键值对是否失效,若是,则将所述键值对从所述redis中删除。
实施例三
请参照图1,一种生成短网址的方法,包括步骤:
S1、使用java编程语言初始化redis的ID值;
S2、每接收一次将长网址生成对应的短网址的请求,执行:
S21、将redis的ID值自增预设值,并通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址;
S22、将所述短网址作为key值,将所述短网址对应的长网址作为value值,将所述key值和value值作为一键值对存入所述redis;
S3、定义一个servlet,接收并处理短网址请求,例如短网址的地址为:https:// xx.cn/hrYnr0,由域名和短地址的key组成,从servlet中,可以获取到key,上面的key就是hrYnr0;解析接收的短网址请求,获取所述短网址中的key值,根据所述key值,判断所述redis中是否有与所述key值对应的value值,若是,则将所述value值作为与所述短网址对应的长网址重定向返回给客户端,否则,返回异常信息。
实施例四
请参照图1,一种生成短网址的方法,包括步骤:
S1、使用java编程语言初始化redis的ID值,所述ID值的进制为10进制;
S2、每接收一次将长网址生成对应的短网址的请求,执行:
S21、将redis的ID值自增预设值;
具体的,所述预设值可设置为1,并通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址,所述预设的进制算法为62进制算法;
具体的,通过62进制算法对所述自增后的ID值转化成对应的62进制数值,所述62进制的ascii码包括26个小写字母、26个大写字母和10个数字,将所述62个字符数组的最后一个字符(下标为i对应的字符)作为逆序循环的开始,对下标为i对应的字符进行随机取余得到结果值下标j(被除数为下标i对应的字符,除数为下标i+1),将下标j对应的字符替代所述数组下标i对应的字符,继续循环下一个字符(即下标i-1对应的字符),直到循环至第一个字符替换结束为止,最终形成一个长度为62的乱序字符数组,将所述字符数组作为预设的62进制的ascii码表,所述数组中1到62个字符分别对应62进制中的0-61,根据所述的62进制的ascii码表将所述62进制数值转化成字符串,将所述字符串作为与所述长网址对应的短网址;
通过上述的乱序算法,网络入侵者无法猜测字符数组的生成规则而进行入侵,提高了安全性;
S22、将所述短网址作为key值,将所述短网址对应的长网址作为value值,将所述key值和value值作为一键值对存入所述redis;
其中,对存入redis中的每一键值对设置一有效期,优选的,对存入redis中的每一键值对设置级别,为不同级别的键值对对应的key值设置不同的有效期;
进一步的,级别的设置标准可由具体的业务来规定,例如:可根据访问的频率增加其对应的键值的有效期,初始设置键值的默认有效期统一为30天,当每访问一次就进行加权处理,即访问频率越高的短网址,其保留的期限越久;
每隔预设时间遍历所述redis中存储的键值对,根据所述键值对的有效期,判断所述键值对是否失效,若是,则将所述键值对从所述redis中删除;
进一步的,所述键值的有效期由redis的过期策略保障,无需程序特殊进行删除处理;
S3、定义一个servlet,接收并处理短网址请求,例如短网址的地址为:https:// xx.cn/hrYnr0,由域名和短地址的key组成,从servlet中,可以获取到key,上面的key就是hrYnr0;解析接收的短网址请求,获取所述短网址中的key值,根据所述key值,判断所述redis中是否有与所述key值对应的value值,若是,则将所述value值作为与所述短网址对应的长网址重定向返回给客户端,否则,返回异常信息。
实施例五
请参照图2,一种生成短网址的终端1,包括存储器2、处理器3以及存储在所述存储器2上并可在所述处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现实施例一中的各个步骤。
实施例六
请参照图2,一种生成短网址的终端1,包括存储器2、处理器3以及存储在所述存储器2上并可在所述处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现实施例二中的各个步骤。
实施例七
请参照图2,一种生成短网址的终端1,包括存储器2、处理器3以及存储在所述存储器2上并可在所述处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现实施例三中的各个步骤。
实施例八
请参照图2,一种生成短网址的终端1,包括存储器2、处理器3以及存储在所述存储器2上并可在所述处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现实施例四中的各个步骤。
综上所述,本发明提供的一种生成短网址的方法和终端,通过使用java编程语言初始化redis的ID值,每接收将长网址生成对应的短网址的请求,将redis的ID值自增预设值,并通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址,将所述短网址作为key值,将所述短网址对应的长网址作为value值,将所述key值和value值作为一键值对存入所述redis;能够实现将软件部署在多个操作系统,大大降低计操作系统对软件的约束,使软件可以在各种环境下运行;并且支持高并发请求,避免遇到高并发场景时使系统陷入到异常状态;redis采用的是内存机制,查询效率比关系型数据库更快,效率更高;对存入redis的所有键值对设置级别并对不同级别的键值对设置不同的有效期,可有效的进行数据的清理,并保持key值的重复利用,避免大批写入数据库后造成数据堆积使查询效率下降,实现对所生成的长网址对应的短网址的生命周期进行选择处理,灵活性高,提高了短网址生成后存储时间的可控制性和利用率;通过预设时间遍历存储的键值对并根据其有效期判断是否失效,并将失效的的键值对删除,能够将失效的键值对及时删除,可以保证数据库中存储的数据的有效性,避免数据的堆积。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (20)
1.一种生成短网址的方法,其特征在于,包括步骤:
S1.使用java编程语言初始化redis的ID值;
S2.每接收一次将长网址生成对应的短网址的请求,执行:
S21.将redis的ID值自增预设值,并通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址;
S22.将所述短网址作为key值,将所述短网址对应的长网址作为value值,将所述key值和value值作为一键值对存入所述redis。
2.根据权利要求1所述的生成短网址的方法,其特征在于,所述S1中,使用java编程语言初始化redis的ID值的进制是10进制。
3.根据权利要求2所述的生成短网址的方法,其特征在于,所述S2中,所述预设的进制算法为62进制算法;
所述通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址包括:
通过62进制算法对所述自增后的ID值转化成对应的62进制数值,根据预设的62进制的ascii码表将所述62进制数值转化成字符串,将所述字符串作为与所述长网址对应的短网址。
4.根据权利要求3所述的生成短网址的方法,其特征在于,所述62进制的ascii码包括26个小写字母.26个大写字母和10个数字,对所述62个字符通过洗牌算法形成一个长度为62的字符数组,将所述字符数组作为预设的62进制的ascii码表,所述数组中1到62个字符分别对应62进制中的0-61。
5.根据权利要求1所述的生成短网址的方法,其特征在于,所述步骤S2之后还包括:
S3.接收并处理短网址请求,返回与所述短网址对应的长网址。
6.根据权利要求5所述的生成短网址的方法,其特征在于,定义一个servlet,利用所述servlet接收并处理所述短网址请求。
7.根据权利要求5或6所述的生成短网址的方法,其特征在于,所述步骤S3包括:
解析接收的短网址请求,获取所述短网址中的key值,根据所述key值,判断所述redis中是否有与所述key值对应的value值,若是,则将所述value值作为与所述短网址对应的长网址返回,否则,返回异常信息。
8.根据权利要求1所述的生成短网址的方法,其特征在于,所述步骤S2中对存入redis中的每一键值对设置一有效期。
9.根据权利要求8所述的生成短网址的方法,其特征在于,所述步骤S2中对存入redis中的每一键值对设置级别,为不同级别的键值对设置不同的有效期。
10.根据权利要求8或权利要求9所述的生成短网址的方法,其特征在于,每隔预设时间遍历所述redis中存储的键值对,根据所述键值对的有效期,判断所述键值对是否失效,若是,则将所述键值对从所述redis中删除。
11.一种生成短网址的终端,包括存储器.处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
S1.使用java编程语言初始化redis的ID值;
S2.每接收一次将长网址生成对应的短网址的请求,执行:
S21.将redis的ID值自增预设值,并通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址;
S22.将所述短网址作为key值,将所述短网址对应的长网址作为value值,将所述key值和value值作为一键值对存入所述redis。
12.根据权利要求11所述的生成短网址的终端,其特征在于,所述S1中,使用java编程语言初始化redis的ID值的进制是10进制。
13.根据权利要求12所述的生成短网址的终端,其特征在于,所述S2中,所述预设的进制算法为62进制算法;
所述通过预设的进制算法对所述自增后的ID值进行转换生成对应的短网址包括:
通过62进制算法对所述自增后的ID值转化成对应的62进制数值,根据预设的62进制的ascii码表将所述62进制数值转化成字符串,将所述字符串作为与所述长网址对应的短网址。
14.根据权利要求13所述的生成短网址的终端,其特征在于,所述62进制的ascii码包括26个小写字母.26个大写字母和10个数字,对所述62个字符通过洗牌算法形成一个长度为62的字符数组,将所述字符数组作为预设的62进制的ascii码表,所述数组中1到62个字符分别对应62进制中的0-61。
15.根据权利要求11所述的生成短网址的终端,其特征在于,所述步骤S2之后还包括:
S3.接收并处理短网址请求,返回与所述短网址对应的长网址。
16.根据权利要求15所述的生成短网址的终端,其特征在于,定义一个servlet,利用所述servlet接收并处理所述短网址请求。
17.根据权利要求15或16所述的生成短网址的终端,其特征在于,所述步骤S3包括:
解析接收的短网址请求,获取所述短网址中的key值,根据所述key值,判断所述redis中是否有与所述key值对应的value值,若是,则将所述value值作为与所述短网址对应的长网址返回,否则,返回异常信息。
18.根据权利要求11所述的生成短网址的终端,其特征在于,所述步骤S2中对存入redis中的每一键值对设置一有效期。
19.根据权利要求8所述的生成短网址的终端,其特征在于,所述步骤S2中对存入redis中的每一键值对设置级别,为不同级别的键值对设置不同的有效期。
20.根据权利要求8或权利要求9所述的生成短网址的终端,其特征在于,每隔预设时间遍历所述redis中存储的键值对,根据所述键值对的有效期,判断所述键值对是否失效,若是,则将所述键值对从所述redis中删除。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/101000 WO2020034186A1 (zh) | 2018-08-17 | 2018-08-17 | 一种生成短网址的方法和终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109313660A true CN109313660A (zh) | 2019-02-05 |
Family
ID=65221686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880001079.6A Pending CN109313660A (zh) | 2018-08-17 | 2018-08-17 | 一种生成短网址的方法和终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109313660A (zh) |
WO (1) | WO2020034186A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113384A (zh) * | 2019-04-15 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 网络请求处理方法、装置、计算机设备和存储介质 |
CN110113390A (zh) * | 2019-04-17 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 网络请求处理方法、装置、计算机设备和存储介质 |
CN110213397A (zh) * | 2019-05-29 | 2019-09-06 | 北京达佳互联信息技术有限公司 | 数据生成方法、装置、电子设备及存储介质 |
CN110968460A (zh) * | 2019-11-27 | 2020-04-07 | 上海众言网络科技有限公司 | 系统崩溃状态下网址恢复的方法和装置 |
CN111274328A (zh) * | 2020-01-10 | 2020-06-12 | 北京慧博科技有限公司 | 一种可追踪到人的点击情况的短网址服务的方法 |
CN111797334A (zh) * | 2020-06-19 | 2020-10-20 | 北京达佳互联信息技术有限公司 | 一种网址访问方法、装置、电子设备及存储介质 |
CN112417326A (zh) * | 2020-11-20 | 2021-02-26 | 百度在线网络技术(北京)有限公司 | Url的转换方法和装置、电子设备和存储介质 |
CN112487317A (zh) * | 2020-11-23 | 2021-03-12 | 中国人寿保险股份有限公司 | 一种统一资源定位符转换方法、装置、设备及介质 |
CN113111275A (zh) * | 2020-01-13 | 2021-07-13 | 北京沃东天骏信息技术有限公司 | 短网址生成的方法、装置、电子设备和存储介质 |
CN113612869A (zh) * | 2021-08-25 | 2021-11-05 | 福建凯米网络科技有限公司 | 一种短网址生成方法、终端及存储介质 |
WO2023173551A1 (zh) * | 2022-03-15 | 2023-09-21 | 平安科技(深圳)有限公司 | 短地址生成方法、装置、电子设备及计算机可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801769A (zh) * | 2012-03-01 | 2012-11-28 | 盛乐信息技术(上海)有限公司 | 短链接生成方法及系统 |
CN102810089A (zh) * | 2011-05-30 | 2012-12-05 | 盛乐信息技术(上海)有限公司 | 基于内容的短链接系统及实现方法 |
CN105630927A (zh) * | 2015-12-22 | 2016-06-01 | 北京奇虎科技有限公司 | 链接生成方法和装置 |
CN106202187A (zh) * | 2016-06-28 | 2016-12-07 | 北京京东尚科信息技术有限公司 | 一种在浏览器中处理短链接的方法和装置 |
CN106210161A (zh) * | 2016-06-24 | 2016-12-07 | 中国银联股份有限公司 | 一种短链接生成方法及系统 |
CN106375189A (zh) * | 2016-08-31 | 2017-02-01 | 北京炎黄新星网络科技有限公司 | 一种长短链转换的方法和系统 |
CN107092503A (zh) * | 2017-03-28 | 2017-08-25 | 武汉斗鱼网络科技有限公司 | 移动端小数据uuid永久存储的方法及系统 |
CN107729409A (zh) * | 2017-09-26 | 2018-02-23 | 中国银联股份有限公司 | 一种短链接生成方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601736B (zh) * | 2013-10-30 | 2018-10-23 | 腾讯科技(深圳)有限公司 | 一种短url服务的实现方法及装置 |
CN106817375A (zh) * | 2017-02-07 | 2017-06-09 | 上海斐讯数据通信技术有限公司 | 链接伪装系统及方法 |
-
2018
- 2018-08-17 CN CN201880001079.6A patent/CN109313660A/zh active Pending
- 2018-08-17 WO PCT/CN2018/101000 patent/WO2020034186A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102810089A (zh) * | 2011-05-30 | 2012-12-05 | 盛乐信息技术(上海)有限公司 | 基于内容的短链接系统及实现方法 |
CN102801769A (zh) * | 2012-03-01 | 2012-11-28 | 盛乐信息技术(上海)有限公司 | 短链接生成方法及系统 |
CN105630927A (zh) * | 2015-12-22 | 2016-06-01 | 北京奇虎科技有限公司 | 链接生成方法和装置 |
CN106210161A (zh) * | 2016-06-24 | 2016-12-07 | 中国银联股份有限公司 | 一种短链接生成方法及系统 |
CN106202187A (zh) * | 2016-06-28 | 2016-12-07 | 北京京东尚科信息技术有限公司 | 一种在浏览器中处理短链接的方法和装置 |
CN106375189A (zh) * | 2016-08-31 | 2017-02-01 | 北京炎黄新星网络科技有限公司 | 一种长短链转换的方法和系统 |
CN107092503A (zh) * | 2017-03-28 | 2017-08-25 | 武汉斗鱼网络科技有限公司 | 移动端小数据uuid永久存储的方法及系统 |
CN107729409A (zh) * | 2017-09-26 | 2018-02-23 | 中国银联股份有限公司 | 一种短链接生成方法及装置 |
Non-Patent Citations (1)
Title |
---|
王越: "基于nodejs的微博系统的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113384A (zh) * | 2019-04-15 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 网络请求处理方法、装置、计算机设备和存储介质 |
CN110113390A (zh) * | 2019-04-17 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 网络请求处理方法、装置、计算机设备和存储介质 |
CN110213397A (zh) * | 2019-05-29 | 2019-09-06 | 北京达佳互联信息技术有限公司 | 数据生成方法、装置、电子设备及存储介质 |
CN110968460A (zh) * | 2019-11-27 | 2020-04-07 | 上海众言网络科技有限公司 | 系统崩溃状态下网址恢复的方法和装置 |
CN111274328A (zh) * | 2020-01-10 | 2020-06-12 | 北京慧博科技有限公司 | 一种可追踪到人的点击情况的短网址服务的方法 |
CN113111275A (zh) * | 2020-01-13 | 2021-07-13 | 北京沃东天骏信息技术有限公司 | 短网址生成的方法、装置、电子设备和存储介质 |
CN111797334A (zh) * | 2020-06-19 | 2020-10-20 | 北京达佳互联信息技术有限公司 | 一种网址访问方法、装置、电子设备及存储介质 |
CN111797334B (zh) * | 2020-06-19 | 2024-01-23 | 北京达佳互联信息技术有限公司 | 一种网址访问方法、装置、电子设备及存储介质 |
CN112417326A (zh) * | 2020-11-20 | 2021-02-26 | 百度在线网络技术(北京)有限公司 | Url的转换方法和装置、电子设备和存储介质 |
CN112487317A (zh) * | 2020-11-23 | 2021-03-12 | 中国人寿保险股份有限公司 | 一种统一资源定位符转换方法、装置、设备及介质 |
CN113612869A (zh) * | 2021-08-25 | 2021-11-05 | 福建凯米网络科技有限公司 | 一种短网址生成方法、终端及存储介质 |
CN113612869B (zh) * | 2021-08-25 | 2023-12-19 | 福建凯米网络科技有限公司 | 一种短网址生成方法、终端及存储介质 |
WO2023173551A1 (zh) * | 2022-03-15 | 2023-09-21 | 平安科技(深圳)有限公司 | 短地址生成方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020034186A1 (zh) | 2020-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109313660A (zh) | 一种生成短网址的方法和终端 | |
CN102857493B (zh) | 内容过滤方法和装置 | |
CN104699718B (zh) | 用于快速引入业务数据的方法和装置 | |
US8380680B2 (en) | Piecemeal list prefetch | |
Jerzak et al. | Bloom filter based routing for content-based publish/subscribe | |
US20180365254A1 (en) | Method and apparatus for processing information flow data | |
CN103516585B (zh) | 一种实现消息优先级分发的方法及系统 | |
US9378458B2 (en) | Method and apparatus for operating a finite state machine | |
CN108984553B (zh) | 缓存方法和装置 | |
US20170039238A1 (en) | Asymmetric Distributed Cache with Data Chains | |
CN111026985A (zh) | 一种短链接生成方法、装置和服务器 | |
US10546008B2 (en) | System and method for maintaining a dynamic dictionary | |
CN112154420A (zh) | 自动智能云服务测试工具 | |
US8352442B2 (en) | Determination of an updated data source from disparate data sources | |
US20170116351A1 (en) | System and method for keyword searching using both static and dynamic dictionaries | |
CN114048201A (zh) | 一种基于分布式流计算引擎Flink的关键字段实时去重方法 | |
WO2020257123A1 (en) | Systems and methods for blockchain-based authentication | |
CN107247777A (zh) | 一种基于数据库逆向统计的报表展示方法及系统 | |
Kang et al. | An experimental analysis of limitations of MapReduce for iterative algorithms on Spark | |
CN110109912A (zh) | 一种标识符生成方法和装置 | |
Zhong et al. | FPGA-CPU Architecture Accelerated Regular Expression Matching With Fast Preprocessing | |
CN111262589A (zh) | 一种dfa空间压缩方法及装置 | |
CN111191103A (zh) | 从互联网中识别分析企业主体信息方法、装置及存储介质 | |
CN111274203B (zh) | 一种话单存储系统及方法 | |
CN106777178A (zh) | 一种手机号码的存储方法及查询方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190205 |
|
RJ01 | Rejection of invention patent application after publication |