发布信息

域名解析方法和系统、微服务器集群节点和存储介质与流程

作者:admin      2022-08-26 21:42:04     267



电子通信装置的制造及其应用技术1.本公开涉及互联网领域,特别涉及一种域名解析方法和系统、微服务器集群节点和存储介质。背景技术:2.ip地址(internet protocol address,网际协议地址)是指互联网协议地址。ip地址是ip协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。3.域名(domain name)是由一串用点分隔的名字组成的internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位,目的是便于记忆。4.一组服务器的地址(网站,电子邮件,ftp等),一个服务器集群可能具有同样的域名,例如:我们在利用百度搜索引擎的域名来访问百度搜索引擎时,最后访问的ip地址可能是百度众多服务器中的某一台服务器的ip地址。5.域名解析也叫域名指向、服务器设置、域名配置以及反向ip登记等等,实质就是将好记的域名解析成ip,域名解析服务是由dns服务器(domain name server,域名服务器)完成的,把域名解析到一个ip地址,然后在此ip地址的主机上将一个子目录与域名绑定。技术实现要素:6.相关技术的域名解析方案中,当客户端访问的域名对应多个ip地址时,dns服务器一般采用等概率选取模式,即,如果存在多个服务节点可以提供服务时,则随机选取一个节点。7.然而,相关技术的域名解析技术中存在接受请求功能很快和执行寻址功能慢的两个特点。对于执行寻址功能慢的特点,如果使用配置文件解决,将会给运维带来巨大的维护成本;如果使用数据库方案解决,需要更多数据库才能完成,会产生高额的成本费用。8.鉴于以上技术问题中的至少一项,本公开提供了一种域名解析方法和系统、微服务器集群节点和存储介质,提高了域名服务器的响应速度。9.根据本公开的一个方面,提供一种域名解析方法,包括:10.获取域名解析请求中域名对应的可选地址清单,可选地址清单包括多个目标ip地址;11.确定每个目标ip地址和源ip地址的距离;12.针对每个目标ip地址,根据目标集群应用负载情况和该目标ip地址,确定该目标ip地址的应用集群负载值;13.针对每个目标ip地址,根据该目标ip地址的应用集群负载值、该目标ip地址和源ip地址的距离值,确定该目标ip地址的得分;14.返回得分最高的目标ip地址。15.在本公开的一些实施例中,所述针对每个目标ip地址,根据该目标ip地址的应用集群负载值、该目标ip地址和源ip地址的距离值,确定该目标ip地址的得分包括:16.获取每个目标ip地址的网络可达性系数和应用集群可用性系数;17.针对每个目标ip地址,根据该目标ip地址的应用集群负载值、该目标ip地址和源ip地址的距离值、该目标ip地址的网络可达性系数和应用集群可用性系数,确定该目标ip地址的得分。18.在本公开的一些实施例中,所述确定每个目标ip地址和源ip地址的距离包括:19.获取源ip地址;20.针对每个目标ip地址,确定该目标ip地址和源ip地址的距离值。21.在本公开的一些实施例中,采用多个微服务器集群节点分别执行如上述任一实施例所述的域名解析方法。22.在本公开的一些实施例中,所述域名解析方法还包括:23.受理和反馈模块接收用户输入的域名解析请求;24.通过微服务器网关、多个微服务器集群节点、多个缓存集群和多个数据库进行域名匹配寻址;25.受理和反馈模块将得分最高的目标ip地址反馈给用户终端。26.在本公开的一些实施例中,所述通过微服务器网关、多个微服务器集群节点、多个缓存集群和多个数据库进行域名匹配寻址包括:27.微服务器网关根据分发规则,将域名解析请求分发到多个微服务器集群节点进行处理;28.微服务器集群节点通过缓存集群在数据库进行域名匹配寻址。29.在本公开的一些实施例中,所述域名解析方法还包括:30.通过应用程序接口模型,进行分发规则的调整,其中,调整规则不需要重启系统。31.在本公开的一些实施例中,所述域名解析方法还包括:32.对域名解析的目标地址的负载情况进行判断,在解析算法中形加权因子,综合平均使用各个微服务器集群节点的使用负载。33.根据本公开的另一方面,提供一种微服务器集群节点,包括:34.地址清单获取单元,被配置为获取域名解析请求中域名对应的可选地址清单,可选地址清单包括多个目标ip地址;35.距离获取单元,被配置为确定每个目标ip地址和源ip地址的距离;36.负载确定单元,被配置为针对每个目标ip地址,根据目标集群应用负载情况和该目标ip地址,确定该目标ip地址的应用集群负载值;37.得分确定单元,被配置为针对每个目标ip地址,根据该目标ip地址的应用集群负载值、该目标ip地址和源ip地址的距离值,确定该目标ip地址的得分;38.地址返回单元,被配置为返回得分最高的目标ip地址。39.在本公开的一些实施例中,所述微服务器集群节点被配置为执行实现如上述任一实施例所述的域名解析方法的操作。40.根据本公开的另一方面,提供一种微服务器集群节点,包括:41.存储器,被配置为存储指令;42.处理器,被配置为执行所述指令,使得所述微服务器集群节点执行实现如上述任一实施例所述的域名解析方法的操作。43.根据本公开的另一方面,提供一种域名解析系统,包括受理和反馈模块、微服务器网关、多个微服务器集群节点、多个缓存集群和多个数据库,其中:44.受理和反馈模块,被配置为接收用户通过用户终端输入的域名解析请求,并将域名解析结果反馈给用户终端;45.微服务器网关,被配置为根据分发规则,将域名解析请求分发到多个微服务器集群节点进行处理;46.微服务器集群节点,被配置为通过缓存集群在数据库进行域名匹配寻址。47.在本公开的一些实施例中,所述微服务器集群节点为如上述任一实施例所述的微服务器集群节点。48.在本公开的一些实施例中,微服务器网关,被配置为通过应用程序接口模型,进行分发规则的调整,其中,调整规则不需要重启系统。49.根据本公开的另一方面,提供一种非瞬时性计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如上述任一实施例所述的域名解析方法。50.本公开提高了域名服务器的响应速度,使各集群的使用负载均衡,提升了资源利用率。附图说明51.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。52.图1为本公开域名解析方法一些实施例的示意图。53.图2为本公开域名解析方法另一些实施例的示意图。54.图3为本公开微服务器集群节点一些实施例的示意图。55.图4为本公开微服务器集群节点又一些实施例的结构示意图。56.图5为本公开域名解析系统一些实施例的示意图。具体实施方式57.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。58.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。59.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。60.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。61.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。62.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。63.相关技术的域名服务器功能主要有两个特点,1.接受请求功能很快;2.执行寻址功能慢。对于第二个特点,解决方案有两种。第一,使用配置文件。寻址使用静态文件,非常的慢,维护起来耗费,几十万代码中找出要修改的一行,再重新启动,出错率高。第二,使用mysql(一个关系型数据库管理系统)实现。相关技术把域名和ip地址放在里面,最多也就几百条,虽然可以集群化部署,但是需要很多ssd(solid state drive,固态驱动器,固态硬盘),成本太高。相关技术在域名服务器执行寻址功能中,只有读缓存是比较快的。64.图1为本公开域名解析方法一些实施例的示意图。优选的,本实施例可由本公开域名解析系统或本公开微服务器集群节点执行。该方法可以包括步骤11-步骤15,其中:65.步骤11,获取域名解析请求中域名对应的可选地址清单,可选地址清单包括多个目标ip地址。66.在本公开的一些实施例中,步骤11可以包括获取域名的可选地址清单,形成应答答案的合集。例如:返回值的参数为ip_target1和ip_target2。67.步骤12,确定每个目标ip地址和源ip地址的距离。68.在本公开的一些实施例中,步骤12可以包括步骤121-步骤122,其中:69.步骤121,获取源ip地址(ip_source)。70.步骤122,针对每个目标ip地址(例如ip_target1或ip_target2),确定该目标ip地址和源ip地址(ip_source)的距离值。71.在本公开的一些实施例中,步骤122可以包括:根据预定源地址与目标地址的距离算法fx(ip_target,ip_source)确定该目标ip地址和源ip地址(ip_source)的距离值。72.在本公开的一些实施例中,所述距离值的最大值可以为100,最小值可以为1。73.步骤13,针对每个目标ip地址,根据目标集群应用负载情况和该目标ip地址,确定该目标ip地址的应用集群负载值。74.在本公开的一些实施例中,目标集群应用负载情况可以包括cpu(cpu_rate)和网卡负载(net_load)。75.在本公开的一些实施例中,步骤13可以包括:根据预定目标地址应用集群负载算法lx(ip_target,cpu_rate,net_load)确定该目标ip地址(ip_target)的应用集群负载值。76.在本公开的一些实施例中,所述应用集群负载值的最大值可以为100,最小值可以为1。77.步骤14,针对每个目标ip地址,根据该目标ip地址的应用集群负载值、该目标ip地址和源ip地址的距离值,确定该目标ip地址的得分。78.在本公开的一些实施例中,步骤14可以包括步骤141-步骤142,其中:79.步骤141,获取每个目标ip地址的网络可达性系数net_reach和应用集群可用性系数saas_avliable。80.在本公开的一些实施例中,目标ip地址的网络可达性系数net_reach,可达情况下为1;不可达情况下为0。81.在本公开的一些实施例中,应用集群可用性系数saas_avliable,可用情况下为1;不可用情况下为0。82.步骤142,针对每个目标ip地址,根据该目标ip地址的应用集群负载值、该目标ip地址和源ip地址的距离值、该目标ip地址的网络可达性系数和应用集群可用性系数,确定该目标ip地址的得分。83.在本公开的一些实施例中,步骤142可以包括:根据该目标ip地址的应用集群负载值和该目标ip地址和源ip地址的距离值的和,再乘以该目标ip地址的网络可达性系数和应用集群可用性系数,确定该目标ip地址的得分。84.例如:对比于目标ip地址ip_target1返回得分记为point1=net_reach1*saas_avliable1(fx(ip_target1,ip_source)+lx(ip_target1,cpu_rate,net_load))。85.对于目标ip地址ip_target_2返回得分记为point2=net_reach2*saas_avliable2(fx(ip_target2,ip_source)+lx(ip_target2,cpu_rate,net_load))返回高分ip。86.步骤15,返回得分最高的目标ip地址。87.图2为本公开域名解析方法另一些实施例的示意图。优选的,本实施例可由本公开域名解析系统执行。该方法可以包括步骤21-步骤23,其中:88.步骤21,受理和反馈模块接收用户输入的域名解析请求。89.步骤22,通过微服务器网关、多个微服务器集群节点、多个缓存集群和多个数据库进行域名匹配寻址。90.在本公开的一些实施例中,步骤22可以包括步骤221和步骤222,其中:91.步骤221,微服务器网关根据分发规则,将域名解析请求分发到多个微服务器集群节点进行处理。92.在本公开的一些实施例中,所述域名解析方法还可以包括:通过应用程序接口模型,进行分发规则的调整,其中,调整规则不需要重启系统。93.步骤222,微服务器集群节点通过缓存集群在数据库进行域名匹配寻址。94.在本公开的一些实施例中,步骤222可以包括:采用多个微服务器集群节点分别执行如上述任一实施例(例如图1实施例)所述的域名解析方法,进行域名匹配寻址。95.在本公开的一些实施例中,所述域名解析方法还可以包括:对域名解析的目标地址的负载情况进行判断,在解析算法中形加权因子,综合平均使用各个微服务器集群节点的使用负载。96.步骤23,受理和反馈模块将得分最高的目标ip地址反馈给用户终端。97.在本公开的一些实施例中,使用java计算机编程语言开发语言,实现网络udp用户数据报协议(udp,user datagram protocol)协议的域名解析功能。window和linux系统的主机使用域名解析配置时均可以正常得到某个域名的解析地址。98.基于本公开上述实施例提供的域名解析方法,使用成熟的技术手段优化域名解析的寻址方法。比如,相关技术域名服务器bind,在域名指定返回单一地址的情况下,可以使用配置文件、缓存、mysql数据库进行域名匹配寻址;在域名指定返回多个地址的情况下,可以使用配置文件、mysql数据进行域名匹配寻址。本公开上述实施例的域名解析方法可以实现在任意环境下都可以进行缓存查询,从而最大程度下保障了性能。99.本公开上述实施例使用it(information technology,信息技术)化的api(application programming interface,应用程序接口)模式,实现分发规则的调整。对标相关技术bind,在需要智能识别来源ip并动态域名解析的场景下,主要采用acl访问控制列表(access control lists,acl)文件预加载的方式,这就意味着调整规则需要重启。本公开上述实施例中,使用it化的api模式,对规则进行调整,调整规则不需要重启,从而保障了单点模式下服务延续性。100.本公开上述实施例使用人工智能的算法对域名解析的目标地址的负载情况进行判断,在解析算法中形成智能的加权因子,即系统负荷较低的集群返回较多次数的解析结果,从而在无状态业务的场景下综合平均各集群的使用负载,从而提升了资源利用率。101.图3为本公开微服务器集群节点一些实施例的示意图。如图3所示,所述微服务器集群节点可以包括地址清单获取单元31、距离获取单元32、负载确定单元33、得分确定单元34和地址返回单元35,其中:102.地址清单获取单元31,被配置为获取域名解析请求中域名对应的可选地址清单,可选地址清单包括多个目标ip地址。103.在本公开的一些实施例中,地址清单获取单元31可以被配置为获取域名的可选地址清单,形成应答答案的合集。例如:返回值的参数为ip_target1和ip_target2。104.距离获取单元32,被配置为确定每个目标ip地址和源ip地址的距离。105.在本公开的一些实施例中,距离获取单元32可以被配置为获取源ip地址(ip_source);针对每个目标ip地址(例如ip_target1或ip_target2),确定该目标ip地址和源ip地址(ip_source)的距离值。106.在本公开的一些实施例中,距离获取单元32可以被配置为根据预定源地址与目标地址的距离算法fx(ip_target,ip_source)确定该目标ip地址和源ip地址(ip_source)的距离值。107.在本公开的一些实施例中,所述距离值的最大值可以为100,最小值可以为1。108.负载确定单元33,被配置为针对每个目标ip地址,根据目标集群应用负载情况和该目标ip地址,确定该目标ip地址的应用集群负载值。109.在本公开的一些实施例中,目标集群应用负载情况可以包括cpu(cpu_rate)和网卡负载(net_load)。110.在本公开的一些实施例中,负载确定单元33可以被配置为根据预定目标地址应用集群负载算法lx(ip_target,cpu_rate,net_load)确定该目标ip地址(ip_target)的应用集群负载值。111.在本公开的一些实施例中,所述应用集群负载值的最大值可以为100,最小值可以为1。112.得分确定单元34,被配置为针对每个目标ip地址,根据该目标ip地址的应用集群负载值、该目标ip地址和源ip地址的距离值,确定该目标ip地址的得分。113.在本公开的一些实施例中,得分确定单元34可以被配置为获取每个目标ip地址的网络可达性系数net_reach和应用集群可用性系数saas_avliable;针对每个目标ip地址,根据该目标ip地址的应用集群负载值、该目标ip地址和源ip地址的距离值、该目标ip地址的网络可达性系数和应用集群可用性系数,确定该目标ip地址的得分。114.在本公开的一些实施例中,目标ip地址的网络可达性系数net_reach,可达情况下为1;不可达情况下为0。115.在本公开的一些实施例中,应用集群可用性系数saas_avliable,可用情况下为1;不可用情况下为0。116.在本公开的一些实施例中,得分确定单元34可以被配置为针对每个目标ip地址,根据该目标ip地址的应用集群负载值和该目标ip地址和源ip地址的距离值的和,再乘以该目标ip地址的网络可达性系数和应用集群可用性系数,确定该目标ip地址的得分。117.例如:对比于目标ip地址ip_target1返回得分记为point1=net_reach1*saas_avliable1(fx(ip_target1,ip_source)+lx(ip_target1,cpu_rate,net_load))。118.对于目标ip地址ip_target_2返回得分记为point2=net_reach2*saas_avliable2(fx(ip_target2,ip_source)+lx(ip_target2,cpu_rate,net_load))返回高分ip。119.地址返回单元35,被配置为返回得分最高的目标ip地址。120.在本公开的一些实施例中,所述微服务器集群节点可以被配置为执行实现如上述任一实施例(例如图1或图2实施例)所述的域名解析方法的操作。121.图4为本公开微服务器集群节点又一些实施例的结构示意图。如图4所示,微服务器集群节点包括存储器41和处理器42。122.存储器41用于存储指令,处理器42耦合到存储器41,处理器42被配置为基于存储器存储的指令执行实现上述任一实施例(例如图1或图2实施例)涉及的方法。123.如图4所示,该微服务器集群节点还可以包括通信接口43,用于与其它设备进行信息交互。同时,该微服务器集群节点还包括总线44,处理器42、通信接口43、以及存储器41通过总线44完成相互间的通信。124.存储器41可以包含高速ram存储器,也可还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器41也可以是存储器阵列。存储器41还可能被分块,并且块可按一定的规则组合成虚拟卷。125.此外,处理器42可以是一个中央处理器cpu,或者可以是专用集成电路asic,或是被配置成实施本公开实施例的一个或多个集成电路。126.基于本公开上述实施例提供的微服务器集群节点,提高了域名服务器的响应速度;保障了单点模式下服务延续性和服务的稳定性;使各集群的使用负载均衡,提升资源利用率。127.图5为本公开域名解析系统一些实施例的示意图。如图5所示,本公开域名解析系统可以包括受理和反馈模块51、微服务器网关52、多个微服务器集群节点53、多个缓存集群54和多个数据库55,其中:128.受理和反馈模块51,被配置为接收用户通过用户终端输入的域名解析请求,并将域名解析结果反馈给用户终端。129.微服务器网关52,被配置为根据分发规则,将域名解析请求分发到多个微服务器集群节点53进行处理。130.在本公开的一些实施例中,微服务器网关52,被配置可以为通过应用程序接口模型,进行分发规则的调整,其中,调整规则不需要重启系统。131.微服务器集群节点53,被配置为通过缓存集群54在数据库55进行域名匹配寻址。132.在本公开的一些实施例中,所述微服务器集群节点53可以为实现为域名服务器。133.在本公开的一些实施例中,所述微服务器集群节点53可以为如上述任一实施例(例如图3-图4任一实施例)所述的微服务器集群节点。134.在本公开的一些实施例中,数据库55可以为实现为高可用数据库。135.在本公开的一些实施例中,数据库55可以为实现为mysql数据库。136.在本公开的一些实施例中,本公开域名解析系统可以被配置为对域名解析的目标地址的负载情况进行判断,在解析算法中形加权因子,综合平均使用各个微服务器集群节点53的使用负载。137.基于本公开上述实施例提供的域名解析系统,主要解决了相关拣四两个问题:1.解决了域名服务器执行寻址功能过慢的问题;2.解决了域名服务器返回ip地址不均衡的问题。138.本公开上述实施例可以应用并实施于云网融合统一paas(platform as a service,平台即服务)平台研发与应用项目。139.本公开上述实施例使用java缓存技术提高了域名服务器的响应速度,本公开上述实施例采用了域名服务器智能动态算法。140.本公开上述实施例使用java计算机编程语言开发语言,可以实现网络udp协议的域名解析功能。window和linux系统的主机使用域名解析配置时可以正常得到某个域名的解析地址。141.根据本公开的另一方面,提供一种非瞬时性计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如上述任一实施例(例如图1或图2实施例)所述的域名解析方法。142.基于本公开上述实施例提供的非瞬时性计算机可读存储介质,使用成熟的技术手段优化域名解析的寻址方法。本公开上述实施例,实现了在任意环境下都可以进行缓存查询,从而最大程度下保障了性能。143.本公开上述实施例使用it化的api模式,实现分发规则的调整。本公开上述实施例调整规则不需要重启,保障了单点模式下服务延续性。144.本公开上述实施例使用人工智能的算法对域名解析的目标地址的负载情况进行判断,在解析算法中形成智能的加权因子,即系统负荷较低的集群返回较多次数的解析结果,从而可以在无状态业务的场景下综合平均各集群的使用负载,提升了资源利用率。145.在上面所描述的微服务器集群节点可以实现为用于执行本技术所描述功能的通用处理器、可编程逻辑控制器(plc)、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。146.至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。147.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。148.本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部