一种数据导出方法及装置制造方法及图纸

技术编号:13879599 阅读:80 留言:0更新日期:2016-10-23 01:07
本发明专利技术公开了一种数据导出方法及装置,主要包括:接收数据导出请求,根据系统负荷情况,针对所述数据导出请求配置页面大小;将所述页面大小作为每次读取的数据量,按照所述每次读取的数据量依次读取所述数据导出请求对应的未被读取的数据,且每次读取后将读取到的数据缓存至缓冲区中;将所述缓冲区中缓存的数据存入设定格式的文件中。采用该方法,可以解决现有技术中存在数据导出过程中影响系统内存占用的问题。

【技术实现步骤摘要】

本专利技术涉及数据处理
,更具体的涉及一种数据导出方法及装置
技术介绍
目前,基于浏览器的WEB应用程序已经基本取代了传统的CS结构的应用程序,很多WEB应用程序中文件导出功能为常用功能。随着业务量和数据量的上升,文件导出功能执行时间变得越来越长,导致系统整体性能大受影响,甚至出现系统崩溃的严重后果。现有技术中,通过边读取数据,边将读取的数据存储为设定格式文件的方式实现数据导出,或者通过先将数据生成文本格式文件,再将文本格式文件转换为设定格式文件的方式实现数据导出。在高并发环境下导出数据时,虽然上述两种方法均可以保证单个下载任务的资源占用量,但是当导出任务积累到一定数量时,仍然会造成系统资源的大量占用,从而影响到系统整体的性能。
技术实现思路
本专利技术实施例提供一种数据导出方法及装置,用以解决现有技术中存在数据导出过程中影响系统内存占用的问题。本专利技术实施例提供一种数据导出方法,包括:接收数据导出请求,根据系统负荷情况,针对所述数据导出请求配置页面大小;将所述页面大小作为每次读取的数据量,按照所述每次读取的数据量依次读取所述数据导出请求对应的未被读取的数据,且每次读取后将读取到的数据
缓存至缓冲区中;将所述缓冲区中缓存的数据存入设定格式的文件中。进一步地,所述将所述缓冲区中缓存的数据存入设定格式的文件中,包括:若所述缓冲区溢满时所述数据导出请求对应的数据未均被读取,则将所述缓冲区中缓存的数据存入所述设定格式文件中;重复执行按照所述每次读取数据量依次读取所述数据导出请求对应的未被读取的数据,且每次读取后将读取到的数据缓存至缓冲区中,将所述缓冲区中缓存的数据均存入设定格式文件中,至所述数据导出请求对应的数据均被存入所述设定格式文件中。进一步地,所述根据接收数据导出请求之后,还包括:将所述数据导出请求作为新导出任务添加到任务列表中;根据所述任务列表中正在执行的导出任务的数量确定是否执行所述新导出任务;若确定执行所述新导出任务,则执行根据系统负荷情况,针对所述数据导出请求配置页面大小并分配缓冲区的步骤。进一步地,所述执行根据系统负荷情况,针对所述数据导出请求配置页面大小并分配缓冲区的步骤,包括:启动与所述新导出任务对应的线程,在所述线程中执行根据系统负荷情况,针对所述数据导出请求配置页面大小并分配缓冲区的步骤。进一步地,所述根据所述任务列表中正在执行的导出任务的数量确定是否执行所述新导出任务,包括:确定所述任务列表中正在执行的导出任务的数量;若所述任务列表中正在执行的导出任务的数量不小于设定阈值,则确定不执行所述新导出任务;若所述任务列表中正在执行的导出任务的数量小于设定阈值,则确定执行所述新导出任务。进一步地,所述设定格式文件为CVS格式文件。请求单元:用于接收数据导出请求,根据系统负荷情况,针对所述数据导出请求配置页面大小;读取单元:用于将所述页面大小作为每次读取的数据量,按照所述每次读取的数据量依次读取所述数据导出请求对应的未被读取的数据,且每次读取后将读取到的数据缓存至缓冲区中;确定格式单元:用于将所述缓冲区中缓存的数据存入设定格式的文件中。进一步地,所述确定格式单元具体用于:若所述缓冲区溢满时所述数据导出请求对应的数据未均被读取,则将所述缓冲区中缓存的数据存入所述设定格式文件中;重复执行按照所述每次读取数据量依次读取所述数据导出请求对应的未被读取的数据,且每次读取后将读取到的数据缓存至缓冲区中,将所述缓冲区中缓存的数据均存入设定格式文件中,至所述数据导出请求对应的数据均被存入所述设定格式文件中。进一步地,所述请求单元具体还用于:将所述数据导出请求作为新导出任务添加到任务列表中;根据所述任务列表中正在执行的导出任务的数量确定是否执行所述新导出任务;若确定执行所述新导出任务,则执行根据系统负荷情况,针对所述数据导出请求配置页面大小并分配缓冲区的步骤。进一步地,所述读取单元具体还用于:启动与所述新导出任务对应的线程,在所述线程中执行根据系统负荷情况,针对所述数据导出请求配置页面大小并分配缓冲区的步骤。进一步地,所述读取单元具体用于:确定所述任务列表中正在执行的导出任务的数量;若所述任务列表中正在执行的导出任务的数量不小于设定阈值,则确定不
执行所述新导出任务;若所述任务列表中正在执行的导出任务的数量小于设定阈值,则确定执行所述新导出任务。本专利技术实施例接收数据导出请求,根据系统负荷情况,针对所述数据导出请求配置页面大小;将所述页面大小作为每次读取的数据量,按照所述每次读取的数据量依次读取所述数据导出请求对应的未被读取的数据,且每次读取后将读取到的数据缓存至缓冲区中;将所述缓冲区中缓存的数据存入设定格式的文件中。采用该方法,当客户端请求数据导出的时候,可以根据系统的负荷情况为数据导出请求配置获取数据占用系统的资源,通过对系统中所有的导出请求的统一管理,即满足操作人员对数据导出的要求,增强了系统的交互性,也可以从根本上解决了现有技术中存在数据导出过程中影响系统内存占用的问题。附图说明图1为本专利技术实施例一提供一种数据导出方法流程图;图2为本专利技术实施例二提供一种数据导出装置结构示意图。具体实施方式本专利技术实施例接收数据导出请求,根据系统负荷情况,针对所述数据导出请求配置页面大小;将所述页面大小作为每次读取的数据量,按照所述每次读取的数据量依次读取所述数据导出请求对应的未被读取的数据,且每次读取后将读取到的数据缓存至缓冲区中;将所述缓冲区中缓存的数据存入设定格式的文件中。采用该方法,当客户端请求数据导出的时候,可以根据系统的负荷情况为数据导出请求配置获取数据占用系统的资源,通过对系统中所有的导出请求的统一管理,即满足操作人员对数据导出的要求,增强了系统的交互性,也可以从根本上解决了现有技术中存在数据导出过程中影响系统内存占用的问
题。以下结合说明书附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用与说明和解释本专利技术,并不用与限定本专利技术,并且在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。实施例一本专利技术实施例一提供一种数据导出方法,具体如图1所述,包括以下步骤:步骤101,接收数据导出请求,根据系统负荷情况,针对所述数据导出请求配置页面大小;步骤102,将所述页面大小作为每次读取的数据量,按照所述每次读取的数据量依次读取所述数据导出请求对应的未被读取的数据,且每次读取后将读取到的数据缓存至缓冲区中;步骤103,将所述缓冲区中缓存的数据存入设定格式的文件中。在步骤101中,根据接收到的数据导出请求,根据系统负荷情况,为接收到的数据导出请求配置页面大小,其中,在本专利技术实施例中,配置的页面大小和系统的负荷情况相关联,而且配置的页面大小是每次从网络侧下载的数据量的大小,在实际应用中,可以将从网络侧下载的数据量以配置的页面大小依次显示到显示屏上,也可以不用显示在显示屏上,而是直接将从网络侧下载的数据量直接缓冲到分配的缓冲区中,本专利技术实施例对上述方法不做具体的限定。根据接收的数据导出请求,根据所述数据导出请求的时间顺序,将所述数据导出请求添加到任务列表中,在本专利技术实施例中,系统将所述数据导出请求添加到任务列表中之后,会立即返回“数据导出任务已经启动”的消息本文档来自技高网
...

【技术保护点】
一种数据导出方法,其特征在于,包括:接收数据导出请求,根据系统负荷情况,针对所述数据导出请求配置页面大小;将所述页面大小作为每次读取的数据量,按照所述每次读取的数据量依次读取所述数据导出请求对应的未被读取的数据,且每次读取后将读取到的数据缓存至缓冲区中;将所述缓冲区中缓存的数据存入设定格式的文件中。

【技术特征摘要】
1.一种数据导出方法,其特征在于,包括:接收数据导出请求,根据系统负荷情况,针对所述数据导出请求配置页面大小;将所述页面大小作为每次读取的数据量,按照所述每次读取的数据量依次读取所述数据导出请求对应的未被读取的数据,且每次读取后将读取到的数据缓存至缓冲区中;将所述缓冲区中缓存的数据存入设定格式的文件中。2.如权利要求1所述方法,其特征在于,所述将所述缓冲区中缓存的数据存入设定格式的文件中,包括:若所述缓冲区溢满时所述数据导出请求对应的数据未均被读取,则将所述缓冲区中缓存的数据存入所述设定格式文件中;重复执行按照所述每次读取数据量依次读取所述数据导出请求对应的未被读取的数据,且每次读取后将读取到的数据缓存至缓冲区中,将所述缓冲区中缓存的数据均存入设定格式文件中,至所述数据导出请求对应的数据均被存入所述设定格式文件中。3.如权利要求1所述方法,其特征在于,所述根据接收数据导出请求之后,还包括:将所述数据导出请求作为新导出任务添加到任务列表中;根据所述任务列表中正在执行的导出任务的数量确定是否执行所述新导出任务;若确定执行所述新导出任务,则执行根据系统负荷情况,针对所述数据导出请求配置页面大小并分配缓冲区的步骤。4.如权利要求3所述方法,其特征在于,所述执行根据系统负荷情况,针对所述数据导出请求配置页面大小并分配缓冲区的步骤,包括:启动与所述新导出任务对应的线程,在所述线程中执行根据系统负荷情
\t况,针对所述数据导出请求配置页面大小并分配缓冲区的步骤。5.如权利要求3所述方法,其特征在于,所述根据所述任务列表中正在执行的导出任务的数量确定是否执行所述新导出任务,包括:确定所述任务列表中正在执行的导出任务的数量;若所述任务列表中正在执行的导出任务的数量不小于设定阈值,则确定不执行所述新导出任务;若所述任务列表中正在执行的导出任务的数量小于设定阈值,则确定执...

【专利技术属性】
技术研发人员:李红杰裴照华张保华盛强苗浩龙范晨声王亚军曹文慧李远郭晓玲
申请(专利权)人:中国移动通信集团河南有限公司
类型:发明
国别省市:河南;41

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

1