一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

长链接数据处理方法、装置和设备与流程

2022-06-01 05:52:52 来源:中国专利 TAG:


1.本技术涉及计算机领域,尤其涉及一种长链接数据处理方法、装置和设备。


背景技术:

2.在一些业务场景中,当用户终端向业务平台发送业务请求后,业务平台可以根据该用户终端和该业务请求生成业务链接。业务平台可以将该业务链接通过短信等方式发送到该用户终端。该用户终端可以通过该业务链接访问该业务。
3.目前,业务平台通常通过直接将该业务链接添加到文案中,并发送该文案的方式,实现该业务链接的发送。其中,业务链接添加到文案中的方式通常可以包括直接将该业务链接添加到文案中,以及将该业务链接转换为二维码后添加到文案两种方式。
4.然而,当业务链接为长链接数据时,该业务链接可能出现被拆分成多条短信、二维码密集度过高等情况,该情况的出现将提高用户终端获取该业务链接的难度,导致业务链接识别效率低的问题。


技术实现要素:

5.本技术提供一种长链接数据处理方法、装置和设备,用以解决业务链接识别效率低的问题。
6.第一方面,本技术提供一种长链接数据处理方法,包括:
7.获取用户终端上传的业务请求,并根据所述业务请求生成长链接数据;
8.根据预设算法将所述长链接数据转换为短链接数据,并将所述短链接数据作为业务链接;
9.将所述业务链接发送到所述用户终端。
10.可选地,所述根据预设算法将所述长链接数据转换为短链接数据,包括:
11.对所述长链接数据进行处理,得到所述长链接数据的业务摘要;
12.将所述业务摘要与预设的短码域名组合,得到所述短链接数据。
13.可选地,所述对所述长链接数据进行处理,得到所述长链接数据的业务摘要,包括:
14.使用哈希算法对所述长链接数据进行计算,得到业务摘要;
15.判断所述业务摘要是否已经存在于数据库中;
16.当所述业务摘要不存在于所述数据库中时,结束循环迭代;
17.当所述业务摘要存在于所述数据库中时,在所述长链接数据的末尾添加后缀参数,得到新的长链接数据,并使用哈希算法对所述新的长链接数据进行计算,得到业务摘要,判断所述业务摘要是否已经存在于所述数据库中,致使所述业务摘要存在于所述数据库中时,结束循环迭代。
18.可选地,根据预设算法将所述长链接数据转换为短链接数据之后,所述方法,包括:
19.建立业务摘要与所述长链接数据的映射关系;
20.将所述业务摘要、所述长链接数据,以及所述业务摘要和所述长链接数据映射关系存储到数据库中。
21.可选地,将所述业务链接发送到所述用户终端之后,所述方法,包括:
22.获取用户终端上传的链接请求,所述链接请求在用户终端识别所述业务链接时被触发,所述链接请求中包括所述业务链接;
23.根据所述业务链接和映射关系,确定所述业务链接对应的长链接数据;
24.将所述链接请求重定向到所述长链接数据。
25.可选地,所述根据所述业务链接和所述映射关系,确定所述业务链接对应的长链接数据,包括:
26.根据所述业务链接中的业务摘要,从缓存中获取所述业务摘要对应的长链接数据。
27.可选地,所述根据所述业务链接和所述映射关系,确定所述业务链接对应的长链接数据,还包括:
28.当无法从缓存中查询所述业务摘要对应的长链接数据时,根据所述业务链接中的短码域名,确定所述业务链接对应的数据库;
29.根据所述业务链接中的业务摘要和所述数据库,确定所述业务链接对应的长链接数据。
30.可选地,所述方法,还包括:
31.当所述业务链接不存在对应的长链接数据时,向用户终端反馈异常提醒。
32.第二方面,本技术提供一种长链接数据处理装置,包括:
33.获取模块,用于获取用户终端上传的业务请求,并根据所述业务请求生成长链接数据;
34.处理模块,用于根据预设算法将所述长链接数据转换为短链接数据,并将所述短链接数据作为业务链接;将所述业务链接发送到所述用户终端。
35.可选地,所述处理模块,具体用于:
36.对所述长链接数据进行处理,得到所述长链接数据的业务摘要;
37.将所述业务摘要与预设的短码域名组合,得到所述短链接数据。
38.可选地,所述处理模块,具体用于:
39.使用哈希算法对所述长链接数据进行计算,得到业务摘要;
40.判断所述业务摘要是否已经存在于数据库中;
41.当所述业务摘要不存在于所述数据库中时,结束循环迭代;
42.当所述业务摘要存在于所述数据库中时,在所述长链接数据的末尾添加后缀参数,得到新的长链接数据,并使用哈希算法对所述新的长链接数据进行计算,得到业务摘要,判断所述业务摘要是否已经存在于所述数据库中,致使所述业务摘要存在于所述数据库中时,结束循环迭代。
43.可选地,处理模块,还用于:
44.建立业务摘要与所述长链接数据的映射关系;
45.将所述业务摘要、所述长链接数据,以及所述业务摘要和所述长链接数据映射关
系存储到数据库中。
46.可选地,处理模块,还用于:
47.获取用户终端上传的链接请求,所述链接请求在用户终端识别所述业务链接时被触发,所述链接请求中包括所述业务链接;
48.根据所述业务链接和映射关系,确定所述业务链接对应的长链接数据;
49.将所述链接请求重定向到所述长链接数据。
50.可选地,处理模块,具体用于:
51.根据所述业务链接中的业务摘要,从缓存中获取所述业务摘要对应的长链接数据。
52.可选地,处理模块,具体用于:
53.当无法从缓存中查询所述业务摘要对应的长链接数据时,根据所述业务链接中的短码域名,确定所述业务链接对应的数据库;
54.根据所述业务链接中的业务摘要和所述数据库,确定所述业务链接对应的长链接数据。
55.可选地,处理模块,具体用于:
56.当所述业务链接不存在对应的长链接数据时,向用户终端反馈异常提醒。
57.第三方面,本技术提供一种长链接数据处理系统,包括:网关层和业务层,所述业务层中包括短码服务、短信服务和至少一个业务服务;
58.所述网关层接收用户终端发送的业务请求,并将所述业务请求转发到所述业务层的业务服务中;
59.所述业务服务根据所述业务请求,生成长链接数据;所述业务服务将所述长链接数据发送到所述短码服务中;
60.所述短码服务将所述长链接数据转换为短链接数据,并将所述短链接数据作为业务链接反馈到所述业务服务中;
61.所述业务服务将所述业务链接发送到所述短信服务中,并通过所述短信服务将所述业务链接反馈到所述用户终端。
62.可选地,所述系统,还包括:数据库;
63.所述短码服务将所述长链接数据、所述长链接数据的业务摘要、以及所述业务摘要和所述长链接数据映射关系存储到所述数据库中。
64.可选地,所述系统,还包括:
65.所述网关层接收所述用户终端发送的链接请求,并将所述链接请求转发到所述业务层的所述短码服务中;
66.所述短码服务根据所述链接请求,确定其中的业务摘要;所述短码服务根据所述业务摘要从所述数据库中查询得到其对应的长链接数据;所述短码服务使用所述长链接数据更新所述链接请求,并将所述链接请求反馈到所述网关层,以使所述网关层重定向所述链接请求。
67.第四方面,本技术提供一种服务器,包括:存储器和处理器;
68.所述存储器用于存储计算机程序;所述处理器用于根据所述存储器存储的计算机程序执行第一方面及第一方面任一种可能的设计中的长链接数据处理方法。
69.第五方面,本技术提供一种可读存储介质,可读存储介质中存储有计算机程序,当服务器的至少一个处理器执行该计算机程序时,服务器执行第一方面及第一方面任一种可能的设计中的长链接数据处理方法。
70.第六方面,本技术提供一种计算机程序产品,所述计算机程序产品包括计算机程序,当服务器的至少一个处理器执行该计算机程序时,服务器执行第一方面及第一方面任一种可能的设计中的长链接数据处理方法。
71.本技术提供的长链接数据处理方法,通过获取用户终端上传的业务请求,该业务请求中可以包括用户请求的具体业务;根据用户请求的具体业务,生成长链接数据;在生成长链接数据后,调用中的短码服务该短码服务可以用于将该长链接数据转换为短链接数据;将该短链接数据作为业务链接添加到短信文案中,并通过短信的方式将该业务链接发送到用户终端的手段,实现提高该业务链接的识别效率,提高用户体验效果。
附图说明
72.为了更清楚地说明本技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
73.图1为本技术一实施例提供的一种二维码示意图;
74.图2为本技术一实施例提供的一种长链接数据处理的场景示意图;
75.图3为本技术一实施例提供的一种长链接数据处理方法的流程图;
76.图4为本技术一实施例提供的一种短链接数据生成方法的流程图;
77.图5为本技术一实施例提供的一种长链接数据处理方法的流程图;
78.图6为本技术一实施例提供的一种长链接数据处理方法的流程图;
79.图7为本技术一实施例提供的一种业务请求的流程图;
80.图8为本技术一实施例提供的一种长链接数据处理装置的结构示意图;
81.图9为本技术一实施例提供的一种长链接数据处理系统的结构示意图;
82.图10为本技术一实施例提供的一种服务器的硬件结构示意图。
具体实施方式
83.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
84.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
85.取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
86.再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。
87.应当进一步理解,术语“包含”、“包括”表明存在的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。
88.此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“a、b或c”或者“a、b和/或c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a、b和c”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
89.在一些业务场景中,当用户终端向业务平台发送业务请求后,业务平台可以根据该用户终端和该业务请求生成业务链接。业务平台可以将该业务链接通过短信等方式发送到该用户终端。该用户终端可以通过该业务链接访问该业务。业务平台通常通过直接将该业务链接添加到文案中,并发送该文案的方式,实现该业务链接的发送。业务链接添加到文案中的方式通常可以包括直接将该业务链接添加到文案中。当业务链接所展示的地址很长时,业务平台通过短信发送该文案,会影响到短信发送的效果。该文案可能被拆分成多条短信。业务链接添加到文案中的方式还可以包括将该业务链接转换为二维码后添加到文案中。当业务链接所展示的地址很长时,该业务链接转换得到的二维码通常较为密集,例如,长链接数据-阿里云日志链接可以为:https://sls.console.aliyun.com/lognext/project/k8s-log-c277b88934cfd4a7892e34be96be679ad/logsearch/tsp-message-distribution-info?encode=base64&querystring=mtyyntq0odc1ntc4mq==&querytimetype=99&starttime=1625447901&endtime=1625448801,该长链接数据转换后的二维码可以如图1(a)所示。
90.上述情况的出现,可能导致用户终端无法准确识别该业务链接。例如,当一个业务链接呗拆分到多条短信中时,用户终端可能多条短信中的业务链接识别为多条链接。当用户终端使用该识别得到的多条链接中的任意一条时,该用户终端均无法成功完成业务请求。又如,该如图1(a)所示的二维码可能由于短信长度的限制被压缩。压缩后的如图1(a)所示的二维码将出现无法识别等问题。上述问题的出现不仅导致业务链接的识别效率降低,而且导致用户体验下降。
91.如果业务平台使用的是短链接数据,则该短链接数据可以完整显示在一条短信中。或者,该短链接数据转换的二维码通常较为简单。例如,短链接数据-百度的链接地址可以为:https://www.baidu.com/,该短链接数据转换后的二维码可以如图1(b)所示。如图1(b)所示的二维码本身的数据量较小,且压缩后的对于清晰度的影响较低,通常任然可以被准确识别。
92.因此,为了解决上述问题,本技术提出了一种长链接数据处理方法。业务平台可以使用特殊的hash算法把长链接数据转换成短码。业务平台可以使用该短码生成短链接数据。该业务平台还可以将短链接数据发送到用户终端。当业务平台检测到用户点击该短链接数据时,该业务平台可以在业务平台侧跳转到原长链接数据地址。该长链接数据的转换可以有效提高该业务链接的识别效率,提高用户体验。同时,该方法中,特殊的hash算法具有转换速度块、短码冲突率低的特点。因此,使用该特殊的hash算法实现该长链接数据处理
的处理效率高,该业务平台可以在业务请求较为密集时更加稳定的为用户提供服务。此外,业务平台侧的跳转对于用户终端侧而言是无感知的,进一步提高了用户体验。
93.下面以具体地实施例对本技术的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
94.图2示出了本技术一实施例提供的一种长链接数据处理的系统架构示意图。如图所示,本技术的业务平台可以包括一级网关和短码服务二个核心服务。此外,该业务平台还可以包括tsp网关、业务服务等服务。
95.其中,一级网关主要用于信息的转发。例如,该一级网关可以用于接收并转发来自客户端的业务请求。该业务请求可以为普通流量的业务请求。该业务请求具体可以为http请求。该一级网关还可以通过判断该业务请求中的域名,把该业务请求转发给该业务平台中的某一业务服务。例如,由于用户只能查询实名认证后的sim卡的流量。因此,当一级网关接收到该流量查询请求时,一级网关可以在将该业务请求转发到业务服务之前,先将流量查询请求转发到tsp网关。
96.其中,tsp网关用于对业务请求进行鉴权。即该tsp网关用于判断用户是否有权限请求具体业务。例如,在流程查询请求中,该tsp网关用于判断该用户是否有查询流量api的权限。当该tsp网关确定该用户具有请求该具体业务的权限时,该tsp网关可以将该业务请求转发到业务服务。
97.其中,业务服务具体可以包括两个操作。首先,当业务服务接收到用户发送的业务请求时,该业务服务会判断该sim卡是否进行了实名认证。如果该sim卡没有进行实名认真,则该业务服务发送短信提醒用户进行实名认证。如果该sim卡已经完成了实名认证,则该业务服务将与具体业务相关联。该业务服务可以生成一个与具体业务相关的长链接数据。该长链接数据为一个较长的网址。当用户点击该网址时,用户可以在用户终端跳转到具体业务相关的界面。
98.业务服务会请求短码服务。该短码服务将根据该长链接数据生成对应的短链接数据。业务服务可以获取短码服务转换得到的短链接数据。业务服务可以使用短信服务将该短链接数据添加到短信文案中。该业务服务还可以通过短信服务,将包含短链接数据的短信发送到用户终端。该短链接数据的使用可以缩减短信文字个数,达到短信运营商的发送要求。
99.当用户点击该短信中的短链接数据时,一级网关可以接收到链接请求。该链接请求中可以包括短链流量。一级网关可以将该链接请求转发到短码服务。短码服务可以将该短链接数据重定向到长链接数据,并将重定向后的链接请求反馈给一级网关。一级网关可以根据重定向后的链接请求,将该链接请求转发到业务服务。该业务服务根据该长链接数据,将具体业务相关的信息反馈到用户终端,实现用户终端的业务请求。
100.一种示例中,当网关层无法判断该业务链接是否合法时,短码服务可以引入sentinel框架,并通过限流来保证短码服务的基本可用性。其中,sentinel框架是面向分布式服务框架的轻量级流量控制框架。该sentinel框架主要以流量为切入点,从流量控制、熔断降级、系统负载等多个维度来维护系统的稳定性。
101.此外,本技术通过将业务服务与短码服务、短信服务等服务区分,实现了系统的解耦,避免在业务服务的逻辑设置中与短码服务、短信服务的耦合,提高了系统的稳定性与灵
活性。
102.本技术中,以业务平台为执行主体,执行如下实施例的长链接数据处理方法。该业务平台运行与服务器中。具体地,该执行主体可以为运行有该业务平台的服务器的硬件装置,或者为运行于服务器中并可以实现下述实施例的软件应用,或者为设置于服务器中并安装有实现下述实施例的软件应用的计算机可读存储介质,或者为实现下述实施例的软件应用的代码。
103.图3示出了本技术一实施例提供的一种长链接数据处理方法的流程图。
104.如图3所示,以业务平台为执行主体,本实施例的方法可以包括如下步骤:
105.s101、获取用户终端上传的业务请求,并根据业务请求生成长链接数据。
106.本实施例中,业务平台中的业务服务可以获取用户终端上传的业务请求。该业务请求中可以包括用户请求的具体业务。业务平台中的业务服务根据用户请求的具体业务,生成长链接数据。用户终端可以通过该长链接数据访问并显示该具体业务对应的相关页面。例如,当用户想要查询sim卡流量时,该业务请求可以为流量查询请求。业务平台中的业务服务可以根据该流程查询请求,确定其查询结果。业务平台中的业务服务可以根据该查询结果生成相关页面。该相界面对应于一个长链接数据。用户终端可以通过该长链接数据访问并查看该相关页面。
107.一种示例中,该业务请求中还可以包括用户信息。业务平台中还可以包括tsp网关、验证服务等服务。tsp网关可以根据该用户信息,确定该用户信息是否具有请求该具体业务的权限。验证服务可以根据该用户信息,对用户身份进行安全验证。
108.s102、根据预设算法将长链接数据转换为短链接数据,并将短链接数据作为业务链接。
109.本实施例中,业务平台的业务服务可以在生成长链接数据后,调用业务平台中的短码服务。该业务平台中的短码服务可以用于将该长链接数据转换为短链接数据。业务平台的业务服务可以将该短链接数据作为业务链接。
110.一种示例中,如图4所示,业务平台的短码服务将长链接数据转换为短链接数据的具体过程可以包括如下步骤:
111.步骤1、使用预设算法对长链接数据进行处理,得到长链接数据的业务摘要。
112.本步骤中,当短链接数据中的业务摘要可以用于唯一描述该长链接数据时,该业务平台可以根据该短链接数据确定其唯一对应的长链接数据。当该短链接数据被访问时,该业务平台可以根据该短链接数据唯一对应的长链接数据进行跳转,实现用户侧的无感切换。因此,在本实施例中,当该短链接数据中的业务摘要具有唯一性时,该业务摘要即为有效的业务摘要。
113.一种实现方式中,该预设算法可以用于记录长链接数据的条数。业务平台可以根据该长链接数据的条数,确定该长链接数据的编号。该编号即为该长链接数据的业务摘要。该编号用于唯一标记一条长链接数据。该编号的长度可以根据该业务平台需要的短链接数据的长度确定。
114.另一种实现方式中,该预设算法可以用于生成一段预设长度的随机字符串。业务平台可以将该随机字符串作为该长链接数据的业务摘要。该随机字符串的长度可以根据该业务平台需要的短链接数据的长度确定。
115.再一种实现方式中,该预设算法可以消息摘要算法(message digest algorithm 5,md5)、安全散列算法(secure hash algorithm)、散列消息鉴别码(hash message authentication code,mac)等消息摘要算法。这些消息摘要算法可以实现从长链接数据中提取业务摘要的需求。
116.又一种实现方式中,该预设算法可以为预设哈希算法和62算法。业务平台使用预设哈希算法和62算法提取业务摘要的过程可以包括如下步骤:
117.步骤1.1、业务平台可以使用哈希算法对长链接数据进行计算,得到业务摘要。其中,该哈希算法可以为64-bit的murmurhash3算法。当完成该长链接数据的哈希计算后,业务平台还可使用62算法,将该业务摘要压缩到11位。例如,该11位的业务摘要可以为1a9pybvsaok。
118.其中,hash算法是一种将任意长度的数据压缩到某一固定长度的数据摘要的算法。murmurhash算法是一种非加密型hash函数。murmurhash算法通常适用于的哈希检索操作。murmurhash3算法是在原murmurhash算法的基础之上可以支持32-bit,64-bit及128-bit数据处理的hash函数。该murmurhash3算法的计算速度相较于其他的hash算法更快。特别是对于大数据的处理,该murmurhash3算法,具有较高的平衡性与较低hash冲突率。其中,hash冲突就是指上述算法中不同的源数据通过hash算法得到了同个摘要的情况。如果出现hash冲突,则该摘要将不能唯一确定一个源数据。本实施例中,该64-bit的murmurhash3算法的使用可以将hash冲突率降低到百亿分之一。其中,62算法为一种类似16进制的算法。
119.步骤1.2、业务平台可以判断该业务摘要是否已经存在于数据库中。如果该业务摘要已经存在于数据库中,则说明出现了hash冲突。为了保证每一业务摘要可以唯一对应于一个长链接数据,业务平台可以执行步骤1.4重新生成新的业务摘要。否则,当该业务摘要不存在于数据库中时,该业务平台可以执行步骤1.3。
120.步骤1.3、当业务摘要存在于数据库中时,业务平台可以结束循环迭代,并输出该业务摘要。
121.步骤1.4、当业务摘不要存在于数据库中时,业务平台可以在长链接数据的末尾添加后缀参数,得到新的长链接数据。该后缀参数可以为一段固定长度的不影响长链接数据的业务信息的随机字符串。或者,该后缀参数可以为一段固定长度的不影响长链接数据的业务信息的当前时刻的时间戳。当该长链接数据完成该后缀参数的添加后,得到新的长链接数据。该新的长链接数据将跳转到步骤1.1继续执行该长链接数据的业务摘要的提取。
122.其中,当该后缀参数为时间戳时,业务平台还可以通过统计该时间戳,确定一天中短链转换的峰谷期。在确定该峰谷期之后,业务平台可以根据该峰谷期,实现对短码服务的资源调整。例如,当早上8-9点为高峰期时,业务平台可以为该高峰期为该短码服务分配两个服务节点。又如,当2-5点为低谷期时,业务平台可以将该低谷期的短码服务缩减为一个服务节点。业务平台可以通过该资源调整,提高资源利用率。
123.步骤2、将业务摘要与预设的短码域名组合,得到短链接数据。
124.本步骤中,业务平台的短码服务可以将业务摘要与预设的短码域名组合得到短链接数据。例如,短码域名可以为sc.com。组合后的短链接数据可以为http://sc.com/1a9pybvsaok。该短链接数据即为业务链接。
125.s103、将业务链接发送到用户终端。
126.本实施例中,业务平台可以将该业务链接添加到短信文案中,并通过短信的方式将该业务链接发送到用户终端。或者,业务平台还可以将该业务链接转换为二维码,并将该二维码发送到用户终端。
127.本技术提供的长链接数据处理方法,业务平台中的业务服务可以获取用户终端上传的业务请求。该业务请求中可以包括用户请求的具体业务。业务平台中的业务服务根据用户请求的具体业务,生成长链接数据。业务平台的业务服务可以在生成长链接数据后,调用业务平台中的短码服务。该业务平台中的短码服务可以用于将该长链接数据转换为短链接数据。业务平台的业务服务可以将该短链接数据作为业务链接。业务平台可以将该业务链接添加到短信文案中,并通过短信的方式将该业务链接发送到用户终端。本技术中,通过将长链接数据转换短链接数据,并将短链接数据作为业务链接发送到用户终端,提高该业务链接的识别效率,提高用户体验。
128.图5示出了本技术一实施例提供的一种长链接数据处理方法的流程图。在图3和图4实施例的基础上,如图5所示,以业务平台为执行主体,本实施例的方法可以包括如下步骤:
129.s201、获取用户终端上传的业务请求,并根据业务请求生成长链接数据。
130.s202、根据预设算法将长链接数据转换为短链接数据,并将短链接数据作为业务链接。
131.s203、将业务链接发送到用户终端。
132.其中,步骤s201至s203与图2实施例中的步骤s101至s103实现方式类似,本实施例此处不再赘述。
133.s204、建立业务摘要与长链接数据的映射关系。
134.本实施例中,业务平台中的短码服务可以建立业务摘要与长链接数据之间的映射关系。例如,业务平台可以设置一张映射表。该映射表中包括至少两个字段。其中,一个字段用于指示业务摘要内容,另一个字段用于指示长链接数据内容。当该业务摘要与该长链接数据被写入该映射表的同一行时,该业务摘要与该长链接数据的映射关系完成建立。或者,业务平台中可以设置有数据结构。每一数据结构中可以包括两个《key,val》的数据对。其中,一个数据对的key值可以为业务摘要,其val值对应于业务摘要的字符串内容。另一个数据对的key值可以为长链接数据,其val值对应于长链接数据的字符串内容。
135.s205、将业务摘要、长链接数据,以及业务摘要和长链接数据映射关系存储到数据库中。
136.本实施例中,业务平台中的短码服务可以将该映射关系存储到数据库。例如,当业务平台通过映射表实现该业务摘要和长链接数据的映射时,该映射表可以存储于数据库中。业务平台可以通过将业务摘要和长链接数据存储到数据库中的映射表中,实现该映射关系的建立和该业务数据、长链接数据的存储。又如,当该业务摘要和长链接数据被存储在数据结构中时,该业务平台可以将该数据结构存储到该数据库中。
137.一种示例中,业务平台还可以将该业务摘要、长链接数据和映射关系存储到redis缓存中。
138.本技术提供的长链接数据处理方法,业务平台可以获取用户终端上传的业务请求,并根据业务请求生成长链接数据。业务平台可以根据预设算法将长链接数据转换为短
链接数据,并将短链接数据作为业务链接。业务平台可以将业务链接发送到用户终端。业务平台中的短码服务可以建立业务摘要与长链接数据之间的映射关系。业务平台中的短码服务可以将业务摘要、长链接数据和该映射关系存储到数据库。本技术中,通过将业务摘要、长链接数据和该映射关系存储到数据库中,实现了该映射关系的存储,从而保证业务平台可以在用户点击业务连接时,根据该业务链接中的业务摘要获取其对应的长链接数据,从而实现该业务链接的跳转,提高用户体验。
139.图6示出了本技术一实施例提供的一种长链接数据处理方法的流程图。在图3至图5实施例的基础上,如图6所示,以业务平台为执行主体,本实施例的方法可以包括如下步骤:
140.s301、获取用户终端上传的业务请求,并根据业务请求生成长链接数据。
141.s302、根据预设算法将长链接数据转换为短链接数据,并将短链接数据作为业务链接。
142.s303、将业务链接发送到用户终端。
143.其中,步骤s301至s303与图2实施例中的步骤s101至s103实现方式类似,本实施例此处不再赘述。
144.s304、获取用户终端上传的链接请求,链接请求在用户终端识别业务链接时被触发,链接请求中包括业务链接。
145.本实施例中,当业务平台将业务链接发送到用户终端之后,业务平台可以获取用户终端识别业务链接时生成并上传的链接请求。该链接请求可以在用户点击该短信中的业务链接时被触发。或者,该链接请求还可以在用户使用用户终端识别业务链接的二维码时被触发。例如,如图7所示,当用户终端的业务链接被点击时,用户终端可以生成链接请求,请求访问业务链接。该链接请求中可以包括该业务链接。该业务链接即为短链接数据。
146.s305、根据业务链接和映射关系,确定业务链接对应的长链接数据。
147.本实施例中,当业务平台的网关层接收到该链接请求时,该业务平台的第一网关可以根据该链接请求中短链接数据的短码域名,将该链接请求分配到短码服务中。短码服务可以从该链接请求中获取该业务链接。短码服务可以解析该业务链接,得到该业务链接中的业务摘要。该业务摘要可以为如图7所示shoortcode。短码服务可以根据图5实施例中存储的映射关系,确定该业务摘要对应的长链接数据。
148.一种示例中,业务平台可包括redis缓存和数据库。该redis缓存可以设置在内存中。该数据库可以设置在磁盘中。当运行该业务平台的服务器重启时,设置于内存中的redis缓存会重置清空。但是设置在磁盘中的数据库不会受到影响。业务平台从该redis缓存中查询该长链接数据将会比从存储在磁盘中的数据看中查询该长链接数据更快。业务平台可以优先匆匆该redis缓存中查询该业务摘要对应的长链接数据。该redis缓存的使用不仅可以减少数据库的访问压力,而且可以提高数据访问速度,提高短码服务的吞吐量。当该redis缓存中存在该业务摘要时,业务平台可以直接获取该长链接数据。如果缓存过期或者之前没有缓存过,那么业务平台将无法在redis缓存中找到该业务摘要对应的长链接数据。
149.当该redis缓存中不存在该业务摘要时,业务平台可以访问数据库查询该业务摘要对应的长链接数据。当该业务平台中包括多个数据库时,业务平台可以根据短码域名确定业务链接对应的数据库。或者,当该数据库中包括多张用于存储业务摘要和长链接数据
的映射关系的数据表时,该业务平台可以根据该短码域名确定业务链接对应的数据表。业务平台可以通过查询数据库中的数据表,实现该业务链接对应的长链接数据的获取。
150.s306、将链接请求重定向到长链接数据。
151.本实施例中,业务平台在获取该长链接数据后,可以使用该长链接数据,对该链接请求进行重定向。业务平台的短码服务可以将该链接请求返回到一级网关。该一级网关根据该长链接数据,对该链接请求进行重定向。业务平台中的业务服务可以根据该重定向后的链接请求获取长链接数据对应的相关页面。业务平台可以将该相关页面的内容反馈到用户终端。用户可以在该用户终端查看该相关页面。
152.其中,重定向(redirect)具体可以包括网页重定向、域名的重定向等。该重定向主要用于重新确定网络请求的域名,从而使该网络请求可以转到其它服务进行处理。本实施例中,重定向主要包括301重定向和302重定向两种。其中,301重定向代表永久重定向。针对该种重定向,业务平台在第一次查询得到长链接数据后,可以直接将该长链接数据与该短链接数据的映射关系写入redis缓存中。当该短链接数据再次被触发时,业务平台可以直接从redis缓存中得到长链接数据的地址,从而减轻短码服务的压力。其中,302重定向代表临时重定向。针对该种重定向,业务平台除了响应中用cache-control或者expired暗示浏览器缓存的情况,业务平台每一次都需要去请求短码服务。该302重定向的使用便于server统计点击数。因此,302重定向虽然会给服务端增加数据处理压力。
153.一种示例中,当业务链接不存在对应的长链接数据时,业务平台无法从redis缓存和数据库中查询得到该业务摘要对应的长链接数据。业务平台可以向用户终端反馈异常提醒。该异常提醒可以为返回http状态404。该状态404用于指示业务平台中不存在对应的长链接数据。该404的异常提醒可能由于短链接数据识别错误导致。或者,该404的异常提醒还可能由于用户终端伪造业务链接导致。
154.本技术提供的长链接数据处理方法,业务平台可以获取用户终端上传的业务请求,并根据业务请求生成长链接数据。业务平台可以根据预设算法将长链接数据转换为短链接数据,并将短链接数据作为业务链接。业务平台可以将业务链接发送到用户终端。业务平台可以获取用户终端识别业务链接时生成并上传的链接请求。业务平台可以根据业务链接和映射关系,确定业务链接对应的长链接数据。业务平台可以使用该长链接数据,对该链接请求进行重定向。本技术中,通过在使用重定向,实现了短链接数据和长链接数据在业务平台的切换,实现了用户终端侧无感知的切换,提高用户体验。
155.图8示出了本技术一实施例提供的一种长链接数据处理装置的结构示意图,如图8所示,本实施例的长链接数据处理装置10用于实现上述任一方法实施例中对应于业务平台的操作,本实施例的长链接数据处理装置10包括:
156.获取模块11,用于获取用户终端上传的业务请求,并根据业务请求生成长链接数据。
157.处理模块12,用于根据预设算法将长链接数据转换为短链接数据,并将短链接数据作为业务链接。将业务链接发送到用户终端。
158.一种示例中,处理模块12,具体用于:
159.对长链接数据进行处理,得到长链接数据的业务摘要。
160.将业务摘要与预设的短码域名组合,得到短链接数据。
161.一种示例中,处理模块12,具体用于:
162.使用哈希算法对长链接数据进行计算,得到初始业务摘要。
163.判断初始业务摘要是否已经存在于数据库中。
164.当业务摘要存在于数据库中时,结束循环迭代。
165.当业务摘不要存在于数据库中时,在长链接数据的末尾添加后缀参数,得到新的长链接数据,并使用哈希算法对新的长链接数据进行计算,得到业务摘要,判断业务摘要是否已经存在于数据库中,致使业务摘要存在于数据库中时,结束循环迭代。
166.一种示例中,处理模块12,还用于:
167.建立业务摘要与长链接数据的映射关系。
168.将业务摘要、长链接数据,以及业务摘要和长链接数据映射关系存储到数据库中。
169.一种示例中,处理模块12,还用于:
170.获取用户终端上传的链接请求,链接请求在用户终端识别业务链接时被触发,链接请求中包括业务链接。
171.根据业务链接和映射关系,确定业务链接对应的长链接数据。
172.将链接请求重定向到长链接数据。
173.一种示例中,处理模块12,具体用于:
174.根据业务链接中的业务摘要,从缓存中获取业务摘要对应的长链接数据。
175.一种示例中,处理模块12,具体用于:
176.当无法从缓存中查询业务摘要对应的长链接数据时,根据业务链接中的短码域名,确定业务链接对应的数据库。
177.根据业务链接中的业务摘要和数据库,确定业务链接对应的长链接数据。
178.一种示例中,处理模块12,具体用于:
179.当业务链接不存在对应的长链接数据时,向用户终端反馈异常提醒。
180.本技术实施例提供的长链接数据处理装置10,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
181.图9示出了本技术实施例提供的一种长链接数据处理系统的结构示意图。如图9所示,该长链接数据处理系统20,可以包括:网关层21和业务层22,业务层22中包括短码服务221、短信服务222和至少一个业务服务223。
182.本实施例中,网关层21可以接收用户终端发送请求。这些请求中可以包括业务请求、链接请求、登录请求等。当该请求为业务请求时,网关层21可以根据业务请求的业务内容,将该业务请求转发到业务层22的业务服务223中。例如,当用户需要查询sim卡流量时,网关层21可以接收到用户终端发送的流量查询请求。网关层21可以将该流量查询请求转发到业务层22的流量查询相关的业务服务中。
183.一种实现方式中,该网关层21可以如图2所示,其中包括一级网关和tsp网关。其中,一级网关可以用于实现该业务请求的转发。当该业务请求需要进行鉴权时,该一级网关可以将该业务请求转发到tsp网关。当tsp网关鉴权成功时,该tsp网关可以继续将该业务请求转发到对应的业务层22的业务服务中。当该业务请求不需要鉴权时,该一级网关可以直接将该业务请求转发到对应的业务层22的业务服务中。
184.当网关层21确定该业务请求的对应的业务服务223后,该网关层21可以将该业务
请求转发到该业务服务223中。该业务服务223可以根据业务请求,生成长链接数据。业务服务223将长链接数据发送到短码服务221中。短码服务221将长链接数据转换为短链接数据,并将短链接数据作为业务链接反馈到业务服务223中。业务服务223将业务链接发送到短信服务222中。短信服务222可以将该业务链接添加到短信文案中,并根据短信文案生成短信。该短信服务222可以将该短信发送到用户终端。
185.一种示例中,该长链接数据处理系统20中还可以包括数据库23。短码服务221可以在根据长链接数据生成业务摘要后,将该长链接数据、业务摘要、以及该业务摘要和长链接数据的映射关系存储到数据库23中。业务服务223还可将业务数据写入该数据库23中进行业务数据的存储。
186.一种示例中,如图2所示,该长链接数据处理系统20中还可以包括缓存。短码服务221可以将最近生成的业务摘要和长链接数据的映射关系、最近访问的业务摘要和长链接数据的映射关系存储到缓存中。
187.一种实现方式中,服务器可以根据每一映射关系的写入时间,定期删除缓存中的映射关系。例如,一映射关系的写入时间可以为15:00。服务器可以在17:00时,将该映射关系从缓存中删除。
188.另一种实现方式中,服务器可以根据缓存中的存储空间,定期删除缓存中的映射关系。例如,当缓存中的存储空间占用率大于98%时,服务器可以根据映射关系的写入顺序删除缓存中的映射关系,直至存储空间占用率小于80%。
189.再一种实现方式中,服务器可以定期清空除指定需要保留以外的映射关系。例如,服务器可以在每天0:00,清空存储空间中的映射关系。在该清空过程中,服务器保留指定需要保留的映射关系。
190.当用户终端接收到短信服务222发送的短信后,用户可以通过点击链接、扫描二维码等方式请求访问该业务链接。当用户终端中的链接被点击或者二维码被扫描时,该用户终端可以生成链接请求。该用户终端可以将该链接请求发送到网关层21。网关层21接收到该链接请求时,该网关层21可以根据该链接请求中的短码域名,将该链接请求转发到业务层22的短码服务221中。
191.短码服务221根据链接请求识别得到该链接请求中的业务链接。该业务链接即为短链接数据。短码服务221还可以根据该短链接数据确定其中的业务摘要。短码服务221根据业务摘要从数据库23或者缓存中查询得到其对应的长链接数据。短码服务221使用长链接数据更新链接请求。短码服务221可以将该更新后的链接请求反馈到网关层21。网关层21可以根据该更新后的链接请求中的长链接数据对该链接请求进行重定向。网关层21可以根据该链接请求中的长链接数据将该链接请求转发到业务层22中的业务服务223中,实现该用户终端对该业务服务223的访问。
192.本技术实施例提供的长链接数据处理系统20,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
193.图10示出了本技术实施例提供的一种服务器的硬件结构示意图。如图10所示,该服务器30,用于实现上述任一方法实施例中对应于服务器的操作,本实施例的服务器30可以包括:存储器31,处理器32和通信接口34。
194.存储器31,用于存储计算机程序。该存储器31可能包含高速随机存取存储器
(random access memory,ram),也可能还包括非易失性存储(non-volatile memory,nvm),例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
195.处理器32,用于执行存储器存储的计算机程序,以实现上述实施例中的长链接数据处理方法。具体可以参见前述方法实施例中的相关描述。该处理器32可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
196.可选地,存储器31既可以是独立的,也可以跟处理器32集成在一起。
197.当存储器31是独立于处理器32之外的器件时,服务器30还可以包括总线33。该总线33用于连接存储器31和处理器32。该总线33可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
198.通信接口34,可以通过总线33与处理器31连接。该通信接口34用于实现与用户终端的通信。
199.本实施例提供的服务器可用于执行上述的长链接数据处理方法,其实现方式和技术效果类似,本实施例此处不再赘述。
200.本技术还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时用于实现上述的各种实施方式提供的方法。
201.其中,计算机可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,计算机可读存储介质耦合至处理器,从而使处理器能够从该计算机可读存储介质读取信息,且可向该计算机可读存储介质写入信息。当然,计算机可读存储介质也可以是处理器的组成部分。处理器和计算机可读存储介质可以位于专用集成电路(application specific integrated circuits,asic)中。另外,该asic可以位于用户设备中。当然,处理器和计算机可读存储介质也可以作为分立组件存在于通信设备中。
202.具体地,该计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random-access memory,sram),电可擦除可编程只读存储器(electrically-erasable programmable read-only memory,eeprom),可擦除可编程只读存储器(erasable programmable read only memory,eprom),可编程只读存储器(programmable read-only memory,prom),只读存储器(read-only memory,rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
203.本技术还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。设备的至少一个处理器可以从计算机可读存储介质
中读取该计算机程序,至少一个处理器执行该计算机程序使得设备实施上述的各种实施方式提供的方法。
204.本技术实施例还提供一种芯片,该芯片包括存储器和处理器,存储器用于存储计算机程序,处理器用于从存储器中调用并运行计算机程序,使得安装有芯片的设备执行如上各种可能的实施方式中的方法。
205.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
206.其中,各个模块可以是物理上分开的,例如安装于一个的设备的不同位置,或者安装于不同的设备上,或者分布到多个网络单元上,或者分布到多个处理器上。各个模块也可以是集成在一起的,例如,安装于同一个设备中,或者,集成在一套代码中。各个模块可以以硬件的形式存在,或者也可以以软件的形式存在,或者也可以采用软件加硬件的形式实现。本技术可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
207.当各个模块以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例方法的部分步骤。
208.应该理解的是,虽然上述实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
209.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制。尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献