CN116074282A - 数据报文的响应方法、装置、电子设备及存储介质 - Google Patents

数据报文的响应方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116074282A
CN116074282A CN202310087687.6A CN202310087687A CN116074282A CN 116074282 A CN116074282 A CN 116074282A CN 202310087687 A CN202310087687 A CN 202310087687A CN 116074282 A CN116074282 A CN 116074282A
Authority
CN
China
Prior art keywords
response
domain name
name system
response messages
request information
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.)
Pending
Application number
CN202310087687.6A
Other languages
English (en)
Inventor
王庆
王剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Youzhuju Network Technology Co Ltd
Original Assignee
Beijing Youzhuju Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Youzhuju Network Technology Co Ltd filed Critical Beijing Youzhuju Network Technology Co Ltd
Priority to CN202310087687.6A priority Critical patent/CN116074282A/zh
Publication of CN116074282A publication Critical patent/CN116074282A/zh
Priority to PCT/CN2024/071802 priority patent/WO2024152980A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种数据报文的响应方法、装置、电子设备及存储介质。其中,方法包括:接收请求信息,查找与所述请求信息对应的多个响应报文;根据所述多个响应报文执行响应过程,所述响应过程包括:判断所述多个响应报文的数据量是否大于第一阈值;确定所述多个响应报文的数据量大于第一阈值,采用轮转算法从所述多个响应报文中轮转选定第一预定个数的目标响应报文进行响应,其中所述第一预定个数小于响应报文的总个数。这样在响应报文的数据量较大时无需对响应报文进行截断处理,而是采用轮转选定的方式进行响应处理,能够保证每个响应报文被选中的概率是相同的,保证了响应报文的响应效率。

Description

数据报文的响应方法、装置、电子设备及存储介质
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据报文的响应方法、装置、电子设备及存储介质。
背景技术
基于用户的请求对应的数据报文的数据量长度可能会超过域名系统的能够一次处理的最大量(例如512字节),这样如果对应的数据报文的量比较大的情况,会采用截断处理的方式,或者让客户端重新发起适配较大数据量的格式的请求。
但是,这种方式的请求查询效率比较低,另外有些域名系统针对较大数据量的格式的请求无法响应,进而出现响应失败的情况,这样会给用户带来不便。
发明内容
有鉴于此,本申请的目的在于提出一种数据报文的响应方法、装置、电子设备及存储介质以解决或部分解决上述技术问题。
基于上述目的,本申请的第一方面提供了一种数据报文的响应方法,包括:
接收请求信息,查找与所述请求信息对应的多个响应报文;
根据所述多个响应报文执行响应过程,所述响应过程包括:
判断所述多个响应报文的数据量是否大于第一阈值;
确定所述多个响应报文的数据量大于第一阈值,采用轮转算法从所述多个响应报文中轮转选定第一预定个数的目标响应报文进行响应,其中所述第一预定个数小于响应报文的总个数。
基于同一个构思,本申请的第二方面提出了一种数据报文的响应装置,包括:
接收模块,被配置为接收请求信息,查找与所述请求信息对应的多个响应报文;
响应模块,被配置为根据所述多个响应报文执行响应过程,所述响应过程包括:判断所述多个响应报文的数据量是否大于第一阈值;确定所述多个响应报文的数据量大于第一阈值,采用轮转算法从所述多个响应报文中轮转选定第一预定个数的目标响应报文进行响应,其中所述第一预定个数小于响应报文的总个数。
基于同一个构思,本申请的第三方面提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
基于同一个构思,本申请的第四方面提出了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行第一方面所述的方法。
从上面所述可以看出,本申请提供的数据报文的响应方法、装置、电子设备及存储介质,如果根据接收的请求信息查找的响应报文的数据量大于第一阈值,证明该响应报文的数据量较大,需要采用轮转算法从这些响应报文中轮转选定第一预定个数的目标响应报文进行响应处理。这样在响应报文的数据量较大时无需对响应报文进行截断处理,而是采用轮转选定的方式进行响应处理,能够保证每个响应报文被选中的概率是相同的,保证了响应报文的响应效率。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的应用场景示意图;
图2A为本申请实施例的数据报文的响应方法的流程图;
图2B为本申请实施例的确定第一预定个数的示例图;
图2C为本申请实施例的利用权威域名系统执行响应过程的示例图;
图2D为本申请实施例的利用递归域名系统执行响应过程的示例图;
图3为本申请实施例的数据报文的响应装置的结构框图;
图4为本申请实施例的电子设备的结构示意图。
具体实施方式
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
可以理解的是,在使用本公开中各个实施例的技术方案之前,均会通过恰当的方式对所涉及的个人信息的类型、使用范围、使用场景等告知用户,并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确的提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主的选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定的实现方式,响应于接受到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
基于上述背景技术的描述,相关技术中还存在如下的情况:
DNS(Domain Name System,域名系统)查询/DNS解析:将域名映射成IP(InternetProtocol,网际互连协议)地址的一种标准协议。
在DNS查询当中,一般使用UDP(User Datagram Protocol,用户数据报协议)协议作为默认查询协议,但是基于UDP的DNS规定了DNS包的最长长度为512字节。在特定场景下,部分DNS的响应数据可能会大于512字节。比如希望解析某个域名对应的IP地址数量为100个IP,每个IP希望都可以承载一些流量。
这种情况下,通常的做法是在DNS服务端不直接响应查询包,而是对响应包的truncated(缩减)进行置位。客户端收到这种响应包后,会重新发起TCP(TransmissionControl Protocol,传输控制协议)的DNS查询。基于TCP的DNS查询可以突破512个字节的限制。
但是这种方式有几个缺陷:
1.基于TCP的DNS查询效率比较低,而且在上述场景下,实际上进行了两次查询。
2.某些DNS服务器/客户端对于TCP的支持不友好,当发现响应超过512字节后,很可能无法去发起/接收基于TCP的查询。这就会导致无法解析的情况发生。
另外还有一种EDNS0(DNS的扩展名机制)的扩展协议,允许返回4096个字节,但是这个长度依然是有限制的,并且互联网中的很多DNS设备不支持该协议,这样就会导致协议解析失败,无法响应对应的请求。
专业术语解释:
权威DNS:
权威DNS是经过上一级授权对域名进行解析的服务器,同时它可以把解析授权转授给其他人,如com顶级服务器可以授权bytedns.com这个域名的的权威服务器为ns.bytedns.com,同时ns.bytedns.com还可以把子域名a.bytedns.com授权转授给ns.bbb.com,这样ns.bbb.com就成了a.bytedns.com实际上的权威服务器了。平时解析域名的结果最终来源都是权威DNS。
递归DNS:
负责接受用户对任意域名查询,并返回结果给用户。递归DNS可以缓存结果以避免重复向上查询。用户平时使用最多的就是这类DNS,其对公众开放服务,一般由网络运营商提供。递归DNS一定要有可靠的互联网连接方可使用。比如谷歌的8.8.8.8和8.8.4.4以及114的114.114.114.114和114.114.115.115都属于这一类DNS。本地电脑上设置的DNS就是这类DNS。
基于上述描述的情况,下面参考本申请的若干代表性实施方式,详细阐释本申请的原理和精神。
参考图1,其为本申请实施例提供的数据报文的响应方法的应用场景示意图。该应用场景包括终端设备101、服务器102、和数据存储系统103。其中,终端设备101、服务器102以及数据存储系统103之间均可通过有线或无线的通信网络连接。终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备视、个人数字助理(personal digital assistant,PDA)或其它能够实现上述功能的电子设备等。服务器102和数据存储系统103均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,即内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端设备101通过客户端发起请求信息,将请求信息发送至服务器102,服务器102接收到请求信息之后,会查找该请求信息对应的多个响应报文(每个响应报文对应一个IP地址)。服务器102会确定该多个响应报文的总数据量,如果该总数据量大于第一阈值(例如512字节),就会对该多个响应报文采用轮转算法从中选定第一预定个数的目标响应报文进行响应,并将响应后对应的数据发送至终端设备101中对应的客户端进行展示。其中,数据存储系统103用户存储服务器102对应需要执行的程序代码,以及存储各种请求信息对应的响应报文以供查询。
下面结合图1的应用场景,来描述根据本申请示例性实施方式的数据报文的响应方法。需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
本申请实施例提供了一种数据报文的响应方法,该方法应用于服务器。
如图2A所示,该方法包括:
步骤201,接收请求信息,查找与所述请求信息对应的多个响应报文。
具体实施时,对应的请求信息是用户通过终端设备上安装的客户端,根据用户的需要发起的数据请求,例如,查询请求、调用请求、搜索请求、运算处理请求等中的至少之一。
服务器接收到对应的请求信息之后,会对请求信息进行分析,确定满足该请求信息对应的多个响应报文,其中,每个响应报文对应一个响应IP。
步骤202,根据所述多个响应报文执行响应过程,所述响应过程包括:
步骤2021,判断所述多个响应报文的数据量是否大于第一阈值。
步骤2022,确定所述多个响应报文的数据量大于第一阈值,采用轮转算法从所述多个响应报文中轮转选定第一预定个数的目标响应报文进行响应,其中所述第一预定个数小于响应报文的总个数。
具体实施时,对应第一阈值可以根据实际需要进行选择设定,本实施例优选为512字节。其中,多个响应报文的数据量指的多个响应报文的字节总数。
如果响应报文的字节总数小于等于第一阈值,服务器可以继续通过UDP的格式进行查询响应,无需进行轮转算法处理。如果响应报文的字节总数大于第一阈值,此时无法直接通过UDP的格式进行查询响应,需要采用轮转算法从多个响应报文中轮转选定第一预定个数的目标响应报文,然后再继续使用UDP的格式进行查询响应,无需采用截断处理方式或者其他不友好的格式(例如,TCP或者EDNS0),保证了响应效果的稳定性。
通过上述方案,在响应报文的数据量较大时无需对响应报文进行截断处理,而是采用轮转选定的方式进行响应处理,能够保证每个响应报文被选中的概率是相同的,保证了响应报文的响应效率。
在一些实施例中,在执行步骤202之前,所述第一预定个数的确定过程包括:
步骤A1,确定所述多个响应报文的数据量大于第一阈值,不断重复执行将所述多个响应报文的个数减少第二预定个数的过程,直至确定剩余的响应报文的数据量小于等于第一阈值。
其中,对应的第二预定个数可以固定值,可以是逐次递减或者逐次递增的数值,可以是先逐次递减再逐次递增的数值,或者先逐次递增再逐次递减的数值。本实施例的第二预定个数优选为固定值1个。
步骤A2,确定剩余的响应报文的个数为所述第一预定个数。
通过上述方案,能够准确确定满足小于等于第一阈值对应的第一预定个数,进而保证采用轮转算法进行轮转选定时,每次轮转选定的第一预定个数的目标响应报文的数据量都小于等于第一阈值,这样每次轮转选定的目标响应报文都可以使用UDP的格式进行查询响应,使得响应效率得到有效提高。
例如,图2B所示,对于请求信息为DNS请求,确定第一预定个数的过程包括:
步骤a1,查找DNS请求应该响应内容(即响应报文)/IP。
步骤a2,判定响应报文的数据量>512字节,是则进入步骤a3,否则进入步骤a4。
步骤a3,响应报文对应的IP总数-1,然后返回步骤a2。
步骤a4,确定剩余的响应报文对应的IP数量为第一预定个数(即,C)。
在一些实施例中,步骤2022中,所述采用轮转算法从所述多个响应报文中轮转选定第一预定个数的目标响应报文进行响应,包括:
步骤20221,确定所述响应报文的个数M,将M个响应报文进行顺序排列。
具体实施时,由于每个响应报文对应一个IP地址,因此排列顺序可以按照IP地址进行升序排列或者降序排列,排列之后从0开始进行顺序编号。
步骤20222,确定所述请求信息的当前请求次数N,采用轮转算法从M个响应报文中轮转选定排序区间为(N-1)%M至(N-1+C-1)%M对应的响应报文,作为所述目标响应报文进行响应;其中,%为取余运算,C为所述第一预定个数。
其中,请求次数是指对同一个请求信息进行多次请求的请求次数。
具体实施时,按照上述步骤20222中的排序区间的算法公式,选定对应当前请求次数N对应的IP地址的C个顺序编号,这样就可以对选中的该C个响应报文进行响应。如果按照请求次数轮转选定至排序的末尾,可以按照上述排序区间的短发公式,衔接上排序的头部进行继续选定。这样保证各个响应报文的循环衔接的特点,同时使得每个响应报文被选定的概率是一样的。
例如:用户配置exampe.com解析到10.10.10.1~10.10.10.100这100个IP地址。假设响应的时候我们找到数据发现只要超过10个IP,响应的数据包就会超过512字节。这时候,我们对于每次DNS请求响应的数据如下:
第1次请求,响应:10.10.10.1~10.10.10.10;
第2次请求,响应:10.10.10.2~10.10.10.11;
第3次请求,响应:10.10.10.3~10.10.10.12;
......
第92次请求,响应:10.10.10.92~10.10.10.100和10.10.10.1;
......
第100次请求,响应:10.10.10.100和10.10.10.1~10.10.10.9;
第101次请求,响应:10.10.10.1~10.10.10.10。
由上面例子可了解DNS查询每次都只是返回部分IP,防止了DNS截断。并且最终达到了负载均衡的目的。每一个IP被客户端拿到的概率是相同的。
在一些实施例中,对应上述实施例中步骤201和步骤202的方案,可以在权威域名系统中执行,也可以在递归域名系统执行,还可以是权威域名系统和递归域名系统均执行。
下面以在权威域名系统执行响应过程作为实施例进行具体描述:
图2C示出了利用权威域名系统执行响应过程的示例图。
步骤A1,利用权威域名系统接收客户端通过递归域名系统发来的请求信息。
在一些实施例中,步骤A1包括:
所述权威域名系统接收所述递归域名系统发来的用户数据报文格式(UDP)的请求信息,其中,所述用户数据报文格式的请求信息为所述客户端发送至递归域名系统的用户数据报文格式的请求信息。
具体实施时,各个客户端生成对应的请求信息(即,DNS请求)之后,就会通过递归域名系统(即,递归DNS)进行转发,转发至对应的权威域名系统(即,权威DNS)中,以供权威域名系统进行响应过程的处理。
上述过程中递归域名系统将各个客户端发来的UDP格式的DNS请求进行集中分发处理,将UDP格式的DNS请求转换后还是UDP格式的请求信息,将转换后UDP格式的请求信息分发至相应的权威域名系统。对应的递归域名系统可以设置至少一个,权威域名系统接收来自各个递归域名系统发来的转换后UDP格式的请求信息。以供后续权威域名系统对各个UDP格式的请求信息进行响应过程的处理。
步骤A2,通过所述权威域名系统查找与所述请求信息对应的多个响应报文。
则,上述步骤202也是利用所述权威域名系统执行。具体执行的过程与上述步骤202的具体方案同理,这里不再赘述。
具体实施时,由于递归DNS侧均是采用UDP格式进行处理的,当权威DNS侧采用本实施例的响应过程,在权威DNS侧也就可以采用UDP格式进行处理。这样全网的解析就都可以使用UDP进行响应处理,由于UDP格式的数据处理速度较快,这样就可以提高全网请求响应的速度和响应效率。
其中针对递归DNS,每个递归DNS都会拿到全部客户端发来的DNS请求对应的响应报文的部分的IP。并且每个递归DNS由于是分别请求权威DNS拿到解析结果的,那每个递归DNS的结果也刚好是轮转的,拿到的结果是不同的。
最终的效果即:即便对应请求信息配置1000个响应报文对应的IP/节点,提供线上服务,每个IP也可以均匀的提供流量,达到全局负载均衡。而不需要TCP或者其他复杂协议的介入,全链路UDP的DNS即可满足需求。
下面以在递归域名系统和权威域名系统执行响应过程作为实施例进行具体描述:
步骤B1,利用所述递归域名系统接收客户端发来的请求信息,通过所述递归域名系统查找与所述请求信息对应的多个响应报文。
具体实施时,各个客户端生成对应的请求信息(即,DNS请求)之后,就会发送至递归域名系统,递归域名系统根据请求信息确定相应的响应报文。
步骤B2,利用所述递归域名系统执行所述多个响应报文的响应过程,并根据所述响应过程生成响应结果信息,将所述响应结果信息发送至权威域名系统。
具体实施时,如果客户端发到递归域名系统的请求信息对应查到的响应报文数量较大,递归域名系统用UDP格式的文件无法完成响应过程,可以在递归域名系统侧按照上述步骤202的方案采用轮转算法执行对应的响应过程,这样就可以用UDP格式的文件来完成响应过程,具体执行过程与上述同理,这里不再赘述。
执行完成之后,就会得到UDP格式的响应结果信息,将UDP格式的响应结果信息发送给权威域名系统根据响应结果信息中的响应报文执行解析过程。
步骤B3,利用所述权威域名系统接收递归域名系统发来的响应结果信息。
步骤B4,通过所述权威域名系统查找与所述响应结果信息对应的多个响应报文。
步骤B5,所述响应结果信息对应的多个响应报文的响应过程利用所述权威域名系统执行。
具体实施时,权威域名系统侧对接收到的UDP格式的响应结果信息,如果数据量较大,也可以继续采用上述步骤202中的轮转算法执行的响应过程,继续对相应结果信息中的多个响应报文完成响应处理。具体执行的过程与上述步骤202同理,这里不再赘述。
通过上述方案,对应的轮转算法执行的响应过程可以在递归域名系统侧和权威域名系统侧同时执行,这样能够保证递归域名系统侧和权威域名系统侧对应响应处理过程的速率和效果,这样全网进行响应报文处理的时候可以全部使用UDP格式进行,UDP格式的响应报文处理速度快并且响应准确度高,这样能够提高全网响应的效果。
下面以在递归域名系统执行响应过程作为实施例进行具体描述:
图2D示出了利用递归域名系统执行响应过程的示例图。
步骤C1,利用所述递归域名系统接收客户端发来的请求信息,通过所述递归域名系统查找与所述请求信息对应的多个响应报文。
具体实施时,各个客户端生成对应的请求信息之后,就会发送至递归域名系统,递归域名系统将各个客户端发来的UDP格式的DNS请求确定相应的响应报文。
步骤C2,所述多个响应报文的响应过程利用所述递归域名系统执行。
具体实施时,如果客户端发到递归域名系统的请求信息对应查到的响应报文数量较大,递归域名系统用UDP格式的文件无法完成响应过程,可以在递归域名系统侧按照上述步骤202的方案采用轮转算法执行对应的响应过程,这样就可以用UDP格式的文件来完成响应过程,具体执行过程与上述同理,这里不再赘述。
步骤C3,在所述递归域名系统执行完所述响应过程之后,根据所述响应过程生成响应结果信息,将所述响应结果信息发送至权威域名系统,以供所述权威域名系统根据所述响应结果信息进行响应。
在一些实施例中,步骤C3中所述将所述响应结果信息发送至权威域名系统,包括:
将所述响应结果信息通过用户数据报文格式或者传输控制协议格式发送至所述权威域名系统。
具体实施时,如果经过递归域名系统执行完之后得到的各类请求信息对应响应结果信息的数据量较小(小于等于512字节)可以采用UDP格式发送至权威域名系统,如果数据量较大(大于512字节)就需要采用TCP格式发送至权威域名系统。以供权威域名系统对相应结果信息进行解析响应,进而将解析结果通过递归域名系统返回给客户端,以供客户端获知请求结果。
在上述方案中,当递归DNS侧实现了本实施例的轮转算法的响应过程,那么客户端的请求都可以是UDP来进行,递归DNS到权威DNS侧则按照标准的DNS协议来进行。由于递归DNS具有缓存的功能,全网大部分的DNS请求都是客户端到递归DNS的,所以本实施例利用递归DNS侧执行轮转算法的响应过程,可以显著提升DNS请求的效率。
例如:某一个域名的TTL(Time To Live,生存时间)配置的是60s。那这个域名客户端到递归DNS的请求对比递归DNS到权威DNS的请求量大约是60:1,进而提高了DNS查询的效率。
由于递归DNS可以执行轮转算法的响应过程,需要解析的大量IP,那么客户端拿到每个IP的概率其实也是相同的。
这种实现方法需要注意:递归DNS必须要支持TCP防截断功能,即支持TCP的DNS查询。
综上所述,本申请在没有引入复杂方法的前提下,解决了UDP截断后TCP传输效率低的问题。也解决了互联网中部分DNS设备不支持TCP查询/EDNS0的问题。另外,针对互联网CDN(Content Delivery Network,内容分发网络)场景下的调度系统(递归DNS和/或权威DNS)来说,可以不受IP截断的影响,调度系统只需确定可用IP,并区分IP的线路即可。实施本申请方案的递归DNS和/或权威DNS,能够降低了响应过程实现的复杂度,显著降低了DNS查询因为截断导致的故障。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一构思,与上述任意实施例的数据报文的响应方法相对应的,本申请还提供了一种数据报文的响应装置。
参考图3,该装置包括:
接收模块,被配置为接收请求信息,查找与所述请求信息对应的多个响应报文;
响应模块,被配置为根据所述多个响应报文执行响应过程,所述响应过程包括:判断所述多个响应报文的数据量是否大于第一阈值;确定所述多个响应报文的数据量大于第一阈值,采用轮转算法从所述多个响应报文中轮转选定第一预定个数的目标响应报文进行响应,其中所述第一预定个数小于响应报文的总个数。
在一些实施例中,装置还包括数量确定模块,被配置为:
确定所述多个响应报文的数据量大于第一阈值,不断重复执行将所述多个响应报文的个数减少第二预定个数的过程,直至确定剩余的响应报文的数据量小于等于第一阈值;确定剩余的响应报文的个数为所述第一预定个数。
在一些实施例中,响应模块包括:
排列单元,被配置为确定所述响应报文的个数M,将M个响应报文进行顺序排列;
响应单元,被配置为确定所述请求信息的当前请求次数N,采用轮转算法从M个响应报文中轮转选定排序区间为(N-1)%M至(N-1+C-1)%M对应的响应报文,作为所述目标响应报文进行响应;其中,%为取余运算,C为所述第一预定个数。
在一些实施例中,接收模块还被配置为:
利用权威域名系统接收客户端通过递归域名系统发来的请求信息;通过所述权威域名系统查找与所述请求信息对应的多个响应报文;
则,响应模块设置在所述权威域名系统中,所述多个响应报文的响应过程利用所述权威域名系统执行。
在一些实施例中,所述接收模块还被配置为:
利用所述权威域名系统接收所述递归域名系统发来的用户数据报文格式的请求信息,其中,所述用户数据报文格式的请求信息为所述客户端发送至递归域名系统的用户数据报文格式的请求信息。
在一些实施例中,所述接收模块还被配置为:
利用所述递归域名系统接收客户端发来的请求信息,通过所述递归域名系统查找与所述请求信息对应的多个响应报文。
响应模块设置在递归域名系统中,响应模块被配置为:
利用所述递归域名系统执行所述多个响应报文的响应过程,并根据所述响应过程生成响应结果信息,将所述响应结果信息发送至权威域名系统。
所述接收模块还被配置为:利用所述权威域名系统接收递归域名系统发来的响应结果信息;
响应模块设置在递归域名系统中,响应模块被配置为:
通过所述权威域名系统查找与所述响应结果信息对应的多个响应报文;并且,所述响应结果信息对应的多个响应报文的响应过程利用所述权威域名系统执行。
在一些实施例中,所述接收模块还被配置为:
利用所述递归域名系统接收客户端发来的请求信息,通过所述递归域名系统查找与所述请求信息对应的多个响应报文;
则,响应模块设置在递归域名系统中,响应模块还被配置为:
所述多个响应报文的响应过程利用所述递归域名系统执行;在所述递归域名系统执行完所述响应过程之后,根据所述响应过程生成响应结果信息,将所述响应结果信息发送至权威域名系统,以供所述权威域名系统根据所述响应结果信息进行响应。
在一些实施例中,响应模块还被配置为:将所述响应结果信息通过用户数据报文格式或者传输控制协议格式发送至所述权威域名系统。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一构思,与上述任意实施例的方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的方法。
图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器410、存储器420、输入/输出接口430、通信接口440和总线450。其中处理器410、存储器420、输入/输出接口430和通信接口440通过总线450实现彼此之间在设备内部的通信连接。
处理器410可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器420可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器420可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器420中,并由处理器410来调用执行。
输入/输出接口430用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线450包括一通路,在设备的各个组件(例如处理器410、存储器420、输入/输出接口430和通信接口440)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器410、存储器420、输入/输出接口430、通信接口440以及总线450,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的数据报文的响应方法,并且具有相应的数据报文的响应方法实施例的有益效果,在此不再赘述。
基于同一构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种数据报文的响应方法,其特征在于,包括:
接收请求信息,查找与所述请求信息对应的多个响应报文;
根据所述多个响应报文执行响应过程,所述响应过程包括:
判断所述多个响应报文的数据量是否大于第一阈值;
确定所述多个响应报文的数据量大于第一阈值,采用轮转算法从所述多个响应报文中轮转选定第一预定个数的目标响应报文进行响应,其中所述第一预定个数小于响应报文的总个数。
2.根据权利要求1所述的方法,其特征在于,所述第一预定个数的确定过程包括:
确定所述多个响应报文的数据量大于第一阈值,不断重复执行将所述多个响应报文的个数减少第二预定个数的过程,直至确定剩余的响应报文的数据量小于等于第一阈值;
确定剩余的响应报文的个数为所述第一预定个数。
3.根据权利要求1所述的方法,其特征在于,所述采用轮转算法从所述多个响应报文中轮转选定第一预定个数的目标响应报文进行响应,包括:
确定所述响应报文的个数M,将M个响应报文进行顺序排列;
确定所述请求信息的当前请求次数N,采用轮转算法从M个响应报文中轮转选定排序区间为(N-1)%M至(N-1+C-1)%M对应的响应报文,作为所述目标响应报文进行响应;其中,%为取余运算,C为所述第一预定个数。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述接收请求信息,查找与所述请求信息对应的多个响应报文包括:
利用权威域名系统接收客户端通过递归域名系统发来的请求信息;
通过所述权威域名系统查找与所述请求信息对应的多个响应报文;
则,所述多个响应报文的响应过程利用所述权威域名系统执行。
5.根据权利要求4所述的方法,其特征在于,所述利用权威域名系统接收客户端通过递归域名系统发来的请求信息,包括:
所述权威域名系统接收所述递归域名系统发来的用户数据报文格式的请求信息,其中,所述用户数据报文格式的请求信息为所述客户端发送至递归域名系统的用户数据报文格式的请求信息。
6.根据权利要求4所述的方法,其特征在于,所述利用权威域名系统接收客户端通过递归域名系统发来的请求信息,包括:
利用所述递归域名系统接收客户端发来的请求信息,通过所述递归域名系统查找与所述请求信息对应的多个响应报文;
利用所述递归域名系统执行所述多个响应报文的响应过程,并根据所述响应过程生成响应结果信息,将所述响应结果信息发送至权威域名系统;
利用所述权威域名系统接收递归域名系统发来的响应结果信息;
所述通过所述权威域名系统查找与所述请求信息对应的多个响应报文,包括:
通过所述权威域名系统查找与所述响应结果信息对应的多个响应报文;
并且,所述响应结果信息对应的多个响应报文的响应过程利用所述权威域名系统执行。
7.根据权利要求1至3任一项所述的方法,其特征在于,所述接收请求信息,查找与所述请求信息对应的多个响应报文包括:
利用所述递归域名系统接收客户端发来的请求信息,通过所述递归域名系统查找与所述请求信息对应的多个响应报文;
则,所述多个响应报文的响应过程利用所述递归域名系统执行;
在所述递归域名系统执行完所述响应过程之后,根据所述响应过程生成响应结果信息,将所述响应结果信息发送至权威域名系统,以供所述权威域名系统根据所述响应结果信息进行响应。
8.根据权利要求7所述的方法,其特征在于,所述将所述响应结果信息发送至权威域名系统,包括:
将所述响应结果信息通过用户数据报文格式或者传输控制协议格式发送至所述权威域名系统。
9.一种数据报文的响应装置,其特征在于,包括:
接收模块,被配置为接收请求信息,查找与所述请求信息对应的多个响应报文;
响应模块,被配置为根据所述多个响应报文执行响应过程,所述响应过程包括:判断所述多个响应报文的数据量是否大于第一阈值;确定所述多个响应报文的数据量大于第一阈值,采用轮转算法从所述多个响应报文中轮转选定第一预定个数的目标响应报文进行响应,其中所述第一预定个数小于响应报文的总个数。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述的方法。
11.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使计算机执行如权利要求1至8任一项所述的方法。
CN202310087687.6A 2023-01-17 2023-01-17 数据报文的响应方法、装置、电子设备及存储介质 Pending CN116074282A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202310087687.6A CN116074282A (zh) 2023-01-17 2023-01-17 数据报文的响应方法、装置、电子设备及存储介质
PCT/CN2024/071802 WO2024152980A1 (zh) 2023-01-17 2024-01-11 数据报文的响应方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310087687.6A CN116074282A (zh) 2023-01-17 2023-01-17 数据报文的响应方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116074282A true CN116074282A (zh) 2023-05-05

Family

ID=86181740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310087687.6A Pending CN116074282A (zh) 2023-01-17 2023-01-17 数据报文的响应方法、装置、电子设备及存储介质

Country Status (2)

Country Link
CN (1) CN116074282A (zh)
WO (1) WO2024152980A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076094A (zh) * 2023-10-16 2023-11-17 中国船舶集团有限公司第七〇七研究所 一种密码运算多任务并发处理方法
WO2024152980A1 (zh) * 2023-01-17 2024-07-25 北京有竹居网络技术有限公司 数据报文的响应方法、装置、电子设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105306621B (zh) * 2015-11-24 2018-05-29 北京天地互连信息技术有限公司 一种基于应用层dns消息分割的dns包扩展方法
CN111211876B (zh) * 2020-01-02 2021-10-12 支付宝(杭州)信息技术有限公司 发送针对数据请求的应答消息的方法及装置、区块链系统
CN113259490B (zh) * 2021-06-29 2021-09-24 北京华云安信息技术有限公司 基于udp传输协议的多级节点网络数据传输方法
CN115604282A (zh) * 2022-10-12 2023-01-13 中国电信股份有限公司(Cn) 一种资源数据的处理方法及装置、电子设备、存储介质
CN116074282A (zh) * 2023-01-17 2023-05-05 北京有竹居网络技术有限公司 数据报文的响应方法、装置、电子设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024152980A1 (zh) * 2023-01-17 2024-07-25 北京有竹居网络技术有限公司 数据报文的响应方法、装置、电子设备及存储介质
CN117076094A (zh) * 2023-10-16 2023-11-17 中国船舶集团有限公司第七〇七研究所 一种密码运算多任务并发处理方法
CN117076094B (zh) * 2023-10-16 2024-01-16 中国船舶集团有限公司第七〇七研究所 一种密码运算多任务并发处理方法

Also Published As

Publication number Publication date
WO2024152980A1 (zh) 2024-07-25

Similar Documents

Publication Publication Date Title
CN116074282A (zh) 数据报文的响应方法、装置、电子设备及存储介质
US9549038B1 (en) Cacheable resource location selection
CN114422367B (zh) 报文处理方法及装置
WO2021042673A1 (zh) Dns解析方法、权威dns服务器和dns解析系统
US12120590B2 (en) Mobile application accelerator
US20130290563A1 (en) Answer augmentation system for authoritative dns servers
WO2011146499A1 (en) Content delivery network
WO2010002603A1 (en) Request routing using network computing components
CN107888717B (zh) 一种域名确定方法、装置及电子设备
US20170289243A1 (en) Domain name resolution method and electronic device
US10075553B1 (en) Systems and methods for automatically rewriting network page code
US20140164645A1 (en) Routing table maintenance
US20210037090A1 (en) Systems and Methods for Server Failover and Load Balancing
US11444996B2 (en) Two-level cache architecture for live video streaming through hybrid ICN
CN112688807A (zh) 一种一站式联动响应蓝绿部署的方法、装置和电子设备
JP2017118248A (ja) 名前解決装置、名前解決方法及び名前解決プログラム
JP2023516565A (ja) ホスト名のプレローカライゼーション
CN114285856B (zh) 一种ipv4外链访问方法及装置
CN113315849B (zh) 数据处理方法、装置、设备和存储介质
CN114500058A (zh) 网络访问控制方法、系统、设备和介质
CN116939057A (zh) 一种数据传输方法、装置、服务器及存储介质
CN117914822A (zh) 调度方法、电子设备、计算机可读介质
CN118250380A (zh) 一种隐私号的选号方法、装置及电子设备
CN116074386A (zh) 服务调用方法及装置、服务注册方法及装置
CN114051022A (zh) Http请求处理方法及装置

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