CN110175179A - 数据传输方法及系统、服务节点、存储装置 - Google Patents

数据传输方法及系统、服务节点、存储装置 Download PDF

Info

Publication number
CN110175179A
CN110175179A CN201910300935.4A CN201910300935A CN110175179A CN 110175179 A CN110175179 A CN 110175179A CN 201910300935 A CN201910300935 A CN 201910300935A CN 110175179 A CN110175179 A CN 110175179A
Authority
CN
China
Prior art keywords
memory system
data
volatile memory
nonvolatile memory
service node
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
CN201910300935.4A
Other languages
English (en)
Other versions
CN110175179B (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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN201910300935.4A priority Critical patent/CN110175179B/zh
Publication of CN110175179A publication Critical patent/CN110175179A/zh
Application granted granted Critical
Publication of CN110175179B publication Critical patent/CN110175179B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据传输方法及系统、服务节点、存储装置。其中,该方法由服务节点执行,服务节点预设有多个连接接口,多个连接接口分别用于与不同类型的易失性存储系统实现数据传输,该方法包括:接收非易失性存储系统发送的目标连接信息;确定目标连接信息指向的易失性存储系统,并通过相应的连接接口与易失性存储系统连接;在接收到非易失性存储系统或易失性存储系统发送的数据获取请求时,实现非易失性存储系统与易失性存储系统之间的数据传输。上述方案,能够实现非易失性存储系统与多种不同类型的易失性存储系统之间的数据传输。

Description

数据传输方法及系统、服务节点、存储装置
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据传输方法及系统、服务节点、存储装置。
背景技术
在数据处理过程中,包含机械硬盘、固态硬盘(Solid State Disk,SSD)等非易失性存储介质的非易失性存储系统往往负责数据的持久化存储,而易失性存储介质,如内存,其数据读写速度一般高出非易失性存储介质几个数量级,因而其通常可以作为高速缓存。
针对包含易失性存储介质的易失性存储系统的数据库和针对非易失性存储系统的数据库,由于两者种类较多、且在功能以及支持的SQL(Structured Query Language)语法上各有差异,造成了非易失性存储系统只能和特定的某种易失性存储系统之间进行数据传输,具有较强的耦合性,而无法进行快速扩展、支持使用其他不同类型数据库的易失性存储系统。有鉴于此,如何实现非易失性存储系统与多种不同类型的易失性存储系统之间的数据传输成为亟待解决的问题。
发明内容
本申请主要解决的技术问题是提供一种数据传输方法及系统、服务节点、存储装置,能够实现非易失性存储系统与多种不同类型的易失性存储系统之间的数据传输。
为了解决上述问题,本申请第一方面提供了一种数据传输方法,该方法由服务节点执行,服务节点预设有多个连接接口,多个连接接口分别用于与不同类型的易失性存储系统实现数据传输,该方法包括:接收非易失性存储系统发送的目标连接信息;确定目标连接信息指向的易失性存储系统,并通过相应的连接接口与易失性存储系统连接;在接收到非易失性存储系统或易失性存储系统发送的数据获取请求时,实现非易失性存储系统与易失性存储系统之间的数据传输。
为了解决上述问题,本申请第二方面提供了一种服务节点,包括:存储器、处理器和通信电路;其中,处理器耦接于存储器和通信电路;处理器用于执行存储器存储的程序指令,以配合通信电路实现上述第一方面所述的数据传输方法。
为解决上述问题,本申请第三方面提供了一种数据传输系统,包括非易失性存储系统、服务节点以及易失性存储系统;非易失性存储系统通过服务节点与易失性存储系统连接;其中,服务节点为上述第二方面所述的服务节点。
为了解决上述问题,本申请第四方面提供了一种存储装置,其上存储有能够被处理器运行的程序指令,程序指令用于实现上述第一方面所述的数据传输方法。
上述方案中,在非易失性存储系统和易失性存储系统之间增加预先设置有多个连接接口的服务节点,且多个连接接口分别用于与不同类型的易失性存储系统实现数据传输,服务节点接收非易失性存储系统发送的目标连接信息,从而确定目标连接信息指向的易失性存储系统,并且通过相应的连接接口与易失性存储系统连接,在收到非易失性存储系统或易失性存储系统发送的数据获取请求时,实现非易失性存储系统与易失性存储系统之间的数据传输。通过上述方式,服务节点预设多个用于与不同类型易失性存储系统连接的连接接口,利用设置在易失性存储系统与非易失性存储系统之间的服务节点实现非易失性存储系统与多种不同类型的易失性存储系统之间的数据传输。
附图说明
图1a是本申请数据传输系统一实施例的结构示意图;
图1b是本申请数据传输系统另一实施例的结构示意图;
图2是图1a、图1b中服务节点一实施例的框架示意图;
图3是本申请数据传输方法一实施例的流程示意图;
图4是本申请数据传输方法另一实施例的流程示意图;
图5是本申请数据传输方法又一实施例的流程示意图;
图6是本申请数据传输方法又一实施例的流程示意图;
图7是本申请数据传输方法又一实施例的流程示意图;
图8是本申请数据传输方法又一实施例的流程示意图;
图9是本申请数据传输方法又一实施例的流程示意图;
图10是本申请数据传输方法又一实施例的流程示意图;
图11是本申请服务节点一实施例的框架示意图;
图12是本申请存储装置一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
本申请在非易失性存储系统和易失性存储系统之间增加预先设置有多个连接接口的服务节点,且多个连接接口分别用于与不同类型的易失性存储系统实现数据传输,服务节点接收非易失性存储系统发送的目标连接信息,从而确定目标连接信息指向的易失性存储系统,并且通过相应的连接接口与易失性存储系统连接,在收到非易失性存储系统或易失性存储系统发送的数据获取请求时,实现非易失性存储系统与易失性存储系统之间的数据传输。通过上述方式,利用设置在易失性存储系统与非易失性存储系统之间的服务节点实现非易失性存储系统与多种不同类型的易失性存储系统之间的数据传输。
下面为便于理解,先对本申请数据传输系统进行举例说明。
请参阅图1a,图1a是本申请数据传输系统一实施例的结构示意图。本实施例中,数据传输系统包括非易失性存储系统10、服务节点20、以及易失性存储系统30,非易失性存储系统10通过服务节点20与易失性存储系统30连接。在一个实施场景中,上述易失性存储系统30至少为1个,例如1个、2个、3个等等。其中,服务节点20可以为本申请任一个服务节点20实施例中所述的服务节点20,该服务节点20执行本申请任一个数据传输方法的实施例中的步骤,关于本申请数据传输方法的实施例,以及服务节点20的实施例,可详细参阅下文对于数据传输方法和服务节点的说明,本处暂不赘述。通过上述方式,利用设置在易失性存储系统30与非易失性存储系统10之间的服务节点20实现非易失性存储系统10与多种不同类型的易失性存储系统30之间的数据传输。在一个实施场景中,上述非易失性存储系统10可以为分布式磁盘数据库系统,上述易失性存储系统30可以为内存数据库系统。
其中,数据传输系统可包括不止1个服务节点20。如图1a所示,数据传输系统还可以包括多个服务节点20,例如2个、3个、4个等等。不同的服务节点20能够并行实现非易失性存储系统10和易失性存储系统30之间的数据传输。可以理解的是,不同服务节点可用于分别实现不同组的非易失性存储系统10与易失性存储系统30之间的数据传输,例如,第一服务节点20用于实现第一非易失性存储系统10与第一易失性存储系统30之间的数据传输;第二服务节点20用于实现第二非易失性存储系统10与第二易失性存储系统30之间的数据传输。又或者,多个服务节点可用于实现同一组非易失性存储系统10与和易失性存储系统30之间的不同数据的传输。
另外,若数据传输系统包括多个服务节点20,则可以通过分配不同服务节点20负责传输的数据,来均衡各服务节点20的数据传输负载。在一个实施场景中,由用户创建多个表单,每个表单包含至少一个不同的属性,且与对应一个服务节点20建立关联。如表单1内包含名字、性别等属性,且该表单1与第一服务节点20相关联,表单2内包含地区、年龄等属性,且该表单2与第二服务节点20相关联。每个服务节点20在执行本申请任一实施例中数据传输方法时,对应负责传输与其关联的表单中的属性相关的数据,从而均衡了各服务节点20的数据传输压力。可以理解,上述表单也可以由非易失性存储系统10自动创建。在另一实施场景中,也可由非易失性存储系统10根据当前每个服务节点20的空闲程度,来指定较为空闲的服务节点20来实现本次非易失性存储系统10与易失性存储系统30之间的数据传输。
通过上述方式,在易失性存储系统30与非易失性存储系统10之间设置多个服务节点20,不同的服务节点20能够并行实现非易失性存储系统10和易失性存储系统30之间的数据传输,通过分布式部署服务节点20,提高数据传输的并发性能,大幅提高了数据传输效率,并且尽可能地避免了服务节点20负载不均,减轻服务节点20的负载压力,实现服务节点20的负载均衡。
在又一个实施例中,非易失性存储系统10主要包含非易失性存储介质,例如机械硬盘、固态硬盘等等,在本领域中,可采用数据库负责将数据持久化的存储到非易失性存储介质中,数据库的类型可以为Oracle、MySQL、MPP(Massively Parallel Processor)即大规模并行处理。请结合参阅图1b,非易失性存储系统10包括多个分布式存储节点11。在一个实施场景中,每一个分布式存储节点11都具有独立的磁盘存储系统,磁盘存储系统可以具有一定的磁盘阵列(Redundant Arrays of Independent Drives,RAID),磁盘阵列根据需要,可以设置为不同的磁盘阵列级别,如RAID0、RAID1、RAID0+1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID7、RAID10、RAID53等等。在一个实施场景中,以MPP为例,非易失性存储系统10还可以进一步包括管理节点,用于连接、管理每一个分布式存储节点11。每个服务节点20可以直接与非易失性存储系统10的所有分布式存储节点11连接从而进行数据传输。
可以理解的是,本申请所述的分布式存储节点11、服务节点20、存储系统可根据实际需求集成在相同或不同的物理设备上。例如,服务节点20与至少一个分布式存储节点11集成在同一物理设备上,或者服务节点20与易失性存储系统30集成在同一物理设备上,又或者如图1a所示,服务节点20与非易失性存储系统10和易失性存储系统30分别设置于不同物理设备上。上述物理设备可以为服务器。
在又一个实施例中,图1a、图1b中的服务节点具体可以参考图2所示的服务节点20的框架示意图进行实施构建,服务节点20包括会话及缓存管理模块、以及多个查询条件转换模块、多个易失性存储系统连接模块,其中,多个易失性存储系统连接模块用于适配连接不同类型的易失性存储系统,会话及缓存管理模块用于与非易失性存储系统连接并实现数据缓存,查询条件转换模块用于解析查询条件,并将其转换为对应的易失性存储系统的查询条件。在其他实施场景中,服务节点20还以其他方式构建,本实施例在此不做具体限制。
具体地,本数据传输系统的服务节点可执行下面数据传输方法实施例来实现非易失性存系统10和易失性存储系统30之间的连接及数据传输。
请参阅图3,图3是本申请数据传输方法一实施例的流程示意图。本实施例中,数据传输方法由服务节点20执行,服务节点20预设有多个连接接口,多个连接接口分别用于与不同类型的易失性存储系统30实现数据传输,在一个实施场景中,每一连接接口为一段程序实现,由于不同类型的易失性存储系统30需通过不同的访问方法进行访问,上述对应段的程序即对该访问方法的程序化,以使服务节点20按照该段程序所定义的访问方法对易失性存储系统30进行数据传输。故此,服务节点20可通过不同的连接接口从而实现对接不同类型的易失性存储系统30。具体而言,本申请数据传输方法包括:
步骤S31:接收非易失性存储系统10发送的目标连接信息。
服务节点20接收非易失性存储系统10发送的目标连接信息。在一个实施场景中,非易失性存储系统10为分布式存储系统,包括多个分布式存储节点11,服务节点20可以与非易失性存储系统10的至少一个分布式存储节点11集成在同一物理设备上,服务节点20可以通过电信号接收非易失性存储系统10发送的目标连接信息。在另一个实施场景中,服务节点20与易失性存储系统30集成在同一物理设备上,或者,服务节点20与非易失性存储系统10和易失性存储系统30分别设置于不同的物理设备上,服务节点20与非易失性存储系统10之间通过光纤通信连接,进而可以通过光信号发送目标连接信息。
目标连接信息用于具体指示需要连接的易失性存储系统30。在一个实施场景中,为了使得非易失性存储系统10精确连接到对应的易失性存储系统30,非易失性存储系统10发送的目标连接信息可以包括以下至少一者:易失性存储系统30的类型、易失性存储系统30的IP(Internet Protocol)地址、易失性存储系统30的MAC(Media Access Control)地址、易失性存储系统30的标识名。本实施例不具体限制目标连接信息中包含的内容。
步骤S32:确定目标连接信息指向的易失性存储系统30,并通过相应的连接接口与易失性存储系统30连接。
服务节点20根据目标连接信息确定该目标连接信息所指向的易失性存储系统30,并通过相应的连接接口与易失性存储系统30连接。在一个实施场景中,服务节点20获取目标连接信息中包含的易失性存储系统30,从多个连接接口中选择出与该易失性存储系统30的类型对应的连接接口,并通过选择出的连接接口与易失性存储系统30连接;在另一个实施场景中,服务节点20通过目标连接信息中包含的易失性存储系统30的MAC地址确定需连接的易失性存储系统30,从多个连接接口中选择出与该确定的易失性存储系统30的类型对应的连接接口,并通过选择出的连接接口与易失性存储系统30连接;在又一个实施场景中,服务节点20通过目标连接信息中包含的易失性存储系统30的标识名确定需连接的易失性存储系统30,从多个连接接口中选择出与该确定的易失性存储系统30的类型对应的连接接口,并通过选择出的连接接口与易失性存储系统30连接。在其他实施场景中,每一个易失性存储系统30的类型均不相同,服务节点20通过目标连接信息中包含的信息获得需连接的易失性存储系统30的类型,进而通过与该类型对应的连接接口与该易失性存储系统30连接。可以理解,由于各个易失性存储系统30的类型、标识名等目标连接信息的不同,可能会有多种不同的连接方式,本实施例中不再赘述。
步骤S33:在接收到非易失性存储系统10或易失性存储系统30发送的数据获取请求时,实现非易失性存储系统10与易失性存储系统30之间的数据传输。
在一个实施场景中,非易失性存储系统10需从易失性存储系统30中导出数据,服务节点20接收非易失性存储系统10发送的数据获取请求,从而实现非易失性存储系统10与易失性存储系统30之间的数据传输。在另一个实施场景中,非易失性存储系统10需将数据导入至易失性存储系统30,服务节点20接收非易失性存储系统10发送的写数据请求,从而实现非易失性存储系统10余易失性存储系统30之间的数据传输。
上述实施方式,本申请服务节点20预先设置有多个连接接口,多个连接接口分别用于与不同类型的易失性存储系统30实现数据传输,服务节点20接收非易失性存储系统10发送的目标连接信息,从而确定目标连接信息指向的易失性存储系统30,并且通过相应的连接接口与易失性存储系统30连接,在收到非易失性存储系统10或易失性存储系统30发送的数据获取请求时,实现非易失性存储系统10与易失性存储系统30之间的数据传输。通过上述方式,服务节点20预先设有与不同类型易失性存储系统30连接的连接接口,利用设置在易失性存储系统30与非易失性存储系统10之间的服务节点20实现非易失性存储系统10与多种不同类型的易失性存储系统30之间的数据传输。
请参阅图4,图4为本申请数据传输方法另一实施例的流程示意图。如图4所示,在一个实施例中,上述步骤S32具体可以包括:
步骤S41:接收非易失性存储系统10发送的第一数据获取请求。
服务节点20接收非易失性存储系统10发送的第一数据获取请求。在一个实施场景中,第一数据获取请求包含数据获取条件,例如对于期望获取的数据的属性,例如姓名、年龄、性别等身份信息等等。第一数据获取请求还可以具有服务节点20可识别的树结构,从而使得第一数据获取请求可以被服务节点20识别。在一个实施场景中,非易失性存储系统包括多个分布式存储节点11,进一步,非易失性存储系统包括可连接、管理所有分布式存储节点11的管理节点,用户通过个人计算机(Personal Computer,PC)网页、手机将第一数据获取请求下发到管理节点,管理节点再将第一数据获取请求分发到每个分布式存储节点11,每个分布式存储节点11均向与其连接的服务节点20发送其接收到的第一数据获取请求,服务节点20只接收首次接收到的第一数据获取请求,在另一个实施场景中,还可以由其中一个分布式存储节点11向服务节点20发送其接收到的第一数据获取请求。
步骤S42:响应于第一数据获取请求,向易失性存储系统30发送第二数据获取请求。
服务节点20响应于接收到的第一数据获取请求,向易失性存储系统30发送第二数据获取请求。
请结合参阅图5,作为上述步骤S42实施方式中的一个优选实施方式,步骤S42可以具有包括:
步骤S421:将第一数据获取请求转换成易失性存储系统30能够识别的第二数据获取请求。
服务节点20将第一数据获取请求转换成易失性存储系统30能够识别的第二数据获取请求。在一个实施场景中,第一数据获取请求和第二数据获取请求具有不同的树结构,第一数据获取请求的树结构不能被易失性存储系统30所识别,故此服务节点先将第一数据获取请求转换为易失性存储系统30可是别的第二数据获取请求。
步骤S422:向易失性存储系统30发送第二数据获取请求。
服务节点20将第一数据获取请求转换为易失性存储系统30可是别的第二数据获取请求后,向易失性存储系统30发送该第二数据获取请求,以使得易失性存储系统30能够根据该第二数据获取请求查询与第二数据获取请求匹配的数据。
通过上述实施方式,服务节点20将非易失性存储系统10发送的第一数据获取请求转换为易失性存储系统30可识别的第二数据获取请求,进一步将第二获取请求发送至易失性存储系统30。由于非易失性存储系统10和易失性存储系统30之间的差异,易失性存储系统30可能不直接支持非易失性存储系统10的某些数据获取请求,通过非易失性存储系统10向易失性存储系统30获取数据时,往往只能把所有易失性存储系统30全部导入非易失性存储系统10,并转换为非易失性存储系统10的格式,然后再从非易失性存储系统10中查询获取期望的数据,在这种场景下,如果导入的数据总量和期望的数据量之间相差较大,就会产生大量不需要的数据传输,导致数据传输效率低下。本申请通过上述方式,将非易失性存储系统10发送的第一数据获取请求转换为易失性存储系统30可识别的第二数据获取请求,从而避免易失性存储系统30的数据全部导入非易失性存储系统10,使得能够直接在易失性存储系统30中进行数据查询、获取以得到期望数据,提高了数据获取效率。
在一个实施场景中,第一数据获取请求和第二数据获取请求均包括待获取的第一数据的至少一个属性信息。例如,属性信息包括但不限于:用户名、年龄、地区、身份证号等等。
步骤S43:接收来自易失性存储系统30的与第二数据获取请求匹配的第一数据。
服务节点20接收来自易失性存储系统30的与第二数据获取请求匹配的第一数据。
步骤S44:向非易失性存储系统10发送接收的第一数据。
服务节点20向非易失性存储系统10发送接收的第一数据。
请参阅图6,图6为本申请数据传输方法又一实施例的流程示意图。服务节点20还可以设置有本地缓存,上述步骤S43之后,本实施例还可以具体包括:
步骤S61:将接收的第一数据存储于本地缓存中。
例如,服务节点20在接收到易失性存储系统30发送的第一数据时,将该第一数据保存于本地缓存中,直至接收到易失性存储系统30发送的数据发送完成标识,则完成第一数据的缓存。
基于上述步骤S61,上述步骤S44具体可以包括:
步骤S62:从本地缓存中读取第一数据,并向非易失性存储系统10发送读取的第一数据。
本实施例中,服务节点20可在接收完易失性存储系统30发送的所有第一数据并将其保存在本地缓存之后,再从本地缓存中读取第一数据,并向非易失性存储系统10发送读取的第一数据。在另一实施例中,服务节点20也可同步进行对易失性存储系统30的数据缓存以及对非易失性存储系统10的数据发送,即,服务节点20一边接收易失性存储系统30发送的部分第一数据并保存于本地缓存中,一边从本地缓存中读取第一数据,并向非易失性存储系统10发送读取的第一数据。
步骤S63:若检测到非易失性存储系统10未成功接收部分第一数据,则执行步骤S64。
例如,服务节点20在向非易失性存储系统10执行发送本地缓存中的所有第一数据后,若检测到非易失性存储系统10未成功接收部分第一数据,则可执行步骤S64,以保证非易失性存储系统10所期望获取的数据的完整性。
步骤S64:再次从本地缓存中读取相应部分第一数据并发送给非易失性存储系统。
服务节点20再次从本地缓存中读取相应部分第一数据并发送给非易失性存储系统10,进而保证非易失性存储系统10所期望获取的数据的完整性,同时也使得服务节点20若检测到非易失性存储系统10未成功接收部分第一数据时,再次向非易失性存储系统10发送相应的部分第一数据时,不必再从易失性存储系统30中获取,只需从服务节点20自身的本次缓存中读取即可,提高了数据传输效率。
在一个实施场景中,在从本地缓存中读取相应部分第一数据并发送给非易失性存储系统10后,可能仍然存在非易失性存储系统10未成功接收部分第一数据的情况,因此,为了充分保证非易失性存储系统10所期望获取的数据的完整性,上述步骤S63和步骤S64可循环执行若干次,例如1次、2次、3次等等,直至服务节点20检测到非易失性存储系统10已接收全部的第一数据。
在一个实施场景中,上述步骤S63中,若检测到非易失性存储系统10成功接收全部第一数据,则本实施例还可以包括:
步骤S65:清除本地缓存中所缓存的第一数据。
上述步骤S44之后可以包括:
步骤S66:检测到非易失性存储系统10已成功写入全部第一数据,并清除缓存的第一数据。
服务节点20检测到非易失性存储系统10已成功写入全部第一数据,并清除本地缓存中所缓存的第一数据。
通过上述方式,在服务节点20中设置本地缓存,待易失性存储系统30将全部第一数据发送完成后将其缓存到本地缓存中,再读取缓存的第一数据并发送至非易失性存储系统10,通过服务节点20检测非易失性存储系统10是否完全接收到第一数据,若未完全接收,则再次从本地缓存中读取并发送未接收的部分第一数据,进而尽可能地保证非易失性存储系统10数据接收的完整性,同时也提高了数据传输效率。
请参阅图7,图7是本申请数据传输方法又一实施例的流程示意图。在一个实施例中,该非易失性存储系统10支持事务机制,该服务节点可用于对非易失性存储系统10的事务控制。具体地,在上述步骤S44之前,本申请数据传输方法还可以包括:
步骤S71:向非易失性存储系统10发送第一事务启动通知,以使非易失性存储系统10启动第一写数据事务。
服务节点20可调用非易失性存储系统10的事务启动接口,来向非易失性存储系统10发送第一事务启动通知,以使非易失性存储系统10启动第一写数据事务。
在数据处理领域中,数据库事务(Database Transaction),是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么完全成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。故当本次第一写数据事务启动后,非易失性存储系统10接收到的所有数据要么全部成功写入,要么全部失败回滚至第一写数据事务启动之前的数据。
步骤S72:检测到非易失性存储系统10已成功写入全部第一数据,并向非易失性存储系统10发送事务完成通知,以使非易失性存储系统10完成第一写数据事务。
服务节点20检测到非易失性存储系统10已成功写入全部第一数据,则向非易失性存储系统10发送事务完成通知,也即事务提交指令,以使非易失性存储系统10完成第一写数据事务,此时,非易失性存储系统10成功写入第一数据,事务结束。
步骤S73:检测到非易失性存储系统10未成功写入全部第一数据,并向非易失性存储系统10发送事务回滚通知,以使非易失性存储系统10对第一写数据事务进行回滚。
服务节点20检测到非易失性存储系统10未成功写入全部第一数据,则表示此时部分数据写入事变,故向非易失性存储系统10发送事务回滚通知,以使非易失性存储系统10将在本次第一写数据事务启动之后写入的数据全部清除,回滚至第一写数据事务启动的数据。
在一个实施场景中,以网上购物为例,在一次网上购物的交易过程中,其付款过程至少包括以下几个数据库操作:(1)更新客户所购的库存信息(2)保存客户付款信息(3)生成订单并且保存到数据库中(4)更新用户相关信息,例如购物数量等等。在正常情况下,这些操作均将顺利进行,最终交易成功。此时服务节点20可以检测到上述数据库操作涉及到的数据均成功写入非易失性存储系统10,并向非易失性存储系统10发送事务完成通知,以使非易失性存储系统10完成第一写数据事务。但是,在某些情况下,不排除上述某一个或某些数据库操作失败,例如在更新商品库存信息时发生异常、或客户的银行账户余额不足等,均将导致交易失败。一旦失败,为维持数据库事务,需将数据库中所有信息都必须保持交易前的状态不变。此时,服务节点20检测到非易失性存储系统10未成功写入全部第一数据,并向非易失性存储系统10发送事务回滚通知,以使非易失性存储系统10对第一写数据事务进行回滚。
其中,在一个实施例中,如图1b所示,非易失性存储系统10包括多个分布式存储节点11。具体而言:
本实施例中,上述步骤S44可以包括:根据预设数据关联信息,将接收的第一数据分发给对应的分布式存储节点。
在一个实施场景中,服务节点20预先设置好数据关联信息,即设置好各个分布式存储节点11负责接收、存储的第一数据,例如根据哈希规则,某一分布式存储节点11负责接收、存储库存相关数据,另一分布式存储节点11负责接收、存储订单相关数据,又一个分布式存储节点11负责接收、存储客户付款相关数据等等。
在一个实施场景中,服务节点20将接收的第一数据根据预设数据关联信息并行分发给对应的分布式存储节点11,即服务节点20同时给多个分布式存储节点11分发第一数据;在另一个实施场景中,服务节点20将接收的第一数据根据预设数据关联信息串行分发给对应的分布式存储节点11,即服务节点20依序给各个分布式存储节点11分发第一数据。本实施例不限制服务节点20将第一数据分发给对应的分布式存储节点11的方式。
本实施例中,上述步骤S72中检测到非易失性存储系统10已成功写入全部第一数据可以包括:检测到非易失性存储系统10的所有分布式存储节点11均反馈数据成功接收消息。即服务节点20检测到非易失性存储系统10的所有分布式存储节点11均反馈数据成功接收消息。
本实施例中,上述步骤S72中向非易失性存储系统10发送事务回滚通知可以包括:向已发送数据成功接收消息的分布式存储节点11发送事务回滚通知,以使相应分布式存储节点11删除本次写入的第一数据。即服务节点20向已发送数据成功接收消息的分布式存储节点11发送事务回滚通知,以使相应分布式存储节点11删除本次写入的第一数据。在一个实施场景中,仍以网上购物为例,某一个或某些数据库操作失败,例如在更新商品库存信息时发生异常、或客户的银行账户余额不足等,均将导致交易失败。一旦失败,为维持数据库事务,需将数据库中所有信息都必须保持交易前的状态不变。例如,其中一个分布式存储节点11成功写入库存相关的第一数据并向服务节点20反馈数据成功接收消息,另一分布式存储节点11未成功写入订单相关的第一数据则未向服务节点20反馈数据成功接收消息,又一分布式存储节点11成功写入客户付款相关的第一数据则向服务节点20反馈数据成功接收消息,此时服务节点20根据接收到的数据成功接收消息可知负责接收、存储订单相关的第一数据的分布式存储节点11未成功接收数据,其他分布式存储节点11均已成功接收数据,则服务节点20向已发送数据成功接收消息这些分布式存储节点11发送事务回滚通知,从而使得这些分布式存储节点11删除本次写入的第一数据。
通过上述方式,当非易失性存储系统10包括多个分布式存储节点11时,服务节点20根据预设的数据关联信息,将接收的第一数据分发给对应的分布式存储节点11,若服务节点20检测到非易失性存储系统10的所有分布式存储节点11均反馈数据成功接收消息,则向非易失性存储系统10发送事务完成通知,以使非易失性存储系统10完成第一写数据事务。若服务节点20检测到非易失性存储系统10的部分分布式存储节点11未反馈数据成功接收消息,则向已发送数据成功接收消息的分布式存储节点11发送事务回滚通知,以使相应的分布式存储节点11删除本次写入的第一数据。通过上述方式,本申请数据传输方法可以尽可能保证非易失性存储系统10的所有分布式存储节点11事务原子性、一致性。
请参阅图8,图8是本申请数据传输方法又一实施例的流程示意图。本实施例中,服务节点20在接收到易失性存储系统30发送的数据获取请求时,实现非易失性存储系统10与易失性存储系统30之间的数据传输,具体而言,本实施例中数据传输方法可以包括:
步骤S81:接收非易失性存储系统10发送的第二数据。
服务节点20接收非易失性存储系统10发送的第二数据。第二数据为易失性存储系统30向非易失性存储系统10请求获取的数据。
步骤S82:向易失性存储系统30发送接收的第二数据。
服务节点20接收到非易失性存储系统10发送的第二数据后,接着向易失性存储系统30发送接收的第二数据,以实现非易失性存储系统10与易失性存储系统30之间的数据传输。
通过上述方式,服务节点20在接收易失性存储系统30发送的数据获取请求时,接收非易失性存储系统10发送的第二数据,接着向易失性存储系统30发送接收的第二数据,进而实现了非易失性存储系统10与易失性存储系统30之间的数据传输。
请参阅图9,在一个实施例中,服务节点20设置有本地缓存,上述步骤S81之后,本实施例还可以包括:
步骤S91:将接收的第二数据存储于本地缓存中。
本实施例中,上述步骤S82可以包括:
步骤S92:从本地缓存中读取第二数据,并向易失性存储系统30发送读取的第二数据。
服务节点20从本地缓存中读取第二数据,并向易失性存储系统30发送读取的第二数据。
步骤S93:判断是否检测到易失性存储系统30未成功接收部分第二数据,若是,则执行步骤S94。
服务节点20若检测到易失性存储系统30未成功接收部分第二数据,则执行步骤S94,以保证易失性存储系统30所期望获取的数据的完整性。
步骤S94:再次从本地缓存中读取相应部分第二数据并发送给易失性存储系统30。
服务节点20再次从本地缓存中读取相应部分第二数据并发送给易失性存储系统30,进而保证易失性存储系统30所期望获取的数据的完整性,同时也使得服务节点20若检测到易失性存储系统30未成功接收部分第二数据时,再次向易失性存储系统30发送相应的部分第二数据时,不必再从非易失性存储系统10中获取,只需从服务节点20自身的本次缓存中读取即可,提高了数据传输效率。
在一个实施场景中,在从本地缓存中读取相应部分第二数据并发送给易失性存储系统30后,可能仍然存在易失性存储系统30未成功接收部分第二数据的情况,因此,为了充分保证易失性存储系统30所期望获取的数据的完整性,上述步骤S93和步骤S94可循环执行若干次,例如1次、2次、3次等等,直至服务节点20检测到易失性存储系统30已接收全部的第二数据
在一个实施场景中,上述步骤S93中,若检测到易失性存储系统30成功接收全部第二数据,则本实施例还可以包括:
步骤S95:清除本地缓存中所缓存的第二数据。
上述步骤S82之后可以包括:
步骤S96:检测到易失性存储系统30已成功写入全部第二数据,并清除缓存的第二数据。
服务节点20检测到易失性存储系统30已成功写入全部第二数据,并清除本地缓存中所缓存的第二数据。
通过上述方式,在服务节点20中设置本地缓存,待非易失性存储系统10将全部第二数据发送完成后将其缓存到本地缓存中,再读取缓存的第二数据并发送至易失性存储系统30,通过服务节点20检测易失性存储系统30是否完全接收到第二数据,若未完全接收,则再次从本地缓存中读取并发送未接收的部分第二数据,进而尽可能地保证易失性存储系统30数据接收的完整性,同时也提高了数据传输效率。
可以理解的是,图9所示实施例对第二数据进行缓存的相关步骤的具体描述可参考上面实施例中对第一数据进行缓存的相关步骤,在此不做赘述。
请参阅图10,图10为本申请数据传输方法又一实施例的流程示意图。本实施例中,考虑部分易失性存储系统30能够支持事务机制,该服务节点可用于对该部分的易失性存储系统30的事务控制。具体地,在上述步骤S81之前,本实施例还可以包括:
步骤S101:接收非易失性存储系统10发送的准备写请求。
在一个实施场景中,用户通过个人计算机、手机等终端向非易失性存储系统10发送准备写请求,接着非易失性存储系统10向服务节点20发送准备写请求。
步骤S102:判断易失性存储系统30是否支持事务机制,若是,则执行步骤S103。
服务节点20判断易失性存储系统30是否支持事务机制,在数据处理领域,某些易失性存储系统30支持事务机制,而某些易失性存储系统30不支持事务机制。
步骤S103:向易失性存储系统30发送事务启动通知,以使易失性存储系统30启动第二写数据事务。
服务节点20向易失性存储系统30发送事务启动通知,以使易失性存储系统30启动第二写数据事务。在一个实施场景中,通过易失性存储系统30的事务接口启动第二写数据事务。
在一个实施场景中,上述步骤S102若判断易失性存储系统30不支持事务机制,则本实施例还可以包括:
步骤S104:易失性存储系统30以非事务机制准备写第二数据。
当服务节点20判断易失性存储系统30不支持事务机制时,则易失性存储系统30以非事务机制准备写第二数据。
上述步骤S103之后,本实施例还可以包括:
步骤S105:检测到易失性存储系统30已成功写入全部第二数据,并向易失性存储系统30发送事务完成通知,以使易失性存储系统30完成第二写数据事务。
用户通过个人计算机、手机等终端输入SQL语句,并发送给非易失性存储系统10,非易失性存储系统10根据SQL语句检索出符合条件的第二数据,非易失性存储系统10将第二数据发送给服务节点20,服务节点20再以事务机制向易失性存储系统30发送第二数据。在一个实施场景中,服务节点20通过事务接口向易失性存储系统30写入第二数据,服务节点20检测到易失性存储系统30已成功写入全部第二数据,则向易失性存储系统30发送事务完成通知,以使易失性存储系统30完成第二写数据事务。在一个实施场景中,服务节点20在成功写入全部第二数据后,服务节点20还可以向非易失性存储系统10发送确认消息,以告知非易失性存储系统10已完成第二数据的发送。
步骤S106:检测到易失性存储系统30未成功写入全部第二数据,并向易失性存储系统30发送事务回滚通知,以使易失性存储系统30对第二写数据事务进行回滚。
在一个实施场景中,服务节点20检测到易失性存储系统30未成功写入全部第二数据,则向易失性存储系统30发送事务回滚通知,以使易失性存储系统30对第二写数据事务进行回滚。例如,服务节点20检测到易失性存储系统30成功写入了部分第二数据,服务节点20向易失性存储系统30发送事务回滚通知,易失性存储系统30接收到事务回滚通知后,删除已成功写入的部分第二数据。在另一个实施场景中,易失性存储系统30在删除已写入的部分第二数据后,服务节点20还可以继续向易失性存储系统30发送第二数据,直至服务节点20检测到易失性存储系统30成功写入全部第二数据。
请参阅图11,图11为本申请服务节点一实施例的框架示意图。服务节点20包括存储器21、处理器22和通信电路23;其中,处理器22耦接于存储器21和通信电路23,处理器22用于执行存储器21存储的程序指令,以配合通信电路23实现上述数据传输方法任一实施例中的步骤。存储器21用于存储处理器22执行的程序指令以及处理器22及通信电路23在数据传输过程中的数据等,该存储器21包括非易失性存储部分,用于存储上述程序指令。
处理器22控制通信电路23、存储器21及其自身以实现上述数据传输方法任一实施例的步骤。处理器22还可以称为CPU(Central Processing Unit,中央处理单元)。处理器22可能是一种集成电路芯片,具有信号的处理能力。处理器22还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器22可以由多个成电路芯片共同实现。
在本实施例中,服务节点20的处理器22通过调用存储器21存储的程序指令,用于执行上述数据传输方法任一实施例的步骤。例如,服务节点20预设有多个连接接口,多个连接接口分别用于与不同类型的易失性存储系统实现数据传输。在一个实施场景中,上述连接接口为存储在存储器21中的程序,该程序是与不同类型的易失性存储系统实现数据传输的方法。具体而言,处理器22控制通信电路23接收非易失性存储系统10发送的目标连接信息,处理器22确定目标连接信息指向的易失性存储系统30,并调动存储器21中存储的相应的连接接口与易失性存储系统30连接,处理器22控制通信电路23在接收到非易失性存储系统10或易失性存储系统30发送的数据获取请求时,实现非易失性存储系统10与易失性存储系统30之间的数据传输。
通过上述方式,服务节点20预设有多个用于与不同类型的易失性存储系统30连接的连接接口,利用设置在易失性存储系统30与非易失性存储系统10之间的服务节点20实现非易失性存储系统10与多种不同类型的易失性存储系统30之间的数据传输。
在一些实施例中,目标连接信息包括以下至少一者:易失性存储系统30的类型、易失性存储系统30的IP地址、易失性存储系统30的MAC地址、易失性存储系统30的标识名。
在一些实施例中,处理器22控制通信电路23在接收到非易失性存储系统10发送的数据获取请求时,实现非易失性存储系统10与易失性存储系统30之间的数据传输包括:处理器22控制通信电路23接收非易失性存储系统10发送的第一数据获取请求,处理器22响应于第一数据获取请求,处理器22控制通信电路23向易失性存储系统30发送第二数据获取请求,处理器22控制通信电路23接收来自易失性存储系统30的与第二数据获取请求匹配的第一数据,处理器22控制通信电路23向非易失性存储系统10发送接收的第一数据。
在一些实施例中,处理器22响应于第一数据获取请求,处理器22控制通信电路23向易失性存储系统30发送第二数据获取请求包括:处理器22将第一数据获取请求转换成易失性存储系统30能够识别的第二数据获取请求;处理器22控制通信电路23向易失性存储系统30发送第二数据获取请求;和/或,第一数据获取请求和第二数据获取请求均包括待获取的第一数据的至少一个属性信息。
在一些实施例中,处理器22控制通信电路23在接收来自易失性存储系统30的与第二数据获取请求匹配的第一数据之后,处理器22将控制存储器21将第一数据存储于存储器21的一部分中,例如本地缓存,处理器22控制通信电路23向非易失性存储系统10发送接收的第一数据包括:处理器22控制其自身从存储器21的本地缓存中读取第一数据,并控制通信电路23向非易失性存储系统10发送读取的第一数据,处理器22还用于若其检测到非易失性存储系统10未成功接收部分第一数据,则处理器22再次控制其自身从存储器21的本地缓存中读取相应部分第一数据并控制通信电路23发送给非易失性存储系统10,处理器22控制通信电路23在向非易失性存储系统10发送接收的第一数据之后,还包括:处理器22检测到非易失性存储系统10已成功写入全部第一数据,并控制存储器21清除缓存的第一数据。
在一些实施例中,处理器22控制通信电路23在向非易失性存储系统10发送接收的第一数据之前,还包括:处理器22控制通信电路23向非易失性存储系统10发送第一事务启动通知,以使非易失性存储系统10启动第一写数据事务;处理器22检测到非易失性存储系统10已成功写入全部第一数据,并控制通信电路23向非易失性存储系统10发送事务完成通知,以使非易失性存储系统10完成第一写数据事务;和/或,处理器22检测到非易失性存储系统10未成功写入全部第一数据,并控制通信电路23向非易失性存储系统10发送事务回滚通知,以使非易失性存储系统10对第一写数据事务进行回滚。
在一些实施例中,非易失性存储系统10包括多个分布式存储节点11,处理器22控制通信电路23向非易失性存储系统10发送接收的第一数据包括:处理器22根据预设数据关联信息,控制通信电路23将接收的第一数据分发给对应的分布式存储节点11,处理器22检测到非易失性存储系统10已成功写入全部第一数据包括:处理器22检测到非易失性存储系统10的所有分布式存储节点11均已反馈数据成功接收消息,处理器22控制通信电路23向非易失性存储系统10发送事务回滚通知包括:处理器22控制通信电路23向已发送数据成功消息的分布式存储节点11发送事务回滚通知,以使相应分布式存储节点11删除本次写入的第一数据。
在一些实施例中,处理器22控制通信电路23在接收到易失性存储系统30发送的数据获取请求时,实现非易失性存储系统10与易失性存储系统30之间的数据传输,包括:处理器22控制通信电路23接收非易失性存储系统10发送的第二数据,处理器22控制通信电路向易失性存储系统30发送接收的第二数据。
在一些实施例中,处理器22在控制通信电路23接收非易失性存储系统10发送第二数据之后,还包括:处理器22控制存储器21将接收的第二数据存储于存储器21的本地缓存中,处理器22控制通信电路23向易失性存储系统30发送接收的第二数据包括:处理器22控制其自身从存储器21的本地缓存中读取第二数据,并控制通信电路23向易失性存储系统30发送读取的第二数据,处理器22若检测到易失性存储系统30未成功接收部分第二数据,则再次控制存储器21从其本地缓存中读取相应的部分第二数据并控制通信电路23发送给易失性存储系统30,在处理器22控制通信电路23向易失性存储系统30发送接收的第二数据之后,还包括:处理器22检测到易失性存储系统30已成功写入全部第二数据,控制存储器21清除缓存的第二数据。
在一些实施例中,在处理器22控制通信电路23接收非易失性存储系统10发送的第二数据之前,还包括:处理器22控制控制通信电路23接收非易失性存储系统10发送的准备写请求,处理器22还用于若其确定易失性存储系统30支持事务机制,则处理器22控制通信电路23向易失性存储系统30发送事务启动通知,以使易失性存储系统30启动第二写数据事务,处理器22若检测到易失性存储系统30已成功写入全部第二数据,处理器22控制通信电路23向易失性存储系统30发送事务完成通知,以使易失性存储系统30完成第二写数据事务,和/或,处理器22检测到易失性存储系统30未成功写入全部第二数据,并控制通信电路23向易失性存储系统30发送事务回滚通知,以使易失性存储系统30对第二写数据事务进行回滚。
在一些实施例中,上述非易失性存储系统10可以是分布式磁盘数据库系统,易失性存储系统30可以是内存数据库系统。
请参阅图12,图12为本申请存储装置一实施例的框架示意图。本申请存储装置120存储有能够被处理器运行的程序指令1201,程序指令1201用于实现上述任一图像传输方法的实施例中步骤。
该存储装置120具体可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等可以存储程序指令1201的介质,或者也可以为存储有该程序指令1201的服务器,该服务器可将存储的程序指令1201发送给其他设备运行,或者也可以自运行该存储的程序指令1201。
上述方案中,服务节点20预设有多个用于与不同类型的易失性存储系统30连接的连接接口,利用设置在易失性存储系统30与非易失性存储系统10之间的服务节点20实现非易失性存储系统10与多种不同类型的易失性存储系统30之间的数据传输。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (13)

1.一种数据传输方法,其特征在于,所述方法由服务节点执行,所述服务节点预设有多个连接接口,所述多个连接接口分别用于与不同类型的易失性存储系统实现数据传输,所述方法包括:
接收非易失性存储系统发送的目标连接信息;
确定所述目标连接信息指向的易失性存储系统,并通过相应的所述连接接口与所述易失性存储系统连接;
在接收到所述非易失性存储系统或所述易失性存储系统发送的数据获取请求时,实现所述非易失性存储系统与所述易失性存储系统之间的数据传输。
2.根据权利要求1所述的方法,其特征在于,所述在接收到所述非易失性存储系统发送的数据获取请求时,实现所述非易失性存储系统与所述易失性存储系统之间的数据传输,包括:
接收所述非易失性存储系统发送的第一数据获取请求;
响应于所述第一数据获取请求,向所述易失性存储系统发送第二数据获取请求;
接收来自所述易失性存储系统的与所述第二数据获取请求匹配的第一数据;
向所述非易失性存储系统发送所述接收的第一数据。
3.根据权利要求2所述的方法,其特征在于,所述响应于所述第一数据获取请求,向所述易失性存储系统发送第二数据获取请求,包括:
将所述第一数据获取请求转换成所述易失性存储系统能够识别的第二数据获取请求;
向所述易失性存储系统发送第二数据获取请求;
和/或,所述第一数据获取请求和所述第二数据获取请求均包括待获取的所述第一数据的至少一个属性信息。
4.根据权利要求2所述的方法,其特征在于,在所述接收来自所述易失性存储系统的与所述第二数据获取请求匹配的第一数据之后,还包括:
将接收的所述第一数据存储于本地缓存中;
所述向所述非易失性存储系统发送所述接收的第一数据,包括:
从所述本地缓存中读取所述第一数据,并向所述非易失性存储系统发送所述读取的第一数据;
若检测到所述非易失性存储系统未成功接收部分所述第一数据,则再次从所述本地缓存中读取相应部分所述第一数据并发送给所述非易失性存储系统;
在所述向所述非易失性存储系统发送所述接收的第一数据之后,还包括:
检测到所述非易失性存储系统已成功写入全部所述第一数据,并清除所述缓存的第一数据。
5.根据权利要求2所述的方法,其特征在于,在所述向所述非易失性存储系统发送所述接收的第一数据之前,所述方法还包括:
向所述非易失性存储系统发送第一事务启动通知,以使所述非易失性存储系统启动第一写数据事务;
检测到所述非易失性存储系统已成功写入全部所述第一数据,并向所述非易失性存储系统发送事务完成通知,以使所述非易失性存储系统完成所述第一写数据事务;和/或,检测到所述非易失性存储系统未成功写入全部所述第一数据,并向所述非易失性存储系统发送事务回滚通知,以使所述非易失性存储系统对所述第一写数据事务进行回滚。
6.根据权利要求5所述的方法,其特征在于,所述非易失性存储系统包括多个分布式存储节点;
所述向所述非易失性存储系统发送所述接收的第一数据,包括:
根据预设数据关联信息,将所述接收的第一数据分发给对应的所述分布式存储节点;
所述检测到所述非易失性存储系统已成功写入全部所述第一数据,包括:
检测到所述非易失性存储系统的所有分布式存储节点均反馈数据成功接收消息;
所述向所述非易失性存储系统发送事务回滚通知,包括:
向已发送所述数据成功接收消息的分布式存储节点发送所述事务回滚通知,以使相应所述分布式存储节点删除本次写入的所述第一数据。
7.根据权利要求1所述的方法,其特征在于,所述在接收到所述易失性存储系统发送的数据获取请求时,实现所述非易失性存储系统与所述易失性存储系统之间的数据传输,包括:
接收所述非易失性存储系统发送的第二数据;
向所述易失性存储系统发送所述接收的第二数据。
8.根据权利要求7所述的方法,其特征在于,在所述接收所述非易失性存储系统发送的第二数据之后,还包括:
将接收的所述第二数据存储于本地缓存中;
所述向所述易失性存储系统发送所述接收的第二数据,包括:
从所述本地缓存中读取所述第二数据,并向所述易失性存储系统发送所述读取的第二数据;
若检测到所述易失性存储系统未成功接收部分所述第二数据,则再次从所述本地缓存中读取相应部分所述第二数据并发送给所述易失性存储系统;
在所述向所述易失性存储系统发送所述接收的第二数据之后,还包括:
检测到所述易失性存储系统已成功写入全部所述第二数据,并清除所述缓存的第二数据。
9.根据权利要求7所述的方法,其特征在于,在所述接收所述非易失性存储系统发送的第二数据之前,所述方法还包括:
接收所述非易失性存储系统发送的准备写请求;
若确定所述易失性存储系统支持事务机制,则向所述易失性存储系统发送事务启动通知,以使所述易失性存储系统启动第二写数据事务;
检测到所述易失性存储系统已成功写入全部所述第二数据,并向所述易失性存储系统发送事务完成通知,以使所述易失性存储系统完成所述第二写数据事务;和/或,检测到所述易失性存储系统未成功写入全部所述第二数据,并向所述易失性存储系统发送事务回滚通知,以使所述易失性存储系统对所述第二写数据事务进行回滚。
10.一种服务节点,其特征在于,包括存储器、处理器和通信电路;其中,所述处理器耦接于所述存储器和通信电路;
所述处理器用于执行所述存储器存储的程序指令,以配合所述通信电路实现权利要求1至9任一项所述的方法。
11.一种数据传输系统,其特征在于,包括非易失性存储系统、服务节点以及易失性存储系统;
所述非易失性存储系统通过所述服务节点与所述易失性存储系统连接;
所述服务节点为权利要求10所述的服务节点。
12.根据权利要求11所述的系统,其特征在于,所述非易失性存储系统包括多个分布式存储节点;
其中,所述服务节点与至少一个所述分布式存储节点集成在同一物理设备上,或者所述服务节点与所述易失性存储系统集成在同一物理设备上,又或者,所述服务节点与所述非易失性存储系统和所述易失性存储系统分别设置于不同物理设备上。
13.一种存储装置,其特征在于,存储有能够被处理器运行的程序指令,所述程序指令用于实现权利要求1至9任一项所述的方法。
CN201910300935.4A 2019-04-15 2019-04-15 数据传输方法及系统、服务节点、存储装置 Active CN110175179B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910300935.4A CN110175179B (zh) 2019-04-15 2019-04-15 数据传输方法及系统、服务节点、存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910300935.4A CN110175179B (zh) 2019-04-15 2019-04-15 数据传输方法及系统、服务节点、存储装置

Publications (2)

Publication Number Publication Date
CN110175179A true CN110175179A (zh) 2019-08-27
CN110175179B CN110175179B (zh) 2021-09-10

Family

ID=67689610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910300935.4A Active CN110175179B (zh) 2019-04-15 2019-04-15 数据传输方法及系统、服务节点、存储装置

Country Status (1)

Country Link
CN (1) CN110175179B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737351A (zh) * 2020-06-22 2020-10-02 中国银行股份有限公司 分布式管理系统事务管理方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144283A1 (en) * 2003-12-15 2005-06-30 Fatula Joseph J.Jr. Apparatus, system, and method for grid based data storage
CN103473318A (zh) * 2013-09-12 2013-12-25 中国科学院软件研究所 一种面向内存数据网格的分布式事务保障方法
CN104217759A (zh) * 2013-05-31 2014-12-17 爱思开海力士有限公司 非易失性存储装置、其操作方法及包括其的系统
CN104239252A (zh) * 2013-06-21 2014-12-24 华为技术有限公司 数据存储系统的数据传输方法、装置及系统
CN104376062A (zh) * 2014-11-11 2015-02-25 中国有色金属长沙勘察设计研究院有限公司 一种异构数据库平台数据的同步方法
CN107111575A (zh) * 2014-11-12 2017-08-29 罗伯特·博世有限公司 用于在计算机系统内部传输数据的方法和存储管理装置、存储系统和计算机系统
CN109325068A (zh) * 2018-08-10 2019-02-12 北京搜狐新媒体信息技术有限公司 一种数据交换方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144283A1 (en) * 2003-12-15 2005-06-30 Fatula Joseph J.Jr. Apparatus, system, and method for grid based data storage
CN104217759A (zh) * 2013-05-31 2014-12-17 爱思开海力士有限公司 非易失性存储装置、其操作方法及包括其的系统
CN104239252A (zh) * 2013-06-21 2014-12-24 华为技术有限公司 数据存储系统的数据传输方法、装置及系统
CN103473318A (zh) * 2013-09-12 2013-12-25 中国科学院软件研究所 一种面向内存数据网格的分布式事务保障方法
CN104376062A (zh) * 2014-11-11 2015-02-25 中国有色金属长沙勘察设计研究院有限公司 一种异构数据库平台数据的同步方法
CN107111575A (zh) * 2014-11-12 2017-08-29 罗伯特·博世有限公司 用于在计算机系统内部传输数据的方法和存储管理装置、存储系统和计算机系统
CN109325068A (zh) * 2018-08-10 2019-02-12 北京搜狐新媒体信息技术有限公司 一种数据交换方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737351A (zh) * 2020-06-22 2020-10-02 中国银行股份有限公司 分布式管理系统事务管理方法及装置

Also Published As

Publication number Publication date
CN110175179B (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
CN105468302B (zh) 一种处理数据的方法、装置及系统
CN110417558A (zh) 签名的验证方法和装置、存储介质及电子装置
US10366106B2 (en) Quorum-based replication of data records
CN105808634A (zh) 分布式映射化简网络
EP3935515B1 (en) Metadata routing in a distributed system
TW202037114A (zh) 基於區塊鏈的資料核對系統、方法、計算設備及儲存媒體
CN112559637B (zh) 基于分布式存储的数据处理方法、装置、设备以及介质
CN105516230B (zh) 一种数据处理方法及装置
CN102088490A (zh) 数据存储方法、设备和系统
CN104981788A (zh) 存储系统及存储系统的控制方法
CN108280134B (zh) 基于账户额度控制的数据流通系统及方法、存储介质、终端
CN112181723A (zh) 一种金融灾备方法、装置、存储介质及电子设备
CN108418859A (zh) 写数据的方法和装置
CN110196680A (zh) 数据处理方法、装置及存储介质
CN110515555A (zh) 基于多路对象存储服务的高可靠性企业级存储系统及读写方法
CN110175179A (zh) 数据传输方法及系统、服务节点、存储装置
WO2023207529A1 (zh) 数据处理方法、装置及设备、介质、产品
CN107329798A (zh) 数据复制的方法、装置和虚拟化系统
CN106657350A (zh) 数据复制方法及装置
CN115208900B (zh) 基于区块链与博弈模型的多云架构云服务资源调度方法
CN116860470A (zh) 数据传输方法、装置、计算机设备和存储介质
CN114493602B (zh) 区块链交易的执行方法、装置、电子设备和存储介质
WO2024021470A1 (zh) 一种跨区域的数据调度方法、装置、设备及存储介质
CN112669160B (zh) 数据处理方法、装置、电子设备及存储介质
CN104391926B (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