数据展示方法、装置、设备及存储介质制造方法及图纸

技术编号:18711522 阅读:42 留言:0更新日期:2018-08-21 22:46
本发明专利技术实施例公开了一种数据展示方法、装置、设备及存储介质,其中,所述方法包括:确定页面上当前展示区域在待展示的数据集合中的位置,其中,所述数据集合存储在持久化存储层;根据所述位置从持久化存储层中读取缓冲数据存入缓冲区,其中,所述缓冲区与所述数据集合相对应并预先建立在内存中,所述缓冲数据中包括所述位置及其相邻位置在所述数据集合中对应的数据;从所述缓冲区中读取所述位置在所述数据集合中对应的数据,并在所述页面上展示。本发明专利技术实施例在有限的内存量条件下实现大数据量的展示,并且不受数据访问速度制约。

Data display method, device, device and storage medium

The embodiment of the present invention discloses a data display method, apparatus, device and storage medium, wherein the method includes: determining the position of the current display area on the page in the data set to be displayed, wherein the data set is stored in the persistent storage layer; and reading from the persistent storage layer according to the position The buffer data is stored in a buffer, where the buffer corresponds to the data set and is pre-established in memory. The buffer data includes data corresponding to the position and its adjacent position in the data set; the data corresponding to the position in the data set is read from the buffer; and It is displayed on the page. The embodiment of the invention realizes the display of large amount of data under the condition of limited memory and is not restricted by the speed of data access.

【技术实现步骤摘要】
数据展示方法、装置、设备及存储介质
本专利技术涉及计算机
,尤其涉及一种数据展示方法、装置、设备及存储介质。
技术介绍
列表和电子表格是常用的软件数据可视化方案,其将数据按照行、列的形式在用户界面(UI)上展现给用户。当需要展现的数据较多时,通常采取分页或者滚动条的方式方便用户浏览。相对而言,采取滚动条的方式可以让用户同时进行多行的数据选取和更改,比分页方式有更好的交互体验。目前,采取滚动条的方式展示数据时,主要有以下两种方案:1)将待展示的数据全部存储在内存中,根据滚动条的滚动位置直接从内存中读取当前要展示的数据,以此提高滚动条滚动时界面展示的速度;2)将待展示的数据全部存储在持久化的介质中,如本地硬盘上的文件或者远端数据库等,当用户拖动滚动条时,即时从持久化介质中拉取当前要展示的数据放在内存中,以供UI元素展示。但这两种方案仍存在一定的缺陷。针对第一种方案,由于内存的使用跟数据总量成正比,而当数据量较大时,例如上百万甚至千万级别的数据,此时,可用内存量会成为系统的瓶颈,继而造成软件的卡顿,甚至崩溃;针对第二种方案,由于受到本地磁盘、网络连接或者服务器性能的制约,持久化介质的本文档来自技高网...

【技术保护点】
1.一种数据展示方法,其特征在于,所述方法包括:确定页面上当前展示区域在待展示的数据集合中的位置,其中,所述数据集合存储在持久化存储层;根据所述位置从持久化存储层中读取缓冲数据存入缓冲区,其中,所述缓冲区与所述数据集合相对应并预先建立在内存中,所述缓冲数据中包括所述位置及其相邻位置在所述数据集合中对应的数据;从所述缓冲区中读取所述位置在所述数据集合中对应的数据,并在所述页面上展示。

【技术特征摘要】
1.一种数据展示方法,其特征在于,所述方法包括:确定页面上当前展示区域在待展示的数据集合中的位置,其中,所述数据集合存储在持久化存储层;根据所述位置从持久化存储层中读取缓冲数据存入缓冲区,其中,所述缓冲区与所述数据集合相对应并预先建立在内存中,所述缓冲数据中包括所述位置及其相邻位置在所述数据集合中对应的数据;从所述缓冲区中读取所述位置在所述数据集合中对应的数据,并在所述页面上展示。2.根据权利要求1所述的方法,其特征在于,所述缓冲数据在缓冲区中存储为定长数组,该定长数组包括M个数据块,每个数据块中的数据包括不同的页面展示区域在所述数据集合中的位置及其相邻位置在所述数据集合中对应的数据,且每个数据块的长度为N,其中,M和N均为自然数。3.根据权利要求2所述的方法,其特征在于,所述缓冲区中建立有平衡二叉树,其节点通过指针指向定长数组中对应的数据块,所述平衡二叉树用于搜索页面上当前展示区域在所述数据集合中对应的数据是否命中缓冲区。4.根据权利要求3所述的方法,其特征在于,所述平衡二叉树的节点总数与数据块的个数M相同,并且每个节点通过其存储的标记值来标记该节点指向的数据块在所述数据集合中的位置,其中,所述数据集合按照长度为N的数据块划分。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:获取经更新后所述页面上当前展示区域在所述数据集合中的更新位置;根据所述更新位置确定更新后的当前展示区域在所述数据集合中对应的更新数据;如果所述更新数据命中所述缓冲区的缓冲数据,则从所述缓冲区中读取所述更新数据在所述页面上展示;如果所述更新数据未命中所述缓冲区的缓冲数据,则根据所述更新位置更新所述缓冲区中的缓冲数据,并从所述更新后的缓冲区中读取所述更新数据在所述页面上展示,其中,更新后的缓冲数据中包括从持久化存储层中读取的所述更新位置及其相邻位置在所述数据集合中对应的数据。6.根据权利要求5所述的方法,其特征在于,如果所述更新数据命中所述缓冲区的缓冲数据,则从所述缓冲区中读取所述更新数据在所述页面上展示,包括:根据所述更新位置在平衡二叉树中查找对应的节点;如果平衡二叉树中存在与所述更新位置对应的节点,则从该节点指向的数据块中拉取所述更新位置在所述数据集合中对应的更新数据在所述页面上展示。7.根据权利要求6所述的方法,其特征在于,所述数据块包括边界区域,该边界区域包括具有定长的块头和块尾;相应的,在从节点指向的数据块中拉取数据时,所述方法还包括:判断当前展示区域在数据集合中对应的数据与其所在定长数组中数据块的边界区域的数据是否有交集;若有交集,则将与当前展示区域在数据集合中对应的数据所在的数据块相邻的数据块的数据从持久化存储层中读取,并存入定长数组中未被填充的数据块。8.根据权利要求5所述的方法,其特征在于,如果所述更新数据未命中所述缓冲区的缓冲数据,则根据所述更新位置更新所述缓冲区中的缓冲数据,并从所述更新后的缓冲区中读取所述更新数据在所述页面上展示,包括:根据所述更新位置在平衡二叉树中查找对应的节点;如果平衡二叉树中不存在与所述更新位置对应的节点,则在平衡二叉树中新增节点;从持久化存储层中读取所述更新位置在所述数据集合中对应的数据块中的更新数据存入所述定长数组中未被填充的数据块;更新指针使得所述新增节点指向该数据块,并从所述新增节点指向的数据块中拉取所述更新位置在所述数据集合中对应的更新数据在所述页面上展...

【专利技术属性】
技术研发人员:赵越
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

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

1