基于presto的数据处理方法及装置与流程

文档序号:17264056发布日期:2019-03-30 09:52阅读:268来源:国知局
基于presto的数据处理方法及装置与流程

本发明实施例涉及大数据处理技术领域,具体而言,涉及一种基于presto的数据处理方法及装置。



背景技术:

大数据是大量、高速、多变的信息,它需要新型的处理方式去促成更强的决策能力、洞察力与最佳化处理。大数据为用户获得更为深刻、全面的洞察能力提供了前所未有的空间与潜力。随着大数据的发展,用户需要根据自身的业务、逻辑需求对大数据进行分析和挖掘,这也要求后台对数据处理的能力要与用户需求所匹配,但是现有技术进行数据处理的灵活性较差,常常需要用户具备一定的编码基础以辅助实现数据的处理。



技术实现要素:

有鉴于此,本发明提供了一种基于presto的数据处理方法及装置。

本发明实施例提供了一种基于presto的数据处理方法,应用于与客户端通信连接的服务端,所述方法包括:

获取所述客户端发送的配置信息;

将所述配置信息以动态编码的形式转化为结构化查询语句;

将所述结构化查询语句提交至设定处理引擎,使所述设定处理引擎将所述结构化查询语句的数据类型转化为目标数据类型,提取完成转化的结构化查询语句中包括的自定义查询信息和待查询数据库信息;

使所述设定处理引擎根据所述待查询数据库信息从预设数据库中调取对应的至少一个数据库,并使所述设定处理引擎在内存中执行所述自定义查询信息以实现从所述至少一个数据库中查找出目标数据,再使所述设定处理引擎将所述目标数据发送至所述客户端。

可选地,使所述设定处理引擎将所述结构化查询语句的数据类型转化为目标数据类型的步骤,包括:

使所述设定处理引擎将所述结构化查询语句进行解析,获得所述结构化查询语句的数据类型;

判断所述数据类型是否与所述目标数据类型一致,若所述数据类型与所述目标数据类型不一致,将所述数据类型转换为所述目标数据类型。

可选地,使所述设定处理引擎在内存中执行所述自定义查询信息以实现从所述至少一个数据库中查找出目标数据的步骤,包括:

若所述至少一个数据库的数量为多个,判断各所述数据库的数据源类型是否相同,若各所述数据库的数据源类型不相同,将各所述数据库进行整合以获得关联数据库;

使所述设定处理引擎在所述内存中执行所述自定义查询信息以实现从所述关联数据库中查找出所述目标数据。

可选地,将各所述数据库进行整合以获得关联数据库的步骤,包括:

创建空白数据库;

将各所述数据库中数据复制到所述空白数据库以获得所述关联数据库。

可选地,将所述结构化查询语句提交至设定处理引擎的步骤,包括:

创建传输链接;

采用所述传输链接将所述结构化查询语句提交至所述设定处理引擎。

本发明实施例还提供了一种基于presto的数据处理装置,应用于与客户端通信连接的服务端,所述装置包括:

配置信息获取模块,用于获取所述客户端发送的配置信息;

配制信息转化模块,用于将所述配置信息以动态编码的形式转化为结构化查询语句;

信息提取模块,用于将所述结构化查询语句提交至设定处理引擎,使所述设定处理引擎将所述结构化查询语句的数据类型转化为目标数据类型,提取完成转化的结构化查询语句中包括的自定义查询信息和待查询数据库信息;

数据查询模块,用于使所述设定处理引擎根据所述待查询数据库信息从预设数据库中调取对应的至少一个数据库,并使所述设定处理引擎在内存中执行所述自定义查询信息以实现从所述至少一个数据库中查找出目标数据,再使所述设定处理引擎将所述目标数据发送至所述客户端。

可选地,所述信息提取模块通过以下方式使所述设定处理引擎将所述结构化查询语句的数据类型转化为目标数据类型:

使所述设定处理引擎将所述结构化查询语句进行解析,获得所述结构化查询语句的数据类型;

判断所述数据类型是否与所述目标数据类型一致,若所述数据类型与所述目标数据类型不一致,将所述数据类型转换为所述目标数据类型。

可选地,所述数据查询模块通过以下方式使所述设定处理引擎在内存中执行所述自定义查询信息以实现从所述至少一个数据库中查找出目标数据:

若所述至少一个数据库的数量为多个,判断各所述数据库的数据源类型是否相同,若各所述数据库的数据源类型不相同,将各所述数据库进行整合以获得关联数据库;

使所述设定处理引擎在所述内存中执行所述自定义查询信息以实现从所述关联数据库中查找出所述目标数据。

可选地,所述数据查询模块通过以下方式将各所述数据库进行整合以获得关联数据库:

创建空白数据库;

将各所述数据库中数据复制到所述空白数据库以获得所述关联数据库。

可选地,所述信息提取模块通过以下方式将所述结构化查询语句提交至设定处理引擎:

创建传输链接;

采用所述传输链接将所述结构化查询语句提交至所述设定处理引擎。

本发明实施例还提供了一种服务端,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的基于presto的数据处理方法。

本发明实施例还提供了一种计算机可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在服务端执行上述的基于presto的数据处理方法。

有益效果

本发明实施例提供的基于presto的数据处理方法及装置,能够将客户端发送的配置信息以动态编码的形式转化为结构化查询语句,并交由设定处理引擎进行处理,进而获得目标数据,如此,能够动态地将配置信息进行改造,实现动态化的脱节点配置,使得客户端在响应用户输入的操作指令生成对应的配置信息之后直接将该配置信息交由服务端进行处理,无需用户进行额外的编码操作,能够应对用户根据多样化的数据分析和处理需求。

进一步地,在进行数据查询时能够将不同数据源的数据库进行整合,无需将各个数据库中的数据代码提取出来进行编码处理,降低了研发成本。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例所提供的一种服务端10的方框示意图。

图2为本发明实施例所提供的一种基于presto的数据处理方法的流程图。

图3为一实施方式中图2所示的步骤s24包括的子步骤的示意图。

图4为本发明实施例所提供的一种基于presto的数据处理装置20的模块框图。

图标:

10-服务端;11-存储器;12-处理器;13-网络模块;

20-基于presto的数据处理装置;21-配置信息获取模块;22-配制信息转化模块;23-信息提取模块;24-数据查询模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

发明人经调查发现,现有技术进行数据处理的灵活性较差,常常需要用户具备一定的编码基础以辅助实现数据的处理,对于一些没有编码基础的用户,现有的数据处理技术无疑给这类用户带来了不便。

以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。

基于上述研究,本发明实施例提供了一种基于presto的数据处理方法及装置,能够使得客户端在响应用户输入的操作指令生成对应的配置信息之后直接将该配置信息交由服务端进行处理,无需用户进行额外的编码操作,能够应对用户根据多样化的数据分析和处理需求。

图1示出了本发明实施例所提供的一种服务端10的方框示意图。本发明实施例中的服务端10具有数据存储、传输、处理功能,如图1所示,服务端10包括:存储器11、处理器12、网络模块13和基于presto的数据处理装置20。

存储器11、处理器12和网络模块13之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件互相之间可以通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有基于presto的数据处理装置20,所述基于presto的数据处理装置20包括至少一个可以软件或固件(firmware)的形式储存于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,例如本发明实施例中的基于presto的数据处理装置20,从而执行各种功能应用以及数据处理,即实现本发明实施例中的基于presto的数据处理方法。

其中,所述存储器11可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。

所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

网络模块13用于通过网络建立服务端10与其他通信终端设备之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。

可以理解,图1所示的结构仅为示意,服务端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

本发明实施例还提供一种计算机可读存储介质,所述可读存储介质包括计算机程序。所述计算机程序运行时控制所述可读存储介质所在服务端10执行下面的基于presto的数据处理方法。

图2示出了本发明实施例所提供的一种基于presto的数据处理方法的流程图。所述方法有关的流程所定义的方法步骤应用于与客户端通信连接的服务端10,可以由所述处理器12实现。下面将对图2所示的具体流程进行详细阐述:

步骤s21,获取客户端发送的配置信息。

在本实施例中,用户可以在客户端的页端进行数据处理节点的配置,例如,通过鼠标或者触摸屏搭建数据处理模型,客户端会基于用户输入的页面操作指令生成对应的配置信息。服务端10会获取客户端发送的配置信息。

可以理解,用户能够根据实际需求自行搭建数据处理模型,相应地,客户端也会生成不同的配置信息。常见的数据处理方法在应对多变的配置信息时,常常需要对底层代码进行重新编写或修改,有时候需要用户进行底层代码重构,有时候需要服务端进行底层代码重构,如此,无疑增加了研发成本,对于不具备编码基础的用户而言,这种数据处理方法无疑会大大降低可操作性,难以满足用户多样化的数据处理、分析和挖掘需求。

而本实施例会对多变的配置信息进行动态化处理,并交由设定处理引擎进行处理,无需进行额外的编码操作,能够满足用户多样化的数据处理、分析和挖掘需求,具体请参阅后续步骤。

步骤s22,将配置信息以动态编码的形式转化为结构化查询语句。

将配置信息转化为结构化查询语句(structuredquerylanguage,sql),能够实现动态化的脱节点配置,无论用户在客户端侧进行何种数据处理模型的搭建,服务端10侧将根据客户端发送的配置信息转化为sql以进行后续处理,如此,无需用户在客户端侧进行任何编码操作。

步骤s23,将结构化查询语句提交至设定处理引擎,使设定处理引擎将结构化查询语句的数据类型转化为目标数据类型,提取完成转化的结构化查询语句中包括的自定义查询信息和待查询数据库信息。

在本实施例中,设定处理引擎为presto。presto对sql进行解析,获得sql的数据类型,可以理解,presto预先设置有目标数据类型,presto判断sql的数据类型与自身的目标数据类型是否一致,若sql的数据类型与presto自身的目标数据类型不一致,将sql的数据类型转化为目标数据类型,如此,presto能够对完成转化的sql进行进一步处理,若sql的数据类型与presto自身的目标数据类型一致,

进一步地,presto提取完成转化的sql中包括的自定义查询信息和待查询数据库信息。

在本实施例中,自定义查询信息为用户自行编辑的函数表达式,该函数表达式可以是计算公式。待查询数据库信息可以供presto在多个预设数据库中查找的对应的数据库,并执行计算公式。

步骤s24,使设定处理引擎根据待查询数据库信息从预设数据库中调取对应的至少一个数据库,并使设定处理引擎在内存中执行自定义查询信息以实现从至少一个数据库中查找出目标数据,再使设定处理引擎将目标数据发送至客户端。

请结合参阅图3,若至少一个数据库的数量为多个,本实施例中通过步骤s241、步骤s242、步骤s243、步骤s244和步骤s245列举了步骤s24的其中一种实现方式。

步骤s241,判断各数据库的数据源类型是否相同。

例如,调取出的数据库为d1、d2和d3。

若d1、d2和d3的数据源类型均不相同,转向步骤s242。

若d1、d2和d3的数据源类型均相同,转向步骤s244。

步骤s242,将各数据库进行整合以获得关联数据库。

在本实施例中,将各数据库进行整合的方法如下:

首先创建一空白数据库,然后将各个数据库中的数据复制到空白数据以获得关联数据库。如此,相较于常见的将各个数据库中的数据代码提取出来进行编码处理,降低了研发成本。

步骤s243,使设定处理引擎在内存中执行自定义查询信息以实现从关联数据库中查找出目标数据。

针对提取出的多个数据库,presto在执行自定义查询信息的时候首先要保证每个数据库的数据源类型相同。在将不同数据源类型的多个数据库整合为关联数据库之后,presto在内存中执行自定义查询信息(计算公式)以实现从关联数据库查找出目标数据。

步骤s244,使设定处理引擎直接在内存中执行自定义查询信息以实现从调取出的多个数据库中查找出目标数据。

可选地,若每个数据库的数据源类型相同,则不必将调取出的多个数据库进行整合,presto可以直接在内存中执行自定义查询信息(计算公式)以实现从调取出的多个数据库中查找出目标数据。

步骤s245,使设定处理引擎将目标数据发送至客户端。

presto在查找出目标数据之后,将目标数据返回客户端以供用户进行查看。

可以理解,上述方法能够将presto的功能进行改造,使得presto能够根据服务端提交的结构化查询语句进行数据处理,如此,使得客户端在响应用户输入的操作指令生成对应的配置信息之后直接将该配置信息交由服务端进行处理,无需用户进行额外的编码操作,能够应对用户根据多样化的数据分析和处理需求。

在上述基础上,如图4所示,本发明实施例提供了一种基于presto的数据处理装置20,所述基于presto的数据处理装置20包括:配置信息获取模块21、配置信息转化模块22、信息提取模块23和数据查询模块24。

配置信息获取模块21,用于获取所述客户端发送的配置信息。

由于配置信息获取模块21和图2中步骤s21的实现原理类似,因此在此不作更多说明。

配制信息转化模块22,用于将所述配置信息以动态编码的形式转化为结构化查询语句。

由于配制信息转化模块22和图2中步骤s22的实现原理类似,因此在此不作更多说明。

信息提取模块23,用于将所述结构化查询语句提交至设定处理引擎,使所述设定处理引擎将所述结构化查询语句的数据类型转化为目标数据类型,提取完成转化的结构化查询语句中包括的自定义查询信息和待查询数据库信息。

由于信息提取模块23和图2中步骤s23的实现原理类似,因此在此不作更多说明。

数据查询模块24,用于使所述设定处理引擎根据所述待查询数据库信息从预设数据库中调取对应的至少一个数据库,并使所述设定处理引擎在内存中执行所述自定义查询信息以实现从所述至少一个数据库中查找出目标数据,再使所述设定处理引擎将所述目标数据发送至所述客户端。

由于数据查询模块24和图2中步骤s24的实现原理类似,因此在此不作更多说明。

综上,本发明实施例所提供的基于presto的数据处理方法及装置,能够将客户端发送的配置信息以动态编码的形式转化为结构化查询语句,并交由设定处理引擎进行处理,进而获得目标数据,如此,能够动态地将配置信息进行改造,实现动态化的脱节点配置,使得客户端在响应用户输入的操作指令生成对应的配置信息之后直接将该配置信息交由服务端进行处理,无需用户进行额外的编码操作,能够满足用户根据多样化的数据分析和处理需求,在进行数据查询时能够将不同数据源的数据库进行整合,无需将各个数据库中的数据代码提取出来进行编码处理,降低了研发成本。

在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务端10,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1