CN114281258A - 基于数据存储的业务处理方法、装置、设备和介质 - Google Patents

基于数据存储的业务处理方法、装置、设备和介质 Download PDF

Info

Publication number
CN114281258A
CN114281258A CN202111580612.9A CN202111580612A CN114281258A CN 114281258 A CN114281258 A CN 114281258A CN 202111580612 A CN202111580612 A CN 202111580612A CN 114281258 A CN114281258 A CN 114281258A
Authority
CN
China
Prior art keywords
target
data
gateway
node
stored
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
CN202111580612.9A
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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202111580612.9A priority Critical patent/CN114281258A/zh
Publication of CN114281258A publication Critical patent/CN114281258A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本公开提供了一种基于数据存储的业务处理方法、装置、系统、电子设备、介质和程序。该方法包括:目标网关接收写请求,所述写请求包括目标数据、用于表征所述目标数据的业务处理类型的目标标识和用于存储所述目标数据的存储节点标识;确定与所述目标标识相应的目标业务节点;所述目标网关将所述目标数据发送至所述目标业务节点,以对所述目标数据进行业务处理;以及所述目标网关将所述目标数据发送至与所述存储节点标识相应的目标存储节点。

Description

基于数据存储的业务处理方法、装置、设备和介质
技术领域
本公开涉及数据处理技术领域,尤其涉及一种基于数据存储的业务处理方法、装置、设备和介质。
背景技术
对象存储系统已经广泛的应用在当前的云计算领域。现在几乎所有的数据包括图片、视频、办公文档等,都存储在以云服务形态提供的或者自建的对象存储系统中。
现有的对象存储系统仅仅是存放数据的平台,但如何更好的为企业的业务提供数据服务,才是数据增值的核心。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种基于数据存储的业务处理方法、装置、系统、电子设备、计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种基于数据存储的业务处理方法,包括:目标网关接收写请求,所述写请求包括目标数据、用于表征所述目标数据的业务处理类型的目标标识和用于存储所述目标数据的存储节点标识;确定与所述目标标识相应的目标业务节点;所述目标网关将所述目标数据发送至所述目标业务节点,以对所述目标数据进行业务处理;以及所述目标网关将所述目标数据发送至与所述存储节点标识相应的目标存储节点。
根据本公开的另一方面,还提供一种基于数据存储的业务处理装置,包括:至少一个网关,包括目标网关,所述目标网关被配置用于接收写请求,所述写请求包括目标数据、用于表征所述目标数据的业务处理类型的目标标识和用于存储所述目标数据的存储节点标识;以及控制器,被配置用于确定与所述目标标识相应的目标业务节点,其中,所述目标网关还被配置用于将所述目标数据发送至所述目标业务节点,以对所述目标数据进行业务处理,并且其中,所述目标网关还被配置用于将所述目标数据发送至与所述存储节点标识相应的目标存储节点。
根据本公开的另一方面,还提供一种基于数据存储的业务处理系统,包括:上述的业务处理装置;以及至少一个业务节点,包括目标业务节点,所述目标业务节点被配置用于从目标网关接收目标数据,并对所述目标数据进行业务处理。
根据本公开的另一方面,还提供一种基于数据存储的业务处理系统,包括:上述的业务处理装置;至少一个业务节点,包括目标业务节点,所述目标业务节点被配置用于从目标网关接收目标数据,并对所述目标数据进行业务处理;以及至少一个存储节点,包括目标存储节点,所述目标存储节点并被配置用于从所述目标网关接收并存储所述目标数据。
根据本公开的另一方面,还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有计算机程序,所述计算机程序在被所述至少一个处理器执行时实现根据上述的方法。
根据本公开的另一方面,还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被处理器执行时实现根据上述的方法。
根据本公开的另一方面,还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现根据上述的方法。
根据本公开的一个或多个实施例,通过创建基于存储驱动的服务注册方法,将业务服务的智能化处理与对象存储系统的组件进行融合,并且创建基于存储驱动的架构设计及实现方法,采用存储驱动业务的方式,对业务生态进行分析和抽象,实现在上传文件数据到对象存储系统的同时对数据进行处理以提供对外服务,从而提供更好的数据业务的实时性和可用性,最大化地减轻系统的传输带宽。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开实施例的基于数据存储的业务处理系统的架构图;
图2示出了根据本公开实施例的基于数据存储的业务处理方法的流程图;
图3示出了根据本公开实施例的基于数据存储的业务处理方法的流程图;
图4示出了根据本公开实施例的基于数据存储的业务处理的过程示意图;
图5示出了根据本公开实施例的基于数据存储的业务处理方法的流程图;
图6示出了根据本公开实施例的基于数据存储的业务处理的过程示意图;
图7示出了根据本公开实施例的基于数据存储的业务处理方法的流程图;
图8示出了根据本公开实施例的基于数据存储的业务处理的过程示意图;
图9示出了根据本公开实施例的基于数据存储的业务处理装置的框图;
图10示出了根据本公开实施例的基于数据存储的业务处理系统的框图;
图11示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
发明人注意到,业务解耦是降低软件复杂性的一种手段,对象存储系统的业务服务体系也没有例外。相关技术中所有对象存储系统和对外服务均是一个割裂的过程。所有业务服务都基于一种前提,数据必须提前存储在系统中,业务服务才能进行数据的访问。这导致了很多业务不能够及时地访问数据、甚至重复地读取数据,进而降低了业务实现的实时性,并且增加了系统内部的网络传输带宽,给服务器增加了压力,增加了可用性上的风险。因此一些需要在数据上传的过程中对数据进行实时处理的业务无法实现,诸如视频上传过程中的安全监测、视频上传过程中截取预览图、图片上传过程中自动加水印、视频上传过程中的转码等。以视频网站的视频转码服务为例,目前所有对象存储系统都是在用户将视频文件完成上传后,才开启后台的转码服务。这一方面使得转码业务有比较长的延迟,另外一方面不同码率的转码需要多次读取视频文件数据,给存储系统引入了一定的负载。
为了解决上述技术问题,根据本公开的一个或多个实施例,提出一种新的基于数据存储的业务处理方法。
该方法与相关技术中基于业务层主动使用对象存储的思路相反,采用了存储驱动业务的方法,对业务生态进行了分析和抽象,通过抽象层实现自文件开始上传时衔接业务处理的目的,以解决只能在文件数据上传完毕后,才能对外提供服务的问题。另外,该方法还采用服务注册的方式,将业务的智能化处理与对象存储系统的组件进行了融合,这样可以使一些比较常用的业务非常方便地接入基于存储驱动的对象存储系统中,而不需要在业务层实现一套非常复杂的业务处理逻辑。
总体来看,本公开提出的一种新的基于数据存储的业务处理方法,实现了在上传文件数据到对象存储系统的同时,对数据进行处理以提供对外服务,从而可以提供更好的数据业务实时性和可用性,极大地减轻系统的传输带宽。
可以理解的,本公开实施例中以对象存储系统为例来具体描述本公开的技术方案,并不限定本公开的技术方案仅适用于对象存储系统。
图1示出了根据本公开实施例的基于数据存储的业务处理系统100的架构图。业务处理系统100可以包括以下组件:
至少一个网关(Gateway)104,是无状态且高可用的,用来对接用户的业务请求。网关104最主要的两个重要接口就是数据的读和写。网关104实现的接口,通过http协议处理和转发读/写请求102,并与后端进行通信。根据一些实施例,网关104会有提供服务的能力。服务类型包括但不限于视频转码、媒体智能、格式转换、文字识别、视频预览、画质增强等;
流量复制模块(ReqReplay)106,负责流量复制进程,通过http协议对网关接收到的读/写请求102进行复制。流量复制模块106可以单独被设置,也可以集成在网关104中;
缓存(Cache)108,用来缓存读/写请求102中的数据,可以使用sdd或者nvme来加快读取或写入的速度;
网关管理器(Gateway Monitor)110,是无状态且高可用的服务,负责至少一个网关104和至少一个计算节点112的衔接和调度。网关管理器110的作用包括且不限于计算服务注册的管理、计算脚本的分发、计算节点112的调度等;
至少一个计算节点(Compute Node)112,拥有计算资源(通常为内存、cpu和gpu等)。计算节点112接收网关管理器110分配的脚本,对数据进行处理,以执行某种计算任务;
储存节点(Storage Node)114用于存储数据,通常一个存储节点上有多块磁盘,同时有一个进程负责整个存储节点114的数据读写;
元数据服务(MDS)节点116,一般是有状态、高可用且强一致的,用来存储用户Bucket和Object相关的元数据信息。
图2示出了根据本公开实施例的基于数据存储的业务处理方法200的流程图。
如图2所示,该方法包括:步骤S210、目标网关接收写请求,写请求包括目标数据、用于表征目标数据的业务处理类型的目标标识和用于存储目标数据的存储节点标识;步骤S220、确定与目标标识相应的目标业务节点;步骤S230、目标网关将目标数据发送至目标业务节点,以对目标数据进行业务处理;步骤S240、目标网关将目标数据发送至与存储节点标识相应的目标存储节点。
由此,通过网关实现在数据存储过程中自数据上传的时刻开始即与业务进行衔接,从而能够实时的利用数据上传的过程,减少业务服务的时间,减轻内部的流量负载。
在一些实施例中,目标数据为用户待上传的文件对象,例如视频、图片、音频等等。
在一些实施例中,目标标识代表了目标数据的业务处理类型,可以通过识别目标标识,实现在上传目标数据到对象存储系统的同时,确定目标数据的业务处理类型,以便于并行地对目标数据进行相应的业务处理,提升业务处理的时效性。存储节点标识用于标记用于存储目标数据的存储节点。
根据一些实施例,目标标识为能够表征业务处理类型的类别标识或者目标存储节点的业务属性信息。本公开中的业务处理方法可以提供两种服务的方式:网关通过注册从而被赋予一种服务能力,或用户的bucket允许被配置一定服务属性,用户写数据的时候,可以把bucket的数据(包括服务属性)添加到写请求中。
在一些实施例中,目标网关具备与目标标识相应的业务服务能力。目标网关具备相应的业务服务能力可以是指根据数据的业务处理类型对网关进行功能上的划分,使得网关与数据的业务处理类型相关联,即某一业务处理类型的数据发送至相关联的网关,换言之,当某一网关接收到数据时即可知道该数据的业务处理类型。根据本公开的一些实施例,可以通过服务注册机制来设置具有业务服务能力的网关。以下介绍本公开一些实施例中的服务注册机制。
传统的对象存储系统中的网关是无状态且高可用,并且是无差别的。而本公开实施例中的网关,会有提供服务的角色。数据的业务处理类型例如可以但不限于包括视频转码、媒体智能、格式转换、文字识别、视频预览、画质增强等,相应的,网关的业务服务类型例如可以但不限于包括视频转码、媒体智能、格式转换、文字识别、视频预览、画质增强等。在一些实施例中,在系统初始化时,配置网关和用于表征数据业务处理类型的标识之间的关联关系,以及业务节点和用于表征数据业务处理类型的标识之间的关联关系。当网关具备一种或多种业务服务能力时,目标标识可以是业务处理类型的类别标识。具体地,网关在网关管理器处进行注册,从而获取业务服务能力。网关管理器具备服务注册的功能,每种服务对应一种业务处理类别,例如视频产生预览图、网络截图、视频转码、视频流鉴黄等。通过在网关管理器处进行注册,可以给一个网关注册一个轻量或重量的业务服务能力,也可以给一个网关注册所有的业务服务能力,在后续分配的时候选择其中的一个功能。相应地,用户在写数据时,可以在写请求http的header中标记业务类别标识。在一些实施例中,可以在网关外围接nginx,将网关添加到nginx的配置中,这样nginx就可以根据数据的业务处理类型访问后台某些网关。nginx代理对接收到写请求http的header进行解析,将目标数据转发至具备相应业务服务能力的目标网关,而不会转发至不具备相应业务服务能力的目标网关。
在一些实施例中,当对象存储系统的Bucket(即存储节点)被配置为具有一定服务属性时,目标标识可以是目标存储节点的业务属性信息。Bucket配置服务属性的过程如下,在系统初始化时,配置目标存储节点的业务属性信息,业务属性信息与业务处理类型相关联。通过该配置方法,Bucket可以具有业务属性信息。用户写数据的时候,可以把目标Bucket的数据(例如可以包括业务属性信息)传递到单个的写请求中。例如写请求中可以包括目标Bucket的名称和ID。网关通过解析写请求中的目标Bucket的名称和ID能够确定目标Bucket的业务属性信息,从而确定要对目标数据进行的业务处理类型和后续的计算任务。根据已知的业务处理类型,网关管理器分配具有相应服务能力的网关以执行服务。
上述的业务处理类型可以但不限于包括视频转码、媒体智能、格式转换、文字识别、视频预览、画质增强等。这些业务处理类型具有较高的实时性和低延迟要求,往往需要在上传对象存储系统的同时对数据进行处理。
在一些实施例中,网关接收写请求后,通过外接的nginx的lua脚本文件对写请求中http的header进行解析,从而得到写请求中用于表示业务处理类型的目标标识。根据该业务处理类型的目标标识,将写请求发送至具有相应的业务服务能力的目标网关,不具备相应业务服务能力的网关将不会接收到该写请求。
在步骤S220中,确定与目标标识相应的目标业务节点。目标业务节点是执行相应业务处理类型的计算节点,目标业务节点由网关管理器进行分配。目标业务节点例如可以对上传的视频数据进行视频转码、媒体智能、格式转换、文字识别、视频预览、画质增强等计算处理。本公开的实施例中,目标业务节点可以从流量复制模块、缓存或者存储节点获取目标数据,该过程取决于业务处理类型和目标业务节点的业务处理能力,具体将在下面内容中描述。
在步骤S230中,目标网关将目标数据发送至目标业务节点,以对所述目标数据进行业务处理。业务处理成功后生成的新数据将被存入对象存储系统,然后网关对元数据服务节点进行更新。
根据一些实施例,目标网关与目标数据的业务处理类型相关联,目标业务节点与目标网关集成在一起。也就是说,业务计算节点可以配置在网关上,从而可以在网关处直接进行相应业务处理,例如针对视频截取预览、音频文件提取元数据、计算文件的md5等计算资源消耗不大的业务。
根据另一些实施例,对于转码等需要消耗大量计算资源,耗时为分钟级的业务需要独立配置业务计算节点,由网关管理器调度业务计算节点进行相应业务处理。
在步骤S240中,目标网关将目标数据发送至与存储节点标识相应的目标存储节点。目标存储节点存储目标数据,响应于确定目标数据已存储至目标存储节点,目标网关将目标数据的元数据记录在元数据服务节点,从而在完成存储后对对象存储系统的元数据服务节点进行更新,完成目标数据的存储。元数据服务节点用来存储用户bucket和object相关的元数据信息。
在一些实施例中,该方法还可以包括:在目标网关接收写请求之后,对目标数据进行复制,以得到目标数据的副本数据,其中,目标网关将副本数据发送至目标业务节点。也就是说,在目标网关接收到目标数据之后,对目标数据进行复制,以得到目标数据的副本数据。在后续的计算任务中,目标业务节点从流量复制模块中获取副本数据。目标业务节点从流量复制模块中获取副本数据的方式是读取数据最快的方式,因此可以提高业务处理的速度,该方式适用于处理业务速度快,实时性要求高的场景。
根据一些实施例,目标网关通过以下方式中的其中一种将副本数据发送至目标业务节点:目标业务节点主动拉取副本数据;和目标网关将副本数据推送至目标业务节点。采用拉取的方式,计算节点(即目标业务节点)主动从流量复制模块或者缓存中拉取数据。优选从流量复制模块拉取数据以提升获取数据的速度。拉取的方式可以使计算节点根据自己的负载合理的生成计算任务,但会对计算任务的完成产生一定的延迟,网关中可能会积压一部分写请求。采用推送的方式,流量复制模块主动将数据推送到计算节点上。推送的方式实时性比较好,有利于清空流量复制模块中的写请求,但是可能无法充分利用计算节点的计算资源,并且存在推送失败的情况。
在一些实施例中,该方法还可以包括:至少基于写请求中的目标标识,确定是否满足预设条件。可以响应于满足预设条件,将写请求中目标数据的副本数据存储至缓存。在不同业务类型和系统负载的场景下,在缓存中写入副本数据,能够避免数据的拥堵和因数据被覆盖所造成的数据缺失。
在一些实施例中,上述至少基于写请求中的目标标识,确定是否满足预设条件包括:获取目标业务节点的业务处理能力参数和/或网络资源数据,基于目标业务节点的业务处理能力参数和/或网络资源数据,确定是否满足预设条件。也就是说,根据服务注册的种类来决策,经过复制的写请求是否需要写入到缓存中。目标业务节点的业务处理能力参数可以包括处理数据的速度,网络资源数据可以包括待写入的数据量或写数据的速度。在流量复制进程中,如果处理数据的速度不够快,处理数据的速度小于或远小于写入数据的速度时(例如写入数据只需要10秒,但是处理数据需要100秒),容易引起数据流的拥堵和因数据流被覆盖所造成的数据缺失。在这种情况下,可以使用缓存来存储部分溢出的副本数据,作为数据的缓冲,从而避免数据流的拥堵和数据的缺失。
根据一些实施例,网关可以被配置以具有动态监测感知和决策模块,该模块可以根据处理数据的速度和写入数据的速度动态自适应地调节流量复制的数据和写入缓存的数据之间的比例。当处理数据的速度大于写入数据的速度时(例如截图周期较长的视频截图任务),将数据全部进行流量复制,而不写入缓存;当处理数据的速度小于或等于写入数据的速度时(例如截图周期较短的视频截图任务,或转码速度较快的视频转码任务),将部分数据进行流量复制,将部分数据写入缓存;当处理数据的速度远小于写入数据的速度时(例如转码速度很慢的视频转码任务),将全部数据写入缓存。通过动态监测感知和决策模块,可以在保证数据处理质量的情况下,尽可能地提高数据处理的速度。
根据一些实施例,该方法还可以包括:目标网关获取目标业务节点对副本数据的处理结果,处理结果包括处理成功和处理失败;以及目标网关记录副本数据的处理结果。根据目标网关记录的处理结果,在处理成功后更新元数据服务节点,或者在处理失败后,由网关记录失败的计算任务,然后重试以执行计算任务。
根据一些实施例,该方法还可以包括:至少响应于确定目标业务节点对副本数据处理失败并且确定待存储数据已全部存储至目标存储节点,目标网关从目标存储节点读取待存储数据并将所读取的待存储数据发送至目标业务节点,目标数据为待存储数据的一部分。在该实施例的方法中,在副本数据处理失败且待存储数据已全部存储至目标存储节点的情况下,目标业务节点直接而不需要进行判断地从目标存储节点中读取待存储数据,然后进行数据处理完成相应的业务。该直接读取待存储数据的方式可以加快业务处理的速度。
根据一些实施例,至少响应于确定目标业务节点对副本数据处理失败并且确定待存储数据已全部存储至目标存储节点,目标网关从目标存储节点读取待存储数据并将所读取的待存储数据发送至目标业务节点包括:响应于确定目标业务节点对副本数据处理失败,确定是否重试;以及响应于确定重试并且确定待存储数据已全部存储至目标存储节点,目标网关从目标存储节点读取待存储数据并将所读取的待存储数据发送至目标业务节点。在该实施例的方法中,在副本数据处理失败,确定需要重试且待存储数据已全部存储至目标存储节点的情况下,目标业务节点才从目标存储节点中读取待存储数据,然后进行数据处理完成相应的业务。通过判断是否需要重试,该方法可以适用于不同的应用场景。
根据一些实施例,该方法还可以包括:至少响应于确定目标业务节点对副本数据处理失败并且确定待存储数据已全部存储至目标存储节点,确定目标业务节点是否从缓存中读取到待存储数据。其中,响应于确定目标业务节点未从缓存读取到待存储数据,目标网关从目标存储节点读取待存储数据并将所读取的待存储数据发送至目标业务节点。在该实施例的方法中,目标业务节点优先从缓存读取待存储数据,该读取方式的速度快于从目标存储节点读取待存储数据的速度,因此可以更快地获取数据,加快业务处理的速度。当未从缓存读取到数据之后,才从存储节点读取数据。
以下结合图3和图4描述根据本公开实施例的基于数据存储的业务处理方法300和业务处理过程400。在该业务处理方法中,目标数据以流式传输的方式上传至目标网关。基于数据流的驱动模式适用于业务对实时性要求比较高,并且对数据流的处理又比较快的场景。例如,对短视频的转码,媒体智能中的鉴黄,视频流中对预览图的截取等。
如图3所示,上述基于数据存储的业务处理方法300包括下述步骤:
步骤S310、网关404接收到用户的写请求,并通过流量复制模块406进行流量复制。从而实现在上传目标数据到对象存储系统的同时,异步地使用流量复制所得的副本数据进行业务处理。并且在基于数据流的业务驱动模式下,目标业务节点412直接从流量复制模块406读取需要处理的数据,该读取数据的速度最快,适用于目标业务节点412处理业务速度快,实时性要求高的场景。
步骤S320、至少根据服务注册的类型进行决策,以确定经过复制的写请求是否需要写入到缓存408中。例如在流量复制模块406的流量复制进程中,如果目标业务节点412处理数据的速度不够快,例如处理数据的速度小于或远小于写入数据的速度时(例如写入数据只需要10秒,但是处理数据需要100秒),容易引起数据流的拥堵和因数据流被覆盖所造成的数据缺失。在这种情况下,可以使用缓存408来存储部分溢出的副本数据,作为数据的缓冲,从而避免数据流的拥堵和数据的缺失。相反,如果目标业务节点412处理数据的速度足够快,处理数据的速度大于或远大于写入数据的速度时(例如写入数据需要100秒,但是处理数据只需要10秒),则不需要将副本数据存入缓存408。通过决策经过复制的写请求是否需要写入到缓存408中,可以根据实际应用的场景做出调整,以在保证数据处理质量的情况下,尽可能地提高数据处理的速度。
步骤S330、流量复制模块406与网关管理器410交互,选择一个计算节点412(即目标业务节点)来执行计算任务。其中,计算节点412的分配与调度由网关管理器410实现。
步骤S340、网关管理器410将计算脚本发送至计算节点412。
步骤S350、流量复制模块406根据注册的服务决策采用拉取422的方式或者推送420的方式将数据流推到计算节点412上。在一些实施例中,采用拉取422的方式,计算节点412主动从流量复制模块406或者缓存408中拉取数据。优选从流量复制模块406拉取数据以提升获取数据的速度。拉取的方式可以使计算节点412根据自己的负载合理的生成计算任务,但会对计算任务的完成产生一定的延迟,网关404中可能会积压一部分写请求。在一些实施例中,采用推送420的方式,流量复制模块406主动将数据流推送到计算节点412上。推送的方式实时性比较好,有利于清空流量复制模块406中的写请求,但是可能无法充分利用计算节点的计算资源,并且可能存在推送失败的情况。
步骤S360、计算节点412结合所获取的数据流和计算脚本,运行计算任务,并异步地返回给网关404计算任务执行成功的脚本。
步骤S370、如果异步计算任务在执行过程中失败,则由网关404记录失败的计算任务。
步骤S380、根据服务的类别确定是否需要重试。
其中,根据服务的类别确定是否需要重试可以包括:根据业务处理类型允许的失败率确定是否需要重试,例如对失败率敏感度高的进行重试,对失败率敏感度不高的不进行重试。如果需要重试,则等待用户的文件的对象上传成功后,走直接读取流程,重新派发计算任务。在确定重试之后,计算节点412先从缓存408中读取目标数据,从而提升数据读取的速度,如果从缓存408中读取目标数据失败,则从目标存储节点读取目标数据。获取到目标数据后,计算节点412对目标数据进行处理。基于上述重试的方法,虽然具有一定的延迟,但是从目标存储节点读取目标数据的方式至少能保证完成计算任务,实现存储驱动业务模式。
可以理解的,业务处理方法300不局限于仅适用于对流式上传的数据流的处理,例如还可以适用于对分片上传的数据分片的处理。
以上内容中结合一个具体实施例介绍了基于数据存储的业务处理方法,需要说明的,本公开实施例中的业务处理方法并不局限于上述一种实现方式,下面将结合另一具体实施例介绍了基于数据存储的业务处理方法,具体为,目标数据为分片上传的数据分片时,业务处理的具体过程。
根据一些实施例,目标数据可以为待存储数据的一个数据分片。在这种情况下,该方法可以包括:响应于确定目标数据已存储至目标存储节点的消息,目标网关将目标数据的存储成功消息写入数据总线,存储成功消息包括待存储数据的数据标识和目标数据的分片标识。其中,目标网关将目标数据发送至目标业务节点包括:响应于接收到目标业务节点的读请求,目标网关从目标存储节点读取目标数据并将所读取的目标数据发送至目标业务节点。由此,通过获取分片数据存储成功的消息,可以单独读取已完成上传的数据分片并进行后续的业务处理,实现在上传数据的同时处理数据。
根据一些实施例,当目标数据为待存储数据的一个数据分片时,该方法还可以包括:在目标网关接收写请求之后,对目标数据进行复制,以得到目标数据的副本数据,目标网关将副本数据存储至缓存。以这种方式,目标网关在将数据分片写入到目标储存节点的同时,异步地将数据分片写入到缓存中,后续目标业务节点可以选择从缓存中读取分片数据,从而加快目标数据的读取速度。
根据一些实施例,当目标数据为待存储数据的一个数据分片时,目标网关将目标数据发送至目标业务节点包括:响应于确定目标业务节点未从缓存中读取到副本数据,目标网关从目标存储节点读取目标数据并将所读取的目标数据发送至目标业务节点。因为目标业务节点从缓存中读取副本数据的速度比从目标存储节点读取目标数据的速度更快,因此目标业务节点优先从缓存中读取数据,以加快后续业务处理的速度。当无法从缓存中读取数据时,目标业务节点才从目标存储节点读取目标数据。
根据一些实施例,当目标数据为待存储数据的一个数据分片时,该方法还可以包括:目标网关获取目标业务节点对将目标数据的处理结果,处理结果包括处理成功和处理超时;以及目标网关记录目标数据的处理结果。随后根据目标网关记录的处理结果,在处理成功后更新元数据服务节点,或者在处理失败后,计算节点后期等待分片文件上传完毕后再次进行全量读取。
根据一些实施例,当目标数据为待存储数据的一个数据分片时,该方法还可以包括:响应于确定目标业务节点对目标数据的处理超时,确定待存储数据是否已全部存储至目标存储节点;响应于确定待存储数据已全部存储至目标存储节点,目标网关从目标存储节点读取待存储数据并将所读取的待存储数据发送至目标业务节点。在该实施例的方法中,在业务处理超时,等待数据分片的上传完成。在待存储数据已全部存储至目标存储节点的情况下,目标业务节点直接从目标存储节点中读取待存储数据,然后进行数据处理完成相应的业务。该直接读取待存储数据的方式可以加快业务处理的速度,并且实现存储驱动。
根据一些实施例,当目标数据为待存储数据的一个数据分片时,在该方法中,当目标网关将副本数据存储至缓存时,响应于确定目标业务节点未从缓存中读取到待存储数据,目标网关从目标存储节点读取待存储数据并将所读取的待存储数据发送至目标业务节点。因为目标业务节点从缓存中读取待存储数据的速度比从目标存储节点读取待存储数据的速度更快,因此目标业务节点优先从缓存中读取数据,以加快后续业务处理的速度。当无法从缓存中读取数据时,目标业务节点才从目标存储节点读取目标数据。
以下结合图5和图6描述根据本公开实施例的基于数据存储的业务处理方法500和业务处理过程600。在该业务处理方法中,目标数据为待存储数据的一个数据分片。相比基于数据流的业务驱动模式,基于分片上传的业务驱动模式适用于业务对实时性要求比较低的场景。例如,截图周期较长的视频截取预览图。基于分片上传的业务驱动与基于数据流的业务驱动不同地方还在于文件上传过程的快速读写不是基于数据流,而是基于S3协议中对分片上传的改造。在现有的S3协议中,对象存储系统只有等分片上传接收到CompleMultipartUpload接口以后,即所有分片上传结束后,数据才能够开始读取。而本公开实施例对对象存储系统进行了改进,使得只要文件的单个分片上传完毕,就可以通过标准的range读接口进行数据的读取。如果单个分片没有上传完毕,则返回404,由客户端进行重试。
业务端和对象存储后端就单个分片上传成功的消息,通过数据总线(databus)618进行交互。对象存储每次执行PutObjectPart成功后,就发送一个消息到数据总线618,告知某个文件某个分片的数据已经可读,随后业务端从数据总线读取分片存储成功的消息,进而发送range读请求到对象存储系统中获取该分片进行业务处理。
如图5所示,上述基于数据存储的业务处理方法500包括下述步骤:
步骤S510、网关604接收到用户的写请求,先通过NewMultipartUpload进行分片上传的初始化。本公开实施例对NewMultipartUpload进行初始化时,会赋予上传的文件一个唯一的upload ID,元数据服务节点中存有该唯一标识的ID信息。一个文件对应一个uploadID,文件的一个分片具有该upload ID下的不同编号。
步骤S520、网关604通过网关管理器610获取一个计算节点612,并且将计算脚本发送至该计算节点612,该计算节点612轮询地从数据总线618中读取已经上传成功的分片消息。
步骤S530、网关604处理PutObjectPart请求,将数据分片写入到储存节点614中,并且在元数据服务节点中记录分片元数据。可选地,在目标网关604接收到目标数据之后,可以对目标数据进行复制,以得到目标数据的副本数据,随后目标网关604将副本数据存储至缓存608。以这种方式,网关604在数据分片写入到储存节点614的同时,异步地将数据分片写入到缓存608中,从而可以加快后续目标业务节点612读取分片数据的速度。
步骤S540、网关604将PutObjectPart的消息写入到数据总线618中。具体地,响应于确定目标数据已存储至目标存储节点614的消息,目标网关604将目标数据的存储成功消息写入数据总线618,存储成功消息包括待存储数据的数据标识和目标数据的分片标识。后续计算节点612通过读取到该分片数据存储成功的消息,可以单独读取已完成上传的分片数据并进行后续的业务处理,实现在上传数据的同时处理数据。
步骤S550、响应于计算节点612从数据总线618中读取到分片存储成功的消息,逐段地发送range读请求,并执行计算任务。具体地,目标业务节点612发送range读请求以获取需要进行处理的目标数据,本公开实施例对range读请求进行了改进:range读请求中带有唯一的upload ID和该分片的分片编号,以在元数据服务数据库中查找upload ID对应的分片元数据,根据该元数据找到分片的存储位置以完成数据的读取。通过这样的方式,已完成上传的数据可以及时地被读取,然后执行计算以实现相应的业务,从而加快业务处理的速度。计算节点612读取数据的时候,优先发送请求到缓存608中,如果无法从缓存608中读到数据,则从存储节点614中读取数据,因为从缓存608中读取数据的速度要快于从存储节点614中读取数据。
步骤S560、计算节点612执行计算任务成功,或者超时。响应于计算超时并且分片文件已上传完毕,计算节点612再次进行全量读取,以再次执行计算任务。具体地,目标业务节点612将目标数据的处理结果发送至目标网关604,处理结果包括处理成功和处理超时;以及目标网关604记录目标数据的处理结果。根据目标网关604记录的处理结果,在处理成功后更新元数据服务节点,或者在处理超时后计算节点612后期等待分片文件上传完毕后再次进行全量读取。
以下进一步描述处理超时后的操作:响应于目标业务节点612对目标数据的处理超时并且确定待存储数据是否已全部存储至目标存储节点614,目标业务节点612优先从缓存608中读取数据,当无法从缓存608中读取数据时,目标业务节点612从目标存储节点614读取待存储数据;以及目标业务节点612对所读取的待存储数据进行处理。
以下结合图7和图8描述根据本公开实施例的基于数据存储的业务处理方法700和业务处理过程800。在该业务处理方法中,不需要数据总线及缓存。基于标准S3的业务驱动模式适用于业务对实时性要求最低,允许延迟最大的场景。原因在于基于标准S3的业务驱动模式中,目标业务节点获取目标数据的方法实时性最低。在该业务驱动模式对应的方法中,目标网关将目标数据发送至目标业务节点包括:确定目标数据是否已全部存储至目标存储节点;响应于确定目标数据已全部存储至目标存储节点,目标网关从目标存储节点读取目标数据并将所读取的目标数据发送至目标业务节点。实现了在所有目标数据存储到目标存储节点后,自动读取数据并开展业务,从而实现存储驱动。
如图7所示,基于数据存储的业务处理方法700包括下述步骤:
步骤S710、网关804接收写请求,并且将数据完整地写入到存储节点814中,更新元数据服务节点,完成完整的文件上传。
步骤S720、网关804通知网关管理器810分配一个计算节点812,并且将计算脚本发送至该计算节点812。在数据完整地上传结束后,该操作随即被自动触发,从而在存储完成后尽可能快地开展业务。
步骤S730、计算节点812根据计算脚本,从存储节点814中读取文件,并执行计算任务。计算完成后,将业务处理产生的新数据存入对象存储系统,并完成对元数据服务节点进行更新。
步骤S740、释放计算资源。
以下以视频上传中截取预览图的业务场景为例,来具体描述本公开的业务处理方法的应用。
如图4中的业务处理过程400所示,视频上传中截取预览图的过程为:第一步,网关404向网关管理器410进行服务注册,从而具备视频截取预览图的业务服务能力;第二步,网关404接收用户的写请求,并通过流量复制模块406进行流量复制;第三步,网关404将数据写入到存储节点中,并更新至元数据服务节点;第四步,网关404通过网关管理器410选择一个计算节点412。网关管理器410将基于视频截取预览图的计算脚本发送到计算节点412上;第五步,网关404的流量复制模块406异步地将请求通过推送的方式,推到已选择的计算节点412上;第六步,计算节点412基于流量复制模块406所推送的视频流,调用基于视频截取预览图的计算脚本,执行计算任务,并将预览图通过标准的S3协议存储到存储节点,并更新至元数据服务节点;第七步,计算节点412完成预览图截取的任务,并释放资源。通过该实施例的方法,当用户的完成文件上传后,同时视频的预览也同时截取完毕,这样有效地减少获取视频预览图的时间。
图9示出了根据本公开实施例的基于数据存储的业务处理装置900的框图,包括:至少一个网关920,包括目标网关,目标网关被配置用于接收写请求,写请求包括目标数据、用于表征目标数据的业务处理类型的目标标识和用于存储目标数据的存储节点标识;网关管理器910,被配置用于确定与目标标识相应的目标业务节点,其中,目标网关还被配置用于将目标数据发送至目标业务节点,以对目标数据进行业务处理,并且其中,目标网关还被配置用于将目标数据发送至与存储节点标识相应的目标存储节点。
根据一些实施例,业务处理装置900中的目标网关还被配置用于对目标数据进行复制,以得到目标数据的副本数据。在这种情况下,流量复制模块被集成在目标网关中。
根据一些实施例,业务处理装置900还可以包括缓存,被配置用于存储副本数据。示例性的缓存可以是sdd或者nvme来加快读取的速度,以更快地缓存上传地用户数据。
根据一些实施例,业务处理装置900还可以包括数据总线,被配置用于实现目标网关、目标业务节点和目标存储节点之间的通信。
根据一些实施例,业务处理装置900还可以包括元数据服务节点,其一般是有状态、高可用且强一致的,用来存储用户bucket和object相关的元数据信息。
根据一些实施例,业务处理装置900中的网关管理器910还被配置用于配置网关920和用于表征数据业务处理类型的标识之间的关联关系,以及业务节点和用于表征数据业务处理类型的标识之间的关联关系。示例性地,网关管理器910负责网关和业务节点的衔接和调度,包括且不限于计算服务注册的管理、计算脚本的分发、业务节点的调度等。
根据本公开的另一方面,还提供一种基于数据存储的业务处理系统,如图10所示,该业务处理系统1000包括:根据上述的业务处理装置1010;至少一个业务节点1020,包括目标业务节点,目标业务节点被配置用于从目标网关接收目标数据,并对目标数据进行业务处理。
根据本公开的另一方面,还提供一种基于数据存储的业务处理系统,如图10所示,该业务处理系统1000包括:根据上述的业务处理装置1010;至少一个业务节点1020,包括目标业务节点,目标业务节点被配置用于从目标网关接收目标数据,并对目标数据进行业务处理;以及至少一个存储节点,包括目标存储节点,目标存储节点并被配置用于从目标网关接收并存储目标数据。
根据本公开的另一方面,还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有计算机程序,计算机程序在被至少一个处理器执行时实现根据上述的方法。
根据本公开的另一方面,还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,计算机程序在被处理器执行时实现根据上述的方法。
根据本公开的另一方面,还提供一种计算机程序产品,包括计算机程序,其中,计算机程序在被处理器执行时实现根据上述的方法。
参见图11,现将描述可以作为本公开的电子设备1100的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备可以是不同类型的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
图11示出了根据本公开实施例的电子设备的框图。如图11所示,电子设备1100可以包括能够通过系统总线1103彼此通信的至少一个处理器1101、工作存储器1102、输入单元1104、显示单元1105、扬声器1106、存储单元1107、通信单元1108以及其它输出单元1109。
处理器1101可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器1101可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。处理器1101可以被配置成获取并且执行存储在工作存储器1102、存储单元1107或者其他计算机可读介质中的计算机可读指令,诸如操作系统1102a的程序代码、应用程序1102b的程序代码等。
工作存储器1102和存储单元1107是用于存储指令的计算机可读存储介质的示例,指令由处理器1101执行来实施前面所描述的各种功能。工作存储器1102可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等等)。此外,存储单元1107可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等等。工作存储器1102和存储单元1107在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,计算机程序代码可以由处理器1101作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
输入单元1106可以是能向电子设备1100输入信息的任何类型的设备,输入单元1106可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示单元1105、扬声器1106以及其它输出单元1109,其它输出单元1109可以但不限于包括视频/音频输出终端、振动器和/或打印机。通信单元1108允许电子设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、802.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
工作寄存器1102中的应用程序1102b可以被加载执行上文所描述的各个方法和处理。例如,在一些实施例中,图像处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1107。在一些实施例中,计算机程序的部分或者全部可以经由存储单元1107和/或通信单元1108而被载入和/或安装到电子设备1100上。当计算机程序被加载并由处理器1101执行时,可以执行上文描述的图像处理方法的一个或多个步骤。备选地,在其他实施例中,处理器1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图像处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

Claims (34)

1.一种基于数据存储的业务处理方法,包括:
目标网关接收写请求,所述写请求包括目标数据、用于表征所述目标数据的业务处理类型的目标标识和用于存储所述目标数据的存储节点标识;
确定与所述目标标识相应的目标业务节点;
所述目标网关将所述目标数据发送至所述目标业务节点,以对所述目标数据进行业务处理;以及
所述目标网关将所述目标数据发送至与所述存储节点标识相应的目标存储节点。
2.如权利要求1所述的方法,其中,所述目标网关与所述目标数据的业务处理类型相关联,所述目标业务节点与目标网关集成在一起。
3.如权利要求1或2所述的方法,还包括:
在所述目标网关接收所述写请求之后,对所述目标数据进行复制,以得到所述目标数据的副本数据,
其中,所述目标网关将所述副本数据发送至所述目标业务节点。
4.如权利要求3所述的方法,其中,所述目标网关通过以下方式中的其中一种将所述副本数据发送至所述目标业务节点:
所述目标业务节点主动拉取所述副本数据;和
所述目标网关将所述副本数据推送至所述目标业务节点。
5.如权利要求3或4所述的方法,还包括:
至少基于所述目标标识,确定是否满足预设条件;以及
响应于满足预设条件,将所述副本数据存储至缓存。
6.如权利要求5所述的方法,其中,所述至少基于所述目标标识,确定是否满足预设条件包括:
获取所述目标业务节点的业务处理能力参数和/或网络资源数据;
基于所述目标业务节点的业务处理能力参数和/或网络资源数据,确定是否满足预设条件。
7.如权利要求3所述的方法,还包括:
所述目标网关获取所述目标业务节点对所述副本数据的处理结果,所述处理结果包括处理成功和处理失败;以及
所述目标网关记录所述副本数据的处理结果。
8.如权利要求7所述的方法,还包括:
至少响应于确定所述目标业务节点对所述副本数据处理失败并且确定待存储数据已全部存储至所述目标存储节点,所述目标网关从所述目标存储节点读取所述待存储数据并将所读取的所述待存储数据发送至所述目标业务节点,所述目标数据为所述待存储数据的一部分。
9.如权利要求8所述的方法,其中,至少响应于确定所述目标业务节点对所述副本数据处理失败并且确定待存储数据已全部存储至所述目标存储节点,所述目标网关从所述目标存储节点读取所述待存储数据并将所读取的所述待存储数据发送至所述目标业务节点包括:
响应于确定所述目标业务节点对所述副本数据处理失败,确定是否重试;以及
响应于确定重试并且确定待存储数据已全部存储至所述目标存储节点,所述目标网关从所述目标存储节点读取所述待存储数据并将所读取的所述待存储数据发送至所述目标业务节点。
10.如权利要求8或9所述的方法,还包括:
至少响应于确定所述目标业务节点对所述副本数据处理失败并且确定待存储数据已全部存储至所述目标存储节点,确定所述目标业务节点是否从缓存中读取到所述待存储数据,
其中,响应于确定所述目标业务节点未从所述缓存读取到所述待存储数据,所述目标网关从所述目标存储节点读取所述待存储数据并将所读取的所述待存储数据发送至所述目标业务节点。
11.如权利要求3-10中任一项所述的方法,其中,所述目标数据以流式传输的方式上传至所述目标网关。
12.如权利要求3-10中任一项所述的方法,其中,所述目标数据为待存储数据的一个数据分片。
13.如权利要求1或2所述的方法,其中,所述目标数据为待存储数据的一个数据分片,所述方法还包括:
响应于确定所述目标数据已存储至所述目标存储节点的消息,所述目标网关将所述目标数据的存储成功消息写入数据总线,所述存储成功消息包括所述待存储数据的数据标识和所述目标数据的分片标识,
其中,所述目标网关将所述目标数据发送至所述目标业务节点包括:
响应于接收到所述目标业务节点的读请求,所述目标网关从所述目标存储节点读取所述目标数据并将所读取的所述目标数据发送至所述目标业务节点。
14.如权利要求13所述的方法,还包括:
在所述目标网关接收所述写请求之后,对所述目标数据进行复制,以得到所述目标数据的副本数据;
所述目标网关将所述副本数据存储至缓存。
15.如权利要求14所述的方法,其中,所述目标网关将所述目标数据发送至所述目标业务节点包括:
响应于确定目标业务节点未从缓存中读取到所述副本数据,所述目标网关从所述目标存储节点读取所述目标数据并将所读取的所述目标数据发送至目标业务节点。
16.如权利要求13-15中任一项所述的方法,还包括:
所述目标网关获取所述目标业务节点对将所述目标数据的处理结果,所述处理结果包括处理成功和处理超时;以及
所述目标网关记录所述目标数据的处理结果。
17.如权利要求16所述的方法,还包括:
响应于确定所述目标业务节点对所述目标数据的处理超时,确定所述待存储数据是否已全部存储至目标存储节点;
响应于确定所述待存储数据已全部存储至所述目标存储节点,所述目标网关从所述目标存储节点读取所述待存储数据并将所读取的所述待存储数据发送至目标业务节点。
18.如权利要求17所述的方法,其中,当所述目标网关将所述副本数据存储至缓存时,响应于确定所述目标业务节点未从所述缓存中读取到所述待存储数据,所述目标网关从所述目标存储节点读取所述待存储数据并将所读取的所述待存储数据发送至目标业务节点。
19.如权利要求1或2所述的方法,其中,所述目标网关将所述目标数据发送至所述目标业务节点包括:
确定所述目标数据是否已全部存储至所述目标存储节点;
响应于确定所述目标数据已全部存储至目标存储节点,所述目标网关从所述目标存储节点读取所述目标数据并将所读取的所述目标数据发送至目标业务节点。
20.如权利要求1-19中任一项所述的方法,还包括:
响应于确定所述目标数据已存储至目标存储节点,所述目标网关将所述目标数据的元数据记录在元数据服务节点。
21.如权利要求1-19中任一项所述的方法,其中,所述目标标识为能够表征业务处理类型的类别标识或者所述目标存储节点的业务属性信息。
22.如权利要求21所述的方法,还包括:
在系统初始化时,配置所述目标存储节点的业务属性信息,所述业务属性信息与业务处理类型相关联。
23.如权利要求1-19中任一项所述的方法,还包括:
在系统初始化时,配置网关和用于表征数据业务处理类型的标识之间的关联关系,以及业务节点和用于表征数据业务处理类型的标识之间的关联关系。
24.一种基于数据存储的业务处理装置,包括:
至少一个网关,包括目标网关,所述目标网关被配置用于接收写请求,所述写请求包括目标数据、用于表征所述目标数据的业务处理类型的目标标识和用于存储所述目标数据的存储节点标识;以及
网关管理器,被配置用于确定与所述目标标识相应的目标业务节点,
其中,所述目标网关还被配置用于将所述目标数据发送至所述目标业务节点,以对所述目标数据进行业务处理,
并且其中,所述目标网关还被配置用于将所述目标数据发送至与所述存储节点标识相应的目标存储节点。
25.如权利要求24所述的装置,其中,所述目标网关还被配置用于对所述目标数据进行复制,以得到所述目标数据的副本数据。
26.如权利要求25所述的装置,还包括:
缓存,被配置用于存储所述副本数据。
27.如权利要求24-26中任一项所述的装置,还包括:
数据总线,被配置用于实现所述目标网关、所述目标业务节点和所述目标存储节点之间的通信。
28.如权利要求24-26中任一项所述的装置,还包括:
元数据服务节点,被配置用于存储已存储的数据的元数据。
29.如权利要求24-26中任一项所述的装置,其中,所述网关管理器还被配置用于配置网关和用于表征数据业务处理类型的标识之间的关联关系,以及业务节点和用于表征数据业务处理类型的标识之间的关联关系。
30.一种基于数据存储的业务处理系统,包括:
权利要求24-29中任一项所述的业务处理装置;以及
至少一个业务节点,包括目标业务节点,所述目标业务节点被配置用于从目标网关接收目标数据,并对所述目标数据进行业务处理。
31.一种基于数据存储的业务处理系统,包括:
权利要求24-29中任一项所述的业务处理装置;
至少一个业务节点,包括目标业务节点,所述目标业务节点被配置用于从目标网关接收目标数据,并对所述目标数据进行业务处理;以及
至少一个存储节点,包括目标存储节点,所述目标存储节点并被配置用于从所述目标网关接收并存储所述目标数据。
32.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有计算机程序,所述计算机程序在被所述至少一个处理器执行时实现根据权利要求1-23中任一项所述的方法。
33.一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被处理器执行时实现根据权利要求1-23中任一项所述的方法。
34.一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现根据权利要求1-23中任一项所述的方法。
CN202111580612.9A 2021-12-22 2021-12-22 基于数据存储的业务处理方法、装置、设备和介质 Pending CN114281258A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111580612.9A CN114281258A (zh) 2021-12-22 2021-12-22 基于数据存储的业务处理方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111580612.9A CN114281258A (zh) 2021-12-22 2021-12-22 基于数据存储的业务处理方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN114281258A true CN114281258A (zh) 2022-04-05

Family

ID=80873728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111580612.9A Pending CN114281258A (zh) 2021-12-22 2021-12-22 基于数据存储的业务处理方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN114281258A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117056379A (zh) * 2023-10-11 2023-11-14 宁波银行股份有限公司 一种元数据缓存方法、装置、电子设备及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117056379A (zh) * 2023-10-11 2023-11-14 宁波银行股份有限公司 一种元数据缓存方法、装置、电子设备及可读存储介质
CN117056379B (zh) * 2023-10-11 2024-01-26 宁波银行股份有限公司 一种元数据缓存方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
JP6131248B2 (ja) 疎結合コンポーネントを使用した音声認識
US9866615B2 (en) Remote browsing session management
US9479564B2 (en) Browsing session metric creation
US9235464B2 (en) Smart error recovery for database applications
US9838346B2 (en) Alerting on dual-queue systems
US9491113B2 (en) Managing network connections for processing network resources
US9166882B1 (en) Remote browsing session management
US20160219126A1 (en) Virtual desktop providing method and virtual desktop providing server thereof
US9836358B2 (en) Ephemeral remote data store for dual-queue systems
US8819139B2 (en) Virtual desktop infrastructure (VDI) login acceleration
US11637912B2 (en) Intermediated retrieval of networked content
CN111221793B (zh) 数据挖掘方法、平台、计算机设备及存储介质
CN104301687A (zh) 应用于虚拟桌面环境的摄像头视频处理方法和相应设备
CN111414208A (zh) 应用程序的启动方法、装置及设备
CN111880865A (zh) 多媒体数据推送方法、装置、电子设备及存储介质
WO2022143717A1 (zh) 一种虚拟机迁移方法、装置及系统
US11803606B2 (en) Device augmentation of real time communications
CN114281258A (zh) 基于数据存储的业务处理方法、装置、设备和介质
US9298843B1 (en) User agent information management
US9641637B1 (en) Network resource optimization
CN111477229A (zh) 语音识别请求处理方法和装置
US11902346B2 (en) Method and apparatus for processing streaming media service, electronic device, and storage medium
KR102313529B1 (ko) 클라우드 스트리밍 서비스 시스템, 최적 렌더링에 기반한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
WO2023230797A1 (zh) 一种跨系统测试方法及装置
CN113364672B (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