国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

互聯(lián)網(wǎng)車險(xiǎn)平臺(tái)批量導(dǎo)入功能設(shè)計(jì)和實(shí)現(xiàn)

2020-05-11 11:43王楠張志鵬王柳青張之江
微型電腦應(yīng)用 2020年1期

王楠 張志鵬 王柳青 張之江

摘 要: 針對(duì)互聯(lián)網(wǎng)車險(xiǎn)“直銷+網(wǎng)銷”的過(guò)渡性發(fā)展模式,需要將線上線下保單統(tǒng)一管理。根據(jù)運(yùn)營(yíng)管理平臺(tái)批量導(dǎo)入的需求模式,設(shè)計(jì)實(shí)現(xiàn)方案,完成了系統(tǒng)功能的開發(fā)和測(cè)試。整個(gè)功能涉及到運(yùn)營(yíng)管理平臺(tái)與業(yè)務(wù)接口平臺(tái)的對(duì)接、業(yè)務(wù)接口平臺(tái)與保險(xiǎn)公司接口的對(duì)接。系統(tǒng)的軟件框架采用了SSM+Dubbo+Zookeeper,平臺(tái)與平臺(tái)間采用httpclent進(jìn)行交互,且整個(gè)功能通過(guò)了所有的測(cè)試用例,并已上線使用。

關(guān)鍵詞: 互聯(lián)網(wǎng)車險(xiǎn); Dubbo; 分布式系統(tǒng)

中圖分類號(hào): TP311 ? ? ?文獻(xiàn)標(biāo)志碼: A

Desgn and mplementaton of Batch mport Functon for the

nternet Car nsurance Platform

WANG Nan, ZHANG Zhpeng, WANG Luqng, ZHANG Zhjang

(School of Communcaton and nformaton Engneerng, Shangha Unversty, Shangha 200444)

Abstract: n vew of the transtonal development model of the nternet auto nsurance “drect sales + onlne sales”, t s necessary to manage onlne and offlne nsurance polces. Accordng to the demand mode of batch mport of the operaton management platform, the desgn mplementaton plan s completed, and the development and testng of the system functons are also completed. The whole functon nvolves the dockng of the operaton management platform and the servce nterface platform, and the communcaton of the servce nterface platform and the nsurance company. The software framework of the system adopts SSM+Dubbo+Zookeeper. The communcaton among platforms uses httpclent to nteract, and the whole functon passes all the test cases and s used onlne.

Key words: Car nsurance by the nternet; Dubbo; Dstrbuted system

0 引言

隨著互聯(lián)網(wǎng)時(shí)代的高速發(fā)展,車險(xiǎn)行業(yè)也受到了很大的影響?;ヂ?lián)網(wǎng)金融下的保險(xiǎn)行業(yè)是指保險(xiǎn)公司或新型第三方保險(xiǎn)以互聯(lián)網(wǎng)和電子商務(wù)技術(shù)為工具來(lái)支持保險(xiǎn)銷售的經(jīng)營(yíng)管理活動(dòng)的營(yíng)銷模式,有別于傳統(tǒng)的保險(xiǎn)代理人的營(yíng)銷模式[1]。而互聯(lián)網(wǎng)運(yùn)營(yíng)管理平臺(tái)(即OA系統(tǒng)),主要是通過(guò)信息技術(shù)使企業(yè)人員之間方便快捷地進(jìn)行信息共享, 高效地協(xié)同工作, 最大限度地提高辦公效率, 提高辦公質(zhì)量,實(shí)現(xiàn)辦公自動(dòng)化[2]。OA系統(tǒng)目前主要應(yīng)用的技術(shù)有Lotus軟件、MVC架構(gòu)、B/S模式[3],且結(jié)合數(shù)據(jù)庫(kù)使得OA系統(tǒng)管理數(shù)據(jù)更加智能化。隨著互聯(lián)網(wǎng)車險(xiǎn)平臺(tái)訂單量的增加,且該行業(yè)還處于“直銷+網(wǎng)銷”的過(guò)渡時(shí)期[4],因此設(shè)計(jì)了批量導(dǎo)入線下保單進(jìn)行統(tǒng)一管理的功能。該功能在運(yùn)營(yíng)管理平臺(tái)實(shí)現(xiàn)到對(duì)導(dǎo)入的訂單數(shù)據(jù)的解析緩存、傭金生成、提現(xiàn)記錄生成,業(yè)務(wù)接口平臺(tái)實(shí)現(xiàn)導(dǎo)入保單保存、訂單生成、與保險(xiǎn)公司進(jìn)行數(shù)據(jù)同步。平臺(tái)內(nèi)部都使用基于Dubbo+Zookeeper的SOA架構(gòu)對(duì)服務(wù)進(jìn)行分布式部署,相比垂直應(yīng)用架構(gòu),分布式服務(wù)能使前端更快響應(yīng)、能更獨(dú)立方便地管理服務(wù)。平臺(tái)與平臺(tái)之間通過(guò)調(diào)用HttpClent的第三方j(luò)ar包,編寫http客戶端實(shí)現(xiàn)數(shù)據(jù)交互。

1 批量導(dǎo)入功能設(shè)計(jì)

批量導(dǎo)入模塊涉及到了運(yùn)營(yíng)管理平臺(tái)和業(yè)務(wù)接口平臺(tái)。由于在生成金豆和提現(xiàn)模塊,兩個(gè)平臺(tái)之間有大量的接口數(shù)據(jù)調(diào)用,若是直接采用傳統(tǒng)的單一應(yīng)用架構(gòu)或者垂直應(yīng)用架構(gòu),大量請(qǐng)求會(huì)為服務(wù)器帶來(lái)高額負(fù)載。而分布式架構(gòu)面對(duì)服務(wù)增多、請(qǐng)求量大的場(chǎng)景,能夠很好的通過(guò)集群管理服務(wù),并起到負(fù)載均衡的作用。因此本系統(tǒng)采用Dubbo+Zookeeper的分布式服務(wù)架構(gòu),來(lái)解決平臺(tái)之間服務(wù)管理和請(qǐng)求高并發(fā)的問(wèn)題。

1.1 系統(tǒng)架構(gòu)設(shè)計(jì)

從架構(gòu)來(lái)上說(shuō),整個(gè)系統(tǒng)分為了業(yè)務(wù)接入層、業(yè)務(wù)服務(wù)層、基礎(chǔ)服務(wù)層、持久化存儲(chǔ)層如圖1所示。

在業(yè)務(wù)接入層中,采用了Sprng+SprngMVC進(jìn)行搭建。Sprng是一個(gè)輕量級(jí)的分層的應(yīng)用程序開發(fā)框架,它的核心概念是oC(控制反轉(zhuǎn))和AOP(面向切面編程)[5]。Sprng包含了七個(gè)部分,SprngMVC為其中之一,它是基于MVC模式作用于前后端交互的模塊。

在業(yè)務(wù)服務(wù)層中,采用了Dubbo+Zookeeper的分布式RPC框架進(jìn)行服務(wù)部署。Dubbo是基于Java的HttpClent請(qǐng)求、高性能的開源RPC遠(yuǎn)程服務(wù)調(diào)用方案[6]。Zookeeper是高可用的分布式管理與協(xié)調(diào)服務(wù)框架,在分布式服務(wù)系統(tǒng)中主要用來(lái)進(jìn)行服務(wù)地址管理[7]。

在基礎(chǔ)服務(wù)層中,封裝了一些公共服務(wù)方法,比如緩存服務(wù)、日志服務(wù)、還有Http調(diào)用服務(wù)等。HttpClent是一個(gè)可以用來(lái)提供高效的、最新的、功能豐富的支持 HTTP 協(xié)議的客戶端編程工具包,并且它支持 HTTP 協(xié)議最新的版本和建議[8]。

在持久化存儲(chǔ)層中,采用MySQL[9]和Mybats[10]的技術(shù)結(jié)構(gòu)。Mybats是一個(gè)基于Java的持久化框架。它封裝了JDBC配置數(shù)據(jù)庫(kù)的參數(shù)和代碼,采用XML配置或者注解來(lái)映射java類與數(shù)據(jù)庫(kù)表對(duì)象。

1.2 批量導(dǎo)入模塊設(shè)計(jì)

正常線上業(yè)務(wù)包含了投保生成保單、支付生成訂單、業(yè)務(wù)員獲得傭金、提現(xiàn)等流程。因此批量導(dǎo)入也對(duì)應(yīng)設(shè)計(jì)了訂單導(dǎo)入、訂單同步、訂單查詢、訂單提現(xiàn)的流程。

訂單導(dǎo)入用于導(dǎo)入Excel格式的保單數(shù)據(jù)并作數(shù)據(jù)校驗(yàn),每一次導(dǎo)入會(huì)調(diào)用隨機(jī)數(shù)生成函數(shù)randomUUD()與當(dāng)前時(shí)間拼接為字符串形式,為該批數(shù)據(jù)生成一個(gè)批次號(hào)。此外業(yè)務(wù)接口平臺(tái)還會(huì)通過(guò)調(diào)用REST AP在運(yùn)營(yíng)管理平臺(tái)用Dubbo部署的注冊(cè)賬號(hào)服務(wù)進(jìn)行注冊(cè)。導(dǎo)入時(shí)若是錄入了銀行卡信息,也會(huì)為賬號(hào)綁定新的銀行卡號(hào),且提現(xiàn)時(shí)以錄入的銀行卡為主提現(xiàn)。

訂單同步可通過(guò)批次號(hào)查詢到保單數(shù)據(jù),并編寫http客戶端以POST方法將保單作為請(qǐng)求體數(shù)據(jù)發(fā)送到保險(xiǎn)公司進(jìn)行數(shù)據(jù)校驗(yàn),得到返回結(jié)果。RequestBody與ResponseBody均采用json格式,返回的數(shù)據(jù)為保險(xiǎn)公司的保單數(shù)據(jù)。系統(tǒng)將平臺(tái)中的保單與保險(xiǎn)公司的保單進(jìn)行校驗(yàn),不一致的數(shù)據(jù)作為log保存在數(shù)據(jù)庫(kù)中,并返回給前端的錯(cuò)誤提示。用戶可點(diǎn)擊查看錯(cuò)誤信息按鈕,查看數(shù)據(jù)的具體錯(cuò)誤,并進(jìn)行修改。其次訂單同步還可在平臺(tái)中生成訂單和用戶金豆。

訂單查詢中除了可查詢數(shù)據(jù)外,還包含導(dǎo)出查詢結(jié)果和導(dǎo)出失敗結(jié)果兩部分。導(dǎo)出采用了apache的po工具包,通過(guò)組裝單元格數(shù)據(jù)生成HSSFSheet對(duì)象的表格,以/O流的形式輸出下載。

訂單提現(xiàn)一部分是需要在持久化層,對(duì)每一批次進(jìn)行保費(fèi)和傭金的統(tǒng)計(jì)。這部分需要在Mybats的xml配置文件中,創(chuàng)建結(jié)果集并編寫sql語(yǔ)句來(lái)實(shí)現(xiàn)。另一部分則是根據(jù)賬號(hào)的銀行卡信息和訂單傭金,生成一筆提現(xiàn)記錄。

其模塊結(jié)構(gòu)如圖2所示。

1.3 批量導(dǎo)入數(shù)據(jù)庫(kù)設(shè)計(jì)

由于批量導(dǎo)入是在兩個(gè)平臺(tái)中一起實(shí)現(xiàn)的,所以在運(yùn)營(yíng)管理平臺(tái)和業(yè)務(wù)接口平臺(tái)都要設(shè)計(jì)數(shù)據(jù)表,如圖3所示。

在業(yè)務(wù)接口平臺(tái)中要處理導(dǎo)入數(shù)據(jù)并生成訂單,因此設(shè)計(jì)了導(dǎo)入表POLCY_NPUT_TASK和訂單表BZ_ORDER_MAN;

在運(yùn)營(yíng)管理平臺(tái)中需要注冊(cè)用戶、綁定銀行卡,生成金豆和提現(xiàn)記錄。因此主要涉及到有賬戶表Account、銀行卡表MyBank、錢包表Wallet、提現(xiàn)表Wthdraw。

POLCY_NPUT_TASK主要用于保存用戶導(dǎo)入的數(shù)據(jù),其中REGSTER_MOBLE可為手機(jī)號(hào)或者身份證號(hào)。自動(dòng)注冊(cè)賬號(hào)時(shí),以REGSTER_MOBLE的數(shù)據(jù)存入Account表中的lognCode。NPUT_STATUS則是為了記錄導(dǎo)入數(shù)據(jù)在不同操作階段的不同狀態(tài)。ERR_LOG則是記錄數(shù)據(jù)失敗時(shí)具體的錯(cuò)誤信息。而傭金金額、車牌號(hào)、車架號(hào)、起保日期、代理點(diǎn)信息會(huì)跟保險(xiǎn)公司進(jìn)行數(shù)據(jù)核對(duì)。

BZ_ORDER_MAN保存了訂單的信息,包含了訂單號(hào),出單用戶,訂單狀態(tài)、保費(fèi)等。Account保存用戶的個(gè)人信息。Wallet保存用戶的傭金信息,這里主要處理個(gè)人傭金和總傭金。MyBank保存用戶的銀行卡信息,一位用戶可綁定多張銀行卡,當(dāng)導(dǎo)入時(shí)不錄入銀行卡時(shí),已數(shù)據(jù)庫(kù)查出的第一張銀行卡提現(xiàn)。Wthdraw則根據(jù)銀行卡信息、用戶信息、金額保存提現(xiàn)記錄。

2 批量導(dǎo)入功能實(shí)現(xiàn)

由于系統(tǒng)還包含了其他的業(yè)務(wù)需求,從減少代碼重復(fù)率和提高運(yùn)行效率的角度考慮,在批量導(dǎo)入功能的范圍內(nèi),將運(yùn)營(yíng)管理平臺(tái)分為了manage、account、wallet、wthdraw幾個(gè)模塊,而業(yè)務(wù)接口平臺(tái)由busness模塊處理主要的業(yè)務(wù)邏輯。具體的功能流程如圖4所示。

2.1 運(yùn)營(yíng)管理平臺(tái)實(shí)現(xiàn)

在運(yùn)營(yíng)管理平臺(tái)中,manage主要負(fù)責(zé)前后端交互,這里做了前后分離,因此manage采用了Sprng+SprngMVC來(lái)負(fù)責(zé)后端的數(shù)據(jù)轉(zhuǎn)發(fā)。而分布式服務(wù)的部署也著重在運(yùn)營(yíng)管理平臺(tái)中,account主要負(fù)責(zé)用戶管理,wallet主要負(fù)責(zé)用戶傭金管理,wthdraw主要負(fù)責(zé)傭金提現(xiàn)打款管理,這些都是常用且會(huì)收到大量請(qǐng)求的服務(wù),所以通過(guò)Dubbo+Zookeeper對(duì)它們進(jìn)行解耦部署管理。首先下載并安裝ZooKeeper,再通過(guò)Sprng與Dubbo集成配置xml文件的形式暴露服務(wù),配置文件及解釋如圖5所示。

系統(tǒng)中采用了單主機(jī)多服務(wù)的部署形式,在同一臺(tái)主機(jī)上不同的服務(wù)部署至不同的端口。

2.2 業(yè)務(wù)接口平臺(tái)實(shí)現(xiàn)

在業(yè)務(wù)接口平臺(tái)中主要是存儲(chǔ)數(shù)據(jù)并與保險(xiǎn)公司進(jìn)行交互,數(shù)據(jù)庫(kù)部分采用Mybats框架處理。而調(diào)用保險(xiǎn)公司以及調(diào)用運(yùn)營(yíng)管理平臺(tái)服務(wù)都采用HttpClent編寫Http客戶端調(diào)用的形式。平臺(tái)里接口調(diào)用十分頻繁,所以將HttpClent的部分封裝成公共類,把url寫入以propertes為后綴的配置文件中。在不同的功能里,通過(guò)同樣的HttpClent讀取不同的配置文件來(lái)實(shí)現(xiàn)接口調(diào)用,這樣增加了靈活性,同時(shí)也減少了代碼重復(fù)率。HttpClent中通過(guò)doPost方法調(diào)用接口的代碼,如圖6所示。

3 系統(tǒng)測(cè)試

在系統(tǒng)測(cè)試環(huán)節(jié),我根據(jù)批量導(dǎo)入的需求設(shè)計(jì)了測(cè)試用例,執(zhí)行測(cè)試用例并獲得了測(cè)試結(jié)果。其中測(cè)試用例如表1,導(dǎo)入模板如表2,導(dǎo)入結(jié)果如圖7所示。

據(jù)圖7和表2所示,每條數(shù)據(jù)的導(dǎo)入時(shí)間在0.1 s-0.2 s,處理時(shí)間約為0.02 s,且1 000條以下的數(shù)據(jù)導(dǎo)入和處理均能全部成功。測(cè)試的結(jié)果符合性能需求,且系統(tǒng)流暢,認(rèn)為測(cè)試通過(guò)。

4 總結(jié)

本文根據(jù)互聯(lián)網(wǎng)車險(xiǎn)的業(yè)務(wù)現(xiàn)狀,為方便線上線下業(yè)務(wù)統(tǒng)一管理,提出批量導(dǎo)入功能的需求。并根據(jù)需求提出了功能的解決方案,進(jìn)行了功能設(shè)計(jì)開發(fā)和實(shí)現(xiàn)。批量導(dǎo)入采用SSM框架實(shí)現(xiàn)系統(tǒng)內(nèi)部業(yè)務(wù)邏輯、服務(wù)層與持久化層間的交互,運(yùn)用HttpClent通過(guò)Http協(xié)議達(dá)到接口交互的目的,采用Dubbo+Zookeeper進(jìn)行分布式服務(wù)部署調(diào)用,實(shí)現(xiàn)服務(wù)獨(dú)立部署和管理便利化。目前批量導(dǎo)入模塊已經(jīng)完成測(cè)試并上線運(yùn)行,后期針對(duì)其他的需求,還會(huì)繼續(xù)添加其他功能,并完善批量導(dǎo)入模塊。

參考文獻(xiàn)

[1] 陳蔚. 論互聯(lián)網(wǎng)保險(xiǎn)的現(xiàn)狀與趨勢(shì)[J]. 中國(guó)經(jīng)貿(mào), 2014(11):94-95.

[2] 郝學(xué)柱,董偉,周爽.企業(yè)OA辦公自動(dòng)化系統(tǒng)的應(yīng)用與發(fā)展趨勢(shì)[J].產(chǎn)業(yè)與科技論壇,2017,16(2):84-85.

[3] 王海青.辦公自動(dòng)化系統(tǒng)在企業(yè)應(yīng)用中的發(fā)展方向[J].自動(dòng)化與儀器儀表,2018(10):158-161.

[4] 肖云,周輝.新形勢(shì)下車險(xiǎn)營(yíng)銷模式探討[J].合作經(jīng)濟(jì)與科技,2019(1):117-119.

[5] 呂毅, 葛瑋, 郝克剛.Sprng輕量級(jí)J2EE開發(fā)框架的研究[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2006, 16(12):208-211.

[6] 劉先紡. 基于Dubbo的網(wǎng)上訂餐系統(tǒng)[D].廣州:華南理工大學(xué),2016.

[7] 冉勇, 曹東升, 楊婧孜. 基于DUBBO+ZOOKEEPER計(jì)量服務(wù)平臺(tái)研究[J]. 計(jì)量與測(cè)試技術(shù),2017, 44(1):41-42.

[8] 張鐵頭. 使用HttpClent實(shí)現(xiàn)基于WEB的第三方登錄驗(yàn)證[J].電腦知識(shí)與技術(shù),2012,8(12):2779-2780.

[9] 唐漢明.深入淺出MySQL:數(shù)據(jù)庫(kù)開發(fā)、優(yōu)化與管理維護(hù)[M].第2版.北京:人民郵電出版社,2014:1-25.

[10] 管才路,葉剛,耿偉,等.基于Java的Mybats生成持久層配置文件[J].電子技術(shù)與軟件工程,2018(22):139.

(收稿日期: 2018.12.12)

作者簡(jiǎn)介:王楠(1996-),女,碩士,研究生,研究方向:Java后端開發(fā)。

張志鵬(1994-),男,碩士研究生,研究方向:前端開發(fā)。

王柳青(1981-),女,碩士研究生,研究方向:系統(tǒng)工程。

張之江(1968-),男,教授,博士生導(dǎo)師,研究方向:計(jì)算機(jī)視覺(jué)、數(shù)字全息、負(fù)折射成像理論、機(jī)器視覺(jué)應(yīng)用技術(shù)等。文章編號(hào):1007-757X(2020)01-0079-05

嘉义市| 铜川市| 保山市| 北京市| 蒙自县| 逊克县| 吉木萨尔县| 贞丰县| 商都县| 博爱县| 赤水市| 班戈县| 轮台县| 策勒县| 庆阳市| 台湾省| 五家渠市| 阿荣旗| 无极县| 秦安县| 庆阳市| 海口市| 林甸县| 长顺县| 长乐市| 金秀| 肇庆市| 梨树县| 乌苏市| 长泰县| 镶黄旗| 阜阳市| 威信县| 军事| 宿松县| 珠海市| 古浪县| 师宗县| 筠连县| 荔浦县| 监利县|