CN115455006A - 数据处理方法、数据处理装置、电子设备及存储介质 - Google Patents
数据处理方法、数据处理装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115455006A CN115455006A CN202211150228.XA CN202211150228A CN115455006A CN 115455006 A CN115455006 A CN 115455006A CN 202211150228 A CN202211150228 A CN 202211150228A CN 115455006 A CN115455006 A CN 115455006A
- Authority
- CN
- China
- Prior art keywords
- data
- key
- cluster
- target
- cluster node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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/2453—Query optimisation
-
- 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
Abstract
本申请实施例提供了一种数据处理方法、数据处理装置、电子设备及存储介质,属于数据处理技术领域。该方法包括:获取目标集群的集群节点和集群节点的连接信息,连接信息包括每一集群节点和参考槽位数据的映射关系;发送查询指令至客户端,并获取客户端根据查询指令反馈的多个键数据;基于预设算法计算每一键数据的候选槽位数据;基于连接信息和候选槽位数据,构建多个键数据和每一集群节点之间的目标映射关系;基于目标映射关系对集群节点进行查询处理,得到每一集群节点的值数据;基于键数据和值数据,构建每一集群节点的键值对;根据预先获取的操作指令对键值对进行批量查询,得到目标操作数据。本申请实施例能够提高数据处理效率。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据处理方法、数据处理装置、电子设备及存储介质。
背景技术
目前,Redis集群常常被用于较多的数据处理场景,而集群形式的Redis集群往往无法以批量操作的形式来处理数据,使得数据处理只能根据操作指令逐一进行,影响数据处理效率,因此,如何提高数据处理效率,成为了亟待解决的技术问题。
发明内容
本申请实施例的主要目的在于提出一种数据处理方法、数据处理装置、电子设备及存储介质,旨在提高数据处理效率。
为实现上述目的,本申请实施例的第一方面提出了一种数据处理方法,应用于服务器端,所述方法包括:
获取目标集群的集群节点和所述集群节点的连接信息,所述连接信息包括每一所述集群节点和参考槽位数据的映射关系;
发送查询指令至客户端,并获取所述客户端根据所述查询指令反馈的多个键数据;
基于预设算法计算每一所述键数据的候选槽位数据;
基于所述连接信息和所述候选槽位数据,构建多个所述键数据和每一所述集群节点之间的目标映射关系;
基于所述目标映射关系对所述集群节点进行查询处理,得到每一所述集群节点的值数据;
基于所述键数据和所述值数据,构建每一所述集群节点的键值对;
根据预先获取的操作指令对所述键值对进行批量查询,得到目标操作数据。
在一些实施例,所述基于预设算法计算每一所述键数据的候选槽位数据,包括:
根据所述预设算法对每一所述键数据进行校验处理,得到目标哈希数据;
对所述目标哈希数据进行取余处理,得到所述候选槽位数据。
在一些实施例,所述基于所述连接信息和所述候选槽位数据,构建多个所述键数据和每一所述集群节点之间的目标映射关系,包括:
对所述连接信息进行解析处理,得到每一所述集群节点对应的参考槽位数据;
比对所述参考槽位数据和所述候选槽位数据;
若所述参考槽位数据和所述候选槽位数据一致,则将所述键数据和集群节点进行配对,得到所述键数据和所述集群节点的目标映射关系。
在一些实施例,所述基于所述目标映射关系对所述集群节点进行查询处理,得到每一所述集群节点的值数据,包括:
基于所述目标映射关系,将同一所述集群节点的键数据划分至同一集合,得到多个键数据集合;
根据所述键数据集合对每一所述集群节点进行本地缓存查询,得到每一所述集群节点的值数据,其中,所述值数据为实例数据。
在一些实施例,所述根据预先获取的操作指令对所述键值对进行批量查询,得到目标操作数据,包括:
获取所述集群节点的节点数量;
根据所述节点数量设置目标线程;其中,所述目标线程的数量与所述节点数量相同;
基于所述目标线程对每一所述集群节点的键值对进行批量查询,得到所述目标操作数据。
在一些实施例,所述基于所述目标线程对每一所述集群节点的键值对进行批量查询,得到所述目标操作数据,包括:
获取所述目标集群的查询管道;
基于所述目标线程和所述查询管道对每一所述集群节点的键值对进行批量查询,得到每一所述集群节点的节点操作数据;
对多个所述节点操作数据进行合并处理,得到所述目标操作数据。
在一些实施例,所述对多个所述节点操作数据进行合并处理,得到所述目标操作数据,包括:
获取所述键数据的编号顺序;
根据所述编号顺序对多个所述节点操作数据进行合并,得到所述目标操作数据。
为实现上述目的,本申请实施例的第二方面提出了一种数据处理装置,应用于服务器端,所述装置包括:
节点信息获取模块,用于获取目标集群的集群节点和所述集群节点的连接信息,所述连接信息包括每一所述集群节点和参考槽位数据的映射关系;
键数据获取模块,用于发送查询指令至客户端,并获取所述客户端根据所述查询指令反馈的多个键数据;
槽位数据计算模块,用于基于预设算法计算每一所述键数据的候选槽位数据;
关系构建模块,用于基于所述连接信息和所述候选槽位数据,构建多个所述键数据和每一所述集群节点之间的目标映射关系;
查询模块,用于基于所述目标映射关系对所述集群节点进行查询处理,得到每一所述集群节点的值数据;
键值对构建模块,用于基于所述键数据和所述值数据,构建每一所述集群节点的键值对;
批量处理模块,用于根据预先获取的操作指令对所述键值对进行批量查询,得到目标操作数据。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
为实现上述目的,本申请实施例的第四方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
本申请提出的数据处理方法、数据处理装置、电子设备及存储介质,其通过获取目标集群的集群节点和集群节点的连接信息,连接信息包括每一集群节点和参考槽位数据的映射关系,同时,发送查询指令至客户端,并获取客户端根据查询指令反馈的多个键数据。进一步地,基于预设算法计算每一键数据的候选槽位数据,能够较为方便地确定每一键数据对应的候选槽位数据的具体情况。基于连接信息和候选槽位数据,构建多个键数据和每一集群节点之间的目标映射关系,能够较为方便地确定键数据和集群节点的对应关系。进一步地,基于目标映射关系对集群节点进行查询处理,得到每一集群节点的值数据;基于键数据和值数据,构建每一集群节点的键值对,能够较为方便地构建出集群节点的键值对。最后,根据预先获取的操作指令对键值对进行批量查询,得到目标操作数据,能够较为方便地对同一个集群节点的键值对进行批量查询,使得不仅限于根据操作指令对每一键值对逐一进行查询,提高了数据查询效率。
附图说明
图1是本申请实施例提供的数据处理方法的流程图;
图2是图1中的步骤S103的流程图;
图3是图1中的步骤S104的流程图;
图4是图1中的步骤S105的流程图;
图5是图1中的步骤S107的流程图;
图6是图5中的步骤S503的流程图;
图7是图6中的步骤S603的流程图;
图8是本申请实施例提供的数据处理装置的结构示意图;
图9是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
首先,对本申请中涉及的若干名词进行解析:
Redis(Remote Dictionary Server):即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis是一个key-value存储系统。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set--有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。为了保证效率,Redis数据都是缓存在内存中,同时,Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
哈希值(Hash Function):又称散列函数,或散列算法,又称哈希函数,是一种从任何一种数据中创建小的数字"指纹"的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值(hashvalues,hash codes,hash sums,或hashes)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。好的散列函数在输入域中很少出现散列冲突。在散列表和数据处理中,不抑制冲突来区别数据,会使得数据库记录更难找到。
槽位:是个特定概念,是系统需要向用户收集的关键信息。填槽是指收集用户信息的过程,是用户将模糊或缺失的意图补全的过程,槽位值是用户表达的具体关键信息。
集群(cluster):是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。其中单个的计算机系统就是集群的节点(node)。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。一个集群就是由一个或多个节点组织在一起,它们共同持有你整个的数据,并一起提供索引和搜索功能。一个集群由一个唯一的名字标识。集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。
键值对:是可以根据一个键值获得对应的一个值。例如,一般的面向对象编辑中,经常会使用FormEnable=True或False,就是用一系列API函数对一个值的封装。注册表中,是通过键和子键来管理各种信息。同时,在注册表里面的所有信息是以各种形式的键值项数据保存下来。在注册表编辑器的右窗口中,保存的都是各种键值项数据。键值项由键值名、数据类型和键值三部分组成,其格式为:“键值名:数据类型:键值”。键值对的格式为<key,value>。
网络爬虫:又称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
异步:是计算机多线程的异步处理。与同步处理相对,异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。
进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。
线程:是操作系统能够进行运算调度的最小单位。大部分情况下,它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程,但轻量进程更多指内核线程,而把用户线程称为线程。
目前,Redis集群常常被用于较多的数据处理场景,而集群形式的Redis集群往往无法以批量操作的形式来处理数据,使得数据处理只能根据操作指令逐一进行,影响数据处理效率,因此,如何提高数据处理效率,成为了亟待解决的技术问题。
基于此,本申请实施例提供了一种数据处理方法、数据处理装置、电子设备及存储介质,旨在提高数据处理效率。
本申请实施例提供的数据处理方法、数据处理装置、电子设备及存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的数据处理方法。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例提供的数据处理方法,涉及人工智能技术领域。本申请实施例提供的数据处理方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现数据处理方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
图1是本申请实施例提供的数据处理方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤S101至步骤S107,该数据处理方法应用于服务器端。
步骤S101,获取目标集群的集群节点和集群节点的连接信息,连接信息包括每一集群节点和参考槽位数据的映射关系;
步骤S102,发送查询指令至客户端,并获取客户端根据查询指令反馈的多个键数据;
步骤S103,基于预设算法计算每一键数据的候选槽位数据;
步骤S104,基于连接信息和候选槽位数据,构建多个键数据和每一集群节点之间的目标映射关系;
步骤S105,基于目标映射关系对集群节点进行查询处理,得到每一集群节点的值数据;
步骤S106,基于键数据和值数据,构建每一集群节点的键值对;
步骤S107,根据预先获取的操作指令对键值对进行批量查询,得到目标操作数据。
本申请实施例所示意的步骤S101至步骤S107,通过获取目标集群的集群节点和集群节点的连接信息,连接信息包括每一集群节点和参考槽位数据的映射关系,同时,发送查询指令至客户端,并获取客户端根据查询指令反馈的多个键数据。进一步地,基于预设算法计算每一键数据的候选槽位数据,能够较为方便地确定每一键数据对应的候选槽位数据的具体情况。基于连接信息和候选槽位数据,构建多个键数据和每一集群节点之间的目标映射关系,能够较为方便地确定键数据和集群节点的对应关系。进一步地,基于目标映射关系对集群节点进行查询处理,得到每一集群节点的值数据;基于键数据和值数据,构建每一集群节点的键值对,能够较为方便地构建出集群节点的键值对。最后,根据预先获取的操作指令对键值对进行批量查询,得到目标操作数据,能够较为方便地对同一个集群节点的键值对进行批量查询,使得不仅限于根据操作指令对每一键值对逐一进行查询,提高了数据查询效率。
在一些实施例的步骤S101中,可以通过网络爬虫对预设数据源进行数据爬取,获取目标集群的集群节点和集群节点的连接信息,其中,目标集群是Redis集群,连接信息包括每一集群节点和参考槽位数据的映射关系,参考槽位数据包含16384个哈希槽位。此外,也可以通过预设的脚本程序来获取目标集群的集群节点和集群节点的连接信息。其中,预设的数据源可以是针对Redis集群构建的JAVA客户端JedisCluster。
需要说明的是,JAVA客户端JedisCluster中封装了java访问Redis集群的各种操作,包括初始化连接,请求重定向等操作。当JAVA客户端JedisCluster初始化时,所有的集群节点的连接信息都是封装在JedisClusterInfoCache这类中。
例如,通过启动连接Redis集群的服务器,对服务器进行初始化,利用smart客户端获取缓存在JAVA客户端的JedisClusterInfoCache类中的集群节点的连接信息,该连接信息包括每一集群节点和集群中参考槽位数据的映射关系。其中,在获取连接信息时,可以利用反射机制从JAVA客户端获取JedisClusterInfoCache类,再利用反射机制从JedisClusterInfoCache类中获取连接信息。其中,JedisClusterInfoCache类可以理解为操控数据提供服务的服务层。
通过上述步骤S101能够较为方便地获取到Redis集群的集群节点和集群节点的连接信息,从而提取到集群节点和参考槽位数据的对应关系。
在一些实施例的步骤S102中,服务器端可以通过脚本程序发送查询指令至客户端,并通过这一查询指令获取客户端根据查询指令反馈的多个键数据,这一方式能够基于一个查询指令,批量获取多个键数据key,提高了键数据的获取效率。
请参阅图2,在一些实施例中,步骤S103可以包括但不限于包括步骤S201至步骤S202:
步骤S201,根据预设算法对每一键数据进行校验处理,得到目标哈希数据;
步骤S202,对目标哈希数据进行取余处理,得到候选槽位数据。
在一些实施例的步骤S201中,预设算法是一种校验算法,例如CRC16算法等等。服务器端根据预设的遍历顺序依次遍历全部的键数据,并通过CRC16算法等预设的校验算法对每一键数据进行校验处理,对每一个键数据进行循环冗余校验,得到目标哈希数据,该目标哈希数据即为每一键数据的哈希值。其中,CRC16算法是一种常用的校验算法,CRC16算法是Redis底层的路由规则,此处不再赘述。
在一些实施例的步骤S202中,Redis集群没有使用一致性hash,而是引入了哈希槽的概念,Redis集群一共有16384个哈希槽位。具体地,可以对目标哈希数据执行mod16834操作,即将目标哈希数据与16384进行除法运算,对运算结果进行取余处理,得到0-16383的数值结果,每一数值结果对应着一个哈希槽位,该哈希槽即为每一键数据对应的候选槽位数据。
通过上述步骤S201至步骤S202能够较为方便地对每一键数据进行循环冗余校验和取余处理,得到每一键数据对应的候选槽位数据,能够较为方便地确定每一键数据对应的候选槽位数据的具体情况,从而构建出键数据与哈希槽位之间的映射关系。
请参阅图3,在一些实施例中,步骤S104可以包括但不限于包括步骤S301至步骤S303:
步骤S301,对连接信息进行解析处理,得到每一集群节点对应的参考槽位数据;
步骤S302,比对参考槽位数据和候选槽位数据;
步骤S303,若参考槽位数据和候选槽位数据一致,则将键数据和集群节点进行配对,得到键数据和集群节点的目标映射关系。
在一些实施例的步骤S301中,由于连接信息包含着每一集群节点和参考槽位数据的映射关系,参考槽位数据同样包含16384个哈希槽位。因此,可以通过APK或者PE等常用的信息解析工具对连接信息进行数据解析,得到每一集群节点对应的参考槽位数据,从而得到每一集群节点对应的哈希槽位的编号。
在一些实施例的步骤S302中,直接比对每一参考槽位数据和候选槽位数据的哈希槽位编号,将哈希槽位编号相同的参考槽位数据和候选槽位数据放在一组。
在一些实施例的步骤S303中,若参考槽位数据和候选槽位数据一致,即当参考槽位数据和候选槽位数据的哈希槽位编号相同,则提取该参考槽位数据对应的集群节点,提取该候选槽位数据对应的键数据,将该键数据和集群节点数据进行配对,从而得到多个键数据和集群节点的目标映射关系。需要说明的是,根据哈希槽位的编号数值,同一个集群节点会存在多个键数据与之对应。
通过上述步骤S301至步骤S303能够较为方便地确定键数据和集群节点的对应关系,从而构建出集群节点和键数据之间的映射关系。
请参阅图4,在一些实施例中,步骤S105可以包括但不限于包括步骤S401至步骤S402:
步骤S401,基于目标映射关系,将同一集群节点的键数据划分至同一集合,得到多个键数据集合;
步骤S402,根据键数据集合对每一集群节点进行本地缓存查询,得到每一集群节点的值数据,其中,值数据为实例数据。
在一些实施例的步骤S401中,由于目标映射关系包括每一个键数据与集群节点的对应关系,因此,可以基于目标映射关系,确定每一个集群节点对应的键数据的数量和数据内容,将属于同一个集群节点且哈希槽位相同的所有键数据划分至同一集合,得到多个键数据集合,其中,一个键数据集合对应一个唯一的哈希槽位,一个集群节点可以包括一个或者多个哈希槽位,例如,节点A包括编号为0至300的哈希槽位,节点B包括编号为301至10000的哈希槽位,节点C包括编号为10001至16000的哈希槽位,节点D包括编号为16001至16382的槽哈希位,节点E包括编号为16383的哈希槽位。
在一些实施例的步骤S402中,可以通过批量查询的方式,根据键数据集合对每一集群节点进行本地缓存查询,通过一个查询指令即可对一个键数据集合的多个键数据进行缓存查询,遍历本地缓存的实例数据,得到每一键数据对应的实例数据,并将该实例数据作为键数据的值数据value,从而得到每一集群节点的多个值数据。
通过上述步骤S401至步骤S402能够实现基于集群节点将键数据进行归类,形成属于同一个集群节点的键数据集合,并通过缓存查询的方式从本地缓存中提取到每一个键数据对应的实例数据,提高了集群节点的值数据的获取效率。
在一些实施例的步骤S106中,可以根据键数据与值数据之间的对应关系,将键数据和值数据进行配对处理,构建每一集群节点的键值对,该键值对可以表示为<key,value>的形式。
请参阅图5,在一些实施例中,步骤S107可以包括但不限于包括步骤S501至步骤S503:
步骤S501,获取集群节点的节点数量;
步骤S502,根据节点数量设置目标线程;其中,目标线程的数量与节点数量相同;
步骤S503,基于目标线程对每一集群节点的键值对进行批量查询,得到目标操作数据。
在一些实施例的步骤S501中,可以通过sum函数等统计函数获取集群节点的节点数量。从而使得可以根据集群节点的节点数量来动态的配置线程数,从而提高线程资源的利用率以及数据处理效率。
在一些实施例的步骤S502中,为了提高数据处理效率,避免数据串行阻塞,可以采用异步进行的方式进行数据处理,因此,可以根据节点数量来设置相应的目标线程,其中,为了提高资源的利用率,可以将目标线程的数量设置与节点数量相同。例如,当存在3个集群节点时,则设置3个目标线程进行数据处理。
在一个具体实施例中,假如有3个Redis集群节点,则启用3个目标线程去执行数据处理操作,并设置java的线程工具CountDownLatch有3个执行任务数,主线程利用CountDownLatch.await方法阻塞等待任务数置0,当每一个目标线程执行完,使用CountDownLatch的countDown接口去减少1个任务数,当所有目标线程都执行完时,任务数刚好置0,主线程则阻塞结束,阻塞时间为max(线程1,2,3执行时间)。通过这一方式能够有效地避免串行执行的时间叠加以及出现串行阻塞情况,能够有效地提高数据处理效率以及数据处理的稳定性。
在一些实施例的步骤S503中,可以获取目标集群的查询管道,基于目标线程和查询管道对每一集群节点的键值对进行批量查询,得到每一集群节点的节点操作数据,从而对多个节点操作数据进行合并处理,得到目标操作数据。
上述步骤S501至步骤S503通过采用异步处理的方式设置与集群节点的节点数量相同的目标线程,能够有效地避免数据处理时的串行阻塞,实现了数据的异步处理。同时,基于节点数量的多少来配置目标线程的线程数,也能够在提高数据处理效率的同时,较大限度的提高线程资源的利用效率,避免部分线程处于闲置状态或者过载状态,提高了数据处理的稳定性。
请参阅图6,在一些实施例,步骤S503包括但不限于包括步骤S601至步骤S603:
步骤S601,获取目标集群的查询管道;
步骤S602,基于目标线程和查询管道对每一集群节点的键值对进行批量查询,得到每一集群节点的节点操作数据;
步骤S603,对多个节点操作数据进行合并处理,得到目标操作数据。
在一些实施例的步骤S601中,通过预设的脚本程序或者预设控件获取目标集群的查询管道,该查询管道能够用于处理新的请求。通过这种方式可以发送多个命令来进行数据处理而无需等待回复,最后一步读取回复即可,能够有效地提高数据处理效率。
在一些实施例的步骤S602中,服务器可以基于目标线程和获取的操作指令,使用Redis集群的查询管道Pipeline依次对每一集群节点进行流程操作,该流程操作可以是查询操作或者读写操作等等,从而生成每一集群节点的节点操作数据,该节点操作数据包括对同一集群节点下的每一键值对的批量查询操作数据。
在一些实施例的步骤S603中,可以获取键数据的编号顺序,进而根据键数据的编号顺序,依次对多个节点操作数据进行组装合并,得到目标操作数据,并将该目标操作数据返回至客户端。
通过上述步骤S601至步骤S603能够实现基于一个操作指令对同一集群节点下的多个键值对的批量查询操作,改善了相关技术中需要基于一个操作指令逐一对键值对进行操作的现状,使得能够基于当前的多个操作指令在多个集群节点上分别对多个键值对进行批量处理,并返回目标操作数据,缩短了操作指令的执行时间,有效地提高了数据处理效率。
请参阅图7,在一些实施例中,步骤S603可以包括但不限于包括步骤S701至步骤S702:
步骤S701,获取键数据的编号顺序;
步骤S702,根据编号顺序对多个节点操作数据进行合并,得到目标操作数据。
在一些实施例的步骤S701中,可以通过预设的脚本程序或者计算机程序等获取键数据的编号顺序,该键数据的编号顺序可以是入参时的键数据的输入顺序。
在一些实施例的步骤S702中,根据键数据的编号顺序,依次对多个节点操作数据进行组装合并,得到目标操作数据,并将该目标操作数据返回至客户端。
通过上述步骤S701至步骤S702能够较为清楚地确定每一键数据对应的节点操作数据,基于键数据的输入顺序对节点操作数据进行组装合并,能够为操作对象查看目标操作数据提供较大的便利,提高了数据处理以及数据分析的效率。
本申请实施例的数据处理方法,其通过获取目标集群的集群节点和集群节点的连接信息,连接信息包括每一集群节点和参考槽位数据的映射关系,同时,发送查询指令至客户端,并获取客户端根据查询指令反馈的多个键数据。进一步地,基于预设算法计算每一键数据的候选槽位数据,能够较为方便地对每一键数据进行循环冗余校验和取余处理,得到每一键数据对应的候选槽位数据,能够较为方便地确定每一键数据对应的候选槽位数据的具体情况,从而构建出键数据与哈希槽位之间的映射关系。通过基于连接信息和候选槽位数据,构建多个键数据和每一集群节点之间的目标映射关系,能够较为方便地确定键数据和集群节点的对应关系。系进一步地,基于目标映射关系对集群节点进行查询处理,得到每一集群节点的值数据,能够实现基于集群节点将键数据进行归类,形成属于同一个集群节点的键数据集合,并通过缓存查询的方式从本地缓存中提取到每一个键数据对应的实例数据,提高了集群节点的值数据的获取效率。进一步地,基于键数据和值数据,构建每一集群节点的键值对,能够较为方便地构建出集群节点的键值对。最后,根据预先获取的操作指令对键值对进行批量查询,得到目标操作数据,能够较为方便地对同一个集群节点的键值对进行批量查询,使得不仅限于根据操作指令对每一键值对逐一进行查询,提高了数据查询效率。通过采用异步处理的方式设置与集群节点的节点数量相同的目标线程,能够有效地避免数据处理时的串行阻塞,实现了数据的异步处理。同时,基于节点数量的多少来配置目标线程的线程数,也能够在提高数据处理效率的同时,较大限度的提高线程资源的利用效率,避免部分线程处于闲置或者过载状态,提高了数据处理的稳定性。本申请实施例的数据处理方法较好地实现了Redis集群的管道操作,不仅能够有效地弥补Redis集群自身无法提高批量查询的缺陷,也能够较好地缩短批量查询的响应时间,相较于单指令模式,本申请实施例的数据处理方法能够基于当前的多个操作指令在多个集群节点上分别对多个键值对进行批量处理,并返回目标操作数据,缩短了操作指令的执行时间,有效地提高了数据处理效率,同时也为Redis集群的数据缓存提供了较大的便利。
请参阅图8,本申请实施例还提供一种数据处理装置,应用于服务器端,可以实现上述数据处理方法,该装置包括:
节点信息获取模块801,用于获取目标集群的集群节点和集群节点的连接信息,连接信息包括每一集群节点和参考槽位数据的映射关系;
键数据获取模块802,用于发送查询指令至客户端,并获取客户端根据查询指令反馈的多个键数据;
槽位数据计算模块803,用于基于预设算法计算每一键数据的候选槽位数据;
关系构建模块804,用于基于连接信息和候选槽位数据,构建多个键数据和每一集群节点之间的目标映射关系;
查询模块805,用于基于目标映射关系对集群节点进行查询处理,得到每一集群节点的值数据;
键值对构建模块806,用于基于键数据和值数据,构建每一集群节点的键值对;
批量处理模块807,用于根据预先获取的操作指令对键值对进行批量查询,得到目标操作数据。
在一些实施例中,槽位数据计算模块803包括:
校验单元,用于根据预设算法对每一键数据进行校验处理,得到目标哈希数据;
取余单元,用于对目标哈希数据进行取余处理,得到候选槽位数据。
在一些实施例中,关系构建模块804包括:
解析单元,用于对连接信息进行解析处理,得到每一集群节点对应的参考槽位数据;
比对单元,用于比对参考槽位数据和候选槽位数据;
配对单元,用于若参考槽位数据和候选槽位数据一致,则将键数据和集群节点进行配对,得到键数据和集群节点的目标映射关系。
在一些实施例中,查询模块805包括:
数据划分单元,用于基于目标映射关系,将同一集群节点的键数据划分至同一集合,得到多个键数据集合;
缓存查询单元,用于根据键数据集合对每一集群节点进行本地缓存查询,得到每一集群节点的值数据,其中,值数据为实例数据。
在一些实施例中,批量处理模块807包括:
数量获取单元,用于获取集群节点的节点数量;
线程设置单元,用于根据节点数量设置目标线程;其中,目标线程的数量与节点数量相同;
批量查询单元,用于基于目标线程对每一集群节点的键值对进行批量查询,得到目标操作数据。
在一些实施例中,批量查询单元包括:
管道获取子单元,用于获取目标集群的查询管道;
查询子单元,用于基于目标线程和查询管道对每一集群节点的键值对进行批量查询,得到每一集群节点的节点操作数据;
合并子单元,用于对多个节点操作数据进行合并处理,得到目标操作数据。
在一些实施例中,合并子单元包括:
顺序获取组件,用于获取键数据的编号顺序;
合并组件,用于根据编号顺序对多个节点操作数据进行合并,得到目标操作数据。
该数据处理装置的具体实施方式与上述数据处理方法的具体实施例基本相同,在此不再赘述。
本申请实施例还提供了一种电子设备,电子设备包括:存储器、处理器、存储在存储器上并可在处理器上运行的程序以及用于实现处理器和存储器之间的连接通信的数据总线,程序被处理器执行时实现上述数据处理方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
请参阅图9,图9示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器901,可以采用通用的CPU(Central ProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器902,可以采用只读存储器(ReadOnlyMemory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行本申请实施例的数据处理方法;
输入/输出接口903,用于实现信息输入及输出;
通信接口904,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线905,在设备的各个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息;
其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述数据处理方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供的数据处理方法、数据处理装置、电子设备及计算机可读存储介质,其通过获取目标集群的集群节点和集群节点的连接信息,连接信息包括每一集群节点和参考槽位数据的映射关系,同时,发送查询指令至客户端,并获取客户端根据查询指令反馈的多个键数据。进一步地,基于预设算法计算每一键数据的候选槽位数据,能够较为方便地对每一键数据进行循环冗余校验和取余处理,得到每一键数据对应的候选槽位数据,能够较为方便地确定每一键数据对应的候选槽位数据的具体情况,从而构建出键数据与哈希槽位之间的映射关系。通过基于连接信息和候选槽位数据,构建多个键数据和每一集群节点之间的目标映射关系,能够较为方便地确定键数据和集群节点的对应关系。系进一步地,基于目标映射关系对集群节点进行查询处理,得到每一集群节点的值数据,能够实现基于集群节点将键数据进行归类,形成属于同一个集群节点的键数据集合,并通过缓存查询的方式从本地缓存中提取到每一个键数据对应的实例数据,提高了集群节点的值数据的获取效率。进一步地,基于键数据和值数据,构建每一集群节点的键值对,能够较为方便地构建出集群节点的键值对。最后,根据预先获取的操作指令对键值对进行批量查询,得到目标操作数据,能够较为方便地对同一个集群节点的键值对进行批量查询,使得不仅限于根据操作指令对每一键值对逐一进行查询,提高了数据查询效率,同时也为Redis集群的数据缓存提供了较大的便利。通过采用异步处理的方式设置与集群节点的节点数量相同的目标线程,能够有效地避免数据处理时的串行阻塞,实现了数据的异步处理。同时,基于节点数量的多少来配置目标线程的线程数,也能够在提高数据处理效率的同时,较大限度的提高线程资源的利用效率,避免部分线程处于闲置或者过载状态,提高了数据处理的稳定性。本申请实施例的数据处理方法较好地实现了Redis集群的管道操作,不仅能够有效地弥补Redis集群自身无法提高批量查询的缺陷,也能够较好地缩短批量查询的响应时间,相较于单指令模式,本申请实施例的数据处理方法能够基于当前的多个操作指令在多个集群节点上分别对多个键值对进行批量处理,并返回目标操作数据,缩短了操作指令的执行时间,有效地提高了数据处理效率,同时也为Redis集群的数据缓存提供了较大的便利。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1-7中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,应用于服务器端,所述方法包括:
获取目标集群的集群节点和所述集群节点的连接信息,所述连接信息包括每一所述集群节点和参考槽位数据的映射关系;
发送查询指令至客户端,并获取所述客户端根据所述查询指令反馈的多个键数据;
基于预设算法计算每一所述键数据的候选槽位数据;
基于所述连接信息和所述候选槽位数据,构建多个所述键数据和每一所述集群节点之间的目标映射关系;
基于所述目标映射关系对所述集群节点进行查询处理,得到每一所述集群节点的值数据;
基于所述键数据和所述值数据,构建每一所述集群节点的键值对;
根据预先获取的操作指令对所述键值对进行批量查询,得到目标操作数据。
2.根据权利要求1所述的数据处理方法,其特征在于,所述基于预设算法计算每一所述键数据的候选槽位数据,包括:
根据所述预设算法对每一所述键数据进行校验处理,得到目标哈希数据;
对所述目标哈希数据进行取余处理,得到所述候选槽位数据。
3.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述连接信息和所述候选槽位数据,构建多个所述键数据和每一所述集群节点之间的目标映射关系,包括:
对所述连接信息进行解析处理,得到每一所述集群节点对应的参考槽位数据;
比对所述参考槽位数据和所述候选槽位数据;
若所述参考槽位数据和所述候选槽位数据一致,则将所述键数据和集群节点进行配对,得到所述键数据和所述集群节点的目标映射关系。
4.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述目标映射关系对所述集群节点进行查询处理,得到每一所述集群节点的值数据,包括:
基于所述目标映射关系,将同一所述集群节点的键数据划分至同一集合,得到多个键数据集合;
根据所述键数据集合对每一所述集群节点进行本地缓存查询,得到每一所述集群节点的值数据,其中,所述值数据为实例数据。
5.根据权利要求1至4任一项所述的数据处理方法,其特征在于,所述根据预先获取的操作指令对所述键值对进行批量查询,得到目标操作数据,包括:
获取所述集群节点的节点数量;
根据所述节点数量设置目标线程;其中,所述目标线程的数量与所述节点数量相同;
基于所述目标线程对每一所述集群节点的键值对进行批量查询,得到所述目标操作数据。
6.根据权利要求5所述的数据处理方法,其特征在于,所述基于所述目标线程对每一所述集群节点的键值对进行批量查询,得到所述目标操作数据,包括:
获取所述目标集群的查询管道;
基于所述目标线程和所述查询管道对每一所述集群节点的键值对进行批量查询,得到每一所述集群节点的节点操作数据;
对多个所述节点操作数据进行合并处理,得到所述目标操作数据。
7.根据权利要求6所述的数据处理方法,其特征在于,所述对多个所述节点操作数据进行合并处理,得到所述目标操作数据,包括:
获取所述键数据的编号顺序;
根据所述编号顺序对多个所述节点操作数据进行合并,得到所述目标操作数据。
8.一种数据处理装置,其特征在于,应用于服务器端,所述装置包括:
节点信息获取模块,用于获取目标集群的集群节点和所述集群节点的连接信息,所述连接信息包括每一所述集群节点和参考槽位数据的映射关系;
键数据获取模块,用于发送查询指令至客户端,并获取所述客户端根据所述查询指令反馈的多个键数据;
槽位数据计算模块,用于基于预设算法计算每一所述键数据的候选槽位数据;
查询模块,用于基于所述连接信息和所述候选槽位数据,构建多个所述键数据和每一所述集群节点之间的目标映射关系;
基于所述目标映射关系对所述集群节点进行查询处理,得到每一所述集群节点的值数据;
键值对构建模块,用于基于所述键数据和所述值数据,构建每一所述集群节点的键值对;
批量处理模块,用于根据预先获取的操作指令对所述键值对进行批量查询,得到目标操作数据。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的数据处理方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211150228.XA CN115455006A (zh) | 2022-09-21 | 2022-09-21 | 数据处理方法、数据处理装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211150228.XA CN115455006A (zh) | 2022-09-21 | 2022-09-21 | 数据处理方法、数据处理装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115455006A true CN115455006A (zh) | 2022-12-09 |
Family
ID=84304221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211150228.XA Pending CN115455006A (zh) | 2022-09-21 | 2022-09-21 | 数据处理方法、数据处理装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115455006A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117439993A (zh) * | 2023-12-22 | 2024-01-23 | 中电云计算技术有限公司 | Redis集群负载均衡方法、装置、设备及存储介质 |
-
2022
- 2022-09-21 CN CN202211150228.XA patent/CN115455006A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117439993A (zh) * | 2023-12-22 | 2024-01-23 | 中电云计算技术有限公司 | Redis集群负载均衡方法、装置、设备及存储介质 |
CN117439993B (zh) * | 2023-12-22 | 2024-04-16 | 中电云计算技术有限公司 | Redis集群负载均衡方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Carpenter et al. | Cassandra: The Definitive Guide,(Revised) | |
CN112800095B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN111414350B (zh) | 一种服务生成方法及装置 | |
EP4141690A1 (en) | Automated transformation of hierarchical data from a source data format to a target data format | |
Nguyen et al. | Prefetching-based metadata management in advanced multitenant hadoop | |
CN116560683A (zh) | 软件更新方法、装置、设备及存储介质 | |
CN115455006A (zh) | 数据处理方法、数据处理装置、电子设备及存储介质 | |
CN113515303B (zh) | 一种项目转型方法、装置和设备 | |
CN113672692A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
Antonov et al. | Development and implementation of the Algo500 scalable digital platform architecture | |
US20150347402A1 (en) | System and method for enabling a client system to generate file system operations on a file system data set using a virtual namespace | |
US11074401B2 (en) | Merging delta object notation documents | |
US11023674B2 (en) | Generation and application of object notation deltas | |
Lissandrini et al. | An evaluation methodology and experimental comparison of graph databases | |
CN114490865A (zh) | 数据库同步方法、装置、设备及计算机存储介质 | |
US10162626B2 (en) | Ordered cache tiering for program build files | |
Cosulschi et al. | Implementing bfs-based traversals of rdf graphs over mapreduce efficiently | |
Tian et al. | Horae: causal consistency model based on hot data governance | |
CN115840786B (zh) | 一种数据湖数据同步方法及装置 | |
CN113986305B (zh) | B/s模型升级的检测方法、装置、设备和存储介质 | |
WO2019018146A1 (en) | GENERATION OF A SEMANTIC DIFFERENTIATOR | |
CN114547404B (zh) | 一种大数据平台系统 | |
Nagireddy | Job recommendation system with NoSQL databases: Neo4j, MongoDB, DynamoDB, Cassandra and their critical comparison | |
Ruflin et al. | Storing and Analyzing Social Data | |
Parab | HBase v/s MongoDB |
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 |