当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:在分析了用户需求的基础上,结合.Net和Oracle9i数据库,开发了一种经济一体化的信息管理系统。该系统根据用户权限自动显示其权限内的工作内容,并伴有自动计算、查找、统计等功能。实际应用证明,该系统操作界面友好,用户操作简明快捷,系统运行稳定可以实现信息的实时查询和处理。

引言

近年来,随着油田采油厂生产规模的扩大和经济技术一体化工作的不断加深,数据的精细化管理要求越来越高。面对种类繁多的数据和报表,传统的人工加半自动化的管理方法,已经跟不上现代化信息管理的步伐。在这种油田信息化发展的大背景下,基于C/S架构,以.NET为开发平台,同时动态链接Oracle9i数据库的经济一体化信息管理系统应运而生。该系统可根据用户的权限,自动显示其权限内的工作内容,并伴有自动计算、查找、统计等功能。本文在分析了用户需求的基础上,给出了整个系统的设计与关键技术问题的解决方案。

1需求分析

由于油田下设单位众多,在生产管理上,有的单位还未建立统一实物消耗统计管理系统,数据采集方式多、来源广、差异大,不能形成系统的历史数据沉淀,没有形成完善的统计管理工作责任体系,因此,目前亟需一套管理系统来达到如下需求。

录入人员、审核人员和管理员登录时,系统会根据其所属单位及权限,自动显示其权限内需要录入、审核或查询的报表。

审核人员对录入人员录入的数据进行审核,以保证数据真实、可靠后,由后台发布平台自动计算生成管理报表供查询人员进行查阅,查询人员只能查看到自己权限下的管理报表。

后台管理人员可进行用户管理、下设单位关系的维护以及后台价格库的维护等后台操作。

根据对库存量和消耗量的统计,自动实现各级单位实物工作量的动态管理和便捷查询,能够及时了解各单位材料(燃料)的消耗、库存及下一步需求等情况,为物料管理提供参考。

2系统设计

针对客户需求和油田经济一体化管理系统的特点,本系统采用.NET多层架构技术,运用WinForm等开发工具,以Oracle9i数据库为基础来进行开发。

Microsoft.NET技术是最新的数据库应用开发工具,可以高效地开发可靠、稳定又安全的各类数据库应用程序。系统的客户端就是采用.NET开发平台中的WindowsForm(简称

winform)来创建应用程序的用户界面,并可以创建丰富的窗体和可视化空间,以达到界面美观、友好的效果。开发工具运用MicrosoftVisualStudio2008,并使用.NET支持的C#开发语言进行软件的开发,确保系统数据的实时性、稳定性、安全性。

油田的生产管理过程中有大量的数据需要同时、快速的进行存储和读取,后台数据库需要强大的Oracle9i数据库进行链接。Oracle9i由两个产品构成:一个是Oracle9i数据库,它集成了集群的功能;另一个是Oracle9i应用服务器,它集成了高速缓存融合的技术。这两个产品合起来,就能给企业提供一种高可伸缩性、高可靠性和高性能的应用。

经济一体化管理系统由录入系统、审核系统、查询和后台管理系统等分系统组成。图1所示是本系统的组成图。

经济一体化信息管理系统研究

图1  经济一体化管理系统构成

用户登录系统时,可以根据用户注册时所分配的权限分别进入录入系统、审核系统、查询系统和后台管理系统。

在录入系统,录入人员通过本系统可将数据录入其权限内的报表中。数据录入、修改完毕后,单击右下角的'保存”按钮,即可完成报表的录入或修改。已审核的报表,“保存”按钮为灰色,数据无法更改。

在审核系统,审核人员通过本系统审核其权限内的报表,在确保数据的可靠、完整后,单击右下角的“审核”按钮,即可完成报表的审核。已审核的报表,“审核”按钮为灰色,不可点击。

通过查询系统,用户可通过本系统查阅其权限内的所有报表。可查询的报表分为综合管理报表和条件查询报表。两种报表都可以通过选择月份进行跨月累计查询以及Excel导出功能,同时综合管理报表可以点击右键进行线状/柱状/饼状的图形分析,条件查询报表可通过点击下属单位进行多级追踪查询。

在后台管理系统,后台管理人员可通过本系统对整个系统进行后台维护。主要功能有数据发布、用户管理、下设单位关系维护、后台价格库维护、单井/炉维护等。其中,数据发布就是对程序控制执行存储过程生成管理报表;用户管理主要是增删用户或更改用户具体的工作内容和权限;下设单位关系维护是增删下设单位,以适应油田的长期发展;后台价格库维护就是定时对生产投入的物料价格进行实时更新,以实现量价分离的管理目标;单井/炉维护是增删井/炉以及对井/炉的属性进行修改。

3关键问题及解决方案

3.1.Net与Oracle的链接

.Net与Oracle数据库可以通过多种方法来实现链接,既可以通过使用ODBC或OLEDB标准接口对数据库进行链接,也可以通过.Net框架提供的专用接口System.Data.OracleClient.dll组件(ADO.Net组件)进行链接。这款组件是微软专门针对Oracle数据库开发而设计的,具有速度快、性能好的特点,是值得推荐使用的方式。

建立链接需要首先添加Sytem.Data.OracleClien命名空间,将System.Data.OracleClient.dll加入到项目中,接下来就可以创建和数据库的链接了。建立链接的主要代码如下:

添加命名空间:

usingSystem.Data.OracleClient;

创建和数据库的链接:

OracleConnectionconn=

NewOracleConnection("datasource=remotedb;UserId=scott;Password=scott;");

//其中remotedb为oracle客户端tnsnames.ora配置文件中的网络服务名

下面是新建一个对数据库操作的实例:

OracleCommandoraCmd=newOracleCommand("select*fromuser",conn);

OracleDataReaderoraRD=oraCmd.ExecuteReader();

//DataReader提供一种从数据库读取行的只进流的方式打开数据库链接:

try{

conn.Open();

if(odr.Read())

{…}

Conn.close();

catch

{…}

3.2多线程与委托的运用

后台管理系统的发布功能需要程序按一定顺序调用执行后台所有的存储过程,在此过程中需要执行数百个存储过程,并且每个存储过程涉及的数据量也非常大,因而可能会导致发布窗体经常出现假死状态。这是由于系统在进行大量运算时,为了避免主线程界面这种假死状态,需要使用另一个线程来控制。

多线程的应用可以使程序同时完成多个任务,可以让占用大量处理时间的任务定期将处理时间让给别的任务使用。因此,可以创建一个新的线程来执行发布功能,从而防止主线程界面假死。

在.Net中,可用如下代码来创建并启动一个新的线程:

ThreadRun_Pro_Two=newThread(newThreadStart(Run));Run_Pro_Two.IsBackground=true;

Run_Pro_Two.Start();

但是,在很多时候,新的线程中需要与UI进行交互,而在.Net中不允许直接这样做,因为Windows窗体基于本机Win32窗口,而Win32窗口从本质上而言是单元线程。STA模型意味着可以在任何线程上创建窗口,但窗口一旦创建后就不能切换线程,并且对它的所有函数调用都必须在其创建线程上发生。STA模型要求,从控件的非创建线程调用控件上的任何方法都必须被封送到(在其上执行)该控件的创建线程。基类Control为此目的提供了若干方法(Invoke、BeginInvoke和Endlnvoke)。

Invoke生成同步方法调用时,如果从另一个线程调用控件方法,则必须使用控件的一个Invoke方法来将调用封送到适当的线程。Invoke调用方法分为两步:第一步是定义与函数功能对应的委托;第二步是将参数以及函数名通过委托实例传递给Invoke。

调用方法如下:

privatedelegatevoidInvokeDelegate_2(inti,intj,Exceptione);

//定义一个函数的委托

privatevoidInvoke_Datagridview_2(inti,intj,Exceptione)//定义函数

}

在主线程中调用:

this.Invoke(newInvokeDelegate_2(Invoke_Datagridview_2),newobject[]{i_one,j_one,ex});

//i_one,j_one,ex为主线程中的变量

最后在主线程中,终止线程:

if(Run_Pro_Two.IsAlive)Run_Pro_Two.Abort();

通过应用多线程和委托方法可有效防止发布数据窗口假死的现象。

4结语

结合.Net和Oracle数据库开发的信息管理系统,操作界面友好,用户操作简明、快捷,系统运行稳定,并能够实现信息的实时查询和处理。目前,本文设计的系统已经投入运行,并取得了较好的经济社会效果。

20211018_616c5dbce0856__经济一体化信息管理系统研究

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭