CN115051981A - 一种基于Zookeeper的异步下载方法及装置 - Google Patents
一种基于Zookeeper的异步下载方法及装置 Download PDFInfo
- Publication number
- CN115051981A CN115051981A CN202210515994.5A CN202210515994A CN115051981A CN 115051981 A CN115051981 A CN 115051981A CN 202210515994 A CN202210515994 A CN 202210515994A CN 115051981 A CN115051981 A CN 115051981A
- Authority
- CN
- China
- Prior art keywords
- dynamic
- data
- query
- queues
- downloading
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000008859 change Effects 0.000 claims abstract description 42
- 238000012544 monitoring process Methods 0.000 claims description 23
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 230000000712 assembly Effects 0.000 claims description 5
- 238000000429 assembly Methods 0.000 claims description 5
- 241000282813 Aepyceros melampus Species 0.000 description 15
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 241000233805 Phoenix Species 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供了一种基于Zookeeper的异步下载方法及装置,用于降低数据下载所消耗的时间,该方法具体包括:根据m个Hadoop数据源,在Zookeeper中创建m个动态队列,m为Hadoop集群中支持查询功能的组件个数,m为大于等于1的正整数,对m个动态队列的数据下载任务进行并行控制,每个动态队列对应一种数据源,监听程序实时监听m个动态队列的变化情况,根据m个动态队列的变化情况,调用与发生变化的动态队列对应的查询组件从相应的数据源进行数据下载,获取数据下载任务状态及下载后的数据文件。
Description
技术领域
本发明涉及电子技术领域,特别是一种基于Zookeeper的异步下载方法及装置。
背景技术
随着信息技术的快速发展,大数据技术在各行业获得了广泛应用,Hadoop凭借其低廉的软硬件成本、强大的并行计算能力,为各行业提供了大数据解决方案。由于Hadoop存储的数据量大,用户在前台页面进行数据查询时,需要采用分页方式查询,在前台页面进行大数据量下载时,耗费时间较多,给用户带来很大不便。
发明内容
鉴于上述问题,本发明的目的在于提供一种基于Zookeeper的异步下载方法,以便克服上述问题或至少部分地解决上述问题,具体方案如下:
第一方面,本发明实施例公开了一种基于Zookeeper的异步下载方法,所述方法包括:
根据所述m个Hadoop数据源,在Zookeeper中创建m个动态队列,所述m为Hadoop集群中支持查询功能的组件个数,所述m为大于等于1的正整数,对所述m个动态队列的数据下载任务进行并行控制;每个动态队列对应一种数据源;
监听程序实时监听所述m个动态队列的变化情况,根据所述m个动态队列的变化情况,调用与发生变化的动态队列对应的查询组件从相应的数据源进行数据下载;
获取数据下载任务状态及下载后的数据文件。
可选的,所述在Zookeeper中创建m个动态队列,包括:
获取所述m个动态队列,每个动态队列包括一个一级节点;所述一个一级节点对应一种查询组件;
当接收到下载请求时,确定与所述下载请求对应的查询组件;
根据所述与所述下载请求对应的查询组件,确定与所述下载请求对应的一级节点;
在所述与下载请求对应的一级节点下,根据接收到所述下载请求的顺序依次创建二级节点;所述二级节点与所述下载请求一一对应。
可选的,所述在所述与下载请求对应的一级节点下,根据接收到所述下载请求的顺序依次创建二级节点还包括:
当任意一个一级节点下存在多个二级节点时,所述多个二级节点的序列号按照创建所述二级节点的顺序依次递增。
可选的,所述监听程序实时监听所述m个动态队列的变化情况,根据所述m个动态队列的变化情况,调用与动态队列对应的查询组件进行数据下载,包括:
设置m个监听程序,每个监听程序分别实时监听一个动态队列中的二级节点的变化情况;
当所述二级节点发生变化时,根据Zookeeper发出的通知,获取发生变化的所述二级节点所在所述动态队列中的所有二级节点信息;
获取序列号最小的二级节点;根据所述下载请求,将所述序列号最小的二级节点中存储的数据信息封装成数据量查询语句,通过与一级节点相应的查询组件进行查询;并删除所述序列号最小的二级节点。
可选的,所述监听程序实时监听所述m个动态队列的变化情况,根据所述m个动态队列的变化情况,调用与动态队列对应的查询组件进行数据下载,还包括:
当所述查询组件的并发量超过预设阈值时,将监听程序置为等待状态,直至所述查询组件的并发量小于所述预设阈值,继续监听所述m个动态队列的变化情况。
第二方面,本发明公开了一种基于Zookeeper的异步下载装置,所述装置包括:
创建单元,用于根据所述m个Hadoop数据源,在Zookeeper中创建m个动态队列,所述m为Hadoop集群中支持查询功能的组件个数,所述m为大于等于1的正整数,对所述m个动态队列的数据下载任务进行并行控制;每个动态队列对应一种数据源;
监听单元,用于通过监听程序实时监听所述m个动态队列的变化情况,根据所述m个动态队列的变化情况,调用与发生变化的动态队列对应的查询组件从相应的数据源进行数据下载;
获取单元,用于获取数据下载任务状态及下载后的数据文件。
可选的,所述创建单元具体用于:
获取所述m个动态队列,每个动态队列包括一个一级节点;所述一个一级节点对应一种查询组件;
当接收到下载请求时,确定与所述下载请求对应的查询组件;
根据所述与所述下载请求对应的查询组件,确定与所述下载请求对应的一级节点;
在所述与下载请求对应的一级节点下,根据接收到所述下载请求的顺序依次创建二级节点;所述二级节点与所述下载请求一一对应。
可选的,所述创建单元具体用于:
当任意一个一级节点下存在多个二级节点时,所述多个二级节点的序列号按照创建所述二级节点的顺序依次递增。
可选的,所述监听单元具体用于:
设置m个监听程序,每个监听程序分别实时监听一个动态队列中的二级节点的变化情况;
当所述二级节点发生变化时,根据Zookeeper发出的通知,获取发生变化的所述二级节点所在所述动态队列中的所有二级节点信息;
获取序列号最小的二级节点;根据所述下载请求,将所述序列号最小的二级节点中存储的数据信息封装成数据量查询语句,通过与一级节点相应的查询组件进行查询;并删除所述序列号最小的二级节点。
可选的,所述监听单元还用于:
当所述查询组件的并发量超过预设阈值时,将监听程序置为等待状态,直至所述查询组件的并发量小于所述预设阈值,继续监听所述m个动态队列的变化情况。
相较于现有技术,本发明具有以下有益效果:
本申请通过在Zookeeper中针对不同数据源数据创建多个动态队列,监听每个动态队列的变化情况,根据变化情况,调用对应的查询组件从相应的数据源处进行数据下载,从而实现对Hadoop各组件数据下载进行队列控制,避免了多个组件数据下载时互相影响,实现了Hadoop多数据源异步下载的并行化、自动化,扩展了Zookeeper的使用范围。
附图说明
图1为Zookeeper各角色之间的关联关系图;
图2为本申请实施例中基于Zookeeper的异步下载方法的流程示意图;
图3为Zookeeper节点目录结构图;
图4为本申请实施例中基于Zookeeper的异步下载装置的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
由背景技术可知,现有技术中从Hadoop的多个组件进行大量数据下载时,所需要花费的时间较多,本申请实施例针对上述情况,提供了相应的解决方案,下面对本申请实施例提供的具体实现方案进行详细介绍。
参见图1,为Zookeeper各角色之间的关联关系图,Hadoop大数据技术用到了Zookeeper,Zookeeper在分布式***里有着无可替代的地位。Zookeeper作为分布式***的协调者,实现了分布式***用起来像单机且比单机更加可靠。Zookeeper是一个由多个Server组成的集群,一个leader,多个follower,每个Server保存一份数据副本,全局数据一致,分布式读写,数据更新请求由follower转发至leader统一实施。Zookeeper各角色间的关联关系。
参见图2,图2为本申请实施例提供的一种基于Zookeeper的异步下载方法的流程示意图,该方法具体可以包括:
S201:根据所述m个Hadoop数据源,在Zookeeper中创建m个动态队列,所述m为Hadoop集群中支持查询功能的组件个数,所述m为大于等于1的正整数,对所述m个动态队列的数据下载任务进行并行控制;每个动态队列对应一种数据源。
Zookeeper节点为树型结构,一个根节点,多个分支节点。综合利用Zookeeper在进行节点更新时的实时性、顺序性、原子性和一致性,使用Java客户端API对Zookeeper节点进行动态管理。
根据Hadoop集群的本地配置,确定Hadoop集群中支持查询功能的组件个数,支持查询功能的组件可以为Impala、HBase、Phoenix和Kylin等。根据确定出的Hadoop集群中支持查询功能的组件个数,创建m个动态队列,m为Hadoop集群中支持查询功能的组件个数,如,当确定出的查询组件为Impala和Hbase时,m等于2,当确定出的查询组件为Impala、Hbase和Phoenix时,m等于3。根据确定出的查询组件的种类数量,创建与查询组件种类数量相同的动态队列,且每个动态队列对应一种数据源。通过多个动态队列对下载任务进行下载,从而实现对下载任务进行并行控制。
在一种实施例中,步骤S201具体包括:
A1、获取所述m个动态队列,每个动态队列包括一个一级节点;所述一个一级节点对应一种查询组件。
A2、当接收到下载请求时,确定与所述下载请求对应的查询组件。
接收到的下载请求中包括任务编号、用户编号、数据表名称、查询条件等信息,根据查询条件确定下载请求所对应的查询组件。
A3、根据所述与所述下载请求对应的查询组件,确定与所述下载请求对应的一级节点。
A4、在所述与下载请求对应的一级节点下,根据接收到所述下载请求的顺序依次创建二级节点;所述二级节点与所述下载请求一一对应。
其中,一个二级节点对应一个下载请求,当接收到多个需要使用同种查询组件进行下载的下载请求时,则在该查询组件对应的一级节点下创建多个二级节点,该一级节点中的二级节点的序列号按照创建所述二级节点的顺序依次递增。
m个动态队列中的一级节点分别接收不同查询组件的下载请求,在根据下载请求确定出所需要使用的查询组件后,在与该查询组件对应的一级节点下创建二级节点,若该一级节点下存在多个二级节点,则将二级节点的序列号按照创建二级节点的顺序依次递增,且一个一级节点下的二级节点序列号与其他一级节点下的二级节点序列号之间没有关联关系。如,创建“/Impala”、“/HBase”、“/Phoenix”、“/Kylin”4个一级节点(Znode),分别用于接收对Impala、HBase、Phoenix和Kylin的数据下载请求。用户提交数据下载请求后,在对应一级节点下创建二级节点,节点名称前缀为“queue-”,节点的类型为PERSISTENT_SEQUENTIAL(持久有序,PERSISTENT表示持久存储直到有命令删除,SEQUENTIAL表示自增的唯一序列号),序列号格式为10个数字0000000001。参见图3,一级节点为“/Impala”,“/Impala”所属二级节点名称为“/Impala/queue-0000000001”、“/Impala/queue-0000000002”、“/Impala/queue-0000000003”;一级节点为“/Kylin”,“/Kylin”所属二级节点名称为“/Kylin/queue-0000000001”、“/Kylin/queue-0000000002”等。从而使拥有不同查询条件的下载请求,均能分配到对应的动态队列,并按照接收到的下载请求顺序创建对应的二级节点。
S202:监听程序实时监听所述每个动态队列的变化情况,根据所述每个动态队列的变化情况,调用与发生变化的动态队列对应的查询组件从相应的数据源进行数据下载。
实时监听每个动态队列是否发生变化,当发生变化时,确定发生变化的动态队列,选择与动态队列相对应的查询组件进行数据下载。
在一种实施例中,步骤S202具体包括:
B1、设置m个监听程序,每个监听程序分别实时监听一个动态队列中的二级节点的变化情况。m个监听程序与m个动态队列一一对应。
B2、当所述二级节点发生变化时,根据Zookeeper发出的通知,获取发生变化的所述二级节点所在所述动态队列中的所有二级节点信息。
m个监听程序对动态队列中的二级节点的变化情况进行监听,若动态队列中的二级节点发生变化,则根据Zookeeper发出的通知,通过getChildren()方法获取发生变化的二级节点所在动态队列中的所有二级节点的信息。
B3、获取序列号最小的二级节点;根据所述下载请求,将所述序列号最小的二级节点中存储的数据信息封装成数据量查询语句,通过与一级节点相应的查询组件进行查询;并删除所述序列号最小的二级节点。
选择序列号最小的二级节点,由于二级节点中保存有下载请求的数据信息,通过getData方法获取序列号最小的二级节点中存储的数据表名称和查询条件,将数据表名称和查询条件封装成数据量查询语句,选择与该动态队列中的一级节点对应的Hadoop查询组件进行查询,同时将该二级节点从目录结构中删除。例如:客户端监听程序ImpalaWatcher,发现“/Impala”节点下的二级节点有变化后,读取序列号最小的二级节点“/Impala/queue-XXXXXXXXXX”(XXXXXXXXXX刚开始为0000000001)中的信息,然后对Impala组件进行查询,同时将二级节点“/Impala/queue-0000000001从目录结构中进行删除。从而及时根据下载请求的申请顺序依次对二级节点对应的下载请求进行相应处理。
对于查询数据量超过1048576行(excel的上限)的任务,拒绝该下载请求,对于查询数据量小于1048576行的情况,将数据表名称和查询条件封装成查询语句,再次对该查询组件进行数据查询,最后将查询结果封装到excel文件中,并进行压缩,存储到WAS服务器的某个目录中,文件命名为“数据下载任务编号.zip”,供用户进行下载。
为查询组件的并发量设置阈值,当查询组件的并发量超过预设阈值时,监听程序设置为等待状态,直至查询组件的并发量小于预设阈值,此时,唤醒监听程序继续对动态队列中的二级节点的变化情况进行监听。其中,为查询组件的并发量设置阈值,可以为为不同查询组件设置不同的预设阈值,或为所有的查询组件设置相同的预设阈值,或为所有查询组件设置一个总预设阈值。从而确保查询组件的正常运行,避免CPU和内存使用率过高等情况。
S203:获取数据下载任务状态及下载后的数据文件。
当用户要求对自己所提出的下载请求进行追踪时,若该下载请求的任务并未结束,则显示当前下载任务的执行状态,若该下载请求已执行结束,则用户可对执行结果进行下载。
设置统计汇总功能,以便于***管理员针对各个任务的下载时长进行统计分析,对查询组件的预设阈值进行优化。
本发明通过在Zookeeper中针对不同数据源数据创建多个动态队列,监听每个动态队列的变化情况,根据变化情况,调用对应的查询组件从相应的数据源处进行数据下载,从而实现对Hadoop各组件数据下载进行队列控制,由于创建了多个队列分别对应一个查询组件,避免了多个组件数据下载时互相影响,实现了Hadoop多数据源异步下载的并行化、自动化,满足了多用户高并发的数据下载需求,扩展了Zookeeper的使用范围。
本发明实施例提供了一种基于Zookeeper的异步下载装置,所述装置具体包括以下单元:
创建单元401,用于根据所述m个Hadoop数据源,在Zookeeper中创建m个动态队列,所述m为Hadoop集群中支持查询功能的组件个数,所述m为大于等于1的正整数,对所述m个动态队列的数据下载任务进行并行控制;每个动态队列对应一种数据源。
监听单元402,用于通过监听程序实时监听所述m个动态队列的变化情况,根据所述m个动态队列的变化情况,调用与发生变化的动态队列对应的查询组件从相应的数据源进行数据下载。
获取单元403,用于获取数据下载任务状态及下载后的数据文件。
创建单元401,具体用于获取所述m个动态队列,每个动态队列包括一个一级节点;所述一个一级节点对应一种查询组件;
当接收到下载请求时,确定与所述下载请求对应的查询组件;
根据所述与所述下载请求对应的查询组件,确定与所述下载请求对应的一级节点;
在所述与下载请求对应的一级节点下,根据接收到所述下载请求的顺序依次创建二级节点;所述二级节点与所述下载请求一一对应。
当任意一个一级节点下存在多个二级节点时,所述多个二级节点的序列号按照创建所述二级节点的顺序依次递增。
监听单元402,具体用于设置m个监听程序,每个监听程序分别实时监听一个动态队列中的二级节点的变化情况;
当所述二级节点发生变化时,根据Zookeeper发出的通知,获取发生变化的所述二级节点所在所述动态队列中的所有二级节点信息;
获取序列号最小的二级节点;根据所述下载请求,将所述序列号最小的二级节点中存储的数据信息封装成数据量查询语句,通过与一级节点相应的查询组件进行查询;并删除所述序列号最小的二级节点。
当所述查询组件的并发量超过预设阈值时,将监听程序置为等待状态,直至所述查询组件的并发量小于所述预设阈值,继续监听所述m个动态队列的变化情况。
通过在Zookeeper中针对不同数据源数据创建多个动态队列,监听每个动态队列的变化情况,根据变化情况,调用对应的查询组件从相应的数据源处进行数据下载,从而实现对Hadoop各组件数据下载进行队列控制,由于创建了多个队列分别对应一个查询组件,避免了多个组件数据下载时互相影响,实现了Hadoop多数据源异步下载的并行化、自动化,满足了多用户高并发的数据下载需求,扩展了Zookeeper的使用范围。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、装置或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于Zookeeper的异步下载方法,其特征在于,所述方法包括:
根据所述m个Hadoop数据源,在Zookeeper中创建m个动态队列,所述m为Hadoop集群中支持查询功能的组件个数,所述m为大于等于1的正整数,对所述m个动态队列的数据下载任务进行并行控制;每个动态队列对应一种数据源;
监听程序实时监听所述m个动态队列的变化情况,根据所述m个动态队列的变化情况,调用与发生变化的动态队列对应的查询组件从相应的数据源进行数据下载;
获取数据下载任务状态及下载后的数据文件。
2.根据权利要求1所述的方法,其特征在于,所述在Zookeeper中创建m个动态队列,包括:
获取所述m个动态队列,每个动态队列包括一个一级节点;所述一个一级节点对应一种查询组件;
当接收到下载请求时,确定与所述下载请求对应的查询组件;
根据所述与所述下载请求对应的查询组件,确定与所述下载请求对应的一级节点;
在所述与下载请求对应的一级节点下,根据接收到所述下载请求的顺序依次创建二级节点;所述二级节点与所述下载请求一一对应。
3.根据权利要求2所述的方法,其特征在在于,所述在所述与下载请求对应的一级节点下,根据接收到所述下载请求的顺序依次创建二级节点还包括:
当任意一个一级节点下存在多个二级节点时,所述多个二级节点的序列号按照创建所述二级节点的顺序依次递增。
4.根据权利要求2所述的方法,其特征在于,所述监听程序实时监听所述m个动态队列的变化情况,根据所述m个动态队列的变化情况,调用与动态队列对应的查询组件进行数据下载,包括:
设置m个监听程序,每个监听程序分别实时监听一个动态队列中的二级节点的变化情况;
当所述二级节点发生变化时,根据Zookeeper发出的通知,获取发生变化的所述二级节点所在所述动态队列中的所有二级节点信息;
获取序列号最小的二级节点;根据所述下载请求,将所述序列号最小的二级节点中存储的数据信息封装成数据量查询语句,通过与一级节点相应的查询组件进行查询;并删除所述序列号最小的二级节点。
5.根据权利要求4所述的方法,其特征在于,所述监听程序实时监听所述m个动态队列的变化情况,根据所述m个动态队列的变化情况,调用与动态队列对应的查询组件进行数据下载,还包括:
当所述查询组件的并发量超过预设阈值时,将监听程序置为等待状态,直至所述查询组件的并发量小于所述预设阈值,继续监听所述m个动态队列的变化情况。
6.一种基于Zookeeper的异步下载装置,其特征在于,所述装置包括:
创建单元,用于根据所述m个Hadoop数据源,在Zookeeper中创建m个动态队列,所述m为Hadoop集群中支持查询功能的组件个数,所述m为大于等于1的正整数,对所述m个动态队列的数据下载任务进行并行控制;每个动态队列对应一种数据源;
监听单元,用于通过监听程序实时监听所述m个动态队列的变化情况,根据所述m个动态队列的变化情况,调用与发生变化的动态队列对应的查询组件从相应的数据源进行数据下载;
获取单元,用于获取数据下载任务状态及下载后的数据文件。
7.根据权利要求6所述的装置,其特征在于,所述创建单元具体用于:
获取所述m个动态队列,每个动态队列包括一个一级节点;所述一个一级节点对应一种查询组件;
当接收到下载请求时,确定与所述下载请求对应的查询组件;
根据所述与所述下载请求对应的查询组件,确定与所述下载请求对应的一级节点;
在所述与下载请求对应的一级节点下,根据接收到所述下载请求的顺序依次创建二级节点;所述二级节点与所述下载请求一一对应。
8.根据权利要求7所述的装置,其特征在在于,所述创建单元,具体用于:
当任意一个一级节点下存在多个二级节点时,所述多个二级节点的序列号按照创建所述二级节点的顺序依次递增。
9.根据权利要求7所述的装置,其特征在于,所述监听单元具体用于:
设置m个监听程序,每个监听程序分别实时监听一个动态队列中的二级节点的变化情况;
当所述二级节点发生变化时,根据Zookeeper发出的通知,获取发生变化的所述二级节点所在所述动态队列中的所有二级节点信息;
获取序列号最小的二级节点;根据所述下载请求,将所述序列号最小的二级节点中存储的数据信息封装成数据量查询语句,通过与一级节点相应的查询组件进行查询;并删除所述序列号最小的二级节点。
10.根据权利要求9所述的装置,其特征在于,所述监听单元还用于:
当所述查询组件的并发量超过预设阈值时,将监听程序置为等待状态,直至所述查询组件的并发量小于所述预设阈值,继续监听所述m个动态队列的变化情况。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210515994.5A CN115051981A (zh) | 2022-05-12 | 2022-05-12 | 一种基于Zookeeper的异步下载方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210515994.5A CN115051981A (zh) | 2022-05-12 | 2022-05-12 | 一种基于Zookeeper的异步下载方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115051981A true CN115051981A (zh) | 2022-09-13 |
Family
ID=83157612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210515994.5A Pending CN115051981A (zh) | 2022-05-12 | 2022-05-12 | 一种基于Zookeeper的异步下载方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115051981A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779185A (zh) * | 2012-06-29 | 2012-11-14 | 浙江大学 | 一种高可用分布式全文索引方法 |
CN104065741A (zh) * | 2014-07-04 | 2014-09-24 | 用友软件股份有限公司 | 数据采集***和数据采集方法 |
CN106294472A (zh) * | 2015-06-03 | 2017-01-04 | ***通信集团广东有限公司 | 一种Hadoop数据库HBase的查询方法及装置 |
US20180046565A1 (en) * | 2016-08-12 | 2018-02-15 | Futurewei Technologies, Inc. | Automatically detecting distributed concurrency errors in cloud systems |
CN110673933A (zh) * | 2019-08-15 | 2020-01-10 | 平安普惠企业管理有限公司 | 基于ZooKeeper的分布式异步队列实现方法、装置、设备及介质 |
CN112199334A (zh) * | 2020-10-23 | 2021-01-08 | 东北大学 | 基于消息队列的数据流处理检查点文件存储的方法及装置 |
-
2022
- 2022-05-12 CN CN202210515994.5A patent/CN115051981A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779185A (zh) * | 2012-06-29 | 2012-11-14 | 浙江大学 | 一种高可用分布式全文索引方法 |
CN104065741A (zh) * | 2014-07-04 | 2014-09-24 | 用友软件股份有限公司 | 数据采集***和数据采集方法 |
CN106294472A (zh) * | 2015-06-03 | 2017-01-04 | ***通信集团广东有限公司 | 一种Hadoop数据库HBase的查询方法及装置 |
US20180046565A1 (en) * | 2016-08-12 | 2018-02-15 | Futurewei Technologies, Inc. | Automatically detecting distributed concurrency errors in cloud systems |
CN110673933A (zh) * | 2019-08-15 | 2020-01-10 | 平安普惠企业管理有限公司 | 基于ZooKeeper的分布式异步队列实现方法、装置、设备及介质 |
CN112199334A (zh) * | 2020-10-23 | 2021-01-08 | 东北大学 | 基于消息队列的数据流处理检查点文件存储的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7546335B2 (en) | System and method for a data protocol layer and the transfer of data objects using the data protocol layer | |
US7970823B2 (en) | System for sharing data objects among applications | |
US10338958B1 (en) | Stream adapter for batch-oriented processing frameworks | |
US10860604B1 (en) | Scalable tracking for database udpates according to a secondary index | |
CN111143382B (zh) | 数据处理方法、***和计算机可读存储介质 | |
CN108196787B (zh) | 集群存储***的配额管理方法以及集群存储*** | |
CN109032803B (zh) | 数据处理方法和装置、客户端 | |
US10635650B1 (en) | Auto-partitioning secondary index for database tables | |
US11836132B2 (en) | Managing persistent database result sets | |
US10262024B1 (en) | Providing consistent access to data objects transcending storage limitations in a non-relational data store | |
US20180032434A1 (en) | Master database synchronization for multiple applications | |
CN115185705A (zh) | 一种消息通知方法、装置、介质及设备 | |
CN111159142A (zh) | 一种数据处理方法及装置 | |
CN113761052A (zh) | 数据库同步方法和装置 | |
CN110929126A (zh) | 一种基于远程过程调用实现的分布式爬虫调度方法 | |
CN111444148A (zh) | 基于MapReduce的数据传输方法和装置 | |
CN112395337A (zh) | 一种数据导出方法和装置 | |
CN115051981A (zh) | 一种基于Zookeeper的异步下载方法及装置 | |
CN103428231B (zh) | 离线下载方法和*** | |
US10114864B1 (en) | List element query support and processing | |
US20180032553A1 (en) | Augmenting database schema using information from multiple sources | |
CN114063931A (zh) | 一种基于大数据的数据存储方法 | |
CN110650033B (zh) | 分布式应用配置管理的方法和分布式计算*** | |
CN109032804B (zh) | 数据处理方法和装置、服务器 | |
CN111459981A (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 |