一种终端间相互控制时的UI状态同步方法和设备与流程

文档序号:13010079阅读:308来源:国知局
一种终端间相互控制时的UI状态同步方法和设备与流程

本发明涉及终端控制领域,尤其是一种终端间相互控制时的ui状态同步方法和设备。



背景技术:

随着互联网技术的发展,不同终端设备之间通过网络进行控制越来越普遍。比如正如火如荼的互联网汽车,通过手机调节汽车中的空调温度。温度调节后,汽车中控大屏空调显示的度数要更新为调节后的度数,同时手机上显示的汽车空调温度也要更新为调节后的度数,即手机终端与汽车中控大屏终端之间在空调度数的显示上要同步。由于网络在诸如信号弱等情况下,不可避免出现延迟、终端、丢包等情况,从而造成不同终端之间的ui状态显示不一致、ui显示数据跳动、与用户意图不匹配等问题。

现有同步方法主流的有2种,第1种是控制端a发出目标值给到被控制端b,同时等待b的反馈,在收到b的反馈之前,a的ui显示始终保持控制前的值,直到收到b的反馈后才把ui更新为b的反馈值。这种方式的缺点是由于需要等待b的反馈,因此控制端a的ui更新慢,给用户一种操作响应慢的卡顿感。

第2种是控制端a发出目标值给到被控制端b,同时更新a的ui显示为目标值,再等待b的反馈,收到b的反馈后把ui更新为b的反馈值。这种方式虽然及时更新了ui显示,但在用户连续快速操作的情况下,由于网络传输的延时会导致a端ui显示值的跳动。



技术实现要素:

为了解决上述技术问题,本发明的目的是:提供一种终端间相互控制时及时更新ui显示以及解决在用户连续快速操作的情况下导致ui显示值的跳动问题ui状态同步方法。

为了解决上述技术问题,本发明的另一目的是:提供一种终端间相互控制时及时更新ui显示以及解决在用户连续快速操作的情况下导致ui显示值的跳动问题ui状态同步设备。

本发明所采用的技术方案是:一种终端间相互控制时的ui状态同步方法,包括有以下步骤:

步骤一:获取控制终端的操作数据作为目标数据;

步骤二:根据最新的目标数据更新ui状态显示数据;

步骤三:将控制终端的目标数据发送至同步终端,并初始化等待时间;

步骤四:在所述等待时间内持续接收同步终端的反馈数据,若反馈数据与目标数据相同,则完成同步控制;

步骤五:若超过等待时间后未完成同步控制,则返回步骤三。

进一步,所述步骤一中获取操作数据的方法为周期性获取。

进一步,所述步骤一中获取操作数据的方法为数据发生变化时获取。

进一步,所述步骤一中获取操作数据的方法为用户操作满足触发条件时获取。

进一步,所述等待时间为5秒。

进一步,所述步骤四中,若反馈数据与目标数据相同,则设置控制标识值为true,否则设置控制标识值为false。

本发明采用的另一技术方案是:一种终端间相互控制时的ui状态同步设备,包括有

目标数据获取模块,用于获取控制终端的操作数据作为目标数据;

目标数据更新模块,用于根据最新的目标数据更新ui状态显示数据;

数据收发模块,用于将控制终端的目标数据发送至同步终端,并初始化等待时间;

同步判断模块,用于在所述等待时间内持续接收反馈数据,并判断反馈数据与所述目标数据是否相等;

同步控制模块,用于在超过等待时间后未完成同步控制时,重新启动所述数据收发模块进行ui状态同步。

进一步,所述数据收发模块中设置的等待时间为5秒。

进一步,所述同步判断模块中设置有控制标识,若反馈数据与目标数据相同,则设置控制标识值为true,否则设置控制标识值为false。

本发明的有益效果是:本发明方法通过在控制终端获取最新的操作数据并显示,解决了操作响应慢的问题;同时通过设置等待时间并判断是否同步成功,避免因网络传输延时导致控制终端的显示数据受反馈数据影响而造成显示数据的跳动。

本发明的另一有益效果是:本发明设备通过目标数据获取模块和目标数据更新模块获取最新的操作数据并显示,解决了操作响应慢的问题;同时通过数据收发模块和同步判断模块设置等待时间并判断是否同步成功,避免因网络传输延时导致控制终端的显示数据受反馈数据影响而造成显示数据的跳动。

附图说明

图1为本发明方法的步骤流程图;

图2为本发明设备的结构框图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步说明:

参照图1,一种终端间相互控制时的ui状态同步方法,包括有以下步骤:

步骤一:获取控制终端的操作数据作为目标数据;

假设用户想要的目标数据为targetvalue,用户操作控制终端a开始控制同步终端b时,把目标数据赋值给targetvalue,用户连续快速操作,每一次最新的操作值都赋给targetvalue,即targetvalue始终保存着用户最新操作所得到的目标数据。

此外有多种获取目标数据的方式,以下为典型的三种目标数据获取方式:其中一种是周期性地获取控制终端的操作数据,如100毫秒,将获取到的操作数据作为目标数据,或将获取到的操作数据与目标数据进行比较,若相同,则不处理;若不同,则将目标数据更新为操作数据。第二种方式是只要控制终端上的操作数据发生变化即更新目标数据,将最新的操作数据更新为目标数据。第三种获取目标数据的方式是在用户触发特定事件时(如触摸或鼠标离开屏幕时)才将控制终端的操作数据更新为目标数据,避免了短时间内多次触发控制终端多次更新目标数据的问题。以远程控制车内空调温度为例,用户拟在控制终端将温度从当前30度调节至20度,中间将经过29、28、27、26、25、24、23、22、21、20等多个温度数据,假设用户快速从30度滑动将温度调节至20度,若采用方式一,每隔100ms获取控制终端的控制数据,则可能获取到的温度数据为26、22、20、20、20、20...,则目标数据将相应地更新至少3次以上;若采用方式二,控制数据发生变动即更新目标数据,则目标数据需更新10次;若采用方式三,仅在用户离开触控屏幕时才更新目标数据的情况下,滑动过程中目标数据均不会更新,仅在用户手指离开屏幕时才进行更新。

步骤二:根据最新的目标数据更新ui状态显示数据;

用户操作控制终端a,得到目标数据targetvalue后,控制终端a更新ui显示为目标数据。

步骤三:将控制终端的目标数据发送至同步终端,并初始化等待时间;

步骤四:在所述等待时间内持续接收同步终端的反馈数据,若反馈数据与目标数据相同,则完成同步控制;

再把目标数据通过网络发送到被控制端,即同步终端b,然后控制终端a进入超时时长为5秒的等待,等待同步终端b的反馈;具体的等待时间可根据具体情况灵活设置。每次更新目标数据后,均会触发控制终端将目标数据发送到被控制端,并重新初始化等待时间。仍以远程控制车内空调温度为例,假设等待时间为5秒,第一次用户将温度调节至20度,2秒后用户再次将温度调节至21度。当第一次用户在控制终端将温度调节至20度时,相应地目标数据更新为20度,并同步将等待时间初始化为5秒,将目标数据发送至同步终端;2秒后用户在控制终端将温度调节至21度,对应在等待时间已变化为3秒,相应地目标数据将更新为21度,此时需将等待时间重置为5秒,并再次将目标数据发至送同步终端。

同步终端b收到控制终端a的targetvalue值后,更新ui显示值为targetvalue,再把targetvalue通过网络反馈回控制终端a。

若反馈数据与目标数据相同,则完成同步控制;否则在等待时间内继续接收反馈数据,直至超过等待时间;

设控制终端a对同步终端b的控制是否成功的标识为iscontrolsuccess,控制终端a收到同步终端b的反馈值为feedbackvalue。当控制终端a收到同步终端b的反馈值时赋值给feedbackvalue,再把feedbackvalue与targetvalue做比较,如果两者相同,则表示控制终端a对同步终端b的控制成功,为iscontrolsuccess赋值true,本次控制结束。否则,为iscontrolsuccess赋值false,同时继续等待同步终端b的反馈,直到控制终端a的超时时间结束。

步骤五:若超过等待时间后未完成同步控制,则返回步骤三。

在控制终端a的超时时间结束后,判断iscontrolsuccess的值,如果iscontrolsuccess=true,则说明控制终端a对同步终端b的控制是成功的,控制终端a的ui显示跟同步终端b的ui显示一致正确。如果iscontrolsuccess=false,则说明控制终端a对同步终端b的控制失败,这时,控制终端a在无需用户参与的情况下,主动发起以targetvalue为目标数据得控制同步终端b的行为,重新回到上述整个流程。

参照图2,一种终端间相互控制时的ui状态同步设备,包括有

目标数据获取模块,用于获取控制终端的操作数据作为目标数据;

假设用户想要的目标数据为targetvalue,用户操作控制终端a开始控制同步终端b时,把目标数据赋值给targetvalue,用户连续快速操作,每一次最新的操作值都赋给targetvalue,即targetvalue始终保存着用户最新操作所得到的目标数据。

此外有多种获取目标数据的方式,以下为典型的三种目标数据获取方式:其中一种是周期性地获取控制终端的操作数据,如100毫秒,将获取到的操作数据作为目标数据,或将获取到的操作数据与目标数据进行比较,若相同,则不处理;若不同,则将目标数据更新为操作数据。第二种方式是只要控制终端上的操作数据发生变化即更新目标数据,将最新的操作数据更新为目标数据。第三种获取目标数据的方式是在用户触发特定事件时(如触摸或鼠标离开屏幕时)才将控制终端的操作数据更新为目标数据,避免了短时间内多次触发控制终端多次更新目标数据的问题。以远程控制车内空调温度为例,用户拟在控制终端将温度从当前30度调节至20度,中间将经过29、28、27、26、25、24、23、22、21、20等多个温度数据,假设用户快速从30度滑动将温度调节至20度,若采用方式一,每隔100ms获取控制终端的控制数据,则可能获取到的温度数据为26、22、20、20、20、20...,则目标数据将相应地更新3次;若采用方式二,控制数据发生变动即更新目标数据,则目标数据需更新10次;若采用方式三,仅在用户离开触控屏幕时才更新目标数据的情况下,滑动过程中目标数据均不会更新,仅在用户手指离开触控屏幕时才进行更新。

目标数据更新模块,用于根据最新的目标数据更新ui状态显示数据;

用户操作控制终端a,得到目标数据targetvalue后,控制终端a更新ui显示为目标数据。

数据收发模块,用于将控制终端的目标数据发送至同步终端,并初始化等待时间。

同步判断模块,用于在所述等待时间内持续接收反馈数据,并判断反馈数据与所述目标数据是否相等;

把目标数据通过网络发送到被控制端,即同步终端b,然后控制终端a进入超时时长为5秒的等待,等待同步终端b的反馈;具体的等待时间可根据具体情况灵活设置。每次更新目标数据后,均会触发控制终端将目标数据发送到被控制端,并重新初始化等待时间。仍以远程控制车内空调温度为例,假设等待时间为5秒,第一次用户将温度调节至20度,2秒后用户再次将温度调节至21度。当第一次用户在控制终端将温度调节至20度时,相应地目标数据更新为20度,并同步将等待时间初始化为5秒,将目标数据发送至同步终端;2秒后用户在控制终端将温度调节至21度,相应地目标数据将更新为21度,此时需将等待时间重置为5秒,并再次将目标数据发至送同步终端。

同步终端b收到控制终端a的targetvalue值后,更新ui显示值为targetvalue,再把targetvalue通过网络反馈回控制终端a。

若反馈数据与目标数据相同,则完成同步控制;否则在等待时间内继续接收反馈数据,直至超过等待时间;

设控制终端a对同步终端b的控制是否成功的标识为iscontrolsuccess,控制终端a收到同步终端b的反馈值为feedbackvalue。当控制终端a收到同步终端b的反馈值时赋值给feedbackvalue,再把feedbackvalue与targetvalue做比较,如果两者相同,则表示控制终端a对同步终端b的控制成功,为iscontrolsuccess赋值true,本次控制结束。否则,为iscontrolsuccess赋值false,同时继续等待同步终端b的反馈,直到控制终端a的超时时间结束。

同步控制模块,用于在超过等待时间后未完成同步控制时,重新启动所述数据收发模块进行ui状态同步;

在控制终端a的超时时间结束后,判断iscontrolsuccess的值,如果iscontrolsuccess=true,则说明控制终端a对同步终端b的控制是成功的,控制终端a的ui显示跟同步终端b的ui显示一致正确。如果iscontrolsuccess=false,则说明控制终端a对同步终端b的控制失败,这时,控制终端a在无需用户参与的情况下,主动发起以targetvalue为目标数据得控制同步终端b的行为,重新回到上述整个流程。

进一步作为优选的实施方式,所述数据收发模块中设置的等待时间为5秒。

进一步作为优选的实施方式,所述同步判断模块中设置有控制标识,若反馈数据与目标数据相同,则设置控制标识值为true,否则设置控制标识值为false。

以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可以作出种种的等同变换或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1