CN113067853A - 一种数据推送方法、装置、电子设备及存储介质 - Google Patents
一种数据推送方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113067853A CN113067853A CN202110268800.1A CN202110268800A CN113067853A CN 113067853 A CN113067853 A CN 113067853A CN 202110268800 A CN202110268800 A CN 202110268800A CN 113067853 A CN113067853 A CN 113067853A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- client
- pushing
- data source
- 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 45
- 238000012545 processing Methods 0.000 claims description 21
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000013475 authorization Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral 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/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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供的一种数据推送方法、装置、电子设备及存储介质,在接收到客户端发送的数据订阅请求后,基于数据订阅请求确定客户端订阅的目标主题以及目标数据源,利用目标数据源对应的目标推送方式向客户端推送目标数据源中目标主题的增量数据。本发明支持对多种数据源中的增量数据进行推送。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据推送方法、装置、电子设备及存储介质。
背景技术
目前的数据推送是基于binlog的增量数据订阅功能实现的,binlog是一个二进制格式的日志文件,用于记录用户对数据库更新的SQL语句信息,例如更改数据库表的SQL语句、删除数据库表的SQL语句等。
现有的基于binlog的增量数据订阅功能进行数据推送时通常为:对数据库的binlog进行解析获得数据库中的增量数据,然后将增量数据推送到订阅客户端。
由此可见,目前的数据订阅功能仅支持对数据库中的增量数据进行推送,无法支持对多种数据源中的增量数据进行推送。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本发明提供了一种数据推送方法、装置、电子设备及存储介质。
第一方面,本发明实施例提供了一种数据推送方法,包括:
接收客户端发送的数据订阅请求;
基于所述数据订阅请求确定所述客户端订阅的目标主题以及目标数据源;
采用与所述目标数据源对应的目标推送方式,向所述客户端推送所述目标数据源中所述目标主题的增量数据。
作为一种可能的实现方式,所述确定所述客户端订阅的目标主题以及目标数据源,包括:
从所述数据订阅请求中解析出所述客户端的客户端标识;
从预设的订阅任务中查找包含所述客户端标识的订阅任务作为所述客户端对应的目标订阅任务;
从所述目标订阅任务中解析出所述客户端订阅的目标主题以及目标数据源。
作为一种可能的实现方式,在所述采用与所述目标数据源对应的目标推送方式,向所述客户端推送所述目标数据源中所述目标主题的增量数据之前,所述方法还包括:
确定所述客户端是否具有订阅所述目标主题的权限;
若确定所述客户端具有订阅所述目标主题的权限,则执行所述采用与所述目标数据源对应的目标推送方式,向所述客户端推送所述目标数据源中所述目标主题的增量数据的步骤。
作为一种可能的实现方式,在所述目标数据源为对象存储系统的情况下,所述采用与所述目标数据源对应的目标推送方式,向所述客户端推送所述目标数据源中所述目标主题对应的增量数据,包括:
从所述对象存储系统的消息队列中获取所述目标主题的增量数据在所述对象存储系统中的存储地址;
将所述存储地址推送至所述客户端,以使所述客户端基于所述存储地址从所述对象存储系统中下载所述增量数据至目标目录。
作为一种可能的实现方式,在所述目标数据源为分布式流处理系统的情况下,所述采用与所述目标数据源对应的目标推送方式,向所述客户端推送所述目标数据源中所述目标主题的增量数据,包括:
基于所述目标主题对所述分布式流处理系统进行查询,以获取所述分布式流处理系统中存储的与所述目标主题对应的增量数据;
将所述增量数据推送至所述客户端。
作为一种可能的实现方式,所述方法还包括:
接收客户端发送的数据查询请求,从目标数据库中确定与所述数据查询请求中携带的查询条件相匹配的数据集;
将所述数据集写入对象存储系统中对应的主题中,将所述数据集在所述对象存储系统中的存储地址写入所述对象存储系统的消息队列;
将所述主题推送至所述客户端,以使所述客户端基于所述主题生成对应的数据订阅请求。
作为一种可能的实现方式,所述将所述数据集写入对象存储系统中对应的主题中,将所述数据集在所述对象存储系统中的存储地址写入所述对象存储系统的消息队列,包括:
将所述数据集按照预设的分页规则进行分页处理,得到多个数据页;
将多个所述数据页写入对象存储系统中对应的主题中;
将多个所述数据页在所述对象存储系统中的存储地址写入所述对象存储系统的消息队列。
第二方面,本发明实施例还提供了一种数据推送装置,包括:
接收模块,用于接收客户端发送的数据订阅请求;
确定模块,用于确定所述客户端订阅的目标主题以及目标数据源;
推送模块,用于采用与所述目标数据源对应的目标推送方式,向所述客户端推送所述目标数据源中所述目标主题的增量数据。
第三方面,本发明实施例还提供了一种电子设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的数据推送方法程序,以实现第一方面所述的数据推送方法。
第四方面,本发明实施例还提供了一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面所述的数据推送方法。
本发明实施例提供的上述技术方案与现有技术相比具有如下优点:
本实施例提供的数据推送方法,在接收到客户端发送的数据订阅请求后,基于数据订阅请求确定客户端订阅的目标主题以及目标数据源,利用目标数据源对应的目标推送方式向客户端推送目标数据源中目标主题的增量数据。本发明支持对多种数据源中的增量数据进行推送。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据推送系统的示意图;
图2为本发明实施例提供的一种数据推送方法的流程图;
图3为本发明实施例提供的一种数据推送过程示意图;
图4为本发明实施例提供的另一种数据推送过程示意图;
图5为本发明实施例提供的另一种数据推送方法的流程图;
图6为本发明实施例提供的一种数据推送装置的框图;
图7为本发明实施例提供的一种电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种数据推送系统的示意图,该数据推送系统可将多个数据源中的增量数据主动推送到客户端。如图1所示,该系统包括推送服务模块101、数据存储模块102和推送网关103。
其中,推送服务模块101,用于创建主题、订阅任务,以及向客户端推送数据。
具体的,数据需求人员(比如用户)可根据实际需求在推送服务模块101中创建主题,在创建主题时,可以配置主题名称、主题对应的数据类型等参数。优选的,一个主题对应一种数据类型。
在推送服务模块101中创建有主题后,数据需求人员可根据实际需求在推送服务模块101中创建订阅任务,在创建订阅任务时,数据需求人员可以从已创建的主题中选择该订阅任务要订阅的主题,并配置与该主题对应的元数据,该元数据包括但不限于:订阅名称、订阅该主题的客户端数量、客户端的接收地址、客户端标识和数据源标识等。
进一步,推送服务模块101根据创建的订阅任务,绑定主题与元数据之间的映射关系,并将该映射关系发布到推送网关103。
数据存储模块102包括多个数据源,不同的数据源存储不同的数据,且存储方式不同。比如,如图1所示,数据存储模块102包括对象存储系统(Cloud Object Service,简称COS)和分布式流处理系统(比如kafka)两个数据源,其中,对象存储系统用于存储数据集成、批计算、数据服务、数据采集等操作产生的包含批量增量数据的数据文件,分布式流处理系统则用于存储流计算生成的实时增量数据。进一步的,对象存储系统包括存储单元和消息队列,对象存储系统在进行数据存储时,将数据写入到存储单元中,将数据对应的存储地址存储到消息队列中,分布式流处理系统则是直接存储流计算得到的实时增量数据。
推送网关103,可作为客户端与推送服务模块101之间的通信桥梁,用于将推送服务模块101推送的数据发送给客户端,还可用于对客户端进行权限验证。
在应用中,系统管理人员预先在推送网关103中进行授权操作,推送网关103基于授权操作设置各客户端对各主题的订阅权限,如此,推送网关103可以基于设置的订阅权限对客户端进行权限验证。
作为一个实施例,上述授权操作可以指:分别针对各主题设置对应的客户端列表,该客户端列表中记录多个客户端的客户端标识,这意味着客户端列表中记录的多个客户端均有权限订阅该主题,而未记录在该客户端列表中的客户端则无权限订阅该主题。
作为另一个实施例,上述授权操作可以指:分别针对各客户端设置对应的主题权限列表,该主题权限列表中记录该客户端对多个主题的订阅权限,其中订阅权限分为有权限和无权限。
下面基于图1所示的数据推送系统,结合附图2,对本发明提供的数据推送方法进行说明。
图2为本发明实施例提供的一种数据推送方法的实现流程图,该方法可以应用于图1所示的数据推送系统。如图2所示,该方法可以包含如下步骤:
S21.接收客户端发送的数据订阅请求。
作为一个实施例,客户端中预先设置有用于与数据推送系统通信的SDK,该SDK可以采用poll轮询的方式定时向数据推送系统发送数据订阅请求,以请求数据推送系统向其推送数据,这就无需用户手动触发数据订阅请求,进而实现数据自动推送。
S22.基于数据订阅请求确定客户端订阅的目标主题以及目标数据源。
以图1所示的数据推送系统为例,可以通过推送服务模块101对客户端发送的数据订阅请求进行解析从而确定目标主题以及目标主题对应的目标数据源。
以下描述如何确定客户端订阅的目标主题以及目标数据源:
作为一个实施例,客户端发送的数据订阅请求中可携带客户端订阅的目标主题的主题名称,以及目标数据源标识,那么,接收到客户端发送的数据订阅请求后,可对该数据订阅请求进行解析,得到客户端订阅的目标主题和目标数据源。
作为另一个实施例,用户可预先在数据推送系统的推送服务模块中创建包含客户端标识、主题名称、数据源标识等元数据信息的订阅任务,且客户端发送的数据订阅请求中携带客户端标识。基于此,数据推送系统接收到的数据订阅请求后,可从数据订阅请求中解析出客户端的客户端标识,从预设的订阅任务中查找包含该客户端标识的订阅任务作为该客户端对应的目标订阅任务,之后则从目标订阅任务中解析出该客户端订阅的目标主题以及目标数据源。
S23.采用与目标数据源对应的目标推送方式,向客户端推送目标数据源中目标主题的增量数据。
以图1所示的数据推送系统为例,可以通过推送服务模块101适配目标数据源对应的引擎,来从目标数据源中获取目标主题的增量数据然后进行推送。
由上述描述可知,不同的数据源对数据的存储方式不同,不同的数据源对应的推送方式也不同,因此,在本步骤S23中,采用与目标数据源对应的推送方式(以下称目标推送方式),向客户端推送目标数据源中目标主题的增量数据。
作为一个实施例,在目标数据源为对象存储系统的情况下,S23的具体实现可以包括:查询对象存储系统的消息队列,获取目标主题的增量数据在对象存储系统中的存储地址,将获取的存储地址推送至客户端,以使客户端基于该存储地址从对象存储系统中下载目标主题的增量数据至目标目录。
其中,客户端接收到存储地址后,可首先基于存储地址将增量数据下载至预设的临时目录,待目标数据源中与目标主题对应的所有增量数据均下载至临时目录之后,再将增量数据从临时目录移动至目标目录。
进一步的,作为一个可选的实现方式,客户端可以采用分块下载/并行下载的方式将增量数据下载至临时目录或目标目录。为了保证增量数据的完整性,客户端在下载增量数据时支持断点续传。
为便于理解,下面结合附图3对在目标数据源为对象存储系统情况下的完整的数据推送过程进行描述:
如图3所示,客户端通过SDK向数据推送系统发送数据订阅请求,推送网关将数据订阅请求发送至推送服务模块,推送服务模块将数据订阅请求转发至对象存储系统(即图中所示的COS)的消息队列,消息队列获取目标主题的增量数据对应的存储地址,并将存储地址发送至推送服务模块,推送服务模块将存储地址转发到SDK,SDK基于存储地址从对象存储系统的存储单元中下载对应的增量数据到客户端的临时目录,并在增量数据全部下载完后将增量数据由临时目录移动到目标目录中,至此完成此次数据推送。
作为另一个实施例,在目标数据源为分布式流处理系统的情况下,S23的具体实现可以包括:
基于目标主题对分布式流处理系统进行查询,以获取分布式流处理系统中存储的与目标主题对应的增量数据,将增量数据推送至客户端。由于分布式流处理系统中存储的是流计算后得到的实时增量数据,因此采用此种方式可以实现增量数据的实时推送。
为便于理解,下面结合附图4对在目标数据源为对象存储系统情况下的数据推送完整过程进行描述:
如图4所示,客户端通过SDK向数据推送系统发送数据订阅请求,推送网关将数据订阅请求发送至推送服务模块,推送服务模块将数据订阅请求转发至分布式流处理系统(即图4中的kafka),分布式流处理系统将存储的与目标主题对应的增量数据发送至推送服务模块,由推送服务模块将增量数据发送至客户端,客户端接收到增量数据后向推送服务模块发送用于指示接收到增量数据的确认请求,推送服务模块基于确认请求更新offset到zk,至此完成此次数据推送。
本实施例提供的数据推送方法,通过在接收到客户端发送的数据订阅请求后,基于数据订阅请求确定客户端订阅的目标主题以及目标数据源,利用目标数据源对应的目标推送方式向客户端推送目标数据源中与目标主题对应的增量数据,可支持对多种数据源中的增量数据进行推送。
进一步的,为了提高数据安全性,在执行S23之前,还可以先对客户端进行权限验证,以确定所述客户端是否具有订阅目标主题的权限,若确定客户端具有订阅目标主题的权限,则执行S23,若确定客户端不具有订阅目标主题的权限,则不执行S23,即不向客户端推送目标主题的数据,避免数据泄露,从而提升了数据安全。
具体的,基于图1所示的数据推送系统,可以利用推送网关对客户端进行权限验证。
本发明实施例提供的数据推送方法还可以对客户端查询的数据进行推送,具体的参见图5,本发明实施例提供的数据推送方法还可以包括:
S51.接收客户端发送的数据查询请求,从目标数据库中确定与数据查询请求中携带的查询条件相匹配的数据集。
其中,目标数据库即为与数据推送系统连接的数据库。
作为一个实施例,数据推送系统中还包括数据查询服务模块和查询搜索引擎,客户端可以通过预设的API向数据查询服务模块发送数据查询请求,数据查询服务模块将数据查询请求发送至查询搜索引擎,查询搜索引擎基于数据查询请求对目标数据库进行遍历查询,从而得到与数据查询请求中携带的查询条件相匹配的数据集。
S52.将数据集写入对象存储系统中对应的主题中,并将数据集在对象存储系统中的存储地址写入对象存储系统的消息队列。
作为一个实施例,一个主题对应一种数据类型,因此可以基于数据集中数据的数据类型,将数据集写入对应的主题中。
S53.将数据集对应的主题推送至客户端,以使客户端基于该主题生成对应的数据订阅请求。
客户端基于该主题生成对应的数据订阅请求中可以包含该主题的名称、客户端标识和数据源标识,其中数据源标识对应的数据源为对象存储系统,然后,客户端的SDK将生成的数据订阅请求发送至数据推送系统的推送服务模块,推送服务模块基于该数据订阅请求基于该主题的名称和数据源标识读取对象存储系统的消息队列中存储的数据集的存储地址,若消息队列中有存储地址返回,则客户端基于返回的存储地址从对象存储系统中获取该数据集,并在获取到数据集后,向数据推送系统发送数据删除请求,以使推送服务模块基于数据删除请求将数据集从对象存储系统中删除;若消息队列中没有存储地址返回,则SDK采用poll轮询的方式重复向数据推送系统发送该数据订阅请求,直至接收到消息队列返回的存储地址。
作为一个实施例,客户端基于返回的存储地址从对象存储系统中获取数据集可以包括:客户端接收到存储地址后,基于存储地址将数据集下载至预设的临时目录,待数据集下载完后,将数据集从临时目录移动至目标目录。其中临时目录和目标目录均是客户端中预先设置的用于存放增量数据的目录。
作为一个可选的实现方式,客户端可以采用分块下载/并行下载的方式将数据集下载至临时目录/目标目录。为了保证数据集的完整性,客户端在下载数据集时支持断点续传。
当目标数据库中的数据量较大时,进行数据查询会耗费较长时间,无法马上获取到查询结果,需要后续用户再手动获取查询结果,若时间太长则可能导致用户忘记获取查询结果,或用户在获取查询结果时查询还未完成导致没有结果输出,而本发明采用基于订阅的方式将查询结果推送至用户,无需用户手动获取查询结果,并且可以使客户端及时获取到查询结果。
进一步地,上述S52在将数据集写入对象存储系统时,可以对数据集进行分页存储,具体的,将数据集按照预设的分页规则进行分页处理,得到多个数据页,将多个数据页写入对象存储系统;将多个数据页在对象存储系统中的存储地址写入对象存储系统的消息队列。其中分页规则为根据实际需求设定的,例如分页规则可以为每10万条数据分为一个数据页。
本实施例提供的数据推送方法,通过对数据集进行分页存储后续客户端在基于存储地址下载数据集时可以实现分页下载,而且可以避免数据集过大造成的下载资源占用过大。
本发明实施例还提供了一种数据推送装置,如图6所示,该装置可以包含:
接收模块601,用于接收客户端发送的数据订阅请求;
确定模块602,用于基于数据订阅请求确定客户端订阅的目标主题以及目标数据源;
推送模块603,用于采用与目标数据源对应的目标推送方式,向客户端推送目标数据源中目标主题的增量数据。
作为一个实施例,确定模块602具体用于:
从所述数据订阅请求中解析出所述客户端的客户端标识;
从预设的订阅任务中查找包含所述客户端标识的订阅任务作为所述客户端对应的目标订阅任务;
从所述目标订阅任务中解析出所述客户端订阅的目标主题以及目标数据源。
作为一个实施例,该装置还可以包括(图6中未示出):
鉴权模块,用于在采用与目标数据源对应的目标推送方式,向客户端推送目标数据源中与目标主题对应的增量数据之前,确定客户端是否具有订阅目标主题的权限,若确定客户端具有订阅目标主题的权限,则执行采用与目标数据源对应的目标推送方式,向客户端推送目标数据源中目标主题的增量数据的步骤。
作为一个实施例,在目标数据源为对象存储系统的情况下,推送模块603具体用于:
从所述对象存储系统的消息队列中获取所述目标主题的增量数据在所述对象存储系统中的存储地址;
将所述存储地址推送至所述客户端,以使所述客户端基于所述存储地址从所述对象存储系统中下载所述增量数据至目标目录。
作为一个实施例,在目标数据源为分布式流处理系统的情况下,推送模块603具体用于:
基于目标主题对分布式流处理系统进行查询,以获取分布式流处理系统中存储的与目标主题对应的增量数据;将增量数据推送至客户端。
作为一个实施例,该装置还可以包括(图6中未示出):
查询模块,用于接收客户端发送的数据查询请求,从目标数据库中确定与数据查询请求中携带的查询条件相匹配的数据集,将数据集写入对象存储系统中对应的主题中,将数据集在对象存储系统中的存储地址写入对象存储系统的消息队列,将主题推送至客户端,以使客户端基于所述主题生成对应的数据订阅请求。
作为一个实施例,将数据集写入对象存储系统中对应的主题中,将数据集在对象存储系统中的存储地址写入对象存储系统的消息队列,包括:
将数据集按照预设的分页规则进行分页处理,得到多个数据页;
将多个数据页写入对象存储系统中对应的主题中;
将多个数据页在所述对象存储系统中的存储地址写入对象存储系统的消息队列。
在本发明另一实施例中,还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信;
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
接收客户端发送的数据订阅请求;
基于数据订阅请求确定客户端订阅的目标主题以及目标数据源;
采用与目标数据源对应的目标推送方式,向客户端推送目标数据源中目标主题的增量数据。
上述电子设备提到的通信总线704可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口702用于上述电子设备与其他设备之间的通信。
存储器703可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器701可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明另一实施例中,还提供了一种存储介质,所述存储介质上存储有数据推送方法程序,所述数据推送方法程序被处理器执行时实现上述任一所述的数据推送方法的步骤。
本发明实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据推送方法,其特征在于,包括:
接收客户端发送的数据订阅请求;
基于所述数据订阅请求确定所述客户端订阅的目标主题以及目标数据源;
采用与所述目标数据源对应的目标推送方式,向所述客户端推送所述目标数据源中所述目标主题的增量数据。
2.根据权利要求1所述的方法,其特征在于,所述确定所述客户端订阅的目标主题以及目标数据源,包括:
从所述数据订阅请求中解析出所述客户端的客户端标识;
从预设的订阅任务中查找包含所述客户端标识的订阅任务作为所述客户端对应的目标订阅任务;
从所述目标订阅任务中解析出所述客户端订阅的目标主题以及目标数据源。
3.根据权利要求1所述的方法,其特征在于,在所述采用与所述目标数据源对应的目标推送方式,向所述客户端推送所述目标数据源中所述目标主题的增量数据之前,所述方法还包括:
确定所述客户端是否具有订阅所述目标主题的权限;
若确定所述客户端具有订阅所述目标主题的权限,则执行所述采用与所述目标数据源对应的目标推送方式,向所述客户端推送所述目标数据源中所述目标主题的增量数据的步骤。
4.根据权利要求1所述的方法,其特征在于,在所述目标数据源为对象存储系统的情况下,所述采用与所述目标数据源对应的目标推送方式,向所述客户端推送所述目标数据源中所述目标主题的增量数据,包括:
从所述对象存储系统的消息队列中获取所述目标主题的增量数据在所述对象存储系统中的存储地址;
将所述存储地址推送至所述客户端,以使所述客户端基于所述存储地址从所述对象存储系统中下载所述增量数据至目标目录。
5.根据权利要求1所述的方法,其特征在于,在所述目标数据源为分布式流处理系统的情况下,所述采用与所述目标数据源对应的目标推送方式,向所述客户端推送所述目标数据源中目标主题的增量数据,包括:
基于所述目标主题对所述分布式流处理系统进行查询,以获取所述分布式流处理系统中存储的与所述目标主题对应的增量数据;
将所述增量数据推送至所述客户端。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收客户端发送的数据查询请求,从目标数据库中确定与所述数据查询请求中携带的查询条件相匹配的数据集;
将所述数据集写入对象存储系统中对应的主题中,将所述数据集在所述对象存储系统中的存储地址写入所述对象存储系统的消息队列;
将所述主题推送至所述客户端,以使所述客户端基于所述主题生成对应的数据订阅请求。
7.根据权利要求6所述的方法,其特征在于,所述将所述数据集写入对象存储系统中对应的主题中,将所述数据集在所述对象存储系统中的存储地址写入所述对象存储系统的消息队列,包括:
将所述数据集按照预设的分页规则进行分页处理,得到多个数据页;
将多个所述数据页写入对象存储系统中对应的主题中;
将多个所述数据页在所述对象存储系统中的存储地址写入所述对象存储系统的消息队列。
8.一种数据推送装置,其特征在于,包括:
接收模块,用于接收客户端发送的数据订阅请求;
确定模块,用于基于所述数据订阅请求确定所述客户端订阅的目标主题以及目标数据源;
推送模块,用于采用与所述目标数据源对应的目标推送方式,向所述客户端推送所述目标数据源中所述目标主题的增量数据。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的数据推送方法程序,以实现权利要求1-7任一所述的数据推送方法。
10.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1-7任一所述的数据推送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110268800.1A CN113067853A (zh) | 2021-03-12 | 2021-03-12 | 一种数据推送方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110268800.1A CN113067853A (zh) | 2021-03-12 | 2021-03-12 | 一种数据推送方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113067853A true CN113067853A (zh) | 2021-07-02 |
Family
ID=76560095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110268800.1A Pending CN113067853A (zh) | 2021-03-12 | 2021-03-12 | 一种数据推送方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113067853A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553310A (zh) * | 2021-09-22 | 2021-10-26 | 深圳市信润富联数字科技有限公司 | 数据的采集方法及装置、存储介质、电子设备 |
CN115906178A (zh) * | 2022-12-23 | 2023-04-04 | 星环信息科技(上海)股份有限公司 | 一种数据库管理方法、数据订阅端及数据发布端 |
CN115967754A (zh) * | 2022-12-26 | 2023-04-14 | 杭州和利时自动化有限公司 | 一种工业数据获取方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408132A (zh) * | 2014-11-28 | 2015-03-11 | 北京京东尚科信息技术有限公司 | 数据推送方法和系统 |
US20160065491A1 (en) * | 2014-08-29 | 2016-03-03 | Microsoft Technology Licensing, Llc | Client device and host device subscriptions |
US20180167476A1 (en) * | 2016-12-12 | 2018-06-14 | Sap Se | Meta broker for publish-subscribe-based messaging |
CN109246220A (zh) * | 2018-09-19 | 2019-01-18 | 南方科技大学 | 一种消息推送系统及方法 |
CN111212111A (zh) * | 2019-12-17 | 2020-05-29 | 腾讯科技(深圳)有限公司 | 对象存储服务管理方法及电子设备 |
CN111866191A (zh) * | 2020-09-24 | 2020-10-30 | 深圳市易博天下科技有限公司 | 消息事件的分发方法、分发平台、系统及服务器 |
-
2021
- 2021-03-12 CN CN202110268800.1A patent/CN113067853A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160065491A1 (en) * | 2014-08-29 | 2016-03-03 | Microsoft Technology Licensing, Llc | Client device and host device subscriptions |
CN104408132A (zh) * | 2014-11-28 | 2015-03-11 | 北京京东尚科信息技术有限公司 | 数据推送方法和系统 |
US20180167476A1 (en) * | 2016-12-12 | 2018-06-14 | Sap Se | Meta broker for publish-subscribe-based messaging |
CN109246220A (zh) * | 2018-09-19 | 2019-01-18 | 南方科技大学 | 一种消息推送系统及方法 |
CN111212111A (zh) * | 2019-12-17 | 2020-05-29 | 腾讯科技(深圳)有限公司 | 对象存储服务管理方法及电子设备 |
CN111866191A (zh) * | 2020-09-24 | 2020-10-30 | 深圳市易博天下科技有限公司 | 消息事件的分发方法、分发平台、系统及服务器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553310A (zh) * | 2021-09-22 | 2021-10-26 | 深圳市信润富联数字科技有限公司 | 数据的采集方法及装置、存储介质、电子设备 |
CN115906178A (zh) * | 2022-12-23 | 2023-04-04 | 星环信息科技(上海)股份有限公司 | 一种数据库管理方法、数据订阅端及数据发布端 |
CN115906178B (zh) * | 2022-12-23 | 2024-06-04 | 星环信息科技(上海)股份有限公司 | 一种数据库管理方法、数据订阅端及数据发布端 |
CN115967754A (zh) * | 2022-12-26 | 2023-04-14 | 杭州和利时自动化有限公司 | 一种工业数据获取方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427368B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113067853A (zh) | 一种数据推送方法、装置、电子设备及存储介质 | |
US11463753B2 (en) | Method and apparatus for downloading resources | |
US9665732B2 (en) | Secure Download from internet marketplace | |
CN110263001B (zh) | 文件管理方法、装置、系统、设备及计算机可读存储介质 | |
CN107092635B (zh) | 数据查询方法、装置、服务器、请求端及系统 | |
CN106776917B (zh) | 一种获取资源文件的方法和装置 | |
CN110134583B (zh) | 软件测试及数据处理方法及装置 | |
CN112733001A (zh) | 获取订阅信息的方法、装置和电子设备 | |
CN111190625A (zh) | App版本升级方法和服务端、客户端及计算机可读存储介质 | |
CN111355765B (zh) | 一种网络请求的处理、发送方法及装置 | |
CN109446445B (zh) | 一种资源获取方法及装置 | |
CN114218165A (zh) | 文件下载方法、装置、计算机设备及介质 | |
CN110955460B (zh) | 一种服务进程启动方法、装置、电子设备和存储介质 | |
CN113434462A (zh) | Hdfs数据的转移方法及装置、存储介质、电子设备 | |
CN115858466A (zh) | 一种操作日志生成方法、装置、设备及介质 | |
CN111339170A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN116302424A (zh) | 分布式系统的数据处理方法、节点及分布式系统 | |
CN113032820B (zh) | 文件存储方法、访问方法、装置、设备及存储介质 | |
CN112256820B (zh) | 一种文档定位方法及装置 | |
CN113436699A (zh) | 新冠核酸检测报告生成方法、系统、电子设备和存储介质 | |
CN113254349A (zh) | 基于云函数的ab测试处理方法、装置、设备及存储介质 | |
CN112558950A (zh) | 系统接口生成方法及装置 | |
CN111061543A (zh) | 一种多租户工作流引擎服务方法、装置及服务器 | |
CN111259121A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210702 |
|
RJ01 | Rejection of invention patent application after publication |