短链接生成方法、装置、电子设备及存储介质转让专利

申请号 : CN202310769665.8

文献号 : CN116501997B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘珊陈景涛廖春生王祥严冲刘宇

申请人 : 太平金融科技服务(上海)有限公司深圳分公司

摘要 :

本发明公开了一种短链接生成方法、装置、电子设备及存储介质。该方法包括:获取业务系统发送的短码位数,并根据短码位数确定截取位数,截取位数确定的数值上限值大于短码位数包含的标识位数确定的数值上限值;获取长链接的长链接标识值;根据截取位数对长链接标识值进行截取,得到目标标识值;根据目标标识值,生成目标短链接。本发明实施例的技术方案减少了短链接的重复率,提高短链接的唯一性。

权利要求 :

1.一种短链接生成方法,其特征在于,所述方法包括:获取业务系统发送的短码位数,并根据所述短码位数确定截取位数,所述截取位数确定的数值上限值大于所述短码位数包含的标识位数确定的数值上限值,以保证截取位数确定的数值范围覆盖标识位数确定的数值范围;

获取长链接的长链接标识值;

根据所述截取位数对所述长链接标识值进行截取,得到目标标识值;

根据所述目标标识值,生成目标短链接;

其中,所述截取位数确定的数值上限值为对长链接标识值进行截取时所得到的数值的最大值;所述标识位数确定的数值上限值为生成目标标识值时所得到的数值的最大值;

其中,所述根据所述截取位数对所述长链接标识值进行截取,得到目标标识值,包括:根据所述截取位数对所述长链接标识值进行截取,得到截取数值;

根据所述短码位数包含的标识位数确定的数值上限值,对所述截取数值进行调整,得到目标标识值;

其中,所述根据所述短码位数包含的标识位数确定的数值上限值,对所述截取数值进行调整,得到目标标识值,包括:在所述截取数值小于等于所述短码位数包含的标识位数确定的数值上限值时,将所述截取数值,确定为目标标识值;

在所述截取数值大于所述短码位数包含的标识位数确定的数值上限值时,将所述截取数值与所述短码位数包含的标识位数确定的数值上限值的差值,确定为目标标识值;

其中,所述根据所述短码位数确定截取位数,包括:获取所述短码位数对应的第一进制,并生成所述短码位数对应的数值上限值;

获取第二进制;

获取大于所述短码位数对应的数值上限值的目标数值;

根据所述第二进制和所述目标数值,确定截取位数。

2.根据权利要求1所述的方法,其特征在于,所述根据所述目标标识值,生成目标短链接,包括:在预设随机数范围内取值,得到目标随机值;

根据所述目标标识值和所述目标随机值,生成目标短链接。

3.根据权利要求2所述的方法,其特征在于,在生成目标短链接之后,还包括:在检测到所述目标短链接与预先生成的历史短链接相同时,在预设随机数范围内重新取值,更新目标随机值;

根据所述目标标识值和更新的目标随机值,生成目标短链接。

4.根据权利要求2或3所述的方法,其特征在于,所述根据所述截取位数对所述长链接标识值进行截取,得到目标标识值,包括:根据所述截取位数在所述长链接标识值的第一截取位置进行截取,得到目标标识值;

在生成目标短链接之后,还包括:

在检测到所述目标短链接与预先生成的历史短链接相同时,根据所述截取位数在所述长链接标识值的第二截取位置进行截取,更新目标标识值,所述第一截取位置和所述第二截取位置不同;

根据更新的目标标识值和所述目标随机值,生成目标短链接。

5.一种短链接生成装置,其特征在于,所述装置包括:短码位数获取模块,用于获取业务系统发送的短码位数,并根据所述短码位数确定截取位数,所述截取位数确定的数值上限值大于所述短码位数包含的标识位数确定的数值上限值,以保证截取位数确定的数值范围覆盖标识位数确定的数值范围;

长链接标识值获取模块,用于获取长链接的长链接标识值;

目标标识值确定模块,用于根据所述截取位数对所述长链接标识值进行截取,得到目标标识值;

目标短链接生成模块,用于根据所述目标标识值,生成目标短链接;

其中,所述截取位数确定的数值上限值为对长链接标识值进行截取时所得到的数值的最大值;所述标识位数确定的数值上限值为生成目标标识值时所得到的数值的最大值;

其中,所述目标标识值确定模块,包括:

截取数值获取单元,用于根据所述截取位数对所述长链接标识值进行截取,得到截取数值;

目标标识值确定单元,用于根据所述短码位数包含的标识位数确定的数值上限值,对所述截取数值进行调整,得到目标标识值;

其中,所述目标标识值确定单元,具体用于:

在所述截取数值小于等于所述短码位数包含的标识位数确定的数值上限值时,将所述截取数值,确定为目标标识值;

在所述截取数值大于所述短码位数包含的标识位数确定的数值上限值时,将所述截取数值与所述短码位数包含的标识位数确定的数值上限值的差值,确定为目标标识值;

其中,所述短码位数获取模块,包括:

第一进制获取单元,用于获取所述短码位数对应的第一进制,并生成所述短码位数对应的数值上限值;

第二进制获取单元,用于获取第二进制;

目标数值获取单元,用于获取大于所述短码位数对应的数值上限值的目标数值;

截取位数确定单元,用于根据所述第二进制和所述目标数值,确定截取位数。

6. 一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑4中任一项所述的短链接生成方法。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1‑4中任一项所述的短链接生成方法。

说明书 :

短链接生成方法、装置、电子设备及存储介质

技术领域

[0001] 本发明涉及数据处理技术领域,尤其涉及一种短链接生成方法、装置、电子设备及存储介质。

背景技术

[0002] 随着信息技术的快速发展,通过信息分享链接是常见的链接推送方式。但是,分享长链接存在信息安全隐患且信息传输成本较高。因此,需要将长链接转换为短链接后,再进行发送。
[0003] 目前,可以通过对长链接采取直接截取的方式生成短链接。
[0004] 但是,在对大量的长链接进行直接截取生成短链接时,可能会存在不同长链接生成同一短链接的情况。

发明内容

[0005] 本发明提供了一种短链接生成方法、装置、电子设备及存储介质,减少了短链接的重复率,提高短链接的唯一性。
[0006] 根据本发明的一方面,提供了一种短链接生成方法,该方法包括:
[0007] 获取业务系统发送的短码位数,并根据短码位数确定截取位数,截取位数确定的数值上限值大于短码位数包含的标识位数确定的数值上限值;
[0008] 获取长链接的长链接标识值;
[0009] 根据截取位数对长链接标识值进行截取,得到目标标识值;
[0010] 根据目标标识值,生成目标短链接。
[0011] 根据本发明的另一方面,提供了一种短链接生成装置,该装置包括:
[0012] 短码位数获取模块,用于获取业务系统发送的短码位数,并根据短码位数确定截取位数,截取位数确定的数值上限值大于短码位数包含的标识位数确定的数值上限值;
[0013] 长链接标识值获取模块,用于获取长链接的长链接标识值;
[0014] 目标标识值确定模块,用于根据截取位数对长链接标识值进行截取,得到目标标识值;
[0015] 目标短链接生成模块,用于根据目标标识值,生成目标短链接。
[0016] 根据本发明的另一方面,提供了一种电子设备,电子设备包括:
[0017] 至少一个处理器;以及
[0018] 与所述至少一个处理器通信连接的存储器;其中,
[0019] 所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的短链接生成方法。
[0020] 根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的短链接生成方法。
[0021] 根据本发明的另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现本发明任一实施例所述的短链接生成方法。
[0022] 本发明实施例的技术方案通过获取业务系统发送的短码位数,并根据短码位数确定截取位数,截取位数确定的数值上限值大于短码位数包含的标识位数确定的数值上限值,获取长链接的长链接标识值,根据截取位数对长链接标识值进行截取,得到目标标识值,根据目标标识值,生成目标短链接,解决了在对大量的长链接进行直接截取生成短链接时,存在不同长链接生成同一短链接的情况,减少了短链接的重复率,提高短链接的唯一性。
[0023] 应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。

附图说明

[0024] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025] 图1是根据本发明实施例一提供的一种短链接生成方法的流程图;
[0026] 图2是根据本发明实施例二提供的一种短链接生成方法的流程图;
[0027] 图3是根据本发明实施例三提供的长链接压缩为短链接的应用场景图;
[0028] 图4是根据本发明实施例三提供的长链接转换短链接的应用场景图;
[0029] 图5是根据本发明实施例三提供的长链接转换短链接方法的流程图;
[0030] 图6是根据本发明实施例三提供的目标短链接格式的结构示意图;
[0031] 图7是根据本发明实施例四提供的一种短链接生成装置的结构示意图;
[0032] 图8是实现本发明实施例的短链接生成方法的电子设备的结构示意图。

具体实施方式

[0033] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0034] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0035] 实施例一
[0036] 图1为本发明实施例一提供的一种短链接生成方法的流程图。本实施例可适用于根据长链接生成短链接的情况,该方法可以由短链接生成装置来执行,该短链接生成装置可以采用硬件和/或软件的形式实现,该短链接生成装置可配置于承载短链接生成功能的电子设备中。
[0037] 参见图1所示的短链接生成方法,包括:
[0038] S110、获取业务系统发送的短码位数,并根据短码位数确定截取位数,截取位数确定的数值上限值大于短码位数包含的标识位数确定的数值上限值。
[0039] 业务系统可以是长链接转换为目标短链接的需求方。长链接在应用过程中存在传输安全性较低且传输成本较高的缺点。因此,业务系统需要通过本设备将长链接转换为目标短链接,然后将目标短链接发送至用户端。用户端接收到目标短链接之后可以访问目标短链接,跳转至业务系统的长链接。
[0040] 目标短链接可以包括域名和目标短码。域名可以是目标短链接中的通用部分。目标短码可以是目标短链接区分于其他短链接的标识部分。示例性的,目标短链接可以为“u.xx.com/x/a1b2c3d4”,其中,“u.xx.com/x/”为域名,即目标短链接的通用部分;“a1b2c3d4”为目标短码,即目标短链接区分于其他短链接的标识部分。短码位数可以是目标短链接包含的目标短码的位数。短码位数可以按照业务系统的需求设定。目标短码可以仅包含目标标识值,也可以包含目标标识值与其它目标值。目标标识值通过对长链接标识值进行截取生成。
[0041] 截取位数可以用于确定长链接标识值的截取部分。截取位数确定的数值上限值可以为对长链接标识值进行截取时所得到的数值的最大值。标识位数确定的数值上限值可以为生成目标标识值时所得到的数值的最大值。
[0042] 截取位数确定的数值上限值大于短码位数包含的标识位数确定的数值上限值,以保证截取位数确定的数值范围可以覆盖标识位数确定的数值范围。由此,在标识位数的基础上,以实现标识位数确定的数值范围的最大化。在生成目标短码的过程中,利用最大化的数值范围,进一步保证了生成的目标短链接的唯一性。
[0043] S120、获取长链接的长链接标识值。
[0044] 长链接可以由业务系统发送至本设备。长链接标识值可以是与长链接唯一对应的标识值。长链接标识值可以由本设备生成。可选的,长链接标识值可以由字符串算法生成。示例性的,字符串算法可以包括Hash(哈希)128算法,长链接标识值可以是16进制的32位字符串。
[0045] 通过生成长链接标识值,并对长链接标识值进行截取,将生成目标短链接的过程,由直接截取长链接的不可控过程,转换为对具有规范性的长链接标识值的截取过程。利用各长链接标识值的规范性,保证了截取长链接标识值生成的短链接的可控性。同时,通过对具有唯一性的长链接标识值进行截取,生成目标短链接,避免了短链接的重复率,提高了短链接的唯一性。
[0046] S130、根据截取位数对长链接标识值进行截取,得到目标标识值。
[0047] 具体的,可以对长链接标识值按照截取位数进行截取,将截取的数值作为目标标识值的数值,按照标识位数对截取的数值进行转换,得到目标标识值。
[0048] S140、根据目标标识值,生成目标短链接。
[0049] 可选的,可以直接将目标标识值作为目标短码,将域名和目标短码进行组合,生成目标短链接。
[0050] 可选的,业务系统还可以向本设备发送业务系统标识值。可以在上述示例的基础上,将目标标识值和业务系统标识值进行组合,生成目标短码。将域名和目标短码进行组合,生成目标短链接。
[0051] 本发明实施例的技术方案,通过获取业务系统发送的短码位数,并根据短码位数确定截取位数,截取位数确定的数值上限值大于短码位数包含的标识位数确定的数值上限值,获取长链接的长链接标识值,根据截取位数对长链接标识值进行截取,得到目标标识值,根据目标标识值,生成目标短链接,以使截取位数的数值范围覆盖短码位数确定的数值范围,保证了标识位数确定的数值范围的最大化,利用最大化的数值范围,解决了对大量的长链接进行直接截取生成短链接时,存在不同长链接生成同一短链接的情况,减少了短链接的重复率,提高短链接的唯一性。同时,通过对与长链接具有唯一对应关系的长链接标识值进行截取,而非直接对长链接进行截取,既保证了信息传输的安全性,又进一步减小了短链接的重复率,提高了短链接的唯一性。
[0052] 在本发明的一个可选实施例中,将根据目标标识值,生成目标短链接,具体化为:在预设随机数范围内取值,得到目标随机值;根据目标标识值和目标随机值,生成目标短链接。
[0053] 预设随机数范围可以由技术人员根据经验进行设定和调整。可选的,预设随机数范围可以由预设随机数位数和目标短码的进制确定。示例性的,假设预设随机数位数为22
位,目标短码的进制为62进制。预设随机数范围可以是0至62‑1。
[0054] 具体的,可以在预设随机数范围内任选一个随机数,并将该随机数按照预设随机数位数和目标短码的进制进行转换,得到目标随机值。将目标标识值和目标随机值进行组合,生成目标短码。将域名和目标短码进行组合,生成目标短链接。
[0055] 本方案通过引入目标随机值,通过在预设随机数范围内取值生成目标随机值,并根据目标标识值和目标随机值,生成目标短链接,在目标标识值的基础上,增加了目标随机值的生成过程,提高了短链接生成过程的复杂度,进一步保证了短链接的安全性和短链接的唯一性。
[0056] 在本发明的一个可选实施例中,在生成目标短链接之后,还包括:在检测到目标短链接与预先生成的历史短链接相同时,在预设随机数范围内重新取值,更新目标随机值;根据目标标识值和更新的目标随机值,生成目标短链接。
[0057] 历史短链接可以是在目标短链接生成之前生成的短链接。历史短链接与目标短链接的生成方式相同,即根据历史标识值和历史随机值,生成历史短链接。历史标识值和历史随机值的描述,参见本方案中的目标标识值和目标随机值的具体描述,在此不做赘述。
[0058] 在目标短链接生成之后,可以将目标短链接存入数据库或缓存中。若数据库中存在与目标短链接相同的历史短链接,则目标短链接在存入数据库或缓存时会存入失败。因此,可以通过目标短链接存入数据库失败,检测目标短链接在数据库中是否存在与目标短链接相同的预先生成的历史短链接。还可以在将目标短链接存入数据库或缓存的同时,将长链接标识值和长链接共同存入数据库或缓存中。可以通过查询长链接标识值、长链接或目标短链接的方式,在数据库或缓存中查询是否存在与目标短链接相同的历史短链接。
[0059] 可选的,在检测到目标短链接与预先生成的历史短链接相同时,可以在预设随机数范围内选取除目标随机值之外的数值,更新目标随机值。将更新后的目标随机值和目标标识值进行组合,生成目标短码。将域名和目标短码进行组合,生成目标短链接。
[0060] 可选的,还可以根据目标短链接的目标标识值,在数据库中查询具有与目标标识值相同的历史标识值的历史短链接。根据各历史短链接包含的各历史随机值与预设随机数范围做差集,在差集内重新选取随机数,更新目标随机值。将更新后的目标随机值和目标标识值进行组合,生成目标短码。将域名和目标短码进行组合,生成目标短链接。
[0061] 本方案通过在检测到目标短链接与预先生成的历史短链接相同时,在预设随机数范围内重新取值,更新目标随机值,根据目标标识值和更新的目标随机值,生成目标短链接,避免了目标短链接与历史短链接发生重复的情况,通过更新目标随机值,对目标短链接进行微调更新,兼顾了短链接的唯一性和短链接的调整效率,进一步减小了短链接的重复率。
[0062] 在本发明的一个可选实施例中,根据截取位数对长链接标识值进行截取,得到目标标识值,包括:根据截取位数在长链接标识值的第一截取位置进行截取,得到目标标识值。在生成目标短链接之后,还包括:在检测到目标短链接与预先生成的历史短链接相同时,根据截取位数在长链接标识值的第二截取位置进行截取,更新目标标识值,第一截取位置和第二截取位置不同;根据更新的目标标识值和目标随机值,生成目标短链接。
[0063] 第一截取位置和第二截取位置分别为对长链接标识值进行截取的不同位置。示例性的,第一截取位置可以是包含长链接标识值末位的截取位置;第二截取位置可以是不同于第一截取位置的其他位置。可选的,第二截取位置可以是将第一截取位置前移一位所得到的的截取位置。通过将第一截取位置调整为第二截取位置,实现了对长链接标识值的移位截取。
[0064] 可选的,可以在检测到目标短链接与预先生成的历史短链接相同时,直接调整截取位置,将截取位置由第一截取位置调整至第二截取位置,并根据重新截取的数值,更新目标标识值。将更新的目标标识值与目标随机值进行组合,生成目标短码。将域名和目标短码进行组合,生成目标短链接。
[0065] 可选的,也可以是在更新目标随机值之后,仍检测到目标短链接与预先生成的历史短链接相同时,调整截取位置,并根据重新截取的数值,更新目标标识值。将更新的目标标识值与目标随机值进行组合,生成目标短码。将域名和目标短码进行组合,生成目标短链接。
[0066] 本方案引入了第一截取位置和第二截取位置,通过根据截取位数在长链接标识值的第一截取位置进行截取,得到目标标识值,在生成目标短链接之后,在检测到目标短链接与预先生成的历史短链接相同时,根据截取位数在长链接标识值的第二截取位置进行截取,更新目标标识值,根据更新的目标标识值和目标随机值,生成目标短链接,通过截取位置不同的第一截取位置和第二截取位置,实现了在目标短链接发生重复时对截取位置的调整,进一步减少了短链接的重复率。
[0067] 实施例二
[0068] 图2为本发明实施例二提供的一种短链接生成方法的流程图。本实施例在上述实施例的基础上,将根据短码位数确定截取位数具体化为:“获取短码位数对应的第一进制,并生成短码位数包含的标识位数对应的数值上限值;获取第二进制;获取大于短码位数对应的数值上限值的目标数值;根据第二进制和目标数值,确定截取位数。”需要说明的是,在本发明实施例中未详述的部分,可参见其他实施例的表述。
[0069] 参见图2所示的短链接生成方法,包括:
[0070] S210、获取业务系统发送的短码位数,获取短码位数对应的第一进制,并生成短码位数包含的标识位数对应的数值上限值;截取位数确定的数值上限值大于短码位数包含的标识位数确定的数值上限值。
[0071] 第一进制可以由技术人员根据经验进行设定和调整。标识位数确定的数值上限值可以由目标短码对应的第一进制确定。示例性的,若目标短码为62进制,标识位数为6位,则6
标识位数确定的数值上限值为62‑1(即56,800,235,583)。
[0072] 具体的,可以获取业务系统需求的短码位数,获取技术人员根据经验进行设定和调整的第一进制,按照短码位数包含的标识位数以及目标短码对应的第一进制,生成短码位数包含的标识位数对应的数值上限值。
[0073] S220、获取第二进制。
[0074] 第二进制可以是长链接标识值对应的进制。第一进制为短码对应的进制。第一进制与第二进制可以相同,也可以不同。可选的,在第一进制与第二进制不同时,在生成目标标识值的过程中,增加了进制转换的过程,进一步提高了短链接生成过程的复杂度,进而提高了短链接的信息安全性。
[0075] 具体的,获取长链接标识值对应的第二进制。
[0076] S230、获取大于短码位数包含的标识位数对应的数值上限值的目标数值。
[0077] 目标数值可以是大于标识位数对应的数值上限值的数值。示例性的,标识位数确6 6
定的数值上限值可以为62‑1,目标数值可以为62。
[0078] S240、根据第二进制和目标数值,确定截取位数。
[0079] 具体的,可以穷举位数,根据穷举位数和第二进制,计算第二进制的穷举位数次方得到的数值,将该数值与目标数值进行比较,若该数值大于等于目标数值,则确定该穷举位数为截取位数;否则,进一步调整穷举位数,直至确定目标数值为止。
[0080] 如上述示例,目标数值可以为626(即56,800,235,584),第二进制为16进制。在穷9 9
举位数为9位时,第二进制的穷举位数次方得到的数值为16(即68,719,476,736)。16大于
6
62,可以确定截取位数为9位。
[0081] S250、获取长链接的长链接标识值。
[0082] S260、根据截取位数对长链接标识值进行截取,得到目标标识值。
[0083] S270、根据目标标识值,生成目标短链接。
[0084] 本发明实施例的技术方案引入了第一进制和第二进制,通过获取短码位数对应的第一进制,并生成短码位数包含的标识位数对应的数值上限值,获取第二进制,获取大于短码位数对应的数值上限值的目标数值,根据第二进制和目标数值,确定截取位数,考虑了短码位数对应的第一进制和长链接标识值对应的第二进制,并根据第一进制和第二进制确定截取位数,实现了对截取位数的确定,保证了短码位数包含的标识位数对应的数值范围的最大化,提高了短链接的唯一性。同时,通过不同的进制转换,进一步提高了短链接生成过程的复杂度,提高了短链接的信息安全性。
[0085] 在本发明的一个可选实施例中,将根据截取位数对长链接标识值进行截取,得到目标标识值,具体化为:根据截取位数对长链接标识值进行截取,得到截取数值;根据短码位数包含的标识位数确定的数值上限值,对截取数值进行调整,得到目标标识值。
[0086] 截取数值可以是对长链接标识值进行截取实际得到的数值。
[0087] 具体的,可以根据截取位数对长链接标识值进行截取,得到截取数值。将截取数值与标识位数确定的数值上限值作差后取绝对值,得到调整后的截取数值。根据调整后的截取数值和标识位数,生成目标标识值。
[0088] 本方案通过根据截取位数对长链接标识值进行截取,得到截取数值,根据短码位数包含的标识位数确定的数值上限值,对截取数值进行调整,得到目标标识值,在保证标识位数确定的数值范围最大化的情况下,利用标识位数确定的数值上限值对截取数值进行调整,避免了数值溢出造成目标标识值无法生成的情况,保证了目标标识值的正常生成,进而保证了目标短链接的正常生成,提高了短链接生成过程的容错性。
[0089] 在本发明的一个可选实施例中,将根据短码位数包含的标识位数确定的数值上限值,对截取数值进行调整,得到目标标识值,具体化为:在截取数值小于等于短码位数包含的标识位数确定的数值上限值时,将截取数值,确定为目标标识值;在截取数值大于短码位数包含的标识位数确定的数值上限值时,将截取数值与短码位数包含的标识位数确定的数值上限值的差值,确定为目标标识值。
[0090] 具体的,将标识位数确定的数值上限值与截取数值进行比较,若截取数值小于等于标识位数确定的数值上限值,则将截取数值直接确定为目标标识值;若截取数值大于标识位数确定的数值上限值,则将截取位数与标识位数确定的数值上限值的差值作为目标标识值。
[0091] 本方案通过在截取数值小于等于短码位数包含的标识位数确定的数值上限值时,将截取数值,确定为目标标识值,在截取数值大于短码位数包含的标识位数确定的数值上限值时,将截取数值与短码位数包含的标识位数确定的数值上限值的差值,确定为目标标识值,通过比较截取数值和标识位数确定的数值上限值,避免了对截取数值的无差异化调整,针对存在数值溢出的截取数值进行针对性调整,提高了截取数值调整的针对性和灵活性,保证了短链接生成过程的容错性。
[0092] 实施例三
[0093] 图3为本发明实施例三提供的长链接压缩为短链接的应用场景图。如图3所示,长链接的长度较长,存在信息传输成本较大的问题。同时,长链接包含的信息较多,也存在信息安全性较低的问题。将长链接进行压缩,生成短链接。短链接相较于长链接而言,长度明显缩短,信息传输成本较小。并且,短链接所包含的信息较少,信息安全性较高。
[0094] 图4为本发明实施例三提供的长链接转换短链接的应用场景图。如图4所示,在短链接生成过程中,业务系统通过调用短链接生成系统(即本设备)的长链接转换短链接接口向短链接生成系统发送短链接获取请求。其中,短链接获取请求包括业务系统发送的长链接和长链接的有效期等信息。短链接生成系统获取到业务系统发送的短链接获取请求,提取短链接获取请求中的长链接和长链接的有效期等信息。短链接生成系统内部将长链接转换成短链接,并将长链接和短链接共同保存在数据库中。短链接生成系统将转换后的短链接反馈给业务系统。业务系统获取到短链接,将短链接发送给用户端。在短链接访问过程中,用户端通过访问短链接,跳转至短链接生成系统的短链接转换长链接接口。短链接生成系统根据用户端访问的短链接,在数据库中查询并获取长链接。短链接生成系统根据长链接跳转访问业务系统对应的页面。
[0095] 图5为本发明实施例三提供的长链接转换短链接方法的流程图。参见图5所示的长链接转换短链接方法,包括:
[0096] 步骤1、在缓存中查询是否存在长链接。
[0097] 具体的,业务系统可以通过调用短链接生成系统提供的长链接转换短链接接口,向短链接生成系统发送短链接获取请求。其中,短链接获取请求包括长链接和长链接的有效期等信息。短链接生成系统接收到业务系统发送的短链接获取请求,提取短链接获取请求中的长链接和长链接的有效期等信息。短链接生成系统根据字符串算法(例如Hash128算法),计算长链接对应的长链接标识值。其中,长链接标识值可以是与长链接具有唯一对应的标识值。示例性的,长链接标识值可以为16进制的32位字符串。根据长链接标识值,在缓存中查询是否存在该长链接标识值对应的目标短链接和长链接。若存在,则比较在缓存中查询的长链接与业务系统发送的长链接是否一致,若一致,则直接将对应的目标短链接反馈业务系统;若不一致或不存在,则在数据库中查询。
[0098] 步骤2、在数据库中查询是否存在长链接。
[0099] 具体的,可以根据长链接标识值,在数据库中查询是否存在与长链接标识值相同的长链接和目标短链接。若存在,则比较在数据库中查询的长链接与业务系统发送的长链接是否一致,若一致,则直接将对应的目标短链接反馈业务系统,并比较业务系统发送的长链接的有效期和数据库中存储的长链接的有效期,将较长的有效期作为该长链接的有效期,以实现对长链接的有效期的更新。若不一致,表明业务系统发送的长链接没有生成过目标短链接,则执行生成目标短链接的目标标识值的步骤。若不存在,则执行生成目标短链接的目标标识值的步骤。
[0100] 步骤3、生成目标短链接的目标标识值。
[0101] 图6为本发明实施例三提供的目标短链接格式的结构示意图。如图6所示,目标短链接包括域名和目标短码。其中,域名为“u.xx.com/x/”;目标短码为“a1b2c3d4e5”。短码位数为10位。目标短码包括6位目标标识值、2位目标随机值和2位业务系统标识值。可选的,目标短码可以为62进制。
[0102] 具体的,可以根据业务系统发送的短码位数,确定生成的目标短链接的短码位数。根据短码位数和目标短码的格式,确定标识位数。根据标识位数和第一进制,确定标识位数对应的数值上限值。根据标识位数确定的数值上限值,确定目标数值。根据第二进制和目标数值,确定截取位数。根据截取位数对长链接标识值进行截取。根据第二进制,确定截取数值。对比截取数值与标识位数确定的数值上限值,在截取数值小于等于标识位数对应的数值上限值时,可以理解为截取数值相对于标识位数对应的数值上限值不存在数值溢出,按照标识位数,直接将截取数值转换为目标标识值。在截取位数大于标识位数对应的数值上限值时,可以理解为截取数值相对于标识位数对应的数值上限值存在数值溢出,将截取数值与标识位数对应的数值上限值做差值,按照标识位数,将差值转换为目标标识值。
[0103] 示例性的,业务系统发送的短码位数可以为10位,目标短码格式可以如图6所示。确定标识位数为6位。目标短码对应的第一进制为62进制,确定标识位数对应的数值上限值
6 6
为62‑1,目标数值为62。长链接标识值可以为16进制的32位字符串。长链接标识值对应的第二进制为16进制。计算第二进制的穷举位数次方,将第二进制的穷举位数次方大于目标
1 2 3 4 5 6 7 8 9
数值的穷举位数,确定为截取位数。例如,依次计算16、16、16 、16、16、16、16、16 和16,
6 9 6
分别与目标数值进行62 对比,确定16>62 ,可以确定截取位数为9位。可以对长链接标识值进行末尾截取,得到截取数值。可以将9位截取数值转换为10进制,判断截取数值是否大于
6
标识位数确定的数值上限值62 ‑1,若否,则不存在数值溢出,将截取数值直接转换成62进制6位目标标识值;若是,则存在数值溢出,将截取数值减去标识位数确定的数值上限值
6
62‑1的差值,转换成62进制6位目标标识值。
[0104] 步骤4、随机生成目标随机值。
[0105] 具体的,可以在预设随机数范围内取值,生成目标随机值。示例性的,如图6所示。2
目标随机值可以为2位62进制字符串。预设随机数范围可以为0至62‑1。在预设随机数范围内任取随机数,并将该随机数转换成62进制2位的目标随机值。可以将目标标识值、目标随机值和业务系统标识值进行组合,生成目标短码。将域名和目标短码进行组合,生成目标短链接。在生成目标短链接之后,可以将目标短链接、长链接和长链接标识值存入数据库中。
若存入数据库失败,可以理解为数据库中存在与目标短链接相同的历史短链接,则在预设随机数范围内重新取值,更新目标随机值。将目标标识值、更新的目标随机值和业务系统标识值进行组合,更新目标断码。将域名和目标短码进行组合,更新目标短链接。再次将更新的目标短链接存入数据库中。若存入数据库失败,则重复在预设随机数范围内重新取值,生成目标随机值的步骤。
[0106] 可选的,在存入数据库之前,还可以对生成的目标短链接进行敏感词校验,若校验通过,则将目标短链接存入数据库;若校验不通过,则重复在预设随机数范围内重新取值,生成目标随机值的步骤。可选的,目标随机值的随机生成次数不超过预设随机生成次数。其中,预设随机生成次数可以由技术人员根据经验进行设定和调整。示例性的,预设随机生成次数可以为3次。
[0107] 步骤5、差集生成目标随机值。
[0108] 目标随机值的随机生成次数超过预设随机生成次数,可以理解为目标随机值在预设随机数范围内的重复率较高。此时,可以通过做差集的方式生成目标随机值。
[0109] 具体的,可以通过目标标识值在数据库中查询具有目标标识值的历史短链接的历史随机值。计算预设随机数范围与具有目标标识值的历史短链接的历史随机值的差集。其中,差集表示未与目标标识值组合生成目标短码的目标随机值的范围。在差集内重新选取随机数,更新目标随机值。将目标标识值、更新的目标随机值和业务系统标识值进行组合,更新目标短码。将域名和目标短码进行组合,更新目标短链接。
[0110] 将更新的目标短链接存入数据库。若存入库失败,则重复确定差集步骤。可选的,差集生成目标随机值的次数不超过预设差集生成次数。其中,预设差集生成次数可以由技术人员根据经验进行设定和调整。示例性的,预设差集生成次数可以为3次。若不存在差集或者超过预设差集生成次数,则执行对长链接标识值进行移位截取,重新生成目标标识值的步骤。可选的,目标标识值的生成次数不超过预设标识生成次数。若超过预设标识生成次数,则目标短链接生成失败,无法生成目标短链接。
[0111] 若存入数据库成功,则将目标短链接、长链接和长链接标识值存入缓存中,可以在缓存中添加长链接的有效期。示例性的,长链接的有效期可以为1分钟。若短链接生成系统通过长链接标识值确定业务系统重复发送长链接,则短链接生成系统直接向业务系统反馈目标短链接和长链接。示例性的,长链接有效期也可以为3天。在业务系统查询目标短链接时,可以通过查询长链接标识值,获取长链接对应的目标短链接。可选的,短链接生成系统也可以将目标短链接和长链接存入缓存中。在用户端对短链接进行访问时,可以通过用户端发送的目标短链接,在缓存中查询长链接,并跳转访问长链接。可选的,也可以添加长链接的有效期。示例性的,长链接的有效期可以为3天。其中,数据库中长链接的有效期大于缓存中长链接的有效期。示例性的,数据库中长链接的有效期可以为10天;缓存中长链接的有效期可以为3天。当超过长链接的有效期时,缓存或数据库会对长链接、长链接标识值和短链接进行删除清理。通过添加长链接的有效期,避免了不常使用的长链接和对应的短链接对存储空间的占用,同时,通过定期清理短链接,也可以减小短链接的重复率。
[0112] 步骤6、通过目标短链接访问长链接。
[0113] 具体的,在用户端访问目标短链接时,可以跳转至短连接生成系统的短链接转换长链接接口。短连接生成系统可以先对目标短链接的域名和目标短码进行合理性分析,若不合理,则返回错误界面。若合理,则根据目标短链接在缓存中查询,若缓存中存在目标短链接,则获取长链接并跳转访问。若缓存中不存在目标短链接,则在数据库中进行查询。若数据库中不存在目标短链接,则返回错误界面;若数据库中存在目标短链接,则获取长链接并跳转访问。
[0114] 本方案通过生成长链接标识值,利用具有唯一性的长链接标识值对缓存和数据库进行依次查询,实现了通过长链接标识值查询目标短链接的过程。在未查询到目标短链接时,通过确定截取位数,保证了标识位数确定的数据范围的最大化,提高了短链接的唯一性。通过对具有唯一性的长链接标识值进行截取,生成目标标识值,提高了目标标识值的安全性。在检测到与目标短链接重复的历史短链接时,通过更新目标随机值,实现了对目标短链接的微调,提高了目标短链接的调整效率,减小了目标短链接的重复率。在目标随机值的随机生成次数大于预设随机生成次数时,通过做差集的方式更新目标随机值,进一步避免了目标短链接的重复率。在目标随机值的差集生成次数大于预设差集生成次数时,以及目标随机值不存在差集时,通过移位截取的方式更新目标标识值,进一步减小了目标短链接的重复率。通过将目标短链接、长链接和长链接标识值存入缓存或数据库,便于对目标短链接的查询,以及通过目标短链接访问长链接,保证了目标短链接的后续使用。
[0115] 实施例四
[0116] 图7为本发明实施例四提供的一种短链接生成装置的结构示意图。本实施例可适用于根据长链接生成短链接的情况,该装置可以执行短链接生成方法,该装置可以采用硬件和/或软件的形式实现,该装置可配置于承载短链接生成功能的电子设备中。
[0117] 参见图7所示的短链接生成装置,包括:短码位数获取模块710、长链接标识值获取模块720、目标标识值确定模块730和目标短链接生成模块740。其中,
[0118] 短码位数获取模块710,用于获取业务系统发送的短码位数,并根据短码位数确定截取位数,截取位数确定的数值上限值大于短码位数包含的标识位数确定的数值上限值;
[0119] 长链接标识值获取模块720,用于获取长链接的长链接标识值;
[0120] 目标标识值确定模块730,用于根据截取位数对长链接标识值进行截取,得到目标标识值;
[0121] 目标短链接生成模块740,用于根据目标标识值,生成目标短链接。
[0122] 本发明实施例的技术方案,通过获取业务系统发送的短码位数,并根据短码位数确定截取位数,截取位数确定的数值上限值大于短码位数包含的标识位数确定的数值上限值,获取长链接的长链接标识值,根据截取位数对长链接标识值进行截取,得到目标标识值,根据目标标识值,生成目标短链接,以使截取位数的数值范围覆盖短码位数确定的数值范围,保证了标识位数确定的数值范围的最大化,利用最大化的数值范围,解决了对大量的长链接进行直接截取生成短链接时,存在不同长链接生成同一短链接的情况,减少了短链接的重复率,提高短链接的唯一性。同时,通过对与长链接具有唯一对应关系的长链接标识值进行截取,而非直接对长链接进行截取,既保证了信息传输的安全性,又进一步减小了短链接的重复率,提高了短链接的唯一性。
[0123] 在本发明的一个可选实施例中,短码位数获取模块710,包括:第一进制获取单元,用于获取短码位数对应的第一进制,并生成短码位数包含的标识位数对应的数值上限值;第二进制获取单元,用于获取第二进制;目标数值获取单元,用于获取大于短码位数包含的标识位数对应的数值上限值的目标数值;截取位数确定单元,用于据第二进制和目标数值,确定截取位数。
[0124] 在本发明的一个可选实施例中,目标标识值确定模块730,包括:截取数值获取单元,用于根据截取位数对长链接标识值进行截取,得到截取数值;目标标识值确定单元,用于根据短码位数包含的标识位数确定的数值上限值,对截取数值进行调整,得到目标标识值。
[0125] 在本发明的一个可选实施例中,目标标识值确定单元,具体用于:在截取数值小于等于短码位数包含的标识位数确定的数值上限值时,将截取数值,确定为目标标识值;在截取数值大于短码位数包含的标识位数确定的数值上限值时,将截取数值与短码位数包含的标识位数确定的数值上限值的差值,确定为目标标识值。
[0126] 在本发明的一个可选实施例中,目标短链接生成模块740,包括:目标随机值确定单元,用于在预设随机数范围内取值,得到目标随机值;第一目标短链接生成单元,用于根据目标标识值和目标随机值,生成目标短链接。
[0127] 在本发明的一个可选实施例中,在生成目标短链接之后,目标短链接生成模块740,还包括:目标随机值更新单元,用于在检测到目标短链接与预先生成的历史短链接相同时,在预设随机数范围内重新取值,更新目标随机值;第二目标短链接生成单元,用于根据目标标识值和更新的目标随机值,生成目标短链接。
[0128] 在本发明的一个可选实施例中,目标标识值确定模块730,包括:目标标识值确定单元,用于根据截取位数在长链接标识值的第一截取位置进行截取,得到目标标识值;在生成目标短链接之后,目标标识值确定模块730,还包括:目标标识值更新单元,用于在检测到目标短链接与预先生成的历史短链接相同时,根据截取位数在长链接标识值的第二截取位置进行截取,更新目标标识值,第一截取位置和第二截取位置不同;第三目标短链接生成单元,用于根据更新的目标标识值和目标随机值,生成目标短链接。
[0129] 本发明实施例所提供的短链接生成装置可执行本发明任意实施例所提供的短链接生成方法,具备执行方法相应的功能模块和有益效果。
[0130] 本发明的技术方案中,所涉及的业务系统发送的短码位数、长链接标识值、第一进制和第二进制等的获取、存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
[0131] 实施例五
[0132] 图8示出了可以用来实施本发明的实施例的电子设备800的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
[0133] 如图8所示,电子设备800包括至少一个处理器801,以及与至少一个处理器801通信连接的存储器,如只读存储器(ROM)802、随机访问存储器(RAM)803等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器801可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。处理器801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
[0134] 电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0135] 处理器801可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器801执行上文所描述的各个方法和处理,例如短链接生成方法。
[0136] 在一些实施例中,短链接生成方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由处理器801执行时,可以执行上文描述的短链接生成方法的一个或多个步骤。备选地,在其他实施例中,处理器801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行短链接生成方法。
[0137] 本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0138] 用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0139] 在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0140] 为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0141] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
[0142] 计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS(Virtual Private Server,虚拟专用服务器)服务中,存在的管理难度大,业务扩展性弱的缺陷。
[0143] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
[0144] 上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。