数据表中数据块的识别方法、系统、设备及介质与流程

文档序号:32211016发布日期:2022-11-16 06:02阅读:37来源:国知局
数据表中数据块的识别方法、系统、设备及介质与流程

1.本公开涉及数据识别领域,特别涉及一种数据表中数据块的识别方法、系统、设备及介质。


背景技术:

2.目前基于hadoop框架的大数据体系下的数据仓库,衍生出许多的数据可视化框架与方案,例如开源框架grafana与superset,这些框架能够较好地与大数据框架体系进行兼容,基于底层数据库,通过简单的配置可以得到较好的数据可视化效果。然而开源框架必须要进行部署才能使用,同时数据的迁移性较差,在较多的应用场景中,比如行业研究报告、学术分享报告和政府报告等数据交流中,往往使用ppt这种office工具进行数据展示,流行的开源可视化工具无法承担这一角色。
3.解决当前问题的技术方案是开发一套基于数据仓库的自动化office报告制作系统,周期性地根据模板产生ppt报告。当前现状是分析师在其中充斥了大量的重复性工作,而且一旦随着时间的迁移,报告的数据随之更新,这种工作还具有长期性、复杂性。
4.因此将office接入数据仓库成为数据可视化展示的一部分非常重要,但是数据表中的数据块与图或表的源数据的数据块很难匹配,导致更新的数据无法准确插入到更新的图或表中,且由于人工操作还会导致工作效率低。另外,基于数据矩阵的连通域算法,大多数应用在图像识别方向,目前存在两种主流的算法,two-pass算法与seed-filling算法,这两种算法都能有效地适用于普通的像素点连通域分析,但是不适用于当前应用方向。


技术实现要素:

5.本公开要解决的技术问题是为了克服现有技术中无法准确有效识别数据表中的数据块以及人工操作低效性的缺陷,提供一种数据表中数据块的识别方法、系统、设备及介质。
6.本公开是通过下述技术方案来解决上述技术问题:
7.第一方面,提供一种数据表中数据块的识别方法,所述方法包括:
8.对待处理的数据表按预设方向查询有效数据位;
9.当查询到第一个有效数据位时,判定所述有效数据位为当前数据域的数据,并将所述有效数据位压入待检测栈;
10.通过所述待检测栈依次弹出待检测的位置,并判断所述有效数据位的邻位是否具有新的有效数据位,若是,则根据具有新的有效数据位的所述邻位来拓展当前数据域的边界范围;
11.将当前数据域的边界范围上所有未经过验证的数据位置压入所述待检测栈,然后返回所述通过所述待检测栈依次弹出待检测的位置的步骤,直至所述待检测栈为空时,输出当前数据域。
12.较佳地,所述输出当前数据域的步骤之后包括:将除去当前数据域之后的所述数
据表继续作为待处理的数据表,然后返回所述对待处理的数据表按预设方向查询有效数据位的步骤,继续查询新的有效数据位,直至所有新的有效数据位均已被查询到,结束流程。
13.较佳地,所述对待处理的数据表按预设方向查询有效数据位的步骤具体包括:从待处理的数据表的起始位置从左到右按行开始查询有效数据位。
14.较佳地,在所述判断所述有效数据位的邻位是否具有新的有效数据位的步骤中,若所述有效数据位的坐标为(x,y),则所述有效数据位的邻位的坐标分别为(x-1,y)、(x+1,y)、(x-1,y+1)、(x,y+1)和(x+1,y+1)。
15.较佳地,所述根据具有新的有效数据位的所述邻位来拓展当前数据域的边界范围的步骤具体包括:将具有新的有效数据位的所述邻位的横纵坐标值与当前数据域的最小和最大的横纵坐标值分别进行比对,依次取最小值和最大值,将所述最小值和所述最大值拓展为当前数据域的边界坐标。
16.第二方面,提供一种数据表中数据块的识别系统,所述系统包括:
17.查询模块,用于对待处理的数据表按预设方向查询有效数据位;
18.压栈模块,用于当查询到第一个有效数据位时,判定所述有效数据位为当前数据域的数据,并将所述有效数据位压入待检测栈;
19.拓展模块,用于通过所述待检测栈依次弹出待检测的位置,并判断所述有效数据位的邻位是否具有新的有效数据位,若是,则根据具有新的有效数据位的所述邻位来拓展当前数据域的边界范围;
20.输出模块,用于将当前数据域的边界范围上所有未经过验证的数据位置压入所述待检测栈,然后调用所述拓展模块,直至所述待检测栈为空时,输出当前数据域。
21.较佳地,所述输出模块具体用于将除去当前数据域之后的所述数据表继续作为待处理的数据表,然后调用所述查询模块,继续查询新的有效数据位,直至所有新的有效数据位均已被查询到为止。
22.较佳地,所述查询模块具体用于从待处理的数据表的起始位置从左到右按行开始查询有效数据位。
23.较佳地,若所述有效数据位的坐标为(x,y),则所述有效数据位的邻位的坐标分别为(x-1,y)、(x+1,y)、(x-1,y+1)、(x,y+1)和(x+1,y+1)。
24.较佳地,所述拓展模块具体用于将具有新的有效数据位的所述邻位的横纵坐标值与当前数据域的最小和最大的横纵坐标值分别进行比对,依次取最小值和最大值,将所述最小值和所述最大值拓展为当前数据域的边界坐标。
25.第三方面,提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现任一项所述的数据表中数据块的识别方法。
26.第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现任一项所述的数据表中数据块的识别方法。
27.本公开的积极进步效果在于:本公开提供的方法能够有效识别数据表中的数据块,即使是在数据严重缺失的情况下也能准确获取数据域,同时剔除了人工观察的低效操作,保证了office中的数据块到数据仓库的稳定更新,为实现将office工具作为一种数据仓库的可视化工具的功能提供了铺垫。
附图说明
28.图1为本公开实施例1提供的一种数据表中数据块的识别方法的流程示意图;
29.图2为本公开实施例1提供的一种数据表中数据块的识别方法中的邻位检测位置图。
30.图3为本公开实施例1提供的一种数据表中数据块的识别方法的效果示意图。
31.图4为一种传统的连通域算法的效果示意图。
32.图5为本公开实施例1提供的一种数据表中数据块的识别方法的一种应用实例的第一效果示意图。
33.图6为本公开实施例1提供的一种数据表中数据块的识别方法的一种应用实例的第二效果示意图。
34.图7为本公开实施例1提供的一种数据表中数据块的识别方法的一种应用实例的第三效果示意图。
35.图8为本公开实施例1提供的一种数据表中数据块的识别方法的一种应用实例的第四效果示意图。
36.图9为本公开实施例1提供的一种数据表中数据块的识别方法的另一种应用实例的第一效果示意图。
37.图10为本公开实施例1提供的一种数据表中数据块的识别方法的另一种应用实例的第二效果示意图。
38.图11为本公开实施例1提供的一种数据表中数据块的识别方法的另一种应用实例的第三效果示意图。
39.图12为本公开实施例1提供的一种数据表中数据块的识别方法的另一种应用实例的第四效果示意图。
40.图13为本公开实施例1提供的一种数据表中数据块的识别方法的另一种应用实例的第五效果示意图。
41.图14为本公开实施例1提供的一种数据表中数据块的识别方法的另一种应用实例的第六效果示意图。
42.图15为本公开实施例2提供的一种数据表中数据块的识别系统的结构示意图;
43.图16为本公开实施例3提供的一种电子设备的结构示意图。
具体实施方式
44.下面通过实施例的方式进一步说明本公开,但并不因此将本公开限制在所述的实施例范围之中。
45.实施例1
46.本实施例提供一种数据表中数据块的识别方法,图1为本公开实施例1提供的一种数据表中数据块的识别方法的流程示意图,如图1所示,所述方法包括:
47.步骤101、对待处理的数据表按预设方向查询有效数据位。
48.在本步骤101中,从待处理的数据表的起始位置从左到右按行开始查询有效数据位。
49.其中,在数据表中具有数据的单元格的位置称为有效数据位。
50.步骤102、当查询到第一个有效数据位时,判定该有效数据位为当前数据域的数据,并将该有效数据位压入待检测栈。
51.步骤103、通过待检测栈依次弹出待检测的位置,并判断该有效数据位的邻位是否具有新的有效数据位,若是,则根据具有新的有效数据位的邻位来拓展当前数据域的边界范围。
52.其中,在拓展数据域的边界范围时,需要定位邻位的位置,区别于传统算法中的四邻位探查法和八邻位探查法,在本实施例中选择五邻位探查法,若有效数据位的坐标为(x,y),则有效数据位的邻位的坐标分别为(x-1,y)、(x+1,y)、(x-1,y+1)、(x,y+1)和(x+1,y+1)。如图2所示,图中黑色位置为待检测的位置,灰色部分为待检测位置的五个待检测邻位,如果检测到的邻位中具有有效数据位,则会使用该位置的坐标去拓展当前数据域的边界范围。
53.在本步骤103中,将具有新的有效数据位的邻位的横纵坐标值与当前数据域的最小和最大的横纵坐标值分别进行比对,依次取最小值和最大值,将最小值和最大值拓展为当前数据域的边界坐标。
54.其中,将具有新的有效数据位的邻位的x值与当前数据域中的最小x值比对,y值与当前数据域中的最小y值比对,依次取最小值,将该最小值拓展为当前数据域的左上角位置;将具有新的有效数据位的邻位的x值与当前数据域中的最大x值比对,y值与当前数据域中的最大y值比对,依次取最大值,将该最大值拓展为当前数据域的边界坐标。
55.步骤104、将当前数据域的边界范围上所有未经过验证的数据位置压入待检测栈,然后返回步骤103,直至待检测栈为空时,输出当前数据域。
56.其中,新拓展的数据域边界会经过验证,将当前数据域边界上所有未经过验证的数据位置压入待检测栈,重新拓展新的数据域的边界,借此屏蔽数据缺失的干扰,获取准确数据域,当待检测栈为空时,说明当前数据域内的所有数据位置所有数据位置已经全部被检测到,从而输出当前数据域。
57.在具体实施时,上述步骤104之后还包括:
58.步骤105、将除去当前数据域之后的数据表继续作为待处理的数据表,然后返回步骤101,继续查询新的有效数据位,直至所有新的有效数据位均已被查询到,结束流程。
59.其中,将除去当前数据域之后的数据表继续作为待处理的数据表,继续查询新的有效数据位,即可实现在数据表中遍历一遍就获取全部有效数据域。
60.在本实施例中,如图3所示,图中灰色块区域为本方法获得的数据块示意图,其中(4,6)位置(即该位置的横坐标值为4,纵坐标值为6,下同)被判定为数据表左边最大的数据块,这显然符合预期,也符合excel的常规使用手段,即使是在整个数据块的数据严重缺失的情况下依然能够准确地分辨出所有的数据块。图4为采用传统的连通域探查法取得的效果示意图,由于(4,6)位置的八个邻位都没有有效数据,因此会被传统算法判定为数据块,这不符合预期。
61.在本实施例中,从图5可以看出,在这个5
×
5的矩阵中,仅存在对角线的数据,大部分数据存在缺失的情况。其中,浅灰色位置定义为数据域的起始查找点,黑色位置为上一轮检测到的有效数据位,用于拓展整体数据域的边界范围,深灰色位置为当前拓展整体数据域范围之后新出现的检测点,这些新出现的检测点也会进入待检测栈,等待被检测。在图5
中,数据域的起始位置(1,1)率先被遍历检测到,然后检测(1,1)的邻位,检测到(2,2)位置具有有效数据位,将(1,1)至(2,2)设置为当前数据域的有效区域(即该区域内的最小坐标值为(1,1),最大坐标值为(2,2)),同时将深灰色区域,即当前数据域内未被检测的位置压入待检测栈进行检测,以此推进,如图6、图7和图8所示,就能顺利获取整个数据域。
62.在本实施例中,如图9所示,浅灰色部分(1,1)位置为数据表的起始位置,从当前位置开始进行检测,检测到该位置的五邻位中位置(2,2)具有有效数据,于是将位置(2,2)拓展为当前数据域的边界坐标。同理上,图10拓展了(3,3)位置,图11拓展了(2,4)位置。在图12中,在检测(3,4)位置时,观察到(4,5)和(5,4)两个有效数据位置不在任何其他有效数据位的五邻位中,但是当(1,5)位置被判定为有效数据位后,当前数据域的边界坐标的y值会拓展为5,此时深灰色位置的空值数据点也会被压入待检测栈,当检测到位置(3,5)时,位置(4,5)就会被拓展到当前数据域中,如图13所示。同理上,如图14所示,当位置(5,4)被检测到时,当前数据域的边界坐标的x值就拓展到5,此时,数据域内的区域就会被检测出是一个5
×
5的数据矩阵,此时当前数据域内的所有有效数据位已经全部被检测到,输出当前数据域。图9至图14说明了本公开区别于传统算法的优势所在,详细描述了本公开是如何将非邻近位的有效数据位也识别进入数据块的。
63.本实施例的数据表中数据块的识别方法,代替人工操作的方法,即使是在数据表中数据严重缺失的情况下依然能够准确地分辨出各个数据块的数据区域,在连通域算法上做了创新修改,促使程序更加符合用户使用情况,剔除了人工观察的低效操作,可以保证office中的数据块到数据仓库的稳定更新,为实现将office工具作为一种数据仓库的可视化工具的功能提供了铺垫。
64.实施例2
65.本实施例提供一种数据表中数据块的识别系统,可实现上述实施例1中的数据表中数据块的识别方法,图15为本实施例提供的一种数据表中数据块的识别系统的结构示意图,如图15所示,所述系统包括:
66.查询模块1,用于对待处理的数据表按预设方向查询有效数据位;
67.压栈模块2,用于当查询到第一个有效数据位时,判定有效数据位为当前数据域的数据,并将有效数据位压入待检测栈;
68.拓展模块3,用于通过待检测栈依次弹出待检测的位置,并判断有效数据位的邻位是否具有新的有效数据位,若是,则根据具有新的有效数据位的邻位来拓展当前数据域的边界范围;
69.输出模块4,用于将当前数据域的边界范围上所有未经过验证的数据位置压入待检测栈,然后调用拓展模块3,直至待检测栈为空时,输出当前数据域。
70.在具体实施时,输出模块4具体用于将除去当前数据域之后的数据表继续作为待处理的数据表,然后调用查询模块1,继续查询新的有效数据位,直至所有新的有效数据位均已被查询到为止。
71.在具体实施时,查询模块1具体用于从待处理的数据表的起始位置从左到右按行开始查询有效数据位。
72.在具体实施时,若有效数据位的坐标为(x,y),则有效数据位的邻位的坐标分别为(x-1,y)、(x+1,y)、(x-1,y+1)、(x,y+1)和(x+1,y+1)。
73.在具体实施时,拓展模块3具体用于将具有新的有效数据位的邻位的横纵坐标值与当前数据域的最小和最大的横纵坐标值分别进行比对,依次取最小值和最大值,将最小值和最大值拓展为当前数据域的边界坐标。
74.本实施例的数据表中数据块的识别系统,通过各个模块之间的相互配合,实现了即使在数据表中数据严重缺失的情况下依然能够准确地分辨出各个数据块的数据区域的功能,解决了人工操作的低效性问题,保证office中的数据块到数据仓库的稳定更新,为实现将office工具作为一种数据仓库的可视化工具的功能提供了铺垫。
75.实施例3
76.本实施例提供一种电子设备,图16为本实施例提供的一种电子设备的结构示意图,电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例1中的数据表中数据块的识别方法。图16显示的电子设备30仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。如图16所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
77.总线33包括数据总线、地址总线和控制总线。
78.存储器32可以包括易失性存储器,例如随机存取存储器(ram)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ram)323。
79.存储器32还可以包括具有一组(至少一个)程序模块324的程序工具325(或实用工具),这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
80.处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如上述实施例1中的数据表中数据块的识别方法。
81.电子设备30也可以与一个或多个外部设备34通信。这种通信可以通过输入/输出(i/o)接口35进行。并且,模型生成的电子设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图16所示,网络适配器36通过总线33与电子设备30的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
82.应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
83.实施例4
84.本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例1中的数据表中数据块的识别方法。
85.其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
86.在可能的实施方式中,本公开还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现上述实施例1中的数据表中数据块的识别方法中的步骤。
87.其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
88.虽然以上描述了本公开的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本公开的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本公开的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本公开的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1