CN115243109A - 对象状态的更新方法及装置、直播系统、设备和存储介质 - Google Patents

对象状态的更新方法及装置、直播系统、设备和存储介质 Download PDF

Info

Publication number
CN115243109A
CN115243109A CN202210905381.2A CN202210905381A CN115243109A CN 115243109 A CN115243109 A CN 115243109A CN 202210905381 A CN202210905381 A CN 202210905381A CN 115243109 A CN115243109 A CN 115243109A
Authority
CN
China
Prior art keywords
state
response information
status
target object
server
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
Application number
CN202210905381.2A
Other languages
English (en)
Inventor
梁伟杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Cubesili Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Cubesili Information Technology Co Ltd filed Critical Guangzhou Cubesili Information Technology Co Ltd
Priority to CN202210905381.2A priority Critical patent/CN115243109A/zh
Publication of CN115243109A publication Critical patent/CN115243109A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及网络应用及交互技术领域,提供一种对象状态的更新方法、装置、直播系统、设备和介质。本申请能够实现在弱网状态下对目标对象的状态进行及时且准确更新。方法包括:响应于对目标对象触发的操作,获取对应的第一状态响应信息并发送至状态缓冲池,以供其将目标对象的当前状态响应信息变更为第一状态响应信息且在接收到来自服务器的第二状态响应信息时将当前状态响应信息变更为第二状态响应信息;向服务器发送状态更新请求以请求其在成功更新目标对象的状态时向缓冲池发送第二状态响应信息;在接收到缓冲池的状态获取通知时,从缓冲池获取当前状态响应信息并据此更新目标对象的状态;在接收到服务器的更新失败消息时重新发送状态更新请求。

Description

对象状态的更新方法及装置、直播系统、设备和存储介质
技术领域
本申请涉及网络应用及交互技术领域,特别是涉及一种对象状态的更新方法、装置、直播系统、电子设备和计算机可读存储介质。
背景技术
直播应用等网络应用在其应用界面中提供了一些可供用户操作的对象,用户在终端上对其进行操作后相应对象的状态发生变更,这些对象一般是由服务器来进行同步的,也就是按照服务器的状态来进行同步。在实际应用中,用户在终端上操作后经服务器进行状态同步的过程是需要消耗时间的,那么在弱网状态下,对相应对象的状态变更将消耗更多时间而导致状态变更不及时。
对此,目前技术所提供的方案是将本地状态和服务器状态隔离,即本地状态不同步服务器状态,但在弱网等复杂网络环境下,这种技术容易使得本地状态与服务器状态不一致而导致相应对象的状态变更并不准确。
发明内容
基于此,有必要针对上述技术问题,提供一种对象状态的更新方法、装置、直播系统、电子设备和计算机可读存储介质。
第一方面,本申请提供了一种对象状态的更新方法。所述方法包括:
响应于对目标对象触发的操作,获取所述操作对应的第一状态响应信息;
将所述第一状态响应信息发送至状态缓冲池,以供所述状态缓冲池将所述目标对象的当前状态响应信息变更为所述第一状态响应信息,且在接收到来自服务器的第二状态响应信息时,将所述当前状态响应信息变更为所述第二状态响应信息;
向所述服务器发送状态更新请求,以请求所述服务器在成功更新所述目标对象的状态响应信息时向所述状态缓冲池发送第二状态响应信息;
接收到所述状态缓冲池发送的状态获取通知时,从所述状态缓冲池获取所述目标对象的当前状态响应信息,并根据所述当前状态响应信息更新所述目标对象的状态;其中,所述状态获取通知由所述状态缓冲池在所述当前状态响应信息因所述第一状态响应信息发生变更且保持预设时长不变的情况下发送,或者,在所述当前状态响应信息因所述第二状态响应信息发生变更的情况下发送;
若接收到所述服务器在对所述目标对象的状态响应信息更新失败时反馈的更新失败消息,则重新向所述服务器发送状态更新请求。
在其中一个实施例中,所述获取所述操作对应的第一状态响应信息,包括:
若所述操作为设定时长内对所述目标对象触发的连续操作,则根据所述连续操作的次数确定所述第一状态响应信息。
在其中一个实施例中,所述重新向所述服务器发送状态更新请求,包括:
开辟子线程,并指示所述子线程在设定的重试次数内重新向所述服务器发送状态更新请求,直至接收到所述服务器反馈的更新成功消息。
在其中一个实施例中,所述服务器,用于在设定时间内完成所述目标对象的状态响应信息的更新时,将所述第二状态响应信息发送至所述状态缓冲池以及反馈更新成功消息,在未在设定时间内完成所述目标对象的状态响应信息的更新时,反馈所述更新失败消息。
在其中一个实施例中,所述状态缓冲池,用于在接收到所述第一状态响应信息时,将所述目标对象的当前状态响应信息变更为所述第一状态响应信息,并判断所述预设时长内是否接收到所述第二状态响应信息,若是则将所述目标对象的当前状态响应信息变更为所述第二状态响应信息并发出所述状态获取通知,若否则发出所述状态获取通知。
在其中一个实施例中,所述状态缓冲池,用于在未在所述预设时长内接收到所述第二状态响应信息并已发出状态获取通知的情况下,若接收到所述第二状态响应信息,则将所述目标对象的当前状态响应信息变更为所述第二状态响应信息并再次发出状态获取通知。
第二方面,本申请提供了一种直播系统。所述系统包括:终端和服务器;其中,所述终端配置有直播客户端和状态缓冲池;其中,所述直播客户端,用于显示直播界面;所述直播界面展示有可供操作的一个或多个对象;所述对象在所述直播界面的展示样式与其状态相对应;所述直播客户端,用于接收用户对所述一个或多个对象中目标对象触发的操作,并根据如上任一实施例所述的方法,变更所述目标对象在所述直播界面的展示样式。
第三方面,本申请提供了一种对象状态的更新装置。所述装置包括:
操作响应模块,用于响应于对目标对象触发的操作,获取所述操作对应的第一状态响应信息;
信息发送模块,用于将所述第一状态响应信息发送至状态缓冲池,以供所述状态缓冲池将所述目标对象的当前状态响应信息变更为所述第一状态响应信息,且在接收到来自服务器的第二状态响应信息时,将所述当前状态响应信息变更为所述第二状态响应信息;
请求发送模块,用于向所述服务器发送状态更新请求,以请求所述服务器在成功更新所述目标对象的状态响应信息时向所述状态缓冲池发送第二状态响应信息;
状态获取模块,用于接收到所述状态缓冲池发送的状态获取通知时,从所述状态缓冲池获取所述目标对象的当前状态响应信息,并根据所述当前状态响应信息更新所述目标对象的状态;其中,所述状态获取通知由所述状态缓冲池在所述当前状态响应信息因所述第一状态响应信息发生变更且保持预设时长不变的情况下发送,或者,在所述当前状态响应信息因所述第二状态响应信息发生变更的情况下发送;
请求重传模块,用于若接收到所述服务器在对所述目标对象的状态响应信息更新失败时反馈的更新失败消息,则重新向所述服务器发送状态更新请求。
第四方面,本申请提供了一种电子设备。所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
响应于对目标对象触发的操作,获取所述操作对应的第一状态响应信息;将所述第一状态响应信息发送至状态缓冲池,以供所述状态缓冲池将所述目标对象的当前状态响应信息变更为所述第一状态响应信息,且在接收到来自服务器的第二状态响应信息时,将所述当前状态响应信息变更为所述第二状态响应信息;向所述服务器发送状态更新请求,以请求所述服务器在成功更新所述目标对象的状态响应信息时向所述状态缓冲池发送第二状态响应信息;接收到所述状态缓冲池发送的状态获取通知时,从所述状态缓冲池获取所述目标对象的当前状态响应信息,并根据所述当前状态响应信息更新所述目标对象的状态;其中,所述状态获取通知由所述状态缓冲池在所述当前状态响应信息因所述第一状态响应信息发生变更且保持预设时长不变的情况下发送,或者,在所述当前状态响应信息因所述第二状态响应信息发生变更的情况下发送;若接收到所述服务器在对所述目标对象的状态响应信息更新失败时反馈的更新失败消息,则重新向所述服务器发送状态更新请求。
第五方面,本申请提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应于对目标对象触发的操作,获取所述操作对应的第一状态响应信息;将所述第一状态响应信息发送至状态缓冲池,以供所述状态缓冲池将所述目标对象的当前状态响应信息变更为所述第一状态响应信息,且在接收到来自服务器的第二状态响应信息时,将所述当前状态响应信息变更为所述第二状态响应信息;向所述服务器发送状态更新请求,以请求所述服务器在成功更新所述目标对象的状态响应信息时向所述状态缓冲池发送第二状态响应信息;接收到所述状态缓冲池发送的状态获取通知时,从所述状态缓冲池获取所述目标对象的当前状态响应信息,并根据所述当前状态响应信息更新所述目标对象的状态;其中,所述状态获取通知由所述状态缓冲池在所述当前状态响应信息因所述第一状态响应信息发生变更且保持预设时长不变的情况下发送,或者,在所述当前状态响应信息因所述第二状态响应信息发生变更的情况下发送;若接收到所述服务器在对所述目标对象的状态响应信息更新失败时反馈的更新失败消息,则重新向所述服务器发送状态更新请求。
上述对象状态的更新方法、装置、直播系统、设备和存储介质,响应于对目标对象触发的操作,获取该操作对应的第一状态响应信息,将该第一状态响应信息发送至状态缓冲池,以供状态缓冲池将目标对象的当前状态响应信息变更为第一状态响应信息,且在接收到来自服务器的第二状态响应信息时,将当前状态响应信息变更为第二状态响应信息,还向服务器发送状态更新请求以请求服务器在成功更新目标对象的状态响应信息时向状态缓冲池发送第二状态响应信息;然后,在接收到状态缓冲池发送的状态获取通知时,从状态缓冲池获取目标对象的当前状态响应信息并据此更新目标对象的状态,其中,状态获取通知由状态缓冲池在当前状态响应信息因第一状态响应信息发生变更且保持预设时长不变的情况下发送,或者在因第二状态响应信息发生变更的情况下发送;在接收到服务器在对目标对象的状态响应信息更新失败时反馈的更新失败消息时重新向服务器发送状态更新请求。该方案可实现在弱网状态下对目标对象的状态进行及时且准确更新,使之即便在弱网状态下,不但能在终端上及时更新目标对象的状态,还能够与服务器上的状态保持一致,仍满足以服务器上的状态为准的要求。
附图说明
图1为本申请实施例中对象状态的更新方法的应用场景图;
图2为本申请实施例中对象状态的更新方法的流程示意图;
图3为本申请应用示例中点赞状态的更新方法的时序图;
图4为本申请应用示例中点赞状态的更新方法的流程示意图;
图5为本申请应用示例中直播界面的示意图;
图6为本申请实施例中对象状态的更新装置的结构框图;
图7为本申请实施例中电子设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的对象状态的更新方法,可以应用于如图1所示的应用场景中。其中,终端通过网络与服务器进行通信。具体的,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
下面基于图1所示的应用场景,结合相应实施例及附图对本申请提供的对象状态的更新方法进行说明。
在一个实施例中,如图2所示,提供了一种对象状态的更新方法,该方法由终端执行,该方法包括以下步骤:
步骤S201,响应于对目标对象触发的操作,获取操作对应的第一状态响应信息。
本申请中,终端可配置客户端和状态缓冲池。其中,客户端可以是直播客户端等网络应用的客户端,客户端可显示包含有可供用户操作的一个或多个对象的界面,这些对象在界面的展示样式与其状态相对应。示例性的,客户端显示一界面,该界面展示多个可供用户点击的点赞按钮(即对象),该点赞按钮被点击前后可分别对应不同的展示样式以对应用户点赞或是未点赞两种状态,该状态可以由相应的状态响应信息来表示,例如状态响应信息0可对应于未点赞状态,状态响应信息1可对应于点赞状态。其中,状态缓冲池可用于存储前述对象的状态响应信息,记为当前状态响应信息,在需要对上述对象的状态进行变更时,终端从状态缓冲池中获取相应对象的当前状态响应信息并据此进行状态的变更。
本步骤中,用户对客户端在一界面中所展示的目标对象触发操作(如点击目标对象)时,响应于对目标对象触发的操作,客户端获取该操作对应的状态响应信息,记为第一状态响应信息,该第一状态响应信息可以是0,也可以是1或是根据实际业务需求所设定的其他值,为便于方案理解,设第一状态响应信息取值为1。在获取到第一状态响应信息后,客户端可同时进行后续步骤S202和步骤S203。
步骤S202,将第一状态响应信息发送至状态缓冲池,以供状态缓冲池将目标对象的当前状态响应信息变更为第一状态响应信息,且在接收到来自服务器的第二状态响应信息时,将当前状态响应信息变更为第二状态响应信息。
步骤S203,向服务器发送状态更新请求,以请求服务器在成功更新目标对象的状态响应信息时向状态缓冲池发送第二状态响应信息。
对步骤S202和步骤S203进行统一说明。其中,步骤S202是客户端将第一状态响应信息发送给状态缓冲池后,状态缓冲池所进行的处理,步骤S203是客户端向服务器发送状态更新请求后,服务器所进行的处理,该两者所进行的处理具有关联性。
具体的,在步骤S203中,客户端将状态更新请求发送给服务器后,服务器可根据该状态更新请求对目标对象的状态响应信息进行更新,如果服务器成功更新目标对象的状态响应信息,则将相应的第二状态响应信息1发送给状态缓冲池,如果服务器未成功更新目标对象的状态响应信息,即对目标对象的状态响应信息更新失败,则此时服务器向客户端反馈更新失败消息,此时不发送状态响应信息给状态缓冲池,也即服务器在成功更新目标对象的状态响应信息时才发送前述第二状态响应信息1给状态缓冲池,在更新失败时是向客户端反馈更新失败消息。
对于状态缓冲池,在步骤S202中,状态缓冲池将接收到来自客户端的第一状态响应信息1,然后状态缓冲池先将目标对象的当前状态响应信息变更为该第一状态响应信息1,此时状态缓冲池需等待预设时长(如0.1秒)。其中,如果在该预设时长内未接收到来自服务器的第二状态响应信息,即属于当前状态响应信息因第一状态响应信息发生变更且保持预设时长不变的情况,此时,状态缓冲池向客户端发出状态获取通知,以通知客户端在状态缓冲池获取目标对象的当前状态响应信息1。其中,如果在该预设时长内接收到来自服务器的第二状态响应信息,则状态缓冲池将当前状态响应信息变更为第二状态响应信息1,即属于当前状态响应信息因第二状态响应信息发生变更的情况,此时,状态缓冲池向客户端发出状态获取通知,以通知客户端在状态缓冲池获取目标对象的当前状态响应信息1。
步骤S204,接收到状态缓冲池发送的状态获取通知时,从状态缓冲池获取目标对象的当前状态响应信息,并根据当前状态响应信息更新目标对象的状态。
本步骤中主要是客户端在状态缓冲池的通知下,从状态缓冲池获取目标对象的当前状态响应信息,从而客户端可以据此更新目标对象的状态。对于状态获取通知,由前述内容可知,其可以在两种情况下由状态缓冲池向客户端发出,一种是状态缓冲池中的当前状态响应信息因第一状态响应信息发生变更且保持预设时长(如0.1秒)不变的情况下发出,另一种是状态缓冲池中的当前状态响应信息因第二状态响应信息发生变更的情况下发出。
步骤S205,若接收到服务器在对目标对象的状态响应信息更新失败时反馈的更新失败消息,则重新向服务器发送状态更新请求。
本步骤是服务器对目标对象的状态响应信息更新失败时,客户端重新向服务器发送状态更新请求,以保证服务器的状态与客户端的状态相一致。对于客户端重新向服务器发送状态更新请求的情况,如果服务器成功更新目标对象的状态响应信息时,仍向状态缓冲池发送第二状态响应信息1,对于状态缓冲池,其在接收到来自服务器的第二状态响应信息1时,仍需将目标对象的当前状态响应信息变更为第二状态响应信息1,且属于当前状态响应信息因第二状态响应信息发生变更的情况,故此时状态缓冲池仍需向客户端发出状态获取通知,客户端接收到状态获取通知时便可从状态缓冲池获取目标对象的当前状态响应信息1并更新目标对象的状态。可见,在重新请求前后,客户端总是能够依据当前状态响应信息1更新目标对象的状态,达到在弱网状态下及时且准确更新目标对象的状态的效果,且使客户端与服务器针对目标对象的状态一致。
本实施例的对象状态的更新方法,响应于对目标对象触发的操作,获取该操作对应的第一状态响应信息,将该第一状态响应信息发送至状态缓冲池,以供状态缓冲池将目标对象的当前状态响应信息变更为第一状态响应信息,且在接收到来自服务器的第二状态响应信息时,将当前状态响应信息变更为第二状态响应信息,还向服务器发送状态更新请求以请求服务器在成功更新目标对象的状态响应信息时向状态缓冲池发送第二状态响应信息;然后,在接收到状态缓冲池发送的状态获取通知时,从状态缓冲池获取目标对象的当前状态响应信息并据此更新目标对象的状态,其中,状态获取通知由状态缓冲池在当前状态响应信息因第一状态响应信息发生变更且保持预设时长不变的情况下发送,或者在因第二状态响应信息发生变更的情况下发送;在接收到服务器在对目标对象的状态响应信息更新失败时反馈的更新失败消息时重新向服务器发送状态更新请求。本实施例的对象状态的更新方法,可实现在弱网状态下对目标对象的状态进行及时且准确更新,使之即便在弱网状态下,不但能在终端上及时更新目标对象的状态,还能够与服务器上的状态保持一致,仍满足以服务器上的状态为准的要求。
在一个实施例中,步骤S201中的获取操作对应的第一状态响应信息,可以包括:若操作为设定时长内对目标对象触发的连续操作,则根据连续操作的次数确定第一状态响应信息。
具体的,用户可能会在短时间内对目标对象触发连续的操作,如用户连续点击点赞按钮,对此,本实施例的方案无需对短时间内连续发生的操作在服务器和缓冲池间实施两次状态更新。本实施例中,若操作为设定时长内对目标对象触发的连续操作,则客户端根据连续操作的次数确定第一状态响应信息,设当前状态响应信息取值为0、状态响应信息取值为0或1、连续触发三次操作,此时客户端可确定第一状态响应信息取值为1。作为一具体实例,在点赞或取消点赞动作产生的时候,客户端可先将当前状态响应信息取出,并和0x1进行&运算,使其产生的值是原来值的相反值,然后客户端在0.05秒内检测是否还有动作产生,如果有则进行&运算及重置该0.05秒并继续检测,如果没有则将得到的值作为第一状态响应信息发送给状态缓冲池同时也向服务器发送状态更新请求。
在一个实施例中,步骤S205中的重新向服务器发送状态更新请求,具体包括:开辟子线程,并指示子线程在设定的重试次数内重新向服务器发送状态更新请求,直至接收到服务器反馈的更新成功消息。
本实施例中,客户端接收到服务器在对目标对象的状态响应信息更新失败时反馈的更新失败消息时,如果还未开辟子线程,则开辟一子线程来负责状态更新请求的重新发送,并设置一定的重试次数如5次。由此,在开辟该子线程后,客户端指示该子线程在设定的重试次数如5次内,重新向服务器发送状态更新请求,直至接收到服务器反馈的更新成功消息,以在为其提供一定的资源使用限度内保证把状态同步给服务器。
在一个实施例中,服务器用于在设定时间内完成目标对象的状态响应信息的更新时,将第二状态响应信息发送至状态缓冲池以及反馈更新成功消息,在未在设定时间内完成目标对象的状态响应信息的更新时,反馈更新失败消息。
本实施例中,服务器可根据是否在设定时间内完成目标对象的状态响应信息的更新来确定对目标对象的状态响应信息的更新是否成功。其中,可结合网络实际情况对前述设定时间进行设置,其起算时间可以是客户端发出状态更新请求的时间。具体的,若服务器判断其在设定时间内完成目标对象的状态响应信息的更新,则获得第二状态响应信息1并发送至状态缓冲池,还向客户端反馈更新成功消息,若服务器判断其未在设定时间内完成目标对象的状态响应信息的更新,则向客户端反馈更新失败消息。
在一个实施例中,状态缓冲池用于在接收到第一状态响应信息时,将目标对象的当前状态响应信息变更为第一状态响应信息,并判断预设时长内是否接收到第二状态响应信息,若是则将目标对象的当前状态响应信息变更为第二状态响应信息并发出状态获取通知,若否则发出状态获取通知。
本实施例中,状态缓冲池接收到来自客户端的第一状态响应信息时,直接将目标对象的当前状态响应信息变更为第一状态响应信息,此时状态缓冲池需要判断是否满足当前状态响应信息因第一状态响应信息发生变更且保持预设时长不变的情况,所以状态缓冲池在将当前状态响应信息变更为第一状态响应信息后,继续判断预设时长(如0.1秒)内是否接收到来自服务器的第二状态响应信息。若是,则状态缓冲池将目标对象的当前状态响应信息变更为第二状态响应信息,即满足当前状态响应信息因第二状态响应信息发生变更的情况,此时状态缓冲池向客户端发出状态获取通知。若否,即满足当前状态响应信息因第一状态响应信息发生变更且保持预设时长不变的情况,此时状态缓冲池向客户端发出状态获取通知,由此保证目标对象的状态得到及时且准确的更新。
在一个实施例中,状态缓冲池用于在未在预设时长内接收到第二状态响应信息并已发出状态获取通知的情况下,若接收到第二状态响应信息,则将目标对象的当前状态响应信息变更为第二状态响应信息并再次发出状态获取通知。
本实施例的方案可应对客户端重新向服务器发送状态更新请求以进行状态同步的情况,确保终端能及时更新目标对象的状态的同时也能与服务器上的状态保持一致。具体的,状态缓冲池接收到来自客户端的第一状态响应信息并将目标对象的当前状态响应信息变更为该第一状态响应信息后,若未在预设时长内接收到来自服务器的第二状态响应信息,便会向客户端发出状态获取通知,即属于状态缓冲池未在预设时长内接收到第二状态响应信息并已发出状态获取通知的情况,此时若状态缓冲池接收到来自服务器的第二状态响应信息,说明服务器在客户端重新请求状态更新的情况下成功更新目标对象的状态响应信息,状态缓冲池将目标对象的当前状态响应信息变更为第二状态响应信息,即属于当前状态响应信息因第二状态响应信息发生变更的情况,此时状态缓冲池再次向客户端发出状态获取通知。
以点赞为例,结合图3对本申请提供的对象状态的更新方法进行整体说明。
具体的,用户对点赞按钮触发操作后,客户端获取对应的第一状态响应信息并发送至状态缓冲池,同时客户端向服务器发送状态更新请求,服务器成功更新该点赞按钮的状态响应信息时发送第二状态响应信息至状态缓冲池,状态缓冲池在接收到客户端的第一状态响应信息时,将点赞按钮的当前状态响应信息变更为第一状态响应信息,在接收到来自服务器的第二状态响应信息时,将点赞按钮的当前状态响应信息变更为第二状态响应信息,然后状态缓冲池向客户端发送状态获取通知,客户端接收到状态获取通知后,从状态缓冲池获取点赞按钮的当前状态响应信息,根据该当前状态响应信息对点赞按钮的状态进行更新,以变更点赞按钮的展示样式。另外,客户端在接收到服务器的更新失败消息时,开启子线程重新向服务器发送状态更新请求。
更进一步的,结合图4,在用户对点赞按钮触发操作的时候,客户端先取出当前状态响应信息并和0x1进行&运算,其产生的值是原来值的相反值,随后函数防抖管理器可以在0.05秒内判断是否还对点赞按钮触发操作,若是则函数防抖管理器会重置时间,继续0.05秒内判断是否还对点赞按钮触发操作,若否则得到第一状态响应信息发送到状态缓冲池,同时也向服务器发送状态更新请求。状态缓冲池接收到第一状态响应信息后,将当前状态响应信息变更为第一状态响应信息,判断在0.1秒内是否还接收到来自服务器的第二状态响应信息,若有,就将第二状态响应信息覆盖掉第一状态响应信息,使当前状态响应信息变更为第二状态响应信息并向客户端发送通知以使其读取并更新点赞按钮的展示样式,若无便直接向客户端发送通知以使其读取并更新点赞按钮的展示样式,而在服务器更新失败时,客户端开辟一个子线程向服务器重发更新请求,保证把状态同步到后端服务器中,由此实现在弱网状态下对点赞按钮的状态进行及时且准确更新,不需要依赖网络情况来读取服务器的状态,即在弱网状态下,不但能在终端上及时更新点赞按钮的状态,还能够与服务器上的状态保持一致,仍满足以服务器上的状态为准的要求。
在一个实施例中,提供了一种直播系统,参考图1,该系统可以包括终端和服务器。其中,终端配置有直播客户端和状态缓冲池;其中,直播客户端,用于显示直播界面;该直播界面展示有可供操作的一个或多个对象,该对象在直播界面的展示样式与其状态相对应;直播客户端,用于接收用户对一个或多个对象中目标对象触发的操作,并根据如上任一实施例所述的方法,变更目标对象在直播界面的展示样式。
本实施例是将本申请中如上任一实施例所述的对象状态的更新方法应用于直播系统中,使得在直播客户端中,用户对直播界面上所展示的对象触发操作后,即便在弱网状态下,直播客户端仍能对直播界面上所展示的对象的状态进行及时准确更新。如图5所示,直播客户端显示直播界面,该直播界面可以包括直播内容展示区和评论展示区,评论展示区内包含多条评论及其对应的点赞按钮(可供操作的一个或多个对象),其样式与点赞状态相对应。由此,当用户对评论3对应的点赞按钮触发点击操作时,客户端根据如上任一实施例所述的方法,变更该点赞按钮的展示样式。本实施例的方案,在弱网情况下,即便快速点击同一个点赞按钮,也能在交互体验良好的前提下,正常展示点赞状态,并且用户在重新打开直播客户端中该评论展示区的时候,点赞状态仍然能显示正确。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的对象状态的更新方法的对象状态的更新装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个对象状态的更新装置实施例中的具体限定可以参见上文中对于对象状态的更新方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种对象状态的更新装置,该装置600包括:
操作响应模块601,用于响应于对目标对象触发的操作,获取所述操作对应的第一状态响应信息;
信息发送模块602,用于将所述第一状态响应信息发送至状态缓冲池,以供所述状态缓冲池将所述目标对象的当前状态响应信息变更为所述第一状态响应信息,且在接收到来自服务器的第二状态响应信息时,将所述当前状态响应信息变更为所述第二状态响应信息;
请求发送模块603,用于向所述服务器发送状态更新请求,以请求所述服务器在成功更新所述目标对象的状态响应信息时向所述状态缓冲池发送第二状态响应信息;
状态获取模块604,用于接收到所述状态缓冲池发送的状态获取通知时,从所述状态缓冲池获取所述目标对象的当前状态响应信息,并根据所述当前状态响应信息更新所述目标对象的状态;其中,所述状态获取通知由所述状态缓冲池在所述当前状态响应信息因所述第一状态响应信息发生变更且保持预设时长不变的情况下发送,或者,在所述当前状态响应信息因所述第二状态响应信息发生变更的情况下发送;
请求重传模块605,用于若接收到所述服务器在对所述目标对象的状态响应信息更新失败时反馈的更新失败消息,则重新向所述服务器发送状态更新请求。
在一个实施例中,操作响应模块601,用于若所述操作为设定时长内对所述目标对象触发的连续操作,则根据所述连续操作的次数确定所述第一状态响应信息。
在一个实施例中,请求重传模块605,用于开辟子线程,并指示所述子线程在设定的重试次数内重新向所述服务器发送状态更新请求,直至接收到所述服务器反馈的更新成功消息。
在一个实施例中,所述服务器,用于在设定时间内完成所述目标对象的状态响应信息的更新时,将所述第二状态响应信息发送至所述状态缓冲池以及反馈更新成功消息,在未在设定时间内完成所述目标对象的状态响应信息的更新时,反馈所述更新失败消息。
在一个实施例中,所述状态缓冲池,用于在接收到所述第一状态响应信息时,将所述目标对象的当前状态响应信息变更为所述第一状态响应信息,并判断所述预设时长内是否接收到所述第二状态响应信息,若是则将所述目标对象的当前状态响应信息变更为所述第二状态响应信息并发出所述状态获取通知,若否则发出所述状态获取通知。
在一个实施例中,所述状态缓冲池,用于在未在所述预设时长内接收到所述第二状态响应信息并已发出状态获取通知的情况下,若接收到所述第二状态响应信息,则将所述目标对象的当前状态响应信息变更为所述第二状态响应信息并再次发出状态获取通知。
上述对象状态的更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种电子设备,该电子设备可以是终端,其内部结构图可以如图7所示。该电子设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种对象状态的更新方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(MagnetoresistiveRandomAccessMemory,MRAM)、铁电存储器(FerroelectricRandomAccessMemory,FRAM)、相变存储器(PhaseChange Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(RandomAccessMemory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(StaticRandomAccess Memory,SRAM)或动态随机存取存储器(DynamicRandomAccessMemory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种对象状态的更新方法,其特征在于,所述方法包括:
响应于对目标对象触发的操作,获取所述操作对应的第一状态响应信息;
将所述第一状态响应信息发送至状态缓冲池,以供所述状态缓冲池将所述目标对象的当前状态响应信息变更为所述第一状态响应信息,且在接收到来自服务器的第二状态响应信息时,将所述当前状态响应信息变更为所述第二状态响应信息;
向所述服务器发送状态更新请求,以请求所述服务器在成功更新所述目标对象的状态响应信息时向所述状态缓冲池发送第二状态响应信息;
接收到所述状态缓冲池发送的状态获取通知时,从所述状态缓冲池获取所述目标对象的当前状态响应信息,并根据所述当前状态响应信息更新所述目标对象的状态;其中,所述状态获取通知由所述状态缓冲池在所述当前状态响应信息因所述第一状态响应信息发生变更且保持预设时长不变的情况下发送,或者,在所述当前状态响应信息因所述第二状态响应信息发生变更的情况下发送;
若接收到所述服务器在对所述目标对象的状态响应信息更新失败时反馈的更新失败消息,则重新向所述服务器发送状态更新请求。
2.根据权利要求1所述的方法,其特征在于,所述获取所述操作对应的第一状态响应信息,包括:
若所述操作为设定时长内对所述目标对象触发的连续操作,则根据所述连续操作的次数确定所述第一状态响应信息。
3.根据权利要求1所述的方法,其特征在于,所述重新向所述服务器发送状态更新请求,包括:
开辟子线程,并指示所述子线程在设定的重试次数内重新向所述服务器发送状态更新请求,直至接收到所述服务器反馈的更新成功消息。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述服务器,用于在设定时间内完成所述目标对象的状态响应信息的更新时,将所述第二状态响应信息发送至所述状态缓冲池以及反馈更新成功消息,在未在设定时间内完成所述目标对象的状态响应信息的更新时,反馈所述更新失败消息。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述状态缓冲池,用于在接收到所述第一状态响应信息时,将所述目标对象的当前状态响应信息变更为所述第一状态响应信息,并判断所述预设时长内是否接收到所述第二状态响应信息,若是则将所述目标对象的当前状态响应信息变更为所述第二状态响应信息并发出所述状态获取通知,若否则发出所述状态获取通知。
6.根据权利要求1至3中任一项所述的方法,其特征在于,所述状态缓冲池,用于在未在所述预设时长内接收到所述第二状态响应信息并已发出状态获取通知的情况下,若接收到所述第二状态响应信息,则将所述目标对象的当前状态响应信息变更为所述第二状态响应信息并再次发出状态获取通知。
7.一种直播系统,其特征在于,所述系统包括:终端和服务器;其中,所述终端配置有直播客户端和状态缓冲池;其中,
所述直播客户端,用于显示直播界面;所述直播界面展示有可供操作的一个或多个对象;所述对象在所述直播界面的展示样式与其状态相对应;
所述直播客户端,用于接收用户对所述一个或多个对象中目标对象触发的操作,并根据权利要求1至6中任一项所述的方法,变更所述目标对象在所述直播界面的展示样式。
8.一种对象状态的更新装置,其特征在于,所述装置包括:
操作响应模块,用于响应于对目标对象触发的操作,获取所述操作对应的第一状态响应信息;
信息发送模块,用于将所述第一状态响应信息发送至状态缓冲池,以供所述状态缓冲池将所述目标对象的当前状态响应信息变更为所述第一状态响应信息,且在接收到来自服务器的第二状态响应信息时,将所述当前状态响应信息变更为所述第二状态响应信息;
请求发送模块,用于向所述服务器发送状态更新请求,以请求所述服务器在成功更新所述目标对象的状态响应信息时向所述状态缓冲池发送第二状态响应信息;
状态获取模块,用于接收到所述状态缓冲池发送的状态获取通知时,从所述状态缓冲池获取所述目标对象的当前状态响应信息,并根据所述当前状态响应信息更新所述目标对象的状态;其中,所述状态获取通知由所述状态缓冲池在所述当前状态响应信息因所述第一状态响应信息发生变更且保持预设时长不变的情况下发送,或者,在所述当前状态响应信息因所述第二状态响应信息发生变更的情况下发送;
请求重传模块,用于若接收到所述服务器在对所述目标对象的状态响应信息更新失败时反馈的更新失败消息,则重新向所述服务器发送状态更新请求。
9.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202210905381.2A 2022-07-29 2022-07-29 对象状态的更新方法及装置、直播系统、设备和存储介质 Pending CN115243109A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210905381.2A CN115243109A (zh) 2022-07-29 2022-07-29 对象状态的更新方法及装置、直播系统、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210905381.2A CN115243109A (zh) 2022-07-29 2022-07-29 对象状态的更新方法及装置、直播系统、设备和存储介质

Publications (1)

Publication Number Publication Date
CN115243109A true CN115243109A (zh) 2022-10-25

Family

ID=83676510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210905381.2A Pending CN115243109A (zh) 2022-07-29 2022-07-29 对象状态的更新方法及装置、直播系统、设备和存储介质

Country Status (1)

Country Link
CN (1) CN115243109A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302750A (zh) * 2016-08-17 2017-01-04 北京奇虎科技有限公司 一种展示用户界面互动内容的方法、装置、服务器和系统
CN109597663A (zh) * 2018-09-06 2019-04-09 北京微播视界科技有限公司 页面信息处理方法、装置和电子设备
CN109683786A (zh) * 2018-12-25 2019-04-26 北京微播视界科技有限公司 更新用户界面信息的方法、电子设备及计算机存储介质
CN109731330A (zh) * 2019-01-31 2019-05-10 腾讯科技(深圳)有限公司 画面的显示方法和装置、存储介质、电子装置
CN110619096A (zh) * 2019-06-12 2019-12-27 北京无限光场科技有限公司 用于同步数据的方法和装置
CN111131392A (zh) * 2019-11-27 2020-05-08 北京文渊佳科技有限公司 处理消息的方法、装置、电子设备及介质
CN112395297A (zh) * 2020-10-13 2021-02-23 北京达佳互联信息技术有限公司 作品信息同步的方法、装置及服务器
CN112559194A (zh) * 2020-12-15 2021-03-26 北京百度网讯科技有限公司 应用数据的处理方法、装置及设备
CN113204378A (zh) * 2021-04-21 2021-08-03 深圳市广和通无线股份有限公司 配置文件状态同步方法、装置、终端、服务器和存储介质
CN113691600A (zh) * 2021-08-16 2021-11-23 珠海格力电器股份有限公司 设备状态信息的同步方法以及装置、计算机可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302750A (zh) * 2016-08-17 2017-01-04 北京奇虎科技有限公司 一种展示用户界面互动内容的方法、装置、服务器和系统
CN109597663A (zh) * 2018-09-06 2019-04-09 北京微播视界科技有限公司 页面信息处理方法、装置和电子设备
CN109683786A (zh) * 2018-12-25 2019-04-26 北京微播视界科技有限公司 更新用户界面信息的方法、电子设备及计算机存储介质
CN109731330A (zh) * 2019-01-31 2019-05-10 腾讯科技(深圳)有限公司 画面的显示方法和装置、存储介质、电子装置
CN110619096A (zh) * 2019-06-12 2019-12-27 北京无限光场科技有限公司 用于同步数据的方法和装置
CN111131392A (zh) * 2019-11-27 2020-05-08 北京文渊佳科技有限公司 处理消息的方法、装置、电子设备及介质
CN112395297A (zh) * 2020-10-13 2021-02-23 北京达佳互联信息技术有限公司 作品信息同步的方法、装置及服务器
CN112559194A (zh) * 2020-12-15 2021-03-26 北京百度网讯科技有限公司 应用数据的处理方法、装置及设备
CN113204378A (zh) * 2021-04-21 2021-08-03 深圳市广和通无线股份有限公司 配置文件状态同步方法、装置、终端、服务器和存储介质
CN113691600A (zh) * 2021-08-16 2021-11-23 珠海格力电器股份有限公司 设备状态信息的同步方法以及装置、计算机可读存储介质

Similar Documents

Publication Publication Date Title
US11231959B2 (en) Foreground and background switching entry generation and display following quit operations
JP6348989B2 (ja) ファームウェアの復元方法、装置、端末、プログラム及び記録媒体
AU2015267625B2 (en) Activity continuation between electronic devices
US9436572B2 (en) Method and system to detect a cached web page
CN106572139B (zh) 多终端控制方法、终端、服务器和系统
US9064054B2 (en) Synchronizing execution of a testing application
CN103765420A (zh) 用于在应用的后台对动作进行同步的系统和方法
US20220058696A1 (en) System and method to selectively update supplemental content rendered in placement regions of a rendered page
WO2017201965A1 (zh) 通知消息的显示方法及装置、终端
US20220124483A1 (en) Nomination of a primary cell phone from a pool of cell phones
CN115243109A (zh) 对象状态的更新方法及装置、直播系统、设备和存储介质
CN115633056A (zh) 物联网操作系统中信息智能提示方法、装置、设备和介质
CN114928620A (zh) 用户信息同步方法、装置、设备、存储介质和程序产品
CN111381976B (zh) 消息提示数据的更新方法、装置、存储介质及计算机设备
CN114363461A (zh) 应用控制方法、装置、电子设备和计算机可读存储介质
CN116257719B (zh) 页面更新方法、装置、计算机设备和存储介质
CN112988291B (zh) 页面事件管理方法、装置、计算机可读介质及电子设备
US20220012227A1 (en) Alert feed and subscription management
CN116662143A (zh) 测试方法、装置、设备、存储介质和计算机程序产品
CN117331625A (zh) 页面资源的加载方法、装置、计算机设备和存储介质
CN116226187A (zh) 数据缓存方法、装置、计算机设备和存储介质
CN118276977A (zh) 应用程序的程序功能启用方法、装置和计算机设备
CN115934238A (zh) 界面展示方法、装置、计算机设备和存储介质
CN113132428A (zh) 信息推送的方法、系统、设备、计算机设备和存储介质
CN117216026A (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