CN114968497A - 硬件层的调用方法、装置、设备及存储介质 - Google Patents
硬件层的调用方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114968497A CN114968497A CN202210633496.0A CN202210633496A CN114968497A CN 114968497 A CN114968497 A CN 114968497A CN 202210633496 A CN202210633496 A CN 202210633496A CN 114968497 A CN114968497 A CN 114968497A
- Authority
- CN
- China
- Prior art keywords
- file
- hardware layer
- calling
- instruction
- hardware
- 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
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000013507 mapping Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 26
- 238000013473 artificial intelligence Methods 0.000 abstract description 20
- 238000004422 calculation algorithm Methods 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 101150053844 APP1 gene Proteins 0.000 description 2
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 2
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 2
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 2
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 2
- 102100038359 Xaa-Pro aminopeptidase 3 Human genes 0.000 description 2
- 101710081949 Xaa-Pro aminopeptidase 3 Proteins 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供一种硬件层的调用方法、装置、设备及存储介质。该方法包括:响应于应用层的服务文件启动操作,生成虚拟服务文件;生成文件唯一标识符,将所述文件唯一标识符与所述虚拟服务文件关联;向所述应用层返回所述文件唯一标识符;获取硬件层调用指令,所述硬件层调用指令是所述应用层根据所述文件唯一标识符写入所述虚拟服务文件中的;根据所述硬件层调用指令,调用所述硬件层。通过动态地为各应用生成虚拟服务文件和文件唯一标识符,能够允许多个应用、多个进程同时并行地调用同一硬件层资源,无需排队等待,适用于诸如人工智能算法等应用对硬件资源并行调用需求强烈的业务场景,可提升人工智能的计算效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种硬件层的调用方法、装置、电子设备及存储介质。
背景技术
人工智能(Artificial Intelligence,AI)手机、摄像头等AI终端设备算力的提升使多AI任务并行执行成为可能。并行计算在保证云终端业务画面清晰、时延低的基础上,能够降低卡顿的概率,提升云终端用户体验。
文件即服务是一种基于文件读写实现终端硬件调用的技术,支持应用进程与硬件调用相互隔离,但相关技术中的文件即服务技术存在问题:因AI终端设备允许多任务并行计算,而相关技术中的文件即服务技术无法支持多进程同时访问。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种硬件层的调用方法、装置、电子设备及存储介质,该方法可以能够允许多个应用、多个进程同时并行地调用同一硬件层资源。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
本公开实施例提供一种硬件层的调用方法,所述方法包括:响应于应用层的服务文件启动操作,生成虚拟服务文件;生成文件唯一标识符,将所述文件唯一标识符与所述虚拟服务文件关联;向所述应用层返回所述文件唯一标识符;获取硬件层调用指令,所述硬件层调用指令是所述应用层根据所述文件唯一标识符写入所述虚拟服务文件中的;根据所述硬件层调用指令,调用所述硬件层。
在示例性实施例中,在生成虚拟服务文件之前,所述方法还包括:触发文件服务;在向所述应用层返回所述文件唯一标识符之前,所述方法还包括:向所述硬件层请求存储空间,使所述虚拟服务文件映射至所述存储空间。
在示例性实施例中,在获取硬件层调用指令之后,所述方法还包括:将所述硬件层调用指令写入所述存储空间;其中,根据所述硬件层调用指令,调用所述硬件层,包括:从所述存储空间内读取所述硬件层调用指令;解析所述硬件层调用指令,根据解析结果调用所述硬件层。
在示例性实施例中,从所述存储空间内读取所述硬件层调用指令,包括:监听所述虚拟服务文件;当所述虚拟服务文件发生触发变更事件时,对所述虚拟服务文件进行读操作以读取所述硬件层调用指令。
在示例性实施例中,所述方法还包括:获取所述硬件层完成调用后所返回的指令执行结果;将所述指令执行结果写入所述存储空间。
在示例性实施例中,所述方法还包括:响应于所述应用层的服务文件关闭操作,根据所述文件唯一标识符,关闭所述文件服务;解除所述虚拟服务文件与所述存储空间之间的映射。
在示例性实施例中,解除所述虚拟服务文件与所述存储空间之间的映射,包括:删除所述虚拟服务文件,释放所述存储空间。
本公开实施例提供一种硬件层的调用装置,包括:文件生成模块,用于响应于应用层的服务文件启动操作,生成虚拟服务文件;标识符生成模块,用于生成文件唯一标识符,将所述文件唯一标识符与所述虚拟服务文件关联;标识符返回模块,用于向所述应用层返回所述文件唯一标识符;指令获取模块,用于获取硬件层调用指令,所述硬件层调用指令是所述应用层根据所述文件唯一标识符写入所述虚拟服务文件中的;硬件层调用模块,用于根据所述调用指令,调用所述硬件层。
在示例性实施例中,硬件层的调用装置还可以包括:空间请求模块,用于向所述硬件层请求存储空间,使所述虚拟服务文件映射至所述存储空间;指令写入模块,用于将所述硬件层调用指令写入所述存储空间。
在示例性实施例中,硬件层调用模块用于从所述存储空间内读取所述硬件层调用指令;解析所述硬件层调用指令,根据解析结果调用所述硬件层。
在示例性实施例中,硬件层调用模块用于监听所述虚拟服务文件;当所述虚拟服务文件发生触发变更事件时,对所述虚拟服务文件进行读操作以读取所述调用指令。
在示例性实施例中,硬件层的调用装置还可以包括:结果获取模块,用于获取所述硬件层完成调用后所返回的指令执行结果;结果写入模块,用于将所述指令执行结果写入所述存储空间。
在示例性实施例中,硬件层的调用装置还可以包括:服务触发模块,用于触发文件服务;服务关闭模块,用于响应于所述应用层的服务文件关闭操作,根据所述文件唯一标识符,关闭所述文件服务;映射解除模块,用于解除所述虚拟服务文件与所述存储空间之间的映射。
在示例性实施例中,映射解除模块用于删除所述虚拟服务文件,释放所述存储空间。
本公开实施例提供一种电子设备,包括:至少一个处理器;存储终端设备,用于存储至少一个程序,当至少一个程序被至少一个处理器执行时,使得至少一个处理器实现上述任一种硬件层的调用方法。
本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述任一种硬件层的调用方法。
本公开实施例提供的硬件层的调用方法,通过内存映射文件方式动态地为各个应用生成虚拟服务文件,应用调用硬件、打开服务文件时,系统为其动态生成对应的VFS文件并提供唯一的文件标识符,应用通过该文件唯一标识符实现操作指令写入和操作结果的读取,不再需要进行文件读写锁定,能够允许多个应用、多个进程同时并行地调用同一硬件层资源,无需排队等待,适用于诸如人工智能算法等应用对硬件资源并行调用需求强烈的业务场景,可提升人工智能的计算效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施例的硬件层的调用方法的示例性系统架构的示意图。
图2是根据一示例性实施方式示出的一种硬件层的调用方法的流程图。
图3是根据一示例性实施方式示出的另一种硬件层的调用方法的流程图。
图4是根据一示例性实施方式示出的另一种硬件层的调用方法的流程图。
图5是根据一示例性实施方式示出的另一种硬件层的调用方法的流程图。
图6是根据一示例性实施方式示出的另一种硬件层的调用方法的流程图。
图7是根据一示例性实施方式示出的再一种硬件层的调用方法的示意图。
图8是根据一示例性实施方式示出的一种硬件层的调用装置的框图。
图9是根据一示例性实施方式示出的一种电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器终端设备和/或微控制器终端设备中实现这些功能实体。
此外,在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
人工智能(Artificial Intelligence,AI)手机、摄像头等AI终端设备算力的提升使多AI任务并行执行成为可能。并行计算在保证云终端业务画面清晰、时延低的基础上,能够降低卡顿的概率,提升云终端用户体验。
文件即服务是一种基于文件读写实现终端硬件调用的技术,支持应用进程与硬件调用相互隔离,但相关技术中的文件即服务技术存在问题:因AI终端设备允许多任务并行计算,而相关技术中的文件即服务技术无法支持多进程同时访问(调用终端硬件需要向文件写入操作指令和从文件读取操作结果,单个进程采用文件锁方式使得文件不被其它进程同时读写、硬件无法被多应用进程并行调用),因此无法完全利用AI芯片的算力,在浪费大量算力的同时还限制了AI终端设备的应用场景和效果。
为了解决上述技术问题,本公开实施例提供的硬件层调用方法提出了一种改进的文件即服务技术,下面,将结合附图及实施例对本公开示例实施例中的硬件层的调用方法的各个步骤进行更详细的说明。
图1示出了可以应用本公开实施例的硬件层调用方法的组织架构的示意图。
如图1所示,该组织架构可以包括多个应用进程(例如APP1、APP2和APP3)、标准C库(Libc)、VFS(Virtual File System,虚拟文件系统)、FaaS(Function as a Service,功能即服务)系统模块、多进程并行管理模块、内存映射文件模块和硬件驱动模块。
本公开实施例提供的文件即服务系统可支持多应用进程(例如APP1、APP2和APP3)同步进行硬件调用;文件即服务系统通过提供服务文件方式,应用进程通过标准C库对文件的打开(open)、读写(write/read)、poll操作实现硬件调用。
本公开实施例中,采用VFS系统构建服务文件,向应用提供硬件调用接口;FaaS系统模块可以监听VFS的服务文件,针对服务文件的硬件操作指令进行的读和写操作,调用多进程并行管理模块与内存映射文件模块创建内存映射的服务文件,返回唯一文件标识符。
本公开实施例中,内存映射文件模块可以针对文件打开(open)请求创建内存空间映射的VFS服务文件(例如针对AI服务文件申请多个内存空间分别映射AI服务文件1、AI服务文件2和AI服务文件3),用于接收和返回硬件调用信息。
本公开实施例中,多进程并行管理模块可以根据FaaS模块的文件标识符和硬件调用指令,管理不同应用对硬件的同步或异步调用。
本公开实施例中,硬件驱动模块可以实现终端硬件调用功能。
图2是根据一示例性实施方式示出的一种硬件层的调用方法的流程图。本公开实施例提供的方法可以由任意电子设备执行,例如可以由介于硬件层与应用层之间的中间层执行,例如可以由图1中的FaaS系统模块、VFS、多进程并行管理模块和内存映射文件模块联合执行,但本公开并不限定于此。
如图2所示,本公开实施例提供的硬件层的调用方法可以包括以下步骤。
在步骤S202中,响应于应用层的服务文件启动操作,生成虚拟服务文件。
本公开实施例中,应用层的一个或多个应用程序(Application,APP)启动后,将通过标准C库(Libc)打开相应的服务文件。中间层响应于应用层的服务文件启动操作,对应生成一个或多个虚拟服务文件(例如VFS文件),向应用层提供硬件层调用接口。
在步骤S204中,生成文件唯一标识符,将文件唯一标识符与虚拟服务文件关联。
本公开实施例中,中间层可以生成一个或多个文件唯一标识符(identifier,ID),并将各个文件的文件唯一标识符与对应的虚拟服务文件进行绑定关联。
在步骤S206中,向应用层返回文件唯一标识符。
本公开实施例中,中间层在生成文件唯一标识符,并将文件唯一标识符与虚拟文件服务关联之后,可以向应用层中的各个应用程序返回与之相对应的文件唯一标识符。
在步骤S208中,获取硬件层调用指令,该硬件层调用指令是应用层根据文件唯一标识符写入所述虚拟服务文件中的。
本公开实施例中,应用层中的各个应用程序接收对应的文件唯一标识符后,可以根据文件唯一标识符向对应的VFS文件中写入针对硬件层的调用指令;中间层可以获取该硬件层调用指令。
在步骤S210中,根据硬件层调用指令,调用硬件层。
本公开实施例中,中间层可以根据硬件层调用指令,串行或并行地调用硬件层。
本公开实施例中,由于没有经过对文件读写的锁定,中间层可以根据获取的一个或多个硬件层调用指令,串行或并行调用硬件层。
本公开实施例提供的硬件层的调用方法,通过内存映射文件方式动态地为各个应用生成虚拟服务文件,应用调用硬件、打开服务文件时,系统为其动态生成对应的VFS文件并提供唯一的文件标识符,应用通过该文件唯一标识符实现操作指令写入和操作结果的读取,不再需要进行文件读写锁定,能够允许多个应用、多个进程同时并行地调用同一硬件层资源,无需排队等待,适用于诸如人工智能算法等应用对硬件资源并行调用需求强烈的业务场景,可提升人工智能的计算效率。
图3是根据一示例性实施方式示出的另一种硬件层的调用方法的流程图。
参考图3,在上述实施例的步骤S202之前,本公开实施例提供的硬件层的调用方法还可以包括步骤S302。
步骤S302,触发文件服务。
结合图1,本公开实施例中,APP通过标准C库打开服务文件时,中间层可先行触发文件服务,然后生成虚拟服务。
参考图3,在上述实施例的步骤S206之前,本公开实施例提供的硬件层的调用方法还可以包括步骤S304。
步骤S304,向硬件层请求存储空间,使虚拟服务文件映射至存储空间。
本公开实施例中,中间层在生成各个虚拟服务文件及各个虚拟服务文件的文件唯一标识符之后,可以向硬件层请求若干段物理存储空间,以使各个虚拟服务文件分别映射至对应的物理存储空间,并向各个APP返回与之相对应的文件唯一标识符。
根据本公开实施例提供的硬件层调用方法,多个应用进程可打开同一实体文件,采用内存映射虚拟文件的方式,使多个应用进程在硬件层内实际读写的存储空间互不相同,即对硬件层实现并行调用,能够减少应用进程调用硬件层过程中的数据内存复制,提升整体调用效率。
图4是根据一示例性实施方式示出的另一种硬件层的调用方法的流程图。
参考图4,在上述实施例的步骤S206之后,本公开实施例提供的硬件层的调用方法还可以包括步骤S402。
步骤S402,将硬件层调用指令写入存储空间。
本公开实施例中,中间层在生成各个虚拟服务文件及各个虚拟服务文件的文件唯一标识符之后,向硬件层请求若干段物理存储空间,将各个虚拟服务文件分别映射至对应的物理存储空间,并向各个APP返回了对应的文件唯一标识符。
各个APP基于对应的文件唯一标识符向对应的虚拟服务文件中写入硬件层调用指令,各硬件层调用指令被中间层获取后,由中间层将其对应写入各虚拟服务文件映射的物理存储空间中。
参考图4,上述实施例的步骤S210还可进一步包括如下步骤。
步骤S404,从存储空间内读取调用指令。
本公开实施例中,中间层除了向物理存储空间内执行写操作外,还可对物理存储空间执行读操作,从物理存储空间内读取上述已写入的硬件层调用指令。
在示例性实施例中,从所述存储空间内读取所述硬件层调用指令,包括:监听虚拟服务文件;当虚拟服务文件发生触发变更事件时,对虚拟服务文件进行读操作以读取调用指令。
本公开实施例中,中间层触发了文件服务用于新建VFS文件,此后中间层可实时监听VFS文件,若被中间层监听到VFS文件中的触发数据变更也即发生触发变更事件,表明对应的APP已向该VFS文件中写入硬件层调用指令,此时中间层可对该VFS文件映射的物理存储空间进行针对硬件层调用指令的读操作。
步骤S406,解析硬件层调用指令,根据解析结果调用硬件层。
本公开实施例中,中间层可对硬件层调用指令进行解析,并根据解析结果调用底层硬件驱动执行相应的操作。
图5是根据一示例性实施方式示出的另一种硬件层的调用方法的流程图。
参考图5,在上述实施例的基础上,本公开实施例提供给的硬件层调用方法还可以包括如下步骤。
步骤S502,获取硬件层完成调用后所返回的指令执行结果。
本公开实施例中,在中间层通过上述步骤完成硬件层资源调用之后,硬件层执行相应的操作并向中间层返回关于硬件层调用指令的执行结果,中间层可以获取各个指令执行结果。
步骤S504,将指令执行结果写入存储空间。
本公开实施例中,中间层获取各个指令执行结果之后,可以将其对应写入各VFS文件映射的物理存储空间中,此后再经由中间层将其对应写入各VFS文件中。
图6是根据一示例性实施方式示出的另一种硬件层的调用方法的流程图。
参考图6,在图5实施例的基础上,本公开实施例提供给的硬件层调用方法还可以包括如下步骤。
步骤S602,响应于应用层的服务文件关闭操作,根据文件唯一标识符,关闭文件服务。
本公开实施例中,在中间层完成硬件层调用并获取硬件层返回的指令执行结果之后,将其先写入对应的物理存储空间,再写入对应的VFS文件,然后被应用层中对应的APP通过读取VFS文件而获得。
具体地,应用层也可实时监听VFS文件,若被应用层监听到VFS文件中的触发数据变更,表明中间层已向该VFS文件中写入指令执行结果,此时对应的APP可对该VFS文件进行针对指令执行结果的读操作。
各APP获得指令执行结果后,将关闭对应的VFS文件。中间层响应于应用层的该关闭操作,根据与所关闭VFS文件对应的文件ID,关闭在上述步骤S302中所触发的文件服务。
步骤S604,解除虚拟服务文件与存储空间之间的映射。
本公开实施例中,硬件层调用结束后,APP关闭了对应的VFS文件,其上的内存映射已归于无用,中间层即可实时解除该VFS文件与其物理存储空间之间的映射。
在示例性实施例中,解除所述虚拟服务文件与所述存储空间之间的映射,包括:删除所述虚拟服务文件,释放所述存储空间。
在一些实施例中,中间层可通过删除VFS文件并释放对应存储空间的方式,解除二者之间的映射关系。
图7是根据一示例性实施方式示出的再一种硬件层的调用方法的示意图。
下面再次结合图7,完整描述本公开上述各实施例提供的硬件层调用方法涉及的应用进程调用硬件资源全流程。
如图7所示,本公开所改进的文件即服务系统(即前述中间层)可以包含VFS系统702、FaaS(功能即服务)系统703、多进程并行管理模块704、内存映射文件模块705四层,介于应用层与硬件层之间、自上而下分布。
本公开实施例中,应用进程调用硬件资源全流程可以包括文件初始化、硬件调用和文件关闭三部分。
首先对文件初始化进行说明。
本公开实施例中,应用701调用Libc的库函数Fopen打开服务文件(“/lib/VFS/文件名”),VFS系统702判断是否是服务文件,若是服务文件,则触发FaaS系统703,调用多进程并行管理模块704新建VFS文件。然后,内存映射文件模块705根据规则申请一段内存空间,例如0XC00000000~0XC00001000,并将该空间映射到VFS服务文件。多进程并行管理模块704创建唯一文件标识符(例如0X1C),并绑定VFS服务文件。FaaS系统703向应用701返回文件标识符。
下面对硬件调用进行说明。
本公开实施例中,应用701获取文件标识符,并根据文件标识符,通过write函数将硬件调用指令写入VFS服务文件,例如write(0X1C,调用指令代码)。FaaS系统703监听VFS服务文件,当触发数据变更后,读取VFS服务文件的内容。FaaS系统703将硬件层调用指令解析,并调用底层硬件驱动执行相应的操作。硬件层调用结束后,FaaS系统703写入调用结果,内存映射文件模块705调用write(0X1C,指令执行结果代码)将指令执行结果写入内存空间0XC00000000~0XC00001000。VFS系统702将指令执行结果写入VFS服务文件。
下面对文件关闭进行说明。
本公开实施例中,应用701监听VFS服务文件,当触发数据变更后,读取VFS文件的内容,获取调用结果;应用701通过调用Libc的库函数Fclose关闭VFS文件,例如close(0X1C);FaaS系统703根据文件标识符,关闭FaaS服务;VFS系统702删除对应的VFS文件,内存映射文件模块705释放映射的内存空间0XC00000000~0XC00001000。
还应理解,上述只是为了帮助本领域技术人员更好地理解本公开实施例,而非要限制本公开实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化,例如,上述方法中某些步骤可以是不必须的,或者可以新加入某些步骤等。或者上述任意两种或者任意多种实施例的组合。这样的修改、变化或者组合后的方案也落入本公开实施例的范围内。
还应理解,上文对本公开实施例的描述着重于强调各个实施例之间的不同之处,未提到的相同或相似之处可以互相参考,为了简洁,这里不再赘述。
还应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
还应理解,在本公开的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
上文详细介绍了本公开提供的硬件层的调用方法示例。可以理解的是,计算机设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图8是根据一示例性实施方式示出的一种硬件层的调用装置的框图。
如图8所示,硬件层的调用装置800可以包括:文件生成模块802、标识符生成模块804、标识符返回模块806、指令获取模块808和硬件层调用模块810。
其中,文件生成模块802用于响应于应用层的服务文件启动操作,生成虚拟服务文件;标识符生成模块804用于生成文件唯一标识符,将所述文件唯一标识符与所述虚拟服务文件关联;标识符返回模块806用于向所述应用层返回所述文件唯一标识符;指令获取模块808用于获取硬件层调用指令,所述硬件层调用指令是所述应用层根据所述文件唯一标识符写入所述虚拟服务文件中的;硬件层调用模块810用于根据所述调用指令,调用所述硬件层。
在示例性实施例中,硬件层的调用装置800还可以包括:空间请求模块,用于向所述硬件层请求存储空间,使所述虚拟服务文件映射至所述存储空间;指令写入模块,用于将所述硬件层调用指令写入所述存储空间。
在示例性实施例中,硬件层调用模块810用于从所述存储空间内读取所述硬件层调用指令;解析所述硬件层调用指令,根据解析结果调用所述硬件层。
在示例性实施例中,硬件层调用模块810用于监听所述虚拟服务文件;当所述虚拟服务文件发生触发变更事件时,对所述虚拟服务文件进行读操作以读取所述调用指令。
在示例性实施例中,硬件层的调用装置800还可以包括:结果获取模块,用于获取所述硬件层完成调用后所返回的指令执行结果;结果写入模块,用于将所述指令执行结果写入所述存储空间。
在示例性实施例中,硬件层的调用装置800还可以包括:服务触发模块,用于触发文件服务;服务关闭模块,用于响应于所述应用层的服务文件关闭操作,根据所述文件唯一标识符,关闭所述文件服务;映射解除模块,用于解除所述虚拟服务文件与所述存储空间之间的映射。
在示例性实施例中,映射解除模块用于删除所述虚拟服务文件,释放所述存储空间。
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器终端设备和/或微控制器终端设备中实现这些功能实体。
图9是根据一示例性实施方式示出的一种电子设备的结构示意图。需要说明的是,图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有电子设备900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本公开的系统中限定的上述功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、终端设备或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、终端设备或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、终端设备或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图2所示的各个步骤。
根据本公开的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例的各种可选实现方式中提供的方法。
需要理解的是,在本公开附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种硬件层的调用方法,其特征在于,包括:
响应于应用层的服务文件启动操作,生成虚拟服务文件;
生成文件唯一标识符,将所述文件唯一标识符与所述虚拟服务文件关联;
向所述应用层返回所述文件唯一标识符;
获取硬件层调用指令,所述硬件层调用指令是所述应用层根据所述文件唯一标识符写入所述虚拟服务文件中的;
根据所述硬件层调用指令,调用所述硬件层。
2.根据权利要求1所述的方法,其特征在于,在生成虚拟服务文件之前,所述方法还包括:触发文件服务;
在向所述应用层返回所述文件唯一标识符之前,所述方法还包括:
向所述硬件层请求存储空间,使所述虚拟服务文件映射至所述存储空间。
3.根据权利要求2所述的方法,其特征在于,在获取硬件层调用指令之后,所述方法还包括:
将所述硬件层调用指令写入所述存储空间;
其中,根据所述硬件层调用指令,调用所述硬件层,包括:
从所述存储空间内读取所述硬件层调用指令;
解析所述硬件层调用指令,根据解析结果调用所述硬件层。
4.根据权利要求3所述的方法,其特征在于,从所述存储空间内读取所述硬件层调用指令,包括:
监听所述虚拟服务文件;
当所述虚拟服务文件发生触发变更事件时,对所述虚拟服务文件进行读操作以读取所述硬件层调用指令。
5.根据权利要求2-4中任一项所述的方法,其特征在于,还包括:
获取所述硬件层完成调用后所返回的指令执行结果;
将所述指令执行结果写入所述存储空间。
6.根据权利要求5所述的方法,其特征在于,还包括:
响应于所述应用层的服务文件关闭操作,根据所述文件唯一标识符,关闭所述文件服务;
解除所述虚拟服务文件与所述存储空间之间的映射。
7.根据权利要求6所述的方法,其特征在于,解除所述虚拟服务文件与所述存储空间之间的映射,包括:
删除所述虚拟服务文件,释放所述存储空间。
8.一种硬件层的调用装置,其特征在于,包括:
文件生成模块,用于响应于应用层的服务文件启动操作,生成虚拟服务文件;
标识符生成模块,用于生成文件唯一标识符,将所述文件唯一标识符与所述虚拟服务文件关联;
标识符返回模块,用于向所述应用层返回所述文件唯一标识符;
指令获取模块,用于获取硬件层调用指令,所述硬件层调用指令是所述应用层根据所述文件唯一标识符写入所述虚拟服务文件中的;
硬件层调用模块,用于根据所述调用指令,调用所述硬件层。
9.一种电子设备,其特征在于,包括:
至少一个处理器;
存储装置,用于存储至少一个程序,当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210633496.0A CN114968497B (zh) | 2022-06-06 | 2022-06-06 | 硬件层的调用方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210633496.0A CN114968497B (zh) | 2022-06-06 | 2022-06-06 | 硬件层的调用方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114968497A true CN114968497A (zh) | 2022-08-30 |
CN114968497B CN114968497B (zh) | 2023-11-14 |
Family
ID=82960566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210633496.0A Active CN114968497B (zh) | 2022-06-06 | 2022-06-06 | 硬件层的调用方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968497B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050044301A1 (en) * | 2003-08-20 | 2005-02-24 | Vasilevsky Alexander David | Method and apparatus for providing virtual computing services |
US20100205370A1 (en) * | 2009-02-10 | 2010-08-12 | Hitachi, Ltd. | File server, file management system and file management method |
CN102722500A (zh) * | 2011-03-31 | 2012-10-10 | 中国电信股份有限公司 | 一种虚拟文件系统及其实现方法 |
US8429649B1 (en) * | 2008-09-25 | 2013-04-23 | Quest Software, Inc. | Systems and methods for data management in a virtual computing environment |
CN104572289A (zh) * | 2013-10-10 | 2015-04-29 | 中国电信股份有限公司 | 基于虚拟化的服务器配置测算处理方法与装置 |
WO2015127327A1 (en) * | 2014-02-23 | 2015-08-27 | Rambus Inc. | Distributed procedure execution and file systems on a memory interface |
US9165003B1 (en) * | 2004-11-29 | 2015-10-20 | Netapp, Inc. | Technique for permitting multiple virtual file systems having the same identifier to be served by a single storage system |
US20150317274A1 (en) * | 2014-05-05 | 2015-11-05 | International Business Machines Corporation | Implementing coherent accelerator function isolation for virtualization |
US9703582B1 (en) * | 2012-09-07 | 2017-07-11 | Tellabs Operations, Inc. | Share access of allocated storage space via in-memory file system between virtual machines |
CN112181583A (zh) * | 2019-07-05 | 2021-01-05 | 中国电信股份有限公司 | 虚拟化管理系统、方法和计算机可读存储介质 |
CN113037795A (zh) * | 2019-12-25 | 2021-06-25 | 中国电信股份有限公司 | 瘦终端系统及其处理方法 |
CN113886048A (zh) * | 2021-10-09 | 2022-01-04 | 中科航宇(广州)科技有限公司 | 一种任务处理方法、装置、电子设备、卫星及存储介质 |
CN114398172A (zh) * | 2021-12-15 | 2022-04-26 | 元心信息科技集团有限公司 | 资源配置方法、装置、电子设备及计算机可读存储介质 |
JP2023053847A (ja) * | 2021-10-02 | 2023-04-13 | 広海 大谷 | インターネットを用いたサービスのビジネスモデル特許による提供とセキュリティの実現特許 |
-
2022
- 2022-06-06 CN CN202210633496.0A patent/CN114968497B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050044301A1 (en) * | 2003-08-20 | 2005-02-24 | Vasilevsky Alexander David | Method and apparatus for providing virtual computing services |
US9165003B1 (en) * | 2004-11-29 | 2015-10-20 | Netapp, Inc. | Technique for permitting multiple virtual file systems having the same identifier to be served by a single storage system |
US8429649B1 (en) * | 2008-09-25 | 2013-04-23 | Quest Software, Inc. | Systems and methods for data management in a virtual computing environment |
US20100205370A1 (en) * | 2009-02-10 | 2010-08-12 | Hitachi, Ltd. | File server, file management system and file management method |
CN102722500A (zh) * | 2011-03-31 | 2012-10-10 | 中国电信股份有限公司 | 一种虚拟文件系统及其实现方法 |
US9703582B1 (en) * | 2012-09-07 | 2017-07-11 | Tellabs Operations, Inc. | Share access of allocated storage space via in-memory file system between virtual machines |
CN104572289A (zh) * | 2013-10-10 | 2015-04-29 | 中国电信股份有限公司 | 基于虚拟化的服务器配置测算处理方法与装置 |
WO2015127327A1 (en) * | 2014-02-23 | 2015-08-27 | Rambus Inc. | Distributed procedure execution and file systems on a memory interface |
US20150317274A1 (en) * | 2014-05-05 | 2015-11-05 | International Business Machines Corporation | Implementing coherent accelerator function isolation for virtualization |
CN112181583A (zh) * | 2019-07-05 | 2021-01-05 | 中国电信股份有限公司 | 虚拟化管理系统、方法和计算机可读存储介质 |
CN113037795A (zh) * | 2019-12-25 | 2021-06-25 | 中国电信股份有限公司 | 瘦终端系统及其处理方法 |
JP2023053847A (ja) * | 2021-10-02 | 2023-04-13 | 広海 大谷 | インターネットを用いたサービスのビジネスモデル特許による提供とセキュリティの実現特許 |
CN113886048A (zh) * | 2021-10-09 | 2022-01-04 | 中科航宇(广州)科技有限公司 | 一种任务处理方法、装置、电子设备、卫星及存储介质 |
CN114398172A (zh) * | 2021-12-15 | 2022-04-26 | 元心信息科技集团有限公司 | 资源配置方法、装置、电子设备及计算机可读存储介质 |
Non-Patent Citations (3)
Title |
---|
JIN-BANG HSU等: "Using independent resource allocation strategies to solve conflicts of Hadoop distributed architecture in virtualization", 《CLUSTER COMPUTING》, vol. 24, pages 1583, XP037537965, DOI: 10.1007/s10586-020-03206-y * |
杨晓礼: "容器文件系统扩展性评估与优化", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 5, pages 137 - 38 * |
沙行勉等: "面向同驻虚拟机的高效共享内存文件系统", 《计算机学报》, vol. 42, no. 4, pages 800 - 819 * |
Also Published As
Publication number | Publication date |
---|---|
CN114968497B (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10614117B2 (en) | Sharing container images between mulitple hosts through container orchestration | |
CN109491801B (zh) | 微服务访问调度方法、装置、介质及电子设备 | |
CN110377369B (zh) | 一种运行小程序的方法、设备和计算机存储介质 | |
CN108322325A (zh) | 一种虚拟机管理方法及装置 | |
WO2023174013A1 (zh) | 显存分配方法、装置、介质及电子设备 | |
CN115048642B (zh) | 多可信执行环境下可信应用间的通信方法及电子设备 | |
CN112764802A (zh) | 一种业务逻辑定制方法、装置、电子设备和存储介质 | |
CN112835632B (zh) | 一种端能力的调用方法、设备和计算机存储介质 | |
CN114840310B (zh) | 容器创建方法、装置、电子设备和计算机可读存储介质 | |
CN114041119A (zh) | 跨越信任边界的存储器解除分配 | |
CN114820272A (zh) | 数据交互的方法、装置、存储介质及电子设备 | |
US20160092206A1 (en) | Managing executable files | |
WO2023143545A1 (zh) | 资源处理方法、装置、电子设备及计算机可读存储介质 | |
CN113760318A (zh) | 信息处理方法、装置、服务器及存储介质 | |
CN114968497B (zh) | 硬件层的调用方法、装置、设备及存储介质 | |
CN113391860A (zh) | 服务请求处理方法、装置、电子设备及计算机存储介质 | |
CN110245027B (zh) | 一种进程间通信的方法和设备 | |
CN113835748B (zh) | 基于html5的应用程序的打包方法、系统和可读介质 | |
US9058225B2 (en) | Secure and reliable mechanism to provide a single object instance in a clustered system | |
CN115629809A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
US12026062B2 (en) | Provider-agnostic management of backup data stored on a cloud-based object storage | |
CN114327404A (zh) | 一种文件处理方法、装置、电子设备及计算机可读介质 | |
CN113760524A (zh) | 任务执行方法和装置 | |
CN113760465A (zh) | 一种事务执行方法、装置、服务器、设备和存储介质 | |
WO2023193682A1 (en) | Local arrangement of remote deployment |
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 |