CN113486021B - 分布式银行系统中确定账户日平均余额的方法及装置 - Google Patents
分布式银行系统中确定账户日平均余额的方法及装置 Download PDFInfo
- Publication number
- CN113486021B CN113486021B CN202110850309.XA CN202110850309A CN113486021B CN 113486021 B CN113486021 B CN 113486021B CN 202110850309 A CN202110850309 A CN 202110850309A CN 113486021 B CN113486021 B CN 113486021B
- Authority
- CN
- China
- Prior art keywords
- daily
- account
- balance
- column
- determining
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000003860 storage Methods 0.000 claims abstract description 44
- 238000004590 computer program Methods 0.000 claims description 16
- 238000011084 recovery Methods 0.000 claims description 11
- 230000001174 ascending effect Effects 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 3
- 238000004064 recycling Methods 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 8
- 238000009826 distribution Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- 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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- 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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2329—Optimistic concurrency control using versioning
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- 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/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Databases & Information Systems (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种分布式银行系统中确定账户日平均余额的方法及装置,涉及分布式技术领域,该方法包括:根据系统当前日期确定每个账户日终余额和应付利息在预设列式数据库中的列簇号和时间戳;根据每个账户的账号和列簇号确定日终余额单元和应付利息单元;将每个账户日终余额存储到日终余额单元相应的时间戳处,将每个账户应付利息存储到应付利息单元相应的时间戳处;在每月底根据列式数据库中当月全部日终余额和应付利息,确定日均余额。本发明可以将每个账户的日终余额和应付利息存储到列式数据库里,保证了相关数据集中存放到相近的存储区域,在计算日平均余额时可以快速依次拿到相关数据,使读取操作次数大大减少,提高了日均余额的计算效率。
Description
技术领域
本发明涉及分布式技术领域,尤其涉及一种分布式银行系统中确定账户日平均余额的方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
目前,银行系统中,每日需要存储每个账户的日终余额,用于每月底计算每个账户的日平均余额。在分布式系统里,数据是分片存储,数据是分散的,相关数据没有放到同一个区域,这样就存在一个问题,在计算日平均余额的时候,计算效率比较低。
发明内容
本发明实施例提供一种分布式银行系统中确定账户日平均余额的方法,用以高效确定分布式银行系统中确定账户日平均余额,该方法包括:
每日日终批量处理时,确定每个账户日终余额和日终应付利息;
根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的列簇号;
根据每个账户的账号和所述列簇号,确定每个账户日终余额在预设列式数据库中进行列式存储的日终余额单元,以及每个账户日终应付利息在预设列式数据库中进行列式存储的应付利息单元;
根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的时间戳;
将每个账户日终余额存储到确定的日终余额单元相应的时间戳处,将每个账户日终应付利息存储到确定的应付利息单元相应的时间戳处;
在每月底,依据每个账户的账号在列式数据库中查询每个账户的当月全部日终余额和日终应付利息,根据每个账户的当月全部日终余额和日终应付利息,确定每个账户当月的日平均余额;
其中,所述列式数据库的行键为账号,列式数据库包括至少一个列簇,一个列簇包括至少一个列,列簇号为日期的月份,列式数据库的单元包括由行键和列确定的日终余额单元和应付利息单元,列式数据库的时间戳为日期对应月份的对应天。
本发明实施例还提供一种分布式银行系统中确定账户日平均余额的装置,用以高效确定分布式银行系统中确定账户日平均余额,该装置包括:
确定单元,用于每日日终批量处理时,确定每个账户日终余额和日终应付利息;
列簇号确定单元,用于根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的列簇号;
存储确定单元,用于根据每个账户的账号和所述列簇号,确定每个账户日终余额在预设列式数据库中进行列式存储的日终余额单元,以及每个账户日终应付利息在预设列式数据库中进行列式存储的应付利息单元;
时间戳确定单元,用于根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的时间戳;
存储处理单元,用于将每个账户日终余额存储到确定的日终余额单元相应的时间戳处,将每个账户日终应付利息存储到确定的应付利息单元相应的时间戳处;
日平均余额确定单元,用于在每月底,依据每个账户的账号在列式数据库中查询每个账户的当月全部日终余额和日终应付利息,根据每个账户的当月全部日终余额和日终应付利息,确定每个账户当月的日平均余额;
其中,所述列式数据库的行键为账号,列式数据库包括至少一个列簇,一个列簇包括至少一个列,列簇号为日期的月份,列式数据库的单元包括由行键和列确定的日终余额单元和应付利息单元,列式数据库的时间戳为日期对应月份的对应天。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述分布式银行系统中确定账户日平均余额的方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述分布式银行系统中确定账户日平均余额的方法的计算机程序。
本发明实施例中,分布式银行系统中确定账户日平均余额的方案,通过:每日日终批量处理时,确定每个账户日终余额和日终应付利息;根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的列簇号;根据每个账户的账号和所述列簇号,确定每个账户日终余额在预设列式数据库中进行列式存储的日终余额单元,以及每个账户日终应付利息在预设列式数据库中进行列式存储的应付利息单元;根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的时间戳;将每个账户日终余额存储到确定的日终余额单元相应的时间戳处,将每个账户日终应付利息存储到确定的应付利息单元相应的时间戳处;在每月底,依据每个账户的账号在列式数据库中查询每个账户的当月全部日终余额和日终应付利息,根据每个账户的当月全部日终余额和日终应付利息,确定每个账户当月的日平均余额;其中,所述列式数据库的行键为账号,列式数据库包括至少一个列簇,一个列簇包括至少一个列,列簇号为日期的月份,列式数据库的单元包括由行键和列确定的日终余额单元和应付利息单元,列式数据库的时间戳为日期对应月份的对应天,实现了可以将每个账户的日终余额和应付利息存储到列式数据库里,保证了相关数据集中存放到相近的存储区域,在计算日平均余额时可以快速依次拿到相关数据,使读取操作次数大大减少,提高了日均余额的计算效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中分布式银行系统中确定账户日平均余额的方法的流程示意图;
图2为本发明另一实施例中分布式银行系统中确定账户日平均余额的方法的流程示意图;
图3为本发明另一实施例中分布式银行系统中确定账户日平均余额的方法的流程示意图;
图4为本发明实施例中分布式银行系统中确定账户日平均余额的装置的结构示意图;
图5为本发明另一实施例中分布式银行系统中确定账户日平均余额的装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
考虑到现有技术中存在的技术问题,本发明实施例提出了一种分布式银行系统中确定账户日平均余额的方案,该方案可以采取列式分布式存储技术,可以将每个账户的近一个月的余额数据,存储到一个列式数据库里,这样就保证了相关的数据集中存放到相近的存储区域。在计算日平均余额时,可以依次拿到相关的数据,这样可以使读取操作次数大大较少,提高了效率。下面对该分布式银行系统中确定账户日平均余额的方案进行详细介绍。
图1为本发明实施例中分布式银行系统中确定账户日平均余额的方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤101:每日日终批量处理时,确定每个账户日终余额和日终应付利息;
步骤102:根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的列簇号;
步骤103:根据每个账户的账号和所述列簇号,确定每个账户日终余额在预设列式数据库中进行列式存储的日终余额单元,以及每个账户日终应付利息在预设列式数据库中进行列式存储的应付利息单元;
步骤104:根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的时间戳;
步骤105:将每个账户日终余额存储到确定的日终余额单元相应的时间戳处,将每个账户日终应付利息存储到确定的应付利息单元相应的时间戳处;
步骤106:在每月底,依据每个账户的账号在列式数据库中查询每个账户的当月全部日终余额和日终应付利息,根据每个账户的当月全部日终余额和日终应付利息,确定每个账户当月的日平均余额;
其中,所述列式数据库的行键为账号,列式数据库包括至少一个列簇,一个列簇包括至少一个列,列簇号为日期的月份,列式数据库的单元包括由行键和列确定的日终余额单元和应付利息单元,列式数据库的时间戳为日期对应月份的对应天。
本发明实施例提供的分布式银行系统中确定账户日平均余额的方法实现了可以将每个账户的日终余额和应付利息存储到列式数据库里,保证了相关数据集中存放到相近的存储区域,在计算日平均余额时可以快速依次拿到相关数据,使读取操作次数大大减少,提高了日均余额的计算效率。下面进行详细介绍。
一、首先,介绍预先设置列式数据库的步骤。
原理:数据模型Table与Column Family。
Row Key:行键,Table的主键,Table中的记录默认按照Row Key升序排序,即在一个实施例中,如图3所示,上述分布式银行系统中确定账户日平均余额的方法还可以包括步骤108:将列式数据库中的记录按行键升序排序。
Timestamp:时间戳,每次数据操作对应的时间戳,可以看作是数据的versionnumber,即在一个实施例中,将每次数据存储操作对应的时间戳作为对应数据的版本号。
Column Family:列簇,Table在水平方向有一个或者多个Column Family组成,一个Column Family中可以由任意多个Column组成,即Column Family支持动态扩展,无需预先定义Column的数量以及类型,所有Column均以二进制格式存储,用户需要自行进行类型转换,即在一个实施例中,所述列簇和列支持动态扩展,提高存储灵活性和便利性。
下面以示例的方式来描述HBase的表(列式数据库)结构。HBase以表的形式存储数据,表有行和列组成,列划分为若干个列族/列簇(column family)。
表1
如上表1所示,key1,key2,key3是三条记录的唯一的row key值,column-family1,column-family2,column-family3是三个列族,每个列族下又包括几列。比如column-family1这个列族下包括两列,名字是column1和column2,t1:abc,t2:gdxdf是由row key1和column-family1-column1唯一确定的一个单元cell。这个cell中有两个数据,abc和gdxdf。两个值的时间戳不一样,分别是t1,t2,hbase会返回最新时间的值给请求者。
这些名词的具体含义如下:
1)Row Key
row key是用来检索记录的主键。访问hbase table中的行,只有三种方式:
1.1)通过单个row key访问;
1.2)通过row key的range;
1.3)全表扫描。
Row key行键(Row key)可以是任意字符串(最大长度是64KB,实际应用中长度一般为10-100bytes),在hbase内部,row key保存为字节数组。
存储时,数据按照Row key的字典序(byte order)排序存储。设计key时,要充分排序存储这个特性,将经常一起读取的行存储放到一起(位置相关性)。行的一次读写是原子操作(不论一次读写多少列)。这个设计决策能够使用户很容易的理解程序在对同一个行进行并发更新操作时的行为。
2)列族column family
hbase表中的每个列,都归属与某个列族。列族是表的chema的一部分(而列不是),必须在使用表之前定义,列名都以列族作为前缀。例如courses:history,courses:math都属于courses这个列族(列簇)。
访问控制、磁盘和内存的使用统计都是在列族层面进行的。实际应用中,列族上的控制权限能帮助我们管理不同类型的应用:允许一些应用可以添加新的基本数据、一些应用可以读取基本数据并创建继承的列族、一些应用则只允许浏览数据(甚至可能因为隐私的原因不能浏览所有数据)。
3)单元Cell
HBase中通过row和columns确定的为一个存贮单元称为cell,由{row key,column(=<family>+<label>),version}唯一确定的单元。cell中的数据是没有类型的,全部是字节码形式存贮。
4)时间戳timestamp
每个cell都保存着同一份数据的多个版本。版本通过时间戳来索引,时间戳的类型是64位整型,时间戳可以由hbase(在数据写入时自动)赋值,此时时间戳是精确到毫秒的当前系统时间,时间戳也可以由客户显式赋值。如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳。每个cell中,不同版本的数据按照时间倒序排序,即最新的数据排在最前面。即,在一个实施例中,所述日终余额单元中包括多个不同版本的数据,日终余额单元中不同版本的数据按照时间戳进行排序,所述应付利息单元中包括多个不同版本的数据,应付利息单元中不同版本的数据按照时间戳进行排序,进一步提高了存储的便利性和效率。
通过上述可知,本发明实施例中列式数据库的行键为账号,列式数据库包括至少一个列簇,一个列簇包括至少一个列,列簇号为日期的月份,列式数据库的单元包括由行键和列确定的日终余额单元和应付利息单元,列式数据库的时间戳为日期对应月份的对应天。
二、接着,为了便于理解本发明如何实施,举一例子介绍上述步骤。
本发明实施例中分布式核心银行账户日平均余额以及应付利息列式存储,其中,Row key行键为银行账号;列族column family为工作日期的月份;单元Cell为账户日终余额和应付利息;时间戳timestamp为工作日期对应月份的第几天。下面结合下表2进行举例说明。
具体的数据存储及加工步骤:
1、每日日终批量处理时,计算每个账户日终余额和应付利息,即上述步骤101。
2、依据当前日期,确定当前日期的月份,对应出列式存储的列簇(column family)号,例如2021-01-15为列簇1(column family1),即上述步骤102。
3、根据账号、列簇号,对应出账户日终余额单元(Cell)和账户应付利息单元(Cell),例如:账号ACCT_NO1(10000001)的日终余额单元为:ACCT_NO1:column family1:column1,账户应付利息单元为:ACCT_NO1:column family1:column2,即上述步骤103。
4、依据当前日期,确定当前日期的属于当月的第几天,对应出列式存储的时间戳(timestamp),例如2020-12-15为属于当月的第15天,则T15(timestamp15,简称T15),即上述步骤104。
5、将账户日终余额存储到对应出账户日终余额单元(Cell)的时间戳(timestamp)处,例如:将账号ACCT_NO1(10000001)的日终余额存储到ACCT_NO1:column family1:column1:T15,具体值为15000:00,即上述步骤105的一部分。
6、将账户当前应付利息存储到对应账户应付利息单元(Cell)的时间戳(timestamp)处,例如将账号ACCT_NO1(10000001)的应付利息存储到ACCT_NO1:columnfamily1:column2:T15,具体值为0.03,即上述步骤105的一部分。
7、在每月底,依据账号查询(具体查询方法可以参照上述关于“1)Row Key”中三种方式的介绍)账户当月全部日终余额,例如查询账号ACCT_NO1(10000001)1月份的全部日终余额,则对应行键(Row key)为ACCT_NO1(10000001),列簇为column family1,一次获取当月全部日终余额,即上述步骤106的一部分。
8、计算账户日平均余额,将获取当月全部日终余额汇总,然后依据当月天数,计算出当月账户日平均余额,例如:账号ACCT_NO1(10000001)1月份的日平均余额为9193.55,即上述步骤106的一部分。
表2
三、接着,介绍进一步优选的步骤。
在一个实施例中,如图2所示,上述分布式银行系统中确定账户日平均余额的方法还可以包括步骤107:按照预设回收策略,对日终余额单元和应付利息单元中的存储数据进行回收处理。
在一个实施例中,按照预设回收策略,对日终余额单元和应付利息单元中的存储数据进行回收处理,可以包括:保存数据的最新存储的预设数目版本或保存最近预设时段内的版本。
具体实施时,为了避免数据存在过多版本造成的管理(包括存贮和索引)负担,hbase提供了两种数据版本回收方式。一是保存数据的最后n个版本,二是保存最近一段时间内的版本(比如最近七天),用户可以针对每个列族进行设置。
综上,本发明实施例提供的分布式银行系统中确定账户日平均余额的方法实现了:
1、列式数据库的数据是按照列式存储,每一列单独存放,数据即是索引。
2、只访问查询涉及的列,大大降低了系统I/O,每一列由一个线程来处理,而且由于数据类型一致,数据特征相似,极大方便压缩。节省储存空间也节省计算内存和CPU,非常适合做聚合操作。
3、行式数据库擅长随机读操作,列式数据库则更擅长大批量数据量查询。
因此,本发明实施例提供的分布式银行系统中确定账户日平均余额的方法中分布式核心银行系统日终批量加工账户日平均余额处理,其优点包括:可以依据账号段并行加工计算,提高加工处理效率;采用列式存储节省储存空间,降低硬件资源消耗;可以为联机交易提供及时日平均余额计算能力。
本发明实施例中还提供了一种分布式银行系统中确定账户日平均余额的装置,如下面的实施例所述。由于该装置解决问题的原理与分布式银行系统中确定账户日平均余额的方法相似,因此该装置的实施可以参见分布式银行系统中确定账户日平均余额的方法的实施,重复之处不再赘述。
图4为本发明实施例中分布式银行系统中确定账户日平均余额的装置的结构示意图,如图4所示,该装置包括:
确定单元01,用于每日日终批量处理时,确定每个账户日终余额和日终应付利息;
列簇号确定单元02,用于根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的列簇号;
存储确定单元03,用于根据每个账户的账号和所述列簇号,确定每个账户日终余额在预设列式数据库中进行列式存储的日终余额单元,以及每个账户日终应付利息在预设列式数据库中进行列式存储的应付利息单元;
时间戳确定单元04,用于根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的时间戳;
存储处理单元05,用于将每个账户日终余额存储到确定的日终余额单元相应的时间戳处,将每个账户日终应付利息存储到确定的应付利息单元相应的时间戳处;
日平均余额确定单元06,用于在每月底,依据每个账户的账号在列式数据库中查询每个账户的当月全部日终余额和日终应付利息,根据每个账户的当月全部日终余额和日终应付利息,确定每个账户当月的日平均余额;
其中,所述列式数据库的行键为账号,列式数据库包括至少一个列簇,一个列簇包括至少一个列,列簇号为日期的月份,列式数据库的单元包括由行键和列确定的日终余额单元和应付利息单元,列式数据库的时间戳为日期对应月份的对应天。
在一个实施例中,如图5所示,上述分布式银行系统中确定账户日平均余额的装置还可以包括:回收处理单元07,用于按照预设回收策略,对日终余额单元和应付利息单元中的存储数据进行回收处理。
在一个实施例中,所述回收处理单元具体用于:保存数据的最新存储的预设数目版本或保存最近预设时段内的版本。
在一个实施例中,上述分布式银行系统中确定账户日平均余额的装置还可以包括:排序单元,用于将列式数据库中的记录按行键升序排序。
在一个实施例中,所述日终余额单元中包括多个不同版本的数据,日终余额单元中不同版本的数据按照时间戳进行排序,所述应付利息单元中包括多个不同版本的数据,应付利息单元中不同版本的数据按照时间戳进行排序。
在一个实施例中,将每次数据存储操作对应的时间戳作为对应数据的版本号。
在一个实施例中,所述列簇和列支持动态扩展。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述分布式银行系统中确定账户日平均余额的方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述分布式银行系统中确定账户日平均余额的方法的计算机程序。
本发明实施例中,分布式银行系统中确定账户日平均余额的方案,通过:每日日终批量处理时,确定每个账户日终余额和日终应付利息;根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的列簇号;根据每个账户的账号和所述列簇号,确定每个账户日终余额在预设列式数据库中进行列式存储的日终余额单元,以及每个账户日终应付利息在预设列式数据库中进行列式存储的应付利息单元;根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的时间戳;将每个账户日终余额存储到确定的日终余额单元相应的时间戳处,将每个账户日终应付利息存储到确定的应付利息单元相应的时间戳处;在每月底,依据每个账户的账号在列式数据库中查询每个账户的当月全部日终余额和日终应付利息,根据每个账户的当月全部日终余额和日终应付利息,确定每个账户当月的日平均余额;其中,所述列式数据库的行键为账号,列式数据库包括至少一个列簇,一个列簇包括至少一个列,列簇号为日期的月份,列式数据库的单元包括由行键和列确定的日终余额单元和应付利息单元,列式数据库的时间戳为日期对应月份的对应天,实现了可以将每个账户的日终余额和应付利息存储到列式数据库里,保证了相关数据集中存放到相近的存储区域,在计算日平均余额时可以快速依次拿到相关数据,使读取操作次数大大减少,提高了日均余额的计算效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种分布式银行系统中确定账户日平均余额的方法,其特征在于,包括:
每日日终批量处理时,确定每个账户日终余额和日终应付利息;
根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的列簇号;
根据每个账户的账号和所述列簇号,确定每个账户日终余额在预设列式数据库中进行列式存储的日终余额单元,以及每个账户日终应付利息在预设列式数据库中进行列式存储的应付利息单元;
根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的时间戳;
将每个账户日终余额存储到确定的日终余额单元相应的时间戳处,将每个账户日终应付利息存储到确定的应付利息单元相应的时间戳处;
在每月底,依据每个账户的账号在列式数据库中查询每个账户的当月全部日终余额和日终应付利息,根据每个账户的当月全部日终余额和日终应付利息,确定每个账户当月的日平均余额;
其中,所述列式数据库的行键为账号,列式数据库包括至少一个列簇,一个列簇包括至少一个列,列簇号为日期的月份,列式数据库的单元包括由行键和列确定的日终余额单元和应付利息单元,列式数据库的时间戳为日期对应月份的对应天。
2.如权利要求1所述的分布式银行系统中确定账户日平均余额的方法,其特征在于,还包括:按照预设回收策略,对日终余额单元和应付利息单元中的存储数据进行回收处理。
3.如权利要求2所述的分布式银行系统中确定账户日平均余额的方法,其特征在于,按照预设回收策略,对日终余额单元和应付利息单元中的存储数据进行回收处理,包括:保存数据的最新存储的预设数目版本或保存最近预设时段内的版本。
4.如权利要求1所述的分布式银行系统中确定账户日平均余额的方法,其特征在于,还包括:将列式数据库中的记录按行键升序排序。
5.如权利要求1所述的分布式银行系统中确定账户日平均余额的方法,其特征在于,所述日终余额单元中包括多个不同版本的数据,日终余额单元中不同版本的数据按照时间戳进行排序,所述应付利息单元中包括多个不同版本的数据,应付利息单元中不同版本的数据按照时间戳进行排序。
6.如权利要求1所述的分布式银行系统中确定账户日平均余额的方法,其特征在于,将每次数据存储操作对应的时间戳作为对应数据的版本号。
7.如权利要求1所述的分布式银行系统中确定账户日平均余额的方法,其特征在于,所述列簇和列支持动态扩展。
8.一种分布式银行系统中确定账户日平均余额的装置,其特征在于,包括:
确定单元,用于每日日终批量处理时,确定每个账户日终余额和日终应付利息;
列簇号确定单元,用于根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的列簇号;
存储确定单元,用于根据每个账户的账号和所述列簇号,确定每个账户日终余额在预设列式数据库中进行列式存储的日终余额单元,以及每个账户日终应付利息在预设列式数据库中进行列式存储的应付利息单元;
时间戳确定单元,用于根据系统当前日期,确定每个账户日终余额和日终应付利息在预设列式数据库中进行列式存储的时间戳;
存储处理单元,用于将每个账户日终余额存储到确定的日终余额单元相应的时间戳处,将每个账户日终应付利息存储到确定的应付利息单元相应的时间戳处;
日平均余额确定单元,用于在每月底,依据每个账户的账号在列式数据库中查询每个账户的当月全部日终余额和日终应付利息,根据每个账户的当月全部日终余额和日终应付利息,确定每个账户当月的日平均余额;
其中,所述列式数据库的行键为账号,列式数据库包括至少一个列簇,一个列簇包括至少一个列,列簇号为日期的月份,列式数据库的单元包括由行键和列确定的日终余额单元和应付利息单元,列式数据库的时间戳为日期对应月份的对应天。
9.如权利要求8所述的分布式银行系统中确定账户日平均余额的装置,其特征在于,还包括:回收处理单元,用于按照预设回收策略,对日终余额单元和应付利息单元中的存储数据进行回收处理。
10.如权利要求9所述的分布式银行系统中确定账户日平均余额的装置,其特征在于,所述回收处理单元具体用于:保存数据的最新存储的预设数目版本或保存最近预设时段内的版本。
11.如权利要求8所述的分布式银行系统中确定账户日平均余额的装置,其特征在于,还包括:排序单元,用于将列式数据库中的记录按行键升序排序。
12.如权利要求8所述的分布式银行系统中确定账户日平均余额的装置,其特征在于,所述日终余额单元中包括多个不同版本的数据,日终余额单元中不同版本的数据按照时间戳进行排序,所述应付利息单元中包括多个不同版本的数据,应付利息单元中不同版本的数据按照时间戳进行排序。
13.如权利要求8所述的分布式银行系统中确定账户日平均余额的装置,其特征在于,所述列簇和列支持动态扩展。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110850309.XA CN113486021B (zh) | 2021-07-27 | 2021-07-27 | 分布式银行系统中确定账户日平均余额的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110850309.XA CN113486021B (zh) | 2021-07-27 | 2021-07-27 | 分布式银行系统中确定账户日平均余额的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113486021A CN113486021A (zh) | 2021-10-08 |
CN113486021B true CN113486021B (zh) | 2024-02-27 |
Family
ID=77944067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110850309.XA Active CN113486021B (zh) | 2021-07-27 | 2021-07-27 | 分布式银行系统中确定账户日平均余额的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113486021B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1395711A (zh) * | 2000-11-24 | 2003-02-05 | 索尼公司 | 用于管理金融交易中个人账户的装置及其管理方法 |
CN105956918A (zh) * | 2016-04-28 | 2016-09-21 | 中国银行股份有限公司 | 一种动态变化数据的记录方法 |
CN110275799A (zh) * | 2019-06-10 | 2019-09-24 | 必成汇(成都)科技有限公司 | 账务系统不停机日切点快照余额的方法 |
-
2021
- 2021-07-27 CN CN202110850309.XA patent/CN113486021B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1395711A (zh) * | 2000-11-24 | 2003-02-05 | 索尼公司 | 用于管理金融交易中个人账户的装置及其管理方法 |
CN105956918A (zh) * | 2016-04-28 | 2016-09-21 | 中国银行股份有限公司 | 一种动态变化数据的记录方法 |
CN110275799A (zh) * | 2019-06-10 | 2019-09-24 | 必成汇(成都)科技有限公司 | 账务系统不停机日切点快照余额的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113486021A (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2957703B2 (ja) | データを記憶し検索する方法及びメモリ構成体 | |
CN110321344B (zh) | 关联数据的信息查询方法、装置、计算机设备及存储介质 | |
CN108205577B (zh) | 一种数组构建、数组查询的方法、装置及电子设备 | |
KR101792168B1 (ko) | 개별 액세스 가능한 데이터 유닛의 스토리지 관리 | |
EP2069979B1 (en) | Dynamic fragment mapping | |
US20160335304A1 (en) | Data partitioning and ordering | |
CN106557578B (zh) | 历史数据查询方法及系统 | |
EP2199935A2 (en) | Method and system for dynamically partitioning very large database indices on write-once tables | |
CN108009008A (zh) | 数据处理方法和系统、电子设备 | |
CN107577436B (zh) | 一种数据存储方法及装置 | |
EP2924594A1 (en) | Data encoding and corresponding data structure in a column-store database | |
TW201530328A (zh) | 爲半結構化資料構建NoSQL資料庫索引的方法及裝置 | |
CN103488684A (zh) | 基于缓存数据多线程处理的电力可靠性指标快速计算方法 | |
CN106126486A (zh) | 时间信息编码方法、编码值检索方法、解码方法与装置 | |
CN110096509A (zh) | 大数据环境下实现历史数据拉链表存储建模处理的系统及方法 | |
CN102231168A (zh) | 一种从简历库中快速检索简历的方法 | |
Lomet | A simple bounded disorder file organization with good performance | |
US9779121B2 (en) | Transparent access to multi-temperature data | |
US20110145255A1 (en) | Systems and methods for distribution of data in a database index | |
CN106201918B (zh) | 一种基于大数据量和大规模缓存快速释放的方法和系统 | |
CN100399338C (zh) | 一种数据记录处理方法 | |
US9275091B2 (en) | Database management device and database management method | |
CN116662019B (zh) | 请求的分配方法、装置、存储介质及电子装置 | |
CN113486021B (zh) | 分布式银行系统中确定账户日平均余额的方法及装置 | |
CN113360551B (zh) | 一种靶场中时序数据的存储与快速统计方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |