CN116954927A - 一种分布式异构数据采集方法、存储介质及电子设备 - Google Patents

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

Info

Publication number
CN116954927A
CN116954927A CN202311147981.8A CN202311147981A CN116954927A CN 116954927 A CN116954927 A CN 116954927A CN 202311147981 A CN202311147981 A CN 202311147981A CN 116954927 A CN116954927 A CN 116954927A
Authority
CN
China
Prior art keywords
data
acquisition
data acquisition
target
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311147981.8A
Other languages
English (en)
Other versions
CN116954927B (zh
Inventor
龚腾飞
陈方博
房馨
张恩瑞
张宏亮
刘鹏
潘欣
刘明凤
李奋
吴鹏
黄钰
李兆龙
麦伟志
宋奕霖
卢美玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ccb Housing Service Co ltd
Original Assignee
Ccb Housing Service Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ccb Housing Service Co ltd filed Critical Ccb Housing Service Co ltd
Priority to CN202311147981.8A priority Critical patent/CN116954927B/zh
Publication of CN116954927A publication Critical patent/CN116954927A/zh
Application granted granted Critical
Publication of CN116954927B publication Critical patent/CN116954927B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种分布式异构数据采集方法、存储介质及电子设备
技术领域
本发明涉及数据处理领域,特别是涉及一种分布式异构数据采集方法、存储介质及电子设备。
背景技术
随着信息化的深入开展,各行各业的业务***所产生的数据越来越多。同时在一个大的业务场景下,还会衍生出许多相关的子业务场景。为了能够更加独立高效的对每一个业务场景中产生的数据进行采集,通常会分别设置对应的数据采集***。同时,在实际使用过程中,即使是对同一业务场景的数据采集,也会由于管理区域的不同,分别设置对应的数据采集***。由此,会产生大量的分布式数采集节点。当采集中心下发数据上传指令之后,每一采集节点会将对应的数据进行上传。此时,由于采集节点数量巨大,会产生较高的数据上传并发量。进而使得数据上传并发量会远超采集中心的服务器处理量,进而对采集中心的服务器产生较大的读写压力,影响服务器的性能,导致服务器工作效率的降低。
发明内容
针对上述技术问题,本发明采用的技术方案为:
根据本发明的一个方面,提供了一种分布式异构数据采集方法,应用于第一数据采集***,第一数据采集***包括采集服务器及多个一级数据供给终端,多个一级数据供给终端均与采集服务器通信连接,不同的一级数据供给终端中的数据结构存在差异;
分布式异构数据采集方法包括如下步骤:
根据数据采集请求,采集服务器生成多条数据采集指令,并加入任务队列中;
获取线程池中每一线程的状态信息;处于空闲状态的线程具有第一状态标识;处于工作状态的线程具有第二状态标识;线程池中线程的总数A=H*2;其中,H为采集服务器中CPU的核心总数;
当检测到任务队列中存在数据采集指令时,根据每一线程的状态信息,对任务队列中的所有数据采集指令进行线程分发处理,以为每一数据采集指令配置对应的目标线程;
目标线程根据数据采集指令中包括的采集任务参数,对对应的一级数据供给终端中的目标数据进行采集;
线程分发处理包括:
按照先进先出的顺序,依次为任务队列中的每一数据采集指令分配具有第一状态标识的线程;
当任一目标线程完成对应的数据采集指令所指定的采集工作时,将目标线程的状态标识修改为第二状态标识。
进一步的,第一数据采集***还包括多个二级数据供给终端,部分一级数据供给终端分别与至少一个二级数据供给终端通信连接;不同的二级数据供给终端中的数据结构存在差异;
采集任务参数包括:多个二级数据供给终端分别对应的终端标识、采集数据范围信息及终端性能标识;
目标线程根据数据采集指令中包括的采集任务参数,对对应的一级数据供给终端中的目标数据进行采集,包括:
目标线程根据每一终端标识及采集数据范围信息,分别为对应的二级数据供给终端配置对应的数据采集任务;
目标线程根据每一终端性能标识,为每一对应的数据采集任务配置子任务数量及单任务采集量;子任务数量及单任务采集量均与终端性能标识正相关;
二级数据供给终端根据预设的数据转化映射表,将每一数据采集任务获取到的初始数据转化为目标数据;
每一二级数据供给终端将获取到的目标数据,经由对应的一级数据供给终端转发至采集服务器。
进一步的,数据采集任务配置子任务数量及单任务采集量满足如下关系:
其中,Bi 1为采集任务参数中第i个二级数据供给终端对应的数据采集任务配置的子任务数量;Bi 2为采集任务参数中第i个二级数据供给终端对应的数据采集任务配置的单任务采集量;Xi为采集任务参数中第i个二级数据供给终端对应的终端性能标识;K1为第一调节系数;K2为第二调节系数;K3为性能阈值。
进一步的,在每一二级数据供给终端将获取到的目标数据,经由对应的一级数据供给终端转发至采集服务器之前,方法还包括:
使用RSA加密算法对目标数据进行首次加密,生成一级目标加密数据;
使用ABS加密算法对一级目标加密数据进行二次加密,生成二级目标加密数据。
进一步的,采集数据范围信息包括目标数据起始时间、目标数据终止时间、目标表名及目标字段;
目标线程根据每一终端标识及采集数据范围信息,分别为对应的二级数据供给终端配置对应的数据采集任务,包括:
根据目标数据起始时间、目标数据终止时间、数据库类型及目标表名,确定二级数据供给终端对应的数据采集任务的数据采集范围。
进一步的,在二级数据供给终端根据预设的数据转化映射表,将每一数据采集任务获取到的初始数据转化为目标数据之后,方法还包括:
获取当前数据采集任务获取到的初始数据的数量;
获取在当前时间之前数据采集任务获取到的初始数据的历史总量;
若当前数据采集任务获取到的初始数据的数量与对应的历史总量的和,不符合数据采集任务对应的采集数据范围信息的数量要求,则数据采集任务开启下一次数据获取操作。
进一步的,方法还包括:
若数据供给终端的操作***类型为windows,则为数据供给终端安装Jre为7u80-windows-i586的Java数据采集程序;
若数据供给终端的操作***类型为linux,则为数据供给终端安装Jre为7u80-linux-i586的Java数据采集程序;数据采集程序用于根据采集任务参数对数据供给终端进行数据采集;数据供给终端为一级数据供给终端或二级数据供给终端;
根据数据供给终端使用的数据库信息,从数据采集程序中预制的数据库驱动集中获取目标数据库驱动,并安装至数据供给终端。
进一步的,任务队列的最大长度为1000。
根据本发明的第二个方面,提供了一种非瞬时性计算机可读存储介质,非瞬时性计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述的一种分布式异构数据采集方法。
根据本发明的第三个方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的一种分布式异构数据采集方法。
本发明至少具有以下有益效果:
本发明中首先会根据采集服务器自身具有的CPU的核心数量,来生成对应数量的线程。线程是指令流的最小执行单位,一个线程可对应的处理一个任务。同时又由于现有的CPU核心中均采用了超线程技术,所以使得一个核心可以同时处理两个线程对应的任务。由此,可以通过A=H*2来生对应的数量的线程形成线程池,该线程池更加符合服务器自身性能。然后,再通过设置任务队列来对同时并发的数据采集指令进行缓冲及排序。又由于任务队列具有先进先出的数据特点,所以可以按照进入队列的顺序,依次为每一数据采集指令分配线程池中处于的空闲状态的线程执行具体的任务。根据上述线程池的限制以及任务队列的缓冲,可以对同时并发的多条数据采集指令进行缓冲排序,再根据线程池中处于空闲状态的线程数量,依次对排序在前对应位数的数据采集指令进行有序处理。进而使得回传数据的量不会出现并发量远超采集服务器处理能力的情况,进而保证采集服务器的正常读写能力,尽量避免采集服务器工作效率的降低。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种分布式异构数据采集方法的流程图;
图2为本发明实施例提供的第一数据采集***的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的一个方面,如图1所示,提供了一种分布式异构数据采集方法,应用于第一数据采集***,如图2所示,第一数据采集***包括采集服务器及多个一级数据供给终端,多个一级数据供给终端均与采集服务器通信连接,不同的一级数据供给终端中的数据结构存在差异。
以房屋交易数据为例,通常一个行政区域会设置一个对应的数据采集终端(一级数据供给终端),来采集该行政区域中产生的房屋交易数据。每一个行政区域对应的数据采集终端,即为第一数据采集***中的数据供给终端,数据供给终端用于根据采集服务器下发的采集指令,回传对应的数据至数据采集终端。
分布式异构数据采集方法包括如下步骤:
S100:根据数据采集请求,采集服务器生成多条数据采集指令,并加入任务队列中。
数据采集请求为人为输入的采集请求,如获取历史数据中xxxx年整年的新房交易数据。
S200:获取线程池中每一线程的状态信息。处于空闲状态的线程具有第一状态标识。处于工作状态的线程具有第二状态标识。线程池中线程的总数A=H*2。其中,H为采集服务器中CPU的核心总数。
线程是指令流的最小执行单位,一个线程可对应的处理一个任务,如本实施例中每一数据供给终端的数据获取任务,及需要一个对应的线程进行处理。本发明中会根据采集服务器自身具有的CPU的核心数量,来生成对应数量的线程。同时又由于现有的CPU核心中均采用了超线程技术,所以使得一个核心可以同时处理两个线程对应的任务。由此,可以通过A=H*2来生对应的数量的线程形成线程池,该线程池更加符合服务器自身性能。
S300:当检测到任务队列中存在数据采集指令时,根据每一线程的状态信息,对任务队列中的所有数据采集指令进行线程分发处理,以为每一数据采集指令配置对应的目标线程。进一步的,任务队列的最大长度为1000。任务队列可以选用现有的队列产品,如kafka消息队列。
S400:目标线程根据数据采集指令中包括的采集任务参数,对对应的一级数据供给终端中的目标数据进行采集。
具体的,目标线程根据采集任务参数开始处理采集任务,如组装请求报文并加密,然后统一发送请求至任务转发中心,任务转发中心根据请求头中的每一采集节点(数据采集终端)编号,将请求转发至不同的采集节点上进行数据采集。
线程分发处理包括:
S301:按照先进先出的顺序,依次为任务队列中的每一数据采集指令分配具有第一状态标识的线程。
S302:当任一目标线程完成对应的数据采集指令所指定的采集工作时,将目标线程的状态标识修改为第二状态标识。
目标线程对应的采集任务完成后提交事务,任务结束。此时目标线程处于空闲状态,本步骤中通过对状态标识修改,可以回收空闲线程,以处理下一个任务。进而保证线程池中的线程可以被更加高效的循环利用。
通过设置任务队列来对同时并发的数据采集指令进行缓冲及排序。又由于任务队列具有先进先出的数据特点,所以可以按照进入队列的顺序,依次为每一数据采集指令分配线程池中处于的空闲状态的线程执行具体的任务。根据上述线程池的限制以及任务队列的缓冲,可以对同时并发的多条数据采集指令进行缓冲排序,再根据线程池中处于空闲状态的线程数量,依次对排序在前对应位数的数据采集指令进行有序处理。进而使得回传数据的量不会出现并发量远超采集服务器处理能力的情况,进而保证采集服务器的正常读写能力,尽量避免采集服务器工作效率的降低。
作为本发明的另一个实施例,如图2所示,第一数据采集***还包括多个二级数据供给终端,部分一级数据供给终端分别与至少一个二级数据供给终端通信连接。不同的二级数据供给终端中的数据结构存在差异。
以房屋交易数据为例,通常一个行政区域下有可能会管理多个下属的行政子区域。且每一个行政子区域也分别设置独立的数据采集终端(二级数据供给终端),来管理该行政子区域中产生的房屋交易数据。然后,再根据上级的行政区域的指令来上传数据。由于每一个数据供给终端基本为根据对应的行政区域的自身需求而适应性开发的。所以不同的一级数据供给终端或二级数据供给终端中的数据结构存在差异,且不同的数据供给终端之间的***性能也存在一定的差异。
采集任务参数包括:多个二级数据供给终端分别对应的终端标识、采集数据范围信息及终端性能标识。
S400:目标线程根据数据采集指令中包括的采集任务参数,对对应的一级数据供给终端中的目标数据进行采集,包括:
S401:目标线程根据每一终端标识及采集数据范围信息,分别为对应的二级数据供给终端配置对应的数据采集任务。
由于,不同的行政区域之间存在从属关系,所以可以根据该特征为每一数据供给终端配置对应的终端标识。如一级数据供给终端对应的终端标识为100,那么与该一级数据供给终端通信连接的各二级数据供给终端对应的终端标识可以为100-01、100-02、100-03……。
由此,当二级数据供给终端与一级数据供给终端之间的连接关系出现变化时,通过调整终端标识即可更新对应的连接关系,更加高效方便。
具体的,采集数据范围信息包括目标数据起始时间、目标数据终止时间、目标表名及目标字段。S401包括:
S411:根据目标数据起始时间、目标数据终止时间、数据库类型及目标表名,确定二级数据供给终端对应的数据采集任务的数据采集范围。
S402:目标线程根据每一终端性能标识,为每一对应的数据采集任务配置子任务数量及单任务采集量。子任务数量及单任务采集量均与终端性能标识正相关。
优选的,数据采集任务配置子任务数量及单任务采集量满足如下关系:
其中,Bi 1为采集任务参数中第i个二级数据供给终端对应的数据采集任务配置的子任务数量。Bi 2为采集任务参数中第i个二级数据供给终端对应的数据采集任务配置的单任务采集量。Xi为采集任务参数中第i个二级数据供给终端对应的终端性能标识。K1为第一调节系数。K2为第二调节系数。K3为性能阈值。K1及K1均大于1。
由于,不同的数据供给终端之间的***性能也存在一定的差异,所以在对各个数据供给终端中的数据进行采集时,需要考虑数据供给终端的***性能,能否支持该采集任务的运行。所以会根据终端性能标识,来设置每一数据供给终端中数据采集任务的子任务数量及单任务采集量。通常对于***性能较高的终端而言,为了提高数据采集的速度,可以同时开启多个子数据采集任务对目标数据进行采集,同时可以提高每一个子数据采集任务单次采集的数据数量。
终端性能标识可以根据每一数据供给终端的实际性能表现来配置对应的数值。如终端性能标识的取值范围可以为[-10,10]。数值越大表示对应的数据供给终端的性能越强。
本实施例中,根据来确定数据采集任务配置子任务数量。由上述算法可知,/>中的1相当于一个阈值,当终端性能标识小于该阈值时,子任务数量一直为一个定值。K3可以为1、2、3……。由于,同时运行多个子数据采集任务会对占用较多的***资源,对***性能影响较大,所以当终端性能标识低于性能阈值时,只会建立相同数量的子数据采集任务,通常为1个。而当终端性能标识高于性能阈值时,建立子数据采集任务的数量与终端性能标识成正比,并且为了在满足采集效率的前提下,尽量减少对数据供给终端的性能影响,所以使用向下取整的方式来确定最终子数据采集任务的数量。
本实施例中,根据来确定数据采集任务配置的单任务采集量。由上述算法可知,单任务采集量满足一个S型的递增函数,在定义域的前部及后部,函数值的变化量较小,在定义域的中部,函数值的变化量较大。由于在实际使用中,单次采集的数据量的增加通常对***性能的影响幅度,小于数据采集子任务数量增加对***性能的影响幅度。所以,随着终端性能标识的增加单次采集的数据量也可以逐渐增加,但是在终端性能总体偏弱的情况下,需要单次采集的数据量的增加量较小,同时,在终端性能总体偏强的情况下,需要单次采集的数据量的不能够无限增加。另外,当终端性能在一个正常的范围内时,需要单次采集的数据量的增加量,会随着***性能的增强有较大幅度的增加。上述算法可以符合该特征,能够根据每一数据供给终端的实际性能表现,更加准确的每一数据供给终端配置对应的采集任务。
S403:二级数据供给终端根据预设的数据转化映射表,将每一数据采集任务获取到的初始数据转化为目标数据。
由于,不同的数据供给终端中的数据结构存在差异,如不同数据供给终端中对于同一字段的命名并不相同,且数据形式也可能不同。如对于时间的字段中数据的形式有如下两种xxxx.xx.xx和xxxx-xx-xx。
本步骤中会根据采集服务器需要的数据的标准格式与自身的数据格式,生成一个对应的数据转化映射表,通过数据转化映射表可以将数据进行标准化处理,以使得最终获取到的数据均为标准格式的数据。
具体的,在S403之后,该方法还包括:
S413:获取当前数据采集任务获取到的初始数据的数量。
S423:获取在当前时间之前数据采集任务获取到的初始数据的历史总量。
S433:若当前数据采集任务获取到的初始数据的数量与对应的历史总量的和,不符合数据采集任务对应的采集数据范围信息的数量要求,则数据采集任务开启下一次数据获取操作。
本步骤中,通过已获取到的数据量与目标数据量进行对比,来校验数据采集任务是否完成,可以保证数据采集的完整性。
S404:每一二级数据供给终端将获取到的目标数据,经由对应的一级数据供给终端转发至采集服务器。
在S404之前,该方法还包括:
S414:使用RSA加密算法对目标数据进行首次加密,生成一级目标加密数据。
RSA加密算法(公钥+私钥加密)是一种现有的非对称加密算法,可以提高加密强度。
S424:使用ABS加密算法对一级目标加密数据进行二次加密,生成二级目标加密数据。
ABS公链支持国际及国密算法,端对端的全程加密,防窃听、防拦截、防泄密。且ABS公链只做数据加密,不采集任何数据信息。
本发明中的数据采集节点使用HTTP接口方式实现数据采集和数据交换,接口采用RSA加密算法对报文加密,然后对密文使用签名算法(如ABS加密算法)加密,以此保证数据传输的安全性。
作为本发明的另一个实施例,该方法还包括:
S500:若数据供给终端的操作***类型为windows,则为数据供给终端安装Jre(Java Runtime Environment,Java运行环境)为7u80-windows-i586的Java数据采集程序。
S600:若数据供给终端的操作***类型为linux,则为数据供给终端安装Jre为7u80-linux-i586的Java数据采集程序。数据采集程序用于根据采集任务参数对数据供给终端进行数据采集。数据供给终端为一级数据供给终端或二级数据供给终端。
S700:根据数据供给终端使用的数据库信息,从数据采集程序中预制的数据库驱动集中获取目标数据库驱动,并安装至数据供给终端。
由于不同数据供给终端使用的数据库也存在差异,所以会在数据采集程序的安装包中预制多个主流数据库的驱动,比如MySQL驱动、Oracle驱动等。由此,在获得了数据供给终端使用的数据库信息之后,可以针对不同的数据库为其配置不同的数据库驱动,进而解决了数据供给终端中数据库异构的问题。
为了根据下发的采集指令采集每一数据供给终端中的数据,还在每一数据供给终端上安装了对应的Java数据采集程序。但是由于不同的数据供给终端使用的操作***存在差异,所以需要对Java数据采集程序的运行环境进行适应性配置,以实现在不同的操作***上进行运行。具体的,在程序上线时,根据S500及S600配置对应的Jre。由此,Java数据采集程序可以在配置好的运行环境Jre中独立运行,减少对数据供给终端的操作***的依赖,解决了数据供给终端的操作***异构的问题。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为***、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
根据本发明的这种实施方式的电子设备。电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:上述至少一个处理器、上述至少一个储存器、连接不同***组件(包括储存器和处理器)的总线。
其中,储存器存储有程序代码,程序代码可以被处理器执行,使得处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
储存器可以包括易失性储存器形式的可读介质,例如随机存取储存器(RAM)和/或高速缓存储存器,还可以进一步包括只读储存器(ROM)。
储存器还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线可以为表示几类总线结构中的一种或多种,包括储存器总线或者储存器控制器、***总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
电子设备也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器通过总线与电子设备的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种分布式异构数据采集方法,其特征在于,应用于第一数据采集***,所述第一数据采集***包括采集服务器及多个一级数据供给终端,多个所述一级数据供给终端均与所述采集服务器通信连接,不同的一级数据供给终端中的数据结构存在差异;
所述分布式异构数据采集方法包括如下步骤:
根据数据采集请求,所述采集服务器生成多条数据采集指令,并加入任务队列中;
获取线程池中每一线程的状态信息;处于空闲状态的线程具有第一状态标识;处于工作状态的线程具有第二状态标识;线程池中线程的总数A=H*2;其中,H为采集服务器中CPU的核心总数;
当检测到所述任务队列中存在数据采集指令时,根据每一线程的状态信息,对所述任务队列中的所有数据采集指令进行线程分发处理,以为每一数据采集指令配置对应的目标线程;
目标线程根据数据采集指令中包括的采集任务参数,对对应的一级数据供给终端中的目标数据进行采集;
所述线程分发处理包括:
按照先进先出的顺序,依次为所述任务队列中的每一数据采集指令分配具有第一状态标识的线程;
当任一所述目标线程完成对应的数据采集指令所指定的采集工作时,将所述目标线程的状态标识修改为第二状态标识。
2.根据权利要求1所述的方法,其特征在于,所述第一数据采集***还包括多个二级数据供给终端,部分所述一级数据供给终端分别与至少一个所述二级数据供给终端通信连接;不同的二级数据供给终端中的数据结构存在差异;
所述采集任务参数包括:多个二级数据供给终端分别对应的终端标识、采集数据范围信息及终端性能标识;
目标线程根据数据采集指令中包括的采集任务参数,对对应的一级数据供给终端中的目标数据进行采集,包括:
目标线程根据每一终端标识及采集数据范围信息,分别为对应的二级数据供给终端配置对应的数据采集任务;
目标线程根据每一终端性能标识,为每一对应的数据采集任务配置子任务数量及单任务采集量;所述子任务数量及单任务采集量均与终端性能标识正相关;
二级数据供给终端根据预设的数据转化映射表,将每一数据采集任务获取到的初始数据转化为目标数据;
每一二级数据供给终端将获取到的目标数据,经由对应的一级数据供给终端转发至采集服务器。
3.根据权利要求2所述的方法,其特征在于,所述数据采集任务配置子任务数量及单任务采集量满足如下关系:
其中,Bi 1为采集任务参数中第i个二级数据供给终端对应的数据采集任务配置的子任务数量;Bi 2为采集任务参数中第i个二级数据供给终端对应的数据采集任务配置的单任务采集量;Xi为采集任务参数中第i个二级数据供给终端对应的终端性能标识;K1为第一调节系数;K2为第二调节系数;K3为性能阈值。
4.根据权利要求2所述的方法,其特征在于,在每一二级数据供给终端将获取到的目标数据,经由对应的一级数据供给终端转发至采集服务器之前,所述方法还包括:
使用RSA加密算法对目标数据进行首次加密,生成一级目标加密数据;
使用ABS加密算法对一级目标加密数据进行二次加密,生成二级目标加密数据。
5.根据权利要求2所述的方法,其特征在于,所述采集数据范围信息包括目标数据起始时间、目标数据终止时间、目标表名及目标字段;
目标线程根据每一终端标识及采集数据范围信息,分别为对应的二级数据供给终端配置对应的数据采集任务,包括:
根据目标数据起始时间、目标数据终止时间、数据库类型及目标表名,确定二级数据供给终端对应的数据采集任务的数据采集范围。
6.根据权利要求5所述的方法,其特征在于,在二级数据供给终端根据预设的数据转化映射表,将每一数据采集任务获取到的初始数据转化为目标数据之后,所述方法还包括:
获取当前数据采集任务获取到的初始数据的数量;
获取在当前时间之前数据采集任务获取到的初始数据的历史总量;
若当前数据采集任务获取到的初始数据的数量与对应的历史总量的和,不符合所述数据采集任务对应的采集数据范围信息的数量要求,则数据采集任务开启下一次数据获取操作。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若数据供给终端的操作***类型为windows,则为所述数据供给终端安装Jre为7u80-windows-i586的Java数据采集程序;
若数据供给终端的操作***类型为linux,则为所述数据供给终端安装Jre为7u80-linux-i586的Java数据采集程序;所述数据采集程序用于根据采集任务参数对数据供给终端进行数据采集;所述数据供给终端为一级数据供给终端或二级数据供给终端;
根据数据供给终端使用的数据库信息,从所述数据采集程序中预制的数据库驱动集中获取目标数据库驱动,并安装至数据供给终端。
8.根据权利要求1所述的方法,其特征在于,所述任务队列的最大长度为1000。
9.一种非瞬时性计算机可读存储介质,所述非瞬时性计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的一种分布式异构数据采集方法。
10.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的一种分布式异构数据采集方法。
CN202311147981.8A 2023-09-07 2023-09-07 一种分布式异构数据采集方法、存储介质及电子设备 Active CN116954927B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311147981.8A CN116954927B (zh) 2023-09-07 2023-09-07 一种分布式异构数据采集方法、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311147981.8A CN116954927B (zh) 2023-09-07 2023-09-07 一种分布式异构数据采集方法、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN116954927A true CN116954927A (zh) 2023-10-27
CN116954927B CN116954927B (zh) 2023-12-01

Family

ID=88442706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311147981.8A Active CN116954927B (zh) 2023-09-07 2023-09-07 一种分布式异构数据采集方法、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN116954927B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360310A (zh) * 2011-09-28 2012-02-22 中国电子科技集团公司第二十八研究所 一种分布式***环境下的多任务进程监视方法和监视***
US20200409977A1 (en) * 2017-09-08 2020-12-31 Guangdong Construction Information Center Generic Multi-Source Heterogeneous Large-Scale Data Synchronization Client-Server Method
CN115145806A (zh) * 2021-03-31 2022-10-04 腾讯云计算(北京)有限责任公司 一种数据采集方法、装置、以及计算机可读存储介质
CN115934471A (zh) * 2022-12-15 2023-04-07 深圳市联合欣业科技有限公司 基于大数据的数据采集方法及大数据***
CN116346823A (zh) * 2022-12-29 2023-06-27 中国电力科学研究院有限公司 一种基于消息队列的大数据异构任务调度方法及***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360310A (zh) * 2011-09-28 2012-02-22 中国电子科技集团公司第二十八研究所 一种分布式***环境下的多任务进程监视方法和监视***
US20200409977A1 (en) * 2017-09-08 2020-12-31 Guangdong Construction Information Center Generic Multi-Source Heterogeneous Large-Scale Data Synchronization Client-Server Method
CN115145806A (zh) * 2021-03-31 2022-10-04 腾讯云计算(北京)有限责任公司 一种数据采集方法、装置、以及计算机可读存储介质
CN115934471A (zh) * 2022-12-15 2023-04-07 深圳市联合欣业科技有限公司 基于大数据的数据采集方法及大数据***
CN116346823A (zh) * 2022-12-29 2023-06-27 中国电力科学研究院有限公司 一种基于消息队列的大数据异构任务调度方法及***

Also Published As

Publication number Publication date
CN116954927B (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
CN109218355B (zh) 负载均衡引擎,客户端,分布式计算***以及负载均衡方法
CN109034396B (zh) 用于处理分布式集群中的深度学习作业的方法和装置
JP2019525334A (ja) リスク識別方法、クライアントデバイス及びリスク識別システム
CN105049268A (zh) 分布式计算资源分配***和任务处理方法
US20060200469A1 (en) Global session identifiers in a multi-node system
CN111352711B (zh) 多计算引擎调度方法、装置、设备及存储介质
CN111338785A (zh) 资源调度方法及装置、电子设备、存储介质
EP4293510A1 (en) Data migration method and apparatus, and device, medium and computer product
CN113452566A (zh) 一种云边端协同资源管理方法及***
CN109298937A (zh) 文件解析方法及网络设备
CN112698952A (zh) 计算资源统一管理方法、装置、计算机设备及存储介质
CN112486653A (zh) 调度多类型计算资源的方法、装置和***
CN115766875A (zh) 边缘算力资源调度方法、装置、***、电子设备及介质
CN117176722A (zh) 动态重构方法、装置及服务器
CN112799851B (zh) 多方安全计算中的数据处理方法和相关装置
CN114780214A (zh) 任务处理方法、装置、***及设备
CN111044062A (zh) 路径规划、推荐方法和装置
CN116954927B (zh) 一种分布式异构数据采集方法、存储介质及电子设备
CN116932168A (zh) 异构核调度方法及装置、存储介质、电子设备
CN117014389A (zh) 算网资源配置方法及***、电子设备、存储介质
CN116192849A (zh) 一种异构加速板卡计算方法、装置、设备及介质
CN112988738A (zh) 用于区块链的数据分片方法和装置
CN115437794A (zh) I/o请求调度方法、装置、电子设备及存储介质
WO2023209414A1 (en) Methods and apparatus for computing resource allocation
CN116208335A (zh) 车辆数据的管理方法、装置、服务器、存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Xu Shijie

Inventor after: Lu Meiyu

Inventor after: Chen Fangbo

Inventor after: Liu Mingfeng

Inventor after: Li Fen

Inventor after: Wu Peng

Inventor after: Huang Yu

Inventor after: Li Zhaolong

Inventor after: Mai Weizhi

Inventor after: Song Yilin

Inventor before: Gong Tengfei

Inventor before: Wu Peng

Inventor before: Huang Yu

Inventor before: Li Zhaolong

Inventor before: Mai Weizhi

Inventor before: Song Yilin

Inventor before: Lu Meiyu

Inventor before: Chen Fangbo

Inventor before: Fang Xin

Inventor before: Zhang Enrui

Inventor before: Zhang Hongliang

Inventor before: Liu Peng

Inventor before: Pan Xin

Inventor before: Liu Mingfeng

Inventor before: Li Fen

CB03 Change of inventor or designer information