CN116700965B - 一种基于分布式的数据采集方法及*** - Google Patents

一种基于分布式的数据采集方法及*** Download PDF

Info

Publication number
CN116700965B
CN116700965B CN202310628963.5A CN202310628963A CN116700965B CN 116700965 B CN116700965 B CN 116700965B CN 202310628963 A CN202310628963 A CN 202310628963A CN 116700965 B CN116700965 B CN 116700965B
Authority
CN
China
Prior art keywords
thread
data acquisition
state
linked list
handle
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.)
Active
Application number
CN202310628963.5A
Other languages
English (en)
Other versions
CN116700965A (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.)
Beijing Ruitai Xingcheng Engineering Technology Co ltd
Original Assignee
Beijing Ruitai Xingcheng Engineering Technology 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 Beijing Ruitai Xingcheng Engineering Technology Co ltd filed Critical Beijing Ruitai Xingcheng Engineering Technology Co ltd
Priority to CN202310628963.5A priority Critical patent/CN116700965B/zh
Publication of CN116700965A publication Critical patent/CN116700965A/zh
Application granted granted Critical
Publication of CN116700965B publication Critical patent/CN116700965B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release 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/5018Thread allocation
    • 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)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种基于分布式的数据采集方法及***,属于数据处理技术领域,其包括实时获取每个数据采集线程的当前线程状态;根据当前线程状态,生成每个数据采集线程的线程句柄;所述线程句柄包括标志位且所述标志位的值根据当前线程状态实时生成;创建动态线程管理链表;根据标志位的值,对动态线程管理链表中的线程句柄进行更新;启动动态线程管理链表中的线程句柄对应的数据采集线程。通过对动态线程管理链表中存放的线程句柄进行实时调整,从而实现了基于线程状态对数据采集线程的启闭进行实时调整,以及时释放不需要的数据采集线程释放CPU资源,本申请具有使得数据采集线程的运行更加稳定的效果。

Description

一种基于分布式的数据采集方法及***
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种基于分布式的数据采集方法及***。
背景技术
分布式是指将一个应用程序拆分成多个独立的部分分布在不同的计算机或服务器上进行协同工作。通常采用多线程的方式进行协同工作,线程即在同一个程序内部并行执行的多个任务,采用多线程的方式即能够使分布式***的各个应用程序以并行的方式同时进行。
目前,在采用分布式的方法采集数据时,分布式采集***中的每个采集程序都需要占用一个线程以执行采集任务,并且每个线程的开启均需要占用相应的计算机或服务器的CPU资源,然而,CPU资源是有限的,在分布式采集***中同时执行的采集程序过多的情况下,容易出现CPU占用率过高的情况,从而易导致采集程序卡顿、异常等情况,进而易导致分布式采集***在采集数据时不够稳定。
发明内容
为了提高分布式采集程序的稳定性,本申请提供了一种基于分布式的数据采集方法及***。
第一方面,本申请提供的一种基于分布式的数据采集方法,采用如下的技术方案:
一种基于分布式的数据采集方法,包括:
实时获取每个数据采集线程的当前线程状态;
根据当前线程状态,生成每个数据采集线程的线程句柄;所述线程句柄包括标志位且所述标志位的值根据当前线程状态实时生成;
创建动态线程管理链表;所述动态线程管理链表用于存储线程句柄;
根据标志位的值,对动态线程管理链表中的线程句柄进行更新;
启动动态线程管理链表中的线程句柄对应的数据采集线程。
通过采用上述技术方案,根据数据采集线程的当前线程状态,生成包含有标志位的线程句柄,再利用创建的动态线程管理链表,基于标志位的值实时确定出存放至动态线程管理链表中线程句柄,并根据动态线程管理链表中存放的线程句柄,启动对应的数据采集线程,对于未存放在动态线程管理链表中线程句柄对应的数据采集线程不启动,通过对动态线程管理链表中存放的线程句柄进行实时更新,从而实现了基于线程状态对数据采集线程的启闭进行实时调整,以及时释放不需要的数据采集线程释放CPU资源,进而使得数据采集线程的运行更加稳定。
可选的,还包括:
发布用于调用数据采集线程的数据传输接口,且所述数据传输接口与数据采集线程一一对应。
通过采用上述技术方案,采用发布数据传输接口的方式,便于第三方对数据采集线程进行调用。
可选的,所述当前线程状态包括未调用状态、调用状态以及调用故障状态。
通过采用上述技术方案,利用当前线程状态便于反映数据采集线程的实际工作状态。
可选的,所述线程句柄还包括线程实例名;所述根据当前线程状态,生成数据采集线程的线程句柄,具体包括:
创建每个数据采集线程的实例名;
若当前线程状态是未调用状态或调用故障状态,则生成数据采集线程的标志位的值为第一预设值;
若当前线程状态是调用状态,则生成数据采集线程的标志位的值为第二预设值;
根据标志位的值和实例名,生成每个数据采集线程的线程句柄。
通过采用上述技术方案,实例名便于对不同的数据采集线程进行区分,标志位便于反映数据采集线程的实际工作状态,以实现了数据采集线程的线程句柄的生成。
可选的,所所述根据标志位的值,对动态线程管理链表中的线程句柄进行更新,具体包括:
若线程句柄的标志位的值为第一预设值,则将对应的线程句柄从动态线程管理链表中移出;
若线程句柄的标志位的值为第二预设值,则获取动态线程管理链表中的空闲地址,并从空闲地址中随机分配出线程句柄的存放地址;基于存放地址,将对应的线程句柄存放至动态线程管理链表中。
通过采用上述技术方案,利用标志位的值的不同,将线程句柄移出或存入动态线程管理链表,并且从空闲地址中随机分配出线程句柄的存放地址,相较于顺序分配地址的方式,从一定程度上避免了顺序分配的存放被占用或者不可用时,需要重复多次找存放地址的问题,从而加快了线程句柄在动态线程管理链表中地址的分配,以便快速将线程句柄存放至动态线程管理链表中,进而缩短数据采集线程的启动时间。
可选的,所述对动态线程管理链表中存放的线程句柄对应的数据采集线程进行启动之后,还包括:
采集数据采集线程中每个采集设备的反馈数据;
预先设定每个采集设备的报警区间;
响应于采集设备的反馈数据在报警区间的范围内,生成报警信息;
判断当前时刻之前的预设时间段内是否已经发送过报警信息,若是,则不发送当前的报警信息至管理者的用户终端,若否,将当前的报警信息发送至管理者的用户终端。
通过采用上述技术方案,采用判断当前时刻之前的预设时间段内是否已经发送过报警信息以及判断当前的报警信息内容和已经发送的报警信息内容是否一致的方式,阻止预设时间段内反复报警的情况出现。
可选的,所述实时获取每个数据采集线程的当前线程状态之前,还包括:
获取采集设备的设备类型码;
根据采集设备的类型码,分别创建数据采集线程。
通过采用上述技术方案,根据采集设备的类型不同分别创建数据采集线程,使得同一数据采集线程内的采集设备类型一致,便于对数据采集线程进行管理。
第二方面,本申请提供一种基于分布式的数据采集***,采用如下技术方案:
一种基于分布式的数据采集***,包括:
线程状态获取单元,用于实时获取每个数据采集线程的当前线程状态;
线程句柄生成单元,用于根据当前线程状态,生成每个数据采集线程的线程句柄;所述线程句柄包括标志位且所述标志位的值根据当前线程状态实时生成;
链表创建单元,用于创建动态线程管理链表;所述动态线程管理链表用于存储线程句柄;
链表更新单元,用于根据标志位的值,对动态线程管理链表中的线程句柄进行更新;
线程启动单元,用于启动动态线程管理链表中的线程句柄对应的数据采集线程。
第三方面,本申请提供一种计算机设备,采用如下技术方案:
一种计算机设备,包括存储器、处理器以及储存在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如上述任一种方法的计算机程序。
第四方面,本申请提供一种计算机可读存储介质,采用如下技术方案:
一种计算机可读存储介质,包括存储有能够被处理器加载并执行如上述任一方法中的计算机程序。
附图说明
图1是本申请其中一实施例数据采集方法的流程图。
图2是本申请其中一实施例生成线程句柄的方法流程图。
图3是本申请其中一实施例向动态线程管理链表中存放线程句柄的方法流程图。
图4是本申请其中一实施例数据采集方法进一步实施方式的方法流程图。
图5是本申请其中一实施例数据采集***的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图1-5及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例公开一种基于分布式的数据采集方法。参照图1,一种基于分布式的数据采集方法,包括:
步骤S101:实时获取每个数据采集线程的当前线程状态;
其中,根据实际需求的不同数据采集线程可以采集不同种类的数据,例如,本实施例应用于数据中心环控***中时,数据采集线程可以是空调数据采集线程、机房漏水数据采集线程、温湿度数据采集线程、配电数据采集线程、电池数据采集线程以及其它数据采集线程。
其中,当前线程状态包括未调用状态、调用状态以及调用故障状态。
还需要说明的是,不同线程状态之间可以相互转换,调用状态可以转换为调用故障状态或未调用状态,未调用状态可以转换为调用状态,调用故障状态可以转换为调用状态或未调用状态。例如,在调用状态下,若出现数据采集线程死锁等情况,则将调用状态转换为调用故障状态,若对数据采集线程正常停止调用,则将调用状态转换为未调用状态。
步骤S102:根据当前线程状态,生成每个数据采集线程的线程句柄;
其中,线程句柄包括标志位且标志位的值根据当前线程状态实时生成,线程句柄还包括线程实例名。
具体地,标志位可以以局部变量的形式定义在线程句柄中。
步骤S103:创建动态线程管理链表;
其中,动态线程管理链表用于存储线程句柄;
步骤S104:根据标志位的值,对动态线程管理链表中的线程句柄进行更新;
步骤S105:启动动态线程管理链表中的线程句柄对应的数据采集线程。
具体地,当线程句柄存至动态线程管理链表后,可以采用线程调度函数,将存至动态管理链表的线程句柄加入调度队列中,等待CPU分配时间片以执行对应的数据采集线程,从而实现了数据采集线程的开启。其中,线程调度函数可根据操作***的不同而选择,例如,在Linux或Mac操作***中,可采用pthread_create()函数作为线程调度函数,实现数据采集线程的调用。
上述实施方式中,根据数据采集线程的当前线程状态,生成包含有标志位的线程句柄,再利用创建的动态线程管理链表,基于标志位的值实时确定出存放至动态线程管理链表中线程句柄,并根据动态线程管理链表中存放的线程句柄,启动对应的数据采集线程,对于未存放在动态线程管理链表中线程句柄对应的数据采集线程不启动,通过对动态线程管理链表中存放的线程句柄进行实时更新,从而实现了基于线程状态对数据采集线程的启闭进行实时调整,以及时释放不需要的数据采集线程释放CPU资源,进而使得数据采集线程的运行更加稳定。
作为数据采集方法的进一步实施方式,数据采集方法还包括:
发布用于调用数据采集线程的数据传输接口,且数据传输接口与数据采集线程一一对应。
具体地,数据传输接口可以是WebApi,WebApi通过广域网和局域网在服务器或工作站进行发布,发布后通过WebApi即能够直接调用对应的数据采集线程,无需调用数据采集线程的代码,降低了第三方平台开发或者软件集成开发成本和难度
参照图2,作为步骤S102的一种实施方式,步骤S102具体包括:
步骤S1021:创建每个数据采集线程的实例名;
具体地,实例名可以通过对数据采集线程作为对象进行实例化得到。
步骤S1022:若当前线程状态是未调用状态或调用故障状态,则生成数据采集线程的标志位的值为第一预设值;
步骤S1023:若当前线程状态是调用状态,则生成数据采集线程的标志位的值为第二预设值;
其中,第一预设值可以设置为0,第二预设值可设置为1。
步骤S1024:根据标志位的值和实例名,生成每个数据采集线程的线程句柄。
上述实施方式中,实例名便于对不同的数据采集线程进行区分,标志位便于反映数据采集线程的实际工作状态,以实现了数据采集线程的线程句柄的生成。
参照图3,作为步骤S104的一种实施方式,步骤S104具体包括:
步骤S1041:若线程句柄的标志位的值为第一预设值,则将对应的线程句柄从动态线程管理链表中移出;
具体地,将对应的线程句柄从动态线程管理链表中移出之前还包括,判断线程句柄当前是否在动态线程管理链表中,若是,则将对应的线程句柄从动态线程管理链表中移出;若否,则不执行任何操作。
步骤S1042:若线程句柄的标志位的值为第二预设值,则获取动态线程管理链表中的空闲地址,并从空闲地址中随机分配出线程句柄的存放地址;基于存放地址,将对应的线程句柄存放至动态线程管理链表中。
具体地,在获取动态线程管理链表中的空闲地址之前还包括,判断线程句柄当前是否在动态线程管理链表中,若是,则不执行任何操作;若否,则获取动态线程管理链表中的空闲地址。
应当理解,若线程句柄的标志位的值为第二预设值且若线程句柄当前已经在动态线程管理链表中,此时无需对该线程句柄进行任何处理,无需重新对该线程句柄重新分配存放地址。
上述实施方式中,利用标志位的值的不同,将线程句柄移出或存入动态线程管理链表,并且从空闲地址中随机分配出线程句柄的存放地址,相较于顺序分配地址的方式,从一定程度上避免了顺序分配的存放被占用或者不可用时,需要重复多次找存放地址的问题,从而加快了线程句柄在动态线程管理链表中地址的分配,以便快速将线程句柄存放至动态线程管理链表中,进而缩短数据采集线程的启动时间。
作为数据采集方法的进一步实施方式,在步骤S1041之后还包括:
获取线程句柄的标志位的值为第一预设值的数据采集线程中的所有采集设备的连接状态;
根据连接状态,判断所有采集设备是否均连接正常,若否,则生成采集设备故障报警信息;若是,则判断数据采集线程对应线程句柄的值是否为第二预设值,若为第二预设值,则将数据采集线程对应的线程句柄重新存至动态线程管理链表中,若不是第二预设值,则不执行任何操作。
其中,连接状态包括设备离线状态、断电状态以及端口连接异常状态。
应当理解,当将标志位的值为第一预设值的数据采集线程移出动态线程管理链表后,说明该数据采集线程有可能处于故障状态,此时对该数据采集线程中的所有采集设备的状态进行获取,并生成采集设备故障报警信息,以便工作人员及时对相应的采集设备进行硬件故障排查,从而便于后续调用该数据采集线程时所有采集设备都能够正常工作。
参照图4,作为数据采集方法的进一步实施方式,步骤S105之后,还包括:
步骤S201:采集数据采集线程中每个采集设备的反馈数据;
其中,反馈数据即为采集设备采集到的数据。
步骤S202:预先设定每个采集设备的报警区间;
应当理解,每个采集设备的报警区间可以不相同,报警区间可以是闭区间,也可以是大于报警阈值或小于报警阈值开区间。
步骤S203:响应于采集设备的反馈数据在报警区间的范围内,生成报警信息;
步骤S204:判断当前时刻之前的预设时间段内是否已经发送过报警信息,若是,则执行步骤S205;若否,则执行步骤S206。
其中,预设时间段可以设置为30秒、60秒或90秒。
步骤S205:不发送当前的报警信息至管理者的用户终端;
步骤S206:将当前的报警信息发送至管理者的用户终端。
上述实施方式中,采用判断当前时刻之前的预设时间段内是否已经发送过报警信息以及判断当前的报警信息内容和已经发送的报警信息内容是否一致的方式,阻止预设时间段内反复报警的情况出现。
作为数据采集方法的进一步实施方式,步骤S101之前还包括:
获取采集设备的设备类型码;
根据采集设备的类型码,分别创建数据采集线程。
其中,设备类型码由工作人员进行提前预设。
具体地,根据采集设备的类型码,分别创建数据采集线程具体包括:判断是否已经创建相同类型码的数据采集线程,若是,则将对应的采集设备加入至已经创建的数据采集线程;若否,则创建相同类型码采集设备的数据采集线程。
上述实施方式中,根据采集设备的类型不同分别创建数据采集线程,使得同一数据采集线程内的采集设备类型一致,便于对数据采集线程进行管理。
本申请实施例公开一种基于分布式的数据采集***。参照图5,一种基于分布式的数据采集***,包括:
线程状态获取单元,用于实时获取每个数据采集线程的当前线程状态;
线程句柄生成单元,用于根据当前线程状态,生成每个数据采集线程的线程句柄;线程句柄包括标志位且标志位的值根据当前线程状态实时生成;
链表创建单元,用于创建动态线程管理链表;动态线程管理链表用于存储线程句柄;
链表更新单元,用于根据标志位的值,对动态线程管理链表中的线程句柄进行更新;
线程启动单元,用于启动动态线程管理链表中的线程句柄对应的数据采集线程。
本申请提供的一种基于分布式的数据采集***能够实现上述一种基于分布式的数据采集方法,且一种基于分布式的数据采集***的具体工作过程可参考上述方法实施例中的对应过程。
需要说明的是,在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
基于同一技术构思,本发明还公开一种计算机设备,包括存储器、处理器以及储存在所述存储器上并可在处理器上运行的计算机程序,处理器执行如上述任一种方法的计算机程序。
本发明还公开一种计算机可读储存介质,一种计算机可读存储介质,包括存储有能够被处理器加载并执行如上述任一方法中的计算机程序。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

Claims (9)

1.一种基于分布式的数据采集方法,其特征在于,包括:
实时获取每个数据采集线程的当前线程状态;
根据当前线程状态,生成每个数据采集线程的线程句柄;所述线程句柄包括标志位且所述标志位的值根据当前线程状态实时生成;
创建动态线程管理链表;所述动态线程管理链表用于存储线程句柄;
根据标志位的值,对动态线程管理链表中的线程句柄进行更新;
启动动态线程管理链表中的线程句柄对应的数据采集线程;
所述根据标志位的值,对动态线程管理链表中的线程句柄进行更新,具体包括:
若线程句柄的标志位的值为第一预设值,则将对应的线程句柄从动态线程管理链表中移出;
若线程句柄的标志位的值为第二预设值,则获取动态线程管理链表中的空闲地址,并从空闲地址中随机分配出线程句柄的存放地址;基于存放地址,将对应的线程句柄存放至动态线程管理链表中。
2.根据权利要求1所述的基于分布式的数据采集方法,其特征在于,还包括:
发布用于调用数据采集线程的数据传输接口,且所述数据传输接口与数据采集线程一一对应。
3.根据权利要求2所述的基于分布式的数据采集方法,其特征在于,所述当前线程状态包括未调用状态、调用状态以及调用故障状态。
4.根据权利要求3所述的基于分布式的数据采集方法,其特征在于,所述线程句柄还包括线程实例名;所述根据当前线程状态,生成每个数据采集线程的线程句柄,具体包括:
创建每个数据采集线程的实例名;
若当前线程状态是未调用状态或调用故障状态,则生成数据采集线程的标志位的值为第一预设值;
若当前线程状态是调用状态,则生成数据采集线程的标志位的值为第二预设值;
根据标志位的值和实例名,生成每个数据采集线程的线程句柄。
5.根据权利要求1-4任一所述的基于分布式的数据采集方法,其特征在于,所述启动动态线程管理链表中的线程句柄对应的数据采集线程之后,还包括:
采集数据采集线程中每个采集设备的反馈数据;
预先设定每个采集设备的报警区间;
响应于采集设备的反馈数据在报警区间的范围内,生成报警信息;
判断当前时刻之前的预设时间段内是否已经发送过报警信息,若是,则不发送当前的报警信息至管理者的用户终端,若否,将当前的报警信息发送至管理者的用户终端。
6.根据权利要求1所述的基于分布式的数据采集方法,其特征在于,所述实时获取每个数据采集线程的当前线程状态之前,还包括:
获取采集设备的设备类型码;
根据采集设备的设备类型码,分别创建数据采集线程。
7.一种基于分布式的数据采集***,其特征在于,用于执行权利要求1到6任一所述的方法,包括:
线程状态获取单元,用于实时获取每个数据采集线程的当前线程状态;
线程句柄生成单元,用于根据当前线程状态,生成每个数据采集线程的线程句柄;所述线程句柄包括标志位且所述标志位的值根据当前线程状态实时生成;
链表创建单元,用于创建动态线程管理链表;所述动态线程管理链表用于存储线程句柄;
链表更新单元,用于根据标志位的值,对动态线程管理链表中的线程句柄进行更新;
线程启动单元,用于启动动态线程管理链表中的线程句柄对应的数据采集线程。
8.一种计算机设备,其特征在于:包括存储器、处理器以及储存在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如权利要求1-6中任一种方法的计算机程序。
9.一种计算机可读存储介质,其特征在于,包括存储有能够被处理器加载并执行如权利要求1-6中任一方法中的计算机程序。
CN202310628963.5A 2023-05-30 2023-05-30 一种基于分布式的数据采集方法及*** Active CN116700965B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310628963.5A CN116700965B (zh) 2023-05-30 2023-05-30 一种基于分布式的数据采集方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310628963.5A CN116700965B (zh) 2023-05-30 2023-05-30 一种基于分布式的数据采集方法及***

Publications (2)

Publication Number Publication Date
CN116700965A CN116700965A (zh) 2023-09-05
CN116700965B true CN116700965B (zh) 2024-06-21

Family

ID=87836674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310628963.5A Active CN116700965B (zh) 2023-05-30 2023-05-30 一种基于分布式的数据采集方法及***

Country Status (1)

Country Link
CN (1) CN116700965B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110598054A (zh) * 2019-08-19 2019-12-20 桂林长海发展有限责任公司 一种多线程链表处理方法、装置及计算机可读存储介质
CN112631957A (zh) * 2020-12-14 2021-04-09 深兰人工智能(深圳)有限公司 数据采集方法、装置、电子设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332826B2 (en) * 2005-05-26 2012-12-11 United Parcel Service Of America, Inc. Software process monitor
CN101206586B (zh) * 2006-12-19 2012-03-21 康佳集团股份有限公司 一种操作***句柄管理方法
CN106547612B (zh) * 2016-10-18 2020-10-20 深圳怡化电脑股份有限公司 一种多任务处理方法及装置
CN108345452B (zh) * 2017-01-23 2021-07-23 斑马智行网络(香港)有限公司 一种线程管理方法及装置
CN110445730A (zh) * 2019-09-18 2019-11-12 中国科学院微电子研究所 基于WinPcap的网络数据实时采集存储方法和装置
CN112035312B (zh) * 2020-07-22 2023-05-26 大箴(杭州)科技有限公司 一种检测Kafka集群中Leader进程的可用状态方法及装置
CN115145806A (zh) * 2021-03-31 2022-10-04 腾讯云计算(北京)有限责任公司 一种数据采集方法、装置、以及计算机可读存储介质
CN114090270B (zh) * 2022-01-21 2022-05-20 武汉中科通达高新技术股份有限公司 线程管理方法、装置、电子设备及计算机可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110598054A (zh) * 2019-08-19 2019-12-20 桂林长海发展有限责任公司 一种多线程链表处理方法、装置及计算机可读存储介质
CN112631957A (zh) * 2020-12-14 2021-04-09 深兰人工智能(深圳)有限公司 数据采集方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN116700965A (zh) 2023-09-05

Similar Documents

Publication Publication Date Title
CN110290189B (zh) 一种容器集群管理方法、装置及***
CN111880936B (zh) 资源调度方法、装置、容器集群、计算机设备和存储介质
CN112583861A (zh) 服务部署方法、资源配置方法、***、装置及服务器
CN103279351B (zh) 一种任务调度的方法及装置
CN109800261B (zh) 双数据库连接池的动态控制方法、装置及相关设备
CN112698952A (zh) 计算资源统一管理方法、装置、计算机设备及存储介质
CN112631680B (zh) 微服务容器调度***、方法、装置和计算机设备
EP3672203A1 (en) Distribution method for distributed data computing, device, server and storage medium
CN114338670A (zh) 一种边缘云平台和具有其的网联交通三级云控平台
CN116700965B (zh) 一种基于分布式的数据采集方法及***
CN111752675B (zh) 一种基于容器化技术的物联网平台
CN107870822B (zh) 基于分布式***的异步任务控制方法及***
CN116823162B (zh) 一种网络资产扫描任务管理方法、***及计算机设备
CN115225645B (zh) 一种服务更新方法、装置、***和存储介质
CN116032614A (zh) 容器网络微隔离方法、装置、设备和介质
CN113746676B (zh) 基于容器集群的网卡管理方法、装置、设备、介质及产品
CN115987872A (zh) 一种基于资源路由的云***
CN114237914A (zh) 一种基于混合云管理调度***
CN109324820B (zh) 一种宿主机的更新方法、装置、设备及介质
CN116112306B (zh) 一种去中心化的网络交互方法、装置、设备及存储介质
CN115834585B (zh) 数据处理方法及负载均衡***
CN112532450B (zh) 一种数据流分发进程配置的动态更新方法及***
CN117076057B (zh) 一种ai服务请求调度的方法、装置、设备及介质
US20240241709A1 (en) Software Module Deployment Methods and Apparatus
CN117632531A (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