CN105282244A - 一种数据处理方法、装置、服务器及控制器 - Google Patents

一种数据处理方法、装置、服务器及控制器 Download PDF

Info

Publication number
CN105282244A
CN105282244A CN201510629504.4A CN201510629504A CN105282244A CN 105282244 A CN105282244 A CN 105282244A CN 201510629504 A CN201510629504 A CN 201510629504A CN 105282244 A CN105282244 A CN 105282244A
Authority
CN
China
Prior art keywords
request
sequence number
data processing
storage system
controller
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
Application number
CN201510629504.4A
Other languages
English (en)
Other versions
CN105282244B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510629504.4A priority Critical patent/CN105282244B/zh
Publication of CN105282244A publication Critical patent/CN105282244A/zh
Priority to EP16850164.1A priority patent/EP3273664B1/en
Priority to PCT/CN2016/087916 priority patent/WO2017054540A1/zh
Priority to US15/845,748 priority patent/US10708378B2/en
Application granted granted Critical
Publication of CN105282244B publication Critical patent/CN105282244B/zh
Priority to US16/870,520 priority patent/US11102322B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Abstract

本发明实施例公开一种数据处理方法、装置、服务器及控制器,其中方法包括如下步骤:服务器接收数据处理请求,所述数据处理请求包括请求序号,所述请求序号用于标记所述数据处理请求;根据所述数据处理请求生成至少一个I/O请求;对所述至少一个I/O请求中的每一个I/O请求添加所述请求序号;当具有所述请求序号的I/O请求数量大于预设阈值时,将具有所述请求序号的I/O请求进行合并,生成聚合指令;向所述存储系统的控制器发送所述聚合指令。采用本发明,能够减少事务机制的监控和管理时间,进而简化了事务机制。

Description

一种数据处理方法、装置、服务器及控制器
技术领域
本发明涉及数据传输技术领域,尤其涉及一种数据处理方法、装置、服务器及控制器。
背景技术
随着光纤通道的存储设备、光纤通道交换机等设备的出现将存储领域推向了网络化的新阶段,诞生了存储区域网络(StorageAreaNetwork,SAN),实现了存储设备的共享,服务器可以通过存储网络直接对存储系统中的多个存储设备进行数据访问。
现有技术中,服务器通常会将多个I/O请求合并发送,以提高数据访问效率,并且能够进行合并的I/O请求必须是访问同一个存储设备的。如果服务器需要完成由一个数据处理请求产生的多个存储设备的I/O请求访问时,现有技术会将不同存储设备的I/O请求分散到不同的聚合指令中,再将不同聚合指令分别发送至对应的存储设备以完成读写操作。为了保证数据的一致性,现有技术中增加了事务机制以对同一个数据处理请求的I/O请求进行监控和管理。由于不同存储设备的聚合请求处理时间不同,事务机制管理一个数据处理请求的时间被延长,增加了事务机制的负荷。可见,目前SAN对同一数据处理请求的不同存储设备的I/O请求需要复杂的事务机制进行管理。
发明内容
本发明实施例提供一种数据处理方法、装置、服务器及控制器,能够解决目前SAN对同一数据处理请求的不同存储设备的I/O请求需要复杂的事务机制进行管理的问题。
本发明实施例第一方面提供了一种数据处理方法,应用于数据处理系统,所述数据处理系统包括服务器和存储系统,所述存储系统包括控制器和多个存储设备,所述方法由所述服务器执行,包括:
接收数据处理请求,所述数据处理请求包括请求序号,所述请求序号用于标记所述数据处理请求;
根据所述数据处理请求生成至少一个I/O请求;
对所述至少一个I/O请求中的每一个I/O请求添加所述请求序号;
当具有所述请求序号的I/O请求数量大于预设阈值时,将具有所述请求序号的I/O请求进行合并,生成聚合指令;
向所述存储系统的控制器发送所述聚合指令。
在第一方面的第一种可能实现方式中,所述聚合指令包括合并的每个I/O请求的操作字段和合并的I/O请求数量。
结合第一方面或第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,还包括:
接收所述存储系统的控制器发送的表示所述聚合指令解析错误的提示消息;
向所述存储系统的控制器再次发送所述聚合指令。
本发明实施例第二方面提供了另一种数据处理方法,应用于数据处理系统,所述数据处理系统包括服务器和存储系统,所述存储系统包括控制器和多个存储设备,所述方法由所述控制器执行,包括:
接收所述服务器发送的聚合指令;
解析所述聚合指令,获得具有请求序号的至少一个I/O请求的操作字段和I/O请求的数量;
统计具有所述请求序号的所述至少一个I/O请求的操作字段的数量;
判断具有所述请求序号的所述至少一个I/O请求的操作字段的数量与所述I/O请求数量是否相同;
若是,则按照所述至少一个I/O请求的操作字段进行处理;
若否,则向所述服务器发送表示所述聚合指令解析错误的提示消息。
本发明实施例第三方面提供了一种数据处理装置,应用于数据处理系统的服务器中,所述数据处理系统还包括存储系统,所述存储系统包括控制器和多个存储设备,所述数据处理装置包括:
接收单元,用于接收数据处理请求,所述数据处理请求包括请求序号,所述请求序号用于标记所述数据处理请求;
生成单元,用于根据所述数据处理请求生成至少一个I/O请求;
添加单元,用于对所述至少一个I/O请求中的每一个I/O请求添加所述请求序号;
合并单元,用于当具有所述请求序号的I/O请求数量大于预设阈值时,将具有所述请求序号的I/O请求进行合并,生成聚合指令;
发送单元,用于向所述存储系统的控制器发送所述聚合指令。
在第三方面的第一种可能实现方式中,所述聚合指令包括合并的每个I/O请求对应的操作字段和合并的I/O请求数量。
结合第三方面或第三方面的第一种可能实现方式,在第三方面的第二种可能实现方式中,所述接收单元,还用于接收所述存储系统的控制器发送的表示所述聚合指令解析错误的提示消息;
所述发送单元,还用于向所述存储系统的控制器再次发送所述聚合指令。
本发明实施例第四方面提供了另一种数据处理装置,所述数据处理装置应用于数据处理系统的存储系统的控制器中,所述数据处理系统还包括服务器和存储系统,所述存储系统还包括多个存储设备,所述数据处理装置包括:
接收单元,用于接收所述服务器发送的聚合指令;
解析单元,用于解析所述聚合指令,获得具有请求序号的至少一个I/O请求的操作字段和I/O请求的数量;
统计单元,用于统计具有所述请求序号的所述至少一个I/O请求的操作字段的数量;
判断单元,用于判断具有所述请求序号的所述至少一个I/O请求的操作字段的数量与所述I/O请求数量是否相同;
处理单元,用于若具有所述请求序号的所述至少一个I/O请求的操作字段的数量与所述I/O请求数量相同时,则按照所述至少一个I/O请求的操作字段进行处理;
发送单元,用于若具有所述请求序号的所述至少一个I/O请求的操作字段的数量与所述I/O请求数量不相同时,则向所述服务器发送表示所述聚合指令解析错误的提示消息。
本发明实施例第五方面提供了一种服务器,应用于数据处理系统,所述数据处理系统还包括存储系统,所述存储系统包括控制器和多个存储设备,所述服务器包括通信接口、存储器和处理器,所述存储器用于存储程序代码,所述处理器用于调用所述存储器存储的程序代码执行如下步骤:
通过通信接口接收数据处理请求,所述数据处理请求包括请求序号,所述请求序号用于标记所述数据处理请求;
根据所述数据处理请求生成至少一个I/O请求;
对所述至少一个I/O请求中的每一个I/O请求添加所述请求序号;
当具有所述请求序号的I/O请求数量大于预设阈值时,将具有所述请求序号的I/O请求进行合并,生成聚合指令;
通过通信接口向所述存储系统的控制器发送所述聚合指令。
在第五方面的第一种可能实现方式中,所述聚合指令包括合并的每个I/O请求对应的操作字段和合并的I/O请求数量。
结合第五方面或第五方面的第一种可能实现方式,在第五方面的第二种可能实现方式中,通过通信接口接收所述存储系统的控制器发送的表示所述聚合指令解析错误的提示消息;
通过通信接口向所述存储系统的控制器再次发送所述聚合指令。
本发明实施例第六方面提供了一种控制器,应用于数据处理系统中的存储系统中,所述数据处理系统还包括故武器,所述存储系统还包括多个存储设备,所述控制器包括通信接口、存储器和处理器,所述存储器用于存储程序代码,其特征在于,所述处理器用于调用所述存储器存储的程序代码执行如下步骤:
通过通信接口接收所述服务器发送的聚合指令;
解析所述聚合指令,获得具有请求序号的至少一个I/O请求的操作字段和I/O请求的数量;
统计具有所述请求序号的所述至少一个I/O请求的操作字段的数量;
判断具有所述请求序号的所述至少一个I/O请求的操作字段的数量与所述I/O请求数量是否相同;
若是,则按照所述至少一个I/O请求的操作字段进行处理;
若否,则通过通信接口向所述服务器发送表示所述聚合指令解析错误的提示消息。
在本发明实施例中,通过接收数据处理请求,数据处理请求包括用于标记数据处理请求的请求序号,根据数据处理请求生成至少一个I/O请求,并对生成的每一个I/O请求添加请求序号,当具有请求序号的I/O请求数量大于预设阈值时,将具有请求序号的I/O请求进行合并,生成聚合指令,向存储系统的控制器发送聚合指令。通过将同一数据处理请求生成的I/O请求合并为聚合指令后发送至存储系统的控制器,可以让存储系统对同一个数据处理请求的I/O请求一并处理,能够减少事务机制的监控和管理时间,进而简化了事务机制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种网络架构的示意图;
图2是本发明实施例提供的一种服务器的结构示意图;
图3是本发明实施例提供的一种控制器的结构示意图;
图4是本发明实施例提供的一种数据处理方法的流程示意图;
图5是本发明实施例提供的一种数据处理装置的结构示意图;
图6是本发明实施例提供的另一种数据处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了更好理解本发明实施例公开的一种数据处理方法、装置、服务器及控制器,下面先对本发明实施例适用的网络构架进行描述。请参阅图1,为本发明实施例公开的一种网络构架示意图。在图1所示的网络构架中,可以包括用户终端、服务器和存储系统,所述存储系统包括控制器和多个存储设备。其中,用户终端可以通过广域网(WideAreaNetwork,WAN)、局域网(LocalAreaNetwork,LAN)、无线局域网(WirelessLAN,WLAN)与服务器通信连接,服务器通过SAN与存储系统通信连接。在图1所示的网络构架中,用户终端可以包括移动手机、平板电脑、个人数字助理(PersonalDigitalAssistant,PDA)、移动互联网设备(MobileInternetDevice,MID)、智能穿戴设备(如智能手表、智能手环)等各类用户终端设备;服务器可以包括文件服务器、邮件服务器等各类服务器;存储设备可以包括光盘机、磁盘阵列、磁带库等各类存储设备,对于用户终端和存储设备本发明实施例不作限定。
在图1所示的网络结构中,所述服务器通过SAN网络向所述存储系统的控制器发送合并多个I/O请求的聚合指令,所述控制器根据所述聚合指令准备所述聚合指令对应的输出数据的缓存空间,在准备好之后所述控制器向所述服务器发送允许传输指令,当所述服务器接收到允许传输指令后,所述服务器传输所述聚合指令的输出数据,所述控制器根据所述聚合指令和输出数据执行数据访问,待访问结束后向所述服务器反馈执行结果和输入数据。
基于图1所示的网络构架,请参见图2,为本发明实施例提供了一种服务器的结构示意图。如图2所示,所述服务器1000包括至少一个处理器1001,例如CPU,至少一个通信总线1002,通信接口1003和存储器1004。所述通信总线1002用于实现这些组件之间的连接通信。其中,通信接口1003可选的可以包括标准的有线接口、无线接口、SAN接口或任何新的物理连接方法,SAN接口可以是小型计算机系统接口(SmallComputerSystemInterface,SCSI)、串行存储结构(serialstoragearchitecture,SSA)、高性能并行接口(HighPerformanceParallelInterface,HIPPI)、光纤通道(FibreChannel,FC)等。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器,例如至少一个磁盘存储器,作为一种计算机存储介质的存储器1004中可以包括应用程序。其中,在图2所示的服务器1000中,通信接口1003中的有线接口和无线接口用于所述服务器1000与用户终端通信连接,SAN接口用于所述服务器1000与存储系统的控制器进行通信连接。
请一并参见图3,为本发明实施例提供了一种控制器的结构示意图。如图3所示,所述控制器2000包括至少一个处理器2001,例如CPU,至少一个通信总线2002,通信接口2003和存储器2004。所述通信总线2002用于实现这些组件之间的连接通信。其中,通信接口2003可选的可以包括SAN接口或任何新的物理连接方法,SAN接口可以是SCSI接口、SSA接口、HIPPI接口、FC接口等。存储器2004可以是高速RAM存储器,也可以是非不稳定的存储器,例如至少一个磁盘存储器,作为一种计算机存储介质的存储器2004中可以包括应用程序。其中,在图3所示的控制器2000中,通信接口2003中SAN接口用于与所述服务器1000进行通信连接。
请参见图4,为本发明实施例提供了一种数据处理方法的流程示意图。本发明实施例从服务器、控制器和用户终端侧共同阐述数据处理方法的具体流程。结合图2所述的服务器1000和图3所示的控制器2000,本发明实施例的所述数据处理方法可以包括以下步骤S401-步骤S411。
S401,服务器接收用户终端发送的数据处理请求。
具体的,所述服务器1000中的处理器1001通过与用户终端的通信接口1003接收用户终端发送的数据处理请求。其中,所述数据处理请求包括请求序号,所述请求序号是用于区分标记各个不同的数据处理请求,即一个数据处理请求对应于一个请求序号。
S402,所述服务器根据所述数据处理请求生成至少一个I/O请求。
具体的,所述处理器1001根据所述数据处理请求生成至少一个I/O请求。举例来说,所述处理器1001接收到银行账户A向银行账户B转账的数据处理请求时,所述处理器1001将该转账的数据处理请求解析为两个I/O请求:将银行账户A减少转账数额的I/O请求;以及将银行账户B增加转账数额的I/O请求。
需要说明的是,当生成两个或两个以上的I/O请求时,所述两个或两个以上的I/O请求可以与所述存储系统中的同一个存储设备相关,也可以与所述存储系统中的多个存储设备相关,在本发明实施例中不做限定。
S403,所述服务器对所述至少一个I/O请求中的每一个I/O请求添加所述请求序号。
具体的,所述处理器1001对所述至少一个I/O请求中的每一个I/O请求添加所述数据处理请求中所包括的请求序号,即由同一个数据处理请求生成的全部I/O请求具有相同的请求序号。由于不同数据处理请求对应不同的求序号,因此,由不同数据处理请求生成的I/O请求对应的请求序号是不同,进一步,可以根据I/O请求对应的请求序号确定是否属于同一个数据处理请求。
S404,当具有所述请求序号的I/O请求数量大于预设阈值时,所述服务器将具有所述请求序号的I/O请求进行合并,生成聚合指令。
具体的,所述处理器1001判断具有所述请求序号的I/O请求数量是否大于预设阈值,其中,所述预设阈值是大于或等于1的正整数,所述预设阈值可以由所述处理器1001自定义设置。当判断具有所述请求序号的I/O请求数量大于预设阈值时,所述处理器1001将具有所述请求序号的I/O请求进行合并,生成聚合指令。
需要说明的是,当判断具有所述请求序号的I/O请求数量小于或等于预设阈值时,第一种可行的方案中,所述处理器1001可将具有所述请求序号的I/O请求发送至所述存储系统的控制器2000,以使所述控制器2000的处理器2001对接收到的I/O请求进行处理;第二种可行的方案中,假设所述数据请求为A数据处理请求,所述处理器1001判断是否存在生成的I/O请求数量小于或等于预设阈值的数据处理请求,例如,若存在,假设所存在的数据处理请求为B数据处理请求,则所述处理器1001将数据处理请求A生成I/O请求和数据处理请求B生成I/O请求进行合并,生成聚合指令。在第二种可行的方案,通过将不同的且所生成I/O请求数量小于或等于预设阈值的数据处理请求所生成的I/O请求进行合并,提高了I/O请求的传输效率。
S405,所述服务器向所述存储系统的控制器发送所述聚合指令。
具体的,所述处理器1001通过通信接口1003向所述存储系统的控制器2000发送所述聚合指令。所述聚合指令中包括合并的每个I/O请求的操作字段。举例来说,读操作请求的操作字段包括读指令,写操作请求的操作指令包括写指令和所写入的数据。需要说明的是,一个I/O请求对应一个操作字段,并且所述操作字段包括所述I/O请求执行数据访问的存储设备标识。
可行的方案中,所述聚合指令还包括合并的I/O请求数量。
S406,解析所述聚合指令,获得具有请求序号的至少一个I/O请求的操作字段和I/O请求的数量。
具体的,所述处理器2001在通过通信接口2003接收到所述服务器发送的聚合指令之后,解析所述聚合指令,获得具有请求序号的至少一个I/O请求的操作字段和I/O请求的数量。
S407,统计具有所述请求序号的所述至少一个I/O请求的操作字段的数量。
具体的,所述处理器2001统计由所述聚合指令解析得到的具有所述请求序号的至少一个I/O请求的操作字段的数量。
S408,判断具有所述请求序号的所述至少一个I/O请求的操作字段的数量与所述I/O请求数量是否相同。
具体的,所述处理器2001判断统计的具有所述请求序号的所述至少一个I/O请求的操作字段的数量与解析的所述I/O请求数量是否相同。若判断统计的具有所述请求序号的所述至少一个I/O请求的操作字段的数量与解析的所述I/O请求数量相同,则执行步骤S409;若统计的具有所述请求序号的所述至少一个I/O请求的操作字段的数量与解析的所述I/O请求数量不相同,则执行步骤S410。
S409,若是,则按照所述至少一个I/O请求的操作字段进行处理。
具体的,若所述处理器2001判断统计的具有所述请求序号的所述至少一个I/O请求的操作字段的数量与解析的所述I/O请求数量相同,则所述处理器2001根据每一个I/O请求的操作字段中包括的执行数据访问的存储设备标识,将每一个I/O请求发送至存储设备标识对应的存储设备,以完成数据访问。
需要说明的是,为保证数据的一致性,所述处理器2001通过事务机制监控具有所述请求序号的I/O请求的处理进度,若在数据访问运行过程中发生了某种故障导致不能继续进行,则需要将具有所述请求序号的I/O请求中所有已完成的数据访问全部撤消,并退回到开始的状态。但由于具有所述请求序号的I/O请求都合并于同一个聚合指令中,相比于现有技术,本发明实施例可减少事务机制的监控和管理时间。
S410,若否,则向所述服务器发送表示所述聚合指令解析错误的提示消息。
具体的,若所述处理器2001判断统计的具有所述请求序号的所述至少一个I/O请求的操作字段的数量与解析的所述I/O请求数量不相同,则所述处理器2001通过通信接口2003向所述服务器1000发送表示所述聚合指令解析错误的提示消息,以使所述服务器1000再次发送所述聚合指令。
S411,向所述存储系统的控制器再次发送所述聚合指令。
具体的,所述处理器1001在通过通信接口1003接收到所述存储系统的控制器2000发送的表示所述聚合指令解析错误的提示消息之后,所述处理器2001向所述控制器2000再次发送所述聚合指令。可以理解的是,所述控制器2000通过通信接口2003接收到所述聚合指令后,继续执行步骤S406-步骤S410。
在本发明实施例中,通过接收数据处理请求,数据处理请求包括用于标记数据处理请求的请求序号,根据数据处理请求生成至少一个I/O请求,并对生成的每一个I/O请求添加请求序号,当具有请求序号的I/O请求数量大于预设阈值时,将具有请求序号的I/O请求进行合并,生成聚合指令,向存储系统的控制器发送聚合指令。通过将同一数据处理请求生成的I/O请求合并为聚合指令后发送至存储系统的控制器,可以让存储系统对同一个数据处理请求的I/O请求一并处理,能够减少事务机制的监控和管理时间,进而简化了事务机制。
基于图1所示的网络构架,请参见图5,为本发明实施例提供了一种数据处理装置的结构示意图。如图5所示,本发明实施例的所述数据处理装置1可以包括:接收单元11、生成单元12、添加单元13、合并单元14和发送单元15。
接收单元11,用于接收数据处理请求,所述数据处理请求包括请求序号,所述请求序号用于标记所述数据处理请求。
生成单元12,用于根据所述数据处理请求生成至少一个I/O请求。
添加单元13,用于对所述至少一个I/O请求中的每一个I/O请求添加所述请求序号。
合并单元14,用于当具有所述请求序号的I/O请求数量大于预设阈值时,将具有所述请求序号的I/O请求进行合并,生成聚合指令。
发送单元15,用于向所述存储系统的控制器发送所述聚合指令。
可行的方案中,所述聚合指令包括合并的每个I/O请求对应的操作字段和合并的I/O请求数量。
可行的方案中,所述接收单元11,还用于接收所述存储系统的控制器发送的表示所述聚合指令解析错误的提示消息。所述发送单元15,还用于向所述存储系统的控制器再次发送所述聚合指令。
本发明实施例和方法实施例基于同一构思,其带来的技术效果也相同,具体原理请参照方法实施例二和三的描述,此处不再赘述。
基于图1所示的网络构架,请参见图6,为本发明实施例提供了一种数据处理装置的结构示意图。如图6所示,本发明实施例的所述数据处理装置2可以包括:接收单元21、解析单元22、统计单元23、判断单元24、处理单元25和发送单元26。
接收单元21,用于接收所述服务器发送的聚合指令。
解析单元22,用于解析所述聚合指令,获得具有请求序号的至少一个I/O请求的操作字段和I/O请求的数量。
统计单元23,用于统计具有所述请求序号的所述至少一个I/O请求的操作字段的数量。
判断单元24,用于判断具有所述请求序号的所述至少一个I/O请求的操作字段的数量与所述I/O请求数量是否相同。
处理单元25,用于若具有所述请求序号的所述至少一个I/O请求的操作字段的数量与所述I/O请求数量相同时,则按照所述至少一个I/O请求的操作字段进行处理。
发送单元26,用于若具有所述请求序号的所述至少一个I/O请求的操作字段的数量与所述I/O请求数量不相同时,则向所述服务器发送表示所述聚合指令解析错误的提示消息。
本发明实施例和方法实施例基于同一构思,其带来的技术效果也相同,具体原理请参照方法实施例二和三的描述,此处不再赘述。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(英文:Read-OnlyMemory,缩写:ROM)或者随机存取存储器(英文:RandomAccessMemory,缩写:RAM)等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种数据处理方法,其特征在于,所述数据处理方法应用于数据处理系统,所述数据处理系统包括服务器和存储系统,所述存储系统包括控制器和多个存储设备,所述方法由所述服务器执行,包括:
接收数据处理请求,所述数据处理请求包括请求序号,所述请求序号用于标记所述数据处理请求;
根据所述数据处理请求生成至少一个I/O请求;
对所述至少一个I/O请求中的每一个I/O请求添加所述请求序号;
当具有所述请求序号的I/O请求数量大于预设阈值时,将具有所述请求序号的I/O请求进行合并,生成聚合指令;
向所述存储系统的控制器发送所述聚合指令。
2.根据权利要求1所述的方法,其特征在于,所述聚合指令包括合并的每个I/O请求的操作字段和合并的I/O请求数量。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
接收所述存储系统的控制器发送的表示所述聚合指令解析错误的提示消息;
向所述存储系统的控制器再次发送所述聚合指令。
4.一种数据处理方法,其特征在于,所述数据处理方法应用于数据处理系统,所述数据处理系统包括服务器和存储系统,所述存储系统包括控制器和多个存储设备,所述方法由所述控制器执行,包括:
接收所述服务器发送的聚合指令;
解析所述聚合指令,获得具有请求序号的至少一个I/O请求的操作字段和I/O请求的数量;
统计具有所述请求序号的所述至少一个I/O请求的操作字段的数量;
判断具有所述请求序号的所述至少一个I/O请求的操作字段的数量与所述I/O请求数量是否相同;
若是,则按照所述至少一个I/O请求的操作字段进行处理;
若否,则向所述服务器发送表示所述聚合指令解析错误的提示消息。
5.一种数据处理装置,其特征在于,所述数据处理装置应用于数据处理系统的服务器中,所述数据处理系统还包括存储系统,所述存储系统包括控制器和多个存储设备,所述数据处理装置包括:
接收单元,用于接收数据处理请求,所述数据处理请求包括请求序号,所述请求序号用于标记所述数据处理请求;
生成单元,用于根据所述数据处理请求生成至少一个I/O请求;
添加单元,用于对所述至少一个I/O请求中的每一个I/O请求添加所述请求序号;
合并单元,用于当具有所述请求序号的I/O请求数量大于预设阈值时,将具有所述请求序号的I/O请求进行合并,生成聚合指令;
发送单元,用于向所述存储系统的控制器发送所述聚合指令。
6.根据权利要求5所述的装置,其特征在于,所述聚合指令包括合并的每个I/O请求对应的操作字段和合并的I/O请求数量。
7.根据权利要求5或6所述的装置,其特征在于,
所述接收单元,还用于接收所述存储系统的控制器发送的表示所述聚合指令解析错误的提示消息;
所述发送单元,还用于向所述存储系统的控制器再次发送所述聚合指令。
8.一种数据处理装置,其特征在于,所述数据处理装置应用于数据处理系统的存储系统的控制器中,所述数据处理系统还包括服务器和存储系统,所述存储系统还包括多个存储设备,所述数据处理装置包括:
接收单元,用于接收所述服务器发送的聚合指令;
解析单元,用于解析所述聚合指令,获得具有请求序号的至少一个I/O请求的操作字段和I/O请求的数量;
统计单元,用于统计具有所述请求序号的所述至少一个I/O请求的操作字段的数量;
判断单元,用于判断具有所述请求序号的所述至少一个I/O请求的操作字段的数量与所述I/O请求数量是否相同;
处理单元,用于若具有所述请求序号的所述至少一个I/O请求的操作字段的数量与所述I/O请求数量相同时,则按照所述至少一个I/O请求的操作字段进行处理;
发送单元,用于若具有所述请求序号的所述至少一个I/O请求的操作字段的数量与所述I/O请求数量不相同时,则向所述服务器发送表示所述聚合指令解析错误的提示消息。
9.一种服务器,其特征在于,所述服务器应用于数据处理系统,所述数据处理系统还包括存储系统,所述存储系统包括控制器和多个存储设备,所述服务器包括通信接口、存储器和处理器,所述存储器用于存储程序代码,所述处理器用于调用所述存储器存储的程序代码执行如下步骤:
通过通信接口接收数据处理请求,所述数据处理请求包括请求序号,所述请求序号用于标记所述数据处理请求;
根据所述数据处理请求生成至少一个I/O请求;
对所述至少一个I/O请求中的每一个I/O请求添加所述请求序号;
当具有所述请求序号的I/O请求数量大于预设阈值时,将具有所述请求序号的I/O请求进行合并,生成聚合指令;
通过通信接口向所述存储系统的控制器发送所述聚合指令。
10.根据权利要求9所述的服务器,其特征在于,所述聚合指令包括合并的每个I/O请求对应的操作字段和合并的I/O请求数量。
11.根据权利要求9或10所述的服务器,其特征在于,
通过通信接口接收所述存储系统的控制器发送的表示所述聚合指令解析错误的提示消息;
通过通信接口向所述存储系统的控制器再次发送所述聚合指令。
12.一种控制器,其特征在于,所述控制器应用于数据处理系统中的存储系统中,所述数据处理系统还包括故武器,所述存储系统还包括多个存储设备,所述控制器包括通信接口、存储器和处理器,所述存储器用于存储程序代码,所述处理器用于调用所述存储器存储的程序代码执行如下步骤:
通过通信接口接收所述服务器发送的聚合指令;
解析所述聚合指令,获得具有请求序号的至少一个I/O请求的操作字段和I/O请求的数量;
统计具有所述请求序号的所述至少一个I/O请求的操作字段的数量;
判断具有所述请求序号的所述至少一个I/O请求的操作字段的数量与所述I/O请求数量是否相同;
若是,则按照所述至少一个I/O请求的操作字段进行处理;
若否,则通过通信接口向所述服务器发送表示所述聚合指令解析错误的提示消息。
CN201510629504.4A 2015-09-29 2015-09-29 一种数据处理方法、装置、服务器及控制器 Active CN105282244B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201510629504.4A CN105282244B (zh) 2015-09-29 2015-09-29 一种数据处理方法、装置、服务器及控制器
EP16850164.1A EP3273664B1 (en) 2015-09-29 2016-06-30 Data processing method and device, server, and controller
PCT/CN2016/087916 WO2017054540A1 (zh) 2015-09-29 2016-06-30 一种数据处理方法、装置、服务器及控制器
US15/845,748 US10708378B2 (en) 2015-09-29 2017-12-18 Data processing method and apparatus, server, and controller
US16/870,520 US11102322B2 (en) 2015-09-29 2020-05-08 Data processing method and apparatus, server, and controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510629504.4A CN105282244B (zh) 2015-09-29 2015-09-29 一种数据处理方法、装置、服务器及控制器

Publications (2)

Publication Number Publication Date
CN105282244A true CN105282244A (zh) 2016-01-27
CN105282244B CN105282244B (zh) 2018-10-02

Family

ID=55150549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510629504.4A Active CN105282244B (zh) 2015-09-29 2015-09-29 一种数据处理方法、装置、服务器及控制器

Country Status (4)

Country Link
US (2) US10708378B2 (zh)
EP (1) EP3273664B1 (zh)
CN (1) CN105282244B (zh)
WO (1) WO2017054540A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106407294A (zh) * 2016-08-30 2017-02-15 惠州学院 一种用户测试数据展示的方法和装置
WO2017054540A1 (zh) * 2015-09-29 2017-04-06 华为技术有限公司 一种数据处理方法、装置、服务器及控制器
CN109617974A (zh) * 2018-12-21 2019-04-12 珠海金山办公软件有限公司 一种请求处理方法、装置及服务器
CN109842646A (zh) * 2017-11-27 2019-06-04 北京京东尚科信息技术有限公司 网络请求的处理方法和装置
CN112019604A (zh) * 2020-08-13 2020-12-01 上海哔哩哔哩科技有限公司 边缘数据传输方法和系统
CN113342274A (zh) * 2021-06-10 2021-09-03 北京字节跳动网络技术有限公司 一种数据处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1543092A (zh) * 2003-11-07 2004-11-03 清华大学 基于fc-san存储设备的scsi命令优化方法
CN1633131A (zh) * 2005-01-14 2005-06-29 清华大学 一种iSCSI存储系统的实现方法
CN103605726A (zh) * 2013-11-15 2014-02-26 中安消技术有限公司 一种小文件的存取方法、系统及控制节点和存储节点
CN103617136A (zh) * 2013-12-04 2014-03-05 华为技术有限公司 Scsi驱动侧及i/o请求的控制方法
CN104102742A (zh) * 2014-07-31 2014-10-15 浪潮电子信息产业股份有限公司 一种高性能海量存储系统及存储方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100228297B1 (ko) * 1996-05-10 1999-11-01 윤종용 디지탈 셀룰라시스템의 기지국에서 로딩에러 검출방법
US6983303B2 (en) * 2002-01-31 2006-01-03 Hewlett-Packard Development Company, Lp. Storage aggregator for enhancing virtualization in data storage networks
JP3848587B2 (ja) * 2002-03-15 2006-11-22 株式会社日立製作所 情報処理装置および通信路選択方法
KR100537499B1 (ko) * 2002-07-26 2005-12-19 삼성전자주식회사 전송제어 파라미터 생성방법 및 프레임 특성에 따른선택적 자동 재전송 방법
US7698272B2 (en) * 2007-08-30 2010-04-13 International Business Machines Corporation Apparatus, system, and method for deterministic file allocations for parallel operations
US7925489B2 (en) * 2007-10-31 2011-04-12 International Business Machines Corporation Defining and recording threshold-qualified count events of a simulation by testcases
US7836226B2 (en) * 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US20100070656A1 (en) * 2008-09-12 2010-03-18 Atto Technology, Inc. System and method for enhanced load balancing in a storage system
US20130007755A1 (en) * 2011-06-29 2013-01-03 International Business Machines Corporation Methods, computer systems, and physical computer storage media for managing resources of a storage server
US9774538B2 (en) * 2011-07-15 2017-09-26 At&T Mobility Ii Llc Efficient processing of radio resource requests
US9134909B2 (en) * 2011-08-30 2015-09-15 International Business Machines Corporation Multiple I/O request processing in a storage system
US8583840B1 (en) * 2012-04-25 2013-11-12 Lsi Corporation Methods and structure for determining mapping information inconsistencies in I/O requests generated for fast path circuits of a storage controller
WO2014141343A1 (ja) * 2013-03-13 2014-09-18 日本電気株式会社 データ多重化システム
US20150081967A1 (en) * 2013-09-18 2015-03-19 Hewlett-Packard Development Company, L.P. Management of storage read requests
CN104636201B (zh) * 2013-11-15 2018-02-02 中国电信股份有限公司 一种虚拟i/o 调度方法和系统
US9870156B2 (en) * 2014-02-14 2018-01-16 Toshiba Memory Corporation Memory system and method of controlling memory system
US9176617B2 (en) * 2014-02-14 2015-11-03 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Physical presence of a virtual button on a touch screen of an electronic device
US9542107B2 (en) * 2014-06-25 2017-01-10 International Business Machines Corporation Flash copy relationship management
US9923970B2 (en) * 2014-08-22 2018-03-20 Nexenta Systems, Inc. Multicast collaborative erasure encoding and distributed parity protection
US9768912B2 (en) * 2014-09-23 2017-09-19 Cavium, Inc. Method and apparatus for quantizing soft information using linear quantization
WO2016059479A1 (en) * 2014-10-13 2016-04-21 Yandex Europe Ag Method of processing system requests in a wireless communication device
TWI566165B (zh) * 2014-12-05 2017-01-11 宏碁股份有限公司 適應性呼叫應用程式的方法及其電子裝置
CN105282244B (zh) * 2015-09-29 2018-10-02 华为技术有限公司 一种数据处理方法、装置、服务器及控制器
US10459634B2 (en) * 2015-10-31 2019-10-29 Sandisk Technologies Llc Methods, systems, and computer readable media for aggregating completion entries in a nonvolatile storage device
US20180196750A1 (en) * 2017-01-08 2018-07-12 Apple Inc. Aggregating messages for reducing cache invalidation rate

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1543092A (zh) * 2003-11-07 2004-11-03 清华大学 基于fc-san存储设备的scsi命令优化方法
CN1633131A (zh) * 2005-01-14 2005-06-29 清华大学 一种iSCSI存储系统的实现方法
CN103605726A (zh) * 2013-11-15 2014-02-26 中安消技术有限公司 一种小文件的存取方法、系统及控制节点和存储节点
CN103617136A (zh) * 2013-12-04 2014-03-05 华为技术有限公司 Scsi驱动侧及i/o请求的控制方法
CN104102742A (zh) * 2014-07-31 2014-10-15 浪潮电子信息产业股份有限公司 一种高性能海量存储系统及存储方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017054540A1 (zh) * 2015-09-29 2017-04-06 华为技术有限公司 一种数据处理方法、装置、服务器及控制器
US10708378B2 (en) 2015-09-29 2020-07-07 Huawei Technologies Co., Ltd. Data processing method and apparatus, server, and controller
US11102322B2 (en) 2015-09-29 2021-08-24 Huawei Technologies Co., Ltd. Data processing method and apparatus, server, and controller
CN106407294A (zh) * 2016-08-30 2017-02-15 惠州学院 一种用户测试数据展示的方法和装置
CN109842646A (zh) * 2017-11-27 2019-06-04 北京京东尚科信息技术有限公司 网络请求的处理方法和装置
CN109617974A (zh) * 2018-12-21 2019-04-12 珠海金山办公软件有限公司 一种请求处理方法、装置及服务器
CN109617974B (zh) * 2018-12-21 2021-12-28 珠海金山办公软件有限公司 一种请求处理方法、装置及服务器
CN112019604A (zh) * 2020-08-13 2020-12-01 上海哔哩哔哩科技有限公司 边缘数据传输方法和系统
CN112019604B (zh) * 2020-08-13 2023-09-01 上海哔哩哔哩科技有限公司 边缘数据传输方法和系统
CN113342274A (zh) * 2021-06-10 2021-09-03 北京字节跳动网络技术有限公司 一种数据处理方法及装置
CN113342274B (zh) * 2021-06-10 2024-01-30 北京火山引擎科技有限公司 一种数据处理方法及装置

Also Published As

Publication number Publication date
US20200274943A1 (en) 2020-08-27
WO2017054540A1 (zh) 2017-04-06
EP3273664B1 (en) 2019-03-13
CN105282244B (zh) 2018-10-02
US20180109641A1 (en) 2018-04-19
US10708378B2 (en) 2020-07-07
EP3273664A4 (en) 2018-04-04
EP3273664A1 (en) 2018-01-24
US11102322B2 (en) 2021-08-24

Similar Documents

Publication Publication Date Title
CN105282244A (zh) 一种数据处理方法、装置、服务器及控制器
CN102668516B (zh) 一种云消息服务中实现消息传递的方法和装置
CN105786405B (zh) 一种在线升级方法、装置及系统
CN103377279A (zh) 用于移植数据的系统与方法
CN110618895B (zh) 一种基于纠删码的数据更新方法、装置和存储介质
CN103164523A (zh) 数据一致性检查方法、装置及系统
US10212229B2 (en) Reliable data storage for decentralized computer systems
CN102576323B (zh) 一种促进存储系统中的数据的复制的方法和系统
CN103858111B (zh) 一种实现聚合虚拟化中内存共享的方法、设备和系统
CN106920135A (zh) 一种pos开票服务器离线交易的实现方法及系统
CN105468302A (zh) 一种处理数据的方法、装置及系统
CN103559124A (zh) 故障快速检测方法及装置
CN109542352A (zh) 用于存储数据的方法和装置
CN102681790B (zh) 一种数据转储设备和通过其进行数据转储的方法及系统
CN104077374A (zh) 一种实现ip盘文件存储的方法及装置
CN102393838A (zh) 数据处理方法及装置、pci-e总线系统、服务器
CN102495815B (zh) I/o数据访问中断的处理方法和系统以及设备
CN104238960A (zh) 硬盘格式化方法及基于硬盘的数据块存储方法和装置
CN107643938A (zh) 数据传输方法、装置及存储介质
CN103634322A (zh) 一种应用程序的心跳管理方法、装置及系统
CN102480516A (zh) 网际网络小型电脑界面的数据单元的解析方法
CN107273198B (zh) 一种ssd控制芯片的中断控制方法、装置及ssd设备
CN104025056B (zh) 一种数据恢复的方法及设备
CN104283974A (zh) 数据拉取方法和相关设备及通信系统
CN103631532A (zh) 用于在数据存储系统中访问数据的方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant