CN108777718B - 一种业务***通过客户端访问读多写少***的方法和装置 - Google Patents

一种业务***通过客户端访问读多写少***的方法和装置 Download PDF

Info

Publication number
CN108777718B
CN108777718B CN201810652330.7A CN201810652330A CN108777718B CN 108777718 B CN108777718 B CN 108777718B CN 201810652330 A CN201810652330 A CN 201810652330A CN 108777718 B CN108777718 B CN 108777718B
Authority
CN
China
Prior art keywords
cache
data
mode
read
manager
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
CN201810652330.7A
Other languages
English (en)
Other versions
CN108777718A (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.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201810652330.7A priority Critical patent/CN108777718B/zh
Publication of CN108777718A publication Critical patent/CN108777718A/zh
Application granted granted Critical
Publication of CN108777718B publication Critical patent/CN108777718B/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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • 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
    • H04L67/63Routing a service request depending on the request content or context
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供一种业务***间的数据读取方法和装置。在一个实施例中,第一业务***和读多写少的第二业务***通过网络相连;第二业务***包括管理器、数据库和至少一个缓存库,缓存库是数据库的分布式缓存,管理器提供对数据库以及分布式缓存的控制;第一业务***安装有管理器的客户端程序;所述方法由客户端程序执行;所述方法包括:获取读取请求,读取请求用于读取第二业务***中的数据;根据读取请求,确定缓存库地址,所述缓存库地址对应于至少一个缓存库中的缓存库;根据缓存库地址,与缓存库建立连接;通过该连接向缓存库发送读取请求,读取数据。本说明书实施例可大幅降低网络的耗时,增加***吞吐量。

Description

一种业务***通过客户端访问读多写少***的方法和装置
技术领域
本说明书涉及计算机技术领域,尤其涉及从读多写少***读取数据的方法和装置。
背景技术
顾名思义,读多写少***是读多于写的***。作为服务提供方,***同时提供读和写的服务,但是***的压力主要来自于服务调用方的读取操作。为此,***在数据库层面建立多个读库和一个主库,发生读取操作时***读取读库,当发生写操作时***操作主库并同步到读库中。
对于来自服务调用方的大量读取需求,***建立分布式缓存。当读取业务发生时,优先读取分布式缓存中的数据,如果缓存中不存在数据则会读取数据库,并将结果存入缓存中,操作数据时会先更新数据库然后更新到分布式缓存中。
然而,随着读取的业务量加大以及对查询性能提出的要求,网络耗时成了制约***更进一步的瓶颈。因此,希望能有改进的方案,能够有效地减少服务调用方与服务提供方之间的网络耗时。
发明内容
本说明书一个或多个实施例描述了一种方法和装置,能够减少建立连接、数据传输的耗时,增加***吞吐量。
根据第一方面,提供了一种读多写少***的数据读取方法。第一业务***和第二业务***通过网络相连。所述第二业务***是读多写少的***,所述第二业务***包括管理器、数据库和至少一个缓存库,所述至少一个缓存库是数据库的分布式缓存,管理器提供对数据库以及至少一个分布式缓存的控制。第一业务***安装有第二业务***的管理器的客户端程序;所述方法由所述客户端程序执行。所述方法包括:获取读取请求,所述读取请求用于读取第二业务***中的数据;在第一模式下,根据读取请求,确定缓存库地址,所述缓存库地址对应于至少一个缓存库中的第一缓存库;根据缓存库地址,与第一缓存库建立第一连接;通过该第一连接向第一缓存库发送读取请求,读取第一数据。
在一种可能的方案中,所述方法包括在第二模式下,和管理器建立第二连接,并且通过该第二连接向管理器发送读取请求,以便通过第二连接从至少一个分布式缓存或数据库读取第二数据。在进一步可能的方案中,所述方法包括比较第一数据和第二数据,根据比较结果确定第一模式的可用性。
在一种可能的方案中,所述方法包括客户端程序包括模式开关,所述方法包括根据模式开关,选择第一模式和第二模式的一个模式读取数据。在另一个进一步可能的方案中,所述方法包括切换所述模式开关,从而在第一模式和第二模式之间进行切换。
在一种可能的方案中,所述根据读取请求,确定缓存库地址包括根据读取请求,确定键;根据键和键值对,确定缓存库地址。
在一种可能的方案中,所述方法包括在第一缓存库无法命中数据的情况下,向管理器发送读取数据库的请求。
根据第二方面,提供一种第一业务***的访问第二业务***的数据读取装置。第一业务***和第二业务***通过网络相连。所述第二业务***是读多写少的***,所述第二业务***包括管理器、数据库和至少一个缓存库,所述至少一个缓存库是数据库的分布式缓存,管理器提供对数据库以及至少一个分布式缓存的控制。所述数据读取装置包括:获取单元,配置为获取读取请求,所述读取请求用于读取第二业务***中的数据;确定单元,配置为在第一模式下,根据读取请求,确定缓存库地址,所述缓存库地址对应于至少一个缓存库中的第一缓存库;第一连接单元,配置为根据缓存库地址,与至少一个缓存库中的第一缓存库建立第一连接;第一读取单元,配置为通过该第一连接向第一缓存库发送读取请求,读取第一数据。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
根据第四方面,提供了一种服务器,服务器包括存储设备,网络接口和处理器,所述处理器可通信地耦合到所述存储设备和网络接口,存储设备存储有管理器的客户端程序,管理器提供对数据库以及至少一个分布式缓存的控制,至少一个缓存库是数据库的分布式缓存,所述处理器可用于执行客户端程序,进而实现第一方面的方法。
通过本说明书实施例提供的方法和装置,可大幅降低网络的耗时,增加***吞吐量,提高应用的访问速度,并降低数据库的负载。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本说明书披露的业务***访问读多写少***的场景示意图;
图2示出根据一个本说明书实施例的通过客户端接入分布式缓存的示意图;
图3示意了在第一模式下缓存库无法命中数据的流程示意图;
图4示出根据一个实施例的通过客户端接入分布式缓存的方法流程示意图;
图5示意了根据实施例的可用于实现上述各种技术的服务器的详细结构图;
图6为本说明书实施例提供的一种装置的结构示意图;
图7是缓存库客户端嵌入管理器客户端的示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
图1为本说明书披露的业务***访问读多写少***的场景示意图。如图1所示,有第一业务***和第二业务***,彼此可通过网络相连。第一业务***例如以服务器A1、A2、A3为代表。在一个例子中,第一业务***是服务器集群,集群中的每个服务器具有相同的功能,负载均衡服务器根据各服务器的负载情况,将用户的请求动态分配给相应的服务器处理。
第二业务***例如包括管理器B,数据库B-M0和至少一个缓存库B-H1、B-H2、B-H3和B-H4,构成一个读多写少***。其中,缓存库B-H1、B-H2、B-H3和B-H4是数据库B-M0的分布式缓存。数据库B-M0可部署在管理器所在的服务器中,也可单独部署;数据库B-M0存储有许多数据,它可以通过发布服务来提供数据的查询能力,当然也可以允许将新数据写入;管理器B实现对数据库B-M0、分布式缓存B-H1、B-H2、B-H3和B-H4的控制。根据需要,缓存库B-H1、B-H2、B-H3和B-H4可以存储有数据库B-M0的数据中的至少一部分,在一个例子中,存储着数据库B-M0的那些不易变的数据。当然,数据库B-M0和各缓存库还可以存储文件,对象,图片,视频等等,为简单起见,下文中以数据统称。
管理器B可以通过数据分片,把数据库B-M0的数据分散到多个缓存库B-H1、B-H2、B-H3和B-H4中。数据分片可以采用以下几种规则:区间分片、哈希(hash)分片、时隙(slot)分片。当然,其它的有利于数据读取和写入的规则也是可行的。对于哈希分片,哈希算法可以采用静态哈希和一致性哈希。例如,以数据D,缓存库的总个数N为基础,通过一致性哈希算法计算出数据D对应的哈希值,根据哈希值就可以找到对应的缓存库。
在一种可能的场景下,第一业务***的业务和第二业务***的业务之间有关联或者有依赖关系,因此需要访问第二业务***的数据。比如,第一业务***负责交易,第二业务***负责管理会员信息,第一业务***通过查询第二业务***中的会员信息来确认交易的进行。
服务器A1-A3、管理器B、数据库B-M0和多个缓存库B-H1、B-H2、B-H3和B-H4通常分设在不同的服务器或通信设备上,但是也可以设置在同一服务器或同一通信设备上;当分设在不同的服务器或通信设备上时,服务器A1-A3、管理器B、数据库B-M0和缓存库B-H1、B-H2、B-H3和B-H4之间可以通过互联网、专用网等网络连接。本说明书对此不作限制。
图2示出在图1所示场景下,根据一个实施例的通过客户端接入分布式缓存的结构示意图。如图2所示,第一业务***中的服务器A1安装有第二业务***中管理器的客户端程序。客户端程序在安装时可以根据配置信息加载管理器B、数据库B-M0及其缓存库B-H1、B-H2、B-H3、B-H4的连接地址,也可以从服务端获取相应的连接地址。
数据库B-M0为主数据库,可以对其进行数据的读写操作。缓存库B-H1、B-H2、B-H3、B-H4,作为主数据库的缓存,根据切片规则分别存储有数据库B-M0的至少一部分数据。管理器B安装有服务端程序,实现对数据库B-M0以及分布式缓存B-H1、B-H2、B-H3和B-H4的控制,以及响应于客户端的访问请求,为其提供对数据库B-M0的读写访问和对缓存库B-H1、B-H2、B-H3、B-H4的读取访问。
在一种访问模式下,客户端程序可以通过管理器中的服务端程序完成数据的读取写入操作。根据管理器B地址0,客户端程序与管理器B的服务端程序建立通信链接L1。在建立链接L1后,管理器B根据写入请求,将新数据或修改数据写入数据库B-M0中;根据读取操作和相应的切片规则,向分布式缓存B-H1、B-H2、B-H3和B-H4中的一个缓存库(例如B-H3)发起读取请求,经管理器B和缓存库B-H3之间的连接L1’从该缓存库读取数据后返回给服务器A1。这种通过远程服务端访问缓存库读取数据的方式在说明书中称作为第二模式。
根据本说明书实施例,在另一种访问模式下,客户端程序不通过管理器,而直接与目标缓存库建立连接,从而实现数据存取。具体而言,当第一业务***需要读取第二业务***中的数据时,客户端程序获取读取请求,所述读取请求用于读取第二业务***中的数据。在一个例子中,读取请求携带用户的用户标识(USER ID,简称UID)。然后,客户端程序可根据读取请求,确定缓存库地址,该缓存库地址对应于至少一个缓存库中的能够读取数据的目标缓存库,例如B-H3;然后,根据缓存库B-H3地址3,与缓存库B-H3建立连接L2;通过该连接L2向缓存库B-H3发送读取请求,读取数据。在一个例子中,根据读取请求确定键,然后根据键和键值对从缓存库地址列表中确定相应的缓存库地址。具体地,客户端程序可以预先计算缓存库的散列值,并将各缓存库分布到0到2的32次方的圆上;当接收到读取请求时,客户端程序用同样的方法算出待读取数据的键的散列值并映射至圆上,从待读取数据映射到的位置开始顺时针查找,从查找到的第一个地址所对应的缓存库上读取数据。然后,客户端程序根据缓存库提供的反序列化方式得到查询对象。本领域的技术人员可以理解,缓存库的地址也可以通过其它方式获得,比如向管理器B查询,然后由管理器B提供给客户端程序。
这种客户端直接与分布式缓存进行交互的数据读取方式在本说明书中称作为第一模式。实现第一模式的一个例子是在所述管理器的客户端程序中嵌入缓存库的客户端程序或其一部分。图7是缓存库客户端嵌入管理器客户端的示意图。图中的缓存库客户端配置有缓存库地址列表,例如B-H1…B-H4的缓存库地址纪录在列表中。在一个例子中,在缓存库的数目有增减的情况下,通过分布式缓存库和其客户端之间的互动,可以及时更新在第一业务***中的缓存库地址列表。
第一模式的耗时迥异于第二模式。以第二模式中A1/B/B-H3的路径为例,读取数据的过程包括服务器A1经链接L1和管理器B建立通信,然后管理器B和缓存库B-H3经链接L1’建立通信,然后数据从缓存库B-H3传输至管理器B再至服务器A1,其中的网络传输耗时包括了服务器A1与管理器B建立连接、数据传输的耗时和管理器B与分布式缓存B-H3建立连接、数据传输的耗时。与此相比,第一模式的接入读取业务的方式在网络传输耗时仅仅包括服务器A1与分布式缓存B3建立连接、数据传输的耗时,可大量降低网络的耗时,增加***吞吐量。
众所周知,缓存库也可能存在不命中的情形。图3示意了在第一模式下缓存库无法命中数据的流程示意图。如图3所示,在步骤S32,确定采取第一模式,通过客户端直接访问缓存库。在步骤S34,判断缓存库是否命中数据?如果是,则进入步骤S37,读取数据。如果否,则进入步骤S36,指示管理器查询数据库或者执行其它的操作。
显然,客户端直接与分布式缓存进行交互的第一模式,与经由服务端的第二模式,各有千秋。因此,根据本说明书的实施例,提供在两种模式之间进行选择和切换的能力。图4示出根据一个实施例的通过客户端接入分布式缓存的方法流程示意图。该实施例的方法提供了在某些场景下一键切换的能力,允许动态选择通过客户端直接访问的第一模式或者通过服务端的远程服务的第二模式。该方法可以在图1所示场景和图2所示结构的基础上加以实现。
如图4所示,在步骤S42,客户端接收到读取数据的请求,所述读取请求用于读取第二业务***中的数据。然后,在步骤S44,客户端判断是否采用双读模式。如果是,则在步骤S46开启双读模式,首先在第一模式下通过客户端直接访问缓存库的方式读取结果a,然后在第二模式下通过服务端访问缓存库读取结果b。当然,在步骤S46下第一模式和第二模式两者的顺序是可以改变的,可以采取第一模式和第二模式并行的访问方式,也可以先第二模式后第一模式的访问方式。在一个例子中,将结果a、b进行哈希后比对,统计不同的次数。如若结果a、b不存在不一致,则说明客户端直接访问缓存库的第一模式可用。这样的核查机制有助于在服务器A1接入缓存库时在前期或者在运行中发现问题并解决问题。此外,客户端可以将所统计的不同的次数定期或不定期发送给管理器,管理器分析比对结果不同的情况,安排相应措施,比如及早更新分布式缓存。
如果在步骤S44判断不采用双读模式,那么在步骤S47,判断模式开关是否打开。如果模式开关打开,则进入步骤S49,在第二模式下客户端通过远程服务端读取数据,即通过管理器访问缓存库的方式读取数据。如果开关关闭,那么进入步骤S48,在第一模式下客户端直接访问缓存库,读取数据。
借助于模式开关,客户端可以根据第二业务***的不同负荷情况,灵活地选择第一模式或第二模式。比如,第二业务***业务不繁忙或缓存库命中率不高的情况下,客户端选择工作在第二模式下;第二业务***业务繁忙或者数据需要尽快读取的情况下,客户端选择工作在第一模式下。
借助于模式开关,客户端也可以动态且快速地在第一模式和第二模式之间进行切换。
在读取业务前期,可以通过双读模式,判断第一模式的可用性。如果经过验证第一模式可用,则客户端选择开启第一模式,通过客户端直接读取缓存库下。在客户端读取的第一模式下,客户端可以继续根据监控及业务吞吐量,验证客户端直接访问缓存库的性能。如果第二业务***或网络出现局部问题,妨碍第一模式的正常工作,可以快速切换模式开关,使得客户端工作在第二模式下,通过服务端远程访问缓存库,能极大降低缓存客户端直接接入缓存库的风险;当问题消除后,可以切换模式开关,使得客户端重新回到第一模式。模式开关可以帮助实现在业务过程中无缝切换,无需专人值守。
在一个可能的实施方式下,第一业务***是服务器集群,集群中的每个服务器具有相同的功能,负载均衡服务器根据各服务器的负载情况,将用户的请求动态分配给相应的服务器处理。集群中的各服务器集成有第二业务***的管理器的客户端程序,并且配置有模式开关,可以使客户端程序在第一模式和第二模式下切换。集群中各服务器里的模式开关,可以同步切换,也可以根据具体情况独立切换。在一个例子中,为了保障模式切换的安全性,可以先期配置第一业务***中的一个或少数服务器,使其模式开关切换到第一模式下,通过客户端直接访问缓存库。如果,通过对这个或这些服务器在一段时间内的工作的监控发现,第一模式正常工作,那么可以将整个集群中各服务器的模式开关切换到第一模式下,或者使其渐次切换到第一模式下。
虽然客户端直接访问缓存库的第一模式有助于快捷读取数据,但是由于数据库与缓存库难以保证数据一致性,因此,有必要及时更新分布式缓存。在一个可能的实现方式中,第二业务***的管理器在更新数据库的同时写入一条更新任务,借助于此更新任务能保证与操作数据的事务一致性。更新任务可以由定时任务驱动,以此督促在各分布式缓存节点的内容全部更新,防止发生并发时增量数据问题。
图5示意了根据本说明书实施例的可用于实现上述各种技术的第一业务***各服务器的详细结构图。该结构图示意了可实现图2所示原理和图4所示方法流程的硬件基础。如图5所示,服务器可包括处理器102,该处理器表示用于控制服务器的总体操作的微处理器或控制器111。数据总线115可利于在存储设备140、处理器102和控制器117之间进行数据传输。控制器111可用于通过设备控制总线117与不同设备进行交互并对其进行控制。
服务器还包括存储设备140,该存储设备可存储客户端程序;还可以存储数据库及其缓存库的访问地址。终端设备还可包括随机存取存储器(RAM)120和只读存储器(ROM)122。ROM 122可以以非易失性方式存储待执行的程序、实用程序或进程,比如操作***。RAM120,也称为内存,可提供易失性数据存储,并存储运行操作***和客户端程序的指令及其相关的数据。
在操作中,客户端应用程序自RAM140中加载于RAM120中,并且由此控制处理器102执行相应操作,由此客户端得以接入分布式缓存,从而读取其中的数据。
在一个示例中,客户端应用程序获取读取请求,所述读取请求用于读取第二业务***中的数据;在第一模式下,根据读取请求,确定缓存库地址,所述缓存库地址对应于至少一个缓存库中的第一缓存库;根据缓存库地址,与第一缓存库建立第一连接;通过该第一连接向第一缓存库发送读取请求,读取第一数据。在另一个示例中,在第二模式下,客户端应用程序和管理器建立第二连接,并且通过该第二连接向管理器发送读取请求,以便通过第二连接从至少一个分布式缓存读取第二数据。当然,客户端应用程序可以比较第一数据和第二数据,根据比较结果确定第一模式的可用性。
应当理解,这里描述的服务器在很多方面可以利用前面描述的方法实施例或与之结合。
图6为本发明实施例提供的一种装置的结构示意图。装置在很多方面对应于前面描述的方法实施例的步骤或与之结合,装置的各个模块可以由软件、硬件或硬件与软件的组合实现。具体来说,该装置可以包括获取单元200,配置为获取读取请求,所述读取请求用于读取第二业务***中的数据;还可以包括确定单元202,配置为根据读取请求,确定缓存库地址,所述缓存库地址对应于至少一个缓存库中的第一缓存库;第一连接单元204,配置为根据缓存库地址,与至少一个缓存库中的第一缓存库建立第一连接;第一读取单元206,配置为通过该第一连接向第一缓存库发送读取请求,读取第一数据。注意,确定单元202、第一连接单元204、第一读取单元206工作在第一模式下。
在一个可能的方案中,数据读取装置包括第二连接单元212,配置为和管理器建立第二连接;和,第二读取单元214,配置为通过该第二连接向管理器发送读取请求,以便通过第二连接从至少一个分布式缓存读取第二数据。第二连接单元212和第二读取单元214工作在不同于第一模式的第二模式下。在进一步可能的方案中,数据读取装置包括第一模式可用性确定单元226,配置为比较第一数据和第二数据,根据比较结果确定第一模式可用性。在另一个进一步可能的方案中,数据读取装置包括模式开关238;在一个例子中,模式开关238选择第一模式和第二模式的一个模式读取数据;在另一个例子中,所述模式开关238在第一模式和第二模式之间进行切换。
在一个可能的方案中,所述确定单元包括键确定单元,配置为根据读取请求,确定键;地址确定单元,配置为根据键和键值对,确定缓存库地址。
在一个可能的方案中,所述数据读取装置还包括第三读取单元,在第一缓存库无法命中数据的情况下,向管理器发送读取数据库的请求。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2和图4所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (16)

1.一种第一业务***访问第二业务***的数据读取方法,第一业务***和第二业务***通过网络相连;所述第二业务***是读多写少的***,所述第二业务***包括管理器、数据库和至少一个缓存库,所述至少一个缓存库是数据库的分布式缓存,管理器提供对数据库以及至少一个分布式缓存的控制;第一业务***安装有第二业务***的管理器的客户端程序;所述方法由所述客户端程序执行;所述方法包括:
获取读取请求,所述读取请求用于读取第二业务***中的数据;
在第一模式下,根据读取请求,确定缓存库地址,所述缓存库地址对应于至少一个缓存库中的第一缓存库;
根据缓存库地址,与第一缓存库建立第一连接;
通过该第一连接向第一缓存库发送读取请求,读取第一数据。
2.根据权利要求1所述的方法,所述方法还包括在第二模式下,和管理器建立第二连接,并且通过该第二连接向管理器发送读取请求,以便通过第二连接从至少一个分布式缓存或数据库读取第二数据。
3.根据权利要求2所述的方法,所述方法还包括比较第一数据和第二数据,根据比较结果确定第一模式的可用性。
4.根据权利要求2所述的方法,其中客户端程序包括模式开关,所述方法包括根据模式开关,选择第一模式和第二模式的一个模式读取数据。
5.根据权利要求4所述的方法,其中所述方法包括切换所述模式开关,从而在第一模式和第二模式之间进行切换。
6.根据权利要求1所述的方法,其中所述根据读取请求,确定缓存库地址包括根据读取请求,确定键;根据键和键值对,确定缓存库地址。
7.根据权利要求1所述的方法,所述方法还包括在第一缓存库无法命中数据的情况下,向管理器发送读取数据库的请求。
8.一种第一业务***访问第二业务***的数据读取装置,第一业务***和第二业务***通过网络相连;所述第二业务***是读多写少的***,所述第二业务***包括管理器、数据库和至少一个缓存库,所述至少一个缓存库是数据库的分布式缓存,管理器提供对数据库以及至少一个分布式缓存的控制;所述数据读取装置包括:
获取单元,配置为获取读取请求,所述读取请求用于读取第二业务***中的数据;
确定单元,配置为在第一模式下,根据读取请求,确定缓存库地址,所述缓存库地址对应于至少一个缓存库中的第一缓存库;
第一连接单元,配置为根据缓存库地址,与至少一个缓存库中的第一缓存库建立第一连接;
第一读取单元,配置为通过该第一连接向第一缓存库发送读取请求,读取第一数据。
9.根据权利要求8所述的数据读取装置,其中数据读取装置包括第二连接单元,配置为在第二模式下,和管理器建立第二连接,和第二读取单元,配置为通过该第二连接向管理器发送读取请求,以便通过第二连接从至少一个分布式缓存或数据库读取第二数据。
10.根据权利要求9所述的数据读取装置,其中数据读取装置包括第一模式可用性确定单元,配置为比较第一数据和第二数据,根据比较结果确定第一模式可用性。
11.根据权利要求9所述的数据读取装置,其中数据读取装置包括模式开关单元,用于选择第一模式和第二模式的一个模式读取数据。
12.根据权利要求11所述的数据读取装置,其中所述模式开关用于在第一模式和第二模式之间进行切换。
13.根据权利要求8所述的数据读取装置,其中所述确定单元包括键确定单元,配置为根据读取请求,确定键;地址确定单元,配置为根据键和键值对,确定缓存库地址。
14.根据权利要求8所述的数据读取装置,所述装置还包括第三读取单元,在第一缓存库无法命中数据的情况下,向管理器发送读取数据库的请求。
15.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-7中任一项的所述的方法。
16.一种服务器,包括:存储设备,网络接口和处理器,所述处理器可通信地耦合到所述存储设备和网络接口,存储设备存储有管理器的客户端程序,管理器提供对数据库以及至少一个分布式缓存的控制,至少一个缓存库是数据库的分布式缓存,所述处理器可用于执行客户端程序,实现权利要求1-7中任一项所述的方法。
CN201810652330.7A 2018-06-22 2018-06-22 一种业务***通过客户端访问读多写少***的方法和装置 Active CN108777718B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810652330.7A CN108777718B (zh) 2018-06-22 2018-06-22 一种业务***通过客户端访问读多写少***的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810652330.7A CN108777718B (zh) 2018-06-22 2018-06-22 一种业务***通过客户端访问读多写少***的方法和装置

Publications (2)

Publication Number Publication Date
CN108777718A CN108777718A (zh) 2018-11-09
CN108777718B true CN108777718B (zh) 2021-03-23

Family

ID=64025420

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810652330.7A Active CN108777718B (zh) 2018-06-22 2018-06-22 一种业务***通过客户端访问读多写少***的方法和装置

Country Status (1)

Country Link
CN (1) CN108777718B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674147B (zh) * 2019-08-28 2023-02-28 视联动力信息技术股份有限公司 数据处理方法、装置及计算机可读存储介质
CN111339139A (zh) * 2020-02-21 2020-06-26 广州市百果园信息技术有限公司 数据处理方法、装置、设备和存储介质
CN112732751B (zh) * 2020-12-30 2023-04-28 北京懿医云科技有限公司 一种医学数据处理方法、装置、存储介质及设备
CN113127570B (zh) * 2021-05-18 2022-11-04 上海莉莉丝科技股份有限公司 分布式服务器的数据操作方法、***、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186552A (zh) * 2011-12-28 2013-07-03 北京新媒传信科技有限公司 一种业务服务中客户端访问数据的方法和***
CN105338026A (zh) * 2014-07-24 2016-02-17 阿里巴巴集团控股有限公司 数据资源的获取方法、装置和***
CN105574010A (zh) * 2014-10-13 2016-05-11 阿里巴巴集团控股有限公司 数据查询方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750324A (zh) * 2012-05-28 2012-10-24 华为技术有限公司 文件存储***、装置及文件存取方法
CN107231395A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 数据存储方法、装置和***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186552A (zh) * 2011-12-28 2013-07-03 北京新媒传信科技有限公司 一种业务服务中客户端访问数据的方法和***
CN105338026A (zh) * 2014-07-24 2016-02-17 阿里巴巴集团控股有限公司 数据资源的获取方法、装置和***
CN105574010A (zh) * 2014-10-13 2016-05-11 阿里巴巴集团控股有限公司 数据查询方法及装置

Also Published As

Publication number Publication date
CN108777718A (zh) 2018-11-09

Similar Documents

Publication Publication Date Title
CN108777718B (zh) 一种业务***通过客户端访问读多写少***的方法和装置
US11126605B2 (en) System and method for clustering distributed hash table entries
US9888062B2 (en) Distributed storage system including a plurality of proxy servers and method for managing objects
US8463867B2 (en) Distributed storage network
US8495013B2 (en) Distributed storage system and method for storing objects based on locations
JP6607783B2 (ja) 分散キャッシュクラスタ管理
US9052962B2 (en) Distributed storage of data in a cloud storage system
US20190392053A1 (en) Hierarchical namespace with strong consistency and horizontal scalability
CN111464615A (zh) 请求处理方法、装置、服务器及存储介质
CN110474940B (zh) 请求调度方法、装置、电子设备、及介质
US11442897B2 (en) Optimizing content storage through stubbing
CN111444157B (zh) 分布式文件***及数据访问方法
CN103607424A (zh) 一种服务器连接方法及服务器***
CN113032335A (zh) 文件访问方法、装置、设备及存储介质
CN112948178A (zh) 一种数据处理方法、装置、***、设备及介质
CN111399760B (zh) Nas集群元数据处理方法、装置、nas网关及介质
US8549274B2 (en) Distributive cache accessing device and method for accelerating to boot remote diskless computers
US11741081B2 (en) Method and system for data handling
CN107181773A (zh) 分布式存储***的数据存储及数据管理方法、设备
CN113190619B (zh) 分布式kv数据库的数据读写方法、***、设备和介质
KR101638689B1 (ko) 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템
US11138231B2 (en) Method and system for data handling
US20110047165A1 (en) Network cache, a user device, a computer program product and a method for managing files
CN116974465A (zh) 数据加载方法、装置、设备及计算机存储介质
EP3686751A1 (en) Method and system for data handling

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200927

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200927

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240206

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: United Kingdom