CN115002095A - 资源获取方法、装置、终端及存储介质 - Google Patents
资源获取方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN115002095A CN115002095A CN202110199204.2A CN202110199204A CN115002095A CN 115002095 A CN115002095 A CN 115002095A CN 202110199204 A CN202110199204 A CN 202110199204A CN 115002095 A CN115002095 A CN 115002095A
- Authority
- CN
- China
- Prior art keywords
- terminal
- target
- resource
- terminals
- block
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000004891 communication Methods 0.000 claims abstract description 244
- 230000004044 response Effects 0.000 claims description 42
- 230000005540 biological transmission Effects 0.000 claims description 26
- 238000001514 detection method Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 13
- 239000000523 sample Substances 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 27
- 230000001133 acceleration Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000003068 static effect Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例公开了一种资源获取方法、装置、终端及存储介质,其中方法包括:若检测到目标资源的获取触发事件,则在目标终端和一个或多个候选终端之间建立近距离通讯连接;基于所述目标终端和各个候选终端之间的近距离通讯连接,请求所述各个候选终端在所述各个候选终端的本地空间检索所述目标资源;根据所述各个候选终端返回的检索结果,从所述一个或多个候选终端中选取关联终端,所述关联终端是指检索到所述目标资源中的部分或全部资源的候选终端;基于所述目标终端和所述关联终端之间的近距离通讯连接,从所述关联终端中获取所述目标资源中的部分或全部资源。本发明实施例可以更好地获取目标资源。
Description
技术领域
本申请涉及互联网技术领域,具体涉及计算机技术领域,尤其涉及一种资源获取方法、一种资源获取装置、一种终端及一种计算机存储介质。
背景技术
随着互联网技术的发展,终端可基于各式各样的资源为用户提供相应的业务;例如,基于视频资源为用户提供视频播放业务,基于音乐资源为用户提供音乐播放业务,基于图片资源为用户提供图像显示业务,等等。目前,终端在提供业务时所使用的资源通常是从服务器处获取的;这样的资源获取方式不仅会大量占用终端的网络资源,还会使得资源的获取依赖于终端侧的网络环境,当网络环境较差(即终端处于弱网环境)时,可能导致资源获取失败或者导致资源获取效率较低。因此,如何更好地获取资源成为了研究热点。
发明内容
本发明实施例提供了一种资源获取方法、装置、终端及存储介质,可以更好地获取目标资源。
一方面,本发明实施例提供了一种资源获取方法,所述方法包括:
若检测到目标资源的获取触发事件,则在目标终端和一个或多个候选终端之间建立近距离通讯连接;
基于所述目标终端和各个候选终端之间的近距离通讯连接,请求所述各个候选终端在所述各个候选终端的本地空间检索所述目标资源;
根据所述各个候选终端返回的检索结果,从所述一个或多个候选终端中选取关联终端,所述关联终端是指检索到所述目标资源中的部分或全部资源的候选终端;
基于所述目标终端和所述关联终端之间的近距离通讯连接,从所述关联终端中获取所述目标资源中的部分或全部资源。
另一方面,本发明实施例提供了一种资源获取装置,所述装置包括:
处理单元,用于若检测到目标资源的获取触发事件,则在目标终端和一个或多个候选终端之间建立近距离通讯连接;
通讯单元,用于基于所述目标终端和各个候选终端之间的近距离通讯连接,请求所述各个候选终端在所述各个候选终端的本地空间检索所述目标资源;
所述处理单元,还用于根据所述各个候选终端返回的检索结果,从所述一个或多个候选终端中选取关联终端,所述关联终端是指检索到所述目标资源中的部分或全部资源的候选终端;
所述通讯单元,还用于基于所述目标终端和所述关联终端之间的近距离通讯连接,从所述关联终端中获取所述目标资源中的部分或全部资源。
再一方面,本发明实施例提供了一种终端,所述终端包括输入设备和输出设备,所述终端还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如下步骤:
若检测到目标资源的获取触发事件,则在目标终端和一个或多个候选终端之间建立近距离通讯连接;
基于所述目标终端和各个候选终端之间的近距离通讯连接,请求所述各个候选终端在所述各个候选终端的本地空间检索所述目标资源;
根据所述各个候选终端返回的检索结果,从所述一个或多个候选终端中选取关联终端,所述关联终端是指检索到所述目标资源中的部分或全部资源的候选终端;
基于所述目标终端和所述关联终端之间的近距离通讯连接,从所述关联终端中获取所述目标资源中的部分或全部资源。
再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如下步骤:
若检测到目标资源的获取触发事件,则在目标终端和一个或多个候选终端之间建立近距离通讯连接;
基于所述目标终端和各个候选终端之间的近距离通讯连接,请求所述各个候选终端在所述各个候选终端的本地空间检索所述目标资源;
根据所述各个候选终端返回的检索结果,从所述一个或多个候选终端中选取关联终端,所述关联终端是指检索到所述目标资源中的部分或全部资源的候选终端;
基于所述目标终端和所述关联终端之间的近距离通讯连接,从所述关联终端中获取所述目标资源中的部分或全部资源。
本发明实施例在检测到目标资源的获取触发事件后,可在目标终端和一个或多个候选终端之间建立近距离通讯连接。其次,可基于目标终端和各个候选终端之间的近距离通讯连接,请求各个候选终端在各个候选终端的本地空间检索目标资源;并根据各个候选终端返回的检索结果,选取存储有目标资源中的部分或全部资源的候选终端作为关联终端。然后,可基于目标终端和关联终端之间的近距离通讯连接,从关联终端中获取目标资源中的部分或全部资源。在上述资源获取过程中,通过利用近距离通讯技术从附近终端处获取目标资源,不仅可有效节省目标终端的网络资源且减轻远端服务器的流量压力,还可在一定程度上减轻资源获取与终端侧的网络环境的依赖性,从而有效提升资源获取成功率和获取效率;尤其是针对处于弱网环境的目标终端而言,可有效加速目标资源的获取进度。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种通讯系统的系统架构图;
图1b是本发明实施例提供的一种基于近场通讯的P2P加速方案的应用场景示意图;
图2是本发明实施例提供的一种资源获取方法的流程示意图;
图3a是本发明实施例提供的一种目标资源的获取方式的示意图;
图3b是本发明实施例提供的另一种目标资源的获取方式的示意图;
图3c是本发明实施例提供的另一种目标资源的获取方式的示意图;
图4是本发明另一实施例提供的一种资源获取方法的流程示意图;
图5a是本发明实施例提供的一种目标终端的结构示意图;
图5b是本发明实施例提供的一种资源数据记录的结构示意图;
图6是本发明实施例提供的一种资源获取装置的结构示意图;
图7是本发明实施例提供的一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明实施例中,涉及一种近场通讯技术;所谓的近场通讯是指应用在近距离的通讯技术,其可包括但不限于:NFC(Near Field Communication,近场通信)技术、蓝牙(bluetooth)和WIFI(Wi-Fi,无线上网),等等。基于近场通讯技术所研发出的组件可称为近距离通讯组件,其可包括但不限于:NFC组件、蓝牙组件和WIFI组件,等等。这些近距离通讯组件可被内置在任一终端中,使得该任一终端可具有近场通讯功能,从而使得该任一终端可基于该近场通讯功能和附近的设备进行近距离通讯;此处的近距离通讯是指:通过无线电波传输数据且传输距离小于距离阈值的通讯。
其中,NFC是一种支持通信距离为几厘米、十几厘米或者几十厘米的短距离的高频无线通信技术;其是在非接触式射频识别(RFID)技术的基础上,结合无线互连技术所研发出的技术,且NFC中文名称中的“近场”是指临近电磁场的无线电波。蓝牙是一种支持通信距离为十米或者几十米的无线电通信技术;其可为固定设备或移动设备之间的通信环境建立通用的无线电空中接口(Radio Air Interface),将通信技术与计算机技术进一步结合起来,使各种设备在没有电线或电缆相互连接的情况下,能在近距离范围内实现相互通信或操作。WIFI是一种支持通信距离为十几米、或者几十米的无线联网技术;其主要可通过无线电波来实现联网,如果某个设备发射了WIFI信号,那么在该设备的电波覆盖的有效范围内的其他设备均可采用WIFI连接方式进行联网。
基于上述的近场通讯技术,本发明实施例首先提出了一种通讯系统;参见图1a所示,该通讯系统中可至少包括:多个终端11以及服务器12。其中,终端11是指内置有一个或多个近距离通讯组件的任意设备;其可以包括但不限于:智能手机、平板电脑、笔记本电脑、台式计算机以及智能电视,等等。并且,每个终端11内均可运行用于各式各样的资源业务的客户端(application,APP),如提供视频播放业务的视频播放客户端、提供社交业务的社交客户端、提供资讯浏览业务的浏览器客户端、提供教育业务的教育客户端,等等。相应的,服务器12是指可提供资源服务、数据存储服务等多种服务的服务设备;此处的资源服务是指一种支撑客户端提供相关资源业务的服务,如支撑视频播放客户端提供视频播放业务的视频播放服务、支撑音乐播放客户端提供音乐播放业务的音乐播放服务、支撑社交客户端提供的社交业务的社交服务,等等。具体的,该服务器12可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,等等。
在通信系统的实际运行过程中,任一终端11与服务器12之间可通过任何通信方式实现通信,例如基于第四代移动通信技术(the 4th generation mobile communicationtechnology,4G)、第五代移动通信技术(5th generation mobile networks,5G)、长期演进(Long Term Evolution,LTE)、全球互通微波访问(Worldwide Interoperability forMicrowave Access,WiMAX)的移动通信,或基于TCP/IP协议族(TCP/IP Protocol Suite,TCP/IP)、用户数据报协议(User Datagram Protocol,UDP)协议的计算机网络通信,等等。并且,任意两个终端11之间均可通过内置的近距离通讯组件建立近距离通讯连接,并基于该近距离通讯连接进行数据传输。需要说明的是,当任意两个终端11(例如手机A和手机B)之间通过内置的WIFI组件建立近距离通讯连接时,需要其中一个终端(设手机A)作为信号发射源来发射WIFI信号,使得另外一个终端(即手机B)通过连接该WIFI信号,实现在这两个终端之间建立近距离通讯连接;此时,这两个终端可认为是处于同一个虚拟的局域网内,这两个终端基于该近距离通讯连接传输数据时,无需占用终端的网络资源。
基于上述的通讯系统,本发明实施例提出了一种基于近场通讯的P2P加速方案,以更好地进行资源获取;该方案的核心在于利用近场通讯的方式,如NFC/蓝牙/WIFI点对点组网等,建立终端之间的近距离通讯连接并进行数据传输,来实现P2P加速。此处所提及的P2P加速(或称为点对点加速)是指:任一客户端(或终端)通过从其他客户端(或其他终端)处获取资源数据来实现加速的技术。P2P加速的主要原理是:当某个客户端(或某个终端)需要获取一些静态资源时,不直接从服务器处拉取该静态资源,而是从附近的客户端(或附近的终端)处拉取该静态资源,从而加快静态资源的获取速度,降低服务器端的成本压力。其中,静态资源是指自资源产生的时刻起,在预设时间段内(如10秒内、10分钟内、或者10天内)不会发生变化的资源;例如,该静态资源可以是视频资源、音频资源、图片资源,等等。
在具体实现中,本发明实施例所提出的基于近场通讯的P2P加速方案可由上述通讯系统中的目标终端,或者由运用于目标终端中的目标客户端(即任一客户端)执行。此处的目标终端可以是上述通讯系统中的任一终端,目标客户端则可以是目标终端内运行的任一客户端,如视频播放客户端,社交客户端,等等;为便于阐述,后续以目标终端执行该方案为例进行阐述。具体的,该方案的大致原理如下:利用该目标终端内置的多种近距离通讯组件进行组合,主动扫描并连接附近安装了同类客户端(即同类APP)的其他终端。此处的同类客户端是指:与目标客户端一样,可支持资源共享的客户端;例如,目标客户端为运行于目标终端内的视频APP,那么其他终端内所安装的同类客户端也可以是视频APP,或者可以是支持资源共享的浏览器APP或其他APP。然后,目标终端可检索连接的其他终端上是否存在需要的资源数据。如果存在,则从具有该资源数据的其他终端上拉取该资源数据;如果不存在,则再从服务器处拉取该资源数据。这样可有效节省目标终端的网络资源的占用内存,在一定程度上加快资源数据的获取速度,并减轻服务器端的压力;另外,还可在一定程度上减轻资源获取与终端侧的网络环境的依赖性,从而有效提升资源获取成功率和获取效率;尤其是针对处于弱网环境的目标终端而言,可有效加速目标资源的获取进度。
经实践表明,在将上述所提及的基于近场通讯的P2P加速方案运用在各种场所(如人群稀疏的场所,人群聚集的场所)中时,均可得到较好的应用效果。尤其是针对人群聚集的场所而言,比如商场、学校、地铁站、车站以及住宅区等地方;由于这些地方的人流量较大,往往是摩肩接踵,小小的范围内就会有成百上千的终端(如手机、平板),因此该方案的应用效果会更为显著。比如当某个目标手机需要拉取静态资源时,首先可通过目标手机的近距离通讯组件与附近人的手机建立近距离通讯连接;因为人群比较聚集,因此可能瞬间就能连上几十台手机,此时目标手机可以从这些附近人的手机上获取到所需要的静态资源。由于连接的手机多且距离短,因此会有效提升资源的传输速度;而且资源获取可不依赖于手机侧的网络环境,可有效提升资源获取成功率和获取效率。
基于上述描述,图1b示例性地给出了一种基于近场通讯的P2P加速方案的应用场景:
以商场为例,在商场里有很多人;其中有一些人是视频APP的用户,他们的手机上安装了视频APP,且在这些用户里有若干个人曾经用视频APP观看过电视剧×,那么这些用户的手机里便会有视频APP自动缓存下来的电视剧×的视频资源。
当商场内的用户A在手机A上打开了视频APP,然后在视频APP里点开电视剧×的第一集进行播放;此时手机A需要获取到电视剧×的第一集的视频资源,从而为用户A提供视频播放业务。基于此,用户A的手机A可调用手机A的NFC/蓝牙/WIFI等近距离通讯组件,开始扫描附近的信号,扫描后发现有两个终端BC可以通过蓝牙连接,一个终端D可以通过NFC连接。那么,该手机A可选择通过蓝牙与终端B连接,并通过NFC与终端D连接;连接成功后,手机A开始对终端B和终端D发起检索请求,检索这两个终端上是否有电视剧×的第一集的视频资源。若检索结果指示终端B和终端D都有该视频资源,则手机A可将该视频资源划分成两部分,一部分从终端B上拉取,另一部分从终端D上拉取,二者的拉取可同时进行。最后,当两部分的资源数据都拉取完毕后,手机A可将拉取到的数据进行合并,从而得到最终需要的电视剧×的第一集的视频资源,并基于该视频资源为用户A播放电视剧×的第一集。
由此可见,在上述的整个流程中,视频资源的拉取并未用到网络资源,且也没有请求服务器下发视频资源;仅仅依靠蓝牙和NFC便实现了电视剧×的第一集的在线播放,可有效节省网络资源。需要说明的是,图1b只是示例性的表征了本发明实施例所提出的基于近场通讯的P2P加速方案的一种应用场景,并非穷举;例如在其他实施例中,该方案还可应用在获取音乐资源、图片资源等其他应用场景中,对此不作限制。
基于上述基于近场通讯的P2P加速方案的相关描述,本发明实施例提出一种资源获取方法。该资源获取方法可以由上述所提及的目标终端或者目标终端内所运行的目标客户端执行,为便于阐述,后续均以目标终端执行该资源获取方法为例进行说明。请参见图2,该资源获取方法可包括以下步骤S201-S204:
S201,若检测到目标资源的获取触发事件,则在目标终端和一个或多个候选终端之间建立近距离通讯连接。
其中,目标资源可以包括目标对象在目标终端的本地空间中所缺失的K个资源块;此处的目标对象可以是任一静态资源,如视频、音频、图片、文件,等等。相应的,目标资源可以具体包括:某个视频在目标终端的本地空间中所缺失的K个资源块、某个音频在目标终端的本地空间中所缺失的K个资源块、某个图片在目标终端的本地空间中所缺失的K个资源块、某个文件在目标终端的本地空间中所缺失的K个资源块,等等。
其中,K为正整数,且K的取值需小于或等于目标对象所涉及的资源块的总数量;例如,目标对象所涉及的资源块的总数量为10个,那么K的取值范围可以是[1,10]。并且,当K的取值等于10时,可表明目标资源为目标对象的全部资源,即此情况下的目标终端的本地空间中未存储目标对象的全部资源;当K的取值小于10时,可表明目标资源为目标对象的部分资源,即此情况下的目标终端的本地空间中未存储目标对象的部分资源。
目标终端若检测到目标资源的获取触发事件,则可调用内置的近距离通讯组件扫描出一个或多个候选终端,并在目标终端和各个候选终端之间建立近距离通讯连接。其中,目标资源的获取触发事件可以包括但不限于:检测到针对目标资源所对应的目标对象的存储触发操作的事件,检测到目标资源所对应的目标对象的输出触发操作的事件,等等。以目标对象为目标视频为例,目标终端检测该获取触发事件的具体实施方式可以包括以下步骤s11-s14:
s11,若检测到针对目标视频的播放触发操作,则从服务器处查询目标视频的视频数据量。具体的,目标终端可先确定目标视频的资源标识(如资源ID号),然后向服务器发送携带该资源标识的查询请求,以请求服务器根据该资源标识查询并返回目标视频的视频数据量。相应的,在服务器成功查询到该目标视频的视频数据量后,可向目标终端返回一个携带该视频数据量的响应消息,以告知目标终端该目标视频的视频数据量。
s12,根据视频数据量和预设分块尺寸,确定目标视频对应的每个资源块的块标识;此处的块标识可以包括:资源块对应的分块序号,等等。其中,每个资源块对应的分块序号的确定方式如下:目标终端可先采用公式1.1根据视频数据量(采用a表示)和预设分块尺寸(采用b表示),计算目标视频所涉及的资源块的总数量(采用n表示);然后可基于该总数量为每个资源块分配一个分块序号。
其中,数学符号表示向上取整。举例说明,假设目标视频的视频数据量为736MB,预设的分块尺寸为128MB;那么由于736/128=5.75,因此n=6,即目标视频总共涉及6个资源块。那么,可基于一个默认数值,采用计数的方式依次对每个资源块进行编码,得到每个资源块的分块序号;例如,默认数值为0,那么各个资源块的分块序号可以依次为:0、1、2、3、4、5;又如,默认数值为1,那么各个资源块的分块序号可以依次为:1、2、3、4、5、6。
s13,根据每个资源块的块标识,在目标终端的本地空间中检索目标视频对应的每个资源块。
s14,若确定目标终端的本地空间中缺失目标视频对应的K个资源块,则将K个资源块作为目标资源,并确定检测到目标资源的获取触发事件。
S202,基于目标终端和各个候选终端之间的近距离通讯连接,请求各个候选终端在各个候选终端的本地空间检索目标资源。
由前述可知,目标资源包括的是:目标对象在目标终端的本地空间中所缺失的K个资源块,且每个资源块具有一个块标识;那么在执行步骤S202时,目标终端可生成携带K个资源块对应的K个块标识以及目标对象的资源标识的资源检索请求,然后可基于目标终端和各个候选终端之间的近距离通讯连接,将该资源检索请求分别发送给各个候选终端,以请求各个候选终端在各个候选终端的本地空间根据K个块标识和目标对象的资源标识检索目标资源。相应的,各个候选终端可响应目标终端发送的资源检索请求,在各自的本地空间中分别根据K个块标识和目标对象的资源标识进行目标资源的检索;并在检索完成后,向目标终端返回相应的检索结果。
任一候选终端返回的检索结果可用于指示:该任一候选终端的本地空间中是否存在目标资源中的全部或部分资源(即K个资源块中的全部或部分资源块);且当任一候选终端只在其本地空间中检索到目标资源的部分资源时,该任一候选终端返回的检索结果还可进一步指示:该任一候选终端内所存储的部分资源所对应的各个资源块的块标识。例如,设目标资源总共6个资源块(即K=6),且各资源块的块标识依次为:0、1、2、3、4、5;若某个候选终端A只在自己的本地空间中检索到块标识为0、1和2的3个资源块,则该候选终端A返回的检索结果可用于指示:该候选终端A在自己的本地空间中总共检索到3个资源块,且块标识分别是:0、1、2。
S203,根据各个候选终端返回的检索结果,从一个或多个候选终端中选取关联终端。
S204,基于目标终端和关联终端之间的近距离通讯连接,从关联终端中获取目标资源中的部分或全部资源。
在步骤S203-步骤S204中,关联终端是指检索到目标资源中的部分或全部资源的候选终端;并且,关联终端的数量可以为一个或多个。那么,随着关联终端的数量和关联终端所存储的目标资源的情况不同,步骤S204的具体实施方式也可随之不同,具体参见下述描述:
(一)关联终端的数量为1个,且关联终端的本地空间中存储有K个资源块;也就是说,这1个关联终端的本地空间中存储有目标资源的全部资源。
在此情况下,步骤S204的具体实施方式可以是:基于目标终端和关联终端之间的近距离通讯连接,从关联终端中获取目标资源中的全部资源(即K个资源块)。具体的,可基于目标终端和关联终端之间的近距离通讯连接,向关联终端发送资源获取请求,以请求关联终端返回K个资源块;然后,可接收关联终端返回的K个资源块,如图3a所示。
(二)关联终端的数量为1个,且关联终端的本地空间中存储有目标资源中的k个资源块,k∈[1,K);也就是说,这1个关联终端的本地空间中只存储有目标资源的部分资源(即k个资源块)。
在此情况下,步骤S204的具体实施方式可以是:基于目标终端和所述关联终端之间的近距离通讯连接,从关联终端中获取目标资源中的k个资源块。具体的,可基于目标终端和关联终端之间的近距离通讯连接,向关联终端发送资源获取请求,以请求关联终端返回k个资源块;然后,可接收关联终端返回的k个资源块。
进一步的,为了能够获取到完整的目标资源以使得后续可基于完整的目标资源为用户提供相应的业务;目标终端还可从服务器处获取目标资源的剩余资源块,此处的剩余资源块是指K个资源块中除k个资源块以外的资源块。具体的,目标终端可先在K个资源块的K个块标识中过滤掉k个资源块的k个块标识,得到剩余资源块的块标识。然后,可生成携带目标资源对应的目标对象的资源标识和剩余资源块的块标识的数据下发请求,并向服务器发送该数据下发请求以服务器根据该资源标识和块标识查询并下发剩余资源块;相应的,目标终端可接收服务器下发的剩余资源块,如图3b所示。
(三)关联终端的数量为至少两个,且每个关联终端的本地空间中均存储有K个资源块;也就是说,每个关联终端的本地空间中均存储有目标资源的全部资源。
在此情况下,步骤S204的一种具体实施方式可以是:从至少两个关联终端中任意选取一个关联终端作为目标关联终端,并基于目标终端和目标关联终端之间的近距离通讯连接,从目标关联终端中获取K个资源块。
或者,步骤S204的另一种具体实施方式可以是:可先将K个资源块对应的K个块标识划分成多个标识组;每个标识组中包括一个或多个资源块的块标识,且一个标识组对应一个关联终端。然后,可基于目标终端和各个标识组所对应的关联终端之间的近距离通讯连接,分别从各个标识组所对应的关联终端中获取各个标识组指示的资源块。在此实施方式下,目标终端可实现并发地从不同的关联终端中获取不同的资源块,从而提升资源获取效率。
例如,设总共有5个关联终端,依次为:终端A、终端B、终端C、终端D以及终端E;并设将10个资源块对应的10个块标识(块标识0-9)划分成了4个标识组,如表1所示:
表1
标识组 | 内部包括的块标识 | 对应的关联终端 |
标识组1 | 块标识0和块标识2 | 终端B |
标识组2 | 块标识1、块标识3和块标识4 | 终端C |
标识组3 | 块标识5、块标识8和块标识9 | 终端D |
标识组4 | 块标识6和块标识7 | 终端E |
那么根据表1所示的对应关系,目标终端可按照图3c所示的获取方式分别从多个关联终端中获取目标资源。具体的,可基于目标终端和终端B之间的近距离通讯连接,从终端B中获取标识组1指示的资源块,即块标识0指示的第1个资源块和块标识2指示的第3个资源块。可基于目标终端和终端C之间的近距离通讯连接,从终端C中获取标识组2指示的资源块,即块标识1指示的第2个资源块、块标识3指示的第4个资源块和块标识4指示的第5个资源块。可基于目标终端和终端D之间的近距离通讯连接,从终端D中获取标识组3指示的资源块,即块标识5指示的第6个资源块、块标识8指示的第9个资源块和块标识9指示的第10个资源块。可基于目标终端和终端E之间的近距离通讯连接,从终端E中获取标识组4指示的资源块,即块标识6指示的第7个资源块和块标识7指示的第8个资源块。
(四)关联终端的数量为至少两个,且每个关联终端的本地空间中均存储有k个资源块;也就是说,每个关联终端的本地空间中均只存储有目标资源的部分资源。
在此情况下,步骤S204的具体实施方式可以是:针对任一资源块,通过数据探测的方式从所有关联终端中选取能够最快返回该任一资源块的关联终端,并基于目标终端和被选取的关联终端之间的近距离通讯连接,从被选取的关联终端处获取该任一资源块。其中,数据探测的方式是指:先请求各个关联终端均返回任一资源块中的指定资源(如前1%的资源),并根据从各个关联终端处接收到该任一资源块中的指定资源的先后顺序,选取最先接收到的指定资源所对应的关联终端作为能够最快返回该任一资源块的关联终端。
(五)关联终端的数量为至少两个,且至少两个关联终端可包括:至少一个第一关联终端和至少一个第二关联终端;其中,第一关联终端是指:本地空间中存储有K个资源块的关联终端,第二关联终端是指:本地空间中存储有k个资源块的关联终端。也就是说,第一关联终端的本地空间中存储有目标资源的全部资源,第二关联终端的本地空间中存储有目标资源的部分资源。
在此情况下,步骤S204的一种具体实施方式可以是:基于目标终端和任一第一关联终端之间的近距离通讯连接,从该任一第一关联终端中获取K个资源块。或者,步骤S204的另一种具体实施方式可以是:针对任一资源块,通过数据探测的方式从所有关联终端中选取能够最快返回该任一资源块的关联终端,并基于目标终端和被选取的关联终端之间的近距离通讯连接,从被选取的关联终端处获取该任一资源块。
本发明实施例在检测到目标资源的获取触发事件后,可在目标终端和一个或多个候选终端之间建立近距离通讯连接。其次,可基于目标终端和各个候选终端之间的近距离通讯连接,请求各个候选终端在各个候选终端的本地空间检索目标资源;并根据各个候选终端返回的检索结果,选取存储有目标资源中的部分或全部资源的候选终端作为关联终端。然后,可基于目标终端和关联终端之间的近距离通讯连接,从关联终端中获取目标资源中的部分或全部资源。在上述资源获取过程中,通过利用近距离通讯技术从附近终端处获取目标资源,不仅可有效节省目标终端的网络资源且减轻服务器的流量压力,还可在一定程度上减轻资源获取与终端侧的网络环境的依赖性,从而有效提升资源获取成功率和获取效率;尤其是针对处于弱网环境的目标终端而言,可有效加速目标资源的获取进度。
请参见图4,是本发明实施例提供的另一种资源获取方法的流程示意图。该资源获取方法可以由上述所提及的目标终端或者目标终端内所运行的目标客户端执行,为便于阐述,后续均以目标终端执行该资源获取方法为例进行说明。并且,本发明实施例主要以关联终端的数量为至少两个,且每个关联终端的本地空间中均存储有K个资源块为例进行说明。请参见图4,该资源获取方法可包括以下步骤S401-S407:
S401,若检测到目标资源的获取触发事件,则调用近距离通讯组件从目标终端所处的目标区域中扫描出多个初始终端。
其中,初始终端是指支持近距离通讯且支持资源共享的终端。在具体实施过程中,若检测到目标资源的获取触发事件,则目标终端可调用近距离通讯组件在目标终端所处的目标区域中广播扫描信号,该扫描信号用于询问是否支持近距离通讯且是否支持资源共享。当目标区域中的其他终端监听到该扫描信号,且确定自身支持资源共享时,便可向目标终端返回通知消息,以通知目标终端自己是能够进行近距离通讯且支持资源共享。相应的,若目标终端接收到一条或多个通知消息,则可将发送每条通知消息的终端均作为初始终端。
需要说明的是,上述所提及的近距离通讯组件可包括以下一种或多种组件:使用第一通讯协议的第一通讯组件、使用第二通讯协议的第二通讯组件、使用第三通讯协议的第三通讯组件,等等。其中,第一通讯协议用于指示:在进行数据传输时,可连接的同一类型下的终端的数量等于1;例如,第一通讯协议可以为蓝牙通讯协议,那么第一通讯组件可为蓝牙组件。第二通讯协议用于指示:在进行数据传输时,可连接的同一类型下的终端的数量大于1;例如,第二通讯协议可以为WIFI通讯协议,那么第二通讯组件可为WIFI组件。第三通讯协议用于指示:在进行数据传输时,可连接的终端的数量等于1;例如,第三通讯协议可以为NFC通讯协议,那么第三通讯组件可为NFC组件。
当近距离通讯组件包括至少两种组件时,目标终端可分别调用每种组件在目标区域中广播扫描信号,从而扫描出每种组件所对应的初始终端。例如,当近距离通讯组件包括:使用第一通讯协议的第一通讯组件(如蓝牙组件)时,多个初始终端中可包括一个或多个第一初始终端,该第一初始终端是指通过第一通讯组件从目标区域中扫描出的初始终端。当近距离通讯组件包括:使用第二通讯协议的第二通讯组件(如WIFI组件)时,多个初始终端中可包括一个或多个第二初始终端,该第二初始终端是指通过第二通讯组件从目标区域中扫描出的初始终端。当近距离通讯组件包括:使用第三通讯协议的第三通讯组件(如NFC组件)时,多个初始终端中可包括一个或多个第三初始终端,该第三初始终端是指通过第三通讯组件从目标区域中扫描出的初始终端。
S402,按照终端选取策略,从多个初始终端中选取一个或多个候选终端。
在一种具体实现中,当多个初始终端中包括一个或多个第一初始终端时,步骤S402的具体实施方式可以是:若多个初始终端中包括一个第一初始终端,则可直接将第一初始终端作为候选终端。若多个初始终端中包括多个第一初始终端,且每个第一初始终端所属的类型不同,如一个第一初始终端属于手机类型,另一个初始终端属于智能手表类型;则目标终端可将多个第一初始终端均作为候选终端。若多个初始终端中包括多个第一初始终端,且多个第一初始终端均属于同一类型,如多个第一初始终端均属于手机类型;则由于第一通信协议约束了每次进行数据传输时,目标终端只能与同一类型下的一个终端相连接,因此,目标终端可从多个第一初始终端中选取一个第一初始终端作为候选终端。
具体的,目标终端可从多个第一初始终端中任意选取一个第一初始终端,作为候选终端。或者,目标终端可获取各个第一初始终端的信号强度,并从多个第一初始终端中选取信号强度最大的第一初始终端作为候选终端。或者,目标终端可获取各个第一初始终端的动态带宽,并从多个第一初始终端中选取动态带宽最大的第一初始终端作为候选终端。其中,任一第一初始终端的动态带宽的获取方式可以是:询问任一第一初始终端的历史带宽,并将历史带宽作为该任一第一初始终端的动态带宽。或者任一第一初始终端的动态带宽的获取方式可以是:首先,可向任一第一初始终端发送资源获取请求,以请求任一第一初始终端返回测试数据。其次,可接收任一第一初始终端返回的测试数据,并统计任一第一初始终端传输测试数据所消耗的传输时长。然后,可根据测试数据的数据量和传输时长,计算任一第一初始终端的数据传输速率。该任一第一初始终端的数据传输速率用于反映任一第一初始终端的动态带宽,数据传输速率越大,则表明动态带宽越大。通过测试数据来实现带宽探测,可使得确定出的各个第一初始终端的动态带宽可能反映实际的数据传输情况,提升动态带宽的准确性。
再一种具体实现中,当多个初始终端中包括一个或多个第二初始终端时,步骤S402的具体实施方式可以是:将一个或多个第二初始终端均作为候选终端;或者,从一个或多个第二初始终端中选取部分第二初始终端作为候选终端。例如,可随机从一个或多个第二初始终端中选取部分第二初始终端作为候选终端,或者根据其他的参考因素(如终端之间的距离,信号强度等),从一个或多个第二初始终端中选取部分第二初始终端作为候选终端。
再一种具体实现中,当多个初始终端中包括一个或多个第三初始终端时,步骤S402的具体实施方式可以是:若多个初始终端中包括一个第三初始终端,则可直接将第三初始终端作为候选终端。若多个初始终端中包括多个第三初始终端,则由于第三通信协议约束了每次进行数据传输时,目标终端只能与一个终端相连接,因此,目标终端可从多个第三初始终端中选取一个第三初始终端作为候选终端。需要说明的是,如何选取一个第三初始终端作为候选终端的具体实施方式,可参见上述所提及的如何选取一个第一初始终端作为候选终端的具体实施方式,在此不再赘述。
S403,在目标终端和各个候选终端之间建立近距离通讯连接。
S404,基于目标终端和各个候选终端之间的近距离通讯连接,请求各个候选终端在各个候选终端的本地空间检索目标资源。
S405,根据各个候选终端返回的检索结果,从一个或多个候选终端中选取关联终端,关联终端是指检索到目标资源中的部分或全部资源的候选终端。
S406,将K个资源块对应的K个块标识划分成多个标识组。
其中,每个标识组中包括一个或多个资源块的块标识,且一个标识组对应一个关联终端。在具体实施过程中,步骤S406可包括以下任一种实施方式:
实施方式一:可对K个资源块对应的K个块标识进行随机划分,得到多个标识组;通过此实施方式所得到的各个标识组所包含的块标识的数量可相同或不同,对此不作限制。并且,在此实施方式下,目标终端可随机为每个标识组分配一个对应的关联终端。
实施方式二:可依次遍历K个资源块对应的K个块标识中的各个块标识,并根据当前遍历的当前块标识生成第一探测请求。其次,可向各个关联终端发送第一探测请求,以请求各个关联终端返回当前块标识所指示的当前资源块中的指定资源;此处的指定资源可根据经验值或者业务需求设置,例如可设置指定资源为当前资源块中的前1%的资源。然后,可接收各个关联终端返回的当前资源块中的指定资源,并分别记录从每个关联终端处接收到当前资源块中的指定资源的第一接收时间。最后,可根据记录的第一接收时间从至少两个关联终端中选取关联终端,并将当前块标识划分至被选取的关联终端对应的标识组中。其中,被选取的关联终端所对应的第一接收时间早于其他关联终端所对应的第一接收时间;也就是说,被选取的关联终端是所有关联终端中最快返回当前资源块中的指定资源的关联终端。
举例说明,设当前遍历的当前块标识为块标识0,且总共有5个关联终端,依次为:终端A、终端B、终端C、终端D以及终端E;并且,记录的第一接收时间可参见下述表2所示。参见表2可知,终端C对应的第一接收时间是最早的,因此可将块标识0划分至终端C对应的标识组中。
表2
由此可见,采用此实施方式二可实现如下有益效果:针对任一资源块,目标终端可提前通过数据探测的方式,从所有的关联终端中选取能够最快返回该任一资源块的关联终端;从而使得后续在获取该任一资源块时,可有效提升该任一资源块的获取效率,缩短整个资源获取时长。
实施方式三:依次遍历至少两个关联终端中的各个关联终端,并向当前遍历的当前关联终端发送携带K个块标识的第二探测请求,以请求当前关联终端返回K个资源块中的各个资源块中的指定资源。其次,可接收当前关联终端返回的各个资源块中的指定资源,并分别记录每个资源块中的指定资源的第二接收时间。然后,可按照标识选取策略,根据记录的第二接收时间从K个块标识中确定目标块标识。具体的,目标终端可按照时间从小到大的选取顺序,根据记录的第二接收时间从K个块标识中选取预设数量的块标识作为目标块标识。
或者,目标终端可获取当前关联终端关于各个资源块的响应时延,并根据获取到的响应时延从K个块标识中选取目标块标识;该目标块标识满足如下条件:当前关联终端关于目标块标识所指示的目标资源块的响应时延小于时延阈值,此处的时延阈值可根据业务需求或者经验值设置。其中,当前关联终端关于任一资源块的响应时延是指:发送第二探测请求的请求时间,与接收到任一资源块中的指定资源的第二接收时间之间的时间差。例如,当前关联终端发送第二探测请求的请求时间为10点20分30秒,而接收到块标识0所指示的第1个资源块中的指定资源的第二接收时间为10点20分35秒,那么当前关联终端关于第1个资源块的响应时延便等于5秒。
在确定目标块标识之后,目标终端可判断当前关联终端是否为所有关联终端中首个被遍历的关联终端;若是,则表明不存在历史遍历的关联终端,此时可直接将目标块标识划分至当前关联终端对应的标识组中;若否,则表明存在历史遍历的关联终端,此时可进一步检测历史遍历的关联终端所对应的标识组中是否包括目标块标识。若历史遍历的关联终端所对应的标识组中均不包括目标块标识,则将目标块标识划分至当前关联终端对应的标识组中。若历史遍历的关联终端中存在历史关联终端对应的标识组中包括目标块标识,则可获取历史关联终端关于目标资源块的响应时延,以及获取当前关联终端关于目标资源块的响应时延。其中,历史关联终端关于目标资源块的响应时延是指:向历史关联终端请求该目标资源块中的指定资源的请求时间,与从历史关联终端处接收到目标资源块中的指定资源的接收时间之间的时间差;同理,当前关联终端关于目标资源块的响应时延是指:向当前关联终端请求目标资源块中的指定资源的请求时间(即发送第二探测请求的请求时间),与从历史关联终端处接收到目标资源块中的指定资源的接收时间之间的时间差。
然后,目标终端可比较历史关联终端对应的响应时延和当前关联终端对应的响应时延之间的大小关系。若历史关联终端对应的响应时延小于或等于当前关联终端对应的响应时延,则保持历史关联终端对应的标识组中包括目标块标识;若历史关联终端对应的响应时延大于当前关联终端对应的响应时延,则可在历史关联终端对应的标识组中删除目标块标识,并将目标块标识添加至当前关联终端对应的标识组中。
举例说明,设当前遍历的关联终端为终端E,且设总共有5个块标识,即总共有5个资源块;并且,记录的第二接收时间可参见下述表3所示:
表3
设时延阈值为8秒,那么参见上述表3可知,只有块标识0和块标识4满足条件,因此可将块标识0和块标识4作为目标块标识。若终端E为所有关联终端中最先被遍历的关联终端,则可直接将块标识0和块标识4划分至终端E对应的标识组中。若终端E不是最先被遍历的关联终端,则可进一步判断历史遍历的关联终端中存在历史关联终端对应的标识组中包括块标识0和块标识4。假设历史遍历的关联终端中不存在关联终端对应的标识组中包括块标识0,则可直接将块标识0划分至终端E对应的标识组中。假设历史遍历的关联终端中存在终端A(即历史关联终端)对应的标识组中包括块标识4,因此可获取终端A关于块标识4所指示的第5个资源块的响应时延,以及获取终端E关于第5个资源块的响应时延。若终端A对应的响应时延小于或等于终端E对应的响应时延,则可保持终端A对应的标识组中包括块标识4,即仍将块标识4划分至终端A对应的标识组;若终端A对应的响应时延大于终端E对应的响应时延,则在终端A对应的标识组中删除块标识4,并将块标识4添加至终端E对应的标识组中,即将块标识4划分至终端E对应的标识组中。
由此可见,采用此实施方式三可实现如下有益效果:针对任一标识组所指示的资源块,目标终端可提前通过数据探测的方式来为其分配关联终端,可使得分配的关联终端实际返回该任一标识组所指示的各个资源块所涉及的时延均小于时延阈值,从而保证资源获取的及时性和效率。并且,当存在至少两个关联终端均可在时延阈值的前提下返回同一个资源块时,还可从至少两个关联终端中选取能够最快返回该资源块的关联终端,从而进一步提升该资源块的获取效率。
实施方式四:可按照块标识从小到大的顺序,将K个资源块对应的K个块标识等数量地划分成多个标识组;通过此实施方式所得到的各个标识组所包含的块标识的数量是相同的。并且,在此实施方式下,目标终端可按照目标终端和各个关联终端之间的距离和块标识的大小成正比的分配原则,为每个标识组分配一个对应的关联终端;使得针对包含块标识越小的标识组,其对应的关联终端离目标终端越近,这样可在一定程度上实现按照块标识从小到大的顺序依次获取各资源块的效果,从而使得当存在实时输出各个资源块的需求时,可采用流媒体的方式依次输出各个资源块,无需等到获取完所有资源块后再执行资源块的输出操作,从而提升资源输出效率。
例如,设总共有4个关联终端,依次为:终端A、终端B、终端C以及终端D;并设总共6个资源块,且按照每2个块标识为一组的划分规则,将这6个资源块对应的6个块标识等数量的划分成3个标识组;那么,每个标识组和关联终端之间的对应关系可参见下述表4所示:
表4
S407,基于目标终端和各个标识组所对应的关联终端之间的近距离通讯连接,分别从各个标识组所对应的关联终端中获取各个标识组指示的资源块。
需要说明的是,在实际应用中,目标终端不仅可通过上述步骤S401-S407,实现利用内置的近距离通讯组件从附近的关联终端处获取相应的资源块;还可通过内置的近距离通讯组件向附近的其他终端分享目标终端的本地空间的资源块。具体的,目标终端可通过内置的近距离通讯组件实时监听其他设备发送的扫描信号,并在监听到扫描信号后,向其他设备广播通知消息以通知其他设备存在目标终端支持近距离通讯且支持资源共享的。当接收到其他设备发送的连接请求后,目标终端便可基于内置的近距离通讯组件和其他设备建立近距离通讯连接;若接收到其他设备发送的关于其他资源的资源检索请求,则可根据其他设备发送的资源检索请求所携带的资源标识和块标识在目标终端的本地空间中检索是否存在其他资源。若检索到其他资源,则可从目标终端的本地空间中读取该其他资源,并基于目标终端和其他设备之间的近距离通讯连接将该其他资源发送给其他设备。
本发明实施例在检测到目标资源的获取触发事件后,可在目标终端和一个或多个候选终端之间建立近距离通讯连接。其次,可基于目标终端和各个候选终端之间的近距离通讯连接,请求各个候选终端在各个候选终端的本地空间检索目标资源;并根据各个候选终端返回的检索结果,选取存储有目标资源中的部分或全部资源的候选终端作为关联终端。然后,可基于目标终端和关联终端之间的近距离通讯连接,从关联终端中获取目标资源中的部分或全部资源。在上述资源获取过程中,通过利用近距离通讯技术从附近终端处获取目标资源,不仅可有效节省目标终端的网络资源且减轻服务器的流量压力,还可在一定程度上减轻资源获取与终端侧的网络环境的依赖性,从而有效提升资源获取成功率和获取效率;尤其是针对处于弱网环境的目标终端而言,可有效加速目标资源的获取进度。
需要说明的是,上述所提及的图2和图4所示的资源获取方法的方法实施例也可由目标终端内的目标客户端执行,本申请只是以目标终端作为执行主体为例进行说明的;并且,为了使得目标终端能够更好地执行上述所提及的资源获取方法,本发明实施例还提出了如图5a所示的目标终端。参见图5a所示,目标客户端可主要包括五个模块:资源存储模块、网络下载模块、近场通讯模块、中央控制模块、用户功能模块。其中,资源存储模块主要负责资源数据的存储,比如一些视频资源的存储;网络下载模块主要负责从服务器获取指定的数据资源;近场通讯模块主要负责扫描并从附近设备上获取资源,以及监听附近设备的扫描并发送资源给附近设备;中央控制模块主要负责整体资源的控制和调度处理,比如数据的获取、写入、分块以及合并等,只需要告诉中央控制模块需要什么资源,中央控制模块就会返回需要的资源数据;用户功能模块负责用户侧相关的一些功能,比如视频的播放,页面的展示以及和用户的交互操作等等。
为了更清楚目标客户端中的各个模块的功能,下面分别对各个模块的具体功能进行详细介绍:
(1)资源存储模块:
该资源存储模块用于存储一个或多个对象的数据资源,任一个对象的完整资源(如电视剧×的第一集)可被划分成若干个资源块,一个资源块可通过一条资源数据记录来存储。参见图5b所示,一条资源数据记录可至少如下字段:记录ID字段、资源ID字段、块标识字段、数据内容字段,等等;其中,记录ID字段用于存储记录ID,且记录ID可用于唯一标识一条资源数据记录,生成方式为随机生成;资源ID字段用于存储资源ID,且资源ID用于标识该条资源数据记录所对应的资源块属于哪个对象;块标识字段用于存储块标识,块标识用于标识该条资源数据记录对应的资源块是所属对象的多个资源块中的第几个资源块;数据内容字段用于存储资源块的数据内容,此处数据内容是指资源块的具体数据。
举例说明,设对象为“电视剧×的第一集”这一个目标视频,其对应的资源ID为“305f15318e190c60fe68280d4ceda44f”;并设目标视频的视频数据量为736MB,预设分块尺寸为128MB。那么,这个目标视频可被分成6个资源块,即该目标视频可被分成6条资源数据记录进行存储,如表5所示:
表5
(2)网络下载模块:
该网络下载模块用于从服务器获取指定资源数据,其他模块只需要告诉该网络下载模块需要的资源ID和块标识,该网络下载模块便可通过网络向服务器发起请求,以请求服务器根据资源ID和块标识将对应的资源数据传输给该网络下载模块。
(3)近场通讯模块:
该近场通讯模块可包含两大功能,一是从附近终端设备上获取指定资源数据,二是为附近终端设备提供需要的资源数据。
对于功能一,其他模块只需要告诉该近场通讯模块需要的资源ID和块标识,该近场通讯模块便可调用目标终端内置的近距离通讯组件(如NFC组件/蓝牙组件/WIFI组件等)发起扫描信号,以扫描附近有哪些终端设备也是支持本技术(即支持近距离通讯且支持资源共享的技术)的,从而扫描出一个或多个候选终端。然后,可调用近距离通讯组件向各个候选终端发起连接请求,以请求在目标终端和各个候选终端之间建立近距离通讯连接;当成功建立近距离通讯连接后,近场通讯模块可向这些候选终端发起资源检索请求,该资源检索请求中可包括需要的资源ID和块标识。相应的,各候选终端收到资源检索请求后,会根据资源ID和块标识检索自身的本地空间中是否有相应的资源块,并返回检索结果给近场通讯模块。近场通讯模块可根据各个候选终端返回的检索结果,从一个或多个候选终端中选取关联终端,并从关联终端处获取相应的资源块。近场通讯模块在接收数据完毕后,可将接收到的各个资源块返回给其他模块。
对于功能二,近场通讯模块在启动后,会调用目标终端内置的近距离通讯组件(如NFC组件/蓝牙组件/WIFI组件等)实时监听扫描信号;当监听到附近有终端设备发起扫描信号时,近场通讯模块可发送一条无线电广播消息,用于告知扫描者本终端是支持本技术(即支持近距离通讯且支持资源共享的技术)的。当扫描者发起连接请求时,近场通讯模块可调用近距离通讯组件在目标终端和扫描者之间建立近距离通讯连接;在成功建立近距离通讯连接后,若接收到扫描者发送的资源检索请求,则近场通讯模块可通过资源检索请求携带的资源ID和块标识,请求资源存储模块检索目标终端的本地空间中是否存在相应的资源块。如果存在的话,则可将该资源块从目标终端的本地空间读取出来,并发送给扫描者。
(4)中央控制模块:
该中央控制模块用于整体资源的控制和调度处理,其他模块只需要告诉该中央控制模块需要的资源ID,便可获取到完整的资源数据;该中央控制模块的具体实现如下:
(a)、中央控制模块收到一个目标对象的资源ID后,首先可请求服务器,查询到该目标对象的总资源数据量。
(b)、根据总资源数据量和预设分块尺寸,计算目标对象所涉及的资源块的数量,即计算一共需要获取多少个资源块,具体计算方法可参见上述公式1.1。
举例说明:比如对于资源ID为“305f15318e190c60fe68280d4ceda44f”的目标对象,查询到该目标对象的总资源数据量为736MB,根据预设分块尺寸128MB,可计算得到一共需要表6所示的6个资源块:
表6
资源ID | 块标识 |
305f15318e190c60fe68280d4ceda44f | 0 |
305f15318e190c60fe68280d4ceda44f | 1 |
305f15318e190c60fe68280d4ceda44f | 2 |
305f15318e190c60fe68280d4ceda44f | 3 |
305f15318e190c60fe68280d4ceda44f | 4 |
305f15318e190c60fe68280d4ceda44f | 5 |
(c)、调用资源存储模块,根据资源ID和块标识,分别在目标终端的本地空间中检索这6个资源块是否存在;对于存在的资源块,则可直接从目标终端的本地空间中将该资源块读取出来待用;对于不存在的资源块(即前述方法实施例所提及的目标资源),则通过步骤(d)-步骤(c)来获取。这里我们假设检索到块标识为0、1和4的资源块存在,块标识为2、3和5的资源块不存在,即目标资源包括块标识2、3和5所指示的资源块。
(d)、调用近场通讯模块,尝试从附近的一个或多个关联终端上获取步骤(c)中不存在的块标识为2、3和5的资源块并待用。这里我们假设成功从关联终端上获取到块标识2和3的资源块,未获取到块标识为5的资源块。
(e)、调用网络下载模块,从服务器上获取步骤(d)中不存在的块标识为5的资源块并待用。
(f)、调用资源存储模块,将块标识为2、3和5的资源块以资源数据记录的形式,写入到该资源存储模块中,以实现在目标终端的本地空间中存储这3个资源块。
(g)、按块标识从小到大的顺序,将块标识为0、1、2、3、4和5的资源块进行合并,得到最终的目标对象的完整资源数据。
(5)用户功能模块:
该用户功能模块主要为用户提供相关的业务功能,比如人机交互功能、视频播放功能、图片显示功能、以及调用中央控制模块获取资源数据等多种功能。
基于上述描述,下面以目标客户端为视频播放客户端,目标对象为目标视频为例,对目标客户端中的各个模块的工作流程作进一步阐述:
(a)、用户在目标客户端上点开“电视剧×的第一集”进行播放,此时用户功能模块可确定目标视频的资源ID为“305f15318e190c60fe68280d4ceda44f”,且用户功能模块可调用中央控制模块,请求获取该目标视频的完整资源数据。
(b)、中央控制模块根据资源ID“305f15318e190c60fe68280d4ceda44f”请求服务器,以查询目标视频的视频数据量(即总资源数据量)为736MB。
(c)、中央控制模块根据视频数据量和预设分块尺寸计算资源块的数量,并确定每个资源块的块标识。设计算结果为6,6个资源块对应的块标识依次为:0、1、2、3、4和5。
(d)、中央控制模块调用资源存储模块,根据资源ID和块标识在目标终端的本地空间中检索这6个资源块,并将本地空间中检索到的资源块读取出来。
(e)、如果步骤(d)中存在检索不到的资源块(即目标资源),则中央控制模块调用近场通讯模块,扫描连接附近的关联终端,并尝试从附近的关联终端处获取目标资源中的各个资源块。
(f)、如果步骤(e)中存在获取不到的资源块,则中央控制模块调用网络下载模块,请求服务器获取步骤(e)中获取失败的资源块。
(g)、中央控制模块将步骤(e)和步骤(f)中获取到的资源块,通过资源存储模块写入目标终端的本地空间中。
(h)、中央控制模块按顺序将6个资源块的数据内容合并起来,得到完整资源数据,并将完整资源数据返回给用户功能模块。
(i)、用户功能模块得到完整资源数据后,在目标客户端的播放界面中根据完整资源数据播放“电视剧×的第一集”。
可选的,目标客户端还可在用户界面中显示近距离通讯组件的组件标识。并且,在播放“电视剧×的第一集”的过程中,还可检测当前播放的资源块是否是通过近距离通讯组件获取到的;若是,则可在播放界面中对近距离通讯组件的组件标识进行突出显示。可选的,当近距离通讯组件的组件标识被触发时,目标客户端还可输出资源详情界面,该资源详情界面中可包括通过该近距离通讯组件所获取到的各个资源块的资源标识、发送各个资源块的关联终端的终端标识等信息。
本发明实施例通过一种或多种近场通讯结合的方式,可有效实现P2P加速效果。整个过程中,通过利用近距离通讯技术从附近终端处获取资源,不仅可有效节省目标终端的网络资源且减轻服务器的流量压力,还可在一定程度上减轻资源获取与终端侧的网络环境的依赖性,从而有效提升资源获取成功率和获取效率;尤其是针对处于弱网环境的目标终端而言,可有效加速目标资源的获取进度。
基于上述资源获取方法的相关实施例的描述,本发明实施例还提出了一种资源获取装置,该资源获取装置可以是运行于目标终端中的一个计算机程序(包括程序代码)。该资源获取装置可以执行图2或图4所示的资源获取方法;请参见图6,所述资源获取装置可以运行如下单元:
处理单元601,用于若检测到目标资源的获取触发事件,则在目标终端和一个或多个候选终端之间建立近距离通讯连接;
通讯单元602,用于基于所述目标终端和各个候选终端之间的近距离通讯连接,请求所述各个候选终端在所述各个候选终端的本地空间检索所述目标资源;
所述处理单元601,还用于根据所述各个候选终端返回的检索结果,从所述一个或多个候选终端中选取关联终端,所述关联终端是指检索到所述目标资源中的部分或全部资源的候选终端;
所述通讯单元602,还用于基于所述目标终端和所述关联终端之间的近距离通讯连接,从所述关联终端中获取所述目标资源中的部分或全部资源。
在一种实施方式中,所述目标资源包括K个资源块,K为正整数;所述关联终端的数量为1个,且所述关联终端的本地空间中存储有所述目标资源中的k个资源块,k∈[1,K);相应的,通讯单元602在用于基于所述目标终端和所述关联终端之间的近距离通讯连接,从所述关联终端中获取所述目标资源中的部分或全部资源时,可具体用于:
基于所述目标终端和所述关联终端之间的近距离通讯连接,从所述关联终端中获取所述目标资源中的k个资源块;
通讯单元602还可用于:从服务器处获取所述目标资源的剩余资源块,所述剩余资源块是指所述K个资源块中除所述k个资源块以外的资源块。
再一种实施方式中,所述目标资源包括K个资源块且每个资源块具有一个块标识,K为正整数;所述关联终端的数量为至少两个,且每个关联终端的本地空间中均存储有所述K个资源块;相应的,通讯单元602在用于基于所述目标终端和所述关联终端之间的近距离通讯连接,从所述关联终端中获取所述目标资源中的部分或全部资源时,可具体用于:
将所述K个资源块对应的K个块标识划分成多个标识组,每个标识组中包括一个或多个资源块的块标识,且一个标识组对应一个关联终端;
基于所述目标终端和各个标识组所对应的关联终端之间的近距离通讯连接,分别从所述各个标识组所对应的关联终端中获取所述各个标识组指示的资源块。
再一种实施方式中,通讯单元602在用于将所述K个资源块对应的K个块标识划分成多个标识组时,可具体用于:
依次遍历所述K个资源块对应的K个块标识中的各个块标识,并根据当前遍历的当前块标识生成第一探测请求;
向各个关联终端发送所述第一探测请求,以请求所述各个关联终端返回所述当前块标识所指示的当前资源块中的指定资源;
接收所述各个关联终端返回的所述当前资源块中的指定资源,并分别记录从每个关联终端处接收到所述当前资源块中的指定资源的第一接收时间;
根据记录的第一接收时间从至少两个关联终端中选取关联终端,并将所述当前块标识划分至被选取的关联终端对应的标识组中;其中,被选取的关联终端所对应的第一接收时间早于其他关联终端所对应的第一接收时间。
再一种实施方式中,通讯单元602在用于将所述K个资源块对应的K个块标识划分成多个标识组时,可具体用于:
依次遍历至少两个关联终端中的各个关联终端,并向当前遍历的当前关联终端发送携带所述K个块标识的第二探测请求,以请求所述当前关联终端返回所述K个资源块中的各个资源块中的指定资源;
接收所述当前关联终端返回的所述各个资源块中的指定资源,并分别记录每个资源块中的指定资源的第二接收时间;
按照标识选取策略,根据记录的第二接收时间从所述K个块标识中确定目标块标识;
若历史遍历的关联终端所对应的标识组中均不包括所述目标块标识,则将所述目标块标识划分至所述当前关联终端对应的标识组中。
再一种实施方式中,通讯单元602在用于按照标识选取策略,根据记录的第二接收时间从所述K个块标识中确定目标块标识时,可具体用于:
按照时间从小到大的选取顺序,根据记录的第二接收时间从所述K个块标识中选取预设数量的块标识作为目标块标识;
或者,获取所述当前关联终端关于各个资源块的响应时延,并根据获取到的响应时延从所述K个块标识中选取目标块标识;所述目标块标识满足如下条件:所述当前关联终端关于所述目标块标识所指示的目标资源块的响应时延小于时延阈值;
其中,所述当前关联终端关于任一资源块的响应时延是指:发送所述第二探测请求的请求时间,与接收到所述任一资源块中的指定资源的第二接收时间之间的时间差。
再一种实施方式中,通讯单元602还可用于:
若历史遍历的关联终端中存在历史关联终端对应的标识组中包括所述目标块标识,则获取所述历史关联终端关于所述目标资源块的响应时延,以及获取所述当前关联终端关于所述目标资源块的响应时延;
若所述历史关联终端对应的响应时延小于或等于所述当前关联终端对应的响应时延,则保持所述历史关联终端对应的标识组中包括所述目标块标识;
若所述历史关联终端对应的响应时延大于所述当前关联终端对应的响应时延,则在所述历史关联终端对应的标识组中删除所述目标块标识,并将所述目标块标识添加至所述当前关联终端对应的标识组中。
再一种实施方式中,处理单元601在用于若检测到目标资源的获取触发事件,则在目标终端和一个或多个候选终端之间建立近距离通讯连接时,可具体用于:
若检测到目标资源的获取触发事件,则调用近距离通讯组件从目标终端所处的目标区域中扫描出多个初始终端,所述初始终端是指支持近距离通讯且支持资源共享的终端;
按照终端选取策略,从所述多个初始终端中选取一个或多个候选终端;
在所述目标终端和各个候选终端之间建立近距离通讯连接。
再一种实施方式中,所述近距离通讯组件包括:使用第一通讯协议的第一通讯组件,所述第一通讯协议用于指示:在进行数据传输时,可连接的同一类型下的终端的数量等于1;所述多个初始终端中包括一个或多个第一初始终端,所述第一初始终端是指通过所述第一通讯组件从所述目标区域中扫描出的初始终端;
相应的,处理单元601在用于按照终端选取策略,从所述多个初始终端中选取一个或多个候选终端时,可具体用于:
若所述多个初始终端中包括多个第一初始终端,且所述多个第一初始终端属于同一类型,则从所述多个第一初始终端中选取一个第一初始终端作为候选终端;
若所述多个初始终端中包括一个第一初始终端,则将所述第一初始终端作为候选终端。
再一种实施方式中,处理单元601在用于从所述多个第一初始终端中选取一个第一初始终端作为候选终端时,可具体用于:
从所述多个第一初始终端中任意选取一个第一初始终端,作为候选终端;
或者,获取各个第一初始终端的信号强度,并从所述多个第一初始终端中选取信号强度最大的第一初始终端作为候选终端;
或者,获取各个第一初始终端的动态带宽,并从所述多个第一初始终端中选取动态带宽最大的第一初始终端作为候选终端。
再一种实施方式中,任一第一初始终端的动态带宽的获取方式,包括:
向所述任一第一初始终端发送资源获取请求,以请求所述任一第一初始终端返回测试数据;
接收所述任一第一初始终端返回的所述测试数据,并统计所述任一第一初始终端传输所述测试数据所消耗的传输时长;
根据所述测试数据的数据量和所述传输时长,计算所述任一第一初始终端的数据传输速率,所述任一第一初始终端的数据传输速率用于反映所述任一第一初始终端的动态带宽。
根据本发明的一个实施例,图2或图4所示的方法所涉及的各个步骤均可以是由图6所示的资源获取装置中的各个单元来执行的。例如,图2中所示的步骤S201和步骤S203均可由图6中所示的处理单元601执行,步骤S202和步骤S204均可由图6中所示的通讯单元602执行。又如,图4中所示的步骤S401-S403以及步骤S405均可由图6中所示的处理单元601执行,步骤S404和步骤S406-S407均可由图6中所示的通讯单元602执行,等等。
根据本发明的另一个实施例,图6所示的资源获取装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于资源获取装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2或图4中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的资源获取装置设备,以及来实现本发明实施例的资源获取方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例在检测到目标资源的获取触发事件后,可在目标终端和一个或多个候选终端之间建立近距离通讯连接。其次,可基于目标终端和各个候选终端之间的近距离通讯连接,请求各个候选终端在各个候选终端的本地空间检索目标资源;并根据各个候选终端返回的检索结果,选取存储有目标资源中的部分或全部资源的候选终端作为关联终端。然后,可基于目标终端和关联终端之间的近距离通讯连接,从关联终端中获取目标资源中的部分或全部资源。在上述资源获取过程中,通过利用近距离通讯技术从附近终端处获取目标资源,不仅可有效节省目标终端的网络资源且减轻服务器的流量压力,还可在一定程度上减轻资源获取与终端侧的网络环境的依赖性,从而有效提升资源获取成功率和获取效率;尤其是针对处于弱网环境的目标终端而言,可有效加速目标资源的获取进度。
基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种终端(即上述所提及的目标终端)。请参见图7,该终端至少包括处理器701、输入设备702、输出设备703、计算机存储介质704以及近距离通讯组件705。其中,终端内的处理器701、输入设备702、输出设备703、计算机存储介质704以及近距离通讯组件705可通过总线或其他方式连接。计算机存储介质704可以存储在终端的存储器中,所述计算机存储介质704用于存储计算机程序,所述计算机程序包括程序指令,所述处理器701用于执行所述计算机存储介质704存储的程序指令。处理器701(或称CPU(Central Processing Unit,中央处理器))是终端的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
在一个实施例中,本发明实施例所述的处理器701可以用于被目标终端控制进行一系列的资源获取处理,包括:若检测到目标资源的获取触发事件,则在目标终端和一个或多个候选终端之间建立近距离通讯连接;基于所述目标终端和各个候选终端之间的近距离通讯连接,请求所述各个候选终端在所述各个候选终端的本地空间检索所述目标资源;根据所述各个候选终端返回的检索结果,从所述一个或多个候选终端中选取关联终端,所述关联终端是指检索到所述目标资源中的部分或全部资源的候选终端;基于所述目标终端和所述关联终端之间的近距离通讯连接,从所述关联终端中获取所述目标资源中的部分或全部资源,等等。
本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器701加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。在一个实施例中,该计算机存储介质中可存储有一条或多条指令;且可由处理器701加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关图2或图4所示的资源获取方法的实施例中的各个方法步骤。
本发明实施例在检测到目标资源的获取触发事件后,可在目标终端和一个或多个候选终端之间建立近距离通讯连接。其次,可基于目标终端和各个候选终端之间的近距离通讯连接,请求各个候选终端在各个候选终端的本地空间检索目标资源;并根据各个候选终端返回的检索结果,选取存储有目标资源中的部分或全部资源的候选终端作为关联终端。然后,可基于目标终端和关联终端之间的近距离通讯连接,从关联终端中获取目标资源中的部分或全部资源。在上述资源获取过程中,通过利用近距离通讯技术从附近终端处获取目标资源,不仅可有效节省目标终端的网络资源且减轻服务器的流量压力,还可在一定程度上减轻资源获取与终端侧的网络环境的依赖性,从而有效提升资源获取成功率和获取效率;尤其是针对处于弱网环境的目标终端而言,可有效加速目标资源的获取进度。
需要说明的是,根据本申请的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述图2或图4所示的资源获取方法实施例方面的各种可选方式中提供的方法。
并且,应理解的是,以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (15)
1.一种资源获取方法,其特征在于,包括:
若检测到目标资源的获取触发事件,则在目标终端和一个或多个候选终端之间建立近距离通讯连接;
基于所述目标终端和各个候选终端之间的近距离通讯连接,请求所述各个候选终端在所述各个候选终端的本地空间检索所述目标资源;
根据所述各个候选终端返回的检索结果,从所述一个或多个候选终端中选取关联终端,所述关联终端是指检索到所述目标资源中的部分或全部资源的候选终端;
基于所述目标终端和所述关联终端之间的近距离通讯连接,从所述关联终端中获取所述目标资源中的部分或全部资源。
2.如权利要求1所述的方法,其特征在于,所述目标资源包括K个资源块,K为正整数;所述关联终端的数量为1个,且所述关联终端的本地空间中存储有所述目标资源中的k个资源块,k∈[1,K);
所述基于所述目标终端和所述关联终端之间的近距离通讯连接,从所述关联终端中获取所述目标资源中的部分或全部资源,包括:
基于所述目标终端和所述关联终端之间的近距离通讯连接,从所述关联终端中获取所述目标资源中的k个资源块;
所述方法还包括:从服务器处获取所述目标资源的剩余资源块,所述剩余资源块是指所述K个资源块中除所述k个资源块以外的资源块。
3.如权利要求1所述的方法,其特征在于,所述目标资源包括K个资源块且每个资源块具有一个块标识,K为正整数;所述关联终端的数量为至少两个,且每个关联终端的本地空间中均存储有所述K个资源块;
所述基于所述目标终端和所述关联终端之间的近距离通讯连接,从所述关联终端中获取所述目标资源中的部分或全部资源,包括:
将所述K个资源块对应的K个块标识划分成多个标识组,每个标识组中包括一个或多个资源块的块标识,且一个标识组对应一个关联终端;
基于所述目标终端和各个标识组所对应的关联终端之间的近距离通讯连接,分别从所述各个标识组所对应的关联终端中获取所述各个标识组指示的资源块。
4.如权利要求3所述的方法,其特征在于,所述将所述K个资源块对应的K个块标识划分成多个标识组,包括:
依次遍历所述K个资源块对应的K个块标识中的各个块标识,并根据当前遍历的当前块标识生成第一探测请求;
向各个关联终端发送所述第一探测请求,以请求所述各个关联终端返回所述当前块标识所指示的当前资源块中的指定资源;
接收所述各个关联终端返回的所述当前资源块中的指定资源,并分别记录从每个关联终端处接收到所述当前资源块中的指定资源的第一接收时间;
根据记录的第一接收时间从至少两个关联终端中选取关联终端,并将所述当前块标识划分至被选取的关联终端对应的标识组中;其中,被选取的关联终端所对应的第一接收时间早于其他关联终端所对应的第一接收时间。
5.如权利要求3所述的方法,其特征在于,所述将所述K个资源块对应的K个块标识划分成多个标识组,包括:
依次遍历至少两个关联终端中的各个关联终端,并向当前遍历的当前关联终端发送携带所述K个块标识的第二探测请求,以请求所述当前关联终端返回所述K个资源块中的各个资源块中的指定资源;
接收所述当前关联终端返回的所述各个资源块中的指定资源,并分别记录每个资源块中的指定资源的第二接收时间;
按照标识选取策略,根据记录的第二接收时间从所述K个块标识中确定目标块标识;
若历史遍历的关联终端所对应的标识组中均不包括所述目标块标识,则将所述目标块标识划分至所述当前关联终端对应的标识组中。
6.如权利要求5所述的方法,其特征在于,所述按照标识选取策略,根据记录的第二接收时间从所述K个块标识中确定目标块标识,包括:
按照时间从小到大的选取顺序,根据记录的第二接收时间从所述K个块标识中选取预设数量的块标识作为目标块标识;
或者,获取所述当前关联终端关于各个资源块的响应时延,并根据获取到的响应时延从所述K个块标识中选取目标块标识;所述目标块标识满足如下条件:所述当前关联终端关于所述目标块标识所指示的目标资源块的响应时延小于时延阈值;
其中,所述当前关联终端关于任一资源块的响应时延是指:发送所述第二探测请求的请求时间,与接收到所述任一资源块中的指定资源的第二接收时间之间的时间差。
7.如权利要求5所述的方法,其特征在于,所述方法还包括:
若历史遍历的关联终端中存在历史关联终端对应的标识组中包括所述目标块标识,则获取所述历史关联终端关于所述目标资源块的响应时延,以及获取所述当前关联终端关于所述目标资源块的响应时延;
若所述历史关联终端对应的响应时延小于或等于所述当前关联终端对应的响应时延,则保持所述历史关联终端对应的标识组中包括所述目标块标识;
若所述历史关联终端对应的响应时延大于所述当前关联终端对应的响应时延,则在所述历史关联终端对应的标识组中删除所述目标块标识,并将所述目标块标识添加至所述当前关联终端对应的标识组中。
8.如权利要求1所述的方法,其特征在于,所述若检测到目标资源的获取触发事件,则在目标终端和一个或多个候选终端之间建立近距离通讯连接,包括:
若检测到目标资源的获取触发事件,则调用近距离通讯组件从目标终端所处的目标区域中扫描出多个初始终端,所述初始终端是指支持近距离通讯且支持资源共享的终端;
按照终端选取策略,从所述多个初始终端中选取一个或多个候选终端;
在所述目标终端和各个候选终端之间建立近距离通讯连接。
9.如权利要求8所述的方法,其特征在于,所述近距离通讯组件包括:使用第一通讯协议的第一通讯组件,所述第一通讯协议用于指示:在进行数据传输时,可连接的同一类型下的终端的数量等于1;所述多个初始终端中包括一个或多个第一初始终端,所述第一初始终端是指通过所述第一通讯组件从所述目标区域中扫描出的初始终端;
所述按照终端选取策略,从所述多个初始终端中选取一个或多个候选终端,包括:
若所述多个初始终端中包括多个第一初始终端,且所述多个第一初始终端属于同一类型,则从所述多个第一初始终端中选取一个第一初始终端作为候选终端;
若所述多个初始终端中包括一个第一初始终端,则将所述第一初始终端作为候选终端。
10.如权利要求9所述的方法,其特征在于,所述从所述多个第一初始终端中选取一个第一初始终端作为候选终端,包括:
从所述多个第一初始终端中任意选取一个第一初始终端,作为候选终端;
或者,获取各个第一初始终端的信号强度,并从所述多个第一初始终端中选取信号强度最大的第一初始终端作为候选终端;
或者,获取各个第一初始终端的动态带宽,并从所述多个第一初始终端中选取动态带宽最大的第一初始终端作为候选终端。
11.如权利要求10所述的方法,其特征在于,任一第一初始终端的动态带宽的获取方式,包括:
向所述任一第一初始终端发送资源获取请求,以请求所述任一第一初始终端返回测试数据;
接收所述任一第一初始终端返回的所述测试数据,并统计所述任一第一初始终端传输所述测试数据所消耗的传输时长;
根据所述测试数据的数据量和所述传输时长,计算所述任一第一初始终端的数据传输速率,所述任一第一初始终端的数据传输速率用于反映所述任一第一初始终端的动态带宽。
12.如权利要求所述8所述的方法,其特征在于,所述近距离通讯组件包括:使用第二通讯协议的第二通讯组件,所述第二通讯协议用于指示:在进行数据传输时,可连接的同一类型下的终端的数量大于1;所述多个初始终端中包括一个或多个第二初始终端,所述第二初始终端是指通过所述第二通讯组件从所述目标区域中扫描出的初始终端;
所述按照终端选取策略,从所述多个初始终端中选取一个或多个候选终端,包括:
将所述一个或多个第二初始终端均作为候选终端;
或者,从所述一个或多个第二初始终端中选取部分第二初始终端作为候选终端。
13.如权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到针对目标视频的播放触发操作,则从服务器处查询所述目标视频的视频数据量;
根据所述视频数据量和预设分块尺寸,确定所述目标视频对应的每个资源块的块标识;
根据所述每个资源块的块标识,在所述目标终端的本地空间中检索所述目标视频对应的每个资源块;
若确定所述目标终端的本地空间中缺失所述目标视频对应的K个资源块,则将所述K个资源块作为目标资源,并确定检测到所述目标资源的获取触发事件,K为正整数。
14.一种资源获取装置,其特征在于,包括:
处理单元,用于若检测到目标资源的获取触发事件,则在目标终端和一个或多个候选终端之间建立近距离通讯连接;
通讯单元,用于基于所述目标终端和各个候选终端之间的近距离通讯连接,请求所述各个候选终端在所述各个候选终端的本地空间检索所述目标资源;
所述处理单元,还用于根据所述各个候选终端返回的检索结果,从所述一个或多个候选终端中选取关联终端,所述关联终端是指检索到所述目标资源中的部分或全部资源的候选终端;
所述通讯单元,还用于基于所述目标终端和所述关联终端之间的近距离通讯连接,从所述关联终端中获取所述目标资源中的部分或全部资源。
15.一种终端,包括输入设备和输出设备,其特征在于,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-13任一项所述的资源获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110199204.2A CN115002095B (zh) | 2021-02-22 | 2021-02-22 | 资源获取方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110199204.2A CN115002095B (zh) | 2021-02-22 | 2021-02-22 | 资源获取方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115002095A true CN115002095A (zh) | 2022-09-02 |
CN115002095B CN115002095B (zh) | 2024-08-06 |
Family
ID=83018260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110199204.2A Active CN115002095B (zh) | 2021-02-22 | 2021-02-22 | 资源获取方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115002095B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009089788A1 (fr) * | 2008-01-08 | 2009-07-23 | Huawei Technologies Co., Ltd. | Procédé, dispositif et système permettant la mise en oeuvre de partage de ressources |
CN102801800A (zh) * | 2012-08-03 | 2012-11-28 | 中国联合网络通信集团有限公司 | 多无线终端之间的资源共享处理方法及系统 |
WO2014180233A1 (zh) * | 2013-10-17 | 2014-11-13 | 中兴通讯股份有限公司 | 一种实现资源共享的方法、装置及终端 |
CN109981795A (zh) * | 2019-04-09 | 2019-07-05 | 北京奇艺世纪科技有限公司 | 资源请求调度方法和装置 |
CN111259019A (zh) * | 2020-01-09 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 资源配置方法、装置、设备和存储介质 |
-
2021
- 2021-02-22 CN CN202110199204.2A patent/CN115002095B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009089788A1 (fr) * | 2008-01-08 | 2009-07-23 | Huawei Technologies Co., Ltd. | Procédé, dispositif et système permettant la mise en oeuvre de partage de ressources |
CN102801800A (zh) * | 2012-08-03 | 2012-11-28 | 中国联合网络通信集团有限公司 | 多无线终端之间的资源共享处理方法及系统 |
WO2014180233A1 (zh) * | 2013-10-17 | 2014-11-13 | 中兴通讯股份有限公司 | 一种实现资源共享的方法、装置及终端 |
CN109981795A (zh) * | 2019-04-09 | 2019-07-05 | 北京奇艺世纪科技有限公司 | 资源请求调度方法和装置 |
CN111259019A (zh) * | 2020-01-09 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 资源配置方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115002095B (zh) | 2024-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105580385B (zh) | 频道接入方法和系统 | |
CN105827694B (zh) | 网络资源的获取方法和装置 | |
KR20100048571A (ko) | 다중 사용자-다중 서비스 제공 방법, 장치 및 시스템 | |
CN104869143A (zh) | 资料分享方法、装置、客户端和服务器 | |
CN103686591A (zh) | 获取位置信息的方法和系统 | |
CN112492372B (zh) | 评论消息的显示方法、装置、电子设备、系统及存储介质 | |
CN109413759B (zh) | 一种用于进行无线连接的方法与设备 | |
CN114064275A (zh) | 数据处理方法及装置 | |
EP2856728B1 (en) | A method, a server and a computer program for local discovery | |
CN114338769B (zh) | 访问请求的处理方法及装置 | |
CN104753933A (zh) | 一种数据处理方法、装置、客户端及服务器 | |
CN110798495A (zh) | 用于在集群架构模式下端到端的消息推送的方法和服务器 | |
CN115002095B (zh) | 资源获取方法、装置、终端及存储介质 | |
CN111262779A (zh) | 即时通讯中数据的获取方法、装置、服务器及系统 | |
KR20150029807A (ko) | 전화번호 기반의 친구 확인 장치 및 방법 | |
CN104509071B (zh) | 处理请求 | |
CN115587860A (zh) | 业务处理方法、装置、存储介质及电子设备 | |
CN111464574A (zh) | 调用、加载、注册、管理方法和路由、服务器、节点和介质 | |
CN110677489B (zh) | 媒体资源处理方法、装置、系统及存储介质 | |
CN107360534B (zh) | 一种用于建立无线连接的方法与设备 | |
CN114071652B (zh) | 一种绑定关系的建立方法以及相关设备 | |
CN109962834A (zh) | 信息处理方法、系统、终端和计算机存储介质 | |
CN108306812A (zh) | 一种数据处理方法以及服务器 | |
CN113783963A (zh) | 数据传输方法、服务器节点、网关设备、网络系统 | |
CN105897681A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40073951 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |