CN106959820B - 一种数据提取方法和系统 - Google Patents

一种数据提取方法和系统 Download PDF

Info

Publication number
CN106959820B
CN106959820B CN201610016921.6A CN201610016921A CN106959820B CN 106959820 B CN106959820 B CN 106959820B CN 201610016921 A CN201610016921 A CN 201610016921A CN 106959820 B CN106959820 B CN 106959820B
Authority
CN
China
Prior art keywords
data
cloud
storage
extraction
storage cloud
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
CN201610016921.6A
Other languages
English (en)
Other versions
CN106959820A (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201610016921.6A priority Critical patent/CN106959820B/zh
Publication of CN106959820A publication Critical patent/CN106959820A/zh
Application granted granted Critical
Publication of CN106959820B publication Critical patent/CN106959820B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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]
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种数据提取方法,应用于云存储系统,云存储系统包括第一提取管理服务器、主存储云以及多个从存储云,所述方法包括:第一提取管理服务器接收用户终端发送的数据提取请求,数据提取请求中包含待提取目标数据的存储位置信息;第一提取管理服务器根据存储位置信息确定对应的主存储云,并将数据提取请求发送至主存储云;主存储云根据数据提取请求获取与待提取目标数据相对应的数据索引信息;主存储云基于数据索引信息从主存储云或相应的多个从存储云中提取目标数据,并将目标数据发送至用户终端。本发明在云存储环境下,通过提高索引检索速度及数据分散提取策略,提高数据提取的效率。

Description

一种数据提取方法和系统
技术领域
本发明属于数据存储与调用技术领域,特别涉及一种数据提取方法和系统。
背景技术
云存储,是在云计算概念上延伸和发展出来的概念,其为一种新的网络存储技术,通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。
随着科技的发展,云部署的规模越来越大,数据量正在以千万数量级增长,同时用户对云存储性能和应用体验的要求也越来越高。
当用户所请求的数据存储在多个存储云时,现有技术通常是采用遍历所有存储云的方式来查找并提取数据,这种方式不但效率低而且用户体验效果差。
发明内容
本发明的目的是提供一种数据提取方法和系统,以提高从多个存储云中提取数据的效率。
本发明的一个方面提供了一种数据提取方法,应用于云存储系统,所述云存储系统包括第一提取管理服务器、主存储云以及多个从存储云,所述方法包括:所述第一提取管理服务器接收用户终端发送的数据提取请求,所述 数据提取请求中包含待提取目标数据的存储位置信息;所述第一提取管理服务器根据所述存储位置信息确定对应的主存储云,并将所述数据提取请求发送至所述主存储云,其中,所述主存储云为初始存储所述待提取目标数据的存储云;所述主存储云根据所述数据提取请求获取与所述待提取目标数据相对应的数据索引信息;所述主存储云基于所述数据索引信息从相应的多个从存储云中提取目标数据,并将所述目标数据发送至用户终端。
本发明的另一个方面提供了一种数据提取系统,包括第一提取管理服务器、主存储云以及多个从存储云;第一提取管理服务器,用于接收并根据用户终端发送的数据提取请求确定对应的主存储云,并将所述数据提取请求发送至所述主存储云;其中,所述数据提取请求中包含待提取目标数据的存储位置信息,所述主存储云为初始存储所述待提取目标数据的存储云;主存储云,用于根据所述数据提取请求获取与所述待提取目标数据相对应的数据索引信息,并基于所述数据索引信息从相应的多个从存储云中提取目标数据,并将所述目标数据发送至用户终端。
本发明通过先将用户发送来的数据提取请求发送至初始存储待提取目标数据的主存储云,再通过在主存储云中获取与待提取目标数据相对应的数据索引信息,并基于该数据索引信息从相应的多个从存储云中提取目标数据,避免了遍历所有存储云服务器的繁琐工作,有效提高了提取效率。
附图说明
图1是云存储系统正常写入数据的一实施例的示意图;
图2是云存储系统异常写入数据的一实施例的示意图;
图3是根据本发明实施例的数据提取方法的一实施例的流程图;
图4是根据本发明实施例的数据分散存储在存储云的一实施例的示意图;
图5是根据本发明实施例的数据提取过程中异常情况下云间切换中转数据的一实施例的示意图;
图6是根据本发明实施例的数据提取系统的一实施例的系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
图1是云存储系统正常写入数据的一实施例的示意图。
首先,在从云存储环境中提取数据之前,通常会先向云存储系统的多个存储云中写入数据。在正常使用环境中,云存储系统会以就近原则写入数据,如图1所示正常写入数据的例子:具有多个相互协同关联的存储云,包括:云1、……云N。每个存储云中有多个云存储节点。用户终端写入的数据来自各个进行录像的前端摄像头的编码器,比如:前端摄像头采集的图像经其编码器形成数据,并将数据写入(或上传)到同一网段或邻近网段的存储云,来保证数据安全可靠。
图2是云存储系统异常写入数据的一实施例的示意图。
用户终端向云存储系统发送数据存储请求,云存储系统将数据存储请求发送到与用户终端IP(网络之间互连的协议,Internet Protocol)地址地理位置最近的存储云,该最近的存储云即为主存储云;当主存储云发生故障或 由于其他特殊原因,主存储云需要将数据拆分成数据块并分散存储到多个其他存储云,这些分散存储数据的其他存储云即为从存储云,当主存储云的故障恢复时,多个从存储云将数据存储信息回传给主存储云,主存储云将多个从存储云回传的数据存储信息汇总后形成数据索引信息。作为本发明的一种实施方式,数据索引信息记录了各数据块的存储路径信息,或从存储云的IP地址与所存储的数据块的标识信息的映射关系。
需要说明的是:本发明中,“主存储云”和“从存储云”是一对相对概念,仅仅在针对某个具体数据时才会区分;同一个存储云,对于某个数据来说是主存储云,对于其他数据来说,可能是从存储云。
如图2所示异常写入数据的例子:将写入出现故障的存储云云1(主存储云)的数据,转存到工作正常的附近关联协同工作的存储云N(从存储云)中。主存储云通过将数据分散存储到其他多个从存储云中可以确保数据的完整性,这样,在数据提取过程中,先要从各个存储云中检索出数据索引信息,再根据数据索引信息找到相应的数据存储位置完成数据提取工作,但由于某个存储云发生故障时数据会分散存储到多个存储云中,在进行数据提取时需要对所有的存储云进行检索,才能得到数据存储信息,这种检索方式,在进行检索时占用资源多,且检索效率不高。
基于上述前提,如图3所示,本发明实施例提供一种数据提取方法,应用于云存储系统,云存储系统包括第一提取管理服务器、主存储云以及多个从存储云,该方法包括:
步骤S110,第一提取管理服务器接收用户终端发送的数据提取请求,所述数据提取请求中包含待提取目标数据的存储位置信息。
在本步骤中,当用户要提取数据时,通过用户终端向第一提取管理服务器发送数据提取请求,数据提取请求中包含待提取数据的存储位置信息,即存储待提取数据的主存储云位置信息,其中,所述主存储云为初始存储所述待提取目标数据的存储云。作为本发明的一种实施方式,该存储位置信息可以是主存储云的IP地址。另外,作为本发明一种实施方式,数据提取请求中还可以包含用户ID(Identification,用户识别信息),即发送数据提取请求的用户终端的标识信息。
需要说明的是,第一提取管理服务器为首次接收到用户终端发送的数据提取请求的服务器,它通常属于与用户终端IP地址地理位置上最近的存储云,即主存储云。当然,它也可以根据预定的接收消息策略而设置,不属于主存储云。本发明在此不做限定。
步骤S120,第一提取管理服务器根据存储位置信息确定对应的主存储云,并将数据提取请求发送至主存储云,其中,主存储云为初始存储待提取目标数据的存储云。
本步骤中,第一提取管理服务器接收到数据提取请求后,从该数据提取请求中提取出待提取目标数据的存储位置信息,根据存储位置信息确定对应的主存储云,将所述数据提取请求发送至该主存储云,通常主存储云是该待提取数据初始存储时所在的存储云。用户在将数据写入存储云的时候,数据会有一个初始存储位置,我们将初始存储某数据的云定义为主存储云,当主存储云发生故障或其他特殊原因,主存储云才将数据切分为若干数据块,分散存储到其他存储云中,这些其他存储云即为从存储云。
步骤S130,主存储云根据数据提取请求获取与待提取目标数据相对应的 数据索引信息。
待提取数据初始存储时所在的存储云(主存储云)中存储有数据索引信息,该数据索引信息是数据写入过程中主存储云将多个从存储云回传的数据存储信息汇总后形成的,数据索引信息中包含有分散存储的各数据块的存储路径信息。
在本步骤中,主存储云接收到所述数据提取请求后,根据该数据提取请求获取与所述待提取目标数据相对应的数据索引信息,数据索引信息至少包含数据分散存储的各个从存储云的信息,即待提取目标数据实际分散存储的多个从存储云。在本发明的一种实施方式中,数据索引信息记录了分散存储的各数据块的存储路径信息,或从存储云的IP地址与所存储的数据块的标识信息的映射关系。因此,根据该存储路径信息或映射关系,主存储云可以找到存储待提取数据的各个从存储云。
步骤S140,主存储云基于数据索引信息从相应的多个从存储云中提取目标数据,并将目标数据发送至用户终端。
本步骤中,由于数据提取请求中还包含用户ID(Identification,用户识别信息),即发送数据提取请求的用户终端的标识信息,主存储云根据用户ID将提取到的目标数据发送至用户终端。
本发明实施例通过先将用户发送来的数据提取请求发送至初始存储待提取目标数据的主存储云,再通过在主存储云中获取与待提取目标数据相对应的数据索引信息,并基于该数据索引信息从相应的多个从存储云中提取目标数据,避免了遍历所有云存储服务器的繁琐工作,有效提高了提取效率。
进一步的,由于数据分散存储在多个存储云中,每个存储云的读写压力不同,网络压力也不同。本发明的一个实施方式中,主存储云包括第二提取管理服务器,用于基于数据索引信息从相应的多个从存储云中提取目标数据,在进行数据提取(包括下载该数据)时,主存储云的第二提取管理服务器首先对数据索引信息进行分析,由于数据索引信息是主存储云将多个从存储云回传的数据存储信息汇总后形成的,因此,数据索引信息中包含有数据块的存储路径信息,根据该存储路径信息,第二提取管理服务器可得知各个从存储云的地址信息,各个从存储云的地址信息可以是从存储云的IP地址。第二提取管理服务器根据各个从存储云的IP地址,获取各个从存储云的性能参数和/或网络环境参数,制定多个从存储云的数据提取策略。
这里需要说明的是,“第一提取管理服务器”与“第二提取管理服务器”是为描述清楚而给服务器定义的代号,本发明实施例中,当与用户终端地理位置最近的存储云,跟本发明中所提及的主存储云相同是,“第一提取管理服务器”与“第二提取管理服务器”为同一提取管理服务器;当与用户终端地理位置最近的存储云,跟本发明中所提及的主存储云为不同的存储云时,“第一提取管理服务器”与“第二提取管理服务器”为不同的提取管理服务器,这两种实施方式均包含在本发明的保护范围中。
如图4所示,在一个实施方式中,在云存储技术中,各个存储云(云1、云二)作为云存储节点(云存储节点一、二……五)。在存储数据时,采用分散存储策略,一个完整的文件(即数据)会被分割成多个数据块(数据块1、2、3……30),分散存储到多个存储云的云存储节点中。每个存储云的性能参数和/或网络环境参数不同,例如读写压力不同,进而每个云存储节点的读写 压力也都不同,当主存储云获取到数据索引信息后,对数据索引信息进行分析,制定合理的数据提取策略。
具体的,步骤S140进一步包括:
步骤S410,所述第二提取管理服务器对数据索引信息进行解析以获取数据存储的各个从存储云的信息,所述数据索引信息至少包含分散存储的待提取数据的存储路径信息,通过该存储路径信息,可以进一步得知各个从存储云的信息,例如从存储云的IP地址等。
本步骤中,第二提取管理服务器通过解析数据索引信息,获取待提取目标数据的存储路径信息,即分散存储在各个从存储云的存储位置,进一步的,通过该存储路径信息可以对应获知各从存储云的IP地址等信息。本发明实施例中,各个从存储云的信息包括存储云的性能参数和/或网络环境参数,其中,网络环境参数包括网络延时、丢包率、网络IO使用率等,性能参数包括CPU使用率、内存占用率等。第二提取管理服务器在获取到从存储云的IP地址后,可以根据IP地址得到存储云的性能参数和/或网络环境参数。
步骤S420,所述第二提取管理服务器基于数据存储的各个从存储云的信息形成数据提取策略。
本步骤中,基于分散存储在各从存储云的数据块的存储路径信息结合各从从存储云的网络环境参数、云存储节点性能等形成数据提取策略,
优选的,在所述第二提取管理服务器基于数据存储的各个从存储云的信息形成数据提取策略的步骤之后,还包括:第二提取管理服务器存储该数据提取策略,这样,以后再次访问/提取该数据时,不需要执行云间的数据索引信息,直接调用存储的数据提取策略,执行数据提取。
承接上述存储该数据提取策略的过程,如果主存储云的第二提取服务器查找到当前目标数据对应的数据提取策略,则根据该数据提取策略从相应的多个从存储云中提取目标数据并返回给用户终端,本发明通过存储数据提取策略,提高检索效率,进而提高数据提取效率。
步骤S430,所述第二提取管理服务器根据所述数据提取策略从所述各个从存储云中提取目标数据。
步骤S440,所述第二提取管理服务器将提取到的目标数据返回给用户终端。
本步骤中,第二提取管理服务器根据制定的数据提取策略,从各个从存储云中提取目标数据,并将从多个从存储云返回的数据块组合还原成完整的目标数据,然后返回该目标数据返回给用户终端。
关于数据提取策略的描述请参见下述描述。
在一实施方式中,所述数据提取策略包括:优先从网络状态好的存储云中提取数据。本步骤中,在向各个存储云写入数据或从存储云提取数据时,第二提取管理服务器会实时监控当前网络的状态,包括网络延时、丢包率和是否有断网等情况。具体的,基于检测到的各个存储云的网络状态,判断每个数据存储云的网络延时是否小于延时上限值、丢包率是否小于丢包率下限值或网络连接是否异常(即网络是否处于正常连通状态),当判断结果为是时(即判断结果为某个/某几个存储云的网络延时小于延时上限值、丢包率小于丢包率下限值或网络连接正常时,优先从网络延时小于延时上限值、丢包率小于丢包率下限值或网络连接正常的所述存储云中提取数据。例如,当某个数据存储云的网络延时小于50ms时,优先从该网络延时小的数据存储云中提 取数据。
在一实施方式中,所述数据提取方法还包括:为数据提取任务量多的数据存储云分配更多的线程,每个数据提取请求任务分配N个线程,即多线程,N≥1即根据云存储服务器中数据提取量大小的比值计算线程分配数量。本发明实施例中,由于数据存储时采用分散存储,存储到每个存储云中的数据量是不等的,在提取数据时可以查询到存储在每个存储云中的数据总量,然后根据数据量的比值分配线程。具体的,基于各个存储云中数据提取量的比值,为每个数据提取请求分配线程(每个数据提取请求即是一个数据提取任务);其中,每个数据提取请求任务分配N个线程,N≥1,并发提取所述数据,且每个存储云同时提取数据的线程不能大于T个线程,T<N/2。这样,使得数据提取量多的存储云分配更多的线程,并保证每个存储云同时提取数据的线程不能大于T个,T<N/2。比如,存储云为每个提取数据任务分配5个线程,如果云存储服务器中存储的数据量较大(本次提取任务),数据存储云首先将各个存储云按提取数据量排队,然后根据数据量的比值分配线程;如果数据提取量较小,可以分配一个线程或暂不分配(即让某个处于等待状态)。
在一实施方式中,所述数据提取方法还包括:当某个存储云无法提取数据时,通过中转方式提取所述数据。在提取数据过程中,同时提取数据的任务量小于等于提取上限值。本步骤中,当某个存储云无法提取数据时,判断无法提取的原因,并通过中转方式提取所述数据。另外,数据在提取数据的过程中,数据存储云需要优先保证写入任务的正确执行,所以对存储云提取数据的任务量进行了限制,每个存储云最大提取数据的任务量不能超过提取上限值。所述提取上限值可以是根据多个数据存储云的环境预先设定的一个 阈值,例如,可以设定提取数据最大值为录像任务的30%。
下面是对上述几种数据提取策略的详细说明。
所述数据提取策略包括:对网络连接正常且网络延时小于延时上限值和/或丢包率小于丢包率下限值的某个从存储云,分配低于线程下限值或低于其他从存储云的线程提取目标数据。
所述数据提取策略还包括:每个所述存储云包括多个云存储节点,所述数据提取策略还包括:对CPU使用率小于CPU使用率阈值和/或内存占用率小于内存占用率阈值和/或网络IO使用率小于IO使用率阈值的云存储节点,分配低于线程下限值或低于其他从存储云的线程提取目标数据。
具体的,在向各个存储云写入数据或从多个存储云提取数据时,实时监控当前网络状态,包括网络连接是否正常、网络延时和丢包率等情况。具体的,如果某个从存储云的网络连接正常且网络延时小于延时上限值和/或丢包率小于丢包率下限值,则为该数据存储云分配低于线程下限值的线程提取数据。例如,在提取数据过程中,为保证写入任务可以稳定执行,在提取数据时,如果数据所在的存储云的CPU使用率不超过50%和/或内存占用率不超过70%和/或网络IO使用率不超过70%,为该云存储节点分配低于线程下限值的线程进行数据的提取,例如,为该存储云分配3个线程提取数据。
所述数据提取策略还包括:对网络延时大于延时上限值或丢包率大于丢包率上限值的某个从存储云,延时从该从存储云提取目标数据。
所述数据提取策略还包括:对CPU使用率大于CPU使用率阈值和/或内存占用率大于内存占用率阈值或网络IO使用率大于IO使用率阈值的云存储节 点,延时从该从存储云提取目标数据。
具体的,若数据所在存储云压力大,则延时提取。如果数据所在云存储节点的CPU使用率大于CPU使用率阈值和/或内存占用率大于内存占用率阈值和/或网络IO使用率大于IO使用率阈值,延时从该存储云提取目标数据。例如,当数据所在云存储节点的CPU使用率大于60%时和/或内存占用率大于70%和/或网络IO使用率大于70%,延时从该云存储节点中提取数据。
进一步,在制定数据提取策略时,考虑到提取压力均衡策略,即可以在后续提取或者当前状态下,存在某个存储云数据提取任务量负荷过高,可以通过其他存储云提取备份数据或副本数据,从而提高网络利用率和有效利用多个云存储资源,平衡云和云之间的压力。
所述数据提取策略还包括:当某个从存储云的网络延时大于延时上限值或丢包率大于丢包率上限值时,从该从存储云和/或与之网络连接正常且网络延时小于延时上限值和/或丢包率小于丢包率下限值的其他从存储云提取该从存储云的备份目标数据或容灾目标数据。
所述数据提取策略还包括:当某个云存储节点的CPU使用率大于CPU使用率阈值、内存占用率大于内存占用率阈值或网络IO使用率大于IO使用率阈值时,从该从存储云和/或与之网络连接正常且网络延时小于延时上限值和/或丢包率小于丢包率下限值的其他从存储云提取该从存储云的备份目标数据或容灾目标数据。
具体的,如果某个从存储云的网络环境较差,例如,某个云存储节点的网络延时大于延时上限值或丢包率大于丢包率上限值,则通过与该从存储云 网络连接正常且网络延时小于延时上限值和/或丢包率小于丢包率下限值的其他从存储云提取目标数据。例如,当某个存储云的心跳超时(15秒)、网络延时大于1秒或发生断网现象(即处于无法正常通讯)时,通过网络连接正常延时小于延时上限值和/或丢包率小于丢包率下限值和/或检测到网络连接正常的存储云提取数据。如果某个云存储节点的负荷过高,例如,某个云存储节点的CPU使用率大于CPU使用率阈值和/或内存占用率大于内存占用率阈值和/或网络IO使用率大于IO使用率阈值时,通过与该从存储云网络连接正常且网络延时小于延时上限值和/或丢包率小于丢包率下限值的其他从存储云(即负荷低的从存储云)提取该从存储云的备份目标数据或容灾目标数据。本发明通过平衡提取压力策略,提高网络利用率,有效利用资源,平衡云间写入和提取压力。这里,延时提取的恢复时间可由用户自定义设置。
进一步,在制定数据提取策略时,考虑到云间切换策略,即可以在后续提取或当前状态下,如果提取数据对应的存储云网络连接异常,可以通过与该从存储云网络连接正常的其他从存储云中转提取数据。
所述数据提取策略还包括:当某个从存储云网络连接异常时,通过与之网络连接正常的其他从存储云中转提取目标数据。
所述数据提取策略还包括:当某个云存储节点的CPU使用率大于CPU使用率阈值、内存占用率大于内存占用率阈值或网络IO使用率大于IO使用率阈值时,通过与之网络连接正常的其他从存储云中转提取数据。
具体的,当某个从存储云的网络连接异常时,切换或调整到与该从存储云网络连接正常的其他从存储云提取数据。例如,当某个存储云网络连接异 常时,查找与异常存储云网络连接正常且正在执行提取数据任务的任一从存储(即中转存储云),由所述中转存储云提取目标数据给用户终端。
图5是根据本发明的数据提取过程中异常情况下云间切换中转数据的一实施例的示意图。
如图5所示,在数据提取过程中,基于数据提取策略所做的云间切换的例子,其示意了如果下载(数据提取)过程中网络连接异常或存储云的云存储节点性能异常,则主动切换或调整到其他数据提取方法(下载策略)。当网络异常时,通过其他存储云检测当前网络异常的存储云,以查找到与异常存储云之间的网络正常的任一正在执行数据提取的存储云,并由所述查找到的存储云中转存在异常的存储云中所提取的数据给用户终端。例如,请求提取数据的用户所在客户端从数据存储云N提取数据时,出现了网络异常,此时按照云间切换策略,通过与该云N协作相关联的其他云检测当前异常的云N的状态,检测该云N与该云存储系统的某个云之间的网络是否正常,以及检测到的该云与该客户端连接的网络是否正常。如果检测到与云N协作相关联的云1与该云N网络连接正常,该云1还与该客户端连接且网络正常,那么就可以通过将该客户端请求提取的数据从云N传到云1再最后返回到该客户端,即进行中转数据。
本发明中,基于对数据索引信息的分析,制定多个存储云之间并发提取数据的方法,这样,只需要从一个存储云提交数据提取请求,来查找到数据索引信息后并发分散地从多个存储云中并发提取数据,省略了每个存储云单独检索的流程,提高数据提取速度和用户体验效果。
下面将结合附图描述本发明的数据提取系统的实施例。本发明的系统与本发明的方法相对应。
图6是根据本发明的数据提取系统的一实施例的系统结构示意图。
如图6所示,本发明的数据提取系统包括第一提取管理服务器20、主存储云30以及多个从存储云40。
第一提取管理服务器20连接到多个存储云,存储云用于存储数据,所述存储云包括主存储云30和从存储云40。
每个存储云包括多个云存储节点,用于接收并根据用户终端发送的数据提取请求确定对应的主存储云30,并将所述数据提取请求发送至所述主存储云30;其中,所述数据提取请求中包含待提取目标数据的存储位置信息,所述主存储云30为初始存储所述待提取目标数据的存储云。
数据在写入时,基于各个存储云的系统性能,将数据优先分散写入到写入压力小于压力下限值的所述多个存储云中;当写入任务对应的存储云发生故障时,基于所述故障存储云的IP地址,将数据写入到与该故障存储云相邻的任一存储云(替代存储云)中,待故障恢复后或者用户写入的文件完成后,所述替代存储云将所述写入任务归还给所述故障存储云,并将数据索引信息回传到该故障存储云,这样,除了原有的故障存储云具有该数据索引信息外,还自动备份到了一个替代存储云中,即云间备份数据索引信息。
主存储云30,用于根据所述数据提取请求获取与所述待提取目标数据相对应的数据索引信息,并基于所述数据索引信息从相应的多个从存储云40中提取目标数据,并将所述目标数据发送至用户终端。
进一步,所述主存储云30包括第二提取管理服务器31,其用于在获取 到数据存储索引信息之后,执行下述操作:
对数据索引信息进行解析以获取数据存储的各个从存储云40的信息,基于数据存储的各个从存储云40的信息形成数据提取策略,根据所述数据提取策略从所述各个从存储云40中提取目标数据,将提取到的目标数据返回给用户终端。
所述第二提取管理服务器31在形成数据提取策略的步骤之后,执行下述操作:存储数据提取策略。
主存储云30在将数据提取请求发送至主存储云的步骤之后,执行下述操作:
如果主存储云30的第二提取管理服务器31查找到当前目标数据对应的数据提取策略,则根据该数据提取策略从相应的多个从存储云40中提取目标数据并返回给用户终端。
进一步的,第二提取管理服务器(31)具体用于:
对数据索引信息进行解析以获取各个所述从存储云(40)的信息;
基于各个所述从存储云(40)的信息形成数据提取策略;
根据所述数据提取策略从各个所述从存储云(40)中提取目标数据;以及,
将提取到的目标数据返回给用户终端。
进一步的,从存储云的信息包括网络延时和/或丢包率,
第二提取管理服务器(31)还用于:获取从存储云(40)的网络延时和/或丢包率;以及,如果判断所述从存储云(40)的网络连接正常且网络延时小于延时上限值和/或丢包率小于丢包率下限值,分配低于线程 下限值的线程提取目标数据;
如果判断所述从存储云(40)的网络延时大于延时上限值或丢包率大于丢包率上限值,延时从该从存储云提取目标数据。
进一步的,从存储云(40)包括多个云存储节点,从存储云的信息包括CPU使用率和/或内存占用率和/或网络IO使用率,
第二提取管理服务器(31)还用于:获取从存储云的CPU使用率和/或内存占用率和/或网络IO使用率;
如果判断从存储云的CPU使用率小于CPU使用率阈值和/或内存占用率小于内存占用率阈值和/或网络IO使用率小于IO使用率阈值,分配低于线程下限值提取目标数据;
如果判断从存储云的CPU使用率大于CPU使用率阈值和/或内存占用率大于内存占用率阈值和/或网络IO使用率大于IO使用率阈值的云存储节点,延时从该从存储云提取目标数据。
进一步的,第二提取管理服务器(31)还用于:如果判断从存储云的网络连接异常,则通过与之网络连接正常的其他从存储云中转提取目标数据;或者,
第二提取管理服务器(31)如果判断云存储节点的CPU使用率大于CPU使用率阈值、内存占用率大于内存占用率阈值或网络IO使用率大于IO使用率阈值时,则通过与之网络连接正常的其他从存储云中转提取数据。
由于本发明系统对应的实施例中所涉及模块和结构实现的处理及功能基本相应于前述的各方法相关的实施例,故系统的实施例的描述中未详尽之处,可以参见前述方法的实施例中的相关说明,在此不做赘述。
如上所述,通过本发明的方案,能充分利用当前已有的多个相互关联的云存储系统环境的资源,实现高效提取的功能,增强了云存储的性能。根据对实际用户需求的分析采用合理方式快速检索数据信息。进而,依据该快速提取的检索数据信息的分析,在提取较大数据时,形成提取策略,可以根据云存储具有的特性进行并发读取,资源利用率和读取效率都得到较大提高。并且,这种读取不是现有技术中简单的分块读取,利用相应的提取策略,可以根据云存储的特性合理分配资源和做出相应的适当调整,进而在应对高并发提取数据时也不会影响云存储主要的功能。
总的来说,本发明的数据提取方法及系统,能够有效保证各个数据存储云整体性能,并且有效提高了数据提取速度,使得系统达到高效稳定的要求,同时相应地也提升了用户的体验效果,满足云技术的要求。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (10)

1.一种数据提取方法,应用于云存储系统,所述云存储系统包括第一提取管理服务器、主存储云以及多个从存储云,所述方法包括:
所述第一提取管理服务器接收用户终端发送的数据提取请求,所述数据提取请求中包含待提取目标数据的存储位置信息;
所述第一提取管理服务器根据所述存储位置信息确定对应的主存储云,并将所述数据提取请求发送至所述主存储云,其中,所述主存储云为初始存储所述待提取目标数据的存储云;
所述主存储云根据所述数据提取请求获取与所述待提取目标数据相对应的数据索引信息;
所述主存储云基于所述数据索引信息从相应的多个从存储云中提取目标数据,并将所述目标数据发送至用户终端。
2.根据权利要求1所述的方法,其中,所述主存储云包括第二提取管理服务器,用于基于所述数据索引信息从相应的多个从存储云中提取目标数据;
所述主存储云基于所述数据索引信息从相应的多个从存储云中提取目标数据的步骤包括:
所述第二提取管理服务器对数据索引信息进行解析以获取各个所述从存储云的信息;
所述第二提取管理服务器基于各个所述从存储云的信息形成数据提取策略;
所述第二提取管理服务器根据所述数据提取策略从各个所述从存储云中提取目标数据;
所述第二提取管理服务器将提取到的目标数据返回给用户终端。
3.根据权利要求2所述的方法,所述从存储云的信息包括网络延时和/或丢包率,所述数据提取策略包括:
第二提取管理服务器获取所述从存储云的网络延时和/或丢包率;
如果判断所述从存储云的网络连接正常且网络延时小于延时上限值和/或丢包率小于丢包率下限值,分配低于线程下限值的线程提取目标数据;
如果判断所述从存储云的网络延时大于延时上限值或丢包率大于丢包率上限值的某个从存储云,延时从该从存储云提取目标数据。
4.根据权利要求2所述的方法,每个所述从存储云包括多个云存储节点,所述从存储云的信息包括CPU使用率和/或内存占用率和/或网络IO使用率,所述数据提取策略还包括:
第二提取管理服务器获取所述从存储云的CPU使用率和/或内存占用率和/或网络IO使用率;
如果判断所述从存储云的CPU使用率小于CPU使用率阈值和/或内存占用率小于内存占用率阈值和/或网络IO使用率小于IO使用率阈值,分配低于线程下限值提取目标数据;
如果判断所述从存储云的CPU使用率大于CPU使用率阈值和/或内存占用率大于内存占用率阈值和/或网络IO使用率大于IO使用率阈值的云存储节点,延时从该从存储云提取目标数据。
5.根据权利要求4所述的方法,所述数据提取策略还包括:
所述第二提取管理服务器如果判断所述从存储云的网络连接异常,则通过与之网络连接正常的其他从存储云中转提取目标数据;或者,
所述第二提取管理服务器如果判断所述云存储节点的CPU使用率大于CPU使用率阈值、内存占用率大于内存占用率阈值或网络IO使用率大于IO使用率阈值时,则通过与之网络连接正常的其他从存储云中转提取数据。
6.一种数据提取系统,包括第一提取管理服务器(20)、主存储云(30)以及多个从存储云(40);其中,
所述第一提取管理服务器(20),用于接收并根据用户终端(10)发送的数据提取请求确定对应的主存储云(30),并将所述数据提取请求发送至所述主存储云(30);其中,所述数据提取请求中包含待提取目标数据的存储位置信息,所述主存储云(30)为初始存储所述待提取目标数据的存储云;
所述主存储云(30),用于根据所述数据提取请求获取与所述待提取目标数据相对应的数据索引信息,并基于所述数据索引信息从相应的多个从存储云(40)中提取目标数据,并将所述目标数据发送至用户终端(10)。
7.根据权利要求6所述的数据提取系统,其中,所述主存储云(30)包括第二提取管理服务器(31),用于基于所述数据索引信息从相应的多个从存储云(40)中提取目标数据;
所述第二提取管理服务器(31)具体用于:
对数据索引信息进行解析以获取各个所述从存储云(40)的信息;
基于各个所述从存储云(40)的信息形成数据提取策略;
根据所述数据提取策略从各个所述从存储云(40)中提取目标数据;以及,
将提取到的目标数据返回给用户终端。
8.根据权利要求7所述的数据提取系统,所述从存储云的信息包括网络延时和/或丢包率,
第二提取管理服务器(31)还用于:获取所述从存储云(40)的网络延时和/或丢包率;以及,如果判断所述从存储云(40)的网络连接正常且网络延时小于延时上限值和/或丢包率小于丢包率下限值,分配低于线程下限值的线程提取目标数据;
如果判断所述从存储云(40)的网络延时大于延时上限值或丢包率大于丢包率上限值,延时从该从存储云提取目标数据。
9.根据权利要求7所述的数据提取系统,每个所述从存储云(40)包括多个云存储节点,所述从存储云的信息包括CPU使用率和/或内存占用率和/或网络IO使用率,
第二提取管理服务器(31)还用于:获取所述从存储云的CPU使用率和/或内存占用率和/或网络IO使用率;
如果判断所述从存储云的CPU使用率小于CPU使用率阈值和/或内存占用率小于内存占用率阈值和/或网络IO使用率小于IO使用率阈值,分配低于线程下限值提取目标数据;
如果判断所述从存储云的CPU使用率大于CPU使用率阈值和/或内存占用率大于内存占用率阈值和/或网络IO使用率大于IO使用率阈值的云存储节点,延时从该从存储云提取目标数据。
10.根据权利要求9所述的数据提取系统,
所述第二提取管理服务器(31)还用于:如果判断所述从存储云的网络连接异常,则通过与之网络连接正常的其他从存储云中转提取目标数据;或者,
所述第二提取管理服务器(31)如果判断所述云存储节点的CPU使用率大于CPU使用率阈值、内存占用率大于内存占用率阈值或网络IO使用率大于IO使用率阈值时,则通过与之网络连接正常的其他从存储云中转提取数据。
CN201610016921.6A 2016-01-11 2016-01-11 一种数据提取方法和系统 Active CN106959820B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610016921.6A CN106959820B (zh) 2016-01-11 2016-01-11 一种数据提取方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610016921.6A CN106959820B (zh) 2016-01-11 2016-01-11 一种数据提取方法和系统

Publications (2)

Publication Number Publication Date
CN106959820A CN106959820A (zh) 2017-07-18
CN106959820B true CN106959820B (zh) 2020-05-01

Family

ID=59481228

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610016921.6A Active CN106959820B (zh) 2016-01-11 2016-01-11 一种数据提取方法和系统

Country Status (1)

Country Link
CN (1) CN106959820B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255928A (zh) * 2017-11-30 2018-07-06 北京元心科技有限公司 分布式系统数据读取方法及装置
CN108696571B (zh) * 2018-03-28 2021-09-24 深圳市网心科技有限公司 云存储服务系统、方法、云服务智能设备及电子装置
CN108829496A (zh) * 2018-05-29 2018-11-16 阿里巴巴集团控股有限公司 一种业务调用方法、装置以及电子设备
CN111290699B (zh) * 2018-12-07 2023-03-14 杭州海康威视系统技术有限公司 数据迁移方法、装置及系统
CN109739878B (zh) * 2018-12-13 2020-12-01 北京达佳互联信息技术有限公司 大数据查询方法、装置、服务器及存储介质
CN111797091B (zh) * 2019-10-18 2024-09-20 北京沃东天骏信息技术有限公司 数据库中数据查询的方法、装置、电子设备和存储介质
CN111131440B (zh) * 2019-12-20 2021-09-28 腾讯科技(深圳)有限公司 资源调度方法、装置和服务器
CN111800520B (zh) * 2020-09-08 2021-06-15 北京维数统计事务所有限公司 业务处理方法、装置、电子设备和可读存储介质
CN114116774B (zh) * 2022-01-28 2022-06-28 北京安帝科技有限公司 日志数据的查询方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996803B2 (en) * 2010-07-02 2015-03-31 Futurewei Technologies, Inc. Method and apparatus for providing highly-scalable network storage for well-gridded objects
CN102130959A (zh) * 2011-03-22 2011-07-20 浪潮(北京)电子信息产业有限公司 一种实现云存储资源调度的系统及方法
CN102968498B (zh) * 2012-12-05 2016-08-10 华为技术有限公司 数据处理方法及装置
CN103442090B (zh) * 2013-09-16 2016-08-17 苏州市职业大学 一种数据分散存储的云计算系统
CN104702654B (zh) * 2014-02-25 2019-04-30 杭州海康威视数字技术股份有限公司 基于视频云存储系统的存储与提取性能平衡的方法与装置
CN104978327B (zh) * 2014-04-03 2019-10-25 中国移动通信集团河南有限公司 一种查询数据的方法、管理控制节点及目标数据节点

Also Published As

Publication number Publication date
CN106959820A (zh) 2017-07-18

Similar Documents

Publication Publication Date Title
CN106959820B (zh) 一种数据提取方法和系统
US11886731B2 (en) Hot data migration method, apparatus, and system
US11320991B2 (en) Identifying sub-health object storage devices in a data storage system
US9641449B2 (en) Variable configurations for workload distribution across multiple sites
US8195777B2 (en) System and method for adding a standby computer into clustered computer system
US8886796B2 (en) Load balancing when replicating account data
JP6225262B2 (ja) 分散データグリッドにおいてデータを同期させるためにパーティションレベルジャーナリングをサポートするためのシステムおよび方法
CN105357296A (zh) 一种Docker云平台下弹性缓存系统
US9088528B2 (en) Computer system and management method for the computer system and program
US11392363B2 (en) Implementing application entrypoints with containers of a bundled application
US10346367B1 (en) Load shedding techniques for distributed services with persistent client connections to ensure quality of service
US10970190B2 (en) Hybrid log viewer with thin memory usage
CN104836819A (zh) 动态负载均衡的方法、系统及监控调度设备
US20130007253A1 (en) Method, system and corresponding device for load balancing
CN107872517B (zh) 一种数据处理方法及装置
JP6272190B2 (ja) 計算機システム、計算機、負荷分散方法及びそのプログラム
CN106713378B (zh) 实现多个应用服务器提供服务的方法和系统
CN109739435B (zh) 文件存储和更新方法及装置
CN112468310B (zh) 流媒体集群节点管理方法、装置及存储介质
CN110971872B (zh) 一种基于分布式集群的视频图像信息采集方法
US10237148B2 (en) Providing a data set for tracking and diagnosing datacenter issues
US20190215281A1 (en) Fenced Clone Applications
US11977450B2 (en) Backup system, method therefor, and program
CN109510730A (zh) 分布式系统及其监控方法、装置、电子设备及存储介质
US20160006635A1 (en) Monitoring method and monitoring system

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