一种状态沟通方法、装置、控制设备及可读存储介质与流程

文档序号:31793910发布日期:2022-10-14 16:45阅读:36来源:国知局
一种状态沟通方法、装置、控制设备及可读存储介质与流程

1.本技术涉及计算机技术领域,具体而言,涉及一种状态沟通方法、装置、控制设备及可读存储介质。


背景技术:

2.随着云计算的不断发展,一种利用云端强大算力赋能弱终端设备的应用逐渐增多,通过在云端渲染并以视频流的方式传输到弱终端设备并显示,可以有效拓宽弱终端设备的应用场景。这种使用方式需要维护客户端同服务器端的连接状态。
3.传统的处理方式是客户端和服务器维持一个连接通道,用于发送服务器心跳,即间隔性的状态通知,用以表明连接可用。这会占用额外的传输通道,浪费服务器端口资源。


技术实现要素:

4.本技术解决的问题是传统心跳通道浪费服务器端口资源。
5.为解决上述问题,本技术第一方面提供了一种状态沟通方法,包括:
6.基于云流应用经由视频通道向连通的客户端发送视频帧;
7.当前的视频帧发送间隔超出阈值的情况下,经由所述视频通道向该所述客户端发送表征与该所述客户端的连通可用的辅助帧。
8.本技术第二方面提供了一种状态沟通装置,其包括:
9.视频帧发送模块,其用于基于云流应用经由视频通道向连通的客户端发送视频帧;
10.辅助帧发送模块,其用于当前的视频帧发送间隔超出阈值的情况下,经由所述视频通道向该所述客户端发送表征与该所述客户端的连通可用的辅助帧。
11.本技术第三方面提供了一种控制设备,其包括:存储器和处理器;
12.所述存储器,其用于存储程序;
13.所述处理器,耦合至所述存储器,用于执行所述程序,以用于:
14.基于云流应用经由视频通道向连通的客户端发送视频帧;
15.当前的视频帧发送间隔超出阈值的情况下,经由所述视频通道向该所述客户端发送表征与该所述客户端的连通可用的辅助帧。
16.本技术第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现上述所述的状态沟通方法。
17.本技术中,在云流应用进行持续的视频帧传输时,通过所述视频帧向该所述客户端表明连接可用;在服务端无数据更新时,通过复用视频通道发送辅助帧来表明连接可用;通过复用视频通道,避免占用额外的传输通道,浪费服务器端口资源。
18.本技术中,复用视频通道,仅在视频通道无数据传输时发送辅助帧,避免对正常的视频传输造成影响。
附图说明
19.图1为根据本技术一个实施例的状态沟通方法的流程图;
20.图2为根据本技术服务端与客户端的架构图;
21.图3为根据本技术另一个实施例的状态沟通方法的流程图;
22.图4为根据本技术一个实施例的状态沟通装置的结构框图;
23.图5为根据本技术实施例的控制设备的结构框图。
具体实施方式
24.为使本技术的上述目的、特征和优点能够更为明显易懂,下面结合附图对本技术的具体实施例做详细的说明。虽然附图中显示了本技术的示例性实施方式,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本技术,并且能够将本技术的范围完整的传达给本领域的技术人员。
25.需要注意的是,除非另有说明,本技术使用的技术术语或者科学术语应当为本技术所属领域技术人员所理解的通常意义。
26.随着云计算的不断发展,一种利用云端强大算力赋能弱终端设备的应用逐渐增多,通过在云端渲染并以视频流的方式传输到弱终端设备并显示,可以有效拓宽弱终端设备的应用场景。既然需要在服务器端同客户端传输数据,那就需要跟踪并维护客户端同服务器端的连接状态,并在出错时进行相应的处理。传统的处理方式是客户端和服务器维持一个连接通道,用于发送服务器心跳,即间隔性的状态通知,用以表明连接可用;该方案会占用额外的传输通道,对服务器资源来说是一种浪费,同一服务器往往会同时有多个客户端连接,这会占用大量的服务器端口资源。
27.针对上述问题,本技术提供一种新的灰度发布方案,能够通过复用视频传输通道,在服务器端无更新时,发送辅助帧以表明该连接正常可用解决占用额外的传输通道,浪费服务器端口资源的问题。
28.为了便于理解,在此对下述可能使用的术语进行解释:
29.云流应用:应用运行在云端的服务器上,并将云端的界面通过视频流的方式发送到终端设备并显示,就像应用运行在终端设备本地一样。
30.弱终端设备:硬件配置较低,计算能力较差的一类设备。
31.sei帧:全称是补充增强信息(supplemental enhancement information),提供了一种向视频码流中加入额外信息的方法,是h.264/h.265等视频压缩标准的特性之一。
32.本技术实施例提供了一种状态沟通方法,该方法可以由状态沟通装置来执行,该状态沟通装置可以集成在pad、电脑、服务器、计算机、服务器集群、数据中心等电子设备中。如图1所示,其为根据本技术一个实施例的状态沟通方法的流程图;其中,所述状态沟通方法,包括:
33.s100,基于云流应用经由视频通道向连通的客户端发送视频帧;
34.s200,当前的视频帧发送间隔超出阈值的情况下,经由所述视频通道向该所述客户端发送表征与该所述客户端的连通可用的辅助帧。
35.可以理解,客户端具有超时机制,若超出一定时长未能接收到服务端的信息或数
据包或帧,则认定与该服务端的连接出现故障。
36.可以理解,对于云流应用,其将云端的界面通过视频流的方式发送到客户端并显示。其与正常视频或播放等标准通道视频相比,不同之处在于,标准通道视频一直有持续不断的信息流、视频帧发送,所述云流应用只有在云端的界面有更新的情况下,才会将更新的界面通过视频帧组成的视频流的方式发送的对应的客户端,若云端的界面无更新或者无操作,则云端不会向客户端发送数据。
37.可以理解,云端的服务器与本技术中的服务端指代相同内容,也可以使用服务器,服务器端等替换,本技术中对此不做限制。
38.本技术中,在云流应用进行持续的视频帧传输时,通过所述视频帧向该所述客户端表明连接可用;在服务端无数据更新时,通过复用视频通道发送辅助帧来表明连接可用;通过复用视频通道,避免占用额外的传输通道,浪费服务器端口资源。
39.本技术中,复用视频通道,仅在视频通道无数据传输时发送辅助帧,避免对正常的视频传输造成影响。
40.在一种实施方式中,客户端具有的超时机制对应有时长阈值,本技术视频帧的发送间隔也对应有阈值,超出该阈值才会发送辅助帧;视频帧的发送间隔对应的阈值小于等于客户端超时机制对应的时长阈值,这样可以避免因数据传输过程中的时间误差导致客户端触发超时。
41.在一种实施方式中,所述经由所述视频通道向该所述客户端发送辅助帧之后,重新计时所述发送间隔。
42.重新计时所述发送间隔,并在发送间隔超出阈值时再次发送辅助帧,从而将服务端向该所述客户端的数据流维持在小于或等于所述阈值的频次,维持所述服务端与该所述客户端的连接状态。
43.在一种实施方式中,经由所述视频通道向该所述客户端发送辅助帧或视频帧之后,计时所述发送间隔,该发送间隔在后一个辅助帧或视频帧发送之后归零,重新开始计时。
44.如图2所示,其为服务端与客户端的架构图,由图中可以看出,服务端与客户端并非一一对应关系。
45.在一种实施方式中,所述客户端为多个,经由视频通道向所述客户端发送视频帧中,对多个所述客户端分别发送对应的视频帧,并对当前的视频帧的发送间隔分别进行计时。
46.可以理解,作为云端的服务器,一个服务端与多个客户端连通。该多个客户端是相互独立的,因此,对于多个所述客户端发送的视频帧、以及视频帧的发送间隔,也是相互独立的,需要分别进行发送及计时。
47.在一种实施方式中,多个所述客户端中,该服务端的发送间隔对应的阈值,并非相同。
48.可以理解,多个所述客户端中,每个客户端的超时机制对应的时长阈值不一定相同,与之对应的服务端与每个客户端的发送间隔对应的阈值也不一定相同。
49.在一种实施方式中,所述辅助帧为补充增强信息帧,或者,为预定义在服务端和客户端的帧。
50.可以理解,补充增强信息帧即为sei帧;所述辅助帧可以为标准形式的sei帧,也可以是额外定义的一个其他的帧形式,但该种情况下,其额外定义需要在服务端和对应的客户端均进行了预定义。
51.在一种实施方式中,所述辅助帧内记录有心跳信息,所述心跳信息为通知位或标记位。
52.可以理解,心跳信息为通知位或标记位时,其所占用的数据量很小,对应的辅助帧也很小(几十字节),发送体积小的辅助帧,可以避免对正常的视频传输造成影响。
53.本技术中,所述心跳信息还可以为其他信息,只要该信息在对应的客户端已经进行了预定义,是的客户端可以进行解析即可。
54.例如,所述心跳信息还可以是预定义的具体消息,也可以是预定义的一串代码。
55.本技术中,客户端收到辅助帧后,可以进行解析,获取对应的内容。
56.在一种实施方式中,服务端重启与所述客户端的连接的情况下,向该所述客户端发送的所述辅助帧内记录该服务端的重启信息或重启请求。
57.可以理解,一个服务端与多个客户端连接,服务端与每个客户端均具有连接通道;在服务端与某个客户端的连接通道出现问题时,服务端可以通过重启连接的方式进行重新连接。
58.需要说明的是,服务端具有多个连接通道,仅需要对出现问题的连接通道进行重启即可。其中,服务端重启连接通道时,可以通过该所述客户端发送记录有该服务端的重启信息或重启请求的辅助帧的方式,便于该所述客户端重新尝试连接。
59.本技术中,云桌面应用场景中,云桌面编程为视频画面传递给客户端后,客户端立刻将视频画面显示出来。所述客户端与所述云桌面无需进行时间同步。
60.在一种实施方式中,如图3所示,所述方法还包括:
61.s300,响应于接收到的客户端发送的延迟测试消息,向该所述客户端发送记录有该服务端的延时信息的所述辅助帧。
62.本步骤中,为客户端评估网络延迟的使用场景。客户端通过数据通道向服务端发送延迟测试消息,延迟测试消息的具体格式或携带内容,本技术中不做限制;服务端接收到延迟测试消息后,直接向该所述客户端发送辅助帧,客户端可以根据发送和接收时间的间隔,评估网络的延迟情况。
63.本技术中,复用视频传输通道,采用发送sei帧将服务器状态信息发送给客户端,有效节省服务器端口资源同时不对原本视频传输通道造成影响。
64.本技术实施例提供了一种状态沟通装置,用于执行本技术上述内容所述的状态沟通方法,以下对所述状态沟通装置进行详细描述。
65.如图4所示,所述状态沟通装置,包括:
66.视频帧发送模块101,其用于基于云流应用经由视频通道向连通的客户端发送视频帧;
67.辅助帧发送模块102,其用于当前的视频帧发送间隔超出阈值的情况下,经由所述视频通道向该所述客户端发送表征与该所述客户端的连通可用的辅助帧。
68.在一种实施方式中,所述辅助帧发送模块102还用于:所述经由所述视频通道向该所述客户端发送辅助帧之后,重新计时所述发送间隔。
69.在一种实施方式中,所述客户端为多个,所述辅助帧发送模块102还用于:经由视频通道向所述客户端发送视频帧中,对多个所述客户端分别发送对应的视频帧,并对当前的视频帧的发送间隔分别进行计时。
70.在一种实施方式中,所述辅助帧为补充增强信息帧,或者,为预定义在服务端和客户端的帧。
71.在一种实施方式中,所述辅助帧内记录有心跳信息,所述心跳信息为通知位或标记位。
72.在一种实施方式中,所述辅助帧发送模块102还用于:服务端重启与所述客户端的连接的情况下,向该所述客户端发送的所述辅助帧内记录该服务端的重启信息或重启请求。
73.在一种实施方式中,所述辅助帧发送模块102还用于:响应于接收到的客户端发送的延迟测试消息,向该所述客户端发送记录有该服务端的延时信息的所述辅助帧。
74.本技术的上述实施例提供的状态沟通装置与本技术实施例提供的状态沟通方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
75.以上描述了状态沟通装置的内部功能和结构,如图5所示,实际中,该状态沟通装置可实现为控制设备,包括:存储器301及处理器303。
76.存储器301,可被配置为存储程序。
77.另外,存储器301,还可被配置为存储其它各种数据以支持在控制设备上的操作。这些数据的示例包括用于在控制设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
78.存储器301可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
79.处理器303,耦合至存储器301,用于执行存储器301中的程序,以用于:
80.基于云流应用经由视频通道向连通的客户端发送视频帧;
81.当前的视频帧发送间隔超出阈值的情况下,经由所述视频通道向该所述客户端发送表征与该所述客户端的连通可用的辅助帧。
82.在一种实施方式中,处理器303具体用于:所述经由所述视频通道向该所述客户端发送辅助帧之后,重新计时所述发送间隔。
83.在一种实施方式中,所述客户端为多个,处理器303具体用于:经由视频通道向所述客户端发送视频帧中,对多个所述客户端分别发送对应的视频帧,并对当前的视频帧的发送间隔分别进行计时。
84.在一种实施方式中,所述辅助帧为补充增强信息帧,或者,为预定义在服务端和客户端的帧。
85.在一种实施方式中,所述辅助帧内记录有心跳信息,所述心跳信息为通知位或标记位。
86.在一种实施方式中,处理器303具体用于:服务端重启与所述客户端的连接的情况
下,向该所述客户端发送的所述辅助帧内记录该服务端的重启信息或重启请求。
87.在一种实施方式中,处理器303具体用于:响应于接收到的客户端发送的延迟测试消息,向该所述客户端发送记录有该服务端的延时信息的所述辅助帧。
88.本技术中,图5中仅示意性给出部分组件,并不意味着控制设备只包括图5所示组件。
89.本实施例提供的控制设备,与本技术实施例提供的状态沟通方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
90.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
91.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
92.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
93.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
94.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
95.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
96.本技术还提供一种与前述实施方式所提供的状态沟通方法对应的计算机可读存储介质,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的状态沟通方法。
97.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、
数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
98.本技术的上述实施例提供的计算机可读存储介质与本技术实施例提供的状态沟通方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
99.需要说明的是,在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的结构和技术,以便不模糊对本说明书的理解。
100.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
101.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1