一种数据处理方法、系统及相关设备技术方案

技术编号:23431729 阅读:16 留言:0更新日期:2020-02-25 13:07
本申请实施例提供了一种数据处理方法、系统及相关设备,用于提高数据报表查询显示过程中的响应速率,提高用户体验。本申请实施例方法包括:接收数据查询请求,数据查询请求中包含统计字段;采用流式读取的方式从数据库中读取源数据中包含统计字段的源数据;在读取源数据期间,对读取到的每条数据进行第一层累计处理,第一层累计处理包括:查询第一缓存中已缓存的数据中是否存在与当前一条数据所有统计字段的字段值均相同的第一目标数据,若存在,则将当前一条数据的记录值叠加至第一目标数据对应的记录值,若不存在,则将当前一条数据缓存在第一缓存中;将第一缓存中的数据在数据报表中进行显示。

A data processing method, system and related equipment

【技术实现步骤摘要】
一种数据处理方法、系统及相关设备
本申请涉及数据处理
,尤其涉及一种数据处理方法、系统及相关设备。
技术介绍
在财务软件系统中,通常有一些统计报表,需要按维度逐级的分析统计数据,这时需要根据业务明细数据按指定维度进行统计分析。目前通常通过以下方式解决:数据库构造临时表,在数据库层进行统计分析,统计分析结果写入临时表,页面展示时分页从数据库抓数展示。财务软件往往需要统计的业务明细数据量较大,展示在页面的数据可能也会达到几十上百万条数据。现有情况下,需要在数据库中构造临时表,当数据库中的数据量较大时,在客户端进行显示时,响应迟缓,甚至会引起服务器宕机及页面展示崩溃,报表查询通常性能极差,用户体验不好。
技术实现思路
本申请实施例提供了一种数据处理方法、系统及相关设备,用于提高数据报表查询显示过程中的响应速率,提高用户体验。本申请实施例第一方面提供了一种数据处理方法,可包括:接收数据查询请求,所述数据查询请求中包含统计字段;采用流式读取的方式从数据库中读取包含所述统计字段的源数据;在读取所述源数据期间,对读取到的每条数据进行第一层累计处理,所述第一层累计处理包括:查询第一缓存中已缓存的数据中是否存在与当前一条数据所有统计字段的字段值均相同的第一目标数据,若存在,则将当前一条数据的记录值叠加至所述第一目标数据对应的记录值,若不存在,则将当前一条数据缓存在所述第一缓存中;将所述第一缓存中的数据在数据报表中进行显示。可选的,作为一种可能的实施方式,本申请实施例中,所述数据查询请求中包含至少两个统计字段形成的集合M,以及第一降维组合,所述第一降维组合中包含至少一个所述统计字段,若所述第一降维组合中的统计字段为集合N,则所述方法还可以包括:当所述第一缓存中的数据条数超过第一预设数量时,在读取所述源数据期间,进行第二层累计处理,所述第二层累计处理包括:查询第二缓存中已缓存的数据中是否存在与当前一条数据的第一降维组合所有统计字段的字段值均相同的第二目标数据,若存在,则将当前一条数据的记录值叠加至所述第二目标数据对应的记录值,若不存在,则将当前一条数据缓存在所述第二缓存中;对所述第一缓存中数据进行所述第二层累计处理;将所述第二缓存中的数据在数据报表中进行显示。可选的,作为一种可能的实施方式,本申请实施例中,所述数据查询请求中包含第二降维组合,所述第二降维组合中包含至少一个所述统计字段,且所述第二降维组合中的统计字段的集合所述方法还可以包括:当所述第二缓存中的数据条数超过第二预设数量时,在读取所述源数据期间,进行第三层累计处理,所述第三层累计处理包括:查询第三缓存中已缓存的数据中是否存在与当前一条数据的第二降维组合所有统计字段值相同的第三目标数据,若存在,则将当前一条数据的记录值叠加至所述第三目标数据对应的记录值,若不存在,则将当前一条数据缓存在所述第三缓存中;对所述第二缓存中数据进行所述第三层累计处理;将所述第一缓存、第二缓存、第三缓存中的数据在数据报表中分层进行显示。可选的,作为一种可能的实施方式,本申请实施例中,当所述数据查询请求中包含至少两个源数据时,根据所述数据查询请求生成至少两个并行执行程序对象,以实现对多个源数据的数据并行读取操作。可选的,作为一种可能的实施方式,本申请实施例中的数据处理方法还可以包括:对多个源数据进行最高层累计处理之后的数据进行叠加处理,所述叠加处理包括:查询最高层累计处理之后的数据是否存在与当前一条数据所有统计字段的字段值均相同的第四目标数据,若存在,则将当前一条数据的记录值叠加至所述第四目标数据对应的记录值,若不存在,则将当前一条数据缓存在所述第四缓存中;将所述第四缓存中的数据在数据报表中进行显示。本申请实施例第二方面提供了一种数据处理系统,可包括:接收单元,用于接收数据查询请求,所述数据查询请求中包含统计字段;读取单元,用于采用流式读取的方式从数据库中读取包含所述统计字段的源数据;第一处理单元,用于在读取所述源数据期间,对读取到的每条数据进行第一层累计处理,所述第一层累计处理包括:查询第一缓存中已缓存的数据中是否存在与当前一条数据所有统计字段的字段值均相同的第一目标数据,若存在,则将当前一条数据的记录值叠加至所述第一目标数据对应的记录值,若不存在,则将当前一条数据缓存在所述第一缓存中;第一显示单元,用于将所述第一缓存中的数据在数据报表中进行显示。可选的,本申请实施例中,所述数据查询请求中包含至少两个统计字段形成的集合M,以及第一降维组合,所述第一降维组合中包含至少一个所述统计字段,若所述第一降维组合中的统计字段为集合N,则作为一种可能的实施方式,本申请中的数据处理系统还可以包括:第二处理单元,当所述第一缓存中的数据条数超过第一预设数量时,在读取所述源数据期间,进行第二层累计处理,所述第二层累计处理包括:查询第二缓存中已缓存的数据中是否存在与当前一条数据的第一降维组合所有统计字段的字段值均相同的第二目标数据,若存在,则将当前一条数据的记录值叠加至所述第二目标数据对应的记录值,若不存在,则将当前一条数据缓存在所述第二缓存中,并对所述第一缓存中数据进行所述第二层累计处理;第二显示单元,用于将所述第二缓存中的数据在数据报表中进行显示。可选的,作为一种可能的实施方式,所述数据查询请求中包含第二降维组合,所述第二降维组合中包含至少一个所述统计字段,且所述第二降维组合中的统计字段的集合本申请中的数据处理系统还可以包括:第三处理单元,当所述第二缓存中的数据条数超过第二预设数量时,在读取所述源数据期间,进行第三层累计处理,所述第三层累计处理包括:查询第三缓存中已缓存的数据中是否存在与当前一条数据的第二降维组合所有统计字段值相同的第三目标数据,若存在,则将当前一条数据的记录值叠加至所述第三目标数据对应的记录值,若不存在,则将当前一条数据缓存在所述第三缓存中,并对所述第二缓存中数据进行所述第三层累计处理;第三显示单元,用于将所述第一缓存、第二缓存、第三缓存中的数据在数据报表中分层进行显示。本申请实施例第三方面提供了一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。从以上技术方案可以看出,本申请实施例具有以下优点:本申请实施例中,数据处理系统接收数据查询请求之后可以采用流式读取的方式从数据库中读取源数据,在读取源数据期间,对读取到的每条数据进行第一层累计处理,查询第一缓存中已缓存的数据中是否存在与当前一条数据所有统计字段的字段值均相同的第一目标数据,若存在,则将当前一条数据的记录值叠加至第一目标本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:/n接收数据查询请求,所述数据查询请求中包含统计字段;/n采用流式读取的方式从数据库中读取包含所述统计字段的源数据;/n在读取所述源数据期间,对读取到的每条数据进行第一层累计处理,所述第一层累计处理包括:查询第一缓存中已缓存的数据中是否存在与当前一条数据所有统计字段的字段值均相同的第一目标数据,若存在,则将所述当前一条数据的记录值叠加至所述第一目标数据对应的记录值,若不存在,则将所述当前一条数据缓存在所述第一缓存中;/n将所述第一缓存中的数据在数据报表中进行显示。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
接收数据查询请求,所述数据查询请求中包含统计字段;
采用流式读取的方式从数据库中读取包含所述统计字段的源数据;
在读取所述源数据期间,对读取到的每条数据进行第一层累计处理,所述第一层累计处理包括:查询第一缓存中已缓存的数据中是否存在与当前一条数据所有统计字段的字段值均相同的第一目标数据,若存在,则将所述当前一条数据的记录值叠加至所述第一目标数据对应的记录值,若不存在,则将所述当前一条数据缓存在所述第一缓存中;
将所述第一缓存中的数据在数据报表中进行显示。


2.根据权利要求1所述的方法,其特征在于,所述数据查询请求中包含至少两个统计字段形成的集合M,以及第一降维组合,所述第一降维组合中包含至少一个所述统计字段,若所述第一降维组合中的统计字段为集合N,则所述方法还包括:
当所述第一缓存中的数据条数超过第一预设数量时,在读取所述源数据期间,进行第二层累计处理,所述第二层累计处理包括:查询第二缓存中已缓存的数据中是否存在与当前一条数据的第一降维组合所有统计字段的字段值均相同的第二目标数据,若存在,则将当前一条数据的记录值叠加至所述第二目标数据对应的记录值,若不存在,则将当前一条数据缓存在所述第二缓存中;
对所述第一缓存中数据进行所述第二层累计处理;
将所述第二缓存中的数据在数据报表中进行显示。


3.根据权利要求2所述的方法,其特征在于,所述数据查询请求中还包含第二降维组合,所述第二降维组合中包含至少一个所述统计字段,且所述第二降维组合中的统计字段的集合所述方法还包括:
当所述第二缓存中的数据条数超过第二预设数量时,在读取所述源数据期间,进行第三层累计处理,所述第三层累计处理包括:查询第三缓存中已缓存的数据中是否存在与当前一条数据的第二降维组合所有统计字段值相同的第三目标数据,若存在,则将当前一条数据的记录值叠加至所述第三目标数据对应的记录值,若不存在,则将当前一条数据缓存在所述第三缓存中;
对所述第二缓存中数据进行所述第三层累计处理;
将所述第一缓存、第二缓存、第三缓存中的数据在数据报表中分层进行显示。


4.根据权利要求1至3中任一项所述的方法,其特征在于,当所述数据查询请求中包含至少两个源数据时,根据所述数据查询请求生成至少两个并行执行程序对象,以实现对多个源数据的数据并行读取操作。


5.根据权利要求4所述的方法,其特征在于,还包括:
对多个源数据进行最高层累计处理之后的数据进行叠加处理,所述叠加处理包括:查询最高层累计处理之后的数据是否存在与当前一条数据所有统计字段的字段值均相同的第四目标数据,若存在,则将当前一条数据的记录值叠加至所述第四目标数据对应的记录值,若不存在,则将当前一...

【专利技术属性】
技术研发人员:涂克东
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1