CN114079658B - 跨设备同步方法、终端设备及存储介质 - Google Patents
跨设备同步方法、终端设备及存储介质 Download PDFInfo
- Publication number
- CN114079658B CN114079658B CN202010771109.0A CN202010771109A CN114079658B CN 114079658 B CN114079658 B CN 114079658B CN 202010771109 A CN202010771109 A CN 202010771109A CN 114079658 B CN114079658 B CN 114079658B
- Authority
- CN
- China
- Prior art keywords
- data
- information
- control
- terminal device
- terminal equipment
- 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
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
-
- 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/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请实施例提供一种跨设备同步方法、终端设备及存储介质,涉及通信技术领域,该方法包括:第一终端设备生成第一信息;接收第二终端设备的第二信息,根据所述第二信息对所述第一信息进行更新,得到第三信息;检测到所述第一信息的变更,基于变更的第一信息在所述第三信息中查询与所述变更的第一信息对应的第二信息中第二终端设备的设备标识;所述第一终端设备根据所述第二终端设备的设备标识向所述第二终端设备发送同步请求,使得所述第二终端设备与所述第一终端设备进行同步。本申请实施例提供的跨设备同步方法,能够高效的实现跨设备的数据同步,减少开发者的开发量。
Description
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种跨设备同步方法、终端设备及存储介质。
背景技术
随着智能终端和信息技术的快速发展,跨设备协作的应用场景越多越多;例如,在多个终端设备的场景下,常常会需要在多个设备之间进行数据同步,举例来说,一个手机、一个智能手表和一个车载终端同时在播放音乐,这时可能需要在上述三个设备之间同步显示音乐播放进度。
发明内容
本申请实施例提供了一种跨设备同步方法、终端设备及存储介质,以提供一种在多设备之间数据同步的方式,通过简单的声明将多个终端设备上的控件与数据进行绑定,当一个终端设备的控件或数据发生变化时,其他终端设备可以自动进行更新,无需开发者关注更新时机、跨设备的数据传输以及权限校验等底层细节,由此可以高效的实现在多设备之间的数据同步,减少开发者的开发量。
第一方面,本申请实施例提供了一种跨设备同步方法,包括:
第一终端设备生成第一信息;其中,第一信息包括基于应用程序的第一控件信息与第一数据信息之间的绑定关系,第一控件信息包括第一控件标识及第一终端设备的设备标识,第一数据信息包括第一数据标识及第一终端设备的设备标识;具体地,第一终端设备可以是具有显示屏的终端设备,例如,手机、车载终端以及智能手表等。第一控件信息可以是和控件相关的信息,例如,控件的身份标识。第一数据信息可以是可数据相关的信息,例如,数据的身份标识。
第一终端设备接收第二终端设备的第二信息,根据第二信息对第一信息进行更新,得到第三信息,以完成第一终端设备中第二信息与第一信息的绑定;其中,第二信息包括基于应用程序的第二控件信息与第二数据信息的绑定关系,第二控件信息包括第二控件标识及第二终端设备的设备标识,第二数据信息包括第二数据标识及第二终端设备的设备标识;第三信息包括第一信息及第二信息。
第一终端设备检测到第一信息的变更,基于变更的第一信息在第三信息中查询与变更的第一信息对应的第二信息中第二终端设备的设备标识;具体地,该第一信息的变更可以包括控件的变更和数据的变更。其中,控件的变更可以由用户的操作触发,例如,用户点击控件。数据的变更可以是数据的内容发生变更。
第一终端设备根据第二终端设备的设备标识向第二终端设备发送同步请求,使得第二终端设备与第一终端设备进行同步。具体地,同步请求可以包括控件同步请求和数据同步请求;其中,控件同步请求用于在第一终端设备和第二终端设备之间进行控件的同步,数据同步请求用于在第一终端设备和第二终端设备之间进行数据的同步。
其中一种可能的实现方式中,第一终端设备检测到第一信息的变更,基于变更的第一信息在第三信息中查询与变更的第一信息对应的第二信息中第二终端设备的设备标识包括:
第一终端设备检测到用户与应用程序中的控件进行交互的第一操作;响应于检测到的第一操作,第一终端设备获取控件的第一控件标识,在第三信息中查询与第一控件标识绑定的第二终端设备的设备标识。
第一终端设备根据第二终端设备的设备标识向第二终端设备发送同步请求,使得第二终端设备与第一终端设备进行同步包括:
第一终端设备根据第二终端设备的设备标识向第二终端设备发送数据同步请求,使得第二终端设备与第一终端设备进行数据同步。
其中一种可能的实现方式中,第一终端设备检测到第一信息的变更,基于变更的第一信息在第三信息中查询与变更的第一信息对应的第二信息中第二终端设备的设备标识包括:
第一终端设备检测到应用程序中的数据发生变更。
第一终端设备获取与变更数据对应的第一数据标识,在第三信息中查询与第一数据标识绑定的第二终端设备的设备标识。
第一终端设备根据第二终端设备的设备标识向第二终端设备发送同步请求,使得第二终端设备与第一终端设备进行同步包括:
第一终端设备根据第二终端设备的设备标识向第二终端设备发送控件同步请求,使得第二终端设备与第一终端设备进行控件同步。
其中一种可能的实现方式中,第一控件信息还包括第一控件标签,第一数据信息还包括第一数据标签;其中,第一控件标签用于标识与第一控件标签对应的控件是否进行注册或同步,第一数据标签用于标识与数据标签对应的数据是否进行注册或同步。
其中一种可能的实现方式中,还包括:
第一终端设备向第二终端设备发送第一信息,使得第二终端设备根据第一信息对第二信息进行更新,以完成在第二终端设备中第二信息与第一信息的绑定。
其中一种可能的实现方式中,还包括:
第一终端设备接收第二终端设备的控件同步请求,获取控件同步请求中的第二控件标识,基于第二控件标识对与第二控件标识对应的控件进行同步;
第一终端设备查询与第二控件标识绑定的第二数据标识,更新与第二数据标识对应的数据;
或,
第一终端设备接收第二终端设备的数据同步请求,获取数据同步请求中的第二数据标识,基于第二数据标识对与第二数据标识对应的数据进行同步;
第一终端设备查询与第二数据标识绑定的第二控件标识,更新与第二控件标识对应的控件。
其中一种可能的实现方式中,控件同步请求还包括控件时间戳,数据同步请求还包括数据时间戳;其中,控件时间戳用于标识控件同步的时刻,数据时间戳用于标识数据同步的时刻,还包括:
第一终端设备记录控件同步的时刻和/或数据同步的时刻;具体地,第一终端设备可以在根据第二终端设备的同步请求与第二终端设备进行控件同步之后,记录下控件同步的时刻,也可以在与第二终端设备进行数据同步之后,记录下数据同步的时刻。
第一终端设备接收第二终端设备的控件同步请求之后,还包括:
第一终端设备获取控件同步请求中的控件时间戳,将控件时间戳与第一终端设备中记录的控件更改的时刻进行比较,以确定所述第一终端设备是否进行控件同步;具体地,控件时间戳可以是发生控件变更的时刻,例如,用户在第二终端设备上点击控件,由此引发控件变更,这时,第二终端设备可以记录下控件变更的时刻。
或,
第一终端设备接收第二终端设备的数据同步请求之后,还包括:
第一终端设备获取数据同步请求中的数据时间戳,将数据时间戳与第一终端设备中记录的数据更改的时刻进行比较,以确定第一终端设备是否进行数据同步;具体地,数据时间戳可以是发生数据变更的时刻,例如,第二终端设备检测到数据发生变更后,第二终端设备可以记录下数据变更的时刻。
其中一种可能的实现方式中,控件同步请求还包括应用程序标识及应用程序签名,数据同步请求还包括应用程序标识及应用程序签名;还包括:
第一终端设备根据数据同步请求中的应用程序标识及应用程序签名进行验证,以确定是否进行数据同步;
或,
第一终端设备根据控件同步请求中的应用程序标识及应用程序签名进行验证,以确定是否进行控件同步。
第二方面,本申请实施例提供一种跨设备同步装置,包括:
创建模块,用于第一终端设备生成第一信息;其中,第一信息包括基于应用程序的第一控件信息与第一数据信息之间的绑定关系,第一控件信息包括第一控件标识及第一终端设备的设备标识,第一数据信息包括第一数据标识及第一终端设备的设备标识;
绑定模块,用于第一终端设备接收第二终端设备的第二信息,根据第二信息对第一信息进行更新,得到第三信息,以完成在第一终端设备中第二信息与第一信息的绑定;其中,第二信息包括基于应用程序的第二控件信息与第二数据信息的绑定关系,第二控件信息包括第二控件标识及第二终端设备的设备标识,第二数据信息包括第二数据标识及第二终端设备的设备标识;第三信息包括第一信息及第二信息;
查询模块,用于第一终端设备检测到第一信息的变更,基于变更的第一信息在第三信息中查询与变更的第一信息对应的第二信息中第二终端设备的设备标识;
同步模块,用于第一终端设备根据第二终端设备的设备标识向第二终端设备发送同步请求,使得第二终端设备与第一终端设备进行同步。
其中一种可能的实现方式中,上述查询模块包括:
检测单元,用于第一终端设备检测到用户与应用程序中的控件进行交互的第一操作;
查询单元,用于响应于检测到的第一操作,第一终端设备获取控件的第一控件标识,在第三信息中查询与第一控件标识绑定的第二终端设备的设备标识;
上述同步模块还可以用于第一终端设备根据第二终端设备的设备标识向第二终端设备发送数据同步请求,使得第二终端设备与第一终端设备进行数据同步。
其中一种可能的实现方式中,上述查询模块包括:
检测单元,用于第一终端设备检测到应用程序中的数据发生变更;
查询单元,用于第一终端设备获取与变更数据对应的第一数据标识,在第三信息中查询与第一数据标识绑定的第二终端设备的设备标识;
上述同步模块还可以用于第一终端设备根据第二终端设备的设备标识向第二终端设备发送控件同步请求,使得第二终端设备与第一终端设备进行控件同步。
其中一种可能的实现方式中,第一控件信息还包括第一控件标签,第一数据信息还包括第一数据标签;其中,第一控件标签用于标识与第一控件标签对应的控件是否进行注册或同步,第一数据标签用于标识与数据标签对应的数据是否进行注册或同步。
其中一种可能的实现方式中,上述装置还可以包括:
注册模块,用于第一终端设备向第二终端设备发送第一信息,使得第二终端设备根据第一信息对第二信息进行更新,以完成在第二终端设备中第二信息与第一信息的绑定。
其中一种可能的实现方式中,上述装置还可以包括:
更新模块,用于第一终端设备接收第二终端设备的控件同步请求,获取控件同步请求中的第二控件标识,基于第二控件标识对与第二控件标识对应的控件进行同步;第一终端设备查询与第二控件标识绑定的第二数据标识,更新与第二数据标识对应的数据;
或,
第一终端设备接收第二终端设备的数据同步请求,获取数据同步请求中的第二数据标识,基于第二数据标识对与第二数据标识对应的数据进行同步;第一终端设备查询与第二数据标识绑定的第二控件标识,更新与第二控件标识对应的控件。
其中一种可能的实现方式中,控件同步请求还包括控件时间戳,数据同步请求还包括数据时间戳;其中,控件时间戳用于标识控件同步的时刻,数据时间戳用于标识数据同步的时刻;上述装置还可以包括:
记录模块,用于第一终端设备记录控件同步的时刻和/或数据同步的时刻。
比对模块,用于第一终端设备获取控件同步请求中的控件时间戳,将控件时间戳与第一终端设备中记录的控件更改的时刻进行比较,以确定第一终端设备是否进行控件同步;
或
第一终端设备获取数据同步请求中的数据时间戳,将数据时间戳与第一终端设备中记录的数据更改的时刻进行比较,以确定第一终端设备是否进行数据同步。
其中一种可能的实现方式中,控件同步请求还包括应用程序标识及应用程序签名,数据同步请求还包括应用程序标识及应用程序签名;上述装置还可以包括:
验证模块,用于第一终端设备根据数据同步请求中的应用程序标识及应用程序签名进行验证,以确定是否进行数据同步;
或,
第一终端设备根据控件同步请求中的应用程序标识及应用程序签名进行验证,以确定是否进行控件同步。
第三方面,本申请实施例提供一种第一终端设备,包括:
存储器,上述存储器用于存储计算机程序代码,上述计算机程序代码包括指令,当上述第一终端设备从上述存储器中读取上述指令,以使得上述第一终端设备执行以下步骤:
第一终端设备生成第一信息;其中,第一信息包括基于应用程序的第一控件信息与第一数据信息之间的绑定关系,第一控件信息包括第一控件标识及第一终端设备的设备标识,第一数据信息包括第一数据标识及第一终端设备的设备标识;
第一终端设备接收第二终端设备的第二信息,根据第二信息对第一信息进行更新,得到第三信息,以完成在第一终端设备中第二信息与第一信息的绑定;其中,第二信息包括基于应用程序的第二控件信息与第二数据信息的绑定关系,第二控件信息包括第二控件标识及第二终端设备的设备标识,第二数据信息包括第二数据标识及第二终端设备的设备标识;第三信息包括第一信息及第二信息;
第一终端设备检测到第一信息的变更,基于变更的第一信息在第三信息中查询与变更的第一信息对应的第二信息中第二终端设备的设备标识;
第一终端设备根据第二终端设备的设备标识向第二终端设备发送同步请求,使得第二终端设备与第一终端设备进行同步。
其中一种可能的实现方式中,上述指令被上述第一终端设备执行时,使得上述第一终端设备执行第一终端设备检测到第一信息的变更,基于变更的第一信息在第三信息中查询与变更的第一信息对应的第二信息中第二终端设备的设备标识的步骤,包括:
第一终端设备检测到用户与应用程序中的控件进行交互的第一操作;
响应于检测到的第一操作,第一终端设备获取控件的第一控件标识,在第三信息中查询与第一控件标识绑定的第二终端设备的设备标识;
使得上述第一终端设备执行第一终端设备根据第二终端设备的设备标识向第二终端设备发送同步请求,使得第二终端设备与第一终端设备进行同步的步骤,包括:
第一终端设备根据第二终端设备的设备标识向第二终端设备发送数据同步请求,使得第二终端设备与第一终端设备进行数据同步。
其中一种可能的实现方式中,上述指令被上述第一终端设备执行时,使得上述第一终端设备执行第一终端设备检测到第一信息的变更,基于变更的第一信息在第三信息中查询与变更的第一信息对应的第二信息中第二终端设备的设备标识的步骤,包括:
第一终端设备检测到应用程序中的数据发生变更;
第一终端设备获取与变更数据对应的第一数据标识,在第三信息中查询与第一数据标识绑定的第二终端设备的设备标识;
使得上述第一终端设备执行第一终端设备根据第二终端设备的设备标识向第二终端设备发送同步请求,使得第二终端设备与第一终端设备进行同步的步骤,包括:
第一终端设备根据第二终端设备的设备标识向第二终端设备发送控件同步请求,使得第二终端设备与第一终端设备进行控件同步。
其中一种可能的实现方式中,第一控件信息还包括第一控件标签,第一数据信息还包括第一数据标签;其中,第一控件标签用于标识与第一控件标签对应的控件是否进行注册或同步,第一数据标签用于标识与数据标签对应的数据是否进行注册或同步。
其中一种可能的实现方式中,上述指令被上述第一终端设备执行时,使得上述第一终端设备还执行以下步骤:
第一终端设备向第二终端设备发送第一信息,使得第二终端设备根据第一信息对第二信息进行更新,以完成在第二终端设备中第二信息与第一信息的绑定。
其中一种可能的实现方式中,上述指令被上述第一终端设备执行时,使得上述第一终端设备还执行以下步骤:
第一终端设备接收第二终端设备的控件同步请求,获取控件同步请求中的第二控件标识,基于第二控件标识对与第二控件标识对应的控件进行同步;
第一终端设备查询与第二控件标识绑定的第二数据标识,更新与第二数据标识对应的数据;
或,
第一终端设备接收第二终端设备的数据同步请求,获取数据同步请求中的第二数据标识,基于第二数据标识对与第二数据标识对应的数据进行同步;
第一终端设备查询与第二数据标识绑定的第二控件标识,更新与第二控件标识对应的控件。
其中一种可能的实现方式中,控件同步请求还包括控件时间戳,数据同步请求还包括数据时间戳;其中,控件时间戳用于标识控件同步的时刻,数据时间戳用于标识数据同步的时刻,上述指令被上述第一终端设备执行时,使得上述第一终端设备还执行以下步骤:
第一终端设备记录控件同步的时刻和/或数据同步的时刻;
使得上述第一终端设备执行第一终端设备接收第二终端设备的控件同步请求的步骤之后,还执行以下步骤:
第一终端设备获取控件同步请求中的控件时间戳,将控件时间戳与第一终端设备中记录的控件更改的时刻进行比较,以确定第一终端设备是否进行控件同步;
或,
使得上述第一终端设备执行第一终端设备接收第二终端设备的数据同步请求的步骤之后,还执行以下步骤:
第一终端设备获取数据同步请求中的数据时间戳,将数据时间戳与第一终端设备中记录的数据更改的时刻进行比较,以确定第一终端设备是否进行数据同步。
其中一种可能的实现方式中,控件同步请求还包括应用程序标识及应用程序签名,数据同步请求还包括应用程序标识及应用程序签名;上述指令被上述第一终端设备执行时,使得上述第一终端设备还执行以下步骤:
第一终端设备根据数据同步请求中的应用程序标识及应用程序签名进行验证,以确定是否进行数据同步;
或,
第一终端设备根据控件同步请求中的应用程序标识及应用程序签名进行验证,以确定是否进行控件同步。
第四方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面所述的方法。
第五方面,本申请实施例提供一种计算机程序,当上述计算机程序被计算机执行时,用于执行第一方面所述的方法。
在一种可能的设计中,第五方面中的程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
附图说明
图1为本申请实施例提供的数据绑定机制示意图;
图2为本申请实施例提供的代码效果图;
图3为本申请实施例提供的终端设备的结构示意图;
图4为本申请提供的跨设备同步方法一个实施例的流程图;
图5为本申请实施例提供的应用场景示意图;
图6为本申请实施例提供的绑定关系注册流程图;
图7为本申请实施例提供的终端设备功能模块示意图;
图8为本申请实施例提供的终端设备系统架构示意图;
图9为本申请提供的设备间同步更新一个实施例的交互示意图;
图10为本申请提供的跨设备同步方法另一个实施例的流程图;
图11为本申请提供的设备间同步更新另一个实施例的交互示意图;
图12为本申请实施例提供的跨设备同步的显示效果示意图;
图13为本申请实施例提供的跨设备同步装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
为了实现数据同步的功能,当前的开发者通常需要将同步的数据(如播放进度)上传至服务器,或者直接在设备之间通过蓝牙、无线传输等技术同步数据,在另一台设备上根据同步的数据对用户界面(User Interface,UI)进行更新。但是上述方法需要开发者完成设备识别、数据传输与接口、更新UI界面的开发工作,开发成本很高。
数据绑定是一种快速同步数据和UI视图的技术,通过声明将数据变量和UI控件进行绑定,则数据变量被更改时,UI控件可以自动进行更新,或检测到UI控件的交互事件时,数据变量可以自动进行更新;其中,数据绑定可以包括单向数据绑定,即仅将数据更新到UI控件或仅将UI控件的交互更新到数据,数据绑定也可以包括双向绑定,及UI控件和数据相互同步更新。虽然目前的应用开发框架都支持数据绑定,例如Android、AngularJS、WPF等,然而目前的数据绑定局限于同一个设备内的应用程序,无法应用在跨设备之间,也就是说,当前的应用开发框架中无法声明跨设备的数据绑定,开发者需要编写大量的数据发送、数据接收以及更新视图的代码。
其中,目前最常见的是AngularJS,AngularJS是web应用开发框架,具有双向数据绑定能力,使用html与JavaScript语言,如图1所示,双向数据绑定机制如下:浏览器接收到用户交互时(点击按钮或在输入框输入文字),事件的回调函数会在JavaScript解析器中执行,更改对应的数据;AngularJS框架在处理事件的回调时,会遍历每个$watch($watch是在加载页面时框架对每个绑定的数据创建的检测器,该$watch可以用来检测对应的数据是否有变动),如果$watch检测的数据有变动,则更新其对应的UI控件。
基于上述问题,本申请实施例提出了一种跨设备同步方法,开发者只需要简单声明所需跨设备绑定的数据和视图,即可实现跨设备同步,通过上述方法,可以大大减少开发工作,如图2所示为实现的效果对比图。
本申请实施例提供的技术方案可应用于终端设备,本申请对执行该技术方案的终端设备的具体形式不做特殊限制。
如图3所示,为本申请实施例提供的一种终端设备100的结构示意图。终端设备100可以包括存储器110、显示屏120、处理器130、I/O子系统140及其它输入设备150。其中,显示屏120用于显示画面及操作界面。
显示屏120可用于显示由用户输入的信息或提供给用户的信息以及终端设备100的各种菜单,还可以接受用户输入。具体的显示屏120可包括显示面板121,以及触控面板122。其中显示面板121可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板121。触控面板122,也称为触摸屏、触敏屏等,可收集用户在其上或附近的接触或者非接触操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板122上或在触控面板122附近的操作,也可以包括体感操作;该操作包括单点控制操作、多点控制操作等操作类型),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板122可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位、姿势,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成处理器能够处理的信息,再送给处理器130,并能接收处理器130发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板122,也可以采用未来发展的任何技术实现触控面板122。进一步的,触控面板122可覆盖显示面板121,用户可以根据显示面板121显示的内容(该显示内容包括但不限于,软键盘、虚拟鼠标、虚拟按键、图标等等),在显示面板121上覆盖的触控面板122上或者附近进行操作,触控面板122检测到在其上或附近的操作后,通过I/O子系统140传送给处理器130以确定用户输入,随后处理器130根据用户输入通过I/O子系统140在显示面板121上提供相应的视觉输出。虽然在图1中,触控面板122与显示面板121是作为两个独立的部件来实现终端设备100的输入和输入功能,但是在某些实施例中,可以将触控面板122与显示面板121集成而实现终端设备100的输入和输出功能。
处理器130是终端设备100的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器110内的软件程序和/或模块,以及调用存储在存储器110内的数据,执行终端设备100的各种功能和处理数据,从而对终端设备100进行整体监控。可选的,处理器130可包括一个或多个处理单元;优选的,处理器130可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器130中。
I/O子系统140用来控制输入输出的外部设备,可以包括其他设备输入控制器141、显示控制器142。可选的,一个或多个其他输入控制设备控制器141从其他输入设备140接收信号和/或者向其他输入设备140发送信号,其他输入设备140可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮、光鼠(光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸)。值得说明的是,其他输入控制设备控制器141可以与任一个或者多个上述设备连接。所述I/O子系统140中的显示控制器142从显示屏120接收信号和/或者向显示屏120发送信号。显示屏120检测到用户输入后,显示控制器142将检测到的用户输入转换为与显示在显示屏120上的用户界面对象的交互,即实现人机交互。
存储器110可用于存储软件程序以及模块,处理器130通过运行存储在存储器110的软件程序以及模块,从而执行终端设备100的各种功能应用以及数据处理。存储器110可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备100的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器110可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其他输入设备150可用于接收输入的数字或字符信息,以及产生与终端设备100的用户设置以及功能控制有关的键信号输入。具体地,其他输入设备150可包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆、光鼠(光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸)等中的一种或多种。其他输入设备150与I/O子系统140的其他输入设备控制器141相连接,在其他设备输入控制器141的控制下与处理器130进行信号交互。
现结合图4-图12对本申请实施例提供的跨设备同步方法进行说明,该方法可以应用于上述终端设备100,如图4所示为本申请跨设备同步方法一个实施例的流程图,包括:
步骤101,第一终端设备生成第一信息,接收第二终端设备的第二信息,根据第二信息对第一信息进行更新,得到第三信息,以完成在第一终端设备中第二信息与第一信息的绑定。
具体地,该第一信息、第二信息和第三信息可以是控件信息和数据信息的绑定关系。其中,该第三信息包括第一信息和第二信息,第一信息和第二信息之间通过控件信息或数据信息进行绑定。第一信息包括基于应用程序的第一控件信息和第一数据信息。示例性的,应用程序A包含第一控件信息A和第一数据信息A,应用程序B包含第一控件信息B和第一数据信息B。第一控件信息包括第一控件标识及第一终端设备的设备标识,示例性的,第一控件标识可以包括控件的身份标识,控件的身份标识可以用于标识该控件在应用程序中的唯一身份;可选地,第一控件标识还可以包括控件所在的页面标识。第一数据信息包括第一数据标识及第一终端设备的设备标识,第一数据标识包括数据的身份标识,数据的身份标识可以用于标识该数据在应用程序中的唯一身份。设备标识可以用于标识终端设备的唯一身份。第二信息包括基于应用程序的第二控件信息和第二数据信息,第二控件信息包括第二控件标识及第二终端设备的设备标识,第二数据信息包括第二数据标识及述第二终端设备的设备标识。
第一终端设备和第二终端设备可以是终端设备100,例如,手机、车载终端、智能手表等。第一终端设备和第二终端设备可以针对同一个已启动的应用程序进行交互,例如,第一终端设备和第二终端设备都已启动应用程序A;在第一终端设备中,可以生成控件信息和数据信息的绑定关系。在第二终端设备中,也可以生成控件信息和数据信息的绑定关系。
如图5所示为本申请实施例的应用场景示意图,第一终端设备(手机)已打开了应用程序A,一个第二终端设备(车载终端)如果也打开了应用程序A,这时该第二终端设备(车载终端)可以将控件信息和数据信息的绑定关系注册在第一终端设备(手机)上,也就是说,将第二终端设备(车载终端)的控件信息和数据信息的绑定关系与第一终端设备(手机)的控件信息和数据信息的绑定关系进行绑定;如果另一个第二终端设备(智能手表)也打开了应用程序A,这时该第二终端设备(智能手表)可以将控件信息和数据信息的绑定关系注册在第一终端设备(手机)上,也就是说,将第二终端设备(智能手表)的控件信息和数据信息的绑定关系与第一终端设备(手机)的控件信息和数据信息的绑定关系进行绑定。
可选地,在第一终端设备和第二终端设备中还可以对控件和数据添加标签,例如给控件添加控件标签,给数据添加数据标签。其中,控件标签可以用于标识控件是否进行跨设备注册和同步,数据标签可以用于标识数据是否进行跨设备注册和同步。示例性的,若第二终端设备中的控件和数据添加了标签,则该控件和数据的绑定关系可以无需发送给第一终端设备,也就是说,第二终端设备中的携带标签的控件和数据无需注册在第一终端设备上;若第二终端设备中的控件和数据无标签,则该控件和数据的绑定关系可以发送给第一终端设备,以完成第二信息与第一信息的绑定。
现以图6进行说明,参考图6,以第一终端设备(手机)和第二终端设备(车载终端)举例,为说明方便,下文将第一终端设备(手机)标识为设备X,将第二终端设备(车载终端)标识为设备Y。假设应用程序A中包括控件C1和数据D1,控件C1和数据D1为绑定关系,则设备Y的控件信息与数据信息的绑定关系可以是{(C1,设备Y)<=>(D1,设备Y)},也就是说,设备Y的第二信息是{(C1,设备Y)<=>(D1,设备Y)。设备X的控件信息与数据信息的绑定关系可以是{(C1,设备X)<=>(D1,设备X)},也就是说,设备X的第一信息是{(C1,设备X)<=>(D1,设备X)}。假设设备Y的控件C1和D1不携带标签,则设备Y可以将控件C1与数据D1的绑定关系发送给设备X,当该设备X收到设备Y的控件C1与数据D1的绑定关系后,设备X中的控件C1与数据D1的绑定关系可以更新为{(C1,设备X&设备Y)<=>(D1,设备X&设备Y)},也就是说,设备X的第三信息可以是{(C1,设备X&设备Y)<=>(D1,设备X&设备Y)},由此可以完成第二信息与第一信息在第一终端设备上的绑定。
现结合图7对终端设备100的功能模块进行说明,如图7所示,设备X和设备Y都可以包含事件监听模块710、数据监听模块720、数据绑定模块730及权限验证模块740;其中,事件监听模块710可以用于对终端设备中的交互事件进行监测,数据监听模块720可以用于对终端设备中的数据变更进行监听,数据绑定模块730可以用于存储数据和控件的绑定关系,权限验证模块740可以用于对当前的应用程序进行验证;需要说明的是,上述4个模块和应用程序相对应,例如,在启动应用程序A的时候,上述4个模块会随之建立,即上述4个模块会随着某一个应用程序的建立而建立,因此两个设备之间的模块的交互都是基于同一个应用程序的。当设备X启动应用程序A后,可以将应用程序A的控件C1和数据D1生成绑定关系,并存储在数据绑定模块730中,同样地,设备Y在启动应用程序A后,也可以将应用程序A的控件C1和数据D1生成绑定关系,并存储在数据绑定模块730中,当设备Y需要向设备X发送控件与数据的绑定关系时,可以在设备Y的数据绑定模块730中提取绑定关系,然后发送到设备X的数据绑定模块730中,以完成设备Y向设备X的绑定关系的注册。由于本申请实施例属于终端操作系统的应用开发框架,向上可以为应用开发者提供控件与接口,向下可以依赖操作系统的分布式数据通信,因此灵活性较高,如图8所示为系统架构图。
进一步地,当设备Y的数据与控件的绑定关系在设备X上注册之后,该设备X也可以将自身的数据与控件的绑定关系发送给设备Y。同样地,设备X也可以完成在设备Y上的数据与控件的绑定关系的注册。后续若设备Y发起同步请求时,设备X也可以进行控件同步或数据同步。
步骤102,第一终端设备检测到用户与应用程序中任一控件进行交互的第一操作;响应于该第一操作,第一终端设备获取控件的第一控件标识,在第三信息中查询与第一控件标识绑定的第二终端设备的设备标识。
具体地,在任意一个应用程序中,可以包括一个或多个控件以及一个或多个数据;以第一终端设备为设备X举例说明,在设备X中可以通过事件监听模块710对控件的交互事件进行监听,以确定用户与哪个控件进行了交互,示例性的,控件的交互事件可以包括用户在设备X的屏幕上输入文字,或者用户在设备X的屏幕上进行点击或者滑动,本申请实施例对此不作限定。
当监听到有控件发生交互事件后,可以获取当前与用户进行交互的控件的第一控件标识。
进一步地,设备X还可以检测与该第一控件标识对应的控件是否携带标签,若该控件携带标签,则可以不进行数据同步;若该控件不携带标签,则可以根据该第一控件标识在设备X的数据绑定模块730中进行查询,由此得到与该第一控件标识绑定的第二终端设备的设备标识。
进一步地,设备X还可以根据当前获取的第一控件标识在设备X的数据绑定模块730中进行查询,得到与设备X的第一控件标识绑定的第一数据标识,然后设备X可以根据该第一数据标识对设备X中对应的应用程序的数据进行更新。
步骤103,第一终端设备根据第二终端设备的设备标识向第二终端设备发送数据同步请求,使得第二终端设备与第一终端设备进行数据同步。
具体地,当第一终端设备获取到第二终端设备的设备标识后,可以根据该设备标识向与设备标识对应的第二终端设备发送数据同步请求。其中,该数据同步请求可以用于将该第一终端设备与第二终端设备进行数据同步。
需要说明的是,该数据同步请求可以群发,例如,可以将该数据同步请求发送给多个第二终端设备,而需要发给哪些第二终端设备可以由该第一终端设备当前获取到的第二终端设备的设备标识确定。
以第一终端设备(设备X)和第二终端设备(设备Y)为例,如图9所示,若设备X检测到控件C1发生交互事件,经过查询获取到与该控件标识(C1)绑定的设备Y,这时,设备X可以向设备Y发送数据同步请求,其中,该数据同步请求可以包括本次需要同步的数据信息,数据信息可以包括第二终端设备的第二数据标识及本次更新的数据内容。示例性的,若本次同步的是数据D1,则设备X可以将数据D1的更新内容发送给设备Y;在具体实现时,发送数据同步请求的方式可以是第一终端设备通过远程过程调用(Remote Procedure Call,RPC)的方式请求第二终端设备的数据绑定模块730执行数据同步过程。
可选地,若第一终端设备中的数据D1已进行过数据同步,第一终端设备可以存储数据D1的最近的同步时刻。可以理解的是,在第二终端设备中的数据D1进行同步之后,也可以存储数据D1的同步时刻。数据同步请求还可以包括数据时间戳,数据时间戳可以用于进行冲突检测。其中,数据时间戳可以用于标识数据同步的时刻。举例来说,第二终端设备已与第一终端设备进行数据D1的同步,因此第二终端设备中存储数据D1的同步时刻;此时,第二终端设备收到第一终端设备发送的数据同步请求,第二终端设备读取数据同步请求中的数据时间戳,根据该数据时间戳对应的数据标识(例如,D1)查询到第一终端设备中存储的数据D1的数据同步时刻。接着,将数据D1的数据时间戳与存储的数据同步时刻进行比较,若数据时间戳晚于存储的数据同步时刻,则进行数据同步,若数据时间戳早于存储的数据同步时刻,则不进行数据同步。由此可以避免执行重复的数据同步。
进一步地,该数据同步请求中还可以包括应用程序标识及应用程序签名,其中,该应用程序标识及应用程序签名可以用于在第二终端设备处进行验证,以确定当前第一终端设备和第二终端设备同步的是否是同一个应用程序,在第二终端设备处,该应用程序标识及应用程序签名可以由第二终端设备的权限验证模块740进行验证。若应用程序标识验证及应用程序签名验证都通过,则第二终端设备可以执行数据同步。
当设备Y收到数据同步请求后,设备Y可以对该数据同步请求进行解析,可以得到该数据同步请求中的本次需要同步的数据信息;其中,数据信息包括第二终端设备的第二数据标识及更新内容。接着,设备Y可以根据本次需要同步的数据信息对与第二数据标识对应的数据进行更新,以完成数据同步。
进一步地,如图9所示,当设备Y中的数据同步之后,设备Y中的数据监听模块720可以检测到该变化,这时,设备Y可以在数据绑定模块730中进行查询,得到与该第二数据标识绑定的第二控件标识(例如,C1),并可以根据当前更新的数据同步更新与该第二控件标识对应的控件,以完成控件同步。
如图10所示为本申请跨设备同步方法另一个实施例的流程图,包括:
步骤201,第一终端设备生成第一信息,接收第二终端设备的第二信息,根据第二信息对第一信息进行更新,得到第三信息,以完成在第一终端设备中第二信息与第一信息的绑定。
具体地,步骤201的具体执行步骤可以参考步骤101,在此不再赘述。
步骤202,第一终端设备检测到应用程序中任一数据发生变更,第一终端设备获取与变更数据对应的第一数据标识,在所述第三信息中查询与所述第一数据标识绑定的第二终端设备的设备标识。
具体地,以第一终端设备为设备X为例进行说明,在设备X中还可以通过数据监听模块720对数据进行监听,以确定哪个数据发生变更。示例性的,检测数据发生变更的方式可以包括通过订阅者模式、数据劫持和/或脏值检查方式,本申请实施例对此不作限定。
当在设备X中监听到数据发生变更后,设备X可以获取当前发生变更的数据的第一数据标识。
进一步地,设备X还可以检测与该第一数据标识对应的数据是否携带标签,若该数据携带标签,则可以不进行控件同步;若该数据不携带标签,则可以根据该第一数据标识在设备X的数据绑定模块730中进行查询,由此可以得到与该第一数据标识绑定的第二终端设备的设备标识。
进一步地,设备X还可以根据当前获取的第一数据标识在数据绑定模块730中进行查询,得到与设备X的第一数据标识绑定的第一控件标识,然后设备X可以根据该第一控件标识对设备X中对应的应用程序的控件进行同步更新。
步骤203,第一终端设备根据第二终端设备的设备标识向第二终端设备发送控件同步请求,使得第二终端设备与第一终端设备进行控件同步。
具体地,当第一终端设备获取到第二终端设备的设备标识后,可以根据该设备标识向与设备标识对应的第二终端设备发送控件同步请求。其中,该控件同步请求可以用于将该第一终端设备与第二终端设备进行控件同步。
需要说明的是,该控件同步请求可以群发,例如,可以将该控件同步请求发送给多个第二终端设备,而需要发给哪些第二终端设备可以由该第一终端设备当前获取到的第二终端设备的设备标识确定。
以第一终端设备(设备X)和第二终端设备(设备Y)为例,如图11所示,若设备X检测到数据D1发生变更,经过查询获取到与该数据(D1)绑定的设备Y,这时,设备X可以向设备Y发送控件同步请求。其中,该控件同步请求可以包括本次需要同步的控件信息,控件信息可以包括第二终端设备的第二控件标识及本次更新的控件据内容。示例性的,如果本次同步的是控件C1,则设备X可以将C1的更新内容发送给设备Y;在具体实现时,发送该控件同步请求的方式可以是第一终端设备通过远程过程调用(Remote Procedure Call,RPC)的方式请求第二终端设备的数据绑定模块730执行同步过程。
可选地,若第一终端设备中的控件C1已进行过数据同步,第一终端设备可以存储控件C1的最近的同步时刻。可以理解的是,在第二终端设备中的控件C1进行同步之后,也可以存储控件C1的同步时刻。控件同步请求还可以包括控件时间戳,控件时间戳可以用于进行冲突检测。其中,控件时间戳可以用于标识控件同步的时刻。举例来说,第二终端设备已与第一终端设备进行控件C1的同步,因此第二终端设备中存储控件C1的同步时刻;此时,第二终端设备收到第一终端设备发送的控件同步请求,第二终端设备读取控件同步请求中的数据时间戳,根据该数据时间戳对应的控件标识(例如,C1)查询到第一终端设备中存储的控件C1的控件同步时刻。接着,将控件C1的数据时间戳与存储的控件同步时刻进行比较,若数据时间戳晚于存储的控件同步时刻,则进行控件同步,若数据时间戳早于存储的控件同步时刻,则不进行控件同步。由此可以避免执行重复的控件同步。
当第二终端设备收到第一终端设备的控件同步请求后,第二终端设备可以对该控件同步请求进行解析,得到该控件同步请求中的本次需要同步的控件信息,其中,控件信息包括第二终端设备的第二控件标识及更新内容。接着,第二终端设备可以根据本次需要同步的控件信息对与第二控件标识对应的控件进行更新,以完成控件同步。
进一步地,如图11所示,当第二终端设备(例如,设备Y)进行控件同步之后,第二终端设备中的事件监听模块710可以检测到该更新变化。这时,第二终端设备可以在数据绑定模块730中进行查询,得到与第二控件标识绑定的第二数据标识(例如,D1),并可以根据当前更新的控件同步更新与第二数据标识对应的数据,以完成数据同步。
进一步地,该控件同步请求中还可以包括应用程序标识及应用程序签名,其中,该应用程序标识及应用程序签名可以用于在第二终端设备处进行验证,以确定当前第一终端设备和第二终端设备同步的是否是同一个应用程序。在第二终端设备处,该应用程序标识及应用程序签名可以由第二终端设备的权限验证模块740进行验证。若应用程序标识验证及应用程序签名验证都通过,则可以执行控件同步。
如图12所示为最终同步效果示意图,当在第一终端设备(手机)上发生控件或者数据变更时,第二终端设备(车载终端)和第二终端设备(智能手表)可以根据第一终端设备的同步请求进行同步更新。当第一终端设备与第二终端设备进行同步之后,第一终端设备与第二终端设备呈现相同的画面,且后台的数据保持一致。
可以理解的是,上述实施例以第一终端设备为发送端、第二终端设备为接收端为例进行了说明,由此可以实现第二终端设备与第一终端设备进行同步。本申请实施例也可以以第二终端设备为发送端、第一终端设备为接收端实现,由此可以将第一终端设备与第二终端设备进行同步。
图13为本申请跨设备同步装置一个实施例的结构示意图,如图13所示,上述跨设备同步装置1300可以包括:创建模块1310、绑定模块1320、查询模块1330及同步模块1340;
创建模块1310,用于第一终端设备生成第一信息;其中,第一信息包括基于应用程序的第一控件信息与第一数据信息之间的绑定关系,第一控件信息包括第一控件标识及第一终端设备的设备标识,第一数据信息包括第一数据标识及第一终端设备的设备标识;
绑定模块1320,用于第一终端设备接收第二终端设备的第二信息,根据第二信息对第一信息进行更新,得到第三信息,以完成在第一终端设备中第二信息与第一信息的绑定;其中,第二信息包括基于应用程序的第二控件信息与第二数据信息的绑定关系,第二控件信息包括第二控件标识及第二终端设备的设备标识,第二数据信息包括第二数据标识及第二终端设备的设备标识;第三信息包括第一信息及第二信息;
查询模块1330,用于第一终端设备检测到第一信息的变更,基于变更的第一信息在第三信息中查询与变更的第一信息对应的第二信息中第二终端设备的设备标识;
同步模块1340,用于第一终端设备根据第二终端设备的设备标识向第二终端设备发送同步请求,使得第二终端设备与第一终端设备进行同步。
其中一种可能的实现方式中,上述查询模块1330可以包括:检测单元1331及查询单元1332;
检测单元1331,用于第一终端设备检测到用户与应用程序中的控件进行交互的第一操作;
查询单元1332,用于响应于检测到的第一操作,第一终端设备获取控件的第一控件标识,在第三信息中查询与第一控件标识绑定的第二终端设备的设备标识;
上述同步模块1340还可以用于第一终端设备根据第二终端设备的设备标识向第二终端设备发送数据同步请求,使得第二终端设备与第一终端设备进行数据同步。
其中一种可能的实现方式中,上述查询模块1330可以包括:检测单元1333及查询单元1334;
检测单元1333,用于第一终端设备检测到应用程序中的数据发生变更;
查询单元1334,用于第一终端设备获取与变更数据对应的第一数据标识,在第三信息中查询与第一数据标识绑定的第二终端设备的设备标识;
上述同步模块1340还可以用于第一终端设备根据第二终端设备的设备标识向第二终端设备发送控件同步请求,使得第二终端设备与第一终端设备进行控件同步。
其中一种可能的实现方式中,第一控件信息还包括第一控件标签,第一数据信息还包括第一数据标签;其中,第一控件标签用于标识与第一控件标签对应的控件是否进行注册或同步,第一数据标签用于标识与数据标签对应的数据是否进行注册或同步。
其中一种可能的实现方式中,上述装置1300还可以包括:注册模块1350;
注册模块1350,用于第一终端设备向第二终端设备发送第一信息,使得第二终端设备根据第一信息对第二信息进行更新,以完成在第二终端设备中第二信息与第一信息的绑定。
其中一种可能的实现方式中,上述装置1300还可以包括:更新模块1360;
更新模块1360,用于第一终端设备接收第二终端设备的控件同步请求,获取控件同步请求中的第二控件标识,基于第二控件标识对与第二控件标识对应的控件进行同步;第一终端设备查询与第二控件标识绑定的第二数据标识,更新与第二数据标识对应的数据;
或,
第一终端设备接收第二终端设备的数据同步请求,获取数据同步请求中的第二数据标识,基于第二数据标识对与第二数据标识对应的数据进行同步;第一终端设备查询与第二数据标识绑定的第二控件标识,更新与第二控件标识对应的控件。
其中一种可能的实现方式中,控件同步请求还包括控件时间戳,数据同步请求还包括数据时间戳;其中,控件时间戳用于标识控件同步的时刻,数据时间戳用于标识数据同步的时刻;上述装置1300还可以包括:记录模块1370及比对模块1380;
记录模块1370,用于第一终端设备记录控件同步的时刻和/或数据同步的时刻;
比对模块1380,用于第一终端设备获取控件同步请求中的控件时间戳,将控件时间戳与第一终端设备中记录的控件更改的时刻进行比较,以确定第一终端设备是否进行控件同步;
或
第一终端设备获取数据同步请求中的数据时间戳,将数据时间戳与第一终端设备中记录的数据更改的时刻进行比较,以确定第一终端设备是否进行数据同步。
其中一种可能的实现方式中,控件同步请求还包括应用程序标识及应用程序签名,数据同步请求还包括应用程序标识及应用程序签名;上述装置1300还可以包括:验证模块1390;
验证模块1390,用于第一终端设备根据数据同步请求中的应用程序标识及应用程序签名进行验证,以确定是否进行数据同步;
或,
第一终端设备根据控件同步请求中的应用程序标识及应用程序签名进行验证,以确定是否进行控件同步。
图13所示实施例提供的跨设备同步装置可用于执行本申请图4-图12所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
应理解,以上图13所示的跨设备同步装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,检测模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit;以下简称:ASIC),或,一个或多个微处理器(Digital Signal Processor;以下简称:DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array;以下简称:FPGA)等。再如,这些模块可以集成在一起,以片上系统(System-On-a-Chip;以下简称:SOC)的形式实现。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备100的结构限定。在本申请另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
可以理解的是,上述终端设备等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
本申请实施例可以根据上述方法示例对上述终端设备等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器130执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (17)
1.一种跨设备同步方法,其特征在于,所述方法包括:
第一终端设备生成第一信息;其中,所述第一信息包括基于应用程序的第一控件信息与第一数据信息之间的绑定关系,所述第一控件信息包括第一控件标识及所述第一终端设备的设备标识,所述第一数据信息包括第一数据标识及所述第一终端设备的设备标识;
所述第一终端设备接收第二终端设备的第二信息,根据所述第二信息对所述第一信息进行更新,得到第三信息,以完成在所述第一终端设备中所述第二信息与所述第一信息的绑定;其中,所述第二信息包括基于所述应用程序的第二控件信息与第二数据信息的绑定关系,所述第二控件信息包括第二控件标识及所述第二终端设备的设备标识,所述第二数据信息包括第二数据标识及所述第二终端设备的设备标识;所述第三信息包括所述第一信息及所述第二信息;
所述第一终端设备检测到所述第一信息的变更,基于变更的第一信息在所述第三信息中查询与所述变更的第一信息对应的第二信息中第二终端设备的设备标识;其中,所述第一信息的变更包括所述第一终端设备检测到用户与所述应用程序中的控件进行交互的第一操作,或者,所述第一信息的变更包括所述第一终端设备检测到所述应用程序中的数据发生变更;
所述第一终端设备根据所述第二终端设备的设备标识向所述第二终端设备发送同步请求,使得所述第二终端设备与所述第一终端设备进行同步。
2.根据权利要求1所述的方法,其特征在于,所述第一终端设备检测到所述第一信息的变更,基于变更的第一信息在所述第三信息中查询与所述变更的第一信息对应的第二信息中第二终端设备的设备标识包括:
所述第一终端设备检测到用户与所述应用程序中的控件进行交互的第一操作;
响应于检测到的所述第一操作,所述第一终端设备获取所述控件的第一控件标识,在所述第三信息中查询与所述第一控件标识绑定的第二终端设备的设备标识;
所述第一终端设备根据所述第二终端设备的设备标识向所述第二终端设备发送同步请求,使得所述第二终端设备与所述第一终端设备进行同步包括:
所述第一终端设备根据所述第二终端设备的设备标识向所述第二终端设备发送数据同步请求,使得所述第二终端设备与所述第一终端设备进行数据同步。
3.根据权利要求1所述的方法,其特征在于,所述第一终端设备检测到所述第一信息的变更,基于变更的第一信息在所述第三信息中查询与所述变更的第一信息对应的第二信息中第二终端设备的设备标识包括:
所述第一终端设备检测到所述应用程序中的数据发生变更;
所述第一终端设备获取与变更数据对应的第一数据标识,在所述第三信息中查询与所述第一数据标识绑定的第二终端设备的设备标识;
所述第一终端设备根据所述第二终端设备的设备标识向所述第二终端设备发送同步请求,使得所述第二终端设备与所述第一终端设备进行同步包括:
所述第一终端设备根据所述第二终端设备的设备标识向所述第二终端设备发送控件同步请求,使得所述第二终端设备与所述第一终端设备进行控件同步。
4.根据权利要求1所述的方法,其特征在于,所述第一控件信息还包括第一控件标签,所述第一数据信息还包括第一数据标签;其中,所述第一控件标签用于标识与所述第一控件标签对应的控件是否进行注册或同步,所述第一数据标签用于标识与所述第一数据标签对应的数据是否进行注册或同步。
5.根据权利要求1所述的方法,其特征在于,还包括:
所述第一终端设备向所述第二终端设备发送所述第一信息,使得所述第二终端设备根据所述第一信息对所述第二信息进行更新,以完成在所述第二终端设备中所述第二信息与所述第一信息的绑定。
6.根据权利要求1所述的方法,其特征在于,包括:
所述第一终端设备接收所述第二终端设备的控件同步请求,获取所述控件同步请求中的第二控件标识,基于所述第二控件标识对与所述第二控件标识对应的控件进行同步;
所述第一终端设备查询与所述第二控件标识绑定的第二数据标识,更新与所述第二数据标识对应的数据;
或,
所述第一终端设备接收所述第二终端设备的数据同步请求,获取所述数据同步请求中的第二数据标识,基于所述第二数据标识对与所述第二数据标识对应的数据进行同步;
所述第一终端设备查询与所述第二数据标识绑定的第二控件标识,更新与所述第二控件标识对应的控件。
7.根据权利要求6所述的方法,其特征在于,所述控件同步请求还包括控件时间戳,所述数据同步请求还包括数据时间戳;其中,所述控件时间戳用于标识控件同步的时刻,所述数据时间戳用于标识数据同步的时刻,所述方法还包括:
所述第一终端设备记录控件同步的时刻和/或数据同步的时刻;
所述第一终端设备接收所述第二终端设备的控件同步请求之后,还包括:
所述第一终端设备获取所述控件同步请求中的控件时间戳,将所述控件时间戳与所述第一终端设备中记录的控件更改的时刻进行比较,以确定所述第一终端设备是否进行控件同步;
或,
所述第一终端设备接收所述第二终端设备的数据同步请求之后,还包括:
所述第一终端设备获取所述数据同步请求中的数据时间戳,将所述数据时间戳与所述第一终端设备中记录的数据更改的时刻进行比较,以确定所述第一终端设备是否进行数据同步。
8.根据权利要求6所述的方法,其特征在于,所述控件同步请求还包括应用程序标识及应用程序签名,所述数据同步请求还包括应用程序标识及应用程序签名;所述方法还包括:
所述第一终端设备根据所述数据同步请求中的应用程序标识及应用程序签名进行验证,以确定是否进行数据同步;
或,
所述第一终端设备根据所述控件同步请求中的应用程序标识及应用程序签名进行验证,以确定是否进行控件同步。
9.一种第一终端设备,其特征在于,包括:存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述终端设备从所述存储器中读取所述指令,以使得所述终端设备执行以下步骤:
第一终端设备生成第一信息;其中,所述第一信息包括基于应用程序的第一控件信息与第一数据信息之间的绑定关系,所述第一控件信息包括第一控件标识及所述第一终端设备的设备标识,所述第一数据信息包括第一数据标识及所述第一终端设备的设备标识;
所述第一终端设备接收第二终端设备的第二信息,根据所述第二信息对所述第一信息进行更新,得到第三信息,以完成在所述第一终端设备中所述第二信息与所述第一信息的绑定;其中,所述第二信息包括基于所述应用程序的第二控件信息与第二数据信息的绑定关系,所述第二控件信息包括第二控件标识及所述第二终端设备的设备标识,所述第二数据信息包括第二数据标识及所述第二终端设备的设备标识;所述第三信息包括所述第一信息及所述第二信息;
所述第一终端设备检测到所述第一信息的变更,基于变更的第一信息在所述第三信息中查询与所述变更的第一信息对应的第二信息中第二终端设备的设备标识;其中,所述第一信息的变更包括所述第一终端设备检测到用户与所述应用程序中的控件进行交互的第一操作,或者,所述第一信息的变更包括所述第一终端设备检测到所述应用程序中的数据发生变更;
所述第一终端设备根据所述第二终端设备的设备标识向所述第二终端设备发送同步请求,使得所述第二终端设备与所述第一终端设备进行同步。
10.根据权利要求9所述的第一终端设备,其特征在于,所述指令被所述第一终端设备执行时,使得所述第一终端设备执行所述第一终端设备检测到所述第一信息的变更,基于变更的第一信息在所述第三信息中查询与所述变更的第一信息对应的第二信息中第二终端设备的设备标识的步骤,包括:
所述第一终端设备检测到用户与所述应用程序中的控件进行交互的第一操作;
响应于检测到的所述第一操作,所述第一终端设备获取所述控件的第一控件标识,在所述第三信息中查询与所述第一控件标识绑定的第二终端设备的设备标识;
使得所述第一终端设备执行所述第一终端设备根据所述第二终端设备的设备标识向所述第二终端设备发送同步请求,使得所述第二终端设备与所述第一终端设备进行同步的步骤,包括:
所述第一终端设备根据所述第二终端设备的设备标识向所述第二终端设备发送数据同步请求,使得所述第二终端设备与所述第一终端设备进行数据同步。
11.根据权利要求9所述的第一终端设备,其特征在于,所述指令被所述第一终端设备执行时,使得所述第一终端设备执行所述第一终端设备检测到所述第一信息的变更,基于变更的第一信息在所述第三信息中查询与所述变更的第一信息对应的第二信息中第二终端设备的设备标识的步骤,包括:
所述第一终端设备检测到所述应用程序中的数据发生变更;
所述第一终端设备获取与变更数据对应的第一数据标识,在所述第三信息中查询与所述第一数据标识绑定的第二终端设备的设备标识;
使得所述第一终端设备执行所述第一终端设备根据所述第二终端设备的设备标识向所述第二终端设备发送同步请求,使得所述第二终端设备与所述第一终端设备进行同步的步骤,包括:
所述第一终端设备根据所述第二终端设备的设备标识向所述第二终端设备发送控件同步请求,使得所述第二终端设备与所述第一终端设备进行控件同步。
12.根据权利要求9所述的第一终端设备,其特征在于,所述第一控件信息还包括第一控件标签,所述第一数据信息还包括第一数据标签;其中,所述第一控件标签用于标识与所述第一控件标签对应的控件是否进行注册或同步,所述第一数据标签用于标识与所述第一数据标签对应的数据是否进行注册或同步。
13.根据权利要求9所述的第一终端设备,其特征在于,所述指令被所述第一终端设备执行时,使得所述第一终端设备还执行以下步骤:
所述第一终端设备向所述第二终端设备发送所述第一信息,使得所述第二终端设备根据所述第一信息对所述第二信息进行更新,以完成在所述第二终端设备中所述第二信息与所述第一信息的绑定。
14.根据权利要求9所述的第一终端设备,其特征在于,所述指令被所述第一终端设备执行时,使得所述第一终端设备还执行以下步骤:
所述第一终端设备接收所述第二终端设备的控件同步请求,获取所述控件同步请求中的第二控件标识,基于所述第二控件标识对与所述第二控件标识对应的控件进行同步;
所述第一终端设备查询与所述第二控件标识绑定的第二数据标识,更新与所述第二数据标识对应的数据;
或,
所述第一终端设备接收所述第二终端设备的数据同步请求,获取所述数据同步请求中的第二数据标识,基于所述第二数据标识对与所述第二数据标识对应的数据进行同步;
所述第一终端设备查询与所述第二数据标识绑定的第二控件标识,更新与所述第二控件标识对应的控件。
15.根据权利要求14所述的第一终端设备,其特征在于,所述控件同步请求还包括控件时间戳,所述数据同步请求还包括数据时间戳;其中,所述控件时间戳用于标识控件同步的时刻,所述数据时间戳用于标识数据同步的时刻,所述指令被所述第一终端设备执行时,使得所述第一终端设备还执行以下步骤:
所述第一终端设备记录控件同步的时刻和/或数据同步的时刻;
使得所述第一终端设备执行所述第一终端设备接收所述第二终端设备的控件同步请求的步骤之后,还执行以下步骤:
所述第一终端设备获取所述控件同步请求中的控件时间戳,将所述控件时间戳与所述第一终端设备中记录的控件更改的时刻进行比较,以确定所述第一终端设备是否进行控件同步;
或,
使得所述第一终端设备执行所述第一终端设备接收所述第二终端设备的数据同步请求的步骤之后,还执行以下步骤:
所述第一终端设备获取所述数据同步请求中的数据时间戳,将所述数据时间戳与所述第一终端设备中记录的数据更改的时刻进行比较,以确定所述第一终端设备是否进行数据同步。
16.根据权利要求14所述的第一终端设备,其特征在于,所述控件同步请求还包括应用程序标识及应用程序签名,所述数据同步请求还包括应用程序标识及应用程序签名;所述指令被所述第一终端设备执行时,使得所述第一终端设备还执行以下步骤:
所述第一终端设备根据所述数据同步请求中的应用程序标识及应用程序签名进行验证,以确定是否进行数据同步;
或,
所述第一终端设备根据所述控件同步请求中的应用程序标识及应用程序签名进行验证,以确定是否进行控件同步。
17.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在所述第一终端设备上运行时,使得所述第一终端设备执行如权利要求1-8中任一项所述跨设备同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010771109.0A CN114079658B (zh) | 2020-08-03 | 2020-08-03 | 跨设备同步方法、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010771109.0A CN114079658B (zh) | 2020-08-03 | 2020-08-03 | 跨设备同步方法、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114079658A CN114079658A (zh) | 2022-02-22 |
CN114079658B true CN114079658B (zh) | 2022-10-28 |
Family
ID=80279373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010771109.0A Active CN114079658B (zh) | 2020-08-03 | 2020-08-03 | 跨设备同步方法、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114079658B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277580B (zh) * | 2022-07-25 | 2024-02-13 | Oppo广东移动通信有限公司 | 数据传输方法、装置、电子设备、业务系统及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104836655A (zh) * | 2015-04-27 | 2015-08-12 | 深圳市金立通信设备有限公司 | 一种数据同步方法 |
CN108845856A (zh) * | 2018-06-11 | 2018-11-20 | 腾讯科技(深圳)有限公司 | 数据绑定方法、装置、存储介质及设备 |
CN110383848A (zh) * | 2017-03-07 | 2019-10-25 | Pcms控股公司 | 用于多设备呈现的定制视频流式传输 |
CN110611905A (zh) * | 2019-08-09 | 2019-12-24 | 华为技术有限公司 | 信息共享方法、终端设备、存储介质及计算机程序产品 |
CN111432284A (zh) * | 2020-04-30 | 2020-07-17 | 成都新潮传媒集团有限公司 | 一种多媒体终端的弹幕交互方法及多媒体终端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949297B2 (en) * | 2006-12-27 | 2015-02-03 | Ebay Inc. | Content switch management |
-
2020
- 2020-08-03 CN CN202010771109.0A patent/CN114079658B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104836655A (zh) * | 2015-04-27 | 2015-08-12 | 深圳市金立通信设备有限公司 | 一种数据同步方法 |
CN110383848A (zh) * | 2017-03-07 | 2019-10-25 | Pcms控股公司 | 用于多设备呈现的定制视频流式传输 |
CN108845856A (zh) * | 2018-06-11 | 2018-11-20 | 腾讯科技(深圳)有限公司 | 数据绑定方法、装置、存储介质及设备 |
CN110611905A (zh) * | 2019-08-09 | 2019-12-24 | 华为技术有限公司 | 信息共享方法、终端设备、存储介质及计算机程序产品 |
CN111432284A (zh) * | 2020-04-30 | 2020-07-17 | 成都新潮传媒集团有限公司 | 一种多媒体终端的弹幕交互方法及多媒体终端 |
Also Published As
Publication number | Publication date |
---|---|
CN114079658A (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230005288A1 (en) | Enrollment Using Synthetic Fingerprint Image and Fingerprint Sensing Systems | |
EP2752749B1 (en) | Processing method of touch screen device user interface and touch screen device | |
US20170160926A1 (en) | Enhanced display of interactive elements in a browser | |
US20150077362A1 (en) | Terminal with fingerprint reader and method for processing user input through fingerprint reader | |
CN107329743A (zh) | 应用页面的展示方法、装置及存储介质 | |
KR20180008480A (ko) | 애플리케이션 관련 사용자 데이터를 추출하고 공유하기 위한 시스템 및 방법 | |
US10067667B2 (en) | Method and apparatus for touch gestures | |
KR20130028238A (ko) | 잠금 화면에서 단축 기능을 제공하는 방법 및 그를 이용한 휴대용 단말기 | |
CN108647508A (zh) | 认证凭证与生物识别信息的自动关联 | |
KR102095912B1 (ko) | 보안 기능 운용 방법 및 이를 지원하는 전자 장치 | |
US20120050336A1 (en) | Touch-based remote control | |
US10013595B2 (en) | Correlating fingerprints to pointing input device actions | |
CN113032273B (zh) | 一种应用程序的调试方法、装置、计算机设备和存储介质 | |
US20170177144A1 (en) | Touch display device and touch display method | |
CN114079658B (zh) | 跨设备同步方法、终端设备及存储介质 | |
CN112291411A (zh) | 推荐操作序列的方法、终端及计算机可读介质 | |
CN105829998B (zh) | 将装置绑定到计算设备 | |
EP2801012A1 (en) | Supporting different event models using a single input source | |
CN103472931A (zh) | 鼠标仿真触控屏幕操作的方法 | |
US20210096728A1 (en) | Control Method and Electronic Device | |
CN113535027A (zh) | 图标控制方法、装置、电子设备、可读存储介质 | |
CN114138395A (zh) | 应用管理方法、装置和电子设备 | |
US20120079402A1 (en) | Terminal, method, system, and computer-readable storage medium for adjusting attributes of user-input area based on user selection | |
EP2755124B1 (en) | Enhanced display of interactive elements in a browser | |
CN112100018A (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 |