System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据扫描方法、装置、电子设备和存储介质制造方法及图纸_技高网

数据扫描方法、装置、电子设备和存储介质制造方法及图纸

技术编号:40663667 阅读:5 留言:0更新日期:2024-03-18 18:57
本公开的实施方式提供了一种数据扫描方法、装置、电子设备和存储介质,涉及计算机领域。该方法应用于Spark框架中的驱动器,Spark框架包括驱动器以及与驱动器连接的多个执行器,其中,多个执行器分别配置在分布式数据库的各个数据节点上。该方法包括:将数据扫描任务信息分别发送至多个执行器,以使多个执行器分别根据数据扫描任务信息,对其所在的数据节点进行数据扫描;接收多个执行器各自返回的数据扫描结果。本公开实施例提供的方案,可以将数据扫描任务分配至各个数据节点共同执行,因此无需在单一节点上占用大量内存,且数据扫描效率较高。

【技术实现步骤摘要】

所属的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。示例性电子设备在介绍了本公开示例性实施方式的数据扫描方法、存储介质和数据扫描装置之后,接下来,参考图8对本公开示例性实施方式的电子设备进行说明。图8显示的电子设备800仅仅是一个示例,不应对本公开实施例的功能和适用范围带来任何限制。如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:至少一个处理单元810、至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830。其中,存储单元存储有程序代码,程序代码可以被处理单元810执行,使得处理单元810执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。在一些实施例中,处理单元810可以执行上述数据扫描方法实施例的如下步骤:将数据扫描任务信息分别发送至所述多个执行器,以使所述多个执行器分别根据所述数据扫描任务信息,对其所在的数据节点进行数据扫描;接收所述多个执行器各自返回的数据扫描结果。存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(rom)8203。存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。总线830可以包括数据总线、地址总线和控制总线。电子设备800也可以与一个或多个外部设备840(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(i/o)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图8所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。应当注意,尽管在上文详细描述中提及了数据扫描装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。


技术介绍

1、本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

2、数据扫描是指在数据库或数据存储系统中,通过遍历数据来查找满足特定条件的记录或数据块的过程。

3、相关技术在执行数据扫描任务时,需要预先将各个数据节点中存储的数据读取至用于执行数据扫描任务的单一节点,并由该节点独立完成数据扫描任务。由于各个数据节点中均存储有大量数据,因此数据读取过程会占用大量内存,且由单一节点独立扫描全部数据的扫描方式效率较低。


技术实现思路

1、相关技术在进行数据扫描任务中,内存占用大,扫描效率低。

2、为此,在本上下文中,本公开的实施方式期望提供一种数据扫描方法、装置、电子设备和存储介质

3、在本公开实施例的第一方面中,提供了一种数据扫描方法,应用于spark框架中的驱动器,spark框架包括驱动器以及与驱动器连接的多个执行器,其中,多个执行器分别配置在分布式数据库的各个数据节点上,该方法包括:

4、将数据扫描任务信息分别发送至多个执行器,以使多个执行器分别根据数据扫描任务信息,对其所在的数据节点进行数据扫描;

5、接收多个执行器各自返回的数据扫描结果。

6、在一些实施例中,将数据扫描任务信息分别发送至多个执行器,包括:

7、构建广播变量,广播变量用于携带数据扫描任务信息;

8、将广播变量分别发送至多个执行器,以使各个执行器中的任务线程从广播变量中获取数据扫描任务信息,任务线程用于根据数据扫描任务信息,执行数据扫描任务。

9、在一些实施例中,数据扫描任务信息用于示出至少一个待扫描字段以及相应的数据筛选条件,该方法还包括:

10、构建累加器,累加器用于记录每个待扫描字段中目标数据的行数,其中,目标数据为满足数据筛选条件的数据;

11、将累加器分别发送至多个执行器,以便每个执行器分别将累加器下发至各自的任务线程。

12、在一些实施例中,数据扫描结果包括各个任务线程中累加器记录的累加结果,每个任务线程中累加器记录的累加结果包括该任务线程在每个待扫描字段中扫描到的目标数据的行数,接收多个执行器各自返回的数据扫描结果,包括:

13、接收多个执行器中各个任务线程返回的累加结果。

14、在一些实施例中,每个任务线程分别用于扫描该任务线程所在的数据节点中不同数据分片内待扫描字段的数据。

15、在一些实施例中,该方法还包括:

16、汇总各个任务线程返回的累加结果,得到最终扫描结果;

17、根据最终扫描结果,在至少一个待扫描字段中确定目标字段。

18、在一些实施例中,汇总各个任务线程返回的累加结果,得到最终扫描结果,包括:

19、将各个任务线程返回的累加结果中,相同待扫描字段中扫描到的目标数据的行数相加,得到每个待扫描字段中全部目标数据的行数;

20、将每个待扫描字段中全部目标数据的本文档来自技高网...

【技术保护点】

1.一种数据扫描方法,其特征在于,应用于Spark框架中的驱动器,所述Spark框架包括所述驱动器以及与所述驱动器连接的多个执行器,其中,所述多个执行器分别配置在分布式数据库的各个数据节点上,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述将数据扫描任务信息分别发送至所述多个执行器,包括:

3.根据权利要求1或2所述的方法,其特征在于,所述数据扫描任务信息用于示出至少一个待扫描字段以及相应的数据筛选条件,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述数据扫描结果包括各个所述任务线程中累加器记录的累加结果,每个任务线程中累加器记录的累加结果包括该任务线程在每个待扫描字段中扫描到的目标数据的行数,所述接收所述多个执行器各自返回的数据扫描结果,包括:

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,所述汇总各个所述任务线程返回的累加结果,得到最终扫描结果,包括:

7.根据权利要求6所述的方法,其特征在于,所述根据所述最终扫描结果,在所述至少一个待扫描字段中确定目标字段,包括:

8.一种数据扫描装置,其特征在于,应用于Spark框架中的驱动器,所述Spark框架包括所述驱动器以及与所述驱动器连接的多个执行器,其中,所述多个执行器分别配置在分布式数据库的各个数据节点上,所述装置包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。

...

【技术特征摘要】

1.一种数据扫描方法,其特征在于,应用于spark框架中的驱动器,所述spark框架包括所述驱动器以及与所述驱动器连接的多个执行器,其中,所述多个执行器分别配置在分布式数据库的各个数据节点上,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述将数据扫描任务信息分别发送至所述多个执行器,包括:

3.根据权利要求1或2所述的方法,其特征在于,所述数据扫描任务信息用于示出至少一个待扫描字段以及相应的数据筛选条件,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述数据扫描结果包括各个所述任务线程中累加器记录的累加结果,每个任务线程中累加器记录的累加结果包括该任务线程在每个待扫描字段中扫描到的目标数据的行数,所述接收所述多个执行器各自返回的数据扫描结果,包括:

【专利技术属性】
技术研发人员:郭忆冯舟吴俣余利华李卓豪
申请(专利权)人:杭州网易数之帆科技有限公司
类型:发明
国别省市:

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

1