CN113297110A - 数据采集***、方法以及装置 - Google Patents

数据采集***、方法以及装置 Download PDF

Info

Publication number
CN113297110A
CN113297110A CN202110533607.6A CN202110533607A CN113297110A CN 113297110 A CN113297110 A CN 113297110A CN 202110533607 A CN202110533607 A CN 202110533607A CN 113297110 A CN113297110 A CN 113297110A
Authority
CN
China
Prior art keywords
data
index
storage module
data storage
module
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
CN202110533607.6A
Other languages
English (en)
Other versions
CN113297110B (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.)
Alibaba Innovation Co
Original Assignee
Alibaba Singapore Holdings Pte 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 Alibaba Singapore Holdings Pte Ltd filed Critical Alibaba Singapore Holdings Pte Ltd
Priority to CN202110533607.6A priority Critical patent/CN113297110B/zh
Publication of CN113297110A publication Critical patent/CN113297110A/zh
Application granted granted Critical
Publication of CN113297110B publication Critical patent/CN113297110B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/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/5016Allocation 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 the resource being the memory
    • 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
    • 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

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)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供数据采集***、方法以及装置,其中所述数据采集***包括:应用服务器、远程服务器;应用服务器,被配置为与所述远程服务器建立数据传输通道,并通过所述数据传输通道向所述远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息,采集所述待检测指标的指标数据,并将所述指标数据存储于所述数据存储模块;远程服务器,被配置为调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据,按照预设数据处理策略对所述指标数据进行处理,并将生成的处理结果进行展示。

Description

数据采集***、方法以及装置
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种数据采集***。本说明书一个或者多个实施例同时涉及一种数据采集方法,一种数据采集装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着信息技术的快速发展,在很多领域(例如,金融、通信、生产、交通等等)的网络***中,通常都会有大量设备参与项目执行。而为了保证正常的项目执行,通常需要在各个设备之间保持时间的一致性和精确性。在这种情况下,需要各个设备不间断地从服务器获取时间信息。
传统的TCP(Transmission Control Protocol,传输控制协议)/IP技术,在数据处理过程中,需要经过应用服务器的操作***及其它软件层,占用大量服务器资源和内存总线带宽,数据在应用服务器的***内存和远程服务器的缓存之间来回进行复制移动,给应用服务器CPU和内存造成沉重负担,尤其是网络带宽、处理器速度与内存带宽的不匹配性,从而会导致网络通信延迟。
发明内容
有鉴于此,本说明书实施例提供了一种数据采集***。本说明书一个或者多个实施例同时涉及一种数据采集方法,一种数据采集装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据采集***,包括:
应用服务器、远程服务器;
所述应用服务器,被配置为与所述远程服务器建立数据传输通道,并通过所述数据传输通道向所述远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息,采集所述待检测指标的指标数据,并将所述指标数据存储于所述数据存储模块;
所述远程服务器,被配置为调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据,按照预设数据处理策略对所述指标数据进行处理,并将生成的处理结果进行展示。
根据本说明书实施例的第二方面,提供了一种数据采集方法,应用于远程服务器,包括:
与应用服务器建立数据传输通道,并接收所述应用服务器通过所述数据传输通道发送的数据存储模块的注册信息以及待检测指标的标识信息;
调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据;
按照预设数据处理策略对所述指标数据进行处理,并将生成的处理结果进行展示。
可选地,所述与应用服务器建立数据传输通道,包括:
接收应用服务器发送的数据传输通道建立请求;
基于所述数据通道建立请求与所述应用服务器建立长连接控制通道以及长连接数据通道。
可选地,所述接收所述应用服务器通过所述数据传输通道发送的数据存储模块的注册信息以及待检测指标的标识信息,包括:
接收所述应用服务器通过所述长连接控制通道发送的数据存储模块的注册信息以及待检测指标的标识信息。
可选地,所述调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据,包括:
调用远程直接内存访问模块通过所述长连接数据通道根据所述注册信息及所述标识信息从所述数据存储模块中读取所述指标数据。
可选地,所述调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据,包括:
调用远程直接内存访问模块按照预设时间周期从所述数据存储模块读取所述指标数据;
相应的,所述按照预设数据处理策略对所述指标数据进行处理,包括:
基于所述待检测指标的指标数据,计算不同时间周期内所述待检测指标的变化结果并展示。
可选地,所述调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据,包括:
调用远程直接内存访问模块根据所述注册信息及所述标识信息从所述数据存储模块中读取数据块中包含的数据;
对所述数据块中包含的数据进行解析获得加密数据及加密算法标识;
根据所述加密算法标识确定与加密算法对应的解密算法,并采用所述解密算法对所述加密数据进行解密,生成所述指标数据。
可选地,所述数据采集方法,还包括:
响应于所述应用服务器发送的数据采集结束指令,停止从所述数据存储模块读取所述指标数据,其中,所述应用服务器调用代理模块释放所述数据存储模块对应的内存。
根据本说明书实施例的第三方面,提供了一种数据采集装置,包括:
接收模块,被配置为与应用服务器建立数据传输通道,并接收所述应用服务器通过所述数据传输通道发送的数据存储模块的注册信息以及待检测指标的标识信息;
读取模块,被配置为调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据;
展示模块,被配置为按照预设数据处理策略对所述指标数据进行处理,并将生成的处理结果进行展示。
根据本说明书实施例的第四方面,提供了一种数据采集方法,应用于应用服务器,包括:
与远程服务器建立数据传输通道;
通过所述数据传输通道向所述远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息;
采集所述待检测指标的指标数据,并将所述指标数据存储于所述数据存储模块,其中,所述远程服务器调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据。
可选地,所述与远程服务器建立数据传输通道,包括:
向所述远程服务器发送数据通道建立请求,与所述远程服务器建立长连接控制通道以及长连接数据通道。
可选地,所述通过所述数据传输通道向所述远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息,包括:
在应用程序接口与代理模块间建立连接;
调用应用程序接口通过内存映射函数确定所述数据存储模块对应的内存分配信息,并将所述内存分配信息发送至所述代理模块;
调用所述代理模块将所述内存分配信息通过所述长连接控制通道发送至所述远程服务器。
可选地,所述将所述指标数据存储于所述数据存储模块,包括:
确定加密算法,采用所述加密算法对所述指标数据进行加密;
将加密结果以及加密算法标识以数据块的形式存储于所述数据存储模块。
可选地,所述数据采集方法,还包括:
调用应用程序接口释放所述待检测指标的指标数据;
调用代理模块向所述远程服务器发送数据采集结束指令,并由所述代理模块释放所述数据存储模块对应的内存。
可选地,所述采集所述待检测指标的指标数据之后,还包括:
调用代理模块按照第一数据处理策略对所述指标数据进行处理,并将生成的中间数据存储于所述数据存储模块,其中,所述远程服务器调用远程直接内存访问模块根据所述注册信息及所述标识信息从所述数据存储模块中读取所述中间数据。
根据本说明书实施例的第五方面,提供了一种数据采集装置,包括:
传输通道建立模块,被配置为与远程服务器建立数据传输通道;
发送模块,被配置为通过所述数据传输通道向所述远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息;
采集模块,被配置为采集所述待检测指标的指标数据,并将所述指标数据存储于所述数据存储模块,其中,所述远程服务器调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据。
根据本说明书实施例的第六方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令以实现所述数据采集方法的步骤。
根据本说明书实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述数据采集方法的步骤。
本说明书一个实施例由应用服务器与远程服务器建立数据传输通道,并通过所述数据传输通道向远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息,采集所述待检测指标的指标数据,并将所述指标数据存储于所述数据存储模块;远程服务器通过调用远程直接内存访问模块,根据所述注册信息及所述标识信息从所述数据存储模块中读取所述指标数据,按照预设数据处理策略对所述指标数据进行处理,并将生成的处理结果进行展示。
本说明书实施例中,远程服务器利用远端直接内存访问模块(RDMA)读取应用服务器中待检测指标的指标数据,由于RDMA可以将指标数据直接从所述应用服务器的数据存储模块快速传输到远程服务器中,在数据传输的整个过程中无需应用程序中的操作***和CPU的参与,因此,一方面有利于减少对操作***的干扰,避免给操作***带来抖动;另一方面有利于减少应用服务器的CPU在数据传输过程中的消耗,从而有利于提升***的处理性能,并有利于减少网络通信延迟。
附图说明
图1是本说明书一个实施例提供的一种数据采集***的架构图;
图2是本说明书一个实施例提供的一种数据采集方法的处理流程图;
图3是本说明书一个实施例提供的一种数据采集装置的示意图;
图4是本说明书一个实施例提供的一种数据采集方法的处理流程图;
图5是本说明书一个实施例提供的一种数据采集装置的示意图;
图6是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
RDMA:在数据中心领域,远程直接内存访问(英语:remote direct memoryaccess,RDMA)是一种绕过远程主机操作***内核访问其内存中数据的技术,由于不经过操作***,不仅节省了大量CPU资源,同样也提高了***吞吐量、降低了***的网络通信延迟,尤其适合在大规模并行计算机集群中有广泛应用。
RoCE:基于融合以太网的RDMA(英语:RDMA over Converged Ethernet,缩写RoCE)是一个网络协议,允许在一个以太网网络上使用远程直接内存访问(RDMA)。
检测:通过收集应用服务器操作***或者应用进程的各种数据,来判断应用服务器当前运行状态的一种方法。应用服务器检测程序部署在几乎所有需要对外提供服务的机器上。
目前的应用服务器上广泛部署着各种各样的检测***,这些检测***会采集各种各样的检测数据,并将其保存在本地或者上传到某些数据库或者日志服务器上。而一台应用服务器往往会部署诸多的检测项,执行这些检测项的数据采集程序会增加应用服务器的资源消耗。具体的,目前应用服务器中的应用进程在运行过程中生成的指标数据会存储于为应用进程分配的内存中,在远程服务器需要读取应用进程的内存中的指标数据时,需要跟应用服务器进行通信,即向应用服务器发送数据获取请求,应用服务器接收到数据获取请求后,在该内存中读指标数据,并将指标数据发送至远程服务器,这一过程会为应用服务器带来CPU开销。
目前RDMA/RoCE作为一种绕过操作***内核的通信方式,在数据中心网络中得到了广泛的应用,随着硬件性能以及应用对性能的不断提升,其应用场景也越来越广泛。RDMA由于可以支持直接远程内存访问,基于RDMA技术可以在远程服务器上直接读写应用服务器的内存,而无需应用服务器CPU的干预,因此可以做到对应用服务器的几乎零CPU开销。
因此,本说明书实施例将RDMA技术结合在检测***中,实现一种基于RDMA的远程数据采集的方法。有利于减少在应用服务器与远程服务器间进行数据传输的过程中对应用服务器CPU的干扰,从而降低应用服务器的CPU在数据传输过程中的消耗,提升***的处理性能,并有利于减少网络通信延迟。
在本说明书中,提供了一种数据采集***,本说明书同时涉及一种数据采集方法,一种数据采集装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一个实施例提供的一种数据采集***的架构图,包括:
应用服务器102以及远程服务器104;
所述应用服务器102,被配置为与所述远程服务器104建立数据传输通道,并通过所述数据传输通道向所述远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息,采集所述待检测指标的指标数据,并将所述指标数据存储于所述数据存储模块;
所述远程服务器104,被配置为调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据,按照预设数据处理策略对所述指标数据进行处理,并将生成的处理结果进行展示。
具体的,应用服务器(App Server),即应用进程所在的服务器,同样是需要采集应用进程的待检测指标的检测数据的服务器;远程服务器(Remote Collect Server),负责通过RDMA Read从各个应用服务器上采集所需的待检测指标的指标数据。
应用程序接口,即SDK接口,SDK是基于RDMA的检测***提供的软件开发工具包,可提供一系列简单易用的函数和方法,用于加速应用快速接入基于RDMA的检测***;代理模块(Zagent,zero-overhead agent),作为运行在应用服务器上的采集进程,负责和远程服务器通信,将应用服务器上的一些所需的信息上传到远程服务器,以便远程服务器可以直接通过RDMA Read来进行数据采集和解析。
数据存储模块(Share Memory),即共享内存,是与应用进程相互独立的一块存储区域,里面存储了远程服务器需要采集的指标数据。这块内存通过共享内存技术在代理模块和应用进程或者代理模块和操作***内核之间进行共享。代理模块将其在RDMA网卡上注册,并将注册之后的内存地址、大小等信息上传给远程服务器。
本说明书实施例中,远程服务器基于RDMA采集应用服务器的一个应用进程的待检测指标的指标数据的过程具体如下:
初始化阶段:
应用服务器中的操作***开始运行后,代理模块进入初始化流程,在其初始化的过程中,应用服务器与远程服务器建立连接,即建立长连接控制通道和长连接数据通道;然后应用进程运行并初始化,应用进程调用应用程序接口与代理模块建立连接,以便后续通过该连接传输必要的内存相关信息;接着应用程序接口通过mmap函数(内存映射函数)为应用进程申请存放待检测指标的指标数据的数据存储模块,即为应用进程的待检测指标的指标数据分配内存;申请成功后,初始化应用进程中需要进行检测的待检测指标的标识信息,如决定相应指标需要保存的位置、指标的存放格式等;其中,mmap函数是用来建立从虚拟空间到磁盘空间的映射,可以将一个虚拟空间地址映射到一个磁盘文件上,当不设置这个地址时,则由***自动设置,函数返回对应的内存地址(虚拟地址),当访问这个地址时,就需要把磁盘上的内容拷贝到内存,然后就可以读或者写,最后通过manmap函数可以将内存上的数据换回到磁盘,也就是解除虚拟空间和内存空间的映射,通过这种方式即可实现进程共享数据(共享内存)的过程。
应用程序接口将相应数据存储模块的内存分配信息以及待检测指标的标识信息发送给代理模块,由代理模块调用RDMA相关接口对数据存储模块进行只读注册,注册可防止所述数据存储模块对应的物理内存被分配、被迁移、被销毁或被释放,以便后续RDMA网卡可以直接通过RDMA Read来读取所述数据存储模块中存储的指标数据;
代理模块完成注册后,将所述数据存储模块的注册信息以及应用进程一些待检测指标相关的标识信息,通过长连接控制通道发送至远程服务器,以在初始化完成后,远程服务器可以直接通过RDMA Read来读取应用进程需要检测的待检测指标的指标数据。
数据读取阶段:
远程服务器根据其配置以及代理模块上传的待检测指标的标识信息,确定指标数据的采集频率,以及根据数据存储模块的标识信息确定采集哪个数据存储模块存储的指标数据,这一过程由远程服务器主动发起,并利用RDMA Read采集所述数据存储模块中的指标数据,然后可基于所述指标数据进行计算,并展示计算结果。
释放阶段:
在应用进程退出时,应用进程的待检测指标的指标数据应停止采集,首先应用进程调用应用程序接口释放需要待检测指标的指标数据;或在应用进程异常退出的情况下,操作***将回收所述数据存储模块对应的内存;代理模块在感知到应用进程退出后,通知远程服务器停止采集该应用进程的待检测指标的指标数据;远程服务器接收到停止采集的指令后,确认停止采集指标数据,然后由代理模块其为该应用进程所注册的所述数据存储模块的内存资源。至此,该应用进程的初始化-数据采集-释放阶段结束。
本说明书实施例通过RDMA Read的方式,在远程服务器上定期进行数据采集,从而无需额外消耗应用服务器的CPU/内存/读写资源,从而减少对应用进程的影响,同时有利于提高从应用服务器向远程服务器进行数据传输的传输效率。
本说明书一个实施例由应用服务器与远程服务器建立数据传输通道,并通过所述数据传输通道向远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息,采集所述待检测指标的指标数据,并将所述指标数据存储于所述数据存储模块;远程服务器通过调用远程直接内存访问模块,根据所述注册信息及所述标识信息从所述数据存储模块中读取所述指标数据,按照预设数据处理策略对所述指标数据进行处理,并将生成的处理结果进行展示。
本说明书实施例中,远程服务器利用远端直接内存访问模块(RDMA)读取应用服务器中待检测指标的指标数据,由于RDMA可以将指标数据直接从所述应用服务器的数据存储模块快速传输到远程服务器中,在数据传输的整个过程中无需应用程序中的操作***和CPU的参与,因此,一方面有利于减少对操作***的干扰,避免给操作***带来抖动;另一方面有利于减少应用服务器的CPU在数据传输过程中的消耗,从而有利于提升***的处理性能,并有利于减少网络通信延迟。
图2示出了根据本说明书一个实施例提供的一种数据采集方法的处理流程图,包括步骤202至步骤206。
步骤202,与应用服务器建立数据传输通道,并接收所述应用服务器通过所述数据传输通道发送的数据存储模块的注册信息以及待检测指标的标识信息。
具体的,本说明书实施例提供的数据采集方法应用于远程服务器(RemoteCollect Server),负责通过调用远程直接内存访问模块(RDMA)从各个应用服务器上采集应用进程的待检测指标的指标数据。
其中,远程服务器在从应用服务器中读取应用进程的待检测指标的指标数据之前,需由应用服务器对应用进程以及用于存储所述应用进程的待检测指标的指标数据的内存进行初始化。
具体的,应用服务器中的操作***开始运行后,应用服务器中的代理模块(Zagent,zero-overhead agent)进入初始化流程,在其初始化的过程中,应用服务器与远程服务器建立连接,并由代理模块作为运行在应用服务器上的采集进程,负责和远程服务器通过该连接进行通信,将应用服务器上的一些所需的信息上传到远程服务器,以便远程服务器可以直接通过RDMA Read来进行数据采集和解析。
另外,应用服务器中还设置有应用程序接口,应用进程调用应用程序接口与代理模块建立连接,以便后续通过该连接传输必要的内存相关信息;接着应用程序接口通过mmap函数(内存映射函数)为应用进程申请存放待检测指标的指标数据的数据存储模块,即为应用进程的待检测指标的指标数据分配内存,具体可以包括内存的位置以及内存大小等;申请成功后,初始化应用进程中需要进行检测的待检测指标的标识信息,如决定相应指标需要保存的位置、指标的存放格式等;
然后由应用程序接口将相应数据存储模块的内存分配信息以及待检测指标的标识信息发送给代理模块,由代理模块调用RDMA相关接口对数据存储模块进行只读注册,注册可防止所述数据存储模块对应的物理内存被分配、被迁移、被销毁或被释放,以便后续RDMA网卡可以直接通过RDMA Read来读取所述数据存储模块中存储的指标数据;
注册完成后,代理模块将所述数据存储模块的注册信息以及应用进程一些待检测指标相关的标识信息,通过数据传输通道发送至远程服务器,以在初始化完成后,远程服务器可以直接通过RDMA Read来读取应用进程需要检测的待检测指标的指标数据。
具体实施时,与应用服务器建立数据传输通道,具体即接收应用服务器发送的数据传输通道建立请求,基于所述数据通道建立请求与所述应用服务器建立长连接控制通道以及长连接数据通道。
进一步的,接收所述应用服务器通过所述数据传输通道发送的数据存储模块的注册信息以及待检测指标的标识信息,即接收所述应用服务器通过所述长连接控制通道发送的数据存储模块的注册信息以及待检测指标的标识信息。
具体的,所述数据传输通道由长连接控制通道和长连接数据通道组成,因此,在应用服务器与远程服务器建立数据传输通道的过程中,先由应用服务器向远程服务器发送通道建立请求,并通过长连接的方式建立所述应用服务器与远程服务器间的长连接控制通道和长连接数据通道,并由应用服务器的代理模块通过所述长连接控制通道将数据存储模块的注册信息以及待检测指标的标识信息发送至所述远程服务器。
通过建立数据传输通道,并利用数据传输通道进行信息传输,有利于提高数据传输效率,从而提升数据采集效率。
步骤204,调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据。
具体实施时,调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据,具体即调用远程直接内存访问模块通过所述长连接数据通道根据所述注册信息及所述标识信息从所述数据存储模块中读取所述指标数据。
具体的,远程服务器接收到代理模块上传的待检测指标的标识信息后,可根据其自身配置以及所述标识信息确定指标数据的采集频率,以及根据数据存储模块的标识信息确定采集哪个数据存储模块存储的指标数据,这一过程由远程服务器主动发起,并利用RDMA Read采集所述数据存储模块中的指标数据。
或者,调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据,还可通过以下方式实现:
调用远程直接内存访问模块根据所述注册信息及所述标识信息从所述数据存储模块中读取数据块中包含的数据;
对所述数据块中包含的数据进行解析获得加密数据及加密算法标识;
根据所述加密算法标识确定与加密算法对应的解密算法,并采用所述解密算法对所述加密数据进行解密,生成所述指标数据。
具体的,为保证在应用服务器和所述远程服务器间传输的指标数据的安全性,本说明书实施例可在应用服务器采集所述待检测指标的指标数据后,利用预设的加密算法对所述指标数据进行加密生成对应的加密结果,并将所述加密结果以及所述加密算法的算法标识以数据块的形式存储于所述数据存储模块。
远程服务器需从应用服务器读数据的情况下,即可直接利用RDMA技术从应用服务器的数据存储模块读取所述加密结果,但由于远程服务器在读取应用服务器中应用进程的待检测指标的指标数据后,需按照预设数据处理策略对所述指标数据进行处理,因此,在应用服务器对所述指标数据进行加密,并将加密结果和加密算法标识以数据块的形式存储至数据存储模块之后,远程服务器可直接从数据存储模块读取所述数据块中包含的数据,并对所述数据块中包含的数据进行解析获得加密数据及加密算法标识,以根据所述加密算法标识确定与加密算法对应的解密算法,并采用所述解密算法对所述加密数据进行解密,生成所述指标数据。
实际应用中,所述加密算法可以是对称加密算法,包括但不限于DES(DataEncryption Standard,数据加密标准)算法、3DES算法、AES(Advanced EncryptionStandard,高级加密标准)算法、TDEA算法、Blowfish算法、RC5算法、IDEA算法等。
步骤206,按照预设数据处理策略对所述指标数据进行处理,并将生成的处理结果进行展示。
具体的,不同待检测指标可对应不同的预设数据处理策略,具体可根据实际需求确定,在此不做限制。实际应用中,可根据所述数据采集方法所应用的项目确定待检测指标的数据处理策略,并按照所述数据处理策略对待检测指标的指标数据进行处理,生成对应的处理结果并展示。
例如,若所述待检测指标为CPU,并需计算一天之内CPU的使用率,或者计算CPU在第一时间区间和第二时间区间的使用率,并进一步计算CPU在第二时间区间的使用率相对于第一时间区间的使用率的增长率或下降率;或者在所述数据采集方法应用于交易场景时,所述待检测指标可以是交易量、交易时间、交易类型等,数据处理策略即可以是计算一天内目标交易对象的交易量、计算一天内目标交易对象在不同时段的交易量,或计算目标交易对象在第一时段和第二时段的交易量,并计算目标交易对象在第二时段的交易量相对于第一时段的交易量的增长率或下降率。
另外,调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据,具体即调用远程直接内存访问模块按照预设时间周期从所述数据存储模块读取所述指标数据;
相应的,所述按照预设数据处理策略对所述指标数据进行处理,即基于所述待检测指标的指标数据,计算不同时间周期内所述待检测指标的变化结果并展示。
具体的,远程服务器可定期从应用服务器的数据存储模块采集待检测指标的指标数据,例如每隔10秒钟采集一次,若待检测指标的指标数据在这10秒钟内发生变化,则远程服务器可根据两次采集的指标数据,计算待检测指标的指标值在这10秒钟的变化率(增长率或下降率),或者根据两次采集的指标数据统计所述待检测指标的相关统计值,然后展示计算结果或统计结果。
另外,本说明书实施例除通过前述方式由远程服务器直接利用RDMA从应用服务器读取指标数据,并按照预设数据处理策略对指标数据进行处理以得到对应的处理结果外,还可保留代理模块的部分计算工作。
例如,应用服务器将应用进程的待检测指标的指标数据存储于数据存储模块后,代理模块同样可按照预设时间周期从所述数据存储模块中读取指标数据,并对所述指标数据进行计算,计算过程所使用的数据处理策略可与前述远程服务器所使用的预设数据策略相同或不同,具体的代理模块所能提供的计算逻辑具体可根据实际需求确定。
计算完成后,再将计算结果存入数据存储模块,这种情况下,远程服务器在读取数据时,可直接读取数据存储模块中存储的所述计算结果,有利于减少所述远程服务器所需读取数据的数据量,并有利于减少远程服务器中的计算量。
除此之外,在应用服务器的应用进程退出的情况下,可向远程服务器发送数据采集结束指令,应用服务器响应于所述应用服务器发送的数据采集结束指令,停止从所述数据存储模块读取所述指标数据,其中,所述应用服务器调用代理模块释放所述数据存储模块对应的内存。
具体的,在应用服务器的应用进程退出时,应用进程的待检测指标的指标数据应停止采集,首先应用进程调用应用程序接口释放需要待检测指标的指标数据;或在应用进程异常退出的情况下,操作***将回收所述数据存储模块对应的内存;代理模块在感知到应用进程退出后,通知远程服务器停止采集该应用进程的待检测指标的指标数据;远程服务器接收到停止采集的指令后,确认停止采集指标数据,然后由代理模块其为该应用进程所注册的所述数据存储模块的内存资源。至此,远程服务器对应用进程的待检测指标的指标数据进行采集的过程结束。
具体实施时,还可在应用程序接口前端增加除了应用程序、流量检测、核心数据之外的更多的采集项,或可将大部分数据检测采集工作卸载到远程服务器,但仍然保留代理模块的部分计算工作。
本说明书实施例除在初始化和资源释放阶段,由代理模块将数据存储模块的相关信息同步到远程服务器之外,指标数据的采集和数据上传这两个关键步骤都由远程服务器来完成,对应用服务器CPU、内存、I/O等的开销只有在初始化阶段存在,对应用服务器的影响较小。
本说明书实施例将RDMA技术与数据采集相结合,利用RDMA远程读写内存的能力,将数据检测和采集过程卸载到远程服务器上,从而避免由于数据检测、采集传输所带来的应用服务器的CPU开销,基于RDMA实现远程服务器在应用服务器无感知的情况下,从应用服务器读取数据,有利于节省了应用服务器的CPU资源,同样也提高了***吞吐量、降低了***的网络通信延迟。
本说明书一个实施例由应用服务器与远程服务器建立数据传输通道,并通过所述数据传输通道向远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息,采集所述待检测指标的指标数据,并将所述指标数据存储于所述数据存储模块;远程服务器通过调用远程直接内存访问模块,根据所述注册信息及所述标识信息从所述数据存储模块中读取所述指标数据,按照预设数据处理策略对所述指标数据进行处理,并将生成的处理结果进行展示。
本说明书实施例中,远程服务器利用远端直接内存访问模块(RDMA)读取应用服务器中待检测指标的指标数据,由于RDMA可以将指标数据直接从所述应用服务器的数据存储模块快速传输到远程服务器中,在数据传输的整个过程中无需应用程序中的操作***和CPU的参与,因此,一方面有利于减少对操作***的干扰,避免给操作***带来抖动;另一方面有利于减少应用服务器的CPU在数据传输过程中的消耗,从而有利于提升***的处理性能,并有利于减少网络通信延迟。
与上述方法实施例相对应,本说明书还提供了数据采集装置实施例,图3示出了本说明书一个实施例提供的一种数据采集装置的示意图。如图3所示,该装置包括:
接收模块302,被配置为与应用服务器建立数据传输通道,并接收所述应用服务器通过所述数据传输通道发送的数据存储模块的注册信息以及待检测指标的标识信息;
读取模块304,被配置为调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据;
展示模块306,被配置为按照预设数据处理策略对所述指标数据进行处理,并将生成的处理结果进行展示。
可选地,所述接收模块302,包括:
第一接收子模块,被配置为接收应用服务器发送的数据传输通道建立请求;
通道建立子模块,被配置为基于所述数据通道建立请求与所述应用服务器建立长连接控制通道以及长连接数据通道。
可选地,所述接收模块302,包括:
第二接收子模块,被配置为接收所述应用服务器通过所述长连接控制通道发送的数据存储模块的注册信息以及待检测指标的标识信息。
可选地,所述读取模块304,包括:
第一读取子模块,被配置为调用远程直接内存访问模块通过所述长连接数据通道根据所述注册信息及所述标识信息从所述数据存储模块中读取所述指标数据。
可选地,所述读取模块304,包括:
第二读取子模块,被配置为调用远程直接内存访问模块按照预设时间周期从所述数据存储模块读取所述指标数据;
相应的,所述展示模块306,包括:
展示子模块,被配置为基于所述待检测指标的指标数据,计算不同时间周期内所述待检测指标的变化结果并展示。
可选地,所述读取模块304,包括:
第三读取子模块,被配置为调用远程直接内存访问模块根据所述注册信息及所述标识信息从所述数据存储模块中读取数据块中包含的数据;
解析子模块,被配置为对所述数据块中包含的数据进行解析获得加密数据及加密算法标识;
解密子模块,被配置为根据所述加密算法标识确定与加密算法对应的解密算法,并采用所述解密算法对所述加密数据进行解密,生成所述指标数据。
可选地,所述数据采集装置,还包括:
响应模块,被配置为响应于所述应用服务器发送的数据采集结束指令,停止从所述数据存储模块读取所述指标数据,其中,所述应用服务器调用代理模块释放所述数据存储模块对应的内存。
上述为本实施例的一种数据采集装置的示意性方案。需要说明的是,该数据采集装置的技术方案与上述的数据采集方法的技术方案属于同一构思,数据采集装置的技术方案未详细描述的细节内容,均可以参见上述数据采集方法的技术方案的描述。
图4示出了根据本说明书一个实施例提供的一种数据采集方法的处理流程图,包括步骤402至步骤406。
步骤402,与远程服务器建立数据传输通道。
具体的,本说明书实施例提供的数据采集方法,应用于应用服务器(App Server),所述应用服务器即需要采集应用进程的待检测指标的检测数据的服务器,远程服务器(Remote Collect Server)为负责通过RDMA Read从各个应用服务器上采集所需的待检测指标的指标数据;应用服务器采集应用进程的待检测指标的指标数据后,由远程服务器利用RDMA技术从应用服务器读取所述指标数据。
其中,远程服务器在从应用服务器中读取应用进程的待检测指标的指标数据之前,需由应用服务器对应用进程以及用于存储所述应用进程的待检测指标的指标数据的内存进行初始化,具体的初始化过程可参见前述应用于远程服务器的方法实施例所述的初始化过程,在此不再赘述。
在其初始化的过程中,应用服务器与远程服务器建立连接,即建立数据传输通道,具体实施时,与远程服务器建立数据传输通道,包括:向所述远程服务器发送数据通道建立请求,与所述远程服务器建立长连接控制通道以及长连接数据通道。
步骤404,通过所述数据传输通道向所述远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息。
具体实施时,所述通过所述数据传输通道向所述远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息,包括:
在应用程序接口与代理模块间建立连接;
调用应用程序接口通过内存映射函数确定所述数据存储模块对应的内存分配信息,并将所述内存分配信息发送至所述代理模块;
调用所述代理模块将所述内存分配信息通过所述长连接控制通道发送至所述远程服务器。
具体的,应用程序接口,即SDK接口,SDK是基于RDMA的检测***提供的软件开发工具包,可提供一系列简单易用的函数和方法,用于加速应用快速接入基于RDMA的检测***;代理模块(Zagent,zero-overhead agent),作为运行在应用服务器上的采集进程,负责和远程服务器通信,将应用服务器上的一些所需的信息上传到远程服务器,以便远程服务器可以直接通过RDMA Read来进行数据采集和解析。
步骤406,采集所述待检测指标的指标数据,并将所述指标数据存储于所述数据存储模块,其中,所述远程服务器调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据。
具体的,数据存储模块(Share Memory),即共享内存,这块内存里面存储了远程服务器需要采集的指标数据。这块内存通过共享内存技术在代理模块和应用进程或者代理模块和操作***内核之间进行共享。代理模块将其在RDMA网卡上注册,并将注册之后的内存地址、大小等信息上传给远程服务器。
远程服务器可调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据,具体即调用远程直接内存访问模块通过所述长连接数据通道根据所述注册信息及所述标识信息从所述数据存储模块中读取所述指标数据。
具体实施时,所述将所述指标数据存储于所述数据存储模块,包括:
确定加密算法,采用所述加密算法对所述指标数据进行加密;
将加密结果以及加密算法标识以数据块的形式存储于所述数据存储模块。
具体的,为保证在应用服务器和所述远程服务器间传输的指标数据的安全性,本说明书实施例可在应用服务器采集所述待检测指标的指标数据后,利用预设的加密算法对所述指标数据进行加密生成对应的加密结果,并将所述加密结果以及所述加密算法的算法标识以数据块的形式存储于所述数据存储模块。
远程服务器在需从应用服务器读数据的情况下,即可直接利用RDMA技术从应用服务器的数据存储模块读取所述加密结果,但由于远程服务器在读取应用服务器中应用进程的待检测指标的指标数据后,需按照预设数据处理策略对所述指标数据进行处理,因此,在应用服务器对所述指标数据进行加密,并将加密结果和加密算法标识以数据块的形式存储至数据存储模块之后,远程服务器可直接从数据存储模块读取所述数据块中的数据,并对所述数据块中的数据进行解析获得加密数据及加密算法标识,以根据所述加密算法标识确定与加密算法对应的解密算法,并采用所述解密算法对所述加密数据进行解密,生成所述指标数据。
实际应用中,所述加密算法可以是对称加密算法,包括但不限于DES(DataEncryption Standard,数据加密标准)算法、3DES算法、AES(Advanced EncryptionStandard,高级加密标准)算法、TDEA算法、Blowfish算法、RC5算法、IDEA算法等。
具体实施时,在应用服务器的应用进程退出的情况下,可调用应用程序接口释放所述待检测指标的指标数据,调用代理模块向所述远程服务器发送数据采集结束指令,并由所述代理模块释放所述数据存储模块对应的内存。
具体的,在应用服务器的应用进程退出时,应用进程的待检测指标的指标数据应停止采集,首先应用进程调用应用程序接口释放需要待检测指标的指标数据;或在应用进程异常退出的情况下,操作***将回收所述数据存储模块对应的内存;代理模块在感知到应用进程退出后,通知远程服务器停止采集该应用进程的待检测指标的指标数据;远程服务器接收到停止采集的指令后,确认停止采集指标数据,然后由代理模块其为该应用进程所注册的所述数据存储模块的内存资源。至此,远程服务器对应用进程的待检测指标的指标数据进行采集的过程结束。
具体实施时,所述采集所述待检测指标的指标数据之后,还包括:
调用代理模块按照第一数据处理策略对所述指标数据进行处理,并将生成的中间数据存储于所述数据存储模块,其中,所述远程服务器调用远程直接内存访问模块根据所述注册信息及所述标识信息从所述数据存储模块中读取所述中间数据。
具体的,本说明书实施例可将大部分数据检测采集工作卸载到远程服务器,但仍然保留代理模块的部分计算工作。
本说明书一个实施例由应用服务器与远程服务器建立数据传输通道,并通过所述数据传输通道向远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息,采集所述待检测指标的指标数据,并将所述指标数据存储于所述数据存储模块;远程服务器通过调用远程直接内存访问模块,根据所述注册信息及所述标识信息从所述数据存储模块中读取所述指标数据,按照预设数据处理策略对所述指标数据进行处理,并将生成的处理结果进行展示。
本说明书实施例中,远程服务器利用远端直接内存访问模块(RDMA)读取应用服务器中待检测指标的指标数据,由于RDMA可以将指标数据直接从所述应用服务器的数据存储模块快速传输到远程服务器中,在数据传输的整个过程中无需应用程序中的操作***和CPU的参与,因此,一方面有利于减少对操作***的干扰,避免给操作***带来抖动;另一方面有利于减少应用服务器的CPU在数据传输过程中的消耗,从而有利于提升***的处理性能,并有利于减少网络通信延迟。
与上述方法实施例相对应,本说明书还提供了数据采集装置实施例,图5示出了本说明书一个实施例提供的一种数据采集装置的示意图。如图5所示,该装置包括:
传输通道建立模块502,被配置为与远程服务器建立数据传输通道;
发送模块504,被配置为通过所述数据传输通道向所述远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息;
采集模块506,被配置为采集所述待检测指标的指标数据,并将所述指标数据存储于所述数据存储模块,其中,所述远程服务器调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据。
可选地,所述传输通道建立模块502,包括:
发送子模块,被配置为向所述远程服务器发送数据通道建立请求,与所述远程服务器建立长连接控制通道以及长连接数据通道。
可选地,所述发送模块504,包括:
连接建立子模块,被配置为在应用程序接口与代理模块间建立连接;
第一发送子模块,被配置为调用应用程序接口通过内存映射函数确定所述数据存储模块对应的内存分配信息,并将所述内存分配信息发送至所述代理模块;
第二发送子模块,被配置为调用所述代理模块将所述内存分配信息通过所述长连接控制通道发送至所述远程服务器。
可选地,所述采集模块506,包括:
加密子模块,被配置为确定加密算法,采用所述加密算法对所述指标数据进行加密;
存储子模块,被配置为将加密结果以及加密算法标识以数据块的形式存储于所述数据存储模块。
可选地,所述数据采集装置,还包括:
调用模块,被配置为调用应用程序接口释放所述待检测指标的指标数据;
指令发送模块,被配置为调用代理模块向所述远程服务器发送数据采集结束指令,并由所述代理模块释放所述数据存储模块对应的内存。
可选地,所述数据采集装置,还包括:
处理模块,被配置为调用代理模块按照第一数据处理策略对所述指标数据进行处理,并将生成的中间数据存储于所述数据存储模块,其中,所述远程服务器调用远程直接内存访问模块根据所述注册信息及所述标识信息从所述数据存储模块中读取所述中间数据。
上述为本实施例的一种数据采集装置的示意性方案。需要说明的是,该数据采集装置的技术方案与上述的数据采集方法的技术方案属于同一构思,数据采集装置的技术方案未详细描述的细节内容,均可以参见上述数据采集方法的技术方案的描述。
图6示出了根据本说明书一个实施例提供的一种计算设备600的结构框图。该计算设备600的部件包括但不限于存储器610和处理器620。处理器620与存储器610通过总线630相连接,数据库650用于保存数据。
计算设备600还包括接入设备640,接入设备640使得计算设备600能够经由一个或多个网络660通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备640可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备600的上述部件以及图6中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图6所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备600可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备600还可以是移动式或静止式的服务器。
其中,所述存储器610用于存储计算机可执行指令,处理器620用于执行如下计算机可执行指令以用于实现所述数据采集方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据采集方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据采集方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于实现所述数据采集方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据采集方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据采集方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (14)

1.一种数据采集***,包括:
应用服务器、远程服务器;
所述应用服务器,被配置为与所述远程服务器建立数据传输通道,并通过所述数据传输通道向所述远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息,采集所述待检测指标的指标数据,并将所述指标数据存储于所述数据存储模块;
所述远程服务器,被配置为调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据,按照预设数据处理策略对所述指标数据进行处理,并将生成的处理结果进行展示。
2.一种数据采集方法,应用于远程服务器,包括:
与应用服务器建立数据传输通道,并接收所述应用服务器通过所述数据传输通道发送的数据存储模块的注册信息以及待检测指标的标识信息;
调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据;
按照预设数据处理策略对所述指标数据进行处理,并将生成的处理结果进行展示。
3.根据权利要求2所述的数据采集方法,所述与应用服务器建立数据传输通道,包括:
接收应用服务器发送的数据传输通道建立请求;
基于所述数据通道建立请求与所述应用服务器建立长连接控制通道以及长连接数据通道。
4.根据权利要求3所述的数据采集方法,所述接收所述应用服务器通过所述数据传输通道发送的数据存储模块的注册信息以及待检测指标的标识信息,包括:
接收所述应用服务器通过所述长连接控制通道发送的数据存储模块的注册信息以及待检测指标的标识信息。
5.根据权利要求3所述的数据采集方法,所述调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据,包括:
调用远程直接内存访问模块通过所述长连接数据通道根据所述注册信息及所述标识信息从所述数据存储模块中读取所述指标数据。
6.根据权利要求2所述的数据采集方法,所述调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据,包括:
调用远程直接内存访问模块按照预设时间周期从所述数据存储模块读取所述指标数据;
相应的,所述按照预设数据处理策略对所述指标数据进行处理,包括:
基于所述待检测指标的指标数据,计算不同时间周期内所述待检测指标的变化结果并展示。
7.一种数据采集装置,包括:
接收模块,被配置为与应用服务器建立数据传输通道,并接收所述应用服务器通过所述数据传输通道发送的数据存储模块的注册信息以及待检测指标的标识信息;
读取模块,被配置为调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据;
展示模块,被配置为按照预设数据处理策略对所述指标数据进行处理,并将生成的处理结果进行展示。
8.一种数据采集方法,应用于应用服务器,包括:
与远程服务器建立数据传输通道;
通过所述数据传输通道向所述远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息;
采集所述待检测指标的指标数据,并将所述指标数据存储于所述数据存储模块,其中,所述远程服务器调用远程直接内存访问模块根据所述注册信息及所述标识信息,从所述数据存储模块中读取所述指标数据。
9.根据权利要求8所述的数据采集方法,所述与远程服务器建立数据传输通道,包括:
向所述远程服务器发送数据通道建立请求,与所述远程服务器建立长连接控制通道以及长连接数据通道。
10.根据权利要求9所述的数据采集方法,所述通过所述数据传输通道向所述远程服务器发送数据存储模块的注册信息以及待检测指标的标识信息,包括:
在应用程序接口与代理模块间建立连接;
调用应用程序接口通过内存映射函数确定所述数据存储模块对应的内存分配信息,并将所述内存分配信息发送至所述代理模块;
调用所述代理模块将所述内存分配信息通过所述长连接控制通道发送至所述远程服务器。
11.根据权利要求9所述的数据采集方法,所述将所述指标数据存储于所述数据存储模块,包括:
确定加密算法,采用所述加密算法对所述指标数据进行加密;
将加密结果以及加密算法标识以数据块的形式存储于所述数据存储模块。
12.根据权利要求8所述的数据采集方法,所述采集所述待检测指标的指标数据之后,还包括:
调用代理模块按照第一数据处理策略对所述指标数据进行处理,并将生成的中间数据存储于所述数据存储模块,其中,所述远程服务器调用远程直接内存访问模块根据所述注册信息及所述标识信息从所述数据存储模块中读取所述中间数据。
13.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令实现权利要求2至6或8至12任意一项所述数据采集方法的步骤。
14.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求2至6或8至12任意一项所述数据采集方法的步骤。
CN202110533607.6A 2021-05-17 2021-05-17 数据采集***、方法以及装置 Active CN113297110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110533607.6A CN113297110B (zh) 2021-05-17 2021-05-17 数据采集***、方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110533607.6A CN113297110B (zh) 2021-05-17 2021-05-17 数据采集***、方法以及装置

Publications (2)

Publication Number Publication Date
CN113297110A true CN113297110A (zh) 2021-08-24
CN113297110B CN113297110B (zh) 2024-06-18

Family

ID=77322470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110533607.6A Active CN113297110B (zh) 2021-05-17 2021-05-17 数据采集***、方法以及装置

Country Status (1)

Country Link
CN (1) CN113297110B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114691051A (zh) * 2022-05-30 2022-07-01 恒生电子股份有限公司 数据处理方法以及装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310486A (ja) * 2007-06-13 2008-12-25 Olympus Corp 通信インターフェース装置
US20110246598A1 (en) * 2010-04-02 2011-10-06 Microsoft Corporation Mapping rdma semantics to high speed storage
US20170277655A1 (en) * 2016-03-25 2017-09-28 Microsoft Technology Licensing, Llc Memory sharing for working data using rdma
CN110019110A (zh) * 2017-07-28 2019-07-16 腾讯科技(深圳)有限公司 一种业务***的容量管理方法、装置、设备及业务***
KR20190087783A (ko) * 2018-01-17 2019-07-25 한국전자통신연구원 원격 직접 메모리 접근을 통한 분산 처리 장치 및 그 방법
CN110113420A (zh) * 2019-05-08 2019-08-09 重庆大学 基于nvm的分布式消息队列管理***
CN110402568A (zh) * 2018-02-24 2019-11-01 华为技术有限公司 一种通信的方法及装置
CN110445826A (zh) * 2018-05-04 2019-11-12 阿里巴巴集团控股有限公司 一种会话信息获取方法、装置及服务器
US20200042444A1 (en) * 2018-08-02 2020-02-06 MemVerge, Inc Distributed Memory Object Architecture
CN110908951A (zh) * 2019-10-30 2020-03-24 浙江科技学院 一种基于网络接口的分布式高速数据采集***
WO2021022794A1 (zh) * 2019-08-06 2021-02-11 创新先进技术有限公司 基于rdma的数据传输方法、网卡、服务器及介质
CN112612734A (zh) * 2020-12-18 2021-04-06 平安科技(深圳)有限公司 文件传输方法、装置、计算机设备及存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310486A (ja) * 2007-06-13 2008-12-25 Olympus Corp 通信インターフェース装置
US20110246598A1 (en) * 2010-04-02 2011-10-06 Microsoft Corporation Mapping rdma semantics to high speed storage
US20170277655A1 (en) * 2016-03-25 2017-09-28 Microsoft Technology Licensing, Llc Memory sharing for working data using rdma
CN110019110A (zh) * 2017-07-28 2019-07-16 腾讯科技(深圳)有限公司 一种业务***的容量管理方法、装置、设备及业务***
KR20190087783A (ko) * 2018-01-17 2019-07-25 한국전자통신연구원 원격 직접 메모리 접근을 통한 분산 처리 장치 및 그 방법
CN110402568A (zh) * 2018-02-24 2019-11-01 华为技术有限公司 一种通信的方法及装置
CN110445826A (zh) * 2018-05-04 2019-11-12 阿里巴巴集团控股有限公司 一种会话信息获取方法、装置及服务器
US20200042444A1 (en) * 2018-08-02 2020-02-06 MemVerge, Inc Distributed Memory Object Architecture
CN110113420A (zh) * 2019-05-08 2019-08-09 重庆大学 基于nvm的分布式消息队列管理***
WO2021022794A1 (zh) * 2019-08-06 2021-02-11 创新先进技术有限公司 基于rdma的数据传输方法、网卡、服务器及介质
CN110908951A (zh) * 2019-10-30 2020-03-24 浙江科技学院 一种基于网络接口的分布式高速数据采集***
CN112612734A (zh) * 2020-12-18 2021-04-06 平安科技(深圳)有限公司 文件传输方法、装置、计算机设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114691051A (zh) * 2022-05-30 2022-07-01 恒生电子股份有限公司 数据处理方法以及装置

Also Published As

Publication number Publication date
CN113297110B (zh) 2024-06-18

Similar Documents

Publication Publication Date Title
Hao et al. Challenges and software architecture for fog computing
US20220232097A1 (en) System and Method for Improving Internet Communication by Using Intermediate Nodes
US9747093B2 (en) Device driver aggregation in operating system deployment
CN112583882A (zh) 用于管理边缘环境中的遥测数据的方法、***、制品和装置
George et al. Mez: An adaptive messaging system for latency-sensitive multi-camera machine vision at the iot edge
CN112486074B (zh) 数据处理***、方法及装置
CN113010818A (zh) 访问限流方法、装置、电子设备及存储介质
US20200143583A1 (en) Cloud render service framework for low power playback devices
CN111163130A (zh) 一种网络服务***及其数据传输方法
CN114296953B (zh) 一种多云异构***及任务处理方法
CN107102889B (zh) 一种虚拟机资源调整方法及装置
US11570274B1 (en) Systems for exchange of data between remote devices
CN113297110A (zh) 数据采集***、方法以及装置
JP7216757B2 (ja) 情報を取得するための方法及び装置
CN114584482B (zh) 基于内存存储检测数据的方法、装置以及网卡
CN116489177A (zh) 一种基于块存储的io访问方法、装置、电子设备及介质
CN116244231A (zh) 一种数据传输方法、装置、***、电子设备及存储介质
CN115373998A (zh) 应用程序优化方法、装置、设备及介质
CN113055350B (zh) 数据传输方法、装置、设备及可读存储介质
CN110391952B (zh) 一种性能分析方法、装置及其设备
WO2019157062A1 (en) System and method for decentralized data storage
WO2023213101A1 (zh) 一种通信方法、装置及设备
CN115756875B (zh) 面向流式数据的机器学习模型在线服务部署方法及***
US20230188341A1 (en) Cryptographic operations in edge computing networks
RU2750642C2 (ru) Система и способ регистрации уникального идентификатора мобильного устройства

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40057915

Country of ref document: HK

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240306

Address after: # 03-06, Lai Zan Da Building 1, 51 Belarusian Road, Singapore

Applicant after: Alibaba Innovation Co.

Country or region after: Singapore

Address before: Room 01, 45th Floor, AXA Building, 8 Shanton Road, Singapore

Applicant before: Alibaba Singapore Holdings Ltd.

Country or region before: Singapore

GR01 Patent grant
GR01 Patent grant