曾庆鑫++高永平
摘要:在如今这样一个高速发展,科技发达,信息流通快速的社会中。人们的生活变得也越来越方便,交流也越来越紧密,而产生的数据也越来越多。因此对数据的统计、分析就变得至关重要了。尤其是对于一个企业来说,如何从大量的用户数据中快速提取到有用的信息是现在企业中最关心的问题之一。该文将以光伏能源租赁系统对数据统计与分析为例,来阐述如何从大量的用户数据中更快的统计出所需信息的方案。该系统是基于.NET框架并结合SQL Server为数据库下的管理系统,通过IC卡来采集用户使用太阳能的基本数据,并将这些数据存入到数据库中进行统计分析。实现以账户管理、IC卡绑定充值、权限分配等模块,以及营业厅布点的市场运行模式。形成了以充值功能和采集、贮存、管理、分析和描述用户使用太阳能情况的光伏能源租赁管理系统。而一个性能优越的管理系统离不开好的数据分析策略,该系统对不同类别的客户、卡、设备以及设备的用电量、发电量的数据进行统计,生成各类统计的图和表。采用存储过程,视图等方法优化统计过程,使系统的运行速度有效的提高。
关键词:数据统计;分布式数据共享;响应延迟;数据绑定;存储过称
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)04-0004-04
Statistics and Analysis Based on ADO.NET to Optimize
ZENG Qing-xin, GAO Yong-ping
Abstract: In today's society, such as high-speed development, advanced technology and fast information circulation. People's lives have become more and more convenient, more and more close communication. And the resulting data are more and more, so the data statistics, analysis becomes critical. Especially for an enterprise, how to extract from a large number of user data quickly to useful information is now one of the most concerned about the enterprise. In this paper, the energy leasing system for photovoltaic data statistics and analysis, for example, to illustrate how to quickly from a large number of user data in the statistical information needed program. The system is based on. NET framework and SQL Server database management system, through the IC card to collect the basic data of solar energy users, and these data into the database for statistical analysis. To achieve the account management, IC card binding recharge, permissions distribution and other modules, as well as operating room distribution point of the market operation mode. The formation of a recharge function and the collection, storage, management, analysis and description of the user to use solar energy situation of the photovoltaic energy rental management system. And a superior performance of the management system can not do without good data analysis strategy, the system of different types of customers, cards, equipment and equipment, electricity consumption, power generation data statistics, generate various types of statistical charts and tables, And uses the stored procedure, the view and so on the method optimization statistical process, causes the system the movement speed effectively to enhance.
Key words: data statistics, distributed data sharing, response delay, data binding, Storage process
人類对能源需求的不断增加,而可用的能源又越来越少。煤、石油等化石能源终有一天会使用完,所以,可再生能源的发展,是把握未来的最佳行动。发展可再生能源是大势所趋。而太阳能是可再生能源中重要的组成部分,以其储量的“无限性”、存在的普遍性、开发利用的清洁性以及逐渐显露出的经济性等优势,是被全球各个国家大力提倡发展使用的可再生能源之一。太阳能的开发利用不但能解决能源紧缺问题,而且是治理环境污染和温室效应等问题的有效途径。但对于单个家庭来说,购买太阳能设备所要发费的费用太高,以至于降低了人们想使用太阳能的意愿。我们根据这一现象,提出了租用太阳能设备给用户使用的方案。这一方案不但解决了一个家庭支付所有费用过高的问题,还使得太阳能设备资源能够更加合理的分配。
但是,在这一方案中对于设备的管理就存在了不可控性。为了解决这一问题,我们开发了这套太阳能租赁管理系统。并使用IC卡绑定设备的方法来管理设备,我们不但可以通过IC卡来检测设备状态,还可以通过IC卡的记录功能,将用户使用太阳能设备的情况存储下来。为企业的市场推广提供有力的数据支持。由于我们需要记录每天的用户数据,所以数据集合将会非常大,数据储存量也会非常的多。因此,一个好的管理方案就尤为重要了。在早期的统计方案中由于考虑的因素不全,对可能遇到的问题认识不是很清。所以导致了系统运行缓慢。所以本文会重点讲解系统统计的优化过程。
1 数据库设计
通过市场的调查,我们发现传统的租赁方案只是单一的对用户进行了管理统计,而大量的设备信息没有一个系统的统计方案。因此,我们对整个方案进行了分析,提出了构造三个对象以及建立了各对象间的关系模型来对进行管理。分别是用户,IC卡,太阳能设备这三个管理对象。并根据实际的操作和管理需要对它们建立了对应的关系模型。对三个管理对象进行逻辑分析,并进行了逻辑建模,一个用户可以拥有多张卡,每张卡只能绑定一台设备,从而使得一个用户可以使用多台太阳能设备。在数据库中,为了能够描述各个对象之间的这种逻辑关系,我们又建立用户-IC卡联系表、IC卡-设备联系表来表达三个对象的关系。再建立关系表用来记录用户消费数据以及用户的太阳能设备使用情况。由于考虑到分析的结果必须要准确、全面,所以采集到的数据也必须精准,再结合套餐充值的情况,记录太阳能设备的使用情况的数据必然会非常的多。综合以上所讲。数据库关联设计如图1所示。
2数据统计
2.1统计方案
通过上述对数据库设计的描述可以知道统计的主要数据有用户数,IC卡数,太阳能设备数,用户消费套餐情况以及太阳能设备的使用情况等。所以,我们设计了5个模块分别对这5个方面进行区域统计,先选中要统计的区域,再选择要统计对象的约束条件。再依次访问数据库统计相应地区的数据量,然后将该地区以及所对应的数据量绑定到统计图中,最后就是将统计图显示。统计流程图如图2所示。
2.2详细设计采用的主要技术
因为该系统是以windows为平台,基于.NET框架的管理系统,所以为了反映不同地区各种数据情况,以及对各地区市场规模的比较以及形势判断,我们分别采用了如下技术。
(1) 数据绑定技术。利用TreeView树视图控件绑定地区分级结构的地区数据信息,使得管理员能更加清晰地了解区域分布情况,更有利于对区域的选择统计,而基于TreeView控件的分层结点性质使得遍历各个子节点得到选中区域的集合操作更加快速和简单。
(2) 采用.NET框架提供的公共数据访问服务的ADO.NET类访问数据库。由于ADO.NET为创建分布式数据共享程序提供了大量的组件,并且ADO.NET数据访问模型既提供了保持连接的数据访问形式,又提供了松耦合的、以DataSet对象为操作目标的数据访问形式,使得利用ADO.NET下的Connection,Command,DataAdapter,DataSet等对象访问数据库更加容易。因此,将区域集合中的区域元素结合DataSet等对象将数据库中位于该区域的用户数,IC卡数,用户消费套餐情况和太阳能设备使用情况统计出来。
(3) Chart柱状图控件,以柱状图的形式将统计数据显示出来,使得各种数据的变化情况,对比情况,走势能更好的、更直观的表示。
3优化
3.1出现的问题
在我们对系统进行测试发现,系统响应延迟的问题很严重。以统计用户人数模块为例,在模拟统计我国比较发达的10个省及市共70个市50个用户数时,系统响应时间是40s,也就是说,如果将统计的地区扩大到全国655个市,那将要响应6min,再加上数据的增加,系统的相应时间还将增加。显然,这对于一个数据管理系统是致命的,而这个问题也急需解决。如图3显示了系统加载延迟的问题。
3.2問题分析
在统计方案中,可以了解到通过遍历树形图形成一个选中的区域集合来统计相应地区的用户数,IC卡数等统计信息。所以,我们从约束条件、数据访问、数据库这三方面去分析。
(1) 地区的约束条件。也就是将选中的统计地区形成一个集合所用的时间。
(2) 频繁的数据访问。因为频繁的对数据库进行访问,而且地区结点可能会有上百个,甚至是成千上万个,而如此大的集合元素依次对数据库进行访问从而导致了系统的反应时间大大的减慢了,再加上网络延迟,就使得系统响应时间就更长了。所以,从这分析可得,数据访问所用的时间正是导致系统严重延时的原因。
(3) 在数据库方面,由于用户信息表、用户套餐消费表、卡信息表、设备信息表之间都有一定的关联,所以导致SQL查询语句十分复杂,使得执行起来也就变为缓慢了。
3.3解决问题的思路
通过调查,发现很多优化都是从数据库入手,尽量将表建立的更合理。使得能很好地完成对数据的访问。但是经过测试发现,上述问题分析中的第一个因素影响还是较小的,主要还是后两个因素,且这两个因素对统计的影响都是比较严重的。所以,解决问题的思路主要是两点:
优化数据库。对数据库进行分析,发现在统计数据时有很多数据项是相同的,这就使得在数据库中就能将它们合并。并将各个表中所需的数据合并成一个视图,在创建相应的返回数据的存储过程。
减少数据的访问量。可以改进对访问数据库的方式,让一次访问数据库所获得的数据更加合理。这样就能尽量减少对数据库的访问次数,减少访问周期和网络延时,使得系统反应时间大大减小。
3.4优化方案
优化方案是对上面提到的解决问题思路的一个具体的实现过程,所以优化方案还是从上面讲到的两个方面来去具体实施:
3.4.1数据库的具体优化
3.4.1.1采用的主要技术
创建视图。因为我们在统计的时候并不需要所有的属性信息。因此,我们为每个在统计时会涉及的表建立一张视图,视图中的数据可以来这一张表也可以来自多张表,这取决于在统计时需要统计的因素。而视图是一张虚表它并不是以数据值存储集形式存在,它的内容是由查询定义的,并且视图中的数据是在应用视图时动态生成。所以,视图的作用就类似于筛选,从而达到了将数据表中重叠的数据进行叠加的作用。而视图也是一种安全机制,使得视图关联的基础表更安全。
3.4.1.2具体样例
以对统计用户数为例。在用户信息表上建立一张用户信息视图,将其中的用户名、用户ID和以管理员信息和用户地址信息进行聚合形成视图。从而将50条的数据聚合为10几条的视图数据。如图4显示创建的视图
3.4.2数据访问的具体优化
3.4.2.1采用的主要技术
DataSet访问技术。因为DataSet是一种可以看作为驻留在客户端的小型数据库,与特定的数据库无关,让对数据的操作更方便。我们利用DataSet对象将视图中的数据一次性全部取出来,再在系统内部进行统计,使得访问数据库的次数大大降低,从而有效地提升了系统的响应速度,但根据之前说的将全部数据一次性取出又会带来执行效率的降低。所以有如下第二个优化技术。
创建存储过程,优化系统对数据库访问的语句。因为在执行对数据库的查询语句时是逐条进行查询的,所以有比较复杂的Transact-SQL程序时网络上会产生大量的流量,在网速不好的情形下就会严重影响系统的响应速度。因此,储存过程就成为又一个解决问题的关键。采用存储过程将提取视图的SQL语句在创建时就对其进行编译、分析,优化后存储到服务器中,这样光伏能源租赁系统需要提取视图数据的应用程序时就可以直接调用内存中的代码执行。这样就有效地减少了网络流量,使得执行效率更高。如图5显示了优化的效果。
3.4.2.2具体样例
在对统计用户数据时,用DataSet访问技术、存储过程一次性的将视图数据返回给系统以数组的方式存储下来。因为在客户端上对数据进行统计是要比不断访问数据库进行统计的速度快得多的,从而达到“空间”换“时间”的效果,加快了统计速度。最后,将原来的40s的响应时间降低到1s以内,从而使得系统统计效率有效地提高了。如图5展示了效果图。
4 结束语
在大数据时代的背景下,是需要具有更强的流程优化能力去分析和统计海量、多样性的信息数据。本文讲述了如何去实现数据的高效统计和流程的有效优化,充分发挥了数据的价值。也为企业的数据统计和分析提供了一个好的思路。
参考文献:
[1] 毛亮. 我国发展太阳能光伏发电的必要性及技术分析[J].科技传播,2011(20).
[2] 孟小峰,周龙骧,王珊. 数据库技术发展趋势[J].软件学报,2004(12).
[3]乔梅.基于粗糙集和數据库技术的知识发现与推理方法研究[J].天津大学,2005.
[4] 江凌,杨平利,杨梅,袁媛. 基于ADO.NET技术访问SQL Server数据库的编程实现[J].现代电子技术,2014(8).
[5]张建成,李春青. 基于.NET环境下ADO.NET访问数据库技术的研究[J].电脑知识与技术,2009(22).
[6]李芬,陈正洪,何明琼,等.太阳能光伏发电的 现状及前景[J].水电能源科学,2011,29(12):188-192.
[7]高永平,易万程,张军.分布式国防动员对象系统的研究与开发[J].科技广场,2005(10):106-108.
[8]Gao Yongping.Design and Implementation of multiple linked lists sharing the same memory[J]. Advaned Materials Research,2013(1):1936-1940.
[9]闫旭,浅谈SQL Server数据库的特点和基本功能[J].价值工程,2012(22).
[10]王爱平,王占凤,陶嗣干,燕飞飞.数据挖掘中常用关联规则挖掘算法[J].计算机技术与发展, 2010,20(4):105-108.