这些天来,很多网友给我来信,表达了他们的愿望,就是让我给出一份设计方案。我本庸才,不敢在众多
专家学者面前班门弄大斧,但对网友的热情难却,凑个热闹,也吼两声自己的丑陋看法,纯属瞎写,别见笑。
但我还是那句话,在高性能系统不宜使用数据库,只在数据管理中才会使用。
由于我对该系统的具体需求不清楚,只能假设一些需求,但基本思路都是一样的。
首先,由后台系统生成一个静态页面,上面标注了票的信息,比如那些有下拉框的地方,决不能通过数据库
查询出来,而是直接生成静态页面。页面上的所有的选项都是这样的方案。保证大家在打开网页时,
不会操作数据库。
例如:某个列表是这样的
id info
0 羽毛球
1 兵乓球
2 足球
3 篮球
4 拳击
然后在中间服务器的地方开辟一个大数组。如下构成:
int info[5];
0 2000
1 1000
2 20000
3 10000
4 2000
0表示数组下标,2000表示0代表的羽毛球的票数。当线程处理一个请求时,会判断报文的包头的协议类型,只要该
协议类型表示“我要订羽毛球票”1张,立刻将0对应的2000减1变成1999,如果另外的1999个同样的报文
发送过来,第2001个就会直接返回失败,表示羽毛球票已经定完。
接着,上述的报文会再根据“比赛项目”分发到对应的服务器上,可以用tcp协议,
例如ip指向192.168.128.111,port:9000的羽毛球数据存储服务器
在后台羽毛球数据存储服务器当中,为比赛项目,如羽毛球单建一个我称之为“数组链表”的数据结构。
如下结构
若干线程同时操作以下结构。P*为指向“羽毛球信息”的指针。
0 P*
1 P*
2 p*
3 P*
4 p*
5 p*
6 p*
7 p*
8 p*
9 p*
随机选择一个数组下标,把记录连接到后面的指针上,使每个数组下表后面都接一个链表。其实完全
可以用一个链表,只是这样做会减少线程同步带来的性能瓶颈(但是每个小一些的链表不能避免线程同步)。
如果设计时间充足,我觉得应该还有更好的算法。
这样,关于羽毛球的订票报文就全部被奥运门票系统接收了。接下来,羽毛球数据存储服务器就不会接收
报文了,可以从容的向数据库插入数据了,这一点可以人工控制,也可以批处理,总而言之就好办了。
最后,数据库归档以后,通过邮件向每个购买者确认即可。
建议类似羽毛球,兵乓球,篮球,110米栏热门项目单建服务器,其他像拳击等项目可以一起放到一个
服务器上。
建议后台数据存储的分布以项目来分,这样便于评估压力和性能需求。在上面没有用到任何数据库技术,用
单独设计的算法和数据存储结构即可实现高性能。这也是我一直强调的不要在高性能系统中使用数据库的原因。
在高性能系统设计当中,一般情况下真是很少使用数据库的。这个设计是随便想到的,如果给足够时间,
应该能设计出更好的系统。
分享到:
相关推荐
使用SQL(Structured Query Language),这是一种用于管理和处理关系数据库的标准编程语言,意味着学生或学习者将学习如何利用SQL来创建、查询、更新和维护一个与北京奥运会相关的数据库。 【描述分析】 描述中提到...
ASP(Active Server Pages)是微软推出的一种服务器端脚本环境,用于创建和执行动态、交互式的网页。在ASP中,开发者可以使用VBScript或JScript等脚本语言编写服务器端的程序,这些程序在服务器上运行后,将结果以...
在北京工业大学为2008年奥运会新建的羽毛球比赛场馆中,空调气流组织设计方案的优化与实施是一项极具挑战的任务。由于羽毛球运动对风速的敏感性,场馆设计要求地面以上9米区域内的风速必须严格控制在0.2m/s以内,以...
1. **汇编语言基础**:汇编语言是一种低级编程语言,它与计算机硬件紧密相关,每条指令都对应着机器码。在本设计中,你需要了解基本的汇编指令,如数据传送、算术运算、逻辑运算、控制流程等。 2. **内存管理**:...
此外,将备份放在“磁盘最后一个分区”是一种常见的做法,这样做可以避免备份文件被常规操作误删,同时也能节省其他分区的空间,因为系统备份通常会占用相当大的存储空间。 使用“一键还原精灵奥运版_080808”的...
GHOST作为一种被广泛认可的克隆和备份工具,具有高效创建系统镜像的能力。其不同版本——8.5和11.0,可能在性能和功能上有所差异。较早的8.5版本可能在稳定性和兼容性上有着更好的表现,而更新的11.0版本则可能加入...
数学建模作为一种强大的工具,在预测奥运会奖牌分布方面展现了其独特的优势。《数学建模学习方法-奥运会奖牌预测》这篇文章深入探讨了如何利用数学建模技术对奥运会奖牌数进行预测,并提出了一套系统性的预测方法。 ...
本文正是基于此背景,提出了一种数学模型来解决奥运会期间临时超市网点的设计问题。通过对统计问卷的数据分析、人流量分布的计算以及网点设计的规划,构建了一个整数规划模型,旨在确保超市布局满足购物需求、分布...
1. **ASP(Active Server Pages)**:ASP是微软公司推出的一种服务器端脚本环境,用于生成动态网页。它允许开发者在HTML中嵌入VBScript或JScript代码,实现动态内容的生成和交互。 2. **Web开发基础**:理解网站的...
2. **系统设计**:包括整体架构规划、模块划分等内容。 3. **关键技术实现**:详细介绍ASP技术的具体应用情况,比如页面跳转、表单验证等。 4. **测试与优化**:通过多种测试手段确保系统稳定运行,并针对存在的问题...
《基于人脸识别的门禁系统设计实现分析》 随着科技的快速发展,人脸识别技术在门禁系统中的应用已经成为一种趋势。人脸识别技术以其独特的特性和优势,如高辨识度、低误识率、操作简便以及广泛的适应性,正在逐渐...
点对多点无线监控系统是一种高效且灵活的远程监控解决方案,尤其适用于大规模监控网络的部署。此方案基于HiCONTECH公司的5.8GHz系列无线网桥和PierrorPLUS NV1000 VGA系列MPEG4网络视频编码器,提供稳定且高带宽的...
ASP.NET是微软公司推出的一种Web应用程序框架,它基于.NET Framework,用于构建动态网站、Web应用和服务。ASP.NET提供了丰富的功能和工具,简化了Web开发过程,支持多种编程语言如C#、VB.NET等。 在这个项目中,...
管理系统是一种组织、协调和控制管理活动的综合系统,它涉及管理者、管理对象以及在管理者监督下的各种活动。在这个课程设计报告中,我们关注的是一个特定的管理系统——奥运会管理信息系统,它是针对奥林匹克运动会...
ASP是微软公司开发的一种服务器端脚本环境,用于生成动态交互式网页。它允许开发者使用HTML、VBScript或JScript等语言编写页面,并在服务器端执行,将结果返回给客户端浏览器。ASP的主要优点包括易于学习、与Windows...
ASP(Active Server Pages)是微软推出的一种服务器端脚本环境,主要用于创建动态交互式网页。它结合了HTML、VBScript或JScript等编程语言,使得开发者可以构建功能丰富的Web应用程序。 首先,我们来了解ASP的核心...