一种数据查询方法和系统技术方案

技术编号:21628270 阅读:20 留言:0更新日期:2019-07-17 10:53
本发明专利技术公开了一种数据查询方法和系统,涉及计算机技术领域。该方法的一具体实施方式包括:查询配置文件,以获取配置信息和待查询目标文件的主键的偏移值;根据所述配置信息和偏移值,获取进行数据查询所需的线程,以确定每个线程查询的主键区间;每个线程根据对应的主键区间和预设查询条件分别对所述待查询目标文件进行数据查询。该实施方式按照配置文件中的配置信息和偏移值获取进行数据查询的线程和每个线程查询的主键区间,分数据段、多线程的查询数据,解决了现有技术进行数据查询耗时长、不稳定的问题。

A Data Query Method and System

【技术实现步骤摘要】
一种数据查询方法和系统
本专利技术涉及计算机领域,尤其涉及一种数据查询方法和系统。
技术介绍
电商公司的单张用户数据表一般为亿级别,针对用户做的各种日常营销活动都需要基于这些用户数据表展开,比如定期给达到某种等级的用户发抵用券、定期给达到某些条件的用户发消息、定期给所有用户重新计算成长值等级等。如何从亿级别的用户数据表中高效快速且可控地查询出需要的数据成为评价数据查询系统非常重要的指标。现有技术在进行数据查询时(比如从用户数据表中查询出符合抵用券发放条件的用户),一般以定时任务的方式,按照业务要求的执行频率(比如每月执行一次)进行查询。具体有以下两种实现方式:方式一:当数据查询任务被触发时,将其发送到业务服务集群中的某一台业务服务器上,该业务服务器根据查询条件以循环分页(Page)、查询固定条数的方式到数据库中查询当前分页的数据;然后将Page+1,按照上述方式继续查询下一分页的数据,直到无法查询到新数据时停止。方式二:当数据查询任务被触发时,根据配置表将其发送到业务服务集群中的所有业务服务器中;每个业务服务器按照配置表中配置的查询区间,根据查询条件以循环分页、查询固定条数的方式到数据库中查询当前分页数据;然后将Page+1,按照上述方式查询下一分页的数据,直到无法查询到新数据时停止。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:(1)上述两种方式中,不管数据查询任务是在业务服务集群中的一台业务服务器还是多台业务服务器上执行,由于数据量大以致执行时间过长,进而导致数据查询任务易中断,运行状态不稳定。比如:执行期间内有业务上线需要重启业务服务器,或者某台业务服务器由于长时间执行大量数据以致负载过高,均会导致数据查询任务的中断。(2)需要人力持续关注数据查询任务是否中断,如果发现中断,还需要人力排查哪些数据已被处理,哪些数据未被处理,然后手动触发定时器以继续执行数据查询任务。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据查询方法和系统,按照配置文件中的配置信息和偏移值获取进行数据查询的线程和每个线程查询的主键区间,分数据段、多线程的查询数据,解决了现有技术进行数据查询耗时长、不稳定的问题。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据查询方法。本专利技术实施例的一种数据查询方法,包括:查询配置文件,以获取配置信息和待查询目标文件的主键的偏移值;根据所述配置信息和偏移值,获取进行数据查询所需的线程,以确定每个线程查询的主键区间;每个线程根据对应的主键区间和预设查询条件分别对所述待查询目标文件进行数据查询。可选地,所述根据所述配置信息和偏移值,获取进行数据查询所需的线程,以确定每个线程查询的主键区间,包括:根据需要查询的总数据条数和每个线程的限制查询数据条数,获取进行数据查询所需的线程数;其中,所述配置信息包括所述总数据条数和所述限制查询数据条数;根据所述线程数从线程池获取对应数量的线程;根据所述偏移值和所述限制查询数据条数,获取每个线程查询的主键区间。可选地,所述查询配置文件的步骤之前,还包括:接收根据执行频率和负载均衡原则分配的数据查询任务。可选地,所述查询配置文件,以获取配置信息和待查询目标文件的主键的偏移值的步骤之后以及所述根据所述配置信息和偏移值的步骤之前,还包括:根据所述配置文件确认无需退出当前数据查询时,根据所述总数据条数更新所述偏移值;将更新值作为下一次数据查询的主键的偏移值,并保存在所述配置文件中。可选地,所述根据需要查询的总数据条数和每个线程的限制查询数据条数,获取进行数据查询所需的线程数的步骤之后以及所述根据所述线程数从线程池获取对应数量的线程的步骤之前,还包括:根据加强执行时间区间和非加强执行时间区间的线程池规格,获取当前数据查询所使用的线程池规格;其中,所述配置信息中包括带有线程池规格的所述加强执行时间区间和所述非加强执行时间区间的线程池规格,所述线程池规格为线程池中最多能够同时执行的线程数;确认所述线程数超出所述线程池规格时,将所述线程数调整为所述线程池规格允许的最大线程数。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据查询系统。本专利技术实施例的一种数据查询系统,包括:文件查询模块,用于查询配置文件,以获取配置信息和待查询目标文件的主键的偏移值;确定模块,用于根据所述配置信息和偏移值,获取进行数据查询所需的线程,以确定每个线程查询的主键区间;数据查询模块,用于每个线程根据对应的主键区间和预设查询条件分别对所述待查询目标文件进行数据查询。可选地,所述确定模块,还用于:根据需要查询的总数据条数和每个线程的限制查询数据条数,获取进行数据查询所需的线程数;其中,所述配置信息包括所述总数据条数和所述限制查询数据条数;根据所述线程数从线程池获取对应数量的线程;以及根据所述偏移值和所述限制查询数据条数,获取每个线程查询的主键区间。可选地,所述系统还包括:接收模块,用于接收根据执行频率和负载均衡原则分配的数据查询任务。可选地,所述系统还包括:更新模块,用于根据所述配置文件确认无需退出当前数据查询时,根据所述总数据条数更新所述偏移值;以及将更新值作为下一次数据查询的主键的偏移值,并保存在所述配置文件中。可选地,所述系统还包括:调整模块,用于根据加强执行时间区间和非加强执行时间区间的线程池规格,获取当前数据查询所使用的线程池规格;其中,所述配置信息中包括带有线程池规格的所述加强执行时间区间和所述非加强执行时间区间的线程池规格,所述线程池规格为线程池中最多能够同时执行的线程数;以及确认所述线程数超出所述线程池规格时,将所述线程数调整为所述线程池规格允许的最大线程数为实现上述目的,根据本专利技术实施例的再一方面,提供了一种电子设备。本专利技术实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例的一种数据查询方法。为实现上述目的,根据本专利技术实施例的再一方面,提供了一种计算机可读介质。本专利技术实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术实施例的一种数据查询方法。上述专利技术中的一个实施例具有如下优点或有益效果:根据配置文件中的配置信息和偏移值获取进行数据查询的线程和每个线程要查询的主键区间,分数据段、多线程的查询数据,数据查询效率高、稳定性好;每次执行数据查询任务,均通过负载均衡原则选取业务服务集群中的某台业务服务器执行该任务,使得数据查询任务被均匀分配到各业务服务器,避免了某台业务服务器负载过高的问题;通过将每次数据查询后的主键的偏移值更新到配置文件,可清楚地获知数据查询任务的执行进度;通过在配置文件中设定加强执行时间区间和线程池规格,合理的利用了空闲资源。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的数据查询方法的主要步骤的示意图;图2是根据本专利技术实施例的数据查询方法的主要流程示意图;图3是根据本专利技术实施例的数据查询系统的主要模块的示意图;图4是本专利技术实施例可以应用于其中的示例性系统架构图;图5是适用于来实现本本文档来自技高网
...

【技术保护点】
1.一种数据查询方法,其特征在于,包括:查询配置文件,以获取配置信息和待查询目标文件的主键的偏移值;根据所述配置信息和偏移值,获取进行数据查询所需的线程,以确定每个线程查询的主键区间;每个线程根据对应的主键区间和预设查询条件分别对所述待查询目标文件进行数据查询。

【技术特征摘要】
1.一种数据查询方法,其特征在于,包括:查询配置文件,以获取配置信息和待查询目标文件的主键的偏移值;根据所述配置信息和偏移值,获取进行数据查询所需的线程,以确定每个线程查询的主键区间;每个线程根据对应的主键区间和预设查询条件分别对所述待查询目标文件进行数据查询。2.根据权利要求1所述的方法,其特征在于,所述根据所述配置信息和偏移值,获取进行数据查询所需的线程,以确定每个线程查询的主键区间,包括:根据需要查询的总数据条数和每个线程的限制查询数据条数,获取进行数据查询所需的线程数;其中,所述配置信息包括所述总数据条数和所述限制查询数据条数;根据所述线程数从线程池获取对应数量的线程;根据所述偏移值和所述限制查询数据条数,获取每个线程查询的主键区间。3.根据权利要求1所述的方法,其特征在于,所述查询配置文件的步骤之前,还包括:接收根据执行频率和负载均衡原则分配的数据查询任务。4.根据权利要求2所述的方法,其特征在于,所述查询配置文件,以获取配置信息和待查询目标文件的主键的偏移值的步骤之后以及所述根据所述配置信息和偏移值的步骤之前,还包括:根据所述配置文件确认无需退出当前数据查询时,根据所述总数据条数更新所述偏移值;将更新值作为下一次数据查询的主键的偏移值,并保存在所述配置文件中。5.根据权利要求2所述的方法,其特征在于,所述根据需要查询的总数据条数和每个线程的限制查询数据条数,获取进行数据查询所需的线程数的步骤之后以及所述根据所述线程数从线程池获取对应数量的线程的步骤之前,还包括:根据加强执行时间区间和非加强执行时间区间的线程池规格,获取当前数据查询所使用的线程池规格;其中,所述配置信息中包括带有线程池规格的所述加强执行时间区间和所述非加强执行时间区间的线程池规格,所述线程池规格为线程池中最多能够同时执行的线程数;确认所述线程数超出所述线程池规格时,将所述线程数调整为所述线程池规格允许的最大线程数。6.一种数据查询系统,其特征在于,包括...

【专利技术属性】
技术研发人员:韩显强
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1