本公开涉及数据处理技术,尤其涉及一种数据查询、系统及电子设备。
背景技术:
由于业务需求,用户经常需要在数据平台上建立临时查询任务,得到筛选数据进行比较分析。对于用户来说,分布在数据平台上的多个查询任务不利于管理。
现有技术中,sql(structuredquerylanguage,结构化查询语句)语句的生成方法是由具有一定撰写经验的开发人员根据数据库实体,使用代码构建数据库内各表的关系,进行sql语句的编写。这种人工编写sql语句的方式会增加用户的查询工作量,且降低查询效率。
目前还没有一个专门的系统用于查询任务的创建和管理,查询任务的创建都是通过登录到数据平台,手动编写sql语句在数据平台上执行,获取任务数据。而用户手动创建的查询任务,无法保证任务的正确性和规范性,且不利于查询任务的集中管理。
因此,需要一种新的数据查询、系统及电子设备。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现要素:
本公开提供一种数据查询、系统及电子设备,用户在进行数据查询时,仅仅需要选择业务模型和查询条件即可,省去了现有技术中编写sql语句的过程,减少了用户的工作量,并且查询效率得到了很大的提升。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种数据查询方法,包括:设定业务模型和查询条件;根据所设定的业务模型和查询条件自动生成sql语句;根据所述sql语句创建相应的查询任务;当所述查询任务完成时,从数据平台上下载相应的任务数据存储到本地数据库。
在本公开的一种示例性实施例中,还包括:预先设置业务模型,所述业务模型包括业务数据表和业务模型信息表,其中所述业务数据表存储于所述数据平台,所述业务模型信息表存储于所述本地数据库。
在本公开的一种示例性实施例中,所设定的查询条件包括条件字段、运算符以及相应条件字段的条件值。
在本公开的一种示例性实施例中,还包括:预先设置查询条件中的条件字段和运算符。
在本公开的一种示例性实施例中,所述设定业务模型包括:从所述业务模型信息表中获取状态为完成的业务模型,过滤状态为未完成或者失败的业务模型。
在本公开的一种示例性实施例中,根据所述sql语句创建相应的查询任务,包括:将所述查询任务添加到任务队列表,并将所述查询任务的状态设置为未执行;扫描所述任务队列表,获取所述任务队列表中状态为未执行的查询任务;将未执行的查询任务推送到所述数据平台,接收所述数据平台返回的任务号,存储到所述任务队列表相应的查询任务中,并将相应的查询任务的状态设置为执行中。
在本公开的一种示例性实施例中,还包括:扫描所述任务队列表中状态为执行中的查询任务;当所述任务队列表中的查询任务执行状态为完成时,获得相应的查询任务的任务数据。
在本公开的一种示例性实施例中,还包括:根据所述任务号到所述数据平台上查询状态为执行中的查询任务的执行状态;或者所述数据平台执行完相应的查询任务后,返回任务执行完成的状态信息。
在本公开的一种示例性实施例中,所述从数据平台上下载相应的任务数据存储到本地数据库,包括:当所述查询任务完成时,将相应的任务数据从所述数据平台以预设格式推送到一中间平台;从所述中间平台下载相应的任务数据并解析;根据解析结果在所述本地数据库中创建任务数据表用于存储所述任务数据。
在本公开的一种示例性实施例中,还包括:创建任务信息表,所述任务信息表包括各个查询任务的创建时间。
在本公开的一种示例性实施例中,还包括:设置各个查询任务的有效时间;扫描所述任务信息表,根据当前查询任务的有效时间和创建时间判断该当前查询任务是否过期;当该当前查询任务过期时,从所述本地数据库中删除相应的任务数据。
根据本公开的一个方面,提供一种数据查询系统,包括:设定模块,用于设定业务模型和查询条件;自动生成模块,用于根据所设定的业务模型和查询条件自动生成sql语句;任务创建模块,用于根据所述sql语句创建相应的查询任务;下载模块,用于当所述查询任务完成时,从数据平台上下载相应的任务数据存储到本地数据库。
在本公开的一种示例性实施例中,还包括:第一设置模块,用于预先设置业务模型,所述业务模型包括业务数据表和业务模型信息表,其中所述业务数据表存储于所述数据平台,所述业务模型信息表存储于所述本地数据库;过滤模块,用于从所述业务模型信息表中获取状态为完成的业务模型,过滤状态为未完成或者失败的业务模型。
在本公开的一种示例性实施例中,所述任务创建模块包括:添加单元,用于将所述查询任务添加到任务队列表,并将所述查询任务的状态设置为未执行;扫描单元,用于扫描所述任务队列表,获取所述任务队列表中状态为未执行的查询任务;推送单元,用于将未执行的查询任务推送到所述数据平台,接收所述数据平台返回的任务号,存储到所述任务队列表相应的查询任务中,并将相应的查询任务的状态设置为执行中。
在本公开的一种示例性实施例中,还包括:扫描模块,用于扫描所述任务队列表中状态为执行中的查询任务;数据获取模块,用于当所述任务队列表中的查询任务执行状态为完成时,获得相应的查询任务的任务数据。
根据本公开的一个方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:设定业务模型和查询条件;根据所设定的业务模型和查询条件自动生成sql语句;根据所述sql语句创建相应的查询任务;当所述查询任务完成时,从数据平台上下载相应的任务数据存储到本地数据库。
根据本公开的数据查询、系统及电子设备,通过设置业务模型和查询条件,当用户需要的数据平台上查询相应的数据时,只需要选择相应的业务模型及查询条件,系统即可自动执行相应的查询任务。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1示意性示出根据本公开示例实施方式的数据查询方法的流程图;
图2示意性示出根据本公开示例实施方式的数据查询方法的流程图;
图3示意性示出根据本公开示例实施方式的数据查询方法的流程图;
图4示意性示出根据本公开示例实施方式的数据查询系统的框图;
图5示意性示出根据本公开示例实施方式的数据查询系统的框图;
图6示意性示出根据本公开示例实施方式的电子设备的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、系统、步骤等。在其它情况下,不详细示出或描述公知结构、方法、系统、实现、材料或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器系统和/或微控制器系统中实现这些功能实体。
以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的系统和方法的例子。
图1示意性示出根据本公开示例实施方式的数据查询方法的流程图。
如图1所示,在步骤s110中,设定业务模型和查询条件。
其中所述业务模型包括业务数据表和业务模型信息表,其中所述业务数据表可以是实体数据表内容,所述业务模型信息表可以包括各个业务数据表所属的一级、二级或者三级业务,各个业务数据表的创建时间,各个业务数据表的负责人,各个业务数据表的状态等信息。这里的业务模型可以包括所有类型的模型,例如订单模型、用户模型、员工模型等等。
在一些实施例中,可以预先针对各个业务模型编写对应的sql模板,sql模板中的查询条件为变量。编写好的sql模板存储在配置文件中。用户只需要选择好相应的业务模型,调取该业务模型对应的sql模板,然后将该sql模板中的查询条件确定后,sql模块即可自动转换为sql语句。sql语句是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
在一些实施例中,用户发起的查询请求可以是查询某一个目标业务模型的统计结果,也可以是针对多个目标业务模型的统计结果。当目标业务模型的个数为多个时,需要调取与各个目标业务模型相对应的sql模板,也即调取多个sql模板。
在一些实施例中,还可以提供用户查询页面,在查询页面上的下拉框中陈列了多个业务模型,用户只需要选中某个或多个业务模型即可触发查询。
在示例性实施例中,所设定的查询条件包括条件字段、运算符以及相应条件字段的条件值。
其中所述查询条件中的条件字段可以是所查询的业务模型的业务数据表中的字段。相应条件字段的条件值没有限定,用户可以在其取值范围内自主设定。
运算符例如可以包括:=,>,>=,<,<=,!=,in,like,likein(业务需求定义,批量模糊),notin(业务需求定义,批量不等于)等中的任意一个或者多个。运算符可以根据对业务数据表的所需操作进行具体设置,不局限于上述例举的种类。
在一些实施例中,可以通过图形化界面中的选择框中的条件字段、运算符和条件值进行选择。根据用户选择的条件字段、运算符和条件值构造sql查询语句,从而能够保证查询任务创建的简单化,规范化。
在一些实施例中,在发起查询请求之前或者同时,设置查询任务的名称。
在步骤s120中,根据所设定的业务模型和查询条件自动生成sql语句。
以上步骤s110中,用户只需要选择要查询的业务模型,选择条件字段,设置该条件字段的条件值,调取相应的sql模板,根据条件字段、运算符和条件值之间的“并”和“或”关系,再依据sql语句生成规则拼接出可执行的sql语句。
在示例性实施例中,系统可以采用客户端/服务端(b/s)模式。
客户端,指的是数据查询的客户端。客户端设置查询任务的名称,查询的业务模型以及查询条件,系统在客户端自动生成sql语句,然后将该sql语句向服务端推送。
在步骤s130中,根据所述sql语句创建相应的查询任务。
在步骤s140中,当所述查询任务完成时,从数据平台上下载相应的任务数据存储到本地数据库。
在示例性实施例中,所述从数据平台上下载相应的任务数据存储到本地数据库,包括:当所述查询任务完成时,将相应的任务数据从所述数据平台以预设格式推送到一中间平台;从所述中间平台下载相应的任务数据并解析;根据解析结果在所述本地数据库中创建任务数据表用于存储所述任务数据。
例如,当某一查询任务在所述数据平台上执行成功后,相应的任务数据可以excel或csv格式推送到所述中间平台(例如oss平台)。后台服务线程(work)从该oss平台上下载数据文件,解析excel和csv格式的数据,根据解析出来的字段在本地数据库中创建任务数据表,并将解析出来的相应字段下的内容数据存储到该任务数据表的对应字段下。oss(objectstorageservice,对象存储)平台,是一种海量、安全和高可靠的云存储服务,restfulapi的平台无关性,容量和处理能力的弹性扩展。
在一些实施例中,任务数据没有直接从所述数据平台下载到系统的本地数据库中,而是通过一个中间平台转存后再下载到系统的本地数据库中,是因为可能存在多个第三方系统从该数据平台上下载数据,采用中间平台转存是为了保证数据平台只与中间平台交互,不与多种第三方系统交互,从而保证了数据平台上的数据安全性。
需要说明的是,虽然上述举例中只例举了excel和csv格式,但本公开不以此为限,其他任意格式例如txt格式的均可以用于数据平台的数据推送到中间平台上。
在一些实施例中,所述数据平台可以采用关系型数据库,例如mysql数据库。该关系型数据库中存储有各种各样的实体业务数据表及其表内容。
由于mysql数据库仅仅支持串行查询方式,也即某一时刻只允许查询一个业务模型的统计结果,因此当用户发起的查询请求包含多个目标业务模型时,可以将上述得到的多个sql语句逐个发往mysql数据库,依次获取各个目标业务模型对应的统计结果。
在另一些实施例中,存储各业务模型相关数据的数据平台支持并行查询方式,则当用户发起的查询请求包含多个目标业务模型时,可以将多个sql语句一起发往数据平台,由数据平台并行处理所有sql语句的查询请求,这样可以加快查询效率。
例如,可以采用大数据平台hadoop分布式文件系统(hadoopdistributedfilesystem,hdfs)。将业务数据表存储在hive上。通过mapreduce(映射化简)将sql自动转换为mapreduce。
mapreduce是一种用于大规模数据并行化运算的编程模型,用户可以使用函数式编程的思想来表述业务逻辑,只需实现map(映射)、reduce(化简),而不用关心并行化的细节。由于mapreduce编程模型简单,基本不涉及并行化细节,同时可以完成大部分并行计算需求,所以被广泛接受。其中,mapreduce的函数类型为只包括有map函数的map类型,或同时包括有map函数和reduce函数的mapreduce类型。
可以根据mapreduce的函数类型,预先设置与函数类型相应的mapreduce与sql映射关系。如预先设置与map类型相应的mapreduce与sql映射关系;与mapreduce类型相应的mapreduce与sql映射关系。
对于标准sql而言,具有选择select、来自from等重要功能,除此之外,各类sql方言系统还提供了分布distributeby、排序sortby或者等价功能来完成用户对输入数据分区、排序然后来分组的需求。对于mapreduce编程模型而言,则有以下要素:输入/输出的定义;map函数和reduce函数;分区、排序来达到分组的能力。将mapreduce的各要素与sql的各个功能一一对应映射,建立相应的对应关系,相应的模板,通过相应的对应关系,相应的模板,将sql自动转换为mapreduce。
在一些实施例中,所述方法还包括:将所述任务数据以图表的形式进行展示。
本发明实施方式提供的数据查询方法,通过建立一个系统管理在大数据平台上创建的查询任务,并在系统中实现任务的模板化和动态化创建,保证了查询任务创建的简单化和准确化。
图2示意性示出根据本公开示例实施方式的数据查询方法的流程图。
如图2所示,在上述图1所示的实施方式的基础上,所述方法还可以包括以下步骤。
在步骤s210中,预先设置业务模型,所述业务模型包括业务数据表和业务模型信息表,其中所述业务数据表存储于所述数据平台,所述业务模型信息表存储于所述本地数据库。
客户端获取业务模型,只需查询本地数据库中的业务模型信息表。
其中设置表描述表项,生成用于描述业务数据表的业务模型信息表。该表描述表项用于描述数据平台中的实体业务数据表信息,表名称、表物理名称、表类别、是否为视图、是否内置表、主键字段设置、表项设置、表类型设置等,也还可以包括表的控制信息描述表项,如是否允许新增字段、是否允许修改字段、是否为锁定表、是否为同构表等。
在步骤s220中,预先设置查询条件中的条件字段和运算符。
通过设置条件字段和运算符,来统一对实体业务数据表的描述,为自动快速的生成sql语句提供条件。
其中,条件字段可以包括:字段名称、表名称、字段类别、字段类型、字段长度、字段精度、是否允许为空、顺序号、默认值等,也还可以包括字段的控制信息描述表项,如输入控件类型、是否锁定、是否内置、字段引用关系设置、视图引用关系设置、字段选项设置等。
在示例性实施例中,还包括:依据用户发起的操作指令,对所述业务模型和查询条件进行处理,所述操作指令包括增加、删除和/或修改业务模型和查询条件。
在步骤s230中,从所述业务模型信息表中获取状态为完成的业务模型,过滤状态为未完成或者失败的业务模型。
其中只有处于完成状态的业务模型可以创建查询任务,新建的查询任务,状态是未完成的或者因语法或者网络原因失败的业务模型都不能创建sql查询任务。这样可以保证要查询的业务模型的业务数据表数据存在,使得数据具有完整性。
在一些实施例中,可以设置一个定时任务例如每天的凌晨一点对前一天的业务模型进行更新,当更新完成时,设置相应的业务模型的状态为完成,当更新未完成时,设置该业务模型的状态为未完成。
需要说明的是,以上步骤s210-s230的顺序可以根据需要进行调整,也可以几个步骤同时进行或者某个步骤中穿插另一个步骤。其中步骤s210-s230可以在步骤s110之前执行,也可以在步骤s110之后执行。
图3示意性示出根据本公开示例实施方式的数据查询方法的流程图。
根据上述图1和图2的实施方式,客户端自动生成的sql语句被推送到服务端,服务端根据所述sql语句创建相应的查询任务。这里的服务端可以是接受客户端请求的服务器,主要包括两个主要部分:执行线程。执行线程每隔一定时间扫描任务队列表,将任务队列表中状态为未执行的任务推送到数据平台上执行。
如图3所示,在步骤s310中,将所述查询任务添加到任务队列表,并将所述查询任务的状态设置为未执行。
其中所述任务队列表用于保存创建的任务信息,任务开始执行前要被放入到任务队列表中,正在执行的任务信息也被保存在任务队列表中。任务执行完成后,将其从任务队列表中删除。任务队列表中有标注任务状态的字段。
在步骤s320中,扫描所述任务队列表,获取所述任务队列表中状态为未执行的查询任务。
例如,可以设置一个执行线程,定时(例如,每隔n秒钟)扫描所述任务队列表。
在步骤s330中,将未执行的查询任务推送到所述数据平台,接收所述数据平台返回的任务号(任务id),存储到所述任务队列表相应的查询任务中,并将相应的查询任务的状态设置为执行中。
其中任务id用于该系统在所述数据平台上的唯一标识。由于数据平台可能对接多个第三方系统,不同的第三方系统中的任务名称可能相同,所以需要数据平台对其执行中的各个查询任务建立一个相对于数据平台而言的唯一的任务id进行区分。
在示例性实施例中,执行线程定时的扫描所述任务队列表,获取那些状态为未执行的任务,基于httpclient技术将未执行的任务通过所述数据平台的保存任务接口将任务推送到所述数据平台上,并获取所述数据平台返回的任务号,存储到任务队列中,并将任务状态设置为执行中。
httpclient是apachejakartacommon下的子项目,用来提供高效的、最新的、功能丰富的支持http协议的客户端编程工具包。httpclient相比传统jdk自带的urlconnection,增加了易用性和灵活性,它不仅使客户端发送http请求变得容易,而且也方便了开发人员测试接口(基于http协议的),即提高了开发的效率,也方便提高代码的健壮性。
在步骤s340中,扫描所述任务队列表中状态为执行中的查询任务。
例如,所述执行线程定时扫描所述任务队列表中状态为执行中的查询任务。
在步骤s350中,根据所述任务号到所述数据平台上查询状态为执行中的查询任务的执行状态。
例如,执行线程定时扫描任务队列表中状态为执行中的任务,根据数据平台返回的任务号,通过数据平台的查询任务接口定时的查询该执行中的任务的执行状态。
步骤s350中是通过任务id不断的向数据平台查询任务的状态。可替代的,在另一个实施例中,所述数据平台执行完相应的查询任务后,所述数据平台向该系统返回任务执行完成的状态信息。
在步骤s360中,判断该查询任务是否已完成,当该查询任务已完成时,进入下一步;反之,跳回到步骤s350继续判断。
在步骤s370中,当所述任务队列表中的查询任务执行状态为完成时,获得相应的查询任务的任务数据。
下面举一个具体的实例来说明本公开实施例。
例如,用户要查询第三季度华北地区大家电销量数据详情表。用户只需在系统中点击新建,填写任务名称(例如,第三季度华北家电销售),选择查询的业务模型(例如,订单模型—在数据平台上,包括所有的订单),点击查询条件,选择
点击确定后,系统将这条任务信息保存,并解析出一条可执行的sql查询语句。
系统存储该任务信息,状态信息设置为未执行,并将该任务放入到任务队列表中,状态为未执行。系统执行线程查询任务队列表中状态为未执行的任务,将任务推送到数据平台执行,设置任务的状态为执行中,并定时查询任务在数据平台的执行状态,任务执行完成时,在本地创建一个任务数据表,存储查询数据,并可在系统中查看这些数据。
本发明实施方式的数据流向主要包括以下几步:执行任务时,任务信息从本地数据库推送到数据平台,任务在数据平台上执行成功后,任务数据推送到中间平台;任务查询时,服务端通过任务id向数据平台查询任务状态,数据平台向服务端返回任务状态;任务数据解析,服务端从中间平台下载任务数据,解析后将数据存储到本地数据库。
图4示意性示出根据本公开示例实施方式的数据查询方法的框图。
在上述图1-图3的实施方式的基础上,数据查询方法还可以包括以下步骤。
如图4所示,在步骤s410中,创建任务信息表,所述任务信息表包括各个查询任务的创建时间。
服务端根据客户端推送过来的sql语句创建查询任务,在系统的本地数据库会存储每一个任务的任务名称、所属的业务模型、查询语句、创建人,创建时间等信息,并可以将这些信息在页面呈现。用户可以根据需求查询创建的任务。
在步骤s420中,设置各个查询任务的有效时间。
在步骤s430中,扫描所述任务信息表。
例如,服务端还可以包括清理线程,用于定时扫描所述任务信息表。
在步骤s440中,根据当前查询任务的有效时间和创建时间判断该当前查询任务是否过期,当该当前查询任务过期时,进入下一步;反之,跳回到步骤s430继续扫描。
在步骤s450中,当该当前查询任务过期时,从所述本地数据库中删除相应的任务数据。
本发明实施方式通过设置任务过期的时间阈值,当当前时间与任务创建时间间隔大于这个时间阈值是,清理线程会从该任务信息表中找到相应的任务名称,并根据该任务名称自动删除本地数据库中的相应任务数据表。由于查询任务的数据一般用于临时分析用,用户可以设置有效时间,任务过期时,清理过期的查询任务数据,优化数据空间。
本发明实施方式通过模板化的任务创建方式简化任务创建,保证任务创建的规范性、准确性和数据的完整性,执行线程实时的处理创建的任务,保证任务自动实时提交,提高工作效率。另一方面,服务器定时清理过期数据,减轻了用户的工作量,保证了数据空间的有效利用。
图5示意性示出根据本公开示例实施方式的数据查询系统的框图。
如图5所示,该系统500包括:设定模块510、自动生成模块520、任务创建模块530以及下载模块540。
其中设定模块510用于设定业务模型和查询条件。
在示例性实施例中,所设定的查询条件包括条件字段、运算符以及相应条件字段的条件值。
自动生成模块520用于根据所设定的业务模型和查询条件自动生成sql语句。
任务创建模块530用于根据所述sql语句创建相应的查询任务。
下载模块540用于当所述查询任务完成时,从数据平台上下载相应的任务数据存储到本地数据库。
在示例性实施例中,系统还包括:第一设置模块,用于预先设置业务模型,所述业务模型包括业务数据表和业务模型信息表,其中所述业务数据表存储于所述数据平台,所述业务模型信息表存储于所述本地数据库;过滤模块,用于从所述业务模型信息表中获取状态为完成的业务模型,过滤状态为未完成或者失败的业务模型。
在示例性实施例中,系统还包括:第二设置模块,用于预先设置查询条件中的条件字段和运算符。
在示例性实施例中,所述任务创建模块包括:添加单元,用于将所述查询任务添加到任务队列表,并将所述查询任务的状态设置为未执行;扫描单元,用于扫描所述任务队列表,获取所述任务队列表中状态为未执行的查询任务;第一推送单元,用于将未执行的查询任务推送到所述数据平台,接收所述数据平台返回的任务号,存储到所述任务队列表相应的查询任务中,并将相应的查询任务的状态设置为执行中。
在示例性实施例中,系统还包括:第一扫描模块,用于扫描所述任务队列表中状态为执行中的查询任务;数据获取模块,用于当所述任务队列表中的查询任务执行状态为完成时,获得相应的查询任务的任务数据。
在示例性实施例中,系统还包括:任务查询模块,用于根据所述任务号到所述数据平台上查询状态为执行中的查询任务的执行状态;或者所述数据平台执行完相应的查询任务后,返回任务执行完成的状态信息。
在示例性实施例中,所述下载模块包括:第二推送单元,用于当所述查询任务完成时,将相应的任务数据从所述数据平台以预设格式推送到一中间平台;解析单元,用于从所述中间平台下载相应的任务数据并解析;存储单元,用于根据解析结果在所述本地数据库中创建任务数据表用于存储所述任务数据。
在示例性实施例中,系统还包括:任务信息表创建模块,用于创建任务信息表,所述任务信息表包括各个查询任务的创建时间。
在示例性实施例中,系统还包括:第三设置模块,用于设置各个查询任务的有效时间;第二扫描模块,用于扫描所述任务信息表,根据当前查询任务的有效时间和创建时间判断该当前查询任务是否过期;清理模块,用于当该当前查询任务过期时,从所述本地数据库中删除相应的任务数据。
关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6示意性示出根据本公开示例实施方式的电子设备的框图。
如图6所示,所述电子设备600包括:处理器602;用于存储处理器602可执行指令的存储器604。
所述处理器602可被配置为:设定业务模型和查询条件;根据所设定的业务模型和查询条件自动生成sql语句;根据所述sql语句创建相应的查询任务;当所述查询任务完成时,从数据平台上下载相应的任务数据存储到本地数据库。
例如,电子设备600可以是智能手机,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,电子设备600可以包括以下一个或多个组件:处理组件601,存储器604,电源组件605,多媒体组件606,音频组件607,输入/输出(i/o)的接口603,传感器组件609,以及通信组件608。
处理组件601通常控制电子设备600的整体操作,诸如与显示,数据通信,相机操作和记录操作相关联的操作。处理组件601可以包括一个或多个处理器602来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件601可以包括一个或多个模块,便于处理组件601和其他组件之间的交互。例如,处理组件601可以包括多媒体模块,以方便多媒体组件606和处理组件601之间的交互。
存储器604被配置为存储各种类型的数据以支持在设备600的操作。这些数据的示例包括用于在电子设备600上操作的任何应用程序或方法的指令,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
电源组件605为电子设备600的各种组件提供电力。电源组件605可以包括电源管理系统,一个或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。
多媒体组件606包括在所述电子设备600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件606包括一个前置摄像头和/或后置摄像头。当设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件607被配置为输出和/或输入音频信号。例如,音频组件607包括一个麦克风(mic),当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件608发送。在一些实施例中,音频组件607还包括一个扬声器,用于输出音频信号。
i/o接口603为处理组件601和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件609包括一个或多个传感器,用于为电子设备600提供各个方面的状态评估。例如,传感器组件609可以检测到设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备600的显示器和小键盘,传感器组件609还可以检测电子设备600或电子设备600一个组件的位置改变,用户与电子设备600接触的存在或不存在,电子设备600方位或加速/减速和电子设备600的温度变化。传感器组件609可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件609还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件609还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件608被配置为便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件608经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件608还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
在示例性实施例,电子设备600可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由电子设备600的处理器602执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行一种数据查询方法,所述方法包括:设定业务模型和查询条件;根据所设定的业务模型和查询条件自动生成sql语句;根据所述sql语句创建相应的查询任务;当所述查询任务完成时,从数据平台上下载相应的任务数据存储到本地数据库。
本发明实施例中其它内容参考上述发明实施例中的内容,在此不再赘述。
图1、2、3和4示出根据本公开示例实施方式的数据查询方法的流程图。该方法可例如利用如图5或6所示的数据查询系统实现,但本公开不限于此。需要注意的是,图1、2、3和4仅是根据本公开示例实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,图1、2、3和4所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块/进程/线程中同步或异步执行的。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本公开的数据查询、系统及电子设备,通过数据查询系统,用户可以通过模板化设置创建查询任务的sql语句,保证了任务的规范性和准确性。同时,通过在系统中设置定时扫描任务,自动的提交和解析任务。另外,本公开还定时自动清理过期任务数据,释放系统的存储空间。此外,通过中间平台转存数据平台的任务数据,第三方系统不与数据平台进行直接的数据下载,从而保证了数据平台数据的安全性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
以上具体地示出和描述了本公开的示例性实施方式。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。