CN112115134A - 数据存储方法、装置、电子设备及存储介质 - Google Patents
数据存储方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112115134A CN112115134A CN202010773066.XA CN202010773066A CN112115134A CN 112115134 A CN112115134 A CN 112115134A CN 202010773066 A CN202010773066 A CN 202010773066A CN 112115134 A CN112115134 A CN 112115134A
- Authority
- CN
- China
- Prior art keywords
- external application
- data
- storage
- tenant
- namespace
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000013500 data storage Methods 0.000 title claims abstract description 30
- 238000005192 partition Methods 0.000 claims abstract description 104
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000002955 isolation Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
Abstract
本公开实施例公开了一种数据存储方法、装置、电子设备及存储介质,该方法包括:接收外部应用程序发送的数据,其中,所述数据中携带所述外部应用程序的参数信息;根据所述参数信息,获取为所述外部应用程序所创建的租户和所述租户的命名空间;根据获取到的所述租户和所述命名空间确定存储分区,并将所述数据写入所述存储分区中。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种数据存储方法、一种数据存储装置、一种电子设备、及一种计算机可读存储介质。
背景技术
数据接收服务可以为用于接收外部应用程序的数据的一个程序,通常,该数据接收服务会提供对外接口,并通过该接口和外部应用程序进行数据传输。例如,通过该接口接收外部应用程序发送的数据,并通过该数据接收服务将接收到的外部应用程序的数据存储至数据库中。
然而,由于大多数外部应用程序中会存在多个不同的业务,现有技术中,其是将接收到的不同外部应用程序的数据,以及,同一外部应用程序的数据均直接存储至数据库中,导致不同外部应用程序,以及,同一外部应用程序中的不同业务的数据存在数据共享,从而,无法进行数据隔离。
发明内容
本公开的一个目的是提供一种数据存储的新的技术方案。
根据本公开的第一方面,提供一种数据存储方法,包括:
接收外部应用程序发送的数据,其中,所述数据中携带所述外部应用程序的参数信息;
根据所述参数信息,获取为所述外部应用程序所创建的租户和所述租户的命名空间;
根据获取到的所述租户和所述命名空间确定存储分区,并将所述数据写入所述存储分区中。
可选的,所述外部应用程序的参数信息包括:所述外部应用程序的标识信息和所述外部应用程序中发送所述数据的业务的标识信息,
所述根据所述参数信息,获取为所述外部应用程序所创建的租户和所述租户的命名空间,包括:
根据所述外部应用程序的标识信息,获取为所述外部应用程序所创建的租户;以及,
根据所述业务的标识信息,获取为所述外部应用程序所创建租户的命名空间。
可选的,所述将所述数据写入所述存储分区中,包括:
以轮询的方式依次将所述数据写入多个所述存储分区中。
可选的,所述方法在接收所述外部应用程序发送的数据之前,还包括:
接收所述外部应用程序的声明通知,其中,所述声明通知中携带所述外部应用程序的参数信息;
根据所述外部应用程序的参数信息,为所述外部应用程序创建租户、命名空间和存储分区。
可选的,所述外部应用程序的参数信息包括:所述外部应用程序的标识信息和所述外部应用程序中包括的业务的标识信息,以及包括所述外部应用程序所需的存储分区的数量和所述存储分区的存储大小之中的任意一个或者两个。
可选的,所述根据外部应用程序的参数信息,为所述外部应用程序创建租户、命名空间和存储分区,包括:
根据所述外部应用程序的标识信息,为所述外部应用程序创建租户,其中,一个所述外部应用程序对应一个租户;
根据所述业务的标识信息,为所述租户创建命名空间,其中,一个所述业务对应一个所述命名空间;
根据所述存储分区的数量,确定为所述命名空间所要创建的存储分区的数量;以及,
根据所述存储分区的存储大小,确定为所述存储分区所分配的存储空间。
可选的,在将所述数据写入所述存储分区中的过程中,所述方法还包括:
获取所述命名空间下的各个所述存储分区所存储数据的和值;
在所述和值超过设定阈值的情况下,对到达所述命名空间的数据进行限制。
根据本公开的第二方面,提供了一种数据存储装置,包括:
接收模块,用于接收外部应用程序发送的数据,其中,所述数据中携带所述外部应用程序的参数信息;
获取模块,用于根据所述参数信息,获取为所述外部应用程序所创建的租户和所述租户的命名空间;
存储模块,用于根据获取到的所述租户和所述命名空间确定存储分区,并将所述数据写入所述存储分区中。
根据本公开的第三方面,提供了一种电子设备,包括:
存储器,用于存储可执行的指令;
处理器,用于根据所述指令的控制运行所述电子设备执行如以上第一方面所述的方法。
根据本公开的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有可被计算机读取执行的计算机程序,所述计算机程序用于在被所述计算机读取运行时,执行根据以上第一方面所述的方法。
根据本公开实施例,其在接收到任意外部应用程序发送的数据时,会根据该数据中携带的参数信息获取预先为该外部应用程序所创建的租户和对应该租户的命名空间,进而根据该租户和该命名空间确定存储分区,并将该数据写入该存储分区中,由于租户是一种外部应用程序隔离的第一层单元也是数据隔离的最大单元,而该租户的命名空间为区分该外部应用程序中不同业务的第二层单元也是数据隔离的第二层单元,存储分区为该数据实际存储的区域,即,其能够将不同外部应用程序的数据发送至对应的租户,以及,将同一外部应用程序中不同业务的数据发送至对于该业务的命名空间,从而,实现不同外部应用程序,以及,同一外部应用程序中不同业务的数据隔离。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且连同其说明一起用于解释本公开的原理。
图1是可用于实现本公开实施例的服务器的硬件配置的框图。
图2是根据本公开实施例的数据存储方法的示意性流程图;
图3是根据本公开实施例的数据存储系统的结构示意图;
图4是根据本公开另一实施例的数据存储方法的示意性流程图;
图5是根据本公开另一实施例的数据存储系统的结构示意图;
图6是根据本公开实施例的数据存储装置的原理框图;
图7是根据本公开实施例的电子设备的原理框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
图1是可用于实现本公开任意实施例的数据存储方法的一种服务器的硬件结构示意图。
该服务器1000例如可以是单片服务器。在一个例子中,服务器1000可以是一台计算机。
在另一个例子中,服务器可以如图1所示包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600。处理器1100例如可以是中央处理器CPU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、串行接口等。通信装置1400例如能够进行有线或无线通信。显示装置1500例如是液晶显示屏。输入装置1600例如可以包括触摸屏、键盘等。
本领域技术人员应当理解,尽管在图1中示出了服务器1000的多个装置,但是,本公开实施例的服务器1000可以仅涉及其中的部分装置,例如,只涉及处理器1100和存储器1200。这是本领域公知,此处不再赘述。
应用于本实施例中,存储器1200用于存储计算机程序指令,该指令用于控制处理器1100进行操作以执行根据本公开任意实施例的数据存储方法。技术人员可以根据本发明所公开方案设计该指令。该指令如何控制处理器1100进行操作,这是本领域公知,故在此不再详细描述。
在另一个例子中,服务器1000可以包括根据本公开任意实施例的数据存储装置6000,用于实施本公开任意实施例的数据存储方法。
本实施例涉及的场景是Severless(无服务器)服务,即,其没有为每一外部应用程序所发送的数据单独分配一台计算机进行存储,而是通过服务器1000中数据接收服务提供对外接口,以通过该对外接口与外部应用程序进行通信,例如通过该对外接口接收外部应用程序发送的数据,并由服务器1000中的数据存储装置6000根据该数据中的参数信息,获取为该外部应用程序所创建的租户和该租户的命名空间,并根据获取到的该租户和该命名空间确定存储分区,进而将数据写入存储分区中。
<方法实施例>
图2是根据本公开实施例的数据存储方法的流程示意图,该方法由数据存储装置6000实施。
如图2所示,该方法可以包括如下步骤S2100~S2300:
步骤S2100,接收外部应用程序发送的数据。
外部应用程序例如可以是运行在外部电子设备中的应用程序,例如运行在外部服务器或者外部终端设备中的应用程序,其中,每一外部应用程序包括至少一个业务,在此,该外部应用程序发送的数据可以是任意一个业务或者是任意多个业务发送的数据。
数据中携带外部应用程序的参数信息,该参数信息可以是第一参数信息,该第一参数信息可以包括外部应用程序的标识信息和该外部应用程序中发送数据的业务的标识信息。
以上外部应用程序的标识信息用于唯一标识该外部应用程序。
以上业务的标识信息用于标识该业务,该标识信息例如可以是业务名称,也可以是与该业务名称具有映射关系的其它标识码。可以理解的是,同一外部应用程序中的不同业务具有不同的标识信息,不同外部应用程序中的业务可以是具有不同的标识信息,也可以是具有相同的标识信息,当具有相同的标识信息的情况下,可以利用业务所对应的外部应用程序的标识信息区分不同外部应用程序中的业务。
结合图3所示,可以是通过以上数据接收服务提供的对外接口接收外部应用程序A、外部应用程序B以及外部应用程序C发送的数据。
步骤S2200,根据参数信息,获取为外部应用程序所创建的租户和租户的命名空间。
参数信息可以包括以上外部应用程序的标识信息和该外部应用程序中发送数据的业务的标识信息。
本实施例中,其会预先为每一个待发送数据的外部应用程序在逻辑上创建对应该外部应用程序的租户、命名空间和存储分区。租户是外部应用程序隔离的第一层单元也是数据隔离的最大单元,该租户的命名空间为区分该外部应用程序中不同业务的第二层单元也是数据隔离的第二层单元,存储分区为该数据实际存储的区域。其中,一个外部应用程序对应一个租户,该租户可以是根据该外部应用程序的标识信息确定;该外部应用程序中的一个业务对应一个命名空间,该命名空间可以是根据该外部应用程序中包括的业务的标识信息确定;该外部应用程序中的一个命名空间对应至少一个存储分区。
本实施例中,该步骤S2200中根据参数信息,获取为外部应用程序所创建的租户和租户的命名空间可以进一步包括如下步骤S2210~S2220:
步骤S2210,根据外部应用程序的标识信息,获取为外部应用程序所创建的租户。
示例性地,发送数据的外部应用程序为图3所示的外部应用程序A,可以根据该外部应用程序A的标识信息,获取该外部应用程序A所创建的租户A。
步骤S2220,根据外部应用程序中发送数据的业务的标识信息,获取为该外部应用程序所创建的租户的命名空间。
结合图3和步骤S2210中的示例,该外部应用程序A中发送数据的业务为业务A1和业务A2,则可以根据该业务A1和业务A2的业务名称,获取所创建的租户A的命名空间A1和命名空间A2。
根据以上步骤S2210~S2220,其根据外部应用程序的标识信息确定租户,以及根据该外部应用程序中实际发送数据的业务的标识信息确定该租户的命名空间,进而能将数据存储至对应租户-命名空间下的存储分区中,以实现不同外部应用程序,以及,同一外部应用程序中不同业务的数据隔离。
步骤S2300,根据获取到的租户和命名空间确定存储分区,将数据写入存储分区中。
本实施例中,在根据以上步骤S2200获取为外部应用程序所创建的租户和租户的命名空间后,便可根据本步骤S2300根据该租户和命名空间确定存储分区,并将数据写入存储分区中。
本实施例中,一个命名空间下可以存在多个存储分区,该步骤S2300中根据获取到的租户和命名空间确定存储分区,将数据写入存储分区中可以进一步包括:以轮询的方式依次将数据写入多个存储分区中,从而,提高数据存储的效率。
结合图3和以上步骤S2220中的示例,确定出的租户A-命名空间A1包括存储分区1和存储分区2,租户A-命名空间A2包括存储分区1和存储分区2,可以是将业务A1发送的数据以轮询的方式依次写入租户A-命名空间A1中的存储分区1和存储分区2,将业务A2发送的数据以轮询的方式依次写入租户A-命名空间A2中的存储分区1和存储分区2。
根据本公开实施例,其在接收到任意外部应用程序发送的数据时,会根据该数据中携带的参数信息获取预先为该外部应用程序所创建的租户和对应该租户的命名空间,进而根据该租户和该命名空间确定存储分区,并将该数据写入该存储分区中,由于租户是一种外部应用程序隔离的第一层单元也是数据隔离的最大单元,而该租户的命名空间为区分该外部应用程序中不同业务的第二层单元也是数据隔离的第二层单元,存储分区为该数据实际存储的区域,即,其能够将不同外部应用程序的数据发送至对应的租户中,以及,将同一外部应用程序中不同业务的数据存储至该外部应用程序所创建的租户的不同命名空间下的存储分区,从而,实现不同外部应用程序,以及,同一外部应用程序中不同业务的数据隔离。
在一个实施例中,在根据以上步骤S2100接收外部应用程序发送的数据之前,还可以是先为待发送数据的每一个外部应用程序创建对应的租户、命名空间和存储分区,以在接收到数据时,将数据存储至对应的租户-命名空间下的存储分区中,进而进行数据隔离。该实施例中,该数据存储方法可以进一步包括如下步骤S4100~S4200:
步骤S4100,接收外部应用程序的声明通知。
声明通知中携带外部应用程序的参数信息,该参数信息可以是第二参数信息,该第二参数信息可以包括外部应用程序的标识信息和该外部应用程序中包括的业务的标识信息,以及包括该外部应用程序所需的存储分区的数量以及所述存储分区的存储大小之中的任意一个或两个。
本实施例中,每一个待上传数据的外部应用程序均可以通过数据接收服务提供的对外接口发送声明通知,以表示即将要上传数据。
结合图3所示,可以是通过以上数据接收服务提供的对外接口分别接收外部应用程序A、外部应用程序B以及外部应用程序C发送的声明通知A、声明通知B和声明通知C。其中,声明通知A中携带外部应用程序A的标识信息和外部应用程序A中包括的业务名称例如业务A1和业务A2;声明通知B中携带外部应用程序B的标识信息和外部应用程序B中包括的业务名称例如业务B1和业务B2;声明通知C中携带外部应用程序C的标识信息和外部应用程序C中包括的业务名称例如业务C1和业务C2。
步骤S4200,根据外部应用程序的参数信息,为外部应用程序创建租户、命名空间和存储分区。
本实施例中,该步骤S4200中根据外部应用程序的参数信息,为外部应用程序创建租户、命名空间和存储分区可以进一步包括如下步骤S4210~S4230:
步骤S4210,根据外部应用程序的标识信息,为外部应用程序创建租户。
本步骤S4210中,一个外部应用程序对应一个租户。
步骤S4220,根据业务的标识信息,为租户创建命名空间。
本步骤S4220中,一个业务对应一个命名空间。
步骤S4230,根据存储分区的数量,确定为命名空间所要创建的存储分区的数量,以及,根据存储分区的存储大小,确定为存储分区所分配的存储空间。
该数量可以是固定数值,可以为所有命名空间均设置该固定数值的存储分区,该固定数值越大,存储分区数量越多,数据写入的速度也就越快,效率越高。也可以是为每一个命名空间设置各自对应数量的存储分区,对应不同命名空间的存储分区的数量可以相同,也可以不同。
本步骤S4230中,可以是为所有存储分区均设置相同的存储大小,当然,也可以是设置不同的存储大小,本实施例在此不做限定。
下面结合图3和上述步骤S4100的示例,详细给出以上步骤S4210~S4230的具体实施,以上数量为3,且所有存储分区的存储大小相同。
以外部应用程序A为例,可以根据外部应用程序A的标识信息,为外部应用程序A创建租户A;以及,根据外部应用程序A中包括的业务的业务名称例如业务A1和业务A2,为外部应用程序A创建命名空间A1和命名空间A2;以及,为命名空间A1分配存储分区1和存储分区2,同时为命名空间A2分配存储分区1和存储分区2。
以外部应用程序B为例,可以根据外部应用程序B的标识信息,为外部应用程序B创建租户B;以及,根据外部应用程序B中包括的业务的业务名称例如业务B1和业务B2,为外部应用程序B创建命名空间B1和命名空间B2;以及,为命名空间B1创建存储分区1和存储分区2,同时为命名空间B2分配存储分区1和存储分区2。
以外部应用程序C为例,可以根据外部应用程序C的标识信息,为外部应用程序C创建租户C;以及,根据外部应用程序C中包括的业务的业务名称例如业务C1和业务C2,为外部应用程序C创建命名空间C1和命名空间C2;以及,为命名空间C1分配存储分区1和存储分区2,同时为命名空间C2分配存储分区1和存储分区2。
在一个实施例中,在根据以上步骤S2300将数据写入存储分区的过程中,该数据存储方法还可以进一步包括:获取命名空间下的各个存储分区所存储数据的和值;并在和值超过设定阈值的情况下,对命名空间的待存储数据进行限制。
本实施例中,可以是根据具体应用场景和具体应用需求设置该设定阈值,所有命名空间均可以设置相同数值的阈值,也可以是设置不同数值的阈值,本实施例在此不做限定。
本实施例中,如图5所示,对于每一个命名空间层面会有一个数据记录,记录这个命名空间所有写入的数据即上述和值,服务器1000上会有一个速率服务,该速率服务用来定期的读取每一个命名空间上面的数据的和值,然后将对应的数据的和值发送至服务器上的配置中心,该配置中心可以是一种Key-Value存储系统,该配置中心设置有key,对应该key的值value即为任意命名空间上面的数据的和值,例如该key可以定义为租户-命名空间-数据,例如可以key为租户A-命名空间A1-数据,对应的value为100MB,表示租户A对应的命名空间A1上面的数据为100MB,数据接收服务定期读取配置中心的key-value值,并将读取到的key-value值例如100MB和设定阈值进行比较,在超过设定阈值的情况下,则对于该命名空间A1的数据就会暂停写入,防止该命名空间A1的数据过大而影响其他命名空间。
<装置实施例>
本实施例中,还提供一种数据存储装置,如图6所示,该装置6000可以包括接收模块6100,获取模块6200和存储模块6300。
接收模块6100,用于接收外部应用程序发送的数据,其中,所述数据中携带所述外部应用程序的参数信息。
获取模块6200,用于根据所述参数信息,获取为所述外部应用程序所创建的租户和所述租户的命名空间。
存储模块6300,用于根据获取到的所述租户和所述命名空间确定存储分区,并将所述数据写入所述存储分区中。
在一个实施例中,所述外部应用程序的参数信息包括:所述外部应用程序的标识信息和所述外部应用程序中发送所述数据的业务的标识信息。
该获取模块6200,还用于根据所述外部应用程序的标识信息,获取为所述外部应用程序所创建的租户;以及,根据所述业务的标识信息,获取为所述外部应用程序所创建租户的命名空间。
在一个实施例中,该存储模块6300,还用于以轮询的方式依次将所述数据写入多个所述存储分区中。
在一个实施例中,该装置6000还包括创建模块(图中未示出)。
该接收模块6100,还用于接收所述外部应用程序的声明通知,其中,所述声明通知中携带所述外部应用程序的参数信息。
该创建模块,还用于根据所述外部应用程序的参数信息,为所述外部应用程序创建租户、命名空间和存储分区。
在一个实施例中,所述外部应用程序的参数信息包括所述外部应用程序的标识信息和所述外部应用程序中包括的业务的标识信息,以及包括所述外部应用程序所需的存储分区的数量和所述存储分区的存储大小之中的任意一个或者两个。
在一个实施例中,该创建模块,还用于根据所述外部应用程序的标识信息,为所述外部应用程序创建租户,其中,一个所述外部应用程序对应一个租户;根据所述业务的标识信息,为所述租户创建命名空间,其中,一个所述业务对应一个所述命名空间;根据所述存储分区的数量,确定为所述命名空间所要创建的存储分区的数量;以及,根据所述存储分区的存储大小,确定为所述存储分区所分配的存储空间。
在一个实施例中,该装置6000还包括限流模块(图中未示出)。
该限流模块,用于获取所述命名空间下的各个所述存储分区所存储数据的和值;在所述和值超过设定阈值的情况下,对所述命名空间的待存储数据进行限制。
<设备实施例>
在本实施例中,还提供一种电子设备,其可以包括根据本公开任意实施例的数据存储装置6000,用于实施本公开任意实施例的数据存储方法。
如图7所示,该电子设备7000还可以包括处理器7200和存储器7100,该存储器7100用于存储可执行的指令;该处理器7200用于根据指令的控制运行电子设备以执行根据本公开任意实施例的数据存储方法。
以上装置7000的各个模块可以由处理器7200运行该指令以执行根据本公开任意实施例的数据存储方法来实现。
该电子设备7000可以是服务器,例如,该电子设备7000可以是图1中的服务器1000等。
<介质实施例>
在本实施例中,还提供一种计算机可读存储介质,该计算机可读存储介质存储有可被计算机读取并运行的计算机程序,所述计算机程序用于在被所述计算机读取运行时,执行如本公开以上任意实施例所述的方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本公开的范围由所附权利要求来限定。
Claims (10)
1.一种数据存储方法,其特征在于,
接收外部应用程序发送的数据,其中,所述数据中携带所述外部应用程序的参数信息;
根据所述参数信息,获取为所述外部应用程序所创建的租户和所述租户的命名空间;
根据获取到的所述租户和所述命名空间确定存储分区,并将所述数据写入所述存储分区中。
2.根据权利要求1所述的方法,其特征在于,所述外部应用程序的参数信息包括:所述外部应用程序的标识信息和所述外部应用程序中发送所述数据的业务的标识信息,
所述根据所述参数信息,获取为所述外部应用程序所创建的租户和所述租户的命名空间,包括:
根据所述外部应用程序的标识信息,获取为所述外部应用程序所创建的租户;以及,
根据所述业务的标识信息,获取为所述外部应用程序所创建租户的命名空间。
3.根据权利要求1所述的方法,其特征在于,所述将所述数据写入所述存储分区中,包括:
以轮询的方式依次将所述数据写入多个所述存储分区中。
4.根据权利要求1所述的方法,其特征在于,所述方法在接收所述外部应用程序发送的数据之前,还包括:
接收所述外部应用程序的声明通知,其中,所述声明通知中携带所述外部应用程序的参数信息;
根据所述外部应用程序的参数信息,为所述外部应用程序创建租户、命名空间和存储分区。
5.根据权利要求4所述的方法,其特征在于,所述外部应用程序的参数信息包括所述外部应用程序的标识信息和所述外部应用程序中包括的业务的标识信息,以及包括所述外部应用程序所需的存储分区的数量和所述存储分区的存储大小之中的任意一个或者两个。
6.根据权利要求5所述的方法,其特征在于,所述根据外部应用程序的参数信息,为所述外部应用程序创建租户、命名空间和存储分区,包括:
根据所述外部应用程序的标识信息,为所述外部应用程序创建租户,其中,一个所述外部应用程序对应一个租户;
根据所述业务的标识信息,为所述租户创建命名空间,其中,一个所述业务对应一个所述命名空间;
根据所述存储分区的数量,确定为所述命名空间所要创建的存储分区的数量;以及,
根据所述存储分区的存储大小,确定为所述存储分区所分配的存储空间。
7.根据权利要求1所述的方法,其特征在于,在将所述数据写入所述存储分区中的过程中,所述方法还包括:
获取所述命名空间下的各个所述存储分区所存储数据的和值;
在所述和值超过设定阈值的情况下,对所述命名空间的待存储数据进行限制。
8.一种数据存储装置,其特征在于,包括:
接收模块,用于接收外部应用程序发送的数据,其中,所述数据中携带所述外部应用程序的参数信息;
获取模块,用于根据所述参数信息,获取为所述外部应用程序所创建的租户和所述租户的命名空间;
存储模块,用于根据获取到的所述租户和所述命名空间确定存储分区,并将所述数据写入所述存储分区中。
9.一种电子设备,其特征在于,包括:
存储器,用于存储可执行的指令;
处理器,用于根据所述指令的控制运行所述电子设备执行如权利要求1-7任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有可被计算机读取执行的计算机程序,所述计算机程序用于在被所述计算机读取运行时,执行根据权利要求1-7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010773066.XA CN112115134A (zh) | 2020-08-04 | 2020-08-04 | 数据存储方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010773066.XA CN112115134A (zh) | 2020-08-04 | 2020-08-04 | 数据存储方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112115134A true CN112115134A (zh) | 2020-12-22 |
Family
ID=73799158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010773066.XA Pending CN112115134A (zh) | 2020-08-04 | 2020-08-04 | 数据存储方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112115134A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168081A (zh) * | 2021-12-09 | 2022-03-11 | 中国电信股份有限公司 | 高维特征存储方法及装置、存储介质、电子设备 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102646042A (zh) * | 2012-02-28 | 2012-08-22 | 华为终端有限公司 | 一种应用程序数据存储的方法及终端设备 |
CN103930875A (zh) * | 2011-06-16 | 2014-07-16 | 尤塞瑞斯公司 | 用于加速业务数据处理的软件虚拟机 |
CN105117444A (zh) * | 2015-08-13 | 2015-12-02 | 杭州杉石科技有限公司 | 一种基于app应用的统一管理系统 |
CN105183829A (zh) * | 2015-08-28 | 2015-12-23 | 北京金山安全软件有限公司 | 一种图片分类方法和装置 |
CN105913247A (zh) * | 2016-03-31 | 2016-08-31 | 宇龙计算机通信科技(深圳)有限公司 | 一种esim卡的空间管理方法及装置 |
CN106161629A (zh) * | 2016-07-13 | 2016-11-23 | 广州新博庭网络信息科技股份有限公司 | 一种业务对象同步的方法、客户端和服务器 |
CN107111626A (zh) * | 2014-11-01 | 2017-08-29 | 慧与发展有限责任合伙企业 | 用于租户的数据管理 |
CN107133243A (zh) * | 2016-02-29 | 2017-09-05 | 华为技术有限公司 | 一种数据处理方法和服务器 |
CN108052281A (zh) * | 2017-11-30 | 2018-05-18 | 平安科技(深圳)有限公司 | 业务资料存储方法、应用服务器及计算机存储介质 |
CN108255740A (zh) * | 2017-12-07 | 2018-07-06 | 深圳市中易通安全芯科技有限公司 | 一种flash均衡擦写方法及系统 |
CN108280365A (zh) * | 2017-09-19 | 2018-07-13 | 平安科技(深圳)有限公司 | 数据访问权限管理方法、装置、终端设备及存储介质 |
CN108595192A (zh) * | 2018-05-08 | 2018-09-28 | 青岛海信宽带多媒体技术有限公司 | 一种应用程序的安装方法及终端设备 |
CN109510866A (zh) * | 2018-10-23 | 2019-03-22 | 东软集团股份有限公司 | 用于云推送系统的推送方法、装置、存储介质和电子设备 |
CN109889403A (zh) * | 2019-01-30 | 2019-06-14 | 北京云端智度科技有限公司 | 一种基于轮询机制的cdn网络流量检测方法 |
CN110221990A (zh) * | 2019-04-26 | 2019-09-10 | 北京奇安信科技有限公司 | 数据的存储方法及装置、存储介质、计算机设备 |
CN110457258A (zh) * | 2019-08-06 | 2019-11-15 | 北京字节跳动网络技术有限公司 | 一种日志管理方法、装置、设备及介质 |
CN110990415A (zh) * | 2019-11-14 | 2020-04-10 | 锐捷网络股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111046045A (zh) * | 2019-12-13 | 2020-04-21 | 中国平安财产保险股份有限公司 | 处理数据倾斜的方法、装置、设备及存储介质 |
-
2020
- 2020-08-04 CN CN202010773066.XA patent/CN112115134A/zh active Pending
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103930875A (zh) * | 2011-06-16 | 2014-07-16 | 尤塞瑞斯公司 | 用于加速业务数据处理的软件虚拟机 |
CN102646042A (zh) * | 2012-02-28 | 2012-08-22 | 华为终端有限公司 | 一种应用程序数据存储的方法及终端设备 |
CN107111626A (zh) * | 2014-11-01 | 2017-08-29 | 慧与发展有限责任合伙企业 | 用于租户的数据管理 |
CN105117444A (zh) * | 2015-08-13 | 2015-12-02 | 杭州杉石科技有限公司 | 一种基于app应用的统一管理系统 |
CN105183829A (zh) * | 2015-08-28 | 2015-12-23 | 北京金山安全软件有限公司 | 一种图片分类方法和装置 |
CN107133243A (zh) * | 2016-02-29 | 2017-09-05 | 华为技术有限公司 | 一种数据处理方法和服务器 |
CN105913247A (zh) * | 2016-03-31 | 2016-08-31 | 宇龙计算机通信科技(深圳)有限公司 | 一种esim卡的空间管理方法及装置 |
CN106161629A (zh) * | 2016-07-13 | 2016-11-23 | 广州新博庭网络信息科技股份有限公司 | 一种业务对象同步的方法、客户端和服务器 |
CN108280365A (zh) * | 2017-09-19 | 2018-07-13 | 平安科技(深圳)有限公司 | 数据访问权限管理方法、装置、终端设备及存储介质 |
CN108052281A (zh) * | 2017-11-30 | 2018-05-18 | 平安科技(深圳)有限公司 | 业务资料存储方法、应用服务器及计算机存储介质 |
CN108255740A (zh) * | 2017-12-07 | 2018-07-06 | 深圳市中易通安全芯科技有限公司 | 一种flash均衡擦写方法及系统 |
CN108595192A (zh) * | 2018-05-08 | 2018-09-28 | 青岛海信宽带多媒体技术有限公司 | 一种应用程序的安装方法及终端设备 |
CN109510866A (zh) * | 2018-10-23 | 2019-03-22 | 东软集团股份有限公司 | 用于云推送系统的推送方法、装置、存储介质和电子设备 |
CN109889403A (zh) * | 2019-01-30 | 2019-06-14 | 北京云端智度科技有限公司 | 一种基于轮询机制的cdn网络流量检测方法 |
CN110221990A (zh) * | 2019-04-26 | 2019-09-10 | 北京奇安信科技有限公司 | 数据的存储方法及装置、存储介质、计算机设备 |
CN110457258A (zh) * | 2019-08-06 | 2019-11-15 | 北京字节跳动网络技术有限公司 | 一种日志管理方法、装置、设备及介质 |
CN110990415A (zh) * | 2019-11-14 | 2020-04-10 | 锐捷网络股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111046045A (zh) * | 2019-12-13 | 2020-04-21 | 中国平安财产保险股份有限公司 | 处理数据倾斜的方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
罗世雄;: "数据中心存储资源池规划设计方法研究", 电信工程技术与标准化, no. 09, 15 September 2018 (2018-09-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168081A (zh) * | 2021-12-09 | 2022-03-11 | 中国电信股份有限公司 | 高维特征存储方法及装置、存储介质、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10044837B2 (en) | Generation and distribution of named, definable, serialized tokens | |
CN109672722B (zh) | 数据部署方法及装置、计算机存储介质和电子设备 | |
CN107547632B (zh) | 缓存数据同步方法、设备、服务中心及多中心服务系统 | |
US10282120B2 (en) | Method, apparatus and system for inserting disk | |
US10630399B2 (en) | Testing distributed applications that have an established exchange in an advanced message queuing protocol (AMQP) message broker | |
CN110609656B (zh) | 存储管理方法、电子设备和计算机程序产品 | |
CN104516838A (zh) | 管理路径确定方法及装置 | |
CN108460161B (zh) | 分层抽样方法、装置和计算机设备 | |
CN112243024B (zh) | 服务控制方法、装置、服务器及存储介质 | |
CN112115134A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN109391658B (zh) | 一种账号数据同步方法及其设备、存储介质、终端 | |
CN107666658B (zh) | 确定电子设备的物理位置 | |
CN111597112B (zh) | 自动测试方法、装置及电子设备 | |
CN110113443B (zh) | 社交角色管理方法、计算机设备及存储介质 | |
US10880360B2 (en) | File transmission in a cluster | |
CN111124291A (zh) | 分布式存储系统的数据存储处理方法、装置、电子设备 | |
US11093292B2 (en) | Identifying recurring actions in a hybrid integration platform to control resource usage | |
CN103870603A (zh) | 目录管理方法和电子设备 | |
CN113724115A (zh) | 基于在线教育的数据处理方法及服务器 | |
US10956354B2 (en) | Detecting a type of storage adapter connected and miscabling of a microbay housing the storage adapter | |
US10649933B1 (en) | Select state detection and signal generation | |
US11855912B2 (en) | Network management apparatus, method, and program | |
US20210294927A1 (en) | Tamper detection for hub connected internet of things devices | |
CN110908735A (zh) | 应用程序标签自动加载和变更方法、装置及电子设备 | |
CN113625591A (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 |