CN110377536B - 数据处理方法、装置、设备及计算机可读存储介质 - Google Patents

数据处理方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN110377536B
CN110377536B CN201910633073.7A CN201910633073A CN110377536B CN 110377536 B CN110377536 B CN 110377536B CN 201910633073 A CN201910633073 A CN 201910633073A CN 110377536 B CN110377536 B CN 110377536B
Authority
CN
China
Prior art keywords
sub
request
data processing
end driving
execution
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.)
Active
Application number
CN201910633073.7A
Other languages
English (en)
Other versions
CN110377536A (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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201910633073.7A priority Critical patent/CN110377536B/zh
Publication of CN110377536A publication Critical patent/CN110377536A/zh
Application granted granted Critical
Publication of CN110377536B publication Critical patent/CN110377536B/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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据处理方法,包括以下步骤:接收到终端的用户应用程序发送的IO请求,则基于总线地址映射表切分所述IO请求,以获得IO子请求;将所述IO子请求分别发送至后端驱动模块,以使所述后端驱动模块执行所述IO子请求;接收到所述后端驱动模块反馈的执行子结果,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序。本发明还公开了一种数据处理装置、设备及计算机可读存储介质。本发明实现了根据IO请求查询存储实例,提高存储实例查询的便捷性,便于用户对对存储实例进行操作。

Description

数据处理方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及存储技术领域,尤其涉及一种数据处理方法、装置、设备及计算机可读存储介质。
背景技术
在特定的存储系统中,需要将存储在不同块设备或不同文件系统中的文件整合起来,构建一个统一连续的地址空间,表现为一个普通的设备或文件,方便上层软件的运行和管理。
例如,在某种数据管理系统中,尺寸巨大的用户数据文件被切割成小块分散在不同的磁盘(底层文件系统)上,在存储用户数据文件时,需要对用户数据文件切割成小块,并分散存储在不同的磁盘(底层文件系统)上,由于同一用户数据文件存在多个地址,导致不便于对存储的文件进行操作。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种数据处理方法、装置、设备及计算机可读存储介质,旨在解决现有存储系统中存储的数据操作不方便的技术问题。
为实现上述目的,本发明提供一种数据处理方法,所述数据处理方法包括以下步骤:
若接收到终端的用户应用程序发送的IO请求时,则基于总线地址映射表切分所述IO请求,以获得IO子请求;
将所述IO子请求分别发送至后端驱动模块,以使所述后端驱动模块执行所述IO子请求;
若接收到所述后端驱动模块反馈的执行子结果时,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序。
进一步地,所述基于总线地址映射表切分所述IO请求,以获得IO子请求的步骤包括:
获取所述IO请求对应的虚拟地址信息以及地址偏移;
基于所述虚拟地址信息以及地址偏移,在总线地址映射表中查询所述IO请求对应的后端驱动信息;
基于所述后端驱动信息切分所述IO请求,以获得IO子请求。
进一步地,所述将所述IO子请求分别发送至后端驱动模块,以使所述后端驱动模块执行所述IO子请求的步骤包括:
基于所述后端驱动信息,分别将所述IO子请求分别发送各个所述IO子请求对应的后端驱动模块。
进一步地,所述若接收到所述后端驱动模块反馈的执行子结果,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序的步骤包括:
若接收到所述后端驱动模块反馈的执行子结果,则基于所述执行子结果确定所述IO子请求中是否存在请求失败的子请求;
若所述IO子请求中未存在请求失败的子请求,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序。
进一步地,所述基于所述执行子结果确定所述IO子请求中是否存在请求失败的子请求的步骤之后,还包括:
若所述IO子请求中存在请求失败的子请求时,则反馈请求失败的提示信息至所述用户应用程序。
进一步地,所述数据处理方法还包括:
若检测到待添加存储实例的添加指令,则获取所述待添加存储实例对应的第一虚拟地址区间;
在总线驱动模块中添加所述添加指令对应的第一后端驱动模块;
在地址映射模块的总线地址映射表中,建立所述第一虚拟地址区间与所述第一后端驱动模块的映射关系。
进一步地,所述存储实例的实例类型包括:普通文件、块设备文件、共享内存空间、管道、socket。
进一步地,所述数据处理方法还包括:
若检测到待删除存储实例的删除指令,则获取所述待删除存储实例对应的第二虚拟地址区间;
删除所述第二虚拟地址区间对应的待删除存储实例,并在所述总线驱动模块中删除所述删除指令对应的第二后端驱动模块;
在所述总线地址映射表中删除所述第二虚拟地址区间与所述第二后端驱动模块的映射关系。
进一步地,所述数据处理方法还包括:
若检测到ULVM实例的挂载指令,则获取所述挂载指令对应的挂载目录;
在所述挂载目录中生成所述ULVM实例对应的文件,以供用户通过所述文件基于用户空间文件系统FUSE调用所述ULVM实例。
此外,为实现上述目的,本发明还提供一种数据处理装置,所述数据处理装置包括:
切分模块,用于若接收到终端的用户应用程序发送的IO请求,则基于总线地址映射表切分所述IO请求,以获得IO子请求;
发送模块,用于将所述IO子请求分别发送至后端驱动模块,以使所述后端驱动模块执行所述IO子请求;
反馈模块,用于接收到所述后端驱动模块反馈的执行子结果,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序
此外,为实现上述目的,本发明还提供一种数据处理设备,所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现前述的数据处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现前述的数据处理方法的步骤。
本发明通过若接收到终端的用户应用程序发送的IO请求,则基于总线地址映射表切分所述IO请求,以获得IO子请求,接着将所述IO子请求分别发送至后端驱动模块,以使所述后端驱动模块执行所述IO子请求,而后若接收到所述后端驱动模块反馈的执行子结果,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序,实现了根据IO请求查询存储实例,提高存储实例查询的便捷性,便于用户对对存储实例进行操作。
附图说明
图1是本发明实施例方案涉及的硬件运行环境中数据处理设备的终端结构示意图;
图2为本发明数据处理方法第一实施例的流程示意图;
图3为本发明数据处理装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境中数据处理设备的终端结构示意图。
本发明实施例数据处理设备可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该数据处理设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,数据处理设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图1中示出的数据处理设备结构并不构成对数据处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理程序。
在图1所示的数据处理设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据处理程序。
在本实施例中,数据处理设备包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的数据处理程序,其中,处理器1001调用存储器1005中存储的数据处理程序时,并执行以下操作:
若接收到终端的用户应用程序发送的IO请求,则基于总线地址映射表切分所述IO请求,以获得IO子请求;
将所述IO子请求分别发送至后端驱动模块,以使所述后端驱动模块执行所述IO子请求;
若接收到所述后端驱动模块反馈的执行子结果,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
获取所述IO请求对应的虚拟地址信息以及地址偏移;
基于所述虚拟地址信息以及地址偏移,在总线地址映射表中查询所述IO请求对应的后端驱动信息;
基于所述后端驱动信息切分所述IO请求,以获得IO子请求。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
基于所述后端驱动信息,分别将所述IO子请求分别发送各个所述IO子请求对应的后端驱动模块。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
若接收到所述后端驱动模块反馈的执行子结果,则基于所述执行子结果确定所述IO子请求中是否存在请求失败的子请求;
若所述IO子请求中未存在请求失败的子请求,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
若所述IO子请求中存在请求失败的子请求,则反馈请求失败的提示信息至所述用户应用程序。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
若检测到待添加存储实例的添加指令,则获取所述待添加存储实例对应的第一虚拟地址区间;
在总线驱动模块中添加所述添加指令对应的第一后端驱动模块;
在地址映射模块的总线地址映射表中,建立所述第一虚拟地址区间与所述第一后端驱动模块的映射关系。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
若检测到待删除存储实例的删除指令,则获取所述待删除存储实例对应的第二虚拟地址区间;
删除所述第二虚拟地址区间对应的待删除存储实例,并在所述总线驱动模块中删除所述删除指令对应的第二后端驱动模块;
在所述总线地址映射表中删除所述第二虚拟地址区间与所述第二后端驱动模块的映射关系。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
若检测到ULVM实例的挂载指令,则获取所述挂载指令对应的挂载目录;
在所述挂载目录中生成所述ULVM实例对应的文件,以供用户通过所述文件基于用户空间文件系统FUSE调用所述ULVM实例。
本发明还提供一种数据处理方法,参照图2,图2为本发明数据处理方法第一实施例的流程示意图。
在本实施例中,该数据处理方法包括:
步骤S110,若接收到终端的用户应用程序发送的IO请求,则基于总线地址映射表切分所述IO请求,以获得IO子请求;
其中,该终端可设有ULVM(User Logical Volume Manager,用户态逻辑卷管理)模块,ULVM模块即为ULVM服务实例,ULVM模块是在内核态通过device-mapper技术实现的LVM(Logical Volume Manager,逻辑卷管理),用户态逻辑卷管理完全位于用户态,实现了一套横跨多个存储实体的逻辑卷管理系统。
在本实施例中,ULVM模块设有对应的管理工具,用户可通过管理工具实现与ULVM模块通信,进而通过管理工具实现ULVM模块中存储实例的管理操作。
在本实施例中,若接收到终端的用户应用程序发送的IO请求,则终端基于总线地址映射表切分所述IO请求,以获得IO子请求,具体地,终端可通过ULVM模块查询总线地址映射表,根据IO请求落入的不同地址区间范围,对IO请求进行拆分,得到IO子请求。
步骤S120,将所述IO子请求分别发送至后端驱动模块,以使所述后端驱动模块执行所述IO子请求;
本实施例中,在得到IO子请求时,将IO子请求分别发送至后端驱动模块,以使后端驱动模块执行所述IO子请求,得到各个IO子请求对应的执行子结果,该后端驱动模块反馈各个执行子结果,优选地,该后端驱动模块设置于ULVM模块中。
步骤S130,若接收到所述后端驱动模块反馈的执行子结果,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序。
本实施例中,若接收到后端驱动模块反馈的执行子结果,则合并各个执行子结果得到执行结果,并将执行结果反馈至所述用户应用程序,以实现根据IO请求查询存储实例,提高存储实例查询的便捷性,便于用户对对存储实例进行操作。
可以理解的是,若接收到终端的用户应用程序发送的IO请求,终端先检查IO请求参数的合法性,例如检测IO请求是否超出了虚拟地址空间范围,并在未超出时,判断该IO请求合法,而后基于总线地址映射表切分所述IO请求,终端通过ULVM模块检查IO请求参数的合法性,并通过ULVM模块基于总线地址映射表切分所述IO请求。
本实施例提出的数据处理方法,通过若接收到终端的用户应用程序发送的IO请求,则基于总线地址映射表切分所述IO请求,以获得IO子请求,接着将所述IO子请求分别发送至后端驱动模块,以使所述后端驱动模块执行所述IO子请求,而后若接收到所述后端驱动模块反馈的执行子结果,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序,实现了根据IO请求查询存储实例,提高存储实例查询的便捷性,便于用户对对存储实例进行操作。
基于第一实施例,提出本发明数据处理方法的第二实施例,在本实施例中,步骤S110包括:
步骤S111,获取所述IO请求对应的地址长度以及地址偏移;
步骤S112,基于所述地址长度以及地址偏移,在总线地址映射表中查询所述IO请求对应的后端驱动信息;
步骤S113,基于所述后端驱动信息切分所述IO请求,以获得IO子请求。
在本实施例中,在接收到终端的用户应用程序发送的IO请求时,获取所述IO请求对应的虚拟地址信息以及地址偏移,并根据基于所述虚拟地址信息以及地址偏移,在总线地址映射表中查询所述IO请求对应的后端驱动信息,而后基于后端驱动信息切分所述IO请求,以使IO子请求分别为后端驱动信息对应的后端驱动模块所执行的请求。
进一步地,步骤S200包括:基于所述后端驱动信息,分别将所述IO子请求分别发送各个所述IO子请求对应的后端驱动模块。
本实施例中,在获取到IO子请求时,根据后端驱动信息,分别将所述IO子请求分别发送各个IO子请求对应的后端驱动模块,以使后端驱动模块能够准确执行IO子请求。
本实施例提出的数据处理方法,通过获取所述IO请求对应的地址长度以及地址偏移,接着基于所述地址长度以及地址偏移,在总线地址映射表中查询所述IO请求对应的后端驱动信息,而后基于所述后端驱动信息切分所述IO请求,以获得IO子请求,能够根据后端驱动信息对IO请求进行准确切分,以便于后端驱动信息对应的后端驱动模块准确执行IO子请求,提高IO请求的执行效率,进一步提升用户体验。
基于第一实施例,提出本发明数据处理方法的第三实施例,在本实施例中,步骤S130包括:
步骤S131,若接收到所述后端驱动模块反馈的执行子结果,则基于所述执行子结果确定所述IO子请求中是否存在请求失败的子请求;
步骤S132,若所述IO子请求中未存在请求失败的子请求,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序。
在本实施例中,终端异步等待所有IO子请求对应的执行子结果,在接收到后端驱动模块反馈的执行子结果时,若接收到所有IO子请求对应的执行子结果,则基于所述执行子结果确定所述IO子请求中是否存在请求失败的子请求,并在不存在时,合并执行子结果得到执行结果,并将执行结果反馈至用户应用程序,以实现根据IO请求查询存储实例,便于用户查询存储实例。
可以理解的是,若该终端设有ULVM模块,则终端通过ULVM模块异步等待所有IO子请求对应的执行子结果,并通过ULVM模块基于所述执行子结果确定所述IO子请求中是否存在请求失败的子请求,以实现根据IO请求查询ULVM模块中的存储实例,便于用户查询ULVM模块中的存储实例。
进一步地,在一实施例中,步骤S211之后,还包括:若所述IO子请求中存在请求失败的子请求,则反馈请求失败的提示信息至所述用户应用程序。
本实施例提出的数据处理方法,通过若接收到所述后端驱动模块反馈的执行子结果,则基于所述执行子结果确定所述IO子请求中是否存在请求失败的子请求,接着若所述IO子请求中未存在请求失败的子请求,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序,能够在IO请求是否执行成功反馈执行结果至用户应用程序,避免在执行失败时反馈执行结果。
基于上述各个实施例,提出本发明数据处理方法的第四实施例,在本实施例中,该数据处理方法还包括:
步骤S140,若检测到待添加存储实例的添加指令,则获取所述待添加存储实例对应的第一虚拟地址区间;
在本实施例中,在检测到待添加存储实例的添加指令,获取待添加存储实例对应的第一虚拟地址区间,具体地,通过解析该添加指令获取待添加存储实例对应的第一虚拟地址区间。
若终端设有ULVM模块,ULVM模块设有对应的管理工具,用户可通过管理工具实现与ULVM模块通信,进而通过管理工具实现ULVM模块中存储实例的管理操作。例如,在用户通过管理工具进行存储实例的添加操作时,ULVM模块会接收到存储实例的添加指令,在检测到待添加存储实例的添加指令,该ULVM模块通过该管理工具获取待添加存储实例对应的第一虚拟地址区间,具体地,ULVM模块通过解析该添加指令获取待添加存储实例对应的第一虚拟地址区间。
其中,存储实例的实例类型包括:普通文件、块设备文件、共享内存空间、管道、socket。
步骤S150,在总线驱动模块中添加所述添加指令对应的第一后端驱动模块;
在本实施例中,在获取到第一虚拟地址区间时,在总线驱动模块中添加所述添加指令对应的第一后端驱动模块,已完成待添加存储实例的第一后端驱动模块添加操作。例如,终端设有ULVM模块,终端基于ULVM模块通过该管理工具在ULVM模块的总线驱动模块中添加所述添加指令对应的第一后端驱动模块。
步骤S160,在地址映射模块的总线地址映射表中,建立所述第一虚拟地址区间与所述第一后端驱动模块的映射关系。
在本实施例中,地址映射模块包括总线地址映射表,在总线地址映射表中建立第一虚拟地址区间与所述第一后端驱动模块的映射关系,进而将存储实例添加到虚拟地址空间映射中,以实现映射的实时添加,同时支持添加不同实例类型的存储实例。
可以理解的是,终端设有ULVM模块时,ULVM模块设有地址映射模块,ULVM模块通过该管理工具在总线地址映射表中建立第一虚拟地址区间与所述第一后端驱动模块的映射关系。
本实施例提出的数据处理方法,通过若检测到待添加存储实例的添加指令,则获取所述待添加存储实例对应的虚拟地址区间,接着在总线驱动模块中添加所述添加指令对应的后端驱动模块,而后在地址映射模块的总线地址映射表中,建立所述虚拟地址区间与所述后端驱动模块的映射关系,能够根据添加指令将存储实例添加到虚拟地址空间映射中,以实现存储实例以及映射关系的实时添加,同时支持添加不同实例类型的存储实例,便于用户实时添加存储实例,通过建立映射关系便于后续对存储实例进行操作,提高用户体验。
基于第四实施例,提出本发明数据处理方法的第五实施例,在本实施例中,该数据处理方法还包括:
步骤S170,若检测到待删除存储实例的删除指令,则获取所述待删除存储实例对应的第二虚拟地址区间;
步骤S180,删除所述第二虚拟地址区间对应的待删除存储实例,并在所述总线驱动模块中删除所述删除指令对应的第二后端驱动模块;
步骤S190,在所述总线地址映射表中删除所述第二虚拟地址区间与所述第二后端驱动模块的映射关系。
本实施例中,在检测到待删除存储实例的删除指令时,获取待删除存储实例对应的第二虚拟地址区间,具体地,通过解析该删除指令获取待删除存储实例对应的第一虚拟地址区间。
而后,在获取到第二虚拟地址区间时,删除所述第二虚拟地址区间对应的待删除存储实例,在总线驱动模块中删除所述删除指令对应的第二后端驱动模块,其中,第二后端驱动模块包括一个或多个后端驱动模块。并且,在所述总线地址映射表中删除所述第二虚拟地址区间与所述第二后端驱动模块的映射关系,进而实现存储实例的删除操作。
可以理解的是,终端设有ULVM模块时,在用户通过管理工具进行存储实例的删除操作时,ULVM模块会接收到存储实例的删除指令,该ULVM模块通过该管理工具获取待删除存储实例对应的第二虚拟地址区间,即ULVM模块通过解析该删除指令获取待删除存储实例对应的第一虚拟地址区间。而后,ULVM模块通过该管理工具删除所述第二虚拟地址区间对应的待删除存储实例,并在ULVM模块的总线驱动模块中删除所述删除指令对应的第二后端驱动模块,ULVM模块通过该管理工具在所述总线地址映射表中删除所述第二虚拟地址区间与所述第二后端驱动模块的映射关系。
本实施例提出的数据处理方法,通过若检测到待删除存储实例的删除指令,则获取所述待删除存储实例对应的第二虚拟地址区间,接着删除所述第二虚拟地址区间对应的存储数据,并在所述总线驱动模块中删除所述删除指令对应的第二后端驱动模块,而后在所述总线地址映射表中删除所述第二虚拟地址区间与所述第二后端驱动模块的映射关系,以实现存储实例以及映射关系的实时删除,便于用户实时删除存储实例,提高用户体验。
基于第四实施例,提出本发明数据处理方法的第六实施例在本实施例中,该数据处理方法还包括:
步骤S200,若检测到ULVM实例的挂载指令,则获取所述挂载指令对应的挂载目录;
步骤S210,在所述挂载目录中生成所述ULVM实例对应的文件,以供用户通过所述文件基于用户空间文件系统FUSE调用所述ULVM实例。
需要说明的是,ULVM模块有两种接入模式,一种是作为动态链接库的形式,直接和用户应用程序捆绑运行。用户应用程序通过和标准LIBC类似的接口访问ULVM模块导出的虚拟地址空间;另一种接入模式是ULVM模块作为独立的服务程序运行,通过FUSE(Filesystemin Userspace,用户空间文件系统)对外提供服务
在本实施例中,ULVM模块(ULVM实例)作为独立的服务程序运行,用户需要主动将ULVM实例挂载到一个本地文件系统目录中,用户可通过管理工具调用ULVM实例挂载进程,以实现ULVM实例的挂载操作。
具体地,在检测到ULVM实例的挂载指令时,获取挂载指令对应的挂载目录,及终端通过ULVM模块通过管理工具获取挂载指令对应的挂载目录,并根据该挂载目录运行ULVM模块挂载进程,以在挂载目录中生成所述ULVM实例对应的文件,以供用户通过所述文件基于用户空间文件系统FUSE调用所述ULVM实例,进而将ULVM实例构建的虚拟地址空间,通过FUSE的形式挂载到本地文件系统目录中,用户可以像访问普通文件那样访问ULVM实例导出的虚拟地址空间。
本实施例提出的数据处理方法,通过若检测到ULVM实例的挂载指令,则获取所述挂载指令对应的挂载目录,接着在所述挂载目录中生成所述ULVM实例对应的文件,以供用户通过所述文件基于用户空间文件系统FUSE调用所述ULVM实例,进而将ULVM模块构建的虚拟地址空间,通过FUSE的形式挂载到本地文件系统目录中,用户可以像访问普通文件那样访问ULVM实例导出的虚拟地址空间,进一步提高用户通过ULVM实例进行存储实例的IO操作的便捷性,进一步提升用户体验。
此外,本发明实施例还提出一种数据处理装置,参照图3,图3为本发明分数据处理装置一实施例的功能模块示意图。
本实施例中,数据处理装置包括:
切分模块10,用于若接收到终端的用户应用程序发送的IO请求,则基于总线地址映射表切分所述IO请求,以获得IO子请求;
发送模块20,用于将所述IO子请求分别发送至后端驱动模块,以使所述后端驱动模块执行所述IO子请求;
反馈模块30,用于若接收到所述后端驱动模块反馈的执行子结果,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序。
本实施例提出的数据处理装置,通过若接收到终端的用户应用程序发送的IO请求,则切分模块10基于总线地址映射表切分所述IO请求,以获得IO子请求,接着发送模块20将所述IO子请求分别发送至后端驱动模块,以使所述后端驱动模块执行所述IO子请求,而后反馈模块30接收到所述后端驱动模块反馈的执行子结果,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序,实现了根据IO请求查询存储实例,提高存储实例查询的便捷性,便于用户对对存储实例进行操作。
需要说明的是,数据处理装置的各个实施例与上述数据处理方法的各实施例基本相同,在此不再详细赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如下操作:
若接收到终端的用户应用程序发送的IO请求,则基于总线地址映射表切分所述IO请求,以获得IO子请求;
将所述IO子请求分别发送至后端驱动模块,以使所述后端驱动模块执行所述IO子请求;
若接收到所述后端驱动模块反馈的执行子结果,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序。
进一步地,所述数据处理程序被处理器执行时还实现如下操作:
获取所述IO请求对应的虚拟地址信息以及地址偏移;
基于所述虚拟地址信息以及地址偏移,在总线地址映射表中查询所述IO请求对应的后端驱动信息;
基于所述后端驱动信息切分所述IO请求,以获得IO子请求。
进一步地,所述数据处理程序被处理器执行时还实现如下操作:
基于所述后端驱动信息,分别将所述IO子请求分别发送各个所述IO子请求对应的后端驱动模块。
进一步地,所述数据处理程序被处理器执行时还实现如下操作:
若接收到所述后端驱动模块反馈的执行子结果,则基于所述执行子结果确定所述IO子请求中是否存在请求失败的子请求;
若所述IO子请求中未存在请求失败的子请求,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序。
进一步地,所述数据处理程序被处理器执行时还实现如下操作:
若所述IO子请求中存在请求失败的子请求,则反馈请求失败的提示信息至所述用户应用程序。
进一步地,所述数据处理程序被处理器执行时还实现如下操作:
若检测到待添加存储实例的添加指令,则获取所述待添加存储实例对应的第一虚拟地址区间;
在总线驱动模块中添加所述添加指令对应的第一后端驱动模块;
在地址映射模块的总线地址映射表中,建立所述第一虚拟地址区间与所述第一后端驱动模块的映射关系。
进一步地,所述数据处理程序被处理器执行时还实现如下操作:
若检测到待删除存储实例的删除指令,则获取所述待删除存储实例对应的第二虚拟地址区间;
删除所述第二虚拟地址区间对应的待删除存储实例,并在所述总线驱动模块中删除所述删除指令对应的第二后端驱动模块;
在所述总线地址映射表中删除所述第二虚拟地址区间与所述第二后端驱动模块的映射关系。
进一步地,所述数据处理程序被处理器执行时还实现如下操作:
若检测到ULVM实例的挂载指令,则获取所述挂载指令对应的挂载目录;
在所述挂载目录中生成所述ULVM实例对应的文件,以供用户通过所述文件基于用户空间文件系统FUSE调用所述ULVM实例。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (11)

1.一种数据处理方法,其特征在于,所述数据处理方法包括以下步骤:
若接收到终端的用户应用程序发送的IO请求,则基于总线地址映射表切分所述IO请求,以获得IO子请求;
将所述IO子请求分别发送至后端驱动模块,以使所述后端驱动模块执行所述IO子请求;
若接收到所述后端驱动模块反馈的执行子结果,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序;
其中,所述基于总线地址映射表切分所述IO请求,以获得IO子请求的步骤包括:
获取所述IO请求对应的虚拟地址信息以及地址偏移;
基于所述虚拟地址信息以及地址偏移,在总线地址映射表中查询所述IO请求对应的后端驱动信息;
基于所述后端驱动信息切分所述IO请求,以获得IO子请求。
2.如权利要求1所述的数据处理方法,其特征在于,所述将所述IO子请求分别发送至后端驱动模块,以使所述后端驱动模块执行所述IO子请求的步骤包括:
基于所述后端驱动信息,分别将所述IO子请求分别发送各个所述IO子请求对应的后端驱动模块。
3.如权利要求1所述的数据处理方法,其特征在于,所述接收到所述后端驱动模块反馈的执行子结果,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序的步骤包括:
若接收到所述后端驱动模块反馈的执行子结果,则基于所述执行子结果确定所述IO子请求中是否存在请求失败的子请求;
若所述IO子请求中未存在请求失败的子请求,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序。
4.如权利要求3所述的数据处理方法,其特征在于,所述基于所述执行子结果确定所述IO子请求中是否存在请求失败的子请求的步骤之后,还包括:
若所述IO子请求中存在请求失败的子请求,则反馈请求失败的提示信息至所述用户应用程序。
5.如权利要求1至4任一项所述的数据处理方法,其特征在于,所述数据处理方法还包括:
若检测到待添加存储实例的添加指令,则获取所述待添加存储实例对应的第一虚拟地址区间;
在总线驱动模块中添加所述添加指令对应的第一后端驱动模块;
在地址映射模块的总线地址映射表中,建立所述第一虚拟地址区间与所述第一后端驱动模块的映射关系。
6.如权利要求5所述的数据处理方法,其特征在于,所述存储实例的实例类型包括:普通文件、块设备文件、共享内存空间、管道、socket。
7.如权利要求5所述的数据处理方法,其特征在于,所述数据处理方法还包括:
若检测到待删除存储实例的删除指令,则获取所述待删除存储实例对应的第二虚拟地址区间;
删除所述第二虚拟地址区间对应的待删除存储实例,并在所述总线驱动模块中删除所述删除指令对应的第二后端驱动模块;
在所述总线地址映射表中删除所述第二虚拟地址区间与所述第二后端驱动模块的映射关系。
8.如权利要求5所述的数据处理方法,其特征在于,所述数据处理方法还包括:
若检测到ULVM实例的挂载指令,则获取所述挂载指令对应的挂载目录;
在所述挂载目录中生成所述ULVM实例对应的文件,以供用户通过所述文件基于用户空间文件系统FUSE调用所述ULVM实例。
9.一种数据处理装置,其特征在于,所述数据处理装置包括:
切分模块,用于若接收到终端的用户应用程序发送的IO请求,则基于总线地址映射表切分所述IO请求,以获得IO子请求;
发送模块,用于将所述IO子请求分别发送至后端驱动模块,以使所述后端驱动模块执行所述IO子请求;
反馈模块,用于若接收到所述后端驱动模块反馈的执行子结果,则合并所述执行子结果得到执行结果,并将所述执行结果反馈至所述用户应用程序;
其中,所述切分模块,还用于获取所述IO请求对应的虚拟地址信息以及地址偏移;基于所述虚拟地址信息以及地址偏移,在总线地址映射表中查询所述IO请求对应的后端驱动信息;基于所述后端驱动信息切分所述IO请求,以获得IO子请求。
10.一种数据处理设备,其特征在于,所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如权利要求1至8中任一项所述的数据处理方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如权利要求1至8中任一项所述的数据处理方法的步骤。
CN201910633073.7A 2019-07-12 2019-07-12 数据处理方法、装置、设备及计算机可读存储介质 Active CN110377536B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910633073.7A CN110377536B (zh) 2019-07-12 2019-07-12 数据处理方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910633073.7A CN110377536B (zh) 2019-07-12 2019-07-12 数据处理方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110377536A CN110377536A (zh) 2019-10-25
CN110377536B true CN110377536B (zh) 2023-05-12

Family

ID=68253147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910633073.7A Active CN110377536B (zh) 2019-07-12 2019-07-12 数据处理方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110377536B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102713828A (zh) * 2011-12-21 2012-10-03 华为技术有限公司 提供多设备镜像和条带功能的磁盘缓存方法、设备和系统
CN104461733A (zh) * 2014-11-24 2015-03-25 浪潮电子信息产业股份有限公司 一种高端磁盘阵列多控制器间的并行io调度方法
US9047018B1 (en) * 2012-03-20 2015-06-02 Emc Corporation Method and system for zero-copy disk IO using sector unaligned buffers
CN105117282A (zh) * 2015-08-24 2015-12-02 浪潮(北京)电子信息产业有限公司 一种对输入输出请求进行拆分的方法及装置
CN105900061A (zh) * 2014-10-22 2016-08-24 华为技术有限公司 对象存储系统中的业务流控制方法、控制器和系统
CN107491270A (zh) * 2017-08-23 2017-12-19 杭州宏杉科技股份有限公司 一种多控存储系统的资源访问方法及装置
CN107992569A (zh) * 2017-11-29 2018-05-04 北京小度信息科技有限公司 数据访问方法、装置、电子设备及计算机可读存储介质
CN108319430A (zh) * 2018-01-17 2018-07-24 杭州宏杉科技股份有限公司 处理io请求的方法及装置
CN109067749A (zh) * 2018-08-13 2018-12-21 深信服科技股份有限公司 一种信息处理方法、设备及计算机可读存储介质
CN109324762A (zh) * 2018-10-11 2019-02-12 郑州云海信息技术有限公司 一种存储系统的构建方法、装置、设备及存储介质
CN109358818A (zh) * 2018-10-30 2019-02-19 深圳润迅数据通信有限公司 一种数据中心的块设备io请求处理方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102713828A (zh) * 2011-12-21 2012-10-03 华为技术有限公司 提供多设备镜像和条带功能的磁盘缓存方法、设备和系统
US9047018B1 (en) * 2012-03-20 2015-06-02 Emc Corporation Method and system for zero-copy disk IO using sector unaligned buffers
CN105900061A (zh) * 2014-10-22 2016-08-24 华为技术有限公司 对象存储系统中的业务流控制方法、控制器和系统
CN104461733A (zh) * 2014-11-24 2015-03-25 浪潮电子信息产业股份有限公司 一种高端磁盘阵列多控制器间的并行io调度方法
CN105117282A (zh) * 2015-08-24 2015-12-02 浪潮(北京)电子信息产业有限公司 一种对输入输出请求进行拆分的方法及装置
CN107491270A (zh) * 2017-08-23 2017-12-19 杭州宏杉科技股份有限公司 一种多控存储系统的资源访问方法及装置
CN107992569A (zh) * 2017-11-29 2018-05-04 北京小度信息科技有限公司 数据访问方法、装置、电子设备及计算机可读存储介质
CN108319430A (zh) * 2018-01-17 2018-07-24 杭州宏杉科技股份有限公司 处理io请求的方法及装置
CN109067749A (zh) * 2018-08-13 2018-12-21 深信服科技股份有限公司 一种信息处理方法、设备及计算机可读存储介质
CN109324762A (zh) * 2018-10-11 2019-02-12 郑州云海信息技术有限公司 一种存储系统的构建方法、装置、设备及存储介质
CN109358818A (zh) * 2018-10-30 2019-02-19 深圳润迅数据通信有限公司 一种数据中心的块设备io请求处理方法

Also Published As

Publication number Publication date
CN110377536A (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
CN108156268B (zh) 设备标识的获取方法及服务器、终端设备
CN107943841B (zh) 流式数据处理方法、系统和计算机可读存储介质
CN108881396B (zh) 网络数据的加载方法、装置、设备和计算机存储介质
WO2020000719A1 (zh) 报表系统的数据处理方法、装置及计算机可读存储介质
CN109669980B (zh) 数据跨库访问方法及装置
CN109995876B (zh) 文件传输方法、装置、系统和计算机存储介质
CN110764688B (zh) 对数据进行处理的方法和装置
CN108401026B (zh) 基于区块链的数据存储方法、系统及计算机可读存储介质
CN111339057B (zh) 减少回源请求的方法、装置及计算机可读存储介质
CN107066295B (zh) 一种基于浏览器加载终端网络应用的插件的方法及设备
CN111885184A (zh) 高并发场景下热点访问关键字处理方法和装置
CN111352952A (zh) 一种信息查询方法、服务器、及计算机可读存储介质
CN107967305B (zh) 影像文件上传方法、服务器及可读存储介质
CN114553762A (zh) 一种对流表中的流表项处理的方法及装置
CN110377536B (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN109669790A (zh) 基于云平台的数据共享方法、装置、共享平台及存储介质
CN112948383A (zh) 政务数据共享交换方法和装置
CN112395020B (zh) 内网的安全防护方法、客户端、目标服务器及存储介质
CN102769663B (zh) 一种传递信息的服务器及方法、信息传递系统
CN109587205B (zh) 共享目录的创建挂载方法及相关设备
CN111736761A (zh) 数据分发方法、装置、存储系统及计算机可读存储介质
CN110866201A (zh) 缓存处理方法、装置、计算机设备以及存储介质
CN113609168B (zh) 数据导出方法、装置、终端以及可读存储介质
US20140344476A1 (en) Method, terminal, server, and system for data processing
CN113032153B (zh) 容器服务资源动态扩容方法、系统、装置及存储介质

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