CN114691631A - 一种数据同步方法和装置 - Google Patents

一种数据同步方法和装置 Download PDF

Info

Publication number
CN114691631A
CN114691631A CN202011635721.1A CN202011635721A CN114691631A CN 114691631 A CN114691631 A CN 114691631A CN 202011635721 A CN202011635721 A CN 202011635721A CN 114691631 A CN114691631 A CN 114691631A
Authority
CN
China
Prior art keywords
media file
user
mobile phone
media
thumbnail
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011635721.1A
Other languages
English (en)
Inventor
陈刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011635721.1A priority Critical patent/CN114691631A/zh
Priority to PCT/CN2021/136803 priority patent/WO2022143081A1/zh
Publication of CN114691631A publication Critical patent/CN114691631A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例提供一种数据同步方法和装置,涉及终端领域,能够简单便捷地实现跨设备数据分享,无需用户进行频繁地手动操作,可以提高用户体验。其方法为:第一设备获取媒体文件更新事件;其中,媒体文件更新事件用于增加、修改或删除第一媒体文件;第一设备更新元数据库中第一媒体文件对应的元数据,并更新媒体库中第一媒体文件的缩略图;第一设备向第二设备发送同步消息,同步消息包括第一媒体文件对应的元数据和第一媒体文件的缩略图。

Description

一种数据同步方法和装置
技术领域
本申请涉及通信领域,尤其涉及一种数据同步方法和装置。
背景技术
随着智能手机、平板、个人计算机(personal computer,PC)等数字化设备的普及和发展,个人终端数量激增,不同设备的数据分散存储,如何实现安全便捷地跨设备数据分享成为一个亟待解决的问题。
目前,“隔空投送”、“MFiles”等方案可以实现在两台设备之间共享一些数据(例如,图片数据)。例如,设备A和设备B建立连接后,设备A的用户可以将设备A的10张图片发送给设备B,设备B的用户可以选择接收并存储该10张图片,这样,设备A与设备B之间实现了该10张图片的共享。
但是,上述方案在数据传输过程中耗费时间,且需要用户频繁操作(例如,需要勾选待分享的图片以及待分享的设备),无法很好实现跨设备数据分享。
发明内容
本申请实施例提供一种数据同步方法和装置,能够简单便捷地实现跨设备数据分享,无需用户进行频繁地手动操作,可以提高用户体验。
第一方面,本申请实施例提供一种数据同步方法,方法包括:第一设备获取媒体文件更新事件;其中,媒体文件更新事件用于增加、修改或删除第一媒体文件;第一设备更新元数据库中第一媒体文件对应的元数据,并更新媒体库中第一媒体文件的缩略图;第一设备向第二设备发送同步消息,同步消息包括第一媒体文件对应的元数据和第一媒体文件的缩略图。这样,第一设备和第二设备之间可以自动同步元数据库和媒体库,能够简单便捷地实现跨设备数据分享,无需用户进行频繁地手动操作,可以提高用户体验。
在一种可能的实现方式中,同步消息还包括用户账号、第一设备的设备信息以及第一媒体文件的更新类型中的至少一种,第一媒体文件的更新类型包括增加、修改或删除。基于用户账号、第一设备的设备信息以及第一媒体文件的更新类型中的至少一种,第一设备和第二设备之间可以自动同步元数据库和媒体库,能够简单便捷地实现跨设备数据分享,无需用户进行频繁地手动操作,可以提高用户体验。
在一种可能的实现方式中,第一媒体文件的缩略图包括第一类型的缩略图,第一类型的缩略图的大小范围为10千字节(kb/K)~20K。例如,第一类型的缩略图的大小可以为10K、15K或20K。
在一种可能的实现方式中,方法还包括:第一设备接收第一请求消息,第一请求消息用于请求第二类型的缩略图,第二类型的缩略图的大小范围为100K~300K;第一设备向第二设备发送第二类型的缩略图。示例性的,第二类型的缩略图的大小可以为150K、180K、200K、230K等。
在一种可能的实现方式中,第一媒体文件包括图片、视频、音频、文档中的至少一种。
在一种可能的实现方式中,方法还包括:第一设备显示包含第二设备的标识的第一界面;响应于用户在第一界面点击第二设备的标识的操作,第一设备显示第二界面,第二界面包括第二设备的至少一种类型的媒体文件的一个或多个缩略图。示例性的,如图5A所示,第一设备(例如,手机A)可以显示包含第二设备的标识(例如,Mate 30pro)的第一界面(例如,界面420),响应于用户在第一界面点击第二设备的标识的操作,如图6A所示,第一设备显示第二界面,第二界面包括第二设备的至少一种类型的媒体文件(例如,图片、视频、音频、文档)的一个或多个缩略图。其中,图片例如可以是A-002.jpg,文档例如可以包括封面设计.pptx等。
在一种可能的实现方式中,第一界面或第二界面包括搜索控件,响应于用户点击搜索控件后输入关键词的操作,第一设备显示第三界面,第三界面包括从第一设备和第二设备搜索到的与关键词相关的媒体文件的标识。示例性的,如图7B中的(a)所示,响应于用户点击搜索控件440后输入关键词(例如,托福)的操作,如图7B中的(b)所示,第一设备显示第三界面(例如,界面441),第三界面包括从第一设备和第二设备搜索到的与关键词相关的媒体文件的标识。例如,可以包括托福阶梯技巧.doc、托福听力解析.mp3等。
在一种可能的实现方式中,方法还包括:响应于用户在第二界面点击第一缩略图的操作,第一设备显示第一弹框,第一弹框包括第一操作选项;响应于用户点击第一操作选项的操作,第一设备显示第二弹框,第二弹框包括一个或多个应用程序或设备标识;响应于用户点击一个应用程序或一个设备标识的操作,第一设备将第一缩略图分享至用户点击的应用程序或设备标识对应的设备。示例性的,如图8A中的(a)所示,响应于用户在第二界面(例如,界面430)点击第一缩略图(例如,图片450)的操作,第一设备显示第一弹框(例如,弹框451),第一弹框包括第一操作选项(例如,分享选项452);响应于用户点击第一操作选项的操作,如图8A中的(b)所示,第一设备可以显示第二弹框(例如弹框453),第二弹框包括一个或多个应用程序或设备标识(例如,
Figure BDA0002878436450000021
附近设备等);响应于用户点击一个应用程序或一个设备标识的操作,第一设备将第一缩略图分享至用户点击的应用程序或设备标识对应的设备。
在一种可能的实现方式中,第一设备与第二设备首次连接时,方法还包括:第一设备将第一设备的全部媒体文件对应的元数据和全部媒体文件对应的缩略图同步给第二设备。即第一设备与第二设备首次连接时,第一设备和第二设备之间可以自动同步第一设备的全部媒体文件对应的元数据和全部媒体文件对应的缩略图,能够简单便捷地实现跨设备数据分享,无需用户进行频繁地手动操作,可以提高用户体验。
在一种可能的实现方式中,第一设备与第二设备第N次连接时,N为大于或等于2的整数,方法还包括:第一设备将上一次同步后第一设备上更新的媒体文件对应的元数据和更新的媒体文件对应的缩略图同步给第二设备。第一设备与第二设备第N次连接时,第一设备和第二设备之间可以自动同步第一设备更新的媒体文件对应的元数据和缩略图,无需重新同步全部的媒体文件,可以节省资源,提高效率。
在一种可能的实现方式中,方法还包括:第一设备基于人工智能(artificialintelligence,AI)算法分析用户的喜好、行为习惯;根据用户的喜好、行为习惯预判用户需要操作的媒体文件;将用户需要操作的媒体文件的第二类型的缩略图发送给第二设备。这样,第二设备可以提前将用户可能打开的媒体文件缓存到本地,用户后续可以迅速查看第二类型的缩略图,可以提高用户体验。
在一种可能的实现方式中,第一设备基于预设周期删除冷数据;其中,冷数据包括访问次数低于预设阈值的媒体文件的缩略图。这样,可以节省第一设备的内存空间。
在一种可能的实现方式中,方法还包括:第一设备首次播放第二设备的媒体文件时,启动流服务器代理,流服务器代理用于将第二设备的媒体文件封装成流媒体格式;第一设备通过流服务器代理分m次从第二设备获取第二设备的媒体文件并缓存;其中,m为大于等于2的整数;第一设备播放缓存数据。这样,第一设备首次播放第二设备的媒体文件时,播放端无需等待媒体文件(例如,原始视频文件)完整下载后再启动播放,可以实时播放,从而可以实现类本地播放的高性能用户体验。
在一种可能的实现方式中,第一设备第N次播放第二设备的媒体文件时,获取第二设备的媒体文件的统一资源标识符(uniform resource identifier,URI),根据URI获取缓存数据并播放;其中,N为大于等于2的整数。这样,第一设备第N次播放第二设备的媒体文件时,可以根据URI获取缓存数据并直接播放媒体文件,无需重新缓存数据,可以降低第一设备的功耗。
第二方面,本申请实施例提供一种全量同步方法,包括:第一设备与第二设备首次连接时,方法还包括:第一设备将第一设备的全部媒体文件对应的元数据和全部媒体文件对应的缩略图同步给第二设备。即第一设备与第二设备首次连接时,第一设备和第二设备之间可以自动同步第一设备的全部媒体文件对应的元数据和全部媒体文件对应的缩略图,能够简单便捷地实现跨设备数据分享,无需用户进行频繁地手动操作,可以提高用户体验。
第三方面,本申请实施例提供一种增量同步方法,包括:第一设备与第二设备第N次连接时,N为大于或等于2的整数,方法还包括:第一设备将上一次同步后第一设备上更新的媒体文件对应的元数据和更新的媒体文件对应的缩略图同步给第二设备。即第一设备与第二设备第N次连接时,第一设备和第二设备之间可以自动同步第一设备更新的媒体文件对应的元数据和缩略图,无需重新同步全部的媒体文件,可以节省资源,提高效率。
第四方面,本申请实施例提供一种自动缓存方法,包括:第一设备基于人工智能AI算法分析用户的喜好、行为习惯;根据用户的喜好、行为习惯预判用户需要操作的媒体文件;将用户需要操作的媒体文件的第二类型的缩略图发送给第二设备。这样,第二设备可以提前将用户可能打开的媒体文件缓存到本地,用户后续可以迅速查看第二类型的缩略图,可以提高用户体验。
第五方面,本申请实施例提供一种自动老化方法,包括:第一设备基于预设周期删除冷数据;其中,冷数据包括访问次数低于预设阈值的媒体文件的缩略图。这样,可以节省第一设备的内存空间。
第六方面,本申请实施例提供一种流媒体播放方法,包括:第一设备首次播放第二设备的媒体文件时,启动流服务器代理,流服务器代理用于将第二设备的媒体文件封装成流媒体格式;第一设备通过流服务器代理分m次从第二设备获取第二设备的媒体文件并缓存;其中,m为大于等于2的整数;第一设备播放缓存数据。这样,第一设备首次播放第二设备的媒体文件时,播放端无需等待媒体文件(例如,原始视频文件)完整下载后再启动播放,可以实时播放,从而可以实现类本地播放的高性能用户体验。
在一种可能的实现方式中,第一设备第N次播放第二设备的媒体文件时,获取第二设备的媒体文件的URI,根据URI获取缓存数据并播放;其中,N为大于等于2的整数。这样,第一设备第N次播放第二设备的媒体文件时,可以根据URI获取缓存数据并直接播放媒体文件,无需重新缓存数据,可以降低第一设备的功耗。
第七方面,本申请实施例提供一种电子设备(例如,第一设备或第二设备),该电子设备具有实现上述任一方面及其任一种可能的实现方式所述的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第八方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令。当计算机指令在电子设备上运行时,使得该电子设备执行上述任一方面及其任一种可能的实现方式所述的方法。
第九方面,本申请提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如第一方面及其任一种可能的实现方式所述的方法。
第十方面,本申请实施例提供一种芯片系统,该芯片系统包括一个或多个接口电路和一个或多个处理器。该接口电路和处理器通过线路互联。该芯片系统可以应用于包括通信模块和存储器的电子设备。该接口电路用于从电子设备的存储器接收信号,并向处理器发送接收到的信号,该信号包括存储器中存储的计算机指令。当处理器执行该计算机指令时,电子设备可以执行上述任一方面及其任一种可能的实现方式所述的方法。
第十一方面,本申请实施例提供一种数据同步系统,包括两个电子设备(例如第一设备和第二设备),每个电子设备可以执行上述任一方面及其任一种可能的实现方式的方法。
示例性的,第一设备可以获取媒体文件更新事件;其中,媒体文件更新事件用于增加、修改或删除第一媒体文件;第一设备更新元数据库中第一媒体文件对应的元数据,并更新媒体库中第一媒体文件的缩略图;第一设备向第二设备发送同步消息,同步消息包括第一媒体文件对应的元数据和第一媒体文件的缩略图。第二设备可以接收来自第一设备的同步消息。
附图说明
图1A为本申请实施例提供的一种网络架构示意图;
图1B为本申请实施例提供的一种网络架构示意图;
图2为本申请实施例提供的一种电子设备200的硬件结构示意图;
图3为本申请实施例提供的一种显示示意图;
图4A为本申请实施例提供的又一种显示示意图;
图4B为本申请实施例提供的又一种显示示意图;
图4C为本申请实施例提供的又一种显示示意图;
图5A为本申请实施例提供的又一种显示示意图;
图5B为本申请实施例提供的又一种显示示意图;
图6A为本申请实施例提供的又一种显示示意图;
图6B为本申请实施例提供的又一种显示示意图;
图6C为本申请实施例提供的又一种显示示意图;
图6D为本申请实施例提供的又一种显示示意图;
图7A为本申请实施例提供的又一种显示示意图;
图7B为本申请实施例提供的又一种显示示意图;
图8A为本申请实施例提供的又一种显示示意图;
图8B为本申请实施例提供的又一种显示示意图;
图9A为本申请实施例提供的又一种显示示意图;
图9B为本申请实施例提供的又一种显示示意图;
图10A为本申请实施例提供的一种手机的软件架构示意图;
图10B为本申请实施例提供的一种手机A、手机B和云服务器之间的系统架构示意图;
图11A为本申请实施例提供的一种手机A和手机B之间的信号交互示意图;
图11B为本申请实施例提供的又一种手机A和手机B之间的信号交互示意图;
图11C为本申请实施例提供的又一种手机A和手机B之间的信号交互示意图;
图11D为本申请实施例提供的又一种手机A和手机B之间的信号交互示意图;
图11E为本申请实施例提供的又一种显示示意图;
图12为本申请实施例提供的又一种手机A和手机B之间的信号交互示意图;
图13为本申请实施例提供的又一种手机A和手机B之间的信号交互示意图;
图14为本申请实施例提供的又一种显示示意图;
图15为本申请实施例提供的又一种信号交互示意图;
图16为本申请实施例提供的一种芯片结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“至少一个”是指一个或多个,“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
随着智能手机、平板、个人计算机(personal computer,PC)和智能家电等数字化设备的普及和发展,个人终端数量及媒体数据量激增。并且,手机的拍照技术的发展使得个人影像内容海量出现,导致单个设备的存储空间紧张。上述情况下,用户对智能查找及共享的需求与日俱增,推动了分布式媒体数据管理发展。
本申请实施例提供一种分布式媒体数据管理方法和框架,可以实现用户跨设备访问、检索、分享本地化,操作便捷。
本申请实施例涉及的系统架构可以包括多个电子设备,多个电子设备之间可以进行组网,组网后多个电子设备之间可以进行信息交互。组网方式包含不限于以下方式:
(1)、无线保真(wireless fidelity,WIFI)组网方式:多个电子设备可以接入同一个路由设备(例如,路由器)。如图1A所示,手机101、手机102、平板电脑103、笔记本电脑104、智慧电视105可以接入路由器106,组成一个家庭网络。或者,多个电子设备可以加入同一个热点设备(例如,接入同一个手机的热点),此时电子设备和电子设备之间的信息交互,可以通过热点设备转发。例如,手机102、平板电脑103、笔记本电脑104、智慧电视105可以接入手机101,组成一个热点网络,手机101可以作为热点设备为各个电子设备转发信息。
(2)、云端服务器组网方式:多个电子设备可以连接到同一个云端服务器,此时电子设备和电子设备之间的信息交互,可以通过云端服务器转发。如图1B所示,手机102、平板电脑103、笔记本电脑104、智慧电视105可以接入路由器106,组成一个家庭网络,路由器106可以连接到服务器201,手机101也可以连接到服务器201,服务器201可以作为中转设备为路由器106和手机101转发信息,即路由器106可以通过服务器201与手机101进行信息交互。手机101可以通过服务器201和路由器106与手机102、平板电脑103、笔记本电脑104、智慧电视105等电子设备进行信息交互。
在一种可能的设计中,手机101、手机102、平板电脑103、笔记本电脑104、智慧电视105和路由器106都可以连接到服务器,服务器可以作为中转设备为手机101、手机102、平板电脑103、笔记本电脑104、智慧电视105和路由器106之间转发信息。即手机101、手机102、平板电脑103、笔记本电脑104、智慧电视105和路由器106之间可以通过服务器进行信息交互。
或者,多个电子设备之间还可以进行蓝牙组网。例如,多个电子设备(例如,手机102、平板电脑103、笔记本电脑104、智慧电视105和路由器106)可以连接到同一个蓝牙设备(例如,手机101),此时电子设备和电子设备之间的信息交互,可以通过蓝牙设备转发。
多个电子设备可以采用多种组网方式,例如,同时采用无线保真组网方式、蓝牙组网方式或云端服务器组网方式中的至少两种,本申请不做限定。
本申请实施例中以图1A或图1B所示的各个电子设备(如手机101或手机102)是电子设备200为例,对本申请实施例提供的电子设备的结构进行举例说明。如图2所示,电子设备200可以包括:处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serial bus,USB)接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及用户标识模块(subscriber identification module,SIM)卡接口295等。
其中,上述传感器模块280可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器和骨传导传感器等传感器。
可以理解的是,本实施例示意的结构并不构成对电子设备200的具体限定。在另一些实施例中,电子设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备200的结构限定。在另一些实施例中,电子设备200也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块240用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。充电管理模块240为电池242充电的同时,还可以通过电源管理模块241为电子设备供电。
电源管理模块241用于连接电池242,充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210,内部存储器221,外部存储器,显示屏294,摄像头293,和无线通信模块260等供电。在一些实施例中,电源管理模块241和充电管理模块240也可以设置于同一个器件中。
电子设备200的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。在一些实施例中,电子设备200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得电子设备200可以通过无线通信技术与网络以及其他设备通信。
天线1和天线2用于发射和接收电磁波信号。电子设备200中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块250可以提供应用在电子设备200上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块250可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块250可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
移动通信模块250还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块250的至少部分功能模块可以被设置于处理器210中。在一些实施例中,移动通信模块250的至少部分功能模块可以与处理器210的至少部分模块被设置在同一个器件中。
无线通信模块260可以提供应用在电子设备200上的包括WLAN(如(wirelessfidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigationsatellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(nearfield communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
无线通信模块260可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块260经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块260还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
电子设备200通过GPU,显示屏294,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏294和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏294用于显示图像,视频等。该显示屏294包括显示面板。
电子设备200可以通过ISP,摄像头293,视频编解码器,GPU,显示屏294以及应用处理器等实现拍摄功能。ISP用于处理摄像头293反馈的数据。摄像头293用于捕获静态图像或视频。在一些实施例中,电子设备200可以包括1个或N个摄像头293,N为大于1的正整数。
外部存储器接口220可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备200的存储能力。外部存储卡通过外部存储器接口220与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行电子设备200的各种功能应用以及数据处理。例如,在本申请实施例中,处理器210可以通过执行存储在内部存储器221中的指令,内部存储器221可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备200使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。
电子设备200可以通过音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
按键290包括开机键,音量键等。按键290可以是机械按键。也可以是触摸式按键。马达291可以产生振动提示。马达291可以用于来电振动提示,也可以用于触摸振动反馈。指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口295用于连接SIM卡。SIM卡可以通过插入SIM卡接口295,或从SIM卡接口295拔出,实现和电子设备200的接触和分离。电子设备200可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口295可以支持Nano SIM卡,Micro SIM卡,SIM卡等。
为了便于理解,以电子设备为手机为例,结合附图对本申请实施例提供的方法进行具体介绍。
如图3中的(a)所示,在手机A的主界面301打开设置应用302后,可以进入如图3中的(b)所示的设置界面303。在设置界面303中,可以包括多个设置选项,例如可以包括个人账号设置项(例如,Glen Gao)、WLAN设置项、蓝牙设置项、移动网络设置项、更多连接设置项、桌面和壁纸设置项等。响应于用户点击更多连接设置项对应的控件304,如图3中的(c)所示,手机可以显示更多连接界面305。在更多连接界面305中,可以包括多个连接选项,例如可以包括多设备协同选项、NFC选项、Huawei Share选项、Huawei HiCar选项、手机投屏选项、打印选项和VPN选项等。响应于用户点击“多设备协同”对应的控件306,如图3中的(d)所示,手机可以显示多设备协同界面307。在多设备协同界面307中,可以包括提示动画/提示图片308和提示文字309。提示文字309用于提示用户在“非锁屏时自屏幕左下角上划即可进入设备控制中心,可将本机任务接续至附近其他设备及快捷控制智能家居”,提示动画308用于向用户演示自屏幕左下角上划的操作。当然,也可以是非锁屏时自屏幕右下角上划进入设备控制中心,本申请不做限定。其中,设备控制中心是一种系统APP。设备控制中心也可以替换为文件管理(也可以称为文件管理器,一种系统APP)。多设备协同界面307中还可以包括开关(按钮)310以及提示信息311。提示信息311说明了“本服务(多设备协同服务/功能)及其底层服务(文字处理、资源更新AI智能、通用卡片管理服务)需联网,使用存储、信息、蓝牙、电话(读取设备通话状态、拨打电话)、位置信息、通讯录、备忘录、日历权限,获取设备和账号信息。打开开关(即开关310),则表示您同意上述内容及关于多设备协同与隐私的声明”。用户可以在阅读提示信息311后了解多设备协同服务所需的权限,并决定是否打开开关311。若用户打开开关311,表示用户同意授权多设备协同服务所需使用的各种权限,手机A可以开启多设备协同服务/功能。
多个设备(例如,手机A和手机B)同时开启多设备协同服务/功能后,该多个设备之间建立连接,连接后,在多个设备中的任一个设备可以实现跨设备数据访问、检索和分享。多个设备可以对应同一个账号(例如,华为账号),或者,多个设备可以分别对应不同账号,本申请不做限定。
又例如,如图4A中的(a)所示,在手机A的设备控制中心的“浏览”界面401中,可以包括搜索栏、各种媒体内容的图标(例如,包括图片、视频、文档、应用等媒体内容的图标)、位置(例如,包括我的手机、华为云盘、最近删除等位置)、来源(例如,包括下载与接收、
Figure BDA0002878436450000091
等来源)。在界面401中,还可以包括用于添加其它设备的控件402。响应于用户点击控件402的操作,如图4A中的(b)所示,手机可以显示添加设备界面403。在添加设备界面403中,可以显示手机A当前搜索到的设备(例如,连接到同一局域网的设备),例如可以包括Mate 30pro(手机B),Mate pad pro(平板电脑)、华为电视、Mate book(笔记本电脑)等。界面403中还可以包括用于添加网络邻居、添加FTP、WebDAB的选项以及帮助信息405,帮助信息405可以帮助用户解答“如何连接其他设备?”的疑惑,并可以进行“设备推荐”。响应于用户点击Mate 30pro(手机B)对应的控件404的操作,如图4A中的(c)所示,手机A可以弹出提示框406,提示框406包括文字提示407a、取消按钮408和连接按钮409。文字提示407a可以向用户提示“连接后,您可以查看该设备数据,并在设备之间共享数据,是否连接?”,响应于用户点击连接按钮409的操作,手机A可以向手机B发送连接请求,同时,如图4A中的(d)所示,提示框406中的提示文字407a可以变为407b,提示文字407b可以向用户提示“等待Mate30 pro确认...”。如图4B所示,假设手机A向手机B发送连接请求时,手机B处于亮屏状态且当前显示内容为桌面,手机B的桌面可以弹出弹框410,弹框410中可以包括文字提示411、拒绝按钮412和允许按钮413。文字提示411可以用于向用户提示“HUAWEI P20(即手机A)想要连接此设备,连接后,可在设备之间共享数据,是否连接?”,响应于用户点击允许按钮413的操作,手机B可以与手机A建立连接,从而可以共享数据。可选的,弹框410中还可以包括提示文字414,用于提示用户是否选择“信任此设备,始终允许连接”,若用户点击了勾选框,手机B下次可以与手机A自动连接,无需通知用户,用户也无需进行相应操作(例如点击允许按钮),可以提高用户体验。
在一种可能的设计中,如图4C所示,在手机A的“最近”界面415中,可以显示用于查看其它设备的即时入口416,响应于用户点击即时入口416的操作,手机A可以显示如图4A中的(b)所示的界面。后续过程可以参考关于图4A的相关描述,在此不做赘述。
类似手机A与Mate 30pro(手机B)建立连接的过程,手机A可以分别与Mate padpro(平板电脑)、华为电视和Mate book(笔记本电脑)等设备建立连接。这样,用户可以实现跨设备数据访问和分享,例如用户可以在手机A上查看Mate 30pro(手机B),Mate pad pro(平板电脑)、华为电视和Mate book(笔记本电脑)等设备的数据。这样,可以解决个人终端设备众多,个人数据分散存储导致的用户查找数据不方便的问题。
手机A与Mate 30pro(手机B),Mate pad pro(平板电脑)、华为电视和Mate book(笔记本电脑)等设备建立连接后,如图5A所示,在浏览界面420的其他设备选项421下方,可以显示手机A当前连接的全部设备,例如可以包括Mate 30pro(手机B),Mate pad pro(平板电脑)、华为电视和Mate book(笔记本电脑)。
进一步的,用户也可以取消手机A与Mate 30pro(手机B),Mate pad pro(平板电脑)、华为电视和Mate book(笔记本电脑)等设备之间的连接。例如,如图5B中的(a)所示,响应于用户长按(例如,按住屏幕2s)Mate 30pro(手机B)对应的区域422中的任一位置的操作,手机A可以弹出弹框423,弹框423中包括取消授权选项和删除设备选项,若用户点击取消授权选项,响应于用户的操作,如图5B中的(c)所示,手机A可以弹出弹框426,弹框426中包括提示信息“取消授权后,设备之间不再共享数据,是否取消”以及暂不取消按钮和取消授权按钮,用户可以根据自身的需求点击相应的按钮。若用户点击删除设备选项,如图5B中的(d)所示,响应于用户的操作,手机A可以弹出弹框427,弹框427中包括提示信息“删除后,设备之间不再共享数据,是否删除”以及取消按钮和删除按钮,用户可以根据自身的需求点击相应的按钮。又例如,如图5B中的(b)所示,用户可以在Mate 30pro(手机B)对应的区域422中向左滑动,手机A可以显示取消授权图标424和删除设备图标425,若用户点击取消授权图标424,响应于用户的操作,如图5B中的(c)所示,手机A可以弹出弹框426,弹框426可以参见上文的说明。若用户点击删除设备图标425,如图5B中的(d)所示,响应于用户的操作,手机A可以弹出弹框427,弹框427可以参见上文的说明。
在一些实施例中,用户可以在手机A上查看其他设备的媒体文件。本申请实施例中,查看媒体文件可以是指查看媒体文件的缩略图(例如,图片的缩略图,音频、视频的封面缩略图)或媒体文件本身(媒体文件本身可以称为原始媒体文件,例如,原始媒体文件可以是图片的原图,视频的原文件、音频的原文件等)。如图5A所示,响应于用户点击Mate 30pro(手机B)对应的区域422中的任一位置,如图6A所示,手机A可以显示Mate 30pro(手机B)对应的媒体文件界面430,界面430中可以包括多个选项卡,例如可以包括最近、图片、视频、音频、文档、其他等选项卡。手机A可以默认展示最近选项卡431的内容,此时界面430中可以显示不同应用程序最近处理(下载、缓存、上传)的媒体文件(例如,图片、视频、音频、文档等)。例如,
Figure BDA0002878436450000101
刚刚(例如,5分钟内)处理了2项媒体文件(图片),分别为A-001.jpg和A-001.jpg(图片格式为jpg),其处理时间都为2019/3/16,其大小分别为9.34KB。类似的,WPS昨天处理了5项媒体文件(例如,文档)。
Figure BDA0002878436450000102
昨天处理了8项媒体文件(例如,图片)。图6A中
Figure BDA0002878436450000103
处理的8项媒体文件未显示完整,用户可以进行向上滑动的操作,手机A响应于用户的操作,可以显示更多媒体文件。如图6B所示,响应于用户选择图片选项卡432的操作,手机A可以展示图片选项卡432的内容,即选中图片选项卡432时,界面430可以显示Mate30pro(手机B)的不同图片文件夹的内容,例如可以包括全部图片(共223项)、截屏(共34项截屏)、图像(共123项),图片(共327项)和邮件(共327项)等图片文件夹。如图6C所示,响应于用户选择视频选项卡433的操作,手机A可以展示视频选项卡433的内容,即选中视频选项卡433时,界面430可以显示Mate 30pro(手机B)的视频文件夹的内容,例如可以包括全部视频(共568项)、来自
Figure BDA0002878436450000104
的视频(共34项)、来自
Figure BDA0002878436450000105
的视频(共123项),来自华为视频的视频(共327项)和来自
Figure BDA0002878436450000106
的视频(共6项)等视频文件夹。如图6D所示,响应于用户选择音频选项卡434的操作,手机A可以展示音频选项卡434的内容,即选中音频选项卡434时,界面430可以显示来自Mate 30pro(手机B)的各个音频的图标和名称,例如可以包括xx1.mp3、xx2.mp3、xx3mp3、xx4.mp3、xx5.mp3、xx6.mp3、xx7.mp3、xx8.mp3、xx9.mp3、xx10.mp3、xx11.mp3、xx12.mp3等等。
这样,手机A与Mate 30pro(手机B)建立连接后,用户可以在手机A上查看Mate30pro(手机B)的数据,可以实现跨设备数据访问本地化。
类似的,如图5A所示,响应于用户点击Mate pad pro、华为电视或Mate book对应的区域中的任一位置,手机A可以显示Mate pad pro、华为电视或Mate book对应的界面,用户可以通过不同设备分别对应的界面查看不同设备的媒体文件。具体描述可以参考上文中关于Mate 30pro对应的界面的描述,在此不做赘述。
在一些实施例中,用户可以在手机A上检索本设备和其他设备(手机A当前连接的其他设备)的媒体文件。如图7A中的(a)所示,响应于用户在手机A的最近界面415的搜索框417中输入“托福”的操作,如图7A中的(b)所示,手机A可以默认显示本机选项卡418的搜索结果,本机的搜索结果可以包括来自“华为云盘”的文件(例如,托福基础讲义.doc等)、手机A本地的视频(例如,6秒钟讲解托福考试内容.mp4等)和音频(例如,托福听力基础课程.mp3等)。如图7A中的(c)所示,响应于用户选择其他设备选项卡421的操作,手机A可以显示其他设备的搜索结果,其他设备的搜索结果可以包括Mate 30Pro找到10项文件和Matebook找到6项文件。示例性的,Mate 30Pro找到10项文件可以包括托福解题技巧.doc等。Matebook找到6项文件可以包括托福考试突破.mp4等。用户可以通过点击查看更多按钮查看Mate30Pro或Matebook找到的更多文件。这样,用户可以在手机A连接的全部设备上搜索某项内容,无需在不同的设备上分别进行搜索操作,可以简化用户的操作,提高用户体验。即本申请实施例可以实现跨设备融合检索,能够解决用户数据散落各处,不易查找的问题。
或者,用户可以选择在某个设备上搜索某项内容。例如,如图7B中的(a)所示,在手机A的界面430中,响应于用户点击搜索控件440的操作,手机A可以显示如图7B中的(b)所示的搜索界面441,在界面441的搜索框442中,手机A可以接收用户输入的“托福”,响应于用户输入“托福”的操作,手机A可以显示Mate 30pro(手机B)针对“托福”的搜索结果,搜索结果可以是找到10项文件,例如可以包括托福解题技巧.doc、托福听力解析.mp3和托福听力提高.mp4等文件。这样,用户可以在手机A连接的任一个设备中搜索某项内容(例如,“托福”),无需在相应的设备(例如,Mate 30pro(手机B))上进行相应的搜索操作,可以简化用户的操作,提高用户体验。
用户可以在手机A上将手机B的一项或多项媒体文件分享至第三方应用程序或系统应用程序。在一种可能的设计中,如图8A中的(a)所示,在手机A的界面430中,响应于用户长按图片450的操作,手机A可以弹出弹框451,弹框451中可以包括多个操作选项,例如可以包括分享、多选、复制、详情和打开方式等操作选项。响应于用户点击分享操作选项452的操作,如图8A中的(b)所示,手机A可以弹出弹框453,在弹框453中可以包括提示信息454和可被分享的应用程序或服务的图标455,提示信息454可以用于提示用户:“正在发现附近的设备,对方需要在通知栏开启Huawei Share,如需打印,请确保打印机可被发现。”可被分享的应用程序或服务的图标455例如可以包括
Figure BDA0002878436450000111
邮箱、华为云盘等。若用户不想继续分享,可以点击取消按钮456取消分享。本申请实施例可以实现用户数据分享本地化,解决用户数据分享不便利的问题。
在另一种可能的设计中,如图8B中的(a)所示,在手机A的界面430中,响应于用户长按图片450的操作,手机A可以弹出弹框460和弹框461,弹框460中可以包括用户常用的几个操作选项,例如可以包括分享、收藏和删除等操作选项。弹框461中可以包括多个操作选项,例如可以包括多选、移动、复制、重命名、详情、打开方式、设置为和设为私密等操作选项。响应于用户点击弹框461中的移动操作选项462的操作,如图8B中的(b)所示,手机A可以弹出弹框463,在弹框463中可以包括多个可被移动的位置信息,例如可以包括我的手机中的SD卡和华为云盘,还可以包括其他设备(例如,Mate 30pro(手机B))的不同文件夹,例如可以包括Mate 30pro(手机B)的Alarms、apmmodel、edge、picture和我的文件等文件夹。响应于用户点击Alarms文件夹对应的区域464中的任一位置的操作,在弹框463的上方可以显示提示文字465,提示用户“移动1项到“Alarms”,共17.34MB”。其中,被移动的1项媒体文件即图片450,图片450共17.34MB。本申请实施例可以实现用户数据分享本地化,解决用户数据分享不便利的问题。
本申请实施例支持第三方应用跨设备查找、访问、分享媒体文件。例如,用户在邮件应用插入附件时,可以从本机中查找,也可以从与本机连接的多个设备中查找。
在一种可能的实现方式中,如图9A中的(a)所示,当用户在手机A进入到新建邮件界面470时,可以点击添加附件的控件471,响应于用户点击控件471的操作,如图9A中的(b)所示,手机A可以显示标签页(Tab)为最近的界面472,在界面472中,每个媒体文件的图标上显示一个选择框,可供用户选择。例如,媒体文件473a的图标上可以显示选择框473b。响应于用户点击媒体文件473a(即封面设计.pptx)的操作,如图9A中的(c)所示,媒体文件473a上的选择框的显示样式改变,表示该文件已选中。界面472的上方还可以包括提示信息474,提示用户当前“已选择1/20”,即用户总共可以选择20个文件,当前已选中一个。响应于用户点击完成按钮475的操作,如图9A中的(d)所示,手机A可以返回显示新建邮件界面470,此时,在新建邮件界面470中增加了附件显示区域476,在附件显示区域476中,可以显示用户选择的附件(例如,封面设计.pptx)。可选的,用户可以点击控件477删除当前选择的附件。
在另一种可能的实现方式中,如图9A中的(a)所示,当用户在手机A进入到新建邮件界面470时,可以点击为邮件添加附件的控件471,响应于用户点击控件471的操作,如图9B中的(a)所示,手机A可以显示标签页(Tab)为最近的界面472,在界面472中,每个媒体文件的图标上悬浮显示一个选择框,可供用户选择。响应于用户点击浏览标签页的图标480的操作,如图9B中的(b)所示,手机A可以显示浏览标签页的界面480a,在界面480a中,响应于用户选择Mate 30pro(手机B)的操作,如图9B中的(c)所示,手机A可以显示界面480b,界面480b默认显示Mate 30pro(手机B)的最近选项卡的内容。界面480b中可以包括提示信息483,用于提示用户当前正在浏览Mate 30pro(手机B)的媒体文件。当用户选中媒体文件481(即A-002.jpg)和媒体文件482(即封面设计.pptx)后,提示信息484可以提示用户当前“已选择2/20”,即用户总共可以选择20个文件,当前已选中两个。而后,响应于用户点击完成按钮485的操作,如图9B中的(d)所示,手机A可以返回显示新建邮件界面470,此时,在新建邮件界面470中增加了附件显示区域486,在附件显示区域486中,可以显示用户选择的附件(例如,A-002.jpg和封面设计.pptx)。
本申请实施例支持从第三方应用跨设备查找、访问、分享媒体文件,无需将其他设备的媒体文件先下载到本地,也无需用户进行繁琐的操作,可以提高用户体验。
上述手机(例如,手机A或手机B)的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明手机(手机A或手机B)的软件结构。当然,手机也可以是鸿蒙系统、IOS系统或者其他操作系统,本申请实施例不做限定。
如图10A所示,手机的软件架构可以包括应用程序层和框架层。
其中,应用程序层可以包括一系列应用程序包,应用程序包例如可以包括邮件,相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
框架层为应用程序层的应用程序提供应用编程接口(application programminginterface,API)和编程框架。框架层包括一些预先定义的函数。
示例性的,框架层可以包括统一操作框架001、分布式权限管理模块002、分布式数据库(也可以称为分布式数据管理模块)003、设备管理模块(也可以称为Peers管理模块)004、分布式存储模块005和跨设备传输模块006。下面对各个模块的功能进行简要说明。
统一操作框架001:可以封装并屏蔽近场通信、远场通信的通信差异,以及本设备、其他设备的存储差异,向应用程序提供统一的北向API,从而实现应用程序对设备的管理(添加、删除等)以及对媒体对象(即媒体文件)的鉴权、增加、删除、修改、查询(搜索)、浏览、分享、备份、迁移等操作。
分布式权限管理模块002:用于提供媒体分布式访问的权限管理,包括应用权限管理和用户账号权限管理等。
分布式数据库003:用于基于全量同步、增量同步和实时同步能力,实现跨设备媒体元数据的“即插即用访问”。“即插即用访问”是指提前在某个设备(例如,手机A)上存储其他设备(例如,手机B)的媒体元数据,这样,无需在访问时消耗时间获取其他设备的媒体元数据,可以快速访问其他设备的媒体元数据。其中,媒体元数据是描述媒体数据(媒体内容/媒体文件)的属性信息的数据。例如,可以包括媒体文件的标识、类型(音频、视频、图片等)、大小、存储位置等。
设备管理模块004:用于设备发现(例如,发现同一局域网中的其他设备)和状态管理(例如,与其他设备的连接情况),可以响应系统的设备建链(建连)、断链(断连)事件,触发媒体元数据同步和状态更新,向分布式数据库003通知应用数据和状态变化。
分布式存储模块005:用于媒体数据同步,缩略图数据同步和媒体数据跨设备访问、缓存(包括透明缓存和有状态缓存),一致性维护(例如,智能老化)。
跨设备传输模块006:用于控制媒体元数据、媒体数据(例如,缩略图数据)的跨设备传输,可以从其他设备接收媒体元数据、媒体数据,或者向其他设备发送媒体元数据、媒体数据。
需要说明的是,不同模块之间具有不同的交互接口,不同交互接口的功能和作用不同。
例如,应用程序层与统一操作框架001之间的交互接口10是北向API接口,是一种提供给应用程序进行媒体对象操作的接口。
统一操作框架001与分布式权限管理模块002之间的交互接口20是鉴权、授权接口,是一种提供给统一操作框架001的应用鉴权、账号鉴权、媒体对象权限管理的接口。
统一操作框架001与分布式数据库003之间的交互接口21是数据库操作接口,是一种提供给统一操作框架001的媒体元数据增加、删除、修改、查询的接口。其中,媒体元数据包括本地、云、分布式终端(即其他设备)的媒体元数据。
统一操作框架001与跨设备传输模块006之间的交互接口22是远程控制接口,是一种提供给统一操作框架001的协同编辑、跨设备拷贝/粘贴的业务的控制数据、内容数据传输的接口。
设备管理模块004与分布式数据库003之间的交互接口30是设备变更通知、查询接口,提供给分布式数据库004的远端设备状态变更通知、状态实时查询的接口。其中,远端设备可以包括PC、PAD、手机、NAS、云服务器等设备。
分布式数据库003与跨设备传输模块006之间的交互接口31是元数据同步接口,是一种提供给分布式数据库003的元数据跨设备查询、广播的数据传输的接口。
分布式数据库003与分布式存储模块005之间的交互接口32是文件操作接口,是一种提供给分布式数据库003的本地、云、分布式媒体文件的操作接口,支持跨设备的媒体文件增加、删除、修改和查询等。
设备管理模块004与跨设备传输模块006之间的交互接口40是设备发现、监听接口,是一种提供给设备管理模块004的设备状态变更信息的传输接口。
分布式存储模块005与跨设备传输模块006之间的交互接口50是文件缓存、同步接口,是一种提供给分布式存储模块005的跨设备媒体文件的传输接口。
另外,框架层还可以包括活动管理器、窗口管理器,内容提供器,视图系统,资源管理器,通知管理器等,本申请实施例对此不做任何限制。其中,活动管理器(ActivityManager):用于管理每个应用的生命周期。应用通常以Activity的形式运行在操作系统中。对于每一个Activity,在活动管理器中都会有一个与之对应的应用记录(ActivityRecord),这个ActivityRecord记录了该应用的Activity的状态。活动管理器可以利用这个ActivityRecord作为标识,调度应用的Activity进程。窗口管理器(WindowManagerService):用于管理在屏幕上使用的图形用户界面(graphical userinterface,GUI)资源,具体可用于:获取显示屏大小、窗口的创建和销毁、窗口的显示与隐藏、窗口的布局、焦点的管理以及输入法和壁纸管理等。
手机的软件架构还可以包括系统库和内核层(图10A中未示出)。系统库和内核层等可称为底层系统,底层系统中包括用于提供显示服务的底层显示系统,例如,底层显示系统包括内核层中的显示驱动以及系统库中的surface manager等。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),OpenGL ES,SGL等。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。OpenGL ES用于实现三维图形绘图,图像渲染,合成,和图层处理等。SGL是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
需要说明的是,设备管理模块004既可以进行近场设备的管理(例如,设备发现、设备连接),也可以进行远场设备的管理(例如,设备发现、设备连接),跨设备传输模块006可以进行近场设备之间的数据同步/数据传输,也可以进行远场设备之间的数据同步/数据传输。
设备发现和数据同步前需要满足以下至少一个前置条件:1)新建设备管理表,用于存放与本地设备连接过的近场设备/远场设备信息;2)新建数据同步状态表,用于存放近场设备/远场设备本地媒体数据的同步状态;3)新建相册集/相册表,用于存放相册集、相册信息;4)新建媒体资产/相册关系对应表,用于存放媒体资产与相册的关系;5)近场设备/远场设备注册近场设备/远场设备本地媒体数据监听。
其中,设备发现的过程可以包括:接收设备(近场设备/远场设备)的上线/下线事件,并更新设备管理表中设备对应的状态信息。设备断连时,将媒体数据变更记录到数据同步状态表中。
数据同步的过程可以包括:当本端设备与近场设备/远场设备连接时,本端设备向近场设备/远场设备发送数据同步请求,近场设备/远场设备从数据同步状态表中提取媒体对象同步状态,从媒体数据库中提取变更数据,同步给本端设备。示例性的,近场设备/远场设备可以新建相册集/相册表、媒体资产/相册关系对应表,依据设备管理表里面设备的链接状态,从相册集/相册表、媒体资产/相册关系对应表、MediaProvider数据库表中获取媒体文件元数据同步(全量同步、增量同步、实时同步)至本端设备,同时完成缩略图的同步。近场设备/远场设备首次上线时,与本端设备进行媒体元数据/缩略图的全量同步;近场设备/远场设备非首次上线时,与本端设备进行媒体元数据/缩略图的增量同步;近场设备/远场设备与本端设备为在线连接状态时,进行元数据/缩略图的实时同步。
另外,近场设备/远场设备与本端设备之间断联后可以进行异常恢复。示例性的,近场设备/远场设备依据设备管理表、数据同步状态表中的数据状态,获取相册集/相册表、媒体资产/相册关系对应表中的需要同步的增量元数据,同步给本端设备,并更新数据同步状态表。本端设备接收到同步的元数据后,完成本端设备的相册集/相册表、媒体资产/相册关系对应表的数据更新,并同步更新本地的近场设备/远场设备数据(MediaProvider的file表)。3、本端设备接收到近场设备/远场设备的缩略图同步后,将缩略图更新至缓冲区中。
设备上线与数据同步的时序联系可以是:无设备上线(本地数据版本号(version)=0)时,不启动全量同步;不启动增量同步;清空数据状态表。设备首次上线时,可以执行全量同步;不主动启动增量同步;当本地设备的数据版本号大于远程设备数据版本号时实时同步会被拉起,即本地设备数据版本号大于远程设备数据版本号时,执行实时同步。设备非首次上线时,不会主动启动全量同步,当增量同步的结构化查询语言(structured querylanguage,SQL)文件(SQL文件中包括更新的媒体文件的元数据)大于1兆字节(mb/M)时全量同步会被拉起,即当增量同步的SQL文件大于1M时可以启动全量同步。当确定进行全量同步时,本地设备数据版本号+1。当数据库(datebase,db)文件(例如,SQL文件)发送成功时,对端设备的数据版本号置为全量同步之前的本地设备数据版本号(即数据版本号)。当确定进行增量同步时,本地设备数据版本号+1;当SQL文件成功发送到对端时,对端设备的数据版本号置为当前的本地设备数据版本号(即数据版本号+1)。其中,数据版本号用于记录数据同步的次数,每同步一次,数据版本号可以加一(+1)。
示例性的,在远场通信中,如图10B所示,手机100的设备管理模块004可以通过设备云服务器与手机200的设备管理模块004进行设备发现。手机100的跨设备传输模块006可以通过点对点(peer to peer,P2P)服务器与手机200的跨设备传输模块006建立设备连接,进而远场设备(即手机100和手机200)之间可以直接进行数据传输。其中,远场设备之间可以采用远场设备通信协议进行通信,远场设备通信协议包括以太网、2/3/4/5G等。设备管理模块004还可以用于确定远场设备之间进行通信时的具体的消息格式、传输速率、协议规范等。
其中,P2P服务器可以采用网络地址转换(network address translation,NAT)会话穿透效用(session traversal utilities for NAT,STUN)和使用中继穿透NAT(traversal using relays around NAT,TURN)等技术为两台远场设备建立连接,能够实现两台远场设备(例如,手机100和手机200)之间进行P2P通信(即直接进行通信)。
示例性的,在近场通信中,手机100和手机200可以接入同一局域网(例如,蓝牙局域网或WIFI局域网),设备管理模块004可以基于局域网与手机200的设备管理模块004进行信息交互,从而可以对近场设备进行管理。手机100的跨设备传输模块006可以基于局域网与手机200的跨设备传输模块006进行信息交互,从而可以与近场设备进行数据传输。近场设备之间可以采用近场设备通信协议进行通信,近场设备通信协议包括WIFI、蓝牙(bluetooth,BT)、低能耗蓝牙(bluetooth low energy,BLE)、NFC、红外(线)、通用串行总线(universal serial bus,USB)中的至少一个。设备管理模块004还可以用于确定近场设备之间进行通信时的具体的消息格式、传输速率、协议规范等。
在本申请实施例中,手机A和手机B连接后,可以进行数据同步。其中,数据同步包括全量同步和增量同步。
如图11A所示,为一种数据同步的信号交互图,包括:
s1a、手机A监听媒体元数据变更,记录变更状态。
s1b、手机A监听媒体元数据变更,记录变更状态。
s1n、手机A监听媒体元数据变更,记录变更状态。
手机A中的分布式数据库的状态树可以一直监听媒体元数据是否变更,记录变更状态。例如,用户通过手机A拍摄了一张照片后,媒体元数据会发生变更,状态树可以监听到媒体元数据变更,并记录该照片的数据。
手机A和手机B首次连接时,可以执行步骤s2和步骤s3。
s2、手机A与手机B之间进行全量数据同步(即全量同步)。
全量同步是指设备之间进行的全部媒体元数据、用户账号以及设备属性信息的跨设备同步。
s3、手机A的状态树记录同步状态。
手机A的状态树可以记录手机B的全部媒体元数据、用户账号以及设备属性信息等。
手机A和手机B后续连接(第n次连接,n大于等于2)时,可以执行步骤s4-步骤s6。
s4、手机A的状态树获取增量同步列表。
其中,增量同步列表是上一次(前一次)同步之后的音频、视频、图片、文件等媒体对象的变更信息列表,包括文件名、路径、创建时间、修改实现、大小、播放时长等。
s5、手机A与手机B之间进行增量数据同步(即增量同步)。
增量同步是设备连接断开后,再次连接时,设备上变更媒体资产的元数据的跨设备同步,同步内容包含变更数据、用户账号、设备信息以及变更类型(例如,增加、修改、删除)。
s6、手机A的状态树更新同步状态。
需要说明的是,手机A和手机B可以进行近场通信或远场通信。近场通信可以通过路由器等设备完成设备间信息交互。远场通信可以通过服务器完成设备间信息交互。
需要注意的是,手机A和手机B的通信方式不是固定的,可以动态切换。例如用户在公司通过手机A控制家里的手机B时,手机A和手机B进行远场通信,采用远场设备通信协议。如果用户回到家中,手机A和手机B都接入到了家庭路由器网络中,此时手机A和手机B进行近场通信,采用近场设备通信协议。
示例性的,如图11B所示,以本端设备(手机A)与近场设备(手机B)之间进行全量同步的过程为例,包括以下步骤:
S101、本端设备(手机A)与近场设备(手机B)进行设备上下线管理。
当本端设备(手机A)与近场设备(手机B)与首次连接时,本端设备可以接收近场设备的设备上线/下线事件。如果本端设备的设备管理表中没有近场设备相关的信息,可以进行全量同步。
S102、本端设备向近场设备发送上线通知。
S103、近场设备收到本地设备的上线通知后,可以将MediaProvider中的数据库文件(媒体文件的元数据)同步给本地设备,相关的缩略图文件也同时同步给本地设备。
S104、本端设备接收到近场设备的缩略图同步后,将缩略图更新至缓冲区中。
S105、本端设备向近端设备发送缩略图同步状态通知。
S106、本端设备接收近场设备的数据库文件。
示例性的,本端设备将近场设备的数据库文件存入本端设备的MediaProvider的文件目录下,可以以设备管理表中的self_id命名本端设备的近场设备数据库。
S107、本端设备向近端设备发送元数据同步状态通知。
S108、本端设备更新设备状态表。
本端设备可以将近端设备当前的状态信息写入设备管理表中。
如图11C所示,增量同步可以包括以下步骤:
S201、本端设备(手机A)与近场设备(手机B)进行设备上下线管理。
当本端设备(手机A)与近场设备(手机B)与后续连接时,本端设备可以接收近场设备的设备上线/下线事件。如果本端设备的设备管理表中已经有当前近场端设备相关的信息,进行增量同步。
S202、本端设备向近场设备发送增量同步请求。
S203、近场设备向本端设备发送变更数据的SQL语句和缩略图。
其中,变更数据的SQL语句中包括更新的媒体文件的元数据。其中,SQL文件是数据库脚本文件,是用于数据库中的标准数据查询语言。SQL文件中包括SQL语句。将SQL文件同步到对端设备后,在对端设备执行SQL文件,可以将更新的媒体文件的元数据刷新到对端设备的数据库中。
近场设备收到本地设备的上线通知后,近场设备从设备状态表中读取设备数据版本号,并与同步状态表中变更的数据的数据版本号进行对比,生成数据变更的SQL语句存入文本文件,并获取变更数据的缩略图,然后通过数据传输通道,完成元数据和缩略图的同步。
S204、本端设备的分布式数据库解析SQL文件,将更新的元数据插入数据库中。
本端设备接收到近场设备同步的变更元数据的SQL语句的文本后,可以对文本进行解析并执行SQL语句,更新本端设备中近场数据库中的相册集/相册表、媒体资产/相册关系对应表等表相应的数据。另外,当增量同步的SQL文件的大小大于1M时,可以执行全量同步。
S205、本端设备向近端设备发送元数据同步状态通知。
S206、本端设备接收到近场设备的缩略图同步后,将缩略图更新至缓冲区中。
S207、本端设备向近端设备发送缩略图同步状态通知。
S208、本端设备将近端设备当前的状态信息写入设备管理表中。
在一种可能的实现方式中,手机A和手机B连接后,可以进行数据的实时同步。数据的实时同步是设备保持连接状态时,用户操作(例如,下载图片、拍照等)导致媒体数据变化时,实时进行跨设备同步,同步内容包含变更的媒体数据、用户账号、设备信息以及变更类型等。
实时同步需要满足以下至少一个前置条件:1)当本地的设备数据版本号等于远端设备数据版本号时可以进行实时同步。如果本地设备的数据版本号大于远端设备的数据版本号时,可以进行增量同步。2)在进行实时同步时,当本地数据版本号等于0时,可以将数据状态表和对端设备状态表清空。
如图11D所示,为一种数据的实时同步的信号交互图,包括:
1101、手机A的应用程序向手机A的统一操作框架申请增加/删除/修改媒体文件。
手机A和手机B处于连接状态时,实时同步可以由用户应用程序(例如,文件管理器)对文件的操作所触发。或者,实时同步也可以间隔预设时间自动触发。其中,媒体文件可以包括图片、视频、音频、文档等文件。应用程序可以包括第三方应用(例如,
Figure BDA0002878436450000171
)和系统应用(例如,相机应用)。
举例来说,若用户通过手机A的相机拍摄了一种照片,相机应用可以向统一操作框架申请增加新拍摄的照片。
手机A可以依据设备管理表里面设备的链接状态,从相册集/相册表、媒体资产/相册关系对应表、MediaProvider数据库表中获取媒体文件发生变更的元数据写入SQL文件中,实时同步至手机B,同时完成缩略图的同步。手机A具体可以执行以下步骤:
1102、手机A的统一操作框架通知手机A的分布式数据库更新媒体元数据。
例如,可以在手机A的分布式数据库新增用户拍摄的照片的媒体元数据,例如用户拍摄的照片的尺寸大小、存储位置等。
1103、手机A的分布式数据库通知手机A的分布式存储模块更新媒体文件。
手机A的分布式存储模块存储用户拍摄的照片。
1104、手机A的分布式数据库通知手机B的统一操作框架同步变更的媒体元数据。
变更的媒体元数据可以包含在SQL文件中,手机B接收到手机A同步的SQL文件后,根据变更情况,完成手机B的相册集/相册表、媒体资产/相册关系对应表的数据更新,并同步更新本地的近场设备数据(MediaProvider的file表)。其中,MediaProvider中存储图片、视频、音频等多媒体文件的信息,提供了基本的增删改查等相关方法,可以供视频播放器、音乐播放器、图库等应用程序使用。
步骤1103和步骤1104可以同时执行。
1105、手机B的统一操作框架通知手机B的分布式数据库更新变更的媒体元数据。
1106、手机B的分布式数据库向手机A的分布式数据库请求原始媒体文件(原始媒体数据)的第一类型的缩略图。
其中,原始媒体文件例如可以是图片的原图,视频的原文件、音频的原文件等。原始媒体文件的缩略图例如可以是图片的缩略图,音频、视频的封面缩略图等。原始媒体文件的缩略图根据大小可以分为两种类型,第一类型的缩略图的大小可以在10~20K之间,例如可以为10K、15K或20K。第一类型的缩略图的分辨率可以为256*256。第二类型的缩略图参见步骤1109的说明。
1107、手机A的分布式数据库向手机B的分布式数据库发送原始媒体文件的第一类型的缩略图。
1108、手机B的分布式数据库向手机B的分布式存储模块指示缓存原始媒体文件的第一类型的缩略图。
手机B的分布式存储模块可以将原始媒体文件的第一类型的缩略图缓存(缓存过程用户不感知)至缓冲区中。其中,缓存表示数据读取(拉取)完成后的状态。
1109、手机B的分布式数据库向手机A的分布式数据库请求原始媒体文件的第二类型的缩略图。
其中,原始媒体文件的第二类型的缩略图的大小约为200K,例如可以为150K、180K、200K、230K等。
1110、手机A的分布式数据库向手机B的分布式数据库发送原始媒体文件的第二类型的缩略图。
1111、手机B的分布式数据库向手机B的分布式存储模块指示缓存原始媒体文件的第二类型的缩略图。
手机B的分布式存储模块指示缓存原始媒体文件的第二类型的缩略图。
1112、手机B的统一操作框架通知手机B的应用程序媒体文件发生变更。
假设手机A与手机B建立连接,如图11E中的(a)所示,响应于用户在手机B上点击拍照按钮501的操作,如图11E中的(b)所示,可以得到照片502。基于图11所示的实时同步方法,如图11E中的(c)所示,手机B新拍摄的照片(原图)的第一类型的缩略图(即图片503)可以实时更新到手机A的界面上。并且,图片503的第二类型的缩略图也可以缓存到手机A中,这样,用户点击图片503时,可以查看更大更清晰的图片。
这样,无需在每个设备上都存储一份其他设备的原始媒体文件,仅需在每个设备上缓存其他设备的原始媒体文件的缩略图(第一类型的缩略图、第二类型的缩略图),可以降低个人设备容量爆盘的风险,也可以避免将数据放在云端,在访问云端数据时需要重新下载(非常麻烦)的问题。
又例如,如图8A中的(a)所示,响应于用户点击分享操作选项452的操作,手机A可以将手机B上的媒体文件分享至第三方应用程序或系统应用程序。手机A可以缺省分享媒体文件的第二类型的缩略图,或者由用户选择分享原始媒体文件。
当实时同步成功时,本地设备可以更新设备状态表,将对端设备的数据版本号置为当前的本地设备数据版本号;当实时同步失败时,本地设备的数据版本号加一(+1)。
为了实现用户跨设备进行媒体访问和在本地进行媒体访问的一致性体验,可以采用透明缓存技术。透明缓存技术可以在第一次读取文件时主动将文件缓存起来,如果下次用户又需要该文件,系统可以从本地缓存调取。透明缓存技术可以包括自动缓存、自动回写、自动老化和自动更新等过程。其中,自动缓存是指媒体库(media library)可以自动将远端设备的媒体文件缓存到本地。媒体库可以屏蔽媒体文件的位置差异,用户访问远端设备的文件和本地文件的方式是一样的,例如都可以基于通一资源标志符(uniformresource identifier,URI)或存储路径的方式访问。自动回写是指用户主动保存或应用自动保存媒体文件时,媒体库自动将保存的媒体文件同步到远端,替换远端的历史文件。自动老化是指媒体库自动将老化周期(例如,两周、一个月等)外的冷数据清除,无需开发者额外处理。自动更新是指远端设备的媒体文件被修改后,媒体库自动根据远端的新文件(修改后的文件)更新本地缓存。
如图12所示,自动缓存过程可以包括步骤1201-步骤1203,其中:
1201、手机A的分布式数据库向手机B的分布式数据库请求原始媒体文件的第二类型的缩略图。
手机A可以自动缓存部分媒体文件。例如,如图6A所示,手机可以自动缓存最近标签431下铺满屏幕的缩略图(第一类型的缩略图)对应的媒体文件(这里的媒体文件是指原始媒体文件的第二类型的缩略图)。如图6B所示,手机可以自动缓存图片标签432下铺满屏幕的媒体文件。如图6C所示,手机可以自动缓存视频标签433下铺满屏幕的媒体文件。如图6D所示,手机可以自动缓存图片标签434下铺满屏幕的媒体文件。
在一种可能的设计中,手机A可以基于AI算法分析用户的喜好,行为习惯,预判用户的操作,提前将用户可能打开的跨设备媒体文件缓存到本地。
1202、手机B的分布式数据库向手机A的分布式数据库发送媒体文件。
1203、手机A的分布式数据库向手机A的分布式存储模块缓存媒体文件。
自动回写过程可以包括步骤1204-步骤1208,其中:
1204、手机A的分布式数据库向手机A的分布式存储模块发送缓存文件(即缓存的媒体文件)内容编辑情况。
1205、手机A的分布式数据库向手机B的分布式数据库发送缓存文件内容回写情况。
1206、手机B的分布式数据库向手机B的分布式存储模块通知更新媒体文件的内容。
手机B的分布式存储模块更新媒体文件的内容。
1207、手机B的分布式数据库更新媒体元数据。
1208、手机B的分布式数据库与手机A的分布式数据库进行媒体元数据同步。
自动老化过程可以包括步骤1209,其中:
1209、手机A的分布式数据库通知手机A的分布式存储模块基于老化策略,老化缓存文件。
老化策略例如可以是每两周或者每个月清除冷数据(未使用过的数据)。例如,冷数据包括访问次数低于预设阈值的媒体文件的缩略图。
自动更新过程可以包括步骤1210-步骤1215,其中:
1210、手机B的分布式数据库向手机B的分布式存储模块发送本地(手机B本地)媒体文件更新情况。
手机B的分布式存储模块根据本地(手机B本地)媒体文件更新情况更新媒体文件。
1211、手机B的分布式数据库更新媒体元数据。
手机B的分布式数据库可以根据本地媒体文件更新情况更新相应的媒体元数据。
1212、手机B的分布式数据库向手机A的分布式数据库同步媒体元数据。
1213、手机A的分布式数据库向手机B的分布式数据库请求更新后的媒体文件。
更新后的媒体文件是指更新后的原始媒体文件的第二类型的缩略图。
1214、手机B的分布式数据库向手机A的分布式数据库发送更新后的媒体文件。
1215、手机A的分布式数据库通知手机A的分布式存储模块更新缓存文件。
手机A的分布式存储模块可以根据更新后的媒体文件更新之前(上一次缓存)的缓存文件。
为了实现跨设备播放能够达到类本地播放的高性能用户体验,可以采用轻量流传输技术。轻量流传输包括首次播放阶段和缓冲播放阶段。
如图13所示,首次播放阶段可以包括步骤1301-步骤1307,其中:
1301、手机A的应用程序向手机A的统一操作框架请求播放远端媒体文件。
用户在手机A首次点击远端媒体文件(例如,手机B的一个视频)的播放按钮后,手机A的应用程序可以向手机A的统一操作框架请求播放远端媒体文件。如图14中的(a)所示,响应于用户在界面430点击所有视频490的操作,如图14中的(b)所示,手机可以显示所有视频界面491,响应于用户在界面491点击视频492(时长为10s)的操作,如图14中的(c)所示,手机可以显示界面493,界面493中可以包括播放按钮494,响应于用户首次点击播放按钮494的操作,手机A的应用程序可以向手机A的统一操作框架请求播放远端媒体文件(即视频492)。
1302、手机A的统一操作框架从手机A的分布式存储模块获取媒体文件资源。
1303、手机A的分布式存储模块向手机A的统一操作框架请求启动流代理。其中,流代理即流服务器代理,可以将跨设备拉取的媒体文件信息封装成流媒体格式,发送给应用程序。应用程序不感知媒体信息跨设备传输过程。
1304、手机A的分布式存储模块从手机B的分布式存储模块获取媒体文件并缓存。
手机A的分布式存储模块可以分m次从手机B的分布式存储模块获取媒体文件(例如,视频文件)并缓存。其中,m为大于等于2的整数。
1305、手机A的统一操作框架向手机A的应用程序返回缓存的媒体文件的URL。
1306、手机A的统一操作框架从手机A的分布式存储模块读取缓冲数据。
手机A的统一操作框架可以从手机A的分布式存储模块分m次读取缓冲数据(缓冲的媒体数据)。
1307、手机A的应用程序以流媒体方式播放远端媒体文件。
手机A的应用程序从手机A的统一操作框架分m次获取缓冲数据,并可以分m次播放缓冲的媒体文件。
缓冲播放阶段可以包括步骤1308-步骤1310,其中:
1308、手机A的应用程序可以向手机A的统一操作框架请求播放远端媒体文件。
用户在手机A再次点击远端媒体文件的播放按钮后,手机A的应用程序可以向手机A的统一操作框架请求播放远端媒体文件。
1309、手机A的统一操作框架从手机A的分布式存储模块获取媒体文件资源。
1310、手机A的分布式存储模块向手机A的应用程序返回缓冲文件的URI,手机A的应用程序直接播放远端媒体文件。
这样,播放端无需等待媒体文件(例如,原始视频文件)完整下载后再启动播放,可以实时播放,从而可以实现类本地播放的高性能用户体验。
如图15所示,本申请实施例提供一种数据同步方法,包括:
1501、第一设备获取媒体文件更新事件;其中,媒体文件更新事件用于增加、修改或删除第一媒体文件。
其中,媒体文件更新事件可以是用户触发的,或第一设备基于预设策略自动触发的。需要说明的是,用户可以在第一设备触发本地媒体文件的更新事件,或者可以在其他设备(与第一设备连接的设备,例如第二设备)触发第一设备的本地媒体文件的更新事件。
其中,第一媒体文件包括图片、视频、音频、文档中的至少一种。
1502、第一设备更新元数据库中第一媒体文件对应的元数据,并更新媒体库中第一媒体文件的缩略图。
其中,元数据库中存储有第一设备的全部媒体文件对应的元数据,媒体库中存储有第一设备的全部媒体文件的缩略图。其中,元数据库可以参考上文关于分布式数据库的相关描述,媒体库可以参考上文关于分布式存储模块的描述,在此不做赘述。
其中,第一媒体文件的缩略图包括第一类型的缩略图,第一类型的缩略图的大小范围为10K~20K。
1503、第一设备向第二设备发送同步消息,同步消息包括第一媒体文件对应的元数据和第一媒体文件的缩略图。
同步消息还包括用户账号、第一设备的设备信息以及第一媒体文件的更新类型中的至少一种,第一媒体文件的更新类型包括增加、修改或删除。
在一种可能的设计中,第一设备接收第一请求消息,第一请求消息用于请求第二类型的缩略图,第二类型的缩略图的大小范围为100K~300K;第一设备向第二设备发送第二类型的缩略图。
在一种可能的设计中,第一设备可以基于AI算法分析用户的喜好、行为习惯;根据用户的喜好、行为习惯预判用户需要操作的媒体文件;将用户需要操作的媒体文件的第二类型的缩略图发送给第二设备。
在一种可能的设计中,第一设备与第二设备首次连接时,第一设备将第一设备的全部媒体文件对应的元数据和全部媒体文件对应的缩略图同步给第二设备。
在一种可能的设计中,第一设备与第二设备第N次连接时,第一设备将上一次同步后第一设备上更新的媒体文件对应的元数据和更新的媒体文件对应的缩略图同步给第二设备。其中,N为大于或等于2的整数。
在一种可能的设计中,第一设备基于预设周期删除缓存的媒体文件中的冷数据。例如,冷数据包括访问次数低于预设阈值的媒体文件的缩略图。
在一种可能的设计中,第一设备首次播放第二设备的媒体文件时,启动流服务器代理,流服务器代理用于将第二设备的媒体文件封装成流媒体格式;第一设备通过流服务器代理分m次从第二设备获取第二设备的媒体文件并缓存;其中,m为大于等于2的整数;第一设备播放缓存数据。
在一种可能的设计中,第一设备第N次播放第二设备的媒体文件时,获取第二设备的媒体文件的URI,根据URI获取缓存数据并播放;其中,N为大于等于2的整数。
在一种可能的设计中,第一设备显示包含第二设备的标识的第一界面;响应于用户在第一界面点击第二设备的标识的操作,第一设备显示第二界面,第二界面包括第二设备的至少一种类型的媒体文件的一个或多个缩略图。
在一种可能的设计中,第一界面或第二界面包括搜索控件,响应于用户点击搜索控件后输入关键词的操作,第一设备显示第三界面,第三界面包括从第一设备和第二设备搜索到的与关键词相关的媒体文件的标识。
在一种可能的设计中,响应于用户在第二界面点击第一缩略图的操作,第一设备显示第一弹框,第一弹框包括第一操作选项;响应于用户点击第一操作选项的操作,第一设备显示第二弹框,第二弹框包括一个或多个应用程序或设备标识;响应于用户点击一个应用程序或一个设备标识的操作,第一设备将第一缩略图分享至用户点击的应用程序或设备标识对应的设备。
需要说明的是,图15所述的实施例中的第一设备可以为前述实施例中的手机A,第二设备可以为前述实施例中的手机B。或者,第一设备可以为前述实施例中的手机B,第二设备可以为前述实施例中的手机A,本申请不做限定。图15所述的实施例中未详述的部分,可以参考前述实施例,在此不做赘述。
基于本申请实施例提供的方法,第一设备获取媒体文件更新事件后,可以更新元数据库中第一媒体文件对应的元数据,并更新媒体库中第一媒体文件的缩略图;而后,第一设备可以向第二设备发送同步消息,同步消息包括第一媒体文件对应的元数据和第一媒体文件的缩略图。这样,第一设备和第二设备之间可以自动同步元数据库和媒体库,能够简单便捷地实现跨设备数据分享,无需用户进行频繁地手动操作,可以提高用户体验。
本申请另一些实施例提供了一种电子设备(如图2所示的电子设备200),该电子设备可以包括:通信模块、存储器和一个或多个处理器。该通信模块、存储器与处理器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。
本申请另一实施例提供一种芯片系统,如图16所示,该芯片系统包括至少一个处理器1601和至少一个接口电路1602。处理器1601和接口电路1602可通过线路互联。例如,接口电路1602可用于从其它装置(例如,电子设备的存储器)接收信号。又例如,接口电路1602可用于向其它装置(例如处理器1601)发送信号。
例如,接口电路1602可读取电子设备中存储器中存储的指令,并将该指令发送给处理器1601。当所述指令被处理器1601执行时,可使得电子设备(如图2所示的电子设备200)执行上述各实施例中的各个步骤。
又例如,接口电路1602可读取服务器中存储器中存储的指令,并将该指令发送给处理器1601。当所述指令被处理器1601执行时,可使得服务器执行上述实施例中的各个步骤。
当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (17)

1.一种数据同步方法,其特征在于,所述方法包括:
第一设备获取媒体文件更新事件;其中,所述媒体文件更新事件用于增加、修改或删除第一媒体文件;
所述第一设备更新元数据库中所述第一媒体文件对应的元数据,并更新媒体库中所述第一媒体文件的缩略图;
所述第一设备向第二设备发送同步消息,所述同步消息包括所述第一媒体文件对应的元数据和所述第一媒体文件的缩略图。
2.根据权利要求1所述的方法,其特征在于,
所述同步消息还包括用户账号、所述第一设备的设备信息以及所述第一媒体文件的更新类型中的至少一种,所述第一媒体文件的更新类型包括增加、修改或删除。
3.根据权利要求1或2所述的方法,其特征在于,
所述第一媒体文件的缩略图包括第一类型的缩略图,所述第一类型的缩略图的大小范围为10千字节~20千字节。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
所述第一设备接收第一请求消息,所述第一请求消息用于请求第二类型的缩略图,所述第二类型的缩略图的大小范围为100千字节~300千字节;
所述第一设备向所述第二设备发送所述第二类型的缩略图。
5.根据权利要求1-4任一项所述的方法,其特征在于,
所述第一媒体文件包括图片、视频、音频、文档中的至少一种。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述第一设备与所述第二设备首次连接时,所述方法还包括:
所述第一设备将所述第一设备的全部媒体文件对应的元数据和所述全部媒体文件对应的缩略图同步给所述第二设备。
7.根据权利要求6所述的方法,其特征在于,所述第一设备与所述第二设备第N次连接时,N为大于或等于2的整数,所述方法还包括:
所述第一设备将上一次同步后所述第一设备上更新的媒体文件对应的元数据和所述更新的媒体文件对应的缩略图同步给所述第二设备。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
所述第一设备基于人工智能AI算法分析用户的喜好、行为习惯;
根据所述用户的喜好、行为习惯预判所述用户需要操作的媒体文件;
将所述用户需要操作的媒体文件的第二类型的缩略图发送给所述第二设备。
9.根据权利要求1-8任一项所述的方法,其特征在于,
所述第一设备基于预设周期删除冷数据;其中,所述冷数据包括访问次数低于预设阈值的媒体文件的缩略图。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述方法还包括:
所述第一设备首次播放所述第二设备的媒体文件时,启动流服务器代理,所述流服务器代理用于将所述第二设备的媒体文件封装成流媒体格式;
所述第一设备通过所述流服务器代理分m次从所述第二设备获取所述第二设备的媒体文件并缓存;其中,m为大于等于2的整数;
所述第一设备播放缓存数据。
11.根据权利要求10所述的方法,其特征在于,
所述第一设备第N次播放所述第二设备的媒体文件时,获取所述第二设备的媒体文件的统一资源标识符URI,根据所述URI获取缓存数据并播放;其中,N为大于等于2的整数。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述方法还包括:
所述第一设备显示包含所述第二设备的标识的第一界面;
响应于用户在所述第一界面点击所述第二设备的标识的操作,所述第一设备显示第二界面,所述第二界面包括所述第二设备的至少一种类型的媒体文件的一个或多个缩略图。
13.根据权利要求12所述的方法,其特征在于,
所述第一界面或所述第二界面包括搜索控件,响应于所述用户点击所述搜索控件后输入关键词的操作,所述第一设备显示第三界面,所述第三界面包括从所述第一设备和所述第二设备搜索到的与所述关键词相关的媒体文件的标识。
14.根据权利要求12或13所述的方法,其特征在于,所述方法还包括:
响应于所述用户在所述第二界面点击第一缩略图的操作,所述第一设备显示第一弹框,所述第一弹框包括第一操作选项;
响应于所述用户点击所述第一操作选项的操作,所述第一设备显示第二弹框,所述第二弹框包括一个或多个应用程序或设备标识;
响应于所述用户点击一个应用程序或一个设备标识的操作,所述第一设备将所述第一缩略图分享至所述用户点击的应用程序或设备标识对应的设备。
15.一种第一设备,其特征在于,所述第一设备包括:无线通信模块、存储器和一个或多个处理器;所述无线通信模块、所述存储器与所述处理器耦合;
其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述第一设备执行如权利要求1-14中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,包括计算机指令;
当所述计算机指令在第一设备上运行时,使得所述第一设备执行如权利要求1-14中任一项所述的方法。
17.一种数据同步系统,其特征在于,包括第一设备和第二设备,所述第一设备执行如权利要求1-14中任一项所述的方法。
CN202011635721.1A 2020-12-31 2020-12-31 一种数据同步方法和装置 Pending CN114691631A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011635721.1A CN114691631A (zh) 2020-12-31 2020-12-31 一种数据同步方法和装置
PCT/CN2021/136803 WO2022143081A1 (zh) 2020-12-31 2021-12-09 一种数据同步方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011635721.1A CN114691631A (zh) 2020-12-31 2020-12-31 一种数据同步方法和装置

Publications (1)

Publication Number Publication Date
CN114691631A true CN114691631A (zh) 2022-07-01

Family

ID=82135149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011635721.1A Pending CN114691631A (zh) 2020-12-31 2020-12-31 一种数据同步方法和装置

Country Status (2)

Country Link
CN (1) CN114691631A (zh)
WO (1) WO2022143081A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277580A (zh) * 2022-07-25 2022-11-01 Oppo广东移动通信有限公司 数据传输方法、装置、电子设备、业务系统及存储介质
CN115941674A (zh) * 2023-02-21 2023-04-07 荣耀终端有限公司 多设备应用接续方法、设备及存储介质
CN116701526A (zh) * 2022-12-05 2023-09-05 荣耀终端有限公司 数据同步的方法及电子设备
WO2024083133A1 (zh) * 2022-10-21 2024-04-25 华为技术有限公司 分布式数据管理方法、电子设备及系统
CN116701526B (zh) * 2022-12-05 2024-06-21 荣耀终端有限公司 数据同步的方法及电子设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116610634B (zh) * 2023-07-19 2023-09-26 南京中孚信息技术有限公司 一种网盘终端的文件同步系统及方法
CN117408655B (zh) * 2023-12-13 2024-03-05 国网浙江省电力有限公司金华供电公司 基于全业务视角的财税数据管理方法及平台

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7567987B2 (en) * 2003-10-24 2009-07-28 Microsoft Corporation File sharing in P2P group shared spaces
US20130138615A1 (en) * 2011-11-29 2013-05-30 International Business Machines Corporation Synchronizing updates across cluster filesystems
CN103152398B (zh) * 2013-02-07 2016-05-11 中国科学院计算技术研究所 一种多终端文件间的文件同步方法及系统
CN112035420B (zh) * 2020-09-03 2023-03-14 西北工业大学 数据共享方法、共享设备和系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277580A (zh) * 2022-07-25 2022-11-01 Oppo广东移动通信有限公司 数据传输方法、装置、电子设备、业务系统及存储介质
CN115277580B (zh) * 2022-07-25 2024-02-13 Oppo广东移动通信有限公司 数据传输方法、装置、电子设备、业务系统及存储介质
WO2024083133A1 (zh) * 2022-10-21 2024-04-25 华为技术有限公司 分布式数据管理方法、电子设备及系统
CN116701526A (zh) * 2022-12-05 2023-09-05 荣耀终端有限公司 数据同步的方法及电子设备
CN116701526B (zh) * 2022-12-05 2024-06-21 荣耀终端有限公司 数据同步的方法及电子设备
CN115941674A (zh) * 2023-02-21 2023-04-07 荣耀终端有限公司 多设备应用接续方法、设备及存储介质

Also Published As

Publication number Publication date
WO2022143081A1 (zh) 2022-07-07

Similar Documents

Publication Publication Date Title
WO2022143081A1 (zh) 一种数据同步方法和装置
US20200280753A1 (en) Group editing of media content stored on wireless portable devices
US20200358883A1 (en) Method, User Equipment, Server, and Apparatus for Implementing Information Sharing
US10735377B2 (en) System for remotely controlling electronic device and method of operating the same
US8571535B1 (en) Method and system for a hosted mobile management service architecture
WO2021027633A1 (zh) 一种图片处理方法及相关装置
CN112486363A (zh) 一种跨设备的内容分享方法、电子设备及系统
CN111221845A (zh) 一种跨设备信息搜索方法及终端设备
KR20140119855A (ko) 클라우드 연동 기능을 갖는 휴대 단말 및 이를 위한 파일 관리 방법
KR20140119609A (ko) 애플리케이션을 실행하기 위한 페이지를 디스플레이하는 방법 및 디바이스
CN109033393A (zh) 贴纸处理方法、装置、存储介质及电子设备
KR102116996B1 (ko) 전자기기 원격제어 시스템 및 이의 운용방법
US9219798B2 (en) Client and server terminals and method for controlling the same
KR102095666B1 (ko) 정보 입력 방법, 장치, 프로그램 및 저장매체
CN111600862B (zh) 一种用户账户管理方法及设备
TW201600976A (zh) 家用網路系統之檔案管理與分享的方法
EP4345590A1 (en) Task synchronization system and method, and device
WO2023160238A1 (zh) 一种图片显示方法及相关电子设备
EP4273680A1 (en) Image deletion operation notification method, device, and storage medium
WO2016070371A1 (zh) 移动终端和web终端之间互连及流传输和流媒体播放的方法
CN115857746A (zh) 分布式数据管理方法、电子设备及系统
KR20080104228A (ko) 스케줄에 따른 콘텐츠 재생방법

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