本技术涉及大数据,尤其涉及一种数据接入方法、系统及装置。
背景技术:
1、目前大多数数据中台通过一些工具从第三方获取数据,不支持第三方以超文本传输协议http(hypertext transfer protocol)为数据源主动推送的数据的接入,导致数据中台接入的数据存在准确性和可靠性问题,且数据接入成本较高。或者在将外部数据接入数据中台的过程中,由于各个厂商提供的应用程序接口api(application programminginterface)的差异性,每当调用新的api地址时,都需要进行代码开发,采用硬编码的方式完成数据接入,从而无法实现根据用户需求完成数据接入。
技术实现思路
1、本技术实施例提供了一种数据接入方法、系统及装置,用以实现根据用户需求,无需通过硬编码的方式,就能完成数据提供方推送的数据的接入。
2、本技术实施例提供了一种数据接入方法,所述方法包括:
3、获取用户创建的一个或多个超文本传输协议http数据源接入任务,针对每一所述接入任务,按照该接入任务配置的http数据源的连接信息,向对应的数据提供方发起数据订阅请求,所述数据订阅请求用于请求订阅该接入任务配置的一个或多个应用程序接口api提供的目标数据;
4、将预设网关接收的所述数据提供方推送的已订阅成功的一个或多个api提供的目标数据,按照对应接入任务配置的处理脚本进行处理后,缓存至预设的消息队列中;
5、当监听到所述消息队列中缓存有数据时,从所述消息队列中取出数据,并按照取出数据对应接入任务配置的字段映射关系,对所述取出数据进行转换,并将转换后的数据存储到对应接入任务配置的目标数据库的目标表中。
6、通过该方法,获取用户创建的一个或多个超文本传输协议http数据源接入任务,针对每一所述接入任务,按照该接入任务配置的http数据源的连接信息,向对应的数据提供方发起数据订阅请求,所述数据订阅请求用于请求订阅该接入任务配置的一个或多个应用程序接口api提供的目标数据;将预设网关接收的所述数据提供方推送的已订阅成功的一个或多个api提供的目标数据,按照对应接入任务配置的处理脚本进行处理后,缓存至预设的消息队列中;当监听到所述消息队列中缓存有数据时,从所述消息队列中取出数据,并按照取出数据对应接入任务配置的字段映射关系,对所述取出数据进行转换,并将转换后的数据存储到对应接入任务配置的目标数据库的目标表中,从而实现根据用户需求,无需通过硬编码的方式,就能完成数据提供方推送的数据的接入。
7、在一些实施例中,所述方法还包括:
8、当接收到删除http数据源接入任务中的一个或多个任务指令时,针对每一待删除的接入任务,若该接入任务的执行状态为已执行且数据订阅状态为成功,则向对应的数据提供方发起取消数据订阅请求,停止接收该数据提供方推送的已取消订阅的api提供的目标数据。
9、通过该方法,实现根据用户需求取消订阅数据推送,防止第三方一直推送数据,避免消耗过多资源。
10、在一些实施例中,获取用户创建的一个或多个超文本传输协议http数据源接入任务之后,包括:
11、根据获取的用户创建的一个或多个http数据源接入任务配置的启动时间,针对每一所述接入任务,比对该接入任务的启动时间与当前时间,判断所述启动时间是否与当前时间相匹配,若是,向该接入任务对应的数据提供方发起数据订阅请求;
12、若否,将该接入任务提交到预设的任务调度队列中,循环遍历所述调度队列的任务列表,在循环遍历的过程中,针对任一启动时间与当前时间相匹配的接入任务,向该接入任务对应的数据提供方发起数据订阅请求。
13、通过该方法,实现根据各接入任务的启动时间,确定立即执行任务还是延时执行任务,避免任务超时。
14、在一些实施例中,当接收到删除http数据源接入任务中的一个或多个任务指令时,针对每一待删除的接入任务,若该接入任务的执行状态为待执行,则从所述调度队列的任务列表中删除对应的接入任务。
15、通过该方法,实现将不需要执行的数据接入任务从调度队列中删除,及时释放占用的资源。
16、在一些实施例中,所述向对应的数据提供方发起数据订阅请求,具体包括:
17、将本端加密后的身份信息发送给所述数据提供方进行安全校验;
18、当接收到所述数据提供方返回的校验通过结果时,根据所述数据提供方http数据获取协议参数,生成对应的请求参数,发送给所述数据提供方,用于所述数据提供方根据所述请求参数返回数据订阅成功或失败结果。
19、通过该方法,实现向数据提供方订阅数据推送服务。
20、在一些实施例中,将转换后的数据存储到对应接入任务配置的目标数据库的目标表中,包括;
21、将最新转换后的待存储数据与所述目标表中的数据进行比对,将所述目标表中已存在的数据从所述待存储数据中删除,再将剩余数据存储到所述目标表中。
22、通过该方法,实现剔除重复的数据,避免存储资源的浪费。
23、本技术实施例提供了一种数据接入系统,包括:
24、订阅模块,用于获取用户创建的一个或多个超文本传输协议http数据源接入任务,针对每一所述触发任务,按照该任务配置的http数据源的连接信息,向对应的数据提供方发起数据订阅请求,所述数据订阅请求用于请求订阅该接入任务配置的一个或多个应用程序接口api提供的目标数据;
25、接收模块,用于将预设网关接收的所述数据提供方推送的已订阅成功的一个或多个api提供的目标数据,按照对应接入任务配置的处理脚本进行处理后,缓存至预设的消息队列中;
26、存储模块,用于当监听到所述消息队列中缓存有数据时,从所述消息队列中取出数据,并按照取出数据对应接入任务配置的字段映射关系,对所述取出的数据进行转换,并将转换后的数据存储到对应接入任务配置的目标数据库的目标表中。
27、通过该系统,实现根据用户需求,无需通过硬编码的方式,就能完成数据提供方推送的数据的接入。
28、在一些实施例中,所述订阅模块还用于:
29、当接收到删除http数据源接入任务中的一个或多个任务指令时,针对每一待删除的接入任务,若该接入任务的执行状态为已执行且数据订阅状态为成功,则向对应的数据提供方发起取消数据订阅请求,并通知所述接收模块停止接收该数据提供方推送的已取消订阅的api提供的目标数据。
30、通过该系统,实现根据用户需求取消订阅数据推送,防止第三方一直推送数据,避免消耗过多资源。
31、在一些实施例中,所述系统还包括调度模块,用于:
32、根据获取的用户创建的一个或多个http数据源接入任务配置的启动时间,针对每一所述接入任务,比对该接入任务的启动时间与当前时间,判断所述启动时间是否与当前时间相匹配,若是,则将该接入任务提交给所述订阅模块,用于所述订阅模块向对应的数据提供方发起数据订阅请求;
33、若否,将该接入任务提交到预设的任务调度队列中,循环遍历所述调度队列的任务列表,在循环遍历的过程中,针对任一启动时间与当前时间相匹配的接入任务,将该接入任务提交给所述订阅模块。
34、通过该系统,实现根据各接入任务的启动时间,确定立即执行任务还是延时执行任务,避免任务超时。
35、本技术另一实施例提供了一种数据接入装置,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一种方法。
36、此外,根据实施例,例如提供了一种用于计算机的计算机程序产品,其包括软件代码部分,当所述产品在计算机上运行时,这些软件代码部分用于执行上述所定义的方法的步骤。该计算机程序产品可以包括在其上存储有软件代码部分的计算机可读介质。此外,该计算机程序产品可以通过上传过程、下载过程和推送过程中的至少一个经由网络直接加载到计算机的内部存储器中和/或发送。
37、本技术另一实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。