CN110120959B - 大数据推送方法、装置、***、设备及可读存储介质 - Google Patents
大数据推送方法、装置、***、设备及可读存储介质 Download PDFInfo
- Publication number
- CN110120959B CN110120959B CN201810112826.5A CN201810112826A CN110120959B CN 110120959 B CN110120959 B CN 110120959B CN 201810112826 A CN201810112826 A CN 201810112826A CN 110120959 B CN110120959 B CN 110120959B
- Authority
- CN
- China
- Prior art keywords
- data
- data block
- determining
- communication function
- big 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.)
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
-
- 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/55—Push-based network services
-
- 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/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
本申请公开一种大数据推送方法、装置、***、计算机设备及可读存储介质。该大数据推送方法包括:确定大数据处理***中客户端与具有管道通信功能的外部***之间的网络延迟;确定具有管道通信功能的外部***对接收到的封装数据块的操作时间;确定封装数据块内每条数据的列数;确定大数据处理***中客户端单位时间内的操作数;根据网络延迟、操作时间、封装数据块内每条数据的列数及单位时间内的操作数,确定封装数据块中的数据条数;以及将待推送数据按照数据条数封装为封装数据块,并将封装数据块推送至具有管道通信功能的外部***。该方法能够能够在不影响线上生产环境的前提下极大地提升数据推送效率。
Description
技术领域
本发明涉及计算机应用技术领域,具体而言,涉及一种大数据处理***与具有管道通信功能的外部***之间的大数据推送方法、装置、***、计算机设备及可读存储介质。
背景技术
随着大数据时代的来临,如何从海量数据中挖掘出有价值的数据,并将其应用于线上生产环境中,是对大数据处理的挑战。
在实际应用中,大数据处理***用于对大数据进行挖掘处理,目前常用的大数据处理***有Spark、Flink、Storm、Hadoop等。其中,Spark是专门为大数据处理而设计的快速通用的计算引擎,拥有Hadoop MapReduce所具有的优点,但不同于Hadoop MapReduce的是其工作(job)中间输出结果可以保存在内存中,无需再读取HDFS(Hadoop DistributedFile System,Hadoop分布式文件***),极大地提高了运算速度。因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce算法。
经过Spark平台挖掘出的计算结果需要应用于线上生产环境中,线上生产环境要求数据访问延迟低且可支持高并发访问,因此需要将数据挖掘的结果快速推送至满足条件的具有管道通信功能的外部***中,如Redis集群***、mogoDB集群***、kafka消息***等,从而使得线上***可以从具有管道通信功能的外部***中实时获取所需要的挖掘结果。
大数据处理***具有大规模数据处理能力,但如何能将大规模的处理结果推送至具有管道通信功能的外部***,且同时不影响线上***对该具有管道通信功能的外部***的访问是亟待解决的问题。
目前,多采用多实例并发推送数据的方法进行数据计算结果的推送操作,如计算采用hiveSQL,计算结果通过管道(如kafka等)发送至服务器,多服务器并发推送数据。但该方法具有以下几个缺点:
1)Hadoop集群计算结果如何分发到不同实例上;
2)单实例的数据处理能力有限,要满足大规模推送数据,需要大量的机器资源,而且应用服务器资源无法共享给其他应用使用;
3)应用服务器无法支持大规模SQL计算,需将数据计算与推送隔离开,并通过管道连接,增加处理延迟和资源消耗。
在背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种大数据处理***与具有管道通信功能的外部***之间的大数据推送方法、装置、***、计算机设备及可读存储介质,能够在不影响线上生产环境的前提下极大地提升数据推送效率。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一方面,公开了一种大数据处理***与具有管道通信功能的外部***之间的大数据推送方法,包括:确定大数据处理***中客户端与具有管道通信功能的外部***之间的网络延迟;确定具有管道通信功能的外部***对接收到的封装数据块的操作时间;确定封装数据块内每条数据的列数;确定大数据处理***中客户端单位时间内的操作数;根据网络延迟、操作时间、封装数据块内每条数据的列数及单位时间内的操作数,确定封装数据块中的数据条数;以及将待推送数据按照数据条数封装为封装数据块,并将封装数据块推送至具有管道通信功能的外部***。
根据本发明的一实施方式,根据网络延迟、操作时间、封装数据块内每条数据的列数及单位时间内的操作数,确定封装数据块中的数据条数包括:
根据下述公式确定封装数据块中的数据条数:
其中,pb为数据条数,TTL为网络延迟,c为操作时间,ops为单位时间内的操作数,cols为封装数据块内每条数据的列数。
根据本发明的一实施方式,大数据处理***为Spark***,具有管道通信功能的外部***为Redis集群***,封装数据块为Redis集群***中的管道数据块。
根据本发明的一实施方式,大数据处理***与Web管理***连接,接收Web管理***的配置与调度。
根据本发明的一实施方式,配置包括:数据处理方式配置、输出方式配置及执行环境配置。
根据本发明的另一方面,公开了一种大数据处理***与具有管道通信功能的外部***之间的大数据推送装置,包括:网络延迟确定模块,用于确定大数据处理***中客户端与具有管道通信功能的外部***之间的网络延迟;操作时间确定模块,用于确定具有管道通信功能的外部***对接收到的封装数据块的操作时间;数据列数确定模块,用于确定封装数据块内每条数据的列数;操作数确定模块,用于确定大数据处理***中客户端单位时间内的操作数;数据块确定模块,用于根据网络延迟、操作时间、封装数据块内每条数据的列数及单位时间内的操作数,确定封装数据块中的数据条数;以及数据推送模块,用于将待推送数据按照数据条数封装为封装数据块,并将封装数据块推送至具有管道通信功能的外部***。
根据本发明的一实施方式,数据块确定装置包括:数据块计算子模块,用于根据下述公式确定封装数据块中的数据条数:
其中,pb为数据条数,TTL为网络延迟,c为操作时间,ops为单位时间内的操作数,cols为封装数据块内每条数据的列数。
根据本发明的一实施方式,大数据处理***为Spark***,具有管道通信功能的外部***为Redis集群***,封装数据块为Redis集群***中的管道数据块。
根据本发明的另一方面,公开了一种基于Spark的大数据推送***,包括:Web管理***;具有管道通信功能的外部***;以及大数据处理***,分别与Web管理***连接及具有管道通信功能的外部***连接;接收Web管理***的配置与调度,根据配置与调度,进行数据挖掘计算;并将计算结果推送至具有管道通信功能的外部***;其中,大数据处理***还用于:
确定大数据处理***中客户端与具有管道通信功能的外部***之间的网络延迟;
确定具有管道通信功能的外部***对接收到的封装数据块的操作时间;
确定封装数据块内每条数据的列数;
确定大数据处理***中客户端单位时间内的操作数;
根据网络延迟、操作时间、封装数据块内每条数据的列数及单位时间内的操作数,确定封装数据块中的数据条数;以及
将待推送数据按照数据条数封装为封装数据块,并将封装数据块推送至具有管道通信功能的外部***。
根据本发明的一实施方式,根据网络延迟、操作时间及单位时间内的操作数,确定封装数据块的大小包括:
根据下述公式确定封装数据块中的数据条数:
其中,pb为数据条数,TTL为网络延迟,c为操作时间,ops为单位时间内的操作数,cols为封装数据块内每条数据的列数。
根据本发明的一实施方式,大数据处理***为Spark***,具有管道通信功能的外部***为Redis集群***,封装数据块为Redis集群***中的管道数据块。
根据本发明的另一方面,公开了一种计算机设备,包括:一个或多个处理器;以及存储装置,用于存储一个或多个程序;其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现如上述任一种大数据处理***与具有管道通信功能的外部***之间的大数据推送方法。
根据本发明的再一方面,公开了一种计算机可读存储介质,其上存储有计算机可执行指令,可执行指令被处理器执行时实现如上述任一种大数据处理***与具有管道通信功能的外部***之间的大数据推送方法。
根据本发明的大数据处理***与具有管道通信功能的外部***之间的大数据推送方法,通过调整封装数据块的大小,即封装数据块内数据的条数,可以在满足快速推送数据的同时不影响线上生产环境的前提下,大大提升了数据推送效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。
图1是根据一示例性实施方式示出的一种基于Spark的大数据推送***结构示意图。
图2是根据一示例性实施方式示出的一种大数据处理***与具有管道通信功能的外部***之间的大数据推送方法的流程图。
图3是根据一示例性实施方式示出的另一种大数据处理***与具有管道通信功能的外部***之间的大数据推送方法的流程图。
图4是根据一示例性实施方式示出的一种大数据处理***与具有管道通信功能的外部***之间的大数据推送装置的框图。
图5是根据一示例性实施方式示出的一种计算机***的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。
图1是根据一示例性实施方式示出的一种基于Spark的大数据推送***结构示意图。如图1所示,该大数据推送***包括:Web管理***1、大数据处理***2及具有管道通信功能的外部***3。
其中,大数据处理***2作为数据处理与推送平台,分别与Web管理***1及具有管道通信功能的外部***3连接。大数据处理***2包括多个分布式客户端,分别用于执行相应数据挖掘计算。大数据处理***2例如可以为Spark、Flink、Storm、Hadoop等。
在一些实施例中,大数据处理***2例如为Spark,其能实现海量数据的挖掘计算,同时提供了丰富的API(Application Program Interface,应用程序接口),能够快速实现与其他***的交互。
具有管道通信功能的外部***3例如可以为Redis集群***、mogoDB集群***、kafka消息***等,本发明不以此为限。
Web管理***1为大数据处理***2提供配置管理功能,同时提供数据推送任务的管理和调度功能。以大数据处理***2为Spark为例,Web管理***1为大数据处理***2提供的相关配置例如可以包括:数据处理方式配置、输出配置及环境配置。其中,数据处理方式配置为计算的核心逻辑,例如可以配置为SQL、自定义的DSL(Domain Specific Language,领域专用语言)、代码逻辑等,配置完成后还可以通过Web页面进行修改。以数据处理方式配置为SQL为例,大数据处理***2则可以为Spark SQL,但本发明不以此为限。输出配置为数据计算结果输出方式配置,输出方式例如可以为具有管道通信功能的外部***、JMQ(JavaMessage Queue,Java消息队列)或Hive表。以具有管道通信功能的外部***3为Redis集群***为例,则该输出配置将被配置为Redis集群。不同的数据处理方式,不同的输出方式需要不同的执行环境,在环境配置中,可以设置数据计算的执行环境,例如UDF的导入及创建、是否合并小文件、是否开启Hive表的动态分区等。
当所有配置完成后,Web管理***1将所有配置组装成一个任务(Task)传递给调度***,以调度大数据处理***2中的客户端。任务被调度到客户端后,客户端根据环境配置准备数据计算执行的环境,之后执行数据挖掘计算,计算出结果后根据输出配置快速推送至具有管道通信功能的外部***3,如Redis集群***、mogoDB集群***、kafka消息***等。
大数据处理***2如何将大规模数据(数十亿条数据)快速推送至具有管道通信功能的外部***3,且不影响线上***对具有管道通信功能的外部***3的正常访问是亟待解决的一个问题。通过增加客户端的并发数可以一定程度上加快推送速度,但对于数十亿条的大规模数据而言,推送效率提升并不明显。为了解决该问题,本发明还提供了一种大数据处理***与具有管道通信功能的外部***之间的大数据推送方法,可以由图1中的大数据处理***2来执行。
图2是根据一示例性实施方式示出的一种大数据处理***与具有管道通信功能的外部***之间的大数据推送方法的流程图。联合参考图1及图2,该方法10包括:
在步骤S102中,确定大数据处理***2中客户端与具有管道通信功能的外部***3之间的网络延迟。
在实际应用中,对于动态的网络环境,可以由大数据处理***2中的客户端周期的或者有需要时主动测量;而对于相对固定/稳定的网络环境,则可以在人工测量后,将网络延迟结果配置给大数据处理***2。
在步骤S104中,确定具有管道通信功能的外部***3对接收到的封装数据块的操作时间。
例如,同样可以通过测量的方式,获得该操作时间,并反馈配置给大数据处理***2。
在数据推送过程中,大数据处理***2将待推送的数据进行封装,以封装数据块的形式推送给具有管道通信功能的外部***3。
在步骤S106中,确定封装数据块内每条数据的列数。
例如,可以通过配置的方式将该参数传递给大数据处理***2。
在步骤S108中,确定大数据处理***2中客户端单位时间内的操作数。
即客户端对具有管道通信功能的外部***3的操作数,如每秒操作数。
该单位时间内的操作数为在不影响线上生产环境前提下可达到的最大的单位时间内的操作数,可以为一具体数值,也可以为一数值范围。可以通过配置的方式传递给大数据处理***2。
在步骤S110中,根据网络延迟、操作时间、封装数据块内每条数据的列数及单位时间内的操作数,确定封装数据块中的数据条数。
在步骤S112中,将待推送数据按照确定出的数据条数封装为封装数据块,并将该封装数据块推送至具有管道通信功能的外部***3。
本发明实施方式的大数据处理***与具有管道通信功能的外部***之间的大数据推送方法,通过调整封装数据块的大小,即封装数据块内数据的条数,可以在满足快速推送数据的同时不影响线上生产环境的前提下,大大提升了数据推送效率。
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施方式。
以具有管道通信功能的外部***3为Redis集群***为例,为了加快数据推送速度,大数据处理***2与Redis集群之间可以采用Redis的管道技术(pipeline)来对推送数据进行封装发送,但直接使用管道技术会导致整个集群的操作数被完全占用,造成集群无法正常对外提供服务,这是生产环境所不允许的。发明人通过对管道技术推送数据原理进行分析后,发现可以通过配置管道数据块的大小也即推送数据的频率来控制推送客户端占用的操作数数量。经过不断的测试,发明人拟合分布式推送数据客户端的每秒操作数(ops)计算公式:
其中pb为管道数据块中的数据条数,TTL为大数据处理***2与Redis集群之间的网络延迟,c为集群对管道数据块的操作时间,ops为客户端的每秒操作数,cols为管道数据块内每条数据的列数。
根据公式(1),本发明实施方式提供另一种大数据处理***与具有管道通信功能的外部***之间的大数据推送方法。图3是根据一示例性实施方式示出的另一种大数据处理***与具有管道通信功能的外部***之间的大数据推送方法的流程图。在该方法中,不失一般性地,大数据处理***2以Spark***为例,具体地,具有管道通信功能的外部***3以Redis集群为例。联合参考图1和图3,该方法20包括:
在步骤S202中,确定Spark***中客户端与Redis集群之间的网络延迟。
该网络延迟与Redis集群分片及推送客户端的分区数有关,其中Redis集群分片数属于集群的属性,推送客户端分区数属于客户端的属性。
在实际应用中,对于动态的网络环境,可以由Spark***中的客户端周期的或者有需要时主动测量;而对于相对固定/稳定的网络环境,则可以在人工测量后,将网络延迟结果配置给Spark***。
此外,根据公式(1),在已知pb、c与cols的情况下,通过观测到的ops可以计算出特定集群分片和客户端分区下的TTL。在集群分片为30,客户端分区数为200时,网络延迟TTL大致为0.01秒。
在步骤S204中,确定Redis集群对接收到的管道数据块的操作时间。
该操作时间通常与集群的分片数有关,操作时间与集群分片数成反比,集群分片数越多,操作时间越短;集群分片数越少,则操作时间越长。
例如,同样可以通过测量的方式,获得该操作时间,并反馈配置给Spark***。
在步骤S206中,确定封装数据块内每条数据的列数。
例如,可以通过配置的方式将该参数传递给Spark***
在步骤S208中,确定Spark客户端的每秒操作数。
即Spark客户端对Redis集群的每秒操作数。
该每秒操作数为在不影响线上生产环境前提下可达到的最大的单位时间内的操作数,可以为一具体数值,也可以为一数值范围。可以通过配置的方式传递给Spark***。
在步骤S210中,根据网络延迟、操作时间、管道数据块内每条数据的列数及单位时间内的操作数,确定管道数据块中的数据条数。
根据公式(1),可以计算出管道数据块中的数据条数。
在步骤S212中,将待推送数据按照确定出的数据条数封装为管道数据块,并将该管道数据块推送至Redis集群。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图4是根据一示例性实施方式示出的一种大数据处理***与具有管道通信功能的外部***之间的大数据推送装置的框图。如图4所示,该大数据处理***与具有管道通信功能的外部***之间的大数据推送装置30包括:网络延迟确定模块302、操作时间确定模块304、数据列数确定模块306、操作数确定模块308、数据块确定模块310及数据推送模块312。
其中,网络延迟确定模块302用于确定大数据处理***中客户端与具有管道通信功能的外部***之间的网络延迟。
操作时间确定模块304用于确定具有管道通信功能的外部***对接收到的封装数据块的操作时间。
数据列数确定模块306用于确定封装数据块内每条数据的列数;
操作数确定模块308用于确定大数据处理***中客户端单位时间内的操作数;
数据块确定模块310用于根据网络延迟、操作时间、封装数据块内每条数据的列数及单位时间内的操作数,确定封装数据块中的数据条数。
在一些实施例中,数据块确定模块310包括:数据块计算子模块3102,用于根据下述公式确定封装数据块中的数据条数:
其中,pb为数据条数,TTL为网络延迟,c为操作时间,ops为单位时间内的操作数,cols为封装数据块内每条数据的列数。
数据推送模块312用于将待推送数据按照数据条数封装为封装数据块,并将封装数据块推送至具有管道通信功能的外部***。
在一些实施例中,大数据处理***为Spark***,具有管道通信功能的外部***为Redis集群***,封装数据块为Redis集群***中的管道数据块。
本发明实施方式的大数据处理***与具有管道通信功能的外部***之间的大数据推送装置,通过调整封装数据块的大小,即封装数据块内数据的条数,可以在满足快速推送数据的同时不影响线上生产环境的前提下,大大提升了数据推送效率。
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图5是根据一示例性实施方式示出的一种计算机***的结构示意图。需要说明的是,图5示出的计算机***仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机***600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有***600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的***中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
确定大数据处理***中客户端与具有管道通信功能的外部***之间的网络延迟;
确定具有管道通信功能的外部***对接收到的封装数据块的操作时间;
确定封装数据块内每条数据的列数;
确定大数据处理***中客户端单位时间内的操作数;
根据网络延迟、操作时间、封装数据块内每条数据的列数及单位时间内的操作数,确定封装数据块中的数据条数;以及
将待推送数据按照数据条数封装为封装数据块,并将封装数据块推送至具有管道通信功能的外部***。
以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (13)
1.一种大数据处理***与具有管道通信功能的外部***之间的大数据推送方法,其特征在于,包括:
确定所述大数据处理***中客户端与所述具有管道通信功能的外部***之间的网络延迟;
确定所述具有管道通信功能的外部***对接收到的封装数据块的操作时间;
确定所述封装数据块内每条数据的列数;
确定所述大数据处理***中客户端单位时间内的操作数;
根据所述网络延迟、所述操作时间、所述封装数据块内每条数据的列数及所述单位时间内的操作数,确定所述封装数据块中的数据条数;以及
将待推送数据按照所述数据条数封装为所述封装数据块,并将所述封装数据块推送至所述具有管道通信功能的外部***。
3.根据权利要求1或2所述的方法,其特征在于,所述大数据处理***为Spark***,所述具有管道通信功能的外部***为Redis集群***,所述封装数据块为所述Redis集群***中的管道数据块。
4.根据权利要求1或2所述的方法,其特征在于,所述大数据处理***与Web管理***连接,接收所述Web管理***的配置与调度。
5.根据权利要求4所述的方法,其特征在于,所述配置包括:数据处理方式配置、输出方式配置及执行环境配置。
6.一种大数据处理***与具有管道通信功能的外部***之间的大数据推送装置,其特征在于,包括:
网络延迟确定模块,用于确定所述大数据处理***中客户端与所述具有管道通信功能的外部***之间的网络延迟;
操作时间确定模块,用于确定所述具有管道通信功能的外部***对接收到的封装数据块的操作时间;
数据列数确定模块,用于确定所述封装数据块内每条数据的列数;
操作数确定模块,用于确定所述大数据处理***中客户端单位时间内的操作数;
数据块确定模块,用于根据所述网络延迟、所述操作时间、所述封装数据块内每条数据的列数及所述单位时间内的操作数,确定所述封装数据块中的数据条数;以及
数据推送模块,用于将待推送数据按照所述数据条数封装为所述封装数据块,并将所述封装数据块推送至所述具有管道通信功能的外部***。
8.根据权利要求6或7所述的装置,其特征在于,所述大数据处理***为Spark***,所述具有管道通信功能的外部***为Redis集群***,所述封装数据块为所述Redis集群***中的管道数据块。
9.一种基于Spark的大数据推送***,其特征在于,包括:
Web管理***;
具有管道通信功能的外部***;以及
大数据处理***,分别与所述Web管理***连接及所述具有管道通信功能的外部***连接;接收所述Web管理***的配置与调度,根据所述配置与调度,进行数据挖掘计算;并将计算结果推送至所述具有管道通信功能的外部***;
其中,所述大数据处理***还用于:
确定所述大数据处理***中客户端与所述具有管道通信功能的外部***之间的网络延迟;
确定所述具有管道通信功能的外部***对接收到的封装数据块的操作时间;
确定所述封装数据块内每条数据的列数;
确定所述大数据处理***中客户端单位时间内的操作数;
根据所述网络延迟、所述操作时间、所述封装数据块内每条数据的列数及所述单位时间内的操作数,确定所述封装数据块中的数据条数;以及
将待推送数据按照所述数据条数封装为所述封装数据块,并将所述封装数据块推送至所述具有管道通信功能的外部***。
11.根据权利要求9或10所述的***,其特征在于,所述大数据处理***为Spark***,所述具有管道通信功能的外部***为Redis集群***,所述封装数据块为所述Redis集群***中的管道数据块。
12.一种计算机设备,其特征在于,包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序;
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-5任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810112826.5A CN110120959B (zh) | 2018-02-05 | 2018-02-05 | 大数据推送方法、装置、***、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810112826.5A CN110120959B (zh) | 2018-02-05 | 2018-02-05 | 大数据推送方法、装置、***、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110120959A CN110120959A (zh) | 2019-08-13 |
CN110120959B true CN110120959B (zh) | 2023-04-07 |
Family
ID=67519206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810112826.5A Active CN110120959B (zh) | 2018-02-05 | 2018-02-05 | 大数据推送方法、装置、***、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110120959B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112398885B (zh) * | 2019-08-14 | 2023-03-24 | 腾讯科技(深圳)有限公司 | 数据传输方法和装置 |
CN112163048A (zh) * | 2020-09-23 | 2021-01-01 | 常州微亿智造科技有限公司 | 基于ClickHouse实现OLAP分析的方法、装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853766A (zh) * | 2012-12-03 | 2014-06-11 | 中国科学院计算技术研究所 | 一种面向流式数据的在线处理方法及*** |
CN106487891A (zh) * | 2016-10-11 | 2017-03-08 | 北京集奥聚合科技有限公司 | 一种基于kafka的处理消息的方法 |
CN107153526A (zh) * | 2017-04-20 | 2017-09-12 | 浙江工业大学 | 一种流式计算环境下的并行数据回流方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130205028A1 (en) * | 2012-02-07 | 2013-08-08 | Rackspace Us, Inc. | Elastic, Massively Parallel Processing Data Warehouse |
-
2018
- 2018-02-05 CN CN201810112826.5A patent/CN110120959B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853766A (zh) * | 2012-12-03 | 2014-06-11 | 中国科学院计算技术研究所 | 一种面向流式数据的在线处理方法及*** |
CN106487891A (zh) * | 2016-10-11 | 2017-03-08 | 北京集奥聚合科技有限公司 | 一种基于kafka的处理消息的方法 |
CN107153526A (zh) * | 2017-04-20 | 2017-09-12 | 浙江工业大学 | 一种流式计算环境下的并行数据回流方法 |
Non-Patent Citations (3)
Title |
---|
spark批量写入redis(pipeline+分批提交);问道9527;《https://blog.csdn.net/millton058/article/details/78118931/?ops_request_misc=&request_id=&biz_id=102&utm_term=spark%20redis%20pipeline&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaidweb~defalut》;20170928;全文 * |
基于Spark的数据处理分析***的设计与实现;李爽;《中国优秀硕士学问论文电子期刊》;20150915;全文 * |
基于Twitter Storm的云平台监控***研究与实现;李浩;《中国优秀硕士学位论文电子期刊》;20150915;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110120959A (zh) | 2019-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831562B2 (en) | Method and system for operating a data center by reducing an amount of data to be processed | |
CN109408205B (zh) | 基于hadoop集群的任务调度方法和装置 | |
CN112449750A (zh) | 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集*** | |
CN109726004B (zh) | 一种数据处理方法及装置 | |
CN110019496B (zh) | 数据读写方法和*** | |
CN111125107A (zh) | 数据处理方法、装置、电子设备和介质 | |
US20230023253A1 (en) | Method for processing model parameters, and apparatus | |
CN110120959B (zh) | 大数据推送方法、装置、***、设备及可读存储介质 | |
CN115794262A (zh) | 任务处理方法、装置、设备、存储介质以及程序产品 | |
CN113452733A (zh) | 文件下载方法和装置 | |
CN112947919A (zh) | 构建业务模型和处理业务请求的方法和装置 | |
CN109947861B (zh) | 用于数据仓库生成目标表的方法、装置和计算机可读介质 | |
CN113760498A (zh) | 消息消费方法、装置、电子设备和计算机可读介质 | |
CN113672671A (zh) | 一种实现数据加工的方法和装置 | |
CN110764769A (zh) | 处理用户请求的方法和装置 | |
CN116185578A (zh) | 计算任务的调度方法和计算任务的执行方法 | |
CN115858905A (zh) | 数据处理的方法、装置、电子设备和存储介质 | |
CN113176937B (zh) | 任务处理方法、装置和电子设备 | |
CN115220131A (zh) | 气象数据质检方法及*** | |
CN115378937A (zh) | 任务的分布式并发方法、装置、设备和可读存储介质 | |
CN114741165A (zh) | 数据处理平台的处理方法、计算机设备及存储装置 | |
CN114490050A (zh) | 一种数据同步方法和装置 | |
CN113778844A (zh) | 一种自动化性能测试方法和装置 | |
CN110119364B (zh) | 一种输入/输出批量提交的方法和*** | |
CN114268558B (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 |