B2B电子商务网站技术框架
刘海龙<liuhailong2008#gmail.com>
一 设计原则
电子商务平台总体结构的设计应从体系、功能、信息、过程等各个方面保证整个电子商务平台总体目标的实现,以提高市场竞争能力。总体结构的设计应考虑以下设计原则:
快速响应原则:商机稍纵即逝,网站应该能够快速响应。一方面需要能够随时根据业务需要进行更新网站内容,另一方面需要能够迅速开发出新的网站功能,适应新的业务模式。
高可用性原则:高可用性包含多个层面的含义。首先, 网站必须稳定提供服务,网站功能保持随时正常可用。其次,交互设计注重用户体验。最后,网站性能必须表现卓越。这些都是以网站大用户量、高并发访问为前提的。
安全性原则:网站平台必须能够保证业务数据存储、传输安全,保证数据不丢失、不被越权阅读或修改。
开放性原则:电子商务网站必须同物资管理、配送等外围系统对接,在设计系统架构时需要全面考虑数据集成方面的需求。
二 体系结构
系统体系结构如图1所示。电子商务平台与内部信息管理无缝集成。数据上实现实时共享、业务上打通流程,形成合力,共同为企业利益最大化服务。
图1 体系结构
三 网站性能
电子商务网站具有大用户量、大业务量和高并发的特点。常规条件下,大数据量将使网站平台性能下降,系统响应速度变慢。而对电子商务网站,用户对响应速度要求高。
在网站架构设计中,将通过如下方法保持大数据量情况下网站系统的高性能:
(一) 动静分离与数据缓存
数据库访问的性能往往是网站性能的瓶颈。
根据经验数据,用户在访问互联网站时,超过90%的操作只是读取数据,提交、修改数据不到10%。因此可以将内容相对固定、主要供用户浏览的页面(如产品展示页面)生成静态HTML页面。用户访问时可以直接读取HTML静态文件,而无须访问数据库。这样,可以大幅度提高网站性能。
对于静态内容(网页、图片、音频文件、脚本文件等)可以选择CDN(Content Delivery Network,内容分发网络)方式发布,从而通过专业内容发布服务提高网站访问速度。
频繁修改的数据可以采用缓存的办法处理。MemCach功能强大、简单易用,支持分布式数据处理,可作为系统缓存方案。
(二) 数据库集群和应用集群
可以配置数据库集群,实现读写分离。选用MySQL数据库,主数据库负责处理数据写入操作,对于单纯读操作,分发给从数据库处理。数据发生更改时,主数据库自动同步数据到从数据库。从而提高数据库整体性能。可以根据需要配置多台从数据库服务器。也可以根据业务发展随时增加。
网站不同频道划分为不同应用,支持部署到多台服务器,进行针对性管理。
(三) 合理规划网络环境
根据对业务量的估算和用户行为分析,可以计算出网站所需带宽。针对用户群特点,合理选择机房。对于区域特点明显的网站频道,可以搭建镜像站点。对于面向全国的网站内容,需电信、网通双路接入。
部署带宽管理设备,合理分配带宽资源到不同应用。
(四) 负载均衡
对于应用服务器、数据库集群均配置负载均衡,充分利用系统资源。
(五) 数据库
数据库系统性能是网站性能的瓶颈。
通过配置数据库集群,实现读写分离之外,还可以通过多种技术手段提高数据库访问性能。如下:
Ø 数据库分表:同一个数据表中,不同字段读写频率存在差异,或者存在大字段时,采用纵向分表,从而降低数据库I/O次数,提高性能;一个数据库表中数据条目增多,查询性能低下时,采取横向分表策略,减少单个表中数据条目数。
Ø 充分利用索引:分析用户查询行为,合理建立索引。
(六) 程序
采用技术手段对程序和页面进行优化,充分利用缓存。
四 安全性
电子商务网站暴露在互联网环境中,面临的安全挑战大。电子商务网站系统需要从以下几个方面加强系统安全:服务器安全、数据传输安全、数据存储安全。对于在线的商务行为,还需要具有身份认证机制,实现不可抵赖性。
为了达到目标,需采取以下措施。
(一) 建立安全管理制度
对于网站系统安全,必须针对面临的安全风险进行规划,制定安全策略,建立并随时完善安全管理制度。
必须根据安全管理制度,定期升级软件版本、安装补丁程序、修改安全密码、备份重要数据。
(二) 访问控制机制
网站平台应提供完善用户认证和用户密码保护机制。通过多种手段保护对受控信息的访问。
(三) 数据加密
互联网的体系结构和TCP/IP协议在创建之时并没有适当地考虑安全的需要,因而存在着许多安全漏洞和根本性的缺陷,给攻击者留下了可乘之机。数据在通过网络传输过程中容易被窃听、欺骗和篡改。
因此在用户向电子商务网站传输敏感信息或执行重要操作时,应对传输的数据进行加密。通过配置服务器支持HTTPS协议可以实现。也可以通过程序控制实现。
按照密钥的类型不同,加密算法可分为对称密钥算法和非对称密钥算法两种。按照密码体制的不同,又可以分为序列密码算法和分组密码算法两种。加密算法除了提供信息的保密性之外,它和其他技术结合,例如hash函数,还能提供信息的完整性验证,确保数据在传输过程中没有被篡改。
(四) 数字签名
在现实世界里,为了证明对某一个文件负责,我们常在该文件上签名。在电子商务中,相类似的机制就是数字签名。数字签名机制解决以下安全问题:
Ø 否认:事后发送者不承认文件是他发送的;
Ø 伪造:有人自己伪造了一份文件,却声称是某人发送的;
Ø 冒充:冒充别人的身份在网上发送文件;
Ø 篡改:接收者私自篡改文件的内容。
数字签名机制具有可证实性,不可否认性,不可伪造性和不可重用性。文件的伪造者可能企图杜撰别人的签名,也可能企图从别人在他所掌握的签名文件上把签名拷贝过来,所谓不可重用性就是为了杜绝后一种情况。
(五) 数据备份
当遇到突发状况系统崩溃时,如果可以迅速从备份中恢复数据重建系统,可以极大地降低伤害。
需要备份的数据包括网站程序、数据库数据和文件系统数据。
数据库数据可以通过数据库管理系统配置自动备份,可以部署专业备份软件实现文件系统备份。
服务器硬盘配置RAID(Redundant Array of Independent Disk,独立冗余磁盘阵列),在磁盘损坏时,可迅速恢复数据。
五 开放性
虽然在功能上将内部信息管理系统划分为多个系统,事实上,公司业务是一个整体,各信息系统也天然地构成一个统一的整体,各个系统之间是相互渗透,密不可分的。
电子商务平台必须同其他业务系统无缝对接,并为可能的接入系统预留接口。
(一) 数据规划
为了使数据有效、有用,必须进行整体性地数据规划。
数据规划必须以公司业务为依托,配合公司组织架构和部门设置。数据规划必须考虑数据全生命周期,确保单一数据来源单一、可追溯、可验证。
电子商务业务不能同公司整体业务割裂开,电子商务平台同公司其他业务系统之间也必须保持数据和业务层面的有效集成。
(二) 接口系统
由于目前公司存在多个信息系统,这是电子商务业务的应用基础。但多个系统实现技术不同,数据库格式不同,而且数据产生于不同组织层级,需要采集、汇总、统计。多个系统间物资编码不统一等问题也需要解决。
鉴于这种情况,将建设数据接口平台,将多个信息系统间数据交互方式进行统一。并对核心业务数据进行集中管理。
数据接口平台同时承担数据在组织层级间汇集、同步的任务。
(三) 快速响应业务变化
电子商务平台仅提供系统平台。供需双方都可以方便地在系统中发布信息。网站中商品目录等业务数据也都可以根据业务需要方便地进行调整。
电子商务的发展日新月异,随着对用户行为地理解,随时可能需要开发新的系统功能。网站采用简约技术架构,充分利用程序源代码自动生成,封装常用程序库,封装常用页面组件等方法提高程序开发效率,以迅速响应业务变化。
六 系统架构
综上所述,系统架构如图2所示。
图2 系统架构