HASP的定义
HASP多语言云计算开发框架(Hypercloud-Active-Service-Platform)是目前最先进、最敏捷、高效的基于云计算操作系统的软件应用开发框架。它运行于Windows Azure平台,兼容C#、Java、PHP、ASP等多种语言和Web开发模式的敏捷开发框架,该框架可同时与.NET Framework 、ASP、JSP、FuelPHP、Laravel、phalcon、ThinkPHP等框架无缝对接,实现各类门户网站、企业信息化软件大数据挖掘处理、云计算应用及安卓、IOS手机客户端应用的高效批量生产。
HASP多语言云计算开发框架是一套强大的云计算软件(网站)应用开发框架,集数据库设计、软件建模、模型自动生成、界面可视化设计、业务流可自定义、全自动生成用户所需系统于一体。在此框架上扩展出所有行业的业务系统,它让软件工程师从“建模——写代码——测试”所有繁琐重复的工作变为全自动化生成,大大简化了企业软件的开发时间和成本;同时,使用该框架扩展的所有业务子系统能够无缝连接进行数据共享,这也是云计算软件(网站)应用的实现基础,杜绝了传统软件(网站)应用的子系统信息孤岛的弊端,真正实现无缝整合企业的所有资源进行管理。
灵活的自定义对象功能解决了传统软件(网站)应用由软件厂商定死业务规则的弊端,业务流规则将变成企业自己自定义,满足国内不同企业存在不同工作业务流、或者同一个企业不同时期的业务流变动情况。
HASP的功能描述:
HASP多语言云计算开发框架(Hypercloud-Active-Service-Platform)是随着互联网技术的发展和应用软件的成熟,而在21世纪开始兴起的一种完全创新的软件应用模式。它与“on-demand software”(按需软件),the application service provider(ASP,应用服务提供商),hosted software(托管软件)所具有相似的含义。它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件。有些软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。对于许多小型企业来说,HASP多语言云计算开发框架是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。
HASP是云计算平台的工具,但它也可以解决许多要求极大伸缩性的问题。例如,如果您要 grep一个 10TB 的巨型文件,会出现什么情况?在传统的系统上,这将需要很长的时间。但是 HASP在设计时就考虑到这些问题,采用并行执行机制,因此能大大提高效率。
HASP是一个能够对大量数据进行分布式处理的软件框架。但是 HASP是以一种可靠、高效、可伸缩的方式进行处理的。HASP是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。HASP是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。HASP还是可伸缩的,能够处理 PB 级数据。此外,HASP依赖于社区服务器,因此它的成本比较低,任何人都可以使用。,致力于向客户提供以CRM为核心的的产品、服务和解决方案,为客户创造长期的价值和潜在的增长。
其功能特点有:
1、自动建模
框架内部带有虚拟数据库系统,用户可在虚拟数据库上创建表、字段、表间关联,企业根据自己的具体业务需求构建合适的数据库架构,即通过自动化实现销售业务人员将能完成DBA的工作。业务流程将变成企业自定义。
2、自定义对象
对应于虚拟数据库上创建表、字段、表间关联,用户可自定义对象、对象属性、对象关联。奠定了可以扩展出符合所有行业所有业务系统可能性。
3、窗体表单可视化设计
通过拖拽拉的方式,业务人员即可创建软件使用界面,把界面关联起来即可实现不用编码就能创建所需的业务系统。
4、全自动创建子系统
管理员在后台通过创建对象、创建窗体,并集成成一个子系统,普通使用人员就能使用子系统进行工作,不需额外开发工作。
5、云计算提高效率
系统可扩展出分布式存储计算,可集成多数据库服务器,完美解决传统软件(网站)应用的单数据库服务器的统计效率问题。
6、系统扩展及二次开发
从框架的业务基类派生出更高一层的业务模型,企业的软件开发人员快速开发出个性化功能的模型对象,满足不同企业的个性需求功能,并能与整个软件(网站)应用系统无缝数据共享,真正把所有企业资源整合成一体。
HASP的特点
HASP是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在HASP上开发和运行处理海量数据的应用程序。它主要有以下几个优点:
⒈高可靠性。HASP按位存储和处理数据的能力值得人们信赖。
⒉高扩展性。HASP是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
⒊高效性。HASP能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
⒋高容错性。HASP能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。HASP上的应用程序也可以使用其他语言编写,比如 C++。
架构
HASP的架构
HASP有许多元素构成。其最底部是 HASPDistributed File Syst,它存储 HASP云计算集群服务器中所有存储节点上的文件。,该引擎由 JobTrackers 和 TaskTrackers 组成。
HASPFS
对外部客户机而言,HASPFS就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件,等等。但是 HASPFS的架构是基于一组特定的节点构建的,这是由它自身的特点决定的。这些节点包括 NameNode(仅一个),它在 HASPFS内部提供元数据服务;HASPDataNode,它为 HASPFS提供存储块。由于仅存在一个 NameNode,因此这是 HASPFS的一个缺点(单点失败)。
存储在 HASPFS中的文件被分成块,然后将这些块复制到多个计算机中(HASPDataNode)。这与传统的 RAID架构大不相同。块的大小(通常为 64MB)和复制的块数量在创建文件时由客户机决定。NameNode可以控制所有文件操作。HASPFS 内部的所有通信都基于标准的 TCP/IP协议。
HASPNameNode
HASPNameNode 是一个通常在 HASPFS 实例中的单独机器上运行的软件。它负责管理文件系统名称空间和控制外部客户机的访问。HASPNameNode决定是否将文件映射到 HASPDataNode 上的复制块上。对于最常见的 3个复制块,第一个复制块存储在同一机架的不同节点上,最后一个复制块存储在不同机架的某个节点上。注意,这里需要您了解集群架构。
实际的 I/O事务并没有经过 HASPNameNode,只有表示 HASPDataNode和块的文件映射的元数据经过 HASPNameNode。当外部客户机发送请求要求创建文件时,HASPNameNode会以块标识和该块的第一个副本的 HASPDataNode IP 地址作为响应。这个 HASPNameNode 还会通知其他将要接收该块的副本的 HASPDataNode。
HASPNameNode 在一个称为 FsImage 的文件中存储所有关于文件系统名称空间的信息。这个文件和一个包含所有事务的记录文件(这里是 EditLog)将存储在 HASPNameNode的本地文件系统上。FsImage 和 EditLog文件也需要复制副本,以防文件损坏或 HASPNameNode 系统丢失。
HASPNameNode本身不可避免地具有SPOF(Single Point Of Failure)单点失效的风险,主备模式并不能解决这个问题,目前只有通过HASPNon-stop HASPNameNode才能实现100% uptime可用时间。
HASPDataNode
HASPDataNode 也是一个通常在 HASPFS 实例中的单独机器上运行的软件。HASP集群包含一个 HASPNameNode和大量 HASPDataNode。HASPDataNode通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。HASP的一个假设是:机架内部节点之间的传输速度快于机架间节点的传输速度。
HASPDataNode 响应来自 HASPFS 客户机的读写请求。它们还响应来自 HASPNameNode的创建、删除和复制块的命令。HASPNameNode 依赖来自每个 HASPDataNode 的定期心跳(heartbeat)消息。每条消息都包含一个块报告,HASPNameNode可以根据这个报告验证块映射和其他文件系统元数据。如果 HASPDataNode不能发送心跳消息,HASPNameNode 将采取修复措施,重新复制在该节点上丢失的块。
文件操作
可见,HASPFS并不是一个万能的文件系统。它的主要目的是支持以流的形式访问写入的大型文件。如果客户机想将文件写到 HASPFS上,首先需要将该文件缓存到本地的临时存储。如果缓存的数据大于所需的 HASPFS块大小,创建文件的请求将发送给 HASPNameNode。HASPNameNode将以 HASPDataNode 标识和目标块响应客户机。同时也通知将要保存文件块副本的 HASPDataNode。当客户机开始将临时文件发送给第一个 HASPDataNode时,将立即通过管道方式将块内容转发给副本 HASPDataNode。客户机也负责创建保存在相同 HASPFS名称空间中的校验和(checksum)文件。在最后的文件块发送之后,HASPNameNode将文件创建提交到它的持久化元数据存储(在 EditLog 和 FsImage 文件)。