一种消息传递方法、装置以及相关设备与流程

文档序号:30600255发布日期:2022-07-01 21:30阅读:91来源:国知局
一种消息传递方法、装置以及相关设备与流程

1.本技术涉及计算机技术领域,尤其涉及一种消息传递方法、装置以及相关设备。


背景技术:

2.随着计算机网络技术的日益普及,计算机应用程序都离不开大量的数据输入输出(input/output,io)io操作,数据io是影响计算机应用程序性能的一个重要指标,但计算机应用从应用场景到算法设计上都各不相同,在这种情况下很难找出应用程序io性能问题的根本原因。目前,可以通过io建模的方式将不同类型上层应用的io操作特征建模为几种类型的io模型,根据io模型可以生成io模型信息,并将io模型信息反馈给存储层作为性能优化的参考依据。但是在应用感知的存储优化方案中,上层业务层与存储层没有固定的交流渠道,这种io模型信息想要传递到存储层均需要在业务层与存储层两端开发全新接口作为解决方案,这样额外的工作量增加了系统花销,用户体验差。


技术实现要素:

3.本技术提供了一种消息传递方法、装置与相关设备,能够提高消息传递效率,减少系统开销。
4.第一方面,本技术实施例提供了一种消息传递方法,应用于包括业务层和存储层的系统,所述方法应用于所述业务层,该方法包括:获取应用对目标文件的输入输出io操作,根据所述io操作确定所述目标文件对应的io模型;
5.基于所述io模型生成所述目标文件对应的io模型信息,将所述io模型信息存入所述目标文件的扩展属性中,所述io模型信息包括所述目标文件的文件名、所述目标文件的存储位置、所述io模型的名称、偏移量。
6.本技术实施例通过直接利用操作系统自带的命令行指令将目标文件的io模型信息存入目标文件的扩展属性,无需第三方存储工具存储io模型信息,当存储层获取io模型信息时,无需额外开发应用程序接口发送和接收io模型信息。减少了系统的花销,极大降低额外开发引入的不确定因素影响。
7.在一种可能的实现方式中,所述将所述io建模信息存入所述目标文件的扩展属性中,包括:将所述io模型信息以键值对的形式存入所述目标文件的扩展属性。本技术将io模型信息以键值对的形式存入目标文件的扩展属性,方便存储层获取io模型信息。
8.在一种可能的实现方式中,所述根据所述io操作确定所述目标文件对应的io模型,包括:获取多个类型的io模型;根据所述io操作与所述多个类型的io模型匹配,确定所述目标文件对应的io模型。
9.第二方面,本技术实施例提供了一种消息传递方法,用于包括业务层和存储层的系统,所述方法应用于所述存储层,所述方法包括:检测到应用对目标文件的io操作时,获取所述目标文件的扩展属性;
10.在检测到所述目标文件的扩展属性中存在io模型信息时,获取所述io模型信息,
并将所述io模型信息发送至io优化系统。
11.本技术存储层可以通过指令直接获取目标文件的io模型信息,做出对应的优化。无需额外的第三方工具进行触发,以及额外开发应用程序接口接收io模型信息。极大地减少了系统的开销,提高消息传递效率,优化了用户体验。
12.在一种可能的实现方式中,所述获取所述io模型信息,并将所述io模型信息发送至io优化系统,包括:解析所述io模型信息,得到所述目标文件对应的io模型;在io优化系统中存在所述目标文件对应io模型的优化方案时,将所述io模型发送至io优化系统。
13.第三方面,本技术实施例提供一种消息传递系统,包括业务层和存储层,其中,
14.所述业务层,用于获取应用对目标文件的输入输出io操作,根据所述io操作确定所述目标文件对应的io模型;基于所述io模型生成所述目标文件对应的io模型信息,将所述io模型信息存入所述目标文件的扩展属性中,所述io模型信息包括所述目标文件的存储位置、所述io模型的名称、偏移量。
15.所述存储层,用于检测到应用对目标文件的io操作时,获取所述目标文件的扩展属性;在所述目标文件的扩展属性中存在io模型信息时,获取所述io模型信息,并将所述io模型信息发送至io优化系统。
16.本技术实施例通过利用文件系统的扩展属性的方式提供消息的传递和优化行为的触发,在业务层直接利用操作系统自带的命令行指令将目标文件的io模型信息存入目标文件的扩展属性,在存储层可以通过指令直接获取目标文件的io模型信息,做出对应的优化。无需进行多余的接口开发以及无需多余的第三方存储工具触发优化,极大地减少了系统的开销,提高消息传递效率,优化了用户体验。
17.在一种可能的实现方式中,所述业务层,用于将所述io模型信息以键值对的形式存入所述文件的扩展属性。
18.在一种可能的实现方式中,所述业务层,用于获取多个类型的io模型;根据所述io操作与所述多个类型的io模型匹配,确定所述目标文件对应的io模型。
19.在一种可能的实现方式中,所述存储层,用于解析所述io模型信息,得到所述目标文件对应的io模型;在io优化系统中存在所述目标文件对应io模型的优化方案时,将所述io模型发送至io优化系统。
20.第四方面,本技术实施例提供了一种消息传递装置,包括:
21.第一获取模块,用于获取应用对目标文件的输入输出io操作,根据所述io操作确定所述目标文件对应的io模型;
22.第一处理模块,用于基于所述io模型生成所述目标文件对应的io模型信息,将所述io模型信息存入所述目标文件的扩展属性中,所述io模型信息包括所述目标文件的文件名、所述目标文件的存储位置、所述io模型的名称、偏移量。
23.在一种可能的实现方式中,所述第一处理模块具体用于将所述io模型信息以键值对的形式存入所述文件的扩展属性。
24.在一种可能的实现方式中,所述获取模块还用于获取多个类型的io模型;
25.所述第一处理模块,还用于根据所述io操作与所述多个类型的io模型匹配,确定所述目标文件对应的io模型。
26.第五方面,本技术实施例提供了一种消息传递装置,包括:第二获取模块,用于检
测到
27.应用对目标文件的io操作,获取所述目标文件的扩展性;
28.第二处理模块,用于若检测到所述扩展属性中存在io模型信息,获取所述io模型信息,并将所述io模型信息发送至io优化系统。
29.在一种可能的实现方式中,所述第二处理模块,具体用于解析所述io模型信息,得到所述目标文件对应的io模型;在io优化系统中存在所述目标文件对应io模型的优化方案时,将所述io模型发送至io优化系统。
30.第六方面,本技术提供一种设备,包括处理器和存储器;所述处理器执行所述存储器中的代码执行如第一方面和第一方面任意一种可能的实现方式提供的方法。
31.第七方面,本技术提供一种设备,包括处理器和存储器;所述处理器执行所述存储器中的代码执行如第二方面和第二方面任意一种可能的实现方式提供的方法。
32.第八方面,本技术提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面或第一方面的任意一种可能的实现方式提供的方法,或者执行如第二方面或第二方面的任意一种可能的实现方式提供的方法。
附图说明
33.为了更清楚地说明本技术实施例或背景技术中的技术方案,下面将对本技术实施例或背景技术中所需要使用的附图进行说明。
34.图1是本技术实施例提供的一种应用的io操作规律示意图;
35.图2是一种消息传递方法流程的示意图;
36.图3是本技术实施例提供的一种消息传递方法流程示意图;
37.图4是本技术实施例提供的一种消息传递方法流程图;
38.图5是本技术实施例提供的一种扩展属性的操作示意图;
39.图6是本技术实施例提供的一种热点模型的消息传递方法流程的示意图;
40.图7是本技术实施例提供的一种存储层对io模型信息操作的流程图;
41.图8是本技术实施例提供的一种消息传递装置示意图;
42.图9是本技术实施例提供的另一种消息传递装置示意图;
43.图10是本技术实施例提供的一种计算设备示意图;
44.图11是本技术实施例提供的一种存储设备示意图。
具体实施方式
45.本技术的实施例部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
46.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整
体、步骤、操作、元素、组件和/或其集合的存在或添加。
48.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
49.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
50.首先,对本技术实施例中所涉及到的一些概念进行介绍。
51.文件系统(file system,fs)是一种存储和组织计算机数据的方法,它使得对其存取和查找变得容易,文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名。
52.扩展属性(extended attributes,ea)是文件系统的一个功能,允许用户将计算机文件与未被文件系统所解释的元数据关联起来。可以给文件、文件夹添加额外的键和值(key/value)的键值对,可以以键值对的形式将任意元数据与文件i节点关联起来。键和值都是字符串并且有一定长度地限制,是完全自定义的属性。
53.下面对本技术涉及的应用场景进行说明。
54.io建模是将不同类型的应用对文件的io操作通过建模的方式进行归类,得到多个类型的io模型。例如,假设业务层有多个应用程序在执行,这些不同类型的应用对文件的io操作有一定的io操作规律,将这些io操作规律可以通过建模的方式进行归类,可以得到多个类型的io模型。将应用对目标文件的io操作与多个类型的io模型匹配,可以确定目标文件对应的io模型,根据io模型可以生成目标文件对应的io模型信息,io模型信息用于区分目标文件对应的io模型,io模型信息包括目标文件的文件名、目标文件的存储位置、io模型的名称、偏移量中的一个或多个。将应用对目标文件io操作对应的io模型信息反馈给存储层作为io性能优化的参考依据。其中,io操作是应用对文件进行的读出和写入的操作,io模型的类型可以是顺序连续型、顺序非连续型、逆序连续型、逆序非连续型,还可以是自定义模型类型,本技术实施例对此不作任何限定。如图1所示,图1示出了一种应用的io操作规律,其横坐标表示io操作标记,io操作标记表示io操作的次数,纵坐标表示偏移量,可以理解的是偏移量随着io操作标记的增加等额增加,将该应用对文件的io操作与多个类型的io模型匹配,可以确定该io操作为顺序连续型的io模型。完成应用对io操作与多个类型的io模型匹配后,可以确定io操作对应的io模型,根据io模型可以生成io模型信息,io模型信息包括:
55.56.其中,t filename表示文件名,t job_id表示当前应用的工作名,t nodez_id表示当前服务器名,#pattern.begin表示io操作开始的偏移量,#pattern.end表示io操作结束的偏移量,#pattern.mode表示io操作的类型,r表示读类型的io操作,#pattern.name表示模型类型,#pattern.stride表示步长。
57.但是对于应用完成io操作与多个类型的io模型匹配,确定io操作对应的io模型,根据io模型可以生成io模型信息后,如何将io模型信息传入存储层是个难题,目前,操作系统要想将io模型信息传入存储层需要在操作系统与存储层两端开发全新接口作为解决方案,同时业务层需要提供一个第三方存储工具来保存io模型信息。如图2所示,操作系统与存储层的交互是通过额外开发一套用于发送接收信息的应用程序接口(application programming interface,api),部署在两侧,同时还需要考虑传递信息的触发手段。应用在完成io操作匹配算法完成后,业务层首先需要提供一个第三方存储工具来保存io模型信息,例如数据库、搜索引擎,当业务层收到第三方触发工具发送的消息传递信息时,开发的api接口从第三方存储工具中取出io模型信息,并发送至存储层。在存储层,首先需要部署适配的信息接收api接收io模型信息,然后将io模型信息发送至io优化系统中进行优化。该方法需要额外的第三方存储工具存储io模型信息,同时需要额外的第三方触发工具触发优化,额外开发全新的api接口,增加额外的系统花销,消息传递效率低。
58.为了解决上述问题,本技术实施例提供一种消息传递方法,应用于包括业务层和存储层的系统。其中,业务层与存储层可以位于同一个电子设备,也可以是不同的电子设备。当业务层与存储层位于同一个电子设备时,存储层为电子设备中的存储器,当业务层与存储层是不同设备时,存储层是一个存储设备,例如存储设备可以包括但不限于只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、移动硬盘、磁碟或者光盘等各种可以存储的介质,本技术对此不作任何限定。电子设备可以包括但不限于是服务器、手机、电脑、平板电脑、智能终端、pc设备、移动终端,本技术对此不作任何限制。如图3所示,业务层包括文件系统、应用层,存储层包括io优化系统。在业务层,操作系统将生成的目标文件io模型信息利用操作系统自带的命令行指令存入目标文件的扩展属性,在存储层,当检测到目标文件的io操作,获取目标文件的扩展属性,取出扩展属性中的io模型信息,并发送至io优化系统进行优化。该方法通过利用文件系统的扩展属性的方式提供消息的传递和优化行为的触发,供用户实现一种便捷的、完备的io信息存储,方便存储层获取相关的io信息,做出对应的优化行为。
59.下面对本技术的实施例进行详细介绍。
60.请参见图4,图4是本技术提供的一种消息传递方法。如图4所示,消息传递方法包括以下几个步骤:
61.s101、业务层获取应用对目标文件的输入输出io操作,根据io操作确定所述目标文件对应的io模型。
62.具体地,在获取应用对目标文件的输入输出io操作之前,需要获取多个类型的io模型其中,多个类型的io模型是通过将不同的应用对文件的io操作通过建模的方式进行归类得到的。io模型包括顺序连续型、顺序非连续型、逆序连续型、逆序非连续型,也可以是自定义类型。例如,假设业务层有多个应用程序在执行,这些不同类型的应用对文件的io操作有一定的io操作规律,将这些io操作规律可以通过建模的方式进行归类,可以得到多个类
型的io模型。其中,io操作是对数据的读出和写入的操作。
63.获取应用对目标文件的输入输出io操作,将应用对目标文件的io操作与多个类型的io模型匹配,确定目标文件对应的io模型。根据目标文件对应的io模型生成目标文件对应的io模型信息。其中,io模型信息用于区分目标文件对应的io模型,io模型信息包括目标文件的文件名、目标文件的存储位置、io模型的名称、偏移量中的一个或多个。
64.s102、业务层基于io模型生成目标文件对应的io模型信息,将io模型信息存入目标文件的扩展属性中。
65.具体地,业务层在基于io模型生成目标文件对应的io模型信息后,将io模型信息以键值对的形式存入目标文件的扩展属性中,其中,键值对包括键和键值,键值对中的键为io模型信息标识,键值对中的值为io模型信息内容。
66.上述文件的扩展属性是文件系统中具有的一项特殊功能,可以给文件、文件夹添加额外的键值对,可以以键值对的形式将任意元数据与文件i节点关联起来。主流的文件系统均可以实现对扩展属性的支持,操作系统自带的命令行工具已经提供的一套完整的增加、删除、修改、查找接口,因此可以利用操作系统自带的命令行指令对扩展属性进行合理的增加、删除、修改、查找等操作。如图5所示,图5示例性的示出了几种文件系统中扩展属性模块的操作,可以通过setfatter指令为文件设置一个扩展属性和值,-n name表示显示扩展属性的名,-v value表示扩展属性的值;通过getfatter指令获取扩展属性的属性名和值,lsfattr指令表示查询扩展属性。每个以文件都有一个自己的扩展属性模块,可以通过命令行直接完成信息的存储与接收操作。
67.示例性地,下面以目标文件的io操作为hotspot热点io为例进行说明,热点io是文件的某段区间产生了许多次重复的io操作。
68.如图6所示,应用对文件file1与文件file2完成io操作与多个类型的io模型匹配后,得到io操作对应的io模型,同时生成io模型信息如下:
69.filename:/root/myself/file1
70.pattern:hotspot
71.begin:0
72.end:1024
73.count:100
74.filename:/root/myself/file2
75.pattern:hotspot
76.begin:10
77.end:2333
78.count:1111
79.其中,filename表示文件名,例如file1,pattern表示文件对应的模型名称,例如,文件file1对应的模型名为hotspot,begin表示热点区间的开始偏移量,例如文件file1的热点区间开始偏移量为0,end表示热点区间的结束偏移量,例如文件file1的热点区间结束偏移量为1024,count表示热点区间的行为计数,例如文件file1的热点区间的行为计数为100。
80.业务层获取目标文件的io模型信息后,通过文件系统的setfattr指令,将io模型
信息以键值对的形式存入目标文件的扩展属性,具体如下所示:
81.setfattr

key pattern

v hotspot/root/myself/file1
82.setfattr

key begin

v 0/root/myself/file1
83.setfattr

key end

v 1024/root/myself/file1
84.setfattr

key count

v 100/root/myself/file1
85.setfattr

key pattern

v hotspot/root/myself/file2
86.setfattr

key begin

v 10/root/myself/file2
87.setfattr

key end

v 2333/root/myself/file2
88.setfattr

key count

v 1111/root/myself/file2
89.其中,key为键值对中的键,表示io模型信息标识,v为键值对中的值,表示io模型信息内容。/root/myself/file1表示文件file1的名称以及存储位置,setfattr

key pattern

v hotspot/root/myself/file1表示通过指令setfattr将pattern以及hotspot以键和值的形式存入扩展属性;同样的setfattr

key begin

v 0/root/myself/file1表示通过指令setfattr将begin以及0以键和值的形式存入扩展属性;setfattr

key end

v 1024/root/myself/file1表示通过指令setfattr将end以及1024以键和值的形式存入扩展属性;setfattr

key count

v 100/root/myself/file1表示通过指令setfattr将count以及100以键和值的形式存入扩展属性。可以理解的是,文件file2通过setfattr指令将io模型信息保存在文件file2的扩展属性与文件file1相同,在此不再赘述。
90.本技术实施例通过直接利用操作系统自带的命令行指令将目标文件的io模型信息存入目标文件的扩展属性,无需进行多余的接口开发以及无需多余的第三方存储工具,极大降低额外开发引入的不确定因素影响。
91.s103、存储层从目标文件的扩展属性中获取目标文件的io模型信息,并发送至io优化系统中进行优化。
92.上述步骤s102中,io模型信息存入目标文件的扩展属性,可以理解的是,通过文件系统的扩展属性已经将应用文件的io模型信息存入存储层。当存储层检测到目标文件的io操作时,存储层可以通过getfattr指令从目标文件的扩展属性中获取目标文件的io模型信息,并发送至io优化系统中进行优化。例如通过getfattr指令可以获取如下信息:
93.getfattr:
[0094]-key begin-v 0
[0095]-key end-v 1024
[0096]-key count-v 100
[0097]-key pattern-v hotspot
[0098]
其中,-key pattern-v hotspot表示获取模型名为hotspot,热点区间的开始偏移量为0,热点区间的结束偏移量为1024,热点区间的行为计数为100。
[0099]
可选地,接下来结合图7示例性的介绍本技术实施例中存储层获取io模型信息,并发送至io优化层中进行优化的具体步骤。
[0100]
s201、检测目标文件的io操作,获取目标文件的扩展属性。
[0101]
具体地,当检测目标文件的io操作,通过getfattr指令获取目标文件的扩展属性。
[0102]
s202、检查扩展属性中是否存在io模型信息,若是,则执行203,若否,则结束。
[0103]
具体地,获取目标文件的扩展属性后,检查扩展属性中是否存在io模型信息,若存在io模型信息,则获取io模型信息对应的键值对。
[0104]
s203、获取键值对。
[0105]
具体地,在检查到扩展属性中存在io模型信息,则获取io模型信息对应的键值对。通过键值获取io模型信息内容。
[0106]
示例性地,若文件file1的扩展属性的键值对为:{key pattern

v hotspot/root/myself/file1,key begin

v 0/root/myself/file1,key end

v 1024/root/myself/file1,key count

v 100/root/myself/file1},则可以得到文件名filename为/root/myself/file1,模型名称pattern为hotspot,开始偏移量begin为0,结束偏移量end为1024,行为计数count为100。
[0107]
s204、检测是否存在目标文件对应的io模型的优化方案,若是,则执行205,若否,则结束。
[0108]
具体地,检测优化系统中是否存在目标文件对应的io模型优化方案,若存在目标文件对应的io模型优化方案,则将目标文件对应的io模型发送至io优化系统进行优化,若不存在目标文件对应的io模型优化方案,则结束。
[0109]
示例性地,假设检测到目标文件对应的io模型为顺序连续型,但是优化系统中只有顺序非连续型、逆序连续型模型的优化方案,没有顺序连续型的优化方案,则结束;若优化器中存在顺序连续型的优化方案,则将io模型发送至优化系统中进行优化。
[0110]
s205、根据模型优化方案完成优化。
[0111]
具体地,目标文件对应的io模型发送至io优化系统后,根据io优化系统存在的目标文件对应io模型的优化方案对目标文件对应的io操作完成优化。
[0112]
综上所述,本技术实施例通过利用文件系统的扩展属性的方式提供消息的传递和优化行为的触发,在业务层直接利用操作系统自带的命令行指令将目标文件的io模型信息存入目标文件的扩展属性,在存储层可以通过指令直接获取目标文件的io模型信息,做出对应的优化。无需进行多余的接口开发以及无需多余的第三方存储工具,极大地减少了系统的开销,提高消息传递效率,优化了用户体验。
[0113]
需要说明的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
[0114]
本领域的技术人员根据以上描述的内容,能够想到的其他合理的步骤组合,也属于本发明的保护范围内。其次,本领域技术人员也应该熟悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
[0115]
上文中结合图1至图7详细描述了本技术实施例所提供的消息传递方法,下面将结合图8至图9,描述根据本技术实施例所提供的消息传递装置及计算设备。
[0116]
图8是本技术实施例提供的一种消息传递装置的示意图,该消息传递装置800包括第一获取模块801以及第一处理模块802,其中,
[0117]
第一获取模块801,用于获取应用对目标文件的输入输出io操作,根据io操作确定目标文件对应的io模型。
[0118]
第一处理模块802,用于基于io模型生成目标文件对应的io模型信息,将io模型信息存入目标文件的扩展属性中,io模型信息包括目标文件的文件名、目标文件的存储位置、io模型的名称、偏移量。
[0119]
在一种可能的实现方式中,上述第一处理模块802具体用于将所述io模型信息以键值对的形式存入文件的扩展属性。
[0120]
在一种可能的实现方式中,上述第一获取模块801还用于获取多个类型的io模型;上述第一处理模块802还用于根据io操作与多个类型的io模型匹配,确定目标文件对应的io模型。
[0121]
具体地,消息传递装置800实现将目标文件的io操作信息存入目标文件的扩展属性中的具体操作可参照上述方法实施例中业务层执行的操作。例如:第一处理模块802用于执行上述s101中业务层执行的操作,在此不再赘述。
[0122]
参见图9,图9是本技术实施例提供的另一种消息传递装置的示意图,该消息传递装置900包括第一第二获取模块901以及第二处理模块902,其中,
[0123]
第二获取模块901,用于检测到应用对目标文件的io操作,获取目标文件的扩展属性。
[0124]
第二处理模块902,用于若检测到扩展属性中存在io模型信息,获取io模型信息,并将io模型信息发送至io优化系统。
[0125]
在一种可能的实现方式中,第二处理模块902具体用于解析io模型信息,得到目标文件对应的io模型;在io优化系统中存在目标文件对应io模型的优化方案时,将io模型发送至io优化系统。
[0126]
具体地,消息传递装置900实现获取目标文件的io模型信息,并将io模型信息发送至io优化系统的具体操作可参照上述方法实施例中存储层执行的操作。例如:第二处理模块902用于执行上述s102中业务层执行的操作,在此不再赘述。
[0127]
应理解的是,本技术实施例的消息传递装置800和消息传递装置900可以通过专用集成电路(application-specific integrated circuit,asic)实现,或可编程逻辑器件(programmable logic device,pld)实现,上述pld可以是复杂程序逻辑器件(complex programmable logical device,cpld),现场可编程门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。也可以通过软件实现图1至图7中所示的消息传递方法时,消息传递装置800、消息传递装置900及其各个模块也可以为软件模块。
[0128]
图10是本技术实施例提供的一种计算设备的结构示意图,该计算设备1000包括:处理器1010、通信接口1020以及存储器1030,处理器1010、通信接口1020以及存储器1030通过总线1040相互连接,其中,该处理器1010用于执行该存储器1030存储的指令。该存储器1030存储程序代码,且处理器1010可以调用存储器1030中存储的程序代码执行以下操作:
[0129]
获取应用对目标文件的输入输出io操作,根据io操作确定目标文件对应的io模型;基于io模型生成目标文件对应的io模型信息,将io模型信息存入目标文件的扩展属性中,io模型信息包括所述目标文件的文件名、目标文件的存储位置、io模型的名称、偏移量。
[0130]
在本技术实施例中处理器1010可以有多种具体实现形式,例如处理器1010可以为cpu、gpu、tpu或npu等处理器中任意一种或多种的组合,处理器1010还可以是单核处理器或
多核处理器。处理器1010可以由cpu(gpu、tpu或npu)和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,asic)、可编程逻辑器件(programmable logic device,pld)或其组合。上述pld复杂程序逻辑器件(complex programmable logical device,cpld),现场可编程门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。处理器1010也可以单独采用内置处理逻辑的逻辑器件来实现,例如fpga或数字信号处理器(digital signal processor,dsp)等。
[0131]
通信接口1020可以为有线接口或无线接口,用于与其他模块或设备进行通信。有线接口可以是以太接口、控制器局域网络(controller area network,can)接口或局域互联网络(local interconnect network,lin)接口,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
[0132]
存储器1030可以是非易失性存储器,例如,只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。存储器1030也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。
[0133]
存储器1030也可用于存储指令和数据,以便于处理器1010调用存储器1030中存储的指令实现上述第一处理模块802执行的操作或述方法实施例中消息传递装置执行的操作。此外,计算设备1000可能包含相比于图10展示的更多或者更少的组件,或者有不同的组件配置方式。
[0134]
总线1040可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0135]
可选地,该计算设备1000还可以包括输入/输出接口1050,输入/输出接口1050连接有输入/输出设备,用于接收输入的信息,输出操作结果。
[0136]
应理解,本技术实施例的计算设备1000可对应于上述实施例中的消息传递装置800,在此不再赘述,当业务层与存储层位于同一设备时,本技术是实施例计算设备1000可对应于上述实施例中消息传递装置800和消息传递装置900。
[0137]
参见图11,图11是本技术实施例提供的一种存储设备的结构示意图,该存储设备1100包括:一个或者多个处理器1110、通信接口1120以及存储器1130。可选的,处理器1110、通信接口1120以及存储器1130通过总线1140相互连接,其中,
[0138]
处理器1110用于实现上述第二处理模块902执行的操作,处理器1110执行各种操作的具体实现可参照上述方法实施例中以存储服层为执行主体执行的具体操作。例如处理器1110用于执行上述图4中s103中的存储层执行的操作,在此不再赘述。
[0139]
处理器1110可以有多种具体实现形式,例如处理器1110可以为专用集成电路(application-specific integrated circuit,asic)、可编程逻辑器件(programmable logic device,pld)或其组合。上述pld复杂程序逻辑器件(complex programmable logical device,cpld),现场可编程门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。处理器1010也可以单独采用内置处理逻辑的逻辑器件来实现,例如fpga或数字信号处理器(digital signal processor,
dsp)等。
[0140]
通信接口1120可以为有线接口,具体参考通信接口1020。
[0141]
本技术实施例中通信接口1120执行上述第二获取模块901实现的操作,具体可用于执行上述s102中获取目标文件的扩展性等操作。具体的,通信接口1120执行的动作可以参照上述方法实施例存储层接收或者发送的动作,在此不再赘述。
[0142]
存储器1130可以是非易失性存储器或易失性存储器,具体参考存储器1030。
[0143]
存储器1130也可用于存储指令和数据,以便于处理器1110调用存储器1130中存储的指令实现上述第二处理模块902执行的操作,例如上述方法实施例中存储服务器执行的操作。此外,存储服务器1100可能包含相比于图11展示的更多或者更少的组件,或者有不同的组件配置方式。
[0144]
总线1140可以是pci总线或eisa总线等,具体参考总线1040。
[0145]
可选地,该存储服务器1100还可以包括输入/输出接口1150,输入/输出接口1150连接有输入/输出设备,用于接收输入的信息,输出操作结果。
[0146]
具体地,上述服务器1100执行各种操作的具体实现可参照上述方法实施例中存储层执行的具体操作,在此不再赘述。
[0147]
本技术实施例还提供一种非瞬态计算机存储介质,计算机存储介质中存储有指令,当其在处理器上运行时,可以实现上述方法实施例中的方法步骤,计算机存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例的具体操作,在此不再赘述。
[0148]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0149]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质、或者半导体介质,半导体介质可以是固态硬盘。
[0150]
以上所述,仅为本技术的具体实施方式。熟悉本技术领域的技术人员根据本技术提供的具体实施方式,可想到变化或替换,都应涵盖在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1