陳聰敏, 陳晨
(咪咕動漫有限公司,廈門 361008)
基于微服務的衍生品銷售管理平臺設計方案*
陳聰敏, 陳晨
(咪咕動漫有限公司,廈門 361008)
本文結合微服務架構的優(yōu)點設計一套具備支撐線上電商、線下廳店和渠道銷售場景的銷售管理系統(tǒng),提供統(tǒng)一的銷售后端服務,滿足不同渠道運營訴求,有效提高各渠道銷售能力。
衍生品;銷售管理;微服務
目前咪咕文化科技有限公司(以下簡稱“咪咕文化”)旗下五大子公司擁有大量的銷售資源,但各子公司的商品完全獨自運營推廣,沒有對資源進行銷售聚合和整合,無法形成聯(lián)動優(yōu)勢,優(yōu)勢資源無法形成整體化營銷,需要通過進一步的商品整合,提升在商品競爭力的同時,最大化資源利用,提升銷量和銷售成功率。
此外,銷售渠道是產(chǎn)業(yè)鏈關鍵環(huán)節(jié),咪咕文化目前銷售完全依托于自有合作渠道或第三方渠道,缺乏自己可控的銷售渠道資源,該種形式導致用戶觸點的丟失,無法直觸市場需求,無法形成有效的市場分析;以及渠道資源無法進行集中整合和優(yōu)化,共享。缺乏相關的數(shù)據(jù)基礎,無法判斷出真實痛點,創(chuàng)造有效的品牌宣傳優(yōu)勢,提升品牌價值。
另外,第三方合作渠道是咪咕銷售渠道的重要組成部分,咪咕文化需要建立一套統(tǒng)一的能力平臺既能支撐第三渠道各種業(yè)務模式,又能實現(xiàn)第三方渠道的快速接入,最大化的提升第三方渠道的銷售效率,同時實現(xiàn)統(tǒng)一管理、規(guī)劃化管理,提升渠道管控能力。
咪咕文化期望構建前后端一體的衍生品交易及銷售管理平臺,通過聚合咪咕全品類商品,整合銷售管理能力,支撐線上電商、線下廳店和渠道等多種銷售場景,解決目前銷售管理中存在的問題痛點,并構建起能符合未來互聯(lián)網(wǎng)模式形態(tài)的銷售管理信息化體系和基礎。
微服務架構是一種非常靈活、開放的架構?;舅枷朐谟诳紤]圍繞著業(yè)務領域組件來創(chuàng)建應用,這些就應用可獨立地進行開發(fā)、管理和加速。在分散的組件中使用微服務云架構和平臺使部署、管理和服務功能交付變得更加簡單[1]。在微服務架構中,一個應用是由多個小的、相互獨立的、微服務組成,這些服務運行在自己的進程中,開發(fā)和發(fā)布都沒有依賴[2]。相比傳統(tǒng)單塊架構,微服務架構具備輕量、開放、松耦合、易遷移、易伸縮、容錯性等特點,且微服務架構有許多特有優(yōu)點。
(1) 首先,微服務架構模式針對很難進行單體式編碼的應用提供了模塊化的解決方案,將單體式應用分解成為多個可管理的微服務。每個微服務都有一個用RPC-或者消息驅(qū)動API定義清楚的邊界。
(2) 其次,微服務架構模式下每個微服務都可以進行獨立部署,不再需要考慮其它服務的部署會對本服務產(chǎn)生影響,能夠?qū)崿F(xiàn)部署速度加快。
(3) 再者,微服務架構模式下每個微服務都可以進行獨立擴展,能夠根據(jù)每個服務的規(guī)模來部署以滿足需求的規(guī)模。
REST(Representational State Transfer) 是 一種輕量級的Web Service架構風格,是目前互聯(lián)網(wǎng)技術架構中被廣泛應用和認可的新型架構風格,其實現(xiàn)和操作明顯比SOAP和XML-RPC更為簡潔,可以完全通過HTTP協(xié)議實現(xiàn),還可以利用緩存Cache來提高響應速度,性能、效率和易用性上都優(yōu)于SOAP協(xié)議[3]。
REST架構遵循CRUD原則,即完成對資源操作和處理只需要4種行為:創(chuàng)建、讀取、更新和刪除。通過這4個無法再分的操作就能夠構造復雜的操作過程。
REST架構是針對Web應用而設計的,REST風格的狀態(tài)與特性無關,確保系統(tǒng)的橫向拓展能力;其次,REST風格的超文本驅(qū)動,確保系統(tǒng)的演化能力;再者,對資源相關的模型建立統(tǒng)一的原語,保證了系統(tǒng)具備接納多樣而又標準的客戶端能力。REST風格設計可以降低開發(fā)的復雜性,并且能極大提高系統(tǒng)的可伸縮性。
咪咕文化要聚合咪咕全品類衍生商品,實現(xiàn)統(tǒng)一管理和進行不同場景銷售。咪咕衍生品現(xiàn)有銷售場景主要包括線上自有電商和第三方電商(移動積分商城、京東、天貓等)、線下咪咕廳店和經(jīng)銷商渠道獨立銷售,也包括線上線下組合銷售,如客戶進入咪咕廳店進行體驗,引導客戶先體驗智能設備,然后進行線上線下商品銷售,實現(xiàn)用戶線下選購或線上下單,可線下立即取貨或現(xiàn)場寄送到家,提供完善的售后服務。不同場景的客戶下單后,根據(jù)訂單貨品數(shù)量和庫存數(shù)量判斷訂單流轉,若訂單貨品數(shù)量小于現(xiàn)有庫存數(shù)量則訂單流轉至倉庫管理員進行發(fā)貨操作,若訂單貨品數(shù)量大于現(xiàn)有庫存數(shù)量則訂單流轉至采購管理員發(fā)起采購流程,由供應商發(fā)貨配。衍生品銷售業(yè)務流程如圖1所示。
根據(jù)業(yè)務需求,衍生品交易及銷售管理平臺需要建立起線上銷售,線下銷售與服務,以及線上線下渠道推廣管理三套完整的管理體系,且實現(xiàn)三套體系進行互補和融合,形成從渠道推廣,線上線下完整閉環(huán)的銷售管理體系;線上與線下的互聯(lián),打通O2O的生態(tài)互補和相互引流,線上與渠道推廣的打通,線下與渠道推廣的互通,從而實現(xiàn)為線上銷售,線下服務的互融引流。
2.3.1 可用性
采用成熟技術,采用切實可行的解決方案,盡可能用簡單、統(tǒng)一、易用的方式來實現(xiàn)功能,避免追求片面的功能多樣性。不求大求全,只求更專業(yè)化。
圖1 衍生品銷售業(yè)務流程圖
2.3.2 安全性
平臺應保證各個系統(tǒng)的安全性。安全性包括:內(nèi)容的安全性、管理系統(tǒng)的安全性、傳輸?shù)陌踩缘?。系統(tǒng)應具有基本的防病毒能力、防DoS攻擊能力、具有安全預警能力。
2.3.3 可擴展性
在設計、功能上盡可能留有接口,便于功能的進一步擴展,以及方便平臺維護、修改、銜接以及增加新的功能。
2.3.4 可維護性
平臺應具有簡單、方便的維護和管理手段,盡量減少維護和管理環(huán)節(jié)。
結合平臺功能需求,衍生品交易及銷售管理平臺設計采購管理、商品管理、庫存管理、廳店管理、電商管理、經(jīng)銷商管理、供應商管理、運營報表管理和用戶管理等模塊。平臺總體功能方案如圖2所示。
3.2.1 微服務架構設計
衍生品交易及銷售管理平臺為了滿足不同銷售形態(tài)、不同渠道運營的訴求,實現(xiàn)松耦合、服務的平滑切換、系統(tǒng)的模塊化、容錯性,高可靠性,搭建了微服務架構,采用Zookeeper來實現(xiàn)服務的注冊及發(fā)現(xiàn),Dubbo服務框架實現(xiàn)服務的發(fā)布及管理。衍生品交易及銷售管理平臺分為前端收銀系統(tǒng),后臺管理系統(tǒng),都通過微服務架構調(diào)用子服務。子服務包括:廳店服務節(jié)點(廳店收銀系統(tǒng)的操作服務)、電商服務(電商產(chǎn)品與進銷存產(chǎn)品的同步,訂單同步,自提功能等)、庫存服務節(jié)點(涉及到平臺庫存的所有操作)、 文件服務節(jié)點(平臺文件,圖片上傳顯示等)、 報表服務節(jié)點(平臺所有報表操作服務)、采購服務節(jié)點(平臺的所有采購操作)。衍生品交易及銷售管理平臺微服務架構設計方案如圖3所示。
圖2 平臺總體功能方案圖
圖3 平臺微服務架構設計方案
3.2.2 基于 REST 的 Web Service
衍生品交易及銷售管理平臺主要采用REST架構風格來實現(xiàn)Web Service,實現(xiàn)不同系統(tǒng)之間,特別是異構系統(tǒng)之間的調(diào)用。具體體現(xiàn)在:
(1) 衍生品交易及銷售管理平臺后臺頁面通過ExtJs實現(xiàn)界面展示,用Spring mvc實現(xiàn)REST風格的Web Service,前端通過Ajax調(diào)用后臺Web服務,獲取JSON格式的數(shù)據(jù)進行頁面渲染。
(2) 衍生品交易及銷售管理平臺對外提供接口,根據(jù)不同的接入方提供不同的內(nèi)外網(wǎng)訪問權限。這些接口通過Spring mvc實現(xiàn),提供接口給接入方訪問并取得JSON格式的數(shù)據(jù),或提供回調(diào)地址讓接入方回調(diào)。
采購管理主要有采購訂單發(fā)起與審批功能。
(1)采購訂單發(fā)起:根據(jù)采購需求在采購目錄勾選采購商品或者新增所需采購商品,支持單個商品發(fā)起采購和多個商品批量采購。
(2) 采購訂單審批:具備采購訂單修改、通過和駁回功能。
商品管理包含商品類目、商品信息和商品銷售發(fā)布的管理。
(1)商品類目管理:管理所有平臺銷售的商品類目數(shù)據(jù),包括商品類目查詢、類目新增、類目刪除和類目修改等操作功能。
(2)商品信息管理:錄入所有商品信息數(shù)據(jù),管理商品進價,包含商品新增、編輯、查詢操作功能。商品信息包括商品名稱、商品編碼、商品分類、庫存數(shù)量、IP、規(guī)格、商品圖片、成本價、出廠價、零售價等基礎信息。
(3)商品銷售發(fā)布管理:主要實現(xiàn)對商品進行二次批價、零售價和商品上下架處理。
根據(jù)前端業(yè)務場景將倉庫管理劃分一級總倉和廳店、電商和經(jīng)銷商3個二級倉,二級倉之間可以通過調(diào)撥滿足供需。整個倉庫管理包括庫存查詢、入庫管理、出庫管理、調(diào)撥管理、盤庫管理和報損管理功能。
(1) 庫存查詢:庫存查詢可以查看總倉和各個二級倉的庫存情況、調(diào)撥情況。
(2)入庫管理:入庫管理包括采購入庫、調(diào)撥入庫、無訂單入庫和盤盈四種情況管理。
(3)出庫管理:出庫管理包括銷售出庫、調(diào)撥出庫、無訂單出庫、盤虧和報損5種情況管理。
(4)調(diào)撥管理:調(diào)撥管理包括總倉與二級倉以及二級倉之間調(diào)撥。
(5)盤庫管理:盤庫管理指定期倉庫盤點數(shù)據(jù)管理,包括正常、盤盈和盤虧3種情況,系統(tǒng)做相應記錄。
(6)報損管理:通過新增報損單對商品入庫或盤點時候發(fā)現(xiàn)的丟失損壞做記錄。
廳店管理主要包括前端廳店收銀系統(tǒng),具備廳店信息管理、商品管理、訂單管理、O2O管理(電商自提)和收銀功能。
(1)廳店信息管理:主要管理廳店的基本信息和廳店固定資產(chǎn)信息。
(2)商品管理:管理廳店的所有商品信息,如在售商品、待售商品及商品的庫存信息,并支持發(fā)起補貨申請功能。
(3)訂單管理:管理銷售訂單的創(chuàng)建和查詢。
(4)O2O管理(電商自提):用戶在線上電商下單時選擇廳店自提,前端廳店收銀系統(tǒng)支持提貨券碼進行校驗、提貨。
(5) 收銀功能:支持微信、支付寶、銀聯(lián)和券4種支付方式。
電商管理包括電商渠道管理、訂單管理和商品管理功能。
(1) 電商渠道管理:管理自有電商和第三方電商信息。
(2)訂單管理:支持自有電商訂單的創(chuàng)建、查詢和第三方電商訂單通過接口將同步。其中,自有電商訂單支持線上下單線下取貨。
(3)商品管理:管理所有電商商品銷售價、上下架及庫存情況。
經(jīng)銷商管理包括經(jīng)銷商信息管理和訂單管理;供應商管理主要對供應商信息及合作情況進行管理;運營報表主要包括采購報表、商品銷售報表和商品出入庫報表,支持多字段查詢功能;用戶角色包括采購人員、倉庫管理員、供應商管理員等角色,用戶管理是所有用戶角色和相應帳號權限設置管理,包括角色和帳號創(chuàng)建、刪除、修改等操作功能。
衍生品交易及銷售管理平臺根據(jù)業(yè)務形式,數(shù)據(jù)流拆分采用分層結構:表現(xiàn)層、接口交互層、基礎服務層、應用邏輯層、 數(shù)據(jù)訪問層及中間件、數(shù)據(jù)存儲層、基礎框架層。平臺架構設計方案如圖4所示。
圖4 平臺架構設計方案圖
表現(xiàn)層主要實現(xiàn)方式有HTML5、PHP 、Extjs、JSP、廳店終端等。H5前端使用Javascript、HTML5、PHP開發(fā),使用多種Javascript框架技術如:Jquery、Bootstrap等。衍生品交易及銷售管理平臺后端管理系統(tǒng)頁面及報表展示系統(tǒng)使用Extjs開發(fā),結合ajax技術,實現(xiàn)頁面的快速展現(xiàn)。
接口交互層分為以PHP開發(fā)的接口和Java開發(fā)的接口,PHP使用LNMP架構(Linux+Nginx+Mysql+PHP),以JSON格式為表現(xiàn)層提供數(shù)據(jù),同時和后臺Java系統(tǒng)實現(xiàn)接口的交互。Java系統(tǒng)以Restful風格來實現(xiàn)接口的輕量級調(diào)用,接受JSON格式的數(shù)據(jù)輸入及輸出、同時在內(nèi)部各個子模塊之間采用微服務架構,實現(xiàn)服務的高可靠性、容錯、服務自理等。微服務架構使用Zookeeper注冊中心,用dubbo暴露接口服務,以此來實現(xiàn)服務的均衡、容錯、自理,服務之間互不影響,實現(xiàn)平滑啟動和關閉。
基礎服務層主要有短信業(yè)務邏輯、郵件邏輯、SSL及FTP文件傳輸(如JSCH) 、消息(如Active MQ)、認證授權(使用自主開發(fā)的CAM服務), 定時任務(如Spring Schedule、Quartz等),圖片服務處理(如FastDFS)。
應用邏輯層調(diào)用各方的提供的外部接口,通過http協(xié)議實現(xiàn)接口交互,一般采用json或xml格式的數(shù)據(jù)。
數(shù)據(jù)訪問層采用Mybatis框架實現(xiàn)對數(shù)據(jù)庫的封裝、映射、持久化操作等,簡化開發(fā)過程,提高開發(fā)效率。中間件主要有Nginx、Appache、Tomcat。利用Nginx的反向代理機制實現(xiàn)軟件的負載均衡,同時提供圖片的緩存,利用它的高并發(fā)性,提高頁面的訪問能力,減輕應用服務器的負擔。
數(shù)據(jù)存儲層主要采用Mysql,它使用的核心線程是完全多線程,支持多處理器,可以工作在不同的平臺上。支持C、C++、Java、Perl、PHP、Python和TCL API。其體積小、速度快、總體擁有成本低。
基礎框架組件包括: Spring MVC、 ThinkPHP、Redis、Log4j。其中,Spring 框架提供了構建 Web應用程序的全功能 MVC 模塊,并且通過策略接口,使Spring 框架具備高度可配置的特點;Redis緩存可以實現(xiàn)session的共享,與tomcat等其他中間件一起使用,并提供數(shù)據(jù)緩存,提供服務器性能。
本文設計衍生品交易及銷售管理平臺,利用微服務架構的開放、松耦合、易遷移、易伸縮、容錯性等優(yōu)點,建設采購管理、商品管理、庫存管理、廳店管理、電商管理、經(jīng)銷商管理、供應商管理、運營報表管理和用戶管理等功能模塊,支撐前端線上電商銷售、線下廳店和渠道銷售需求,實現(xiàn)連接線下咪咕驛站和線上電商商城,形成線上線下、前端后端的聚合分發(fā)能力,實現(xiàn)電子渠道銷售能力,衍生品供貨能力和銷售能力,解決了銷售能力分散的問題,打造全渠道完整閉環(huán)的銷售管理體系。
[1] Kasun Indrasiri .Microservices in Practice: From Architecture to Deployment[DB/CD]. Frank Qin譯. segmentfault. https://segmentfault.com/a/1190000004634172 .201603-18/2017-08-17.
[2] 李昂. REST架構工作流中間件設計與實現(xiàn)[J]. 計算機工程與設計. 2012,33(9):3455-3459.
[3] Jon Oltsik. 安全架構的優(yōu)勢[J]. 微電腦世界,2012(4):25-28.
[4] 劉華敏. 李玉. 進銷存管理系統(tǒng)的設計與實現(xiàn)[J]. 電腦知識與技術, 2008,4(32):1140-1143.
Design scheme of derivative sales management platform based on micro service
CHEN Cong-min, CHEN Chen
(Migu Comic Co., Ltd., Xiamen 361008, China)
This paper combines the advantages of micro service architecture to design a sales management system with electronic trade online support, off line sales store and channel sales, providing a unified sales back-end services, which can meet various demands of channel operations, thus effectively improve the ability of sales channels.
derivatives; sales management; micro services
TN915
A
1008-5599(2017)09-0022-06
2017-08-25
* 中國移動集團級一類科技創(chuàng)新成果,原成果名稱為《咪咕文化衍生品交易及銷售管理平臺 》。