基于多代理的分布式智能电子商务系统设计
2016-05-14张堉锋
张堉锋
摘要: 通常情况下,多个固定服务器构成了传统电子商务系统,并且每个服务器提供的是固定的服务,整个系统的结构相对单一,不能保证安全性,交易形式死板,买方和卖方不能即时交流协商,交易的成功率也受到很大影响。基于此,文章研究了基于多代理的分布式智能电子商务系统及其设计,整个交易过程更具智能化,根据客户需要,智能代理可以代替客户进行商品談判,此方法可以克服传统电子商务系统的不足,增强了系统的安全性和鲁棒性,运用JADE平台验证了设计方案的可操作性。
关键词: 电子商务;分布式系统;买方代理;卖方代理
中图分类号:G718 文献标识码:B 文章编号:1672-1578(2016)09-0394-02
传统电子商务系统的鲁棒性和安全性不高,当中心节点出现小故障或者受到攻击,会使整个系统无法作业。在系统服务上,商家在平台上发布多种商品的相关信息,可以通过网页查找找到目标商品,再通过比较商家信誉、商品质量、商品价格等因素,确定商品符合需求之后在商品销售期间发送订单以确定购买。整个过程中,买卖双方不能随时协商,也无法讨论商品折扣、价格等问题。总之,系统所提供的功能不能满足客户对商品信息的了解,不符合现实中的交易过程,制约了电子商务系统的发展应用。通过利用多代理技术可以帮助系统实现分布式设计,开发出智能化代理,弥补传统商务平台的缺陷。
1.代理及其特征
数据库、计算机网络、操作系统、人工智能等方面都有代理技术的身影,其应用范围还在不断扩大。目前,代理没有统一性的定义,不同的研究者有不同的理解,如wooldridge认为代理是具有社会性、自治性和反应性的软件系统。目前,社会大众比较认同的一种观点是:代理是向一个系统提供具有可互操作性的接口,是一个特殊的软件系统。
代理软件系统是由若干个软件代理结合起来影响和实现目标,多个代理软件构成的系统就是多代理系统。软件代理之间可以相互合作也可以相互竞争,因此代理具有社会性。此外,代理可以意识到所在环境的变化,并根据变化做出反应。值得注意的是,这种反应具有能动性,可以根据目标而主动采取行为,而非简单的被动反应。代理可以默默完成接收到的任务,也可以根据自己的利益而采取措施,因此代理是无私的也是理性的。同时,代理能够适应环境变化,具有很强的学习能力。
2.系统的结果设计
2.1 系统总体结构简介。分布式智能电子商务系统可以由任何数量的子系统构成,并且各个子系统是平等的,功能也很类似,这也是本系统和传统商务平台的不同点。子系统之间可以相互联合,也可以相互独立,互补影响,其结构如图1。
就客户而言,客户所见到的是一个大系统,且这个大系统是由任意若干个子系统组成。对于用户来说,子系统可以说是透明的,系统是非常完备的,即使系统当中只有一个子系统,也可以完成服务。子系统不讲究分布位置,不受地理位置的限制,子系统之间以代理通信方式实现联合。一个子系统即将加入到系统中,它可以向其他地位平等的子系统发布一条关于它的服务类型的信息,接下来它就可以提供服务了。某个子系统发生故障或者受到攻击,不能提供服务时也不会影响其他子系统的正常工作,系统的稳定性和鲁棒性较好。
2.2 子系统分析。各个子系统具有类似的功能,对外接口也一样。值得注意的是,子系统中的结果不是被要求为具有一致性,只需要子系统遵守通信协议、接口即可。子系统中的代理可以分为应用型代理和系统型代理。前者是为了某特定领域而研究开发的代理,在分布式智能商务系统中有商家代理、客户代理和数据库代理;后者主要负责管理平台,联合平台间的工作,实现代理间的通信,如系统联合代理、系统管理代理等,如图2。系统管理代理负责的是所有子系统代理管理工作,如来了客户,系统管理代理就启动客户代理向客户提供服务。客户代理结合客户要求,询问子系统中的商家代理。商家代理受到查询信息之后,立即查询数据库并作出信息反馈。客户代理接收到商家代理的商品信息之后,可以启动客户谈判代理和商家谈判代理约谈。谈判顺利就会按照商家谈判代理的价格发出订单,交易成功之后客户代理会通知客户。
3.系统的实现
3.1 系统描述。本文选用JADAE平台实现多代理系统,该平台是建立在Java语言之上的分布式开发运行环境,是目前运用最为广泛的平台之一。JADE中有Agent通信管理平台、Java类包,用于开发Agent。一个JADE平台拥有一个主容器,其中包括三种系统组件,AMS Agent组件、DF Agent组件、ACC Agent组件,分别用于实现代理管理、代理目录注册和多代理间的信息传送。JADE Agent通信运用的是ACL语言,该语言中有接受者、发送者、编码格式、消息类型等多个参数。总的来说,JADE用于多代理系统开发具有很强的便捷性、直观性。JADE平台的代理及代理间的相互关系,如图3。
3.2 实现技术。(1)电子商务系统功能。智能型商务系统的交易步骤十分简单,购买方提供目标商品信息,通过买卖双方代理就可以完成交易。本系统的功能由购买方提供商品信息、购买条件,卖方录入交易规则、商品信息;显示协商过程;发送订单。(2)Agent设计。本系统设计的两个Agent类有Buyer Agent.class与Seller Agent.class,分别实现的是卖方和卖方的代理。Agent初始化用setup方法实现;Agent发送和接收消息由send和receive方法实现;JADE Agent的功能通过行为对象jade来实现。其他代理的实现方式基本相同,不一一描述。
3.3 买卖双方的协商。买卖方代理站在各自被代理人角度,双方目的都是获得最大化利益。买方代理以尽可能低的价格购买商品;卖方代理是尽可能较高的价格卖出商品。此处运用线性算法,买方谈判代理在买卖初期出低价,但购买期限邻近会适当提高出价,表现出来的是购买出价和商品出售有效时间的剩余呈反比关系;而对于卖方谈判代表来说呈现出正比关系。代理之间要经过反复协商才能满足双方利益,实现共赢效果。
4.系统测试
系统的测试共选择四台计算机,三台为商家服务,一台为客户服务。为了比较方便直观,测试的每台计算机销售价格和时间不一的相同商品。测试中,用户代理在商品销售的有效时间内购买了当时三个商家中最便宜的电脑,测试效果很好,实现了预期效果。
根据程序的运行结果来看,代理完全代表了被代表人的利益主动与对方代理谈判,智能代理可以参与到电子商务系统中,实现智能化的商品交易活动,简化了交易步骤,减少人工操作,系统运行率更高了。
参考文献:
[1] 陈强,蔚承建.基于多代理的分布式智能电子商务系统设计[J].计算机工程与科学,2010, 07:143-146.
[2] 王璞.基于分布式智能代理的电子商务架构的研究[J].甘肃科技,2013, 18:11-13.
[3] 林甲灶.构建个性化智能移动电子商务系统的关键技术与方法研究[D].导师:李廉.兰州大学,2011.
[4] 肖修林,吴朝晖.可信用电子商务系统体系架构研究[J].计算机集成制造系统-CIMS,2003, 04:265-269.
[5] 边海锋,许俊华,刘祖照.基于智能代理和web服务的动态电子商务集成[J].清华大学学报(自然科学版),2003, 03:429-432.