CN108009207A - 增量数据查询方法及装置、存储介质、电子设备 - Google Patents
增量数据查询方法及装置、存储介质、电子设备 Download PDFInfo
- Publication number
- CN108009207A CN108009207A CN201711080746.8A CN201711080746A CN108009207A CN 108009207 A CN108009207 A CN 108009207A CN 201711080746 A CN201711080746 A CN 201711080746A CN 108009207 A CN108009207 A CN 108009207A
- Authority
- CN
- China
- Prior art keywords
- incremental data
- query argument
- starting point
- source database
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24535—Query rewriting; Transformation of sub-queries or views
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种增量数据查询方法及装置、存储介质、电子设备。所述方法包括:建立Java数据库连接JDBC到源数据库的连接;获取查询参数,并根据所述查询参数的值,在所述源数据库中确定出本次增量数据查询的起始点,所述查询参数为自增参数;通过所述JDBC,从所述源数据库中获取在所述起始点之后写入的数据,作为增量数据;获取最后一条增量数据对应的查询参数的自增值,利用所述自增值更新所述查询参数的值,以便后续根据所述自增值,在所述源数据库中确定下次增量数据查询的起始点。如此,有助于提高增量数据查询方案的兼容性以及数据抽取性能。
Description
技术领域
本公开涉及数据处理领域,具体地,涉及一种增量数据查询方法及装置、计算机可读存储介质、电子设备。
背景技术
在日常应用过程中,数据库随时都面临着大量的数据更新,例如,新增数据的插入、原有数据的修改、删除等。对于新增数据来说,目前大多采用以下五种方案进行增量数据处理:
方案一,在源表上建立插入触发器,当源表中出现新增数据时,可以通过插入触发器将新增数据写入增量日志表,这样,目标表便可通过增量日志表识别新增数据。如此方案,由于加入了插入触发器,对源系统有一定的侵入性,对源系统性能影响比较大。
方案二,全表删除插入。即,每次从源表进行新增数据抽取之前,先删除目标表数据,这样,在进行新增数据抽取时,便可加载全新的源表数据到目标表中。如此方案,由于每次都要删除并重新导入数据,致使数据抽取性能极差,不适合数据量大的情况。
方案三,全表比对。即,读取源表中所有的数据,并逐条与目标表中的数据进行对比,如果有新增数据,则可进行新增数据插入。如此方案,由于每次都要读取全新的源表数据,致使数据抽取性能较差,同样不适合数据量大的情况。
方案四,通过分析数据库自带的日志,如RDBMS(英文:Relational DatabaseManagement System,中文:关系数据库管理系统)系统日志,识别新增的数据。如此方案,实现难度较大,且不同的数据库需要采取不同的实现方案。
方案五,Oracle在数据库中引入了CDC(英文:Change Data Capture,中文:改变数据捕获),CDC能够帮助识别源表自上次抽取之后发生变化的数据,可以将发生变化的数据保存到数据库的变化表中,这样,目标表可以通过变化表捕获发生变化的数据,作为新增数据抽取的依据。如此方案,只适用与Oracle9i以上的数据库,且实现难度较大。
综上所述,目前常用的增量数据处理方案均存在一定的缺陷性。
发明内容
本公开的目的是提供一种增量数据查询方法及装置、计算机可读存储介质及电子设备,有助于提高增量数据查询方案的兼容性以及数据抽取性能。
为了实现上述目的,第一方面,本公开提供一种增量数据查询方法,包括:
建立Java数据库连接JDBC到源数据库的连接;
获取查询参数,并根据所述查询参数的值,在所述源数据库中确定出本次增量数据查询的起始点,所述查询参数为自增参数;
通过所述JDBC,从所述源数据库中获取在所述起始点之后写入的数据,作为增量数据;
获取最后一条增量数据对应的查询参数的自增值,利用所述自增值更新所述查询参数的值,以便后续根据所述自增值,在所述源数据库中确定下次增量数据查询的起始点。
可选地,所述查询参数为所述源数据库中能够自增的参数,或者,所述查询参数为时间。
可选地,在所述建立Java数据库连接JDBC到源数据库的连接之前,所述方法还包括:
判断操作者是否具有访问所述源数据库的权限;
如果操作者具有访问所述源数据库的权限,再执行所述建立JDBC到源数据库的连接的步骤。
可选地,如果设置了分页属性,则在所述根据所述查询参数的值,在所述源数据库中确定出本次增量数据查询的起始点之后,所述方法还包括:
根据所述起始点以及所述分页属性,确定每页的抽取起始点以及每页的抽取数目;
所述获取最后一条增量数据对应的查询参数的自增值,包括:获取最后一页的最后一条增量数据对应的查询参数的自增值。
可选地,如果设置了增量数据的查询周期,则在所述获取查询参数之前,所述方法还包括:
判断是否到达所述查询周期;
如果到达所述查询周期,再执行所述获取查询参数的步骤。
第二方面,本公开提供一种增量数据查询装置,所述装置包括:
建立连接模块,用于建立Java数据库连接JDBC到源数据库的连接;
起始点确定模块,用于获取查询参数,并根据所述查询参数的值,在所述源数据库中确定出本次增量数据查询的起始点,所述查询参数为自增参数;
增量数据获取模块,用于通过所述JDBC,从所述源数据库中获取在所述起始点之后写入的数据,作为增量数据;
查询参数更新模块,用于获取最后一条增量数据对应的查询参数的自增值,利用所述自增值更新所述查询参数的值,以便后续根据所述自增值,在所述源数据库中确定下次增量数据查询的起始点。
可选地,所述查询参数为所述源数据库中能够自增的参数,或者,所述查询参数为时间。
可选地,所述装置还包括:
权限判断模块,用于判断操作者是否具有访问所述源数据库的权限;
所述建立连接模块,用于在操作者具有访问所述源数据库的权限时,建立JDBC到源数据库的连接。
可选地,如果设置了分页属性,所述装置还包括:
分页确定模块,用于在所述起始点确定模块确定出本次增量数据查询的起始点之后,根据所述起始点以及所述分页属性,确定每页的抽取起始点以及每页的抽取数目;
所述查询参数更新模块,用于获取最后一页的最后一条增量数据对应的查询参数的自增值,利用所述自增值更新所述查询参数的值。
可选地,如果设置了增量数据的查询周期,所述装置还包括:
查询周期判断模块,用于判断是否到达所述查询周期;
所述起始点确定模块,用于在到达所述查询周期时,获取所述查询参数,并根据所述查询参数的值,在所述源数据库中确定出本次增量数据查询的起始点。
第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述方法的步骤。
第四方面,本公开提供一种电子设备,包括:
第三方面所述的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
本公开方案中,针对不同类型的源数据库,均可通过统一的访问接口,建立对应的JDBC到源数据库的连接,有助于提高增量数据查询方案的兼容性,降低增量数据查询方案的实现难度。另外,建立JDBC到源数据库的连接后,可以先根据查询参数的值,在源数据库中确定出本次增量数据查询的起始点,再根据起始点获取到本次查询任务对应的增量数据。如此处理,一方面对源系统没有侵入性,有助于维持源系统性能;另一方面查询任务只获取增量数据,而非全表数据,还有助于确保数据抽取性能,适用于大数据量场景。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开增量数据查询方法的流程示意图;
图2是本公开增量数据查询装置的结构示意图;
图3是本公开用于增量数据查询的电子设备的结构框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
参见图1,示出了本公开增量数据查询方法的流程示意图。该方法可以包括以下步骤:
步骤101,建立Java数据库连接JDBC到源数据库的连接。
本公开方案中,可以在需要时,针对不同数据库选择对应的JDBC(英文:JavaDataBase Connectivity,中文:java数据库连接)实现类,并建立JDBC到源数据库的连接,如此,便可通过JDBC从源数据库中读取增量数据。
可以理解地,本公开方案中,虽然不同的数据库可能对应有不同的JDBC,但在实际应用过程中,可以通过统一的JDBC访问接口,实现不同JDBC到不同数据库的访问。也就是说,针对不同数据库,只需要选择对应的JDBC实现类即可,无需如现有技术针对不同数据库设计不同的增量数据处理方案,有助于降低增量数据处理的实现难度。
作为一种示例,可以根据操作者输入的连接字符串,建立JDBC到源数据库的连接。举例来说,连接字符串可以为源数据库的IP、端口号、url、数据库名等,本公开方案对此可不做具体限定,只要能够通过连接字符串确定出要连接的源数据库即可,也即使JDBC知晓从哪个源数据库中收集增量数据。
举例来说,数据库test中存在用来存放网站访问记录的表record,其中,id为自增的主键,name为用户名,url为用户访问的网站。该示例中,数据库test即为本公开方案中的源数据库,可以通过JDBC连接到数据库test,进而从表record中读取增量数据。
id | name | url |
1 | tony | www.x0.com |
2 | tom | www.x1.com |
3 | lucy | www.x2.com |
步骤102,获取查询参数,并根据所述查询参数的值,在所述源数据库中确定出本次增量数据查询的起始点,所述查询参数为自增参数。
本公开方案中,可以预设查询参数,用于标识本次增量数据查询的起始点。举例来说,查询参数可以是源数据库中能够自增的参数,如上文表record中,id列的值可以随着访问记录的增加,而自增,故可将id列确定为查询参数。或者,查询参数可以是时间,如查询任务的结束时间、增量数据写入源数据库的时间等。本公开方案对查询参数的具体形式可不做限定。
举例来说,本公开方案中,查询参数的值可以体现为以下两种:
(1)首次增量数据查询时,查询参数的值可以为默认值,例如,默认为0,本公开方案对默认值的设定可不做具体限定,可以结合实际应用情况而定。
(2)非首次增量数据查询时,查询参数的值可以为上次增量数据查询得到的自增参数值,也即能够标识上次数据抽取结束位置的值。关于自增参数值,可参照下文所做介绍,此处暂不详述。
步骤103,通过所述JDBC,从所述源数据库中获取在所述起始点之后写入的数据,作为增量数据。
步骤104,获取最后一条增量数据对应的查询参数的自增值,利用所述自增值更新所述查询参数的值,以便后续根据所述自增值,在所述源数据库中确定下次增量数据查询的起始点。
实际应用过程中,在起始点之后写入源数据库的数据,即为新增数据,故可以获取这部分数据作为本公开方案中的增量数据,进行后续处理。例如,将增量数据写入目标数据库中,本公开方案对增量数据的后续处理过程不做具体限定,可以结合实际应用情况而定。
此外,需要说明的是,为了实现后续增量数据的准确抽取,获得增量数据后,还可以根据最后一条增量数据对应的查询参数的自增值,进行查询参数更新。这样,在下次进行增量数据查询时,便可利用该自增值确定出下次增量数据查询的起始点。
以上文的表record为例,查询参数为id,查询参数的值为id列的取值,如果id的取值为默认值0,则在首次增量数据查询时,确定出起始点为0,对应可读取到在起始点之后写入的增量数据,即id=1,2,3时表中存放的网站访问记录。此时,最后一条增量数据(即id=3对应的网站访问记录),对应的自增值为id=3,故可以利用3更新默认值0。
若在首次增量数据查询完成之后,表record中又新增了一条数据,在进行第二次增量数据查询时,根据id=3便可确定出起始点为3,进而读取到该起始点之后写入的增量数据,即id=4时表中存放的网站访问记录。同样地,可以利用最后一条增量数据(即id=4对应的网站访问记录),对应的自增值id=4更新查询参数,即可以利用4更新3。
如此往复,根据不断更新的查询参数的值,便可实现增量数据的准确抽取。
id | name | url |
1 | tony | www.x0.com |
2 | tom | www.x1.com |
3 | lucy | www.x2.com |
4 | tony | www.x4.com |
作为一种示例,JDBC可以基于sql语句实现增量数据查询。例如,可以在标准where子句中,加入“:last_column_value”,生成sql模板。上文所举示例中,sql模板可以为select*from test where id>:last_column_value,其中,test表示源数据库,id表示查询参数,在sql模板中填入last_column_value的取值,便可生成sql语句。例如,进行首次增量数据查询时,对应的sql语句可以为select*from test where id>:0。
综上所述,本公开方案可以通过统一的访问接口,建立不同的JDBC到不同的源数据库的连接,也就是说,虽然不同的源数据库可能对应有不同的JDBC,但是,对于不同的源数据库来说,整体的增量数据查询方案是相同的,即,本公开方案的兼容性好,可以连接任意类型的源数据库,有助于降低增量数据查询方案的实现难度。另外,本公开方案通过JDBC访问源数据库,获得增量数据,一方面对源系统没有侵入性,有助于维持源系统性能,另一方面每次数据查询只获取增量数据,还有助于确保数据抽取性能,适用于大数据量场景。
作为一种示例,结合实际应用需求,本公开方案在进行增量数据查询时还可以做如下处理:
(1)权限验证
也就是说,可以判断操作者是否具有访问所述源数据库的权限;如果操作者具有访问所述源数据库的权限,才可建立JDBC到源数据库的连接,有助于提高数据访问的安全性。
(2)分页设置
也就是说,如果在增量数据查询之前预设了分页属性,那么,确定出本次增量数据查询的起始点之后,还可以根据所述起始点以及所述分页属性,确定出每页的抽取起始点以及每页的抽取数目。这样,便可对增量数据进行分页抽取,有助于缓解单次抽取的增量数据较多导致的网络拥塞问题。可以理解地,此时的查询参数的自增值为,最后一页的最后一条增量数据对应的查询参数的自增值。
作为一种示例,分页属性可以体现为,需要分页的页数、每页包含的抽取数目等,本公开方案对此可不做具体限定,只要能根据起始点和分页属性确定出每页的抽取起始点、每页的抽取数目即可。
举例来说,本次增量数据查询时共有1000条数据,且起始点为0,分页属性为每页的抽取数目为100,则可分成10页进行增量数据抽取,且第一页的抽取起始点为0,第二页的抽取起始点为100,以此类推,此处不再赘述。对应于此,获得全部增量数据后,可以利用第10页的最后一条增量数据对应的查询参数自增值,进行查询参数更新。
(3)自动化循环处理
也就是说,如果方案预设了增量数据的查询周期,可以先判断是否到达所述查询周期;如果到达所述查询周期,则可触发查询任务获取查询参数,进行本次增量数据查询。可以理解地,在完成本次增量数据查询之后,如果再次到达查询周期,则可触发执行下一轮查询任务,如此循环往复,可以实现增量数据的自动化循环处理。
下面再以数据库test中的表record为例,对本公开方案的实现过程进行解释说明。
(1)进行JDBC设置
针对数据库test选择的JDBC为:mysql-connector-java-5.0.8.jar
连接字符串为:jdbc:mysql://localhost:3306/test
输入操作者的用户名和密码
分页设置:不进行分页
根据操作者的用户名和密码,可以验证操作者是否具有访问数据库test的权限,如果具有访问权限,则可通过连接字符串,将选择的JDBC连接到数据库test。
(2)调度任务设置
本示例中,可以利用查询周期进行调度任务设置,例如,查询周期为1min,即,每隔一分钟,执行一次增量数据查询任务。
(3)sql模版设置
本示例中,sql模版为select*from record where id>:last_column_value,其中,id是查询参数,last_column_value可以替换为查询参数的值。
(4)执行查询任务
本示例中,在任务开启后,可以每隔1min进行一次增量数据查询,并可将采集到的增量数据导入目标数据库中。
第1次增量数据查询时,select*from record where id>:0,因此,可以从表record中获取id=1,2,3对应的3条增量数据,导入目标数据库;然后,利用自增值3更新查询参数。
第2次增量数据查询时,select*from record where id>:3,因此,可以从表record中获取id=4对应的1条增量数据,导入目标数据库;然后,利用自增值4更新查询参数。
参见图2,示出了本公开增量数据查询装置的结构示意图。所述装置可以包括:
建立连接模块201,用于建立Java数据库连接JDBC到源数据库的连接;
起始点确定模块202,用于获取查询参数,并根据所述查询参数的值,在所述源数据库中确定出本次增量数据查询的起始点,所述查询参数为自增参数;
增量数据获取模块203,用于通过所述JDBC,从所述源数据库中获取在所述起始点之后写入的数据,作为增量数据;
查询参数更新模块204,用于获取最后一条增量数据对应的查询参数的自增值,利用所述自增值更新所述查询参数的值,以便后续根据所述自增值,在所述源数据库中确定下次增量数据查询的起始点。
可选地,所述查询参数为所述源数据库中能够自增的参数,或者,所述查询参数为时间。
可选地,所述装置还包括:
权限判断模块,用于判断操作者是否具有访问所述源数据库的权限;
所述建立连接模块,用于在操作者具有访问所述源数据库的权限时,建立JDBC到源数据库的连接。
可选地,如果设置了分页属性,所述装置还包括:
分页确定模块,用于在所述起始点确定模块确定出本次增量数据查询的起始点之后,根据所述起始点以及所述分页属性,确定每页的抽取起始点以及每页的抽取数目;
所述查询参数更新模块,用于获取最后一页的最后一条增量数据对应的查询参数的自增值,利用所述自增值更新所述查询参数的值。
可选地,如果设置了增量数据的查询周期,所述装置还包括:
查询周期判断模块,用于判断是否到达所述查询周期;
所述起始点确定模块,用于在到达所述查询周期时,获取所述查询参数,并根据所述查询参数的值,在所述源数据库中确定出本次增量数据查询的起始点。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图3是根据一示例性实施例示出的一种电子设备300的框图,该电子设备300用于实现增量数据查询。如图3所示,该电子设备300可以包括:处理器301,存储器302,多媒体组件303,输入/输出(I/O)接口304,以及通信组件305。
其中,处理器301用于控制该电子设备300的整体操作,以完成上述的增量数据查询方法中的全部或部分步骤。存储器302用于存储各种类型的数据以支持在该电子设备300的操作,这些数据例如可以包括用于在该电子设备300上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器302可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件303可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器302或通过通信组件305发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口304为处理器301和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件305用于该电子设备300与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件305可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备300可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的增量数据查询方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器302,上述程序指令可由电子设备300的处理器301执行以完成上述的增量数据查询方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种增量数据查询方法,其特征在于,包括:
建立Java数据库连接JDBC到源数据库的连接;
获取查询参数,并根据所述查询参数的值,在所述源数据库中确定出本次增量数据查询的起始点,所述查询参数为自增参数;
通过所述JDBC,从所述源数据库中获取在所述起始点之后写入的数据,作为增量数据;
获取最后一条增量数据对应的查询参数的自增值,利用所述自增值更新所述查询参数的值,以便后续根据所述自增值,在所述源数据库中确定下次增量数据查询的起始点。
2.根据权利要求1所述的方法,其特征在于,所述查询参数为所述源数据库中能够自增的参数,或者,所述查询参数为时间。
3.根据权利要求1或2所述的方法,其特征在于,在所述建立Java数据库连接JDBC到源数据库的连接之前,所述方法还包括:
判断操作者是否具有访问所述源数据库的权限;
如果操作者具有访问所述源数据库的权限,再执行所述建立JDBC到源数据库的连接的步骤。
4.根据权利要求1或2所述的方法,其特征在于,如果设置了分页属性,则在所述根据所述查询参数的值,在所述源数据库中确定出本次增量数据查询的起始点之后,所述方法还包括:
根据所述起始点以及所述分页属性,确定每页的抽取起始点以及每页的抽取数目;
所述获取最后一条增量数据对应的查询参数的自增值,包括:获取最后一页的最后一条增量数据对应的查询参数的自增值。
5.根据权利要求1或2所述的方法,其特征在于,如果设置了增量数据的查询周期,则在所述获取查询参数之前,所述方法还包括:
判断是否到达所述查询周期;
如果到达所述查询周期,再执行所述获取查询参数的步骤。
6.一种增量数据查询装置,其特征在于,所述装置包括:
建立连接模块,用于建立Java数据库连接JDBC到源数据库的连接;
起始点确定模块,用于获取查询参数,并根据所述查询参数的值,在所述源数据库中确定出本次增量数据查询的起始点,所述查询参数为自增参数;
增量数据获取模块,用于通过所述JDBC,从所述源数据库中获取在所述起始点之后写入的数据,作为增量数据;
查询参数更新模块,用于获取最后一条增量数据对应的查询参数的自增值,利用所述自增值更新所述查询参数的值,以便后续根据所述自增值,在所述源数据库中确定下次增量数据查询的起始点。
7.根据权利要求6所述的装置,其特征在于,如果设置了分页属性,所述装置还包括:
分页确定模块,用于在所述起始点确定模块确定出本次增量数据查询的起始点之后,根据所述起始点以及所述分页属性,确定每页的抽取起始点以及每页的抽取数目;
所述查询参数更新模块,用于获取最后一页的最后一条增量数据对应的查询参数的自增值,利用所述自增值更新所述查询参数的值。
8.根据权利要求6所述的装置,其特征在于,如果设置了增量数据的查询周期,所述装置还包括:
查询周期判断模块,用于判断是否到达所述查询周期;
所述起始点确定模块,用于在到达所述查询周期时,获取所述查询参数,并根据所述查询参数的值,在所述源数据库中确定出本次增量数据查询的起始点。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
权利要求9中所述的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711080746.8A CN108009207A (zh) | 2017-11-06 | 2017-11-06 | 增量数据查询方法及装置、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711080746.8A CN108009207A (zh) | 2017-11-06 | 2017-11-06 | 增量数据查询方法及装置、存储介质、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108009207A true CN108009207A (zh) | 2018-05-08 |
Family
ID=62051128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711080746.8A Pending CN108009207A (zh) | 2017-11-06 | 2017-11-06 | 增量数据查询方法及装置、存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108009207A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874313A (zh) * | 2018-05-31 | 2018-11-23 | 安徽四创电子股份有限公司 | 一种基于数据流的大数据增量抽取的数据交换平台 |
CN108920695A (zh) * | 2018-07-13 | 2018-11-30 | 星环信息科技(上海)有限公司 | 一种数据查询方法、装置、设备及存储介质 |
CN109213817A (zh) * | 2018-08-10 | 2019-01-15 | 杭州数梦工场科技有限公司 | 增量数据抽取方法、装置及服务器 |
CN109388671A (zh) * | 2018-10-10 | 2019-02-26 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
CN109710698A (zh) * | 2018-12-28 | 2019-05-03 | 北京明朝万达科技股份有限公司 | 一种数据汇聚方法、装置、电子设备及介质 |
CN110618972A (zh) * | 2019-08-26 | 2019-12-27 | 达疆网络科技(上海)有限公司 | 一种利用自增Id增进深分页方法 |
CN111078699A (zh) * | 2019-12-12 | 2020-04-28 | 金蝶软件(中国)有限公司 | 一种增量数据的判断方法及其相关设备 |
CN112988817A (zh) * | 2021-04-12 | 2021-06-18 | 携程旅游网络技术(上海)有限公司 | 数据比对方法、系统、电子设备和存储介质 |
CN114237511A (zh) * | 2021-12-18 | 2022-03-25 | 杭州视洞科技有限公司 | 一种基于ShardingSphere-JDBC进行数据优化的解决方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020083481A (ko) * | 2001-04-27 | 2002-11-02 | 주식회사 케이티 | 제휴 사이트 간 통합 인증 시스템 및 그 방법 |
CN101477568A (zh) * | 2009-02-12 | 2009-07-08 | 清华大学 | 一种结构化数据和非结构化数据综合检索的方法 |
CN102915336A (zh) * | 2012-09-18 | 2013-02-06 | 北京金和软件股份有限公司 | 一种基于时间戳和日志的增量数据捕获和抽取方法 |
CN105243067A (zh) * | 2014-07-07 | 2016-01-13 | 北京明略软件系统有限公司 | 一种实现实时增量同步数据的方法及装置 |
-
2017
- 2017-11-06 CN CN201711080746.8A patent/CN108009207A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020083481A (ko) * | 2001-04-27 | 2002-11-02 | 주식회사 케이티 | 제휴 사이트 간 통합 인증 시스템 및 그 방법 |
CN101477568A (zh) * | 2009-02-12 | 2009-07-08 | 清华大学 | 一种结构化数据和非结构化数据综合检索的方法 |
CN102915336A (zh) * | 2012-09-18 | 2013-02-06 | 北京金和软件股份有限公司 | 一种基于时间戳和日志的增量数据捕获和抽取方法 |
CN105243067A (zh) * | 2014-07-07 | 2016-01-13 | 北京明略软件系统有限公司 | 一种实现实时增量同步数据的方法及装置 |
Non-Patent Citations (2)
Title |
---|
国家食品安全风险评估中心: "《食品安全风险监测与信息化体系建设》", 31 October 2015 * |
费雅洁 等: "《Oracle数据库实用技术》", 29 February 2008 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874313A (zh) * | 2018-05-31 | 2018-11-23 | 安徽四创电子股份有限公司 | 一种基于数据流的大数据增量抽取的数据交换平台 |
CN108874313B (zh) * | 2018-05-31 | 2021-11-23 | 安徽四创电子股份有限公司 | 一种基于数据流的大数据增量抽取的数据交换平台 |
CN108920695B (zh) * | 2018-07-13 | 2019-09-10 | 星环信息科技(上海)有限公司 | 一种数据查询方法、装置、设备及存储介质 |
CN108920695A (zh) * | 2018-07-13 | 2018-11-30 | 星环信息科技(上海)有限公司 | 一种数据查询方法、装置、设备及存储介质 |
CN109213817A (zh) * | 2018-08-10 | 2019-01-15 | 杭州数梦工场科技有限公司 | 增量数据抽取方法、装置及服务器 |
CN109388671A (zh) * | 2018-10-10 | 2019-02-26 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
CN109388671B (zh) * | 2018-10-10 | 2022-02-11 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
CN109710698A (zh) * | 2018-12-28 | 2019-05-03 | 北京明朝万达科技股份有限公司 | 一种数据汇聚方法、装置、电子设备及介质 |
CN110618972A (zh) * | 2019-08-26 | 2019-12-27 | 达疆网络科技(上海)有限公司 | 一种利用自增Id增进深分页方法 |
CN111078699A (zh) * | 2019-12-12 | 2020-04-28 | 金蝶软件(中国)有限公司 | 一种增量数据的判断方法及其相关设备 |
CN111078699B (zh) * | 2019-12-12 | 2024-01-26 | 金蝶软件(中国)有限公司 | 一种增量数据的判断方法及其相关设备 |
CN112988817A (zh) * | 2021-04-12 | 2021-06-18 | 携程旅游网络技术(上海)有限公司 | 数据比对方法、系统、电子设备和存储介质 |
CN112988817B (zh) * | 2021-04-12 | 2024-03-12 | 携程旅游网络技术(上海)有限公司 | 数据比对方法、系统、电子设备和存储介质 |
CN114237511A (zh) * | 2021-12-18 | 2022-03-25 | 杭州视洞科技有限公司 | 一种基于ShardingSphere-JDBC进行数据优化的解决方法 |
CN114237511B (zh) * | 2021-12-18 | 2024-01-26 | 杭州视洞科技有限公司 | 一种基于ShardingSphere-JDBC进行数据优化的解决方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108009207A (zh) | 增量数据查询方法及装置、存储介质、电子设备 | |
TWI603220B (zh) | Method and device for network verification information | |
CN107798038B (zh) | 数据响应方法及数据响应设备 | |
CN107894952A (zh) | 接口测试用例的生成方法、装置、设备及可读存储介质 | |
CN101739390B (zh) | 基于技术设计文档的数据转换 | |
CN106970929B (zh) | 数据导入方法及装置 | |
CN104572122A (zh) | 一种软件应用数据的生成装置及方法 | |
CN103810224A (zh) | 信息持久化和查询方法及装置 | |
CN110245145A (zh) | 关系型数据库到Hadoop数据库的结构同步方法和装置 | |
CN108388640B (zh) | 一种数据转换方法、装置以及数据处理系统 | |
US20190236304A1 (en) | Method, system, and device for managing database permissions, and computer-readable storage medium | |
CN110750694A (zh) | 数据标注实现方法及装置、电子设备、存储介质 | |
WO2022213838A1 (zh) | 卫星终端接入管理方法、核心网、计算机装置和存储介质 | |
CN106484699B (zh) | 数据库查询字段的生成方法及装置 | |
CN106294499A (zh) | 一种数据库数据查询方法和设备 | |
CN108140022B (zh) | 数据查询方法和数据库系统 | |
CN104732123A (zh) | 一种基于json格式的功能操作权限控制方法 | |
CN110750434A (zh) | 接口测试方法、装置、电子设备和计算机可读存储介质 | |
CN107392560A (zh) | 一种基于互联网的Excel表格数据发布采集方法及系统 | |
CN110442653A (zh) | 增量构建cube模型的方法、装置、服务器及存储介质 | |
CN111949845B (zh) | 处理测绘信息的方法、装置、计算机设备和存储介质 | |
CN107220283B (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN110532254A (zh) | 融合数据表的方法和装置 | |
CN117493309A (zh) | 一种标准模型生成方法、装置、设备及存储介质 | |
CN112162982A (zh) | 数据查询方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180508 |
|
RJ01 | Rejection of invention patent application after publication |