CN117931790A - 数据存储方法、装置、计算机设备和存储介质 - Google Patents
数据存储方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117931790A CN117931790A CN202211239992.4A CN202211239992A CN117931790A CN 117931790 A CN117931790 A CN 117931790A CN 202211239992 A CN202211239992 A CN 202211239992A CN 117931790 A CN117931790 A CN 117931790A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- information
- dimension
- storage list
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 361
- 238000013500 data storage Methods 0.000 title claims abstract description 125
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000004590 computer program Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 47
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 230000002776 aggregation Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000013480 data collection Methods 0.000 description 4
- 101100478633 Escherichia coli O157:H7 stcE gene Proteins 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 101150115529 tagA gene Proteins 0.000 description 3
- 101150047697 tagB gene Proteins 0.000 description 3
- 101150109838 tagC gene Proteins 0.000 description 3
- 101150009385 tcpI gene Proteins 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据存储方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:获取第一数据,并确定第一数据的目标业务标识以及目标数据标识,目标业务标识唯一标识目标业务;基于目标数据标识确定第一数据的目标维度数据信息;基于目标业务标识,确定目标业务中多个维度数据信息与存储列表的对应关系,存储列表用于存储相同维度数据信息的数据,不同存储列表所存储数据的维度数据信息不同;基于各维度数据信息与存储列表的对应关系,确定与目标分类维度数据信息对应的目标存储列表,并将第一数据存储至目标存储列表。采用本方法能够提升数据存储的效率。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据存储方法、装置、计算机设备和存储介质。
背景技术
随着互联网信息技术的高速发展,数据的存储量呈现爆炸式增长,而分布式数据库为结构化的大数据提供了高性能、高可靠性、易扩展的读写功能,因此得到了广泛的应用。然而,随着数据存储量的逐渐增大,会导致分布式数据库中所存储的数据量过大也会导致数据库性能降低的问题,目前,数据库能够根据数据存储语句中预设字段的值,计算出将若前数据存储至哪个分表。然而,分布式数据库通常以数据的键值进行数据存储,而不同数据之间的数据结构以及所包括的字段都可能不一致,那么在需处理多个数据存储请求的情况下,需要分别对每个数据存储请求中预设字段进行计算,再确定各个数据存储至哪个分表,对每个数据存储请求中预设字段进行计算的效率低下,从而降低数据存储的效率。因此,如何提升数据存储的效率是亟需解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够数据存储的效率的数据存储方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种数据存储方法。所述方法包括:
获取第一数据,第一数据包括目标业务标识以及目标数据标识,目标业务标识唯一标识目标业务;
基于目标业务标识以及目标数据标识,确定第一数据的目标维度数据信息,并确定目标业务中多个维度数据信息与存储列表的对应关系,存储列表用于存储相同维度数据信息的数据,不同存储列表所存储数据的维度数据信息不同;
基于各维度数据信息与存储列表的对应关系,确定与目标分类维度数据信息对应的目标存储列表,并将第一数据存储至目标存储列表。
在其中一个实施例中,基于目标业务标识以及目标数据标识,确定第一数据的目标维度数据信息,包括:
基于目标业务标识以及目标数据标识确定目标分类维度信息,并确定第一数据在目标分类维度信息下所对应的目标维度数据信息;
确定目标业务中属于目标分类维度信息的各维度数据信息与存储列表的对应关系。
在其中一个实施例中,第一数据由目标维度数据信息以及目标指标数据信息组成;
目标存储列表包括维度数据存储列表以及指标数据存储列表,维度数据存储列表用于存储目标维度数据信息,指标数据存储列表用于存储目标指标数据信息。
在其中一个实施例中,方法还包括:
在预设时间间隔内获取多个第二数据,并确定各第二数据的维度数据信息为目标维度数据信息;
将各第二数据的指标数据信息存储至目标存储列表中的指标数据存储列表。
在其中一个实施例中,目标存储列表分配至第一数据库,目标存储列表所存储数据量大于或等于预设数据量阈值。
在其中一个实施例中,目标存储列表分配至第二数据库,目标存储列表所存储数据量小于预设数据量阈值,第二数据存储库的数据存储最大值,小于第一数据存储库的数据存储最大值。
在其中一个实施例中,方法还包括:
若目标存储列表分配至第二数据库,且目标存储列表存储第一数据后,所存储数据量大于或等于预设数据量阈值,将目标存储列表分配至第一数据库。
在其中一个实施例中,维度数据信息与存储列表的对应关系的获取方法包括:
获取目标业务的初始存储列表,初始存储列表中包括多种分类维度信息的数据,且数据在分类维度信息下具有对应的维度数据信息;
获取目标业务的业务信息,并基于业务信息,从目标业务的各分类维度信息中确定目标分类维度信息;
基于目标分类维度信息对初始存储列表中的数据进行分表处理,得到目标分类维度信息中各维度数据信息对应的存储列表。
在其中一个实施例中,方法还包括:
获取分类维度信息中属于各维度数据信息的数据量;
基于目标分类维度信息中属于各维度数据信息的数据量,将各存储列表分配至数据存储库。
在其中一个实施例中,获取目标业务的业务信息,并基于业务信息,从目标业务的各分类维度信息中确定目标分类维度信息,包括:
若初始存储列表所存储的数据量大于列表数据存储最大值,获取目标业务的业务信息;
基于业务信息,从目标业务的各分类维度信息中确定目标分类维度信息。
第二方面,本申请还提供了一种数据存储装置。所述装置包括:
获取模块,用于获取第一数据,并确定第一数据的目标业务标识以及目标数据标识,目标业务标识唯一标识目标业务;
确定模块,用于基于目标业务标识以及目标数据标识,确定第一数据的目标维度数据信息,并确定目标业务中多个维度数据信息与存储列表的对应关系,存储列表用于存储相同维度数据信息的数据,不同存储列表所存储数据的维度数据信息不同;
存储模块,用于基于各维度数据信息与存储列表的对应关系,确定与目标分类维度数据信息对应的目标存储列表,并将第一数据存储至目标存储列表。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取第一数据,第一数据包括目标业务标识以及目标数据标识,目标业务标识唯一标识目标业务;
基于目标业务标识以及目标数据标识,确定第一数据的目标维度数据信息,并确定目标业务中多个维度数据信息与存储列表的对应关系,存储列表用于存储相同维度数据信息的数据,不同存储列表所存储数据的维度数据信息不同;
基于各维度数据信息与存储列表的对应关系,确定与目标分类维度数据信息对应的目标存储列表,并将第一数据存储至目标存储列表。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取第一数据,第一数据包括目标业务标识以及目标数据标识,目标业务标识唯一标识目标业务;
基于目标业务标识以及目标数据标识,确定第一数据的目标维度数据信息,并确定目标业务中多个维度数据信息与存储列表的对应关系,存储列表用于存储相同维度数据信息的数据,不同存储列表所存储数据的维度数据信息不同;
基于各维度数据信息与存储列表的对应关系,确定与目标分类维度数据信息对应的目标存储列表,并将第一数据存储至目标存储列表。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取第一数据,第一数据包括目标业务标识以及目标数据标识,目标业务标识唯一标识目标业务;
基于目标业务标识以及目标数据标识,确定第一数据的目标维度数据信息,并确定目标业务中多个维度数据信息与存储列表的对应关系,存储列表用于存储相同维度数据信息的数据,不同存储列表所存储数据的维度数据信息不同;
基于各维度数据信息与存储列表的对应关系,确定与目标分类维度数据信息对应的目标存储列表,并将第一数据存储至目标存储列表。
上述数据存储方法、装置、计算机设备、存储介质和计算机程序产品,获取第一数据,第一数据包括目标业务标识以及目标数据标识,目标业务标识唯一标识目标业务,再基于目标业务标识以及目标数据标识,确定第一数据的目标维度数据信息,并确定目标业务中多个维度数据信息与存储列表的对应关系,存储列表用于存储相同维度数据信息的数据,不同存储列表所存储数据的维度数据信息不同,从而基于各维度数据信息与存储列表的对应关系,确定与目标分类维度数据信息对应的目标存储列表,并将第一数据存储至目标存储列表。在上述数据存储方法中,通过第一数据的数据标识以及业务标识能够准确且快速的定位目标维度数据信息,以及目标业务中多个维度数据信息与存储列表的对应关系,通过前述目标维度数据信息,与所确定的对应的关系也能够准确且快速的定位目标维度数据信息对应的目标存储列表,从而完成数据的存储,即使在出现多个第一数据的情况下,因此基于对应关系即可快速完成多个第一数据的定位存储,从而提升数据存储的效率。
附图说明
图1为一个实施例中数据存储方法的应用环境图;
图2为一个实施例中数据监测系统的系统架构示意图;
图3为一个实施例中数据存储方法的流程示意图;
图4为一个实施例中确定目标维度数据信息的流程示意图;
图5为一个实施例中分类维度信息的实施例示意图;
图6为一个实施例中基于维度数据存储列表以及指标数据存储列表进行存储的流程示意图;
图7为一个实施例中动态调整存储列表的数据库分配的流程示意图;
图8为一个实施例中获取维度数据信息与存储列表的对应关系的部分流程示意图;
图9为一个实施例中配置分类维度信息的界面示意图;
图10为一个实施例中进行数据拆分的实施例示意图;
图11为另一个实施例中获取维度数据信息与存储列表的对应关系的部分流程示意图;
图12为一个实施例中配置存储集群的界面示意图;
图13为一个实施例中创建分类维度信息与存储列表的对应关系的流程示意图;
图14为一个实施例中进行分表处理的部分流程示意图;
图15为一个实施例中数据存储方法的完整流程示意图;
图16为一个实施例中数据存储装置的结构框图;
图17为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应若理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
本申请实施例提供的方案涉及云技术中的数据库(Database),数据库简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML(Extensible MarkupLanguage,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL(Structured Query Language,结构化查询语言);或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。本申请的方案具体通过如下实施例进行说明:
本申请实施例提供的数据存储方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。
具体地,服务器104先获取第一数据,第一数据包括目标业务标识以及目标数据标识,目标业务标识唯一标识目标业务,然后基于目标业务标识以及目标数据标识,确定第一数据的目标维度数据信息,并确定目标业务中多个维度数据信息与存储列表的对应关系,存储列表用于存储相同维度数据信息的数据,不同存储列表所存储数据的维度数据信息不同,由此基于各维度数据信息与存储列表的对应关系,确定与目标分类维度数据信息对应的目标存储列表,并将第一数据存储至目标存储列表,以完成对第一数据的存储。
其中,服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
进一步地,本申请获取数据以及对数据进行处理需要基于数据监测系统进行,如图2所示,数据监测系统具体包括数据采集模块202、数据处理模块204以及数据存储模块206。
其中,数据采集模块202至少支持超文本传输协议(HyperText TransferProtocol,HTTP)的推送(push)上报、软件开发工具包(Software Development Kit,SDK)+采集探针(Agent)、Agent定时采集以及基于kafka采集等数据采集方式,数据采集模块202在进行数据采集时,需要将数据的翻译、格式化以及聚合操作前移,从而在数据采集模型对被采集的数据进行数据抽取(Extract)、数据转换(Transform)以及加载(Load)操作,再进行数据聚合操作,由此可以减少后端检测系统的复杂操作,并且减少上报流量和后端的计算资源。
数据处理模块204用于对数据进行二次处理,数据采集模块202进行前述数据处理后,还可能留有所采集数据的HTTP接口,为进一步地提升查询性能和分摊存储压力,需要对数据再次进行数据聚合操作。可以提供以下两条数据处理通道进行数据处理:一条通道是处理按标准监测数据模型上报的数据,仅对数据采集模块202处理后的数据再次进行数据聚合操作,合并数据从而减少数据存储量。另一条通道除实现对数据采集模块202处理后的数据再次进行数据聚合操作外,还提供对数据的过滤、降维、级联计算以及指标间计算。具体需要基于实际需要确定采用哪条通道进行数据处理。
数据存储模块206用于对数据处理模块204处理后的数据进行存储,本实施例中至少可以使用ClickHouse或云时序数据库(Cloud Time Series Database,CTSDB)存储数据采集模块204处理后所得到的数据。
在一个实施例中,如图2所示,提供了一种数据存储方法,以该方法应用于图1中的服务器104为例进行说明,可以理解的是,该方法也可以应用于包括终端102和服务器104的系统,并通过终端102和服务器104的交互实现。
本实施例中,该方法包括以下步骤:
步骤302,获取第一数据,第一数据包括目标业务标识以及目标数据标识,目标业务标识唯一标识目标业务。
其中,第一数据为目标业务中需要被存储的数据,目标业务标识唯一标识目标业务,以及目标数据标识唯一标识第一数据。例如,业务标识1唯一标识业务A1,以及业务标识2唯一标识业务A2。以及,数据标识B1唯一标识数据C1,以及数据标识B2唯一标识数据C2。
其次,本实施例业务标识具体包括:应用标识(APP ID,Application IdentityDocument)以及命名空间(Namespace),例如,业务标识1具体为:应用标识为111以及命名空间Test1,用于唯一标识业务A1,而业务标识2具体为:应用标识为111以及命名空间Test2,用于唯一标识业务A2。
具体地,服务器获取目标业务中需要被存储的数据(即第一数据),该第一数据包括具体目标业务标识以及目标数据标识,且目标业务标识以及目标数据标识具体以数据字段的形式分配至第一数据中。例如,基于前述示例进行进一步的介绍,业务A1中数据C1需要被存储,服务器获取到数据C1后,能够确定数据C1所包括的:唯一标识数据C1的数据标识B1,以及确定用于唯一标识业务A1的业务标识1,且业务标识1具体可以为:应用标识为111以及命名空间Test1。
步骤304,基于目标业务标识以及目标数据标识,确定第一数据的目标维度数据信息,并确定目标业务中多个维度数据信息与存储列表的对应关系,存储列表用于存储相同维度数据信息的数据,不同存储列表所存储数据的维度数据信息不同。
其中,维度数据信息为数据在分类维度信息下的数据信息,即数据的维度数据信息需要基于数据所定义的分类维度信息确定。例如,分类维度信息为TagA时,那么属于该分类维度信息的维度数据信息可以但不限于包括:Tag A=100,Tag A=50以及Tag A=80。或者,分类维度信息为Tag A、Tag B、Tag C时,那么属于该分类维度信息的维度数据信息可以但不限于包括:Tag A=100、Tag B=80、Tag C=70,或者Tag A=100、Tag B=80、Tag C=120。又或者,分类维度信息为地区时,那么属于该分类维度信息的维度数据信息可以但不限于包括地区D1、地区D2、地区D3以及地区D4等。
其次,存储列表用于存储相同维度数据信息的数据,不同存储列表所存储数据的维度数据信息不同。例如,以维度数据信息包括Tag A=100,Tag A=50以及Tag A=80,那么Tag A=100对应的存储列表F1用于存储Tag A=100的数据,同理可知,Tag A=50对应的存储列表F2用于存储Tag A=50的数据,以及Tag A=80对应的存储列表F3用于存储Tag A=80的数据。
具体地,服务器可以基于目标业务标识以及目标数据标识,确定第一数据的目标维度数据信息,并确定目标业务中多个维度数据信息与存储列表的对应关系。即服务器基于目标业务标识以及目标数据标识可以先确定第一数据的多个分类维度信息,然后从多个分类维度信息中确定进行分表的目标分类维度信息,从而基于该分类维度信息确定第一数据的目标维度数据信息,以及确定在该目标分类维度信息下多个维度数据信息与存储列表的对应关系。
例如,在目标业务下所生成的数据具有的分类维度信息包括Tag A、Tag B以及TagC,那么数据在分类维度信息为Tag A下的维度数据信息可以为地区Tag A=100,数据在分类维度信息为Tag B下的维度数据信息可以为地区Tag B=80,以及数据在分类维度信息Tag C下的维度数据信息可以为地区Tag C=120。又或者,在目标业务下所生成的数据具有的分类维度信息包括地区以及主用语言以及性别,那么数据在分类维度信息为地区下的维度类型可以为地区D1,以及数据在分类维度信息为主用语言下的维度类型可以为简体中文。
基于此,若服务器基于目标分类维度信息“Tag A”进行分表处理,那么可以得到维度数据信息Tag A=100对应的存储列表F1,维度数据信息Tag A=50对应的存储列表F2,以及维度数据信息Tag A=80对应的存储列表F3。或者,基于目标分类维度信息“地区”进行分表处理,那么可以得到维度数据信息地区1对应的存储列表,维度数据信息地区2对应的存储列表,以及维度数据信息地区3对应的存储列表。
可以理解的是,多个维度数据信息与存储列表的对应关系可以为在进行分表处理时已经创建的对应关系,可以为在对第一数据进行处理时,通过查询操作实时创建的对应关系,此处不做限定。
步骤306,基于各维度数据信息与存储列表的对应关系,确定与目标分类维度数据信息对应的目标存储列表,并将第一数据存储至目标存储列表。
具体地,服务器基于各维度数据信息与存储列表的对应关系,确定与目标分类维度数据信息对应的目标存储列表,然后将第一数据存储至目标存储列表。
为便于理解,基于步骤306的示例,若基于目标分类维度信息“Tag A”进行分表处理,且在分类维度信息“Tag A”下存储维度数据信息Tag A=100对应的存储列表F1,维度数据信息Tag A=50对应的存储列表F2,以及维度数据信息Tag A=80对应的存储列表F3。因此,第一数据的目标维度数据信息为Tag A=50,由此可以确定目标维度数据信息对应的是:维度数据信息Tag A=50对应的存储列表F2,即存储列表F2为目标存储列表。或,第一数据的目标维度数据信息为Tag A=80,由此可以确定目标维度数据信息对应的是:维度数据信息Tag A=80对应的存储列表F3,即存储列表F3为目标存储列表。
可选地,第一数据由目标维度数据信息以及目标指标数据信息组成。基于此,目标存储列表包括维度数据存储列表以及指标数据存储列表,维度数据存储列表用于存储目标维度数据信息,指标数据存储列表用于存储目标指标数据信息。例如,第一数据包括Tag A=100、Tag B=80、Tag C=120,而Tag A=100为目标维度数据信息,那么Tag B=80以及Tag C=120为目标指标数据信息,因此在目标存储列表中维度数据存储列表存储第一数据的目标维度数据信息Tag A=100,以及指标数据存储列表存储第一数据的指标数据存储列表Tag B=80以及Tag C=120。
或,第一数据包括Tag A=100、Tag B=80、Tag C=120、Tag D=100,而Tag A=100、Tag B=80、Tag C=120为目标维度数据信息,那么Tag D=100为目标指标数据信息,因此在目标存储列表中维度数据存储列表存储第一数据的目标维度数据信息A=100、TagB=80、Tag C=120,以及指标数据存储列表存储第一数据的指标数据存储列表Tag D=100。
可选地,目标存储列表分配至第一数据库,目标存储列表所存储数据量大于或等于预设数据量阈值。即目标存储列表若所存储数据量大于或等于预设数据量阈值,在分表时将会被分配至第一数据库,并创建目标存储列表与第一数据库之间的路由对应关系。
或者,目标存储列表分配至第二数据库,目标存储列表所存储数据量小于预设数据量阈值,第二数据存储库的数据存储最大值,小于第一数据存储库的数据存储最大值。与前述同理,目标存储列表若所存储数据量小于预设数据量阈值,在分表时将会被分配至第二数据库进行存储,并创建目标存储列表与第二数据库之间的路由对应关系。
可以理解的是,若应用于亿级数据存储量的场景下,前述预设数据量阈值可以为30亿,或者为35亿等,基于此,第一数据库可以为ClickHouse,以及第二数据库可以为CTSDB。而应用于数据存储量较小的场景下,前述预设数据量阈值可以为1万,或者为5000等,那么第一数据库以及第二数据库可以基于实际应用需求确定。
上述数据存储方法中,通过第一数据的数据标识以及业务标识能够准确且快速的定位目标维度数据信息,以及目标业务中多个维度数据信息与存储列表的对应关系,通过前述目标维度数据信息,与所确定的对应的关系也能够准确且快速的定位目标维度数据信息对应的目标存储列表,从而完成数据的存储,即使在出现多个第一数据的情况下,因此基于对应关系即可快速完成多个第一数据的定位存储,从而提升数据存储的效率。
在一个实施例中,如图4所示,基于目标业务标识以及目标数据标识,确定第一数据的目标维度数据信息,包括:
步骤402,基于目标业务标识以及目标数据标识确定目标分类维度信息,并确定第一数据在目标分类维度信息下所对应的目标维度数据信息。
其中,目标分类维度信息为用于对存储列表进行分表的分类维度信息。在同一业务中基于业务信息能够确定目标分类维度信息,即目标分类维度信息为业务对象预先设置的,业务信息可以为业务应用场景,业务应用需求或业务维度分类条件等。为便于理解,如图5所示,在实际应用中分类维度信息可以包括“wemeet_gdpr_route”,“Gatewayx”,“role_auth”,“user_info”,“wemeet_report_cms”,“power_mgr”,以及“corp_info”等。而基于实际需求,服务器在预先设置时,可以在图5示出的多个分类维度信息中确定目标分类维度信息。
具体地,服务器基于目标业务标识以及目标数据标识,可以得到第一数据在目标业务下的多个分类维度信息,服务器可以先查询在多个分类维度信息中,是否存在目标业务标识以及目标数据标识与目标分类维度信息之间的路由对应关系,若存在即可确定存在路由对应关系的分类维度信息未目标分类维度信息。或者,在未查询到路由对应关系的情况下,服务器也能够在多个分类维度信息,通过目标分类维度信息匹配查询得到目标分类维度信息,并且在确定目标分类维度信息后创建目标业务标识以及目标数据标识,与目标分类维度信息之间的路由对应关系。
进一步地,通过目标分类维度信息确定第一数据在目标分类维度信息下所对应的目标维度数据信息。例如,第一数据所包括的分类维度信息为:Tag A、Tag B以及Tag C,且各分类维度信息下的维度数据信息为Tag A=100、Tag B=80、Tag C=120。若确定目标分类维度信息为Tag A,那么第一数据在目标分类维度信息(Tag A)下所对应的目标维度数据信息为:Tag A=100。其次,若确定目标分类维度信息为Tag C,那么第一数据在目标分类维度信息(Tag C)下所对应的目标维度数据信息为:Tag C=120。
步骤404,确定目标业务中属于目标分类维度信息的各维度数据信息与存储列表的对应关系。
具体地,服务器确定目标业务中属于目标分类维度信息的各维度数据信息与存储列表的对应关系,即服务器在确定目标分类维度信息后,还能够获取在目标分类维度信息下的各维度数据信息与存储列表的对应关系。如前述所述,多个维度数据信息与存储列表的对应关系可以为在进行分表处理时已经创建的对应关系,即进行分表处理时即获取前述对应关系。或者,还可以为在对第一数据进行处理时,通过查询操作实时创建的对应关系,此处不做限定。
例如,基于目标分类维度信息“Tag A”进行分表处理,那么可以得到维度数据信息Tag A=100对应的存储列表F1,维度数据信息Tag A=50对应的存储列表F2,以及维度数据信息Tag A=80对应的存储列表F3。或者,基于目标分类维度信息“地区”进行分表处理,那么可以得到维度数据信息地区1对应的存储列表,维度数据信息地区2对应的存储列表,以及维度数据信息地区3对应的存储列表。
本实施例中,通过目标分类维度信息能够更为准确的描述定位,在该目标分类维度信息下的多个对应关系,以及第一数据在该目标分类维度信息下的具体目标维度数据信息,进一步地保证在数据存储的准确定位存储表的准确度以及可靠性,也能够提升实际应用的可行性,由此保证数据存储的效率。
在一个实施例中,如图6所示,数据存储的方法还包括:
步骤602,在预设时间间隔内获取多个第二数据,并确定各第二数据的维度数据信息为目标维度数据信息。
具体地,服务器在预设时间间隔内获取多个第二数据,各第二数据也会包括对应的业务标识以及数据标识,且各第二数据对应的业务标识为目标业务标识,此时基于前述实施例类似方式确定各第二数据的目标分类维度信息,且进一步地将各第二数据在目标分类维度信息下的维度数据信息确定为目标维度数据信息,说明确定各第二数据也应该存储至与目标分类维度类型对应的目标存储列表中。具体实施方式此处不再赘述。
例如,第一数据包括Tag A=100、Tag B=80、Tag C=120,第二数据1包括Tag A=100、Tag B=80、Tag C=150,第二数据2包括Tag A=100、Tag B=120、Tag C=120,以及第二数据3包括Tag A=100、Tag B=80、Tag C=80。基于此,若Tag A为目标分类维度信息,基于前述实施例可知,第一数据在目标分类维度信息(Tag A)下的维度数据信息Tag A=100即为目标维度数据信息,那么第二数据1、第二数据2以及第二数据3中的维度数据信息TagA=100也能被确定为目标维度数据信息。
前述预设时间间隔可以为30秒、1分钟以及5分钟等,具体需要根据实际应用场景确定。
步骤604,将各第二数据的指标数据信息存储至目标存储列表中的指标数据存储列表。
在前述实施例中介绍,第一数据由目标维度数据信息以及目标指标数据信息组成。基于此,目标存储列表包括维度数据存储列表以及指标数据存储列表,维度数据存储列表用于存储目标维度数据信息,指标数据存储列表用于存储目标指标数据信息。
具体地,在确定各第二数据的维度数据信息为目标维度数据信息后,说明在预设时间间隔内服务器接收到多个连续的处于相同维度数据信息(即目标维度数据信息)下的数据,由于各第二数据在目标分类维度信息下的维度数据信息均目标维度数据信息,也就是各第二数据在目标分类维度信息下的维度数据信息相同,为保证存储列表的资源利用率,将各第二数据的指标数据信息存储至目标存储列表中的指标数据存储列表,并且仅在目标存储列表中的维度数据存储列表存储一次目标维度数据信息。
例如,基于步骤602的示例,第二数据1包括Tag A=100、Tag B=80、Tag C=150,第二数据2包括Tag A=100、Tag B=120、Tag C=120,以及第二数据3包括Tag A=100、TagB=80、Tag C=80。且目标维度数据信息为Tag A=100,即第二数据1中包括目标维度数据信息Tag A=100,以及第二数据1的指标数据信息Tag B=80以及Tag C=150,同理可知,第二数据2中包括目标维度数据信息Tag A=100,以及第二数据2的指标数据信息Tag B=120以及Tag C=120。第二数据3中包括目标维度数据信息Tag A=100,以及第二数据3的指标数据信息Tag B=80以及Tag C=80。
此时,服务器在对第二数据1至第二数据3进行存储时,将第二数据1的指标数据信息Tag B=80以及Tag C=150,第二数据2的指标数据信息Tag B=120以及Tag C=120,以及第二数据3的指标数据信息Tag B=80以及Tag C=80存储至目标存储列表中的指标数据存储列表,并且仅在目标存储列表中的维度数据存储列表中存储一次目标维度数据信息Tag A=100。
本实施例中,由于存储列表包括维度数据存储列表以及指标数据存储列表,通过分别对多个数据的维度数据信息以及指标数据信息进行存储,在预设时间间隔中接收到相同维度数据信息的多个数据的场景下,能够在维度数据信息对应的存储列表中,通过指标数据存储列表存储各数据可能不相同的指标数据信息,而维度数据存储列表仅存储一次相同的维度数据信息,在能够保证各数据的完整性以及可靠性以及基础上,降低存储列表中对相同维度数据信息的多次连续的重复存储,由此存储列表的资源利用率,避免存储列表中存储资源的浪费。
在一个实施例中,如图7所示,数据存储的方法还包括:
步骤702,若目标存储列表分配至第二数据库,且目标存储列表存储第一数据后,所存储数据量大于或等于预设数据量阈值,将目标存储列表分配至第一数据库。
目标存储列表若所存储数据量小于预设数据量阈值,在分表时将会被分配至第二数据库进行存储,并创建目标存储列表与第二数据库之间的路由对应关系。
具体地,若出现目标存储列表在数据存储多次操作后,目标存储列表所存储数据量大于或等于预设数据量阈值,那么服务器也可以将目标存储列表调整分配至第一数据库,并且将目标存储列表与数据库之间的路由对应关系,从目标存储列表与第二数据库之间的路由对应关系调整为:目标存储列表与第一数据库之间的路由对应关系。
因此,在服务器将第一数据存储至目标存储列表后,由于目标存储列表分配至第二数据,并目标存储列表存储第一数据后,所存储数据量大于或等于预设数据量阈值,考虑到第二数据库的数据存储最大值,将目标存储列表分配至第一数据库,并调整目标存储列表与数据库之间的路由对应关系。
可选地,通过前述实施例可知,目标存储列表若所存储数据量大于或等于预设数据量阈值,在分表时将会被分配至第一数据库,并创建目标存储列表与第一数据库之间的路由对应关系。因此在实际应用中,若出现目标存储列表在数据存储或者数据写出等多次操作后,目标存储列表所存储数据量小于预设数据量阈值的情况,那么服务器也可以将目标存储列表调整分配至第二数据库进行存储,并且将目标存储列表与数据库之间的路由对应关系,从目标存储列表与第一数据库之间的路由对应关系调整为:目标存储列表与第二数据库之间的路由对应关系。
本实施例中,基于存储列表所存储的数量将动态调整存储该存储列表的数据库,保证数据库内存储资源的利用率,也避免出现超出数据库的数据存储最大值的情况插画师,从而保证了存储数据量不同的数据库能够更为准确可靠的为存储列表提供数据存储服务,提升数据存储的可靠性。
前面提及了确定维度数据信息与存储列表的对应关系,多个维度数据信息与存储列表的对应关系为在进行分表处理时已经创建的对应关系,即进行分表处理时即获取前述对应关系,下面将详细说明如何进行分表处理,以及如何在分表处理时获取多个维度数据信息与存储列表的对应关系:
在一个实施例中,如图8所示,维度数据信息与存储列表的对应关系的获取方法包括:
步骤802,获取目标业务的初始存储列表,初始存储列表中包括多种分类维度信息的数据,且数据在分类维度信息下具有对应的维度数据信息。
其中,初始存储列表为未进行分表处理的存储列表,该初始存储列表中包括属于目标业务的多种分类维度信息的数据,例如,目标业务下包括分类维度信息Tag A、分类维度信息Tag B、分类维度信息Tag C、分类维度信息Tag D以及分类维度信息Tag E等多种分类维度信息的数据。
基于此,每个数据在分类维度信息下具有对应的维度数据信息,例如,数据1包括Tag A=100、Tag B=120、Tag C=0、Tag D=150以及Tag E=50的数据信息,数据2包括TagA=80、Tag B=100、Tag C=60、Tag D=70以及Tag E=120的数据信息。
即数据1在分类维度信息Tag A对应的维度数据信息为100,数据2在分类维度信息Tag A对应的维度数据信息为80。同理可知:数据1在分类维度信息Tag B对应的维度数据信息为120,数据2在分类维度信息Tag B对应的维度数据信息为100。数据1在分类维度信息Tag C对应的维度数据信息为0,数据2在分类维度信息Tag C对应的维度数据信息为60。数据1在分类维度信息Tag D对应的维度数据信息为150,数据2在分类维度信息Tag D对应的维度数据信息为70。以及数据1在分类维度信息Tag E对应的维度数据信息为50,数据2在分类维度信息Tag E对应的维度数据信息为120。
具体地,服务器或者针对目标业务的初始存储列表,该初始存储列表中包括多种分类维度信息的数据,且数据在分类维度信息下具有对应的维度数据信息。具体示例如前述介绍,此处不再赘述。
步骤804,获取目标业务的业务信息,并基于业务信息,从目标业务的各分类维度信息中确定目标分类维度信息。
其中,业务信息为用于描述目标业务的信息,即业务信息可以为业务应用场景或业务应用需求等。应理解,业务信息也可以为目标业务的管理人员预先设置输入的配置业务维度信息。
具体地,服务器获取目标业务的业务信息,并基于业务信息从目标业务的各分类维度信息中确定目标分类维度信息。以业务信息为目标业务的管理人员预先设置输入的业务维度分类条件为例,即服务器基于管理人员预先设置输入的配置业务维度信息,确定目标分类维度信息。若以业务应用场景或业务应用需求,若目标业务更在意业务对象体验,可以基于对象信息作为目标分类维度信息,即不同对象分配至不同的存储列表,以便于对不同对象的数据进行调用查询。
为便于理解,如图9所示,管理人员的配置管理界面中展示有业务标识901以及数据标识902,而基于业务标识901以及数据标识902具有对应的配置分类维度信息903,相同的业务标识901以及数据标识902可以配置多个配置分类维度信息903作为目标分类维度信息,例如,业务标识901为:APPID为5,Namespace为test,以及数据标识902为test2,能够对应数据904以及数据905,而数据904中管理人员所配置的配置分类维度信息903为“test22”,而数据905中管理人员所配置的配置分类维度信息903为“test3”,此时业务信息可以为“test22”以及“test3”,因此,在实际应用中,服务器可以基于不同的目标分类维度信息将数据分配至多个对应的存储列表中,或者从所配置的目标分类维度信息选择进行分表的目标分类维度信息,此处不走限定。
而如图5可知,不同的业务标识901以及数据标识902级配置的配置分类维度信息903不同,如业务标识901为:APPID为1251316161,Namespace为CherryTest,以及数据标识902为myhistogram能够对应数据906,而数据906中管理人员所配置的配置分类维度信息903为“Alnterface”,此时业务信息可以为“Alnterface”,即可以确定业务标识901为:APPID为1251316161,Namespace为CherryTest对应的目标中,所确定的目标分类维度信息为“Alnterface”。
应理解,前述示例均用于理解本方案,而不应该立即为本方案的限定。
步骤806,基于目标分类维度信息对初始存储列表中的数据进行分表处理,得到目标分类维度信息中各维度数据信息对应的存储列表。
具体地,基于目标分类维度信息对初始存储列表中的数据进行分表处理,得到目标分类维度信息中各维度数据信息对应的存储列表,也就是将目标分类维度信息下相同维度数据信息的数据分配至同一存储列表中。
例如,初始存储列表包括数据1以及数据2,且数据1包括Tag A=100、Tag B=120、Tag C=0、Tag D=150以及Tag E=50的数据信息,同属于目标业务的数据2包括Tag A=80、Tag B=100、Tag C=60、Tag D=70以及Tag E=120的数据信息。且目标分类维度信息被确定为Tag A,基于Tag A对初始存储列表中的数据1以及数据2进行分表处理,即考虑数据1以及数据2在Tag A下的具体维度数据信息,因此,可以将初始存储列表中维度数据信息为Tag A=100的数据分配至存储列表F1,将初始存储列表中维度数据信息为Tag A=80的数据分配至存储列表F2。由此得到Tag A中Tag A=80以及Tag A=100分别对应的存储列表。
应理解,在实际应用中,可能存在同一数据在相同分类维度信息中存在多个维度数据信息,而每个存储列表仅对应单个维度数据信息,因此在分表处理时还能够将数据基于分类维度信息中的维度数据信息进行拆分,拆分后得到不同的数据标识的数据,如图10所示,数据的数据标识为mymes,分类维度信息为Tag A,且数据在Tag A下的维度数据信息包括:Tag A=1以及Tag A=2,此时将数据标识拆分为mymes_1以及mymes_2,且数据标识mymes_1所标识的数据在Tag A下的维度数据信息包括:Tag A=1,以及数据标识mymes_2所标识的数据在Tag A下的维度数据信息包括:Tag A=2,此时数据标识mymes_1所标识的数据以及数据标识mymes_2所标识的数据将存储于不同的存储列表中。
本实施例中,由于在创建目标业务中多个维度数据信息与存储列表的对应关系时,能够考虑到维度数据信息与业务信息的耦合性,即维度数据信息相同的数据关联度较高,由此分配至同一存储列表,并创建对应关系,从而保证对同一存储列表中数据存储以及读写的效率。其次,维度数据信息不同的数据在目标分类维度信息下关联度较低,将关联度低的维度数据信息分配至不同存储列表中,避免相互关联查询,也能够避免资源的消耗,由此达到系统资源的饱和利用率。
在实际应用中,如图5所示,在管理人员对配置分类维度信息进行管理时,还能够配置可选择存储集群,即可以将分表后得到的存储列表具体能够在所配置的可选择存储集群中选择具体的数据库进行存储,下面将详细介绍如何将各存储列表分配至可选择存储集群中的数据存储库。
在一个实施例中,如图11所示,数据存储的方法还包括:
步骤1102,获取分类维度信息中属于各维度数据信息的数据量。
具体地,服务器还能够获取分类维度信息中属于各维度数据信息的数据量。例如,属于维度数据信息为Tag A=80的数据量为20亿,维度数据信息为Tag A=100的数据量为40亿等。
步骤1104,基于目标分类维度信息中属于各维度数据信息的数据量,将各存储列表分配至数据存储库。
其中,数据存储库包括以下至少一个:第一数据库以及第二数据库。
具体地,服务器在得到目标分类维度信息中各维度数据信息对应的存储列表后,能够考虑到目标分类维度信息中属于各维度数据信息的数据量,将各存储列表分配至数据存储库。
而通过前述实施例可知,目标存储列表所存储数据量大于或等于预设数据量阈值,目标存储列表分配至第一数据库。反之,目标存储列表所存储数据量小于预设数据量阈值,目标存储列表分配至第二数据库,且第二数据存储库的数据存储最大值,小于第一数据存储库的数据存储最大值。
由此可知,维度数据信息的数据量大于或等于预设数据量阈值,那么将该维度数据信息对应的存储列表分配至第一数据库。而维度数据信息的数据量小于预设数据量阈值,那么将该维度数据信息对应的存储列表分配至第二数据库。以预设数据量阈值为30亿为例进行说明,且基于前述示例,属于维度数据信息为Tag A=80的数据量为20亿,维度数据信息为Tag A=100的数据量为40亿。即维度数据信息为Tag A=100的数据量大于预设数据量阈值,且维度数据信息为Tag A=100的数据分配至存储列表F1,因此具体将存储列表F1分配至第一数据库。而维度数据信息为Tag A=80的数据量小于预设数据量阈值,且维度数据信息为Tag A=80的数据分配至存储列表F2,因此具体将存储列表F2分配至第二数据库。
其次,前述实施例中提及可选择存储集群,而一个可选择存储集群中可以包括:第一数据库,或,第二数据库,或,第一数据库以及第二数据库,前述数据库的数量可以为一个或多个。即服务器应该在多个可选择存储集群中确定一个存储集群进行存储列表的分配。为便于理解,如图12所示,业务标识1201以及数据标识1202,基于目标分类维度信息1202具有对应的存储集群1204。而在实际应用中,也可以为目标分类维度信息1202分配多个存储集群1204,此处不作限定。
进一步地,考虑到第一数据库的存储效率,本实施例对第一数据库设置数据数量上限,即第一数据库仅能存储数据数量最大值内的数据。例如,数据数量最大值为200,那么第一数据库存储到200个数据标识所标识的数据后,将停止进行数据存储,因此在对存储列表进行分配时,可以考虑在所确定存储集群中确定多个第一数据库,也就是将存储列表与多个第一数据库创建对应关系,那么同一维度数据信息对应的数据需要存储,但是一个第一数据库所存储的数据达到数量最大值时,可以基于对应的存储列表存储分配至其他具有对应关系的第一数据库中进行存储。进一步地,服务器可以为目标分类维度信息分配多个存储集群,因此在也就是将存储列表与不同存储集群中的第一数据库创建对应关系,保证存储列表中的数据能够完成正常存储。
本实施例中,通过考虑各维度数据信息的数据量,对各存储列表分配至不同的数据存储库,在分表的基础上进一步地进行分库处理,从而保证在实际存储过程中,可以将不同维度数据信息的数据量,在存储数据存储最大值不同的数据库进行存储,避免数据库存储数据超载,或者数据库存储过少导致存储资源浪费的问题,从而提升数据存储的可靠性。
基于前述示例,分类维度信息与存储列表的对应关系还可以为在对第一数据进行处理时,通过查询操作实时创建的,具体如图13所示,通过接入层1301获取目标数据,并由此确定目标分类维度信息,然后通过查询层1302查询是否存在目标分类维度信息下分类维度信息与存储列表的对应关系。若存在,服务器直接基于目标数据在目标分类维度信息的目标维度数据信息,与查询得到分类维度信息与存储列表的对应关系确定目标存储列表,然后通过写入层1303将数据存储至目标存储列表所分配的数据存储库中。
反之,若查询层1302未查询到目标分类维度信息下分类维度信息与存储列表的对应关系,此时服务器实时拉取管控接口,采用前述类似方法,实时基于目标分类维度信息对初始存储列表中的数据进行分表处理,并调用管控接口自动创建与目标维度数据信息与对应的目标存储列表,然后通过写入层1303将数据存储至目标存储列表,此时服务器会存储目标维度数据信息与目标存储列表的对应关系,对目标分类维度信息下每个不同的维度数据信息进行类似操作,也能够得到目标分类维度信息下每个分类维度信息与存储列表的对应关系。
在一个实施例中,如图14所示,获取目标业务的业务信息,并基于业务信息,从目标业务的各分类维度信息中确定目标分类维度信息,包括:
步骤1402,若初始存储列表所存储的数据量大于列表数据存储最大值,获取目标业务的业务信息。
应理解,由于在实际应用中,进行分表处理也需要占用服务处理资源,因此在初始存储列表所存储的数据量大于列表数据存储最大值时,才会对初始存储列表进行分表处理,即获取目标业务的业务信息。前述列表数据存储最大值可以为10亿、30亿、80亿等,具体需要基于实际应用灵活确定。
步骤1404,基于业务信息,从目标业务的各分类维度信息中确定目标分类维度信息。
具体地,服务器基于业务信息,从目标业务的各分类维度信息中确定目标分类维度信息与前述实施例类似,此处不再赘述。
本实施例中,通过列表数据存储最大值判定是否进行分表处理,从而避免分表处理的过程的服务处理资源的消耗,即保证系统的资源消耗以及稳定性。
基于前述实施例的介绍,下面将本申请数据存储方法的完整流程,如图15所示,以该方法应用于图1中的服务器104为例进行说明,可以理解的是,该方法也可以应用于包括终端102和服务器104的系统,并通过终端102和服务器104的交互实现。本实施例中,该方法包括以下步骤:
步骤1501,获取目标业务的初始存储列表。
具体地,服务器或者针对目标业务的初始存储列表,该初始存储列表中包括多种分类维度信息的数据,且数据在分类维度信息下具有对应的维度数据信息。
步骤1502,获取目标业务的业务信息,并基于业务信息,从目标业务的各分类维度信息中确定目标分类维度信息。
具体地,服务器获取目标业务的业务信息,并基于业务信息从目标业务的各分类维度信息中确定目标分类维度信息。以业务信息为目标业务的管理人员预先设置输入的业务维度分类条件为例,即服务器基于管理人员预先设置输入的配置业务维度信息,确定目标分类维度信息。若以业务应用场景或业务应用需求,若目标业务更在意业务对象体验,可以基于对象信息作为目标分类维度信息,即不同对象分配至不同的存储列表,以便于对不同对象的数据进行调用查询。
步骤1503,基于目标分类维度信息对初始存储列表中的数据进行分表处理,得到目标分类维度信息中各维度数据信息对应的存储列表。
具体地,基于目标分类维度信息对初始存储列表中的数据进行分表处理,得到目标分类维度信息中各维度数据信息对应的存储列表,也就是将目标分类维度信息下相同维度数据信息的数据分配至同一存储列表中。
步骤1504,获取分类维度信息中属于各维度数据信息的数据量。
具体地,服务器还能够获取分类维度信息中属于各维度数据信息的数据量。例如,属于维度数据信息为Tag A=80的数据量为20亿,维度数据信息为Tag A=100的数据量为40亿等。
步骤1505,基于目标分类维度信息中属于各维度数据信息的数据量,将各存储列表分配至数据存储库。
其中,数据存储库包括以下至少一个:第一数据库以及第二数据库。
具体地,服务器在得到目标分类维度信息中各维度数据信息对应的存储列表后,能够考虑到目标分类维度信息中属于各维度数据信息的数据量,将各存储列表分配至数据存储库。
其中,目标存储列表所存储数据量大于或等于预设数据量阈值,目标存储列表分配至第一数据库。反之,目标存储列表所存储数据量小于预设数据量阈值,目标存储列表分配至第二数据库,且第二数据存储库的数据存储最大值,小于第一数据存储库的数据存储最大值。
步骤1506,获取第一数据。
具体地,服务器获取目标业务中需要被存储的数据(即第一数据),该第一数据包括具体目标业务标识以及目标数据标识,且目标业务标识以及目标数据标识具体以数据字段的形式分配至第一数据中。
步骤1507,基于目标业务标识以及目标数据标识确定目标分类维度信息,并确定第一数据在目标分类维度信息下所对应的目标维度数据信息。
具体地,服务器基于目标业务标识以及目标数据标识,可以得到第一数据在目标业务下的多个分类维度信息,服务器可以先查询在多个分类维度信息中,是否存在目标业务标识以及目标数据标识与目标分类维度信息之间的路由对应关系,若存在即可确定存在路由对应关系的分类维度信息未目标分类维度信息。或者,在未查询到路由对应关系的情况下,服务器也能够在多个分类维度信息,通过目标分类维度信息匹配查询得到目标分类维度信息,并且在确定目标分类维度信息后创建目标业务标识以及目标数据标识,与目标分类维度信息之间的路由对应关系。
步骤1508,确定目标业务中属于目标分类维度信息的各维度数据信息与存储列表的对应关系。
具体地,服务器确定目标业务中属于目标分类维度信息的各维度数据信息与存储列表的对应关系,即服务器在确定目标分类维度信息后,还能够获取在目标分类维度信息下的各维度数据信息与存储列表的对应关系。
步骤1509,基于各维度数据信息与存储列表的对应关系,确定与目标分类维度数据信息对应的目标存储列表,并将第一数据存储至目标存储列表。
具体地,服务器基于各维度数据信息与存储列表的对应关系,确定与目标分类维度数据信息对应的目标存储列表,然后将第一数据存储至目标存储列表。
可选地,第一数据由目标维度数据信息以及目标指标数据信息组成。基于此,目标存储列表包括维度数据存储列表以及指标数据存储列表,维度数据存储列表用于存储目标维度数据信息,指标数据存储列表用于存储目标指标数据信息。
应理解,步骤1501至步骤1509的具体实施方式已在前述实施例中详细介绍,此处不再赘述。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据存储方法的数据存储装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据存储装置实施例中的具体限定可以参见上文中对于数据存储方法的限定,在此不再赘述。
在一个实施例中,如图16所示,提供了一种数据存储装置,包括:获取模块1602、确定模块1604和存储模块1606,其中:
获取模块1602,用于获取第一数据,第一数据包括目标业务标识以及目标数据标识,目标业务标识唯一标识目标业务;
确定模块1604,用于基于目标业务标识以及目标数据标识,确定第一数据的目标维度数据信息,并确定目标业务中多个维度数据信息与存储列表的对应关系,存储列表用于存储相同维度数据信息的数据,不同存储列表所存储数据的维度数据信息不同;
存储模块1606,用于基于各维度数据信息与存储列表的对应关系,确定与目标分类维度数据信息对应的目标存储列表,并将第一数据存储至目标存储列表。
在一个实施例中,确定模块1604,还用于基于目标业务标识以及目标数据标识确定目标分类维度信息,并确定第一数据在目标分类维度信息下所对应的目标维度数据信息;并确定目标业务中属于目标分类维度信息的各维度数据信息与存储列表的对应关系。
在一个实施例中,第一数据由目标维度数据信息以及目标指标数据信息组成;
目标存储列表包括维度数据存储列表以及指标数据存储列表,维度数据存储列表用于存储目标维度数据信息,指标数据存储列表用于存储目标指标数据信息
在一个实施例中,获取模块1602,还用于在预设时间间隔内获取多个第二数据,并确定各第二数据的维度数据信息为目标维度数据信息;
存储模块1606,还用于将各第二数据的指标数据信息存储至目标存储列表中的指标数据存储列表。
在一个实施例中,目标存储列表分配至第一数据库,目标存储列表所存储数据量大于或等于预设数据量阈值。
在一个实施例中,目标存储列表分配至第二数据库,目标存储列表所存储数据量小于预设数据量阈值,第二数据存储库的数据存储最大值,小于第一数据存储库的数据存储最大值。
在一个实施例中,存储模块1606,还用于若目标存储列表分配至第二数据库,且目标存储列表存储第一数据后,所存储数据量大于或等于预设数据量阈值,将目标存储列表分配至第一数据库。
在一个实施例中,获取模块1602,还用于获取目标业务的初始存储列表,初始存储列表中包括多种分类维度信息的数据,且数据在分类维度信息下具有对应的维度数据信息;并获取目标业务的业务信息,并基于业务信息,从目标业务的各分类维度信息中确定目标分类维度信息;并基于目标分类维度信息对初始存储列表中的数据进行分表处理,得到目标分类维度信息中各维度数据信息对应的存储列表。
在一个实施例中,获取模块1602,还用于获取分类维度信息中属于各维度数据信息的数据量;并基于目标分类维度信息中属于各维度数据信息的数据量,将各存储列表分配至数据存储库。
在一个实施例中,获取模块1602,还用于若初始存储列表所存储的数据量大于列表数据存储最大值,获取目标业务的业务信息;
确定模块1604,还用于基于业务信息,从目标业务的各分类维度信息中确定目标分类维度信息。
上述数据存储装置中的各模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式分配至计算机设备中的存储器中,以便于处理器调用执行以上各模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图17所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据的维度数据信息以及指标数据信息数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据存储方法。
本领域技术人员可以理解,图17中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可分配至一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应若认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应若指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (13)
1.一种数据存储方法,其特征在于,所述方法包括:
获取第一数据,所述第一数据包括目标业务标识以及目标数据标识,目标业务标识唯一标识目标业务;
基于所述目标业务标识以及所述目标数据标识,确定所述第一数据的目标维度数据信息,并确定所述目标业务中多个维度数据信息与存储列表的对应关系,所述存储列表用于存储相同维度数据信息的数据,不同存储列表所存储数据的维度数据信息不同;
基于各所述维度数据信息与存储列表的对应关系,确定与所述目标分类维度数据信息对应的目标存储列表,并将所述第一数据存储至所述目标存储列表。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标业务标识以及所述目标数据标识,确定所述第一数据的目标维度数据信息,包括:
基于所述目标业务标识以及所述目标数据标识确定目标分类维度信息,并确定所述第一数据在所述目标分类维度信息下所对应的所述目标维度数据信息;
确定所述目标业务中属于所述目标分类维度信息的各所述维度数据信息与存储列表的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述第一数据由所述目标维度数据信息以及目标指标数据信息组成;
所述目标存储列表包括维度数据存储列表以及指标数据存储列表,所述维度数据存储列表用于存储所述目标维度数据信息,所述指标数据存储列表用于存储所述目标指标数据信息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在预设时间间隔内获取多个第二数据,并确定各所述第二数据的维度数据信息为所述目标维度数据信息;
将各所述第二数据的指标数据信息存储至所述目标存储列表中的所述指标数据存储列表。
5.根据权利要求1所述的方法,其特征在于,所述目标存储列表分配至第一数据库,所述目标存储列表所存储数据量大于或等于预设数据量阈值;
或,
所述目标存储列表分配至第二数据库,所述目标存储列表所存储数据量小于所述预设数据量阈值,所述第二数据存储库的数据存储最大值,小于所述第一数据存储库的数据存储最大值。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述目标存储列表分配至所述第二数据库,且所述目标存储列表存储所述第一数据后,所存储数据量大于或等于所述预设数据量阈值,将所述目标存储列表分配至所述第一数据库。
7.根据权利要求1所述的方法,其特征在于,所述分类维度信息与所述存储列表的对应关系的获取方法包括:
获取目标业务的初始存储列表,所述初始存储列表中包括多种分类维度信息的数据,且所述数据在所述分类维度信息下具有对应的维度数据信息;
获取所述目标业务的业务信息,并基于所述业务信息,从所述目标业务的各所述分类维度信息中确定目标分类维度信息;
基于所述目标分类维度信息对所述初始存储列表中的数据进行分表处理,得到所述目标分类维度信息中各所述维度数据信息对应的存储列表。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
获取所述分类维度信息中属于各所述维度数据信息的数据量;
基于所述目标分类维度信息中属于各所述维度数据信息的数据量,将各所述存储列表分配至数据存储库。
9.根据权利要求7所述的方法,其特征在于,所述获取所述目标业务的业务信息,并基于所述业务信息,从所述目标业务的各所述分类维度信息中确定目标分类维度信息,包括:
若所述初始存储列表所存储的数据量大于列表数据存储最大值,获取所述目标业务的业务信息;
基于所述业务信息,从所述目标业务的各所述分类维度信息中确定所述目标分类维度信息。
10.一种数据存储装置,其特征在于,所述装置包括:
获取模块,用于获取第一数据,所述第一数据包括目标业务标识以及目标数据标识,目标业务标识唯一标识目标业务;
确定模块,用于基于所述目标业务标识以及所述目标数据标识,确定所述第一数据的目标维度数据信息,并确定所述目标业务中多个维度数据信息与存储列表的对应关系,所述存储列表用于存储相同维度数据信息的数据,不同存储列表所存储数据的维度数据信息不同;
存储模块,用于基于各所述维度数据信息与存储列表的对应关系,确定与所述目标分类维度数据信息对应的目标存储列表,并将所述第一数据存储至所述目标存储列表。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
13.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211239992.4A CN117931790A (zh) | 2022-10-11 | 2022-10-11 | 数据存储方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211239992.4A CN117931790A (zh) | 2022-10-11 | 2022-10-11 | 数据存储方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117931790A true CN117931790A (zh) | 2024-04-26 |
Family
ID=90756099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211239992.4A Pending CN117931790A (zh) | 2022-10-11 | 2022-10-11 | 数据存储方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117931790A (zh) |
-
2022
- 2022-10-11 CN CN202211239992.4A patent/CN117931790A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10725981B1 (en) | Analyzing big data | |
US9361320B1 (en) | Modeling big data | |
CN101727465B (zh) | 分布式列存储数据库索引建立、查询方法及装置与系统 | |
US9507807B1 (en) | Meta file system for big data | |
US8949222B2 (en) | Changing the compression level of query plans | |
US8880463B2 (en) | Standardized framework for reporting archived legacy system data | |
US10574792B2 (en) | Referencing change(s) in data utilizing a network resource locator | |
CN111339171B (zh) | 数据查询的方法、装置及设备 | |
US20140046928A1 (en) | Query plans with parameter markers in place of object identifiers | |
CN110928851B (zh) | 处理日志信息的方法、装置、设备及存储介质 | |
CN111241122B (zh) | 任务监测方法、装置、电子设备和可读存储介质 | |
CN107103011B (zh) | 终端数据搜索的实现方法和装置 | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
CN111723161A (zh) | 一种数据处理方法、装置及设备 | |
CN111026709A (zh) | 基于集群访问的数据处理方法及装置 | |
CN107430633B (zh) | 用于数据存储的系统及方法和计算机可读介质 | |
US9275059B1 (en) | Genome big data indexing | |
CN113297245A (zh) | 获取执行信息的方法及装置 | |
CN109063061B (zh) | 跨分布式系统数据处理方法、装置、设备及存储介质 | |
CN116069810A (zh) | 数据查询方法、装置及终端设备 | |
CN115658680A (zh) | 数据存储方法、数据查询方法和相关装置 | |
CN117931790A (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN112434189A (zh) | 数据查询方法、装置及设备 | |
CN114510605A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN111782886A (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 |