CN111241143B - 用于供水的水量和水费的分布式计算方法及系统 - Google Patents
用于供水的水量和水费的分布式计算方法及系统 Download PDFInfo
- Publication number
- CN111241143B CN111241143B CN202010022291.XA CN202010022291A CN111241143B CN 111241143 B CN111241143 B CN 111241143B CN 202010022291 A CN202010022291 A CN 202010022291A CN 111241143 B CN111241143 B CN 111241143B
- Authority
- CN
- China
- Prior art keywords
- water
- distributed
- calculation
- user number
- user
- 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
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 title claims abstract description 106
- 238000004364 calculation method Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 claims abstract description 10
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 230000008901 benefit Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
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/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- 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
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Computational Linguistics (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种用于供水的水量和水费的分布式计算方法及系统,该方法包括:建立分布式的内存数据库集群;根据用户户数,确定计算模块的数量;将关系型数据库中的用水业务数据根据用户编号提取分配到内存数据库集群中的不同数据集合中;当用户编号对应的业务数据准备完毕后,对分布式消息队列中对应的用户编号添加数据准备完成标识;两个以上的计算模块根据带有数据准备完成标识的用户编号提取用水业务数据进行计算,并将计算结果写入分布式内存数据库集群中,将计算结果以及下一步处理措施写回关系型数据库。本发明通过采用分布式架构极大地提高了账务计算速度。
Description
技术领域
本发明涉及城市供水计费领域,尤其涉及用于供水的水量和水费的分布式计算方法及系统。
背景技术
随着城市规模扩大和供水户表改造的进行,供水公司下辖用户从十年前的十多万发展到现在百万级的规模。
传统的水量水费计算采用传统的应用程序计算结合关系型数据库存储的方式处理,传统账务计算方式(单程序多线程按照账户逐一获取数据、计算并得到结果),因为结构单一,算法简单导致水量、水费计算的实时性不够,如:传统计算架构和算法以不能在所需时间(每小时一次)内完成对所有用户水量水费计算,不能配合智能水表实时自动开关阀等新的供水业务需求,已不能符合当前供水、用水结算的需求。
发明内容
本发明提供了一种用于供水的水量和水费的分布式计算方法及系统,用以解决传统账务计算方式不能符合当前供水、用水结算的实时性需求的技术问题。
为解决上述技术问题,本发明提出的技术方案为:
一种用于供水的水量和水费的分布式计算方法,包括以下步骤:
建立分布式的内存数据库集群;
根据待计算的用水业务数据对应的用户户数,确定计算模块的数量;
将关系型数据库中的用水业务数据根据用户编号提取分配到内存数据库集群中的不同数据集合中;当用户编号对应的业务数据准备完毕后,对分布式消息队列中对应的用户编号添加数据准备完成标识;
两个以上的计算模块从消息队列获取带有数据准备完成标识的用户编号,并根据用户编号从对应的不同数据集合中提取用水业务数据,根据水费计算规则进行计算,并将计算结果写入分布式内存数据库集群中,对分布式消息队列中对应的用户编号添加完成计算标识;
从分布式消息队列中获取带有完成计算标识的用户编号,根据用户编号从分布式内存数据库集群中获取对应用户编号的计算结果以及下一步处理措施并将其写回关系型数据库。
优选地,用水业务数据包括:水表抄表读数、抄表时间、用户信息、阶梯水价、用水类型、用户减免和账务信息中的一种或者任意几种的组合。
优选地,计算结果包括:水费、水量和账户余额;下一步处理措施包括:通知短信和阀控指令。
优选地,两个以上的计算模块,还将计算结果异常的用户编号,形成日志写入分布式内存数据库集群中,并形成报警信息写入分布式消息队列中。
优选地,将计算结果异常的用户编号形成报警信息写入分布式消息队列中时,若分布式消息队列也产生异常,将写入本地文本文件。
优选地,当各业务系统的用水业务数据在发生增加、删除和更改时,将增加、删除和更改后的用水业务数据实时或者按周期推送并同步到分布式内存数据库集群中,以更新对应的用水业务数据。
优选地,内存数据库集群设置于三个以上的服务器中,三个以上的服务器网络互连。
优选地,计算模块设置于服务器中。
本发明还提供一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的步骤。
本发明具有以下有益效果:
本发明的用于供水的水量和水费的分布式计算方法及系统,采用分布式架构,依靠内存读写速度远高于硬盘以及分布式部署叠加多台服务器计算力的优势,可以极大提高账务计算速度。采用本发明,50万块智能水表的账务计算时间从目前的70多分钟缩短到10分钟,极大缩短了账务计算时间,同时减少了对实体数据库的压力、减少对服务器处理其他供水业务系统的影响。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照附图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明优选实施例的用于供水的水量和水费的分布式计算方法的流程示意图。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
参见图1,本发明的用于供水的水量和水费的分布式计算方法,包括以下步骤:
S1:建立分布式的内存数据库集群。实施时,内存数据库集群设置于三个以上的服务器中,三个以上的服务器网络互连。例如:运行于X86服务器,服务器数量大于等于3,分布式部署应对服务器崩溃时采取投票机制选举产生主机数,可以是同一机房内的局域网互连的服务器也可以是光纤互联的异地机房中的不同服务器。
S2:根据待计算的用水业务数据对应的用户户数,确定计算模块的数量。例如:在一个服务器上部署1至N个互不干涉的计算程序用于计算。
S3:将关系型数据库中的用水业务数据根据用户编号提取分配到内存数据库集群中的不同数据集合中;当用户编号对应的业务数据准备完毕后,对分布式消息队列中对应的用户编号添加数据准备完成标识。可以通过在当用户编号下的业务数据准备完毕之后,发送开始计算的标识消息到分布式消息队列当中,进而将分布式消息队列中对应的用户编号添加数据准备完成标识。实施时,用水业务数据通常包括:水表抄表读数、抄表时间、用户信息、阶梯水价、用水类型、用户减免和账务信息中的一种或者任意几种的组合。当各业务系统的用水业务数据在发生增加、删除和更改时,将增加、删除和更改后的用水业务数据实时或者按周期推送并同步到分布式内存数据库集群中,以更新对应的用水业务数据。以此保证数据的实时性,并进一步减少数据准备所需时间。
S4:两个以上的计算模块从消息队列获取带有数据准备完成标识的用户编号,并根据用户编号从对应的不同数据集合中提取用水业务数据,根据水费计算规则进行计算,并将计算结果写入分布式内存数据库集群中,对分布式消息队列中对应的用户编号添加完成计算标识。实施时,计算结果通常包括:水费、水量和账户余额;下一步处理措施包括:通知短信和阀控指令(欠费情况)。
S5:从分布式消息队列中获取带有完成计算标识的用户编号,根据用户编号从分布式内存数据库集群中获取对应用户编号的计算结果以及下一步处理措施并将其写回关系型数据库。便于下一步使用。
在上述过程中,当发生异常时,两个以上的计算模块,还将计算结果异常(如水费、水量数值异常)的用户编号,形成日志写入分布式内存数据库集群中,并形成报警信息写入分布式消息队列中,若分布式消息队列也产生异常,将报警信息写入本地文本文件。
本发明实施例还提供一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法实施例的步骤。
采用本发明的用于供水的水量和水费的分布式计算方法进行测试,50万块智能水表的账务计算时间从目前的70多分钟缩短到10分钟,极大缩短了账务计算时间,同时减少了对实体数据库的压力、减少对服务器处理其他供水业务系统的影响。
综上可知,本发明通过采用分布式架构,依靠内存读写速度远高于硬盘以及分布式部署叠加多台服务器计算力的优势可以极大提高账务计算速度。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种用于供水的水量和水费的分布式计算方法,其特征在于,包括以下步骤:
建立分布式的内存数据库集群;
根据待计算的用水业务数据对应的用户户数,确定计算模块的数量;
将关系型数据库中的用水业务数据根据用户编号提取分配到所述内存数据库集群中的不同数据集合中;当用户编号对应的业务数据准备完毕后,对分布式消息队列中对应的用户编号添加数据准备完成标识;
两个以上的计算模块从消息队列获取带有数据准备完成标识的用户编号,并根据用户编号从对应的不同数据集合中提取用水业务数据,根据水费计算规则进行计算,并将计算结果写入分布式内存数据库集群中,对分布式消息队列中对应的用户编号添加完成计算标识;
从分布式消息队列中获取带有完成计算标识的用户编号,根据用户编号从分布式内存数据库集群中获取对应用户编号的计算结果以及下一步处理措施并将其写回关系型数据库。
2.根据权利要求1所述的用于供水的水量和水费的分布式计算方法,其特征在于,所述用水业务数据包括:水表抄表读数、抄表时间、用户信息、阶梯水价、用水类型、用户减免和账务信息中的一种或者任意几种的组合。
3.根据权利要求1所述的用于供水的水量和水费的分布式计算方法,其特征在于,所述计算结果包括:水费、水量和账户余额;所述下一步处理措施包括:通知短信和阀控指令。
4.根据权利要求1至3中任一项所述的用于供水的水量和水费的分布式计算方法,其特征在于,所述两个以上的计算模块,还将计算结果异常的用户编号,形成日志写入分布式内存数据库集群中,并形成报警信息写入分布式消息队列中。
5.根据权利要求4所述的用于供水的水量和水费的分布式计算方法,其特征在于,所述将计算结果异常的用户编号形成报警信息写入分布式消息队列中时,若分布式消息队列也产生异常,将所述写入本地文本文件。
6.根据权利要求1至3中任一项所述的用于供水的水量和水费的分布式计算方法,其特征在于,当各业务系统的用水业务数据在发生增加、删除和更改时,将所述增加、删除和更改后的用水业务数据实时或者按周期推送并同步到分布式内存数据库集群中,以更新对应的用水业务数据。
7.根据权利要求1至3中任一项所述的用于供水的水量和水费的分布式计算方法,其特征在于,所述内存数据库集群设置于三个以上的服务器中,所述三个以上的服务器网络互连。
8.根据权利要求7所述的用于供水的水量和水费的分布式计算方法,其特征在于,所述计算模块设置于服务器中。
9.一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至8任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010022291.XA CN111241143B (zh) | 2020-01-09 | 2020-01-09 | 用于供水的水量和水费的分布式计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010022291.XA CN111241143B (zh) | 2020-01-09 | 2020-01-09 | 用于供水的水量和水费的分布式计算方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111241143A CN111241143A (zh) | 2020-06-05 |
CN111241143B true CN111241143B (zh) | 2021-02-02 |
Family
ID=70875954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010022291.XA Active CN111241143B (zh) | 2020-01-09 | 2020-01-09 | 用于供水的水量和水费的分布式计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111241143B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383597B (zh) * | 2020-11-02 | 2023-04-28 | 浙江苍南仪表集团股份有限公司 | 物联网平台与物联网燃气表费用结算同步处理方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8904381B2 (en) * | 2009-01-23 | 2014-12-02 | Hewlett-Packard Development Company, L.P. | User defined data partitioning (UDP)—grouping of data based on computation model |
US10248977B2 (en) * | 2013-08-24 | 2019-04-02 | Vmware, Inc. | NUMA-based client placement |
CN105450618B (zh) * | 2014-09-26 | 2019-06-04 | Tcl集团股份有限公司 | 一种api服务器处理大数据的运算方法及其系统 |
CN106327055B (zh) * | 2016-08-08 | 2019-10-11 | 烟台海颐软件股份有限公司 | 一种基于大数据技术的电力费控方法及系统 |
CN106909676A (zh) * | 2017-03-02 | 2017-06-30 | 国家电网公司 | 用户用电行为的分析方法及装置 |
CN108628897A (zh) * | 2017-03-22 | 2018-10-09 | 上海恒容企业管理有限公司 | 基于快数据和大数据技术架构的运维管理方法 |
CN110209716A (zh) * | 2018-02-11 | 2019-09-06 | 北京华航能信科技有限公司 | 智能物联网水务大数据处理方法和系统 |
CN108920272A (zh) * | 2018-06-08 | 2018-11-30 | 中国平安人寿保险股份有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
CN109063980A (zh) * | 2018-07-16 | 2018-12-21 | 北京科东电力控制系统有限责任公司 | 适用于电网分析的内存计算方法和系统 |
-
2020
- 2020-01-09 CN CN202010022291.XA patent/CN111241143B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111241143A (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019006654A1 (zh) | 金融自助设备维修派单生成方法、手持终端及电子设备 | |
CN109559228B (zh) | 资源转移方法、装置、计算机设备以及可读存储介质 | |
CN108932663B (zh) | 一种模拟撮合交易方法及装置 | |
CN107153646B (zh) | 一种数据处理方法和设备 | |
CN111241143B (zh) | 用于供水的水量和水费的分布式计算方法及系统 | |
CN101819695B (zh) | 一种实现ic卡钱包交易与系统记账同步的方法 | |
CN114840527A (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN112991029A (zh) | 对账方法和装置 | |
CN112099934A (zh) | 一种批处理方法、系统、计算机设备及存储介质 | |
CN115174686B (zh) | 一种基于服务效率的多个服务通道权重动态调整方法和装置 | |
CN114579654B (zh) | 一种银行多支付结算系统的统一运营管理方法及平台系统 | |
CN106294115A (zh) | 一种应用系统迁移性的测试方法及装置 | |
CN115037663A (zh) | 一种应用系统更新测试方法及装置 | |
CN110930206A (zh) | 匹配发票的方法、装置和存储介质 | |
CN113112344A (zh) | 业务处理方法、设备、存储介质及计算机程序产品 | |
CN113157479A (zh) | 一种数据纠错方法、系统、装置、设备和存储介质 | |
CN112419052A (zh) | 交易测试方法、装置、电子设备及可读存储介质 | |
CN114390303B (zh) | 数据处理方法、装置、服务器、存储介质及程序产品 | |
CN110009496B (zh) | 一种区块凭证的充值和提取方法、装置及系统 | |
CN113342795B (zh) | 应用程序中数据核对方法、装置、电子设备及存储介质 | |
CN110322339A (zh) | 虚拟资源管理方法、装置、计算机系统及可读存储介质 | |
CN115345728B (zh) | 一种结算计息结息的方法及装置 | |
CN108629679B (zh) | 一种基于个人账户计息系统的银行账户计息方法及系统 | |
CN112527481B (zh) | 系统的灾备演练计划生成方法及装置 | |
CN114155081B (zh) | 一种基于五个Merkle树结构的共识与交易分离系统与方法 |
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 |