可配置的电量电费计算系统
2007-07-25 15:09:26 来源:
A-
A+
电力18讯:
叶万余 广东省清远供电局
裴辉东 海颐软件股份有限公司
电量电费计算是电力营销管理中最为核心的工作之一,它提供一套电费的基础数据,此功能的优劣直接关系到供电企业的经营效益和客户服务质量的好坏。电量电费计算存在以下四个方面的需求:
由于电力用户复杂的电气装接关系现状、电价政策等因素,使得电费计算过程的算法和规则都相当复杂,要求电费算法必须能应对复杂的环境;
随着电力企业市场化经营模式的深入,用电政策的不断调整,以及客户个性化需求增多,导致电价以及电价结构的变更,要求电费计算必须支持灵活、复杂、多变的需求;
由于电费计算越来越向数据处理集中模式转移,所以要求必须保证电费计算高效;
由于电量电费计算和数据存在依赖关系,要求必须能够提供计算过程监控和错误纠错机制。
为了满足以上需求,要求电量电费计算系统采用更开放、更灵活的体系结构以及技术实现方案,充分体现系统的准确性、可追溯性、可维护性、监控能力、可管理性等。本文介绍了一种基于规则的可配置的设计思想,并采用基于J2EE和面向服务构架(SOA)构建的电量电费计算系统。该系统是由烟台海颐软件股份有限公司开发,并已经在广东电网公司清远供电分公司上线投入使用,取得了宝贵的现场应用经验。
1 系统总体结构
电量电费计算系统按照算法与计算过程相分离的原则,实现算法描述、算法执行顺序规则、业务逻辑规则的可配置,降低算法描述、算法执行顺序规则、业务逻辑规则和核算之间的耦合度。系统的主要功能包括:电量电费算法配置、电量电费业务规则配置、自动测试配置、电量电费计算、自动测试、运算监控和核算引擎几个部分。系统总体结构如图1所示。
电量电费算法配置:通过图形界面操作,定义算法描述和算法执行顺序规则,存放于算法规则库。
电量电费业务规则配置:将计算过程中所涉及到的业务逻辑规则进行设置,存放于业务规则库。业务逻辑规则有益于检查电费档案数据以及数据间约束关系的正确性,除了建立稳健的数据结构外,系统提供了电费档案的合法性检查功能。例如,大工业电价不收基本电费显然不符合业务规则,按照此规则可以审核电量电费计算处理,并能提供纠错功能。
自动测试配置:电量电费计算是一个复杂算法的执行过程,系统采用自动测试用例模拟现场真实的电费计算,以减少甚至消除电费算法的错误。采用了图形化与命令行工具相结合的操作手段,建立自动测试库。随着项目实施过程的演进,积累了大量的算法测试用例,将这些测试用例组织管理起来,图形化地展示测试用例的层次关系,也可以人工定制特殊用例。测试用例用于系统上线前的电费计算正确性测试,以及系统维护过程中电费算法变更后的回归测试。通过测试用例可以准确无误地给出测试报告,以便于分析问题所在。通过测试用例的不断积累,可大大提高测试的效率和覆盖率,保证系统的可靠性。
核算引擎:在电量电费计算运行期,动态装配各种规则,并实现和计算引擎的绑定,完成电量电费的计算过程。根据电量电费业务规则的定义,可以实现电费计算的实时错误提示,甚至辅助纠错。
运算监控:实时监控到在线计算请求的状态,运行日志,以图形化方式展现负载的变化情况,包括请求数、请求计算的用户数等。通过对核算引擎的内存实时数据的监控,可以跟踪电量电费计算的执行过程、数据变化情况。
2 关键技术
对一个确定的业务功能需要进行分层设计,分为界面表现层、业务逻辑层和数据访问层,这就是典型的三层结构。业务逻辑层采用基于组件化的分层设计,将业务规则进一步从业务逻辑层实现分离,形成业务逻辑规则库和逻辑执行规则库,如图2所示。
一个业务规则包含一组条件和在此条件下执行的操作,它们表示业务规则应用程序的一段业务逻辑。业务逻辑规则描述数据以及数据间的约束关系;逻辑执行规则说明细粒度业务逻辑之间的执行顺序以及关系;业务流程是在程序执行时根据规则的定义,实现动态装载,进行业务规则的检查,以及业务逻辑的执行。
业务规则库用于存储规则和规则元数据以及与规则有关的属性,用于存储、分类、查询、版本控制、权限控制、测试、提交等,使得规则的状态和有效性可以跟踪。
采用基于规则引擎机制,实现规则的数据对象的加载、解析、测试、比对和表达,激活那些符合当前数据状态下的业务规则。根据业务规则中声明的执行逻辑,触发应用程序中对应的操作,从而完成业务功能逻辑的实现。
例如,对于电量电费计算来说,形成了算法规则库和电量电费业务规则库。其中,算法规则包括:
开关量设置。如是否执行优惠政策、是否计算<
叶万余 广东省清远供电局
裴辉东 海颐软件股份有限公司
电量电费计算是电力营销管理中最为核心的工作之一,它提供一套电费的基础数据,此功能的优劣直接关系到供电企业的经营效益和客户服务质量的好坏。电量电费计算存在以下四个方面的需求:
由于电力用户复杂的电气装接关系现状、电价政策等因素,使得电费计算过程的算法和规则都相当复杂,要求电费算法必须能应对复杂的环境;
随着电力企业市场化经营模式的深入,用电政策的不断调整,以及客户个性化需求增多,导致电价以及电价结构的变更,要求电费计算必须支持灵活、复杂、多变的需求;
由于电费计算越来越向数据处理集中模式转移,所以要求必须保证电费计算高效;
由于电量电费计算和数据存在依赖关系,要求必须能够提供计算过程监控和错误纠错机制。
为了满足以上需求,要求电量电费计算系统采用更开放、更灵活的体系结构以及技术实现方案,充分体现系统的准确性、可追溯性、可维护性、监控能力、可管理性等。本文介绍了一种基于规则的可配置的设计思想,并采用基于J2EE和面向服务构架(SOA)构建的电量电费计算系统。该系统是由烟台海颐软件股份有限公司开发,并已经在广东电网公司清远供电分公司上线投入使用,取得了宝贵的现场应用经验。
1 系统总体结构
电量电费计算系统按照算法与计算过程相分离的原则,实现算法描述、算法执行顺序规则、业务逻辑规则的可配置,降低算法描述、算法执行顺序规则、业务逻辑规则和核算之间的耦合度。系统的主要功能包括:电量电费算法配置、电量电费业务规则配置、自动测试配置、电量电费计算、自动测试、运算监控和核算引擎几个部分。系统总体结构如图1所示。
电量电费算法配置:通过图形界面操作,定义算法描述和算法执行顺序规则,存放于算法规则库。
电量电费业务规则配置:将计算过程中所涉及到的业务逻辑规则进行设置,存放于业务规则库。业务逻辑规则有益于检查电费档案数据以及数据间约束关系的正确性,除了建立稳健的数据结构外,系统提供了电费档案的合法性检查功能。例如,大工业电价不收基本电费显然不符合业务规则,按照此规则可以审核电量电费计算处理,并能提供纠错功能。
自动测试配置:电量电费计算是一个复杂算法的执行过程,系统采用自动测试用例模拟现场真实的电费计算,以减少甚至消除电费算法的错误。采用了图形化与命令行工具相结合的操作手段,建立自动测试库。随着项目实施过程的演进,积累了大量的算法测试用例,将这些测试用例组织管理起来,图形化地展示测试用例的层次关系,也可以人工定制特殊用例。测试用例用于系统上线前的电费计算正确性测试,以及系统维护过程中电费算法变更后的回归测试。通过测试用例可以准确无误地给出测试报告,以便于分析问题所在。通过测试用例的不断积累,可大大提高测试的效率和覆盖率,保证系统的可靠性。
核算引擎:在电量电费计算运行期,动态装配各种规则,并实现和计算引擎的绑定,完成电量电费的计算过程。根据电量电费业务规则的定义,可以实现电费计算的实时错误提示,甚至辅助纠错。
运算监控:实时监控到在线计算请求的状态,运行日志,以图形化方式展现负载的变化情况,包括请求数、请求计算的用户数等。通过对核算引擎的内存实时数据的监控,可以跟踪电量电费计算的执行过程、数据变化情况。
2 关键技术
对一个确定的业务功能需要进行分层设计,分为界面表现层、业务逻辑层和数据访问层,这就是典型的三层结构。业务逻辑层采用基于组件化的分层设计,将业务规则进一步从业务逻辑层实现分离,形成业务逻辑规则库和逻辑执行规则库,如图2所示。
一个业务规则包含一组条件和在此条件下执行的操作,它们表示业务规则应用程序的一段业务逻辑。业务逻辑规则描述数据以及数据间的约束关系;逻辑执行规则说明细粒度业务逻辑之间的执行顺序以及关系;业务流程是在程序执行时根据规则的定义,实现动态装载,进行业务规则的检查,以及业务逻辑的执行。
业务规则库用于存储规则和规则元数据以及与规则有关的属性,用于存储、分类、查询、版本控制、权限控制、测试、提交等,使得规则的状态和有效性可以跟踪。
采用基于规则引擎机制,实现规则的数据对象的加载、解析、测试、比对和表达,激活那些符合当前数据状态下的业务规则。根据业务规则中声明的执行逻辑,触发应用程序中对应的操作,从而完成业务功能逻辑的实现。
例如,对于电量电费计算来说,形成了算法规则库和电量电费业务规则库。其中,算法规则包括:
开关量设置。如是否执行优惠政策、是否计算<
评论
最新评论(0)
相关新闻:
-
无相关信息