CN114827639A - 多应用的分布式实现方法、可读介质及其电子设备 - Google Patents
多应用的分布式实现方法、可读介质及其电子设备 Download PDFInfo
- Publication number
- CN114827639A CN114827639A CN202110119990.0A CN202110119990A CN114827639A CN 114827639 A CN114827639 A CN 114827639A CN 202110119990 A CN202110119990 A CN 202110119990A CN 114827639 A CN114827639 A CN 114827639A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- application
- electronic
- data
- mobile phone
- 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
- 238000000034 method Methods 0.000 title claims abstract description 128
- 230000002093 peripheral effect Effects 0.000 claims abstract description 263
- 230000005540 biological transmission Effects 0.000 claims abstract description 86
- 238000005457 optimization Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 63
- 230000008569 process Effects 0.000 claims description 57
- 230000015654 memory Effects 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 8
- 230000002776 aggregation Effects 0.000 claims description 5
- 238000004220 aggregation Methods 0.000 claims description 5
- 230000009471 action Effects 0.000 claims description 2
- 238000012216 screening Methods 0.000 claims description 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 239000010410 layer Substances 0.000 description 31
- 238000004891 communication Methods 0.000 description 29
- 230000006870 function Effects 0.000 description 20
- 238000007726 management method Methods 0.000 description 20
- 230000001755 vocal effect Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 230000001360 synchronised effect Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004458 analytical method 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
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及人工智能技术领域,具体涉及一种多应用的分布式实现方法、可读介质及其电子设备。该方法包括在第一电子设备上设置分布式调度模块,基于多个电子设备的历史使用记录形成树型拓扑结构链路关系,该树型拓扑结构链路关系用于确定第一电子设备与第二电子设备之间的数据传输路径;第一电子设备基于分布式调度模块为其运行的第一应用调用第二电子设备上的第一外设组件执行第一任务;第二电子设备通过分布式调度模块响应于第一电子设备的调用;第一电子设备利用树型拓扑结构链路关系所确定的数据传输路径向第二电子设备发送第一任务数据。本申请提供了多应用的分布式实现,并且实现了数据传输路径的智能优化,数据传输效率高、时延小。
Description
技术领域
本发明涉及人工智能(Artificial Intelligence,AI)技术领域,具体涉及一种多应用的分布式实现方法、可读介质及其电子设备。
背景技术
AI的核心问题包括构建能够跟人类似甚至超卓的推理、知识、规划、学习、交流、感知、移物、使用工具和操控机械的能力等。随着AI技术的迅速发展和对多设备多应用(Application,App)实现的研究,由多个电子设备构成的虚拟超级终端也正在接入更多的电子设备以满足用户使用需求。在多设备多应用实现的过程中,各电子设备之间的网络结构关系目前主要采用各电子设备串联的环型结构、或采用多个电子设备连接同一个主机设备的星型结构。但这两种结构中,在电子设备数量较多时,环型结构中的各电子设备之间传送数据时会存在严重的时延问题,而星型结构中的主机设备与多个电子设备传送数据时会造成主机设备的资源消耗过大,而导致主机设备不堪重负的问题。
另外,目前在虚拟超级终端中用户可以任意组合各电子设备的外设组件(即计算机的外设设备)执行同一应用任务,例如图1a所示的场景,在手机上打开直播应用,手机上正在播放的直播1(视频)可以调用便携电脑和电子屏幕的显示组件同步播放该直播1。但当用户需要使用各电子设备的外设组件执行多个不同应用的应用任务时,例如,用户想通过电子屏幕播放手机上的直播1、并且通过便携电脑展示手机上运行的游戏1的应用界面时(如图1b所示),手机不能够实现同时向便携电脑和电子屏幕分别下发直播应用的显示任务和游戏应用的显示任务,即现有技术无法基于多个电子设备完成多应用的分布式实现。
发明内容
本申请实施例提供了一种多应用的分布式实现方法、可读介质及其电子设备,其中,本申请所提供的方法应用于多个电子设备组成的分布式系统,通过在电子设备的操作系统上安装独立于应用的分布式调度模块,用于形成树型拓扑结构链路关系以确定各电子设备之间的传输路径,分布式系统中的各电子设备基于该分布式调度模块实现多应用调用一个或多个电子设备的外设组件,以完成多应用的分布式实现。本申请所提供的方法能够通过分布式调度模块实现数据传输路径的智能优化,使得多应用的分布式实现过程中数据传输效率高、时延小,同时解决了现有技术中单主机资源消耗过大容易导致设备故障的问题,大大提高了用户使用体验。
第一方面,本申请实施例提供了一种多应用的分布式实现方法,应用于多个电子设备组成的分布式系统,所述多个电子设备包括第一电子设备和第二电子设备;所述方法包括:所述第一电子设备通过设置在所述第一电子设备中的独立于所述多个应用的分布式调度模块,基于所述多个电子设备的历史使用记录形成树型拓扑结构链路关系,所述树型拓扑结构链路关系用于确定所述第一电子设备与所述第二电子设备之间的数据传输路径;所述第一电子设备上运行多个应用,所述第一电子设备基于所述分布式调度模块为所述多个应用中的第一应用调用所述分布式系统中的第二电子设备上的第一外设组件执行第一任务;所述第二电子设备通过设置在所述第二电子设备中的独立于应用的分布式调度模块响应于所述第一电子设备发送的调用通知,生成并向所述第一电子设备发送所述第一外设组件对所述第一应用的订阅信息;其中,所述订阅信息用于确定所述第一应用对所述第一外设组件的调用关系;所述第一电子设备利用根据所述树型拓扑结构链路关系所确定的数据传输路径,向所述第二电子设备发送所述第一应用的所述第一任务数据;其中,所述第一任务数据用于执行所述第一应用的所述第一任务。
即在本申请的实施例中,分布式调度模块是独立于电子设备上的应用而实现的,由电子设备决定如何进行应用对外设组件的分布式调用,与应用无关。
其中,第一应用可以是第三方应用,也可以是电子设备的系统应用。
另外,运行应用的第一电子设备为主机设备,主机设备上的分布式调度模块可以基于分布式系统中各电子设备的历史使用记录来构建和/或优化树型拓扑结构链路关系,得到的树型拓扑结构链路关系作为多应用的分布式实现过程中确定数据传输路径的基础或依据。
此外,第一外设组件可以是电子设备用于采集数据的硬件组件或向用户输出信息的硬件组件,例如第一外设组件可以是摄像头、麦克风、扬声器、屏幕等硬件组件。
在上述第一方面的一种可能的实现中,上述方法还包括:所述第二电子设备基于所述第一任务数据,执行与所述第一任务相关的动作;并且,在所述第一外设组件为输入型外设的情况下,所述第一任务还包括所述第二电子设备利用根据所述树型拓扑结构链路关系所确定的数据传输路径向所述第一电子设备反馈第一采集数据;其中,所述输入型外设是用于采集数据的外设组件,所述第一采集数据为所述第一外设组件为所述第一任务所采集的数据。
即在本申请的实施例中,被调用外设组件根据其用途或具备的功能,区分为输入型外设和输出型外设两种,输入型外设是指具有采集数据功能的外设组件,例如摄像头、麦克风等;输出型外设组件是指向用户输出信息的外设组件,例如屏幕、扬声器等。第一外设组件可以是输入型外设,也可以是输出型外设。
当第一外设组件为输入型外设时,第一外设组件所采集的第一采集数据作为相应应用的应用数据反馈给运行该应用的主机设备,即上述第一电子设备。例如,第一外设组件是摄像头时,则摄像头所采集的图像数据将作为应用数据反馈给主机设备,被调用电子设备向主机设备发送应用数据基于树型拓扑结构链路关系所确定的数据传输路径。
在上述第一方面的一种可能的实现中,上述方法还包括:所述数据传输路径为:所述第一电子设备与所述第二电子设备直接连接实现数据传输,或者所述第一电子设备与所述第二电子设备之间经由至少一个其他电子设备间接连接实现数据传输。
即在本申请的实施例中,主机设备基于各电子设备的历史使用记录所形成的树型拓扑结构链路关系用于确定分布式调度过程中的数据传输路径。如果在树型拓扑结构链路关系中,主机设备与被调用电子设备直接相连,则主机设备与被调用电子设备之间的数据传输路径则为:主机设备-被调用电子设备;如果在树型拓扑结构链路关系中,主机设备与被调用电子设备之间经由至少一个其他电子设备(即中继电子设备)间接相连,则主机设备与被调用电子设备之间的数据传输路径则为:主机设备-至少一个中继电子设备-被调用电子设备。
在上述第一方面的一种可能的实现中,上述方法还包括:所述第二电子设备利用根据所述树型拓扑结构链路关系所确定的数据传输路径向所述第一电子设备反馈第一采集数据,包括:所述第二电子设备对所述第一采集数据进行添加标签处理后,利用根据所述树型拓扑结构链路关系所确定的数据传输路径向所述第一电子设备发送所述添加标签处理后的第一采集数据;其中,所述添加标签处理包括对所述第一采集数据添加所述第一应用的应用标签,以及添加所述第一外设组件的外设组件标签。
即在本申请的实施例中,如果被调用电子设备为输入型电子设备,则被调用外设组件所采集数据在被调用电子设备中须经过添加标签处理之后,再经由树型拓扑结构链路关系所确定的数据传输路径发送给主机设备。其中,对被调用外设组件所采集数据添加标签处理包括添加应用标签、添加外设组件标签等,应用标签为与被调用外设组件形成调用关系的应用程序标签。例如,第一应用为拍照应用时,被调用电子设备对其摄像头所采集的图像数据添加拍照应用标签和被调用电子设备的摄像头组件标签后,再经由树型拓扑结构链路关系所确定的数据传输路径发送给主机设备。
在上述第一方面的一种可能的实现中,上述方法还包括:所述基于所述多个电子设备的历史使用记录形成树型拓扑结构链路关系,包括:基于所述历史使用记录构建和/或优化所述树型拓扑结构链路关系;其中,所述历史使用记录包括所述分布式系统中的所述多个电子设备执行所述多个应用的应用任务的历史记录;所述多个应用包括所述第一应用,所述应用任务包括所述第一应用的所述第一任务。
即在本申请实施例中,主机设备上的分布式调度模块形成树型拓扑结构链路关系所基于的历史使用记录可以是主机设备调用其他各电子设备外设组件的历史记录,也可以是其他各电子设备之间的相互调用记录,以及分布式系统中各电子设备运行应用程序的历史记录。历史使用记录的获取可以通过电子设备上存储的应用记录等数据中获取。
在上述第一方面的一种可能的实现中,上述方法还包括:组成所述分布式系统的所述多个电子设备的数量为n,则所述基于所述历史使用记录构建所述树型拓扑结构链路关系,包括:所述第一电子设备基于所述历史使用记录,计算所述第一电子设备对所述多个电子设备中的其他电子设备的第一置信度;所述第一电子设备基于计算得到的所述第一置信度和数量阈值k筛选一阶设备;其中,所述第一数量阈值k为所述一阶设备的上限数量阈值;所述第一电子设备对筛选得到的所述一阶设备添加第一标记;所述第一电子设备计算所述j-1阶设备对所述多个电子设备中未获得所述第一标记、以及第j-1标记的电子设备的第i置信度;所述第一电子设备基于计算得到的所述第i置信度和数量阈值m筛选j阶设备;其中,所述数量阈值m为所述j阶设备的上限数量阈值;其中,n≤k+m;所述第一电子设备对筛选得到的所述j阶设备添加第j标记;并且,在所述多个电子设备全部完成添加第j标记的情况下,所述第一电子设备完成构建所述树型拓扑结构链路关系;其中,所述第一置信度为所述第一电子设备调用所述多个电子设备中的其他电子设备执行所述应用任务的频率;所述第i置信度为所述j-1阶设备调用未获得所述第一标记、以及第j-1标记的电子设备执行所述应用任务的频率。
即在本申请的实施例中,主机设备上的分布式调度模块在构建树型拓扑结构链路关系时,根据预设的一阶设备、二阶设备甚至更多阶设备数量构建树型拓扑结构,当分布式系统中的电子设备数量较少时,树型拓扑结构中可以仅包括一阶设备或二阶设备等,当分布式系统中的电子设备数量较多时,树型拓扑结构中可以包括三阶设备、四阶设备、以及更多阶设备等。其中,树型拓扑结构的构建是从一阶至多阶设备逐级形成。
在上述第一方面的一种可能的实现中,上述方法还包括:组成所述分布式系统的所述多个电子设备的数量为n,优化所述树型拓扑结构链路关系的方法包括:所述第一电子设备对所述多个设备计算1至n个电子设备组合的频繁集;其中,所述频繁集为所述1至n个电子设备组合中每个组合使用的频次与各组合使用频次的总和之间的比值;所述第一电子设备在所述频繁集中的第一频繁集符合预设条件的情况下,连接所述第一频繁集对应的n个电子设备组合中的最深节点和最浅节点进行路径优化,完成优化所述树型拓扑结构链路关系;其中,所述最深节点为所述n个电子设备组合中与所述第一电子设备的连接路径最短的电子设备,所述最浅节点为所述n个电子设备组合中与所述第一电子设备的连接路径最长的电子设备。
即在本申请的实施例中,当主机设备上的分布式调度模块完成构建树型拓扑结构后,该分布式调度模块再基于历史使用记录分别计算1个至n个电子设备组合的使用频率得到频繁集,例如,计算1个电子设备的频繁集即是计算每个电子设备独自运行各个应用的使用频率,计算2个电子设备的频繁集则是计算分布式系统中任意两个电子设备组合实现各个应用功能的使用频率,以此类推,计算n个电子设备的频繁集则是计算分布式系统中n个电子设备组合实现各个应用功能的使用频率。
另外,计算得到的频繁集符合预设条件可以包括计算得到的频繁集达到预设频率阈值。对应该频繁集的电子设备组合,根据上述分布式调度模块构建的树型拓扑结构确定该电子组合中与主机设备之间数据传输路径最短的电子设备即为最浅节点、与主机设备之间数据传输路径最长的电子设备即为最深节点。
在上述第一方面的一种可能的实现中,上述方法还包括:所述连接所述第一频繁集对应的n个电子设备组合中的最深节点和最浅节点进行路径优化,还包括:删除与所述最深节点与所述最浅节点之间的连接路径等效的其他连接路径;并且,在所述第一频繁集大于或等于预设的频繁集下限阈值的情况下,所述第一频繁集符合所述预设条件。
即在本申请的实施例中,分布式调度模块通过将确定的最浅节点与最深节点之间建立数据传输路径,并删除其他等效的数据传输路径,完成树型拓扑结构链路关系的优化。
在上述第一方面的一种可能的实现中,上述方法还包括:所述第一电子设备上运行的所述多个应用中的所述第一应用调用所述多个电子设备中的第三电子设备上的第二外设组件执行第二任务;或者,所述多个应用中的第二应用调用所述多个电子设备中的第四电子设备上的第三外设组件执行第三任务;其中,所述第二电子设备、所述第三电子设备以及所述第四电子设备可以是相同设备或者不同设备。
即在本申请的实施例中,主机设备上运行的一个应用可以调用多个电子设备上的相同或不同的外设组件完成该应用的分布式实现,主机设备上运行的多个应用也可以调用同一电子设备上的不同外设组件完成多应用的分布式实现。例如,一部手机上运行的唱吧应用可以调用多部其他手机上的麦克风和扬声器来完成唱吧应用的分布式实现。
在上述第一方面的一种可能的实现中,上述方法还包括:所述第一电子设备与所述第二电子设备之间经由至少一个其他电子设备间接连接实现数据传输,包括:所述第一电子设备与所述第二电子设备之间经由所述第三电子设备连接实现数据传输;并且,在所述第二外设组件均为输入型外设的情况下,所述第二任务还包括所述第三电子设备利用根据所述树型拓扑结构链路关系所确定的数据传输路径向所述第一电子设备反馈第二采集数据;其中,所述第二采集数据为所述第二外设组件为所述第二任务所采集的数据。
在上述第一方面的一种可能的实现中,上述方法还包括:所述第三电子设备利用根据所述树型拓扑结构链路关系所确定的数据传输路径向所述第一电子设备反馈第二采集数据,包括:所述第三电子设备对所述第二采集数据进行添加标签处理,并且,所述第三电子设备将添加标签处理后的所述第二采集数据与接收到的所述第二电子设备发送的所述添加标签处理后的第一采集数据进行聚合处理,得到聚合应用数据;所述第三电子设备根据所述树型拓扑结构链路关系所确定的数据传输路径向所述第一电子设备发送所述聚合应用数据。
即在本申请的实施例中,如果主机设备与被调用电子设备之间通过至少一个中继电子设备连接,而主机设备上运行的应用程序对被调用电子设备和中继电子设备上均有输入型外设被调用的情况下,被调用电子设备向主机设备发送的应用数据经过中继电子设备时,中继电子设备会聚合自身需要向主机设备发送的应用数据,形成聚合数据发送给主机设备。也就是说,发送给主机设备的聚合数据中包括被调用电子设备反馈的应用数据以及中继电子设备反馈的应用数据。
在上述第一方面的一种可能的实现中,上述方法还包括:所述第一电子设备中设置的所述分布式调度模块至少包括智慧链路、注册中心、订阅中心;并且,所述第一电子设备基于所述分布式调度模块为所述多个应用中的第一应用调用所述分布式系统中的第二电子设备上的第一外设组件执行第一任务,包括:所述第一电子设备通过所述智慧链路构建和/或优化所述树型拓扑结构链路关系;所述第一电子设备通过所述注册中心邀请注册所述多个电子设备上的各外设组件信息;其中,所述外设组件信息包括所述外设组件的属主信息、以及所述外设组件的使用状态信息;所述第一电子设备通过所述订阅中心获取所述第二电子设备发送的所述第一外设组件对所述第一应用的订阅信息。
在上述第一方面的一种可能的实现中,上述方法还包括:所述第二电子设备上设置的所述分布式调度模块至少包括智慧链路、注册中心、订阅中心;并且,所述第一电子设备基于所述分布式调度模块为所述多个应用中的第一应用调用所述分布式系统中的第二电子设备上的第一外设组件执行第一任务,包括:所述第二电子设备通过所述智慧链路获取所述第一电子设备发送的所述树型拓扑结构链路关系;所述第二电子设备通过所述注册中心响应于所述第一电子设备的邀请,注册所述第二电子设备上的各外设组件信息;其中,所述外设组件信息包括所述外设组件的属主信息、以及所述外设组件的使用状态信息;所述第二电子设备通过所述订阅中心响应于所述第一电子设备发送的调用通知,生成并向所述第一电子设备发送所述第一外设组件对所述第一应用的订阅信息。
即在本申请的实施例中,分布式系统中各电子设备上设置的分布式调度模块可以包括智慧链路、注册中心、订阅中心等多个功能结构,例如,分布式调度模块还包括用于处理数据的数据处理模块,该数据处理模块所处理的数据包括接收的数据和输出的数据。可以理解,上述分布式调度模块的功能结构并不构成对分布式调度模块结构的限制。
第二方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质上存储有指令,所述指令在计算机上执行时使所述计算机执行上述多应用的分布式实现方法。
第三方面,本申请实施例提供了一种电子设备,包括一个或多个处理器;一个或多个存储器;其中,所述一个或多个存储器存储有一个或多个程序,当所述一个或者多个程序被所述一个或多个处理器执行时,使得所述电子设备执行上述多应用的分布式实现方法。
第四方面,本申请实施例提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述多应用的分布式实现方法。
附图说明
图1a所示为现有技术中应用的分布式实现场景示意图。
图1b所示为本申请提供的多应用的分布式实现场景示意图。
图2所示为本申请实施例提供的多电子设备组成虚拟超级终端的场景示意图。
图3所示为本申请实施例提供的电子设备100-n中的分布式调度模块结构示意图以及分布式调度模块与主机组件以及外设组件之间的数据交互示意图。
图4a所示为本申请实施例提供的智慧链路301所构建的一种树型拓扑结构示意图。
图4b所示为本申请实施例提供的智慧链路301所构建的另一种树型拓扑结构示意图。
图4c所示为本申请实施例提供的智慧链路301所构建的另一种树型拓扑结构示意图。
图5所示为本申请实施例提供的手机100-1上运行的直播应用、音乐应用以及游戏应用的分布式实现场景示意图。
图6a所示为本申请实施例一提供的一种手机100-1的用户界面示意图。
图6b所示为本申请实施例一提供的另一种手机100-1的用户界面示意图。
图6c所示为本申请实施例一提供的另一种手机100-1的用户界面示意图。
图6d所示为本申请实施例一提供的另一种手机100-1的用户界面示意图。
图6e所示为本申请实施例一提供的另一种手机100-1的用户界面示意图。
图6f所示为本申请实施例一提供的一种平板电脑100-2的用户界面示意图。
图7所示为本申请实施例一提供的一种多应用的分布式实现方法流程图。
图8所示为本申请实施例提供的一种智慧链路310构建树型拓扑结构链路关系的方法流程示意图。
图9所示为本申请实施例一提供的一种频繁集计算过程中的示意性设备组合信息表。
图10所示为本申请实施例二提供的一种手机100-1上的拍照应用调用另一手机100-7的摄像头来采集图像的应用场景示意图。
图11所示为本申请实施例三提供的一种手机100-1调用多个电子设备的屏幕播放缓存视频的应用场景示意图。
图12所示为本申请实施例三提供的一种树型拓扑结构链路关系示意图。
图13所示为本申请实施例四提供的一种手机100-1调用多个手机的屏幕、扬声器和麦克风作为外设组件的应用场景示意图。
图14所示为本申请实施例四提供的一种树型拓扑结构链路关系示意图。
图15所示为本申请实施例提供的一种分布式操作系统的软件结构示意框图。
图16所示为本申请实施例提供的一种手机100-1的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面通过结合附图和实施方案,对本申请实施例的技术方案做进一步地详细描述。
为解决上述技术问题,本申请提供了一种多应用的分布式实现方法,在该方法中,应用在由多个电子设备组成的分布式系统(如虚拟超级终端)中,各电子设备上安装的操作系统中设置独立于应用的分布式调度模块,运行应用的电子设备(下称主机设备)基于该分布式调度模块,能够完成各电子设备的外设组件注册,并根据已注册外设组件的各电子设备的历史使用记录来构建和/或优化各电子设备之间的树型拓扑结构链路关系,该分布式调度模块还能够完成主机设备对其他各电子设备上的外设组件的调用。通过在被调用电子设备的分布式调度模块中完成被调用外设组件对主机设备所运行应用的订阅,以及分布式调度模块之间的数据同步完成调用过程,主机设备可以通过上述树型拓扑结构链路关系确定数据传输路径用于下发各应用的应用任务数据,被调用电子设备的分布式调度模块对被调用外设组件所采集的应用数据完成添加标签等处理后,也可以通过上述树型拓扑结构链路关系所确定的数据传输路径传送处理后的应用数据。本申请能够实现多应用的多个任务同时下发以及对所采集的应用数据的高效处理和传送,从而完成多应用的分布式实现,更重要的是,本申请基于各电子设备的历史使用记录来构建/或优化得到树型拓扑结构链路关系来确定数据传输路径,有效解决了上述环型或星型结构链路关系中应用数据传送过程时延大以及主机设备资源消耗过大的问题。也就是说,本申请的多应用的分布式实现过程中应用数据传送效率和传送准确率均得以提高,有利于提高用户使用体验。
图2所示为本申请实施例提供的一种多电子设备组成虚拟超级终端的场景示意图。如图2所示,在该场景中组成虚拟超级终端1000的多个电子设备100,例如电子设备100-1至100-n,其中各电子设备100上安装的操作系统中设置分布式调度模块。具体地,上述分布式调度模块可以基于历史使用记录在虚拟超级终端1000内各电子设备100之间构建树型拓扑结构链路关系,各电子设备100则为该树型拓扑结构的节点设备。
作为示例,虚拟超级终端1000中的手机100-1上运行某一个应用或多个应用(例如手机100-1上运行有直播应用、视频应用、游戏应用等)时,如果手机100-1上运行的直播应用需要调用电子屏幕100-5的屏幕、摄像头等作为外设组件分别执行显示任务以及图像采集任务时,则手机100-1可以通过其操作系统上的分布式调度模块通知电子屏幕100-5,电子屏幕100-5通过其操作系统上的分布式调度模块完成电子屏幕100-5上被调用的屏幕、摄像头等对手机100-1上直播应用的订阅,其中,屏幕属于输出型外设,则屏幕接收到其订阅的直播应用发来的应用任务数据后即可执行任务,播放显示直播画面;摄像头属于输入型外设,则电子屏幕100-5上的分布式调度模块,对摄像头所采集的图像数据(应用数据)进行添加标签处理,包括对摄像头采集的应用数据添加直播应用的应用标签以及摄像头的外设组件标签,之后电子屏幕100-5上的分布式调度模块将已添加标签的应用数据传送给手机100-1。已添加标签的应用数据传送过程是通过实时构建优化的树型拓扑结构链路关系所确定的数据传输路径实现传送,该树型拓扑结构可以由主机设备上的分布式调度模块基于历史使用记录进行构建和/或优化得到。
可以理解,在上述树型拓扑结构中,如果手机100-1与电子屏幕100-5连接,则电子屏幕100-5可以直接向手机100-1传送应用数据;如果手机100-1与电子屏幕100-5通过中继电子设备间接连接,例如智能音箱100-3作为中继电子设备,则电子屏幕100-5得到的应用数据须先传送至智能音箱100-3,再由智能音箱100-3的分布式调度模块处理后传送至手机100-1。
可以理解,中继电子设备是上述树型拓扑结构链路关系所确定的数据传输路径中被调用外设组件所属电子设备(下称被调用电子设备)与主机设备之间用于中转传送应用任务数据、应用数据等数据文件的电子设备。因此,中继电子设备用于接收并复制发送被调用电子设备发送过来的应用数据,或者在接收被调用电子设备发送过来的应用数据后聚合自身所采集及处理后的应用数据,而得到聚合应用数据,再向主机设备发送上述聚合应用数据。具体地,中继电子设备接收到被调用电子设备发来的带有应用标签和外设组件标签的应用数据后,根据该中继电子设备对该应用标签所指应用的订阅情况,判断是否需要聚合自身外设组件采集处理得到的应用数据。数据聚合的方式,例如可以是将两个数据分别解压缩之后复制在同一文件夹下再进行压缩等方式,在此不做限制。若需要聚合数据,则中继电子设备聚合数据后继续传送聚合后的应用数据,若不需要聚合数据,则中继电子设备转送接收到的被调用电子设备发来的应用数据即可。例如,作为中继电子设备的智能音箱100-3的麦克风(或拾音器)也被手机100-1调用作为外设组件,则智能音箱100-3上的分布式调度模块将其采集的音频数据添加直播应用的应用标签和麦克风的外设组件标签后,与接收到的电子屏幕100-5发送来的已添加标签的应用数据进行聚合,之后再将聚合后的应用数据传送至手机100-1。手机100-1接收到上述聚合后的应用数据后,根据其中的应用标签和外设组件标签判断其中的图像、音频数据分别归属于哪个应用,以及识别其由哪个电子设备的哪个外设组件采集得到等,并进行数据归类及使用等。
可以理解,主机设备上的某个应用可以调用多个电子设备上的外设组件完成该应用的分布式实现,主机设备上的多个应用也可以调用同一电子设备上的不同外设组件完成各应用的分布式实现,在此不做限制。
可以理解,上述历史使用记录包括但不限于用户对各电子设备的使用频率、对各电子设备上外设组件的调用频率、以及主机设备上运行的各应用的类型以及各应用调用其他设备的外设组件的任务类型和调用频率等。各电子设备100上的外设组件包括但不限于用于采集数据的输入型外设,例如摄像头、麦克风等,以及用于输出数据供用户使用的输出型外设,例如屏幕、扬声器等。
由于各电子设备100上都安装有相同的用于实现外设组件调用的分布式调度模块并且各分布式调度模块数据同步,则由主机设备构建并同步至各电子设备100中的树型拓扑结构、各电子设备100上被调用外设组件对应用的订阅情况等信息均同步并相同。此外,用于实现外设组件调用的分布式调度模块均设置在各电子设备的操作系统的非应用层(如框架层或者系统服务层),故主机设备上各应用(包括系统应用和第三方应用)需要调用其他电子设备的外设组件执行相应的应用任务时,无需采集其他电子设备的外设组件信息等,只需通过电子设备上的分布式调度模块之间同步订阅数据即可实现。可以理解,各电子设备100上的分布式调度模块之间可以通过底层网路或通信模块实现数据同步。
其中,上述底层网路或通信模块包括但不限于分布式软总线、无线保真(Wireless-Fidelity,WIFI)、无线局域网(Wireless Local Area Network,WLAN)、蓝牙(Bluetooth,BT)、或者全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE)等。其中,分布式软总线是在1+8+N设备(1为手机;8代表车机、音箱、耳机、手表、手环、平板、大屏、个人计算机(personal computer,PC)、增强现实(Augmented Reality,AR)、虚拟现实(Virtual Reality,VR);N泛指其他物联网(Internet of Things,IOT)设备)之间搭建一条“无形”的总线,其具备自动发现、即连即用、自组网(异构网络组网)、高带宽、低时延、可靠性高等特点;另外,分布式软总线335还能够在蓝牙、无线保真(Wireless-Fidelity,WIFI)等异构网络之间共享文件(例如一方面通过蓝牙接收文件,另一方面通过WIFI传输文件)。也就是说,通过分布式软总线技术,上述各电子设备100之间不仅可以实现全部数据的共享,还可以与其在同一局域网络或与其通过蓝牙连接的任意设备实现即时互联。
可以理解,上述电子设备100包括但不限于膝上型计算机、台式计算机、平板计算机、智能音箱、手机、可穿戴设备、头戴式显示器、大屏显示设备(包括大屏电视、大屏显示器等)、车载电脑、车载语音导航等车载智能系统以及智能机器人、便携式音乐播放器、阅读器设备以及其中嵌入或耦接有一个或多个处理器的能够访问网络的其他电子设备。下面为了便于描述,在图2所示的场景中,以电子设备100-1至100-5分别为手机100-1、平板电脑100-2、智能音箱100-3、便携电脑100-4、电子屏幕100-5为例进行描述。
可以理解,本申请的技术方案所适用的多电子设备场景可以包括任意数量的电子设备,不限于上述示例的5个,在此不做限制。
图3示出了电子设备100-n中的分布式调度模块结构示意图以及分布式调度模块与主机组件以及外设组件之间的数据交互示意图。如图3所示,以电子设备为手机100-1和平板电脑100-2为例,手机100-1具有主机组件101、外设组件102,手机100-1安装的操作系统中设置有分布式调度模块300;平板电脑100-2具有主机组件201、外设组件202,平板电脑100-2安装的操作系统中设置有同样的分布式调度模块300,并且手机100-1和平板电脑100-2上的分布式调度模块300之间数据同步。其中,主机组件101或主机组件201分别包括作为计算中心的处理器、以及存储应用程序及应用数据的程序存储器和数据存储器等;外设组件102或外设组件202分别包括输入型外设麦克风、摄像头等,以及输出型外设扬声器、屏幕等,在此不再赘述。上述分布式调度模块300包括智慧链路301、注册中心302、订阅中心303、通信模块304以及数据处理模块310。
下面分别介绍分布式调度模块300中的上述各结构。
智慧链路301,是分布式调度模块300的智能控制调度中心,用于在虚拟超级终端1000中的各电子设备之间构建和/或优化树型拓扑结构链路关系,该链路关系建立后即作为各电子设备之间确定数据传输路径的基础。具体地,智慧链路301可以根据组成虚拟超级终端1000的电子设备100的数量、历史使用记录、设备类型以及各电子设备所具有的外设组件配置信息等构建和/或优化各电子设备之间的树型拓扑结构链路关系,以达到减少多应用的分布式实现过程中应用数据的传送时延以及降低主机设备资源消耗的目的。可以理解,在虚拟超级终端1000中,可以由主机设备的智慧链路301完成构建和/或优化树型拓扑结构链路关系,并同步至其他电子设备的智慧链路301中。智慧链路301基于历史使用记录构建和/或优化树型拓扑结构的具体方法将在下文详细描述,在此不再赘述。
作为示例,在图2所示的场景中,智慧链路301构建的树型拓扑结构的示例性结构可以参考图4a-4c所示。在图4a所示的树型拓扑结构中,手机100-1与平板电脑100-2、智能音箱100-3、便携电脑100-4相连,手机100-1与电子屏幕100-5通过作为中继电子设备的平板电脑100-2相连;在图4b所示的树型拓扑结构中,手机100-1与平板电脑100-2、便携电脑100-4相连,手机100-1与智能音箱100-3之间通过作为中继电子设备的便携电脑100-4相连,手机100-1与电子屏幕100-5通过作为中继电子设备的平板电脑100-2相连;在图4c所示的树型拓扑结构中,手机100-1与平板电脑100-2、便携电脑100-4相连,手机100-1与智能音箱100-3、电子屏幕100-5之间均通过作为中继电子设备的平板电脑100-2相连。
可以理解,如果主机设备是手机100-1,则在各电子设备的分布式调度模块300之间的数据同步过程中,手机100-1的智慧链路301所构建和/或优化的树型拓扑结构链路关系亦同步至其他电子设备中。智慧链路301上的树型拓扑结构链路关系主要用于确定各电子设备的分布式调度模块300之间应用任务数据以及应用数据等的数据传输路径,实现数据的准确高效传送。
注册中心302,用于注册并管理各电子设备100上的外设组件信息,包括对虚拟超级终端1000中新加入电子设备的外设组件的注册、对现有已注册的外设组件的动态使用信息进行标记以及在电子设备退出虚拟超级终端1000时对其外设组件的注销注册等管理操作。可以理解,在各电子设备的分布式调度模块300之间的数据同步过程中,各注册中心302上的外设组件信息等数据亦完成同步。
例如,在图2所示的虚拟超级终端1000中,手机100-1的注册中心302上分别注册有平板电脑100-2、智能音箱100-3、便携电脑100-4以及电子屏幕100-5的屏幕、扬声器、摄像头、麦克风或者拾音器等外设组件信息,外设组件信息中包括其所属电子设备的设备信息,例如平板电脑100-2的摄像头信息中包括平板电脑100-2的身份识别信息或设备编码信息等以作区别。
订阅中心303,是多应用的分布式实现过程中实现外设组件调用的核心模块,用于获取并响应主机设备上调用某个电子设备的外设组件来执行某一应用任务的通知,被调用电子设备上的订阅中心303用于完成被调用外设组件对其相应应用的订阅,包括订阅该应用运行过程产生的应用任务数据等。当被调用电子设备中的输出型外设被调用时,被调用电子设备可以从其上游与之相连的电子设备(下称上游电子设备)获取应用任务数据以及相应的待播放音频或视频数据等,上游电子设备为智慧链路301所提供的链路关系中向被调用电子设备发送数据的主机设备或中继电子设备。可以理解,在各电子设备的分布式调度模块300之间数据同步的过程中,各订阅中心303中更新的各外设组件对各应用的订阅数据完成同步。
例如,在图4a所示的树型拓扑结构中,如果手机100-1上运行的直播应用中的直播需要调用平板电脑100-2的屏幕展示直播内容时,手机100-1向平板电脑100-2发送调用信息,平板电脑100-2接收到该调用信息后,在其订阅中心303中完成平板电脑100-2的屏幕对上述直播应用的订阅,之后该订阅结果同步共享至手机100-1、平板电脑100-2、智能音箱100-3、便携电脑100-4以及电子屏幕100-5上的订阅中心303。上述手机100-1向平板电脑100-2发送调用信息由用户操作手机100-1的界面触发,其操作过程将在下文详细描述,在此不再赘述。
通信模块304,用于提供底层网路或其他通信连接方式,使虚拟超级终端1000中的各电子设备之间建立网络连接,以实现各电子设备上的分布式调度模块300之间的数据同步,以及按照智慧链路301提供的链路关系所确定的数据传送路径传送应用任务数据以及应用数据等数据。其中,通信模块304所提供的底层网路或其他通信连接方式参考上述图2中相关描述,在此不再赘述。
数据处理模块310,用于接收调用通知、邀请注册通知等,进行处理后发送给分布式调度模块300中相应的模块进一步响应或处理,例如,数据处理模块310在接收调用通知并识别该通知内容后发送至订阅中心303进行进一步处理;数据处理模块310还用于接收应用任务数据以及用于对待传送的应用数据进行加工处理等,包括对待传送的应用数据添加应用标签及外设组件标签等,处理后的应用数据再按照上述智慧链路301提供的链路关系所确定的数据传送路径进行数据传送。其中,数据处理模块310分别连接上述智慧链路301、注册中心302、订阅中心303以及通信模块304,数据处理模块310还连接其所属电子设备的主机组件和外设组件。例如,在平板电脑100-2中,数据处理模块310可以对外设组件202中的摄像头为手机100-1上运行的直播应用采集的应用数据添加直播应用标签、以及平板电脑100-2的摄像头标签后,调用智慧链路301中的树型拓扑结构链路关系确定数据传送路径,传送上述已添加标签的应用数据。作为主机设备的手机100-1中的数据处理模块310接收到上述已添加标签的应用数据后,基于该数据中的平板电脑100-2上的摄像头外设组件标签判断该数据是否来自手机100-1调用的平板电脑100-2的摄像头,并基于该数据中的应用标签将该数据归入直播应用的应用数据库中进行后续处理。
可以理解,数据处理模块310处理后得到的应用任务数据或应用数据等,可以发送给智慧链路301,由智慧链路301按照其构建和/或优化得到的树型拓扑结构链路关系所确定的数据传输路径传送数据;在另一些实施例中,数据处理模块310也可以调用智慧链路301中的树型拓扑结构链路关系,并按照该数据传输路径通过通信模块304传送应用任务数据或应用数据等,在此不做限制。
可以理解,上述图3所示的分布式调度模块300的结构并不构成对分布式调度模块300的具体结构限制,在另一些实施例中,分布式调度模块300可以具有更多或者更少的结构,上述分布式调度模块300的各组成结构也可以是其他具有上述功能的软件模块,在此不做限制。
基于上述图3所描述的分布式调度模块300的结构,下面将进一步结合附图及具体实施场景详细介绍本申请的技术方案。
实施例一
本实施例将通过手机100-1上运行的直播应用、音乐应用以及游戏应用的分布式实现场景,详细介绍本申请的多应用的分布式实现方法,以及树型拓扑结构的构建方法。
图5示出了手机100-1上运行的直播应用、音乐应用以及游戏应用的分布式实现场景示意图。如图5所示,该场景包括虚拟超级终端1000中的手机100-1、智能音箱100-3和电子屏幕100-5。其中,作为主机设备的手机100-1上运行有直播应用、音乐应用和游戏应用。若用户希望在电子屏幕100-5上播放手机100-1上直播应用所播放的直播1(视频)、使用智能音箱100-3播放手机100-1上音乐应用所播放的音乐1、以及继续在手机100-1显示游戏应用的游戏界面玩游戏,则需要通过操作手机100-1界面触发分布式调度模块(例如,如图3所示的分布式调度模块300)来完成上述多个应用的分布式实现。
作为示例,用户可以通过图6a至图6f所示的手机100-1的用户界面示意图进行相应的操作。如图6a所示,当用户想使用其他电子设备的外设组件时,可以由手机100-1的右边缘滑动拉出侧拉悬浮菜单(即图6a中的操作①),点击菜单中的“外设组件”按钮(即图6a中的操作②),弹出图6b所示“组件列表”菜单栏。在另一些实施例中,上述“外设组件”按钮也可以设置在手机100-1的下拉菜单或者手机100-1的左边缘的侧拉悬浮菜单等,在此不做限制。进入图6b所示的“组件列表”菜单栏后,选择任意电子设备下的外设组件图标点击即可,例如点击平板电脑100-2的屏幕(即图6b中的操作③),被选中的外设组件图标可以变换图标颜色以指示被调用状态,例如屏幕图标被点击选中后变换为蓝色或者灰色等,在此不做限制。
可以理解,当可调用的电子设备较多时,上述“组件列表”菜单栏可以在同一界面上仅展示两个或三个电子设备的外设组件图标,如图6b展示平板电脑100-2和智能音箱100-3的外设组件图标,用户可以再通过点击左右切换按钮(即图6b中的操作④)、或者左右滑动手机100-1的屏幕(即图6b中的操作⑤)以切换至“组件列表”菜单栏的下一界面展示智能音箱100-3和便携电脑100-4的外设组件(参考图6c所示)。在另一些实施例中,“组件列表”菜单栏的界面展示方式还可以是其他形式,例如以外设组件类型进行分类展示等形式,在此不做限制。
在图6b和图6c所示的界面中,用户还可以通过点击“组件列表”菜单栏左下角的“设备管理”按钮(即图6b所示的操作⑥),进入图6d所示界面以查看可供调用外设组件的电子设备情况。如图6d所示,已经在注册中心302完成外设组件注册的电子设备可以标记为“已注册”,如图6d中的智能音箱100-3、便携电脑100-4以及电子屏幕100-4等;当前被调用的电子设备可以标记为“已连接”,如图6d中的平板电脑100-2等,用户还可以通过图6d所示的操作⑦查看详细连接信息,包括详细的外设组件调用信息等;若主机设备发现其他电子设备加入当前虚拟超级终端1000中,则主机设备可以主动邀请该电子设备进行注册,如图6d所示,手机100-1发现平板电脑100-6,可以通过操作⑧点击“邀请注册”按钮邀请平板电脑100-6在注册中心302完成外设组件信息的注册等操作。在另一些实施例中,对各电子设备及其外设组件的管理和注册等操作也可以设置为其他形式的界面,不限于上述图6d所示的形式,在此不做限制。
当用户进行上述操作③时,手机100-1上可以弹出确认通知,通知内容可以参考图6e所示的“请确认是否将切换至平板电脑的屏幕播放视频?”,点击“确认转换”按钮进行屏幕转换,点击“关闭”则可以取消切换屏幕的操作。当用户进行上述操作⑧时,被邀请的平板电脑100-6上可以显示确认通知,通知内容可以参考图6f所示的“是否接受手机100-1的邀请,注册外设组件?”,点击“接受邀请”按钮进行注册,点击“拒绝邀请”则可以拒绝注册。在另一些实施例中,上述确认通知的形式及其内容可以设置为其他,在此不做限制。
可以理解,为了便于理解本方案的实现逻辑,在一个虚拟超级终端1000中,可以默认第一个按照图6d所示的操作⑧发起“邀请注册”邀请其他电子设备100-n进行外设组件注册的设备为主机设备,并且在该虚拟超级终端1000中,由主机设备上的智慧链路301完成树型拓扑结构链路关系的构建和/或优化,得到的树型拓扑结构链路关系同步更新至其他电子设备100-n上的智慧链路中。在另一些实施例中,也可以通过其他判断条件来确定虚拟超级终端1000中的主机设备,在此不做限制。
基于上述图5所示的应用场景,下面结合具体的分布式实现方法的交互流程图来详细介绍多应用的分布式实现过程。
图7示出了本实施例的一种多应用的分布式实现方法流程图。图7所示的各步骤为手机100-1的处理器运行相应程序实现分布式调度模块300中各结构的功能实现。
具体地,如图7所示,本实施例的多应用的分布式实现方法包括以下步骤:
701:获取用户为当前界面上的应用选择外设组件进行调用的指令,向被调用电子设备发送外设组件调用通知。具体地,手机100-1的处理器运行相应程序实现上述数据处理模块310的功能,获取用户操作手机100-1界面产生的外设组件调用指令,并通过通信模块304将该调用指令广播发送给被调用电子设备。
例如,在图5所示的应用场景中,用户可以参考上述图6a至图6f所示的界面及相应操作来选择电子屏幕100-5的屏幕、扬声器、麦克风作为手机100-1上运行的直播应用的外设组件,用于播放直播1以及采集用户语音;选择智能音箱100-3的扬声器作为手机100-1上运行的音乐应用的外设组件,用于播放音乐1;以及默认选择手机100-1的屏幕、扬声器和麦克风作为游戏应用的外设组件,用于展示该游戏应用的游戏界面、声音以及采集用户语音。手机100-1在检测到用户的选择操作(例如图6b中的操作③)指令后生成相应的外设组件调用通知对应的发送给电子屏幕100-5和智能音箱100-3。
702:获取被调用电子设备同步的外设组件对相应应用的订阅信息。具体地,手机100-1的处理器运行通信模块304的功能实现各订阅中心之间的数据同步,以获取被调用电子设备同步的外设组件对相应应用的订阅信息上述订阅信息。其中,被调用电子设备的处理器运行相应程序实现订阅中心303的功能,完成被调用外设组件对相应应用的订阅并生成订阅信息。
例如,在图5所示的应用场景中,被调用的智能音箱100-3的订阅中心303上完成智能音箱100-3的扬声器对音乐应用的订阅,生成相应的订阅信息;被调用的电子屏幕100-5的订阅中心303上完成电子屏幕100-5的屏幕、扬声器、麦克风对直播应用的订阅,生成相应的订阅信息。之后手机100-1的通信模块304实现各订阅中心303之间的数据同步,获取智能音箱100-3的外设组件对音乐应用的订阅信息、以及电子屏幕100-5的外设组件对直播应用的订阅信息。
703:基于树型拓扑结构链路关系所确定的数据传输路径,向被调用电子设备发送应用任务数据。具体地,手机100-1的处理器运行相应程序实现上述数据处理模块310的功能,通过调用智慧链路301所构建的树型拓扑结构链路关系确定数据传输路径,通过采用广播或组播的方式传送各应用的应用任务数据至被调用电子设备,其中,应用任务数据中包括应用标签,被调用电子设备能够通过应用标签识别所接收的数据是否为其外设组件所订阅的应用任务数据。
可以理解,手机100-1可以向上述链路关系中每个与之连接的电子设备同时发送同一应用或多个应用的应用任务数据,这种发送数据的方式即为广播方式。另外,手机100-1向多个被调用电子设备同时发送同一应用或多个应用的应用任务数据的方式为组播方式。如果接收应用任务数据的电子设备是中继电子设备,则该中继电子设备在识别其所订阅应用的应用任务数据的同时,还需将接收到的应用任务数据继续传送给上述链路关系中与该中继电子设备连接的其他电子设备。其中,智慧链路301构建上述链路关系的方法将在下文详细介绍,在此不再赘述。
例如,在图5所示的应用场景中,如果智慧链路301所构建的树型拓扑结构链路关系如图4a所示,则手机100-1可以将直播应用的应用任务数据、音乐应用的应用任务数据通过图4a所示的链路关系同步发送给平板电脑100-2、智能音箱100-3以及便携电脑100-4,平板电脑100-2、智能音箱100-3以及便携电脑100-4接收到上述应用任务数据后根据其中的应用标签信息等识别是否是其外设组件所订阅应用的应用任务数据,其中,智能音箱100-3的扬声器订阅了音乐应用,因此智能音箱100-3在接收到音乐应用的应用任务数据后进行进一步处理,例如启动扬声器及相关音乐播放组件播放手机100-1正在播放的音乐1、以及继续获取其他待播放音乐数据等。平板电脑100-2、便携电脑100-4上没有外设组件订阅直播应用、音乐应用的应用任务数据,因此,二者在接收到上述应用任务数据后不进行处理或者作为中继电子设备继续将其广播给其他电子设备。其中,平板电脑100-2作为手机100-1与电子屏幕100-5之间的中继电子设备,平板电脑100-2接收到直播应用、音乐应用的应用任务数据后复制并继续发送给电子屏幕100-5。电子屏幕100-5的屏幕、扬声器、麦克风订阅了直播应用,因此,电子屏幕100-5在接收到直播应用的应用任务数据后进行进一步处理,例如启动屏幕、扬声器、麦克风等相关视频播放组件以及音频采集组件等播放手机100-1正在直播的直播1、以及继续获取其他待播放的直播数据等。在另一些实施例中,智慧链路301所构建的树型拓扑结构链路关系还可以如图4b、图4c所示的其他结构形式的链路关系,在此不做限制。
704:判断被调用外设组件中是否包括输入型外设。若是,则进行步骤705;若否,则本次流程结束。具体地,手机100-1的处理器运行相应程序实现上述数据处理模块310的功能,如果被调用外设组件中包括输入型外设,例如摄像头、麦克风等,则需要对该输入型外设采集的应用数据添加应用标签及相应的外设组件标签后,通过调用智慧链路301上的树型拓扑结构链路关系确定数据传输路径以直接或间接向主机设备传送上述添加标签后的应用数据,其中,上述应用数据的传送方式采用单播方式,即该应用数据仅单一传送至中继电子设备或者主机设备。并且在应用数据的传送过程中,如果中继电子设备上有输入型外设被调用,则该中继电子设备还应聚合其输入型外设所采集的应用数据,之后再继续按照链上述数据传输路径传送聚合后的应用数据。如果被调用的外设组件中仅包括输出型外设,例如屏幕、扬声器等,则被调用电子设备无需向主机设备传送应用数据。
例如,在图5所示的应用场景中,如果智慧链路301所构建的树型拓扑结构链路关系如图4a所示,则智能音箱100-3接收到音乐应用的应用任务数据后,启动其被调用的扬声器及相关音乐播放组件播放手机100-1中的音乐应用播放的音乐1即可,由于扬声器属于输出型外设,因此智能音箱100-3无需向手机100-1传送应用数据。电子屏幕100-5接收到平板电脑100-2传送过来的直播应用的应用任务数据后,启动其被调用的屏幕、扬声器、麦克风播放手机100-1中的直播应用播放的直播1,由于麦克风属于输入型外设,因此,电子屏幕100-5需要对其麦克风采集到的音频数据(即应用数据)添加直播应用的应用标签和麦克风的外设组件标签后,经平板电脑100-2传送给手机100-1,在此过程中,如果手机100-1的直播应用还调用了平板电脑100-2的摄像头作为外设组件,则平板电脑100-2接收到上述添加标签后的应用数据后还应将其摄像头采集的图像数据同样添加应用标签和外设组件标签后与之进行聚合,得到聚合后的应用数据传送给手机100-1。在另一些实施例中,智慧链路301所构建的树型拓扑结构链路关系还可以是如图4b、图4c所示的其他结构形式的链路关系,在此不做限制。
705:基于树型拓扑结构链路关系所确定的数据传输路径,获取经添加标签等处理后的应用数据。本次流程结束。具体地,手机100-1的处理器运行相应程序实现上述数据处理模块310的功能,对经过智慧链路301提供的链路关系所确定的数据传输路径传送过来的应用数据进行处理、存储以及使用,根据其中的应用标签确定该应用数据应当处理给哪个应用,根据其中的外设组件标签确定是哪个电视设备的哪种外设组件标签所采集。其中,该应用数据可能是被调用电子设备直接发来的已添加标签的应用数据,也可能是中继电子设备直接复制传送过来的已添加标签的应用数据,另外还有可能是中继电子设备聚合其输入型外设所采集的数据后得到的聚合后的应用数据,在此不做限制。
例如,在图5所示的应用场景中,如果智慧链路301所构建的链路关系如图4a所示,手机100-1可以获取经平板电脑100-2传送的已添加直播应用标签和麦克风的外设组件标签的应用数据,该应用数据由电子屏幕100-5的麦克风采集并经过电子屏幕100-5的数据处理模块310进行添加上述标签的处理后得到的。在另一些实施例中,如果智慧链路301构建的链路关系如图4b所示,则手机100-1可以获取经平板电脑100-2传送的应用数据,同样该应用数据来自电子屏幕100-5的采集及处理,在此不再赘述。可以理解,智慧链路301构建的链路关系还可以是其他结构的链路关系,例如图4c所示的链路关系等,在此不做限制。
基于上述图2所示的虚拟超级终端1000以及图4a至图4c所示的链路关系,下面结合附图详细介绍智慧链路310构建树型拓扑结构链路关系的具体方法。
图8示出了智慧链路310构建树型拓扑结构链路关系的方法流程示意图。需要说明的是,在图8所示的流程图中,所有步骤的执行均通过智慧链路301来实现。
如图8所示,该方法包括以下步骤:
801:计算虚拟超级终端1000中主机设备对其他电子设备100-n的第一置信度。其中,该电子设备100-n为接受主机设备邀请注册并完成外设组件注册的电子设备。
具体地,手机100-1的处理器通过运行程序实现上述智慧链路301的功能,可以从手机100-1的内存中获取手机100-1及各电子设备100的历史使用记录,包括应用信息、外设组件调用信息以及各电子设备信息等,智慧链路301可以基于获取到的上述历史使用记录计算手机100-1对各电子设备100的第一置信度。其中,置信度又称为可靠度、置信水平或置信系数,是用于表征使用频率的特征值。在另一些实施例中,也可以通过计算能够表征各电子设备使用频率的其他特征值进行分析,在此不做限制。
上述第一置信度的计算公式参考下列公式(1):
其中,P(XY)表示Y设备和X设备的外设组件均被使用的频率,P(Y)表示Y设备调用其自身的外设组件使用的频率,P(X|Y)表示Y设备调用X设备的外设组件使用的频率。在本步骤计算主机设备对其他电子设备100-n的第一置信度计算中,Y代表手机100-1,X代表其他电子设备100-n中的任一设备。
例如,在图2所示的虚拟超级终端1000中,参考上述公式(1)手机100-1的智慧链路301可以基于手机100-1、平板电脑100-2、智能音箱100-3、便携电脑100-4以及电子屏幕100-5的历史使用记录,来分别计算手机100-1对平板电脑100-2、智能音箱100-3、便携电脑100-4以及电子屏幕100-5的第一置信度。例如,计算得到手机100-1对平板电脑100-2的第一置信度为0.3、手机100-1对智能音箱100-3的第一置信度是0.22、便携电脑100-4的第一置信度是0.25。以及电子屏幕100-5的第一置信度是0.15。
可以理解,历史使用记录中手机100-1对某个电子设备的外设组件调用频率越高,计算得到的第一置信度也越高。
802:基于计算得到的第一置信度由高到低进行排序,并依排序结果选择k个一阶设备与主机设备相连,建立一阶k叉树。具体地,手机100-1的处理器通过运行程序实现上述智慧链路301的功能,根据设置的k值构建一阶设备与主机设备之间的k叉树。其中,一阶设备为第一置信度由高到低序列中前k个电子设备,为了便于区分,智慧链路301可以为每个一阶设备添加第一标记,该第一标记也可以称为一阶叶子节点标记,在此不做限制。
可以理解,k值的设定可以根据虚拟超级终端1000中电子设备100的数量以及实际需求来确定,k值决定了智慧链路301最终构建的树型拓扑结构的网络复杂程度,k值越大,主机设备与其他电子设备之间的数据同步时延越小,树型拓扑结构也就越复杂,当电子设备的数量较多时,k值越大亦可能造成主机设备的资源消耗增大。因此,k值根据实际情况合理设定。
例如,在图2所示的虚拟超级终端1000中,通过上述步骤801计算得到手机100-1对平板电脑100-2的第一置信度为0.3、手机100-1对智能音箱100-3的第一置信度是0.22、便携电脑100-4的第一置信度是0.25。以及电子屏幕100-5的第一置信度是0.15。如果设定k值为3,则可以从上述第一置信度由高到低的序列中选择出3个一阶设备,即平板电脑100-2、便携电脑100-4和智能音箱100-3,这3个一阶设备与主机设备手机100-1连接,可以构成图4a中第一阶所示的三叉树;如果k值设定为2,则可以从上述置信度由高到低的序列中选择出2个一阶设备,即平板电脑100-2和便携电脑100-4,这两个一阶设备与主机设备手机100-1连接,可以构成图4b或图4c中第一阶所示的二叉树。在另一些实施例中,k值也可以合理设定为其他数值,在此不做限制。
803:计算一阶设备中每个设备对其他未标记电子设备的第二置信度,并分别按照第二置信度排序结果选择出与各一阶设备连接的m个二阶设备,建立二阶m叉树。具体地,手机100-1的处理器通过运行程序实现上述智慧链路301的功能,根据设置的m值构建二阶设备与上述一阶设备之间的m叉树。其中,二阶设备为上述一阶设备对其他未标记电子设备100-n的第二置信度序列中置信度最高的m个电子设备,为了便于区分,智慧链路301可以为每个二阶设备添加第二标记,或称为二阶叶子节点标记。可以理解,在计算一阶设备对其他未标记电子设备的第一置信度时,可以按照步骤801中得到的第一置信度序列由高到低依次计算,也可以设定其他计算顺序,在此不做限制。
本步骤中的置信度的计算公式参考上述公式(1),在本步骤中,上述公式(1)中的Y代表上述一阶设备,X代表其他未标记的电子设备100-n。
例如,在图2所示的虚拟超级终端1000中,当k值为3时,依次分别计算3个一阶设备平板电脑100-2、便携电脑100-4和智能音箱100-3对未标记的电子屏幕100-5的第二置信度,例如设置m值为1,计算得到平板电脑100-2对电子屏幕100-5的第二置信度为0.13,则可以构建出图4a中第二阶所示的一叉树。在一些实施例中,还可以设置第二置信度的下限阈值,例如,第二置信度的下限阈值设置为0.1,则当计算得到一阶设备对某个未标记电子设备的第二置信度低于0.1时,可以认为二者之间无调用关系。作为示例,例如图4a所示结构中平板电脑100-2对电子屏幕100-5的第二置信度为0.09,则可以认为平板电脑100-2与电子屏幕100-5之间无调用关系,因此可以继续计算便携电脑100-4对电子屏幕100-5的第二置信度,若大于0.1,则电子屏幕100-5可以作为便携电脑100-4的二阶设备与之连接。
在另一些实施例中,当k值为2时,依次分别计算2个一阶设备平板电脑100-2、便携电脑100-4对未标记的智能音箱100-3、电子屏幕100-5的第二置信度,如果m值设置为1,并且计算得到平板电脑100-2对电子屏幕100-5的第二置信度为0.22、便携电脑100-4对智能音箱100-3的第二置信度为0.15,则可以构建出图4b中第二阶所示的一叉树;如果m值设置为2,并且计算得到平板电脑100-2对智能音箱100-3的第二置信度为0.18、平板电脑100-2对电子屏幕100-5的第二置信度为0.15,则可以构建出图4c中第二阶所示的二叉树。在另一些实施例中,m值可以设置为其他数值,在此不做限制。
804:判断是否完成全部电子设备100的叶子节点标记,完成构建树型拓扑结构。若是,则进行步骤805;若否,则返回步骤803。具体地,手机100-1的处理器通过运行程序实现上述智慧链路301的功能,筛选未标记叶子节点标记的电子设备,如果还存在未标记叶子节点标记的电子设备,则判断结果为否,重复执行上述步骤803,继续计算二阶设备对未标记电子设备100-n的第i置信度,建立三阶x叉树以及多阶y叉树,其中,x,y为各阶设备的数量阈值,再重复进行本步骤804,直到全部已注册外设组件的电子设备100完成叶子节点标记。其中,叶子节点标记包括一阶叶子节点标记(即第一标记)、二阶叶子节点标记(即第二标记)、…、j阶叶子节点标记(即第j标记),在此不做限制。
例如,在图2所示的虚拟超级终端1000中,当已注册外设组件的平板电脑100-2、智能音箱100-3、便携电脑100-4以及电子屏幕100-5上全部完成叶子节点标记后,则进行下述步骤805。例如,图4a所示的电子屏幕100-5未完成标记二阶叶子节点的情况下、或者图4b、图4c所示的智能音箱100-3、电子屏幕100-5未完成标记二阶叶子节点的情况下,均须进行上述步骤803。在另一些实施例中,如果虚拟超级终端1000中已注册外设组件的电子设备数量较少,例如仅有2个一阶设备的情况下,则无需进行上述步骤803,在完成本步骤的判断过程后,继续进行步骤805即可,在此不做限制。
805:循环计算1至n项设备组合的频繁集,分别连接符合频繁集预设条件的设备组合中最浅节点和最深节点进行最短路径优化,并剔除无用连接路径,优化树型拓扑结构。本次流程结束。其中,n为电子设备100的总数量,频繁集为历史使用记录中该项设备组合出现的概率,即为该项设备组合的频次除以设备组合总项数与各项设备组合频次之积的比值百分数。
具体地,手机100-1的处理器通过运行程序实现上述智慧链路301的功能,依据历史使用记录,依次计算使用任意1个设备单独使用的频繁集、任意2个设备组合使用的频繁集、任意3个设备组合使用的频繁集、以及任意n个设备组合使用的频繁集。在一些实施例中,可以设置频繁集的下阈限值,或者设置频次的下限阈值,例如设置频繁集的下限阈值为10%时,可以通过频繁集超过10%的设备组合优化上述树型拓扑结构。智慧链路301通过将频繁集符合预设条件的设备组合中与主机设备连接路径最长的最深节点和与主机连接路径最短的最浅节点进行连接得到最短路径,再剔除与该最短路径等效的其他连接路径,从而达到优化上述树型拓扑结构链路关系的目的。
例如,如果上述步骤801至804构建树型拓扑结构如图4b所示,通过本步骤805的优化过程,可以先确定任意1个设备单独使用的频繁集(包括5项设备组合)、任意2个设备组合使用的频繁集(包括10项设备组合)、任意3个设备组合使用的频繁集(包括10项设备组合)、任意4个设备组合使用的频繁集(包括5项设备组合)、任意5个设备组合使用的频繁集(包括1项设备使用组合),参考图9所示,设备组合的总项数为5+10+10+5+1=31,即25-1项。如果图4b所示的树型拓扑结构中,计算各项设备组合使用频率所得到的频繁集中,仅智能音箱100-3的频繁集为25%,超过预设的频繁集下限阈值10%,则连接最深节点智能音箱100-3与最浅节点手机100-1,手机100-1与智能音箱100-3连接实现了二者之间的最短路径优化,二者连接后,剔除手机100-1通过平板电脑,优化图4b所示的树型拓扑结构,优化后的树型拓扑结构可以参考图4a所示。
可以理解,经过上述步骤801至805得到的树型拓扑结构链路关系,将用于确定上述步骤701至705中的数据传输路径。手机100-1的智慧链路301所构建和/或优化的树型拓扑结构链路关系实时同步至各电子设备100的智慧链路中。
本实施例通过结合手机100-1的多个应用的分布式实现场景,具体说明了本申请的多应用的分布式实现方法,以及智慧链路301构建树型拓扑结构的具体方法。下面将通过另一实施例的应用场景继续说明本申请的多应用的分布式实现方法,以使本申请方案更加清楚。
实施例二
本实施例将通过手机100-1上的拍照应用调用手机100-7的摄像头来采集图像的过程,来说明本申请技术方案中各应用的分布式实现过程。
图10示出了一种手机100-1上的拍照应用调用另一手机100-7的摄像头来采集图像的应用场景示意图。其中,手机100-1、手机100-7的操作系统上均安装有上述分布式调度模块300。例如,团队出游时,当需要拍摄集体合影时,需要通过摄像头来采集团队全员在内的合影照片,单个无法完成拍摄的情况下,可以通过使用某个团队成员的手机100-1调用另一团队成员的手机100-7的摄像头来采集图像来完成拍摄合影。如图10所示,手机100-7摆放好位置之后,用户可以通过点击手机100-1的拍照应用上的拍照按钮发出拍摄指令,手机100-7的摄像头接收到该拍摄指令后拍摄合影照片采集图像。
在图10所示的应用场景中,手机100-1的用户可以通过依次进行图6a所示的操作②、图6b所示的操作⑥、以及图6d所示的操作⑧,完成手机100-7的外设组件在分布式调度模块300的注册中心302上的注册过程。其中,邀请注册的主机设备为手机100-1,手机100-1获取的到注册中心302更新的注册信息后,手机的100-1的智慧链路301基于已注册外设组件信息的各手机的历史使用记录,来构建和/或优化树型拓扑结构链路关系,该链路关系的具体构建及优化的过程可以参考上述实施例一中的步骤801至805,在此不再赘述。
可以理解,在上述应用场景中,如果团队成员的手机之间有历史使用记录,例如手机100-1曾调用过手机100-7的外设组件使用过。如果各团队成员手机的操作系统上均安装有上述分布式调度模块300,则任一团队成员的手机100-1可以邀请其他成员的手机注册其外设组件,手机100-1的智慧链路301最终基于注册中心302更新的多个手机信息构建和/或优化得到树型拓扑结构,在此不做限制。可以理解,如果团队成员的多个手机之间没有历史使用记录,则手机100-1可以根据预设树型拓扑结构进行构建。例如,在预设树型拓扑结构所确定的数据传输路径中,手机100-1可以与手机100-7直接连接,或者手机100-1与手机100-7通过中继电子设备连接,在此不做限制。
手机100-1上的拍照应用调用另一手机100-7的摄像头作为外设组件的实施过程可以参考实施例一中的步骤701至705。具体实施过程为:
在图10所示的应用场景中,参考上述实施例一中的步骤701,手机100-1获取用户为当前界面上正在运行的应用选择外设组件进行调用的指令,向被调用电子设备发送外设组件调用通知。具体地,手机100-1上运行拍照应用,手机100-1获取用户通过执行上述图6a所示的操作②以及参考图6b所示的操作③选择手机100-7的摄像头作为外设组件的指令后,手机100-1向手机100-7发送调用通知。
在图10所示的应用场景中,参考上述实施例一中的步骤702,手机100-1获取被调用电子设备同步的外设组件对相应应用的订阅信息。具体地,手机100-7接收到手机100-1发来的调用通知后,在其分布式调度模块300中的订阅中心303完成手机100-7的摄像头对手机100-1上运行的拍照应用的订阅;经过手机100-1与手机100-7之间的分布式调度模块300上各模块的数据同步过程,手机100-1获取上述手机100-7的摄像头对手机100-1上运行的拍照应用的订阅信息。
在图10所示的应用场景中,参考上述实施例一中的步骤703,手机100-1向被调用电子设备发送应用任务数据。具体地,手机100-1基于其智慧链路301构建得到的树型拓扑结构链路关系所确定的数据传输路径,向手机100-7发送拍照应用的应用任务数据,例如图像采集任务数据等;如果在该数据传输路径中手机100-1与手机100-7直接连接,则手机100-1直接向手机100-7发送上述应用任务数据;如果在该数据传输路径中手机100-1与手机100-7通过作为中继电子设备的另一手机连接,则手机100-1发送的应用任务数据经由中继电子设备处理后再传送至手机100-7。
在图10所示的应用场景中,参考上述实施例一中的步骤704,手机100-1判断被调用外设组件中是否包括输入型外设。具体地,手机100-1的数据处理模块310判断被调用的摄像头属于输入型外设组件,并通过数据同步告知手机100-7的数据处理模块310;在另一些实施例中,也可以通过手机100-7的数据处理模块310判断其被调用的摄像头属于输入型外设,在此不做限制。
在图10所示的应用场景中,参考上述实施例一中的步骤705,手机100-1获取经添加标签等处理后的应用数据。具体地,手机100-7的数据处理模块310对其摄像头采集的图像数据添加拍照应用标签以及摄像头的外设组件标签后得到添加标签后的应用数据,通过上述树型拓扑结构链路关系所确定的数据传输路径将添加标签后的应用数据传送给手机100-1;手机100-1获取该应用数据后,通过外设组件标签确定该应用数据的来源,并通过该应用数据中的应用标签进行处理。在此不再赘述。
可以理解,本次实施流程中手机100-1上的拍照应用调用手机100-7的外设组件的过程会存储在手机100-12的内存中,以用于构建和/或优化智慧链路301上的树型拓扑结构链路关系,在此不再赘述。
实施例三
本实施例将通过手机100-1上的视频应用中的缓存视频通过调用平板电脑100-2、便携电脑100-4以及手机100-7的屏幕作为外设组件,以实现共享视频内容的应用场景,来说明本申请技术方案中各应用的分布式实现过程。
图11示出了一种手机100-1调用多个电子设备的屏幕播放缓存视频的应用场景示意图。如图11所示,该场景包括安装有上述分布式调度模块300的手机100-1、平板电脑100-2、便携电脑100-4以及手机100-7。例如,团队出游坐火车或乘飞机过程中,某个团队成员的手机100-1的视频应用中有缓存视频,例如缓存的电影、综艺节目等,其他团队成员想通过携带的平板电脑100-2、便携电脑100-4以及手机100-7同样观看该缓存视频时,可以通过手机100-1调用平板电脑100-2、便携电脑100-4以及手机100-7的屏幕作为外设组件执行视频应用的播放任务即可实现。如图11所示,手机100-1打开视频应用播放缓存视频之后,用户点击手机100-1上“外设组件”列表中的平板电脑100-2、便携电脑100-4以及手机100-7的屏幕图标进行连接,连接之后平板电脑100-2、便携电脑100-4以及手机100-7的屏幕便可以同步播放手机100-1正在播放的缓存视频了。
在图11所示的应用场景中,手机100-1的用户可以通过依次进行图6a所示的操作②、图6b所示的操作⑥、以及图6d所示的操作⑧,完成平板电脑100-2、便携电脑100-4以及手机100-7的外设组件的注册过程。其中,邀请注册的主机设备为手机100-1,手机100-1获取的到注册中心302更新的注册信息后,手机100-1的智慧链路301基于已注册外设组件的各电子设备的历史使用记录,来构建和/或优化树型拓扑结构链路关系,例如得到图12所示的树型拓扑结构链路关系,上述链路关系的具体构建及优化的过程可以参考上述实施例一中的步骤801至805,在此不再赘述。可以理解,在上述应用场景中,如果手机100-1与平板电脑100-2、便携电脑100-4以及手机100-7之间没有历史使用记录,则手机100-1的智慧链路301可以构建预设的树型拓扑结构链路关系,在此不做限制。
手机100-1上的视频应用调用平板电脑100-2、便携电脑100-4以及手机100-7的屏幕作为外设组件的实施过程可以参考实施例一中的步骤701至705。结合上述图12所示的树型拓扑结构,本实施例的具体实施过程为:
在图11所示的应用场景中,参考上述实施例一中的步骤701,手机100-1获取用户为当前界面上正在运行的应用选择外设组件进行调用的指令,向被调用电子设备发送外设组件调用通知。具体地,手机100-1上运行视频应用,手机100-1获取用户选择外设组件的操作指令后,分别向平板电脑100-2、便携电脑100-4以及手机100-7发送调用通知;用户选择外设组件的操作参考上述图6a所示的操作②以及参考图6b所示的操作③,在此不再赘述,其中,手机100-1可以向平板电脑100-2、手机100-7广播发送该调用通知,手机100-7作为中继电子设备复制接收到的调用通知,继续发送给便携电脑100-4。
在图11所示的应用场景中,参考上述实施例一中的步骤702,手机100-1获取被调用电子设备同步的外设组件对相应应用的订阅信息。具体地,平板电脑100-2、便携电脑100-4以及手机100-7接收到调用通知识别其中的调用信息后,分别在各设备自身的分布式调度模块300的订阅中心303完成各设备的屏幕对视频应用的订阅;经过手机100-1与平板电脑100-2、便携电脑100-4以及手机100-7之间的分布式调度模块300上各模块的数据同步过程,手机100-1分别获取平板电脑100-2、便携电脑100-4以及手机100-7的屏幕对手机100-1上运行的视频应用的订阅信息。
在图11所示的应用场景中,参考上述实施例一中的步骤703,手机100-1向被调用电子设备发送应用任务数据。具体地,手机100-1基于图12所示的树型拓扑结构链路关系所确定的数据传输路径分别向平板电脑100-2、便携电脑100-4以及手机100-7发送视频应用的应用任务数据以及缓存视频数据,其中,便携电脑100-4接收到的应用任务数据及缓存视频数据来源于手机100-7作为中继电子设备的传送。
在图11所示的应用场景中,参考上述实施例一中的步骤704,手机100-1判断被调用外设组件中是否包括输入型外设。具体地,手机100-1判断视频应用调用的屏幕为输出型外设,不包括输入型外设,因此,各分布式调用模块300的数据处理模块310无需处理应用数据,只需接收应用任务数据及缓存视频数据进行播放处理即可。手机100-1基于图12所示的链路关系所确定的数据传输路径传送应用任务数据以及缓存视频数据,平板电脑100-2、便携电脑100-4以及手机100-7接收到相应的应用任务数据及缓存视频数据后启用屏幕播放手机100-1的视频应用上播放的缓存视频。在另一些实施例中,也可以通过平板电脑100-2、便携电脑100-4以及手机100-7上的数据处理模块310判断其被调用的屏幕属于输出型外设,不包括输入型外设,在此不做限制。
可以理解,本次实施流程中手机100-1上的视频应用调用平板电脑100-2、便携电脑100-4以及手机100-7的外设组件的过程会存储在手机100-12的内存中作为历史使用记录,以用于构建和/或优化智慧链路301上的树型拓扑结构链路关系,在此不再赘述。
实施例四
本实施例将通过手机100-1上的唱吧应用通过调用多个手机的屏幕、扬声器、麦克风作为外设组件,以实现多人唱歌娱乐的应用场景,来说明本申请技术方案中各应用的分布式实现过程。
图13示出了一种手机100-1调用多个手机的屏幕、扬声器和麦克风作为外设组件的应用场景示意图。如图13所示,该场景包括安装有上述分布式调度模块300的手机100-1、手机100-7、手机100-8、以及手机100-9。例如,朋友4人聚会后想使用唱吧应用进行唱歌娱乐时,可以通过其中一人的手机100-1调用其他3人的手机的屏幕、扬声器、麦克风等作为外设组件执行唱吧应用的视频播放任务、音频播放任务以及音频采集任务等来实现。如图13所示,手机100-1打开唱吧应用之后,用户点击手机100-1上“外设组件”列表中的手机100-7、手机100-8、以及手机100-9的屏幕、扬声器、麦克风图标分别进行连接,连接之后手机100-7、手机100-8、以及手机100-9的屏幕便可以同步显示手机100-1正在运行的唱吧应用的应用界面,扬声器可以同步播放手机100-1上的唱吧应用播放的音乐短片(Music Video,MV)音频,麦克风可以为唱吧应用采集用户输入的音频。
在图13所示的场景中,手机100-1的用户可以通过依次进行图6a所示的操作②、图6b所示的操作⑥、以及图6d所示的操作⑧,完成手机100-7、手机100-8、以及手机100-9的外设组件的注册过程。其中,邀请注册的主机设备为手机100-1,手机100-1获取的到注册中心302更新的注册信息后,手机100-1的智慧链路301基于已注册外设组件的各手机的历史使用记录,来构建和/或优化树型拓扑结构链路关系,例如得到图14所示的树型拓扑结构链路关系,上述链路关系的具体构建及优化的过程可以参考上述实施例一中的步骤801至805,在此不再赘述。
手机100-1上的唱吧应用调用手机100-7、手机100-8、以及手机100-9的屏幕、扬声器、麦克风作为外设组件的实施过程可以参考实施例一中的步骤701至705。结合上述图14所示的树型拓扑结构,本实施例的具体实施过程为:
在图13所示的应用场景中,参考上述实施例一中的步骤701,手机100-1获取用户为当前界面上正在运行的应用选择外设组件进行调用的指令,向被调用电子设备发送外设组件调用通知。具体地,手机100-1上运行唱吧应用,手机100-1获取用户选择外设组件的操作指令后,分别向手机100-7、手机100-8、以及手机100-9发送调用通知。用户选择外设组件的操作参考上述图6a所示的操作②以及参考图6b所示的操作③,在此不再赘述,用户可以在图6b所示界面分别点击手机100-7、手机100-8、以及手机100-9屏幕、扬声器、麦克风图标,选择这些外设组件作为唱吧应用的外设组件。其中,手机100-1可以向手机100-7和手机100-9广播发送调用通知,手机100-7接收到调用通知后复制该通知继续传送给手机100-8。
在图13所示的应用场景中,参考上述实施例一中的步骤702,手机100-1获取被调用电子设备同步的外设组件对相应应用的订阅信息。具体地,手机100-7、手机100-8、以及手机100-9接收到调用通知后识别其中的调用信息后,分别在各手机自身的分布式调度模块300的订阅中心303完成各手机的屏幕、扬声器、麦克风对唱吧应用的订阅,生成订阅信息;经过手机100-1与手机100-7、手机100-8、以及手机100-9之间的分布式调度模块300上各模块的数据同步过程,手机100-1分别获取各手机的屏幕、扬声器、麦克风对手机100-1上运行的唱吧应用的订阅信息。
在图13所示的应用场景中,参考上述实施例一中的步骤703,手机100-1向被调用电子设备发送应用任务数据。具体地,手机100-1基于图14所示的树型拓扑结构链路关系所确定的数据传输路径分别向手机100-7、手机100-8、以及手机100-9组播发送唱吧应用的应用任务数据,其中,手机100-8接收到的应用任务数据来源于手机100-7作为中继电子设备的传送。手机100-7、手机100-8、以及手机100-9接收到相应的应用任务数据后,分别启用被调用的屏幕、扬声器播放唱吧应用任务数据中的MV,并启用被调用的麦克风采集用户随MV唱出的歌声作为音频应用数据。
在图11所示的应用场景中,参考上述实施例一中的步骤704,手机100-1判断被调用外设组件中是否包括输入型外设。具体地,手机100-1判断唱吧应用调用的屏幕、扬声器、麦克风等外设组件中,麦克风属于输入型外设,因此,手机100-7、手机100-8、以及手机100-9上的各分布式调用模块300的数据处理模块310需要对麦克风采集的音频数据进行添加标签等处理后再进行传送。在另一些实施例中,也可以通过手机100-7、手机100-8、以及手机100-9上的数据处理模块310判断其被调用的外设组件中麦克风属于输入型外设,在此不做限制。
在图11所示的应用场景中,参考上述实施例一中的步骤705,手机100-1获取经添加标签等处理后的应用数据。具体地,基于图14所示的树型拓扑结构链路关系所确定的数据传输路径,手机100-9对采集的音频应用数据分别添加唱吧应用的应用标签、以及麦克风的应用组件标签之后,将添加标签后的音频应用数据采用单播方式传送给手机100-1。手机100-8对采集的音频应用数据进行添加标签处理后先采用单播方式传送给手机100-7。手机100-7接收到手机100-8发来的音频应用数据后,将手机100-7采集的音频应用数据添加标签后与之聚合,手机100-7再将聚合后的音频应用数据采用单播方式传送至手机100-1。手机100-1接收传送过来的音频应用数据后,通过外设组件标签确定该应用数据的来源,并通过该应用数据中的应用标签进行处理。在此不再赘述。在另一些实施例中,应用任务数据以及应用数据的传送过程还可以采用其他传送方式,例如采用组播方式,在此不做限制。
可以理解,本次实施流程中手机100-1上的唱吧应用调用手机100-7、手机100-8、以及手机100-9的外设组件的过程会存储在手机100-12的内存中作为历史使用记录,以用于构建和/或优化智慧链路301上的树型拓扑结构链路关系,在此不再赘述。
综合上述实施例一至四的描述,可以理解,本申请通过独立于应用的分布式调度模块智能构建任意虚拟超级终端1000中各电子设备之间的树型拓扑结构链路关系,并基于该链路关系完成外设组件调用通知、应用任务数据以及所采集的应用数据等数据传送,大大解决了现有技术的环型或星型结构链路关系中应用数据传送过程时延大以及主机设备消耗资源过大的问题,数据传送效率及传送准确率均有所提高;同时本申请通过分布式调度模块对应用数据添加应用标签及外设组件标签的方式,简单高效地完成了多应用的分布式实现,大大提高了用户使用体验。
可以理解,在另一些实施例中,主机设备也可以是第一个邀请注册设备组件之外的设备,例如可以将运行应用并发起调用通知的电子设备作为主机设备,主机设备通过其主机组件所进行的计算、处理任务也可以在调用外设组件的过程中一并调用其他电子设备的主机组件来执行,当执行计算、处理任务的主机组件变化时,一般需要以新的主机设备为中心重新构建树型拓扑结构,在此不做限制。
如上所述,上述分布式调度模块安装在手机100-1等电子设备操作系统的非应用层。可以理解,手机100-1的操作系统可以是安卓操作系统以及基于安卓原生发展的操作系统(例如EMUI操作系统)、也可以是分布式操作系统(例如鸿蒙操作系统)。下面以手机100-1的操作系统为分布式操作系统为例简单介绍手机100-1的操作系统结构。
图15示出了一种分布式操作系统的软件结构示意框图。
如图15所示,手机100-1上安装的分布式操作系统采用分层架构。分层架构将分布式操作系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将分布式操作系统分为四层,从上至下分别为应用层、应用框架层、系统服务层以及内核层。在另一些实施例中,分布式操作系统也可以分为其他数量的层级结构,在此不做限制。
其中,应用层可以包括系统应用、扩展应用(或第三方应用)等一系列应用程序。本申请提供的多应用的分布式实现方法适用于应用层310中各应用(包括系统应用和扩展应用312)的分布式实现。其中,系统应用包括桌面、设置、相机、无线局域网(Wireless LocalArea Networks,WLAN)、蓝牙、导航等;扩展应用包括拍照应用(例如美拍、激萌等)、导航应用(例如高德地图、百度地图等)、音乐应用(例如酷狗音乐、网易云音乐等)等第三方开发的软件应用程序。
应用框架层为应用层提供多语言框架,包括界面(User Interface,UI)框架、用户程序框架等,以及多语言框架应用编程接口(application programming interface,API)和多种编程语言的框架API。其中,应用框架层包括一些预先定义的函数。
系统服务层是分布式操作系统的核心,系统服务层通过应用框架层对应用层中的应用程序提供服务。
可以理解,本申请的分布式调度模块300可以安装在上述应用框架层或系统服务层,以独立于应用层的各应用程序,实现各应用调用外设组件过程的统调度。
可以理解,在分布式操作系统中,上述应用框架层中的UI框架、用户程序框架等与系统服务层中的分布式调度模块300可以共同构成系统基本能力子系统集,在此不做限制。
内核层是硬件和软件之间的层。分布式操作系统的内核层包括:内核子系统和驱动子系统。
其中,内核子系统介于分布式操作系统可以采用多内核设计,因此内核子系统支持针对不同资源受限设备选用适合的OS内核。内核子系统341上的内核抽象层(KernelAbstract Layer,KAL)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。
驱动子系统分布式操作系统的驱动框架(HDF)是分布式系统硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
图16所示为本申请实施例提供的一种手机100-1的结构示意图。
如图16所示,手机100-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可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对手机100-1的具体限定。在本申请另一些实施例中,手机100-1可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
具体的,基于上述图3及相关描述,可以理解手机100-1的上述结构决定了手机100-1具备的主机组件及可调用的外设组件类型。例如,上述结构中扬声器170A、受话器170B、麦克风170C、摄像头193以及显示屏194及相关组件等为可调用的外设组件。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
在本申请的实施例中,处理器110的运算能力进一步的拆分为与CPU算力(具备数据处理能力)或GPU算力(具备图像处理能力)等能力部件进行能力分级,以支持应用的分布式实现。在另一些实施例中,处理器110的运算能力分级还可以包括ISP算力、DSP算力等能力部件的能力分级,在此不做限制。
其中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据,例如RAM。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。在本申请的一些实施例中,可以对存储器的存储能力拆分为更小单位的能力部件,例如存储器的存储能力可以包括RAM能力和内存能力等,再进行相应能力部件的能力分级。例如,将RAM能力可以作为电子设备的一种能力部件进行能力分级,RAM能力等级可以作为上述快速决策过程中一个重要的决策依据。
在一些实施例中,处理器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)接口,SIM接口,和/或USB接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合分布式调度模块300中的数据处理模块310进行数据传送,实现数据处理模块310的数据处理功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现本申请实施例中手机100-1调用自身及其他电子设备的外设组件实现音频播放的过程。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现本申请实施例中手机100-1调用自身及其他电子设备的外设组件实现视频中的音频播放及画面展示的过程。所述I2S接口和所述PCM接口都可以用于音频通信。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为手机100-1充电,也可以用于手机100-1与外围设备之间传送数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机100-1的结构限定。在本申请另一些实施例中,手机100-1也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142、充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。在本申请实施例中,电子设备的设备动态信息中的电量信息(例如电量充足、电量低等状态信息)可以通过上述电源管理模块141监测得到。
手机100-1的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。在一些实施例中,手机100-1的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机100-1可以通过无线通信技术与网络以及其他设备进行通信。因此,各手机100-1的分布式调度模块300之间、或者手机100-1与其他电子设备的分布式调度模块300之间可以通过无线通信技术实现数据同步共享。
所述无线通信技术可以包括GSM,GPRS,CDMA,WCDMA,TD-SCDMA,LTE,BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioningsystem,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(Beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentationsystems,SBAS)。
手机100-1通过GPU、显示屏194、以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。在本申请实施例中,手机100-1的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)等。在一些实施例中,手机100-1可以包括1个或N个显示屏194,N为大于1的正整数。在本申请实施例中,手机100-1的显示能力分级可以基于显示面板的类型、显示屏194的数量等来决定。
在说明书对“一个实施例”或“实施例”的引用意指结合实施例所描述的具体特征、结构或特性被包括在根据本申请公开的至少一个范例实施方案或技术中。说明书中的各个地方的短语“在一个实施例中”的出现不一定全部指代同一个实施例。
本申请公开还涉及用于执行文本中的操作装置。该装置可以专门处于所要求的目的而构造或者其可以包括被存储在计算机中的计算机程序选择性地激活或者重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读介质中,诸如,但不限于任何类型的盘,包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、专用集成电路(ASIC)或者适于存储电子指令的任何类型的介质,并且每个可以被耦合到计算机系统总线。此外,说明书中所提到的计算机可以包括单个处理器或者可以是采用针对增加的计算能力的多个处理器涉及的架构。
本文所提出的过程和显示器固有地不涉及任何具体计算机或其他装置。各种通用系统也可以与根据本文中的教导的程序一起使用,或者构造更多专用装置以执行一个或多个方法步骤可以证明是方便的。在一下描述中讨论了用于各种这些系统的结构。另外,可以使用足以实现本申请公开的技术和实施方案的任何具体编程语言。各种编程语言可以被用于实施本公开,如本文所讨论的。
另外,在本说明书所使用的语言已经主要被选择用于可读性和指导性的目的并且可能未被选择为描绘或限制所公开的主题。因此,本申请公开旨在说明而非限制本文所讨论的概念的范围。
Claims (15)
1.一种多应用的分布式实现方法,应用于多个电子设备组成的分布式系统,所述多个电子设备包括第一电子设备和第二电子设备;其特征在于,所述方法包括:
所述第一电子设备通过设置在所述第一电子设备中的独立于所述多个应用的分布式调度模块,基于所述多个电子设备的历史使用记录形成树型拓扑结构链路关系,所述树型拓扑结构链路关系用于确定所述第一电子设备与所述第二电子设备之间的数据传输路径;
所述第一电子设备上运行多个应用,所述第一电子设备基于所述分布式调度模块为所述多个应用中的第一应用调用所述分布式系统中的第二电子设备上的第一外设组件执行第一任务;
所述第二电子设备通过设置在所述第二电子设备中的独立于应用的分布式调度模块响应于所述第一电子设备发送的调用通知,生成并向所述第一电子设备发送所述第一外设组件对所述第一应用的订阅信息;其中,
所述订阅信息用于确定所述第一应用对所述第一外设组件的调用关系;
所述第一电子设备利用根据所述树型拓扑结构链路关系所确定的数据传输路径,向所述第二电子设备发送所述第一应用的所述第一任务数据;其中,所述第一任务数据用于执行所述第一应用的所述第一任务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第二电子设备基于所述第一任务数据,执行与所述第一任务相关的动作;并且,
在所述第一外设组件为输入型外设的情况下,所述第一任务还包括所述第二电子设备利用根据所述树型拓扑结构链路关系所确定的数据传输路径向所述第一电子设备反馈第一采集数据;其中,
所述输入型外设是用于采集数据的外设组件,所述第一采集数据为所述第一外设组件为所述第一任务所采集的数据。
3.根据权利要求2所述的方法,其特征在于,所述数据传输路径为:所述第一电子设备与所述第二电子设备直接连接实现数据传输,或者
所述第一电子设备与所述第二电子设备之间经由至少一个其他电子设备间接连接实现数据传输。
4.根据权利要求2所述的方法,其特征在于,所述第二电子设备利用根据所述树型拓扑结构链路关系所确定的数据传输路径向所述第一电子设备反馈第一采集数据,包括:
所述第二电子设备对所述第一采集数据进行添加标签处理后,利用根据所述树型拓扑结构链路关系所确定的数据传输路径向所述第一电子设备发送所述添加标签处理后的第一采集数据;其中,
所述添加标签处理包括对所述第一采集数据添加所述第一应用的应用标签,以及添加所述第一外设组件的外设组件标签。
5.根据权利要求2所述的方法,其特征在于,所述基于所述多个电子设备的历史使用记录形成树型拓扑结构链路关系,包括:基于所述历史使用记录构建和/或优化所述树型拓扑结构链路关系;其中,
所述历史使用记录包括所述分布式系统中的所述多个电子设备执行所述多个应用的应用任务的历史记录;
所述多个应用包括所述第一应用,所述应用任务包括所述第一应用的所述第一任务。
6.根据权利要求5所述的方法,其特征在于,组成所述分布式系统的所述多个电子设备的数量为n,则所述基于所述历史使用记录构建所述树型拓扑结构链路关系,包括:
所述第一电子设备基于所述历史使用记录,计算所述第一电子设备对所述多个电子设备中的其他电子设备的第一置信度;
所述第一电子设备基于计算得到的所述第一置信度和数量阈值k筛选一阶设备;其中,所述第一数量阈值k为所述一阶设备的上限数量阈值;
所述第一电子设备对筛选得到的所述一阶设备添加第一标记;
所述第一电子设备计算所述j-1阶设备对所述多个电子设备中未获得所述第一标记、以及第j-1标记的电子设备的第i置信度;
所述第一电子设备基于计算得到的所述第i置信度和数量阈值m筛选j阶设备;其中,所述数量阈值m为所述j阶设备的上限数量阈值;其中,n≤k+m;
所述第一电子设备对筛选得到的所述j阶设备添加第j标记;并且,
在所述多个电子设备全部完成添加第j标记的情况下,所述第一电子设备完成构建所述树型拓扑结构链路关系;其中,
所述第一置信度为所述第一电子设备调用所述多个电子设备中的其他电子设备执行所述应用任务的频率;所述第i置信度为所述j-1阶设备调用未获得所述第一标记、以及第j-1标记的电子设备执行所述应用任务的频率。
7.根据权利要求6所述的方法,其特征在于,组成所述分布式系统的所述多个电子设备的数量为n,优化所述树型拓扑结构链路关系的方法包括:
所述第一电子设备对所述多个设备计算1至n个电子设备组合的频繁集;其中,
所述频繁集为所述1至n个电子设备组合中每个组合使用的频次与各组合使用频次的总和之间的比值;
所述第一电子设备在所述频繁集中的第一频繁集符合预设条件的情况下,连接所述第一频繁集对应的n个电子设备组合中的最深节点和最浅节点进行路径优化,完成优化所述树型拓扑结构链路关系;其中,
所述最深节点为所述n个电子设备组合中与所述第一电子设备的连接路径最短的电子设备,所述最浅节点为所述n个电子设备组合中与所述第一电子设备的连接路径最长的电子设备。
8.根据权利要求7所述的方法,其特征在于,所述连接所述第一频繁集对应的n个电子设备组合中的最深节点和最浅节点进行路径优化,还包括:
删除与所述最深节点与所述最浅节点之间的连接路径等效的其他连接路径;并且,
在所述第一频繁集大于或等于预设的频繁集下限阈值的情况下,所述第一频繁集符合所述预设条件。
9.根据权利要求3所述的方法,其特征在于,所述第一电子设备上运行的所述多个应用中的所述第一应用调用所述多个电子设备中的第三电子设备上的第二外设组件执行第二任务;或者,
所述多个应用中的第二应用调用所述多个电子设备中的第四电子设备上的第三外设组件执行第三任务;其中,
所述第二电子设备、所述第三电子设备以及所述第四电子设备可以是相同设备或者不同设备。
10.根据权利要求9所述的方法,其特征在于,所述第一电子设备与所述第二电子设备之间经由至少一个其他电子设备间接连接实现数据传输,包括:
所述第一电子设备与所述第二电子设备之间经由所述第三电子设备连接实现数据传输;并且,
在所述第二外设组件均为输入型外设的情况下,所述第二任务还包括所述第三电子设备利用根据所述树型拓扑结构链路关系所确定的数据传输路径向所述第一电子设备反馈第二采集数据;其中,
所述第二采集数据为所述第二外设组件为所述第二任务所采集的数据。
11.根据权利要求10所述的方法,其特征在于,所述第三电子设备利用根据所述树型拓扑结构链路关系所确定的数据传输路径向所述第一电子设备反馈第二采集数据,包括:
所述第三电子设备对所述第二采集数据进行添加标签处理,并且,所述第三电子设备将添加标签处理后的所述第二采集数据与接收到的所述第二电子设备发送的所述添加标签处理后的第一采集数据进行聚合处理,得到聚合应用数据;
所述第三电子设备根据所述树型拓扑结构链路关系所确定的数据传输路径向所述第一电子设备发送所述聚合应用数据。
12.根据权利要求1至11中任一项所述的方法,其特征在于,所述第一电子设备中设置的所述分布式调度模块至少包括智慧链路、注册中心、订阅中心;并且,所述第一电子设备基于所述分布式调度模块为所述多个应用中的第一应用调用所述分布式系统中的第二电子设备上的第一外设组件执行第一任务,包括:
所述第一电子设备通过所述智慧链路构建和/或优化所述树型拓扑结构链路关系;
所述第一电子设备通过所述注册中心邀请注册所述多个电子设备上的各外设组件信息;其中,所述外设组件信息包括所述外设组件的属主信息、以及所述外设组件的使用状态信息;
所述第一电子设备通过所述订阅中心获取所述第二电子设备发送的所述第一外设组件对所述第一应用的订阅信息。
13.根据权利要求1至12中任一项所述的方法,其特征在于,所述第二电子设备上设置的所述分布式调度模块至少包括智慧链路、注册中心、订阅中心;并且,所述第一电子设备基于所述分布式调度模块为所述多个应用中的第一应用调用所述分布式系统中的第二电子设备上的第一外设组件执行第一任务,包括:
所述第二电子设备通过所述智慧链路获取所述第一电子设备发送的所述树型拓扑结构链路关系;
所述第二电子设备通过所述注册中心响应于所述第一电子设备的邀请,注册所述第二电子设备上的各外设组件信息;其中,所述外设组件信息包括所述外设组件的属主信息、以及所述外设组件的使用状态信息;
所述第二电子设备通过所述订阅中心响应于所述第一电子设备发送的调用通知,生成并向所述第一电子设备发送所述第一外设组件对所述第一应用的订阅信息。
14.一种计算机可读存储介质,其特征在于,所述存储介质上存储有指令,所述指令在计算机上执行时使所述计算机执行权利要求1至12中任一项所述的多应用的分布式实现方法。
15.一种电子设备,其特征在于,包括一个或多个处理器;一个或多个存储器;其中,
所述一个或多个存储器存储有一个或多个程序,当所述一个或者多个程序被所述一个或多个处理器执行时,使得所述电子设备执行权利要求1至12中任一项所述的多应用的分布式实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110119990.0A CN114827639B (zh) | 2021-01-28 | 2021-01-28 | 多应用的分布式实现方法、可读介质及其电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110119990.0A CN114827639B (zh) | 2021-01-28 | 2021-01-28 | 多应用的分布式实现方法、可读介质及其电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114827639A true CN114827639A (zh) | 2022-07-29 |
CN114827639B CN114827639B (zh) | 2023-07-11 |
Family
ID=82526918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110119990.0A Active CN114827639B (zh) | 2021-01-28 | 2021-01-28 | 多应用的分布式实现方法、可读介质及其电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114827639B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006322994A (ja) * | 2005-05-17 | 2006-11-30 | Canon Inc | 画像形成装置 |
US20100149985A1 (en) * | 2008-12-17 | 2010-06-17 | Canon Kabushiki Kaisha | Method for balancing latency in a communications tree, corresponding device and storage means |
US20130016612A1 (en) * | 2011-07-12 | 2013-01-17 | Cisco Technology, Inc. | Selective topology routing for distributed data collection |
US20130276022A1 (en) * | 2012-04-12 | 2013-10-17 | Justin Tidwell | Apparatus and methods for enabling media options in a content delivery network |
US20140223099A1 (en) * | 2013-02-06 | 2014-08-07 | Adam Kidron | Content management platform apparatus, methods, and systems |
WO2016049164A1 (en) * | 2014-09-25 | 2016-03-31 | Osix Corporation | Computer-implemented methods, computer readable media, and systems for distributed processing |
US20170102914A1 (en) * | 2015-10-13 | 2017-04-13 | Samsung Electronics Co., Ltd. | Electronic device and audio ouputting method thereof |
WO2020034227A1 (zh) * | 2018-08-17 | 2020-02-20 | 华为技术有限公司 | 一种多媒体内容同步方法及电子设备 |
CN111464352A (zh) * | 2020-03-31 | 2020-07-28 | 中国工商银行股份有限公司 | 调用链路数据处理方法及装置 |
CN111459592A (zh) * | 2020-03-31 | 2020-07-28 | 华为技术有限公司 | 分布式处理ux元素的方法及装置 |
-
2021
- 2021-01-28 CN CN202110119990.0A patent/CN114827639B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006322994A (ja) * | 2005-05-17 | 2006-11-30 | Canon Inc | 画像形成装置 |
US20100149985A1 (en) * | 2008-12-17 | 2010-06-17 | Canon Kabushiki Kaisha | Method for balancing latency in a communications tree, corresponding device and storage means |
US20130016612A1 (en) * | 2011-07-12 | 2013-01-17 | Cisco Technology, Inc. | Selective topology routing for distributed data collection |
US20130276022A1 (en) * | 2012-04-12 | 2013-10-17 | Justin Tidwell | Apparatus and methods for enabling media options in a content delivery network |
US20140223099A1 (en) * | 2013-02-06 | 2014-08-07 | Adam Kidron | Content management platform apparatus, methods, and systems |
WO2016049164A1 (en) * | 2014-09-25 | 2016-03-31 | Osix Corporation | Computer-implemented methods, computer readable media, and systems for distributed processing |
US20170102914A1 (en) * | 2015-10-13 | 2017-04-13 | Samsung Electronics Co., Ltd. | Electronic device and audio ouputting method thereof |
WO2020034227A1 (zh) * | 2018-08-17 | 2020-02-20 | 华为技术有限公司 | 一种多媒体内容同步方法及电子设备 |
CN111464352A (zh) * | 2020-03-31 | 2020-07-28 | 中国工商银行股份有限公司 | 调用链路数据处理方法及装置 |
CN111459592A (zh) * | 2020-03-31 | 2020-07-28 | 华为技术有限公司 | 分布式处理ux元素的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114827639B (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020244495A1 (zh) | 一种投屏显示方法及电子设备 | |
WO2020244492A1 (zh) | 一种投屏显示方法及电子设备 | |
WO2021185244A1 (zh) | 一种设备交互的方法和电子设备 | |
CN110910872A (zh) | 语音交互方法及装置 | |
CN114647350B (zh) | 应用共享方法、电子设备和存储介质 | |
CN111371849A (zh) | 数据处理的方法和电子设备 | |
WO2023030099A1 (zh) | 跨设备交互的方法、装置、投屏系统及终端 | |
WO2022037463A1 (zh) | 一种功能切换入口的确定方法与电子设备 | |
US12010257B2 (en) | Image classification method and electronic device | |
EP4407453A1 (en) | Application running method and related device | |
WO2022135157A1 (zh) | 页面显示的方法、装置、电子设备以及可读存储介质 | |
WO2021218544A1 (zh) | 一种提供无线上网的系统、方法及电子设备 | |
CN114173184B (zh) | 投屏方法和电子设备 | |
CN113703849A (zh) | 投屏应用打开方法和装置 | |
CN114697348A (zh) | 分布式实现方法、分布式系统、可读介质及电子设备 | |
CN114816686A (zh) | 计算任务的处理方法、电子设备以及存储介质 | |
CN114827639B (zh) | 多应用的分布式实现方法、可读介质及其电子设备 | |
WO2023072139A1 (zh) | 播放音频的方法、电子设备及系统 | |
WO2023274025A1 (zh) | 消息处理方法及相关装置 | |
WO2023045966A1 (zh) | 能力共享方法、电子设备以及计算机可读存储介质 | |
CN116095219B (zh) | 通知显示方法和终端设备 | |
WO2023103948A1 (zh) | 一种显示方法及电子设备 | |
WO2024131878A1 (zh) | 一种投屏方法、电子设备及系统 | |
WO2024093614A1 (zh) | 设备输入方法、系统、电子设备及存储介质 | |
WO2022218197A1 (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 |