CN111049883A - 分布式表格系统的数据读取方法、装置及系统 - Google Patents
分布式表格系统的数据读取方法、装置及系统 Download PDFInfo
- Publication number
- CN111049883A CN111049883A CN201911120440.XA CN201911120440A CN111049883A CN 111049883 A CN111049883 A CN 111049883A CN 201911120440 A CN201911120440 A CN 201911120440A CN 111049883 A CN111049883 A CN 111049883A
- Authority
- CN
- China
- Prior art keywords
- storage server
- request
- reading
- reading request
- server
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning 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 (10)
1.一种分布式表格系统的数据读取方法,执行在代理服务器端,其特征在于,所述方法包括:
接收客户端发送的读取请求;
响应所述读取请求,以获取与所述读取请求对应数据副本所在的存储服务器列表;
向所述存储服务器列表中的第一存储服务器发送所述读取请求;以及
在发送所述读取请求的同时启动延时任务,以在预定延迟时间后向所述存储服务器列表中的第二存储服务器发送所述读取请求。
2.根据权利要求1所述的方法,其中,所述方法还包括:
在到达所述预定延迟时间之前,若所述第一存储服务器返回读取请求成功,取消所述延时任务。
3.根据权利要求1所述的方法,其中,所述方法还包括:
在所述第一存储服务器返回读取请求失败或者读取请求超时,向所述存储服务器列表中的第三存储服务器发送所述读取请求。
4.根据权利要求1所述的方法,其中,所述方法还包括:
在所述第二存储服务器返回读取请求失败或者读取请求超时,向所述存储服务器列表中的第三存储服务器发送所述读取请求。
5.一种代理服务器,用于读取分布式表格系统的数据,其特征在于,所述代理服务器包括:
获取模块,用于接收并响应客户端发送的读取请求,以获取与所述读取请求对应数据副本所在的存储服务器列表;
第一发送模块,用于向所述存储服务器列表中的第一存储服务器发送所述读取请求;以及
第二发送模块,用于在所述第一发送模块发送所述读取请求的同时启动延时任务,以在预定延迟时间后向所述存储服务器列表中的第二存储服务器发送所述读取请求。
6.根据权利要求5所述的代理服务器,其中,所述代理服务器还包括:
取消模块,用于在到达所述预定延迟时间之前,若所述第一存储服务器返回读取请求成功,所述取消模块取消所述延时任务。
7.根据权利要求5所述的代理服务器,其中,所述代理服务器还包括:
第三发送模块,用于在所述第一存储服务器返回读取请求失败或者读取请求超时,
或者,
用于在所述第二存储服务器返回读取请求失败或者读取请求超时,所述第三发送模块向所述存储服务器列表中的第三存储服务器发送所述读取请求。
8.一种分布式表格系统的数据读取系统,其特征在于,所述数据读取系统包括:
根据权利要求5至7中任一权利要求所述的代理服务器;以及
至少一台存储服务器;
其中,所述代理服务器向存储服务器发送读取请求以读取对应的数据副本;以及
存储服务器返回读取请求结果给所述代理服务器。
9.一种电子设备,其特征在于,所述电子设备包括:
根据权利要求5至7中任一权利要求所述的代理服务器;或者,
处理器和存储器,所述存储器用于存储可执行的指令,所述指令用于控制所述处理器执行根据权利要求1至4中任一权利要求所述的数据读取方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至4中任一权利要求所述的数据读取方法。
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 true CN111049883A (zh) | 2020-04-21 |
CN111049883B 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111563008A (zh) * | 2020-04-29 | 2020-08-21 | 深圳震有科技股份有限公司 | 数据存储方法、装置、存储系统及计算机可读存储介质 |
CN112882812A (zh) * | 2021-03-16 | 2021-06-01 | 北京字节跳动网络技术有限公司 | 延时任务调度与存储方法、装置、设备、介质及系统 |
CN113419669A (zh) * | 2021-02-08 | 2021-09-21 | 阿里巴巴集团控股有限公司 | Io请求处理方法、装置、电子设备及计算机可读介质 |
CN117827973A (zh) * | 2023-12-29 | 2024-04-05 | 云和恩墨(北京)信息技术有限公司 | 分布式数据库的读请求调度方法、装置及电子设备 |
Citations (7)
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 | 北京元心科技有限公司 | 分布式系统数据读取方法及装置 |
-
2019
- 2019-11-15 CN CN201911120440.XA patent/CN111049883B/zh active Active
Patent Citations (7)
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)
Title |
---|
谭志虎: "实验室机房大文件快速分发技术应用研究", 《实验技术与管理》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111563008A (zh) * | 2020-04-29 | 2020-08-21 | 深圳震有科技股份有限公司 | 数据存储方法、装置、存储系统及计算机可读存储介质 |
CN113419669A (zh) * | 2021-02-08 | 2021-09-21 | 阿里巴巴集团控股有限公司 | Io请求处理方法、装置、电子设备及计算机可读介质 |
CN112882812A (zh) * | 2021-03-16 | 2021-06-01 | 北京字节跳动网络技术有限公司 | 延时任务调度与存储方法、装置、设备、介质及系统 |
CN117827973A (zh) * | 2023-12-29 | 2024-04-05 | 云和恩墨(北京)信息技术有限公司 | 分布式数据库的读请求调度方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111049883B (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111049883B (zh) | 分布式表格系统的数据读取方法、装置及系统 | |
CN109359118B (zh) | 一种数据写入方法及装置 | |
WO2013067065A1 (en) | Server upgrades with safety checking and preview | |
CN107479868B (zh) | 一种界面加载方法、装置及设备 | |
CN109684008B (zh) | 卡片渲染方法、装置、终端及计算机可读存储介质 | |
CN110007936B (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 | |
CN110806958A (zh) | 一种监控方法、监控装置、存储介质及电子设备 | |
EP2888661B1 (en) | Re-use of binaries for multiple user accounts | |
CN112926068A (zh) | 权限管理方法、管理服务器、业务服务器及可读存储介质 | |
WO2024109786A1 (zh) | 即时通信会话信息的处理方法、装置及电子设备 | |
CN110881224A (zh) | 一种网络长连接方法、装置、设备及存储介质 | |
US20200379743A1 (en) | Usb-based method and device for upgrading electronic apparatus, and electronic apparatus | |
CN110059064B (zh) | 日志文件处理方法、装置和计算机可读存储介质 | |
CN114691157A (zh) | 基于云的fpga管理控制系统、方法及电子设备 | |
WO2024131568A1 (zh) | 会话信息处理方法及相关设备 | |
CN107292142B (zh) | 业务操作处理方法、业务操作处理装置及业务终端 | |
CN111399928B (zh) | 应用程序的启动方法、装置、电子设备及可读存储介质 | |
US20140164651A1 (en) | Networking cloud and method of using the same | |
CN112306371A (zh) | 存储管理的方法、设备和计算机程序产品 | |
US20210354713A1 (en) | Agent control device, agent control method, and storage medium storing agent control program | |
US9600161B2 (en) | Generating and displaying a specific area | |
US9069562B2 (en) | Mobile computing program slicing and behavior | |
CN110221746B (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 |