实现数据查询的方法和装置与流程

文档序号:11234150阅读:261来源:国知局
实现数据查询的方法和装置与流程

本发明涉及数据处理技术,尤其涉及一种实现数据查询的方法和装置。



背景技术:

由于业务量的提升,金融相关公司的资金系统对应的数据库每个月都会有数以千万的数据需要和资金平台对接,使得资金系统的数据库中数据大量飙升,造成了数据查询效率较低。

现有技术中,为了解决用户通过资金系统的数据库查询数据效率较低的技术问题,对资金系统的数据库中的数据表结构进行了优化,将必要的查询字段都添加了索引。但增加索引的方法不能解决数据量达到一定量时,用户采用资金系统的数据库查询数据效率较低的技术问题。



技术实现要素:

本发明提供一种实现数据查询的方法和装置,以克服现有技术中当数据库数据量较大时,数据查询效率较低的技术问题。

本发明提供一种实现数据查询的方法,包括:

根据主数据库的原始数据表,将主数据库中的月数据进行整合,得到月目标数据,所述月数据为当前日之前n日内所述主数据库新增的数据,n为正整数;

获取所述月目标数据,并将所述月目标数据发送至备份数据库中的月数据表中进行存储,以使用户根据所述月数据表查询所述月目标数据;

根据所述原始数据表,将所述主数据库中的日数据进行整合,得到日目标数据,所述日数据为当前日所述主数据库新增的数据;

获取所述日目标数据,并将所述日目标数据发送至所述备份数据库中的日数据表中进行存储,以使用户根据所述日数据表查询所述日目标数据。

如上所述的方法,根据所述原始数据表,将所述主数据库中的日数据进行整合,包括:

每间隔第一预设时长,根据所述原始数据表,从主数据库中获取相应第一预设时长内新增的第一日数据,并将所述第一日数据进行整合,得到第一日目标数据;

相应地,获取所述日目标数据,并将所述日目标数据发送至所述备份数据库中的日数据表中进行存储,包括:

获取所述第一日目标数据,并将所述第一日目标数据发送至所述备份数据库中的日数据表中进行存储。

如上所述的方法,所述备份数据库中还包括参数表,所述参数表包括第一字段和第二字段,所述第一字段的值用于指示所述日数据表允许被更新的最小时间间隔;所述第二字段的值用于与所述第一字段的值比较,以判断是否从所述主数据库中获取相应的第一日目标数据,所述第二字段的值可变化,所述第二字段的值为所述第一字段的值的整数倍;

获取所述第一日目标数据,并将所述第一日目标数据发送至所述备份数据库中的日数据表中进行存储之前,所述方法还包括:

判断所述第二字段的当前值是否等于所述第一字段的值,得到的结果为是。

如上所述的方法,所述日数据表包括第一日数据表和第二日数据表;

获取所述第一日目标数据,并将所述第一日目标数据发送至所述备份数据库中的日数据表中进行存储,包括:

获取所述第一日数据表的第一状态和所述第二日数据表的第二状态;

若所述第一状态为写状态,将所述第一状态更新为读状态,将第二状态由读状态更新为写状态,所述第二字段的值更新为目标值;并获取所述第一日目标数据,将所述第一日目标数据发送至所述第二日数据表中进行存储;

若所述第一状态为读状态,将所述第一状态更新为写状态,将第二状态由写状态更新为读状态,将所述第二字段的值更新为目标值;并获取所述第一日目标数据,将所述第一日目标数据发送至所述第一日数据表中进行存储;

其中,所述目标值为预设的更新日目标数据被存储的日数据表的时间间隔。

如上所述的方法,在获取所述第一日目标数据,并将所述第一日目标数据发送至所述备份数据库中的日数据表中进行存储之后,还包括:

每间隔第二预设时长,判断所述第二字段当前值是否与所述第一字段的值相等;所述第二预设时长与日数据表允许被更新的最小时间间隔相等;

若判断结果为否,则将所述第二字段当前值减去一预设值;

若判断结果为是,则从所述主数据库中获取下个第一预设时长内对应的第一日目标数据。

如上所述的方法,在获取月目标数据,并将月目标数据发送至备份数据库中的月数据表中进行存储之前,还包括:

删除所述备份数据中的月数据表中的当前数据;

在获取所述日目标数据,并将日目标数据发送至所述备份数据库中的日数据表中进行存储之前,还包括:

删除所述备份数据中的日数据表中的当前数据。

如上所述的方法,所述方法还包括:

每间隔第三预设时长,针对主数据库中的每个目标原始数据表,所述目标原始数据表为从第一时间至第二时间之间新增至所述主数据库中的原始数据表,将目标原始数据表重新命名,得到年数据表;第二时间为获取所述年数据表的获取日之前第m天对应的时间,所述第一时间与所述第二时间之间的时间间隔为第三预设时长,所述第一时间在所述第二时间之前;其中,所述第三预设时长对应的天数大于等于n,m大于n,所述年数据表的名称包括第一字符和第二字符,第一字符为相应的原始数据表的名称对应的字符,第二字符为所述第二时间对应的年份字符;

将各所述年数据表发送至所述备份数据库中进行存储,以使用户根据所述年数据表查询所述年数据;

删除所述主数据中的年数据表。

本发明还提供一种实现数据查询的方法,包括:

获取用户通过用户界面输入的查询请求,所述查询请求中包括查询时间属性和所述查询时间属性对应的查询时间范围;

根据所述查询时间属性和所述查询时间属性对应的查询时间范围,确定与所述查询时间范围对应的待查询数据所属的目标数据库,所述目标数据库为备份数据库或主数据库;

从所述目标数据库中获取所述待查询数据,并将所述待查询数据发送至所述用户的终端。

其中,所述备份数据库为通过上述实现数据查询的方法得到的备份数据库,所述主数据库为通过上述实现数据查询的方得到的主数据库。

如上所述的方法,所述备份数据库中的日数据表包括第一日数据表和第二日数据表;

若所述查询时间属性为日目标数据,则所述日目标数据对应的查询时间范围为当前日,所述目标数据库为备份数据库;

从目标数据库中获取所述待查询数据,并将所述待查询数据发送至所述用户的终端,包括:

获取与当前日对应的第一日数据表的第一状态和与当前日对应的第二日数据表的第二状态,若所述第一状态为读状态、所述第二状态为写状态,则将与当前日对应的第一日数据表中的待查询数据发送至所述用户的终端;

若所述第一状态为写状态,所述第二状态为读状态,则将与当前日对应的第二日数据表中的待查询数据发送至所述用户的终端。

本发明还提供一种实现数据查询的装置,包括:

数据整合模块,用于根据主数据库的原始数据表,将主数据库中的月数据进行整合,得到月目标数据,所述月数据为当前日之前n日内所述主数据库新增的数据,n为正整数;

调度模块,用于获取所述月目标数据,并将所述月目标数据发送至备份数据库中的月数据表中进行存储,以使用户根据所述月数据表查询所述月目标数据;

所述数据整合模块还用于,根据所述原始数据表,将所述主数据库中的日数据进行整合,得到日目标数据,所述日数据为当前日所述主数据库新增的数据;

所述调度模块还用于,获取所述日目标数据,并将所述日目标数据发送至所述备份数据库中的日数据表中进行存储,以使用户根据所述日数据表查询所述日目标数据。

本发明提供一种实现数据查询的方法和装置。本发明的实现数据查询的方法包括:根据主数据库的原始数据表,将主数据库中的月数据进行整合,得到月目标数据,月数据为当前日之前n日内主数据库新增的数据;获取月目标数据表,并将月目标数据发送至备份数据库中的月数据表中进行存储,以使用户根据月数据表查询月目标数据;根据原始数据表,将主数据库中的日数据进行整合,得到日目标数据,日数据为当前日主数据库新增的数据;获取日目标数据,并将日目标数据发送至备份数据库中的日数据表中进行存储,以使用户根据日数据表查询日目标数据。本发明的实现数据查询的方法和装置提高了数据查询效率,增强了主数据库的数据的处理能力。

附图说明

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

图1为本发明提供的一种可能的系统架构图;

图2为本发明提供的实现数据查询的方法实施例一的流程图;

图3为本发明提供的实现数据查询的方法实施例二的流程图;

图4为本发明提供的实现数据查询的方法实施例三的流程图;

图5为本发明提供的实现数据查询的方法实施例四的流程图;

图6为本发明提供的用户终端输入界面示意图一;

图7为本发明提供的实现数据的查询装置实施例一的结构示意图;

图8为本发明提供的实现数据的查询装置实施例二的结构示意图;

图9为本发明提供的实现数据的查询装置实施例三的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明提供的一种可能的系统架构图,参见图1,该系统架构包括数据查询装置11、主数据服务器12、备份数据服务器13和终端14,主数据服务器12与主数据库121相对应,备份数据服务器与备份数据库131对应;数据查询装置11通过主数据服务器12对主数据库121进行操作,数据查询装置11通过备份数据服务器13对备份数据库131进行操作。

具体地,数据查询装置11将主数据库121特定时间范围内新增的数据进行整合后移动或者直接移动至备份数据库131中,以使用户可采用备份数据库进行查询数据;在用户通过终端14进行数据查询时,数据查询装置11根据用户输入的查询时间属性决定从主数据库121中获取数据还是从备份数据库131中获取数据,最终将获取的数据发送至用户的终端14;通过上述实现数据查询的方法,有效的减少了主数据库的查询压力,提高了数据的查询效率。

下面结合具体的实施例说明本发明提供的实现数据查询的方法和装置进行详细的说明。

图2为本发明提供的实现数据查询的方法实施例一的流程图,如图2所示,本实施例的方法可以包括:

步骤s101、根据主数据库的原始数据表,将主数据库中的月数据进行整合,得到月目标数据,月数据为当前日之前n日内主数据库新增的数据,n为正整数;

步骤s102、获取月目标数据,并将月目标数据发送至备份数据库中的月数据表中进行存储,以使用户根据月数据表查询月目标数据;

步骤s103、根据原始数据表,将主数据库中的日数据进行整合,得到日目标数据,日数据为当前日主数据库新增的数据;

步骤s104、获取日目标数据,并将日目标数据发送至备份数据库中的日数据表中进行存储,以使用户根据日数据表查询日目标数据。

具体地,本实施例的实现数据查询的方法的执行主体为数据查询装置,数据查询装置可设置在主数据服务器内部,也可设置在备份数据服务器内部,还可以独立存在于主数据服务器和备份数据服务器的外部;此外,数据查询装置还可以一部分设置在主数据服务器内部,另一部分设置在备份数据服务器内部,两部分同时协作完成实现数据的查询。

下面以数据查询装置在当前日进行的操作进行说明,其中,当前日可为今天以及今天以前的任何一天。

在实现数据查询的过程中,对于步骤s101,根据主数据库的原始数据表,将主数据库中的月数据进行整合,得到月目标数据,月数据为当前日之前n日内主数据库新增的月数据。

具体地,主数据库为接收外部数据系统平台发送的数据的数据库,若主数据可库为某保险公司对应的数据库,则外部数据系统平台可为银行对应的数据系统平台。因此,若主数据库既用于和外部数据系统平台交互(也可称为数据的处理),又用于数据的查询,在主数据库数据量很大时,势必会造成数据的查询效率不高。

在主数据库中,包括多个业务对应的业务数据表,其中,每个业务对应多张逻辑复杂的业务数据表,主数据库中的业务数据表也可称为原始数据表,而同一业务对应的各业务数据表可能来自不同的外部数据系统平台,因此,同一业务对应的各业务数据表中相同种类的数据的存储规则可能不相同,比如存储规则可为:同一个种类的数据命名、数据的表示方式(实际字符或是10的a次方的形式)。

数据查询装置根据主数据库的原始数据表,将主数据库中的月数据进行整合,得到月目标数据,即数据查询装置从各业务各自对应的原始数据表中获取当前日之前n日内主数据库新增的月数据,接着将月数据进行整合得到月目标数据,月目标数据可以存储在主数据库中的月目标数据表中。其中,本实施例中的整合是指将各业务数据表中的数据以相同的存储规则存储。其中,在本实施例中n的取值优选为28~31。

对于步骤s102,在得到月目标数据后,数据查询装置获取月目标数据,并将月目标数据发送至备份数据库中的月数据表中进行存储,以使用户根据月数据表查询月数据。

其中,在获取月目标数据,并将月目标数据发送至备份数据库中的月数据表中进行存储之前,数据查询装置删除备份数据中的月数据表中的当前数据。比如,当前日为2017年4月9日,n为30,在数据查询装置获取2017年4月9日对应的月目标数据(2017年4月9日之前30天(即2017年3月10号至2017年4月8日)内整合后的新增至主数据库中的数据),并将该月目标数据发送至备份数据库中的月数据表中之前,备份数据库中的月数据表中存储的当前数据为2017年4月8日之前的30天内(即2017年3月9号至2017年4月7日)整合后的新增至主数据库中的数据(2017年4月8日对应的月目标数据)。因此需要先将月数据表中的当前数据删除,再将2017年4月9日对应的月目标数据发送至备份数据中的月数据表中存储。

为了节省主数据库的存储空间,在获取月目标数据,并将月目标数据发送至备份数据库中的月数据表中进行存储之后,数据查询装置删除主数据库中当前日对应的月目标数据。

对于执行步骤s101开始时间可选为当前日的0点,在步骤s101执行完毕后执行步骤s102。

对于步骤s103,数据查询装置根据原始数据表,将主数据库中的日数据进行整合,得到日目标数据,日数据为当前日主数据库新增的日数据。其中,日目标数据可以存储在主数据库中的日数据表中;若当前日为4月9日,日数据为4月9日新增至主数据库中的数据。

此处的整合的含义与步骤s101中整合的含义相同。

对于步骤s104,在得到日目标数据后,数据查询装置获取日目标数据,并将日目标数据发送至备份数据库中的日数据表中进行存储,以使用户根据日数据表查询日数据。

同样地,在获取日目标数据,并将日目标数据发送至备份数据库中的日数据表中进行存储之前,数据查询装置删除备份数据中的日数据表中的当前数据。比如,当前日为2017年4月9日,在数据查询装置获取日目标数据(整合后的2017年4月9日新增至主数据库中的数据),并将日目标数据发送至备份数据库中的月数据表中之前,备份数据库中的日数据表中存储的当前数据为整合后的2017年4月8日新增至主数据库中的数据。因此需要先将日数据表中的当前数据删除,再将整合后的2017年4月9日新增至主数据库中的数据发送至备份数据中的日数据表中进行存储。

为了节省主数据库的存储空间,在当前日的24点或者当前日的下一日,数据查询装置删除主数据库中当前日对应的日目标数据。

由于当前日之前n日内新增的数据和当前日新增的数据的查询频率比较高,因此,将主数据库中的月数据和日数据整合后发送至备份数据库中进行存储,以使用户可采用备份数据库进行数据查询,大大分散了主数据库的查询压力,提高了数据查询效率。同时,由于主数据库的查询压力被分散,因此,主数据库对数据的处理能力得到了增强。

本实施例的实现数据查询的方法包括:根据主数据库的原始数据表,将主数据库中的月数据进行整合,得到月目标数据,月数据为当前日之前n日内主数据库新增的数据;获取月目标数据表,并将月目标数据发送至备份数据库中的月数据表中进行存储,以使用户根据月数据表查询月目标数据;根据原始数据表,将主数据库中的日数据进行整合,得到日目标数据,日数据为当前日主数据库新增的数据;获取日目标数据,并将日目标数据发送至备份数据库中的日数据表中进行存储,以使用户根据日数据表查询日目标数据。本实施例的实现数据查询的方法提高了数据查询效率,增强了主数据库的数据的处理能力。

下面采用几个具体的实施例,对图1所示方法实施例的技术方案进行详细说明。

图3为本发明提供的实现数据查询的方法实施例二的流程图,本实施例的方法是针对上一实施例中的步骤s103和步骤s104的详细说明。如图3所示,本实施例的方法可以包括:

步骤s201、每间隔第一预设时长,根据原始数据表,从主数据库中获取相应第一预设时长内新增的第一日数据,并将第一日数据进行整合,得到第一日目标数据;

具体地,由于在当前日,主数据库中的数据可能实时都在增加,因此,需要每隔第一预设时长将相应第一预设时长内新增至主数据库中的第一日数据进行整合。此处的整合与上一实施例中的整合的意义相同,本实施例中不再赘述。

其中,第一预设时长可选为30min。比如在当前日10:30将当前日10:00至10:30之间新增至主数据库中的第一日数据库整合,得到10:00至10:30之间的第一预设时长内对应的第一日目标数据,在当前日11:00将当前日10:30至11:00之间新增至主数据库中的第一日数据库进行整合,得到10:30至11:00之间的第一预设时长内对应的第一日目标数据;以此类推,直至当前日新增至主数据库中的各第一日数据均被整合成第一日目标数据。

步骤s202、获取第一日目标数据,并将第一日目标数据发送至备份数据库中的日数据表中进行存储。

具体地,比如在当前日10:30将当前日10:00至10:30之间新增至主数据库中的第一日数据整合得到第一日目标数据后,接着获取该第一日目标数据,并将第一日目标数据发送至备份数据库中的日数据表中进行存储。

更为具体地,由于当前日的数据实时性比较高,为了用户查询时不影响数据查询装置将第一目标数据发送至备份数据库中的日数据表中进行存储,备份数据库中的日数据表包括第一日数据表和第二日数据表,第一日数据表和第二日数据表交替用于日目标数据的查询与日目标数据的存储,也就是当第一日数据表用于日目标数据的存储时(即接收数据查询装置从主数据库获取的相应第一预设时长内的日目标数据),第二日数据表用于用户对日目标数据的查询,当第二日数据表用于日目标数据的存储时,第一日数据表用于用户对日目标数据的查询。

第一日数据表包括第三字段,第三字段用于指示第一日数据表的第一状态,第三字段可变化,比如,若第三字段为yes,说明第一状态为写状态,第一日数据表用于第一日目标数据的存储;若第三字段为no,说明第一状态为读状态,第一日数据表用于日目标数据的查询。第二日数据表包括第四字段,第四字段用于指示第二日数据表的第二状态,第四字段可变化,比如,若第四字段为yes,说明第二状态为写状态,第二日数据表用于第一日目标数据的存储;若第四字段为no,说明第二状态为读状态,第二日数据表用于日目标数据的查询。

备份数据库中还包括参数表,参数表包括第一字段和第二字段,第一字段的值用于指示日数据表允许被更新的最小时间间隔;第二字段的值用于与第一字段的值比较,以判断是否从主数据库中获取相应的第一日目标数据,第二字段的值可变化,第二字段的值为第一字段的值的整数倍。

具体地,获取第一日目标数据,并将第一日目标数据发送至备份数据库中的日数据表中进行存储之前,数据查询装置判断第二字段的当前值是否等于第一字段的值。若得到的结果为是,数据查询装置获取相应预设时长内的第一日目标数据,将第一日目标数据发送至备份数据库中的日数据表中进行存储。

其中,若第二字段的当前值等于第一字段的值,则数据查询装置将第一日目标数据发送至备份数据库中的日数据表中进行存储,具体为:获取第一日数据表的第一状态和第二日数据表的第二状态;

若第一状态为写状态,将第一状态更新为读状态,将第二状态由读状态更新为写状态,第二字段的值更新为目标值;并获取第一日目标数据,将第一日目标数据发送至第二日数据表中进行存储;

若第一状态为读状态,将第一状态更新为写状态,将第二状态由写状态更新为读状态,将第二字段的值更新为目标值;并获取第一日目标数据,将第一日目标数据发送至第一日数据表中进行存储;

其中,目标值为预设的更新日目标数据被存储的日数据表的时间间隔。

此外,在获取第一日目标数据,并将第一日目标数据发送至备份数据库中的日数据表中进行存储之后,数据查询装置每间隔第二预设时长,判断第二字段当前值是否与第一字段的值相等;第二预设时长与日数据表允许被更新的最小时间间隔相等;若判断结果为否,则将第二字段当前值减去一预设值;若判断结果为是,则从主数据库中获取下个第一预设时长内对应的第一日目标数据。

下面,采用具体的实例对上述过程进行说明。

若目标值为30min,第一字段的值为10min,预设值为10min,第一日数据表的第一状态为写状态,第二日数据表的第一状态为读状态。

其中,目标值也为第二字段的最大值,第一字段的值也就是日数据表允许被更新的最小时间间隔。

具体地,若第二字段的当前值为10min,第一字段的值和第二字段的值相等,数据查询装置将第二字段的当前值更新为目标值30min,将第一状态更新为读状态,将第二状态更新为写状态,从主数据库中获取相应第一预设时长对应的第一日目标数据,并将该第一日目标数据发送至第二日数据表进行存储。

在获取该第一日目标数据,并将该第一日目标数据发送至备份数据库中的日数据表中进行存储之后,数据查询装置间隔10min,判断第二字段当前值30min是否与第一字段的值10min相等,判断结果为不相等,则将第二字段当前值30min减去预设值10min,得到第二字段新的当前值20min,间隔10min后,再次判断第二字段当前值20min是否与第一字段的值10min相等,判断结果为不相等,则将第二字段的当前值20min减去预设值10min,得到第二字段新的当前值10min,间隔10min后,再次判断第二字段当前值10min是否与第一字段的值10min相等,判断结果为相等,则从主数据库中获取下个第一预设时长内对应的第一日目标数据,并将第一状态更新为写状态,将第二状态更新为读状态,将第二字段的当前值更新为目标值30min,从主数据库中获取下一第一预设时长对应的第一日目标数据,并将该第一日目标数据发送至第一日数据表进行存储。

本领域技术人员可以理解的是,预设值需要使得第二字段的值减去预设值后的值仍然为第一字段的值的整数倍。

参数表中第一字段和第二字段的上述设置方式,可以根据实际需要更改预设的更新日目标数据被存储的日数据表的时间间隔,便可以达到控制用户能查到的最新数据的发生时间。比如当前日上午的主数据库的数据更新频率不大,30min更新一次日目标数据被存储的日数据表即可,此时用户可查询到30min前新增至主数据库中的数据;当前日下午主数据库的数据更新频率便大,需要10min更新一次日目标数据被存储的日数据表,以使用户可以尽可能的查询到最新的数据,此时用户可查询到10min前新增至主数据库中的数据。

本实施例的实现数据查询的方法,通过设置两个日数据表,实现了用户查询时不影响数据查询装置将日目标数据发送至备份数据库中的日数据表中进行存储的过程;通过设置参数表,可以方便的控制用户能查到的最新数据的发生时间。

为了进一步减小主数据库的查询压力,本实施例在上述实施例的基础上进行了改进。图4为本发明提供的数据查询装置实施例三的流程图,如图4所示,本实施例的方法可以包括:

步骤s301、每间隔第三预设时长,针对主数据库中的每个目标原始数据表,目标原始数据表为从第一时间至第二时间之间新增至主数据库中的原始数据表,将目标原始数据表重新命名,得到年数据表;第二时间为获取年数据表的获取日之前第m天对应的时间,第一时间与第二时间之间的时间间隔为第三预设时长,第一时间在第二时间之前;其中,第三预设时长对应的天数大于等于n,m大于n,年数据表的名称包括第一字符和第二字符,第一字符为相应的原始数据表的名称对应的字符,第二字符为第二时间对应的年份字符。

具体地,主数据库中的每一个业务数据表即为一个原始数据表。

若第三预设时长为40天,获取年数据表的获取日恰好为当前日,当前日为2017年4月9日,m为35天,第一时间则为2017年1月25日,第二时间则为2017年3月5日;数据查询装置获取2017年1月25日至2017年3月5日新增至主数据库中的原始数据表,将2017年1月25日至2017年3月5日新增至主数据库中的原始数据表重新命名。其中,每个原始数据表对应得到一个年数据表。

年数据表的命名规则为将原始数据表的名称后添加目标年份作为年数据表的名称,目标年份为第二时间对应的年份。比如,若原始数据的名称为a,第二时间对应的年份为2017,则原始数据对应的年数据表的名称可为a2017。

步骤s302、将各年数据表发送至备份数据库中进行存储,以使用户根据年数据表查询年数据;

将各年数据表发送至备份数据库中进行存储后,若用户需要查询2017年对应的年数据,数据查询装置便可以从备份数据库中的名称中包含2017的年数据表中寻找相应的数据返回给用户的终端即可,在进一步分散了主数据查询压力的同时,实现了大数据的快速查询,进一步增强了主数据库的处理能力。

步骤s303、删除主数据库中的年数据表。

删除主数据库中的年数据表,大大节省了主数据库的存储时间,更近一步增强了主数据库的处理能力。

本实施例通过在备份数据库中存储年数据表,进一步分散了主数据库的查询压力,实现了大数据的快速查询,增强了主数据库的处理能力。

采用上述的实施例的处理方法后得到的备份数据库,供用户进行大部分数据的查询,采用上述的处理方法后得到的主数据库,用于数据的处理和供用户进行小部分数据的查询

下面采用具体的实施例,对用户进行数据查询的过程进行详细说明。本领域技术人员可以理解,以下实施例中的备份数据库为采用上述实施例的方法得到的备份数据库,以下实施例中的主数据库为采用上述实施例的方法得到的主数据库;以下实施例的执行主体也可为图1中的数据查询装置。

图5为本发明提供的实现数据查询的方法实施例三的流程图,如图5所示,本实施例的方法可以包括:

步骤s401,获取用户通过用户界面输入的查询请求,查询请求中包括查询时间属性和查询时间属性对应的查询时间范围;

步骤s402,根据查询时间属性和查询时间属性对应的查询时间范围,确定与查询时间范围对应的待查询数据所属的目标数据库,目标数据库为备份数据库或主数据库;

步骤s403,从目标数据库中获取待查询数据,并将待查询数据发送至用户的终端。

具体地,本实施例中的备份数据库为采用上述实施例的方法后得到的备份数据库,主数据库为采用上述实施例的方法后得到的主数据库。

用户通过终端的用户输入界面输入查询时间属性和查询时间属性对应的查询时间范围,终端可为图1中所示的终端。

数据查询装置获取用户通过终端的用户输入界面输入的查询时间属性和查询时间属性对应的查询时间范围,确定与查询时间范围对应的待查询数据所属的目标数据库,即确定是从主数据库中还是从备份数据库中获取待查询数据。

数据查询装置确定好目标数据库后,从目标数据库中获取待查询数据,并将待查询数据发送至用户的终端。

图6为本发明提供的用户终端输入界面示意图一。

下面结合图6,以具体的实例说明步骤s401~步骤s403的详细过程。

比如,当前日为2017年4月9日,备份数据库中的月数据表中的数据为当前日之前30天内(即2017年3月10号至2017年4月8日)整合后的新增至主数据库中的数据,备份数据库中的日数据表中的数据为2017年4月9日整合后的新增至主数据库中的数据;备份数据库中含有图4所示的实施例中的年数据表,且当前获取年数据表的获取日为当前日。

查询时间属性包括月目标数据、日目标数据和年数据。在所举例的应用场景下,若查询时间属性为月目标数据、日目标数据,则确定目标数据库为备份数据库,若查询时间属性为年数据,且年数据对应的查询时间范围处于当前日之前第m天之后的范围内,则确定目标数据库为主数据库;若查询时间属性为年属性,且年属性范围对应的查询时间范围处于当前日之前第m天之前及当年日之前第m天的范围内,则确定目标数据库为备份数据库。m的含义与图4所示的实施例中的m的含义相同。在该举例中,m取为35天,获取年数据表间隔的第三预设时长为40天。

具体地,如图6所示,在用户的输入界面上显示有查询时间属性的下拉式选择框,下拉式选择框中包括月目标数据、日目标数据和年数据的选项。当用户选择了月目标数据后,用户的输入界面上会显示查询时间范围输入框,可输入的时间范围为2017年3月10日至2017年4月8日中的一天或几天(若输入的时间范围不在2017年3月10日至2017年4月8日的范围内,则为无效输入),并会显示业务属性下拉式选择框,比如,用户输入的时间范围为2017年3月23日至2017年3月26日,选择的业务属性为银行扣除投保人保费的时间,数据查询装置便会根据用户输入的查询时间范围和业务属性,从备份数据库中的月数据表中获取银行扣除投保人保费的时间发生在2017年3月23日至2017年3月26日的业务对应的数据,并将获取的数据返回至用户的终端供用户查看并使用。

当用户选择了日目标数据后,用户的输入界面上会显示查询时间范围输入框,可输入的时间范围为2017年4月9日这一天(若输入的时间范围不为2017年4月9日,则为无效输入),并会显示业务属性下拉式选择框;若用户的选择的业务属性为银行扣除投保人保费的时间,数据查询装置便会根据用户选定的查询时间范围和业务属性,从备份数据库中的日目标数据表中获取银行扣除投保人保费的时间发生在2017年4月9日的业务对应的数据,并将获取的数据返回至用户的终端供用户查看并使用。

当用户选择了年数据后,用户的输入界面上会显示查询时间范围,可选的时间范围为2017年4月9号之前的任一天或几天(若输入的时间范围在2017年4月9日之后,则为无效输入)并会显示业务属性下拉式选择框;若用户输入的时间范围为2017年3月1日至2017年3月3日(在当前获取日之前的第35天之前的范围内,目标数据库为备份数据库),选择的业务属性为银行扣除投保人保费的时间,数据查询装置便会根据用户输入的查询时间范围和业务属性,从备份数据库中的年数据表中获取银行扣除投保人保费的时间发生在2017年3月1日至2017年3月3日的业务对应的数据,并将获取的数据返回至用户的终端供用户查看并使用;若用户输入的时间范围为2017年3月6日至2017年3月7日(在当前获取日之前的第35天之后的范围内,目标数据库为主数据库),选择的业务属性为银行扣除投保人保费的时间,数据查询装置便会根据用户选定的查询时间范围和业务属性,从主数据库中的年数据表中获取银行扣除投保人保费的时间发生在2017年3月6日至2017年3月7日的业务对应的数据,并将获取的数据返回至用户的终端供用户查看并使用。

本领域技术人员可以理解的是,查询时间属性为年数据属性时,用户查询得到的数据为未经整合前的原始数据,也可称为历史数据;查询时间属性为月目标数据或日目标数据时,用户查询得到的数据为将原始数据整合后的数据。

另外,若备份数据库中没有年数据表,当查询时间属性为年数据时,目标数据库便始终为主数据库。由于年数据属于历史数据,查询频率很低,月目标数据和日目标数据查询频率很高,因此,即使没有将年数据表存储至备份数据库中,主数据库用于年数据的查询,备份数据库用于月目标数据和日目标数据的查询,仍能大大的分散主数据库的查询压力,提高查询效率。

进一步地,备份数据库中的日数据表包括第一日数据表和第二日数据表;第一日数据表包括第三字段,第三字段用于指示第一日数据表的第一状态,第三字段可变化,比如,若第三字段为yes,说明第一状态为写状态,第一日数据表用于日目标数据的存储(接收数据查询装置从主数据库获取相应第一预设时长内的日目标数据);若第三字段为no,说明第一状态为读状态,第一日数据表用于日目标数据的查询(用户从第一日数据表获取日目标数据)。第二日数据表包括第四字段,第四字段用于指示第二日数据表的第二状态,第四字段可变化,比如,若第四字段为yes,说明第二状态为写状态,第二日数据表用于日目标数据的存储;若第四字段为no,说明第二状态为读状态,第二日数据表用于日目标数据的查询。

若查询时间属性为日目标数据属性且日目标数据属性对应的查询时间范围为当前日,目标数据库为备份数据库,从目标数据库中获取待查询数据,并将待查询数据发送至所述用户的终端,包括:

获取与当前日对应的第一日数据表的第一状态和与当前日对应的第二日数据表的第二状态,若第一状态为读状态、第二状态为写状态,则将与当前日对应的第一日数据表中的待查询数据发送至用户的终端;

若第一状态为写状态,第二状态为读状态,则将与当前日对应的第二日数据表中的待查询数据发送至用户的终端。

本实施例的实现数据查询的方法,包括:获取用户通过用户界面输入的查询请求,查询请求中包括查询时间属性和查询时间属性对应的查询时间范围;根据查询时间属性和查询时间属性对应的查询时间范围,确定与查询时间范围对应的待查询数据所属的目标数据库,目标数据库为备份数据库或主数据库;从目标数据库中获取待查询数据,并将待查询数据发送至用户的终端。本实施例的实现数据查询的方法,提高了数据查询效率。

图7为本发明提供的实现数据的查询装置实施例一的结构示意图,如图7所示,本实施例的装置可以包括:数据整合模块71和调度模块72,其中,数据整合模块71,用于根据主数据库的原始数据表,将主数据库中的月数据进行整合,得到月目标数据,月数据为当前日之前n日内主数据库新增的数据,n为正整数;以及用于,根据原始数据表,将主数据库中的日数据进行整合,得到日目标数据,日数据为当前日主数据库新增的数据;

调度模块72,用于获取月目标数据,并将月目标数据发送至备份数据库中的月数据表中进行存储,以使用户根据月数据表查询月目标数据;以及用于,获取日目标数据,并将日目标数据发送至备份数据库中的日数据表中进行存储,以使用户根据日数据表查询日目标数据。

数据整合模块71具体用于每间隔第一预设时长,根据原始数据表,从主数据库中获取相应第一预设时长内新增的第一日数据,并将第一日数据进行整合,得到第一日目标数据;

相应地,调度模块72具体用于获取第一日目标数据,并将第一日目标数据发送至备份数据库中的日数据表中进行存储。

本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图8为本发明提供的实现数据的查询装置实施例二的结构示意图,如图8所示,本实施例的装置在图7所示装置结构的基础上,进一步地,还可以包括:第一获取模块73、判断模块74和删除模块75;

第一获取模块73用于每间隔第三预设时长,针对主数据库中的每个目标原始数据表,目标原始数据表为从第一时间至第二时间之间新增至主数据库中的原始数据表,将目标原始数据表重新命名,得到年数据表;第二时间为获取年数据表的获取日之前第m天对应的时间,第一时间与第二时间之间的时间间隔为第三预设时长,第一时间在第二时间之前;其中,第三预设时长对应的天数大于等于n,m大于n,年数据表的名称包括第一字符和第二字符,第一字符为相应的原始数据表的名称对应的字符,第二字符为第二时间对应的年份字符;调度模块72还用于将各年数据表发送至备份数据库中进行存储,以使用户根据年数据表查询年数据;删除模块75用于,删除主数据中的年数据表。

备份数据库中还包括参数表,参数表包括第一字段和第二字段,第二字段的值可变化,第二字段的值为第一字段的值的整数倍,在调度模块82获取第一日目标数据,并将第一日目标数据发送至备份数据库中的日数据表中进行存储之前,判断模块74用于判断第二字段的当前值是否等于第一字段的值,得到的结果为是。

日数据表包括第一日数据表和第二日数据表,在判断模块74判断第二字段的当前值等于第一字段的值后,调度模块72具体用于获取第一日数据表的第一状态和第二日数据表的第二状态;若第一状态为写状态,将第一状态更新为读状态,将第二状态由读状态更新为写状态,第二字段的值更新为目标值;并获取第一日目标数据,将第一日目标数据发送至第二日数据表中进行存储;若第一状态为读状态,将第一状态更新为写状态,将第二状态由写状态更新为读状态,将第二字段的值更新为目标值;并获取第一日目标数据,将第一日目标数据发送至第一日数据表中进行存储;其中,目标值为预设的更新日目标数据被备份的日数据表的时间间隔。

在调度模块72获取第一日目标数据,并将第一日目标数据发送至备份数据库中的日数据表中进行存储之后,判断模块74用于每间隔第二预设时长,判断第二字段当前值是否与第一字段的值相等;第二预设时长与日数据表允许被更新的最小时间间隔相等;若判断结果为否,则将第二字段当前值减去一预设值;若判断结果为是,则调度模块72从主数据库中获取下个第一预设时长内对应的第一日目标数据。

在调度模块72获取月目标数据表中的月目标数据,并将月目标数据发送至备份数据库中的月数据表中进行存储之前,删除模块75还用于删除备份数据中的月数据表中的当前数据;在调度模块72获取日目标数据表中的日目标数据,并将日目标数据发送至备份数据库中的日数据表中进行存储之前,删除模块75还用于删除备份数据中的日数据表中的当前数据。

本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图9为本发明提供的实现数据查询的装置实施例三的结构示意图,如图9所示,本实施例的装置包括:第二获取模块91,确定模块92和发送模块93;

第二获取模块91用于,获取用户通过用户界面输入的查询请求,查询请求中包括查询时间属性和查询时间属性对应的查询时间范围;确定模块92用于根据查询时间属性和查询时间属性对应的查询时间范围,确定与查询时间范围对应的待查询数据所属的目标数据库,目标数据库为备份数据库或主数据库;发送模块93用于从目标数据库中获取待查询数据,并将待查询数据发送至用户的终端。

发送模块93具体用于获取与当前日对应的第一日数据表的第一状态和与当前日对应的第二日数据表的第二状态,若第一状态为读状态、第二状态为写状态,则将与当前日对应的第一日数据表中的待查询数据发送至用户的终端;若第一状态为写状态,第二状态为读状态,则将与当前日对应的第二日数据表中的待查询数据发送至用户的终端。

本实施例的装置,可以用于执行图5所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

本领域技术人员应当明白,图7和/或图8所示的实现数据查询的装置与图9所示的实现数据查询的装置可集成在一起,组成一个实现数据查询的装置。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

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

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