CN104750797A - 一种数据读取的方法及终端 - Google Patents
一种数据读取的方法及终端 Download PDFInfo
- Publication number
- CN104750797A CN104750797A CN201510113060.9A CN201510113060A CN104750797A CN 104750797 A CN104750797 A CN 104750797A CN 201510113060 A CN201510113060 A CN 201510113060A CN 104750797 A CN104750797 A CN 104750797A
- Authority
- CN
- China
- Prior art keywords
- cell data
- read command
- data
- reading
- data read
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据读取的方法及终端,包括:终端首先接收数据读取指令;当终端响应数据读取指令时,根据查询条件获取与数据读取指令相对应的单元数据的最小编号以及最大编号;再根据最小编号以及最大编号计算与数据读取指令相对应的单元数据的总记录条数;再利用总记录条数计算与数据读取指令相对应的单元数据的读取次数;再按照读取次数划分与数据读取指令相对应的单元数据;最后依次读取划分后的单元数据。实施本发明实施例,可以提高读取数据库系统中的数据的效率。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据读取的方法及终端。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。其中,数据库有很多种类型,简单类型的数据库可以是存储有各种数据的表格,复杂类型的数据库可以是能够进行海量资料存储的大型数据库系统。当前,大型数据库系统的应用是数据库系统的开发、研究领域的热点。
在针对大型数据库系统开发软件应用时,经常需要将大型数据库中的海量数据读取到内存中。目前读取大型数据库系统中的资料的方法主要是根据查询条件,利用一条结构化查询语言(Structured Query Language,SQL)读取数据。由于采用此方法读书数据库中的数据时,需要查询整个数据库,当数据库中的数据量很大时,利用一条SQL语句读取数据容易发生堵塞且耗时长,从而降低了读取大型数据库系统中的数据的效率。
发明内容
本发明实施例提供了一种数据读取的方法及终端,能够提高读取数据库系统中的数据的效率。
本发明实施例公开了一种数据读取的方法,包括:
接收数据读取指令,所述数据读取指令携带有数据读取的查询条件;
响应所述数据读取指令,根据所述查询条件获取与所述数据读取指令相对应的单元数据的最小编号以及最大编号;
根据所述最小编号以及所述最大编号计算与所述数据读取指令相对应的单元数据的总记录条数;
利用所述总记录条数计算与所述数据读取指令相对应的单元数据的读取次数;
按照所述读取次数划分与所述数据读取指令相对应的单元数据;
依次读取划分后的单元数据。
相应地,本发明实施例还公开了一种终端,包括:
接收单元,用于接收数据读取指令,所述数据读取指令携带有数据读取的查询条件;
获取单元,用于响应所述接收单元接收到的所述数据读取指令,根据所述查询条件获取与所述数据读取指令相对应的单元数据的最小编号以及最大编号;
第一计算单元,用于根据所述获取单元获取到的所述最小编号以及所述最大编号计算与所述数据读取指令相对应的单元数据的总记录条数;
第二计算单元,用于根据所述第一计算单元计算得到的所述总记录条数计算与所述数据读取指令相对应的单元数据的读取次数;
划分单元,用于根据所述第二计算单元计算得到的所述读取次数划分与所述数据读取指令相对应的单元数据;
读取单元,用于依次读取所述划分单元划分后的单元数据。
本发明实施例中,终端首先接收数据读取指令,其中,所述数据读取指令携带有数据读取的查询条件;当终端响应所述数据读取指令时,根据所述查询条件获取与所述数据读取指令相对应的单元数据的最小编号以及最大编号;再根据所述最小编号以及所述最大编号计算与所述数据读取指令相对应的单元数据的总记录条数;再利用所述总记录条数计算与所述数据读取指令相对应的单元数据的读取次数;再按照所述读取次数划分与所述数据读取指令相对应的单元数据;最后依次读取划分后的单元数据。实施本发明实施例,可以先对数据库中的单元数据进行编号,并划分数据库中的单元数据,最后依次读取划分后的单元数据。由于当对数据库中的单元数据进行编号处理后,则可根据编号来读取与数据读取指令相对应的数据;且当根据最小编号以及最大编号确定与数据读取指令相对应的数据的总记录条数后,可以增加数据读取过程中的针对性;从而提高了读取数据库系统中的数据的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种数据读取的方法的流程示意图;
图2是本发明实施例公开的另一种数据读取的方法的流程示意图;
图3是本发明实施例公开的一种终端的结构示意图;
图4是本发明实施例公开的另一种终端的结构示意图;
图5是本发明实施例公开的又一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中公开了一种数据读取的方法及终端,能够提高读取数据库系统中的数据的效率。
请参阅图1,图1是本发明实施例公开的一种数据读取的方法的流程示意图;其中,图1所示的终端可以包括但不限于智慧手机(如Android手机、iOS手机等)、平板计算机、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端。如图1所示,该数据读取的方法可以包括以下步骤:
S101、接收数据读取指令。
本发明实施例中,数据读取指令携带有数据读取的查询条件,其中,查询条件可以包括与数据读取指令相匹配的需要查询的数据信息。举例来说,当接收到的数据读取指令是读取某学校的数据库系统中某一个班的学生的年龄信息时,其中,某一个班的学生的年龄信息即为查询条件。由于学校的数据库系统包含学生的信息,教师的信息以及其他相关部门的工作人员信息等等;且学生的信息又包括学生的年龄信息,学生的选课信息以及学生的成绩信息等等。所以在查询某一个班的学生的年龄信息是需先查询该学校的数据库中的学生的信息,再根据学生的信息查询某一个班的学生的年龄信息。
S102、响应数据读取指令,根据查询条件获取与数据读取指令相对应的单元数据的最小编号以及最大编号。
本发明实施例中,在数据库中创建数据表时,将数据表中的各个单元数据进行编码,且整个数据库中的所有单元数据的编码规则相同。如:当对数据库中的单元数据采用数字编码时,则数据库中的各个单元数据都有一个独一无二的编号;当对数据库中的单元数据采用英文命名法时,则数据库中的各个单元数据都有一个独一无二的英文名。
本发明实施例中,对数据库中的单元数据采用数字编码,当接收到数据读取指令时,则根据查询条件获取与数据读取指令相对应的单元数据的最小编号,以及根据查询条件获取与数据读取指令相对应的最大编号。举例来说,当需要查询某学校中某个班的学生在这一学期的成绩,假设根据查询条件查询到关于该班级的学生在这一学期的成绩相对应的编号是从623000到623066,则与该班级的学生在这一学期的所有成绩相对应的最小编号为623000,与该班级的学生在这一学期的所有成绩相对应的最大编号为623066,其中,每一个学生的成绩有一个独一无二的编号。
实施本发明实施例,通过对每一个单元数据进行编号,则无需再直接从数据库中获取与数据读取指令相对应的单元数据,而只需获取与数据读取指令相对应的单元数据的编号,根据编号与每一个单元数据的一一对应关系,获取单元数据。由于单元数据可能是一些比较复杂的数据,而编号相对于这些数据简单些,从而也可间接的减少读取数据过程中的工作量,则提高了数据读取的效率。
S103、根据最小编号以及最大编号计算与数据读取指令相对应的单元数据的总记录条数。
本发明实施例中,与数据读取指令相对应的单元数据的总记录数是根据最小编号以及最大编号的差值来确定的,且不包括最小编号与最大编号。举例来说,当需要查询某学校中某个班的学生在这一学期的所有成绩,假设根据查询条件查询到关于该班级的学生在这一学期的所有成绩的编号是从623000到623066,则与该班级的学生在这一学期的所有成绩相对应的最小编号为623000,与该班级的学生在这一学期的所有成绩相对应的最大编号为623066,与查询条件相匹配的单元数据的编号差值为66,则查询条件相匹配的单元数据的总记录数不超过66条,其中,每一个学生的成绩有一个独一无二的编号。
实施本发明实施例,通过最小编号以及最大编号确定与数据读取指令相对应的总的记录条数,则后续在读取数据时,则只需读取这个编号范围内的单元数据。由于数据库是一个庞大的单元数据组成,当明确了查询范围,则可增加数据读取的针对性,从而也提高了数据读取过程中的效率。
S104、利用总记录条数计算与数据读取指令相对应的单元数据的读取次数。
本发明实施例中,由于当数据库中所包含的单元数据的总的记录数很大,且与数据读取指令相对应的单元数据的记录数也很大时,则可以将与数据读取指令相对应的单元数据划分成N次读取。其中,N为正整数。举例来说,假设根据查询条件查询到关于该班级的学生在这一学期的所有成绩的编号是从623000到623066,则与该班级的学生在这一学期的所有成绩相对应的最小编号为623000,与该班级的学生在这一学期的所有成绩相对应的最大编号为623066,则与查询条件相匹配的单元数据的编号差值为66(编号差值不包括最小编号与最大编号),则查询条件相匹配的单元数据的总记录数不超过66条,其中,每一个学生的成绩有一个独一无二的编号。根据与查询条件相匹配的单元数据的总记录数以及为使读取数据时方便,可以将读取次数设定为11次。
S105、按照读取次数划分与数据读取指令相对应的单元数据。
本发明实施例中,对数据库中的单元数据进行划分的依据主要是根据读取次数来划分的。举例来说,假设根据查询条件查询到关于该班级的学生在这一学期的所有成绩的编号是从623000到623066,则与该班级的学生在这一学期的所有成绩相对应的最小编号为623000,与该班级的学生在这一学期的所有成绩相对应的最大编号为623066,则与查询条件相匹配的单元数据的编号差值为66(编号差值不包括最小编号与最大编号),则查询条件相匹配的单元数据的总记录数不超过66条,其中,每一个学生的成绩有一个独一无二的编号。根据与查询条件相匹配的单元数据的总记录数,可以将读取次数设定为11次。则每次读取的单元数据的记录数分别可以是6、6、6、6、6、6、6、6、6、6、6。当然,每次读取的单元数据的记录数也可以不一样,如:当数据库中的单元数据的总记录数为10次,分3次读完,则每次读取的单元数据的记录数可以是3、3、4,本发明对每次读取的单元数据的记录数是否完全相同不作限定。
本发明实施例中,n的大小等于读取次数,举例来说,当利用总记录条数计算与数据读取指令相对应的单元数据的读取次数为10次,则此时n的值也为10。
实施本发明实施例,通过划分与数据读取指令相对应的庞大的单元数据,从而减少了每一次读取数据的工作量,也降低了数据读取过程中发生堵塞的概率。从而提高了数据读取过程中的效率。
S106、依次读取划分后的单元数据。
本发明实施例中,当按照读取次数对与数据读取指令相对应的单元数据进行划分,获得n个单元数据模块时,则终端会依次读取每一个单元数据模块。
在图1中,终端首先接收数据读取指令,其中,数据读取指令携带有数据读取的查询条件;当终端响应数据读取指令时,根据查询条件获取与数据读取指令相对应的单元数据的最小编号,以及根据查询条件获取与数据读取指令相对应的单元数据的最大编号;再根据最小编号以及最大编号计算与数据读取指令相对应的单元数据的总记录条数;再利用总记录条数计算与数据读取指令相对应的单元数据的读取次数;再按照读取次数对与数据读取指令相对应的单元数据进行划分,获得n个单元数据模块,其中,每一个单元数据模块包括至少一个所述单元数据;n等于所述读取次数;最后依次读取每一个单元数据模块。实施本发明实施例,可以先对数据库中的单元数据进行编号,并将数据库中的单元数据划分成n个单元数据模块,根据查询条件依次读取每一个所述单元数据模块,从而可以提高读取数据库系统中的数据的效率。
请参阅图2,图2是本发明实施例公开的另一种数据读取的方法的流程示意图;如图2所示,该数据读取的方法可以包括以下步骤:
S201、接收数据读取指令。
本发明实施例中,数据读取指令携带有数据读取的查询条件。
S202、响应数据读取指令,根据查询条件获取与数据读取指令相对应的单元数据的最小编号以及最大编号。
本发明实施例中,当上述终端接收到上述数据读取指令时,上述终端将根据查询条件获取与数据读取指令相对应的单元数据的最小编号,以及根据查询条件获取与数据读取指令相对应的单元数据的最大编号的具体实现方式可以如下:
当上述终端接收到上述数据读取指令时输出提示信息,该提示信息用于提示输入验证信息;
接收响应上述提示信息输入的验证信息;
验证上述验证信息是否与预注册验证信息一致,如果一致,将根据查询条件获取与数据读取指令相对应的单元数据的最小编号,以及根据查询条件获取与数据读取指令相对应的单元数据的最大编号。
本发明实施例中,上述预注册验证信息可以包括但不限于默认验证密码、默认验证指纹信息、默认人脸特征信息以及默认验证声纹信息中的一种或多种。
本发明实施例中,上述的验证信息可以包括指纹串以及每一个指纹对应的输入时间;那么相应地,验证上述验证信息是否与预注册验证信息一致可以包括以下步骤:
验证指纹串是否与预注册验证信息包括的指纹串的相同,并且相同指纹的输入时间的差值小于默认值,如果验证指纹串与默认验证信息包括的指纹串相同,并且相同指纹的输入时间的差值均小于默认值,那么可以验证待验证信息与默认验证信息一致;反之,验证待验证信息与默认验证信息不一致。其中,通过实施该实施方式,可以防止非法使用者在终端上开启隐私保护模式,从而可以有效地防止终端被非法使用者肆意操作。
实施本发明实施例,通过加上一个验证确认信息,从而保证了数据库中各个单元数据的安全性。
S203、根据最小编号以及最大编号计算与数据读取指令相对应的单元数据的总记录条数。
S204、利用总记录条数计算与数据读取指令相对应的单元数据的读取次数。
具体地,终端先获取预先设定的每一个单元数据模块包含的单元数据的记录数;将总记录条数除以预先设定的每一个单元数据模块包含的单元数据的记录数,以计算与数据读取指令相对应的单元数据的读取次数。
本发明实施例中,可以在终端预先设定每一个单元数据模块包含的单元数据的记录数,该记录数可以是用户根据需要设定,也可以是终端根据数据库的大小来设定。
当终端根据数据库的大小来设定该数据库中每一个单元数据模块包含的单元数据的记录数的具体实现方式可以如下:
获取数据库的信息,其中,数据库的信息包括数据库的大小以及数据库的名称;
根据数据库的大小设定该数据库中每一个单元数据模块包含的单元数据的记录数。
举例来说,当某数据库的总的记录数为1亿条,为使读取次数过于偏大,则可以将每一个数据模块包含的单元数据的记录数设定为100万。
实施本发明实施例,通过根据预先设定的每一个单元数据模块包含的单元数据的记录数来计算读取数据的读取次数。由于每一个单元数据模块包含的单元数据的记录数是可以调整,则可以根据与数据读取指令相对应的单元数据的实际大小或数据库的实际大小来设定每一个单元数据模块包含的单元数据的记录数。从而增加了数据读取过程中的灵活性与便捷性。
S205、按照读取次数划分与数据读取指令相对应的单元数据,以获得n个单元数据模块。
本发明实施例中,每一个单元数据模块包括至少一个所述单元数据;n等于所述读取次数。
S206、根据数据读取指令,分别生成与每一个单元数据模块对应查询语句。
本发明实施例中,当按照读取次数对与数据读取指令相对应的单元数据进行划分,获得n个单元数据模块之后,会分别生成与每一个单元数据模块相对应的查询语句。举例来说,假设每次取数据量N为100万,则需取1000万/100万=10次,则将与数据读取指令相对应的单元数据的总记录条数分成10段,转换成10条SQL语句来分批获取。
实施本发明实施例,通过生成与每一个单元数据模块对应查询语句来读取与数据查询指令相对应的单元数据。由于对每一个单元数据模块都有与之相对应的查询语句,当查询过程被意外中断,在后续需要查询时,还可以快速定位出错的语句。从而也增加了数据读取过程中的效率。
S207、针对每一个单元数据模块,利用生成的查询语句,依次读取每一个单元数据模块。
本发明实施例中,当按照读取次数对与数据读取指令相对应的单元数据进行划分,获得n个单元数据模块,并生成与每一个单元数据模块相对应的查询语句后,则可直接利用查询语句读取每一个单元数据模块。
作为一种可选的实施方式,依次读取每一个单元数据模块的具体实现方式还可以包括:将每一个单元数据模块中包含的单元数据按编号从小到大的顺序排列存储;根据预先存储的读取规则依次读取每一个单元数据模块。
本发明实施例中,在接收数据读取指令之前,需要在数据库中创建数据表,其中,数据表用于存储与数据读取指令相对应的单元数据的编号。
在图2中,详细描述了终端按照读取次数对与数据读取指令相对应的单元数据进行划分,获得n个单元数据模块,并根据接收到的数据读取指令生成与每一个数据模块相对应的查询语句,依据查询语句读取每一个单元数据模块。实施本发明实施例,可以提高在数据库中读取数据的效率。
请参阅图3,图3是本发明实施例公开的一种终端的结构示意图,用于执行该数据读取的方法,如图3所示,该终端可以包括:接收单元31、获取单元32、第一计算单元33、第二计算单元34、划分单元35以及读取单元36,其中,
接收单元31,用于接收数据读取指令。
本发明实施例中,数据读取指令携带有数据读取的查询条件,其中,查询条件可以包括与数据读取指令相匹配的需要查询的数据信息。举例来说,当接收单元31接收到的数据读取指令是读取某学校的数据库系统中某一个班的学生的年龄信息时,其中,某一个班的学生的年龄信息即为查询条件。由于学校的数据库系统包含学生的信息,教师的信息以及其他相关部门的工作人员信息等等;且学生的信息又包括学生的年龄信息,学生的选课信息以及学生的成绩信息等等。所以在查询某一个班的学生的年龄信息是需先查询该学校的数据库中的学生的信息,再根据学生的信息查询某一个班的学生的年龄信息。
获取单元32,用于响应接收单元接收到的数据读取指令,根据查询条件获取与数据读取指令相对应的单元数据的最小编号以及最大编号。
本发明实施例中,在数据库中创建数据表时,将数据表中的各个单元数据进行编码,且整个数据库中的所有单元数据的编码规则相同。如:当对数据库中的单元数据采用数字编码时,则数据库中的各个单元数据都有一个独一无二的编号;当对数据库中的单元数据采用英文命名法时,则数据库中的各个单元数据都有一个独一无二的英文名。
本发明实施例中,对数据库中的单元数据采用数字编码,当接收单元31接收到数据读取指令时,则获取单元32根据查询条件获取与数据读取指令相对应的单元数据的最小编号,以及根据查询条件获取与数据读取指令相对应的最大编号。举例来说,当需要查询某学校中某个班的学生在这一学期的成绩,假设根据查询条件查询到关于该班级的学生在这一学期的成绩相对应的编号是从623000到623066,则与该班级的学生在这一学期的所有成绩相对应的最小编号为623000,与该班级的学生在这一学期的所有成绩相对应的最大编号为623066,其中,每一个学生的成绩有一个独一无二的编号。
本发明实施例中,当上述接收单元31接收到上述数据读取指令时,上述获取单元32将根据查询条件获取与数据读取指令相对应的单元数据的最小编号,以及根据查询条件获取与数据读取指令相对应的单元数据的最大编号的具体实现方式可以如下:
当上述接收单元31接收到上述数据读取指令时输出提示信息,该提示信息用于提示输入验证信息;
接收单元31接收响应上述提示信息输入的验证信息;
获取单元32验证上述验证信息是否与预注册验证信息一致,如果一致,将根据查询条件获取与数据读取指令相对应的单元数据的最小编号,以及根据查询条件获取与数据读取指令相对应的单元数据的最大编号。
本发明实施例中,上述预注册验证信息可以包括但不限于默认验证密码、默认验证指纹信息、默认人脸特征信息以及默认验证声纹信息中的一种或多种。
本发明实施例中,上述的验证信息可以包括指纹串以及每一个指纹对应的输入时间;那么相应地,验证上述验证信息是否与预注册验证信息一致可以包括以下步骤:
验证指纹串是否与预注册验证信息包括的指纹串的相同,并且相同指纹的输入时间的差值小于默认值,如果验证指纹串与默认验证信息包括的指纹串相同,并且相同指纹的输入时间的差值均小于默认值,那么可以验证待验证信息与默认验证信息一致;反之,验证待验证信息与默认验证信息不一致。其中,通过实施该实施方式,可以防止非法使用者在终端上开启隐私保护模式,从而可以有效地防止终端被非法使用者肆意操作。
实施本发明实施例,通过对每一个单元数据进行编号,则获取单元32无需再直接从数据库中获取与数据读取指令相对应的单元数据,而只需获取与数据读取指令相对应的单元数据的编号,根据编号与每一个单元数据的一一对应关系,获取单元数据。由于单元数据可能是一些比较复杂的数据,而编号相对于这些数据简单些,从而也可间接的减少读取数据过程中的工作量,则提高了数据读取的效率。
第一计算单元33,用于根据获取单元获取到的最小编号以及最大编号计算与数据读取指令相对应的单元数据的总记录条数。
本发明实施例中,与数据读取指令相对应的单元数据的总记录数是根据最小编号以及最大编号的差值来确定的,且不包括最小编号与最大编号。。举例来说,当需要查询某学校中某个班的学生在这一学期的所有成绩,假设根据查询条件查询到关于该班级的学生在这一学期的所有成绩的编号是从623000到623066,则与该班级的学生在这一学期的所有成绩相对应的最小编号为623000,与该班级的学生在这一学期的所有成绩相对应的最大编号为623066,则与查询条件相匹配的单元数据的编号差值为66,则查询条件相匹配的单元数据的总记录数不超过66条,其中,每一个学生的成绩有一个独一无二的编号。
实施本发明实施例,第一计算单元33通过最小编号以及最大编号确定与数据读取指令相对应的总的记录条数,则后续在读取数据时,则只需读取这个编号范围内的单元数据。由于数据库是一个庞大的单元数据组成,当明确了查询范围,则可增加数据读取的针对性,从而也提高了数据读取过程中的效率。
第二计算单元34,用于根据第一计算单元计算得到的总记录条数计算与数据读取指令相对应的单元数据的读取次数。
本发明实施例中,由于当数据库中所包含的单元数据的总的记录数很大,且与数据读取指令相对应的单元数据的记录数也很大时,则第二计算单元34可以将与数据读取指令相对应的单元数据划分成N次读取。其中,N为正整数。举例来说,假设根据查询条件查询到关于该班级的学生在这一学期的所有成绩的编号是从623000到623066,则与该班级的学生在这一学期的所有成绩相对应的最小编号为623000,与该班级的学生在这一学期的所有成绩相对应的最大编号为623066,则与查询条件相匹配的单元数据的编号差值为66(编号差值不包括最小编号与最大编号),则查询条件相匹配的单元数据的总记录数不超过66条,其中,每一个学生的成绩有一个独一无二的编号。根据与查询条件相匹配的单元数据的总记录数以及为使读取数据时方便,可以将读取次数设定为11次。
实施本发明实施例,第二计算单元34通过根据预先设定的每一个单元数据模块包含的单元数据的记录数来计算读取数据的读取次数。由于每一个单元数据模块包含的单元数据的记录数是可以调整,则可以根据与数据读取指令相对应的单元数据的实际大小或数据库的实际大小来设定每一个单元数据模块包含的单元数据的记录数。从而增加了数据读取过程中的灵活性与便捷性。
划分单元35,用于根据第二计算单元计算得到的读取次数划分与数据读取指令相对应的单元数据。
本发明实施例中,划分单元35对数据库中的单元数据进行划分的依据主要是根据读取次数来划分的。举例来说,假设根据查询条件查询到关于该班级的学生在这一学期的所有成绩的编号是从623000到623066,则与该班级的学生在这一学期的所有成绩相对应的最小编号为623000,与该班级的学生在这一学期的所有成绩相对应的最大编号为623066,则与查询条件相匹配的单元数据的编号差值为66(编号差值不包括最小编号与最大编号),则查询条件相匹配的单元数据的总记录数不超过66条,其中,每一个学生的成绩有一个独一无二的编号。根据与查询条件相匹配的单元数据的总记录数,可以将读取次数设定为11次。则每次读取的单元数据的记录数分别可以是6、6、6、6、6、6、6、6、6、6、6。当然,每次读取的单元数据的记录数也可以不一样,如:当数据库中的单元数据的总记录数为10次,分3次读完,则每次读取的单元数据的记录数可以是3、3、4,本发明对每次读取的单元数据的记录数是否完全相同不作限定。
实施本发明实施例,划分单元35通过划分与数据读取指令相对应的庞大的单元数据,从而减少了每一次读取数据的工作量,也降低了数据读取过程中发生堵塞的概率。从而提高了数据读取过程中的效率。
读取单元36,用于依次读取所述划分单元35划分后的单元数据。
本发明实施例中,当划分单元35按照读取次数对与数据读取指令相对应的单元数据进行划分,获得n个单元数据模块时,则读取单元36会依次读取每一个单元数据模块。
在图3中,接收单元31首先接收数据读取指令,其中,数据读取指令携带有数据读取的查询条件;当获取单元32响应接收单元31接收到的数据读取指令时,根据查询条件获取与数据读取指令相对应的单元数据的最小编号以及最大编号;第一计算单元33再根据获取单元32获取到的最小编号以及最大编号计算与数据读取指令相对应的单元数据的总记录条数;第二计算单元34再利用第一计算单元33计算得到的总记录条数计算与数据读取指令相对应的单元数据的读取次数;划分单元35再按照第二计算单元34计算得到的读取次数对划分数据读取指令相对应的单元数据;最后读取单元36依次读取所述划分单元35划分后的单元数据。实施本发明实施例,可以先对数据库中的单元数据进行编号,并划分数据库中的单元数据划分,并依次读取划分单元35划分后的单元数据,从而可以提高读取数据库系统中的数据的效率。
请参阅图4,图4是本发明实施例公开的另一种终端的结构示意图;图4是在图3的基础上进一步优化得到,如图4所示,第二计算单元34可以包括记录数获取单元340以及读取次数计算单元341,其中,
记录数获取单元340,用于获取预先设定的每一个单元数据模块包含的单元数据的记录数。
读取次数计算单元341,用于将第一计算单元计算得到的总记录条数除以获取单元获取到的预先设定的每一个单元数据模块包含的单元数据的记录数,以计算与数据读取指令相对应的单元数据的读取次数。
本发明实施例中,可以在终端预先设定每一个单元数据模块包含的单元数据的记录数,该记录数可以是用户根据需要设定,也可以是终端根据数据库的大小来设定。
当终端根据数据库的大小来设定该数据库中每一个单元数据模块包含的单元数据的记录数的具体实现方式可以如下:
记录数获取单元340获取数据库的信息,其中,数据库的信息包括数据库的大小以及数据库的名称;
记录数获取单元340根据数据库的大小设定该数据库中每一个单元数据模块包含的单元数据的记录数。
举例来说,当某数据库的总的记录数为1亿条,为使读取次数过于偏大,则可以将每一个数据模块包含的单元数据的记录数设定为100万。
作为一种可选的实施方式,读取单元36可以包括生成单元360以及单元数据模块读取单元361,其中,
生成单元360,用于根据接收单元接收到的数据读取指令,分别生成与每一个单元数据模块对应查询语句。
单元数据模块读取单元361,用于针对每一个单元数据模块,利用生成单元生成的查询语句,读取单元数据模块。
本发明实施例中,当按照读取次数对与数据读取指令相对应的单元数据进行划分,获得n个单元数据模块之后,会分别生成与每一个单元数据模块相对应的查询语句。举例来说,假设每次取数据量N为100万,则需取1000万/100万=10次,则与数据读取指令相对应的单元数据的总记录条数分成10段,转换成10条SQL语句来分批获取。
本发明实施例中,当按照读取次数对与数据读取指令相对应的单元数据进行划分,获得n个单元数据模块,并生成与每一个单元数据模块相对应的查询语句后,则可直接利用查询语句读取每一个单元数据模块。
实施本发明实施例,生成单元360生成与每一个单元数据模块对应查询语句来读取与数据查询指令相对应的单元数据。由于对每一个单元数据模块都有与之相对应的查询语句,当查询过程被意外中断,在单元数据模块读取单元361后续需要查询时,还可以快速定位出错的语句。从而也增加了数据读取过程中的效率。
作为另一种可选的实施方式,读取单元36还可以包括:存储单元362以及模块读取单元363,其中,
存储单元362,用于将划分单元划分得到的每一个单元数据模块中包含的单元数据按编号从小到大的顺序排列存储。
模块读取单元363,用于根据预先存储的读取规则依次读取存储单元存储的每一个单元数据模块。
作为一种可选的实施方式,模块读取单元363依次读取每一个单元数据模块的具体实现方式还可以包括:存储单元362将每一个单元数据模块中包含的单元数据按编号从小到大的顺序排列存储;模块读取单元363根据预先存储的读取规则读取每一个单元数据模块。
在图4中,详细描述了划分单元35按照读取次数对与数据读取指令相对应的单元数据进行划分,获得n个单元数据模块,读取单元36根据接收到的数据读取指令生成与每一个数据模块相对应的查询语句,依据查询语句读取每一个单元数据模块。实施本发明实施例,可以提高在数据库中读取数据的效率。
请参阅图5,图5是本发明实施例公开的又一种终端的结构示意图,用于执行该数据读取的方法。如图5所示,该终端500可以包括:至少一个处理器501,至少一个输入设备502,至少一个输出装置503,内存505等组件。其中,这些组件通过一条或多条总线504进行通信连接。本领域技术人员可以理解,图5中示出的终端的结构并不构成对本发明实施例的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器501为终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在内存505内的程序和/或模块,以及调用存储在内存505内的数据,以执行终端的各种功能和处理数据。处理器501可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器501可以仅包括中央处理器(Central Processing Unit,简称CPU),也可以是CPU、数字信号处理器(digital signal processor,简称DSP)、图形处理器(Graphic ProcessingUnit,简称GPU)及各种控制芯片的组合。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
输入设备502可以包括标准的触摸屏、键盘等,也可以包括有线接口、无线接口等。
输出装置503可以包括显示屏等,也可以包括有线接口、无线接口等。
内存505可用于存储软件程序以及模块,处理器501、输入设备502以及输出装置503通过调用存储在内存505中的软件程序以及模块,从而执行终端的各项功能应用以及实现数据处理。内存505主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序等;数据存储区可存储根据终端的使用所创建的数据等。在本发明实施例中,操作系统可以是Android系统、iOS系统或Windows操作系统等等。
具体的,处理器501调用存储在内存505中的应用程序,用于执行以下操作:
控制输入设备502接收数据读取指令,其中,数据读取指令携带有数据读取的查询条件;
响应数据读取指令,根据查询条件获取与数据读取指令相对应的单元数据的最小编号以及最大编号;
根据最小编号以及最大编号计算与数据读取指令相对应的单元数据的总记录条数;
利用总记录条数计算与数据读取指令相对应的单元数据的读取次数;
按照所述读取次数划分与所述数据读取指令相对应的单元数据;
依次读取划分后的单元数据。
本发明实施例中,处理器501调用存储在内存505中的应用程序,执行按照所述读取次数划分与所述数据读取指令相对应的单元数据的步骤的具体实现方式为:
按照所述读取次数划分与所述数据读取指令相对应的单元数据,以获得n个单元数据模块,其中,每一个所述单元数据模块包括至少一个所述单元数据,所述n等于所述读取次数。
本发明实施例中,处理器501调用存储在内存505中的应用程序利用总记录条数计算与数据读取指令相对应的单元数据的读取次数的具体方式可以为:
获取预先设定的每一个单元数据模块包含的单元数据的记录数;
将总记录条数除以预先设定的每一个单元数据模块包含的单元数据的记录数,以计算与数据读取指令相对应的单元数据的读取次数。
本发明实施例中,处理器501调用存储在内存505中的应用程序依次读取每一个单元数据模块的具体方式可以为:
根据数据读取指令,分别生成与每一个单元数据模块对应查询语句;
针对每一个单元数据模块,利用生成的查询语句,读取单元数据模块。
具体的,本发明实施例中介绍的终端可以实施本发明结合图1以及图2介绍的数据读取的方法实施例中的部分或全部流程。
本发明所有实施例中的模块或子模块,可以通过通用集成电路,例如CPU(Central Processing Unit,中央处理器),或通过ASIC(Application SpecificIntegrated Circuit,专用集成电路)来实现。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例终端中的单元可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁盘、光盘、只读存储内存(Read-Only Memory,ROM)或随机存取内存(Random Access Memory,简称RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种数据读取的方法,其特征在于,包括:
接收数据读取指令,所述数据读取指令携带有数据读取的查询条件;
响应所述数据读取指令,根据所述查询条件获取与所述数据读取指令相对应的单元数据的最小编号以及最大编号;
根据所述最小编号以及所述最大编号计算与所述数据读取指令相对应的单元数据的总记录条数;
利用所述总记录条数计算与所述数据读取指令相对应的单元数据的读取次数;
按照所述读取次数划分与所述数据读取指令相对应的单元数据;
依次读取划分后的单元数据。
2.根据权利要求1所述的方法,其特征在于,所述按照所述读取次数划分与所述数据读取指令相对应的单元数据,包括:
按照所述读取次数划分与所述数据读取指令相对应的单元数据,以获得n个单元数据模块,其中,每一个所述单元数据模块包括至少一个所述单元数据,所述n等于所述读取次数。
3.根据权利要求2所述的方法,其特征在于,所述利用所述总记录条数计算与所述数据读取指令相对应的单元数据的读取次数,包括:
获取预先设定的每一个所述单元数据模块包含的所述单元数据的记录数;
将所述总记录条数除以所述预先设定的每一个所述单元数据模块包含的所述单元数据的记录数,以计算与所述数据读取指令相对应的单元数据的读取次数。
4.根据权利要求2或3所述的方法,其特征在于,所述依次读取划分后的单元数据,包括:
根据所述数据读取指令,分别生成与每一个所述单元数据模块对应查询语句;
针对每一个所述单元数据模块,利用所述生成的查询语句,读取所述单元数据模块。
5.根据权利要求2或3所述的方法,其特征在于,所述依次读取划分后的单元数据,包括:
将每一个所述单元数据模块中包含的所述单元数据按编号从小到大的顺序排列存储;
根据预先存储的读取规则依次读取每一个所述单元数据模块。
6.一种终端,其特征在于,包括:
接收单元,用于接收数据读取指令,所述数据读取指令携带有数据读取的查询条件;
获取单元,用于响应所述接收单元接收到的所述数据读取指令,根据所述查询条件获取与所述数据读取指令相对应的单元数据的最小编号以及最大编号;
第一计算单元,用于根据所述获取单元获取到的所述最小编号以及所述最大编号计算与所述数据读取指令相对应的单元数据的总记录条数;
第二计算单元,用于根据所述第一计算单元计算得到的所述总记录条数计算与所述数据读取指令相对应的单元数据的读取次数;
划分单元,用于根据所述第二计算单元计算得到的所述读取次数划分与所述数据读取指令相对应的单元数据;
读取单元,用于依次读取所述划分单元划分后的单元数据。
7.根据权利要求6所述的终端,其特征在于,所述划分单元按照所述读取次数划分与所述数据读取指令相对应的单元数据的具体实现方式为:
按照所述读取次数划分与所述数据读取指令相对应的单元数据,以获得n个单元数据模块,其中,每一个所述单元数据模块包括至少一个所述单元数据,所述n等于所述读取次数。
8.根据权利要求7所述的终端,其特征在于,所述第二计算单元包括:
记录数获取单元,用于获取预先设定的每一个所述单元数据模块包含的所述单元数据的记录数;
读取次数计算单元,用于将所述第一计算单元计算得到的所述总记录条数除以所述获取单元获取到的所述预先设定的每一个所述单元数据模块包含的所述单元数据的记录数,以计算与所述数据读取指令相对应的单元数据的读取次数。
9.根据权利要求7或8所述的终端,其特征在于,所述读取单元包括:
生成单元,用于根据所述接收单元接收到的所述数据读取指令,分别生成与每一个所述单元数据模块对应查询语句;
单元数据模块读取单元,用于针对每一个所述单元数据模块,利用所述生成单元生成的所述查询语句,读取所述单元数据模块。
10.根据权利要求7或8所述的终端,其特征在于,所述读取单元包括:
存储单元,用于将所述划分单元划分得到的每一个所述单元数据模块中包含的所述单元数据按编号从小到大的顺序排列存储;
模块读取单元,用于根据预先存储的读取规则依次读取所述存储单元存储的每一个所述单元数据模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510113060.9A CN104750797A (zh) | 2015-03-13 | 2015-03-13 | 一种数据读取的方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510113060.9A CN104750797A (zh) | 2015-03-13 | 2015-03-13 | 一种数据读取的方法及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104750797A true CN104750797A (zh) | 2015-07-01 |
Family
ID=53590481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510113060.9A Pending CN104750797A (zh) | 2015-03-13 | 2015-03-13 | 一种数据读取的方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104750797A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5946689A (en) * | 1996-11-28 | 1999-08-31 | Hitachi, Ltd. | Distributed database system and method of detecting contention in data update involved in replication of database data |
CN104156358A (zh) * | 2013-05-13 | 2014-11-19 | 腾讯科技(深圳)有限公司 | 一种用于数据库的表的批量读取方法、装置和系统 |
CN104750806A (zh) * | 2015-03-25 | 2015-07-01 | 浪潮集团有限公司 | 一种大数据的查询方法及系统 |
-
2015
- 2015-03-13 CN CN201510113060.9A patent/CN104750797A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5946689A (en) * | 1996-11-28 | 1999-08-31 | Hitachi, Ltd. | Distributed database system and method of detecting contention in data update involved in replication of database data |
CN104156358A (zh) * | 2013-05-13 | 2014-11-19 | 腾讯科技(深圳)有限公司 | 一种用于数据库的表的批量读取方法、装置和系统 |
CN104750806A (zh) * | 2015-03-25 | 2015-07-01 | 浪潮集团有限公司 | 一种大数据的查询方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112671769B (zh) | 电子合同的签署方法、装置及设备 | |
CN111311251B (zh) | 绑定处理方法、装置及设备 | |
US8121359B2 (en) | Fingerprint identification system and method of an electronic device | |
CN108400868B (zh) | 种子密钥的存储方法、装置及移动终端 | |
KR102108695B1 (ko) | 신원 인증을 위한 방법 및 디바이스 | |
CN104809174A (zh) | 一种终端应用的打开方法 | |
CN111353176B (zh) | 一种查询区块链数据的方法及系统 | |
CN103366745A (zh) | 基于语音识别保护终端设备的方法及其终端设备 | |
CN111597535A (zh) | 终端装置及存储介质 | |
CN104808899A (zh) | 一种终端 | |
CN105050061A (zh) | 一种基于用户声纹信息的消息发送方法及装置 | |
CN102118503B (zh) | 数据保护方法、装置及终端 | |
CN105354459A (zh) | 一种信息处理方法、装置及电子设备 | |
CN112667638B (zh) | 动态报表生成方法、装置、终端设备及可读存储介质 | |
CN107193249A (zh) | 程序开发辅助装置以及程序开发辅助方法 | |
CN113282591A (zh) | 权限过滤方法、装置、计算机设备及存储介质 | |
CN104750797A (zh) | 一种数据读取的方法及终端 | |
CN111104693A (zh) | 一种Android平台软件数据破解方法、终端设备及存储介质 | |
KR20200088030A (ko) | 암호화될 데이터의 정보량에 기반하여 암호화에 사용될 키를 선택하는 전자 장치 및 전자 장치의 동작 방법 | |
CN114614972A (zh) | 数据对齐方法、系统、电子装置及存储介质 | |
CN115203672A (zh) | 信息访问的管控方法、装置、计算机设备及介质 | |
CN106161365B (zh) | 一种数据处理方法、装置及终端 | |
CN112307021A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN112286881A (zh) | 一种文档的认证溯源方法及装置 | |
CN113867975B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170306 Address after: Nanshan District Keyuan Road Shenzhen city Guangdong province 518000 No. 15 Science Park Sinovac A3 building 16 layer 16/F Applicant after: Shenzhen Chuangmeng Tiandi Technology Co.,Ltd. Address before: 518000 Guangdong city of Shenzhen province Nanshan District Keyuan Road branch Science Park Building 16 layer A3 Applicant before: Meng Yu Science and Technology Ltd. of Shenzhen |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150701 |