用户满意度在线调查系统设计论文

上传人:bin****86 文档编号:57607155 上传时间:2018-10-23 格式:DOCX 页数:6 大小:18.66KB
返回 下载 相关 举报
用户满意度在线调查系统设计论文_第1页
第1页 / 共6页
用户满意度在线调查系统设计论文_第2页
第2页 / 共6页
用户满意度在线调查系统设计论文_第3页
第3页 / 共6页
用户满意度在线调查系统设计论文_第4页
第4页 / 共6页
用户满意度在线调查系统设计论文_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《用户满意度在线调查系统设计论文》由会员分享,可在线阅读,更多相关《用户满意度在线调查系统设计论文(6页珍藏版)》请在金锄头文库上搜索。

1、用户满意度在线调查系统设计论文用户满意度在线调查系统设计论文1 评选系统的设计11 系统结构设计本在线调查系统基于 B/S 架构,采取分层设计,模块化实现的思路进行构建,以便于系统的维护与扩展。整个系统划分为在线评选子系统与管理子系统两部分,分别面向大量的匿名用户与少量的管理人员使用。在线评选子系统是整个系统的核心,通过系统前台页面对企业产品信息进行展示。由于前台页面访问量比较大,且其框架结构在运行期间几乎不会变化,因此采取了写静态技术来实现,以达到性能的最优化。后台管理子系统访问量比较小,主要包括企业产品信息管理,评选数据的管理以及评选系统的维护。由于系统参数数据量小,将其存放于系统配置文件

2、中。12 评选交互设计全省参评企业产品数量多,如果全部同时展示出来,一方面传输数据量太大,另一方面不方便用户浏览,直接影响着用户的使用体验,同时,与大规模用户访问进行交互,也影响着系统运行的稳定性,需要尽量减少用户交互的数据量。因此,对企业产品进行了分类分组,当用户选择某一类产品时,会按产品分类从后台数据库中提取数据。13 数据库的设计数据库系统主要包括两个核心数据表:产品信息表与投票数据采集表,分别存放参评企业的产品信息与匿名评选人的投票记录。2 评选系统的实现21 匿名评选子系统的实现用户评选流程图用户选择一个产品类别后,通过产品分类提取模块,产生一个 Ajax 的 Get 请求,从后台数

3、据库中提取该分类的企业与产品信息。用户可以对产品进行评选,因为可以同时对多个产品进行同时评选,因此每选择一个产品时,即利用 JavaScript 程序进行检测与记录,选择结束后提交由后台程序进行处理。采取 Ajax 技术实现局部刷新,而不触发整个页面的回传,减少了网络数据传输量,显著提升系统性能以及用户操作体验。后台程序首先对验证码进行验证,另外,须对前台验证过的数据再次进行验证,比如一次评选产品数不能超过 10 个,以避免绕过前台检测的恶意攻击。为了防止用户重复评选,还需要对客户端的 IP 地址进行有效性验证。用户进行评选时,前台拼接提交的字符串,是通过分割符将多组所评选的产品编号与选项值分

4、割后组成的,示例字符串形式如“产品编号 1,选项值 X;产品编号 2,选项值 Y;产品编号 3,选项值 Z;” 。后台服务器上运行的数据库存储时,也仅需要一条 SQL 语句就能完成批量插入操作,操作效率非常高,示例 SQL 代码如“INSETINTOvotes(productid,option,ip)select 字段值列表 1UNIONSELECT 段值列表 2UNIONSELECT 段值列表3” 。其中,字段值是由强类型变量传入的,productid字段与 option 字段均为整型数据,而 ip 字段为长整型数据,均不会导致 SQL 注入攻击。另外,ip 字段定义为长整型数据要比定义为

5、char(16)类型数据,在进行 IP 地址查询时效率高得多,特别在用户访问量大时,更容易体现其性能优点。后台对客户端 IP 地址的有效性验证,是通过投票记录表中 IP 记录实现的,示例 SQL 代码为“selectcount(*)fromvoteswheredatediff(day,votedate,getdate()=0andip=用户 IP 地址” 。如果返回值与当前评选数之和大于 10,则说明评选超过当天评选数,评选无效。22 后台管理子系统的实现后台管理子系统主要提供给管理人员使用。通过后台管理系统,工作人员通过评选结果查看模块,实时查看企业产品的考评结果。可以按评分高低、所在区域等

6、多种方式进行排序,也可以导出 Excel 格式的结果。在产品数据管理中,可以将 Excel 文件或文本文档中的原始数据,远程批量导入企业产品信息表中。通过系统参数设置模块,可以设置数据库链接字符串,恢复与备份数据库等。系统参数的存放,在基于 ASPNET 技术进行开发时,存于webconfig 文件中,而基于 J2EE 技术开发时,则存于configproperties 文件中。假设某企业产品的调查数据是满意为 x,一般为 y,不满意为 z。那么该产品的用户满意度即等于(x+y07)/(x+y+z)100%。实现用户满意度计算的方式有多种,由 SQL 语句直接运算效率高且快捷,示例如下:语句1

7、:SELECT*FOM(SELECTprodid,SUM(CASEWHENoption=1THEN1ELSE0END)ASopt1,SUM(CASEWHENoption=2THEN1ELSE0END)ASopt2,SUM(CASEWHENoption=3THEN1ELSE0END)ASopt3FOMdbovotesGOUPBYprodid)astmp_A 语句2:SELECTname,product,opt1,opt2,opt3,(opt1*10+opt2*07)/(opt1+opt2+opt3)AStotalFOMproductsLEFTOUTEJOINtmp_AONproductsprod

8、id=tmp_Aprodid 语句 1 得到某产品满意度各类别计数值,并生成临时表 tmp_A,语句 2 得到满意度计算结果,通过表 products 与表 tmp_A 联合查询,可以得到企业名称(name),产品名称(product)等信息,以及最终满意度计算结果(total)。语句 1 与语句 2 可以合并为一条语句完成计算查询。23 安全问题及解决方案满意度在线调查系统采取的 B/S 结构,具有很强的开放性、共享性,这给网上投票系统带来了很多安全隐患。本系统采取的主要安全措施有 session 防护、验证码防护、IP 地址限制等。在进行识别码验证时,服务器产生一个唯一的会话标识符。会话标

9、识符可以采取 cookie 技术来存储,但是,如果用户的浏览器关闭了 cookie 的功能,将无法参与评选,因此采取 session 存储会话标识符。由于默认的session 有效期为 20 或 30min,当用户访问量大时,大量的会话消耗服务器端内存,会严重降低系统的性能。因此,可以设置 ses-sion 的失效期(timeout)为 2min,且仅在用户向提交数据时创建 session,这样既保证用户有足够的时间输入验证码,也保证了会话的及时关闭。在系统运行初始,通过后台管理页,曾发现投票数据出现两个可疑点:同一 IP 地址连续出现若干次后才开始变化;对同一产品的投票时间间隔非常短,统计结

10、果平均约为 30s,这在人工操作且需要输入验证码的情况下是难以完成的,由此认定是刷票的结果。防御自动投票软件的方法就是增加验证码识别难度。一般的验证码很容易被 OC软件破解,比如字迹比较清晰的数字图片等。另外还要防止系统出现漏洞:在每次投票时用户填写的验证码验证失败后,要及时更换,防止多次猜测同一验证码;在每次投票成功后,要及时清空服务器端 session会话,否则易招致攻击者重复提交。3 结束语本系统自从部署后,每年开通一次,每次在线调查历时约半个月,累计接受访问量约 30 万人次,参评约 8 万人次。在线调查期间,该系统经受住了复杂网络环境的考验,运行比较平稳。通过引入高难度的验证码方案,有效预防了自动化程序的攻击。但是,由于一些网络水军的存在,对在线评选活动造成很大冲击。这些所谓水军是网络上分散在各地方的人,有组织有预谋地进行投票,尽管政府与网络运营商共同对网络水军进行封杀,但依然没有更有效的措施进行预防。如何抵御网络水军的干扰,将是下一步研究的课题。特别鸣谢:河南省质量技术监督局质量管理处(省防伪办公室)宋松林处长和石笑宇主任提供的帮助。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号