论文网

机场仓储财务管理系统的开发研究

更新时间:2020-03-03 00:53:54点击:

摘    要

近些年来随着计算机信息技术的飞速发展,软件程序在人们的日常生活中的应用也越来越广泛。目前许多行业都积极地对自身企业进行信息化建设,以取代传统的人工处理的模式提高工作效率。特别是在财务票据处理领域,像机场这种集团性公司每天在进行仓储管理的过程中都会产生大量的财务票据。这些财务票据都需要在总公司的财务管理系统中进行登记。大量的财务票据也使得财务管理流程也越来越复杂,利用财务管理系统节省业务成本来提高工作效率显得尤为重要。除此之外,针对一些大型的集团企业,其自身的子公司所使用的财务管理系统所属的厂商和类型可能存在着一定的差异,这极大地提高了这些集团性的公司的财务监管难度。因此迫切地需要利用现代化信息技术解决了不同财务系统之间数据信息的共享的难题。

基于上述背景,本文将设计并实现一个基于面向服务架构的开发范型的机场仓储财务管理系统。机场仓储财务管理系统主要包括四大功能:影像处理功能、业务处理功能、业务管理功能以及异构数据整合功能。系统先是获取集团企业的发票票据并利用BPO扫描技术以及相关影像识别技术对纸质票据的内容进行票据图像的采集、处理、压缩与图像切分,然后对图像进行数据识别校验处理,并将所获得的电子数据信息的类别进行票据归类,根据相应类别的预编财务凭证模板生成电子财务凭证并自动录入到存储电子票据的数据库中,以实现格式化的电子档案管理操作。紧接着利用XML技术将电子财务凭证格式化转换为凭证报文。最后利用Agent技术设计异构财务系统的中间件,以实现凭证报文在不同的业务系统进行相互通信的功能,有效地解决了不同财务系统之间数据信息的共享的难题。

本课题所设计的机场仓储财务管理系统主要是采用成熟的JavaEE技术和MySQL数据库技术进行设计。系统设计的过程中严格遵循RBAC(Role-Based Access Control)访问权限设计原则严格控制好不同角色之间的系统访问操作权限,采用RSS加密算法针对系统的一些关键性数据进行加密传输以提高系统的整体安全性。采用ElasticSearch搜索引擎对系统的搜索功能进行优化以提高系统的模糊搜索的准确性。除此之外,采用Nginx+Apache+Keepalived搭建分布式主从集群服务器,并利用改进的PICK-KX算法对服务器的负载均衡性能进行优化,从而达到保障系统能够长久稳定运行的效果。


关键词:财务管理,面向服务架构的开发范型,影像采集,财务凭证自动录入

 

 Abstract

With the rapid development of computer information technology in recent years, software programs have been widely used in People's Daily life. At present, many industries actively carry out informatization construction for their own enterprises to replace the traditional mode of manual processing and improve work efficiency. Especially in the field of financial bill processing, as the transaction behavior of the company increases, the bill business of the company increases in proportion and the process becomes more and more complex. It is particularly important to improve work efficiency by saving business costs. In addition, for some large group enterprises, there may be some differences in the manufacturers and types of financial processing systems used by their subsidiaries, which greatly increases the difficulty of financial supervision for these group companies. Therefore, it is urgent to use modern information technology to solve the problem of data information sharing between different financial systems.

Based on the above background, this paper will design and implement a financial preprocessing system based on SOA architecture. Financial preprocessing system mainly includes four functions: image processing function, business processing function, business management function and heterogeneous data integration function. The system first obtains the invoices and bills of the group enterprises and USES BPO scanning technology and relevant image recognition technology to collect and process the bill images of the contents of paper bills. Then, the processed images are compressed and segmented appropriately to improve the accuracy and efficiency of image recognition. Completed after the segmentation of image processing can be to identify calibration data processing of the image of the picture, and category of electronic data information received by the paper classified, according to the corresponding categories of projected financial voucher template generates financial vouchers and automatic entry to the electronic paper database, in order to realize the format of electronic file management operations. XML technology is then used to format electronic financial vouchers into certificate messages. Finally, Agent technology is used to design the middleware of heterogeneous financial system, so as to realize the function of mutual communication between certificate messages in different business systems, and effectively solve the problem of data information sharing between different financial systems.

The financial preprocessing system designed in this project mainly adopts mature JavaEE technology and MySQL database technology for design. In the process of system design, we strictly follow the principle of RBAC (role-based Access Control) Access permission design to strictly Control the system Access operation permission between different roles, and adopt RSS encryption algorithm to encrypt and transfer some key data of the system to improve the overall security of the system. ElasticSearch is adopted to optimize the search function of the system to improve the accuracy of fuzzy search. In addition, Nginx+Apache+Keepalived is adopted to build the distributed master-slave cluster server, and the improved PICK-KX algorithm is used to optimize the load balancing performance of the server, so as to ensure the long-term and stable operation of the system.

Key words:financial management; SOA architecture; image acquisition; autogeneration algorithm for vouchers

 

目    录

摘    要I

AbstractII

1 绪论1

1.1 课题背景及意义1

1.2 国内外研究现状2

1.3研究目标及研究内容3

1.3.1研究目标3

1.3.2研究内容4

1.4 论文的组织结构4

2 相关技术简介6

2.1 JavaEE技术6

2.2 面向服务架构的开发范型8

2.3 数据库技术9

2.4 XML技术11

2.5 PICK-KX算法13

2.6 遗传算法14

2.7 基于遗传算法的改进的PICK-KX算法16

3 需求分析20

3.1 业务流程梳理及分析20

3.2 功能需求分析21

3.2.1影像处理功能21

3.2.2业务处理功能22

3.2.3业务管理功能22

3.2.4异构数据整合功能22

3.3 非功能性需求分析23

3.4 小结23

4 总体设计24

4.1 设计原则24

4.2 系统逻辑架构设计25

4.3 系统功能结构设计26

4.4 系统网络拓扑设计37

4.5系统数据库设计37

4.5.1数据库概念结构设计37

4.5.2 数据库表结构设计41

5系统实现47

5.1 系统功能模块实现47

5.1.1影像采集功能47

5.1.2影像识别功能47

5.1.3财务凭证自动录入功能49

5.1.3影像识别复核功能52

5.1.4系统管理功能53

5.1.5异构数据整合功能54

5.2数据库的实施与优化62

5.3 改进的PICK-KX算法的应用实践64

6、结论与展望69

论文总结69

展望70

参 考 文 献71

致  谢74


 

1 绪论

1.1 课题背景及意义

近些年来随着信息技术的飞速发展,计算机技术在金融领域中的应用也越来越广泛。利用计算机信息技术降低企业的生产经营成本,进而提高企业的生产工作效率已经成为机场集团公司的信息化建设的目标。特别是在财务票据处理领域,随着公司交易行为的不断增加,公司的票据业务也呈比例递增,流程也越来越复杂,通过节省业务成本来提高工作效率显得尤为重要。目前利用计算机信息技术中新型的票据识别技术对纸质票据的内容进行识别,并将所识别的电子数据导入到企业的财务管理系统中进行数据管理是一种较为常见且有效的做法。然而该做法也存在着一定的局限性,具体表现在以下两大方面:(1)票据识别技术对于纸质票据内容的识别无法保证能够达到百分百准确,可能会存在着一定的识别误差,这也容易导致企业电子数据在录入处理的过程中出现错误,进而给企业造成不必要的损失;(2)针对一些大型的集团企业,其自身的子公司所使用的财务管理系统所属的厂商和类型可能存在着一定的差异,这也使得票据识别技术所获取的电子数据在这些不同财务系统之间数据信息的共享存在的较大的问题。

实则上在前几年国内一些机场集团公司已经发现自身所使用的财务管理系统已经不能满足自身的发展要求,进而纷纷在市场上需求可以代替的产品。然而遗憾的是,目前市面上新型的财务处理提供商所提供的服务较为薄弱,无法满足机场集团公司的实际需求。而传统的财务处理提供商尽管可以提供功能强大的个性化定制需求,但是其定制的价值则让大部分公司难以承受。就像IBM的ERP负责人所说的,一家公司的年营业额如果在10亿美金以下就是一家小微型公司,其并未达到我们服务提供个性化服务的公司最底营业额标准。换而言之就是目前市场上大多数机场集团公司自身的个性化需求十分强烈,但是由于其年营业额未能达到像IBM这种大型企业所提出的个性化服务需要的最底营业额标准,使得他们被传统的服务提供商排除在服务对象之外。于此同时市场上其他一些新兴的财务管理系统提供商(比如金蝶、用友)却因为自身原因无法为这些个性化需求十分强烈的集团企业提供令他们满意的服务。这也直接导致了一些机场集团公司已经发现自身所使用的财务管理系统已经不能满足自身的发展要求,但是却不得不继续使用原有的财务管理系统的原因。

基于上述原因,本课题将设计并实现一个基于面向服务架构的开发范型的机场仓储财务管理系统。系统实现对财务票据从财务票据影像采集、财务票据影像处理到财务票据业务处理等一系列管理操作,并利用Agent技术和XML技术实现异构财务系统中间件的设计,以满足企业旗下不同财务系统之间财务凭证报文的共享需求。

1.2 国内外研究现状

现实中的票据主要指的是出票人在知情且自愿的前提下,签署的一种由第三方金融机构代为向持票人无条件支付一定金融金额的有价证券。通俗点讲就是一种具有法律效应的用于代替现金流通的金融证券。票据在上个世纪就已经诞生,并且被西方发达国家广泛应用于商业领域。然而由于纸质票据本身都存在着多种不同的格式使得票据识别技术在实际运用的过程中往往难以达到预期的效果,这也是的票据处理系统的发展进程变成十分缓慢。

西方发达国家在二十世纪末期就开展投入大量的精力对于票据处理系统开展大量的研究工作。由于其对票据处理系统的相关研究比较早且相关研究的程度也比较深,因此取得了不错的研究成果。比如目前全球智能化程度最高的票据管理系统就是由法国A2iA所研制的。该系统不仅拥有极高的票据内容识别率,同时也可以在短时间之内处理完大量的纸质票据信息,系统的整体性能在行业内处于领先地步[5]。

2012年,麻省理工的研究人员Mohsin C围绕酒店行业展开研究,对该行业管理系统进行深入分析,并利用ThinkPHP技术、Oracle技术等技术上,成功开发出酒店财务管理系统,使用财务管理效率得到明显提升,而且能够对酒店的财务收支情况进行跟踪管理,这样一来,光缆资源管理在财产方面的安全性就大大增强[6]。

2015年,Battiston S等对天津某通信公司进行研究,对该公司业务开展、日常管理等工作进行分析,借助规范化、数字化的方式增强财务管理效率,并经过不断摸索,成功开发出一套能实现通信公司财务管理系统,具有较强的实用性[7]。

2017年,Acharya V V等对开发软件工程的原理进行深入研究,开发出机场仓储财务管理系统,除了具备财务管理系统常见的业务功能之外,还引入了人工智能算法提高系统管理财务数据信息的工作效率[8]。

然而由于我国信息化建设起步比较晚,而且相比于西方发达国家而言也较为落后,这样就导致了我国目前并未研制出符合市场实际需求且功能成熟完善的票据处理系统。除此之外,我国对于票据处理系统所投入的研究力度也不足,这也导致了我国相关专家学者在票据处理系统信息化建设的研究过程中所取得的具有突破性的成果比较少[9]。大部分研究仍然处于较为浅显的阶段,导致我国对于票据处理信息化研究一直停滞不前。由于缺乏先进的理论作为指导,同时我国信息技术水平又较为有限,使得我国企业目前对于票据的处理仍然停留在较为落后的人工管理模式。这种利用人工处理对纸质票据上的数据信息进行录入的模式不尽具有较高的错误率,同时效率也难以得到保障[10]。

因此近些年来,我国国内的学者也都在积极地研究与讨论将信息化技术应用与电子票据处理中,实现电子票据部分流程或者全流程的电子化处理,以有效解决电子票据人工处理过程中所存在的问题。票子的电子化处理只要指的是利用现代化信息就似乎出票人在知情且自愿的前提下,签署的一种由第三方金融机构代为向持票人无条件支付一定金融金额的纸质有价证券进行影像化处理之后,利用影响识别技术获取纸质支票中的相关数据信息,并将这些数据信息以一定地格式导入到相应的管理系统之中进行管理。其优点也十分地明显,不仅有效地提高了票据电子数据的管理效率,同时也便于企业管理系统的数据采集与分析,为企业推行相应的决策意见[11]。值得注意的是,想要达到上述效果必须有效地提高票据电子化处理的准确率以及票据电子化处理过程中所存在的格式兼容性问题。不同的管理系统所能够接受的数据格式也不尽相同,因此处理好格式兼容问题才能够有效地推进票据电子化处理在商业行为中的应用进程[12]。

除此之外,票据电子化处理也使得出票人在可以使用电子数据的形式代替传统的纸质凭证进行交易,极大地提高了交易的安全性。总结而言电子票据的优点主要表现在以下几大方面:(1)极大地提高了票据管理的透明程度,提高了票据管理的管理水平以及管理效率;(2)有效地降低了纸质票据的存在着遗失或者损坏等巨大风险;(3)有效地降低利用克隆假票进行金融犯罪的概率;(4)有效地降低了支票交易的实际成本,同时也进一步提高交易效率;(5)有利于促进金融市场的稳定发展[13]。

综上所述不难看出,票据电子化处理乃是未来主要的发展趋势,尽管目前世界各国的实际国情存在着一定的差异,但是它们对于票据电子化处理却已经达成了共识。特别是在西方发达国家,票据电子化处理已成为其金融市场发展的重要推动工具。因此我国也已经加大对票据电子化处理的研究投入力度,积极地开展相应的研究工作,以有效地推动金融市场的进一步发展。

1.3研究目标及研究内容

1.3.1研究目标

本课题研究目标是有效地利用计算技术和互联网技术,设计并实现一个基于面向服务架构的开发范型的机场仓储财务管理系统并将其应用到集团企业中去,实现对财务票据从财务票据影像采集、财务票据影像处理到财务票据业务处理等一系列管理操作,切实地提高集团企业对于财务数据的处理能力,同时利用Agent技术设计好中间件以解决机场集团公司下不同财务系统之间的异构数据整合的难题。

1.3.2研究内容

本课题主要研究内容包括如下:本课题采用JavaEE框架设计并实现一个基于面向服务架构的开发范型的机场仓储财务管理系统。该系统实现对财务票据从财务票据影像采集、财务票据影像处理到财务票据业务处理等一系列管理操作。主要包括以下几大方面的内容:

   (1)系统采用JavaEE框架进行开发,遵循RBAC访问权限设计原则严格控制好不同角色之间的系统访问操作权限,并采用RSS加密算法针对系统的一些关键性数据进行加密传输,以确保数据传输的安全性。

   (2)系统的主要功能包括影像扫描功能与预处理处理系统和后端业务处理系统。前端系统主要实现扫描、版面识别、影像切分以及影像传输等功能。 后端业务处理系统可根据预先定义的数据接口将影像或票据信息转化成格式化财务凭证报文推送至业务系统。

   (3)系统部署在Nginx+Apache+Keepalived搭建的集群服务器上,以切实地提高系统的负载均衡能力,确保系统能够长时间稳定运行。

1.4 论文的组织结构

本文的组织结构:

第一章为绪论,介绍了基于面向服务架构的开发范型的机场仓储财务管理系统的课题来源,国内外研究现状以及本系统的研究内容。

第二章为相关技术简介,该章节主要是介绍了系统在设计过程中所需要的相关技术理论。

第三章为需求分析,采用UML的方法对基于面向服务架构的开发范型的机场仓储财务管理系统的功能需求和非功能需求进行分析,同时构建用例图。

第四章为系统总体设计,在需求分析的基础上,借助UML图对系统的主体功能的详细设计。之后由用例图和系统实体类的分析进行数据库E-R图的构建,最后对数据库的表结构进行详细的设计。

第五章为系统详细设计与实现,依据MVC设计模式和面向对象的编程思想,对整个系统功能进行了全面的设计。以保证系统拥有较强的扩展性以及一定的鲁棒性。

第六章为总结与展望,对于系统的研究工作进行总结,同时对软件的未来发展提出展望。


 


2 相关技术简介

2.1 JavaEE技术

JavaEE技术已经经过验证,适用于各类大量使用自动化智能化管理的公司的应用程序,因此公司就特别适合使用JavaEE架构。JavaBean的数据库访问组件技术也可以所需要开发的代码数量,提高开发效率。JavaBean技术简单容易操作。

JavaBean连接数据库是所采用的技术一般存在两种不同的形式,一种是JDBC连接技术。另一种是ODBC连接技术。理论上讲现有的数据库产品中都可以使用ODBC技术进行连接与调用。但是采用ODBC技术连接数据库是需要对数据库产品的数据源连接方式进行开发与调用,某种程度上存在着一定的不便。因此Java语言针对一些主流的数据库产品开发相应的JDBC驱动程序以支持JDBC数据连接技术。JDBC连接技术优化了传统的ODBC连接技术中所存在的缺陷,不仅开发起来变得更为简便,同时数据接口获取数据的方式也更为稳定。

机场仓储财务管理系统采用Java程序设计语言开发一个JSP前台页面处理系统和一个功能完善的数据库访问组件,JavaEE 是一种跨平台的互联网技术,它不是单独的一种技术,而是整套的技术体系。JavaEE 大体上由 JDBC、S  JSP、JMS、Java  Mail 和 EJB 等这些技术分支所构成。JavaEE应用程序包括客户层、Web 层、业务层以及企业信息系统层,实现系统通信、处理功能。机场仓储财务管理系统能够顺利建成关键就在于JavaBean数据库各项技术的应用。在开发系统的时候,经常需要对数据库进行很多操作,如查询数据,并对其进行删除、插入和修改数据等,因此为了能够减少开发时间,Java程序用组件接口来方便程序员的操作,进一步对软件进行开发。

软件系统的架构极其关键,相当于一座大厦的结构。如果一座大厦缺乏科学合理的结构设计,就可能会瞬间倒塌。即使各方面的装修都堪称完美,也会随着大厦的倒塌而化为乌有。机场仓储财务管理系统的开发工作也是相同道理。在对管理系统进行总体设计时,必须优先重点设计好软件的结构,这样才能方便后期的软件维护以及升级,从而降低资金投入。以当下网络技术的发展方向为基础,系统通过B/S,WEB,SQL SERVER 2012和 Java进行开发和研究。

系统框架最大的优势就是能够多次利用。它由比较抽象的类和实例之间产生影响的方式构成。系统框架能够做到即插即用,性能十分稳定,这就方便了团队之间进行及时的交流与协作。 

JavaBean数据库有着相当复杂的多层结构,这就需要大型 JavaBean数据库项目必须对系统框架通过运行以及模式设计控制软件系统的品质。当下市场上出现了一些开源化和商业化的基于 JavaBean数据库的软件,其中多数软件框架技术有以下几类:以 MVC 模式为基础的Struts 框架、以 IoC 模式为基础的Spring 框架以及对象/关系这种映射框架Hibernate。

JavaBean组件的功能有:

1)连接数据库。

2)把海量数据信息批量导入到数据库中,并利用数据库事务对其进行数据处理。

3)对数据库的内容进行删除操作。

4)对数据库的一些操作进行修改。

5)对数据库进行查询。

在JavaEE的体系结构中,首先由客户端层来负责承载数据,进而与系统的用户进行交互。客户端层的代表有Web客户端、小应用程序(Applet)以及应用程序客户端等。

在JavaEE体系结构中,表示层通常由Servlet容器组成,该层主要是用来接收系统用户输入的数据信息,然后在输出界面上展示服务器端返回的结果数据,同时确保各层间的数据能够正常交流。

业务逻辑层通常是由EJB容器构成的,该容器中可能包含若干个EJB对象,主要进行系统与数据库之间的数据交互操作的工作,并将各类业务数据处理并存储到数据库当中。

除了这三层,其它还有企业信息系统层是专业用于处理公司数据和服务。

JavaEE 是一种跨平台的互联网技术,它不是单独的一种技术,而是整套的技术体系。JavaEE 大体上由 JDBC、S JSP、JMS、Java Mail 和 EJB 等这些技术分支所构成。JavaEE应用程序包括客户层、Web 层、业务层以及企业信息系统层。机场仓储财务管理系统能够顺利建成关键就在于Java EE 各项技术的应用。对 Java EE 技术进行进一步的研究,能够增强管理系统工作的产出效果。

本文所设计的机场仓储财务管理系统在技术体系上选用JavaEE技术,结合机场仓储财务管理系统项目工程应用系统的业务特点,应用系统的建设总体上采用Browser/WebServer/DataBaseServer三层结构的开发模式,实现系统客户端的零部署与维护。

机场仓储财务管理系统在技术实现上,基于JavaEE技术路线,采用MVC(模型-视图-控制器设计模式),可以支持跨操作系统部署,支持Unix、Linux、Windows等多种操作系统。MVC三层架构是目前较为常见的一种软件设计模式。该模式的特点实则上就是将软件整体进行局部分层处理。通过将软件的功能以及数据层进行分层次划分,以达到将复杂化的软件结构进行局部简化,并将不同的系统业务功能设计到系统的子功能中,并且给每一个系统的业务功能层留有相应的拓展接口。通过这种设计模式可以有效地降低系统的整体开发难度,切实地提高系统的可拓展性。同时清晰合理的系统结构也使得该系统在后续的维护工作中可以更为简单便捷。目前MVC三层架构的设计从整体上可以划分为以下三种不同的软件层:(1)表现层;(2)业务逻辑层;(3)数据层。

软件系统的架构极其关键,相当于一座大厦的结构。如果一座大厦缺乏科学合理的结构设计,就可能会瞬间倒塌。即使各方面的装修都堪称完美,也会随着大厦的倒塌而化为乌有。客户管理系统的开发工作也是相同道理。在对管理系统进行总体设计时,必须优先重点设计好软件的结构,这样才能方便后期的软件维护以及升级,从而降低资金投入。以当下网络技术的发展方向为基础,系统在 Java EE 中开发各种大规模的软件。

系统框架最大的优势就是能够多次利用。它由比较抽象的类和实例之间产生影响的方式构成。系统框架能够做到即插即用,性能十分稳定,这就方便了团队之间进行及时的交流与协作。

Java EE 有着相当复杂的多层结构,这就需要大型 Java EE 项目必须对系统框架通过运行以及模式设计控制软件系统的品质

2.2 面向服务架构的开发范型

    面向服务架构的开发范型是一种直接面向服务架构的软件开发结构范型。与面向过程与面向对象的开发技术不同,SOA着重对于IT系统的基础设施进行规范性,让不同业务服务之间可以相互交换本方数据流量,并且与业务流程合并,通过多样的合作方式完成具体的业务内容。对于运行环境、编程语言、实现方法而言,这些业务与他们“分道扬镳”,没有依附作用,也不提供依附载体。在监督执纪问责信息化平台项目建设过程中应用面向服务架构的开发范型进行设计和实施,使应用系统在整个应用的电子政务环境中可方便实现服务、数据、应用的多层次整合,为纪检监察工作未来面临的更大范围的资源、信息、服务整合提供便利。该框架存在着以下几种特点:

    (1)服务性

    基于SOA框架开发的系统主要是采用面向服务的开发模式进行开发。这种开发模式与传统较为常见的面向过程以及面向对象的开发方式不同。它至始至终都是直接围绕着IT系统的业务需求所需要提供的实际服务进行实现的,这样做更加有利于使IT系统的实际业务需求。除此之外,高度的封装化也是基于SOA框架进行开发的系统中最为常见的一个特征。通过对系统的服务进行封装可以较好地实现对系统服务的调用与使用。

    (2) 松耦合

    在软件工程中有一个极其重要的概念就是软件的松耦合度,该概念主要是用于衡量软件系统中不同函数之间的关联程度。基于SOA框架开发的系统的松耦合度主要表现在以下几个方面:① 接口松耦合:接口松耦合主要用于衡量IT系统的中服务请求方与服务提供方之间的依赖程度的高低。倘若IT系统的接口松耦合比较低的话,那么在进行服务请求期间的服务请求方并不存在着一定要查看服务提供方的身份证明信息。② 技术松耦合:技术松耦合主要用于衡量IT系统对于技术环境的总体依赖程度的高低。降低系统的技术松耦合有利于降低系统的服务提供者对于某种技术的直接依赖程度。同时低技术松耦合度的IT系统也可以有效地实现系统的环境移植。确保系统在不同的运行环境中也可以正常运行。③ 流程松耦合:流程松耦合主要用于衡量IT系统对于特定业务流量的总体依赖程度的高低。基于SOA框架开发的IT系统一般而言都可以实现随着不同的业务需求发生改变而改变。这也使得系统可以在未来很长一段时间内对于系统功能新业务的要求而拓展出新的功能。

    (3) 重构的灵活性

    基于SOA框架进行设计的IT系统基本上都是由一些小型的功能单位组成,因此系统在进行整体的重构时不需要考虑过多的函数之间的联系以及功能模块之间的联系,具有较高的灵活性。

2.3 数据库技术

    机场仓储财务管理系统在使用的过程中涉及到海量数据的存储与处理,因此在其存储数据的过程中往往需要采用两个方面进行操作,一是针对Web处理页面需要保持的信息进行深加工,发出更多的用户进行操作管理需求,这样就可以在机场仓储财务管理系统处理完毕之后,一次性的请求就可以显示进一步改进数据传递造成的网络阻塞情况,从而可以更好的显示系统的处理性能和效率。综合多方面的考虑,最终选用MySQL+MongoDB数据库作为机场仓储财务管理系统的数据管理软件。

    MySQL数据库是一款优秀的数据库管理软件,具有强大的功能和稳定的可靠性。本系统的选择该产品作为数据库管理软件,由该软件来提供许多服务支撑。

MySQL提供用户可视化的操作界面,通过图形界面和I/0设备,我们能够通过简单的几个步骤就可以完成数据库管理的基本的工作。对于非专业的数据库管理人员,也可以很快上手其基本的操作的和功能。

MySQL相比之前的版本,添加了对web业务的支持,使其能够应用于更多的场景,并且与微软的其它产品有一个很好的结合,拓展原本受限的许多功能。MySQL数据库最主要的几个特性具体的介绍如下: 

    (1)数据库动态管理与优化。众所周知,一款数据库产品在长时间的使用过程中,会冗余大量的数据信息。这些冗余部分的内容,不仅没有任何价值,反而会使得系统的工作效率降低。在优化方面,MySQL中设计了智能优化功能,以实现对系统中不同的数据信息进行快速检索的功能。

    (2)MySQL针对不同的业务需求提供各种不同类型的调用接口,用户通过调用这些接口,就能够在程序设计中,方便地完成连接和读写操作。除此之外,为用户提供JavaBean等组件开发模式,能够丰富程序的强大功能。

    (3)MySQL更是集成了Internet服务。在大数据时代倘若想要实现对各个数据库中的有价值的信息进行挖掘,就需要联网实现处理。

    (4)MySQL管理模式简单。MySQL能稳定地运行于微软旗下的各个平台之上,并且与VS工具等搭配,为项目的开发带来操作的简化。

(5)伸缩性强。MySQL在不同的业务场景下,都能够很好的使用,这主要依赖于其伸缩性。对于各个主流的OS平台,都能实现良好的兼容。

但是随着业务的发展,传统的关系型数据库难以满足某些业务场景或已不是最佳的解决方案。

主要表现为:

(1)快速增长的结构化、半结构化和非结构化数据的存储和查询。

(2)现有机器的容量限制。

(3)昂贵的专有数据库软件和硬件。

为了满足这些需求,NoSql自然就成了替代方案,Mongodb就是NoSql比较有代表性的产品。MongoDB公司开发是由C++语言编写的,开源的数据库,是文档型数据库,使用bson结构,可以更加灵活的处理嵌套结构的数据。

Mongodb的主要特点:

(1)采用的是mapfile+Journal(数据文件+redo log)思想,如果记录不在内存,先加载到内存,然后在内存中更改后记录日志,然后隔一段时间批量的写入data文件,这样对内存的要求较高,至少需要容纳下热点数据和索引。mongodb默认每100ms刷新到journal,断电或宕机,有可能丢失这100ms数据

(2)MongoDB的提供了一个面向文档存储,操作起来比较简单和容易。

(3)多种索引类型:单键索引、复合索引、多键索引、地理空间索引、全文本索引和哈希索引。

(4)分片和副本集提升负载能力(需要更多的存储空间和更强的处理能力)

(5)Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。

(6)Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。

(7)GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。

(8)MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。

(9)MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。

(10)MongoDB安装简单。

(11)集群架构

MongoDB集群包括一定数量的mongod(分片存储数据)、mongos(路由处理)、config server(配置节点)、clients(客户端)、arbiter(仲裁节点:为了选举某个分片存储数据节点那台为主节点)。

2.4 XML技术

    XML语言是一种类似于HTML语言的可拓展性语言。尽管这两种语言之间都被归属与同一种类别的语言,但是他们的用途与所适用的领域却不尽相同。HTML语言主要是应用于网页的建设中,倘若需要实现不同的网页界面效果就需要修改相应的HTML语言块以达到该目的。而XML语言则不同,XML语言主要是用于进行不同网络协议之间的数据传递。常见的网页并不能仅仅只是由简单的HTML组成相应的效果,往往还需要采用XML协议将用户的请求发送至服务端进行相应的处理之后再将结果传输到客户端进行显示。因此,需要深刻的意识到XML语言实则上是一个采用元数据模型进行弱规则定义与表示的计算机编程语言。同时也需要明白,尽管HTML语言与XML语言之间存在着较大的相似,但是它们之间的具体用途却存在着较大的不同,因此在使用的时候需要针对特定的用途使用不同的编程语言来达到不同的目的,切记不可将不同编程语言肆意进使用,否则即使是达到编程目的也会使程序的整体结构显得非常的杂乱,不利于后期的维护。

    XML语言之所以比HTML语言更加适合于数据的传输,究其原因就是XML语言自身是一种标准化的元标记语言。它比起像HTML这种常规的网页拓展性语言更具灵活性。比如国内在实际编程过程中往往会遇见这样一个问题就是,当系统比较复杂的时候,其数据的接收与传输模块往往需要长时间地进行大量重复数据的接收与发送。假如不对这些数据进行相应的处理,系统就容易因为重复性的数据传输过多而影响其性能的具体发挥。因为为了加快系统的数据传输速度,就需要将这些数据进行规则化结构定义,将数据中重复的部分采用DOT标识进行表示。如此一来数据传输过程中主要一开始就接受并缓存好DOT样本的具体数据内容之后,以后遇见相应的DOT标识就可以直接从缓存数据中取出相应的数据直接运用。与此同时,数据传输过程中可以直接采用DOT进行传输,通过这种短字义的传输不仅可以加快网络的传输数据,同时也可以提高系统的整体性能。 

    目前而言XML语言所描述的仅仅只是该语言的具体结构,而不包含数据的具体格式:

    (1)XML语言可以进行自定义的语言标识以及语言结构的扩展。这种特性就使得该语言受到广泛数据库厂商的支出。

    (2)XML语言具备跨平台特定,该语言可以实现在不同的系统之间转换与互通。同时该语言的结构简单,可以很容易地转换成其他格式的语言进行传输,具有较高的兼容性。

    (3)XML语言的传输内容与其具体的外观表现形式不存在直接的联系,可以根据不同的实际需求去展示其外观。

在很久以前,异构系统之间的数据交互往往是一个难以解决的问题。其主要原因就是异构系统之间无论是数据结构还是数据的传输格式的设计都不尽相同,使得数据在进行传输的过程中容易出现各式各样的问题。为了解决上述难题,计算机科学家提出一个专门用于不同系统之间进行数据传输的XML语言,并且规范了XML的数据传输协议与数据定义标准。目前XML技术经过这么多年的发展已经相当完善,国外还对XML技术进行以下几个方面的拓展:比如XML技术在Web程序上的轻应用、XML文档以及数据交换的规则化定义。国内引入XML技术的时间并不长,但是针对XML技术的相关研究却比较多。目前XML技术已经被广泛运用在不同的领域,但是大多数都是运用于规则化数据的处理与交换,针对于文档规则化处理的相关研究仍然存在着一定的研究前景。

2.5 PICK-KX算法

由于每台服务器具有差异性,服务器的资源利用率也存在差异,导致不同服务器之间的处理能力不尽相同,各台服务器之间无法实现均衡承载用户的实际请求,容易导致不同的服务器节点的实际运行状态仍然处于不合理资源分配的状态,为了解决该问题,必须设计有效的负载均衡算法,使各台服务器均衡分担用户的任务请求。

负载均衡通常有两层含义:一是将单个的重负载任务分摊到多个处理节点上进行分布式运算,在这多个节点完成计算后进行汇总,再将最终结果反馈给用户,这种分布式的计算和并行处理方法使系统总体的处理能力得到极大地提升;二是将大批量的任务分摊到多个处理节点上分别进行处理,以减少用户等待响应时间。本系统在实践中研究的是后者,即如何通过负载均衡算法合理地分配任务请求,将r个任务分摊到n个处理节点上,以提高系统吞吐量、减少系统响应时间[32]。

通常而言,根据是否需要动态反馈负载信息,将负载均衡算法分成两类,一类是动态负载均衡算法,另一类是静态负载均衡算法。用户可以根据服务器自身的实际需求选择合适的负载均衡算法。其中静态负载均衡算法往往只需要用户事先设定好相应的分配方案,然后将该方案应用于服务器中就可以被长时间稳定运行,这种类型的算法适合于一些较为稳定的商业业务。而动态负载均衡算法则需要实时监测服务器的运行情况,并根据实时负载情况进行动态调整,这种类型的算法适合于一些用户请求数量较大的商业行为。因为动态负载均衡需要调整分配策略,所以其能通过处理好每一个节点负载均衡方式,保证能完美的处理好用户请求问题[33,34]。

本系统中使用的是目前用得较多的 Pick-KX 负载均衡算法,它是动态负载均衡算法,其基本原理是在一个更新周期T内,当有新任务出现时先从一组集群服务器 中任意选择 个服务器 ,设这 个服务器当前的负载分别设为 ,则将当前请求以概率 分配给服务器 ,分配的概率值 的表达式如公式(2.1)所示: 

                                                           (2.1)

其中,

                           (2.2)

                         (2.3)

根据上述公式不难得知,获得的概率值  越大,则该服务器具有越小的负载,从而把任务分配给此处理器进行处理[35]。Pick-KX算法的优势仅体现于,在一组集群服务器中每台服务器的节点处理能力都处于相同的情况下,那么可以根据该算法计算出来一个合理的服务器资源分配权,然后将用户的任务请求均衡地分配给不同的服务器进行处理[36,37]。然而在实际中,每台服务器自身的处理能力往往存在着差异,如果直接使用Pick-KX算法进行服务器资源的分配,往往会因为资源的分配不均而导致不同服务器出现节点负载不均衡的问题。因此需要对Pick-KX算法进行改进,下文中提出了一种改进的Pick-KX算法,此算法在计算分配概率  时,能够兼顾不同服务器的实际节点处理能力和当前负载。

2.6 遗传算法

遗传算法是根据自然界的遗传规律推演出来的一种计算机算法模型。在上世纪七十年代中被提出,其本质是一种高效并行的全局搜索算法。由于遗传算法在设计的时候参考了生物遗传学的遗传经验,因此遗传算法的实现步骤与生物学的进化理论相似,其基本操作为:选择、交叉、变异[40]。选择是从群体中挑选出优良的个体,淘汰差的个体,这样可以把优良的基因遗传到下一代;交叉是将两个父代个体的基因结构通过替换重组成新的个体基因;变异是对群体中某些个体串基因值作变动,这是产生新的个体的一种辅助方法,能够维持群体的多样性。遗传算法的基本步骤是:将问题的解决方案看作是染色体,算法中的具体表现则是特定的二进制编码,将这些编码,或者说是“染色体”进行整合,随后便开始下一步遗传算法的计算。对这些“染色体”进行特定条件的筛选,挑选出其中适合生存的“染色体”,并对筛选出来的“染色体”进行再次繁殖,产出更适合生存环境的下一代,如此反复,最终得到一个具有所有使用特性的“染色体”,也就是最优答案。遗传算法能够做到均衡搜索,可以对非常复杂的问题进行庖丁解牛式地分析,进而得到该问题的最优解。

遗传算法中,参数的二进制编码化、第一代群体的设定、适应度函数的设计、控制参数的设定这五个要素是核心内容。在自然界中,生物通过优胜劣汰的自然法则获得最优良的染色体,遗传算法中则需要人为的设计一个评判结果优劣的适应度函数,通过一定的概率将好的解选出来继续参加下一次的遗传操作,以生成新的群体,达到优化的目的。

遗传算法的有效性是以模式定理和积木块假设为理论依据的。模式定理,即在选择、交叉和变异的操作下,具有阶数低、长度短、平均适应度高于群体平均适应度的模式在子代中将以指数级增长。积木块假设,即阶数低、长度短、平均适应度高的模式在遗传算子的作用下,相互结合能生成阶数高、长度长、适应度高的模式,最终可获得全局最优解。模式定理分析如下[41]:

令A(t)代表遗传算法中的第t代样本种群,第t代中第j个个体串用变量Aj(t)(j=1,2,…,n) 表示。假如在遗传过程中第t代种群A(t)经过多次匹配之后获得成功的样本数量为m,记为m(H,t),则下一次选择的过程中,一个位串Aj将以概率 被选中并进行再生性复制,其中f j指的是个体Aj(t)的具体适应度。设遗传一代中整体的遗传数量为n,群体中不同的个体之间所有的特性都存在着一定程度上的不一致,则模式H在第t+1代中的样本数为:

                                              (2.4)

上式中,f(H) 指模式H在t时刻的位串的平均适值。若群体平均适值 ,则有

                                             (2.5)

假定模式H高出群体平均适值的部分为  为常数,则有

                            (2.6)

设从t=0时刻开始,c保持为常值,则有

                                            (2.7)

然而仅有选择操作还不能产生最优全局解,因此还需引入交叉操作,这里我们只以单点交叉为例。

目前模式H只存在于当交叉点落在定义距之外的情况。在简单交叉下H的生存概率 。例如,一个长度为5的串A=010110,其隐含两个模式H1=*1***0、H2=***11*,其中模式H1的定义长度为4,则交叉点在5个位置随机产生时,H1遭到破坏的概率 ,即生存概率为4/5。

而交叉本身也是以一定的概率Pc发生的,所以模式 的生存概率为

                                     (2.8)

接下来考虑若交叉发生在定义距内,模式 不遭到破坏的可能性。前例中若存在和A交叉的串在第2个位置或第6个位置上与A保持相同的情况,那么H1将被保留。基于此,上式给出的生存概率只是一个下界,即有

                         P_S≥1-P_C∙δ(H)/(m-1)                      (2.9)

可见,在交叉操作下长度短的模式会增多。最后来考虑变异操作的影响,假使串中某一个位置发生变化的概率是Pm,则该位置不变的概率是1-Pm,若要模式H在变异的作用下不遭受到破坏,那么串中任意一个确定位置须不能变。所以模式H保持不变的概率为 ,o(H)表示模式 的阶数。当Pm<<1 时,在变异算子作用下模式 的生存概率为

                                        (2.10)

综上所述,模式 在选择、交叉和变异的共同作用下子代的样本数为

                          (2.11)

2.7 基于遗传算法的改进的PICK-KX算法

目前计算机算法中存在着动态负载均衡算法以及静态负载均衡算法这两种完全不同类型的负载均衡算法。用户可以根据自己服务器自身的实际需求选择合适的负载均衡算法。其中静态的负载均衡算法往往只需要用户事前设定好相应的分配方案,然后将该方案应用于服务器中就可以被长时间稳定运行;这种类型的算法适合于一些较为稳定的商业业务。而动态的负载均衡算法则需要实时监测服务器的实际运行情况,然后根据其实时负载情况进行动态调整。这种类型的算法适合于一些用户请求数量较大的商业行为。因为动态负载均衡需要调整分配策略,所以其能通过处理好每个一个节点负载均衡的方式,保证能完美的处理好用户请求问题。PICK-KX算法的基本原理是确保能够在一个更新周期T内,在任务出现时先从一组服务器   中任意选择 个服务器 ,再设定它们的负载,分别设为  ,则将当前请求以概率  分配给服务器  ,其中:

 

 

 

                                                        (2.1)

从上述公式(3.1)中不难得知,目前服务器所使用的是动态负载均衡算法,主要是通过  的概率来衡量服务器的负载能力,然后通过用户的实际请求数量来决定服务器的优先分配权[29]。PICK-KX算法的主要优势在于一个集群服务器中,倘若该集群中的每台服务器的实际计算能力均处于均衡状态,那么可以根据算法计算出来一个合理的服务器资源分配权,然后将这些用户均衡地分配给不同的服务器进行处理。然而在实际操作中,集群中的服务器自身的计算能力往往存在着计算能力上的差异,这也使得PICK-KX算法不能很好地均衡系统负载。如果在实际操作中直接使用PICK-KX算法进行服务器资源的分配,往往会因为算法的分配不均而导致各台服务器节点负载不均衡的问题,这时我们就需要对该算法进行改进,下面我们提出了一种改进的 PICK-KX算法,该算法在计算任务分配概率  时,综合考虑各服务器的当前负载和实际处理能力。

改进的PICK-KX算法中对于异构服务器集群中的不同服务器存在着计算能力不同的情况进行深入的研究与分析,然后根据服务器不同计算能力拟定了一些资源分配方案,然后巧妙地运用遗传算法对于所有的服务器资源分配方案进行计算,最终获得资源分配的最优解,成功地解决了PICK-KX算法在进行服务器资源的分配不均时所遇见的难题[31]。为了能够更好地解释改进的PICK-KX算法的实现原理,此时需要引进两个新的概念:单位处理能力的负载和任务执行失败率。单位处理能力的负载主要指的是处理服务器当前负载与处理服务器的处理能力的比值。单位处理能力与服务器处理任务请求数量成反比。任务执行失败率主要指的是处理服务器执行失败的任务数占已处理任务总数的比值。任务执行失败率与服务器处理任务的能力成反比。改进的PICK-KX算法应用模型如图2-1所示。


 

图2-1改进的 PICK-KX算法应用模型


假设集群服务器中拥有  台服务器。此时将这些服务器定义为一个服务器集合 ,那么改进的PICK-KX算法的实现原理实则上就是直接将不同处理服务器的心跳周期向主服务器 发送心跳包,主服务器根据心跳包提供的信息计算每台处理服务器的单位处理能力的负载 和任务执行失败率  ,然后直接根据下述公式计算任务分配概率  的值。

                                                   (2.2)

服务器运用改进的PICK-KX算法之后实现过程如下所示:

(1) 主服务器需要先设定好预设的cpu 利用率和内存利用率的具体阀值为90%。当集群服务器中存在处理服务器的阀值超过预设阀值时,相应处理服务器的分配概率 设定为0。

(2) 不同处理服务器需要在一个固定的周期之内同时向主服务器发送心跳包。

(3) 主服务器接收到处理服务器发送的心跳包后,需要及时对心跳包进行解析,获取处理服务的实时情况。

(4) 通过心跳包中所获取的处理服务器的实时情况判断其阀值是否超过预设值,若超过则将该处理服务器的任务分配概率 设定为 0,系统不会为它分配任务。

(5) 根据负载信息和性能信息,按照公式(2.2)计算各台处理服务器的任务分配概率  。

(6) 根据各台处理服务器的任务分配概率 ,进行合理的任务分发。

系统负载均衡实现流程图如图2-2所示。

 

图2-2系统负载均衡实现流程图


 

3 需求分析

本章节主要是根据机场集团公司财务管理的实际业务需求,对于基于面向服务架构的开发范型的机场仓储财务管理系统的功能进行需求分析,内容主要包括系统的总体需求分析、系统的业务流程梳理以及优化、功能需求分析以及非功能性需求分析四大部分。

3.1 业务流程梳理及分析

基于面向服务架构的开发范型的机场仓储财务管理系统的总体建设目标分为两大部分:(1)对于票据进行影像识别采集操作,以获得票据中的电子数据;(2)将所获得的电子数据相应的业务管理系统之中,以实现方便管理系统开展相应的业务活动。根据基于面向服务架构的开发范型的机场仓储财务管理系统的总体建设目标便可得出系统的业务流程如下:首先获取集团企业的发票票据并利用BPO扫描技术以及相关影像识别技术对纸质票据的内容进行票据图像的采集与处理,然后对处理完成的图像进行适当的压缩与图片切分,以提高图片识别的准确效率。完成图片的切分处理之后就可以对图片的影像进行数据识别,并将所获得的电子数据信息的类别进行票据归类,根据相应类别的预编财务凭证模板生成电子财务凭证并自动录入到存储电子票据的数据库中,以实现格式化的电子档案管理操作。紧接着利用XML技术将电子财务凭证格式化转换为凭证报文。最后利用Agent技术设计异构财务系统的中间件,以实现凭证报文在不同的业务系统进行相互通信的功能。系统业务流程图如图3-1所示。

 

图3-1系统业务流程图


3.2 功能需求分析

软件需求分析是软件工程在设计与实现过程中的一座比较重要的桥梁。一般而言,先是有软件需求分析工程师对软件系统业务需求以及具体的功能需求进行分析,然后根据分析的结果采用UML模式建立起不同领域所对应的用例模型 [21]。需求分析的目的主要是为了达到对系统的实际功能以及实际需求进行准确的把握,确保系统在未来的设计过程中不会偏离预期目标。本课题拟采用JavaEE技术研发一套基于面向服务架构的开发范型的机场仓储财务管理系统,以满足以企业对于财务票据的管理以及对异构财务系统之间数据信息的共享需求。系统功能用例图如图3-2所示。

 

图3-2系统功能用例图

3.2.1影像处理功能

机场仓储财务管理系统影像处理功能主要是由影像上传、影像处理、影像切片、影像识别四大子功能组成。影像上传子功能,该功能是通过计算机连接相关图像采集设备(扫描仪、高拍仪等),并将影像文件上传到影像管理目录。影像切片子功能主要是对电子图像按照系统模板进行切分处理,切除存在无价值数据的领域并留下关键数据信息,以提高影像处理子功能的工作效率。影像处理子功能则是对电子图像进行图像显示效果增强处理,以提高图像的识别准确率。影像识别子功能则是对切割、处理后的影像进行识别,并将识别后的信息按照系统模板组装成票据电子信息(JSON格式)。

3.2.2业务处理功能

机场仓储财务管理系统业务处理功能主要包括票据入库、票据归类、凭证录制和异常处理四大子功能。票据入库子功能主要是将影像识别结果的JSON数据转化存储到MYSQL数据库中。根据系统票据识别模板信息建立对应的字段入库模板以实现将JSON数据转化为MYSQL数据。票据归类子功能是对MYSQL中的票据数据按照用户所配置的业务规则进行业务归类。当业务归类完成后就可以根据业务类型匹配用户定义的凭证模板。凭证录入功能就是根据用户定义的凭证模板自动将票据信息转化为财务记账凭证并存储下来。异常处理子功能主要是负责对整个业务处理过程将监控,在发生异常情况的前提下可以及时地提醒系统管理人员或者前台用户及时对异常情况进行处理,以确保系统可以长时间稳定运行并且满足生成凭证的及时性。

3.2.3业务管理功能

机场仓储财务管理系统业务管理功能主要由优先级管理、任务管理、运行监控和参数管理四大子功能组成。优先级管理子功能主要是对系统现有运行的任务的优先级进行排序处理,以确保系统的业务流程可以实时地根据实际情况进行动态调整。任务管理子功能主要是负责制定好相应的任务内容,以完成相应的业务功能。运行监控子功能主要是对系统正在运行的任务进行监控,以避免突发情况的发生。参数管理子功能则是负责对系统运行过程中相关参数进行调整优化,切实地提高系统的业务处理效率。

3.2.4异构数据整合功能

一般而言大型的集团性企业旗下往往会拥有许多不同的子公司,而这些子公司所使用的财务系统也存在着差异。这些不同厂商生产的财务管理系统集合在一起也就形成了一个异构数据系统,这无疑给机场集团公司的财务管理造成麻烦。因此异构数据整合统计功能主要是利用XML技术将会计预处理操作之后的电子财务凭证格式化转换为凭证报文。利用Agent技术设计异构财务系统的中间件,以实现凭证报文在不同的业务系统的相互通信以打破不同财务管理系统之间的数据壁垒,实现在不同的异构系统之间财务数据信息的共享,确保机场集团公司财务总负责人可以及时地随时掌握各子公司的财务信息。

3.3 非功能性需求分析

基于面向服务架构的开发范型的机场仓储财务管理系统除了要满足以上的功能需求之外,也要满足以下几个方面的非功能性需求。系统的非功能需求,是指为实现用户的业务需求而开发的系统,除了要求满足功能性需求以外,还应该侧重于考虑系统的性能及质量等非功能需求。因为非功能需求的满足是实现功能性需求的基础前提。必须要制定严格的非功能需求定义,充分考虑系统的性能,安全性,可靠性,健壮性,扩展和兼容性等要求,提升用户在应用该系统功能时的用户体验,保障功能性需求的实现:

(1) 可靠性,机场仓储财务管理系统用户多、数据量大,同时对数据的实时的要求很高,因此对系统响应时间要求也高,因此系统在设计时,应该尽量满足600个用户同时进行访问查询,其成功率达到100%基本要求,并且系统响应时间可以使得95%的客户小于10秒钟。另外,系统在一分钟内处理的用户查询量必须达到400笔以上,其处理成功率达到100%,对于系统的CPU和硬盘使用率则低于70%以内。本系统借鉴模块化思想进行设计,使得系统具备较好的兼容性和使用寿命,更易于操作和维护。

(2) 易维护性,系统是基于B/S架构进行设计的,大部分业务逻辑处理都是在服务端进行的,浏览器端只需要显示服务器业务处理的结果。系统维护成本比较低。

(3) 容错性,系统在设计的时候,考虑到用户的操作输入可能多种多样,因此在程序里对添加了用户非法操作的检查功能。当用户输入非法操作时,系统可以进行温馨提醒并且引导用户进行正确的操作。使得用户不会因为不正确的操作而无法继续使用系统或者系统因为用户非法操作而直接崩溃。

(4) 专用性,对于基于面向服务架构的开发范型的机场仓储财务管理系统来说,该系统的使用范围仅仅只是限制于机场集团公司内部财务处理使用。因此系统的专用性比较强。

(5) 高效性,由于基于面向服务架构的开发范型的机场仓储财务管理系统的受众人群比较大,同时系统数据交互量也比较大,所以主要的技术难点是在如何保证系统时刻能够高效率运行,使得系统能够时刻快速响应用户的访问请求[23]。

(6) 扩展性,一个优秀的系统,它必须开放相应的功能模块接口。方便在未来业务增长时能够不断拓展新的功能,确保系统能够时刻适应时代发展的需求。

3.4 小结

本章节主要结合机场集团公司财务管理的特点,描述了基于面向服务架构的开发范型的机场仓储财务管理系统的功能需求及业务流程梳理。针对这些现状和用户的实际业务需求,形成相应的业务需求模型并抽象为逻辑模型。 

4 总体设计

上章得到了系统的总体功能与用例,它们是在系统需求分析的基础上得出的结论。本章对关键模块的设计思路与功能做了细致的分析,并通过对系统的架构和技术要点的分析得到了模块与此系统架构设计之间的关系。

4.1 设计原则

基于面向服务架构的开发范型的机场仓储财务管理系统设计的过程中遵循简洁高效、流程紧凑、功能完全、性能稳定、易于维护扩展、节约成本的基本原则。融合安全性强、操控性强的设计理念。采用分层的思想进行设计,应用层、网络接入虚拟平台层、软件平台层和底层平台层,每层各司其职。系统层次有个分明合理的划分对系统运行的维护和系统的实现都有益处。

系统整体设计思想对不同层次的应用的关键点在于展现样式的多样性、功能的可配置性及灵活的扩展性,功能的可配置性,做好以上条件必须遵循下列5条设计准则:

(1)面向对象的设计

产品各模块设计因为其核心应是构架在对象的基础上的,所以应采取面向对象的思想进行设计。具体做法是通过建立对象关系模型来实现对象之间的继承和重载等[24]。

   (2)面向服务的设计

产品的内核和接口应采用不同面向的设计方式,即在内核采用的设计面向对象,在外核采用的对象面向服务。服务接口本质上就是类接口的封装。

   (3)多层结构设计

产品模块的内核部分从下到上分别分为不同的层面,分层非常鲜明,而产品要把这些分层做好清晰的划分,可以根据模块特征恰当删掉部分,但是至少要把业务逻辑层、数据逻辑层与界面层分出,且要严格遵循分层结构设计的原则。   

   (4)松耦合、高内聚设计

要在考虑模块能否有效内聚一起的同时兼顾降低大模块的关联性与耦合性,减轻其依赖关系。  

   (5)效率优先设计

产品要特别重视效率,把其放在第一位。可以采用多种方法来提高效率,例如说各层通过缓存达到提高效率的目的,采取“空间换时间”的方法来达到提高效率的目的等等。

4.2 系统逻辑架构设计

在开发的过程中系统的技术框架主要采用目前流行的JavaEE框架进行开发,同时为了提高系统的整体数据的隐私安全性以及系统数据传输的可靠性,采用RSS加密算法针对系统的一些关键性数据进行加密传输。除此之外,系统的设计的过程中严格遵循RBAC(Role-Based Access Control)访问权限设计原则严格控制好不同角色之间的系统访问操作权限,确保系统在运行的过程中不同的用户角色之间所拥有的用户权限是不一样的,从而达到保护系统数据信息安全的根本目的。鉴于系统的数据内容比较庞大,因此需要提高站内数据搜索能力,鉴于此系统采用ElasticSearch搜索引擎。该搜索引擎是一个开源的站内精准全文搜索引擎,可以针对用户所提供的搜索关键字进行全文搜索,所得到的结果也比常见的模糊搜索要相对精确。从而达到为用户提供精准搜索的服务目的。除此之外,采用Nginx+Apache搭建集群服务器,配合Keepalived搭建 web集群服务器。除此之外,这种分布式主从服务器可以将故障点转移到备份服务器上,从而达到保障系统能够长久稳定运行的目的。

系统逻辑架构是根据分层思想设计为三层的。这三层分别是业务逻辑层、数据访问层与表现层。细分来说,业务逻辑层起到逻辑处理用户相关业务操作的作用。数据访问层起到读取访问系统数据库的作用。而表现层则起到解决用户跟系统二者之间的相互操作问题的作用。本课题所设计的基于面向服务架构的开发范型的机场仓储财务管理系统主要是采用基于MVC模式设计的高可配的JavaEE框架进行设计。它设计的时候充分采用了面向对象的思想,使得该框架在使用的时候无需再像Spring框架那样需要经过中间层复杂的配置整合之后才能够使用。JavaEE框架相比于Spring框架最主要的优势在于它将框架里的模型、控制器和视图进行分离。使得开发人员可以更加集中他们的精力去对系统功能业务上的定制实现,而不是拘泥于框架那冗余复杂的配置。JavaEE框架里最重要的部分就是Dispatcherservlet这个前端控制器,它主要将用户的相关请求进行转发,转发到系统相应的业务逻辑处理控制器上进行处理。框架的整体流程就是先是由用户在系统的前端界面对系统的操作发送相关请求,Dispatcherservlet这个框架的前端控制器收到用户的请求后调用框架的处映射器HandlerMapping根据用户请求的URL地址去寻找框架相对应的业务逻辑处理控制器;Controller,业务逻辑处理器对用户的相关请求进行处理。处理完成之后将处理的结果ModelAndView传给框架的视图解析器ViewReslover进行视图解析。视图解析完后传送给DispatcherServlet这个前端控制器进行视图渲染,并且将处理的结果呈现在浏览器的界面上。综上所述,一个系统如果使用JavaEE框架进行开发可以极大地减少框架直接繁琐又麻烦的配置手续,同时也方便系统后期的维护甚至二次拓展开发。基于面向服务架构的开发范型的机场仓储财务管理系统的逻辑架构图如图4-1所示。

 


图4-1 系统逻辑架构图

4.3 系统功能结构设计

系统基于面向服务架构的开发范型的机场仓储财务管理系统主要包括六大功能模块。系统的功能结构图如图4-2所示。

 

图4-2系统功能结构图


系统主要功能说明如下:

(1)影像处理:该功能模块会对图像进行影像处理、影像切片、影像识别等操作,以得到一份影像的电子信息。

(2)财务凭证生成模块:完成影像处理工作之后,系统将会对影像的电子信息格式化,并将数据内容传至票据规则配置引擎中进行规则转换以及场景的匹配。然后根据所匹配的凭证模板生成电子财务凭证。财务凭证生成流程图如图4-3所示。

 

图4-3 财务凭证生成流程图

该功能实现存在着以下两大技术难点:票据规则引擎对于所识别的票据数据内容进行规则转换以及场景的匹配;根据所匹配的凭证模板生成电子财务凭证。

本课题所设计机场仓储财务管理系统中的票据规则引擎规则转换功能主要是通过对所识别的票据数据内容进行逐层转换的模式达到预期的效果。具体分为三层:会计票种转换;票据类别转换;业务场景转换。

会计票种转换根据票据特点进行关键要素(抬头、联次、摘要、备注、收款人、付款人等)之间的逻辑关系设置。规则引擎根据管理员预设通用转换规则或者是用户自定义配置转换规则对票据录入信息、模板组等进行匹配得出会计票种。

票据类别转换根据票据内容特点(模板组信息、抬头、备注信息、摘要信息、收款人、付款人、企业名称等)、会计票种、企业信息部门性质、供应商信息等关键要素之间的逻辑关系。规则引擎根据管理员预设通用转换规则或者是用户自定义配置转换规则对转换出对应的科目类别。

业务场景转换主要是根据票据所属的会计票种与票据类别判断票据在用户实际业务中的业务场景,系统根据业务场景来匹配对应的凭证模板、会计分录,一个场景的票据信息对应一个凭证模板。

票据规则引擎转换功能类图下图4-4所示。

 

图4-4 票据规则引擎转换功能类图

完成票据数据内容进行规则转换以及场景的匹配之后,就可以根据所匹配的凭证模板生成电子财务凭证。本课题所设计机场仓储财务管理系统中的电子财务凭证生成功能主要分为以下六大步骤进行:电子财务凭证摘要取值;电子财务凭证科目取值;电子财务凭证金额取值;电子财务凭证辅助核算取值;电子财务凭证分录合并排序。电子财务凭证生成。

电子财务凭证摘要取值如图4-5所示。

 

图4-5 电子财务凭证摘要取值图

电子财务凭证科目取值如图4-6所示。

 

图4-5 电子财务凭证科目取值

电子财务凭证金额取值如图4-6所示。

 

图4-6 电子财务凭证金额取值

电子财务凭证辅助核算取值如图4-7所示。

 

图4-7 电子财务凭证辅助核算取值

完成电子财务凭证摘要配置、科目来源配置、金额配置、辅助核算配置等操作之后,还需要根据管理员预设通用规则或者是用户自定义配置规则对电子财务凭证进行分录合排序,才能生成电子财务凭证。值得注意的是,在生成电子财务凭证的过程中需要对基础资料是否异常进行判断。倘若存在着异常则主要对缺失的基础资料进行自同步处理。缺失的基础资料自同步流程图如图4-8所示。

 

图4-8 缺失的基础资料自同步流程图

凭证分录合并逻辑流程图如图4-10所示。

 

图4-10辅助账编辑功能流程图

(5)系统管理模块:该功能模块主要包括是由以下几大子功能模块组成:机场仓储财务管理系统组织机构管理;机场仓储财务管理系统用户管理;机场仓储财务管理系统角色管理;机场仓储财务管理系统权限管理模块。系统管理员在输入正确的用户名以及密码之后就可以登录到系统之中,并利用该功能对系统用户角色赋予不同的RBAC访问权限。以确保系统中的用户系统不同用户角色只能够操作其角色所拥有的功能,提高系统的数据安全性;

(6)异构数据整合模块:该功能模块主要是负责在机场集团公司旗下不同子公司的财务处理软件之间的数据共享功能。其实现原理主要是利用XML技术将会计预处理操作之后的电子财务凭证格式化转换为凭证报文。利用Agent技术设计异构财务系统的中间件,以实现凭证报文在不同的业务系统的相互通信,以满足企业旗下不同财务系统之间数据信息的共享需求。异构数据整合模块在机场仓储财务管理系统分层结构中的业务逻辑层的范围之内,其主要功能就是为不同财务管理系统的数据库建立与之相对应的字段映射字典,以便机场仓储财务管理系统可以利用字段映射字典对数据内容信息进行异步查询。异构数据整合模块的子功能模块架构图如图4-11所示。


 

图4-11异构数据整合模块

    异构数据整合模块详细功能说明如下:

    (1)信息Agent:异构数据整合模块中的每一个信息Agent都与一个集团企业旗下的一个公司的财务数据库像连接。使得集团总公司的机场仓储财务管理系统可以通过信息Agent对子公司的财务数据库中所存储的数据内容进行实时同步处理。由于Agent技术本身就拥有较高的实时同步能力,这也使得子公司的财务数据库中的数据发生更改时,信息Agent就可以及时将更改的内容同步到总公司的机场仓储财务管理系统的数据库中;息Agent还会接受来自总公司的机场仓储财务管理系统的数据操作请求,对子公司的财务数据库进行执行操作并返回操作结果给总公司的机场仓储财务管理系统。

(2)信息管理Agent:异构数据整合模块信息管理Agent主要是负责对异构数据整合模块中不同的信息Agent的交互行为进行管理。积极地接受来自异构数据整合模块不同的信息Agent所发送的数据信息,并对数据信息进行语义描述以及解决不同的语义冲突,进而利用XML技术生成相应的字段映射字典,以便为系统的数据映射查询操作提供数据基础。异构数据整合模块信息管理Agent还需要实时对与异构数据整合模块中分配Agent进行数据交互,实时地与其共享自己所生成的字段映射字典。

(3)分配Agent:异构数据整合模块分配Agent的主要功能是依据异构数据整合模块信息管理Agent生成的字段映射字典对于子公司财务数据库中的相关数据信息进行查询,并将查询的结果共享给异构数据整合模块转换Agent。

(4)转换 Agent:异构数据整合模块转换 Agent则是根据字段映射字典对异构数据整合模块的分配Agent共享的查询的结果进行解析与转换,并将转换完成的内容进行标准化处理之后送给异构数据整合模块的集成Agent。

(5)集成Agent:异构数据整合模块集成Agent主要是负责对异构数据整合模块转换 Agent所发送的内容进行XML转化处理之后发送给ERP系统。

4.4 系统网络拓扑设计

本文所设计的机场仓储财务管理系统的网络通信采用互联网OSI模型,利用TCP/IP协议进行数据传输。系统拓扑结构图如图4-12所示。

 


图4-12 系统网络拓扑结构图


4.5系统数据库设计

4.5.1数据库概念结构设计

数据是存储在数据库中的基本对象,在现实生活中可以用于描述事物的符号都可以称之为数据。这些数据中往往蕴藏着大量有价值的信息,而传统的数据处理方法仅仅只是简单地对数据进行加工处理,已经无法满足现代化社会对于数据信息价值的获取需求。因此,现阶段相关学者已经开始将现代化信息技术应用到数据存储中,针对数据信息的具体特性设计好合适的数据结构对数据进行存储。然后仅仅有数据以及数据库是远远不够的,还需要一个高效的数据库管理系统对数据库的信息进行管理。因此如果想要科学地存储与使用数据,就需要设计一个用于管理数据信息的数据库管理系统。数据库管理系统主要是处于用户与计算机操作系统之间的一个数据管理软件。它通过对数据信息进行合理性的处理,然后将相应的处理信息以一种可视化的方式反馈给用户。毫无疑问,数据库管理系统也是数据库系统的一部分。

在系统设计的初始阶段,对于用户操作行为进行收集,有着非常重要的意义,对于这些信息进行分析后,能够从中发现消费动机,进而有针对性的制定营销方案,提升销量。现在的数据库技术已经非常发达,能够胜任项目中各种技术需求。不过不能将数据库当成简单的数据储存工具,在选择上还有许多需要考量的地方。如果对数据库的设计缺乏周全的考虑往往会由于其结构上的问题而导致其在实际运行的过程中存在着诸多问题。因此系统的设计的过程中往往需要综合系统的实际业务需求进行数据库选型才能有效地保证数据库的稳定性。本文综合多方面的考虑最终在数据库的选择上确定MySQL作为系统的数据库,同时利用MongoDB存储票据识别结果作为票据池。

MongoDB是一种NoSql数据库实现,其是由C++编写的面向文档的非关系型数据库,是介于关系型数据库和非关系型数据库之间的数据库,具备搞性能、高可用、高可拓展、基于分布式存储的特点。这样我们可以将票据识别结果的JSON信息直接存储到MongoDB中,便于快速读取、使用。

MySQL是一款甲骨文公司生产的适用于公司和单位的关系型数据库管理系统,其核心功能包括数据存储、查询、数据分析、报表服务、同步等功能。而该数据库存储的数据类型也十分广泛,不仅仅有XML、Email、时间等常见的数据类型,还包括文件、文档、地理位置数据等其他数据类型。用户可以将任何他想要保存的数据存储到该数据库中,从客户端到服务端,从PC到手持设备。此外,MySQL也能够为用户提供安全可靠、扩展性良好的数据管理。机场集团公司可以将该数据库服务系统作为客户数据中心的集成方案,来管理客户相关数据和日常工作数据。这可以大大降低机场集团公司客户数据管理的难度和复杂度,同时机场集团公司也可以基于此数据库系统来开发其他相关的应用程序,进行网络化建设。MySQL 还支持简单的数据加密、外键管理、数据压缩、资源监控、性能数据采集等其他辅助性功能。它在不改动其他应用程序的前提下,对整个数据库内部的数据、日志进行加密,简单的数据库加密能够满足机场集团公司对安全方面和数据隐私的要求,同样支持模糊查询搜索加密的数据。除此之外,数据库的整体性能的高低也会影响到数据库是否能长期稳定使用。高性能的数据可以短时间内精准高效地采集数据,帮助工作人员提高工作效率,排除常见数据库故障。数据库压缩能够使数据库存储更加有效,还能够为大吞吐量的数据操作,提供性能支持。资源监控器可以帮助数据库管理员,基于对数据库性能的参考,对不同数据操作的资源进行分配和管理。Microsoft MySQL 2012比之前的版本更实用、更便利,并且拥有更高的可拓展性以及可伸缩性。考虑到文章篇幅的原因,本小节只罗列系统数据的局部ER图,如图4-13所示。

 

图4-13 系统数据库E-R图

4.5.2 数据库表结构设计

由于机场仓储财务管理系统中数据表众多,因此本小节仅仅只是罗列部分数据表结构。

    角色表(SM_SYSTEM_ROLE)存储所有角色的详细信息如表4-1所示,包括角色代码、角色名称等字段项。

表 4-1 角色表结构信息



序号

字段名称

说明

数据类型数据长

默认值

主键是否

为空

1ID主键VARCHAR(32)32YN

2CODE代码VARCHAR(20)20N

3NAME角色名称VARCHAR(50)50N

4STATUS状态DECIMAL(2)2N

5TYPE角色类型VARCHAR(10)10Y

6GRAD角色等级DECIMAL(2)10N

    

    用户表(SM_USER)存储所用用户的详细信息如表4-2所示,包括用户代码、姓名、用户类型、用户状态、创建时间等字段项。

表 4-2 用户表结构信息


字段名称

说明

数据类型数据

长度

默认值

是否

为空

1ID逻辑主键VARCHAR(32)32yn

2CODE用户代码VARCHAR(12)12n

3NAME姓名NUMBER(60)60n

4ORG_ID机构 IDVARCHAR(24)24n

5PASSWORD用户密码VARCHAR(60)60n

6TYPE类型CHAR(1)1'01'y

7STATUS状态DECIMAL20n

8CREATE_TIME创建时间TIMESTAMP10y

9LAST_PASS_C

HG_DATE删除人 iDDATE10y

10LOGIN_IP登录 IPVARCHAR(24)24y

11PROJECT_ID所在组代码VARCHAR(36)36y

12SEX性别DECIMAL2y

    

    批次表(BATCH)存储系统中所有导入的批次信息如表4-3所示,字段项包括代码、名称、状态、描述等。

表 4-3  批次表结构信息


字段名称

说明

数据类型数据

长度

默认值

主键是否

为空

1ID主键 IDVARCHAR32YN

2CODE代码VARCHAR100Y

3NAME名称VARCHAR100Y

4STATUS状态NUMBER4Y

5DESCRIPTION描述VARCHAR128Y

6FIELD_NUM字段数量NUMBER8Y

7IMAGE_NUM影像数量NUMBER8Y

8CREATOR操作员VARCHAR16Y

9FTIME结束时间TIMESTAMP26Y

10CTIME创建时间TIMESTAMP26Y

11BIZ_ID业务 idVARCHAR128

12PROJECT_ID项目 IDVARCHAR(32)32Y

13BIZ_DATE创建日期DATE10Y

14FILE_PATH文件地址VARCHAR128Y

15CREATE_TASK任务数DECIMAL8Y

16FINISH_TASK已完成任务数DECIMAL8Y

17SCAN_BATCH_ID扫描批次VARCHAR32Y

18EXPORT_EXCEPTION导出异常VARCHAR128Y

19PRIORITY优先级DECIMAL22Y

20TYPE类型VARCHAR12Y

21NOTE备注VARCHAR300Y

22EXPORT_TYPE导出类型VARCHAR12Y

23UPLOAD_TIME回传时间TIMESTAMP26Y

24EXPORT_THREAD_ID

X导出线程序号DECIMAL22Y

25BAR_CODE单据条码VARCHAR50Y

26THREAD_IDX线程序号DECIMAL4Y

27ASSIGN分派信息VARCHAR200Y

28CREATE_TASK回传时间DECIMAL32Y

    字段表(FIELD)存储系统中所有录入字段的信息如表4-4所示,字段项包括字段表的代码、名称、状态、描述、字段数量等。

表4-4 字段表结构信息


字段名称

说明

数据类型数据

长度

默认值

主键是否

为空

1ID主键 IDVARCHAR32YN

2CODE代码VARCHAR64Y

3NAME名称VARCHAR64Y

4STATUS状态DECIMAL4Y

5DESCRIPTION描述VARCHAR128Y

6IMAGE_BLOCK

_ID字段数量VARCHAR32Y

7INDEX_NO影像数量DECIMAL4Y

8VALUE操作员VARCHAR500Y

9BIZ_ID结束时间VARCHAR100Y

10VALUE1创建时间VARCHAR500Y

12VALUE2项目 IDVARCHAR500Y

13VALUE3创建日期VARCHAR500Y

14COMMENT_DE

S文件地址VARCHAR128Y

15EXCEPTION_TY

PE1影像 idVARCHAR40Y

16OPER1索引顺序VARCHAR12Y

17OPER2字段值VARCHAR12Y

18OPER3业务 IDVARCHAR12Y

19OPER_TIME1录入值 1TIMESTAMP26Y

20OPER_TIME2录入值 2TIMESTAMP26Y

21OPER_TIME3录入值 3TIMESTAMP26Y

22BIZ_DATE操作意见DATE10Y

23EXCEPTION_TY

PE21 异常VARCHAR40Y

24EXCEPTION_TY

PE3操作员 1VARCHAR40Y



影像表(IMAGE)存储系统中所有影像的信息如表4-5所示,数据表中包括影像代码、名称、状态、描述、操作员等字段项。


表4-5 影像表结构信息


字段名称

说明

数据类型数据

长度

默认值

主键是否

为空

1ID主键VARCHAR32YN

2CODE代码VARCHAR50NY

3NAME名称VARCHAR50NY

4STATUS状态DECIMAL4NY

5DESCRIPTION描述VARCHAR128NY

6OPERATOR操作员VARCHAR16NY

7FIELDNUM字段数DECIMAL3NY

8PATH文件路径VARCHAR192NY

9TYPE类型VARCHAR32NY

10BIZ_ID业务 idVARCHAR100NY

11INDEX_NO序号DECIMAL3NY

12BATCH_ID批次号VARCHAR100NY


13BIZ_DATE业务日期DATE10NY

14TASK_NUM任务数DECIMAL2NY

15PROJECT_ID项目 idVARCHAR32NY

16SCAN_BATCH_I

D扫描批次号VARCHAR32NY


17SCAN_INDEX_ NO扫描序号(0

开始)DECIMAL10

N

Y


18BLOCK_DEF_ID切块定义

ID(人工切块时用)VARCHAR36

N

Y


19PATH_OF_BAC K反面文件路

VARCHAR192

N

Y

20EXPORT_TYPE导出类型VARCHAR32NY

21CREATE_TIME创建时间TIMESTAMP26NY

22OCR_TYPE识别类型VARCHAR32NY


23EXPORT_THRE AD_IDX导出线程序

DECIMAL22

N

Y

24QUESTION_ID问题件VARCHAR36NY

25THREAD_IDX线程序号DECIMAL4NY

26ANGLE旋转度数DECIMAL3NY

27X偏移 xDECIMAL4NY

28Y偏移 yDECIMAL4NY

29W图像宽DECIMAL4NY

30H图像高DECIMAL4NY

31GON偏移度VARCHAR50NY


 

5系统实现

经过前面几章需求分析和设计。本章主要对基于面向服务架构的开发范型的机场仓储财务管理系统进行详细的功能设计,主要包括系统主要功能模块详细设计以及编码实现。

5.1 系统功能模块实现

5.1.1影像采集功能

该功能模块主要是想对纸质票据的内容进行电子图像化处理。由于机场仓储财务管理系统主要是基于B/S架构进行设计的,因此在本系统中对于采集设备的调用与控制主要是通过ActiveX 控件实现的。该控件可以作为一个浏览器的控件安装到浏览器中,并通过浏览器调用与计算机相连接的影像采集设备对影像进行采集。完成图像的采集之后该功能模块还会对图像进行影像处理、影像切片、影像重组等操作,以得到一份识别度较高的票据图像。影像采集功能类图如图5-1所示。


 

图5-1影像采集功能类图

5.1.2影像识别功能

该功能模块主要是将所获得的票据影像进行版面分析,匹配系统中的识别模板,根据识别模板对票据影像进行识别并将识别结果转化为JSON信息并最终保存到数据库中。影像识别功能类图如图5-2所示。

 

图5-2 影像识别功能类图

影像识别界面如图5-3所示,识别结果如图5-4所示。

 

图5-3 票据识别录入功能界面图

 

图5-4 票据池中的票据信息


5.1.3财务凭证自动录入功能

完成影像的采集之后,就可以根据不同管理系统的不同实际业务需求进行财务凭证录入。录入之前需要按照电子数据信息的类别进行票据归类、匹配业务场景,根据相应场景的预编财务凭证模板生成电子财务凭证并自动录入、存储到数据库中,在实现财务凭证自动录入的同时可以关联生成财务凭证的原始影像实现财务的电子档案管理。财务凭证录入功能类图如图5-5所示。


 

图5-5财务凭证录入功能类图


财务凭证自动录制结果如图5-6、5-7所示。


 

图5-6 企业端配置的凭证模板

 

图5-7 系统自动录制的财务凭证


5.1.3影像识别复核功能

该功能模块主要是对已经识别的数据内容进行校验。该功能模块主要是对已经录入的票据内容进行校验。检验主要的内容主要分为以下两大方面:(1)对录入的数据完整性进行校验;(2)对于对录入的数据准确性进行校验。财务凭证复核功能类图如图5-8所示。

 

图5-8财务凭证复核功能类图


该校验行为则是有系统与复核岗位人员共同完成。系统先是对录入的影像内容是否存在着异常以及其中甄别性数据内容是否已经正确识别进行检验。检验过程中当内容数据的异常比率超过预算阀值时,则将输入传输给复核岗位人员进行人工核对数据,以切实提高数据识别的准确性。财务凭证复核功能界面如图5-9所示。


 

图5-9影像识别复核功能界面

5.1.4系统管理功能

该功能模块主要包括是由以下几大子功能模块组成:(1)机场仓储财务管理系统组织机构管理;(2)机场仓储财务管理系统用户管理;(3)机场仓储财务管理系统角色管理;(4)机场仓储财务管理系统权限管理模块。系统管理员在输入正确的用户名以及密码之后就可以登录到系统之中,并利用该功能对系统用户角色赋予不同的RBAC访问权限。以确保系统中的用户系统不同用户角色只能够操作其角色所拥有的功能,提高系统的数据安全性。系统管理功能类图如图5-10所示。

 

图5-10 系统管理功能类图


5.1.5异构数据整合功能

由于集成的各个异构财务系统数据分属于不同的子公司,而且各个子公司的财务数据都是不定时被更新的,这样就要求集成中间件必须提供一种“实时”的查询服务。显然,这是通用的异构数据库系统集成中间件所不能满足的,如图5-10所示。为了解决这个问题,本文设计的异构财务系统集成中间件分为两个部分:各子公司财务数据库信息映射字典的生成和中间件系统查询的运行。这两个部分是异步的过程,也就是说财务数据库信息映射字典的生成和中间件系统查询的运行是两个并行的、独立的过程。财务数据库信息映射字典的生成可以在集团用户没有提交任何查询的情况下由各个信息Agent和信息管理Agent自动运行生成,而中间件系统的运行负责处理用户提交的财务查询并将查询结果返回给用户。

 

图5-11异构数据库系统示意图

子公司财务数据库信息映射字典的生成是异构财务系统集成的关键。由于用户提交的查询与后台各个子公司财务系统的表结构、字段、属性等不尽相同,这样就必须有一个从查询标准字段到数据库非标准字段的映射。因此该中间件系统生成的映射字典包含了各财务数据库的描述信息和用户查询财务表的标准字段到数据库财务表的非标准字段的映射。

 

图5-12异构数据信息映射字典的生成流程图

系统查询的运行过程是指集团用户在与本中间件交互的过程中,本中间件系统自身的活动过程,其主要功能就是为异构财务数据的共享使用提供服务。具体流程如下所示:

中间件系统给用户呈现出一个客户端查询页面,集团总部通过查询界面提交查询,当中间件系统接收到用户的查询条件后,将做以下的处理:

(1)使用HashTable收集用户的查询信息,然后传递给分配Agent;

(2)分配Agent参考信息管理Agent发送的XML格式的映射字典,确定用户查询的目的财务数据库,并获取财务数据库信息和各财务表中标准字段对应的非标准字段封装成XML凭证报文发送给转换Agent;

(3)转换Agent收到查询信息后,解析查询凭证报文,提取查询参数,组织成目的财务数据库能够识别的SQL查询语句发送给目的信息Agent;

(4)信息Agent接收的消息后,检验消息的合法性并抽取出SQL查询语句连接到相应财务数据库执行查询,然后将得到的DataSet查询结果封装成XML 格式的消息发送给转换Agent。

(5)转换Agent参考映射字典,将非标准的XML凭证报文转化为标准的XML凭证报文发送给集成Agent。

(6)集成Agent接收XML格式的结果凭证报文后封装为DataSet绑定客户端界面的显示。中间件系统中,映射字典,查询过程和结果凭证报文均采XML格式进行数据的交互。

 

图5-13异构数据中间件运行流程图

在多Agent分布式系统中,为了实现Agent之间的通讯,要求每一个Agent知道其它Agent的名称、通信地址、通讯端口、协作能力等。因此,在每个Agent中设计一个通讯模块,该模块负责所有与通讯有关的动作,同时该模块也是Agent间进行通讯的一个接口。通讯设计实现框架如图5-14所示。每个通讯模块包含信息表、消息缓存池和一个通讯服务管理器三部分。信息表用来记录Agent中的一些基本特性。信息表主要包括以下两部分:

1)静态信息表:存储Agent自身的静态信息;2)动态信息表:主要存储通讯状态下的其它Agent信息。在每个Agent启动与其他Agent通讯时,会将各种通讯状态信息登记到动态信息表中,并在退出时删除这些信息,以保持动态信息表的实时更新。消息缓存池:Agent用来存储发送和接收到的消息;通讯服务管理器:主要负责消息的封装和解析、消息同步传输控制,避免由于同步问题造成的因果错误。

 

图5-14异构数据系统通讯架构图

在具体设计通讯实现框架时,采用面向对象的软件设计思想。将信息表、消息缓存池、通讯服务管理器和其他各部分分别定义成类的形式;把发送的KQML消息封装成XML格式凭证报文,然后进行传输。在底层采用TCP/IP通讯协议和Socket通讯技术实现多Agent结点的通讯。Agent间实现相互通讯就要处理Agent通讯过程中的各种事务。在每个通讯模块中设置一个通讯服务管理器。通讯服务管理器作为消息通讯的枢纽,在系统中起着核心作用。通讯服务管理主要包括XML解析、Agent系统管理、Agent域名管理和消息传输过程管理。服务管理器结构如图5-15所示。

XML解析:完成消息的XML凭证报文的解析;Agent域名管理:解析和查询其他Agent的名称、通讯地址和通讯端口等信息;Agent系统管理:负责Agent内部其他模块间的协同操作;消息传输过程管理:主要完成通讯中服务监听与线程管理和消息发送与接收的传输控制,如消息传输同步控制,为其它Agent分配线程等。通过定义如下的类与方法来实现通讯服务管理器的功能。服务监听与线程管理是由run方法进行处理。方法doCommManage用于完成消息传输的同步控制管理。消息的XML格式封装和解析分别由CreateXml类中的doConverXml方法和parseXML方法实现。

 

图5-15异构数据服务管理器结构

系统中Agent之间要互相协作完成一个复杂的任务就要互相通信。为了让每个Agent都能理解通信的内容,作出相应的反应,就需要为它们定义共同的通信机制。这里选用KQML,它提供了一套标准的Agent通信原语,定义了一组Agent之间传递信息的标准语法和动作,而且KQML通信语言支持多种类型的消息通信,能够完成控制系统 中的一般信息交换、功能交互与知识共享。KQML分为三个层次:内容层、消息层和通讯层。Agent之间传递的消息是明确用言语行为理论加以类型化的,它们通过Inform、Requset、Offer、Accept、Re-fuse、Command等类型的消息来实现数据交互。

相关结构调用代码如下所示:

   (1)接口地址

    http://.../api/eai


   (2)入参

    http请求方式:POST

    content-type:application/xml


    报文:

<?xml version="1.0" encoding="utf-8" ?>

<ufinterface sender="" roottag="" proc="add"  receiver=" " version="">

    

</ufinterface>


    sender:注册码

    roottag:操作模块

    proc:操作类型:Add新增,Delete 删除,Edit更新,Query查询

    receiver: 接收的第3方应用 u8, eas,k3,nc

    version:第3方应用版本号


    (2)请求报文:


    新增、修改

    单表

<?xml version="1.0" encoding="utf-8" ?>

<ufinterface sender="100" roottag="pay" proc="Add" receiver="u8" version="5.7" >

    <pay id="">  //是Add时id是本地的业务单据ID,Edit是ID是第三方的业务ID

     <bizNo>123</bizNo>    //具体的每个属性

     <applyerNo>123</applyerNo>

         .

         .

         .

    </pay>

</ufinterface>


    主从表

<?xml version="1.0" encoding="utf-8" ?>

<ufinterface sender="100" roottag="pay" proc="Add" receiver="u8" version="5.7" >

    <pay id="">  //是Add时id是本地的业务单据ID,Edit是ID是第三方的业务ID

     <head>

<bizNo>123</bizNo>    //具体的每个属性

       <applyerNo>123</applyerNo>

         </head>

         <body>

           <entry>

<bizNo>123</bizNo>    //具体的每个属性

       <applyerNo>123</applyerNo>

</entry>

         </body>

    </pay>

</ufinterface>


    查询

<?xml version="1.0" encoding="utf-8" ?>

<ufinterface sender="100" roottag="pay" proc="Query" receiver="u8" version="5.7" >

<pay pageNum="1" >  //pageNum第几页,

   <name></name>  //查询条件

.

.

.

    </pay>

</ufinterface>


    删除

<?xml version="1.0" encoding="utf-8" ?>

<ufinterface sender="100" roottag="pay" proc="Delete" receiver="u8" version="5.7" >

<pay >    

<id></id>  //删除条件,

.

.

.

    </pay>

</ufinterface>



   (3)出参操作

{

success:true, 返回结果 true成功,false失败

code:200,    返回码

msg:"",  返回信息

data:    返回内容

}


    新增返回data是xml格式:

<?xml version="1.0" encoding="utf-8" ?>

<ufinterface sender="100" roottag="pay" proc="Add" receiver="u8" version="5.7" >

<pay id="账E捷业务单据ID1">第三方业务单据ID1</pay>

<pay id="账E捷业务单据ID2">第三方业务单据ID2</pay>

<pay id="账E捷业务单据ID3">第三方业务单据ID3</pay>

</ufinterface>


    查询返回data是XML格式:

<?xml version="1.0" encoding="utf-8" ?>

<ufinterface sender="100" roottag="pay" proc="Query" receiver="u8" version="5.7" >

<pay > 

<code>001</code>  

   <name>张三</name>  

</pay>

<pay > 

<code>002</code>  

   <name>李四</name>  

    </pay>

</ufinterface>

    其他返回data是空


   (4)返回码说明


返回码描述

200操作成功

400参数错误

404资源找不到

500内部错误

5.2数据库的实施与优化

根据数据库E-R图以及数据库表结构的内容,利用数据库设计工具 Power Designer直接将数据库结构转换成.sql文件。然后登陆系统后台的phpmyadmin数据库管理软件,导入打包完成的.sql数据库文件系统中即可。使用phpmyadmin数据库管理软件管理数据库,功能比较齐全,使用也比较顺手。系统使用界面图为图5-16所示。

 

图5-16数据库管理软件登录界面图

    机场集团公司的机场仓储财务管理系统往往需要同时处理大量的数据信息。而该平台的数据库作为基础服务,其主要的承载能力往往会影响到系统整体性能的发挥。因此需要对数据库进行功能性优化,以提高数据库的整体可用性。一般而言,数据库高可用性需要解决两个主要的问题,一个是数据库中数据共享的问题。主要完美的解决数据库中数据共享问题才能够提高数据库的整体可用性。另一个问题就是如何处理数据库中的服务器死机出错时确保系统能够稳定运行的问题。为了解决上述两个问题,业界内一般采用MySQL replication技术对数据库的数据主从复制进行处理。MySQL replication技术实则上就是一个日志复制的过程。在这个复制过程中需要由一台主要的服务器作为主服务器,该服务器主要是对主日志文件进行复制备份。然后存在着其他的服务器作为从服务器。从服务器直接从主服务器中读取数据库的二进制日志文件,然后通过文件日志解析技术将日志解析成SQL语句并且在自己的服务器上执行,从而确保了数据库数据的一致性。

MySQL Replication是MySQL自身提供的一个主从复制功能MySQL replication技术实则上就是一个日志复制的过程。在这个复制过程中需要由一台主要的服务器作为Master服务器,该服务器主要是对主日志文件进行复制备份。然后存在着其他的服务器作为Slave服务器。从服务器直接Slave主服务器中读取数据库的二进制日志文件,然后通过文件日志解析技术将日志解析成SQL语句并且在自己的服务器上执行。MySQL Replication支持链式复制,也就是说Slave服务器下还可以再链接Slave服务器,同时Slave服务器也可以充当Master服务器角色。这里需要注意的是,在MySQL主从复制中,所有表的更新必须在Master服务器上进行,Slave服务器仅能提供查询操作。

基于单向复制的MySQL Replication技术有如下优点:

    (1)增加了MySQL应用的健壮性,如果Master出现故障性问题时,可以直接切换到Slave服务器继续进行服务。

    (2)可以将MySQL读、写操作分离,写操作只在Master服务器完成,读操作可在多个Slave服务器上完成,由于Maste:服务器和Slave服务器是保持数据同步的,因此不会对前端业务系统产生影响。同时.通过读、写的分离,可以大大降低MySQL的运行负荷。

    (3)在网络环境较好,业务量不是很大的环境中,Slave服务器同步数据非常快,基本可以达到实时同步,并且,Slave服务器在同步过程中不会干扰Master服务器。

企业级MySQL集群存在着低成本高性能等优势。下面将介绍企业环境中经常应用的一个解决方案,即MySQL的双主互备架构,主要设计思路是通过MySQL Replication技术将两台MySQL Server互相将对方作为自己的Master,自己又同时作为对方的Slave来进行复制。这样就实现了高可用架构中的数据同步功能,同时,将采用Keepalived来实现MySQL的自动failover二在这种架构中,虽然两台MySQL Server互为主从,但同一时刻只有一台MySQL Server可读写,而另一台MySQL Server只能进行读操作,这样可保证数据的一致性。整个架构如图5-17所示。

 

图5-17双主互备模式架构图

    在图5-13中,DB I和DB2互为主从,这样就保证了两台MySQL的数据始终是同步的,同时在DBI和DB2上还需要安装高可用软件Keepalived。在正常情况下,Web Server主机仅从DB 1进行数据的读、写操作,DB2只负责从DB 1同步数据:而Keepalived维护着一个VIP,此IP用来对外提供连接服务,同时Keepalived还负责监控DB1和DB2上MySQL数据库的运行状态,当DB1主机出现故障或MySQL运行异常时,自动将VIP地址和MySQL服务切换到DB2上,此时Web Server主机继续从DB2进行数据的读、写操作。通过Keepalived保持了数据库服务的连续性,整个切换过程非常快,并且对前端Web Serve:主机是透明的。

在进行高可用配置之前,首先需要在DB1和DB2服务器上安装Keepalived软件,接着将keepalived.conf文件和check-slave.pl文件复制到DB2服务器上对应的位置,然后将keepalived.conf文件中priority值修改为90。由于配置的是不抢占模式,因此,还需要去掉opreernpt选项在完成所有配置后,分别在DB 1和DB2上启动keepalived服务,在正常情况下VIP地址应该运行在DB 1服务器上。

5.3 改进的PICK-KX算法的应用实践

基于面向服务架构的开发范型的机场仓储财务管理系统在设计之初主要是采用PICK-KX算法对用户的请求进行均衡处理。然而在实践的过程中存在着以下问题:(1) PICK-KX算法在请求接收时存在着接收能力有限的问题。因此在存在着大量用户请求的时候极其容易导致系统平均响应时间过长的情况出现。(2) PICK-KX算法所占用的系统资源比较大,使得系统往往会因为算法较大的资源开销而降低服务器的运行性能。图5-18展示了服务器集群架构。


 

图5-18服务器集群架构图


基于上述原因,本文将采用遗传算法对于PICK-KX算法进行改进。并且将改进的PICK-KX算法应用于机场仓储财务管理系统之中。为了能够更好地彰显改进的PICK-KX算法对于性能提高所起到的作用,下文通过将对系统在应用PICK-KX算法和改进的PICK-KX算法的平均延迟时间和系统吞吐量进行对比分析。

算法主要是应用在有四台PC 机组成的服务器集群环境中,1 台 PC 机充当主服务器节点,用以太网连接 3 台 PC 机作为后台服务器,每台 PC 机的配置参数如表5-1所示。


表5-1每台 PC 机的配置参数表

设备名称CPU 主频/GHZ内存容量/GB磁盘容量/GB

主服务器2.834500

票据资源服务器2.24500

数据库服务器2.662500

其他服务2.662500


应用过程中计算各台后台服务器的处理能力和当前负载的权值分别取[0.3,0.3,0.4]和[0.2,0.2,0.1,0.2,0.1,0.1,0.1]。选取异构数据整合行为作为改进的PICK-KX算法的应用请求行为,如图5-19所示。


 

图5-19异构数据整合界面图


通过不断增加用户请求数,测试用户请求的响应时间和传输的数据量,并记录每个用户请求的响应时间和所传输的数据量,测试网络拓扑图如图5-20所示。


 

图5-20测试网络拓扑图


(1) 平均响应时间

分别测试PICK-KX算法的平均响应时间和改进的PICK-KX算法响应时间, 实验过程中,我们分别建立 5 个、10 个、20 个、50 个、100 个线程同时向主服务器发送请求,并记录请求开始时间 start_time,当收到服务器响应时,记录响应时间 end_time,重复这个过程 3 次,计算平均响应时间,实验结果如图5-21所示。


 

图 5-21 两种算法平均响应时间对比图


从上述结果可以知道,当连接数较少时,两种算法的平均响应时间相差不大, 随着连接数的增加,改进的 PICK-KX算法的响应时间明显比PICK-KX算法要短, 连接数较大时,两种算法的平均响应时间差距明显增大,所以可以得出结论:改进的 PICK-KX算法在连接数较大时,能明显加快用户请求的响应。

(2) 系统吞吐量

分别测试PICK-KX算法和改进的PICK-KX算法在不同连接数下的吞吐量, 实验过程中,我们选择一个 1MB 的文件上传来测试系统的吞吐量,分别建立 5 个、10 个、20 个、50 个、100 个线程同时向主服务器发送文件上传请求,并记录文件上传开始时间 start_time 和文件上传结束的时间 end_time,通过文件大小除以上传结束时间与开始时间的差值得到系统吞吐量,实验结果中显示的吞吐量为所有线程的总吞吐量,如图5-22所示。


 

图 5-22 两种算法吞吐量对比图


从图5-22可以看出,当连接数较小时,两种算法的吞吐量相差不大,但是当连接数较大时,改进的 PICK-KX算法能明显提高系统的吞吐量。 

6、结论与展望

论文总结

近些年来随着计算机信息技术的飞速发展,软件程序在人们的日常生活中的应用也越来越广泛。目前许多行业都积极地对自身企业进行信息化建设,以取代传统的人工处理的模式提高工作效率。特别是在财务票据处理领域,随着公司交易行为的不断增加,公司的票据业务也呈比例递增,流程也越来越复杂,通过节省业务成本来提高工作效率显得尤为重要。除此之外,针对一些大型的集团企业,其自身的子公司所使用的财务管理系统所属的厂商和类型可能存在着一定的差异,这极大地提高了这些集团性的公司的财务监管难度。因此迫切地需要利用现代化信息技术解决了不同财务系统之间数据信息的共享的难题。

面对这样的现状,本课题拟定研究开发一个基于面向服务架构的开发范型的机场仓储财务管理系统,运用计算机技术和互联网技术,实现对财务票据从影像采集、影像处理到票据业务处理、异构数据整合的一系列操作的管理,切实地提高集团企业对于财务数据的处理能力,同时利用Agent技术设计好中间件以解决机场集团公司下不同财务系统之间的异构数据整合的难题。本文首先通过多方调研分析系统的背景及意义,确定研究内容和研究目标,然后对系统进行需求分析,并根据需求分析进行了总体设计、功能模块设计、系统UI设计和数据库设计等工作,接下来通过开发工具,对系统进行了详细的设计和功能实现,并推动系统上线运行。

本课题的创新点有四处。其一,系统中采用PICK-KX算法对用户的请求进行均衡处理,但PICK-KX算法在请求接收时存在着接收能力有限的问题,并且该算法在转发请求时存在着负载计算开销过大,缓存利用率不高,节点的负载抖动现象过于严重等问题,因此本文将采用遗传算法对于PICK-KX算法进行改进,并且将改进的PICK-KX算法应用于机场仓储财务管理系统之中。从两种算法的对比结果中得知,改进的 PICK-KX算法在连接数较大时,能明显加快用户请求的响应和提高系统的吞吐量。其二,利用Agent技术以及XML技术设计出异构财务系统集成中间件,以解决机场集团公司旗下不同财务系统的数据特点设计出与之相应的中间件,有效地解决了不同财务系统之间数据信息的共享的难题。其三,系统的设计的过程中严格遵循RBAC访问权限设计原则严格控制好不同角色之间的系统访问操作权限以提高系统数据信息的整体安全性。其四,针对财务系统与财务做账习惯设计出的凭证自动生成流程大大减少了企业财务工作量的同时还能支持企业的电子档案管理的需求。除此之外,采用Nginx+Apache搭建集群服务器,配合Keepalived搭建 Web集群服务器,这种分布式主从服务器可以将故障点转移到备份服务器上,从而达到保障系统能够长久稳定运行的目的。

展望

目前系统的功能还不是很完善,仍有进一步提高的空间。展望主要包括以下几点:

(1) 本系统的功能设计上仅仅只是实现了基本的商业级功能。因此在未来的时间里,可以根据时代发展的实际需求进一步拓展其主要功能,同时结合现代飞速发展的技术以及大数据技术,实现更为智能化的网络机场仓储财务管理系统。

(2) 本文利用遗传算法对PICK-KX算法的简单改进,就取得了不错的应用效果。因此在未来可以继续采用两种甚至两种以上的智能算法的优点对某种原始算法进行优化,以形成一种改进型的算法来提高算法解决问题的实际能力。这种做的优势既可以扬长避短,充分发挥各种智能算法的优点,同时也可以保证智能算法最终所获得的结果的整体质量。

(3) 基于面向服务架构的开发范型的机场仓储财务管理系统的整体安全性是一个比较重要的参考因素,系统的整体框架中进行已经采用了隐私性较高的JavaEE框架作为技术框架,与此同时也在设计的过程中严格地对用户的权限合理化设计,但是针对一些黑客常见的攻击手段,基于面向服务架构的开发范型的机场仓储财务管理系统并未做好优化,因此在未来很长一段时间里还需要采用Kail系统进行渗透测试,并且针对已知漏洞进行修复。 

参 考 文 献

[1] 梁诚杰. 基于OBIEE的财务分析系统设计与实现[D]. 复旦大学, 2018.

[2]邓蕾. 华民药业财务预算执行系统的设计与实现[D]. 山东大学, 2018.

[3]徐士伟. 基于BPPF的电信计费机场仓储财务管理系统的研究与实现[D]. 东南大学, 2017.

[4]杨峰. 财务票据处理系统的设计与实现[D]. 吉林大学, 2018.

[5]Parikh T, Ghosh K, Chavan A. Design studies for a financial management system for micro-credit groups in rural india[C]// Conference on Universal Usability. 2012.

[6]Ghosh K, Parikh T S, Chavan A L. Design considerations for a financial management system for rural, semi-literate users[C]// Extended Abstracts of the Conference on Human Factors in Computing Systems. 2003.

[7]Feng X L, Suo Z H, Wei Y T, et al. The Financial Management System Based on Android and SQLite[J]. Applied Mechanics & Materials, 2015, 462-463:4.

[8]Yan J F, Deng S K. Design and Implementation of Family Financial Management System Based on ExtJS and XML[J]. Computer & Modernization, 2017, 1(201):178-181.

[9]郑赢. 财务报表识别系统的设计与实现[D]. 吉林大学, 2017.

[10]张嘉珂. 电信详单预处理与分拣系统的设计与实现[D]. 电子科技大学, 2017.

[11]赵宝华, 阮文惠. 一个基于数据挖掘技术的高校财务预算系统设计与研制[J]. 微型电脑应用, 2018, 24(6):31-33.

[12]Chai H ,  Sun Q . Research on the Giant and Complex Financial Information System Engineering Management from the Perspective of Meta-synthesis Methodology—with the Bank Card Information Exchange System Engineering as a Sample[J]. Frontiers of Engineering Management, 2016, 3(4).

[13]Nie S ,  Li Y P ,  Liu J , et al. Risk management of energy system for identifying optimal power mix with financial-cost minimization and environmental-impact mitigation under uncertainty[J]. Energy Economics, 2017, 61:313-329.

[14]Celasun O ,  Denizer C ,  He D . Capital Flows, Macroeconomic Management, and the Financial System: Turkey, 1989-97[J]. Policy Research Working Paper, 2016.

[15]赵硕, 马明志, 王克生,等. 改进的ID3算法在高校收费预警系统中的应用与实现[J]. 齐齐哈尔大学学报(自然科学版), 2016(6):8-11.

[16]陶立, 王璐, 王慧敏,等. 企业财务危机预警指标预处理体系构建及检验[J]. 江苏商论, 2017(3):145-146.

[17]肖颖为. 数据挖掘技术在企业财务风险评估中的研究应用[D]. 杭州电子科技大学, 2018.

[18]何凯瑜. 基于企业纵向数据流的财务困境动态预测[D]. 浙江师范大学, 2017.

[19]蒲勇. 中国人寿业务系统与SAP ERP数据接口系统的设计与数据分析[D]. 电子科技大学, 2018.

[20]Huang Y . Design and Implementation of Financial Supervision and Management Information System[C]// International Conference on Smart City & Systems Engineering. IEEE, 2017.

[21]Georgiev D . Applying the Uniform System of Accounts for the Lodging Industry (USALI) for the Purposes of Financial and Management Accounting[J]. Social Science Electronic Publishing, 2017.

[22]Li Y . Design a management information system for financial risk control[J]. Cluster Computing, 2018(4):1-9.

[23]黄景文. 高校报账过程的流程重组[J]. 中国管理信息化, 2017, 10(10):54-56.

[24]孟庆书, 郭志丹. 会计电算化下高校财务年终冲转的预处理研究[J]. 会计之友(中旬刊), 2018(8):114-116.

[25]武迎春. 关于高校实施网上预约报账系统的思考[J]. 中国管理信息化, 2017(17):25-25.

[26]刘旭光, 李冠华, 王甦,等. 应用DTS设计器实现数据预处理工作的程序化设计分析[J]. 审计文汇, 2017(4):43-45.

[27]Wessels S B ,  Oatsvall R J . THE EFFECT OF VOLUNTARY USE OF AN ONLINE HOMEWORK MANAGEMENT SYSTEM ON COURSE GRADES IN FINANCIAL ACCOUNTING[J]. Social Science Electronic Publishing, 2017, 9.

[28]Fratto V ,  Sava M G ,  Krivacek G J . The Impact of an Online Homework Management System on Student Performance and Course Satisfaction in Introductory Financial Accounting[J]. International Journal of Information & Communication Technology Education, 2016, 12(3):76-87.

[29]Manco O ,  Botero O ,  Medina S . Risker: Platform Implementation of Complex System Model for Financial Risk Management in Energy Markets[J]. Procedia Computer Science, 2016, 83:1078-1083.

[30]邵华. 商业智能在财务系统中的应用[J]. 软件工程, 2018(4):17-20.

[31]聂增辉. 山东电信公司话单计费系统的设计与实现[D]. 山东大学, 2017.

[32]王海燕. 基于神经网络的企业信用评级系统的设计与实现[D]. 西安电子科技大学, 2018.

[33]王宇舟. 单片FPGA图像预处理系统的设计与实现[J]. 微型机与应用, 2017, 23(4):21-22.

[34]康汶, 陈文杰. iTV预处理系统的设计与实现[J]. 计算机与现代化, 2018(2):128-130.

[35]李光, 李其虎. 针对高清视频压缩的预处理系统设计与实现[J]. 电视技术, 2017, 37(15):22-24.

[36]Wessels S B ,  Oatsvall R J . THE EFFECT OF VOLUNTARY USE OF AN ONLINE HOMEWORK MANAGEMENT SYSTEM ON COURSE GRADES IN FINANCIAL ACCOUNTING[J]. Social Science Electronic Publishing, 2017, 9.

[37]Fratto V ,  Sava M G ,  Krivacek G J . The Impact of an Online Homework Management System on Student Performance and Course Satisfaction in Introductory Financial Accounting[J]. International Journal of Information & Communication Technology Education, 2016, 12(3):76-87.

[38]Manco O ,  Botero O ,  Medina S . Risker: Platform Implementation of Complex System Model for Financial Risk Management in Energy Markets[J]. Procedia Computer Science, 2016, 83:1078-1083.

[39]贺召卿, 刘畅, 白瑛,等. 基于FPGA的多模式SAR预处理系统设计与实现[J]. 电子器件, 2016, 29(1):256-259.

[40]廖晓闽, 张引发, 林初善,等. 光传送网告警预处理系统设计与实现[J]. 光通信技术, 2017, 34(10):11-14.

[41]俞燕燕. 创建风险导向审计决策支持系统的数据仓库[J]. 中国管理信息化, 2018, 11(20):60-62.

[42]吴舜, 唐静, 李美平,等. 海量电力财务指标的实时预测研究[J]. 电力信息与通信技术, 2016(4):57-60.

[43]Haryono K . The extreme programming approach for financial management system on local government[C]// International Conference on Science & Technology. IEEE, 2016.

[44]Bastani P ,  Abolhallaje M ,  Sadeghi A . EXPERTS’ ANALYSIS OF THE IMPROVEMENT SPACES OF THE FIRST PHASE OF REFORM IN HEALTH SYSTEM FINANCIAL MANAGEMENT: A QUALITATIVE STUDY[J]. Razi Journal of Medical Sciences, 2016.

[45]Pengwen, Xiao. Research on Listed Company Financial Management Mode Innovation Trend under the Registration System Background[J]. Science Electronic Publishing, 2016(3):80-83. 


推荐文章