CN116107764A - 数据处理方法及系统 - Google Patents
数据处理方法及系统 Download PDFInfo
- Publication number
- CN116107764A CN116107764A CN202310391487.XA CN202310391487A CN116107764A CN 116107764 A CN116107764 A CN 116107764A CN 202310391487 A CN202310391487 A CN 202310391487A CN 116107764 A CN116107764 A CN 116107764A
- Authority
- CN
- China
- Prior art keywords
- data access
- mode
- access request
- kernel
- user
- 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
Links
Images
Classifications
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本说明书实施例提供数据处理方法及系统,其中数据处理方法,应用于处理器,包括:在内核态接收从用户态发送的数据访问请求;在内核态调用预设自定义程序,向存储系统提交数据访问请求,预设自定义程序用于在内核态向存储系统提交数据访问请求;在内核态接收存储系统返回的数据访问结果,并将数据访问结果返回至用户态。通过调用预设自定义程序,向存储系统提交数据访问请求,以使存储系统基于内核态提交的数据访问请求进行相应处理,无需将内核态的数据访问请求再拷贝至用户态,才能在用户态向存储系统提交请求,减少用户态和内核态上下的切换开销,避免在用户态提交数据访问请求时拷贝数据的内存开销,进而提高对数据访问请求进行处理的效率。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种数据处理方法。
背景技术
在虚拟机(JVM,JAVA virtual Machine)技术应用领域,在对存储系统中的数据进行访问时,需要借助用户态块设备进行相应处理,具体是将在用户态接收到的访问请求发送至内核态,内核态中的驱动层,驱动用户态中的用户态块设备服务进程基于访问请求访问存储系统,但是用户态块设备服务进程无法直接操作发送至内核态中的访问请求,需要在用户态分配一个内存,用于将内核态中的访问请求拷贝到内存中,然后根据内存中的访问请求对存储系统进行访问,通过分配内存的方式实现数据的访问,浪费了内存且还需要消耗核心处理器(CPU,Central Processing Unit)资源进行数据拷贝,并且在用户态和内核态进行多次切换也增加了切换开销,导致进行数据访问的效率较低,因此,亟需一种高效的数据访问方法。
发明内容
有鉴于此,本说明书实施例提供了一种数据处理方法,应用于处理器。本说明书一个或者多个实施例同时涉及一种数据处理装置,应用于处理器,一种数据处理系统,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据处理方法,应用于处理器,包括:
在内核态接收从用户态发送的数据访问请求;
在内核态调用预设自定义程序,向存储系统提交数据访问请求,其中,预设自定义程序用于在内核态向存储系统提交数据访问请求;
在内核态接收存储系统返回的数据访问结果,并将数据访问结果返回至用户态。
根据本说明书实施例的第二方面,提供了一种数据处理装置,应用于处理器,包括:
接收模块,被配置为在内核态接收从用户态发送的数据访问请求;
调用模块,被配置为在内核态调用预设自定义程序,向存储系统提交数据访问请求,其中,预设自定义程序用于在内核态向存储系统提交数据访问请求;
返回模块,被配置为在内核态接收存储系统返回的数据访问结果,并将数据访问结果返回至用户态。
根据本说明书实施例的第三方面,提供了一种数据处理系统,数据处理系统包括操作终端和存储终端,其中,所述操作终端包括处理器,所述处理器包括上述数据处理方法中的用户态和内核态;
所述存储终端,用于接收所述处理器的内核态发送的数据访问请求,并返回数据访问结果至所述处理器的内核态。
根据本说明书实施例的第四方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述数据处理方法的步骤。
根据本说明书实施例的第六方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
本说明书一个实施例在内核态接收从用户态发送的数据访问请求;在内核态调用预设自定义程序,向存储系统提交数据访问请求,预设自定义程序用于在内核态向存储系统提交数据访问请求;在内核态接收存储系统返回的数据访问结果,并将数据访问结果返回至用户态。通过调用预设自定义程序,向存储系统提交数据访问请求,以使存储系统基于内核态提交的数据访问请求进行相应处理,无需将内核态的数据访问请求再拷贝至用户态,才能在用户态向存储系统提交请求,减少用户态和内核态上下的切换开销,避免在用户态提交数据访问请求时拷贝数据的内存开销,进而提高对数据访问请求进行处理的效率。
附图说明
图1是本说明书一个实施例提供的一种数据处理系统结构图;
图2是本说明书一个实施例提供的一种数据处理方法的流程图;
图3a是本说明书一个实施例提供的一种数据处理方法的处理过程流程图;
图3b是本说明书一个实施例提供的一种数据处理方法的结构图;
图4是本说明书一个实施例提供的一种数据处理装置的结构示意图;
图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
用户态(user mode):在计算机结构指两项类似的概念,在CPU的设计中,用户态指非特权状态,在此状态下,执行的代码被硬件限定,不能进行某些操作,比如写入其他进程的存储空间,以防止给操作系统带来安全隐患;在操作系统的设计中,用户态也类似,指非特权的执行状态,内核禁止此状态下的代码进行潜在危险的操作,比如写入系统配置文件、杀掉其他用户的进程、重启系统等。
块设备:是输入/输出(I/O,Input/Output)设备中的一类,是将信息存储在固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据,例如硬盘,U盘(USB闪存驱动器,Universal Serial Bus闪存驱动器),安全数字卡(SD卡,SecureDigital Card)等。块设备是分布式存储系统对外的一种接口形态。
虚拟机(Virtual Machine):是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的集成电路(CMOS,Complementary Metal OxideSemiconductor)、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。
用户态块设备:用户态块设备不同于传统基于磁盘等介质的真实物理硬件设备,其会虚拟出一个块设备给用户读写访问,用户在该块设备上的读写请求会被操作系统内核转发给一个用户态块设备服务进程处理,其数据可以存放在本地文件系统,分布式文件系统等,最后用户态块设备服务进程将读写的数据通过操作系统内核返回给用户态块设备的访问者。
容器服务:提供高性能可伸缩的容器应用管理服务提供多种应用发布方式和持续交付能力并支持微服务架构,容器服务简化了容器管理集群的搭建工作。
操作系统(OS,Operating System):是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。可以作为服务器使用,可以在服务器上安装各种企业应用和服务,比如,操作系统可以是Linux。根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。
内核:是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间,内核的分类可分为单内核和双内核以及微内核,当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态或简称为内核态。
扩展的伯克利包过滤器(eBPF,extended Berkeley Packet Filter):一般来说,要向内核添加新功能,需要修改内核源代码或者编写内核模块来实现。而eBPF允许程序在不修改内核源代码或添加额外的内核模块情况下运行,也即eBPF是一种可以在Linux内核中运行用户编写的程序,而不需要修改内核代码或加载内核模块的技术。
异步编程技术:设计目标是提供一个统一、易用、可扩展、功能丰富、高效的网络和磁盘系统接口,比如,Linux内核最新的异步编程接口(io_uring)。
分布式存储系统:采用可扩展的系统结构,利用多台存储设备分担存储负荷,不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
云计算厂商通过分布式文件系统提供数据存储能力,为方便用户访问数据,比如针对虚拟机或者容器服务,通常还需要借助用户态块设备来读写分布式文件系统上的数据。用户态块设备使用方案:在操作系统上提供虚拟块设备,虚拟块设备的后端对应一个用户态块设备服务进程,其通过访问分布式文件系统来完成虚拟块设备的I/O请求。
传统上基于上述用户态块设备使用方案对I/O请求进行数据访问,可以是用户态块设备的用户态块设备服务进程需要在用户态分配维护I/O内存,并且需要将内核块设备的I/O请求数据拷贝进用户态维护的I/O内存,用户态块设备服务进程使用I/O内存读取访问分布式文件系统,其浪费内存又消耗CPU资源进行数据拷贝,同时存在大量的用户态和内核态上下文切换开销,导致I/O性能受限,具体参见目前一种数据处理方法的处理流程:步骤1为块设备访问者发起数据访问请求到内核态块设备层;步骤2为内核态块设备层向用户态块设备驱动层发送数据访问请求,用户态块设备服务进程预先在用户态分配维护一个io内存;步骤3为用户态块设备驱动层驱动用户态块设备服务进程开始运行,用户态块设备服务进程将数据访问请求拷贝至io内存,用户态块设备服务进程基于拷贝得到的数据访问请求,生成用户态块设备服务进程的数据访问请求;步骤4为基于该数据访问请求向存储系统提交请求,存储系统基于请求进行相应处理;步骤5为将数据访问请求对应的结果返回至用户态块设备服务进程;步骤6为用户态块设备服务进程将结果返回至用户态块设备驱动层;步骤7为用户态块设备服务进程将结果返回至内核态块设备层;步骤8为内核态块设备层将结果返回至块设备访问者。
或者可以是在内核态分配内存用于拷贝虚拟内核块设备I/O请求数据,然后把分配的内存通过内存映射的方式给用户态块设备服务进程访问,既浪费内存,也需要消耗CPU资源进行数据拷贝,导致性能不佳。
为解决上述技术问题,本说明书实施例在内核态接收从用户态发送的数据访问请求;在内核态调用预设自定义程序,向存储系统提交数据访问请求,预设自定义程序用于在内核态向存储系统提交数据访问请求;在内核态接收存储系统返回的数据访问结果,并将数据访问结果返回至用户态。通过调用预设自定义程序,向存储系统提交数据访问请求,以使存储系统基于内核态提交的数据访问请求进行相应处理,无需将内核态的数据访问请求再拷贝至用户态,才能在用户态向存储系统提交请求,减少用户态和内核态上下的切换开销,避免在用户态提交数据访问请求时拷贝数据的内存开销,进而提高对数据访问请求进行处理的效率。
在本说明书中,提供了一种数据处理方法,应用于处理器,本说明书同时涉及一种数据处理装置,应用于处理器,一种数据处理系统,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了根据本说明书一个实施例提供的一种数据处理系统结构图,如图1所示,该数据处理系统包括操作终端100和存储终端200,其中,操作终端100包括处理器01,处理器01包括用户态0101和内核态0102;
处理器01,用于在内核态0102接收从用户态0101发送的数据访问请求;在内核态0102调用预设自定义程序,向存储系统提交数据访问请求,其中,预设自定义程序用于在内核态0102向存储系统提交数据访问请求;在内核态0102接收存储系统返回的数据访问结果,并将数据访问结果返回至用户态0101;
存储终端200,用于接收处理器01的内核态0102发送的数据访问请求,并返回数据访问结果至处理器01的内核态0102,其中,存储终端200包括存储系统。
应用本说明书实施例的方案,在内核态接收从用户态发送的数据访问请求;在内核态调用预设自定义程序,向存储系统提交数据访问请求,预设自定义程序用于在内核态向存储系统提交数据访问请求;在内核态接收存储系统返回的数据访问结果,并将数据访问结果返回至用户态。通过调用预设自定义程序,向存储系统提交数据访问请求,以使存储系统基于内核态提交的数据访问请求进行相应处理,无需将内核态的数据访问请求再拷贝至用户态,才能在用户态向存储系统提交请求,减少用户态和内核态上下的切换开销,避免在用户态提交数据访问请求时拷贝数据的内存开销,进而提高对数据访问请求进行处理的效率。
参见图2,图2示出了根据本说明书一个实施例提供的一种数据处理方法的流程图,应用于处理器,具体包括以下步骤。
步骤202:在内核态接收从用户态发送的数据访问请求。
本说明书实施例应用于处理器所对应的终端,其中,处理器可以是核心处理器(CPU,Central Processing Unit),终端可以是服务器、云服务器等。
在有进行数据访问的需求时,处理器在内核态接收从用户态发送的数据访问请求,数据访问请求可以是用户输入至用户态,处理器通过用户态将接收到的请求发送至内核态,也可以是用户态基于用户输入的内容自行生成与输入内容对应的数据访问请求,处理器将数据访问请求从用户态发送至内核态,其中,自行生成的方式可以是根据用户输入数据中的关键字,与预设的存储关键字与请求之间对应关系表,进行生成;还可以是将用户输入的专业术语的数据转写成机器可以识别的语言,即为数据访问请求,其中,用户输入可以是用户通过前端打开对应的应用程序,在应用程序中输入对应的数据到用户态,进而生成数据访问请求,用户输入的形式可以基于输入的应用程序的不同而不同,专业术语可以是中文、英文等。
具体地,数据访问请求是指在有数据访问需求时生成的请求,数据访问请求中可以包括数据位置、数据长度、数据操作类型等,数据访问请求可以是数据读写、修改等相关的请求,具体可以为I/O请求。
可选地,将用户态的数据访问请求发送至内核态是通过系统调用实现的。
可选地,通过内核态接收从用户态发送的数据访问请求,可以是用户态在接收到数据访问请求后,将数据访问请求进行封装,将封装后的数据访问请求发送至内核态,处理器在通过内核态接收封装的数据访问请求之后,对数据访问请求进行解封操作。
通过接收用户态发送的数据访问请求,使得处理器后续可以通过内核态基于接收到的数据访问请求进行相应的调用、访问等操作,为后续奠定了进行处理的数据基础。
可选地,内核态包括内核态块设备层;在内核态接收从用户态发送的数据访问请求可以是通过内核态中与用户态具有连接关系或者数据传送关系的设备接收从用户态发送的数据访问请求,也即,上述步骤202,包括如下具体步骤:
在内核态块设备层接收从用户态发送的数据访问请求。
具体地,内核态块设备层是指内核态中对数据进行存储的存储块对应的设备层。
可选地,通过内核态块设备层接收从用户态发送的数据访问请求,具体是从用户态的应用程序通过系统调用的方式,将数据访问请求发送到内核态块设备层。
可选地,处理器通过内核态中的内核态块设备层接收从用户态发送数据访问请求,在接收到之后,可以将数据访问请求进行封装,以用于后续处理。
应用本说明书实施例的方案,内核态包括内核态块设备层,处理器通过内核态中的内核态块设备层接收从用户态发送的数据访问请求,以使后续基于接收到的数据访问请求进行相应处理。
步骤204:在所述内核态调用预设自定义程序,向存储系统提交数据访问请求,其中,预设自定义程序用于在内核态向存储系统提交数据访问请求。
本说明书一个或多个实施例中,通过内核态调用预设自定义程序,以向存储系统提交数据访问请求,实现无需通过用户态,可直接在内核态向存储系统提交数据访问请求,避免了用户态与内核态进行切换的切换开销。
具体地,预设自定义程序是指预先设定的对访问存储系统的条件进行扩大的程序,扩大的范围大小可根据自定义程序中的程序所确定,条件是指存储系统可以接收的上游的存储空间有哪些,可以是用户态或者内核态,此处的预设自定义程序用于通过内核态向存储系统提交数据访问请求,预设自定义程序中的程序可以是用扩展的伯克利包过滤器(eBPF,extended Berkeley Packet Filter)语言编写的,预设自定义程序在内核态中的形式是二进制的形式。存储系统是指对数据进行存储的系统,比如,存储系统可以是分布式存储系统或者本地文件系统。
调用预设自定义程序,向存储系统提交数据访问请求,可以是执行预设自定义程序中的代码,向存储系统提交数据访问请求,具体可以是查询并获取预设自定义程序,基于预设自定义程序中代码,向存储系统提交数据访问请求,查询并获取可以是从内核态中进行操作。
可选地,预设自定义程序中携带有存储系统的接口,该接口用于通过内核态向存储系统提交数据访问请求,也即该接口用于通过内核态进行请求提交时使用。
可选地,预设自定义程序可以是预先存储在内核态中,在有数据访问请求到达内核态时,对预设自定义程序进行调用。
可选地,在调用预设自定义程序,向存储系统提交数据访问请求之前,可以是在内核态对数据访问请求中的内容进行具体化,基于数据访问请求生成完整的数据访问请求,并调用预设自定义程序将更新后的数据访问请求,提交至存储系统,其中,对内容进行具体化,可以是用户态传入的数据访问请求仅包括数据起始位置的字符,具体化后的数据访问请求中包括起始位置处于存储系统中的存储器以及在存储器中的具体位置等,为实现上述对内容进行具体化的功能,需要在内核态对存储系统的存储目录或序列等进行读取、获取。
可选地,内核态还包括用户态块设备驱动层;在调用预设自定义程序向存储系统提交数据访问请求之前,还可以将数据访问请求从内核态的内核态块设备层发送至内核态中的驱动层,也即,在上述步骤204之前,还包括如下具体步骤:
在内核态块设备层将数据访问请求发送至用户态块设备驱动层。
具体地,用户态块设备驱动层是指处于内核态,且用于对用户态块设备服务进程进行驱动的设备层,用户态块设备驱动层配置有驱动接口,可以用于接收数据。
通过内核态块设备层将数据访问请求发送至用户态块设备驱动层,具体是通过内核态块设备层将数据访问请求由驱动接口发送至用户态块设备驱动层。
在通过内核态块设备层将数据访问请求发送至用户态块设备驱动层之后,用户态块设备驱动层可以对数据访问请求中的数据进行补充分析,获得更新后的数据访问请求,并进行存储,存储至更新前的数据访问请求的存储位置。
将数据访问请求通过内核态块设备层发送至用户态块设备驱动层的操作可触发内核态调用预设自定义程序,以实现后续的操作。
应用本说明书实施例的方案,通过内核态中的内核态块设备层将数据访问请求发送至用户态块设备驱动层,通过将数据访问请求发送至用户态块设备驱动层驱动内核态进行下一步的操作,提高了对数据进行访问的效率。
可选地,上述步骤204,包括如下具体步骤:
在用户态块设备驱动层调用预设自定义程序;
基于预设自定义程序向存储系统提交数据访问请求。
在用户态块设备驱动层调用预设自定义程序,具体是通过内核态中的用户态块设备驱动层调用存储在内核态中的预设自定义程序,以获得预设自定义程序所能实现的功能,比如基于预设自定义程序对数据访问请求进行删减、增加、扩充等功能以及提供向存储系统提交数据访问请求的功能,其中,向存储系统提交数据访问请求的功能可以是提供一个提交的接口,通过该接口即可向存储系统提交数据访问请求。
基于预设自定义程序向存储系统提交数据访问请求,就是使用预设自定义程序中所能实现的向存储系统提交请求的功能。
应用本说明书实施例的方案,通过用户态块设备驱动层调用预设自定义程序,并基于调用的预设自定义程序向存储系统提交数据访问请求,通过调用,以使用预设自定义程序所能实现的功能,进而使后续可以基于调用的预设自定义程序进行处理。
可选地,上述步骤基于预设自定义程序向存储系统提交数据访问请求,包括如下具体步骤:
基于预设自定义程序中的编程接口向存储系统提交数据访问请求。
具体地,编程接口是指存储系统用于接收数据的接口,编程接口可实现从内核态向存储系统提交数据访问请求,编程接口可以是异步编程接口,异步编程接口使用异步编程技术,用于内核态向存储系统提交数据,比如,在内核态通过异步编程接口向存储系统提交数据访问请求。
基于预设自定义程序中的编程接口向存储系统提交数据访问请求,具体是基于预设自定义程序中对程序进行编写生成的编程接口向存储系统提交数据访问请求。
应用本说明书实施例的方案,基于预设自定义程序中的编程接口向存储系统提交数据访问请求,通过预设自定义程序中的编程接口实现由内核态向存储系统提交数据访问请求,避免了需要将数据访问请求经过用户态才能提交至存储系统,减少了用户态和内核态的上下切换开销,提高了对存储系统中的数据进行访问的效率。
可选地,预设自定义程序为eBPF程序;在内核态获取预设自定义程序可以是从用户态中获取,也即,数据处理方法还包括如下具体步骤:
在内核态接收并存储从用户态发送的eBPF程序。
eBPF程序是在用户态生成的,具体是通过用户态中的用户态块设备服务进程加载至内核态中,具体的加载方式是用户态块设备服务进程通过内核态中的内核接口将eBPF程序加载至内核态,加载后得到的eBPF程序中的代码可根据内核态的要求进行变化,比如,用户态中预设自定义程序中的代码是eBPF的语言编写的,加载至内核态中的预设自定义程序可以是将是eBPF语言编译成二进制对象。
可选地,存储eBPF程序,具体是将eBPF程序存储至内核态中的存储空间中,存储空间可以是预先设置的,也可以是根据接收到的eBPF程序临时从内核态分配得到的。
接收并存储从用户态发送的eBPF程序,具体是接收从用户态通过加载方式发送的eBPF程序,并将eBPF程序存储至内核态。
可选地,接收并存储从用户态发送的eBPF程序的操作时机,可以是用户态在写入eBPF程序之后就操作的,也可以是在有通过用户态提交数据访问请求的需求之前,执行接收并存储从用户态发送的eBPF程序的操作。
应用本说明书实施例的方案,接收并存储从用户态发送的eBPF程序,其中eBPF程序是用户态预先准备好的,其准备是用户通过需求进行编写的,以实现内核态向存储系统提交数据访问请求,提高了对数据进行访问的效率。
可选地,接收并存储从用户态发送的eBPF程序,可以是在内核态接收从用户态发送的eBPF程序,并将接收到的eBPF程序进行存储,也即,上述步骤接收并存储从用户态发送的eBPF程序,包括如下具体步骤:
在内核态接收基于内核接口从用户态发送的预设自定义程序,其中,内核接口是指用户态与内核态之间的数据传输接口;
将预设自定义程序存储至预设存储区域。
具体地,内核接口是指位于内核态中的,接收从用户态发送数据的接口,用户态与内核态之间的传输通过系统调用用户态或者内核态的接口进行处理。
在内核态接收基于内核接口从用户态发送的eBPF程序,是指在内核态接收从用户态通过内核接口发送的在内核态程序,其中在内核态程序是用户态准备的,是用户基于所要达到的目的所编写的。
将在内核态程序存储至预设存储区域,具体是在内核态预先分配一个存储空间,用于存储在内核态程序,具体可以将预设存储空间与在内核态程序建立对应关系。
应用本说明书实施例的方案,在内核态接收基于内核接口从用户态发送的在内核态程序,并将在内核态程序存储至预设存储区域,通过接收从用户态发送的预设自定义程序,使得内核态具有在内核态程序中的功能,进而使内核态具有用户态以及用户需要实现的要求对应的功能,并将在内核态程序存储至预设存储空间,使得内核态在接收到数据访问请求时可调用在内核态程序进行相应处理,实现内核态向存储系统提交数据访问请求的功能。
可选地,调用预设自定义程序,向存储系统提交数据访问请求,可以是从内核态中存储预设自定义程序的存储空间中获取预设自定义程序,对该预设自定义程序进行调用,向存储系统提交数据访问请求,也即上述步骤204,包括如下具体步骤:
调用预设存储区域中的预设自定义程序;
基于预设自定义程序中的编程接口向存储系统提交数据访问请求。
可选地,预设自定义程序是预先从从用户态发送到内核态的,内核态将该预设自定义程序进行存储,存储至内核态中的预设存储区域,以使内核态在对预设自定义程序进行调用时,从预设存储空间中进行调用。
应用本说明书实施例的方案,调用预设存储区域的预设自定义程序,基于预设自定义程序中的编程接口向存储系统提交数据访问请求,通过将引入的预设自定义程序存储在预设存储区域中,并基于预设自定义程序向存储系统提交数据访问请求,实现从内核态向存储系统的数据访问请求的提交。
步骤206:在内核态接收存储系统返回的数据访问结果,并将数据访问结果返回至用户态。
本说明书一个或多个实施例中,在接收到存储系统基于数据访问请求进行处理生成的数据访问结果后,将数据访问结果返回至用户态,完成对数据访问请求的闭环处理。
具体地,数据访问结果是指与数据访问请求相对应的访问结果,其中数据访问结果的生成是存储系统基于数据访问请求进行相应处理后得到的结果。
接收存储系统返回的数据访问结果之前,可以是存储系统基于从内核态提交的数据访问请求进行相应的处理,进而生成数据访问结果,比如,数据访问请求包括数据的起始位置、数据的类型、数据的长度以及对数据进行提取的指令,则数据访问结果可以是从起始位置开始与数据的长度相符的数据,将该些数据作为数据访问结果。
可选地,接收存储系统返回的数据访问结果,并将数据访问结果返回至用户态,可以是存储系统在生成数据访问结果后,将数据访问结果发送至内核态,处理器根据内核态中与数据访问结果对应的数据访问请求的请求来源,将数据访问结果返回至用户态,以使数据访问请求与数据访问结果相对应的,以满足用户态的要求。
可选地,将数据访问结果从内核态返回至用户态之前,可以在内核态对数据访问结果进行封装,使得发送至用户态的是封装后的数据访问结果。
可选地,接收存储系统返回的数据访问结果,并将数据访问结果返回至用户态,可以是依次经过内核态中的用户态块设备驱动层、内核态块设备层将数据访问结果返回至用户态,也即,上述步骤206,包括如下具体步骤:
在用户态块设备驱动层接收存储系统返回的数据访问结果,并将数据访问结果从用户态块设备驱动层转发至内核态块设备层;
将数据访问结果从内核态块设备层,将数据访问结果返回至用户态。
通过用户态块设备驱动层接收存储系统返回的数据访问结果,并将数据访问结果转发至内核态块设备层,具体是在用户态块设备驱动层通过驱动接口接收存储系统返回的数据访问结果,并基于内核态的空间结构以及内核态与用户态之间的数据传递方式,需要将数据访问结果转发至内核态块设备层。
通过内核态块设备层,将数据访问请求返回至用户态,具体是将数据访问结果从内核态的内核态块设备层发送至用户态,以使用户态接收到数据访问结果,进而解决用户态发起的数据访问请求的需求。
应用本说明书实施例的方案,通过用户态块设备驱动层接收存储系统返回的数据访问请求,并将数据访问结果从用户态块设备驱动层转发至内核态块设备层,并通过内核态块设备层将数据访问请求返回至用户态,实现在用户态发起数据访问请求以及返回数据访问结果至用户态的闭环处理,提高了对存储系统中的数据进行访问的效率。
本说明书实施例通过引入内核eBPF和异步编程接口的技术,可以用于增强用户态块设备的输入输出性能,提高数据吞吐,并降低资源开销,其中,引入内核eBPF以实现用于支持用户态块设备服务进程加载预设自定义程序,以实现在内核态实现用户态块设备的数据面逻辑。
可选地,用户态包括用户态应用程序;在上述步骤202之前,还包括如下具体步骤:
在用户态应用程序向内核态发送数据访问请求。
具体地,用户态应用程序是指可在前端进行编辑的应用程序,比如用户在程序A中进行编译,则可称程序A为用户态应用程序。
在用户态应用程序向内核态发送数据访问请求,具体是用户态应用程序被块设备访问者从前端进行编译、编写,基于编译、编写的内容生成数据访问请求,将数据访问请求发送至内核态。
应用本说明书实施例的方案,在用户态应用程序向内核态发送数据访问请求,使得用户通过用户态应用程序进行输入,并将基于输入数据生成的数据访问请求发送至内核态,以使在内核态基于接收到的数据访问请求进行处理,为后续数据处理奠定了基础。
可选地,在上述步骤206之后,还包括如下具体步骤:
在用户态应用程序接收并展示内核态返回的数据访问结果。
接收并展示内核态返回的数据访问结果可以是在内核态获取到数据访问结果后,基于用户态应用程序发送至内核态的数据访问请求,将数据访问结果返回至用户态应用程序,其中,可在用户态应用程序对应的前端将数据访问结果进行展示。
若在用户态应用程序展示数据访问结果之后,用户基于展示的结果提出调整信息或者错误信息,则可以向工作人员反映,以使工作人员对存储系统中的数据进行检查调整。
应用本说明书实施例的方案,在用户态应用程序向内核态发送数据访问请求之后,还用于接收并展示内核态返回的数据访问结果,实现请求与结果的闭环,提高了对请求进行处理的效率。
下述结合附图3a,以本说明书提供的数据处理方法在对数据进行处理的应用为例,对所述数据处理方法进行进一步说明。其中,图3a示出了根据本说明书一个实施例提供的一种数据处理方法的处理过程流程图,具体包括以下步骤。
其中,数据处理方法应用于处理器。
步骤302:在内核态基于内核接口接收从用户态发送的预设自定义程序。
其中,所述内核接口是指所述用户态与所述内核态之间的数据传输接口。
用户态在基于所需要实现的功能,使用eBPF语言在eBPF系统中增加一个新编程类型,以实现在内核态向存储系统提交数据访问请求,并接收在用户态编写好的预设自定义程序(eBPF)。
步骤304:将eBPF程序存储至预设存储区域。
预先在内核态分配一个内存,用于存储eBPF程序,故在接收到从用户态发送的eBPF程序后,将eBPF程序存储至预设存储区域。
步骤306:通过内核态块设备层接收从用户态发送的数据访问请求。
通过内核态块设备层接收用户在从用户态发送的数据访问请求,其中,数据访问请求包括数据的起始位置为A,数据长度为10,数据类型为X。
步骤308:在内核态块设备层将数据访问请求发送至用户态块设备驱动层。
步骤310:在用户态块设备驱动层调用预设存储区域中的eBPF程序;基于eBPF程序中的编程接口向存储系统提交数据访问请求。
从预设存储区域中获取预设自定义程序,并由用户态块设备驱动层执行预设自定义程序中的代码,通过预设自定义程序中的编程接口向分布式存储系统提交数据访问请求。
步骤312:在用户态块设备驱动层接收存储系统返回的数据访问结果,并将数据访问结果从用户态块设备驱动层转发至内核态块设备层;将数据访问结果从内核态块设备层返回至用户态。
将存储系统发送的数据访问结果接收至用户态块设备驱动层,再将数据访问结果由用户态块设备驱动层发送至内核态块设备层,将数据访问结果返回至用户态。
参见图3b,图3b示出了本说明书一个实施例提供的一种数据处理方法的结构图。
步骤1为通过用户态块设备服务进程预先向内核态发送预设自定义程序,在内核态接收到预设自定义程序之后,基于接收到的预设自定义程序,分配预设存储区域,将预设自定义程序存储至预设存储区域中;步骤2为块设备访问者从用户态向内核态块设备层发送数据访问请求;步骤3为在内核态块设备层向用户态块设备驱动层发送数据访问请求;步骤4为在用户态块设备驱动层通过调用预设存储区域中的预设自定义程序向存储系统提交数据访问请求;步骤5为存储系统根据数据访问请求生成对应的数据访问结果后,将数据访问结果返回至用户态块设备驱动层;步骤6为将数据访问结果从用户态块设备驱动层发送至内核态块设备层;步骤7为将数据访问结果从内核态块设备层返回至用户态的块设备访问者。
应用本说明书实施例的方案,在内核态接收从用户态发送的数据访问请求;在内核态调用预设自定义程序,向存储系统提交数据访问请求,预设自定义程序用于在内核态向存储系统提交数据访问请求;在内核态接收存储系统返回的数据访问结果,并将数据访问结果返回至用户态。通过调用预设自定义程序,向存储系统提交数据访问请求,以使存储系统基于内核态提交的数据访问请求进行相应处理,无需将内核态的数据访问请求再拷贝至用户态,才能在用户态向存储系统提交请求,减少用户态和内核态上下的切换开销,避免在用户态提交数据访问请求时拷贝数据的内存开销,进而提高对数据访问请求进行处理的效率。
与上述方法实施例相对应,本说明书还提供了数据处理装置实施例,图4示出了根据本说明书一个实施例提供的一种数据处理装置的结构示意图。如图4所示,该装置包括:
接收模块402,被配置为在内核态接收从用户态发送的数据访问请求;
调用模块404,被配置为在内核态调用预设自定义程序,向存储系统提交数据访问请求,其中,预设自定义程序用于在内核态向存储系统提交数据访问请求;
返回模块406,被配置为在内核态接收存储系统返回的数据访问结果,并将数据访问结果返回至用户态。
可选地,内核态包括内核态块设备层;接收模块402,进一步被配置为在内核态块设备层接收从用户态发送的数据访问请求。
可选地,内核态还包括用户态块设备驱动层;在调用模块404之前,数据处理装置还包括发送模块,被配置为在内核态块设备层将数据访问请求发送至用户态块设备驱动层。
可选地,调用模块404,进一步被配置为在用户态块设备驱动层调用预设自定义程序;基于预设自定义程序向存储系统提交数据访问请求。
可选地,调用模块404,进一步被配置为基于预设自定义程序中的编程接口向存储系统提交数据访问请求。
可选地,返回模块406,进一步被配置为在用户态块设备驱动层接收存储系统返回的数据访问结果,并将数据访问结果从用户态块设备驱动层转发至内核态块设备层;将数据访问结果从内核态块设备层返回至用户态。
可选地,预设自定义程序为eBPF程序;数据处理装置还包括预设自定义程序接收模块,被配置为在内核态接收并存储从用户态发送的eBPF程序。
可选地,预设自定义程序接收模块,进一步被配置为在内核态接收基于内核接口从用户态发送的预设自定义程序,其中,内核接口是指用户态与内核态之间的数据传输接口;将预设自定义程序存储至预设存储区域。
可选地,用户态包括用户态应用程序;数据处理装置还包括请求发送模块,被配置为在用户态应用程序向内核态发送数据访问请求。
可选地,数据处理装置还包括接收并展示模块,被配置为在用户态应用程序接收并展示内核态返回的数据访问结果。
应用本说明书实施例的方案,在内核态接收从用户态发送的数据访问请求;在内核态调用预设自定义程序,向存储系统提交数据访问请求,预设自定义程序用于在内核态向存储系统提交数据访问请求;在内核态接收存储系统返回的数据访问结果,并将数据访问结果返回至用户态。通过调用预设自定义程序,向存储系统提交数据访问请求,以使存储系统基于内核态提交的数据访问请求进行相应处理,无需将内核态的数据访问请求再拷贝至用户态,才能在用户态向存储系统提交请求,减少用户态和内核态上下的切换开销,避免在用户态提交数据访问请求时拷贝数据的内存开销,进而提高对数据访问请求进行处理的效率。
上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
图5示出了根据本说明书一个实施例提供的一种计算设备的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,NetworkInterface Card))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,Wireless LocalArea Networks)无线接口、全球微波互联接入(Wi-MAX,World Interoperability forMicrowave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near Field Communication)接口,等等。
在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(PC,Personal Computer)的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的数据处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (13)
1.一种数据处理方法,应用于处理器,包括:
在内核态接收从用户态发送的数据访问请求;
在所述内核态调用预设自定义程序,向存储系统提交所述数据访问请求,其中,所述预设自定义程序用于在所述内核态向所述存储系统提交数据访问请求;
在所述内核态接收所述存储系统返回的数据访问结果,并将所述数据访问结果返回至所述用户态。
2.如权利要求1所述的方法,所述内核态包括内核态块设备层;
在内核态接收从用户态发送的数据访问请求,包括:
在所述内核态块设备层接收从用户态发送的数据访问请求。
3.如权利要求2所述的方法,所述内核态还包括用户态块设备驱动层;
在所述内核态调用预设自定义程序,向存储系统提交所述数据访问请求之前,还包括:
在所述内核态块设备层将所述数据访问请求发送至所述用户态块设备驱动层。
4.如权利要求3所述的方法,在所述内核态调用预设自定义程序,向存储系统提交所述数据访问请求,包括:
在所述用户态块设备驱动层调用预设自定义程序;
基于所述预设自定义程序向存储系统提交数据访问请求。
5.如权利要求4所述的方法,基于所述预设自定义程序向存储系统提交数据访问请求,包括:
基于所述预设自定义程序中的编程接口向存储系统提交所述数据访问请求。
6.如权利要求3所述的方法,在所述内核态接收所述存储系统返回的数据访问结果,并将所述数据访问结果返回至所述用户态,包括:
在所述用户态块设备驱动层接收所述存储系统返回的数据访问结果,并将所述数据访问结果从所述用户态块设备驱动层转发至所述内核态块设备层;
将所述数据访问结果从所述内核态块设备层返回至所述用户态。
7.如权利要求1所述的方法,所述预设自定义程序为eBPF程序;还包括:
在所述内核态接收并存储从所述用户态发送的eBPF程序。
8.如权利要求7所述的方法,在所述内核态接收并存储从所述用户态发送的eBPF程序,包括:
在所述内核态接收基于内核接口从所述用户态发送的预设自定义程序,其中,所述内核接口是指所述用户态与所述内核态之间的数据传输接口;
将所述预设自定义程序存储至预设存储区域。
9.如权利要求1所述的方法,所述用户态包括用户态应用程序;
在内核态接收从用户态发送的数据访问请求之前,还包括:
在用户态应用程序向所述内核态发送数据访问请求。
10.如权利要求9所述的方法,在将所述数据访问结果返回至所述用户态之后,还包括:
在用户态应用程序接收并展示所述内核态返回的所述数据访问结果。
11.一种数据处理系统,包括操作终端和存储终端,其中,所述操作终端包括处理器,所述处理器包括如权利要求1至10任一项所述方法中的用户态和内核态;
所述存储终端,用于接收所述处理器的内核态发送的数据访问请求,并返回数据访问结果至所述处理器的内核态。
12.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至10任意一项所述方法的步骤。
13.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至10任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310391487.XA CN116107764B (zh) | 2023-04-03 | 2023-04-03 | 数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310391487.XA CN116107764B (zh) | 2023-04-03 | 2023-04-03 | 数据处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116107764A true CN116107764A (zh) | 2023-05-12 |
CN116107764B CN116107764B (zh) | 2023-09-26 |
Family
ID=86264173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310391487.XA Active CN116107764B (zh) | 2023-04-03 | 2023-04-03 | 数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116107764B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544324A (zh) * | 2013-11-11 | 2014-01-29 | 北京搜狐新媒体信息技术有限公司 | 一种内核态的数据访问方法、装置及系统 |
WO2016000147A1 (zh) * | 2014-06-30 | 2016-01-07 | 华为技术有限公司 | 一种访问存储设备的方法和主机 |
CN108062253A (zh) * | 2017-12-11 | 2018-05-22 | 北京奇虎科技有限公司 | 一种内核态与用户态的通信方法、装置及终端 |
CN109408226A (zh) * | 2018-09-19 | 2019-03-01 | 深圳传音通讯有限公司 | 数据处理方法、装置及终端设备 |
CN110275782A (zh) * | 2018-03-13 | 2019-09-24 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置 |
CN110377436A (zh) * | 2019-07-12 | 2019-10-25 | 清华大学 | 持久性内存的数据存储访问方法、设备及装置 |
CN110955584A (zh) * | 2018-09-26 | 2020-04-03 | Oppo广东移动通信有限公司 | 块设备访问追踪方法、装置、存储介质及终端 |
CN112039999A (zh) * | 2020-09-03 | 2020-12-04 | 苏宁云计算有限公司 | 一种内核态访问分布式块存储系统的方法及系统 |
CN113986459A (zh) * | 2021-10-21 | 2022-01-28 | 浪潮电子信息产业股份有限公司 | 一种容器访问的控制方法、系统、电子设备及存储介质 |
CN114356591A (zh) * | 2020-10-14 | 2022-04-15 | 阿里巴巴集团控股有限公司 | 进程间通信方法、装置、物联网操作系统以及物联网设备 |
CN115391066A (zh) * | 2022-08-31 | 2022-11-25 | 瀚博半导体(上海)有限公司 | 用于芯片的数据交互方法、装置和人工智能芯片 |
CN115514583A (zh) * | 2022-11-21 | 2022-12-23 | 北京长亭未来科技有限公司 | 一种流量采集及阻断方法、系统、设备及存储介质 |
-
2023
- 2023-04-03 CN CN202310391487.XA patent/CN116107764B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544324A (zh) * | 2013-11-11 | 2014-01-29 | 北京搜狐新媒体信息技术有限公司 | 一种内核态的数据访问方法、装置及系统 |
WO2016000147A1 (zh) * | 2014-06-30 | 2016-01-07 | 华为技术有限公司 | 一种访问存储设备的方法和主机 |
CN105830038A (zh) * | 2014-06-30 | 2016-08-03 | 华为技术有限公司 | 一种访问存储设备的方法和主机 |
CN108062253A (zh) * | 2017-12-11 | 2018-05-22 | 北京奇虎科技有限公司 | 一种内核态与用户态的通信方法、装置及终端 |
CN110275782A (zh) * | 2018-03-13 | 2019-09-24 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置 |
CN109408226A (zh) * | 2018-09-19 | 2019-03-01 | 深圳传音通讯有限公司 | 数据处理方法、装置及终端设备 |
CN110955584A (zh) * | 2018-09-26 | 2020-04-03 | Oppo广东移动通信有限公司 | 块设备访问追踪方法、装置、存储介质及终端 |
CN110377436A (zh) * | 2019-07-12 | 2019-10-25 | 清华大学 | 持久性内存的数据存储访问方法、设备及装置 |
CN112039999A (zh) * | 2020-09-03 | 2020-12-04 | 苏宁云计算有限公司 | 一种内核态访问分布式块存储系统的方法及系统 |
CN114356591A (zh) * | 2020-10-14 | 2022-04-15 | 阿里巴巴集团控股有限公司 | 进程间通信方法、装置、物联网操作系统以及物联网设备 |
CN113986459A (zh) * | 2021-10-21 | 2022-01-28 | 浪潮电子信息产业股份有限公司 | 一种容器访问的控制方法、系统、电子设备及存储介质 |
CN115391066A (zh) * | 2022-08-31 | 2022-11-25 | 瀚博半导体(上海)有限公司 | 用于芯片的数据交互方法、装置和人工智能芯片 |
CN115514583A (zh) * | 2022-11-21 | 2022-12-23 | 北京长亭未来科技有限公司 | 一种流量采集及阻断方法、系统、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
ZHILU LIAN ET AL., 《 2022 INTERNATIONAL CONFERENCE ON SERVICE SCIENCE 》, pages 188 - 195 * |
屠雪真: "一种优化的内核态文件发送方法", 计算机与现代化, no. 05, pages 13 - 18 * |
Also Published As
Publication number | Publication date |
---|---|
CN116107764B (zh) | 2023-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240095043A1 (en) | Execution of sub-application processes within application program | |
CN110389936B (zh) | 一种启动小程序的方法、设备和计算机存储介质 | |
CN113986515B (zh) | 为插件运行创建沙箱环境的方法和装置以及计算设备 | |
WO2020155417A1 (en) | Input/output processing in a distributed storage node with rdma | |
WO2018176911A1 (zh) | 一种虚拟磁盘文件格式转换方法和装置 | |
US9164735B2 (en) | Enabling polymorphic objects across devices in a heterogeneous platform | |
JP4000327B2 (ja) | 非同期挙動変更をマネージドアプリケーションプロセスに誘導するためのシステムおよび方法 | |
CN112905472A (zh) | 内核调试系统及方法 | |
CN112906075A (zh) | 一种内存共享的方法及装置 | |
CN115309511B (zh) | 基于Xen的数据交互方法、装置、存储介质以及电子设备 | |
US20230297352A1 (en) | Method for Starting Serverless Container and Related Device | |
CN114691300A (zh) | 一种虚拟机实例的热迁移方法 | |
US20200371827A1 (en) | Method, Apparatus, Device and Medium for Processing Data | |
CN106909441B (zh) | 一种基于jvm的磁盘直接i/o访问的方法 | |
CN104714792A (zh) | 多进程共享数据处理方法和装置 | |
KR101164465B1 (ko) | 가상머신에서 연속전달을 위한 방법 및 장치 | |
US11200203B1 (en) | Accessing files stored in a firmware volume from a pre-boot application | |
CN116107764B (zh) | 数据处理方法及系统 | |
US7401178B1 (en) | Expanded memory space in environments including virtual machines | |
WO2022083158A1 (zh) | 数据处理的方法、实例以及系统 | |
CN116685946A (zh) | 在不停止应用的执行的情况下的更新的共享库的重新加载 | |
EP3783484A1 (en) | Data processing method and computer device | |
US20150116208A1 (en) | Terminal apparatus, information processing apparatus, and display control method | |
CN108804236B (zh) | 一种aidl文件的共享方法及系统 | |
KR101211673B1 (ko) | 사용자 단말에서 다른 시스템 환경을 갖는 외부 단말의 프로그램을 실행하기 위한 바이너리 호환 시스템 및 그 방법 |
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 |