CN109597819B - 用于更新数据库的方法和装置 - Google Patents

用于更新数据库的方法和装置 Download PDF

Info

Publication number
CN109597819B
CN109597819B CN201811495138.8A CN201811495138A CN109597819B CN 109597819 B CN109597819 B CN 109597819B CN 201811495138 A CN201811495138 A CN 201811495138A CN 109597819 B CN109597819 B CN 109597819B
Authority
CN
China
Prior art keywords
data record
target database
record set
database
processed
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.)
Active
Application number
CN201811495138.8A
Other languages
English (en)
Other versions
CN109597819A (zh
Inventor
李村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Volcano Engine Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201811495138.8A priority Critical patent/CN109597819B/zh
Publication of CN109597819A publication Critical patent/CN109597819A/zh
Application granted granted Critical
Publication of CN109597819B publication Critical patent/CN109597819B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了用于更新数据库的方法和装置。该方法的一具体实施方式包括:获取待处理数据记录集;获取目标数据库当前包含的数据记录,得到当前数据记录集;对当前数据记录集和待处理数据记录集执行预设的聚合操作,得到聚合结果;执行如下的替换操作:使用得到的聚合结果替换目标数据库中的数据记录,得到更新后的目标数据库;确定替换操作是否执行成功;响应于确定替换操作未执行成功,将得到的更新后的目标数据库确定为目标数据库,继续执行替换操作。该实施方式保证了对目标数据库的正确更新。

Description

用于更新数据库的方法和装置
技术领域
本申请实施例涉及计算机技术领域,具体涉及用于更新数据库的方法和装置。
背景技术
数据库是目前常用的一种数据存储方式。在得到新的数据记录之后,通常需要对数据库中的数据记录进行更新。一般地,在利用得到的数据记录对数据库进行更新时,将数据记录和数据库中的数据记录进行相应的聚合操作,以实现对数据库的更新。由于在对数据库的更新过程中,可能会出现更新失败、系统故障等问题,从而导致更新后的数据库中的数据记录不正确。
发明内容
本申请实施例提出了用于更新数据库的方法和装置。
第一方面,本申请实施例提供了一种用于更新数据库的方法,该方法包括:获取待处理数据记录集;获取目标数据库当前包含的数据记录,得到当前数据记录集;对当前数据记录集和待处理数据记录集执行预设的聚合操作,得到聚合结果;执行如下的替换操作:使用得到的聚合结果替换目标数据库中的数据记录,得到更新后的目标数据库;确定替换操作是否执行成功;响应于确定替换操作未执行成功,将得到的更新后的目标数据库确定为目标数据库,继续执行替换操作。
在一些实施例中,上述替换操作还包括:响应于确定替换操作执行成功,输出用于提示对待处理数据记录集已处理完成的提示信息。
在一些实施例中,在输出用于提示对待处理数据记录集已处理完成的提示信息之后,用于更新数据库的方法还包括:获取新的待处理数据记录集;利用新的待处理数据记录集对最新得到的更新后的目标数据库进行更新。
在一些实施例中,目标数据库为非关系型数据库。
在一些实施例中,在对当前数据记录集和待处理数据记录集执行预设的聚合操作,得到聚合结果之后,用于更新数据库的方法还包括:存储聚合结果。
第二方面,本申请实施例提供了一种用于更新数据库的装置,该装置包括:获取单元,被配置成获取待处理数据记录集;获取单元,进一步被配置成获取目标数据库当前包含的数据记录,得到当前数据记录集;执行单元,被配置成对当前数据记录集和待处理数据记录集执行预设的聚合操作,得到聚合结果;更新单元,被配置成执行如下的替换操作:使用得到的聚合结果替换目标数据库中的数据记录,得到更新后的目标数据库;确定替换操作是否执行成功;更新单元进一步被配置成响应于确定替换操作未执行成功,将得到的更新后的目标数据库确定为目标数据库,继续执行替换操作。
在一些实施例中,更新单元进一步被配置成:响应于确定替换操作执行成功,输出用于提示对待处理数据记录集已处理完成的提示信息。
在一些实施例中,上述获取单元进一步被配置成:获取新的待处理数据记录集;更新单元进一步被配置成利用新的待处理数据记录集对最新得到的更新后的目标数据库进行更新。
在一些实施例中,目标数据库为非关系型数据库。
在一些实施例中,上述装置还包括:存储单元,被配置成存储聚合结果。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本申请实施例提供的用于更新数据库的方法和装置,通过获取待处理数据记录集;获取目标数据库当前包含的数据记录,得到当前数据记录集;对当前数据记录集和待处理数据记录集执行预设的聚合操作,得到聚合结果;执行如下的替换操作:使用得到的聚合结果替换目标数据库中的数据记录,得到更新后的目标数据库;确定替换操作是否执行成功;响应于确定替换操作未执行成功,将得到的更新后的目标数据库确定为目标数据库,继续执行替换操作,从而保证对目标数据库的正确更新。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的用于更新数据库的方法的一个实施例的流程图;
图3是根据本申请实施例的用于更新数据库的方法的一个应用场景的示意图;
图4是根据本申请的用于更新数据库的方法的又一个实施例的流程图;
图5是根据本申请的用于更新数据库的装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于更新数据库的方法或用于更新数据库的装置的实施例的示例性架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种客户端应用。例如网页浏览器应用、数据库类应用、数据管理类应用等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是为终端设备101、102、103所安装的客户端应用提供数据服务的数据库服务器。数据库服务器可以具备数据库管理功能。例如,可以利用终端设备101、102、103发送的待处理数据记录集对目标数据库进行更新。
需要说明的是,本申请实施例所提供的用于更新数据库的方法一般由服务器105执行,相应地,用于更新数据库的装置一般设置于服务器105中。
还需要指出的是,终端设备101、102、103中也可以安装有目标数据库。此时,终端设备101、102、103可以利用待处理数据记录集对目标数据库进行更新。此时,用于更新数据库的方法也可以由终端设备101、102、103执行,相应地,用于更新数据库的装置也可以设置于终端设备101、102、103中。此时,示例性系统架构100可以不存在服务器105和网络104。
需要说明的是,服务器可以是硬件,也可以是软件。服务器可以有一台或多台计算机和数据库管理系统软件共同构成。在此不做具体限定。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,其示出了根据本申请的用于更新数据库的方法的一个实施例的流程200。该用于更新数据库的方法包括以下步骤:
步骤201,获取待处理数据记录集。
在本实施例中,数据记录可以指数据库中的一行信息的一组完整的相关信息。数据记录可以用于记录数据库中的一条完整的记录。用于更新数据库的方法的执行主体(如图1所示的服务器105)可以通过有线连接或无线连接的方式从本地或其他数据源获取待处理数据记录集。
步骤202,获取目标数据库当前包含的数据记录,得到当前数据记录集。
在本实施例中,可以通过查询数据库获取到目标数据库当前包含的数据记录。
步骤203,对当前数据记录集和待处理数据记录集执行预设的聚合操作,得到聚合结果。
在本实施例中,每条数据记录可以有对应的关键字。每条数据记录可以包含分别对应于至少一个字段的数据。待处理数据记录集中可能存在有待处理数据记录的关键字与当前数据记录集中的某个数据记录的关键字相同。当然,待处理数据记录集中也可能存在有待处理数据记录的关键字与当前数据记录集中的各条数据记录的关键字均不相同。
聚合操作可以用于对待处理数据记录集和当前数据记录集中的各条数据记录进行计算。对于待处理数据记录集中的待处理数据,若该条待处理数据的关键字与当前数据记录集中的某个数据记录的关键字相同,那么聚合操作可以用于将这两条具有相同关键字的数据记录对应字段的数据分别进行预设计算,从而将这两条数据记录合并为一条数据记录。对于待处理数据记录集中的待处理数据,若该条数据记录的关键字与当前数据记录集中的各条数据记录的关键字均不相同,则将该条数据记录作为目标数据库的一条新的数据记录。
其中,预设的聚合操作可以由技术人员根据实际的应用场景而设置。不同的聚合操作可以对相同关键字的两条数据记录对应字段的数据执行不同的计算。计算可以包括但不限于:平均值、总和、最小、最大、计数等。
其中,平均值可以指计算对应字段的数据的平均值。总和可以指计算对应字段的数据的总和。最小可以指确定对应字段的数据中的最小值。最大可以指确定对应字段的数据中的最大值。计数可以指对数据记录进行计数,即出现一条相同关键字的数据记录,就将数据记录的各个字段的数据加一。
举例来说,目标数据库包含的数据记录对应两个字段:用户访问量和用户点击量。目标数据库当前包含两条数据记录,关键字分别为页面“A”和页面“B”。其中,页面“A”的用户访问量为200,用户点击量为120。页面“B”的用户访问量为500,用户点击量为300。待处理数据记录集包含两条数据记录,关键字分别为页面“A”和页面“C”。其中,页面“A”的用户访问量为100,用户点击量为80。页面“C”的用户访问量为300,用户点击量为160。预设的聚合操作对于具有相同关键字的两条数据记录对应字段的数据进行总和计算。那么,目标数据库当前包含的数据记录和待处理数据记录集执行预设的聚合操作后,得到的聚合结果包含三条数据记录,关键字分别为页面“A”,页面“B”,页面“C”。其中,页面A的用户访问量为300,用户点击量为200。页面“B”的用户访问量为500,用户点击量为300。页面“C”的用户访问量为300,用户点击量为160。
在本实施例的一些可选的实现方式中,在得到聚合结果之后,可以存储聚合结果。在之后目标数据库出现故障时,可以利用聚合结果对目标数据库进行恢复操作。
步骤204,执行如下的替换操作:使用得到的聚合结果替换目标数据库中的数据记录,得到更新后的目标数据库;确定替换操作是否执行成功。
在本实施例中,在得到当前数据记录集和待处理数据记录集的聚合结果之后,可以用得到的聚合结果替换目标数据库中的数据记录,以对目标数据库进行更新。
由于对数据库的任何操作都可能因系统问题、数据库的问题、读写的问题而出现操作失败的情况。此时,数据库中的数据记录可能不正确。因此,在用得到的聚合结果替换目标数据库中的数据记录之后,可以进一步确定替换操作是否执行成功。
可选地,目标数据库在更新过程中,可以记录更新日志。此时,可以通过查看更新日志确定替换操作是否执行成功。
可选地,目标数据库在更新失败时,可以提示替换操作未执行成功的提示信息。此时,可以通过接收到的提示信息确定替换操作是否执行成功。
步骤205,响应于确定替换操作未执行成功,将得到的更新后的目标数据库确定为目标数据库,继续执行替换操作。
在本实施例中,若替换操作未执行成功,则可以用上述得到的聚合结果再次替换失败更新后的目标数据库中的数据记录。若替换操作一直失败,则可以一直反复用上述得到的聚合结果替换最新的目标数据库中的数据记录,直至确定替换操作执行成功。
在本实施例的一些可选的实现方式中,响应于确定替换操作执行成功,输出用于提示对待处理数据记录集已处理完成的提示信息。
在本实施例的一些可选的实现方式中,目标数据库可以为关系型数据库,也可以为非关系型数据库。
一般地,关系型数据库具有数据库事务的一致性,从而可以保证数据库中的数据记录的一致性。但是,对于非关系型数据库来说,非关系型数据库不具备数据库事务的一致性。
在非关系型数据库更新失败时,一种方式是重做更新操作。由于在更新失败时,非关系型数据库中的数据记录可能有一部分数据记录已经更新成功,另一部分数据记录未更新成功。在此基础上,再重做更新操作,就会使得已更新成功的数据记录会被重复更新两次,从而导致这部分数据记录不正确。另一种方式是不再做更新操作,这样就相当于丢弃掉了未更新成功的数据记录,从而导致数据库中的数据记录与实际不符。
在本实施例中,在数据库更新失败时,反复采用聚合结果完整替换数据库中的数据记录的方式,可以避免对数据记录的重复计算,也可以避免丢失数据记录,从而可以有效的保证非关系型数据库的数据记录的正确性。
继续参见图3,图3是根据本实施例的用于更新数据库的方法的应用场景的一个示意图300。在图3的应用场景中,可以先获取待处理数据记录集301。如图中所示,待处理数据记录集301包含两条数据记录。其中一条数据记录的关键字为页面A,访问量为300。另一条数据记录的关键字为页面B,访问量为200。
之后,可以获取目标数据库当前包含的数据记录,得到当前数据记录集302。如图中所示,当前数据记录集302包含两条数据记录。其中一条数据记录的关键字为页面A,访问量为200。另一条数据记录的关键字为页面C,访问量为400。
然后,可以对待处理数据记录集301和当前数据记录集302执行预设的聚合操作。对于具有相同关键字页面A的数据记录,计算对应字段的总和。对于新的关键字页面B,可以作为目标数据库的一条新的数据记录,从而可以得到聚合结果303。
如图中所示,聚合结果303包含三条数据记录。一条数据记录的关键字为页面A,访问量为500,一条数据记录的关键字为页面B,访问量为200,一条数据记录的关键字为页面C,访问量为400。
之后,可以使用聚合结果303替换目标数据库中的数据记录,得到更新后的目标数据库。更新后的目标数据库对应的数据记录集如图中标号302`所示,包含两条数据记录。由于本次替换操作未执行成功,即对目标数据库更新失败。
此时,可以再次使用聚合结果303替换更新后的目标数据库中的数据记录,从而得到二次更新后的目标数据库。二次更新后的目标数据库对应的数据记录集如图中标号302``所示。可以看出,本次替换操作执行成功,从而对目标数据库也实现了成功更新。
本申请的上述实施例提供的方法采用待处理数据记录集和目标数据库的当前数据记录集的聚合结果整体替换目标数据库中的数据记录的方式对目标数据库进行更新。在替换操作未执行成功时,则再次利用聚合结果替换当前最新的目标数据库中的数据记录。这种方式通过整体替换的方式保证了目标数据库的正确更新。
进一步参考图4,其示出了用于更新数据库的方法的又一个实施例的流程400。该用于更新数据库的方法的流程400,包括以下步骤:
步骤401,获取待处理数据记录集。
步骤402,获取目标数据库当前包含的数据记录,得到当前数据记录集。
步骤403,对当前数据记录集和待处理数据记录集执行预设的聚合操作,得到聚合结果。
步骤404,执行如下的替换操作:使用得到的聚合结果替换目标数据库中的数据记录,得到更新后的目标数据库;确定替换操作是否执行成功。
步骤405,响应于确定替换操作未执行成功,将得到的更新后的目标数据库确定为目标数据库,继续执行替换操作。
上述步骤401-405的具体的执行过程可参考图2对应实施例中的步骤201-205的相关说明,在此不再赘述。
步骤406,响应于确定替换操作执行成功,输出用于提示对待处理数据记录集已处理完成的提示信息;获取新的待处理数据记录集;利用新的待处理数据记录集对最新得到的更新后的目标数据库进行更新。
在本实施例中,在对待处理数据记录集处理完成之后,可以继续从本地或第三方数据源获取新的数据记录集对最新替换操作执行成功后的目标数据库进行更新。
更新方式和上述利用待处理数据记录更新目标数据库的过程类似地,通过先计算新的数据记录集和最新的更新后的目标数据库的当前数据记录集的聚合结果,并利用聚合结果一次或多次替换最新更新后的目标数据库中的数据记录,直至确定替换操作执行成功。
这种方式保证了在对两个或两个以上的数据记录集进行处理时,只有利用前一个数据记录集正确更新目标数据库之后,才会处理下一个数据记录集,从而进一步保证对目标数据库的正确更新。
从图4中可以看出,与图2对应的实施例相比,本实施例中的用于更新数据库的方法的流程400突出了只有在确定利用待处理数据记录集正确更新目标数据库之后,才获取新的数据记录集对正确更新后的目标数据库继续进行更新,以保证目标数据库的正确更新。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了用于更新数据库的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例提供的用于更新数据库的装置500包括获取单元501、执行单元502和更新单元503。
在本实施例中,用于更新数据库的装置500中:获取单元501、执行单元502和更新单元503的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201、步骤202和步骤203的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,上述更新单元503进一步被配置成:响应于确定替换操作执行成功,输出用于提示对待处理数据记录集已处理完成的提示信息。
在本实施例的一些可选的实现方式中,上述获取单元501进一步被配置成:获取新的待处理数据记录集;更新单元进一步被配置成利用新的待处理数据记录集对最新得到的更新后的目标数据库进行更新。
在本实施例的一些可选的实现方式中,目标数据库为非关系型数据库。
在本实施例的一些可选的实现方式中,用于更新数据库的装置500还包括:存储单元(图中未示出),被配置成存储聚合结果。
本申请的上述实施例提供的装置,通过获取单元获取待处理数据记录集;获取目标数据库当前包含的数据记录,得到当前数据记录集;执行单元对当前数据记录集和待处理数据记录集执行预设的聚合操作,得到聚合结果;更新单元执行如下的替换操作:使用得到的聚合结果替换目标数据库中的数据记录,得到更新后的目标数据库;确定替换操作是否执行成功;响应于确定替换操作未执行成功,将得到的更新后的目标数据库确定为目标数据库,继续执行替换操作,从而保证对目标数据库的成功更新。
下面参考图6,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器,包括获取单元、执行单元和更新单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取待处理数据记录集的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取待处理数据记录集;获取目标数据库当前包含的数据记录,得到当前数据记录集;对当前数据记录集和待处理数据记录集执行预设的聚合操作,得到聚合结果;执行如下的替换操作:使用得到的聚合结果替换目标数据库中的数据记录,得到更新后的目标数据库;确定替换操作是否执行成功;响应于确定替换操作未执行成功,将得到的更新后的目标数据库确定为目标数据库,继续执行替换操作。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种用于更新数据库的方法,包括:
获取待处理数据记录集;
获取目标数据库当前包含的数据记录,得到当前数据记录集;
对当前数据记录集和待处理数据记录集执行预设的聚合操作,得到聚合结果,其中,所述聚合结果包括当前数据记录集和待处理数据记录集组成的数据记录集,且组成的数据记录集中具有相同关键字的数据记录通过预设计算合并为一条数据记录;
执行如下的替换操作:使用得到的聚合结果替换目标数据库中的数据记录,得到更新后的目标数据库;确定替换操作是否执行成功;
响应于确定替换操作未执行成功,将得到的更新后的目标数据库确定为目标数据库,继续执行替换操作。
2.根据权利要求1所述的方法,其中,所述替换操作还包括:
响应于确定替换操作执行成功,输出用于提示对所述待处理数据记录集已处理完成的提示信息。
3.根据权利要求2所述的方法,其中,在所述输出用于提示对所述待处理数据记录集已处理完成的提示信息之后,所述方法还包括:
获取新的待处理数据记录集;
利用新的待处理数据记录集对最新得到的更新后的目标数据库进行更新。
4.根据权利要求1所述的方法,其中,目标数据库为非关系型数据库。
5.根据权利要求1所述的方法,其中,在所述对当前数据记录集和待处理数据记录集执行预设的聚合操作,得到聚合结果之后,所述方法还包括:
存储所述聚合结果。
6.一种用于更新数据库的装置,包括:
获取单元,被配置成获取待处理数据记录集;
所述获取单元,进一步被配置成获取目标数据库当前包含的数据记录,得到当前数据记录集;
执行单元,被配置成对当前数据记录集和待处理数据记录集执行预设的聚合操作,得到聚合结果,其中,所述聚合结果包括当前数据记录集和待处理数据记录集组成的数据记录集,且组成的数据记录集中具有相同关键字的数据记录通过预设计算合并为一条数据记录;
更新单元,被配置成执行如下的替换操作:使用得到的聚合结果替换目标数据库中的数据记录,得到更新后的目标数据库;确定替换操作是否执行成功;
所述更新单元进一步被配置成响应于确定替换操作未执行成功,将得到的更新后的目标数据库确定为目标数据库,继续执行替换操作。
7.根据权利要求6所述的装置,其中,所述更新单元进一步被配置成:
响应于确定替换操作执行成功,输出用于提示对所述待处理数据记录集已处理完成的提示信息。
8.根据权利要求7所述的装置,其中,所述获取单元进一步被配置成:
获取新的待处理数据记录集;
所述更新单元进一步被配置成利用新的待处理数据记录集对最新得到的更新后的目标数据库进行更新。
9.根据权利要求6所述的装置,其中,目标数据库为非关系型数据库。
10.根据权利要求6所述的装置,其中,所述装置还包括:
存储单元,被配置成存储所述聚合结果。
11.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。
CN201811495138.8A 2018-12-07 2018-12-07 用于更新数据库的方法和装置 Active CN109597819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811495138.8A CN109597819B (zh) 2018-12-07 2018-12-07 用于更新数据库的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811495138.8A CN109597819B (zh) 2018-12-07 2018-12-07 用于更新数据库的方法和装置

Publications (2)

Publication Number Publication Date
CN109597819A CN109597819A (zh) 2019-04-09
CN109597819B true CN109597819B (zh) 2020-12-18

Family

ID=65962310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811495138.8A Active CN109597819B (zh) 2018-12-07 2018-12-07 用于更新数据库的方法和装置

Country Status (1)

Country Link
CN (1) CN109597819B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111259023B (zh) * 2020-01-13 2023-04-07 泰康保险集团股份有限公司 一种数据调度方法、装置、电子设备及存储介质
CN113034254B (zh) * 2021-03-19 2024-05-14 北京字跳网络技术有限公司 数据处理方法、装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902818A (zh) * 2012-10-26 2013-01-30 杭州迪普科技有限公司 一种数据库升级的方法及装置
CN104573052A (zh) * 2015-01-21 2015-04-29 浪潮电子信息产业股份有限公司 一种基于Oracle ASM更换存储的方法
CN106331132A (zh) * 2016-08-31 2017-01-11 天津南大通用数据技术股份有限公司 一种分布式数据库中节点的替换方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473239B (zh) * 2012-06-08 2016-12-21 腾讯科技(深圳)有限公司 一种非关系型数据库数据更新方法和装置
CN106682017B (zh) * 2015-11-09 2020-07-31 阿里巴巴(中国)有限公司 一种数据库更新方法及装置
JP6834715B2 (ja) * 2017-04-05 2021-02-24 富士通株式会社 更新処理プログラム、装置、及び方法
CN107368513B (zh) * 2017-04-25 2020-08-14 阿里巴巴集团控股有限公司 客户端数据库更新的方法及装置
CN107958071A (zh) * 2017-12-06 2018-04-24 北京锐安科技有限公司 业务系统数据更新的方法、装置、设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902818A (zh) * 2012-10-26 2013-01-30 杭州迪普科技有限公司 一种数据库升级的方法及装置
CN104573052A (zh) * 2015-01-21 2015-04-29 浪潮电子信息产业股份有限公司 一种基于Oracle ASM更换存储的方法
CN106331132A (zh) * 2016-08-31 2017-01-11 天津南大通用数据技术股份有限公司 一种分布式数据库中节点的替换方法及装置

Also Published As

Publication number Publication date
CN109597819A (zh) 2019-04-09

Similar Documents

Publication Publication Date Title
EP3726779A1 (en) Device for testing blockchain network
CN108846753B (zh) 用于处理数据的方法和装置
US10877962B2 (en) Deferred update of database hashcode in blockchain
CN111427971B (zh) 用于计算机系统的业务建模方法、装置、系统和介质
US20200286014A1 (en) Information updating method and device
CN108011949B (zh) 用于获取数据的方法和装置
US20170177696A1 (en) Usage of modeled validations on mobile devices in online and offline scenarios
CN109299124B (zh) 用于更新模型的方法和装置
CN109597819B (zh) 用于更新数据库的方法和装置
CN110737655B (zh) 用于上报数据的方法和装置
CN107291835B (zh) 一种搜索词的推荐方法和装置
CN109885564B (zh) 用于发送信息的方法和装置
CN107291923B (zh) 信息处理方法和装置
US11023361B1 (en) Intelligent automated way of baselining integration content using messages from historical tests to be used for regression testing
CN110795259A (zh) 一种分析应用崩溃的方法和装置
CN112084114B (zh) 用于测试接口的方法和装置
CN112148762A (zh) 一种实时数据流的统计方法和装置
CN108628909B (zh) 信息推送方法和装置
CN110930097A (zh) 一种盘点后确认商品库存的方法及装置
CN110765148A (zh) 一种业务数据处理方法及装置
CN113726885B (zh) 一种流量配额的调整方法和装置
CN114428815A (zh) 数据存储方法、装置、电子设备和计算机可读介质
CN113806312A (zh) 文件处理方法、装置、电子设备和存储介质
CN111460273B (zh) 信息推送方法和装置
CN114496139A (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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20230712

Address after: 100190 1309, 13th floor, building 4, Zijin Digital Park, Haidian District, Beijing

Patentee after: Beijing volcano Engine Technology Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Douyin Vision Co.,Ltd.

TR01 Transfer of patent right