CN108073661A - 数据检索方法及装置、报表生成系统及方法 - Google Patents

数据检索方法及装置、报表生成系统及方法 Download PDF

Info

Publication number
CN108073661A
CN108073661A CN201611035411.XA CN201611035411A CN108073661A CN 108073661 A CN108073661 A CN 108073661A CN 201611035411 A CN201611035411 A CN 201611035411A CN 108073661 A CN108073661 A CN 108073661A
Authority
CN
China
Prior art keywords
data
retrieval
query
query result
inquiry
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.)
Pending
Application number
CN201611035411.XA
Other languages
English (en)
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201611035411.XA priority Critical patent/CN108073661A/zh
Publication of CN108073661A publication Critical patent/CN108073661A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2425Iterative querying; Query formulation based on the results of a preceding query

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种数据检索方法、数据检索装置、报表生成系统及其生成方法。该数据检索方法包括:依据第n次检索请求生成第n次查询参数(页码=Xn,分页大小=Yn,IDn=maxIDn‑1+1)并发送至一检索服务器;其中,maxIDn‑1为第n‑1次查询结果中查询数据的最大ID;以及,接收所述检索服务器根据所述第n次查询参数返回的包括Yn页大小查询数据的查询结果。本公开能够有效的减小检索数据量,降低内存压力。

Description

数据检索方法及装置、报表生成系统及方法
技术领域
本公开涉及数据处理技术,尤其涉及一种数据检索装置、数据检索方法、应用该数据检索方法的报表生成方法以及应用该数据检索装置的报表生成系统。
背景技术
随着网络的蓬勃发展,应用系统的数据量在不断增长,而系统用户对于数据的抽取、导出也更为关心。目前,应用系统的报表功能非常普遍,也成为很多应用系统的必备功能。由于报表数据的数据量普遍较大,为提升查询性能,会将数据库中查询关联多张报表的数据同步到搜索引擎或其他集群存储的系统当中,使得数据存储和查询方式具有多样性的特点。
参见图1,现有应用系统所提供的报表导出功能,普遍为用户提供一报表查询页面,用户可以在查询页面选择或输入多个查询条件,应用系统根据用户的查询条件到检索服务系统中检索出符合条件的数据结果,最后,生成报表文件给用户下载。
在检索服务系统检索数据时,检索服务一般是由多个检索服务实例组成的集群,为了能更多的存储数据,数据会被分布在这个集群中的某一个检索服务实例中。当用户查询的数据量非常大时,会造成检索服务实例的数据总会同时合并到一个检索服务实例上,且都是在内存中,如果同时查询的用户较多时,会造成实例内存都被占用。即前一些查询结果数据返回给查询系统后,还没有被内存垃圾回收,之后的查询结果数据就又占用内存,使内存都被使用,造成服务宕机,或严重排队等待。
当检索服务采用分页查询时,将对每一个检索服务实例按照分页大小进行数据检索,然后将检索到的数据返回至第一检索服务实例中进行合并。若查询过程中没有设置分页,即全部查询,将会出现各检索服务实例的数据都合并到一个检索服务实例中;或者是分页查询,查询到最后一页时,也会出现全部查询的情况,造成检索服务实例内存压力极大;从而减慢检索速度,影响检索服务的稳定性。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种数据检索装置、数据检索方法,以及应用该数据检索装置的报表生成系统和应用该数据检索方法的报表生成方法,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本发明的第一方面,提供一种数据检索方法,包括:
依据第n次检索请求生成第n次查询参数(页码=Xn,分页大小=Yn,IDn=maxIDn-1+1)并发送至一检索服务器;其中,maxIDn-1为第n-1次查询结果中查询数据的最大ID;以及,
接收所述检索服务器根据所述第n次查询参数返回的包括Yn页大小查询数据的查询结果。
在本公开的一种示例性实施例中,所述检索服务器根据所述第n次查询参数返回包括Yn页大小查询数据的查询结果包括:
所述检索服务器依据所述第n次查询参数生成与所述第n次查询参数相匹配的第一数据列表;
将所述第一数据列表中的查询数据按ID升序排列并从所述第一数据列表开头截取数量为所述分页大小数量的第二数据列表作为第n次查询结果。
在本公开的一种示例性实施例中,所述数据检索方法还包括:
检测所述第n次查询结果是否存在查询数据;
在检测所述第n次查询结果存在所述的查询数据时,将所述第n次查询结果加入已完成数据队列。
在本公开的一种示例性实施例中,所述数据检索方法还包括:
在检测所述第n次查询结果不存在所述的查询数据时,将所述已完成数据列表内的数据结果整合生成数据文件。
在本公开的一种示例性实施例中,所述数据检索方法还包括:
将所述第二数据列表进行预处理后加入已完成数据队列;所述预处理第二数据列表包括字段适配以及字段转换中的一种或多种。
在本公开的一种示例性实施例中,所述数据检索方法还包括:
接收用户的初始检索请求,并将所述初始检索请求分解为N个与所述初始检索请求相对应的检索请求。
根据本公开的第二方面,提供一种报表生成方法,包括:
根据所述的数据检索方法获取所述查询结果的数据文件;
根据获取的所述查询结果的数据文件生成数据报表。
根据本公开的第三方面,提供一种数据检索装置,包括:
参数生成模块,用于依据第n次检索请求生成第n次查询参数(页码=Xn,分页大小=Yn,IDn=maxIDn-1+1)并发送至一检索服务器;其中,maxIDn-1为第n-1次查询结果中查询数据的最大ID;以及
初始数据接收模块,用于接收所述检索服务器根据所述第n次查询参数返回的包括Yn页大小查询数据的查询结果。
在本公开的一种示例性实施例中,所述数据检索装置还包括:
第一数据生成模块,用于所述检索服务器依据所述第n次查询参数生成与所述第n次查询参数相匹配的第一数据列表;
第二数据生成模块,用于将所述第一数据列表中的查询数据按ID升序排列并从第一数据列表开头截取数量为所述分页大小数量的第二数据列表作为第n次查询结果。
在本公开的一种示例性实施例中,所述数据检索装置还包括:
结果判定模块;用于检测所述第n次查询结果是否存在查询数据;
第一数据整合模块,用于在检测所述第n次查询结果存在所述的查询数据时,将所述第n次查询结果加入已完成数据队列中。
在本公开的一种示例性实施例中,所述数据检索装置还包括:
第二数据整合模块,用于在检测所述第n次查询结果不存在所述的查询数据时,将所述已完成数据列表内的数据结果整合生成数据文件。
在本公开的一种示例性实施例中,所述数据检索装置还包括:
数据预处理模块,用于将所述第二数据列表进行预处理后加入已完成数据队列;所述预处理第二数据列表包括字段适配以及字段转换中的一种或多种。
在本公开的一种示例性实施例中,所述数据检索装置还包括:
请求接收模块,用于接收用户的初始检索请求;
检索请求生成模块,用于将所述初始检索请求分解为N个与所述初始检索请求相对应的检索请求。
根据本公开的第四方面,提供一种种报表生成系统,包括:
根据所述数据检索装置,用于依据所述检索请求生成所述查询结果的数据文件;以及
报表生成模块,用于将所述查询结果的数据文件生成数据报表。
本公开的实施例提供的技术方案可以包括以下有益效果:本公开的一种实施例的技术方案中,通过在检索过程中将第n-1次查询结果中查询数据的最大IDn-1作为第n次查询的IDn,既将上一次的查询结果作为本次查询的查询参数,使得第n次查询的结果是IDn-1的第一页数据,使检索服务器根据第n次查询参数返回与第n次查询参数相匹配的查询结果,实现循环查询,从而极大的减少检索数据量。同时,本公开通过实现循环查询有效的减少检索服务对内存的占用,减小内存压力,进而保证检索服务的稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出现有技术中报表导出流程示意图;
图2示意性示出本公开示例性实施例中数据查询实例图;
图3示意性示出本公开示例性实施例中一种数据检索方法的流程图;
图4示意性示出本公开示例性实施例中一种数据检索装置的模拟框图。
图5示意性示出本公开示例性实施例中一种报表生成装置的结构化处理装置示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
参见图1所示,在一种技术方案中,检索服务系统检索数据时可以采用由4个检索服务实例组成的集群;为了能更多的存储数据,数据会被分布在这个集群中4个检索服务实例中的某一个上。所以,当查询请求发送到检索服务实例1上时,检索服务实例1会去检索服务实例2、3、4中去检索数据,再加上本身检索服务实例1的数据,4份数据要进行合并,再返回给查询请求的系统。但是,当用户查询的数据量非常大时,会造成4份数据总会同时合并到一个检索服务实例上,且都是在内存中,如果同时查询的用户较多时,会造成实例内存都被占用。即前一些查询结果数据返回给查询系统后,还没有被内存垃圾回收,之后的查询结果数据就又占用内存,使内存都被使用,造成服务宕机,或严重排队等待。
检索服务还会存在一种现象,就是如果分页查询,每一次查询的分页数据,比如每页分页大小为10条数据,查询第5页的数据。参考图1所示数据情况,检索服务实例1、2、3、4都会从本实例中查询10*5=50条记录,之后返回给检索服务实例1,此时检索服务实例1中合并之后的数据条数为50*4=200条记录,如果传入的页码较小还可以,如果传入的页码为最后一页,则会出现和上面描述一样的问题,所有数据会被加载到一个检索服务实例当中。
举例而言,参考图2中所示数据情况,如用户第一次请求查询,请求查询的参数为(分页大小=2,当前页号=1),即用户想要查询第一页的数据,且分页数据大小为2。则各个检索实例查询出的数据为:(检索服务实例1,[4,8])、(检索服务实例2,[1,5])、(检索服务实例3,[2,6])、(检索服务实例4,[3,7]),此时检索服务实例1将数据合并排序,结果为[1,2,3,4,5,6,7,8],从中截取第一页的数据,即[1,2]。当用户第二次请求查询,请求查询的参数为(分页大小=2,当前页号=2,即用户想要查询第二页的数据,且分页数据大小为2。则各个检索实例查询出的数据为:(检索服务实例1,[4,8,12,16])、(检索服务实例2,[1,5,9,13])、(检索服务实例3,[2,6,10,14])、(检索服务实例4,[3,7,11,15]),此时检索服务实例1将数据合并排序,结果为[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],从中截取第二页的数据,即[3,4],从中可以看到此次查询的数据是把前面分页的数据要一并查出来。这样会增加检索服务实例内存压力。
若查询过程中没有设置分页,即全部查询,将4个检索服务实例的数据都查询到一个检索服务实例中;或者是分页查询,查询到最后一页时,也会出现全部查询的情况,造成检索实例内存压力极大。
在本示例实施方式中首先提供了一种数据检索方法,该数据检索方法能够有效的解决上述现有技术中存在的缺陷和不足。参考图3中所示,该数据检索方法可以包括以下步骤:
S1,依据第n次检索请求生成第n次查询参数(页码=Xn,分页大小=Yn,IDn=maxIDn-1+1)并发送至一检索服务器;其中,maxIDn-1为第n-1次查询结果中查询数据的最大ID。
S2,接收所述检索服务器根据所述第n次查询参数返回的包括Yn页大小查询数据的查询结果。
本示例实施方式所提供的数据检索方法,令检索服务器根据第n次查询参数返回与第n次查询参数相匹配的查询结果,使得第n次查询的结果是大于第n-1次查询结果中最大ID的第一页数据,实现循环查询,从而极大的减少检索数据量。同时,本公开通过实现循环查询有效的减少检索服务对内存的占用,减小内存压力,进而保证检索服务的稳定性。
下面,参考图2~图4,将对本示例实施方式中的数据检索方法的各个步骤进行更详细的说明。
在步骤S1中,依据第n次检索请求生成第n次查询参数(页码=Xn,分页大小=Yn,IDn=maxIDn-1+1)并发送至一检索服务器;其中,maxIDn-1为第n-1次查询结果中查询数据的最大ID。
在本示例实施例中,客户端首先根据第n次的检索请求生成相应的查询参数,查询参数中可以设置本次查询中的查询页码Xn,以及分页大小Yn。同时,第n次查询将以第n-1次查询结果中查询数据的最大ID作为本次查询的查询参数进行查询。当n=1时,即进行第一次查询时,可以使ID1=1。
举例而言,当客户端的第一次检索请求时,可以生成第一次查询参数为(页码=X1,分页大小=Y1,ID1=1),并将该第一次查询参数发送至一检索服务器,在所述的检索服务器进行第一次检索操作。当客户端根据第二次检索请求生成第二次查询参数时,第二次查询参数可以为(页码=X2,分页大小=Y2,ID2=maxID1+1),其中,maxID1为第一次查询结果中查询数据的最大ID。由此可知,当第n次检索请求生成的第n次查询参数为(页码=Xn,分页大小=Yn,IDn=maxIDn-1+1),其中,maxIDn-1为第n-1次查询结果中查询数据的最大ID。
在本示例实施方式总,上述的数据检索方法还可以包括:
接收用户的初始检索请求,并将所述初始检索请求分解为N个与所述初始检索请求相对应的检索请求。
举例而言,用户可以向客户端输入一初始检索请求,该初始检索请求可以包括一个或多个检索条件。客户端根据用户输入的初始检索请求生成N个对应的检索请求,用于将这N个检索请求发送至检索服务器进行数据查询。通过将用户的一个初始检索请求转换为多个检索请求,可以将用户的一次全量查询转化为多次循环查询,从而有效减少检索的数据量,降低检索过程中的内存压力。
在步骤S2中,接收所述检索服务器根据所述第n次查询参数返回的包括Yn页大小查询数据的查询结果。
本示例实施方式中,首先,检索服务器接收客户端发送的第n次查询参数;然后,检索服务器将第n次的查询数据分别发送至检索服务器内的各检索服务实例中进行第n次数据查询,然后将各检索服务实例根据第n次的查询数据输出的检索结果整合生成一Yn页大小查询数据作为查询结果;最后,将上述的查询结果作为第n次查询结果的数据列表返回至客户端。
在本示例实施方式中,上述的检索服务器根据所述第n次查询参数返回包括Yn页大小查询数据的查询结果可以包括以下步骤:
步骤S21,所述检索服务器依据所述第n次查询参数生成与所述第n次查询参数相匹配的第一数据列表。
步骤S22,将所述第一数据列表中的查询数据按ID升序排列并从所述第一数据列表开头截取数量为所述分页大小数量的第二数据列表作为第n次查询结果。
例如,参考图2中所示数据情况,检索服务器包含4个检索服务实例,检索服务器接收第n次查询参数后,将所述第n次查询参数分别发送至4个检索服务实例中,在各检索服务实例中检索与第n次查询参数相匹配的查询数据,然后将在各检索服务实例检索到的查询数据合并生成第一数据列表。
检索服务器将第一数据列表中的查询数据按ID升序排列,然后将第一数据列表从开头截取第n次查询参数中设置的分页大小Yn的第二数据列表,将此第二数据列表作为第n次查询的数据结果,并将该数据结果发送至客户端。
举例而言,参考图2中所示数据情况,检索服务实例1中包含数据[4、8、12、16、20],检索服务实例2中包含数据[1、5、9、13、17],检索服务实例3中包含数据[2、6、10、14、18],检索服务实例4中包含数据[3、7、11、15、19]。令n=1,即进行第一次查询数据时,假设其查询参数为(分页大小=2,当前页号=1),即用户想要查询第一页的数据,且分页数据大小为2。则各个检索实例查询出的数据为:(检索服务实例1,[4、8]),(检索服务实例2,[1、5]),(检索服务实例3,[2、6]),(检索服务实例4,[3、7])。此时检索服务实例1将上述的数据合并按升序排列,结果为[1、2、3、4、5、6、7、8],从中截取第一页的数据,即[1、2],将该结果返回给客户端。之后,令n=2,即第二次检索请求,令第二次检索查询的查询参数为(分页大小=2,当前页号=1,ID2=(2+1)),即第二次查询的是第一页的数据,且分页数据大小为2,且由于第一次查询结果的最大ID1=2,则第二次查询的ID2为ID1+1=3;则各个检索实例查询出的数据为:(检索服务实例1,[4、8]),(检索服务实例2,[5、9]),(检索服务实例3,[6、10]),(检索服务实例4,[3、7])。此时检索服务实例1将数据合并按升序排列,结果为[3、4、5、6、7、8、9、10],从中截取第一页的数据,即[3、4]。
通过在进行第二次查询时,把上一次查询结果的最大ID设置为查询参数,这样,第二次查询的结果是大于这个ID的第一页数据,从而在循环查询的过程中可以极大的减少数据量,减轻检索服务器的内存压力。
同时,在每一次检索过程中都只会检索一定数量的数据,例如上述实施例中数据情况,每次数据查询的结果最多8条数据,不会出现全部数据都被查询出来的情况,有效避免数据被全部占用的情况发生。
在本公开的其他示例性实施例中,查询参数同样可以为其他的数值,其检索方法同样属于本公开的保护范围。
在本示例实施方式中,上述的数据检索方法还可以包括以下步骤:
检测所述第n次查询结果是否存在查询数据。
在检测所述第n次查询结果存在所述的查询数据时,将所述第n次查询结果加入已完成数据队列。
客户端接收检索服务器返回的第n次查询的数据结果,然后判断该数据结果中是否包含与第n次查询参数相匹配的查询数据。当本次查询的数据结果中存在查询数据时,客户端将本次查询结果加入到已完成数据队列中。同时,利用异步线程可以进行第n+1次的查询操作。
在本示例实施方式中,上述的数据检索方法还可以包括以下步骤:
将所述第二数据列表进行预处理后加入已完成数据队列;所述预处理第二数据列表包括字段适配以及字段转换中的一种或多种。
在本示例实施方式中,上述的数据检索方法还可以包括以下步骤:
在检测所述第n次查询结果不存在所述的查询数据时,将所述已完成数据列表内的数据结果整合生成数据文件。
当检测第n次查询结果中不存在查询数据时,则当前的所有查询操作已完成,客户端将已完成数据列表内的所有数据结果整合生成数据文件,供用户下载使用。
在上述的实施例中,通过将检测存在查询数据的查询结果加入已完成队列,并在检测查询结果中不存在查询数据时结束查询操作,并将已完成的数据列表整合生成数据文件,实现多线程异步处理每一次的查询结果,最终合并集合数据生成数据文件,有效的提高检索效率,保证检索服务的稳定性。
进一步的,参考图4所示,本示例的实施方式中还提供了一种数据检索装置,包括参数生成模块101,以及初始数据接收模块102。其中:
参数生成模块可以用于依据第n次检索请求生成第n次查询参数(页码=Xn,分页大小=Yn,IDn=maxIDn-1+1)并发送至一检索服务器;其中,maxIDn-1为第n-1次查询结果中查询数据的最大ID。
初始数据接收模块可以用于接收所述检索服务器根据所述第n次查询参数返回的包括Yn页大小查询数据的查询结果。
在本示例实施方式中,上述的数据检索装置还包括:第一数据生成模块、第二数据生成模块。其中:
第一数据生成模块可以用于所述检索服务器依据所述第n次查询参数生成与所述第n次查询参数相匹配的第一数据列表。
第二数据生成模块可以用于将所述第一数据列表中的查询数据按ID升序排列并从第一数据列表开头截取数量为所述分页大小数量的第二数据列表作为第n次查询结果。
在本示例实施方式中,上述的数据检索装置还可以包括:结果判定模块、第一数据整合模块。其中:
结果判定模块可以用于检测所述第n次查询结果是否存在查询数据。
第一数据整合模块可以用于在检测所述第n次查询结果存在所述的查询数据时,将所述第n次查询结果加入已完成数据队列中。
在本示例实施方式中,上述的数据检索装置还包括:第二数据整合模块。
第二数据整合模块可以用于在检测所述第n次查询结果不存在所述的查询数据时,将所述已完成数据列表内的数据结果整合生成数据文件。
在本示例实施方式中,上述的数据检索装置还可以包括:数据预处理模块。
数据预处理模块可以用于将所述第二数据列表进行预处理后加入已完成数据队列。所述预处理第二数据列表包括字段适配以及字段转换中的一种或多种。
在本示例实施方式中,上述的数据检索装置还包括:请求接收模块,以及检索请求生成模块。其中:
请求接收模块可以用于接收用户的初始检索请求;
检索请求生成模块可以用于将所述初始检索请求分解为N个与所述初始检索请求相对应的检索请求。
上述中各数据检索装置中模块的具体细节已经在对应的数据检索方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
进一步的,本示例实施方式中还提供了一种报表生成方法,该报表生成方法至少包括上述示例性实施例中的数据检索方法,还包括:根据上述的数据检索方法获取所述查询结果的数据文件;根据获取的所述查询结果的数据文件生成数据报表。由于所采用的数据检索方法可以实现循环查询,能够有效的减少检索数量,从而大幅度的减少大数据量的报表导出功能对检索服务的内存压力,提高报表生成服务的稳定性。
进一步的,本示例实施方式中还提供了一种报表生成装置,该报表生成装置至少包括上述示例性实施例中的数据检索装置,以及报表生成模块。其中:
报表生成模块用于将上述的数据检索装置生成的查询结果的数据文件生成数据报表。
通过利用数据检索装置得到查询结果,再利用报表生成模块将查询结果的数据文件转换成报表文件供用户下载和查阅,能够有效的减少大数据量的报表导出功能对内存的压力。
图5示出根据本公开示例实施方式中一种报表生成装置的结构化处理装置500的示意图。例如,装置500可以被提供为一服务器。参照图5,装置500包括处理组件522,其进一步包括一个或多个处理器,以及由存储器532所代表的存储器资源,用于存储可由处理组件522的执行的指令,例如应用程序。存储器532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件522用于执行指令,以执行上述方法。
装置500还可以包括一个电源组件526用于为执行装置500的电源管理,一个有线或无线网络接口550用于将装置500连接到网络,和一个输入输出(I/O)接口558。装置500可以操作基于存储在存储器532的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

Claims (14)

1.一种数据检索方法,其特征在于,包括:
依据第n次检索请求生成第n次查询参数(页码=Xn,分页大小=Yn,IDn=maxIDn-1+1)并发送至一检索服务器;其中,maxIDn-1为第n-1次查询结果中查询数据的最大ID;以及,
接收所述检索服务器根据所述第n次查询参数返回的包括Yn页大小查询数据的查询结果。
2.根据权利要求1所述的数据检索方法,其特征在于,所述检索服务器根据所述第n次查询参数返回包括Yn页大小查询数据的查询结果包括:
所述检索服务器依据所述第n次查询参数生成与所述第n次查询参数相匹配的第一数据列表;
将所述第一数据列表中的查询数据按ID升序排列并从所述第一数据列表开头截取数量为所述分页大小数量的第二数据列表作为第n次查询结果。
3.根据权利要求2所述的数据检索方法,其特征在于,所述数据检索方法还包括:
检测所述第n次查询结果是否存在查询数据;
在检测所述第n次查询结果存在所述的查询数据时,将所述第n次查询结果加入已完成数据队列。
4.根据权利要求3所述的数据检索方法,其特征在于,所述数据检索方法还包括:
在检测所述第n次查询结果不存在所述的查询数据时,将所述已完成数据列表内的数据结果整合生成数据文件。
5.根据权利要求3所述的数据检索方法,其特征在于,所述数据检索方法还包括:
将所述第二数据列表进行预处理后加入已完成数据队列;所述预处理第二数据列表包括字段适配以及字段转换中的一种或多种。
6.根据权利要求1所述的数据检索方法,其特征在于,所述数据检索方法还包括:
接收用户的初始检索请求,并将所述初始检索请求分解为N个与所述初始检索请求相对应的检索请求。
7.一种报表生成方法,包括:
根据权利要求1~6所述数据检索方法获取所述查询结果的数据文件;
根据获取的所述查询结果的数据文件生成数据报表。
8.一种数据检索装置,其特征在于,包括:
参数生成模块,用于依据第n次检索请求生成第n次查询参数(页码=Xn,分页大小=Yn,IDn=maxIDn-1+1)并发送至一检索服务器;其中,maxIDn-1为第n-1次查询结果中查询数据的最大ID;以及
初始数据接收模块,用于接收所述检索服务器根据所述第n次查询参数返回的包括Yn页大小查询数据的查询结果。
9.根据权利要求8所述的数据检索装置,其特征在于,所述数据检索装置还包括:
第一数据生成模块,用于所述检索服务器依据所述第n次查询参数生成与所述第n次查询参数相匹配的第一数据列表;
第二数据生成模块,用于将所述第一数据列表中的查询数据按ID升序排列并从第一数据列表开头截取数量为所述分页大小数量的第二数据列表作为第n次查询结果。
10.根据权利要求9所述的数据检索装置,其特征在于,所述数据检索装置还包括:
结果判定模块;用于检测所述第n次查询结果是否存在查询数据;
第一数据整合模块,用于在检测所述第n次查询结果存在所述的查询数据时,将所述第n次查询结果加入已完成数据队列中。
11.根据权利要求10所述的数据检索装置,其特征在于,所述数据检索装置还包括:
第二数据整合模块,用于在检测所述第n次查询结果不存在所述的查询数据时,将所述已完成数据列表内的数据结果整合生成数据文件。
12.根据权利要求10所述的数据检索装置,其特征在于,所述数据检索装置还包括:
数据预处理模块,用于将所述第二数据列表进行预处理后加入已完成数据队列;所述预处理第二数据列表包括字段适配以及字段转换中的一种或多种。
13.根据权利要求8所述的数据检索装置,其特征在于,所述数据检索装置还包括:
请求接收模块,用于接收用户的初始检索请求;
检索请求生成模块,用于将所述初始检索请求分解为N个与所述初始检索请求相对应的检索请求。
14.一种报表生成系统,其特征在于,包括:
根据权利要求8~13所述数据检索装置,用于依据所述检索请求生成所述查询结果的数据文件;以及
报表生成模块,用于将所述查询结果的数据文件生成数据报表。
CN201611035411.XA 2016-11-18 2016-11-18 数据检索方法及装置、报表生成系统及方法 Pending CN108073661A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611035411.XA CN108073661A (zh) 2016-11-18 2016-11-18 数据检索方法及装置、报表生成系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611035411.XA CN108073661A (zh) 2016-11-18 2016-11-18 数据检索方法及装置、报表生成系统及方法

Publications (1)

Publication Number Publication Date
CN108073661A true CN108073661A (zh) 2018-05-25

Family

ID=62161642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611035411.XA Pending CN108073661A (zh) 2016-11-18 2016-11-18 数据检索方法及装置、报表生成系统及方法

Country Status (1)

Country Link
CN (1) CN108073661A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110222321A (zh) * 2019-04-16 2019-09-10 中国平安人寿保险股份有限公司 报表生成方法、装置、计算机装置及计算机可读存储介质
CN112783925A (zh) * 2019-11-11 2021-05-11 北京沃东天骏信息技术有限公司 分页检索方法和装置
CN113590623A (zh) * 2021-07-28 2021-11-02 上海万物新生环保科技集团有限公司 一种用于数据深分页查询的方法、装置及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101826085A (zh) * 2009-12-30 2010-09-08 厦门市美亚柏科信息股份有限公司 一种基于ajax的网页在线导入/导出大文件的方法
CN102880685A (zh) * 2012-09-13 2013-01-16 北京航空航天大学 一种时间密集大数据量的b/s分区间分页查询方法
CN103678408A (zh) * 2012-09-21 2014-03-26 阿里巴巴集团控股有限公司 一种查询数据的方法及装置
CN105045932A (zh) * 2015-09-02 2015-11-11 南京邮电大学 一种基于降序存储的数据分页查询方法
CN105653537A (zh) * 2014-11-13 2016-06-08 阿里巴巴集团控股有限公司 一种数据库应用系统的分页查询方法和装置
CN105827424A (zh) * 2015-01-07 2016-08-03 中兴通讯股份有限公司 数据获取方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101826085A (zh) * 2009-12-30 2010-09-08 厦门市美亚柏科信息股份有限公司 一种基于ajax的网页在线导入/导出大文件的方法
CN102880685A (zh) * 2012-09-13 2013-01-16 北京航空航天大学 一种时间密集大数据量的b/s分区间分页查询方法
CN103678408A (zh) * 2012-09-21 2014-03-26 阿里巴巴集团控股有限公司 一种查询数据的方法及装置
CN105653537A (zh) * 2014-11-13 2016-06-08 阿里巴巴集团控股有限公司 一种数据库应用系统的分页查询方法和装置
CN105827424A (zh) * 2015-01-07 2016-08-03 中兴通讯股份有限公司 数据获取方法及装置
CN105045932A (zh) * 2015-09-02 2015-11-11 南京邮电大学 一种基于降序存储的数据分页查询方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110222321A (zh) * 2019-04-16 2019-09-10 中国平安人寿保险股份有限公司 报表生成方法、装置、计算机装置及计算机可读存储介质
CN112783925A (zh) * 2019-11-11 2021-05-11 北京沃东天骏信息技术有限公司 分页检索方法和装置
CN112783925B (zh) * 2019-11-11 2024-03-01 北京沃东天骏信息技术有限公司 分页检索方法和装置
CN113590623A (zh) * 2021-07-28 2021-11-02 上海万物新生环保科技集团有限公司 一种用于数据深分页查询的方法、装置及设备
CN113590623B (zh) * 2021-07-28 2024-08-06 上海万物新生环保科技集团有限公司 一种用于数据深分页查询的方法、装置及设备

Similar Documents

Publication Publication Date Title
CN109145020A (zh) 信息查询方法、从服务器、客户端及计算机可读存储介质
CN104516979B (zh) 一种基于二次检索的数据查询方法及系统
CN107783985B (zh) 一种分布式数据库查询方法、装置及管理系统
US7672935B2 (en) Automatic index creation based on unindexed search evaluation
CN102609421B (zh) 数据查询方法及装置
US20130085987A1 (en) Downloading method and device
CN109783512A (zh) 数据处理方法、装置、计算机设备及存储介质
CA2829735A1 (en) Method and system for information modeling and applications thereof
US20120254148A1 (en) Serving multiple search indexes
CN109408509A (zh) 数据存储方法、装置及计算机设备
US10929362B2 (en) Adaptive query processor for query systems with limited capabilities
US8032550B2 (en) Federated document search by keywords
CN104268295A (zh) 一种数据查询方法及装置
CN104021125A (zh) 一种搜索引擎排序的方法、系统以及一种搜索引擎
CN108073661A (zh) 数据检索方法及装置、报表生成系统及方法
CN106815219A (zh) 数据库编辑器的编辑方法和装置
CN103559307A (zh) 一种查询的缓存方法及装置
CN109063215A (zh) 数据检索方法及装置
CN106940715B (zh) 一种基于索引表的查询的方法及设备
CN109885729B (zh) 一种显示数据的方法、装置及系统
CN106446289B (zh) 基于Pinpoint的信息查询方法和装置
US20150234872A1 (en) Computer, data processing method, and non-transitory storage medium
Dai et al. Clustering on demand for multiple data streams
CN112541119B (zh) 一种高效节源的小型推荐系统
CN110532311B (zh) 一种基于队列的分布式数据导出方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180525

RJ01 Rejection of invention patent application after publication