CN112364067A - 一种大批量数据导出系统及其导出方法 - Google Patents

一种大批量数据导出系统及其导出方法 Download PDF

Info

Publication number
CN112364067A
CN112364067A CN202110033980.5A CN202110033980A CN112364067A CN 112364067 A CN112364067 A CN 112364067A CN 202110033980 A CN202110033980 A CN 202110033980A CN 112364067 A CN112364067 A CN 112364067A
Authority
CN
China
Prior art keywords
request
export
data
row
queue
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.)
Granted
Application number
CN202110033980.5A
Other languages
English (en)
Other versions
CN112364067B (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.)
Green City Technology Industry Service Group Co.,Ltd.
Original Assignee
Green Man 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 Green Man Technology Co ltd filed Critical Green Man Technology Co ltd
Priority to CN202110033980.5A priority Critical patent/CN112364067B/zh
Publication of CN112364067A publication Critical patent/CN112364067A/zh
Application granted granted Critical
Publication of CN112364067B publication Critical patent/CN112364067B/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/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Landscapes

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

Abstract

本发明涉及一种大批量数据导出系统及其导出方法,获得用户请求后进行分发,基于优先规则加入队列空间,解构请求后获得查询数据量、设于请求注释中,对第一行的队列头部的请求进行预处理判断;若满足大批量数据的特征,则分配多线程进行数据导出,否则直接导出,对队列进行更新调整。本发明解决了大量数据导出过程中内存溢出、关联业务系统奔溃、用户体验差等问题,在有限的服务器资源下,增大系统吞吐率、提高系统稳定性、提升用户体验。

Description

一种大批量数据导出系统及其导出方法
技术领域
本发明涉及电数字数据处理的技术领域,特别涉及一种大批量数据导出系统及其导出方法。
背景技术
近年来,以大数据、物联网、人工智能、5G为核心特征的数字化浪潮正席卷全球,由此带来的海量数据,以及高带宽、低时延等新业务个性化需求,让传统的通用服务器及存储架构不堪重负,而数据的导入导出又是系统的常规需求。
目前,在进行大批量数据导出时,通常采用基于单线程的同步式数据导出方法,即:
用户通过客户端发出数据导出请求;
服务器在接收到该请求后,通过查询语句,从数据库查询数据并返回给服务器;
服务器对返回的结果集进行业务组装后,以响应流的形式返回给用户;
然而,随着系统的使用,数据库中存储的数据量会越来越多,导出的速度将越来越慢,性能的降低是必然的结果,传统的导出方式已经无法满足实际的应用需求。
当数据库存储的数据量达到一定数量级别后,在全量数据导出时,数据的查询、结果集的组装等操作也将越来越慢,同时造成对服务器内存损耗巨大;此外,当涉及到千万级的大量数据导出时,系统反应慢、处理时间长,用户请求提交后往往需要等待较长时间,甚至长达几十分钟,用户体验差;更严重的问题在于当请求的响应时间过长后,会出现服务器响应超时、请求被丢弃的问题,从而导致数据导出失败,核心业务异常,影响到关联的多方。
发明内容
本发明解决了现有技术中存在的问题,提供了一种优化的大批量数据导出系统及其导出方法。
本发明所采用的技术方案是,一种大批量数据导出方法,所述方法包括以下步骤:
步骤1:获得用户请求;对请求进行分发;
步骤2:将匹配后的请求基于优先规则加入队列空间,所述队列空间为矩阵空间,除第一行外的每一行头部与上一行的尾部间设有指针,每一行的头部设有对应优先规则的标识;解构任一请求,获得查询数据量、设于请求注释中;
步骤3:对第一行的队列头部的请求进行预处理判断;若满足大批量数据的特征,则进行下一步,否则直接导出,进行步骤5;
步骤4:分配多线程进行数据导出;
步骤5:若队列空间非空,则所有的请求往前一位,除第一行外的每一行头部的请求基于指针接至上一行的尾部位置,返回步骤3,否则直接返回步骤1。
优选地,所述步骤1中,设置分发单元,用于区分用户的业务请求和导出请求;对任一导出请求,在请求头处设置编码,所述编码包括对应每一行队列的标识、当前导出请求的权重。
优选地,所述步骤2中,将匹配后的导出请求基于优先规则加入队列;
基于编码的标识定位到对应的行队列,基于权重判断当前行队列中任一请求与当前导出请求的优先级别,将当前导出请求列至权重匹配的位置,若存在相同权重的其他请求,则当前导出请求列至相同权重的其他请求后,权重较低的其他请求依次向后偏移一位。
优选地,所述步骤3中,对请求进行预处理判断,获取数据量及导出单元的内存,若超过导出单元的内存,则满足大批量数据的特征。
优选地,对于满足大批量数据的特征的数据,直接分为n部分进行读取,并使用多线程同时处理。
优选地,对于满足大批量数据的特征的数据,直接扣去满足导出单元的内存的数据,其他数据均匀分配为n部分,进行读取并导出。
优选地,所述步骤4中,获得的数据实时写入本地磁盘。
优选地,所述步骤5中,除第一行外的每一行头部的请求基于指针接至上一行的尾部位置后,编码和权重更新为当前行队列的标识和对应位置的权重。
优选地,数据导出后上传到文件服务器,并把地址通过短信或其邮件发送给用户。
一种采用所述的大批量数据导出方法的导出系统,所述系统包括:
一业务单元,用于完成业务请求;
一导出单元,用于完成导出请求;
一分发单元,用于区分用户的业务请求和导出请求,为业务请求调用业务单元,将导出请求导向导出单元;
所述业务单元和导出单元共同配置一数据库。
本发明涉及一种优化的大批量数据导出系统及其导出方法,获得用户请求后进行分发,基于优先规则加入队列空间,解构请求后获得查询数据量、设于请求注释中,对第一行的队列头部的请求进行预处理判断;若满足大批量数据的特征,则分配多线程进行数据导出,否则直接导出,对队列进行更新调整。
本发明解决了大量数据导出过程中内存溢出、关联业务系统奔溃、用户体验差等问题,在有限的服务器资源下,增大系统吞吐率、提高系统稳定性、提升用户体验。
附图说明
图1为本发明的方法流程图。
具体实施方式
下面结合实施例对本发明做进一步的详细描述,但本发明的保护范围并不限于此。
本发明涉及一种大批量数据导出方法,所述方法包括以下步骤:
步骤1:获得用户请求;对请求进行分发;
所述步骤1中,设置分发单元,用于区分用户的业务请求和导出请求;对任一导出请求,在请求头处设置编码,所述编码包括对应每一行队列的标识、当前导出请求的权重。
本发明中,将业务系统和导出系统分离,拆分为业务单元和导出单元,但共用一个数据库,以保证数据导出时不会影响正常的业务系统;同时,因为系统已经拆分,需要将用户的业务请求和导出请求区分,故引入分发单元,将导出操作正确的接入导出单元。
步骤2:将匹配后的请求基于优先规则加入队列空间,所述队列空间为矩阵空间,除第一行外的每一行头部与上一行的尾部间设有指针,每一行的头部设有对应优先规则的标识;解构任一请求,获得查询数据量、设于请求注释中;
所述步骤2中,将匹配后的导出请求基于优先规则加入队列;
基于编码的标识定位到对应的行队列,基于权重判断当前行队列中任一请求与当前导出请求的优先级别,将当前导出请求列至权重匹配的位置,若存在相同权重的其他请求,则当前导出请求列至相同权重的其他请求后,权重较低的其他请求依次向后偏移一位。
本发明中,为了解决并发引起的内存溢出,每个请求进来之后会被排列在队列中,依次数据处理并导出。
本发明中,队列设置为矩阵空间的形式,即包括了二维队列,包括了行队列,每个行队列中设置多个位置,原则上,在任一行队列已满的情况下,当前当队列不再分配新的导出请求;同时,每一行的尾部与下一行的头部以指针对接,保证矩阵空间形式的队列最终为链。
本发明中,每个请求在被分配至指定位置前,在请求头处设置编码,以对应每一行队列的标识对应每个请求被列入的行队列,以权重确认其在每个行队列中的位置;每个行队列置满后将不再分配新的请求。
本发明中,为了保证某些请求任务的及时处理,还可以在第一行队列的末尾增加浮动位置,用于对临时加入的请求进行调配。
本发明中,将查询数据量置于请求注释中,节省了空间。
步骤3:对第一行的队列头部的请求进行预处理判断;若满足大批量数据的特征,则进行下一步,否则直接导出,进行步骤5;
所述步骤3中,对请求进行预处理判断,获取数据量及导出单元的内存,若超过导出单元的内存,则满足大批量数据的特征。
对于满足大批量数据的特征的数据,直接分为n部分进行读取,并使用多线程同时处理。
对于满足大批量数据的特征的数据,直接扣去满足导出单元的内存的数据,其他数据均匀分配为n部分,进行读取并导出。
本发明中,从队列头部拿到请求,优先查询数据量,并和导出单元的内存进行判断,如过超出,则需分多次读取,并使用多线程同时处理数据。
本发明中,另一种处理的方式是扣去满足导出单元的内存的数据,其他数据均分并读取。
本发明中,两种处理方式的区别在于前者可以保证数据的完整性,而后者可以在连贯的基础上更快获得数据或部分数据。
步骤4:分配多线程进行数据导出;
所述步骤4中,获得的数据实时写入本地磁盘。
本发明中,在处理数据的过程中,组装完就马上写入本地磁盘,及时释放内存,提高系统的吞吐率。
步骤5:若队列空间非空,则所有的请求往前一位,除第一行外的每一行头部的请求基于指针接至上一行的尾部位置,返回步骤3,否则直接返回步骤1。
所述步骤5中,除第一行外的每一行头部的请求基于指针接至上一行的尾部位置后,编码和权重更新为当前行队列的标识和对应位置的权重。
本发明中,当后一行队列的头部的请求移动至前一行队列的尾部时,其标识和权重应当相应的进行更新,同时,任一行队列的其他请求均向前一位。
数据导出后上传到文件服务器,并把地址通过短信或其邮件发送给用户。
本发明中,整个文件导出完成后,将大文件上传到文件服务器,并把地址通过短信或其邮件发送给用户,即用户点击完导出无需等待,可以继续操作其他业务,等待导出单元的完成通知即可。
本发明还涉及一种采用所述的大批量数据导出方法的导出系统,所述系统包括:
一业务单元,用于完成业务请求;
一导出单元,用于完成导出请求;
一分发单元,用于区分用户的业务请求和导出请求,为业务请求调用业务单元,将导出请求导向导出单元;
所述业务单元和导出单元共同配置一数据库。

Claims (10)

1.一种大批量数据导出方法,其特征在于:所述方法包括以下步骤:
步骤1:获得用户请求;对请求进行分发;
步骤2:将匹配后的请求基于优先规则加入队列空间,所述队列空间为矩阵空间,除第一行外的每一行头部与上一行的尾部间设有指针,每一行的头部设有对应优先规则的标识;解构任一请求,获得查询数据量、设于请求注释中;
步骤3:对第一行的队列头部的请求进行预处理判断;若满足大批量数据的特征,则进行下一步,否则直接导出,进行步骤5;
步骤4:分配多线程进行数据导出;
步骤5:若队列空间非空,则所有的请求往前一位,除第一行外的每一行头部的请求基于指针接至上一行的尾部位置,返回步骤3,否则直接返回步骤1。
2.根据权利要求1所述的一种大批量数据导出方法,其特征在于:所述步骤1中,设置分发单元,用于区分用户的业务请求和导出请求;对任一导出请求,在请求头处设置编码,所述编码包括对应每一行队列的标识、当前导出请求的权重。
3.根据权利要求2所述的一种大批量数据导出方法,其特征在于:所述步骤2中,将匹配后的导出请求基于优先规则加入队列;
基于编码的标识定位到对应的行队列,基于权重判断当前行队列中任一请求与当前导出请求的优先级别,将当前导出请求列至权重匹配的位置,若存在相同权重的其他请求,则当前导出请求列至相同权重的其他请求后,权重较低的其他请求依次向后偏移一位。
4.根据权利要求1所述的一种大批量数据导出方法,其特征在于:所述步骤3中,对请求进行预处理判断,获取数据量及导出单元的内存,若超过导出单元的内存,则满足大批量数据的特征。
5.根据权利要求4所述的一种大批量数据导出方法,其特征在于:对于满足大批量数据的特征的数据,直接分为n部分进行读取,并使用多线程同时处理。
6.根据权利要求4所述的一种大批量数据导出方法,其特征在于:对于满足大批量数据的特征的数据,直接扣去满足导出单元的内存的数据,其他数据均匀分配为n部分,进行读取并导出。
7.根据权利要求1所述的一种大批量数据导出方法,其特征在于:所述步骤4中,获得的数据实时写入本地磁盘。
8.根据权利要求2所述的一种大批量数据导出方法,其特征在于:所述步骤5中,除第一行外的每一行头部的请求基于指针接至上一行的尾部位置后,编码和权重更新为当前行队列的标识和对应位置的权重。
9.根据权利要求1所述的一种大批量数据导出方法,其特征在于:数据导出后上传到文件服务器,并把地址通过短信或其邮件发送给用户。
10.一种采用权利要求1~9之一所述的大批量数据导出方法的导出系统,其特征在于:所述系统包括:
一业务单元,用于完成业务请求;
一导出单元,用于完成导出请求;
一分发单元,用于区分用户的业务请求和导出请求,为业务请求调用业务单元,将导出请求导向导出单元;
所述业务单元和导出单元共同配置一数据库。
CN202110033980.5A 2021-01-12 2021-01-12 一种大批量数据导出系统及其导出方法 Active CN112364067B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110033980.5A CN112364067B (zh) 2021-01-12 2021-01-12 一种大批量数据导出系统及其导出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110033980.5A CN112364067B (zh) 2021-01-12 2021-01-12 一种大批量数据导出系统及其导出方法

Publications (2)

Publication Number Publication Date
CN112364067A true CN112364067A (zh) 2021-02-12
CN112364067B CN112364067B (zh) 2022-02-11

Family

ID=74534795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110033980.5A Active CN112364067B (zh) 2021-01-12 2021-01-12 一种大批量数据导出系统及其导出方法

Country Status (1)

Country Link
CN (1) CN112364067B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1960334A (zh) * 2006-09-12 2007-05-09 华为技术有限公司 队列调度方法及装置
CN106776829A (zh) * 2016-11-28 2017-05-31 成都广达新网科技股份有限公司 一种数据导出系统及其工作方法
CN107341154A (zh) * 2016-04-29 2017-11-10 北京京东尚科信息技术有限公司 一种数据导出的方法和装置
CN111143462A (zh) * 2019-12-31 2020-05-12 广州酷旅旅行社有限公司 数据导出的方法、装置、计算机设备和存储介质
CN111435354A (zh) * 2019-01-14 2020-07-21 北京京东尚科信息技术有限公司 数据导出方法、装置、存储介质及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1960334A (zh) * 2006-09-12 2007-05-09 华为技术有限公司 队列调度方法及装置
CN107341154A (zh) * 2016-04-29 2017-11-10 北京京东尚科信息技术有限公司 一种数据导出的方法和装置
CN106776829A (zh) * 2016-11-28 2017-05-31 成都广达新网科技股份有限公司 一种数据导出系统及其工作方法
CN111435354A (zh) * 2019-01-14 2020-07-21 北京京东尚科信息技术有限公司 数据导出方法、装置、存储介质及电子设备
CN111143462A (zh) * 2019-12-31 2020-05-12 广州酷旅旅行社有限公司 数据导出的方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN112364067B (zh) 2022-02-11

Similar Documents

Publication Publication Date Title
US20170329643A1 (en) Distributed node intra-group task scheduling method and system
CN104268018B (zh) 一种Hadoop集群中的作业调度方法和作业调度器
CN110134534B (zh) 基于nio针对大数据分布式系统进行消息处理优化的系统及方法
CN108667719A (zh) 一种实时消息传递方法及系统
CN1498374A (zh) 有效地共享网络处理器中的存储器带宽的设备和方法
CN111752708A (zh) 一种基于深度学习的存储系统自适应参数调优方法
CN109508912A (zh) 一种业务调度方法、装置、设备和存储介质
CN112364067B (zh) 一种大批量数据导出系统及其导出方法
CN110928905A (zh) 一种数据处理方法和装置
EP3835975A1 (en) Data transmission method and device
JP2023543744A (ja) リソーススケジューリング方法、システム、電子デバイスおよびコンピュータ可読記憶媒体
CN117271137A (zh) 一种多线程的数据分片并行方法
CN116932199A (zh) 云渲染方法、系统、装置、设备以及计算机存储介质
CN107122246B (zh) 智能数值模拟作业管理与反馈方法
CN114707667A (zh) 一种数据驱动的自动模型训练及应用系统
CN114363988A (zh) 分簇方法、装置和电子设备
CN113344548A (zh) 一种工作流生成方法、装置、设备及存储介质
CN113472896B (zh) 一种基于公有云的数据发送方法
CN111541824B (zh) 一种用于通讯信息传递的方法及系统
CN111796932A (zh) 一种gpu资源调度方法
US10075716B2 (en) Parallel encoding of weight refinement in ASTC image processing encoders
CN110704180A (zh) 基于混合云的工作流调度方法
CN110166368A (zh) 一种云存储网络带宽控制系统及方法
US20240127819A1 (en) Hardware efficient automatic speech recognition
CN111144760B (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
TA01 Transfer of patent application right

Effective date of registration: 20220113

Address after: 10 / F, building 1, 258 Xiqin street, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province, 310023

Applicant after: Green City Technology Industry Service Group Co.,Ltd.

Address before: No. 1503, 1505-1508, 15th floor, block a, Huaxing Times Square, 478 Wensan Road, Xihu District, Hangzhou City, Zhejiang Province, 310012

Applicant before: Green Man Technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Large Batch Data Export System and Its Export Method

Granted publication date: 20220211

Pledgee: Guotou Taikang Trust Co.,Ltd.

Pledgor: Green City Technology Industry Service Group Co.,Ltd.

Registration number: Y2024980011350

PE01 Entry into force of the registration of the contract for pledge of patent right