CN111143382B - 数据处理方法、系统和计算机可读存储介质 - Google Patents
数据处理方法、系统和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111143382B CN111143382B CN201911292296.8A CN201911292296A CN111143382B CN 111143382 B CN111143382 B CN 111143382B CN 201911292296 A CN201911292296 A CN 201911292296A CN 111143382 B CN111143382 B CN 111143382B
- Authority
- CN
- China
- Prior art keywords
- service
- metadata
- child node
- database
- instruction
- 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
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/2365—Ensuring data consistency and integrity
-
- 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
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)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据处理方法、系统和计算机可读存储介质,涉及集群的数据处理领域。该方法应用于分布式数据处理系统的第一服务,包括:多个具有缓存的服务分别在分布式应用程序协调组件的根节点下注册各自的子节点;当第一服务接收到元数据修改请求时,发送第一修改指令至数据库,使数据库修改第一元数据信息;依据数据库中修改后的第一元数据信息更新第一服务缓存;向其他服务的子节点发送第一元数据调整指令,当其他服务通过监听到各自对应的子节点获得第一元数据调整指令时更新各自缓存。第一服务接收元数据修改请求并发送第一修改指令至数据库,使数据库将第一元数据信息进行更新,第一服务将缓存中对应的元数据进行更新,提高数据处理效率。
Description
技术领域
本发明涉及集群的数据处理领域,具体而言,涉及一种数据处理方法、系统和计算机可读存储介质。
背景技术
在网站创立初期,一般都使用单台机器提供集中式服务,但随着业务量越来越大,无论性能还是稳定性上都有了更大的挑战。为了提供更好的服务:一般会把多台机器组成一个集群对外提供服务。当前大多数的互联网系统都使用了服务器集群技术,如网络应用服务器集群、数据库服务器集群、分布式缓存服务器集群等。
在集群中,为了提高数据处理效率,通常需要将常用的数据进行缓存,一种现有技术方案是:将元数据存储到Zookeeper中,当Zookeeper节点中的元数据发生变化时,各个不同的服务从各自对应的Zookeeper节点中同步数据;显而易见的是,将元数据存储到Zookeeper节点中,维护难度大且不变查看和显示,读取数据的速度慢。另一种现有技术方案是:当需要读取元数据时,先从缓存中读取,如果缓存中没有该条数据再查询原始元数据库,并定期从原始元数据库中读取全量的元数据以便更新缓存;显然,其不能保证每次从缓存中拿到的数据和原始数据库是一致的,且缓存更新时间难以确定。因此,为了提高数据处理的效率,在元数据变化时,如何实现数据缓存的同步更新是目前亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种数据处理方法、系统和计算机可读存储介质。
为了实现上述目的,本发明采用的技术方案如下:
第一方面,本发明提供一种数据处理方法,应用于第一服务,所述第一服务设置于分布式数据处理系统,所述分布式数据处理系统包括数据库、分布式应用程序协调组件以及多个具有缓存的服务,所述第一服务为所述多个具有缓存的服务中的任意一个服务。所述方法包括:所述多个具有缓存的服务分别在所述分布式应用程序协调组件的根节点下注册各自的子节点;当所述第一服务接收到元数据修改请求时,所述第一服务发送与所述元数据修改请求对应的第一修改指令至所述数据库中,以使所述数据库修改与所述第一修改指令对应的第一元数据信息;其中,所述数据库包括所述第一服务对应的第一元数据信息;所述第一服务依据所述数据库中修改后的第一元数据信息,更新所述第一服务缓存中的第一元数据信息;所述第一服务向其他服务的子节点发送第一元数据调整指令;当所述其他服务通过监听到各自对应的子节点获得所述第一元数据调整指令时,所述其他服务根据所述第一元数据调整指令,更新各自缓存中的第一元数据信息;所述第一元数据调整指令用于指示所述数据库的第一元数据信息已修改。
在可选的实施方式中,所述分布式数据处理系统还包括所述第一服务对应的第一子节点,所述第一子节点为所述第一服务在所述根节点下注册的子节点,所述数据库还包括所述其他服务对应的第二元数据信息,所述方法还包括:所述第一服务对所述第一子节点进行监听;当所述第一子节点具有所述其他服务发送的第二元数据调整指令时,所述第一服务依据所述数据库中修改后的第二元数据信息,更新所述第一服务缓存中存储的所述第二元数据信息;所述第二元数据调整指令用于指示所述数据库的第二元数据信息已修改。
在可选的实施方式中,当所述第一子节点具有所述其他服务发送的第二元数据调整指令时,所述第一服务依据所述数据库中修改后的第二元数据信息,更新所述第一服务缓存中存储的所述第二元数据信息,包括:当所述第一子节点具有所述第二元数据调整指令时,所述第一服务判断是否在所述第一服务缓存存储有与所述第二元数据调整指令对应的第二元数据信息;若是,则所述第一服务依据所述数据库中修改后的第二元数据信息,修改所述第一服务缓存中存储的所述第二元数据信息;若否,则丢弃所述第一子节点的节点信息。
在可选的实施方式中,所述分布式数据处理系统还包括第二服务和所述第二服务对应的第二子节点,所述第二服务为所述其他服务中的任意一个服务,所述第二子节点为所述第二服务在所述根节点下注册的子节点,所述第一服务向其他服务的子节点发送第一元数据调整指令,包括:所述第一服务获取所述第二子节点的版本信息;所述第一服务生成与所述版本信息一致的所述第一元数据调整指令;所述第一服务将所述第一元数据调整指令发送至所述第二子节点。
在可选的实施方式中,所述第一服务将所述第一元数据调整指令发送至所述第二子节点,包括:所述第一服务获取所述第二子节点的节点数据并清空所述节点数据;所述第一服务生成写入指令,所述写入指令包含所述节点数据和所述第一元数据调整指令;所述第一服务将所述写入指令发送至所述第二子节点,以使所述第二子节点接收并存储所述写入指令。
第二方面,本发明提供一种分布式数据处理系统,包括:数据库、分布式应用程序协调组件以及多个具有缓存的服务。所述多个具有缓存的服务分别在所述分布式应用程序协调组件对应的根节点下注册各自的子节点;第一服务用于当所述第一服务接收到元数据修改请求时,发送与所述元数据修改请求对应的第一修改指令至所述数据库中;其中,所述第一服务为所述多个具有缓存的服务中的任意一个服务。所述数据库用于修改与所述第一修改指令对应的第一元数据信息;所述数据库包括所述第一服务对应的第一元数据信息;所述第一服务还用于依据所述数据库中修改后的第一元数据信息,更新所述第一服务缓存中的第一元数据信息。所述第一服务还用于向其他服务的子节点发送第一元数据调整指令,以使所述其他服务通过监听各自对应的子节点获得所述第一元数据调整指令时,所述其他服务根据所述第一元数据调整指令,更新各自缓存中的第一元数据信息所述第一元数据调整指令用于指示所述数据库的第一元数据信息已修改。
在可选的实施方式中,所述分布式数据处理系统还包括所述第一服务对应的第一子节点,所述第一子节点为所述第一服务在所述根节点下注册的子节点,所述数据库还包括所述其他服务对应的第二元数据信息;所述第一服务还用于对所述第一子节点进行监听;所述第一服务还用于当所述第一子节点具有所述其他服务发送的第二元数据调整指令时,依据所述数据库中修改后的第二元数据信息,更新所述第一服务缓存中存储的所述第二元数据信息;所述第二元数据调整指令用于指示所述数据库的第二元数据信息已修改。
在可选的实施方式中,所述分布式数据处理系统还包括第二服务和所述第二服务对应的第二子节点,所述第二服务为所述其他服务中的任意一个服务,所述第二子节点为所述第二服务在所述根节点下注册的子节点。所述第一服务还用于:获取所述第二子节点的版本信息;生成与所述版本信息一致的所述第一元数据调整指令;将所述第一元数据调整指令发送至所述第二子节点。
在可选的实施方式中,所述第一服务还用于获取所述第二子节点的节点数据并清空所述节点数据;所述第一服务还用于生成写入指令;所述写入指令包含所述节点数据和所述第一元数据调整指令;所述第一服务还用于将所述写入指令发送至所述第二子节点,以使所述第二子节点接收并存储所述写入指令。
第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的方法。
相对于现有技术,本发明提供一种数据处理方法、系统和计算机可读存储介质,涉及集群的数据处理领域。该方法应用于第一服务,包括:当第一服务接收到元数据修改请求时,第一服务发送与元数据修改请求对应的第一修改指令至数据库中,以使数据库修改与第一修改指令对应的第一元数据信息;第一服务依据数据库中修改后的第一元数据信息,更新第一服务缓存中的第一元数据信息;第一服务向其他服务的子节点发送第一元数据调整指令;当其他服务通过监听到各自对应的子节点获得第一元数据调整指令时,根据第一元数据调整指令,更新各自缓存中的第一元数据信息。第一服务接收元数据修改请求并发送与元数据修改请求对应的第一修改指令至数据库,以使数据库将与第一修改指令对应的第一元数据信息进行更新,第一服务将对应的第一服务缓存中的第一元数据信息进行更新,使第一服务缓存中存储的元数据信息与最新的数据库一致,提高数据处理的准确性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为一种ZooKeeper集群的结构示意图;
图2为本发明实施例提供一种多服务元数据缓存的结构示意图;
图3为本发明实施例提供的一种数据处理方法的流程示意图;
图4为本发明实施例提供的另一种数据处理方法的流程示意图;
图5为本发明实施例提供的另一种数据处理方法的流程示意图;
图6为本发明实施例提供的另一种多服务元数据缓存的结构示意图;
图7为本发明实施例提供的另一种数据处理方法的流程示意图;
图8为本发明实施例提供的另一种数据处理方法的流程示意图;
图9为本发明实施例提供的另一种数据处理方法的流程示意图;
图10为本发明实施例提供的一种电子设备的方框示意图。
图标:100-分布式数据处理系统,110-第一服务,111-第一子节点,120-第二服务,121-第二子节点,130-根节点,140-数据库,150-第三服务,151-第三子节点,30-Zookeeper集群,31-服务,32-子节点,321-缓存子节点,33-父节点,70-电子设备,71-存储器,72-处理器,73-通信接口。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
先进分布式集群管理是为了让多台服务器协同工作,以完成单台服务器无法处理的任务,尤其是高并发或者大数据量的任务。其中,为了实现多台服务器之间的协调服务,一般采用例如ZooKeeper等方式来实现。
ZooKeeper作为开放源码的分布式应用程序协调服务,其可以提供的功能包括但不限于:配置维护、域名服务、分布式同步、组服务等。例如,请参见图1,图1为一种ZooKeeper集群的结构示意图,该ZooKeeper集群30包括:服务31、子节点32(Znode)和父节点33。在图1示出的ZooKeeper集群30中,以ZooKeeper集群30的文件数据结构是树形结构为例,该树形结构包括多个子节点32(即Znode);子节点32与传统文件系统的路径差异在于:在文件系统中,路径只是一个名称,不包含数据;而每个子节点32(Znode)不仅可以通过其自身的路径来作为数据查询的唯一标识,而且任一个子节点32(Znode)都可以存储数据,例如将Zookeeper集群30中的元数据存储到子节点32中。
进一步地,分布式系统中的Zookeeper,可以用于部署多个服务,在部署任一个服务时,每个服务都可以创建Znode,其目的在于减少Zookeeper集群30的系统耦合。同时,为了获取到服务31执行业务进程,服务31可以监听到对应子节点32的存储数据变化。在这种情况下,子节点32中的存储数据可以用以指示服务31实现与存储数据对应的业务逻辑。
目前的技术方案中,为了实现分布式集群中多个服务的元数据调用,一般是将元数据存储在子节点32(Znode)中,当服务31监听到对应子节点32中存储的元数据发生变化时,服务31可以从相应的子节点32中同步元数据。
而在本领域中,由于每一个Znode存储数据的上限通常较小,例如1MB,仅适合存储小量数据。请参见图1,在服务31的元数据总量较大时,需要将多个元数据存储到拆分并各自存储到多个子节点32(Znode)中,即服务31对应的元数据会存储到多个子节点32(Znode)中,此时为了实现服务31对元数据变化的监听,则服务31需要对每个子节点32建立一个监听以便获取每个子节点32(Znode)的元数据变化情况,从而导致了对服务资源的浪费。
并且,若存储在子节点多个元数据之间存在关联关系且多个元数据的数据总量较大时,为了保持多个元数据之间的关联性,则需要将具有关联的一组元数据存入一组子节点中,请参见图1,该组子节点可以包括服务部署时创建的子节点32(Znode)以及该子节点32(Znode)依据实际业务需求创建的用于存储元数据的多个缓存子节点321,当具有关联性的该组元数据需要修改时,子节点32以及缓存子节点321需要分别修改各自存储的元数据。并且还需要考虑该组元数据中各个元数据之间的关联性。因此在这种机制下,很难保证该组元数据修改的一致性。另外,将具有关联性的一组元数据存储到子节点32以及多个缓存子节点321中,当需要查看该组元数据时,需要从子节点32以及多个缓存子节点321中获取相应的元数据,从而导致不便于元数据的查看和展示。
基于上述的问题以及背景技术提出的不足,本发明实施例提供一种实现多服务元数据缓存的架构,以分布式数据处理系统上部署有两个服务为例,请参见图2,图2为本发明实施例提供一种多服务元数据缓存的结构示意图。该分布式数据处理系统100包括:第一服务110、第一子节点111、第二服务120、第二子节点121、根节点130和数据库140。
第一服务110具有第一服务缓存,第二服务120具有第二服务缓存,应理解,第一子节点111为第一服务110在分布式应用程序协调组件的根节点130下创建的子节点;第二子节点121为第二服务120在根节点130下创建的子节点,该第二服务120可以监听第二子节点121。
上述的第一服务110和第二服务120可以在同一个电子设备上,也可以是在不同的电子设备上,本发明不对上述服务、节点以及数据库所处的硬件设备的形式和拓扑结构进行限定。
应理解地,数据库140包括第一服务110对应的第一元数据信息和第二服务120对应的第二元数据信息,相较于现有方案中将多个元数据拆分并存储到多个子节点中,使用单个数据库存储多个元数据,有利于对集群中所有的元数据进行管理;尤其在多个元数据存在关联关系时,对存在关联关系的一组元数据,在数据库中进行增、删、改等操作可以保证数据库中元数据修改一致性,避免发生数据紊乱的问题;同时,由于数据库包括所有的元数据信息,当需要对其中的部分或全部元数据进行展示时,相较于现有技术也更加便捷。
例如,当上述的分布式数据处理系统100为Zookeeper集群时,服务部署在Zookeeper集群中,该根节点130是Zookeeper集群为了实现多服务的应用协调注册的一个节点,其可以被定义为不会因连接到Zookeeper集群的用户端断开而消失。该根节点130可以是在部署第一服务110时创建的,也可以是在之前就存在的。上述的第一子节点111可以是服务所在的电子设备启动时注册的,当该电子设备故障或主动关闭之后,其可以被移除,该第一服务110可以监听第一子节点111,以便获取第一子节点111的节点信息变化情况。
例如,在Zookeeper集群部署有多个服务的情况下,第一子节点111的节点数据变化的原因可能是第一服务110获取了第一子节点的节点数据并将第一子节点111中的数据清空导致,也可能是第一子节点111接收到了Zookeeper集群中其它服务由于元数据变化发送的指令信息。
可选地,上述的节点还可以通过其它集群系统实现的,例如Redis,Redis是一个开源、支持键值(Key-Value,K-V)存储等多种数据结构的存储系统,可用于缓存、事件发布或订阅、高速队列等场景,当Redis中的电子设备上部署有上述的第一服务时,使用Redis中Key对应的进程作为本发明实施例中的第一子节点,同样可以实现本发明提供的数据处理方法;可以预见的,其它的分布式集群,例如Kafka、MQ等,也可以通过在集群上的电子设备上部署服务以及创建与服务对应的节点来实现本发明提供的数据处理方法。
上述的第一服务缓存可以设置于第一服务所处的电子设备上,也可以设置于第一服务可以访问的其它电子设备上;上述的第一服务110、数据库140可以在同一个电子设备上,也可以是在不同的电子设备上,使第一服务110可以访问数据库140即可,本发明不对上述服务、节点以及数据库所处的硬件设备的形式和拓扑结构进行限定。
应理解,上述的分布式数据处理系统100还可以是具有更多的服务和服务对应的子节点,本发明实施例以分布式数据处理系统100部署有两个服务为例,不应理解为对本发明的限定。
下面在图2示出的分布式数据处理系统100的基础上,以第一服务110进行缓存更新为例,对本发明实施例提供的数据处理方法进行示例性说明,其目的在于提高数据的处理效率,实现数据的同步缓存。可选地,本发明实施例提供一种数据处理方法,请参见图3,图3为本发明实施例提供的一种数据处理方法的流程示意图。该数据处理方法包括:
S20、多个具有缓存的服务分别在分布式应用程序协调组件的根节点下注册各自的子节点。
S21、当第一服务接收到元数据修改请求时,第一服务发送与元数据修改请求对应的第一修改指令至数据库中,以使数据库修改与第一修改指令对应的第一元数据信息。
可以理解的,该数据库包括第一服务对应的元数据信息。例如,假如数据库中存储了多张以身份标识(Identity,ID)字段为主键的元数据表,为了更新数据库,可以通过在第一修改指令中设置目标ID字段,以便修改数据库中与第一修改指令中目标ID字段对应的元数据表。
S22、第一服务依据数据库中修改后的第一元数据信息,更新第一服务缓存中的第一元数据信息。
S23、第一服务向其它服务的子节点发送第一元数据调整指令。
可以理解的,第一服务向其他子节点发送消息的方式可以是单播,也可以是广播,其具体形式可以根据实际部署的服务数量以及子节点数量来确定。
S24、当其他服务通过监听到各自对应的子节点获得第一元数据调整指令时,其他服务根据第一元数据调整指令,更新各自缓存中的第一元数据信息。
每次更新缓存时,本发明实施例可以仅针对被修改的部分元数据进行更新。即根据修改后的第一元数据信息,对第一服务缓存存储的元数据中对应部分的第一元数据信息进行更新,以便提高数据处理的效率。例如,通过目标ID字段确定需要修改的第一元数据信息。可以理解的,每个服务可以根据服务的需求,分别缓存对应的元数据信息。
需要说明的是,执行上述方法流程的系统,图3中仅以分布式数据系统包括第一服务与一个第二服务进行举例说明。可以想到的是,对于分布式数据处理系统来说,其可以部署更多不同的服务,这些服务可以被部署在一个或多个电子设备上。这些服务之间可以使用相同或不同的元数据,以实现相应地功能。在这种情况下,该图3所示步骤中的第一服务为多个服务中的一个或多个。
本发明实施例提供的数据处理方法通过第一服务接收元数据修改请求,第一服务发送与元数据修改请求对应的第一修改指令至数据库,以使数据库将与第一修改指令对应的第一元数据信息进行更新。并且,第一服务将对应的第一服务缓存中的第一元数据信息进行更新。相较于周期性更新缓存,可以使第一服务缓存中存储的元数据信息与最新的数据库保持一致,提高数据处理的准确性。
进一步地,由于数据库中仅需更新与第一修改指令相应的第一元数据信息,不用进行全局修改,并且第一服务缓存中也只需要进行第一元数据信息的更新,避免将数据库中所有的元数据加载到第一服务缓存中,实现了变量更新,减少了数据处理量,提高了集群的数据处理效率。
可选地,针对上述的元数据修改请求,下面给出一种可能的实现方式:
该元数据修改请求可以为增、删、改信息,例如,当该元数据修改请求为新增信息时,其目的在于在数据库中与目标ID字段对应的元数据表中增加新的元数据信息,例如,新增了table_test这张元数据表中的ID为1的记录。对应的消息可以定义成{“TYPE”:”CREATED”,”TABLE_NAME”:”table_test”,”RECORD_ID”:”1”}。
当上述的元数据修改请求为修改信息时,例如,更新一条记录,其目的在于将数据库中与目标ID字段对应的元数据表进行元数据调整:更新了table_test这张元数据表中的ID为1的记录,则消息可以定义成{“TYPE”:”UPDATED”,”TABLE_NAME”:”table_test”,”RECORD_ID”:”1”}。
当上述的元数据修改请求为删除信息时,例如,删除一条记录,其目的在于将数据库中与目标ID字段对应的元数据表中的部分或全部元数据删除:删除了table_test这张元数据表中的ID为1的记录,则消息可以定义成{“TYPE”:”DELETED”,”TABLE_NAME”:”table_test”,”RECORD_ID”:”1”}等;可以预见的,在上述情况下,元数据修改请求的消息内容可以将元数据的变化定位到每张表的每条记录,因此更新缓存时只需要更新变化部分的元数据信息。
对于上述发送元数据调整指令的过程,当分布式数据处理系统100为Zookeeper集群时,第一服务110在更新完成本身对应的第一服务缓存后,有两种可能的情况:
一种情况是:第一服务向Zookeeper集群中在同一个根节点下除了第一子节点的其它子节点发布消息(第一元数据调整指令),消息格式可以是Json格式,消息内容是数据库中数据的变化情况,其他服务通过监听各自对应的子节点是否发生节点数据变化,从而在服务监听到服务自身对应的子节点的节点数据发生变化时,读取服务自身对应的节点数据、解析该节点数据并根据服务自身需求从数据库读取最新的元数据信息更新自身缓存,从而实现多个服务缓存和数据库同步。
另一种情况是:第一服务中维护有该根节点下所有子节点对应服务的缓存存储元数据信息的情况,当第一服务完成了第一服务缓存的更新后,第一服务判断第二服务缓存第二服务缓存中是否存储有第一元数据信息,当第二服务缓存中存储有第一元数据信息时,第一服务将第一元数据调整指令发送到第二服务对应的第二子节点;当第二服务缓存中未存储有第一元数据信息时,第一服务不将第一元数据调整指令发送到第二子节点。
下面在图2示出的分布式数据处理系统100的基础上,以第一服务110进行缓存更新为例,对本发明实施例提供的数据处理方法进行示例性说明,其目的在于当第一服务未接收到元数据修改请求时,而数据库中的元数据信息进行了更新,为了将第一服务缓存与元数据中相应的元数据信息进行同步,以其它服务为图2示出的第二服务120为例,本发明实施例提供另一种数据处理方法,请参见图4,图4为本发明实施例提供的另一种数据处理方法的流程示意图。该数据处理方法还包括:
S25、第一服务对第一子节点进行监听。
该第一子节点为第一服务在父节点下创建的子节点。
具体的,例如,以Zookeeper集群为例,第一子节点可以是第一服务在父节点下创建的子节点,第一服务可以监听到第一子节点的数据变化,以便第一服务获取到Zookeeper集群执行其它服务的进度信息。进一步地,当第一服务监听到第一子节点的数据变化时,为了与其它服务的进度相匹配,第一服务还可以获取第一子节点的节点信息,以便执行与节点信息对应的进程,使第一服务与Zookeeper集群中的其它服务相匹配。
S26、当第一子节点具有第二服务发送的第二元数据调整指令时,第一服务依据数据库中修改后的第二元数据信息,更新第一服务缓存中存储的第二元数据信息。
请参见图2示出的分布式数据处理系统,当第二服务120接收到了元数据修改请求,第二服务120发送与元数据修改请求对应的第二调整指令至数据库140,以使数据库140依据第二调整指令更新了数据库140存储的第二元数据信息,第二服务会发送第二元数据调整指令到第一子节点111,该第二元数据调整指令用于指示数据库的第二元数据信息已修改。当第一子节点111接收到第二元数据调整指令后,需要将第二元数据调整指令进行存储;相应地,第一服务110持续的监听第一子节点111,一旦获知该当第一子节点111具有第二服务120发送的第二元数据调整指令,则第一服务110认为第一子节点111存储的数据发生了变化,第一服务110获取第一子节点111上的节点信息,该节点信息为第一子节点111存储的数据,其至少包括第二元数据调整指令:若第一子节点在获取第二元数据调整指令之前存储有待处理数据,则第一服务将待处理数据对应的进程执行完毕后,执行与第二元数据调整指令相应的进程以更新第一服务缓存;若第一子节点在获取第二元数据调整指令之前未存储有待处理数据,则第一服务执行与第二元数据调整指令相应的进程以更新第一服务缓存。
下面以图2示出的分布式数据处理系统100为例,第一子节点111上可能在接收到第二元数据调整指令之前已存在待处理数据,也可能不存在待处理数据,为了实现对第一服务缓存的更新,在图4的基础上给出一种可能的实现方式,请参见图5,图5为本发明实施例提供的另一种数据处理方法的流程示意图。上述的S26可以包括:
S261、当第一子节点具有第二元数据调整指令时,第一服务判断是否在第一服务缓存存储有与第二元数据调整指令对应的第二元数据信息。
若是,则执行S262;若否,则执行S263。
S262、第一服务依据数据库中修改后的第二元数据信息,修改第一服务缓存中存储的第二元数据信息。
S263、丢弃第一子节点的第二元数据调整指令。
可以理解的,上述丢弃第一子节点的节点信息有两种可能的情况:
一种情况:当第一子节点本身不存在待处理数据时,即第一子节点在接收第二元数据调整指令之前的节点信息为空,同时,第一服务对应的第一服务缓存中也未存储有与第二元数据调整指令对应的第二元数据信息,即当实现第一服务的过程并不需要第二元数据信息时,第一服务可以将获取到的第二元数据调整指令直接丢弃。
另一种情况:第一子节点在接收到第二元数据调整指令之前已存在待处理数据时,以该待处理数据是除第二服务外的其它服务发送的第一元数据调整指令为例,该第一元数据调整指令用于指示数据库中的第一元数据信息已修改。该第一元数据调整指令与第二元数据调整指令所要修改的元数据不相关。此时,为了保证第一服务缓存与数据库的一致性,则需要在第一服务执行完与第一元数据调整指令相关的动作后,再判断是否执行与第二元数据调整指令的操作。例如,当第一服务获得的节点信息为空时,表征第一服务已将该待处理数据处理完成。此时第一服务再根据第二元数据调整指令判断是否丢弃第二元数据调整指令(即将第一服务缓存中对应的第一元数据信息更新后),当实现第一服务并不需要第二元数据信息时,将获取到的第二元数据调整指令丢弃,以便减少第一服务中无用的数据,有效利用第一服务的资源。
具体的,例如,当第一服务监听到自己创建的第一子节点数据发生变化(NodeData Changed事件)后读取第一子节点的节点信息,此时节点信息为第一子节点存储的数据,在Zookeeper集群中,其可以表征使第一服务与Zookeeper集群中的其它服务进程匹配的待处理数据。首先第一服务依据该节点信息判断第一子节点数据是否为空,例如,第一服务获取到的节点信息可能是“00000000”的字符串,而在第一服务中,当节点信息是“00000000”时,第一子节点数据被定义为空;若数据为空则不作任何处理,若数据不为空则依据获取到的节点信息,执行节点信息对应的业务进程;进一步的,以Zookeeper集群为例,当第一子节点为Znode时,由于Znode一般仅能存储1MB的数据,为了有效利用第一子节点的存储空间,第一服务在获取并执行上述的节点信息后,可以将第一子节点中的节点信息置空,例如将节点信息置为“00000000”的字符串。
可以理解的,上述的分布式数据处理系统100还可以包括更多的服务,在图2示出的分布式数据处理系统100基础上,给出一种可能的实现方式,请参见图6,图6为本发明实施例提供的另一种多服务元数据缓存的结构示意图。该分布式数据处理系统100还包括第三服务150和第三子节点151。
第三子节点151为第三服务150在根节点130下创建的子节点,第三服务150可以监听第三子节点151,以感知第三子节点的数据变化。
若第一子节点111在接收到第二元数据调整指令的同时还接收到第三服务150发送的第三元数据调整指令,该第三元数据调整指令用于指示数据库中的第三元数据信息已修改:第一子节点111存储的数据可以是将第二元数据调整指令和第三元数据调整指令用分隔符按照接收到的时间顺序分开,第一服务110获取到第一子节点111的节点信息,该节点信息为第一子节点111存储的数据,包括上述的第二元数据调整指令和第三元数据调整指令,第一服务110依次解析节点信息中的每条元数据调整指令,这样可以避免第一子节点在接收到多个服务发送的元数据调整指令时,发生数据紊乱;同时,在更新缓存时,只需要更新第一服务本身对应的第一服务缓存,不需要将数据库中所有的元数据都加载到第一服务的第一服务缓存中,减少了数据处理的冗余,提高了数据处理的效率。
在Zookeeper集群中,由于每个Znode中的节点数据均具有版本号,当需要修改Znode的节点数据时,需要使用数据版本号来实现新数据的成功提交,下面在图2示出的分布式数据处理系统100的基础上,为了实现元数据指令的正常传输,以第二子节点存储的数据具有版本信息为例,在图3的基础上,给出一种可能的实现方式,请参见图7,图7为本发明实施例提供的另一种数据处理方法的流程示意图。上述的S23可以包括:
S231、第一服务获取第二子节点的版本信息。
S232、第一服务生成与版本信息一致的第一元数据调整指令。
S233、第一服务将第一元数据调整指令发送至第二子节点。
例如,Zookeeper集群中的节点数据版本号(版本信息),修改节点数据之前会读取这个数据并记录该数据版本号,当需要更新时会携带这个版本号去提交,如果此时携带的版本号(就是上次读取出来的)和当前节点的版本号相同则说明该数据没有被修改过,那么提交就会成功;如果提交失败说明该节点数据在读取之后和提交之前这段时间内被修改了。例如,可以在第一元数据调整指令的基础上,通过使用set命令对第一元数据调整指令携带的版本号提交更新,版本号与第二子节点的版本号相同更新就会成功,否则会更新失败。
可以理解的,下面以图6示出的分布式数据处理系统100为例,为了解决并发写元数据调整指令的问题,并保证每条元数据调整指令都被服务正确的解析处理而不遗漏,第二服务120和第三服务150发布元数据调整指令时,可以按照版本信息进行提交至第一子节点111,最终实现第一服务对应的第一服务缓存更新。
下面在图6示出的分布式数据处理系统100的基础上,以第一子节点111在接收到第二元数据调整指令的同时还接收到第三服务发送的第三元数据调整指令时,为了解决并发写消息问题,并保证每条元数据调整指令都被服务正确的解析处理而不遗漏,在图7的基础上,给出一种可能的实现方式,请参见图8,图8为本发明实施例提供的另一种数据处理方法的流程示意图。上述的S233可以包括:
S233a、第一服务获取第二子节点的节点数据并清空节点数据。
S233b、第一服务生成写入指令。
该写入指令包含节点数据和第一元数据调整指令。
S233c、第二子节点接收并存储写入指令。
例如,第一服务从第二子节点获取当前节点数据和版本信息,以该当前节点数据是第三元数据调整指令为例:第一服务将新的消息(第一元数据调整指令)用特定符号隔开追加到拿到的第三元数据调整指令后面,得到要写入第二子节点的数据(写入指令);携带上述得到的版本信息往第二子节点写入上述的写入指令,最终实现元数据调整指令的准确发布,实现都被服务正确的解析处理而不遗漏。可以理解的,发送第一元数据调整指令时,通过追加发布的方式,避免重复执行某个业务进程,造成服务资源的不必要浪费,提高数据处理效率。
在可选的实施方式中,下面以图2示出的分布式数据处理系统100为例,第二子节点121上可能在接收到第一元数据调整指令之前已存在待处理数据,也可能不存在待处理数据,为了实现第二缓存的更新,第二服务120也可以实现和上述的S261~263的数据流程方法相似的流程,本处不再赘述。
下面在图6示出的数据系统的基础上,以第二子节点121在接收到多个服务发送的元数据调整指令时,例如第二子节点121接收到第一服务发送的第一元数据调整指令和第三服务150发送的第三元数据调整指令时,为避免发生数据紊乱,可以使用和上述S223a、S223b和S223c相似的流程来处理写入指令,此处不做赘述。
第二服务每次更新第二服务缓存时,数据库中仅需更新与第一修改指令相应的第一元数据信息,不用进行全局修改,并且第二服务缓存中也只需要进行第一元数据信息的更新,避免将数据库中所有的元数据加载到第二服务缓存中,实现了变量更新,减少了数据处理量,提高了集群的数据处理效率。
可以预见的,每个服务更新完自身的缓存后,服务还可以根据自身对应的子节点数据处理后续的业务进程,等待下一次元数据修改请求或元数据调整指令,以便实现数据库、缓存的更新。
针对图2示出的第一服务110,在第一服务未接收到元数据修改请求时,而数据库中的元数据信息进行了更新,为了将第一服务缓存与元数据中相应的元数据信息进行同步,下面在图2示出的第一服务110的基础上,本发明实施例提供另一种数据处理方法,请参见图9,图9为本发明实施例提供的另一种数据处理方法的流程示意图。该数据处理方法还包括:
S60、第一服务对第一子节点进行监听。
该第一子节点为第一服务在父节点下创建的子节点。
S61、当第一子节点具有第二服务发送的第一元数据调整指令时,第一服务依据数据库中修改后的第一元数据信息,更新第一服务缓存中存储的第一元数据信息。
该第一元数据调整指令用于指示数据库的第一元数据信息已修改。
第一服务通过监听各自对应的第一子节点是否发生节点数据变化,从而在第一服务监听到第一服务自身对应的第一子节点的节点数据发生变化时,读取第一服务自身对应的第一子节点的节点数据、解析该节点数据并根据第一服务自身需求从数据库读取最新的第一元数据信息更新第一服务缓存,从而实现多个服务的缓存和数据库同步。
需要说明的是,对于图2示出的分布式数据处理系统100,第一服务110和第二服务120可以部署在同一个电子设备上,也可以是部署在不同的电子设备上,例如第一服务110部署在第一电子设备,第二服务120部署在第二电子设备。应理解,图2示出的分布式数据处理系统100可以实现上述任一实施例提出的数据处理方法。
对于上述任一项提出的电子设备,其可以实现本发明提供的任一种数据处理方法,该电子设备可以是,但不限于,手机、平板电脑、笔记本电脑、服务器或其它具有处理能力的电子设备。
本发明实施例提供一种电子设备,如图10,图10为本发明实施例提供的一种电子设备的方框示意图。该电子设备70包括存储器71、处理器72和通信接口73。该存储器71、处理器72和通信接口73相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器71可用于存储软件程序及模块,如本发明实施例所提供的数据处理方法对应的程序指令/模块,处理器72通过执行存储在存储器71内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口73可用于与其他节点设备进行信令或数据的通信。在本发明中该电子设备70可以具有多个通信接口73。
其中,存储器71可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器72可以是一种集成电路芯片,具有信号处理能力。该处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中任一项的数据处理方法。该计算机可读存储介质可以是,但不限于,U盘、移动硬盘、ROM、RAM、PROM、EPROM、EEPROM、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本发明提供一种数据处理方法、系统和计算机可读存储介质,涉及集群的数据处理领域。该方法应用于第一服务,包括:当第一服务接收到元数据修改请求时,第一服务发送与元数据修改请求对应的第一修改指令至数据库中,以使数据库修改与第一修改指令对应的第一元数据信息;第一服务依据数据库中修改后的第一元数据信息,更新第一服务缓存中的第一元数据信息;第一服务向其他服务的子节点发送第一元数据调整指令;当其他服务通过监听到各自对应的子节点获得第一元数据调整指令时,根据第一元数据调整指令,更新各自缓存中的第一元数据信息。第一服务接收元数据修改请求并发送与元数据修改请求对应的第一修改指令至数据库,以使数据库将与第一修改指令对应的第一元数据信息进行更新,第一服务将对应的第一服务缓存中的第一元数据信息进行更新,使第一服务缓存中存储的元数据信息与最新的数据库一致,提高数据处理的准确性。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,应用于第一服务,所述第一服务设置于分布式数据处理系统,所述分布式数据处理系统包括数据库、分布式应用程序协调组件以及多个具有缓存的服务,所述第一服务为所述多个具有缓存的服务中的任意一个服务,所述方法包括:
所述多个具有缓存的服务分别在所述分布式应用程序协调组件的根节点下注册各自的子节点;
当所述第一服务接收到元数据修改请求时,所述第一服务发送与所述元数据修改请求对应的第一修改指令至所述数据库中,以使所述数据库修改与所述第一修改指令对应的第一元数据信息;
其中,所述数据库包括所述第一服务对应的第一元数据信息;
所述第一服务依据所述数据库中修改后的第一元数据信息,更新所述第一服务缓存中的第一元数据信息;
所述第一服务向其他服务的子节点发送第一元数据调整指令;
当所述其他服务通过监听到各自对应的子节点获得所述第一元数据调整指令时,所述其他服务根据所述第一元数据调整指令,更新各自缓存中的第一元数据信息;所述第一元数据调整指令用于指示所述数据库的第一元数据信息已修改。
2.根据权利要求1所述的方法,其特征在于,所述分布式数据处理系统还包括所述第一服务对应的第一子节点,所述第一子节点为所述第一服务在所述根节点下注册的子节点,所述数据库还包括所述其他服务对应的第二元数据信息,所述方法还包括:
所述第一服务对所述第一子节点进行监听;
当所述第一子节点具有所述其他服务发送的第二元数据调整指令时,所述第一服务依据所述数据库中修改后的第二元数据信息,更新所述第一服务缓存中存储的所述第二元数据信息;所述第二元数据调整指令用于指示所述数据库的第二元数据信息已修改。
3.根据权利要求2所述的方法,其特征在于,当所述第一子节点具有所述其他服务发送的第二元数据调整指令时,所述第一服务依据所述数据库中修改后的第二元数据信息,更新所述第一服务缓存中存储的所述第二元数据信息,包括:
当所述第一子节点具有所述第二元数据调整指令时,所述第一服务判断是否在所述第一服务缓存存储有与所述第二元数据调整指令对应的第二元数据信息;
若是,则所述第一服务依据所述数据库中修改后的第二元数据信息,修改所述第一服务缓存中存储的所述第二元数据信息;
若否,则丢弃所述第一子节点的第二元数据调整指令。
4.根据权利要求1所述的方法,其特征在于,所述分布式数据处理系统还包括第二服务和所述第二服务对应的第二子节点,所述第二服务为所述其他服务中的任意一个服务,所述第二子节点为所述第二服务在所述根节点下注册的子节点,所述第一服务向其他服务的子节点发送第一元数据调整指令,包括:
所述第一服务获取所述第二子节点的版本信息;
所述第一服务生成与所述版本信息一致的所述第一元数据调整指令;
所述第一服务将所述第一元数据调整指令发送至所述第二子节点。
5.根据权利要求4所述的方法,其特征在于,所述第一服务将所述第一元数据调整指令发送至所述第二子节点,包括:
第一服务从第二子节点获取当前节点数据和版本信息;所述当前节点数据为第三元数据调整指令;
第一服务将第一元数据调整指令用特定符号隔开追加到第三元数据调整指令后面,得到要写入第二子节点的写入指令;
所述第一服务将携带所述版本信息的写入指令发送至第二子节点,以使所述第二子节点接收并存储所述写入指令。
6.一种分布式数据处理系统,其特征在于,包括:数据库、分布式应用程序协调组件以及多个具有缓存的服务;
所述多个具有缓存的服务分别在所述分布式应用程序协调组件对应的根节点下注册各自的子节点;
第一服务,用于当所述第一服务接收到元数据修改请求时,发送与所述元数据修改请求对应的第一修改指令至所述数据库中;其中,所述第一服务为所述多个具有缓存的服务中的任意一个服务;
所述数据库,用于修改与所述第一修改指令对应的第一元数据信息;所述数据库包括所述第一服务对应的第一元数据信息;
所述第一服务还用于依据所述数据库中修改后的第一元数据信息,更新所述第一服务缓存中的第一元数据信息;
所述第一服务还用于向其他服务的子节点发送第一元数据调整指令,以使所述其他服务通过监听各自对应的子节点获得所述第一元数据调整指令时,所述其他服务根据所述第一元数据调整指令,更新各自缓存中的第一元数据信息所述第一元数据调整指令用于指示所述数据库的第一元数据信息已修改。
7.根据权利要求6所述的系统,其特征在于,所述分布式数据处理系统还包括所述第一服务对应的第一子节点,所述第一子节点为所述第一服务在所述根节点下注册的子节点,所述数据库还包括所述其他服务对应的第二元数据信息;
所述第一服务还用于对所述第一子节点进行监听;
所述第一服务还用于当所述第一子节点具有所述其他服务发送的第二元数据调整指令时,依据所述数据库中修改后的第二元数据信息,更新所述第一服务缓存中存储的所述第二元数据信息;所述第二元数据调整指令用于指示所述数据库的第二元数据信息已修改。
8.根据权利要求6所述的系统,其特征在于,所述分布式数据处理系统还包括第二服务和所述第二服务对应的第二子节点,所述第二服务为所述其他服务中的任意一个服务,所述第二子节点为所述第二服务在所述根节点下注册的子节点;
所述第一服务还用于:
获取所述第二子节点的版本信息;
生成与所述版本信息一致的所述第一元数据调整指令;
将所述第一元数据调整指令发送至所述第二子节点。
9.根据权利要求8所述的系统,其特征在于,
所述第一服务还用于从第二子节点获取当前节点数据和版本信息;所述当前节点数据为第三元数据调整指令;
所述第一服务还用于将第一元数据调整指令用特定符号隔开追加到第三元数据调整指令后面,得到要写入第二子节点的写入指令;
所述第一服务还用于将携带所述版本信息的写入指令发送至第二子节点,以使所述第二子节点接收并存储所述写入指令。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911292296.8A CN111143382B (zh) | 2019-12-13 | 2019-12-13 | 数据处理方法、系统和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911292296.8A CN111143382B (zh) | 2019-12-13 | 2019-12-13 | 数据处理方法、系统和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143382A CN111143382A (zh) | 2020-05-12 |
CN111143382B true CN111143382B (zh) | 2022-08-09 |
Family
ID=70518419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911292296.8A Active CN111143382B (zh) | 2019-12-13 | 2019-12-13 | 数据处理方法、系统和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111143382B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984380B (zh) * | 2020-08-21 | 2024-07-30 | 北京金山云网络技术有限公司 | 流计算服务系统及其控制方法和装置 |
CN112667650B (zh) * | 2020-12-28 | 2024-05-28 | 北京华大智宝电子系统有限公司 | 一种数据库更新方法和装置 |
CN112835890B (zh) * | 2021-01-13 | 2025-01-24 | 北京金山云网络技术有限公司 | 元数据的处理方法、装置及电子设备 |
CN112905699B (zh) * | 2021-02-23 | 2024-04-09 | 京东科技信息技术有限公司 | 一种全量数据比对方法、装置、设备及存储介质 |
CN113312404B (zh) * | 2021-08-02 | 2021-11-02 | 北京华品博睿网络技术有限公司 | 一种特征样本实时采集方法及系统 |
CN114945026A (zh) * | 2022-04-24 | 2022-08-26 | 网易(杭州)网络有限公司 | 数据处理方法、装置和系统 |
CN115277735B (zh) * | 2022-07-20 | 2023-11-28 | 北京达佳互联信息技术有限公司 | 数据的处理方法和装置、电子设备及存储介质 |
CN116226203A (zh) * | 2023-05-05 | 2023-06-06 | 北京零壹视界科技有限公司 | 一种单一对象数据缓存方法、装置、电子设备和存储介质 |
CN117056379B (zh) * | 2023-10-11 | 2024-01-26 | 宁波银行股份有限公司 | 一种元数据缓存方法、装置、电子设备及可读存储介质 |
CN117527827B (zh) * | 2023-11-08 | 2024-12-31 | 上海振华重工(集团)股份有限公司 | 一种集装箱码头跨服务信息通信和数据同步方法 |
CN118519688B (zh) * | 2024-07-22 | 2024-11-15 | 深圳市汇顶科技股份有限公司 | 芯片、组网系统和电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8015355B1 (en) * | 2005-11-01 | 2011-09-06 | Netapp, Inc. | System and method for managing hard lock state information in a distributed storage system environment |
CN103294701A (zh) * | 2012-02-24 | 2013-09-11 | 联想(北京)有限公司 | 一种分布式文件系统以及数据处理的方法 |
US9244958B1 (en) * | 2013-06-13 | 2016-01-26 | Amazon Technologies, Inc. | Detecting and reconciling system resource metadata anomolies in a distributed storage system |
US9367301B1 (en) * | 2013-03-06 | 2016-06-14 | Attivio Inc. | Dynamic update of a distributed message processing system |
CN109213792A (zh) * | 2018-07-06 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 数据处理的方法、服务端、客户端、装置及可读存储介质 |
CN109815248A (zh) * | 2019-01-15 | 2019-05-28 | 科大国创软件股份有限公司 | 一种基于Zookeeper的分布式架构数据一致性方法 |
WO2019127916A1 (zh) * | 2017-12-29 | 2019-07-04 | 北京奇虎科技有限公司 | 基于分布式一致性协议实现的数据读写方法及装置 |
CN110046029A (zh) * | 2019-03-13 | 2019-07-23 | 平安科技(深圳)有限公司 | 应用于集群内多级缓存的数据处理方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10585873B2 (en) * | 2017-05-08 | 2020-03-10 | Sap Se | Atomic processing of compound database transactions that modify a metadata entity |
US10467112B2 (en) * | 2017-11-09 | 2019-11-05 | Bank Of America Corporation | Distributed data monitoring device |
-
2019
- 2019-12-13 CN CN201911292296.8A patent/CN111143382B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8015355B1 (en) * | 2005-11-01 | 2011-09-06 | Netapp, Inc. | System and method for managing hard lock state information in a distributed storage system environment |
CN103294701A (zh) * | 2012-02-24 | 2013-09-11 | 联想(北京)有限公司 | 一种分布式文件系统以及数据处理的方法 |
US9367301B1 (en) * | 2013-03-06 | 2016-06-14 | Attivio Inc. | Dynamic update of a distributed message processing system |
US9244958B1 (en) * | 2013-06-13 | 2016-01-26 | Amazon Technologies, Inc. | Detecting and reconciling system resource metadata anomolies in a distributed storage system |
WO2019127916A1 (zh) * | 2017-12-29 | 2019-07-04 | 北京奇虎科技有限公司 | 基于分布式一致性协议实现的数据读写方法及装置 |
CN109213792A (zh) * | 2018-07-06 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 数据处理的方法、服务端、客户端、装置及可读存储介质 |
CN109815248A (zh) * | 2019-01-15 | 2019-05-28 | 科大国创软件股份有限公司 | 一种基于Zookeeper的分布式架构数据一致性方法 |
CN110046029A (zh) * | 2019-03-13 | 2019-07-23 | 平安科技(深圳)有限公司 | 应用于集群内多级缓存的数据处理方法和装置 |
Non-Patent Citations (3)
Title |
---|
基于协同缓存的分布式数据库更新机制研究;符青云等;《计算机工程》;20070405(第07期);47-49 * |
大规模游戏平台云缓存技术研究与实践;陈杰等;《移动通信》;20160315(第05期);5-9 * |
网络文件系统的数据一致性研究;刘湛等;《舰船电子工程》;20080720(第07期);157-161 * |
Also Published As
Publication number | Publication date |
---|---|
CN111143382A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111143382B (zh) | 数据处理方法、系统和计算机可读存储介质 | |
CN112069265B (zh) | 配置数据的同步方法、业务数据系统、计算机系统和介质 | |
CN108874558B (zh) | 分布式事务的消息订阅方法、电子装置及可读存储介质 | |
US10860604B1 (en) | Scalable tracking for database udpates according to a secondary index | |
CN111881223B (zh) | 数据管理方法、设备、系统及存储介质 | |
CN106874334B (zh) | 一种数据处理方法及装置、资讯处理系统 | |
US10127077B2 (en) | Event distribution pattern for use with a distributed data grid | |
CN107977396B (zh) | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 | |
CN107273440A (zh) | 计算机应用、数据存储方法、微服务和微数据库 | |
CN115185705A (zh) | 一种消息通知方法、装置、介质及设备 | |
CN115934855A (zh) | 一种全链路字段级血缘解析方法、系统、设备及存储介质 | |
CN111338834B (zh) | 数据存储方法和装置 | |
CN112015534A (zh) | 配置化平台调度方法、系统及存储介质 | |
CN117827854A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111061719B (zh) | 数据收集方法、装置、设备和存储介质 | |
CN110798358B (zh) | 分布式服务标识方法、装置、计算机可读介质及电子设备 | |
WO2024103898A1 (zh) | 数据库集群管理的方法和装置 | |
CN109165259B (zh) | 基于网络附属存储的索引表更新方法、处理器及存储装置 | |
US11816177B2 (en) | Streaming static web page generation | |
CN115189931A (zh) | 一种分布式密钥管理方法、装置、设备、存储介质 | |
CN113760860B (zh) | 一种数据读取方法和装置 | |
CN114490128A (zh) | 一种异地多活架构下的数据存储方法和装置 | |
CN114500485B (zh) | 一种数据处理方法和装置 | |
US12086158B2 (en) | Hybrid cloud asynchronous data synchronization | |
US20240160606A1 (en) | Hybrid cloud event notification management |
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 |