[发明专利]数据获取方法和装置在审
申请号: | 201210147823.8 | 申请日: | 2012-05-11 |
公开(公告)号: | CN103390007A | 公开(公告)日: | 2013-11-13 |
发明(设计)人: | 胡恒铭 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 吴贵明;江舟 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 获取 方法 装置 | ||
技术领域
本申请涉及计算机领域,具体而言,涉及一种数据获取方法和装置。
背景技术
在企业应用系统中需要处理和存储大量的业务数据,但是由于目前计算机内存容量的限制,在某些业务需求下无法一次性全部处理这些数据,因此需要使用分页技术来把所要处理的数据分割成计算机内存能够容纳的若干小块,然后分别以小块为单位来处理这些数据,直到处理完毕。
分页显示作为一种常见的浏览和显示大量数据的方法被广泛使用,现有的分页技术中,将数据库中的结果集人为的分段来显示,其中,分页技术中包含四个参数:PageSize(页面大小,表示每页显示的数据的条数),TotalRecord(结果集中记录的总条数),PageIndex(当前页面数),TotalPage(页面总数),该方法包括如下步骤:
(1)获取数据库中满足某种条件的数据的总条数TotalRecord;
(2)根据程序中已经设定的PageSize计算出页面总数TotalPage的值;
(3)使用PageIndex循环分页显示结果集中的数据。
然而,目前这种分页技术主要用于前台显示数据,当应用于后台处理数据时,目前这种分页技术存在以下缺陷:
一、使用业务场景受限
在企业应用系统中,每天都会产生大量的业务数据。在处理这些数据的过程中,有些数据不会发生结果集大小的变化,而有些数据的结果集大小却在处理过程中动态改变。现有技术要求数据结果集大小在处理期间不能发生变化,现有的分页技术在处理这种数据结果集大小发生变化的数据时,可能会存在一些错误,如漏取等,下面结合具体示例对现有技术中处理过程可能存在的错误进行进一步描述:
在系统后台做结算项目时,所需获取的数据的结果集往往是动态变化的,如在进行打款时,获取打款小计的条件有两个:打款状态为“Paying”,并且原始记录的更新状态为“NOTBEENSETTLED”,当打款成功完成后要更新打款状态为“PayFinished”,这就导致了结果集动态变化的问题,下面具体举例来说明:
假设数据库中目前符合打款条件的记录有6条,页面大小为3条,那么这6条记录会分为2个页面来处理,这2个页面分别为第0页和第1页,具体如表一所示:
表一
现有的分页处理过程,首先取出第0页进行打款,打款成功后分别更新ID为001、002、003的打款状态为“PayFinished”,然后再取第1页进行处理。由于在对分页操作进行初始化操作时,系统根据参数PageSize和TotalRecord已经计算出了TotalPage,然后又根据PageIndex计算出了每页上的开始游标startPos和结束游标endPos。以表一为例,在对分页操作进行初始化操作时,系统已经根据PageSize=3和TotalRecord=6计算出了TotalPage=2,然后根据PageIndex=0计算出第0页上的startPos为1,endPos为3,根据PageIndex=1计算出第1页上的startPos为4,endPos为6。
在实际操作中,按照第0页至第TotalPage-1页的顺序从表一进行数据获取。当取出第0页数据并处理完后,ID为001、002、003的打款状态已被修改为“PayFinished”,这时,由于表一记录的是打款状态为“Paying”的数据,因此,在取出第0页数据并处理完后,表一中的数据发生了动态变化,如表二所示。
表二
然而,在面对表二中的数据时,系统仍然按照初始化操作得到的第1页上的startPos为4,endPos为6来获取第1页上的数据,此时由于表二中的ROWNUM已更改为1至3,从而使得无法获取到ROWNUM为4至6的数据,使得无法获取第1页上的数据,返回结果为空,也就不再进行打款了,两轮循环后打款结束,但此时ID为004、005、006的小计在本次任务中没有被执行打款操作,这就造成了ID为004、005、006小计的漏打。
二、页面总数参数TotalPage的计算方法繁琐不通用
现有技术在使用TotalRecord参数和PageSize参数计算页面总数参数TotalPage时,针对PageSize参数能被TotalRecord参数整除和不能整除两种场景提供了两种不同的计算方法,使得计算方法较为繁琐。
三、因某条数据处理时发生异常导致其他数据无法处理发生饿死现象
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210147823.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种抗氧化涂料及其制备方法
- 下一篇:一种废旧药用胶囊板的回收处理方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置