image
网络爬虫技术
image

网络爬虫是一个自动提取网页的程序,它为搜索引擎从web上下载网页,是搜索引擎的重要组成。

网络爬虫的工作原理:在网络爬虫的系统框架中,主过程由控制器,解析器,资源库三部分组成。控制器的主要工作是负责给多线程中的各个爬虫线程分配工作任务。解析器的主要工作是下载网页,进行页面的处理,主要是将一些JS脚本标签、CSS代码内容、空格字符、HTML标签等内容处理掉。

爬虫的基本工作是由解析器完成。资源库是用来存放下载到的网页资源,一般都采用大型的数据库存储,如Oracle数据库,并对其建立索引。

抓取网页目标的描述和定义是决定网页分析算法与URL搜索策略如何制定的基础,而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在。网页的抓取算法主要有以下几种:
1、深度优先算法。在Web收集页面信息时,使用一个或一组预定义URL地址开始,然后根据页面内容中的超链接深度抓取页面,直到搜索结束(没有新的URL)。
2、广度优先算法。在Web收集页面信息时,使用一个或一组预定义URL地址开始,然后根据页面内容中的超链接广度抓取页面,抓取下一层的URL直到这一层的URL完全被抓取,直到搜索结束时返回。
3、基于内容算法。根据关键字、主题文档的相似度和链接文本(Linked texts)估计链接值,并确定相应搜索策略的算法。链接文本是包含对URL链接解释说明和内容摘要的文字信息。
4、基于HITS的算法。主要思想是在抓取Web页面时,采用Authority/Hub抓取策略。Authority表示该页面被其他页面所引用的次数(页面入度值,in-degree value)。Hub表示其他页面引用该页面的次数(页面出度值,out-degree value)。
通过网络爬虫技术可以获取企业多维海量有价值关联数据,实现由传统高成本、局部、破碎化数据繁琐整理到经济、批量、便捷的数据挖掘。

大数据分析技术
image

随着互联网、移动互联网和物联网的发展,我们已经迎来了数据大爆炸的时代,数据的快速增长带来了数据存储、处理、分析的巨大压力,而大数据技术(Big data)的引入,不但满足了系统功能和性能的要求,带来良好的可扩展性,降低了 IT 部署的成本, 还拓展了数据智能分析的应用领域。同时,大数据分析与云计算的发展密切相关,云计算是大数据处理的基础,而大数据技术是云计算的延伸,云计算的分布式存储和计算架构为大数据的快速处理和智能分析提供了一种合适的解决方案。大数据技术的具体表现:

1、分布式计算框架。分布式计算框架是一种简化的分布式编程模型和高效的任务调度模型,用于大规模数据集(大于 1TB)的并行运算,使云计算环境下的编程变得十分简单。
2、分布式文件系统。为保证高可用、高可靠和经济性,基于云计算的大数据处理系统采用分布式存储的方式来保存数据,用冗余存储的方式保证数据的可靠性。
3、大数据管理技术。一是 非关系型数据库,它是一类非关系型数据库的统称。其特点是:没有固定的数据表模式、可以分布式和水平扩展。二是数据查询工具,它借鉴关系数据库的模式管理、SQL 接口等技术,把结构化的数据文件映射为数据库表,提供类似于 SQL 的描述性语言 HiveQL 供程序员使用,可自动将 HiveQL 语句解析成一优化的 MapReduce 任务执行序列。
4、实时流处理技术。流计算强调的是数据流的形式和实时性。流计算的数据本身就是数据流,不需要数据准备的时间,有数据流入就开始计算,解决了数据准备和延迟的两个问题。

J2EE的企业架构
image

J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构,是一个能够使企业开发者大幅缩短投放市场时间的体系结构。

J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台。

J2EE降低了开发多层应用的费用和复杂性,同时提供了对现有应用程序集成强有力支持,增强了安全机制,提高了性能。

J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制,具体表现如下:
1、稳定的可用性。一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择健壮、性能更好的操作系统如Sun Solaris、IBM OS/390等。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是实时性很强商业系统理想的选择。
2、保留现存的IT资产。由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资,如一些公司使用的BEA Tuxedo、IBM CICS, IBM Encina,、InpriseVisiBroker以及Netscape Application Server。这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的"企业计算"领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。
3、支持异构环境。 J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。
4、可伸缩性。企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器(这是NT服务器所望尘莫及的)。J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。

质量保证体系
image

在软件开发团队中,由于质量被视为软件产品的生命,而始终被人们所高度关注;然而在现实生活中,许多软件产品却时常陷入质量低下的旋涡,总是不尽人意。究其根源,在于这些软件产品对其质量内涵的把握,仅仅停留在减少软件运行错误、加强软件测试、 避免软件缺陷的一般性层面,而对整个软件开发生命周期的全过程质量管理,缺乏总体架构。橡树金服开发与设计中,始终体现全过程质量管理思想,展现出强大的生命力和独特魅力。

所谓的全过程质量,举一个汽车生产过程的例子,让我们一起来想象一个场景,一家汽车销售公司里,汽车销售员正在为作为准客户的您推销两款汽车,其中一款是由某公司引入当时世界上最先进的生产线和工艺流程生产的产品,而另一款是由厂家技术精湛的师傅花了一个多月的时间用车床加大锤手工精制而成。排除其它汽车购买因素,在汽车的质量方面,您会作何感想呢?精明的你一定会作个简单分析,第一辆车的质量是由汽车生产线和生产工艺本身决定的,每一辆同型号车的质量完全相同,它是由汽车生产的过程质量决定的;而第二辆车的质量在很大程度上则依赖于生产汽车的师傅水平,不同的师傅生产出的汽车质量可能相差很大。因此通过了解市场上同型号车的质量状况,你可以轻松做到对第一辆车心中有数;但对第二辆,你则需要花一番功夫弄清楚师傅的资质背景,从而判断汽车的质量。由此可见,你对第一辆车的信任,来自于过程质量。 软件开发过程质量就是指为了生成工件而对可接受流程(包括质量评测和质量标准)的实施和遵守程度。软件生产的过程质量与汽车类似,体现在三个层次:一是产品本身和用来生产、组装软件产品的零部件质量,包括用来进行软件开发或在软件开发过程中产生的代码、文档、模型和可执行系统等工件;二是软件开发活动本身对标准化软件开发过程的遵守程度,主要体现在软件开发过程的标准化、流程化、自动化程度和团队基本协作平台的效率;三是用来对整个软件产品进行验收的评测手段,它应该是被业界广泛认可和接受的方法。 橡树金服的质量保证过程包括业务建模、需求管理、分析设计、实施、测试、部署、配置与变更管理、项目管理和环境等九个核心工作规程。每个核心工作规程由多个详细工作流程组成。基于人类对软件工作过程最原始的感受,联康的质量保证过程使用角色、活动和作为输入输出的工件来组织每个详细工作流程,实现软件开发组织内部人、资源和流程的融合,通过建立完整的软件开发过程,使得产品的质量由项目团队的每个成员共同负责。

橡树金服的质量保证过程以迭代式软件开发、架构为核心的软件开发、用例驱动的软件开发和风险驱动的软件开发为特色,集中体现了以下六个软件工程成功经验,通过它们共同铸就了高品质软件: 迭代式软件开发:能够有效控制项目风险、增加对项目控制能力、减少需求变更对项目的影响,实现持续的质量验证;

有效管理需求:能够做到质量保证从头作起,在软件开发一开始,就把好需求质量关,实现需求的可追踪性和需求变更的有效管理;

基于构件和面向服务的软件架构:采用可视化建模技术来构建以构件为基础、面向服务的系统框架,可以有效地管理系统的复杂度,增强系统的灵活性和可扩展性;

可视化建模:能够有效解决团队沟通、管理系统复杂度、提高软件重用;

持续的质量验证:借助迭代式软件开发方法,可以大大提前软件集成测试和系统测试在整个开发生命周期中的时间,实现持续地软件质量验证,做到尽早测试、尽早反馈,从而确保产品满足客户的需求;

管理变更:能够为整个软件开发团队提供基本协作平台,使企业管理好自己的软件资产,通过有效管理所有的变更请求,使开发团队能够很好的控制开发进度、及时了解项目状况,同时为项目的量化管理提供帮助。 在整个软件开发的生命周期中,通过向客户提交疑问列表的方式,解决需求疑难问题;通过代码review、UT、checkstyle等方式解决编码阶段的程序编码问题;通过结合测试发现软件机能上的问题;通过压力测试发现软件性能上的问题;最后在实际环境上线测试发现真实环境下的问题。通过在每一个环境设置不同的检查点来发现软件的障碍,从而为客户提供高品质的软件。

橡树金服的高品质软件是由以上软件工程的成功经验共同铸就的。

联系我们:橡树金服(大连)科技有限公司
座机号码:0411-88149417
Email:scliu@oakft.com
公司地址:高新技术产业园区希贤街29号鸿泰大厦B座203室
公交站点:36路(爱贤街站)、3路(希贤街站)、801路(九城投资集团站)。
橡树金服(大连)科技有限公司 www.oakft.com
备案号:辽ICP备15017095号