资金归集方法、装置、计算机设备和存储介质与流程

文档序号:16583649发布日期:2019-01-14 18:12阅读:371来源:国知局
资金归集方法、装置、计算机设备和存储介质与流程

本申请涉及到计算机领域,特别是涉及到一种资金归集方法、装置、计算机设备和存储介质。



背景技术:

传统的资金归集需要用户登录网银去手动查看资金是否高于预设金额,如果高于预设金额,就将高于预设金额的资金向指定的的账户进行转账。如有多个银行需要做资金归集,企业端需要要登录多个银行的账户进行操作。

当企业通过财务系统到银行获取各银行账户的余额,以观察其是否需要资金归集时,需要在企业设置一个与银行端前置机匹配的企业端前置机,并在该企业端上插入对应的ukey,然后才能与对应的银行端前置机进行交互,这样,如果一个企业与不同的银行建立银企直联以获取不同银行账户的余额,则需要设置多个企业端前置机,与不同的银行进行交互时,选择不同的企业端前置机。即,传统的企业端前置机一个银行只能对接一个前置机,操作完成之后需要另外换一个前置机,并不能同时在一个前置机上对多家银行进行操作,所以在查询不同银行账户的余额时,比较麻烦,从而无法快速的完成多个账户的资金归集。



技术实现要素:

本申请的主要目的为提供一种资金归集方法、装置、计算机设备和存储介质,旨在解决现有技术无法快速的完成多个账户的资金归集的问题。

本申请提出一种资金归集方法,利用企业端设置的企业端前置机与银行端进行财务数据交互,所述企业端前置机上设置有多个ukey接口,所述企业端前置机对应多个所述ukey接口被配置为可以与多个不同银行种类的银行端前置机完成财务数据交互;所述方法,包括

通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额;

判断各所述归集银行账户的余额是否大于针对各所述归集银行账户设定的归集阈值;

如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户。

进一步地,所述通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额步骤,包括:

向所述企业端前置机发送各所述归集银行账户的余额查询任务对应的第一任务id,其中,所述企业端前置机将所述第一任务id存入到预设的缓存队列中;

接收所述企业端前置机反馈的第一任务id,根据所述第一任务id获取对应的余额查询任务;

利用所述企业端前置机将所述余额查询任务发送给对应的银行前置机,以查询对应所述归集银行账户的账户余额;

接收所述企业端前置机由所述银行前置机获取的所述账户余额。

进一步地,所述如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户的步骤,包括:

根据所述归集规则生成资金归集任务,并向所述企业端前置机发送所述资金归集任务对应的第二任务id,其中,所述企业端前置机将所述第二任务id存入到预设的缓存队列中;

接收所述企业端前置机反馈的第二任务id,根据所述第二任务id获取对应的资金归集任务;

利用所述企业端前置机将所述资金归集任务发送给对应的银行前置机,以完成所述第一归集银行账户向所述第二银行账户转账。

进一步地,所述通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额步骤之前,包括:

判断所述企业端前置机上是否插入对应各种类银行的ukey设备;

若否,则报警。

进一步地,所述的资金归集方法还包括:

接收所述企业端前置机发送的心跳检测包,检测与所述企业端前置机的连接状态;

若连接状态为断开,则发出警报信息。

进一步地,所述的资金归集方法还包括:

通过长连接的方式与所述企业端前置机进行任务交互。

进一步地,所述通过长连接的方式与所述企业端前置机进行任务交互的步骤,包括:

通过bio同步阻塞模式与所述企业端前置机进行长连接,以完成任务交互。

本申请还提供一种资金归集装置,利用企业端设置的企业端前置机与银行端进行财务数据交互,所述企业端前置机上设置有多个ukey接口,所述企业端前置机对应多个所述ukey接口被配置为可以与多个不同银行种类的银行端前置机完成财务数据交互;所述装置,包括

获取单元,用于通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额;

判断单元,用于判断各所述归集银行账户的余额是否大于针对各所述归集银行账户设定的归集阈值;

归集单元,用于如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户。

本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

本申请的资金归集方法、装置、计算机设备和存储介质,因为企业端前置机能够与多个不同种类的银行进行银企直联功能,所以在企业端前置机上设置了多个ukey接口,以保证各个银行账户的正常使用;发起资金归集任务时,无需手动地登录不同的归集银行账户查询其余额,也无需手动地将归集银行账户对外转账归集,而是通过财务系统自动完成,即自动查询不同的归集银行账户的余额,然后根据各归集银行账户的余额判断出哪些归集银行账户需要归集处理,并且可以自动完成归集转账,大大地提高了资金归集的效率,节约人力资源,而且只需要配置一次即可,在资金归集过程中,不会出现人为的如输出账号等错误,使资金归集的过程更加准确、快速。

附图说明

图1为本发明一实施例的资金归集方法的流程示意图;

图2为本发明一实施例的上述资金归集方法中步骤s1的具体流程示意图;

图3为本发明一实施例的上述资金归集方法中步骤s3的具体流程示意图;

图4为本发明一实施例的资金归集装置的结构示意框图;

图5为本发明一实施例的获取单元的结构示意框图;

图6为本发明一实施例的归集单元的结构示意框图;

图7为本发明一实施例的计算机设备的结构示意框图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,本申请实施例提供一种资金归集方法,利用企业端设置的企业端前置机与银行端进行财务数据交互,所述企业端前置机上设置有多个ukey接口,所述企业端前置机对应多个所述ukey接口被配置为可以与多个不同银行种类的银行端前置机完成财务数据交互。

上述的企业端前置机是指设置在企业端的前置机,是企业端财务系统与银行端进行银企直联时的中间设备。上述企业端前置机被配置为可以与多个不同银行种类的银行端前置机完成数据交互,配置过程为,当企业安装企业端前置机时,企业端前置机有一个管理员界面,在预设的界面内输入指定的配置信息,该配置信息包括企业id、企业端前置机编号、银行服务器ip、银行端口、银行的银企直联编号、银行端前置机的版本号,银行大类等企业财务系统与银行完成银企直联的必要参数,还会配置线程数大小配置等,以实现多线程任务的处理;然后将配置结果发送给企业端前置机对应的应用服务器。也就是,配置申请通过的银企直联的账号及其相关信息,当企业需要登录各银企直联的账户获取在其对应银行的数据时(交易数据、查询数据等),只需要在企业端前置机上插入对应的ukey(一种通过usb直接与计算机相连、具有密码验证功能、可靠高速的小型存储设备)即可,实现一个企业端前置机与多个不同类银行的银行端前置机连接,企业统一集中管理用户的银行ukey,无需做银行的切换操作。通过企业端前置机可以方便地获取企业的每个银企直联账户的账户信息、交易流水信息、余额信息,并且可以进行相关的支付、归集、调拨等相关操作。上述银行大类是指不同的银行,比如工商银行与建设银行属于两个不同的银行大类等,即使用不同前置机的银行被认为是不同的银行大类。

所述方法,包括步骤:

s1、通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额。

在步骤s1中,企业端会设置有安装对应上述企业端前置机的财务系统,企业财务人员会在财务系统上发起资金归集的命令给与企业端前置机对应的应用服务器,应用服务器再发起资金归集的命令,或者是应用服务器根据财务系统设置的预设时间间隔自动发起资金归集的命令。本申请中,由于企业端前置机可以实现与多个配置过的银行的银行前置机保持连接,并进行数据交互,所以在查询需要资金归集管理的归集银行账户的余额时,无需手动地登录不同的归集银行账户查询,而是通过财务系统既可以完成,当然,前提条件是,企业端前置机上插接有对应银行的ukey。在一具体实施例中,需要资金归集管理的归集银行账户包括两个,分别是a银行的归集银行账户a,以及b银行的归集银行账户b,其中a银行和b银行不是同类银行(即a银行的银行前置机和b银行的银行前置机标准不同),无需先将归集银行账户a对应的ukey插入到企业端前置机中,然后登录归集银行账户a查询其余额,然后拔掉归集银行账户a对应的ukey,插入归集银行账户b对应的ukey,然后登录归集银行账户b查询其余额,而是同时将归集银行账户a对应的ukey和归集银行账户b对应的ukey插入到上述企业端前置机,通过上述财务系统机直接完成归集银行账户a和归集银行账户b的余额查询,方便、快速,释放人力资源。

s2、判断各所述归集银行账户的余额是否大于针对各所述归集银行账户设定的归集阈值。

在步骤s2中,不同的归集银行账户的归集阈值可以相同,也可以不同,比如,第一账户的归集阈值为100万人民币,第二账户的归集阈值为500万人民币等。本实施例中,会将获取到的各归集银行账户对应的余额,与其对应的归集阈值进行比较,这样,会出现有的归集银行账户需要归集,有的则不需要进行归集。此时,会将需要归集的归集银行账户整理出来,比如放入一个预设的归集数据列表中,以便于后续的银行转账等。

s3、如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户。

在步骤s3中,上述预设规则包括多种,比如,余额大于归集阈值,则直接将第一归集银行账户中对应归集阈值的金额转账到上述第二银行账户;又比如,无论余额大于归集阈值多少,都会从将大于归集阈值的部分转账到指定的第二银行账户等。上述第二银行账户一般为固定账户,如企业设置的一个归集总账户,当需要资金归集管理的归集银行账户成为上述的第一归集银行账户时,即会将第一归集银行账户中的金钱转账到上述的总账户(第二银行账户),以实现资金归集。

参照图2,在一个实施例中,上述通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额步骤s1,包括:

s11、向所述企业端前置机发送各所述归集银行账户的余额查询任务对应的第一任务id,其中,所述企业端前置机将所述第一任务id存入到预设的缓存队列中。

在步骤s11中,上述的第一任务id只是一个标识,该标识唯一对应所述余额查询任务,第一任务id并没有任务内容,以防止将余额查询任务直接放到企业端前置机中,影响企业端前置机的运行空间,而降低其运行速度。因为本申请的企业端前置机可以连接多个银行端前置机,所以各种不同的任务会较多,直接将各种任务堆积到前置机的缓存中,会大大地降低企业端前置机的运行效率,甚至崩溃。本申请中,只放入第一任务id,则大大地降低了企业端前置机的缓存空间的要求,提高运行环境质量。本实施例中,预设的缓存队列一般包括交易缓存队列和查询缓存队列,不同的缓存队列存放对应属性的任务id,对应的设置交易线程池和查询线程池。企业端前置机在获取到第一任务id时,先判断所述第一任务id的属性,其中属性包括交易属性、查询属性,因为第一任务id属于查询类,则放入到查询缓存队列中。两个缓存队列中的各任务id按预设的优先级进行排序处理,比如,支付的级别高于查询银行流水的级别等。具体地,每个任务会设置有一个类型标识,类型标识可分为1-8个级别,为1的话等级最高,代表紧急任务,优先处理。各种任务对应不同的类型标识,其对应的任务id则具有同样的类型标识。本申请中,虽然发出的任务都是余额查询任务,但是各任务对应的任务id存入到查询缓存队列中的顺序也会存在先后的顺序,造成先后顺序的原因包括:企业端对查询不同银行账户的余额查询任务预设了优先级,比如,x银行账户是企业端的主要银行账户,则将查询该x银行账户的余额查询任务id的优先级设定为靠前的如1或2的优先级等。

s12、接收所述企业端前置机反馈的第一任务id,根据所述第一任务id获取对应的余额查询任务。

在步骤s12中,上述企业端前置机反馈的第一任务id是指,对应上述缓存队列的线程池中有空闲,则到缓存队列中获取任务,又因为此时缓存队列中只是任务id,所以企业端前置机会将任务id返回给上述应用服务器,应用服务器会根据任务id生成或调取对应的任务。本申请中,当任务id为第一任务id时,得到的报文即为对应的余额查询任务报文。

s13、利用所述企业端前置机将所述余额查询任务发送给对应的银行前置机,以查询对应所述归集银行账户的账户余额。

在步骤s13中,因为上述余额查询任务是有针对需要资金归集管理的归集银行账户的,那么配置信息中会包含有该归集银行账户对应的银行端前置机的编号、对应的银行服务器ip等,这些信息都是在安装企业端前置机时配置好并发给企业端前置机对应的应用服务器中的信息。上述应用服务器会根据请求自动将这些信息写入到任务的报文中,以便于企业端前置机连接对应的银行端前置机。上述企业端前置机接收到余额查询任务报文后,会先解析出需要的信息,如银行端前置机的编号、对应的银行服务器ip、归集银行账户等,然后将余额查询任务报文准确地发送给对应的银行前置机,银行前置机再进行转发给银行服务器,以获取到最后的账户余额。

s14、接收所述企业端前置机由所述银行前置机获取的所述账户余额。

在步骤s14中,获取到查询结果--需要资金归集管理的归集银行账户的账户余额。

参照图3,在一个实施例中,上述如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户的步骤s3,包括:

s31、根据所述归集规则生成资金归集任务,并向所述企业端前置机发送所述资金归集任务对应的第二任务id,其中,所述企业端前置机将所述第二任务id存入到预设的缓存队列中。

在步骤s31中,上述的第二任务id只是一个标识,该标识唯一对应所述资金归集任务,第二任务id并没有任务内容,以防止将资金归集任务的报文直接放到企业端前置机中,影响企业端前置机的运行空间,而降低运行速度。因为本申请的企业端前置机可以连接多个银行端前置机,所以各种不同的任务会较多,直接将各种任务的报文堆积到前置机的缓存中,会大大地降低企业端前置机的运行效率,甚至崩溃。本申请中,只放入第二任务id,则大大地降低了企业端前置机的缓存空间的要求,提高运行环境质量。本申请中,第二任务id是一种交易类任务对应的id,所以其会存储到上述的交易缓存队列中。

s32、接收所述企业端前置机反馈的第二任务id,根据所述第二任务id获取对应的资金归集任务。

在步骤s32中,上述企业端前置机反馈第二任务id是指,对应上述缓存队列的线程池中有空闲,则到缓存队列中获取任务,又因为此时缓存队列中只是任务id,所以企业端前置机会将任务id返回给上述应用服务器,应用服务器会根据任务id生成或调取对应的任务报文。本申请中,当任务id为第二任务id时,得到的报文即为对应的资金归集任务。

s33、利用所述企业端前置机将所述资金归集任务发送给对应的银行前置机,以完成所述第一归集银行账户向所述第二银行账户转账。

在步骤s33中,因为上述资金归集任务报文是有针对需要资金归集管理的归集银行账户和第二银行账户的,那么配置信息中会包含有该归集银行账户对应的银行端前置机的编号、对应的银行服务器ip,以及第二银行账户对应的银行端前置机的编号、对应的银行服务器ip等,这些信息都是在安装企业端前置机时配置好并发给企业端前置机对应的应用服务器中的信息。上述应用服务器会根据请求自动将这些信息写入到任务的报文中,以便于企业端前置机连接对应的银行端前置机。上述企业端前置机接收到资金归集任务后,会先解析出需要的信息,如银行前置机的编号、对应的银行服务器ip、归集银行账户、第二银行账户等,然后将资金归集任务准确地发送给对应的银行前置机,银行前置机再转发给银行服务器,以完成最后的转账。各第一归集银行账户向第二银行账户转账完毕后,会返回一个结果报文给企业端前置机,企业端前置机则会将其反馈给对应的应用服务器,应用服务器会根据企业的财务系统的配置而选择是否将该结果反馈给财务系统。

在一个实时中,所述通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额步骤s1之前,包括:

s101、判断所述企业端前置机上是否插入对应各种类银行的ukey设备;

s102、若否,则报警。

在步骤s101和s102中,采集各ukey接口插入的ukey设备的对应其银行种类的标识,然后将所述标识与配置企业端前置机时配置的代表各类银行的标识进行比对,如果采集到的各标识全面覆盖配置企业端前置机时配置的代表各类银行的标识时,则判定企业端前置机上插入对应各种类银行的ukey设备,可以执行后续如步骤s1等步骤,否者,将未被覆盖的标识对应的银行种类提取出来,并发送给企业的相关人员以报警,此时企业的相关人员可以进行相应的处理,将忘记插入的ukey设备或插入处松动而导致ukey设备接触不良的重新插入等,以保证企业与各银行之间的交互。在另一实施例中,还可以判断获取到的ukey设备的标识与配置企业端前置机时配置的代表各类银行的标识(不重复)的数量是否相同,因为一个银行只会发一个ukey给企业,所以当数量相同时候,基本可以判定企业端前置机上插入对应各种类银行的ukey设备,此种判断方法虽然存在缺陷,但是判断速度会更快。

在一个实施例中,上述资金归集方法还包括:

接收所述企业端前置机发送的心跳检测包,检测与所述企业端前置机的连接状态;若连接状态为断开,则发出警报信息。

理论上,企业端前置机和应用服务器应该长期在线,但是因为是电子产品,难免会出现故障或者升级等处理,此时企业端前置机与应用服务器可能断掉连接,那么通过心跳检测的方式检测企业端前置机和应用服务器的连接状态,当两者连接失败,则需要发出警报信息。发出警报信息包括两种,第一种,发送邮件等信息给企业的相关人员,和/或发送给提供企业端前置机的第三方的相关人员;第二种,发送指定的信息给与其连接的银行端前置机,并由银行端前置机发送给银行的相关管理系统,以告知银行端的工作人员,银行端的工作人员可以人工告知企业端相应人员发生了断连接的故障等。上述接收发送心跳检测包,可以保障企业端的财务人员了解企业端前置机和应用服务器是否断开连接,从而及时处理原本需要银企直联完成的事物。

在一个实施例中,上述资金归集方法还包括:

通过长连接的方式与所述企业端前置机进行任务交互。

因为向企业端前置机发送的任务或接收的任务可能是连续的,所以使用长连接的方式监听服务,使每个操作完后都不断开,下次处理时直接发送数据包就可以,不用建立tcp(transmissioncontrolprotocol传输控制协议)连接,以保持处理任务的效率。本实施例中,应用服务器与企业端前置机采用bio(blockinputoutput)同步阻塞模式进行长连接。不同的回单查询任务不能够同时进行,所以需要按照指令顺序进行,一个指令执行完才能执行下一个指令,不能异步执行,所以本申请中采用bio同步阻塞模式使应用服务器与企业端前置机进行长连接。

在一个实施例中,上述企业端前置机与应用服务器相互发送的报文,采用protocolbuffers进行序列化。

protocolbuffers是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或rpc数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式,简单说来protobuf的主要优点就是:简单,快。本申请采用google(谷歌)的protocolbuffers进行序列化,可以提高报文封装和发送的效率。

本发明实施例中的资金归集方法,因为企业端前置机能够与多个不同种类的银行进行银企直联功能,所以在企业端前置机上设置了多个ukey接口,以保证各个银行账户的正常使用;发起资金归集任务时,无需手动地登录不同的归集银行账户查询其余额,也无需手动地将归集银行账户对外转账归集,而是通过财务系统自动完成,即自动查询不同的归集银行账户的余额,然后根据各归集银行账户的余额判断出哪些归集银行账户需要归集处理,并且可以自动完成归集转账,大大地提高了资金归集的效率,节约人力资源,而且只需要配置一次即可,在资金归集过程中,不会出现人为的如输出账号等错误,使资金归集的过程更加准确、快速。

参照图4,本申请还提供一种资金归集装置,利用企业端设置的企业端前置机与银行端进行财务数据交互,所述企业端前置机上设置有多个ukey接口,所述企业端前置机对应多个所述ukey接口被配置为可以与多个不同银行种类的银行端前置机完成财务数据交互。

上述的企业端前置机是指设置在企业端的前置机,是企业端财务系统与银行端进行银企直联时的中间设备。上述企业端前置机被配置为可以与多个不同银行种类的银行端前置机完成数据交互,配置过程为,当企业安装企业端前置机时,企业端前置机有一个管理员界面,在预设的界面内输入指定的配置信息,该配置信息包括企业id、企业端前置机编号、银行服务器ip、银行端口、银行的银企直联编号、银行端前置机的版本号,银行大类等企业财务系统与银行完成银企直联的必要参数,还会配置线程数大小配置等,以实现多线程任务的处理;然后将配置结果发送给企业端前置机对应的应用服务器。也就是,配置申请通过的银企直联的账号及其相关信息,当企业需要登录各银企直联的账户获取在其对应银行的数据时(交易数据、查询数据等),只需要在企业端前置机上插入对应的ukey(一种通过usb直接与计算机相连、具有密码验证功能、可靠高速的小型存储设备)即可,实现一个企业端前置机与多个不同类银行的银行端前置机连接,企业统一集中管理用户的银行ukey,无需做银行的切换操作。通过企业端前置机可以方便地获取企业的每个银企直联账户的账户信息、交易流水信息、余额信息,并且可以进行相关的支付、归集、调拨等相关操作。上述银行大类是指不同的银行,比如工商银行与建设银行属于两个不同的银行大类等,即使用不同前置机的银行被认为是不同的银行大类。

所述装置,包括:

获取单元10,用于通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额。

在获取单元10中,企业端会设置有安装对应上述企业端前置机的财务系统,企业财务人员会在财务系统上发起资金归集的命令给与企业端前置机对应的应用服务器,应用服务器再发起资金归集的命令,或者是应用服务器根据财务系统设置的预设时间间隔自动发起资金归集的命令。本申请中,由于企业端前置机可以实现与多个配置过的银行的银行前置机保持连接,并进行数据交互,所以在查询需要资金归集管理的归集银行账户的余额时,无需手动地登录不同的归集银行账户查询,而是通过财务系统既可以完成,当然,前提条件是,企业端前置机上插接有对应银行的ukey。在一具体实施例中,需要资金归集管理的归集银行账户包括两个,分别是a银行的归集银行账户a,以及b银行的归集银行账户b,其中a银行和b银行不是同类银行(即a银行的银行前置机和b银行的银行前置机标准不同),无需先将归集银行账户a对应的ukey插入到企业端前置机中,然后登录归集银行账户a查询其余额,然后拔掉归集银行账户a对应的ukey,插入归集银行账户b对应的ukey,然后登录归集银行账户b查询其余额,而是同时将归集银行账户a对应的ukey和归集银行账户b对应的ukey插入到上述企业端前置机,通过上述财务系统机直接完成归集银行账户a和归集银行账户b的余额查询,方便、快速,释放人力资源。

判断单元20,用于判断各所述归集银行账户的余额是否大于针对各所述归集银行账户设定的归集阈值。

在判断单元20中,不同的归集银行账户的归集阈值可以相同,也可以不同,比如,第一账户的归集阈值为100万人民币,第二账户的归集阈值为500万人民币等。本实施例中,会将获取到的各归集银行账户对应的余额,与其对应的归集阈值进行比较,这样,会出现有的归集银行账户需要归集,有的则不需要进行归集。此时,会将需要归集的归集银行账户整理出来,比如放入一个预设的归集数据列表中,以便于后续的银行转账等。

归集单元30,用于如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户。

在归集单元30中,上述预设规则包括多种,比如,余额大于归集阈值,则直接将第一归集银行账户中对应归集阈值的金额转账到上述第二银行账户;又比如,无论余额大于归集阈值多少,都会从将大于归集阈值的部分转账到指定的第二银行账户等。上述第二银行账户一般为固定账户,如企业设置的一个归集总账户,当需要资金归集管理的归集银行账户成为上述的第一归集银行账户时,即会将第一归集银行账户中的金钱转账到上述的总账户(第二银行账户),以实现资金归集。

参照图5,在一个实施例中,上述获取单元10,包括:

第一发送模块11,用于向所述企业端前置机发送各所述归集银行账户的余额查询任务对应的第一任务id,其中,所述企业端前置机将所述第一任务id存入到预设的缓存队列中。

在第一发送模块11中,上述的第一任务id只是一个标识,该标识唯一对应所述余额查询任务,第一任务id并没有任务内容,以防止将余额查询任务直接放到企业端前置机中,影响企业端前置机的运行空间,而降低其运行速度。因为本申请的企业端前置机可以连接多个银行端前置机,所以各种不同的任务会较多,直接将各种任务堆积到前置机的缓存中,会大大地降低企业端前置机的运行效率,甚至崩溃。本申请中,只放入第一任务id,则大大地降低了企业端前置机的缓存空间的要求,提高运行环境质量。本实施例中,预设的缓存队列一般包括交易缓存队列和查询缓存队列,不同的缓存队列存放对应属性的任务id,对应的设置交易线程池和查询线程池。企业端前置机在获取到第一任务id时,先判断所述第一任务id的属性,其中属性包括交易属性、查询属性,因为第一任务id属于查询类,则放入到查询缓存队列中。两个缓存队列中的各任务id按预设的优先级进行排序处理,比如,支付的级别高于查询银行流水的级别等。具体地,每个任务会设置有一个类型标识,类型标识可分为1-8个级别,为1的话等级最高,代表紧急任务,优先处理。各种任务对应不同的类型标识,其对应的任务id则具有同样的类型标识。本申请中,虽然发出的任务都是余额查询任务,但是各任务对应的任务id存入到查询缓存队列中的顺序也会存在先后的顺序,造成先后顺序的原因包括:企业端对查询不同银行账户的余额查询任务预设了优先级,比如,x银行账户是企业端的主要银行账户,则将查询该x银行账户的余额查询任务id的优先级设定为靠前的如1或2的优先级等。

第一接收模块12,用于接收所述企业端前置机反馈的第一任务id,根据所述第一任务id获取对应的余额查询任务。

在第一接收模块12中,上述企业端前置机反馈的第一任务id是指,对应上述缓存队列的线程池中有空闲,则到缓存队列中获取任务,又因为此时缓存队列中只是任务id,所以企业端前置机会将任务id返回给上述应用服务器,应用服务器会根据任务id生成或调取对应的任务。本申请中,当任务id为第一任务id时,得到的报文即为对应的余额查询任务报文。

查询模块13,用于利用所述企业端前置机将所述余额查询任务发送给对应的银行前置机,以查询对应所述归集银行账户的账户余额。

在询模块13中,因为上述余额查询任务是有针对需要资金归集管理的归集银行账户的,那么配置信息中会包含有该归集银行账户对应的银行端前置机的编号、对应的银行服务器ip等,这些信息都是在安装企业端前置机时配置好并发给企业端前置机对应的应用服务器中的信息。上述应用服务器会根据请求自动将这些信息写入到任务的报文中,以便于企业端前置机连接对应的银行端前置机。上述企业端前置机接收到余额查询任务报文后,会先解析出需要的信息,如银行端前置机的编号、对应的银行服务器ip、归集银行账户等,然后将余额查询任务报文准确地发送给对应的银行前置机,银行前置机再进行转发给银行服务器,以获取到最后的账户余额。

获取模块14,用于接收所述企业端前置机由所述银行前置机获取的所述账户余额。

在获取模块14中,获取到查询结果--需要资金归集管理的归集银行账户的账户余额。

参照图6,在一个实施例中,上述归集单元30,包括:

第二发送模块31,用于根据所述归集规则生成资金归集任务,并向所述企业端前置机发送所述资金归集任务对应的第二任务id,其中,所述企业端前置机将所述第二任务id存入到预设的缓存队列中。

在第二发送模块31中,上述的第二任务id只是一个标识,该标识唯一对应所述资金归集任务,第二任务id并没有任务内容,以防止将资金归集任务的报文直接放到企业端前置机中,影响企业端前置机的运行空间,而降低运行速度。因为本申请的企业端前置机可以连接多个银行端前置机,所以各种不同的任务会较多,直接将各种任务的报文堆积到前置机的缓存中,会大大地降低企业端前置机的运行效率,甚至崩溃。本申请中,只放入第二任务id,则大大地降低了企业端前置机的缓存空间的要求,提高运行环境质量。本申请中,第二任务id是一种交易类任务对应的id,所以其会存储到上述的交易缓存队列中。

第二接收模块32,用于接收所述企业端前置机反馈的第二任务id,根据所述第二任务id获取对应的资金归集任务。

在第二接收模块32中,上述企业端前置机反馈第二任务id是指,对应上述缓存队列的线程池中有空闲,则到缓存队列中获取任务,又因为此时缓存队列中只是任务id,所以企业端前置机会将任务id返回给上述应用服务器,应用服务器会根据任务id生成或调取对应的任务报文。本申请中,当任务id为第二任务id时,得到的报文即为对应的资金归集任务。

归集模块33,用于利用所述企业端前置机将所述资金归集任务发送给对应的银行前置机,以完成所述第一归集银行账户向所述第二银行账户转账。

在归集模块33中,因为上述资金归集任务报文是有针对需要资金归集管理的归集银行账户和第二银行账户的,那么配置信息中会包含有该归集银行账户对应的银行端前置机的编号、对应的银行服务器ip,以及第二银行账户对应的银行端前置机的编号、对应的银行服务器ip等,这些信息都是在安装企业端前置机时配置好并发给企业端前置机对应的应用服务器中的信息。上述应用服务器会根据请求自动将这些信息写入到任务的报文中,以便于企业端前置机连接对应的银行端前置机。上述企业端前置机接收到资金归集任务后,会先解析出需要的信息,如银行前置机的编号、对应的银行服务器ip、归集银行账户、第二银行账户等,然后将资金归集任务准确地发送给对应的银行前置机,银行前置机再转发给银行服务器,以完成最后的转账。各第一归集银行账户向第二银行账户转账完毕后,会返回一个结果报文给企业端前置机,企业端前置机则会将其反馈给对应的应用服务器,应用服务器会根据企业的财务系统的配置而选择是否将该结果反馈给财务系统。

在一个实时中,所述资金归集装置还包括:

判断插入单元,用于判断所述企业端前置机上是否插入对应各种类银行的ukey设备;

第一报警单元,用于若判定所述企业端前置机上未插入对应各种类银行的ukey设备,则报警。

在判断插入单元和第一报警单元中,采集各ukey接口插入的ukey设备的对应其银行种类的标识,然后将所述标识与配置企业端前置机时配置的代表各类银行的标识进行比对,如果采集到的各标识全面覆盖配置企业端前置机时配置的代表各类银行的标识时,则判定企业端前置机上插入对应各种类银行的ukey设备,可以执行后续如步骤s1等步骤,否者,将未被覆盖的标识对应的银行种类提取出来,并发送给企业的相关人员以报警,此时企业的相关人员可以进行相应的处理,将忘记插入的ukey设备或插入处松动而导致ukey设备接触不良的重新插入等,以保证企业与各银行之间的交互。在另一实施例中,还可以判断获取到的ukey设备的标识与配置企业端前置机时配置的代表各类银行的标识(不重复)的数量是否相同,因为一个银行只会发一个ukey给企业,所以当数量相同时候,基本可以判定企业端前置机上插入对应各种类银行的ukey设备,此种判断方法虽然存在缺陷,但是判断速度会更快。

在一个实施例中,上述资金归集装置还包括:

心跳检测单元,用于接收所述企业端前置机发送的心跳检测包,检测与所述企业端前置机的连接状态;

第二报警单元,用于若连接状态为断开,则发出警报信息。

理论上,企业端前置机和应用服务器应该长期在线,但是因为是电子产品,难免会出现故障或者升级等处理,此时企业端前置机与应用服务器可能断掉连接,那么通过心跳检测的方式检测企业端前置机和应用服务器的连接状态,当两者连接失败,则需要发出警报信息。发出警报信息包括两种,第一种,发送邮件等信息给企业的相关人员,和/或发送给提供企业端前置机的第三方的相关人员;第二种,发送指定的信息给与其连接的银行端前置机,并由银行端前置机发送给银行的相关管理系统,以告知银行端的工作人员,银行端的工作人员可以人工告知企业端相应人员发生了断连接的故障等。上述接收发送心跳检测包,可以保障企业端的财务人了解企业端前置机和应用服务器是否断开连接,从而及时处理原本需要银企直联完成的事物。

在一个实施例中,上述资金归集装置还包括:

长连接单元,用于通过长连接的方式与所述企业端前置机进行任务交互。

因为向企业端前置机发送的任务或接收的任务可能是连续的,所以使用长连接的方式监听服务,使每个操作完后都不断开,下次处理时直接发送数据包就可以,不用建立tcp(transmissioncontrolprotocol传输控制协议)连接,以保持处理任务的效率。本实施例中,应用服务器与企业端前置机采用bio(blockinputoutput)同步阻塞模式进行长连接。不同的回单查询任务不能够同时进行,所以需要按照指令顺序进行,一个指令执行完才能执行下一个指令,不能异步执行,所以本申请中采用bio同步阻塞模式使应用服务器与企业端前置机进行长连接。

在一个实施例中,上述资金归集装置还包括序列化单元,用于将企业端前置机与应用服务器相互发送的报文,通过protocolbuffers进行序列化。

protocolbuffers是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或rpc数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式,简单说来protobuf的主要优点就是:简单,快。本申请采用google(谷歌)的protocolbuffers进行序列化,可以提高报文封装和发送的效率。

本发明实施例中的资金归集装置,因为企业端前置机能够与多个不同种类的银行进行银企直联功能,所以在企业端前置机上设置了多个ukey接口,以保证各个银行账户的正常使用;发起资金归集任务时,无需手动地登录不同的归集银行账户查询其余额,也无需手动地将归集银行账户对外转账归集,而是通过财务系统自动完成,即自动查询不同的归集银行账户的余额,然后根据各归集银行账户的余额判断出哪些归集银行账户需要归集处理,并且可以自动完成归集转账,大大地提高了资金归集的效率,节约人力资源,而且只需要配置一次即可,在资金归集过程中,不会出现人为的如输出账号等错误,使资金归集的过程更加准确、快速。

参照图7,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储资金归集方法程序等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种资金归集方法。

上述处理器执行上述资金归集方法,利用企业端设置的企业端前置机与银行端进行财务数据交互,所述企业端前置机上设置有多个ukey接口,所述企业端前置机对应多个所述ukey接口被配置为可以与多个不同银行种类的银行端前置机完成财务数据交互;所述方法,包括:通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额;判断各所述归集银行账户的余额是否大于针对各所述归集银行账户设定的归集阈值;如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户。

在一个实施例中,上述通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额步骤,包括:向所述企业端前置机发送各所述归集银行账户的余额查询任务对应的第一任务id,其中,所述企业端前置机将所述第一任务id存入到预设的缓存队列中;接收所述企业端前置机反馈的第一任务id,根据所述第一任务id获取对应的余额查询任务;利用所述企业端前置机将所述余额查询任务发送给对应的银行前置机,以查询对应所述归集银行账户的账户余额;接收所述企业端前置机由所述银行前置机获取的所述账户余额。

在一个实施例中,上述如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户的步骤,包括:根据所述归集规则生成资金归集任务,并向所述企业端前置机发送所述资金归集任务对应的第二任务id,其中,所述企业端前置机将所述第二任务id存入到预设的缓存队列中;接收所述企业端前置机反馈的第二任务id,根据所述第二任务id获取对应的资金归集任务;利用所述企业端前置机将所述资金归集任务发送给对应的银行前置机,以完成所述第一归集银行账户向所述第二银行账户转账。

在一个实施例中,上述通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额步骤之前,包括:判断所述企业端前置机上是否插入对应各种类银行的ukey设备;若否,则报警。

在一个实施例中,上述资金归集方法还包括:接收所述企业端前置机发送的心跳检测包,检测与所述企业端前置机的连接状态;若连接状态为断开,则发出警报信息。

在一个实施例中,上述资金归集方法还包括:通过长连接的方式与所述企业端前置机进行任务交互。

在一个实施例中,上述通过长连接的方式与所述企业端前置机进行任务交互的步骤,包括:通过bio同步阻塞模式与企业端前置机进行长连接,以完成任务交互。

本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本申请实施例的计算机设备,因为企业端前置机能够与多个不同种类的银行进行银企直联功能,所以在企业端前置机上设置了多个ukey接口,以保证各个银行账户的正常使用;发起资金归集任务时,无需手动地登录不同的归集银行账户查询其余额,也无需手动地将归集银行账户对外转账归集,而是通过财务系统自动完成,即自动查询不同的归集银行账户的余额,然后根据各归集银行账户的余额判断出哪些归集银行账户需要归集处理,并且可以自动完成归集转账,大大地提高了资金归集的效率,节约人力资源,而且只需要配置一次即可,在资金归集过程中,不会出现人为的如输出账号等错误,使资金归集的过程更加准确、快速。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种资金归集方法,利用企业端设置的企业端前置机与银行端进行财务数据交互,所述企业端前置机上设置有多个ukey接口,所述企业端前置机对应多个所述ukey接口被配置为可以与多个不同银行种类的银行端前置机完成财务数据交互;所述方法,包括:通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额;判断各所述归集银行账户的余额是否大于针对各所述归集银行账户设定的归集阈值;如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户。

上述资金归集方法,因为企业端前置机能够与多个不同种类的银行进行银企直联功能,所以在企业端前置机上设置了多个ukey接口,以保证各个银行账户的正常使用;发起资金归集任务时,无需手动地登录不同的归集银行账户查询其余额,也无需手动地将归集银行账户对外转账归集,而是通过财务系统自动完成,即自动查询不同的归集银行账户的余额,然后根据各归集银行账户的余额判断出哪些归集银行账户需要归集处理,并且可以自动完成归集转账,大大地提高了资金归集的效率,节约人力资源,而且只需要配置一次即可,在资金归集过程中,不会出现人为的如输出账号等错误,使资金归集的过程更加准确、快速。

在一个实施例中,上述处理器通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额步骤,包括:向所述企业端前置机发送各所述归集银行账户的余额查询任务对应的第一任务id,其中,所述企业端前置机将所述第一任务id存入到预设的缓存队列中;接收所述企业端前置机反馈的第一任务id,根据所述第一任务id获取对应的余额查询任务;利用所述企业端前置机将所述余额查询任务发送给对应的银行前置机,以查询对应所述归集银行账户的账户余额;接收所述企业端前置机由所述银行前置机获取的所述账户余额。

在一个实施例中,上述处理器如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户的步骤,包括:根据所述归集规则生成资金归集任务,并向所述企业端前置机发送所述资金归集任务对应的第二任务id,其中,所述企业端前置机将所述第二任务id存入到预设的缓存队列中;接收所述企业端前置机反馈的第二任务id,根据所述第二任务id获取对应的资金归集任务;利用所述企业端前置机将所述资金归集任务发送给对应的银行前置机,以完成所述第一归集银行账户向所述第二银行账户转账。

在一个实施例中,上述处理器通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额步骤之前,包括:判断所述企业端前置机上是否插入对应各种类银行的ukey设备;若否,则报警。

在一个实施例中,上述处理器执行的资金归集方法还包括:接收所述企业端前置机发送的心跳检测包,检测与所述企业端前置机的连接状态;若连接状态为断开,则发出警报信息。

在一个实施例中,上述执行的资金归集方法还包括:通过长连接的方式与所述企业端前置机进行任务交互。

在一个实施例中,上述处理器通过长连接的方式与所述企业端前置机进行任务交互的步骤,包括:通过bio同步阻塞模式与企业端前置机进行长连接,以完成任务交互。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

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