基于内容的短链接系统及实现方法技术方案

技术编号:8046967 阅读:263 留言:0更新日期:2012-12-06 15:50
本发明专利技术公开了一种基于内容的短链接系统及实现方法,该系统包括:数据生成模块、短链接生成模块、链接存储模块;其实现方法,包括:1)将需要缩短的地址的原始内容,生成hash数据;2)将hash数据经短链接生成模块,形成原始内容所对应的短链接;3)将原始内容的短链接和原始内容的地址链接存储到链接存储模块;4)当用户拿着短链接进行解析时,短链接网址会根据链接存储模块中的key-value进行检索,并将原来的网址链接返还回来,进行地址重定向。本发明专利技术实现了多个链接对应的实际内容相同时的负载均衡及实时确定短链接的有效性,方便用户使用。

【技术实现步骤摘要】
基于内容的短链接系统及实现方法
本专利技术涉及一种短链接系统及实现方法,特别是涉及一种基于内容的短链接系统及实现方法。
技术介绍
微博(MicroBlog)是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过web(互联网)、wap(WirelessApplicationProtocol,无线应用协议)以及各种客户端组件个人社区,以140字左右的文字更新信息,并实现即时分享。由于微博具有便捷性、原创性等特点,应用非常广泛。随着微博的流行,由于其内容有着字数的限制,所以大家纷纷采用短链接来解决引用链接过长,占掉有效字数的问题。现在的短链接,都是基于网址的。为了表达越来越丰富的内容,网址链接越来越长。现有的短链接服务,会把需要缩短的网址,进行hash离散运算,得到一串数字之后,再使用多进制数字,来表达hash之后的唯一结果。然后使用key-value数据库对短链接和原网址链接进行存储。但是,现在的短链接通常是使用链接为唯一标示的,也就是说一个短链接对应一个链接。如果有多个链接对应的实际内容是相同的,特别是一些多媒体信息的时候,这样就不利于内容访问的容错和负载均衡。
技术实现思路
本专利技术要解决的技术问题是提供一种基于内容的短链接系统及实现方法,以实现多个链接对应的实际内容相同时的负载均衡。为解决上述技术问题,本专利技术的基于内容的短链接系统,包括:数据生成模块,用于将原始内容经hash运算,生成hash(哈希)数据;其中,该原始内容包括:图片、文件、音频、视频等的内容;短链接生成模块,用于将hash数据经多进制数字的编码进行压缩,形成原始内容所对应的短链接;链接存储模块,用于对原始内容的短链接和原始内容的地址链接进行存储,如可以key-value数据库的方式进行存储。所述多进制数字,包括:一套允许在url地址上出现的字符形成的多进制数字。另外,本专利技术的基于内容的短链接系统,还包括:检查模块,用于定期检查短链接库中所存放的原始链接所指向的内容,在内容发生变化之后,自动失效地址库中的短链接到该原始链接的指向。再者,本专利技术的基于内容的短链接系统的实现方法,包括步骤:(1)将需要缩短的地址的原始内容,经数据生成模块,生成hash数据;(2)将hash数据经短链接生成模块,形成原始内容所对应的短链接;(3)将原始内容的短链接和原始内容的地址链接存储到链接存储模块;(4)当用户拿着短链接进行解析时,短链接网址会根据链接存储模块中的key-value进行检索,并将原来的网址链接返还回来,进行地址重定向。所述短链接中,根据原始内容使用的是否为无损压缩源,进行以下的短链接生成处理:(1)如果原始内容使用的是无损压缩源,则将压缩内容进行解压,生成原始内容数据,再对这些数据进行hash数据处理,再使用多进制数字进行压缩,形成原始内容所对应的短链接;(2)如果原始内容使用的是有损压缩源,那么如果原始内容一致,在将原始内容进行hash数据处理,再使用多进制数字进行压缩后,形成一致的原始内容所对应的短链接;如果原始内容不一致的话,在将原始内容进行hash数据处理,再使用多进制数字进行压缩后,形成不同的原始内容所对应的短链接。上述方法,还可包括步骤:(5)检查模块定期扫描短链接库中所存放的原始链接所指向的内容,在内容发生变化之后,自动失效地址库中短链接到该链接的指向。本专利技术通过基于目标地址的实际内容进行hash运算,然后根据hash的结果,生成短链接。如果目标地址的内容是相同的,那么生成的hash结果也应该是相同的,也就可以分配相同的短链接。当有用户需要访问这些短链接的时候,短链接服务器随机或根据负载均衡算法,给出多个地址中的一个,实现了负载均衡的目的。因此,本专利技术与传统的短链接的差异在于,对于相同的内容,其短链接地址是相同的。另外,本系统还有一个流程,就是地址有效性检查。传统的短链接,是没法对地址的有效性进行检查的,因为他们不记录原地址的内容。而本本专利技术的系统可定期扫描短链接库中所存放的原始链接所指向的内容,如果内容不一致了,则删除这个原地址,以便实时确定短链接的有效性,方便用户使用。附图说明下面结合附图与具体实施方式对本专利技术作进一步详细的说明:图1是本专利技术的原始内容所对应的短链接的形成示意图;图2是本专利技术的短链接的解析示意图。具体实施方式本专利技术的基于内容的短链接系统,包括:数据生成模块,用于将网址上的原始内容经hash运算,生成hash数据;其中,该原始内容包括:图片、文件、音频、视频等的内容;关于hash运算,可按现有的hash运算进行,例如,可参考http://zh.wikipedia.org/wiki/MD5所介绍的那样;短链接生成模块,用于将hash数据经多进制数字的编码进行压缩,形成原始内容所对应的短链接;链接存储模块,用于将原始内容的短链接和原始内容的地址链接,存储到key-value数据库;检查模块,用于定期检查短链接库中所存放的原始链接所指向的内容,在内容发生变化之后,自动失效地址库中的短链接到该原始链接的指向。其中,关于多进制数字:同样一个数字,二进制的位数最长,因此,二进制的要比四进制的位数多,十进制的会比四进制、八进制的短,十六进制的更短。每一个位数所能够表达的变化越多,同一个数字所需占用的位数就越短。比如80进制,每一位能够表达80种变化,其长度,肯定要比直接原来MD5算法所得到的16进制的数字短很多。因此,本实施例中,可以采用以下的一套多进制数字,来缩短hash结果的长度:使用所有允许在url地址(Uniform/UniversalResourceLocator,网页地址)上出现的字符,来形成一套多进制的数字,比如0~9,a~z再加上A~Z,也就是62个字符,形成一套62进制的编码,再加上允许在url中出现的“/.%?&”等特殊字符,这个编码的进制可以进一步的增加,长度可以进一步的降低。那么就可以将同一段数字的长度进一步的缩短。比如,80在二进制中是一个7位数,如果是二进制中的7个1的话,这个数字就是128,但允许出现在url中的字符又没有那么多,因此,可以采用6位二进制数,也就是64种变化。使用64的字符来代表这64种变化,其中大小写字母再加上十个数字,加在一起,是62个,再加上在url中比较常见的下划线“_”和百分号“%”,正好64个。如果有些web服务器或浏览器有兼容性问题的话,也可以换成“#”或“?”等字符。而对于目前最常用的多进制舍去算法,形成短链接的处理过程,现以jpg格式存储的图片为例,说明如下:(1)先将图片的数据读入内存,然后对其进行hash转换成为一个128位二进制的数字;(2)然后再对这个二进制的数字,进行多位编码,具体如下:1)将长网址md5生成32位签名串,分为4段,每段8个字节;2)对这四段循环处理,取8个字节,将它看成16进制串与0×3fffffff(30位1)与操作,即超过30位的忽略处理;3)将这30位分成5段,每6位的数字作为字母表的索引取得特定字符,依次进行获得5位字符串;4)总的md5串可以获得4个5位串;取里面的任意一个就可作为这个长url的短url地址。因此,本实施例中采用的多进制数字算法,相对于现有的最常用的多进制舍去算法,字符的变化更加多。在本文档来自技高网...
基于内容的短链接系统及实现方法

【技术保护点】
一种基于内容的短链接系统,其特征在于:包括:数据生成模块,用于将原始内容经hash运算,生成hash数据;短链接生成模块,用于将hash数据经多进制数字的编码进行压缩,形成原始内容所对应的短链接;链接存储模块,用于对原始内容的短链接和原始内容的地址链接进行存储。

【技术特征摘要】
1.一种基于内容的短链接系统,其特征在于:包括:数据生成模块,用于将原始内容经hash运算,生成hash数据;短链接生成模块,用于将hash数据经多进制数字的编码进行压缩,形成原始内容所对应的短链接;链接存储模块,用于对原始内容的短链接和原始内容的地址链接以key-value数据库的方式进行存储;key-value数据库的方式为:建立两个集合,第一集合resource2url以hash结果为key,以短链接为value,第二集合url2url,则以短链接为key,以原始链接的列表为value;当用户存入一个短链接的时候,先进行hash运算,然后到第一集合resource2url中去寻找key,如果没找到,则同时将hash运算和原始链接分别插入第一集合resource2url和第二集合url2url,如果在第一集合resource2url中找到了hash结果的key,那么就直接将第一集合resource2url中的value也就是短链接拿出来作为key到第二集合url2url中去取出value,即找出原始链接的列表,然后将新的url追加到原始链接的列表后面;在用户拿着短链接进行解析的时候,只要到第二集合url2url中,根据短链接的key,取出原始链接的列表,然后根据分隔符,将多个地址解析出来,再随机给出其中一个作为得到的地址。2.如权利要求1所述的系统,其特征在于:所述原始内容包括:图片、文件、音频、视频的内容。3.如权利要求1所述的系统,其特征在于:所述多进制数字,包括:一套允许在url地址上出现的字符形成的多进制数字。4.如权利要求1所述的系统,其特征在于:还包括:检查模块,用于定期检查短链接库中所存放的原始链接所指向的内容,在内容发生变化之后,自动失效地址库中的短链接到该原始链接的指向。5.如权利要求1所述的基于内容的短链接系统的实现方法,包括步骤:(1)将需要缩短的地址的原始内容,经数据生成模块,生成hash数据;(2)将hash数据经短链接生成模块,形成原始内容所对应的短链接;(3)将原始内容的短链接和原始内...

【专利技术属性】
技术研发人员:范路
申请(专利权)人:盛乐信息技术上海有限公司
类型:发明
国别省市:

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

1