CN116567054A - 一种探测方法、相关电子设备及系统 - Google Patents
一种探测方法、相关电子设备及系统 Download PDFInfo
- Publication number
- CN116567054A CN116567054A CN202210191223.5A CN202210191223A CN116567054A CN 116567054 A CN116567054 A CN 116567054A CN 202210191223 A CN202210191223 A CN 202210191223A CN 116567054 A CN116567054 A CN 116567054A
- Authority
- CN
- China
- Prior art keywords
- state
- message
- equipment
- silence
- detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 130
- 238000004891 communication Methods 0.000 claims abstract description 178
- 238000000034 method Methods 0.000 claims abstract description 68
- 230000015654 memory Effects 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 22
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 38
- 230000008859 change Effects 0.000 abstract description 34
- 238000012545 processing Methods 0.000 abstract description 23
- 230000007246 mechanism Effects 0.000 abstract description 21
- 238000012544 monitoring process Methods 0.000 abstract description 14
- 230000001976 improved effect Effects 0.000 abstract description 10
- 230000000007 visual effect Effects 0.000 abstract description 8
- 230000007547 defect Effects 0.000 abstract description 7
- 230000002452 interceptive effect Effects 0.000 abstract description 3
- 230000005012 migration Effects 0.000 abstract description 3
- 238000013508 migration Methods 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 40
- 230000006870 function Effects 0.000 description 37
- 239000010410 layer Substances 0.000 description 27
- 239000000523 sample Substances 0.000 description 24
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 19
- 230000001960 triggered effect Effects 0.000 description 19
- 230000003993 interaction Effects 0.000 description 13
- 230000007704 transition Effects 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 210000000988 bone and bone Anatomy 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008093 supporting effect Effects 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000037396 body weight Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000002708 enhancing effect Effects 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
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/20—Manipulation of established connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/20—Manipulation of established connections
- H04W76/25—Maintenance of established connections
Abstract
本申请公开了探测方法、电子设备及系统,通过监听设备间的业务报文收发事件和收发结果,驱动设备在线状态机迁移,设备状态变化可以被快速感知。该方法增加了主动探测机制,并设立新的设备状态—静默态,以及静默探测接口,支持应用决定该设备各种状态的UI呈现和业务处理策略。设备处于上线状态,当被动探测超时,上线状态会变更为静默状态。在静默态下,本端设备可以按需主动广播探测报文,确认对端设备是否在线,解决设备状态不能及时更新、容易报错的问题,有效降低了设备下线时延、资源功耗、传输带宽的占用,避免了由于短暂掉线导致的频繁上线下线的缺陷,给用户提供了更直观易懂的应用交互界面,提高了用户体验,并进一步提高通信效率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种探测方法、相关电子设备及系统。
背景技术
随着消费升级,用户拥有的智能终端设备的数量越来越丰富。对于多个终端组成的系统,用户可以通过软件平台来统一管理该系统中各个分布式设备,例如查看各个设备的状态,调控各个设备的硬件资源、能力,对系统中的业务数据进行分发和同步等。
系统中组成连接的任意两个或多个设备之间的保活(keepalive),可以通过长连接机制或心跳机制来保持连接状态,维持该长连接机制或心跳机制会一直占用资源和浪费功耗,不可避免地造成终端设备持续消耗流量和/或电量,缩短了终端设备的待机时间,存在明显缺陷。
发明内容
本申请提供了一种探测方法、相关电子设备及系统,该探测方法通过监听设备间的业务报文收发事件和收发结果,驱动设备在线状态机迁移,设备状态变化可以被快速感知。该方法增加了主动探测机制,并设立新的设备状态—静默态,以及静默探测接口,支持应用决定该设备各种状态的UI呈现和业务处理策略。设备处于上线状态,当被动探测超时,上线状态会变更为静默状态。在静默态下,本端设备可以按需主动广播探测报文,确认对端设备是否在线。
上述目标和其他目标将通过独立权利要求中的特征来达成。进一步的实现方式在从属权利要求、说明书和附图中体现。
第一方面,本申请实施例提供了一种探测方法,该方法包括:第一设备与第二设备建立连接,其中,第一设备记录的第二设备的状态包括上线状态、下线状态、静默状态,该上线状态表示第一设备与第二设备之间通信正常,该下线状态表示第一设备与第二设备之间通信异常,该静默状态表示第一设备与第二设备之间的通信是否正常处于不确定状态,需要通过再次探测确认第二设备处于上线状态或下线状态。当接收到第二设备的报文时,第一设备刷新第二设备的状态为上线状态,并启动定时器开始计时。第一设备确认未收到第二设备的报文的时间间隔超出第一时限。第一设备将第二设备的状态由上线状态变更为静默状态。
实施第一方面的方法,可以解决设备状态不能及时更新、容易报错的问题,有效降低了设备下线时延、资源功耗、传输带宽的占用,避免了由于短暂掉线导致的频繁上线下线的缺陷,给用户提供了更直观易懂的应用交互界面,提高了用户体验,并进一步提高通信效率。
结合第一方面,在一些实施例中,该第一设备设置有设备状态位,该设备状态位指示定时器的中断次数,设备状态位包括复位、置位。
结合第一方面,在一些实施例中,当第一设备刷新第二设备的状态为上线状态时,第一设备将设备状态位变为复位。当第一设备检测到定时器溢出中断时,第一设备读取设备状态位。如果读取到设备状态位为复位,那么第一设备将设备状态位由复位变为置位。如果读取到设备状态位为置位,那么第一设备确认满足变更静默状态的触发条件。
结合第一方面,在一些实施例中,第一设备检测到定时器第一次溢出中断,第一设备读取到设备状态位为复位。第一设备将设备状态位由复位变为置位,并重启定时器开始计时。第一设备检测到定时器第二次溢出中断,第一设备读取到设备状态位为置位,第一设备确认满足变更静默状态的触发条件。
设置两次定时器溢出中断才触发上线状态变更静默状态的条件,可以避免第一设备与第二设备之间暂时没有消息来往时,由于连接不稳定使得第二设备暂时掉线从而导致的频繁上下线的问题。
结合第一方面,在一些实施例中,定时器第一次溢出中断所需的第一时间与定时器第二次溢出中断所需的第二时间不同。比如第二时间比第一时间长一些。
开发者还可以根据不同对端设备的类型或不同时间段或其他因素分别设置触发中断的时间,如,在用户使用频繁的时间段,定时器的时限设置短一点,在用户使用频率低的时间段,如夜间,定时器的时限设置长一点。
结合第一方面,在一些实施例中,在第二设备的状态为静默状态时,第一设备向第二设备发送第一探测报文。若第一设备接收到第二设备针对于第一探测报文的响应报文,则第一设备将第二设备的状态由静默状态变更为上线状态。若第一设备未接收到第二设备针对于第一探测报文的响应报文,则第一设备将第二设备的状态由静默状态变更为下线状态。
结合第一方面,在一些实施例中,上述第一探测报文可以为广播消息。相对于单播,发送广播探测报文的优点是广播在单位时间内发送的报文次数多,报文不易丢失,发送成功率更高。
结合第一方面,在一些实施例中,第一设备的应用的界面中显示有第二设备的图标标识。如果第二设备为上线状态,则第二设备的图标标识置亮显示在应用界面中。如果第二设备为静默状态,则第二设备的图标标识置灰显示在应用界面中。如果第二设备为下线状态,则第二设备的图标标识不显示在应用界面中。这样方便用户通过界面快速感知第二设备的状态。
结合第一方面,在一些实施例中,第一设备检测到点击置灰显示的第二设备的图标标识的用户操作。响应于该用户操作,第一设备向第二设备发送第一探测报文。
结合第一方面,在一些实施例中,第一设备检测到上述应用调到前台运行,第一设备向第二设备发送第一探测报文。这样可以更快速的触发主动探测,在预测用户需要操作的时候,及早探测第二设备是否在线。
结合第一方面,在一些实施例中,第一设备设置有静默探测接口,第一设备检测到上述应用调用该静默探测接口,触发该应用调用静默探测接口的事件包括第一设备检测到点击置灰显示的第二设备的图标标识的用户操作,或,第一设备检测到该应用调到前台运行。然后第一设备通过该静默探测接口向第二设备发送第一探测报文。
结合第一方面,在一些实施例中,如果第一设备确认第二设备的状态为静默状态或下线状态,则终止定时器计时。
结合第一方面,在一些实施例中,在第二设备的状态为下线状态的情况下,如果第一设备向第二设备发送消息成功,则第一设备将第二设备的状态由下线状态变更为上线状态。
结合第一方面,在一些实施例中,在第二设备的状态为上线状态的情况下,如果第一设备向第二设备发送消息失败,则第一设备将第二设备的状态由上线状态变更为下线状态。
第二方面,本申请实施例提供了一种电子设备,该电子设备可以包括:通信装置、显示装置、存储器以及耦合于存储器的处理器,多个应用程序,以及一个或多个程序。通信装置用于通信,显示装置用于显示界面,存储器中存储有计算机可执行指令,处理器执行指令时使得电子设备可以实现如第一方面中第一设备所具有的任一功能。
第三方面,本申请实施例提供了一种通信系统,该通信系统包括第一设备和第二设备,其中,第一设备实现如第一方面中任一可能的实现方式。
第四方面,本申请实施例提供了一种计算机存储介质,该存储介质中存储有计算机程序,该计算机程序包括可执行指令,该可执行指令当被处理器执行时使该处理器执行如第一方面所提供的方法对应的操作。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行如第一方面中任一可能的实现方式。
第六方面,本申请实施例提供了一种芯片系统,该芯片系统可以应用于电子设备,该芯片包括一个或多个处理器,处理器用于调用计算机指令以使得电子设备实现如第一方面中任一可能的实现方式。
实施本申请提供的上述方面,可以解决设备状态不能及时更新、容易报错的问题,有效降低了设备下线时延、资源功耗、传输带宽的占用,避免了由于短暂掉线导致的频繁上线下线的缺陷,给用户提供了更直观易懂的应用交互界面,提高了用户体验,并进一步提高通信效率。
附图说明
图1为本申请实施例提供的一种通信系统的示意图;
图2A为本申请实施例提供的电子设备的硬件结构示意图;
图2B为本申请实施例提供的电子设备的软件架构示意图;
图3为本申请实施例提供的状态迁移示意图;
图4为本申请实施例提供的状态迁移示意图;
图5为本申请实施例提供的用户界面示意图;
图6A为本申请实施例提供的交互界面示意图;
图6B为本申请实施例提供的交互界面示意图;
图7为本申请实施例提供的信息流转过程示意图;
图8为本申请实施例提供的信息流转过程示意图;
图9为本申请实施例提供的信息流转过程示意图;
图10为本申请实施例提供的信息流转过程示意图;
图11为本申请实施例提供的一种探测方法流程图;
图12为本申请实施例提供的一种电子设备的功能模块示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
本申请以下实施例中的术语“用户界面(user interface,UI)”,是应用程序(application,APP)或操作系统(operating system,OS)与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markup language,XML)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphic user interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
本申请以下实施例中提及的“消息”或“信息”,可以指某个具体的消息或信息,也可以包括多个不同的消息或信息,是一些消息或信息的集合,本实施例不作限制。例如,一个消息或信息可以是某个应用程序的一个会话消息,也可以是应用程序的一个会话消息和一个指令信息的集合,也可以是应用程序的会话消息、一个指令信息和终端设备标识的集合,具体释义可以根据上下文情况推断。
对于多个终端组成的系统,用户可以通过软件平台来统一管理该系统中各个分布式设备,例如查看各个设备的状态,调控各个设备的硬件资源、能力,对系统中的业务数据进行分发和同步等。
系统中组成连接的任意两个或多个设备(或服务器)之间,可以通过长连接机制来保持连接状态,如经典蓝牙通过异步无连接(asynchronousconnectionless,ACL)长连接以保活。长连接机制是指双方终端设备建立连接后不断开,然后通过该连接传递消息,直到有一方主动结束该连接为止。这种长连接机制可以保证消息及时传送到对端设备,但是其缺点也很明显,维持该长连接会一直占用资源和浪费功耗,不可避免地造成终端设备持续消耗流量和/或电量,缩短了终端设备的待机时间。其中,流量可以指的是网络数据流量,包括终端设备通过无线网络或移动网络发送数据时所产生的网络流量。
系统中组成连接的任意两个或多个设备(或服务器)之间,还可以通过心跳机制来保活。心跳机制指的是,一个设备每隔一段时间向对端设备(或服务器)发送保活消息(keepalivemessage),如周期性地发送心跳报文,以探测对端设备是否处于存活状态,从而保持两个设备之间的连接长时间有效,进而保证一个设备向对端设备发送数据时可以准确、及时到达。通过发送心跳报文可以维持终端设备的在线状态,在线状态表示该终端设备是通过认证的,收发消息无需再次认证。一旦距离最后心跳报文的发送时间超过指定的时间间隔,该终端设备会被下线,重新连接时,该终端设备需要再次进行认证。
例如,无线保真(wir eless fidelity,Wi-Fi)连接可以每隔十分钟单播(unicast)传输控制协议(transmissioncontrolprotocol,TCP)连接以保活,或,低功耗蓝牙(bluetoothlow energy,BLE)可以每隔五分钟广播(broadcast)一次报文,等远端设备回复以保活。当对端设备回复超时,本端设备就将对端设备的状态由上线变更为下线。
该心跳机制也存在以下缺点:一是在两次心跳探测之间不能够及时确认对端设备的下线状态,在一台设备断开连接后,其他设备需要待下次心跳探测时才能感知该设备已下线。在这期间,用户也无法从界面上发觉该设备已下线,在发出对于该设备的操作指令时,会产生报错,用户体验差。二是如果在运行高网络负载应用进程的情况下,带宽被该应用进程占用,可能出现对端在线设备被误报下线,导致业务异常中断的情况,用户体验差。三是本端设备会持续性的向对端设备发送心跳报文,或者被动接收对端设备发送的心跳信息,并且随着连接的对端设备数量的增多,本端设备需要发送或接收的心跳报文也成倍增加,耗费更多的流量。四是由于终端设备向外发送数据时,需要启动射频模块,而在设备每次发送或接收心跳报文时,都需要启动终端中的射频模块,会把休眠状态下的设备唤醒,将会使得射频模块会被频繁的开启,耗费较多的电量,导致终端设备功耗增加,缩短了终端设备的待机时间。
另一方面,如果对端设备短暂地离开信号覆盖区等情况导致对端设备暂时掉线,当对端设备再次与本端设备通信时,可能需要重新执行认证登录过程,这增加了设备通信的繁琐度,降低通信效率,从而影响用户的体验。
本申请提供了一种探测方法,用于探测设备状态,解决上述设备状态不能及时更改、设备功耗高、繁琐通信等问题。该方法取消了通信中常用的心跳机制,彻底解决功耗高、传输带宽被占用的问题,还进一步优化了通信效率。通过监听设备间被动或主动探测的业务报文收发事件和收发结果,驱动设备在线状态机迁移,设备状态变化可以被快速感知。该方法中增加了主动探测机制,并设立新的设备状态—静默态,以及静默探测接口,支持应用决定该设备各种状态的UI呈现和业务处理策略。设备处于上线状态,当被动探测超时,上线状态会变更为静默状态。在静默态下,本端设备可以按需主动广播探测报文,确认对端设备是否在线,解决设备状态容易报错、用户体验差的问题,有效降低了设备下线时延和功耗,避免了由于短暂掉线导致的频繁上线下线的缺陷,进一步提高通信效率。其中,描述一个对象从一个状态,经过一个事件驱动转变为另一个状态的过程,叫做一次状态迁移,一个对象所具备的所有状态迁移过程叫做状态机。
实施本申请提供的方法,可以解决系统中设备间通过心跳报文保活机制导致的功耗大、占用传输带宽、频繁上线下线等问题,通过引入设备的新状态,即静默态,支持应用决定各种状态的UI呈现和业务处理策略,解决设备状态不能及时更新的问题,进一步优化了通信效率,增强了人机交互性能,可以给用户提供更直观、更易懂、更便利的应用交互界面,通过监听设备间业务报文收发事件和收发结果,驱动设备在线状态机迁移,用户可以实时感知设备状态的变化,提高了用户体验。
下面介绍本申请实施例提供的通信系统10。
图1示出了本申请实施例提供的通信系统10。
该通信系统10包括多个终端设备,这些终端设备可以包括图示的手机、平板电脑(portableandroiddevice,PAD)、笔记本电脑、智能电视(又可称为智慧屏、大屏等)、台式电脑、路由器、智能手表、智能手环、耳机、智能音箱等,除了图1所示的上述设备,通信系统10中还可以包括其他类型的电子设备,比如还可以包括个人计算机(personalcomputer,PC)、桌面型计算机、膝上型计算机、手持计算机、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificial intelligence,AI)设备、车机(车载设备)、游戏机、云主机/云服务器、其他智能穿戴设备等,还可以包括物联网(internetof things,IOT)设备或智能家居设备如智能热水器、智能灯具、智能空调、智能体重秤等等,本申请对设备类型不作任何限制。在本实施例中,终端设备也可简称为终端,终端设备通常是可以提供用户界面、可以与用户交互、为用户提供业务功能的智能电子设备。
示例性的,如图1所示,该通信系统10的组网逻辑模型可以是各个富设备接入以路由器为节点的组网中,多个瘦设备通过与手机连接加入组网,手机与多个富设备点对点连接。其中,富设备可以是指处理器处理能力较强、功能较为丰富的终端设备,如手机、笔记本电脑、平板电脑、智能电视、台式电脑等,瘦设备可以是指处理器处理能力较弱、功能相对较少的终端设备,如智能手表、耳机、智能手环、智能音箱等。瘦设备可以与富设备协同给用户提供更丰富的功能。
在通信系统10中,手机作为中心设备/核心设备,可以与其他协同设备/关联设备建立通信连接,组成“超级终端”。“超级终端”指的是通过分布式技术将多个终端的能力进行整合,存放在一个虚拟的硬件资源池里,根据业务需求统一管理、调度和整合各个终端的能力,来对外提供服务,使得不同终端之间实现快速连接、能力互助、资源共享。例如,手机和笔记本电脑组成超级终端,可以实现将手机界面投屏到笔记本电脑上的投屏功能;手机与智能音箱组成超级终端,可以实现手机遥控智能音箱的功能,等等。
需要说明的是,在本申请的实施例中,可以用“超级终端”来统称手机作为核心设备,以及与手机具有上述关联关系的关联设备共同组成的通信系统10。即,“超级终端”用于表述具有上述关联关系的电子设备的集合。可以理解的,该“超级终端”仅为示例性说明词汇,也可以替换表达为其他词汇,如“智慧协同系统”、“多设备协同系统”等,这并不构成对本申请实施例中通信系统10的具体限定。
通信系统10中各个终端设备之间的通信连接可以是有线连接或无线连接,本实施例不作限制。各个终端之间可以通过建立的通信连接传输数据或指令。
该通信连接可以为近距离通信连接。比如有线连接,如通用串行总线(uniersalserialbus,USB)连接、高清多媒体接口(highdefinitionmultimediainterface,HDMI)连接、显示接口(displayport,DP)连接等。或者无线连接,如蓝牙(bluetooth,BT)连接、无线保真(wir eless fidelity,Wi-Fi)连接、热点连接、近场通信(nearfieldcommunication,NFC)、ZigBee等,实现各个终端之间在无账号或异账号情况下通信。无线连接没有连线束缚,用户活动自由度更高。本申请实施例对通信连接的类型不作限制。终端设备中可以配置有蓝牙(bluetooth,BT)模块和/或无线局域网络(wirelesslocal area networks,WLAN)模块。其中,蓝牙模块可以提供包括经典蓝牙(蓝牙2.1)或蓝牙低功耗(bluetooth low energy,BLE)中一项或多项蓝牙通信的解决方案,WLAN模块可以提供包括无线保真点对点连接(wireless fidelity peer-to-peer,Wi-Fi P2P)、无线保真局域网(wireless fidelity local area networks,Wi-Fi LAN)或无线保真软件接入点(wireless fidelity software access point,Wi-Fi softAP)中一项或多项WLAN通信的解决方案。在一些实施例中,Wi-Fi P2P是指允许无线网络中的设备无需通过无线路由器即可以点对点形式相互连接,在系统中又可称为无线保真直连(wireless fidelitydirect,Wi-Fi direct)。建立Wi-FiP2P连接的设备之间可以在不连接网络或热点的情况下,直接通过Wi-Fi(必须处于同一频段)进行数据交换,实现点对点的通信,如传输文件、图片、视频等数据。相对于蓝牙,Wi-Fi P2P具有搜索速度和传输速度更快、传输距离更远等优点。
该通信连接还可以为远距离通信连接。比如各个终端登录同一个账号从而通过互联网Internet实现连接并通信。通信系统10中的多个电子设备也可以登录不同账号,但通过绑定的方式进行连接。例如,手机和智能手表可以登录不同的账号,手机在设备管理应用中,将智能手表和本身进行绑定,之后通过该设备管理应用来连接。
此外,通信系统10中的多个终端设备也可以结合上述任意几种方式来连接并通信,本申请实施例对此不做限制。例如,手机与笔记本电脑之间的通信连接可以是多个连接组合而成,比如,手机或笔记本电脑通过Wi-Fi与路由器建立连接,从而接入网络,或通过蜂窝信号与基站建立连接,从而接入网络,手机与笔记本电脑可以通过网络进行通信。如手机通过网络将信息发送至云端服务器上,云端服务器再将信息通过网络发送给与笔记本电脑。
在一些实施例中,当两个终端设备互为可信设备时,比如该两个终端设备在之前进行匹配或连接过,待再次连接时,这两个终端设备将会自动建立通信连接,然后进行数据交互,无需用户手动再次进行连接或匹配的操作,省时省力。如,已配对蓝牙的电子设备,连接过分享的热点的电子设备,或者,建立过Wi-Fi P2P连接等,可以确认为已建立可信关系,本实施例对此不作限定。
通信系统10中的各终端设备上可以搭载系统、/>系统、 系统、HarmonyOS或者其他类型的操作系统,通信系统10中的各个终端设备的操作系统可以相同也可以不同,本申请对此不作限制。在一些实施例中,通信系统10中相连接的各个终端均搭载有HarmonyOS,那么该通信系统10可以称为HarmonyOS超级虚拟终端(super virtual device),亦可称为HarmonyOS超级终端。
在一些实施例中,手机或其他终端设备上安装有超级终端应用,方便用户对各个终端设备进行管理。例如,智能手表可以检测用户的运动数据,如走路步数,跑步时长,游泳时长等,并将用户的运动数据同步给手机。同样的,手机也可以将检测到的用户数据同步给智能手表。多个终端配合使用可以实现对用户的运动数据更为准确的检测。
在本实施例中,通信系统10中中心设备可以记录协同设备的连接状态并显示在用户界面中,方便用户快速查看当前协同设备是否在线。如果协同设备为在线状态,表示中心设备与协同设备当前可以正常通信、收发消息。如果协同设备为离线状态,表示当前协同设备与中心设备之间已断开连接,无法正常通信。如果协同设备为静默状态,表示当前协同设备与中心设备之间连接状态不确定,用户可以主动发起探测操作,如点击置灰的协同设备图标,中心设备会向协同设备发出探测消息,如果探测成功,即收到协同设备的响应,则会将协同设备的状态由静默状态变更为上线状态,如果探测失败,即未收到协同设备的响应,则会将协同设备的状态由静默状态变更为下线状态。
需要说明的是,图1所示的通信系统10仅用于辅助描述本申请实施例提供的技术方案,并不对本申请其他实施例构成限制。在实际业务场景中,通信系统10中可以包括更多或更少的终端设备,组网逻辑模型也可以是其他星形、环形、点对点或任意组合形式,本申请对通信系统10中的终端设备类型、终端设备数量、组网逻辑模型、各终端设备间的连接方式等不作任何限定。
下面介绍本申请实施例提供的示例性电子设备100。
图2A为本申请实施例提供的电子设备100的硬件结构示意图。本申请实施例提供的示例性电子设备100可以但不限于是手机、笔记本电脑、平板电脑、智能手环、智能手表、耳机、个人计算机(personalcomputer,PC)、智能电视、智能音箱等,还可以为桌面型计算机、膝上型计算机、手持计算机、AR设备、VR设备、AI设备、车机(车载设备)、游戏机、云主机/云服务器、其他智能穿戴设备等,或者是物联网(internet of things,IOT)设备或智能家居设备如智能热水器、智能灯具、智能空调、智能体重秤等其他类型的电子设备,本申请对设备类型不作任何限制。
可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,可以增加或减少部分硬件结构,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
参考图1,电子设备100可以包括处理器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等。
处理器110通常用于控制电子设备100的整体操作,可以包括一个或多个处理单元。例如:处理器110可以包括中央处理器(central processing unit,CPU),应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),视频处理单元(videoprocessing unit,VPU),控制器,存储器,视频编解码器,数字信号处理器(digital signalprocessor,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)接口,串行外设接口(serial peripheralinterface,SPI)接口等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括第二代(2thgeneration,2G)网络/第三代(3th generation,3G)网络/第四代(4th generation,4G)网络/第五代(5th generation,5G)网络等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(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),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100可以通过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)等制造。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。摄像头193可包括但不限于传统彩色摄像头(RGB camera)、深度摄像头(RGB depth camera)、动态视觉传感器(dynamic vision sensor,DVS)相机等。在一些实施例中,摄像头193可以为深度摄像头。深度摄像头可以采集真实环境的空间信息。
内部存储器121可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。在另一些实施例中,电子设备可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
电子设备100可以包括一个或多个按键190,这些按键190可以控制电子设备100,为用户提供访问电子设备100上的功能。按键190的形式可以是按钮、开关、刻度盘等机械式案件,也可以是触摸或近触摸式传感设备(如触摸传感器)。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。按键190可以包括开机键,音量键等。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于电子设备100不同区域的触摸操作,马达191也可对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,通知等。
电子设备100还可以包括其他输入输出接口,可以通过合适的输入输出接口将其他装置连接到电子设备100。组件例如可以包括音频/视频插孔,数据连接器等。
电子设备100上装备有一个或多个传感器,包括但不限于压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。陀螺仪传感器180B可以用于确定电子设备100的运动姿态。气压传感器180C用于测量气压。磁传感器180D包括霍尔传感器。加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。距离传感器180F,用于测量距离。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。环境光传感器180L用于感知环境光亮度。指纹传感器180H用于采集指纹。温度传感器180J用于检测温度。骨传导传感器180M可以获取振动信号。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的移动操作系统为例,示例性说明电子设备100的软件结构。
图2B是本申请实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将移动操作系统分为四层,从上至下分别为应用程序层,程序框架层/核心服务层,底层库和运行时,以及内核层。
应用程序层可以包括一系列应用程序包。
如图2B所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,设置等应用程序。其中,应用程序服务可以获取到对端设备的设备状态,并呈现在UI界面上,方便用户感知对端设备的连接状态。
程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。程序框架层包括一些预先定义的函数。
如图2B所示,程序框架层可以包括窗口管理器,内容提供器,视图系统,会话管理器,资源管理器,通知管理器,设备状态管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。这些数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
会话管理器用于管理会话状态和会话生命周期,如创建会话、保持会话、关闭会话、移除会话等。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
设备状态管理器,用于记录、变更对端设备的状态,在一些实施例中,对端设备状态包括上线状态、静默状态、下线状态等。对端设备处于上线状态时,当满足静默状态的触发条件时,如最后收发对端设备报文的时间与当前时间的时间差超过定时器所设置的期限,设备状态管理器可以将对端设备的状态由上线状态变更为静默状态。对端设备处于静默状态时,如果成功收发对端设备的报文,设备状态管理器可以将对端设备的状态由静默状态变更为上线状态。对端设备处于静默状态时,如果收发对端设备的报文失败,设备状态管理器可以将对端设备的状态由静默状态变更为下线状态。对端设备处于上线状态时,如果收发对端设备的报文失败,设备状态管理器可以将对端设备的状态由上线状态变更为下线状态。对端设备处于下线状态时,如果成功收发对端设备的报文,设备状态管理器可以将对端设备的状态由下线状态变更为上线状态。更详细的说明可以参考后述实施例。
运行时包括核心库和虚拟机,负责系统的调度和管理,可以指程序运行时所需的一切代码库、框架等。例如,对于C语言来说,运行时包括一系列C程序运行所需的函数库。对于Java语言来说,除了核心库之外,运行时还包括Java程序运行所需的虚拟机等。上述核心库可包括Java语言需要调用的功能函数。应用程序层和程序框架层运行在虚拟机中。虚拟机将应用程序层和程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
底层库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
这里结合启动拍照场景,示例性说明电子设备100软件以及硬件相配合的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
以上对电子设备100的软件架构的介绍仅为示例,可以理解的是,本发明实施例示意的软件架构并不构成对本申请构成具体限定。在本申请另一些实施例中,电子设备100的软件架构可以包括比图示更多或更少的模块,或者组合某些模块,或者拆分某些模块,或者不同的架构布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
下面结合附图说明本申请提供的技术方案。
通信系统10中任意两个及两个以上的设备均可适用于本申请提供的技术方案,为了方便理解,下面以两个设备之间的交互为示例进行说明,多个设备之中的任意两个设备之间的交互可以参考该示例说明。
为了方便区分和理解,下面将两个发生交互的设备分别称为本端设备和对端设备,本端设备可以标记对端设备的状态,本申请实施例对本端设备或对端设备的设备类型不作任何限制,例如,在一些示例中,本端设备可以为手机,或平板电脑,或PC等设备,对端设备可以为手机,或平板电脑,或PC,或智能手表,或智能手环,或耳机等设备。
在本申请提供的实施例中,本端设备对对端设备标记的状态包括:上线状态、下线状态、静默状态,等等。
“上线状态(或称上线、上线态)”是指本端设备发现对端设备并建立连接、可以正常通信的状态,又可称为“在线状态(或称在线、在线态)”。当确认对端设备处于上线状态时,本端设备可以获知到当前与对端设备可以顺畅通信,相互之间可以成功发送或接收消息。
“下线状态(或称下线、下线态)”是指本端设备未发现对端设备,其之间的连接断开或连接异常,本端设备与对端设备无法通信的状态,又可称为“离线状态(或称离线、离线态)”。当确认对端设备处于下线状态时,本端设备可以获知到当前与对端设备无法通信,相互之间发送或接收消息存在障碍。
“静默状态(或称静默、静默态)”是上线状态与下线状态之间的一个中间态,表示不确定当前对端设备是否处于可通信的一种状态,又可称为“存留状态”、“沉默状态”等。对端设备处于静默状态是在一定时间内双方设备之间暂且没有收发通信消息(或报文),需要通过再次探测确认对端设备处于上线状态或下线状态。具体的两个设备间没有通信消息的原因,可能是两个设备之间暂时没有业务往来,也可能是对端设备离开了本端设备连接网络覆盖区域,或者是对端设备为了省电进入睡眠模式暂时关闭了无线连接功能等。
在一些实施例中,可以设置定时器作为被动探测,当被动探测超过设定的时间阈值的时候,会触发将对端设备的状态由上线状态更改为静默状态。在对端设备处于静默状态的情况下,本端设备发起主动探测,主动探测可以指的是本端设备向对端设备发送一个探测消息。如果探测消息发送成功,双方可以正常通信,可以触发将对端设备的状态由静默状态更改为上线状态。如果探测消息发送失败,双方无法正常通信,可以触发将对端设备的状态由静默状态更改为下线状态。
可以理解的是,本申请中“上线状态”、“下线状态”、“静默状态”等,仅为示例用词,并不对其他实施例构成限定,在其他实施例中,也可以用其他词汇代替这些用语,具体应以所述用词所表示的含义为参考。
在本端设备与对端设备组成的系统中,可以设有状态管理器,该状态管理器可以对对端设备所处的状态使用编码标记,如用0表示上线状态、用1表示下线状态、用2表示静默状态,本实施例不作限制。
在本端设备发现对端设备,并成功建立连接后,本端设备可以显示对端设备为上线状态。各个实施例对本端设备与对端设备之间建立的通信连接的具体类型不作任何限制。可例如为Wi-Fi P2P连接,蓝牙连接,USB连接等等,还可以是网络连接,或者通过接入点(accesspoint,AP)建立的通信连接,如在本端设备和对端设备连接路由器加入同一个Wi-Fi网络后,本端设备和对端设备可以通过该Wi-Fi网络建立通信连接。
在本端设备与对端设备建立连接之前,本端设备在发现对端设备后,需要对其进行认证(identification),认证是指根据声明者持有的特定信息,来确认声明者的身份。常见认证方式包括用户名/密码、生物特征(指纹、面部、虹膜、语音等)、短信验证码、二维码、手势密码等。认证成功后,本端设备和对端设备之间可以建立通信连接,本端设备将对端设备的设备状态迁移到上线状态,本端设备和对端设备之间可以相互传送消息,进行正常通信。这个过程也可以称为“登录”。
在首次建立连接后,在对端设备上可以保存认证信息,或者本端设备将对端设备标记为可信任设备,这样下次对端设备与本端设备建立连接时,可以自动与本端设备建立连接,无需用户操作输入认证信息。
参考图3,图3为状态迁移示意图,示出了对端设备上线状态、下线状态、静默状态等各状态之间的迁移情况,并且,在图3中还标注说明了状态迁移条件。
①上线状态→下线状态
当对端设备处于上线状态时,当本端设备向对端设备发送业务报文失败时,会将对端设备的状态从上线状态迁移到下线状态。
②下线状态→上线状态
当对端设备处于下线状态时,当本端设备与对端设备建立连接,并可以成功向对端设备发送业务报文,或接收到对端设备业务报文时,会将对端设备的状态从下线状态迁移到上线状态。
③上线状态→静默状态
本端设备内部设置设备状态位和定时器(或计数器),设备状态位用于标记设备状态,包括复位、置位等状态位,定时器用于计时。对端设备状态处于上线状态下,在本端设备最后一次接收到对端设备心跳报文的时刻的同时,本端设备同步启动定时器(或计数器)。在定时器设定的一定时间阈值之内接收到对端设备的心跳报文,就可以维持上线状态。当在定时器设定的一定时间阈值之内(如第一时限)未收到对端设备的心跳报文,即最后收发报文的时间与当前时间的时间差超过定时器设置的期限,就可以将对端设备的状态由上线状态变更为静默状态。
④静默状态→上线状态
当对端设备状态处于静默状态时,当本端设备的应用调用静默探测接口,主动或被动触发静默探测,如主动发送广播探测报文。如果探测成功,如收到对端设备的回应,则将对端设备的状态从静默状态变更为上线状态。
相对于单播,发送广播探测报文的优点是广播在单位时间内发送的报文次数多,报文不易丢失,发送成功率更高。
关于本端设备触发静默探测,可以由用户主动触发,比如当用户打开应用,或者说,当应用转为前台运行时,又或者,当用户点击特定控件触发探测,应用就会调用静默探测接口,发送广播探测报文,探测对端设备是否在线,如果收到对端设备的回应,则可以将对端设备的状态从静默状态变更为上线状态。
当对端设备状态处于静默状态时,当本端设备被动接收到对端设备的新的消息/报文时,也会将对端设备的状态从静默状态变更为上线状态。
⑤静默状态→下线状态
当对端设备状态处于静默状态时,当本端设备的应用调用静默探测接口,主动或被动触发静默探测,如主动发送广播探测报文。如果探测失败,如未收到对端设备的回应,则将对端设备的状态从静默状态变更为下线状态。
结合图3,参考图4,图4也是对端设备各状态之间的状态迁移图,尤其是更详细地示出了由上线状态变更为静默状态的一种具体机制。
该状态迁移机制的实施例包括:
(1)设备上线
在本端设备发现对端设备,成功认证并成功建立连接后,本端设备可以显示对端设备为上线状态。各个实施例对本端设备与对端设备之间建立的通信连接的具体类型不作任何限制。如Wi-Fi P2P连接,蓝牙连接,USB连接,网络通信连接等等。
(2)上线状态→下线状态
当对端设备处于上线状态时,当本端设备向对端设备发送业务报文失败时,会将对端设备的状态从上线状态迁移到下线状态。在设备下线的同时,(o)终止定时器。
(3)下线状态→上线状态
当对端设备处于下线状态时,当本端设备与对端设备再次成功建立连接,可以成功向对端设备发送业务报文,或接收到对端设备业务报文时,会将对端设备的状态从下线状态迁移到上线状态。
(4)上线→静默
本端设备内部设置设备状态位和定时器(或计数器),设备状态位用于标记设备状态,包括复位、置位等状态位,定时器用于计时。在一个示例中,复位用0表示,置位用1表示。
当对端设备状态变更为上线状态时,本端设备(a)初始化设备状态位,并同步(c)启动定时器(或计数器)。本实施例对定时器设置的时间不作限制。
在定时器未溢出中断的时候,每当本端设备向对端设备成功发送报文,或成功接收对端设备的报文时,会触发本端设备(b)复位设备状态位,并同时重新(c)启动定时器。
当定时器计时超时第一时间后,即(d)定时器溢出中断,本端设备(e)读取设备状态位。如果读取到当前设备状态位为复位,即(f)设备状态位不是置位,则将(g)设备状态位更改为置位,同时(h)结束定时器溢出中断,定时器重新计时,即重新(c)启动定时器。
当定时器超时第二时间后,即(d)定时器再次溢出中断时,本端设备(e)读取设备状态位,如果读取到(i)当前设备状态位为置位,则满足静默状态的触发条件,那么会(j)变更对端设备的标识状态,即将对端设备的状态从上线状态变更为静默状态,同时(k)终止定时器。即,当处于复位状态的定时器连续超时两次后,则将对端设备的状态从上线状态变更为静默状态,同时终止定时器。
其中,第一时间和第二时间的时间长短可以相同,也可以不同,本申请实施例对此不作限制。
(5)静默→上线
当对端设备状态处于静默状态时,当本端设备的应用调用静默探测接口,主动或被动触发静默探测,如主动广播探测报文。如果探测成功,如收到对端设备的回应,则将对端设备的状态从静默状态变更为上线状态。
相对于单播,发送广播探测报文的优点是广播在单位时间内发送的报文次数多,报文不易丢失,发送成功率更高。
关于本端设备触发静默探测,可以由用户主动触发,比如当用户打开应用,或者说,当应用转为前台运行时,又或者,当用户点击特定控件触发探测,应用就会调用静默探测接口,发送广播探测报文,探测对端设备是否在线,如果收到对端设备的回应,则可以将对端设备的状态从静默状态变更为上线状态。
当对端设备状态处于静默状态时,当本端设备被动接收到对端设备的新的报文/消息时,也会将对端设备的状态从静默状态变更为上线状态。
(6)静默→下线
当对端设备状态处于静默状态时,当本端设备的应用调用静默探测接口,触发静默探测,如主动发送广播探测报文。如果探测失败,如未收到对端设备的回应,则将对端设备的状态从静默状态变更为下线状态,同时终止定时器。
在一些实施例中,本端设备上安装有应用,该应用中可以显示对端设备的状态,方便用户通过用户界面感知对端设备的状态。
参考图5所示的用户界面500,文件应用中可以显示与本端设备连接的对端设备的标识和名称,如用户界面500中的设备状态栏501,设备状态栏501中可以显示有与本机建立连接的设备标识,如MateBook设备图标502、MatePad设备图标、HuaWei P50设备图标503。处于上线状态、静默状态、下线状态的设备标识不同,方便用户快速区分设备状态。如在本实施例中,设备状态栏501中MateBook设备图标502显示为高亮,表示MateBook设备处于上线状态,区别于高亮显示,HuaWei P50设备图标503显示为灰暗,表示HuaWei P50设备处于静默状态,而下线状态的设备不显示在设备状态栏501中。该示例不对其他可能的实施例构成限制,在其他的实施例中,上线状态、静默状态、下线状态也可以以不同颜色显示,只要便于用户区分就可。
在一种实施方式下,如图6A所示,用户想查看静默状态下的设备是否还在保持连接,可以在用户界面500中点击静默标识下的HuaWei P50设备图标503,此时触发静默探测,本端设备向对端设备主动发送探测报文。如果收到对端设备的探测回应,则HuaWei P50设备由静默状态变更为上线状态,即图6A中用户界面510所示,HuaWei P50设备图标503由灰暗变为高亮。如果在规定时间内未收到对端设备的探测回应,则HuaWei P50设备由静默状态变更为下线状态,即图6B中用户界面520所示,HuaWei P50设备图标503消失,不显示在设备状态栏501中。该示例不对其他可能的实施方式构成限制,在其另一个实施例中,无需用户主动点击设备图标发起静默探测,也可以是用户在打开应用的时刻,或者说将应用调用至前台运行的时刻,应用自动向静默状态的设备发起静默探测,如果还处在连接活跃状态就变更为上线状态,如果已断开连接就变更为下线状态,电子设备也可以不需要显示静默状态的标记,静默状态的设备的状态转换确认会在非常短的时间内完成,只向用户呈现上线状态的设备和/或下线状态的设备。
可以理解的是,本申请实施例中所描述的各个用户界面仅为示例界面,用于辅助阅读者理解本申请描述的技术方案,并不对本申请其他实施例构成限制。在其他实施例中,用户界面中可以采用不同的界面布局,可以包括更多或更少的控件,可以增加或减少其他功能选项,可以根据实际情况增减更多或更少的用户界面,或设计不同的人机交互操作等,使得用户界面更迎合用户的使用体验。示例界面也可以迁移用于其他类型设备上,只要基于本申请提供的同一发明思想的技术方案,都在本申请保护范围内,这里不多赘述。
结合图3、图4,下面参考图7、图8、图9、图10说明本端设备(设备A)与对端设备(设备B)之间具体的状态变更过程。其中,设备A,又称发现端设备,包括应用服务、近距离通信服务、状态管理服务等服务,设备B,又称被发现端设备,也包括应用服务、近距离通信服务、状态管理服务等服务。
本申请实施例对设备发现、设备连接所使用的具体技术手段不作任何限制。设备A与设备B之间的通信连接可以是近距离通信连接或远距离通信连接,如USB连接、蓝牙连接、Wi-Fi P2P连接、WLAN连接、无线射频识别(radiofrequencyidentification,REID)连接、ZigBee连接等,本实施例不作限制。或者,设备A和设备B可以登录有同一个账号,或者其登录账号属于同一群组(如同一家庭账号),也可以是不同账号,通过云服务器连接,本实施例对这些不作限制。
图7为设备A与设备B之间发现、连接、认证的信息流转过程示意图。具体包括:
设备发现阶段:
S101,设备B发布服务(publish Service)。
设备B的应用服务通知近距离通信服务发布可被发现的服务,方便附近的其他设备发现自己。
S102,设备A开始查找(start Discovery)。
设备A的应用服务通知近距离通信服务开启查找周围设备。
S103,设备A和设备B的近距离通信服务进行广播扫描。
包括主动发现和被动发现两种模式。
主动发现:发现侧设备发送搜索广播,被发现侧设备回复该广播。
被动发现:被发现侧设备主动发送设备信息广播,发现侧设备监听广播。
即,发现端设备通过广播或者监听手段发现周边设备,并提示调用者选择设备进行连接。被发现端设备通过反馈监听或者广播手段对周边设备通告自身的设备信息,使自身设备可以被周边的设备发现感知。
S104,设备A发现设备B(on Device Found)。
设备B在收到设备A的广播信息后,反馈自身的设备信息,设备B被设备A发现。设备发现的结果包含设备基本信息和连接能力信息。轻量级设备侧,一般仅需要支持被发现功能。
示例性的,对于低功耗蓝牙(bluetoothlowenerge,BLE),可以通过BLE广播和扫描实现低功耗的发现设备,设备发现支持filter函数的过滤。BLE基于低功耗发现协议栈实现后台实时发现。BLE支持主动发现和被动发现两种模式。主动发现:发现侧设备发送BLE搜索广播,被发现侧设备回复该广播。被动发现:被发现侧设备主动发送设备信息广播,发现侧设备监听广播。
示例性的,对于Wi-Fi,仅能发现已经加入局域网的设备。Wi-Fi的无线接入点与终端设备(AP-STA)连接模式下或者有线网络连接下,协议层均使用互联网协议(internetprotocol,IP)层组播或者广播机制进行发现与连接。Wi-Fi可以基于受限应用协议(constrainedapplicationprotocol,COAP)协议实现发现对端设备。具体的,发现侧设备在局域网内以COAP协议格式发送一个带有discovery信息的广播。被发现侧设备收到discovery广播的设备单播回复自己的设备信息。
非加密信息交换阶段:
在设备A发现设备B之后,在业务触发时或业务触发前,为了方便通信,基于Wi-Fi/BLE/USB等不同通信方式,设备A与设备B之间会建立一条专用的物理链路通道用于通信。在资源有限的通信系统中,如BLE,通道无法独占,因此在BLE中建立了连接可以理解为,在约定的时间段内,双方都到一个指定的物理信道Channel上通信。
S105,设备A打开通道(open Channel)。
设备A的应用服务通知近距离通信服务打开通道。
S106,认证消息服务。
设备A与设备B之间根据给定连接建立通道。
S107,设备B打开通道(on Channelopened)。
S108,设备A的应用服务通知近距离通信服务发送消息(sendMessage)。
S109,设备A的应用服务通知近距离通信服务认证设备(verify Device)。
连接认证阶段:
当建立信任关系的设备A与设备B在进行通信时,双方首先完成信任关系绑定,然后基于存储在本地的对端身份公钥相互进行认证。在每次通信时完成双向身份认证以及会话密钥协商,之后设备使用此会话密钥来解密双方设备间的传输通道。
S110,安全令牌服务(securitytokenservice,STS)认证。
设备A对设备B执行STS认证,基于双方身份标识密钥协商会话密钥。认证成功后,返回设备B的ID和派生密钥,前述给定连接转为安全连接。
S111,设备认证通过(on Device Verify Pass)。
设备A的近距离通信服务通知应用服务该设备B认证通过。
S112,连接已认证设备(connect Verified Device)。
设备A的应用服务通知近距离通信服务向已认证的设备B发起连接。
S113,连接流程。
设备A与设备B建立安全连接。
S114,保存连接。
S115,近距离通信服务通知状态管理器初始设备状态位,状态管理器开启超时计数。
在设备B切换至上线状态的时刻,设备状态管理器初始化设备状态位,并启动定时器,定时器用于计量设备B是否达到转为静默状态的时限。
S116,设备A的近距离通信服务告知应用服务已连接设备B(on Connected)。
图8为设备A与设备B之间建立连接之后,数据传输、状态更新的信息流转过程示意图。传输服务模块可以向业务模块提供会话session管理和基于session的数据收发功能,并且通过加密功能提供收发报文的加解密保护。即,使用会话密钥加密通信数据,设备A与设备B进行加密通信。具体包括:
创建会话服务阶段:
S201,设备A与设备B分别创建会话服务器(create Session Server)。
业务建立会话与执行传输之前,设备A与设备B的应用服务分别通知自己近距离通信服务创建会话服务器,并注册监听回调函数。该监听回调函数用于在数据传输各个环节,被动监听设备间交互的报文,包括控制报文和数据报文,并基于报文收发事件,重置设备状态位。
创建会话服务器的过程中,设备A与设备B并没有收发对方报文,因此定时器持续计数。
建立会话阶段:
S202,设备A打开会话通道(open Session)。
在设备A与设备B创建会话服务器之后,接收端即设备B等待发送端的创建会话的消息,发送端即设备A根据会话服务的名称和设备ID建立一个会话,设备A的应用服务通知近距离通信服务打开会话通道。
S203,设备A通知设备B创建传输通道。
获取到设备A的近距离通信服务向设备B的近距离通信服务发送消息,设备A与设备B的状态管理器重置设备状态位,即每次成功发送或接收消息时,会将设备状态位复位。
S204,设备B即接收端收到回调,打开会话通道(onSession opened)。
设备B的近距离通信服务接收到设备A的打开会话通道的请求后,告知应用服务,应用服务打开会话通道,并返回结果。
S205,设备B向设备A返回已打开会话通道的结果。
获取到设备B的近距离通信服务向设备A的近距离通信服务发送消息,设备A与设备B的状态管理器重置设备状态位,即每次成功发送或接收消息时,会将设备状态位复位。
S206,设备A即发送端收到回调,已打开会话通道(onSession opened)。
S207,返回会话(returnsession)。
设备A的应用服务确认该会话连接生效。至此,已建立并打开设备A与设备B之间的传输通道,成功建立会话连接。
发送数据阶段:
在设备A与设备B成功建立会话连接之后,可以通过该会话连接互相发送或接收指令、数据等。发送或接收的数据可以包括但不限于以下三种数据类型:Byte型,用于大量数据交换;Message型,用于即时消息;File型,用于文件发送。
S208,设备A的应用服务向近距离通信服务发送会话消息(sessionsendMessage)。
S209,设备A的近距离通信服务向设备B的近距离通信服务发送数据。
获取到设备A的近距离通信服务成功向设备B的近距离通信服务发送消息,设备A与设备B的状态管理器重置设备状态位。
S210,设备B的应用服务接收到近距离通信服务收到的会话消息(on MessageReceived)。
S211,设备B向设备A返回已收到消息的结果。
获取到设备B向设备A成功返回结果的报文,设备A与设备B的状态管理器重置设备状态位。
关闭会话阶段:
关闭设备间的传输通道,释放相关资源。
S212,设备A的应用服务通知近距离通信服务关闭会话(close Session)
S213,设备A的近距离通信服务向设备B的近距离通信服务发送关闭会话的消息。
获取到设备A的近距离通信服务成功向设备B的近距离通信服务发送消息,设备A与设备B的状态管理器重置设备状态位。
S214,设备B的应用服务接收到近距离通信服务收到的关闭会话的消息(onSession Closed),设备B的应用服务关闭该会话。
移除会话服务阶段:
S215,设备A与设备B分别删除会话服务器(remove Session Server)。
在设备A的应用服务与设备B的应用服务关闭会话之后,设备A与设备B的应用服务分别通知自己近距离通信服务删除会话服务器,并撤销先前注册的监听回调函数。
删除会话服务器的过程中,设备A与设备B并没有收发对方报文,因此定时器持续计数。
图9为设备A与设备B正常连接状态下,突发上线变下线,和下线恢复上线的信息流转过程示意图。示例性的,上线状态下,设备A向设备B发送的控制报文或者业务报文发送失败会触发上线变更为下线。下线状态下,设备A成功接收到设备B发送的控制报文或者业务报文会触发下线变更为上线。基于状态管理器(或称设备状态迁移状态机),当设备状态(包括“发现”、“上线”、“下线”、“静默”等)发生变更时,实时调用应用注册的监听回调函数,通知应用该对端设备状态发生变更。
突发下线阶段:
S301,设备A的应用服务将消息发送给近距离通信服务。
设备A向设备B发送消息,设备A的应用服务将获取到的消息传递给近距离通信服务,再由设备A的近距离通信服务将消息发送给设备B的近距离通信服务。
S302,设备A的近距离通信服务向设备B的近距离通信服务发送消息。
S303,设备A的近距离通信服务获知消息发送失败,停止超时计数,状态管理器将设备B由上线状态变更为下线状态。
当对端设备即设备B处于上线状态下,基于确定的重发策略重试若干次后,依然不能成功完成报文发送(包括控制报文和数据报文),确认报文发送失败事件,触发设备B下线。
S304,设备A的近距离通信服务通知应用服务,设备B的状态由上线状态变更为下线状态。
S305,设备A的应用服务刷新应用界面,屏蔽下线设备,即不显示设备B的标识。
在一些实施例中,下线设备的标识可以不显示在应用界面中。
下线恢复阶段:
S306,设备A的近距离通信服务接收到下线设备即设备B的近距离通信服务发送的消息。
当对端设备即设备B处于下线状态时,本端设备即设备A接收到该对端设备的报文(包括控制报文和数据报文),触发设备B重新上线。
S307,设备A的近距离通信服务向设备B的近距离通信服务发送探测消息。
为了确认设备A与设备B之间连接有效,设备A向设备B发送探测消息。
S308,设备A的近距离通信服务获知该探测消息发送成功,即设备B成功接收该探测消息,状态管理器将设备B由下线状态变更为上线状态,并重置设备状态位。
S309,设备A的近距离通信服务通知应用服务,设备B的状态由下线状态变更为上线状态。
S310,设备A的应用服务刷新应用界面,显示上线设备,即显示设备B的标识。
在一些实施例中,上线设备的图标可以显示在应用界面中,以高亮标识显示,方便用户快速感知与本端设备正在连接、可以正常通信的对端设备。
在设备B切换至上线状态的时刻,设备状态管理器重置设备状态位的同时,定时器开始工作,重新超时计数。
图10为设备A将设备B的状态由上线变更为静默的情况,以及,在静默状态下,主动触发探测,探测对端设备是否在线的情况下的信息流转过程示意图。基于状态管理器(或称设备状态迁移状态机),当设备状态发生变更时,实时调用应用注册的监听回调函数,通知应用该对端设备状态发生变更。
在一些实施例中,在设备A将设备B设为静默状态时,设备A与设备B之间可以关闭会话,但不移除会话服务。在静默状态变更为下线状态时,再移除会话服务。在静默状态恢复到上线状态时,再将会话状态恢复到“正常服务状态”。
或者,在一些实施例中,在设备A将设备B设为静默状态时,设备A与设备B之间并不关闭会话,可以将会话状态从“正常服务状态”迁移到“会话保持状态”。在静默状态恢复到上线状态时,再将会话状态恢复到“正常服务状态”。在静默状态变更为下线状态时,再关闭并移除会话服务。
变更通知(上线→静默)阶段:
S401,状态管理器持续计数,当发现超时,设备A的状态管理器向近距离通信服务通知状态变更,设备B由上线状态变更为静默状态。
当在定时器设定的一定时间阈值之内未收到对端设备的心跳报文,即最后收发报文的时间与当前时间的时间差超过定时器设置的期限,就可以将对端设备的状态由上线状态变更为静默状态。
参考前述实施例,可以设置在定时器连续溢出中断两次或两次以上时,触发将设备B由上线状态变更为静默状态。
S402,设备A的近距离通信服务通知应用服务,设备B的状态由上线状态变更为静默状态。
S403,设备A的应用服务刷新应用界面,置灰静默设备。
置灰静默设备即设备A将设备B的标识显示为与上线设备的高亮标识不同的灰色标识,不同的标识有助于用户区分上线设备与静默设备。
用户触发探测阶段:
S404,设备A检测到针对于静默设备的用户操作。
本申请实施例对触发主动探测的用户操作不作限制,在一些实施例中,用户点击置灰的静默设备图标,可以触发应用发出主动探测消息,在另一些实施例中,用户在前台运行应用,即触发该应用发出主动探测消息。
S405,触发静默设备探测。
用户操作触发设备A的应用服务向静默设备发送主动探测消息,设备A的应用服务将探测消息发送给近距离通信服务。即,设备A检测到作用于应用上针对于静默设备的用户操作之后,基于设备呈现策略,应用按需调用系统提供的静默探测接口,发起静默探测,快速探测静默设备的实时状态。
S406,设备A的近距离通信服务向设备B的近距离通信服务发送探测消息。
为了确认设备A与设备B之间连接有效,设备A向设备B发送探测消息。在一种实现方法中,发送探测消息可以是广播探测报文。相对于单播,发送广播探测报文的优点是广播在单位时间内发送的报文次数多,报文不易丢失,发送成功率更高。
探测事件响应包括探测消息发送失败和发送成功两种情况。基于探测结果,执行不同状态变更,将静默状态切换到上线状态,或将静默状态切换到下线状态,并同步刷新应用界面。
步骤S407-S409为探测消息发送失败的情况。
S407,设备A的近距离通信服务获知探测消息发送失败,停止超时计数,状态管理器将设备B由静默状态变更为下线状态。
当对端设备即设备B处于静默状态下,确认探测报文发送失败时,触发设备B下线。
S408,设备A的近距离通信服务通知应用服务,设备B的状态由静默状态变更为下线状态。
S409,设备A的应用服务刷新应用界面,屏蔽下线设备,即不显示设备B的标识。
在设备A的应用服务获取到设备B已下线,会同步刷新应用界面。
步骤S410-S412为探测消息发送成功的情况。
S410,设备A和设备B的近距离通信服务获知该探测消息发送成功,状态管理器将设备B由静默状态变更为上线状态,并重置设备状态位。
当对端设备即设备B处于静默状态下,确认探测报文发送成功时,触发设备B上线。
S411,设备A和设备B的近距离通信服务通知应用服务,设备B的状态由静默状态变更为上线状态。
S412,设备A和设备B的应用服务刷新应用界面,置亮上线设备。
在一种方式中,将设备B由表示静默状态的灰色标识变更显示为表示上线状态的高亮标识。
在设备B切换至上线状态的时刻,定时器开始工作,重新超时计数,同时设备状态管理器重置设备状态位。
当设备B处于上线状态,设备A与设备B可以正常通信,会话一直保持正常服务状态,并开启定时器计时。超出第一时间阈值T1,设备A与设备B之间未有任何收发消息,读取到当前设备状态位为复位时,会将设备状态位由复位变为置位,并重启定时器。超出第二时间阈值T2,设备A与设备B之间未有任何收发消息,读取到当前设备状态位为置位时,会将设备B的状态由上线变更为静默。可以理解的是,在T1或T2内任意时刻设备A与设备B之间成功收发消息,会触发设备B重置上线状态,复位设备状态位。
可以理解的是,静默状态与下线状态是不同的,在一些实施例中,当设备B处于静默状态时,设备B并未掉线,其设备A与设备B之间的会话可以处于会话保持状态。当判断出设备B由静默状态变更为上线状态后,可以将会话由会话保持状态迁移到正常服务状态。当判断出设备B由静默状态变更为下线状态后,可以将会话状态由会话保持状态迁移到会话退出状态。
可以理解的是,设备B下线通常是移动终端因网络故障或者断开连接、关机等原因造成的掉线,因此当设备B重新登录上线的时候,需重新开始一个会话的创建、配置过程,该会话的状态为初始状态,在此状态下,请求登录过程中,交换数据量较大,需要做较多的资源分析与查询工作。
结合前述各个实施例,下面介绍本申请实施例提供的一种探测方法,图11为本申请实施例提供的探测方法的流程图。
本方法实施例提供了一种探测方法,用于第一设备探测第二设备的状态,解决设备状态不能及时更改、设备功耗高、繁琐通信等问题。该方法取消了通信中常用心跳机制,彻底解决功耗高、传输带宽被占用的问题,还进一步优化了通信效率。通过监听设备间被动或主动探测的业务报文收发事件和收发结果,驱动设备在线状态机迁移,设备状态变化可以被快速感知。该方法中增加了主动探测机制,并设立新的设备状态—静默态,以及静默探测接口,支持应用决定该设备各种状态的UI呈现和业务处理策略。第二设备处于上线状态时,当被动探测超时,上线状态会变更为静默状态。在静默态下,第一设备可以按需主动广播探测报文,确认对端设备是否在线,解决设备状态容易报错、用户体验差的问题,有效降低了设备下线时延和功耗,避免了由于短暂掉线导致的频繁上线下线的缺陷,进一步提高了通信效率。
本实施例提供的方法可以应用于第一设备与第二设备组成的通信系统中。第一设备和/或第二设备可以为配置有通信装置的终端设备,可以接收或发送数据、信令等消息。第一设备即为前述实施例中的本端设备或设备A,第二设备即为前述实施例中的对端设备或设备B,本端设备可以识别对端设备当前的设备状态并呈现在UI界面中,方便用户快速区分各个设备的连接状态。
第一设备或第二设备的设备类型可以但不限于是手机、笔记本电脑、PAD、智能手环、智能手表、PC、智能电视(又可称为智慧屏、大屏等)、智能音箱等,还可以为桌面型计算机、膝上型计算机、手持计算机、AR设备、VR设备、AI设备、车机(车载设备)、游戏机、跑步机、云主机/云服务器、其他智能穿戴设备等,或者是IOT设备,或智能家居设备如智能热水器、智能灯具、智能空调、智能体重秤等其他类型的电子设备,本申请对第一设备或第二设备的设备类型不作任何限制。第一设备或第二设备的硬件结构可以参考前述实施例中对电子设备100的说明。
图11是本实施例提供的探测方法的流程图,该流程图示出了第二设备由上线状态变更为静默状态、由静默状态变更为上线状态、由静默状态变更为下线状态、由下线状态变更为上线状态的过程,具体包括步骤如下:
S501,第一设备发现第二设备并建立连接,第一设备与第二设备正常通信,第二设备的状态为上线状态。
在第一设备发现第二设备,成功认证并成功建立连接后,第一设备可以显示第二设备为上线状态。本实施例对第一设备与第二设备之间建立的通信连接的具体类型不作任何限制。可以是有线连接或无线连接,如Wi-Fi P2P连接,蓝牙连接,USB连接,其他网络通信连接等等。该通信连接可以用于传输数据、信令等。
其中,第一设备记录的第二设备的状态包括上线状态、下线状态、静默状态,上线状态表示第一设备与第二设备之间通信正常,下线状态表示第一设备与第二设备之间通信异常,静默状态表示第一设备与第二设备之间的通信是否正常处于不确定状态,需要通过再次探测确认第二设备处于上线状态或下线状态。
S502,第一设备复位设备状态位,启动定时器计时。
第一设备内部设置设备状态位和定时器(或计数器),设备状态位用于指示定时器的中断次数,设备状态位可以包括复位、置位等状态位,定时器用于计时。在一个示例中,复位用0表示,置位用1表示。
当第二设备状态变更为上线状态时,第一设备初始化设备状态位,并同步启动定时器(或计数器)。本实施例对定时器设置的时间不作限制。
S503,第一设备判断是否收到第二设备的消息。
如果是,即收到第二设备的消息(或称报文),则执行步骤S502,即复位设备状态位,并重新启动定时器开始重新计时。即在定时器未溢出中断的时候,每当第一设备向第二设备成功发送报文,或成功接收第二设备的报文时,会触发第一设备复位设备状态位,并同时重新启动定时器。
如果否,即未收到第二设备的消息(或称报文),则执行步骤S504。
S504,定时器溢出中断。
第一设备检测到定时器计时超时第一时间,定时器溢出中断。
S505,第一设备置位设备状态位,重新启动定时器计时。
当检测到定时器溢出中断,第一设备读取设备状态位。当读取到当前设备状态位为复位时,触发置位设备状态位,同时重新启动定时器计时。
S506,第一设备判断是否收到第二设备的消息。
如果是,即收到第二设备的消息(或称报文),则执行步骤S502,即复位设备状态位,并重新启动定时器开始重新计时。即在设备状态位为置位时,在第二次定时器计时还未溢出中断的时候,每当第一设备向第二设备成功发送报文,或成功接收第二设备的报文时,会触发第一设备复位设备状态位,并同时重新启动定时器。
如果否,即未收到第二设备的消息(或称报文),则执行步骤S507。
S507,定时器再次溢出中断,第一设备将第二设备的状态由上线状态变更为静默状态,终止定时器。
第一设备检测到定时器计时超时第二时间,定时器再次溢出中断,第一设备读取设备状态位,当读取到当前设备状态位为置位,则满足静默状态的触发条件,那么第一设备会变更第二设备的标识状态,将第二设备的状态从上线状态变更为静默状态,同时终止定时器。即,在一种实现方式中,当处于复位状态的定时器连续超时两次后,则将对端设备的状态从上线状态变更为静默状态,同时终止定时器。其中,第一时间和第二时间的时间长短可以相同,也可以不同,本申请实施例对此不作限制。
S508,第一设备向第二设备发送探测消息。
该探测消息又称第一探测报文。
在一些实施例中,在静默状态下第一设备的应用调用静默探测接口,向第二设备发送探测消息,是由用户操作触发的主动探测,比如当用户打开应用,或者说,当应用转为前台运行时,又或者,当用户点击特定控件触发探测,应用就会调用静默探测接口,发送广播探测报文,探测对端设备是否在线,如果收到对端设备的回应,则可以将对端设备的状态从静默状态变更为上线状态。
在另一些实施例中,在静默状态下第一设备先接收到第二设备的消息,然后第一设备向第二设备发送探测消息,验证是否可以正常通信。
在一些实施例中,发送探测消息可以是指第一设备广播探测报文。相对于单播,发送广播探测报文的优点是广播在单位时间内发送的报文次数多,报文不易丢失,发送成功率更高。
S509,第一设备判断是否探测成功。
如果是,即第一设备收到第二设备的探测响应,则执行步骤S510。
如果否,即第一设备未收到第二设备的探测响应,则执行步骤S511。
S510,第一设备将第二设备的状态由静默状态变更为上线状态,并执行步骤S502。
如果探测成功,则将第二设备的状态从静默状态变更为上线状态。同时复位设备状态位,并重新启动定时器开始重新计时。
S511,第一设备将第二设备的状态由静默状态变更为下线状态,终止定时器。
如果探测失败,则将第二设备的状态从静默状态变更为下线状态,同时终止定时器。
S512,第一设备与第二设备恢复正常通信。
S513,第一设备将第二设备的状态由下线状态变更为上线状态,并执行步骤S502。
在第二设备已下线状态下,当第一设备与第二设备再次成功建立连接,可以互相成功发送报文时,第一设备会将第二设备的状态从下线状态迁移到上线状态,并同时复位设备状态位,重新启动定时器开始重新计时。
此外,第二设备处于上线状态时,当第一设备向第二设备发送业务报文失败时,会直接将第二设备的状态从上线状态迁移到下线状态。在设备下线的同时,终止定时器。
实施本实施例提供的方法,可以解决系统中设备间通过心跳报文保活机制导致的功耗大、占用传输带宽、频繁上线下线等问题,通过引入设备的新状态,即静默态,支持应用决定各种状态的UI呈现和业务处理策略,解决设备状态不能及时更新的问题,进一步优化了通信效率,增强了人机交互性能,可以给用户提供更直观、更易懂、更便利的应用交互界面,通过监听设备间业务报文收发事件和收发结果,驱动设备在线状态机迁移,用户可以实时感知设备状态的变化,提高了用户体验。
结合前述实施例,下面说明本申请实施例提供的一种电子设备的功能模块。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。
参考图12,图12示出了一种电子设备100的功能模块的结构框图。该电子设备100可以包括通信模块1201,计时模块1202,判断模块1203,状态管理模块1204,会话管理模块1205,检测模块1206,显示模块1207等。或者这些功能模块分布在电子设备100与对端设备所组成的通信系统中。
通信模块1201用于接收或发送报文,包括数据报文和控制报文等。通信模块1201又可以包括发送模块1208和接收模块1209。发送模块1208,用于将从应用获取的消息发送给对端设备。对端设备在静默状态下,在检测模块1206检测到用户操作触发的主动探测的指令时,发送模块1208向对端设备发送探测报文,该探测报文用于探测对端设备是否还处于正常连接状态。接收模块1209用于接收来自对端设备的报文,并传递给应用。通信模块1201可以将接收或发送报文成功或失败的消息通知给状态管理模块1204、计时模块1202等。具体说明可以参考前述实施例,这里不再赘述。
计时模块1202,用于设置定时器,在电子设备100处于上线状态下,每次电子设备100成功发送或接收报文,就会将设备状态位复位,并重置定时器,定时器从最后一次收发报文的时刻开始计时,计算电子设备100与对端设备之间未通信的时限是否超过定时器阈值。当定时器溢出中断,计时模块1202会通知判断模块1203。
判断模块1203,用于判断当前设备状态是否满足静默状态的触发条件。当判断模块1203收到计时模块1202定时器溢出中断的消息,判断模块1203读取当前设备状态位。如果读取到当前设备状态位为复位,那么就将设备状态位改为置位,如果读取到当前设备状态位为置位,那么就满足静默状态的触发条件,通知状态管理模块1204变更设备状态。
状态管理模块1204,用于记录、变更对端设备的状态,对端设备状态包括上线状态、静默状态、下线状态等。对端设备处于上线状态时,当状态管理模块1204收到判断模块1203变更静默状态的消息时,状态管理模块1204可以将对端设备的状态由上线状态变更为静默状态。对端设备处于静默状态时,当状态管理模块1204收到通信模块1201成功收发报文的消息时,状态管理模块1204可以将对端设备的状态由静默状态变更为上线状态。对端设备处于静默状态时,当状态管理模块1204收到通信模块1201收发报文失败的消息时,状态管理模块1204可以将对端设备的状态由静默状态变更为下线状态。对端设备处于上线状态时,当状态管理模块1204收到通信模块1201收发报文失败的消息时,状态管理模块1204可以将对端设备的状态由上线状态变更为下线状态。对端设备处于下线状态时,当状态管理模块1204收到通信模块1201收发报文成功的消息时,状态管理模块1204可以将对端设备的状态由下线状态变更为上线状态。
会话管理模块1205,用于管理会话状态和会话生命周期,如创建会话、保持会话、关闭会话、移除会话等。
检测模块1206可用于检测用户作用于电子设备100上的用户操作。例如检测模块1206可以检测用户作用于应用界面上对端设备图标的点击、划动操作,并生成对该对端设备的探测指令。用户操作可以包括:触控操作、语音操作、手势操作等。
显示模块1207可以用于显示用户界面,方便用户在界面中感知对端设备的状态,如上线状态显示为该设备图标高亮,静默状态显示为该设备图标置灰,下线状态不显示在用户界面中。显示模块1207可以根据状态管理模块1204的状态变更通知,对应变化显示不同状态的设备图标标识。
关于通信模块1201,计时模块1202,判断模块1203,状态管理模块1204,会话管理模块1205,检测模块1206,显示模块1207等更多功能性的描述,可以参考图1至图11等前述实施例的说明,这里不再赘述。
上述实施例所描述的实现方式仅为示例性说明,并不对本申请其他实施例构成任何限制。具体内部实现方式可能根据电子设备类型不同、所搭载的操作系统的不同、所使用的程序、所调用的接口的不同而不同,本申请实施例不作任何限制,可以实现本申请实施例所描述的特征功能即可。本申请的各实施方式可以任意进行组合,以实现不同的技术效果。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (16)
1.一种探测方法,其特征在于,所述方法包括:
第一设备与第二设备建立连接,其中,所述第一设备记录的所述第二设备的状态包括上线状态、下线状态、静默状态,所述上线状态表示所述第一设备与所述第二设备之间通信正常,所述下线状态表示所述第一设备与所述第二设备之间通信异常,所述静默状态表示所述第一设备与所述第二设备之间的通信是否正常处于不确定状态,需要通过再次探测确认所述第二设备处于所述上线状态或所述下线状态;
当接收到所述第二设备的报文时,所述第一设备刷新所述第二设备的状态为所述上线状态,并启动定时器开始计时;
所述第一设备确认未收到所述第二设备的报文的时间间隔超出第一时限;
所述第一设备将所述第二设备的状态由所述上线状态变更为所述静默状态。
2.根据权利要求1所述的方法,其特征在于,所述第一设备设置有设备状态位,所述设备状态位指示所述定时器的中断次数,所述设备状态位包括复位、置位,所述方法还包括:
当所述第一设备刷新所述第二设备的状态为所述上线状态时,所述第一设备将所述设备状态位变为所述复位;
当所述第一设备检测到所述定时器溢出中断时,所述第一设备读取所述设备状态位;
如果读取到所述设备状态位为所述复位,那么所述第一设备将所述设备状态位由所述复位变为所述置位;如果读取到所述设备状态位为所述置位,那么所述第一设备确认满足变更所述静默状态的触发条件。
3.根据权利要求2所述的方法,其特征在于,所述第一设备确认未收到所述第二设备的报文的时间间隔超出第一时限,具体包括:
所述第一设备检测到所述定时器第一次溢出中断,所述第一设备读取到所述设备状态位为所述复位;
所述第一设备将所述设备状态位由所述复位变为所述置位,并重启所述定时器开始计时;
所述第一设备检测到所述定时器第二次溢出中断,所述第一设备读取到所述设备状态位为所述置位,所述第一设备确认满足变更所述静默状态的触发条件。
4.根据权利要求3所述的方法,其特征在于,所述定时器第一次溢出中断所需的第一时间与所述定时器第二次溢出中断所需的第二时间不同。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
在所述第二设备的状态为所述静默状态时,所述第一设备向所述第二设备发送第一探测报文;
若所述第一设备接收到所述第二设备针对于所述第一探测报文的响应报文,则所述第一设备将所述第二设备的状态由所述静默状态变更为所述上线状态;
若所述第一设备未接收到所述第二设备针对于所述第一探测报文的响应报文,则所述第一设备将所述第二设备的状态由所述静默状态变更为下线状态。
6.根据权利要求5中任一项所述的方法,其特征在于,所述第一探测报文为广播消息。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述第一设备的应用的界面中显示有所述第二设备的图标标识;
如果所述第二设备为所述上线状态,则所述第二设备的图标标识置亮显示在所述界面中;
如果所述第二设备为所述静默状态,则所述第二设备的图标标识置灰显示在所述界面中;
如果所述第二设备为所述下线状态,则所述第二设备的图标标识不显示在所述界面中。
8.根据权利要求7所述的方法,其特征在于,所述第一设备向所述第二设备发送第一探测报文,具体包括:
所述第一设备检测到点击置灰显示的所述第二设备的图标标识的用户操作;
响应于所述用户操作,所述第一设备向所述第二设备发送第一探测报文。
9.根据权利要求7所述的方法,其特征在于,所述第一设备向所述第二设备发送第一探测报文,具体包括:
所述第一设备检测到所述应用调到前台运行;
所述第一设备向所述第二设备发送第一探测报文。
10.根据权利要求7-9任一项所述的方法,其特征在于,所述第一设备设置有静默探测接口,所述第一设备向所述第二设备发送第一探测报文,具体包括:
所述第一设备检测到所述应用调用所述静默探测接口,触发所述应用调用所述静默探测接口的事件包括所述第一设备检测到所述点击置灰显示的所述第二设备的图标标识的用户操作,或,所述第一设备检测到所述应用调到前台运行;
所述第一设备通过所述静默探测接口向所述第二设备发送第一探测报文。
11.根据权利要求1-10中任一项所述的方法,其特征在于,所述方法还包括:
如果所述第一设备确认所述第二设备的状态为所述静默状态或所述下线状态,则终止所述定时器计时。
12.根据权利要求1-11中任一项所述的方法,其特征在于,所述方法还包括:
在所述第二设备的状态为所述下线状态的情况下,如果所述第一设备向所述第二设备发送消息成功,则所述第一设备将所述第二设备的状态由所述下线状态变更为所述上线状态。
13.根据权利要求1-12中任一项所述的方法,其特征在于,所述方法还包括:
在所述第二设备的状态为所述上线状态的情况下,如果所述第一设备向所述第二设备发送消息失败,则所述第一设备将所述第二设备的状态由所述上线状态变更为所述下线状态。
14.一种电子设备,其特征在于,所述电子设备包括:通信装置、显示装置、存储器以及耦合于所述存储器的处理器,以及一个或多个程序;所述通信装置用于通信,所述显示装置用于显示界面,所述存储器中存储有计算机可执行指令,所述处理器执行所述指令时使得所述电子设备实现如权利要求1至13中任一项所述的方法。
15.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1至13中任一项所述的方法。
16.一种通信系统,所述通信系统包括第一设备和第二设备,其中,所述第一设备实现如权利要求1至13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2023/071229 WO2023142993A1 (zh) | 2022-01-29 | 2023-01-09 | 一种探测方法、相关电子设备及系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2022101126181 | 2022-01-29 | ||
CN202210112618 | 2022-01-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116567054A true CN116567054A (zh) | 2023-08-08 |
Family
ID=87492054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210191223.5A Pending CN116567054A (zh) | 2022-01-29 | 2022-02-28 | 一种探测方法、相关电子设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116567054A (zh) |
-
2022
- 2022-02-28 CN CN202210191223.5A patent/CN116567054A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230094272A1 (en) | Notification Processing System, Method, and Electronic Device | |
CN113885759B (zh) | 通知消息处理方法、设备、系统及计算机可读存储介质 | |
EP4084486A1 (en) | Cross-device content projection method, and electronic device | |
US20230422154A1 (en) | Method for using cellular communication function, and related apparatus and system | |
CN111405681B (zh) | Wi-Fi Aware的建链方法、系统、电子设备和存储介质 | |
CN113923230B (zh) | 数据同步方法、电子设备和计算机可读存储介质 | |
WO2021017894A1 (zh) | 一种使用远程sim模块的方法及电子设备 | |
CN116360725B (zh) | 显示交互系统、显示方法及设备 | |
WO2023005282A9 (zh) | 一种消息推送方法及装置 | |
WO2021218707A1 (zh) | 一种确定操控目标的方法、移动设备及网关 | |
US20240094972A1 (en) | Page Display Method and Apparatus, Electronic Device, and Readable Storage Medium | |
WO2023071940A1 (zh) | 跨设备的导航任务的同步方法、装置、设备及存储介质 | |
WO2023029983A1 (zh) | 一种控件内容的拖拽方法、电子设备及系统 | |
WO2021218544A1 (zh) | 一种提供无线上网的系统、方法及电子设备 | |
WO2022111529A1 (zh) | 一种应用程序的调试方法及电子设备 | |
CN117425227A (zh) | 建立基于WiFi直接连接的会话的方法和装置 | |
WO2023142993A1 (zh) | 一种探测方法、相关电子设备及系统 | |
CN116567054A (zh) | 一种探测方法、相关电子设备及系统 | |
WO2020062308A1 (zh) | 位置信息处理方法及相关装置 | |
WO2022268009A1 (zh) | 一种屏幕共享的方法及相关设备 | |
WO2023045876A1 (zh) | 应用程序安装方法及相关设备 | |
CN113271577B (zh) | 媒体数据播放系统、方法及相关装置 | |
WO2023025059A1 (zh) | 一种通信系统及通信方法 | |
WO2023045966A1 (zh) | 能力共享方法、电子设备以及计算机可读存储介质 | |
WO2023142940A1 (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 |