数据推送方法、装置、计算机设备及计算机可读存储介质与流程

文档序号:17375796发布日期:2019-04-12 23:17阅读:164来源:国知局
数据推送方法、装置、计算机设备及计算机可读存储介质与流程

本发明涉及数据处理技术领域,尤其涉及一种数据推送方法、装置、计算机设备及计算机可读存储介质。



背景技术:

在当前的经济环境下,不同的企业之间往往会存在业务合作,例如金融公司与商业银行,金融公司的产品有时会通过商业银行的系统平台出售,商业银行作为第三方平台承接金融公司与客户,金融公司的产品交易通过商业银行的系统平台完成,商业银行一方需要将交易数据推送给金融公司。对于商业银行一方而言,合作公司一般不止一个,数据的推送需求也是根据不同的合作公司的要求制定的,开发工作人员一般是针对不同合作公司的需求进行很多个性化的接口开发以满足不同合作公司的需求,如此一来,当合作公司的数量越来越多、数据的推送要求越来越多样化,需要开发的接口也越来越多,这样会增加开发工作量,加重人力成本;另外,接口过多也不利于接口的维护。



技术实现要素:

本发明实施例提供了一种数据推送方法、装置、计算机设备及计算机可读存储介质,能够降低接口开发成本与维护成本。

第一方面,本发明实施例提供了一种数据推送方法,该方法包括:

获取接口配置表中的配置信息,所述配置信息包括接口地址、所述接口地址对应的数据推送时间、线程数量以及目标推送地址;

判断当前时间与所述数据推送时间是否一致;

若当前时间与所述数据推送时间一致,从预设数据表中获取待推送数据;

创建所述线程数量的线程,按预设规则将所述待推送数据分配至所述线程;

根据所述接口地址调用接口执行所述线程以将所述待推送数据推送至所述目标推送地址。

第二方面,本发明实施例还提供了一种数据推送装置,所述数据推送装置包括用于实现第一方面所述的数据推送方法的单元。

第三方面,本发明实施例还提供了一种计算机设备,包括存储器,以及与所述存储器相连的处理器;

所述存储器用于存储实现数据推送方法的计算机程序;

所述处理器用于运行所述存储器中存储的计算机程序,以执行如上述第一方面所述的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现上述第一方面所述的方法。

本发明实施例提供了数据推送方法、装置、计算机设备及计算机可读存储介质,通过预配置一个接口配置表,基于不同合作方的数据推送需求进行信息配置,后续通过获取接口配置表中的配置信息来获取数据的推送需求,针对不同推送需求的数据推送可以通过一套标准接口实现,如此,工作人员只需要开发一套标准接口,根据数据推送需求修改接口配置表中的配置信息即可,不需要针对不同的数据推送需求分别进行不同的接口开发工作,减少开发人员的工作量,节约人力成本,同时,只有一套相同标准的接口也便于接口的维护。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种数据推送方法的流程示意图;

图2是本发明另一实施例提供的一种数据推送方法的流程示意图;

图3是本发明实施例提供的一种数据推送装置的示意性框图;

图4是本发明另一实施例提供的一种数据推送装置的示意性框图;

图5是本发明实施例提供的一种计算机设备的结构示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

也应当理解,尽管术语第一、第二等可以在此用来描述各种元素,但这些元素不应该受限于这些术语,这些术语仅用来将这些元素彼此区分开。

图1为本发明实施例提供的一种数据推送方法的流程示意图,该方法可应用于终端或服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。如图1所示,该方法包括步骤s101~s106。

s101,获取接口配置表中的配置信息,所述配置信息包括接口地址、所述接口地址对应的数据推送时间、线程数量以及目标推送地址。

预先创建一个接口配置表,接口配置表中配置有各接口的基于预设数据表(预设数据表中可保存与不同合作方的业务合作数据)的数据推送需求而成的配置信息,配置信息包括接口地址、所述接口地址对应的数据推送时间、线程数量和目标推送地址,后续基于接口配置表中的配置信息推送数据,当预设数据表中数据的推送需求发生改变时,对应修改接口配置表中的配置信息即可,通过配置接口的配置信息,当达到数据推送的条件时,实现依据配置信息向合作方推送数据的目的。

s102、判断当前时间与所述数据推送时间是否一致。

s103、若当前时间与所述数据推送时间一致,从预设数据表中获取待推送数据。

接口配置表中预先设定好了通过不同接口给不同合作方推送数据的数据推送时间,接口可按照设定好的数据推送时间来推送数据,当达到数据推送时间时,查询预设数据表,获取待推送数据以推送数据。

s104、创建所述线程数量的线程。

需要推送数据时,需要创建一定数量的线程,即任务,将待推送数据分配到不同的任务中,当任务被执行即实现推送数据,通过多线程同时实现数据的推送。线程数量可依据需求而定,例如依据数据量而定,数据量越大,所需的线程越多,数据可平均分配到线程上,或依据待推送数据的类型而定,不同类型的数据可分配至不同的线程。

s105、按预设规则将所述待推送数据分配至所述线程。

在一实施例,所述待推送数据包括若干类型的待推荐数据。

步骤s105具体为:将不同类型的待推送数据分配至不同的线程。

预设数据表用来保存与合作方合作的业务合作数据,这些数据包括不同类型的数据,例如客户的投保数据和退保数据等,不同类型的数据通过不同的线程实现数据推送。

s106、根据所述接口地址调用接口执行所述线程以将所述待推送数据推送至所述目标推送地址。

当推送数据的任务被创建后,根据接口地址调用开发好的我方的标准接口执行任务,完成数据的推送。本发明实施例的数据推送方法依据接口的配置信息定时向目标推送地址推送相关的数据,避免针对不同的合作方的数据推送需求编写多个接口代码,降低了开发成本,提高了开发效率。

在一实施例中,步骤s106具体为:根据所述接口地址调用接口,按不同类型的待推送数据预设的推送优先级顺序将所述待推送数据推送至所述目标推送地址。

通过开发人员编写好的程序查询预设数据表中的数据,在查询预设数据表中的数据时可以查询出每一条数据的类型,例如为投保数据或承保数据,预设好每一类数据的推送优先级,通过预设的推送优先级别对不同类型的数据进行先后顺序的推送。

以上是基于本发明实施例的数据推送方法,利用一个接口对一个合作方推送数据的过程,同样地,基于该方法可以利用多个接口向多个合作方推送数据。

在其他实施例中,预设数据表可用来保存与不同合作方合作的业务合作数据,因此待推送数据可包括需要推送给不同合作方的数据,即待推送数据包括若干种不同归属性质(属于不同的合作方)的数据,接口配置表中配置有不同接口的配置信息,即接口地址、所述接口地址对应的数据推送时间、线程数量以及目标推送地址,但还需要配置接口的目标推送地址与待推送数据的归属性质之间的对应关系,开发人员通过编写程序查询预设数据表中的数据时查询出每一条待发送数据的类型以及属于哪一个合作公司,即每一条数据的归属性质,当存在多个接口的数据推送时间一致时,能够将不同归属性质的待推送数据区别地分配至不同的线程,同时将同一种归属性质的不同类型的待推送数据分配到不同的线程,再根据待推送数据的归属性质可获知线程对应的目标推送地址,从而根据目标推送地址确定接口地址,最后根据接口地址调用接口,按不同类型的待推送数据预设的推送优先级执行相应的线程,以实现将不同归属性质的待推送数据推送至对应的目标推送地址。接口配置表中的目标推送地址与预设数据表中待推送数据的归属性质是相关的,根据待推送数据的归属性质将对应的待推送数据发送至对应的目标推送地址,实现对合作公司推送相关的业务合作数据。

本发明实施例的数据推送方法,通过预设配置一个接口配置表,基于接口数据表的数据推送需求对接口进行配置,通过获取接口配置表中的配置信息来获取数据的推送需求,针对不同推送需求的数据推送可以通过一套标准接口实现,如此,工作人员只需要开发一套标准接口,根据数据推送需求修改的接口配置表配置信息即可,不需要针对不同的数据推送需求分别进行不同的接口开发工作,减少开发人员的工作量,节约人力成本;同时,只有一套相同标准的接口也便于接口的维护。

图2为本发明实施例提供的一种数据推送方法的流程示意图,该方法包括步骤s201~s208,本实施例的数据推送方法与上一实施例的数据推送方法相比,增加了步骤s204与步骤s208,其他步骤的内容一样,因此,本发明实施例对其他步骤不做赘述。

s201、获取接口配置表中的配置信息,所述配置信息包括接口地址、所述接口地址对应的数据推送时间、线程数量以及目标推送地址。

s202、判断当前时间与所述数据推送时间是否一致。

s203、若当前时间与所述数据推送时间一致,从预设数据表中获取待推送数据。

s204、判断当前正在执行的线程的数量是否小于预设线程数量阈值;

s205、若当前正在执行的线程的数量小于所述预设线程数量阈值,创建所述线程数量的线程。

在本发明实施例中,仅当当前正在执行的线程的数量小于预设线程数量阈值时才创建新的线程以向目标推送地址推送数据,避免因同时执行的线程过多而导致cpu处理效率低下。即使创建线程后线程的数量超过预设线程数量阈值也不存在问题,因为始终有线程处于被执行的状态,线程的总数量始终在减少,整体影响不大,只需在当前正在执行的线程的数量小于预设线程数量阈值时停止创建新的线程避免继续抢占cpu资源即可。

另外,在创建线程时,当当前正在执行的线程的数量小于预设线程数量阈值时还可以根据剩余线程数量来建立线程,剩余线程数量等于预设线程数量阈值减去当前正在执行的线程的数量,当配置信息中的线程数量小于或等于剩余线程数量时才建立被配置的线程数量的线程,当配置信息中的线程数量大于剩余线程数量,创建剩余线程数量的线程,进一步保证cpu的处理效率。

s206、按预设规则将所述待推送数据分配至所述线程。

s207、根据所述接口地址调用接口执行所述线程以将所述待推送数据推送至所述目标推送地址。

s208、根据推送结果更新所述数据表中所述待推送数据的状态。

在本方案中,根据数据的推送结果更新预设数据表中每一条待推送数据的状态,预设数据表中数据的状态包括三种:初始状态、推送中、推送成功以及推送失败。初始状态指的是数据仅被保存在预设数据表中并未被推送,推送中说明数据处于当前正在被推送的过程。

更新预设数据表中数据的状态有利于发现数据的当前状态,如果数据推送失败则需要重新推送,如果处于初始状态,说明数据待推送。在推送数据的查询预设数据表获取待推送数据的阶段,即是通过每一条数据的状态来或获知数据是否需要被推送,初始状态以及推送失败的数据即为待推送数据。

本发明实施例的数据推送方法,不需要针对不同的数据推送需求分别进行不同的接口开发工作,减少开发人员的工作量,节约人力成本;同时,只有一套相同标准的接口也便于接口的维护;另外,及时根据推送结果更新数据的状态,以便随时了解数据当前的情况。

图3为本发明实施例提供的一种数据推送装置100的示意性框图。该数据推送装置100包括第一获取单元101、第一判断单元102、第二获取单元103、创建单元104、分配单元105以及推送单元106。

第一获取单元101用于获取接口配置表中的配置信息,所述配置信息包括接口地址、所述接口地址对应的数据推送时间、线程数量以及目标推送地址。

第一判断单元102用于判断当前时间与所述数据推送时间是否一致。

第二获取单元103用于若当前时间与所述数据推送时间一致,从预设数据表中获取待推送数据。

创建单元104用于创建所述线程数量的线程。

分配单元105用于按预设规则将所述待推送数据分配至所述线程。

推送单元106用于根据所述接口地址调用接口执行所述线程以将所述待推送数据推送至所述目标推送地址。

在一实施例中,所述待推送数据包括若干类型的待推荐数据。

所述分配单元105具体用于:将不同类型的待推送数据分配至不同的线程。

所述推送单元106具体用于:根据所述接口地址调用接口,按不同类型的待推送数据预设的推送优先级顺序将所述待推送数据推送至所述目标推送地址。

图4为本发明另一实施例提供的一种数据推送装置200的示意性框图。该数据推送装置100包括第一获取单元201、第一判断单元202、第二获取单元203、第二判断单元204、创建单元205、分配单元206、推送单元207以及更新单元208。

第一获取单元201用于获取接口配置表中的配置信息,所述配置信息包括接口地址、所述接口地址对应的数据推送时间、线程数量以及目标推送地址。

第一判断单元202用于判断当前时间与所述数据推送时间是否一致。

第二获取单元203用于若当前时间与所述数据推送时间一致,从预设数据表中获取待推送数据。

第二判断单元204用于判断当前正在执行的线程的数量是否小于预设线程数量阈值。

创建单元205用于若当前正在执行的线程的数量小于所述预设线程数量阈值,创建所述线程数量的线程。

在其他实施例中,创建单元205在创建线程时,还可以根据剩余线程数量来建立线程,剩余线程数量等于预设线程数量阈值减去当前正在执行的线程的数量,当配置信息中的线程数量小于或等于剩余线程数量时才建立被配置的线程数量的线程,当配置信息中的线程数量大于剩余线程数量,创建剩余线程数量的线程,以防线程过多影响执行效率。

分配单元206用于按预设规则将所述待推送数据分配至所述线程。

推送单元207用于根据所述接口地址调用接口执行所述线程以将所述待推送数据推送至所述目标推送地址。

更新单元208用于根据推送结果更新所述数据表中所述待推送数据的状态。

本发明提供的数据推送装置的作用以及各个单元的具体描述,本发明各实施例未详尽之处可参考前述方法实施例,此处不做赘述。

本发明的数据推送装置可以实现为一种计算机程序的形式,计算机程序可以在如图5所示的计算机设备上运行。

图5为本发明实施例提供的一种计算机设备300的结构示意性框图。该计算机设备300,可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。

该计算机设备300,包括通过系统总线301连接的处理器302、存储器和网络接口305,其中,存储器可以包括非易失性存储介质303和内存储器304。

该计算机设备300的非易失性存储介质303可存储操作系统3031和计算机程序3032,该计算机程序3032被执行时,可使得处理器302执行一种数据推送方法。该内存储器304为非易失性存储介质303中的计算机程序3032的运行提供环境。该计算机设备300的处理器302用于提供计算和控制能力,支撑整个计算机设备300的运行。计算机设备300的网络接口305用于进行网络通信,如发送分配的任务、接收数据等。

处理器302运行非易失性存储介质303中的计算机程序3032时,执行以下步骤:

获取接口配置表中的配置信息,所述配置信息包括接口地址、所述接口地址对应的数据推送时间、线程数量以及目标推送地址;

判断当前时间与所述数据推送时间是否一致;

若当前时间与所述数据推送时间一致,从预设数据表中获取待推送数据;

创建所述线程数量的线程;

按预设规则将所述待推送数据分配至所述线程;

根据所述接口地址调用接口执行所述线程以将所述待推送数据推送至所述目标推送地址。

在一实施例中,所述待推送数据包括若干类型的待推送数据。

所述处理器302在执行所述按预设规则将所述待推送数据分配至所述线程的步骤时,具体执行以下步骤:将不同类型的待推送数据分配至不同的线程。

在一实施例中,所述处理器302在执行所述根据所述接口地址调用接口执行所述线程以将所述待推送数据推送至所述目标推送地址的步骤时,具体执行以下步骤:根据所述接口地址调用接口,按不同类型的待推送数据预设的推送优先级顺序将所述待推送数据推送至所述目标推送地址。

在一实施例中,所述处理器302在执行所述创建所述线程数量的线程的步骤之前,还执行以下步骤:

判断当前正在执行的线程的数量是否小于预设线程数量阈值;

若当前正在执行的线程的数量小于所述预设线程数量阈值,执行所述创建所述线程数量的线程的步骤。

在一实施例中,所述处理器302在执行所述根据所述接口地址调用接口执行所述线程以将所述待推送数据推送至所述目标推送地址的步骤之后,还执行以下步骤:根据推送结果更新所述数据表中所述待推送数据的状态。

本领域技术人员可以理解,图5中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图5所示实施例一致,在此不再赘述。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,可实现以下步骤:

获取接口配置表中的配置信息,所述配置信息包括接口地址、所述接口地址对应的数据推送时间、线程数量以及目标推送地址;

判断当前时间与所述数据推送时间是否一致;

若当前时间与所述数据推送时间一致,从预设数据表中获取待推送数据;

创建所述线程数量的线程;

按预设规则将所述待推送数据分配至所述线程;

根据所述接口地址调用接口执行所述线程以将所述待推送数据推送至所述目标推送地址。

在一实施例中,所述待推送数据包括若干类型的待推送数据。

在实现所述按预设规则将所述待推送数据分配至所述线程的步骤时,具体实现以下步骤:将不同类型的待推送数据分配至不同的线程。

在一实施例中,在实现所述根据所述接口地址调用接口执行所述线程以将所述待推送数据推送至所述目标推送地址的步骤时,具体实现以下步骤:根据所述接口地址调用接口,按不同类型的待推送数据预设的推送优先级顺序将所述待推送数据推送至所述目标推送地址。

在一实施例中,在实现所述创建所述线程数量的线程的步骤之前,还实现以下步骤:

判断当前正在执行的线程的数量是否小于预设线程数量阈值;

若当前正在执行的线程的数量小于所述预设线程数量阈值,执行所述创建所述线程数量的线程的步骤。

在一实施例中,在实现所述根据所述接口地址调用接口执行所述线程以将所述待推送数据推送至所述目标推送地址的步骤之后,还实现以下步骤:根据推送结果更新所述数据表中所述待推送数据的状态。

所述计算机可读存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述计算机可读存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1