多站点水情信息编码并发传输模式_第1页
多站点水情信息编码并发传输模式_第2页
多站点水情信息编码并发传输模式_第3页
多站点水情信息编码并发传输模式_第4页
多站点水情信息编码并发传输模式_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、多站点水情信息编码并发传输模式论文导读:文章重点从编码的传输提出了解决的方案,针对水情信息编码特有的及时性、完整性、并发性的需求特点,解决编码传输过程中面临的几个难题,实现并发传输性及传输校验,希望利用计算机技术能为国家水情信息发布、防洪抗洪等方面作出一定的奉献。关键词:语:水情信息编码,并发传输,网络协议,编码校验一水情信息编码标准的根本内容1 根本编码格式:水情信息编码应包括编码格式标识符、水情站码、观测时间码、水文要素标识符及与水文要素相对应的数值、结束符NN共六个局部由空格符分隔,不应缺漏。根本组成格式为:图1:水情信息编码根本格式1.1编码格式标识符应由格式码与水情信息编码分类码组成

2、,格式码A、B、C与10类水情信息编码分类码组合。2需要修正或删除已报送的信息时,采用A格式编报,应执行以下规定:2.1需要休整已报送的信息时,在原编码格式标识符前加符号R;,组成修正编码的编码格式标识符,其他局部的编码形式不变。2.2编报修正信息时,应列出原编码中与错误信息同类的全部内容2.3需要删除已保送的信息时,在原编码格式符前加符号D;,组成删除的编码格式标识符,再编列原编码中的全部内容,编码形式不变。2.4原编码中的水情站码和观测时间错误时,应编发删除编码,并同时编发正确的编码。2.5原编码中漏编某组信息时,修正编报执行本条第二款。2.6 B格式或C格式编码中出现错误信息时,与之相关

3、联的全部内容应单独采用A格式编发修正或删除编码,并按本条1-5款规定执行。3 A格式根本组成格式:图2:A格式A格式编码中,可编列多个水文要素的信息,编列同一观测时间的水情信息时,观测时间码可只编列一次。在同一编码中编报不同观测时间的水情信息时,可由时间引导符TT;引导后续观测时间。发表论文。采用A格式编报多个水情站时,可重复编写水情站码、观测时间、要素标识符和数据。4 B格式根本格式:图3:B格式5 C格式根本格式:图4: C格式6 编码的根本规那么6.1 水情信息编码分类码图5:水情信息编码分类码6.2 水情站码水情站码是水情站的唯一标识,由国家统一规定。6.3观测时间码观测时间码表示水文

4、要素值的发生时间。对于时段平均值或时段累计值,对应的观测时间为时段末的时间,对于旬、月平均值或累计值,以旬月终了后的次日8时作为观测时间。观测时间码应由月、日、时、分组成。6.4时间步长码时间步长码表示某组等时段水文数据之间的时间间隔。6.5要素标识符由主代码、副代码、时段码与属性码组成。主代码为水文要素类型码占1位。副代码对主代码作补充说明占1位;时段码为水文要素所涉及的时段长占13位;属性码为水文要素的属性标识符占1位。图6:要素分类及其类型码6.7数据编码数据编码应采用实际测量值或计算值,数据的单位和有效位数以水情信息编码标准规定为准。二实现水情信息编码并发传输的解决思路1 水情信息编码

5、传输的几个难点1.1由于水情信息编码对完整性、准确性和及时性要求较高,所以需要做到以下几点:2 采用效劳器/客户端模式解决水情中心站作为效劳器端,负责接收和转发水情信息代码。水情分站作为客户端,将收集到的水情信息传输给中心站。三 具体实现1 效劳器端处理水情信息编码的核心程序代码/全局类型声明typePClient = TClient;/指向该结构的一个指针TClient = record /构造一个结构,用来存储客户端传来的数据DNS :String; / 客户端IPConnected,/连接时间LastAction :TDateTime; /最后一次提交的时间Thread :Pointer

6、;/指向线程的指针end;/全局变量声明varFormMain:TFormMain;ParseThread: TTeleParse; /生成一个验证水情信息编码的对象Clients :TThreadList; /生成一个线程平安的 List类,保证并发执行时线程同步procedureTFormMain.FormCreate(Sender: TObject);varappDir:string;begin/主站配置文件tsinitSElement:=TinitSElement.Create(D:xxx水利局主程序codebase.ini);/验证水情信息编码ParseThread:=TTelePa

7、rse.Create(True);ParseThread.SElement:= tsinitSElement.SELement;/效劳器段验证appDir:=extractFilePath(application.exename);Clients :=TThreadList.Create;TeleList:=TStringList.Create;timer1.enabled:= true;end;/用一个timer对象来激活IdTCPServerprocedureTFormMain.Timer1Timer(Sender: TObject);begintimer1.enabled:= false

8、;ParseThread.Resume;IdTCPServer.Active :=true;end;procedureTFormMain.IdTCPServerDisconnect(AThread: TIdPeerThread);beginFreeIdPeerThread(AThread); /断开连接释放ipend;/效劳器端建立连接,并开启线程空间procedureTFormMain.IdTCPServerConnect(AThread: TIdPeerThread);varNewClient:PClient;beginGetMem(NewClient, SizeOf(TClient);

9、/ 分配一个动态内存空间NewClient.Connected := Now;NewClient.LastAction := NewClient.Connected;NewClient.Thread :=AThread;AThread.Data:=TObject(NewClient);tryfinallyClients.UnlockList; /解锁end;end;procedureTFormMain.FreeIdPeerThread(AThread: TIdPeerThread);varActClient:PClient;beginActClient :=PClient(AThread.Da

10、ta);tryfinallyClients.UnlockList;/解锁end;FreeMem(ActClient);AThread.Data:= nil;end;/效劳器端接收客户端的文件传送procedureTFormMain.IdTCPServerExecute(AThread: TIdPeerThread);varTeleText:string;RecClient: PClient;i:integer;strIP:string;RecThread: TIdPeerThread;begintryelsebeginwith Clients.LockList do/循环条件,对当前的客户端连

11、接线程进行操作tryfor i := 0 to Count-1 dobeginRecClient:=Items;if RecClient.DNS=strIP then / we dont have a login function so we haveto use the DNSbeginRecThread:=RecClient.Thread;end;end;finallyClients.UnlockList;/解锁end;if TeleText thenTeleList.Append(TeleText);end;exceptend;2水情信息编码校验2.1 构造一个循环链表对象,将输入、输出

12、的水情信息编码存入该循环链表对象,生成的水情信息编码循环链表示意如下: 2.2 校验说明 从头指针开始,按位依次读入各结点值进行校验,当指针值为NN时,校验结速。当某个结点校验到错误时,将指向该错误结点的指针记录下来,同时记录错误结点的错误值。发表论文。2.3 校验代码略3客户端程序代码略。四 结论由于最新水情信息编码刚刚出台,在这一领域待研究解决的问题也较多。文章重点从编码的传输提出了解决的方案,针对水情信息编码特有的及时性、完整性、并发性的需求特点,解决编码传输过程中面临的几个难题,实现并发传输性及传输校验,希望利用计算机技术能为国家水情信息发布、防洪抗洪等方面作出一定的奉献。参考文献:【1】水情信息编码标准 中华人民共和国水利部 2005【2】一种基于自动机分解的网络协议并行处理策略 计算机学报 张志斌 郭莉 2006年8期(14961504)【3】 基于C/S和B/S结构的办公工

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论