桑晓倩 马超 赵悦
摘 要:随着“懒人经济”的迅速发展,越来越多的用户青睐于O2O服务。通过用户-平台-商家-配送员再到用户的这一闭环服务流程,O2O服务可以帮助用户实现足不出户即可满足个人需求的愿望。但随着用户数量的不断增多以及用户需求个性化的不断提高,O2O服务平台均面临着高并发、低效率和扩展性差等问题。为此,文章设计并实现了面向高效派单的可配置代办服务平台。该平台采用统一接口执行业务的策略,保障了业务的可扩展性,还采用网络负载均衡技术,通过搭建服务器集群解决了平台高并发的问题,同时为了保障平台派单效率,设计了一种基于混合模式的订单高效分配算法,最后采用Spring AOP日志管理策略,保障了平台自身的安全性。
关键词:可配置;网络负载均衡;集群
中图分类号:TP315 文献标志码:A 文章编号:2095-2945(2019)01-0047-02
Abstract: With the rapid development of "lazy person economy", more and more users favor O2O service. Through the closed-loop service process of user-platform-business-distributor and then to users, O2O service can help users realize the desire to meet their personal needs without leaving home. However, with the increasing number of users and the continuous improvement of personalized user needs, O2O service platforms are faced with problems such as high concurrency, low efficiency and poor scalability. For this reason, this paper designs and implements a configurable agent service platform for efficient dispatch of orders. The platform adopts the strategy of uniform interface to execute the business, which guarantees the expansibility of the service. It also adopts the network load balancing technology to solve the problem of high concurrency of the platform by building the server cluster. At the same time, in order to ensure the efficiency of dispatching orders on the platform, an efficient order allocation algorithm based on hybrid mode is designed. Finally, Spring AOP log management strategy is used to ensure the security of the platform itself.
Keywords: configurability; network load balancing; cluster
逐漸盛行的“懒人经济”[1]催生了众多的O2O服务平台,但它们均面临着高并发、低效率和扩展性差等问题。为此,本文设计并实现了面向高效派单的可配置代买服务平台。该平台实现了用户-平台-代办员再到用户的服务流程。在这一流程中,用户的需求可以根据实际需要进行选择,平台不仅支持一般的代买商品需求,也支持代取文件、代送鲜花等个性化需求,这就极大地扩展了平台的业务范围,提升了平台的服务提供能力;另外,平台采用统一接口执行业务的策略,在技术上保障了平台业务的可扩展性。
此外,为了解决平台可能遇到的高并发问题,在设计与实现平台时,本文在服务器端搭建了LVS架构的服务器集群,采用负载均衡技术来分担平台遇到的高并发服务请求带来的访问压力,使得平台运行更加高效。进一步地,在设计订单处理模块时,采用了基于派/抢混合模式的订单高效分配算法,改善了平台用户的服务体验。最后,在设计监控模块[2][3]时,采取了对操作日志进行监控的方式,保证在平台使用过程中所产生的异常可以被及时、准确地发现。
1 可配置代买服务平台的设计
可配置代买服务平台的核心功能由服务器实现,其由监控模块、配置管理模块和负载均衡模块等六部分构成,如图1所示。监控模块负责跟踪系统中其它模块的运行状态,判断它们是否处于正常运行状态,如果发现异常,则提醒系统管理员进行处理。配置管理模块负责配置信息的变更和配置版本的回退,配置信息包括缓存大小、缓存时间,传输协议等。
资源管理模块负责管理平台资源,如用户资源、软硬件资源以及信息资源等。计费模块负责管理订单的资金流,以及公司的日常支出。安全保障模块通过https[4]协议实现了安全的数据传输,又通过搭建防火墙保障了自身的健壮性。
负载均衡模块负责解决高并发这一问题,其具体实现思路是在服务器端,采用LVS架构实现服务器集群,以此来实现负载均衡,分担高并发访问对服务器产生的压力。在实现集群的DirectorServer时,采用两台服务器实现多活,防止VIP故障而导致集群不可用[5]。
2 基于混合模式的订单高效分配算法
订单分配的目标是通过对代办员的最优调度,以此来高效地完成用户订单。为此,订单分配算法需要处理用户、订单以及代办员三类实体的信息,具体包括:(1)用户画像包含用户的当前位置坐标、等级、积分、成单数等信息;(2)订单画像包括目标物品位置坐标、目标地位置坐标、下单时间、预约时间、订单金额等信息;(3)代办员画像包括代办员的星级、当前位置坐标、成单数等信息。基于派/抢混合模式的订单高效分配算法的伪代码如下所示。
订单高效分配算法:
输入:m个用户订单orderi、n个代办员agentj
输出:代办员与用户订单的匹配关系
1.For i=1 To i=m
2.For j=1 To j=n
3.计算orderi中目标物品位置与agentj当前位置的距离d1ij;
4.计算orderi中目标地位置与agentj当前位置的距离d2ij;
5.IF Max(d1ij,d2ij)<=PT
6.Insert agentj Into CS
7.End For
8.对CS中的代办员按照多个维度(即画像属性)进行排序,得到一个优先级矩阵PM;
9.計算P_order=PM WT;
10.将P_order中的代办员按照优先级位次从高到低划分成C组,即S_P_order1,S_P_order2,…, P_orderC;
11.While(订单orderi没有被接受)
12.每隔T时间,依次向S_P_order1,S_P_order2,…, S_P_orderC发送订单信息,每组内的代办员可以在T时间内进行抢单;
13.End While
14.End For
在步骤3和4中,针对不同的业务类型,目标物品位置OOL和目标地位置OPL的物理含义不同。例如,对于代买咖啡业务,OOL是用户指定的咖啡店位置,OPL是用户确认的接收位置;而对于代送鲜花业务,OOL是用户指定的花店位置,OPL是用户设定的接收人位置。
在步骤5中,PT为预先设定的距离阈值(即代办员的
服务能力范围半径)。在步骤6中,CS表示候选代办员集合,候选代办员指的是具备完成订单orderi能力的代办员。在步骤8中,PM的行数为CS中候选代办员的数量,列数为代办员画像中用于进行排序的属性数量,PM中的元素pkh表示第k个候选代办员在第h维画像属性上的优先级位次。
在步骤9中,权重向量W=
权重向量W的设定一方面需要收集平台用户的大量历史数据,通过对历史数据进行挖掘与分析来实现;另一方面也要参考用户可能指定的个性化偏好,对初始设定值进行修正。在步骤10和12中,参数C和参数T需要通过仿真数据测试或实际运行情况来设定。
3 可配置代买服务平台的实现
依据上述的平台设计方案和订单高效分配算法伪代码,本文实现了面向高效派单的可配置代买服务平台。受篇幅所限,仅给出代办员视角的订单处理流程的系统实现示意图,如图2所示。
4 结束语
本文的面向高效派单的可配置代买服务平台很好地解决了一般O2O服务平台均面临的高并发、低效率和扩展性差等问题,同时还利用订单高效分配算法改善了平台用户的服务体验。
参考文献:
[1]江萌,陶劲松.懒人需求推动新经济[N].湖北日报,2015(005).
[2]翟高粤.基于AspectJ的AOP系统设计与实现[J].微计算机信息,2010,26(36):273-274.
[3]杨帆.一种基于有限状态机和命令模式的设备监控软件模型[J].中国水运(下半月),2014,14(9):138-141.
[4]肖曦,南楠.基于HTTPS的统一通信系统安全设计[J].物联网技术,2011(5):67-68.
[5]王志刚,常兴磊,胥茜.LVS集群的一种动态负载均衡方法[J].福建电脑,2017,33(10):111-113.