一种数据存储的方法及系统与流程

文档序号:12271656阅读:333来源:国知局
一种数据存储的方法及系统与流程

本发明属于数据存储技术领域,尤其涉及一种数据存储方法及系统。



背景技术:

目前在线教育应用中,学生使用最多的是拍照答疑类应用,但拍照答疑类应用的好坏通常是由题库的质量和题库搜索的速度决定的。

传统的搜索是将用户上传的题目经过识别后,直接跟后台的题库匹配搜索出用户想要的题库反馈给用户,但随着题库的题量慢慢的增加和完善,这种传统法的搜索方式太慢已经无法快速响应用户了,这就造成用户搜索题目的时间长,搜题效率低,用户体验差。



技术实现要素:

鉴于此,本发明实施例提供一种数据存储的方法及系统,以解决终端用户搜题时间长,操作效率低,用户体验差的问题。

本发明实施例的第一方面,提供一种数据存储的方法,所述方法包括:

获取预设数据库中所有数据的属性信息,所述属性信息包括地区信息;

根据获取的预设数据库中所有数据的属性信息,将预设数据库分成具有不同属性信息的子数据库,并在子数据库创建与所述子数据库具有相同属性信息的数据的索引信息。

本发明实施例的第二方面,提供一种数据存储的系统,所述系统包括:

获取模块,用于获取预设数据库中所有数据的属性信息,所述属性信息包括地区信息;

处理模块,用于根据所述获取模块获取的预设数据库中所有数据的属性信息,将预设数据库分成具有不同属性信息的子数据库,并在子数据库创建与所述子数据库具有相同属性信息的数据的索引信息。

本发明实施例与现有技术相比存在的有益效果是:本发明实施例通过根据获取的预设数据库中所有数据的属性信息,将预设数据库分成具有不同属性信息的子数据库,并在子数据库创建与所述子数据库具有相同属性信息的数据的索引信息,用于在客户端发出搜索请求信息时,按照客户端的属性信息,从具有相同属性信息的子数据库中搜索与所述搜索请求信息相关的数据,从而缩短用户搜题的时间,提高用户操作效率,增强用户体验。本发明实施例操作方便、实现简单,对硬件的要求低,从而有利降低产品成本,使产品适用面更广,具有较强的易用性和实用性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明第一实施例提供的数据存储的方法的实现流程图;

图2是本发明第二实施例提供的数据存储的方法的实现流程图;

图3是本发明第三实施例提供的数据存储的系统的组成结构图;

图4是本发明第四实施例提供的数据存储的系统的示意框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

参见图1,是本发明实施例一提供的数据存储的方法的示意流程图,如图所示该方法可以包括以下步骤:

步骤S101,获取预设数据库中所有数据的属性信息,所述属性信息包括地区信息;

在本发明实施例中,所述预设数据库为提前设置的数据库,所述数据可以是题目信息或具有某种属性信息的数据,所述属性信息是与所述数据相关的信息。比如所述数据为题目信息时,所述题目信息的属性信息可以为地区信息,还可以为年级信息、科目信息等,所述获取预设数据库中所有数据的属性信息为获取预设数据库中所有题目的地区信息。

步骤S102,根据获取的预设数据库中所有数据的属性信息,将预设数据库分成具有不同属性信息的子数据库,并在子数据库创建与所述子数据库具有相同属性信息的数据的索引信息。

在本发明实施例中,根据获取的预设数据库中所有数据的属性信息,将预设数据库分成具有不同属性信息的子数据库,即当数据的属性信息为地区信息时,将预设数据库按照地区信息分成不同地区的子数据库,当数据的属性信息为年级信息或科目信息时,也可以将预设数据库按照年级或科目分成不同年级或不同科目的子数据库,还可将地区、科目、年级等属性信息交叉组合组成不同交叉组合类目,按照所述不同交叉组合类目将预设数据库分成不同交叉组合类目的子数据库。所述属性信息与数据内容相关,不同数据库中的数据可具有不同的属性信息,在此不作限制。在子数据库创建与所述子数据库具有相同属性信息的数据索引信息,即在将预设数据库分成不同属性信息的子数据库后,在子数据库创建与所述子数据库具有相同属性信息的数据索引信息,用以在接收到客户端发出的搜索请求后,根据客户端的属性信息,从具有相同属性信息的子数据库中搜索与所述搜索请求相关的数据。

较佳的,在接收到客户端发出的搜索请求信息后,获取所述客户端的属性信息,所述属性信息包括所述客户端当前所在的地区信息;

根据所述客户端的属性信息,从与所述客户端具有相同属性信息的子数据库中搜索与所述搜索请求信息相关的数据。

在本发明实施例中,所述客户端发出的搜索请求信息包括搜索请求和搜索请求信息相关的数据,比如当客户端发出的搜索请求为搜题请求时,搜题请求相关的数据为题目信息。由于数据库已经按照属性信息分为多个子数据库,为了提高搜索速度,根据客户端的属性信息,从与客户端的属性信息具有相同属性信息的子数据库中搜索。所述客户端的属性信息可以通过用户提前在客户端设置,也可以在用户发出搜索请求信息后,客户端弹出一操作界面,用于用户输入客户端的属性信息。

本发明实施例通过根据获取的预设数据库中所有数据的属性信息,将预设数据库分成具有不同属性信息的子数据库,并在子数据库创建与所述子数据库具有相同属性信息的数据的索引信息,用于在客户端发出搜索请求信息时,按照客户端的属性信息,从具有相同属性信息的子数据库中搜索与所述搜索请求信息相关的数据,从而缩短用户搜题的时间,提高用户操作效率,增强用户体验。

实施例二:

参见图2,是本发明实施例二提供的数据存储的方法的示意流程图,如图所示该方法可以包括以下步骤:

步骤S201,统计数据库中所有数据的搜索频次,并将搜索频次大于预设频次的数据划分到所述预设数据库中。

在本发明实施例中,所述数据的搜索频次是指客户端从数据库中搜索所述数据的次数;所述预设频次是预先在数据库中设置的次数。比如5次,10次等。需要说明的是,预设频次并不限制为5次或10次。根据数据库的历史搜索记录,统计所有数据的搜索频次,将搜索频次大于预设频次的数据划分到所述预设数据库中,所述预设数据库可以称为高频数据库,相对应的,高频数据库之外的数据库称为低频数据库。

可选的,统计数据库中所有数据的搜索频次,将数据库根据不同搜索频次范围分成多个数据库,每个数据库对应不同搜索频次范围,将数据根据数据的搜索频次划分到所属的搜索频次范围的数据库中,搜索频次范围最高的数据库为预设数据库。

具体的,统计数据库中所有数据的搜索频次,按照搜索频次0-5次、6-10次、大于10次将数据库分成三个不同搜索频次的数据库,并将搜索频次在不同范围段内的数据划分到相对应的数据库中。以搜索频次最高的数据库称为预设数据库,在接收到客户端发出的搜索请求信息后,先从搜索频次最高的数据库中搜索。

步骤S202,对所述预设数据库中的所有数据进行去重处理,以保留搜索频次最高的数据。

如果数据库中存在大量重复数据,就会造成服务器的压力大,数据库维护成本高的问题,并且客户端用户搜索时间耗时增加,用户体验不足。为了解决上述问题,预设数据库中的所有数据进行去重处理,以保留搜索频次最高的数据。

步骤S203,获取预设数据库中所有数据的属性信息,所述属性信息包括地区信息;

该步骤与步骤S101相同,具体可参见步骤S101的相关描述,在此不再赘述。

步骤S204,根据获取的预设数据库中所有数据的属性信息,将预设数据库分成具有不同属性信息的子数据库,并在子数据库创建与所述子数据库具有相同属性信息的数据的索引信息。

该步骤与步骤S102相同,具体可参见步骤S102的相关描述,在此不再赘述。

较佳的,在接收到客户端发出的搜索请求信息后,获取所述客户端的属性信息,所述属性信息包括所述客户端当前所在的地区信息;

根据所述客户端的属性信息,从与所述客户端具有相同属性信息的子数据库中搜索与所述搜索请求信息相关的数据。

此部分在实施例一中已经做过详细描述,在此不再赘述。

较佳的,若从与所述客户端具有相同属性信息的子数据库中未搜索到与所述搜索请求信息相关的数据或者搜索到的数据不满足预设条件时,从其它数据库中继续搜索与所述搜索请求信息相关的数据,所述其它数据库包括与所述客户端具有不同属性信息的子数据库和所述预设数据库之外的数据库。

在本发明实施例中,数据库按照数据的搜索频次分成预设数据库和预设数据库之外的数据库,又将预设数据库按照数据的属性信息分成具有不同属性信息的子数据库。所述搜索到的数据不满足预设条件是指搜索得到的数据不能满足客户端的需求,并非客户端用户需要搜索的内容,可以是搜索到的数据评分低于预设分数,也可以将搜索到的数据与所述搜索请求信息相关的数据进行比对,若匹配度小于阈值,即搜索到的数据不满足预设条件;还可以将搜索到的数据通过显示界面展示给用户,由用户判断搜索到的数据是否符合用户需求,若不符合用户需求,则搜索到的数据不满足预设条件。

可选的,若从与所述客户端具有相同属性信息的子数据库中未搜索到与所述搜索请求信息相关的数据或搜索到的数据不满足预设条件时,先从与所述客户端具有不同属性信息的子数据库中搜索所述搜索请求相关的数据;

若从与所述客户端具有不同属性信息的子数据库中未搜索到与所述搜索请求信息相关的数据或搜索到的数据不满足预设条件时,再从预设数据库之外的数据库中搜索所述搜索请求相关的数据;

在本发明实施例中,由于历史搜索频次高的数据被用户搜索的概率比历史搜索频次低的数据被用户搜索的概率大,所以先从预设数据库(搜索频次高的数据库)搜索,若预设数据库(搜索频次高的数据库)中未搜索到与所述搜索请求信息相关的数据或搜索到的数据不满足预设条件,再从预设数据库之外的数据库(搜索频次低的数据库)继续搜索。

可选的,若从与所述客户端具有不同属性信息的子数据库中搜索到与所述搜索请求信息相关的数据后,在与所述客户端具有相同属性信息的子数据库中创建所述搜索请求信息相关的数据的索引信息。

在本发明实施例中,若从与所述客户端具有不同属性信息的子数据库中搜索到与所述搜索请求信息相关的数据表示客户端发出的搜索请求信息相关的数据的索引信息创建在与客户端具有不同属性信息的子预设库中。当客户端发出搜索请求信息后,按照搜索规则会先从与所述客户端具有相同属性信息的子数据库中搜索所述搜索请求信息相关的数据,再从与所述客户端具有不同属性信息的子数据库中搜索所述搜索请求信息相关的数据,由于客户端发出的搜索请求信息相关的数据的索引信息创建在与客户端具有不同属性信息的子预设库中,为了便于客户端再次发出相同的搜索请求信息时提高搜索速度,在优先搜索的具有相同属性信息的子数据库中创建所述搜索请求信息相关的数据的索引信息。

可选的,若从所述预设数据库之外的数据库中搜索到与所述搜索请求信息相关的数据后,将所述预设数据库之外的数据库中搜索到的与所述搜索请求信息相关的数据的搜索频次加1,并统计所述搜索请求信息相关的数据的搜索频次。

若统计的所述搜索请求信息相关的数据的搜索频次达到预设频次,将所述搜索请求信息相关的数据移到预设数据库中。

在本发明实施例中,为了提高客户端搜索的速度,将搜索频次大于预设频次的数据划分到预设数据库中,当接收到客户端发出的搜索请求信息后,优先从预设数据库中搜索,随着客户端使用数据库搜索数据次数的增加,搜索频次未达到预设频次的数据有可能会成为热门搜索的数据,按照数据库的搜索规则,客户端反而不能快速搜索到需求的数据,鉴于此,当在所述预设数据库之外的数据库中搜索到与所述搜索请求信息相关的数据后,将所述预设数据库之外的数据库中搜索到的与所述搜索请求信息相关的数据的搜索频次加1,并统计所述搜索请求信息相关的数据的搜索频次。当统计的所述搜索请求信息相关的数据的搜索频次达到预设频次时,将所述搜索请求信息相关的数据移到预设数据库中,以便于解决终端用户搜题时间长的问题。

可选的,若从所述预设数据库之外的数据库未搜索到与所述搜索请求信息相关的数据,在预设数据库之外的数据库为所述搜索请求信息相关的数据创建数据信息。

在本发明实施例中,随着终端用户知识的不断扩展,有可能会出现数据库中并未收录与所述客户端发出的搜索请求信息相关的数据,为了便于后续客户端再次就相同数据信息发出搜索请求时能够搜索到客户端需求的数据,在数据库中创建与所述搜索请求信息相关的数据信息。

应理解,在上述实施例中,各步骤的序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

实施例三:

参见图3,是本发明实施例三提供的数据存储系统的示意框图,为了便于说明,仅示出与本发明实施例相关的部分。

该数据存储的系统可以是内置于终端(例如手机、平板电脑、笔记本、计算机等)内的软件单元、硬件单元或者软硬结合的单元,也可以作为独立的挂件集成到所述终端中。

所述数据存储系统包括:

第一获取模块31,用于获取预设数据库中所有数据的属性信息,所述属性信息包括地区信息;

处理模块32,用于根据所述第一获取模块31获取的预设数据库中所有数据的属性信息,将预设数据库分成具有不同属性信息的子数据库,并在子数据库创建与所述子数据库具有相同属性信息的数据的索引信息。

可选的,所述系统还包括:

数据划分模块33,用于统计数据库中所有数据的搜索频次后,将搜索频次大于预设频次的数据划分到所述预设数据库中。

可选的,所述系统还包括:

去重模块34,用于所述数据划分模块33将搜索频次大于预设频次的数据划分到所述预设数据库中后,对所述预设数据库中的所有数据进行去重处理,以保留搜索频次最高的数据。

可选的,所述系统还包括:

第二获取模块,用于在接收到客户端发出的搜索请求信息后,获取所述客户端的属性信息,所述属性信息包括所述客户端当前所在的地区信息;

搜索模块,用于根据所述第二获取模块获取的所述客户端的属性信息,从于所述客户端具有相同属性信息的子数据库中搜索与所述搜索请求信息相关的数据。

可选的,所述搜索模块还用于:

若从与所述客户端具有相同属性信息的子数据库中未搜索到与所述搜索请求信息相关的数据或者搜索到的数据不满足预设条件时,从其它数据库中继续搜索与所述搜索请求信息相关的数据,所述其它数据库包括与所述客户端具有不同属性信息的子数据库和所述预设数据库之外的数据库。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即所述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元或模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元或模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例的对应过程,在此不再赘述。

实施例四:

参见图4,是本发明实施例四提供的数据存储系统的示意框图。如图所示的该数据存储的系统可以包括:一个或多个处理器401(图中仅示出一个);一个或多个输入设备402(图中仅示出一个),一个或多个输出设备403(图中仅示出一个)和存储器404。上述处理器401、输入设备402、输出设备403和存储器404通过总线405连接。存储器404用于存储指令,处理器401用于执行存储器404存储的指令。其中:

所述处理器401,用于通过输入设备402获取预设数据库中所有数据的属性信息,所述属性信息包括地区信息;所述处理器401还用于根据所述输入设备402获取的预设数据库中所有数据的属性信息,将预设数据库分成具有不同属性信息的子数据库,并在子数据库创建与所述子数据库具有相同属性信息的数据的索引信息。

可选的,所述处理器401还用于通过输入设备402统计数据库中所有数据的搜索频次,并将搜索频次大于预设频次的数据划分到所述预设数据库中。

可选的,所述处理器401还用于对所述预设数据库中的所有数据进行去重处理,以保留搜索频次最高的数据。

可选的,所述处理器401还用于在接收到客户端发出的搜索请求信息后,通过输入设备402获取所述终端的属性信息,所述属性信息包括所述客户端当前所在的地区信息;所述处理器401还用于根据所述输入设备402获取的所述终端的属性信息,从与所述客户端具有相同属性信息的子数据库中搜索与所述搜索请求信息相关的数据。

可选的,所述处理器401还用于若从与所述客户端具有相同属性信息的子数据库中未搜索到与所述搜索请求信息相关的数据或者搜索到的数据不满足预设条件时,从其它数据库中继续搜索与所述搜索请求信息相关的数据,所述其它数据库包括与所述客户端具有不同属性信息的子数据库和所述预设数据库之外的数据库。

所述存储器404,用于存储软件程序、模块和数据库中的数据,所述处理器401通过运行存储在所述存储器404的软件程序以及单元,从而执行各种功能应用以及数据处理,实现数据存储的功能。

应当理解,在本发明实施例中,所称处理器401可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备402可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备403可以包括显示器(LCD等)、扬声器等。

该存储器404可以包括只读存储器和随机存取存储器,并向处理器401提供指令和数据。存储器404的一部分还可以包括非易失性随机存取存储器。例如,存储器404还可以存储设备类型的信息。

具体实现中,本发明实施例中所描述的处理器401、输入设备402、输出设备403和存储器404可执行本发明实施例提供的数据存储的方法的实施例中所描述的实现方式,也可执行数据存储的系统的实施例中所描述的实现方式,在此不再赘述。

综上所述,通过根据获取的预设数据库中所有数据的属性信息,将预设数据库分成具有不同属性信息的子数据库,并在子数据库创建与所述子数据库具有相同属性信息的数据的索引信息,用于在客户端发出搜索请求信息时,按照客户端的属性信息,从具有相同属性信息的子数据库中搜索与所述搜索请求信息相关的数据,从而缩短用户搜题的时间,提高用户操作效率,增强用户体验。本发明实施例操作方便、实现简单,对硬件的要求低,从而有利降低产品成本,使产品适用面更广,具有较强的易用性和实用性。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1