CN105786478A - 用于数据处理的方法及设备 - Google Patents

用于数据处理的方法及设备 Download PDF

Info

Publication number
CN105786478A
CN105786478A CN201410835671.XA CN201410835671A CN105786478A CN 105786478 A CN105786478 A CN 105786478A CN 201410835671 A CN201410835671 A CN 201410835671A CN 105786478 A CN105786478 A CN 105786478A
Authority
CN
China
Prior art keywords
execution
context
data
statement
perform
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.)
Granted
Application number
CN201410835671.XA
Other languages
English (en)
Other versions
CN105786478B (zh
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.)
Cainiao Smart Logistics Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410835671.XA priority Critical patent/CN105786478B/zh
Publication of CN105786478A publication Critical patent/CN105786478A/zh
Application granted granted Critical
Publication of CN105786478B publication Critical patent/CN105786478B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了数据处理的设备及方法,通过利用高速模板引擎对获取的句柄和上下文数据进行渲染后,再执行所述执行语句获得执行结果,使获得的执行结果能够便于在后续进行展示和调用,保证数据生成的稳定性和准确性。同时,通过建立有层次的上下文,即在上下文中增加子上下文,能够实现对多个查询指标的相互隔离处理,从而进一步保证数据生成的处理过程稳定和准确。

Description

用于数据处理的方法及设备
技术领域
本申请涉及通信及计算机领域,尤其涉及一种用于数据生成和展出的方法及设备。
背景技术
在Java的Web应用中的很多项目中,有大量的报表、监控等需求,用来让产品、开发、用户观察业务、系统运行的情况。这其中主要有两份工作:编写获取数据的逻辑和将得到的数据按照直观的方式展示出来。
现在公司大部分需求是一般是开发根据具体的需求进行开发,其数据报表、监控的开发方案仍然采用如下方法:需求->设计->开发->日常、预发测试->发布,通常这种方法开发效率低,且时间成本巨大。
针对数据生成,在外部比较成熟的方案有水晶报表,在Java的Web应用中也能够使用水晶报表来展示数据,然而水晶报表仍有一些缺点:
1)水晶报表需要提前安装相应组件;
2)开发水晶报表需要学习其中组件的使用方法,需要一段时间。
3)水晶报表主要是对数据库中的数据进行处理,展示过程需要利用工具生成报表。
4)生成的报表数据不容易看出数据报表背后的逻辑,并且生成数据的可扩展性较差。
发明内容
本申请的目的是提供一种数据生成和展出的设备及方法,以实现灵活地进行处理数据的产出和展示。
有鉴于此,根据本申请一方面提供一种用于数据处理的方法,其中,所述方法包括:
根据查询请求获取配置数据,并解析所述配置数据,以获得若干句柄;
根据所述查询请求获取过滤条件,并将所述过滤条件写入上下文中,以生成上下文数据;
利用高速模板引擎对所述句柄和所述上下文数据进行渲染,以获得若干执行语句;
执行所述执行语句,以获得执行结果。
进一步的,所述若干句柄的类型为GROOVY类型、JSON类型及MYSQL类型中的一种或其组合。
进一步的,所述执行语句为SQL执行语句。
优选的,所述查询请求包括多个查询指标,则执行所述执行语句包括:
分别执行每一所述查询指标,并且在执行每一所述查询指标时,执行该查询指标的相应的执行语句。
优选的,执行每一所述查询指标包括:
增加一子上下文;
获取该查询指标的相应的若干执行语句,并依据其优先级依次执行所述若干执行语句,将执行中间的每一执行语句获得的执行结果写入所述子上下文中,并将执行最后一执行语句获得的执行结果写入所述上下文中;以及
减少所述子上下文。
优选的,所述方法还包括:
对所述执行结果进行展示。
进一步的,对所述执行结果进行展示包括:
根据所述查询请求获取展示结构;
对所述展示结构进行解耦;
用于对所述执行结果和所述解耦的展示结构进行渲染,以获得展示结果;以及对所述展示结果进行展示。
优选的,采用Velocity模板和JSON格式对所述解耦的展示结构进行渲染。
根据本申请另一方面提供一种用于数据处理的设备,其中,所述设备包括:
第一装置,用于根据查询请求获取待处理的配置数据,并解析所述配置数据,以获得若干句柄;
第二装置,用于根据所述查询请求获取过滤条件,并将所述过滤条件写入上下文中,以生成上下文数据;
第三装置,用于利用高速模板引擎对所述句柄和所述上下文数据进行渲染,以获得若干执行语句;以及
第四装置,用于执行所述执行语句,以获得执行结果。
进一步的,所述执行语句为SQL执行语句。
进一步的,所述若干句柄的类型为GROOVY类型、JSON类型及MYSQL类型中的一种或其组合。
优选的,所述查询请求包括多个查询指标,则所述第四装置执行所述执行语句包括:
分别执行每一所述查询指标,并且在执行每一所述查询指标时,执行该查询指标的相应的执行语句。
优选的,所述第四装置执行每一所述查询指标包括:
增加一子上下文;
获取该查询指标的相应的若干执行语句,并依据其优先级依次执行所述若干执行语句,将执行中间的每一执行语句获得的执行结果写入所述子上下文中,并将执行最后一执行语句获得的执行结果写入所述上下文中;以及
减少所述子上下文。
优选的,所述设备还包括第五装置,用于对所述执行结果进行展示。
进一步的,所述第五装置对所述执行结果进行展示包括:
第一单元,用于根据所述查询请求获取展示结构;
第二单元,用于对所述展示结构进行解耦;
第三单元,用于对所述执行结果和所述解耦的展示结构进行渲染,以获得展示结果;以及
第四单元,对所述展示结果进行展示。
优选的,所述第三单元采用Velocity模板和JSON格式对所述解耦的展示结构进行渲染。
综上,与现有技术相比,本申请所述数据处理的设备及方法,通过利用高速模板引擎对获取的句柄和上下文数据进行渲染后,再执行所述执行语句获得执行结果,使获得的执行结果能够便于在后续进行展示和调用,保证数据生成的稳定性和准确性。
同时,通过建立有层次的上下文,即在上下文中增加子上下文,能够实现对多个查询指标的相互隔离处理,从而进一步保证数据生成的处理过程稳定和准确。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一方面提出的用于数据处理的设备示意图;
图2示出根据本申请又一优选的实施例中用于数据处理的设备示意图;
图3示出根据本申请另一优选的实施例中第五装置的设备示意图;
图4示出根据本申请另一方面提出的用于数据处理的方法的过程示意图;
图5示出根据本申请一优选实施例的执行所述执行语句过程示意图;
图6示出根据本申请一优选的实施例中用于数据处理的方法的过程示意图;
图7示出根据本申请另一优选的实施例中对所述执行结果进行展示的过程示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的装置或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(TransitoryMedia),如调制的数据信号和载波。
图1示出根据本申请一方面的用于数据处理的设备1的设备示意图,其中,所述设备1包括第一装置101、第二装置102、第三装置103和第四装置104。
在此,所述设备1包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的用户设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在此,本申请所述的数据处理可以包括对数据的生成和展出,数据生成过程可以包括例如数据查找、数据排序、数据处理等过程,数据展出方式也并不被限制,经过处理的数据可以用于报警、监控和数据报表等。
第一装置101用于根据查询请求获取待处理的配置数据,并解析所述配置数据,以获得若干句柄(Handler)。
在具体的实施例中,所述设备1可以提供一个查询入口,查询入口例如是查询页面或查询接口等,用户在该查询入口输入过滤条件,并提起查询请求,则开始数据处理过程。在本申请的实施例中,数据处理过程可以包括对数据处理并生成过程,还可包括对生成的数据进行展示的过程。
然后,第一装置101获取所述查询请求。第一装置101根据查询请求获取配置数据,并解析所述配置数据,以获得若干句柄(Handler)。其中,第一装置101根据查询请求所请求处理的内容的类型解析出不同类型的可执行的句柄。
在此,所述句柄属于标识符,是系统(例如WINDOWS操作系统)用来标识被应用程序所建立或使用的对象的唯一整数,通过各种类型的句柄可以标识诸如应用程序实例,窗口,控制,位图等。系统可以通过这个句柄与相应的控件或对象进行交互。所述若干句柄的类型可以为GROOVY类型、JSON类型及MYSQL类型中的一种或其组合。
由于所述句柄可读及可兼容性非常强,且类型多样,因此可以根据需要调用各种数据库中的数据源,并可以解析任意类型的数据源的配置数据,获取相应类型的句柄,因此处理的灵活率很高。
在一具体的实施例中,第一装置101获取配置数据,并解析所述配置数据,以获得若干句柄的过程如下:
当然,本领域技术人员应能理解上述获取配置数据,并解析所述配置数据,以获得若干句柄的具体实施例仅为举例,其他现有的或今后可能出现的获取配置数据,并解析所述配置数据,以获得若干句柄的方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
然后,第二装置102根据所述查询请求获取过滤条件,并将所述过滤条件写入上下文中,以生成上下文数据。
在此,所述上下文(Context)是一种使用键-值(Key-Value)的形式保存数据的容器,上下文数据可以在上下文的同一个线程的任意地方。则获取到继续结合前述具体的实施例,所述上下文数据例如为:键Key=user_id,值Value=hours。
接着,第三装置103利用高速模板引擎(Velocity模板引擎)对所述句柄和所述上下文数据进行渲染,以获得若干执行语句。其中,所述执行语句为SQL执行语句,通过利用高速模板引擎对句柄和上下文进行渲染,将上下文数据填充至句柄中,可以获得若干相应的执行语句。经过高速模板引擎渲染的执行语句可以直接在后续过程中进行生成和展示,因此提高了处理的灵活率。
在此,高速模板引擎(Velocity模板引擎)是一种具有逻辑语句和变量,可以表示页面上的逻辑。Velocity模板引擎允许用户使用简单的模板语言引用对象,例如由Java代码定义的对象。在此,渲染是指执行Velocity模板引擎的逻辑,并根据上下文数据生成字符串形式的执行结果,具体地,Velocity模板引擎根据上下文数据,执行相应的句柄,获得执行结果,以完成渲染的过程。
在一具体的实施例中,提供利用高速模板引擎对所述句柄和所述上下文数据进行取得数据并加以处理的过程如下:
当然,本领域技术人员应能理解上述利用高速模板引擎对所述句柄和所述上下文数据进行取得数据并加以处理的具体实施例仅为举例,其他现有的或今后可能出现的利用高速模板引擎对所述句柄和所述上下文数据进行取得数据并加以处理的方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
接着,第四装置104执行所述执行语句,以获得执行结果,在较佳的实施例中,可以将获取的所述执行结果写入所述上下文中。
在具体的实施例中,第四装置104执行所述执行语句,以获得执行结果的过程如下:
//例如数据库中的数据包括user_id=xiaoming,hours=2,输入查询条件得到的HTML格式为:
当然,本领域技术人员应能理解上述执行所述执行语句,以获得执行结果的具体实施例仅为举例,其他现有的或今后可能出现的执行所述执行语句,以获得执行结果的方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在本申请一较佳的实施例,第四装置104在执行多个查询指标时,执行每一所述指标包括以下步骤(图中未示出):增加一子上下文;获取该查询指标的相应的若干执行语句,并依据其优先级依次执行所述若干执行语句,将执行中间的每一执行语句获得的执行结果写入所述子上下文中,并将执行最后一执行语句获得的执行结果写入所述上下文中;以及减少所述子上下文。
第四装置104通过建立子上下文,对不同的查询指标,执行其执行语句时,将处理的中间数据结果放入不同的子上下文中进行处理,从而当所述查询请求具有多个查询指标时,每一查询指标下的执行语句在执行过程中,会将中间数据结果放入相应的子上下文中,则多个查询指标的处理互不干扰,数据互不影响,保证处理过程的稳定、准确。
图2示出根据本申请又一优选的实施例中用于数据处理的设备示意图;其中,所述设备1包括第一装置101’、第二装置102’、第三装置103’第四装置104’和第五装置105’。其中,所述第五装置105’用于对所述执行结果进行展示。
图3示出根据本申请另一优选的实施例中第五装置的设备示意图;如图3所示,所述第五装置105’包括第一单元501、第二单元502、第三单元503和第四单元504。其中,所述第一单元501根据所述查询请求获取展示结构;第二单元502对所述展示结构进行解耦;第三单元503用于对所述执行结果和所述解耦的展示结构进行渲染,以获得展示结果;以及第四单元504对所述展示结果进行展示。
具体地,第一单元501根据所述查询请求获取展示结构;在具体的实施例中,所述展示结构可以是多样的展示结构,展示结构可以例如是数据插件Datav、Echarts、Highcharts等。当然,本领域技术人员应能理解上述展示结构的描述仅为举例,其他现有的或今后可能出现的展示结构如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
第二单元502对所述展示结构进行解耦。所述展示结构经过解耦后,能够被准确调用。
第三单元503,用于对所述执行结果和所述解耦的展示结构进行渲染,以获得展示结果。在较佳的实施例中,所述第三单元503采用Velocity模板和JSON格式对所述解耦的展示结构进行渲染。由于第三装置103已利用高速模板引擎(Velocity模板引擎)对所述句柄和所述上下文数据进行渲染,由第四装置104执行所述执行语句所获得的执行结果,所述执行结构在格式上能够更易于地提供给第三单元进行渲染,进而使执行过程简易且快速。
第四单元504,用于对所述展示结果进行展示。结合前述具体的实施例,获得的最终展示结果以表格的形式显示如下:
user_id hours
xiaoming 2
在其他的实施例中,展示结果还可以根据用户要求以柱状图、条状图等形式进行显示。在需要其他前端显示框架或者其他类型的展示方式的展示结构时,只需在数据库中添加相应展示结构的配置文件即可将处理后的执行结果形成展示结构。当然,本领域技术人员应能理解上述展示结果的描述仅为举例,其他现有的或今后可能出现的展示结果如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在此,所述设备1的第一装置101’、第二装置102’和第三装置和103’第四装置104’与图1中所述设备1的第一装置101、第二装置102和第三装置103和第四装置104的内容相应相同或基本相同,为简明起见,故在此不再赘述,并以引用的方式包含于此。
图4示出根据本申请另一方面提出的用于数据处理的方法的过程示意图;其中,所述方法包括步骤S01、步骤S02、步骤S03和步骤S04。
在此,本申请所述的数据处理可以包括对数据的生成和展出,数据生成过程可以包括例如数据查找、数据排序、数据处理等过程,数据展出方式也并不被限制,经过处理的数据可以用于报警、监控和数据报表等。
在步骤S01中,根据查询请求获取配置数据,并解析所述配置数据,以获得若干句柄。
在具体的实施例中,首先提供一个查询入口,查询入口例如是例如查询页面或查询接口等,用户在该查询入口输入过滤条件,并提起查询请求之后,则开始数据处理过程。在本申请的实施例中,数据处理过程可以包括对数据处理并生成过程,还可包括对生成的数据进行展示的过程。
然后,在步骤S01中,获取所述查询请求,根据查询请求获取配置数据,并解析所述配置数据,以获得若干句柄(Handler)。其中,根据查询请求所请求处理的内容的类型解析出不同类型的可执行的句柄。
在此,所述句柄属于标识符,是系统(例如WINDOWS操作系统)用来标识被应用程序所建立或使用的对象的唯一整数,通过各种类型的句柄可以标识诸如应用程序实例,窗口,控制,位图等。系统可以通过这个句柄与相应的控件或对象进行交互。在具体的实施例中,所述若干句柄的类型可以为GROOVY类型、JSON类型及MYSQL类型中的一种或其组合。
由于所述句柄可读及可兼容性非常强,且类型多样,因此可以根据需要调用各种数据库中的数据源,并可以解析任意类型的数据源的配置数据,获取相应类型的句柄,因此处理的灵活率很高。
在步骤S01的一具体的实施例中,获取配置数据,并解析所述配置数据,以获得若干句柄的步骤如下:
当然,本领域技术人员应能理解上述获取配置数据,并解析所述配置数据,以获得若干句柄的具体实施例仅为举例,其他现有的或今后可能出现的获取配置数据,并解析所述配置数据,以获得若干句柄的方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
然后,在步骤S02中,根据所述查询请求获取过滤条件,并将所述过滤条件写入上下文中,以生成上下文数据。
在此,所述上下文(Context)是一种使用键-值(Key-Value)的形式保存数据的容器,上下文数据可以在上下文的同一个线程的任意地方。则获取到继续结合前述具体的实施例,所述上下文数据例如为:键Key=user_id,值Value=hours,标示用户和该用户对应的工作时间。
接着,在步骤S03中,利用高速模板引擎(Velocity模板引擎)对所述句柄和所述上下文数据进行渲染,以获得若干执行语句。其中,所述执行语句为SQL执行语句,通过利用高速模板引擎对句柄和上下文进行渲染,将上下文数据填充至句柄中,可以获得若干相应的执行语句。经过高速模板引擎渲染的执行语句可以直接在后续过程中进行生成和展示,因此提高了处理的灵活率。
在此,高速模板引擎(Velocity模板引擎)是一种具有逻辑语句和变量,可以表示页面上的逻辑。Velocity模板引擎允许用户使用简单的模板语言引用对象,例如由Java代码定义的对象。在此,渲染是指执行Velocity模板引擎的逻辑,并根据上下文数据生成字符串形式的执行结果,具体地,Velocity模板引擎根据上下文数据,执行相应的句柄,获得执行结果,以完成渲染的过程。
在一具体的实施例中,提供利用高速模板引擎对所述句柄和所述上下文数据进行取得数据并加以处理的过程如下:
当然,本领域技术人员应能理解上述利用高速模板引擎对所述句柄和所述上下文数据进行取得数据并加以处理的具体实施例仅为举例,其他现有的或今后可能出现的利用高速模板引擎对所述句柄和所述上下文数据进行取得数据并加以处理的方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
接着,在步骤S04中,执行所述执行语句,以获得执行结果。在较佳的实施例中,可以将获取的所述执行结果写入所述上下文中。
在具体的实施例中,第四装置104执行所述执行语句,以获得执行结果的步骤如下:
//例如数据库中的数据包括user_id=xiaoming,hours=2,输入查询条件得到的HTML格式为:
当然,本领域技术人员应能理解上述执行所述执行语句,以获得执行结果的具体实施例仅为举例,其他现有的或今后可能出现的执行所述执行语句,以获得执行结果的方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
图5示出根据本申请一优选实施例中执行所述执行语句的过程示意图。如图5所示,在本申请一较佳的实施例,在步骤S04中,执行多个查询指标,具体在执行每一所述指标包括:步骤S401、步骤S402、步骤S403和步骤S404。
在步骤S401中,首先增加一子上下文;在步骤402中,获取该查询指标的相应的若干执行语句,并依据其优先级依次执行所述若干执行语句,将执行中间的每一执行语句获得的执行结果写入所述子上下文中,并将执行最后一执行语句获得的执行结果写入所述上下文中;以及在步骤S403中,减少所述子上下文。通过建立子上下文,对不同的查询指标,执行其执行语句时,将处理的中间数据结果放入不同的子上下文中进行处理,从而当所述查询请求具有多个查询指标时,每一查询指标下的执行语句在执行过程中,会将中间数据结果放入相应的子上下文中,则多个查询指标的处理互不干扰,数据互不影响,保证处理过程的稳定、准确。
图6示出根据本申请一优选的实施例中用于数据处理的方法的过程示意图;如图6所示,其中,所述方法包括步骤S01’、步骤S02’、步骤S03’、步骤S04’和步骤S05’。其中,在所述步骤S05’中,对所述执行结果进行展示。
图7示出根据本申请另一优选的实施例中对所述执行结果进行展示的过程示意图;如图7所示,所述步骤S05’包括步骤S501、步骤S502、步骤S503、步骤S504,其中,在步骤S501中,根据所述查询请求获取展示结构;在步骤S502中,对所述展示结构进行解耦;在步骤S503中,用于对所述执行结果和所述解耦的展示结构进行渲染,以获得展示结果;以及在步骤S504中,对所述展示结果进行展示。
具体地,在步骤S501中,根据所述查询请求获取展示结构;在具体的实施例中,所述展示结构可以是多样的展示结构,展示结构可以例如是数据插件Datav、Echarts、Highcharts等。当然,本领域技术人员应能理解上述展示结构的描述仅为举例,其他现有的或今后可能出现的展示结构如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。接着,在步骤S502中,对所述展示结构进行解耦。所述展示结构经过解耦后,能够被准确调用。
接着,在步骤S503中,用于对所述执行结果和所述解耦的展示结构进行渲染,以获得展示结果。在较佳的实施例中,采用Velocity模板和JSON格式对所述解耦的展示结构进行渲染。由于已利用高速模板引擎(Velocity模板引擎)对所述句柄和所述上下文数据进行渲染,且执行所述执行语句所获得的执行结果,所述执行结构在格式上能够更易于地在步骤S503中进行渲染,进而使执行过程简易且快速。
接着,在步骤S504中,对所述展示结果进行展示。结合前述具体的实施例,获得的最终展示结果以表格的形式显示如下:
user_id hours
xiaoming 2
在其他的实施例中,展示结果还可以根据用户要求以柱状图、条状图等形式进行显示。在需要其他前端显示框架或者其他类型的展示方式的展示结构时,只需在数据库中添加相应展示结构的配置文件即可将处理后的执行结果形成展示结构。当然,本领域技术人员应能理解上述展示结果的描述仅为举例,其他现有的或今后可能出现的展示结果如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在此,所述步骤S01’、步骤S02’、步骤S03’和步骤S04’与图4中步骤S01、步骤S02、步骤S03和步骤S04的相应内容相应相同或基本相同,为简明起见,故在此不再赘述,并以引用的方式包含于此。
综上,与现有技术相比,本申请所述数据处理的设备及方法,通过利用高速模板引擎对获取的句柄和上下文数据进行渲染后,再执行所述执行语句获得执行结果,使获得的执行结果能够便于在后续进行展示和调用,保证数据生成的稳定性和准确性。
同时,通过建立有层次的上下文,即在上下文中增加子上下文,能够实现对多个查询指标的相互隔离处理,从而进一步保证数据生成的处理过程稳定和准确。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备运行基于前述根据本申请的多个实施例的方法和/或技术方案。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。设备权利要求中陈述的多个单元或设备也可以由一个单元或设备通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (16)

1.一种用于数据处理的方法,其中,所述方法包括:
根据查询请求获取配置数据,并解析所述配置数据,以获得若干句柄;
根据所述查询请求获取过滤条件,并将所述过滤条件写入上下文中,以生成上下文数据;
利用高速模板引擎对所述句柄和所述上下文数据进行渲染,以获得若干执行语句;
执行所述执行语句,以获得执行结果。
2.如权利要求1所述的方法,其中,所述若干句柄的类型为GROOVY类型、JSON类型及MYSQL类型中的一种或其组合。
3.如权利要求1或2所述的方法,其中,所述执行语句为SQL执行语句。
4.如权利要求1至3中任一项所述的方法,其中,所述查询请求包括多个查询指标,则执行所述执行语句包括:
分别执行每一所述查询指标,并且
在执行每一所述查询指标时,执行该查询指标的相应的执行语句。
5.如权利要求4所述的方法,其中,执行每一所述查询指标包括:
增加一子上下文;
获取该查询指标的相应的若干执行语句,并依据其优先级依次执行所述若干执行语句,将执行中间的每一执行语句获得的执行结果写入所述子上下文中,并将执行最后一执行语句获得的执行结果写入所述上下文中;以及
减少所述子上下文。
6.如权利要求1至5中任一项所述的方法,其中,所述方法还包括:
对所述执行结果进行展示。
7.如权利要求6所述的方法,其中,对所述执行结果进行展示包括:
根据所述查询请求获取展示结构;
对所述展示结构进行解耦;
用于对所述执行结果和所述解耦的展示结构进行渲染,以获得展示结果;
以及
对所述展示结果进行展示。
8.如权利要求7所述的方法,其中,采用Velocity模板和JSON格式对所述解耦的展示结构进行渲染。
9.一种用于数据处理的设备,其中,所述设备包括:
第一装置,用于根据查询请求获取待处理的配置数据,并解析所述配置数据,以获得若干句柄;
第二装置,用于根据所述查询请求获取过滤条件,并将所述过滤条件写入上下文中,以生成上下文数据;
第三装置,用于利用高速模板引擎对所述句柄和所述上下文数据进行渲染,以获得若干执行语句;以及
第四装置,用于执行所述执行语句,以获得执行结果。
10.如权利要求9所述的设备,其中,所述执行语句为SQL执行语句。
11.如权利要求8或9所述的设备,其中,所述若干句柄的类型为GROOVY类型、JSON类型及MYSQL类型中的一种或其组合。
12.如权利要求9至11中任意一项所述的设备,其中,所述查询请求包括多个查询指标,则所述第四装置执行所述执行语句包括:
分别执行每一所述查询指标,并且在执行每一所述查询指标时,执行该查询指标的相应的执行语句。
13.如权利要求12所述的设备,其中,所述第四装置执行每一所述查询指标包括:
增加一子上下文;
获取该查询指标的相应的若干执行语句,并依据其优先级依次执行所述若干执行语句,将执行中间的每一执行语句获得的执行结果写入所述子上下文中,并将执行最后一执行语句获得的执行结果写入所述上下文中;以及
减少所述子上下文。
14.如权利要求9至13中任一项所述的设备,其中,所述设备还包括:
第五装置,用于对所述执行结果进行展示。
15.如权利要求14所述的设备,其中,所述第五装置包括:
第一单元,用于根据所述查询请求获取展示结构;
第二单元,用于对所述展示结构进行解耦;
第三单元,用于对所述执行结果和所述解耦的展示结构进行渲染,以获得展示结果;以及
第四单元,对所述展示结果进行展示。
16.如权利要求15所述的设备,其中,所述第三单元采用Velocity模板和JSON格式对所述解耦的展示结构进行渲染。
CN201410835671.XA 2014-12-23 2014-12-23 用于数据处理的方法及设备 Active CN105786478B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410835671.XA CN105786478B (zh) 2014-12-23 2014-12-23 用于数据处理的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410835671.XA CN105786478B (zh) 2014-12-23 2014-12-23 用于数据处理的方法及设备

Publications (2)

Publication Number Publication Date
CN105786478A true CN105786478A (zh) 2016-07-20
CN105786478B CN105786478B (zh) 2019-07-02

Family

ID=56389101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410835671.XA Active CN105786478B (zh) 2014-12-23 2014-12-23 用于数据处理的方法及设备

Country Status (1)

Country Link
CN (1) CN105786478B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239510A (zh) * 2017-05-12 2017-10-10 腾讯科技(深圳)有限公司 数据处理方法和装置
CN108833500A (zh) * 2018-05-29 2018-11-16 阿里巴巴集团控股有限公司 服务调用方法、服务提供方法、数据传递方法和服务器
WO2020119333A1 (zh) * 2018-12-11 2020-06-18 南京天辰礼达电子科技有限公司 一种路面压实数字化施工系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1464439A (zh) * 2002-06-18 2003-12-31 国际商业机器公司 在web应用中产生定制商业报表的系统和方法
CN101788994A (zh) * 2009-08-14 2010-07-28 成都迪捷信息技术有限公司 一种数据展示模型建立方法、数据展示方法及装置
CN102193973A (zh) * 2010-03-19 2011-09-21 微软公司 呈现回答
CN102567347A (zh) * 2010-12-17 2012-07-11 上海宝钢商贸有限公司 高可视化数据管理系统
CN103365646A (zh) * 2012-04-11 2013-10-23 怡丰联合(北京)科技有限责任公司 基于脚本引擎的表单自定义、逻辑定义及处理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1464439A (zh) * 2002-06-18 2003-12-31 国际商业机器公司 在web应用中产生定制商业报表的系统和方法
CN101788994A (zh) * 2009-08-14 2010-07-28 成都迪捷信息技术有限公司 一种数据展示模型建立方法、数据展示方法及装置
CN102193973A (zh) * 2010-03-19 2011-09-21 微软公司 呈现回答
CN102567347A (zh) * 2010-12-17 2012-07-11 上海宝钢商贸有限公司 高可视化数据管理系统
CN103365646A (zh) * 2012-04-11 2013-10-23 怡丰联合(北京)科技有限责任公司 基于脚本引擎的表单自定义、逻辑定义及处理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239510A (zh) * 2017-05-12 2017-10-10 腾讯科技(深圳)有限公司 数据处理方法和装置
CN107239510B (zh) * 2017-05-12 2019-02-26 腾讯科技(深圳)有限公司 数据处理方法和装置
CN108833500A (zh) * 2018-05-29 2018-11-16 阿里巴巴集团控股有限公司 服务调用方法、服务提供方法、数据传递方法和服务器
CN108833500B (zh) * 2018-05-29 2021-03-30 创新先进技术有限公司 服务调用方法、服务提供方法、数据传递方法和服务器
WO2020119333A1 (zh) * 2018-12-11 2020-06-18 南京天辰礼达电子科技有限公司 一种路面压实数字化施工系统

Also Published As

Publication number Publication date
CN105786478B (zh) 2019-07-02

Similar Documents

Publication Publication Date Title
US9607048B2 (en) Generation of synthetic context frameworks for dimensionally constrained hierarchical synthetic context-based objects
US10061758B2 (en) Tabular widget with mergable cells
US20200272610A1 (en) Method, apparatus, device and medium for storing and querying data
US10657181B2 (en) Query suggestions using ontology partitions
CN107622080B (zh) 一种数据处理方法及设备
US9323798B2 (en) Storing a key value to a deleted row based on key range density
CN110688544A (zh) 一种查询数据库的方法、设备及存储介质
US20150331690A1 (en) Method and apparatus for associating information
US10102247B2 (en) Precision adaptive vehicle trajectory query plan optimization
WO2021253641A1 (zh) 着色语言翻译方法
CN112861501A (zh) 报表的生成方法、装置、电子设备及计算机可读存储介质
CN112487784B (zh) 一种技术文档管理方法、装置、电子设备和可读存储介质
CN106649210B (zh) 一种数据转换方法及装置
CN112765248A (zh) 基于sql的数据抽取的方法及设备
CN105786478A (zh) 用于数据处理的方法及设备
WO2018226255A1 (en) Functional equivalence of tuples and edges in graph databases
US20170010955A1 (en) System and method for facilitating change based testing of a software code using annotations
US8407255B1 (en) Method and apparatus for exploiting master-detail data relationships to enhance searching operations
US9286348B2 (en) Dynamic search system
CN111125216A (zh) 数据导入Phoenix的方法及装置
CN102855115A (zh) 一种基于拼接墙显示文字标注的方法及系统
CN113590623A (zh) 一种用于数据深分页查询的方法、装置及设备
US11429648B2 (en) Method and device for creating an index
US12093288B2 (en) Method, device and program product for generating configuration information of storage system
US12045294B2 (en) Mask-augmented inverted index

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180504

Address after: Cayman Islands, Grand Cayman Island capital building, four level 847 box

Applicant after: CAINIAO SMART LOGISTICS HOLDING Ltd.

Address before: Cayman Islands Grand Cayman capital building a four storey No. 847 mailbox

Applicant before: ALIBABA GROUP HOLDING Ltd.

GR01 Patent grant
GR01 Patent grant