掌桥专利:专业的专利平台
掌桥专利
首页

多存储介质的统一接口处理方法、装置、设备和介质

文献发布时间:2023-06-19 10:05:17


多存储介质的统一接口处理方法、装置、设备和介质

技术领域

本发明示例性实施例涉及文件存储技术领域,尤其涉及一种多存储介质的统一接口处理方法、装置、设备和介质。

背景技术

随着信息网络技术与硬件设备技术的不断发展,市面上的存储介质越来越多,不同的应用系统可能适配于不同的存储介质(商用对象存储、软件定义存储、NAS等介质)。同一应用在使用过程中往往会随着硬件的发展而不断的更换存储介质,以提供更好的服务。

当硬件发生变化时,所有相关的应用系统都必须配合硬件进行改造开发;遇到某种介质故障时,由于存储介质的接口不同无法立马接换,延误生产;针对每种存储介质都要定制化开发,耗时耗力。

发明内容

有鉴于此,本发明示例性实施例的目的在于提出一种多存储介质的统一接口处理方法、装置、设备和介质,以解决多存储介质的桶接口访问单一的问题。

基于上述目的,本发明示例性实施例提供了一种多存储介质的统一接口处理方法,所述方法包括:

基于桶的若干接口对统一接口进行定义,所述统一接口安装于逻辑桶,所述逻辑桶对应于所述桶的逻辑概念,所述统一接口用于根据软件开发工具包提供服务;

通过所述统一接口接收应用方的请求信息,所述请求信息至少包括权限信息token、文件ID或逻辑桶中的一种,其中,所述请求信息包括上行请求和下行请求;

对所述请求信息进行解析,以对所述请求信息所对应的桶进行对应的数据操作。

结合上述说明,在本发明实施例另一种可能的实施方式中,所述方法还包括:

对所述请求信息进行解析后,对所述请求信息所对应的桶以外的其它桶,进行读操作。

结合上述说明,在本发明实施例另一种可能的实施方式中,所述方法还包括:

对所述权限信息token进行鉴权,当鉴权通过后执行所述请求信息所对应的操作。

结合上述说明,在本发明实施例另一种可能的实施方式中,所述方法还包括:

当所述应用方的请求信息对应的第一桶的访问出现故障时,对所述统一接口进行配置修改,以使所述应用方的请求信息切换至第二桶,所述第二桶为与所述第一桶不同的预备桶。

结合上述说明,在本发明实施例另一种可能的实施方式中,所述请求信息为上行请求时,所述方法还包括:

通过配置查找所述逻辑桶对应的用于写操作的存储桶,根据所述存储桶的存储介质,将存储介质信息和逻辑桶信息记为系统索引;

根据所述系统索引将文件写入正确的存储桶。

第二方面,本发明示例性实施例还提供了一种多存储介质的多存储介质的统一接口处理方法,所述方法包括:

定义模块,用于基于桶的若干接口对统一接口进行定义,所述统一接口安装于逻辑桶,所述逻辑桶对应于所述桶的逻辑概念,所述统一接口用于根据软件开发工具包提供服务;

请求模块,用于通过所述统一接口接收应用方的请求信息,所述请求信息至少包括权限信息token、文件ID或逻辑桶中的一种,其中,所述请求信息包括上行请求和下行请求;

解析模块,用于对所述请求信息进行解析,以对所述请求信息所对应的桶进行对应的数据操作。

上述的装置,所述装置还包括:

读写模块,用于对所述请求信息进行解析后,对所述请求信息所对应的桶以外的其它桶,进行读操作。

上述的装置,所述装置还包括:

鉴权模块,用于对所述权限信息token进行鉴权,当鉴权通过后执行所述请求信息所对应的操作。

第三方面,本发明示例性实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的多存储介质的统一接口处理方法。

第四方面,本发明示例性实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行所述的多存储介质的统一接口处理方法。

从上面所述可以看出,本发明示例性实施例提供的多存储介质的统一接口处理方法、装置、设备和介质,提供一种全新的虚拟逻辑存储架构的功能,通过构造虚拟逻辑存储架构的统一接口,通过统一接口的各种具体的功能苏方实现不同存储介质文件的存储或调阅功能,应用方无需针对不同存储介质进行差异化功能开发,解决了目前的多存储介质接口单一无法统一使用的问题。

附图说明

为了更清楚地说明本发明示例性实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明示例性实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1(a)为本发明示例性实施例的方法基本流程示意图;

图1(b)为本发明示例性实施例的上层应用系统的构架示意图;

图2为本发明示例性实施例的上行请求流程基本示意图;

图3为本发明示例性实施例下行请求流程基本示意图;

图4为本发明示例性实施例的故障切换时示意图;

图5为本发明示例性实施例装置基本结构示意图;

图6为本发明示例性实施例的设备基本结构示意图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。

需要说明的是,除非另外定义,本发明示例性实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本发明示例性实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

在保险系统的底层分布式存储系统或云存储系统中,一般地,在根权限下存在多个租户,每一租户对应于多个桶用于存储各类数据对象,所述租户可对应于保险系统中的某一类大部门,所述桶可对应于保险系统中的中级部门,逻辑上的桶对可对应于一种数据存储服务器,例如采用s3接口的文件服务器,所述桶中又可包括有多个类型的应用数据或者各种类型的子系统存储数据,每一个部门可认为是一个具体的业务场景。

本发明涉及一种多存储介质的统一接口处理方法、装置、设备和介质,其主要运用于保险系统分布式存储中不同存储介质无法通过统一接口访问的场景中,结合图1(a)所示的一种多存储介质的统一接口处理方法的基本流程示意图,图1(b)所示的系统架构示意图,所述方法包括:

在步骤110中,基于桶的若干接口对统一接口进行定义,所述统一接口安装于逻辑桶,所述逻辑桶对应于所述桶的逻辑概念,所述统一接口用于根据软件开发工具包提供服务;

所述桶属于租户的下位概念,一个租户下可存在多个桶,一个桶可用于存储一种专门的数据,其可以为同一种介质,也可以为不同种存储介质组合而成。

一个桶由多种存储介质组合而成时,其每一种存储介质均对应于一种应用接口用于数据访问,通过对一个保险系统内的不同桶的多种存储介质的应用接口进行定义,以使得形成一种逻辑意义上的统一接口,该统一接口能够实现各种类型的应用接口所实现的功能,例如图片处理、视频处理、监控服务、权限服务、索引服务、文件传输、文件异步服务以及电子文档服务等等。

所述统一接口能够实现通过一套逻辑上的虚拟存储架构将底层多种存储介质接口的差异进行屏蔽,使得上层应用对存储介质接口间的差异无感知,直接调用内容管理系统提供的统一接口即可实现不同存储介质的文件存储。

本发明示例性实施例的具体实施方式中,按照对象存储的方式,模拟了逻辑上的S3的接口协议、模拟了逻辑上的租户和桶的概念,提供了一套逻辑上的API,实现了权限、监控、索引、文件传输、图片处理、视频处理等服务,从而构造了一套虚拟的逻辑存储架构,且图1(b)的存储适配引擎可用于在发生故障时的统一接口对于不同的存储介质的写入切换。本发明针对不同的存储介质,分别实现了各类存储介质的上传、下载等功能。

在步骤120中,通过所述统一接口接收应用方的请求信息,所述请求信息至少包括权限信息token、文件ID或逻辑桶中的一种,其中,所述请求信息包括上行请求和下行请求;

结合图2所示,这一过程具体包括以下步骤:

步骤101:应用方将携带有权限信息token、文件流、逻辑桶以及其他参数一起传入,接收应用方的上传指令;

所述文件上传操作可以是发生在多种场景中,包含页面Restful API即统一接口请求及各类SDK即软件开发工具包请求。

应用方上传时所带桶名为逻辑意义上的逻辑桶,一个逻辑桶对应多个存储桶。本发明支持存储桶的一写多读功能,即逻辑桶只能对应一个用于写操作的存储桶,但是可以对多个关联的存储桶进行读操作。从而使得存储桶发生变更时,本发明只需修改配置,使逻辑桶关联新的存储桶,即可实现用于写操作的桶的切换,而应用方仍使用原来的逻辑桶名进行读/写操作,无需进行任何修改。

应用方在上传时除了上传接口必备的参数还需传递所需的业务索引,并使用索引服务进行记录,以备后续检索、统计等场景使用。

步骤102:解析应用方的token信息,进行鉴权;

调用权限服务对应用方进行鉴权,查看是否具该逻辑桶上传文件的权限。若鉴权成功则调用文件传输服务进行上传操作;若鉴权失败则返回报错。

步骤103:进行文件的上传操作;

本发明示例性实施例的一种实施方式中,所述方法还包括:

对所述请求信息进行解析后,对所述请求信息所对应的桶以外的其它桶,进行读操作,即通过配置找到此时逻辑桶对应的用于写操作的存储桶,根据其存储介质,本发明调用支持该存储介质的上传接口,将存储介质信息和逻辑桶信息记为系统索引,将文件写入正确的存储桶中,具体过程为:

应用方上传时所带业务索引不超过2KB时,将文件、业务索引和系统索引写入到对应的存储上,然后调用索引服务,将业务索引和系统索引记录在Elasticsearch即弹性搜索中,用于后续查询、统计等功能;

应用方上传时所带业务索引大于2KB,将文件和系统索引写入到对应的存储上,然后调用索引服务,将业务索引和系统索引记录在Elasticsearch中,用于后续查询、统计等功能。

步骤104:向所述应用方返回文件成功标识以及文件ID等数据信息;

从上述实施例可以看出,本发明提供的文件上传实现方法,通过构造一套逻辑上的虚拟存储架构,实现了将底层多种存储介质上传接口的差异进行屏蔽,使得应用方可以无感知的调用本发明的上传功能,实现对各类存储介质的文件存储,无需对不同存储介质进行定制化开发,能够使上层应用系统的开发更加简单、统一。

本发明还提供了所述多存储介质接口差异化屏蔽的文件下载方法。如图3所示,为本发明提供的多存储介质接口差异化屏蔽的下载功能流程示意图。

在步骤130中,对所述请求信息进行解析,以对所述请求信息所对应的桶进行对应的数据操作。

解析包括对请求信息中的token、文件流、逻辑桶以及其他参数的解析,以实现具体的请求所对应的文件操作,而不限于写入操作。

本发明示例性实施例的方法,设计了一套逻辑上的虚拟存储架构,通过逻辑上的存储架构屏蔽了底层实际存储介质、设备间的差异,虚拟的逻辑存储架构可支持商业对象存储、软件定义对象存储、NAS、OnDemand等多种存储介质。上层应用系统通过调用虚拟的逻辑存储的功能即可实现在不同存储介质上的文件上传/下载操作,从而实现了对多存储介质接口差异化的屏蔽。

另外,本发明可以更好地适配各种商业硬件,屏蔽由于采购上的变化而对应用造成的影响和压力,避免因硬件变化而导致上层应用系统的改造;遇到某种存储设备故障时,可在短时间内通过统一接口立即切换存储介质,保证生产的稳定运行;可以根据不同商业硬件的性能,合理分配使用,配备不同的业务场景;使上层应用系统的开发更加简单、统一、便捷。

本发明示例性实施例的一种实施方式中,所述文件下载实现方法,所述方法还包括:对所述权限信息token进行鉴权,当鉴权通过后执行所述请求信息所对应的操作,结合图3所示,具体包括以下步骤:

步骤201:应用方将携带有权限信息token、文件ID、逻辑桶等参数一起传入,接收应用方的下载指令;

所述文件下载操作可以是发生在多种场景中,包含页面Restful API请求及各类SDK请求。

步骤202:解析应用方的token信息,进行鉴权;

步骤203:进行文件的下载操作;

通过索引服务查询该文件ID和逻辑桶,找到对应的存储桶,根据其存储介质,本发明调用支持该存储介质的下载接口,获取文件流。

步骤204:向所述应用方返回所需文件流;

从上述实施例可以看出,本发明提供的文件下载实现方法,通过构造一套逻辑上的虚拟存储架构,实现了将底层多种存储介质下载接口的差异进行屏蔽。因而应用方可以在多种存储介质中存储的文件进行下载调阅,避免了由于存储介质的更换,导致应用方需进行数据迁移的工作,便利了应用方的开发,同时也降低了生产数据丢失的风险。

当应用方提供了调用本发明的上传/下载的接口时,本发明构造的虚拟逻辑存储将根据上层系统所传参数以及系统索引信息实现文件存储的相关功能。使得应用方调用统一的上传/下载接口即可实现对不同存储介质的上传/下载操作。

本发明示例性实施例的一种实施方式中,结合图4所示,图中的上层应用系统为本发明的统一接口所设置的上层应用系统,通过该系统能够实现本发明的方法和装置的所有功能,在发生故障时所述方法还包括:

当所述应用方的请求信息对应的第一桶的访问出现故障时,对所述统一接口进行配置修改,以使所述应用方的请求信息切换至第二桶,所述第二桶为与所述第一桶不同的预备桶。结合图所示,当应用方所使用的的存储介质突发故障时,本发明也可以通过配置调整,实现存储介质的切换,快速响应,恢复生产,这个过程上层应用系统无感知、也无需进行任何操作。

图5为本发明实施例提供的一种多存储介质的多存储介质的统一接口处理装置的结构示意图,该装置可由软件和/或硬件实现,一般地集成于智能终端中,可通过多存储介质的多存储介质的统一接口处理方法来实现。如图所示,本实施例可以以上述实施例为基础,提供了一种多存储介质的多存储介质的统一接口处理装置,其主要包括了定义模块510、请求模块520以及解析模块530。

其中的定义模块510,用于基于桶的若干接口对统一接口进行定义,所述统一接口安装于逻辑桶,所述逻辑桶对应于所述桶的逻辑概念,所述统一接口用于根据软件开发工具包提供服务;

其中的请求模块520,用于通过所述统一接口接收应用方的请求信息,所述请求信息至少包括权限信息token、文件ID或逻辑桶中的一种,其中,所述请求信息包括上行请求和下行请求;

其中的解析模块530,用于对所述请求信息进行解析,以对所述请求信息所对应的桶进行对应的数据操作。

本发明示例性实施例的一种实施方式中,所述装置还包括:

读写模块,用于对所述请求信息进行解析后,对所述请求信息所对应的桶以外的其它桶,进行读操作。

本发明示例性实施例的一种实施方式中,所述装置还包括:

鉴权模块,用于对所述权限信息token进行鉴权,当鉴权通过后执行所述请求信息所对应的操作。

上述实施例中提供的多存储介质的多存储介质的统一接口处理装置可执行本发明中任意实施例中所提供的多存储介质的多存储介质的统一接口处理方法,具备执行该方法相应的功能模块和有益效果,未在上述实施例中详细描述的技术细节,可参见本发明任意实施例中所提供的多存储介质的多存储介质的统一接口处理方法。

需要说明的是,本发明示例性实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本发明示例性实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的多存储介质的多存储介质的统一接口方法。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本发明示例性实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。

处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行本发明实施例的多存储介质的多存储介质的统一接口方法。

输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。

总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序及程序本身的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息,以用于执行本发明实施例的上述技术方案。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明示例性实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本发明示例性实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明示例性实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明示例性实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明示例性实施例。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。

本发明示例性实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明示例性实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

相关技术
  • 多存储介质的统一接口处理方法、装置、设备和介质
  • 大数据统一接口方法、装置、设备及存储介质
技术分类

06120112410478