一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分布式存储系统的服务器、分布式存储系统、数据存储及数据访问的方法和系统与流程

2022-02-24 14:19:15 来源:中国专利 TAG:


1.本说明书涉及互联网技术领域,尤其涉及一种分布式存储系统的服务器、分布式存储系统、数据存储及数据访问的方法和系统。


背景技术:

2.在分布式应用场景中,多个数据通常会被存储在多个存储设备中,而多个存储设备可能存在两种或两种以上类型的存储模式,例如:基于数据库(db)的存储模式、基于git仓库的存储模式或本地文件存储模式等。不同的存储模式,需要使用不同的计算机语言执行数据存储和数据访问等操作。现有技术中缺少一种统一管理的方法,使用统一的计算机语言对以多种存储模式存储的数据进行存储或访问,导致应用平台在存储或访问以多种存储模式存储的数据的时候,需要提前感知数据底层对应的存储模式,并针对不同的存储模式使用不同的计算机语言和程序进行操作,从而付出大量额外的工作。
3.因此,需要一种能够统一管理多种数据存储模式的分布式存储系统的服务器、分布式存储系统、数据存储及数据访问的方法和系统,从而降低成本。


技术实现要素:

4.本说明书提供一种能够统一管理多种数据存储模式的分布式存储系统的服务器、分布式存储系统、数据存储及数据访问的方法和系统,从而降低成本。
5.第一方面,本说明书提供一种分布式存储系统的服务器,所述服务器运行时同所述分布式存储系统的多个存储设备通信连接,所述多个存储设备以至少两种存储模式存储多个内容数据,所述服务器包括至少一个存储介质和至少一个处理器,所述至少一个存储介质包括至少一个指令集,用于对所述多个内容数据进行数据操作,所述至少一个存储介质中存储有所述多个内容数据中的每个内容数据对应的存储模式;所述至少一个处理器同所述至少一个存储介质和所述分布式存储系统的多个存储设备通信连接,运行时读取所述至少一个指令集并执行:接收对目标数据的数据操作请求,所述多个内容数据包括所述目标数据;确定所述目标数据对应的目标存储模式,所述至少两种存储模式包括所述目标存储模式;以及对所述多个存储设备以与所述目标存储模式相匹配的方式执行对所述目标数据的所述数据操作。
6.在一些实施例中,所述至少一个存储介质还包括元数据库,存储有所述多个内容数据中的每个内容数据的元数据,所述元数据包括当前内容数据对应的存储模式。
7.在一些实施例中,所述确定所述目标数据对应的目标存储模式,包括:将所述目标数据与所述元数据库中的元数据进行匹配,确定所述目标数据的元数据;以及基于所述目标数据的元数据,确定所述目标数据对应的所述目标存储模式。
8.在一些实施例中,所述至少两种存储模式互不兼容。
9.在一些实施例中,所述至少两种存储模式包括:基于数据库的存储模式以及基于
git仓库的存储模式。
10.在一些实施例中,所述至少一个指令集包括至少两种数据处理指令和调用指令,所述至少两种数据处理指令与所述至少两种存储模式相对应,被配置为指令所述至少一个处理器以与对应的存储模式相匹配的方式执行所述数据操作;以及调用指令,基于所述多个内容数据中的每个内容数据对应的存储模式,驱动所述至少两种数据处理指令中与当前内容数据对应的存储模式相对应的数据处理指令。
11.在一些实施例中,所述以与所述目标存储模式相匹配的方式执行对所述目标数据的所述数据操作,包括:根据所述目标存储模式,通过所述调用指令驱动与所述目标存储模式对应的数据处理指令执行所述数据操作。
12.在一些实施例中,所述至少一个存储介质还包括数据订阅关系库,存储有所述多个内容数据与应用的关联关系。
13.在一些实施例中,所述数据操作请求包括数据存储请求和数据访问请求中的至少一种,所述数据操作包括数据存储和数据访问中的至少一种。
14.第二方面,本说明书提供一种分布式存储系统,包括以至少两种存储模式存储多个内容数据的多个存储设备,以及本说明书第一方面所述的服务器。
15.第三方面,本说明书提供一种数据存储的方法,应用于本说明书第一方面所述的分布式存储系统的服务器,所述方法包括通过所述至少一个处理器:接收对目标数据的数据存储请求,所述数据存储请求包括对所述目标数据进行内容写入的请求,所述多个内容数据包括所述目标数据;确定所述目标数据对应的目标存储模式,所述至少两种存储模式包括所述目标存储模式;以及将所述内容以与所述目标存储模式相匹配的方式写入所述目标数据中。
16.在一些实施例中,所述确定所述目标数据对应的目标存储模式,包括:将所述目标数据与所述元数据库中的元数据进行匹配,确定所述目标数据的元数据;以及基于所述目标数据的元数据,确定所述目标数据对应的所述目标存储模式。
17.在一些实施例中,所述至少一个指令集包括至少两种数据处理指令和调用指令,所述至少两种数据处理指令与所述至少两种存储模式相对应,被配置为指令所述至少一个处理器以与对应的存储模式相匹配的方式执行所述数据存储;以及调用指令,基于所述多个内容数据中的每个内容数据对应的存储模式,驱动所述至少两种数据处理指令中与当前内容数据对应的存储模式相对应的数据处理指令。
18.在一些实施例中,所述将所述内容以与所述目标存储模式相匹配的方式写入所述目标数据中,包括:根据所述目标存储模式,通过所述调用指令驱动与所述目标存储模式对应的数据处理指令,将所述内容以所述目标存储模式写入所述目标数据中。
19.在一些实施例中,所述至少一个存储介质还包括数据订阅关系库,存储有所述多个内容数据与应用的关联关系。
20.第四方面,本说明书提供一种数据访问的方法,应用于本说明书第一方面所述的分布式存储系统的服务器,所述方法包括通过所述至少一个处理器:接收目标应用发送的数据访问请求,所述数访问请求包括对目标数据的内容进行数据访问的请求,所述多个内容数据包括所述目标数据;确定所述目标数据对应的目标存储模式,所述至少两种存储模式包括所述目标存储模式;以与所述目标存储模式相匹配的方式对所述目标数据的内容进
行所述数据访问,获取所述目标数据的内容;以及将所述目标数据的内容发送给所述目标应用。
21.在一些实施例中,所述确定所述目标数据对应的目标存储模式,包括:将所述目标数据与所述元数据库中的元数据进行匹配,确定所述目标数据的元数据;以及基于所述目标数据的元数据,确定所述目标数据对应的所述目标存储模式。
22.在一些实施例中,所述至少一个存储介质还包括数据订阅关系库,存储有所述多个内容数据与应用的关联关系,所述应用包括所述目标应用。
23.在一些实施例中,所述接收目标应用发送的数据访问请求,包括:接收所述目标应用发送的数据订阅关系查询请求;将所述目标应用与所述数据订阅关系库中的数据进行匹配,确定与所述目标应用存在关联关系的所述目标数据;将所述目标数据发送给所述目标应用;以及接收所述目标应用发送的所述数据访问请求。
24.在一些实施例中,所述接收目标应用发送的数据访问请求,包括:接收所述目标应用发送的所述数据访问请求;将所述目标应用与所述数据订阅关系库中的数据进行匹配,确定与所述目标应用存在关联关系的所述目标数据。
25.在一些实施例中,所述至少一个指令集包括至少两种数据处理指令和调用指令,所述至少两种数据处理指令与所述至少两种存储模式相对应,被配置为指令所述至少一个处理器以与对应的存储模式相匹配的方式执行所述数据访问;以及所述调用指令基于所述多个内容数据中的每个内容数据对应的存储模式,驱动所述至少两种数据处理指令中与当前内容数据对应的存储模式相对应的数据处理指令。
26.在一些实施例中,所述获取所述目标数据的内容,包括:根据所述目标存储模式,通过所述调用指令驱动与所述目标存储模式对应的数据处理指令,以与所述目标存储模式相匹配的方式获取所述目标数据的内容。
27.第五方面,本说明书提供一种数据访问的方法,应用于目标应用,所述目标应用搭载在客户端上,所述方法包括:向服务器发送数据访问请求,所述数据访问请求包括所述目标应用对目标数据的内容进行数据访问的请求,其中,所述服务器存储有所述目标数据对应的目标存储模式,所述服务器运行时基于所述目标存储模式,以与所述目标存储模式相匹配的方式进行所述数据访问,获取所述目标数据的内容;获取所述服务器发送的所述目标数据的内容。
28.在一些实施例中,所述向服务器发送数据访问请求,包括:向所述服务器发送数据订阅关系查询请求,所述数据订阅关系查询请求包括查询与所述目标应用关联的所述目标数据的请求;接收所述服务器发送的查询结果,所述查询结果中包括与所述目标应用存在关联关系的所述目标数据;以及向所述服务器发送对所述目标数据的所述数据访问请求。
29.在一些实施例中,所述获取所述服务器发送的所述目标数据的内容,包括:将所述目标数据的内容以基于数据库的存储模式存储在所述客户端中;以及获取所述目标数据的内容。
30.在一些实施例中,所述获取所述目标数据的内容,包括以下情况中的至少一种:基于所述目标应用的数据访问层获取所述目标数据的内容;以及基于所述目标应用的应用程序编程接口(api)获取所述目标数据的内容。
31.第六方面,本说明书提供一种数据访问的系统,包括至少一个存储介质和至少一
个处理器,所述至少一个存储介质包括至少一个指令集,用于数据访问;以及所述至少一个处理器同所述至少一个存储介质通信连接,其中,当所述系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明书第五方面所述的数据访问的方法。
32.由以上技术方案可知,本说明书提供的分布式存储系统的服务器、分布式存储系统、数据存储及数据访问的方法和系统,在分布式存储系统的服务器中记录每个数据对应的存储模式,当应用平台在对分布式存储系统进行数据存储或数据访问时,所述服务器通过查询数据对应的存储模式,从而调用与数据对应的存储模式相匹配的程序或指令,对数据进行存储或访问操作。因此,应用平台无需感知所述数据对应的存储模式,无需针对不同的存储模式使用不同的计算机语言,只需通过统一的计算机语言向服务器发送数据存储或数据访问的请求,服务器便可以根据数据对应的存储模式调用对应的计算机语言执行数据存储或访问的操作,从而节省应用的开发成本。
33.本说明书提供的分布式存储系统的服务器、分布式存储系统、数据存储及数据访问的方法和系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的分布式存储系统的服务器、分布式存储系统、数据存储及数据访问的方法和系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
34.为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1示出了根据本说明书的实施例提供的一种分布式存储系统的应用场景示意图;
36.图2示出了根据本说明书的实施例提供的一种服务器的设备示意图;
37.图3示出了根据本说明书的实施例提供的一种数据存储的方法流程图;
38.图4示出了根据本说明书的实施例提供的一种数据访问的方法流程图;
39.图5示出了根据本说明书的实施例提供的一种接收目标应用发送的数据访问的请求的方法流程图;
40.图6示出了根据本说明书的实施例提供的一种数据访问的方法流程图。
具体实施方式
41.以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
42.这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非
上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
43.考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
44.本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
45.为了方便描述本说明书提供的分布式存储系统的服务器、分布式存储系统、数据存储及数据访问的方法和系统,首先,对描述中涉及的术语作如下解释:
46.数据库:可视为电子化的文件柜,以一定方存储电子文件的处所,用户可以对数据库中的数据进行新增、截取、更新、删除等操作。所述数据库可以包括关系类数据库、时序类数据库、键值数据库、文档数据库,等等。比如,mysql、mariadb、postgresql、oracle数据库,等等。
47.git仓库:git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。
48.数据名:在git仓库中,所述数据名即git仓库的仓库名;在数据库中,所述数据名即数据表的表名。
49.数据主键:数据的唯一标识,在git仓库中,所述数据主键即文件名的前缀;在数据库中,所述数据主键即数据表的行记录主键,其值能唯一地标识每一行。
50.图1示出了一种分布式存储系统001的应用场景示意图。
51.如图1所示,用户110可以是客户端300的使用者。客户端300可以载有至少一个应用(app)的终端设备。所述应用可以通过客户端300与所述应用对应的服务器建立通信连接。客户端300可以与系统001通信连接。在一些实施例中,客户端300可以安装有一个或多个应用。所述应用包括但不限于:聊天类应用程序、购物类应用程序、视频类应用程序、理财类应用程序等等。目标应用可以是客户端300中与分布式存储系统001相对应的应用程序,所述目标应用可以与分布式存储系统001建立通信连接,并可以对分布式存储系统001进行数据存储和/或数据访问等数据操作。所述目标应用相关联的配置参数可以存储在分布式存储系统001中。当所述目标应用启动时,可以通过所述目标应用与分布式存储系统001之间的通信连接,从分布式存储系统001中获取配置参数。
52.在一些实施例中,客户端300可以包括移动设备300-1、平板电脑300-2、笔记本电脑300-3、机动车辆300-4的内置设备或类似内容,或其任意组合。在一些实施例中,移动设备300-1可包括智能家居设备、智能移动设备或类似设备,或其任意组合。在一些实施例中,所述智能家居装置可包括智能电视、台式电脑等,或任意组合。在一些实施例中,所述智能移动设备可包括智能手机、个人数字辅助等,或其任意组合。在一些实施例中,客户端300可
以是具有定位技术的设备,用于定位客户端300的位置。
53.网络120可以促进信息和/或数据的交换。如图1所示,客户端300、分布式存储系统001可以同网络120连接,并且通过网络120互相传输信息和/或数据。例如,分布式存储系统001可以通过网络120从客户端300获取服务请求。客户端300可以通过网络120从分布式存储系统001获取配置参数。在一些实施例中,网络120可以是任何类型的有线或无线网络,也可以是其组合。比如,网络120可以包括电缆网络,有线网络、光纤网络、电信通信网络、内联网、互联网、局域网(lan)、广域网(wan)、无线局域网(wlan)、大都市市区网(man)、广域网(wan)、公用电话交换网(pstn)、蓝牙网络、zigbee网络、近场通信(nfc)网络或类似网络。在一些实施例中,网络120可以包括一个或多个网络接入点。例如,网络120可以包括有线或无线网络接入点,如基站和/或互联网交换点,通过该接入点,客户端300、分布式存储系统001的一个或多个组件可以连接到网络120以交换数据和/或信息。
54.如图1所示,分布式存储系统001可以包括服务器200和分布式连接的多个存储设备100。
55.存储设备100可以存储数据和/或指令。在一些实施例中,存储设备100可以存储所述目标应用的配置参数。在一些实施例中,存储设备100可以存储服务器200从客户端300获得的数据。服务器200可能具有访问存储设备100的权限,服务器200可以通过网络120访问存储在存储设备100中的数据或指令。在一些实施例中,存储设备100可以直接连接到服务器200。在一些实施例中,存储设备100可以是服务器200的一部分。在一些实施例中,存储设备100可以包括大容量存储、可移动存储、易失性读写存储器、只读存储器(rom)或类似内容,或其任意组合。大容量存储可能包括磁盘、光盘、固态驱动器等非暂时性存储设备(non-transitory storage medium)。可移动存储可能包括闪存驱动器、软盘、光盘、存储卡、zip磁盘、磁带等。典型的易失性读写内存可能包括随机存取存储器(ram)。ram可能包括动态ram(dram)、双日期速率同步动态ram(ddr sdram)、静态ram(sram)、晶闸管ram(t-ram)和零电容ram(z-ram)等。rom可包括掩码rom(mrom)、可编程rom(prom)、可虚拟可编程rom(perom)、电子可编程rom(eeprom)、光盘(cd-rom)和数字多功能磁盘rom等。
56.多个存储设备100可以存储多个内容数据。所述内容数据可以是所述应用的配置参数,也可以是来自所述应用的写入数据,等等。所述每个内容数据可以包括内容数据的数据名、数据主键、数据内容(即数据值),等等。所述多个内容数据在多个存储设备100以至少两种存储模式进行存储。所述至少两种存储模式互不兼容,即所述至少两种存储模式使用不同的计算机语言进行存储及访问操作。比如,所述至少两种存储模式可以包括基于数据库(db)的存储模式,也可以包括基于git仓库的存储模式,在一些实施例中,所述至少两种存储模式还可以包括基于文件夹(file)的存储模式,等等。所述多个内容数据中的一部分数据可以是基于数据库(db)的存储模式存储在存储设备100中,还有一部分可以是基于git仓库的存储模式存储在存储设备100中,也可以有一部分数据是基于文件夹(file)的存储模式存储在存储设备100中,等等。在一些实施例中,多个存储设备100之间也可以相互通信交流数据和信息。一个内容数据可以存储在一个存储设备100上,也可以同时存储在多个存储设备100上。
57.服务器200运行时可以与多个存储设备通信连接。所述通信连接是指能够直接地或者间接地接收信息的任何形式的连接。比如,服务器200可以与多个存储设备100通过网
络120通信连接。服务器200可以是多个存储设备100的代理服务器。服务器200可以接收对所述内容数据进行数据操作的请求,并负责执行对所述内容数据的数据操作。所述数据操作请求可以是数据存储请求和数据访问请求中的至少一种。所述数据存储请求包括将数据内容(即数据值)写入所述内容数据的请求。所述数据访问请求包括访问所述内容数据对应的数据内容(即数据值)的请求。所述数据操作请求还可以是数据删除和数据更新,等等。所述数据操作可以是响应于所述数据操作请求所执行的操作。比如,所述数据操作可以是数据存储和数据访问中的至少一种。所述数据存储可以包括将数据内容(即数据值)写入所述内容数据。所述数据访问可以是访问所述内容数据对应的数据内容(即数据值)。所述数据操作还可以是数据删除和数据更新,等等。这些请求或者更改可以来自于客户端300,也可以来自于应用开发端。服务器200中可以存储有执行本说明书描述的数据存储和数据访问的方法的数据或指令,并可以执行或用于执行所述数据和/或指令。服务器200可以与多个存储设备100中的每个存储设备100进行数据交互,即服务器200可以将内容数据存储或写入多个存储设备100,也可以从多个存储设备100中读取内容数据。例如,客户端300上的所述目标应用请求存储设备100上的某个内容数据进行数据访问,客户端300将所述数据访问请求发送给服务器200,服务器200执行所述数据访问请求,根据所述数据访问请求从存储设备100中读取所述内容数据,并将结果返送给客户端300的所述目标应用。
58.如图1所示,用户110在客户端300上对所述目标应用进行操作,所述目标应用向服务器200发送对内容数据的数据操作请求,服务器200可以执行响应于所述数据操作请求的数据操作。比如,所述目标应用向服务器200发送对所述内容数据的数据存储请求,服务器200可以执行本说明书提供的数据存储的方法,将内容写入所述内容数据。再比如,所述目标应用向服务器200发送对所述内容数据的数据访问请求,服务器200可以执行本说明书提供的数据访问的方法,获取所述内容数据的内容,并将所述内容发送给所述目标应用。
59.图2示出了一种服务器200的设备示意图。服务器200可以执行本说明书描述的数据操作的方法,所述数据操作的方法包括数据存储的方法和数据访问的方法。数据存储的方法和数据访问的方法在本说明书中的其他部分介绍。比如,在图3的描述中介绍了所述数据存储的方法p200,在图4至图5的描述中介绍了所述数据访问的方法p300。
60.如图2所示,服务器200包括至少一个存储介质230和至少一个处理器220。在一些实施例中,服务器200还可以包括通信端口250和内部通信总线210。同时,服务器200还可以包括i/o组件260。
61.内部通信总线210可以连接不同的系统组件,包括存储设备230和处理器220。
62.i/o组件260支持服务器200和其他组件之间的输入/输出。
63.通信端口250用于服务器200同外界的数据通讯。比如,服务器200可以通过通信端口250通过网络120,与客户端300的目标应用和/或多个存储设备100进行数据传输。
64.至少一个存储介质230可以包括数据存储装置。所述数据存储装置可以是非暂时性存储介质,也可以是暂时性存储介质。比如,所述数据存储装置可以包括磁盘、只读存储介质(rom)或随机存取存储介质(ram)中的一种或多种。
65.至少一个存储介质230中可以存储有所述多个内容数据中的每个内容数据对应的存储模式。服务器200可以根据所述内容数据对应的存储模式,调用与所述存储模式相匹配的指令对所述内容数据执行所述数据操作。具体地,至少一个存储介质230可以包括存储在
所述数据存储装置中的至少一个指令集232。在一些实施例中,至少一个存储介质230还可以包括元数据库234。在一些实施例中,至少一个存储介质230还可以包括数据订阅关系库236。
66.所述指令是计算机程序代码,所述计算机程序代码可以包括执行本说明书提供的所述数据存储和所述数据访问的方法的程序、例程、对象、组件、数据结构、过程、模块等等。至少一个指令集232可以用于对多个存储设备100中的所述多个内容数据进行所述数据操作。如前所述,所述内容数据的存储模式不同,则对应的执行所述数据操作的计算机语言不同,即执行所述数据操作对应的指令不同。因此,针对不同的存储模式,服务器200需要调用不同的指令执行所述数据操作。如前所述,所述多个存储设备100中包括以至少两种存储模式存储所述多个内容数据。因此,至少一个指令集232可以包括至少两种数据处理指令232-2。至少一个指令集232还可以包括调用指令232-4。
67.至少两种数据处理指令232-2与所述至少两种存储模式相对应,指令所述至少一个处理器220以与对应的存储模式相匹配的方式执行所述数据操作。也就是说,当所述内容数据的存储模式为基于数据库的存储模式时,服务器200以与基于数据库的存储模式相匹配的数据处理指令驱动至少一个处理器220对所述内容数据执行所述数据操作;当所述内容数据的存储模式为基于git仓库的存储模式时,服务器200以与基于git仓库的存储模式相匹配的数据处理指令驱动至少一个处理器220对所述内容数据执行所述数据操作;当所述内容数据的存储模式为基于文件夹的存储模式时,服务器200以与基于文件夹的存储模式相匹配的数据处理指令驱动至少一个处理器220对所述内容数据执行所述数据操作。
68.至少一个指令集232还可以包括调用指令232-4。调用指令232-4可以根据所述多个内容数据中的每个内容数据对应的存储模式,驱动所述至少两种数据处理指令232-2中与当前内容数据对应的存储模式相匹配的数据处理指令。
69.元数据库234可以是所述多个内容数据的存储目录。元数据库234中记录有所述多个内容数据中的每个内容数据的元数据。所述每个内容数据的元数据可以包括每个内容数据的数据名、数据内容的类型、参数,以及所述每个内容数据的存储地址。如前所述,至少一个存储介质230中存储有所述多个内容数据中的每个内容数据对应的存储模式。具体地,所述多个内容数据中的每个内容数据对应的存储模式可以存储在所述每个内容数据的元数据中。当然,所述多个内容数据中的每个内容数据对应的存储模式也可以独立于元数据库234,单独存储在至少一个存储介质230的其他位置,比如,所述多个内容数据中的每个内容数据对应的存储模式可以单独形成存储模式库。
70.数据订阅关系库236中可以存储有所述多个内容数据与应用的关联关系,即每个应用所关联的内容数据的数据名。所述应用可以是客户端300上搭载的应用平台。服务器200可以通过查询数据订阅关系库236来查询与目标应用关联的目标数据,进一步查询元数据库234获取所述目标数据对应的目标存储模式,所述多个内容数据包括所述目标数据,所述至少两种存储模式包括所述目标存储模式。服务器200中设置数据订阅关系库236,客户端300的应用可以方便的从服务器200中获取到数据订阅关系,从而评估内容数据的变更对所述应用的影响范围。
71.至少一个处理器220同至少一个存储介质230和分布式存储系统001的多个存储设备100通信连接。至少一个处理器220运行时读取所述至少一个指令集232并执行至少一个
指令集232。当系统001运行时,至少一个处理器220读取所述至少一个指令集232,并且根据所述至少一个指令集232的指示执行本说明书提供的所述数据操作的方法,即数据存储的方法p200和数据访问的方法p300。处理器220可以执行数据存储的方法p200和数据访问的方法p300包含的所有步骤。处理器220可以是一个或多个处理器的形式,在一些实施例中,处理器220可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(risc),专用集成电路(asic),特定于应用的指令集处理器(asip),中央处理单元(cpu),图形处理单元(gpu),物理处理单元(ppu),微控制器单元,数字信号处理器(dsp),现场可编程门阵列(fpga),高级risc机器(arm),可编程逻辑器件(pld),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。仅仅为了说明问题,在本说明书中服务器200中仅描述了一个处理器220。然而,应当注意,本说明书中服务器200还可以包括多个处理器,因此,本说明书中披露的操作和/或方法步骤可以如本说明书所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本说明书中服务器200的处理器220执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同处理器220联合或分开执行(例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一和第二处理器共同执行步骤a和b)。
72.至少一个处理器220运行时读取所述至少一个指令集232并执行至少一个指令集232,从而执行所述数据操作的方法。所述数据操作的方法包括通过至少一个处理器220执行:
73.接收对目标数据的数据操作请求,所述目标数据可以是所述数据操作请求中请求操作的数据,所述多个内容数据包括所述目标数据,所述数据操作请求可以来自客户端300的所述目标应用,也可以来自应用开发端;
74.确定所述目标数据对应的目标存储模式,所述至少两种存储模式包括所述目标存储模式。具体地,至少一个处理器220可以将所述目标数据与所述元数据库中的元数据进行匹配,确定所述目标数据的元数据,具体地,通过将所述目标数据的数据名与所述元数据库234中的数据名进行匹配,获取所述目标数据的元数据;基于所述目标数据的元数据,确定所述目标数据对应的所述目标存储模式;
75.对所述多个存储设备100以与所述目标存储模式相匹配的方式执行对所述目标数据的所述数据操作。具体地,至少一个处理器220可以根据所述目标存储模式,通过所述调用指令232-4驱动与所述目标存储模式对应的数据处理指令232-2执行所述数据操作。
76.综上所述,分布式存储系统001的服务器200可以对多个存储设备100中的多种存储模式进行统一管理,服务器200中预先存储有统一管理组件,负责管理所述多个内容数据对应的存储模式,服务器200可以根据所述多个内容数据对应的存储模式,确定所述数据操作请求中请求操作的目标数据对应的目标存储模式,从而调用与所述目标存储模式相匹配的数据处理指令执行所述数据操作。服务器200可以接收统一的数据操作请求,并根据不同的存储模式使用不同的数据处理指令执行所述数据操作,不需要所述目标应用或应用开发端提前感知目标数据对应的存储模式,也不需要所述目标应用或应用开发端根据目标数据对应的存储模式,选用不同的计算机语言发送所述数据操作请求,大大降低应用开发的成本。分布式存储系统001通过服务器200可以实现对多种不同存储模式的内容数据的统一管理。
77.分布式存储系统001的服务器200不仅可以应用在普通的分布式存储场景中,还可
以应用于参数配置中心的分布式存储场景。在参数配置中心的分布式存储场景中,所述多个内容数据为多个应用的配置参数,所述多个应用的配置参数可以通过分布式存储的方式存储在多个存储设备100中,并通过服务器200对所述多个应用的配置参数进行统一管理。为了方便展示,下面的描述中将以分布式存储系统001为参数配置中心的分布式存储场景为例进行描述。
78.图3示出了一种数据存储的方法p200的流程图。如前所述,服务器200可以执行本说明书提供的数据存储的方法p200。具体地,服务器200中的处理器220可以读取存储在至少一个存储介质230中的至少一个指令集232,然后根据所述至少一个指令集232的规定,执行本说明书提供的数据存储的方法p200。所述方法p200可以包括通过至少一个处理器220执行下述步骤:
79.s220:接收对目标数据的数据存储请求。
80.在参数配置中心的分布式存储场景下,所述数据存储请求可以来自于应用的开发端500。所述目标数据可以是所述应用开发端500要进行数据存储操作的内容数据。所述多个内容数据包括所述目标数据。所述数据存储请求可以包括对所述目标数据进行内容写入的请求。所述数据存储请求中可以包括所述目标数据的数据名,所述目标数据的数据主键(即要求进行内容写入的目标数据的唯一数据标识)以及要求写入的内容。比如,在支付宝应用中,所述目标数据的数据名可以是余额宝的余额、花呗的额度、7月份的账单,等等;所述目标数据的数据主键可以是支付宝的账号和密码,所述支付宝的账号和密码可以作为唯一的数据标识,用于区分不同的用户。所述内容可以是在所述数据名对应的内容数据中,所述数据主键对应的数据值。比如,所述内容可以是账号为a密码为b的用户的余额宝的余额值,或者账号为a密码为b的用户的花呗的额度值,等等。
81.s240:确定所述目标数据对应的目标存储模式。
82.如前所述,元数据库234中可以存储有所有内容数据的元数据。所述元数据中可以存储有当前内容数据的数据名以及对应的存储模式。具体地,服务器200可以根据所述数据存储请求中的所述目标数据的数据名与元数据库234中的元数据的数据名进行匹配,确定所述目标数据的元数据;并基于所述目标数据的元数据,确定所述目标数据对应的所述目标存储模式。其中,所述目标数据对应的目标存储模式是所述至少两种存储模式中的一种。
83.s260:将所述内容以与所述目标存储模式相匹配的方式写入所述目标数据中。
84.将所述内容写入所述目标数据时,需要根据所述目标数据对应的所述目标存储模式,将所述内容以所述目标存储模式写入所述目标数据中。比如,当所述目标存储模式是基于数据库的存储模式时,服务器200需要以所述基于数据库的存储模式,将所述内容写入所述目标数据中,即服务器200需要执行与所述基于数据库的存储模式相匹配的指令将所述内容写入所述目标数据中。当所述目标存储模式是基于git仓库的存储模式时,服务器200需要以所述基于git仓库的存储模式,将所述内容写入所述目标数据中,即服务器200需要执行与所述基于git仓库的存储模式相匹配的指令将所述内容写入所述目标数据中。
85.如前所述,服务器200的至少一个指令集232中包括至少两种数据处理指令232-2,与所述至少两种存储模式相对应,用于指令所述至少一个处理器220以与对应的存储模式相匹配的方式执行所述数据存储,即所述内容写入。至少一个指令集232还包括调用指令232-4。调用指令232-4用于根据所述多个内容数据中的每个内容数据对应的存储模式,驱
动所述至少两种数据处理指令232-2中与当前内容数据对应的存储模式相对应的数据处理指令232-2。
86.具体地,实施步骤s260可以是通过至少一个处理器220,根据所述目标存储模式,通过所述调用指令232-4驱动与所述目标存储模式对应的数据处理指令232-2,将所述内容以所述目标存储模式写入所述目标数据中。
87.综上所述,应用开发端在对所述目标数据进行所述数据存储时,无需提前感知所述目标数据对应的目标存储模式,只需将所述目标数据的数据名发送给服务器200,服务器200可自动进行匹配,确定所述目标数据对应的目标存储模式,并基于所述目标存储模式,调用与所述目标存储模式相对应的数据处理指令,以与所述目标存储模式相匹配的方式执行所述数据存储。服务器200可以实现对多种不兼容的存储模式的统一管理。
88.图4示出了一种数据访问的方法p300的流程图。如前所述,服务器200可以执行本说明书提供的数据访问的方法p300。具体地,服务器200中的处理器220可以读取存储在至少一个存储介质230中的至少一个指令集232,然后根据所述至少一个指令集232的规定,执行本说明书提供的数据访问的方法p300。所述方法p300可以包括通过至少一个处理器220执行下述步骤:
89.s320:接收目标应用发送的数据访问请求。
90.在参数配置中心的分布式访问场景下,所述数据访问请求可以来自于客户端300的所述目标应用。所述数访问请求可以包括对所述目标数据的内容进行数据访问的请求,即访问所述目标数据对应的内容的请求。所述目标数据可以是与所述目标应用存在关联关系的内容数据,即所述目标应用的配置参数。所述多个内容数据包括所述目标数据。所述数据访问请求中可以包括所述目标数据的数据名,所述目标数据的数据主键(即要求进行内容写入的目标数据的唯一数据标识)。比如,在支付宝应用中,所述目标数据的数据名可以是余额宝的余额、花呗的额度、7月份的账单,等等;所述目标数据的数据主键可以是支付宝的账号和密码,所述支付宝的账号和密码可以作为唯一的数据标识,用于区分不同的用户。比如,所述数据访问请求可以是对账号为a密码为b的用户的余额宝的余额值进行访问的请求,或者对账号为a密码为b的用户的花呗的额度值进行访问的请求,等等。
91.步骤s320可以通过不同的方式实现。图5示出了根据本说明书的实施例提供的一种接收目标应用发送的数据访问的请求的方法流程图。如图5所示,步骤s320可以包括:
92.s322:接收所述目标应用发送的数据订阅关系查询请求,所述数据订阅关系查询请求中可以包括所述目标应用的唯一标识;
93.s324:将所述目标应用与所述数据订阅关系库中的数据进行匹配,确定与所述目标应用存在关联关系的所述目标数据,所述目标应用可以同时关联多个所述目标数据;
94.s326:将所述目标数据发送给所述目标应用,所述目标数据中包括所述目标数据的数据名;
95.s328:接收所述目标应用发送的所述数据访问请求。
96.步骤s320还可以通过其他方式实现,比如,服务器200接收所述目标应用发送的所述数据访问请求,所述数据访问请求中包括所述目标应用的唯一标识;服务器200将所述目标应用与所述数据订阅关系库中的数据进行匹配,确定与所述目标应用存在关联关系的所述目标数据。
97.服务器200在接收到所述数据访问请求后,通过至少一个处理器220执行:
98.s340:确定所述目标数据对应的目标存储模式。
99.如前所述,元数据库234中可以存储有所有内容数据的元数据。所述元数据中可以存储有当前内容数据的数据名以及对应的存储模式。具体地,服务器200可以根据所述数据访问请求中的所述目标数据的数据名与元数据库234中的元数据的数据名进行匹配,确定所述目标数据的元数据;并基于所述目标数据的元数据,确定所述目标数据对应的所述目标存储模式。其中,所述目标数据对应的目标存储模式是所述至少两种存储模式中的一种。
100.s360:以与所述目标存储模式相匹配的方式对所述目标数据的内容进行所述数据访问,获取所述目标数据的内容。
101.对所述目标数据的内容进行数据访问时,需要根据所述目标数据对应的所述目标存储模式,从所述目标数据所在的存储设备中以与所述目标存储模式相匹配的方式读取所述目标数据的内容。比如,当所述目标存储模式是基于数据库的存储模式时,服务器200需要以所述基于数据库的存储模式,读取所述目标数据的内容,即服务器200需要执行与所述基于数据库的存储模式相匹配的指令读取所述目标数据的内容。当所述目标存储模式是基于git仓库的存储模式时,服务器200需要以所述基于git仓库的存储模式,读取所述目标数据的内容,即服务器200需要执行与所述基于git仓库的存储模式相匹配的指令读取所述目标数据的内容。
102.如前所述,服务器200的至少一个指令集232中包括至少两种数据处理指令232-2,与所述至少两种存储模式相对应,用于指令所述至少一个处理器220以与对应的存储模式相匹配的方式执行所述数据访问。至少一个指令集232还包括调用指令232-4。调用指令232-4用于根据所述多个内容数据中的每个内容数据对应的存储模式,驱动所述至少两种数据处理指令232-2中与当前内容数据对应的存储模式相对应的数据处理指令232-2。
103.具体地,实施步骤s360可以是通过至少一个处理器220,根据所述目标存储模式,通过所述调用指令232-4驱动与所述目标存储模式对应的数据处理指令232-2,获取所述目标数据的内容。
104.s380:将所述目标数据的内容发送给所述目标应用。
105.综上所述,客户端300的所述目标应用在对所述目标数据的内容进行所述数据访问时,无需提前感知所述目标数据对应的目标存储模式,只需将所述目标数据的数据名发送给服务器200,服务器200可自动进行匹配,确定所述目标数据对应的目标存储模式,并基于所述目标存储模式,调用与所述目标存储模式相对应的数据处理指令,以与所述目标存储模式相匹配的方式执行所述数据访问。服务器200可以实现对多种不兼容的存储模式的统一管理。
106.本说明书还提供一种数据访问的方法p400,应用于所述目标应用,所述目标应用搭载在客户端300上。客户端300可以包括至少一个存储介质和至少一个处理器。所述至少一个存储介质包括至少一个指令集,用于数据访问。所述至少一个处理器同所述至少一个存储介质通信连接。其中,当所述客户端300运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行所述数据访问的方法p400。图6示出了一种数据访问的方法p400的流程图。所述数据访问的方法p400可以包括通过客户端300的所述至少一个处理器执行:
107.s420:向服务器200发送数据访问请求。
108.所述数据访问请求包括所述目标应用对目标数据进行数据访问的请求,其中,所述服务器200存储有所述目标数据对应的目标存储模式,所述服务器200运行时基于所述目标存储模式,以与所述目标存储模式相匹配的方式进行所述数据访问,获取所述目标数据的内容。步骤s420可以包括:
109.s422:向服务器200发送数据订阅关系查询请求。所述数据订阅关系查询请求可以包括查询与所述目标应用关联的所述目标数据的请求。所述数据订阅关系查询请求中可以包括所述目标应用的唯一标识。服务器200根据所述目标应用的唯一标识,与数据订阅关系库236中的数据进行匹配,确定所述目标应用关联的所述目标数据,并将所述目标数据发送给所述目标应用。
110.s424:接收服务器200发送的查询结果。所述查询结果中包括与所述目标应用存在关联关系的所述目标数据的数据名。
111.s426:向服务器200发送对所述目标数据的所述数据访问请求。
112.s440:获取服务器200发送的所述目标数据的内容。
113.具体地,步骤s440可以包括:
114.s442:将所述目标数据的内容以基于数据库的存储模式存储在所述客户端300的所述至少一个存储介质中。在所述应用的配置参数转移至分布式存储系统001进行存储之前,客户端300的多个应用中可能存在部分应用的配置参数以基于数据库的存储模式存储在客户端300的所述至少一个存储介质中,所述部分应用只配备了基于数据库的存储模式的数据访问层,用于对本地数据库(客户端300的所述至少一个存储介质)中的数据进行访问。当所有应用的配置参数都迁移至分布式存储系统001进行统一存储和管理时,需要对没有配备api的应用进行升级和改造,使其配备api,用以获取所述目标数据的内容。对所述没有配备api的应用进行升级和改造的工程量巨大,需要花费大量的时间成本和人力成本。因此,所述目标应用在接收到服务器200发送的所述目标数据的内容后,将所述目标数据的内容以基于数据库的存储模式存储在所述客户端300的所述至少一个存储介质中,所述目标应用不需要进行升级和改造,便可以使用原有的数据访问层对客户端300的所述至少一个存储介质中的基于数据库的存储模式存储的所述目标数据的内容进行访问。而对于配备了api接口的应用,可以通过所述api接口调用所述数据访问层,对客户端300的所述至少一个存储介质中的基于数据库的存储模式存储的所述目标数据的内容进行访问。因此,所有的应用都可以不进行代码的修改,只需要切换数据源便可以实现数据访问。
115.s444:获取所述目标数据的内容。所述目标应用可以通过多种方式从客户端300的所述至少一个存储介质中获取所述目标数据的内容。具体地,步骤s444包括以下情况中的至少一种:
116.s444-2:基于所述目标应用的数据访问层获取所述目标数据的内容。
117.s444-4:基于所述目标应用的应用程序编程接口(api)获取所述目标数据的内容。
118.当所述目标应用没有配备api接口时,可以基于所述目标应用的数据访问层从客户端300的所述至少一个存储介质中获取所述目标数据的内容;当所述目标应用配备api接口时,所述目标应用可以通过所述api接口调用所述目标应用的所述数据访问层,对客户端300的所述至少一个存储介质中的基于数据库的存储模式存储的所述目标数据的内容进行
访问。
119.综上所述,所述数据访问的方法p400可以适用于各种类型的应用,使其在不修改代码的情况下,也可以对分布式存储系统001中的不同的存储模式的内容数据进行访问。
120.综上所述,本说明书提供的分布式存储系统001的服务器200、分布式存储系统001、数据存储的方法p200、数据访问的方法p300和数据访问的方法p400,在服务器200中记录有每个内容数据对应的存储模式,当目标应用在对所述目标数据进行数据存储或数据访问时,服务器200通过查询所述目标数据对应的存储模式,从而调用与所述目标数据对应的存储模式相匹配的程序或指令,对所述目标数据进行数据存储或数据访问操作。因此,所述目标应用无需感知所述目标数据对应的存储模式,无需针对不同的存储模式使用不同的计算机语言,只需通过统一的计算机语言向服务器200发送数据存储或数据访问的请求,服务器200便可以根据数据对应的存储模式调用对应的计算机语言执行数据存储或访问的操作,从而节省应用的开发成本。
121.本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来数据存储和数据访问的可执行指令,当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的数据存储的方法p200和数据访问的方法p300的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在服务器200上运行时,所述程序代码用于使服务器200执行本说明书描述的数据存储和数据访问的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在服务器200上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统(例如处理器220)使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在服务器200上执行、部分地在服务器200上执行、作为一个独立的软件包执行、部分在服务器200上部分在远程计算设备上执行、或者完全在远程计算设备上执行。在涉及远程计算设备的情形中,远程计算设备可以通过网络120连接到服务器200,或者可以连接到外部计算设备。
122.上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围
内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
123.综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
124.此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
125.应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分特征提取出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
126.本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
127.最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献