CN114756699A - 图形数据的访问处理方法、装置、计算机设备和存储介质 - Google Patents
图形数据的访问处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114756699A CN114756699A CN202210446356.2A CN202210446356A CN114756699A CN 114756699 A CN114756699 A CN 114756699A CN 202210446356 A CN202210446356 A CN 202210446356A CN 114756699 A CN114756699 A CN 114756699A
- Authority
- CN
- China
- Prior art keywords
- cache region
- data
- file descriptor
- cache
- specified
- 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
- 238000003672 processing method Methods 0.000 title claims description 5
- 238000012545 processing Methods 0.000 claims abstract description 82
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000004590 computer program Methods 0.000 claims abstract description 39
- 238000013507 mapping Methods 0.000 claims abstract description 29
- 230000006870 function Effects 0.000 claims description 28
- 230000001360 synchronised effect Effects 0.000 description 12
- 230000004044 response Effects 0.000 description 11
- 230000003993 interaction Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/54—Browsing; Visualisation therefor
-
- 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/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Image Generation (AREA)
Abstract
本申请涉及一种图形数据的访问处理方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:当获取到对指定图形的显示请求时,创建缓存区对应的文件描述符,将文件描述符传递至应用层,将指定图形的图形数据写入缓存区;从应用层获取文件描述符,确定与文件描述符关联的缓存区;与缓存区建立连接与内存映射关系,获取对缓存区内存地址的权限;根据权限直接访问缓存区内缓存的指定图形的图形数据,并显示。采用本方法能够有效提高了处理器的运行效率。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种图形数据的访问处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着信息技术的发展,信息的安全性和保密性越来越难以得到保证,因此采用自主研发的国产化芯片的需求也在不断扩大
现有的国产处理器中的显示控制器驱动设备与图形处理单元设备之间的交互依然采用了原始的内存拷贝方法。在实时操作系统中,频繁的内存拷贝会占据大量的内存带宽,严重影响处理器的运行效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高程序运行效率的图形数据的访问处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种图形数据的访问处理方法,所述方法包括:
当获取到对指定图形的显示请求时,创建缓存区对应的文件描述符,将所述文件描述符传递至应用层,将所述指定图形的图形数据写入所述缓存区;
从应用层获取所述文件描述符,确定与所述文件描述符关联的缓存区;
与所述缓存区建立连接与内存映射关系,获取对所述缓存区内存地址的权限;
根据所述权限直接访问所述缓存区内缓存的所述指定图形的图形数据,并显示。
在其中一个实施例中,所述当获取到对指定图形的显示请求时,创建缓存区对应的文件描述符,将所述文件描述符传递至应用层,将所述指定图形的图形数据写入所述缓存区,包括:
基于对指定图形的处理请求,声明直接访问的缓存区;
将缓存区功能接口挂载至所述缓存区中;
调用预设的创建函数,创建所述缓存区对应的文件描述符,将所述文件描述符关联至所述缓存区,并将所述文件描述符传递至应用层;
将所述指定图形的图形数据写入所述缓存区。
在其中一个实施例中,所述将所述指定图像的数据写入所述缓存区,包括:
若所述缓存区未被占用,则获得对所述缓存区的控制权限,将所述指定图形的图形数据写入所述缓存区。
在其中一个实施例中,所述方法还包括:
若所述缓存区被占用,则暂停数据写入步骤并进行等待;
当等待时长达到预设等待时长时,重新执行所述数据写入步骤,将所述指定图形的图形数据写入所述缓存区。
在其中一个实施例中,所述根据所述权限直接访问所述缓存区内缓存的所述指定图形的图形数据,包括:
若所述缓存区未被占用,则获得对所述缓存区的控制权限,根据所述权限直接访问所述缓存区内缓存的数据。
在其中一个实施例中,所述方法还包括:
若所述缓存区被占用,则暂停数据访问步骤并进行等待;
当等待时长达到预设等待时长时,重新执行所述数据访问步骤,访问所述缓存区内缓存的数据。
第二方面,本申请还提供了一种图形数据的访问处理装置,所述装置包括:
数据写入模块,用于当获取到对指定图形的显示请求时,创建缓存区对应的文件描述符,将所述文件描述符传递至应用层,将所述指定图形的图形数据写入缓存区;
缓存区确定模块,用于从应用层获取所述文件描述符,确定与所述文件描述符关联的缓存区;
权限获取模块,用于与所述缓存区建立连接与内存映射关系,获取对所述缓存区内存地址的权限;
数据访问模块,用于根据所述权限直接访问所述缓存区内缓存的所述指定图形的图形数据,并显示。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
上述图形数据的访问处理方法、装置、计算机设备、存储介质和计算机程序产品,当获取到对指定图形的显示请求时,图形处理设备创建缓存区对应的文件描述符,将文件描述符传递至应用层,将指定图形的图形数据写入缓存区。显示控制设备从应用层获取文件描述符,确定与文件描述符关联的缓存区,与缓存区建立连接与内存映射关系,获取对缓存区内存地址的权限,根据权限即可直接访问缓存区内缓存的指定图形的图形数据并显示。整个访问及显示过程不需要进行频繁的内存拷贝,释放了大量的内存带宽,有效提高了处理器的运行效率。
附图说明
图1为一个实施例中图形处理器的结构框图;
图2为一个实施例中图形数据的访问处理方法的流程示意图;
图3为一个实施例中当获取到对指定图形的显示请求时,创建缓存区对应的文件描述符,将文件描述符传递至应用层,将指定图像的数据写入缓存区步骤的流程示意图;
图4为另一个实施例中图形数据的访问处理方法的流程示意图;
图5为一个实施例中图形数据的访问处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在现有国产处理器,如飞腾处理器中,图形处理设备102与显示控制设备104进行数据交互时,由于频繁的内存拷贝容易导致运行效率降低、处理器性能下降的情况发生。本申请实施例提供的图形数据的访问处理方法,可以应用于如图1所示的图形处理器100S中。其中,图形处理器100包括有图形处理设备102以及显示控制设备104,图像处理设备102与显示控制设备104通过共用的缓存区106进行数据交互。具体地,当图形处理器100接收到对指定图形的显示请求时,图形处理设备102创建缓存区106对应的文件描述符,将文件描述符传递至应用层,将指定图形的图形数据写入缓存区106中,显示控制设备104从应用层获取文件描述符,确定与文件描述符关联的缓存区106,与缓存区106建立连接与内存映射关系,获取对缓存区106内存地址的权限;根据权限直接访问缓存区106内缓存的指定图形的图形数据,并显示。
在一个实施例中,如图2所示,提供了一种图形数据的访问处理方法,以该方法应用在图1中的图形处理器为例进行说明,该方法包括以下步骤:
步骤202,当获取到对指定图形的显示请求时,创建缓存区对应的文件描述符,将文件描述符传递至应用层,将指定图形的图形数据写入缓存区。
其中,指定图形为需要在显示设备上进行显示的图形。用户在需要将指定图形显示在显示设备上时,触发生成显示请求操作,显示请求用于指示在显示设备上显示指定图形。可以理解的,指定图形的图形数据为图形处理器中的图形处理单元的输出数据。
其中,缓存区用于缓存图形处理设备处理好的图像数据。可以理解的,缓存区设置与图像处理器的内核空间中。
其中,文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,用于指代被打开的文件,对文件所有I/O操作相关的系统调用都需要通过文件描述符。
其中,应用层为用于通信的应用程序和用于消息传输的底层网络提供接口。将文件描述符传递至应用层,可以方便需要对文件描述符对应的缓存区进行访问的设备迅速找到对应的缓存区。
具体地,图形处理器在接收到对指定图形的显示请求时,图形处理器中的负责生产指定图形的图形处理设备将创建缓存区对应的文件描述符,并将文件描述符传递至应用层,再将生产好的指定图形的图像数据写入缓存区中。
步骤204,从应用层获取文件描述符,确定与文件描述符关联的缓存区。
具体地,图像处理器中的显示控制设备从应用层中获取图形处理设备传递的文件描述符,并根据文件描述符确定与文件描述符关联的缓存区。
步骤206,与缓存区建立连接与内存映射关系,获取对缓存区内存地址的权限。
其中,显示控制设备通过获取缓存区的物理起始地址和长度,与缓存区建立连接关系。
其中,内存映射关系是指显示控制设备所处的用户空间与缓存区所处的内核空间之间相互对应的关系。显示控制设备通过与缓存区建立内存映射关系可以直接把内核空间的缓存区映射到用户空间,从而获取对缓存区内存地址的权限,此时显示控制设备可以直接像访问普通文件一样访问缓存区的物理内存。
具体地,显示控制设备通过获取缓存区的物理起始地址和长度,与缓存区建立连接关系,并与缓存区建立内存映射关系,将处于内核空间的缓存区映射至用户空间,从而获取对缓存区内存地址的权限。
步骤208,根据权限直接访问缓存区内缓存的指定图形的图形数据,并显示。
具体地,显示控制设备根据获取的缓存区内存地址权限直接访问缓存区内缓存的指定图形的图形数据并显示。
上述图形数据的访问处理方法中,当获取到对指定图形的显示请求时,图形处理设备创建缓存区对应的文件描述符,将文件描述符传递至应用层,将指定图形的图形数据写入缓存区。显示控制设备从应用层获取文件描述符,确定与文件描述符关联的缓存区,与缓存区建立连接与内存映射关系,获取对缓存区内存地址的权限,根据权限即可直接访问缓存区内缓存的指定图形的图形数据并显示。整个访问及显示过程不需要进行频繁的内存拷贝,释放了大量的内存带宽,有效提高了处理器的运行效率。
在一个实施例中,如图3所示,当获取到对指定图形的显示请求时,创建缓存区对应的文件描述符,将文件描述符传递至应用层,将指定图像的数据写入缓存区包括:
步骤302,基于对指定图形的处理请求,声明直接访问的缓存区。
其中,对指定图形的处理请求用于指示将指定图形对应的图形数据存入缓存区。
具体地,图形处理器获取到对指定图形的显示请求时,生成对指定图形的处理请求,发送至图形处理设备,指示图形处理设备将指定图形对应的图形数据存入缓存区。图形处理设备基于对指定图形的处理请求,声明图形处理设备与显示控制设备均可直接访问的缓存区,即在图形处理器的内核空间创建一个可以直接访问的缓存区。
步骤304,将缓存区功能接口挂载至缓存区中。
其中,缓存区功能接口是包含了缓存区可实现功能的接口。可以理解的,缓存区功能接口的个数可以根据应用程序的具体需求设定。
具体地,图形处理设备将至少一个缓存区功能接口与其他缓存区的相关信息进行封装,将缓存区功能接口挂载至缓存区中。
在其中一个实施例中,图形处理设备将缓存区的基本信息、缓存区功能接口以及缓存区初始化模块一起进行封装,得到缓存区对象。
其中,缓存区的基本信息包括缓存区的内存空间大小(buffe size)、指针(mem_ptr)以及其在用户空间的名称(buffer_id)。具体地,内存空间大小在整个缓存区对象生命周期内不变;指针用于指向缓存区内存空间首地址;用户空间的名称是用户空间对该缓存对象提供的名称,在生成一个新的缓存区对象时赋予,方便后续调试。
步骤306,调用预设的创建函数,创建缓存区对应的文件描述符,将文件描述符关联至缓存区,并将文件描述符传递至应用层。
其中,创建函数是用于为缓存区创建对应的文件描述符的函数。可以理解的,创建函数预先存储在图形处理器中,当需要创建缓存区对应的文件描述符时,图形处理设备可以直接调用创建函数进行创建。
具体地,图像处理设备调用预设的创建函数,创建缓存区对应的文件描述符,将文件描述符表中的file类型的指针数组对应文件描述符的项指向缓存区,这样文件描述符就与缓存区建立了对应关系。将文件描述符传递至应用层,后续即可用该文件描述符作为媒介来实现图形处理设备与显示控制设备之间的数据交互。
在其中一个实施例中,创建函数为mmap函数。
步骤308,将指定图形的图形数据写入缓存区。
具体地,图形处理设备将生产好的指定图形的图形数据写入声明的缓存区中。
本实施例中,图形处理设备在收到对指定图形的处理请求之后,声明直接访问的缓存区,并为缓存区挂载缓存区功能接口,通过调用预设的创建函数创建缓存区对应的文件描述符,并将文件描述符暴露在应用层中,然后才将生产好的指定图形的图形数据写入声明的缓存区中,为后续显示控制设备从缓存区中读取图形数据并显示提供了数据基础,且通过创建缓存区,避免了两个设备进行数据交互时的内存拷贝操作,提高了处理器的运行效率。
在其中一个实施例中,缓存区功能接口可实现的功能主要包括:
(1)建立设备与缓存区之间的对应关系:通过获取缓存区的物理起始地址和长度,从而在访问该缓存区的图形处理设备或显示控制器设备与缓存区之间建立初始连接关系,供后续的内存空间映射操作使用。
(2)设备与缓存区的内存映射:调用预设创建函数强制性将缓存区的地址映射到设备的地址空间,必须在设备与缓存区建立初始连接之后才可调用该操作;
(3)删除设备与缓存区的内存映射:此操作可取消操作(2)中建立的内存映射;
(4)内核空间与用户空间的内存映射:为了方便设备能直接在用户空间对分配在内核空间的缓存区数据进行读写,本方法提供一个回调函数接口,可以直接把内核空间中的缓存区映射到用户空间,此时设备可以直接像访问普通文件一样访问缓存区的物理内存;
(5)删除内核空间与用户空间的内存映射:本操作可删除操作(4)中建立的内核空间与用户空间的内存映射;
(6)固定缓存区内存:在设备运行期间,固定该缓存区的内存地址,保证缓存区数据可供使用,以便所有具备访问权限的设备都可以访问该缓存区;
(7)取消固定缓存区内存:调用该操作时,生产者设备(图形处理设备)有权限对缓存区的内存地址进行移动,此操作仅用于动态导入程序;
(8)去除重复空间映射:调用该操作时,本方法只为每个设备的第一次连接创建映射,该操作可以避免多次为同一设备创建重复连接;
(9)释放缓存区内存:仅当缓存区的引用计数为0时,调用该操作释放缓存区对象,包括该缓存区对象对应物理内存和该对象的私有数据。
在一个实施例中,将指定图像的数据写入缓存区,包括:若缓存区未被占用,则获得对缓存区的控制权限,将指定图形的图形数据写入缓存区。
具体地,缓存区中封装有同步控制模块,图形处理设备在将指定图形的图形数据写入缓存区之前,向缓存区的同步控制模块发送写入访问请求,并等待请求应答。同步控制模块接收到写入访问请求后,访问缓存区的互斥变量,确定当前缓存区的状态,若缓存区未被占用,则将缓存区的状态修改为占用中,并向图形处理设备发送同意写入应答,图形处理设备获得对缓存区的控制权限,将指定图形的图形数据写入缓存区。此方法可以有效防止缓存区同时被多个生产者设备、消费者设备占用而造成的数据交互混乱的情况发生。
在其中一个实施例中,图形处理设备在写入完成后,向缓存区的同步控制模块发送写入完成信息,同步控制模块接收写入完成信息后,将缓存区的状态修改为未占用。
在一个实施例中,图形数据的访问处理方法还包括:
若缓存区被占用,则暂停数据写入步骤并进行等待;当等待时长达到预设等待时长时,重新执行数据写入步骤,将指定图形的图形数据写入缓存区。
具体地,图像处理设备向缓存区的同步控制模块发生写入访问请求后,若同步控制模块确定当前缓存区的状态被占用,则说明此时缓存区正在被访问,进行数据交互,若此时同意图像处理设备继续执行数据写入步骤,则容易造成缓存区访问混乱的情况发生。图形处理设备暂停数据写入步骤并进行等待,当等待时长达到预设等待时长时,图形处理设备向缓存区的同步控制模块重新发送写入访问请求,直至收到同步控制模块返回的同意写入应答时,将指定图形的图形数据写入缓存区中。有效避免了缓存区访问混乱的情况发生。
在其中一个实施例中,若同步控制模块确定当前缓存区的状态被占用,则向图像处理设备发送缓存区被占用回复。
在一个实施例中,根据权限直接访问缓存区内缓存的指定图形的图形数据,包括:若缓存区未被占用,则获得对缓存区的控制权限,根据权限直接访问缓存区内缓存的指定图形的图形数据。
具体地,显示控制设备在直接访问缓存区内缓存的指定图形的图形数据之前,向缓存区的同步控制模块发送读取访问请求,并等待请求应答。同步控制模块接收到读取访问请求后,访问缓存区的互斥变量,确定当前缓存区的状态,若缓存区未被占用,则将缓存区的状态修改为占用中,并向显示控制设备发送同意读取应答,显示控制设备获得对缓存区的控制权限,根据权限直接访问缓存区内缓存的指定图形的图形数据。
在其中一个实施例中,显示控制设备在读取完成后,向缓存区的同步控制模块发送读取完成信息,同步控制模块接收读取完成信息后,将缓存区的状态修改为未占用。
在一个实施例中,图形数据的访问处理方法还包括:若缓存区被占用,则暂停数据访问步骤并进行等待;当等待时长达到预设等待时长时,重新执行数据访问步骤,访问缓存区内缓存的数据。
具体地,显示控制设备向缓存区的同步控制模块发生读取访问请求后,若同步控制模块确定当前缓存区的状态被占用,则说明此时缓存区正在被访问,进行数据交互,若此时同意显示控制设备继续执行数据读取步骤,则容易造成缓存区访问混乱的情况发生。因此显示控制设备暂停数据写入步骤并进行等待,当等待时长达到预设等待时长时,显示控制设备向缓存区的同步控制模块重新发送读取访问请求,直至收到同步控制模块返回的同意读取应答时,显示控制设备获得对缓存区的控制权限,根据权限直接访问缓存区内缓存的指定图形的图形数据。有效避免了缓存区访问混乱的情况发生。
在其中一个实施例中,若图形处理设备或显示控制设备在预设时间阈值内未接收到同步控制模块发送的同意应答,图形处理器将启动Timeout机制进行处理。
在一个实施例中,同步控制模块用于实现以下功能:
(1)生产者设备(图形处理设备)发出对缓存区的写入访问请求,若缓存区未被占用,则该设备获取缓存区的独占写入控制权限,并更新访存区控制标记;
(2)消费者设备(显示控制设备)发出对缓存区的读取访问请求,若缓存区未被占用,则该设备获取缓存区的共享读取控制权限,并更新访存区控制标记;
(3)当占用缓存区的设备完成缓存区访问时,发出完成信号,并清空缓存区占用标记;
4)仅当申请访问缓存区的设备完成相应权限获取时,才被允许通过相应设备访问缓存区的底层存储。
在一个实施例中,如图4所示,提供了一种图形数据的访问处理方法,该方法应用于飞腾处理器中,飞腾处理器中包括有图形处理设备与显示控制设备。其中,图形处理设备为缓存区的使用者,负责将生产的图形数据写入缓存区,相当于是缓存区的生产者。图形处理设备主要实现以下几个功能:
(1)生产者设备声明缓存区对象;
(2)生产者设备根据运行环境以及功能调用需求指定缓存区内存大小,并指定缓存区挂载方法集合;
(3)生产者设备与缓存区进行内存映射;
(4)生产者设备将需要共享的数据写入缓存区内,等待消费者设备进行访问。
其中,显示控制设备是与图形处理设备对应的缓存区消费者设备,主要负责读取缓存区中的数据并进行利用。显示控制设备主要实现以下几个功能:
(1)消费者设备获取到应用层传递的文件描述符fd;
(2)消费者设备通过文件描述符fd获取到相关联的缓存区对象buf;
(3)消费者设备与缓存区对象建立连接与内存映射关系,从而获取访问该缓存区内存地址的权限;
(4)建立内存映射关系后,消费者设备即可读取该缓存区内缓存的数据。
具体地,该方法包括以下步骤:
步骤402,图像处理设备基于对指定图形的处理请求,声明直接访问的缓存区,并对缓存区进行初始化。
具体地,首先创造一个大小为N字节的缓存区,然后将申请的缓存区初始化为0;将缓存区同步控制模块初始化为未占用状态。其伪代码如下:
B=Alloc_DA_Buffer(N);//创建大小为N字节的直接访问缓存区
Set_Zero_Unlock(B);//将申请的直接访存缓存区初始化为0并将同步控制模块初始化为未占用状态。
其具体算法描述如下:
算法输入:缓存区大小N
算法输出:缓存区指针B,缓存区标识ID
说明:缓存区大小N指示了缓存区的大小,以字节为单位;缓存区指针B指示了分配的缓存区的首地址;缓存区标识ID用于标识缓存区,也用于通过缓存区ID获取缓存区首地址。
步骤404,在缓存区中设置同步控制模块。具体地,同步控制模块用于保证缓存区中的数据一致性。在接收读写访问请求时,同步控制模块查看当前缓存区的占用情况,如果当前的缓存区已被读请求或者写请求占用,则等待之前的操作完成直到收到操作完成的通知并设为未占用。如果当前的缓存区的无占用或设备的访问操作已完成,则将当前缓存区设为已占用。
其具体算法描述如下:
算法输入:读取请求或者写入请求;
算法输出:无,本方法为阻塞式。
步骤406,图形处理设备将处理完成的图形数据写入缓存区。
具体地,图形处理设备向同步控制模块发起写请求并等待请求应答;当接收到请求应答时,向缓存区首地址B写入数据,并存入数据大小S;当数据写入完毕后,向同步控制模块发送写入完毕通知。
其具体算法描述如下:
算法输入:缓存区首地址B,写入数据大小S;
说明:B为缓存区的首地址;S指示了欲写入缓存区的数据的大小。
其伪代码为:“Write_DA_Buffer(B,S);//向首地址为B的直接访存缓存区写入大小为S的数据”。
步骤408,显示控制设备从缓存区中读取图形数据。
具体地,显示控制设备向同步控制模块发起读取请求并等待请求应答;当接收到请求应答时,读取缓存区中的数据经处理后进行显示,并向同步控制模块发送数据读取完毕通知。
其具体算法描述如下:
算法输入:缓存区首地址B;
算法输出:缓存区首地址B;缓存区可读取数据大小S;
说明:B为缓存区的首地址;S指示了缓存区中的可读取数据大小(与图形处理设备写入的数据大小相同)。
其伪代码为:“Read_DA_Buffer(B);//在首地址为B的直接访存缓存中读取数据”。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的图形数据的访问处理方法的图形数据的访问处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个图形数据的访问处理装置实施例中的具体限定可以参见上文中对于图形数据的访问处理方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种图形数据的访问处理装置500,包括:数据写入模块501、缓存区确定模块502、权限获取模块503和数据访问模块504,其中:
数据写入模块501,用于当获取到对指定图形的显示请求时,创建缓存区对应的文件描述符,将文件描述符传递至应用层,将指定图形的图形数据写入缓存区。
缓存区确定模块502,用于从应用层获取文件描述符,确定与文件描述符关联的缓存区。
权限获取模块503,用于与缓存区建立连接与内存映射关系,获取对缓存区内存地址的权限。
数据访问模块504,用于用于根据权限直接访问缓存区内缓存的指定图形的图形数据,并显示。
上述图形数据的访问处理装置,当获取到对指定图形的显示请求时,图形处理设备创建缓存区对应的文件描述符,将文件描述符传递至应用层,将指定图形的图形数据写入缓存区。显示控制设备从应用层获取文件描述符,确定与文件描述符关联的缓存区,与缓存区建立连接与内存映射关系,获取对缓存区内存地址的权限,根据权限即可直接访问缓存区内缓存的指定图形的图形数据并显示。整个访问及显示过程不需要进行频繁的内存拷贝,释放了大量的内存带宽,有效提高了处理器的运行效率。
在一个实施例中,数据写入模块还用于:基于对指定图形的处理请求,声明直接访问的缓存区;将缓存区功能接口挂载至缓存区中;调用预设的创建函数,创建缓存区对应的文件描述符,将文件描述符关联至缓存区,并将文件描述符传递至应用层;将指定图形的图形数据写入缓存区。
在一个实施例中,数据写入模块还用于:若缓存区未被占用,则获得对缓存区的控制权限,将指定图形的图形数据写入缓存区。
在一个实施例中,图形数据的访问处理装置还包括:暂停写入模块,用于若缓存区被占用,则暂停数据写入步骤并进行等待;当等待时长达到预设等待时长时,重新执行数据写入步骤,将指定图形的图形数据写入缓存区。
在一个实施例中,数据访问模块还用于:若缓存区未被占用,则获得对缓存区的控制权限,根据权限直接访问缓存区内缓存的数据。
在一个实施例中,图形数据的访问处理装置还包括:暂停访问模块,若缓存区被占用,则暂停数据访问步骤并进行等待;当等待时长达到预设等待时长时,重新执行数据访问步骤,访问缓存区内缓存的数据。
上述图形数据的访问处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储图形数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图形数据的访问处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,该计算机设备可以为本方法中的图形处理器。包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
当获取到对指定图形的显示请求时,创建缓存区对应的文件描述符,将文件描述符传递至应用层,将指定图形的图形数据写入缓存区;
从应用层获取文件描述符,确定与文件描述符关联的缓存区;
与缓存区建立连接与内存映射关系,获取对缓存区内存地址的权限;
根据权限直接访问缓存区内缓存的指定图形的图形数据,并显示。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
基于对指定图形的处理请求,声明直接访问的缓存区;
将缓存区功能接口挂载至缓存区中;
调用预设的创建函数,创建缓存区对应的文件描述符,将文件描述符关联至缓存区,并将文件描述符传递至应用层;
将指定图形的图形数据写入缓存区。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若缓存区未被占用,则获得对缓存区的控制权限,将指定图形的图形数据写入缓存区。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若缓存区被占用,则暂停数据写入步骤并进行等待;
当等待时长达到预设等待时长时,重新执行数据写入步骤,将指定图形的图形数据写入缓存区。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若缓存区未被占用,则获得对缓存区的控制权限,根据权限直接访问缓存区内缓存的数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若缓存区被占用,则暂停数据访问步骤并进行等待;
当等待时长达到预设等待时长时,重新执行数据访问步骤,访问缓存区内缓存的数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
当获取到对指定图形的显示请求时,创建缓存区对应的文件描述符,将文件描述符传递至应用层,将指定图形的图形数据写入缓存区;
从应用层获取文件描述符,确定与文件描述符关联的缓存区;
与缓存区建立连接与内存映射关系,获取对缓存区内存地址的权限;
根据权限直接访问缓存区内缓存的指定图形的图形数据,并显示。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于对指定图形的处理请求,声明直接访问的缓存区;
将缓存区功能接口挂载至缓存区中;
调用预设的创建函数,创建缓存区对应的文件描述符,将文件描述符关联至缓存区,并将文件描述符传递至应用层;
将指定图形的图形数据写入缓存区。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若缓存区未被占用,则获得对缓存区的控制权限,将指定图形的图形数据写入缓存区。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若缓存区被占用,则暂停数据写入步骤并进行等待;
当等待时长达到预设等待时长时,重新执行数据写入步骤,将指定图形的图形数据写入缓存区。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若缓存区未被占用,则获得对缓存区的控制权限,根据权限直接访问缓存区内缓存的数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若缓存区被占用,则暂停数据访问步骤并进行等待;
当等待时长达到预设等待时长时,重新执行数据访问步骤,访问缓存区内缓存的数据。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
当获取到对指定图形的显示请求时,创建缓存区对应的文件描述符,将文件描述符传递至应用层,将指定图形的图形数据写入缓存区;
从应用层获取文件描述符,确定与文件描述符关联的缓存区;
与缓存区建立连接与内存映射关系,获取对缓存区内存地址的权限;
根据权限直接访问缓存区内缓存的指定图形的图形数据,并显示。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于对指定图形的处理请求,声明直接访问的缓存区;
将缓存区功能接口挂载至缓存区中;
调用预设的创建函数,创建缓存区对应的文件描述符,将文件描述符关联至缓存区,并将文件描述符传递至应用层;
将指定图形的图形数据写入缓存区。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若缓存区未被占用,则获得对缓存区的控制权限,将指定图形的图形数据写入缓存区。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若缓存区被占用,则暂停数据写入步骤并进行等待;
当等待时长达到预设等待时长时,重新执行数据写入步骤,将指定图形的图形数据写入缓存区。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若缓存区未被占用,则获得对缓存区的控制权限,根据权限直接访问缓存区内缓存的数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若缓存区被占用,则暂停数据访问步骤并进行等待;
当等待时长达到预设等待时长时,重新执行数据访问步骤,访问缓存区内缓存的数据。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种图形数据的访问处理方法,其特征在于,所述方法包括:
当获取到对指定图形的显示请求时,创建缓存区对应的文件描述符,将所述文件描述符传递至应用层,将所述指定图形的图形数据写入所述缓存区;
从应用层获取所述文件描述符,确定与所述文件描述符关联的缓存区;
与所述缓存区建立连接与内存映射关系,获取对所述缓存区内存地址的权限;
根据所述权限直接访问所述缓存区内缓存的所述指定图形的图形数据,并显示。
2.根据权利要求1所述的方法,其特征在于,所述当获取到对指定图形的显示请求时,创建缓存区对应的文件描述符,将所述文件描述符传递至应用层,将所述指定图形的图形数据写入所述缓存区,包括:
基于对指定图形的处理请求,声明直接访问的缓存区;
将缓存区功能接口挂载至所述缓存区中;
调用预设的创建函数,创建所述缓存区对应的文件描述符,将所述文件描述符关联至所述缓存区,并将所述文件描述符传递至应用层;
将所述指定图形的图形数据写入所述缓存区。
3.根据权利要求2所述的方法,其特征在于,所述将所述指定图像的数据写入所述缓存区,包括:
若所述缓存区未被占用,则获得对所述缓存区的控制权限,将所述指定图形的图形数据写入所述缓存区。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述缓存区被占用,则暂停数据写入步骤并进行等待;
当等待时长达到预设等待时长时,重新执行所述数据写入步骤,将所述指定图形的图形数据写入所述缓存区。
5.根据权利要求1所述的方法,其特征在于,所述根据所述权限直接访问所述缓存区内缓存的所述指定图形的图形数据,包括:
若所述缓存区未被占用,则获得对所述缓存区的控制权限,根据所述权限直接访问所述缓存区内缓存的数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述缓存区被占用,则暂停数据访问步骤并进行等待;
当等待时长达到预设等待时长时,重新执行所述数据访问步骤,访问所述缓存区内缓存的数据。
7.一种图形数据的访问处理装置,其特征在于,所述装置包括:
数据写入模块,用于当获取到对指定图形的显示请求时,创建缓存区对应的文件描述符,将所述文件描述符传递至应用层,将所述指定图形的图形数据写入缓存区;
缓存区确定模块,用于从应用层获取所述文件描述符,确定与所述文件描述符关联的缓存区;
权限获取模块,用于与所述缓存区建立连接与内存映射关系,获取对所述缓存区内存地址的权限;
数据访问模块,用于根据所述权限直接访问所述缓存区内缓存的所述指定图形的图形数据,并显示。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210446356.2A CN114756699A (zh) | 2022-04-26 | 2022-04-26 | 图形数据的访问处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210446356.2A CN114756699A (zh) | 2022-04-26 | 2022-04-26 | 图形数据的访问处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114756699A true CN114756699A (zh) | 2022-07-15 |
Family
ID=82333259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210446356.2A Pending CN114756699A (zh) | 2022-04-26 | 2022-04-26 | 图形数据的访问处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114756699A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8996821B1 (en) * | 2004-12-15 | 2015-03-31 | Emc Corporation | Methods and systems for providing resource sharing through file descriptor isomorphism |
CN106775462A (zh) * | 2016-11-30 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种读写过程中减少内存拷贝的方法和装置 |
US9875192B1 (en) * | 2015-06-25 | 2018-01-23 | Amazon Technologies, Inc. | File system service for virtualized graphics processing units |
CN108470008A (zh) * | 2018-01-23 | 2018-08-31 | 广州市中海达测绘仪器有限公司 | 串口数据读写方法、装置、计算机设备和存储介质 |
CN111813713A (zh) * | 2020-09-08 | 2020-10-23 | 苏州浪潮智能科技有限公司 | 数据加速运算处理方法、装置及计算机可读存储介质 |
CN112801856A (zh) * | 2021-02-04 | 2021-05-14 | 西安万像电子科技有限公司 | 数据处理方法和装置 |
-
2022
- 2022-04-26 CN CN202210446356.2A patent/CN114756699A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8996821B1 (en) * | 2004-12-15 | 2015-03-31 | Emc Corporation | Methods and systems for providing resource sharing through file descriptor isomorphism |
US9875192B1 (en) * | 2015-06-25 | 2018-01-23 | Amazon Technologies, Inc. | File system service for virtualized graphics processing units |
CN106775462A (zh) * | 2016-11-30 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种读写过程中减少内存拷贝的方法和装置 |
CN108470008A (zh) * | 2018-01-23 | 2018-08-31 | 广州市中海达测绘仪器有限公司 | 串口数据读写方法、装置、计算机设备和存储介质 |
CN111813713A (zh) * | 2020-09-08 | 2020-10-23 | 苏州浪潮智能科技有限公司 | 数据加速运算处理方法、装置及计算机可读存储介质 |
CN112801856A (zh) * | 2021-02-04 | 2021-05-14 | 西安万像电子科技有限公司 | 数据处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7252789B2 (ja) | Ssdに対するfpgaベースのアクセラレーションモジュール及びシステムとその動作方法 | |
EP3726364B1 (en) | Data write-in method and solid-state drive array | |
CA2910175C (en) | Selective backup of program data to non-volatile memory | |
KR101786871B1 (ko) | 원격 페이지 폴트 처리 장치 및 그 방법 | |
CN104937564B (zh) | 组表格的数据冲洗 | |
CN112256460B (zh) | 进程间通信方法、装置、电子设备及计算机可读存储介质 | |
CN110554911A (zh) | 内存访问与分配方法、存储控制器及系统 | |
KR20190105496A (ko) | Fpga 기반 가속화를 위한 새로운 ssd 구조 | |
US20190332540A1 (en) | Storage management method, electronic device and computer readable medium | |
JPS61500460A (ja) | 情報を高速で安定に記憶する装置及び方法 | |
WO2018103022A1 (zh) | 帧缓存实现方法、装置、电子设备和计算机程序产品 | |
CN115470156A (zh) | 基于rdma的内存使用方法、系统、电子设备和存储介质 | |
US8458434B2 (en) | Unified virtual contiguous memory manager | |
CN113312182A (zh) | 一种云计算节点、文件处理方法及装置 | |
CN114331428A (zh) | 一种非同质化通证分配方法及装置 | |
CN115686932A (zh) | 备份集文件恢复方法、装置和计算机设备 | |
CN116680233A (zh) | 一种文件访问方法、系统、电子设备及机器可读存储介质 | |
CN115686881A (zh) | 数据处理方法、装置和计算机设备 | |
WO2016131175A1 (zh) | 多核系统中数据访问者目录的访问方法及设备 | |
CN114756699A (zh) | 图形数据的访问处理方法、装置、计算机设备和存储介质 | |
US11960723B2 (en) | Method and system for managing memory associated with a peripheral component interconnect express (PCIE) solid-state drive (SSD) | |
JP2021536643A (ja) | ハイブリッドメモリシステムインタフェース | |
JP4965456B2 (ja) | システムと共有バッファ内のストレージとの間でデータを転送する方法、システム、及びコンピュータ・プログラム(システムと共有バッファ内ストレージとの間のデータ転送) | |
US10901937B2 (en) | Exposing pre-registered memory regions for remote direct memory access in a distributed file system | |
JPS5848289A (ja) | バツフアメモリ制御方式 |
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 |