CN115150411A - 数据同步的方法和装置 - Google Patents
数据同步的方法和装置 Download PDFInfo
- Publication number
- CN115150411A CN115150411A CN202110360728.5A CN202110360728A CN115150411A CN 115150411 A CN115150411 A CN 115150411A CN 202110360728 A CN202110360728 A CN 202110360728A CN 115150411 A CN115150411 A CN 115150411A
- Authority
- CN
- China
- Prior art keywords
- data
- cloud
- terminal device
- time
- file
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 230000008859 change Effects 0.000 claims abstract description 31
- 230000015654 memory Effects 0.000 claims description 27
- 238000012217 deletion Methods 0.000 claims description 15
- 230000037430 deletion Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 abstract description 27
- 239000002699 waste material Substances 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 8
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据同步的方法和装置,能够减少通信资源和电量的浪费。该方法包括:第一设备获取对第一对象的第一操作,所述第一操作用于更新第一对象的数据;所述第一设备向云设备发送同步信息,所述同步信息指示所述云设备更新所述第一对象的数据;所述第一设备获取所述第一对象的数据变化量或数据更新时间;当所述数据变化量和/或所述数据更新时间满足第一预设条件时,所述第一设备向所述云设备发送第一指示信息,所述第一指示信息用于指示所述云设备向第二设备发送更新通知。
Description
技术领域
本申请涉及电子技术领域,具体涉及一种数据同步的方法和装置。
背景技术
数据同步是多个设备进行协同工作的一种方法。例如,当设备A和设备B进行协同工作时,设备A可以更新本地数据,并将更新结果发送给设备B,设备B基于该更新结果下载新数据或者删除本地数据,使得设备B的本地数据与设备A的本地数据保持一致,该过程即数据同步。
现有技术中存在的数据同步方法是实时同步的,即,设备A每更新一条数据就通知设备B进行更新,然而,当设备A持续更新本地数据时,该方法会导致设备B收到大量的通知消息,从而造成通信资源和电量的浪费。
发明内容
本申请提供了一种数据同步的方法、装置、计算机程序产品和计算机可读存储介质,能够减少通信资源和电量的浪费。
第一方面,提供了一种数据同步的方法,包括:第一设备获取对第一对象的第一操作,所述第一操作用于更新第一对象的数据;所述第一设备向云设备发送同步信息,所述同步信息指示所述云设备更新所述第一对象的数据;所述第一设备获取所述第一对象的数据变化量或数据更新时间;当所述数据变化量和/或所述数据更新时间满足第一预设条件时,所述第一设备向所述云设备发送第一指示信息,所述第一指示信息用于指示所述云设备向第二设备发送更新通知。
第一预设条件例如是时间阈值和数据量阈值,第一设备在数据变化量大于或等于数据量阈值时指示云设备与第二设备进行数据同步,可以减小云设备频繁与第二设备建立推送连接所消耗的通信资源和电量。此外,第一设备在数据更新时间大于或等于时间阈值时指示云设备与第二设备进行数据同步,可以兼顾第二终端设备更新本地数据的实时性。
可选地,当所述第一对象为共享文档时,所述第一操作为输入文字和/或删除文字的操作,所述同步信息为输入的文字和/或删除的文字。
可选地,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:所述输入文字的数量和所述删除文字的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
可选地,当所述第一对象为文件时,所述第一操作为新增文件的操作,所述同步信息为输入的文件的标识和文件数据内容。
可选地,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:所述新增的文件的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
可选地当所述第一对象为文件时,所述第一操作为删除文件的操作,所述同步信息为所述删除的文件的标识。
可选地,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:所述删除的文件的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
可选地,当所述第一对象为文件夹时,所述第一操作为删除所述文件夹的操作,所述同步信息为所述文件夹的标识,或者,所述同步信息为所述文件夹中全部文件的标识以及所述文件夹的标识。
可选地,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:所述文件夹的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
第二方面,提供了另一种数据同步的方法,包括:第一设备获取对第一对象的第一操作,所述第一操作用于更新第一对象的数据;所述第一设备向云设备发送同步信息,所述同步信息指示所述云设备更新所述第一对象的数据;所述云设备从所述第一设备接收所述同步信息;所述第一设备获取所述第一对象的数据变化量或数据更新时间;当所述数据变化量和/或所述数据更新时间满足第一预设条件时,所述第一设备向所述云设备发送第一指示信息,所述第一指示信息用于指示所述云设备向第二设备发送更新通知;所述云设备从所述第一设备接收所述第一指示信息;所述云设备根据所述第一指示信息向所述第二设备发送所述更新通知。
第一设备在数据变化量大于或等于数据量阈值时指示云设备与第二设备进行数据同步,可以减小云设备频繁与第二设备建立推送连接所消耗的通信资源和电量。此外,第一设备在数据更新时间大于或等于时间阈值时指示云设备与第二设备进行数据同步,可以兼顾第二终端设备更新本地数据的实时性。
可选地,当所述第一对象为共享文档时,所述第一操作为输入文字和/或删除文字的操作,所述同步信息为输入的文字和/或删除的文字。
可选地,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:所述输入文字的数量和所述删除文字的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
可选地,所述方法还包括:所述云设备从所述第二设备接收查询请求,所述查询请求用于获取更新的文字;所述云设备向所述第二设备发送所述输入文字和所述删除文字。
可选地,当所述第一对象为文件时,所述第一操作为新增文件的操作,所述同步信息为所述新增的文件的标识和文件数据内容。
可选地,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:所述新增的文件的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
可选地,所述方法还包括:所述云设备从所述第二设备接收查询请求,所述查询请求用于获取更新的文件;所述云设备向所述第二设备发送所述新增的文件的标识和文件数据内容。
可选地,当所述第一对象为文件时,所述第一操作为删除文件的操作,所述同步信息为所述删除的文件的标识。
可选地,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:所述删除的文件的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
可选地,所述方法还包括:所述云设备从所述第二设备接收查询请求,所述查询请求用于获取更新的文件;所述云设备向所述第二设备发送所述删除的文件的标识。
可选地,当所述第一对象为文件夹时,所述第一操作为删除所述文件夹的操作,所述同步信息为所述文件夹的标识,或者,所述同步信息为所述文件夹中全部文件的标识以及所述文件夹的标识。
可选地,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:所述文件夹的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
可选地,所述方法还包括:所述云设备从所述第二设备接收查询请求,所述查询请求用于获取更新的文件夹;所述云设备向所述第二设备发送所述文件夹的标识。
第三方面,提供了一种数据同步的装置,包括用于执行第一方面中任一种方法的单元。该装置可以是终端设备,也可以是芯片。该装置可以包括输入单元和处理单元。
当该装置是终端设备时,该处理单元可以是处理器,该输入单元可以是通信接口或其它输入设备;该终端设备还可以包括存储器,该存储器用于存储计算机程序代码,当该处理器执行该存储器所存储的计算机程序代码时,使得该终端设备执行第一方面中的任一种方法。
当该装置是芯片时,该处理单元可以是芯片内部的处理单元,该输入单元可以是输入/输出接口、管脚或电路等;该芯片还可以包括存储器,该存储器可以是该芯片内的存储器(例如,寄存器、缓存等),也可以是位于该芯片外部的存储器(例如,只读存储器、随机存取存储器等);该存储器用于存储计算机程序代码,当该处理器执行该存储器所存储的计算机程序代码时,使得该芯片执行第一方面中的任一种方法。
第四方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被数据同步的装置运行时,使得该装置执行第一方面或第二方面中的任一种方法。
第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被数据同步的装置运行时,使得该装置执行第一方面或第二方面中的任一种方法。
附图说明
图1是一种适用于本申请的数据同步系统的示意图;
图2是本申请提供的一种数据同步系统的工作机制的示意图;
图3是本申请提供的一种软件系统的示意图;
图4是本申请提供的一种数据同步方法的示意图;
图5是本申请提供的一种数据同步设置界面的示意图;
图6是本申请提供的另一种数据同步方法的示意图;
图7是本申请提供的一种文档同步界面的示意图;
图8是本申请提供的再一种数据同步方法的示意图;
图9是本申请提供的再一种数据同步方法的示意图;
图10是本申请提供的一种数据同步装置的示意图;
图11是本申请提供的另一种数据同步装置的示意图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
图1是一种适用于本申请的数据同步系统的示意图。该系统包括终端设备110、终端设备120和云设备130。
终端设备110与云设备130之间可以通过电磁波这种无线通信方式进行通信,也可以通过光纤或电缆等有线通信方式进行通信。类似地,终端设备120与云设备130之间可以通过电磁波这种无线通信方式进行通信,也可以通过光纤或电缆等有线通信方式进行通信。本申请对图1所示的数据同步系统的通信方式不做限定。
终端设备110可以是手机、平板电脑或者可穿戴设备。终端设备120可以是手机、平板电脑或者可穿戴设备。云设备130可以是服务器,也可以是个人电脑。此外,适用于本申请的数据同步系统还可以包括更多的终端设备和云设备。本申请对数据同步系统中各个设备的类型以及数量不做限定。
终端设备110在与终端设备120协同工作时,可以通过云设备130将本地数据的更新情况通知终端设备120。终端设备120获取该更新情况后更新本地数据,使得终端设备120的本地数据与终端设备110的本地数据保持一致,从而完成协同工作。
例如,终端设备110删除共享文档中的文字时,可以将删除的文字通知云设备130;随后,云设备130通知终端设备120更新共享文档;终端设备120可以向云设备130查询需要更新的内容,从而可以在本地的共享文档中删除终端设备110删除的文字,使得终端设备110的共享文档和终端设备120的共享文档保持一致,以便于双方完成协作。
又例如,终端设备110在共享文档中新增文字时,可以将新增的文字通知云设备130;随后,云设备130通知终端设备120更新共享文档;终端设备120可以向云设备130查询需要更新的内容,从而可以在本地的共享文档中新增终端设备110新增的文字,使得终端设备110的共享文档和终端设备120的共享文档保持一致,以便于双方完成协作。
在上述示例中,终端设备110可以通过超文本传输协议(hypertext transferprotocol,HTTP)消息将更新内容发送给云设备130,云设备130可以通过推送连接通知终端设备120需要更新共享文档,终端设备120也可以通过该推送连接从云设备130获取更新内容。
除了上述协同工作场景之外,本申请提供的数据同步系统还可以应用于其他场景,如相册同步和通讯录同步。
数据的更新时机是数据同步过程中的一个重要因素,若更新频率过快,则会造成电量和通信资源的浪费;若更新频率过慢,则会造成数据同步不及时,影响用户体验。因此,在数据同步过程中,终端设备110、终端设备120或云设备130需要通过合适的工作机制协调更新时机。
图2是本申请提供的数据同步系统的工作机制的示意图。
终端设备110、终端设备120和云设备130均包含业务模块和通知模块。业务模块用于进行新增数据或删除数据等操作,通知模块用于告知其他设备数据更新时机。
例如,终端设备110可以通过业务模块存储新增数据,并将该新增数据发送至云设备130;云设备130收到该新增数据后,通过业务模块将该新增数据存储在本地;其中,终端设备110存储的新增数据为终端设备110的本地数据,云设备130存储的新增数据为终端设备110的云数据。
可选地,通知模块可以是应用层的模块,与业务模块属于同一个APP,专门负责该APP于云端之间的通信,例如,通知模块将图库APP的业务模块产生的更新数据发送至云设备130,或者,从云设备130接收图库APP的更新数据,以便于业务模块更新本地数据。通知模块也可以是系统级的模块,负责多个APP与云端之间的通信,例如,通知模块将图库APP和备忘录APP的业务模块产生的更新数据发送至云设备130,或者,通知模块从云设备130接收图库APP和备忘录APP的更新数据,以便于这两个APP的业务模块更新本地数据。
云设备130的通知模块负责终端设备110和终端设备120的通知模块的注册,终端设备110和终端设备120的通知模块在云设备130的通知模块中完成注册后,可以向云设备130发送消息(如,通知消息、查询消息、请求消息和应答消息),也可以从云设备130接收消息。
例如,终端设备110通过业务模块向云设备130发送新增数据后,可以通过通知模块向云设备130发送通知消息,该通知消息用于指示云设备130与其他设备同步该新增数据。云设备130收到该通知消息后,通过通知模块通知终端设备120更新数据;终端设备120得知有更新数据后,可以通过通知模块向云设备130查询需要更新的数据,并通过业务模块从云设备130下载新增数据。
下面介绍一种适用于本申请的软件系统,该软件系统可以安装于终端设备110、终端设备120和云设备130上。
如图3所示,该软件系统采用分层架构。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为五层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime,ART)和原生C/C++库,硬件抽象层(hardware abstract layer,HAL)以及内核层。
应用程序层可以包括一系列应用程序包。例如,应用程序包可以包括相机、图库、备忘录、通话、地图、导航、无线局域网(wireless local area network,WLAN)、蓝牙、音乐、视频、短信息等应用程序。
上述各个应用程序可以包括更具体的功能模块,例如,图库可以包含业务模块和通知模块。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括窗口管理器、内容提供器、视图系统、资源管理器、通知管理器、活动管理器、输入管理器等。
窗口管理器提供窗口管理服务(window manager service,WMS),WMS可以用于窗口管理、窗口动画管理、surface管理以及作为输入系统的中转站。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。该数据可以包括视频、图像、音频、拨打和接听的电话、浏览历史和书签、电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
资源管理器为应用程序提供各种资源,比如本地化字符串、图标、图片、布局文件、视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
活动管理器可以提供活动管理服务(activity manager service,AMS),AMS可以用于系统组件(例如活动、服务、内容提供者、广播接收器)的启动、切换、调度以及应用进程的管理和调度工作。
输入管理器可以提供输入管理服务(input manager service,IMS),IMS可以用于管理系统的输入,例如触摸屏输入、按键输入、传感器输入等。IMS从输入设备节点取出事件,通过和WMS的交互,将事件分配至合适的窗口。
安卓运行时包括核心库和安卓运行时。安卓运行时负责将源代码转换为机器码。安卓运行时主要包括采用提前(ahead or time,AOT)编译技术和及时(just in time,JIT)编译技术。
核心库主要用于提供基本的Java类库的功能,例如基础数据结构、数学、输入/输出(input/output,IO)、工具、数据库、网络等库。核心库为用户进行安卓应用开发提供了API。
原生C/C++库可以包括多个功能模块。例如:表面管理器(surface manager),媒体框架(Media Framework),libc,OpenGL ES、SQLite、Webkit等。
其中,表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体框架支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4、H.264、MP3、AAC、AMR、JPG、PNG等。
硬件抽象层运行于用户空间(user space),对内核层驱动进行封装,向上层提供调用接口。
内核层是硬件和软件之间的层。内核层可以包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合具体场景详细描述本申请提供的数据同步方法。如图4所示,本申请提供的一种数据同步方法包括下列内容。
S401,终端设备110更新本地相册。
例如,用户可以通过拍照和删除照片来更新本地相册,用户使用终端设备110的摄像头拍摄照片后,新的照片存储在本地相册中,该新的照片即更新的照片;用户删除了终端设备110的本地相册中的照片后,该删除的照片即更新的照片。
S402,终端设备110向云设备130发送更新的照片数据。
终端设备110可以通过HTTP消息将更新的照片数据通知云设备130。终端设备110可以通过一条HTTP消息将多个更新的照片数据发送给云设备130,也可以通过多条HTTP消息分别将多个更新的照片数据发送给云设备130,本申请对每条HTTP消息承载的照片数据的数量不做限定。
例如,终端设备110新增了3张照片,可以通过HTTP消息将这3张照片的完整数据(包括照片ID和照片数据内容)发送至云设备130;终端设备110删除了2张照片,可以通过HTTP消息将这2张照片的标识(identifier,ID)发送给云设备130。
S403,云设备130更新终端设备110的云相册。
云设备130从终端设备110收到更新的照片数据后,更新终端设备110的云数据。
例如,若云设备130收到的更新的照片数据是新增的照片,则在终端设备110的云数据中保存该新增的照片;若云设备130收到的更新的照片数据是待删除的照片的ID,则根据该ID在终端设备110的云数据中查找到该照片并删除该照片。
S404,终端设备110确定本地相册的数据变化量和/或数据更新时间符合预设条件。
终端设备110可以在本地相册的数据变化量大于或等于数据量阈值时,向云设备130发送第一指示信息;终端设备110也可以在数据更新时间大于或等于时间阈值时,向云设备130发送第一指示信息;终端设备110还可以在数据变化量大于或等于数据量阈值时,并且,在数据更新时间大于或等于时间阈值时,向云设备130发送第一指示信息。
上述数量阈值和时间阈值可以是APP预设的,也可以是云设备130下发的。由于相册同步场景对实时性的要求不高,可以设置一个较大的数据变化量阈值和数据更新时间阈值,以减少频繁更新带来的电量消耗和通信资源消耗。
例如,可以将数据更新时间阈值设置为十分钟,终端设备110在8点完成本地相册的更新,并且在随后的十分钟内没有更新本地相册,则终端设备110可以在8点10分向云设备发送第一指示信息;若终端设备110在8点完成本地相册的更新,并且在8点5分再次更新了本地相册,则终端设备110需要从8点5分开始计时,基于随后的10分钟内是否有更新本地相册的操作决定是否向云设备130发送第一指示信息。
又例如,可以将数据变化量阈值设置为100兆,若终端设备110的本地相册新增照片和删除照片的总数据量达到100兆,则可以向云设备130发送第一指示信息;若终端设备110的本地相册新增照片和删除照片的总数据量未达到100兆,则不向云设备130发送第一指示信息。
当本地相册的数据变化量大于或等于数据量阈值时,和/或,当本地相册的数据更新时间大于或等于时间阈值时,终端设备110可以执行下列步骤。
S405,终端设备110向云设备130发送第一指示信息。
第一指示信息可以是一个自定义格式的通知消息,本申请对第一指示信息的具体形式不做限定。可选地,终端设备110可以通过HTTP消息发送第一指示信息。
云设备130收到第一指示信息后,建立与终端设备120之间的推送连接,并根据第一指示信息与终端设备120同步终端设备110的云数据,即,执行S406~S408。
S406,云设备130通过推送连接向终端设备120发送更新通知。
终端设备120收到更新通知后确定终端设备110的云数据已更新,则可以向云设备130查询具体更新内容。
S407,终端设备120通过推送连接向云设备130发送查询请求。
可选地,可以设置终端设备120通过蜂窝移动网络与云设备130连接时是否同步数据。如图5所示,当用户将“使用移动网络数据”的开关打开时,终端设备120可以随时使用蜂窝移动网络同步数据,终端设备120可以向云设备130发送查询请求以同步数据,从而可以保持本地数据与云数据实时同步;当用户将“使用移动网络数据”的开关关闭时,终端设备120不能使用蜂窝移动网络同步数据,终端设备120在连接WLAN后再向云设备130发送查询请求以同步数据,从而可以节省流量费用。
云设备130可以根据相邻两次查询请求的接收时间确定更新的照片数据,例如,云设备130在S407接收到的查询请求与上一次接收到的查询请求之间间隔十分钟,则云设备130可以确定云相册在最近十分钟内新增和删除的照片为更新的照片,进而通过推送连接将新增照片的完整数据和删除照片的ID发送给终端设备120。
S408,云设备130向终端设备120发送更新的照片数据。
上述更新的照片数据即:新增的照片的完整数据,和/或,删除的照片的ID。
S409,终端设备120根据更新的照片数据更新本地相册。
终端设备120收到更新的照片数据后,若更新内容是新增的照片,终端设备120将该新增的照片存储在本地;若更新内容是云数据中已删除的照片的ID,终端设备120删除在本地数据中与该ID对应的照片;从而使得终端设备120的本地数据与终端设备110的本地数据保持一致。
此外,在终端设备110更新云数据(如,云相册或者共享文档)时,终端设备120也可以同时更新云数据,更新方法与终端设备110更新云数据的方法相同,在此不再赘述。
在图4所示的方法中,终端设备110在数据变化量大于或等于数据量阈值时指示云设备130与终端设备120进行数据同步,可以减小云设备130频繁与终端设备120建立推送连接所消耗的通信资源和电量。此外,终端设备110在数据更新时间大于或等于时间阈值时指示云设备130与终端设备120进行数据同步,可以提高终端设备120更新本地数据的实时性。
图4所示的方法也可以应用于下列数据的更新场景:视频、文档、音频、浏览记录、日历、文件内容、邮件、通讯录或信息。其中,对于邮件编辑场景,当用户新增了一封邮件时,终端设备110确定新增了一个文件,当用户删除了一封邮件时,终端设备110确定删除了一个文件;对于通讯录编辑场景,当用户新增了一条通讯录时,终端设备110确定新增了一个文件,当用户删除了一条通讯录时,终端设备110确定删除了一个文件;当用户新增了一条信息时,终端设备110确定新增了一个文件,当用户删除了一条信息时,终端设备110确定删除了一个文件。
下面,结合协同编辑文档场景和删除相册场景进一步说明本申请提供的数据同步方法。图6是本申请提供的一种协同编辑文档时的数据同步方法,该方法包括下列内容。
S601,终端设备110更新本地文档。
终端设备110在编辑共享文档时,可以删除文字,也可以新增文字,删除的文字和/或新增的文字即更新的文字。其中,上述共享文档可以是记事本,也可以是备忘录,还可以是其他类型的文档,本申请对共享文档的具体类型不做限定。
S602,终端设备110向云设备130发送更新的文字。
终端设备110可以通过一条HTTP消息将多个更新的文字发送给云设备130,也可以通过多条HTTP消息分别将多个更新的文字发送给云设备130,本申请对每条HTTP消息承载的文字的数量不做限定。
S603,云设备130更新终端设备110的云文档。
云设备130从终端设备110收到更新的文字后,根据该更新的文字更新终端设备110的云文档。
例如,终端设备110的云文档存储的内容是ABC,更新的文字为新增的字母D、新增的字母E以及删除的字母A,则更新后的云文档为BCDE。
S604,终端设备110确定更新的文字的数量,和/或编辑时间符合预设条件。
终端设备110可以在本地文字的更新数量大于或等于数量阈值时,向云设备130发送第一指示信息;终端设备110也可以在本地文字的数据更新时间大于或等于时间阈值时,向云设备130发送第一指示信息;终端设备110还可以在文字更新数量大于或等于数量阈值时,并且,在数据更新时间大于或等于时间阈值时,向云设备130发送第一指示信息。
上述数量阈值和时间阈值可以是APP预设的,也可以是云设备130下发的。由于文档同步场景对实时性的要求较高,可以设置一个较小的数量阈值和数据更新时间阈值,以提高文字同步的实时性。
图7示出了本申请提供的一种编辑共享文档的实施例。
终端设备110和终端设备120的本地文档当前存储的内容均为ABC,用户在终端设备110上删除了字母A,并且新增了字母D和E,则终端设备110更新后的本地文档为BCDE。
若数量阈值为3,更新的文字的数量等于数量阈值,则终端设备110可以向云设备130发送第一指示信息,指示云设备130与终端设备120同步终端设备110的云文档。
若上述编辑过程所消耗的编辑时间为5秒,并且时间阈值为5秒,则终端设备110可以向云设备130发送第一指示信息,指示云设备130与终端设备120同步终端设备110的云文档。
可选地,终端设备110还可以在编辑时间和更新文字的数量同时满足条件时向云设备130发送第一指示信息。
当共享文档的文字更新数量大于或等于数量阈值时,和/或,当共享文档的数据更新时间大于或等于时间阈值时,终端设备110可以执行下列步骤。
S605,终端设备110向云设备130发送第一指示信息。
云设备130收到第一指示信息后,建立与终端设备120之间的推送连接,并根据第一指示信息与终端设备120同步所述终端设备110的云文档,即,执行S606~S608。
S606,云设备130通过推送连接向终端设备120发送更新通知。
该更新通知的格式如表1所示。
表1
表1中,第一列内容为更新通知的各个字段的名称;第二列内容为更新通知的各个字段的类型;第三列内容表示该字段是否可以不存在,其中,“No”表示该字段必须存在,“Yes”表示该字段可以不存在。“X-HW-Channel-Expiration”表示更新通知的有效期,超过该时间后,云设备130不再向终端设备120发送更新通知,终端设备120可以通过重新订阅更新服务来获取更新通知。“X-HW-Resource-State”表示资源更新状态,即,资源的更新类型是哪种类型。“x-HW-Operator”表示更新资源所面向的对象,如,终端设备120的共享文档APP需要更新,则该字段即“终端设备120的ID+共享文档APP的ID”。“x-HW-File-Id”即更新资源的ID,是一个可选的内容,当该字段存在时,终端设备120可以直接根据该字段更新本地数据,无需再向云设备130请求获取更新资源。
对于协同编辑文档场景,“x-HW-File-Id”字段可以为文档ID,“X-HW-Resource-State”字段可以为sync,此时,更新通知的含义为:文档ID对应的文档需要同步。终端设备120收到更新通知后确定终端设备110的云文档已更新,则可以向云设备130查询具体更新内容。
S607,终端设备120通过推送连接向云设备130发送查询请求。
可选地,终端设备120可以在连接WLAN的时候发送查询请求,以节省流量费用。
云设备130可以根据相邻两次查询请求的接收时间确定更新的文档内容,例如,云设备130在S607接收到的查询请求与上一次接收到的查询请求之间间隔5秒,则云设备130可以确定云相册在最近5秒内新增和删除的文字为更新的文字,进而执行下列步骤。
S608,云设备130向终端设备120发送更新的文字。
云设备130可以通过推送连接将更新的文字发送给终端设备120。
S609,终端设备120根据更新内容更新本地文档。
终端设备120更新本地文档时,也可以按照上述方法使得终端设备110获取终端设备120的本地文档的更新内容。
在协同编辑文档场景中,传统的数据同步方法是云设备130等待终端设备110编辑完成后再通知终端设备120更新本地文档。若终端设备110更新的内容较多,则终端设备110会持续上传更新的内容,云设备130无法及时通知终端设备120更新本地文档,使得终端设备120无法及时获取更新内容,从而造成协同编辑文档的体验不佳。应用图6所示的方法后,终端设备120能够及时获取更新内容,增强协同编辑的体验。
此外,应用图6所示的方法后,云设备130无需每更新一个文字就通知一次终端设备120,减小了终端设备120更新本地文档所消耗的通信资源和电量。
图6所示的方法也可以应用于下列数据的更新场景:
邮件编辑场景,例如,用户在终端设备110上编辑邮件时,终端设备120展示同步更新的邮件。
信息编辑场景,例如,用户在终端设备110上编辑信息时,终端设备120展示同步更新的信息。
图8是本申请提供的一种删除相册时的数据同步方法,该方法包括下列内容。
S801,终端设备110删除本地相册。
用户可以在终端设备110的屏幕上长摁相册的图标,并在弹出的选项中选择“删除”,从而完成删除本地相册的操作。
S802,终端设备110向云设备130发送删除的照片的ID。
用户通过终端设备110删除本地相册时,通常是直接删除整个相册。但是,终端设备110在执行删除相册的操作时,是先删除本地相册中的各个照片,再删除相册的图标。因此,终端设备110需要先将删除的照片的ID发送给云设备130,再将删除的相册的ID发送给云设备130。
S803,云设备130根据照片的ID删除终端设备110的云相册中的照片。
终端设备110可以通过一条HTTP消息将多个照片ID发送给云设备130,也可以通过多条HTTP消息分别将多个照片ID发送给云设备130,本申请对每条HTTP消息承载的照片ID的数量不做限定。
S804,终端设备110向云设备130发送第二指示信息,第二指示信息包含删除的相册的ID。
终端设备110可以通过一条HTTP消息将多个相册ID发送给云设备130,也可以通过多条HTTP消息分别将多个相册ID发送给云设备130,本申请对每条HTTP消息承载的相册ID的数量不做限定。
S805,云设备130根据相册的ID删除终端设备110的云相册。
例如,云设备130收到的照片ID为1、2和3,则可以删除云相册中的ID为1、2和3的照片;随后,云设备130收到包含相册1的ID的第二指示信息,则根据第二指示信息删除相册1的图标。
S806,终端设备110确定相册删除数量和/或相册编辑时间符合预设条件。
终端设备110可以在本地相册的数据变化量大于或等于数据量阈值时,向云设备130发送第一指示信息;终端设备110也可以在数据更新时间大于或等于时间阈值时,向云设备130发送第一指示信息;终端设备110还可以在数据变化量大于或等于数据量阈值时,并且,在数据更新时间大于或等于时间阈值时,向云设备130发送第一指示信息。
上述数量阈值和时间阈值可以是APP预设的,也可以是云设备130下发的。由于相册同步场景对实时性的要求不高,可以设置一个较大的数据变化量阈值和数据更新时间阈值,以减少频繁更新带来的电量消耗和通信资源消耗。
例如,可以将数据更新时间阈值设置为十分钟,终端设备110在8点完成本地相册的更新,并且在随后的十分钟内没有更新本地相册,则终端设备110可以在8点10分向云设备发送第一指示信息;若终端设备110在8点完成本地相册的更新,并且在8点5分再次更新了本地相册,则终端设备110需要从8点5分开始计时,基于随后的10分钟内是否有更新本地相册的操作决定是否向云设备130发送第一指示信息。
又例如,可以将数据变化量阈值设置为100兆,若终端设备110的本地相册删除照片的总数据量达到100兆,则可以向云设备130发送第一指示信息;若终端设备110的本地相册删除照片的总数据量未达到100兆,则不向云设备130发送第一指示信息。
当本地相册的数据变化量大于或等于数据量阈值时,和/或,当本地相册的数据更新时间大于或等于时间阈值时,终端设备110可以执行下列步骤。
S807,终端设备110向云设备130发送第一指示信息。
例如,终端设备110删除了相册1、相册2和相册3,则相册删除数量为3,若数量阈值为3,终端设备110可以向云设备130发送第一指示信息,指示云设备130与终端设备120同步终端设备110的云相册。
又例如,终端设备110删除了相册1、相册2和相册3,该编辑过程所消耗的编辑时间为1秒,若时间阈值为1分钟,终端设备110可以在1分钟后向云设备130发送第一指示信息,指示云设备130与终端设备120同步终端设备110的云文档。
可选地,终端设备110还可以在照片删除数量和相册编辑时间同时满足条件时向云设备130发送第一指示信息。
上述步骤中,第一指示信息是在第二指示信息之后发送的,此时,云相册的更新已完成,云设备130确定终端设备120没有向云相册上传照片,随后删除该云相册,从而可以避免终端设备120上传照片时因相册已删除导致的相册同步出错。
云设备130收到第一指示信息后,建立与终端设备120之间的推送连接,并根据第一指示信息与终端设备120同步所述终端设备110的云相册,即,执行S808~S809。
S808,云设备130通过推送连接向终端设备120发送第三指示信息。
第三指示信息包含删除的相册中照片的ID,指示终端设备120删除该ID对应的照片。
随后,云设备130可以执行下列步骤。
S809,云设备130通过推送连接向终端设备120发送第四指示信息。
第四指示信息包含删除的相册的ID,指示终端设备120删除该ID对应的相册。
S810,终端设备120根据第三指示信息和第四指示信息更新本地相册。
云设备130收到第三指示信息后,先删除相册1中的各个照片,再根据第四指示信息删除相册1的图标。
图8所示的方法还可以适用于其他删除文件的场景。例如,终端设备110在本地删除了一个包含多个文档的文件夹,终端设备110可以先将该多个文档的ID发送给云设备130,再将该文件夹的ID发送给云设备130。云设备130删除该多个文档后,确认该文件夹是空文件夹后再删除文件夹。随后,云设备130将该文件夹的ID发送给终端设备120,指示终端设备120删除该文件夹和该文件夹中的全部文档。
图9是本申请提供的另一种删除相册时的数据同步方法,该方法包括下列内容。
S901,终端设备110删除本地相册。
用户可以在终端设备110的屏幕上长摁相册的图标,并在弹出的选项中选择“删除”,从而完成删除本地相册的操作。
S902,终端设备110向云设备130发送删除的相册的ID。
终端设备110可以通过一条HTTP消息将多个相册ID发送给云设备130,也可以通过多条HTTP消息分别将多个相册ID发送给云设备130,本申请对每条HTTP消息承载的相册ID的数量不做限定。
S903,云设备130根据相册的ID删除终端设备110的云相册中的照片以及该云相册。
例如,云设备130收到的相册ID为1、2和3,则可以删除云相册中的ID为1、2和3的相册以及这些相册中的全部照片。
S904,终端设备110确定相册删除数量和/或相册编辑时间。
终端设备110可以在本地相册的数据变化量大于或等于数据量阈值时,向云设备130发送第一指示信息;终端设备110也可以在数据更新时间大于或等于时间阈值时,向云设备130发送第一指示信息;终端设备110还可以在数据变化量大于或等于数据量阈值时,并且,在数据更新时间大于或等于时间阈值时,向云设备130发送第一指示信息。
上述数量阈值和时间阈值可以是APP预设的,也可以是云设备130下发的。由于相册同步场景对实时性的要求不高,可以设置一个较大的数据变化量阈值和数据更新时间阈值,以减少频繁更新带来的电量消耗和通信资源消耗。
例如,可以将数据更新时间阈值设置为十分钟,终端设备110在8点完成本地相册的更新,并且在随后的十分钟内没有更新本地相册,则终端设备110可以在8点10分向云设备发送第一指示信息;若终端设备110在8点完成本地相册的更新,并且在8点5分再次更新了本地相册,则终端设备110需要从8点5分开始计时,基于随后的10分钟内是否有更新本地相册的操作决定是否向云设备130发送第一指示信息。
又例如,可以将数据变化量阈值设置为100兆,若终端设备110的本地相册删除照片的总数据量达到100兆,则可以向云设备130发送第一指示信息;若终端设备110的本地相册删除照片的总数据量未达到100兆,则不向云设备130发送第一指示信息。
当本地相册的数据变化量大于或等于数据量阈值时,和/或,当本地相册的数据更新时间大于或等于时间阈值时,终端设备110可以执行下列步骤。
S905,终端设备110向云设备130发送第一指示信息。
例如,终端设备110删除了相册1、相册2和相册3,则相册删除数量为3,若数量阈值为3,终端设备110可以向云设备130发送第一指示信息,指示云设备130与终端设备120同步终端设备110的云相册。
又例如,终端设备110删除了相册1、相册2和相册3,该编辑过程所消耗的编辑时间为1秒,若时间阈值为1分钟,终端设备110可以在1分钟后向云设备130发送第一指示信息,指示云设备130与终端设备120同步终端设备110的云文档。
可选地,终端设备110还可以在照片删除数量和相册编辑时间同时满足条件时向云设备130发送第一指示信息。
上述步骤中,第一指示信息是在第二指示信息之后发送的,此时,云相册的更新已完成,云设备130确定终端设备120没有向云相册上传照片,随后删除该云相册,从而可以避免终端设备120上传照片时因相册已删除导致的相册同步出错。
云设备130收到第一指示信息后,建立与终端设备120之间的推送连接,并根据第一指示信息与终端设备120同步所述终端设备110的云相册,即,执行S906。
S906,云设备130通过推送连接向终端设备120发送第三指示信息。
第三指示信息包含删除的相册的ID,指示终端设备120删除该ID对应的相册。
S907,终端设备120根据第三指示信息更新本地相册。
云设备130收到第三指示信息后,先删除相册1中的各个照片,再根据第四指示信息删除相册1的图标。
在删除相册场景中,传统的数据同步方法是云设备130仅将云相册需要更新的消息通知终端设备120,终端设备120需要至少两次查询(查询更新的照片以及查询更新的相册)才能完成相册的更新。图9所示的方法中,云设备130直接将相册的ID发送给终端设备120,终端设备120无需再查询更新的照片和更新的相册,从而减小了终端设备120更新本地相册所消耗的通信资源和电量。
图9所示的方法还可以适用于其他删除文件夹的场景。
上文详细介绍了本申请提供的数据同步方法的示例。可以理解的是,相应的装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请可以根据上述方法示例对数据同步装置进行功能单元的划分,例如,可以将各个功能划分为各个功能单元,也可以将两个或两个以上的功能集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图10是本申请提供的一种数据同步装置的结构示意图。该装置1000包括处理单元1010和发送单元1020,其中,发送单元1020能够在处理单元1010的控制下执行发送步骤。例如:
处理单元1010用于:获取对第一对象的第一操作,所述第一操作用于更新第一对象的数据;
发送单元1020用于:向云设备发送同步信息,所述同步信息指示所述云设备更新所述第一对象的数据;
处理单元1010还用于:获取所述第一对象的数据变化量或数据更新时间;当所述数据变化量大于或等于数据量阈值时,和/或,当所述数据更新时间大于或等于时间阈值时,通过发送单元1020向所述云设备发送第一指示信息,所述第一指示信息用于指示所述云设备向第二设备发送更新通知。
装置1000执行数据同步方法的具体方式以及产生的有益效果可以参见方法实施例中的相关描述。
图11示出了本申请提供的一种电子设备的结构示意图。图11中的虚线表示该单元或该模块为可选的。设备1100可用于实现上述方法实施例中描述的方法。设备1100可以是终端设备或芯片。
设备1100包括一个或多个处理器1101,该一个或多个处理器1101可支持设备1100实现方法实施例中的方法。处理器1101可以是通用处理器或者专用处理器。例如,处理器1101可以是中央处理器(central processing unit,CPU)、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件,如分立门、晶体管逻辑器件或分立硬件组件。
处理器1101可以用于对设备1100进行控制,执行软件程序,处理软件程序的数据。设备1100还可以包括通信单元1105,用以实现信号的输入(接收)和输出(发送)。
例如,设备1100可以是芯片,通信单元1105可以是该芯片的输入和/或输出电路,或者,通信单元1105可以是该芯片的通信接口,该芯片可以作为终端设备或其它电子设备的组成部分。
又例如,设备1100可以是终端设备,通信单元1105可以是该终端设备的收发器,或者,通信单元1105可以是该终端设备的收发电路。
设备1100中可以包括一个或多个存储器1102,其上存有程序1104,程序1104可被处理器1101运行,生成指令1103,使得处理器1101根据指令1103执行上述方法实施例中描述的方法。可选地,存储器1102中还可以存储有数据。可选地,处理器1101还可以读取存储器1102中存储的数据(如,文档或相册),该数据可以与程序1104存储在相同的存储地址,该数据也可以与程序1104存储在不同的存储地址。
处理器1101和存储器1102可以单独设置,也可以集成在一起,例如,集成在终端设备的系统级芯片(system on chip,SOC)上。
设备1100还可以包括天线1106。通信单元1105用于通过天线1106实现设备1100的收发功能。
本申请还提供了一种计算机程序产品,该计算机程序产品被处理器1101执行时实现本申请中任一方法实施例所述的方法。
该计算机程序产品可以存储在存储器1102中,例如是程序1104,程序1104经过预处理、编译、汇编和链接等处理过程最终被转换为能够被处理器1101执行的可执行目标文件。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现本申请中任一方法实施例所述的方法。该计算机程序可以是高级语言程序,也可以是可执行目标程序。
该计算机可读存储介质例如是存储器1102。存储器1102可以是易失性存储器或非易失性存储器,或者,存储器1102可以同时包括易失性存储器和非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和设备的具体工作过程以及产生的技术效果,可以参考前述方法实施例中对应的过程和技术效果,在此不再赘述。
在本申请所提供的几个实施例中,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例的一些特征可以忽略,或不执行。以上所描述的装置实施例仅仅是示意性的,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统。另外,各单元之间的耦合或各个组件之间的耦合可以是直接耦合,也可以是间接耦合,上述耦合包括电的、机械的或其它形式的连接。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
总之,以上所述仅为本申请技术方案的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (24)
1.一种数据同步的方法,其特征在于,包括:
第一设备获取对第一对象的第一操作,所述第一操作用于更新第一对象的数据;
所述第一设备向云设备发送同步信息,所述同步信息指示所述云设备更新所述第一对象的数据;
所述第一设备获取所述第一对象的数据变化量或数据更新时间;
当所述数据变化量和/或所述数据更新时间满足第一预设条件时,所述第一设备向所述云设备发送第一指示信息,所述第一指示信息用于指示所述云设备向第二设备发送更新通知。
2.根据权利要求1所述的方法,其特征在于,当所述第一对象为共享文档时,所述第一操作为输入文字和/或删除文字的操作,所述同步信息为输入的文字和/或删除的文字。
3.根据权利要求2所述的方法,其特征在于,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:
所述输入文字的数量和所述删除文字的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
4.根据权利要求1所述的方法,其特征在于,当所述第一对象为文件时,所述第一操作为新增文件的操作,所述同步信息为所述新增的文件的标识和文件数据内容。
5.根据权利要求4所述的方法,其特征在于,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:
所述新增的文件的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
6.根据权利要求1所述的方法,其特征在于,当所述第一对象为文件时,所述第一操作为删除文件的操作,所述同步信息为所述删除的文件的标识。
7.根据权利要求6所述的方法,其特征在于,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:
所述删除的文件的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
8.根据权利要求1所述的方法,其特征在于,当所述第一对象为文件夹时,所述第一操作为删除所述文件夹的操作,所述同步信息为所述文件夹的标识,或者,所述同步信息为所述文件夹中全部文件的标识以及所述文件夹的标识。
9.根据权利要求8所述的方法,其特征在于,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:
所述文件夹的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
10.一种数据同步的方法,其特征在于,包括:
第一设备获取对第一对象的第一操作,所述第一操作用于更新第一对象的数据;
所述第一设备向云设备发送同步信息,所述同步信息指示所述云设备更新所述第一对象的数据;
所述云设备从所述第一设备接收所述同步信息;
所述第一设备获取所述第一对象的数据变化量或数据更新时间;
当所述数据变化量和/或所述数据更新时间满足第一预设条件时,所述第一设备向所述云设备发送第一指示信息,所述第一指示信息用于指示所述云设备向第二设备发送更新通知;
所述云设备从所述第一设备接收所述第一指示信息;
所述云设备根据所述第一指示信息向所述第二设备发送所述更新通知。
11.根据权利要求10所述的方法,其特征在于,当所述第一对象为共享文档时,所述第一操作为输入文字和/或删除文字的操作,所述同步信息为输入的文字和/或删除的文字。
12.根据权利要求11所述的方法,其特征在于,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:
所述输入文字的数量和所述删除文字的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
13.根据权利要求11或12所述的方法,其特征在于,所述方法还包括:
所述云设备从所述第二设备接收查询请求,所述查询请求用于获取更新的文字;
所述云设备向所述第二设备发送所述输入文字和所述删除文字。
14.根据权利要求10所述的方法,其特征在于,当所述第一对象为文件时,所述第一操作为新增文件的操作,所述同步信息为所述新增的文件的标识和文件数据内容。
15.根据权利要求14所述的方法,其特征在于,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:
所述新增的文件的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
16.根据权利要求14或15所述的方法,其特征在于,所述方法还包括:
所述云设备从所述第二设备接收查询请求,所述查询请求用于获取更新的文件;
所述云设备向所述第二设备发送所述新增的文件的标识和文件数据内容。
17.根据权利要求10所述的方法,其特征在于,当所述第一对象为文件时,所述第一操作为删除文件的操作,所述同步信息为所述删除的文件的标识。
18.根据权利要求17所述的方法,其特征在于,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:
所述删除的文件的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
19.根据权利要求17或18所述的方法,其特征在于,所述方法还包括:
所述云设备从所述第二设备接收查询请求,所述查询请求用于获取更新的文件;
所述云设备向所述第二设备发送所述删除的文件的标识。
20.根据权利要求10所述的方法,其特征在于,当所述第一对象为文件夹时,所述第一操作为删除所述文件夹的操作,所述同步信息为所述文件夹的标识,或者,所述同步信息为所述文件夹中全部文件的标识以及所述文件夹的标识。
21.根据权利要求20所述的方法,其特征在于,所述数据变化量和/或所述数据更新时间满足第一预设条件,包括:
所述文件夹的数量大于或等于数量阈值,和/或,所述第一操作的编辑时间大于或等于时间阈值。
22.根据权利要求20或21所述的方法,其特征在于,所述方法还包括:
所述云设备从所述第二设备接收查询请求,所述查询请求用于获取更新的文件夹;
所述云设备向所述第二设备发送所述文件夹的标识。
23.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和所述存储器耦合,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备执行权利要求1至9中任一项所述的方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110360728.5A CN115150411A (zh) | 2021-03-31 | 2021-03-31 | 数据同步的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110360728.5A CN115150411A (zh) | 2021-03-31 | 2021-03-31 | 数据同步的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115150411A true CN115150411A (zh) | 2022-10-04 |
Family
ID=83405105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110360728.5A Pending CN115150411A (zh) | 2021-03-31 | 2021-03-31 | 数据同步的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115150411A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115712813A (zh) * | 2022-11-23 | 2023-02-24 | 北京中科三清环境技术有限公司 | 确定非点源的污染负荷输出系数的方法、装置及电子设备 |
CN117812087A (zh) * | 2022-12-14 | 2024-04-02 | 华为技术有限公司 | 数据同步方法及电子设备 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866961A (zh) * | 2006-03-13 | 2006-11-22 | 华为技术有限公司 | 一种客户系统与服务系统数据同步的方法及系统 |
CN101089815A (zh) * | 2006-06-13 | 2007-12-19 | 柯尼卡美能达商用科技株式会社 | 程序更新管理装置 |
CN101714941A (zh) * | 2008-10-06 | 2010-05-26 | 联想(北京)有限公司 | 数据更新方法和数据缓存服务器 |
CN103281798A (zh) * | 2013-05-30 | 2013-09-04 | 腾讯科技(深圳)有限公司 | 一种实现修改同步的方法、装置及系统 |
CN103327037A (zh) * | 2012-03-20 | 2013-09-25 | 中兴通讯股份有限公司 | 数据同步方法及装置 |
CN103780675A (zh) * | 2013-12-11 | 2014-05-07 | 北京荣之联科技股份有限公司 | 一种云盘文件同步方法和装置 |
CN103916457A (zh) * | 2013-01-04 | 2014-07-09 | 三星电子株式会社 | 利用个人云设备共享内容的方法及电子设备和个人云系统 |
CN106599106A (zh) * | 2016-11-28 | 2017-04-26 | 深圳中兴网信科技有限公司 | 基于分布式文件系统的数据同步方法及装置 |
CN106980673A (zh) * | 2017-03-27 | 2017-07-25 | 恒生电子股份有限公司 | 内存数据库表索引更新方法及系统 |
CN106980625A (zh) * | 2016-01-18 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置及系统 |
CN107770207A (zh) * | 2016-08-16 | 2018-03-06 | 瓦戈科技(上海)有限公司 | 多终端设备间数据同步的方法 |
CN109803005A (zh) * | 2019-01-03 | 2019-05-24 | 深圳壹账通智能科技有限公司 | 业务断点处理方法、装置、计算机设备和存储介质 |
CN111158617A (zh) * | 2019-12-04 | 2020-05-15 | 深圳市东向同人科技有限公司 | 一种投屏内容同步方法、移动终端及计算机可读存储介质 |
CN111797103A (zh) * | 2019-04-08 | 2020-10-20 | 合肥四维图新科技有限公司 | 地图更新方法、装置和存储介质 |
CN111858523A (zh) * | 2019-12-20 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 一种文档在线协同编辑方法、客户端及服务器 |
CN112099858A (zh) * | 2020-09-07 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 系统数据处理逻辑更新方法、装置和数据处理系统 |
CN112532660A (zh) * | 2019-08-27 | 2021-03-19 | 中兴通讯股份有限公司 | 一种数据同步的方法、装置和网络管理系统 |
-
2021
- 2021-03-31 CN CN202110360728.5A patent/CN115150411A/zh active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866961A (zh) * | 2006-03-13 | 2006-11-22 | 华为技术有限公司 | 一种客户系统与服务系统数据同步的方法及系统 |
CN101089815A (zh) * | 2006-06-13 | 2007-12-19 | 柯尼卡美能达商用科技株式会社 | 程序更新管理装置 |
CN101714941A (zh) * | 2008-10-06 | 2010-05-26 | 联想(北京)有限公司 | 数据更新方法和数据缓存服务器 |
CN103327037A (zh) * | 2012-03-20 | 2013-09-25 | 中兴通讯股份有限公司 | 数据同步方法及装置 |
CN103916457A (zh) * | 2013-01-04 | 2014-07-09 | 三星电子株式会社 | 利用个人云设备共享内容的方法及电子设备和个人云系统 |
CN103281798A (zh) * | 2013-05-30 | 2013-09-04 | 腾讯科技(深圳)有限公司 | 一种实现修改同步的方法、装置及系统 |
CN103780675A (zh) * | 2013-12-11 | 2014-05-07 | 北京荣之联科技股份有限公司 | 一种云盘文件同步方法和装置 |
CN106980625A (zh) * | 2016-01-18 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置及系统 |
CN107770207A (zh) * | 2016-08-16 | 2018-03-06 | 瓦戈科技(上海)有限公司 | 多终端设备间数据同步的方法 |
CN106599106A (zh) * | 2016-11-28 | 2017-04-26 | 深圳中兴网信科技有限公司 | 基于分布式文件系统的数据同步方法及装置 |
CN106980673A (zh) * | 2017-03-27 | 2017-07-25 | 恒生电子股份有限公司 | 内存数据库表索引更新方法及系统 |
CN109803005A (zh) * | 2019-01-03 | 2019-05-24 | 深圳壹账通智能科技有限公司 | 业务断点处理方法、装置、计算机设备和存储介质 |
CN111797103A (zh) * | 2019-04-08 | 2020-10-20 | 合肥四维图新科技有限公司 | 地图更新方法、装置和存储介质 |
CN112532660A (zh) * | 2019-08-27 | 2021-03-19 | 中兴通讯股份有限公司 | 一种数据同步的方法、装置和网络管理系统 |
CN111158617A (zh) * | 2019-12-04 | 2020-05-15 | 深圳市东向同人科技有限公司 | 一种投屏内容同步方法、移动终端及计算机可读存储介质 |
CN111858523A (zh) * | 2019-12-20 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 一种文档在线协同编辑方法、客户端及服务器 |
CN112099858A (zh) * | 2020-09-07 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 系统数据处理逻辑更新方法、装置和数据处理系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115712813A (zh) * | 2022-11-23 | 2023-02-24 | 北京中科三清环境技术有限公司 | 确定非点源的污染负荷输出系数的方法、装置及电子设备 |
CN117812087A (zh) * | 2022-12-14 | 2024-04-02 | 华为技术有限公司 | 数据同步方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11200044B2 (en) | Providing access to a hybrid application offline | |
CN109684054B (zh) | 信息处理方法及装置、电子设备及存储器 | |
WO2018095306A1 (zh) | 应用程序页面处理方法、装置及存储介质 | |
KR101866221B1 (ko) | 애플리케이션들 및 컨테이너들의 통합 | |
CN113261023A (zh) | 远程访问协作文档的元数据 | |
CN107258072B (zh) | 聊天软件的对话内容管理方法和系统及记录介质 | |
WO2013060841A1 (en) | Improved handling and configuration of a mobile communications terminal | |
CN103051652B (zh) | 一种移动终端云计算发布平台 | |
CN115150411A (zh) | 数据同步的方法和装置 | |
US20130046935A1 (en) | Shared copy cache across networked devices | |
CN110990075A (zh) | 快应用的启动方法、装置、设备及存储介质 | |
CN113110829B (zh) | 多ui组件库数据处理方法及装置 | |
CN102163156A (zh) | 移动终端图标替换方法及移动终端 | |
CN105210032A (zh) | 应用程序的登记和交互 | |
JP7459272B2 (ja) | ページ操作処理方法、装置、機器、及び記憶媒体 | |
CN113835571A (zh) | 一种终端设备、信息展示方法和存储介质 | |
CN107977277B (zh) | Erp系统中集成第三方系统的方法、装置及计算机设备 | |
CN118251656A (zh) | 渐进式网络应用程序(pwa)的服务工作线程的自动工作或自动生成代码 | |
CN114528510A (zh) | 网页数据处理的方法、装置、电子设备及介质 | |
CN115437551A (zh) | 数据克隆的方法、设备、存储介质及计算机程序产品 | |
CN110989987A (zh) | 一种门户网页的生成方法、装置、客户端、服务器及存储介质 | |
US20240220086A1 (en) | Information interaction method and apparatus, and electronic device | |
KR101906170B1 (ko) | 클라우드 기반 대용량 데이터 상태 관리를 이용한 그리드 처리 서비스 제공 방법 | |
EP4319118A1 (en) | Information interaction method and apparatus, and electronic device | |
KR20180011937A (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 |