您的当前位置:首页正文

天然气计量远程传输监控系统设计与实现

2023-08-21 来源:步旅网
COMPUTING SECURITY TECHNIQUES 及时的获取最新的数据,现场的安装图片如图5所示。 通过对以上站点的安装.确定了快速安装底座的设计的 济上节约了生产成本。 计算机安全技术 参考文献 [I1张培仁,孙力,基于c语言C8051F系列微控制器的原理 与应用.北京:清华大学出版社,2007. 成功,在长期使用的90天左右,电池电量没有下降,设备能 正常地工作,说明了采集设备系统能够适应现有的各种情况. 适合现实际情况。 f21李强,译.c#大学教程.北京:清华大学出版社,2004. [3】(美)Jeffrey Richter.CLR via c#.周靖,译.3版.北京: 清华大学出版社.2010. f4】(美)Thomas E.Kissel1.太阳能利用技术及工程应用.朱 永强,尹忠东,等,译.北京:机械工业出版社,2014. 『5冀常鹏.AVR单片机GSM/51GPRS应用技术.北京:国防 工业出版社。201I. .5结语 通过对计量无线远传的使用。明显改善计量方面存在的 漏洞,建立流量无线远传系统,避免的原始人工采集数据所 带来的不利因素,保证了数据的准确性与实时性,为后期的 数据统计分析带来了便利。采用太阳能电池模块改变了电池 更换的频率,加长了设备维护的维护周期,从而在人力与经 .址.址J L— L s止 .S止 IL.址 .S止 .j屯 (上接第107页) (2)浏览器获取到随机序列之后,再一次访问CGI程序时, lasttime); char temp ”delete from sessiontable where(strftime ( %s ,,now )-lasttime)>”; sprintf(sqldel,”%s%ld”,temp,DAYSUM); 将随机序列发送给Web服务器,通过参数的方式传递给CGI。 (3)服务器收到用户的访问首先获取随机序列,到数据库 中查找是否存在此随机序列,如果不存在表示Session无效提示 需要登录:否则检查最后一次访问时间和当前时间计算出时间间 隔,判断是否超出了规定的时间,如果超出表示Session过期,需 要重新登录验证,如果没有则更新访问时间,并执行CGI程序。 sql【0】=Sesslnfo.StrSQL;sql【1】=sqldel; int ret=Sqlite3ExecTrans(sql,sizeof(sq1)/sizeof(sql[o1)); (3)使用随机序列实现Session的功能。用户访问时首先 取得传递过来的随机序列,根据随机序列从数据库中获取用 户名称、用户类型、上次访问时间等信息,根据现在时间和 数据库中取到上次访问时间计算Session是否超期。以下为实 现此功能的核心代码。 if(SQLITE_OK!=sqlite3_prepare_v2(db,sql,strlen 4 Session实现 保存的Session数据和时间是实现的基本信息,Session实 现的关键数据结构如下: typedef struct Sessionlnfo{ (sq1),&stutr,0)) { gotoEXIT; char StrSQL; char Usertype[TYPELENGTH】; char Usemame[NAMELENGTH】; long LastTime; } ,/获取session是否还在 time tlasttimenew=Geffime 0: if(1asttimenew>=lasttime&&lfag【l】=1; else }Sessionlnfo; Session的实现大致可以分为3个部分: (difftime(1asttimenew, (1)随机序列的产生。用户首次登录成功时,需要产生 一lasttime)/6O、<(SESSIONVALIDTIME))//session exists 个45长度的随机序列,表示用户该次是唯一标识。实现过 程首先获取当前时间,根据当前时间作为随机种子,接下来 循环产生45位随机序列。具体实现的核心代码如下 structtimeval tv; lfag[1】=O; 5结语 分析了Session在Web中的应用,同时也分析了在嵌入式 环境下需要Session的必要性,分析了使用CGI来实现Session 的过程。使用随机序列表示用户的访问唯一标识,使用 SQLite数据库记录随机序列、时间和用户数据。说明了Ses— sion的实现过程,解决了当前嵌人式Web应用Session的主要 问题具有很高的实用价值。 gettimeofday(&tv,NULL); srand(tv.tv—sec tv.tv_usec 100000); for(i=0;i<SESS—ID LEN;i++) sess_id[i】=table[rand 0%60】; ; sess_id【SESS_ID_LEN]= (2)返回客户端浏览器、写人数据库。随机序列产生完 毕后需要将它返回到客户端浏览器.以便再次访问页面时提 交;同时还需要将随机序列写人到数据库中.以备用户CGI 访问时随时更新时间、对比上次访问时间等。以下是实现此 功能的核心代码: timet lasttime; _参考文献 …I 周若谷,李宗伯.嵌入式环境下CGI程序的Session实现 方案.电脑知识与技术,2008,2(io). [2】刘辉,刘毅敏.嵌入式Web服务器的研究与设计.数字 通信。201I. [3】靳晋.浅谈ASP与JSP.中国教育技术装备,201I. [4】韩红梅.智能无线视频监控系统服务器软件设计【D].太 原理工大学。2012. lasttime=time((time_t )0); spfinff(Sesslnfo.S ̄SQL,”insert into sessiontable(ses- sionid,username,usertype,lasttime) values(\t’%s\I.,\1.%s、”, \t.%s、”,%ld)”,sess id,Sesslnfo.Usemame,Sesslnfo.Usertype, 

因篇幅问题不能全部显示,请点此查看更多更全内容