CN108345635A - 一种高可用的账单系统及账单生成处理方法 - Google Patents
一种高可用的账单系统及账单生成处理方法 Download PDFInfo
- Publication number
- CN108345635A CN108345635A CN201711483057.1A CN201711483057A CN108345635A CN 108345635 A CN108345635 A CN 108345635A CN 201711483057 A CN201711483057 A CN 201711483057A CN 108345635 A CN108345635 A CN 108345635A
- Authority
- CN
- China
- Prior art keywords
- bill
- time generatin
- message
- mass production
- generatin
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种高可用的账单系统及账单生成处理方法,方法包括:账单即时生成:在批量生成账单之前,调用BillGenSDK中的API即时生成账单,推送账单即时生成消息到消息队列,在Redis数据库中缓存即时生成的账单;账单批量生成:调用BillGenSDK中的API批量生成账单,并存储到Mysql数据库中;且对于已经缓存在Redis数据库中的即时生成的账单,通过消费消息的方式,持久化存储到MySQL数据库中。本发明减少了对账单生成模块的强依赖,提高了账单展示的可用性;同时,实现即时生成账单的缓存和持久化,避免重复生成账单,提高生成效率;降低查询响应时间;保证账单正常展示,提高账单系统可用性,提升用户体验。
Description
技术领域
本发明涉及金融交易控制领域,具体涉及一种高可用的账单系统及账单生成处理方法。
背景技术
目前账单系统的主要功能在于用户账单的展示,通常高度依赖于用户交易汇总数据,现有的解决方案是:定时任务模块通过定时任务在用户的账单日定时生成月账单和个人账单,并持久化到mySQL数据库,账单系统再以用户和账单年月等维度进行查询,这种解决方案的实现方式比较直观、简单,账单生成系统和交易系统以及账单系统的耦合度较低。
但是,随着用户数量的快速增长,账单的生成时间会不断增加,将会导致出账所需时间不断延长,同时,异常账单和交易的发生几率也会增加,在用户生成账单的过程中,如果发生还款、退款等交易行为,则需要进行特殊处理;当用户进行查询操作时,账单系统的当月账单查询功能也会处于长时间的不可用状态,可用性较差,严重影响到用户体验。
发明内容
本发明所要解决的技术问题是现有的账单系统发生异常账单和交易的几率较高,可用性较差,严重影响到用户体验的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种高可用的账单系统,包括:
账单即时生成模块,在批量生成账单之前,调用BillGenSDK中的API即时生成账单,并进行消息推送和缓存;
Redis数据库,存储所述账单即时生成模块即时生成的账单和已经持久化的账单;
消息推送模块,推送账单即时生成消息到消息队列;
缓存账单获取模块,根据接收到的所述消息推送模块推送的账单即时生成消息,获取所述Redis数据库中的缓存账单并持久化;
账单批量生成模块,通过任务的方式,调用BillGenSDK中的API批量生成账单,并存储到Mysql数据库中;同时,对于已经缓存在Redis数据库中的即时生成的账单,通过消费消息的方式,持久化存储到MySQL数据库中。
在上述技术方案中,还包括MySQL数据库,存储所述账单即时生成模块即时生成的账单和所述账单生成模块已经持久化的账单。
本发明还提供了一种高可用的账单生成处理方法,包括以下步骤:
账单即时生成:
在批量生成账单之前,调用BillGenSDK中的API即时生成账单,推送账单即时生成消息到消息队列,并在Redis数据库中缓存即时生成的账单;
账单批量生成:
通过任务的方式,调用BillGenSDK中的API批量生成账单,并存储到Mysql数据库中;同时,对于已经缓存在Redis数据库中的即时生成的账单,通过消费消息的方式,持久化存储到MySQL数据库中。
在上述技术方案中,还包括以下步骤:
步骤一、对账单进行查询;
步骤二、判断安全校验是否通过,若校验已通过,则转步骤三;否则,返回查询结果;
步骤三、判断用户是否已经批量生成了持久化存储在MySQL数据库中的月账单,如果有,转步骤四;否则,非完整账单生成,并返回查询结果;
步骤四、判断账单是否已生成,如果是,则查询缓存账单;否则,调用BillGenSDK中的API即时生成账单。
在上述技术方案中,将即时生成的账单和已经持久化的账单存储到MySQL数据库中。
本发明提出了一种高可用的账单系统及账单生成处理方法,该方法包括:账单即时生成:在批量生成账单之前,调用BillGenSDK中的API即时生成账单,推送账单即时生成消息到消息队列,并在Redis数据库中缓存即时生成的账单;账单批量生成:通过任务的方式,调用BillGenSDK中的API批量生成账单,并存储到Mysql数据库中;同时,对于已经缓存在Redis数据库中的即时生成的账单,通过消费消息的方式,持久化存储到MySQL数据库中。
本发明通过抽象出公用的账单生成逻辑BillGenSDK,减少对账单生成模块的强依赖,提高账单展示的可用性。同时,利用Redis缓存和消息队列,实现即时生成账单的缓存和持久化,避免重复生成账单,提高生成效率;此外,Redis缓存还用于缓存用户高频查询的账单,从而降低查询响应时间;保证账单的7*24正常展示,提高账单系统可用性,提升用户体验。
附图说明
图1为本发明中一种高可用的账单生成处理方法流程图;
图2为本发明中高可用的账单系统结构示意图。
具体实施方式
为了解决现有的账单系统随着用户数量的快速增长,账单的生成时间不断增加,导致出账所需时间不断延长,同时,异常账单和交易的发生几率也会增加,在用户生成账单的过程中,如果发生还款、退款等交易行为,需要进行特殊处理;当用户进行查询操作时,账单系统的当月账单查询功能也会处于长时间的不可用状态,发生异常账单和交易的几率较高,可用性差,严重影响到用户体验的问题。
本发明提出了一种高可用的账单系统及账单生成处理方法,该方法包括:账单即时生成:在批量生成账单之前,调用BillGenSDK中的API即时生成账单,推送账单即时生成消息到消息队列,并在Redis数据库中缓存即时生成的账单;账单批量生成:通过任务的方式,调用BillGenSDK中的API批量生成账单,并存储到Mysql数据库中;同时,对于已经缓存在Redis数据库中的即时生成的账单,通过消费消息的方式,持久化存储到MySQL数据库中。
本发明通过抽象出公用的账单生成逻辑BillGenSDK,减少对账单生成模块的强依赖,提高账单展示的可用性。同时,利用Redis缓存和消息队列,实现即时生成账单的缓存和持久化,避免重复生成账单,提高生成效率;此外,Redis缓存还用于缓存用户高频查询的账单,从而降低查询响应时间;保证账单的7*24正常展示,提高账单系统可用性,提升用户体验。
下面结合说明书附图和具体实施方式对本发明做出详细的说明。
本发明实施例提供了一种高可用的账单生成处理方法,如图1所示,包括以下步骤:
账单即时生成:
S1、对账单进行查询。
S2、判断安全校验是否通过,若校验已通过,转S3;否则;转S8。
S3、判断用户是否已经批量生成了持久化存储在MySQL数据库中的月账单,如果有,转S4;否则,转S9。
S4、判断账单是否已生成,如果是,转S10;否则,转S5。
S5、调用BillGenSDK中的API即时生成账单。
S6、推送账单即时生成消息到消息队列,转S7。
S7、缓存即时生成的账单,并存储在Redis数据库中。
S8、返回查询结果。
S9、非完整账单生成,转S8。
非完整账单生成,表示批量任务正在生成,包括生成完毕的状态和处于生成中的状态。
S10、查询用户的缓存账单。
S11、判断用户的缓存账单是否已经在Redis数据库中,如果是,转S8;否则,转S12。
S12、查询MySQL数据库中的账单,转S8。
如果用户的账单已经在Redis数据库中了,则直接到Redis数据库中去读取,不再查询MySQL数据库。
账单生成:
S13、根据获取到的消息队列中的账单即时生成消息,获取Redis数据库中的缓存账单。
S14、将缓存账单持久化到MySQL数据库中。
S15、调用BillGenSDK中的API生成账单,并将生成的账单持久化到MySQL数据库中。
本发明实施例还提供了一种高可用的账单系统,如图2所示,包括:
账单即时生成模块10,在批量生成账单之前,调用BillGenSDK中的API即时生成账单,并进行消息推送和缓存;
Redis数据库20,存储账单即时生成模块10即时生成的账单和已经持久化的账单;
消息推送模块30,推送账单即时生成消息到消息队列;
缓存账单获取模块40,根据接收到的消息推送模块30推送的账单即时生成消息,获取Redis数据库20中的缓存账单并持久化;
账单批量生成模块50,通过任务的方式,调用BillGenSDK中的API批量生成账单,并存储到Mysql数据库中;同时,对于已经缓存在Redis数据库20中的即时生成的账单,通过消费消息的方式,持久化存储到MySQL数据库中;
MySQL数据库60,存储即时生成的账单和已经持久化的账单。
本发明公开的一种高可用的账单系统及账单生成处理方法,通过抽象出公用的账单生成逻辑BillGenSDK,减少对账单生成模块的强依赖,提高账单展示的可用性。同时,利用Redis缓存和消息队列,实现即时生成账单的缓存和持久化,避免重复生成账单提高生成效率;此外,redis缓存还用于缓存用户高频查询的账单,从而降低查询响应时间;保证账单的7*24正常展示,提高账单系统可用性,提升用户体验。
本发明不局限于上述最佳实施方式,任何人在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
Claims (5)
1.一种高可用的账单系统,其特征在于,包括:
账单即时生成模块,在批量生成账单之前,调用BillGenSDK中的API即时生成账单,并进行消息推送和缓存;
Redis数据库,存储所述账单即时生成模块即时生成的账单和已经持久化的账单;
消息推送模块,推送账单即时生成消息到消息队列;
缓存账单获取模块,根据接收到的所述消息推送模块推送的账单即时生成消息,获取所述Redis数据库中的缓存账单并持久化;
账单批量生成模块,通过任务的方式,调用BillGenSDK中的API批量生成账单,并存储到Mysql数据库中;同时,对于已经缓存在Redis数据库中的即时生成的账单,通过消费消息的方式,持久化存储到MySQL数据库中。
2.如权利要求1所述的高可用的账单系统,其特征在于,还包括MySQL数据库,存储所述账单即时生成模块即时生成的账单和所述账单生成模块已经持久化的账单。
3.一种高可用的账单生成处理方法,其特征在于,包括以下步骤:
账单即时生成:
在批量生成账单之前,调用BillGenSDK中的API即时生成账单,推送账单即时生成消息到消息队列,并在Redis数据库中缓存即时生成的账单;
账单批量生成:
通过任务的方式,调用BillGenSDK中的API批量生成账单,并存储到Mysql数据库中;同时,对于已经缓存在Redis数据库中的即时生成的账单,通过消费消息的方式,持久化存储到MySQL数据库中。
4.如权利要求3所述的高可用的账单生成处理方法,其特征在于,还包括以下步骤:
步骤一、对账单进行查询;
步骤二、判断安全校验是否通过,若校验已通过,则转步骤三;否则,返回查询结果;
步骤三、判断用户是否已经批量生成了持久化存储在MySQL数据库中的月账单,如果有,转步骤四;否则,非完整账单生成,并返回查询结果;
步骤四、判断账单是否已生成,如果是,则查询缓存账单;否则,调用BillGenSDK中的API即时生成账单。
5.如权利要求4所述的高可用的账单生成处理方法,其特征在于,将即时生成的账单和已经持久化的账单存储到MySQL数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711483057.1A CN108345635A (zh) | 2017-12-29 | 2017-12-29 | 一种高可用的账单系统及账单生成处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711483057.1A CN108345635A (zh) | 2017-12-29 | 2017-12-29 | 一种高可用的账单系统及账单生成处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108345635A true CN108345635A (zh) | 2018-07-31 |
Family
ID=62962606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711483057.1A Pending CN108345635A (zh) | 2017-12-29 | 2017-12-29 | 一种高可用的账单系统及账单生成处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108345635A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109298957A (zh) * | 2018-10-18 | 2019-02-01 | 大唐网络有限公司 | 一种支持定时发送的具有高可靠性的消息管理方法 |
CN109445965A (zh) * | 2018-11-07 | 2019-03-08 | 北京明朝万达科技股份有限公司 | 由Redis和MySQL实现的消息处理方法和设备 |
CN110287248A (zh) * | 2019-05-24 | 2019-09-27 | 视联动力信息技术股份有限公司 | 一种数据读写方法和系统 |
CN110888917A (zh) * | 2019-11-21 | 2020-03-17 | 深圳乐信软件技术有限公司 | 一种跑批任务执行方法、装置、服务器和存储介质 |
CN114155828A (zh) * | 2021-11-09 | 2022-03-08 | 国网福建省电力有限公司惠安县供电公司 | 一种基于智能语音的电费催费方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103886079A (zh) * | 2014-03-26 | 2014-06-25 | 北京京东尚科信息技术有限公司 | 一种数据处理方法和系统 |
CN107193669A (zh) * | 2017-05-09 | 2017-09-22 | 千寻位置网络有限公司 | 基于混合云或大规模集群的维护接口的系统和设计方法 |
CN107229639A (zh) * | 2016-03-24 | 2017-10-03 | 上海宝信软件股份有限公司 | 分布式实时数据库的存储系统 |
CN107231443A (zh) * | 2017-08-10 | 2017-10-03 | 深圳市中青合创传媒科技有限公司 | 一种应用程序高并发高负荷处理方法和系统 |
-
2017
- 2017-12-29 CN CN201711483057.1A patent/CN108345635A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103886079A (zh) * | 2014-03-26 | 2014-06-25 | 北京京东尚科信息技术有限公司 | 一种数据处理方法和系统 |
CN107229639A (zh) * | 2016-03-24 | 2017-10-03 | 上海宝信软件股份有限公司 | 分布式实时数据库的存储系统 |
CN107193669A (zh) * | 2017-05-09 | 2017-09-22 | 千寻位置网络有限公司 | 基于混合云或大规模集群的维护接口的系统和设计方法 |
CN107231443A (zh) * | 2017-08-10 | 2017-10-03 | 深圳市中青合创传媒科技有限公司 | 一种应用程序高并发高负荷处理方法和系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109298957A (zh) * | 2018-10-18 | 2019-02-01 | 大唐网络有限公司 | 一种支持定时发送的具有高可靠性的消息管理方法 |
CN109445965A (zh) * | 2018-11-07 | 2019-03-08 | 北京明朝万达科技股份有限公司 | 由Redis和MySQL实现的消息处理方法和设备 |
CN109445965B (zh) * | 2018-11-07 | 2021-06-22 | 北京明朝万达科技股份有限公司 | 由Redis和MySQL实现的消息处理方法和设备 |
CN110287248A (zh) * | 2019-05-24 | 2019-09-27 | 视联动力信息技术股份有限公司 | 一种数据读写方法和系统 |
CN110888917A (zh) * | 2019-11-21 | 2020-03-17 | 深圳乐信软件技术有限公司 | 一种跑批任务执行方法、装置、服务器和存储介质 |
CN114155828A (zh) * | 2021-11-09 | 2022-03-08 | 国网福建省电力有限公司惠安县供电公司 | 一种基于智能语音的电费催费方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108345635A (zh) | 一种高可用的账单系统及账单生成处理方法 | |
AU2016203090B2 (en) | Generating integrated data records by correlating source data records from disparate data sources | |
US20230135056A1 (en) | Systems and methods of identifying relative ordering for electronic data transaction requests | |
US8452702B1 (en) | System, method and program product for minimizing fund movements | |
US20180096311A1 (en) | Devices, Systems and Methods for Determining Suggested Action Initiation Times for Interactions | |
US20160300201A1 (en) | Method, device and system for performing transactions | |
WO2014071263A4 (en) | Financial measure of good action metric system | |
US8458089B1 (en) | System, method and program product for administering fund movements using depository institution groups | |
CN106355784B (zh) | 一种用于atm设备的清机对账方法及系统 | |
US10825012B1 (en) | Systems and methods for scoring chargeback disputes | |
US11941062B2 (en) | Systems and methods of retrospectively determining how submitted data transaction requests operate against a dynamic data structure | |
US20180121292A1 (en) | Systems and methods for database management | |
CN112837000B (zh) | 一种配钞辅助方法、装置 | |
US11816658B2 (en) | Systems and methods for real-time virtual gift card purchasing | |
CN112927090A (zh) | 业务订单数据的生成方法及装置 | |
US20180349426A1 (en) | Multi-network systems and methods for providing current biographical data of a user to trusted parties | |
CN112037067B (zh) | 一种结算报文业务数据的处理系统及方法 | |
CN111177158A (zh) | 一种订单与库存匹配一致的方法 | |
CN110838053A (zh) | 金融业务系统及其账务处理方法、计算机存储介质 | |
US11349789B1 (en) | System and method for customizing electronic messages | |
US20140172705A1 (en) | Systems and methods for extending signature technology | |
US11062389B2 (en) | Configuration of data transfer recipient | |
US20190311345A1 (en) | Real-time data storage and analytics system | |
US20200184475A1 (en) | Data aggregation services for payment cards | |
US20240232190A1 (en) | System, Method, and Computer Program Product for Accelerated Database Queries using Aggregation Definitions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180731 |
|
RJ01 | Rejection of invention patent application after publication |