CN111049883B - 分布式表格***的数据读取方法、装置及*** - Google Patents

分布式表格***的数据读取方法、装置及*** Download PDF

Info

Publication number
CN111049883B
CN111049883B CN201911120440.XA CN201911120440A CN111049883B CN 111049883 B CN111049883 B CN 111049883B CN 201911120440 A CN201911120440 A CN 201911120440A CN 111049883 B CN111049883 B CN 111049883B
Authority
CN
China
Prior art keywords
storage server
request
reading
server
storage
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
CN201911120440.XA
Other languages
English (en)
Other versions
CN111049883A (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud 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 Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201911120440.XA priority Critical patent/CN111049883B/zh
Publication of CN111049883A publication Critical patent/CN111049883A/zh
Application granted granted Critical
Publication of CN111049883B publication Critical patent/CN111049883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种分布式表格***的数据读取方法、装置、***、电子设备及计算机可读存储介质。该方法包括:接收客户端发送的读取请求;响应读取请求,以获取与读取请求对应数据副本所在的存储服务器列表;向存储服务器列表中的第一存储服务器发送读取请求;以及在发送读取请求的同时启动延时任务,以在预定延迟时间后向存储服务器列表中的第二存储服务器发送读取请求。本发明可以避免因某台存储服务器慢而影响整个集群的读请求延时。

Description

分布式表格***的数据读取方法、装置及***
技术领域
本发明涉及分布式表格***技术领域,尤其涉及一种分布式表格***的数据读取方法、装置及***。
背景技术
随着互联网数据规模日渐骤增,分布式存储***应运而生。分布式存储***按功能分类可以分为分布式文件***、分布式对象存储、块存储和分布式表格***几种。在分布式表格***中,为了保证数据安全,容忍坏盘和服务器宕机,一般会采用多副本来存储数据。分布式表格***的多副本,其中一份数据副本作为主,其它数据副本作为从,分布式表格***依靠数据副本的主从关系保持数据在副本之间的一致性。
通常在读取数据时,首先数据的读取请求从客户端发往代理服务器集群的某台服务器,代理服务器找到所请求数据的多个副本存储的存储服务器列表,然后代理服务器将请求发往对应存储服务器,从存储服务器上读取副本内容。
在存在数据多副本的背景下,对于数据的读取请求,首先代理服务器找到请求数据的各个副本存储的存储服务器列表,然后代理服务器向存储服务器发送读取请求,通常发送请求有下面两种方式:
方案一:代理服务器首先给主副本所在的存储服务器发送请求,如果主副本所在的存储服务器超时或者失败,则依次向其他从副本所在的存储服务器发送请求,直至代理服务器超时;
方案二:代理服务器并发地向多个或者全部副本所在的存储服务器发送请求,在第一个存储服务器返回成功后,代理服务器向客户端返回数据。
但是上述方案一存在的问题是,如果某台存储服务器发生异常变得很慢,则对这台存储服务器上的数据副本的读请求都会受到影响,极大地影响读请求延时;
对于方案二的问题是,假设数据副本数量为N个,则对于一条客户端读请求,代理服务器将会对存储服务器集群发送N条请求,这样使得读请求压力放大了N倍,极大程度地加大了对存储服务器的压力。
发明内容
本发明的目的在于提供一种分布式表格***的数据读取方法、装置、***、电子设备及计算机可读存储介质,以避免因某台存储服务器慢而影响整个集群的读请求延时。
根据本发明的第一方面,提供了一种分布式表格***的数据读取方法,执行在代理服务器端,所述方法包括:
接收客户端发送的读取请求;
响应读取请求,以获取与读取请求对应数据副本所在的存储服务器列表;
向存储服务器列表中的第一存储服务器发送读取请求;以及
在发送读取请求的同时启动延时任务,以在预定延迟时间后向存储服务器列表中的第二存储服务器发送读取请求。
优选地,所述方法还包括:
在到达预定延迟时间之前,若第一存储服务器返回读取请求成功,取消延时任务。
优选地,所述方法还包括:
在第一存储服务器返回读取请求失败或者读取请求超时,向存储服务器列表中的第三存储服务器发送读取请求。
优选地,所述方法还包括:
在第二存储服务器返回读取请求失败或者读取请求超时,选择存储服务器列表中的第三存储服务器发送读取请求。
根据本发明的第二方面,提供了一种代理服务器,用于读取分布式表格***的数据,所述代理服务器包括:
获取模块,用于接收并响应客户端发送的读取请求,以获得读取请求对应数据副本所在的存储服务器列表;
第一发送模块,用于向存储服务器列表中的第一存储服务器发送读取请求;以及
第二发送模块,用于在第一发送模块发送读取请求的同时启动延时任务,以在预定延迟时间后向存储服务器列表中的第二存储服务器发送读取请求。
优选地,所述代理服务器还包括:
取消模块,用于在到达预定延迟时间之前,若第一存储服务器返回读取请求成功,取消模块取消延时任务。
优选地,所述代理服务器还包括:
第三发送模块,用于在第一存储服务器返回读取请求失败或者读取请求超时,或者,用于在所述第二存储服务器返回读取请求失败或者读取请求超时,第三发送模块向存储服务器列表中的第三存储服务器发送读取请求。
根据本发明的第三方面,提供了一种分布式表格***的数据读取***,包括:
根据本发明第二方面所述的代理服务器;以及
至少一台存储服务器;
其中,代理服务器向存储服务器发送读取请求以读取对应的数据副本;以及
存储服务器返回读取请求结果给代理服务器。
根据本发明的第四方面,提供了一种电子设备,此电子设备包括:
根据本发明第二方面所述的代理服务器;或者,
处理器和存储器,存储器用于存储可执行的指令,所述指令用于控制处理器执行根据本发明第一方面所述的数据读取方法。
根据本发明的第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据本发明第一方面所述的数据读取方法。
根据本发明实施例,在发送客户端的读取请求到一个存储服务器后,稍微延迟预定时间再向第二台存储服务器发送读取请求,以避免最初请求读取的单个存储服务器可能存在请求延迟问题导致处理的压力过大、过慢,从而影响整个集群的读请求延迟的问题。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1为可用于实现本发明实施例的电子设备的硬件配置结构方框图。
图2为本发明实施例的分布式表格***的数据读取方法流程图。
图3为本发明实施例的分布式表格***的数据读取的服务器交互流程图。
图4为本发明实施例的用于读取分布式表格***的数据的代理服务器结构方框图。
图5为本发明实施例的分布式表格***的数据读取***的结构方框图。
图6为本发明实施例的电子设备的结构方框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人物已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是示出可以实现本发明的实施例的电子设备1000的硬件配置的框图。
电子设备1000可以是便携式电脑、台式计算机、手机、平板电脑等。
如图1所示,电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。
图1所示的电子设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明实施例提供的任意一项分布式表格***的数据读取方法。本领域技术人员应当理解,尽管在图1中对电子设备1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如电子设备1000可以只涉及处理器1100和存储装置1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
在本发明一个实施例中,提供一种分布式表格***的数据读取方法,请参考图2,该图为本发明实施例的分布式表格***的数据读取方法流程图。
分布式表格***的数据读取方法可以是由电子设备实施,该电子设备例如可以是如图1所示的电子设备1000。
如图2所示,本发明实施例的分布式表格***的数据读取方法包括以下步骤:
步骤102,接收并响应客户端发送的读取请求,以获取与读取请求对应数据副本所在的存储服务器列表;
步骤104,向存储服务器列表中的第一存储服务器发送读取请求;
步骤106,在发送读取请求的同时启动延时任务,以在预定延迟时间后向存储服务器列表中的第二存储服务器发送读取请求。
在步骤102中,当有读请求时,客户端随机选择代理服务器集群中的一台服务器发送读请求,代理服务器收到请求后,向元数据服务器交互得到此请求数据所在的副本,以及这些副本所在的存储服务器列表。
在步骤104中,代理服务器可随机选择存储服务器列表中的一台存储服务器Mp并向此存储服务器发送读请求。在步骤106中,同时启动一个延时任务向另外一台存储服务器Mq发送读请求。即,相比向存储服务器Mp发送请求的时间延迟一定时间后再向存储服务器Mq发送读请求,实现稍弱的两个并发读请求。
预定延迟时间t位于存储服务器的请求返回时间t1和存储服务器的超时时间t2之间,即t1<t<t2。分布式存储***的存储服务器的超时时间t2通常设置在数秒的数量级,例如1-3秒之间。分布式存储***的存储服务器的请求返回时间t1通常设置在毫秒数量级,例如绝大部分(90%左右)的存储服务器作出返回响应的时间位于10~50毫秒之间。
在一个优选示例中,预定延迟时间t可以设置位于20毫秒~1秒之间。如此,可以在最初请求的存储服务器没有及时返回时,开启另外一台存储服务器请求数据读取,以避免最初请求的存储服务器可能存在请求延迟问题导致处理的压力过大。
这样,在仅向单台存储服务器发送请求而导致该存储服务器请求过多造成响应速度变慢,尤其对这台存储服务器上的数据副本的读请求过多时加剧了这种情况的恶性循环,从而很大程度地影响读请求延时的情况下,本发明可以避免因某台存储服务器慢而影响整个集群的读请求延时的问题。
在一个示例中,若存储服务器Mp在预定的延迟时间之前返回成功,则取消对另外存储服务器Mq的延时任务。返回成功表示代理服务器已经从存储服务器Mp上获得了所需要的数据副本,将结果直接返回给客户端即可完成此次读请求操作。
在一个示例中,若在到达预定的延迟时间时存储服务器Mp未返回成功,代理服务器将同时向两个向存储服务器发送读数据请求,直至其中某一台存储服务器返回读请求成功。
在一个示例中,若其中一台存储服务器Mp或Mq返回读取请求失败或者读取请求超时,代理服务器再随机选择存储服务器列表中的除存储服务器Mp或Mq之外的一台存储服务器Mi发送读取请求,即对新选择的存储服务器Mi启动读请求重试任务,直至读取成功。本发明同时向最多两台存储服务器发送读取请求。
如上文所述,本发明实施例的数据读取方法可以在代理服务器和至少两台存储服务器之间执行。下面,将结合图3对本发明实施例的分布式表格***的数据读取时的各服务器之间的交互流程进行说明。
步骤202,客户端随机选择一个代理服务器100发送读请求;
步骤204,代理服务器100从元数据服务器(图中未示出)得到此请求数据所在的副本及存储服务器列表;
步骤206,代理服务器100随机选择一台存储服务器,例如图3所示第一存储服务器200,向第一存储服务器200发送此读请求;
步骤208,与此同时代理服务器100开启延时任务,以在延迟一定时间后(小于存储服务器的超时时间)向随机选择的另外一台存储服务器,即图示的第二存储服务器300发送读请求;
步骤210,第一存储服务器200收到代理服务器发送的读取请求后,在延迟时间之前返回请求成功;
步骤212,此时,代理服务器100取消延时任务;
步骤214,代理服务器100将第一存储服务器200返回的结果,即客户端读取请求的数据返回客户端。
在另外一种情况下,在步骤210中,若第一存储服务器200未在延迟时间之前返回请求成功,则进入步骤216,代理服务器100在到达延时时间后即向随机选择的第二存储服务器300发送读取请求;
此时,代理服务器100会同时向第一存储服务器200和第二存储服务器300这两个存储服务器发送读取请求。
在一种情况下,在步骤218中,若第一存储服务器200或第二存储服务器300返回请求失败或任务超时给代理服务器100,换言之,此时存在一台存储服务器数据读取不成功,则进入步骤220,代理服务器100挑选第三存储服务器400,启动读取请求重试任务,将读取请求发送至第三存储服务器400;
步骤222,若第三存储服务器400返回请求成功到代理服务器100,进入步骤224,代理服务器100将第三存储服务器400返回的读取请求数据返回客户端。
在本发明另一个实施例中,还提供了一种用于读取分布式表格***的数据的代理服务器2000,图4为本发明实施例的代理服务器的结构方框图。如图所示,代理服务器2000包括:
获取模块2200、第一和第二发送模块2400、2600,其中在一个优选实施例中,代理服务器2000还可以包括第三发送模块2800。
获取模块2200用于接收并响应客户端发送的读取请求,以获取与读取请求对应数据副本所在的存储服务器列表;
第一发送模块2400用于向存储服务器列表中的第一存储服务器发送读取请求;以及
第二发送模块2600在第一发送模块发送读取请求的同时启动延时任务,以在预定延迟时间后向存储服务器列表中的第二存储服务器发送读取请求。
在一个示例中,第一发送模块2400、第二发送模块2600可以随机选择存储服务器列表中的存储服务器并向其发送读取请求。
其中,t1<t<t2,t为预定延迟时间,t1为分布式存储***绝大部分存储服务器的请求返回时间,以及t2为分布式存储***绝大部分存储服务器的超时时间。在一个示例中,例如是90%以上的存储服务器对应的请求返回时间和超时时间。
在一个优选实施例中,预定延迟时间t位于20毫秒~1秒之间。
一个优选实施例中,代理服务器2000还包括取消模块(图中未示出)。在到达预定延迟时间之前,若第一存储服务器返回读取请求成功,取消模块则取消延时任务。
第三发送模块2800在第一存储服务器返回读取请求失败或者读取请求超时,或者在第二存储服务器返回读取请求失败或者读取请求超时,向存储服务器列表中的第三存储服务器发送读取请求。
在本发明的另一个实施例中,还提供了一种分布式表格***的数据读取***3000,参考图5,包括:
前述的代理服务器2000,用于实施本发明任意实施例的数据读取方法;以及至少一台存储服务器3200;
其中,代理服务器2000向存储服务器3200发送读取请求以读取对应的数据副本;以及存储服务器3200返回读取请求结果给所述代理服务器2000。
根据本发明的再一个实施例,还提供了一种电子设备,该电子设备4000可以是图1所示的电子设备1000。
图6为本发明实施例的电子设备4000的结构方框图。
一方面,该电子设备4000可以包括前述的代理服务器2000,用于实施本发明任意实施例的数据读取方法。
另一方面,如图6所示,电子设备4000可以包括存储器4200和处理器4400,存储器4200用于存储可执行的指令;该指令用于控制处理器4400执行前述的数据读取方法。
在本实施例中,电子设备4000可以是手机、平板电脑、掌上电脑、台式机、笔记本电脑、工作站、游戏机等任意具有存储器4200以及处理器4400的电子产品。
最后,根据本发明的又一个实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现根据本发明任意实施例所述的数据读取方法。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人物来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人物来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人物能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

Claims (7)

1.一种分布式表格***的数据读取方法,执行在代理服务器端,其特征在于,所述方法包括:
接收客户端发送的读取请求;
响应所述读取请求,以获取与所述读取请求对应数据副本所在的存储服务器列表;
向所述存储服务器列表中的第一存储服务器发送所述读取请求;以及
在发送所述读取请求的同时启动延时任务,以在预定延迟时间后向所述存储服务器列表中的第二存储服务器发送所述读取请求,
其中,所述预定延迟时间位于存储服务器的请求返回时间和存储服务器的超时时间之间,
所述方法还包括:
在所述第一存储服务器返回读取请求失败或者读取请求超时,向所述存储服务器列表中的第三存储服务器发送所述读取请求,
或者,
在所述第二存储服务器返回读取请求失败或者读取请求超时,向所述存储服务器列表中的第三存储服务器发送所述读取请求。
2.根据权利要求1所述的方法,其中,所述方法还包括:
在到达所述预定延迟时间之前,若所述第一存储服务器返回读取请求成功,取消所述延时任务。
3.一种代理服务器,用于读取分布式表格***的数据,其特征在于,所述代理服务器包括:
获取模块,用于接收并响应客户端发送的读取请求,以获取与所述读取请求对应数据副本所在的存储服务器列表;
第一发送模块,用于向所述存储服务器列表中的第一存储服务器发送所述读取请求;以及
第二发送模块,用于在所述第一发送模块发送所述读取请求的同时启动延时任务,以在预定延迟时间后向所述存储服务器列表中的第二存储服务器发送所述读取请求,
其中,所述预定延迟时间位于存储服务器的请求返回时间和存储服务器的超时时间之间,
所述代理服务器还包括:
第三发送模块,用于在所述第一存储服务器返回读取请求失败或者读取请求超时,
或者,
用于在所述第二存储服务器返回读取请求失败或者读取请求超时,所述第三发送模块向所述存储服务器列表中的第三存储服务器发送所述读取请求。
4.根据权利要求3所述的代理服务器,其中,所述代理服务器还包括:
取消模块,用于在到达所述预定延迟时间之前,若所述第一存储服务器返回读取请求成功,所述取消模块取消所述延时任务。
5.一种分布式表格***的数据读取***,其特征在于,所述数据读取***包括:
根据权利要求3或4所述的代理服务器;以及
至少一台存储服务器;
其中,所述代理服务器向存储服务器发送读取请求以读取对应的数据副本;以及
存储服务器返回读取请求结果给所述代理服务器。
6.一种电子设备,其特征在于,所述电子设备包括:
根据权利要求3或4所述的代理服务器;或者,
处理器和存储器,所述存储器用于存储可执行的指令,所述指令用于控制所述处理器执行根据权利要求1或2所述的数据读取方法。
7.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1或2所述的数据读取方法。
CN201911120440.XA 2019-11-15 2019-11-15 分布式表格***的数据读取方法、装置及*** Active CN111049883B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911120440.XA CN111049883B (zh) 2019-11-15 2019-11-15 分布式表格***的数据读取方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911120440.XA CN111049883B (zh) 2019-11-15 2019-11-15 分布式表格***的数据读取方法、装置及***

Publications (2)

Publication Number Publication Date
CN111049883A CN111049883A (zh) 2020-04-21
CN111049883B true CN111049883B (zh) 2022-09-06

Family

ID=70232101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911120440.XA Active CN111049883B (zh) 2019-11-15 2019-11-15 分布式表格***的数据读取方法、装置及***

Country Status (1)

Country Link
CN (1) CN111049883B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563008A (zh) * 2020-04-29 2020-08-21 深圳震有科技股份有限公司 数据存储方法、装置、存储***及计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6502106B1 (en) * 1999-03-25 2002-12-31 International Business Machines Corporation System, method, and program for accessing secondary storage in a network system
CN103001995A (zh) * 2011-09-15 2013-03-27 伊姆西公司 在集群文件***中改进高速缓存一致性的方法和装置
CA2944362A1 (en) * 2014-03-31 2015-10-08 Pradeep Vincent Scalable file storage service
CN107438096A (zh) * 2016-05-25 2017-12-05 思科技术公司 针对分布式存储的拥塞感知负载平衡
CN107491455A (zh) * 2016-06-13 2017-12-19 阿里巴巴集团控股有限公司 一种分布式***中的读取方法及装置
CN107888657A (zh) * 2017-10-11 2018-04-06 上海交通大学 低延迟分布式存储***
CN108255928A (zh) * 2017-11-30 2018-07-06 北京元心科技有限公司 分布式***数据读取方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6502106B1 (en) * 1999-03-25 2002-12-31 International Business Machines Corporation System, method, and program for accessing secondary storage in a network system
CN103001995A (zh) * 2011-09-15 2013-03-27 伊姆西公司 在集群文件***中改进高速缓存一致性的方法和装置
CA2944362A1 (en) * 2014-03-31 2015-10-08 Pradeep Vincent Scalable file storage service
CN107438096A (zh) * 2016-05-25 2017-12-05 思科技术公司 针对分布式存储的拥塞感知负载平衡
CN107491455A (zh) * 2016-06-13 2017-12-19 阿里巴巴集团控股有限公司 一种分布式***中的读取方法及装置
CN107888657A (zh) * 2017-10-11 2018-04-06 上海交通大学 低延迟分布式存储***
CN108255928A (zh) * 2017-11-30 2018-07-06 北京元心科技有限公司 分布式***数据读取方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
实验室机房大文件快速分发技术应用研究;谭志虎;《实验技术与管理》;20171016;第34卷(第10期);129-132 *

Also Published As

Publication number Publication date
CN111049883A (zh) 2020-04-21

Similar Documents

Publication Publication Date Title
US20180315024A1 (en) Systems and Methods Enabling Secure Transactions from Terminal Window
CN107784011B (zh) 网页访问方法、客户端、网页服务器及可编程设备
CN109359118B (zh) 一种数据写入方法及装置
WO2013067065A1 (en) Server upgrades with safety checking and preview
CN110007936B (zh) 数据处理方法和装置
CN107479868B (zh) 一种界面加载方法、装置及设备
US10630399B2 (en) Testing distributed applications that have an established exchange in an advanced message queuing protocol (AMQP) message broker
US20170163787A1 (en) Method and electronic device for upgrading or downgrading system
EP2888661B1 (en) Re-use of binaries for multiple user accounts
CN112926068A (zh) 权限管理方法、管理服务器、业务服务器及可读存储介质
US20200379743A1 (en) Usb-based method and device for upgrading electronic apparatus, and electronic apparatus
CN111049883B (zh) 分布式表格***的数据读取方法、装置及***
CN114691273A (zh) 用户界面返回方法、装置、电子设备和存储介质
WO2024109786A1 (zh) 即时通信会话信息的处理方法、装置及电子设备
CN107959845B (zh) 图像数据传输的方法、装置、客户端装置及头戴显示设备
CN110881224A (zh) 一种网络长连接方法、装置、设备及存储介质
US20140164651A1 (en) Networking cloud and method of using the same
CN107292142B (zh) 业务操作处理方法、业务操作处理装置及业务终端
US20210354713A1 (en) Agent control device, agent control method, and storage medium storing agent control program
CN111399928A (zh) 应用程序的启动方法、装置、电子设备及可读存储介质
US9069562B2 (en) Mobile computing program slicing and behavior
CN114691157A (zh) 基于云的fpga管理控制***、方法及电子设备
CN111813407B (zh) 游戏开发方法、游戏运行方法、装置和电子设备
CN110221746B (zh) 信息交互方法、装置、介质和计算设备
WO2022035702A1 (en) Capturing messages from a phone message exchange with matter association

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