客户服务管理程序合集12篇

时间:2022-12-02 04:55:30

客户服务管理程序

客户服务管理程序篇1

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)04-0024-04

1 背景

随着互联网的快速发展,使用电脑通过Internet查询资料变得越来越普遍。有些单位和部门,为了安全,员工的电脑不能直接上网。单位内部建立了大局域网,部署了各种网站、文件服务器等,查询资料等可以通过内部局域网来获取。如果还不能获取想要的资料,可以申请到专门可以上网的电脑上去查询资料。但这种查询资料方式,总是不大方便。

随着云计算技术的快速发展,虚拟桌面作为云计算的一种重要应用获得了空前的发展。桌面虚拟化通过虚拟化技术和云计算技术的结合,采用集中管理,集中控制,定制显示的核心思想,将用户的桌面环境和用户的计算环境进行分离。从用户角度来看,用户可以通过虚拟桌面客户端远程连接使用个性化定制的虚拟桌面环境。从企业角度来看,通过数据中心把用户的虚拟资源进行集中化的管理,可以大大减少管理成本和人力成本。

有安全需求的单位,将安全办公电脑和虚拟桌面想结合,设计一种安全虚拟桌面,既能满足安全办公的要求,又能通过网络查询资料。数据文件只能从虚拟桌面传输到办公电脑,办公电脑上的数据不能传输到虚拟桌面,有效保证数据文件的安全性和隐私性。本文主要介绍在某单位部署实施的安全虚拟桌面的设计与实现。

2 安全虚拟桌面平台设计

安全虚拟桌面平台软件的系统设计主要包括:网管系统CLOUD-NMS(CLOUDCNetwork Management System)、服务器端程序CLOUD-SERVER、客户端程序CLOUD-CLIENT、虚拟机程序CLOUD-AGENT。这几个系统/模块之间的用户认证、数据传输、屏幕传输的关系及架构如下图所示:

1)网管系统统一管理用户帐户、集中控制虚拟机

管理员通过网管系统为每个用户创建一个云账户,一个或多个虚拟机。管理员或登录用户可以查询、设置用户帐户信息,可以查询、控制虚拟机操作。对虚拟机的控制指令将发送到服务器端程序,由后者完成具体的操作。

2)服务器端程序完成具体的虚拟机的创建、运行、控制等

服务器端接收网管系统或客户端程序发来的对虚拟机操作指令,解析指令后,完成具体的操作,包括虚拟机的创建、虚拟机的运行、虚拟机的控制等。

3)客户端程序连接登录运行于服务器上的虚拟机

用户在客户端程序输入用户名和密码,客户端程序连接网管系统进行用户身份认证;验证通过后连接网管系统获取用户虚拟机信息;获取虚拟机连接协议、端口、运行状态等;最后客户端程序连接登录运行于服务器上的虚拟机。

4)虚拟机程序监控虚拟机运行

虚拟机启动运行后,虚拟机服务程序连接网管系统进行身份验证;然后根据网管系统配置信息修改机器名、设置网络、定时采集虚拟机运行状态数据等。

3 网管系统

网管系统是安全虚拟桌面的核心和中心控制枢纽。一个企事业单位或学校,只需要一个网管系统,管理整个单位所有的服务器、客户端电脑、云终端。也可以设置多个网管系统,形成多个私有云,组成分布式虚拟桌面平台。

网管系统的主要特性包括:

1)网管系统包括用户管理、虚拟机管理、模板管理、客户端管理等。

2)管理员通过网管系统为每一个用户创建一个云帐户;可以设置、查询用户帐户信息。普通用户可以注册云账户。

3)管理员通过网管系统为每个用户创建一个或多个虚拟机;可以对虚拟机进行开机、关机、暂停、重启、保存、恢复、删除等操作;普通用户可以申请虚拟机。

4)管理员通过网管系统创建任意多个虚拟机模板,安装不同的操作系统和应用软件,包括中英文模板,满足不同的需求。

5)管理员通过网管系统可以查询、设置、控制所有客户端电脑(开关机、重启等)。

6)网管系统提供了不同身份、角色、访问权限的用户接口,比如管理员、部门领导、普通员工的访问登录页面。

7)如果用户虚拟机出现问题,在备份好必要数据后,管理员可以在几秒钟之内删除原有虚拟机,并创建新的虚拟机,可以立刻使用,相当于快速地重新安装了操作系统和应用软件。

网管系统CLOUD-NMS主要包括:一个Web网站、一个MySQL稻菘庀低场⒁桓鱿低撤务程序。

网管系统CLOUD-NMS的WEB网站以Apache+PHP+MySQL形式提供服务,以https协议访问,管理员打开网页登录认证后即可进行操作。网管系统的MySQL数据库主要用来保存用户的用户账户信息、虚拟机信息、模板信息等。用户账户信息包括学号、姓名、密码、性别、班级、电话、地址、邮件等信息;虚拟机信息包括计算机名称、CPU、内存、虚拟磁盘、连接协议、连接端口等;模板信息包括虚拟机的操作系统、安装的软件列表等;管理员可以为每个用户创建一个或多个虚拟机。网管系统的系统服务程序主要用来监听、接收消息、处理指令、转发消息等。

管理员或相关操作人员打开IE浏览器输入网管系统地址,看到登录界面输入用户名和密码,登录成功后可以进行用户管理、虚拟机管理、模板管理、客户端管理。

安全虚拟桌面平台网管系统可以和中石化统一身份认证相结合,只有通过中石化统一身份认证,才能进行下一步操作。

3.1 用户管理

网管系统用户管理功能包括:创建用户帐户、查询用户帐户、修改用户帐户、修改用户密码、删除用户帐户、批量创建用户帐户、批量删除用户帐户。

管理员通过网管系统可以为每个用户创建一个云帐户,用户账户信息包括用户ID、姓名、密码、性别、班级、宿舍、地址、邮编、电话、手机、电子邮件、备注等信息。创建用户帐户时必须指定用户ID、用户名、密码等信息,其他都不是必须输入选项。创建成功后,系统将用户信息写入到数据库系统。

创建用户帐户时可以同时指定创建一个虚拟机,虚拟机要指定模板、VCUP、内存、虚拟磁盘、连接协议、USB、运行模式等,详见虚拟机管理一节。

3.2 模板管理

虚拟化环境中,管理员可以预先做好多个虚拟机模板,比如Win XP、Win 7、Win 2008、Linux等操作系统,安装Office、AutoCAD、Photoshop等不同的应用软件。创建虚拟机时,指定虚拟机的模板,系统复制一个跟模板一样的虚拟机,实际上拷贝虚拟机模板的虚拟磁盘,生成虚拟机的配置文件。

网管系统的模板管理功能包括:添加虚拟机模板、查询虚拟机模板、删除虚拟机模板、控制虚拟机模板等操作。

3.3 虚拟机管理

网管系统虚拟机管理功能包括:创建虚拟机、查询虚拟机、删除虚拟机、控制虚拟机等操作。

管理员通过网管系统CLOUD-NMS创建用户虚拟机时,指定虚拟机的名称、CPU、内存、虚拟磁盘、连接协议、模板名称等,并指定该虚拟机创建在哪一台服务器上,如果不指定创建在哪一台服务器上,系统根据负载均衡原则自动选择一台服务器。

系统处理时将用户虚拟机配置信息写入到数据库中,同时将创建虚拟机的指令消息发送到指定服务器端程序CLOUD_SERVER的守护进程,由后者完成具体的操作,详见服务器端程序一节。

网管系统发向服务器端程序的创建虚拟机的指令消息是JSON格式的字符串,如下所示:

{"method":"createVm","param":{"vm_uuid":"161c51d8-9497-1d56-d5bf-7a06ba468628","vm_name":"user1001","vm_vcpu":"1","vm_memory":"2","vm_disksize":"30","vm_protocol":"spice","vm_templateuuid":"aaaaaaaa-1111-1111-1111-111111111111"}}

3.4 客户端管理

除了运行网管系统和虚拟机的专门服务器之外,支持虚拟化的普通电脑、不支持虚拟化的普通电脑、云终端、笔记本、手机、平板等,都可以称作客户端。客户端不像服务器存放在专门的中心机房里,客户端可以存放在任何地方,包括机房、宿舍、教室、图书馆等。

客户端在使用之前,必须先登记注册。客户端电脑/云终端每次启动后,也要连接网管系统,更新本客户端的信息,包括IP地址、开机时间等。客户端电脑在网管系统中登记注册之后,网管系统就可以查看、控制该客户端了。

4 服务器端

运行、控制虚拟机的服务器端程序,可以运行在专门的云服务器上,也可以运行在CPU支持虚拟化的普通电脑上,普通电脑作为运行虚拟机的服务器端,和专门运行虚拟机的云服务器功能类似,区别在于能够运行虚拟机的多少。

服务器端程序CLOUD_SERVER主要功能有三个:1)同步虚拟机模板;2)控制虚拟机;3)查询虚拟机状态。

服务器端程序CLOUD-SERVER服务控制系统主要包括:虚拟磁盘同步、消息接收、消息解析、命令处理、虚拟机管理、数据处理和服务纠错等模块。

虚拟机模板管理一节中已经介绍了虚拟机模板保存在网管系统服务器的(/clouddesktop/template/)下,同步虚拟机模板意味着在中心机房的每一台服务器开机运行后,服务器上的虚拟机模板目录(/clouddesktop/template/)和网管系统CLOUD-NMS服务器上同样的目录保持一致。

服务器端程序CLOUD_SERVER有一个系统守护进程,监听5999端口,等待网管系统CLOUD_NMS、客户端程序CLOUD_CLENT发来的连接请求。

服务器端程序CLOUD_SERVER守护进程一旦接收到网管系统或客户端发送来的SOCKET连接请求时,新开一个线程处理该连接请求。接收到的消息是JSON格式的字符串。在新建线程中,解析参数,并根据其method方法完成具体的操作,包括创建虚拟机、启动虚拟机、关闭虚拟机、暂停虚拟机、重启虚拟机、保存虚拟机、恢复虚拟机等。

接收到的创建虚拟机的JSON格式字符串如下所示:

{"method":"createVm","param":{"vm_uuid":"161c51d8-9497-1d56-d5bf-7a06ba468628","vm_name":"user1001","vm_vcpu":"1","vm_memory":"2","vm_disksize":"30","vm_protocol":"spice","vm_templateuuid":"aaaaaaaa-1111-1111-1111-11111111111"}}

在新建程里,解析参数后获知method=createVm,执行创建虚拟机的操作,过程如下:

1)解析命令参数后获知method=createVm;

2)进一步解析创建虚拟机的参数param,获取虚拟机名称、UUID、连接协议、VCPU、内存、虚拟磁盘、连接协议、模板名称等;

3)解析完参数后进行验证,比如当前服务器已运行了多少台虚拟机,能否接受此请求等;如果不能接受请求,发送错误消息给网管系统,返回结束;

4)在目录(/clouddesktop/vm/)下创建新的目录,目录名称为用户虚拟机的UUID;

5)创建指向指定模板目录下虚拟磁盘vdisk1.img的连接文件;

6)拷贝指定模板目录下的虚拟磁盘vdisk2.img文件;

7)分配MAC地址;TAP设备;

8)分配虚拟机连接端口;

9)在新建目录下创建虚拟机的配置文件(vm.xml),主要包括虚拟机名称、UUID、VCUP、内存Memory、虚拟磁盘Virtual Disk、时钟Clock、声卡Sound、显卡Video、网络设备接口、MAC地址、连接协议、连接端口等;

10)通过VM_Manager程序根据虚拟机的XML配置文件启动运行虚拟机;

11)更新该虚拟机的状态到网管系统;

12)向CLOUD-NMS或CLOUD-CLIENT发送回复消息。

虚拟机名称是用户名,CPU、Memory、Disk是指定的,时钟Clock默认是本地时间,卡Sound默认是AC97,显卡Video默认是qxl,虚拟机网络通过Bridge访问外网,虚拟机MAC地址是后8位随机生成的,连接协议是创建虚拟机时指定的,连接端口是系统分配的,网管系统中所有虚拟机端口是统一分配的,端口从10001到49999,可以支持创建4万个虚拟机,虚拟机被删除后,端口也将释放被重新分配使用。

5 客户端

客户端端程序CLOUD-CLIENT主要功能有三个:1)用户身份验证;2)连接登录虚拟机。

客户端CLOUD-CLIENT连接登录系统包括用户认证模块、消息接收模块、消息处理模块、连接登录模块等。

客户端CLOUD-CLIENT连接登录虚拟机的设计流程如下所示:

1)用户在客户端程序输入用户名和密码。

2)程序向CLOUD-NMS的5998端口发起SOCKET连接请求;SOCKET连接建立后,发送用户认证请求;发送的认证请求是一个JSON格式的字符串,如下所示:

{"method":"loginRequest","param":{"user_id":"104037900920121201","user_name":"user1001","user_password":"******", "client_ip":"10.8.224.101","time":"20121234 18:34:32"}}

网管系统收到该连接请求后,对用户身份进行认证,认证通过返回SUCCESS消息;认证失败返回FAILED消息。程序收到认证失败的消息后,断开和CLOUD-NMS的SOCKET连接,在主界面弹出认证失败对话框,并给出失败原因。

3)认证通过后,程序继续向CLOUD-NMS发送获取虚拟机信息的请求,发送的获取虚拟机信息的请求是一个JSON格式的字符串,如下所示:

{"method":"getVmRquest","param":{"user_id":"10403791201","user_name":"user1001", client_ip":"10.8.224.101", "time": "20121234 18:34:32"}}

网管系统收到该请求后,到数据库系统中查询该用户拥有的虚拟机信息,发回的虚拟机信息也是一个JSON格式的字符串,如下所示:

{"method":"getVmResponse","param":{"vm_uuid":"161c51d8-9497-1d56-d5bf-7a06ba468628","vm_name":"user1001","vm_vcpu":"1","vm_memory":"2","vm_disksize":"30","vm_protocol":"spice",”vm_port”:”10001”,”vm_secure_port”:”10002”, “vm_password”:”123456”, ”vm_serverip”:”10.7.0.61”, “vm_duetodate”:”20121231 00:00:00”, “vm_state”:”stop”,

"vm_templateuuid": "aaaaaaaa-1111-1111-1111-111111111111"}}

4)客户端CLOUD-CLIENT收到CLOUD-NMS发送来的虚拟机信息后,对参数进行解析,比如该虚拟机位于哪一台服务器?连接协议是什么?连接端口是多少?安全端口是多少?动态密码是什么?虚拟机有效期?不同的协议,返回的参数不一样,支持的协议有SPICE、RDP、ICA、PCOIP协议。

5)客户端CLOUD-CLIENT程序向虚拟机所在的服务器或本地电脑的5999端口,发起SOCKET连接请求,SOCKET连接建立成功后,发送启动虚拟机请求。和网管系统向服务器端发起开启运行虚拟机类似。发送的请求方式是”startVm”,如下所示:

{"method": "startVm", "param": {"vm_uuid": "161c51d8-9497-1d56-d5bf-7a06ba468628", "vm_path": "/vmstorage1", "client_ip":"10.8.224.101","time":"20121234 18:34:32"}}

6)虚拟机运行后,客户端CLOUD-CLIENT根据(4)步骤中解析的连接协议,使用不同的连接程序登录虚拟机。如果是SPICE协议,则使用spice客户端程序直接连接服务器 + 端口+ 安全端口 + 动态密码。如果是RDP协议,则使用freerdp客户端程序连接服务器上的虚拟机;其他协议,类似处理。连接成功后,即可看到虚拟桌面,如同使用本地桌面系统一样。如果连接失败,则会弹出出错对话框,并给出出错信息。

6 网络数据隔离

虚拟机的网络功能由虚拟网卡vNIC(虚拟网络适配器virtual Network Interface Card)提供,Hypervisor可以为每个虚拟机创建一个或多个vNIC,从虚拟机的角度出发,这些vNIC等同于物理的网卡,为了实现与传统物理网络一样的网络功能,与物理网卡一样,交换机Switch也被虚拟成虚拟交换机(OpenvSwitch),各个vNICB接在vSwitch的端口(br-int)上,最后这些vSwitch通过物理服务器的物理网卡访问外部的物理网络。

服务器一般有两个以太网口(假设eth0、eth1),连接虚拟机通过eth0连接,虚拟机虚拟网卡通过eth1访问外网。为了数据安全,安全虚拟桌面在设计时,服务器eth0和办公电脑在同一个网络,服务器eth1连接到专门拉的专线,和单位内部局域网物理隔离。网络eth0和eth1是物理隔离、互不相通的。

因为客户端连接虚拟机网络和虚拟机访问外网是两个物理隔离、互不相通的网络,所以办公电脑上的数据文件不能通过虚拟机的网络传输出去,有效地保证了办公电脑上数据文件的安全。

在实际使用过程中,用户通过安全虚拟桌面访问Internet,查询并下载了资料。在服务器上划出一个特定的存储区域,虚拟桌面可以将下载的资料文件保存写入到这一特定的存储区域;办公电脑可以从服务器这一特定存储区域下载读取资料文件,但不能写入,从而有效地防止用户办公电脑上的数据文件通过虚拟桌面传输到Internet。

7 结束语

本文介绍了一种安全虚拟桌面的设计与实现,通过安全虚拟桌面,以及网络的物理隔离,用户既能通过虚拟桌面上网查询资料,下载文件到本地办公电脑;又能有效保证办公电脑的数据安全,用户电脑的数据文件不能传输到虚拟桌面。使用安全虚拟桌面系统后,为IT维护管理,保证个人隐私、数据安全带来了极大的方便。

参考文献:

[1] openstack[EB/OL].http:///.

客户服务管理程序篇2

切实提高对市场监管工作的认识,加大当前市场监管工作的管理力度。密切结合本辖区实际,采取最强有力的措施,严密布控,严防死守。专卖人员要认真负责,发扬连续作战、不怕疲劳的精神,保持市场监管的高压态势,进一步加大对“假私非”烟的打击力度,重点清理整顿卷烟市场中无证经营和乱渠道进货、真烟外流等违法违规行为的力度,严防“假私非”卷烟在市场上的流通,确保我市“两节”期间卷烟市场平稳有序。

二、成立机构,组织内部监管有序进行

成立烟草局2015年“两节期间”内部监管工作领导小组,具体负责全局“两节”期间各项市场整治的组织领导和落实工作,协调各科室、队共同做好“两节”期间市场综合治理工作。

三、健全制度,实行制度化、科学化有效监管

建立健全内部监管各项规章制度,加强“四化”管理(监管流程化、突出痕迹化、体现精细化、促进规范化),抓住“四大环节”(购进、库存、销售、责任追究);严把“十个监管关口”(市场调查关、合同审批关、合同调整关、到货确认关、扫码入库关、客户入网关、营销计划关、货源投放关、电话访销关、市场检查关);筑牢“三道监管防线”(事前监管、事中监管、事后监管),使内部监管落到实处。

大力推行《内部专卖管理监督服务册》,加强对送货员、客户经理以及专卖管理员的监督管理,规范“三员”的工作流程和服务,有效地减少卷烟配送中存在的不规范行为和专管员、客户经理日常监管服务不扎实等问题,不断提升“三员”对《服务册》的执行能力。

四、把握重点,实现无缝隙管理对接

1、把握两个百分百,即卷烟100%落地销售、100%入户销售。

2、把握三个切入点,即卷烟销售计划的执行情况、经营户一户一码销售情况和卷烟销售货款回笼情况。

3、专管所对客户经理、送货员业务活动的日常监管和对高星级、大集团客户、自营精品店的日常监管。

五、精细管理,提升“三员”管理水平

1、送货员送货上门时,与客户当面点清卷烟品种、数量,双方确认无误后,在送货小票上签字,并将小票的底联粘贴到服务册上。(小票的粘贴具有以下三个方面的重要作用:一是可以有效地防止拆单分摊现象的发生,确保卷烟100%落地、落户销售;二是可以根据《内部专卖管理监督服务册》上反映出的零售客户信息,使烟草公司及时了解市场动态,掌握卷烟销售具体状况,引导客户的卷烟订购;三是可以使客户清楚地算出自己的经营情况,为下个月订烟作预测。)

2、客户经理、专管员核对送货到位情况,完成服务册的填写工作签字并加盖监管序列章。(客户经理负责填写的内容包括客户销售信息反馈、卷烟明细表、客户提出的建议。专管员则对送货员和客户经理的走访情况进行记录、评定,将客户反映的问题和发现的违规行为填写在记录栏里。填写记录后,客户经理和专管员还要在上面签字并加盖监管序列章。每次在服务册上盖的章都不一样,按照不同的日期分别盖不同的章。比如客户经理栏里盖“服”、“务”、“较”、“好”,专管员栏里盖“监”、“管”、“到”、“位”。给专管员和客户经理各制作4枚不同的印章,每周发一枚。这周走访不到,下周就换了另外一枚,当周的章就无法再补上,服务手册盖章处就会出现空白。这能够真实地反映出专管员和客户经理的走访情况,便于检查。

3、制定严格的领章规定:客户经理和专管员到内管办领取序列章的同时,要签字并且交回上周所用序列章,每月按照序列章顺序依次领取。)通过记录客户经理走访服务和专管员监督服务情况,可以评价送货员和客户经理的服务,使“流程化、痕迹化、精细化、规范化”管理在基层工作中得到体现。同时,对监督过程中发现的问题,及时加以改进,不断提升服务质量和水平。

4、“三员”在各自完成服务册内容填写的同时,还要对另外“两员”的工作进行监督,填写《信息反馈单》。促进“三员”之间环环相扣、相互监督,工作到位。

5、建立专门的考核小组定期对“三员”的送货及走访情况进行检查,在服务册上填写检查考核意见。

六、责任到人,密切监测,建立全市市场监管应急机制

按照“属地管理”原则,制定工作方案,把任务层层落实到人,明确各自的工作职责和范围,切实把2015年“两节”期间市场各项内部监管工作落到实处。

客户服务管理程序篇3

中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)24-1139-01

The Different of Web Server and Application Procedure Server

CHEN Mei, LI Zi-chen

(Occupational University of Urumqi, Urumqi 830002, China)

Abstract: The server is provides the service and the resources computer in the network for the user.The author from aspects and so on definition, function service distinguishes analyzes the Web server and the application procedure server similarity, for everybody when study server correlation knowledge provides the model and the reference.

Key words: web server; application procedure server

从广义上讲,服务器是指网络中能对其它机器提供某些服务的计算机系统(如果一个PC对外提供ftp服务,也可以叫服务器)。

从狭义上讲,服务器是专指某些高性能计算机,能通过网络,对外提供服务。它的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。

在网络中,服务器通常具备一个或多个特定角色,包括:应用服务器、验证服务器和Web服务器[1]。在很多情况下,大部分人无法很好的区分什么是应用程序服务器,什么是Web服务器,下面本文就从定义、功能服务等方面加以区别分析。

1 定义

1) 应用程序服务器的定义如下:采用具有分布式计算能力的集成结构、支持瘦客户机的软件服务器产品。应用程序服务器的基本用途包括:管理客户会话、管理业务逻辑、管理与后端计算资源(包括数据、事务和内容)的连接[2]。

2) Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)进行信息交流,这就是人们常把它们称为HTTPD服务器的原因。

图1 Web服务器示意图[2]

2 功能服务

1) 应用程序服务器的主要功能有:安全服务、状态和会话管理;负载平衡和失败恢复;业务和处理逻辑;胖客户访问服务器组件; HTML生成;数据访问;事务管理;连接池;线程池和实例池等。

2) Web服务器的主要功能有:解析HTTP协议;事务处理;数据库连接和消息等功能。

虽然Web服务器不支持事务处理或数据库连接池,但它可以配置各种策略来实现容错性和可扩展性,例如负载平衡,缓冲。但是集群特征经常被误认为仅仅是应用程序服务器专有的特征。

通俗的讲,Web服务器传送页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用的方法。确切的说:Web服务器专门处理HTTP请求,但是应用程序服务器是通过很多协议来为应用程序提供商业逻辑。作为应用程序服务器,它通过各种协议,可以包括HTTP,把商业逻辑暴露给客户端应用程序。Web服务器主要是处理向浏览器发送HTML以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。

应用程序服务器的客户端(包含有图形用户界面(GUI)的)可能会运行在一台PC、一个Web服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回传递的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑。正是由于这种逻辑取得了数据和方法调用的形式而不是静态HTML,所以客户端才可以非常方便的使用这种被暴露的商业逻辑。

3 实例比较

设想一个在线商店(网站)提供实时定价和有效性信息。这个站点很可能会提供一个表单让用户来选择产品。当用户提交查询后,网站会进行查找并把结果内嵌在HTML页面中返回。网站可以有很多种方式来实现这种功能。这里介绍一个不使用应用程序服务器的方式和一个使用应用程序服务器的方式。

方式1:不带应用程序服务器的Web服务器:在此种情景下,一个Web服务器独立提供在线商店的功能。Web服务器获得用户的请求,然后发送给服务器端可以处理请求的程序。此程序从数据库或文本文件中查找定价信息。一旦找到,服务器端程序把结果信息表示成HTML形式,最后Web服务器把会它发送到用户的Web浏览器。这里的Web服务器只是简单的通过响应HTML页面来处理HTTP请求。

方式2:带应用程序服务器的Web服务器:方式2和方式1相同的是Web服务器还是把响应的产生委托给服务器端程序。然而,用户可以把查找定价的商业逻辑放到应用程序服务器上。由于这种变化,此服务器端程序只是简单的调用应用程序服务器的查找服务,而不是已经知道如何查找数据然后表示为一个响应。 这时当该服务器端程序产生HTML响应时就可以使用该服务的返回结果了。

在这个方式中,应用程序服务器提供了用于查询产品的定价信息的商业逻辑。服务器的这种功能没有指出有关显示和客户端如何使用此信息的细节,相反客户端和应用程序服务器只是来回传送数据。当有客户端调用应用程序服务器的查找服务时,此服务只是简单的查找并返回结果给客户端。

通过从响应产生HTML的代码中分离出来,在应用程序之中该定价查找逻辑的可重用性更强了。其他的客户端,例如收款机,也可以调用同样的服务来作为一个店员给客户结帐。相反,在方式1中的定价查找服务是不可重用的因为信息内嵌在HTML页中了。

总而言之,在方式2的模型中,在Web服务器通过回应HTML页面来处理HTTP请求,而应用程序服务器则是通过处理定价和有效性请求来提供应用程序逻辑的。

4 注意

现在,XML Web Services已经使应用程序服务器和Web服务器的界线混淆了。通过传送一个XML有效载荷给服务器,Web服务器现在可以处理数据和响应的能力与以前的应用程序服务器同样多了[2]。

另外,现在大多数应用程序服务器也包含了Web服务器,这就意味着可以把Web服务器当作是应用程序服务器的一个子集。虽然应用程序服务器包含了Web服务器的功能,但是开发者很少把应用程序服务器部署成既有应用程序服务器的功能又有Web服务器的功能。相反,如果需要,他们通常会把Web服务器独立配置,和应用程序服务器一前一后。这种功能的分离有助于提高性能,这样简单的Web请求就不会影响应用程序服务器了,而且分开配置可以给最佳产品的选取留有余地。如统一信息平台中的web服务器和应用服务器就分开这样就可以方便的进行集群,从而提供系统的稳定性。

客户服务管理程序篇4

中图分类号:TP313 文献标识码:A 文章编号:1672-3791(2012)05(a)-0046-01

1 Linux系统及其管道技术

Linux操作系统脱胎于UNIX操作系统架构,具有灵活高效、运行稳定等特点,并且支持多任务、多用户等使用需求。该操作系统对硬件资源的要求较低,且完全免费,用户可以根据自己的需求对系统进行修改和重新编译,因此得到了广泛的应用。目前很多对稳定性要求较高的数据库服务器和应用服务器都部署于Linux平台。

Linux系统中较为常用的编译工具是gcc,而gdb作为调试工具也必不可少。gcc编译器(GNU C Compiler)已经从只支持C语言编译,发展到可支持C++、Java等主流语言的编译,其编译的效率比其他编译器高20%~30%。通过与make工具配合使用,gcc可以实现对中大型软件项目的编译与管理。gdb是Linux系统中对C语言和C++语言开发的软件进行调试的工具,可以根据实际的调试需求,实现单步运行、设置断点、内部变量显示等多种调试功能。dbm数据库系统是Linux系统自带的轻量级数据存储集合,虽然其对数据分析处理能力不如MySQL等专业数据库管理系统完备,但凭借其高效性和易用性,适用于静态数据的存储与访问。dbm数据库最主要的特点是可以被编译进二进制文件中并进行,因而dbm数据库的运行不需要安装独立的数据库服务器。

管道是Linux系统中的一个重要概念,是实现Linux系统中进程间通信的主要技术。管道技术允许进程之间的数据以数据流的形式,先进先出的方式进行传递和交换。管道实现的原理是基于共享文件,输入数据的进程将数据写入共享文件中,而接收数据的进程从共享文件中读取数据。为了保证数据交换的正确性,管道技术在应用的过程中要考虑到进程之间的同步问题。Linux系统中的管道分为无名管道和命名管道两种。

2 编程过程研究与分析

2.1 总体设计

Linux系统中的命名管道技术可以实现不同用户进程之间的数据交换,结合浏览器/服务器软件开发模型,结合dbm数据库,设计实现系统开发架构。架构分为服务器端和客户端两个部分,客户端主要是与用户的信息交换,主要功能是接受用户输入信息,并将服务器端处理的结果显示给用户;服务器端主要是对数据库的操作,响应客户端发出的请求命令。

程序在运行过程中存在一个服务器进程和一个或多个客户端进程。为了充分利用处理器的资源,利用命名管道的阻塞特性等待通信事件的发生。命名管道的创建与删除都在程序中完成,减少了系统管理员的工作量。

系统的运行过程如下:(1)用户通过客户端发出一个操作命令。(2)服务器获取客户端命令,创建一个客户命名管道并响应,利用阻塞机制等待客户端回应。(3)客户端打开服务器创建的管道,读取响应后关闭管道。(4)客户端发出新的命令并以读的方式再次打开客户管道。(5)服务器端解除阻塞,恢复自身运行,并将其软件的客户管理关闭。

2.2 源程序文件结构及作用

程序服务器端的文件包括dbm.c文件和server.c文件,客户端的文件包括ui.c文件和client.c文件,命名管道文件为pipe.c文件。定义服务器端程序和客户端程序函数的头文件为servcli.h文件,数据库的头文件为data.h。各个源文件的作用如以下几点。

(1)服务器端:dbm.c:实现对dbm数据库的连接、访问及其他操作。server.c:实现服务器端各项功能的业务逻辑功能。

(2)客户端:ui.c:实现与用户交互的接口功能。client.c:实现响应用户输入,并向服务器端发出请求的功能。

(3)管道:pipe.c:实现命名管道的各项功能,如打开、读取、写入、关闭等。

(4)共有头文件:servcli.h:声明服务器端程序和客户端程序中的函数。data.h:定义数据结构和声明数据库操作函数。

2.3 具体编程实现

(1)管道的定义。

服务器管道定义:#define SERVER-PIPE "/var/server-pipe"

客户端管道定义:#define CLIENT-PIPE "/var/client-%d-pipe"

由于系统中可能存在多个客户进程,所以其管道的命名必须要加入其进程的ID号,以示区别。

(2)管道源文件中的服务器处理函数。

serverstart函数,该函数的作用是创建一个命名管道以从客户端读取操作指令。服务器创建该命名管道后,将以阻塞的方式等待客户端的输入,具体代码如下:

int startserver(void)

{

unlink(SERVER-PIPE);

if(mkfifo(SERVER-PIPE,0777)==-1)

{

fprintf(stderr,"Wrong");

return(0);

}

if((server-fd=open(SERVER-PIPE,O_RDONLY))=-1)

{

fprintf(stderr,"Server error,no FIFO open");

return(0);

}

return (1);

}

endserver函数,用于命名管道的删除操作,它可以作为客户端探测服务器是否开启的方式。

readrequest函数,用于读取用户在命名管道上写入的数据。

(3)客户端函数。

客户端函数对于命名管道的打开与关闭与服务器端类似。其从服务器端读取数据的函数如下:

int readresp(message-db-t * rec_ptr)

{

int read_bytes;

int return_code=0;

if(!rec_ptr) return(0);

if(client_fd==-1) return(0);

read_bytes=read(client_fd,rec_ptr,sizeof(*rec_ptr));

if(read_bytes==sizeof(*rec_ptr)) return_code=1;

return(return_code);

}

3 结语

Linux操作系统由于其开源性和可定制性,其使用越来越广泛,很多对稳定性要求较高的应用程序都移植到了Linux系统。但Linux系统上系统开发的流程和技术与Windows下的程序开发差别较大。文本就Linux系统中利用命名管道技术实现基于客户端/服务器结构应用程序开发进行了研究,对基于Linux系统的程序开发具有一定的借鉴意义。

客户服务管理程序篇5

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)08-1823-03

The Design and Realization of a Purchase-Selling-Inventory System Based on Web Service Technology

WU Yuan-yuan

(Jiangsu College of Information Technology, Wuxi 214153, China)

Abstract: By analyzing the activities of buying, selling and stocking of an enterprise, the article introduces how to design and realize a novel, efficient, stable, expansible and highly interoperable Purchase-Selling-Inventory System based on Web Services technology.

Key words: purchase-selling-inventory system; Web services; systems analysis; design

随着市场竞争日益激烈,提高进销存管理的工作效率,改善企业内部以及整个供应链中各个环节的管理、调度及资源配置成为了企业当前必须思考的问题。因此,开发一个适合企业需要的进销存管理信息系统,将企业的采购、销售和库存信息全面地管理起来己成为必需。而基于Web Services构架的进销存系统, 因其部署维护简单,互操作性强,可扩展性强等特点,将会受到越来越多企业的青睐。本文开发了一个基于此架构的企业进销存系统。

1 Web Services 技术

Web Services是使应用程序能以与平台和编程语言无关的方式进行相互通信的一项技术,是在万维网上存在的应用逻辑,它能够通过标准的网络协议来访问。

Web Services是一个软件接口,它描述了一组可以在网络上通过标准化的可扩展标记语言XML消息传递访问的操作。它使用基于XML语言的协议来描述要执行的操作或者要与另一个Web服务交换的数据。

Web Services所使用的XML可以用与平台无关的方式来描述任何数据,以实现跨系统交换数据。而且,Web Services可以在较抽象的层面上工作。较抽象层面可以按照需要动态地重新评估、修改或处理数据类型。所以,从技术层面上讲,Web Services可以更方便地处理数据,并且允许软件更自由地进行通信。

2 系统分析与设计

系统应该能对企业的进销存业务进行全面的科学化管理,完成日常经营活动中各种业务数据的共享,实现实时通信来保证业务数据的快速更新,使企业针对市场需求变化做出快速反应,从而提升企业的核心竞争力。

2.1 总体需求分析

综合考虑各企业进销存系统的特点,如图1所示,系统应具备以下功能。

1) 对企业采购业务、销售业务、库存业务进行全面管理,通过各种单据使得业务数据在各个模块中流转;

2) 对企业的基础数据,如客户资料、供应商资料、产品信息、部门信息等进行管理;

3) 对使用系统的用户进行管理,根据不同的角色,将使用系统的用户分为管理员用户和一般用户,在一般用户中根据所属的部门类型不同可再进行细分;

4) 对各种业务数据和系统数据进行查询统计;

5) 对系统的管理,如系统参数的配置、系统数据的备份还原等。

2.2 功能结构设计

通过需求分析,可以得到如图2所示的本进销存系统的总体功能结构图。系统以各种单据的形式对企业的各个业务进行支持,具体可分为基础数据管理、采购管理、销售管理、库存管理四个主要模块:基础数据模块对企业的基础数据进行管理,如供应商管理、客户管理、产品管理、产品类别管理、产品计量单位管理、部门管理,该模块的数据可被其他三个模块使用;采购管理模块对企业的采购业务进行管理,如采购订单管理、采购入库单管理、采购付款单管理、采购退货单管理;销售管理模块对企业的销售业务进行管理,如销售订单管理、销售出库单管理、销售收款单管理、销售退货单管理;库存管理模块对企业的库存业务进行管理,如入库单管理、出库单管理、盘盈单管理、盘亏单管理、报损单管理。

同时系统的权限控制以部门类型为基础,用户必须属于某一部门。管理员部门用户为系统管理员,具有系统所有模块的使用权限;采购部门用户为采购人员,具有采购管理模块和基础数据管理中供应商管理和产品管理相关模块的使用权限;销售部门用户为销售人员,具有销售管理模块和基础数据管理中客户管理和产品管理相关模块的使用权限;库存部门用户为仓库人员,具有库存管理模块和基础数据管理中产品管理相关模块的使用权限。此外,各个用户可以修改自己的真实姓名、登录密码等信息。

2.3 总体框架设计

本系统采用基于富客户端的B/S结构,服务端将所有的功能以安全的Web Services的形式向客户端及其他外部系统,如图3所示系统总体框架自下向上可分为:数据持久层、业务逻辑层、服务层、用户界面层,各个层次只能对其下层进行调用,通过Spring框架的依赖注入技术,将下层模块的接口实现注入到上层模块中供其调用,降低了各个层次及各功能模块间的耦合度。

数据持久层使用Hibernate框架,实现系统中的对象模型与数据库的关系映射,所有对数据库中数据的操作,都转换为对相关对象的操作,并利用该框架的数据库连接池技术对数据库连接进行有效管理,使系统的数据持久层具有可靠性强、可扩展性强、可移植性强等特点。同时,数据持久层向业务逻辑层暴露的只是对数据对象操作的接口,这些操作不牵涉到任何业务逻辑。

业务层是整个系统的核心,其负责处理相关的业务流程,利用Spring框架将下层的数据操作整合到各个业务操作中,并利用Spring框架的AOP(面向切面)技术,对相关业务流程进行事务、安全等处理。业务层向服务层暴露的只是相关业务流程操作的接口,这些操作不涉及任何持久层数据处理。

服务层使用Tuscany框架进行Web Services的,该层的工作主要包括Web Services的安全验证,并调用业务层接口,以及把要返回给客户端的对象模型序列化成JSON字符串、把从客户端接收的JSON字符串反序列化成对象模型。服务层是实现跨平台、跨语言进行互操作的关键部件,其核心就在于对JSON字符串的序列化与反序列化。

用户界面层可以是任意一个能调用安全Web Services的应用程序,本系统中是利用基于富客户端的Silverlight技术实现的,但不局限于该技术,可以使用任意基于.Net平台或Java平台的客户端应用程序或Web应用程序来实现用户界面层。其他异构系统,只要其使用了本系统的Web Services,该异构系统就属于本系统的用户界面层。

数据持久层、业务逻辑层、服务层位于服务器端,这三层通过服务端程序的对象模型进行数据交换.用户界面层位于客户端,其通过JSON数据与服务器端进行数据交换,如图4所示,当客户端调用某一服务时,将JSON格式的字符串参数发给服务层,服务层将客户端的请求参数反序列化为服务端程序的对象模型,并提交给业务层;业务层处理完相应业务后,将服务端程序的对象模型返回给服务层,服务层再将该模型序列化成JSON字符串发送给客户端,这样便完成了一次客户端与服务端的交互。

3 系统的实现

3.1 系统开发运行环境

本进销存系统是基于Web Services技术的B/S结构系统。为了降低系统实现的复杂度,加快开发进度,提高系统的稳定性和可扩展性,本系统充分利用了各类成熟的平台和技术,具体开发运行环境如下:

1) 服务器操作系统: Windows 2000 Server、Windows Server 2003 、Linux或Unix;

2) 数据库服务器:MySQL 5.0.67;

3) Web应用服务器:jboss-web-2.1.1.CR3;

4) Web Services服务器:Apache Axis2;

5) 客户端运行环境:安装了Silverlight2插件的浏览器;

6) 服务端程序开发语言:Java,J2SE JDK5.0;

7) 服务端程序开发环境:Eclipse IDE 3.4.1 for Java EE Developers;

8) 客户端程序开发语言:C#,.NET Framework3.5;

9) 客户端程序开发环境:Visual Studio Team System 2008 SP2。

3.2 数据持久层实现

系统的数据持久层是在Hibernate框架上实现的,由该框架负责管理数据库连接和与数据库的交互,并且提供程序对象与数据库的关系映射。此外,系统中的Hibernate框架需要与Spring框架实现集成。在Hibernate框架之上,基于DAO模式实现一个健壮性强的数据持久层。数据库持久层主要包括四个方面的内容:与Spring框架的集成、数据库连接与连接池的配置、对象关系映射的配置以及DAO模式的实现,图5显示了数据持久层的总体框架。

3.3 业务层实现

系统的业务层是基于Spring框架实现的,利用Spring框架的依赖注入,将数据持久层中的相关DAO注入到业务层中供其调用,利用Spring的面向切面编程,对业务层中的相关方法实现事务处理。

3.4 Web Services的与使用

系统的所有功能都通过Web Services向外,客户端通过调用相关的Web Services来实现相应的功能,并实现与操作用户的交互。因此,如图6所示,服务端的Java程序需要通过安全的Web 服务向外暴露,客户端需要使用服务端暴露的服务接口,实现UI层的功能。

3.5 用户界面层实现

系统的用户界面是一个基于Silverlight技术的富客户端应用程序,该应用程序需运行在安装了Silverlight2插件的浏览器上,将富客户端应用程序运用于企业级管理软件不仅能提高系统的开发效率和运行效率,还能使系统具备较好的用户体验。用户界面层的实现包含两个方面的内容:Silverlight开发平台的搭建和Silverlight应用程序的开发。

4 结束语

进销存业务是企业业务的重要组成部分,无论企业规模大小,其都具备了相应的采购、销售、库存业务,进销存管理软件作为企业进销存业务的支撑,将在企业信息化过程中扮演重要的角色。Web Services技术因其与平台和编程语言无关的特性,并具备一系列适合信息共享和交换的规范与协议,将成为未来企业级应用集成、共享和交换数据领域的主流技术。因此,基于Web Services的企业进销存系统将会有着非常广阔的前景。

参考文献:

客户服务管理程序篇6

中图分类号:TP311文献标识码:A文章编号:1009-3044(2017)26-0034-02

计算机网络自动检测控制系统是计算机网络通信技术与虚拟仪器技术发展的必然趋势,因此有必要对其开发设计,特别是系统软件的开发设计进行深入研究。

1计算机网络自动检测控制系统的总体方案

1.1总体结构

计算机网络自动检测控制系统软件开发,首先需要对其总体方案的进行规划设计。在此,其总体结构采用图一的组网方式,通过就不同地区的检测设备用户端采集其所在的单元对象的相关数据,相关数据通过计算机网络传递给服务器,再由服务器对用户数据信息进行分析处理后传递给相关用户。

系统在自动检测的过程中,需要整个自动检测控制系统协同工作,设备用户端负责用户接口处理,同时控制对应检测单元;系统实现检测功能的关键环节就是检测单元,它通过相关接口与被检测单元先连,以此来采集输入信号,并输出激励信号;检测控制系统的核心是服务器端,它需要对用户端收集到的客户信息进行分析处理,并将结果返回给客户端;连接客户端与服务器端的是计算机网络通信,这就需要二者支持同一网络协议,确保在整个网络中能进行通信;计算机网络自动检测控制系统中还有一个重要的组成部分就是数据库,它用户储存用户信息、设备信息及检测记录等,由服务器来进行相关数据的读写工作。

1.2硬件平台

设计好整个系统结构之后,就要搭建相应的硬件平台。根据上述的结构及性能要求,硬件平台包括五个部分:开关系统、检测控制器、检测总线、检测仪器资源和信号接口装置。当前,基于PXI和VXI的总线检测系统的检测范围和检测能力都得到了很大的拓展。因此,在硬件选择上通常采用基于PXI总线的NI模块集成的机箱检测设备作为主体平台,再基于该主体平台设计出对应的公共接口装置、接口适配器、测试探笔和探针、UUT即可。

1.3通信模式

在通信模式的选择上,选择当前最为常见的C/S模式。在C/S通信模式当中,不同的计算机可以执行不同的功能,实现不同的用户与服务器角色,从而通过服务器为客户端的虚拟仪器应用进程提供服务。

2系统软工作流程及其功能模块分析

2.1系统软件工作流程的分析

计算机网络自动检测控制系统对软件设计的基本要求是安全、可靠、有效、开放、实时和可维护。其软件的具体工作流程为:第一步,客户端用户登录测试体系统;第二步用户验证后启动并请求連接远程服务器;第三步,远程服务器连接成功后,用户即登录成功;第四步,用户完成被测试对象与测试设备的对应接口连接;第五步,用户配置检测激励信号控制系统执行相关的检测操作;第六步,系统自动将检测数据通过已经连接的网络通道传送给远程服务器;第七步,远程服务器调用检测诊断程序对检测数据进行分析处理;第八步,远程服务器向客户端返回已经做好的数据处理结果;最后,客户端显示出检测的诊断结果。该工作流程涉及的主要部分为远程服务器、检测用户端和检测设备,其所需的功能模块包括服务器的运算模块、客户端的检测模块和实现客户端与服务器之间的网络通信模块。

2.2系统软件功能模块分析

根据计算机网络自动检测控制系统的功能需求情况,可以将软件功能模块划分为基于服务器平台的系统管理模块、分析诊断模块和网络通信模块,以及基于客户端平台的网络通信模块、检测资源模块和检测执行模块几个部分。

1)系统管理模块

系统管理模块包括设备管理、操作管理、操作人员管理、检测任务管理和检测诊断程序管理五个部分。设备管理的功能为对设备用户端的配置状况进行记录,当变更和删除废除客户端信息;操作管理的具体功能为接收、分析和诊断用户的远程登录请求命令,并调用相关的程序执行对应的请求命令;操作人员管理的功能是管理系统操作人员的相关信息;检测任务管理的功能是对每项分析诊断结果和检测记录进行管理,同时完成相关信息在数据库中的保存;检测诊断程序管理的功能为对检测分析诊断程序进行管理。

2)分析诊断模块

分析诊断模块的主要功能是对客户端存在的故障提供在线支持诊断服务,帮助实现检测控制系统的故障定位与隔离,还可以提供对应的专家系统支持功能。

3)网络通信模块

网络通信模块包括网络通信的连接和数据的发送与接收三个部分。通信连接服务器与客户端之间数据传送提供通信通道。数据分析与接收除了要具备数据传输的作用,还要建立缓冲区,数据接收时将用户端传送的数据放入对应的缓冲区以等待分析处理;数据发送时,则将缓冲区中的数据发送到用户端中。

4)检测资源模块

检测资源模块通过适配器的模块文件来储存适配器的描述和信息。用户能够对配置模型文件、适配器文件和器件配置文件进行修改,同时处理适配器模型文件,综合适配器模型中的文件信息,连接数据库,从而完成计算机网络自动检测控制系统的校验与检测工作。

5)检测执行模块

检测执行模块包括检测控制和激励信号配置两个部分。检测控制负责各检测系统及其资源的控制,借助于输入的激励信号采集的输出响应信号来完成相关检测任务。激励信号配置的功能则是在软件平台当中根据检测任务对配置检测设备的激励信号。

3计算机网络自动检测控制系统的软件设计

3.1数据库设计

计算机网络自动检测控制系统中一个重要组成部分就是数据库,因此对检测控制系统设计中数据库设计是非常重要的。对此可以采用数据库VItest管理检测控制信息。当中包括的信息表格包括设备信息表、用户信息表和服务程序列表。如用户信息表应该包含用户标识ID、用户名、密码、注册时间、真实姓名和用户类型六个字段。系统需要维护用户登录退出和增减用户等信息。

3.2组件之间的通信实现设计

系统组件之间的通信可以采用DSTP协议来完成,它支持多种数据传输协议,因此可以根据不同的URL来按段不同的协议。数据收发通信是相互独立,因此可以只分析某一个数据项的设计。

3.3服务器设计

服务器程序的设计包括多线程的设计与实现。在计算机网络自动检测控制系统中可能面临同时处理多个用户的请求,因此需要采用并发处理的方式来解决多任务的工作方式,并发处理比循环处理的执行效率更高,响应速度更快。VI服务器利用并发处理方式可以同时实现设备管理和用户管理等功能,其主要的线程包括处理用户请求线程、服务程序管理线程、设备管理线程、连接用户客户端、初始化VI服务器。线程之间通过内存交换参数来完成通讯,多线程间的同步工作则由事件触发来控制实现。

多线程的实现需要完成四个功能:初始化系统;建立通信连接,等待登录;验证用户身份;根据请求分配对应的处理线程。

3.4客户端设计

根据检测控制系统的功能特点及需求情况,客户的程序采用多线程技术的方式来进行设计。它能够确保不同的激励信号的同时输入、采集及完成数据通信。客户端程序的工作流程为:用户登录身份验证系统控制界面选择对应的程序(包括用户管理、远程连接、信号采集、模拟输入、模拟输出、信号配置和结果)。在面板设计上,可以利用多面板的人机界面,这样可以确保操作界面的简洁方便。同时各功能VI的动态载入则采用LabVIEW的SubPanel方法節点,这样可以降低系统的内存占用,从而提高整个系统的运行效率。

客户端程序主要包括激励信号配置VI模块、响应信号采集VI模块、用户登录VI模块和用户管理VI模块四个模块设计。激励信号配置VI模块采用条件结构和事件结构的程度设计,用户能够通过系统的信号配置面板来修改激励信号的相关参数;响应信号采集VI模块通过电流电压测量程序、模拟信号测量程序、动态数据采集程序和信号采集程度五个模块分别对静态数据进行采集,这五个模块程序之间相互独立;用户登录VI模块是独立功能的一个模块,它将信息储存在数据库当中,只要访问用户信息数据库就能完成对用户身份的验证,如果验证值为真,则可以登录启动系统;用户管理VI模块采用的条件结构的程序设计,主要用于增加用户、删除用户、密码修改等用户信息的管理。

4结束语

计算机网络自动检测控制系统的设计首先应该对其总体方案进行规划,搭建好硬件平台,选择C/S的通信模式,再设计出系统工作的流程,并根据流程对系统功能模块划分为基于服务器平台的系统管理模块、分析诊断模块和网络通信模块,以及基于客户端平台的网络通信模块、检测资源模块和检测执行模块。最后再对计算机网络自动控制系统软件程度的数据库、组件之间的通信、服务器和客户端程序分别进行设计,检测控制系统在设计完成后还需要对其进行测量,通常可以采用波形文件的测量方式来进行。

作者:李礼

客户服务管理程序篇7

随着互联网技术的发展,网络已经渗入了人们的日常生活和工作,建立在计算机网络和多媒体技术上的考试系统也成为传统教育不可分割的延伸。在本文给出的考试系统中,学生允许在任意时间和地点通过网络来进行考试和练习,这种无纸化的考试不仅灵活,而且安全和公平,在考试系统中试卷的生成和批改都由计算机自动完成。

一、系统的结构

该系统采用了基于三层构架的模式:客户端系统通过校园网连接服务器端控制程序在连接到后台数据库服务器。

系统的工作流程:客户端向服务器发出考试请求服务器在一系列认证后把试题发给客户端客户端答题,提交答案服务器端调用批改系统进行批改向客户端返回成绩。后台数据库采用Access2002;应用系统模块采用Vosual Basic6.0;客户服务器系统的通信基于TCP/IP协议。

二、系统功能模块的划分

该考试系统的模块大致分为三部分:本地服务器端管理程序、远程客户端考试程序、远程考试查询系统。1、本地服务器端管理程序包括:a考生管理(注册学生,禁用考生,删除考生,修改考生信息);b服务管理(添加科目,删除科目,禁用科目,修改科目信息,添加题目,删除题目,修改题目,禁用题目);c数据查询(某天考试进程,考试成绩,准考证号)。2、远程客户端考试程序包括:a注册考试;b抽题;c自动记时;d自动交卷;e输出成绩单。3、远程考试查询系统包括:a考生信息;b考试成绩;c准考证号。

三、数据库的解决方案

本系统使用了一个Access2002数据库文件,该考试系统是应用在校园网络环境下的,在使用和访问时,都需要建立数据库的连接。根据数据库存储的内容,应建立多个数据库表。

(一)考生信息表

考生信息表用于存放考生基本注册信息,确定一个考生的准考证号、姓名、性别、身份证等考生身份的信息。在考生的信息表中应该包括可以确定考生身份的全部信息,以及考生当前的考试状态。

(二)考试科目表

考试科目表中记录了考试系统中可以进行考试的所以科目的信息,考试科目应该包括考试的名称、时间、题目的数量等信息,为了增加考试系统的兼容性,另外设计了考试分数和通过分数两个字段。

(三)考试注册信息表

考试注册信息表包括考生准考证号码、考试科目号码、注册日期、注册时间等。

(四)考卷表

考卷表是考生在完成考试注册后记录考生考卷题目的表,在这个表中,通过考试编号可以确定一个考试注册项目,题目的ID用于记录考生应该回答的题目。

四、系统的实现

(一)系统的实现环境

服务器和客户机都需接入校园网内,二者通信协议基于流行的TCP/IP协议,服务器和客户机上都要配置Acess2002和Visual Baisic6.0开发工具,并且在服务器端的机器需要配置IIS5.0,操作系统要求Windows2000Server。

(二)客户机与服务器通信模式的实现

该系统的工作流程大致为:服务器端要首先开始运行,然后处于侦听状态,侦听来自客户机的连接请求,学生运行客户端应用程序时,客户端首先向服务器发送连接请求,服务器接收到连接请求信息后向客户机回应一个信息,并向客户端发送有效考试科目的信息。用户在接收到服务器发送的信息后,选择要参加的考试科目,并输入登录密码。在服务器端验证通过后,开始向用户发送试卷,同时提示用户端。考试结束后,服务器端程序自动关闭连接,并锁定考试系统的客户端程序。

以下是服务器端和客户机的Winsock部分代码实现:

服务器端的设置:

Private sub form_load( )

Sockserver.localPort=2000

Sockserver.listen 开始侦听

statusBar.simpletext=“服务器端已经工作”状态栏显示信息

End Sub

客户机端的设置:

Private sub form_load( )

Clsocket.RemotrHost=202.207.160.3远程服务器的地址

Clsocket.RemotrHost=1024 远程服务器的端口号

Clsocket.connect向远程服务器发送连接请求

End Sub

考试交卷后,系统要求客户端进行试卷的批改,在数据库的设置中就需要把答案也写入试题记录中,批卷时只需将标准答案和考生的答案进行对比就可以实现了。

参考文献:

1、冷向君.Visual Basic5.0中文版入门与提高[M].清华大学出版社.

2、郑德庆,谭共志.基于浏览器/服务器结构的网络无纸化考试和管理系统[J].华南师范大学学报(自然科学版).

3、殷大发.无纸化考试系统的研究和开发[M].计算机与现代化.

客户服务管理程序篇8

针对移动无线营业厅系统,采用了基于dcemap的全面解决方案,该方案能为辽宁移动boss系统提供了安全、方便、快捷的gprs无线接入解决方案。对gprs 网络 现阶段存在高延迟,低连接速率,访问速度慢等特点有效改善用户访问体验,降低安全风险性。

1 dcemap核心技术

dcemap直接让在应用服务器上的应用程序与客户端设备沟通,既提高性能,又简化加密安全与效能之间的矛盾。dcemap解决方案通过设置专门应用部署服务器群组,将关键性的应用软件集中安装并进行,所有应用软件的客户端将100%在这些服务器上执行,即application serving(简称a/s结构),从而使得用户无论在何地,无论使用何设备,都能通过各种网络连接方式高效访问总部的各种程序和数据。

多个用户透过不同的客户端设备,同时访问和执行服务器上的同一个应用软件。产品在网络操作系统之上构筑了一层集中 计算 模式的平台,改变应用程序客户端的安装、和管理模式,实现了“以应用为核心,贯穿所有的节点,对系统的管理和控制由面简化到点”。wwW.133229.cOmdcemap这种基于服务器的计算的模式之所以成为可能,是因为使用了独立计算体系结构(ica)技术和multiwin技术。ica 协议是基于服务器计算的一项事实上的标准,它把应用处理从客户端设备转移到了服务器之上。multiwin是微软用以创建terminal server(终端服务器)的一项技术,它能让多个用户同时访问在一个服务器上运行的应用程序。ica作为osi表示层,分成多个虚拟通道,每个通道只负责一种功能的数据传输,且可以单独开启或关闭,数据在送往虚拟通道前均被压缩,在通道中传输可选择多种加密方式保证数据安全。

dcemap应用过程及技术实现主要有以下步骤。

(1)dcemap的组件webinterface为用户提供统一接入平台,用户开启ie浏览器访问dcemap的web port站点,输入用户名和密码,由web服务器通过xml服务向dcemap服务器传递身份验证信息。身份验证后,dcemap服务器也通过xml服务向web服务器返回的应用设置,并在客户端ie浏览器上显示出该用户授权范围内的应用程序图标。

(2)用户点击应用程序图标时,即通过ica协议向dcemap服务器发出会话请求,dcemap监听ica端口1494收到请求,验证用户请求的信息,建立ica虚拟通道,在服务器端应用multiwin技术为此会话分配独立内存空间,在此内存空间里启动该用户的请求的应用程序。

(3)应用程序运行后的位图变化由ica利用底层图形技术采集和编码,在送往ica虚拟专用通道前需经过优化的行程长度压缩(rle)技术进行数据压缩。

(4)客户端接受到ica通道传输的数据后由ica客户端解密、解压后重组位图还原为应用图形,其应用屏幕的更新采用服务器推送方式;同时客户端的键盘鼠标操作信息由ica客户端收集同样经压缩、加密通过ica虚拟通道传输到服务器段还原为对应用程序的操作。

2 dcemap解决方案

为保证系统的业务连续性,在不破坏现有信息系统的前提下,利用现有的网络设施和资源,仅通过增加dcemap应用部署服务器层来改变无线营业厅系统的、管理和访问的模式,即能达到安全、快捷、简单地应用无线营业厅系统。

在公司内部域中建立dcemap服务器群,自带智能负载均衡功能,并和移动boss营业web服务器同处于一个网段中,部署并移动营业系统的客户端;为合作伙伴以及大客户建立ad用户,加入域指定全局组和ou中,设置ou组策略,并授权访问dcemap的移动营业系统。

合作伙伴以及大客户经理的计算机不需要高的硬件和软件配置,只需要安装ie浏览器,再下载安装基于浏览器ie的dcemap插件(可通过推送方式实现)即可。手机接入时,只要手机支持ie浏览器,无需对现有应用做任何改造开发,利用移动现有的网络设施和资源,仅通过增加dcemap应用部署服务器层来改变营业系统的、管理和访问的模式,即能达到安全、快捷、简单地应用营业系统。

dcemap服务器部署在移动内网中,boss系统客户端,后端与boss系统通讯。合作伙伴或大客户经理使用无线网卡拨入gprs网络,通过对指定sim卡的认证,获得内网地址。通过内网直接访问dcemap服务器,使用移动ad帐户登陆dcemap服务器,从而应用boss系统。

由于dcemap客户端向服务器的传输的只是键盘鼠标的信息,而服务器向客户端传输的是位图的变化,并经过压缩加密。所以,用户使用无线营业厅系统时,只需10~20kbps,只有在打印和上下载数据文件的情况下才会占用更多的网络连接资源。经测试现有gprs网络可满足用户使用要求。由于dcemap客户端没有运行应用程序,因此客户端无需很高的配置,客户端成本很低。而且,由于客户端只是远端呈现,不会在ie上留下cookie信息,也可以限制用户进行拷贝等操作,保证了信息的安全。

3 dcemap接入平台的优势

(1)使用dcemap产品确实有助于提高应用的效率,由于只在dcemap服务器跟客户端之间传送画面及鼠标、键盘信息,所以传送数据只与画面变化及鼠标、键盘信息多少有关,尤其是一些操作,在boss客户端跟boss服务器间需要传送的大量的数据,但显示画面却没多少改变时,该产品优势尤为明显,生成大容量报表操作就是一个明显的例子。

(2)要使用dcemap接入平台访问boss服务器,只需在dcemap服务器上安装基于b/s的浏览器或基于c/s的boss客户端程序即可,而用户只需跟dcemap服务器连接,就可以用ie浏览器登录访问。接近b/s模式,方便用户使用。同时对原有应用系统无须二次开发和改造。

(3)dcemap平台具有断线恢复功能:如果连接过程中出现断线的情况,只要不关闭dcemap,待客户端重新连接服务器后,可继续处理;同时也可设置空闲超时断开,超时自动关闭等安全措施。

(4)维护较方便,如有问题可远程检查dcemap服务器即可。

客户服务管理程序篇9

在C/S体系结构中,服务器端通过事件响应机制可以和客户端应用程序建立网络连接与通讯服务,通过调用客户端服务程序执行对客户端计算机用户的实时监控管理服务。这对于像计算机中心每天这样拥有大量用户上机的管理来说,显得尤为必要,它的实现可以使管理着管理计算机用户更加科学、合理。

1 原理

利用Internet良好的各类通讯协议,在基于各种Winsock控件的基础上,开发可以建立多节点连接和数据交换是Internet的优势之一。

通过网络协议TCP和UDP所能提供的Internet网络服务。为实现Client/Server应用程序,开发者只要掌握了各种控件的设置属性及信息传递的方法方式,编写开发各类程序并在其中调用之即可实现与远端计算机的信息交换及监控控制。从而完成对用户端的管理,例如用户登录、资源使用状况、开关机管理及IP地址分配等等。通过Visual C 和Visual Basic中的mswinsock.scx控件可以开发相应的应用程序,借助Internet 传输层协议,实现计算机直接数据交换服务。传输层协议分TCP和UDP两类,其中TCP是可靠的基于端对端的,而UDP是基于非连接的不可靠的协议。

2 方法实现

众所周知各类Windows操作系统及Windows应用软件都提供有类似于WinSock的标准接口,不同地方名称可能有所不同,但其功能都是为需要建立连接并进行数据交换服务而制定的统一标准接口。通过这个统一的标准接口规范,多节点的数据通讯及数据交换就变得可行了。

Visual C++中提供了Winsock控件。利用该控件可以进行底层访问Internet传输层TCP和UDP协议。通过建立开发相应的应用通讯程序,可以实现多台计算机间的数据传输服务,当然这些服务也可以是基于Visual Basic 的Winsock控件来进行,他们的实现方法类似。

使用Visual C++ 里的Winsock控件实现。我们可以编写一个服务端程序,还可以编写与之相应的客户端程序,每个程序可以自主赋予相应的不引起冲突的逻辑端口号(例如端口号指定为设为119),开发者就可以编写代码程序,建立基于逻辑端口119的事件侦听及时事件响应服务请求功能服务,检测侦听事件的状态参数,区分并处理相应的服务请求代码类别,以便做出不同的处理。

3 小结

以上简要介绍了远程计算机控制程序的原理及部分实现方法, 我们通过多年来实践使用,觉得利用Visual Basic或Visual C实现的该系统简单实用,服务端和客户端系统占用资源少,安装维护特别方便,对类似高校机房的日常计算机系统维护管理,不失为一种好的途径。

参考文献

客户服务管理程序篇10

当前,学校正在逐步实现办公无纸化等数字化建设。其中学生的成绩管理系统已经成为重要部分,它的研发对于学校决策和管理都至关重要。在充分调研了学生的心理需求、专业性质和职业取向基础上,我们利用校园网对学生基本信息及成绩信息进行了计算机管理,提高了手工管理所无法比拟的效率和准确率。计算机管理实现了检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等优势,对于实现对学生的公正评价、促进学生的公平竞争、提高学校管理的科学化和正规化水平都提供了重要保障。

二、在功能上要充分尊重学生的心理需求

在进行软件研发时,我们坚持个性化原则,对于不同身份的学生,在进行用户登陆时让他们具有不同的权限;在创建考试成绩表时,力争做到既方便教师录入、查询、删除和修改成绩等操作,也方便学生打印和查询,同时保护学生的个人信息,确保成绩的隐蔽性。值得注意的是,一定要保证可以对数据库进行必要的维护。系统功能模块如图1所示。

图1 系统功能模块图

三、在逻辑设计上要保证对学生评价的公平性和客观性

在研发学生成绩管理系统时,我们要以培养高分高能的学生为目标,切忌不能将学生成绩排队排行,不能仅凭学生的成绩来评价学生的技能和整体知识水平,学生成绩只能作为个人学习效果的其中一种考量指标。在充分考虑到这些因素之后,我们的设计人员在逻辑设计时就能保证对学生评价的公平性和客观性。

逻辑设计时通常有两种形式:

1.基于C/S(客户端/服务器结构)风格的学生成绩管理系统

(1)三层C/S系统结构图如下:

图2 三层C/S系统结构图

(2)体系结构分析

①应用服务器运行数据负荷较轻。当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。

②数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。

③劣势是高昂的维护成本且投资大。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。

2.基于B/S(浏览器/服务器结构)风格的学生成绩管理系统

(1)三层B/S系统结构图如下:

图3 B/S系统结构图

(2)体系结构分析

整个系统分为三层体系结构。底层为负责数据访问的数据对象,中间层包括与教师和学生的会话服务和与数据库端的业务服务两部分。客户端服务层使用来完成客户端数据的收集及信息的显示。该系统用户界面完全通过WWW浏览器实现。利用不断成熟和普及的浏览器技术,实现了原来需要复杂专用软件才能实现的强大功能。并节约了开发成本,所以是一种较新软件系统构造技术。

3.基于B/S和C/S 混合风格

(1)B/S和C/S 混合风格系统结构图如下:

图4 B/S和C/S混合风格系统结构图

(2)基于B/S和C/S 混合风格的体系结构分析

这种风格的主要思想是学生查询成绩时通过浏览器进行查询也就是采用B/S模式的进行系统设计,但当教师对相关成绩进行操作时是通过客户端直接对数据库进行操作,也就是采用C/S模式。

①C/S模式下系统设计。用C++Builder,通过ODBC连接,建立一个用户界面友好的应用程序框架。系统对应的前台(客户端)为各系教学管理部门,方便各教学单位对系统初始信息的批量录入和维护,使得网络通信量小,应用服务器运行数据负荷较轻,并均衡了服务器和客户机的负载,提高了应用程序的运行效率。

②B/S模式下系统设计。基于多层驱动程序B/S应用程序构架,利用JDBC/ODBC桥连接,通过JSP(Java Server Pages)网络开发技术,建立更加友好、操作更加直观,更能满足用户使用习惯的用户界面。此模式对应的前台(客户端)范围将扩展到所有的注册用户,客户端通过浏览器进行信息的查询浏览,这样降低了对客户机的软硬件要求,大大缩短了应用程序的开发周期,更易于软件的开发、升级,节省开发维护费用,大大减少了系统管理员的工作量。

四、三种结构的比较

残酷的应试教育把分数和升学率看作是衡量教育成败的最重要的标准,不符合以学生为本的教育目标,更体现不出“人文关怀”这一理念。在教育中长期规划别强调,学校教育要充分尊重学生的各种需求,依据学生的身心发展特点实施教育,在学校管理上更要注重人文关怀,要以促进学生心理健康、和谐发展为工作的基本点和出发点,为学生营造出能够充分发挥他们的创造力,能让他们自主学习并热爱学习,能让他们公平发展、互相促进的学习氛围和校园环境。作为计算机软件开发人员,我们有责任研发出适应学生身心发展的成绩管理系统。下面,笔者对三种结构进行优劣势的比较。

1.C/S结构

C/S结构优点有:

① 支持数据资源共享,一个服务器为多个客户服务;

② 有效地支持处理任务分布和系统负载平衡;

③ 支持可扩展的层次结构,即服务器端组件可分解成不同的层次,提供相互独立的系统服务。

C/S结构缺点有:

① 客户端和服务器组件的功能不易区分,尤其是多层体系结构设计。

② 从两层结构到三层结构的迁移比较困难,往往需要重新进行系统分析,设计。

2.B/S结构

B/S结构的优点有:

①不用开发客户端软件,方便维护和升级。

② 可以跨平台操作,任何一台计算机只要装有WWW浏览器软件,都可以作为客户端来访问系统。

③有较好的开放性和可扩充性。

④ 可以采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。

⑤这就是B/S软件体系结构,该结构在管理信息系统开发领域中获得飞速发展,成为应用软件研制中一种新的体系结构。

B/S结构的缺点有:

客户服务管理程序篇11

    1 引言 

    Intranet这个名字自Internet商业化以来,已经成为部分企业日常管理的必要工具,由于Intranet本身的特点,多数人总容易与MIS 的概念混淆区别。若按一般的理解为:“防火墙之后的Internet”,确实与初级MIS(企业管理信息系统)有很多相似之处, 但本人认为Intranet不能与MIS相提并论, 可以从以下两点进行对比说明: 

    (1) Intranet是基于Internet技术之上,根据企业的应用需求特点,所开发出的增强应用技术平台。它侧重于平台技术。 

    (2) MIS构件包括计算机应用程序、OS、通讯协议等,它是一个综合系统,而且更注重于网上内容及网上管理。 

    由此可以得到结论,Intranet的出现只是更丰富了MIS的吸引力,完全代替MIS的含义范围的说法从应用与理论角度都是不正确的。 

    企业管理过程中由于概念上的混淆,目前在企业信息网的建设上普遍存在着两个误区: 

    (1) 将Intranet等同于MIS,认为MIS就是指C/S(客户机/服务器)模式,Intranet代表了新技术B/S(浏览器/服务器)模式。以前的所有系统设计方案都可用B/S模式来解决,全部系统在B/S模式下开发。 

    (2) 将Intranet与MIS对立,认为B/S侧重于信息文本,C/S 的数据库信息的形成过程也就是它的过程,主张数据库信息进出仍用C/S模式。 

    其实这两种做法都是偏激的,是对Intranet新平台的缺乏认识所致,有必要给予充分认识才能正确对待。 

    2 C/S和B/S 之比较 

    C/S和B/S是当今世界开发模式技术架构的两大主流技术。C/S是美国 Borland公司最早研发,B/S是美国微软公司研发。目前,这两项技术以被世界各国所掌握,国内公司以C/S和B/S技术开发出产品也很多。 

    2.1 C/S架构软件的优势与劣势 

    (1) 应用服务器运行数据负荷较轻。 

    最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则做出应答,送回结果,应用服务器运行数据负荷较轻。 

客户服务管理程序篇12

中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)35-2298-04

The Design and Implementation of Email Server based on WinSock

SUN Gen-qin1, HU Jing-Li2

(1. Gannan Normal University, Ganzhou 341000, China; 2. Science and Technology College of NCHU,Nanchang 330034,China)

Abstract: This paper firstly shows the services about the Internet, and then gives an introduction to the several of email protocol and the domain system, and at last studies the programming models of windows severs. Unifying the SMTP protocol, the POP3 protocol and MIME to develop the receiving and sending server of mails.

Key words: Email; SMTP; POP3

1 引言

电子邮件是Internet上最为广泛的一种服务。它方便使用,发送,阅读,答复和管理方便,而且速度快,成本低。因此,电子邮件发展比较快,技术较以前有了很大发展。邮件报文格式发展到多用途Internet邮件扩展(MIME)格式,这使得现在的电子邮件能不仅允许你邮递简单的文本文件,还可以传递二进制数据,图形图像,音频文件,视频文件等。在另一方面,邮件协议也得到完善,由SMTP发展到ESMTP,增加邮件的加密,使得邮件传送更为安全,高效。因此,电子邮件非常适用想进行快速信息处理以提高工作效率的现代企业。

2 TCP/IP协议组族

目前,在Internet广泛采用的协议是TCP/IP协议族。TCP/IP, 是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统,如图1所示。每一层负责不同的功能:

2.1 链路层

链路层有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。

2.2 网络层

网络层有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。

2.3 运输层

运输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议: TCP(传输控制协议)和UDP(用户数据报协议)。TCP为两台主机提供高可靠性的数据通信。UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。这两种运输层协议分别在不同的应用程序中有不同的用途。

2.4 应用层

应用层负责处理特定的应用程序细节。几乎各种不同的TCP/IP实现都会提供这些通用的应用程序:如:Telnet、FTP和e-mail等。

3 Internet电子邮件系统

Internet电子邮件系统一般是由输出队列,输出队列,客户处理,服务器处理以及接收邮件的邮箱组成的。其基本构成元素示意图如图2所示。

目前,许多机构都采用中继系统,修改的Internet电子邮件系统如图3所示。

在此系统中,在发送方和接收方之间有4个MTA。发送方主机上的本地MTA只把邮件交给它自己的中继MTA(该中继MTA可能在该机构的域中有一个mailhost的主机名)。这个通信就在该机构的本地互联网上用SMTP。然后,发送方机构的中继MTA就在Internet上把邮件发送到接收方机构的中继MTA上,而这个中继MTA就通过与接收方主机上的本地MTA通信,把邮件交给接收方主机。尽管可能存在其他协议,但这个例子中所有MTA均使用SMTP协议。

4 基于WinSock的邮件服务器

邮件服务器系统在VC++软件开发平台上实现,支持POP3、IMAP4、SMTP等国际标准邮件协议,是一款简单实用的邮件服务器。整个系统具有高伸缩性、可靠性和可用性,为适应用户需要特别提供一套系统中同时支持中、用户界面功能简单,满足局域邮件收发的需求,用户管理需求以及信件管理需求。

4.1 WinSock的概念

将Winsock细分为两种组件:Client Sock和Server Sock,它们分别作为客户端和服务器端的组件。通过这两种组件之间的通信,再加上辅助的应用程序代码,就可以实现一个简单的通信程序。当然,如果你想在客户端程序中再引入Server Sock的话,那么客户端程序就可以充当服务器了,可以对其他的客户端程序的请求进行响应。

如果正在编写服务器端程序,就必须设置Server Sock组件的Port属性。设置此参数主要是因为在同一台计算机上可能运行着多个服务器程序,而它们可能总在不停地接受来自于远程客户端程序的连接请求。也可以设置Service属性,它指示了Server Sock所提供的服务类型,比如:FTP、HTTP等,然后设置Active属性为True。

如果正在编写客户端程序,则设置Client Server组件的属性就多一些。Port属性应设置成和服务器端的Port属性值一致,另外Host的属性必须正确设置,它是一个只读属性,在设计时不可用。Host指示了客户程序所要连接的远程服务器的主机名。也可以设置Address属性,也就是远程主机的IP地址。

4.2 邮件服务器的概念

邮件服务器提供了邮件系统的基本结构,包括邮件传输、邮件分发、邮件存储等功能,以确保邮件能够发送到Internet网络中的任意地方。能基本实现各类信号的传送、接收和存贮功能,不只局限于信件中传递,还可以用来传递文件、声音及图形图像等不同类型的信息。

4.3 邮件服务器的功能

a) POP3邮件收取功能

POP3(Post office Protocol 3)L4 是TCP/IP网络经常使用的邮政协议标准的最新版本.POP3协议允许客户通过暂时的TCP/IP连接,从POP主机上取得电子邮件.POP协议最大的优点是不需要与网络保持不问断的连接,就可收取电子邮件。在默认情况自下,POP3的端口号是llO,其工作流程分为下面几步:

1) 客户机发出请求,请求和服务器连接;

2) POP3服务器应答,连接建立;

3) 客户机和服务器交互命令/应答和数据;

4 )结束连接。

b) SMTP邮件发送功能

该系统可设置SMTP发信认证,有效防止垃圾邮件;发件人身份验证支持由RF C2554、RFC2222和RFC 1995定义的发件人身份验证功能,方便用户通过客户端软件发送邮件。

信件管理功能:日常大量的电子邮件是需要管理的,对于个人来说工作量还好完成,但企业面临的问题就严重了,众多员工的往来信件需要解决空间、安全、归档、备份等等问题。

c) 邮件服务器的性能参数:邮件服务器的主要性能参数应当包括:SMTP发信效率、POP3收信效率、邮件服务器消息转发效率等等。影响邮件服务器使用的重要因素:网络带宽的影响、操作系统的影响、邮件设计技术的影响、用户配置水平的影响。

5 Windows下的服务器设计

在Windows操作系统中,服务器软件有三种技术可以并发处理来自多个客户机的服务器请求:多线程,消息驱动和循环处理。它们都有一些各自的特点:多线程编程最直接;消息驱动和循环处理只需要一个线程,节省了多线程间上下文切换的CPU开销;消息驱动是Windows操作系统所特有的。因而更适合Windows下应用程序编写的特点。但在循环处理的服务程序中,为了响应客户机的请求,代码使用异步接收和发送数据的办法把长的传输间隔分成足够短的间隔,这样就破坏了程序自然的逻辑顺序,整个代码看起来会很凌乱,消息驱动的服务程序结构虽保证了程序的逻辑顺序,但消息就像精灵一样,根本无法预知她什么时候会突然地冒出来,因而很难确切地知道代码实际运行的次序。Windows的多任务调度技术使得服务器可以给每个已连接的客户机创建一个线程。独立地处理请求和应答。这样,开发复杂的并发式TCP服务器程序就变得容易了。一个处理客户机请求程序的线程在收到完整的请求前能够一直保持阻塞状态,而不必担心会妨碍对其他客户机的处理。在收到请求后阻塞调用返回后,线程接着分析请求和应答,完毕后,线程或继续接收下一个请求或直接退出。多线程并发服务器和客户机交互的程序结构如图4所示。

和其它抢占式的多线程操作系统一样,32位的Windows操作系统提供了多任务的管理。这样,服务器程序能够为请求服务器的客户机建立一个或多个任务线程,以便同时处理。

6 邮件服务器系统的主要模块

6.1 概述

该邮件服务系统遵照SMTP协议,ESMTP协议,POP3协议,MIME协议。采用多线程并发技术,用户验证处理。其主要功能有:发送邮件,收邮件,用户验证并转发邮件,邮局信件服务,用户信件管理。

6.2 发送邮件模块

该模块的函数模块为SendEmail,遵照SMTP协议和Internet邮件系统,整个模块所需的类型为:

函数接口参数类型CemailMessage结构,它的定义如下:

typedef struct CemailMessage

{CString strEmailFrom; //起始邮件地址

CString strEmailTo;//目的邮件地址

CString strEmailBody;//邮件报文

};

邮件交换记录的报文报头的C语言描述如下:

typedef struct tagDNSHEADER

{USHORT id;//标识

unsigned short parameter;//参数

unsigned short questin_number;//问题数

unsigned short anwser_number;//答案数

unsigned short manager_number;//管理机构数

unsigned short accesory_info_number;//附加信息数

} DNSHEADER;

报文的问题单元的C语言描述如下:

typedef struct tagDNSQUESTION

{unsigned short query_type;

unsigned short query_class;

} DNSQUESTION;

整个函数模块流程如图5所示。

其中在邮件报文的发送SendEmailMsg函数中,若邮件目的地址非法,则必须进死信处理(DoDeadLetter)。

6.3 接收邮件模块

该模块函数为ReceiveMail,遵照SMTP协议。这个模块主要实现SMTP基本会话协议和邮件的存放。回话中,主要要进行必要接收用户名验证。其部分流程如图6所示。

6.4 用户验证并转发邮件模块

该模块主要实现用户的委托邮件发送,但必须进行用户名和密码的验证,遵照的ESMTP协议。因为通常用户名和密码采用BASE64码传送,所模块必须实现BASE64的解码函数(IsRegisted)。

6.5 邮局信件服务模块

该模块实现了邮件的离线邮局服务。实现POP3协议的基本命令。

6.6 用户信件管理模块

对服务器来说,用户的邮件管理显得很重要。在该模块中,对用户的信件采用了以txt和eml为基本格式,两层模式管理结构。以一个名为USER1为例,如图7所示。

当USER1收到一个邮件时,服务器在USER1的文件夹下,以收到该信件的时间为文件名登记在USER1.txt中,同时,建立20001009103410.eml来保存邮件。

7 小结

通过对各种邮件协议的研究,了解各种协议的概念和作用,对其标识有一定的掌握,该系统实现了各种协议的基本功能。该系统基本实现邮件的收发,信件管理,用户管理等基本功能,完成预期所要达到的目标。

参考文献: