‘壹’ Web 时代下构建石油知识共享平台
郭攀红 唐先明 计秉玉
(中国石化石油勘探开发研究院,北京 100083)
摘 要 目前石油领域没有一个汇聚知识、交流知识、传播知识、连接企业员工知识的社会化的网络平台。基于Web 2.0架构的软件,构建了知识沉淀、知识共享、知识学习及知识应用的应用环境,可应用于石油知识管理领域中,促进企业的知识能力创新。本文结合实践经验,提出并构建了石油知识共享平台,详细介绍了石油知识共享平台如何实现Web 2.0的架构和理念。
关键词 Web 2.0 知识管理 Wiki
Construction of Petroleum Knowledge Share PlatformIn Web 2.0 Architecture
GUO Panhong,TANG Xianming,JI Bingyu
(SINOPEC Exploration & Proction Research Institute,Beijing 100083,China)
Abstract Nowadays,the oil fields haven’t a knowledge network platform used for gathering knowledge, exchanging knowledge,propagating knowledge and connecting enterprise staff.This thesis is designed and implemented some social software based on Web 2.0 architecture,and applied it in oil knowledge management, which constructed a precipitating,sharing,learning and using knowledge environment.In the meantime,this thesis introces that how the oil knowledge Wiki system implement Web 2.0 architecture and some outstanding character.
Key words Web 2.0;knowledge management;Wiki
科研院所承担着科技创新和科技进步的重任,支撑着中国科技研究核心竞争力的提升,同时,也为国家石油经济战略决策提供重要依据。中石化石油勘探开发研究院是知识高度密集型单位,是知识、研发成果的加工厂,是高水平人才从事创新研究的基地。因此,在中石化石油勘探开发研究院建立知识管理体系、开展知识管理技术的应用尤为重要,可以说知识管理是研究院信息化建设的重点。
随着Web 2.0架构的广泛应用,网络上出现了众多的Web 2.0类型的学习交流网站和工具,但是这些通用型的社会网络工具并不能满足石油专业技术人员的需求,首先它们的网站定位多以娱乐休闲为主,整个平台内容大而全,无专业性的知识,并且处于一种信息孤岛的状态,没有进行知识和应用的整合,用户每天需要登录不同的网站来获取信息。同样,现在也有许多的石油专业信息网站,但是它们大多是传统的Web 1.0方式,用户不能有效地分享自己的石油专业知识,只能是少数的管理员添加内容,并且无有效地激励和管理机制,导致网站中内容不丰富,而且这些网站多是以石油商务性的知识居多,勘探开发专业知识很少。
中石化石油勘探开发研究院作为知识的密集区域,每个人手中都有许多的石油专业资料,头脑中有许多的石油专业知识,但是每个人又都觉得自己的资料不够用,遇到问题时,没有地方去请教,没有地方去查找。其实这个问题的关键是:知识是离散的,没有实现知识的汇聚和关联;思维是离散的,没有实现思维的汇聚和关联。也就是说没有一个汇聚知识、交流知识、传播知识、知识连接你和我的社会化网络平台,因此,建立一个统一的、开放的、集成的石油知识共享平台,能有效地实现石油勘探开发显性知识及隐性知识的汇聚及分享,成为迫切所需。其作为知识管理系统的重要组成部分,对于石油企业的知识管理战略的实现具有重大的现实意义。
同时,对于企业的内部员工,利用石油知识共享平台可以公平地获取资源和传播信息、知识、思想、智慧;可以认识朋友,扩充人脉;可以交流、学习、协作;可以发展、提升;可以积累社会资本,塑造个人品牌,以更好地进行社会生存。
本文将介绍如何运用Web 2.0相关概念及技术工具构建石油知识共享平台,帮助石油企业实现高效的知识系统管理。
1 知识管理及Web 2.0概述
所谓知识管理[1],就是通过管理与技术手段,使人与知识紧密结合,让知识的沉淀、知识的共享、知识的学习和知识的应用及创新这个 “知识之轮” 循环转动(图1),并通过知识共享的文化,提高企业的效益和效率,为企业创造价值,赢得竞争优势。
如上定义可用一个公式表达如下:
图1 驱动“知识之轮”
油气成藏理论与勘探开发技术:中国石化石油勘探开发研究院2011年博士后学术论坛文集.4
其中 “P” 指人(People);“+” 为管理及技术手段;“K” 为知识(Knowledge);“S” 指共享的文化与氛围(Share)。这样看来知识管理简单地说即是通过技术手段(+)将人(P)与知识(K)充分结合,通过知识共享的管理机制和文化(S),使知识的价值成指数级提升,最终实现知识的社会化。知识的社会化对人类甚至高等动物的发展起着至关重要的作用。
自从2004年Web 2.0架构出现[2],互联网络步入了一个社会化的网络时代,其优秀的技术架构和开放的管理模式为企业知识管理系统注入了新的活力,充分体现了人与知识的紧密结合。
2004年,O'Reilly公司和MediaLive公司采用头脑风暴法,在总结Web 1.0的经验教训的基础提出了Web 2.0的理念[5]。Web 2.0目前没有一个统一的定义,互联网协会对Web 2.0的定义是:Web 2.0是互联网的一次理念和思想体系的升级换代,由原来的自上而下的由少数资源控制者集中控制主导的互联网体系转变为自下而上的由广大用户集体智慧和力量主导的互联网体系。互联网2.0内在的动力来源是将互联网的主导权交还个人从而充分发掘个人的积极性参与到体系中来,广大个人所贡献的影响和智慧及个人联系形成的社群的影响就替代了原来少数人所控制和制造的影响,从而极大地解放了个人的创作和贡献的潜能,使得互联网的创造力上升到了新的量级。
Web 2.0作为一种新技术架构,它的服务是由许许多多社会网络服务软件组成的。比如博客(Blog)/播客(Podcast)、顶客(digg)、维基网络(Wiki)、内容聚合(RSS)、图像分享(Flickr)、视频分享(YouTube、薯仔网)、网络办公(Google Docs)、社会书签(Delicio.us)、社交网络(开心网)、社会标注评论(Diigo)、幻灯片共享(Slideshare)等等。
其特点如下[5 ]:
1)多人参与,利用集体力量和智慧。传统网站是自上而下的集中发布的旧体系,用户只能看到设计者让他们看到的内容。Web 2.0网站则是以用户为中心,大部分的内容是由用户贡献的,是自下而上的由广大用户集体智慧共同来创造内容,能够充分发挥个人的积极性和创造性。Web 2.0的灵魂是人。
2)可读可写互联网。在Web 1.0里,互联网是 “阅读式互联网”,用户只能读取网络内容,而Web 2.0是 “可写可读互联网”,普通用户对网络内容可读、可写,每个人都能写入内容。
3)海量的数据。Web 1.0网络内容是封闭而死板的,内容增长能力很弱,Web 2.0网站信奉的是 “数据为王”,将数据变为自我增生( “Intel Inside”)。它们通常都具有巨大的数据资源,并且内容是开放且活跃的,商业模式就是让用户消费这些数据。
4)社会化网络。传统网站的用户之间往往是孤立的,Web 2.0网站则加入了社交元素,让用户之间能够建立联系,把互不沟通的离散人际关系体系转变成沟通顺畅的社会关系网络体系。
Web 2.0对于构建学习型、知识型的组织结构也是一种有力的手段,众多的社会性软件服务为人们的学习提供了良好的支持,与学习的发生和知识的转化相辅相成。
2 石油知识共享平台架构
石油知识共享平台是为共享石油方面的知识而建立的Web 2.0类型的学习型共享网络,图2为石油知识共享平台的架构图,包括功能层和知识应用模型层,通过从知识沉淀、知识汇聚、知识审核、知识存储、知识关联、知识互助、知识获取、个人知识管理到知识应用及知识创新的一整套知识管理流程,来实现隐性及显性石油专业知识的汇聚及分享。
石油知识共享平台的构建目标主要集中在4个方面:实现汇聚,实现关联,实现知识的转化,以及实现个人知识的管理。
2.1 实现汇聚
包括网络资源的汇聚、社会资源的汇聚、知识的汇聚和思维的汇聚。实现汇聚,将能极大地促进知识的利用效率,促进人与知识更和谐地结合。
图2 石油知识共享平台架构图
2.2 实现关联
除了汇聚外,更重要的是要实现关联,包括网络资源间的关联(即构建互联网络)、社会资源间的关联(即构建人际关系网)、知识的关联(即构建知识网络)、思维的关联(即形成集体性智慧)。同时,不仅要实现同类资源内部的关联,更需要实现资源间的关联。例如,知识与社会资源的关联、知识与思维的关联等。这样用户可以找到与自己兴趣相符合的学习群体和相关链接,轻松方便地查看自己感兴趣的知识,不至于在茫茫的网海中搜索寻觅。
2.3 实现知识的转化
知识包括显性知识和隐性知识,隐性知识即人脑思维。知识的最大未知区在于人脑中,所以知识管理的关键在于怎样实现隐性知识的转化,包括隐性知识向显性知识的转化以及隐性知识向隐性知识直接的转化。
2.4 实现个人知识的管理
在信息化社会,网络知识无限扩充,并且处于杂乱而无序状态,所以需要借鉴纸质资料的知识管理过程来构建网络的个人知识管理,把有用的网页收藏起来,对它高亮标识并注释以及分类、聚合,形成自己的网络知识收藏;能方便地与其他人分享自己的个人收藏,并从其他用户的收藏中进行有针对性的信息采集,提升自己的知识水平。
石油知识共享平台具有典型的社会网络服务的特点,除了具有社会性、开放性、互动性等特征外,还具有以下独特的地方:
1)强调实现实名制。一般的Web 2.0应用中,用户可以任意注册,具有虚拟性、匿名性的特征,容易产生信任危机,而石油知识共享平台将采用企业电子邮件等注册方式,限制会员的注册权限,真正实现实名制,从而让人形成责任感并减少不信任感,沟通距离会更近。
2)强调通过知识的互帮互助来建立新型的关系。该平台将打破传统的组织机构的界限,通过知识分享、知识的交流、共同的成长来建立学习型的组织关系。员工与员工之间、员工与领导之间、专家学者与领导之间、领导与领导之间、专家学者及权威人士之间,都可以更加轻松地互相沟通交流,打破了外在条件约束和情感障碍。
3)强调知识权威性的审核和评定。普通的Web 2.0不强调权威性审核,但是石油知识共享平台将强调用户及知识的权威性的审核和评定,以保证石油专业知识的可靠性和权威性。
3 石油知识共享平台主要功能
石油知识共享平台PKSNS包括以下5个功能模块:石油知识资讯模块,石油知识共享模块,个人知识收藏模块,石油知识问答及论坛,石油知识网络全书。将来随着技术和管理理念的提升内容会不断扩充。
3.1 石油知识资讯模块
将分专业、分研究方向设置多个栏目,每个栏目由知识工程师设置知识采集的条件,分发爬虫,到石油专业网站中采集最合适的内容,返回给栏目。同样地,石油知识共享平台的每个栏目都会有爬虫去网站中自动的爬取知识,称为知识爬虫。这部分就体现了知识的汇聚目标。
采集后的知识并不以时间先后顺序放在首页,而是放在一种类似缓存的地方,用户可以判断每个知识的价值,有价值就顶,无价值就踩,越顶排名越靠前,越踩排名越靠后。用户可以做心情评价,做评论。这体现了知识与思维的关联。
3.2 石油知识共享模块
包括书籍共享、文档共享、图片贡献、幻灯片等等,通过这个成果知识共享平台,用户可以把手中的成果资料共享到平台中。贡献与获得成正比。贡献得越多,所获得的知识内容也越多;贡献越少获得越少,没有贡献将没有获得。从而发挥用户共享的积极性,这体现了知识汇聚目标。
在每本项目成果报告页面上,都关联项目的图片册、项目的汇报录音、幻灯片等,在同一平台上把各种显性的知识和隐性的知识关联起来,体现了系统的构建目标,即知识的关联。
3.3 个人知识收藏模块
信息社会,网络知识无限扩充,并且处于杂乱而无序的状态,在石油知识共享平台可以利用个人知识收藏平台,收藏自己喜欢的网页,并且点击编辑后,可以对网页在线进行标注,包括高亮标识及注释,成为自己的知识收藏;也可以搜索到感兴趣的人,点击进入他的知识收藏中进行学习。这体现了系统的构建目标,即个人的知识管理和学习的目标。
3.4 石油知识问答及论坛
通过提问、回答、投票、评分4个阶段来完成问答流程。这个子系统的功能实现了知识转化的目标,即隐性知识向显性知识的转化。
3.5 石油知识网络全书
采用wiki这种面向社群的协作式方式编纂石油知识网络全书,特点是普通用户自由创建词汇,协作编辑共同完成。实行权限、版本控制,以确保能回滚到最佳内容状态,这样有效地保护了知识内容的权威性。
4 应用效果分析——以石油知识网络为例
很多的网络,如网络平台、互动网络平台等,内容过大而过全,但有关石油的内容很少,分类粗糙,词条的解释并不专业,且功能较简单,不能完全满足应用需求,如没有英文解释,没有相关词汇,没有上位词、下位词、相关词等语义逻辑关系,因而这类通用的网络网站不能满足石油专业知识管理的需求,于是作者建立了针对石油专业应用的知识网络平台,按照勘探、开发、工程及综合四大类把石油专业主题词、石油网络全书、实用案例等,采用基于Wiki架构的知识协同建构方式共同来完成,充分发挥用户的创造力和参与性。
Wiki来源于夏威夷语 “Wee Kee Wee Kee”,即 “快点快点” 之意[5 ],中文译为 “维基” 或 “维客”。Wiki是一种多人参与的知识集成方式,其通过对信息多人协作、多人维护、自由发表的形式对共同的主题进行补充和丰富,有利于读者从不同作者的不同角度实现对一个专题的了解。例如,项目长编写前言,确定目录,每个子部分由项目组成员来共同完成,如图3所示。
石油知识网络平台具有严格的权限、版本控制以及审核流程。用户编辑完成,提交给知识管理员进行审核,审核完以后,编辑才算完成,如果审核不通过,能够确保回滚到最佳内容状态。所以采用这种流程的控制策略,可以有效地保护知识内容的权威性,但又不抹杀个人知识共享的积极性。
石油知识网络平台的成果是一个不断完善的石油专业知识库,享用这个知识库的人要比为这个知识库做贡献的人多得多。作为一种知识社会性的工具,它在提供知识共享的同时,亦不断地促进、激发知识的创新。
图3 Wiki以协作的方式对词条内容进行编辑
石油知识网络平台将原本杂乱无联系的词条以主题词链接的方式连接起来,以线性的网状组织方式,体现了词条间的类目关系,加强了对知识信息的导向性挖掘,并以部门、知识等为整体,将知识修改的不同版本列出,方便词条修改、创建者相互联系,加强相互之间的交流。
石油知识网络平台与石油网络平台中其他系统进行了有效集成,并且其他任何外部的应用系统都可在线查询石油词汇解释,图4所示是重大专项的管理信息系统,页面上鼠标滑过词汇后,会自动关联到石油网络中的解释,如果没有这个解释,会提示您去创建。同时,石油知识网络平台与地理信息系统进行了有效集成,编辑词条时可以点击修改和添加地图,填写经纬度坐标,然后在GIS中就会自动标注这个词条的地理位置,点击后能进入石油网络中详细查看这个词条的解释。
石油知识网络平台已经由知识管理员把《中国石油勘探开发网络全书》[7]4本全部录入,共有6000条条目,630万字,2200幅图片。广大的普通用户可以任意添加词条,进而扩充石油知识网络平台,因而,石油网络知识的内容会无限的扩充。
石油知识网络平台建立了词条间的逻辑关联,词条间具有语义的逻辑关系,包括同义词、上位词、下位词、英译名等等,如图5所示。知识管理员已经把1994年出版的《石油主题词表》[8]收录进该平台,收录主题词16939条,详细构建了石油词汇间的语义逻辑关系,并且普通用户也可自行添加词汇逻辑关系,这样,词条间的语义关系会更为庞大,更为合理。
石油知识网络是专为石油知识定制,由广大用户集体智慧共同创造知识,并且是开放而活跃的新体系。普通用户对石油知识网络的访问、词条的修改、词条的创建过程中,也是实现对知识的沉淀、知识的共享、知识的学习和知识的应用及创新这个 “知识之轮”的循环驱动。其实PKSNS平台中所有的子系统都具有这个知识流程的驱动过程,是开放而活跃的,是体现群体性智慧的知识管理平台。
图4 重大专项管理信息系统集成石油知识网络平台词条解释
图5 词条语义逻辑表
5 小结
石油知识共享平台利用Web 2.0架构下的各种技术手段将石油企业内部员工与石油专业知识充分结合,实现了隐性及显性石油专业知识的汇聚及分享,并构建了学习型共享组织,倡导了企业知识共享的管理机制和文化,使得石油专业知识的价值成指数级提升,最终将实现石油知识的应用及社会化。
参考文献
[1]吴庆海,周伟,夏敬华.驱动知识之轮.企业基业常青,http://www.kmcenter.org/ArticleShow.asp? ArticleID=1532.
[2]王伟军,熊瑞,张扬.Web 2.0与知识管理平台集成研究[J].情报资料工作,2007,(5):37240.
[3]武琳.Web 2.0时代信息交流模式分析[J].情报杂志,2006,(3).
[4]胡科,王荣良.基于Web 2.0的wiki技术应用研究[J].中国电化教育.2006,(9).
[5]赖晓云.Wiki在基于网络的研究性学习中的作用[J].现代远程教育研究,2005,(6).
[6]Murali Raman,Terry Ryan,Lorne Olfman.Designing knowledge management systems for teaching and learning with Wiki technology.
[7]刘宝和.中国石油勘探开发网络全书[M].北京:石油工业出版社,2008.
[8]杨义忠,王承勇,林淑凤.石油主题词表[M].北京:石油工业出版社,1994.
‘贰’ javaweb开发中通知公告的功能分析
用户表给一个状态字段status,在程序里select某人的status值,1代表上级,2代表下级,3代表下下级。然后程序实现你的逻辑上级可以发通知给同级及下级,下级不能发送通知给上级
‘叁’ 什么是web服务体系结构web服务体系结构具有哪些特征
Web Services体系结构是面向对象分析与设计(OOAD)的一种合理发展(logical evolution),同时也是电子商务解决方案中,面向体系结构、设计、实现与部署而采用的组件化的合理发展(logical evolution of components geared towards the architecture, design, implementation, and deployment of e-business solutions)。这两种方式在复杂的大型系统中经受住了考验。和面向对象系统一样,封装、消息传递、动态绑定、服务描述和查询也是Web Services中的基本概念,而且,Web Services另外一个基本概念就是:所有东西都是服务,这些服务发布一个API供网络中的其他服务使用,并且封装了实现细节。
具体见:
http://blog.chinaunix.net/uid-714081-id-2678597.html
‘肆’ 什么是web五层结构
就是B/W/C/D/C结构
B: Browser; W: Web Server; C: CRUBA Server; D: Database; C: Client
传统的Web数据库B/W/D结构也逐渐暴露出了许多不足:
(1)由于浏览器只是为了进行Web浏览而设计的,当其应用于Web应用系统时,许多功能不能实现或实现起来比较困难。比如:通过浏览器进行大量的数据的录入,或进行报表答应都是非常困难和不便的。
(2)复杂应用构造困难。虽然可以用ActiveX,Java等技术开发较为复杂的应用,但是相对于发展已经非常成熟C/S的一系列应用工具来说,这些技术的开发复杂,并没有完全成熟的技术供使用。
(3)Web Server成为Database的唯一的客户端,所有对数据库的连接都通过该服务器实现,Web服务器同时要处理与客户请求及数据库服务器的连接,当访问量大时,Server负载过重。
2.1 Web数据库的五层体系结构
正是由于B/W/D结构自身具有的这些弱点,为了改善其不足,在其基础上,提出了一新的结构体系—— B/W/C/D/C结构
五层体系结构有如下优点:
(1)充分发挥了B/S结构与C/S结构系统的优势,扬长避短。充分考虑用户利益,保证浏览查询者操作方便的同时也使得系统的更新简单,维护简单灵活,易于操作。
(2)信息发布端采用B/S结构,保持了瘦客户端的优点。装入客户机的软件可以采用统一的WWW浏览器。而且由于WWW浏览器和网络综合服务器都基于工业标准,可以在所有平台上工作。客户机或服务器的操作系统也可以完全统一,客户端存在的各种问题迎刃而解。
(3)数据库端采用C/S结构,通过ODBC/JDBC进行连接。这一部分的功能只涉及到系统维护,数据更新等,客户端很少,不存在完全采用C/S结构带来的客户端维护工作量大等缺点。并且,在客户端上可以构造非常复杂的应用,界面友好灵活,易于操作,能解决许多B/S存在的固有的缺点。
(4)许多原有的基于C/S结构的系统可以非常容易地升级到五层体系结构,只需要开发用于发布的WWW界面,可以保留原有的C/S结构的某些子系统,充分地利用现有资源。使得现有系统或资源无需进行大的改造即可以连接使用,保护了用户以往的投资。
(5)由于应用了CORBA服务器,对数据库的访问提供了一个统一的接口,使CORBA服务器具有共享性,形成了模块性更强的结构,更易扩充,升级。
‘伍’ 什么是构成Web的五大要素
URL、HTTP、HTML(以及XML)、Web服务器和Web浏览器是构成Web的五大要素。
Web的本质内涵是一个建立在I**ter**et基础上的网络化超文本信息传递系统,而Web的外延是不断扩展的信息空间。Web的基本技术在于对Web资源的标识机制(如URL)、应用协议(如HTTP和HTTPS)、数据格式(如HTML和XML)。
Web(World Wide Web、万维网)技术是电子商务的核心技术。Web的思想可追溯到Tim Ber**ers-Lee于1989年3月在CERN (Ce**tre Europea** pour la Recherche Nucleaire,或称Europea** Laboratory for Particle Physics、欧洲粒子物理实验室)写的一个关于信息管理的项目建议书(I**formatio** Ma**ageme**t: A Proposal)。该建议书提出了分布式超文本系统的设想,旨在将CERN已有的几个信息服务器一体化,并提供一个简单的用户界面来存取各种形式的信息。1990年Web浏览器和Web服务器使用面向对象技术相继在CERN实现。Ber**ers-Lee 和他的合作伙伴成功引入了构成Web体系结构的基本元素:Web服务器、Web浏览器、浏览器与服务器之间的通信协议HTTP(Hypertext Tra**sfer Protocol 、超文本传输协议)、写Web文档的语言HTML(Hypertext Markup La**guage、超文本标记语言)、以及用来标识Web上资源的URL(U**iversal Resource Locator 、统一资源定位器)。1993年,美国伊利诺斯大学国家超级计算应用中心NCSA (Natio**al Ce**ter for Supercomputi**g Applicatio**s)的Marc A**dreese**及其合作者发布了称为Mosaic的浏览器,这是第一个较健壮的易用的浏览器,它具有友善的图形用户界面。从此,Web迅速成长为全球范围内的信息宝库。1994 年,W3 联盟在Tim Ber**ers-Lee的领导下成立,该组织通过制定技术规范与提供参考软件来发展Web的技术标准并促进Web产品之间的互操作性。
URL(U**iversal Resource Locator 、统一资源定位器)用来唯一标识Web上的资源,包括Web 页面、图象文件(如gif 格式文件和jpeg格式文件)、音频文件(如au格式)、视频文件 (如mpeg格式文件)。URL的格式为:协议://主机名<:端口号>/标识符(例如 http://www.seu.e.c**:80/i**dex.aspl )。协议可以是HTTP、HTTPS(安全的超文本传输协议)、FTP;主机名用来标识被请求的服务器;端口通常为不同协议保留,例如FTP和HTTP守护进程侦听不同的端口,FTP缺省的端口号为21,HTTP缺省的端口号为80;标识符说明被请求的是什么,可以是文件名(含路径)或一个应用关键字 (如/cgi-bi**/和/servlet/)加上一些信息(如一个脚本的名字和servlet的名字)。例如,用户键入URL格式的地址(例如http://www.seu.e.c**:80/i**dex.aspl);浏览器请求主机www.seu.e.c** 在80端口提供的HTTP服务,并要求取得该服务器上的i**dex.aspl文件;服务器接受请求,取得该文件;服务器把文件返回浏览器,并告诉浏览器这是一个HTML文件;浏览器在显示器上显示这个页面。在浏览器和web服务器之间使用的协议是HTTP。
‘陆’ web中的消息推送和实时通知怎么做
web中的消息推送和实时通知怎么做 main(){ char a,b,c; printf("input character a,b,c\n"); scanf("%c %c %c",&a,&b,&c); printf("%d,%d,%d\n%c,%c,%c\n",a,b,c,a-32,b-32,c-32); } 输入三个小写字母,输出其ASCII码和对应的大写字母。 【例4.13】 main(){ int a; long b; float f; double d; char c; printf("\nint:%d\nlong:%d\nfloat:%d\ndouble:%d\nchar:%d\n",sizeof(a),sizeof(b),sizeof(f),sizeof(d),sizeof(c)); } 输出各种数据类型的字节长度。 4.6 顺序结构程序设计举例 【例4.14】输入三角形的三边长,求三角形面积。 已知三角形的三边长a,b,c,则该三角形的面积公式为: , 其中s = (a+b+c)/2
‘柒’ 构成Web有几大要素
构成web的要素有:文字、图片、多媒体以及底层代码。
文字与图片是构成一个网页的两个最基本的元素。你可以简单的理解为:文字,就是网页的内容,图片,就是网页的美观。除此之外,网页的元素还包括动画、音乐、程序等等。
在网页上点击鼠标右键,选择菜单中的 “ 查看源文件 ” ,就可以通过记事本看到网页的实际内容。可以看到,网页实际上只是一个纯文本文件,它通过各式各样的标记对页面上的文字、图片、表格、声音等元素进行描述(例如字体、颜色、大小),而浏览器则对这些标记进行解释并生成页面,于是就得到你现在所看到的画面。 为什么在源文件看不到任何图片? 网页文件中存放的只是图片的链接位置,而图片文件与网页文件是互相独立存放的,甚至可以不在同一台计算机上。
‘捌’ HTTP和Websockets:了解现在的Web通信技术
API有很多分类。但是当涉及到网络通信时,我们可以确定两种重要的API类型 Web Service APIs (例如SOAP,JSON-RPC,XML-RPC,REST)和 Websocket API 。但是,这些到底是什么意思?让我们深入了解Web通信协议的世界,并在最后讨论如何选择最佳的API机制。
HTTP是互联网的基础通信协议。 HTTP在客户端-服务器计算模型中充当请求-响应协议。 HTTP / 1.1是现代Web浏览器和服务器中使用的最常见的HTTP版本。与HTTP的早期版本相比,此版本可以实现关键的性能优化和功能增强,例如持久性和流水线连接,分块传输,请求/响应主体中的新标头字段等。其中,以下两个标头非常值得注意,因为HTTP的大多数现代改进都依赖于这两个标头。
到目前为止,REST(REpresentational State Transfer)的体系结构样式是构造用于请求的Web API的最标准化的方式。REST纯粹是一种基于多种原则的建筑风格。遵循REST原理的API称为RESTful API。REST API使用请求/响应模型,其中来自服务器的每个消息都是对来自客户端的消息的响应。通常,RESTful API使用HTTP作为其传输协议。在这种情况下, 查找 应使用 GET 请求。 PUT , POST 和 DELETE 的要求应当用于 修改 , 插入 ,和 删除 分别(避免 GET 用于更新信息的请求)。
在HTTP轮询中,客户端通过遵循以下机制之一来轮询请求新信息的服务器。如今,大多数应用程序都使用轮询,并且大多数情况下轮询是通过RESTful实践进行的。实际上,很少使用HTTP短轮询,并且始终选择HTTP长轮询或定期轮询。
HTTP流传输—提供长期连接,可进行即时和连续的数据推送
客户端发出一个HTTP请求,服务器发送一个不确定长度的响应(就像无限轮询一样)。HTTP流是高性能,易于使用的,并且可以替代WebSockets。
HTTP / 2是基于复用的流的有效传输层 -根据IETF,“流”是一个HTTP / 2连接内的客户机和服务器之间交换的帧的独立的,双向序列。它的主要特征之一是单个HTTP / 2连接可以包含多个并发打开的流,其中任一端点都可以从多个流中插入帧。
WebSocket允许服务器和客户端在任何时间推送消息,而与先前的请求没有任何关系。使用WebSockets的一个显着优势是, 几乎每个浏览器都支持WebSockets 。
WebSocket解决了HTTP的一些问题:
示例应用程序:IM / Chat应用程序,游戏,管理前端
尽管据说每个浏览器都支持WebSockets,但中介程序中也可能有例外:
如果对REST和Websockets进行性能测试,则可能会发现存在高负载时Websockets的性能更好。这并不一定意味着REST效率低下。我个人的看法是,将REST与Websockets进行比较就像将苹果与橙子进行比较。这两个功能解决了两个不同的问题,无法与像这样的简单性能测试进行比较:
但是,您现在应该了解,WebSockets是以近乎实时的方式处理长期存在的双向数据流的绝佳选择,而REST非常适合偶尔进行的通信。使用WebSockets本身占用资源比较多,因此对于偶尔的连接来说是过大的选择。
如果要在数据更改时从API获取数据,则必须首先考虑使用轮询。但是,当涉及服务器之间的通信时,低效率的轮询使我们付出了很多代价(平均而言,浪费了98.5%的轮询)。
Webhooks —在没有长期轮询连接的服务器之间发送数据的简单方法
Webhooks是此问题的救星。在此请记住,通信通常发生在服务器之间。首先,发送方节点预先在接收方节点中注册一个回调URL。当发送方发生事件时,Webhook会被触发,并使用在每个接收方中注册的回调URL,将带有新数据的事件对象作为HTTP POST请求发送到接收方节点。
很酷的事情是,可以通过webhooks大大减少发送方和接收方节点的服务器负载。它可以确保更好的用户体验,同时开发人员可以将服务端点用于有意义的事情,而不会浪费轮询。
Webhooks通常用于在事件发生时在服务器之间发送通知和状态更改。例如,当用户通过单击电子邮件中的按钮取消订阅时,它到达服务器,并且发生用户取消订阅事件,此事件触发相应的Webhooks,并且他们通知所有服务器/服务该用户现在已经从其订阅服务器中取消订阅。服务
使用哪种技术取决于在您的应用程序上下文中什么才更有意义。当然,您可以使用一些技巧来模拟一种技术与另一种技术的行为,但是通常更可取的是使用一种更适合您的通讯模型的技术(当被本书使用时)。
HTTP and Websockets: Understanding the capabilities of today’s web communication technologies
‘玖’ 如何搭建一个比较完整的web服务器体系
1,安装服务器操作系统
2,安装WEB服务,如IIS,PHP等
3,制作网页
4,购买域名和空间
5,设置域名解析到空间地址
6,记得备案
‘拾’ web中的消息推送和实时通知怎么做
Web端 常见的消息推送实际上大多数都是模拟推送,之所以是模拟推送,是因为这种实现并不是服务器主动推送,本质依旧是客户端发起请求,服务端返回数据,起主动作用的是客户端。短轮询:实现上最简单的一种模拟推送方法,原理就是客户端不断地向服务端发请求,如果服务端数据有更新,服务端就把数据发送回来,客户端就能接收到新数据了。
消息推送可以试一试极光。Push 支持开发者直接通过极光推送的控制台,通过地图圈选一个经纬度范围,创建一个虚拟的栅栏围出一个虚拟地理边界,当开发者APP的用户进入、离开这个区域,或在该区域内活动时,设备APP可以自动接收通知,实现准确的消息推送,把有用的信息,在合适的地方,推送给合适的人。