分布式数据管理系统及其数据访问方法
【专利摘要】本发明提供一种分布式数据管理系统及其数据访问方法。所述分布式数据管理系统包括至少两个数据源,所述方法包括:响应于数据访问请求,获取活动数据源的信息,基于所述活动数据源处理所述数据访问请求,并且发送所述数据访问请求的处理结果;响应于数据源更新指令,将新的批量数据导入当前未被标识为活动数据源的另一数据源,并且将所述另一数据源标识为当前的活动数据源。本发明的分布式数据管理系统能够在不影响用户对系统进行数据访问的情况下,进行较高频率的数据更新,为用户提供最新的数据信息,提高用户的使用体验。
【专利说明】
分布式数据管理系统及其数据访问方法
技术领域
[0001]本发明涉及数据库技术领域,尤其涉及一种分布式数据管理系统及其数据访问方法。
【背景技术】
[0002]随着信息技术的发展,通过分布式web服务获取信息的用户群体日益扩大,用户获取信息的方式越来越多样化,对所要获取的信息的需求也越来越高,尤其是针对所获取的信息实时性要求的提高最为显著。为了满足用户针对获取信息的实时性的要求,分布式数据系统需要及时地进行更新数据、删除数据等操作来完成系统的数据更新,进而方便用户在访问数据系统时,可以查询到最新的数据信息。
[0003]由于现有的数据系统进行数据更新时,是通过对接某个外界数据源获取较大的数据量来完成的,导致在数据系统的更新功能模块进行数据更新时,对数据影响面较大,甚至是要删除原有数据,写入新的数据。此时访问数据系统,只能极为缓慢地读取正在进行更新的数据,甚至无法进行数据读取,从而无法为用户提供稳定地访问服务。
[0004]针对这个问题,现有的解决方案是通过降低数据的数据更新频率或者容忍短暂无法访问服务的存在。例如,将数据系统的数据更新频率设定为每天一次,并选择在利记体育最低的凌晨进行数据更新,以降低数据更新引起访问故障的影响。但是,在这一天内用户访问的数据都是旧数据,无法满足用户对新数据的要求。如果提高数据系统的数据更新频率,则需要用户容忍不稳定的访问服务,降低用户的使用体验。
【发明内容】
[0005]本发明的目的在于提供一种分布式数据管理系统及其数据访问方法,以实现稳定地为用户提供数据访问服务。
[0006]为达到上述目的,本发明的实施例提供一种分布式数据管理系统,所述系统包括业务请求处理装置、至少两个数据存储装置、协调管理装置和数据更新操作装置;所述协调管理装置用于标识当前的活动数据源,所述活动数据源为所述至少两个数据存储装置之一;所述业务请求处理装置用于接收数据访问请求,从所述协调管理装置获取活动数据源的信息,基于所述活动数据源处理所述数据访问请求,并且发送所述数据访问请求的处理结果;所述数据更新操作装置用于响应于数据源更新指令,将新的批量数据导入当前未被标识为活动数据源的另一个数据存储装置,并且通过所述协调管理装置将所述另一个数据存储装置标识为当前的活动数据源。
[0007]进一步地,所述协调管理装置具体用于记录和更新当前的活动数据源的标识;所述业务请求处理装置具体用于从所述协调管理装置获取所述当前的活动数据源的标识。
[0008]进一步地,所述协调管理装置包括zookeeper应用程序协调服务。
[0009]进一步地,所述数据访问请求包括用于读取数据、写入数据、改写数据、删除数据中的至少一个的请求。
[0010]为达到上述目的,本发明的实施例还提供一种分布式数据管理系统的数据访问方法,所述分布式数据管理系统包括至少两个数据源,所述方法包括:响应于数据访问请求,获取活动数据源的信息,基于所述活动数据源处理所述数据访问请求,并且发送所述数据访问请求的处理结果;响应于数据源更新指令,将新的批量数据导入当前未被标识为活动数据源的另一数据源,并且将所述另一数据源标识为当前的活动数据源。
[0011 ]进一步地,所述方法还包括:记录当前的活动数据源的标识;所述获取活动数据源的信息的处理包括:获取所述当前的活动数据源的标识;所述将所述另一数据标识为当前的活动数据源的处理包括:将当前的活动数据源的标识更新为所述另一数据源的标识。
[0012]进一步地,通过zookeeper应用程序协调服务记录和更新当前的活动数据源的标识。
[0013]进一步地,所述数据访问请求包括用于读取数据、写入数据、改写数据、删除数据中的至少一个的请求。
[0014]本发明的实施例提供的分布式数据管理系统及其数据访问方法,根据系统的多个数据源中的活动数据源的信息,基于活动数据源来处理用户访问请求;通过将新的批量数据导入非活动数据源来完成系统的数据更新,并进行活动数据源的切换,可以用于交替进行数据更新。该分布式数据管理系统的系统性能稳定,可以进行较高频率的数据更新,为用户提供最新的数据信息,提高用户的使用体验。
【附图说明】
[0015]图1是示出本发明示例性实施例一的分布式数据管理系统的数据访问方法的流程图;
[0016]图2是示出本发明示例性实施例二的分布式数据管理系统的数据访问请求处理方法的流程图;
[0017]图3是示出本发明示例性实施例二的分布式数据管理系统的数据更新方法的流程图;
[0018]图4是示出本发明示例性实施例三的分布式数据管理系统的结构框图。
【具体实施方式】
[0019]本发明的基本构思是提供一种分布式数据管理系统及其数据访问方法,通过获取系统的多个数据源中的活动数据源的信息,基于活动数据源对用户访问请求进行处理;以及,将新的批量数据导入非活动数据源来完成系统的数据更新,并进行活动数据源的切换。由此,可以利用活动数据源和非活动数据源交替进行对数据访问请求的处理和系统的数据更新,进而实现不影响用户对系统进行数据访问时完成系统的数据更新,保证系统性能的稳定性。
[0020]下面结合附图详细描述本发明的示例性实施例。
[0021 ] 实施例一
[0022]图1是示出本发明示例性实施例一的分布式数据管理系统的数据访问方法的流程图。可通过如图3所示的分布式数据管理系统执行实施例一的分布式数据管理系统的数据访问方法。
[0023]参照图1,在步骤S110,响应于数据访问请求,获取活动数据源的信息,基于活动数据源处理数据访问请求,并且发送数据访问请求的处理结果。
[0024]本实施例中,分布式数据管理系统包括用于存储数据的至少两个数据源。该至少两个数据源相对独立,且只有一个作为活动数据源。业务服务器基于活动数据源存储的数据来响应用户的数据访问请求,例如查询影院的影片播放讯息等。可通过后台服务或管理程序对非活动数据源进行管理和操作。这些数据源彼此之间相互不影响,使活动数据源可以快捷且稳定地针对数据量较小的数据访问请求进行处理,有效地保证系统性能的稳定性。
[0025]该分布式数据管理系统在接收到用户的数据访问请求之后,获取活动数据源的信息。其中,活动数据源的信息可以包括数据源为活动数据源或非活动数据源的信息,数据源编号的信息等具体信息。分布式数据管理系统中负责处理该数据访问请求的业务请求处理装置可以直接读取活动数据源的信息,进而可以确定当前的活动数据源。
[0026]在获取到当前的活动数据源的信息之后,基于该数据源针对用户的数据访问请求,进行数据的读取或操作等处理,并将处理结果发送给发出数据访问请求的对象,使用户完成数据的读取或操作等请求。由于当前的活动数据源只用于处理数据访问请求,数据处理量较小,且不受其它非活动数据源的影响,所以活动数据源可以快捷地处理用户的数据访问请求,不需要用户较长时间的等待处理结果,提高用户的使用体验。
[0027]在步骤S120,响应于数据源更新指令,将新的批量数据导入当前未被标识为活动数据源的另一数据源,并且将另一数据源标识为当前的活动数据源。
[0028]由于系统的数据更新需要导入大量的新数据,存储新数据的数据源需要完成新数据的写入、原有数据的删除等大量的数据处理,此时,若基于该数据源处理用户的访问请求,则只能进行较为缓慢的处理,甚至无法正常处理。因此,选择非活动数据源进行新的批量数据的导入,避免影响活动数据源处理数据访问请求的效率。
[0029]具体地,在系统接收到数据源更新指令之后,从多个数据源选择未被标识为活动数据源的一个非活动数据源来导入新的批量数据。当在该非活动数据源中完成新数据的存储(或者非活动数据源还需要完成原有数据的删除)之后,可以将该非活动数据源标识为当前的活动数据源。当前的新活动数据源具有新数据,可以为用户的数据访问请求提供新的数据信息,基于新的数据信息来处理用户的数据访问请求,满足用户对获取的数据信息的实时性要求。
[0030]同时,系统将原活动数据源的标识标注为非活动数据源。在预定的时间之后,当系统再次接收到数据源更新指令时,可以基于该非活动数据源进行系统的数据更新。由此,系统通过活动数据源的切换用于交替完成系统内部的数据更新以及对数据访问请求的处理。由于活动数据源的切换仅涉及活动数据源的标注修改,操作快捷,既不影响系统稳定性,保证用户可以快捷地进行数据访问;又可以进行较高频率地进行大量数据的更新,使用户访问最新的数据。
[0031]本发明的实施例提供的分布式数据管理系统的数据访问方法,利用当前的活动数据源处理用户的数据访问请求,利用非活动数据源存储新数据来进行系统内部的数据更新,通过切换活动数据源和非活动数据源交替进行对数据访问请求的处理和系统的数据更新,保证系统性能的稳定性,并使系统可以进行大量数据的更新来为用户提供最新的访问数据。
[0032]实施例二
[0033]图2和图3分别示出本发明实施例二的分布式数据管理系统的数据访问请求处理方法和数据更新方法,相当于图1所示实施例一的分布式数据管理系统的数据访问方法的一种具体实现方式,相关内容可参见实施例一的相关内容。
[0034]参照图2,在步骤S210,获取活动数据源的标识。
[0035]获取活动数据源的标识相当于前述步骤SllO中获取活动数据源的信息,用于确定系统的多个活动数据源中的活动数据源和非活动数据源。为了方便执行步骤S210,需要记录系统当前的活动数据源的标识。
[0036]在步骤S220,判断活动数据源的标识是否存在。
[0037]若获取到活动数据源的标识,则上述判断为否,执行步骤S230。
[0038]在步骤S230,设置活动数据源的标识。
[0039]在系统首次启动时,系统的多个数据源需要设定活动数据源,可以任选一个数据源存储外部数据作为活动数据源,并将活动数据源的标识设置为该数据源的标识信息。
[0040]若未获取到活动数据源的标识,则上述判断为是,执行步骤S240。
[0041 ]在步骤S240,基于活动数据源处理数据访问请求。
[0042]本实施例中,通过执行步骤S210可以获取活动数据源的标识,以及通过步骤S230可以确定活动数据源的标识,均可以确定系统多个数据源中的活动数据源。此时,基于此活动数据源来处理用户的数据访问请求,使用户稳定快捷地进行数据访问。
[0043]参照图3,在步骤S310,获取活动数据源的标识。
[0044]在步骤S320,判断活动数据源的标识是否存在。
[0045]在步骤S330,设置活动数据源的标识。步骤S310、步骤S320和步骤S330分别与前述步骤S210、步骤S220和步骤S230的内容相同,可参见步骤S210、步骤S220和步骤S230的相应内容。
[0046]在步骤S340,设置非活动数据源为导入数据源。
[0047]本实施例中,通过执行步骤S310可以获取活动数据源的标识,以及通过步骤S330可以确定活动数据源的标识,均可以确定系统多个数据源中的活动数据源。此时,基于多个数据源中活动数据源之外的任一个非活动数据源可以进行系统内部的数据更新。在确定了进行数据更新的非活动数据源之后,将该非活动数据设置为导入数据源,用于导入系统外部数据来完成数据更新。
[0048]在步骤S350,导入新数据。
[0049]在向导入数据源导入新数据时,可以直接由系统外部导入新数据。由于实施例的分布式数据管理系统的多个数据源交替进行数据更新,多个数据源进行数据更新的次数不同,则多个数据源包含的数据量不同。若导入数据源中包含的数据量不足以为用户提供数据访问,则会造成用户数据访问请求无法得到处理。对于这种问题,可以通过将导入数据源本身的两次数据更新之间导入系统的外部数据全部存储到导入数据源,以使导入数据源内部的数据量足够处理用户的数据访问请求。
[0050]在步骤S360,更新活动数据源的标识。
[0051 ]在导入数据源完成新数据的存储之后,即可将该导入数据源设置为当前活动的数据源,用于处理用户的数据访问请求,使用户访问最新数据,并基于最新数据进行读取数据、写入数据、改写数据、删除数据等操作。
[0052]同时,更新活动数据源的标识,以便系统再次进行数据更新时,将系统外部的新数据导入其它非活动数据源,进而实现由多个数据源交替更新数据来完成系统内部的数据更新。具体地,可以通过zookeeper应用程序协调服务来记录和更新当前的活动数据源的标识。
[0053]本发明实施例的分布式数据管理系统的数据访问方法,在图1所示实施例的基础上,进一步示出了对数据访问请求的处理方法和系统的数据更新方法,使得系统可以稳定地为用户提供数据访问请求,并同时可以进行数据更新,使用户访问最新数据。
[0054]实施例三
[0055]图4是示出本发明示例性实施例三的分布式数据管理系统的结构框图,该系统可用于执行前述实施例一或实施例二的分布式数据管理系统的访问方法。
[0056]参照图4,该系统包括至少两个数据存储装置(图4中为两个,第一数据存储装置421和第二数据存储装置422)、业务请求处理装置430、协调管理装置440和数据更新操作装置 410。
[0057]其中,协调管理装置440用于标识当前的活动数据源,活动数据源为至少两个数据存储装置之一;业务请求处理装置430用于接收数据访问请求,从协调管理装置440获取活动数据源的信息,基于活动数据源处理数据访问请求,并且发送数据访问请求的处理结果;数据更新操作装置410用于响应于数据源更新指令,将新的批量数据导入当前未被标识为活动数据源的另一个数据存储装置,并且通过协调管理装置440将另一个数据存储装置标识为当前的活动数据源。
[0058]本实施例中,两个数据存储装置作为活动数据源和非活动数据源,来存储系统内部的数据以及向用户提供数据访问服务。协调管理装置440利用来标识活动数据源,使得业务请求处理装置430可以根据活动数据源的标识确定活动数据源,进而基于活动数据源处理用户数据访问请求,使用户可以快捷地进行数据访问。数据更像操作装置410从根据协调管理装置440获取活动数据源的信息,确定非活动数据源,将新的批量数据导入该非活动数据源完成系统内部的数据更新,保证系统性能的稳定性。在系统完成数据更新时,通过协调管理装置440更新活动数据源的标识,以方便系统再次进行系统数据更新。
[0059]进一步地,协调管理装置440具体用于记录和更新当前的活动数据源的标识;业务请求处理装置430具体用于从协调管理装置440获取当前的活动数据源的标识。
[0060]进一步地,协调管理装置440包括zookeeper应用程序协调服务。
[0061]进一步地,数据访问请求包括用于读取数据、写入数据、改写数据、删除数据中的至少一个的请求。
[0062]本发明实施例的分布式数据管理系统,利用两个数据存储装置作为数据源,交替存储新数据来保证系统稳定地进行数据更新;以及利用活动数据源来执行对数据访问请求的处理,使得用户可以快捷地进行数据访问,提高用户的使用体验。
[0063]实施例四
[0064]本实施例为利用图4所示的分布式数据管理系统作为电影票数据库,来进行电影票商场的电影票售卖项目的具体操作方式,用于在电影票基础数据的高频次更新的同时,利用系统性能的稳定性来保证电影票数据的快捷查询。
[0065]具体地,将原始电影片数据导入电影票数据库(分布式数据管理系统),并存储到第一数据存储装置421,此时,协调管理装置440将第一数据存储装置421标识为活动数据源,用于向前台电影票服务系统提供电影票数据的查询服务;第二数据存储装置422为非活动数据源。
[0066]到达预设的更新时间时,电影票数据库进行电影票数据更新,从协调管理装置440直接读取活动数据源的标识,将第一数据存储装置421确定为活动数据源。数据更新操作装置410将最新的电影票数据存储到第二数据存储装置422,并由协调管理装置440将第二数据存储装置422标识为当前的活动数据源,用于向前台电影票服务系统提供最新的电影票数据的查询服务;同时,协调管理装置440将第一数据存储装置421标识为非活动数据源,用于在电影票数据库再次更新时存储最新的电影票数据。
[0067]由此,第一数据存储装置421和第二数据存储装置422交替存储最新电影票数据,完成电影票数据的高频次更新,并且保证电影票数据库稳定性。电影票数据库不断进行稳定更新,使前台电影票服务系统可以查询到最新的电影票数据,使售票项目稳定进行。
[0068]需要指出,根据实施的需要,可将本申请中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明的目的。
[0069]上述根据本发明的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD R0M、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。
[0070]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【主权项】
1.一种分布式数据管理系统,其特征在于,所述系统包括业务请求处理装置、至少两个数据存储装置、协调管理装置和数据更新操作装置; 所述协调管理装置用于标识当前的活动数据源,所述活动数据源为所述至少两个数据存储装置之一; 所述业务请求处理装置用于接收数据访问请求,从所述协调管理装置获取活动数据源的信息,基于所述活动数据源处理所述数据访问请求,并且发送所述数据访问请求的处理结果; 所述数据更新操作装置用于响应于数据源更新指令,将新的批量数据导入当前未被标识为活动数据源的另一个数据存储装置,并且通过所述协调管理装置将所述另一个数据存储装置标识为当前的活动数据源。2.根据权利要求1所述的系统,其特征在于,所述协调管理装置具体用于记录和更新当前的活动数据源的标识; 所述业务请求处理装置具体用于从所述协调管理装置获取所述当前的活动数据源的标识O3.根据权利要求2所述的系统,其特征在于,所述协调管理装置包括zookeeper应用程序协调服务。4.根据权利要求1?3中任一项所述的系统,其特征在于,所述数据访问请求包括用于读取数据、写入数据、改写数据、删除数据中的至少一个的请求。5.—种分布式数据管理系统的数据访问方法,所述分布式数据管理系统包括至少两个数据源,其特征在于,所述方法包括: 响应于数据访问请求,获取活动数据源的信息,基于所述活动数据源处理所述数据访问请求,并且发送所述数据访问请求的处理结果; 响应于数据源更新指令,将新的批量数据导入当前未被标识为活动数据源的另一数据源,并且将所述另一数据源标识为当前的活动数据源。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:记录当前的活动数据源的标识; 所述获取活动数据源的信息的处理包括:获取所述当前的活动数据源的标识; 所述将所述另一数据标识为当前的活动数据源的处理包括:将当前的活动数据源的标识更新为所述另一数据源的标识。7.根据权利要求6所述的方法,其特征在于,通过zookeeper应用程序协调服务记录和更新当前的活动数据源的标识。8.根据权利要求5?7中任一项所述的方法,其特征在于,所述数据访问请求包括用于读取数据、写入数据、改写数据、删除数据中的至少一个的请求。
【文档编号】G06F17/30GK105893528SQ201610195136
【公开日】2016年8月24日
【申请日】2016年3月30日
【发明人】王浩波
【申请人】乐视控股(北京)有限公司, 乐视电子商务(北京)有限公司