CN114741008A - 分布式跨设备协同方法、电子设备及通信*** - Google Patents
分布式跨设备协同方法、电子设备及通信*** Download PDFInfo
- Publication number
- CN114741008A CN114741008A CN202011553458.1A CN202011553458A CN114741008A CN 114741008 A CN114741008 A CN 114741008A CN 202011553458 A CN202011553458 A CN 202011553458A CN 114741008 A CN114741008 A CN 114741008A
- Authority
- CN
- China
- Prior art keywords
- application
- information
- interface
- equipment
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 233
- 238000000034 method Methods 0.000 title claims abstract description 130
- 238000012545 processing Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 14
- 238000003825 pressing Methods 0.000 claims description 10
- 238000007726 management method Methods 0.000 description 53
- 230000008569 process Effects 0.000 description 36
- 230000006870 function Effects 0.000 description 34
- 230000006855 networking Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 24
- 230000000694 effects Effects 0.000 description 21
- 230000003993 interaction Effects 0.000 description 19
- 238000010295 mobile communication Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 8
- 238000009434 installation Methods 0.000 description 8
- 238000001914 filtration Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration 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
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000009133 cooperative interaction Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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/131—Protocols for games, networked simulations or virtual reality
-
- 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/50—Network services
- H04L67/55—Push-based network services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1413—1D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2354/00—Aspects of interface with display user
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/04—Display device controller operating with a plurality of display units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了分布式跨设备协同方法、电子设备及通信***,涉及电子技术领域,能够提供一种跨设备的分布式通信通道,以实现跨设备地高质量、高安全性、高兼容性、高效地通信。本申请提供的方案中,第一设备可以在有分布式协同需求时,通过显示包括第一设备的设备信息和第一应用的应用信息的第一信息,以便其他设备,如第二设备根据该第一信息与第一设备之间建立用于协同显示的通信通道,从而可以基于该通信通道实现跨设备地高效、高安全性地通信。另外,通过上述通信通道的建立,可以丰富分布式协同显示的使用场景,以实现跨设备地高兼容性、低工作量、低难度地通信,扩充了分布式的生态范围,提升了用户的体验度。
Description
技术领域
本申请实施例涉及电子技术领域,尤其涉及分布式跨设备协同方法、电子设备及通信***。
背景技术
随着应用开发技术的发展,越来越多的应用能够支持分布式协同操控。例如,一些游戏应用可以支持局域网联机功能。示例性的,第一设备可以作为网关,第二设备通过与第一设备连接在同一网关地址。其中,第一设备和第二设备均可以作为游戏服务端,以实现多设备联机游戏。
但是,上述分布式协同操控的方法需要软件开发者通过软件开发实现游戏服务端和游戏服务端之间的多端组网通信,工作量巨大。另外,由于不同的局域网游戏没有统一的通信通道,因此缺乏一致性体验。进一步的,开发者无法保证游戏服务端之间的通信质量与安全性。
发明内容
本申请实施例提供分布式跨设备协同方法、电子设备及通信***,能够提供一种跨设备的分布式通信通道,以实现跨设备地高质量、高安全性、高兼容性、高效地通信。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,提供一种分布式跨设备协同方法,该方法包括:第一设备在接收到用户的第一操作时,显示第一信息,其中,第一信息包括第一设备的设备信息和第一应用的应用信息,第一应用的应用信息用于第二设备确定第二设备上安装有第一应用;响应于接收到第二设备的通道建立请求,第一设备与第二设备建立用于协同显示的通信通道,第一设备的设备信息用于第一设备在与第二设备建立用于协同显示的通信通道时,进行安全验证;第一设备通过用于协同显示的通信通道,与第二设备协同显示第一应用。
上述第一方面提供的技术方案,第一设备可以在有分布式协同需求时,通过显示包括第一设备的设备信息和第一应用的应用信息的第一信息,以便其他设备,如第二设备根据该第一信息与第一设备之间建立用于协同显示的通信通道,从而可以基于该通信通道实现跨设备地高效、高安全性地通信。另外,通过上述通信通道的建立,可以丰富分布式协同显示的使用场景,以实现跨设备地高兼容性、低工作量、低难度地通信,扩充了分布式的生态范围,提升了用户的体验度。
在一种可能的实现方式中,上述第一操作包括用户触发显示协同码的操作,第一设备以协同码的方式显示第一信息。作为本申请一种实现方式,第一设备可以响应于用户触发显示协同码的操作,以协同码的方式显示第一信息,以便其他设备,如第二设备可以通过扫描该协同码以获取第一信息。
在一种可能的实现方式中,上述协同码包括协同二维码和协同条形码。本申请不限定协同码的具体形式,例如协同码可以是协同二维码或协同条形码等。
在一种可能的实现方式中,上述第一应用的应用信息具体用于第二设备确定第二设备上安装有第一版本的第一应用;第一版本的第一应用支持应用路由服务,其中,支持应用路由服务是指具备通过用于协同显示的通信通道进行协同显示的能力。进一步的,第一设备上显示的第一应用的应用信息具体用于第二设备确认其已安装有支持应用路由服务的第一版本的第一应用,以便第二设备可以顺利与第一设备之间建立用于协同显示的通信通道。
在一种可能的实现方式中,上述第一设备通过用于协同显示的通信通道,与第二设备协同显示第一应用,包括:第一设备通过用于协同显示的通信通道,与第二设备同步显示第一应用的界面。作为一种实现场景,第一设备可以通过用于协同显示的通信通道与第二设备同步显示同一界面,例如同步显示游戏应用界面等。
在一种可能的实现方式中,上述第一设备通过用于协同显示的通信通道,与第二设备协同显示第一应用,包括:第二设备通过用于协同显示的通信通道,控制第一设备显示第一应用的应用界其中,所述第一设备上显示有第一应用的界面,第二设备上显示有第一应用的控制界面。作为一种实现场景,第二设备可以通过用于协同显示的通信通道控制第一设备上的界面显示,例如第一设备上显示游戏应用界面,第二设备上显示用于控制第一设备上游戏应用界面的游戏控制界面。
在一种可能的实现方式中,上述第一操作包括以下中的任一种:用户点击第一应用的界面上用于显示协同码的虚拟按钮的操作;用户在第一设备显示第一应用的界面时,对第一设备的物理按键的预设按压操作;用户在第一设备显示第一应用的界面时,在第一设备的触摸屏上的预设手势操作;用户在设备显示所述第一应用的界面时,手持第二设备“碰一碰”第一设备的操作;用户在第一设备显示第一应用的界面时,手持第二设备靠近第一设备的操作;用户在第一设备显示第一应用的界面时,同时“摇一摇”第一设备和第二设备的操作。本申请不限定用于触发第一设备显示第一信息的第一操作的具体形式。
第二方面,提供一种分布式跨设备协同方法,该方法包括:第二设备获取包括第一设备的设备信息和第一应用的应用信息的第一信息,第一设备运行有第一应用;第二设备确定第二设备上安装有第一应用;第二设备根据第一设备的设备信息向第一设备发送通道建立请求,以请求与第一设备建立用于协同显示的通信通道;在用于协同显示的通信通道建立成功之后,第二设备与第一设备协同显示第一应用。
上述第二方面提供的技术方案,第二设备可以根据从第一设备获取的包括第一设备的设备信息和第一应用的应用信息的第一信息,与第一设备之间建立用于协同显示的通信通道,从而可以基于该通信通道实现跨设备地高效、高安全性地通信。另外,通过上述通信通道的建立,可以丰富分布式协同显示的使用场景,以实现跨设备地高兼容性、低工作量、低难度地通信,扩充了分布式的生态范围,提升了用户的体验度。
在一种可能的实现方式中,上述第二设备获取第一信息,包括:第二设备通过扫描第一设备上显示的协同码,获取第一信息,协同码中包括第一信息;或者,第二设备从第一设备接收第一信息。示例性的,第一设备可以以协同码的方式显示第一信息,以便第二设备可以通过扫描该协同码以获取第一信息。或者,第二设备可以直接从第一设备接收该第一信息。
在一种可能的实现方式中,上述第一应用的应用信息具体用于第二设备确定第二设备上安装有第一版本的第一应用;第二设备确定第二设备上安装有第一应用,具体包括:第二设备确定第二设备上安装有第一版本的第一应用,第一版本的第一应用支持应用路由服务,其中,支持应用路由服务是指具备通过用于协同显示的通信通道进行协同显示的能力。进一步的,第一设备上显示的第一应用的应用信息具体用于第二设备确认其已安装有支持应用路由服务的第一版本的第一应用,以便第二设备可以顺利与第一设备之间建立用于协同显示的通信通道。
在一种可能的实现方式中,上述第二设备与第一设备协同显示第一应用,包括:第二设备通过用于协同显示的通信通道,与第一设备同步显示第一应用的界面。作为一种实现场景,第二设备可以通过用于协同显示的通信通道与第一设备同步显示同一界面,例如同步显示游戏应用界面等。
在一种可能的实现方式中,上述第二设备与第一设备协同显示所述第一应用,包括:第二设备通过用于协同显示的通信通道,控制第一设备显示第一应用的应用界面;其中,第一设备上显示有第一应用的界面,第二设备上显示有第一应用的控制界面。作为一种实现场景,第二设备可以通过用于协同显示的通信通道控制第一设备上的界面显示,例如第一设备上显示游戏应用界面,第二设备上显示用于控制第一设备上游戏应用界面的游戏控制界面。
第三方面,提供一种分布式跨设备协同方法,该方法包括:响应于接收到用户的第一操作,第一设备获取分布式设备的信息;第一设备根据分布式设备的信息,确定第二设备;第二设备用于与第一设备协同显示第一应用;第一设备向第二设备发送携带有第一应用的应用信息的推送协同请求;第一应用应用信息用于第二设备确定第二设备上安装有第一应用;响应于接收到第二设备的通道建立请求,第一设备与第二设备建立用于协同显示的通信通道;第一设备通过用于协同显示的通信通道,与第二设备同步显示所述第一应用的界面。
上述第三方面提供的技术方案,第一设备可以在有分布式协同需求时,通过向其他设备,如第二设备发送携带有第一应用的应用信息的推送协同请求,以请求与第二设备之间建立用于协同显示的通信通道,从而可以基于该通信通道实现跨设备地高效、高安全性地通信。另外,通过上述通信通道的建立,可以丰富分布式协同显示的使用场景,以实现跨设备地高兼容性、低工作量、低难度地通信,扩充了分布式的生态范围,提升了用户的体验度。
在一种可能的实现方式中,上述分布式设备包括以下中的一个或多个:与第一设备处于同一局域网的设备,与第一设备建立了蓝牙或Wi-Fi直连的设备,与第一设备触碰的设备,与第一设备的距离小于预设阈值的设备,与第一设备同时“摇一摇”的设备。示例性的,在本申请中,第一设备可以基于多种因素,发现一个或多个分布式设备。
在一种可能的实现方式中,上述第二设备是分布式设备中,与第一设备触碰的设备,与第一设备同时“摇一摇”的设备,或者最靠近第一设备的设备。示例性的,在本申请中,第一设备可以根据预设的策略,从多个分布式设备中确定用于与第一设备同步显示第一应用的界面的第一设备,本申请不限定。
在一种可能的实现方式中,上述第一设备根据分布式设备的信息,确定第二设备,具体包括:第一设备根据分布式设备的信息,结合以下信息中的一个或多个,从分布式设备中确定第二设备:分布式设备的屏幕的点亮情况;多个分布式设备与第一设备之间的距离;第二设备的分布式协同的历史信息。示例性的,在本申请中,第一设备可以根据预设的多种策略,从多个分布式设备中确定用于与第一设备同步显示第一应用的界面的第一设备,本申请不限定。
在一种可能的实现方式中,上述第一应用的应用信息包括第一设备期望的第一应用的最低版本号,第一应用应用信息具体用于第二设备确定第二设备上安装有第一版本的第一应用,第一版本的第一应用支持应用路由服务,其中,支持应用路由服务是指具备通过用于协同显示的通信通道进行协同显示的能力。进一步的,第一设备上显示的第一应用的应用信息具体用于第二设备确认其已安装有支持应用路由服务的第一版本的第一应用,以便第二设备可以顺利与第一设备之间建立用于协同显示的通信通道。
在一种可能的实现方式中,上述第一操作包括以下中的任一种:用户点击第一应用的界面上的用于推送协同的虚拟按钮的操作;用户述第一设备显示第一应用的界面时,对第一设备的物理按键的预设按压;用户在所述第一设备显示第一应用的界面时,在第一设备的触摸屏上的预设手势操作;用户在第一设备显示第一应用的界面时,手持第二设备“碰一碰”第一设备的操作;用户在第一设备显示第一应用的界面时,手持第二设备靠近第一设备的操作;用户在第一设备显示第一应用的界面时,同时“摇一摇”第一设备和第二设备的操作。本申请不限定用于触发第一设备推送协同的第一操作的具体形式。
第四方面,提供一种分布式跨设备协同方法,该方法包括:第二设备接收来自第一设备的携带有第一应用的应用信息的推送协同请求;第一应用运行在第一设备中;第二设备确定第二设备上安装有第一应用;第二设备向第一设备发送通道建立请求;通道建立请求用于请求与第一设备建立用于协同显示的通信通道;在用于协同显示的通信通道建立成功之后,第二设备通过用于协同显示的通信通道,与第一设备同步显示第一应用的界面。
上述第四方面提供的技术方案,第二设备可以根据从第一设备接收的携带有第一应用的应用信息的推送协同请求,与第一设备之间建立用于协同显示的通信通道,从而可以基于该通信通道实现跨设备地高效、高安全性地通信。另外,通过上述通信通道的建立,可以丰富分布式协同显示的使用场景,以实现跨设备地高兼容性、低工作量、低难度地通信,扩充了分布式的生态范围,提升了用户的体验度。
在一种可能的实现方式中,上述第一应用的应用信息包括第一设备期望的第一应用的最低版本号,第一应用应用信息具体用于第二设备确定第二设备上安装有第一版本的第一应用,第一版本的第一应用支持应用路由服务,其中,支持应用路由服务是指具备通过用于协同显示的通信通道进行协同显示的能力。进一步的,第一应用的应用信息具体用于第二设备确认其已安装有支持应用路由服务的第一版本的第一应用,以便第二设备可以顺利与第一设备之间建立用于协同显示的通信通道。
第五方面,提供一种第一设备,第一设备包括:显示单元,用于在接收到用户的第一操作时,显示第一信息,其中,第一信息包括第一设备的设备信息和第一应用的应用信息,第一应用的应用信息用于第二设备确定第二设备上安装有第一应用;收发单元,用于接收来自第二设备的通道建立请求;处理单元,用于响应于收发单元接收到第二设备的通道建立请求,与第二设备建立用于协同显示的通信通道,第一设备的设备信息用于第一设备在与第二设备建立用于协同显示的通信通道时,进行安全验证;上述显示单元还用于,通过用于协同显示的通信通道,与第二设备协同显示第一应用。
上述第五方面提供的技术方案,第一设备可以在有分布式协同需求时,通过显示包括第一设备的设备信息和第一应用的应用信息的第一信息,以便其他设备,如第二设备根据该第一信息与第一设备之间建立用于协同显示的通信通道,从而可以基于该通信通道实现跨设备地高效、高安全性地通信。另外,通过上述通信通道的建立,可以丰富分布式协同显示的使用场景,以实现跨设备地高兼容性、低工作量、低难度地通信,扩充了分布式的生态范围,提升了用户的体验度。
在一种可能的实现方式中,上述第一操作包括用户触发显示协同码的操作,上述显示单元具体用于,以协同码的方式显示第一信息。作为本申请一种实现方式,第一设备可以响应于用户触发显示协同码的操作,以协同码的方式显示第一信息,以便其他设备,如第二设备可以通过扫描该协同码以获取第一信息。
在一种可能的实现方式中,上述协同码包括协同二维码和协同条形码。本申请不限定协同码的具体形式,例如协同码可以是协同二维码或协同条形码等。
在一种可能的实现方式中,上述第一应用的应用信息具体用于第二设备确定第二设备上安装有第一版本的第一应用;第一版本的第一应用支持应用路由服务,其中,支持应用路由服务是指具备通过用于协同显示的通信通道进行协同显示的能力。进一步的,第一设备上显示的第一应用的应用信息具体用于第二设备确认其已安装有支持应用路由服务的第一版本的第一应用,以便第二设备可以顺利与第一设备之间建立用于协同显示的通信通道。
在一种可能的实现方式中,上述显示单元具体用于,与第二设备同步显示第一应用的界面。作为一种实现场景,第一设备可以通过用于协同显示的通信通道与第二设备同步显示同一界面,例如同步显示游戏应用界面等。
在一种可能的实现方式中,上述显示单元具体用于,接受第二设备的控制,显示第一应用的应用界面。其中,所述第一设备上显示有第一应用的界面,第二设备上显示有第一应用的控制界面。作为一种实现场景,第二设备可以通过用于协同显示的通信通道控制第一设备上的界面显示,例如第一设备上显示游戏应用界面,第二设备上显示用于控制第一设备上游戏应用界面的游戏控制界面。
在一种可能的实现方式中,上述第一操作包括以下中的任一种:用户点击第一应用的界面上用于显示协同码的虚拟按钮的操作;用户在第一设备显示第一应用的界面时,对第一设备的物理按键的预设按压操作;用户在第一设备显示第一应用的界面时,在第一设备的触摸屏上的预设手势操作;用户在设备显示所述第一应用的界面时,手持第二设备“碰一碰”第一设备的操作;用户在第一设备显示第一应用的界面时,手持第二设备靠近第一设备的操作;用户在第一设备显示第一应用的界面时,同时“摇一摇”第一设备和第二设备的操作。本申请不限定用于触发第一设备显示第一信息的第一操作的具体形式。
第六方面,提供一种第二设备,该第二设备包括:信息获取单元,用于获取包括第一设备的设备信息和第一应用的应用信息的第一信息,第一设备运行有第一应用;处理单元,用于确定第二设备上安装有第一应用;收发单元,用于根据第一设备的设备信息向第一设备发送通道建立请求,以请求与第一设备建立用于协同显示的通信通道;显示单元,用于在用于协同显示的通信通道建立成功之后,与第一设备协同显示第一应用。
上述第六方面提供的技术方案,第二设备可以根据从第一设备获取的包括第一设备的设备信息和第一应用的应用信息的第一信息,与第一设备之间建立用于协同显示的通信通道,从而可以基于该通信通道实现跨设备地高效、高安全性地通信。另外,通过上述通信通道的建立,可以丰富分布式协同显示的使用场景,以实现跨设备地高兼容性、低工作量、低难度地通信,扩充了分布式的生态范围,提升了用户的体验度。
在一种可能的实现方式中,上述信息获取单元具体用于,通过扫描第一设备上显示的协同码,获取第一信息,协同码中包括第一信息;或者,通过收发单元从第一设备接收第一信息。示例性的,第一设备可以以协同码的方式显示第一信息,以便第二设备可以通过扫描该协同码以获取第一信息。或者,第二设备可以直接从第一设备接收该第一信息。
在一种可能的实现方式中,上述第一应用的应用信息具体用于第二设备确定第二设备上安装有第一版本的第一应用;上述处理单元具体用于,确定第二设备上安装有第一版本的第一应用,第一版本的第一应用支持应用路由服务,其中,支持应用路由服务是指具备通过用于协同显示的通信通道进行协同显示的能力。进一步的,第一设备上显示的第一应用的应用信息具体用于第二设备确认其已安装有支持应用路由服务的第一版本的第一应用,以便第二设备可以顺利与第一设备之间建立用于协同显示的通信通道。
在一种可能的实现方式中,上述显示单元具体用于,通过用于协同显示的通信通道,与第一设备同步显示第一应用的界面。作为一种实现场景,第二设备可以通过用于协同显示的通信通道与第一设备同步显示同一界面,例如同步显示游戏应用界面等。
在一种可能的实现方式中,上述显示单元具体用于,显示第一应用的控制界面,以便用户通过在该第一应用的控制界面上的操作,通过用于协同显示的通信通道,控制第一设备上显示的第一应用的应用界面。作为一种实现场景,第二设备可以通过用于协同显示的通信通道控制第一设备上的界面显示,例如第一设备上显示游戏应用界面,第二设备上显示用于控制第一设备上游戏应用界面的游戏控制界面。
第七方面,提供一种第一设备,该第一设备包括:信息获取单元,用于响应于接收到用户的第一操作,获取分布式设备的信息;处理单元,用于根据分布式设备的信息,确定第二设备;第二设备用于与第一设备协同显示第一应用;收发单元,用于向第二设备发送携带有第一应用的应用信息的推送协同请求;以及,接收来自第二设备的通道建立请求;处理单元,用于响应于收发单元接收到第二设备的通道建立请求,与第二设备建立用于协同显示的通信通道;显示单元,用于通过用于协同显示的通信通道,与第二设备同步显示第一应用的界面。第一应用应用信息用于第二设备确定第二设备上安装有第一应用;
上述第七方面提供的技术方案,第一设备可以在有分布式协同需求时,通过向其他设备,如第二设备发送携带有第一应用的应用信息的推送协同请求,以请求与第二设备之间建立用于协同显示的通信通道,从而可以基于该通信通道实现跨设备地高效、高安全性地通信。另外,通过上述通信通道的建立,可以丰富分布式协同显示的使用场景,以实现跨设备地高兼容性、低工作量、低难度地通信,扩充了分布式的生态范围,提升了用户的体验度。
在一种可能的实现方式中,上述分布式设备包括以下中的一个或多个:与第一设备处于同一局域网的设备,与第一设备建立了蓝牙或Wi-Fi直连的设备,与第一设备触碰的设备,与第一设备的距离小于预设阈值的设备,与第一设备同时“摇一摇”的设备。示例性的,在本申请中,第一设备可以基于多种因素,发现一个或多个分布式设备。
在一种可能的实现方式中,上述第二设备是分布式设备中,与第一设备触碰的设备,与第一设备同时“摇一摇”的设备,或者最靠近第一设备的设备。示例性的,在本申请中,第一设备可以根据预设的策略,从多个分布式设备中确定用于与第一设备同步显示第一应用的界面的第一设备,本申请不限定。
在一种可能的实现方式中,上述处理单元具体用于,根据分布式设备的信息,结合以下信息中的一个或多个,从分布式设备中确定第二设备:分布式设备的屏幕的点亮情况;多个分布式设备与第一设备之间的距离;第二设备的分布式协同的历史信息。示例性的,在本申请中,第一设备可以根据预设的多种策略,从多个分布式设备中确定用于与第一设备同步显示第一应用的界面的第一设备,本申请不限定。
在一种可能的实现方式中,上述第一应用的应用信息包括第一设备期望的第一应用的最低版本号,第一应用应用信息具体用于第二设备确定第二设备上安装有第一版本的第一应用,第一版本的第一应用支持应用路由服务,其中,支持应用路由服务是指具备通过用于协同显示的通信通道进行协同显示的能力。进一步的,第一设备上显示的第一应用的应用信息具体用于第二设备确认其已安装有支持应用路由服务的第一版本的第一应用,以便第二设备可以顺利与第一设备之间建立用于协同显示的通信通道。
在一种可能的实现方式中,上述第一操作包括以下中的任一种:用户点击第一应用的界面上的用于推送协同的虚拟按钮的操作;用户述第一设备显示第一应用的界面时,对第一设备的物理按键的预设按压;用户在所述第一设备显示第一应用的界面时,在第一设备的触摸屏上的预设手势操作;用户在第一设备显示第一应用的界面时,手持第二设备“碰一碰”第一设备的操作;用户在第一设备显示第一应用的界面时,手持第二设备靠近第一设备的操作;用户在第一设备显示第一应用的界面时,同时“摇一摇”第一设备和第二设备的操作。本申请不限定用于触发第一设备推送协同的第一操作的具体形式。
第八方面,提供一种第二设备,该第二设备包括:收发单元,用于接收来自第一设备的携带有第一应用的应用信息的推送协同请求;第一应用运行在第一设备中;处理单元,用于确定第二设备上安装有第一应用;上述收发单元还用于,向第一设备发送通道建立请求;通道建立请求用于请求与第一设备建立用于协同显示的通信通道;显示单元,用于在用于协同显示的通信通道建立成功之后,通过用于协同显示的通信通道,与第一设备同步显示第一应用的界面。
上述第八方面提供的技术方案,第二设备可以根据从第一设备接收的携带有第一应用的应用信息的推送协同请求,与第一设备之间建立用于协同显示的通信通道,从而可以基于该通信通道实现跨设备地高效、高安全性地通信。另外,通过上述通信通道的建立,可以丰富分布式协同显示的使用场景,以实现跨设备地高兼容性、低工作量、低难度地通信,扩充了分布式的生态范围,提升了用户的体验度。
在一种可能的实现方式中,上述第一应用的应用信息包括第一设备期望的第一应用的最低版本号,第一应用应用信息具体用于第二设备确定第二设备上安装有第一版本的第一应用,第一版本的第一应用支持应用路由服务,其中,支持应用路由服务是指具备通过用于协同显示的通信通道进行协同显示的能力。进一步的,第一应用的应用信息具体用于第二设备确认其已安装有支持应用路由服务的第一版本的第一应用,以便第二设备可以顺利与第一设备之间建立用于协同显示的通信通道。
第九方面,提供一种第一设备,该第一设备包括:存储器,用于存储计算机程序;收发器,用于接收或发送无线电信号;处理器,用于执行所述计算机程序,使得第一设备实现如第一方面或第三方面任一种可能的实现方式中的方法。
第十方面,提供一种第二设备,该第一设备包括:存储器,用于存储计算机程序;收发器,用于接收或发送无线电信号;处理器,用于执行所述计算机程序,使得第二设备实现如第二方面或第四方面任一种可能的实现方式中的方法。
第十一方面,提供一种通信***,该通信***包括如上述第五方面或第九方面任一种可能的实现方式中的第一设备,以及上述第六方面或第十方面任一种可能的实现方式中的第二设备。
第十二方面,提供一种通信***,该通信***包括如上述第七方面或第九方面任一种可能的实现方式中的第一设备,以及上述第八方面或第十方面任一种可能的实现方式中的第二设备。
第十三方面,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序代码,该计算机程序代码被处理器执行时实现如第一方面、第二方面、第三方面或第四方面任一种可能的实现方式中的方法。
第十四方面,提供一种芯片***,该芯片***包括处理器、存储器,存储器中存储有计算机程序代码;所述计算机程序代码被所述处理器执行时,实现如第一方面、第二方面、第三方面或第四方面任一种可能的实现方式中的方法。该芯片***可以由芯片构成,也可以包含芯片和其他分立器件。
第十五方面,提供一种计算机程序产品,当其在计算机上运行时,使得实现如第一方面、第二方面、第三方面或第四方面任一种可能的实现方式中的方法。
附图说明
图1为本申请实施例提供的一种电子设备的硬件结构示意图;
图2为本申请实施例提供的电子设备的软件***架构图;
图3为本申请实施例提供的一种应用路由服务开发包的框架图;
图4为本申请实施例提供的一种应用路由服务的框架图;
图5为本申请实施例提供的一种设备组网模块的功能实现示意图;
图6为本申请实施例提供的一种设备管理模块的功能实现示意图;
图7为本申请实施例提供的一种访问控制模块的功能实现示意图;
图8为本申请实施例提供的一种分布式跨设备协同方法流程图;
图9为本申请实施例提供的一种电子设备显示协同二维码的示例图;
图10为本申请实施例提供的另一种电子设备显示协同二维码的示例图;
图11为本申请实施例提供的一种分布式跨设备协同方法中数据流的流向示意图;
图12为本申请实施例提供的一种请求协同场景中分布式跨设备协同方法交互图;
图13为本申请实施例提供的另一种分布式跨设备协同方法流程图;
图14为本申请实施例提供的一种推送协同场景示例图;
图15为本申请实施例提供的一种推送协同场景中分布式跨设备协同方法交互图;
图16为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供一种分布式跨设备协同方法,该方法可以应用于多屏幕协作(multi-screen collaboration)场景中。其中,多屏幕协作是指设备与设备(如第一设备与第二设备)之间通过建立的用于协同显示的通信通道,实现跨设备地多屏协同交互的功能。
其中,本申请实施例不限定分布式跨设备协同方法应用的多屏幕协作(multi-screen collaboration)的具体场景。
作为一个示例,多屏幕协作场景可以是多设备协同游戏的场景。例如第一设备和第二设备均可以作为游戏服务端和游戏控制端,通过建立的通信通道实现跨设备地联机游戏。又如,第一设备和第二设备可以分别作为游戏服务端和游戏控制端,通过建立的通信通道实现跨设备地协同游戏控制。
作为另一个示例,多屏幕协作场景可以是多设备协同拍摄的场景。例如第一设备可以直接通过建立的通信通道调用其他设备的摄像头,实现多设备多角度联合摄像功能。
作为另一个示例,多屏幕协作场景可以是跨设备弹幕发布的场景。例如大屏设备(如电视机)上正在播放电视节目,家庭成员可以通过便携设备(如智能手机)与大屏设备之间建立的通信通道发表弹幕、评论或留言等,以同步显示在大屏设备上。
作为另一个示例,多屏幕协作场景可以是多设备协同参与电子课堂的场景。例如老师可以将笔记本电脑上显示的Word文档、PPT演示稿、Excel表格、视频或图片等,通过建立的通信通道推送至每一个学生的智能手机,使得每个学生的智能手机可以与老师的笔记本电子同步显示Word文档、PPT演示稿、Excel表格、视频或图片等。
作为另一个示例,多屏幕协作场景可以是多设备协同抽奖的场景。例如活动方可以通过建立的通信通道,将第一设备(如笔记本电脑)将抽奖规则和倒计时推送到会场嘉宾的手机上,使得会场嘉宾可以使用各自的手机进行抽奖以及查看抽奖结果等。
作为另一个示例,多屏幕协作场景可以是多设备协同参与问卷调查的场景。例如,活动房可以通过建立的通信通道将第一设备(如笔记本电脑)上的问卷推送到参与者的手机上,使得参与者可以使用各自的手机进行问卷回答并将问卷结果返回给第一设备。
作为另一个示例,多屏幕协作场景可以是多设备协同收音的场景。例如支持立体收音功能的第一设备可以直接通过建立的通信通道调用其他设备的麦克风,完成跨设备收音并汇聚至第一设备。从而在第一设备侧通过波束赋形等技术实现目标音量、音质和声音立体度的强化。
其中,在本申请实施例中,上述设备间的通信通道是基于设备间的通信连接建立的。该通信连接可以是无线通信连接。例如,设备与设备之间可以遵循无线传输协议,通过无线连接收发器传输信息。其中,该无线传输协议可以包含但不限于蓝牙(bluetooth,BT)传输协议或无线保真(wireless fidelity,WiFi)传输协议等。例如,WiFi传输协议可以是WiFiP2P传输协议。该无线连接收发器包含但不限于蓝牙,WiFi等收发器。通过无线配对,实现设备与设备之间的信息传输。其中,设备与设备之间传输的信息包括但不限于界面配置信息(如标准视频流)和控制指令等。
或者,本申请实施例中,上述设备间的通信连接还可以是有线通信连接。例如,设备与设备之间可以通过视频图像配接器(video graphics array,VGA)、数字视频接口(digital visual interface,DVI)、高清多媒体接口(high definition multimediainterface,HDMI)或数据传输线等建立有线通信连接。设备与设备之间通过建立的有线通信连接实现信息传输。本申请不限定设备与设备之间的具体连接方式。
在本申请实施例中,多屏幕协作的多个电子设备均包括显示屏。例如,多屏幕协作的多个电子设备均可以包括但不限于智能手机、上网本、平板电脑、智能手表、智能手环、电话手表、智能相机、掌上电脑、个人计算机(personal computer,PC)、个人数字助理(personal digital assistant,PDA)、便携式多媒体播放器(portable multimediaplayer,PMP)、(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、电视机、投影设备或人机交互场景中的体感游戏机等。或者,分布式协同的多个电子设备还可以是其他类型或结构的电子设备,本申请不限定。
示例性的,在多设备协同游戏的场景中,建立了通信通道的第一设备和第二设备可以都是智能手机(如智能手机1和智能手机2),其中智能手机1和智能手机2既作为游戏服务端又作为游戏控制端;通过智能手机1和智能手机2可以实现跨设备地联机游戏。或者,第一设备可以是笔记本电脑,第二设备可以是智能手机,其中笔记本电脑作为游戏服务端,智能手机作为游戏控制端;通过智能手机可以实现对笔记本电脑上的游戏的控制。
请参考图1,图1示出了本申请实施例提供的一种电子设备的硬件结构示意图。如图1所示,电子设备可以包括处理器110,存储器(包括外部存储器接口120和内部存储器121),通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),飞行控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像组件193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频段。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A、受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括WiFi网络,蓝牙BT,全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯***(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位***(global positioning system,GPS),全球导航卫星***(globalnavigation satellite system,GLONASS),北斗卫星导航***(beidou navigationsatellite system,BDS),准天顶卫星***(quasi-zenith satellite system,QZSS)和/或星基增强***(satellite based augmentation systems,SBAS)。
电子设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备可以通过ISP,摄像组件193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如MicroSD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备的各种功能应用以及数据处理。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C以及应用处理器等实现音频功能。例如音乐播放,录音等。关于音频模块170,扬声器170A,受话器170B和麦克风170C的具体工作原理和作用,可以参考常规技术中的介绍。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过***SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备的接触和分离。电子设备可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时***多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备中,不能和电子设备分离。
需要说明的是,图1所示电子设备包括的硬件模块只是示例性地描述,并不对电子设备的具体结构做出限定。例如,电子设备还可以包括其他功能模块。
示例性的,电子设备的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构等。例如,在本申请中,电子设备的操作***可以包括但不限于(Symbian)、(Android)、 (iOS)、(Blackberry)、鸿蒙(Harmony)等操作***,本申请不限定。
请参考图2,图2以包括分层架构的Android***为例,示出了本申请实施例提供的一种电子设备的软件***架构图。如图2所示,分层架构的Android***可以包括应用程序层,应用程序框架层,***库,安卓运行时和内核层。
应用程序层可以包括一系列应用程序包,例如相机,图库,日历,通话,地图,导航,蓝牙,音乐,视频,短信息和游戏等应用程序。为方便描述,以下将应用程序简称为应用。电子设备上的应用可以是原生的应用(如在电子设备出厂前,安装操作***时安装在电子设备中的应用),也可以是第三方应用(如用户通过应用商店下载安装的应用),本申请实施例不予限定。
在本申请实施例中,如图2所示,应用程序层中包括的一个或多个应用中可以集成有应用路由服务(App Router Service,ARS)开发包(Kit)。其中,该ARS Kit可以用于应用界面协同显示或者用于应用界面协同控制等,本申请不限定。其中,图2是以游戏应用中集成有ARS Kit作为示例。若电子设备为游戏服务端,则ARS Kit用于电子设备的应用界面的协同显示;若电子设备为游戏控制端,则ARS Kit用于电子设备的应用界面协同控制。
在一些实施例中,ARS Kit可以以support静态包的形式集成在应用中,以及运行在应用进程中,用于为应用提供接口以实现应用路由能力。关于ARS Kit的具体结构,将在下文对图3的介绍中详细说明。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。如图2所示,应用程序框架层可以包括窗口管理服务(window manager service,WMS),活动管理服务(activity manager service,AMS),输入事件管理服务(input manager service,IMS)和ARS。在一些实施例中,如图2所示,应用程序框架层还可以包括内容提供器,视图***,电话管理器,资源管理器,通知管理器等。
其中,WMS承载着和“界面”有关的数据和属性,用于管理和“界面”有关的状态,例如用于管理窗口程序和事件派发。其中,管理窗口程序是指根据应用程序的显示请求在应用服务端和WMS的协助下有序地输出给物理屏幕或其他显示设备。事件派发是指将来自键盘、物理按键、触摸屏、鼠标、轨迹球(TraceBoll)等的用户事件派发给相应的控件或窗口。窗口管理服务还可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
AMS用于负责管理Activity,负责***中各组件的启动、切换、调度及应用程序的管理和调度等工作。具体的,AMS中定义了分别用来保存进程(Process)、活动(Activity)和任务(Task)的数据类。其中,进程(Process)对应的数据类可以包括进程文件信息、进程的内存状态信息和进程中包含的Activity、Service等。Activity信息可以保存在ActivityStack中。其中,ActivityStack用于同统一调度应用程序Activity。ActivityStack具体可以保存所有正在运行的Activity(即final ArrayList mHistory)信息,如界面配置信息。例如正在运行的Activity可以保存在new ArrayList中。ActivityStack还可以保存历史运行过的Activity的信息,如界面配置信息。需要注意,Activity并不对应一个应用程序,ActivityThread才对应一个应用程序。因此Android允许同时运行多个应用程序,实际是允许同时运行多个ActivityThread。
在Android中,Activity调度的基本思路是这样的:各应用进程在要启动新的Activity或者停止当前的Activity时,向AMS报告。AMS在内部为所有应用进程都做了记录,当AMS接到启动或停止的报告时,首先更新内部记录,然后再通知相应客户进程运行或者停止指定的Activity。由于AMS内部有所有Activity的记录,因此能够调度这些Activity,并根据Activity和***内存的状态自动关闭后台的Activity。
IMS可以用于对原始输入事件进行翻译、封装等处理,得到包含更多信息的输入事件,并发送到WMS,WMS中存储有每个应用程序的可点击区域(比如控件)、焦点窗口的位置信息等。因此,WMS可以正确的将输入事件分发到指定的控件或者焦点窗口。
ARS用于实现局域网内的设备发现与连接,跨设备应用联动与协同,跨设备的服务端与服务端之间、控制端与服务端之间的数据通信与交互等。
在一些实施例中,ARS可以是开机启动且常驻的服务。在本申请实施例中,ARS可以集成在***服务(SystemServer)中,以及可以跟随只读存储器(read only memory,ROM)升级且常驻。关于ARS的具体结构,将在下文对图4的介绍中详细说明。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
***库和安卓运行时包含应用程序框架层所需要调用的功能函数,Android的核心库,以及Android虚拟机。***库可以包括多个功能模块。例如:浏览器内核,三维(3dimensional,3D)图形,字体库等。
***库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层可以包含显示驱动,输入/输出设备驱动(例如,键盘、触摸屏、耳机、扬声器、麦克风等),设备节点,摄像头驱动,音频驱动以及传感器驱动等。用户通过输入设备进行输入操作,内核层可以根据输入操作产生相应的原始输入事件,并存储在设备节点中。
在本申请中,IMS可以对接收到的输入事件做出响应。例如,输入/输出设备驱动或传感器驱动可以检测到用户的输入事件。示例性的,输入/输出设备驱动将用户启动应用的操作对应的输入事件上报给IMS,IMS将输入事件转发给WMS,WMS分发给相应的应用,应用向AMS发送注册请求,应用启动。又一示例性的,传感器驱动将用户转动电子设备显示屏的操作对应的转屏请求对应的输入事件上报给IMS,IMS将输入事件转发给WMS,WMS分发给相应的应用,应用向AMS发送转屏请求,应用界面完成横竖屏切换。
需要说明的是,图2仅以分层架构的Android***为例,介绍一种电子设备的软件结构示意图。本申请不限定电子设备软件***的具体架构,关于其他架构的软件***的具体介绍,可以参考常规技术。
本申请实施例提供的分布式跨设备协同方法中,可以在电子设备的软件***框架中集成路由服务(即ARS)和路由服务开发包(即ARS Kit)(如图2所示)。通过由ARS相关服务提供的多设备间的用于协同显示的通信通道,进行服务端与服务端之间,或者服务端与控制端之间的数据交互。从而快速简单地实现跨设备地多屏协同交互。例如,将电视或平板等大屏设备作为游戏应用界面显示设备,手机作为游戏应用控制设备,通过手机来操控显示在电视或平板等大屏设备上的游戏界面。另外,由ARS相关服务提供的多设备间的用于协同显示的通信通道,可以兼容不同的多屏幕协作场景以及不同的应用程序,可以提升用户体验,减小三方接入难度从而完善分布式生态。
请参考图3,图3示出了本申请实施例提供的应用路由服务开发包的框架图。如图3所示,应用路由服务开发包(即ARS Kit)可以包括通信API和路由API。
其中,通信API可以包括设备连接模块和设备断开模块等。例如,设备连接模块可以用于提供设备发现、设备过滤以及设备连接等能力。设备断开模块可以用于提供设备断开等能力。在一些实施例中,通信API还可以用于感知网络内的其它设备的行为动作。例如,设备连接模块和设备断开模块还可以用于感知其他设备的屏幕状态(如亮屏或熄屏等)、网络连接情况等。
路由API可以包括推送协同模块,请求协同模块,协同二维码模块和数据协同模块等。
其中,推送协同模块用于支持电子设备主动请求其他设备与自己进行协同。例如,A设备的推送协同模块用于支持A设备主动请求B设备协同显示A设备上显示的应用界面,其中A设备可以称为主设备,B设备可以称为副设备。
请求协同模块用于支持电子设备通过扫码或碰一碰等方式请求与其他设备协同。例如,A设备的推送协同模块用于支持A设备通过扫描B设备上用于加入协同游戏的二维码,加入B设备上显示的二维码对应的游戏战队,其中A设备为副设备,B设备为主设备。
协同二维码模块可以用于但不限于生成协同二维码和解析协同二维码。示例性的,在推送协同的过程中,A设备的路由API生成的协同二维码可以用于B设备通过扫描以与A设备协同显示。在请求协同过程中,A设备的路由API可以通过解析A设备扫描到的来自B设备的协同二维码,以获取B设备以及B设备上应用的相关信息,进而与B设备建立用于协同显示的通道。
示例性的,协同二维码可以包含以下表1所示的信息:
表1
在一些实施例中,协同二维码可以包含以下表2所示的信息中的一个或多个:
表2
其中,设备已登录的标识(identify,ID)的Hash(即HID)可以通过将设备已登录的用户ID作hash运算,以得到一串固定长度的数据。HID可以作为身份特征,用于进行安全验证,例如用于验证用户身份。
数据协同模块可以包括与应用进行直接交互,例如负责消息、对象、大数据及文件的同步传送功能等。数据协同模块还可以包括与下层软件结构(如ARS)进行交互,例如负责消息、对象、大数据及文件的同步传送功能等。
作为一种示例,如图4所示,本申请实施例提供的一种应用路由服务的框架图可以包括业务适配层,分布式能力层和基础能力层。
其中,业务适配层包括广播接收模块、协议解析模块和统一过渡窗口。在本申请实施例中,广播接收模块可以用于接收广播消息。协议解析模块用于获取统一的无线传输等协议。统一过渡窗口用于提供协同显示时的窗口模式管理,示例性的,不同应用的协同窗口在屏幕渲染时可以采用不同的菜单栏模式。例如,菜单栏中可以包括最大化按钮、最小化按钮和关闭窗口按钮。
分布式能力层可以包括远端ARS调用模块、推送协同模块和请求协同模块。其中,在本申请实施例中,远端ARS调用模块用于调用应用服务以实现设备协同。示例性的,可以通过调用原子能力服务(atomic ability,AA)远端ARS以实现设备协同。推送协同模块用于与ARS Kit协作,通过ARS Kit的推送协同模块向应用提供推送协同能力。请求协同模块用于与ARS Kit协作,通过ARS Kit的请求协同模块向应用提供请求协同能力。
基础能力层可以包括设备组网模块、设备管理模块、应用管理模块、设备连接验证模块、访问控制模块、运营打点模块和异常处理模块等。
其中,在本申请实施例中,设备组网模块也称“软总线注册模块”,用于在启动时进行本设备的应用路由信息注册,以及为远端ARS调用和设备过滤做准备。
示例性的,以请求协同为例,在本申请实施例中,设备组网模块实现的功能可以通过图5所示的交互流程来体现。如图5所示,应用在有协同服务需求时,向分布式能力层(如远端ARS调用模块)拉起服务。分布式能力层调用鉴权框架进行鉴权,例如分布式能力层指示鉴权框架初始化并进行应用鉴权。在鉴权框架鉴权成功之后,应用向分布式能力层(例如请求协同模块)请求协同二维码。此时,分布式能力层向设备组网模块注册应用路由信息。
设备管理模块用于进行设备发现,设备注册信息查询以及设备过滤。示例性的,设备管理模块可以依据以下信息进行设备过滤:设备类型(如设备类型为智能手机或平板电脑),设备能力(如设备支持ARS功能)。其中,设备能否被发现通常取决于设备是否已调用接口通过底层通道能力向设备组网模块注册自己的软硬件信息。其中,在设备灭屏时,底层通道能力通常会被关闭。因此,只有在设备亮屏时,设备才有可能被发现。
在本申请实施例中,设备管理模块实现的功能可以通过图6所示的交互流程来体现。如图6所示,响应于应用(如游戏应用)发起可协同设备查询,应用中集成的ARS Kit通过向设备管理模块指示查询可协同的设备。例如,ARS Kit的通信API中的设备连接模块通过向设备管理模块指示查询可协同的设备。设备管理模块根据ARS Kit的查询可协同的设备的指示向设备组网模块发起设备发现。设备组网模块通过查询设备注册信息,向设备管理模块返回发现的可协同的设备列表,用于设备管理模块对设备进行过滤,以确定目标设备。其中,目标设备即进行应用协同的电子设备。最后,设备管理模块将确定的目标设备的相关信息(例如设备ID等)发送给ARS Kit(如ARS Kit中的设备连接模块),用于进行下一步设备连接。
应用管理模块用于在设备协同过程中,查询副设备是否安装有相关应用。应用管理模块还用于在确定副设备安装有相关应用时查询副设备安装的应用版本是否与主设备的应用版本匹配,或者查询副设备安装的应用版本是否支持ARS(即应用中是否集成有ARSKit)。在一些实施例中,若副设备中未安装相关应用,或者副设备中安装的相关应用版本与主设备的应用版本不匹配,或者副设备安装的应用版本不支持ARS,则应用管理模块触发副设备安装指定版本的应用。例如,应用管理模块可以触发副设备通过跳转应用市场触发下载并安装(如自动安装)指定版本的应用。又如,应用管理模块可以触发应用迁移,使得副设备根据主设备的应用迁移自动下载和安装指定版本的应用。
设备连接验证模块用于提供安全验证,例如提供设备验证。示例性的,设备连接验证模块可以提供设备验证码(如PIN码),例如将PIN码信息隐含在协同二维码中,供其他设备在建立协同连接时进行设备验证。又如,设备连接验证模块可以用于验证设备通过扫描获取的,用于建立协同连接的其他设备的验证码。
访问控制模块用于实现接口能力的访问控制。在本申请实施例中,访问控制模块中可以集成有鉴权框架开发包,用于根据云端维护的应用与权限集合的对照表,校验调用接口能力的应用的权限,以保证在应用具有相关权限时才能调用接口能力。其中,在本申请实施例中,在云端维护的应用与权限集合的对照表可以由应用开发者通过向开发者联盟申请,以获取APP ID及相关权限。示例性的,应用与权限集合的对照表可以接受定期更新,例如根据应用包名和/或证书指纹等定期更新。
在本申请实施例中,访问控制模块实现的功能可以通过图7所示的交互流程来体现。如图7所示,访问控制模块中集成有权限管理Kit,应用可以通过权限管理Kit实现权限代理,包括调用权限管理服务进行端云交互、存储管理、策略管理以及权限解析等。其中,端云交互是指应用端与云端的交互。云端维护有应用与权限集合的对照表。具体的,如图7所示,具备协同能力的应用的开发者(包括特定开发者和第三方开发者)可以通过向Kit开放管理平台发送应用信息,以获取相关权限及APP ID等授权信息,以及将获取的权限信息(包括证书、指纹等)发送至云端维护。其中,Kit开放管理平台可以对不同类型的应用开发者开放权限,包括特定开发者和第三方开发者。例如,特定的开发者如华为开发者,超级开发者和普通开发者等。
运营打点模块用于进行大数据打点记录和上报。例如,该大数据可以包括用户关键操作行为对应的信息或者重要内部信息等。运营打点模块可以将上述数据上报给云端服务器,用于为应用开发者供分布式应用的运营数据,从而可以更具针对性地开发和/或优化对应的功能。
异常处理模块用于提供统一的异常码,便于应用开发者调试及快速问题定位等。
以下将结合附图,对本申请实施例提供的一种分布式跨设备协同方法做具体介绍。其中,本申请以下实施例以第一设备与第二设备分布式协同为例,以第一设备和第二设备具有图1所示硬件结果,具有图2所示软件***架构为例进行说明。
其中,本申请实施例1以第二设备向第一设备请求协同为例,对本申请实施例提供的一种分布式跨设备协同方法做具体介绍。本申请实施例2以第二设备向第一设备推送协同为例,对本申请实施例提供的一种分布式跨设备协同方法做具体介绍。
实施例1:
在本申请实施例1中,假设第一设备上运行有第一应用,第二设备通过向第一设备请求协同,以与第一设备同步显示第一应用的界面或者进行第一应用的界面的协同操控。
如图8所示,本申请实施例提供的一种分布式跨设备协同方法可以包括以下步骤S801-S803:
S801、第一设备在接收到用户的第一操作时,显示第一信息。第一信息包括第一设备的设备信息和第一应用的应用信息。
其中,第一应用的应用信息用于第二设备确定该第二设备上安装有第一应用。第一设备的设备信息用于第二设备在与第二设备建立用于协同显示的通信通道时,进行安全验证。
示例性的,第一信息可以包括第一设备的类似上述表1所示的信息。例如,ARS业务特征码、ActionID、APP包名、第一设备ID、第一设备IP和第一设备的连接授权PIN码等。
进一步的,在一些实施例中,第一信息还可以包括第一设备的类似上述表2所示的信息中的一个或多个。例如,第一设备期望的Activity名、第一设备期望的APP最低版本号、应用自定义的启动参数、第一设备媒体访问控制(media access control,MAC)地址和第一设备已登录的ID的Hash等中的一个或多个。
其中,在本申请一些实施例中,第一操作可以包括用户触发显示协同码(如协同二维码、协同条形码)的操作。示例性的,用户触发显示协同码的操作可以是用户点击第一应用的界面上的虚拟按钮(如“协同二维码”虚拟按钮等)的操作;用户在第一设备显示第一应用的界面时,对第一设备的物理按键的预设按压操作(如同时按压电源键和音量增加键的操作);用户在第一设备显示第一应用的界面时,在触摸屏上的预设手势操作(如“一”字型、“○”形、“∠”字型或“└”字型等手势);用户在第一设备显示第一应用的界面时,手持第二设备“碰一碰”第一设备的操作;用户在第一设备显示第一应用的界面时,手持第二设备靠近第一设备的操作;或者用户在第一设备显示第一应用的界面时,同时“摇一摇”第一设备和第二设备的操作等,本申请不限定具体的操作形式。例如,如图9所示,假设第二设备是智能手机1、智能手机2和智能手机3,第一设备是平板电脑,假设平板电脑(即第一设备)上运行有游戏应用(即第一应用是游戏应用),第一操作是用户点击游戏应用界面901上的“协同二维码”虚拟按钮的操作902,则平板电脑显示界面903。其中,界面903上的协同二维码中包含有平板电脑确定的第一信息。
又如,如图10所示,假设第二设备是智能手机,第一设备是平板电脑,假设平板电脑(即第一设备)上运行有游戏应用(即第一应用是游戏应用),第一操作是用户在平板电脑显示游戏应用界面1001时,手持智能手机和平板电脑的“碰一碰”操作1002,则平板电脑显示界面1003。其中,界面1003上的协同二维码中包含有平板电脑确定的第一信息。
需要说明的是,上述图10仅以智能手机的一角和平板电脑的一角“碰一碰”作为示例。在本申请实施例中,“碰一碰”可以在第二设备的任意部位和第二设备的任意部位之间进行。
其中,在本申请实施例中,电子设备可以通过加速度传感器和/或重力传感器实时采集电子设备的运动方向、运动加速度和运动速度,以判断电子设备是否发生了“碰一碰”操作。例如,若电子设备在以一定速度运动的过程中突然停止运动,则电子设备推测电子设备可能与其他电子设备发生了触碰。
在另一些实施例中,电子设备可以通过陀螺仪传感器实时采集电子设备的旋转方向、旋转角速度和旋转角度等,以判断电子设备是否发生了“碰一碰”操作。例如,若电子设备在以一定旋转角速度运动的过程中突然停止运动,则电子设备推测电子设备可能与其他电子设备发生了触碰。
在另一些实施例中,电子设备可以通过分析麦克风采集到的音频数据,判断电子设备是否发生了“碰一碰”操作。例如,若麦克风接收到的银屏数据满足一定音调、一定响度和特定撞击音色,则电子设备推测电子设备可能与其他电子设备发生了触碰。关于电子设备判断是否发生与其他电子设备的触碰的依据,可以参考常规技术,这里不再一一列举。
在第一操作是用户触发显示协同码(如协同二维码、协同条形码等)的操作的情况下,第一设备显示第一信息是指:第一设备以协同码(如协同二维码、协同条形码等)的方式显示第一信息。具体的,第一设备可以在该协同码中携带第一信息,使得其他设备,如第二设备在扫描该协同码时,获取该第一信息。如图9所示,智能手机1、智能手机2和智能手机3通过扫描界面903上的协同二维码加入游戏战队。又如图10所示,智能手机通过扫描界面1003上的协同二维码加入游戏战队。
需要说明的是,上述实施例是以二维码的形式显示第一信息作为示例,本申请实施例中,电子设备还可以以条形码等其他识别码的形式显示第一信息,本申请不限定。
在本申请另一些实施例中,在第一操作是用户在第一设备显示第一应用的界面时,手持第二设备“碰一碰”第一设备的操作、用户同时“摇一摇”第一设备和第二设备的操作或者用户手持第二设备靠近第一设备等操作的情况下,上述第一设备显示第一信息还可以替换为:第一设备向第二设备发送第一信息。
更为具体的,上述第一应用的应用信息具体用于第二设备确定第二设备上安装有第一版本的第一应用。
S802、第二设备根据第一信息,确定第二设备上安装有第一应用。
示例性的,第二设备可以根据第一信息,确定第二设备上安装有第一版本的第一应用。第一版本与第一应用的应用信息匹配。
其中,第一版本与第一应用的应用信息匹配是指第一版本能够满足第一应用的应用信息中对应用版本的要求。更为具体的,第一版本与第一应用的应用信息匹配是指第一版本的第一应用支持应用路由服务。其中,支持应用路由服务是指具备通过用于协同显示的通信通道进行协同显示的能力。例如,可以通过判断第二设备上安装的第一应用中是否集成有ARS Kit来确定第二设备上安装有第一版本的第一应用。
可以理解,若低版本的应用支持某一能力,则更高版本的该应用通常也支持该能力。因此,以第一应用的应用信息包括表2所示第一设备期望的APP最低版本号为例,第一版本的第一应用还可以理解为高于或等于第一设备期望的最低版本的第一应用。
例如,假设第一设备上运行有游戏应用(即第一应用是游戏应用),其中第一设备上运行的游戏应用版本号为10.0(该版本号包含在第一信息中),第二设备通过获取本设备信息判断本设备是否安装有该游戏应用。
作为一种可能,第二设备中未安装有该游戏应用,在这种情况下,第二设备触发下载并安装等于或高于10.0版本的游戏应用,或者第二设备触发下载并安装集成有ARS Kit的游戏应用。
作为另一种可能,第二设备中安装有该游戏应用,在这种情况下,第二设备判断该游戏应用版本号是否等于或者高于10.0或者判断该游戏应用中是否集成有ARS Kit。若第二设备中安装的该游戏应用版本号等于或者高于10.0或者该游戏应用中集成有ARS Kit,则第二设备执行以下步骤S803。若第二设备中安装的该游戏应用版本号低于10.0且该游戏应用中未集成ARS Kit,则第二设备触发下载并安装集成有ARS Kit的游戏应用,例如触发下载高于或等于10.0版本的游戏应用。
在本申请一些实施例中,假设第二设备以扫描协同码的形式得到第一信息,则第二设备根据第一信息,确定第二设备上安装有第一版本的第一应用,具体可以包括以下两个步骤:
步骤1:第二设备验证并解析扫描到的协同码,以获取第一信息。
其中,第二设备验证协同码用于确保协同码的合法性,关于验证协同码的具体方法和过程,可以参考常规技术中的介绍,这里不做赘述。
步骤2:第二设备根据获取的第一信息,确定第二设备上安装有第一版本的第一应用。
在本申请一些实施例中,假设第二设备直接接收来自第一设备的第一信息,则第二设备根据第一信息,确定第二设备上安装有第一版本的第一应用,具体可以包括:第二设备根据接收到的第一信息,确定第二设备上安装有第一版本的第一应用。
S803、第二设备与第一设备建立用于协同显示的通信通道,以与第一设备协同显示第一应用。
以第一设备和第二设备具有类似图2所示软件***架构,其中,ARS kit具有图3所示结构,ARS具有图4所示结构为例,第二设备与第一设备建立用于协同显示的通信通道可以是第二设备的设备组网模块与第一设备的设备组网模块之间的通道。
其中,在本申请实施例中,第二设备与第一设备建立的用于协同显示的通信通道具体可以用于进行协同显示数据、控制指令等的传输。
在一些实施例中,第二设备可以以协同显示应用服务界面的形式与第一设备协同显示第一应用,其中,第一设备和第二设备同步显示第一应用的界面。以第一设备和第二设备均作为游戏服务端为例,第一设备和第二设备上同步显示游戏服务界面。用户1可以使用第一设备与用户2使用的第二设备进行联机游戏。
示例性的,对于第二设备以协同显示应用服务界面的形式与第一设备协同显示第一应用的情况,协同显示数据可以包括但不限于应用界面配置参数。应用界面配置参数可以包括但不限于应用界面上显示的控件(图标、文字等,以及每一个图标、文字等的具体显示位置和/或大小等),关于应用界面的配置参数,具体可以参考常规技术,本申请不限定。控制指令可以用于但不限于设备之间的操作共享,以使得第二设备和第一设备同步进行界面渲染等。
在另一些实施例中,第二设备可以以协同显示控制界面的形式与第一设备协同运行第一应用,其中,第一设备上显示第一应用的界面,第二设备上显示第一应用的控制界面。以第一设备作为游戏服务端,第二设备作为游戏控制端为例,第一设备上显示游戏界面,第二设备上显示游戏控制界面。用户可以使用第二设备操控第一设备上的游戏界面。
示例性的,对于第二设备以协同显示应用控制界面的形式与第一设备协同显示第一应用的情况,第二设备可以响应于用户的操控操作,通过上述通信通道向第一设备发送游戏控制信息。例如,用于移动光标的控制信息、用于选择广播指示的虚拟目标的控制信息等。
在本申请实施例中,对于第二设备以协同显示应用控制界面的形式与第一设备协同显示第一应用的情况,作为一种可能的实现方式,第二设备上显示的控制界面可以是特定应用控制界面。以第一设备作为游戏服务端,第二设备作为游戏控制端为例,第二设备上显示的游戏控制界面可以是游戏开发者开发的,与游戏应用配套的控制界面。
作为另一种可能的实现方式,第二设备上显示的控制界面可以是设备软件***提供的,预置在第二设备中的通用控制界面。该通用控制界面可以满足对不同应用(包括存量应用和新开发应用等)界面的控制需求。示例性的,该通用控制界面可以提供类似手柄摇杆、按键等功能的标准化按钮(例如手柄,手柄等)。
在一些实施例中,设备软件***可以提供多套键值映射表,以及提供选择选项以便用户进行键值映射表选择。其中,键值映射表用于表征通用控制界面上的键值与控制指令的对应关系。
在一些实施例中,设备软件***还可以提供自定义键值映射功能,用于用户自定义键值与控制指令的对应关系。
例如,请参考以下表3,表3以游戏控制指令为例,示出了一种通用控制界面的游戏键值映射表。
表3
在本申请实施例中,应用中也可以预置有键值映射表。第一设备在接收到来自第二设备的键值之后,可以通过应用(如游戏应用)中集成的ARS Kit,根据键值映射表将接收到的键值转换为具体的控制指令,以根据该控制指令在应用界面(如游戏应用界面)上作相应的响应。例如,若第一设备接收到的游戏键值为“12”,则第一设备根据该键值确定控制指令为“back”,进一步的,第二设备返回上一级游戏界面。
以下将以第一设备和第二设备具有类似图2所示软件***架构,其中,ARSkit具有图3所示结构,ARS具有图4所示结构为例,具体介绍第二设备通过向第一设备请求协同的场景中,本申请实施例提供的一种分布式跨设备协同方法的具体交互过程。
请参考图11,图11示出了本申请实施例提供的一种分布式跨设备协同方法中数据流的流向示意图。如图11所示,本申请实施例提供的一种分布式跨设备协同方法可以通过应用路由服务框架、分布式执行框架和设备组网框架来实现。其中,应用路由服务框架用于为应用提供设备发现、设备连接、协同接口等。分布式执行框架用于负责原子能力服务的发现、同步及调用等。最下层为设备组网框架,用于通过Wi-Fi、蓝牙等硬件负责底层通信通道(即用于协同显示的通信通道)的建立及数据传输等。在一些实施例中,为了统一使用及降低对底层实现的依赖,应用路由服务框架的通信连接相关接口均由设备组网框架封装下层实现后提供。
假设第一设备上运行有游戏应用,基于图11所示的执行框架,响应于用户的第一操作,应用调用ARS Kit的接口获取协同码字串,生成协同码。例如,协同码中携带有表1中所要求的设备ID、设备IP,以及表2中所要求的期望的APP最低版本号等信息。其中,设备ID和设备IP可以由设备组网框架(如设备组网模块)查询得到。
响应于用户使用第二设备扫描第一设备上的协同码的操作,第二设备解析协同码信息得到第一设备的设备名、局域网IP等网络信息,并自动连接到相同的局域网中。然后,第二设备检查协同码中包含的第一应用是否存在(即是否安装有第一应用)及版本是否匹配(即是否安装有第一版本的第一应用)。若第二设备中未安装有第一版本的第一应用,则第二设备触发第一版本的第一应用的下载。同时,调用设备组网框架(如设备组网模块)中的接口拉起游戏控制界面,并向第一设备发送连接成功的信息。在本申请实施例中,第二设备可以通过应用路由服务的接口向分布式执行框架绑定运行在第一设备上的原子能力服务,第一设备在接收到成功绑定信息后完成底层通信通道(即用于协同显示的通信通道)的建立。
在第二设备和第一设备完成底层通信通道(即用于协同显示的通信通道)的建立之后,如图11所示,第二设备可以通过图11所示的箭头方向向第一设备发送数据流。其中,若第一设备与多个第二设备均建立了用于协同显示的底层通信通道(即用于协同显示的通信通道),则第一设备可以同时接收来自多个第二设备的数据流。
请参考图12,图12示出了本申请实施例提供的一种请求协同交互图。如图12所示,在请求协同场景中,本申请实施例提供的分布式跨设备协同方法具体可以包括以下步骤1-步骤10:
步骤1、第一设备上的应用A的ARS Kit向第一设备的设备组网模块请求协同码。
步骤2、第一设备的设备组网模块向第一设备上的应用A的ARS Kit返回协同码字串。
其中,协同码字串中可以包括第一信息。例如,协同码字串中可以包括例如表1中所要求的设备ID、设备IP,以及表2中所要求的期望的APP最低版本号等信息。
步骤3、第一设备上的应用A的ARS Kit根据协同码字串生成协同码。
其中,由于协同码是根据协同码字串生成的,因此协同码中携带有第一信息。进而,第一设备可以通过显示协同码以向第二设备显示第一信息。
步骤4、第二设备通过扫码功能模块扫描并解析第一设备上显示的协同码。
其中,解析协同码可以包括但不限于验证协同码的合法性,以及获取协同码中携带的第一信息。
步骤5、第二设备将解析到的协同码信息(即第一信息)发送给第二设备的应用管理模块。
示例性的,在本申请实施例中,第二设备可以通过拉起Activity的方式对接ARS(更为具体的,对接应用管理模块),以向应用管理模块发送解析到的协同码信息(即第一信息)。
步骤6、第二设备的应用管理模块检查应用A的安装状态及应用A的版本。
如上文所述,示例性的,第一信息中包括第一设备期望的APP最低版本号。因此,第二设备的应用管理模块可以根据解析到的协同码信息(即第一信息),检查本地是否安装有应用A,以及若安装有应用A,应用A的版本是否满足第一设备期望的APP最低版本要求。
若第二设备未安装第一版本的应用A,则应用管理模块触发第一版本的应用A的下载和安装后,执行以下步骤7。若第二设备安装有第一版本的应用A,则直接执行以下步骤7。
步骤7、第二设备上的应用A在第二设备安装完第一版本的应用A后,启动应用界面。
其中,第二设备上的应用A可以通过监听应用安装广播,以确定是否安装完第一版本的应用A。
示例性的,启动应用界面具体是指启动应用A具体的页面(Activity)。
步骤8、第二设备上的应用A指示第二设备的设备组网模块触发通信通道建立。
示例性的,第二设备上的应用A可以触发初始化数据协同模块,并通过DEF接口指示第二设备的设备组网模块触发通信通道建立。
步骤9、第二设备的设备组网模块与第一设备的设备组网模块建立通信通道。
步骤10、第一设备上的应用A与第二设备上的应用A进行数据传输。
示例性的,第一设备上的应用A与第二设备上的应用A可以绑定数据协同模块,通过建立的通信通道进行数据传输。
本申请实施例1提供的方案中,第一设备与第二设备可以基于图2或者类似图2所示的软件架构,在有分布式协同需求时,通过请求协同以建立第二设备与第一设备之间的跨设备的通信通道,基于该通信通道可以实现跨设备地高效、高安全性地通信。另外,通过上述通信通道的建立,可以丰富分布式协同显示的使用场景,以实现跨设备地高兼容性、低工作量、低难度地通信,扩充了分布式的生态范围,提升了用户的体验度。
实施例2:
在本申请实施例2中,假设第一设备上运行有第一应用,第一设备通过向第二设备推送协同,使得第二设备与第一设备同步显示第一应用的界面。
如图13所示,本申请实施例提供的一种分布式跨设备协同方法可以包括以下步骤S1301-S1304:
S1301、响应于接收到用户的第一操作,第一设备获取分布式设备的信息。
其中,在本申请一些实施例中,第一操作可以包括用户触发推送协同的操作。示例性的,第一操作可以是用户点击第一应用的界面上的虚拟按钮(如“推送协同”按钮等)的操作;用户在第一设备显示第一应用的界面时,对第一设备的物理按键的预设按压操作(如同时按压电源键和音量增加键的操作);用户在第一设备显示第一应用的界面时,在触摸屏上的预设手势操作(如“一”字型、“○”形、“∠”字型或“└”字型等手势);用户在第一设备显示第一应用的界面时,手持第二设备“碰一碰”第一设备的操作;用户在第一设备显示第一应用的界面时,手持第二设备靠近第一设备的操作;或者用户在第一设备显示第一应用的界面时,同时“摇一摇”第一设备和第二设备的操作等,本申请不限定具体的操作形式。
其中,所述分布式设备能够与第一设备同步显示第一应用的界面。分布式设备可以包括但不限于与第一设备处于同一局域网的设备,与第一设备建立了蓝牙、P2P Wi-Fi(Wi-Fi直连)等连接的设备,与第一设备触碰的设备,与第一设备的距离较近(例如小于预设阈值)的设备,与第一设备同时“摇一摇”的设备等。
例如,若第一操作是用户点击第一应用的界面上的虚拟按钮的操作,用户在第一设备显示第一应用的界面时对第一设备的物理按键的预设按压操作,或者用户在第一设备显示第一应用的界面时在触摸屏上的预设手势操作,则分布式设备可以是与第一设备处于同一局域网的设备,与第一设备建立了蓝牙、P2P Wi-Fi等连接的设备等。
又如,若第一操作是用户在第一设备显示第一应用的界面时,手持第二设备“碰一碰”第一设备的操作,则分布式设备可以是与第一设备触碰的设备。
又如,若第一操作是用户在第一设备显示第一应用的界面时,手持第二设备靠近第一设备的操作,则分布式设备可以是与第一设备的距离小于预设值的设备。
又如,若第一操作是用户在第一设备显示第一应用的界面时,同时“摇一摇”第一设备和第二设备的操作,则分布式设备可以是与第一设备同时“摇一摇”的设备。
其中,分布式设备的信息可以用于标识分布式设备。例如,分布式设备的信息可以是分布式设备的识别码(identification,ID)等,本申请不限定。
S1302、第一设备根据获取的分布式设备的信息,确定第二设备。其中,第二设备用于与第一设备分布式协同显示第一应用。
其中,第一设备根据获取的分布式设备的信息,可以确定得到一个或多个第二设备。
可以理解,在上述步骤S1301中,第一设备获取的分布式设备的数量为一个或多个。
在一些实施例中,若第一设备获取的分布式设备的数量为一个,则第一设备可以确定该分布式设备为第二设备。例如,该第二设备是与第一设备触碰的设备。又如,该第二设备是与第一设备同时“摇一摇”的设备。又如,该第二设备是最靠近第一设备的设备。
在另一些实施例中,若第一设备获取的分布式设备的数量为多个,例如分布式设备是与第一设备处于同一局域网的多个设备,与第一设备建立了蓝牙、P2PWi-Fi等连接的多个设备等,则第一设备从该多个分布式设备中选择出一个或多个,即为一个或多个第二设备。
示例性的,第一设备可以基于以下信息中的一种或多种,从该多个分布式设备中确定出一个或多个第二设备:多个分布式设备的屏幕的点亮情况、多个分布式设备与第一设备之间的距离、第二设备的分布式协同的历史信息等。其中,第二设备的分布式协同的历史信息可以包括但不限于预设时间段(如一周)内与第二设备分布式协同的设备的信息、分布式协同的次数、时长等。关于第一设备从多个分布式设备中确定第二设备的规则和依据,本申请不作限定。
S1303、第一设备向第二设备发送推送协同请求。其中,推送协同请求中携带有第一应用的应用信息。
其中,第一应用的应用信息用于第二设备确定第二设备上安装有第一应用。
示例性的,推送协同请求中携带有第一设备期望的第一应用的最低版本号。其中,第一应用应用信息具体用于所述第二设备确定第二设备上安装有第一版本的第一应用。第一版本与第一应用的应用信息匹配。
S1304、第一设备在第二设备安装有第一应用时,与第二设备建立用于协同显示的通信通道,以与第二设备协同显示第一应用。
示例性的,第一设备可以在第二设备安装有与第一应用的应用信息匹配的第一应用时,即在第二设备安装有第一版本的第一应用时,与第二设备建立用于协同显示的通信通道,以与第二设备协同显示第一应用。
以第一设备和第二设备具有类似图2所示软件***架构,其中,ARS kit具有图3所示结构,ARS具有图4所示结构为例,第一设备与第二设备建立用于协同显示的通信通道可以是第一设备的设备组网模块与第二设备的设备组网模块之间的通道。
其中,在本申请实施例2中,第一设备与第二设备建立的用于协同显示的通信通道具体可以用于进行协同显示数据等的传输。该协同显示数据用于第二设备可以以同步显示应用服务界面的形式与第一设备协同显示第一应用。例如,第一设备和第二设备同步显示第一应用的界面。
示例性的,对于第二设备以同步显示应用服务界面的形式与第一设备协同显示第一应用的情况,协同显示数据可以包括但不限于应用界面配置参数。应用界面配置参数可以包括但不限于应用界面上显示的控件(图标、文字等,以及每一个图标、文字等的具体显示位置和/或大小等),关于应用界面的配置参数,具体可以参考常规技术,本申请不限定。控制指令可以用于但不限于设备之间的操作共享,以使得第二设备和第一设备同步进行界面渲染等。
其中,与第一应用的版本信息匹配的第一应用是指能够满足第一应用的版本信息中对应用版本的要求的第一应用。更为具体的,与第一应用的版本信息匹配的第一应用支持应用路由服务。支持应用路由服务是指具备通过用于协同显示的通信通道进行协同显示的能力。例如,可以通过判断第二设备上安装的第一应用中是否集成有ARS Kit来确定第二设备上安装有第一版本的第一应用。
可以理解,若低版本的应用支持某一能力,则更高版本的该应用通常也支持该能力。因此,以第一应用的版本信息包括第一设备期望的第一应用最低版本号为例,第一版本的第一应用还可以理解为高于或等于第一设备期望的最低版本的第一应用。
例如,假设第一设备上运行有电子课堂应用(即第一应用是电子课堂应用),其中第一设备上运行的电子课堂应用版本号为10.0(该版本号携带在推送协同请求中),第二设备通过获取本设备信息判断本设备是否安装有该电子课堂应用。
作为一种可能,第二设备中未安装有该电子课堂应用,在这种情况下,第二设备触发下载并安装等于或高于10.0版本的电子课堂应用,或者第二设备触发下载并安装集成有ARS Kit的电子课堂应用。
作为另一种可能,第二设备中安装有该电子课堂应用,在这种情况下,第二设备判断该电子课堂应用版本号是否等于或者高于10.0或者判断该电子课堂应用中是否集成有ARS Kit。若第二设备中安装的该电子课堂应用版本号等于或者高于10.0或者该电子课堂应用中集成有ARS Kit,则第二设备确定第一版本与第一应用的版本信息匹配。若第二设备中安装的该电子课堂应用版本号低于10.0且该电子课堂应用中未集成ARS Kit,则第二设备触发下载并安装集成有ARS Kit的电子课堂应用,例如触发下载高于或等于10.0版本的电子课堂应用。
示例性的,请参考图14,图14示出了本申请实施例提供的一种推送协同场景。如图14所示,假设第二设备是智能手机1、智能手机2和智能手机3,第一设备是平板电脑,假设平板电脑(即第一设备)上运行有电子课堂应用(即第一应用是电子课堂应用),如图14所示的PPT演示稿,第一操作是用户点击电子课堂应用界面1401上的“推送协同”虚拟按钮的操作1402,则平板电脑将电子课堂应用界面1401推送至智能手机1、智能手机2和智能手机3上,以与平板电脑同步显示课堂应用界面1401。
需要说明的是,图9是以第一操作是用户点击虚拟按钮的操作作为示例,关于其他形式的第一操作,例如用户手持第二设备“碰一碰”第一设备的操作、用户同时“摇一摇”第一设备和第二设备的操作或者用户手持第二设备靠近第一设备的操作等,可以参考实施例1中的介绍,这里不做赘述。
其中,对于实施例2所述的推送协同,分布式跨设备协同方法可以通过图11所示的应用路由服务框架、分布式执行框架和设备组网框架来实现。在第二设备和第一设备完成底层通信通道(即用于协同显示的通信通道)的建立之后,第二设备可以通过图11所示的箭头方面向第一设备发送数据流。其中,若第一设备与多个第二设备均建立了用于协同显示的通信通道,则第一设备可以同时接收来自多个第二设备的数据流。关于该部分内容,可以参考实施例1中对图11的介绍,这里不做赘述。
以下将以第一设备和第二设备具有类似图2所示软件***架构,其中,ARSkit具有图3所示结构,ARS具有图4所示结构为例,具体介绍第一设备向第二设备推送协同的场景中,本申请实施例提供的一种分布式跨设备协同方法的具体交互过程。
请参考图15,图15示出了本申请实施例提供的一种推送协同交互图。如图15所示,在推送协同场景中,本申请实施例提供的分布式跨设备协同方法具体可以包括以下步骤A-步骤I:
步骤A、第一设备上的应用A通过ARS Kit向第一设备上的ARS的推送协同模块指示推送协同。
例如,第一设备上的应用A中集成的ARS Kit的推送协同模块向第一设备上的ARS的推送协同模块指示推送协同。
步骤B、第一设备上的ARS的推送协同模块检查连接状态。
若没有设备与第一设备建立用于分布式协同的通信通道,则执行以下步骤C;若有设备与第一设备已经建立用于分布式协同的通信通道,则第一设备直接通过已建立的通信通道向该设备推送应用A的界面。
步骤C、第一设备上的ARS的推送协同模块指示第一设备上的ARS的设备组网模块建立通信通道。
步骤D、第一设备上的ARS的推送协同模块与第一设备上的ARS的设备组网模块绑定远端原子能力(atomic ability,AA)服务。
其中,在本申请实施例中,可以将应用程序的业务逻辑解耦,分割成可在任何设备上独立工作的原子能力。基于不同的原子能力,能够实现在分布式的基础结构上,完成跨设备的迁移。其中,每一个原子能力可以实现一个程序功能。并且,可以将接口开放给开发者,被本***或其他***直接调用。另外,不同的原子能力可以支持灵活组装,形成一个应用的界面,如本申请实施例中的第一界面。
步骤E、第一设备上的ARS的推送协同模块调用推送协同接口,向第二设备的应用管理模块发送推送协同请求。
其中,推送协同请求中携带有应用A的版本信息。示例性的,推送协同请求中携带有第一设备期望的应用A的最低版本号。
步骤F、响应于接收到推送协同请求,第二设备的应用管理模块检查应用A的安装状态及应用A的版本。
如上文所述,示例性的,推送协同请求中携带有第一设备期望的应用的最低版本号。因此,第二设备的应用管理模块可以根据接收到的推送协同请求,检查本地是否安装有应用A,以及若安装有应用A,应用A的版本是否满足第一设备期望的应用的最低版本要求。
若第二设备未安装第一版本的应用A,则应用管理模块触发第一版本的应用A的下载和安装后,执行以下步骤G。若第二设备安装有第一版本的应用A,则直接执行以下步骤G。
步骤G、第二设备上的应用A在第二设备安装完第一版本的应用A后,启动应用界面。
其中,第二设备上的应用A可以通过监听应用安装广播,以确定是否安装完第一版本的应用A。
示例性的,启动应用界面具体是指启动应用A具体的页面(Activity)。
步骤H、第二设备上的应用A与第一设备上的应用A绑定远端原子能力服务。
其中,第二设备上的应用A与第一设备上的应用A绑定远端原子能力服务,则意味着第二设备上的应用A与第一设备上的应用A之间建立了用于分布式协同的通信通道。
示例性的,第二设备可以通过向第一设备发送通道建立请求,以请求与第一设备上的应用A绑定远端原子能力服务。
步骤I、第二设备上的应用A与第一设备上的应用A通过绑定的远端原子能力服务进行数据传输。
本申请实施例2提供的方案中,第一设备与第二设备可以基于图2或者类似图2所示的软件架构,在有分布式协同需求时,通过推送协同以建立第二设备与第一设备之间的跨设备的通信通道,基于该通信通道可以实现跨设备地高效、高安全性地通信。另外,通过上述通信通道的建立,可以丰富分布式协同显示的使用场景,以实现跨设备地高兼容性、低工作量、低难度地通信,扩充了分布式的生态范围,提升了用户的体验度。
应理解,本申请实施例的各个方案可以进行合理的组合使用,并且实施例中出现的各个术语的解释或说明可以在各个实施例中互相参考或解释,对此不作限定。
还应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
可以理解的是,电子设备(如第一设备和第二设备)为了实现上述任一个实施例的功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以对电子设备(如第一设备和第二设备)进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
比如,以采用集成的方式划分各个功能模块的情况下,如图16所示,为本申请实施例提供的一种电子设备的结构框图。如图16所示,该电子设备可以包括显示单元1610、收发单元1620和处理单元1630。
进一步的,如图16所示,该电子设备还可以包括信息获取单元1640。
其中,在一些实施例中,在电子设备是第一设备时,显示单元1610用于在接收到用户的第一操作时,显示包括第一设备的设备信息和第一应用的应用信息的第一信息;在用于协同显示的通信通道建立了成功之后,与第二设备协同显示第一应用;和/或用于本文所描述的技术的其他过程。收发单元1620用于接收来自第二设备的通道建立请求;和/或用于本文所描述的技术的其他过程。处理单元1630用于响应于收发单元接收到第二设备的通道建立请求,与第二设备建立用于协同显示的通信通道;和/或用于本文所描述的技术的其他过程。
在电子设备是第二设备时,信息获取单元1640用于获取包括第一设备的设备信息和第一应用的应用信息的第一信息;和/或用于本文所描述的技术的其他过程。处理单元1630用于确定第二设备上安装有第一应用;和/或用于本文所描述的技术的其他过程。收发单元1620用于根据第一设备的设备信息向第一设备发送通道建立请求,以请求与第一设备建立用于协同显示的通信通道;和/或用于本文所描述的技术的其他过程。显示单元1610用于在用于协同显示的通信通道建立成功之后,与第一设备协同显示第一应用;和/或用于本文所描述的技术的其他过程。
在另一些实施例中,在电子设备是第一设备时,信息获取单元1640用于响应于接收到用户的第一操作,获取分布式设备的信息;和/或用于本文所描述的技术的其他过程。处理单元1630用于根据分布式设备的信息,确定用于与第一设备协同显示第一应用的第二设备;响应于收发单元接收到第二设备的通道建立请求,与第二设备建立用于协同显示的通信通道;和/或用于本文所描述的技术的其他过程。收发单元1620用于向第二设备发送携带有第一应用的应用信息的推送协同请求;以及,接收来自第二设备的通道建立请求;和/或用于本文所描述的技术的其他过程。显示单元1610用于通过用于协同显示的通信通道,与第二设备同步显示第一应用的界面;和/或用于本文所描述的技术的其他过程。
在电子设备是第二设备时,收发单元1620用于接收来自第一设备的携带有第一应用的应用信息的推送协同请求;向第一设备发送用于请求与第一设备建立用于协同显示的通信通道的通道建立请求;和/或用于本文所描述的技术的其他过程。处理单元1630用于确定第二设备上安装有第一应用;和/或用于本文所描述的技术的其他过程。显示单元1610用于在用于协同显示的通信通道建立成功之后,通过用于协同显示的通信通道,与第一设备同步显示第一应用的界面;和/或用于本文所描述的技术的其他过程。
需要说明的是,上述收发单元1620可以包括射频电路。具体的,电子设备(如第一设备或第二设备)可以通过射频电路进行无线信号的接收和发送。通常,射频电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频电路还可以通过无线通信和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***、通用分组无线服务、码分多址、宽带码分多址、长期演进、电子邮件、短消息服务等。
在一种可选的方式中,当使用软件实现数据传输时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地实现本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
结合本申请实施例所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于电子设备或云端服务器中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或云端服务器中。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在一种可选的方式中,本申请提供一种通信***,该通信***包括第一设备和第二设备,该第一设备和第二设备用于实现本申请提供的任一种可能的实现方式中的方法。
在一种可选的方式中,本申请提供一种芯片***,该芯片***包括处理器、存储器,存储器中存储有指令;当指令被处理器执行时,实现本申请提供的任一种可能的实现方式中的方法。该芯片***可以由芯片构成,也可以包含芯片和其他分立器件。
在本申请所提供的几个实施例中,应该理解到,所揭露的电子设备、云端服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (26)
1.一种分布式跨设备协同方法,其特征在于,所述方法包括:
第一设备在接收到用户的第一操作时,显示第一信息,其中,所述第一信息包括第一设备的设备信息和第一应用的应用信息,所述第一应用的应用信息用于第二设备确定所述第二设备上安装有所述第一应用;
响应于接收到所述第二设备的通道建立请求,所述第一设备与所述第二设备建立用于协同显示的通信通道,所述第一设备的设备信息用于所述第一设备在与所述第二设备建立用于协同显示的通信通道时,进行安全验证;
所述第一设备通过所述用于协同显示的通信通道,与所述第二设备协同显示所述第一应用。
2.根据权利要求1所述的方法,其特征在于,
所述第一操作包括用户触发显示协同码的操作,所述第一设备以所述协同码的方式显示所述第一信息。
3.根据权利要求2所述的方法,其特征在于,所述协同码包括协同二维码和协同条形码。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述第一应用的应用信息具体用于所述第二设备确定所述第二设备上安装有第一版本的第一应用;所述第一版本的第一应用支持应用路由服务,其中,支持应用路由服务是指具备通过所述用于协同显示的通信通道进行协同显示的能力。
5.根据权利要求1-3中任一项所述的方法,其特征在于,所述第一设备通过所述用于协同显示的通信通道,与所述第二设备协同显示所述第一应用,包括:
所述第一设备通过所述用于协同显示的通信通道,与所述第二设备同步显示所述第一应用的界面。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述第一设备通过所述用于协同显示的通信通道,与所述第二设备协同显示所述第一应用,包括:
所述第二设备通过所述用于协同显示的通信通道,控制所述第一设备显示所述第一应用的应用界面;
其中,所述第一设备上显示有所述第一应用的界面,所述第二设备上显示有所述第一应用的控制界面。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述第一操作包括以下中的任一种:
用户点击所述第一应用的界面上用于显示协同码的虚拟按钮的操作;
用户在所述第一设备显示所述第一应用的界面时,对所述第一设备的物理按键的预设按压操作;
用户在所述第一设备显示所述第一应用的界面时,在所述第一设备的触摸屏上的预设手势操作;
用户在所述第一设备显示所述第一应用的界面时,手持所述第二设备“碰一碰”所述第一设备的操作;
用户在所述第一设备显示所述第一应用的界面时,手持所述第二设备靠近所述第一设备的操作;
用户在所述第一设备显示所述第一应用的界面时,同时“摇一摇”所述第一设备和所述第二设备的操作。
8.一种分布式跨设备协同方法,其特征在于,所述方法包括:
第二设备获取第一信息,所述第一信息包括第一设备的设备信息和第一应用的应用信息,所述第一应用运行在所述第一设备中;
所述第二设备确定所述第二设备上安装有所述第一应用;
所述第二设备根据所述第一设备的设备信息向所述第一设备发送通道建立请求,以请求与所述第一设备建立用于协同显示的通信通道;
在所述用于协同显示的通信通道建立成功之后,所述第二设备与所述第一设备协同显示所述第一应用。
9.根据权利要求8所述的方法,其特征在于,所述第二设备获取第一信息,包括:
所述第二设备通过扫描所述第一设备上显示的协同码,获取所述第一信息,所述协同码中包括所述第一信息;或者,
所述第二设备从所述第一设备接收所述第一信息。
10.根据权利要求8或9所述的方法,其特征在于,所述第一应用的应用信息具体用于所述第二设备确定所述第二设备上安装有第一版本的第一应用;
所述第二设备确定所述第二设备上安装有所述第一应用,具体包括:
所述第二设备确定所述第二设备上安装有所述第一版本的第一应用,所述第一版本的第一应用支持应用路由服务,其中,支持应用路由服务是指具备通过所述用于协同显示的通信通道进行协同显示的能力。
11.根据权利要求8-10中任一项所述的方法,其特征在于,所述第二设备与所述第一设备协同显示所述第一应用,包括:
所述第二设备通过所述用于协同显示的通信通道,与所述第一设备同步显示所述第一应用的界面。
12.根据权利要求8-10中任一项所述的方法,其特征在于,所述第二设备与所述第一设备协同显示所述第一应用,包括:
所述第二设备通过所述用于协同显示的通信通道,控制所述第一设备显示所述第一应用的应用界面;
其中,所述第一设备上显示有所述第一应用的界面,所述第二设备上显示有所述第一应用的控制界面。
13.一种分布式跨设备协同方法,其特征在于,所述方法包括:
响应于接收到用户的第一操作,第一设备获取分布式设备的信息;
所述第一设备根据所述分布式设备的信息,确定第二设备;所述第二设备用于与所述第一设备协同显示第一应用;
所述第一设备向所述第二设备发送推送协同请求;所述推送协同请求中携带有所述第一应用的应用信息;所述第一应用应用信息用于所述第二设备确定所述第二设备上安装有所述第一应用;
响应于接收到所述第二设备的通道建立请求,所述第一设备与所述第二设备建立用于协同显示的通信通道;
所述第一设备通过所述用于协同显示的通信通道,与所述第二设备同步显示所述第一应用的界面。
14.根据权利要求13所述的方法,其特征在于,
所述分布式设备包括以下中的一个或多个:与所述第一设备处于同一局域网的设备,与所述第一设备建立了蓝牙或Wi-Fi直连的设备,与所述第一设备触碰的设备,与所述第一设备的距离小于预设阈值的设备,与所述第一设备同时“摇一摇”的设备。
15.根据权利要求13或14所述的方法,其特征在于,
所述第二设备是所述分布式设备中,与所述第一设备触碰的设备,与所述第一设备同时“摇一摇”的设备,或者最靠近所述第一设备的设备。
16.根据权利要求13或14所述的方法,其特征在于,所述第一设备根据所述分布式设备的信息,确定第二设备,具体包括:
所述第一设备根据所述分布式设备的信息,结合以下信息中的一个或多个,从所述分布式设备中确定所述第二设备:
所述分布式设备的屏幕的点亮情况;
所述多个分布式设备与所述第一设备之间的距离;
所述第二设备的分布式协同的历史信息。
17.根据权利要求13-16中任一项所述的方法,其特征在于,所述第一应用的应用信息包括所述第一设备期望的所述第一应用的最低版本号,所述第一应用应用信息具体用于所述第二设备确定所述第二设备上安装有第一版本的第一应用,所述第一版本的第一应用支持应用路由服务,其中,支持应用路由服务是指具备通过所述用于协同显示的通信通道进行协同显示的能力。
18.根据权利要求13-17中任一项所述的方法,其特征在于,所述第一操作包括以下中的任一种:
用户点击第一应用的界面上的用于推送协同的虚拟按钮的操作;
用户在所述第一设备显示所述第一应用的界面时,对所述第一设备的物理按键的预设按压操作;
用户在所述第一设备显示所述第一应用的界面时,在所述第一设备的触摸屏上的预设手势操作;
用户在所述第一设备显示所述第一应用的界面时,手持所述第二设备“碰一碰”所述第一设备的操作;
用户在所述第一设备显示所述第一应用的界面时,手持所述第二设备靠近所述第一设备的操作;
用户在所述第一设备显示所述第一应用的界面时,同时“摇一摇”所述第一设备和所述第二设备的操作。
19.一种分布式跨设备协同方法,其特征在于,所述方法包括:
第二设备接收来自第一设备的推送协同请求;所述推送协同请求中携带有第一应用的应用信息;所述第一应用运行在所述第一设备中;所述第二设备确定所述第二设备上安装有所述第一应用;
所述第二设备向所述第一设备发送通道建立请求;所述通道建立请求用于请求与所述第一设备建立用于协同显示的通信通道;
在所述用于协同显示的通信通道建立成功之后,所述第二设备通过所述用于协同显示的通信通道,与所述第一设备同步显示所述第一应用的界面。
20.根据权利要求19所述的方法,其特征在于,所述第一应用的应用信息包括所述第一设备期望的所述第一应用的最低版本号,所述第一应用应用信息具体用于所述第二设备确定所述第二设备上安装有第一版本的第一应用,所述第一版本的第一应用支持应用路由服务,其中,支持应用路由服务是指具备通过所述用于协同显示的通信通道进行协同显示的能力。
21.一种第一设备,其特征在于,所述第一设备包括:
存储器,用于存储计算机程序;
收发器,用于接收或发送无线电信号;
处理器,用于执行所述计算机程序,使得所述第一设备实现如权利要求1-7或13-18中任一项所述的方法。
22.一种第二设备,其特征在于,所述第二设备包括:
存储器,用于存储计算机程序;
收发器,用于接收或发送无线电信号;
处理器,用于执行所述计算机程序,使得所述第二设备实现如权利要求8-12或19-20中任一项所述的方法。
23.一种通信***,其特征在于,所述通信***包括:
如权利要求21所述的第一设备,以及,
如权利要求22所述的第二设备。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序代码,所述计算机程序代码被处理电路执行时实现如权利要求1-7、8-12、13-18或19-20中任一项所述的方法。
25.一种芯片***,其特征在于,所述芯片***包括处理电路、存储介质,所述存储介质中存储有计算机程序代码;所述计算机程序代码被所述处理电路执行时实现如权利要求1-7、8-12、13-18或19-20中任一项所述的方法。
26.一种计算机程序产品,其特征在于,所述计算机程序产品用于在计算机上运行,以实现如权利要求1-7、8-12、13-18或19-20中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011553458.1A CN114741008B (zh) | 2020-12-24 | 2020-12-24 | 分布式跨设备协同方法、电子设备及通信*** |
EP21909153.5A EP4246307A4 (en) | 2020-12-24 | 2021-12-08 | DISTRIBUTED METHOD FOR COLLABORATION ACROSS DEVICE AND ELECTRONIC DEVICE AND COMMUNICATION SYSTEM |
PCT/CN2021/136482 WO2022135156A1 (zh) | 2020-12-24 | 2021-12-08 | 分布式跨设备协同方法、电子设备及通信*** |
US18/258,472 US20240045639A1 (en) | 2020-12-24 | 2021-12-08 | Distributed cross-device collaboration method, electronic device, and communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011553458.1A CN114741008B (zh) | 2020-12-24 | 2020-12-24 | 分布式跨设备协同方法、电子设备及通信*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114741008A true CN114741008A (zh) | 2022-07-12 |
CN114741008B CN114741008B (zh) | 2024-05-03 |
Family
ID=82157345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011553458.1A Active CN114741008B (zh) | 2020-12-24 | 2020-12-24 | 分布式跨设备协同方法、电子设备及通信*** |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240045639A1 (zh) |
EP (1) | EP4246307A4 (zh) |
CN (1) | CN114741008B (zh) |
WO (1) | WO2022135156A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024012346A1 (zh) * | 2022-07-13 | 2024-01-18 | 华为技术有限公司 | 任务迁移的方法、电子设备和*** |
WO2024078417A1 (zh) * | 2022-10-12 | 2024-04-18 | 华为技术有限公司 | Nfc位置提示方法和设备 |
WO2024099170A1 (zh) * | 2022-11-09 | 2024-05-16 | 华为技术有限公司 | 通信方法、通信***及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140140242A1 (en) * | 2012-11-19 | 2014-05-22 | Lenovo (Beijing) Co., Ltd. | Method and device for connecting electronic devices |
CN104618500A (zh) * | 2015-02-15 | 2015-05-13 | 冠捷显示科技(厦门)有限公司 | 一种基于dlna的局域网应用程序数据分享的方法 |
CN105975225A (zh) * | 2016-04-26 | 2016-09-28 | 深圳Tcl数字技术有限公司 | 多屏互动连接方法、装置及*** |
CN110365657A (zh) * | 2019-06-21 | 2019-10-22 | 北京奇艺世纪科技有限公司 | 远程协助方法、装置及可读存储介质 |
CN112083867A (zh) * | 2020-07-29 | 2020-12-15 | 华为技术有限公司 | 一种跨设备的对象拖拽方法及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102092332B1 (ko) * | 2013-07-01 | 2020-04-14 | 삼성전자주식회사 | 휴대 장치 및 휴대 장치의 화면 표시 방법 |
US10628181B2 (en) * | 2017-07-19 | 2020-04-21 | Vmware, Inc. | Redirecting multimedia output of a virtual desktop to a mobile device using image scanning |
CN108235081B (zh) * | 2018-01-08 | 2020-10-16 | 武汉斗鱼网络科技有限公司 | 多屏互动方法及装置 |
US10693945B2 (en) * | 2018-01-24 | 2020-06-23 | Vmware, Inc. | File and folder redirection for virtual desktops via image scanning |
US10623500B2 (en) * | 2018-01-24 | 2020-04-14 | Vmware, Inc. | Remote desktop sharing and collaboration via image scanning |
-
2020
- 2020-12-24 CN CN202011553458.1A patent/CN114741008B/zh active Active
-
2021
- 2021-12-08 US US18/258,472 patent/US20240045639A1/en active Pending
- 2021-12-08 EP EP21909153.5A patent/EP4246307A4/en active Pending
- 2021-12-08 WO PCT/CN2021/136482 patent/WO2022135156A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140140242A1 (en) * | 2012-11-19 | 2014-05-22 | Lenovo (Beijing) Co., Ltd. | Method and device for connecting electronic devices |
CN104618500A (zh) * | 2015-02-15 | 2015-05-13 | 冠捷显示科技(厦门)有限公司 | 一种基于dlna的局域网应用程序数据分享的方法 |
CN105975225A (zh) * | 2016-04-26 | 2016-09-28 | 深圳Tcl数字技术有限公司 | 多屏互动连接方法、装置及*** |
CN110365657A (zh) * | 2019-06-21 | 2019-10-22 | 北京奇艺世纪科技有限公司 | 远程协助方法、装置及可读存储介质 |
CN112083867A (zh) * | 2020-07-29 | 2020-12-15 | 华为技术有限公司 | 一种跨设备的对象拖拽方法及设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024012346A1 (zh) * | 2022-07-13 | 2024-01-18 | 华为技术有限公司 | 任务迁移的方法、电子设备和*** |
WO2024078417A1 (zh) * | 2022-10-12 | 2024-04-18 | 华为技术有限公司 | Nfc位置提示方法和设备 |
WO2024099170A1 (zh) * | 2022-11-09 | 2024-05-16 | 华为技术有限公司 | 通信方法、通信***及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114741008B (zh) | 2024-05-03 |
EP4246307A1 (en) | 2023-09-20 |
US20240045639A1 (en) | 2024-02-08 |
WO2022135156A1 (zh) | 2022-06-30 |
EP4246307A4 (en) | 2024-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113553014B (zh) | 多窗口投屏场景下的应用界面显示方法及电子设备 | |
US11864248B2 (en) | Application function implementation method and electronic device | |
CN114741008B (zh) | 分布式跨设备协同方法、电子设备及通信*** | |
WO2021233079A1 (zh) | 一种跨设备的内容投射方法及电子设备 | |
WO2024016559A1 (zh) | 一种多设备协同方法、电子设备及相关产品 | |
WO2022057742A1 (zh) | 一种跨设备调用应用的方法及电子设备 | |
US20240086231A1 (en) | Task migration system and method | |
WO2022206770A1 (zh) | 一种设备间应用协同工作的方法及设备 | |
WO2022206627A1 (zh) | 一种功能迁移方法和装置 | |
CN114915618A (zh) | 升级包下载方法及装置 | |
JP7319431B2 (ja) | アプリケーション機能の実施方法及び電子装置 | |
WO2022206848A1 (zh) | 一种应用小部件的显示方法及设备 | |
WO2022206630A1 (zh) | 一种功能迁移方法和装置 | |
CN113835802A (zh) | 设备交互方法、***、设备及计算机可读存储介质 | |
WO2023109607A1 (zh) | 应用界面跨设备显示方法、设备*** | |
AlDuaij | Multi-Mobile Computing | |
WO2022179273A1 (zh) | 一种分布式音频播放方法及电子设备 | |
CN116700660B (zh) | 音频播放方法和电子设备 | |
CN116033592B (zh) | 蜂窝通信功能的使用方法和装置 | |
WO2023051229A1 (zh) | 用于标识设备的方法、装置、电子设备和介质 | |
WO2022206676A1 (zh) | 一种功能迁移方法和装置 | |
CN114666613A (zh) | 一种网络直播方法及电子设备 | |
CN117499780A (zh) | 一种拍照方法、电子设备及协同工作*** | |
CN117499781A (zh) | 一种拍照方法、物联网设备及协同工作*** | |
CN115250261A (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 |