报表系统的数据处理方法、装置及计算机可读存储介质与流程

文档序号:16855645发布日期:2019-02-12 23:15阅读:148来源:国知局
报表系统的数据处理方法、装置及计算机可读存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种报表系统的数据处理方法、装置及计算机可读存储介质。



背景技术:

现有的报表系统可以将关系型数据库、非关系型的数据库或者通过restful接口提供的数据等类型的数据作为数据源,其中,restful接口是一种基于rest(representationalstatetransfer,表述性状态转移)架构风格的接口。但是,现有的报表系统的数据采集方式只能同时支持一个类型的数据源,如果报表系统要同时支持多种不同类型的数据源,需要针对关联的每一个类型的数据源采用与之对应的数据采集方式,而当前的报表系统多是采用单一的数据类型作为数据源,系统没有统一的数据适配器层和报表数据访问接口,报表组件需要通过不同的接口、并且采用不同的数据采集逻辑从各个类型的数据源中加载数据,这会导致报表访问接口的复杂程度高,进而导致报表系统从数据源获取数据的效率低下。



技术实现要素:

本发明提供一种报表系统的数据处理方法、装置及计算机可读存储介质,其主要目的在于解决现有的报表系统从数据源获取数据的效率低下的技术问题。

为实现上述目的,本发明还提供一种报表系统的数据处理方法,该方法包括:

当数据加载的时间间隔达到预设时间间隔时,确定对接的多个预设数据源、以及分别与各个所述预设数据源匹配的数据加载逻辑;

按照所述数据加载逻辑,从对应的预设数据源中读取更新的报表数据并加载至预设的缓存区域中;

将所述缓存区域中加载的报表数据转换为预设数据格式后存储为临时数据;

在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,根据所述数据查询请求确定所述报表客户端的待展示数据,并从所述临时数据中查找所述待展示数据;

将查找到的所述待展示数据发送至所述报表客户端展示。

可选地,所述方法还包括如下步骤:

当接收到数据加载逻辑的更新指令时,根据所述更新指令确定待更新的数据源以及该数据源的待更新的数据加载逻辑;

根据所述待更新的数据加载逻辑,对所述待更新的数据源对应的数据加载逻辑进行更新。

可选地,所述方法还包括如下步骤:

在将数据加载至所述缓存区域的过程中,对所述缓存区域的剩余空间进行实时监测,以判断所述缓存区域是否已经写满;

若所述缓存区域已经写满,则终止数据加载操作,并输出提示信息;

若所述缓存区域未写满,则继续执行数据加载操作。

可选地,所述在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,根据所述数据查询请求确定所述报表客户端的待展示数据,并从所述临时数据中查找所述待展示数据的步骤包括:

在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,从所述数据查询请求中获取数据查询语句;

根据所述数据查询语句确定查询参数和查询条件,根据所述查询参数、所述查询条件确定待查询的字段和报表单元格的范围;

根据所述待查询的字段和报表单元格的范围,从所述临时数据中查找对应的报表数据。

可选地,所述根据所述数据查询请求确定所述报表客户端的待展示数据,并从所述临时数据中查找所述待展示数据的步骤与所述将查找到的所述待展示数据发送至所述报表客户端展示的步骤之间,所述方法还包括如下步骤:

从所述数据查询请求中获取用户标识信息,并获取存储的权限配置文件;

根据所述权限配置文件确定与所述用户标识信息对应的访问权限信息;

根据所述访问权限信息,在内存中对从临时数据中查找到的报表数据进行筛选,过滤掉与所述访问权限信息不匹配的数据列,保留与所述访问权限信息匹配的数据列。

此外,为实现上述目的,本发明还提供一种报表系统的数据处理装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如下步骤:

当数据加载的时间间隔达到预设时间间隔时,确定对接的多个预设数据源、以及分别与各个所述预设数据源匹配的数据加载逻辑;

按照所述数据加载逻辑,从对应的预设数据源中读取更新的报表数据并加载至预设的缓存区域中;

将所述缓存区域中加载的报表数据转换为预设数据格式后存储为临时数据;

在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,根据所述数据查询请求确定所述报表客户端的待展示数据,并从所述临时数据中查找所述待展示数据;

将查找到的所述待展示数据发送至所述报表客户端展示。

可选地,所述数据处理程序还可被所述处理器执行,以实现如下步骤:

在将数据加载至所述缓存区域的过程中,对所述缓存区域的剩余空间进行实时监测,以判断所述缓存区域是否已经写满;

若所述缓存区域已经写满,则终止数据加载操作,并输出提示信息;

若所述缓存区域未写满,则继续执行数据加载操作。

可选地,所述在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,根据所述数据查询请求确定所述报表客户端的待展示数据,并从所述临时数据中查找所述待展示数据的步骤包括:

在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,从所述数据查询请求中获取数据查询语句;

根据所述数据查询语句确定查询参数和查询条件,根据所述查询参数、所述查询条件确定待查询的字段和报表单元格的范围;

根据所述待查询的字段和报表单元格的范围,从所述临时数据中查找对应的报表数据。

可选地,所述数据处理程序还可被所述处理器执行,以在所述根据所述数据查询请求确定所述报表客户端的待展示数据,并从所述临时数据中查找所述待展示数据的步骤与所述将查找到的所述待展示数据发送至所述报表客户端展示的步骤之间,还实现如下步骤:

从所述数据查询请求中获取用户标识信息,并获取存储的权限配置文件;

根据所述权限配置文件确定与所述用户标识信息对应的访问权限信息;

根据所述访问权限信息,在内存中对从临时数据中查找到的报表数据进行筛选,过滤掉与所述访问权限信息不匹配的数据列,保留与所述访问权限信息匹配的数据列。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序可被一个或者多个处理器执行,以实现如上所述的报表系统的数据处理方法的步骤。

本发明提出的报表系统的数据处理方法、装置及计算机可读存储介质,在数据加载的时间间隔达到预设时间间隔时,确定对接的多个预设数据源以及分别与各个预设数据源匹配的数据加载逻辑,按照数据加载逻辑从对应的预设数据源中读取更新的报表数据并加载至预设的缓存区域中,将缓存区域中加载的报表数据转换为预设数据格式后存储为临时数据,在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,根据数据查询请求确定报表客户端的待展示数据,并从临时数据中查找待展示数据,将查找到的待展示数据发送至报表客户端展示。本发明的上述方案将不同类型的数据源进行汇总,并转换为统一的格式后存储至缓存中,用户查询数据时,通过统一的报表数据查询接口发送数据查询请求即可实现数据的查询,提高报表系统从数据源获取数据的效率。

附图说明

图1为本发明一实施例提供的报表系统的数据处理方法的流程示意图;

图2为本发明一实施例提供的报表系统的数据处理装置的内部结构示意图;

图3为本发明一实施例提供的报表系统的数据处理装置中数据处理程序的模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种报表系统的数据处理方法。参照图1所示,为本发明一实施例提供的报表系统的数据处理方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。

在本实施例中,报表系统的数据处理方法包括:

步骤s10,当数据加载的时间间隔达到预设时间间隔时,确定对接的多个预设数据源、以及分别与各个所述预设数据源匹配的数据加载逻辑。

步骤s20,按照所述数据加载逻辑,从对应的预设数据源中读取更新的报表数据并加载至预设的缓存区域中。

本实施例提出的方法的执行主体可以是报表系统的服务器。数据源类型主要包括数据库数据源、文本数据源、程序数据源以及restful接口数据源等,其中,数据库数据源包括rds数据库(relationaldatabaseservice,关系型数据库服务),nosql数据库(notonlystructuredquerylanguage,泛指非关系型的数据库),文本数据源主要包括如excel文件、txt文件等存储在文件中的数据。针对不同类型的数据源,有与之对应的数据加载逻辑。例如,针对数据库数据源,需要jdbc(javadatabaseconnectivity,java数据库连接)连接才能从数据库获取数据,因此,就需要与之适配的数据加载逻辑。

由于报表系统在展示数据时,由于展示数据的丰富性等需求,需要报表系统同时对接多个不同类型的数据源,例如,与一个报表系统连接的数据源中,既有数据库数据源也有文本数据源。在报表系统的客户端展示数据时,作为展示对象的数据需要从数据源中获取。在服务器端,每间隔预设时间间隔,将对接的数据源将在这预设时间间隔内更新的数据以增量的方式更新到服务器中。

对于每一种类型的数据源,在服务器中都有与之相匹配的数据加载逻辑,该逻辑中主要包括与数据源建立连接的方式、访问的接口、从数据源中读取数据的方式等等。预设时间间隔可以是一小时、一天等,用户可以根据数据源中的数据更新的周期设置预设时间间隔。在加载数据的时间间隔达到预设时间间隔时,确定对接的多个预设数据源以及与分别与各个数据源匹配的数据加载逻辑,按照数据加载逻辑,从对应的预设数据源中读取数据源在预设时间间隔内更新的报表数据并加载至预设的缓存区域中。可以理解的是,在服务器首次启动时,将各个数据源中的数据全部读取到缓存区域中,在服务器的运行过程中,每间隔预设时间间隔,以增量更新的方式将数据源中更新的数据读取到缓存区域中。

步骤s30,将所述缓存区域中加载的报表数据转换为预设数据格式后存储为临时数据。

步骤s40,在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,根据所述数据查询请求确定所述报表客户端的待展示数据,并从所述临时数据中查找所述待展示数据。

步骤s50,将查找到的所述待展示数据发送至所述报表客户端展示。

在从数据源读取报表数据后,将读取的报表数据转换为预设数据格式后存储为临时数据,此处是将来自于不同数据源的不同格式的数据转换为统一的数据格式进行存储,以便于用户通过存储的这些临时数据为用户提供数据查询服务,也就是说,只需要开放一个统一的报表数据查询接口即可。用户通过该接口向服务器发送数据查询请求。

在接收到报表客户端发送通过报表数据查询接口发送的数据查询请求时,根据该请求确定要在客户端展示的数据,从上述临时数据中查找待展示的数据发送至报表客户端,以供报表客户端在前端报表组件中展示。

通过上述方案,实现了将不同类型数据源的数据进行汇总存储,报表客户端在查询数据时,服务器从这个缓存中获取统一数据格式的数据展示给用户,提高从数据源获取数据的效率。此外,就算是后面加了数据源类型,对于用户来说,只需要修改数据加载逻辑即可,不需要修改前端报表数据查询接口,这样报表展示这块的功能就不会因为受到增加数据源类型的影响而出错,提高了系统的友好性,同时提高了报表组件从数据源获取数据的速度。

具体地,在上述步骤s40可以包括如下细化步骤:

在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,从所述数据查询请求中获取数据查询语句;

根据所述数据查询语句确定查询参数和查询条件,根据所述查询参数、所述查询条件确定待查询的字段和报表单元格的范围;

根据所述待查询的字段和报表单元格的范围,从所述临时数据中查找对应的报表数据。

报表系统的客户端提供有数据查询设置界面,以供用户在上述界面上输入查询参数和查询条件,客户端根据上述查询参数、查询条件以及预先配置好的标准sql(structuredquerylanguage,结构化查询语言)语句生成查询语句,基于该查询语句生成数据查询请求,通过服务器开放的报表数据查询接口将该数据查询请求发送至服务器。服务器在接收到数据查询请求时,从数据查询请求中获取数据查询语句,对该数据查询语句进行解析,确定查询参数和查询条件,根据查询参数、查询条件确定待查询的字段和报表单元格的范围,进而根据待查询的字段和报表单元格的范围从临时数据中查找对应的报表数据。

进一步地,在其他实施例中,根据不同用户的权限信息不同,针对报表数据的数据列授予相应的访问权限。具体地,在步骤s40与步骤s50之间,该方法还包括如下步骤:从所述数据查询请求中获取用户标识信息,并获取存储的权限配置文件;根据所述权限配置文件确定与所述用户标识信息对应的访问权限信息,该访问权限信息中限定了用户有权限访问的数据列,该访问权限信息中限定了用户有权限访问的数据列,例如,xx用户有xx报表的xx列的访问权限;根据所述访问权限信息,在内存中对从临时数据中查找到的报表数据进行筛选,过滤掉与所述访问权限信息不匹配的数据列,保留与所述访问权限信息匹配的数据列。并将经过滤处理后的数据发送至用户终端,以供用户终端的前端报表组件显示报表数据。当用户登录系统后,打开报表查看页面时,只能看到与自己的权限匹配的数据列。

进一步地,在另外一些实施例中,当服务器对接的数据源有变更时,例如有数据源的删除、添加或者变更等,需要对这些发生变更的数据源的数据加载逻辑进行变更。具体地,数据处理程序还可被所述处理器执行,以实现如下步骤:当接收到数据加载逻辑的更新指令时,根据所述更新指令确定待更新的数据源以及该数据源的待更新的数据加载逻辑;根据所述待更新的数据加载逻辑,对所述待更新的数据源对应的数据加载逻辑进行更新。

进一步地,在另外一些实施例中,数据处理程序还可被所述处理器执行,以实现如下步骤:

在将数据加载至所述缓存区域的过程中,对所述缓存区域的剩余空间进行实时监测,以判断所述缓存区域是否已经写满;

若所述缓存区域已经写满,则终止数据加载操作,并输出提示信息;

若所述缓存区域未写满,则继续执行数据加载操作。

在从数据源中加载数据到缓存区域之前,确定待加载的数据量大小,根据数据量确定待加载的数据的占用空间并初始化数据缓存区域。并且,在将数据源中的数据加载到缓存区域的过程中,对当前的缓存区域的剩余空间进行实时监测,判断缓存区域是否已经写满,如果检测到缓存区域已经写满,则终止数据加载操作;如果缓存区域未写满,则继续将数据加载至缓存区域。

本实施例提出的报表系统的数据处理方法,在数据加载的时间间隔达到预设时间间隔时,确定对接的多个预设数据源以及分别与各个预设数据源匹配的数据加载逻辑,按照数据加载逻辑从对应的预设数据源中读取更新的报表数据并加载至预设的缓存区域中,将缓存区域中加载的报表数据转换为预设数据格式后存储为临时数据,在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,根据数据查询请求确定报表客户端的待展示数据,并从临时数据中查找待展示数据,将查找到的待展示数据发送至报表客户端展示。本发明的上述方案将不同类型的数据源进行汇总,并转换为统一的格式后存储至缓存中,用户查询数据时,通过统一的报表数据查询接口发送数据查询请求即可实现数据的查询,提高报表系统从数据源获取数据的效率。

本发明还提供一种报表系统的数据处理装置。参照图2所示,为本发明一实施例提供的报表系统的数据处理装置的内部结构示意图。

在本实施例中,报表系统的数据处理装置1可以是pc(personalcomputer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。该报表系统的数据处理装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是报表系统的数据处理装置1的内部存储单元,例如该报表系统的数据处理装置1的硬盘。存储器11在另一些实施例中也可以是报表系统的数据处理装置1的外部存储设备,例如报表系统的数据处理装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括报表系统的数据处理装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于报表系统的数据处理装置1的应用软件及各类数据,例如数据处理程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他报表系统的数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行数据处理程序01等。

通信总线13用于实现这些组件之间的连接通信。

网络接口14可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该装置1与其他电子设备之间建立通信连接。

可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在报表系统的数据处理装置1中处理的信息以及用于显示可视化的用户界面。

图2仅示出了具有组件11-14以及数据处理程序01的报表系统的数据处理装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对报表系统的数据处理装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

可选地,该装置1还可以包括触摸传感器。所述触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里所述的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,所述触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,所述触摸传感器可以为单个传感器,也可以为阵列布置的多个传感器。该装置1的显示器的面积可以与所述触摸传感器的面积相同,也可以不同。可选地,将显示器与所述触摸传感器层叠设置,以形成触摸显示屏。该装置1基于触摸显示屏侦测用户触发的触控操作。

可选地,该装置1还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,若该装置1为移动终端,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

在图2所示的装置1实施例中,存储器11中存储有数据处理程序01;处理器12执行存储器11中存储的数据处理程序01时实现如下步骤:

当数据加载的时间间隔达到预设时间间隔时,确定对接的多个预设数据源、以及分别与各个所述预设数据源匹配的数据加载逻辑。

按照所述数据加载逻辑,从对应的预设数据源中读取更新的报表数据并加载至预设的缓存区域中。

将所述缓存区域中加载的报表数据转换为预设数据格式后存储为临时数据。

在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,根据所述数据查询请求确定所述报表客户端的待展示数据,并从所述临时数据中查找所述待展示数据。

将查找到的所述待展示数据发送至所述报表客户端展示。

本实施例提出数据处理装置可以是报表系统的服务器。数据源类型主要包括数据库数据源、文本数据源、程序数据源以及restful接口数据源等,其中,数据库数据源包括rds数据库,nosql数据库,文本数据源主要包括如excel文件、txt文件等存储在文件中的数据。针对不同类型的数据源,有与之对应的数据加载逻辑。例如,针对数据库数据源,需要jdbc连接才能从数据库获取数据,因此,就需要与之适配的数据加载逻辑。

由于报表系统在展示数据时,由于展示数据的丰富性等需求,需要报表系统同时对接多个不同类型的数据源,例如,与一个报表系统连接的数据源中,既有数据库数据源也有文本数据源。在报表系统的客户端展示数据时,作为展示对象的数据需要从数据源中获取。在服务器端,每间隔预设时间间隔,将对接的数据源将在这预设时间间隔内更新的数据以增量的形式更新到服务器中。

对于每一种类型的数据源,在服务器中都有与之相匹配的数据加载逻辑,该逻辑中主要包括与数据源建立连接的方式、访问的接口、从数据源中读取数据的方式等等。预设时间间隔可以是一小时、一天等,用户可以根据数据源中的数据更新的周期设置预设时间间隔。在加载数据的时间间隔达到预设时间间隔时,确定对接的多个预设数据源以及与分别与各个数据源匹配的数据加载逻辑,按照数据加载逻辑,从对应的预设数据源中读取数据源在预设时间间隔内更新的报表数据并加载至预设的缓存区域中。

在从数据源读取报表数据后,将读取的报表数据转换为预设数据格式后存储为临时数据,此处是将来自于不同数据源的不同格式的数据转换为统一的数据格式进行存储,以便于用户通过存储的这些临时数据为用户提供数据查询服务,也就是说,只需要开放一个统一的报表数据查询接口即可。用户通过该接口向服务器发送数据查询请求。

在接收到报表客户端发送通过报表数据查询接口发送的数据查询请求时,根据该请求确定要在客户端展示的数据,从上述临时数据中查找待展示的数据发送至报表客户端,以供报表客户端在前端报表组件中展示。

通过上述方案,实现了将不同类型数据源的数据进行汇总存储,报表客户端在查询数据时,服务器从这个缓存中获取统一数据格式的数据展示给用户,提高从数据源获取数据的效率。此外,就算是后面加了数据源类型,对于用户来说,只需要修改数据加载逻辑即可,不需要修改前端报表数据查询接口,这样报表展示这块的功能就不会因为受到增加数据源类型的影响而出错,提高了系统的友好性,同时提高了报表组件从数据源获取数据的速度。

具体地,在上述在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,根据所述数据查询请求确定所述报表客户端的待展示数据,并从所述临时数据中查找所述待展示数据的步骤可以包括如下细化步骤:

在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,从所述数据查询请求中获取数据查询语句;

根据所述数据查询语句确定查询参数和查询条件,根据所述查询参数、所述查询条件确定待查询的字段和报表单元格的范围;

根据所述待查询的字段和报表单元格的范围,从所述临时数据中查找对应的报表数据。

报表系统的客户端提供有数据查询设置界面,以供用户在上述界面上输入查询参数和查询条件,客户端根据上述查询参数、查询条件以及预先配置好的标准sql语句生成查询语句,基于该查询语句生成数据查询请求,通过服务器开放的报表数据查询接口将该数据查询请求发送至服务器。服务器在接收到数据查询请求时,从数据查询请求中获取数据查询语句,对该数据查询语句进行解析,确定查询参数和查询条件,根据查询参数、查询条件确定待查询的字段和报表单元格的范围,进而根据待查询的字段和报表单元格的范围从临时数据中查找对应的报表数据。

进一步地,在其他实施例中,根据不同用户的权限信息不同,针对报表数据的数据列授予相应的访问权限。具体地,数据处理程序还可被处理器执行,以在根据数据查询请求确定报表客户端的待展示数据,并从临时数据中查找待展示数据的步骤与将查找到的待展示数据发送至报表客户端展示的步骤之间,还实现如下步骤:从所述数据查询请求中获取用户标识信息,并获取存储的权限配置文件;根据所述权限配置文件确定与所述用户标识信息对应的访问权限信息,该访问权限信息中限定了用户有权限访问的数据列,例如,xx用户有xx报表的xx列的访问权限;根据所述访问权限信息,在内存中对从临时数据中查找到的报表数据进行筛选,过滤掉与所述访问权限信息不匹配的数据列,保留与所述访问权限信息匹配的数据列。并将经过滤处理后的数据发送至用户终端,以供用户终端的前端报表组件显示报表数据。当用户登录系统后,打开报表查看页面时,只能看到与自己的权限匹配的数据列。

进一步地,在另外一些实施例中,当服务器对接的数据源有变更时,例如有数据源的删除、添加或者变更等,需要对这些发生变更的数据源的数据加载逻辑进行变更。具体地,数据处理程序还可被所述处理器执行,以实现如下步骤:当接收到数据加载逻辑的更新指令时,根据所述更新指令确定待更新的数据源以及该数据源的待更新的数据加载逻辑;根据所述待更新的数据加载逻辑,对所述待更新的数据源对应的数据加载逻辑进行更新。

进一步地,在另外一些实施例中,数据处理程序还可被所述处理器执行,以实现如下步骤:

在将数据加载至所述缓存区域的过程中,对所述缓存区域的剩余空间进行实时监测,以判断所述缓存区域是否已经写满;

若所述缓存区域已经写满,则终止数据加载操作,并输出提示信息;

若所述缓存区域未写满,则继续执行数据加载操作。

在从数据源中加载数据到缓存区域之前,确定待加载的数据量大小,根据数据量确定待加载的数据的占用空间并初始化数据缓存区域。并且,在将数据源中的数据加载到缓存区域的过程中,对当前的缓存区域的剩余空间进行实时监测,判断缓存区域是否已经写满,如果检测到缓存区域已经写满,则终止数据加载操作;如果缓存区域未写满,则继续将数据加载至缓存区域。

本实施例提出的报表系统的数据处理装置,在数据加载的时间间隔达到预设时间间隔时,确定对接的多个预设数据源以及分别与各个预设数据源匹配的数据加载逻辑,按照数据加载逻辑从对应的预设数据源中读取更新的报表数据并加载至预设的缓存区域中,将缓存区域中加载的报表数据转换为预设数据格式后存储为临时数据,在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,根据数据查询请求确定报表客户端的待展示数据,并从临时数据中查找待展示数据,将查找到的待展示数据发送至报表客户端展示。本发明的上述方案将不同类型的数据源进行汇总,并转换为统一的格式后存储至缓存中,用户查询数据时,通过统一的报表数据查询接口发送数据查询请求即可实现数据的查询,提高报表系统从数据源获取数据的效率。

可选地,在其他的实施例中,数据处理程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述数据处理程序在报表系统的数据处理装置中的执行过程。

例如,参照图3所示,为本发明报表系统的数据处理装置一实施例中的数据处理程序的程序模块示意图,该实施例中,数据处理程序可以被分割为数据确定模块10、数据加载模块20、数据转换模块30、数据查找模块40和数据发送模块50,示例性地:

数据确定模块10用于:当数据加载的时间间隔达到预设时间间隔时,确定对接的多个预设数据源、以及分别与各个所述预设数据源匹配的数据加载逻辑;

数据加载模块20用于:按照所述数据加载逻辑,从对应的预设数据源中读取更新的报表数据并加载至预设的缓存区域中;

数据转换模块30用于:将所述缓存区域中加载的报表数据转换为预设数据格式后存储为临时数据;

数据查找模块40用于:在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,根据所述数据查询请求确定所述报表客户端的待展示数据,并从所述临时数据中查找所述待展示数据;

数据发送模块50用于:将查找到的所述待展示数据发送至所述报表客户端展示。

上述数据确定模块10、数据加载模块20、数据转换模块30、数据查找模块40和数据发送模块50等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序可被一个或多个处理器执行,以实现如下操作:

当数据加载的时间间隔达到预设时间间隔时,确定对接的多个预设数据源、以及分别与各个所述预设数据源匹配的数据加载逻辑;

按照所述数据加载逻辑,从对应的预设数据源中读取更新的报表数据并加载至预设的缓存区域中;

将所述缓存区域中加载的报表数据转换为预设数据格式后存储为临时数据;

在接收到报表客户端通过报表数据查询接口发送的数据查询请求时,根据所述数据查询请求确定所述报表客户端的待展示数据,并从所述临时数据中查找所述待展示数据;

将查找到的所述待展示数据发送至所述报表客户端展示。本发明计算机可读存储介质具体实施方式与上述报表系统的数据处理装置和方法各实施例基本相同,在此不作累述。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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