CN108984793A - 一种数据更新方法及系统、存储介质 - Google Patents
一种数据更新方法及系统、存储介质 Download PDFInfo
- Publication number
- CN108984793A CN108984793A CN201810872361.3A CN201810872361A CN108984793A CN 108984793 A CN108984793 A CN 108984793A CN 201810872361 A CN201810872361 A CN 201810872361A CN 108984793 A CN108984793 A CN 108984793A
- Authority
- CN
- China
- Prior art keywords
- data
- update
- new logo
- tables
- updating
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据更新方法及系统、存储介质,其中方法包括:对数据表中的数据添加更新标识,以标记各个数据的更新状态;根据所述更新标识,优先对当前未执行的数据进行更新。本发明通过在数据中增加更新标识,标记该数据更新的状态,从而根据该状态判断该数据更新的优先级,优先对当前未执行的数据进行更新,不必重复更新正在更新的数据,大大节省了服务器的资源,而且速度快、更新及时,能够实现全局监控当前数据更新进度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据更新方法及系统、存储介质。
背景技术
在与第三方数据对接中,需要用接口把数据导入到本地数据库,数据需要和第三方数据保持相对同步。
在linux服务定时脚本环境,目前是通过将数据库中的数据全部轮询调用接口,实现数据更新。现有的数据更新过程如图1所示,首先,对数据表中的数据进行全量查询;通过接口查询,判断查询到的数据是否准确,若不准确则返回接口查询,若准确则更新当前数据;进而判断是否还有未更新的数据,若没有未更新的数据,则结束查询,若还有未更新的数据,则返回数据表,全量查询数据。
现有的轮询整个数据表的数据更新方法,由于轮询调用数据库中的数据会随着数据量的增多,增加脚本处理的总时间,消耗服务器资源,比较费时;而且,当数据库中的数据随着数据量的增多,脚本处理时间的加长,对新数据的更新处理也会滞后,数据更新不及时;此外,不能监控当前数据更新进度。
发明内容
本发明针对现有的通过轮询整个数据表来更新数据库中的数据的方法所存在的服务器消耗资源大、费时、数据更新不及时以及不能监控当前数据更新进度的问题,提供一种数据更新方法及系统、存储介质,数据更新速度快、效率高、系统资源占用少,能够实现全局监控当前数据更新进度。
本发明提供的数据更新方法,其特征在于,包括以下步骤:
对数据表中的数据添加更新标识,以标记各个数据的更新状态;
根据所述更新标识,优先对当前未执行的数据进行更新。
作为一种可实施方式,对数据表中的数据添加更新标识,以标记各个数据的更新状态,包括以下步骤:
在数据执行前,为数据表中的每行数据添加原始的更新标识;
在数据执行过程中,更新正在执行的数据的更新标识。
作为一种可实施方式,根据所述更新标识,优先对当前未执行的数据进行更新,包括以下步骤:
获取正在执行的数据的更新标识;
在数据表中查询与正在执行的数据的更新标识不匹配的数据,进行轮询更新。
作为一种可实施方式,在数据表中查询与正在执行的数据的更新标识不匹配的数据,进行轮询更新后,还包括以下步骤:
在数据表中的数据全部更新后,更新全局标识,结束更新。
相应地,本发明还提供一种数据更新系统,包括更新标识添加模块和数据更新模块;
所述更新标识添加模块,用于对数据表中的数据添加更新标识,以标记各个数据的更新状态;
所述数据更新模块,用于根据所述更新标识,优先对当前未执行的数据进行更新。
作为一种可实施方式,所述更新标识添加模块包括原始标记添加单元和执行更新单元;
所述原始标记添加单元,用于在数据执行前,为数据表中的每行数据添加原始的更新标识;
所述执行更新单元,用于在数据执行过程中,更新正在执行的数据的更新标识。
作为一种可实施方式,所述数据更新模块包括获取单元和轮询单元;
所述获取单元,用于获取正在执行的数据的更新标识;
所述轮询单元,用于在数据表中查询与正在执行的数据的更新标识不匹配的数据,进行轮询更新。
作为一种可实施方式,所述数据更新模块还包括全局标识更新单元;
所述全局标识更新单元,用于在数据表中的数据全部更新后,更新全局标识。
本发明还提供了一种数据更新系统,包括存储器和处理器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器,连接数据库和所述存储器,用于根据所述程序代码中的指令执行上述任一项所述的数据更新方法。
本发明还提供了一种存储介质,所述存储介质用于存储程序代码,其特征在于,所述程序代码用于执行上述任一项所述的数据更新方法。
与现有技术相比,本技术方案具有以下优点:
本发明提供的数据更新方法及系统、存储介质,通过在数据中增加更新标识,标记该数据更新的状态,从而根据该状态判断该数据更新的优先级,优先对当前未执行的数据进行更新,不必重复更新正在更新的数据,大大节省了服务器的资源,而且速度快、更新及时,能够实现全局监控当前数据更新进度。
附图说明
图1为背景技术提供的现有的数据更新方法的流程示意图;
图2为本发明实施例一提供的数据更新方法的流程示意图;
图3为本发明实施例二提供的数据更新方法的流程示意图;
图4为本发明实施例三提供的数据更新系统的结构示意图。
具体实施方式
以下结合附图,对本发明上述的和另外的技术特征和优点进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部实施例。
本发明适用于linux服务定时脚本环境下的数据更新,通过在数据中增加更新标识字段,以标记该数据的更新状态,然后利用脚本根据数据的更新状态(更新标识即可反映出数据的更新状态)判断该数据更新的优先级。具体实现过程如下:
如图2所示,本发明实施例一提供的数据更新方法,包括以下步骤:
S100、对数据表中的数据添加更新标识,以标记各个数据的更新状态;
S200、根据更新标识,优先对当前未执行的数据进行更新。
例如,在更新数据前,为每行数据添加一个默认的初始的更新标识,然后保存当前正在执行的数据的更新标识。更新数据时,首先轮循更新与当前正在执行的数据的更新标识不匹配的数据的前50或100条数据,即更新当前未执行的数据,然后再通过接口将当前正在执行的数据状态更新为最新状态,即更新前正在执行的数据的更新标识,这样下一次的轮循就会排除当前正在执行的数据。
本发明针对现有的通过轮询整个数据表来更新数据库中的数据的方法所存在的服务器消耗资源大、费时、数据更新不及时以及不能监控当前数据更新进度的问题,提供一种数据更新方法,通过在数据中增加“更新标识”字段,标记该数据更新的状态,从而根据该状态判断该数据更新的优先级,优先对当前未执行的数据进行更新,不必重复更新正在更新的数据,大大节省了服务器的资源,而且速度快、更新及时,能够实现全局监控当前数据更新进度。
进一步地,作为一种可实施方式,步骤S100包括以下步骤:
S110、在数据执行前,为数据表中的每行数据添加原始的更新标识;
S120、在数据执行过程中,更新正在执行的数据的更新标识。
更新标识代表了数据的更新状态,可以根据数据的任何更新状态数据生成相应的字段,作为更新标识添加在数据中。
步骤S200包括以下步骤:
S210、获取正在执行的数据的更新标识;
S220、在数据表中查询与正在执行的数据的更新标识不匹配的数据,进行轮询更新。
S230、在数据表中的数据全部更新后,更新全局标识,结束更新。
如图3所示,本发明实施例二提供的数据更新方法,具体实现步骤如下:
第一步,查询当前执行数据的更新标识;
第二步,根据当前执行数据的更新标识查询与该更新标识不匹配的数据;
第三步,接口查询,获得查询数据;
第四步,判断查询到的数据是否正确;若不正确,返回第三步,继续查询;若正确,执行第五步;
第五步,更新当前数据;
第六步,更新当前数据标识
第七步,判断是否还存在未更新的数据;若是,则返回第二步;若否,则执行第八步;
第八步,更新全局标识;
结束。
对比图1和图3,可知现有的数据更新的方案,通过将数据库中的数据全部轮询,实现数据更新。而本发明通过对数据添加更新标识,可以实现分区块轮循,只需要优先对当前未执行的数据进行轮询更新。相比之下,本发明更节省服务器资源、更高效,并且可以全局监控数据更新进程。
补充说明一下,图3中的全局标识,指的是系统能理解的一种“游标”,它可以根据场景来变化自身的状态,在系统中它可以以数字形式体现,比如从1变为2,可以理解为状态1的所代表的状态变化成了状态2所代表的那个状态。
基于同一发明构思,本发明实施例二还提供了一种数据更新系统,该系统与前述数据更新方法的原理相同。故该系统的实施可参照前述方法实现,重复之处,不再冗述。
参见图4,本发明实施三提供的数据更新系统,包括更新标识添加模块100和数据更新模块200。
其中,更新标识添加模块100用于对数据表中的数据添加更新标识,以标记各个数据的更新状态;数据更新模块200用于根据更新标识,优先对当前未执行的数据进行更新。
具体地,更新标识添加模块100包括原始标记添加单元110和执行更新单元120。原始标记添加单元110用于在数据执行前,为数据表中的每行数据添加原始的更新标识;执行更新单元120用于在数据执行过程中,更新正在执行的数据的更新标识。
数据更新模块200包括获取单元210和轮询单元220。获取单元210用于获取正在执行的数据的更新标识;轮询单元220用于在数据表中查询与正在执行的数据的更新标识不匹配的数据,进行轮询更新。
进一步地,数据更新模块200还包括全局标识更新单元230。全局标识更新单元230用于在数据表中的数据全部更新后,更新全局标识。
上述实施例提供的数据更新方法及系统,可以广泛应运到现有的计算机管理系统中,下面列举一个应运实例,对本发明进行补充说明。
以客满返利为例,每一个优惠券,均有全局数据标识,每过一段时间,系统会进行数据自检,即数据查询更新,具体流程如下:
系统进行后台运作,进行数据库自检,查询对应全局数据的更新标示,即全量查询数据;
系统从支付接口(银联卡、支付宝、微信等第三封支付接口)获得相关优惠券信息和相关的全局数据的更新标识,即接口查询;
系统后台自检数据是否正确;
不正确,则重新从支付宝接口获取相关优惠券信息和相关全局数据标示;
若正确,则更新相关优惠券信息,即更新当前数据。
系统后台进行再次判断,优惠券信息是否已经完全更新;
若判断已完全更新,则说明优惠券信息数据更新完毕,结束。
若判断未完全更新,则进行数据库自检,查询对应全局数据的更新标示,即全量查询数据。
对比传统数据更新方法,本发明提供的数据更新方法及系统,提高了系统后台数据的利用率,不必重复更新正在更新的数据,优化了数据更新方式,提高了数据更新的速度。
本发明实施例五还提供了一种数据更新系统,包括存储器和处理器;存储器用于存储程序代码,并将程序代码传输给处理器;处理器连接待更新的数据库和存储器,用于根据程序代码中的指令执行上述数据更新方法。
本发明实施例五还提供了一种存储介质,该存储介质可以是硬盘、U盘等用于存储程序代码的硬件介质,其存储的程序代码用于执行上述数据更新方法。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (10)
1.一种数据更新方法,其特征在于,包括以下步骤:
对数据表中的数据添加更新标识,以标记各个数据的更新状态;
根据所述更新标识,优先对当前未执行的数据进行更新。
2.根据权利要求1所述的数据更新方法,其特征在于,对数据表中的数据添加更新标识,以标记各个数据的更新状态,包括以下步骤:
在数据执行前,为数据表中的每行数据添加原始的更新标识;
在数据执行过程中,更新正在执行的数据的更新标识。
3.根据权利要求1或2所述的数据更新方法,其特征在于,根据所述更新标识,优先对当前未执行的数据进行更新,包括以下步骤:
获取正在执行的数据的更新标识;
在数据表中查询与正在执行的数据的更新标识不匹配的数据,进行轮询更新。
4.根据权利要求3所述的数据更新方法,其特征在于,在数据表中查询与正在执行的数据的更新标识不匹配的数据,进行轮询更新后,还包括以下步骤:
在数据表中的数据全部更新后,更新全局标识,结束更新。
5.一种数据更新系统,其特征在于,包括更新标识添加模块和数据更新模块;
所述更新标识添加模块,用于对数据表中的数据添加更新标识,以标记各个数据的更新状态;
所述数据更新模块,用于根据所述更新标识,优先对当前未执行的数据进行更新。
6.根据权利要求5所述的数据更新系统,其特征在于,所述更新标识添加模块包括原始标记添加单元和执行更新单元;
所述原始标记添加单元,用于在数据执行前,为数据表中的每行数据添加原始的更新标识;
所述执行更新单元,用于在数据执行过程中,更新正在执行的数据的更新标识。
7.根据权利要求5或6所述的数据更新系统,其特征在于,所述数据更新模块包括获取单元和轮询单元;
所述获取单元,用于获取正在执行的数据的更新标识;
所述轮询单元,用于在数据表中查询与正在执行的数据的更新标识不匹配的数据,进行轮询更新。
8.根据权利要求7所述的数据更新系统,其特征在于,所述数据更新模块还包括全局标识更新单元;
所述全局标识更新单元,用于在数据表中的数据全部更新后,更新全局标识。
9.一种数据更新系统,其特征在于,包括存储器和处理器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器,连接数据库和所述存储器,用于根据所述程序代码中的指令执行如权利要求1~4任一项所述的数据更新方法。
10.一种存储介质,所述存储介质用于存储程序代码,其特征在于,所述程序代码用于执行如权利要求1~4任一项所述的数据更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810872361.3A CN108984793A (zh) | 2018-08-02 | 2018-08-02 | 一种数据更新方法及系统、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810872361.3A CN108984793A (zh) | 2018-08-02 | 2018-08-02 | 一种数据更新方法及系统、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108984793A true CN108984793A (zh) | 2018-12-11 |
Family
ID=64555256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810872361.3A Pending CN108984793A (zh) | 2018-08-02 | 2018-08-02 | 一种数据更新方法及系统、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108984793A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110097356A (zh) * | 2019-05-07 | 2019-08-06 | 苏州达家迎信息技术有限公司 | 一种支付方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140222872A1 (en) * | 2013-02-04 | 2014-08-07 | Bank Of America Corporation | Multi-row database updating for enterprise workflow application |
CN107066588A (zh) * | 2017-04-17 | 2017-08-18 | 星环信息科技(上海)有限公司 | 一种数据库及相应的方法与设备 |
CN107665234A (zh) * | 2017-07-25 | 2018-02-06 | 平安科技(深圳)有限公司 | 业务处理方法、装置、服务器和存储介质 |
CN108322533A (zh) * | 2018-01-31 | 2018-07-24 | 广州鼎甲计算机科技有限公司 | 基于操作日志的分布式集群节点间配置同步方法 |
-
2018
- 2018-08-02 CN CN201810872361.3A patent/CN108984793A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140222872A1 (en) * | 2013-02-04 | 2014-08-07 | Bank Of America Corporation | Multi-row database updating for enterprise workflow application |
CN107066588A (zh) * | 2017-04-17 | 2017-08-18 | 星环信息科技(上海)有限公司 | 一种数据库及相应的方法与设备 |
CN107665234A (zh) * | 2017-07-25 | 2018-02-06 | 平安科技(深圳)有限公司 | 业务处理方法、装置、服务器和存储介质 |
CN108322533A (zh) * | 2018-01-31 | 2018-07-24 | 广州鼎甲计算机科技有限公司 | 基于操作日志的分布式集群节点间配置同步方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110097356A (zh) * | 2019-05-07 | 2019-08-06 | 苏州达家迎信息技术有限公司 | 一种支付方法、装置、设备和存储介质 |
CN110097356B (zh) * | 2019-05-07 | 2023-08-18 | 苏州达家迎信息技术有限公司 | 一种支付方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111221726A (zh) | 一种测试数据生成方法、装置、存储介质和智能设备 | |
CN109766349B (zh) | 任务防重方法、装置、计算机设备及存储介质 | |
DE602007007820D1 (de) | Verfahren und vorrichtung zur abwicklung der speicherung von benutzerdaten in digitalen zellularen 3g-telekommunikationssystemen | |
US20130173509A1 (en) | Method and arrangement for processing data | |
CN106302843B (zh) | 一种ip地址库更新方法及装置 | |
CN108287708A (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
CN111125229A (zh) | 数据血缘生成方法、装置、电子设备 | |
CN110018996A (zh) | 一种分布式存储系统的快照回滚方法及相关装置 | |
CN104657164B (zh) | 软件升级处理方法和装置 | |
CN108765142B (zh) | 电子装置、多区块链整合控制方法和计算机可读存储介质 | |
CN101833585A (zh) | 数据库服务器操作控制系统、方法及设备 | |
CN108984793A (zh) | 一种数据更新方法及系统、存储介质 | |
CN106997369A (zh) | 数据清理方法及装置 | |
CN106469175A (zh) | 数据处理方法及装置 | |
CN112328575A (zh) | 数据资产血缘生成方法、装置、电子设备 | |
CN107621945A (zh) | 一种确定ios设备的标识的方法及装置 | |
CN106055640A (zh) | 缓存的管理方法及系统 | |
CN109285043A (zh) | 一种产品模块化的配置方法、终端设备及存储介质 | |
CN109614386B (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
CN111459737A (zh) | 问题定位方法、装置、计算机设备及存储介质 | |
CN107463374B (zh) | 一种基于继承和关联自动推演的子集模型抽取方法及系统 | |
CN106598687A (zh) | 一种脚本预热方法和装置 | |
CN108694219B (zh) | 一种数据处理方法及装置 | |
CN111985750A (zh) | 一种业务流程管理系统 | |
CN107888696A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181211 |