首页> 中国专利> 企业报表的取数装置和取数方法

企业报表的取数装置和取数方法

摘要

本发明提出了一种企业报表的取数装置和取数方法,其中,所述企业报表的取数装置包括:元数据组件,用于定义业务领域的元数据;运算器组件,用于根据所述元数据将所述企业报表中的所有函数格子分成多个组,其中,所述多个组中的每个组中的函数格子具有相同的查询逻辑;SQL执行器组件,用于执行所述多个组的多条SQL语句,其中,所述多条SQL语句与所述多个组一一对应;所述运算器组件还用于,按照所述企业报表的格式,对所述多条SQL语句的执行结果进行显示。通过本发明的技术方案,可以提高企业报表的取数效率,以及降低企业报表的开发难度。

著录项

  • 公开/公告号CN106682064A

    专利类型发明专利

  • 公开/公告日2017-05-17

    原文格式PDF

  • 申请/专利权人 用友网络科技股份有限公司;

    申请/专利号CN201610955597.4

  • 发明设计人 张成;钟鸣;

    申请日2016-11-03

  • 分类号G06F17/30;

  • 代理机构北京友联知识产权代理事务所(普通合伙);

  • 代理人尚志峰

  • 地址 100094 北京市海淀区北清路68号

  • 入库时间 2023-06-19 02:12:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-02-11

    授权

    授权

  • 2017-06-09

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20161103

    实质审查的生效

  • 2017-05-17

    公开

    公开

说明书

技术领域

本发明涉及ERP(Enterprise Resource Planning)系统技术领域,具体而言,涉及一种企业报表的取数装置和一种企业报表的取数方法。

背景技术

常见的ERP系统存在着各种各样的企业报表,每个企业报表的查询逻辑都异常复杂,企业报表中一般包含很多取数的函数格子(或者称为格子,由于格子代表了一个函数,因此称为函数格子)。若要从企业报表中取数,在相关技术中,如图1所示,首先获取企业报表中所有函数格子(图1中简称格子),循环遍历所有函数格子,针对每个函数格子的查询逻辑拼写SQL(Structured Query Language,结构化查询语言)语句,最后执行SQL语句。整个过程需要循环执行很多次的SQL语句,函数格子越多,越容易出现性能问题。同时每个业务领域为了制作自己的企业报表,都需要重复开发适配企业报表的框架,工作量巨大。

因此,如何提高企业报表的取数效率,以及降低企业报表的开发难度成为亟待解决的问题。

发明内容

本发明正是基于上述问题,提出了一种新的技术方案,可以提高企业报表的取数效率,以及降低企业报表的开发难度。

有鉴于此,本发明的第一方面提出了一种企业报表的取数装置,包括:元数据组件,用于定义业务领域的元数据;运算器组件,用于根据所述元数据将所述企业报表中的所有函数格子分成多个组,其中,所述多个组中的每个组中的函数格子具有相同的查询逻辑;SQL执行器组件,用于执行所述多个组的多条SQL语句,其中,所述多条SQL语句与所述多个组一一对应;所述运算器组件还用于,按照所述企业报表的格式,对所述多条SQL语句的执行结果进行显示。

在该技术方案中,通过对企业报表中的所有函数格子进行分组,每一组对应一条SQL语句,执行多个组分别对应的SQL语句即可实现从企业报表中取数,避免了相关技术中的执行所有函数格子中的每个函数格子的SQL语句,从而大大减少了执行SQL语句的次数,这样不仅提高了企业报表的取数效率,还避免由于执行SQL语句的次数过多而导致处理性能下降。另外,本方案支持任意ERP系统的企业报表的框架接入,从而降低了企业报表的开发难度。

在上述技术方案中,优选地,所述运算器组件包括:并行计算调度引擎,若开启所述并行计算调度引擎,则所述并行计算调度引擎控制所述SQL执行器组件并行执行所述多条SQL语句;或者若未开启所述并行计算调度引擎,则所述SQL执行器组件串行执行所述多条SQL语句。

在该技术方案中,并行计算调度引擎控制SQL执行器组件并行执行多条SQL语句,进一步地提高了企业报表的取数效率。当然,也可以串行执行多条SQL语句。或者根据用户实际的需求、硬件情况来确定并行还是串行执行多条SQL语句。

在上述任一技术方案中,优选地,所述SQL执行器组件还用于,接收修改指令,修改所述多个组中的任一组的SQL语句。

在该技术方案中,通过修改任一组的SQL语句,例如,将任一组的查询销售数据的SQL语句修改为查询销售数据和采购数据的SQL语句,即为用户预留扩展机制,从而方便对SQL语句进行动态扩展来满足用户的需求。

在上述任一技术方案中,优选地,还包括:函数组件,用于存储和封装所述多条SQL语句的执行结果。

在该技术方案中,通过函数组件来存储和封装多条SQL语句的执行结果,以实现将执行结果显示在企业报表的界面上。

在上述任一技术方案中,优选地,所述元数据包括:函数元数据和参数元数据,其中,所述函数元数据包括以下之一或多种的组合:函数描述、函数定义、函数提示、函数关键字、函数分组条件,所述参数元数据包括以下之一或多种的组合:函数查询条件的种类、函数查询条件的类型、是否分组、数据库类型。

在该技术方案中,通过定义以上的元数据,以根据该元数据将具有相同的查询逻辑的函数格子分在同一组中,一个组对应一个SQL语句,从而大大减少了执行SQL语句的次数,有效地提高了从企业报表中取数的效率。

本发明的第二方面提出了一种企业报表的取数方法,包括:定义业务领域的元数据;根据所述元数据将所述企业报表中的所有函数格子分成多个组,其中,所述多个组中的每个组中的函数格子具有相同的查询逻辑;执行所述多个组的多条SQL语句,其中,所述多条SQL语句与所述多个组一一对应;按照所述企业报表的格式,对所述多条SQL语句的执行结果进行显示。

在该技术方案中,通过对企业报表中的所有函数格子进行分组,每一组对应一条SQL语句,执行多个组分别对应的SQL语句即可实现从企业报表中取数,避免了相关技术中的执行所有函数格子中的每个函数格子的SQL语句,从而大大减少了执行SQL语句的次数,这样不仅提高了企业报表的取数效率,还避免由于执行SQL语句的次数过多而导致处理性能下降。另外,本方案支持任意ERP系统的企业报表的框架接入,从而降低了企业报表的开发难度。

在上述技术方案中,优选地,并行执行所述多条SQL语句;或者串行执行所述多条SQL语句。

在该技术方案中,SQL执行器组件可以并行执行多条SQL语句,进一步地提高了企业报表的取数效率。当然,也可以串行执行多条SQL语句。或者根据用户实际的需求、硬件情况来确定并行还是串行执行多条SQL语句。

在上述任一技术方案中,优选地,还包括:接收修改指令,修改所述多个组中的任一组的SQL语句。

在该技术方案中,通过修改任一组的SQL语句,例如,将任一组的查询销售数据的SQL语句修改为查询销售数据和采购数据的SQL语句,即为用户预留扩展机制,从而方便对SQL语句进行动态扩展来满足用户的需求。

在上述任一技术方案中,优选地,还包括:存储和封装所述多条SQL语句的执行结果。

在该技术方案中,通过函数组件来存储和封装多条SQL语句的执行结果,以实现将执行结果显示在企业报表的界面上。

在上述任一技术方案中,优选地,所述元数据包括:函数元数据和参数元数据,其中,所述函数元数据包括以下之一或多种的组合:函数描述、函数定义、函数提示、函数关键字、函数分组条件,所述参数元数据包括以下之一或多种的组合:函数查询条件的种类、函数查询条件的类型、是否分组、数据库类型。

在该技术方案中,通过定义以上的元数据,以根据该元数据将具有相同的查询逻辑的函数格子分在同一组中,一个组对应一个SQL语句,从而大大减少了执行SQL语句的次数,有效地提高了从企业报表中取数的效率。

通过本发明的技术方案,可以提高企业报表的取数效率,以及降低企业报表的开发难度。

附图说明

图1示出了相关技术中的从企业报表中取数的原理示意图;

图2示出了根据本发明的一个实施例的企业报表的取数装置的结构示意图;

图3示出了根据本发明的另一个实施例的企业报表的取数装置的结构示意图;

图4示出了图3中从企业报表中取数的原理示意图;

图5示出了根据本发明的一个实施例的企业报表的取数方法的流程示意图;

图6示出了根据本发明的另一个实施例的企业报表的取数方法的流程示意图。

具体实施方式

为了可以更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

图2示出了根据本发明的一个实施例的企业报表的取数装置的结构示意图。

如图2所示,根据本发明的一个实施例的企业报表的取数装置200,包括:元数据组件202、运算器组件204和SQL执行器组件206。

元数据组件202,用于定义业务领域的元数据;运算器组件204,用于根据所述元数据将所述企业报表中的所有函数格子分成多个组,其中,所述多个组中的每个组中的函数格子具有相同的查询逻辑;SQL执行器组件206,用于执行所述多个组的多条SQL语句,其中,所述多条SQL语句与所述多个组一一对应;所述运算器组件204还用于,按照所述企业报表的格式,对所述多条SQL语句的执行结果进行显示。

在该技术方案中,通过对企业报表中的所有函数格子进行分组,每一组对应一条SQL语句,执行多个组分别对应的SQL语句即可实现从企业报表中取数,避免了相关技术中的执行所有函数格子中的每个函数格子的SQL语句,从而大大减少了执行SQL语句的次数,这样不仅提高了企业报表的取数效率,还避免由于执行SQL语句的次数过多而导致处理性能下降。另外,本方案支持任意ERP系统的企业报表的框架接入,从而降低了企业报表的开发难度。

在上述技术方案中,优选地,所述运算器组件204包括:并行计算调度引擎2042,若开启所述并行计算调度引擎2042,则所述并行计算调度引擎2042控制所述SQL执行器组件206并行执行所述多条SQL语句;或者若未开启所述并行计算调度引擎2042,则所述SQL执行器组件206串行执行所述多条SQL语句。

在该技术方案中,并行计算调度引擎2042控制SQL执行器组件206并行执行多条SQL语句,进一步地提高了企业报表的取数效率。当然,也可以串行执行多条SQL语句。或者根据用户实际的需求、硬件情况来确定并行还是串行执行多条SQL语句。

在上述任一技术方案中,优选地,所述SQL执行器组件206还用于,接收修改指令,修改所述多个组中的任一组的SQL语句。

在该技术方案中,通过修改任一组的SQL语句,例如,将任一组的查询销售数据的SQL语句修改为查询销售数据和采购数据的SQL语句,即为用户预留扩展机制,从而方便对SQL语句进行动态扩展来满足用户的需求。

在上述任一技术方案中,优选地,企业报表的取数装置200还包括:函数组件208,用于存储和封装所述多条SQL语句的执行结果。

在该技术方案中,通过函数组件208来存储和封装多条SQL语句的执行结果,以实现将执行结果显示在企业报表的界面上。

在上述任一技术方案中,优选地,所述元数据包括:函数元数据和参数元数据,其中,所述函数元数据包括以下之一或多种的组合:函数描述、函数定义、函数提示、函数关键字、函数分组条件,所述参数元数据包括以下之一或多种的组合:函数查询条件的种类、函数查询条件的类型、是否分组、数据库类型。

在该技术方案中,通过定义以上的元数据,以根据该元数据将具有相同的查询逻辑的函数格子分在同一组中,一个组对应一个SQL语句,从而大大减少了执行SQL语句的次数,有效地提高了从企业报表中取数的效率。

在上述任一技术方案中,优选地,企业报表的取数装置200还包括:门面接口组件210,门面接口组件210对内封装了企业报表的取数接口,统一实现了企业报表的函数取数、函数注册、函数说明、函数执行等功能。可以通过运算器组件204、元数据组件202、SQL执行器组件206来调度执行门面接口组件210。门面接口组件210对外封装了业务领域的入口接口,方便业务领域适配。

图3和图4示出了本发明的另一个实施例的企业报表的取数装置的结构示意图。

如图3和图4所示,根据本发明的另一个实施例的企业报表的取数装置200,包括:门面接口组件210、运算器组件204、元数据组件202、SQL执行器组件206和函数组件208。下面对各个组件进行详细说明。

门面接口组件210:门面接口组件210对内封装了企业报表的取数接口,统一实现了企业报表的函数取数、函数注册、函数说明、函数执行等功能。可以通过运算器组件204、元数据组件202、SQL执行器组件206来调度执行门面接口组件210。门面接口组件210对外封装了业务领域的入口接口,方便业务领域适配。

运算器组件204:对企业报表中的所有函数格子(图4中简称格子)进行分组。例如,通过三级对所有函数格子进行分组。第1级由业务领域定义指定,将明显不能合并在一起的函数格子分组区分,例如Select a,b,c from A,B where…..group by……中表都不一样,一定不能在同一个组里;第2级根据查询条件是否相同进行第二级分组,例如Select a,b,cfrom A,B where…..group by……中的where条件是否相同进行分组;第3级根据分组条件的不同进行第三级分组,例如Select a,b,c from A,B where…..group by……中groupby条件的不同进行分组。

另外,运算器组件204内部内置并行计算调度引擎,可以根据实际的业务场景,选择开启并行计算调度引擎,以将多个SQL语句并行执行,加快系统的处理速度。

元数据组件202:核心组件,企业报表的取数装置200中的各个组件都会使用元数据组件202。元数据组件202用于定义业务领域的元数据,元数据包括函数元数据和参数元数据。其中,函数元数据主要定义企业报表中的函数格子,包含函数格子中的函数描述、函数定义、函数提示、函数的关键字,函数的分组条件等;参数元数据定义了函数查询条件的种类、类型、是否分组、数据库类型等描述。通过对元数据定义,企业报表的取数装置200中的各个组件可以动态灵活的进行公共功能的封装和扩展。

SQL执行器组件206:负责具体每一条SQL语句的执行。提供统一的SQL语句拼接机制,默认会根据元数据自动拼接SQL语句并执行。而且预留扩展机制方便业务领域对SQL语句进行动态扩展,同时整个SQL语句的拼接及执行都可以进行介入替换。

函数组件208:封装了函数格子运行时所需的入口查询条件以及执行SQL语句后的执行结果。

运算器组件204还用于,按照企业报表的格式,对多条SQL语句的执行结果进行显示。

图5示出了根据本发明的一个实施例的企业报表的取数方法的流程示意图。

如图5所示,根据本发明的一个实施例的企业报表的取数方法,包括:

步骤502,定义业务领域的元数据。

步骤504,根据所述元数据将所述企业报表中的所有函数格子分成多个组,其中,所述多个组中的每个组中的函数格子具有相同的查询逻辑。

步骤506,执行所述多个组的多条SQL语句,其中,所述多条SQL语句与所述多个组一一对应。

步骤508,按照所述企业报表的格式,对所述多条SQL语句的执行结果进行显示。

在该技术方案中,通过对企业报表中的所有函数格子进行分组,每一组对应一条SQL语句,执行多个组分别对应的SQL语句即可实现从企业报表中取数,避免了相关技术中的执行所有函数格子中的每个函数格子的SQL语句,从而大大减少了执行SQL语句的次数,这样不仅提高了企业报表的取数效率,还避免由于执行SQL语句的次数过多而导致处理性能下降。另外,本方案支持任意ERP系统的企业报表的框架接入,从而降低了企业报表的开发难度。

在上述技术方案中,优选地,并行执行所述多条SQL语句;或者串行执行所述多条SQL语句。

在该技术方案中,SQL执行器组件可以并行执行多条SQL语句,进一步地提高了企业报表的取数效率。当然,也可以串行执行多条SQL语句。或者根据用户实际的需求、硬件情况来确定并行还是串行执行多条SQL语句。

在上述任一技术方案中,优选地,还包括:接收修改指令,修改所述多个组中的任一组的SQL语句。

在该技术方案中,通过修改任一组的SQL语句,例如,将任一组的查询销售数据的SQL语句修改为查询销售数据和采购数据的SQL语句,即为用户预留扩展机制,从而方便对SQL语句进行动态扩展来满足用户的需求。

在上述任一技术方案中,优选地,还包括:存储和封装所述多条SQL语句的执行结果。

在该技术方案中,通过函数组件来存储和封装多条SQL语句的执行结果,以实现将执行结果显示在企业报表的界面上。

在上述任一技术方案中,优选地,所述元数据包括:函数元数据和参数元数据,其中,所述函数元数据包括以下之一或多种的组合:函数描述、函数定义、函数提示、函数关键字、函数分组条件,所述参数元数据包括以下之一或多种的组合:函数查询条件的种类、函数查询条件的类型、是否分组、数据库类型。

在该技术方案中,通过定义以上的元数据,以根据该元数据将具有相同的查询逻辑的函数格子分在同一组中,一个组对应一个SQL语句,从而大大减少了执行SQL语句的次数,有效地提高了从企业报表中取数的效率。

图6示出了根据本发明的另一个实施例的企业报表的取数方法的流程示意图。

如图6所示,根据本发明的另一个实施例的企业报表的取数方法,包括:

步骤602,通过门面接口组件连接至企业报表平台。

步骤604,初始化运算器组件。

步骤606,元数据组件定义业务领域的元数据。

步骤608,初始化SQL执行器组件。

步骤610,初始化函数组件组件。

步骤612,运算器组件根据元数据将企业报表中的所有函数格子分成多个组,其中,多个组中的每个组中的函数格子具有相同的查询逻辑。

步骤614,根据业务需要开启运算器组件中的并行计算调度引擎。

步骤616,通过并行计算调度引擎控制SQL执行器并行执行多个组的SQL语句。

步骤618,函数组件封装SQL语句的执行结果和查询条件。

步骤620,运算器组件按照企业报表的格式,显示函数组件封装的数据。

以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,可以提高企业报表的取数效率,以及降低企业报表的开发难度。

在本发明中,术语“第一”、“第二”仅用于描述的目的,而不能理解为指示或暗示相对重要性;术语“多个”表示两个或两个以上。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号