一种分布式异构数据采集方法、存储介质及电子设备技术

技术编号:39241081 阅读:9 留言:0更新日期:2023-10-30 11:53
本发明专利技术涉及数据处理领域,特别是涉及一种分布式异构数据采集方法、存储介质及电子设备。应用于第一数据采集系统,包括如下步骤:根据数据采集请求,生成多条数据采集指令,并加入任务队列中;获取线程池中每一线程的状态信息;当检测到任务队列中存在数据采集指令时,根据每一线程的状态信息,对任务队列中的所有数据采集指令进行线程分发处理;对对应的一级数据供给终端中的目标数据进行采集。本发明专利技术中根据线程池的限制以及任务队列的缓冲,可以对并发的数据采集指令进行缓冲排序,再根据空闲状态的线程数量,依次对对应数量的数据采集指令进行有序处理。使得不会出现请求并发量远超采集服务器处理能力的情况,保证采集服务器的正常读写能力。正常读写能力。正常读写能力。

【技术实现步骤摘要】
一种分布式异构数据采集方法、存储介质及电子设备


[0001]本专利技术涉及数据处理领域,特别是涉及一种分布式异构数据采集方法、存储介质及电子设备。

技术介绍

[0002]随着信息化的深入开展,各行各业的业务系统所产生的数据越来越多。同时在一个大的业务场景下,还会衍生出许多相关的子业务场景。为了能够更加独立高效的对每一个业务场景中产生的数据进行采集,通常会分别设置对应的数据采集系统。同时,在实际使用过程中,即使是对同一业务场景的数据采集,也会由于管理区域的不同,分别设置对应的数据采集系统。由此,会产生大量的分布式数采集节点。当采集中心下发数据上传指令之后,每一采集节点会将对应的数据进行上传。此时,由于采集节点数量巨大,会产生较高的数据上传并发量。进而使得数据上传并发量会远超采集中心的服务器处理量,进而对采集中心的服务器产生较大的读写压力,影响服务器的性能,导致服务器工作效率的降低。

技术实现思路

[0003]针对上述技术问题,本专利技术采用的技术方案为:根据本专利技术的一个方面,提供了一种分布式异构数据采集方法,应用于第一数据采集系统,第一数据采集系统包括采集服务器及多个一级数据供给终端,多个一级数据供给终端均与采集服务器通信连接,不同的一级数据供给终端中的数据结构存在差异;分布式异构数据采集方法包括如下步骤:根据数据采集请求,采集服务器生成多条数据采集指令,并加入任务队列中;获取线程池中每一线程的状态信息;处于空闲状态的线程具有第一状态标识;处于工作状态的线程具有第二状态标识;线程池中线程的总数A=H*2;其中,H为采集服务器中CPU的核心总数;当检测到任务队列中存在数据采集指令时,根据每一线程的状态信息,对任务队列中的所有数据采集指令进行线程分发处理,以为每一数据采集指令配置对应的目标线程;目标线程根据数据采集指令中包括的采集任务参数,对对应的一级数据供给终端中的目标数据进行采集;线程分发处理包括:按照先进先出的顺序,依次为任务队列中的每一数据采集指令分配具有第一状态标识的线程;当任一目标线程完成对应的数据采集指令所指定的采集工作时,将目标线程的状态标识修改为第二状态标识。
[0004]进一步的,第一数据采集系统还包括多个二级数据供给终端,部分一级数据供给终端分别与至少一个二级数据供给终端通信连接;不同的二级数据供给终端中的数据结构
存在差异;采集任务参数包括:多个二级数据供给终端分别对应的终端标识、采集数据范围信息及终端性能标识;目标线程根据数据采集指令中包括的采集任务参数,对对应的一级数据供给终端中的目标数据进行采集,包括:目标线程根据每一终端标识及采集数据范围信息,分别为对应的二级数据供给终端配置对应的数据采集任务;目标线程根据每一终端性能标识,为每一对应的数据采集任务配置子任务数量及单任务采集量;子任务数量及单任务采集量均与终端性能标识正相关;二级数据供给终端根据预设的数据转化映射表,将每一数据采集任务获取到的初始数据转化为目标数据;每一二级数据供给终端将获取到的目标数据,经由对应的一级数据供给终端转发至采集服务器。
[0005]进一步的,数据采集任务配置子任务数量及单任务采集量满足如下关系:;;其中,B
i1
为采集任务参数中第i个二级数据供给终端对应的数据采集任务配置的子任务数量;B
i2
为采集任务参数中第i个二级数据供给终端对应的数据采集任务配置的单任务采集量;X
i
为采集任务参数中第i个二级数据供给终端对应的终端性能标识;K1为第一调节系数;K2为第二调节系数;K3为性能阈值。
[0006]进一步的,在每一二级数据供给终端将获取到的目标数据,经由对应的一级数据供给终端转发至采集服务器之前,方法还包括:使用RSA加密算法对目标数据进行首次加密,生成一级目标加密数据;使用ABS加密算法对一级目标加密数据进行二次加密,生成二级目标加密数据。
[0007]进一步的,采集数据范围信息包括目标数据起始时间、目标数据终止时间、目标表名及目标字段;目标线程根据每一终端标识及采集数据范围信息,分别为对应的二级数据供给终端配置对应的数据采集任务,包括:根据目标数据起始时间、目标数据终止时间、数据库类型及目标表名,确定二级数据供给终端对应的数据采集任务的数据采集范围。
[0008]进一步的,在二级数据供给终端根据预设的数据转化映射表,将每一数据采集任务获取到的初始数据转化为目标数据之后,方法还包括:获取当前数据采集任务获取到的初始数据的数量;获取在当前时间之前数据采集任务获取到的初始数据的历史总量;若当前数据采集任务获取到的初始数据的数量与对应的历史总量的和,不符合数据采集任务对应的采集数据范围信息的数量要求,则数据采集任务开启下一次数据获取操
作。
[0009]进一步的,方法还包括:若数据供给终端的操作系统类型为windows,则为数据供给终端安装Jre为7u80

windows

i586的Java数据采集程序;若数据供给终端的操作系统类型为linux,则为数据供给终端安装Jre为7u80

linux

i586的Java数据采集程序;数据采集程序用于根据采集任务参数对数据供给终端进行数据采集;数据供给终端为一级数据供给终端或二级数据供给终端;根据数据供给终端使用的数据库信息,从数据采集程序中预制的数据库驱动集中获取目标数据库驱动,并安装至数据供给终端。
[0010]进一步的,任务队列的最大长度为1000。
[0011]根据本专利技术的第二个方面,提供了一种非瞬时性计算机可读存储介质,非瞬时性计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述的一种分布式异构数据采集方法。
[0012]根据本专利技术的第三个方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的一种分布式异构数据采集方法。
[0013]本专利技术至少具有以下有益效果:本专利技术中首先会根据采集服务器自身具有的CPU的核心数量,来生成对应数量的线程。线程是指令流的最小执行单位,一个线程可对应的处理一个任务。同时又由于现有的CPU核心中均采用了超线程技术,所以使得一个核心可以同时处理两个线程对应的任务。由此,可以通过A=H*2来生对应的数量的线程形成线程池,该线程池更加符合服务器自身性能。然后,再通过设置任务队列来对同时并发的数据采集指令进行缓冲及排序。又由于任务队列具有先进先出的数据特点,所以可以按照进入队列的顺序,依次为每一数据采集指令分配线程池中处于的空闲状态的线程执行具体的任务。根据上述线程池的限制以及任务队列的缓冲,可以对同时并发的多条数据采集指令进行缓冲排序,再根据线程池中处于空闲状态的线程数量,依次对排序在前对应位数的数据采集指令进行有序处理。进而使得回传数据的量不会出现并发量远超采集服务器处理能力的情况,进而保证采集服务器的正常读写能力,尽量避免采集服务器工作效率的降低。...

【技术保护点】

【技术特征摘要】
1.一种分布式异构数据采集方法,其特征在于,应用于第一数据采集系统,所述第一数据采集系统包括采集服务器及多个一级数据供给终端,多个所述一级数据供给终端均与所述采集服务器通信连接,不同的一级数据供给终端中的数据结构存在差异;所述分布式异构数据采集方法包括如下步骤:根据数据采集请求,所述采集服务器生成多条数据采集指令,并加入任务队列中;获取线程池中每一线程的状态信息;处于空闲状态的线程具有第一状态标识;处于工作状态的线程具有第二状态标识;线程池中线程的总数A=H*2;其中,H为采集服务器中CPU的核心总数;当检测到所述任务队列中存在数据采集指令时,根据每一线程的状态信息,对所述任务队列中的所有数据采集指令进行线程分发处理,以为每一数据采集指令配置对应的目标线程;目标线程根据数据采集指令中包括的采集任务参数,对对应的一级数据供给终端中的目标数据进行采集;所述线程分发处理包括:按照先进先出的顺序,依次为所述任务队列中的每一数据采集指令分配具有第一状态标识的线程;当任一所述目标线程完成对应的数据采集指令所指定的采集工作时,将所述目标线程的状态标识修改为第二状态标识。2.根据权利要求1所述的方法,其特征在于,所述第一数据采集系统还包括多个二级数据供给终端,部分所述一级数据供给终端分别与至少一个所述二级数据供给终端通信连接;不同的二级数据供给终端中的数据结构存在差异;所述采集任务参数包括:多个二级数据供给终端分别对应的终端标识、采集数据范围信息及终端性能标识;目标线程根据数据采集指令中包括的采集任务参数,对对应的一级数据供给终端中的目标数据进行采集,包括:目标线程根据每一终端标识及采集数据范围信息,分别为对应的二级数据供给终端配置对应的数据采集任务;目标线程根据每一终端性能标识,为每一对应的数据采集任务配置子任务数量及单任务采集量;所述子任务数量及单任务采集量均与终端性能标识正相关;二级数据供给终端根据预设的数据转化映射表,将每一数据采集任务获取到的初始数据转化为目标数据;每一二级数据供给终端将获取到的目标数据,经由对应的一级数据供给终端转发至采集服务器。3.根据权利要求2所述的方法,其特征在于,所述数据采集任务配置子任务数量及单任务采集量满足如下关系:;;其中,B
i1
为采集任务参数中第i个二级数据供给终端对应的数据采集任务配置的子任
务数量;B
i2
为采集任务参数中第i个二级数据供给终端对应的数据采集任务配置的单任务采集量;X
i
为采集任务参数中第i个二级数据供给终端对应的终端性能标识;K1为第一调节...

【专利技术属性】
技术研发人员:龚腾飞陈方博房馨张恩瑞张宏亮刘鹏潘欣刘明凤李奋吴鹏黄钰李兆龙麦伟志宋奕霖卢美玉
申请(专利权)人:建信住房服务有限责任公司
类型:发明
国别省市:

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

1