CN111368006B - 海量数据带条件集中抽取系统及方法 - Google Patents

海量数据带条件集中抽取系统及方法 Download PDF

Info

Publication number
CN111368006B
CN111368006B CN202010241032.6A CN202010241032A CN111368006B CN 111368006 B CN111368006 B CN 111368006B CN 202010241032 A CN202010241032 A CN 202010241032A CN 111368006 B CN111368006 B CN 111368006B
Authority
CN
China
Prior art keywords
query
database
preset
extraction
key
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.)
Active
Application number
CN202010241032.6A
Other languages
English (en)
Other versions
CN111368006A (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010241032.6A priority Critical patent/CN111368006B/zh
Publication of CN111368006A publication Critical patent/CN111368006A/zh
Application granted granted Critical
Publication of CN111368006B publication Critical patent/CN111368006B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/2455Query execution
    • G06F16/24552Database cache management
    • 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/248Presentation of query results

Landscapes

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

Abstract

本发明提供了一种海量数据带条件集中抽取系统及方法,所述系统包含查询装置和一个或多个数据库;所述查询装置用于根据接收到的查询指令向数据库发送查询请求,将数据库反馈的查询结果写入预设缓存表;以及,根据数据库反馈的查询结果生成提取指令并发送至对应数据库,当数据库无反馈查询结果时,所述将预设缓存表中存储的查询结果提取后反馈查询指令请求方;所述数据库用于根据所述查询请求解析获得查询条件,根据所述查询条件查询本地数据获得查询结果目录,将所述查询结果目录中预定条数的查询结果反馈至所述查询装置;以及,根据提取指令,将所述查询结果目录中未反馈的查询结果按预定条数反馈至所述查询装置。

Description

海量数据带条件集中抽取系统及方法
技术领域
本发明涉及数据库技术,尤指一种海量数据带条件集中抽取系统及方法。
背景技术
信息技术极大地强化了统计学的指导意义。通过分析人类活动中产生的大量数据(例如,流水帐务),从中挖掘出了更多的价值(例如,用户购物偏好),反过来鼓励了人类社会更加积极地记录数据,使得存储的数据数量越来越多,也使得分析中抽取的数据量越来越大。
存储和使用海量数据的过程中,升级单个服务器性能的“纵向扩展(Scale-Up)”需要克服物理研究、生产工艺等技术挑战,单纯等待单个服务器硬件技术的进步,无法满足数据日益增长的需求迫切性。为此,现代海量数据处理过程中,都使用增加服务器数目,并通过灵活的软件设计来将这些服务器集中起来管理从而实现“横向扩展(Scale-Out)”,来克服纵向扩展的限制。
在横向扩展的系统中,往往使用部署2个或以上的数据库。在打印流水账等应用场景中,需要从多个数据库中抽取符合条件的较为大量的数据。在这个过程中会有多个影响其它业务活动的重点难点:首先,查询程序需要有更大的内存来缓存查询结果,导致查询程序的资源紧张;其次,因为传输如此之大的查询结果,会导致查询程序所在服务器、各个数据库所在服务器和两者之间的网络的通信带宽被占用;最后,系统中的单个数据库在一次过抽取大量记录时,会有较为严重的逐条数据扫描动作,占用数据库的CPU、内存和外存性能。
为此,业内亟需一种有效抽取方法以减少跨数据库对海量数据带条件集中抽取对其它业务活动的影响
发明内容
本发明目的在于提供一种海量数据带条件集中抽取系统及方法,以实现跨数据库存放海量数据时,在满足正确性、带条件抽取和集中抽取(在单个查询程序中完成,能够简化程序的设计和使用,区别于使用多个查询程序协作的分别抽取)的三个前提下,减少数据抽取对查询程序等相关节点的内存、外存以及通信带宽的消耗,使得数据抽取与其他业务活动的共存。
为达上述目的,本发明所提供的海量数据带条件集中抽取系统,具体包含查询装置和一个或多个数据库;所述查询装置用于根据接收到的查询指令向数据库发送查询请求,将数据库反馈的查询结果写入预设缓存表;以及,根据数据库反馈的查询结果生成提取指令并发送至对应数据库,当数据库无反馈查询结果时,所述将预设缓存表中存储的查询结果提取后反馈查询指令请求方;所述数据库用于根据所述查询请求解析获得查询条件,根据所述查询条件查询本地数据获得查询结果目录,将所述查询结果目录中预定条数的查询结果反馈至所述查询装置;以及,根据提取指令,将所述查询结果目录中未反馈的查询结果按预定条数反馈至所述查询装置。
在上述海量数据带条件集中抽取系统中,优选的,所述数据库还包含:将所述查询结果目录中的各查询结果按主键顺序排序后,反馈预定条数查询结果及对应主键和数据库标识。
在上述海量数据带条件集中抽取系统中,优选的,所述查询装置包含交互模块、缓存结果集模块和步进记录模块;所述交互模块用于根据接收到的查询指令向所述数据库发送查询请求,以及,将预设缓存表中存储的查询结果提取后反馈查询指令请求方;所述缓存结果集模块用于将各数据库反馈的查询结果按序写入预设缓存表;所述步进记录模块用于根据预设缓存表中查询结果的存储状况获得数据库反馈记录,将所述数据库反馈记录更新至预设步进记录表中。
在上述海量数据带条件集中抽取系统中,优选的,所述缓存结果集模块还包含排序单元,所述排序单元用于根据所述数据库标识和主键通过插入排序算法,将接收到的查询结果按序写入预设缓存表。
在上述海量数据带条件集中抽取系统中,优选的,所述预设缓存表还包含多个存储元组,所述存储元组用于按数据库标识、查询结果和查询结果对应的主键分类存储所述查询结果;所述预设步进记录表包含多个记录元组,所述记录元组用于按数据库标识、记录条数、主键阈值分类存储所述数据库反馈记录。
在上述海量数据带条件集中抽取系统中,优选的,所述查询装置还包含计数模块,所述技术模块用于将所述存储元组中主键与记录元组中主键阈值比较,当所述存储元组中主键大于所述记录元组中主键阈值时,将所述记录元组中主键阈值调整为所述存储元组中主键,并将所述记录条数上调。
在上述海量数据带条件集中抽取系统中,优选的,所述查询装置包含构建单元,所述构建单元用于根据所述预设步进记录表中各所述记录元组的主键阈值,按预设规则构建提取指令并发送至所述数据库,使所述数据库根据所述主键阈值将所述查询结果目录中未反馈的查询结果按预定条数分批反馈至所述查询装置。
本发明还提供一种海量数据带条件集中抽取方法,所述方法包含:根据接收到的查询指令生成查询请求,将所述查询请求发送至一个或多个数据库,并将接收到的查询结果写入预设缓存表;根据所述预设缓存表中存储的查询结果生成提取指令,并将所述提取指令发送至对应数据库;当数据库无反馈查询结果时,所述将预设缓存表中存储的查询结果提取后反馈查询指令请求方。
在上述海量数据带条件集中抽取方法中,优选的,根据所述预设缓存表中存储的查询结果生成提取指令包含:根据预设缓存表中查询结果的存储状况获得数据库反馈记录,将所述数据库反馈记录更新至预设步进记录表中;根据预设步进记录表生成提取指令。
在上述海量数据带条件集中抽取方法中,优选的,将接收到的查询结果写入预设缓存表包含:根据接收到的查询结果获得数据库反馈的数据库标识和各查询结果的主键;根据所述数据库标识和主键通过插入排序算法,将接收到的查询结果按序写入预设缓存表。
在上述海量数据带条件集中抽取方法中,优选的,所述预设缓存表还包含多个存储元组,所述存储元组用于按数据库标识、查询结果和查询结果对应的主键分类存储所述查询结果;所述预设步进记录表包含多个记录元组,所述记录元组用于按数据库标识、记录条数、主键阈值分类存储所述数据库反馈记录。
在上述海量数据带条件集中抽取方法中,优选的,将所述数据库反馈记录更新至预设步进记录表中还包含:将所述存储元组中主键与记录元组中主键阈值比较,当所述存储元组中主键大于所述记录元组中主键阈值时,将所述记录元组中主键阈值调整为所述存储元组中主键,并将所述记录条数上调。
在上述海量数据带条件集中抽取方法中,优选的,根据预设步进记录表生成提取指令包含:根据所述预设步进记录表中各所述记录元组的主键阈值,按预设规则构建提取指令并发送至所述数据库,使所述数据库根据所述主键阈值将所述查询结果目录中未反馈的查询结果按预定条数反馈至所述提取指令发起方。
本发明还提供一种海量数据带条件集中抽取方法,所述方法包含:根据接收到的查询请求解析获得查询条件;根据所述查询条件查询本地数据获得查询结果目录,并将所述查询结果目录中预定条数的查询结果反馈至所述查询请求发起方;根据接收到的提取指令,将所述查询结果目录中未反馈的查询结果按预定条数反馈至所述提取指令发起方。
在上述海量数据带条件集中抽取方法中,优选的,将所述查询结果目录中预定条数的查询结果反馈至所述查询请求发起方包含:将所述查询结果目录中的各查询结果按主键顺序排序后,反馈预定条数查询结果及对应主键和数据库标识至所述查询请求发起方。
在上述海量数据带条件集中抽取方法中,优选的,将所述查询结果目录中未反馈的查询结果按预定条数反馈至所述提取指令发起方包含:将所述查询结果目录中未反馈的查询结果的按主键顺序排序后,反馈预定条数查询结果及对应主键和数据库标识至所述查询请求发起方。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本发明的有益技术效果在于:能减少数据抽取对查询程序的内存、外存以及通信带宽的消耗,实现数据抽取与其他业务活动的共存,为查询结果翻页、业务数据库同步数据到分析用数据平台等场景提供了技术基础。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施例所提供的海量数据带条件集中抽取系统的结构示意图;
图2为本发明一实施例所提供的查询装置的结构示意图;
图3为本发明一实施例所提供的海量数据带条件集中抽取系统的原理示意图;
图4为本发明一实施例所提供的查询装置的结构示意图;
图5为本发明一实施例所提供的查询装置的结构示意图;
图6为本发明一实施例所提供的海量数据带条件集中抽取方法的流程示意图;
图7为本发明一实施例所提供的海量数据带条件集中抽取方法的流程示意图;
图8为本发明一实施例所提供的海量数据带条件集中抽取方法的应用流程示意图;
图9为本发明一实施例所提供的电子设备的结构示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
请参考图1所示,本发明所提供的海量数据带条件集中抽取系统,具体包含查询装置和一个或多个数据库;所述查询装置用于根据接收到的查询指令向数据库发送查询请求,将数据库反馈的查询结果写入预设缓存表;以及,根据数据库反馈的查询结果生成提取指令并发送至对应数据库,当数据库无反馈查询结果时,所述将预设缓存表中存储的查询结果提取后反馈查询指令请求方;所述数据库用于根据所述查询请求解析获得查询条件,根据所述查询条件查询本地数据获得查询结果目录,将所述查询结果目录中预定条数的查询结果反馈至所述查询装置;以及,根据提取指令,将所述查询结果目录中未反馈的查询结果按预定条数反馈至所述查询装置。其中,所述数据库还可包含:将所述查询结果目录中的各查询结果按主键顺序排序后,反馈预定条数查询结果及对应主键和数据库标识。由此,数据库后续根据该些查询结果的主键情况确定哪些查询结果已返,哪些未返,防止同一查询结果多次反馈的情况发生;同时,无需改动既有的分布式关系数据库部分,只需要修改查询程序即可实现,避免对数据库改动敏感的业务功能产生问题的风险;再者,通过限定返回记录数量,可以在现代数据库节点内部利用主键索引进行操作加速,减少代价高昂的逐条数据扫描动作;利用采用的多次步进查询可以减少阻塞性IO操作,可以控制抽取流程,实现对流程的暂停、恢复、断点续做和取消。
请参考图2所示,在本发明一实施例中,所述查询装置可包含交互模块、缓存结果集模块和步进记录模块;所述交互模块用于根据接收到的查询指令向所述数据库发送查询请求,以及,将预设缓存表中存储的查询结果提取后反馈查询指令请求方;所述缓存结果集模块用于将各数据库反馈的查询结果按序写入预设缓存表;所述步进记录模块用于根据预设缓存表中查询结果的存储状况获得数据库反馈记录,将所述数据库反馈记录更新至预设步进记录表中。其中,所述缓存结果集模块还包含排序单元,所述排序单元用于根据所述数据库标识和主键通过插入排序算法,将接收到的查询结果按序写入预设缓存表。
在上述实施例中,所述预设缓存表还包含多个存储元组,所述存储元组用于按数据库标识、查询结果和查询结果对应的主键分类存储所述查询结果;所述预设步进记录表包含多个记录元组,所述记录元组用于按数据库标识、记录条数、主键阈值分类存储所述数据库反馈记录。
具体的,在实际工作中,所述海量数据带条件集中抽取系统可如图3所示,查询装置1是数据抽取的发起者和最终结果的获得者,同时在数据抽取过程中协调各个数据库的动作。数据库存2放了抽取所涉及的数据表,各个数据库之间的数据没有交集,单个数据库内有查询条件含有的索引。缓存结果集1.1是查询装置中的数据结构,是(db,pk,col1,...)元组的集合,其中每个元组的语义为“来自数据库标识(db)的记录,包含字段为内部主键(pk)和查询需要抽取的字段(col1,...)”,元组的数量等于步进记录数(M)与数据库的数量(N)的乘积。步进记录表1.2是查询装置中的数据结构,是(db,pk_max,count)元组的集合,其中每个元组的语义为“上一次步进查询,数据库(db)返回记录的主键最大值(pk_max)和记录条数(count)”,元组的数量等于数据库,该表以db为主键(即,每条记录的db字段的值不能重复)。
请参考图4所示,在本发明一实施例中,所述查询装置还包含计数模块,所述技术模块用于将所述存储元组中主键与记录元组中主键阈值比较,当所述存储元组中主键大于所述记录元组中主键阈值时,将所述记录元组中主键阈值调整为所述存储元组中主键,并将所述记录条数上调。具体的,结合图3所示,在实际工作中执行步骤如下:
1、查询装置1设置初始值为0的临时计数器;
2、查询装置1从缓存结果集1.1头部取出1条记录(以下简称为缓存记录),将其追加到最终结果的尾部;
3、查询装置1根据刚取出的缓存记录的db字段值,在步进记录表1.2中搜索db值相同的记录(以下简称步进记录)——如果不存在,则在步进记录表1.2中,创建新的一条记录,db和pk_max字段的值分别使用缓存记录的db和pk字段值,count字段则设置为1,然后直接执行步骤5;如果存在,则进行下面的步骤4。
4、查询装置1比较缓存记录的pk是否大于步进记录的pk_max——如果否,则对步进记录的count字段值加1;如果是,则对步进记录的count字段值加1,并将步进记录的pk_max字段的值设置为缓存记录的pk字段值;
5、查询装置1将临时计数器加1;
6、除非缓存结果集1.1为空,或者,临时计数器等于M,查询装置1重复步骤2到步骤5。
7、查询装置1重复步骤4到步骤5,直至缓存结果集1.1为空。
请参考图5所示,在本发明一实施例中,所述查询装置还包含构建单元,所述构建单元用于根据所述预设步进记录表中各所述记录元组的主键阈值,按预设规则构建提取指令并发送至所述数据库,使所述数据库根据所述主键阈值将所述查询结果目录中未反馈的查询结果按预定条数分批反馈至所述查询装置。实际工作中,查询装置1根据步进记录表1.2,构建查询去获取”符合查询条件及主键大于步进记录表1.2中对应元组的pk_max的记录中,按照主键顺序升序后的头M条记录,返回字段包含需要抽取的字段及主键”;查询装置1向各数据库2发送构造后的查询即提取指令。
请参考图6所示,本发明还提供一种海量数据带条件集中抽取方法,所述方法包含:
S601:根据接收到的查询指令生成查询请求,将所述查询请求发送至一个或多个数据库,并将接收到的查询结果写入预设缓存表;
S602:根据所述预设缓存表中存储的查询结果生成提取指令,并将所述提取指令发送至对应数据库;
S603:当数据库无反馈查询结果时,所述将预设缓存表中存储的查询结果提取后反馈查询指令请求方。
在上述实施例中,步骤S602中根据所述预设缓存表中存储的查询结果生成提取指令包含:根据预设缓存表中查询结果的存储状况获得数据库反馈记录,将所述数据库反馈记录更新至预设步进记录表中;根据预设步进记录表生成提取指令。由此,即可有效确认各数据库反馈的查询结果数据量及相关数据库信息;其中,所述将接收到的查询结果写入预设缓存表可包含:根据接收到的查询结果获得数据库反馈的数据库标识和各查询结果的主键;根据所述数据库标识和主键通过插入排序算法,将接收到的查询结果按序写入预设缓存表。以此,根据查询结果反馈信息准确将接收到的查询结果准确写入缓存表中,便于后续步进记录表快速查询;进一步的,所述预设缓存表还包含多个存储元组,所述存储元组用于按数据库标识、查询结果和查询结果对应的主键分类存储所述查询结果;所述预设步进记录表包含多个记录元组,所述记录元组用于按数据库标识、记录条数、主键阈值分类存储所述数据库反馈记录。
在本发明一实施例中,将所述数据库反馈记录更新至预设步进记录表中还包含:将所述存储元组中主键与记录元组中主键阈值比较,当所述存储元组中主键大于所述记录元组中主键阈值时,将所述记录元组中主键阈值调整为所述存储元组中主键,并将所述记录条数上调。其后,根据预设步进记录表生成提取指令可包含:根据所述预设步进记录表中各所述记录元组的主键阈值,按预设规则构建提取指令并发送至所述数据库,使所述数据库根据所述主键阈值将所述查询结果目录中未反馈的查询结果按预定条数反馈至所述提取指令发起方。
请参考图7所示,本发明还提供一种海量数据带条件集中抽取方法,所述方法包含:
S701:根据接收到的查询请求解析获得查询条件;
S702:根据所述查询条件查询本地数据获得查询结果目录,并将所述查询结果目录中预定条数的查询结果反馈至所述查询请求发起方;
S703:根据接收到的提取指令,将所述查询结果目录中未反馈的查询结果按预定条数反馈至所述提取指令发起方。
在上述实施例中,将所述查询结果目录中预定条数的查询结果反馈至所述查询请求发起方包含:将所述查询结果目录中的各查询结果按主键顺序排序后,反馈预定条数查询结果及对应主键和数据库标识至所述查询请求发起方。同样的,在后续提取指令提取查询结果时,也是将所述查询结果目录中未反馈的查询结果的按主键顺序排序后,反馈预定条数查询结果及对应主键和数据库标识至所述查询请求发起方。值得说明的是,当数据库中查询结果较多时,一次提取指令或许无法完全提出查询结果,此刻重复上述步骤,直到完全提出查询结果为止;另,当数据库中查询结果较少,低于预定条数时,后续则可不再发出提取指令至数据库;而所述预定条数可根据实际设备性能和工作需要选择设置,本发明对其不做进一步限定。
请参考图8所示,为更清楚的说明本发明所提供的海量数据带条件集中抽取方法,以下结合查询装置和数据库两端交互,对上述各实施例做整体说明,本领域相关技术人员当可知,该实例仅为便于理解本发明所提供的上述海量数据带条件集中抽取方法,并不对其做进一步限定。
1、查询装置向各数据库发送查询,要求各自返回”符合查询条件的记录中,按照主键顺序升序后的头M条记录,返回字段包含需要抽取的字段及主键”;
2、各数据库返回数据库结果给查询装置;
3、查询装置清空缓存结果集模块,然后使用插入排序算法,以<db,pk>偏序顺序整合步骤2.的所有数据库结果,同时有序写入缓存结果集模块;
4、查询装置从缓存结果集模块中取出头M条记录追加到最终结果的尾部;
5、查询装置根据步骤4.取出头M条记录过程中的统计结果,更新步进记录模块的对应元组;
6、查询装置根据步进记录模块,构建查询去获取”符合查询条件及主键大于步进记录模块中对应元组的pk_max的记录中,按照主键顺序升序后的头M条记录,返回字段包含需要抽取的字段及主键”;
7、查询装置向各数据库发送步骤6.所构造的查询;
8、各数据库返回数据库结果给查询装置;查询装置重复步骤3.到步骤8.,直至所有数据库都没有返回记录回来。
本发明所提供的海量数据带条件集中抽取系统及方法,能减少数据抽取对查询程序的内存、外存以及通信带宽的消耗,实现数据抽取与其他业务活动的共存,为查询结果翻页、业务数据库同步数据到分析用数据平台等场景提供了技术基础。此外,本发明具有以下优点:
1、正确性:每次步进查询结果的所在数据库和其中的主键范围都会别记录,因此能实现每次步进范围都邻接上一次,从而避免数据重复获取或者漏取;
2、非侵入:无需改动既有的分布式关系数据库部分,只需要修改查询程序即可实现,避免对数据库改动敏感的业务功能产生问题的风险;
3、对环境影响小:每次步进查询获得的结果的最大值是恒定的,而且通过限制步进记录数来控制该值,可以有效控制对网络等软硬件环境的影响;
4、效率高:本发明中的每次步进查询都利用数据库节点内部的主键进行范围限制,此外限制返回记录数量,可以在现代数据库节点内部利用主键索引进行操作加速,减少代价高昂的逐条数据扫描动作;
5、成本低:查询程序需要缓存的缓存结果集和步进记录表的体积,与总数据量和实际抽取数据量无关,无需特别适用高配置环境来运行查询程序,减少额外成本投入;
6、可操作性高:相对于单次抽取全部结果,本发明采用的多次步进查询可以减少阻塞性IO操作,可以控制抽取流程,实现对流程的暂停、恢复、断点续做和取消。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
如图9所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图9中所示的所有部件;此外,电子设备600还可以包括图9中没有示出的部件,可以参考现有技术。
如图9所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (18)

1.一种海量数据带条件集中抽取系统,其特征在于,所述系统包含查询装置和一个或多个数据库;
所述查询装置用于根据接收到的查询指令向数据库发送查询请求,将数据库反馈的查询结果写入预设缓存表;以及,根据数据库反馈的查询结果生成提取指令并发送至对应数据库,当数据库无反馈查询结果时,将所述预设缓存表中存储的查询结果提取后反馈查询指令请求方;
所述数据库用于根据所述查询请求解析获得查询条件,根据所述查询条件查询本地数据获得查询结果目录,将所述查询结果目录中预定条数的查询结果反馈至所述查询装置;以及,根据提取指令,将所述查询结果目录中未反馈的查询结果按预定条数反馈至所述查询装置。
2.根据权利要求1所述的海量数据带条件集中抽取系统,其特征在于,所述数据库还包含:将所述查询结果目录中的各查询结果按主键顺序排序后,反馈预定条数查询结果及对应主键和数据库标识。
3.根据权利要求2所述的海量数据带条件集中抽取系统,其特征在于,所述查询装置包含交互模块、缓存结果集模块和步进记录模块;
所述交互模块用于根据接收到的查询指令向所述数据库发送查询请求,以及,将预设缓存表中存储的查询结果提取后反馈查询指令请求方;
所述缓存结果集模块用于将各数据库反馈的查询结果按序写入预设缓存表;
所述步进记录模块用于根据预设缓存表中查询结果的存储状况获得数据库反馈记录,将所述数据库反馈记录更新至预设步进记录表中。
4.根据权利要求3所述的海量数据带条件集中抽取系统,其特征在于,所述缓存结果集模块还包含排序单元,所述排序单元用于根据所述数据库标识和主键通过插入排序算法,将接收到的查询结果按序写入预设缓存表。
5.根据权利要求3所述的海量数据带条件集中抽取系统,其特征在于,所述预设缓存表还包含多个存储元组,所述存储元组用于按数据库标识、查询结果和查询结果对应的主键分类存储所述查询结果;所述预设步进记录表包含多个记录元组,所述记录元组用于按数据库标识、记录条数、主键阈值分类存储所述数据库反馈记录。
6.根据权利要求5所述的海量数据带条件集中抽取系统,其特征在于,所述查询装置还包含计数模块,所述计数模块用于将所述存储元组中主键与记录元组中主键阈值比较,当所述存储元组中主键大于所述记录元组中主键阈值时,将所述记录元组中主键阈值调整为所述存储元组中主键,并将所述记录条数上调。
7.根据权利要求5所述的海量数据带条件集中抽取系统,其特征在于,所述查询装置包含构建单元,所述构建单元用于根据所述预设步进记录表中各所述记录元组的主键阈值,按预设规则构建提取指令并发送至所述数据库,使所述数据库根据所述主键阈值将所述查询结果目录中未反馈的查询结果按预定条数分批反馈至所述查询装置。
8.一种适用于权利要求1所述的海量数据带条件集中抽取系统的海量数据带条件集中抽取方法,其特征在于,所述方法包含:
根据接收到的查询指令生成查询请求,将所述查询请求发送至一个或多个数据库,并将接收到的查询结果写入预设缓存表;
根据所述预设缓存表中存储的查询结果生成提取指令,并将所述提取指令发送至对应数据库;
当数据库无反馈查询结果时,所述将预设缓存表中存储的查询结果提取后反馈查询指令请求方。
9.根据权利要求8所述的海量数据带条件集中抽取方法,其特征在于,根据所述预设缓存表中存储的查询结果生成提取指令包含:根据预设缓存表中查询结果的存储状况获得数据库反馈记录,将所述数据库反馈记录更新至预设步进记录表中;根据预设步进记录表生成提取指令。
10.根据权利要求9所述的海量数据带条件集中抽取方法,其特征在于,将接收到的查询结果写入预设缓存表包含:根据接收到的查询结果获得数据库反馈的数据库标识和各查询结果的主键;根据所述数据库标识和主键通过插入排序算法,将接收到的查询结果按序写入预设缓存表。
11.根据权利要求10所述的海量数据带条件集中抽取方法,其特征在于,所述预设缓存表还包含多个存储元组,所述存储元组用于按数据库标识、查询结果和查询结果对应的主键分类存储所述查询结果;所述预设步进记录表包含多个记录元组,所述记录元组用于按数据库标识、记录条数、主键阈值分类存储所述数据库反馈记录。
12.根据权利要求11所述的海量数据带条件集中抽取方法,其特征在于,将所述数据库反馈记录更新至预设步进记录表中还包含:将所述存储元组中主键与记录元组中主键阈值比较,当所述存储元组中主键大于所述记录元组中主键阈值时,将所述记录元组中主键阈值调整为所述存储元组中主键,并将所述记录条数上调。
13.根据权利要求12所述的海量数据带条件集中抽取方法,其特征在于,根据预设步进记录表生成提取指令包含:根据所述预设步进记录表中各所述记录元组的主键阈值,按预设规则构建提取指令并发送至所述数据库,使所述数据库根据所述主键阈值将所述查询结果目录中未反馈的查询结果按预定条数反馈至所述提取指令发起方。
14.一种适用于权利要求1所述的海量数据带条件集中抽取系统的海量数据带条件集中抽取方法,其特征在于,所述方法包含:
根据接收到的查询请求解析获得查询条件;
根据所述查询条件查询本地数据获得查询结果目录,并将所述查询结果目录中预定条数的查询结果反馈至所述查询请求发起方;
根据接收到的提取指令,将所述查询结果目录中未反馈的查询结果按预定条数反馈至所述提取指令发起方。
15.根据权利要求14所述的海量数据带条件集中抽取方法,其特征在于,将所述查询结果目录中预定条数的查询结果反馈至所述查询请求发起方包含:将所述查询结果目录中的各查询结果按主键顺序排序后,反馈预定条数查询结果及对应主键和数据库标识至所述查询请求发起方。
16.根据权利要求14所述的海量数据带条件集中抽取方法,其特征在于,将所述查询结果目录中未反馈的查询结果按预定条数反馈至所述提取指令发起方包含:将所述查询结果目录中未反馈的查询结果的按主键顺序排序后,反馈预定条数查询结果及对应主键和数据库标识至所述查询请求发起方。
17.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求8至16任一所述方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求8至16任一所述方法的计算机程序。
CN202010241032.6A 2020-03-31 2020-03-31 海量数据带条件集中抽取系统及方法 Active CN111368006B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010241032.6A CN111368006B (zh) 2020-03-31 2020-03-31 海量数据带条件集中抽取系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010241032.6A CN111368006B (zh) 2020-03-31 2020-03-31 海量数据带条件集中抽取系统及方法

Publications (2)

Publication Number Publication Date
CN111368006A CN111368006A (zh) 2020-07-03
CN111368006B true CN111368006B (zh) 2023-03-17

Family

ID=71204840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010241032.6A Active CN111368006B (zh) 2020-03-31 2020-03-31 海量数据带条件集中抽取系统及方法

Country Status (1)

Country Link
CN (1) CN111368006B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111881181B (zh) * 2020-07-22 2024-03-01 中国工商银行股份有限公司 一种基于分布式数据库的数据统计方法、装置及设备
CN115438087B (zh) * 2022-11-10 2023-03-24 广州思迈特软件有限公司 基于缓存库的数据查询方法、装置、存储介质和设备
CN117056363B (zh) * 2023-07-19 2024-03-19 广州三七极耀网络科技有限公司 数据缓存方法、系统、设备以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915435A (zh) * 2015-06-24 2015-09-16 努比亚技术有限公司 数据查询方法和装置
CN108073685A (zh) * 2017-11-17 2018-05-25 中国人民银行清算总中心 数据采集方法及系统
CN109241099A (zh) * 2018-08-22 2019-01-18 中国平安人寿保险股份有限公司 一种数据查询方法及终端设备
CN110569259A (zh) * 2019-07-26 2019-12-13 苏宁云计算有限公司 一种大批量数据的处理方法及装置
JP2020112890A (ja) * 2019-01-08 2020-07-27 株式会社ビジネスインテリジェンス データ処理プログラム、データ出力装置、データ統合方法、出力プログラム、データ出力方法及びデータ処理システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11016972B2 (en) * 2018-01-26 2021-05-25 Vmware, Inc. Splitting a time-range query into multiple sub-queries for serial execution

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915435A (zh) * 2015-06-24 2015-09-16 努比亚技术有限公司 数据查询方法和装置
CN108073685A (zh) * 2017-11-17 2018-05-25 中国人民银行清算总中心 数据采集方法及系统
CN109241099A (zh) * 2018-08-22 2019-01-18 中国平安人寿保险股份有限公司 一种数据查询方法及终端设备
JP2020112890A (ja) * 2019-01-08 2020-07-27 株式会社ビジネスインテリジェンス データ処理プログラム、データ出力装置、データ統合方法、出力プログラム、データ出力方法及びデータ処理システム
CN110569259A (zh) * 2019-07-26 2019-12-13 苏宁云计算有限公司 一种大批量数据的处理方法及装置

Also Published As

Publication number Publication date
CN111368006A (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
CN111368006B (zh) 海量数据带条件集中抽取系统及方法
CN108572789B (zh) 磁盘存储方法和装置、消息推送方法和装置及电子设备
US10795874B2 (en) Creating index in blockchain-type ledger
CN111008521B (zh) 生成宽表的方法、装置及计算机存储介质
CN107943846B (zh) 数据处理方法、装置及电子设备
CN113821541A (zh) 数据倾斜处理方法、设备、存储介质及程序产品
CN110874358A (zh) 多属性列的存储、检索方法和装置以及电子设备
CN108038253B (zh) 一种日志查询的处理方法及装置
EP3123360B1 (en) Partition filtering using smart index in memory
CN104462347A (zh) 关键词的分类方法及装置
CN103116652A (zh) 一种基于拉链信息的索引存储管理方法
CN101115092B (zh) 一种码分多址无线终端电话号码精确匹配的方法
CN106980685B (zh) 数据处理方法及数据处理装置
CN107977381B (zh) 数据配置方法、索引管理方法、相关装置以及计算设备
CN107147947A (zh) 关键帧识别方法及装置
CN102722543A (zh) 一种用于文件储存的方法
CN112527900A (zh) 一种数据库读多副本一致性的方法、装置、设备及介质
CN105721933A (zh) 广告视频信息库的创建方法、广告视频识别方法及装置
CN111177157B (zh) 账户黑名单检测方法及系统
CN115210694A (zh) 数据传输方法及装置
CN112486979A (zh) 数据处理方法、装置和系统、电子设备以及计算机可读存储介质
CN112597225B (zh) 基于集散模型的数据采集方法及装置
CN114500140B (zh) 用于语音设备唤醒的方法、装置、平台设备及存储介质
CN112230984B (zh) 区块链智能合约模板的处理方法及装置
US20220209957A1 (en) Blockchain creation method, computing device, and storage medium

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
GR01 Patent grant
GR01 Patent grant