CN112579698B - 数据同步方法、装置、网关设备及存储介质 - Google Patents
数据同步方法、装置、网关设备及存储介质 Download PDFInfo
- Publication number
- CN112579698B CN112579698B CN202011413801.2A CN202011413801A CN112579698B CN 112579698 B CN112579698 B CN 112579698B CN 202011413801 A CN202011413801 A CN 202011413801A CN 112579698 B CN112579698 B CN 112579698B
- Authority
- CN
- China
- Prior art keywords
- storage medium
- configuration file
- version information
- local cache
- loading
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012544 monitoring process Methods 0.000 claims abstract description 18
- 230000008859 change Effects 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 14
- 230000007246 mechanism Effects 0.000 claims description 10
- 239000000758 substrate Substances 0.000 claims 1
- 238000012545 processing Methods 0.000 description 11
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及一种数据同步方法、装置、网关设备及存储介质,所述方法包括:在本设备启动后,确定第一存储介质中是否存在至少一项微服务对应的配置文件的版本信息;若是,则根据所述第一存储介质中的版本信息加载配置文件至本地缓存,以及启动监听所述第一存储介质;当监听到所述第一存储介质中的数据发生变化时,根据所述第一存储介质中当前的版本信息加载最新的配置文件至本地缓存。由此,可以实现GraphQL网关设备本地缓存中配置文件的即时更新,进而节省GraphQL网关设备的计算资源,增加业务系统的吞吐量。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种数据同步方法、装置、网关设备及存储介质。
背景技术
目前,GraphQL(一种用于API的查询语言)网关设备可在本地缓存中存储业务系统包括的每一微服务的配置文件,比如schema(一种用于描述和规范XML文档的逻辑结构的语言)配置文件,以实现客户端与业务系统之间的通信桥梁。
然而,在现有技术中,GraphQL网关设备为了保证本地缓存中的配置文件能够正常使用,其在每次使用配置文件时,先检查本地缓存中的配置文件的版本号与业务系统数据库中微服务对应的配置文件的版本号是否一致,若不一致,则根据上述数据库中的配置文件更新本地缓存,在此之后才能够正常使用本地缓存中的配置文件。
由此可见,在现有技术中,GraphQL网关设备每次处理任务时都需要检查本地缓存中的配置文件的版本号与业务系统数据库中的配置文件的版本号是否一致,如此则大大浪费了GraphQL网关设备的计算资源,同时,上述方式会阻塞业务进程,从而上述方式应用在全响应式GraphQL数据网关中会使得业务系统的吞吐量降低。
发明内容
鉴于此,为解决现有技术中GraphQL网关设备每次处理任务时都需要检查本地缓存中的配置文件的版本号与业务系统数据库中的微服务对应的配置文件的版本号是否一致大大浪费GraphQL网关设备的计算资源,同时阻塞业务进程,降低业务系统吞吐量的技术问题,本发明实施例提供一种数据同步方法、装置、网关设备及存储介质。
第一方面,本发明实施例提供一种数据同步方法,应用于网关设备,所述方法包括:
在本设备启动后,确定第一存储介质中是否存在至少一项微服务对应的schema配置文件的版本信息;
若确定第一存储介质中存在至少一项微服务对应的配置文件的版本信息,则根据所述第一存储介质中的版本信息加载配置文件至本地缓存,以及启动监听所述第一存储介质;
当监听到所述第一存储介质中的数据发生变化时,根据所述第一存储介质中当前的版本信息加载最新的配置文件至本地缓存。
在一个可能的实施方式中,所述方法还包括:
若确定所述第一存储介质中不存在微服务对应的配置文件的版本信息,则遍历业务数据库中的配置文件;
将遍历到的配置文件加载至本地缓存,并将遍历到的配置文件的版本信息存储至所述第一存储介质,以及启动监听所述第一存储介质。
在一个可能的实施方式中,所述方法还包括:
在设定周期到达时,针对所述业务数据库中的每一条行记录,在所述第一存储介质中查找所述行记录中的版本信息;
若在所述第一存储介质中未查找到所述行记录中的版本信息,则将所述行记录中的版本信息存储至所述第一存储介质。
在一个可能的实施方式中,所述根据第一存储介质中的版本信息加载配置文件至本地缓存,包括:
以所述第一存储介质中的版本信息为第一关键字查找第二存储介质;
若在所述第二存储介质中查找到包含所述第一关键字的目标键值对,则加载所述目标键值对中的配置文件至本地缓存;
若在所述第二存储介质中未查找到包含所述第一关键字的目标键值对,则继续以所述第一关键字查找所述业务数据库;
加载所述业务数据库中与所述第一关键字对应的配置文件至本地缓存,以及将所述版本信息和与所述第一关键字对应的配置文件以键值对形式存储至所述第二存储介质。
在一个可能的实施方式中,所述根据第一存储介质中当前的版本信息加载最新的配置文件至本地缓存,包括:
在本地缓存中查找所述第一存储介质中的版本信息;
若在本地缓存中未查找到所述第一存储介质中的版本信息,则将所述版本信息确定为目标版本信息;
根据所述目标版本信息加载配置文件至本地缓存。
在一个可能的实施方式中,所述根据目标版本信息加载配置文件至本地缓存,包括:
以所述目标版本信息为第二关键字查找第二存储介质;
若在所述第二存储介质中查找到包含所述第二关键字的目标键值对,则加载所述目标键值对中的配置文件至本地缓存;
若在所述第二存储介质中未查找到包含所述第二关键字的目标键值对,则继续以所述第二关键字查找所述业务数据库;
加载所述业务数据库中与所述第二关键字对应的配置文件至本地缓存,以及将所述目标版本信息和与所述第二关键字对应的配置文件以键值对形式存储至所述第二存储介质。
在一个可能的实施方式中,所述第一存储介质为基于ZooKeeper服务机制实现的分布式文件存储系统;
所述第二存储介质为redis缓存。
第二方面,本发明实施例提供一种数据同步装置,应用于网关设备,所述装置包括:
第一确定模块,用于在本设备启动后,确定第一存储介质中是否存在至少一项微服务对应的配置文件的版本信息;
第一加载模块,用于若确定第一存储介质中存在至少一项微服务对应的配置文件的版本信息,则根据所述第一存储介质中的版本信息加载配置文件至本地缓存;
监听模块,用于启动监听所述第一存储介质;
第二加载模块,用于当监听到所述第一存储介质中的数据发生变化时,根据所述第一存储介质中当前的版本信息加载最新的配置文件至本地缓存。
在一个可能的实施方式中,所述装置还包括:
遍历模块,用于若确定所述第一存储介质中不存在微服务对应的schema配置文件的版本信息,则遍历业务数据库中的配置文件;
第三加载模块,用于将遍历到的配置文件加载至本地缓存;
第一存储模块,用于将遍历到的配置文件的版本信息存储至所述第一存储介质。
在一个可能的实施方式中,所述装置还包括:
查找模块,用于在设定周期到达时,针对所述业务数据库中的每一条行记录,在所述第一存储介质中查找所述行记录中的版本信息;
第二存储模块,用于若在所述第一存储介质中未查找到所述行记录中的版本信息,则将所述行记录中的版本信息存储至所述第一存储介质。
在一个可能的实施方式中,所述第一加载模块根据第一存储介质中的版本信息加载配置文件至本地缓存,包括:
以所述第一存储介质中的版本信息为第一关键字查找第二存储介质;
若在所述第二存储介质中查找到包含所述第一关键字的目标键值对,则加载所述目标键值对中的配置文件至本地缓存;
若在所述第二存储介质中未查找到包含所述第一关键字的目标键值对,则继续以所述第一关键字查找所述业务数据库;
加载所述业务数据库中与所述第一关键字对应的配置文件至本地缓存,以及将所述版本信息和与所述第一关键字对应的配置文件以键值对形式存储至所述第二存储介质。
在一个可能的实施方式中,所述第二加载模块根据第一存储介质中当前的版本信息加载最新的配置文件至本地缓存,包括:
在本地缓存中查找所述第一存储介质中的版本信息;
若在本地缓存中未查找到所述第一存储介质中的版本信息,则将所述版本信息确定为目标版本信息;
根据所述目标版本信息加载配置文件至本地缓存。
在一个可能的实施方式中,所述第二加载模块根据目标版本信息加载schema配置文件至本地缓存,包括:
以所述目标版本信息为第二关键字查找第二存储介质;
若在所述第二存储介质中查找到包含所述第二关键字的目标键值对,则加载所述目标键值对中的配置文件至本地缓存;
若在所述第二存储介质中未查找到包含所述第二关键字的目标键值对,则继续以所述第二关键字查找所述业务数据库;
加载所述业务数据库中与所述第二关键字对应的配置文件至本地缓存,以及将所述目标版本信息和与所述第二关键字对应的配置文件以键值对形式存储至所述第二存储介质。
在一个可能的实施方式中,所述第一存储介质为基于ZooKeeper服务机制实现的分布式文件存储系统;
所述第二存储介质为redis缓存。
第三方面,本发明实施例提供一种网关设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的数据同步程序,以实现第一方面中任一项所述的数据同步方法。
第四方面,本发明实施例提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面中任一项所述的数据同步方法。
本发明实施例提供的技术方案,通过在第一存储介质中存储微服务对应的配置文件的版本信息,可以实现GraphQL网关设备在启动后,能够根据第一存储介质中存储的版本信息加载微服务对应的配置文件至本地缓存,进一步地,GraphQL网关设备通过监听第一存储介质,可以实现当第一存储介质中的数据发生变化时,能够及时感知到微服务对应的配置文件的版本发生变化,进而能够根据第一存储介质中当前的版本信息加载最新的配置文件至本地缓存,这就实现了本地缓存中配置文件的即时更新,实现了本地缓存中配置文件的实时可信,如此,GraphQL网关设备在处理任务时,无需再去检查本地缓存中的配置文件是否能够正常使用,大大节省了GraphQL网关设备的计算资源,同时GraphQL网关设备在处理任务时可直接使用本地缓存中的配置文件,从而不阻塞业务进程,可适用于全响应式GraphQL数据网关,能够增加业务系统的吞吐量。
附图说明
图1为本发明提供的数据同步方法的一示例性应用场景示意图;
图2为本发明一示例性实施例提供的一种数据同步方法的实施例流程图;
图3为本发明一示例性实施例提供的另一种数据同步方法的实施例流程图;
图4为本发明一示例性实施例提供的又一种数据同步方法的实施例流程图;
图5为本发明一示例性实施例提供的再一种数据同步方法的实施例流程图;
图6为本发明一示例性实施例提供的一种数据同步装置的实施例框图;
图7为本发明实施例提供的一种的网关设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于理解,下面首先结合附图对本发明提供的数据同步方法的应用场景做出示例性说明,附图所示例的应用场景并不构成对本发明实施例的限定。
参见图1,为本发明提供的数据同步方法的一示例性应用场景示意图。
图1所示应用场景中包括客户端11、GraphQL数据网关12、业务系统13。
作为一个实施例,业务系统13可基于微服务架构实现,也即,业务系统13由一个或多个子业务系统组成,每一子业务系统对应一项微服务,仅专注于完成一项业务。由此可见,各子业务系统独立部署,且各子业务系统之间是松耦合的。进一步地,在该实施例中,业务系统13可维护一个用于存储业务系统13包括的每一项微服务的配置文件的数据库(以下称业务数据库),该配置文件包括但不限于:schema配置文件、属性配置文件等,其中,schema配置文件用于完整地描述微服务所有的API接口,属性配置文件用于完整地描述动态控制微服务运行的参数。在应用中,当需要更新微服务的配置文件时,用户也是在该业务数据库中进行更新的。这里所说的更新包括但不限于:删除、修改、添加。
在应用中,客户端11访问业务系统13时,需通过GraphQL数据网关12,因此GraphQL数据网关12需维护业务系统13包括的每一微服务的配置文件。
进一步地,为了应对大并发的访问请求,通常采用集群机制部署GraphQL数据网关12,也即GraphQL数据网关12可包括多台GraphQL网关设备(图1中仅以一台GraphQL网关设备为例)。在集群机制下,每一台GraphQL网关设备可独立处理任务,因此,每一台GraphQL网关设备都需在本地缓存中存储业务系统13包括的每一微服务的配置文件。
基于图1所示例的应用场景,以schema配置文件为例,在现有技术中,GraphQL网关设备为了保证本地缓存中的schema配置文件能够正常使用,在每次使用schema配置文件时,先检查下本地缓存中的schema配置文件的版本号与上述数据库中的schema配置文件的版本号是否一致,若不一致,则根据上述数据库中的schema配置文件更新本地缓存,在此之后才能够正常使用本地缓存中的schema配置文件。
由此可见,在现有技术中,GraphQL网关设备每次处理任务时都需要检查本地缓存中的配置文件的版本号与上述数据库中的微服务对应的配置文件的版本号是否一致,如此则大大浪费了GraphQL网关设备的计算资源,同时,上述方式会阻塞业务进程,从而上述方式应用在全响应式GraphQL数据网关中会使得业务系统的吞吐量降低。
为解决上述问题,本发明提供一种数据同步方法,以实现GraphQL网关设备本地缓存中的配置文件能够得到即时刷新,使得GraphQL网关设备本地缓存中的配置文件实时可信,如此,GraphQL网关设备在处理任务时,无需再去检查本地缓存中的配置文件是否能够正常使用,大大节省了GraphQL网关设备的计算资源,同时GraphQL网关设备在处理任务时可直接使用本地缓存中的配置文件,从而不阻塞业务进程,可适用于全响应式GraphQL数据网关,能够增加业务系统的吞吐量。
下面结合附图以具体实施例对本发明提供的数据同步方法做进一步的解释说明,实施例并不构成对本发明实施例的限定。
参见图2,为本发明一示例性实施例提供的一种数据同步方法的实施例流程图,作为一个实施例,该方法可应用于图1中所示例的GraphQL数据网关12中任一台GraphQL网关设备上。如图2所示,该方法包括以下步骤:
步骤201、在本设备启动后,确定第一存储介质中是否存在至少一项微服务对应的配置文件的版本信息;若是,则执行步骤202,若否,则执行步骤203。
首先说明,在本发明实施中,以schema配置文件为例进行描述:
作为一个实施例,上述第一存储介质为分布式文件存储系统,该分布式文件存储系统可布设于一台不同于GraphQL网关设备的其他设备上,用于存储每一微服务对应的schema配置文件的版本信息。可以理解的是,在采用集群机制部署GraphQL数据网关的场景下,由于存在多个GraphQL网关设备同时访问的情况,因此应用分布式文件存储系统来存储schema配置文件的版本信息可以实现高响应性和高稳定性。
可选的,该分布式文件存储系统基于ZooKeeper服务机制实现。ZooKeeper是用来协调分布式进程的服务,其提供了一个简单高性能的协调内核,且ZooKeeper提供的接口使得所有的分布式进程的执行都是异步非阻塞的。基于此,当多台网关设备同时访问第一存储介质时,则可实现异步非阻塞式访问,提高访问效率。可选的,上述版本信息包括但不限于微服务的系统简码、该微服务对应的schema配置文件的总版本号,这里所说的总版本号是指:微服务对应的多个schema配置文件的文件版本号之和。由此可见,第一存储介质中的每一条数据对应一项微服务,而一项微服务可对应多个schema配置文件,每一schema配置文件分别具有一个版本号且版本号不一定完全一致。
一个例子,上述第一存储介质中存储有i个微服务对应的schema配置文件的版本信息,具体如下述表1所示:
表1
appcode_1:version_s_1 |
appcode_2:version_s_2 |
appcode_3:version_s_3 |
… |
appcode_i:version_s_i |
上述表1中,appcode_i表示第i个微服务的系统简码,version_s_i表示第i个微服务对应的schema配置文件的总版本号。
步骤202、根据第一存储介质中的版本信息加载配置文件至本地缓存,以及启动监听第一存储介质;执行步骤204。
步骤203、遍历业务数据库中的配置文件,将遍历到的配置文件加载至本地缓存,并将遍历到的配置文件的版本信息存储至所述第一存储介质,以及启动监听第一存储介质。
可选的,上述业务数据库基于MySQL实现。
可选的,上述业务数据库的每一行记录对应一个schema配置文件,可包括以下字段:id(主键)、appcode(系统简码)、config(schema配置文件)、version_s(schema配置文件对应的总版本号)、version(schema配置文件的文件版本号)、created_date(创建日期)、modified_date(修改日期)、delete_status(状态标志)。
需要说明的是,在一些业务领域,比如金融领域中,为保证数据的可追溯性,往往不允许物理删除数据库中的数据,因此,当需要删除数据库中的数据时,可采用逻辑删除的方式,即通过将上述delete_status从0(表示未删除,也即数据有效)置位为1(表示已删除,也即数据无效)的方式删除数据。
基于此,在删除上述数据库中的某一行记录时,将该行记录中的delete_status置位为1即可。可选的,该行记录中的version可保持不变。进一步地,上述总版本号是指:微服务对应的所有有效的,也即delete_status为0的schema配置文件的文件版本号之和。由此可见,当删除上述数据库中的一个或多个行记录时,对应的总版本号会发生变化。
在修改上述数据库中的某一行记录时,先将原行记录逻辑删除,然后新建一条行记录插入数据库中,该新行记录中的version为原行记录中的version+1。由此可见,当修改上述数据库中的一个或多个行记录时,对应的总版本号也会发生变化。
在向数据库中添加一条行记录时(不包括先删除后添加的情况),可将该行记录中的version置为1。由此可见,当在上述数据库中添加一个或多个行记录时,对应的总版本号也会发生变化。
由上述描述可知,当对业务数据库执行删除、修改、添加任一操作时,对应的总版本号都将发生变化,而第一存储介质中存储的正是总版本号,因此,当业务数据库中的数据发生变化时,第一存储介质中的数据也将发生变化,换言之,第一存储介质中的数据发生变化也就意味着业务数据库中的数据发生变化,进一步的,通过监听第一存储介质则可及时感知到业务数据库中的数据发生变化。
步骤204、当监听到第一存储介质中的数据发生变化时,根据第一存储介质中当前的版本信息加载最新的配置文件至本地缓存。
为了便于理解,以下对上述步骤201~204的执行过程进行统一说明:
由图1的相关描述可知,在应用中,GraphQL网关设备通常将schema配置文件存储在本地缓存中,然而GraphQL网关设备在关机后,其本地缓存也会清空。因此,GraphQL网关设备在每次启动后,可执行本发明实施例提供的方法以重新加载各微服务的schema配置文件至本地缓存。
由上述步骤201~203可见,GraphQL网关设备在启动后,首先确定第一存储介质中是否存在至少一项微服务对应的schema配置文件的版本信息,若是,则根据第一存储介质中的版本信息加载对应的schema配置文件至本地缓存。至于是如何根据第一存储介质中的版本信息加载对应的schema配置文件至本地缓存的,在下文中通过图3所示实施例进行描述,这里先不做详述。
若第一存储介质中不存在微服务对应的schema配置文件的版本信息,则遍历业务数据库中的schema配置文件,将遍历到的schema配置文件加载至本地缓存,同时,根据遍历到的schema配置文件将各项微服务对应的schema配置文件的版本信息存储至第一存储介质。
需要注意的是,由上述步骤202~203可见,GraphQL网关设备将启动对第一存储介质的监听,以监听第一存储介质中的数据是否发生变化。结合上述描述可知,当对业务数据库执行删除、修改、添加任一操作时,对应的总版本号都将发生变化,而第一存储介质中存储的正是总版本号,因此,当业务数据库中的数据发生变化时,第一存储介质中的数据也将发生变化,这也就是说,当第一存储介质中的数据发生变化时,意味着业务数据库中的schema配置文件发生变化。在该种情况下,GraphQL网关设备则可及时感知到业务数据库中的schema配置文件发生变化,进而更新本地缓存中的schema配置文件。至于是如何实现第一存储介质与业务数据库同步的,在下文中通过图5所示实施例进行说明,这里先不做详述。
基于此,GraphQL网关设备在监听到第一存储介质中的数据发生变化时,可根据第一存储介质中当前的版本信息加载最新的schema配置文件至本地缓存。如此则可实现GraphQL网关设备本地缓存中的schema配置文件能够得到即时刷新,使得GraphQL网关设备本地缓存中的schema配置文件实时可信。至于是如何根据第一存储介质中当前的版本信息加载最新的schema配置文件至本地缓存的,在下文中通过图4所示实施例进行说明,这里先不做详述。
可选的,若上述第一存储介质为基于ZooKeeper服务机制实现的分布式文件存储系统,监听到第一存储介质中的数据发生变化可为:接收到来自于ZooKeeper的,用于指示数据发生变化的通知消息。
本发明实施例提供的技术方案,通过在第一存储介质中存储微服务对应的配置文件的版本信息,可以实现GraphQL网关设备在启动后,能够根据第一存储介质中存储的版本信息加载微服务对应的配置文件至本地缓存,进一步地,GraphQL网关设备通过监听第一存储介质,可以实现当第一存储介质中的数据发生变化时,能够及时感知到微服务对应的配置文件的版本发生变化,进而能够根据第一存储介质中当前的版本信息加载最新的配置文件至本地缓存,这就实现了本地缓存中配置文件的即时更新,实现了本地缓存中配置文件的实时可信,如此,GraphQL网关设备在处理任务时,无需再去检查本地缓存中的配置文件是否能够正常使用,大大节省了GraphQL网关设备的计算资源,同时GraphQL网关设备在处理任务时可直接使用本地缓存中的配置文件,从而不阻塞业务进程,可适用于全响应式GraphQL数据网关,能够增加业务系统的吞吐量。
参见图3,为本发明一示例性实施例提供的另一种数据同步方法的实施例流程图,该实施例以schema配置文件为例,描述GraphQL网关设备如何根据第一存储介质中的版本信息加载对应的schema配置文件至本地缓存。如图3所示,可包括以下步骤:
步骤301、以第一存储介质中的版本信息为第一关键字查找第二存储介质;若在第二存储介质中查找到包含所述第一关键字的目标键值对,则执行步骤302,若在第二存储介质中未查找到包含所述第一关键字的目标键值对,则执行步骤303。
步骤302、加载所述目标键值对中的schema配置文件至本地缓存。
步骤303、以第一关键字查找所述业务数据库。
步骤304、加载业务数据库中与所述第一关键字对应的schema配置文件至本地缓存。
步骤305、将所述版本信息和与所述第一关键字对应的schema配置文件以键值对形式存储至所述第二存储介质。
为便于理解,以下对步骤301~305进行统一说明:
在应用中,若多台GraphQL网关设备高并发地访问业务数据库(业务系统的数据库)将导致业务系统负载过高,因此本发明实施例提出,在另一存储介质(以下称第二存储介质)上存储各微服务的schema配置文件,多台GraphQL网关设备可通过访问该第二存储介质获得各微服务的schema配置文件。
作为一个实施例,上述第二存储介质为redis缓存,该redis缓存可布设于不同于GraphQL网关设备的其他设备上。可以理解的是,redis缓存可适用于高并发访问场景下。在该实施例中,在第二存储介质中以键值对形式存储schema配置文件,具体的,以上述版本信息为键,以schema配置文件为值。
基于上述描述,GraphQL网关设备在从第一存储介质中获取到版本信息后,可首先以第一存储介质中的版本信息为关键字(以下称第一关键字)查找第二存储介质,若在第二存储介质中查找到包含该第一关键字的键值对(以下称目标键值对),则可直接加载目标键值对中的schema配置文件至本地缓存。
而若在第二存储介质中未查找到包含该第一关键字的目标键值对,则继续以版本信息为第一关键字查找业务数据库,加载业务数据库中与该第一关键字对应的schema配置文件至本地缓存。
此外,为使得后续其他GraphQL网关设备能够直接从第二存储介质中获取到schema配置文件,还可将第一存储介质中的版本信息和上述与第一关键字对应的schema配置文件以键值对形式存储至第二存储介质。
由此可见,当第一台GraphQL网关设备启动后,可通过执行上述步骤301、303~305将各项微服务对应的schema配置文件存储至第二存储介质,如此,之后的每一台GraphQL网关设备在启动后,可通过访问第二存储介质将各项微服务对应的schema配置文件存储至本地缓存,如此可避免多台GraphQL网关设备高并发地访问业务数据库而导致业务系统负载过高的问题。
参见图4,为本发明一示例性实施例提供的又一种数据同步方法的实施例流程图,该实施例仍以schema配置文件为例,描述GraphQL网关设备如何根据第一存储介质中当前的版本信息加载最新的schema配置文件至本地缓存的。如图4所示,可包括以下步骤:
步骤401、在本地缓存中查找第一存储介质中的版本信息。
步骤402、若在本地缓存中未查找到第一存储介质中的版本信息,则将所述版本信息确定为目标版本信息。
作为一个实施例,GraphQL网关设备可在本地缓存中维护本地缓存所存储的各微服务对应的schema配置文件的版本信息。
基于此,则可针对第一存储介质中的每一版本信息,在本地缓存中查找该版本信息。若未查找到该版本信息,则意味着该版本信息对应的schema配置文件已发生变化,从而可将该版本信息确定为目标版本信息,后续加载目标版本信息对应的schema配置文件至本地缓存。
步骤403、以目标版本信息为第二关键字查找第二存储介质;若在第二存储介质中查找到包含所述第二关键字的目标键值对,则执行步骤404,若在第二存储介质中未查找到包含所述第二关键字的目标键值对,则执行步骤405。
步骤404、加载所述目标键值对中的schema配置文件至本地缓存。
步骤405、以第二关键字查找所述业务数据库。
步骤406、加载业务数据库中与所述第二关键字对应的schema配置文件至本地缓存。
步骤403~406描述了如何加载目标版本信息对应的schema配置文件至本地缓存,至于步骤403~步骤406的详细描述,可参见上述步骤301~305的详细描述,这里不再赘述。
步骤407、将所述目标版本信息和与所述第二关键字对应的schema配置文件以键值对形式存储至所述第二存储介质。
由此可见,当第一存储介质中的版本信息发生变化时,GraphQL网关设备可通过执行上述步骤401~406实现将最新的schema配置文件加载至本地缓存,并且第一台GraphQL网关设备可将发生变化的schema配置文件及其版本信息以键值对形式存储至第二存储介质,如此之后的每一台GraphQL网关设备则可通过访问第二存储介质将发生变化的schema配置文件存储至本地缓存,如此可避免多台GraphQL网关设备高并发地访问业务数据库而导致业务系统负载过高的问题。
参见图5,为本发明一示例性实施例提供的再一种数据同步方法的实施例流程图,该实施例用于描述如何实现第一存储介质与业务数据库同步。如图5所示,可包括以下步骤:
步骤501、在设定周期到达时,针对业务数据库中的每一条行记录,在第一存储介质中查找所述行记录中的版本信息。
步骤502、若在第一存储介质中未查找到所述行记录中的版本信息,则将所述行记录中的版本信息存储至第一存储介质。
以下对步骤501~502进行统一说明:
作为一个实施例,可周期性地将第一存储介质与业务数据库进行同步。具体而言,可在每一次的同步过程中,针对业务数据库中的每一条行记录,在第一存储介质中查找该行记录中的版本信息(系统简码+总版本号),如果在第一存储介质中未查找到该版本信息,则意味着该版本信息对应的schema配置文件发生过更新,从而将该版本信息存储至第一存储介质。由此可见,第一存储介质中存储的是最新的schema配置文件的版本信息。
需要说明的是,由于ZooKeeper对于每个节点的数据量大小有限制(通常每个节点的数据量上限为1M),因此,在将版本信息存储至基于ZooKeeper服务机制实现的分布式文件存储系统之前,可先对待存储的版本信息进行数据类型转换,以将字符串类型的版本信息转换成int类型。通过将原本为字符串类型的版本信息转换成int类型可以节省版本信息所占空间。具体的,int类型的系统简码占用24位的存储空间,int类型的版本号占用32位的存储空间,也即,一个版本信息占用56位的存储空间即可,如此,对于数据量上限为1M的节点而言,可存储十万数量级的版本信息。此外,可以理解的是,在执行完步骤502之后,GraphQL网关设备将监听到第一存储介质中的数据发生变化,从而执行上述步骤204,实现本地缓存中schema配置文件的更新。这就实现了一个闭环流程,且该流程独立于业务进程,不会阻塞业务进程的执行。
与前述数据同步方法的实施例相对应,本发明还提供数据同步装置的实施例。
参见图6,为本发明一示例性实施例提供的一种数据同步装置的实施例框图。如图6所示,该装置包括:
第一确定模块61,用于在本设备启动后,确定第一存储介质中是否存在至少一项微服务对应的配置文件的版本信息;
第一加载模块62,用于若第一存储介质中存在至少一项微服务对应的配置文件的版本信息,则根据所述第一存储介质中的版本信息加载配置文件至本地缓存;
监听模块63,用于启动监听所述第一存储介质;
第二加载模块64,用于当监听到所述第一存储介质中的数据发生变化时,根据所述第一存储介质中当前的版本信息加载最新的配置文件至本地缓存。
在一个可能的实施方式中,所述装置还包括(图6未示出):
遍历模块,用于若确定所述第一存储介质中不存在所述版本信息,则遍历业务数据库中的配置文件;
第三加载模块,用于将遍历到的配置文件加载至本地缓存;
第一存储模块,用于将遍历到的配置文件的版本信息存储至所述第一存储介质。
在一个可能的实施方式中,所述装置还包括(图6未示出):
查找模块,用于在设定周期到达时,针对所述业务数据库中的每一条行记录,在所述第一存储介质中查找所述行记录中的版本信息;
第二存储模块,用于若在所述第一存储介质中未查找到所述行记录中的版本信息,则将所述行记录中的版本信息存储至所述第一存储介质。
在一个可能的实施方式中,所述第一加载模块62根据第一存储介质中的版本信息加载配置文件至本地缓存,包括:
以所述第一存储介质中的版本信息为第一关键字查找第二存储介质;
若在所述第二存储介质中查找到包含所述第一关键字的目标键值对,则加载所述目标键值对中的配置文件至本地缓存;
若在所述第二存储介质中未查找到包含所述第一关键字的目标键值对,则继续以所述第一关键字查找所述业务数据库;
加载所述业务数据库中与所述第一关键字对应的配置文件至本地缓存,以及将所述版本信息和与所述第一关键字对应的配置文件以键值对形式存储至所述第二存储介质。
在一个可能的实施方式中,所述第二加载模块64根据第一存储介质中当前的版本信息加载最新的配置文件至本地缓存,包括:
在本地缓存中查找所述第一存储介质中的版本信息;
若在本地缓存中未查找到所述第一存储介质中的版本信息,则将所述版本信息确定为目标版本信息;
根据所述目标版本信息加载配置文件至本地缓存。
在一个可能的实施方式中,所述第二加载模块64根据目标版本信息加载配置文件至本地缓存,包括:
以所述目标版本信息为第二关键字查找第二存储介质;
若在所述第二存储介质中查找到包含所述第二关键字的目标键值对,则加载所述目标键值对中的配置文件至本地缓存;
若在所述第二存储介质中未查找到包含所述第二关键字的目标键值对,则继续以所述第二关键字查找所述业务数据库;
加载所述业务数据库中与所述第二关键字对应的配置文件至本地缓存,以及将所述目标版本信息和与所述第二关键字对应的配置文件以键值对形式存储至所述第二存储介质。
在一个可能的实施方式中,所述第一存储介质为基于ZooKeeper服务机制实现的分布式文件存储系统;
所述第二存储介质为redis缓存。
图7为本发明实施例提供的一种的网关设备的结构示意图,图7所示的网关设备700包括:至少一个处理器701、存储器702、至少一个网络接口704和其他用户接口703。网关设备700中的各个组件通过总线系统705耦合在一起。可理解,总线系统705用于实现这些组件之间的连接通信。总线系统705除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统705。
其中,用户接口703可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器702可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(ProgrammableROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccessMemory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(StaticRAM,SRAM)、动态随机存取存储器(DynamicRAM,DRAM)、同步动态随机存取存储器(SynchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(DoubleDataRateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(EnhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(SynchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambusRAM,DRRAM)。本文描述的存储器702旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器702存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统7021和应用程序7022。
其中,操作系统7021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序7022,包含各种应用程序,例如媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序7022中。
在本发明实施例中,通过调用存储器702存储的程序或指令,具体的,可以是应用程序7022中存储的程序或指令,处理器701用于执行各方法实施例所提供的方法步骤,例如包括:
在本设备启动后,确定第一存储介质中是否存在至少一项微服务对应的配置文件的版本信息;
若是,则根据所述第一存储介质中的版本信息加载配置文件至本地缓存,以及启动监听所述第一存储介质;
当监听到所述第一存储介质中的数据发生变化时,根据所述第一存储介质中当前的版本信息加载最新的配置文件至本地缓存。
上述本发明实施例揭示的方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecific IntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecificIntegratedCircuits,ASIC)、数字信号处理器(DigitalSignalProcessing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(ProgrammableLogicDevice,PLD)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本实施例提供的网关设备可以是如图7中所示的设备,可执行如图1-5中数据同步方法的所有步骤,进而实现图1-5所示数据同步方法的技术效果,具体请参照图1-5相关描述,为简洁描述,在此不作赘述。
本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在GraphQL网关设备侧执行的数据同步方法。
所述处理器用于执行存储器中存储的数据同步程序,以实现以下在GraphQL网关设备侧执行的数据同步方法的步骤:
在本设备启动后,确定第一存储介质中是否存在至少一项微服务对应的配置文件的版本信息;
若是,则根据所述第一存储介质中的版本信息加载配置文件至本地缓存,以及启动监听所述第一存储介质;
当监听到所述第一存储介质中的数据发生变化时,根据所述第一存储介质中当前的版本信息加载最新的配置文件至本地缓存。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种数据同步方法,其特征在于,应用于网关设备,所述方法包括:
在本设备启动后,确定第一存储介质中是否存在至少一项微服务对应的配置文件的版本信息;
若确定第一存储介质中存在至少一项微服务对应的配置文件的版本信息,则根据所述第一存储介质中的版本信息加载配置文件至本地缓存,以及启动监听所述第一存储介质;若确定第一存储介质中不存在微服务对应的配置文件的版本信息,则遍历业务数据库中的配置文件;将遍历到的配置文件加载至本地缓存,并将遍历到的配置文件的版本信息存储至所述第一存储介质,以及启动监听所述第一存储介质;
当监听到所述第一存储介质中的数据发生变化时,根据所述第一存储介质中当前的版本信息加载最新的配置文件至本地缓存;
在本设备处理任务时,直接使用本地缓存中的配置文件;
所述方法还包括:在设定周期到达时,针对所述业务数据库中的每一条行记录,在所述第一存储介质中查找所述行记录中的版本信息;若在所述第一存储介质中未查找到所述行记录中的版本信息,则将所述行记录中的版本信息存储至所述第一存储介质。
2.根据权利要求1所述的方法,其特征在于,根据第一存储介质中的版本信息加载配置文件至本地缓存,包括:
以所述第一存储介质中的版本信息为第一关键字查找第二存储介质;
若在所述第二存储介质中查找到包含所述第一关键字的目标键值对,则加载所述目标键值对中的配置文件至本地缓存;
若在所述第二存储介质中未查找到包含所述第一关键字的目标键值对,则继续以所述第一关键字查找所述业务数据库;
加载所述业务数据库中与所述第一关键字对应的配置文件至本地缓存,以及将所述版本信息和与所述第一关键字对应的配置文件以键值对形式存储至所述第二存储介质。
3.根据权利要求1所述的方法,其特征在于,根据第一存储介质中当前的版本信息加载最新的配置文件至本地缓存,包括:
在本地缓存中查找所述第一存储介质中的版本信息;
若在本地缓存中未查找到所述第一存储介质中的版本信息,则将所述版本信息确定为目标版本信息;
根据所述目标版本信息加载配置文件至本地缓存。
4.根据权利要求3所述的方法,其特征在于,根据目标版本信息加载schema配置文件至本地缓存,包括:
以所述目标版本信息为第二关键字查找第二存储介质;
若在所述第二存储介质中查找到包含所述第二关键字的目标键值对,则加载所述目标键值对中的配置文件至本地缓存;
若在所述第二存储介质中未查找到包含所述第二关键字的目标键值对,则继续以所述第二关键字查找所述业务数据库;
加载所述业务数据库中与所述第二关键字对应的配置文件至本地缓存,以及将所述目标版本信息和与所述第二关键字对应的配置文件以键值对形式存储至所述第二存储介质。
5.根据权利要求2所述的方法,其特征在于,
所述第一存储介质为基于ZooKeeper服务机制实现的分布式文件存储系统;
所述第二存储介质为redis缓存。
6.一种数据同步装置,其特征在于,应用于网关设备,所述装置包括:
第一确定模块,用于在本设备启动后,确定第一存储介质中是否存在至少一项微服务对应的schema配置文件的版本信息;
第一加载模块,用于若确定第一存储介质中存在至少一项微服务对应的配置文件的版本信息,则根据所述第一存储介质中的版本信息加载配置文件至本地缓存;
遍历模块,用于若确定所述第一存储介质中不存在微服务对应的schema配置文件的版本信息,则遍历业务数据库中的配置文件;
第三加载模块,用于将遍历到的配置文件加载至本地缓存;
第一存储模块,用于将遍历到的配置文件的版本信息存储至所述第一存储介质;
监听模块,用于启动监听所述第一存储介质;
第二加载模块,用于当监听到所述第一存储介质中的数据发生变化时,根据所述第一存储介质中当前的版本信息加载最新的配置文件至本地缓存;
查找模块,用于在设定周期到达时,针对所述业务数据库中的每一条行记录,在所述第一存储介质中查找所述行记录中的版本信息;
第二存储模块,用于若在所述第一存储介质中未查找到所述行记录中的版本信息,则将所述行记录中的版本信息存储至所述第一存储介质。
7.一种网关设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的数据同步程序,以实现权利要求1~5中任一项所述的数据同步方法。
8.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1~5任一项所述的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011413801.2A CN112579698B (zh) | 2020-12-02 | 2020-12-02 | 数据同步方法、装置、网关设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011413801.2A CN112579698B (zh) | 2020-12-02 | 2020-12-02 | 数据同步方法、装置、网关设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112579698A CN112579698A (zh) | 2021-03-30 |
CN112579698B true CN112579698B (zh) | 2024-06-18 |
Family
ID=75127437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011413801.2A Active CN112579698B (zh) | 2020-12-02 | 2020-12-02 | 数据同步方法、装置、网关设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579698B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113556349A (zh) * | 2021-07-23 | 2021-10-26 | 海信集团控股股份有限公司 | 一种网关认证方法及装置、电子设备 |
CN113726902B (zh) * | 2021-09-02 | 2023-05-23 | 马上消费金融股份有限公司 | 微服务的调用方法、系统、服务器、设备和存储介质 |
CN114116803A (zh) * | 2021-11-30 | 2022-03-01 | 中国建设银行股份有限公司 | 大数据文件的处理方法、装置、设备及存储介质 |
CN114722125B (zh) * | 2022-04-11 | 2025-01-07 | 京东科技信息技术有限公司 | 数据库事务处理的方法、装置、设备和计算机可读介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111083219A (zh) * | 2019-12-11 | 2020-04-28 | 深信服科技股份有限公司 | 请求处理方法、装置、设备与计算机可读存储介质 |
CN111813576A (zh) * | 2020-07-08 | 2020-10-23 | 北京思特奇信息技术股份有限公司 | 一种基于微服务下的业务服务管理方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10224972B2 (en) * | 2014-09-11 | 2019-03-05 | Giesecke+Devrient Mobile Security America, Inc. | Systems, methods, and computer-readable media for tracking updates and loading data |
CN107133234B (zh) * | 2016-02-29 | 2021-04-27 | 创新先进技术有限公司 | 缓存数据更新的方法、装置及系统 |
WO2017223265A1 (en) * | 2016-06-22 | 2017-12-28 | Nasuni Corporation | Shard-level synchronization of cloud-based data store and local file systems |
CN110633320B (zh) * | 2018-05-30 | 2024-01-12 | 北京京东尚科信息技术有限公司 | 分布式数据服务的处理方法、系统、设备及存储介质 |
CN111885114B (zh) * | 2020-06-29 | 2023-03-24 | 百度在线网络技术(北京)有限公司 | 网关中的应用程序接口模块的升级方法、设备及存储介质 |
-
2020
- 2020-12-02 CN CN202011413801.2A patent/CN112579698B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111083219A (zh) * | 2019-12-11 | 2020-04-28 | 深信服科技股份有限公司 | 请求处理方法、装置、设备与计算机可读存储介质 |
CN111813576A (zh) * | 2020-07-08 | 2020-10-23 | 北京思特奇信息技术股份有限公司 | 一种基于微服务下的业务服务管理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112579698A (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112579698B (zh) | 数据同步方法、装置、网关设备及存储介质 | |
US20120158795A1 (en) | Entity triggers for materialized view maintenance | |
CN108459913B (zh) | 数据并行处理方法、装置及服务器 | |
US11991094B2 (en) | Metadata driven static determination of controller availability | |
CN112765023A (zh) | 测试用例生成方法、装置 | |
US20190258736A1 (en) | Dynamic Execution of ETL Jobs Without Metadata Repository | |
CN114238399A (zh) | 缓存刷新系统、方法、装置、计算机设备和存储介质 | |
CN112930530B (zh) | 用于网络应用程序执行的客户端应用程序 | |
US10599629B2 (en) | Reduced locking in a distributed data store | |
US9213673B2 (en) | Networked applications with client-caching of executable modules | |
US10558502B2 (en) | Software application runtime having dynamic evaluation functions and parameters | |
US10310857B2 (en) | Systems and methods facilitating multi-word atomic operation support for system on chip environments | |
CN115604344B (zh) | 一种微服务的限流方法及装置 | |
US11256607B1 (en) | Adaptive resource management for instantly provisioning test environments via a sandbox service | |
CN116151631A (zh) | 一种业务决策处理系统、一种业务决策处理方法和装置 | |
CN114020709A (zh) | 文件处理方法及装置 | |
US20210109942A1 (en) | Dynamic data service engine/router for content service management | |
CN115114010A (zh) | 服务访问控制方法、装置、电子设备及存储介质 | |
US12132804B2 (en) | Runtime module conversion | |
US11941074B2 (en) | Fetching a query result using a query filter | |
US11494382B2 (en) | Optimization of first set of ordered items | |
CN115080143B (zh) | 页面资源预加载方法、装置、设备及存储介质 | |
CN116719832B (zh) | 数据库并发控制方法和装置、电子设备和存储介质 | |
WO2024187918A1 (zh) | 一种基于RocketMQ的集群配置管理方法及系统 | |
CN112783969B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant after: Jingdong Technology Holding Co.,Ltd. Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant before: Jingdong Digital Technology Holding Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |