CN108920411A - 一种分布式存储系统的数据采集方法及装置 - Google Patents
一种分布式存储系统的数据采集方法及装置 Download PDFInfo
- Publication number
- CN108920411A CN108920411A CN201810715994.3A CN201810715994A CN108920411A CN 108920411 A CN108920411 A CN 108920411A CN 201810715994 A CN201810715994 A CN 201810715994A CN 108920411 A CN108920411 A CN 108920411A
- Authority
- CN
- China
- Prior art keywords
- node
- acquired
- address
- data
- data acquisition
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000005540 biological transmission Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 25
- 238000012546 transfer Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 12
- 238000013480 data collection Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种分布式存储系统的数据采集方法及装置,该方法包括:在所述分布式存储系统中的至少一个待采集节点上设置数据采集脚本;从所述至少一个待采集节点中确定中心节点;在所述中心节点上构建传递线程;获取每一个所述待采集节点对应的属性信息;利用所述传递线程将所述属性信息传递给每一个所述待采集节点;根据所述属性信息,启动每一个所述待采集节点上的所述数据采集脚本;利用启动的所述数据采集脚本对相应待采集数据节点上的目标数据进行采集;利用所述传递线程将每一个所述待采集节点上采集到的所述目标数据返回给所述中心节点。本方案能提高数据采集效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种分布式存储系统的数据采集方法及装置。
背景技术
在互联网业务迅猛发展的当今,大数据已经涵盖了我们生活中的方方面面,如何对这些数据进行高效处理显得尤为重要。而数据采集是数据处理的基础,因此高效的数据采集也是高效处理数据的基础。
在Ceph系统等分布式系统中,数据采集一般是逐个节点进行的。例如,Ceph系统中有十个数据节点,分别分布在计算机1-10上,则在数据采集时,先从到达计算机1所在的位置,采集第一个数据节点的数据,再到计算机2所在的位置,采集第二个数据节点的数据,以此类推采集各个数据节点的数据。
由于在数据采集时,需要分别到达各个数据节点对应的计算机的位置,而Ceph系统等分布式系统中数据节点数量较多,采用上述方式进行数据采集时效率较低。
发明内容
本发明实施例提供了一种分布式存储系统的数据采集方法及装置,能提高数据采集效率。
第一方面,本发明实施例提供了一种分布式存储系统的数据采集方法,包括:
在所述分布式存储系统中的至少一个待采集节点上设置数据采集脚本;
从所述至少一个待采集节点中确定中心节点;
在所述中心节点上构建传递线程;
获取每一个所述待采集节点对应的属性信息;
利用所述传递线程将所述属性信息传递给每一个所述待采集节点;
根据所述属性信息,启动每一个所述待采集节点上的所述数据采集脚本;
利用启动的所述数据采集脚本对相应待采集数据节点上的目标数据进行采集;
利用所述传递线程将每一个所述待采集节点上采集到的所述目标数据返回给所述中心节点。
可选地,
所述数据采集脚本包括:web应用程序;
所述根据所述属性信息,启动每一个所述待采集节点上的所述数据采集脚本,包括:
针对每一个所述待采集节点,均执行:
利用所述传递线程调用所述中心节点上预设的多线程类;
利用所述多线程类通过超文本传输协议HTTP协议调用所述待采集节点上的web应用程序;
所述利用启动的所述数据采集脚本对相应待采集数据节点上的目标数据进行采集,包括:
利用所述web应用程序通过所述HTTP协议对所述目标数据进行采集。
可选地,
所述利用所述web应用程序通过所述HTTP协议对所述目标数据进行采集,包括:
利用所述web应用程序接收用户输入的HTTP请求,并根据所述HTTP请求采集目标数据;
将所述目标数据存储至全局变量对应的存储空间中。
可选地,
在所述根据所述属性信息,启动每一个所述待采集节点上的所述数据采集脚本之前,进一步包括:
针对每一个所述待采集节点,均执行:
从所述属性信息中解析出至少一个IP地址;
确定所述待采集节点对应的当前IP地址;
确定所述至少一个IP地址中是否存在与所述当前IP地址相同的目标IP地址,如果是,则启动所述待采集节点上的所述数据采集脚本。
可选地,
所述确定所述至少一个IP地址中是否存在与所述当前IP地址相同的目标IP地址,包括:
根据以下计算公式,分别计算所述当前IP地址与各个所述IP地址之间的差异系数;
当所述差异系数为零时,确定所述IP地址为与所述当前IP地址对应的目标IP地址;
其中,M表征所述差异系数,ai表征所述当前IP地址中第i个字符对应的二进制值,bij表征所述至少一个IP地址中的第j个IP地址的第i个字符对应的二进制值。
可选地,
在所述利用所述传递线程将每一个所述待采集节点上采集到的所述目标数据返回给所述中心节点之后,进一步包括:
利用所述中心节点上预设的多线程类,对所述目标数据的数据格式以及所述目标数据中的字段进行处理;
可选地,
所述获取每一个所述待采集节点对应的属性信息,包括:
获取所述分布式存储系统对应的配置文件;
从所述配置文件中解析出每一个所述待采集节点对应的配置项;
从每一个所述配置项中解析出相应待采集节点的属性信息。
第二方面,本发明实施例提供了一种分布式存储系统的数据采集装置,包括:脚本设置模块、线程构建模块、传递模块和数据采集模块;其中,
所述脚本设置模块,用于在所述分布式存储系统中的至少一个待采集节点上设置数据采集脚本;
所述线程构建模块,用于从所述至少一个待采集节点中确定中心节点,并在所述中心节点上构建传递线程;
所述传递模块,用于获取每一个所述待采集节点对应的属性信息,利用所述传递线程将所述属性信息传递给每一个所述待采集节点;
所述数据采集模块,用于根据所述属性信息,启动每一个所述待采集节点上的所述数据采集脚本,利用启动的所述数据采集脚本对相应待采集数据节点上目标数据进行采集,并利用所述传递线程将每一个所述待采集节点上采集到所述目标数据返回给所述中心节点。
可选地,
所述数据采集脚本包括:web应用程序;
所述数据采集模块,用于针对每一个所述待采集节点,均执行:利用所述传递进程调用所述中心节点上预设的多线程类;利用所述多线程类通过超文本传输协议HTTP协议调用所述待采集节点上的web应用程序;利用所述web应用程序通过所述HTTP协议对所述目标数据进行采集;
可选地,
所述数据采集模块,进一步用于针对每一个所述待采集节点,均执行:从所述属性信息中解析出至少一个IP地址;确定所述待采集节点对应的当前IP地址;确定所述至少一个IP地址中是否存在与所述当前IP地址相同的目标IP地址,如果是,则启动所述待采集节点上的所述数据采集脚本。
可选地,
所述数据采集模块,用于利用所述web应用程序接收用户输入的HTTP请求,并根据所述HTTP请求采集目标数据;将所述目标数据存储至全局变量对应的存储空间中。
可选地,
所述数据采集模块,用于根据以下计算公式,分别计算所述当前IP地址与各个所述IP地址之间的差异系数;当所述差异系数为零时,确定所述IP地址为与所述当前IP地址对应的目标IP地址;
其中,M表征所述差异系数,ai表征所述当前IP地址中第i个字符对应的二进制值,bij表征所述至少一个IP地址中的第j个IP地址的第i个字符对应的二进制值。
可选地,
进一步包括:数据处理模块;其中,
所述数据处理模块,用于利用所述中心节点上预设的多线程类,对所述目标数据的数据格式以及所述目标数据中的字段进行处理;
可选地,
所述传递模块,用于获取所述分布式存储系统对应的配置文件,从所述配置文件中解析出每一个所述待采集节点对应的配置项,并从每一个所述配置项中解析出相应待采集节点的属性信息。
本发明实施例提供了一种分布式存储系统的数据采集方法及装置,通过在分布式系统的中的每个待采集节点上设置数据采集脚本,当各个待采集节点中的中心节点获取到每一个待采集节点对应的属性信息时,通过中心节点上设置的传递线程将该属性信息传递至其他每一个待采集节点上,以此启动每一个待采集节点上的数据采集脚本,通过循环处理各个待采集节点上的数据采集脚本,采集各个待采集节点上的目标数据,并将采集到的目标数据返回给中心节点。由此无需去到每一个待采集节点的位置,即可实现分布式存储系统中各个待采集节点的数据采集,从而提高了数据采集效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种分布式存储系统的数据采集方法的流程图;
图2是本发明另一个实施例提供的一种分布式存储系统的数据采集方法的流程图;
图3是本发明一个实施例提供的一种分布式存储系统的数据采集装置的结构示意图;
图4是本发明另一个实施例提供的一种分布式存储系统的数据采集装置的结构示意图;
图5是本发明又一个实施例提供的一种分布式存储系统的数据采集装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种分布式存储系统的数据采集方法,该方法可以包括以下步骤:
步骤101:在所述分布式存储系统中的至少一个待采集节点上设置数据采集脚本;
步骤102:从所述至少一个待采集节点中确定中心节点;
步骤103:在所述中心节点上构建传递线程;
步骤104:获取每一个所述待采集节点对应的属性信息;
步骤105:利用所述传递线程将所述属性信息传递给每一个所述待采集节点;
步骤106:根据所述属性信息,启动每一个所述待采集节点上的所述数据采集脚本;
步骤107:利用启动的所述数据采集脚本对相应待采集数据节点上的目标数据进行采集;
步骤108:利用所述传递线程将每一个所述待采集节点上采集到的所述目标数据返回给所述中心节点。
上述实施例中,通过在分布式系统的中的每个待采集节点上设置数据采集脚本,当各个待采集节点中的中心节点获取到每一个待采集节点对应的属性信息时,通过中心节点上设置的传递线程将该属性信息传递至其他每一个待采集节点上,以此启动每一个待采集节点上的数据采集脚本,通过循环处理各个待采集节点上的数据采集脚本,采集各个待采集节点上的目标数据,并将采集到的目标数据返回给中心节点。由此无需去到每一个待采集节点的位置,即可实现分布式存储系统中各个待采集节点的数据采集,从而提高了数据采集效率。
本发明一个实施例中,所述数据采集脚本包括:web应用程序;
步骤106的具体实施方式,可以包括:
针对每一个所述待采集节点,均执行:
利用所述传递线程调用所述中心节点上预设的多线程类;
利用所述多线程类通过超文本传输协议HTTP协议调用所述待采集节点上的web应用程序;
步骤107的具体实施方式,可以包括:
利用所述web应用程序通过所述HTTP协议对所述目标数据进行采集。
以ceph系统为例,在ceph系统中的每一个待采集上节点上编写线程ThreadCommand函数,以通过ThreadCommand函数实现数据采集时参数的传递和数据结果返回,即实现属性信息的传递和目标数据的返回,其中的属性信息一般包括URL地址,各个待采集节点的IP地址和端口号等。另外,在每一个待采集节点上设置线程模块threading,以通过threading实现多线程采集和处理数据。
在应用中,可从设置有ThreadCommand函数和线程模块threading的各个待采集节点中任意选择一个待采集节点作为中心节点。在中心节点上,通过ThreadCommand函数调用线程模块threading,通过http协议调用web应用程序,根据业务需求调用数据采集功能处理方法返回数据采集结果。由此实现目标数据的多线程采集,从而有利于提高数据采集效率。
本发明一个实施例中,步骤104的具体实施方式,可以包括:
获取所述分布式存储系统对应的配置文件;
从所述配置文件中解析出每一个所述待采集节点对应的配置项;
从每一个所述配置项中解析出相应待采集节点的属性信息。
仍以ceph系统为例,通过python的commands模块函数,执行“ceph osd dump”命令,以从ceph系统的配置文件的配置项中获取到系统中各个节点的属性信息,例如IP地址等,该方法简单方便,过程迅速,便于执行,从而有利于进一步提高数据采集效率。
本发明一个实施例中,所述利用所述web应用程序通过所述HTTP协议对所述目标数据进行采集,包括:
利用所述web应用程序接收用户输入的HTTP请求,并根据所述HTTP请求采集目标数据;
将所述目标数据存储至全局变量对应的存储空间中。
在通过“ceph osd dump”命令获取到集群节点IP地址之后,构造线程指令类ThreadCommand,并将threading模块函数Thread方法初始化,然后调用多线程处理函数,传入所需参数,之后即可调用HTTP协议的request方法,实现rest接口。具体地,可首先利用httplib库的HTTPConnection方法,连接机器,然后发送HTTP请求,例如“PUT”、“GET”或“POST”,然后可根据HTTP请求调用数据采集方法函数采集目标数据,之后将获取到的目标数据存放到全局变量中,以备调用。
本发明一个实施例中,在步骤106之前,可以进一步包括:
针对每一个所述待采集节点,均执行:
从所述属性信息中解析出至少一个IP地址;
确定所述待采集节点对应的当前IP地址;
确定所述至少一个IP地址中是否存在与所述当前IP地址相同的目标IP地址,如果是,则启动所述待采集节点上的所述数据采集脚本。
每一个待采集节点在接收到中心节点传递的属性信息时,从属性信息中解析出多个IP地址,再确定这多个IP地址中是否存在与自身的当前IP地址相同的目标IP地址,如果有,则启动自身的数据采集脚本,以利用数据采集脚本采集目标数据,并将采集到的目标数据通过传递线程返回给中心节点。
具体地,所述确定所述至少一个IP地址中是否存在与所述当前IP地址相同的目标IP地址,包括:
根据以下计算公式,分别计算所述当前IP地址与各个所述IP地址之间的差异系数;
当所述差异系数为零时,确定所述IP地址为与所述当前IP地址对应的目标IP地址;
其中,M表征所述差异系数,ai表征所述当前IP地址中第i个字符对应的二进制值,bij表征所述至少一个IP地址中的第j个IP地址的第i个字符对应的二进制值。
本发明一个实施例中,在步骤108之后,可以进一步包括:
利用所述中心节点上预设的多线程类,对所述目标数据的数据格式以及所述目标数据中的字段进行处理。
在中心节点上编写数据采集逻辑方法,处理采集数据的字段和数据格式等,编写多线程类调用线程threading类,进而实现多线程处理数据,从而有利于提高数据处理效率。
如图2所示,本发明实施例提供了一种分布式存储系统的数据采集方法,该方法可以包括以下步骤:
步骤201:在所述分布式存储系统中的至少一个待采集节点上设置数据采集脚本。
步骤202:从所述至少一个待采集节点中确定中心节点,并在所述中心节点上构建传递线程。
步骤203:获取所述分布式存储系统对应的配置文件,从所述配置文件中解析出每一个所述待采集节点对应的配置项,并从每一个所述配置项中解析出相应待采集节点的属性信息。
步骤204:利用所述传递线程将所述属性信息传递给每一个所述待采集节点。
步骤205:针对每一个所述待采集节点,均执行:利用所述传递线程调用所述中心节点上预设的多线程类,利用所述多线程类通过超文本传输协议HTTP协议调用所述待采集节点上的web应用程序。
步骤206:利用所述web应用程序通过所述HTTP协议对所述目标数据进行采集,并利用所述传递线程将每一个所述待采集节点上采集到的所述目标数据返回给所述中心节点。
步骤207:利用所述中心节点上预设的多线程类,对所述目标数据的数据格式以及所述目标数据中的字段进行处理。
综上所述,本发明实施例提供的数据采集方法通过将数据采集脚本部署在ceph集群中的各个节点后,其作为常驻进程,便可在ceph集群系统中选取任一节点作为中心节点,通过调用选取的该中心节点部署好的接口脚本,便可自动获取到整个集群中各个节点所需要的数据信息。Python确保数据采集脚本在各个节点上可执行,并且封装成常驻进程,并提供可调用rest接口。数据采集时,首先通过ceph集群自带系统命令,获取到所有节点的IP,然后利用http协议进行参数传递IP,识别IP对应的节点机接收用户的请求命令后,执行部署好的接口脚本对请求命令所需的数据进行处理返回。由此,通过循环的方式将所有IP作为请求命令转发给所代表的节点机,进而实现多线程数据采集。
该方法是在ceph集群中,通过http协议利用python语言编写实现的,首先获取集群中各个节点IP,通过循环处理各个节点的数据采集脚本,将本节点获取的数据结果返回后附加到全局存储变量中,最终将采集集群各节点后统一存放的变量数据进行处理(格式、字段选取等要求)并返回结果。该方法与利用java、shell技术实现的相比,python实现的代码语法简单,逻辑易于理解,无需提供jar包;同时部署操作简单,可移植性好,后期易于维护;封装成接口,只需在群集群中的一台机器上调用接口,便可实现对集群中所有机器数据的采集,大大缩短了集群数据采集花费的操作时间,对多机部署提供了更好的用户体验。
如图3、图4所示,本发明实施例提供了一种分布式存储系统的数据采集装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的分布式存储系统的数据采集装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的分布式存储系统的数据采集装置,包括:脚本设置模块401、线程构建模块402、传递模块403和数据采集模块404;其中,
所述脚本设置模块401,用于在所述分布式存储系统中的至少一个待采集节点上设置数据采集脚本;
所述线程构建模块402,用于从所述至少一个待采集节点中确定中心节点,并在所述中心节点上构建传递线程;
所述传递模块403,用于获取每一个所述待采集节点对应的属性信息,利用所述传递线程将所述属性信息传递给每一个所述待采集节点;
所述数据采集模块404,用于根据所述属性信息,启动每一个所述待采集节点上的所述数据采集脚本,利用启动的所述数据采集脚本对相应待采集数据节点上目标数据进行采集,并利用所述传递线程将每一个所述待采集节点上采集到所述目标数据返回给所述中心节点。
本发明一个实施例中,所述数据采集脚本包括:web应用程序;
所述数据采集模块404,用于针对每一个所述待采集节点,均执行:利用所述传递进程调用所述中心节点上预设的多线程类;利用所述多线程类通过超文本传输协议HTTP协议调用所述待采集节点上的web应用程序;利用所述web应用程序通过所述HTTP协议对所述目标数据进行采集;
本发明一个实施例中,所述数据采集模块404,进一步用于针对每一个所述待采集节点,均执行:从所述属性信息中解析出至少一个IP地址;确定所述待采集节点对应的当前IP地址;确定所述至少一个IP地址中是否存在与所述当前IP地址相同的目标IP地址,如果是,则启动所述待采集节点上的所述数据采集脚本。
本发明一个实施例中,所述数据采集模块404,用于利用所述web应用程序接收用户输入的HTTP请求,并根据所述HTTP请求采集目标数据;将所述目标数据存储至全局变量对应的存储空间中。
本发明一个实施例中,所述数据采集模块404,用于根据以下计算公式,分别计算所述当前IP地址与各个所述IP地址之间的差异系数;当所述差异系数为零时,确定所述IP地址为与所述当前IP地址对应的目标IP地址;
其中,M表征所述差异系数,ai表征所述当前IP地址中第i个字符对应的二进制值,bij表征所述至少一个IP地址中的第j个IP地址的第i个字符对应的二进制值。
如图5所示,本发明一个实施例中,该装置可以进一步包括:数据处理模块501;其中,
所述数据处理模块501,用于利用所述中心节点上预设的多线程类,对所述目标数据的数据格式以及所述目标数据中的字段进行处理;
本发明一个实施例中,所述传递模块403,用于获取所述分布式存储系统对应的配置文件,从所述配置文件中解析出每一个所述待采集节点对应的配置项,并从每一个所述配置项中解析出相应待采集节点的属性信息。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明上述任一实施例提供的方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明上述任一实施例提供的方法。
综上所述,本发明以上各个实施例至少具有如下有益效果:
1、在本发明实施例中,通过在分布式系统的中的每个待采集节点上设置数据采集脚本,当各个待采集节点中的中心节点获取到每一个待采集节点对应的属性信息时,通过中心节点上设置的传递线程将该属性信息传递至其他每一个待采集节点上,以此启动每一个待采集节点上的数据采集脚本,通过循环处理各个待采集节点上的数据采集脚本,采集各个待采集节点上的目标数据,并将采集到的目标数据返回给中心节点。由此无需去到每一个待采集节点的位置,即可实现分布式存储系统中各个待采集节点的数据采集,从而提高了数据采集效率。
2、在本发明实施例中,通过http协议调用web应用程序,根据业务需求调用数据采集功能处理方法返回数据采集结果,由此实现目标数据的多线程采集,从而有利于提高数据采集效率。
3、在本发明实施例中,在ceph集群中,通过http协议利用python语言编写实现多线程数据采集,首先获取集群中各个节点IP,通过循环处理各个节点的数据采集脚本,将本节点获取的数据结果返回后附加到全局存储变量中,最终将采集集群各节点后统一存放的变量数据进行处理(格式、字段选取等要求)并返回结果。该方法与利用java、shell技术实现的相比,python实现的代码语法简单,逻辑易于理解,无需提供jar包;同时部署操作简单,可移植性好,后期易于维护;封装成接口,只需在群集群中的一台机器上调用接口,便可实现对集群中所有机器数据的采集,大大缩短了集群数据采集花费的操作时间,对多机部署提供了更好的用户体验。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种分布式存储系统的数据采集方法,其特征在于,包括:
在所述分布式存储系统中的至少一个待采集节点上设置数据采集脚本;
从所述至少一个待采集节点中确定中心节点;
在所述中心节点上构建传递线程;
获取每一个所述待采集节点对应的属性信息;
利用所述传递线程将所述属性信息传递给每一个所述待采集节点;
根据所述属性信息,启动每一个所述待采集节点上的所述数据采集脚本;
利用启动的所述数据采集脚本对相应待采集数据节点上的目标数据进行采集;
利用所述传递线程将每一个所述待采集节点上采集到的所述目标数据返回给所述中心节点。
2.根据权利要求1所述的方法,其特征在于,
所述数据采集脚本包括:web应用程序;
所述根据所述属性信息,启动每一个所述待采集节点上的所述数据采集脚本,包括:
针对每一个所述待采集节点,均执行:
利用所述传递线程调用所述中心节点上预设的多线程类;
利用所述多线程类通过超文本传输协议HTTP协议调用所述待采集节点上的web应用程序;
所述利用启动的所述数据采集脚本对相应待采集数据节点上的目标数据进行采集,包括:
利用所述web应用程序通过所述HTTP协议对所述目标数据进行采集。
3.根据权利要求2所述的方法,其特征在于,
所述利用所述web应用程序通过所述HTTP协议对所述目标数据进行采集,包括:
利用所述web应用程序接收用户输入的HTTP请求,并根据所述HTTP请求采集目标数据;
将所述目标数据存储至全局变量对应的存储空间中。
4.根据权利要求1所述的方法,其特征在于,
在所述根据所述属性信息,启动每一个所述待采集节点上的所述数据采集脚本之前,进一步包括:
针对每一个所述待采集节点,均执行:
从所述属性信息中解析出至少一个IP地址;
确定所述待采集节点对应的当前IP地址;
确定所述至少一个IP地址中是否存在与所述当前IP地址相同的目标IP地址,如果是,则启动所述待采集节点上的所述数据采集脚本。
5.根据权利要求4所述的方法,其特征在于,
所述确定所述至少一个IP地址中是否存在与所述当前IP地址相同的目标IP地址,包括:
根据以下计算公式,分别计算所述当前IP地址与各个所述IP地址之间的差异系数;
当所述差异系数为零时,确定所述IP地址为与所述当前IP地址对应的目标IP地址;
其中,M表征所述差异系数,ai表征所述当前IP地址中第i个字符对应的二进制值,bij表征所述至少一个IP地址中的第j个IP地址的第i个字符对应的二进制值。
6.根据权利要求1至5任一所述的方法,其特征在于,
在所述利用所述传递线程将每一个所述待采集节点上采集到的所述目标数据返回给所述中心节点之后,进一步包括:
利用所述中心节点上预设的多线程类,对所述目标数据的数据格式以及所述目标数据中的字段进行处理;
和/或,
所述获取每一个所述待采集节点对应的属性信息,包括:
获取所述分布式存储系统对应的配置文件;
从所述配置文件中解析出每一个所述待采集节点对应的配置项;
从每一个所述配置项中解析出相应待采集节点的属性信息。
7.一种分布式存储系统的数据采集装置,其特征在于,包括:脚本设置模块、线程构建模块、传递模块和数据采集模块;其中,
所述脚本设置模块,用于在所述分布式存储系统中的至少一个待采集节点上设置数据采集脚本;
所述线程构建模块,用于从所述至少一个待采集节点中确定中心节点,并在所述中心节点上构建传递线程;
所述传递模块,用于获取每一个所述待采集节点对应的属性信息,利用所述传递线程将所述属性信息传递给每一个所述待采集节点;
所述数据采集模块,用于根据所述属性信息,启动每一个所述待采集节点上的所述数据采集脚本,利用启动的所述数据采集脚本对相应待采集数据节点上目标数据进行采集,并利用所述传递线程将每一个所述待采集节点上采集到所述目标数据返回给所述中心节点。
8.根据权利要求7所述的装置,其特征在于,
所述数据采集脚本包括:web应用程序;
所述数据采集模块,用于针对每一个所述待采集节点,均执行:利用所述传递进程调用所述中心节点上预设的多线程类;利用所述多线程类通过超文本传输协议HTTP协议调用所述待采集节点上的web应用程序;利用所述web应用程序通过所述HTTP协议对所述目标数据进行采集;
和/或,
所述数据采集模块,进一步用于针对每一个所述待采集节点,均执行:从所述属性信息中解析出至少一个IP地址;确定所述待采集节点对应的当前IP地址;确定所述至少一个IP地址中是否存在与所述当前IP地址相同的目标IP地址,如果是,则启动所述待采集节点上的所述数据采集脚本。
9.根据权利要求8所述的装置,其特征在于,
所述数据采集模块,用于利用所述web应用程序接收用户输入的HTTP请求,并根据所述HTTP请求采集目标数据;,将所述目标数据存储至全局变量对应的存储空间中;
和/或,
所述数据采集模块,用于根据以下计算公式,分别计算所述当前IP地址与各个所述IP地址之间的差异系数;当所述差异系数为零时,确定所述IP地址为与所述当前IP地址对应的目标IP地址;
其中,M表征所述差异系数,ai表征所述当前IP地址中第i个字符对应的二进制值,bij表征所述至少一个IP地址中的第j个IP地址的第i个字符对应的二进制值。
10.根据权利要求7至9任一所述的装置,其特征在于,
进一步包括:数据处理模块;其中,
所述数据处理模块,用于利用所述中心节点上预设的多线程类,对所述目标数据的数据格式以及所述目标数据中的字段进行处理;
和/或,
所述传递模块,用于获取所述分布式存储系统对应的配置文件,从所述配置文件中解析出每一个所述待采集节点对应的配置项,并从每一个所述配置项中解析出相应待采集节点的属性信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810715994.3A CN108920411A (zh) | 2018-07-03 | 2018-07-03 | 一种分布式存储系统的数据采集方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810715994.3A CN108920411A (zh) | 2018-07-03 | 2018-07-03 | 一种分布式存储系统的数据采集方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108920411A true CN108920411A (zh) | 2018-11-30 |
Family
ID=64425287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810715994.3A Pending CN108920411A (zh) | 2018-07-03 | 2018-07-03 | 一种分布式存储系统的数据采集方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108920411A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111447170A (zh) * | 2019-01-17 | 2020-07-24 | 北京京东尚科信息技术有限公司 | 数据处理方法及其系统、计算机系统及计算机可读介质 |
CN112965702A (zh) * | 2021-02-19 | 2021-06-15 | 中国工商银行股份有限公司 | 数据采集方法及装置 |
CN113407527A (zh) * | 2020-11-20 | 2021-09-17 | 广东美云智数科技有限公司 | 一种权限数据的采集方法、管理装置以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101694626A (zh) * | 2009-09-30 | 2010-04-14 | 曙光信息产业(北京)有限公司 | 脚本执行系统及方法 |
CN102801559A (zh) * | 2012-08-03 | 2012-11-28 | 南京富士通南大软件技术有限公司 | 智能化局域网数据采集方法 |
CN106407076A (zh) * | 2016-09-22 | 2017-02-15 | 山东浪潮云服务信息科技有限公司 | 基于国产cpu和操作系统环境的软硬件运行信息监控方法 |
CN108039965A (zh) * | 2017-12-07 | 2018-05-15 | 江南大学 | 一种面向仿真网络的链路数据采集方法 |
-
2018
- 2018-07-03 CN CN201810715994.3A patent/CN108920411A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101694626A (zh) * | 2009-09-30 | 2010-04-14 | 曙光信息产业(北京)有限公司 | 脚本执行系统及方法 |
CN102801559A (zh) * | 2012-08-03 | 2012-11-28 | 南京富士通南大软件技术有限公司 | 智能化局域网数据采集方法 |
CN106407076A (zh) * | 2016-09-22 | 2017-02-15 | 山东浪潮云服务信息科技有限公司 | 基于国产cpu和操作系统环境的软硬件运行信息监控方法 |
CN108039965A (zh) * | 2017-12-07 | 2018-05-15 | 江南大学 | 一种面向仿真网络的链路数据采集方法 |
Non-Patent Citations (2)
Title |
---|
王豪爽: "海量数据分析平台监控管理模块设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
连惠杰: "基于主题的教育信息定向采集系统", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111447170A (zh) * | 2019-01-17 | 2020-07-24 | 北京京东尚科信息技术有限公司 | 数据处理方法及其系统、计算机系统及计算机可读介质 |
CN113407527A (zh) * | 2020-11-20 | 2021-09-17 | 广东美云智数科技有限公司 | 一种权限数据的采集方法、管理装置以及存储介质 |
CN113407527B (zh) * | 2020-11-20 | 2024-03-26 | 美云智数科技有限公司 | 一种权限数据的采集方法、管理装置以及存储介质 |
CN112965702A (zh) * | 2021-02-19 | 2021-06-15 | 中国工商银行股份有限公司 | 数据采集方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220046076A1 (en) | Method And System For Real-Time Modeling Of Communication, Virtualization And Transaction Execution Related Topological Aspects Of Monitored Software Applications And Hardware Entities | |
US10452730B2 (en) | Methods for analyzing web sites using web services and devices thereof | |
US11263062B2 (en) | API mashup exploration and recommendation | |
CN108920411A (zh) | 一种分布式存储系统的数据采集方法及装置 | |
CN107276842B (zh) | 接口测试方法、装置及电子设备 | |
CN109783562B (zh) | 一种业务处理方法和装置 | |
US7996840B2 (en) | Method, system, and apparatus for scheduling pattern based web services | |
CN103207785A (zh) | 数据下载请求的处理方法、装置及系统 | |
CN111679886A (zh) | 异构计算资源调度方法、系统、电子设备及存储介质 | |
CN112527459B (zh) | 一种基于Kubernetes集群的日志分析方法及装置 | |
CN109634569B (zh) | 基于注解的流程实现方法、装置、设备及可读存储介质 | |
US20200012545A1 (en) | Event to serverless function workflow instance mapping mechanism | |
JP2018067302A (ja) | ソフトウェアサービス実行装置、システム、及び方法 | |
CN111817984A (zh) | 消息发送方法、装置、设备及存储介质 | |
CN114265680A (zh) | 一种海量数据处理方法、装置、电子设备及存储介质 | |
CN109828784B (zh) | 一种任务抓取方法及装置 | |
CN111679828A (zh) | 一种数据处理的方法及装置、电子设备、存储介质 | |
CN112988441B (zh) | 异常处理方法和装置 | |
CN105528370B (zh) | 页面检测方法及客户端 | |
CN110955856B (zh) | 一种网页加载方法、装置、服务器及存储介质 | |
JP6730235B2 (ja) | アプリケーション稼働監視装置および監視方法 | |
CN115277694B (zh) | 一种数据获取方法、装置、系统、电子设备及存储介质 | |
CN114090112B (zh) | 配置文件的加载方法和装置、存储介质及电子装置 | |
CN113721916B (zh) | 一种操作系统的编译方法、装置、设备及可读存储介质 | |
CN110618934A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181130 |
|
RJ01 | Rejection of invention patent application after publication |