具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,本发明实施例一提供的终端请求下载资源的方法基本流程示意图,主要包括:
S101,向广播域广播咨询报文,该咨询报文用于咨询所述广播域内的其他终端是否正在从文件服务器下载或请求下载所述文件。
本发明实施例一提供的终端请求下载资源的方法的执行主体可以是一种终端。在本发明实施例中,若干终端与网关连接,网关再通过网络连接到文件传输协议(FTP,File Transfer Protocol)或超文本传输协议(HTTP,HyperTextTransfer Protocol)等文件服务器,网关、若干终端及其连接就构成了一个广播域,广播域内任何一个终端向广播域广播咨询报文,其他终端都可以收到并向该终端发送咨询报文的应答报文。例如,终端T1向广播域广播一个咨询报文,终端T1所在的广播域内的其他终端都可以收到该咨询报文。
S102,接收咨询报文的应答报文,根据该应答报文反映的所述广播域中其他终端从文件服务器下载文件的状况确定是否连接至文件服务器下载文件。
如前所述,广播域内任何一个终端发送咨询报文后,其他终端是可以收到并向该终端发送该咨询报文的应答报文的。例如,当前终端T1向广播域发送一个请求从文件服务器下载文件的咨询报文Dm,广播域内的另一个终端T2收到该咨询报文Dm。若终端T2正在执行文件下载任务,则针对咨询报文Dm发送一个应答报文ACK1(Dm):正在下载消息,以向当前终端T1表明终端T2的当前状况是“正在从文件服务器上下载文件”;若终端T2已经向广播域发送了一个请求从文件服务器下载文件的咨询报文,正在等待文件服务器的应答,则针对发送咨询报文Dm一个应答报文ACK2(Dm):正在请求下载消息,以向当前终端T1表明终端T2的当前状况是“正在请求从文件服务器上下载文件”。
在本发明实施例中,还有一种情形是:当当前终端T1向广播域发送一个请求从文件服务器下载文件的咨询报文Dm时,终端T2收到咨询报文Dm,但终端T2既没有执行文件下载任务,也没有向广播域发送咨询报文并正在等待文件服务器的应答,此时终端T2不做任何应答。但一段时间后,终端T2请求从文件服务器下载文件,此时终端T2也会向广播域发送“正在请求下载消息”的报文,以表明终端T2的当前状况是“正在请求从文件服务器上下载文件”。显然,当前终端T1收到上述报文时,尽管该报文不是咨询报文Dm的应答报文,但仍然可以知晓终端T2“正在请求从文件服务器上下载文件”。
本发明实施例通过获悉所述广播域中终端的下载状况,将终端何时连接至文件服务器且不会对服务器造成冲击交由终端决定,不仅对何时请求下载的控制的准确度高,最大程度地减少或避免多个终端同时向文件服务器同时发起下载请求时对文件服务器造成的冲击,而且,本发明实施例提供的方法可以支持多种外部服务器。
请参考图2,本发明实施例二提供的终端请求下载资源的方法基本流程示意图,主要包括步骤:
S201,向广播域广播咨询报文,该咨询报文用于咨询正在从文件服务器下载文件的终端数量。
S202,接收咨询报文的应答报文,根据应答报文统计所述广播域中正在从文件服务器下载文件的终端数量。
广播域内任何一个终端发送咨询报文后,其他终端是可以收到并向该终端发送该咨询报文的应答报文的。例如,当前终端T1向广播域发送一个请求从文件服务器下载文件的咨询报文Dm,广播域内的另一个终端T2收到该咨询报文Dm。若终端T2正在执行文件下载任务,则针对发送咨询报文Dm一个应答报文ACK1(Dm):正在下载消息,以向当前终端T1表明终端T2的当前状况是“正在从文件服务器上下载文件”;若终端T2已经向广播域发送了一个请求从文件服务器下载文件的咨询报文,正在等待文件服务器的应答,则针对发送咨询报文Dm一个应答报文ACK2(Dm):正在请求下载消息,以向当前终端T1表明终端T2的当前状况是“正在请求从文件服务器上下载文件”。
在本发明实施例中,还有一种情形是:当当前终端T1向广播域发送一个请求从文件服务器下载文件的咨询报文Dm时,终端T2收到咨询报文Dm,但终端T2既没有执行文件下载任务,也没有向广播域发送咨询报文并正在等待文件服务器的应答,此时终端T2不做任何应答。但一段时间后,终端T2请求从文件服务器下载文件,此时终端T2也会向广播域发送“正在请求下载消息”的报文,以表明终端T2的当前状况是“正在请求从文件服务器上下载文件”。显然,当前终端T1收到上述报文时,尽管该报文不是咨询报文Dm的应答报文,但仍然可以知晓终端T2“正在请求从文件服务器上下载文件”
当前终端T1收到咨询报文Dm的应答报文后,就可以根据应答报文统计所述广播域中正在下载的终端数量TD,例如,当前终端T1收到10个“正在下载消息”之类的应答报文,则当前终端T1统计所述广播域中正在下载的终端数量为10个。
S203,比较所述广播域中正在下载的终端数量TD与广播域内允许从文件服务器并发下载的最大终端数量Mt的大小。
广播域内允许从文件服务器并发下载的最大终端数量Mt可以通过在服务器端配置,然后下发至广播域内各终端,包括当前终端T1。
S204,若所述广播域中正在下载的终端数量TD已经大于广播域内允许从文件服务器并发下载的最大终端数量Mt,则当前终端T1放弃连接至文件服务器下载文件。
这是因为,所述广播域中正在下载的终端数量TD已经大于广播域内允许从文件服务器并发下载的最大终端数量Mt时,则表明连接至文件服务器下载文件的终端数量已经达到其能够并发下载的极限终端数量,不可能或不适宜再接受其他终端的下载请求,当前终端T1应当放弃连接至文件服务器下载文件。
S205,若所述广播域中正在下载的终端数量TD小于广播域内允许从文件服务器并发下载的最大终端数量Mt,则当前终端根据广播域内允许从文件服务器并发下载的最大终端数量Mt与所述广播域中正在下载的终端数量TD的差值判决是否连接至文件服务器下载文件。
若所述广播域中正在下载的终端数量TD小于广播域内允许从文件服务器并发下载的最大终端数量Mt,则表明当前终端T1还可能连接至文件服务器下载文件。在上述情况下,在本发明实施例中,当前终端T1是可以根据广播域内允许从文件服务器并发下载的最大终端数量Mt与所述广播域中正在下载的终端数量TD的差值ΔMT(=Mt-TD)判决是否连接至文件服务器下载文件的。
例如,针对上述差值ΔMT,当前终端T1的一种判决是否连接至文件服务器下载文件方法如图3所示,包括步骤:
S301,根据应答报文统计所述广播域中正在从文件服务器请求下载文件的终端数量TR。
根据应答报文中“正在请求下载消息”这一类报文的数量,统计所述广播域中正在请求下载的终端(包括当前终端T1)数量TR。例如,当前终端T1收到15个“正在请求下载消息”之类的应答报文,则当前终端T1统计所述广播域中正在请求下载的终端数量为15个。
S302,若上述正在请求下载的终端数量TR小于或等于广播域内允许从文件服务器并发下载的最大终端数量Mt与所述广播域中正在下载的终端数量TD的差值ΔMT,则当前终端T1确定连接至文件服务器下载文件。
若上述正在请求下载的终端数量TR小于或等于广播域内允许从文件服务器并发下载的最大终端数量Mt与所述广播域中正在下载的终端数量TD的差值ΔMT,则表明文件服务器还没有达到其并发下载的极限终端数量,还允许终端连接至文件服务器下载文件,因此,当前终端T1确定连接至文件服务器下载文件,向文件服务器发起连接请求。
S303,若上述正在请求下载的终端数量TR大于广播域内允许从文件服务器并发下载的最大终端数量Mt与所述广播域中正在下载的终端数量TD的差值ΔMT,则进一步地,对包括当前终端T1在内的该TR个正在请求下载的终端进行优先级排序。
在本实施例中,对包括当前终端T1在内的该TR个正在请求下载的终端进行优先级排序规则可以是:优先级排序的序号Ps按照优先级的大小从1递增。例如,优先级最高的终端的序号Ps定为1,其次为2,再其次为3,……;
S304,若经过优先级排序后,当前终端T1优先级排序的序号Ps小于或等于广播域内允许从文件服务器并发下载的最大终端数量Mt与所述广播域中正在下载的终端数量TD的差值ΔMT,则表明当前终端T1仍然可以与文件服务器连接,因此,当前终端T1确定连接至文件服务器下载文件。
S305,若经过优先级排序后,当前终端T1优先级排序的序号Ps大于广播域内允许从文件服务器并发下载的最大终端数量Mt与所述广播域中正在下载的终端数量TD的差值ΔMT,则表明当前终端T1不可以与文件服务器连接,因此,当前终端T1需要等待一段时间后再尝试接至文件服务器下载文件。
本发明实施例中,由于当前终端获悉了其他终端的下载状况,能够自行决定何时可以连接至文件服务器,因此最大程度地避免了现有技术中多个终端同时向文件服务器同时发起下载请求时对文件服务器造成的冲击。
可以理解的是,由于相对于广播域内的其他终端,例如终端T2而言,当前终端T1也是“其他终端”,因此,当前终端T1也响应来自其他终端发送的咨询报文,向其他终端发送应答报文,以向其他终端表明当前终端T1正在下载文件或正在请求下载文件。
从上述实施例可知,通过获悉所述广播域中终端的下载状况,将终端何时可以连接至文件服务器交由终端决定,不仅对何时下载的控制的准确度高,最大程度地减小或避免多个终端同时向文件服务器同时发起下载请求时对文件服务器造成的冲击,而且,本发明实施例提供的方法可以支持多种外部服务器。同时,由于本发明实施例中是由网关、终端及其连接构成广播域,因此,本发明实施例提供的方法可以按照子网为单位限制并发连接数,从而控制某个区域的终端占用网络带宽的大小,特别适合分支机构众多、带宽资源紧张的网络。
请参阅图4,本发明实施例提供的一种终端基本逻辑结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。该终端包含的功能模块/单元可以是硬件模块/单元、软件模块/单元或软硬件相结合的模块/单元,本发明实施例对此并不加限制。终端包括:
发送模块41,用于向广播域发送咨询报文,该咨询所述广播域内的其他终端是否正在从文件服务器下载或请求下载所述文件;
下载判决模块42,用于接收发送模块41发送的咨询报文的应答报文,根据应答报文反映的所述广播域中其他终端从文件服务器下载文件的状况确定是否连接至文件服务器下载文件,下载判决模块42包括:
统计单元421,用于根据下载判决模块42接收的应答报文统计所述广播域中正在下载的终端数量;
比较单元422,用于比较统计单元421统计的所述广播域中正在下载的终端数量与阈值获取模块43获取的广播域内允许从文件服务器并发下载的最大终端数量的大小;
处理单元423,用于比较单元422比较的结果为所述广播域中正在下载的终端数量大于广播域内允许从文件服务器并发下载的最大终端数量时,当前终端放弃连接至文件服务器下载文件。
在本实施例中,处理单元423也可以用于比较单元422比较的结果为所述广播域中正在下载的终端数量小于或等于广播域内允许从所述文件服务器并发下载的最大终端数量时,当前终端根据广播域内允许从文件服务器并发下载的最大终端数量与所述广播域中正在下载的终端数量的差值判决是否连接至文件服务器下载文件。
如此,若比较单元422比较的结果为所述广播域中正在下载的终端数量小于或等于广播域内允许从文件服务器并发下载的最大终端数量,则处理单元423进一步包括:
第一统计子单元4231,用于根据下载判决模块42接收的应答报文统计所述广播域中正在请求下载的终端数量;
第一判决子单元4233,用于在所述正在请求下载的终端数量小于或等于所述广播域内允许从所述文件服务器并发下载的最大终端数量与所述广播域中正在下载的终端数量的差值时,确定连接至所述文件服务器下载文件。
作为本发明中终端的另一个实施例,如图5所示。在本实施例中,处理单元423还可以包括:
第二判决子单元5233,用于在所述正在请求下载的终端数量大于所述广播域内允许从所述文件服务器并发下载的最大终端数量与所述广播域中正在下载的终端数量的差值时,对所述广播域中正在请求下载的终端以及自身进行优先级排序,所述优先级排序的序号Ps按照优先级的大小从1递增,若经过优先级排序后,自身的优先级排序的序号Ps小于或等于所述广播域内允许从所述文件服务器并发下载的最大终端数量与所述广播域中正在下载的终端数量的差值,则确定连接至所述文件服务器下载文件。
由于在本发明实施例中,终端可以与网关连接,网关再通过网络连接到FTP或HTTP等文件服务器,网关、若干终端及其连接构成一个广播域,因此,可以理解的是,相对于广播域内的其他终端,例如终端T2而言,当前终端T1也是“其他终端”,当前终端T1也响应来自其他终端发送的咨询报文,向其他终端发送应答报文,以向其他终端表明当前终端T1正在下载文件或正在请求下载文件。这就是说,在图4和图5所示本发明实施例中,终端还可以包括接收模块44和响应模块43,用于响应来自其他终端发送的咨询报文,向其他终端发送应答报文,该应答报文表明当前终端正在下载文件或正在请求下载文件。
需要说明的是,上述设备各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
从上述实施例可知,通过获悉所述广播域中终端的下载状况,将终端何时可以连接至文件服务器交由终端决定,不仅对何时下载的控制的准确度高,最大程度地减小或避免现有技术中多个终端同时向文件服务器同时发起下载请求时对文件服务器造成的冲击,而且,本发明提供的实施例可以支持多种外部服务器。同时,由于本发明实施例中终端与网关连接,构成广播域,因此,本发明实施例中的终端与网关连接构成广播域后,可以按照子网为单位限制并发连接数,从而控制某个区域的终端占用网络带宽的大小,特别适合分支机构众多、带宽资源紧张的网络。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的终端请求下载资源的方法和一种终端进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。