CN112181979A - 一种数据更新方法、装置、存储介质及电子设备 - Google Patents
一种数据更新方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN112181979A CN112181979A CN202010927867.7A CN202010927867A CN112181979A CN 112181979 A CN112181979 A CN 112181979A CN 202010927867 A CN202010927867 A CN 202010927867A CN 112181979 A CN112181979 A CN 112181979A
- Authority
- CN
- China
- Prior art keywords
- data
- source
- updated
- data source
- changed
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 82
- 230000008859 change Effects 0.000 claims abstract description 56
- 238000004590 computer program Methods 0.000 claims description 17
- 230000001419 dependent effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 10
- 230000006872 improvement Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 230000005012 migration Effects 0.000 description 5
- 238000013508 migration Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书公开了一种数据更新方法、装置、存储介质及电子设备,本说明书实施例根据分布式***接收第一数据宽表依赖的任一数据源发送的数据变更消息。在数据源依赖关系复杂、数据量大、实时更新多的情况下,通过所述数据变更消息确定主数据源中与所述发生变更的数据对应的数据作为待更新数据,并确定待更新数据的主键。在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据,更新所述第一数据宽表,保证在关系复杂的数据源中快速的找到变更数据源所变更的数据,优先更新重要数据,用多个线程来加快更新的速度,并变更快速的更新到宽表中,有效提高数据的更新效率。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及一种数据更新方法、装置、存储介质及电子设备。
背景技术
随着互联网技术的不断发展,很多基于互联网的服务应运而生。
在搜索服务中,当数据量较大且有实时变更的情况下,将不同来源和存储类型的数据整合在宽表中,可以增加搜索引擎的搜索效率。
如何将所有数据源的数据变更快速的更新到宽表中,以及如何在关系复杂的数据源中快速的找到变更数据源所变更的数据,是所有数据更新***需要面对的一个亟待解决的问题。
发明内容
本说明书实施例提供一种数据更新方法、装置、存储介质及电子设备,以部分解决上述现有技术存在的问题。
本说明书实施例采用下述技术方案:
本说明书提供的一种数据更新方法,分布式***用于维护第一数据宽表,所述第一数据宽表依赖于至少一个数据源,所述至少一个数据源包括主数据源和非主数据源,包括:
针对所述第一数据宽表依赖的任一数据源,所述分布式***接收该数据源发送的数据变更消息,其中,所述数据变更消息是该数据源中的数据在发生变更时发送的;
根据所述数据变更消息,确定该数据源中发生变更的数据的主键;
根据所述发生变更的数据的主键,确定所述主数据源中与所述发生变更的数据对应的数据,作为待更新数据;
确定所述主数据源中所述待更新数据的主键;
在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据;
根据所述待更新数据的主键以及获取到的数据,更新所述第一数据宽表。
可选地,所述分布式***预先订阅所述至少一个数据源的数据变更消息;
所述分布式***接收该数据源发送的数据变更消息,具体包括:
所述分布式***接收订阅的该数据源发送的数据变更消息。
可选地,确定所述主数据源中与所述发生变更的数据对应的数据,具体包括:
在所述主数据源中,确定与所述发生变更的数据的主键具有关联关系的数据,作为所述主数据源中与所述发生变更的数据对应的数据。
可选地,在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据,具体包括:
根据所述发生变更的数据所在的数据源的优先级,将所述待更新数据的主键加入到所述优先级的队列中;
针对各队列,根据该队列的优先级,在所述第一数据宽表依赖的各数据源中,获取该队列中的主键对应的数据。
可选地,将所述待更新数据的主键加入到所述优先级的队列中之前,所述方法还包括:
确定所述优先级的队列中不存在所述待更新数据的主键。
可选地,在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据,具体包括:
根据所述待更新数据的主键,确定所述待更新数据的主键对应的线程;
通过确定的所述线程,在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据。
可选地,所述根据所述待更新数据的主键以及获取到的数据,更新所述第一数据宽表,具体包括:
根据所述待更新数据的主键以及获取到的数据,以当前时间为所述待更新数据的主键对应的数据的时间戳更新所述第一数据宽表。
可选地,当所述主数据源发生变更时,所述第一数据宽表为新建的数据宽表,所述方法还包括:
获取所述所有数据源中未发生变更的数据,以开始获取所述所有数据源中未发生变更的数据的时间为所有数据源数据的时间戳更新所述第一数据宽表。
可选地,当所述非主数据源发生变更时,所述第一数据宽表为基于第二数据宽表的快照创建的数据宽表,所述方法还包括:
将发生变更的非主数据源作为变更数据源,并从所述变更数据源中,获取未发生变更的数据,作为离线数据;
以开始获取所述离线数据的时间为所述变更数据源的数据的时间戳更新所述第一数据宽表。
本说明书提供的一种数据更新装置,所述装置用于维护第一数据宽表,所述第一数据宽表依赖于至少一个数据源,所述至少一个数据源包括主数据源和非主数据源;所述装置包括:
接收模块,用于针对所述第一数据宽表依赖的任一数据源,接收该数据源发送的数据变更消息,其中,所述数据变更消息是该数据源中的数据在发生变更时发送的;
第一确定模块,用于根据所述数据变更消息,确定该数据源中发生变更的数据的主键;
第二确定模块,用于根据所述发生变更的数据的主键,确定所述主数据源中与所述发生变更的数据对应的数据,作为待更新数据,确定所述主数据源中所述待更新数据的主键;
获取模块,用于在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据;
更新模块,用于根据所述待更新数据的主键以及获取到的数据,更新所述第一数据宽表。
本说明书提供的一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据更新方法。
本说明书提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的数据更新方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
本说明书实施例通过分布式***进行数据更新,以提高数据量较大、实时更新较多时数据更新的效率,进一步的,根据分布式***接收第一数据宽表依赖的任一数据源发送的数据变更消息,通过所述数据变更消息确定主数据源中与所述发生变更的数据对应的数据作为待更新数据,并确定待更新数据的主键,在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据,更新所述第一数据宽表,保证在数据源依赖关系复杂的数据源中快速的找到变更数据源所变更的数据,并变更快速的更新到宽表中,有效提高数据的更新效率。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书实施例提供的简单的搜索服务的***框架示意图;
图2为本说明书实施例提供的由数据宽表支撑搜索引擎的***框架示意图;
图3为本说明书实施例提供的数据更新流程示意图;
图4为本说明书实施例提供的主数据源变更数据更新流程示意图;
图5为本说明书实施例提供的非主数据源变更数据更新流程示意图;
图6为本说明书实施例提供的数据更新装置结构示意图;
图7为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为理论上可行的简单的提供搜索服务的***框架。在图1所示***中,终端将用户输入的关键词发送给搜索引擎,搜索引擎可直接从各数据源中搜索与该关键词相关的数据。
但是,在实际应用场景中,如果由搜索引擎直接从数据源中搜索数据,则会导致搜索效率较低,不能满足实时性较高的搜索业务需求,因此,目前大多采用由数据宽表支撑搜索引擎的方法,如图2所示。
图2为由数据宽表支撑搜索引擎的***框架。在图2中,可预先将各数据源的数据整合在数据宽表中,当搜索引擎接收到关键词时,直接在该数据宽表中搜索数据,可提高搜索效率。
由图2所示的***可见,数据宽表中的数据来源于各数据源,因此,数据宽表依赖于各数据源。而且,由于不同的搜索业务的侧重点也有所不同,因此,各数据源中的数据的重要程度也不同。可将较为重要的数据所在的数据源设置为主数据源,其他数据源设置为非主数据源。主数据源和非主数据源的设置可根据需要进行设置。
在上述如图2的***框架下,本说明书实施例提供了由一种分布式***进行数据更新的方法,如图3所示。
图3为本说明书实施例提供的数据更新流程示意图,包括:
S300:针对所述第一数据宽表依赖的任一数据源,所述分布式***接收该数据源发送的数据变更消息,其中,所述数据变更消息是该数据源中的数据在发生变更时发送的。
在本说明书实施例中,用于支撑搜索引擎的第一数据宽表可由分布式***进行维护。分布式***可预先订阅该数据宽表所依赖的各数据源的数据变更消息,当数据源的数据发生变更时,数据源向分布式***发送其订阅的数据变更消息。数据变更消息包括二进制日志(Binlog)、消息队列(Message Queue,MQ)等,数据变更消息中包括发生变更的数据所在的数据源名称及变更信息,变更信息可包括该数据变更后的值、该数据在该数据源中的主键等。
S302:根据所述数据变更消息,确定该数据源中发生变更的数据的主键。
在一个数据源中,主键是数据的唯一标识,不能有重复,不允许为空,主键只能有一个。若同一个数据或同一个数据中的同一个字段存在于不同的数据源中,则该数据在不同的数据源中的主键可能不同。
表1
表2
如上述表1和表2所示,数据源A中的数据由商户号码和商户名这两个字段构成,商户号码为数据源A中数据的主键,数据源B中的数据由订单号、订单金额和商户名这三个字段构成,订单号为数据源B中数据的主键。而对于商户名这一字段来说,虽然商户名“甲”同时存在于数据源A和数据源B中,但其所在的数据在数据源A和数据源B中对应的主键并不相同。
若数据源A中的第一条数据发生变更,具体将商户名“甲”变更为“丙”,则数据源A向分布式***发送相应的数据变更消息。
若该数据变更消息中包括了变更后的商户名“丙”及其对应的主键“100”,则在步骤S302中,分布式***可直接根据该数据变更消息确定数据源A中发生变更的数据的主键为“100”。若该变更消息中只包括变更后的商户名“丙”,则分布式***可在数据源A查询变更后的商户名“丙”所在的数据的主键,查询结果仍然是“100”。
S304:根据所述发生变更的数据的主键,确定所述主数据源中与所述发生变更的数据对应的数据,作为待更新数据。
在实际应用场景中,数据源的主键和其他数据源之间存在关联关系。在第一数据宽表对应的配置文件中记载着第一数据宽表所依赖的各数据源之间的关联关系。可以根据这种关联关系,确定发生变更的数据在其所在的数据源中的主键在主数据源中对应的数据,具体的,可以确定发生变更的数据在其所在的数据源中的主键在主数据源中所对应的字段。
如上述表1、表2所示,设置数据源B为主数据源。配置文件中的数据由订单号、订单金额、数据源B中的商户名和数据源A中的商户号码这四个字段构成。而由于如表1和表2所示的数据源A和数据源B中均包含“商户名”这一字段,因此,数据源A和数据源B之间的关联关系即为:若数据源A和数据源B中的不同数据的商户名相同,那么这两个数据具有关联关系。
若数据源A中的第一条数据发生变更,具体将商户名“甲”变更为“丙”,分布式***根据该数据变更消息确定数据源A中发生变更的数据的主键为“100”。根据上述的数据源A和数据源B之间的关联关系,可以得到主数据源中(数据源B)与数据源A中主键为100的数据相关联的数据包括:数据源B的前两条数据。也就是数据源A中的商户名“甲”对应数据源B中的商户名“甲”,字段中的值相同,由数据源A中的商户名“甲”得到数据源B中关于商户名“甲”的两条数据,这两条数据就是待更新数据。
S306:确定所述主数据源中所述待更新数据的主键。
当确定主数据源中的待更新数据,可以得到主数据源中所述待更新数据的主键。
如上述表1、表2所示,确定了数据源B中的前两条数据为待更新数据后,可确定待更新数据在数据源B中的主键分别为“100”和“101”。
S308:在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据。
主数据源的主键和其他数据源之间有着关联关系,可以根据这种关联关系确定主数据源中待更新数据的主键在各数据源中对应的数据,也就是说,确定了主数据源中待更新数据的主键,就可以根据关联关系获取各数据源中与该主键相关联的数据。
其中,在实际应用场景中,数据量较大且有实时更新的时候,所占用的分布式***的***资源也会较大,因此,在本说明书实施例中,通过上述步骤S304确定待更新数据的主键后,可根据所述发生变更的数据所在的数据源的优先级,将所述待更新数据的主键加入到所述优先级的队列中。例如,所述优先级队列可分为优先队列、普通队列以及低级别队列。按照先处理优先队列、再处理普通队列、最后处理低级别队列的顺序,在所述第一数据宽表依赖的各数据源中,获取相应队列中的主键对应的各数据源中的数据。
需要说明的是,在将待更新数据的主键加入到发生变更的数据所在的数据源的优先级对应的队列中之前,需要先确定所述优先级的队列中不存在所述待更新数据的主键。也即,在将待更新数据的主键加入到优先级队列时,需要对该优先级队列中的各主键去重,也就是说,当优先级队列中存在多个相同的主键,只保留最新加入的主键。
在数据量较大且有实时更新的时候,为了提高数据更新的速度,在分布式***中用多个线程来加快更新的速度,因此,在本说明书实施例中,根据所述待更新数据的主键,确定所述待更新数据的主键对应的线程。所述根据所述待更新数据的主键,是通过确定所述待更新数据的主键的哈希值来分配对应的线程,不同的哈希值对应不同的线程,确保线程资源不会浪费。通过所述线程,在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据。
需要说明的是,若通过线程成功获取数据,则在上述的优先级队列中删除所述待更新数据的主键;若通过线程未成功获取数据,则可仍然保持上述优先级队列中所述待更新数据的主键。
在数据量较大且有实时更新的时候,分布式***可根据实际应用场景将上述两种方式分开或者结合使用。
S310:根据所述待更新数据的主键以及获取到的数据,更新所述第一数据宽表。
表3
在本说明书实施例中,可预先设置第一数据宽表的配置文件,由配置文件来规定第一数据宽表中的数据结构,即,由配置文件规定第一数据宽表中数据的每个字段的来源,如表3所示。
在表3中,配置文件规定了第一数据宽表中数据的各字段分别来源于数据源B的订单号、数据源B的订单金额、数据源B中的商户名和数据源A中的商户号码。
根据数据源之间的关联关系,获取到待更新数据对应的主键在所有数据源中对应的数据后,则可根据获取到的数据对第一数据宽表进行更新。
如表3中,待更新数据的主键为数据源B中的“100”和“101”,则步骤S308中可从所有数据源中获取与数据源B中“100”和“101”相关联的数据,再根据配置文件中所规定的第一数据宽表中数据的数据结构,更新第一数据宽表中相应的数据。
具体的,在更新第一数据宽表时,可根据所述待更新数据的主键以及获取到的数据,以当前时间为所述待更新数据的主键对应的数据的时间戳更新所述第一数据宽表,所述当前时间是根据所述待更新数据的主键开始获取数据的时间。
通过上述方法,一方面通过所述数据变更消息确定主数据源中与所述发生变更的数据对应的数据作为待更新数据,并确定待更新数据的主键,在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据。保证了在关系复杂的数据源中快速的找到变更数据源所变更的数据,另一方面根据所述发生变更的数据所在的数据源的优先级,将所述待更新数据的主键加入到所述优先级的队列中,在优先级队列中,根据所述待更新数据的主键,确定所述待更新数据的主键对应的线程,通过确定的所述线程,在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据。保证了在数据量较大的情况下优先更新较为重要的数据,用多个线程来加快更新的速度,也就是说,可保证在关系复杂的数据源中快速的找到变更数据源所变更的数据,在数据量较大且有实时更新的时候,优先更新较为重要的数据,并用多个线程来加快更新的速度,并变更快速的更新到第一数据宽表中,有效提高数据的更新效率。
上述的第一数据宽表可以用于支持搜索引擎,并通过上述的更新方法,使得第一数据宽表中的数据及时的更新,以使搜索引擎搜索到的数据尽量准确。而在本说明书的另一实施例中,上述的第一数据宽表还可以是新建的数据宽表,用于替代原有的数据宽表,下面将原有的数据宽表称为第二数据宽表。
具体的,先由第二数据宽表支持搜索引擎的搜索业务,而当第二数据宽表所依赖的数据源发生变更时,可新建第一数据宽表。由于新建的第一数据宽表用于替代原有的第二数据宽表,因此,第一数据宽表一方面要采用上述图3所示的方法更新并存储增量数据(即,更新后的数据),另一方面又要将第二数据宽表中原有的数据迁移至第一数据宽表中,待迁移完毕后,可由第一数据宽表支持搜索引擎,第二数据宽表则可弃用。因此,此时的分布式***中至少有两个数据宽表,分别为上述的第一数据宽表、第二数据宽表。
上述已经说明了第一数据宽表如何实时的更新并存储增量数据的方法,下面对将第二数据宽表中原有的数据迁移至第一数据宽表的方法进行说明。
在本说明书实施例中,当所述主数据源发生变更时,所述第一数据宽表为新建的数据宽表,获取所述所有数据源中未发生变更的数据,以开始获取所述所有数据源中未发生变更的数据的时间为所有数据源数据的时间戳更新所述第一数据宽表。需要说明的是,将第二数据宽表中原有的数据迁移至第一数据宽表的过程与实时更新第一数据宽表中的增量数据的过程可以同时进行,如图4所示。
S402:分布式***根据所述待更新数据的主键,从数据源中获取与所述待更新数据的主键对应的数据。
S404:根据所述待更新数据的主键,从数据源中获取与所述待更新数据的主键对应的数据,以当前时间为所述待更新数据的主键对应的数据的时间戳更新所述第一数据宽表。
其中,步骤S402~S404为实时更新第一数据宽表的增量数据的简要过程,具体过程与图3一致,这里就不再一一赘述。
S406:获取所述所有数据源中未发生变更的数据。
S408:以开始获取所述所有数据源中未发生变更的数据的时间为所有数据源数据的时间戳更新所述第一数据宽表。
步骤S402~S404为将第二数据宽表中原有的数据迁移到第一数据宽表的过程。
当主数据源发生变更时,第二数据宽表中可能出现数据结构上较大的变更,第二数据宽表中的数据可能会出现错误,无法继续使用,因此,第一数据宽表可以是一个新建的空表。由于第一数据宽表用于替代原有的第二数据宽表,而第二数据宽表中原有的数据已经由于主数据源发生变更而无法使用,因此,数据迁移并不是将第二数据宽表中原有的数据直接迁移到第一数据宽表中,而是由分布式***确定主数据源中所有数据的主键,在所有数据源中,获取与主数据源的所有数据的主键对应的未发生变更的数据(即,非增量数据),并根据获取到的数据更新第一数据宽表,也即,将获取到的数据迁移到第一数据宽表中。新建的第一数据宽表采用上述图3所示的方法更新并存储增量数据(即,更新后的数据),其中,图4所示的数据迁移过程与图3所示的实时更新过程可同步进行,以时间戳作为更新第一数据宽表的依据,避免出现数据更新的时间上的冲突。增量数据的更新以数据更新至第一数据宽表的时间为时间戳为准。主数据源的所有数据的主键对应的数据以开始获取主数据源的主键对应的数据的时间戳为准。
需要说明的是,获取数据源中的大量数据往往需要离线导入,不能在离线导入数据源数据的同时进行数据的更新,而本说明书实施例中第二数据宽表中原有的数据迁移至第一数据宽表的过程与实时更新第一数据宽表中的增量数据的过程可以同时进行,避免了数据更新的暂停,提高了数据更新的速度。
在本说明书实施例中,当所述非主数据源发生变更时,所述第一数据宽表可以为基于第二数据宽表的快照创建的数据宽表,将发生变更的非主数据源作为变更数据源,并从所述变更数据源中,获取未发生变更的数据,作为离线数据,以开始获取所述离线数据的时间为所述变更数据源的数据的时间戳更新所述第一数据宽表,需要说明的是,从所述变更数据源中获取离线数据更新第一数据宽表的过程与实时更新第一数据宽表中的增量数据的过程可以同时进行,如图5所示。
在图5中,第二数据宽表指的是正在使用中状态的数据宽表,也就是说第二数据宽表中存储原有数据,以及实时的更新并存储增量数据。
S502:基于第二数据宽表的快照创建第一数据宽表。
S504:将发生变更的非主数据源作为变更数据源,并从所述变更数据源中,获取未发生变更的数据,作为离线数据。
S506:以开始获取所述离线数据的时间为所述变更数据源的数据的时间戳更新所述第一数据宽表。
步骤S502~S506是从所述变更数据源中获取离线数据更新第一数据宽表的过程。
S508:根据所述待更新数据的主键,从数据源中获取与所述待更新数据的主键对应的数据。
S510:根据所述待更新数据的主键,从数据源中获取与所述待更新数据的主键对应的数据,以当前时间为所述待更新数据的主键对应的数据的时间戳更新所述第一数据宽表。
其中,步骤S508~S510为实时更新第一数据宽表的增量数据的简要过程,具体过程与图3一致,这里就不再一一赘述。
当非主数据源发生变更时,第二数据宽表中原有的数据不需要进行大幅度的更新,第二数据宽表中不会出现数据结构上较大的变更,可以继续使用。因此,分布式***可基于第二数据宽表的快照创建第一数据宽表,提高了数据更新的时间,避免了资源的浪费。分布式***实时更新第一数据宽表的增量数据的同时,也实时更新第二数据宽表的增量数据,第一数据宽表在离线数据更新时无法支持搜索引擎的搜索业务,因此,在第一数据宽表离线数据更新过程中,需要第二数据宽表支持搜索引擎的搜索业务。当第一数据宽表离线数据更新的过程出现错误,可基于第二数据宽表的快照重新创建第一数据宽表,在重新创建第一数据宽表的过程中,虽然第一数据宽表的增量数据可能丢失,但是第二数据宽表实时更新的增量数据与第一数据宽表实时更新的增量数据相同,因此,当基于第二数据宽表的快照创建第一数据宽表时,避免了重新创建第一数据宽表的过程中增量数据的丢失。
分布式***将发生变更的非主数据源作为变更数据源,并从所述变更数据源中,获取未发生变更的数据,作为离线数据。也就是说,分布式***确定变更数据源(即,发生变更的非主数据源)中所有数据的主键,在变更数据源中,获取与变更数据源中所有数据的主键对应的未发生变更的数据(即,非增量数据),并根据获取到的数据更新第一数据宽表。其中,图5所示的数据迁移过程与图3所示的实时更新过程可同步进行,以时间戳作为数据更新的依据,更新第一数据宽表,避免出现数据更新的时间上的冲突。增量数据的更新以数据更新至第一数据宽表的时间为时间戳为准。变更数据源中所有数据的主键对应的数据以开始获取所述离线数据的时间为所述变更数据源的数据的时间戳为准。
需要说明的是,当所述图5所示的数据迁移过程完毕后,停止更新第二数据宽表,可由第一数据宽表支持搜索引擎,第二数据宽表则可弃用。
采用上述方式,在数据源发生变更时,不需要进入离线状态更新数据,可同时进行离线数据的导入和数据宽表的实时更新,节约了大量的时间,避免业务上的损失,通过将数据源发生变更的情况分为主数据源变更和非主数据源变更,主数据源发生变更时,在所有数据源中,获取与主数据源的所有数据的主键对应的数据,更新第一数据宽表,非主数据源发生变更时,基于第二数据宽表的快照创建第一数据宽表,获取与变更数据源中所有数据的主键对应的数据,更新第一数据宽表,不需要获取所有的数据源中未发生变更的数据,避免了浪费资源,进一步的提高了数据更新的效率。
以上为本说明书实施例提供的数据更新方法,基于同样的思路,本说明书还提供了相应的装置、存储介质和电子设备。
图6为本说明书实施例提供的一种数据更新装置的结构示意图,所述装置用于维护第一数据宽表,所述第一数据宽表依赖于至少一个数据源,所述至少一个数据源包括主数据源和非主数据源,所述装置包括:
接收模块602,用于针对所述第一数据宽表依赖的任一数据源,接收该数据源发送的数据变更消息,其中,所述数据变更消息是该数据源中的数据在发生变更时发送的;
第一确定模块604,用于根据所述数据变更消息,确定该数据源中发生变更的数据的主键;
第二确定模块606,用于根据所述发生变更的数据的主键,确定所述主数据源中与所述发生变更的数据对应的数据,作为待更新数据,确定所述主数据源中所述待更新数据的主键;
获取模块608,用于在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据;
更新模块610,用于根据所述待更新数据的主键以及获取到的数据,更新所述第一数据宽表。
可选地,所述接收模块602具体用于,所述分布式***预先订阅所述至少一个数据源的数据变更消息,所述分布式***接收订阅的该数据源发送的数据变更消息。
可选地,所述第二确定模块606具体用于,在所述主数据源中,确定与所述发生变更的数据的主键具有关联关系的数据,作为所述主数据源中与所述发生变更的数据对应的数据。
可选地,所述获取模块608具体用于,根据所述发生变更的数据所在的数据源的优先级,将所述待更新数据的主键加入到所述优先级的队列中,针对各队列,根据该队列的优先级,在所述第一数据宽表依赖的各数据源中,获取该队列中的主键对应的数据。
可选地,所述获取模块608还用于,根据所述发生变更的数据所在的数据源的优先级,将所述待更新数据的主键加入到所述优先级的队列中,针对各队列,根据该队列的优先级,在所述第一数据宽表依赖的各数据源中,获取该队列中的主键对应的数据。将所述待更新数据的主键加入到所述优先级的队列中之前,确定所述优先级的队列中不存在所述待更新数据的主键。
可选地,所述获取模块608还用于,根据所述待更新数据的主键,确定所述待更新数据的主键对应的线程,通过确定的所述线程,在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据。
可选地,所述获取模块608还用于,当所述主数据源发生变更时,所述第一数据宽表为新建的数据宽表,获取所述所有数据源中未发生变更的数据。
可选地,所述获取模块608还用于,当所述非主数据源发生变更时,所述第一数据宽表为基于第二数据宽表的快照创建的数据宽表,将发生变更的非主数据源作为变更数据源,并从所述变更数据源中,获取未发生变更的数据,作为离线数据。
可选地,所述更新模块610具体用于,根据所述待更新数据的主键以及获取到的数据,以当前时间为所述待更新数据的主键对应的数据的时间戳更新所述第一数据宽表。
可选地,所述更新模块610具体用于,根据获取所述所有数据源中未发生变更的数据,以开始获取所述所有数据源中未发生变更的数据的时间为所有数据源数据的时间戳更新所述第一数据宽表。
可选地,所述更新模块610具体用于,根据获取所述离线数据,以开始获取所述离线数据的时间为所述变更数据源的数据的时间戳更新所述第一数据宽表。
本说明书还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可用于执行上述图1提供的数据更新方法。
基于图3所示的数据更新方法,本说明书实施例还提供了图7所示的电子设备的结构示意图。如图7,在硬件层面,该无人设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图3所述的数据更新方法。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、***、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、***或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (12)
1.一种数据更新方法,其特征在于,分布式***用于维护第一数据宽表,所述第一数据宽表依赖于至少一个数据源,所述至少一个数据源包括主数据源和非主数据源,所述方法包括:
针对所述第一数据宽表依赖的任一数据源,所述分布式***接收该数据源发送的数据变更消息,其中,所述数据变更消息是该数据源中的数据在发生变更时发送的;
根据所述数据变更消息,确定该数据源中发生变更的数据的主键;
根据所述发生变更的数据的主键,确定所述主数据源中与所述发生变更的数据对应的数据,作为待更新数据;
确定所述主数据源中所述待更新数据的主键;
在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据;
根据所述待更新数据的主键以及获取到的数据,更新所述第一数据宽表。
2.如权利要求1所述的方法,其特征在于,所述分布式***预先订阅所述至少一个数据源的数据变更消息;
所述分布式***接收该数据源发送的数据变更消息,具体包括:
所述分布式***接收订阅的该数据源发送的数据变更消息。
3.如权利要求1所述的方法,其特征在于,确定所述主数据源中与所述发生变更的数据对应的数据,具体包括:
在所述主数据源中,确定与所述发生变更的数据的主键具有关联关系的数据,作为所述主数据源中与所述发生变更的数据对应的数据。
4.如权利要求1所述的方法,其特征在于,在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据,具体包括:
根据所述发生变更的数据所在的数据源的优先级,将所述待更新数据的主键加入到所述优先级的队列中;
针对各队列,根据该队列的优先级,在所述第一数据宽表依赖的各数据源中,获取该队列中的主键对应的数据。
5.如权利要求4所述的方法,其特征在于,将所述待更新数据的主键加入到所述优先级的队列中之前,所述方法还包括:
确定所述优先级的队列中不存在所述待更新数据的主键。
6.如权利要求1所述的方法,其特征在于,在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据,具体包括:
根据所述待更新数据的主键,确定所述待更新数据的主键对应的线程;
通过确定的所述线程,在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据。
7.如权利要求1所述的方法,其特征在于,所述根据所述待更新数据的主键以及获取到的数据,更新所述第一数据宽表,具体包括:
根据所述待更新数据的主键以及获取到的数据,以当前时间为所述待更新数据的主键对应的数据的时间戳更新所述第一数据宽表。
8.如权利要求1所述的方法,其特征在于,当所述主数据源发生变更时,所述第一数据宽表为新建的数据宽表,所述方法还包括:
获取所述所有数据源中未发生变更的数据,以开始获取所述所有数据源中未发生变更的数据的时间为所有数据源数据的时间戳更新所述第一数据宽表。
9.根据权利要求1所述的方法,其特征在于,当所述非主数据源发生变更时,所述第一数据宽表为基于第二数据宽表的快照创建的数据宽表,所述方法还包括:
将发生变更的非主数据源作为变更数据源,并从所述变更数据源中,获取未发生变更的数据,作为离线数据;
以开始获取所述离线数据的时间为所述变更数据源的数据的时间戳更新所述第一数据宽表。
10.一种数据更新装置,其特征在于,所述装置用于维护第一数据宽表,所述第一数据宽表依赖于至少一个数据源,所述至少一个数据源包括主数据源和非主数据源;所述装置包括:
接收模块,用于针对所述第一数据宽表依赖的任一数据源,接收该数据源发送的数据变更消息,其中,所述数据变更消息是该数据源中的数据在发生变更时发送的;
第一确定模块,用于根据所述数据变更消息,确定该数据源中发生变更的数据的主键;
第二确定模块,用于根据所述发生变更的数据的主键,确定所述主数据源中与所述发生变更的数据对应的数据,作为待更新数据,确定所述主数据源中所述待更新数据的主键;
获取模块,用于在所述第一数据宽表依赖的各数据源中,获取与所述待更新数据的主键对应的数据;
更新模块,用于根据所述待更新数据的主键以及获取到的数据,更新所述第一数据宽表。
11.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-9任一项所述的方法。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010927867.7A CN112181979B (zh) | 2020-09-07 | 2020-09-07 | 一种数据更新方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010927867.7A CN112181979B (zh) | 2020-09-07 | 2020-09-07 | 一种数据更新方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181979A true CN112181979A (zh) | 2021-01-05 |
CN112181979B CN112181979B (zh) | 2024-05-24 |
Family
ID=73924898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010927867.7A Active CN112181979B (zh) | 2020-09-07 | 2020-09-07 | 一种数据更新方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181979B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704265A (zh) * | 2021-08-31 | 2021-11-26 | 上海华力集成电路制造有限公司 | 一种数据维护方法、***、电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6446089B1 (en) * | 1997-02-26 | 2002-09-03 | Siebel Systems, Inc. | Method of using a cache to determine the visibility to a remote database client of a plurality of database transactions |
US20090083341A1 (en) * | 2007-09-21 | 2009-03-26 | International Business Machines Corporation | Ensuring that the archival data deleted in relational source table is already stored in relational target table |
CN105320680A (zh) * | 2014-07-15 | 2016-02-10 | ***通信集团公司 | 一种数据同步方法及装置 |
CN107229721A (zh) * | 2017-06-02 | 2017-10-03 | 泰华智慧产业集团股份有限公司 | 一种变更数据抽取的方法及装置 |
CN109189835A (zh) * | 2018-08-21 | 2019-01-11 | 北京京东尚科信息技术有限公司 | 实时生成数据宽表的方法和装置 |
CN110209677A (zh) * | 2018-02-06 | 2019-09-06 | 北京京东尚科信息技术有限公司 | 更新数据的方法和装置 |
-
2020
- 2020-09-07 CN CN202010927867.7A patent/CN112181979B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6446089B1 (en) * | 1997-02-26 | 2002-09-03 | Siebel Systems, Inc. | Method of using a cache to determine the visibility to a remote database client of a plurality of database transactions |
US20090083341A1 (en) * | 2007-09-21 | 2009-03-26 | International Business Machines Corporation | Ensuring that the archival data deleted in relational source table is already stored in relational target table |
CN105320680A (zh) * | 2014-07-15 | 2016-02-10 | ***通信集团公司 | 一种数据同步方法及装置 |
CN107229721A (zh) * | 2017-06-02 | 2017-10-03 | 泰华智慧产业集团股份有限公司 | 一种变更数据抽取的方法及装置 |
CN110209677A (zh) * | 2018-02-06 | 2019-09-06 | 北京京东尚科信息技术有限公司 | 更新数据的方法和装置 |
CN109189835A (zh) * | 2018-08-21 | 2019-01-11 | 北京京东尚科信息技术有限公司 | 实时生成数据宽表的方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704265A (zh) * | 2021-08-31 | 2021-11-26 | 上海华力集成电路制造有限公司 | 一种数据维护方法、***、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112181979B (zh) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107450979B (zh) | 一种区块链共识方法及装置 | |
CN108418851B (zh) | 策略发布***、方法、装置及设备 | |
CN107391527B (zh) | 一种基于区块链的数据处理方法及设备 | |
CN110875935B (zh) | 消息发布、处理、订阅方法、装置及*** | |
CN107038041B (zh) | 数据处理方法、错误码动态兼容方法、装置和*** | |
CN108268289B (zh) | web应用的参数配置方法、装置及*** | |
CN108848244B (zh) | 一种分页显示的方法及装置 | |
CN112597013A (zh) | 一种在线开发以及调试方法及装置 | |
CN108304455B (zh) | 一种处理业务请求的方法、装置及设备 | |
CN111459724A (zh) | 节点切换方法、装置、设备及计算机可读存储介质 | |
CN111930530A (zh) | 一种基于物联网的设备消息处理方法、装置及介质 | |
CN111273965B (zh) | 一种容器应用启动方法、***、装置及电子设备 | |
CN115617799A (zh) | 一种数据存储的方法、装置、设备及存储介质 | |
CN107451204B (zh) | 一种数据查询方法、装置及设备 | |
CN108595315B (zh) | 一种日志采集方法、装置及设备 | |
CN112181979A (zh) | 一种数据更新方法、装置、存储介质及电子设备 | |
CN109446271B (zh) | 一种数据同步方法、装置、设备及介质 | |
CN110083602B (zh) | 一种基于hive表的数据存储及数据处理的方法及装置 | |
CN110022351B (zh) | 一种业务请求的处理方法和装置 | |
CN111597200A (zh) | 数据处理方法、装置及存储介质 | |
CN110908429A (zh) | 一种定时器操作方法及装置 | |
CN114625410A (zh) | 一种请求消息处理方法、装置及设备 | |
CN112596780A (zh) | 一种业务执行的方法以及装置 | |
CN110633321B (zh) | 一种数据的同步方法、装置及设备 | |
CN111796864A (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 |