【技术实现步骤摘要】
数据采集系统、方法、节点设备及存储介质
本专利技术涉及大数据
,特别涉及一种数据采集系统、方法、节点设备及存储介质。
技术介绍
随着大数据技术的发展以及网络中海量数据的飞速增长,数据采集的挑战变得尤为突出。数据采集是指对数据源中的数据经过一系列的处理操作,最终将处理操作后的数据存储至存储源的过程。通过进行数据采集,可以帮助人们管理、分析和挖掘数据,具有巨大的经济和应用价值。目前数据采集系统通常采用单机多线程的架构,基于同步方式进行数据采集:数据采集系统包括多个线程,每个线程用于执行一种数据处理操作,在数据采集的过程中,当数据源提供了一批数据时,第一个线程从数据源拉取这批数据,对数据进行处理后,将处理后的数据发送给第二个线程,第二个线程接收第一个线程的数据,对数据进行处理后,将处理后的数据发送给第三个线程,依次类推,最后一个线程接收数据并对数据进行处理后,会将处理后的数据存储至存储源中。之后,最后一个线程会通知数据源其提供的这批数据已经成功存储入库,数据源得到通知后,会提供下一批数据,则第一个线程会继续会从数据源拉取下一 ...
【技术保护点】
1.一种数据采集系统,其特征在于,所述数据采集系统包括多个数据处理模块;/n所述数据采集系统中第一个数据处理模块用于当获取到数据源的任一批数据时,指示所述数据源提供下一批数据;/n所述数据采集系统中任一个数据处理模块用于对已接收到的任一批数据执行对应的数据处理操作时,接收下一批数据;/n所述数据采集系统中最后一个数据处理模块用于将处理后的数据存储至第一存储源中。/n
【技术特征摘要】
1.一种数据采集系统,其特征在于,所述数据采集系统包括多个数据处理模块;
所述数据采集系统中第一个数据处理模块用于当获取到数据源的任一批数据时,指示所述数据源提供下一批数据;
所述数据采集系统中任一个数据处理模块用于对已接收到的任一批数据执行对应的数据处理操作时,接收下一批数据;
所述数据采集系统中最后一个数据处理模块用于将处理后的数据存储至第一存储源中。
2.根据权利要求1所述的数据采集系统,其特征在于,所述数据采集系统中任一个数据处理模块具有对应的内存空间,所述内存空间用于缓存已接收到的数据;
所述数据采集系统中任一个数据处理模块还用于对已接收到的任一批数据执行对应的数据处理操作时,将接收到的下一批数据缓存至所述任一个数据处理模块的内存空间中,当处理所述任一批数据完成后,从所述内存空间中读取所述下一批数据。
3.根据权利要求2所述的数据采集系统,其特征在于,所述数据采集系统还包括至少一个共享内存池,每个共享内存池用于为对应的多个数据处理模块提供内存空间。
4.根据权利要求3所述的数据采集系统,其特征在于,所述任一个数据处理模块还用于从对应的共享内存池中申请内存空间,当申请得到的内存空间使用完毕后,将所述申请得到的内存空间释放回所述共享内存池中。
5.根据权利要求2至4中任一项所述的数据采集系统,其特征在于,所述数据采集系统中任一个数据处理模块的内存空间包括堆内内存;
所述任一个数据处理模块还用于将处理后的数据推送至下一个数据处理模块的堆内内存中。
6.根据权利要求5所述的数据采集系统,所述数据采集系统中任一个数据处理模块的内存空间还包括堆外内存;
所述任一个数据处理模块还用于当所述任一个数据处理模块和下一个数据处理模块位于同一节点设备时,将处理后的数据推送至所述下一个数据处理模块的堆内内存中;或,
所述任一个数据处理模块还用于当所述任一个处理模块和下一个数据处理模块位于不同节点设备时,对处理后的数据进行序列化,将序列化的数据存储至所述任一个数据处理模块的堆外内存中,将所述序列化后的数据从所述堆外内存推送至下一个数据处理模块的堆内内存中。
7.根据权利要求1所述的数据采集系统,其特征在于,所述数据采集系统还包括第二存储源,所述第二存储源用于存储所述数据采集系统当前处理的数据的快照单元,所述快照单元用于指示当前处理对应数据的数据处理模块;
任一个数据处理模块还用于当所述任一个数据处理模块宕机并重启后,基于所述第二存储源中的快照单元,恢复对宕机前处理的数据进行数据处理。
8.根据权利要求7所述的数据采集系统,其特征在于,所述数据采集系统中第一个数据处理模块还用于在所述数据源的不同数据之间插入栏栅消息,将相邻两个栏栅消息之间的所有数据作为一个快照单元,将所述快照单元存储至所述第二存储源中,其中所述栏栅消息用于指示快照单元的起始点或结束点。
9.根据权利要求7或8所述的数据采集系统,其特征在于,所述数据采集系统中任一个数据处理模块还用于在处理任一数据的过程中,向所述第二存储源中所述数据所属的快照单元添加所述数据处理模块的标识。
10.根据权利要求1或2所述的数据采集系统,其特征在于,所述第一个数据处理模块还用于当所述第一个数据处理模块所在的节点设备满足预设条件时,降低从所述数据源中获取数据的速度。
11.根据权利要求10所述的数据采集系统,其特征在于,所述数据采集系统中所述第一个数据处理模块以外的任一个数据处理模块还用于在对应的节点设备满足预设条件时,指示所述第一个数据处理模块降低从所述数据源中获取数据的速度。
12.根据权利要求10或11所述的数据采集系统,其特征在于,所述预设条件包括节点设备的共享内存池当前占用的内存达到第一预设阈值,所述共享内存池用于为所述节点设备的多个数据处理模块提供内存空间,所述内存空间用于缓存已接收到的数据;和/或,
所述预设条件包括节点设备的数据处理模块的当前申请内存的线程的总数量达到第二预设阈值。
13.根据权利要求1所述的数据采集系统,其特征在于,所述数据采集系统中任一个数据处理模块还用于基于至少一个线程,对任一批数据执行对应的数据处理操作;
所述任一个数据处理模块还用于当检测到流量峰值时增加并发量,所述并发量是指数据处理模块中对数据进行处理的线程的数量。
14.根据权利要求1所述的数据采集系统,其特征在于,所述多个数据处理模块分别位于多个节点设备中。
15.一种数据采集方法,其特征在于,所述方法应用于数据采集系统中,所述数据采集系统包括多个数据处理模块,所述方法包括:
当第一个数据处理模块获取数据源的任一批数据时,所述第一个数据处理模块指示所述数据源提供下一批数据;
当任一个数据处理模块对已接收到的任一批数据执行对应的数据处理操作时,所述任一个数据处理模块接收下一批数据;
最后一个数据处理模块将处理后的数据存储至第一存储源中。
16.根据权利要求15所述的方法,其特征在于,所述数据采集系统中任一个数据处理模块具有对应的内存空间,所述内存空间用于缓存已接收到的数据;
所述当任一个数据处理模块对已接收到的任一批数...
【专利技术属性】
技术研发人员:郭峰,
申请(专利权)人:杭州海康威视数字技术股份有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。