CN112527515A - 状态同步方法、装置、设备及存储介质 - Google Patents
状态同步方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112527515A CN112527515A CN202011412916.XA CN202011412916A CN112527515A CN 112527515 A CN112527515 A CN 112527515A CN 202011412916 A CN202011412916 A CN 202011412916A CN 112527515 A CN112527515 A CN 112527515A
- Authority
- CN
- China
- Prior art keywords
- sdk
- state
- synchronized
- target application
- synchronization
- 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
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000001360 synchronised effect Effects 0.000 claims abstract description 155
- 238000004891 communication Methods 0.000 claims abstract description 42
- 238000004590 computer program Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请提供一种状态同步方法、装置、设备及存储介质,涉及数据传输技术领域。该方法包括:所述多个通话应用中目标应用的SDK向所述SDK服务程序请求待同步状态的同步权限;若所述目标应用的SDK获取到所述SDK服务程序的请求成功消息,则由所述目标应用的SDK通过所述通信接口向所述外接设备同步所述待同步状态。相对于现有技术,避免了没有考虑到多个软件同时向外接设备同步状态的场景,导致多个软件同时使用的时候,状态可能会同步混乱的问题。
Description
技术领域
本申请涉及数据传输技术领域,具体而言,涉及一种状态同步方法、装置、设备及存储介质。
背景技术
目前市面上有大量外接设备,比如外接耳机、外接摄像机等,这些外接设备常常通过与电子设备连接后,与软电话一起使用。
现有技术中,软电话一般会通过对应的SDK提供将当前软电话的通话状态传递给外接设备,如来电状态、Hold状态,Mute状态等,外接设备在收到这些状态同步之后,会进行对应的表现。通过这样的方式来给用户带来更好的交互体验。
但是上述方法中,由于没有考虑到多个软件同时向外接设备同步状态的场景,导致多个软件同时使用的时候,状态可能会同步混乱的问题。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种状态同步方法、装置、设备及存储介质,以解决现有技术中没有考虑到多个软件同时向外接设备同步状态的场景,导致多个软件同时使用的时候,状态可能会同步混乱的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请一实施例提供了一种状态同步方法,应用于支持多个通话应用的电子设备,每个通话应用中集成有软件开发工具包SDK,所述电子设备还安装有SDK服务程序,所述电子设备通过通信接口连接外接设备,所述方法包括:
所述多个通话应用中目标应用的SDK向所述SDK服务程序请求待同步状态的同步权限;
若所述目标应用的SDK获取到所述SDK服务程序的请求成功消息,则由所述目标应用的SDK通过所述通信接口向所述外接设备同步所述待同步状态。
可选地,所述若所述目标应用的SDK获取到所述SDK服务程序的请求成功消息,则由所述目标应用的SDK通过所述通信接口向所述外接设备同步所述待同步状态之前,所述方法还包括:
由所述SDK服务程序判断所述待同步状态的同步权限是否被占用;
若所述待同步状态的同步权限未被占用,则由SDK服务程序向所述目标应用的SDK返回所述请求成功消息。
可选地,所述方法还包括:
若所述待同步状态的同步权限被占用,则由SDK服务程序向所述目标应用的SDK返回请求失败消息;
由所述目标应用的SDK对所述待同步状态进行缓存。
可选地,所述由所述多个通话应用中目标应用的SDK向所述SDK服务程序请求待同步状态的同步权限之前,所述方法还包括:
由所述目标应用的SDK判断是否具有所述待同步状态的同步权限;
所述由所述多个通话应用中目标应用的SDK向所述SDK服务程序请求待同步状态的同步权限,包括:
若不具有所述待同步状态的同步权限,则由目标应用的SDK向所述SDK服务程序请求所述待同步状态的同步权限。
可选地,所述方法还包括:
若具有所述待同步状态的同步权限,则由目标应用的SDK通过所述通信接口向所述外接设备同步所述待同步状态。
可选地,所述若所述目标应用的SDK获取到所述SDK服务程序的请求成功消息之后,所述方法还包括:
由所述目标应用的SDK记录所述目标应用具有所述待同步状态的同步权限;
所述SDK服务程序向所述目标应用的SDK返回所述请求成功消息之后,所述方法还包括:
由SDK服务程序记录所述待同步状态的同步权限被所述目标应用占用。
可选地,所述方法还包括:
若所述待同步状态的同步结束,则由所述目标应用的SDK清除具有所述待同步状态的同步权限的记录;
由所述目标应用的SDK向所述SDK服务程序请求解除所述目标应用对所述待同步状态的同步权限的占用;
由所述SDK服务程序解除所述目标应用对所述待同步状态的同步权限的占用。
可选地,所述方法还包括:
由所述SDK服务程序向所述多个通话应用中其他应用的SDK发送所述目标应用对所述待同步状态的同步权限的解除占用通知。
可选地,所述方法还包括:
由所述其他应用的SDK根据预先缓存的状态,判断所述其他应用是否具有所述待同步状态需要同步;
若具有所述待同步状态需要同步,则由所述其他应用的SDK向所述SDK服务程序请求所述待同步状态的同步权限;
若所述其他应用的SDK获取到接收到所述SDK服务程序的请求成功消息的情况下,由所述其他应用的SDK通过所述通信接口向所述外接设备同步所述待同步状态。
可选地,所述方法还包括:
在所述SDK服务程序监听到与所述目标应用的SDK之间的数据管道的连接断开的情况下,由所述SDK服务程序解除所述目标应用对所述待同步状态的同步权限的占用,并通知所述目标应用的SDK清除具有所述待同步状态的同步权限的记录。
可选地,所述由所述多个通话应用中目标应用的SDK向所述SDK服务程序请求待同步状态的同步权限之前,所述方法还包括:
在所述SDK服务程序启动后,创建所述SDK服务程序侧的预设管道服务;
由所述目标应用的SDK创建通信管道,以通过所述预设管道服务连接至所述SDK服务程序。
第二方面,本申请另一实施例提供了一种状态同步装置,应用于支持多个通话应用的电子设备,每个通话应用中集成有软件开发工具包SDK,所述电子设备还安装有SDK服务程序,所述电子设备通过通信接口连接外接设备,所述装置包括:设置在SDK内的请求模块和同步模块,其中:
所述请求模块,用于向所述SDK服务程序请求待同步状态的同步权限;
所述同步模块,用于若所述目标应用的SDK获取到所述SDK服务程序的请求成功消息,则通过所述通信接口向所述外接设备同步所述待同步状态。
可选地,所述装置还包括:设置在SDK服务程序内的第一判断模块和第一返回模块,其中:
所述第一判断模块,用于判断所述待同步状态的同步权限是否被占用;
所述第一返回模块,用于若所述待同步状态的同步权限未被占用,则向所述目标应用的SDK返回所述请求成功消息。
可选地,所述装置还包括:设置在SDK内的缓存模块,其中:
所述第一返回模块,具体用于若所述待同步状态的同步权限被占用,则向所述目标应用的SDK返回请求失败消息;
所述缓存模块,用于对所述待同步状态进行缓存。
可选地,所述装置还包括:设置在SDK内的第二判断模块,用于判断是否具有所述待同步状态的同步权限;
所述请求模块,具体用于若不具有所述待同步状态的同步权限,则向所述SDK服务程序请求所述待同步状态的同步权限。
可选地,所述同步模块,具体用于若具有所述待同步状态的同步权限,则通过所述通信接口向所述外接设备同步所述待同步状态。
可选地,所述装置还包括:设置在SDK内的第一记录模块和设置在SDK服务程序内的第二记录模块,其中:
所述第一记录模块,用于记录所述目标应用具有所述待同步状态的同步权限;
所述第二记录模块,用于记录所述待同步状态的同步权限被所述目标应用占用。
可选地,所述装置还包括:设置在SDK内的清除模块,及设置在SDK服务程序内的解除模块,其中:
所述清除模块,用于若所述待同步状态的同步结束,则清除具有所述待同步状态的同步权限的记录;
所述请求模块,用于向所述SDK服务程序请求解除所述目标应用对所述待同步状态的同步权限的占用;
所述解除模块,用于解除所述目标应用对所述待同步状态的同步权限的占用。
可选地,所述装置还包括:设置在SDK服务程序内的通知模块,用于向所述多个通话应用中其他应用的SDK发送所述目标应用对所述待同步状态的同步权限的解除占用通知。
可选地,所述第二判断模块,具体用于根据预先缓存的状态,判断所述其他应用是否具有所述待同步状态需要同步;
所述请求模块,用于若具有所述待同步状态需要同步,则向所述SDK服务程序请求所述待同步状态的同步权限;
所述同步模块,具体用于若所述其他应用的SDK获取到接收到所述SDK服务程序的请求成功消息的情况下,通过所述通信接口向所述外接设备同步所述待同步状态。
可选地,所述解除模块,具体用于在所述SDK服务程序监听到与所述目标应用的SDK之间的数据管道的连接断开的情况下解除所述目标应用对所述待同步状态的同步权限的占用;
所述通知模块,用于通知所述目标应用的SDK清除具有所述待同步状态的同步权限的记录。
可选地,所述装置还包括:设置在SDK内的第一创建模块和设置在SDK服务程序内的第二创建模块,其中:
所述第一创建模块,用于在所述SDK服务程序启动后,创建所述SDK服务程序侧的预设管道服务。
所述第二创建模块,用于创建通信管道,以通过所述预设管道服务连接至所述SDK服务程序。
第三方面,本申请另一实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述第一方面任一所述方法的步骤。
第四方面,本申请另一实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一方面任一所述方法的步骤。
本申请的有益效果是:采用本申请提供的状态同步方法,多个通话应用在向SDK服务程序请求待同步状态的同步权限时,各通话应用通过对应的SDK向SDK服务程序请求待同步状态,只有获取到SDK服务程序的请求成功消息的目标应用的SDK才能通过通信接口向外接设备同步待同步状态,且同一时刻只有一个目标应用可以获取同步权限,即同一时刻只有一个目标应用可以同步装填,不能多端同时同步,这样的同步方式避免了多个应用同时向外接设备同步状态,造成外接设备收到的多个同步状态之间相互冲突,影响用户的正常使用。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请一实施例提供的状态同步***的结构示意图;
图2为本申请一实施例提供的状态同步方法的流程示意图;
图3为本申请另一实施例提供的状态同步方法的流程示意图;
图4为本申请另一实施例提供的状态同步方法的流程示意图;
图5为本申请另一实施例提供的状态同步方法的流程示意图;
图6为本申请另一实施例提供的状态同步方法的流程示意图;
图7为本申请一实施例提供的状态同步装置的结构示意图;
图8为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
如下结合多个具体的应用示例,对本申请实施例所提供的一种状态同步方法进行解释说明。图1为本申请一实施例提供的状态同步***的结构示意图,如图1所示,该***包括电子设备和外接设备,其中:
电子设备上可以支持多个通话应用,例如可以包括:通话应用A、通话应用B和通话应用C等;每个通话应用中集成有软件开发工具包SDK,电子设备还安装有SDK服务程序,用于进行同步权限的管理,电子设备通过通信接口连接外接设备,外接设备通过预设通信接口与电子设备通信连接后,只可以获取电子设备中获取到同步权限的目标应用的通话信息,例如可以为通话语音或通话视频等,同一时刻内,多个通话应用中只有一个目标应用可以获取到同步权限。
可选地,在本申请的一个实施例中,通话应用可以为软电话例如可以为如Teams、Avaya、swyx、Zoiper、Ringcentral等,具体通话应用包括的类型可以根据用户需要灵活调整,并不以上述实施例给出的为限。
其中,通话应用对应的状态例如可以为来电状态、保持状态(hold状态)和非保持状态(非Hold状态),其中:若通话应用在与外接设备同步状态后,当前状态为来电状态,此时外接设备快闪灯、响来电铃声;若当前状态Hold状态的时候,则外接设备慢闪灯,响嘟嘟声;若非Hold状态的时候,则外接设备灯常亮起,不闪烁;具体通话应用包括的状态,和不同状态下外接设备对应的反应可以根据用户需要灵活调整,并不以上述实施例给出的为限。
其中,每个通话应用均有其对应的SDK,各SDK集成在对应的通话应用内部,各SDK可以获取其所在通话应用的当前状态,但是无法获取其他通话应用的当前状态。
每个通话应用中的SDK为该通话应用通过预设通信接口操作外接设备的SDK,如外接设备为USB设备时,每个通话应用中的SDK即为操作USB的SDK,操作例如可以包括控制USB设备,以及从USB设备端获取信息等功能。
示例地,在一些可能的实施例中,外接设备例如可以为:外接耳机、外接摄像机等,外接设备通过通信接口与电子设备连接,通信接口例如可以为通用串行总线(UniversalSerial Bus,USB)、Type-C接口、lightning接口等,具体连接接口的接口类型可以根据用户需要灵活调整,并不以上述实施例给出的为限。
图2为本申请一实施例提供的一种状态同步方法的流程示意图,应用于支持多个通话应用的电子设备,如图2所示,该方法包括:
S101:多个通话应用中目标应用的SDK向SDK服务程序请求待同步状态的同步权限。
可选地,目标应用需要同步状态时,当前自己对应的通话应用的状态为待同步状态,此时通过目标应用对应的SDK向SDK服务程序(SDK Server)发送请求。
若目标应用的SDK获取到SDK服务程序的请求成功消息,则执行S102。
S102:由目标应用的SDK通过通信接口向外接设备同步待同步状态。
若目标应用的SDK获取到请求成功消息,则说明当前目标应用成功获取同步权限,可以通过通信接口向外接设备同步待同步状态,由于同一时刻只有一个通化应用可以获取到同步权限,因此保证了与外接设备同步待同步状态的通话应用唯一,保证了外接设备接收到的同步信息不是混乱的。
采用本申请提供的状态同步方法,多个通话应用在向SDK服务程序请求待同步状态的同步权限时,各通话应用通过对应的SDK向SDK服务程序请求待同步状态,只有获取到SDK服务程序的请求成功消息的目标应用的SDK才能通过通信接口向外接设备同步待同步状态,且同一时刻只有一个目标应用可以获取同步权限,即同一时刻只有一个目标应用可以同步装填,不能多端同时同步,这样的同步方式避免了多个应用同时向外接设备同步状态,造成外接设备收到的多个同步状态之间相互冲突,影响用户的正常使用。
可选地,在上述实施例的基础上,本申请实施例还可提供一种状态同步方法,如下结合附图对上述方法的实现过程进行示例说明。图3为本申请另一实施例提供的一种状态同步方法的流程示意图,如图3所示,S102之前,该方法还包括:
S103:由SDK服务程序判断待同步状态的同步权限是否被占用。
若待同步状态的同步权限未被占用,则执行S104a。
S104a:由SDK服务程序向目标应用的SDK返回请求成功消息。
若待同步状态的同步权限被占用,则执行S104b。
S104b:由SDK服务程序向目标应用的SDK返回请求失败消息。
S105:由目标应用的SDK对待同步状态进行缓存。
示例地,在一些可能的实施例中,请求同步权限失败的目标应用的SDK,例如可以间隔预设时间间隔向SDK服务程序再次发送同步状态的请求,或SDK服务程序在同步权限未被占用后,向各待同步状态为失败的目标应用程序发送通知,通知各目标应用程序当前同步权限未被占用,各目标应用程序可以再次发送同步请求,具体目标应用的SDK对待同步状态进行缓存后的后续操作,可以根据用户需要灵活调整,并不以上述实施例给出的为限。
可选地,在上述实施例的基础上,本申请实施例还可提供一种状态同步方法,如下结合附图对上述方法中实现过程进行示例说明。图4为本申请另一实施例提供的一种状态同步方法的流程示意图,如图4所示,该方法还包括:
S106:由目标应用的SDK判断是否具有待同步状态的同步权限。
对应地,S101可包括:
若不具有待同步状态的同步权限,则执行S107a。
S107a:由目标应用的SDK向SDK服务程序请求待同步状态的同步权限。
随后执行S103-S105,在SDK服务程序确定其待同步状态的同步权限未被占用后,再执行S102。
若具有待同步状态的同步权限,则直接执行S102。
可选地,在本申请的一个实施例中,如果目标应用的SDK获取到SDK服务程序的请求成功消息之后,还需要由目标应用的SDK记录目标应用具有待同步状态的同步权限;并SDK服务程序向目标应用的SDK返回请求成功消息之后,在由SDK服务程序记录待同步状态的同步权限被目标应用占用。
可选地,在上述实施例的基础上,本申请实施例还可提供一种状态同步方法,如下结合附图对上述方法的实现过程进行示例说明。图5为本申请另一实施例提供的一种状态同步方法的流程示意图,如图5所示,该方法还包括:
S108:若待同步状态的同步结束,则由目标应用的SDK清除具有待同步状态的同步权限的记录。
其中,若目标应用不再有状态需要同步,此时目标软件则无需再占用同步权限,则确定当前待同步状态同步结束。
S109:由目标应用的SDK向SDK服务程序请求解除目标应用对待同步状态的同步权限的占用。
S110:由SDK服务程序解除目标应用对待同步状态的同步权限的占用。
可选地,在本申请的一个实施例中,可以由SDK服务程序向多个通话应用中其他应用的SDK发送目标应用对待同步状态的同步权限的解除占用通知;在本申请的另一实施例中,也可以为其他应用的SDK实时,或每间隔预设时间向SDK服务程序发送查询请求,查询SDK服务程序的同步权限当前是否被占用;具体确定同步权限是否被占用的方法可以根据用户需要灵活调整,并不以上述两种实施例给出的为限。
其中,SDK服务程序解除目标应用对同步权限的占用后,使得同步权限可以被其他需要同步状态的应用占用。
可选地,在本申请的一个实施例中,以由SDK服务程序向多个通话应用中其他应用的SDK发送目标应用对待同步状态的同步权限的解除占用通知为例进行说明,其他应用的SDK在接收到解除占用通知后,由其他应用的SDK根据预先缓存的状态,判断其他应用是否具有待同步状态需要同步;若具有待同步状态需要同步,则由其他应用的SDK向SDK服务程序请求待同步状态的同步权限;若其他应用的SDK获取到接收到SDK服务程序的请求成功消息的情况下,由其他应用的SDK通过通信接口向外接设备同步待同步状态。
其中,由于各通话应用发送的请求待同步状态的同步权限的时间会有细微差别,因此同一时刻内,即使有多个通话应用发送请求,只会有一个通话应用可以成功抢占同步权限。
示例地,在一些可能的实施例中,可能已经成功与外接设备同步状态的目标应用在使用过程中发生故障,导致异常退出或其他异常情况,造成目标应用无法正常使用的问题,并且由于异常退出不会触发目标应用的SDK向SDK服务程序发送解除请求,这样就会导致同步权限始终不能被释放,导致其他软件获取同步权限时,一直无法获取成功,为了保证其他软件正常获取同步权限,SDK服务程序会实施监听目标应用的SDK与SDK服务程序的连接状况,若SDK服务程序监听到与目标应用的SDK之间的数据管道的连接断开的情况下,由SDK服务程序解除目标应用对待同步状态的同步权限的占用,并通知目标应用的SDK清除具有待同步状态的同步权限的记录。
可选地,在上述实施例的基础上,本申请实施例还可提供一种状态同步方法,如下结合附图对上述方法的实现过程进行示例说明。图6为本申请另一实施例提供的一种状态同步方法的流程示意图,如图6所示,该方法还包括:
S111:在SDK服务程序启动后,创建SDK服务程序侧的预设管道服务。
其中,外接设备在与电子设备连接后,在外接设备初始化的过程中,判断SDK服务程序是否正在运行,若SDK服务程序当前没有在运行,则启动SDK服务程序,若SDK服务程序当前正在运行,则无需启动。
其中,预设管道服务例如可以为SDK_Server,用于供其他应用的SDK连接。
S112:由目标应用的SDK创建通信管道,以通过预设管道服务连接至SDK服务程序。
可选地,在本申请的一个实施例中,目标应用的SDK通过调用SDK初始化函数,来创建通信管道;其中,目标应用的SDK与SDK服务程序之间建立的通信管道一直存在,直到目标应用程序或SDK服务程序退出或下线。
示例地,在一些可能的实施例中,同步状态的权限并不只有上述一种,任意一种需要控制同步冲突的状态,都可以有一个对应的权限,用户可以根据自己的需求进行自由扩展,并不以上述实施例给出的为限。
采用本申请提供的状态同步方法,通过引入一个运行在电子设备内的SDK服务程序来管理同步权限,多个通话应用在向SDK服务程序请求待同步状态的同步权限时,各通话应用通过对应的SDK向SDK服务程序请求待同步状态,只有获取到SDK服务程序的请求成功消息的目标应用的SDK才能通过通信接口向外接设备同步待同步状态,且同一时刻只有一个目标应用可以获取同步权限,即同一时刻只有一个目标应用可以同步装填,不能多端同时同步,这样的同步方式避免了多个通话应用同时向外接设备同步状并且本申请提供的SDK服务程序可以根据用户的后续需求灵活扩展,可以支持复杂权限进行同步,方案的扩展性高。
下述结合附图对本申请所提供的状态同步装置进行解释说明,该状态同步装置可执行上述图1-图6任一状态同步方法,其具体实现以及有益效果参照上述,如下不再赘述。
图7为本申请一实施例提供的状态同步装置的结构示意图,应用于支持多个通话应用的电子设备,每个通话应用中集成有软件开发工具包SDK,电子设备还安装有SDK服务程序,电子设备通过通信接口连接外接设备,如图7所示,该装置包括:设置在SDK内的请求模块201和同步模块202,
其中:
请求模块201,用于向SDK服务程序请求待同步状态的同步权限。
同步模块202,用于若目标应用的SDK获取到SDK服务程序的请求成功消息,则通过通信接口向外接设备同步待同步状态。
可选地,装置还包括:设置在SDK服务程序内的第一判断模块和第一返回模块,其中:
第一判断模块,用于判断待同步状态的同步权限是否被占用;
第一返回模块,用于若待同步状态的同步权限未被占用,则向目标应用的SDK返回请求成功消息。
可选地,装置还包括:设置在SDK内的缓存模块,其中:
第一返回模块,具体用于若待同步状态的同步权限被占用,则向目标应用的SDK返回请求失败消息;
缓存模块,用于对待同步状态进行缓存。
可选地,装置还包括:设置在SDK内的第二判断模块,用于判断是否具有待同步状态的同步权限;
请求模块,具体用于若不具有待同步状态的同步权限,则向SDK服务程序请求待同步状态的同步权限。
可选地,同步模块,具体用于若具有待同步状态的同步权限,则通过通信接口向外接设备同步待同步状态。
可选地,装置还包括:设置在SDK内的第一记录模块和设置在SDK服务程序内的第二记录模块,其中:
第一记录模块,用于记录目标应用具有待同步状态的同步权限;
第二记录模块,用于记录待同步状态的同步权限被目标应用占用。
可选地,装置还包括:设置在SDK内的清除模块,及设置在SDK服务程序内的解除模块,其中:
清除模块,用于若待同步状态的同步结束,则清除具有待同步状态的同步权限的记录;
请求模块,用于向SDK服务程序请求解除目标应用对待同步状态的同步权限的占用;
解除模块,用于解除目标应用对待同步状态的同步权限的占用。
可选地,装置还包括:设置在SDK服务程序内的通知模块,用于向多个通话应用中其他应用的SDK发送目标应用对待同步状态的同步权限的解除占用通知。
可选地,第二判断模块,具体用于根据预先缓存的状态,判断其他应用是否具有待同步状态需要同步。
请求模块,用于若具有待同步状态需要同步,则向SDK服务程序请求待同步状态的同步权限。
同步模块,具体用于若其他应用的SDK获取到接收到SDK服务程序的请求成功消息的情况下,通过通信接口向外接设备同步待同步状态。
可选地,解除模块,具体用于在SDK服务程序监听到与目标应用的SDK之间的数据管道的连接断开的情况下解除目标应用对待同步状态的同步权限的占用。
通知模块,用于通知目标应用的SDK清除具有待同步状态的同步权限的记录。
可选地,装置还包括:设置在SDK内的第一创建模块和设置在SDK服务程序内的第二创建模块,其中:
第一创建模块,用于在SDK服务程序启动后,创建SDK服务程序侧的预设管道服务。
第二创建模块,用于创建通信管道,以通过预设管道服务连接至SDK服务程序。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上***(system-on-a-chip,简称SOC)的形式实现。
图8为本申请一实施例提供的电子设备的结构示意图,该电子设备可以集成于终端设备或者终端设备的芯片。
该电子设备包括:处理器501、存储介质502和总线503。
处理器501用于存储程序,处理器501调用存储介质502存储的程序,以执行上述图1-图6对应的方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种程序产品,例如存储介质,该存储介质上存储有计算机程序,包括程序,该程序在被处理器运行时执行上述方法对应的实施例。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (14)
1.一种状态同步方法,其特征在于,应用于支持多个通话应用的电子设备,每个通话应用中集成有软件开发工具包SDK,所述电子设备还安装有SDK服务程序,所述电子设备通过通信接口连接外接设备,所述方法包括:
所述多个通话应用中目标应用的SDK向所述SDK服务程序请求待同步状态的同步权限;
若所述目标应用的SDK获取到所述SDK服务程序的请求成功消息,则由所述目标应用的SDK通过所述通信接口向所述外接设备同步所述待同步状态。
2.如权利要求1所述的方法,其特征在于,所述若所述目标应用的SDK获取到所述SDK服务程序的请求成功消息,则由所述目标应用的SDK通过所述通信接口向所述外接设备同步所述待同步状态之前,所述方法还包括:
由所述SDK服务程序判断所述待同步状态的同步权限是否被占用;
若所述待同步状态的同步权限未被占用,则由SDK服务程序向所述目标应用的SDK返回所述请求成功消息。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
若所述待同步状态的同步权限被占用,则由SDK服务程序向所述目标应用的SDK返回请求失败消息;
由所述目标应用的SDK对所述待同步状态进行缓存。
4.如权利要求1所述的方法,其特征在于,所述由所述多个通话应用中目标应用的SDK向所述SDK服务程序请求待同步状态的同步权限之前,所述方法还包括:
由所述目标应用的SDK判断是否具有所述待同步状态的同步权限;
所述多个通话应用中目标应用的SDK向所述SDK服务程序请求待同步状态的同步权限,包括:
若不具有所述待同步状态的同步权限,则由目标应用的SDK向所述SDK服务程序请求所述待同步状态的同步权限。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
若具有所述待同步状态的同步权限,则由目标应用的SDK通过所述通信接口向所述外接设备同步所述待同步状态。
6.如权利要求4所述的方法,其特征在于,所述若所述目标应用的SDK获取到所述SDK服务程序的请求成功消息之后,所述方法还包括:
由所述目标应用的SDK记录所述目标应用具有所述待同步状态的同步权限;
所述SDK服务程序向所述目标应用的SDK返回所述请求成功消息之后,所述方法还包括:
由所述SDK服务程序记录所述待同步状态的同步权限被所述目标应用占用。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
若所述待同步状态的同步结束,则由所述目标应用的SDK清除具有所述待同步状态的同步权限的记录;
由所述目标应用的SDK向所述SDK服务程序请求解除所述目标应用对所述待同步状态的同步权限的占用;
由所述SDK服务程序解除所述目标应用对所述待同步状态的同步权限的占用。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
由所述SDK服务程序向所述多个通话应用中其他应用的SDK发送所述目标应用对所述待同步状态的同步权限的解除占用通知。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:
由所述其他应用的SDK根据预先缓存的状态,判断所述其他应用是否具有所述待同步状态需要同步;
若具有所述待同步状态需要同步,则由所述其他应用的SDK向所述SDK服务程序请求所述待同步状态的同步权限;
若所述其他应用的SDK获取到接收到所述SDK服务程序的请求成功消息的情况下,由所述其他应用的SDK通过所述通信接口向所述外接设备同步所述待同步状态。
10.如权利要求6所述的方法,其特征在于,所述方法还包括:
在所述SDK服务程序监听到与所述目标应用的SDK之间的数据管道的连接断开的情况下,由所述SDK服务程序解除所述目标应用对所述待同步状态的同步权限的占用,并通知所述目标应用的SDK清除具有所述待同步状态的同步权限的记录。
11.如权利要求1所述的方法,其特征在于,所述由所述多个通话应用中目标应用的SDK向所述SDK服务程序请求待同步状态的同步权限之前,所述方法还包括:
在所述SDK服务程序启动后,创建所述SDK服务程序侧的预设管道服务;
由所述目标应用的SDK创建通信管道,以通过所述预设管道服务连接至所述SDK服务程序。
12.一种状态同步装置,其特征在于,应用于支持多个通话应用的电子设备,每个通话应用中集成有软件开发工具包SDK,所述电子设备还安装有SDK服务程序,所述电子设备通过通信接口连接外接设备,所述装置包括:设置在SDK内的请求模块和同步模块,其中:
所述请求模块,用于向所述SDK服务程序请求待同步状态的同步权限;
所述同步模块,用于若目标应用的SDK获取到所述SDK服务程序的请求成功消息,则通过所述通信接口向所述外接设备同步所述待同步状态。
13.一种电子设备,其特征在于,所述设备包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行上述权利要求1-11任一项所述的方法。
14.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011412916.XA CN112527515A (zh) | 2020-12-02 | 2020-12-02 | 状态同步方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011412916.XA CN112527515A (zh) | 2020-12-02 | 2020-12-02 | 状态同步方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112527515A true CN112527515A (zh) | 2021-03-19 |
Family
ID=74997793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011412916.XA Pending CN112527515A (zh) | 2020-12-02 | 2020-12-02 | 状态同步方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527515A (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES493562A0 (es) * | 1979-07-26 | 1981-06-16 | Israel Electronics Corp | Un sistema de comunicacion por interpolacion de dialogo |
JP2005236611A (ja) * | 2004-02-19 | 2005-09-02 | Hitachi Kokusai Electric Inc | 無線通信システム |
WO2008000121A1 (fr) * | 2006-06-19 | 2008-01-03 | Zte Corporation | Procédé de transmission de l'état de service d'un service de continuité de communication vocale. |
KR20090018316A (ko) * | 2007-08-17 | 2009-02-20 | 삼성전자주식회사 | 프레즌스 상태정보를 갱신하는 프레즌스 서비스 시스템 및방법 |
JP2009049822A (ja) * | 2007-08-21 | 2009-03-05 | Aruze Corp | Ip電話システム |
WO2014068364A1 (en) * | 2012-10-30 | 2014-05-08 | Wijetunga Sagara | Method and systems for chunk-level peer-to-peer (p2p) file sharing |
JP2014112813A (ja) * | 2012-10-31 | 2014-06-19 | Ntt Docomo Inc | 状態変化通知方法、加入者認証装置、状態変化検出装置及び移動通信システム |
WO2015035396A1 (en) * | 2013-09-09 | 2015-03-12 | Layer, Inc. | Federated authentication of client computers in networked data communications services callable by applications |
US20150099588A1 (en) * | 2013-10-09 | 2015-04-09 | Zynga Inc. | Systems and methods of distributing game network features |
CN106326015A (zh) * | 2015-06-17 | 2017-01-11 | 派斡信息技术(上海)有限公司 | 连网协同工作的方法以及应用该方法的机器 |
KR101759443B1 (ko) * | 2016-07-21 | 2017-07-19 | 강영진 | 원격 서비스용 통신 단말기의 개인정보 보안장치 |
US20180234496A1 (en) * | 2013-11-07 | 2018-08-16 | Cole Asher Ratias | Systems and methods for synchronizing content and information on multiple computing devices |
US20190149601A1 (en) * | 2017-11-16 | 2019-05-16 | Baidu Online Network Technology (Beijing) Co., Ltd | Device list synchronizing method and apparatus, device, and computer storage medium |
CN110971638A (zh) * | 2018-09-30 | 2020-04-07 | 北京奇虎科技有限公司 | 消息处理方法、装置、电子设备及可读存储介质 |
CN111045753A (zh) * | 2018-10-15 | 2020-04-21 | 陈旭 | 同步切换控制***及方法 |
CN111309747A (zh) * | 2020-02-18 | 2020-06-19 | 京东数字科技控股有限公司 | 数据同步方法、***和装置 |
WO2020221190A1 (zh) * | 2019-04-30 | 2020-11-05 | 上海连尚网络科技有限公司 | 小程序状态同步方法、设备和计算机存储介质 |
CN111935316A (zh) * | 2020-09-25 | 2020-11-13 | 武汉中科通达高新技术股份有限公司 | 一种前端设备目录获取方法及装置 |
-
2020
- 2020-12-02 CN CN202011412916.XA patent/CN112527515A/zh active Pending
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES493562A0 (es) * | 1979-07-26 | 1981-06-16 | Israel Electronics Corp | Un sistema de comunicacion por interpolacion de dialogo |
JP2005236611A (ja) * | 2004-02-19 | 2005-09-02 | Hitachi Kokusai Electric Inc | 無線通信システム |
WO2008000121A1 (fr) * | 2006-06-19 | 2008-01-03 | Zte Corporation | Procédé de transmission de l'état de service d'un service de continuité de communication vocale. |
KR20090018316A (ko) * | 2007-08-17 | 2009-02-20 | 삼성전자주식회사 | 프레즌스 상태정보를 갱신하는 프레즌스 서비스 시스템 및방법 |
JP2009049822A (ja) * | 2007-08-21 | 2009-03-05 | Aruze Corp | Ip電話システム |
WO2014068364A1 (en) * | 2012-10-30 | 2014-05-08 | Wijetunga Sagara | Method and systems for chunk-level peer-to-peer (p2p) file sharing |
JP2014112813A (ja) * | 2012-10-31 | 2014-06-19 | Ntt Docomo Inc | 状態変化通知方法、加入者認証装置、状態変化検出装置及び移動通信システム |
WO2015035396A1 (en) * | 2013-09-09 | 2015-03-12 | Layer, Inc. | Federated authentication of client computers in networked data communications services callable by applications |
US20150099588A1 (en) * | 2013-10-09 | 2015-04-09 | Zynga Inc. | Systems and methods of distributing game network features |
US20180234496A1 (en) * | 2013-11-07 | 2018-08-16 | Cole Asher Ratias | Systems and methods for synchronizing content and information on multiple computing devices |
CN106326015A (zh) * | 2015-06-17 | 2017-01-11 | 派斡信息技术(上海)有限公司 | 连网协同工作的方法以及应用该方法的机器 |
KR101759443B1 (ko) * | 2016-07-21 | 2017-07-19 | 강영진 | 원격 서비스용 통신 단말기의 개인정보 보안장치 |
US20190149601A1 (en) * | 2017-11-16 | 2019-05-16 | Baidu Online Network Technology (Beijing) Co., Ltd | Device list synchronizing method and apparatus, device, and computer storage medium |
CN110971638A (zh) * | 2018-09-30 | 2020-04-07 | 北京奇虎科技有限公司 | 消息处理方法、装置、电子设备及可读存储介质 |
CN111045753A (zh) * | 2018-10-15 | 2020-04-21 | 陈旭 | 同步切换控制***及方法 |
WO2020221190A1 (zh) * | 2019-04-30 | 2020-11-05 | 上海连尚网络科技有限公司 | 小程序状态同步方法、设备和计算机存储介质 |
CN111309747A (zh) * | 2020-02-18 | 2020-06-19 | 京东数字科技控股有限公司 | 数据同步方法、***和装置 |
CN111935316A (zh) * | 2020-09-25 | 2020-11-13 | 武汉中科通达高新技术股份有限公司 | 一种前端设备目录获取方法及装置 |
Non-Patent Citations (4)
Title |
---|
C. -H. LIN, P. -Y. SUN AND F. YU: "Space Connection: A New 3D Tele-immersion Platform for Web-Based Gesture-Collaborative Games and Services", 《2015 IEEE/ACM 4TH INTERNATIONAL WORKSHOP ON GAMES AND SOFTWARE ENGINEERING》 * |
P. PANDEY, B. PRATAP AND R. S. PANDEY: "Implementation of FreeRTOS based Precision Time Protocol (PTP) application as per IEEE1588v2 standards for Xilinx Zynq UltraScale Plus MPSoC devices", 《2019 INTERNATIONAL CONFERENCE ON COMMUNICATION AND ELECTRONICS SYSTEMS (ICCES)》 * |
崔梦菲: "基于网页实时通讯技术的移动终端视频会议SDK实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
王旭: "移动端跨平台界面组件与界面同步服务的研究与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7796520B2 (en) | System and methods for announcing and locating services in a distributed peer-to-peer network | |
RU2316150C2 (ru) | Устройство связи для присоединения абонента к групповому вызову в сети групповой связи | |
CN102075643B (zh) | 终端装置和后备*** | |
CN102088402B (zh) | 新颖的带宽管理算法 | |
CN107404509B (zh) | 分布式服务配置***及信息管理方法 | |
CN102137338B (zh) | 一键通业务用户管理、呈现及会话状态管理的方法及*** | |
WO2022116721A1 (zh) | 业务请求的处理方法、***、电子设备及计算机存储介质 | |
CN113727464B (zh) | 一种满足sip流媒体服务器高并发通话的建立方法和装置 | |
CN112422634B (zh) | 一种基于互联网的跨网段分布式调度方法和*** | |
CA3156410A1 (en) | Method of and device for networking access of client ends in p2p system | |
US20090135812A1 (en) | Call transfer method and communication system | |
JP5579224B2 (ja) | 移動体通信システム、呼処理ノード及び通信制御方法 | |
EP2774323B1 (en) | Method, communication system and non-transitory computer readable medium for optimizing network performance after a temporary loss of connection | |
CN112527515A (zh) | 状态同步方法、装置、设备及存储介质 | |
CN106534758B (zh) | 会议备份方法和装置 | |
CA2581199C (en) | System and methods for announcing and locating services in a distributed peer-to-peer network | |
WO2012048614A1 (zh) | 视频会议自动重呼终端上线的方法及*** | |
CN107302551B (zh) | 一种服务数据发布方法及装置 | |
JP6635525B1 (ja) | 交換機、通信システム、登録方法及び登録プログラム | |
EP1941356B1 (en) | Electronic apparatus with server device for managing setting data | |
EP2475157B1 (en) | Method and apparatus for managing telephone services of a user communication device when a server providing those telephone services is unavailable | |
JP5999763B2 (ja) | 加入者収容呼制御装置、および、加入者収容呼制御装置の通話規制方法、ならびに、プログラム | |
CN111182158B (zh) | 一种通话处理方法、装置及设备 | |
US11470673B2 (en) | Method and system for detecting interruption of communications and for automatically re-establishing the communications | |
CN116405886A (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 |