CN114760321B - 设备数据同步方法、装置、终端设备和存储介质 - Google Patents
设备数据同步方法、装置、终端设备和存储介质 Download PDFInfo
- Publication number
- CN114760321B CN114760321B CN202011596038.1A CN202011596038A CN114760321B CN 114760321 B CN114760321 B CN 114760321B CN 202011596038 A CN202011596038 A CN 202011596038A CN 114760321 B CN114760321 B CN 114760321B
- Authority
- CN
- China
- Prior art keywords
- data
- synchronized
- target
- group
- application program
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 230000009133 cooperative interaction Effects 0.000 claims abstract description 163
- 230000001360 synchronised effect Effects 0.000 claims abstract description 133
- 238000004590 computer program Methods 0.000 claims description 22
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 230000003993 interaction Effects 0.000 abstract description 5
- 230000000875 corresponding effect Effects 0.000 description 42
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 19
- 238000004364 calculation method Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000007667 floating Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001960 triggered effect Effects 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请适用于设备交互技术领域,提供了一种设备数据同步方法、装置、终端设备和存储介质。该方法包括:在目标设备上的指定应用程序处于协同交互模式下,若检测到对所述目标设备上的所述指定应用程序的指定操作,则根据所述指定操作确定第一待同步数据;所述目标设备通过协同交互工具向处于同一群组内的其它设备发送所述第一待同步数据,所述第一待同步数据用于完成所述其它设备上的所述指定应用程序的数据同步操作。采用本申请提出的设备数据同步方法,待同步数据无需经过第三方服务器,能够提高用户隐私数据的安全性。
Description
技术领域
本申请属于设备交互技术领域,尤其涉及一种设备数据同步方法、装置、终端设备和存储介质。
背景技术
为了满足多人对同一份数据进行维护的需求,目前已经开发出大量用于设备协同交互的应用程序,处于不同地点的不同用户可以使用各自的设备登录协同交互应用指定的服务器,完成对同一份文档进行编辑等功能。然而,各个用户输入的数据均需要经过协同交互应用指定的服务器,存在隐私数据泄露的风险。
发明内容
有鉴于此,本申请实施例提供了一种设备数据同步方法、装置、终端设备和存储介质,能够在设备协同交互的过程中,提高用户隐私数据的安全性。
第一方面,本申请实施例提供了一种设备的远程控制方法,应用于目标设备,所述目标设备和一个或多个设备属于同一个群组,该方法包括:
在所述目标设备上的指定应用程序处于协同交互模式下,若检测到对所述目标设备上的所述指定应用程序的指定操作,则根据所述指定操作确定第一待同步数据;
所述目标设备通过协同交互工具向所述一个或多个设备发送所述第一待同步数据,所述第一待同步数据用于完成所述一个或多个设备上的所述指定应用程序的数据同步操作;
其中,所述指定应用程序为支持所述协同交互工具的数据传输协议的应用程序,所述协同交互工具用于实现群组内各设备之间的协同交互服务,所述群组内的每个设备均已启动所述协同交互工具。
在本申请实施例中,需要进行协同交互的各个设备均加入同一个群组,且每个设备均启动用于实现群组内各设备之间的协同交互服务的协同交互工具。在进行协同交互时,群组内的某个设备发出的待同步数据可以通过该协同交互工具发送给群组内的其它设备,而其它设备也可以通过该协同交互工具接收该待同步数据,并完成相应应用程序的数据同步操作。在这个过程中,待同步数据无需经过第三方服务器,故能够提高用户隐私数据的安全性。
在本申请的一个实施例中,所述目标设备可以预先通过以下方式加入所述群组:
在所述目标设备的网络连接正常,且所述目标设备上的所述协同交互工具处于开启状态的情况下,所述目标设备从指定的服务器处获取所述群组的标识;
所述目标设备通过所述群组的标识加入所述群组。
若该目标设备已安装该协同交互工具且可以正常连接网络,则用户可以在该目标设备上启动该协同交互工具或者其它指定的用于群组管理的应用程序,输入相应的用户账户(用户名和密码等),登录到某个指定的服务器。在登录到服务器后,该服务器可以对用户输入的用户账户进行鉴权,例如验证用户名是否存在,密码是否正确等。在鉴权通过后,用户可以在该目标设备上操作输入待加入群组的标识(群组编号、群组名称等),服务器在获取到用户输入的群组标识后将该目标设备添加到对应的群组中,至此完成设备加入群组的流程。
进一步的,在所述目标设备加入所述群组后,还可以包括:
所述目标设备向所述服务器发送所述目标设备的设备信息;
所述目标设备通过所述服务器接收所述一个或多个设备的设备信息。
目标设备在加入该群组后,可以将自身的设备信息发送至该服务器。该服务器在接收到目标设备的设备信息后,可以将该设备信息添加到与该群组对应的设备列表中,并且将该设备列表中记录的群组内其它设备的设备信息发送至该目标设备,便于该目标设备获知群组内包含的其它设备的信息,以及便于该目标设备和群组内的其它设备进行通信。
更进一步的,所述一个或多个设备的设备信息包括所述一个或多个设备的网络地址,所述目标设备通过协同交互工具向所述一个或多个设备发送所述第一待同步数据,可以包括:
所述目标设备将所述第一待同步数据封装成指定格式的数据;
所述目标设备通过所述协同交互工具将所述指定格式的数据发送至所述一个或多个设备的网络地址。
在发送待同步数据时,目标设备首先将待同步数据封装成某个指定格式的数据,例如可以封装成json格式的数据,然后可以通过该协同交互工具建立数据传输通道,通过网络套接字socket等方式将该指定格式的数据发送至各个其它设备的网络地址,从而完成待同步数据的发送操作。
在本申请的一个实施例中,所述设备数据同步方法还可以包括:
所述目标设备若检测到所述目标设备的网络连接中断,则在所述目标设备的显示界面上显示所述目标设备上一次执行数据同步操作的时间;
所述目标设备在检测到所述网络连接恢复后,重新发起连接所述服务器的请求。
这属于一种断线重连机制,在设备数据同步的过程中,若该目标设备检测到自身的网络连接中断,即和该服务器之间已经建立好的连接中断,则可以通过该协同交互工具获取该目标设备上一次执行数据同步操作的时间,显示在该目标设备的显示界面上。与此同时,该目标设备会不断检测自身网络是否恢复,若网络已恢复则重新发起连接请求至该服务器,以恢复正常的设备数据同步过程。
在本申请的一个实施例中,所述设备数据同步方法还可以包括:
所述目标设备通过所述协同交互工具接收来自所述一个或多个设备中的第二设备发送的第二待同步数据,其中,所述第二待同步数据用于完成所述群组中除所述第二设备外的其它设备上的所述指定应用程序的数据同步操作;
所述目标设备根据所述第二待同步数据完成所述目标设备上的所述指定应用程序的数据同步操作。
群组内的每个设备都能够发送待同步数据,而且也能够接收其它设备发送的待同步数据。对于群组中的任意一个目标设备,其通过协同交互工具能够接收到群组内任意一个或多个其它设备发送的待同步数据。目标设备在接收到待同步数据后,可以对该待同步数据进行解析,然后将解析后的数据发送至该目标设备上的指定应用程序,从而完成相应的数据同步操作。
进一步的,所述目标设备中具有待处理数据列表,所述待处理数据列表中记录有待同步至所述指定应用程序的数据,所述设备数据同步方法还可以包括:
在将所述第二待同步数据同步至所述目标设备上的所述指定应用程序之前,所述目标设备将所述第二待同步数据添加到所述待处理数据列表中;
所述目标设备根据所述第二待同步数据完成所述目标设备上的所述指定应用程序的数据同步操作,可以包括:
所述目标设备从所述待处理数据列表中获取所述第二待同步数据;
所述目标设备对获取的所述第二待同步数据进行解析,并将解析后得到的数据发送至所述目标设备上的所述指定应用程序,以完成所述目标设备上的所述指定应用程序的数据同步操作。
目标设备通过该协同交互工具接收到待同步数据后,该待同步数据会存储在目标设备的待处理数据列表中,该协同交互工具会不断地查询该待处理数据列表中的数据,发现有未处理的数据,则会将其解析,并发送给对应的指定应用程序,以完成该目标设备上的该指定应用程序的数据同步操作。
进一步的,所述目标设备中具有已处理数据列表,所述已处理数据列表中记录有一个或多个已同步至所述指定应用程序的数据,所述方法还可以包括:
在所述群组中存在新加入所述群组的第一设备的情况下,所述目标设备向所述第一设备发送所述已处理数据列表中的数据,所述第一设备用于根据所述已处理数据列表中的数据完成所述第一设备上的所述指定应用程序的数据同步操作。
对于新加入该群组的设备,其可以获取相应的历史数据,恢复群组内各设备的数据同步操作。具体的,某个新设备加入目标设备所在的群组后,可以向该目标设备发送一个历史数据获取请求;目标设备在接收到该请求后,可以将目标设备的已处理数据列表中的所有历史数据发送给该新设备,然后该新设备即可根据接收到的历史数据完成该新设备上的该指定应用程序的数据同步操作,从而和群组内的各个设备保持信息的同步。
在本申请的一个实施例中,所述目标设备上的所述指定应用程序可以通过以下步骤进入协同交互模式:
所述目标设备若检测到所述指定应用程序已启动且所述指定应用程序支持协同交互模式,则在所述指定应用程序的显示界面上显示提示信息,所述提示信息用于提示是否进入所述协同交互模式;
所述目标设备若检测到针对所述提示信息的预设操作,则确定所述目标设备上的所述指定应用程序进入协同交互模式。
目标设备上的指定应用程序支持协同交互模式,然而用户可能不是每次使用该指定应用程序均需要进入该模式,因此可以通过在该指定应用程序的显示界面上显示提示信息,若检测到用户针对该提示信息的预设操作,才确定该指定应用程序进入协同交互模式。例如,可以在该指定应用程序的显示界面上显示一个悬浮窗按钮,当用户点击该按钮后,该指定应用程序才进入协同交互模式。通过这样设置,用户可以自行选择是否进入指定应用程序的协同交互模式,从而进一步提升方法的实用性与灵活性。
第二方面,本申请实施例提供了一种设备数据同步装置,应用于目标设备,所述目标设备和一个或多个设备属于同一个群组,所述装置包括:
待同步数据确定模块,用于在所述目标设备上的指定应用程序处于协同交互模式下,若检测到对所述目标设备上的所述指定应用程序的指定操作,则根据所述指定操作确定第一待同步数据;
待同步数据发送模块,用于通过协同交互工具向所述一个或多个设备发送所述第一待同步数据,所述第一待同步数据用于完成所述一个或多个设备上的所述指定应用程序的数据同步操作;
其中,所述指定应用程序为支持所述协同交互工具的数据传输协议的应用程序,所述协同交互工具用于实现群组内各设备之间的协同交互服务,所述群组内的每个设备均已启动所述协同交互工具。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,所述终端设备实现如本申请实施例第一方面提出的设备数据同步方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被执行时实现如本申请实施例第一方面提出的设备数据同步方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行如本申请实施例第一方面提出的设备数据同步方法。
上述第二方面至第五方面所能实现的技术效果,可以参照第一方面所述的技术效果,在此不再赘述。
本申请实施例与现有技术相比存在的有益效果是:在进行协同交互时,群组内的某个设备发出的待同步数据可以通过协同交互工具发送给群组内的其它设备,而其它设备也可以通过该协同交互工具接收该待同步数据,并完成相应应用程序的数据同步操作。在这个过程中,待同步数据无需经过第三方服务器,因此能够提高用户隐私数据的安全性。
附图说明
图1是本申请实施例提供的一种设备数据同步系统的示意图;
图2是本申请实施例提供的一种终端设备的硬件结构图;
图3是本申请实施例提供的一种应用于目标设备的设备数据同步方法的流程图;
图4是本申请实施例提供的另一种应用于目标设备的设备数据同步方法的流程图;
图5是本申请实施例提供的设备数据同步方法在应用时对应的一种设备交互流程示意图;
图6是本申请实施例提供的设备数据同步方法在一种实际场景下应用的原理示意图;
图7是本申请实施例提供的一种手机加入协同工作群组的流程示意图;
图8是本申请实施例提供的指定应用程序进入协同交互模式的操作界面示意图;
图9是本申请实施例提供的指定应用程序进入协同交互模式的流程示意图;
图10是本申请实施例提供的设备A在计算器程序中输入计算式的操作场景的界面示意图;
图11是图10所示操作场景中,设备A发送待同步数据的交互流程示意图;
图12是本申请实施例提供的新设备加入群组获取历史同步数据的交互流程示意图;
图13是本申请实施例提供的计算器数据同步场景的效果示意图;
图14是本申请实施例提供的文档数据同步场景的效果示意图;
图15是本申请实施例提供的相册数据同步场景的效果示意图;
图16是本申请实施例提供的设备智能选网机制的流程示意图;
图17是本申请实施例提供的设备断线重连机制的流程示意图;
图18是本申请实施例提供的一种设备数据同步装置的结构图;
图19是本申请实施例提供的一种终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定装置结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。此外,本申请实施例中提到的“多个”应当被解释为两个或两个以上。
设备协同交互技术,是设备操作系统提供的具有协同能力的服务,以方便第三方开发出协同工作的软件。目前,大多数的协同交互应用都是一种在线协同系统,其数据存储在系统指定的服务器内,因此,用户采用自己的设备随时随地都可以访问服务器的数据。然而,应用的功能都是由开发商定制的,用户无法随意更改,若需要对应用进行定制开发,则需要开发商提供指定的服务器,并做好网络交互功能。对于普通的个人开发者,其无法负担服务器端的业务开发,故难以实现定制功能的开发,存在开发门槛高的问题。而且,在设备进行协同交互时,各个用户输入的数据均需要经过协同交互应用指定的服务器,也存在隐私数据泄露的风险。
针对现有技术存在的上述问题,本申请提出一种设备数据同步方法,各个需要协同交互的设备加入同一个群组,群组中的任何一个设备都可以进行任务发布,发送待同步数据,群组中的其它设备在接收到待同步数据后完成数据的同步更新操作。在这个过程中,待同步数据不经过第三方服务器,故开发者无需负担服务器端的数据同步业务开发,也能够提高用户隐私数据的安全性,本申请具体的实施方案可参见下文的各个实施例。
图1是本申请实施例提供的一种设备数据同步系统的示意图。图1中包括N个终端设备(设备1至设备N,N为大于或等于2的整数),该N个终端设备属于同一个协同工作群组。
可选的,本申请实施例提供的设备数据同步系统如图1所示还可以包括:服务器。该服务器用于将该N个终端设备加入同一个协同工作群组中。作为一种示例,上述N个终端设备通过向服务器发送请求,该请求用于请求服务器将该N个终端设备加入到同一个协同工作群组中。或者服务器基于实现主动将该N个终端设备加入到同一个协同工作群组中。当然,该N个终端设备中也可以存在一个终端设备作为主控终端设备,该主控终端设备可以将其他请求加入该群组的设备加入该群组,或者将加入该群组的设备移出该群组。比如,该主控终端设备生成一个群组标识,然后发送该群组标识。其他设备接收到该群组标识后,可以请求加入该群组,然后由主控终端设备确定是否授权其他设备加入群组。
在本申请的一个实施例中,通常情况下,同一个群组内的各个设备可以自主发送待同步数据。在本申请的另一个实施例中,该群组内的其他设备可以在主控终端设备的授权下,再发送待同步数据。
然后,各个终端设备即可采用本申请提出的设备数据同步方法实现协同交互工作,具体的工作原理和实现步骤可参见下文所述的方法实施例。其中,该服务器可以用于设备加入群组以及设备信息的管理,而不参与设备同步数据的处理,该N个终端设备可以通过网络等通信方式相互通信以及与该服务器通信。
图1中的设备1至设备N都可以是各种类型的终端设备,比如手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、大屏电视、智能家居设备等,本申请实施例对终端设备的具体类型不作任何限制。
以所述终端设备为手机为例,图2示出的是本申请实施例提供的手机的部分结构的框图。参考图2,手机包括:射频(Radio Frequency,RF)电路210、存储器220、输入单元230、显示单元240、传感器250、音频电路260、无线保真(wireless fidelity,WiFi)模块270、处理器280、以及电源290等部件。本领域技术人员可以理解,图2中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图2对手机的各个构成部件进行具体的介绍:
RF电路210可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器280处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路210还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯装置(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器220可用于存储软件程序以及模块,处理器280通过运行存储在存储器220的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器220可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元230可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元230可包括触控面板231以及其他输入设备232。触控面板231,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板231上或在触控面板231附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板231可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器280,并能接收处理器280发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板231。除了触控面板231,输入单元230还可以包括其他输入设备232。具体地,其他输入设备232可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元240可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元240可包括显示面板241,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板241。进一步的,触控面板231可覆盖显示面板241,当触控面板231检测到在其上或附近的触摸操作后,传送给处理器280以确定触摸事件的类型,随后处理器280根据触摸事件的类型在显示面板241上提供相应的视觉输出。虽然在图2中,触控面板231与显示面板241是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板231与显示面板241集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器250,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板241的亮度,接近传感器可在手机移动到耳边时,关闭显示面板241和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路260、扬声器261,传声器262可提供用户与手机之间的音频接口。音频电路260可将接收到的音频数据转换后的电信号,传输到扬声器261,由扬声器261转换为声音信号输出;另一方面,传声器262将收集的声音信号转换为电信号,由音频电路260接收后转换为音频数据,再将音频数据输出处理器280处理后,经RF电路210以发送给比如另一手机,或者将音频数据输出至存储器220以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块270可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图2示出了WiFi模块270,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。
处理器280是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器220内的软件程序和/或模块,以及调用存储在存储器220内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器280可包括一个或多个处理单元;优选的,处理器280可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作装置、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器280中。
手机还包括给各个部件供电的电源290(比如电池),优选的,电源可以通过电源管理装置与处理器280逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头,其中至少一个常规的RGB摄像头,以及至少一个红外摄像头或者高光谱摄像头。可选地,摄像头在手机的上的位置可以为前置的,也可以为后置的,本申请实施例对此不作限定。
可选地,手机可以包括单摄像头、双摄像头或三摄像头等,本申请实施例对此不作限定。
例如,手机可以包括三摄像头,其中,一个为主摄像头、一个为广角摄像头、一个为长焦摄像头。
可选地,当手机包括多个摄像头时,这多个摄像头可以全部前置,或者全部后置,或者一部分前置、另一部分后置,本申请实施例对此不作限定。
另外,尽管未示出,手机还可以包括蓝牙模块等,在此不再赘述。
图3示出了本申请实施例提供的一种应用于目标设备的设备数据同步方法的流程图,包括:
301、在所述目标设备上的指定应用程序处于协同交互模式下,若检测到对所述目标设备上的所述指定应用程序的指定操作,则根据所述指定操作确定第一待同步数据。
在本申请实施例中,多个不同设备预先加入同一个群组,目标设备为该群组中的任意一个设备。该目标设备若检测到对其运行的指定应用程序的指定操作,则会生成对应的待同步数据。该指定应用程序是该目标设备上已安装的支持多设备协同交互的任意一款软件,例如可以是计算器软件、文档编辑软件、相册浏览软件,等等。当该目标设备上的指定应用程序处于协同交互模式下,用户在对该指定应用程序进行指定操作后,会生成待同步数据,该待同步数据需要同步至该群组中除该目标设备外的每个其它设备。例如,用户操作计算器软件,输入计算的公式点击确认生成计算结果后,生成的计算结果即为待同步数据;用户操作文档编辑软件,更新文档内容后点击保存操作,其更新的文档内容即为待同步数据。
另一方面,该群组中的每个设备均具有用于实现群组内各设备之间的协同交互服务的应用程序,本申请称之为协同交互工具。为了实现群组内各设备的数据同步功能,开发人员可以预先开发一个协同交互工具,按照设定的数据传输协议开发相应的协同交互功能。另外,开发人员还需要对执行数据同步操作的各个应用程序进行定制开发,使这些应用程序支持该协同交互工具的数据传输协议,这是实现本申请所述设备数据同步方法的前提条件。
在本申请的一个实施例中,所述目标设备可以预先通过以下方式加入所述群组:
(1)在所述目标设备的网络连接正常,且所述目标设备上的所述协同交互工具处于开启状态的情况下,所述目标设备从指定的服务器处获取所述群组的标识;
(2)所述目标设备通过所述群组的标识加入所述群组。
该协同交互工具属于软件能力,因此可以通过检测该目标设备是否已经安装并启动该协同交互工具,是否具备该协同交互工具提供的服务能力的方式,来判断该目标设备是否支持设备协同工作。另外,该目标设备需要通过网络等方式和服务器以及群组内的其它设备连接,故此时还需要检测该目标设备是否能够正常连接网络(可通过手机移动网络连接、或者WiFi连接等方式)。若该目标设备已安装该协同交互工具且可以正常连接网络,则用户可以在该目标设备上启动该协同交互工具或者其它指定的用于群组管理的应用程序,输入相应的用户账户(用户名和密码等),登录到某个指定的服务器。在登录到服务器后,该服务器可以对用户输入的用户账户进行鉴权,例如验证用户名是否存在,密码是否正确等。在鉴权通过后,用户可以在该目标设备上操作输入待加入群组的标识(群组编号、群组名称等),服务器在获取到用户输入的群组标识后将该目标设备添加到对应的群组中,至此完成设备加入群组的流程。若鉴权失败,则该服务器可以返回预设的提示信息至该终端设备,以提醒用户验证失败,需要重新输入正确的用户名和密码。
进一步的,在所述目标设备加入所述群组后,还可以包括:
(1)所述目标设备向所述服务器发送所述目标设备的设备信息;
(2)所述目标设备通过所述服务器接收所述一个或多个设备的设备信息。
目标设备在加入该群组后,可以将自身的设备信息发送至该服务器。该服务器在接收到目标设备的设备信息后,将该设备信息添加到与该群组对应的设备列表中,该设备列表记录已加入该群组的每个设备的设备信息。也即,在服务器构建了一个映射关系表格,以记录每个群组分别包含的各个设备的设备信息,该设备信息具体可以包括设备名称和设备网络地址等信息。另一方面,该服务器还可以将该设备列表中记录的群组内其它设备的设备信息发送至该目标设备,便于该目标设备获知群组内包含的其它设备的信息,以及便于该目标设备和群组内的其它设备进行通信。
在本申请的一个实施例中,所述目标设备上的所述指定应用程序可以通过以下步骤进入协同交互模式:
(1)所述目标设备若检测到所述指定应用程序已启动且所述指定应用程序支持协同交互模式,则在所述指定应用程序的显示界面上显示提示信息,所述提示信息用于提示是否进入所述协同交互模式;
(2)所述目标设备若检测到针对所述提示信息的预设操作,则确定所述目标设备上的所述指定应用程序进入所述协同交互模式。
目标设备上的指定应用程序支持协同交互模式,然而用户可能不是每次使用该指定应用程序均需要进入该模式,因此可以通过在该指定应用程序的显示界面上显示提示信息,以供用户选择是否进入协同交互模式,从而进一步提升方法的实用性与灵活性。具体的,目标设备若检测到该指定应用程序已经启动,则可以在该指定应用程序的显示界面上显示一个悬浮窗口,例如一个悬浮的图标按钮。用户可以针对该悬浮窗口执行操作,例如可以点击或者拖动该悬浮窗口,从而确定进入该指定应用程序的协同交互模式;若用户未对该悬浮窗口执行操作,则表示该指定应用程序为普通工作模式(非协同交互模式)。目标设备只有进入该指定应用程序的协同交互模式后,才会执行本申请提出的设备数据同步方法,否则仅为执行对该指定应用程序的常规操作,即用户执行操作时不会将数据同步到群组内的其它设备。
在本申请的一个实施例中,所述设备数据同步方法还可以包括:
(1)所述目标设备若检测到所述目标设备的网络连接中断,则在所述目标设备的显示界面上显示所述目标设备上一次执行数据同步操作的时间;
(2)所述目标设备在检测到所述网络连接恢复后,重新发起连接所述服务器的请求。
这属于一种断线重连机制,在设备数据同步的过程中,若该目标设备检测到自身的网络连接中断,即和该服务器之间已经建立好的连接中断,则可以通过该协同交互工具获取该目标设备上一次执行数据同步操作的时间,显示在该目标设备的显示界面上。与此同时,该目标设备会不断检测自身网络是否恢复,若网络已恢复则重新发起连接请求至该服务器,以恢复正常的设备数据同步过程。
在本申请的一个实施例中,所述设备数据同步方法还可以包括:
(1)所述目标设备检测自身可以连接的所有网络;
(2)所述目标设备从所有网络中选择网络质量最好的目标网络,并连接至所述目标网络;
(3)所述目标设备在连接至所述目标网络后,重新发起连接所述服务器的请求。
这是一种智能选网的机制,目标设备通过检测可连接网络的网络质量,可以从中选择网络质量最好的网络进行连接,以提高设备数据同步操作的稳定性和实时性。
302、所述目标设备通过协同交互工具向所述一个或多个设备发送所述第一待同步数据,所述第一待同步数据用于完成所述一个或多个设备上的所述指定应用程序的数据同步操作。
该目标设备在生成待同步数据后,可以采用该协同交互工具向所述一个或多个设备(即该群组中除该目标设备外的其它设备)发送该待同步数据。该群组中的其它设备同样通过该协同交互工具接收待同步数据,然后可以对该数据进行解析,将解析后的数据发送至该其它设备上的指定应用程序,从而完成相应的数据同步操作。也即,用户在目标设备上的指定应用程序中进行操作输入的新数据,可以同步到该群组中其它设备上的该指定应用程序中。
另外,该目标设备的用户也可以从该群组的其它设备中选择一个或者多个设备,只将该待同步数据发送至用户选择的设备,从而实现群组内部分设备的数据同步操作。
在本申请的一个实施例中,所述一个或多个设备的设备信息包括所述一个或多个设备的网络地址,所述目标设备通过协同交互工具向所述一个或多个设备发送所述第一待同步数据,可以包括,可以包括:
(1)所述目标设备将所述第一待同步数据封装成指定格式的数据;
(2)所述目标设备通过所述协同交互工具将所述指定格式的数据发送至所述一个或多个设备的网络地址。
目标设备在加入群组的时候,可以通过服务器获取群组内其它设备的设备信息,该设备信息包括设备网络地址,也即目标设备已获知群组内每个设备的网络地址。在发送待同步数据时,目标设备可以将待同步数据封装成某个指定格式的数据,例如可以封装成json格式的数据,通过该协同交互工具建立数据传输通道,采用网络套接字socket等方式将该指定格式的数据发送至各个其它设备的网络地址,从而完成待同步数据的发送操作。
在本申请实施例中,需要进行协同交互的各个设备均加入同一个群组,且每个设备均安装用于实现群组内各设备之间的协同交互服务的协同交互工具。在进行协同交互时,群组内的某个设备发出的待同步数据可以通过该协同交互工具发送给群组内的其它设备,而其它设备也可以通过该协同交互工具接收该待同步数据,并完成相应应用程序的数据同步操作。在这个过程中,待同步数据无需经过第三方服务器,故能够提高用户隐私数据的安全性。
图4示出了本申请实施例提供的另一种应用于目标设备的设备数据同步方法的流程图,包括:
步骤401-402,同步骤301-302,具体可参照步骤301-302的相关说明。
403、所述目标设备通过所述协同交互工具接收来自所述一个或多个设备中的第二设备发送的第二待同步数据,其中,所述第二待同步数据用于完成所述群组中除所述第二设备外的其它设备上的所述指定应用程序的数据同步操作。
404、所述目标设备根据所述第二待同步数据完成所述目标设备上的所述指定应用程序的数据同步操作。
群组内的每个设备都能够发送待同步数据,而且也能够接收其它设备发送的待同步数据。对于群组中的任意一个目标设备,其通过协同交互工具能够接收到群组内任意一个其它设备发送的待同步数据。目标设备在接收到待同步数据后,可以对该待同步数据进行解析,然后将解析后的数据发送至该目标设备上的指定应用程序,从而完成相应的数据同步操作。也即,其它用户在群组内的其它设备上的指定应用程序中进行操作输入的新数据,可以同步到该目标设备的该指定应用程序中。另外,目标设备的用户也可以自主选择是否接受其它设备发送的待同步数据,例如,若用户点击拒绝接受同步操作的按钮,则目标设备不会执行相应的数据同步操作。
需要说明的是,上述步骤403-404虽然记载在步骤401-402之后,然而对于目标设备将数据同步到其它设备(对应于步骤401-402)的操作,以及对于其它设备将数据同步到目标设备(对应于步骤403-404)的操作两者来说,并没有执行先后顺序的限制。也即,上述步骤403-404也可以先于步骤401-402执行。
在加入同一个群组中的各个设备中,某个发布任务(发送待同步数据)的设备可以视作当前的主设备,其它接收任务(接收待同步数据并完成数据同步操作)的设备可以视作当前的从设备。
在本申请的一个实施例中,所述目标设备具有待处理数据列表和已处理数据列表,所述目标设备通过所述协同交互工具接收由所述一个或多个设备发送的第二待同步数据,可以包括:
所述目标设备通过所述协同交互工具接收所述第二待同步数据,并将接收到的所述第二待同步数据添加到所述待处理数据列表中。
该协同交互工具设置有待处理数据列表和已处理数据列表,每个设备接收到的未处理的待同步数据会存储到该待处理数据列表中,等到该待同步数据处理完成后,该协同交互工具则可以将其转移到已处理数据列表中,从而避免出现数据重复处理的问题。
所述目标设备根据所述第二待同步数据完成所述目标设备上的所述指定应用程序的数据同步操作,可以包括:
(1)所述目标设备从所述待处理数据列表中获取所述第二待同步数据;
(2)所述目标设备对获取的所述第二待同步数据进行解析,并将解析后得到的数据发送至所述目标设备上的所述指定应用程序,以完成所述目标设备上的所述指定应用程序的数据同步操作;
(3)在完成所述目标设备上的所述指定应用程序的数据同步操作后,所述目标设备将所述待处理数据列表中的所述第二待同步数据转移至所述已处理数据列表中。
目标设备通过该协同交互工具接收到待同步数据后,该待同步数据会存储在该待处理数据列表中,该协同交互工具会不断地查询该待处理数据列表中的数据,发现有未处理的数据,则会将其解析,并发送给对应的指定应用程序,以完成该目标设备上的该指定应用程序的数据同步操作。然后,该目标设备的协同交互工具可以将该待同步数据从待处理数据列表中转移至已处理数据列表中,表示该待同步数据已处理完成。
在本申请的一个实施例中,所述设备数据同步方法还可以包括:
在所述群组中存在新加入所述群组的第一设备的情况下,所述目标设备向所述第一设备发送所述已处理数据列表中的数据,所述第一设备用于根据所述已处理数据列表中的数据完成所述第一设备上的所述指定应用程序的数据同步操作。
对于新加入该群组的设备,其可以获取相应的历史数据,恢复群组内各设备的数据同步操作。具体的,某个新设备加入目标设备所在的群组后,可以向该目标设备发送一个历史数据获取请求;目标设备在接收到该请求后,可以将该已处理数据列表的所有历史数据发送给该新设备,然后该新设备即可根据接收到的历史数据完成该新设备上的该指定应用程序的数据同步操作,从而和群组内的各个设备保持信息的同步。
在本申请实施例中,需要进行协同交互的各个设备处于同一个群组内,且每个设备均启动用于实现群组内各设备之间的协同交互服务的协同交互工具。在进行协同交互时,群组内的某个设备发出的待同步数据可以通过该协同交互工具发送给群组内的其它设备,而其它设备也可以通过该协同交互工具接收该待同步数据,并完成相应应用程序的数据同步操作。在这个过程中,待同步数据无需经过第三方服务器,故能够提高用户隐私数据的安全性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为便于理解,下面以几个实际应用场景来说明本申请实施例提出的设备数据同步方法。
图5是本申请实施例提供的设备数据同步方法在应用时对应的一种设备交互流程示意图。在图5中,目标设备首先通过协同交互工具连接至服务器,采用已注册的用户名和密码进行登录,然后通过输入群组号或者扫描群组二维码的方式加入对应的设备群组中。服务器在对目标设备的用户名和密码鉴权通过后,同意该目标设备加入群组的请求,将该目标设备的设备信息(设备唯一标识符、设备IP地址等信息)添加到对应群组的设备列表里面,该设备列表记录已加入该群组的所有设备的设备信息。
当目标设备加入群组后,用户在目标设备上的某个指定应用程序(该应用程序支持该协同交互工具)上进行操作,发现该应用程序支持协同交互模式,则可以在程序显示界面上点击分享进行协同交互模式,在进行指定操作后生成对应的待同步数据。该待同步数据通过目标设备的协同交互工具发送至群组内其它设备(设备1-N)的协同交互工具,其它设备的用户在接收到该待同步数据后,可以点击选择是否接收数据同步事件,若接收则根据该待同步数据完成该其它设备上的该指定应用程序的数据同步操作。另外,其它设备在完成数据同步操作后,也可以将相应的数据同步结果返回给服务器,由服务器进行记录。
图6是本申请实施例提供的设备数据同步方法在一种实际场景下应用的原理示意图。在图6中,设备A、设备B、设备C和设备D预先通过输入群组标识等方式加入到同一个工作群组,服务器负责设备信息的管理以及用户账号的鉴权等工作。
用户在群组内的一个设备D上对支持协同交互工具的各种应用程序进行操作,产生的操作事件(待同步数据)可以通过设备D的协同交互工具发送至设备A至设备C的协同交互工具,并同步至设备A至设备C的相应应用程序。另外,设备D也可以将该操作事件发送给该服务器,由该服务器进行记录相关的信息。
具体的,产生的操作事件可以组成一个事件列表,具体可以包括事件编号、事件时间和事件内容等信息,设备D的用户可以选择将某个操作事件同步至设备A至设备C中的任意一个或者多个设备。在图6中,设备D将计算器分享计算结果的操作事件分发给设备A,设备A的用户点击同意后,则设备A会启动计算器,并显示设备D的计算结果,设备A的用户此时可以继续对该计算结果进行编辑与更新。设备D将闹钟事件分发给设备B,设备B的用户点击同意后,则设备B会根据该闹钟事件设置相应的闹钟。设备D将调整为静音的铃声事件分发给设备C,设备C的用户点击同意后,则设备C会将该铃声事件分发给“设置”应用,从而将设备C的铃声调整为静音等模式。另一方面,设备A至设备C的用户也可以执行将操作事件分发给该群组内其它设备的操作,其基本的操作原理和上述设备D的示例相同。
图7是本申请实施例提供的一种手机加入协同工作群组的流程示意图。
在图7中,首先检测手机是否支持协同工作,具体可以检测手机是否已经安装协同交互工具;然后,检测该手机是否能够正常连接网络,具体可以检测手机的WiFi或者移动数据业务是否可用;若手机支持协同工作且能够正常连接网络,则用户调用该手机中的协同交互工具,输入用户名和密码进行登录,连接到服务器;服务器对用户输入的账号进行鉴权,具体可以检验用户名是否存在以及检验密码是否正确,在鉴权通过后,用户可以在手机上输入群组号加入对应的协同工作群组。之后,服务器将该手机的设备信息添加到该群组对应的设备列表里面,并且获取该群组内其它设备的设备信息发送给该手机,该手机的显示界面可以显示加入群组成功的信息。若该手机未安装协同交互工具,或者该手机不能正常连接网络,则当次加入群组的操作失败,此时直接结束流程,并可以输出相应的指示信息。
图8是本申请实施例提供的指定应用程序进入协同交互模式的操作界面示意图。在图8中,该指定应用程序是计算器程序,由于该计算器程序支持协同交互工具,故在计算器程序的显示界面上会生成一个悬浮按钮,即图8左上角的分享图标。在操作时,用户可以通过点击该分享图标,使设备上的计算器程序进入协同交互模式,此时输入的计算数据可以同步至设备所在群组内的其它设备;若用户不点击该分享图标,则设备上的计算器程序处于普通工作模式,此时输入的计算数据不会同步至设备所在群组内的其它设备。
与图8对应,本申请实施例提供的指定应用程序进入协同交互模式的流程示意图如图9所示。首先,用户选择支持协同交互模式的指定应用程序,在启动该指定应用程序后会在设备显示界面弹出悬浮窗按钮,待用户点击该悬浮窗按钮后则该指定应用程序进入协同交互模式。
以图8所示的计算器程序作为例子,当用户点击分享图标进入协同交互模式后,设备A(发布任务的设备)的用户可以在计算器程序中输入某个计算式,如图10所示,设备A的用户输入计算式“50+79”。当用户敲击数据键盘时,不执行数据的同步,当用户点击“=”按键时,应用触发数据同步事件。
当触发数据同步事件时,应用将需要同步的数据封装成json数据,然后通过设备A的协同交互工具将该json数据发送给设备A所在群组内的其它设备。具体的,当用户点击“=”按键时,应用将计算器程序输入框内的文本信息“50+79”取出,然后获取运算符信息“+”,开始拼接json数据。在拼接json数据完成后,设备A通过该协同交互工具可以获知群组内其它设备的IP地址等信息,因此可以建立通信通道,以网络套接字socket的方式发送该json数据至群组内的其它设备。
例如,应用封装得到的json数据如下:
设备A的协同交互工具在收到该json数据后,可以按照时间顺序进行编号,相应的数据如下:
在上述过程中,计算器应用只需要封装待同步的事件和内容,也即具体的计算数字,其它同步的信息拼装是在协同交互工具里面完成的。
设备A发送待同步数据的流程示意图如图11所示,设备A首先通过协同交互工具连接到服务器,加入某个设备群组,并获取该群组内各个其它设备的设备信息,设备信息可以包括设备标识和设备IP地址等。设备A的用户在使用计算器应用后,应用生成相应的操作信息(待同步数据),发送给设备A的协同交互工具;然后,通过设备A的协同交互工具将操作信息发送至群组内的其它设备(设备B和设备C),其它设备接收到数据后的处理方式可以参照下文所述。
在设备A发送上述json数据至群组内的其它设备后,其它设备中的某个设备B可以通过设备B的协同交互工具接收该json数据。设备B的协同交互工具在接收到该数据后,发现其数据编号没有处理过,即"serial_number":"1"未处理,则将"process_info"部分的数据发送给设备B的计算器程序。
设备B的计算器程序读取"process_info"部分的数据,也即:
在读取数据后,应用发现事件是“add”事件,对应的内容是“50+79”,于是在计算器应用的界面显示如图10所示的内容,即设备B完成设备A发布的数据同步任务。群组内各个其它设备的操作原理和设备B相同,所有的信息只是添加新增的部分,以防止冲突。
图12是本申请实施例提供的新设备加入群组获取历史同步数据的交互示意图。在图12中,某个新设备首先通过协同交互工具对接服务器,加入某个工作群组,同时获取群组内各个其它设备的设备信息。然后,若该新设备获取到当前的主设备(即发布数据同步任务的设备)是设备A,则该新设备会向设备A发起历史数据获取请求;设备A在接收到请求后,可以将设备A协同交互工具的已处理数据列表中的历史数据发送至该新设备;该新设备在接收到设备A发送的历史数据后,即可根据该历史数据恢复历史操作,从而和群组内的各个设备保持信息的同步。针对图10所示的计算器数据同步的示例,该新设备在获取历史数据后,可以恢复相应的计算器历史操作,相应的效果示意图如图13所示。在图13中,新设备的计算器程序显示设备A同步的数据“50+79”、设备B同步的数据“80+2000”以及设备C同步的数据“70+30”,其中,设备A、设备B、设备C和该新设备是处于同一个群组内的设备。
根据图13所示的计算器数据同步效果示意图,可以发现本申请提出的设备数据同步方法适用于团建费用统计的场景。具体的,在小组团建结束后,若需要统计总花费,则每个人可以在自己手机的计算器程序中输入自己的花费金额(如图13中设备A、设备B和设备C的计算器程序界面),发送给群组内的所有人,活动组织者可以方便地在自己手机的计算器界面中看到各个人汇总的消费总金额(如图13中新设备的计算器程序界面)。
本申请提出的设备数据同步方法,也可以适用于多人对同一份文档的维护场景。如图14所示,用户A负责文档标题的维护,用户B负责文档内容的维护,则用户A修改的文档标题,可以通过本申请提出的设备数据同步方法同步至用户B的设备,用户B修改的文档内容,可以通过本申请提出的设备数据同步方法同步至用户A的设备。
本申请提出的设备数据同步方法,也可以适用于个人对他人设备中的相册进行操作的场景。如图15所示,用户A的设备可以访问同一群组内其它用户的设备的相册,并对该相册中的照片进行操作,例如可以复制、获取和删除相册中的任意照片,等等,效果相当于共享了一个可以读写操作的目录。
应当理解,本申请提出的设备数据同步方法,并不局限于上文所述的应用场景,其它任何采用本申请提出的设备数据同步方法所能实现的应用场景,均应包含在本申请的保护范围之内。
图16是本申请实施例提供的设备智能选网机制的流程示意图。群组中的任何一个设备都可以采用该智能选网机制,以获得更好的上网速度,减小数据同步的时延,提高用户体验。设备在运行的过程中,会检测设备可连接的所有网络的网络质量,并从中选择网络质量最好或较好的网络进行连接。例如,在图16中,设备检测到WiFi网络质量较差,则自动切换通信链路到数据业务(例如手机流量),然后重新发起连接网络的请求,并可以定时上报应用的使用信息。
图17是本申请实施例提供的设备断线重连机制的流程示意图。在设备数据同步的过程中,若某个设备检测到自身的网络连接中断,即和群组管理的服务器之间已经建立好的连接中断(心跳失败),则该设备可以通过协同交互工具获取该设备上一次执行数据同步操作的时间,显示在该设备的显示界面上,例如可以显示“2020/11/14 2:00pm”。与此同时,该设备会不断检测自身网络是否恢复,若网络已恢复则重新发起连接请求至该服务器,以恢复正常的设备数据同步过程。待网络恢复后,该设备可以重新获取以及同步断网期间的历史数据。
对应于上文实施例所述的设备数据同步方法,图18示出了本申请实施例提供的一种设备数据同步装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分,该设备数据同步装置应用于目标设备,所述目标设备和一个或多个设备属于同一个群组。
参照图18,该装置包括:
待同步数据确定模块501,用于在所述目标设备上的指定应用程序处于协同交互模式下,若检测到对所述目标设备上的所述指定应用程序的指定操作,则根据所述指定操作确定第一待同步数据;
待同步数据发送模块502,用于通过协同交互工具向所述一个或多个设备发送所述第一待同步数据,所述第一待同步数据用于完成所述一个或多个设备上的所述指定应用程序的数据同步操作;
其中,所述指定应用程序为支持所述协同交互工具的数据传输协议的应用程序,所述协同交互工具用于实现群组内各设备之间的协同交互服务,所述群组内的每个设备均已启动所述协同交互工具。
在本申请的一个实施例中,所述设备数据同步装置还可以包括:
群组标识获取模块,用于在所述目标设备的网络连接正常,且所述目标设备上的所述协同交互工具处于开启状态的情况下,从指定的服务器处获取所述群组的标识;
群组加入模块,用于通过所述群组的标识加入所述群组。
进一步的,所述设备数据同步装置还可以包括:
设备信息发送模块,用于向所述服务器发送所述目标设备的设备信息;
设备信息接收模块,用于通过所述服务器接收所述一个或多个设备的设备信息。
在本申请的一个实施例中,所述一个或多个设备的设备信息包括所述一个或多个设备的网络地址,所述待同步数据发送模块可以包括:
数据封装单元,用于将所述第一待同步数据封装成指定格式的数据;
数据发送单元,用于通过所述协同交互工具将所述指定格式的数据发送至所述一个或多个设备的网络地址。
在本申请的一个实施例中,所述设备数据同步装置还可以包括:
同步时间显示模块,用于若检测到所述目标设备的网络连接中断,则在所述目标设备的显示界面上显示所述目标设备上一次执行数据同步操作的时间;
网络重连模块,用于在检测到所述网络连接恢复后,重新发起连接所述服务器的请求。
在本申请的一个实施例中,所述设备数据同步装置还可以包括:
待同步数据接收模块,用于通过所述协同交互工具接收来自所述一个或多个设备中的第二设备发送的第二待同步数据,其中,所述第二待同步数据用于完成所述群组中除所述第二设备外的其它设备上的所述指定应用程序的数据同步操作;
数据同步模块,用于根据所述第二待同步数据完成所述目标设备上的所述指定应用程序的数据同步操作。
在本申请的一个实施例中,所述目标设备中具有待处理数据列表,所述待处理数据列表中记录有待同步至所述指定应用程序的数据,所述设备数据同步装置还可以包括:
数据添加模块,用于在将所述第二待同步数据同步至所述目标设备上的所述指定应用程序之前,将所述第二待同步数据添加到所述待处理数据列表中;
所述数据同步模块可以包括:
数据获取单元,用于从所述待处理数据列表中获取所述第二待同步数据;
数据解析单元,用于对获取的所述第二待同步数据进行解析,并将解析后得到的数据发送至所述目标设备上的所述指定应用程序,以完成所述目标设备上的所述指定应用程序的数据同步操作。
进一步的,所述目标设备中具有已处理数据列表,所述已处理数据列表中记录有一个或多个已同步至所述指定应用程序的数据,所述设备数据同步装置还可以包括:
历史数据发送模块,用于在所述群组中存在新加入所述群组的第一设备的情况下,向所述第一设备发送所述已处理数据列表中的数据,所述第一设备用于根据所述已处理数据列表中的数据完成所述第一设备上的所述指定应用程序的数据同步操作。
在本申请的一个实施例中,所述设备数据同步装置还可以包括:
提示信息显示模块,用于若检测到所述指定应用程序已启动且所述指定应用程序支持协同交互模式,则在所述指定应用程序的显示界面上显示提示信息,所述提示信息用于提示是否进入所述协同交互模式;
应用模式切换模块,用于若检测到针对所述提示信息的预设操作,则确定所述目标设备上的所述指定应用程序进入协同交互模式。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本申请提出的各个设备数据同步方法。
本申请实施例还提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行本申请提出的各个设备数据同步方法。
图19为本申请一实施例提供的终端设备的示意图。如图19所示,该实施例的终端设备6包括:至少一个处理器60(图19中仅示出一个)处理器、存储器61以及存储在所述存储器61中并可在所述至少一个处理器60上运行的计算机程序62,所述处理器60执行所述计算机程序62时实现上述任意设备数据同步方法实施例中的步骤。
该终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图19仅仅是终端设备6的举例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61在一些实施例中可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61在另一些实施例中也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储操作装置、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (11)
1.一种设备数据同步方法,应用于目标设备,所述目标设备和一个或多个设备属于同一个群组,其特征在于,所述方法包括:
在所述目标设备上的指定应用程序处于协同交互模式下,若检测到对所述目标设备上的所述指定应用程序的指定操作,则根据所述指定操作确定第一待同步数据;其中,所述目标设备中具有已处理数据列表,所述已处理数据列表中记录有已同步至所述指定应用程序的数据;
所述目标设备通过协同交互工具向所述一个或多个设备发送所述第一待同步数据,所述第一待同步数据用于完成所述一个或多个设备上的所述指定应用程序的数据同步操作;
在所述群组中存在新加入所述群组的第一设备的情况下,所述目标设备向所述第一设备发送所述已处理数据列表中的数据,所述第一设备用于根据所述已处理数据列表中的数据完成所述第一设备上的所述指定应用程序的数据同步操作;其中,所述指定应用程序为支持所述协同交互工具的数据传输协议的应用程序,所述协同交互工具用于实现所述群组内各设备之间的协同交互服务,所述群组内的每个设备均已启动所述协同交互工具。
2.如权利要求1所述的设备数据同步方法,其特征在于,还包括:
所述目标设备通过所述协同交互工具接收来自所述一个或多个设备中的第二设备发送的第二待同步数据,其中,所述第二待同步数据用于完成所述群组中除所述第二设备外的其它设备上的所述指定应用程序的数据同步操作;
所述目标设备根据所述第二待同步数据完成所述目标设备上的所述指定应用程序的数据同步操作。
3.如权利要求2所述的设备数据同步方法,其特征在于,所述目标设备中具有待处理数据列表,所述待处理数据列表中记录有待同步至所述指定应用程序的数据,所述设备数据同步方法还包括:
在将所述第二待同步数据同步至所述目标设备上的所述指定应用程序之前,所述目标设备将所述第二待同步数据添加到所述待处理数据列表中;
所述目标设备根据所述第二待同步数据完成所述目标设备上的所述指定应用程序的数据同步操作,包括:
所述目标设备从所述待处理数据列表中获取所述第二待同步数据;
所述目标设备对获取的所述第二待同步数据进行解析,并将解析后得到的数据发送至所述目标设备上的所述指定应用程序,以完成所述目标设备上的所述指定应用程序的数据同步操作。
4.如权利要求1所述的设备数据同步方法,其特征在于,所述目标设备上的所述指定应用程序通过以下步骤进入协同交互模式:
所述目标设备检测到所述指定应用程序已启动且所述指定应用程序支持所述协同交互模式,则在所述指定应用程序的显示界面上显示提示信息,所述提示信息用于提示是否进入所述协同交互模式;
所述目标设备若检测到针对所述提示信息的预设操作,则确定所述目标设备上的所述指定应用程序进入所述协同交互模式。
5.如权利要求1至4中任一项所述的设备数据同步方法,其特征在于,所述目标设备通过以下方式加入所述群组:
在所述目标设备的网络连接正常,且所述目标设备上的所述协同交互工具处于开启状态的情况下,所述目标设备从指定的服务器处获取所述群组的标识;
所述目标设备通过所述群组的标识加入所述群组。
6.如权利要求5所述的设备数据同步方法,其特征在于,在所述目标设备加入所述群组后,还包括:
所述目标设备向所述服务器发送所述目标设备的设备信息;
所述目标设备通过所述服务器接收所述一个或多个设备的设备信息。
7.如权利要求6所述的设备数据同步方法,其特征在于,所述一个或多个设备的设备信息包括所述一个或多个设备的网络地址,所述目标设备通过协同交互工具向所述一个或多个设备发送所述第一待同步数据,包括:
所述目标设备将所述第一待同步数据封装成指定格式的数据;
所述目标设备通过所述协同交互工具将所述指定格式的数据发送至所述一个或多个设备的网络地址。
8.如权利要求5所述的设备数据同步方法,其特征在于,还包括:
所述目标设备若检测到所述目标设备的网络连接中断,则在所述目标设备的显示界面上显示所述目标设备上一次执行数据同步操作的时间;
所述目标设备在检测到所述网络连接恢复后,重新发起连接所述服务器的请求。
9.一种设备数据同步装置,应用于目标设备,所述目标设备和一个或多个设备属于同一个群组,其特征在于,所述装置包括:
待同步数据确定模块,用于在所述目标设备上的指定应用程序处于协同交互模式下,若检测到对所述目标设备上的所述指定应用程序的指定操作,则根据所述指定操作确定第一待同步数据;其中,所述目标设备中具有已处理数据列表,所述已处理数据列表中记录有已同步至所述指定应用程序的数据;
待同步数据发送模块,用于通过协同交互工具向所述一个或多个设备发送所述第一待同步数据,所述第一待同步数据用于完成所述一个或多个设备上的所述指定应用程序的数据同步操作;
历史数据发送模块,用于在所述群组中存在新加入所述群组的第一设备的情况下,向所述第一设备发送所述已处理数据列表中的数据,所述第一设备用于根据所述已处理数据列表中的数据完成所述第一设备上的所述指定应用程序的数据同步操作;
其中,所述指定应用程序为支持所述协同交互工具的数据传输协议的应用程序,所述协同交互工具用于实现群组内各设备之间的协同交互服务,所述群组内的每个设备均已启动所述协同交互工具。
10.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,所述终端设备实现如权利要求1至8任一项所述的设备数据同步方法。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被执行时实现如权利要求1至8任一项所述的设备数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011596038.1A CN114760321B (zh) | 2020-12-28 | 2020-12-28 | 设备数据同步方法、装置、终端设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011596038.1A CN114760321B (zh) | 2020-12-28 | 2020-12-28 | 设备数据同步方法、装置、终端设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114760321A CN114760321A (zh) | 2022-07-15 |
CN114760321B true CN114760321B (zh) | 2023-04-07 |
Family
ID=82324535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011596038.1A Active CN114760321B (zh) | 2020-12-28 | 2020-12-28 | 设备数据同步方法、装置、终端设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114760321B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116723079A (zh) * | 2022-10-31 | 2023-09-08 | 荣耀终端有限公司 | 日志抓取方法、电子设备及计算机可读存储介质 |
CN117155978B (zh) * | 2023-10-31 | 2024-01-26 | 山东弘毅节能服务有限公司 | 一种基于人工智能的智慧校园管理系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109358940A (zh) * | 2018-10-31 | 2019-02-19 | 努比亚技术有限公司 | 桌面同步方法、移动终端及计算机可读存储介质 |
CN111028052A (zh) * | 2019-11-28 | 2020-04-17 | 维沃移动通信有限公司 | 一种界面操作方法及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040153504A1 (en) * | 2002-11-21 | 2004-08-05 | Norman Hutchinson | Method and system for enhancing collaboration using computers and networking |
-
2020
- 2020-12-28 CN CN202011596038.1A patent/CN114760321B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109358940A (zh) * | 2018-10-31 | 2019-02-19 | 努比亚技术有限公司 | 桌面同步方法、移动终端及计算机可读存储介质 |
CN111028052A (zh) * | 2019-11-28 | 2020-04-17 | 维沃移动通信有限公司 | 一种界面操作方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114760321A (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2018421189B2 (en) | Method for quickly opening application or application function, and terminal | |
CN111670571B (zh) | 一种查看信息内容的方法及终端 | |
JP6214812B2 (ja) | 振込処理方法および装置 | |
US10237901B2 (en) | Method and apparatus for connecting with controlled smart device, and storage medium | |
CN104780155B (zh) | 设备绑定方法及装置 | |
CN108777859A (zh) | 移动终端与穿戴设备间的数据处理方法、终端及存储介质 | |
CN110431868B (zh) | 一种Wi-Fi热点的连接方法及终端 | |
EP3624404A1 (en) | Method and device for establishing wireless communication connection | |
CN110622571B (zh) | 一种网络连接的方法、装置及终端 | |
CN108901020B (zh) | 网络接入的方法、移动终端及服务器 | |
CN114760321B (zh) | 设备数据同步方法、装置、终端设备和存储介质 | |
EP3585127B1 (en) | Wireless communication-based connection method and terminal | |
US9826556B2 (en) | Apparatus and method for data transmission and reception of a mobile terminal | |
CN109801136B (zh) | 防止恶意下单的点餐方法、系统、终端、服务器及介质 | |
EP4333478A1 (en) | Communication method and electronic device | |
CN115766851A (zh) | 设备注册方法、装置、移动终端和存储介质 | |
WO2019095156A1 (zh) | 一种信息搜索的方法、终端、网络设备和系统 | |
CN113157368B (zh) | 一种屏幕锁定方法及装置 | |
CN111130985B (zh) | 关联关系建立方法、装置、终端、服务器及存储介质 | |
CN105376399A (zh) | 用于控制智能设备的方法及装置 | |
CN114244540B (zh) | 权限控制方法、设备、系统和计算机可读存储介质 | |
CN106506318A (zh) | 一种群组的资讯订阅方法 | |
CN110798444A (zh) | 一种基于物联网的数据同步方法以及装置 | |
CN110572491B (zh) | 信息分享方法、信息分享装置以及网络设备 | |
CN107688740A (zh) | 联网控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |