CN114281373A - 设备状态更新方法、装置、计算机设备和存储介质 - Google Patents
设备状态更新方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114281373A CN114281373A CN202111064108.3A CN202111064108A CN114281373A CN 114281373 A CN114281373 A CN 114281373A CN 202111064108 A CN202111064108 A CN 202111064108A CN 114281373 A CN114281373 A CN 114281373A
- Authority
- CN
- China
- Prior art keywords
- application
- server
- long connection
- state
- account
- 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
Images
Landscapes
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种设备状态更新方法、装置、计算机设备和存储介质。所述方法应用于多媒体会话设备,包括:建立本地运行的第一应用与服务器间的长连接,并通过所述长连接保持与所述服务器间的通信状态;若所述长连接处于失效状态,则断开所述长连接并重新建立新的长连接;在重新建立新的长连接的过程中,启动短连接轮询以保持与所述服务器间的通信状态,直至重新建立有效的长连接;在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器反馈的、经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果;基于所述操作结果更新电子设备的设备状态。采用本方法能够降低后台的负载量。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种设备状态更新方法、装置、计算机设备和存储介质。
背景技术
短连接(short connnection)是指在数据传送过程中,只在需要发送数据时,才建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。使用短连接进行数据交互,不需要长时间占用传输通道,能够节省传输通道的使用。
然而,在一些需要及时进行数据交互的场景中,在短连接轮询中,每次都需要建立新的网络连接,如果存在安全协议则需要进行SSL(Security Socket Layer,安全套接字协议)握手,而这些过程对服务器造成较大的计算开销,导致后台负载过大。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少后台负载的设备状态更新方法、装置、计算机设备和存储介质。
一种设备状态更新方法,由电子设备执行,所述方法包括:
建立本地运行的第一应用与服务器间的长连接,并通过所述长连接保持与所述服务器间的通信状态;
若所述长连接处于失效状态,则断开所述长连接并重新建立新的长连接;
在重新建立新的长连接的过程中,启动短连接轮询以保持与所述服务器间的通信状态,直至重新建立有效的长连接;
在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器反馈的、经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果;
基于所述操作结果更新电子设备的设备状态。
一种设备状态更新装置,由电子设备执行,所述装置包括:
建立模块,用于建立本地运行的第一应用与服务器间的长连接,并通过所述长连接保持与所述服务器间的通信状态;
重建模块,用于若所述长连接处于失效状态,则断开所述长连接并重新建立新的长连接;
轮询模块,用于在重新建立新的长连接的过程中,启动短连接轮询以保持与所述服务器间的通信状态,直至重新建立有效的长连接;
接收模块,用于在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器反馈的、经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果;
更新模块,用于基于所述操作结果更新电子设备的设备状态。
在一个实施例中,所述建立模块,用于通过本地运行的第一应用向服务器发起长连接建立请求,以建立与所述服务器间的长连接;接收所述服务器基于所建立的长连接返回的密钥信息;基于所述密钥信息生成确认结果,并发送所述确认结果至所述服务器,以保持与所述服务器间的通信状态。
在一个实施例中,所述装置还包括检测模块;所述检测模块,用于每隔第一预设时长,通过所述长连接向所述服务器发送心跳包;若所述心跳包未能成功发送至所述服务器,则确定所述长连接处于失效状态;若所述心跳包成功发送至所述服务器,但在第一时间段内未接收到所述服务器针对所述心跳包返回的应答包,则确定所述长连接处于失效状态。
在一个实施例中,所述检测模块,还用于每隔第二预设时长,通过所述长连接发送预设请求给所述服务器;所述第二预设时长大于所述第一预设时长;若所述预设请求未能成功发送至所述服务器,则确定所述长连接处于失效状态;若所述预设请求成功发送至所述服务器,但在第二时间段内未接收到所述服务器针对所述预设请求返回的响应信息,则确定所述长连接处于失效状态。
在一个实施例中,所述轮询模块,还用于在重新建立新的长连接的过程中,建立所述第一应用与所述服务器之间的短连接;通过所述短连接轮询向所述服务器发送状态查询请求,直至有效的长连接重新建立后,停止所述短连接轮询;其中,每次发送的所述状态查询请求用于电子设备主动获取到最新的操作结果,以实时更新所述电子设备的设备状态。
在一个实施例中,所述接收模块,还用于在通过所述长连接保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器通过所述长连接主动返回的、经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果。
在一个实施例中,所述接收模块,还用于在通过所述短连接轮询保持通信状态的每次轮询中,向所述服务器发送状态查询请求,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器通过所述短连接返回的、针对所述状态查询请求的响应结果;所述响应结果包括经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果。
在一个实施例中,所述接收模块,还用于在保持通信状态的过程中,显示用于与属于所述第一应用的设备账号进行绑定的绑定图形码;在属于第二应用的用户账号扫描所述绑定图形码后,接收所述服务器返回的所述用户账号已绑定所述设备账号的绑定信息;所述更新模块,还用于基于所述绑定信息将所述绑定图形码更新为会话图形码并显示;所述会话图形码用于创建会话或加入已创建的会话。
在一个实施例中,所述接收模块,还用于在所述用户账号与所述设备账号绑定后,接收所述服务器发送的、经由所述用户账号对所述会话图形码进行扫描并选择会话成员账号后触发的会话创建操作所得到的会话创建信息;所述更新模块,还用于响应于所述会话创建信息,将当前所显示的会话图形码切换成会话状态下的显示内容进行显示。
在一个实施例中,所述第一应用包括会话管理应用,所述电子设备包括多媒体会话设备,用于提供会话房间资源,所述第二应用包括组织管理应用,所述第二应用提供用于参与会话的会话成员账号。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
建立本地运行的第一应用与服务器间的长连接,并通过所述长连接保持与所述服务器间的通信状态;
若所述长连接处于失效状态,则断开所述长连接并重新建立新的长连接;
在重新建立新的长连接的过程中,启动短连接轮询以保持与所述服务器间的通信状态,直至重新建立有效的长连接;
在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器反馈的、经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果;
基于所述操作结果更新电子设备的设备状态。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
建立本地运行的第一应用与服务器间的长连接,并通过所述长连接保持与所述服务器间的通信状态;
若所述长连接处于失效状态,则断开所述长连接并重新建立新的长连接;
在重新建立新的长连接的过程中,启动短连接轮询以保持与所述服务器间的通信状态,直至重新建立有效的长连接;
在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器反馈的、经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果;
基于所述操作结果更新电子设备的设备状态。
一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现以下步骤:
建立本地运行的第一应用与服务器间的长连接,并通过所述长连接保持与所述服务器间的通信状态;
若所述长连接处于失效状态,则断开所述长连接并重新建立新的长连接;
在重新建立新的长连接的过程中,启动短连接轮询以保持与所述服务器间的通信状态,直至重新建立有效的长连接;
在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器反馈的、经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果;
基于所述操作结果更新电子设备的设备状态。
上述设备状态更新方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,建立本地运行的第一应用与服务器间的长连接,并通过长连接保持与服务器间的通信状态,使得能够长时间维持第一应用与服务器之间的通信,从而能够在收发数据时无需重新建立与服务器的通信,提高数据收发的效率,并且能够减少后台的负载。
若长连接处于失效状态,则断开长连接并重新建立新的长连接,在重新建立新的长连接的过程中,启动短连接轮询以保持与服务器间的通信状态,直至重新建立有效的长连接,以保证在长连接失效时,还能够通过短连接维持与服务器的正常通信,避免数据收发受到影响。无论是通过长连接还是短连接保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器反馈的、经由用户账号触发的针对设备账号的操作所得到的操作结果,从而能够基于操作结果及时、准确地更新电子设备的设备状态。
一种设备状态更新方法,由服务器执行,所述方法包括:
建立与第一应用间的长连接,并通过所述长连接保持与所述第一应用间的通信状态,所述第一应用运行于电子设备中;
若所述长连接处于失效状态,则触发断开所述长连接并重新建立新的长连接;
在重新建立新的长连接的过程中,接收所述第一应用以短连接轮询的方式发送的状态查询请求,以通过所述状态查询请求保持与所述第一应用间的通信状态,直至重新建立有效的长连接;
在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则通过所述第二应用获取经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果,并将所述操作结果返回至所述设备账号所属的第一应用;所述操作结果用于指示所述第一应用更新所述电子设备的设备状态。
一种设备状态更新装置,由服务器执行,所述装置包括:
长连接建立模块,用于建立与第一应用间的长连接,并通过所述长连接保持与所述第一应用间的通信状态,所述第一应用运行于电子设备中;
长连接重建模块,用于若所述长连接处于失效状态,则触发断开所述长连接并重新建立新的长连接;
短连接轮询模块,用于在重新建立新的长连接的过程中,接收所述第一应用以短连接轮询的方式发送的状态查询请求,以通过所述状态查询请求保持与所述第一应用间的通信状态,直至重新建立有效的长连接;
返回模块,用于在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则通过所述第二应用获取经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果,并将所述操作结果返回至所述设备账号所属的第一应用;所述操作结果用于指示所述第一应用更新所述电子设备的设备状态。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
建立与第一应用间的长连接,并通过所述长连接保持与所述第一应用间的通信状态,所述第一应用运行于电子设备中;
若所述长连接处于失效状态,则触发断开所述长连接并重新建立新的长连接;
在重新建立新的长连接的过程中,接收所述第一应用以短连接轮询的方式发送的状态查询请求,以通过所述状态查询请求保持与所述第一应用间的通信状态,直至重新建立有效的长连接;
在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则通过所述第二应用获取经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果,并将所述操作结果返回至所述设备账号所属的第一应用;所述操作结果用于指示所述第一应用更新所述电子设备的设备状态。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
建立与第一应用间的长连接,并通过所述长连接保持与所述第一应用间的通信状态,所述第一应用运行于电子设备中;
若所述长连接处于失效状态,则触发断开所述长连接并重新建立新的长连接;
在重新建立新的长连接的过程中,接收所述第一应用以短连接轮询的方式发送的状态查询请求,以通过所述状态查询请求保持与所述第一应用间的通信状态,直至重新建立有效的长连接;
在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则通过所述第二应用获取经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果,并将所述操作结果返回至所述设备账号所属的第一应用;所述操作结果用于指示所述第一应用更新所述电子设备的设备状态。
一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现以下步骤:建立与第一应用间的长连接,并通过所述长连接保持与所述第一应用间的通信状态,所述第一应用运行于电子设备中;
若所述长连接处于失效状态,则触发断开所述长连接并重新建立新的长连接;
在重新建立新的长连接的过程中,接收所述第一应用以短连接轮询的方式发送的状态查询请求,以通过所述状态查询请求保持与所述第一应用间的通信状态,直至重新建立有效的长连接;
在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则通过所述第二应用获取经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果,并将所述操作结果返回至所述设备账号所属的第一应用;所述操作结果用于指示所述第一应用更新所述电子设备的设备状态。
上述设备状态更新方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,第一应用运行于电子设备中,建立与第一应用间的长连接,并通过长连接保持与第一应用间的通信状态,使得能够长时间维持第一应用与服务器之间的通信,从而能够在收发数据时无需重新建立与服务器的通信,提高数据收发的效率,并且能够减少后台的负载。
若长连接失效则重新建立新的长连接,在重新建立新的长连接的过程中,接收第一应用以短连接轮询的方式发送的状态查询请求,以通过状态查询请求保持与第一应用间的通信状态,直至重新建立有效的长连接,能够保证在长连接失效时,还可以通过短连接维持与服务器的正常通信,避免数据收发收到影响。无论是通过长连接还是短连接保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则通过第二应用获取经由用户账号触发的针对设备账号的操作所得到的操作结果,并将操作结果返回至设备账号所属的第一应用,从而能够指示电子设备基于操作结果及时、准确地更新自身的设备状态。
附图说明
图1为一个实施例中设备状态更新方法的应用环境图;
图2为一个实施例中设备状态更新方法的流程示意图;
图3为一个实施例中建立长连接的时序图;
图4为一个实施例中建立短连接的时序图;
图5为一个实施例中更新电子设备的设备状态的流程示意图;
图6为一个实施例中用于与会议APP进行绑定的二维码示意图;
图7为一个实施例中企业微信与会议APP进行绑定的界面示意图;
图8为一个实施例中用于创建会议的会话二维码示意图;
图9为另一个实施例中企业微信发起会议的界面示意图;
图10为另一个实施例中会议模式下所显示界面的示意图;
图11为另一个实施例中设备状态更新方法的流程示意图;
图12为一个实施例中设备状态更新装置的结构框图;
图13为另一个实施例中设备状态更新装置的结构框图;
图14为一个实施例中电子设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的设备状态更新方法,可以应用于如图1所示的设备状态更新系统。如图1所示,该设备状态更新系统包括电子设备110、用户设备120和服务器130。电子设备110建立本地运行的第一应用与服务器130间的长连接,并通过长连接保持与服务器130间的通信状态。若长连接处于失效状态,电子设备110则断开长连接并与服务器130重新建立新的长连接。在重新建立新的长连接的过程中,电子设备110启动短连接轮询以保持与服务器130间的通信状态,直至重新建立有效的长连接。第二应用运行于用户设备120上,属于第二应用的用户账号通过用户设备120对第一应用的设备账号的进行操作,得到操作结果。例如,设备账号在电子设备上显示的图形码进行扫描操作,得到操作结果。对用户设备120将操作结果推送给服务器130。在第一应用与服务器130保持通信状态的过程中,若第二应用的用户账号与属于第一应用的设备账号相绑定,则电子设备110接收服务器130反馈的、经由用户账号触发的针对设备账号的操作所得到的操作结果。电子设备110基于操作结果更新设备状态。其中,服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器或多个云服务器构成的云服务器集群。电子设备110可以是多媒体会话设备、平板电脑、笔记本电脑、台式计算机、智能电视等,但不限于此。用户设备120可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备和智能家电等。智能语音交互设备可以是智能音箱、智能手表、车载终端,智能家电可以是智能电视等,但并不局限于此。用户设备120以及服务器120可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一个实施例中,多个服务器可组成为一区块链,而服务器为区块链上的节点。
在一个实施例中,与该设备状态更新方法相关的数据可保存于区块链上,例如操作结果、设备状态等数据均可保存于区块链上。
在一个实施例中,如图2所示,提供了一种设备状态更新方法,以该方法应用于图1中的电子设备为例进行说明,包括以下步骤:
步骤S202,建立本地运行的第一应用与服务器间的长连接,并通过长连接保持与服务器间的通信状态。
其中,长连接(long connnection)是指在一个连接上可以连续发送多个数据。短连接(short connnection)是相对于长连接而言的概念,指的是在数据传送过程中,只在需要发送数据时,才建立一个连接,接收到对所发送的数据的响应后,则断开此连接,即每次连接只完成一次数据的发送。
第一应用运行于电子设备上,第一应用可以是会话管理应用、即时通信应用、SNS(Social Network Sites,社交网站)应用、视频应用、游戏应用、音乐应用、UGC(UserGenerated Content,用户生成内容)应用等,但不限于此。
通过设备账号登录运行于电子设备上的第一应用后,电子设备建立与服务器之间的长连接,并通过该长连接保持电子设备与服务器之间的通信状态。
步骤S204,若长连接处于失效状态,则断开长连接并重新建立新的长连接。
其中,失效状态是指不能正常发送数据、接收数据的状态。电子设备可检测与服务器之间的长连接的状态,长连接的状态包括有效状态和失效状态。有效状态是指数据能够正常发送、正常接收的状态。当电子设备检测到与服务器之间的长连接处于失效状态时,则断开与服务器之间的长连接。在断开与服务器之间的长连接之后,尝试重新建立与服务器之间的长连接。
在一个实施例中,断开与服务器之间的长连接之后,电子设备可与服务器建立短连接,通过短连接轮询以保持与服务器之间的通信。短连接轮询是指在电子设备需要发送数据时建立与服务器之间的连接,接收到服务器的响应数据后断开此连接,在预设时间间隔后再次建立与服务器之间的连接以发送数据。在接收到服务器的响应数据后断开该连接。
步骤S206,在重新建立新的长连接的过程中,启动短连接轮询以保持与服务器间的通信状态,直至重新建立有效的长连接。
在本实施例中,断开与服务器之间的长连接之后,并且在电子设备与服务器之间的新的长连接建立之前,电子设备可与服务器建立短连接,通过短连接轮询以保持与服务器之间的通信状态,直至电子设备重新建立与服务器之间的有效的长连接。
在其中一个实施例中,在电子设备重新建立与服务器之间的有效的长连接之后,停止与服务器之间的短连接轮询,电子设备使用长连接保持与服务器之间的通信状态。
步骤S208,在保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器反馈的、经由用户账号触发的针对设备账号的操作所得到的操作结果。
其中,操作结果是用户账号对设备账号进行操作所得到的结果,例如,用户账号对设备账号进行扫描操作后所得到的扫描信息、用户账号与设备账号绑定后得到的绑定信息等,但不限于此。
第一应用运行于电子设备上,设备账号是属于第一应用的账号。第二应用运行于用户设备上,用户账号是属于第二应用的账号。
在一个实施例中,属于第一应用的设备账号可以是电子设备的设备标识。第二应用的用户账号与属于第一应用的设备账号相绑定,可表示该第二应用的用户账号与第一应用所在的电子设备相绑定。
用户可通过用户账号登录运行于电子设备上的第二应用,通过第二应用的用户账号对第一应用的设备账号进行操作,以生成操作结果,第二应用将该操作结果发送给服务器。
在电子设备的第一应用和服务器保持通信的过程中,第一应用可从服务器获取用户账号对第一应用的设备账号进行操作所得到的操作结果。
步骤S210,基于操作结果更新电子设备的设备状态。
其中,设备状态是指电子设备当前的状态,包括但不限于待绑定状态、已绑定状态、待创建会话状态和待加入会话状态等。
在本实施例中,电子设备的第一应用从服务器获得用户账号对第一应用的设备账号进行操作所得到的操作结果后,根据该操作结果更新电子设备的设备状态。
上述设备状态更新方法,建立本地运行的第一应用与服务器间的长连接,并通过长连接保持与服务器间的通信状态,使得能够长时间维持第一应用与服务器之间的通信,从而能够在收发数据时无需重新建立与服务器的通信,提高数据收发的效率,并且能够减少后台的负载。
若长连接处于失效状态,则断开长连接并重新建立新的长连接,在重新建立新的长连接的过程中,启动短连接轮询以保持与服务器间的通信状态,直至重新建立有效的长连接,以保证在长连接失效时,还能够通过短连接维持与服务器的正常通信,避免数据收发受到影响。无论是通过长连接还是短连接保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器反馈的、经由用户账号触发的针对设备账号的操作所得到的操作结果,从而能够基于操作结果及时、准确地更新电子设备的设备状态。
在一个实施例中,建立本地运行的第一应用与服务器间的长连接,并通过长连接保持与服务器间的通信状态,包括:
通过本地运行的第一应用向服务器发起长连接建立请求,以建立与服务器间的长连接;接收服务器基于所建立的长连接返回的密钥信息;基于密钥信息生成确认结果,并发送确认结果至服务器,以保持与服务器间的通信状态。
在一个实施例中,本地运行的第一应用启动后,通过第一应用使用私有协议向服务器发送长连接建立请求,以建立与服务器之间的长连接。私有协议是指第一应用与服务器之间建立长连接所使用的特定协议。
进而,服务器接收到电子设备通过第一应用使用私有协议发送的长连接建立请求后,接受与该电子设备的第一应用之间的长连接建立请求。
进一步地,电子设备与服务器之间的长连接建立后,服务器需要与电子设备的第一应用协商数据传输的密钥信息,以保证数据的安全传输。服务器通过长连接向电子设备的第一应用返回密钥信息,电子设备的第一应用接收该密钥信息,并对该密钥信息进行确认,生成对密钥信息的确认结果。电子设备通过长连接将该确认结果返回至服务器,以保持与服务器之间的安全的通信状态。
在一个实施例中,电子设备通过RSA算法与服务器协商用于数据传输的密钥信息。
本实施例中,通过本地运行的第一应用向服务器发起长连接建立请求,以建立与服务器间的长连接,通过长连接能够长时间保持电子设备与服务器之间的通信状态。接收服务器基于所建立的长连接返回的密钥信息,基于密钥信息生成确认结果,并发送确认结果至服务器,通过协商密钥信息能够保证数据传输的安全性,从而能够保证电子设备与服务器之间的安全的通信状态。
在一个实施例中,在建立本地运行的第一应用与服务器间的长连接之后,该方法还包括通过心跳包判断长连接是否处于失效状态的步骤,该步骤具体包括:每隔第一预设时长,通过长连接向服务器发送心跳包;若心跳包未能成功发送至服务器,则确定长连接处于失效状态;若心跳包成功发送至服务器,但在第一时间段内未接收到服务器针对心跳包返回的应答包,则确定长连接处于失效状态。
其中,心跳包,即keep alive包,是指第一应用和服务器之间定时通知对方自身状态的一个自定义的命令字,按照一定的时间间隔发送,类似于心跳,因此叫做心跳包。该心跳包是属于轻量级的数据包。
在本实施例中,电子设备预先定义用于检测长连接是否有效的心跳包。每间隔第一预设时长,电子设备的第一应用通过长连接向服务器发送心跳包。电子设备检测该心跳包是否能成功发送至服务器,若心跳包未能成功发送至服务器,可判定与服务器之间的长连接处于失效状态,若心跳包能够成功发送至服务器,可判定与服务器之间的长连接处于有效状态。
或者,电子设备检测该心跳包是否能成功发送至服务器,若心跳包能够成功发送至服务器,则检测是否能够在第一时间段内收到服务器通过该长连接返回的针对该心跳包的应答包。若在第一时间段内未接收到服务器通过该长连接返回的、针对心跳包返回的应答包,可判定与服务器之间的长连接处于失效状态。若心跳包能够成功发送至服务器,且在第一时间段内能够接收到服务器通过长连接返回的、针对该心跳包的应答包,可判定与服务器之间的长连接处于有效状态。
第一预设时长可以设定为30秒、40秒或60秒等,但不限于此,可根据需求设置。
在一个实施例中,从第一应用与服务器之间的长连接建立开始计时,每间隔第一预设时长,通过长连接向服务器发送心跳包。
本实施例中,每隔第一预设时长,通过长连接向服务器发送心跳包,能够通过心跳包是否成功发送至服务器,判断第一应用和服务器之间的长连接是否处于失效状态,从而能够每间隔预设时间对长连接的通信状态进行检测,以保证第一应用和服务器之间能够正常通信。或者通过心跳包成功发送至服务器后,在第一时间段内是否能够接收到服务器针对心跳包返回的应答包,来进一步判断第一应用和服务器之间的长连接是否处于失效状态,在未能成功接收到服务器的应答包的情况下,判断第一应用和服务器之间的长连接处于失效状态,从而能够更准确地判断长连接是否有效,进而保证数据收发的正常。
在一个实施例中,该方法还包括通过预设请求判断长连接是否处于失效状态的步骤,该步骤具体包括:每隔第二预设时长,通过长连接发送预设请求给服务器;第二预设时长大于第一预设时长;若预设请求未能成功发送至服务器,则确定长连接处于失效状态;若预设请求成功发送至服务器,但在第二时间段内未接收到服务器针对预设请求返回的响应信息,则确定长连接处于失效状态。
在本实施例中,电子设备预先定义用于检测长连接是否有效的预设请求。每间隔第二预设时长,电子设备的第一应用通过长连接向服务器发送预设请求。电子设备检测该预设请求是否能成功发送至服务器,若预设请求未能成功发送至服务器,可判定与服务器之间的长连接处于失效状态,若预设请求能够成功发送至服务器,可判定与服务器之间的长连接处于有效状态。
或者,电子设备检测该预设请求是否能成功发送至服务器,若预设请求能够成功发送至服务器,则检测是否能够在第二时间段内收到服务器通过该长连接返回的针对该预设请求的响应信息。若在第二时间段内未接收到服务器通过该长连接返回的、针对预设请求返回的响应信息,可判定与服务器之间的长连接处于失效状态。若预设请求能够成功发送至服务器,且在第二时间段内能够接收到服务器通过长连接返回的、针对该预设请求的响应信息,可判定与服务器之间的长连接处于有效状态。
第二预设时长可以设定为10分钟或15分钟等,但不限于此,可根据需求设置。
在一个实施例中,从第一应用与服务器之间的长连接建立开始计时,每间隔第二预设时长,通过长连接向服务器发送预设请求。
本实施例中,心跳包数据属于轻量级数据包,在网络比较差的情况下也可能发生成功,但网络比较差的情况下无法发送正常请求,以及无法接收响应信。每间隔第一预设时长,则通过心跳包检测长连接是否有效,以通知服务器第一应用还数据在线状态。每间隔第二预设时长,通过发送预设请求检测长连接是否有效,能够进一步检测正常量级的数据的收发是否正常。
在一个实施例中,在建立本地运行的第一应用与服务器间的长连接之后,该方法还包括判断长连接是否有效的步骤,该步骤具体包括:每隔第一预设时长,通过长连接向服务器发送心跳包;若心跳包未能成功发送至服务器,则确定长连接处于失效状态;若心跳包成功发送至服务器,则通过长连接发送预设请求给服务器,若预设请求成功发送至服务器,但在第二时间段内未接收到服务器针对预设请求返回的响应信息,则确定长连接处于失效状态。
在本实施例中,将轻量级的心跳包通过长连接发送给服务器,以通知服务器第一应用处于在线状态。在心跳包能够成功发送至服务器时,将预设请求通过长连接发送给服务器,根据是否能够接收到服务器通过长连接返回的、针对该预设请求的响应信息来判断该长连接是否能够正常接收数据,以准确确定长连接是否处于失效状态。
在一个实施例中,在重新建立新的长连接的过程中,启动短连接轮询以保持与服务器间的通信状态,直至重新建立有效的长连接,包括:
在重新建立新的长连接的过程中,建立第一应用与服务器之间的短连接;通过短连接轮询向服务器发送状态查询请求,直至有效的长连接重新建立后,停止短连接轮询;其中,每次发送的状态查询请求用于电子设备主动获取到最新的操作结果,以实时更新电子设备的设备状态。
在本实施例中,在电子设备的第一应用和服务器之间的长连接处于失效状态时,断开该长连接,并重新建立第一应用与服务器之间的新的长连接。在重新建立第一应用与服务器之间的新的长连接的过程中,电子设备可建立第一应用与服务器之间的短连接,并通过短连接向服务器发送状态查询请求,以主动获取最新的对电子设备的第一应用进行操作的操作结果,根据操作结果实时更新电子设备的设备状态。完成一次短连接处理后,电子设备在预设间隔时长后再次建立与服务器之间的短连接,返回通过短连接向服务器发送状态查询请求的步骤并继续执行,直至有效的长连接重新建立后,停止该短连接轮询。
本实施例中,在重新建立新的长连接的过程中,建立第一应用与服务器之间的短连接,通过短连接轮询向服务器发送状态查询请求,以主动获取到最新的操作结果,并实时更新电子设备的设备状态,直至有效的长连接重新建立后,停止短连接轮询,能够在长连接无法使用的情况下通过短连接轮询保持与服务器之间的通信状态,使得能够通过长连接和短连接结合方式对电子设备的设备状态进行检测,既能够通过长连接提高数据收发的实时性,降低后台的负载,又能够通过短连接轮询实现通信状态的稳定性,使得电子设备和服务器之间的通信保持最优状态。
在一个实施例中,在保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器反馈的、经由用户账号触发的针对设备账号的操作所得到的操作结果,包括:
在通过长连接保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器通过长连接主动返回的、经由用户账号触发的针对设备账号的操作所得到的操作结果。
在本实施例中,电子设备的第一应用与服务器之间的长连接建立后,当电子设备的设备状态发生改变时,服务器能够通过长连接主动将设备状态信息推送给第一应用,以便电子设备更新第一应用当前的设备状态。
在其中一个实施例中,用户通过用户账号登录运行于用户设备上的第二应用,第二应用与服务器进行通信。第二应用的用户账号和第一应用的设备账号进行绑定后,可以通过用户账号对设备账号进行相关操作,从而生成操作结果。第二应用并不能直接将操作结果发送给第一应用,则第一应用并不知道第二应用对自身所进行的操作,即用户账号不能直接将对设备操作进行操作所得到的操作结果返回给设备账号。
第二应用的用户账号将该操作结果发送给服务器,服务器接收到该操作结果。在第一应用和服务器通过长连接保持通信状态的过程中,服务器主动将该操作结果通过长连接反馈至第一应用的设备账号。第一应用的设备账号接收服务器反馈的操作结果,根据该操作结果更新当前的设备状态。
例如,用户账号在第二应用上绑定第一应用的设备账号,绑定完成后更新用户账号的当前状态,但对于第二应用的设备账号,设备账号并不知道已经与用户账号绑定。用户账号与设备账号绑定后,生成绑定成功的绑定信息给服务器,当设备账号和服务器通过长连接保持通信状态时,由服务器将该绑定信息发送给设备账号,设备账号根据该绑定信息获知已与用户账号相绑定,则将当前的设备状态从未绑定状态更新为已绑定状态。在绑定后,用户设备对设备账号进行的各种操作,仍然由服务器把操作结果返回至设备账号。
本实施例中,在通过长连接保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,服务器会通过长连接主动返回的、经由用户账号触发的针对设备账号的操作所得到的操作结果,使得第一应用的设备账号能够从服务器及时获知当前的设备状态,从而能够实现设备状态的实时更新。
如图3所示,为一个实施例中建立长连接的时序图。
运行于电子设备上的第一应用向服务器发起长连接建立请求,以建立与服务器间的长连接。
服务器基于所建立的长连接向第一应用返回密钥信息,以与第一应用协商安全密钥,保证数据的安全传输。
第一应用基于密钥信息生成确认结果,并发送确认结果至服务器,以完成与服务器的密钥协商。
第二应用可对第一应用进行绑定操作,以绑定第一应用。第二应用基于绑定操作生成绑定信息,将绑定信息发送给服务器。
服务器接收该绑定信息,通过与第一应用之间的长连接,将该绑定信息通过该长连接反馈至第一应用。
第一应用接收该绑定信息,基于该绑定信息刷新当前的设备状态,以将第一应用从未绑定状态更新为已绑定状态。
第二应用于第一应用绑定后,可对第一应用进行操作,并基于所进行的操作生成操作结果,将操作结果发生给服务器。
服务器通过长连接将操作结果反馈至第一应用,第一应用基于该操作结果刷新当前的设备状态。
在一个实施例中,在保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器反馈的、经由用户账号触发的针对设备账号的操作所得到的操作结果,包括:
在通过短连接轮询保持通信状态的每次轮询中,向服务器发送状态查询请求,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器通过短连接返回的、针对状态查询请求的响应结果;响应结果包括经由用户账号触发的针对设备账号的操作所得到的操作结果。
在本实施例中,电子设备的第一应用与服务器之间的短连接建立后,当其他应用对第一应用进行操作,使得第一应用的设备状态发生改变时,服务器能够从其他应用获得该改变后的设备状态信息。当第一应用建立与服务器之间的短连接,通过短连接向服务器发送状态查询请求时,服务器通过短连接将设备状态信息反馈给第一应用,以便电子设备更新第一应用当前的设备状态。
用户通过用户账号登录运行于用户设备上的第二应用,第二应用与服务器进行通信。第二应用的用户账号和第一应用的设备账号进行绑定后,可以通过用户账号对设备账号进行相关操作,从而生成操作结果。第二应用并不能直接将操作结果发送给第一应用,则第一应用并不知道第二应用对自身所进行的操作,即用户账号不能直接将对设备操作进行操作所得到的操作结果返回给设备账号。
第二应用的用户账号将该操作结果发送给服务器,服务器接收到该操作结果。在第一应用和服务器通过短连接保持通信状态的过程中,设备账号会定时向服务器发送状态查询请求,以获取当前的设备状态。在设备账号向服务器发送状态查询请求后,服务器通过短连接返回针对状态查询请求的响应结果,该响应结果中包括该操作信息,从而将该操作结果通过短连接反馈至第一应用的设备账号。第一应用的设备账号接收服务器反馈的操作结果,根据该操作结果更新当前的设备状态。
在一个实施例中,在设备账号向服务器发送状态查询请求后,服务器将该操作结果作为响应结果,并通过短连接返回至第一应用的设备账号。
例如,用户账号在第二应用上绑定第一应用的设备账号,绑定完成后更新用户账号的当前状态,但对于第二应用的设备账号,设备账号并不知道已经与用户账号绑定。当设备账号和服务器通过短连接轮询保持通信状态时,设备账号会定时向服务器发送状态查询请求,以从服务器获知最新的设备状态。
用户账号与设备账号绑定后,生成绑定成功的绑定信息给服务器。当设备账号通过短连接向服务器发送状态查询请求后,服务器接收到该状态查询请求时,将该绑定信息作为响应结果发送给设备账号,设备账号根据该绑定信息获知已与用户账号相绑定,则将当前的设备状态从未绑定状态更新为已绑定状态。在绑定后,用户设备对设备账号进行的各种操作,仍然由服务器把操作结果返回至设备账号。
本实施例中,在通过短连接轮询保持通信状态的每次轮询中,向服务器发送状态查询请求,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器通过短连接返回的、针对状态查询请求的响应结果,响应结果包括经由用户账号触发的针对设备账号的操作所得到的操作结果,使得第一应用的设备账号能够通过短连接从服务器获知当前的设备状态,从而能够实现设备状态的实时更新。
如图4所示,为一个实施例中建立短连接的时序图。
运行于电子设备上的第一应用向服务器发起短连接建立请求,以建立与服务器间的短连接。
第一应用基于所建立的短连接向服务器发送状态查询请求,服务器基于该状态查询请求返回第一应用当前的设备状态。
第一应用接收到的设备状态后,断开与服务器之间的短连接,并基于所接收到的设备状态刷新当前的设备状态。
第二应用可对第一应用进行绑定操作,以绑定第一应用。第二应用基于绑定操作生成绑定信息,将绑定信息发送给服务器。
服务器接收该绑定信息,等待第一应用发送的状态查询请求。
第一应用刷新当前的设备状态后,延迟d秒,再次与服务器建立短连接。当第一应用与服务器建立短连接,并通过短连接向服务器发送状态查询请求后,服务器响应于该状态查询请求,通过与第一应用之间的短连接,将该绑定信息通过该短连接反馈至第一应用。
第一应用接收到绑定信息后,断开与服务器之间的短连接,并基于所接收到的设备状态刷新当前的设备状态,以将第一应用从未绑定状态更新为已绑定状态。
第二应用于第一应用绑定后,可对第一应用进行操作,并基于所进行的操作生成操作结果,将操作结果发生给服务器。
服务器通过长连接将操作结果反馈至第一应用,第一应用基于该操作结果刷新当前的设备状态。
在一个实施例中,如图5所示,电子设备的设备状态通过电子设备的当前显示内容表征;在保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器反馈的、经由用户账号触发的针对设备账号的操作所得到的操作结果,包括步骤S502至步骤S504,其中:
步骤S502,在保持通信状态的过程中,显示用于与属于第一应用的设备账号进行绑定的绑定图形码。
其中,图形码是指用不同的图形按照一定的编码规则排列,用于表达数据信息的图形标识。图形码具体可以包括二维码、条形码,但不限于此。二维码也称为二维条码(2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形。条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。
电子设备的设备状态是指电子设备所显示的第一应用的设备状态,可通过运行于电子设备上的第一应用的当前显示内容表征。当前显示内容可以是所显示的图形码,也可以是其他显示信息。在电子设备上启动第一应用后,通过设备账号登录第一应用,从而在第一应用上显示用于与设备账号进行绑定的图形码,即绑定图形码。绑定图像二维码表示第一应用未被绑定。
在其中一个实施例中,在第一应用启动后,电子设备可建立第一应用与服务器之间的长连接或短连接,通过长连接或短连接轮询保持与服务器之间的通信状态。长连接或短连接建立后,第一应用仍然显示用于与设备账号进行绑定的绑定图形码。
步骤S504,在属于第二应用的用户账号扫描绑定图形码后,接收服务器返回的用户账号已绑定设备账号的绑定信息。
在本实施例中,用户通过用户账号登录运行于用户设备上的第二应用后,可通过第二应用扫描第一应用上显示的绑定图形码,以将第一应用的设备账号与第二应用的用户账号进行绑定。用户设备将用户账号和设备账号绑定后,生成绑定信息,并将该绑定信息发送给服务器。
服务器接收该绑定信息,将绑定信息返回给第一应用的设备账号,第一应用的设备账号接收该服务器返回的用户账号已绑定设备账号的绑定信息。
基于操作结果更新电子设备的设备状态,包括步骤S506,其中:
步骤S506,基于绑定信息将绑定图形码更新为会话图形码并显示;会话图形码用于创建会话或加入已创建的会话。
第一应用接收到服务器反馈的绑定信息,将当前显示的绑定图形码更新为会话图形码,并在当前界面显示会话图形码。不同的会话图形码具有不同的作用,例如可用于创建会话,或者用于加入已创建的会话。
本实施例中,在保持通信状态的过程中,显示用于与属于第一应用的设备账号进行绑定的绑定图形码,以表征第一应用当前处于未绑定状态。在属于第二应用的用户账号扫描绑定图形码后,接收服务器返回的用户账号已绑定设备账号的绑定信息,基于绑定信息将绑定图形码准确更新为会话图形码,从而将第一应用从未绑定状态及时更新至已绑定状态,并在当前界面上显示用于创建会话或加入已创建的会话的会话图形码,以便第二应用通过会话图形码对第一应用进行进一步操作,实现第二应用对第一应用的操控。
在一个实施例中,当第一应用接收到其他第一应用发送的、用于加入已创建会话的会话图形码时,在第一应用上显示该会话图形码。若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则第二应用的用户账号可扫描该会话图形码,以进入已创建会话。
在一个实施例中,在保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器反馈的、经由用户账号触发的针对设备账号的操作所得到的操作结果,还包括:在用户账号与设备账号绑定后,接收服务器发送的、经由用户账号对会话图形码进行扫描并选择会话成员账号后触发的会话创建操作所得到的会话创建信息。基于操作结果更新电子设备的设备状态,包括:响应于会话创建信息,将当前所显示的会话图形码切换成会话状态下的显示内容进行显示。
在本实施例中,第一应用接收到服务器反馈的绑定信息,将当前显示的绑定图形码更新为会话图形码,并在当前界面显示会话图形码,从而将设备状态从已绑定状态更新为待创建会话状态。该会话图形码用于创建会话。第二应用的用户账号可扫描第一应用的设备账号上所显示的会话图形码,以在第二应用上显示会话成员账号的选择界面。用户在第二应用的选择界面选择需要参与会话的会话成员账号后,生成会话创建请求。用户账号将该会话创建请求发送给服务器,服务器接收该会话创建请求,将该会话创建请求返回给第一应用的设备账号。
第一应用的设备账号接收该会话创建请求,响应于该会话创建请求,将当前所显示的会话图形码切换成会话状态下的显示内容,并在当前界面显示会话状态的显示内容,从而将设备状态从待创建会话状态更新为会话状态,以完成会话的创建。
本实施例中,在用户账号与设备账号绑定后,接收服务器发送的、经由用户账号对会话图形码进行扫描并选择会话成员账号后触发的会话创建操作所得到的会话创建信息,从而能够基于服务器返回的会话创建信息,准确地、及时地将当前所显示的会话图形码切换成会话状态下的显示内容进行显示,从而将设备状态从待创建会话状态更新为会话状态,保证设备状态更新的及时性和准确性。
在一个实施例中,在通过长连接保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器通过长连接主动返回的、经由用户账号触发的针对设备账号的操作所得到的操作结果,包括:
在通过长连接保持通信状态的过程中,显示用于与属于第一应用的设备账号进行绑定的绑定图形码;在属于第二应用的用户账号扫描绑定图形码后,接收服务器主动返回的用户账号已绑定设备账号的绑定信息;基于绑定信息将绑定图形码更新为会话图形码并显示;第二应用运行于用户设备中,会话图形码用于创建会话;在用户账号与设备账号绑定后,接收服务器通过长连接主动返回的、经由用户账号对会话图形码进行扫描并选择会话成员账号后触发的会话创建操作所得到的会话创建信息;响应于会话创建信息,将当前所显示的会话图形码切换成会话状态下的显示内容进行显示。
电子设备的设备状态是指电子设备所显示的第一应用的设备状态,可通过运行于电子设备上的第一应用的当前显示内容表征。当前显示内容可以是所显示的图形码,也可以是其他显示信息。在电子设备上启动第一应用后,通过设备账号登录第一应用,从而在第一应用上显示用于与设备账号进行绑定的图形码,即绑定图形码。绑定图像二维码表示第一应用未被绑定。
在第一应用启动后,电子设备可建立第一应用与服务器之间的长连接,通过长连接保持与服务器之间的通信状态。长连接建立后,第一应用仍然显示用于与设备账号进行绑定的绑定图形码。
用户通过用户账号登录运行于用户设备上的第二应用后,可通过第二应用扫描第一应用上显示的绑定图形码,以将第一应用的设备账号与第二应用的用户账号进行绑定。用户设备将用户账号和设备账号绑定后,生成绑定信息,并将该绑定信息发送给服务器。
服务器接收该绑定信息,通过长连接主动将绑定信息返回给第一应用的设备账号,第一应用的设备账号接收该服务器通过长连接主动返回绑定信息。
第一应用接收绑定信息,将当前显示的绑定图形码更新为会话图形码,并在当前界面显示会话图形码,从而将设备状态从已绑定状态更新为待创建会话状态。
该会话图形码用于用户账号操控设备账号在第一应用上创建会话。第二应用的用户账号可扫描第一应用的设备账号上所显示的会话图形码,以在第二应用上显示会话成员账号的选择界面。用户在第二应用的选择界面选择需要参与会话的会话成员账号后,生成会话创建请求。用户账号将该会话创建请求发送给服务器,服务器接收该会话创建请求,通过长连接主动将该会话创建请求返回给第一应用的设备账号。
第一应用的设备账号接收该会话创建请求,响应于该会话创建请求,将当前所显示的会话图形码切换成会话状态下的显示内容,并在当前界面显示会话状态的显示内容,从而将设备状态从待创建会话状态更新为会话状态,以完成会话的创建。
在一个实施例中,电子设备的设备状态通过电子设备的当前显示内容表征;在通过短连接轮询保持通信状态的每次轮询中,向服务器发送状态查询请求,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器通过短连接返回的、针对状态查询请求的响应结果,包括:
在通过短连接轮询保持通信状态的过程中,显示用于与属于第一应用的设备账号进行绑定的绑定图形码;在通过短连接向服务器发送状态查询请求后,若属于第二应用的用户账号通过扫描绑定图形码与设备账号相绑定,则接收服务器通过短连接返回的用户账号已绑定设备账号的绑定信息;基于绑定信息将绑定图形码更新为会话图形码并显示;第二应用运行于用户设备中,会话图形码用于创建会话;在用户账号与设备账号绑定后,继续向服务器发送状态查询请求,接收服务器响应于状态查询请求返回的、经由用户账号对会话图形码进行扫描并选择会话成员账号后触发的会话创建操作所得到的会话创建信息;响应于会话创建信息,将当前所显示的会话图形码切换成会话状态下的显示内容进行显示。
在电子设备上启动第一应用后,通过设备账号登录第一应用,从而在第一应用上显示用于与设备账号进行绑定的图形码,即绑定图形码。绑定图像二维码表示第一应用未被绑定。
在第一应用启动后,电子设备可建立第一应用与服务器之间的短连接,通过短连接轮询保持与服务器之间的通信状态。
用户通过用户账号登录运行于用户设备上的第二应用后,可通过第二应用扫描第一应用上显示的绑定图形码,以将第一应用的设备账号与第二应用的用户账号进行绑定。用户设备将用户账号和设备账号绑定后,生成绑定信息,并将该绑定信息发送给服务器。
服务器接收该绑定信息,等待第一应用的设备账号发送的状态查询请求。第一应用的设备账号与服务器建立短连接后,通过短连接向服务器发送状态查询请求。服务器接收到该状态查询请求,将绑定信息通过短连接返回至设备账号。第一应用的设备账号接收该服务器通过短连接返回的绑定信息后断开与服务器之间的短连接。基于该绑定信息将当前显示的绑定图形码更新为会话图形码,并在当前界面显示会话图形码,从而将设备状态从已绑定状态更新为待创建会话状态。
该会话图形码用于用户账号操控设备账号在第一应用上创建会话。第二应用的用户账号可扫描第一应用的设备账号上所显示的会话图形码,以在第二应用上显示会话成员账号的选择界面。用户在第二应用的选择界面选择需要参与会话的会话成员账号后,生成会话创建请求。用户账号将该会话创建请求发送给服务器,服务器接收该会话创建请求,等待第一应用的设备账号发送的状态查询请求。第一应用的设备账号与服务器建立短连接后,通过短连接向服务器发送状态查询请求。服务器接收到该状态查询请求,通过短连接主动将该会话创建请求返回给第一应用的设备账号。
第一应用的设备账号接收该会话创建请求断开与服务器之间的短连接。设备账号响应于该会话创建请求,将当前所显示的会话图形码切换成会话状态下的显示内容,并在当前界面显示会话状态的显示内容,从而将设备状态从待创建会话状态更新为会话状态,以完成会话的创建。
在一个实施例中,第一应用包括会话管理应用,电子设备包括多媒体会话设备,用于提供会话房间资源,第二应用包括组织管理应用,第二应用提供用于参与会话的会话成员账号。
第一应用包括会话管理应用,该会话管理应用运行于电子设备上。该电子设备包括多媒体会话设备,用于提供会话房间资源,以通过会话房间资源创建会话,或加入已经创建的会话。第二应用包括组织管理应用,该组织管理应用运行于用户设备,第二应用提供用于参与会话的会话成员账号,使得第二应用选择参与会话的会话成员账号后,在多媒体会话设备的会话管理应用上使用会话房间资源创建会话。
本实施例中,该设备状态更新方法可应用于会话场景,会话管理应用通过长连接或短连接与服务器进行通信,能够有效解决仅使用短连接进行通信时导致后台负载量大的问题。组织管理应用可对会话管理应用进行操作,将操作结果发送给服务器,服务器将该操作结果通过长连接或短连接返回给组织管理应用,以便组织管理应用更新当前的设备状态。
在一个实施例中,本申请还提供一种应用场景,如图6至图10所示,该应用场景应用上述的设备状态更新方法。在本实施例中,该设备状态更新方法在该应用场景的应用如下:
电子设备为多媒体会话设备,第一应用为安装在多媒体会话设备上的会话管理应用,即会议APP。用户设备可以为手机,第二应用可以为安装在手机上的企业微信。
企业微信的音频会议、视频会议覆盖了线上场景和线下场景。企业微信提供了会议APP,可以安装在线下会议室的多媒体会话设备上。会议APP在多媒体会话设备上启动后,会议APP向服务器发送长连接建立请求,以建立与服务器间的长连接。服务器基于所建立的长连接向会议APP返回密钥信息,以与会议APP协商安全密钥,保证数据的安全传输。会议APP基于密钥信息生成确认结果,并发送确认结果至服务器,以完成与服务器的密钥协商。
在多媒体会话设备上新安装的会议APP需要与企业微信绑定后才能使用,绑定成功后的会议APP具有发起会议、接收会议邀请等功能。用户想要操控会议室里的会议APP,需要使用手机的企业微信扫描会议APP的二维码,以与会议APP进行绑定。图6为会议APP所展示的用于与会议APP进行绑定的二维码。
当用户使用手机的企业微信扫面图6所示的二维码后,企业微信进入如图7中的(a)所示的设备添加页面。在该设备添加页面显示该会议APP的设备账号,如图7中的(a)所示的“AA视频会议平板”,该“AA视频会议平板”也可以表示该会议APP所在的多媒体会话设备的设备账号。
用户可触发与该设备账号绑定的操作控件,企业微信基于该绑定操作完成与设备账号的绑定,以进入如图7中的(b)所示的设备已绑定的显示界面。触发如图7中的(b)所示的设备已绑定的显示界面中的“完成”操作控件,进入如图7中的(c)所示的设备管理界面,在该设备管理界面显示已绑定的会议APP。更新图7中的(a)所示的设备添加页面,得到图7中的(d)所示的更新后的设备添加页面,在该更新设备添加页面中显示对会议APP的移除控件,并显示该会议APP的管理员,该移除控件如“移除设备”。
绑定成功后,企业微信生成绑定信息,将绑定信息发送给服务器,服务器接收该绑定信息。
若此时服务器与会议APP之间的长连接有效,服务器通过与会议APP之间的长连接,主动将该绑定信息通过该长连接反馈至会议APP。
若此时服务器与会议APP之间的长连接失效,服务器等待会议APP发送状态查询请求。会议APP与服务器之间建立短连接后,会议APP发送状态查询请求给服务器,服务器基于该状态查询请求返回绑定信息给会议APP。
会议APP接收该绑定信息,进入如图8所示的等待用户发起会议的页面,并在该页面中显示用于创建会议的会话二维码。
企业微信扫描图8的会话二维码后,进入如图9的(a)所示的会议类型选择页面,用户可在该会议类型选择页面选择所要发起的会议类型,包括语音会议或视频会议。在选择所要发起的会议类型后,如选择视频会议后进入如图9的(b)所示的选择界面,可在该选择界面选择参与人和会议设备,参与人是指参与会议的成员,会议设备是指参与会议的多媒体会话设备。用户触发参与人的操作控件进入如图9的(c)所示的选择成员页面,在选择成员页面选择参与会议的成员的账号。完成参与人的选择后,返回如图9的(b)所示的选择界面,并在该界面触发会议设备的操作控件,以进入如图9的(d)所示的会议设备的选择界面,在该界面选择参与会议的多媒体会话设备,如“XX1会议室设备”、“XX2会议室设备”和“XX3会议室设备”,选择完成后,进入如图9中的(e)所示的会议发起界面。在会议发起界面触发发起会议的操作控件,以生成会议发起请求。企业微信将该会议发起请求发送给服务器,服务器接收该会议发起请求。
若此时服务器与会议APP通过长连接保持通信状态,则服务器通过长连接主动将该会议发起请求反馈至会议APP,则会议APP从图8所示的会话二维码进入如图10所示的会议模式。
若此时服务器与会议APP之间的长连接失效,服务器等待会议APP发送状态查询请求。会议APP与服务器之间建立短连接后,会议APP发送状态查询请求给服务器,服务器基于该状态查询请求返回会议发起请求给会议APP,则会议APP从图8所示的会话二维码进入如图10所示的会议模式。
在其他实施例中,当多媒体会话设备接收到其他多媒体会话设备发送的、用于加入已创建会话的二维码时,通过多媒体会话设备上运行的会议APP显示该二维码。用户可通过企业微信扫描该二维码,使得会议APP进入如图10所示的会议模式。
在一个实施例中,如图11所示,提供了一种设备状态更新方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S1102,建立与第一应用间的长连接,并通过长连接保持与第一应用间的通信状态,第一应用运行于电子设备中。
第一应用运行于电子设备上,用户通过设备账号登录运行于电子设备上的第一应用后,通过第一应用向服务器发起长连接建立请求。服务器接收该长连接建立请求,建立与该第一应用的长连接,并通过该长连接保持电子设备与服务器之间的通信状态。
步骤S1104,若长连接处于失效状态,则触发断开长连接并重新建立新的长连接。
当电子设备检测到与服务器之间的长连接处于失效状态时,则断开与服务器之间的长连接。在服务器与第一应用之间的长连接断开之后,电子设备再次通过第一应用向服务器发起长连接建立请求。服务器接收该长连接建立请求,尝试与该第一应用重新建立长连接。
步骤S1106,在重新建立新的长连接的过程中,接收第一应用以短连接轮询的方式发送的状态查询请求,以通过状态查询请求保持与第一应用间的通信状态,直至重新建立有效的长连接。
在服务器与第一应用之间的长连接断开之后,并且在第一应用与服务器之间的新的长连接建立之前,电子设备的第一应用可与服务器建立短连接,服务器通过与第一应用间的短连接轮询保持与第一应用之间的通信状态,直至第一应用与服务器之间重新建立有效的长连接。
进一步地,电子设备的第一应用可与服务器建立短连接,第一应用以短连接轮询的方式发送的状态查询请求给服务器,以通过状态查询请求保持与第一应用间的通信状态,直至重新建立有效的长连接。
在重新建立与服务器之间的有效的长连接之后,停止与第一应用之间的短连接轮询,重新使用长连接保持与第一应用之间的通信状态。
步骤S1108,在保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则通过第二应用获取经由用户账号触发的针对设备账号的操作所得到的操作结果,并将操作结果返回至设备账号所属的第一应用;该操作结果用于指示第一应用更新电子设备的设备状态。
第一应用运行于电子设备上,设备账号属于第一应用的账号。第二应用运行于用户设备上,用户账号属于第二应用的账号。
用户可通过第二应用的用户账号对第一应用的设备账号进行操作,以生成操作结果,将该操作结果发送给服务器。服务器接收第二应用发送的操作结果,在电子设备的第一应用和服务器保持通信的过程中,可将操作结果返回至设备账号所属的第一应用,使得第一应用基于该操作结果更新电子设备的设备状态。
本实施例中,第一应用运行于电子设备中,建立与第一应用间的长连接,并通过长连接保持与第一应用间的通信状态,使得能够长时间维持第一应用与服务器之间的通信,从而能够在收发数据时无需重新建立与服务器的通信,提高数据收发的效率,并且能够减少后台的负载。
若长连接失效则重新建立新的长连接,在重新建立新的长连接的过程中,接收第一应用以短连接轮询的方式发送的状态查询请求,以通过状态查询请求保持与第一应用间的通信状态,直至重新建立有效的长连接,能够保证在长连接失效时,还可以通过短连接维持与服务器的正常通信,避免数据收发收到影响。无论是通过长连接还是短连接保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则通过第二应用获取经由用户账号触发的针对设备账号的操作所得到的操作结果,并将操作结果返回至设备账号所属的第一应用,从而能够指示电子设备基于操作结果及时、准确地更新自身的设备状态。
在一个实施例中,在保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则通过第二应用获取经由用户账号触发的针对设备账号的操作所得到的操作结果,并将操作结果返回至设备账号所属的第一应用,包括:
在通过长连接保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则获取用户账号触发的针对设备账号的操作所得到的操作结果,并将操作结果主动返回至设备账号;在通过短连接轮询保持通信状态的过程中,若用户账号与设备账号相绑定,则获取用户账号触发的针对设备账号的操作所得到的操作结果;在接收到设备账号发送的状态查询请求后,基于状态查询请求返回操作结果。
在一个实施例中,提供了一种设备状态更新方法,包括:
电子设备通过本地运行的第一应用向服务器发起长连接建立请求,服务器接受该长连接请求,以建立与第一应用间的长连接。
服务器基于所建立的长连接向第一应用返回用于安全传输数据的密钥信息。
电子设备基于密钥信息生成确认结果,并发送确认结果至服务器。
每隔第一预设时长,电子设备通过长连接向服务器发送心跳包,若心跳包未能成功发送至服务器,则确定长连接处于失效状态;若心跳包成功发送至服务器,但在第一时间段内未接收到服务器针对心跳包返回的应答包,则确定长连接处于失效状态。
每隔第二预设时长,电子设备通过长连接发送预设请求给服务器,第二预设时长大于第一预设时长;若预设请求未能成功发送至服务器,则确定长连接处于失效状态;若预设请求成功发送至服务器,但在第二时间段内未接收到服务器针对预设请求返回的响应信息,则确定长连接处于失效状态。
若长连接处于失效状态,电子设备断开长连接并重新建立新的长连接。
在重新建立新的长连接的过程中,电子设备建立第一应用与服务器之间的短连接,通过短连接轮询向服务器发送状态查询请求,直至有效的长连接重新建立后,停止短连接轮询;其中,每次发送的状态查询请求用于电子设备从服务器获取到最新的操作结果,以实时更新电子设备的设备状态。
在通过长连接保持通信状态的过程中,电子设备通过第一应用显示用于与属于第一应用的设备账号进行绑定的绑定图形码。
在属于第二应用的用户账号扫描绑定图形码后,用户账号将生成的绑定信息发送给服务器,服务器通过长连接主动返回绑定信息给设备账号。
电子设备基于绑定信息将绑定图形码更新为会话图形码并显示;第二应用运行于用户设备中,会话图形码用于创建会话。
在属于第二应用的用户账号扫描会话图形码后,生成会话创建信息,用户账号将生成的会话创建信息发送给服务器,服务器通过长连接主动返回会话创建信息给设备账号。
电子设备接收服务器通过长连接主动返回的会话创建信息,响应于会话创建信息,将当前通过第一应用所显示的会话图形码切换成会话状态下的显示内容进行显示,以完成会话的创建。
在通过短连接轮询保持通信状态的过程中,电子设备通过第一应用显示用于与属于第一应用的设备账号进行绑定的绑定图形码。
在属于第二应用的用户账号扫描绑定图形码后,用户账号生成绑定信息。用户账号将生成的绑定信息发送给服务器,服务器接收该绑定信息。
当服务器接收到设备账号通过短连接发送的状态查询请求后,将该绑定信息通过短连接反馈给用户账号。用户账号接收该绑定信息后,断开与服务器的短连接。
用户账号基于绑定信息将绑定图形码更新为会话图形码并在当前界面显示。
在属于第二应用的用户账号扫描会话图形码后,生成会话创建信息,用户账号将生成的会话创建信息发送给服务器,服务器接收该会话创建信息。
在设备账号再次建立与服务器的短连接,且通过短连接发送状态查询请求给服务器后,服务器将会话创建信息通过短连接反馈给用户账号。用户账号接收该会话创建信息后,断开与服务器的短连接。
设备账号响应于会话创建信息,将当前在第一应用所显示的会话图形码切换成会话状态下的显示内容,以进入会议状态。
本实施例中,建立本地运行的第一应用与服务器间的长连接,并通过长连接保持与服务器间的通信状态,使得能够长时间维持第一应用与服务器之间的通信,从而能够在收发数据时无需重新建立与服务器的通信,提高数据收发的效率,并且能够减少后台的负载。
接收服务器基于所建立的长连接返回的密钥信息,基于密钥信息生成确认结果,并发送确认结果至服务器,通过协商密钥信息能够保证数据传输的安全性,从而能够保证电子设备与服务器之间的安全的通信状态。
通过长连接向服务器发送心跳包和预设请求,将心跳包和预设请求能否成功发送,以及能够接收到服务器的响应,作为判断长连接是否失效的条件,能够准确掌握当前的通信状态,以在长连接失效时使用其他方式保证第一应用和服务器的正常通信,避免数据收发受到影响。
若长连接处于失效状态,则断开长连接并重新建立新的长连接,在重新建立新的长连接的过程中,启动短连接轮询以保持与服务器间的通信状态,直至重新建立有效的长连接,以保证在长连接失效时,还能够通过短连接维持与服务器的正常通信,避免数据收发受到影响。
无论是通过长连接还是短连接保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器反馈的、经由用户账号触发的针对设备账号的操作所得到的绑定信息,基于绑定信息将绑定图形码准确更新为会话图形码,从而将第一应用从未绑定状态及时更新至已绑定状态,并在当前界面上显示用于创建会话的会话图形码,以便第二应用通过会话图形码对第一应用进行进一步操作,实现第二应用对第一应用的操控。
在用户账号与设备账号绑定后,接收服务器发送的、经由用户账号对会话图形码进行扫描并选择会话成员账号后触发的会话创建操作所得到的会话创建信息,从而能够基于服务器返回的会话创建信息,准确地、及时地将当前所显示的会话图形码切换成会话状态下的显示内容进行显示,从而将设备状态从待创建会话状态更新为会话状态,保证设备状态更新的及时性和准确性。
应该理解的是,虽然图2-图11的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图11中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图12所示,提供了一种设备状态更新装置1200,该装置1200可以采用软件模块或硬件模块,或者是二者的结合成为电子设备的一部分,该装置具体包括:建立模块1202、重建模块1204、轮询模块1206、接收模块1208和更新模块1210,其中:
建立模块1202,用于建立本地运行的第一应用与服务器间的长连接,并通过长连接保持与服务器间的通信状态。
重建模块1204,用于若长连接处于失效状态,则断开长连接并重新建立新的长连接。
轮询模块1206,用于在重新建立新的长连接的过程中,启动短连接轮询以保持与服务器间的通信状态,直至重新建立有效的长连接。
接收模块1208,用于在保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器反馈的、经由用户账号触发的针对设备账号的操作所得到的操作结果。
更新模块1210,用于基于操作结果更新电子设备的设备状态。
本实施例中,建立本地运行的第一应用与服务器间的长连接,并通过长连接保持与服务器间的通信状态,使得能够长时间维持第一应用与服务器之间的通信,从而能够在收发数据时无需重新建立与服务器的通信,提高数据收发的效率,并且能够减少后台的负载。
若长连接处于失效状态,则断开长连接并重新建立新的长连接,在重新建立新的长连接的过程中,启动短连接轮询以保持与服务器间的通信状态,直至重新建立有效的长连接,以保证在长连接失效时,还能够通过短连接维持与服务器的正常通信,避免数据收发受到影响。无论是通过长连接还是短连接保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器反馈的、经由用户账号触发的针对设备账号的操作所得到的操作结果,从而能够基于操作结果及时、准确地更新电子设备的设备状态。
在一个实施例中,建立模块1202,用于通过本地运行的第一应用向服务器发起长连接建立请求,以建立与服务器间的长连接;接收服务器基于所建立的长连接返回的密钥信息;基于密钥信息生成确认结果,并发送确认结果至服务器,以保持与服务器间的通信状态。
本实施例中,通过本地运行的第一应用向服务器发起长连接建立请求,以建立与服务器间的长连接,通过长连接能够长时间保持电子设备与服务器之间的通信状态。接收服务器基于所建立的长连接返回的密钥信息,基于密钥信息生成确认结果,并发送确认结果至服务器,通过协商密钥信息能够保证数据传输的安全性,从而能够保证电子设备与服务器之间的安全的通信状态。
在一个实施例中,装置还包括检测模块;检测模块,用于每隔第一预设时长,通过长连接向服务器发送心跳包;若心跳包未能成功发送至服务器,则确定长连接处于失效状态;若心跳包成功发送至服务器,但在第一时间段内未接收到服务器针对心跳包返回的应答包,则确定长连接处于失效状态。
本实施例中,每隔第一预设时长,通过长连接向服务器发送心跳包,能够通过心跳包是否成功发送至服务器,判断第一应用和服务器之间的长连接是否处于失效状态,从而能够每间隔预设时间对长连接的通信状态进行检测,以保证第一应用和服务器之间能够正常通信。或者通过心跳包成功发送至服务器后,在第一时间段内是否能够接收到服务器针对心跳包返回的应答包,来进一步判断第一应用和服务器之间的长连接是否处于失效状态,在未能成功接收到服务器的应答包的情况下,判断第一应用和服务器之间的长连接处于失效状态,从而能够更准确地判断长连接是否有效,进而保证数据收发的正常。
在一个实施例中,检测模块,还用于每隔第二预设时长,通过长连接发送预设请求给服务器;第二预设时长大于第一预设时长;若预设请求未能成功发送至服务器,则确定长连接处于失效状态;若预设请求成功发送至服务器,但在第二时间段内未接收到服务器针对预设请求返回的响应信息,则确定长连接处于失效状态。
本实施例中,心跳包数据属于轻量级数据包,在网络比较差的情况下也可能发生成功,但网络比较差的情况下无法发送正常请求,以及无法接收响应信。每间隔第一预设时长,则通过心跳包检测长连接是否有效,以通知服务器第一应用还数据在线状态。每间隔第二预设时长,通过发送预设请求检测长连接是否有效,能够进一步检测正常量级的数据的收发是否正常。
在一个实施例中,轮询模块1206,还用于在重新建立新的长连接的过程中,建立第一应用与服务器之间的短连接;通过短连接轮询向服务器发送状态查询请求,直至有效的长连接重新建立后,停止短连接轮询;其中,每次发送的状态查询请求用于电子设备主动获取到最新的操作结果,以实时更新电子设备的设备状态。
本实施例中,在重新建立新的长连接的过程中,建立第一应用与服务器之间的短连接,通过短连接轮询向服务器发送状态查询请求,以主动获取到最新的操作结果,并实时更新电子设备的设备状态,直至有效的长连接重新建立后,停止短连接轮询,能够在长连接无法使用的情况下通过短连接轮询保持与服务器之间的通信状态,使得能够通过长连接和短连接结合方式对电子设备的设备状态进行检测,既能够通过长连接提高数据收发的实时性,降低后台的负载,又能够通过短连接轮询实现通信状态的稳定性,使得电子设备和服务器之间的通信保持最优状态。
在一个实施例中,接收模块1208,还用于在通过长连接保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器通过长连接主动返回的、经由用户账号触发的针对设备账号的操作所得到的操作结果。
本实施例中,在通过长连接保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,服务器会通过长连接主动返回的、经由用户账号触发的针对设备账号的操作所得到的操作结果,使得第一应用的设备账号能够从服务器及时获知当前的设备状态,从而能够实现设备状态的实时更新。
在一个实施例中,接收模块1208,还用于在通过短连接轮询保持通信状态的每次轮询中,向服务器发送状态查询请求,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器通过短连接返回的、针对状态查询请求的响应结果;响应结果包括经由用户账号触发的针对设备账号的操作所得到的操作结果。
本实施例中,在通过短连接轮询保持通信状态的每次轮询中,向服务器发送状态查询请求,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则接收服务器通过短连接返回的、针对状态查询请求的响应结果,响应结果包括经由用户账号触发的针对设备账号的操作所得到的操作结果,使得第一应用的设备账号能够通过短连接从服务器获知当前的设备状态,从而能够实现设备状态的实时更新。
在一个实施例中,接收模块1208,还用于在保持通信状态的过程中,显示用于与属于第一应用的设备账号进行绑定的绑定图形码;在属于第二应用的用户账号扫描绑定图形码后,接收服务器返回的用户账号已绑定设备账号的绑定信息;更新模块,还用于基于绑定信息将绑定图形码更新为会话图形码并显示;会话图形码用于创建会话或加入已创建的会话。
本实施例中,在保持通信状态的过程中,显示用于与属于第一应用的设备账号进行绑定的绑定图形码,以表征第一应用当前处于未绑定状态。在属于第二应用的用户账号扫描绑定图形码后,接收服务器返回的用户账号已绑定设备账号的绑定信息,基于绑定信息将绑定图形码准确更新为会话图形码,从而将第一应用从未绑定状态及时更新至已绑定状态,并在当前界面上显示用于创建会话或加入已创建的会话的会话图形码,以便第二应用通过会话图形码对第一应用进行进一步操作,实现第二应用对第一应用的操控。
在一个实施例中,接收模块1208,还用于在用户账号与设备账号绑定后,接收服务器发送的、经由用户账号对会话图形码进行扫描并选择会话成员账号后触发的会话创建操作所得到的会话创建信息;更新模块,还用于响应于会话创建信息,将当前所显示的会话图形码切换成会话状态下的显示内容进行显示。
本实施例中,在用户账号与设备账号绑定后,接收服务器发送的、经由用户账号对会话图形码进行扫描并选择会话成员账号后触发的会话创建操作所得到的会话创建信息,从而能够基于服务器返回的会话创建信息,准确地、及时地将当前所显示的会话图形码切换成会话状态下的显示内容进行显示,从而将设备状态从待创建会话状态更新为会话状态,保证设备状态更新的及时性和准确性。
在一个实施例中,第一应用包括会话管理应用,电子设备包括多媒体会话设备,用于提供会话房间资源,第二应用包括组织管理应用,第二应用提供用于参与会话的会话成员账号。
本实施例中,该设备状态更新方法可应用于会话场景,会话管理应用通过长连接或短连接与服务器进行通信,能够有效解决仅使用短连接进行通信时导致后台负载量大的问题。组织管理应用可对会话管理应用进行操作,将操作结果发送给服务器,服务器将该操作结果通过长连接或短连接返回给组织管理应用,以便组织管理应用更新当前的设备状态。
在一个实施例中,如图13所示,提供了一种设备状态更新装置1300,由服务器执行,该装置1300可以采用软件模块或硬件模块,或者是二者的结合成为服务器的一部分,该装置具体包括:长连接建立模块1302、长连接重建模块1304、短连接轮询模块1306和返回模块1308,其中:
长连接建立模块1302,用于建立与第一应用间的长连接,并通过长连接保持与第一应用间的通信状态,第一应用运行于电子设备中。
长连接重建模块1304,用于若若长连接处于失效状态,则触发断开长连接并重新建立新的长连接。
短连接轮询模块1306,用于在重新建立新的长连接的过程中,接收第一应用以短连接轮询的方式发送的状态查询请求,以通过状态查询请求保持与第一应用间的通信状态,直至重新建立有效的长连接。
返回模块1308,用于在保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则通过第二应用获取经由用户账号触发的针对设备账号的操作所得到的操作结果,并将操作结果返回至设备账号所属的第一应用;该操作结果用于指示第一应用更新电子设备的设备状态。
本实施例中,第一应用运行于电子设备中,建立与第一应用间的长连接,并通过长连接保持与第一应用间的通信状态,使得能够长时间维持第一应用与服务器之间的通信,从而能够在收发数据时无需重新建立与服务器的通信,提高数据收发的效率,并且能够减少后台的负载。
若长连接失效则重新建立新的长连接,在重新建立新的长连接的过程中,接收第一应用以短连接轮询的方式发送的状态查询请求,以通过状态查询请求保持与第一应用间的通信状态,直至重新建立有效的长连接,能够保证在长连接失效时,还可以通过短连接维持与服务器的正常通信,避免数据收发收到影响。无论是通过长连接还是短连接保持通信状态的过程中,若属于第二应用的用户账号与属于第一应用的设备账号相绑定,则通过第二应用获取经由用户账号触发的针对设备账号的操作所得到的操作结果,并将操作结果返回至设备账号所属的第一应用,从而能够指示电子设备基于操作结果及时、准确地更新自身的设备状态。
关于设备状态更新装置的具体限定可以参见上文中对于设备状态更新方法的限定,在此不再赘述。上述设备状态更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是电子设备,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种设备状态更新方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种设备状态更新方法,其特征在于,由电子设备执行,所述方法包括:
建立本地运行的第一应用与服务器间的长连接,并通过所述长连接保持与所述服务器间的通信状态;
若所述长连接处于失效状态,则断开所述长连接并重新建立新的长连接;
在重新建立新的长连接的过程中,启动短连接轮询以保持与所述服务器间的通信状态,直至重新建立有效的长连接;
在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器反馈的、经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果;
基于所述操作结果更新电子设备的设备状态。
2.根据权利要求1所述的方法,其特征在于,所述建立本地运行的第一应用与服务器间的长连接,并通过所述长连接保持与所述服务器间的通信状态,包括:
通过本地运行的第一应用向服务器发起长连接建立请求,以建立与所述服务器间的长连接;
接收所述服务器基于所建立的长连接返回的密钥信息;
基于所述密钥信息生成确认结果,并发送所述确认结果至所述服务器,以保持与所述服务器间的通信状态。
3.根据权利要求1所述的方法,其特征在于,在所述建立本地运行的第一应用与服务器间的长连接之后,所述方法还包括:
每隔第一预设时长,通过所述长连接向所述服务器发送心跳包;
若所述心跳包未能成功发送至所述服务器,则确定所述长连接处于失效状态;
若所述心跳包成功发送至所述服务器,但在第一时间段内未接收到所述服务器针对所述心跳包返回的应答包,则确定所述长连接处于失效状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
每隔第二预设时长,通过所述长连接发送预设请求给所述服务器;所述第二预设时长大于所述第一预设时长;
若所述预设请求未能成功发送至所述服务器,则确定所述长连接处于失效状态;
若所述预设请求成功发送至所述服务器,但在第二时间段内未接收到所述服务器针对所述预设请求返回的响应信息,则确定所述长连接处于失效状态。
5.根据权利要求1所述的方法,其特征在于,所述在重新建立新的长连接的过程中,启动短连接轮询以保持与所述服务器间的通信状态,直至重新建立有效的长连接,包括:
在重新建立新的长连接的过程中,建立所述第一应用与所述服务器之间的短连接;
通过所述短连接轮询向所述服务器发送状态查询请求,直至有效的长连接重新建立后,停止所述短连接轮询;其中,每次发送的所述状态查询请求用于电子设备主动获取到最新的操作结果,以实时更新所述电子设备的设备状态。
6.根据权利要求1所述的方法,其特征在于,所述在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器反馈的、经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果,包括:
在通过所述长连接保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器通过所述长连接主动返回的、经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果。
7.根据权利要求1所述的方法,其特征在于,所述在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器反馈的、经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果,包括:
在通过所述短连接轮询保持通信状态的每次轮询中,向所述服务器发送状态查询请求,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器通过所述短连接返回的、针对所述状态查询请求的响应结果;所述响应结果包括经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果。
8.根据权利要求1所述的方法,其特征在于,所述电子设备的设备状态通过所述电子设备的当前显示内容表征;所述在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器反馈的、经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果,包括:
在保持通信状态的过程中,显示用于与属于所述第一应用的设备账号进行绑定的绑定图形码;
在属于第二应用的用户账号扫描所述绑定图形码后,接收所述服务器返回的所述用户账号已绑定所述设备账号的绑定信息;
所述基于所述操作结果更新电子设备的设备状态,包括:
基于所述绑定信息将所述绑定图形码更新为会话图形码并显示;所述会话图形码用于创建会话或加入已创建的会话。
9.根据权利要求8所述的方法,其特征在于,所述在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器反馈的、经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果,还包括:
在所述用户账号与所述设备账号绑定后,接收所述服务器发送的、经由所述用户账号对所述会话图形码进行扫描并选择会话成员账号后触发的会话创建操作所得到的会话创建信息;
所述基于所述操作结果更新电子设备的设备状态,包括:
响应于所述会话创建信息,将当前所显示的会话图形码切换成会话状态下的显示内容进行显示。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述第一应用包括会话管理应用,所述电子设备包括多媒体会话设备,用于提供会话房间资源,所述第二应用包括组织管理应用,所述第二应用提供用于参与会话的会话成员账号。
11.一种设备状态更新方法,其特征在于,由服务器执行,所述方法包括:
建立与第一应用间的长连接,并通过所述长连接保持与所述第一应用间的通信状态,所述第一应用运行于电子设备中;
若所述长连接处于失效状态,则触发断开所述长连接并重新建立新的长连接;
在重新建立新的长连接的过程中,接收所述第一应用以短连接轮询的方式发送的状态查询请求,以通过所述状态查询请求保持与所述第一应用间的通信状态,直至重新建立有效的长连接;
在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则通过所述第二应用获取经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果,并将所述操作结果返回至所述设备账号所属的第一应用;所述操作结果用于指示所述第一应用更新所述电子设备的设备状态。
12.一种设备状态更新装置,其特征在于,由电子设备执行,所述装置包括:
建立模块,用于建立本地运行的第一应用与服务器间的长连接,并通过所述长连接保持与所述服务器间的通信状态;
重建模块,用于若所述长连接处于失效状态,则断开所述长连接并重新建立新的长连接;
轮询模块,用于在重新建立新的长连接的过程中,启动短连接轮询以保持与所述服务器间的通信状态,直至重新建立有效的长连接;
接收模块,用于在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则接收所述服务器反馈的、经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果;
更新模块,用于基于所述操作结果更新电子设备的设备状态。
13.一种设备状态更新装置,其特征在于,由服务器执行,所述装置包括:
长连接建立模块,用于建立与第一应用间的长连接,并通过所述长连接保持与所述第一应用间的通信状态,所述第一应用运行于电子设备中;
长连接重建模块,用于若所述长连接处于失效状态,则触发断开所述长连接并重新建立新的长连接;
短连接轮询模块,用于在重新建立新的长连接的过程中,接收所述第一应用以短连接轮询的方式发送的状态查询请求,以通过所述状态查询请求保持与所述第一应用间的通信状态,直至重新建立有效的长连接;
返回模块,用于在保持通信状态的过程中,若属于第二应用的用户账号与属于所述第一应用的设备账号相绑定,则通过所述第二应用获取经由所述用户账号触发的针对所述设备账号的操作所得到的操作结果,并将所述操作结果返回至所述设备账号所属的第一应用;所述操作结果用于指示所述第一应用更新所述电子设备的设备状态。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111064108.3A CN114281373A (zh) | 2021-09-10 | 2021-09-10 | 设备状态更新方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111064108.3A CN114281373A (zh) | 2021-09-10 | 2021-09-10 | 设备状态更新方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114281373A true CN114281373A (zh) | 2022-04-05 |
Family
ID=80868525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111064108.3A Pending CN114281373A (zh) | 2021-09-10 | 2021-09-10 | 设备状态更新方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281373A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022386A (zh) * | 2022-06-17 | 2022-09-06 | 阿里云计算有限公司 | 一种会话处理的方法和装置 |
-
2021
- 2021-09-10 CN CN202111064108.3A patent/CN114281373A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022386A (zh) * | 2022-06-17 | 2022-09-06 | 阿里云计算有限公司 | 一种会话处理的方法和装置 |
CN115022386B (zh) * | 2022-06-17 | 2024-03-12 | 阿里云计算有限公司 | 一种会话处理的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102327571B1 (ko) | 영상 통화 데이터의 디스플레이 | |
TWI658733B (zh) | 實現視訊通話的方法及系統 | |
US9438448B2 (en) | Maintaining communication connections during temporary network disruptions | |
US20150142982A1 (en) | Preservation of connection session | |
US20100199320A1 (en) | Multimodal escalation to endpoints in enhanced communication systems | |
US9065788B2 (en) | Method, device and system for voice communication | |
US11489686B2 (en) | Virtual meetings in ad-hoc networks | |
EP4207648A1 (en) | Connection processing method and apparatus, electronic device, and computer-readable storage medium | |
CN107810626B (zh) | 呼叫建立 | |
CN109391476B (zh) | 网络通话方法、装置及系统 | |
CN105531979A (zh) | 建立用于数据交换的上下文的http协议上的消息传递api | |
CN113765930B9 (zh) | 多方通话的控制方法及客户端、服务器 | |
EP2974159B1 (en) | Method, device and system for voice communication | |
CN112217890A (zh) | 远程协助方法、装置、计算机设备和存储介质 | |
US10044777B2 (en) | Method and device for communicating between at least a first terminal and a second terminal | |
CN113365234A (zh) | 呼叫方法、装置及电子设备 | |
US11064326B2 (en) | Creating, joining, finding, discovering, restoring and relocating process-based channels | |
CN114281373A (zh) | 设备状态更新方法、装置、计算机设备和存储介质 | |
CN111490931B (zh) | 会话管理方法、装置、会话管理设备及存储介质 | |
WO2023241613A1 (zh) | 通话建立方法、装置、终端、系统及可读存储介质 | |
CN110620672B (zh) | 多人会话数据处理方法、装置、计算机设备和存储介质 | |
CN109120578B (zh) | 一种实现链路连接处理的方法及装置 | |
CN110995706A (zh) | 用于通讯应用的身份验证系统、方法、设备和存储介质 | |
CN115412974A (zh) | 分流通信方法、装置、设备及可读存储介质 | |
CN113014404B (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 |