CN116709549A - 资源共享方法、装置、电子设备及可读存储介质 - Google Patents
资源共享方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116709549A CN116709549A CN202310977613.XA CN202310977613A CN116709549A CN 116709549 A CN116709549 A CN 116709549A CN 202310977613 A CN202310977613 A CN 202310977613A CN 116709549 A CN116709549 A CN 116709549A
- Authority
- CN
- China
- Prior art keywords
- resource
- target
- receiving device
- application
- sharing
- 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 91
- 238000004891 communication Methods 0.000 claims abstract description 113
- 230000005540 biological transmission Effects 0.000 claims abstract description 78
- 238000009434 installation Methods 0.000 claims description 52
- 230000015654 memory Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 12
- 238000005538 encapsulation Methods 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 22
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 17
- 230000007613 environmental effect Effects 0.000 description 9
- 230000003993 interaction Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 5
- 230000006855 networking Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008649 adaptation response Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/535—Allocation or scheduling criteria for wireless resources based on resource usage policies
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/20—Control channels or signalling for resource management
- H04W72/25—Control channels or signalling for resource management between terminals via a wireless link, e.g. sidelink
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种资源共享方法、装置、电子设备及计算机可读存储介质,涉及近场通讯技术;方法包括:确定处于共享范围内的至少一个候选接收设备;基于针对目标应用的资源共享条件,从至少一个候选接收设备中确定至少一个目标接收设备;根据目标应用在发送设备中关联的第一资源,以及目标应用在至少一个目标接收设备中关联的第二资源之间的资源差异,确定各个目标接收设备分别对应的目标资源;基于发送设备与目标接收设备之间的近场通讯连接,将目标资源传输至对应的目标接收设备,以使得目标接收设备基于目标资源执行与目标应用关联的操作。通过本申请,能够提高资源共享速度,实现快速的数据传输。
Description
技术领域
本申请涉及近场通讯技术,尤其涉及一种资源共享方法、装置、电子设备及计算机可读存储介质。
背景技术
游戏应用因存在大量游戏资源,如美术素材等等,导致游戏包较大。且随着游戏品质的提高,游戏画面越来越精美细致,游戏玩法更加丰富多样,游戏客户端应用占用的存储空间也越来越大,用户下载时的耗时和流量耗费也随之增大。
相关技术中,用户没有最新版本的游戏应用时,需要耗费较长时间下载更新的游戏资源再加载更新,或需要去应用商店、游戏官方网站等渠道下载并安装最新的游戏应用、下载并加载资源。往往耗费较长等待时间,如果用户没有在Wi-Fi环境下载或更新游戏,还会耗费用户较多手机流量,很有可能导致用户直接放弃下载游戏、人机交互差,对于游戏来说也是用户流失,且游戏的下载或更新速度慢。
发明内容
本申请实施例提供一种资源共享方法、装置、电子设备及计算机可读存储介质,能够减少资源传输过程中针对网络流量的依赖,提高资源传输效率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种资源共享方法,应用于发送设备,包括:确定处于共享范围内的至少一个候选接收设备,所述共享范围,用于表征所述发送设备能够基于近场通讯连接与任一电子设备进行资源传输的范围;基于针对目标应用的资源共享条件,从所述至少一个候选接收设备中确定至少一个目标接收设备;根据所述目标应用在所述发送设备中关联的第一资源,以及所述目标应用在所述至少一个目标接收设备中关联的第二资源之间的资源差异,确定各个目标接收设备分别对应的目标资源,所述目标资源,为所述目标应用关联的部分或全部资源;基于所述发送设备与所述目标接收设备之间的近场通讯连接,将所述目标资源传输至对应的目标接收设备,以使得所述目标接收设备基于所述目标资源执行与所述目标应用关联的操作。
本申请实施例提供一种资源共享装置,包括:第一确定模块,用于确定处于共享范围内的至少一个候选接收设备,所述共享范围,用于表征发送设备能够基于近场通讯连接与任一电子设备进行资源传输的范围;第二确定模块,用于基于针对目标应用的资源共享条件,从所述至少一个候选接收设备中确定至少一个目标接收设备;第三确定模块,用于根据所述目标应用在所述发送设备中关联的第一资源,以及所述目标应用在所述至少一个目标接收设备中关联的第二资源 之间的资源差异,确定各个目标接收设备分别对应的目标资源,所述目标资源,为所述目标应用关联的部分或全部资源;资源传输模块,用于基于所述发送设备与所述目标接收设备之间的近场通讯连接,将所述目标资源传输至对应的目标接收设备,以使得所述目标接收设备基于所述目标资源执行与所述目标应用关联的操作。
本申请实施例提供一种资源共享装置,包括:
响应模块,用于响应于接收到发送设备发送的连接建立请求,建立与所述发送设备间的近场通讯连接;
接收模块,用于通过所述近场通讯连接,接收所述发送设备通过资源共享操作所共享的目标应用关联的目标资源;其中,所述目标资源,是基于所述目标应用在所述发送设备中关联的第三资源,与所述目标应用在接收设备中关联的第四资源之间的资源差异所确定的;所述目标资源,为部分或全部所述第三资源;
执行模块,用于基于所述目标资源,执行与所述目标应用关联的操作。
上述方案中,若所述目标资源为全部所述第三资源,所述接收模块,还用于存放所述目标资源至第一存放路径;
若所述目标资源为部分所述第三资源,所述接收模块,还用于存放所述目标资源至第二存放路径;
其中,所述第一存放路径不同于所述第二存放路径;
上述方案中,所述执行模块,还用于从所述第一存放路径读取所述目标资源,并基于所述目标资源,执行针对所述目标应用的安装操作;
从所述第二存放路径读取所述目标资源,并基于所述目标资源,执行针对所述目标应用的更新操作。
本申请实施例提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序时,实现本申请实施例提供的资源共享方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机程序,用于引起处理器执行时,实现本申请实施例提供的资源共享方法。
本申请实施例具有以下有益效果:
应用本申请实施例,通过利用近距离通讯技术从处于共享范围内的电子设备处获取目标资源,不仅可有效节省电子设备的网络资源且减轻流量压力,还可在一定程度上减轻资源共享时对电子设备侧的网络环境的依赖性,从而有效提升资源共享成功率和资源共享效率;尤其是针对处于弱网环境的目标接收设备而言,可有效加速目标资源的共享进度。
附图说明
图1是本申请实施例提供的资源共享系统的架构示意图;
图2A-2B是本申请实施例提供的电子设备的结构示意图;
图3是本申请实施例提供的资源共享方法的流程示意图;
图4是本申请实施例提供的针对接收设备的扫描方法流程图;
图5是本申请实施例提供的候选接收设备列表示意图;
图6是本申请实施例提供的资源共享请求的显示界面示意图;
图7是本申请实施例提供的资源差异的确定方法流程图;
图8是本申请实施例提供的资源差异的确定方法的另一流程图;
图9是本申请实施例提供的基于接口的资源共享方式方法示意图;
图10是本申请实施例提供的接收设备对应的资源共享的流程示意图;
图11是本申请实施例提供的请求提示信息显示示意图;
图12是本申请实施例提供的资源共享过程实现方法示意图;
图13是本申请实施例提供的应用已安装时资源共享过程的时序图;
图14是本申请实施例提供的应用未安装时资源共享过程示意图;
图15是本申请实施例提供的应用未安装时资源共享过程中的时序图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)近场通讯:一种近距离的高频无线通信技术,可用距离约为10厘米,可以实现电子身份识别或者数据传输,比如信用卡、门禁卡等功能。近场通讯是指应用在近距离的通讯技术,其可包括但不限于:NFC(Near Field Communication,近场通信)技术、蓝牙(bluetooth)和WIFI(Wi-Fi,无线上网)等等。基于近场通讯技术所研发出的组件可称为近距离通讯组件,其可包括但不限于:NFC组件、蓝牙组件和WIFI组件等等。这些近距离通讯组件可被内置在任一终端中,使得该任一终端可具有近场通讯功能,从而使得该任一终端可基于该近场通讯功能和附近的设备进行近距离通讯;此处的近距离通讯是指:通过无线电波传输数据且传输距离小于距离阈值的通讯。近场通讯是指应用在近距离,其中,NFC是一种支持通信距离为几厘米、十几厘米或者几十厘米的短距离的高频。无线通信技术;其是在非接触式射频识别(RFID)技术的基础上,结合无线互连技术所研发出的技术,且NFC中文名称中的“近场”是指临近电磁场的无线电波。蓝牙是一种支持通信距离为十米或者几十米的无线电通信技术;其可为固定设备或移动设备之间的通信环境建立通用的无线电空中接口(Radio Air Interface),将通信技术与计算机技术进一步结合起来,使各种设备在没有电线或电缆相互连接的情况下,能在近距离范围内实现相互通信或操作。WIFI是一种支持通信距离为十几米、或者几十米的无线联网技术;其主要可通过无线电波来实现联网,如果某个设备发射了WIFI信号,那么在该设备的电波覆盖的有效范围内的其他设备均可采用WIFI连接方式进行联网。
2)快传:游戏利用近场通讯技术快速共享游戏程序包或者资源包。快传软件开发包(SDK,Software Development Kit):具有快传能力的SDK。实现方为终端设备的厂商,负责提供快传相关接口能力。厂商提供快传SDK后,TGPA侧将该SDK集成,并在快传过程中使用该SDK提供的能力。
3)TGPA SDK是游戏提供商的游戏平台软件开发工具包,集成在游戏应用中的SDK。在本申请中,用于负责近场通讯传输文件的初始化连接过程,对接游戏将共享文件等信息组织起来(游戏在该快传过程中负责提供:打包所需要共享的文件和相关信息),并调用快传SDK接口相关能力进行传输共享。
4)系统快传模块:在安卓手机系统中的快传模块,实现方为厂商。当近场通讯的接收方没有游戏时,即当近场通讯的接收方不存在快传SDK(TGPA SDK集成在游戏中,快传SDK集成在TGPA SDK中,没有游戏自然也就没有快传SDK),此时近场通讯的发送方与系统快传模块直接建立连接并通信。
基于上述对本申请实施例中涉及的名词和术语的解释,下面说明本申请实施例提供的资源共享系统。参见图1,图1是本申请实施例提供的资源共享系统的架构示意图,为实现支撑一个资源共享应用,终端(示例性示出了终端400-1和终端400-2)为共享范围内部署有一个或多个近距离通讯组件的任意电子设备,并通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输,例如基于第四代移动通信技术(the 4th generation mobile communication technology,4G)、第五代移动通信技术(5th generation mobile networks,5G)、长期演进(Long TermEvolution,LTE)等等。每个终端内均可运行用于各式各样的资源业务的客户端(APP,application),如游戏类客户端、视频播放业务的视频播放客户端、提供社交业务的社交客户端、提供资讯浏览业务的浏览器客户端等等。另外,任意两个终端之间均可通过内置的近场(或称近距离)通讯组件建立近场通讯连接,并基于该近场通讯连接进行资源共享。需要说明的是,当任意两个终端之间通过内置的近场通讯(如WIFI)组件建立近场通讯连接时,需要其中一个终端(设终端A)作为发送设备来发射WIFI信号,基于近场通讯确定的共享范围内的至少一个其他终端作为接收设备,通过连接该WIFI信号,实现在这两个终端之间建立近场通讯连接;此时,这两个终端可认为是处于同一个虚拟的局域网内,这两个终端基于该近场通讯连接进行资源共享时,无需占用终端的网络资源。也就是说,共享范围是指发送设备能够基于近场通讯连接与任一电子设备进行资源传输的范围。
在实际实施时,终端400-1,作为基于近场通讯连接的资源共享系统的发送设备,安装有目标应用客户端,且存放有该应用客户端对应的第一资源(如应用客户端的最新版本的资源),用于确定处于共享范围内的至少一个候选接收设备;基于针对目标应用的资源共享条件,从至少一个候选接收设备中确定至少一个目标接收设备;根据目标应用在发送设备中关联的第一资源,以及目标应用在至少一个目标接收设备中关联的第二资源之间的资源差异,确定各个目标接收设备分别对应的目标资源,其中,当目标接收设备未安装目标应用时,目标资源为全部第一资源。最后,基于与目标接收设备之间的近场通讯连接,将目标资源传输至对应的目标接收设备,以使得目标接收设备基于目标资源执行与目标应用关联的操作。
终端400-2,作为基于近场通讯连接的资源共享系统的目标接收设备,响应于发送设备发送的连接建立请求,通过自身部署的近场通讯组件,建立与发送设备(如400-1)间的近场通讯连接;通过该近场通讯连接,接收发送设备通过资源共享操作所共享的目标应用关联的目标资源;若接收设备未安装目标应用,则将目标资源存放至第一存放路径,并基于目标资源,安装该目标应用;若接收设备已安装目标应用,则将目标资源存放至第二存放路径,然后接收到针对目标应用的更新指令,从第二存放路径中读取目标资源,以更新目标应用。
服务器200,用于提供目标应用的资源服务、数据存储服务等多种服务的服务设备;此处的资源服务是指一种支撑目标应用提供相关资源业务的服务,如支撑视频播放客户端提供视频播放业务的视频播放服务、支撑社交客户端提供的社交业务的社交服务等。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,ContentDelivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
接下来对本申请实施例提供的用于实施上述资源共享方法的电子设备进行说明,图2A-2B是本申请实施例提供的电子设备的结构示意图,在实际应用中,电子设备500可以实施为图1中的终端或服务器,以电子设备为图1所示的任一电子设备为例,对实施本申请实施例的资源共享方法的电子设备进行说明。图2A或图2B所示的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2A(或图2B)中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的资源共享装置可以采用软件方式实现,图2A示出了发送设备中存储在存储器550中的资源共享装置555,其可以是程序和插件等形式的软件,包括以下软件模块:第一确定模块5551、第二确定模块5552、第三确定模块5553和资源传输模块5554;图2B示出了接收设备中存储在存储器550中的资源共享装置556,其可以是程序和插件等形式的软件,包括以下软件模块:响应模块5561、接收模块5562和执行模块5563。这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的资源共享装置可以采用硬件方式实现,作为示例,本申请实施例提供的资源共享装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的资源共享方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
基于上述对本申请实施例提供的资源共享系统及电子设备的说明,下面说明本申请实施例提供的资源共享方法。在一些实施例中,本申请实施例提供的资源共享方法可由至少两个终端单独实施,或由服务器及至少两个终端协同实施。在一些实施例中,终端或服务器可以通过运行计算机程序来实现本申请实施例提供的资源共享方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,如支持虚拟场景的客户端,如游戏APP;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
下面以作为发送设备的终端实施为例说明本申请实施例提供的资源共享方法。参见图3,图3是本申请实施例提供的资源共享方法的流程示意图,本申请实施例提供的资源共享方法包括:
步骤101:发送设备确定处于共享范围内的至少一个候选接收设备。
需要说明的是,共享范围,用于表征发送设备能够基于近场通讯连接与任一电子设备进行资源传输的范围。
在实际实施时,基于近场通讯连接的资源共享系统中的发送设备,通过内置的近场通讯组件确定相应的共享范围,共享范围可以是指以发送设备的地理位置为起点,能够基于近场通讯组件进行近场通讯连接的区域,该共享范围内的具备近场通讯功能的任一电子设备,能够与发送设备进行资源共享。例如,在人群密集区域(如商场)内,用户A持有的发送设备(如手机)部署有组队游戏对应的目标应用,用户A想要与其他人组队进行游戏,可以点击组队游戏的显示界面中“附近”按钮,发送设备响应于该操作,调用自身内置的NFC、蓝牙、WIFI等近场通讯组件,在共享范围内,扫描附近的部署有该目标应用或符合该目标应用安装环境的至少一个候选接收设备,然后向候选接收设备发送“游戏组队”请求。
在一些实施例中,参见图4,图4是本申请实施例提供的针对接收设备的扫描方法流程图,基于图3,步骤101可通过步骤1011至1012实现。
步骤1011:发送设备接收到针对共享范围内的至少一个候选接收设备的设备查找指令,执行针对共享范围内的任一电子设备的设备扫描操作。
在实际实施时,当存在针对目标应用的资源共享需求时,为了确定资源共享的至少一个候选接收设备,发送设备通常会接收到针对共享范围内的至少一个候选接收设备的设备查找指令,其中,针对设备查找指令的触发可以是基于设备查找功能项触发的,例如,点击目标应用启动界面上的“附近”按钮等。发送设备根据该设备查找指令,在共享范围内,执行针对任一电子设备的设备扫描操作,发送设备的设备扫描操作是用于筛选共享范围内能够与自身基于近场通讯连接进行资源共享的电子设备。若电子设备内部未集成近场通讯组件,则该电子设备不响应发送设备的设备扫描操作。
在一些实施例中,发送设备可以通过以下方式实现该设备扫描操作:此时,目标应用内部集成有共享组件,共享组件,是用于提供实现基于近场通讯连接的资源共享功能的至少一个接口;接口包括设备扫描接口,相应的,发送设备通过设备扫描接口,执行针对共享范围内的任一电子设备的设备扫描操作。
在实际实施时,目标应用内部可以集成用于实现资源共享的共享组件,该共享组件是由至少一个接口组成,这些接口用于协同实现基于近场通讯连接的资源共享功能。需要说明的是,共享组件也可以包括实现发送设备所集成的近场通讯组件的相关接口,如近场通讯连接接口。也就是说,电子设备内部安装有目标应用时,除了通过电子设备集成的近场通讯组件建立近场通讯连接,还可以通过目标应用集成的共享组件实现近场通讯连接。针对设备扫描操作,共享组件提供设备扫描接口,即发送设备通过调用共享组件提供的设备扫描接口,执行针对共享范围内的任一电子设备的设备扫描操作。
步骤1012:响应于设备扫描操作的扫描结果,确定共享范围内的至少一个候选接收设备。
在实际实施时,发送设备执行设备扫描操作得到的扫描结果中可以包括至少一个候选接收设备,每个候选接收设备对应一个设备实体(可定义为DeviceInfo),每个设备实体包括至少一个设备属性,如设备标识、设备地址等。
在一些实施例中,发送设备还可以在目标应用的显示界面中,显示至少一个候选接收设备。
在实际实施时,为了便于用户查看候选接收设备,发送设备可以在目标应用的显示界面中,采用可视化方式显示至少一个候选设备。
示例性地,参见图5,图5是本申请实施例提供的候选接收设备列表示意图,以游戏应用为例,游戏启动成功后,在游戏的显示界面中显示编号1示出的“附近”按钮,点击该按钮,触发针对共享范围的设备扫描指令,发送设备执行设备扫描操作,设备扫描操作完成后,在显示界面中,显示编号2示出的至少一个候选接收设备。
步骤102:基于针对目标应用的资源共享条件,从至少一个候选接收设备中确定至少一个目标接收设备。
在实际实施时,发送设备根据针对目标应用的资源共享条件,从至少一个候选接收设备中确定至少一个目标接收设备,即确定需要从发送设备获取目标应用的资源的接收设备。候选接收设备可以是部署有该目标应用的电子设备,也可以是未部署该目标应用的电子设备。
在一些实施例中,针对目标应用的资源共享条件,包括以下至少之一:
接收到共享范围内的至少一个候选接收设备的资源共享请求;
接收到针对目标应用的显示界面中所显示的资源共享入口的触发操作。
示例性地,参见图6,图6是本申请实施例提供的资源共享请求的显示界面示意图,在接收设备的相关界面中,显示针对游戏应用的组队请求的提示信息“发送方A邀请您组队参加游戏P,您是否同意?”,响应于接收方点击“同意”,此时,发送方A对应的发送设备接收到资源共享请求,发送设备确定该接收设备符合针对该游戏应用的资源共享条件,将该接收设备作为目标接收设备。
步骤103:根据目标应用在发送设备中关联的第一资源,以及目标应用在至少一个目标接收设备中关联的第二资源之间的资源差异,确定各个目标接收设备分别对应的目标资源。
需要说明的是,目标资源,为目标应用关联的部分或全部资源;目标应用关联的资源在电子设备中可以采用任一类型的文件表示,目标应用的资源包括至少一个文件,每个文件对应一个文件标识。
在实际实施时,发送设备确定目标接收设备之后,进一步需要确定向目标设备发送的目标资源,由于每个目标接收设备对应一个设备实体,该发送设备通过读取设备实体所包括的设备参数属性、与目标应用关联的应用部署属性,确定目标接收设备需要发送设备共享的目标资源。设备参数属性可以包括设备操作系统参数、设备存储空间参数、设备电量消耗参数等,应用部署属性可以用于指示目标应用在接收设备中的安装状态(已安装或未安装),若目标应用已安装,应用部署属性还包括目标应用关联的第一资源,第一资源具体可以目标应用的版本号、以及目标应用关联的至少一个文件的文件标识。发送设备根据自身关联的目标应用的第一资源,以及基于目标接收设备的设备实体确定的目标应用在目标接收设备中的第一资源的差异,确定当前目标接收设备的目标资源。
在一些实施例中,参见图7,图7是本申请实施例提供的资源差异的确定方法流程图,结合图7示出的步骤进行说明,
步骤201:发送设备确定目标应用在发送设备中所处的第一环境信息。
在实际实施时,发送设备确定自身部署目标应用的第一环境信息,第一环境信息是指在发送设备能够部署且成功运行目标应用的设备信息,以及当前发送设备所部署的目标应用的版本号等,第一环境信息主要包括适配部署和运行目标应用的发送设备的设备参数、目标应用关联的第一资源的版本号等。其中,设备参数至少包括设备操作系统参数、设备存储空间参数、设备电量消耗参数等。
步骤202:接收目标接收设备发送的目标应用对应的第二环境信息、目标应用在目标接收设备中的目标安装状态、以及目标应用关联的第二资源的指示信息。
在实际实施时,发送设备从目标接收设备对应的设备实体中读取目标应用在目标接收设备中的第二环境信息,第二环境信息是指目标接收设备为了部署或运行目标应用所能提供的设备信息,以及该目标机接收设备所能部署的目标应用的应用版本。发送设备还从该设备实体中读取目标应用的安装状态,以及目标应用关联的第二资源的指示信息。需要说明的是,第二资源可以采用任何类型的文件形式表示,第二资源的指示信息,可以是第二资源所包括的任一文件的文件标识。
步骤203:当第一环境信息与第二环境信息相适配时,结合目标安装状态,基于第一资源与第二资源的指示信息,确定目标应用在发送设备中关联的第一资源与第二资源之间的资源差异。
在实际实施时,若目标接收设备的第二环境信息与第一环境信息相适配,表明目标接收设备具备部署或更新目标应用的条件,此时,发送设备结合目标应用在目标接收设备中的目标安装状态,根据第二资源的指示信息,确定发送设备与目标接收设备中目标应用的资源差异。若目标接收设备的第二环境信息与第一环境信息不适配,不能与该目标接收设备进行针对该目标应用的资源共享操作。
在一些实施例中,当目标安装状态为已安装,且第一资源的第一版本号高于第二资源的第二版本号时,对第一资源所包括的至少一个第一文件,与第二资源所包括的至少一个第二文件进行比对,将比对结果作为资源差异,比对结果包括至少一个目标第一文件;
当目标安装状态为未安装时,确定第一资源作为资源差异。
在实际实施时,若目标接收设备针对目标应用的目标安装状态为未安装时,说明该目标接收设备满足部署目标应用的环境信息,但并未部署目标应用。此时,第一资源就是发送设备与目标接收设备之间针对目标应用的资源差异,也就是说第一资源就是要向目标接收设备进行资源共享的目标资源。若目标安装状态为已安装,说明该目标接收设备中已经部署了该目标应用,可以进一步根据资源差异进行目标应用的更新操作,也就是说,若存在资源差异,可以在接收到目标接收设备的资源共享请求后,向目标接收设备发送根据资源差异确定的目标资源,以使目标接收设备更新自身部署的目标应用。发送设备比对第一资源的版本号以及第二资源的版本号,若第一资源的版本号高于第二资源的版本号,说明存在资源差异,此时,发送设备获取第一资源关联的每个第一文件的文件标识以及第二文件大小,并基于目标接收设备对应的设备实体中的应用部署属性,获取每个第二文件的文件标识以及第二文件大小,当第一文件的文件标识与第二文件的文件标识相同,但文件属性(包括文件内容、文件大小中至少之一)不同时,第一文件与第二文件存在资源差异;在目标接收设备中不存在的第一文件的文件标识是新增的文件,属于资源差异;在目标接收设备中存在文件标识,但在接收设备中不存在的文件标识是被删除的文件,属于资源差异。
在实际实施时,发送设备确定资源差异之后,可以对第一版本号与资源差异进行封装,得到目标接收设备对应的目标资源。目标资源是基于近场通讯连接,由发送设备向目标接收设备进行资源共享的至少一个资源实体,即目标资源在技术实现时可以采用资源实体的方式进行量化,目标资源可以包括至少一个资源实体。发送设备将目标资源封装成至少一个资源实体发送至接收设备,以使接收设备解析至少一个资源实体,并执行与目标应用关联的操作,如更新目标应用或安装目标应用等。
在一些实施例中,参见图8,图8是本申请实施例提供的资源差异的确定方法的另一流程图,当所述目标安装状态为已安装时,结合图8示出的步骤说明资源差异的确定方式。
步骤2031,发送设备获取第一资源的当前版本号。
在实际实施时,发送设备获取自身部署的目标应用的第一资源的当前版本号,也就是安装的目标应用的版本。
步骤2032,接收目标接收设备中用于更新目标应用的目标资源所关联的至少一个更新版本号。
在实际实施时,由于目标应用在不同终端设备上的最佳适配品质不同,所以导致不同终端设备上最合适使用的目标应用的资源不同,为了确定与目标接收设备的目标应用适配的资源,发送设备对待共享的目标应用的资源进行适用的判断:目标接收设备中对于目标应用可适配的版本号可能是一个版本号列表(包括适用于当前目标接收设备的多个更新版本号)或者版本号范围,如果发送设备上安装的目标应用的版本号属于该版本号列表或者版本号范围内,则认为当前待共享的资源与目标接收设备相适配。需要说明的是,若目标接收设备中的还另外需要与目标应用关联的其他资源,而该其他资源在发送设备中不存在时,还可以向目标应用的服务器或其他具有该其他资源的发送设备请求。
步骤2033,若至少一个更新版本号包括当前版本号,从第一资源中,选择目标资源。
需要说明的是,目标资源为部分第一资源。
在实际实施时,发送设备确定当前版本号适用于目标接收设备时,从第一资源中,选择相应的目标资源,资源以文件形式存在时,可以根据文件属性(文件标识、文件内容、文件大小中至少之一)间的差异,从第一资源中,选择适配的至少一个文件作为目标资源。
步骤104:基于发送设备与目标接收设备之间的近场通讯连接,将目标资源传输至对应的目标接收设备,以使得目标接收设备基于目标资源执行与目标应用关联的操作。
在实际实施时,发送设备在确定目标资源之后,可以通过与目标接收设备之间的近场通讯连接,直接将目标资源共享至目标接收设备,基于近场通讯连接的资源共享方式,发送设备可以快捷的将目标资源共享至共享范围内的终端设备上,接收设备不用再通过应用商店下载或目标应用内更新,也不再需要网络条件(Wi-Fi或是流量充足)以及等待较长时间,即可在自己的终端设备上快速拥有一个最新版本的目标应用。如此,不仅节省了目标资源的下载时间,也能节省流量。
在一些实施例中,发送设备中集成的共享组件所提供的接口还包括以下至少之一:资源封装接口、资源共享接口,相应的,参见图9,图9是本申请实施例提供的基于接口的资源共享方式方法示意图,基于图3,步骤104可由步骤1041-1042实现。
步骤1041:通过资源封装接口,对目标资源进行封装,得到至少一个资源实体。
步骤1042:基于发送设备与目标接收设备之间的近场通讯连接,通过资源共享接口,将至少一个资源实体,传输至对应的目标接收设备。
在实际实施时,若发送设备内部集成有共享组件,共享组件还可以提供资源封装接口,以及资源共享接口,其中,资源封装接口可以对目标资源进行封装,得到目标资源对应的至少一个资源实体。发送设备得到至少一个资源实体后,通过资源共享接口,将资源实体传输至目标接收设备,实现针对目标应用的资源共享。
在一些实施例中,发送设备在目标资源的传输过程中,周期性地确定目标资源的发送进度。在一些实例中,发送设备还可以在目标应用的显示界面中,显示发送进度。
在实际实施时,发送设备还可以周期性地确定目标资源的发送进度,并在目标应用的相应的显示界面中,显示该发送进度,如此,能够直观显示目标任务的传输进度。
上述发送设备基于近场通讯连接,向目标接收设备共享目标资源的方式,可以快捷的将目标资源共享至共享范围内的终端设备上,不仅节省了目标资源的传输时间,以及针对网络环境的依赖。
下面以作为接收设备的终端实施为例说明本申请实施例提供的资源共享方法。参见图10,图10是本申请实施例提供的接收设备对应的资源共享的流程示意图,本申请实施例提供的资源共享包括:
在步骤301中,接收设备响应于发送设备发送的连接建立请求,建立与发送设备间的近场通讯连接。
在实际实施时,处于发送设备关联的共享范围内的任一接收设备接收到发送涉笔发送的连接建立请求,解析该连接建立请求中携带的目标应用的应用标识,以及请求提示信息,接收设备根据自身实际情况,确定是否接收该连接建立请求,若接收,则与发送设备建立近场通讯连接。连接建立请求关联的请求提示信息可以显示在接收设备的显示界面上,或以系统消息的方式提示接收设备的用户。
示例性地,参见图11,图11是本申请实施例提供的请求提示信息显示示意图,图中示出的是接收设备的终端界面,图中编号1示出的是以系统消息显示的连接建立请求的请求提示信息“用户邀请您参与****游戏,请求与您建立连接”。
在步骤302中,通过近场通讯连接,接收发送设备通过资源共享操作所共享的目标应用关联的目标资源。
其中,目标资源,是基于目标应用在发送设备中关联的第三资源,与目标应用在接收设备中关联的第四资源之间的资源差异所确定的;目标资源,为部分或全部第三资源。
在实际实施时,当在建立与发送设备间的近场通讯连接后,目标接收设备接收到发送设备共享的目标资源。需要说明的是,在接收目标资源之前,目标接收设备基于针对连接建立请求的同意响应,还会向发送设备发送自身设备的环境信息、以及目标应用关联的第四资源的指示信息,若目标接收设备未安装目标应用,则第四资源的指示信息为空,若目标接收设备安装有目标应用,第四资源的指示信息可以包括自身部署的目标应用的版本号,第四资源关联的每个文件的文件标识、文件大小等,以使发送设备基于第四资源的指示信息、以及发送设备中目标应用关联的第三资源,确定目标资源。
在步骤303中,基于目标资源,执行与目标应用关联的操作。
在实际实施时,目标接收设备基于从发送设备接收到的目标资源,以及目标应用的安装状态,确定针对目标应用的操作。若安装状态为未安装,则直接基于目标资源安装目标应用,即执行针对目标应用的安装操作,若安装状态为已安装,则基于目标资源更新目标应用,即执行针对目标应用的更新操作。
在一些实施例中,若目标资源为全部第三资源,存放目标资源至第一存放路径;若目标资源为部分第三资源,存放目标资源至第二存放路径;其中,第一存放路径不同于所述第二存放路径。
在一些实施例中,接收设备可以通过以下方式执行与目标应用关联的操作:从第一存放路径读取目标资源,并基于目标资源,执行针对目标应用的安装操作。
从第二存放路径读取目标资源,并基于目标资源,执行针对目标应用的更新操作。
在实际实施时,目标应用的安装状态为未安装,此时目标资源为全部第三资源,接收设备将目标资源统一存放在第一存放路径(即特定目录)下(如终端设备文件夹的Download目录),之后可能在这个特定目录下使用目标资源执行针对目标应用的安装,在接收设备中生成该目标应用的安装目录。
若目标应用的安装状态为已安装,此时目标资源为部分第三资源,接收设备会将目标资源统一存放在第二存放路径下(即更新目录),第二存放路径中存放用于对目标应用进行更新的资源。也就是说,只有更新资源存放在第二存放路径下,目标应用的主线程,才能找到目标资源,并利用目标资源更新目标应用,而不用再联网下载目标应用的更新资源,从而有效节约流量,提升更新速度。
在一些实施例中,在目标资源的接收过程中,接收设备周期性地确定目标资源的接收进度;接收设备在目标应用的显示界面中,显示目标资源的接收进度。
在实际实施时,在目标资源的共享过程中,接收设备可以周期性(每间隔一定时间,如2秒、5秒等)地获取目标资源的接收进度,若是目标应用安装则可以在系统通知栏处进行可视化显示,若目标应用已安装,在目标应用的显示界面中显示接收进度,如此,能够在接收设备中直观显示目标任务的接收进度。
应用本申请实施例,基于近场通讯连接,已经下载好目标版本的目标应用的发送设备,可以快速共享目标应用的程序包或者资源包给处于共享范围内的接收设备,接收设备可以快速获取目标应用的相关资源,进行目标应用的安装或更新,此时接收设备不用再通过应用商店下载目标应用的资源,能够降低流量的使用,即接收设备可以快速拥有一个与发送设备相适配的目标应用。如此,不仅提升了安装或更新目标应用的人工交互体验,也提高了用户下载或更新目标应用的积极性。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。以目标应用为线下组队游戏为例,说明本申请实施例提供的资源共享方法,在该场景中,多个游戏客户端间能够基于近场通讯连接实现针对线下组队游戏的资源共享。当其中一个游戏用户有最新版本的游戏客户端(即前文中的目标应用)时,可以通过本申请实施例提供的资源共享方法,将该游戏用户最新版本的游戏客户端或最新资源更新文件,传输给其他想玩该游戏的用户,从而整体提升组队用户游戏体验。需要说明的是,除了应用于线下组队游戏场景,还可以应用于电竞比赛游戏安装、线下游戏推广体验等等场景。
相关技术中,对于用户终端设备上没有安装游戏应用的情况,用户下载游戏只能从应用商店、游戏官方网站等渠道下载并安装最新的游戏应用,下载并加载资源的流程,才能玩到游戏;对于用户终端设备上已经安装了游戏但不是游戏最新版本的情况,用户只能进入游戏中等待游戏更新资源的下载以及加载过程。无论是以上哪种情况,都会耗费较长等待时间,如果用户没有在Wi-Fi环境下载或更新游戏,还会耗费用户较多手机流量,如此,很有可能导致用户直接放弃下载游戏、产生不好的体验,对于游戏来说也是用户流失。
基于此,本申请实施例提供一种资源共享方法,该方法利用近场通讯技术,已经下载好最新版本游戏的发送设备,快速共享游戏程序包或者资源包给附近接收设备,接收设备不用再通过应用商店下载或游戏内更新,也不再需要网络条件(如流量充足)以及等待较长时间,即可在自己的终端设备上快速拥有一个最新版本的游戏客户端。如此,不仅提升了用户安装或更新游戏的体验,也调动了用户下载或更新游戏的积极性,提升新用户玩游戏成为游戏用户的可能性,提升老用户回归的积极性。
在实际实施时,本申请实施例提供的资源共享方法,可以由游戏应用,游戏关联的相关的TGPA SDK、快传SDK(即前文中的共享组件)、终端设备所集成的系统快传模块等四个角色共同实施。在进行基于近场通讯连接的资源共享时,首先判断接收设备是否已安装游戏应用。其中,本申请实施例中的TGPA SDK是集成在游戏应用中的SDK,用于负责近场通讯传输文件的初始化连接过程,对接游戏将共享文件等信息组织起来(游戏在该快传过程中负责提供打包所需要共享的文件和相关信息),并调用快传SDK接口相关能力进行传输共享。快传SDK是由设备厂商实现的具有快传能力的SDK,用于负责提供快传相关接口能力。TGPA SDK集成该快传SDK,并在快传过程(即资源共享过程)中调用快传SDK提供的相关接口。系统快传模块是由终端厂商所提供的终端系统中的快传模块,由于TGPA SDK集成在目标应用中,快传SDK集成在TGPA SDK中,若接收设备中未安装游戏应用,接收设备中不存在快传SDK,此时近场通讯的发送设备与接收设备中的系统快传模块直接建立连接并通信。
针对接收设备已安装游戏应用的情况,参见图12,图12是本申请实施例提供的资源共享过程实现方法示意图,结合图12进行说明。
首先,在发送设备中部署有游戏应用,游戏应用启动时,游戏根据当前游戏应用在发送设备或者接收设备的具体情况(如游戏版本情况,差异游戏资源文件信息等),搜集并计算将要进行资源共享的文件、文件路径等业务信息(即前文中的目标资源),并将该业务信息传给自身设备集成的TGPA SDK。
其次,在发送设备中,TGPA SDK有序调用快传SDK中的各个接口,其中,包括两台终端设备之间利用各自的快传SDK建立连接并通讯,将发送设备中的游戏文件数据进行组织并发送给接收设备,接收设备解析相关数据并做出相适配的响应(如利用发送设备发来的游戏文件更新游戏等)等。
在此过程中,发送设备中的快传SDK与接收设备中的快传SDK负责设备间的连接以及通讯。
接下来,为了进一步说明接收设备已安装游戏应用时,结合上述快速SDK的各种接口,参见图13,图13是本申请实施例提供的应用已安装时资源共享过程的时序图,结合图13说明资源共享过程中的交互流程。
执行图13中步骤1-6,启动发送设备上部署的游戏应用,显示游戏界面,并点击“查找附近好友”按钮,触发发送设备中的TGPA SDK调用快传SDK中的扫描设备接口(即scanDevices接口),快传SDK调用系统快传模块,开启针对其他终端设备的扫描操作。此时,发送设备中的系统快传模块扫描到附近设备,并将扫描到的附近设备的设备信息列表传给自身集成的快传SDK,快传SDK将附近设备信息列表传给上层游戏应用,并在游戏界面显示可进行资源共享的终端设备的列表。
继续执行图13中步骤7-9,响应于用于针对目标可以共享设备的选择操作,确定目标可共享设备(即前述接收设备,接收设备),该可共享设备关联的“连接”按钮,触发发送设备的TGPA SDK调用快传SDK中的连接设备接口(即connectDevice接口),此时发送设备尝试与接收设备建立连接。
需要说明的是,在连接过程中,连接失败存在以下两种情况:
参见图13中步骤10,(1)建立连接失败情况一
超时(设定一定的连接成功状态码返回有效时间,例如:1分钟、2分钟等等,发送设备的快传SDK需要在用户点击“连接”后开始计时的1分钟、2分钟等等之内连接成功并返回状态码,若发送设备的快传SDK未能收到接收设备的快传SDK发来的连接成功状态码,视为连接失败。(对应UML10)
参见图13中步骤11,建立连接失败情况二
发送设备的系统快传模块出错,返回给发送设备的快传SDK错误码。
无论以上哪种连接失败情况,执行图13中步骤12-13,即发送设备的快传SDK都会回调连接失败接口给TGPA SDK,TGPA SDK回调连接失败接口给游戏应用,游戏应用在游戏界面上显示提示用户连接失败的提示消息,并为发送设备的用户显示“重试连接”类型的按钮。若用户接下来点击“重试连接”类型的按钮,则重复图13中步骤7-9。
继续执行图13中步骤14-17,在连接过程中,如果连接成功:
接收设备的快传SDK与发送设备的快传SDK成功建立连接后,一方面,接收设备的快传SDK回调连接成功接口给接收设备的TGPA SDK,接收设备的TGPA SDK回调连接成功接口给游戏;另一方面,接收设备的快传SDK会向发送设备的快传SDK返回连接成功状态码。之后,发送设备的快传SDK回调连接成功接口给发送设备的TGPA SDK,发送设备的TGPA SDK回调连接成功接口给游戏,并在游戏界面上显示连接成功消息,通知用户连接成功的状态,后续还可以显示用于提示用户传输文件的进展情况的传输情况界面。
继续执行图13中步骤18-22,发送设备与接收设备成功建立连接,发送设备准备发送游戏资源给接收设备。首先,发送设备(发送方)的快传SDK向接收设备(接收方)的快传SDK请求接收设备的当前游戏版本、环境等信息,接收设备的快传SDK向接收设备的TGPASDK请求接收设备当前游戏版本、环境等信息,接收设备的TGPA SDK得到当前游戏版本、环境等信息之后,会回调接收设备的当前游戏版本、环境等信息给接收设备的快传SDK。
继续执行图13中步骤23-25,接收设备的快传SDK向发送设备的快传SDK组织并返回接收设备的当前游戏版本、环境等信息。随后,发送设备的快传SDK回调接收设备的当前游戏版本、环境等信息给发送设备的TGPA SDK,发送设备的TGPA SDK回调接收设备的当前游戏版本、环境等信息给游戏,在发送设备的游戏界面上显示接收设备当前游戏版本、环境等信息,帮助发送方辅助判断共享情况。
继续执行图13中步骤26-27,发送设备计算、组织、打包好将要传输给接收方的文件及其信息之后,发送设备的TGPA SDK调用发送设备的快传SDK的资源共享接口(即transferFiles接口)向接收设备传输打包好的数据文件。
继续执行图13中步骤28-31,在发送设备的快传SDK正在向接收设备传输数据文件的过程中,接收设备的快传SDK会间隔一定时间(例如:1秒,2秒等)回调共享文件数据的接收进度给接收设备的TGPA SDK,接收设备的TGPA SDK再回调共享文件数据的接收进度给自身部署的游戏应用,此时接收设备的游戏界面上显示文件的接收进度。与此同时,发送设备的快传SDK会间隔一定时间(例如:1秒,2秒等,与接收设备回调共享文件数据的接收进度给接收设备的TGPA SDK的时间间隔可能相同,也可能不同,相同还是不同是根据具体的业务场景来决定的)回调共享文件数据的发送进度给发送设备的TGPA SDK,发送设备的TGPASDK回调共享文件数据的发送进度给自身部署的游戏应用,此时在发送设备的游戏界面上显示发送进度。
继续执行图13中步骤32-35,当发送设备与接收设备的共享文件数据传输结束,但传输失败,则发送设备的快传SDK回调共享文件数据的发送失败消息及原因给发送设备的TGPA SDK,发送设备的TGPA SDK回调共享文件数据的发送失败消息及原因给自身部署的游戏应用,并在发送设备中的游戏界面上显示发送设备当前共享文件数据的发送失败消息及原因,帮助用户辅助判断共享情况。
当发送设备与接收设备的共享文件数据传输结束,且成功。发送设备的快传SDK回调共享文件数据发送成功消息给发送设备的TGPA SDK,发送设备的TGPA SDK回调共享文件数据发送成功消息给自身部署的游戏应用,在发送设备的游戏界面中显示发送设备当前共享文件数据发送成功消息,帮助用户辅助判断共享情况。
继续执行图13中步骤36-41,传输结束后,用户在发送设备的游戏界面上点击退出游戏共享界面,该操作触发发送设备的TGPA SDK调用发送设备的快传SDK的断开设备连接接口(即endConnect接口),发送设备的快传SDK尝试与接收设备的快传SDK(接收方)断开连接。同时,接收设备的快传SDK检测到连接断开状态,接收设备的快传SDK回调断开连接信息给接收设备的TGPA SDK,接收设备的TGPA SDK回调断开连接信息给自身部署的游戏应用,在接收设备的游戏界面上为用户显示断开连接信息。同时,发送设备的快传SDK回调断开连接信息给发送设备的TGPA SDK,发送设备的TGPA SDK回调断开连接信息给自身部署的游戏应用,在发送设备的游戏界面上为用户显示断开连接信息。
针对快传SDK中所定义的接口进行说明,在实际实施时,可以定义一个管理快传SDK的各个接口的资源传输管理类IGameTransferManager,其对应的类定义的代码片段如下所示:
interface IGameTransferManager {
fun scanDevices()
fun connectDevice(deviceId: String)
fun startTransferFiles(transferItems: List<TransferItem>)
fun registerListeners(scanListener: IOnScanListener?,
connectListener: IOnConnectListener?,
transferListener: IOnTransferListener?)
fun unRegisterListeners(scanListener: IOnScanListener?,
connectListener: IOnConnectListener?,
transferListener: IOnTransferListener?)
fun forceStopTransfer()
fun endConnect()
fun getCurrentStatus(): Int
fun startListenConnection(): Boolean
fun getReceiverGameInfo(): String
}
其中,IGameTransferManaer用于提供文件传输基础能力,针对IGameTransferManaer中相关接口进行说明:
1)扫描设备接口scanDevices,该接口无参数,返回扫描到的设备实体List<DeviceInfo>,每个设备实体表示一个终端设备,设备实体DeviceInfo的定义如下:
data class DeviceInfo(
//设备ID
private val id: String,
//设备地址
private val address: String,
)
2)连接设备接口connectDevice,参数为字符串String类型的要建立连接的设备的设备标识deviceId,该接口无返回值。
3)资源共享(或传输)接口transferFiles,用于将文件传输到附近设备,参数为需要传输的文件列表List<TransferItem>,发送设备将要共享的资源(采用文件形式表示的资源)以至少一个资源实体(即前文中的资源实体)TransferItem的方式进行量化,每个文件对应一个资源实体。
其中,资源实体TransferItem的具体定义如下
data class TransferItem(
private val fileName: String,
private val type: Int,
private val fileSrcPath: String,
private val fileDestPath: String = "",
private val status: Int,
private val fileSize: Long = -1,
private val fileMD5: String = "",
private val transferProgress: Int = 0,
private val errorCode: Int?,
private val errorMsg: String?
)
其中,TransferItem的属性字段说明如表1所示:
表1
需要说明的是,对于字段fileDestPath是否必选的说明:
(1)当接收设备没有游戏时:
安装包Apk的传输不用指定目标路径,此时fileDestPath非必选;
资源包的传输需要指定目标路径,此时fileDestPath必选。
(2)当接收设备有游戏时:
资源包的传输需要指定目标路径,此时fileDestPath必选。
4)注册监测接口registerListeners(scanListener: IOnScanListener?,
connectListener: IOnConnectListener?,
transferListener: IOnTransferListener?)
其中,IOnScanListener:设备扫描回调接口;IOTransferListener:为传输状态回调接口;IOnConnectListener:为连接状态回调接口。该接口无返回值。
5)反注册监测接口unRegisterListeners(scanListener: IOnScanListener?,
connectListener: IOnConnectListener?,
transferListener: IOnTransferListener?)
其中,IOnScanListener:设备扫描回调接口;IOTransferListener:为传输状态回调接口;IOnConnectListener:为连接状态回调接口。该接口无返回值。
6)强制停止传输接口forceStopTransfer,该接口不需要参数,同时也不存在返回值。
7)断开设备连接接口endConnect,该接口不需要参数,同时也不存在返回值。
8)获取当前传输状态接口getCurrentStatus,该接口无参数,但具有Int类型的返回值,针对返回值的含义进行说明。
9)startListenConnection接口,用于接收设备开启监测,等待连接。该接口无参数,具有布尔类型的返回值,true:连接成功;false:连接失败。
10)getReceiverGameInfo接口,用于获取接收设备的游戏环境信息,包括版本号等。该接口无参数,具有字符串String类型的返回值,返回采用JSON数据格式组织的游戏环境信息。
针对文件传输状态监测接口IOnTransferListener的类定义进行说明,定义的代码片段如下:
interface IOnTransferListener {
fun onGetGameInfoCallback(): String
fun onTransferStatusChangeListener(transferItem: TransferItem)
}
其中,onGetGameInfoCallback接口用于通知接收设备返回当前游戏环境信息回调。该接口无参数,具有字符串String类型的返回值,返回的是采用JSON格式组织的当前游戏环境信息。onTransferStatusChangeListener(transferItem: TransferItem)接口用于通知传输状态的变化。参数为当前正在传输的文件(即前文中的资源实体),该接口不存在返回值。
针对设备连接监测接口IonConnectListener进行说明,IonConnectListener的定义如下:
interface IOnConnectListener {
fun connectSuccess(deviceInfo: DeviceInfo)
fun connectFail(deviceInfo: DeviceInfo, errorCode: Int, errorMsg:String)
}
其中,connectSuccess接口,用于指示设备建立连接成功,该接口的参数为设备实体DeviceInfo对应的设备实例deviceInfo,该接口不存在参数,也不存在返回值。connectFail接口,用于指示设备间建立连接失败,参数为设备实体DeviceInfo对应的设备实例deviceInfo,Int型的错误码errorCode,String类型的错误消息errorMsg,该接口无返回值。
针对设备扫描接口IOnScanListener进行说明,IOnScanListener的定义如下:
interface IOnScanListener {
fun onScan(devices: List<DeviceInfo>)
}
其中,onScan指示扫描设备信息回调方法,参数为扫描到的设备集合List<DeviceInfo>对应的实例devices,该接口不存在返回值。
针对接收设备未安装游戏应用时,发送设备与接收设备进行资源共享的过程进行说明,参见图14,图14是本申请实施例提供的应用未安装时资源共享过程示意图,结合图14进行说明。首先,在发送设备中,游戏根据当前游戏在发送设备或者接受设备的具体情况(终端设备信息等),搜集并计算将要互传的文件、文件路径等业务信息,并将其传给发送设备的TGPA SDK。其次,在发送设备中,TGPA SDK有序调用快传SDK中的各个接口,两台终端设备之间利用发送设备中的快传SDK与接收设备中的系统快传模块建立连接并通讯,将发送设备中的游戏文件数据进行组织并发送给接收设备,接收设备解析相关数据并做出合适响应(利用发送设备发来的游戏文件更新游戏等)等。
为了进一步说明接收设备未安装游戏应用时,结合上述快速SDK的各种接口说明资源共享过程中的交互过程,参见图15,图15是本申请实施例提供的应用未安装时资源共享过程中的时序图,结合图15说明发送设备与接收设备间的交互流程。
首先执行图15中步骤1-6,发送方在发送设备上启动游戏应用,显示游戏界面,在游戏界面上显示“查找附近好友”按钮,并点击“查找附近好友”,该操作触发发送设备中的TGPA SDK调用发送设备的快传SDK中的scanDevices接口,发送设备的快传SDK调用发送设备的系统快传模块,开启附近终端设备的扫描。此时,发送设备调用系统快传模块扫描到附近设备,并将扫描到的附近设备信息列表传给发送设备的快传SDK,发送设备的快传SDK将附近终端设备信息列表传给上层游戏应用,以在游戏界面中显示能够进行资源共享的终端设备的列表。
继续执行图15中步骤7-9,发送方基于界面上显示的共享设备列表,选择某个可共享设备,点击“连接”,该操作触发发送设备的TGPA SDK调用发送设备的快传SDK中的connectDevice接口,此时发送设备尝试与接收设备建立连接。
在发送设备与接收设备进行连接的过程中,连接失败有两种情况:
(1)连接失败情况一(对应图15中步骤10)
超时(设定一定的连接成功状态码返回有效时间,例如:1分钟、2分钟等等,发送设备的快传SDK需要在用户点击“连接”后开始计时的1分钟、2分钟等等之内连接成功并返回状态码,发送设备的快传SDK未能收到接收设备发来的连接成功状态码,视为连接失败。
(2)连接失败情况二(对应图15中步骤11)
发送设备的系统底层快传模块出错,返回给发送设备的快传SDK错误码。
无论以上哪种连接失败情况,执行图15中步骤12-13,即发送设备的快传SDK都会回调连接失败接口给发送设备终端TGPA SDK,发送设备的TGPA SDK回调连接失败接口给自身部署的游戏应用,并在游戏界面上为发送方显示连接失败消息,通知发送方连接失败,并为显示“重试连接”类型的按钮。若发送方点击“重试连接”类型的按钮,则重复步骤802。
继续执行图15中步骤14-17,连接过程中,如果连接成功:
接收设备的系统快传模块与发送设备的快传SDK成功建立连接后,一方面,接收设备会在通知栏等UI处(接收设备的系统UI模块)为接收设备的用户显示连接成功状态;另一方面,接收设备的系统快传模块会向发送设备的快传SDK返回连接成功状态码。之后,发送设备的快传SDK回调连接成功接口给发送设备的TGPA SDK,发送设备的TGPA SDK回调连接成功接口给自身部署的游戏应用,在发送设备的游戏界面上显示连接成功消息,通知用户连接成功的状态(后续还会提示用户传输文件的进展情况)。
继续执行图15中步骤18-20,发送设备与接收设备成功建立连接,发送设备准备发送游戏资源(即前文中的目标资源)给接收设备。首先,发送设备向接收设备的系统快传模块请求接收设备的设备信息等,接收设备的系统快传模块组织并返回接收设备的设备信息等(可以采用JSON格式)给发送设备的快传SDK。
继续执行图15中步骤21-22,发送设备的快传SDK回调接收设备的当前设备信息等给发送设备的TGPA SDK,发送设备的TGPA SDK回调终接收设备的当前设备信息等给自身部署的游戏应用,在游戏界面上为用户显示接收设备的当前设备信息等,帮助用户辅助判断共享情况。
继续执行图15中步骤23-24,发送设备计算、组织、打包好将要传输给接收设备的文件及其信息之后,发送设备的TGPA SDK调用快传SDK的transferFiles方法向接收设备传输打包好的共享文件(即目标资源)。
继续执行图15中步骤25-28,在发送设备的快传SDK正在向接收设备传输共享文件的过程中,接收设备在通知栏等用户界面(UI,User Interface)处为接收方显示共享文件的接收进度,针对该接收进度,接收设备的系统快传模块会间隔一定时间(例如:0.5秒,1秒等)对接收设备的通知栏等UI处进行更新。与此同时,发送设备的快传SDK会间隔一定时间(例如:1秒,2秒等等,与接收设备回调共享文件数据接收进度对接收设备通知栏等UI处进行更新的时间间隔可能相同,也可能不同,相同还是不同是根据具体的业务场景来决定的)回调共享文件的发送进度给发送设备的TGPA SDK,发送设备的TGPA SDK回调共享文件的发送进度给自身部署的游戏应用,此时发送设备的游戏界面上显示相应的发送进度。
继续执行图15中步骤29-32,当发送设备与接收设备的共享文件传输结束,但传输失败,则发送设备的快传SDK回调共享文件的发送失败消息及原因给发送设备的TGPA SDK,发送设备的TGPA SDK回调共享文件的发送失败消息及原因给自身部署的游戏应用,并在发送设备的游戏界面上为发送方显示发送设备的当前共享文件的发送失败消息及原因,帮助用户辅助判断共享情况。
当发送设备与接收设备间的共享文件传输结束,且传输成功。发送设备的快传SDK回调共享文件的发送成功消息给发送设备的TGPA SDK,发送设备的TGPA SDK回调共享文件的发送成功消息给自身部署的游戏应用,并在发送设备的游戏界面上为发送方显示发送设备当前共享文件的发送成功消息,帮助用户辅助判断共享情况。
继续执行图15中步骤33-38,资源共享传输结束后,发送方在发送设备上点击退出游戏共享界面,该操作触发发送设备的TGPA SDK调用发送设备的快传SDK的endConnect接口,发送设备的快传SDK(发送方)尝试与接收设备的系统快传模块(接收方)断开连接。同时,接收设备的系统快传模块检测到连接断开状态,接收设备在通知栏等UI处为接收方显示连接断开状态通知信息。同时,发送设备的快传SDK回调断开连接信息给发送设备的TGPASDK,发送设备的TGPA SDK回调断开连接信息给自身部署的游戏应用,发送设备的游戏界面上显示断开连接信息。
需要说明的是,在实际实施时,在接收设备未安装游戏应用的情况下,接收设备内不存在游戏应用内部集成的快传SDK,此时可以借助接收设备内部由厂商所提供系统快传模块保证与发送设备间的近场通讯连接。也就是说,此时接收设备的系统快传模块需要提供更底层的系统能力,以支持快传SDK的接口调用。系统快传模块在不同的安卓设备上的实现,取决于各安卓厂商自己的系统实现,本申请实施例对此不作限制,即安卓设备上的系统快传模块能够支持快传SDK中接口定义的系统底层能力即可。
在接收设备未安装游戏应用的情况下,此时,接收设备内部没有快传SDK,接收设备的系统快传模块不仅需要支持快传的系统底层能力,还要定义与快传SDK一样的对外交互接口,以便与发送设备的快传SDK进行交互。
在实际实施时,发送设备将资源(目标资源)成功传输给接收设备后,接受设备可以使用目标资源(包括至少一个文件)进行游戏安装操作与游戏更新操作。
针对接收设备执行游戏安装操作进行说明,首先,发送设备快传SDK与接收设备的系统快传模块进行交互,发送设备的快传SDK向接收设备传输的目标资源统一放在特定目录下(例如:一般终端设备文件夹的Download目录),之后可能在这个特定目录下使用传输过来的安装包安装,也可能转移到其他目录下安装(视业务情况而定),安装之后,就会生成该游戏应用的安装目录。
其次,接收设备的系统快传模块会将剩余的文件传输在特定目录下,但还未使用的游戏资源文件,移动到接收设备的该游戏应用的安装目录下的特定目录下(该目录为游戏应用进行游戏更新时,要使用更新的游戏资源,则该更新的游戏资源应该所在的目录。换句话说,就是只有游戏更新资源在这个目录下,游戏才能找到这些游戏更新资源,并利用这些游戏更新资源为用户更新游戏,而不用再联网下载游戏更新资源)。
需要注意的是,前述接收设备存放游戏更新资源的“特定目录”,在接口定义中,是指资源传输实体TransferItem所定义的字符串“String”类型的“fileDestPath”字段,该字段表示了游戏文件(游戏资源文件、游戏安装包文件中的一个或多个)在接收设备的存储空间中的存放路径(可以是相对路径,也可以是绝对路径,视情况而定)。同样地,“TransferItem”所定义的“String”类型的“fileSrcPath”字段表示了游戏文件(游戏资源文件、游戏安装包文件中的一个或多个)在发送设备的存储空间中的存放路径(可以是相对路径,也可以是绝对路径,视情况而定)。
针对接收设备执行游戏更新操作进行说明,发送设备的快传SDK直接通过传输接口将所有游戏更新资源文件传输到接收设备的该游戏应用的安装目录下的特定目录下(该目录为游戏应用进行游戏更新时,要使用更新的游戏资源,则该更新的游戏资源应该所在的目录。也就是说,只有游戏更新资源存放在这个目录下,游戏才能找到这些游戏更新资源,并利用这些游戏更新资源为用户更新游戏,而不用再联网下载游戏更新资源)。
在实际实施时,由于游戏所关联的文件在不同终端设备上的最佳适配品质不同,所以不同终端设备上最合适使用的游戏资源文件包不同,可以通过以下选取方式在使用近场通讯快传能力时,保证终端设备的资源文件的最合适与最佳游戏体验。选取方式一:在发送设备向接收设备进行快传计算要传输的游戏文件时,将发送设备中适用于接收设备的游戏文件进行传输(适用的判断:接收设备可用的游戏资源的版本号可能有一个列表或者范围,如果发送设备上安装的游戏资源的版本号在适用接收设备的游戏资源的版本号的列表或者范围内,则认为适用),同时地,将发送设备中没有,但接收设备中需要的这部分资源从服务器中同步下载。选取方式二:将所有游戏资源转移,直接在接收设备用与发送设备相同品质的游戏资源(考虑到进行近场通讯的各游戏客户端,大概率使用的终端设备的手机年限、硬件条件等都比较相似),后续如果有特殊情况导致发送设备中的某个或某些资源在接收设备中不能使用,再为接收设备的游戏客户端单独下载这部分资源。需要说明的是,方式二与方式一的区别在于,方式一中是适用,方式二是能用,适用的资源是能用的资源的子集。只有发送设备中的资源在接收设备中完全无法使用或崩溃报错之类的导致游戏不能正常运行的原因,接收设备才会重新下载该异常部分的资源。方式三:在方式二的基础上,附加在接收设备的合适或空闲时间段(如游戏内的非核心场景,即非战斗场景,即商城、大厅等对终端设备资源占用较少的场景下且网络条件较好、存储空间充足的时间段内)再重新下载接收设备的最佳适配资源,并替换掉原来从发送设备中传输过来的资源。
需要说明的是,本申请实施例提供的基于近场通讯的资源共享方法,不仅适用于游戏应用:如传输新游戏安装包、游戏新资源包的场景,也适用于其他应用:用于传输新应用安装包、应用资源包(其他应用的资源可能与游戏资源不尽相同,其他应用的资源可能是UI、动画、语音、交互、图像等等方面的资源)的场景。
应用本申请实施例,用户获取游戏最新版本的途径更快捷,通过近场通讯,最新版本游戏的发送方可以快捷的将游戏安装包、游戏资源包发送给附近其他用户的终端设备上,接收方不用再通过应用商店下载或游戏内更新,也不再需要网络条件(Wi-Fi或是流量充足)以及等待较长时间,即可在自己的终端设备上快速拥有一个最新版本的游戏客户端。如此,不仅为用户节省了游戏或游戏资源的下载时间,也可能为用户节省了手机流量,提升用户游戏体验,方便应用于线下游戏组队、电竞比赛游戏安装、线下游戏推广体验等等的游戏推广、游戏运营场景下。
下面继续说明本申请实施例提供的资源共享装置555的实施为软件模块的示例性结构,在一些实施例中,如图2A所示,存储在存储器550的资源共享装置555中的软件模块可以包括:
第一确定模块,用于确定处于共享范围内的至少一个候选接收设备,所述共享范围,用于表征发送设备能够基于近场通讯连接与任一电子设备进行资源传输的范围;
第二确定模块,用于基于针对目标应用的资源共享条件,从所述至少一个候选接收设备中确定至少一个目标接收设备;
第三确定模块,用于根据所述目标应用在所述发送设备中关联的第一资源,以及所述目标应用在所述至少一个目标接收设备中关联的第二资源之间的资源差异,确定各个目标接收设备分别对应的目标资源,所述目标资源,为所述目标应用关联的部分或全部资源;
资源传输模块,用于基于所述发送设备与所述目标接收设备之间的近场通讯连接,将所述目标资源传输至对应的目标接收设备,以使得所述目标接收设备基于所述目标资源执行与所述目标应用关联的操作。
在一些实施例中,所述资源共享条件包括以下至少之一:
接收到所述共享范围内的至少一个候选接收设备的资源共享请求;
接收到针对所述目标应用的显示界面中所显示的资源共享入口的触发操作。
在一些实施例中,所述第一确定模块,还用于接收到针对共享范围内的至少一个候选接收设备的设备查找指令,执行针对所述共享范围内的任一电子设备的设备扫描操作;
响应于所述设备扫描操作的扫描结果,确定所述共享区域范围内的至少一个候选接收设备;
在一些实施例中,所述确定模块,还用于在所述目标应用的显示界面中,显示所述至少一个候选接收设备。
在一些实施例中,所述目标应用内部集成有共享组件,所述共享组件,是用于提供实现基于近场通讯连接的资源共享功能的至少一个接口;
所述接口包括设备扫描接口,所述第一确定模块,还用于通过所述设备扫描接口,执行针对所述共享区域范围内的任一电子设备的设备扫描操作。
在一些实施例中,所述接口还包括以下至少之一:资源封装接口、资源共享接口,所述资源传输模块,还用于通过所述资源封装接口,对所述目标资源进行封装,得到至少一个资源实体;
基于所述发送设备与所述目标接收设备之间的近场通讯连接,通过所述资源共享接口,将所述至少一个资源实体,传输至对应的所述目标接收设备。
在一些实施例中,所述第三确定模块,还用于确定所述目标应用在所述发送设备中所处的第一环境信息;
接收所述目标接收设备发送的所述目标应用对应的第二环境信息、所述目标应用在所述目标接收设备中的目标安装状态、以及所述目标应用关联的第二资源的指示信息;
当所述第一环境信息与所述第二环境信息相适配时,结合所述目标安装状态,基于所述第一资源与所述第二资源的指示信息,确定所述目标应用在所述发送设备中关联的第一资源与所述第二资源之间的资源差异。
在一些实施例中,所述第三确定模块,还用于:
当所述目标安装状态为已安装,且所述第一资源的第一版本号高于所述第二资源的第二版本号时,对所述第一资源所包括的至少第一文件,与所述第二资源所包括的至少一个第二文件进行比对,将比对结果作为资源差异,所述比对结果包括至少一个目标第一文件;
当所述目标安装状态为未安装时,确定所述第一资源作为所述资源差异。
由所述第三确定模块,对所述第一版本号与所述资源差异进行封装,得到所述目标接收设备对应的目标资源。
在一些实施例中,所述第三确定模块,还用于当所述目标安装状态为已安装时,获取所述第一资源的当前版本号;
接收所述目标接收设备中用于更新所述目标应用的目标资源关联的至少一个更新版本号,所述目标资源与所述第二资源不同;
当所述至少一个更新版本号包括所述当前版本号时,从所述第一资源中,选择所述目标资源,所述目标资源为部分所述第一资源。
在一些实施例中,所述资源传输模块,还用于在所述目标资源的传输过程中,周期性地确定所述目标资源的发送进度;
并在所述目标应用的显示界面中,显示所述发送进度。
在一些实施例中,如图2B所示,接收设备中存储在存储器550的资源共享装置556中的软件模块可以包括:
响应模块5561,用于响应于接收到发送设备发送的连接建立请求,建立与所述发送设备间的近场通讯连接;
接收模块5562,用于通过所述近场通讯连接,接收所述发送设备通过资源共享操作所共享的目标应用关联的目标资源;其中,所述目标资源,是基于所述目标应用在所述发送设备中关联的第三资源,与所述目标应用在接收设备中关联的第四资源之间的资源差异所确定的;所述目标资源,为部分或全部所述第三资源;
执行模块5563,用于基于所述目标资源,执行与所述目标应用关联的操作。
在一些实施例中,若所述目标资源为全部所述第三资源,所述接收模块,还用于存放所述目标资源至第一存放路径;
若所述目标资源为部分所述第三资源,所述接收模块,还用于存放所述目标资源至第二存放路径;
其中,所述第一存放路径不同于所述第二存放路径;
在一些实施例中,所述执行模块,还用于从所述第一存放路径读取所述目标资源,并基于所述目标资源,执行针对所述目标应用的安装操作;
从所述第二存放路径读取所述目标资源,并基于所述目标资源,执行针对所述目标应用的更新操作。
本申请实施例提供一种存储有计算机程序的计算机可读存储介质,其中存储有计算机程序,当计算机程序被处理器执行时,将引起处理器执行本申请实施例提供的资源共享方法,例如,如图3示出的方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,计算机程序可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机程序可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机程序可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种资源共享方法,其特征在于,应用于发送设备,所述方法包括:
确定处于共享范围内的至少一个候选接收设备,所述共享范围,用于表征所述发送设备能够基于近场通讯连接与任一电子设备进行资源传输的范围;
基于针对目标应用的资源共享条件,从所述至少一个候选接收设备中确定至少一个目标接收设备;
根据所述目标应用在所述发送设备中关联的第一资源,以及所述目标应用在所述至少一个目标接收设备中关联的第二资源之间的资源差异,确定各个目标接收设备分别对应的目标资源,所述目标资源为部分或全部所述第一资源;
基于所述发送设备与所述目标接收设备之间的近场通讯连接,将所述目标资源传输至对应的目标接收设备,以使得所述目标接收设备基于所述目标资源执行与所述目标应用关联的操作。
2.根据权利要求1所述的方法,其特征在于,所述资源共享条件包括以下至少之一:
接收到所述共享范围内的至少一个候选接收设备的资源共享请求;
接收到针对所述目标应用的显示界面中所显示的资源共享入口的触发操作。
3.根据权利要求1所述的方法,其特征在于,所述确定处于共享范围内的至少一个候选接收设备,包括
接收到针对共享范围内的至少一个候选接收设备的设备查找指令,执行针对所述共享范围内的任一电子设备的设备扫描操作;
响应于所述设备扫描操作的扫描结果,确定所述共享范围内的至少一个候选接收设备;
所述方法还包括:
在所述目标应用的显示界面中,显示所述至少一个候选接收设备。
4.根据权利要求3所述的方法,其特征在于,所述目标应用内部集成有共享组件,
其中,所述共享组件,是用于提供实现基于近场通讯连接的资源共享功能的至少一个接口;
所述接口包括设备扫描接口,所述执行针对所述共享范围内的任一电子设备的设备扫描操作,包括:
通过所述设备扫描接口,执行针对所述共享范围内的任一电子设备的设备扫描操作。
5.根据权利要求4所述的方法,其特征在于,所述接口还包括以下至少之一:资源封装接口、资源共享接口,
所述基于所述发送设备与所述目标接收设备之间的近场通讯连接,将所述目标资源传输至对应的目标接收设备,包括:
通过所述资源封装接口,对所述目标资源进行封装,得到至少一个资源实体;
基于所述发送设备与所述目标接收设备之间的近场通讯连接,通过所述资源共享接口,将所述至少一个资源实体,传输至对应的所述目标接收设备。
6.根据权利要求1所述的方法,其特征在于,所述确定各个目标接收设备分别对应的目标资源之前,所述方法还包括:
确定所述目标应用在所述发送设备中所处的第一环境信息;
接收所述目标接收设备发送的所述目标应用对应的第二环境信息、所述目标应用在所述目标接收设备中的目标安装状态、以及所述目标应用关联的第二资源的指示信息;
当所述第一环境信息与所述第二环境信息相适配时,结合所述目标安装状态,基于所述第一资源与所述第二资源的指示信息,确定所述目标应用在所述发送设备中关联的第一资源与所述第二资源之间的资源差异。
7.根据权利要求6所述的方法,其特征在于,所述结合所述目标安装状态,基于所述第一资源与所述第二资源的指示信息,确定所述目标应用在所述发送设备中关联的第一资源与所述第二资源之间的资源差异,包括:
当所述目标安装状态为已安装,且所述第一资源的第一版本号高于所述第二资源的第二版本号时,对所述第一资源所包括的至少第一文件,与所述第二资源所包括的至少一个第二文件进行比对,将比对结果作为资源差异,所述比对结果包括至少一个目标第一文件;
当所述目标安装状态为未安装时,确定所述第一资源作为所述资源差异;
所述确定各个目标接收设备分别对应的目标资源,包括:
对所述第一版本号与所述资源差异进行封装,得到所述目标接收设备对应的目标资源。
8.根据权利要求6所述的方法,其特征在于,所述结合所述目标安装状态,基于所述第一资源与所述第二资源的指示信息,确定所述目标应用在所述发送设备中关联的第一资源与所述第二资源之间的资源差异,包括:
当所述目标安装状态为已安装时,获取所述第一资源的当前版本号;
接收所述目标接收设备中用于更新所述目标应用的目标资源关联的至少一个更新版本号,所述目标资源与所述第二资源不同;
当所述至少一个更新版本号包括所述当前版本号时,从所述第一资源中,选择所述目标资源,所述目标资源为部分所述第一资源。
9.根据权利要求1~8任一项所述的方法,其特征在于,所述方法还包括:
在所述目标资源的传输过程中,周期性地确定所述目标资源的发送进度;
在所述目标应用的显示界面中,显示所述发送进度。
10.一种资源共享方法,其特征在于,应用于接收设备,所述方法包括,
响应于接收到发送设备发送的连接建立请求,建立与所述发送设备间的近场通讯连接;
通过所述近场通讯连接,接收所述发送设备通过资源共享操作所共享的目标应用关联的目标资源;
其中,所述目标资源,是基于所述目标应用在所述发送设备中关联的第三资源,与所述目标应用在所述接收设备中关联的第四资源之间的资源差异所确定的;所述目标资源,为部分或全部所述第三资源;
基于所述目标资源,执行与所述目标应用关联的操作。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
若所述目标资源为全部所述第三资源,存放所述目标资源至第一存放路径;
若所述目标资源为部分所述第三资源,存放所述目标资源至第二存放路径;
其中,所述第一存放路径不同于所述第二存放路径;
所述基于所述目标资源,执行与所述目标应用关联的操作,包括:
从所述第一存放路径读取所述目标资源,并基于所述目标资源,执行针对所述目标应用的安装操作;
从所述第二存放路径读取所述目标资源,并基于所述目标资源,执行针对所述目标应用的更新操作。
12.一种资源共享装置,其特征在于,所述装置包括:
第一确定模块,用于确定处于共享范围内的至少一个候选接收设备,所述共享范围,用于表征发送设备能够基于近场通讯连接与任一电子设备进行资源传输的范围;
第二确定模块,用于基于针对目标应用的资源共享条件,从所述至少一个候选接收设备中确定至少一个目标接收设备;
第三确定模块,用于根据所述目标应用在所述发送设备中关联的第一资源,以及所述目标应用在所述至少一个目标接收设备中关联的第二资源之间的资源差异,确定各个目标接收设备分别对应的目标资源,所述目标资源,为部分或全部所述第一资源;
资源传输模块,用于基于所述发送设备与所述目标接收设备之间的近场通讯连接,将所述目标资源传输至对应的目标接收设备,以使得所述目标接收设备基于所述目标资源执行与所述目标应用关联的操作。
13.一种资源共享装置,其特征在于,所述装置包括:
响应模块,用于响应于接收到发送设备发送的连接建立请求,建立与所述发送设备间的近场通讯连接;
接收模块,用于通过所述近场通讯连接,接收所述发送设备通过资源共享操作所共享的目标应用关联的目标资源;
其中,所述目标资源,是基于所述目标应用在所述发送设备中关联的第三资源,与所述目标应用在接收设备中关联的第四资源之间的资源差异所确定的;所述目标资源,为部分或全部所述第三资源;
执行模块,用于基于所述目标资源,执行与所述目标应用关联的操作。
14.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的者计算机程序时,实现权利要求1至11任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,存储有者计算机程序,用于被处理器执行时,实现权利要求1至11任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311681762.8A CN117676893A (zh) | 2023-08-04 | 2023-08-04 | 资源共享方法、装置、电子设备及可读存储介质 |
CN202310977613.XA CN116709549B (zh) | 2023-08-04 | 2023-08-04 | 资源共享方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310977613.XA CN116709549B (zh) | 2023-08-04 | 2023-08-04 | 资源共享方法、装置、电子设备及可读存储介质 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311681762.8A Division CN117676893A (zh) | 2023-08-04 | 2023-08-04 | 资源共享方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116709549A true CN116709549A (zh) | 2023-09-05 |
CN116709549B CN116709549B (zh) | 2023-10-20 |
Family
ID=87832520
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310977613.XA Active CN116709549B (zh) | 2023-08-04 | 2023-08-04 | 资源共享方法、装置、电子设备及可读存储介质 |
CN202311681762.8A Pending CN117676893A (zh) | 2023-08-04 | 2023-08-04 | 资源共享方法、装置、电子设备及可读存储介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311681762.8A Pending CN117676893A (zh) | 2023-08-04 | 2023-08-04 | 资源共享方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN116709549B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036597A (zh) * | 2012-12-12 | 2013-04-10 | 华为终端有限公司 | 近距离设备间的资源分享方法和设备 |
CN104580296A (zh) * | 2013-10-17 | 2015-04-29 | 中兴通讯股份有限公司 | 一种实现资源共享的方法、装置及终端 |
WO2016145511A1 (en) * | 2015-03-19 | 2016-09-22 | Exo U Inc. | Methods, apparatus and computer-readable media for sharing of application resources |
CN112346751A (zh) * | 2020-11-20 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 应用程序的安装方法、装置、电子设备和存储介质 |
CN112657196A (zh) * | 2020-12-21 | 2021-04-16 | 北京像素软件科技股份有限公司 | 资源更新方法、装置、计算机设备和可读存储介质 |
CN112947983A (zh) * | 2021-04-15 | 2021-06-11 | 网易(杭州)网络有限公司 | 应用程序更新方法及装置、电子设备、存储介质 |
CN113018870A (zh) * | 2021-04-17 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
CN113326058A (zh) * | 2021-07-01 | 2021-08-31 | 苏州好玩友网络科技有限公司 | 一种应用的版本更新方法、装置、设备及介质 |
CN114237840A (zh) * | 2021-11-29 | 2022-03-25 | Oppo广东移动通信有限公司 | 资源交互方法、装置、终端及存储介质 |
-
2023
- 2023-08-04 CN CN202310977613.XA patent/CN116709549B/zh active Active
- 2023-08-04 CN CN202311681762.8A patent/CN117676893A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036597A (zh) * | 2012-12-12 | 2013-04-10 | 华为终端有限公司 | 近距离设备间的资源分享方法和设备 |
CN104580296A (zh) * | 2013-10-17 | 2015-04-29 | 中兴通讯股份有限公司 | 一种实现资源共享的方法、装置及终端 |
WO2016145511A1 (en) * | 2015-03-19 | 2016-09-22 | Exo U Inc. | Methods, apparatus and computer-readable media for sharing of application resources |
CN112346751A (zh) * | 2020-11-20 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 应用程序的安装方法、装置、电子设备和存储介质 |
CN112657196A (zh) * | 2020-12-21 | 2021-04-16 | 北京像素软件科技股份有限公司 | 资源更新方法、装置、计算机设备和可读存储介质 |
CN112947983A (zh) * | 2021-04-15 | 2021-06-11 | 网易(杭州)网络有限公司 | 应用程序更新方法及装置、电子设备、存储介质 |
CN113018870A (zh) * | 2021-04-17 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
CN113326058A (zh) * | 2021-07-01 | 2021-08-31 | 苏州好玩友网络科技有限公司 | 一种应用的版本更新方法、装置、设备及介质 |
CN114237840A (zh) * | 2021-11-29 | 2022-03-25 | Oppo广东移动通信有限公司 | 资源交互方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117676893A (zh) | 2024-03-08 |
CN116709549B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110225487B (zh) | Profile生成、获取方法及相关设备和存储介质 | |
CN106792023B (zh) | 一种移动终端控制智能电视应用的方法及系统 | |
JP6273585B2 (ja) | ジェネリックモバイルデバイスカスタマイズフレームワーク | |
US9967343B2 (en) | Method for providing internet of things service | |
CN111684778B (zh) | 应用功能的实现方法及电子设备 | |
CN114125028B (zh) | 微应用的运行方法、装置、设备、存储介质及程序产品 | |
US9363622B1 (en) | Separation of client identification composition from customization payload to original equipment manufacturer layer | |
CN107741844B (zh) | 一种应用安装包的生成方法和装置 | |
WO2019206201A1 (zh) | 一种配置文件传输方法及相关设备和存储介质 | |
CN106331135B (zh) | 一种部分界面更新方法、系统、客户端和服务端 | |
CN111147337A (zh) | 第三方设备的配网方法、终端设备及计算机可读存储介质 | |
US20180324575A1 (en) | Data transmission method and apparatus | |
CN113992958B (zh) | 一种多窗口同屏互动方法、终端及存储介质 | |
CN104978285A (zh) | 功能扩展方法和终端装置 | |
CN102945182A (zh) | 应用程序更新方法和装置 | |
CN113727333B (zh) | 定制应用的下载系统 | |
CN112130866A (zh) | 一种应用部署方法和相关装置 | |
CN102981880A (zh) | 一种实现应用程序的更新的方法和装置 | |
CN113168332A (zh) | 数据处理方法、装置以及移动终端 | |
CN110968331A (zh) | 应用程序运行的方法和装置 | |
CN105740027A (zh) | 应用程序更新方法和装置 | |
CN116709549B (zh) | 资源共享方法、装置、电子设备及可读存储介质 | |
WO2015003570A1 (en) | Data downloading method,device and system thereof | |
CN113268272B (zh) | 基于私有云的应用交付方法、装置及系统 | |
US20150128070A1 (en) | Additional Service Executing Apparatus Included in User Terminal to Provide Additional Service, and Method for Providing Additional Service Using Same |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40094512 Country of ref document: HK |