CN114124846A - 一种业务队列消费方法及服务器 - Google Patents
一种业务队列消费方法及服务器 Download PDFInfo
- Publication number
- CN114124846A CN114124846A CN202111354521.3A CN202111354521A CN114124846A CN 114124846 A CN114124846 A CN 114124846A CN 202111354521 A CN202111354521 A CN 202111354521A CN 114124846 A CN114124846 A CN 114124846A
- Authority
- CN
- China
- Prior art keywords
- media asset
- service queue
- queue
- content data
- consumption
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44227—Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种业务队列消费方法及服务器,所述方法可以获取业务队列的处理延迟量;按照身份标识号计算媒资内容数据的更新频次;根据处理延迟量以及更新频次判断业务队列是否存在阻塞;如果业务队列存在阻塞,对业务队列进行消费,得到业务队列中所有媒资变化数据包括的身份标识号;对消费得到的身份标识号进行去重;获取与去重后的身份标识号对应的媒资内容数据,更新至缓存中。所述方法可以在业务队列出现阻塞时进行快速消费,对业务队列进行全局去重,迅速消除业务队列的阻塞。所述方法在进行快速消费的同时,可以保持按批次消费的正常进行,且在快速消费结束后,按批次消费能够顺利跳转,保证业务队列消费的顺利进行。
Description
技术领域
本申请涉及服务器技术领域,尤其涉及一种业务队列消费方法及服务器。
背景技术
媒资是指媒体资源数据,可包括各种媒体类型,比如文字、图片、视频等。以视频为例,具体可包括视频数据、用于描述视频数据的元数据以及视频数据的版权信息等。媒资可以由提供方提供,显示设备可以对这些媒资进行显示。
一般的,服务器可以与提供方合作,接收提供方发送的视频、音频以及文字等媒资内容数据,发送至缓存中,以供显示设备对媒资内容数据进行显示。当接收到的数据比较多时,服务器可以按照媒资内容数据的类别分别建立队列,并按照不同队列对不同的媒资内容数据进行处理。
但是,当视频提供方同一时间内向显示设备推送大量重复的媒资内容数据时,会导致同一队列出现大量重复的数据,容易引发队列阻塞。而此时,如果视频提供方提供新的内容数据,由于队列处于阻塞状态,无法及时对新的内容数据进行处理,影响内容数据的正常显示。
发明内容
本申请提供了一种业务队列消费方法及服务器,以解决大量重复数据引发的业务队列的阻塞问题。
第一方面,本申请提供一种业务队列消费方法,包括:
获取业务队列的处理延迟量;业务队列中按序存储有媒资变化数据,媒资变化数据包括用于区分媒资内容数据身份的身份标识号;
按照身份标识号计算媒资内容数据的更新频次;
根据处理延迟量以及更新频次判断业务队列是否存在阻塞;
如果业务队列存在阻塞,对业务队列进行消费,得到业务队列中所有媒资变化数据包括的身份标识号;
对消费得到的身份标识号进行去重;
获取与去重后的身份标识号对应的媒资内容数据,更新至缓存中。
第二方面,本申请还提供一种服务器,包括存储器和处理器,所述存储器用于存储程序指令,所述处理器用于通过运行所述程序指令,以执行下述步骤:
获取业务队列的处理延迟量;所述业务队列中按序存储有媒资变化数据,所述媒资变化数据包括用于区分媒资内容数据身份的身份标识号;
按照所述身份标识号计算所述媒资内容数据的更新频次;
根据所述处理延迟量以及所述更新频次判断所述业务队列是否存在阻塞;
如果所述业务队列存在阻塞,对所述业务队列进行消费,得到所述业务队列中所有所述媒资变化数据包括的所述身份标识号;
对消费得到的所述身份标识号进行去重;
获取与去重后的所述身份标识号对应的所述媒资内容数据,更新至所述缓存中。
由以上技术方案可知,本申请提供的业务队列消费方法及服务器可以获取业务队列的处理延迟量;业务队列中按序存储有媒资变化数据,媒资变化数据包括用于区分媒资内容数据身份的身份标识号;按照身份标识号计算媒资内容数据的更新频次;根据处理延迟量以及更新频次判断业务队列是否存在阻塞;如果业务队列存在阻塞,对业务队列进行消费,得到业务队列中所有媒资变化数据包括的身份标识号;其中,将业务队列的阻塞位置作为消费的起始位置开始消费;将业务队列的第一处理位置作为消费的终止位置结束消费,第一处理位置为当前时刻业务队列的最新队列位置。对消费得到的身份标识号进行去重;获取与去重后的身份标识号对应的媒资内容数据,更新至缓存中。所述方法可以在业务队列出现阻塞时进行快速消费,对业务队列进行全局去重,迅速消除业务队列的阻塞。所述方法在进行快速消费的同时,可以保持按批次消费的正常进行。如果阻塞未消除,可以继续进行快速消费。如果阻塞消除,在快速消费结束后,按批次消费能够顺利跳转,保证业务队列消费的顺利进行。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中服务器与显示设备的使用场景;
图2为本申请实施例中合作方与服务器及显示设备的互动示意图;
图3为本申请实施例中业务队列示意图;
图4为本申请实施例中合作方改变显示设备显示内容示意图;
图5为本申请实施例中业务队列消费方法流程示意图;
图6为本申请实施例中对业务队列进行消费的位置示意图;
图7为本申请实施例中业务队列消费的一种流程示意图;
图8为本申请实施例中差值与队列延迟阈值比较的一种示意图;
图9为本申请实施例中差值与队列延迟阈值比较的又一种示意图;
图10为本申请实施例中差值与队列延迟阈值比较的再一种示意图;
图11为本申请实施例中快速消费与正常消费的流程示意图。
具体实施方式
为使本申请示例性实施例的目的、技术方案和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请中示出的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整技术方案。
应当理解,本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
图1为根据实施例中显示设备与控制装置之间操作场景的示意图。如图1所示,用户可通过智能设备300或控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。
在一些实施例中,也可以使用智能设备300(如移动终端、平板电脑、计算机、笔记本电脑等)以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。
在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制设备来接收用户的语音指令控制。
在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
在本申请实施例中,服务器400及显示设备200可以与具有授权许可信息(license)的合作方进行合作,接收来自合作方的媒资内容数据,以向用户提供多样化、丰富的视频内容。如图2所示,合作方作为视频提供方,可以向服务器400发送视频、音频以及文字等媒资内容数据,服务器400可以接收这些媒资内容数据,进行数据清洗(datacleaning)后,将媒资内容数据存入数据库中。入库后服务器400可以将数据库中的媒资内容数据进行分类处理,并及时将媒资内容数据内容更新至缓存中。之后,显示设备200可以获取缓存中的媒资内容数据进行显示。合作方可以为腾讯、优酷、华数以及芒果等。
在一些实施例中,合作方可以配置有推送接口,通过推送接口将媒资内容数据发送至服务器400,服务器400可以与合作方进行通信,以接收媒资内容数据。
在一些实施例中,媒资内容数据在显示设备200中显示时,具有不同的显示形式。例如,在发送媒资内容数据时,如果合作方需要删除显示设备200显示界面上的内容,可以在媒资内容数据中设置“删除字段”,以及在媒资内容数据中设置需要删除的内容。如果获取到“删除字段”,则显示设备200会对需要删除的内容进行删除,不再继续进行显示。如果合作方需要在显示设备200的显示界面上增加内容,可以在媒资内容数据中设置“插入字段”,以及在媒资内容数据中设置需要插入的内容、插入位置等。如果获取到“插入字段”,则显示设备200会在显示界面的相应位置对插入的内容进行显示。如果合作方需要更新显示设备200显示界面上的内容,可以在媒资内容数据中设置“更新字段”,以及更新前的内容、更新后的内容。如果获取到“更新字段”,则显示设备200会对待更新的内容进行替换,使显示界面显示更新后的内容。
在一些实施例中,媒资内容数据中还可以包括身份标识号(ID),身份标识号是媒资内容数据具有的、区分于其他身份标识号的唯一标识,身份标识号能够用于区分媒资内容数据的身份。
在一些实施例中,媒资内容数据中还可以包括合作方名称,以便对合作方进行区分,在进行显示时更为迅速的找到显示位置。
在本申请实施例中,服务器400在将内容数据更新至缓存的过程中,可以按照媒资内容数据的业务维度进行分类处理。例如,媒资内容数据的业务维度可以包括视频、音频以及其他维度。视频维度上还可以具体包括视频电视剧、视频电影、视频综艺以及视频少儿等,音频维度上还可以具体包括喜马拉雅音频平台、懒人听书以及腾讯叮当语音助手等。
进一步的,如图3所示,服务器400在将媒资内容数据更新至缓存时,可以按照业务维度建立不同的业务队列。例如,业务队列在视频业务队列维度上可以包括视频电视剧队列、视频电影队列、视频综艺队列以及视频少儿队列等,业务队列在音频业务队列维度上可以包括喜马拉雅队列、懒人听书队列以及腾讯叮当队列等,业务队列在其他维度上还可以包括其他业务队列。
在一些实施例中,业务队列中可以存储有媒资变化数据。媒资变化数据可以用于体现某一身份标识号对应的媒资内容数据在显示设备200上的显示发生了变化,媒资变化数据可以由媒资内容数据形成的,媒资变化数据可以包括媒资内容数据身份标识号。当服务器400读取业务队列上的媒资变化数据时,可以根据媒资变化数据在数据库中查找与之对应的媒资内容数据更新至缓存中。
在一些实施例中,为了便于区分不同的业务队列,也可以为每个业务队列分配队列编号。
在一些实施例中,服务器400可以读取业务队列中的媒资变化数据,这一步骤被称为对业务队列的消费,服务器400也可以被称为该业务队列的消费者。服务器400对业务队列消费时,可以根据业务队列中存储的媒资变化数据,调用媒资详情服务,获取与媒资变化数据对应的媒资内容数据,以实现将媒资内容数据更新至缓存中。服务器400通过消费业务队列对媒资内容数据进行同步的方式,可以顺利的将业务数据更新至缓存中。基于队列对媒资内容数据进行同步的过程,可以将不同业务维度的媒资内容数据相互隔离,有效减少各媒资内容数据同步时的相互影响。
在一些实施例中,存储内容数据的缓存可以为高速缓存(cache)。
在一些实施例中,如图4所示,合作方为了改变显示设备200显示的内容,可以向服务器400发送媒资内容数据。例如,合作方可以向服务器400发送第一内容数据,第一内容数据可以包括媒资内容数据的身份标识号V001,第一内容数据还可以包括用于将《电视剧A1》的画面替换为《电视剧A2》的“更新字段”,以及《电视剧A1》的画面、《电视剧A2》的画面。服务器400可以将上述第一内容数据存入数据库中,便于服务器400将第一内容数据更新至缓存中。
在第一内容数据入库后,服务器400可以根据第一内容数据形成与之对应的第一变化数据,并将第一变化数据发送至视频电视剧队列,例如,第一变化数据包括身份标识号V001。而后服务器400消费视频电视剧队列,当消费至第一变化数据所处的队列位置时,根据第一变化数据记载的身份标识号,获取与V001对应的第一内容数据,并更新至缓存中。
当第一内容数据被更新至缓存后,显示设备200可以在缓存中进行查询,查询至第一内容数据时,显示设备200可以根据“更新字段”,不再显示《电视剧A1》的画面,而是显示《电视剧A2》的画面。
然而,合作方在向服务器400发送媒资内容数据时,可能会出现短时间内发送体量非常大的业务数据的情况,也有可能出现合作方用于推送的接口存在故障(bug)、导致大量重复的业务数据流入服务器400的数据库的情况。由于业务队列具有按序处理的特性,因此,在出现上述情况时,业务队列可能会发生阻塞,严重影响服务器400消费业务队列的进度。如果有正常的媒资变化数据处于阻塞位置,则会影响正常的媒资内容数据的更新,甚至引发用户投诉。
下面结合附图对本申请消除业务队列阻塞的消费流程进行示例说明。
为了快速消除业务队列的阻塞,本申请部分实施例中提供一种服务器400,用于获取合作方发送的媒资内容数据,将媒资内容数据进行数据清洗后存入数据库中,之后,服务器400从数据库中获取媒资内容数据更新至缓存中,以供显示设备200进行显示。
服务器400可以被配置为执行一种业务队列消费方法,用于在业务队列出现阻塞时,对业务队列进行快速消费,迅速消除业务队列的阻塞,且对业务队列的正常消费无需暂停。如图5所示,具体包括以下内容:
获取业务队列的处理延迟量,业务队列中按序存储有媒资变化数据,媒资变化数据包括用于区分媒资内容数据身份的身份标识号。处理延迟量可以用于反映一个队列是否存在阻塞。
本申请实施例还包括按照身份标识号计算媒资内容数据的更新频次。媒资内容数据的更新频次可以用于反映该媒资数据内容在一定时间内是否存在异常更新。此时的身份标识号可以是业务队列中包括的任意一个。例如,在一个业务队列中,对于身份标识号是V002的媒资内容数据,可以获取当前时刻之前的一定时间范围内,该身份标识号的媒资内容数据发生更新的次数,根据发生更新的次数以及一定时间范围的时长,可以计算出媒资内容数据的更新频次。如果同一媒资内容数据在一定时间范围内进行了多次的更新,可以获知业务队列中存有大量包括相同身份标识号的媒资变化数据,也就是说,有大量异常重复的数据进入了业务队列,阻碍了服务器400对业务队列的中未存在异常的数据的消费。
为了准确判断业务队列是否存在阻塞,可以针对处理延迟量设置队列延迟阈值QUEUE_THREAHOLD,针对更新频次设置频次阈值ID_THREAHOLD,如果处理延迟量大于队列延迟阈值,且更新频次大于频次阈值,则业务队列存在阻塞,需要进行阻塞消除。如果处理延迟量小于等于队列延迟阈值,或更新频次小于等于频次阈值,则业务队列未存在阻塞。
在一些实施例中,如果业务队列存在阻塞,服务器400还可以生成开启指令,开启指令中可以包括业务队列的编号、已处理的队列位置以及开始命令标识。通过响应于该开启指令,能够对存在阻塞的业务队列进行快速消费。
在一些实施例中,进行快速消费的步骤如下:
如果业务队列存在阻塞,对业务队列进行消费,得到业务队列中所有媒资变化数据包括的身份标识号;对消费得到的身份标识号进行去重;获取与去重后的身份标识号对应的媒资内容数据,更新至缓存中。
由于业务队列具有按批次处理的特性,因此不论业务队列是否存在阻塞,业务队列的消费方式都按照下述步骤进行:对一个批次内的媒资变化数据进行去重,获取与去重后的媒资变化数据更新至缓存中。但是,在进入业务队列时,重复的媒资变化数据在业务队列中的位置不一定相邻,可能分布在不同批次中,也就是说,包括相同身份标识号的媒资变化数据可能分布在不同批次内,即使在同一批次内进行去重,也无法及时的将大量重复的数据消费完成。这种消费方式,容易导致业务队列阻塞,且不易消除阻塞。而本申请实施例提供的快速消费的方式,能够进行全局去重,通过消费及去重,得到去重后的身份标识号,再进行缓存的更新。这样,能够明显的减少身份标识号的数据量,加快业务队列的消费,快速消除业务队列的阻塞,缩短更新至缓存的时间。并且,通过对业务队列全局处理的方式,可以使得不论是处于阻塞位置的媒资变化数据,还是处于阻塞位置后端的媒资变化数据,都能被消费然后得到媒资内容数据更新至缓存中,而不必等待阻塞清除。
如图6所示,在对业务队列进行快速消费时,具体可以按照以下步骤进行:将业务队列的阻塞位置作为消费的起始位置开始消费;将业务队列的第一处理位置作为消费的终止位置结束消费,第一处理位置为当前时刻业务队列的最新队列位置。服务器400可以将消费得到的身份标识后缓存起来,直至消费结束后,再进行去重操作。这样,可以实现业务队列的全局去重,解决了不同批次之间无法去重的问题。
在一些实施例中,在对消费得到的身份标识号进行去重后,如果身份标识号的数据量仍然比较大,可以进行如下步骤:将消费得到的身份标识号以分页存储的方式进行分页处理;同时获取多个分页的媒资内容数据,以及同时将多个分页获取到的媒资内容数据更新至缓存中。如果消费得到的身份标识号数据体量较大,以分页存储的方式,可以避免获取与身份标识号对应的媒资内容数据的进程产生阻塞。这样,可以快速的将去重后的身份标识号对应的媒资内容数据更新至缓存中,尽快消除业务队列的阻塞。
在一些实施例中,可以以业务队列的队列编号作为区分,实时采集各个业务队列的处理延迟量,以及针对各个业务队列进行媒资内容数据更新频次的计算,对每一业务队列都进行是否存在阻塞的判断,以便及时发现存在阻塞的队列,并消除队列阻塞。
在一些实施例中,如图7所示,不论业务队列是否存在阻塞,都可以对业务队列进行正常消费,正常消费的步骤如下:按照业务队列存储媒资变化数据的批次顺序,获取批次内的身份标识号;获取与批次内的身份标识号对应的媒资内容数据,更新至缓存中。其中,媒资内容数据存储在数据库中。业务队列存储媒资变化数据的批次顺序,获取批次内的身份标识号的步骤后,还可以包括:对批次内的身份标识号进行去重。也就是说,在本申请实施例中,可以同时对业务队列进行快速消费及正常消费。
在一些实施例中,在这一批次内的身份标识号对应的媒资内容数据更新至缓存后,可以提交这一批次的消费位置,再开始下一批次的消费,也即,从第一批次、第二批次依次消费至第N批次。
由以上技术方案可知,不论业务队列是否存在阻塞,在执行按照业务队列存储媒资变化数据的批次顺序,获取批次内的身份标识号;获取与批次内的身份标识号对应的媒资内容数据,更新至缓存中的步骤时,可以同时执行对业务队列进行消费,得到业务队列中所有媒资变化数据包括的身份标识号;对消费得到的身份标识号进行去重;获取与去重后的身份标识号对应的媒资内容数据,更新至缓存中的步骤。在同时执行上述步骤时,同一媒资内容数据可能会被多次更新至缓存中,但是,由于媒资内容数据具有一致性,即使多次发送,也不会对缓存造成影响,因此,在对业务队列进行快速消费时,正常消费可以继续执行,无需暂停。
可以理解的是,在根据处理延迟量及更新频次判断业务队列是否存在阻塞时,如果业务队列未存在阻塞,则可以继续执行按照业务队列存储媒资变化数据的批次顺序,获取批次内的身份标识号;获取与批次内的身份标识号对应的媒资内容数据,更新至缓存中的步骤。
在快速消费进行的过程中,只要当前处理位置与当前长度的差值不小于队列延迟阈值,那么业务队列中就仍然存在阻塞,因此可以通过比较当前处理位置与当前长度之间的差值来对业务队列是否仍存在阻塞进行确认。
快速消费还可以包括以下步骤:在获取与去重后的身份标识号对应的媒资内容数据时,实时获取身份标识号在业务队列中所处的位置,作为业务队列的当前处理位置。业务队列的当前处理位置可以用于确定业务队列中存在阻塞的位置是否已经完成更新。采用实时获取的方式,可以及时的反映消费起始位置与消费终止位置之间的阻塞是否已经消除。
如图8所示,快速消费还可以包括以下步骤:获取业务队列的当前长度;计算当前处理位置与当前长度的差值。
如果计算得到的差值小于队列延迟阈值,则说明经过快速消费,业务队列中已经不存在阻塞。其中,业务队列的当前长度是经过消费且后端可能进入新的数据后的实时长度。因此,如果差值小于队列延迟阈值,停止执行获取与去重后的身份标识号对应的媒资内容数据,更新至缓存中的步骤;以及停止执行按照业务队列存储媒资变化数据的批次顺序,获取批次内的身份标识号的步骤,并从当前处理位置继续执行。
也就是说,在进行快速消费后,业务队列的阻塞已经消除,处于业务队列阻塞位置的身份标识号对应的媒资内容数据已经被更新至缓存中,即使对业务队列进行按序处理的正常消费过程还未消除业务队列的阻塞,正常消费的过程也可以不再继续进行消费,而是跳转至快速消费结束的处理位置(当前处理位置)再进行消费。
如果计算得到的差值不小于队列延迟阈值,则说明业务队列中仍然存在阻塞,此时的阻塞可能存在两种情形,第一种情形为:业务队列的消费起始位置与消费终止位置之间的阻塞仍然存在。第二种情形为:业务队列后端进入了新的、重复的数据,导致了消费终止位置与此时业务队列的最新位置之间出现了新的阻塞。
如图9、图10以及图11所示,如果差值不小于队列延迟阈值,比较当前处理位置与第一处理位置之间的位置关系。通过比较当前处理位置与第一处理位置之间的位置关系,可以明确此时业务队列的阻塞属于哪种情况。
如果当前处理位置处与第一处理位置的前侧,继续执行获取与去重后的身份标识号对应的媒资内容数据,更新至缓存中的步骤;以及继续执行按照业务队列存储媒资变化数据的批次顺序,获取批次内的身份标识号的步骤。当前处理位置处于第一处理位置的前侧,说明消费起始位置至消费终止位置之间的阻塞还未消除,此时可以继续进行快速消费以及正常消费。如果当前处理位置与第一处理位置重合,则执行对业务队列进行消费,得到业务队列中所有媒资变化数据包括的身份标识号的步骤,以及继续执行按照业务队列存储媒资变化数据的批次顺序,获取批次内的身份标识号的步骤。当前处理位置与第一处理位置重合,说明消费起始位置至消费终止位置之间的阻塞已经消除,但是业务队列中出现了新的阻塞,需要继续进行快速消费以及正常消费。
在一些实施例中,如图11所示,S101-S108为快速消费的流程,S201-S206为正常消费的流程。其中,针对视频综艺队列,进行S201按批次的正常消费,S101采集处理延迟量及计算更新频次,S102根据处理延迟量及更新频次判断业务队列是否存在阻塞,S103如果存在阻塞,生成开启指令,S104响应于开启指令,启动快速消费,S105开始执行快速消费,S106获取队列当前处理位置及当前长度,判断业务队列是否仍存在阻塞,S107业务队列不存在阻塞后,快速消费结束,S108通知正常消费跳转至当前处理位置继续进行消费。在S101-S108进行时,S202-S205按批次的消费正常进行,快速消费对按批次消费不产生影响,且在S108后,S206可以跳转至当前处理位置继续进行按批次的正常消费。由图11可以看出,正常消费及快速消费是同时进行的。
根据上述实施例,本申请部分实施例还包括一种服务器,包括存储器和处理器,存储器用于存储程序指令,处理器用于通过运行程序指令,以执行下述步骤:
获取业务队列的处理延迟量;业务队列中按序存储有媒资变化数据,媒资变化数据包括用于区分媒资内容数据身份的身份标识号;
按照身份标识号计算媒资内容数据的更新频次;
根据处理延迟量以及更新频次判断业务队列是否存在阻塞;
如果业务队列存在阻塞,对业务队列进行消费,得到业务队列中所有媒资变化数据包括的身份标识号;
对消费得到的身份标识号进行去重;
获取与去重后的身份标识号对应的媒资内容数据,更新至缓存中。
由以上技术方案可知,本申请实施例提供的业务队列消费方法及服务器可以获取业务队列的处理延迟量;业务队列中按序存储有媒资变化数据,媒资变化数据包括用于区分媒资内容数据身份的身份标识号;其中,将业务队列的阻塞位置作为消费的起始位置开始消费;将业务队列的第一处理位置作为消费的终止位置结束消费,第一处理位置为当前时刻业务队列的最新队列位置。按照身份标识号计算媒资内容数据的更新频次;根据处理延迟量以及更新频次判断业务队列是否存在阻塞;如果业务队列存在阻塞,对业务队列进行消费,得到业务队列中所有媒资变化数据包括的身份标识号;对消费得到的身份标识号进行去重;获取与去重后的身份标识号对应的媒资内容数据,更新至缓存中。所述方法可以在业务队列出现阻塞时进行快速消费,对业务队列进行全局去重,迅速消除业务队列的阻塞。所述方法在进行快速消费的同时,可以保持按批次消费的正常进行。如果阻塞未消除,可以继续进行快速消费。如果阻塞消除,在快速消费结束后,按批次消费能够顺利跳转,保证业务队列消费的顺利进行。
本说明书通篇提及的“多个实施例”、“一些实施例”、“一个实施例”或“实施例”等,意味着结合该实施例描述的具体特征、结构或特性包括在至少一个实施例中。因此,本说明书通篇出现的短语“在多个实施例中”、“在一些实施例中”、“在至少另一个实施例中”或“在实施例中”等并不一定都指相同的实施例。此外,在一个或多个实施例中,具体特征、结构或特性可以任何合适的方式进行组合。因此,在无限制的情形下,结合一个实施例示出或描述的具体特征、结构或特性可全部或部分地与一个或多个其他实施例的特征、结构或特性进行组合。这种修改和变型旨在包括在本申请的范围之内。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。
Claims (11)
1.一种业务队列消费方法,其特征在于,包括:
获取业务队列的处理延迟量;所述业务队列中按序存储有媒资变化数据,所述媒资变化数据包括用于区分媒资内容数据身份的身份标识号;
按照所述身份标识号计算所述媒资内容数据的更新频次;
根据所述处理延迟量以及所述更新频次判断所述业务队列是否存在阻塞;
如果所述业务队列存在阻塞,对所述业务队列进行消费,得到所述业务队列中所有所述媒资变化数据包括的所述身份标识号;
对消费得到的所述身份标识号进行去重;
获取与去重后的所述身份标识号对应的所述媒资内容数据,更新至缓存中。
2.根据权利要求1所述的业务队列消费方法,其特征在于,获取与去重后的所述身份标识号对应的所述媒资内容数据,更新至所述缓存中的步骤中,包括:
将去重后的所述身份标识号以分页存储的方式进行分页处理;
同时获取多个分页的所述媒资内容数据;
以及同时将多个分页获取到的所述媒资内容数据更新至缓存中。
3.根据权利要求1所述的业务队列消费方法,其特征在于,
如果所述处理延迟量大于队列延迟阈值,且所述更新频次大于频次阈值,则所述业务队列存在阻塞;或者,
如果所述处理延迟量小于等于所述队列延迟阈值,或所述更新频次小于等于所述频次阈值,则所述业务队列不存在阻塞。
4.根据权利要求1所述的业务队列消费方法,其特征在于,对所述业务队列进行消费,得到所述业务队列中所有所述媒资变化数据包括的所述身份标识号的步骤中,包括:
将所述业务队列的阻塞位置作为消费的起始位置开始消费;
将所述业务队列的第一处理位置作为消费的终止位置结束消费,所述第一处理位置为当前时刻所述业务队列的最新队列位置。
5.根据权利要求4所述的业务队列消费方法,其特征在于,所述方法还包括:
按照所述业务队列存储所述媒资变化数据的批次顺序,获取批次内的所述身份标识号;
获取与批次内的所述身份标识号对应的所述媒资内容数据,更新至所述缓存中。
6.根据权利要求5所述的业务队列消费方法,其特征在于,按照所述业务队列存储所述媒资变化数据的批次顺序,获取批次内的所述身份标识号的步骤后,所述方法还包括:
对批次内的所述身份标识号进行去重。
7.根据权利要求5所述的业务队列消费方法,其特征在于,所述方法还包括:
在获取与去重后的所述身份标识号对应的所述媒资内容数据时,实时获取所述身份标识号在所述业务队列中所处的位置,作为所述业务队列的当前处理位置。
8.根据权利要求7所述的业务队列消费方法,其特征在于,在获取与去重后的所述身份标识号对应的所述媒资内容数据时,实时获取所述身份标识号在所述业务队列中所处的位置,作为所述业务队列的当前处理位置的步骤后,所述方法还包括:
获取所述业务队列当前长度;
计算所述当前处理位置与所述当前长度的差值;
如果所述差值小于队列延迟阈值,停止执行获取与去重后的所述身份标识号对应的所述媒资内容数据,更新至所述缓存中的步骤;以及停止执行按照所述业务队列存储所述媒资变化数据的批次顺序,获取批次内的所述身份标识号的步骤,并从所述当前处理位置继续执行。
9.根据权利要求8所述的业务队列消费方法,其特征在于,计算所述当前处理位置与所述当前长度的差值的步骤后,所述方法还包括:
如果所述差值不小于所述队列延迟阈值,比较所述当前处理位置与所述第一处理位置之间的位置关系;
如果所述当前处理位置处与所述第一处理位置的前侧,继续执行获取与去重后的所述身份标识号对应的所述媒资内容数据,更新至所述缓存中的步骤;以及继续执行按照所述业务队列存储所述媒资变化数据的批次顺序,获取批次内的所述身份标识号的步骤。
10.根据权利要求9所述的业务队列消费方法,其特征在于,如果所述差值不小于所述队列延迟阈值,比较所述当前处理位置与所述第一处理位置之间的位置关系的步骤后,所述方法还包括:
如果所述当前处理位置与所述第一处理位置重合,则执行对所述业务队列进行消费,得到所述业务队列中所有所述媒资变化数据包括的所述身份标识号的步骤,以及继续执行按照所述业务队列存储所述媒资变化数据的批次顺序,获取批次内的所述身份标识号的步骤。
11.一种服务器,其特征在于,包括存储器和处理器,所述存储器用于存储程序指令,所述处理器用于通过运行所述程序指令,以执行下述步骤:
获取业务队列的处理延迟量;所述业务队列中按序存储有媒资变化数据,所述媒资变化数据包括用于区分媒资内容数据身份的身份标识号;
按照所述身份标识号计算所述媒资内容数据的更新频次;
根据所述处理延迟量以及所述更新频次判断所述业务队列是否存在阻塞;
如果所述业务队列存在阻塞,对所述业务队列进行消费,得到所述业务队列中所有所述媒资变化数据包括的所述身份标识号;
对消费得到的所述身份标识号进行去重;
获取与去重后的所述身份标识号对应的所述媒资内容数据,更新至缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111354521.3A CN114124846B (zh) | 2021-11-15 | 2021-11-15 | 一种业务队列消费方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111354521.3A CN114124846B (zh) | 2021-11-15 | 2021-11-15 | 一种业务队列消费方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114124846A true CN114124846A (zh) | 2022-03-01 |
CN114124846B CN114124846B (zh) | 2023-08-11 |
Family
ID=80395659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111354521.3A Active CN114124846B (zh) | 2021-11-15 | 2021-11-15 | 一种业务队列消费方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114124846B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815329A (zh) * | 2016-12-29 | 2017-06-09 | 网易无尾熊(杭州)科技有限公司 | 一种缓存数据的更新方法及装置 |
CN107103068A (zh) * | 2017-04-18 | 2017-08-29 | 聚好看科技股份有限公司 | 业务缓存的更新方法及装置 |
US9852076B1 (en) * | 2014-12-18 | 2017-12-26 | Violin Systems Llc | Caching of metadata for deduplicated LUNs |
WO2018068714A1 (zh) * | 2016-10-14 | 2018-04-19 | 腾讯科技(深圳)有限公司 | 重删处理方法及存储设备 |
CN110727690A (zh) * | 2019-10-15 | 2020-01-24 | 刘卫立 | 一种数据更新方法 |
CN112527534A (zh) * | 2020-12-28 | 2021-03-19 | 平安普惠企业管理有限公司 | 基于消息队列的业务处理方法、装置、设备及存储介质 |
CN112615907A (zh) * | 2020-12-04 | 2021-04-06 | 北京齐尔布莱特科技有限公司 | 一种数据同步系统及方法 |
WO2021180025A1 (zh) * | 2020-03-13 | 2021-09-16 | 北京金山云网络技术有限公司 | 一种消息处理方法、装置、电子设备及介质 |
-
2021
- 2021-11-15 CN CN202111354521.3A patent/CN114124846B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9852076B1 (en) * | 2014-12-18 | 2017-12-26 | Violin Systems Llc | Caching of metadata for deduplicated LUNs |
WO2018068714A1 (zh) * | 2016-10-14 | 2018-04-19 | 腾讯科技(深圳)有限公司 | 重删处理方法及存储设备 |
CN106815329A (zh) * | 2016-12-29 | 2017-06-09 | 网易无尾熊(杭州)科技有限公司 | 一种缓存数据的更新方法及装置 |
CN107103068A (zh) * | 2017-04-18 | 2017-08-29 | 聚好看科技股份有限公司 | 业务缓存的更新方法及装置 |
CN110727690A (zh) * | 2019-10-15 | 2020-01-24 | 刘卫立 | 一种数据更新方法 |
WO2021180025A1 (zh) * | 2020-03-13 | 2021-09-16 | 北京金山云网络技术有限公司 | 一种消息处理方法、装置、电子设备及介质 |
CN112615907A (zh) * | 2020-12-04 | 2021-04-06 | 北京齐尔布莱特科技有限公司 | 一种数据同步系统及方法 |
CN112527534A (zh) * | 2020-12-28 | 2021-03-19 | 平安普惠企业管理有限公司 | 基于消息队列的业务处理方法、装置、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
JONG-HWAN KIM,HYUNSOO YOON: "Active Queue Management for Flow Fariness and Stable Queue Length" * |
吴仁克: "分布式数据处理若干关键技术研究" * |
张杰,刘凯: "采用消息队列实现数据一致性方法" * |
Also Published As
Publication number | Publication date |
---|---|
CN114124846B (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5021723B2 (ja) | データストアの絞込み複製 | |
JP5060566B2 (ja) | 競合知識の伝播 | |
CN106547615B (zh) | 一种后台应用的管理方法及管理模块 | |
CN102468989B (zh) | 处理网络数据的方法和系统 | |
CN107423070B (zh) | 一种页面生成方法及装置 | |
CN103136658A (zh) | 自动聚集联系人信息 | |
US11310066B2 (en) | Method and apparatus for pushing information | |
CN107315825B (zh) | 一种索引更新系统、方法及装置 | |
EP3125501A1 (en) | File synchronization method, server, and terminal | |
US20150227605A1 (en) | Information processing terminal, synchronization control method, and computer-readable recording medium | |
CN106571942B (zh) | 配置数据更新方法、客户端和服务器 | |
CN105847447A (zh) | 消息推送方法和装置 | |
US20130310014A1 (en) | Method and Mobile Terminal for Storing Memo During Call | |
CN109492152A (zh) | 推送定制内容的方法、装置、计算机设备及存储介质 | |
CN109788026A (zh) | 消息处理方法及装置 | |
CN102187329B (zh) | 通过基于知识的同步来忘记项 | |
CN113220421B (zh) | 一种服务器集群的管理方法、管理服务器及管理系统 | |
KR20130038734A (ko) | 단말의 응용프로그램을 관리하는 방법 및 장치, 단말에서 응용프로그램을 관리하는 방법 및 장치 | |
CN114124846B (zh) | 一种业务队列消费方法及服务器 | |
CN110362314A (zh) | 信息处理方法及装置、计算机可读介质、电子设备 | |
CN114090911A (zh) | 界面处理方法、装置、计算机设备及计算机可读存储介质 | |
US9465876B2 (en) | Managing content available for content prediction | |
JP5853791B2 (ja) | データ同期方法及びサーバ装置 | |
CN108768828B (zh) | 一种调整本地通讯录并映射微信企业号通讯录的同步方法 | |
CN111259178A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |