互联网预约排队系统的设计与实现文献综述

 2022-11-13 11:25:19
{title}{title}

文献综述:

一、课题背景

近年来,随着移动互联网的极速发展,越来越多的人拥有可以接入互联网的移动设备(手机、掌上电脑),人们对于掌上设备互联网的服务需求要越来大,尤其是在公共服务、卫生医疗,银行等政府服务等方面人数众多,信息量大而密集的服务行业,通常是排队或非即时的预约,因此对被要求服务的人来说存在很大的不方便,但是随着移动互联网的普及和发展,排队叫号系统的需求应运而生,本此毕业设计的方向为主要为移动设备服务的互联网预约排系统的设计与实现。

二、选题意义

互联网预约排队系统,是针对掌上设备在使用移动互联网时能及时管理或者预约排队,基于这一现象,首先介绍了互联网预约排系统提出的实际背景,针对移动设备的特点等,提供了更加有效、便捷、科学的排队方式,缓解排队难的问题,系统主要为移动设备服务的互联网排队预约系统,针对不同的掌上设备浏览器的差异,因此对系统对各掌上设备浏览器的兼容性提出了比较高的要求,采用B/S架构的移动WEB设计框架来设计和实现程序。

三、国内外研究现状

随着数字一体化的极速发展,国内大型公共事务办理场所例如银行、政府服务机构已经基本全面覆盖了预约叫号系统,但是支持掌声设备的还很少,数据表明,截止2016年,已有80%的网站全部或者部分基于HTML5实现,也就是说大部分APP的内容都是以网页的形式体现的,典型的例子包括微信、Facebook、Twitter等。随着技术的成熟以及各种HTML5工具的涌现,HTML5已经渐渐走向标准化,而HTML5做移动开发也分两种,一种是正常的网页开发,另一种是封装成app运行在移动端。前者比较常见的有jQuery Mobile、Bootstrap、Kendo UI、Amaze UI等,后者主要是PhoneGap、MUI等。

四、核心算法

排队算法:在排队时排队预约系统采用了队列的方法实现,队列是一种特殊的线性表,它的特殊之处在于它是“先进先出(FIFO)结构”最先进入队列的人最先离开队列,而且只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。例如:在一个银行排队系统中,先进入队列的人成员总是先离开队列,当队列中没有元素时称为空队列,在空队列中依次加入a1、a2hellip;an之后,a1是队头元素,an是队尾元素。显然退出队列的次序也只能是a1、a2hellip;an,也就是说队列的修改时按照先进先出原则进行的,符合系统的实际需求。

(1)队列的链式存储:在队列的形成过程中,可以利用线性链表的原理,来生成一个队列。基于链表的队列,要动态创建和删除节点,效率较低,但是可以动态增长,新元素(等待进入队列的元素)总是被插入到链表的尾部,而读取的时候总是从链表的头部开始读取。每次读取一个元素,释放一个元素。所谓的动态创建,动态释放。因而也不存在溢出等问题。由于链表由结构体间接而成,遍历也方便,如图1。

(2)循环队列:在队列中有溢出的问题,解决假溢出的办法就是后面满了,就再从头开始,也就是头尾相接的循环。我们把队列的这种头尾相接的顺序存储结构称为循环队列,如图2。

图1.顺序队列

图2.循环队列

从时间上,其实它们的基本操作都是常数时间,即都为0(1)的,不过循环队列是事先申请好空间,使用期间不释放,而对于链队列,每次申请和释放结点也会存在一些时间开销,如果入队出队频繁,则两者还是有细微差异。

对于空间上来说,循环队列必须有一个固定的长度,所以就有了存储元素个数和空间浪费的问题。而链队列不存在这个问题,尽管它需要一个指针域,会产生一些空间上的开销,但也可以接受。所以在空间上,链队列更加灵活。,因此本系统采用队列来实现。

(3)具体算法:

1.判断队满:Q-gt;rear 1)%MAXSIZE == Q-gt;front,队头指针加1再mod队列长度,如果值为0,就说明队满。判断链队列是否为空很简单,比较队头指针与队尾指针是否重合即可,Q.front==Q.rear 。

1.入队操作

2.入队:如果队不满,我们就可以入队了。根据图,我们先创建一个结点s,QueuePtr s=(QueuePtr)malloc(sizeof(QNode));然后给s的data域赋值e,指针域next赋值null。s-gt;data=e;s-gt;next=NULL; 目的就是让它成为新任队尾元素。前任队尾元素直接让它的指针域指向s就行了:Q-gt;rear-gt;next=s;把队尾指针重新指向新任队尾s。Q-gt;rear=s;

2.出队操作

3.出队:出队其实就是删除队列(线性表)的元素,要删除掉a1结点,思路很简单,就是让头结点Q-gt;front的后继next直接指向a2。假设a1结点为p结点,那么a2就是p-gt;next了。如何让a1结点存到p呢?直接让头结点的后继指向p就行,p=Q-gt;front-gt;next;假如队尾已经是p结点的话(Q-gt;rear==p),队尾指针需要指向头结点Q-gt;rear=Q-gt;front;最后把p free掉。

五、涉及的相关技术

1、HTML5

HTML英文的全称为Hyper Text Markup Language,即超文本标记语言。它不是一种编程语言,而是一种脚本语言,不需要进行编译,直接由浏览器运行,用于开发web应用,借助于浏览器的支持,封装了具有统一标准的api,可以实现跨平台、跨设备运行,最大的优势就是一次开发,多处使用。

HTML5手机应用的最大优势就是可以在网页上直接调试和修改。原生应用的开发人员可能需要花费非常大的力气才能达到HTML5的效果,不断地重复编码、调试和运行,这是首先得解决的一个问题。现在html5的应用已经相当广泛,未来移动互联网都需要用到html5开发应用

2、JavaScript

JavaScript是一种直译式脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。常用来给HTML网页添加动态功能,比如响应用户的各种操作。

3、jQuery

jQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作。目前全球前10000个访问最高的网站中,有59%使用了jQuery,是目前最受欢迎的JavaScript库。

数据库方面:采用mysql但是由于本系统是B/S架构的所以采用phpMyAdmin ,phpMyAdmin是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。

六、参考文献

[1] 李张永,陈和平,顾进广.跨平台移动Web开发框架与数据交互方法 - 《计算机工程与设计》 - 2014

[2] 焦岩;基于B/S架构的预约挂号系统的设计与实现[D];河北科技大学;2011

[3].张筱舟. 论排队机的排队与预约应用

[4] Jason Ng. 对几种流行的手机浏览器评测比[N]. http://www.kenengba.com/post/375.html 2008《通讯世界》, 2016(16):266-267

[5] admin. 移动web设计之各个平台浏览器兼容性测试指南[N].

http://www.25xt.com/html5css3/6707.html 2015

[6].I Hickson :HTML5: A vocabulary and associated APIs for HTML and XHTML

[7] GP Copeland,MH Conner,GA Flurry.Integrated JSP and command cache for web applications with dynamic content - US - 2005

[8] D Flanagan.JavaScript: The definitive guide. 2nd ed - 1997

[9] 房晓溪. ASP.NET手机网络设计教程 [M]. 北京:水利水电出版社 2008

[10] 徐新. 精通ASP.NET2.0 [M]. 北京:机械工业出版社 2006

[11] 张晋芳.PHP在网站后台建设中的优势 - 《电脑开发与应用》 - 2012

[12] 刘斌. Java ME实用详解:用Eclipse进行移动开发 [M]. 北京:电子工业出版社 2007

[13]周玲余.基于jQuery框架的页面前端特效的设计与实现 -《计算机与现代化》 - 2013

[14]邵旖.基于Ajax模式的Web研究与应用.[D].武汉:武汉理工大学 2008

[15]杨焕.智能手机移动互联网应用的界面设计研究.[D].武汉:武汉理工大学,2013:1-214

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。