CN113064919B - 数据处理方法、数据存储***、计算机设备及存储介质 - Google Patents
数据处理方法、数据存储***、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113064919B CN113064919B CN202110349252.5A CN202110349252A CN113064919B CN 113064919 B CN113064919 B CN 113064919B CN 202110349252 A CN202110349252 A CN 202110349252A CN 113064919 B CN113064919 B CN 113064919B
- Authority
- CN
- China
- Prior art keywords
- data
- field
- configuration information
- storage space
- storage system
- 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.)
- Active
Links
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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- 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/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开关于一种数据处理方法、数据存储***、计算机设备及存储介质,属于计算机技术领域。本公开通过在数据存储***中同时设置行存储空间和列存储空间,应用配置信息来配置各个字段的存储形式,对于数据写入需求较大的字段,直接以行存储形式写入到行存储空间,从而能够保证数据的写入速度较快,再调用数据同步功能,将行存储空间中更新的数据同步到列存储空间中,使列存储空间能够存储有完整的、最新的数据,从而能够良好的支持数据查询,保证数据查询的速度较快。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种数据处理方法、数据存储***、计算机设备及存储介质。
背景技术
随着互联网技术的发展,网络中所需要存储的数据也越来越多,海量的数据存储对于数据存储***的性能要求也大幅提高。而目前的数据存储***,往往难以同时具备较快的数据写入速度和数据查询速度,难以满足高频率的数据写入和查询需求。因此,如何使数据存储***能够兼顾数据查询速度和数据写入速度,是一个重要研究方向。
发明内容
本公开提供一种数据处理方法、数据存储***、计算机设备及存储介质,能够提高数据存储***的数据查询速度和数据写入速度。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据处理方法,应用于数据存储***,包括:
接收数据写入请求,该数据写入请求包括待写入数据以及该待写入数据所属字段的第一字段标识;
响应于该数据写入请求中的该第一字段标识命中配置信息,将该待写入数据以行存储形式写入该数据存储***的行存储空间,该配置信息中存储有至少一个目标字段对应的目标字段标识,该目标字段所对应的写入参数和查询参数满足参考条件;
将该行存储空间中的增量数据同步至该数据存储***的列存储空间,该列存储空间中的数据以列存储形式进行存储。
本公开实施例提供的技术方案,通过在数据存储***中同时设置行存储空间和列存储空间,应用配置信息来配置各个字段的存储形式,对于数据写入需求较大的字段,直接以行存储形式写入到行存储空间,从而能够保证数据的写入速度较快,再调用数据同步功能,将行存储空间中更新的数据同步到列存储空间中,使列存储空间能够存储有完整的、最新的数据,从而能够良好的支持数据查询,保证数据查询的速度较快。
在一种可能实现方式中,该将该行存储空间中的增量数据同步至该数据存储***的列存储空间之后,该方法还包括:
获取该数据存储***的历史操作数据,该历史操作数据存储有***作数据所属字段的字段标识和对应的数据操作;
基于该历史操作数据,确定该数据存储***中字段所对应的写入参数和查询参数;
基于该字段所对应的写入参数和查询参数,在该字段中确定候选字段,该候选字段所对应的写入参数和查询参数满足该参考条件;
基于该候选字段的字段标识,对该配置信息进行更新。
本公开实施例中,通过基于真实的历史操作数据,对配置信息进行动态调整,也即是,对行存储空间中所存储的字段进行动态调整,能够有效提高对数据存储***进行配置的灵活性,使数据存储***能够更符合当前的业务需求,能够有效解决不同写入、查询比例下,存储空间的字段配置问题。
在一种可能实现方式中,该参考条件为写入参数和查询参数之间的比值大于或等于参考阈值。
在一种可能实现方式中,该基于该候选字段的字段标识,对该配置信息进行更新,包括:
将该候选字段的字段标识与该配置信息中存储的目标字段标识进行匹配;
响应于该候选字段的字段标识与该目标字段标识不同,将该候选字段的字段标识添加至该配置信息中。
在本公开实施例中,直接基于真实的日志数据进行后续的配置信息调整,能够准确的筛选出在当前业务场景中,写入频率较大的字段,确保调整后的配置信息更加符合当前业务的需求。
在一种可能实现方式中,该基于该候选字段的字段标识,对该配置信息进行更新,包括:
将该配置信息中所存储的该目标字段标识删除;
将该候选字段的字段标识添加至该配置信息中。
在本公开实施例中,通过基于当前对各个字段的读写情况,对配置信息中的内容进行完全替换,确保最新的配置信息更贴合当前业务需求。
在一种可能实现方式中,该基于该候选字段的字段标识,对该配置信息进行更新之后,该方法还包括:
基于更新后的该配置信息,调整该行存储空间中所存储的数据。
在本公开实施例中,基于新的配置信息及时调整行存储空间中所存储的数据,使该数据存储***能够及时适应新的业务需求。
在一种可能实现方式中,该列存储空间存储有全量数据;
该基于更新后的该配置信息,调整该行存储空间中所存储的数据,包括:
基于参考周期,读取该配置信息;
将本周期内读取到的第一配置信息与上一周期内读取到的第二配置信息进行对比;
响应于该第一配置信息相较于该第二配置信息,有新增的字段标识,从该列存储空间中读取该新增的字段标识所指示的数据,将读取到的该数据添加至该行存储空间;
响应于该第一配置信息相较于该第二配置信息,有删减的字段标识,将该删减的字段标识所指示的数据从该行存储空间中删除。
在本公开实施例中,由于行存储空间所存储的是非全量数据,能够有效降低数据同步过程中的数据处理压力。
在一种可能实现方式中,该接收数据写入请求之后,该方法还包括:
响应于该数据写入请求中的该第一字段标识未命中配置信息,将该待写入数据以列存储形式写入该数据存储***的列存储空间。
在本申请实施例中,对于写入频率极低的数据,直接写入到列存储空间中,由列存储空间中存储全量数据,保证数据存储***中的数据完整性,为数据查询等功能提供良好的支撑。
在一种可能实现方式中,该将该行存储空间中的增量数据同步至该数据存储***的列存储空间之后,该方法还包括:
接收数据查询请求,该数据查询请求包括待查询数据所属字段的第二字段标识;
响应于该数据查询请求中的该第二字段标识未命中配置信息,在该列存储空间中进行数据查询;
响应于该数据查询请求中的该第二字段标识命中配置信息,在该行存储空间中进行数据查询。
在本申请实施例中,由列存储空间来存储全量数据,为数据查询功能提供支持,能够确保数据查询的效率较高;对于行存储空间来说,所存储的是非全量数据,即存储的数据量较小,从而在对行存储空间进行数据查询时,能够降低数据读取的冗余,提高数据查询速度。
在一种可能实现方式中,该将该行存储空间中的增量数据同步至该数据存储***的列存储空间,包括:
响应于检测到该行存储空间中的增量数据,且该增量数据属于参考字段,将该增量数据同步至该列存储空间;
响应于检测到该行存储空间中的增量数据,且该增量数据不属于参考字段,在到达下一数据同步周期时,将该增量数据同步至该列存储空间。
在本公开实施例中,对不同字段的数据区分处理,在不同时机进行数据同步,能够有效降低计算机设备在一次数据同步过程中的数据处理量,降低计算机设备的数据处理压力。
根据本公开实施例的第二方面,提供一种数据存储***,包括存储入口模块、写入引擎以及同步引擎;
该存储入口模块,用于接收数据写入请求,该数据写入请求包括待写入数据以及该待写入数据所属字段的第一字段标识;
该写入引擎,用于响应于该数据写入请求中的该第一字段标识命中配置信息,将该待写入数据以行存储形式写入该数据存储***的行存储空间,该配置信息中存储有至少一个目标字段对应的目标字段标识,该目标字段所对应的写入参数和查询参数满足参考条件;
该同步引擎,用于将该行存储空间中的增量数据同步至该数据存储***的列存储空间,该列存储空间中的数据以列存储形式进行存储。
在一种可能实现方式中,该同步引擎还用于:
获取该数据存储***的历史操作数据,该历史操作数据存储有***作数据所属字段的字段标识和对应的数据操作;
基于该历史操作数据,确定该数据存储***中字段所对应的写入参数和查询参数;
基于该字段所对应的写入参数和查询参数,在该字段中确定候选字段,该候选字段所对应的写入参数和查询参数满足该参考条件;
基于该候选字段的字段标识,对该配置信息进行更新。
在一种可能实现方式中,该参考条件为写入参数和查询参数之间的比值大于或等于参考阈值。
在一种可能实现方式中,该同步引擎用于:
将该候选字段的字段标识与该配置信息中存储的目标字段标识进行匹配;
响应于该候选字段的字段标识与该目标字段标识不同,将该候选字段的字段标识添加至该配置信息中。
在一种可能实现方式中,该同步引擎用于:
将该配置信息中所存储的该目标字段标识删除;
将该候选字段的字段标识添加至该配置信息中。
在一种可能实现方式中,该同步引擎还用于:
基于更新后的该配置信息,调整该行存储空间中所存储的数据。
在一种可能实现方式中,该列存储空间存储有全量数据;
该同步引擎,用于基于参考周期,读取该配置信息;将本周期内读取到的第一配置信息与上一周期内读取到的第二配置信息进行对比;响应于该第一配置信息相较于该第二配置信息,有新增的字段标识,从该列存储空间中读取该新增的字段标识所指示的数据,将读取到的该数据添加至该行存储空间;响应于该第一配置信息相较于该第二配置信息,有删减的字段标识,将该删减的字段标识所指示的数据从该行存储空间中删除。
在一种可能实现方式中,该写入引擎还用于:
响应于该数据写入请求中的该第一字段标识未命中配置信息,将该待写入数据以列存储形式写入该数据存储***的列存储空间。
在一种可能实现方式中,该存储入口模块,还用于接收数据查询请求,该数据查询请求包括待查询数据所属字段的第二字段标识;
该***还包括读取引擎,用于响应于该数据查询请求中的该第二字段标识未命中配置信息,在该列存储空间中进行数据查询;响应于该数据查询请求中的该第二字段标识命中配置信息,在该行存储空间中进行数据查询。
在一种可能实现方式中,该同步引擎用于:
响应于检测到该行存储空间中的增量数据,且该增量数据属于参考字段,将该增量数据同步至该列存储空间;
响应于检测到该行存储空间中的增量数据,且该增量数据不属于参考字段,在到达下一数据同步周期时,将该增量数据同步至该列存储空间。
根据本公开实施例的第三方面,提供一种计算机设备,该计算机设备包括:
一个或多个处理器;
用于存储该处理器可执行程序代码的存储器;
其中,该处理器被配置为执行该程序代码,以实现上述的数据处理方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,该计算机可读存储介质包括:当该计算机可读存储介质中的程序代码由计算机设备的处理器执行时,使得计算机可读能够执行上述的数据处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的数据处理方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种数据存储***的示意图;
图2是根据一示例性实施例示出的一种数据处理方法的流程图;
图3是根据一示例性实施例示出的一种数据处理方法的流程图;
图4是根据一示例性实施例示出的一种不同存储空间中数据存储形式的示意图;
图5是根据一示例性实施例示出的一种数据存储***中的数据查询方法的流程图;
图6是根据一示例性实施例示出的一种配置信息调整方法的流程图;
图7是根据一示例性实施例示出的一种数据存储***的数据交互示意图;
图8是根据一示例性实施例示出的一种数据处理装置框图;
图9是根据一示例性实施例示出的一种终端结构框图;
图10是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,本公开所涉及的数据为经过用户授权或者经过各方充分授权的数据。
为了便于理解本公开实施例的技术过程,下面对本公开实施例所涉及的一些名词进行解释:
行存储:是指将属于同一行的数据组装在一起,将每一行的数据分别写入存储空间,行存储形式在数据写入时速度较快,但是在数据读取过程中会产生冗余数据,数据寻址时间较长,导致数据读取的速度较慢。
列存储:是指将数据按列进行拆分,将一列数据以及这一列中每个数据对应的ID组装在一起,将每一列的数据分别写入存储空间,列存储形式在数据读取时能够快速定位到某一列数据的存储位置,数据读取速度较快,但是在数据写入时需要对数据进行拆分,导致数据写入速度较慢。
图1是根据一示例性实施例示出的一种数据存储***的示意图,如图1所示,该数据存储***可以包括存储入口模块101、写入引擎102、配置模块103以及同步引擎104。在一种可能实现方式中,该数据存储***可以部署在任一设备上,例如,该数据存储***部署在目标应用程序对应的后台服务器上,由该数据存储***来存储该目标应用程序的运行数据、用户数据等。
其中,存储入口模块101用于接收外部程序的数据操作请求,将数据操作请求转发给相应的处理模块,例如,该存储入口模块101接收到数据写入请求时,可以将该数据写入请求转发给写入引擎102,由数据写入引擎102执行后续的数据写入操作。
该配置模块103中存储有配置信息,该配置信息用于指示数据存储***中各个字段的存储形式,该存储形式包括行存储形式和列存储形式。在本公开实施例中,该数据存储***还包括两类存储空间,分别是行存储空间105和列存储空间106,在行存储空间105中数据均以行存储形式进行存储,在列存储空间106中数据均以列存储形式进行存储。在一种可能实现方式中,该存储入口101在转发数据操作请求前,还可以读取该配置模块103中的配置信息,获取被请求操作的数据字段所对应的存储形式,将该数据操作请求和获取到的存储形式一起发送给写入引擎102,以便于写入引擎102将数据写入到正确的存储空间。
该同步引擎104用于在行存储空间105和列存储空间106之间进行数据同步。在一种可能实现方式中,该同步引擎104还可以获取数据操作***的历史操作数据,对历史操作数据进行数据分析,得到数据存储***中各个字段的历史操作情况信息,从而基于各个字段对应的历史操作情况信息来调整各个字段的存储形式。
在一种可能实现方式中,该数据存储***还包括读取引擎107,该读取引擎107用于提供数据查询功能,例如,该存储入口模块101将接收到的数据查询请求转发至该读取引擎107,由该读取引擎107从行存储空间105或列存储空间106中读取数据。
需要说明的是,上述对数据存储***的说明,仅是一种示例性说明,该数据存储***还可以包括其他功能模块,本公开实施例对该数据存储***的结构不作限定。
图2是根据一示例性实施例示出的一种数据处理方法的流程图,如图1所示,该数据处理方法应用于上述数据存储***中,该数据处理方法可以由计算机设备执行,在一种可能实现方式中,该实施例包括以下步骤。
在步骤201中,计算机设备接收数据写入请求,该数据写入请求包括待写入数据以及待写入数据所属字段的第一字段标识。
在一种可能实现方式中,该计算机设备可以是终端或者服务器,该计算机设备上部署有数据存储***,该数据存储***中存储有多个字段的数据。对该数据存储***有写入权限的应用程序或用户,能够向该数据存储***发送写入请求,以在该数据存储***中写入新的数据。
在步骤202中,计算机设备响应于该数据写入请求中的该第一字段标识命中配置信息,将待写入数据以行存储形式写入该数据存储***的行存储空间,该配置信息中存储有至少一个目标字段对应的目标字段标识,该目标字段所对应的写入参数和查询参数满足参考条件。
其中,该写入参数和查询参数分别可以为写入次数和查询次数,或者写入频率和查询频率等,本公开实施例对此不作限定;该参考条件可以由开发人员进行设置,例如,该参考条件设置为写入参数和查询参数的比值大于或等于参考阈值等,本公开实施例对此不作限定。在本公开实施例中,该行存储空间是指数据存储***中以行存储的形式进行数据存储的空间,需要说明的是,在一些实施例中,该行存储空间中的数据也能够以其他形式存储,该行存储空间所对应的数据存储形式,是能够确保在该行存储空间进行数据写入时,有较快的写入速度的。
在本公开实施例中,计算机设备能够应用配置信息对数据的存储形式进行区分,对于写入频率较高的字段,以行存储形式进行数据写入,能够提高数据写入速度。
在步骤203中,计算机设备将该行存储空间中的增量数据同步至该数据存储***的列存储空间,该列存储空间中的数据以列存储形式进行存储。
在本公开实施例中,该列存储空间是指数据存储***中以列存储的形式进行数据存储的空间,需要说明的是,在一些实施例中,该列存储空间中的数据也能够以其他形式存储,该列存储空间所对应的数据存储形式,是能够确保在该列存储空间中进行数据读取时,有较快的读取速度的。在一种可能实现方式中,该计算机设备能够按照一定周期来获取行存储空间中的增量数据,将增量数据同步到列存储空间,以确保列存储空间中能够存储有完整的、最新的数据,以便为数据查询功能提供支持。
本公开实施例提供的技术方案,通过在数据存储***中同时设置行存储空间和列存储空间,应用配置信息来配置各个字段的存储形式,对于数据写入需求较大的字段,直接以行存储形式写入到行存储空间,从而能够保证数据的写入速度较快,再调用数据同步功能,将行存储空间中更新的数据同步到列存储空间中,使列存储空间能够存储有完整的、最新的数据,从而能够良好的支持数据查询,保证数据查询的速度较快。
上述实施例仅是对本公开实施例的简要介绍,图3是根据一示例性实施例示出的一种数据处理方法的流程图,该方法可以应用于如图1所示的数据存储***中,以下结合图1和图3,对本公开提供的方案进行进一步阐述,参见图3,该方法包括以下步骤。
在步骤301中,计算机设备接收数据写入请求。
其中,该数据写入请求包括待写入数据以及该待写入数据所属字段的第一字段标识。
在本公开实施例中,该计算机设备上部署有如图1所示的数据存储***,该数据存储***可以是目标应用程序对应的后台数据库,用于存储该目标应用程序的运行数据、用户数据等。例如,该计算机设备是该目标应用程序的后台服务器,该后台服务器上部署有该目标应用程序的后台数据库,也即是,该数据存储***。其中,该目标应用程序可以是社交类应用程序、视频类应用程序等,本公开实施例对该目标应用程序的类型不作限定。
在一种可能实现方式中,用户能够通过该目标应用程序发送该数据写入请求,计算机设备通过该数据存储***中的存储入口模块接收该数据写入请求。可选的,该目标应用程序中的不同用户对应于不同用户权限,在一种可能实现方式中,该数据写入请求还携带有用户标识,该用户标识所指示的用户为请求发送用户,该计算机设备接收到数据写入请求后,先基于该用户标识进行权限验证,确定该用户标识所指示的用户是否具有对该数据存储***的写入权限。响应于用户具有对该数据存储***的写入权限,该计算机设备继续执行后续的数据写入步骤;响应于用户不具有对该数据存储***的写入权限,该计算机设备可以向该目标应用程序发送第一提示信息,该第一提示信息用于指示用户当前无权进行数据写入。需要说明的是,本公开实施例对该计算机设备进行用户权限验证的方法不作限定。
在一种可能实现方式中,该数据存储***中的存储入口模块响应于接收到该数据写入请求,还可以从配置模块中读取配置信息,该配置信息用于指示属于各个字段的数据所对应的存储形式。示例性的,该配置信息中存储有至少一个目标字段对应的目标字段标识,该目标字段所对应的写入参数和查询参数满足参考条件,属于该目标字段的数据可以以相同的存储形式存储到该数据存储***的同一存储空间。其中,该参考条件可以由开发人员进行设置,本公开实施例对此不作限定,例如,该参考条件可以设置为写入次数和查询次数的比值大于或等于参考阈值,也即是,该目标字段所对应的写入频率远远大于查询频率,在这种情况下,就可以将属于该目标字段的数据以行存储形式存储至该数据存储***的行存储空间,从而确保有较快的写入速度。当然,该参考条件也可以设置为其他内容,该计算机设备也可以基于该配置信息将属于目标字段的数据以其他存储形式进行存储,本公开实施例对此不作限定,在本公开实施例中仅以将属于参考字段的数据以行存储形式进行存储为例进行说明。在本公开实施例中,该计算机设备可以基于该数据写入请求所携带的第一字段标识对该配置信息的命中情况,来继续执行下述步骤302或步骤303。
在步骤302中,计算机设备响应于该数据写入请求中的第一字段标识命中配置信息,将该待写入数据以行存储形式写入该数据存储***的行存储空间。
在本公开实施例中,计算机设备响应于该第一字段标识命中该配置信息,则确定该待写入数据所属的字段是写入频率较高的字段,该计算机设备将该待写入数据存储至行存储空间,从而确保这类数据在数据写入过程的复杂度较低,耗时较短。
在一种可能实现方式中,上述获取配置信息,将第一字段标识与配置信息进行匹配的步骤由数据存储***中的存储入口模块执行,该存储入口模块确定出待写入数据的存储形式,将该待写入数据、第一字段标识以及该待写入数据对应的存储形式发送至写入引擎,由写入引擎执行后续的数据写入步骤。在一种可能实现方式中,该写入引擎响应于该存储形式是行存储形式,确定该待写入数据在行存储空间中的目标写入位置,将该待写入数据写入该目标写入位置。示例性的,该数据写入请求包括待写入数据对应的ID(IdentityDocument,身份标识号),在存储空间中,数据与对应的ID相关联存储,该写入引擎可以基于待写入数据对应的ID以及该第一字段标识,在该行存储空间中定位出该目标写入位置。图4是根据一示例性实施例示出的一种不同存储空间中数据存储形式的示意图,参见图4,原数据表如401所示,该数据表401包括ID、姓名、年龄、性别、位置字段的数据,以行存储空间402存储姓名和年龄字段的数据、列存储空间403存储全量数据为例,写入引擎接收到待写入数据AAA,若该待写入数据属于姓名字段,对应于ID3时,则该写入引擎可以确定该待写入数据AAA的目标写入位置为404,将AAA写入行存储空间中的404位置。
在本申请实施例中,行存储空间中存储有非全量数据,通过配置信息来配置行存储空间中所存储的字段,仅将写入频率较大的字段所对应的数据存储到行存储空间中,这种配置方式,能够有效降低行存储空间所占用的内容,降低数据存储***中的数据冗余。
在步骤303中,计算机设备响应于该数据写入请求中的第一字段标识未命中配置信息,将该待写入数据以列存储形式写入该数据存储***的列存储空间。
其中,该列存储空间中的数据以列存储形式进行存储,如图4所示,在列存储空间403中,存储有数据表401中全部字段的数据,将同一列的数据以及每个数据对应的ID存储在一起,如405中的数据所示。
该步骤303中将待写入数据写入列存储空间的方法,与上述步骤302中将待写入数据写入行存储空间的过程同理,在此不作赘述。
在本申请实施例中,对于写入频率极低的数据,直接写入到列存储空间中,由列存储空间中存储全量数据,保证数据存储***中的数据完整性,为数据查询等功能提供良好的支撑。
在步骤304中,计算机设备将该行存储空间中的增量数据同步至该数据存储***的列存储空间。
其中,该增量数据是指行存储空间中更新的数据,新添加的数据等。
在一些实施例中,该计算机设备可以基于数据同步周期进行数据同步,在到达一个数据同步周期时,获取本周期内行存储空间中的增量数据,将获取到的增量数据同步至该列存储空间。其中,该数据同步周期的时长由开发人员进行设置,本公开实施例对此不作限定。在本申请实施例中,通过周期性数据同步,能够保证列存储空间中所存储数据的完整性、有效性,以便于用户对该数据存储***进行数据查询。
在一些实施例中,该计算机设备在检测到行存储空间中有增量数据时,也即是,该计算机设备在对行存储空间进行写入操作之后,即可进行数据同步。在本申请实施例中,在行存储空间中有新数据写入后,就立即同步到列存储空间,能够有效保持两个存储空间中数据的一致性。
在一些实施例中,该计算机设备在检测到行存储空间有增量数据时,可以基于该增量数据所属的字段,来确定是否立即对该增量数据进行数据同步。示例性的,计算机设备响应于检测到该行存储空间中的增量数据,且该增量数据属于参考字段,将该增量数据同步至该列存储空间;响应于检测到该行存储空间中的增量数据,且该增量数据不属于参考字段,在到达下一数据同步周期时,将该增量数据同步至该列存储空间。其中,该参考字段由开发人员进行设置,例如,该参考字段是对数据准确度要求较高、数据查询频率较高的字段等,本公开实施例对此不作限定。在本公开实施例中,对不同字段的数据区分处理,在不同时机进行数据同步,能够有效降低计算机设备在一次数据同步过程中的数据处理量,降低计算机设备的数据处理压力。
在本公开实施例中,上述数据同步过程可以由数据存储***中的同步引擎执行,可选的,该同步引擎中设置有数据同步周期,基于该数据同步周期执行增量数据同步的步骤,或者,该同步引擎能够监听写入引擎对行存储空间的数据写入操作,响应于检测到数据写入操作,执行增量数据同步的步骤。需要说明的是,上述对行存储空间和列存储空间之间进行数据同步的方法的说明,仅是一种可能实现方式的示例性说明,本公开实施例对具体采用哪种方法进行数据同步不作限定。在本公开实施例中,由于行存储空间所存储的是非全量数据,数据量较小,因此在数据同步过程中,同步引擎的数据处理压力也较小,能够确保数据同步过程中该同步引擎良好运行。
本公开实施例提供的技术方案,通过在数据存储***中同时设置行存储空间和列存储空间,应用配置信息来配置各个字段的存储形式,对于数据写入需求较大的字段,直接以行存储形式写入到行存储空间,从而能够保证数据的写入速度较快,再调用数据同步功能,将行存储空间中更新的数据同步到列存储空间中,使列存储空间能够存储有完整的、最新的数据,从而能够良好的支持数据查询,保证数据查询的速度较快。
需要说明的是,在本申请实施例中上述数据写入请求能够包括多个待写入数据,每个待写入数据对应于一个字段标识,该计算机设备可以基于每个待写入数据基于对应的字段标识执行上述步骤302至步骤303,以将各个待写入数据写入该数据存储***,示例性的,计算机设备能够字段标识命中配置信息的数据写入到行存储空间,其他数据写入到列存储空间。需要说明的是,本申请实施例对数据写入请求所包括的待写入数据的数目不作限定。
上述实施例介绍了在数据存储***中进行数据写入和数据同步的过程,在本公开实施例中,还可以在该数据存储***中进行数据查询。图5是根据一示例性实施例示出的一种数据存储***中的数据查询方法的流程图,参见图5,在一种可能实现方式中,该实施例包括以下步骤。
在步骤501中,计算机设备接收数据查询请求。
其中,该数据查询请求包括待查询数据所属字段的第二字段标识,可选的,该数据查询请求还可以包括该待查询数据所对应的ID。
在一种可能实现方式中,用户能够通过目标应用程序发送数据查询请求,计算机设备通过数据存储***的存储入口模块接收该数据查询请求。可选的,该计算机设备在进行数据查询之前,还可以验证该用户是否具有对该数据存储***的查询权限。示例性的,该数据查询请求还携带有请求发送用户的用户标识,该计算机设备接收到数据写入请求后,先基于该用户标识进行权限验证。响应于权限验证通过,即确定用户具有对该数据存储***的查询权限,该计算机设备继续执行后续的数据查询步骤;响应于权限验证失败,即确定用户不具有对该数据存储***的查询权限,该计算机设备可以向该目标应用程序发送第二提示信息,该第二提示信息用于指示用户当前无权进行数据查询。需要说明的是,本公开实施例对该计算机设备进行用户权限验证的方法不作限定。
在一种可能实现方式中,该数据存储***中的存储入口模块响应于接收到该数据查询请求,还可以从配置模块中读取配置信息,基于配置信息确定待查询数据的存储形式,也即是,确定待查询数据的存储位置,从而在对应的存储位置中进行数据查询。需要说明的是,在本公开实施例中仅以该配置信息中存储有至少一个目标字段的目标字段标识,该目标字段的数据是写入到行存储空间的数据为例进行说明。
在步骤502中,计算机设备响应于该数据查询请求中的第二字段标识未命中配置信息,在数据存储***的列存储空间中进行数据查询。
在一种可能实现方式中,响应于该第二字段标识与配置信息中的任一目标字段标识均不匹配,则可以确定该第二字段标识所指示的数据无需写入行存储空间,是直接存储在列存储空间中的,该计算机设备可以直接从列存储空间中进行数据查询。在一种可能实现方式中,上述获取配置信息,将第二字段标识与配置信息进行匹配的步骤由数据存储***中的存储入口模块执行,该存储入口模块确定出待查询数据的存储形式,可以将该待查询数据对应的第二字段标识和存储形式发送至读取引擎,由该读取引擎执行后续的数据读取步骤。
在步骤503中,计算机设备响应于该数据查询请求中的第二字段标识命中配置信息,在数据存储***的行存储空间中进行数据查询。
在一种可能实现方式中,响应于该第二字段标识与配置信息中的任一目标字段标识相同,则可以确定该第二字段标识所指示的数据是需要写入行存储空间的,该计算机设备可以从行存储空间中进行数据查询,以查询到最新的数据。在本申请实施例中,行存储空间中所存储的是经常更新的数据,若待查询数据所属的字段包括在行存储空间中,则直接从行存储空间中进行数据查询,能够确保获取到最新的、准确的数据,且在本申请实施例中,行存储空间所存储的数据量较小,从而也能够降低对行存储空间进行数据查询的耗时。
在步骤504中,计算机设备生成数据查询结果。
在一种可能实现方式中,该读取引擎基于从各个存储空间所获取到的数据生成查询结果。示例性的,在该数据查询请求可以是请求对多个字段的数据进行查询的情况下,响应于该多个字段中有任一字段的字段标识命中配置信息,则该读取引擎从行存储空间中查询该任一字段对应的数据,得到第一中间结果;对于除该任一字段以外的其他字段,则该读取引擎从列存储空间中查询其他字段对应的数据,得到第二中间结果。该读取引擎可以对该第一中间结果和该第二中间结果进行组合,得到查询结果。该读取引擎将该查询结果发送至存储入口模块,由该存储入口模块将查询结果发送至目标应用程序。
在本申请实施例中,由列存储空间来存储全量数据,为数据查询功能提供支持,能够确保数据查询的效率较高;对于行存储空间来说,所存储的是非全量数据,即存储的数据量较小,从而在对行存储空间进行数据查询时,能够降低数据读取的冗余,提高数据查询速度。
在本公开实施例中,该计算机设备可以基于当前业务场景中,对各个字段进行写入和查询的需求量,来对配置信息进行动态的调整,也即是,对行存储空间中所存储的字段进行动态调整,使数据存储***能够符合当前的业务需求,图6是根据一示例性实施例示出的一种配置信息调整方法的流程图,参见图6,在一种可能实现方式中,该实施例包括以下步骤。
在步骤601中,计算机设备获取数据存储***的历史操作数据。
其中,该历史操作数据存储有***作数据所属字段的字段标识和对应的数据操作,该数据操作包括数查询操作、数据写入操作等,该历史操作数据能够体现出用户对各个字段的读、写情况。示例性的,该历史操作数据为该数据库存储***的历史数据操作日志等。
在一种可能实现方式中,该计算机设备可以通过数据存储***中的同步引擎,按照目标周期获取目标时间段内的历史操作数据,其中,该目标周期和目标时间段均可以由开发人员进行设置,例如,该目标时间段可以设置为最近一个目标周期对应的时间段,或者最近两个周期对应的时间段,本公开实施例对此不作限定。在本公开实施例中,直接基于真实的日志数据进行后续的配置信息调整,能够确保调整后的配置信息更加符合当前业务的需求。
在步骤602中,计算机设备基于该历史操作数据,确定数据存储***中各个字段所对应的写入参数和查询参数。
在一种可能实现方式中,该计算机设备可以通过同步引擎对包括相同字段标识和相同数据操作的日志数据进行汇总,从而统计出对各个字段进行不同写入操作的次数和进行查询操作的次数,或者统计出对各个字段进行写入操作的频率和进行查询操作的频率,基于写入次数和查询次数,或者写入频率和查询频率确定该写入参数和查询参数。需要说明的是,本公开实施例对同步引擎确定该写入参数和查询参数的方法不作限定。
在步骤603中,计算机设备基于各个字段所对应的写入参数和查询参数,在各个字段中确定候选字段。
在一种可能实现方式中,该计算机设备可以将对应的写入参数和查询参数满足该参考条件的字段确定为候选字段,示例性的,计算机设备将写入频率较大的字段确定为候选字段。当然,该计算机设备也可以基于其他条件来筛选候选字段,本申请实施例对此不作限定。
在步骤604中,计算机设备基于该候选字段的字段标识,对该配置信息进行更新。
在一种可能实现方式中,计算机设备通过该同步引擎将该候选字段的字段标识与配置信息中已存储的目标字段标识进行比对,响应于该候选字段的字段标识与该目标字段标识不同,将该候选字段的字段标识添加至该配置信息中。在一种可能实现方式中,响应于获取到候选字段的字段标识,该同步引擎还可以先将该配置信息中所存储的该目标字段标识删除,再将该候选字段的字段标识添加至该配置信息中。需要说明的是,上述对配置信息更新方法的说明,仅是一种示例性说明,本公开实施例对具体采用哪种方式更新该配置信息不作限定。
在步骤605中,计算机设备基于更新后的该配置信息,调整该行存储空间中所存储的数据。
在一种可能实现方式中,该计算机设备可以基于参考周期,读取该配置信息,将本周期内读取到的第一配置信息与上一周期内读取到的第二配置信息进行对比,响应于该第一配置信息相较于该第二配置信息,有新增的字段标识,从该列存储空间中读取该新增的字段标识所指示的数据,将读取到的该数据添加至该行存储空间,响应于该第一配置信息相较于该第二配置信息,有删减的字段标识,将该删减的字段标识所指示的数据从该行存储空间中删除。其中,该参考周期由开发人员进行设置,本公开实施例对此不作限定。在一种可能实现方式中,也可以不设置该参考周期,在配置信息更新完成后,自动触发对行存储空间中所存储的数据进行更新的步骤,本公开实施例对此不作限定。
需要说明的是,该数据存储***中的配置信息也可以由开发人员进行设置,本申请实施例对此不作限定。
本公开实施例提供的技术方案,通过基于真实的历史操作数据,对配置信息进行动态调整,也即是,对行存储空间中所存储的字段进行动态调整,能够有效提高对数据存储***进行配置的灵活性,使数据存储***能够更符合当前的业务需求,能够有效解决不同写入、查询比例下,存储空间的字段配置问题。
图7是根据一示例性实施例示出的一种数据存储***的数据交互示意图,以下结合图7对上述数据写入、查询以及配置信息更新的过程进行说明。如图7所示,在一种可能实现方式中,该数据存储***的存储入口模块能够接收外部程序所发送的数据操作请求,包括数据写入请求和数据查询请求,再从配置模块中读取配置信息,确定待处理数据的存储形式,将数据操作请求以及获取到的存储形式,转发给相应的数据处理模块,例如,将数据写入请求和存储形式信息转发给写入引擎,将数据查询请求和存储形式信息转发给读取引擎。该写入引擎或读取引擎能够响应于不同的数据操作请求,在不同的存储空间中进行数据处理。该数据存储***中还包括同步引擎,该同步引擎能够在不同的数据存储***之间进行数据同步,也能够定期读取配置模块中的配置,基于该配置信息更新行存储空间中所存储的数据。在本公开实施例中,数据存储***的行存储空间只需存储更新频率较大的数据,所存储的数据量小,在确保数据写入速度较快的情况下,也能够提高在该行存储空间中进行数据查询的速度。且数据存储和数据读取都是兼顾行存储空间和列存储空间,避免两个存储空间中数据差异过大,在数据同步时,同步引擎的数据处理量和数据处理压力也较小。
图8是根据一示例性实施例示出的一种数据处理装置框图。参照图8,该装置包括接收单元801、写入单元802和同步单元803。
接收单元801,被配置为接收数据写入请求,该数据写入请求包括待写入数据以及该待写入数据所属字段的第一字段标识;
写入单元802,被配置为响应于该数据写入请求中的该第一字段标识命中配置信息,将该待写入数据以行存储形式写入该数据存储***的行存储空间,该配置信息中存储有至少一个目标字段对应的目标字段标识,该目标字段所对应的写入参数和查询参数满足参考条件;
同步单元803,被配置为将该行存储空间中的增量数据同步至该数据存储***的列存储空间,该列存储空间中的数据以列存储形式进行存储。
在一种可能实现方式中,该装置还包括:
获取单元,被配置为获取该数据存储***的历史操作数据,该历史操作数据存储有***作数据所属字段的字段标识和对应的数据操作;
第一确定单元,被配置为基于该历史操作数据,确定该数据存储***中字段所对应的写入参数和查询参数;
第二确定单元,被配置为基于该字段所对应的写入参数和查询参数,在该字段中确定候选字段,该候选字段所对应的写入参数和查询参数满足该参考条件;
更新单元,被配置为基于该候选字段的字段标识,对该配置信息进行更新。
在一种可能实现方式中,该参考条件为写入参数和查询参数之间的比值大于或等于参考阈值。
在一种可能实现方式中,该更新单元,被配置为:
将该候选字段的字段标识与该配置信息中存储的目标字段标识进行匹配;
响应于该候选字段的字段标识与该目标字段标识不同,将该候选字段的字段标识添加至该配置信息中。
在一种可能实现方式中,该更新单元,被配置为:
将该配置信息中所存储的该目标字段标识删除;
将该候选字段的字段标识添加至该配置信息中。
在一种可能实现方式中,该装置还包括:
调整单元,被配置为基于更新后的该配置信息,调整该行存储空间中所存储的数据。
在一种可能实现方式中,该列存储空间存储有全量数据;
该调整单元,被配置为基于参考周期,读取该配置信息;将本周期内读取到的第一配置信息与上一周期内读取到的第二配置信息进行对比;响应于该第一配置信息相较于该第二配置信息,有新增的字段标识,从该列存储空间中读取该新增的字段标识所指示的数据,将读取到的该数据添加至该行存储空间;响应于该第一配置信息相较于该第二配置信息,有删减的字段标识,将该删减的字段标识所指示的数据从该行存储空间中删除。
在一种可能实现方式中,该写入单元,被配置为:
响应于该数据写入请求中的该第一字段标识未命中配置信息,将该待写入数据以列存储形式写入该数据存储***的列存储空间。
在一种可能实现方式中,该接收单元801,被配置为接收数据查询请求,该数据查询请求包括待查询数据所属字段的第二字段标识;
该装置还包括查询单元,被配置为响应于该数据查询请求中的该第二字段标识未命中配置信息,在该列存储空间中进行数据查询;响应于该数据查询请求中的该第二字段标识命中配置信息,在该行存储空间中进行数据查询。
在一种可能实现方式中,该同步单元803,被配置为:
响应于检测到该行存储空间中的增量数据,且该增量数据属于参考字段,将该增量数据同步至该列存储空间;
响应于检测到该行存储空间中的增量数据,且该增量数据不属于参考字段,在到达下一数据同步周期时,将该增量数据同步至该列存储空间。
本公开实施例提供的装置,通过在数据存储***中同时设置行存储空间和列存储空间,应用配置信息来配置各个字段的存储形式,对于数据写入需求较大的字段,直接以行存储形式写入到行存储空间,从而能够保证数据的写入速度较快,再调用数据同步功能,将行存储空间中更新的数据同步到列存储空间中,使列存储空间能够存储有完整的、最新的数据,从而能够良好的支持数据查询,保证数据查询的速度较快。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
上述计算机设备可以实现为一种终端。图9是根据一示例性实施例示出的一种终端结构框图。该终端900可以是:智能手机、平板电脑、笔记本电脑或台式电脑。终端900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。在一些实施例中,处理器901可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器901所执行以实现本公开中方法实施例所提供的数据处理方法。
在一些实施例中,终端900还可选包括有:***设备接口903和至少一个***设备。处理器901、存储器902和***设备接口903之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口903相连。具体地,***设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
***设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器901和存储器902。
其中,显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。
在一些实施例中,终端900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器913、光学传感器915以及接近传感器916。
本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
上述计算机设备可以实现为一种服务器。图10是根据一示例性实施例示出的一种服务器的框图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)1001和一个或多个的存储器1002,其中,该一个或多个存储器1002中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器1001加载并执行以实现上述各个方法实施例提供的数据处理方法中服务器执行的过程。当然,该服务器1000还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1000还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种包括程序代码的计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由服务器1000的处理器1001执行以完成上述数据处理方法。可选地,计算机可读存储介质可以是只读内存(read-only memory,ROM)、随机存取存储器(random access memory),RAM)、只读光盘(compact-disc read-only memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的数据处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (18)
1.一种数据处理方法,其特征在于,应用于数据存储***,包括:
接收数据写入请求,所述数据写入请求包括待写入数据以及所述待写入数据所属字段的第一字段标识;
响应于所述数据写入请求中的所述第一字段标识命中配置信息,将所述待写入数据以行存储形式写入所述数据存储***的行存储空间,所述配置信息中存储有至少一个目标字段对应的目标字段标识,所述目标字段所对应的写入参数和查询参数满足参考条件;将所述行存储空间中的增量数据同步至所述数据存储***的列存储空间,所述列存储空间中的数据以列存储形式进行存储;
响应于所述数据写入请求中的所述第一字段标识未命中配置信息,将所述待写入数据以列存储形式写入所述数据存储***的列存储空间。
2.根据权利要求1所述的数据处理方法,其特征在于,所述将所述行存储空间中的增量数据同步至所述数据存储***的列存储空间之后,所述方法还包括:
获取所述数据存储***的历史操作数据,所述历史操作数据存储有***作数据所属字段的字段标识和对应的数据操作;
基于所述历史操作数据,确定所述数据存储***中字段所对应的写入参数和查询参数;
基于所述字段所对应的写入参数和查询参数,在所述字段中确定候选字段,所述候选字段所对应的写入参数和查询参数满足所述参考条件;
基于所述候选字段的字段标识,对所述配置信息进行更新。
3.根据权利要求2所述的数据处理方法,其特征在于,所述基于所述候选字段的字段标识,对所述配置信息进行更新,包括:
将所述候选字段的字段标识与所述配置信息中存储的目标字段标识进行匹配;
响应于所述候选字段的字段标识与所述目标字段标识不同,将所述候选字段的字段标识添加至所述配置信息中。
4.根据权利要求2所述的数据处理方法,其特征在于,所述基于所述候选字段的字段标识,对所述配置信息进行更新,包括:
将所述配置信息中所存储的所述目标字段标识删除;
将所述候选字段的字段标识添加至所述配置信息中。
5.根据权利要求2所述的数据处理方法,其特征在于,所述基于所述候选字段的字段标识,对所述配置信息进行更新之后,所述方法还包括:
基于更新后的所述配置信息,调整所述行存储空间中所存储的数据。
6.根据权利要求5所述的数据处理方法,其特征在于,所述列存储空间存储有全量数据;
所述基于更新后的所述配置信息,调整所述行存储空间中所存储的数据,包括:
基于参考周期,读取所述配置信息;
将本周期内读取到的第一配置信息与上一周期内读取到的第二配置信息进行对比;
响应于所述第一配置信息相较于所述第二配置信息,有新增的字段标识,从所述列存储空间中读取所述新增的字段标识所指示的数据,将读取到的所述数据添加至所述行存储空间;
响应于所述第一配置信息相较于所述第二配置信息,有删减的字段标识,将所述删减的字段标识所指示的数据从所述行存储空间中删除。
7.根据权利要求1所述的数据处理方法,其特征在于,所述将所述行存储空间中的增量数据同步至所述数据存储***的列存储空间之后,所述方法还包括:
接收数据查询请求,所述数据查询请求包括待查询数据所属字段的第二字段标识;
响应于所述数据查询请求中的所述第二字段标识未命中配置信息,在所述列存储空间中进行数据查询;
响应于所述数据查询请求中的所述第二字段标识命中配置信息,在所述行存储空间中进行数据查询。
8.根据权利要求1所述的数据处理方法,其特征在于,所述将所述行存储空间中的增量数据同步至所述数据存储***的列存储空间,包括:
响应于检测到所述行存储空间中的增量数据,且所述增量数据属于参考字段,将所述增量数据同步至所述列存储空间;
响应于检测到所述行存储空间中的增量数据,且所述增量数据不属于参考字段,在到达下一数据同步周期时,将所述增量数据同步至所述列存储空间。
9.一种数据存储***,其特征在于,包括存储入口模块、写入引擎以及同步引擎;
所述存储入口模块,用于接收数据写入请求,所述数据写入请求包括待写入数据以及所述待写入数据所属字段的第一字段标识;
所述写入引擎,用于响应于所述数据写入请求中的所述第一字段标识命中配置信息,将所述待写入数据以行存储形式写入所述数据存储***的行存储空间,所述配置信息中存储有至少一个目标字段对应的目标字段标识,所述目标字段所对应的写入参数和查询参数满足参考条件;
所述同步引擎,用于将所述行存储空间中的增量数据同步至所述数据存储***的列存储空间,所述列存储空间中的数据以列存储形式进行存储;
所述写入引擎,还用于响应于所述数据写入请求中的所述第一字段标识未命中配置信息,将所述待写入数据以列存储形式写入所述数据存储***的列存储空间。
10.根据权利要求9所述的数据存储***,其特征在于,所述同步引擎还用于:
获取所述数据存储***的历史操作数据,所述历史操作数据存储有***作数据所属字段的字段标识和对应的数据操作;
基于所述历史操作数据,确定所述数据存储***中字段所对应的写入参数和查询参数;
基于所述字段所对应的写入参数和查询参数,在所述字段中确定候选字段,所述候选字段所对应的写入参数和查询参数满足所述参考条件;
基于所述候选字段的字段标识,对所述配置信息进行更新。
11.根据权利要求10所述的数据存储***,其特征在于,所述同步引擎用于:
将所述候选字段的字段标识与所述配置信息中存储的目标字段标识进行匹配;
响应于所述候选字段的字段标识与所述目标字段标识不同,将所述候选字段的字段标识添加至所述配置信息中。
12.根据权利要求10所述的数据存储***,其特征在于,所述同步引擎用于:
将所述配置信息中所存储的所述目标字段标识删除;
将所述候选字段的字段标识添加至所述配置信息中。
13.根据权利要求10所述的数据存储***,其特征在于,所述同步引擎还用于:
基于更新后的所述配置信息,调整所述行存储空间中所存储的数据。
14.根据权利要求13所述的数据存储***,其特征在于,所述列存储空间存储有全量数据;
所述同步引擎,用于基于参考周期,读取所述配置信息;将本周期内读取到的第一配置信息与上一周期内读取到的第二配置信息进行对比;响应于所述第一配置信息相较于所述第二配置信息,有新增的字段标识,从所述列存储空间中读取所述新增的字段标识所指示的数据,将读取到的所述数据添加至所述行存储空间;响应于所述第一配置信息相较于所述第二配置信息,有删减的字段标识,将所述删减的字段标识所指示的数据从所述行存储空间中删除。
15.根据权利要求9所述的数据存储***,其特征在于,所述存储入口模块,还用于接收数据查询请求,所述数据查询请求包括待查询数据所属字段的第二字段标识;
所述***还包括读取引擎,用于响应于所述数据查询请求中的所述第二字段标识未命中配置信息,在所述列存储空间中进行数据查询;响应于所述数据查询请求中的所述第二字段标识命中配置信息,在所述行存储空间中进行数据查询。
16.根据权利要求9所述的数据存储***,其特征在于,所述同步引擎用于:
响应于检测到所述行存储空间中的增量数据,且所述增量数据属于参考字段,将所述增量数据同步至所述列存储空间;
响应于检测到所述行存储空间中的增量数据,且所述增量数据不属于参考字段,在到达下一数据同步周期时,将所述增量数据同步至所述列存储空间。
17.一种计算机设备,其特征在于,包括:
一个或多个处理器;
用于存储所述处理器可执行程序代码的存储器;
其中,所述处理器被配置为执行所述程序代码,以实现如权利要求1至8中任一项所述的数据处理方法。
18.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的程序代码由计算机设备的处理器执行时,使得计算机设备能够执行如权利要求1至8中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110349252.5A CN113064919B (zh) | 2021-03-31 | 2021-03-31 | 数据处理方法、数据存储***、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110349252.5A CN113064919B (zh) | 2021-03-31 | 2021-03-31 | 数据处理方法、数据存储***、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113064919A CN113064919A (zh) | 2021-07-02 |
CN113064919B true CN113064919B (zh) | 2022-11-22 |
Family
ID=76565074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110349252.5A Active CN113064919B (zh) | 2021-03-31 | 2021-03-31 | 数据处理方法、数据存储***、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113064919B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113900994B (zh) * | 2021-12-02 | 2022-03-01 | 新华三智能终端有限公司 | 一种文件写入方法及装置 |
CN113901069B (zh) * | 2021-12-08 | 2022-03-15 | 威讯柏睿数据科技(北京)有限公司 | 一种分布式数据库的数据存储方法和装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364947A (zh) * | 2008-09-08 | 2009-02-11 | 中兴通讯股份有限公司 | 一种访问控制列表规则匹配方法及*** |
CN101551801A (zh) * | 2008-03-31 | 2009-10-07 | 国际商业机器公司 | 数据同步的方法和*** |
CN101751423A (zh) * | 2008-12-08 | 2010-06-23 | 北大方正集团有限公司 | 一种稿件查重的方法及*** |
CN101998675A (zh) * | 2009-08-14 | 2011-03-30 | 华为技术有限公司 | 无线设备接入方法、装置和通信*** |
CN104111962A (zh) * | 2013-04-22 | 2014-10-22 | Sap股份公司 | 具有批量操作的增强型事务高速缓存 |
CN105095247A (zh) * | 2014-05-05 | 2015-11-25 | 中国电信股份有限公司 | 符号数据分析方法和*** |
CN106874437A (zh) * | 2017-02-04 | 2017-06-20 | 中国人民大学 | 面向数据库一体机的内存数据仓库行列存储转换实现方法 |
CN108829781A (zh) * | 2018-05-31 | 2018-11-16 | 中国平安人寿保险股份有限公司 | 客户信息查询方法、装置、计算机设备和存储介质 |
CN110060643A (zh) * | 2019-04-06 | 2019-07-26 | 上海安路信息科技有限公司 | 数据存储方法及数据存储*** |
CN110109910A (zh) * | 2018-01-08 | 2019-08-09 | 广东神马搜索科技有限公司 | 数据处理方法及***、电子设备和计算机可读存储介质 |
CN110213352A (zh) * | 2019-05-17 | 2019-09-06 | 北京航空航天大学 | 名字空间统一的分散自治存储资源聚合方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9465844B2 (en) * | 2012-04-30 | 2016-10-11 | Sap Se | Unified table query processing |
US8996565B2 (en) * | 2012-12-18 | 2015-03-31 | Sap Se | Systems and methods for in-memory database processing |
US10671594B2 (en) * | 2014-09-17 | 2020-06-02 | Futurewei Technologies, Inc. | Statement based migration for adaptively building and updating a column store database from a row store database based on query demands using disparate database systems |
CN111459978A (zh) * | 2020-03-20 | 2020-07-28 | 平安国际智慧城市科技股份有限公司 | 查询方法、装置、计算机设备和存储介质 |
CN111400408B (zh) * | 2020-04-13 | 2023-06-09 | 上海东普信息科技有限公司 | 数据同步方法、装置、设备及存储介质 |
CN111581216A (zh) * | 2020-05-09 | 2020-08-25 | 北京百度网讯科技有限公司 | 数据处理方法、装置、设备以及存储介质 |
-
2021
- 2021-03-31 CN CN202110349252.5A patent/CN113064919B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551801A (zh) * | 2008-03-31 | 2009-10-07 | 国际商业机器公司 | 数据同步的方法和*** |
CN101364947A (zh) * | 2008-09-08 | 2009-02-11 | 中兴通讯股份有限公司 | 一种访问控制列表规则匹配方法及*** |
CN101751423A (zh) * | 2008-12-08 | 2010-06-23 | 北大方正集团有限公司 | 一种稿件查重的方法及*** |
CN101998675A (zh) * | 2009-08-14 | 2011-03-30 | 华为技术有限公司 | 无线设备接入方法、装置和通信*** |
CN104111962A (zh) * | 2013-04-22 | 2014-10-22 | Sap股份公司 | 具有批量操作的增强型事务高速缓存 |
CN105095247A (zh) * | 2014-05-05 | 2015-11-25 | 中国电信股份有限公司 | 符号数据分析方法和*** |
CN106874437A (zh) * | 2017-02-04 | 2017-06-20 | 中国人民大学 | 面向数据库一体机的内存数据仓库行列存储转换实现方法 |
CN110109910A (zh) * | 2018-01-08 | 2019-08-09 | 广东神马搜索科技有限公司 | 数据处理方法及***、电子设备和计算机可读存储介质 |
CN108829781A (zh) * | 2018-05-31 | 2018-11-16 | 中国平安人寿保险股份有限公司 | 客户信息查询方法、装置、计算机设备和存储介质 |
CN110060643A (zh) * | 2019-04-06 | 2019-07-26 | 上海安路信息科技有限公司 | 数据存储方法及数据存储*** |
CN110213352A (zh) * | 2019-05-17 | 2019-09-06 | 北京航空航天大学 | 名字空间统一的分散自治存储资源聚合方法 |
Non-Patent Citations (1)
Title |
---|
基于HANA的工单备件采购联合报表的研究与实现;叶林林;《中国核电》;20170315(第01期);第21-27页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113064919A (zh) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110955631B (zh) | 文件访问追踪方法、装置、存储介质及终端 | |
CN113064919B (zh) | 数据处理方法、数据存储***、计算机设备及存储介质 | |
CN112306993B (zh) | 基于Redis的数据读取方法、装置、设备及可读存储介质 | |
CN109981569B (zh) | 网络***访问方法、装置、计算机设备及可读存储介质 | |
WO2019100853A1 (zh) | 分页查询方法及装置和电子设备 | |
CN111061740A (zh) | 一种数据同步方法、设备和存储介质 | |
CN111737564A (zh) | 一种信息查询方法、装置、设备及介质 | |
CN114461691A (zh) | 状态机的控制方法、装置、电子设备及存储介质 | |
CN108228611B (zh) | 单据信息抄写方法和装置 | |
CN112100092B (zh) | 一种信息缓存方法、装置、设备及介质 | |
CN111639087A (zh) | 数据库中数据更新方法、装置和电子设备 | |
CN109542872B (zh) | 数据读取方法、装置、计算机设备和存储介质 | |
EP4361811A1 (en) | Data processing method and apparatus for shared memory, and device and medium | |
CN114840562B (zh) | 业务数据的分布式缓存方法、装置、电子设备及存储介质 | |
CN112783866B (zh) | 数据读取方法、装置、计算机设备和存储介质 | |
CN114564856B (zh) | 一种基于fmea的数据共享方法及电子设备 | |
US20220269438A1 (en) | Storing and recovering critical data in a memory device | |
CN111221817B (zh) | 业务信息数据存储方法、装置、计算机设备及存储介质 | |
CN111399753B (zh) | 写入图片的方法和装置 | |
CN107679093B (zh) | 一种数据查询方法及装置 | |
CN110795318B (zh) | 数据处理方法和装置以及电子设备 | |
CN109947727B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN112559568A (zh) | 一种虚拟物品确定方法、装置及计算机可读存储介质 | |
CN112434001B (zh) | 支持数据预处理的多数据源可配置MongoDB数据同步***、电子设备及介质 | |
CN111694504B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |