开源软件有哪些 [五个开源软件解决方案]
在此次征集的开源软件解决方案中,经过组织专家评选,《计算机世界》方案评析实验室推荐了5个开源软件解决方案。本报在此摘登其内容概要,有兴趣的读者可登录计世网(ccwcomcn)查询方案全文。
开源软件 解决方案
邮区中心局生产作业系统是全国邮政综合网非常重要的应用系统之一,红旗软件为其搭建了一个高效、稳定、安全的系统平台。
中科红旗
搭建邮区中心局作业系统
方案背景
邮区中心局生产作业系统是邮政综合网系统的一个重要组成部分,按照邮政生产的四大基本环节(收寄―处理―运输―投递)划分,邮区中心局主要负责邮件的处理和运输任务,它是一个邮区的邮件处理中心。
邮区中心局生产作业系统不仅要完成一个邮区中心局内邮政生产作业系统的计算机数字化、自动化和信息化的生产运作和管理,更要以此为基础构造一个全国性统一的邮政生产作业网络系统。因此该系统不只是在邮区中心局内的一个生产作业系统,更是作为全国邮区中心局间的邮件运输、交接、生产作业、业务查询、信息交换等系统的有机组成部分,承担着对局站间的物流和信息流处理的重要职责。
邮区中心局生产作业系统作为全国邮政综合网非常重要的应用系统之一,为更好地服务于目前及将来的业务需求,应尽量利用现有资源,该系统的设计、开发、实施、运行应遵循实用性、开放性、综合性、统一性以及安全性等原则。
部署实施过程
在中心机房采用了Red Flag DC Server作为操作系统,采用Red Flag HA Server对数据库及应用做系统热备份; 在生产车间采用Red Flag DC Server作操作系统。
● 生产中心
生产中心是邮区中心局生产作业系统的数据中心,在此设置枢纽服务器,存储管理邮区中心局生产作业系统的生产数据,同时还是邮区中心局内和综合网其他系统的数据交换枢纽。生产中心服务器系统分为数据库服务器和应用服务器两部分。
数据库服务器
数据库服务器是整个业务系统的核心,采用 Oracle作为数据库管理平台,数据库服务分为生产数据库和历史数据库两个实例,为了保证其7x24小时不间断地提供服务,采用两台IBM xSeries 255运行Red Flag DC Server操作系统,通过红旗高可用(HA)集群软件组成高可用系统。
应用服务器和Web服务器
邮区中心局生产作业系统的应用服务器采用Tuxedo作为中间件平台的生产作业应用系统,而对于历史数据系统采用的是在Weblogic系统上的B/S模式的数据管理及查询系统,应用服务器及Web服务器系统同样要确保其7x24小时不间断提供服务,这就要求系统同样具有极高的可靠性和可用性。本系统方案中采用两台IBM xServer255分别作为应用服务器和Web服务器,采用Red Flag DC Server作为操作系统,为了保证其高可用性,中心局通过红旗高可用(HA)集群软件将其组成高可用系统。与数据库集群类似,该集群中同样包括Tuxedo和Weblogic两个应用,并将两个应用分别分布在两台主机上,组成Active/Active模式的互为热备份系统。当一台服务器发生故障时,另一台服务器可以在最短的时间内接管失败服务器上的应用,即其上同时运行两个应用,同时提供服务,从而保证业务的可靠性和连续性。当失败服务器恢复正常时,原来运行在其上的应用会重新返回,系统重新达到平衡状态。
● 邮件处理中心
在邮政枢纽中心的范围内,建设一个城域网,所辖各生产车间的客户端通过该车间服务器接入到生产中心服务器中,车间服务器承担终端服务器和应用通信服务器的功能。
车间服务器系统的配置方案是: Red Flag DC Server操作系统 + PostgresSQL数据库。
Red Flag DC Server的卓越网络性能使各车间服务器更能充分发挥其硬件效能,使整个应用系统更加稳定可靠地运行。
Red Flag DC Server不仅具有很高的开发性,稳定性,可靠性,安全性和可用性,还针对Oracle数据库做了进一步的优化工作,包括I/O子系统优化、虚拟内存子系统优化、进程调度及SMP优化等,所有这些特性使得生产中心服务器系统能够高效稳定地运行。
整个应用系统采用单一的操作系统平台,极大地提高了系统的易维护性,同时Red Flag DC Server优异的整体性能充分满足了生产作业系统的各项技术指标,为系统长期稳定运行提供了极大的保障。
技术和产品介绍
红旗软件在部署实施该系统过程中,综合提供了如下软硬件产品,共同搭建了一个高效、稳定、安全的系统平台:
软件平台采用Red Flag DC(数据中心)Server和Red Flag HA(高可用) Server;
硬件平台采用IBM 255 (4CPU,P4 exon 16G ,4G内存),FastT 200磁盘阵列柜,IBM光线交换机以及DELL 1600SC。
中间件/数据库等其他第三方产品采用Oracle、Tuxedo和Weblogic。
红旗数据中心服务器软件提供了一个稳定安全的计算平台,让企业用户充分利用Linux的可伸缩、高性能和开放性的优势,从容面对快速的业务增长和未来的挑战。它满足从32位到64位关键应用的系统需求,作为强大的数据中心或者分布的网络应用服务器集群,创造连续高效的业务价值。它适用于各种硬件平台、异构环境和服务应用。为企业在部署数据中心、网络应用和安全接入服务等方面提供了更加完整灵活的支持。它广泛支持企业级硬件和大型商业软件,提供易用的图形界面和智能管理工具集。
随着Linux大规模进入企业级关键应用,用户对系统24 小时×365 天的可靠性要求越来越高。Red Flag HA Server是红旗软件推出的企业级高可用集群软件,支持多种硬件架构,能提供Linux 平台的高可用和高可靠以及高扩展性解决方案。
Red Flag HA Server适用于对应用系统有严格高可靠性要求的企业、政府、军队、重要商业网站、ISP/ICP或数据库应用等用户。
Red Hat
深入移动核心业务
中国移动通信采用Red Hat Enterprise Linux作为WEB服务器及应用服务器业务支撑平台来满足应用需求。
方案背景
中国移动通信集团公司(简称“中国移动通信”)主要经营移动话音、数据、IP电话和多媒体业务,并具有计算机互联网国际联网单位经营权和国际出入口局业务经营权。除提供基本话音业务以外,还提供传真、数据IP电话等多种增值业务,拥有“全球通”、“动感地带”、“神州行”等著名客户品牌。用户号码段包括“139”、 “138”、 “137”、 “136”、“135”以及“134(0至8号段)”。
面向未来,中国移动通信确立了“争创世界一流企业”的发展战略目标。围绕这一目标,中国移动通信全力实施“服务与业务领先”的近期战略重点,提高核心竞争力,努力实现新跨越,确保企业全面协调、持续发展。
在中国移动通信有限公司的统一规划和指导下,各省、自治区、直辖市移动公司业务支撑网的建设已基本完成并正在完善中。面对业务支撑网的复杂性和多样性,为保障业务支撑网的正常稳定运行,迫切要求建立一个能够对业务支撑网进行集中监控、集中维护、集中管理的网管系统。
业务支撑网网管系统不仅要求能够及时监测与发现业务支撑网中潜在的各类问题、保证系统的稳定运行和业务的正常开展,还应能够对运维工作进行规范化、流程化管理。
红帽解决方案
业务支撑网网管系统是一个全国规范的系统,由各省公司分别建设,当前已经覆盖了大部分省份。如中国移动有限公司、上海移动公司、江西移动公司、贵州移动公司、山东移动公司、四川移动公司、广东移动公司等。
目前Linux越来越多地应用到电信领域的核心业务中,在中国移动也已经在众多的项目上采用了Linux操作系统平台,而且也都有良好的性能表现。该项目中采用Red Hat Enterprise Linux作为WEB服务器及应用服务器业务支撑平台来满足需求。
系统操作系统是Red Hat Enterprise Linux;硬件系统是IBM X336;应用软件系统采用了Apache、Tomcat5、Oracle9i等。
选用Linux的优势
● Linux最大的优点是使企业应用不再受某一专有厂商或某种独有技术的限制,从而保护企业应用通用性、可扩展性、不受限制性,节省IT投资成本,提高灵活性、自由性和延伸性。Linux从创始之初就遵循开放源码和自由的GNU GPL协议,从而可以充分利用全球的技术资源和智慧,创造出更为健壮的技术。用户拥有源代码,就可以自由利用源码改进、提升或定制操作系统和应用程序。
● 作为类 Unix操作系统,Linux 在稳定性、可扩展性、高可用性、安全性及性能上与Unix一致。最新的权威测试机构通过对Linux和Unix性能测试比较发现,Linux在很多方面都表现出超过Unix的测能指标。
● 目前许多关键应用的服务器均是Unix操作系统,而Linux是类Unix操作系统,通过Linux可以保证网络架构体系非常容易实现互连与协作,极大地方便系统的管理维护及各系统间的数据交流。
● 完整的linux操作系统内含有大量的应用软件和开发工具,包括GNU GCC/C++、Fortran编译器、Qt库及PHP、Awk、TCL/TK等语言。而在其他专有的操作系统内,开发工具往往是另外收取费用的。
● Linux支持很多硬件平台,比如x86、x86_64、AMD64、安腾、Sparc、PPC、ARM等,它支持从笔记本电脑到大型主机。
共创开源
搭建平谷区电子政务平台
以共创桌面Linux操作系统为基础搭建的平谷区电子政务平台可以支撑目前各类业务系统的运行,基本满足了政府部门日常办公的需要。
项目背景
作为北京市重要的郊区县之一,北京市平谷区高度重视电子政务软件平台的建设工作。为保证全区各单位之间能够实现资源共享、协同办公,提升全区所有政府部门员工的办公自动化水平,平谷区政府确立了以电子政务办公平台应用促进软件正版化、国产化应用的指导方针,推出了基于国产基础软件的电子政务平台。实践证明,以共创Linux操作系统为基础搭建出来的电子政务平台可以支撑目前各类业务系统的运行,基本能够满足政府部门日常办公的需要。
方案简介
平谷区电子政务办公应用平台主要包括三个部分,即基于国产基础软件的电子政务平台、贯穿所有委办局、乡镇的统一办公自动化系统以及基于办公套件的桌面系统。
2004年11月,北京市平谷区电子政务办公平台建设圆满完成,其客户端操作系统和办公套件分别采用了北京共创开源软件有限公司(简称共创开源)的共创桌面Linux和共创Office, 共计安装4693套,其中超过50%的计算机安装了共创桌面Linux,实现了单系统办公。
平谷区共有118家行政事业单位,计算机总数达到4693台,全部使用正版国产Linux以及国产Office办公套件仅用了670万元的资金投入,比起使用微软的Windows和Office所需要的3000多万元的巨额资金投入,可以节省2330万元。共创桌面Linux和共创Office作为国内主流的开源操作系统和办公套件,被广泛应用于整个项目当中,为所有系统的成功运行提供了坚实的基础,发挥了重大的积极作用。
平台框架部署
平谷区电子政务办公应用平台对平谷区各种应用系统进行整合,实现了政务内网的建设,通过信息发布与政务外网进行互联并和广大市民进行互动。这个平台包括的主要内容有办公自动化系统、GIS地理信息系统、互联审批系统、农村三级互动系统和信息发布系统等子系统。另外,这个平台还包括各种共享资源,如法律、法规、政策、文件、工作流程、办事指南、新闻、等数据库信息。
整个方案采用B/S结构,遵循J2EE标准。服务器的桌面系统都具备跨平台运行的能力,同时支持Linux和Windows操作系统。
平台主要特点
● 应用集成、资源整合、数据共享
平台整合了办公相关资源,实现了数据共享。共整合了40多个应用系统,形成了以四大基础数据库为依托的数据资源体系。
● 大平台流转,小平台办理
平台以实现公文在全区机构大循环和单位内部小循环的顺利流转为目标,利用覆盖全区的政务宽带网,将各委、办、局、乡、镇、街道等政府职能机构链接在一起,各机构通过电子政务办公平台,实现协同办公。同时,在电子政务办公平台的支撑下,从平台大循环流转过程中接收的各种公文、任务等可以直接计入各机构内部的小循环中,在各个科室之间继续流转、办理。
● 办公自动化系统实现全面国产基础软件应用
北京市平谷区办公自动化系统中主要功能有: 公文管理、交办任务、电子公告、短消息、系统管理等等。
● 客户端桌面系统的兼容性、创新性、安全性、易用性
平谷区电子政务平台的客户端主要采用的是共创桌面Linux,为平谷区整个电子政务系统的运行提供了坚实的基础保障,其显著特点主要表现在创新、安全、稳定、兼容、易用等方面。
● 特有的安全稳定的浏览器
作为基础操作应用系统的一部分,共创浏览器在整个平台系统的部署和应用中发挥了独特的功效。共创浏览器,顾名思义,就是共创桌面Linux系统采用FireFox浏览器实现特有的浏览器功能。共创浏览器还增加了对“IE特有功能”的支持。原始的FireFox浏览器,不支持IE特定的一些功能,例如documentall、数据岛等,这使得FireFox浏览器在浏览一些网站时,常常会出现各种问题。针对这一现场,共创浏览器则提供了这些IE特有浏览器功能的支持,使得FireFox浏览器能够较好地支持各种应用系统和电子商务的应用领域。
恩信科技
ERP开源解决方案
恩信科技开源ERP软件把企业的客户关系、产品设计、生产管理、库存管理等整合为非常明确可控制的模块化流程单元,使企业的人力、物力、财力得到最合理的应用。
传统的企业管理系统侧重于面向结果而非面向服务(SOA)的架构,数据采集是部分(信息孤岛)而非全面的,数据处理是滞后而非实时(B/S)的,导致企业的最高管理者无法实时准确地知道企业的资产情况、人员状况、销售情况等,无法及时地做出正确的决策。
据统计,体系完整的ERP(企业资源管理软件)在我国企业的使用率只在38%左右,而同样的系统在欧洲的使用率在68%。
方案设计
根据对用户需求的分析,使用开源软件产品及相关技术为用户提供合理的解决方案。
针对现代企业的迫切需求,恩信科技开源ERP软件把企业的客户关系、产品设计、生产管理、库存管理、委外管理、采购管理、资金控制、财务系统、人力资源、协同办公、系统安全整合为非常明确可控制的模块化流程单元,使企业的人力、物力、财力得到最充分、最合理的应用,帮助企业增强核心竞争力。
恩信科技开源ERP系统利用Internet全面实时地采集企业数据,面向企业流程控制,支持数据挖掘; 系统支持大规模精确计算、支持海量用户数和用户分组管理; 系统界面友好、礼貌、简洁; 各子模块既能独立运行,又可以与其他模块共享数据。恩信科技开源ERP系统有专门的安全控制管理模块,保证系统可靠地运行。恩信科技开源ERP系统应用了安全的Internet *** 技术让企业能跨地域、跨国界、跨时区实时采集任何应该采集的企业数据,实现企业的全部资源共享,对企业的任何分支机构实现实时的流程管理控制,为企业管理者提供智能化的决策分析支持。
方案实施
根据方案设计,确定合理的实施方法,控制项目进度; 对用户进行培训、系统维护,介绍未来的升级与扩充步骤。
恩信科技开源软件的定义:
用户可以免费永久使用恩信科技开源ERP及获得源代码,但当用户需要服务和一定的商业担保时需付服务费。恩信科技通过合作伙伴为客户提供服务的形式实施开源ERP,目前恩信科技能为客户提供实时服务的合作伙伴主要有两类: 应用伙伴和增值伙伴,应用伙伴的职责是为客户提供解决方案、安装、设置、数据迁移、使用培训、系统实施; 增值伙伴的职责是为客户提供解决方案、安装、设置、数据迁移、使用培训、系统实施; 帮助客户实现个性化应用作代码级二次开发、系统移植。这些合作伙伴都是恩信科技的授权认证单位,可以为客户提供实时服务和商业担保。
开源ERP实施过程及时间:
首先客户免费下载开源ERP产品并且根据提供的使用文档自行安装运行; 然后客户结合自身的需求,试运行开源ERP,通过系统提供的客户化设置功能,将ERP系统设置为符合自身特点的系统。其间可以通过开源社区对自己的有关想法、建议、困惑寻求帮助; 客户先局部试验性使用该系统,然后大面积地使用,还可以选择能提供本地化服务的合作伙伴就实施、培训、个性化开发、后续保障等细节进行商讨,然后开始实施ERP。同时可以向恩信科技或者恩信科技的合作伙伴购买、电话咨询、商业担保、现场支持等服务。整个过程会因客户所处的行业、个性化需求程度、客户领导层重视程度的不同,所需要的时间可能在3个月至9个月之间不等。
技术及产品介绍
恩信科技开源ERP产品具有支持互联网、支持多语种、支持个性化应用以及数据集成等特点。
其技术特点主要有:
● 汲取Struts、Spring等优秀框架设计思想,采用三层结构设计。
● 模块化的设计、组件化的开发提高了代码的重用性,为不同的客户提供不同的系统、不同的服务。
● 分布式数据集中设计避免了企业信息化中信息孤岛的出现,各数据表结构、命名、各子系统、各模块都采用一体化设计,既可以单独使用,也可以无缝连接、组合使用。
● 支持标准的XML、EXCEL、PDF等数据交换格式,这一特点形成了恩信科技开源ERP开放的特性。
● 突破了传统的角色管理机制,支持0到1200余个模块的任意、灵活的权限管理机制。
C3CRM
开源社区CRM解决方案
C3CRM覆盖了从客户管理、商品管理、销售管理、售后服务等全部领域,能够很好地解决目前中小企业在客户管理方面信息化投入不会太高但需求功能全面的问题。
需求分析
随着业务的发展,目前已经有越来越多的中小企业,在客户管理方面遇到了以下问题:
对于一些中小企业来说,业务人员的流动性比较强,而往往客户资源掌握在业务人员手里,一旦业务人员离职,这个客户可能就随之流失。
同时对于业务人员而言,往往需要对不同的客户群进行划分,还要对客户进行必要的跟踪或者进行一些营销活动,需借助系统来对客户进行分析得到一些有价值的决策数据。
如何更好地维系客户关系对企业来说已经显得非常重要。但有些中小企业并没有专门的IT部门,信息化投入不会太高,无法建立完善的CRM系统。
方案设计
C3CRM覆盖了从客户管理、商品管理、销售管理、售后服务、销售报表、销售分析、销售预测、日程管理、项目管理、文档管理、电子商务和企业网站等全部领域,涉及到行销活动、客户筛选、客户跟踪、销售管理、售后服务整个流程,能够很好地解决目前中小企业在客户管理方面所提出的问题。
该软件可以让业务人员根据行销活动后得到的销售线索进行逐步跟踪,整个过程也都能通过软件得到体现。其产品管理以及知识管理的模块使得业务人员可以快速得到相关所需要的信息。
该软件在客户后续服务方面有着更多的考虑。包括合同的交付回款、产品的退换以及呼叫中心的建立。这些功能能够很好地为客户的后续服务提供有力支持。
方案实施
目前在国内下载C3CRM软件的用户数已经超过十万,并已能够很大程度地满足用户的需求。
C3CRM完全可以通过远程进行安装调试以及维护。用户在使用过程中遇到的问题也都可以通过远程请求或者通过公司的网站得到解决。软件的设计充分考虑到了满足易用易实施。
针对用户的特殊要求,系统还提供二次开发服务。用户可以使用C3CRM提供的开发工具(ModuleBuilder)开发适合企业需要的模块。
技术及产品介绍
C3CRM主要面向拥有5~100用户之间的中小型企业。该产品定位在技术平台上,可提供市场、销售、服务与业务报表等基础业务支持功能,并提供强大的业务定制功能,通过快速实施,C3CRM产品可灵活适应企业的不同管理模式。
C3CRM的核心模块包括客户管理、联系人管理、潜在客户管理、销售机会管理、报价管理、产品管理、价格手册、营销活动、项目管理、客户反馈、客户回访、产品服务、合同管理、文档管理、解决方案、常见问题、日程管理、活动管理、备忘录管理、手机短信、内部通知、统计图、统计报表等以及完善的权限管理、数据备份和恢复等功能。
C3CRM产品界面友好,部署与维护简单,并可与其他系统无缝集成。C3CRM的代码完全公开,没有任何许可证费用,适合不同类型的企业应用。用户可在Web浏览器(IE或Firefox)进行操作,无需安装客户端。
方案特点分析
C3CRM是一个开源的软件,基于LAMP(Linux Apache Mysql PHP)平台,采用WEB服务实现交互通信。用户不仅可以使用开发工具(ModuleBuilder)开发适合企业需求的模块,还可以通过SOAP与其他系统集成。包括安装调试、维护都可以通过远程服务轻松得到解决。
基本的IO编程过程(包括网络IO和文件IO)是,打开文件描述符(windows是handler,Java是stream或channel),多路捕获(Multiplexe,即select和poll和epoll)IO可读写的状态,而后可以读写的文件描述符进行IO读写,由于IO设备速度和CPU内存比速度会慢,为了更好的利用CPU和内存,会开多线程,每个线程读写一个文件描述符。
但C10K问题,让我们意识到在超大数量的网络连接下,机器设备和网络速度不再是瓶颈,瓶颈在于操作系统和IO应用程序的沟通协作的方式。
举个例子,一万个socket连接过来,传统的IO编程模型要开万个线程来应对,还要注意,socket会关闭打开,一万个线程要不断的关闭线程重建线程,资源都浪费在这上面了,我们算建立一个线程耗1M内存,1万个线程机器至少要10G内存,这在IA-32的机器架构下基本是不可能的(要开PAE),现在x64架构才有可能舒服点,要知道,这仅仅是粗略算的内存消耗。别的资源呢?
所以,高性能的网络编程(即IO编程),第一,需要松绑IO连接和应用程序线程的对应关系,这就是非阻塞(nonblocking)、异步(asynchronous)的要求的由来(构造一个线程池,epoll监控到有数的fd,把fd传入线程池,由这些worker thread来读写io)。第二,需要高性能的OS对IO设备可读写(数据来了)的通知方式:从level-triggered notification到edge-triggered notification,关于这个通知方式,我们稍后谈。
需要注意异步,不等于AIO(asynchronous IO),Linux的AIO和java的AIO都是实现异步的一种方式,都是渣,这个我们也接下来会谈到。
针对前面说的这两点,我们看看select和poll的问题
这两个函数都在每次调用的时候要求我们把需要监控(看看有没有数据)的文件描述符,通过数组传递进入内核,内核每次都要扫描这些文件描述符,去理解它们,建立一个文件描述符和IO对应的数组(实际内核工作会有好点的实现方式,但可以这么理解先),以便IO来的时候,通知这些文件描述符,进而通知到进程里等待的这些select、poll。当有一万个文件描述符要监控的时候呢(一万个网络连接)?这个工作效率是很低的,资源要求却很高。
我们看epoll
epoll很巧妙,分为三个函数,第一个函数创建一个session类似的东西,第二函数告诉内核维持这个session,并把属于session内的fd传给内核,第三个函数epoll_wait是真正的监控多个文件描述符函数,只需要告诉内核,我在等待哪个session,而session内的fd,内核早就分析过了,不再在每次epoll调用的时候分析,这就节省了内核大部分工作。这样每次调用epoll,内核不再重新扫描fd数组,因为我们维持了session。
说道这里,只有一个字,开源,赞,众人拾柴火焰高,赞。
epoll的效率还不仅仅体现在这里,在内核通知方式上,也改进了,我们先看select和poll的通知方式,也就是level-triggered notification,内核在被DMA中断,捕获到IO设备来数据后,本来只需要查找这个数据属于哪个文件描述符,进而通知线程里等待的函数即可,但是,select和poll要求内核在通知阶段还要继续再扫描一次刚才所建立的内核fd和io对应的那个数组,因为应用程序可能没有真正去读上次通知有数据后的那些fd,应用程序上次没读,内核在这次select和poll调用的时候就得继续通知,这个os和应用程序的沟通方式效率是低下的。只是方便编程而已(可以不去读那个网络io,方正下次会继续通知)。
于是epoll设计了另外一种通知方式:edge-triggered notification,在这个模式下,io设备来了数据,就只通知这些io设备对应的fd,上次通知过的fd不再通知,内核不再扫描一大堆fd了。
基于以上分析,我们可以看到epoll是专门针对大网络并发连接下的os和应用沟通协作上的一个设计,在linux下编网络服务器,必然要采用这个,nginx、PHP的国产异步框架swool、varnish,都是采用这个。
注意还要打开epoll的edge-triggered notification。而java的NIO和NIO2都只是用了epoll,没有打开edge-triggered notification,所以不如JBoss的Netty。
接下来我们谈谈AIO的问题,AIO希望的是,你select,poll,epoll都需要用一个函数去监控一大堆fd,那么我AIO不需要了,你把fd告诉内核,你应用程序无需等待,内核会通过信号等软中断告诉应用程序,数据来了,你直接读了,所以,用了AIO可以废弃select,poll,epoll。
但linux的AIO的实现方式是内核和应用共享一片内存区域,应用通过检测这个内存区域(避免调用nonblocking的read、write函数来测试是否来数据,因为即便调用nonblocking的read和write由于进程要切换用户态和内核态,仍旧效率不高)来得知fd是否有数据,可是检测内存区域毕竟不是实时的,你需要在线程里构造一个监控内存的循环,设置sleep,总的效率不如epoll这样的实时通知。所以,AIO是渣,适合低并发的IO操作。所以java7引入的NIO2引入的AIO对高并发的网络IO设计程序来说,也是渣,只有Netty的epoll+edge-triggered notification最牛,能在linux让应用和OS取得最高效率的沟通。
Windows下连接Linux的ssh工具有putty、Bitvise SSH Client、MobaXterm、DameWare SSH、marTTY、Cygwin可以根据需求和喜好来选择;
Putty是最有名的SSH和telnet客户端,由Simon Tatham为Windows平台开发。Putty是一款开源软件,提供可用的源代码并有一批志愿者进行开发和支持。
Putty易于安装和使用,通常大部分的配置选项不需要修改。用户只需要输入少量基本的参数,可以开始很简单地建立连接会话。
Bitvise SSH Client:Bitvise SSH是一款支持SSH和SFTP的Windows客户端。由Bitvise开发和提供专业支持。这款软件工具性能突出,易于安装、便于使用。Bitvise SSH客户端拥有功能丰富的图形界面,通过自动重连功能的内置代理进行动态端口转发。
据了解,Bitvise SSH客户端对个人用户使用是免费的,同时对于在内部的个人商业使用同样免费。
MobaXterm是远程计算的工具箱。在 单独一个Windows应用里,MobaXterm为程序员、网站管理员、IT管理员及其它用户提供了远程操作一揽子功能。
另外,MobaXterm提供了所有重要的远程网络工具(如SSH、X11、RDP、VNC、FTP、MOSH等),以及Windows 桌面上的Unix命令(bash、ls、cat、sed、grep、awk、rsync等),这些均是由一个开箱即用的单一的便携可执行文件提供,并对个人使用免费。
DameWare SSH是的免费SSH客户端。该免费工具是一个终端模拟器,可以从一个易用的控制台建立多个telnet和SSH连接。
将常用的会话保存在 Windows 文件系统中,使用多套保存的证书来轻松登录不同的设备,使用telnet、SSH1和SSH2协议连接计算机和设备
SmarTTY是一款免费的多标签SSH客户端,支持使用SCP命令随时复制文件和目录。
SSH服务器每个连接支持最多10个子会话SmarTTY在做得:没有多个窗口,不需要重新登录,仅打开一个新的标签页可以。
Cygwin 是一款GNU和开源工具的集合,提供类似一个Windows平台下Linux的功能。
Cygwin包括一个称为模拟库的Unix系统:cygwindll,集成大量GNU和其它免费软件。在安装包中,有高质量的编译器和其他软件开发工具、一个X11服务器、一套完整的X11开发套件、GNU emacs编辑器、Tex和LaTeX、openSSH(客户端和服务器),此外还包括在Windows下需要编译和使用PhysioToolkit软件的所有。
之所以会选择Linux作为服务器系统,是因为它具有独特优势:
1)开放性
Linux的创始人将它共享出来免费供大家使用,也就是我们所说的开源,这个特性让所有使用LInux系统的人可以自行定制所需要的内核模块,因为所有人都可以看到使用系统的源代码,因此不用担心恶意功能或者后门,安全性大大加强,相比于Windows,它出现漏洞只能等待微软的补丁。
2)可定制性
是基于Linux的开放性所延伸出来的特性,由于源代码可见,用户可以根据自己的需求去修改,也使得Linux可以适应不同用户的不同环境,也能轻松的改变自己的行为,能够轻松地与不同的环境整合,因为其特性,诞生了我们离不开的系统,如手机里的安卓系统、电视机机顶盒、ATM机、路由器等,都是基于Linux定制而成。
3)社区支持
现在所有的使用者想要学习或者获取Linux的最新版本,都可以在开源社区找到自己所需要的东西,对于开发过程中遇到的问题,也可以上社区和同行交流寻求帮助。
0条评论