网络处理方法、装置、电子设备及存储介质与流程

文档序号:18524006发布日期:2019-08-24 10:04阅读:127来源:国知局
网络处理方法、装置、电子设备及存储介质与流程

本公开涉及互联网技术领域,特别是涉及一种网络处理方法、装置、电子设备及存储介质。



背景技术:

在互联网应用中,通常会涉及到较多的网络api(applicationprogramminginterface,应用程序编程接口)请求,即从服务器动态获取数据。然而针对一个api请求,通常要经历一条完整的链路,包括:dns(domainnamesystem,域名系统)解析、客户端与服务器建立传输、证书安全认证、客户端请求服务器和服务器响应客户端。

在上述链路过程中,客户端可以进行超时检测,当请求等待的时间达到超时时间,被认为请求失败。超时时间如果设置较短,容易造成服务器还没查询完数据就超时,导致客户端看到的是请求失败的提示;如果设置较长,在网络环境较差的情况下,请求等待时间较长,容易造成其他请求处于排队状态,造成不良的用户体验。当前大多数客户端的超时时间是经验值(可能是经过多次实验得出的最优值),并且超时时间在客户端是固定的。因此,网络请求的失败率较高。



技术实现要素:

本公开提供一种网络处理方法、装置、电子设备及存储介质,以至少解决相关技术中超时时间设置的准确性较低的问题。具体技术方案如下:

根据本公开实施例的第一方面,提供一种网络处理方法,应用于客户端,所述方法包括:

向服务器发送当前网络请求;

根据所述当前网络请求的发送时刻从历史网络请求中确定符合预设条件的目标历史网络请求,所述预设条件包括时间因素;

获取所述目标历史网络请求的信息;

根据所述当前网络请求的信息、所述目标历史网络请求的信息、网络传输环境信息以及预设超时时间阈值,确定所述当前网络请求的超时时间。

可选的,所述预设条件为:与所述当前网络请求的发送时刻最接近,且未超时。

可选的,所述根据所述当前网络请求的信息、所述目标历史网络请求的信息、网络传输环境信息以及预设超时时间阈值,确定所述当前网络请求的超时时间,包括:

根据所述当前网络请求的信息、所述目标历史网络请求的信息以及网络传输环境信息,计算所述当前网络请求的超时时间计算值;

若所述超时时间计算值大于所述预设超时时间阈值,将所述预设超时时间阈值作为所述当前网络请求的超时时间;

若所述超时时间计算值不大于所述预设超时时间阈值,将所述超时时间计算值作为所述当前网络请求的超时时间。

可选的,所述根据所述当前网络请求的信息、所述目标历史网络请求的信息以及网络传输环境信息,计算所述当前网络请求的超时时间计算值,包括:

若所述当前网络请求的信息包括:所述当前网络请求携带的数据大小,所述目标历史网络请求的信息包括:所述目标历史网络请求的耗用时间、所述目标历史网络请求携带的数据大小和所述服务器针对所述目标历史网络请求发送的响应数据的大小;所述网络传输环境信息包括:预设多路复用预估时间、预设网络拥塞阈值和预设数据传输速率阈值;

根据所述当前网络请求携带的数据大小、所述目标历史网络请求的耗用时间、所述目标历史网络请求携带的数据大小、所述服务器针对所述目标历史网络请求发送的响应数据的大小、所述预设多路复用预估时间、所述预设网络拥塞阈值和所述预设数据传输速率阈值,确定所述当前网络请求的超时时间计算值。

可选的,若所述当前网络请求的个数为多个;

在确定所述当前网络请求的超时时间之后,所述方法还包括:

根据所述当前网络请求的个数和所述当前网络请求的预设发送间隔,计算所述当前网络请求的发送时间;

将所述当前网络请求的超时时间更新为所述当前网络请求的超时时间与所述发送时间之和。

可选的,所述根据所述当前网络请求的个数和所述当前网络请求的预设发送间隔,计算所述当前网络请求的发送时间,包括:

若所述当前网络请求的个数为n,所述当前网络请求的预设发送间隔为t0,则所述当前网络请求的发送时间t=(n-1)×t0,n为大于1的整数。

可选的,在确定所述当前网络请求的超时时间之后,所述方法还包括:

根据所述超时时间确定所述当前网络请求是否超时,若确定所述当前网络请求未超时,在接收所述服务器发送的响应数据之后,存储所述当前网络请求的信息。

可选的,所述根据所述超时时间确定所述当前网络请求是否超时,包括:

若在所述超时时间到达时刻,未接收到所述服务器发送的响应数据,确定所述当前网络请求超时;

若在所述超时时间到达时刻之前,接收到所述服务器发送的响应数据,确定所述当前网络请求未超时。

根据本公开实施例的第二方面,提供一种网络处理装置,应用于客户端,所述装置包括:

网络请求发送模块,被配置为执行向服务器发送当前网络请求;

目标历史网络请求确定模块,被配置为执行根据所述当前网络请求的发送时刻从历史网络请求中确定符合预设条件的目标历史网络请求,所述预设条件包括时间因素;

目标历史网络请求信息获取模块,被配置为执行获取所述目标历史网络请求的信息;

超时时间确定模块,被配置为执行根据所述当前网络请求的信息、所述目标历史网络请求的信息、网络传输环境信息以及预设超时时间阈值,确定所述当前网络请求的超时时间。

可选的,所述预设条件为:与所述当前网络请求的发送时刻最接近,且未超时。

可选的,所述超时时间确定模块,包括:

超时时间计算值确定单元,被配置为执行根据所述当前网络请求的信息、所述目标历史网络请求的信息以及网络传输环境信息,计算所述当前网络请求的超时时间计算值;

超时时间第一确定单元,被配置为执行若所述超时时间计算值大于所述预设超时时间阈值,将所述预设超时时间阈值作为所述当前网络请求的超时时间;

超时时间第二确定单元,被配置为执行若所述超时时间计算值不大于所述预设超时时间阈值,将所述超时时间计算值作为所述当前网络请求的超时时间。

可选的,所述超时时间计算值确定单元,具体被配置为执行若所述当前网络请求的信息包括:所述当前网络请求携带的数据大小,所述目标历史网络请求的信息包括:所述目标历史网络请求的耗用时间、所述目标历史网络请求携带的数据大小和所述服务器针对所述目标历史网络请求发送的响应数据的大小;所述网络传输环境信息包括:预设多路复用预估时间、预设网络拥塞阈值和预设数据传输速率阈值;

根据所述当前网络请求携带的数据大小、所述目标历史网络请求的耗用时间、所述目标历史网络请求携带的数据大小、所述服务器针对所述目标历史网络请求发送的响应数据的大小、所述预设多路复用预估时间、所述预设网络拥塞阈值和所述预设数据传输速率阈值,确定所述当前网络请求的超时时间计算值。

可选的,若所述当前网络请求的个数为多个;

所述装置还包括:

当前网络请求发送时间确定模块,被配置为执行根据所述当前网络请求的个数和所述当前网络请求的预设发送间隔,计算所述当前网络请求的发送时间;

超时时间更新模块,被配置为执行将所述当前网络请求的超时时间更新为所述当前网络请求的超时时间与所述发送时间之和。

可选的,所述当前网络请求发送时间确定模块,具体被配置为执行若所述当前网络请求的个数为n,所述当前网络请求的预设发送间隔为t0,则所述当前网络请求的发送时间t=(n-1)×t0,n为大于1的整数。

可选的,本公开实施例的网络处理装置,还包括:

当前网络请求信息存储模块,被配置为执行根据所述超时时间确定所述当前网络请求是否超时,若确定所述当前网络请求未超时,在接收所述服务器发送的响应数据之后,存储所述当前网络请求的信息。

可选的,所述当前网络请求信息存储模块,包括:

当前网络请求超时确定单元,被配置为执行若在所述超时时间到达时刻,未接收到所述服务器发送的响应数据,确定所述当前网络请求超时;

当前网络请求未超时确定单元,被配置为执行若在所述超时时间到达时刻之前,接收到所述服务器发送的响应数据,确定所述当前网络请求未超时。

根据本公开实施例的第三方面,提供一种电子设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现上述第一方面任一所述的网络处理方法的步骤。

根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述第一方面任一所述的网络处理方法的步骤。

根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品在处理器上被执行时,实现上述第一方面任一所述的网络处理方法的步骤。

本公开实施例提供的技术方案至少带来以下有益效果:由于目标历史网络请求是根据当前网络请求的发送时刻确定的,根据当前网络请求的信息、目标历史网络请求的信息、网络传输环境信息以及预设超时时间阈值,确定当前网络请求的超时时间,可以针对不同的网络请求,确定不同的超时时间。这样,通过动态计算超时时间,可以为每一次网络请求设置合适的超时时间,提高超时时间设置的准确性,从而使用户在合适时间等待网络请求,提升用户体验。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1为相关技术中网络请求的流程图;

图2为本公开实施例的网络处理方法的一种流程图;

图3为本公开实施例的网络处理方法的另一种流程图;

图4为本公开实施例的网络处理装置的一种结构图;

图5为本公开实施例的电子设备的结构图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在互联网应用中,客户端可以向服务器发送网络请求以获取网络数据,服务器接收到该网络请求后,回复针对该网络请求的响应数据给客户端。在客户端发送网络请求到客户端接收响应数据的过程中,包括:客户端请求服务器、dns(domainnamesystem,域名系统)解析、客户端与服务器进行tcp(transmissioncontrolprotocol,传输控制协议)三次握手建立传输、网络请求支持https(hypertexttransferprotocolsecure,超文本传输安全协议)时,进行ssl(securesocketslayer,安全套接层)安全认证和服务器响应客户端等过程,可参见图1。如果该网络请求未超时,也就是上述过程在超时时间之内完成,表示该网络请求成功,否则,表示该网络请求失败。若该网络请求成功,客户端可以存储该网络请求的信息(例如,网络请求携带的数据大小、服务器返回的响应数据的大小和网络请求的耗用时间等)。

参见图2,图2为本公开实施例的网络处理方法的一种流程图,应用于客户端,包括以下步骤:

s201,向服务器发送当前网络请求。

s202,根据当前网络请求的发送时刻从历史网络请求中确定符合预设条件的目标历史网络请求,预设条件包括时间因素。

s203,获取目标历史网络请求的信息。

s204,根据当前网络请求的信息、目标历史网络请求的信息、网络传输环境信息以及预设超时时间阈值,确定当前网络请求的超时时间。

图2实施例的有益效果在于,由于目标历史网络请求是根据当前网络请求的发送时刻确定的,根据当前网络请求的信息、目标历史网络请求的信息、网络传输环境信息以及预设超时时间阈值,确定当前网络请求的超时时间,可以针对不同的网络请求,确定不同的超时时间。这样,通过动态计算超时时间,可以为每一次网络请求设置合适的超时时间,提高超时时间设置的准确性,从而使用户在合适时间等待网络请求,提升用户体验。

参见图3,图3为本公开实施例的网络处理方法的另一种流程图,包括以下步骤:

s301,向服务器发送当前网络请求。

s302,根据当前网络请求的发送时刻从历史网络请求中确定符合预设条件的目标历史网络请求,预设条件包括时间因素。

本公开实施例中,客户端在向服务器发送当前网络请求后,即可设置针对该当前网络请求的超时时间,该当前网络请求的超时时间可以根据历史网络请求的信息进行计算。由于离当前网络请求的发送时刻越接近,历史网络请求的信息越具有参考价值,得到的当前网络请求的超时时间越准确。因此,可以根据当前网络请求的发送时刻从历史网络请求中确定符合预设条件的目标历史网络请求。由于在网络请求失败时,客户端不存储网络请求的信息。因此,目标历史网络请求可以为请求成功的历史网络请求。可选的,预设条件为:与当前网络请求的发送时刻最接近,且未超时。也就是说,目标历史网络请求是与当前网络请求时刻最接近且未超时的历史网络请求。

s303,获取目标历史网络请求的信息。

具体的,目标历史网络请求的信息是目标历史网络请求请求成功之后存储的信息。目标历史网络请求的信息包括:目标历史网络请求的耗用时间、目标历史网络请求携带的数据大小和服务端针对目标历史网络请求发送的响应数据的大小。

s304,根据当前网络请求的信息、目标历史网络请求的信息以及网络传输环境信息,计算当前网络请求的超时时间计算值。

本公开实施例中,在网络请求过程中,包括:客户端向服务器发送当前网络请求、客户端与服务器建立传输以及服务器向客户端发送响应数据等过程。由于上述过程均耗用时间,那么,若当前网络请求的信息包括:当前网络请求携带的数据大小;网络传输环境信息包括:预设多路复用预估时间、预设网络拥塞阈值和预设数据传输速率阈值,可以根据当前网络请求携带的数据大小、目标历史网络请求的耗用时间、目标历史网络请求携带的数据大小、服务端针对目标历史网络请求发送的响应数据的大小、预设多路复用预估时间、预设网络拥塞阈值和预设数据传输速率阈值,确定当前网络请求的超时时间计算值。

可选的,若当前网络请求携带的数据大小为s3,目标历史网络请求的耗用时间为t,目标历史网络请求的大小为s1,服务器针对目标历史网络请求发送的响应数据的大小s2;预设多路复用预估时间为a,预设网络拥塞阈值为d,预设数据传输速率阈值为g;根据公式:

得到当前网络请求的超时时间计算值j。

其中,目标历史网络请求的耗用时间t指的是从客户端开始向服务器发送目标历史网络请求到服务器向客户端发送响应数据完成的时间。多路复用预估时间a指的是传输多路数据所节省的时间,如果当前网络是wi-fi(无线网络),多路复用预估时间a可以为100毫秒,如果当前网络是非wi-fi,多路复用预估时间a可以为150毫秒。因此,计算超时时间时,可以减去多路复用预估时间a。预设网络拥塞阈值d指的是网络拥塞情况下的耗用时间,如果当前网络是wi-fi,预设网络拥塞阈值d可以为0.5秒,如果当前网络是非wi-fi,预设网络拥塞阈值d可以为0.8秒。因此,计算超时时间时,可以加上预设网络拥塞阈值d。预设数据传输速率阈值g指的是网络中的数据传输速率,如果当前网络是wi-fi,预设数据传输速率阈值g可以为12m,如果当前网络是非wi-fi,预设数据传输速率阈值g可以为4m。当然,多路复用预估时间a、预设网络拥塞阈值d和预设数据传输速率阈值g可以根据实际应用进行调整,在此不做限定。

s305,若超时时间计算值大于预设超时时间阈值,将预设超时时间阈值作为当前网络请求的超时时间。

具体的,预设超时时间阈值是可以设置的最大超时时间,网络环境不同,预设超时时间阈值可以不同。例如,如果当前网络是wi-fi,那么预设超时时间阈值可以为22秒,如果当前网络是非wi-fi,那么预设超时时间阈值为30秒。可见,在网络环境较稳定时,可以设置较短时间的预设超时时间阈值,在网络环境不稳定时,可以设置较长时间的预设超时时间阈值。

本公开实施例中,当前网络请求的超时时间不能过大,可以将预设超时时间阈值与超时时间计算值进行比较,选取两者中比较小的值作为超时时间。

s306,若超时时间计算值不大于预设超时时间阈值,将超时时间计算值作为当前网络请求的超时时间。

s307,若当前网络请求的个数为多个,根据当前网络请求的个数和当前网络请求的预设发送间隔,计算当前网络请求的发送时间,将当前网络请求的超时时间更新为当前网络请求的超时时间与发送时间之和。

本公开实施例中,由于客户端某个时刻可以有很多个网络请求,例如请求图片或请求热门列表等,因此,客户端可以同时发送多个网络请求。但是为了更好的利用带宽,可以限制某个时刻发送网络请求的个数,例如,最大可以为4个等。当前网络请求的预设发送间隔表示客户端发送当前网络请求中任意两个网络请求的时间间隔。客户端在发送当前网络请求过程中,为了防止频繁网络请求,针对两个网络请求会有一定的时间间隔(例如100毫秒),也就是说,客户端处理完一个网络请求100毫秒之后,处理下一个网络请求。

可选的,若当前网络请求的个数为n,当前网络请求的预设发送间隔为t0,则当前网络请求的发送时间t=(n-1)×t0,n为大于1的整数。当前网络请求的发送时间t表示客户端发送当前网络请求耗用的时间,因此,在当前网络请求的个数为多个的情况下,可以在s305或s306得到的超时时间的基础上,加上当前网络请求的发送时间t,得到更新的超时时间。这样,可以进一步提高超时时间设置的准确性。

s308,根据超时时间确定当前网络请求是否超时,若确定当前网络请求未超时,在接收服务端发送的响应数据之后,存储当前网络请求的信息。

本公开实施例中,在得到超时时间之后,即可根据该超时时间确定当前网络请求是否超时。例如,可以根据该超时时间设置一个定时器,根据定时器确定当前网络请求是否超时。可选的,若在超时时间到达时刻,未接收到服务端发送的响应数据,确定当前网络请求超时;若在超时时间到达时刻之前,接收到服务端发送的响应数据,确定当前网络请求未超时。若确定当前网络请求未超时,在接收服务器发送的响应数据之后,存储当前网络请求的信息。这样,在下一次网络请求过程中,可以根据本次存储的当前网络请求的信息计算下一次网络请求的超时时间。

上述图3实施例的有益效果在于,由于目标历史网络请求是与当前网络请求的发送时刻最接近且未超时的历史网络请求,根据当前网络请求的信息、目标历史网络请求的信息和网络传输环境信息,确定超时时间计算值。将超时时间计算值和预设超时时间阈值中的最小值作为当前网络请求的超时时间,可以避免超时时间过大,从而使用户在合适的时间等待响应,提升用户体验。当前网络请求的个数为多个时,在得到的超时时间的基础上,加上当前网络请求的发送时间,进一步提高当前网络请求的超时时间的准确性。可见,本公开可以针对不同的网络请求,确定不同的超时时间,通过动态计算超时时间,可以为每一次网络请求设置合适的超时时间,提高超时时间设置的准确性。

相应于上述方法实施例,本公开实施例提供了一种网络处理装置,参见图4,图4为本公开实施例的网络处理装置的一种结构图,包括:

网络请求发送模块401,被配置为执行向服务器发送当前网络请求;

目标历史网络请求确定模块402,被配置为执行根据当前网络请求的发送时刻从历史网络请求中确定符合预设条件的目标历史网络请求,预设条件包括时间因素;

目标历史网络请求信息获取模块403,被配置为执行获取目标历史网络请求的信息;

超时时间确定模块404,被配置为执行根据当前网络请求的信息、目标历史网络请求的信息、网络传输环境信息以及预设超时时间阈值,确定当前网络请求的超时时间。

本公开实施例的网络处理装置中,由于目标历史网络请求是根据当前网络请求的发送时刻确定的,根据当前网络请求的信息、目标历史网络请求的信息、网络传输环境信息以及预设超时时间阈值,确定当前网络请求的超时时间,可以针对不同的网络请求,确定不同的超时时间。这样,通过动态计算超时时间,可以为每一次网络请求设置合适的超时时间,提高超时时间设置的准确性,从而使用户在合适时间等待网络请求,提升用户体验。

可选的,预设条件为:与当前网络请求的发送时刻最接近,且未超时。

可选的,超时时间确定模块,包括:

超时时间计算值确定单元,被配置为执行根据当前网络请求的信息、目标历史网络请求的信息以及网络传输环境信息,计算当前网络请求的超时时间计算值;

超时时间第一确定单元,被配置为执行若超时时间计算值大于预设超时时间阈值,将预设超时时间阈值作为当前网络请求的超时时间;

超时时间第二确定单元,被配置为执行若超时时间计算值不大于预设超时时间阈值,将超时时间计算值作为当前网络请求的超时时间。

可选的,超时时间计算值确定单元,具体被配置为执行若当前网络请求的信息包括:当前网络请求携带的数据大小,目标历史网络请求的信息包括:目标历史网络请求的耗用时间、目标历史网络请求携带的数据大小和服务器针对目标历史网络请求发送的响应数据的大小;网络传输环境信息包括:预设多路复用预估时间、预设网络拥塞阈值和预设数据传输速率阈值;

根据当前网络请求携带的数据大小、目标历史网络请求的耗用时间、目标历史网络请求携带的数据大小、服务器针对目标历史网络请求发送的响应数据的大小、预设多路复用预估时间、预设网络拥塞阈值和预设数据传输速率阈值,确定当前网络请求的超时时间计算值。

可选的,若当前网络请求的个数为多个;

装置还包括:

当前网络请求发送时间确定模块,被配置为执行根据当前网络请求的个数和当前网络请求的预设发送间隔,计算当前网络请求的发送时间;

超时时间更新模块,被配置为执行将当前网络请求的超时时间更新为当前网络请求的超时时间与发送时间之和。

可选的,当前网络请求发送时间确定模块,具体被配置为执行若当前网络请求的个数为n,当前网络请求的预设发送间隔为t0,则当前网络请求的发送时间t=(n-1)×t0,n为大于1的整数。

可选的,本公开实施例的网络处理装置,还包括:

当前网络请求信息存储模块,被配置为执行根据超时时间确定当前网络请求是否超时,若确定当前网络请求未超时,在接收服务器发送的响应数据之后,存储当前网络请求的信息。

可选的,当前网络请求信息存储模块,包括:

当前网络请求超时确定单元,被配置为执行若在超时时间到达时刻,未接收到服务器发送的响应数据,确定当前网络请求超时;

当前网络请求未超时确定单元,被配置为执行若在超时时间到达时刻之前,接收到服务器发送的响应数据,确定当前网络请求未超时。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开实施例提供了一种电子设备,参见图5,图5为本公开实施例的电子设备的结构图,包括:

处理器501;

用于存储处理器501可执行指令的存储器502;

其中,处理器501被配置为执行指令,以实现上述任一网络处理方法的步骤。

本公开实施例的电子设备中,由于目标历史网络请求是根据当前网络请求的发送时刻确定的,根据当前网络请求的信息、目标历史网络请求的信息、网络传输环境信息以及预设超时时间阈值,确定当前网络请求的超时时间,可以针对不同的网络请求,确定不同的超时时间。这样,通过动态计算超时时间,可以为每一次网络请求设置合适的超时时间,提高超时时间设置的准确性,从而使用户在合适时间等待网络请求,提升用户体验。

本公开实施例提供了一种包括指令的存储介质,例如包括指令的存储器502,上述指令可由处理器501执行以完成上述网络处理方法的步骤。可选的,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是rom(只读存储器)、ram(随机存取存储器)、cd-rom(光盘只读存储器)、磁带、软盘和光数据存储设备等。

本公开实施例提供了一种计算机程序产品,计算机程序产品在处理器上被执行时,实现上述任一网络处理方法的步骤。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1