CN113676562B - 短链请求收敛方法、装置、计算机设备和存储介质 - Google Patents
短链请求收敛方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113676562B CN113676562B CN202110951706.6A CN202110951706A CN113676562B CN 113676562 B CN113676562 B CN 113676562B CN 202110951706 A CN202110951706 A CN 202110951706A CN 113676562 B CN113676562 B CN 113676562B
- Authority
- CN
- China
- Prior art keywords
- domain name
- convergence
- value
- configuration file
- short
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3005—Mechanisms for avoiding name conflicts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及域名解析领域,提供了一种短链请求收敛方法、装置、计算机设备和存储介质,获取短链请求;获取客户端存储的第一域名收敛配置文件;第一域名收敛配置文件包括key和value的映射关系,key为需要做收敛的四级域名,value为收敛后的三级域名所对应的IP地址或空值;检测初始URL中的待收敛域名是否存在于第一域名收敛配置文件中;若存在,则在第一域名收敛配置文件中获取待收敛域名对应的value;获取预设的固定标识,将待收敛域名、固定标识和value按照预设收敛规则进行处理,得到收敛完成的目标域名;将初始URL中的待收敛域名替换为目标域名,得到目标短链请求。通过本申请提供的一种短链请求收敛方法、装置、计算机设备和存储介质,减少域名解析次数。
Description
技术领域
本申请涉及域名解析的技术领域,特别涉及一种短链请求收敛方法、装置、计算机设备和存储介质。
背景技术
短链请求在发送前需要进行域名解析获取短链请求中的域名对应的IP地址,得到IP地址后客户端才与服务器端建立通信链路进行数据交互。在移动客户端中,除了外部接口外,在客户端业务流程中往往需要请求各种不同的服务器接口,不同的服务器接口可能由不同的分组团队开发的,用以提供不同的接口服务,为了便于管理和保持接口相对独立性,在同一的三级域名前提下,这些接口申请使用不同的四级域名,导致移动客户端针对不同的四级域名下的短链请求,需要分别进行域名解析,使得域名解析的次数较多,其次,每一次域名解析都需要消耗一定的时间,这势必会对客户端整体网络性能造成一定影响,降低用户体验。
发明内容
本申请的主要目的为提供一种短链请求收敛方法、装置、计算机设备和存储介质,旨在解决同一三级域名下的不同四级域名的短链请求会多次进行域名解析导致客户端的网络性能降低的技术问题。
为实现上述目的,本申请提供了一种短链请求收敛方法,包括以下步骤:
获取短链请求;所述短链请求包括初始URL;
获取客户端存储的第一域名收敛配置文件;所述第一域名收敛配置文件包括key和value的映射关系,所述key为需要做收敛的四级域名,所述value为对应的需要做收敛的四级域名收敛后的三级域名所对应的IP地址或空值;
检测所述初始URL中的待收敛域名是否存在于所述第一域名收敛配置文件中;
若存在,则在所述第一域名收敛配置文件中获取所述待收敛域名对应的value;
获取预设的固定标识,将所述待收敛域名、所述固定标识和所述value按照预设收敛规则进行处理,得到收敛完成的目标域名;
将所述初始URL中的待收敛域名替换为目标域名,得到目标短链请求。
进一步地,所述将所述待收敛域名、所述固定标识和所述value按照预设收敛规则进行处理,得到收敛完成的目标域名的步骤,包括:
检测所述value是否为空值;
若所述value为空值,则将所述待收敛域名的第一个预设分割符的左侧部分作为域名前缀,第一个预设分割符的右侧部分作为三级域名,按照三级域名/固定标识/域名前缀的形式生成目标域名。
进一步地,所述检测所述value是否为空值的步骤之后,包括:
若所述value不为空值,则获取所述value中的IP地址的个数;
若所述个数为1,则按照IP地址/固定标识/域名前缀的形式生成目标域名;
若所述个数大于1,则根据IP地址预设优先级在多个所述IP地址中确定目标IP地址,并按照目标IP地址/固定标识/域名前缀的形式生成目标域名。
进一步地,所述根据IP地址预设优先级在多个所述IP地址中确定目标IP地址的步骤,包括:
轮询所有IP地址,对每个IP地址发起一次ping测试,得到各个IP地址的延迟时间;
选择延迟时间最小的IP地址作为目标IP地址。
进一步地,所述根据IP地址预设优先级在多个所述IP地址中确定目标IP地址的步骤,包括:
检测各个所述IP地址是否在阈值范围内进行ping测试;
若有,选取距离当前时间最近的一次ping测试中的延迟时间最小的IP地址作为目标IP地址。
进一步地,所述获取短链请求的步骤之前,包括:
获取资源配置服务器上的第二域名收敛配置文件的第二MD5值;
获取第一域名收敛配置文件的第一MD5值;
比较所述第一MD5值和所述第二MD5值是否相同;
若不同,则获取AES加密的第二域名收敛配置文件,并进行解密;
将第一域名收敛配置文件替换为解密完成得到的第二域名收敛配置文件,以第二域名收敛配置文件作为第一域名收敛配置文件。
进一步地,所述将第一域名收敛配置文件替换为解密完成得到的第二域名收敛配置文件,以第二域名收敛配置文件作为第一域名收敛配置文件的步骤之后,包括:
确定所述第一域名收敛配置文件中各个key对应的标识信息;
根据所述标识信息对所述key和对应的所述value进行分组处理,并缓存在内存中。
本申请一实施例还提供一种短链请求收敛装置,包括:
第一获取单元,用于获取短链请求;所述短链请求包括初始URL;
第二获取单元,用于获取客户端存储的第一域名收敛配置文件;所述第一域名收敛配置文件包括key和value的映射关系,所述key为需要做收敛的四级域名,所述value为对应的需要做收敛的四级域名收敛后的三级域名所对应的IP地址或空值;
检测单元,用于检测所述初始URL中的待收敛域名是否存在于所述第一域名收敛配置文件中;
第三获取单元,用于若存在,则在所述第一域名收敛配置文件中获取所述待收敛域名对应的value;
处理单元,用于获取预设的固定标识,将所述待收敛域名、所述固定标识和所述value按照预设收敛规则进行处理,得到收敛完成的目标域名;
第一替换单元,用于将所述初始URL中的待收敛域名替换为目标域名,得到目标短链请求。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的短链请求收敛方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的短链请求收敛方法的步骤。
本申请提供的短链请求收敛方法、装置、计算机设备和存储介质,从第一域名收敛配置文件中取出相应的IP地址,再经过预设收敛规则进行处理,得到目标域名,将短链请求中的待收敛域名替换为目标域名得到目标短链请求,目标短链请求中包括有IP地址,直接取出IP地址将客户端与服务器端进行直连,可以有效减少域名解析次数与解析时间,提升客户端整体网络性能;同时目标短链请求中保存有域名前缀,目标短链请求发给服务器后,服务器能够知晓目标短链请求对应的原始域名是什么,便于确定具体的服务器接口,同时设置固定标识防止和现有的三级域名下的路径存在冲突,能够更加准确的将目标短链请求转发给对应的服务器接口。
附图说明
图1是本申请一实施例中短链请求收敛方法步骤示意图;
图2是本申请一实施例中短链请求收敛装置结构框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。参照图1,本申请一实施例提供了一种短链请求收敛方法,包括以下步骤:
步骤S1,获取短链请求;所述短链请求包括初始URL;
步骤S2,获取客户端存储的第一域名收敛配置文件;所述第一域名收敛配置文件包括key和value的映射关系,所述key为需要做收敛的四级域名,所述value为对应的需要做收敛的四级域名收敛后的三级域名所对应的IP地址或空值;
步骤S3,检测所述初始URL中的待收敛域名是否存在于所述第一域名收敛配置文件中;
步骤S4,若存在,在所述第一域名收敛配置文件中获取所述待收敛域名对应的value;
步骤S5,获取预设的固定标识,将所述待收敛域名、所述固定标识和所述value按照预设收敛规则进行处理,得到收敛完成的目标域名;
步骤S6,将所述初始URL中的待收敛域名替换为目标域名,得到目标短链请求。
本实施例中,如上述步骤S1所述,客户端在业务代码中按需求发起短链请求,短链请求会被客户端内的网络代理层拦截。短链请求中包括有初始URL(Uniform ResourceLocator,统一资源定位符)。短链请求在发送前,客户端需要根据短链请求对应的域名的IP地址与服务器建立通信链路后,才能进行数据交互。
如上述步骤S2所述,客户端内存储有一份第一域名收敛配置文件,该文件内容为JSON(JavaScript Object Notation,JavaScript对象表示)格式数据,其中JSON数据内容的key为需要做收敛的四级域名,对应的value是一个数组,数组内容为空值或者为收敛后的三级域名的IP地址,收敛后的三级域名的IP地址可包括一个或多个。
如上述步骤S3-S4所述,检测第一域名收敛配置文件中是否存在与待收敛域名相同的四级域名,若不存在,表明该短链请求中的域名不需要进行收敛,则网络代理层直接将该请求不做任何处理原样发出给服务器,若存在,表明该短链请求中的待收敛域名需要进行收敛,获取对应的value。
如上述步骤S5所述,固定标识是包含a-z、A-Z、0-9组成的任意长度字符串,具体字符串内容由客户端和服务器约定好,在收敛时皆使用该约定好的字符串,固定标识可直接写在代码中,需要的时候直接进行获取即可。将待收敛域名、固定标识和value按照预设收敛规则进行处理,得到收敛完成的目标域名,但为了避免收敛完成后的域名过长,一般固定标识限定在10个字符以内,比如paReDom。
如上述步骤S6所述,得到目标域名后,将初始URL中的待收敛域名替换为目标域名,得到目标短链请求,替换完成后,网络代理层再将目标短链请求发送给服务器,服务器接入层接收到目标短链请求后根据请求中的目标URL进行路径匹配,将带有固定标识的目标URL转发给部署初始URL接口的服务器进行后续处理。具体的,服务器接入层中配置有路由,设置有收敛后的目标域名和对应的接口,直接通过目标域名即可确定对应的服务器接口。
本实施例中,DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。DNS服务器设置于客户端上,用于进行域名解析,客户端根据域名解析得到的IP地址与服务器建立通信链路,以此进行后续的数据交互等操作。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析。同一个三级域名下,不同四级域名下的短链请求每次发送前均需要进行域名解析,在同一个三级域名下,不同的四级域名解析得到的IP地址是一样的,不同的四级域名,收敛后具有相同的三级域名,在第一次转换后将三级域名的IP地址拿到后,客户端缓存该IP地址,后面的相同三级域名下的四级域名的短链请求直接取出IP地址构造目标短链请求,无需进行三级域名与对应的IP地址这种映射查找,直接取出IP地址将客户端与服务器端进行直连,可以有效减少域名解析次数与解析时间,提升客户端整体网络性能;同时目标短链请求中保存有域名前缀,目标短链请求发给服务器后,服务器能够知晓目标短链请求对应的原始域名是什么,便于确定具体的服务器接口,同时设置固定标识防止和现有的三级域名下的路径存在冲突,能够更加准确的将目标短链请求转发给对应的服务器接口。
在一实施例中,所述将所述待收敛域名、所述固定标识和所述value按照预设收敛规则进行处理,得到收敛完成的目标域名的步骤S5,包括:
步骤S51,检测所述value是否为空值;
步骤S52,若所述value为空值,则将所述待收敛域名的第一个预设分割符的左侧部分作为域名前缀,第一个预设分割符的右侧部分作为三级域名,按照三级域名/固定标识/域名前缀的形式生成目标域名。
本实施例中,value可能为空值,即没有对应的三级域名的IP地址,直接进行处理得到目标域名,比如一个待收敛域名是search.hn.huoming.cn,由四部分组成,每一部分由一个英文预设分割符隔开,按照从右往左的顺序依次是一级域名、二级域名、三级域名、四级域名,将第一个英文预设分割符左侧作为域名前缀,即四级域名search作为域名前缀,第一个英文预设分割符的右边则为一个完整的三级域名hn.huoming.cn,固定标志假设为paReDom,生成的目标域名为hn.huoming.cn/paReDom/search。在value为空值时,需要通过运营商的DNS服务器进行域名解析得到对应的IP地址,解析完成后,将解析得到的IP地址返回给客户端,系统Local DNS会缓存这个IP地址,客户端再根据IP地址与服务端建立链接后,再发送目标短链请求。后续再次发送相同三级域名的短链请求时候会直接在Local DNS取出缓存的IP地址,然后客户端在根据IP地址与服务端建立链接后,发送目标短链请求,无需进行域名解析,减少域名解析的次数和时间。
在一实施例中,所述检测所述value是否为空值的步骤S51之后,包括:
步骤S51a,若所述value不为空值,则获取所述value中的IP地址的个数;
步骤S51b,若所述个数为1,则按照IP地址/固定标识/域名前缀的形式生成目标域名;
步骤S51c,若所述个数大于1,则根据IP地址预设优先级在多个所述IP地址中确定目标IP地址,并按照目标IP地址/固定标识/域名前缀的形式生成目标域名。
本实施例中,同一个三级域名可以有一个或多个IP地址,只有一个IP地址时,直接根据三级域名对应的IP地址生成目标域名,无需进行域名解析,客户端直接通过IP地址与服务端建立链接,再发出短链请求。如上一实施例所述,若三级域名hn.huoming.cn的ip地址为192.168.10.123,生成的目标域名为192.168.10.123/paReDom/search。预设优先级可以是对各个IP地址预先定义有优先级顺序,直接根据优先级顺序,选择优先级最高的IP地址作为目标IP地址,根据目标IP地址生成目标域名。在另一实施例中,预设优先级可以是预先设定的优先级规则,根据相应的优先级规则确定目标IP地址,从而得到目标域名。
在一实施例中,所述根据IP地址预设优先级在多个所述IP地址中确定目标IP地址的步骤S51c,包括:
步骤S51c1,轮询所有IP地址,对每个IP地址发起一次ping测试,得到各个IP地址的延迟时间;
步骤S51c2,选择延迟时间最小的IP地址作为目标IP地址。
本实施例中,ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,即ICMP,它是TCP/IP协议的一部分。通过ping测试能够得到各个IP地址的延迟时间,选择延迟时间最小的IP地址作为目标IP地址,根据目标IP地址生成目标域名。当延迟时间最小的IP地址包括有多个时,根据其在value中的先后顺序选取第一顺位的IP地址作为目标IP地址,或根据其各自预设的优先级,选择优先级最高的那个IP地址作为目标IP地址。
在一实施例中,所述根据IP地址预设优先级在多个所述IP地址中确定目标IP地址的步骤S51c,包括:
步骤S51c01,检测各个所述IP地址是否在阈值范围内进行ping测试;
步骤S51c02,若有,选取距离当前时间最近的一次ping测试中的延迟时间最小的IP地址作为目标IP地址。
本实施例中,每次Ping测试完成后,同时记录此次测试各个IP地址的延迟时间的测试时间,后续针对多IP地址的场景下,后续需要使用该目标域名发起短链请求的这个时间点如果与记录的测试时间的时间差值在阈值范围内(如30Min),直接使用最近的一次ping测试中的延迟时间最小的IP地址作为目标IP地址生成目标域名,如果时间差值超出了阈值范围或者在短链请求过程中发生了请求超时异常,则针对所有IP重新发起ping测试,取出延迟时间最小的IP地址生成目标域名,并更新测试的延迟时间和测试时间。
在一实施例中,所述获取短链请求的步骤S1之前,包括:
步骤S1A,获取资源配置服务器上的第二域名收敛配置文件的第二MD5值;
步骤S1B,获取第一域名收敛配置文件的第一MD5值;
步骤S1C,比较所述第一MD5值和所述第二MD5值是否相同;
步骤S1D,若不同,则获取AES加密的第二域名收敛配置文件,并进行解密;
步骤S1E,将第一域名收敛配置文件替换为解密完成得到的第二域名收敛配置文件,以第二域名收敛配置文件作为第一域名收敛配置文件。
本实施例中,资源配置服务器是一种静态资源web服务器,它可以接收客户端类似于jpeg、htm、flv这种静态资源的请求,然后直接通过静态资源的存储得到这些文件返回给客户端。在资源配置服务器上放置有一份第二域名收敛配置文件,客户端在启动时向资源配置服务器发起请求,第二域名收敛配置文件与第一域名收敛配置文件是一样的形式,为JSON格式数据,也是包括key和value的映射关系,key是需要收敛的四级域名,value是收敛后的三级域名的所有IP地址。但是数据内容可能存在不同,由于第二域名收敛配置文件是配置在资源配置服务器上,可以通过资源配置服务器对第二域名收敛配置文件进行过增删更新,每次进行增删更新后就要重新计算MD5值作为第二MD5值,通过比较第一MD5值和第二MD5值确定第一域名收敛配置文件和第二域名收敛配置文件是否相同,不同时,客户端可以向资源配置服务器发起请求,请求最新的第二域名收敛配置文件来更新第一域名收敛配置文件,更新完成后,将原有的第一域名收敛配置文件删除,以第二域名收敛配置文件作为第一域名收敛配置文件。第二域名收敛配置文件发送至客户端前进行加密处理,保证配置数据的安全性。当想要修改客户端上的第一域名收敛配置文件时,需要将修改好的第一域名收敛配置文件随客户端发布到应用商店,从而对现有的第一域名收敛配置文件进行更新,本实施例通过将第二域名收敛配置文件配置在资源配置服务器上,客户端可以从资源配置服务器上获取最新的域名收敛配置文件,无需对第一域名收敛配置文件进行更改后跟随客户端发布到应用商店,使得第一域名收敛配置文件达到独立发版,减少发版时间,达成动态更新目的。
在一实施例中,所述将第一域名收敛配置文件替换为解密完成得到的第二域名收敛配置文件,以第二域名收敛配置文件作为第一域名收敛配置文件的步骤S1E之后,包括:
步骤S1F,确定所述第一域名收敛配置文件中各个key对应的标识信息;
步骤S1G,根据所述标识信息对所述key和对应的所述value进行分组处理,并缓存在内存中。
本实施例中,第一域名收敛配置文件中包括有多组数组,每组数组以key-value的形式存在,为每个key确定一个标识信息,标识信息可以是收敛后的三级域名,根据标识信息进行分组,每一组形成一个配置子文件,将收敛后属于同一个三级域名的数组归纳为一组,将分组处理后的第一域名收敛配置文件缓存在内存中,后续在确定待收敛域名是否存在第一域名收敛配置文件中时,直接根据标识信息进行确定,无需遍历整个文件,加速后续的数据匹配。
参见图2,本申请一实施例提供了一种短链请求收敛装置,包括:
第一获取单元10,用于获取短链请求;所述短链请求包括初始URL;
第二获取单元20,用于获取客户端存储的第一域名收敛配置文件;所述第一域名收敛配置文件包括key和value的映射关系,所述key为需要做收敛的四级域名,所述value为对应的需要做收敛的四级域名收敛后的三级域名所对应的IP地址或空值;
检测单元30,用于检测所述初始URL中的待收敛域名是否存在于所述第一域名收敛配置文件中;
第三获取单元40,用于若存在,则在所述第一域名收敛配置文件中获取所述待收敛域名对应的value;
处理单元50,用于获取预设的固定标识,将所述待收敛域名、所述固定标识和所述value按照预设收敛规则进行处理,得到收敛完成的目标域名;
第一替换单元60,用于将所述初始URL中的待收敛域名替换为目标域名,得到目标短链请求。
在一实施例中,所述处理单元50,包括:
检测子单元,用于检测所述value是否为空值;
第一生成子单元,用于若所述value为空值,则将所述待收敛域名的第一个预设分割符的左侧部分作为域名前缀,第一个预设分割符的右侧部分作为三级域名,按照三级域名/固定标识/域名前缀的形式生成目标域名。
在一实施例中,所述处理单元50,还包括:
获取子单元,用于若所述value不为空值,则获取所述value中的IP地址的个数;
第二生成子单元,用于若所述个数为1,则按照IP地址/固定标识/域名前缀的形式生成目标域名;
第三生成子单元,用于若所述个数大于1,则根据IP地址预设优先级在多个所述IP地址中确定目标IP地址,并按照目标IP地址/固定标识/域名前缀的形式生成目标域名。
在一实施例中,所述第三生成子单元,包括:
测试模块,用于轮询所有IP地址,对每个IP地址发起一次ping测试,得到各个IP地址的延迟时间;
第一生成模块,用于选择延迟时间最小的IP地址作为目标IP地址。
在一实施例中,所述第三生成子单元,包括:
检测模块,用于检测各个所述IP地址是否在阈值范围内进行ping测试;
选取模块,用于若有,选取距离当前时间最近的一次ping测试中的延迟时间最小的IP地址作为目标IP地址。
在一实施例中,所述短链请求收敛装置,还包括:
第四获取单元,用于获取资源配置服务器上的第二域名收敛配置文件的第二MD5值;
第五获取单元,用于获取第一域名收敛配置文件的第一MD5值;
比较单元,用于比较所述第一MD5值和所述第二MD5值是否相同;
解密单元,用于若不同,则获取AES加密的第二域名收敛配置文件,并进行解密;
第二替换单元,用于将第一域名收敛配置文件替换为解密完成得到的第二域名收敛配置文件,以第二域名收敛配置文件作为第一域名收敛配置文件。
在一实施例中,所述短链请求收敛装置,包括:
确定单元,用于确定所述第一域名收敛配置文件中各个key对应的标识信息;
缓存单元,用于根据所述标识信息对所述key和对应的所述value进行分组处理,并缓存在内存中。
在本实施例中,上述各个单元、子单元、模块的具体实现请参照上述方法实施例中所述,在此不再进行赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种短链请求收敛方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种短链请求收敛方法。
综上所述,为本申请实施例中提供的短链请求收敛方法、装置、计算机设备和存储介质,获取短链请求;所述短链请求包括初始URL;获取客户端存储的第一域名收敛配置文件;所述第一域名收敛配置文件包括key和value的映射关系,所述key为需要做收敛的四级域名,所述value为对应的需要做收敛的四级域名收敛后的三级域名所对应的IP地址或空值;检测所述初始URL中的待收敛域名是否存在于所述第一域名收敛配置文件中;若存在,则在所述第一域名收敛配置文件中获取所述待收敛域名对应的value;获取预设的固定标识,将所述待收敛域名、所述固定标识和所述value按照预设收敛规则进行处理,得到收敛完成的目标域名;将所述初始URL中的待收敛域名替换为目标域名,得到目标短链请求。本申请中,从第一域名收敛配置文件中取出相应的IP地址,再经过预设收敛规则进行处理,得到目标域名,将短链请求中的待收敛域名替换为目标域名得到目标短链请求,目标短链请求中包括有IP地址,直接取出IP地址将客户端与服务器端进行直连,可以有效减少域名解析次数与解析时间,提升客户端整体网络性能;同时目标短链请求中保存有域名前缀,目标短链请求发给服务器后,服务器能够知晓目标短链请求对应的原始域名是什么,便于确定具体的服务器接口,同时设置固定标识防止和现有的三级域名下的路径存在冲突,能够更加准确的将目标短链请求转发给对应的服务器接口。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (9)
1.一种短链请求收敛方法,其特征在于,包括:
获取短链请求;所述短链请求包括初始URL;
获取客户端存储的第一域名收敛配置文件;所述第一域名收敛配置文件包括key和value的映射关系,所述key为需要做收敛的四级域名,所述value为对应的需要做收敛的四级域名收敛后的三级域名所对应的IP地址或空值;
检测所述初始URL中的待收敛域名是否存在于所述第一域名收敛配置文件中;
若存在,则在所述第一域名收敛配置文件中获取所述待收敛域名对应的value;
获取预设的固定标识,将所述待收敛域名、所述固定标识和所述value按照预设收敛规则进行处理,得到收敛完成的目标域名;
将所述初始URL中的待收敛域名替换为目标域名,得到目标短链请求;
所述将所述待收敛域名、所述固定标识和所述value按照预设收敛规则进行处理,得到收敛完成的目标域名的步骤,包括:
检测所述value是否为空值;
若所述value为空值,则将所述待收敛域名的第一个预设分割符的左侧部分作为域名前缀,第一个预设分割符的右侧部分作为三级域名,按照三级域名/固定标识/域名前缀的形式生成目标域名。
2.根据权利要求1所述的短链请求收敛方法,其特征在于,所述检测所述value是否为空值的步骤之后,包括:
若所述value不为空值,则获取所述value中的IP地址的个数;
若所述个数为1,则按照IP地址/固定标识/域名前缀的形式生成目标域名;
若所述个数大于1,则根据IP地址预设优先级在多个所述IP地址中确定目标IP地址,并按照目标IP地址/固定标识/域名前缀的形式生成目标域名。
3.根据权利要求2所述的短链请求收敛方法,其特征在于,所述根据IP地址预设优先级在多个所述IP地址中确定目标IP地址的步骤,包括:
轮询所有IP地址,对每个IP地址发起一次ping测试,得到各个IP地址的延迟时间;
选择延迟时间最小的IP地址作为目标IP地址。
4.根据权利要求2所述的短链请求收敛方法,其特征在于,所述根据IP地址预设优先级在多个所述IP地址中确定目标IP地址的步骤,包括:
检测各个所述IP地址是否在阈值范围内进行ping测试;
若有,选取距离当前时间最近的一次ping测试中的延迟时间最小的IP地址作为目标IP地址。
5.根据权利要求1所述的短链请求收敛方法,其特征在于,所述获取短链请求的步骤之前,包括:
获取资源配置服务器上的第二域名收敛配置文件的第二MD5值;
获取第一域名收敛配置文件的第一MD5值;
比较所述第一MD5值和所述第二MD5值是否相同;
若不同,则获取AES加密的第二域名收敛配置文件,并进行解密;
将第一域名收敛配置文件替换为解密完成得到的第二域名收敛配置文件,以第二域名收敛配置文件作为第一域名收敛配置文件。
6.根据权利要求5所述的短链请求收敛方法,其特征在于,所述将第一域名收敛配置文件替换为解密完成得到的第二域名收敛配置文件,以第二域名收敛配置文件作为第一域名收敛配置文件的步骤之后,包括:
确定所述第一域名收敛配置文件中各个key对应的标识信息;
根据所述标识信息对所述key和对应的所述value进行分组处理,并缓存在内存中。
7.一种短链请求收敛装置,其特征在于,包括:
第一获取单元,用于获取短链请求;所述短链请求包括初始URL;
第二获取单元,用于获取客户端存储的第一域名收敛配置文件;所述第一域名收敛配置文件包括key和value的映射关系,所述key为需要做收敛的四级域名,所述value为对应的需要做收敛的四级域名收敛后的三级域名所对应的IP地址或空值;
检测单元,用于检测所述初始URL中的待收敛域名是否存在于所述第一域名收敛配置文件中;
第三获取单元,用于若存在,则在所述第一域名收敛配置文件中获取所述待收敛域名对应的value;
处理单元,用于获取预设的固定标识,将所述待收敛域名、所述固定标识和所述value按照预设收敛规则进行处理,得到收敛完成的目标域名;
第一替换单元,用于将所述初始URL中的待收敛域名替换为目标域名,得到目标短链请求;
所述将所述待收敛域名、所述固定标识和所述value按照预设收敛规则进行处理,得到收敛完成的目标域名的步骤,包括:
检测所述value是否为空值;
若所述value为空值,则将所述待收敛域名的第一个预设分割符的左侧部分作为域名前缀,第一个预设分割符的右侧部分作为三级域名,按照三级域名/固定标识/域名前缀的形式生成目标域名。
8.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的短链请求收敛方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的短链请求收敛方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110951706.6A CN113676562B (zh) | 2021-08-17 | 2021-08-17 | 短链请求收敛方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110951706.6A CN113676562B (zh) | 2021-08-17 | 2021-08-17 | 短链请求收敛方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113676562A CN113676562A (zh) | 2021-11-19 |
CN113676562B true CN113676562B (zh) | 2022-10-14 |
Family
ID=78543817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110951706.6A Active CN113676562B (zh) | 2021-08-17 | 2021-08-17 | 短链请求收敛方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113676562B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10083222B1 (en) * | 2016-03-29 | 2018-09-25 | Sprint Communications Company L.P. | Automated categorization of web pages |
CN110851748A (zh) * | 2019-10-14 | 2020-02-28 | 平安科技(深圳)有限公司 | 短链接的生成方法、服务器、存储介质及计算机设备 |
WO2020199603A1 (zh) * | 2019-04-04 | 2020-10-08 | 平安科技(深圳)有限公司 | 服务器漏洞检测方法、装置、设备和存储介质 |
CN111935136A (zh) * | 2020-08-07 | 2020-11-13 | 哈尔滨工业大学 | 基于dns数据分析的域名查询与解析异常检测系统及方法 |
CN112307058A (zh) * | 2020-10-27 | 2021-02-02 | 北京健康之家科技有限公司 | 短链接的处理方法、装置、存储介质及计算机设备 |
CN112583895A (zh) * | 2020-11-27 | 2021-03-30 | 北京智芯微电子科技有限公司 | Tcp通信方法、系统及装置 |
-
2021
- 2021-08-17 CN CN202110951706.6A patent/CN113676562B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10083222B1 (en) * | 2016-03-29 | 2018-09-25 | Sprint Communications Company L.P. | Automated categorization of web pages |
WO2020199603A1 (zh) * | 2019-04-04 | 2020-10-08 | 平安科技(深圳)有限公司 | 服务器漏洞检测方法、装置、设备和存储介质 |
CN110851748A (zh) * | 2019-10-14 | 2020-02-28 | 平安科技(深圳)有限公司 | 短链接的生成方法、服务器、存储介质及计算机设备 |
CN111935136A (zh) * | 2020-08-07 | 2020-11-13 | 哈尔滨工业大学 | 基于dns数据分析的域名查询与解析异常检测系统及方法 |
CN112307058A (zh) * | 2020-10-27 | 2021-02-02 | 北京健康之家科技有限公司 | 短链接的处理方法、装置、存储介质及计算机设备 |
CN112583895A (zh) * | 2020-11-27 | 2021-03-30 | 北京智芯微电子科技有限公司 | Tcp通信方法、系统及装置 |
Non-Patent Citations (1)
Title |
---|
短链接在高校信息化服务中应用;王宇翔等;《计算机产品与流通》;20200909(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113676562A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11909639B2 (en) | Request routing based on class | |
CN108093094B (zh) | 数据库实例访问方法、装置、系统、存储介质和设备 | |
CN109067930B (zh) | 域名接入方法、域名解析方法、服务器、终端及存储介质 | |
CN110727499A (zh) | 资源数据获取的方法、装置、计算机设备和存储介质 | |
CN111800458B (zh) | 一种Kubernetes容器云平台的动态负载均衡方法及系统 | |
US10194001B1 (en) | Automatic discovery of API information | |
CN108494755B (zh) | 一种传输应用程序编程接口api请求的方法及装置 | |
CN112153170B (zh) | 访问服务器的方法、装置、设备及存储介质 | |
CN113507475B (zh) | 跨域访问方法和装置 | |
CN112866214A (zh) | 防火墙策略下发方法、装置、计算机设备和存储介质 | |
JP6347431B2 (ja) | 名前特定装置、名前特定方法、及びプログラム | |
CN113676562B (zh) | 短链请求收敛方法、装置、计算机设备和存储介质 | |
KR101846778B1 (ko) | Id 확인 서비스 방법 및 이를 적용한 m2m 시스템 | |
CN111049945A (zh) | 基于http协议的网络请求优化方法、装置、设备及介质 | |
CN111866197B (zh) | 一种域名解析方法及系统 | |
US10333966B2 (en) | Quarantining an internet protocol address | |
CN113472915A (zh) | 域名解析方法、装置、设备及存储介质 | |
CN112954087A (zh) | SaaS服务的域名连接方法、装置、计算机设备及存储介质 | |
CN112714078A (zh) | 网络流量的识别方法、装置、存储介质及服务器 | |
CN112565414B (zh) | 一种数据下载方法、装置、设备及介质 | |
CN113315708B (zh) | 栅格化网关的实现系统、方法、计算机设备和存储介质 | |
CN115202894A (zh) | 接口服务调用方法、装置、计算机设备和存储介质 | |
CN117692423A (zh) | DoH服务的识别方法和装置、电子设备和存储介质 | |
CN115665086A (zh) | 基于网管设备的域名解析方法及其装置、电子设备 | |
CN113495788A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |