WO2020006901A1 - 资金归集方法、装置、计算机设备和存储介质 - Google Patents

资金归集方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
WO2020006901A1
WO2020006901A1 PCT/CN2018/108414 CN2018108414W WO2020006901A1 WO 2020006901 A1 WO2020006901 A1 WO 2020006901A1 CN 2018108414 W CN2018108414 W CN 2018108414W WO 2020006901 A1 WO2020006901 A1 WO 2020006901A1
Authority
WO
WIPO (PCT)
Prior art keywords
enterprise
bank
task
balance
bank account
Prior art date
Application number
PCT/CN2018/108414
Other languages
English (en)
French (fr)
Inventor
刘建
宁之孟
魏尧东
金明
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2020006901A1 publication Critical patent/WO2020006901A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting

Definitions

  • the present application relates to the field of computers, and in particular, to a method, an apparatus, a computer device, and a storage medium for collecting funds.
  • the main purpose of this application is to provide a method, device, computer equipment and storage medium for fund collection, which aims to solve the problem that the current technology cannot quickly complete the collection of funds for multiple accounts.
  • This application proposes a method for fund collection, which uses an enterprise-side front-end machine set on the enterprise side to exchange financial data with the bank.
  • the enterprise-side front-end machine is provided with multiple UKey interfaces, and the enterprise-side front-end machine corresponds to A plurality of the UKey interfaces are configured to complete financial data interaction with a plurality of bank-end front-end processors of different types of banks; the method includes
  • the bank account is transferred from the first collection bank account to a designated second bank account according to a preset collection rule.
  • This application also provides a fund collection device, which uses an enterprise-end front-end machine set on the enterprise side to exchange financial data with the bank.
  • the enterprise-end front-end machine is provided with multiple UKey interfaces, and the enterprise-side front-end machine Corresponding to a plurality of the UKey interfaces is configured to complete financial data interaction with a plurality of bank-side front-end processors of different types of banks; the device includes
  • An obtaining unit configured to obtain, through the enterprise-end front-end processor, the balances of multiple centralized bank accounts designated by the enterprise and requiring centralized management of funds;
  • a judging unit configured to judge whether the balance of each of the collective bank accounts is greater than a collective threshold set for each of the collective bank accounts
  • An aggregation unit is configured to, if there is a first aggregation bank account with a balance greater than the aggregation threshold, transfer the funds from the first aggregation bank account to a designated second bank account according to a preset aggregation rule.
  • the present application further provides a computer device including a memory and a processor, where the memory stores computer-readable instructions, and when the processor executes the computer-readable instructions, implements the steps of any of the foregoing methods.
  • the present application also provides a computer non-volatile readable storage medium having computer-readable instructions stored thereon, which are executed by a processor to implement the steps of the method according to any one of the foregoing.
  • the method, device, computer equipment, and storage medium for the application of this application because the front end of the enterprise can perform direct bank-enterprise functions with a number of different types of banks, so multiple UKey interfaces are set on the front end of the enterprise.
  • To ensure the normal use of each bank account when initiating a fund collection task, there is no need to manually log in to a different pooled bank account to check its balance, and there is no need to manually transfer the pooled bank account to external transfers, but through the financial system Automatically completed, that is, automatically querying the balance of different pooled bank accounts, and then determine which pooled bank accounts need pooling processing based on the balance of each pooled bank account, and can automatically complete pooling transfers, which greatly improves the pooling of funds Efficiency, save human resources, and only need to be configured once. In the process of fund collection, there will be no artificial errors such as output account numbers, which makes the process of fund collection more accurate and fast.
  • FIG. 1 is a schematic flowchart of a fund collection method according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of step S1 in the above-mentioned fund collection method according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of a specific process of step S3 in the foregoing fund collection method according to an embodiment of the present invention
  • FIG. 4 is a schematic block diagram of a structure of a fund collection device according to an embodiment of the present invention.
  • FIG. 5 is a schematic block diagram of a structure of an obtaining unit according to an embodiment of the present invention.
  • FIG. 6 is a schematic block diagram of a collection unit according to an embodiment of the present invention.
  • FIG. 7 is a schematic block diagram of a computer device according to an embodiment of the present invention.
  • an embodiment of the present application provides a method for collecting funds, using an enterprise-end front-end machine set on an enterprise side to perform financial data interaction with a bank-side.
  • the enterprise-end front-end machine is provided with multiple UKey interfaces.
  • the enterprise front end corresponds to a plurality of the UKey interfaces, and is configured to complete financial data interaction with a plurality of different bank end front end types.
  • the above-mentioned enterprise-side front-end machine refers to the front-end machine set on the enterprise side, and is an intermediate device when the enterprise-side financial system is directly connected with the bank-bank-enterprise.
  • the foregoing enterprise-side front-end machine is configured to complete data interaction with a plurality of different types of bank-side front-end machines.
  • the configuration process is that when an enterprise-side front-end machine is installed, the enterprise-side front-end machine has an administrator interface. Enter the specified configuration information in the preset interface.
  • the configuration information includes the enterprise ID, the enterprise front-end processor number, the bank server IP, the bank port, the bank-enterprise direct connection number of the bank, and the bank-end front-end processor version number.
  • Banks and other corporate financial systems and banks complete the necessary parameters for direct bank-enterprise integration, and configure the number of threads to configure multi-threaded tasks; then send the configuration results to the application corresponding to the enterprise front-end processor server. That is, configure the bank-enterprise direct account number and related information that are applied for.
  • each bank-enterprise direct account When an enterprise needs to log in to each bank-enterprise direct account to obtain data (transaction data, query data, etc.) in its corresponding bank, it only needs to be in the enterprise.
  • the corresponding UKey (a small storage device directly connected to the computer via USB, with password verification function, and reliable and high speed) can be inserted into the front-end machine, which can realize an enterprise-side front-end machine and a number of different types of banks.
  • the front-end of the enterprise can easily obtain the account information, transaction flow information, and balance information of each bank-enterprise direct account of the enterprise, and can perform related operations such as payment, collection, and transfer.
  • the above major banks refer to different banks.
  • ICBC and China Construction Bank belong to two different major banks, that is, banks using different front-end processors are considered to be different major banks.
  • the method includes steps:
  • step S1 the enterprise side will be provided with a financial system corresponding to the above-mentioned enterprise-side front-end processor, and the enterprise finance staff will initiate a fund collection command on the financial system to the application server corresponding to the enterprise-side front-end processor.
  • a command for pooling funds is then initiated, or an application server automatically initiates a pooling command according to a preset time interval set by the financial system.
  • the front-end of the enterprise can realize the connection with the bank front-ends of multiple configured banks and perform data interaction, it is not necessary to query the balance of the centralized bank account that requires centralized management of funds. Manually log in to different collection bank accounts for query, but it can be done through the financial system.
  • the prerequisite is that the UKey of the corresponding bank is plugged into the front-end of the enterprise.
  • there are two collective bank accounts that need centralized fund management namely, collective bank account A of bank A and collective bank account B of bank B, where bank A and bank B are not the same Banks (that is, the bank front end of Bank A is different from the bank front end of Bank B), there is no need to insert the UKey corresponding to the collective bank account A into the corporate front end, and then log in to the collective bank account A to query Its balance, then unplug the UKey corresponding to the collective bank account A, insert the UKey corresponding to the collective bank account B, and then log in to the collective bank account B to query its balance, but at the same time the UKey corresponding to the collective bank account A and the return
  • the UKey corresponding to the bank account B is inserted into the above-mentioned front end of the enterprise side, and the balance inquiry of the bank account A and the bank account B is completed directly through the above
  • the aggregation thresholds of different aggregation bank accounts may be the same or different.
  • the aggregation threshold of the first account is 1 million yuan
  • the aggregation threshold of the second account is 5 million yuan.
  • the obtained balance corresponding to each pooled bank account is compared with its corresponding pooling threshold. In this way, some pooled bank accounts need to be pooled, and some do not need to be pooled. .
  • the collective bank accounts that need to be aggregated are sorted out, for example, put into a preset aggregated data list to facilitate subsequent bank transfers.
  • the above preset rules include multiple types. For example, if the balance is greater than the collection threshold, the amount corresponding to the collection threshold in the first collection bank account is directly transferred to the above-mentioned second bank account; for example, regardless of the balance Any amount greater than the aggregation threshold will be transferred from the portion greater than the aggregation threshold to the designated second bank account.
  • the above-mentioned second bank account is generally a fixed account, such as an aggregated account set up by the enterprise. When the aggregated bank account that requires fund collection management becomes the first aggregated bank account described above, the first aggregated bank account will be The money in the account is transferred to the above-mentioned general account (second bank account) to realize the collection of funds.
  • the step of obtaining the balance of a plurality of centralized bank accounts requiring centralized management of funds specified by the enterprise through the front-end of the enterprise side includes the following steps:
  • the above-mentioned first task ID is only an identifier, and the identifier uniquely corresponds to the balance inquiry task.
  • the first task ID does not have a task content, so as to prevent the balance inquiry task from being directly placed in the front end of the enterprise. Affects the running space of the front end of the enterprise, and reduces its operating speed. Because the enterprise-end front-end unit of this application can be connected to multiple bank-side front-end units, there will be many different tasks, and directly stacking various tasks into the cache of the front-end unit will greatly reduce the enterprise-side front-end units. Set up the operating efficiency and even crash.
  • the preset cache queue generally includes a transaction cache queue and a query cache queue. Different cache queues store task IDs of corresponding attributes, and correspondingly set a transaction thread pool and a query thread pool.
  • the front end of the enterprise obtains the first task ID, it first determines the attributes of the first task ID.
  • the attributes include transaction attributes and query attributes. Because the first task ID belongs to the query class, it is placed in the query cache queue. in.
  • Each task ID in the two cache queues is sorted and processed according to a preset priority, for example, the level of payment is higher than the level of querying the bank flow.
  • each task is provided with a type identifier, and the type identifier can be divided into 1-8 levels, and the highest level is 1, which represents emergency tasks and is given priority processing.
  • Each task corresponds to a different type identifier, and the corresponding task ID has the same type identifier.
  • the tasks issued are balance query tasks
  • the order in which the task IDs corresponding to each task are stored in the query cache queue will also have a sequential order.
  • the reasons for the sequential order include: the enterprise side queries different banks
  • the balance inquiry task of the account has a preset priority. For example, if the X bank account is the main bank account on the enterprise side, the priority of the balance inquiry task ID for querying the X bank account is set to a priority such as 1 or 2. Grade.
  • the first task ID fed back by the enterprise-side front-end processor refers to that if there is idle in the thread pool corresponding to the cache queue, the task is obtained from the cache queue, and because only the task ID is in the cache queue at this time, Therefore, the enterprise side will return the task ID to the application server, and the application server will generate or retrieve the corresponding task according to the task ID.
  • the obtained message is the corresponding balance query task message.
  • step S13 because the above balance query task is for a centralized bank account that requires centralized management of funds, the configuration information will include the number of the bank-side front-end machine corresponding to the centralized bank account, and the corresponding bank.
  • the server IP and other information are all configured and sent to the application server corresponding to the enterprise-end front-end processor when the enterprise-end front-end processor is installed.
  • the above application server will automatically write these information into the task's message according to the request, so that the front end of the enterprise side can connect to the corresponding front end of the bank.
  • the above-mentioned enterprise-side front-end machine After receiving the balance query task message, the above-mentioned enterprise-side front-end machine will first analyze the required information, such as the number of the bank-side front-end machine, the corresponding bank server IP, and collect bank accounts, and then report the balance inquiry task. The text is accurately sent to the corresponding bank front-end, and the bank front-end is forwarded to the bank server to obtain the final account balance.
  • step S14 a query result is obtained—the account balance of the pooled bank account that requires fund pooling management.
  • Step S3 of the account includes:
  • the above-mentioned second task ID is only an identifier, which uniquely corresponds to the fund collection task, and the second task ID has no task content, so as to prevent the message of the fund collection task from being directly placed on the enterprise side.
  • the front-end processor affects the running space of the enterprise-end front-end processor and reduces the running speed. Because the enterprise-end front-end unit of this application can be connected to multiple bank-side front-end units, there will be many different tasks, and the packets of various tasks will be directly stacked in the front-end unit's cache, which will greatly reduce The operation efficiency of the front end of the enterprise side even crashed.
  • the second task ID is an ID corresponding to a transaction task, so it will be stored in the above-mentioned transaction cache queue.
  • step S32 the above-mentioned enterprise-side front-end processor feedbacks the second task ID means that if the thread pool corresponding to the cache queue is free, the task is obtained from the cache queue, and because only the task ID is in the cache queue at this time, The enterprise side will return the task ID to the application server, and the application server will generate or retrieve the corresponding task message according to the task ID. In this application, when the task ID is the second task ID, the obtained message is the corresponding fund collection task.
  • step S33 because the above-mentioned fund collection task message is directed to the pooled bank account and the second bank account that require fund pooling management, the configuration information will include the bank end corresponding to the pooled bank account. Set the machine number, the corresponding bank server IP, and the corresponding bank server front-end machine number of the second bank account, the corresponding bank server IP, etc. These information are configured and sent to the enterprise when the enterprise-side front machine is installed. Information in the application server corresponding to the front-end processor. The above application server will automatically write these information into the task's message according to the request, so that the front end of the enterprise side can connect to the corresponding front end of the bank.
  • the above-mentioned enterprise-side front-end machine After receiving the fund collection task, the above-mentioned enterprise-side front-end machine will first analyze the required information, such as the number of the bank front-end machine, the corresponding bank server IP, the centralized bank account, and the second bank account, etc. The collection task is accurately sent to the corresponding bank front-end machine, which is then forwarded to the bank server to complete the final transfer. After the first collective bank account transfers to the second bank account, it will return a result message to the enterprise front-end processor, and the enterprise front-end processor will feed it back to the corresponding application server, and the application server will Configuration of the financial system and choose whether to feed the results back to the financial system.
  • the required information such as the number of the bank front-end machine, the corresponding bank server IP, the centralized bank account, and the second bank account, etc.
  • the collection task is accurately sent to the corresponding bank front-end machine, which is then forwarded to the bank server to complete the final transfer.
  • the first collective bank account
  • the method includes:
  • steps S101 and S102 the identifiers corresponding to the types of banks of the UKey devices inserted in each UKey interface are collected, and then the identifiers are compared with the identifiers representing various types of banks configured when the front-end processor of the enterprise is configured.
  • the IDs covered cover the IDs representing various types of banks configured when the enterprise-end front-end is configured it is determined that UKey devices corresponding to various types of banks are inserted into the enterprise-end front-end, and subsequent steps such as step S1 can be performed.
  • the type of bank corresponding to the uncovered identifier is extracted and sent to the relevant personnel of the enterprise to report the alarm.
  • the relevant personnel of the enterprise can take corresponding actions and forget the inserted UKey device or the insertion place will cause the UKey to become loose. Reinsertion of equipment with poor contact, etc., to ensure the interaction between the enterprise and the banks.
  • this judgment method has defects, the judgment speed will be faster.
  • the above-mentioned fund collection method further includes:
  • the enterprise front-end machine and the application server should be online for a long time, but because it is an electronic product, it will inevitably fail or upgrade. At this time, the enterprise front-end machine and the application server may lose the connection.
  • This method detects the connection status between the enterprise front end and the application server. When the connection between the two fails, an alarm message needs to be issued.
  • the bank-side front-end machine is sent to the bank's relevant management system by the bank-side front-end machine to inform the bank-side staff.
  • the bank-side staff can manually notify the corresponding staff of the enterprise-side that a disconnection failure has occurred.
  • the receiving and sending of the heartbeat detection packet can ensure that the financial personnel at the enterprise side know whether the front-end processor of the enterprise side and the application server are disconnected, so as to timely process things that should be directly completed by the bank and enterprise.
  • the above-mentioned fund collection method further includes:
  • the application server and the enterprise-end front end adopt a block input output (BIO) synchronous blocking mode for a long connection.
  • BIO block input output
  • Different order return query tasks cannot be performed at the same time, so they need to be performed in accordance with the order of instructions.
  • One instruction can be executed before the next instruction can be executed. It cannot be executed asynchronously. Therefore, the BIO synchronous blocking mode is used in this application to enable the application server and the enterprise front-end processor. Make a long connection.
  • the packets sent by the enterprise-end front-end unit and the application server to each other are serialized using Protocol Buffers.
  • Protocol Buffers It is a lightweight and efficient structured data storage format, which can be used for serialization of structured data, or serialization. It is very suitable for data storage or RPC data exchange format. Language-independent, platform-independent, and extensible serialization structure data format that can be used in communication protocols, data storage, etc., simply The main advantages of Protobuf are: simple and fast. This application uses GOOGLE's Protocol Buffers for serialization, which can improve the efficiency of message packaging and sending.
  • the enterprise-end front-end machine can perform direct bank-enterprise functions with a plurality of different types of banks, multiple UKey interfaces are set on the enterprise-side front-end machine to ensure that each bank Normal use of accounts; when initiating a fund collection task, there is no need to manually log in to different pooled bank accounts to check their balances, and there is no need to manually transfer the pooled bank accounts to external transfers, but it is done automatically through the financial system, that is, automatically Query the balance of different pooled bank accounts, and then determine which pooled bank accounts need to be pooled based on the balance of each pooled bank account, and can automatically complete the pooling transfer, which greatly improves the efficiency of pooling funds and saves Human resources can be configured only once. In the process of fund collection, no artificial errors such as output of account numbers will occur, making the process of fund collection more accurate and faster.
  • the present application further provides a fund collection device, which uses an enterprise-side front-end machine set on an enterprise side to perform financial data interaction with a bank side.
  • the enterprise-side front-end machine is provided with multiple UKey interfaces, and the enterprise The front end processor corresponds to a plurality of the UKey interfaces and is configured to complete financial data interaction with a plurality of different bank end front processors.
  • the above-mentioned enterprise-side front-end machine refers to the front-end machine set on the enterprise side, and is an intermediate device when the enterprise-side financial system is directly connected with the bank-bank-enterprise.
  • the foregoing enterprise-side front-end machine is configured to complete data interaction with a plurality of different types of bank-side front-end machines.
  • the configuration process is that when an enterprise-side front-end machine is installed, the enterprise-side front-end machine has an administrator interface. Enter the specified configuration information in the preset interface.
  • the configuration information includes the enterprise ID, the enterprise front-end processor number, the bank server IP, the bank port, the bank-enterprise direct connection number of the bank, and the bank-end front-end processor version number.
  • Banks and other corporate financial systems and banks complete the necessary parameters for direct bank-enterprise integration, and configure the number of threads to configure multi-threaded tasks; then send the configuration results to the application corresponding to the enterprise front-end processor server. That is, configure the bank-enterprise direct account number and related information that are applied for.
  • each bank-enterprise direct account When an enterprise needs to log in to each bank-enterprise direct account to obtain data (transaction data, query data, etc.) in its corresponding bank, it only needs to be in the enterprise.
  • the corresponding UKey (a small storage device directly connected to the computer via USB, with password verification function, and reliable and high speed) can be inserted into the front-end machine, which can realize an enterprise-side front-end machine and a number of different types of banks.
  • the front-end of the enterprise can easily obtain the account information, transaction flow information, and balance information of each bank-enterprise direct account of the enterprise, and can perform related operations such as payment, collection, and transfer.
  • the above major banks refer to different banks.
  • ICBC and China Construction Bank belong to two different major banks, that is, banks using different front-end processors are considered to be different major banks.
  • the device includes:
  • the obtaining unit 10 is configured to obtain, through the enterprise-end front-end processor, balances of a plurality of centralized bank accounts designated by the enterprise and requiring centralized management of funds.
  • the enterprise end will be provided with a financial system corresponding to the above-mentioned enterprise-side front-end processor, and the enterprise financial staff will initiate a fund collection command on the financial system to the application server corresponding to the enterprise-side front-end processor.
  • the server then initiates a command for pooling funds, or the application server automatically initiates a command for pooling funds according to a preset time interval set by the financial system.
  • the front-end of the enterprise can realize the connection with the bank front-ends of multiple configured banks and perform data interaction, it is not necessary to query the balance of the centralized bank account that requires centralized management of funds. Manually log in to different collection bank accounts for query, but it can be done through the financial system.
  • the prerequisite is that the UKey of the corresponding bank is plugged into the front-end of the enterprise.
  • there are two collective bank accounts that need centralized fund management namely, collective bank account A of bank A and collective bank account B of bank B, where bank A and bank B are not the same Banks (that is, the bank front end of Bank A is different from the bank front end of Bank B), there is no need to insert the UKey corresponding to the collective bank account A into the corporate front end, and then log in to the collective bank account A to query Its balance, then unplug the UKey corresponding to the collective bank account A, insert the UKey corresponding to the collective bank account B, and then log in to the collective bank account B to query its balance, but at the same time the UKey corresponding to the collective bank account A and the return
  • the UKey corresponding to the bank account B is inserted into the above-mentioned front end of the enterprise side, and the balance inquiry of the bank account A and the bank account B is completed directly through the above
  • the determining unit 20 is configured to determine whether the balance of each of the collective bank accounts is greater than a collective threshold set for each of the collective bank accounts.
  • the aggregation thresholds of different aggregation bank accounts may be the same or different.
  • the aggregation threshold of the first account is 1 million yuan
  • the aggregation threshold of the second account is 5 million yuan.
  • the obtained balance corresponding to each pooled bank account is compared with its corresponding pooling threshold. In this way, some pooled bank accounts need to be pooled, and some do not need to be pooled. .
  • the collective bank accounts that need to be aggregated are sorted out, for example, put into a preset aggregated data list to facilitate subsequent bank transfers.
  • the aggregation unit 30 is configured to, if a first aggregation bank account with a balance greater than the aggregation threshold exists, transfer the money from the first aggregation bank account to a designated second bank account according to a preset aggregation rule.
  • the foregoing preset rules include multiple types. For example, if the balance is greater than the aggregation threshold, the amount corresponding to the aggregation threshold in the first aggregation bank account is directly transferred to the above-mentioned second bank account; for example, Regardless of how much the balance is greater than the aggregation threshold, a portion greater than the aggregation threshold will be transferred to a designated second bank account, etc.
  • the above-mentioned second bank account is generally a fixed account, such as an aggregated account set up by the enterprise. When the aggregated bank account that requires fund collection management becomes the first aggregated bank account described above, the first aggregated bank account will be The money in the account is transferred to the above-mentioned general account (second bank account) to realize the collection of funds.
  • the foregoing obtaining unit 10 includes:
  • a first sending module 11 is configured to send a first task ID corresponding to each balance inquiry task of the collective bank account to the enterprise-end front-end machine, wherein the enterprise-side front-end machine sends the first task to the enterprise-side front-end machine.
  • the ID is stored in a preset cache queue.
  • the above-mentioned first task ID is only an identifier, and the identifier uniquely corresponds to the balance inquiry task.
  • the first task ID does not have a task content to prevent the balance inquiry task from being directly placed in front of the enterprise side. In the machine, it affects the running space of the front end of the enterprise, and reduces its running speed. Because the enterprise-end front-end unit of this application can be connected to multiple bank-side front-end units, there will be many different tasks, and directly stacking various tasks into the cache of the front-end unit will greatly reduce the enterprise-side front-end units. Set up the operating efficiency and even crash.
  • the preset cache queue generally includes a transaction cache queue and a query cache queue. Different cache queues store task IDs of corresponding attributes, and correspondingly set a transaction thread pool and a query thread pool.
  • the front end of the enterprise obtains the first task ID, it first determines the attributes of the first task ID.
  • the attributes include transaction attributes and query attributes. Because the first task ID belongs to the query class, it is placed in the query cache queue. in.
  • Each task ID in the two cache queues is sorted and processed according to a preset priority, for example, the level of payment is higher than the level of querying the bank flow.
  • each task is provided with a type identifier, and the type identifier can be divided into 1-8 levels, and the highest level is 1, which represents emergency tasks and is given priority processing.
  • Each task corresponds to a different type identifier, and the corresponding task ID has the same type identifier.
  • the tasks issued are balance query tasks
  • the order in which the task IDs corresponding to each task are stored in the query cache queue will also have a sequential order.
  • the reasons for the sequential order include: the enterprise side queries different banks
  • the balance inquiry task of the account has a preset priority. For example, if the X bank account is the main bank account on the enterprise side, the priority of the balance inquiry task ID for querying the X bank account is set to a priority such as 1 or 2. Grade.
  • the first receiving module 12 is configured to receive a first task ID fed back by the enterprise-end front-end processor, and obtain a corresponding balance query task according to the first task ID.
  • the first task ID fed back by the enterprise-side front-end processor refers to that if there is idle in the thread pool corresponding to the cache queue, the task is obtained from the cache queue. Task ID, so the enterprise side will give the task ID back to the application server, and the application server will generate or call the corresponding task according to the task ID. In this application, when the task ID is the first task ID, the obtained message is the corresponding balance query task message.
  • the query module 13 is configured to send the balance query task to a corresponding bank front-end using the enterprise-end front-end to query an account balance corresponding to the collective bank account.
  • the configuration information will include the number of the bank-side front-end processor corresponding to the centralized bank account, and the corresponding The bank server IP and other information are all information that is configured when the enterprise-end front-end processor is installed and sent to the application server corresponding to the enterprise-end front-end processor.
  • the above application server will automatically write these information into the task's message according to the request, so that the front end of the enterprise side can connect to the corresponding front end of the bank.
  • the above-mentioned enterprise-side front-end machine After receiving the balance query task message, the above-mentioned enterprise-side front-end machine will first analyze the required information, such as the number of the bank-side front-end machine, the corresponding bank server IP, and collect bank accounts, and then report the balance inquiry task. The text is accurately sent to the corresponding bank front-end, and the bank front-end is forwarded to the bank server to obtain the final account balance.
  • the obtaining module 14 is configured to receive the account balance obtained by the bank front end by the enterprise front end.
  • a query result is obtained--the account balance of the pooled bank account that requires fund pooling management.
  • the above-mentioned aggregation unit 30 includes:
  • the second sending module 31 is configured to generate a fund collection task according to the collection rule, and send a second task ID corresponding to the fund collection task to the enterprise-end front-end machine, wherein the enterprise-side front-end The setting machine stores the second task ID into a preset cache queue.
  • the above-mentioned second task ID is only an identifier, which uniquely corresponds to the fund collection task, and the second task ID does not have a task content, so as to prevent the message of the fund collection task from being directly placed.
  • the running space of the front end of the enterprise is affected, and the running speed is reduced. Because the enterprise-end front-end unit of this application can be connected to multiple bank-side front-end units, there will be many different tasks, and the packets of various tasks will be directly stacked in the front-end unit's cache, which will greatly reduce The operation efficiency of the front end of the enterprise side even crashed.
  • the second task ID is an ID corresponding to a transaction task, so it will be stored in the above-mentioned transaction cache queue.
  • the second receiving module 32 is configured to receive a second task ID fed back by the enterprise-end front-end processor, and obtain a corresponding fund collection task according to the second task ID.
  • the above-mentioned enterprise-side front-end processor feedbacks the second task ID, which means that if there is idle in the thread pool corresponding to the cache queue, the task is obtained from the cache queue, and because only the task is in the cache queue at this time ID, so the enterprise side will return the task ID to the application server, and the application server will generate or retrieve the corresponding task message according to the task ID.
  • the task ID is the second task ID
  • the obtained message is the corresponding fund collection task.
  • An aggregation module 33 is configured to use the enterprise-end front-end machine to send the fund collection task to a corresponding bank front-end machine to complete the transfer of the first centralized bank account to the second bank account.
  • the configuration information will include the bank corresponding to the pooling bank account.
  • the number of the front-end processor, the corresponding bank server IP, and the number of the front-end processor of the bank corresponding to the second bank account, the corresponding bank server IP, etc. are configured and installed concurrently when the enterprise-end front-end is installed.
  • the above application server will automatically write these information into the task's message according to the request, so that the front end of the enterprise side can connect to the corresponding front end of the bank.
  • the above-mentioned enterprise-side front-end machine After receiving the fund collection task, the above-mentioned enterprise-side front-end machine will first analyze the required information, such as the number of the bank front-end machine, the corresponding bank server IP, the centralized bank account, and the second bank account, etc. The collection task is accurately sent to the corresponding bank front-end machine, which is then forwarded to the bank server to complete the final transfer. After the first collective bank account transfers to the second bank account, it will return a result message to the enterprise front-end processor, and the enterprise front-end processor will feed it back to the corresponding application server, and the application server will Configuration of the financial system and choose whether to feed the results back to the financial system.
  • the required information such as the number of the bank front-end machine, the corresponding bank server IP, the centralized bank account, and the second bank account, etc.
  • the collection task is accurately sent to the corresponding bank front-end machine, which is then forwarded to the bank server to complete the final transfer.
  • the first collective bank account
  • the fund collection device further includes:
  • a judging and inserting unit for judging whether or not UKey devices corresponding to various types of banks are inserted into the enterprise-end front-end processor
  • the first alarm unit is configured to alarm if it is determined that UKey devices corresponding to various types of banks are not inserted into the front-end of the enterprise side.
  • the identifiers corresponding to the types of banks of the UKey devices inserted in each UKey interface are collected, and then the identifiers are compared with the identifiers representing various types of banks configured when the front-end processor of the enterprise is configured. Yes, if the collected logos fully cover the logos representing various types of banks configured when the enterprise-end front-end is configured, it is determined that UKey devices corresponding to various types of banks are inserted into the enterprise-end front-end and the subsequent steps can be performed as in step S1. Wait for the steps. If not, extract the type of bank corresponding to the uncovered logo and send it to the relevant personnel of the enterprise to report the alarm.
  • the relevant personnel of the enterprise can perform corresponding processing and will forget the inserted UKey device or the insertion location. Re-insertion caused by loose contact of UKey equipment, etc., to ensure the interaction between the enterprise and the banks.
  • the above-mentioned fund collection device further includes:
  • a heartbeat detection unit configured to receive a heartbeat detection packet sent by the enterprise-end front-end unit and detect a connection status with the enterprise-side front-end unit;
  • the second alarm unit is configured to issue an alarm message if the connection state is disconnected.
  • the enterprise front-end machine and the application server should be online for a long time, but because it is an electronic product, it will inevitably fail or upgrade. At this time, the enterprise front-end machine and the application server may lose the connection.
  • This method detects the connection status between the enterprise front end and the application server. When the connection between the two fails, an alarm message needs to be issued.
  • the bank-side front-end machine is sent to the bank's relevant management system by the bank-side front-end machine to inform the bank-side staff.
  • the bank-side staff can manually notify the corresponding staff of the enterprise-side that a disconnection failure has occurred.
  • the above-mentioned receiving and sending of the heartbeat detection packet can ensure that the financial person at the enterprise side knows whether the front-end processor of the enterprise side and the application server are disconnected, so as to timely process things that should be completed directly by the bank and enterprise.
  • the above-mentioned fund collection device further includes:
  • the long connection unit is configured to perform task interaction with the enterprise-end front-end processor in a long connection manner.
  • the application server and the enterprise-end front end adopt a block input output (BIO) synchronous blocking mode for a long connection.
  • BIO block input output
  • Different order return query tasks cannot be performed at the same time, so they need to be performed in accordance with the order of instructions.
  • One instruction can be executed before the next instruction can be executed. It cannot be executed asynchronously. Therefore, the BIO synchronous blocking mode is used in this application to enable the application server and the enterprise front-end processor. Make a long connection.
  • the above-mentioned fund collection device further includes a serialization unit, configured to serialize messages sent by the enterprise-end front-end processor and the application server to each other through Protocol Buffers.
  • Protocol Buffers It is a lightweight and efficient structured data storage format, which can be used for serialization of structured data, or serialization. It is very suitable for data storage or RPC data exchange format. Language-independent, platform-independent, and extensible serialization structure data format that can be used in communication protocols, data storage, etc., simply The main advantages of Protobuf are: simple and fast. This application uses GOOGLE's Protocol Buffers for serialization, which can improve the efficiency of message packaging and sending.
  • the enterprise-end front-end machine can perform the bank-enterprise direct connection function with a plurality of different types of banks, multiple UKey interfaces are set on the enterprise-side front-end machine to ensure that each bank Normal use of accounts; when initiating a fund collection task, there is no need to manually log in to different pooled bank accounts to check their balances, and there is no need to manually transfer the pooled bank accounts to external transfers, but it is done automatically through the financial system, that is, automatically Query the balance of different pooled bank accounts, and then determine which pooled bank accounts need to be pooled based on the balance of each pooled bank account, and can automatically complete the pooling transfer, which greatly improves the efficiency of pooling funds and saves Human resources can be configured only once. In the process of fund collection, no artificial errors such as output of account numbers will occur, making the process of fund collection more accurate and faster.
  • an embodiment of the present application further provides a computer device.
  • the computer device may be a server, and its internal structure may be as shown in FIG.
  • the computer device includes a processor, a memory, a network interface, and a database connected through a system bus.
  • the computer design processor is used to provide computing and control capabilities.
  • the memory of the computer device includes a non-volatile storage medium and an internal memory.
  • the non-volatile storage medium stores an operating system, computer-readable instructions, and a database.
  • the memory provides an environment for operating systems and computer-readable instructions in a non-volatile storage medium.
  • the database of the computer equipment is used to store funds collection method programs and the like.
  • the network interface of the computer device is used to communicate with an external terminal through a network connection.
  • the computer-readable instructions are executed by a processor to implement a method for pooling funds as in any of the above embodiments.
  • An embodiment of the present application further provides a computer non-volatile readable storage medium, which stores computer-readable instructions.
  • a fund return as in any of the foregoing embodiments is implemented. Set methods.
  • Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory can include random access memory (RAM) or external cache memory.
  • RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual-speed data rate SDRAM (SSRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

一种资金归集方法、装置、计算机设备和存储介质,在企业端前置机上设置了多个UKey接口,以保证各个银行账户的正常使用;发起资金归集任务时,无需手动地登录不同的归集银行账户查询其余额,也无需手动地将归集银行账户对外转账归集,而是通过财务系统自动完成,大大地提高了资金归集的效率。

Description

资金归集方法、装置、计算机设备和存储介质
本申请要求于2018年7月2日提交中国专利局、申请号为2018107099942,申请名称为“资金归集方法、装置、计算机设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及到计算机领域,特别是涉及到一种资金归集方法、装置、计算机设备和存储介质。
背景技术
传统的资金归集需要用户登录网银去手动查看资金是否高于预设金额,如果高于预设金额,就将高于预设金额的资金向指定的的账户进行转账。如有多个银行需要做资金归集,企业端需要要登录多个银行的账户进行操作。
当企业通过财务系统到银行获取各银行账户的余额,以观察其是否需要资金归集时,需要在企业设置一个与银行端前置机匹配的企业端前置机,并在该企业端上插入对应的UKey,然后才能与对应的银行端前置机进行交互,这样,如果一个企业与不同的银行建立银企直联以获取不同银行账户的余额,则需要设置多个企业端前置机,与不同的银行进行交互时,选择不同的企业端前置机。即,传统的企业端前置机一个银行只能对接一个前置机,操作完成之后需要另外换一个前置机,并不能同时在一个前置机上对多家银行进行操作,所以在查询不同银行账户的余额时,比较麻烦,从而无法快速的完成多个账户的资金归集。
技术问题
本申请的主要目的为提供一种资金归集方法、装置、计算机设备和存储介质,旨在解决现有技术无法快速的完成多个账户的资金归集的问题。
技术解决方案
本申请提出一种资金归集方法,利用企业端设置的企业端前置机与银行端进行财务数据交互,所述企业端前置机上设置有多个UKey接口,所述企业端前置机对应多个所述UKey接口被配置为可以与多个不同银行种类的银行端前置机完成财务数据交互;所述方法,包括
通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额;
判断各所述归集银行账户的余额是否大于针对各所述归集银行账户设定的归集阈值;
如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户。
本申请还提供一种资金归集装置,利用企业端设置的企业端前置机与银行端进行财务数据交互,所述企业端前置机上设置有多个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(Transmission Control Protocol 传输控制协议)连接,以保持处理任务的效率。本实施例中,应用服务器与企业端前置机采用BIO(block input output)同步阻塞模式进行长连接。不同的回单查询任务不能够同时进行,所以需要按照指令顺序进行,一个指令执行完才能执行下一个指令,不能异步执行,所以本申请中采用BIO同步阻塞模式使应用服务器与企业端前置机进行长连接。
在一个实施例中,上述企业端前置机与应用服务器相互发送的报文,采用Protocol Buffers进行序列化。
Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式,简单说来 Protobuf 的主要优点就是:简单,快。本申请采用GOOGLE(谷歌)的Protocol Buffers进行序列化,可以提高报文封装和发送的效率。
本发明实施例中的资金归集方法,因为企业端前置机能够与多个不同种类的银行进行银企直联功能,所以在企业端前置机上设置了多个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(Transmission Control Protocol 传输控制协议)连接,以保持处理任务的效率。本实施例中,应用服务器与企业端前置机采用BIO(block input output)同步阻塞模式进行长连接。不同的回单查询任务不能够同时进行,所以需要按照指令顺序进行,一个指令执行完才能执行下一个指令,不能异步执行,所以本申请中采用BIO同步阻塞模式使应用服务器与企业端前置机进行长连接。
在一个实施例中,上述资金归集装置还包括序列化单元,用于将企业端前置机与应用服务器相互发送的报文,通过Protocol Buffers进行序列化。
Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式,简单说来 Protobuf 的主要优点就是:简单,快。本申请采用GOOGLE(谷歌)的Protocol Buffers进行序列化,可以提高报文封装和发送的效率。
本发明实施例中的资金归集装置,因为企业端前置机能够与多个不同种类的银行进行银企直联功能,所以在企业端前置机上设置了多个UKey接口,以保证各个银行账户的正常使用;发起资金归集任务时,无需手动地登录不同的归集银行账户查询其余额,也无需手动地将归集银行账户对外转账归集,而是通过财务系统自动完成,即自动查询不同的归集银行账户的余额,然后根据各归集银行账户的余额判断出哪些归集银行账户需要归集处理,并且可以自动完成归集转账,大大地提高了资金归集的效率,节约人力资源,而且只需要配置一次即可,在资金归集过程中,不会出现人为的如输出账号等错误,使资金归集的过程更加准确、快速。
参照图7,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机可读指令和数据库。该内存器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储资金归集方法程序等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种如上述任一实施例中的资金归集方法。
本申请一实施例还提供一种计算机非易失性可读存储介质,其上存储有计算机可读指令,计算机可读指令被处理器执行时实现一种如上述任一实施例中的资金归集方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(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)等。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (20)

  1. 一种资金归集方法,其特征在于,利用企业端设置的企业端前置机与银行端进行财务数据交互,所述企业端前置机上设置有多个UKey接口,所述企业端前置机对应多个所述UKey接口被配置为可以与多个不同银行种类的银行端前置机完成财务数据交互;所述方法,包括:
    通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额;
    判断各所述归集银行账户的余额是否大于针对各所述归集银行账户设定的归集阈值;
    如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户。
  2. 根据权利要求1所述的资金归集方法,其特征在于,所述通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额步骤,包括:向所述企业端前置机发送各所述归集银行账户的余额查询任务对应的第一任务ID,其中,所述企业端前置机将所述第一任务ID存入到预设的缓存队列中;
    接收所述企业端前置机反馈的第一任务ID,根据所述第一任务ID获取对应的余额查询任务;
    利用所述企业端前置机将所述余额查询任务发送给对应的银行前置机,以查询对应所述归集银行账户的账户余额;
    接收所述企业端前置机由所述银行前置机获取的所述账户余额。
  3. 根据权利要求1所述的资金归集方法,其特征在于,所述如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户的步骤,包括:
    根据所述归集规则生成资金归集任务,并向所述企业端前置机发送所述资金归集任务对应的第二任务ID,其中,所述企业端前置机将所述第二任务ID存入到预设的缓存队列中;
    接收所述企业端前置机反馈的第二任务ID,根据所述第二任务ID获取对应的资金归集任务;
    利用所述企业端前置机将所述资金归集任务发送给对应的银行前置机,以完成所述第一归集银行账户向所述第二银行账户转账。
  4. 根据权利要求1所述的资金归集方法,其特征在于,所述通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额步骤之前,包括:判断所述企业端前置机上是否插入对应各种类银行的UKey设备;若否,则报警。
  5. 根据权利要求1所述的资金归集方法,其特征在于,所述方法还包括:
    接收所述企业端前置机发送的心跳检测包,检测与所述企业端前置机的连接状态;若连接状态为断开,则发出警报信息。
  6. 根据权利要求1所述的资金归集方法,其特征在于,所述方法还包括:通过长连接的方式与所述企业端前置机进行任务交互。
  7. 根据权利要求6所述的资金归集方法,其特征在于,所述通过长连接的方式与所述企业端前置机进行任务交互的步骤,包括:
    通过BIO同步阻塞模式与企业端前置机进行长连接,以完成任务交互。
  8. 一种资金归集装置,其特征在于,利用企业端设置的企业端前置机与银行端进行财务数据交互,所述企业端前置机上设置有多个UKey接口,所述企业端前置机对应多个所述UKey接口被配置为可以与多个不同银行种类的银行端前置机完成财务数据交互;所述装置,包括:
    获取单元,用于通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额;
    判断单元,用于判断各所述归集银行账户的余额是否大于针对各所述归集银行账户设定的归集阈值;
    归集单元,用于如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户。
  9. 根据权利要求8所述的资金归集装置,其特征在于,所述获取单元,包括:
    第一发送模块,用于向所述企业端前置机发送各所述归集银行账户的余额查询任务对应的第一任务ID,其中,所述企业端前置机将所述第一任务ID存入到预设的缓存队列中;
    第一接收模块,用于接收所述企业端前置机反馈的第一任务ID,根据所述第一任务ID获取对应的余额查询任务;
    查询模块,用于利用所述企业端前置机将所述余额查询任务发送给对应的银行前置机,以查询对应所述归集银行账户的账户余额;
    获取模块,用于接收所述企业端前置机由所述银行前置机获取的所述账户余额。
  10. 根据权利要求8所述的资金归集装置,其特征在于,所述归集单元,包括:
    第二发送模块,用于根据所述归集规则生成资金归集任务,并向所述企业端前置机发送所述资金归集任务对应的第二任务ID,其中,所述企业端前置机将所述第二任务ID存入到预设的缓存队列中;
    第二接收模块,用于接收所述企业端前置机反馈的第二任务ID,根据所述第二任务ID获取对应的资金归集任务;
    归集模块,用于利用所述企业端前置机将所述资金归集任务发送给对应的银行前置机,以完成所述第一归集银行账户向所述第二银行账户转账。
  11. 根据权利要求8所述的资金归集装置,其特征在于,所述资金归集装置还包括:
    判断插入单元,用于判断所述企业端前置机上是否插入对应各种类银行的UKey设备;
    第一报警单元,用于若判定所述企业端前置机上未插入对应各种类银行的UKey设备,则报警。
  12. 根据权利要求8所述的资金归集装置,其特征在于,所述资金归集装置还包括:
    心跳检测单元,用于接收所述企业端前置机发送的心跳检测包,检测与所述企业端前置机的连接状态;
    第二报警单元,用于若连接状态为断开,则发出警报信息。
  13. 根据权利要求8所述的资金归集装置,其特征在于,资金归集装置还包括:长连接单元,用于通过长连接的方式与所述企业端前置机进行任务交互。
  14. 根据权利要求13所述的资金归集装置,其特征在于,所述资金归集装置还包括:序列化单元,用于将企业端前置机与应用服务器相互发送的报文,通过Protocol Buffers进行序列化。
  15. 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实一种资金归集方法,利用企业端设置的企业端前置机与银行端进行财务数据交互,所述企业端前置机上设置有多个UKey接口,所述企业端前置机对应多个所述UKey接口被配置为可以与多个不同银行种类的银行端前置机完成财务数据交互;所述方法,包括:
    通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额;
    判断各所述归集银行账户的余额是否大于针对各所述归集银行账户设定的归集阈值;
    如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户。
  16. 根据权利要求15所述的计算机设备,其特征在于,所述通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额步骤,包括:
    向所述企业端前置机发送各所述归集银行账户的余额查询任务对应的第一任务ID,其中,所述企业端前置机将所述第一任务ID存入到预设的缓存队列中;
    接收所述企业端前置机反馈的第一任务ID,根据所述第一任务ID获取对应的余额查询任务;
    利用所述企业端前置机将所述余额查询任务发送给对应的银行前置机,以查询对应所述归集银行账户的账户余额;
    接收所述企业端前置机由所述银行前置机获取的所述账户余额。
  17. 根据权利要求15所述的计算机设备,其特征在于,所述如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户的步骤,包括:
    根据所述归集规则生成资金归集任务,并向所述企业端前置机发送所述资金归集任务对应的第二任务ID,其中,所述企业端前置机将所述第二任务ID存入到预设的缓存队列中;
    接收所述企业端前置机反馈的第二任务ID,根据所述第二任务ID获取对应的资金归集任务;
    利用所述企业端前置机将所述资金归集任务发送给对应的银行前置机,以完成所述第一归集银行账户向所述第二银行账户转账。
  18. 根据权利要求15所述的计算机设备,其特征在于,所述通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额步骤之前,包括:
    判断所述企业端前置机上是否插入对应各种类银行的UKey设备;
    若否,则报警。
  19. 一种计算机非易失性可读存储介质,其上存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现一种资金归集方法,利用企业端设置的企业端前置机与银行端进行财务数据交互,所述企业端前置机上设置有多个UKey接口,所述企业端前置机对应多个所述UKey接口被配置为可以与多个不同银行种类的银行端前置机完成财务数据交互;所述方法,包括:
    通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额;
    判断各所述归集银行账户的余额是否大于针对各所述归集银行账户设定的归集阈值;
    如果存在余额大于归集阈值的第一归集银行账户,则按照预设的归集规则从所述第一归集银行账户转账给指定的第二银行账户。
  20. 根据权利要求19所述的计算机非易失性可读存储介质,其特征在于,所述通过所述企业端前置机获取企业端指定的需要资金归集管理的多个归集银行账户的余额步骤,包括:
    向所述企业端前置机发送各所述归集银行账户的余额查询任务对应的第一任务ID,其中,所述企业端前置机将所述第一任务ID存入到预设的缓存队列中;接收所述企业端前置机反馈的第一任务ID,根据所述第一任务ID获取对应的余额查询任务;
    利用所述企业端前置机将所述余额查询任务发送给对应的银行前置机,以查询对应所述归集银行账户的账户余额;
    接收所述企业端前置机由所述银行前置机获取的所述账户余额。
PCT/CN2018/108414 2018-07-02 2018-09-28 资金归集方法、装置、计算机设备和存储介质 WO2020006901A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810709994.2 2018-07-02
CN201810709994.2A CN109191271B (zh) 2018-07-02 2018-07-02 资金归集方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
WO2020006901A1 true WO2020006901A1 (zh) 2020-01-09

Family

ID=64948798

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/108414 WO2020006901A1 (zh) 2018-07-02 2018-09-28 资金归集方法、装置、计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN109191271B (zh)
WO (1) WO2020006901A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111210334A (zh) * 2019-12-13 2020-05-29 佛山欧神诺云商科技有限公司 一种快速归集转账资金的方法、系统及存储介质
CN114169873A (zh) * 2021-11-26 2022-03-11 天津车之家软件有限公司 一种支付方法、装置、计算设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877107A (zh) * 2010-04-08 2010-11-03 苏州德融嘉信信用管理技术有限公司 集团企业资金归集业务系统及其应用方法
CN101908179A (zh) * 2010-08-17 2010-12-08 中国建设银行股份有限公司 跨行资金账户归集管理方法
CN102999866A (zh) * 2012-12-10 2013-03-27 中国民生银行股份有限公司 资金归集方法和系统
CN103218716A (zh) * 2013-03-06 2013-07-24 交通银行股份有限公司 安全认证终端Ukey、网银操作方法及设备
CN108021798A (zh) * 2017-12-21 2018-05-11 鸿秦(北京)科技有限公司 一种基于USBkey的可信操作系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103679960A (zh) * 2012-09-06 2014-03-26 联多科技(北京)有限公司 现金通统一金融平台
CN105630614B (zh) * 2015-12-22 2019-01-11 世纪龙信息网络有限责任公司 批处理任务处理系统和方法
CN106897869A (zh) * 2017-02-22 2017-06-27 世纪禾光科技发展(北京)有限公司 跨境电子商务平台银企直连的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877107A (zh) * 2010-04-08 2010-11-03 苏州德融嘉信信用管理技术有限公司 集团企业资金归集业务系统及其应用方法
CN101908179A (zh) * 2010-08-17 2010-12-08 中国建设银行股份有限公司 跨行资金账户归集管理方法
CN102999866A (zh) * 2012-12-10 2013-03-27 中国民生银行股份有限公司 资金归集方法和系统
CN103218716A (zh) * 2013-03-06 2013-07-24 交通银行股份有限公司 安全认证终端Ukey、网银操作方法及设备
CN108021798A (zh) * 2017-12-21 2018-05-11 鸿秦(北京)科技有限公司 一种基于USBkey的可信操作系统

Also Published As

Publication number Publication date
CN109191271A (zh) 2019-01-11
CN109191271B (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
WO2020006903A1 (zh) 财务数据交互方法、装置、计算机设备和存储介质
WO2020006902A1 (zh) 批量支付方法、装置、计算机设备和存储介质
WO2020006895A1 (zh) 对账方法、装置、计算机设备和存储介质
CN110458559B (zh) 交易数据处理方法、装置、服务器和存储介质
US9961125B2 (en) Messaging API over HTTP protocol to establish context for data exchange
CN104182683B (zh) 一种联机事务的监控方法、装置及系统
WO2009030130A1 (fr) Procédé et système de transmission de données
WO2020006896A1 (zh) 余额监控方法、装置、计算机设备和存储介质
JP2018508072A (ja) メッセージをプッシュするための方法および装置
CN103198007A (zh) 多进程的日志输出方法及系统
WO2020259515A1 (zh) 一种tcp应用的调用链获取方法及装置
WO2020006893A1 (zh) 回单获取方法、装置、计算机设备和存储介质
CN111240862A (zh) 一种通用接口平台以及数据转换方法
WO2020056850A1 (zh) 一种基于http协议的数据请求方法和服务器
WO2020006901A1 (zh) 资金归集方法、装置、计算机设备和存储介质
CN107797859A (zh) 一种定时任务的调度方法及一种调度服务器
WO2020258653A1 (zh) 一种跨节点的数据处理方法及装置
CN104731660B (zh) 数据分配方法、装置和系统
CN111131499A (zh) 并发和异步任务处理方法及其设备
WO2020006904A1 (zh) 财务调拨方法、装置、计算机设备和存储介质
CN110569178B (zh) 基于大数据平台的接口预警方法和系统
CN105991305B (zh) 一种识别链路异常的方法及装置
CN104754029B (zh) 确定主管理服务器的方法、装置和系统
US20220350815A1 (en) Systems and methods for data format conversion
CN115086311A (zh) 一种基于云服务总线的企业跨系统服务的管理系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18925588

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18925588

Country of ref document: EP

Kind code of ref document: A1