CN105224596A - 一种访问数据的方法及装置 - Google Patents

一种访问数据的方法及装置 Download PDF

Info

Publication number
CN105224596A
CN105224596A CN201510534480.4A CN201510534480A CN105224596A CN 105224596 A CN105224596 A CN 105224596A CN 201510534480 A CN201510534480 A CN 201510534480A CN 105224596 A CN105224596 A CN 105224596A
Authority
CN
China
Prior art keywords
sublist
former table
submeter
information
order
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.)
Pending
Application number
CN201510534480.4A
Other languages
English (en)
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.)
Inspur Group Co Ltd
Original Assignee
Inspur Group 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 Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN201510534480.4A priority Critical patent/CN105224596A/zh
Publication of CN105224596A publication Critical patent/CN105224596A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2445Data retrieval commands; View definitions

Abstract

本发明提供了一种访问数据的方法及装置,该方法包括:预先设置配置文件,所述配置文件中保存有待分表的原表的信息;获取外部输入的原表访问命令;判断所述原表访问命令对应的原表的信息是否保存在所述配置文件中,如果是,则根据所述原表访问命令确定从所述原表拆分出的所有子表中的待访问子表;将所述原表访问命令的访问对象修改为所述待访问子表,获得子表访问命令;根据所述子表访问命令,对所述待访问子表进行访问。通过本发明提供了一种访问数据的方法及装置,能够提高访问效率。

Description

一种访问数据的方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种访问数据的方法及装置。
背景技术
随着信息技术的发展,云计算已经逐步成为了业界的发展热点,云计算技术也逐渐被应用到教育、科学、文化、公安、政府、卫生、高性能计算、电子商务、物联网等多个领域,随之云计算服务平台的使用量和活跃度也与日俱增,平台业务数据量也爆发式激增。
由于在云服务平台中,数据采用单表存储的方式,随着数据量的不断激增,一张数据表中的记录数量可能会达到上千万甚至到达亿级别。当外部需要访问数据表时,可能需要对当前数据表中的数据进行检索,由于该表中记录数量太多,造成检索量较大,数据库访问效率较低。
发明内容
有鉴于此,本发明提供了一种访问数据的方法及装置,能够提高访问效率。
一方面,本发明提供了一种访问数据的方法,包括:预先设置配置文件,所述配置文件中保存有待分表的原表的信息;
S1:获取外部输入的原表访问命令;
S2:判断所述原表访问命令对应的原表的信息是否保存在所述配置文件中,如果是,则执行步骤S3;
S3:根据所述原表访问命令确定从所述原表拆分出的所有子表中的待访问子表;
S4:将所述原表访问命令的访问对象修改为所述待访问子表,获得子表访问命令;
S5:根据所述子表访问命令,对所述待访问子表进行访问。
进一步地,还包括:预先设置数据访问对象接口DAO接口对应的拦截器;
所述S1,包括:通过所述拦截器拦截所述DAO接口接收到的所述原表访问命令。
进一步地,所述预先设置拦截器,包括:预先将会话工厂SessionFactory的entityInterceptor属性设置为指向所述拦截器,为所述DAO接口配置所述拦截器。
进一步地,还包括:预先设置分表策略;
所述S3,包括:根据所述原表访问命令判断所述待访问子表是否存在,如果是,则执行步骤S4,否则,根据所述分表策略和所述原表访问命令对所述原表进行横向分表,创建所述待访问子表,执行步骤S4。
进一步地,还包括:预先设置分表信息对应关系表,所述分表信息对应关系表中包括:原表的信息、原表对应的子表的信息;
所述S3,包括:根据所述分表信息对应关系表中的原表的信息和原表对应的子表的信息,以及所述原表访问命令,确定所述待访问子表。
另一方面,本发明提供了一种访问数据的装置,包括:
第一设置单元,用于设置配置文件,所述配置文件中保存有待分表的原表的信息;
获取单元,用于获取外部输入的原表访问命令;
判断单元,用于判断所述原表访问命令对应的原表的信息是否保存在所述配置文件中,当判断结果为是时,通知确定单元;
所述确定单元,用于根据所述原表访问命令确定从所述原表拆分出的所有子表中的待访问子表;
命令生成单元,用于将所述原表访问命令的访问对象修改为所述待访问子表,获得子表访问命令;
访问单元,用于根据所述子表访问命令,对所述待访问子表进行访问。
进一步地,还包括:
第二设置单元,用于设置数据访问对象接口DAO接口对应的拦截器;
所述获取单元,用于通过所述拦截器拦截所述DAO接口接收到的所述原表访问命令。
进一步地,所述第二设置单元,用于预先将会话工厂SessionFactory的entityInterceptor属性设置为指向所述拦截器,为所述DAO接口配置所述拦截器。
进一步地,还包括:第三设置单元,用于设置分表策略;
所述确定单元,用于根据所述原表访问命令判断所述待访问子表是否存在,当判断结果为是时,通知所述命令生成单元,当判断结果为否时,根据所述分表策略和所述原表访问命令对所述原表进行横向分表,创建所述待访问子表,通知所述命令生成单元。
进一步地,还包括:第四设置单元,用于设置分表信息对应关系表,所述分表信息对应关系表中包括:原表的信息、原表对应的子表的信息;
所述确定单元,用于根据所述分表信息对应关系表中的原表的信息和原表对应的子表的信息,以及所述原表访问命令,确定所述待访问子表。
本发明提供的一种访问数据的方法及装置,获取原表访问命令,当该原表访问命令要访问的原表在配置文件中时,将原表访问命令转化为子表访问命令,通过子表访问命令访问对应的子表,子表中的数据量比原表中的数据量少,减少了检索数据的时间,提高了访问效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种访问数据的方法的流程图;
图2是本发明一实施例提供的另一种访问数据的方法的流程图;
图3是本发明一实施例提供的一种访问数据的装置的示意图;
图4是本发明一实施例提供的另一种访问数据的装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种访问数据的方法,该方法可以包括以下步骤:
S0:预先设置配置文件,所述配置文件中保存有待分表的原表的信息;
S1:获取外部输入的原表访问命令;
S2:判断所述原表访问命令对应的原表的信息是否保存在所述配置文件中,如果是,则执行步骤S3;
S3:根据所述原表访问命令确定待访问子表;
S4:将所述原表访问命令的访问对象修改为所述待访问子表,得到子表访问命令;
S5:根据所述子表访问命令,对所述待访问子表进行访问。
本发明实施例提供的一种访问数据的方法,获取原表访问命令,当该原表访问命令要访问的原表在配置文件中时,将原表访问命令转化为子表访问命令,通过子表访问命令访问对应的子表,子表中的数据量比原表中的数据量少,减少了检索数据的时间,提高了访问效率。
其中,在步骤S2中,当判断结果为否时,可以执行:访问所述原表访问命令对应的原表,也可以结束当前流程。
外部对数据库的访问命令需要通过DAO(DataAccessObject,数据访问对象)接口传递给数据库,为了对访问数据库的原表访问命令进行修改,可以通过拦截器(Interceptor)拦截DAO接口接收到的原表访问命令。在一种可能的实现方式中,该方法还包括:预先设置DAO接口对应的拦截器;所述S1,包括:通过所述拦截器拦截所述DAO接口接收到的所述原表访问命令。
在DAO接口处添加拦截器可以通过设置entityInterceptor属性来实现,具体地,所述预先设置拦截器,包括:预先将SessionFactory(会话工厂)的entityInterceptor属性设置为指向所述拦截器,为所述DAO接口配置所述拦截器。
通过该方法实现对数据库的访问,无需对数据库进行较多的代码修改,只需通过设置entityInterceptor属性,并为DAO接口配置该拦截器即可实现对原始访问命令的获取。而上述的为所述DAO接口配置所述拦截器,可以通过将该拦截器的名称写入到DAO类中来实现。
在确定待访问子表时,可能数据库中没有该待访问子表,在这种情况下,需要建立该待访问子表。用户可以根据需要设置对原表的分表策略,例如:可以将当前的原表按照月份进行分表,每个月份的数据存储在一个子表中。具体地,在一种可能的实现方式中,该方法还包括:预先设置分表策略。
所述S3,包括:根据所述原表访问命令判断所述待访问子表是否存在,如果是,则执行步骤S4,否则,根据所述分表策略和所述原表访问命令对所述原表进行横向分表,创建所述待访问子表,执行步骤S4。
在原表访问命令中携带有待处理的数据的信息,根据该信息和分表策略可以确定对应的待访问子表。举例来说,该信息为8月份的销售额,而分表策略是按照月份分表,则待访问子表为8月份的子表。在数据表中,一般一行对应一条数据记录,为了减少数据表中的记录的数量,需要减少数据表中的行数,因此,可以采用横向分表的方式对原表进行差分。举例来说,原表中有1月到12月的销售额,每个月份的销售额在原表中占有一行,采用横向分表,将每行拆分出来作为一个子表,得到12个子表,每个子表记录一个月份的销售额的数据。
另外,在确定待访问子表时,可以通过保存有子表的信息和原表的信息的数据表来确定对应的待访问子表。在一种可能的实现方式中,该方法还包括:预先设置分表信息对应关系表,所述分表信息对应关系表中包括:原表的信息、原表对应的子表的信息。
所述S3,包括:根据所述分表信息对应关系表中的原表的信息和原表对应的子表的信息,以及所述原表访问命令,确定所述待访问子表。
对数据表的访问一般有增加、删除、修改、查询这四种操作,其中,增加、删除、修改这三种操作一般是针对单张数据表的操作,可以通过原表访问命令中携带的待访问的数据的信息直接确定出对应的待访问子表,查询操作一般会涉及到多个数据表,因此需要通过记录有子表的信息的分表信息对应关系表来确定涉及到多个待访问子表,得到多个待访问子表的集合。另外,原表的信息可以包括:原表的名称等,子表的信息可以包括:子表的名称、子表的标识、子表的创建时间等。如表1所示,分表信息对应关系表可以通过表1的形式实现。
表1
需要说明的是:当系统进行数据库操作的时候,Hibernate对DAO中的原表访问命令进行预处理后进行执行,在执行前Interceptor会进行拦截。原表访问命令可以通过Hql语句实现,也可以通过Sql语句实现。本发明实施例中的配置文件中保存的待分表的原表的信息,可以是待分表的原表的名称。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
在本实施例中,在数据库中保存原表A、原表B,在配置文件中保存有原表A的名称,原表A中保存有1月份到6月份的销售额,原表A如表2所示。
表2
月份 销售额(万)
1 10
2 11
3 15
4 13
5 20
6 18
如图2所示,本发明实施例提供了一种访问数据的方法,该方法可以包括以下步骤:
步骤201:预先设置配置文件,预先设置数据访问对象接口DAO接口对应的拦截器,预先设置分表策略,其中,所述配置文件中保存有原表A的名称。
在该步骤中,可以设置分表策略为按照月份进行分表。待分表的原表为原表A。
设置拦截器时,可以通过以下方式实现:预先将SessionFactory的entityInterceptor属性设置为指向所述拦截器,将DAO接口类中写入该拦截器的名称。
步骤202:通过拦截器拦截DAO接口接收到的外部输入的原表访问命令,该原表访问命令中携带有访问原表A中5月份的销售额的信息。
原表访问命令可以是一条SQL语句,该语句的访问对象为原表A,该语句中通过携带原表A的名称来指明访问对象。
步骤203:根据原表访问命令中携带的信息,确定原表访问命令要访问的原表为原表A,并确定原表A的名称保存在配置文件中。
通过读取配置文件可以确定原表A的名称在配置文件中。如果原表访问命令要访问的原表为原表B,则直接原表B即可。
步骤204:根据原表访问命令携带的信息,确定原表访问命令要访问的待访问子表为5月份的子表,在数据库中不存在,根据分表策略和原表访问命令对原表A进行横向分表,创建5月份的销售额对应的子表5。
在该步骤中,创建的子表中的数据可以在创建后通过外部输入的原表访问命令添加进去,也可以从原表获取对应的数据添加进去。以原表A为例,如果原表A中,保存有5月份的销售额的数据,则可以将原表A中的5月份的销售额的数据添加到子表5中;如果原表访问命令向原表A中添加5月份的销售额的数据,则可以将该部分数据直接添加到子表5中。基于表2得到的子表5,如表3所示。
表3
月份 销售额(万)
5 20
步骤205:将原表访问命令的访问对象修改为子表5,获得子表访问命令。
在原表访问命令携带有访问对象,该访问对象为原表A,为了对子表5进行访问,可以直接将原表访问命令的访问对象修改为子表5。举例来说,原表访问命令的访问对象通过数据表的名称来指定,则将原表访问命令中原表A的名称改为子表5的名称即可。原表访问命令和子表访问命令,除了访问对象不同,其他部分可以完全相同,即对原表的操作转移到对其子表上。
步骤206:根据子表访问命令,对子表5进行访问。
根据该子表访问命令可以对子表5进行增加、删除、修改、查询等操作。
另外,如果原表访问命令查询2月份到5月份中的销售额最大的一天的销售额,当数据库中有2月份到5月份的子表时,将原表访问命令中的访问对象修改给子表即可。但是,由于通过原表访问命令携带的信息可能无法准确确定待访问子表,因此,可以预先设置分表信息对应关系表,该表中保存有原表的信息、原表对应的子表的信息,通过原表访问命令携带的信息和分表信息对应关系表中的信息,确定出待访问子表,进而对待访问子表进行访问。
本发明实施例提供的一种访问数据的方法,可以将云平台中数据量极大的业务数据,按照合理的方式进行分表,然后对分表进行访问,提高了数据访问效率,该方法具有实用性、普遍性、高效性等特征。该方法可以对已存在数据的原表进行分表,对系统代码改动量小,提高了可用性。
在该方法中,通过分表信息对应关系表将原表所分出的子表进行记录,用以保证跨多子表进行数据查询时的数据准确性和完整性,还可以尽量减少数据冗余存储。
在本发明实施例提供的方法中,准确分析系统数据特征,制定合理有效的数据横向分表方式,基于HibernateInterceptor的工作原理,通过拦截器在底层对用户通过配置文件指定的数据库表进行横向拆分,尽量减少对上层代码的改动。
本发明实施例提供的方法中,准确说明横向分表代码的编写步骤、对系统中就有代码的整改方法、对系统中已有数据的处理流程,在保证准确分表的前提下明确思路,简化步骤,减少编码的工作量和复杂度。
本发明实施例提供的方法中,只需要通过配置文件的方式指定分表的数据库表范围,在相关的代码中增加部分步骤,上层编码人员无需关心具体分表细节,底层Interceptor即可按照分表策略完成分表,系统代码改动量小,系统整改风险低。
通过使用横向分表,数据库表中的数据量有了量级级别的变化,从而大幅提高了数据库访问效率,从根本上解决了数据库访问低效的问题。
如图3、图4所示,本发明实施例提供了一种访问数据的装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的一种访问数据的装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的一种访问数据的装置,包括:
第一设置单元401,用于设置配置文件,所述配置文件中保存有待分表的原表的信息;
获取单元402,用于获取外部输入的原表访问命令;
判断单元403,用于判断所述原表访问命令对应的原表的信息是否保存在所述配置文件中,当判断结果为是时,通知确定单元404;
所述确定单元404,用于根据所述原表访问命令确定从所述原表拆分出的所有子表中的待访问子表;
命令生成单元405,用于将所述原表访问命令的访问对象修改为所述待访问子表,获得子表访问命令;
访问单元406,用于根据所述子表访问命令,对所述待访问子表进行访问。
在一种可能的实现方式中,该装置还包括:
第二设置单元,用于设置数据访问对象接口DAO接口对应的拦截器;
所述获取单元402,用于通过所述拦截器拦截所述DAO接口接收到的所述原表访问命令。
另外,所述第二设置单元,用于预先将会话工厂SessionFactory的entityInterceptor属性设置为指向所述拦截器,为所述DAO接口配置所述拦截器。
在一种可能的实现方式中,还包括:第三设置单元,用于设置分表策略;
所述确定单元404,用于根据所述原表访问命令判断所述待访问子表是否存在,当判断结果为是时,通知所述命令生成单元405,当判断结果为否时,根据所述分表策略和所述原表访问命令对所述原表进行横向分表,创建所述待访问子表,通知所述命令生成单元405。
在一种可能的实现方式中,还包括:第四设置单元,用于设置分表信息对应关系表,所述分表信息对应关系表中包括:原表的信息、原表对应的子表的信息;
所述确定单元404,用于根据所述分表信息对应关系表中的原表的信息和原表对应的子表的信息,以及所述原表访问命令,确定所述待访问子表。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供的一种访问数据的方法及装置,具有如下有益效果:
1、本发明实施例提供的一种访问数据的方法及装置,获取原表访问命令,当该原表访问命令要访问的原表在配置文件中时,将原表访问命令转化为子表访问命令,通过子表访问命令访问对应的子表,子表中的数据量比原表中的数据量少,减少了检索数据的时间,提高了访问效率。
2、本发明实施例提供的一种访问数据的方法及装置,通过该方法实现对数据库的访问,只需通过设置entityInterceptor属性,并为DAO接口配置该拦截器即可实现对原始访问命令的获取,无需对数据库进行较多的代码修改,实现过程较简单。
3、本发明实施例提供的一种访问数据的方法及装置,可以将云平台中数据量极大的业务数据,按照合理的方式进行分表,然后对分表进行访问,提高了数据访问效率,该方法具有实用性、普遍性、高效性等特征。该方法可以对已存在数据的原表进行分表,对系统代码改动量小,提高了可用性。
4、本发明实施例提供的一种访问数据的方法及装置,通过分表信息对应关系表将原表所分出的子表进行记录,用以保证跨多子表进行数据查询时的数据准确性和完整性,还可以尽量减少数据冗余存储。
5、本发明实施例提供的一种访问数据的方法及装置,准确分析系统数据特征,制定合理有效的数据横向分表方式,基于HibernateInterceptor的工作原理,通过拦截器在底层对用户通过配置文件指定的数据库表进行横向拆分,尽量减少对上层代码的改动。
6、本发明实施例提供的一种访问数据的方法及装置,只需要通过配置文件的方式指定分表的数据库表范围,在相关的代码中增加部分步骤,上层编码人员无需关心具体分表细节,底层Interceptor即可按照分表策略完成分表,系统代码改动量小,系统整改风险低。通过使用横向分表,数据库表中的数据量有了量级级别的变化,从而大幅提高了数据库访问效率,从根本上解决了数据库访问低效的问题。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种访问数据的方法,其特征在于,包括:预先设置配置文件,所述配置文件中保存有待分表的原表的信息,还包括:
S1:获取外部输入的原表访问命令;
S2:判断所述原表访问命令对应的原表的信息是否保存在所述配置文件中,如果是,则执行步骤S3;
S3:根据所述原表访问命令确定从所述原表拆分出的所有子表中的待访问子表;
S4:将所述原表访问命令的访问对象修改为所述待访问子表,获得子表访问命令;
S5:根据所述子表访问命令,对所述待访问子表进行访问。
2.根据权利要求1所述的方法,其特征在于,还包括:预先设置数据访问对象接口DAO接口对应的拦截器;
所述S1,包括:通过所述拦截器拦截所述DAO接口接收到的所述原表访问命令。
3.根据权利要求2所述的方法,其特征在于,所述预先设置拦截器,包括:预先将会话工厂SessionFactory的entityInterceptor属性设置为指向所述拦截器,为所述DAO接口配置所述拦截器。
4.根据权利要求1所述的方法,其特征在于,
还包括:预先设置分表策略;
所述S3,包括:根据所述原表访问命令判断所述待访问子表是否存在,如果是,则执行步骤S4,否则,根据所述分表策略和所述原表访问命令对所述原表进行横向分表,创建所述待访问子表,执行步骤S4。
5.根据权利要求1所述的方法,其特征在于,还包括:预先设置分表信息对应关系表,所述分表信息对应关系表中包括:原表的信息、原表对应的子表的信息;
所述S3,包括:根据所述分表信息对应关系表中的原表的信息和原表对应的子表的信息,以及所述原表访问命令,确定所述待访问子表。
6.一种访问数据的装置,其特征在于,包括:
第一设置单元,用于设置配置文件,所述配置文件中保存有待分表的原表的信息;
获取单元,用于获取外部输入的原表访问命令;
判断单元,用于判断所述原表访问命令对应的原表的信息是否保存在所述配置文件中,当判断结果为是时,通知确定单元;
所述确定单元,用于根据所述原表访问命令确定从所述原表拆分出的所有子表中的待访问子表;
命令生成单元,用于将所述原表访问命令的访问对象修改为所述待访问子表,获得子表访问命令;
访问单元,用于根据所述子表访问命令,对所述待访问子表进行访问。
7.根据权利要求6所述的装置,其特征在于,还包括:
第二设置单元,用于设置数据访问对象接口DAO接口对应的拦截器;
所述获取单元,用于通过所述拦截器拦截所述DAO接口接收到的所述原表访问命令。
8.根据权利要求7所述的装置,其特征在于,所述第二设置单元,用于预先将会话工厂SessionFactory的entityInterceptor属性设置为指向所述拦截器,为所述DAO接口配置所述拦截器。
9.根据权利要求6所述的装置,其特征在于,
还包括:第三设置单元,用于设置分表策略;
所述确定单元,用于根据所述原表访问命令判断所述待访问子表是否存在,当判断结果为是时,通知所述命令生成单元,当判断结果为否时,根据所述分表策略和所述原表访问命令对所述原表进行横向分表,创建所述待访问子表,通知所述命令生成单元。
10.根据权利要求6所述的装置,其特征在于,
还包括:第四设置单元,用于设置分表信息对应关系表,所述分表信息对应关系表中包括:原表的信息、原表对应的子表的信息;
所述确定单元,用于根据所述分表信息对应关系表中的原表的信息和原表对应的子表的信息,以及所述原表访问命令,确定所述待访问子表。
CN201510534480.4A 2015-08-27 2015-08-27 一种访问数据的方法及装置 Pending CN105224596A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510534480.4A CN105224596A (zh) 2015-08-27 2015-08-27 一种访问数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510534480.4A CN105224596A (zh) 2015-08-27 2015-08-27 一种访问数据的方法及装置

Publications (1)

Publication Number Publication Date
CN105224596A true CN105224596A (zh) 2016-01-06

Family

ID=54993564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510534480.4A Pending CN105224596A (zh) 2015-08-27 2015-08-27 一种访问数据的方法及装置

Country Status (1)

Country Link
CN (1) CN105224596A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177148A (zh) * 2019-12-06 2020-05-19 南京南瑞水利水电科技有限公司 一种水电数据库自动建表分表的方法
CN115587095A (zh) * 2022-10-08 2023-01-10 广州市玄武无线科技股份有限公司 数据库分表创建方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101566986A (zh) * 2008-04-21 2009-10-28 阿里巴巴集团控股有限公司 联机事务处理中的数据处理方法和装置
CN102033912A (zh) * 2010-11-25 2011-04-27 北京北纬点易信息技术有限公司 一种分布式数据库访问方法及系统
CN103020193A (zh) * 2012-12-03 2013-04-03 北京奇虎科技有限公司 处理数据库操作请求的方法和设备
CN103488690A (zh) * 2013-09-02 2014-01-01 用友软件股份有限公司 数据集成系统和数据集成方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101566986A (zh) * 2008-04-21 2009-10-28 阿里巴巴集团控股有限公司 联机事务处理中的数据处理方法和装置
CN102033912A (zh) * 2010-11-25 2011-04-27 北京北纬点易信息技术有限公司 一种分布式数据库访问方法及系统
CN103020193A (zh) * 2012-12-03 2013-04-03 北京奇虎科技有限公司 处理数据库操作请求的方法和设备
CN103488690A (zh) * 2013-09-02 2014-01-01 用友软件股份有限公司 数据集成系统和数据集成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谷震离: "关系数据库查询优化方法研究", 《微计算机信息》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177148A (zh) * 2019-12-06 2020-05-19 南京南瑞水利水电科技有限公司 一种水电数据库自动建表分表的方法
CN115587095A (zh) * 2022-10-08 2023-01-10 广州市玄武无线科技股份有限公司 数据库分表创建方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN104915450B (zh) 一种基于HBase的大数据存储与检索方法及系统
US10860598B2 (en) Systems and methods for interest-driven business intelligence systems including event-oriented data
US9367574B2 (en) Efficient query processing in columnar databases using bloom filters
CN107423422B (zh) 基于网格的空间数据分布式存储及检索方法和系统
US10180992B2 (en) Atomic updating of graph database index structures
TWI603211B (zh) Construction of inverted index system based on Lucene, data processing method and device
Bugiotti et al. Invisible glue: scalable self-tuning multi-stores
CN106933833B (zh) 一种基于空间索引技术的位置信息快速查询方法
CN105630938A (zh) 一种智能问答系统
CN105144080A (zh) 用于元数据管理的系统
CN106970929B (zh) 数据导入方法及装置
CN105843841A (zh) 一种小文件存储方法和系统
CN108897761A (zh) 一种聚簇存储方法及装置
CN104750681A (zh) 一种海量数据的处理方法及装置
CN106471501B (zh) 数据查询的方法、数据对象的存储方法和数据系统
US20170255708A1 (en) Index structures for graph databases
US20140046928A1 (en) Query plans with parameter markers in place of object identifiers
CN110109910A (zh) 数据处理方法及系统、电子设备和计算机可读存储介质
US10860562B1 (en) Dynamic predicate indexing for data stores
CN105868421A (zh) 一种数据管理方法及装置
US20150356137A1 (en) Systems and Methods for Optimizing Data Analysis
CN104573022A (zh) 一种HBase的数据查询方法及装置
CN102682108A (zh) 一种行列混合的数据库存储方法
CN105677904B (zh) 基于分布式文件系统的小文件存储方法及装置
CN104881466A (zh) 数据分片的处理以及垃圾文件的删除方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160106