CN111562885A - 数据处理方法、装置、计算机设备及存储介质 - Google Patents

数据处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111562885A
CN111562885A CN202010362373.9A CN202010362373A CN111562885A CN 111562885 A CN111562885 A CN 111562885A CN 202010362373 A CN202010362373 A CN 202010362373A CN 111562885 A CN111562885 A CN 111562885A
Authority
CN
China
Prior art keywords
data
query
keyword
query task
writing
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
Application number
CN202010362373.9A
Other languages
English (en)
Inventor
宋大伟
丁静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Yige Network Technology Co ltd
Original Assignee
Suzhou Yige Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Yige Network Technology Co ltd filed Critical Suzhou Yige Network Technology Co ltd
Priority to CN202010362373.9A priority Critical patent/CN111562885A/zh
Publication of CN111562885A publication Critical patent/CN111562885A/zh
Priority to PCT/CN2020/132378 priority patent/WO2021218144A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种数据处理方法、装置、计算机设备及存储介质。所述方法包括:当存在数据写入需求时,根据系统写入参数,确定当前最优处理数据量,其中,所述系统写入参数包括:硬盘属性信息和/或历史统计信息;获取与所述当前最优处理数据量匹配的目标数据,并存储。本发明实施例可以提高数据写入效率。

Description

数据处理方法、装置、计算机设备及存储介质
技术领域
本发明实施例涉及数据处理领域,尤其涉及一种数据处理方法、装置、计算机设备及存储介质。
背景技术
随着网络技术的发展,在网络中传输的数据越来越多,需要存储的数据量不断增加,为了满足不断增长的数据量的存储需求,通常采用分布式存储形式来存储数据。
分布式存储往往采用分布式的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息。它不但提高了系统的可靠性、可用性和存取效率,还易于扩展,将通用硬件引入的不稳定因素降到最低。通常,分布式存储系统部署的硬件会决定分布式存储的读写速度,即使用高性能的硬盘可以大幅度提高数据读写效率,但通常高性能的硬盘的成本很高。
发明内容
本发明实施例提供了一种数据处理方法、装置、计算机设备及存储介质,可以提高数据写入效率。
第一方面,本发明实施例提供了一种数据处理方法,包括:
当存在数据写入需求时,根据系统写入参数,确定当前最优处理数据量,其中,所述系统写入参数包括:硬盘属性信息和/或历史统计信息;
获取与所述当前最优处理数据量匹配的目标数据,并存储。
第二方面,本发明实施例提供了一种数据处理装置,包括:
最优处理数据量确定模块,用于当存在数据写入需求时,根据系统写入参数,确定当前最优处理数据量,其中,所述系统写入参数包括:硬盘属性信息和/或历史统计信息;
数据写入模块,用于获取与所述当前最优处理数据量匹配的目标数据,并存储。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序所述处理器执行所述程序时实现如本发明实施例中任一项所述的数据处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一项所述的数据处理方法。
本发明实施例通过在需要进行数据写入时,根据决定系统写入数据能力的系统写入参数,确定当前最优处理数据量,并获取当前最有处理数据量的数据进行写入,可以实现存储系统合理调用资源进行写入操作,避免数据量过大,导致存储系统无法正常进行其他业务,以及避免数据量过小,导致存储系统资源剩余,从而降低写入效率,解决了现有技术中只能通过高性能硬盘提高写入效率导致成本高的问题,可以合理配置存储系统的资源,适应性调整写入的数据量,实现存储系统在调用有限资源进行数据写入,提高数据写入效率。
附图说明
图1是本发明实施例一中的一种数据处理方法的流程图;
图2是本发明实施例二中的一种数据处理方法的流程图;
图3是本发明实施例三中的一种数据处理方法的流程图;
图4是本发明实施例四中的一种数据处理方法的流程图;
图5是本发明实施例五中的一种数据处理装置的结构示意图;
图6是本发明实施例六中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一中的一种数据处理方法的流程图,本实施例可适用于在需要进行数据写入时,对数据进行存储的情况,该方法可以由本发明实施例提供的数据处理装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成存储系统中。如图1所示,本实施例的方法具体包括:
S110,当存在数据写入需求时,根据系统写入参数,确定当前最优处理数据量,其中,所述系统写入参数包括:硬盘属性信息和/或历史统计信息。
存在数据写入需求表明存储系统需要执行写入操作,例如,可以是接收到客户端发送的数据写入请求。其中,存储系统用于读写数据,此外,还可以响应其他业务请求等功能,具体可以实际情况进行设定,对此,本发明实施例不作具体限制。存储系统可以是一个服务器,也可以是服务器集群,包括多个服务器节点。
系统写入参数可以包括多个参数,用于确定存储系统的写入数据能力,具体是用于确定存储系统写入的数据量。当前最优处理数据量可以是指待写入的数据的数量。通常,需要写入的数据很庞大,可以将数据拆分逐次进行存储,可以将当前最优处理数据量作为当前轮次进行存储的数据量,获取该数据量的数据进行存储,并在下一轮次获取下一轮次匹配的数据量的数据进行存储。
其中,存储系统写入数据的能力通常与硬盘本身的读写能力、网络带宽、流量等信息相关。具体的,硬盘属性信息用于描述硬盘的读写能力。历史统计信息用于确定存储系统中写入操作的可用资源。实际上,存储系统除了写入操作之外,还需要执行其他处理操作,由此,存储系统的资源无法全部用于执行写入操作。存储系统可以是指为客户端提供服务的服务器或服务器集群。存储系统可以包括多个服务器节点。
可选的,所述硬盘属性信息包括下述至少一项:硬盘型号、厂商、寻址时间和数据传送时间,所述历史统计信息包括:网络带宽时间分布统计信息和/或内存占用时间分布统计信息。
硬盘型号可以是指硬盘的名称和类型等。厂商可以是指硬盘的生产者,硬盘型号和厂商用于确定硬盘的数据处理速度。寻址时间可以是指指磁头从启动位置到达所要求的读/写位置所经历的全部时间,用于决定硬盘读写数据的能力。数据传送时间可以是从硬盘内部缓存读取数据的速率,用于决定硬盘读写数据的能力。
网络带宽时间分布统计信息用于描述网络带宽随时间变化的统计信息,其中,网络带宽可以是指在单位时间内,通过网络传输的数据量。内存占用时间分布统计信息用于描述内存的占用空间大小随时间变化的统计信息。
此外,系统写入参数还可以包括流量统计信息和/或突发事件信息等。其中,流量统计信息用于描述流量随时间变化的统计信息,流量可以是指在单位时间内访问某地址的访问量。突发事件信息用于描述历史未存在但占用存储系统资源的进行处理的事件。此外,还可以根据实际情况配置其他系统写入参数,对此,本发明实施例不作具体限制。
示例性的,据统计,在1天24小时中,通常在2点-4点,以及在15点-18点的用户最疲劳,用户的访问量降低,即流量降低。此时,存储系统处理的业务请求减少,由此,可以调用历史处理业务请求的资源执行数据写入操作,也即可以用于执行数据写入操作的资源增多,可以调用更多的资源执行数据写入操作。
实际上,通过配置硬盘属性信息和历史统计信息可以准确评估硬盘在何时具有怎样的数据写入效率,从而适应性调整待写入的数据量,以使硬盘的性能适配处理的数据量,在正常处理其他业务的同时,兼顾提高数据写入效率。
可选的,所述根据系统写入参数,确定当前最优处理数据量,包括:采用机器学习算法,根据系统写入参数,计算当前最优处理数据量。
机器学习算法用于决策待写入数据的数据量。机器学习算法可以是指机器通过分析大量数据来进行学习,并作出预测的算法。具体的,机器学习算法可以是决策树,此外,机器学习算法还可以包括线性回归算法、支持向量机算法、最近邻居/k-近邻算法、逻辑回归算法、k-平均算法、随机森林算法、朴素贝叶斯算法、降维算法和梯度增强算法等,可以根据实际情况进行选择,对此,本发明实施例不作具体限制。
此外,还可以通过预设的权重,将各系统写入参数进行加权和计算得到评估值,并根据预设的评估值与当前最优处理数据量的对应关系,确定当前最优处理数据量,可以根据实际情况选择合适的计算方法,确定当前最优处理数据量,对此,本发明实施例不作具体限制。
通过机器学习算法,根据系统写入参数,确定当前最有处理数据量,可以准确确定数据量,以使硬盘的性能适配处理的数据量,在正常处理其他业务的同时,兼顾提高数据写入效率。
S120,获取与所述当前最优处理数据量匹配的目标数据,并存储。
目标数据的数据量与当前最优处理数据量相等。目标数据存储可以是在存储系统中进行本地存储,还可以是分布式存储。此外,目标数据存储可以存储在缓存中,还可以存储在内存中。可以选择存储在内存中,在内存中存储数据,相对于缓存来说,可以提高数据的读写速度。
可选的,所述目标数据包括批处理数据。
批处理数据可以是指对数据进行批量的处理,可以理解为同时处理多条数据。相应的,当前最优处理数据量可以是指数据的条数。
通过配置目标数据为批处理数据,可以同时写入大量的数据,提高数据的写入效率。
本发明实施例通过在需要进行数据写入时,根据决定系统写入数据能力的系统写入参数,确定当前最优处理数据量,并获取当前最有处理数据量的数据进行写入,可以实现存储系统合理调用资源进行写入操作,避免数据量过大,导致存储系统无法正常进行其他业务,以及避免数据量过小,导致存储系统资源剩余,从而降低写入效率,解决了现有技术中只能通过高性能硬盘提高写入效率导致成本高的问题,可以合理配置存储系统的资源,适应性调整写入的数据量,实现存储系统在调用有限资源进行数据写入,提高数据写入效率。
实施例二
图2为本发明实施例二中的一种数据处理方法的流程图,本实施例以上述实施例为基础进行优化,所述存储系统为KUDU系统,所述KUDU系统包括多个服务器节点,所述获取与所述当前最优处理数据量匹配的目标数据,并存储,包括:将获取与所述当前最优处理数据量匹配的目标数据;将所述目标数据分布式存储在各所述服务器节点中。
具体的,本实施例的方法具体包括:
S210,当存在数据写入需求时,根据系统写入参数,确定当前最优处理数据量,其中,所述系统写入参数包括:硬盘属性信息和/或历史统计信息;
本实施例中未解释的内容均可以参考前述实施例的描述。
可选的,所述硬盘属性信息包括下述至少一项:硬盘型号、厂商、寻址时间和数据传送时间。所述历史统计信息包括:网络带宽时间分布统计信息和/或内存占用时间分布统计信息。
可选的,所述根据系统写入参数,确定当前最优处理数据量,包括:采用机器学习算法,根据系统写入参数,计算当前最优处理数据量。
S220,获取与所述当前最优处理数据量匹配的目标数据。
可选的,所述目标数据包括批处理数据。
S230,将所述目标数据分布式存储在各所述服务器节点中。
服务器节点为KUDU系统中的节点。其中,KUDU系统是分布式存储系统,存储方式为列式存储。示例性的,将待存储的表中的每一列数据存放在一起,不同列之间分开存储。
KUDU系统通常由一个主服务器节点和多个从服务器节点构成,数据可存储在KUDU系统的各从服务器节点中,且各个从服务器节点均与KUDU系统的主服务器相连,使得主服务器节点能够与外部进行信息交互,以实现通过KUDU系统的主服务器节点对各个从服务器节点中存储的数据进行管理。
将目标数据分布式存储在不同的服务器节点中,可以利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但提高了系统的可靠性、可用性和存取效率,还易于扩展,将通用硬件引入的不稳定因素降到最低。具体的,KUDU系统通常能够高效地管理读缓存和写缓存,并且支持自动的分级存储,以及可以实现高速存储和低速存储分开部署,或者任意比例混布,降低延迟,同时采用了多副本备份,有效降低数据丢失的情况,提高系统的容错性,降低了存储成本。
本发明实施例通过采用KUDU系统,进行分布式存储数据,可以分担存储负荷,提高写入数据效率,同时,提高系统的容错性、稳定性和可靠性。
实施例三
图3为本发明实施例三中的一种数据处理方法的流程图,本实施例以上述实施例为基础进行优化,所述数据处理方法还包括:当存在数据读取需求时,获取数据查询任务,所述数据查询任务用于在预先写入的数据中查询;将所述数据查询任务拆分成至少一个数据查询子任务,并分发至所述存储系统中匹配的至少一个服务器节点中,以使各所述服务器节点根据所述查询子任务执行查询;接收各所述服务器节点反馈的查询子数据,进行合并,得到所述数据查询任务匹配的查询数据。
具体的,本实施例的方法具体包括:
S310,当存在数据写入需求时,根据系统写入参数,确定当前最优处理数据量,其中,所述系统写入参数包括:硬盘属性信息和/或历史统计信息;
本实施例中未解释的内容均可以参考前述实施例的描述。
可选的,所述硬盘属性信息包括下述至少一项:硬盘型号、厂商、寻址时间和数据传送时间。所述历史统计信息包括:网络带宽时间分布统计信息和/或内存占用时间分布统计信息。
可选的,所述根据系统写入参数,确定当前最优处理数据量,包括:采用机器学习算法,根据系统写入参数,计算当前最优处理数据量。
S320,获取与所述当前最优处理数据量匹配的目标数据,并存储。
可选的,所述目标数据包括批处理数据。
可选的,所述存储系统为KUDU系统,所述KUDU系统包括多个服务器节点;所述获取与所述当前最优处理数据量匹配的目标数据,并存储,包括:获取与所述当前最优处理数据量匹配的目标数据;将所述目标数据分布式存储在各所述服务器节点中。
S330,当存在数据读取需求时,获取数据查询任务,所述数据查询任务用于在预先写入的数据中查询。
存在数据读取需求表明存储系统需要执行读取操作,也即查询操作,例如,可以是接收到客户端发送的数据获取请求。
数据查询任务用于在存储系统存储的数据中查询数据。预先写入的数据,可以是指存储系统中存储的数据。
S340,将所述数据查询任务拆分成至少一个数据查询子任务,并分发至所述存储系统中匹配的至少一个服务器节点中,以使各所述服务器节点根据所述查询子任务执行查询。
存储系统为服务器集群,包括多个服务器节点。存储系统可以采用分布式存储结构存储数据,即每个服务器节点均存储有部分数据。数据查询任务对应的数据可以分布在不同的服务器节点中,由此,可以将数据查询子任务拆分成不同的数据查询子任务,分别发送至数据所在的服务器节点中进行查询。
具体的,拆分方式可以是,根据数据查询任务匹配的查询数据,在存储系统中的分布情况,将数据查询任务拆分成至少一个数据查询子任务。示例性的,数据查询任务匹配的查询数据分别分布在服务器节点A、服务器节点B和服务器节点C中,其中,服务器节点A中存储有数据a,服务器节点B中存储有数据b,以及服务器节点C中存储有数据c。可以将数据查询任务按照数据a、数据b和数据c的查询操作,分别相应形成第一数据查询子任务、第二数据查询子任务和第三数据查询子任务。
数据查询子任务用于服务器节点执行,以获取本地存储的数据。需要说明的是,各服务器节点存储的数据可以完全不同,可以部分相同,也可以完全相同。对此,可以根据实际情况进行设定,本发明实施例不作具体限制。
S350,接收各所述服务器节点反馈的查询子数据,进行合并,得到所述数据查询任务匹配的查询数据。
查询数据可以是指数据查询任务需要获取的数据。查询子数据用于形成查询数据。由于服务器节点存储的数据可能不同,由此查询得到的数据只是完整查询数据的组成部分。可以将各服务器节点反馈的查询子数据进行合并,若存在重复数据可以进行删除,得到完整不重复的查询数据。
本发明实施例通过在存在读取需求时,将数据查询任务拆分成多个数据查询子任务,并分别发送至服务器节点进行处理,从而实现多个服务器节点同时执行查询操作,提高数据查询的效率。
实施例四
图4为本发明实施例四中的一种数据处理方法的流程图,本实施例以上述实施例为基础进行优化,所述数据查询任务包括结构化查询语言语句;所述将所述数据查询任务拆分成至少一个数据查询子任务,包括:根据预设的关键词列表,对所述数据查询任务进行解析,得到与所述数据查询任务对应的至少一个关键词,以及各所述关键词对应的变量值;根据各所述关键词和各所述关键词对应的变量值,构建语法解析树;根据所述语法解析树,确定至少一个数据处理指令,分别作为数据查询子任务。
具体的,本实施例的方法具体包括:
S410,当存在数据写入需求时,根据系统写入参数,确定当前最优处理数据量,其中,所述系统写入参数包括:硬盘属性信息和/或历史统计信息;
本实施例中未解释的内容均可以参考前述实施例的描述。
可选的,所述硬盘属性信息包括下述至少一项:硬盘型号、厂商、寻址时间和数据传送时间。所述历史统计信息包括:网络带宽时间分布统计信息和/或内存占用时间分布统计信息。
可选的,所述根据系统写入参数,确定当前最优处理数据量,包括:采用机器学习算法,根据系统写入参数,计算当前最优处理数据量。
S420,获取与所述当前最优处理数据量匹配的目标数据,并存储。
可选的,所述目标数据包括批处理数据。
可选的,所述存储系统为KUDU系统,所述KUDU系统包括多个服务器节点;所述获取与所述当前最优处理数据量匹配的目标数据,并存储,包括:获取与所述当前最优处理数据量匹配的目标数据;将所述目标数据分布式存储在各所述服务器节点中。
S430,当存在数据读取需求时,获取数据查询任务,所述数据查询任务用于在预先写入的数据中查询,所述数据查询任务包括结构化查询语言语句。
结构化查询语言((Structured Query Language,SQL)用于关系数据库管理和数据操作的标准计算机语言。SQL用于查询,插入,更新和修改数据。不同平台的数据库均支持SQL,由此采用SQL可以实现跨平台的数据处理。
示例性的,数据查询任务包为:
SELECT c_name(查询内容)
FROM table_c(查询数据表名)
WHERE c_age<20(数据过滤条件)
具体的,该数据查询任务用于在查询数据表table_c中查询符合年龄小于20(c_age<20)的人的姓名c_name。
S440,根据预设的关键词列表,对所述数据查询任务进行解析,得到与所述数据查询任务对应的至少一个关键词,以及各所述关键词对应的变量值。
关键词可以是指数据查询任务中包括的参数,具体的,可以包括下述至少一项查询类型、表格名称和字段名称等。关键词对应的变量值是指关键词的赋值,一般是字符,例如数字、字母和符号等中的至少一项。关键词列表用于确定数据查询任务中包括的关键词。具体的,关键词列表中包括的标准关键词是预先指定的关键词。
示例性的,关键词是指前例中的SELECT(查询内容)、FROM(查询数据表名)和WHERE(数据过滤条件),各关键词的变量值为able_c、c_age<20和c_name。
可以通过将关键词列表中的标准关键词和数据查询任务进行一一比对,并提取出数据查询任务包括的关键词。
可选的,所述根据预设的关键词列表,对所述数据查询任务进行解析,得到与所述数据查询任务对应的至少一个关键词,以及各所述关键词对应的变量值,包括:根据所述关键词列表中存储的至少一个标准关键词在所述数据查询任务中进行查询,得到所述数据查询任务包括的至少一个关键词,以及各所述关键词对应的变量值。
标准关键词用于作为存储系统可识别的参数,以使存储系统识别出数据查询任务的内容,并进行数据查询。
通过预先配置关键词列表中的各标准关键词,可以准确对数据查询任务进行解析,以确定数据查询子任务进行数据查询,从而提高数据查询的准确率。
S450,根据各所述关键词和各所述关键词对应的变量值,构建语法解析树。
语法解析树由一系列的节点串联形成,用于描述数据查询任务的数据结构。语法解析树用于将数据查询任务的数据结构转换为目标数据结构,该目标数据结构可以被存储系统识别。具体的,数据查询任务是文本形式存在的数据,无法被存储系统识别,通过将数据查询任务的数据结构转换形成语法解析树,形成可被存储系统识别的数据结构,方便存储系统进行识别和解析,进而准确生成数据查询子任务。
可选的,根据各所述关键词和各所述关键词对应的变量值,构建语法解析树,包括:根据各所述关键词和各所述关键词对应的变量值,对所述数据查询任务进行合法性验证;当所述数据查询任务合法验证通过时,根据各所述关键词和各所述关键词对应的变量值,构建语法解析树。
合法性验证用于验证SQL语句是否出现语法错误。合法性验证可以通过预设的语法检验规则进行验证。如果确定SQL语句语法不合法,则生成错误提示信息,并反馈到数据查询任务的发送方,以使发送方根据错误提示信息输入正确的SQL语句。
通过对数据查询任务进行合法性验证,并在合法验证通过时,进行后续语法解析树构建操作,可以避免根据不合法的SQL语句而生成错误的语法解析树,导致查询到错误的数据,从而提高数据查询准确率。
S460,根据所述语法解析树,确定至少一个数据处理指令,分别作为数据查询子任务,并分发至所述存储系统中匹配的至少一个服务器节点中,以使各所述服务器节点根据所述查询子任务执行查询。
根据语法解析树,存储系统可以快速识别出数据查询任务,并确定至少一个数据处理指令。存储系统可以根据数据查询任务的查询数据量,确定生成一个数据处理指令或者是至少两个数据处理指令。
一个数据处理指令可以作为一个查询子任务。
可选的,在根据所述语法解析树,确定至少一个数据处理指令之前,还包括:获取所述语法解析树的数据对象,并进行数据转化,以使所述存储系统识别;根据所述转化后的语法解析树,确定至少一个数据处理指令。
数据对象可以是指语法解析树中的关键词,或者是关键词对应的变量值。数据转化用于将数据对象转换为存储系统可识别的目标数据对象。
数据转化可以通过预设的转化规则进行数据转化,具体的,转化规则规定的了SQL语句中的关键词与存储系统可识别的参数的对应关系,以及SQL语句中的关键词对应的变量值与存储系统中可识别的参数值的对应关系。
示例性的,语法解析树种包括一个节点为查询类型,且该节点下存储的变量值为drop。存储系统中,通过参数X表征查询类型。同时SQL语句中通过变量值drop表征“删除”,存储系统通过参数值n表征“删除”。此时,存储系统无法识别语法解析树中的查询类型和变量值。在经过数据转化后,如将以将语法解析树中的节点“查询类型”替换为节点“X”,且在节点X下存储参数值n,从而确保语法解析树的数据结构以及语法解析树中的各个参数及参数值均能被存储系统所识别。
通过将语法解析树中的数据对象转换为存储系统可识别的参数和/或参数值,方便存储系统进行识别和解析,进而准确生成数据查询子任务。
S470,接收各所述服务器节点反馈的查询子数据,进行合并,得到所述数据查询任务匹配的查询数据。
本发明实施例通过在数据查询任务包括SQL语句时,通过关键词列表,提取数据查询任务中的关键词以及关键词对应的变量值,并构建语法解析树,以使存储系统可识别,进而存储系统快速解析数据查询任务,并进行处理,提高数据读取效率。
实施例五
图5为本发明实施例五中的一种数据处理装置的示意图。实施例四是实现本发明上述实施例提供的数据处理方法的相应装置,该装置可采用软件和/或硬件的方式实现,并一般可集成存储系统中。
相应的,本实施例的装置可以包括:
最优处理数据量确定模块510,用于当存在数据写入需求时,根据系统写入参数,确定当前最优处理数据量,其中,所述系统写入参数包括:硬盘属性信息和/或历史统计信息;
数据写入模块520,用于获取与所述当前最优处理数据量匹配的目标数据,并存储。
本发明实施例通过在需要进行数据写入时,根据决定系统写入数据能力的系统写入参数,确定当前最优处理数据量,并获取当前最有处理数据量的数据进行写入,可以实现存储系统合理调用资源进行写入操作,避免数据量过大,导致存储系统无法正常进行其他业务,以及避免数据量过小,导致存储系统资源剩余,从而降低写入效率,解决了现有技术中只能通过高性能硬盘提高写入效率导致成本高的问题,可以合理配置存储系统的资源,适应性调整写入的数据量,实现存储系统在调用有限资源进行数据写入,提高数据写入效率。
进一步的,所述硬盘属性信息包括下述至少一项:硬盘型号、厂商、寻址时间和数据传送时间。
进一步的,所述历史统计信息包括:网络带宽时间分布统计信息和/或内存占用时间分布统计信息。
进一步的,所述最优处理数据量确定模块510,包括:机器学习算法计算模块,用于采用机器学习算法,根据系统写入参数,计算当前最优处理数据量。
进一步的,所述目标数据包括批处理数据。
进一步的,所述存储系统为KUDU系统,所述KUDU系统包括多个服务器节点;所述数据写入模块520,包括:分布存储单元,用于获取与所述当前最优处理数据量匹配的目标数据;将所述目标数据分布式存储在各所述服务器节点中。
进一步的,所述数据处理方法,还包括:数据读取模块,用于当存在数据读取需求时,获取数据查询任务,所述数据查询任务用于在预先写入的数据中查询;将所述数据查询任务拆分成至少一个数据查询子任务,并分发至所述存储系统中匹配的至少一个服务器节点中,以使各所述服务器节点根据所述查询子任务执行查询;接收各所述服务器节点反馈的查询子数据,进行合并,得到所述数据查询任务匹配的查询数据。
进一步的,所述数据查询任务包括结构化查询语言语句;所述数据读取模块,包括:数据查询任务拆分单元,用于根据预设的关键词列表,对所述数据查询任务进行解析,得到与所述数据查询任务对应的至少一个关键词,以及各所述关键词对应的变量值;根据各所述关键词和各所述关键词对应的变量值,构建语法解析树;根据所述语法解析树,确定至少一个数据处理指令,分别作为数据查询子任务。
进一步的,所述数据查询任务拆分单元,包括:语法解析树构建子单元,用于根据各所述关键词和各所述关键词对应的变量值,对所述数据查询任务进行合法性验证;当所述数据查询任务合法验证通过时,根据各所述关键词和各所述关键词对应的变量值,构建语法解析树。
进一步的,所述数据查询任务拆分单元,包括:关键词查询子单元,用于根据所述关键词列表中存储的至少一个标准关键词在所述数据查询任务中进行查询,得到所述数据查询任务包括的至少一个关键词,以及各所述关键词对应的变量值。
进一步的,所述数据读取模块,还包括:数据转化单元,用于在根据所述语法解析树,确定至少一个数据处理指令之前,获取所述语法解析树的数据对象,并进行数据转化,以使所述存储系统识别;根据所述转化后的语法解析树,确定至少一个数据处理指令。
上述数据处理装置可执行本发明实施例所提供的数据处理方法,具备执行的数据处理方法相应的功能模块和有益效果。
实施例六
图6为本发明实施例六中的一种计算机设备的结构示意图。图6示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图6显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。计算机设备12可以是挂接在总线上的设备。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM),数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(Input/Output,I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local AreaNetwork,LAN),广域网(Wide Area Network,WAN)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图6中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、(Redundant Arrays of Inexpensive Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明任意实施例所提供的一种数据处理方法。
实施例七
本发明实施例七提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的数据处理方法:也即,该程序被处理器执行时实现:当存在数据写入需求时,根据系统写入参数,确定当前最优处理数据量,其中,所述系统写入参数包括:硬盘属性信息和/或历史统计信息;获取与所述当前最优处理数据量匹配的目标数据,并存储。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、只读存储器(Read OnlyMemory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、无线电频率(RadioFrequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括LAN或WAN——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (14)

1.一种数据处理方法,其特征在于,应用在存储系统中,包括:
当存在数据写入需求时,根据系统写入参数,确定当前最优处理数据量,其中,所述系统写入参数包括:硬盘属性信息和/或历史统计信息;
获取与所述当前最优处理数据量匹配的目标数据,并存储。
2.根据权利要求1所述的方法,其特征在于,所述硬盘属性信息包括下述至少一项:硬盘型号、厂商、寻址时间和数据传送时间。
3.根据权利要求1所述的方法,其特征在于,所述历史统计信息包括:网络带宽时间分布统计信息和/或内存占用时间分布统计信息。
4.根据权利要求1所述的方法,其特征在于,所述根据系统写入参数,确定当前最优处理数据量,包括:
采用机器学习算法,根据系统写入参数,计算当前最优处理数据量。
5.根据权利要求1所述的方法,其特征在于,所述目标数据包括批处理数据。
6.根据权利要求1所述的方法,其特征在于,所述存储系统为KUDU系统,所述KUDU系统包括多个服务器节点;
所述获取与所述当前最优处理数据量匹配的目标数据,并存储,包括:
获取与所述当前最优处理数据量匹配的目标数据;
将所述目标数据分布式存储在各所述服务器节点中。
7.根据权利要求1所述的方法,其特征在于,还包括:
当存在数据读取需求时,获取数据查询任务,所述数据查询任务用于在预先写入的数据中查询;
将所述数据查询任务拆分成至少一个数据查询子任务,并分发至所述存储系统中匹配的至少一个服务器节点中,以使各所述服务器节点根据所述查询子任务执行查询;
接收各所述服务器节点反馈的查询子数据,进行合并,得到所述数据查询任务匹配的查询数据。
8.根据权利要求7所述的方法,其特征在于,所述数据查询任务包括结构化查询语言语句;
所述将所述数据查询任务拆分成至少一个数据查询子任务,包括:
根据预设的关键词列表,对所述数据查询任务进行解析,得到与所述数据查询任务对应的至少一个关键词,以及各所述关键词对应的变量值;
根据各所述关键词和各所述关键词对应的变量值,构建语法解析树;
根据所述语法解析树,确定至少一个数据处理指令,分别作为数据查询子任务。
9.根据权利要求8所述的方法,其特征在于,根据各所述关键词和各所述关键词对应的变量值,构建语法解析树,包括:
根据各所述关键词和各所述关键词对应的变量值,对所述数据查询任务进行合法性验证;
当所述数据查询任务合法验证通过时,根据各所述关键词和各所述关键词对应的变量值,构建语法解析树。
10.根据权利要求8所述的方法,其特征在于,所述根据预设的关键词列表,对所述数据查询任务进行解析,得到与所述数据查询任务对应的至少一个关键词,以及各所述关键词对应的变量值,包括:
根据所述关键词列表中存储的至少一个标准关键词在所述数据查询任务中进行查询,得到所述数据查询任务包括的至少一个关键词,以及各所述关键词对应的变量值。
11.根据权利要求8所述的方法,其特征在于,在根据所述语法解析树,确定至少一个数据处理指令之前,还包括:
获取所述语法解析树的数据对象,并进行数据转化,以使所述存储系统识别;
根据所述转化后的语法解析树,确定至少一个数据处理指令。
12.一种数据处理装置,其特征在于,配置于存储系统中,包括:
最优处理数据量确定模块,用于当存在数据写入需求时,根据系统写入参数,确定当前最优处理数据量,其中,所述系统写入参数包括:硬盘属性信息和/或历史统计信息;
数据写入模块,用于获取与所述当前最优处理数据量匹配的目标数据,并存储。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-11中任一项所述的数据处理方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-11中任一项所述的数据处理方法。
CN202010362373.9A 2020-04-30 2020-04-30 数据处理方法、装置、计算机设备及存储介质 Pending CN111562885A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010362373.9A CN111562885A (zh) 2020-04-30 2020-04-30 数据处理方法、装置、计算机设备及存储介质
PCT/CN2020/132378 WO2021218144A1 (zh) 2020-04-30 2020-11-27 数据处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010362373.9A CN111562885A (zh) 2020-04-30 2020-04-30 数据处理方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN111562885A true CN111562885A (zh) 2020-08-21

Family

ID=72070779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010362373.9A Pending CN111562885A (zh) 2020-04-30 2020-04-30 数据处理方法、装置、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN111562885A (zh)
WO (1) WO2021218144A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112068776A (zh) * 2020-09-02 2020-12-11 深圳市硅格半导体有限公司 存储器管理算法的自适应调整方法、系统、设备及介质
CN112214487A (zh) * 2020-09-28 2021-01-12 京东数字科技控股股份有限公司 数据写入方法及装置、计算机可读存储介质以及电子设备
WO2021218144A1 (zh) * 2020-04-30 2021-11-04 苏州亿歌网络科技有限公司 数据处理方法、装置、计算机设备及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361343A (zh) * 2022-08-03 2022-11-18 重庆川仪自动化股份有限公司 一种工业设备的信息发送方法、系统、介质及电子设备
CN115563167B (zh) * 2022-12-02 2023-03-31 浙江大华技术股份有限公司 数据查询方法、电子设备以及计算机可读存储介质
CN116312676B (zh) * 2023-05-17 2023-08-25 上海芯存天下电子科技有限公司 Nor flash的写入方法、装置、编程电路及设备
CN117055821B (zh) * 2023-10-11 2024-02-02 创云融达信息技术(天津)股份有限公司 一种基于维度的分布式存储方法、装置、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010047451A1 (en) * 2000-05-24 2001-11-29 Seagate Technology Llc Method and apparatus for disc drive defragmentation
CN101577671A (zh) * 2008-05-07 2009-11-11 北京启明星辰信息技术股份有限公司 一种对等联网业务自动流量控制方法及系统
CN103399713A (zh) * 2013-08-02 2013-11-20 浙江大学 平衡多级存储性能与固态硬盘寿命的数据缓冲方法
CN104834478A (zh) * 2015-03-25 2015-08-12 中国科学院计算技术研究所 一种基于异构混合存储设备的数据写入及读取方法
CN107273504A (zh) * 2017-06-19 2017-10-20 浪潮软件集团有限公司 一种基于Kudu的数据查询方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652181B2 (en) * 2014-01-07 2017-05-16 International Business Machines Corporation Library apparatus including a cartridge memory (CM) database stored on a storage cloud
CN106569893B (zh) * 2015-10-09 2021-02-05 阿里巴巴集团控股有限公司 流量控制方法及设备
CN110399393B (zh) * 2018-04-16 2020-06-30 北京三快在线科技有限公司 数据处理方法、装置、介质及电子设备
CN111562885A (zh) * 2020-04-30 2020-08-21 苏州亿歌网络科技有限公司 数据处理方法、装置、计算机设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010047451A1 (en) * 2000-05-24 2001-11-29 Seagate Technology Llc Method and apparatus for disc drive defragmentation
CN101577671A (zh) * 2008-05-07 2009-11-11 北京启明星辰信息技术股份有限公司 一种对等联网业务自动流量控制方法及系统
CN103399713A (zh) * 2013-08-02 2013-11-20 浙江大学 平衡多级存储性能与固态硬盘寿命的数据缓冲方法
CN104834478A (zh) * 2015-03-25 2015-08-12 中国科学院计算技术研究所 一种基于异构混合存储设备的数据写入及读取方法
CN107273504A (zh) * 2017-06-19 2017-10-20 浪潮软件集团有限公司 一种基于Kudu的数据查询方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021218144A1 (zh) * 2020-04-30 2021-11-04 苏州亿歌网络科技有限公司 数据处理方法、装置、计算机设备及存储介质
CN112068776A (zh) * 2020-09-02 2020-12-11 深圳市硅格半导体有限公司 存储器管理算法的自适应调整方法、系统、设备及介质
CN112214487A (zh) * 2020-09-28 2021-01-12 京东数字科技控股股份有限公司 数据写入方法及装置、计算机可读存储介质以及电子设备

Also Published As

Publication number Publication date
WO2021218144A1 (zh) 2021-11-04

Similar Documents

Publication Publication Date Title
CN111562885A (zh) 数据处理方法、装置、计算机设备及存储介质
US11068439B2 (en) Unsupervised method for enriching RDF data sources from denormalized data
US20200050612A1 (en) Supporting additional query languages through distributed execution of query engines
US20200065303A1 (en) Addressing memory limits for partition tracking among worker nodes
CN105824957A (zh) 分布式内存列式数据库的查询引擎系统及查询方法
CN110162512B (zh) 一种日志检索方法、装置及存储介质
US9930113B2 (en) Data retrieval via a telecommunication network
CN112860730A (zh) Sql语句的处理方法、装置、电子设备及可读存储介质
CN111782692A (zh) 一种频率控制方法及装置
CN108363741B (zh) 大数据统一接口方法、装置、设备及存储介质
CN115408391A (zh) 一种数据库表变更方法、装置、设备和存储介质
US10866960B2 (en) Dynamic execution of ETL jobs without metadata repository
US20170277751A1 (en) Optimizing searches
CN108182241B (zh) 一种数据交互的优化方法、装置、服务器及存储介质
CN111143461A (zh) 映射关系处理系统、方法和电子设备
US20230188619A1 (en) Methods and systems for event management
US10628416B2 (en) Enhanced database query processing
CN115391361A (zh) 一种基于分布式数据库的实时数据处理方法及其装置
CN115292313A (zh) 一种伪列实现方法、装置、电子设备及存储介质
CN110879818B (zh) 一种获取数据的方法、装置、介质和电子设备
CN113868249A (zh) 一种数据存储方法、装置、计算机设备以及存储介质
CN113076197A (zh) 负载均衡方法及装置、存储介质及电子设备
EP2990960A1 (en) Data retrieval via a telecommunication network
US10122643B2 (en) Systems and methods for reorganization of messages in queuing systems
US20230072930A1 (en) Database query splitting

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200821