CN116661705B - 基于kafka的数据管理方法、系统、电子设备及存储介质 - Google Patents

基于kafka的数据管理方法、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN116661705B
CN116661705B CN202310906198.9A CN202310906198A CN116661705B CN 116661705 B CN116661705 B CN 116661705B CN 202310906198 A CN202310906198 A CN 202310906198A CN 116661705 B CN116661705 B CN 116661705B
Authority
CN
China
Prior art keywords
kafka
metadata
video object
queue
migrated
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.)
Active
Application number
CN202310906198.9A
Other languages
English (en)
Other versions
CN116661705A (zh
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.)
Jiangxi Yunyan Shijie Technology Co ltd
Original Assignee
Jiangxi Yunyan Shijie 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 Jiangxi Yunyan Shijie Technology Co ltd filed Critical Jiangxi Yunyan Shijie Technology Co ltd
Priority to CN202310906198.9A priority Critical patent/CN116661705B/zh
Publication of CN116661705A publication Critical patent/CN116661705A/zh
Application granted granted Critical
Publication of CN116661705B publication Critical patent/CN116661705B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明提供了一种基于kafka的数据管理方法、系统、电子设备及存储介质,属于分布式数据处理领域;该方法包括创建具有视频对象元数据的多个kafka主题队列;组建多个元数据缓存队列及kafka分区检测线程服务;通过元数据管理服务从kafka主题队列的分区读取目标视频对象元数据;将目标视频对象元数据插入至对应的元数据缓存队列,并同时在kafka分区检测线程服务中插入一条记录;根据迁移规则从元数据缓存队列中获取待迁移状态的视频对象并进行迁移;向元数据管理发送迁移结果并更新分区检测表;通过kafka分区检测线程服务定期扫描分区检测表找寻已迁移状态的offset,并向kafka待迁移队提交偏移量。通过本发明可实现元数据管理服务具备线性扩展、高可靠、高可用的特点。

Description

基于kafka的数据管理方法、系统、电子设备及存储介质
技术领域
本发明属于分布式数据处理的技术领域,具体地涉及一种基于kafka的数据管理方法、系统、电子设备及存储介质。
背景技术
随着AI,大数据,云计算等技术的发展,智能视频云的使用已逐渐成熟,智能视频云是基于云计算技术的理念,采用视频作为“云端”向“终端”呈现处理结果的一种云计算方案。一个城市级别的智能视频云每天需要处理海量的视频数据,主要有两种数据类型:视频对象元数据和视频对象数据。其中,视频对象元数据的处理过程为:视频对象元数据由流媒体转发服务器产生,每隔30秒产生一个视频切片对象;迁移程序从元数据管理服务拿到视频对象元数据,然后从流媒体转发服务器读取视频对象,最后发送到磁盘存储服务器完成视频对象数据落盘。
目前,视频对象元数据处理过程是一个分布式的处理过程,尤其在面对一个城市级别的智能视频云时需要处理海量的视频数据,如何确保整个数据处理过程满足高可靠、高可用、无单点故障的要求;以及考虑到随着接入规模的逐步增加,如何保证处理服务也可以线性扩展而不影响业务。
因此,如何实现视频对象元数据管理服务具备高可靠、高可用以及可线性扩展的特点,显得尤为重要。
发明内容
为了解决上述技术问题,本发明提供了一种基于kafka的数据管理方法、系统、电子设备及存储介质,可以实现元数据管理服务具备线性扩展、高可靠、高可用的特点。
第一方面,本申请提供了一种基于kafka的数据管理方法,其包括:
创建具有视频对象元数据的多个kafka主题队列;
基于所述视频对象元数据的存储周期及转发服务UUID组建多个元数据缓存队列,以及基于所述kafka主题队列的主题名及分区号组建多个kafka分区检测线程服务;
通过元数据管理服务从所述kafka主题队列的分区读取目标视频对象元数据;
根据所述目标视频对象元数据的存储周期及转发服务UUID将其插入至对应的所述元数据缓存队列,并同时在所述kafka分区检测线程服务中插入一条记录;其中,所述记录包括偏移量、数据来源以及数据迁移状态,所述数据迁移状态包括待迁移状态和已迁移状态;
根据迁移规则从所述元数据缓存队列中获取待迁移状态的视频对象,并通过参数输入迁移程序将所述待迁移状态的视频对象进行迁移;其中,所述参数包括存储周期、对象数量、转发服务UUID;
向所述元数据管理发送迁移结果,并通过所述元数据管理更新分区检测表;其中,所述迁移结果包括所述kafka主题队列的主题名、分区号及偏移量;
通过所述kafka分区检测线程服务定期扫描所述分区检测表,找寻已迁移状态的offset,并向kafka待迁移队提交偏移量。
进一步可选地,所述根据所述目标视频对象元数据的存储周期及转发服务UUID将其插入至对应的所述元数据缓存队列,并同时在所述kafka分区检测线程服务中插入一条记录的步骤之后,所述方法还包括:
通过所述kafka分区检测线程服务将所述元数据缓存队列中已迁移状态的目标视频对象元数据发送至kafka已迁移队列,并经索引服务针对所述kafka已迁移队列整理时间轴。
进一步可选地,所述根据所述目标视频对象元数据的存储周期及转发服务UUID将其插入至对应的所述元数据缓存队列,并同时在所述kafka分区检测线程服务中插入一条记录的步骤之后,所述方法还包括:
通过所述kafka分区检测线程服务基于所述元数据缓存队列中已迁移状态的目标视频对象元数据的转发服务UUID,将所述目标视频对象元数据发送至kafka删除队列,并通过流媒体转发服务器订阅所述kafka删除队列以清理视频对象。
进一步可选地,所述创建具有视频对象元数据的多个kafka主题队列的具体步骤包括:
根据预设存储周期的个数创建同等数量的kafka主题队列;
通过流媒体转发服务器视频对象切片处理获取视频对象元数据;
根据所述预设存储周期将所述视频对象元数据发送至对应的所述kafka主题队列;其中,所述视频对象元数据至少包括存储周期、转发服务UUID。
进一步可选地,所述通过元数据管理服务从所述kafka主题队列的分区读取目标视频对象元数据的步骤具体包括:
启动多个元数据管理服务订阅所述kafka主题队列;
将任一所述kafka主题队列的分区平均分配给多个所述元数据管理服务形成分区检测表;
通过所述元数据管理服务从所述kafka主题队列的分区读取目标视频对象元数据。
进一步可选地,所述迁移规则具体为:
步骤一:遍历全部所述元数据缓存队列得到每一所述元数据缓存队列的积压数n,以及其对应的超时时间t;
步骤二:设置所述元数据缓存队列的最大超时时间t1,所述元数据缓存队列中的非本地迁移最小队列长度为n1;其中,所述非本地迁移具体指迁移程序与转发服务UUID不隶属同一机器;
步骤三:当符合触发条件:t>t1,则采用第一优先级原则从所述元数据缓存队列中获取处理积压时间最长的待迁移状态的视频对象;
当符合触发条件:迁移程序与转发服务UUID隶属同一机器,则采用第二优先级原则从所述元数据缓存队列中获取待迁移状态的视频对象;
当符合触发条件:n>n1,且迁移程序与转发服务UUID不隶属同一机器,则采用第三优先级原则从所述元数据缓存队列中获取处理队列长度最长的待迁移状态的视频对象;
步骤四:更新所述分区检测表,并将所述数据迁移状态由待迁移状态更改为迁移中状态。
进一步可选地,所述视频对象元数据包括对象ID、主机名、存储周期、转发服务UUID、文件路径、文件大小、开始时间及结束时间。
第二方面,本申请提供了一种基于kafka的数据管理系统,包括:
创建模块,用于创建具有视频对象元数据的多个kafka主题队列;
组建模块,用于基于所述视频对象元数据的存储周期及转发服务UUID组建多个元数据缓存队列,以及基于所述kafka主题队列的主题名及分区号组建多个kafka分区检测线程服务;
读取模块,用于通过元数据管理服务从所述kafka主题队列的分区读取目标视频对象元数据;
插入模块,用于根据所述目标视频对象元数据的存储周期及转发服务UUID将其插入至对应的所述元数据缓存队列,并同时在所述kafka分区检测线程服务中插入一条记录;其中,所述记录包括偏移量、数据来源以及数据迁移状态,所述数据迁移状态包括待迁移状态和已迁移状态;
迁移模块,用于根据迁移规则从所述元数据缓存队列中获取待迁移状态的视频对象,并通过参数输入迁移程序将所述待迁移状态的视频对象进行迁移;其中,所述参数包括存储周期、对象数量、转发服务UUID;
更新模块,用于向所述元数据管理发送迁移结果,并通过所述元数据管理更新分区检测表;其中,所述迁移结果包括所述kafka主题队列的主题名、分区号及偏移量;
第一发送模块,用于通过所述kafka分区检测线程服务定期扫描所述分区检测表,找寻已迁移状态的offset,并向kafka待迁移队提交偏移量。
进一步可选地,所述系统还包括:
第二发送模块,用于通过所述kafka分区检测线程服务将所述元数据缓存队列中已迁移状态的目标视频对象元数据发送至kafka已迁移队列,并经索引服务针对所述kafka已迁移队列整理时间轴。
进一步可选地,所述系统还包括:
第三发送模块,用于通过所述kafka分区检测线程服务基于所述元数据缓存队列中已迁移状态的目标视频对象元数据的转发服务UUID,将所述目标视频对象元数据发送至kafka删除队列,并通过流媒体转发服务器订阅所述kafka删除队列以清理视频对象。
进一步可选地,所述创建模块包括:
创建单元,用于根据预设存储周期的个数创建同等数量的kafka主题队列;
切片单元,用于通过流媒体转发服务器视频对象切片处理获取视频对象元数据;
存储单元,用于根据所述预设存储周期将所述视频对象元数据发送至对应的所述kafka主题队列;其中,所述视频对象元数据至少包括存储周期、转发服务UUID。
进一步可选地,所述读取模块包括:
启动单元,用于启动多个元数据管理服务订阅所述kafka主题队列;
分配单元,用于将任一所述kafka主题队列的分区平均分配给多个所述元数据管理服务形成分区检测表;
读取单元,用于通过所述元数据管理服务从所述kafka主题队列的分区读取目标视频对象元数据。
第三方面,本申请提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的电子设备程序,所述处理器执行所述电子设备程序时实现如第一方面所述的基于kafka的数据管理方法。
第四方面,本申请提供了一种存储介质,其上存储有电子设备程序,该程序被处理器执行时实现如第一方面所述的基于kafka的数据管理方法。
相比于现有技术,本申请提供的一种基于kafka的数据管理方法、系统、电子设备及存储介质,具有以下有益效果:
本发明利用kafka的消费者组特性启动多个元数据管理服务来订阅kafka的主题,以及利用kafka消费者组提供的可扩展且具有容错性的消费者机制,可以实现元数据管理服务具备线性扩展、高可靠、高可用的特点。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于kafka的数据管理流程图;
图2为本发明提供的消费者与消费者组的关系图;
图3为本发明实施例1提供的基于kafka的数据管理方法的流程图;
图4为本发明实施例1提供的元数据缓存队列以及kafka分区检测线程服务的示意图;
图5是本发明实施例2提供的与实施例1方法对应的基于kafka的数据管理系统结构框图;
图6是本发明实施例7提供的电子设备的硬件结构示意图。
附图标记说明:
10-创建模块、11-创建单元、12-切片单元、13-存储单元;
20-组建模块;
30-读取模块、31-启动单元、32-分配单元、33-读取单元;
40-插入模块;
50-迁移模块;
60-更新模块;
71-第一发送模块;
80-总线、81-处理器、82-存储器、83-通信接口。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本发明所提供的实施例,其所涉及的视频对象元数据的管理方法是建立于kafka处理平台,该管理方法基本原理是利用kafka的消费者组特性来启动多个元数据管理服务来订阅kafka的主题,具体可参阅图1所示。其中,元数据管理服务(对应图1中的数据负载均衡消费组)主要是利用kafka主题来实现整体业务模块的解耦。
需要说明的是,消费者负责订阅 kafka中的主题(Topic),并且从订阅的主题上拉取消息。与其他一些消息中间件不同的是:在kafka的消费理念中还有一层消费组的概念,每个消费者都有一个对应的消费组。当消息发布到主题后,只会被投递给订阅它的每个消费组中的一个消费者。消费者与消费者组的关系具体可参阅图2所示,诸如某主题(Topic)中共有4个分区(Partion):第一分区、第二分区、第三分区、第四分区。有两个消费组A和B都订阅了这个主题,消费组A中有4个消费者(第一消费者、第二消费者、第三消费者和第四消费者),消费组B中有2个消费者(第五消费者和第六消费者。按照 kafka 默认的规则,最后的分配结果是消费组A中的每一个消费者分配到1个分区,消费组B中的每一个消费者分配到2个分区,两个消费组之间互不影响。每个消费者只能消费所分配到的分区中的消息。换言之,每一个分区只能被一个消费组中的一个消费者所消费。
实施例1
具体而言,图3所示为本实施例所提供的一种基于kafka的数据管理方法的流程示意图。
如图3所示,本实施例的基于kafka的数据管理方法包括以下步骤:
S101,创建具有视频对象元数据的多个kafka主题队列。
其中,所述视频对象元数据包括对象ID、主机名、存储周期、转发服务UUID、文件路径、文件大小、开始时间及结束时间。
具体地,kafka是一个开源流处理平台,由Scala和Java编写。kafka是一种高吞吐量的分布式发布订阅消息系统,可以处理消费者在网站中的所有动作流数据。本实施例中,通过实际应用情况设定视频不同的存储周期(诸如3天、7天、15天等),根据存储周期的个数建立等数量的kafka主题队列,将不同存储周期的视频存至相应存储周期的kafka主题队列中。
进一步地,步骤S101的具体步骤包括:
S1011,根据预设存储周期的个数创建同等数量的kafka主题队列。
具体地,本实施例所涉及的预设存储周期,是根据具体视频云的视频数据存储需求,可人为设定存储3天、7天或15天。根据具体设定的存储周期,创建与存储周期一一对应的kafka主题队列,使得每个kafka主题队列对应一个具体设定存储天数,以符合客户需求。
S1012,通过流媒体转发服务器视频对象切片处理获取视频对象元数据。
具体地,用户在基于内容分发网络(CDN)进行流媒体点播时,采用切片技术对点播的流媒体文件进行切片处理,再将切片后的流媒体封装为虚拟文件缓存至缓存服务器中,再由缓存服务器将切片形成的虚拟文件数据返回给用户,用户可以就近获取需要的内容,避免了穿过各种路由设备访问流媒体文件所在的源服务器,达到加速访问速度的效果。现有流媒体进行切片的方式是针对每个关键帧都进行切片,即每检测到关键帧,就以该关键帧为起始帧,下一关键帧的前一帧为结束帧形成一个切片,即视频对象元数据。元数据是关于数据的组织、数据域及其关系的信息,简单来说,元数据就是被用来描述数据的数据。在实际应用中,元数据还存在很多细分概念,但从本质上看,元数据是业务和系统之间的翻译纽带,可以更加高效地支撑数据的业务价值。
S1013,根据所述预设存储周期将所述视频对象元数据发送至对应的所述kafka主题队列。
具体地,采用切片技术对点播的流媒体文件进行切片处理得到的视频对象元数据,根据具体的存储周期(诸如3天、7天、15天等)将切片处理得到的视频对象元数据传送至对应存储周期的kafka主题队列。
S102,基于所述视频对象元数据的存储周期及转发服务UUID组建多个元数据缓存队列,以及基于所述kafka主题队列的主题名及分区号组建多个kafka分区检测线程服务。
具体地,使用视频对象元数据写缓存有以下几个好处:1、避免每次写完成后都需要更新映射表,更新映射表可能造成系统的负担;一旦映射表不命中,又需要从NAND中读取映射数据;将待更新的映射信息保存至元数据写缓存区中,可以缩短写操作的时间,固件可以快速响应主机host的新请求,从而提升读写性能;2、使用写缓存可以提升更新映射表的效率,因为可能存在多条映射信息位于相同映射表的情况,这种情况可以节省查询-更新映射表的时间。本实施例通过视频对象元数据的存储周期及转发服务UUID组建元数据缓存队列,即周期+转发服务UUID对应一个缓存队列。进一步地,检测线程服务主要用于检测分区数据的完成度以及向kafka提交偏移量,kafka的每个主题分区对应一个kafka分区检测线程服务,具体可见图4所示。
S103,通过元数据管理服务从所述kafka主题队列的分区读取目标视频对象元数据。
具体地,本实施例中网络存储系统为避免元数据访问成为文件系统访问的瓶颈,提高数据访问效率,采用将文件的数据与其元数据分开存储的组织方式进行管理。文件的元数据存放在单独的计算机节点,称之为存储系统的元数据管理服务器,其负责管理网络存储文件系统的元数据,它包括文件的名字空间、访问权限、数据块的分布信息,用户的身法验证等。
进一步地,步骤S103的具体步骤包括:
S1031,启动多个元数据管理服务订阅所述kafka主题队列。
具体地,本实施例中,元数据管理服务采用指定分区消费的方式订阅kafka;其中生产者发布消息,消费者订阅消息;所有的生产者都发布消息到kafka,所有的消费者都从kafka订阅消息。
S1032,将任一所述kafka主题队列的分区平均分配给多个所述元数据管理服务形成分区检测表。
具体地,元数据管理服务线性扩展过程:元数据管理服务可以部署多个,都是无状态的,当部署一个新的元数据管理服务时,会订阅kafka待迁移队列主题,订阅成功后kafka主题会进行分区均衡。比如一个7天待迁移队列有10个分区,编号为1-10,部署了2个元数据管理服务,服务1对应1-5分区,服务2对应6-10分区,如果增加了服务3,那么均衡后的结果为服务1对应1-3分区,服务2对应4-6分区,服务3对应7-10分区。其中,分区变化对应元数据管理服务来说会有减少和增加分区的数据处理,处理步骤如下:收到kafka的分区变化通知,该分区变化包含主题名、分区号;如果是分区增加则创建分区检测表,如果是分区减少则清理分区检测表。这样就可以动态的增加元数据管理服务,某个元数据管理服务宕机也不会影响整体业务,因为kafka会做消费者组的分区均衡。
S1033,通过所述元数据管理服务从所述kafka主题队列的分区读取目标视频对象元数据。
具体地,kafka在逻辑上将消息按照topic进行分类,一个topic物理上可以有1个或多个分区来存储消息。每个分区对应一个log,消息以追加的方式写入log中,以先进先出的方式读取。同时,kafka中有消费组的概念,1个消费者组里可以有1个或多个消费者,这些消费者可以消费同一个topic的消息。但同时一个分区里的消息只能被1个消费者组里的1个消费者消费,以此来保证单个分区内消息的顺序性。
S104,根据所述目标视频对象元数据的存储周期及转发服务UUID将其插入至对应的所述元数据缓存队列,并同时在所述kafka分区检测线程服务中插入一条记录。
其中,所述记录包括偏移量、数据来源以及数据迁移状态,所述数据迁移状态包括待迁移状态和已迁移状态。
具体地,已迁移状态表示视频对象数据已落盘,待迁移状态表示初次插入记录状态。
S105,根据迁移规则从所述元数据缓存队列中获取待迁移状态的视频对象,并通过参数输入迁移程序将所述待迁移状态的视频对象进行迁移。
其中,所述参数包括存储周期、对象数量、转发服务UUID。
具体地,所述迁移规则具体为:
步骤一:遍历全部所述元数据缓存队列得到每一所述元数据缓存队列的积压数n,以及其对应的超时时间t;
步骤二:设置所述元数据缓存队列的最大超时时间t1,所述元数据缓存队列中的非本地迁移最小队列长度为n1;其中,所述非本地迁移具体指迁移程序与转发服务UUID不隶属同一机器;
步骤三:当符合触发条件:t>t1,则采用第一优先级原则从所述元数据缓存队列中获取处理积压时间最长的待迁移状态的视频对象;
当符合触发条件:迁移程序与转发服务UUID隶属同一机器,则采用第二优先级原则从所述元数据缓存队列中获取待迁移状态的视频对象;
当符合触发条件:n>n1,且迁移程序与转发服务UUID不隶属同一机器,则采用第三优先级原则从所述元数据缓存队列中获取处理队列长度最长的待迁移状态的视频对象;
步骤四:更新所述分区检测表,并将所述数据迁移状态由待迁移状态更改为迁移中状态。
S106,向所述元数据管理发送迁移结果,并通过所述元数据管理更新分区检测表。
其中,所述迁移结果包括所述kafka主题队列的主题名、分区号及偏移量。
具体地,迁移程序通过GRPC协议向元数据管理服务发送迁移结果,GRPC全程是Google Remote Procedure Call,是一种高性能、通用的远程过程调用。通信双方都基于该框架进行二次开发,从而使得通信双方聚焦在业务,无需关注由GRPC软件框架实现的底层通信。GRPC使用http/2作为通信协议,基于二进制流传输数据,相比http 1.1具有更低的延迟和更高的吞吐量,支持多路复用、头部压缩、流量控制等特性,提供更高效的数据传输。元数据管理服务收到迁移结果后,迁移结果包含了kafka主题名、分区号、对象元数据迁移结果等关键信息。元数据管理根据kafka主题名+分区号定位到分区检测表,最后更新视频对象数据的迁移状态。
S107,通过所述kafka分区检测线程服务定期扫描所述分区检测表,找寻已迁移状态的offset,并向kafka待迁移队提交偏移量。
具体地,分区检测表对应某一个kafka的主题分区,即有多少个kafka主题分区就有多少个分区检测表,找到已迁移状态的offset需满足以下条件才可以提交偏移量:所有小于该offset的数据都是已迁移状态。假如一个分区检测表中有1000条数据,那么这1000条数据的默认状态都是未迁移状态,由于迁移是异步操作,所以迁移状态的更新也是异步操作,假如第1-200条数据的状态为已迁移状态,第201-300条的数据为未迁移状态,第301-400的数据为已迁移状态,那么offset等于200,不能等于400,因为201-300的数据还是未迁移状态。向kafka提交偏移量offset意味着kafka主题分区中小于该offset的数据已经处理完毕,下次从kafka主题分区获取数据时就不会拿到已处理后的数据。
综上所述,本实施例利用kafka的消费者组特性启动多个元数据管理服务来订阅kafka的主题,以及利用kafka消费者组提供的可扩展且具有容错性的消费者机制,可以实现元数据管理服务具备线性扩展、高可靠、高可用的特点。
实施例2
本实施例提供了与实施例1所述方法相对应的系统的结构框图。图5是根据本实施例的基于kafka的数据管理系统的结构框图,如图5所示,该系统包括:
创建模块10,用于创建具有视频对象元数据的多个kafka主题队列;具体地,所述创建模块10包括:
创建单元11,用于根据预设存储周期的个数创建同等数量的kafka主题队列;
切片单元12,用于通过流媒体转发服务器视频对象切片处理获取视频对象元数据;
存储单元13,用于根据所述预设存储周期将所述视频对象元数据发送至对应的所述kafka主题队列;其中,所述视频对象元数据至少包括存储周期、转发服务UUID。
组建模块20,用于基于所述视频对象元数据的存储周期及转发服务UUID组建多个元数据缓存队列,以及基于所述kafka主题队列的主题名及分区号组建多个kafka分区检测线程服务。
读取模块30,用于通过元数据管理服务从所述kafka主题队列的分区读取目标视频对象元数据;具体地,所述读取模块30包括:
启动单元31,用于启动多个元数据管理服务订阅所述kafka主题队列;
分配单元32,用于将任一所述kafka主题队列的分区平均分配给多个所述元数据管理服务形成分区检测表;
读取单元33,用于通过所述元数据管理服务从所述kafka主题队列的分区读取目标视频对象元数据。
插入模块40,用于根据所述目标视频对象元数据的存储周期及转发服务UUID将其插入至对应的所述元数据缓存队列,并同时在所述kafka分区检测线程服务中插入一条记录;其中,所述记录包括偏移量、数据来源以及数据迁移状态,所述数据迁移状态包括待迁移状态和已迁移状态。
迁移模块50,用于根据迁移规则从所述元数据缓存队列中获取待迁移状态的视频对象,并通过参数输入迁移程序将所述待迁移状态的视频对象进行迁移;其中,所述参数包括存储周期、对象数量、转发服务UUID;
更新模块60,用于向所述元数据管理发送迁移结果,并通过所述元数据管理更新分区检测表;其中,所述迁移结果包括所述kafka主题队列的主题名、分区号及偏移量;
第一发送模块71,用于通过所述kafka分区检测线程服务定期扫描所述分区检测表,找寻已迁移状态的offset,并向kafka待迁移队提交偏移量。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
实施例3
本实施例所提供的一种基于kafka的数据管理方法,该方法与实施例1不同之处在于:在实施例1的S104步骤之后,本实施例的方法还包括:
S205:通过所述kafka分区检测线程服务将所述元数据缓存队列中已迁移状态的目标视频对象元数据发送至kafka已迁移队列,并经索引服务针对所述kafka已迁移队列整理时间轴。
实施例4
本实施例提供了与实施例3所述方法相对应的系统的结构框图,该结构框图与实施例2的不同之处在于:在实施例2的插入模块40之后,本实施例的系统还包括:
第二发送模块,用于通过所述kafka分区检测线程服务将所述元数据缓存队列中已迁移状态的目标视频对象元数据发送至kafka已迁移队列,并经索引服务针对所述kafka已迁移队列整理时间轴。
实施例5
本实施例所提供的一种基于kafka的数据管理方法,该方法与实施例1不同之处在于:在实施例1的S104步骤之后,本实施例的方法还包括:
S305:通过所述kafka分区检测线程服务基于所述元数据缓存队列中已迁移状态的目标视频对象元数据的转发服务UUID,将所述目标视频对象元数据发送至kafka删除队列,并通过流媒体转发服务器订阅所述kafka删除队列以清理视频对象。
实施例6
本实施例提供了与实施例5所述方法相对应的系统的结构框图,该结构框图与实施例2的不同之处在于:在实施例2的插入模块40之后,本实施例的系统还包括:
第三发送模块,用于通过所述kafka分区检测线程服务基于所述元数据缓存队列中已迁移状态的目标视频对象元数据的转发服务UUID,将所述目标视频对象元数据发送至kafka删除队列,并通过流媒体转发服务器订阅所述kafka删除队列以清理视频对象。
实施例7
结合图3所描述的基于kafka的数据管理方法可以由电子设备来实现。图6为根据本实施例的电子设备的硬件结构示意图。
电子设备可以包括处理器81以及存储有电子设备程序指令的存储器82。
具体地,上述处理器81可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请的一个或多个集成电路。
其中,存储器82可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器82可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器82可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器82可在数据处理装置的内部或外部。在特定实施例中,存储器82是非易失性(Non-Volatile)存储器。在特定实施例中,存储器82包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器82可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器81所执行的可能的电子设备程序指令。
处理器81通过读取并执行存储器82中存储的电子设备程序指令,以实现上述实施例1、实施例3及实施例5的基于kafka的数据管理方法。
在其中一些实施例中,电子设备还可包括通信接口83和总线80。其中,如图6所示,处理器81、存储器82、通信接口83通过总线80连接并完成相互间的通信。
通信接口83用于实现本申请中各模块、装置、单元和/或设备之间的通信。通信接口83还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线80包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。总线80包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(ControlBus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线80可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(FrontSide Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线80可包括一个或多个总线。尽管本申请描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该电子设备可以获取到基于kafka的数据管理系统,执行实施例1、实施例3及实施例5的基于kafka的数据管理方法。
另外,结合上述实施例1、实施例3及实施例5中的基于kafka的数据管理方法,本申请可提供一种存储介质来实现。该存储介质上存储有电子设备程序指令;该电子设备程序指令被处理器执行时实现上述实施例1、实施例3及实施例5的基于kafka的数据管理方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于kafka的数据管理方法,其特征在于,包括:
创建具有视频对象元数据的多个kafka主题队列;
基于所述视频对象元数据的存储周期及转发服务UUID组建多个元数据缓存队列,以及基于所述kafka主题队列的主题名及分区号组建多个kafka分区检测线程服务;
通过元数据管理服务从所述kafka主题队列的分区读取目标视频对象元数据;
根据所述目标视频对象元数据的存储周期及转发服务UUID将其插入至对应的所述元数据缓存队列,并同时在所述kafka分区检测线程服务中插入一条记录;其中,所述记录包括偏移量、数据来源以及数据迁移状态,所述数据迁移状态包括待迁移状态和已迁移状态;
根据迁移规则从所述元数据缓存队列中获取待迁移状态的视频对象,并通过参数输入迁移程序将所述待迁移状态的视频对象进行迁移;其中,所述参数包括存储周期、对象数量、转发服务UUID;
向所述元数据管理发送迁移结果,并通过所述元数据管理更新分区检测表;其中,所述迁移结果包括所述kafka主题队列的主题名、分区号及偏移量;
通过所述kafka分区检测线程服务定期扫描所述分区检测表,找寻已迁移状态的offset,并向kafka待迁移队提交偏移量;
所述通过元数据管理服务从所述kafka主题队列的分区读取目标视频对象元数据的步骤具体包括:
启动多个元数据管理服务订阅所述kafka主题队列;
将任一所述kafka主题队列的分区平均分配给多个所述元数据管理服务形成分区检测表;
通过所述元数据管理服务从所述kafka主题队列的分区读取目标视频对象元数据;
所述迁移规则具体为:
步骤一:遍历全部所述元数据缓存队列得到每一所述元数据缓存队列的积压数n,以及其对应的超时时间t;
步骤二:设置所述元数据缓存队列的最大超时时间t1,所述元数据缓存队列中的非本地迁移最小队列长度为n1;其中,所述非本地迁移具体指迁移程序与转发服务UUID不隶属同一机器;
步骤三:当符合触发条件:t>t1,则采用第一优先级原则从所述元数据缓存队列中获取处理积压时间最长的待迁移状态的视频对象;
当符合触发条件:迁移程序与转发服务UUID隶属同一机器,则采用第二优先级原则从所述元数据缓存队列中获取待迁移状态的视频对象;
当符合触发条件:n>n1,且迁移程序与转发服务UUID不隶属同一机器,则采用第三优先级原则从所述元数据缓存队列中获取处理队列长度最长的待迁移状态的视频对象;
步骤四:更新所述分区检测表,并将所述数据迁移状态由待迁移状态更改为迁移中状态。
2.根据权利要求1所述的基于kafka的数据管理方法,其特征在于,所述根据所述目标视频对象元数据的存储周期及转发服务UUID将其插入至对应的所述元数据缓存队列,并同时在所述kafka分区检测线程服务中插入一条记录的步骤之后,所述方法还包括:
通过所述kafka分区检测线程服务将所述元数据缓存队列中已迁移状态的目标视频对象元数据发送至kafka已迁移队列,并经索引服务针对所述kafka已迁移队列整理时间轴。
3.根据权利要求1所述的基于kafka的数据管理方法,其特征在于,所述根据所述目标视频对象元数据的存储周期及转发服务UUID将其插入至对应的所述元数据缓存队列,并同时在所述kafka分区检测线程服务中插入一条记录的步骤之后,所述方法还包括:
通过所述kafka分区检测线程服务基于所述元数据缓存队列中已迁移状态的目标视频对象元数据的转发服务UUID,将所述目标视频对象元数据发送至kafka删除队列,并通过流媒体转发服务器订阅所述kafka删除队列以清理视频对象。
4.根据权利要求1所述的基于kafka的数据管理方法,其特征在于,所述创建具有视频对象元数据的多个kafka主题队列的具体步骤包括:
根据预设存储周期的个数创建同等数量的kafka主题队列;
通过流媒体转发服务器视频对象切片处理获取视频对象元数据;
根据所述预设存储周期将所述视频对象元数据发送至对应的所述kafka主题队列;其中,所述视频对象元数据至少包括存储周期、转发服务UUID。
5.根据权利要求1-4任一项所述的基于kafka的数据管理方法,其特征在于,所述视频对象元数据包括对象ID、主机名、存储周期、转发服务UUID、文件路径、文件大小、开始时间及结束时间。
6.一种基于kafka的数据管理系统,其特征在于,包括:
创建模块,用于创建具有视频对象元数据的多个kafka主题队列;
组建模块,用于基于所述视频对象元数据的存储周期及转发服务UUID组建多个元数据缓存队列,以及基于所述kafka主题队列的主题名及分区号组建多个kafka分区检测线程服务;
读取模块,用于通过元数据管理服务从所述kafka主题队列的分区读取目标视频对象元数据;
插入模块,用于根据所述目标视频对象元数据的存储周期及转发服务UUID将其插入至对应的所述元数据缓存队列,并同时在所述kafka分区检测线程服务中插入一条记录;其中,所述记录包括偏移量、数据来源以及数据迁移状态,所述数据迁移状态包括待迁移状态和已迁移状态;
迁移模块,用于根据迁移规则从所述元数据缓存队列中获取待迁移状态的视频对象,并通过参数输入迁移程序将所述待迁移状态的视频对象进行迁移;其中,所述参数包括存储周期、对象数量、转发服务UUID;
更新模块,用于向所述元数据管理发送迁移结果,并通过所述元数据管理更新分区检测表;其中,所述迁移结果包括所述kafka主题队列的主题名、分区号及偏移量;
第一发送模块,用于通过所述kafka分区检测线程服务定期扫描所述分区检测表,找寻已迁移状态的offset,并向kafka待迁移队提交偏移量;
所述读取模块包括:
启动单元,用于启动多个元数据管理服务订阅所述kafka主题队列;
分配单元,用于将任一所述kafka主题队列的分区平均分配给多个所述元数据管理服务形成分区检测表;
读取单元,用于通过所述元数据管理服务从所述kafka主题队列的分区读取目标视频对象元数据;
所述迁移规则具体为:
步骤一:遍历全部所述元数据缓存队列得到每一所述元数据缓存队列的积压数n,以及其对应的超时时间t;
步骤二:设置所述元数据缓存队列的最大超时时间t1,所述元数据缓存队列中的非本地迁移最小队列长度为n1;其中,所述非本地迁移具体指迁移程序与转发服务UUID不隶属同一机器;
步骤三:当符合触发条件:t>t1,则采用第一优先级原则从所述元数据缓存队列中获取处理积压时间最长的待迁移状态的视频对象;
当符合触发条件:迁移程序与转发服务UUID隶属同一机器,则采用第二优先级原则从所述元数据缓存队列中获取待迁移状态的视频对象;
当符合触发条件:n>n1,且迁移程序与转发服务UUID不隶属同一机器,则采用第三优先级原则从所述元数据缓存队列中获取处理队列长度最长的待迁移状态的视频对象;
步骤四:更新所述分区检测表,并将所述数据迁移状态由待迁移状态更改为迁移中状态。
7.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的电子设备程序,其特征在于,所述处理器执行所述电子设备程序时实现如权利要求1至5中任一项所述的基于kafka的数据管理方法。
8.一种存储介质,其上存储有电子设备程序,其特征在于,该程序被处理器执行时实现如权利要求1至5中任一项所述的基于kafka的数据管理方法。
CN202310906198.9A 2023-07-24 2023-07-24 基于kafka的数据管理方法、系统、电子设备及存储介质 Active CN116661705B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310906198.9A CN116661705B (zh) 2023-07-24 2023-07-24 基于kafka的数据管理方法、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310906198.9A CN116661705B (zh) 2023-07-24 2023-07-24 基于kafka的数据管理方法、系统、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116661705A CN116661705A (zh) 2023-08-29
CN116661705B true CN116661705B (zh) 2023-10-20

Family

ID=87728221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310906198.9A Active CN116661705B (zh) 2023-07-24 2023-07-24 基于kafka的数据管理方法、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116661705B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116980641B (zh) * 2023-09-22 2023-12-15 江西云眼视界科技股份有限公司 视频迁移的异步处理方法、系统、计算机及存储介质
CN117156172B (zh) * 2023-10-30 2024-01-16 江西云眼视界科技股份有限公司 视频切片上报方法、系统、存储介质及计算机
CN117453759B (zh) * 2023-12-19 2024-04-02 深圳竹云科技股份有限公司 业务数据处理方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971686A (zh) * 2019-11-29 2020-04-07 湖南御家科技有限公司 一种支持高并发、高可用的电子商城客服系统
CN114064211A (zh) * 2021-11-15 2022-02-18 湖北公众信息产业有限责任公司 一种基于端-边-云计算架构的视频流分析系统及方法
CN114116908A (zh) * 2021-12-01 2022-03-01 中国建设银行股份有限公司 一种数据管理方法、装置及电子设备
CN115150471A (zh) * 2022-06-27 2022-10-04 北京百度网讯科技有限公司 数据处理方法、装置、设备、存储介质及程序产品

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11765109B2 (en) * 2020-06-09 2023-09-19 Jpmorgan Chase Bank, N.A. Method and system for providing resiliency in interaction servicing across data centers
US11605288B2 (en) * 2020-11-30 2023-03-14 Whp Workflow Solutions, Inc. Network operating center (NOC) workspace interoperability

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971686A (zh) * 2019-11-29 2020-04-07 湖南御家科技有限公司 一种支持高并发、高可用的电子商城客服系统
CN114064211A (zh) * 2021-11-15 2022-02-18 湖北公众信息产业有限责任公司 一种基于端-边-云计算架构的视频流分析系统及方法
CN114116908A (zh) * 2021-12-01 2022-03-01 中国建设银行股份有限公司 一种数据管理方法、装置及电子设备
CN115150471A (zh) * 2022-06-27 2022-10-04 北京百度网讯科技有限公司 数据处理方法、装置、设备、存储介质及程序产品

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种分布式消息队列研究与测试;于金良;朱志祥;李聪颖;;物联网技术(第08期);全文 *

Also Published As

Publication number Publication date
CN116661705A (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
CN116661705B (zh) 基于kafka的数据管理方法、系统、电子设备及存储介质
CN109947668B (zh) 存储数据的方法和装置
US10454864B2 (en) Delivering messages from message sources to subscribing recipients
US9804981B2 (en) Method, controller, and system for service flow control in object-based storage system
US8463846B2 (en) File bundling for cache servers of content delivery networks
CN112578997B (zh) 一种数据迁移方法、系统及相关设备
EP3985932A1 (en) Method and apparatus for node speed limiting, electronic device, and storage medium
CN110546923A (zh) 可扩展实时消息传送系统中的消息的选择性分发
BR112014000597B1 (pt) Método e sistema para download de arquivo multimídia
CN113485822A (zh) 内存管理方法、系统、客户端、服务器及存储介质
CN109328331B (zh) 用于异步存储服务的自组织存储系统
CN112965839B (zh) 消息传输方法、装置、设备及存储介质
CN111522786A (zh) 日志处理系统及方法
CN110572422A (zh) 数据下载方法和装置
CN108415962A (zh) 一种云存储系统
CN113485962A (zh) 日志文件的存储方法、装置、设备和存储介质
CN114390451A (zh) 基于消息队列的5g消息批量发送方法、装置及电子设备
CN111124270A (zh) 缓存管理的方法、设备和计算机程序产品
KR20100048315A (ko) 캐시서버를 이용한 컨텐츠 전송시스템 및 방법, 그 캐시서버
US9578120B1 (en) Messaging with key-value persistence
CN108833200A (zh) 一种大数据文件自适应单向传输方法及装置
CN112433848A (zh) 资源处理方法、装置、存储介质和缓存服务器
US8805942B2 (en) Storing and partitioning email messaging data
WO2023010948A1 (zh) 云桌面数据的迁移方法、业务节点、管理节点、服务器、电子设备和计算机可读存储介质
CN113296714B (zh) 一种基于nas协议的数据存储系统

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