一种数据采集方法、装置、设备及存储介质制造方法及图纸

技术编号:32237398 阅读:9 留言:0更新日期:2022-02-09 17:41
本发明专利技术公开了一种数据采集方法、装置、设备及存储介质。该方法包括:通过守护线程获取主线程状态信息;若所述主线程状态信息为开启状态,则通过所述主线程初始化工作线程的线程池;根据节点信息通过所述主线程领取目标任务,并将所述目标任务提交到目标工作线程,通过所述目标工作线程进行数据采集,通过本发明专利技术的技术方案,能够根据各节点自身处理能力均衡负载到各节点,各节点并行处理数据采集任务,提升数据采集效率。提升数据采集效率。提升数据采集效率。

【技术实现步骤摘要】
一种数据采集方法、装置、设备及存储介质


[0001]本专利技术实施例涉及计算机
,尤其涉及一种数据采集方法、装置、设备及存储介质。

技术介绍

[0002]随着金融行业数字化的快速发展,商业银行的业务系统架构会变得越来越复杂,各类业务系统每天都会产生大量业务数据,充分挖掘和利用业务数据资产可为商业银行获取竞争优势。如何高效、及时、稳定的采集业务数据是商业银行充分利用数据资产创造业务价值的基础和前提。常规数据采集方式一般有两种方式:1.点对点的单一节点数据采集方式,服务器使用HA方式实现高可用;2.采用主从结构的分布式方式,主节点负责任务调度和分配,从节点执行具体数据处理任务。
[0003]点对点的单一数据采集方式主要存在以下问题:数据采集效率低,处理能力不可扩展,服务器故障恢复不够及时。
[0004]主从结构的分布式方式主要存在以下问题:主节点为中心化节点,主节点服务器故障整个系统不可用。主节点容易成为处理效率的瓶颈。

技术实现思路

[0005]本专利技术实施例提供一种数据采集方法、装置、设备及存储介质,以实现根据各节点自身处理能力均衡负载到各节点,各节点并行处理数据采集任务,提升数据采集效率。
[0006]第一方面,本专利技术实施例提供了一种数据采集方法,包括:
[0007]通过守护线程获取主线程状态信息;
[0008]若所述主线程状态信息为开启状态,则通过所述主线程初始化工作线程的线程池;
[0009]根据节点信息通过所述主线程领取目标任务,并将所述目标任务提交到目标工作线程,通过所述目标工作线程进行数据采集。
[0010]进一步的,所述线程池包括:第一数量的工作线程;
[0011]相应的,根据节点信息通过所述主线程领取目标任务,并将所述目标任务提交到目标工作线程,通过所述目标工作线程进行数据采集,包括:
[0012]获取节点状态信息和线程池中工作线程的第一数量;
[0013]若节点状态信息为上线状态,则获取处于运行状态的目标工作线程的第二数量;
[0014]若所述第二数量小于所述第一数量,则通过主线程领取目标任务,并将所述目标任务提交到目标工作线程;
[0015]通过所述目标工作线程进行数据采集。
[0016]进一步的,通过主线程领取目标任务,并将所述目标任务提交到目标工作线程,包括:
[0017]通过主线程获取数据库中任务领用锁的状态信息;
[0018]若所述任务领用锁的状态信息为未占用状态,则将所述任务领用锁的状态信息更新为占用状态;
[0019]通过主线程领取数据库中的任务列表中的目标任务,或者,若所述数据库中的任务列表为空,则获取处于下线状态的节点对应的目标任务;
[0020]将所述任务领用锁的状态信息更新为未占用状态;
[0021]通过主线程将领取的目标任务提交线程池,以使所述线程池将所述目标任务提交到目标工作线程。
[0022]进一步的,还包括:
[0023]获取数据库中的签到间隔;
[0024]获取数据库中的签到处理锁的状态信息;
[0025]若所述签到处理锁的状态信息为未占用状态,则将所述签到处理锁的状态信息更新为占用状态,并在数据库中的签到表中插入签到信息;或者,更新数据库中的签到表中的签到信息;
[0026]获取其他节点的签到信息;
[0027]根据所述其他节点的签到信息确定其他节点的状态信息;
[0028]根据所述其他节点的状态信息更新所述签到表,将签到处理锁的状态信息更新为未占用状态。
[0029]进一步的,所述其他节点的签到信息包括:其他节点的上次签到时间、签到时间和缓冲时间;
[0030]相应的,根据所述其他节点的签到信息确定其他节点的状态信息,包括:
[0031]若所述其他节点的上次签到时间、所述签到间隔和所述缓冲时间之和小于当前系统时间,则确定其他节点的状态信息为下线状态,其中,所述缓冲时间等于签到时间的N倍,其中,N为正整数。
[0032]进一步的,将所述目标任务提交到目标工作线程,通过所述目标工作线程进行数据采集,包括:
[0033]将所述目标任务提交到目标工作线程,其中,所述目标任务携带任务信息;
[0034]根据所述任务信息确定所述目标任务的阶段信息和目标参数;
[0035]根据所述目标任务的阶段信息和目标参数进行数据采集。
[0036]进一步的,根据所述目标任务的阶段信息和目标参数进行数据采集,包括:
[0037]若所述目标任务的阶段信息为数据抽取阶段,则根据数据抽取阶段对应的目标参数进行数据抽取,并将抽取到的数据插入临时表;
[0038]若所述目标任务的阶段信息为数据检查阶段,则根据数据检查阶段对应的目标参数进行数据检查;
[0039]若所述目标任务的阶段信息为数据入库阶段,则根据数据入库阶段对应的目标参数进行数据入库。
[0040]第二方面,本专利技术实施例还提供了一种数据采集装置,该装置包括:
[0041]获取模块,用于通过守护线程获取主线程状态信息;
[0042]初始化模块,用于若所述主线程状态信息为开启状态,则通过所述主线程初始化工作线程的线程池;
[0043]采集模块,用于根据节点信息通过所述主线程领取目标任务,并将所述目标任务提交到目标工作线程,通过所述目标工作线程进行数据采集。
[0044]第三方面,本专利技术实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术实施例中任一所述的数据采集方法。
[0045]第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术实施例中任一所述的数据采集方法。
[0046]本专利技术实施例通过守护线程获取主线程状态信息;若所述主线程状态信息为开启状态,则通过所述主线程初始化工作线程的线程池;根据节点信息通过所述主线程领取目标任务,并将所述目标任务提交到目标工作线程,通过所述目标工作线程进行数据采集,既解决了数据采集效率低,处理能力不可扩展,服务器故障恢复不够及时的问题,又解决了主节点为中心化节点,主节点服务器故障整个系统不可用,主节点容易成为处理效率的瓶颈的问题,能够根据各节点自身处理能力均衡负载到各节点,各节点并行处理数据采集任务,提升数据采集效率。
附图说明
[0047]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0048]图1是本专利技术实施例中的一种数据采集方法的流程图;
[0049]图1a是本专利技术实施例中的数据采集系统的示意图;
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据采集方法,其特征在于,所述数据采集方法包括:通过守护线程获取主线程状态信息;若所述主线程状态信息为开启状态,则通过所述主线程初始化工作线程的线程池;根据节点信息通过所述主线程领取目标任务,并将所述目标任务提交到目标工作线程,通过所述目标工作线程进行数据采集。2.根据权利要求1所述的方法,其特征在于,所述线程池包括:第一数量的工作线程;相应的,根据节点信息通过所述主线程领取目标任务,并将所述目标任务提交到目标工作线程,通过所述目标工作线程进行数据采集,包括:获取节点状态信息和线程池中工作线程的第一数量;若节点状态信息为上线状态,则获取处于运行状态的目标工作线程的第二数量;若所述第二数量小于所述第一数量,则通过主线程领取目标任务,并将所述目标任务提交到目标工作线程;通过所述目标工作线程进行数据采集。3.根据权利要求2所述的方法,其特征在于,通过主线程领取目标任务,并将所述目标任务提交到目标工作线程,包括:通过主线程获取数据库中任务领用锁的状态信息;若所述任务领用锁的状态信息为未占用状态,则将所述任务领用锁的状态信息更新为占用状态;通过主线程领取数据库中的任务列表中的目标任务,或者,若所述数据库中的任务列表为空,则获取处于下线状态的节点对应的目标任务;将所述任务领用锁的状态信息更新为未占用状态;通过主线程将领取的目标任务提交线程池,以使所述线程池将所述目标任务提交到目标工作线程。4.根据权利要求1所述的方法,其特征在于,还包括:获取数据库中的签到间隔;获取数据库中的签到处理锁的状态信息;若所述签到处理锁的状态信息为未占用状态,则将所述签到处理锁的状态信息更新为占用状态,并在数据库中的签到表中插入签到信息;或者,更新数据库中的签到表中的签到信息;获取其他节点的签到信息;根据所述其他节点的签到信息确定其他节点的状态信息;根据所述其他节点的状态信息更新所述签到表,将签到处理锁的状态信息更新为未占用状态。5.根据权利要求4所述的方法,其特征在于,所述其他节点的签到...

【专利技术属性】
技术研发人员:乔天祥江徐
申请(专利权)人:上海浦东发展银行股份有限公司
类型:发明
国别省市:

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

1