工控网首页
>

应用设计

>

网络数码扩印系统影像传输方案的设计

网络数码扩印系统影像传输方案的设计

2006/5/19 9:54:00
关键词:数码扩印系统;消息应答机制;Winsock;多线程 中图分类号:TP393.093 文献标识码:A Design of Digital Images Transmission Scheme of Network Digital Photofinishing System ZHENG Gu-ping, SUN Lin-jun, HU Chao-ju, TIAN Zhi-gang (Computer Science Department, North China Electric Power University, Baoding 071003, China) Abstract: Digital images need to be transmitted via Internet in a digital photofinishing system. To ensure the reliability and veracity of transmission, a efficient solution scheme is presented by introducing to - and- fro mechanism of message combined with some security policies as user authentication, data encryption and re- transmission mechanism and it is implemented based on some technologies such as Winsock and multithread. Key words : digital photofinishing system; to - and - fro mechanism of message; socket; multithread 1 引言 随着宽带网络的普及和数码影像服务的迅猛发展,网络数码扩印业务开始受到广泛关注。在一些采用连锁加盟模式的数码扩印行业中,各个加盟店与总店分处不同的地域,为了缩短扩印周期,提高工作效率,就需要通过Internet将数码影像传输给总店实现扩印。使用E-mail和一些FTP客户端软件虽然可以实现远程文件传输,但存在安全性差,操作不方便,易丢失文件等缺点,不能满足数码扩印系统对影像文件的传输要求。在此基础上,论文就网络数码影像传输方案进行了一些有益的探索,保证了互联网上影像文件传输的高效率和高可靠性。 2 总体方案 数码影像传输子系统采用Client/Server结构,开发工具为VC++.NET。总体思路是利用MFC的CSocket类控制客户端(加盟店)与服务器端的安全连接。当连接建立后,在Winsock程序中使用多线程和MFC Winlnet类将影像文件传送到FTP服务器上。这种方式解决了仅用socket传送较大的文件时需分割文件的弊端,使程序编制更为灵活,提高了效率和软件的可靠性。总体结构如图1所示。
2.1 通信机制及安全策略 为了不使文件误传到冒名主机,并防止服务器上“脏”数据的出现,客户端和服务器端在进行文件传输前,首先应进行身份鉴别,确认对方的身份,而且,还应对敏感信息进行加密,保证即使第三方截获了信息也无法得到其内容。此外,为了防止非法用户入侵服务器,FTP密码需要经常更换。出于以上考虑,论文设计了一种基于Winsock的通信应答机制来控制连接。 下面以新订单的传送过程为例,详细说明该应答机制。 (1)首先,客户端与服务器端建立socket连接。服务器接着发出经过加密的消息“MSG-ASK- LEAGUE”,表示要求客户端发送注册信息,并等待应答; (2)客户端收到该消息后,调用解密模块得到消息内容,然后将“MSG-ANSWER-LEAGUE”连同自己的身份信息加密发送; (3)服务器对解密后的身份信息进行验证。若通过验证,则将“MSG-FTP-PWD”及FTP服务器的密码一起加密传送;否则由服务器端关闭连接。 (4)客户端调用身份认证模块验证服务器的身份。若身份合法,发送加密后的消息“MSG-ASK- NEWORDER”,表示请求上传新订单。否则,客户端关闭连接。 (5)服务器若同意上传,则为客户建立存储订单信息及图像的文件夹,并将上传目录及“MSG- ANSWER-NEWORDER”一起发送。 (6)随后客户端发送“MSG-FTP-SENDING”开始文件传输过程。 (7)当服务器接收完成并将上传的订单信息成功保存到数据库后,向客户端发出“MSG-SAVE- OK"消息,结束此次传送。整个应答过程如图2所示。
2.2 重传机制 由于互联网网络连接不稳定,易导致文件中途传输失败,出现服务器端影像文件不全的现象。为此,系统引入了重传机制,对客户端上传程序进行错误控制处理,并根据程序返回的信息确定传送成功与否。若传送成功,则继续上传其它影像文件。在传送失败时,记录该文件信息,并将此信息追加到当天的日志文件中,供客户端维护查看。在下次连接时,客户端程序会自动从断点处开始重新传送上次未传完的文件,从而解决了文件丢失问题。 3 具体设计与实现 3.1 客户端部分 3.1.1 多线程的使用 系统中,客户端先根据用户需求,对每个数码影像文件填写详细的扩印单,包括扩印尺寸及数量、相应模板、规格、是否具有特色服务等,并将这些扩印信息以一定格式保存在文本文件中,将其连同数码影像文件上传至服务器中同一客户文件夹中。由于文件传输量大,互联网传输速率较低,为了不妨碍用户界面上的操作和显示,客户端创建线程CFtpThread和CFtpContinueThread分别完成文件传送和续传,实现多任务并行。 3.1.2 流程描述 为了清楚地描述客户端的工作流程,采用图3加以说明。其中状态转移的前缀C表示客户端,S表示服务器端。
图中各状态描述如下: S0:客户端处于未连接状态 S1:客户端发送身份信息请求连接,等待服务器的回答 S2:客户端收到服务器的应答信息,以及FTP服务器密码 S3:连接请求失败 S4:客户端成功验证服务器身份 S5:客户端连接FTP S6:客户端发送查询请求 S7:客户端成功登陆FTP服务器 S8:客户端等待服务器回应上传新订单请求 S8:客户端得到上传允许 S9:客户端上传影像文件 S10:客户端传送完毕 S11:连接关闭 3.2 服务器部分 对于客户端来说,只需管理一个连接套接字,而服务器端需要并行处理多个客户端的连接请求,接收所连接的各个客户端发来的消息,并向相应客户端发送应答消息。为此,服务器端应用程序中使用两个套接字类CListenSoeket和CClientSocket分别用于管理监听和管理连接,并采用链表的形式来管理多个CClientsocket连接套接字对象。一旦检测到有客户端连接,即为每个客户端分别建立一个 Socket并加入链表,以此来避免通信混乱。 服务器端在收到数据包后,根据当前的网络状态及接收的消息类型,用Switch语句分别作出不同的处理。 Switch(m-CurState)//m-CurState为当前网络状态 {case Net-Only-Linked: //服务器端收到的消息类型为MSG-ANSWER-LEAGUE,则对用户信息进行认证。否则返回错误,并由服务器关闭连接。 If(m-pDoc->CheckLeague(pCMsg,theleague))//如果通过身份验证,则加密发送消息MSG-FTP-PWD及FTP密码 {m-NetPass.SetUserPWD(pSMsg,sizeof(TNetMsg));//用加盟店注册密码加密 m-NetPass.SetCommPWD(pSMsg);//用公共密码再次加密 SendMsg(pSMsg);} else{Delthis();//关闭连接} break; case NET-SENT-FTPPWD://收到的消息类型如果不是MSG-FTP-PWDOK,则关闭连接 break; case NET-FTP-LINKEDOK: switch(pCMsg->mask) {case MSG-ASK-NEWORDER://客户端请求发送新订单 if(!m-pDb){return;}//不能打开数据库 CreateDirLeague(m-CurOrder);//创建接收目录 SaveOrderToDb(szCurOrder);//向数据库保存订单信息 SendMsg(pSMsg);//发送MSG-ANSWER-NEWORDER及上传目录信息 break; case MSG-ASK-ORDER://查询订单扩印情况 SendMsg(pSMsg);//发送MSG-ANSWER-ORDER及查询结果 } } 4 结束语 论文详细讨论了网络数码扩印系统影像传输方案的思想及具体设计,通过客户端和服务器端事先约定的通信机制及Winsock、多线程技术,实现了互联网上影像传输的安全性和可靠性。系统在客户端界面设计上参照微软的Outlook,界面友好,操作方便。该系统已在某国企投入使用,效果良好。 参考文献 [1]林峰,周正利.基于多线程C/S模型的财经网络传输系统设计[J].计算机工程与应用,2003,39(8):184~186. [2]Anthony Jones.Windows网络编程技术[M].北京:机械工业出版社,2002. [3]万跃华,胥芳,张宪.Visual C++.NET网络编程[M].北京:科学出版社.2002.
投诉建议

提交

查看更多评论
其他资讯

查看更多

助力企业恢复“战斗状态”:MyMRO我的万物集·固安捷升级开工场景方案

车规MOSFET技术确保功率开关管的可靠性和强电流处理能力

未来十年, 化工企业应如何提高资源效率及减少运营中的碳足迹?

2023年制造业“开门红”,抢滩大湾区市场锁定DMP工博会

2023钢铁展洽会4月全新起航 将在日照触发更多商机