CN108418874A - 跨广域网数据回导方法、装置、计算机设备及存储介质 - Google Patents
跨广域网数据回导方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN108418874A CN108418874A CN201810145694.6A CN201810145694A CN108418874A CN 108418874 A CN108418874 A CN 108418874A CN 201810145694 A CN201810145694 A CN 201810145694A CN 108418874 A CN108418874 A CN 108418874A
- Authority
- CN
- China
- Prior art keywords
- redis
- redis cluster
- pipeline
- informations
- data
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种跨广域网数据回导方法、装置、计算机设备及存储介质。该方法包括:在Hadoop服务器所调用的java封装类中增加管道类,并在管道类中构建用于传入Redis集群对象和密码的函数;管道类同步读取Hadoop服务器中的待回导数据,得到Redis集群信息;通过池对象获取当前的Redis集群信息;若当前的Redis集群信息与前一时刻Redis集群信息不相同,根据当前的Redis集群信息将管道类存储的待回导数据提交至Redis数据库服务器。该方法在Redis集群信息发生更新时才由管道类将批量数据提交至Redis数据库服务器,减少远程的TCP协议的握手次数和时间,提高了数据回导效率。
Description
技术领域
本申请涉及跨广域网数据传输技术领域,尤其涉及一种跨广域网数据回导方法、装置、计算机设备及存储介质。
背景技术
目前,当Hadoop服务器和Redis数据库服务器分别在不同的城市或省份时(即两者在地理位置上相隔很远),常采用的方法是通过java程序将Hadoop服务器中的大量数据回写到Redis数据库服务器,每回写一次数据需要进行一次TCP协议的握手,这就导致了通过java程序回写数据效率低下。
发明内容
本申请提供了一种跨广域网数据回导方法、装置、计算机设备及存储介质,旨在解决现有技术中通过java程序将Hadoop服务器中的大量数据回写到Redis数据库服务器,每回写一次数据需要进行一次TCP协议的握手,导致了通过java程序回写数据效率低下的问题。
第一方面,本申请提供了一种跨广域网数据回导方法,其包括:
在Hadoop服务器所调用的java封装类中增加管道类,并在管道类中构建用于传入Redis集群对象和密码的函数;
管道类同步读取Hadoop服务器中的待回导数据,得到Redis集群信息;
通过池对象获取当前的Redis集群信息;
若当前的Redis集群信息与前一时刻Redis集群信息不相同,根据当前的Redis集群信息将管道类存储的待回导数据提交至Redis数据库服务器。
第二方面,本申请提供了一种跨广域网数据回导装置,其包括:
管道类搭建单元,用于在Hadoop服务器所调用的java封装类中增加管道类,并在管道类中构建用于传入Redis集群对象和密码的函数;
数据读取单元,用于管道类同步读取Hadoop服务器中的待回导数据,得到Redis集群信息;
集群信息获取单元,用于通过池对象获取当前的Redis集群信息;
数据回导单元,用于若当前的Redis集群信息与前一时刻Redis集群信息不相同,根据当前的Redis集群信息将管道类存储的待回导数据提交至Redis数据库服务器。
第三方面,本申请又提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请提供的任一项所述的跨广域网数据回导方法。
第四方面,本申请还提供了一种存储介质,其中所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行本申请提供的任一项所述的跨广域网数据回导方法。
本申请提供一种跨广域网数据回导方法、装置、计算机设备及存储介质。该方法在Hadoop服务器所调用的java封装类中增加管道类,并在管道类中构建用于传入Redis集群对象和密码的函数;管道类同步读取Hadoop服务器中的待回导数据,得到Redis集群信息;通过池对象获取当前的Redis集群信息;若当前的Redis集群信息与前一时刻Redis集群信息不相同,根据当前的Redis集群信息将管道类存储的待回导数据提交至Redis数据库服务器。该方法在Redis集群信息发生更新时才由管道类将批量数据提交至Redis数据库服务器,减少远程的TCP协议的握手次数和时间,提高了数据回导效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种跨广域网数据回导方法的示意流程图;
图2是本申请实施例提供的一种跨广域网数据回导方法的子流程示意图;
图3是本申请实施例提供的一种跨广域网数据回导方法的另一子流程示意图;
图4是本申请实施例提供的一种跨广域网数据回导方法的另一子流程示意图;
图5是本申请实施例提供的一种跨广域网数据回导方法的另一子流程示意图;
图6为本申请实施例提供的一种跨广域网数据回导装置的示意性框图;
图7为本申请实施例提供的一种跨广域网数据回导装置的子单元示意性框图;
图8为本申请实施例提供的一种跨广域网数据回导装置的另一子单元示意性框图;
图9为本申请实施例提供的一种跨广域网数据回导装置的另一子单元示意性框图;
图10为本申请实施例提供的一种跨广域网数据回导装置的另一子单元示意性框图;
图11为本申请实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1是本申请实施例提供的一种跨广域网数据回导方法的示意流程图。该方法应用于台式电脑、手提电脑、平板电脑等终端中。如图1所示,该方法包括步骤S101~S104。
S101、在Hadoop服务器所调用的java封装类中增加管道类,并在管道类中构建用于传入Redis集群对象和密码的函数。
如图2所示,所述步骤S101包括以下步骤:
S1011、在Hadoop服务器所调用的java封装类中增加JedisClusterPipeline类;
S1012、在JedisClusterPipeline类中构造至少包括获取Redis集群对象的实例列表、超时时间、密码的函数。
在本实施例中,JedisClusterPipeline(JedisCluster是Redis集群客户端,Jedis是redis的java版本的客户端实现,Pipeline是JedisCluster中的管道模式)。在普通情况下,Redis集群客户端与服务器(即server)之间采用的是请求应答的模式(一个请求对应一个应答),如果要完成10个命令,则需要20次交互才能完成。而在管道模式下,所有的请求封装到一个管道内,所有的应答也被封装到一个管道内,这种情况下完成命令就只需要两次交互,极大地提高了数据的网络传输效率。
其中,在JedisClusterPipeline类内构造的函数,是用来实现Hadoop服务器与Redis集群客户端进行自动连接及数据传递,即Hadoop服务器根据函数内的密码自动连接Redis集群客户端(即Redis数据库服务器),并将函数内的实例列表传输至Redis集群客户端,且一般传递数据的超时时间(一旦超出该超时时间则中断数据回传)也在函数内限定。
例如,构造的函数如下:
redisCluster=new JedisCluster(nodeList,TIME_OUT,3000,5,"passwd123",poolConfig);
其中,nodeList表示redis实例列表;TIME_OUT表示超时时间,passwd123表示密码;poolConfig表示Java的common-pool包中的GenericObjectPoolConfig(GenericObjectPool为通用对象池,GenericObjectPoolConfig为通用对象池的配置,其中可进行配置的参数主要有最小对象数量,最大对象数量,超时时间等)。
S102、管道类同步读取Hadoop服务器中的待回导数据,得到Redis集群信息。
如图3所示,所述步骤S102中包括以下步骤:
S1021、对Redis集群对象进行实例化得到实例化Redis集群对象,并将实例化Redis集群对象存储至Redis集群对象的实例列表;
S1022、若检测到数据回导指令,将待回导数据通过set操作同步缓存至实例化Redis集群对象,得到Redis集群信息。
本实施例中,函数中的nodeList用于写入实例化Redis集群对象;因JedisClusterPipeline类是一个比较抽象的,只有进行了实例化这一操作,才能将对Redis集群对象转变成实例化的对象;例如class1是一个类,那么class1c=new class1();就是实例化类对象的过程,而c就是实例化后的对象。set操作即set方法,在Java中使用set,可以方便地将需要的数据以保存在一个实例化对象中;当将所有待回导数据都通过set操作同步至实例化Redis集群对象,也即是将所有待回导数据都通过set操作同步至nodeList中,nodeList与数组的功能类似,就是用来存储数据且具有时效性。本申请中,函数与Redis集群信息的区别在于,函数的nodeList还未写入回导数据,而Redis集群信息就是nodeList中已写入回导数据。
S103、通过池对象获取当前的Redis集群信息。
在一实施例中,根据JedisPool对象从pool缓存中获取当前的Redis集群信息。其中,连接池JedisPool的初始化需要两个参数:ip(即IP地址)、port(即端口)。通过池对象能自动且快速的获取当前的Redis集群信息。
S104、若当前的Redis集群信息与前一时刻Redis集群信息不相同,根据当前的Redis集群信息将管道类存储的待回导数据提交至Redis数据库服务器。
如图4所示,所述步骤S104包括以下步骤:
S1041、将Redis集群信息更新为当前的Redis集群信息;
S1042、通过put操作将pool缓存中当前的Redis集群信息按预设的指定数据量提交至Redis数据库服务器。
在本实施例中,将Redis集群信息发生变更作为待回导数据开始传输的启动条件,是为了更有效的减少Hadoop服务器与Redis数据库服务器之间远程TCP协议握手时间。
若当前的Redis集群信息与前一时刻Redis集群信息不相同,则表示JedisPool对象检测到Redis集群的实例列表中有数据发生变更,或是超时时间、密码发生改变,此时判定Redis集群信息发生变更,并启动回导操作。数据发生变更的具体判断方法是将当前时刻的Redis集群的实例列表、超时时间、或密码与前一时刻(前一时刻与当前时刻的间隔为预设的检测周期,如1分钟)相比是否完全相同,若不完全相同则判定发生数据变更。其中,预设的指定数据量是用户根据Redis数据库服务器接收数据的性能来设定的,例如可将指定数据量设置为1-512Mb,当启动pool缓存中的数据回导时则每次回传指定数据量以确保传输速率,并减小带宽的压力。
如图5所示,所述步骤S1042包括以下步骤:
S10421、将当前的Redis集群信息进行序列化,得到序列化对象;
S10422、将指定数据量的序列化对象存储至byte[]数组;
S10423、将byte[]数组缓存至Redis数据库服务器。
步骤S104及之前的步骤,都是在Hadoop服务器的JedisClusterPipeline类进行的各种操作,目的在于把待回导数据进行实例化后封装进JedisClusterPipeline类,由JedisClusterPipeline类的put操作将pool缓存中的Redis集群信息按预设的指定量提交至Redis数据库服务器。
而将当前的Redis集群信息传输至Redis数据库服务器需进行序列化处理才能确保稳定的传输,故将当前的Redis集群信息进行序列化得到序列化对象,将指定数据量的序列化对象存储至byte[]数组以传输至Redis数据库服务器。
可见,该方法在Redis集群信息发生更新时才由管道类将批量数据提交至Redis数据库服务器,减少远程的TCP协议的握手次数和时间,提高了数据回导效率。
本申请实施例还提供一种跨广域网数据回导装置,该跨广域网数据回导装置用于执行前述任一项跨广域网数据回导方法。具体地,请参阅图6,图6是本申请实施例提供的一种跨广域网数据回导装置的示意性框图。跨广域网数据回导装置100可以安装于台式电脑、平板电脑、手提电脑、等终端中。
如图6所示,跨广域网数据回导装置100包括管道类搭建单元101、数据读取单元102、集群信息获取单元103、数据回导单元104。
管道类搭建单元101,用于在Hadoop服务器所调用的java封装类中增加管道类,并在管道类中构建用于传入Redis集群对象和密码的函数。
如图7所示,所述管道类搭建单元101包括以子单元:
管道类增加单元1011,用于在Hadoop服务器所调用的java封装类中增加JedisClusterPipeline类;
函数构造单元1012,用于在JedisClusterPipeline类中构造至少包括获取Redis集群对象的实例列表、超时时间、密码的函数。
在本实施例中,JedisClusterPipeline(JedisCluster是Redis集群客户端,Jedis是redis的java版本的客户端实现,Pipeline是JedisCluster中的管道模式)。在普通情况下,Redis集群客户端与服务器(即server)之间采用的是请求应答的模式(一个请求对应一个应答),如果要完成10个命令,则需要20次交互才能完成。而在管道模式下,所有的请求封装到一个管道内,所有的应答也被封装到一个管道内,这种情况下完成命令就只需要两次交互,极大地提高了数据的网络传输效率。
其中,在JedisClusterPipeline类内构造的函数,是用来实现Hadoop服务器与Redis集群客户端进行自动连接及数据传递,即Hadoop服务器根据函数内的密码自动连接Redis集群客户端(即Redis数据库服务器),并将函数内的实例列表传输至Redis集群客户端,且一般传递数据的超时时间也在函数内限定。
例如,构造的函数如下:
redisCluster=new JedisCluster(nodeList,TIME_OUT,3000,5,"passwd123",poolConfig);
其中,nodeList表示redis实例列表;TIME_OUT表示超时时间,passwd123表示密码;poolConfig表示Java的common-pool包中的GenericObjectPoolConfig(GenericObjectPool为通用对象池,GenericObjectPoolConfig为通用对象池的配置,其中可进行配置的参数主要有最小对象数量,最大对象数量,超时时间等)。
数据读取单元102,用于管道类同步读取Hadoop服务器中的待回导数据,得到Redis集群信息。
如图8所示,所述数据读取单元102包括以下子单元:
实例化单元1021,用于对Redis集群对象进行实例化得到实例化Redis集群对象,并将实例化Redis集群对象存储至Redis集群对象的实例列表;
同步缓存单元1022,用于若检测到数据回导指令,将待回导数据通过set操作同步缓存至实例化Redis集群对象,得到Redis集群信息。
本实施例中,函数中的nodeList用于写入实例化Redis集群对象;因JedisClusterPipeline类是一个比较抽象的,只有进行了实例化这一操作,才能将对Redis集群对象转变成实例化的对象;例如class1是一个类,那么class1c=new class1();就是实例化类对象的过程,而c就是实例化后的对象。set操作即set方法,在Java中使用Set,可以方便地将需要的数据以保存在一个实例化对象中;当将所有待回导数据都通过set操作同步至实例化Redis集群对象,也即是将所有待回导数据都通过set操作同步至nodeList中,nodeList与数组的功能类似,就是用来存储数据且具有时效性。本申请中,函数与Redis集群信息的区别在于,函数的nodeList还未写入回导数据,而Redis集群信息就是nodeList中已写入回导数据。
集群信息获取单元103,用于通过池对象获取当前的Redis集群信息。
在一实施例中,根据JedisPool对象从pool缓存中获取当前的Redis集群信息。其中,连接池JedisPool的初始化需要两个参数:ip(即IP地址)、port(即端口)。通过池对象能自动且快速的获取当前的Redis集群信息。
数据回导单元104,用于若当前的Redis集群信息与前一时刻Redis集群信息不相同,根据当前的Redis集群信息将管道类存储的待回导数据提交至Redis数据库服务器。
如图9所示,所述数据回导单元104包括以下子单元:
更新单元1041,用于将Redis集群信息更新为当前的Redis集群信息;
数据提交单元1042,用于通过put操作将pool缓存中当前的Redis集群信息按预设的指定数据量提交至Redis数据库服务器。
在本实施例中,将Redis集群信息发生变更作为待回导数据开始传输的启动条件,是为了更有效的减少Hadoop服务器与Redis数据库服务器之间远程TCP协议握手时间。
若当前的Redis集群信息与前一时刻Redis集群信息不相同,则表示JedisPool对象检测到Redis集群的实例列表中有数据发生变更,或是超时时间、密码发生改变,此时判定Redis集群信息发生变更,并启动回导操作。数据发生变更的具体判断方法是将当前时刻的Redis集群的实例列表、超时时间、或密码与前一时刻(前一时刻与当前时刻的间隔为预设的检测周期,如1分钟)相比是否完全相同,若不完全相同则判定发生数据变更。其中,预设的指定数据量是用户根据Redis数据库服务器接收数据的性能来设定的,例如可将指定数据量设置为1-512Mb,当启动pool缓存中的数据回导时则每次回传指定数据量以确保传输速率,并减小带宽的压力。
如图10所示,所述数据提交单元1042包括以子单元:
序列化单元10421,用于将当前的Redis集群信息进行序列化,得到序列化对象;
数组存储单元10422,用于将指定数据量的序列化对象存储至byte[]数组;
数组传输单元10423,用于将byte[]数组缓存至Redis数据库服务器。
在Hadoop服务器的JedisClusterPipeline类进行的各种操作,目的在于把待回导数据进行实例化后封装进JedisClusterPipeline类,由JedisClusterPipeline类的put操作将pool缓存中的Redis集群信息按预设的指定量提交至Redis数据库服务器。
而将当前的Redis集群信息传输至Redis数据库服务器需进行序列化处理才能确保稳定的传输,故将当前的Redis集群信息进行序列化得到序列化对象,将指定数据量的序列化对象存储至byte[]数组以传输至Redis数据库服务器。
可见,该装置在Redis集群信息发生更新时才由管道类将批量数据提交至Redis数据库服务器,减少远程的TCP协议的握手次数和时间,提高了数据回导效率。
上述跨广域网数据回导装置可以实现为一种计算机程序的形式,该计算机程序可以在如图11所示的计算机设备上运行。
请参阅图11,图11是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500设备可以是终端。该终端可以是平板电脑、笔记本电脑、台式电脑、个人数字助理等电子设备。
参阅图11,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种跨广域网数据回导方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种跨广域网数据回导方法。
该网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:在Hadoop服务器所调用的java封装类中增加管道类,并在管道类中构建用于传入Redis集群对象和密码的函数;管道类同步读取Hadoop服务器中的待回导数据,得到Redis集群信息;通过池对象获取当前的Redis集群信息;若当前的Redis集群信息与前一时刻Redis集群信息不相同,根据当前的Redis集群信息将管道类存储的待回导数据提交至Redis数据库服务器。
在一实施例中,处理器502还执行如下操作:在Hadoop服务器所调用的java封装类中增加JedisClusterPipeline类;在JedisClusterPipeline类中构造至少包括获取Redis集群对象的实例列表、超时时间、密码的函数。
在一实施例中,处理器502还执行如下操作:对Redis集群对象进行实例化得到实例化Redis集群对象,并将实例化Redis集群对象存储至Redis集群对象的实例列表;若检测到数据回导指令,将待回导数据通过set操作同步缓存至实例化Redis集群对象,得到Redis集群信息。
在一实施例中,所述通过池对象获取当前的Redis集群信息中,根据JedisPool对象从pool缓存中获取当前的Redis集群信息。
在一实施例中,处理器502还执行如下操作:将Redis集群信息更新为当前的Redis集群信息;通过put操作将pool缓存中当前的Redis集群信息按预设的指定数据量提交至Redis数据库服务器。
在一实施例中,处理器502还执行如下操作:将当前的Redis集群信息进行序列化,得到序列化对象;将指定数据量的序列化对象存储至byte[]数组;将byte[]数组缓存至Redis数据库服务器。
本领域技术人员可以理解,图11中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图11所示实施例一致,在此不再赘述。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本申请的另一实施例中提供一种存储介质。该存储介质可以为存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时实现:在Hadoop服务器所调用的java封装类中增加管道类,并在管道类中构建用于传入Redis集群对象和密码的函数;管道类同步读取Hadoop服务器中的待回导数据,得到Redis集群信息;通过池对象获取当前的Redis集群信息;若当前的Redis集群信息与前一时刻Redis集群信息不相同,根据当前的Redis集群信息将管道类存储的待回导数据提交至Redis数据库服务器。
在一实施例中,该程序指令被处理器执行时实现:在Hadoop服务器所调用的java封装类中增加JedisClusterPipeline类;在JedisClusterPipeline类中构造至少包括获取Redis集群对象的实例列表、超时时间、密码的函数。
在一实施例中,该程序指令被处理器执行时实现:对Redis集群对象进行实例化得到实例化Redis集群对象,并将实例化Redis集群对象存储至Redis集群对象的实例列表;若检测到数据回导指令,将待回导数据通过set操作同步缓存至实例化Redis集群对象,得到Redis集群信息。
在一实施例中,所述通过池对象获取当前的Redis集群信息中,根据JedisPool对象从pool缓存中获取当前的Redis集群信息。
在一实施例中,该程序指令被处理器执行时实现:将Redis集群信息更新为当前的Redis集群信息;通过put操作将pool缓存中当前的Redis集群信息按预设的指定数据量提交至Redis数据库服务器。
在一实施例中,该程序指令被处理器执行时实现:将当前的Redis集群信息进行序列化,得到序列化对象;将指定数据量的序列化对象存储至byte[]数组;将byte[]数组缓存至Redis数据库服务器。
所述存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据回导方法,其特征在于,包括:
在Hadoop服务器所调用的java封装类中增加管道类,并在管道类中构建用于传入Redis集群对象和密码的函数;
管道类同步读取Hadoop服务器中的待回导数据,得到Redis集群信息;
通过池对象获取当前的Redis集群信息;
若当前的Redis集群信息与前一时刻Redis集群信息不相同,根据当前的Redis集群信息将管道类存储的待回导数据提交至Redis数据库服务器。
2.根据权利要求1所述的跨广域网数据回导方法,其特征在于,所述在Hadoop服务器所调用的java封装类中增加管道类,并在管道类中构建用于传入Redis集群对象和密码的函数,包括:
在Hadoop服务器所调用的java封装类中增加JedisClusterPipeline类;
在JedisClusterPipeline类中构造至少包括获取Redis集群对象的实例列表、超时时间、密码的函数。
3.根据权利要求2所述的跨广域网数据回导方法,其特征在于,所述管道类同步读取Hadoop服务器中的待回导数据,得到Redis集群信息,包括:
对Redis集群对象进行实例化得到实例化Redis集群对象,并将实例化Redis集群对象存储至Redis集群对象的实例列表;
若检测到数据回导指令,将待回导数据通过set操作同步缓存至实例化Redis集群对象,得到Redis集群信息。
4.根据权利要求1所述的跨广域网数据回导方法,其特征在于,所述通过池对象获取当前的Redis集群信息中,根据JedisPool对象从pool缓存中获取当前的Redis集群信息。
5.根据权利要求4所述的跨广域网数据回导方法,其特征在于,所述根据当前的Redis集群信息将管道类存储的待回导数据提交至Redis数据库服务器,包括:
将Redis集群信息更新为当前的Redis集群信息;
通过put操作将pool缓存中当前的Redis集群信息按预设的指定数据量提交至Redis数据库服务器。
6.根据权利要求5所述的跨广域网数据回导方法,其特征在于,所述通过put操作将pool缓存中当前的Redis集群信息按预设的指定数据量提交至Redis数据库服务器,包括:
将当前的Redis集群信息进行序列化,得到序列化对象;
将指定数据量的序列化对象存储至byte[]数组;
将byte[]数组缓存至Redis数据库服务器。
7.一种跨广域网数据回导装置,其特征在于,包括:
管道类搭建单元,用于在Hadoop服务器所调用的java封装类中增加管道类,并在管道类中构建用于传入Redis集群对象和密码的函数;
数据读取单元,用于管道类同步读取Hadoop服务器中的待回导数据,得到Redis集群信息;
集群信息获取单元,用于通过池对象获取当前的Redis集群信息;
数据回导单元,用于若当前的Redis集群信息与前一时刻Redis集群信息不相同,根据当前的Redis集群信息将管道类存储的待回导数据提交至Redis数据库服务器。
8.根据权利要求7所述的跨广域网数据回导装置,其特征在于,所述管道类搭建单元,包括:
管道类增加单元,用于在Hadoop服务器所调用的java封装类中增加JedisClusterPipeline类;
函数构造单元,用于在JedisClusterPipeline类中构造至少包括获取Redis集群对象的实例列表、超时时间、密码的函数。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述的跨广域网数据回导方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-6任一项所述的跨广域网数据回导方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810145694.6A CN108418874B (zh) | 2018-02-12 | 2018-02-12 | 跨广域网数据回导方法、装置、计算机设备及存储介质 |
PCT/CN2018/085354 WO2019153553A1 (zh) | 2018-02-12 | 2018-05-02 | 跨广域网数据回导方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810145694.6A CN108418874B (zh) | 2018-02-12 | 2018-02-12 | 跨广域网数据回导方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108418874A true CN108418874A (zh) | 2018-08-17 |
CN108418874B CN108418874B (zh) | 2021-01-26 |
Family
ID=63128528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810145694.6A Active CN108418874B (zh) | 2018-02-12 | 2018-02-12 | 跨广域网数据回导方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108418874B (zh) |
WO (1) | WO2019153553A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388657A (zh) * | 2018-09-10 | 2019-02-26 | 平安科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN111984663A (zh) * | 2020-08-21 | 2020-11-24 | 西安寰宇卫星测控与数据应用有限公司 | Redis数据库更新方法、装置、计算机设备、存储介质 |
CN112561449A (zh) * | 2020-12-25 | 2021-03-26 | 云汉芯城(上海)互联网科技股份有限公司 | 一种库存信息同步的方法和系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286755B (zh) * | 2020-09-24 | 2023-05-05 | 曙光信息产业股份有限公司 | 集群服务器带外数据采集方法、装置和计算机设备 |
CN112235361B (zh) * | 2020-09-28 | 2022-12-27 | 青海绿能数据有限公司 | 一种光伏电站数据转接平台 |
CN112597170B (zh) * | 2020-12-31 | 2024-02-06 | 平安银行股份有限公司 | Redis数据库的优化方法与系统 |
CN114048268A (zh) * | 2021-11-23 | 2022-02-15 | 百融云创科技股份有限公司 | 一种基于事务id的双写技术方法及系统 |
CN114237806B (zh) * | 2021-12-29 | 2024-03-12 | 瀚云科技有限公司 | 一种页面信息的显示方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317658A (zh) * | 2014-10-17 | 2015-01-28 | 华中科技大学 | 一种基于MapReduce的负载自适应任务调度方法 |
US20150178002A1 (en) * | 2013-12-20 | 2015-06-25 | Rambus Inc. | Memory appliance for accessing memory |
US20150248443A1 (en) * | 2014-03-02 | 2015-09-03 | Plexistor Ltd. | Hierarchical host-based storage |
CN107102824A (zh) * | 2017-05-26 | 2017-08-29 | 华中科技大学 | 一种基于存储和加速优化的Hadoop异构方法和系统 |
CN107256132A (zh) * | 2017-06-21 | 2017-10-17 | 桂林电子科技大学 | 一种基于性能测试的异构Redis集群存储分配方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699723B (zh) * | 2013-12-10 | 2018-10-19 | 北京神州泰岳软件股份有限公司 | 数据交换适配器、异构系统之间数据同步系统和方法 |
US20170316094A1 (en) * | 2016-04-29 | 2017-11-02 | Sparkflows, Inc. | Browser based, pluggable, workflow driven big data pipelines and analytics system |
CN107622064A (zh) * | 2016-07-14 | 2018-01-23 | 中国移动通信集团重庆有限公司 | 一种数据读取方法及系统 |
CN106815338A (zh) * | 2016-12-25 | 2017-06-09 | 北京中海投资管理有限公司 | 一种大数据的实时存储、处理和查询系统 |
CN107609061A (zh) * | 2017-08-28 | 2018-01-19 | 武汉奇米网络科技有限公司 | 一种数据同步的方法和装置 |
-
2018
- 2018-02-12 CN CN201810145694.6A patent/CN108418874B/zh active Active
- 2018-05-02 WO PCT/CN2018/085354 patent/WO2019153553A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150178002A1 (en) * | 2013-12-20 | 2015-06-25 | Rambus Inc. | Memory appliance for accessing memory |
US20150248443A1 (en) * | 2014-03-02 | 2015-09-03 | Plexistor Ltd. | Hierarchical host-based storage |
CN104317658A (zh) * | 2014-10-17 | 2015-01-28 | 华中科技大学 | 一种基于MapReduce的负载自适应任务调度方法 |
CN107102824A (zh) * | 2017-05-26 | 2017-08-29 | 华中科技大学 | 一种基于存储和加速优化的Hadoop异构方法和系统 |
CN107256132A (zh) * | 2017-06-21 | 2017-10-17 | 桂林电子科技大学 | 一种基于性能测试的异构Redis集群存储分配方法 |
Non-Patent Citations (1)
Title |
---|
阳二快跑: ""redis集群客户端JedisCluster优化-管道(pipeline)模式支持"", 《CSDN》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388657A (zh) * | 2018-09-10 | 2019-02-26 | 平安科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN109388657B (zh) * | 2018-09-10 | 2023-08-08 | 平安科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN111984663A (zh) * | 2020-08-21 | 2020-11-24 | 西安寰宇卫星测控与数据应用有限公司 | Redis数据库更新方法、装置、计算机设备、存储介质 |
CN111984663B (zh) * | 2020-08-21 | 2024-03-12 | 西安寰宇卫星测控与数据应用有限公司 | Redis数据库更新方法、装置、计算机设备、存储介质 |
CN112561449A (zh) * | 2020-12-25 | 2021-03-26 | 云汉芯城(上海)互联网科技股份有限公司 | 一种库存信息同步的方法和系统 |
CN112561449B (zh) * | 2020-12-25 | 2022-05-10 | 云汉芯城(上海)互联网科技股份有限公司 | 一种库存信息同步的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2019153553A1 (zh) | 2019-08-15 |
CN108418874B (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108418874A (zh) | 跨广域网数据回导方法、装置、计算机设备及存储介质 | |
US11729073B2 (en) | Dynamic scaling of storage volumes for storage client file systems | |
US20210044649A1 (en) | Efficient and reliable host distribution of totally ordered global state | |
CN106899680B (zh) | 多区块链的分片处理方法和装置 | |
AU2015346530C1 (en) | System for managing and scheduling containers | |
US7912949B2 (en) | Systems and methods for recording changes to a data store and propagating changes to a client application | |
CN104639596B (zh) | 用于使用rdma的低等待时间fifo消息收发中支持多个发送器的系统和方法 | |
Luo et al. | Plink: Discovering and exploiting locality for accelerated distributed training on the public cloud | |
CN108415847A (zh) | 性能测试方法、装置、计算机设备及存储介质 | |
CN110602156A (zh) | 一种负载均衡调度方法及装置 | |
CN113220715B (zh) | 一种数据处理方法、系统、计算机及可读存储介质 | |
CN103827842B (zh) | 向控制器存储器空间写入消息 | |
CN108683720A (zh) | 一种容器集群服务配置方法及装置 | |
CN106161145A (zh) | 一种服务器系统运行状态信息的监控方法和系统 | |
CN110049113A (zh) | 业务消息处理方法及装置 | |
CN108829529A (zh) | 虚拟机内存共享方法、装置、计算机设备及存储介质 | |
CN112698838B (zh) | 多云容器部署系统及其容器部署方法 | |
WO2021051881A1 (zh) | Vpp 集群管理方法及装置、计算机设备及存储介质 | |
CN113965628A (zh) | 消息调度方法、服务器和存储介质 | |
CN107888663A (zh) | 一种分发文件的方法、设备及计算机可读介质 | |
CN114296953A (zh) | 一种多云异构系统及任务处理方法 | |
CN109933595A (zh) | 一种物联网设备信息共享系统、装置及终端设备 | |
CN109361739A (zh) | 一种下载方法、装置、客户端、系统及存储介质 | |
CN102902593B (zh) | 基于缓存机制的协议分发处理系统 | |
CN110086881A (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 |