数据查询方法、装置及系统
技术领域
本发明涉及数据库技术领域,特别涉及一种数据查询方法、装置及系统。
背景技术
数据库表是数据库中用于存储数据的对象,数据库表中通常以行和列的形式存储数据,每行数据为一个记录,每列数据存储同一数据类型的所有值,例如在通讯录数据库中,一行数据为一个人的全部信息,某列数据存储所有人的家庭住址。当数据库表中存储的数据量较大时,可以通过建立索引提高数据查询速度。索引是对数据库表中一列或多列的值进行排序的一种存储结构。关系型数据库索引分为聚集索引和非聚集索引(也可称为聚簇索引和非聚簇索引),其中,聚集索引的搜索码通常为数据库表中的主键,非聚集索引的搜索码通常由数据库表中物理顺序不同的多个字段组成,聚集索引用于检索数据行,非聚集索引用于检索主键。
相关技术中,通常根据数据库表中字段的访问热度创建非聚集索引,以加快数据查询速度。该数据查询过程包括:先通过非聚集索引检索到主键,再利用该主键通过聚集索引检索到数据行。
但是,由于相关技术提供的数据查询方法,既要使用非聚集索引,又要使用聚集索引,导致数据查询的时间复杂度较高。
发明内容
本发明实施例提供了一种数据查询方法、装置及系统,可以解决相关技术中数据查询的时间复杂度较高的问题。所述技术方案如下:
第一方面,提供了一种数据查询方法,用于数据库端,所述方法包括:
接收客户端发送的查询请求,所述查询请求中携带有所述客户端的业务参数;
基于所述业务参数生成目标字符串,并将所述目标字符串作为目标行主键;
从数据库表中获取所述目标行主键对应的目标索引行中的索引数据,所述数据库表包括多个索引行,每个所述索引行对应一个行主键;
向所述客户端提供所述目标索引行中的索引数据。
可选地,在所述接收客户端发送的查询请求之前,所述方法还包括:
接收所述客户端发送的业务信息,所述业务信息中包括业务数据和所述业务参数;
根据所述业务信息,建立所述目标行主键与所述目标索引行的对应关系,所述目标行主键基于所述业务参数生成,所述目标索引行用于存储所述业务数据对应的索引数据。
可选地,所述业务参数采用十进制字符串形式表示,所述基于所述客户端的业务参数生成目标字符串,包括:
将用于表示所述业务参数的十进制字符串转换为三十六进制字符串。
可选地,所述业务参数包括应用标识、业务标识、活动标识、用户标识和业务数据产生时间戳中的至少一种。
第二方面,提供了一种数据查询方法,用于客户端,所述方法包括:
在接收到业务查询指令后,向数据库端发送查询请求,所述查询请求中携带有所述客户端的业务参数;
接收所述数据库端提供的索引数据,所述索引数据由所述数据库端从数据库表中目标行主键对应的目标索引行中获取,所述目标行主键由所述数据库端基于所述业务参数生成;
其中,所述数据库表包括多个索引行,每个所述索引行对应一个行主键。
可选地,在所述向数据库端发送查询请求之前,所述方法还包括:
当接收到业务触发指令时,生成业务信息,所述业务信息中包括业务数据和所述业务参数;
向所述数据库端发送所述业务信息。
可选地,所述业务参数包括应用标识、业务标识、活动标识、用户标识和业务数据产生时间戳中的至少一种。
第三方面,提供了一种数据查询装置,用于数据库端,所述装置包括:
第一接收模块,用于接收客户端发送的查询请求,所述查询请求中携带有所述客户端的业务参数;
生成模块,用于基于所述业务参数生成目标字符串,并将所述目标字符串作为目标行主键;
获取模块,用于从数据库表中获取所述目标行主键对应的目标索引行中的索引数据,所述数据库表包括多个索引行,每个所述索引行对应一个行主键;
提供模块,用于向所述客户端提供所述目标索引行中的索引数据。
可选地,所述装置还包括:
第二接收模块,用于接收所述客户端发送的业务信息,所述业务信息中包括业务数据和所述业务参数;
关系建立模块,用于根据所述业务信息,建立所述目标行主键与所述目标索引行的对应关系,所述目标行主键基于所述业务参数生成,所述目标索引行用于存储所述业务数据对应的索引数据。
可选地,所述业务参数采用十进制字符串形式表示,所述生成模块,用于:
将用于表示所述业务参数的十进制字符串转换为三十六进制字符串。
可选地,所述业务参数包括应用标识、业务标识、活动标识、用户标识和业务数据产生时间戳中的至少一种。
第四方面,提供了一种数据查询装置,用于客户端,所述装置包括:
第一发送模块,用于在接收到业务查询指令后,向数据库端发送查询请求,所述查询请求中携带有所述客户端的业务参数;
接收模块,用于接收所述数据库端提供的索引数据,所述索引数据由所述数据库端从数据库表中目标行主键对应的目标索引行中获取,所述目标行主键由所述数据库端基于所述业务参数生成;
其中,所述数据库表包括多个索引行,每个所述索引行对应一个行主键。
可选地,所述装置还包括:
生成模块,用于当接收到业务触发指令时,生成业务信息,所述业务信息中包括业务数据和所述业务参数;
第二发送模块,用于向所述数据库端发送所述业务信息。
可选地,所述业务参数包括应用标识、业务标识、活动标识、用户标识和业务数据产生时间戳中的至少一种。
第五方面,提供了一种数据查询系统,所述系统包括:数据库端和至少一个客户端,所述数据库端包括如第三方面任一所述的数据查询装置,所述客户端包括如第四方面任一所述的数据查询装置。
第六方面,提供了一种数据查询装置,所述装置包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器上所存储的计算机程序,实现如第一方面和第二方面任一所述的数据查询方法。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有代码指令,所述代码指令由处理器执行时,实现如第一方面和第二方面任一所述的数据查询方法。
本发明实施例提供的技术方案带来的有益效果包括:
客户端向数据库端发送的查询请求中携带有客户端的业务参数,数据库端可以基于该业务参数生成目标行主键,并从数据库表中获取目标行主键对应的目标索引行中的索引数据,以向客户端提供该目标索引行中的索引数据,即数据库端可以直接采用行主键通过聚集索引进行数据查询,与相关技术相比,无需使用非聚集索引,因此降低了数据查询的时间复杂度,提高了数据查询效率。
附图说明
图1是本发明实施例提供的一种数据查询系统的结构示意图;
图2是本发明实施例提供的一种数据查询方法的流程图;
图3是本发明实施例提供的另一种数据查询方法的流程图;
图4是本发明实施例提供的又一种数据查询方法的流程图;
图5是本发明实施例提供的一种数据查询装置的结构示意图;
图6是本发明实施例提供的另一种数据查询装置的结构示意图;
图7是本发明另一实施例提供的一种数据查询装置的结构示意图;
图8是本发明另一实施例提供的另一种数据查询装置的结构示意图;
图9是本发明实施例提供的一种数据库端的结构示意图;
图10是本发明实施例提供一种应用端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种数据查询系统的结构示意图,如图1所示,该数据查询系统包括数据库端101和至少一个客户端102。参见图1,本发明实施例以数据查询系统中包括一个客户端为例进行说明。
数据库端101中存储有数据库表,数据库表以行和列的形式存储数据,可以供客户端102进行查询。数据库端可以是一台服务器,或者由若干台服务器组成的服务器集群,又或者是一个云计算服务中心。客户端102可以是智能手机、平板电脑或可穿戴设备等终端,还可以是服务器等。本发明实施例对数据库端和客户端的硬件设备类型不做限定。
可选地,数据库端101与客户端102之间通过有线网络或无线网络建立通信连接;或者,客户端102和数据库端101也可以集成在同一台设备中,本发明实施例对此不做限定。
图2是本发明实施例提供的一种数据查询方法的流程图,可以用于如图1所示的数据查询系统中的数据库端101,如图2所示,该方法包括:
步骤201、接收客户端发送的查询请求,该查询请求中携带有客户端的业务参数。
步骤202、基于业务参数生成目标字符串,并将目标字符串作为目标行主键。
步骤203、从数据库表中获取目标行主键对应的目标索引行中的索引数据,数据库表包括多个索引行,每个索引行对应一个行主键。
步骤204、向客户端提供目标索引行中的索引数据。
综上所述,本发明实施例提供的数据查询方法,数据库端可以基于接收到的客户端发送的查询请求中的业务参数,生成目标行主键,并从数据库表中获取目标行主键对应的目标索引行中的索引数据,然后向客户端提供该目标索引行中的索引数据,即数据库端可以直接采用行主键通过聚集索引进行数据查询,与相关技术相比,无需使用非聚集索引,因此降低了数据查询的时间复杂度,提高了数据查询效率。
图3是本发明实施例提供的另一种数据查询方法的流程图,可以用于如图1所示的数据查询系统中的客户端102,如图3所示,该方法包括:
步骤301、在接收到业务查询指令后,向数据库端发送查询请求,该查询请求中携带有客户端的业务参数。
步骤302、接收数据库端提供的索引数据,该索引数据由数据库端从数据库表中目标行主键对应的目标索引行中获取,目标行主键由数据库端基于业务参数生成。
其中,数据库表包括多个索引行,每个索引行对应一个行主键。
综上所述,本发明实施例提供的数据查询方法,客户端向数据库端发送的查询请求中携带有客户端的业务参数,数据库端可以基于该业务参数生成目标行主键,并从数据库表中获取目标行主键对应的目标索引行中的索引数据,以向客户端提供该目标索引行中的索引数据,即数据库端可以直接采用行主键通过聚集索引进行数据查询,与相关技术相比,无需使用非聚集索引,因此降低了数据查询的时间复杂度,提高了数据查询效率。
图4是本发明实施例提供的又一种数据查询方法的流程图,可以用于如图1所示的数据查询系统,如图4所示,该方法包括:
步骤401、当接收到业务触发指令时,客户端生成业务信息。
其中,业务信息中包括业务数据和业务参数。
示例的,客户端为终端,假设客户端支持签到功能,则当客户端在显示界面上接收到签到指令时,可以生成签到业务信息。
可选地,业务参数包括应用标识、业务标识、活动标识、用户标识和业务数据产生时间戳中的至少一种。其中,应用标识用于唯一标识客户端,也即是不同客户端的应用标识不同,例如客户端A的应用标识为1,客户端B的应用标识为2。业务标识也可称为功能标识,客户端通常具有多个业务功能,业务标识用于唯一标识业务功能,也即是不同业务功能的业务标识不同,例如某个通讯客户端中,语音聊天功能的业务标识为1,状态分享功能的业务标识为2。
可选地,业务参数采用十进制字符串形式表示。示例的,当业务参数包括应用标识、业务标识、活动标识、用户标识和业务数据产生时间戳时,业务参数可以表示为1,业务标识可以表示为2,活动标识可以表示为1,用户标识可以表示为666,业务数据产生时间戳可以为2018/12/7。
步骤402、客户端向数据库端发送业务信息。
可选地,客户端根据接收到的业务触发指令生成业务信息后,可以实时向数据库端发送业务信息,以便数据库端对业务信息进行实时存储。
步骤403、数据库端根据业务信息,建立目标行主键与目标索引行的对应关系。
其中,目标行主键基于业务参数生成,目标索引行用于存储业务数据对应的索引数据。数据库表包括多个索引行,每个索引行对应一个行主键,不同索引行用于存储不同业务数据对应的索引数据。
可选地,数据库端接收到客户端发送的业务信息后,基于业务信息中携带的业务参数生成目标行主键;基于业务信息中携带的业务数据创建目标索引行,并在目标索引行中存储业务数据对应的索引数据,业务数据对应的索引数据可以是业务数据,也可以是对业务数据进行筛选后得到的数据,本发明实施例对此不做限定。
可选地,当业务参数采用十进制字符串形式表示,数据库端可以将用于表示业务参数的十进制字符串转换为三十六进制字符串,例如数据库端可以采用0至9以及a至z这36个字符组合成三十六进制字符串来表示业务参数。在本发明实施例中,数据库端还可以将用于表示业务参数的十进制字符串转换为六十二进制字符串,例如数据库端可以采用0至9、a至z以及A至Z这62个字符组合成三十六进制字符串来表示业务参数,本发明实施例对此不做限定,以下实施例以数据库端将用于表示业务参数的十进制字符串转换为三十六进制字符串为例进行说明。
可选地,目标行主键的位宽可以为20位(bit)。业务参数包括应用标识、业务标识、活动标识、用户标识和业务数据产生时间戳,当数据库端使用2bit的位宽存储应用标识,则数据库端可以存储362-1个业务标识;当数据库端使用2bit的位宽存储业务标识,则数据库端可以存储362-1个应用标识;当数据库端使用2bit的位宽存储活动标识,则数据库端可以存储362-1个活动标识;当数据库端使用8bit的位宽存储用户标识,则数据库端可以存储368-1个用户标识;当数据库端使用6bit的位宽存储时间戳,则数据库端可以存储366-1个时间戳。
示例的,参考步骤403中的例子,数据库端可以将应用标识从1转换为01,将业务标识从2转换为02,将活动标识从1转换为01,将用户标识从666转换为000000ii;另外数据库端可以计算业务数据产生时间戳和某个历史时间戳(例如数据库端的运行开始时间戳)的秒数差值,将该秒数差值转换为三十六进制后作为时间戳进行存储,例如该历史时间戳为1970/1/1,则业务数据产生时间戳与该历史时间戳的秒数差值为1544112000,数据库端可以将1544112000转换为pjbog0。
进一步的,数据库端基于设定规则对业务参数中的多个标识进行组合,以得到目标行主键。例如行主键中的标识组合顺序依次为:时间戳、用户标识、活动标识、业务标识和应用标识,则基于上述业务参数生成的目标行主键可以为pjbog0000000ii010201。在本发明实施例中,行主键的标识组合顺序还可以为其它顺序,对此不做限定。
步骤404、客户端在接收到业务查询指令后,向数据库端发送查询请求。
其中,查询请求中携带有客户端的业务参数。
步骤405、数据库端基于业务参数生成目标字符串,并将目标字符串作为目标行主键。
可选地,数据库端可以将用于表示业务参数的十进制字符串转换为三十六进制字符串。该转换过程可参考上述步骤403,本发明实施例在此不做赘述。
步骤406、数据库端从数据库表中获取目标行主键对应的目标索引行中的索引数据。
可选地,数据库表中存储有主键列,该主键列用于存储不同索引行对应的行主键,数据库端可以直接从数据库表中检索目标行主键,并将目标行主键所在的索引行作为目标行主键对应的目标索引行,并获取该索引行中的索引数据。
示例的,参考上述步骤403中的例子,当客户端发送的查询请求中携带的业务参数用于指示查询业务参数为1、业务标识为2、活动标识为1、用户标识为666以及业务数据产生时间戳为2018/12/1至2018/12/7的索引数据时,数据库端通过查询取值范围在pj0kg0000000ii010201与pjbog0000000ii010201之间的行主键,可以直接获取该取值范围内的行主键对应的索引行中的索引数据。
步骤407、数据库端向客户端提供目标索引行中的索引数据。
需要说明的是,本发明实施例提供的数据查询方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本发明的保护范围之内,因此不再赘述。
综上所述,本发明实施例提供的数据查询方法,客户端向数据库端发送的查询请求中携带有客户端的业务参数,数据库端可以基于该业务参数生成目标行主键,并从数据库表中获取目标行主键对应的目标索引行中的索引数据,以向客户端提供该目标索引行中的索引数据,即数据库端可以直接采用行主键通过聚集索引进行数据查询,与相关技术相比,无需使用非聚集索引,因此降低了数据查询的时间复杂度,提高了数据查询效率;另外,还减少了数据库端的读写操作,降低了数据库端的工作负载。
图5是本发明实施例提供的一种数据查询装置的结构示意图,可以用于如图1所示的数据查询系统中的数据库端101,如图5所示,该装置50包括:
第一接收模块501,用于接收客户端发送的查询请求,查询请求中携带有客户端的业务参数。
生成模块502,用于基于业务参数生成目标字符串,并将目标字符串作为目标行主键。
获取模块503,用于从数据库表中获取目标行主键对应的目标索引行中的索引数据,数据库表包括多个索引行,每个索引行对应一个行主键。
提供模块504,用于向客户端提供目标索引行中的索引数据。
可选地,如图6所示,装置50还包括:
第二接收模块505,用于接收客户端发送的业务信息,业务信息中包括业务数据和业务参数;
关系建立模块506,用于根据业务信息,建立目标行主键与目标索引行的对应关系,目标行主键基于业务参数生成,目标索引行用于存储业务数据对应的索引数据。
可选地,业务参数采用十进制字符串形式表示,生成模块,用于:将用于表示业务参数的十进制字符串转换为三十六进制字符串。
可选地,业务参数包括应用标识、业务标识、活动标识、用户标识和业务数据产生时间戳中的至少一种。
综上所述,本发明实施例提供的数据查询装置,数据库端可以基于通过第一接收模块接收到的客户端发送的查询请求中的业务参数,通过生成模块生成目标行主键,并通过获取模块从数据库表中获取目标行主键对应的目标索引行中的索引数据,然后通过提供模块向客户端提供该目标索引行中的索引数据,即数据库端可以直接采用行主键通过聚集索引进行数据查询,与相关技术相比,无需使用非聚集索引,因此降低了数据查询的时间复杂度,提高了数据查询效率。
图7是本发明另一实施例提供的一种数据查询装置的结构示意图,可以用于如图1所示的数据查询系统中的应用端102,如图7所示,该装置60包括:
第一发送模块601,用于在接收到业务查询指令后,向数据库端发送查询请求,查询请求中携带有客户端的业务参数。
接收模块602,用于接收数据库端提供的索引数据,索引数据由数据库端从数据库表中目标行主键对应的目标索引行中获取,目标行主键由数据库端基于业务参数生成。
其中,数据库表包括多个索引行,每个索引行对应一个行主键。
可选地,如图8所示,装置60还包括:
生成模块603,用于当接收到业务触发指令时,生成业务信息,业务信息中包括业务数据和业务参数;
第二发送模块604,用于向数据库端发送业务信息。
可选地,业务参数包括应用标识、业务标识、活动标识、用户标识和业务数据产生时间戳中的至少一种。
综上所述,本发明实施例提供的数据查询装置,客户端通过第一发送模块向数据库端发送的查询请求中携带有客户端的业务参数,数据库端可以基于该业务参数生成目标行主键,并从数据库表中获取目标行主键对应的目标索引行中的索引数据,以向客户端提供该目标索引行中的索引数据,即数据库端可以直接采用行主键通过聚集索引进行数据查询,与相关技术相比,无需使用非聚集索引,因此降低了数据查询的时间复杂度,提高了数据查询效率。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例提供了一种数据查询系统,如图1所示,该系统包括:数据库端101和至少一个客户端102,数据库端包括如图5或图6所示的数据查询装置,客户端包括如图7或图8所示的数据查询装置。
本发明实施例提供了一种数据查询装置,用于数据库端,该装置包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器上所存储的计算机程序,实现如图2或图4所示的数据查询方法。
图9是本发明实施例提供的一种数据库端的结构示意图,该数据库端可以是服务器。所述服务器700包括中央处理单元(Central Processing Unit,CPU)701、包括随机存取存储器(random access memory,RAM)702和只读存储器(read only memory,ROM)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。所述服务器700还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)706,和用于存储操作系统713、应用程序714和其他程序模块715的大容量存储设备707。
所述基本输入/输出系统706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中所述显示器708和输入设备709都通过连接到系统总线705的输入输出控制器710连接到中央处理单元701。所述基本输入/输出系统706还可以包括输入输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备707通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。所述大容量存储设备707及其相关联的计算机可读介质为服务器700提供非易失性存储。也就是说,所述大容量存储设备707可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备707可以统称为存储器。
根据本发明的各种实施例,所述服务器700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器700可以通过连接在所述系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理单元701通过执行该一个或一个以上程序来实现图2或图4所示的ID生成方法。
本发明实施例提供了一种数据查询装置,用于客户端,该装置包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器上所存储的计算机程序,实现如图3或图4所示的数据查询方法。
图10是本发明实施例提供一种应用端的结构示意图,该应用端可以是终端。终端800可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端800包括有:处理器801和存储器802。
处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU;协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的数据查询方法。
在一些实施例中,终端800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、显示屏805、摄像头806、音频电路807、定位组件808和电源809中的至少一种。
外围设备接口803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置终端800的前面板;在另一些实施例中,显示屏805可以为至少两个,分别设置在终端800的不同表面或呈折叠设计;在再一些实施例中,显示屏805可以是柔性显示屏,设置在终端800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以为LCD(LiquidCrystal Display,液晶显示阵列)显示屏或OLED(Organic Light-Emitting Diode,有机发光二极管)显示屏。
摄像头组件806用于采集图像或视频。可选地,摄像头组件806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路807还可以包括耳机插孔。
定位组件808用于定位终端800的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件808可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源809用于为终端800中的各个组件进行供电。电源809可以是交流电、直流电、一次性电池或可充电电池。当电源809包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端800还包括有一个或多个传感器810。该一个或多个传感器810包括但不限于:加速度传感器811、陀螺仪传感器812、压力传感器813、指纹传感器814、光学传感器815以及接近传感器816。
加速度传感器811可以检测以终端800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器811可以用于检测重力加速度在三个坐标轴上的分量。处理器801可以根据加速度传感器811采集的重力加速度信号,控制触摸显示屏805以横向视图或纵向视图进行用户界面的显示。加速度传感器811还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器812可以检测终端800的机体方向及转动角度,陀螺仪传感器812可以与加速度传感器811协同采集用户对终端800的3D动作。处理器801根据陀螺仪传感器812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器813可以设置在终端800的侧边框和/或触摸显示屏805的下层。当压力传感器813设置在终端800的侧边框时,可以检测用户对终端800的握持信号,由处理器801根据压力传感器813采集的握持信号进行左右手识别或快捷操作。当压力传感器813设置在触摸显示屏805的下层时,由处理器801根据用户对触摸显示屏805的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器814用于采集用户的指纹,由处理器801根据指纹传感器814采集到的指纹识别用户的身份,或者,由指纹传感器814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器814可以被设置终端800的正面、背面或侧面。当终端800上设置有物理按键或厂商Logo时,指纹传感器814可以与物理按键或厂商Logo集成在一起。
光学传感器815用于采集环境光强度。在一个实施例中,处理器801可以根据光学传感器815采集的环境光强度,控制触摸显示屏805的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏805的显示亮度;当环境光强度较低时,调低触摸显示屏805的显示亮度。在另一个实施例中,处理器801还可以根据光学传感器815采集的环境光强度,动态调整摄像头组件806的拍摄参数。
接近传感器816,也称距离传感器,通常设置在终端800的前面板。接近传感器816用于采集用户与终端800的正面之间的距离。在一个实施例中,当接近传感器816检测到用户与终端800的正面之间的距离逐渐变小时,由处理器801控制触摸显示屏805从亮屏状态切换为息屏状态;当接近传感器816检测到用户与终端800的正面之间的距离逐渐变大时,由处理器801控制触摸显示屏805从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图10中示出的结构并不构成对终端800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有代码指令,当所述代码指令由数据库端的处理器执行时,实现如图2或图4所示的数据查询方法;当所述代码指令由应用端的处理器执行时,实现如图3或图4所示的数据查询方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的可选实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。