李 俚 程 鑫,2 黃海院
1(廣西大學(xué)機械工程學(xué)院 廣西 南寧 530004)2(中國人民解放軍76199部隊 湖南 株洲 412005)
?
一種面向海關(guān)EDI通關(guān)系統(tǒng)的物流數(shù)據(jù)交換方法研究與實現(xiàn)
李俚1程鑫1,2黃海院1
1(廣西大學(xué)機械工程學(xué)院廣西 南寧 530004)2(中國人民解放軍76199部隊湖南 株洲 412005)
摘要針對物流服務(wù)交易平臺與海關(guān)EDI通關(guān)系統(tǒng)沒有對接,導(dǎo)致物流報關(guān)數(shù)據(jù)采集人工化以及通關(guān)效率低下等問題,提出基于XML的物流數(shù)據(jù)交換傳遞方法。該方法完成物流服務(wù)交易平臺的物流報關(guān)數(shù)據(jù)批量提取、轉(zhuǎn)換以及向報關(guān)企業(yè)的安全傳遞。同時,通過反序列化的方式解析報關(guān)企業(yè)的物流報關(guān)數(shù)據(jù)并自動提交至海關(guān)EDI通關(guān)系統(tǒng),實現(xiàn)了物流服務(wù)交易平臺與海關(guān)EDI通關(guān)系統(tǒng)的無縫連接,提高了貨物的通關(guān)效率。
關(guān)鍵詞物流報關(guān)數(shù)據(jù)數(shù)據(jù)交換海關(guān)EDI通關(guān)系統(tǒng)
0引言
近年來,隨著物流信息化的深入發(fā)展[1],物流服務(wù)交易平臺在港口物流中扮演的角色日益重要,在一定程度上促進了港口進出口貿(mào)易的繁榮[2]。然而,貨物通關(guān)效率卻可能成為制約我國港口物流發(fā)展的絆腳石[3]。由于我國現(xiàn)行政策,海關(guān)EDI通關(guān)系統(tǒng)只有具備報關(guān)資質(zhì)的報關(guān)企業(yè)才能申請使用。它沒有完成與物流專業(yè)服務(wù)交易平臺的系統(tǒng)對接,無法直接接受來自交易平臺的物流報關(guān)數(shù)據(jù)。并且交易平臺是分層分布式結(jié)構(gòu)[4],數(shù)據(jù)離散性高,提取難度大。同時,因為交易平臺與通關(guān)系統(tǒng)結(jié)構(gòu)的差異性以及絕對的安全需求,數(shù)據(jù)的交換與傳遞存在很大的局限性[5],導(dǎo)致報關(guān)單的物流數(shù)據(jù)只能依靠人工采集,容易造成出錯率高、報關(guān)周期增長等問題[6]。
針對這些問題,本文提出基于XML的物流數(shù)據(jù)交換方法,解決業(yè)務(wù)交易平臺的物流報關(guān)數(shù)據(jù)批量提取、轉(zhuǎn)換并安全傳遞到報關(guān)企業(yè)。同時,通過反序列化的方式將報關(guān)企業(yè)的物流數(shù)據(jù)自動提交至海關(guān)EDI通關(guān)系統(tǒng),實現(xiàn)物流服務(wù)交易平臺與海關(guān)EDI通關(guān)系統(tǒng)的無縫連接,提高了貨物的通關(guān)效率。
1數(shù)據(jù)交換方法的研究
數(shù)據(jù)交換方法的數(shù)據(jù)源來自物流服務(wù)交易平臺。平臺包含運輸、商品交易、倉儲、報關(guān)等各種物流服務(wù)。每種服務(wù)都有對應(yīng)的交易流程,用戶在平臺中可能扮演著多種角色。不同服務(wù)的交易流程可以相互串聯(lián),造成服務(wù)器數(shù)據(jù)存儲繁雜,離散性高,直接從服務(wù)器提取報關(guān)數(shù)據(jù)效率較低。因此,選用C#中的SgmlReader類解析交易相關(guān)的表示層,使它轉(zhuǎn)換成格式規(guī)范的結(jié)構(gòu)。同時讀取這些結(jié)構(gòu)中的節(jié)點值進行數(shù)據(jù)的批量提取,將這些數(shù)據(jù)作為集合轉(zhuǎn)換成XML,并自動傳遞至報關(guān)企業(yè),最后轉(zhuǎn)換為SQL數(shù)據(jù)提交至通關(guān)系統(tǒng)。
1.1物流報關(guān)數(shù)據(jù)提取方法
物流服務(wù)交易平臺包含著多種物流服務(wù)交易流程,不同服務(wù)的交易流程之間可以相互串聯(lián),導(dǎo)致數(shù)據(jù)存儲位置不確定,提取效率低下。例如,平臺客戶完成一批貨物的進口,可能經(jīng)歷商品交易流程、運輸交易流程和報關(guān)交易流程,某些報關(guān)數(shù)據(jù)可能存儲于其他流程中。因此,僅僅通過報關(guān)流程查詢所有報關(guān)數(shù)據(jù)無法完成,而在數(shù)據(jù)層遍歷所有交易流程的物流數(shù)據(jù)則使得查詢?nèi)蝿?wù)過于繁重,難度較大。為了實現(xiàn)對平臺物流報關(guān)數(shù)據(jù)的批量提取,創(chuàng)建以下數(shù)據(jù)模型來提高數(shù)據(jù)的提取效率。
可能與報關(guān)流程相串聯(lián)的流程為商品交易流程和運輸流程。引入對象數(shù)據(jù)集和數(shù)值數(shù)據(jù)集概念:
對象數(shù)據(jù)集:元素均為對象名稱,如報關(guān)口岸、運輸方式、運輸工具等;
數(shù)值數(shù)據(jù)集:元素均為對象的數(shù)值,如廣西東興、江海運輸、船舶等,對象數(shù)據(jù)集和數(shù)值數(shù)據(jù)值均為有序集合,且兩者元素有對應(yīng)關(guān)系。
定義商品交易流程的對象數(shù)據(jù)集、數(shù)值數(shù)據(jù)集、包含的報關(guān)對象數(shù)據(jù)集、報關(guān)數(shù)值數(shù)據(jù)集分別為S、Si、R、Ri;運輸交易的對象數(shù)據(jù)集、數(shù)值數(shù)據(jù)集、包含的報關(guān)對象數(shù)據(jù)集、報關(guān)數(shù)值數(shù)據(jù)集分別為Q、Qi、P、Pi;報關(guān)交易的對象數(shù)據(jù)集、數(shù)值數(shù)據(jù)集、包含的報關(guān)對象數(shù)據(jù)集、報關(guān)數(shù)值數(shù)據(jù)集分別為A、Ai、C、Ci;目的對象數(shù)據(jù)集和目的數(shù)值數(shù)據(jù)集分別為B、Bi;已知合同協(xié)議號為xi,提運單號為yi,創(chuàng)建以報關(guān)單上所有對象為元素的對象數(shù)據(jù)集Z。由平臺交易流程提取B和Bi的過程,即數(shù)據(jù)模型如圖1所示。
圖1 數(shù)據(jù)提取模型圖
(1) 由已知條件xi查詢商品交易流程是否在平臺上存在,若存在,則定位流程所有的表示層;利用SgmlReader進行解析,提取其中對象數(shù)據(jù)集S={se:e∈[1,m]}以及數(shù)值數(shù)據(jù)集Si={sie:e∈[1,m]},S與Si中元素位置對應(yīng),Si中元素為S中元素的值,若不存在,則直接為空集。
(2) 由對象數(shù)據(jù)集S與報關(guān)單對象數(shù)據(jù)集Z的交集獲得商品交易流程包含的報關(guān)信息對象數(shù)據(jù)集R={Re:e∈[1,m]},即R=S∩Z。
(3) 由S與Si的映射關(guān)系,查詢R中元素的值,得到商品交易流程包含的報關(guān)信息數(shù)值數(shù)據(jù)集Ri={Rie:e∈[1,m]}。
(4) 由已知條件yi查詢運輸交易流程,同上最終可得運輸交易流程中包含的報關(guān)信息對象數(shù)據(jù)集Q={Qe:e∈[1,m]}和報關(guān)信息數(shù)值數(shù)據(jù)集Qi={Qie:e∈[1,m]}。
(5) 因為報關(guān)交易肯定存在,直接依照上面方法可得報關(guān)交易中包含的報關(guān)信息對象數(shù)據(jù)集C={Ce:e∈[1,m]}和報關(guān)信息數(shù)值數(shù)據(jù)集Ci={Cie:e∈[1,m]}。
(6) 由R、P、C的并集得到目的結(jié)構(gòu)數(shù)據(jù)集B={Be:e∈[1,m]},即B=R∪P∪C;Ri、Pi、Ci的并集得到目的對象數(shù)據(jù)集Bi={Bie:e∈[1,m]},即Bi=Ri∪Pi∪Ci。B中元素為報關(guān)單的對象,Bi中元素為報關(guān)單對象的數(shù)值。
1.2物流報關(guān)數(shù)據(jù)轉(zhuǎn)換方法
由于物流服務(wù)交易平臺上數(shù)據(jù)的不確定性和不安全性,海關(guān)EDI通關(guān)系統(tǒng)拒絕接收物流服務(wù)交易平臺上提取的數(shù)據(jù)集,從而報關(guān)單的申報必須人工手動采集,容易導(dǎo)致出錯率升高、報關(guān)周期延長等問題,阻礙了貨物的快速通關(guān)。實際上,海關(guān)EDI通關(guān)系統(tǒng)只能是具有報關(guān)資質(zhì)的物流企業(yè)才能申請安裝使用。因此,必須先將數(shù)據(jù)存儲至報關(guān)企業(yè)的數(shù)據(jù)庫S,然后提交至EDI通關(guān)系統(tǒng)進行貨物進出口報關(guān)。
然而,由于數(shù)據(jù)集B與Bi存儲于物流服務(wù)交易平臺服務(wù)器中,數(shù)據(jù)庫S與平臺服務(wù)器無法連接,直接提取B與Bi存儲至數(shù)據(jù)庫S難以實現(xiàn)。針對此問題,將數(shù)據(jù)集通過XML序列化轉(zhuǎn)換成XML文檔,經(jīng)過加密的HTTPS協(xié)議將該XML文檔傳輸至報關(guān)企業(yè)[7]。并由安裝在報關(guān)企業(yè)上的軟件數(shù)據(jù)轉(zhuǎn)化工具進行XML反序列化,提取其中物流報關(guān)數(shù)據(jù)并存儲至數(shù)據(jù)庫S,最后提交至EDI通關(guān)系統(tǒng)。其中,序列化是指將對象的狀態(tài)信息轉(zhuǎn)換為可以存儲或傳輸?shù)男问降倪^程,XML序列化是指XML的公共字段和屬性轉(zhuǎn)換成可以存儲的形式后,將提取的物流數(shù)據(jù)賦予XML中相對應(yīng)的節(jié)點,最后生成XML文檔[8]。與XML序列化相對應(yīng)的即為XML反序列化,它可將XML流轉(zhuǎn)換為數(shù)據(jù)流。XML序列化與反序列化相結(jié)合,可以輕松地在異構(gòu)系統(tǒng)之間存儲和傳輸數(shù)據(jù)。
2數(shù)據(jù)交換方法的實現(xiàn)
數(shù)據(jù)模型的創(chuàng)建和數(shù)據(jù)的處理與傳遞結(jié)合形成物流報關(guān)數(shù)據(jù)交換方法,該方法通過C#語言編程實現(xiàn)。
2.1數(shù)據(jù)交換方法的業(yè)務(wù)流程
數(shù)據(jù)交換方法的業(yè)務(wù)流程如圖2所示。生成的XML經(jīng)過加密的HTTPS協(xié)議傳輸至報關(guān)企業(yè),由報關(guān)企業(yè)的數(shù)據(jù)轉(zhuǎn)化工具進行解析。數(shù)據(jù)轉(zhuǎn)化工具是一個簡單的獨立的軟件,由C#窗體應(yīng)用程序打包生成安裝包,用戶下載安裝后進行使用,其核心功能為反序列化XML,提取物流數(shù)據(jù)提交至數(shù)據(jù)庫。在數(shù)據(jù)提交至數(shù)據(jù)庫前,該工具會進行目的數(shù)據(jù)表的判定,若目的數(shù)據(jù)表不存在,則創(chuàng)建數(shù)據(jù)表,提交數(shù)據(jù);反之,則直接提交數(shù)據(jù)。
圖2 數(shù)據(jù)交換方法的業(yè)務(wù)流程圖
2.2數(shù)據(jù)集向XML文檔的轉(zhuǎn)換實現(xiàn)
獲得數(shù)據(jù)集B和Bi后,依照映射關(guān)系提取兩數(shù)據(jù)集中的數(shù)據(jù)并保存至網(wǎng)格虛擬表MyTable。新建一個含有“Order”根節(jié)點的XML文檔,加載該XML文檔并序列化,添加以報關(guān)單中各個項目為名稱的子節(jié)點,并由MyTable中的數(shù)據(jù)予以賦值。XML序列化以及節(jié)點賦值的關(guān)鍵代碼如下:
XmlDocumentxmlDoc=newXmlDocument();
xmlDoc.Load(System.Web.HttpContext.Current.Server.MapPath(″../hhy/″ +CustomsForm));
//加載XML文檔
XmlNoderoot=xmlDoc.SelectSingleNode(″Order″);
//查找
XmlElementxe1 =xmlDoc.CreateElement(″CustomsForm″);
//創(chuàng)建一個
xe1.SetAttribute(″需求商″,MyRow[2].ToString());
//設(shè)置該節(jié)點需求商屬性
xe1.SetAttribute(″服務(wù)商″,MyRow[6].ToString());
//設(shè)置該節(jié)點服務(wù)商屬性
XmlElementxesub1 =xmlDoc.CreateElement(″進口口岸″);
//定義名稱為“進口口岸”的子節(jié)點
xesub1.InnerText=MyRow[10].ToString();
//給該子節(jié)點賦值
xe1.AppendChild(xesub1);
//添加到
?
數(shù)據(jù)轉(zhuǎn)換完成后,得到的XML如圖3所示,右圖為展開后的商品信息圖,是對左圖的補充。
圖3 數(shù)據(jù)集轉(zhuǎn)化成的XML文檔
2.3XML的傳遞
利用加密的HTTPS協(xié)議,實現(xiàn)生成的XML文檔由物流服務(wù)交易平臺向報關(guān)企業(yè)的自動傳遞。
2.4XML的解析與物流數(shù)據(jù)的存儲
軟件數(shù)據(jù)轉(zhuǎn)化工具將接收的XML文檔反序列化,解析得到的報關(guān)單數(shù)據(jù)存入數(shù)據(jù)庫,為提交至海關(guān)EDI通關(guān)系統(tǒng)做好準備。反序列化核心代碼如下:
OpenFileDialogofd=newOpenFileDialog();
//打開文件對話框
ofd.ShowDialog();
stringloadFullName=ofd.FileName.ToString();
//獲得文件名
XmlDocumentxmlDoc=newXmlDocument();
xmlDoc.Load(loadFullName);
//加載打開的XML文檔
XmlNoderoot=xmlDoc.SelectSingleNode(″//CustomsForm″);
XmlNodePort1 =xmlDoc.SelectSingleNode(″//進口口岸″);
//訪問名稱為進口口岸的節(jié)點
stringPort=Port1.InnerText.ToString();
//將節(jié)點的值傳遞給變量Port,準備存入數(shù)據(jù)庫
?
2.5物流數(shù)據(jù)的提交
在數(shù)據(jù)庫中提取數(shù)據(jù)提交至海關(guān)EDI通關(guān)系統(tǒng),結(jié)果如圖4所示,報關(guān)員核查后提交海關(guān)服務(wù)器。
圖4 數(shù)據(jù)提交至EDI通關(guān)系統(tǒng)
3結(jié)語
本文論述了物流報關(guān)數(shù)據(jù)交換方法的研究與實現(xiàn)。在數(shù)據(jù)的處理中,創(chuàng)建了數(shù)據(jù)模型來進行物流報關(guān)數(shù)據(jù)在物流服務(wù)交易平臺的批量提取,克服了數(shù)據(jù)的提取難度,提高了數(shù)據(jù)的提取效率;并利用XML的序列化與反序列化,實現(xiàn)了數(shù)據(jù)在異構(gòu)系統(tǒng)之間的交換。目前國內(nèi)關(guān)于物流服務(wù)交易平臺和海關(guān)EDI通關(guān)系統(tǒng)之間進行數(shù)據(jù)交換的經(jīng)驗有限,但隨著港口進出口貿(mào)易的發(fā)展和物流服務(wù)交易平臺的大力推廣,數(shù)據(jù)交換方法的設(shè)計與實現(xiàn)將會得到進一步的提升和完善。
參考文獻
[1] 劉超,孫福權(quán),程勖.基于云計算的物流服務(wù)平臺的安全研究[J].電腦知識與技術(shù),2012,8(9):2007-2010.
[2] 荀衛(wèi),程國平.基于電商物流服務(wù)平臺的目標成本激勵模型[J].物流技術(shù),2014,33(5):108-109,113.
[3] 甘蜜.我國港口物流中貨物通關(guān)效率的模型研究[J].交通運輸工程與信息學(xué)報,2008,6(4):40-44,75.
[4] 程澄.基于WebService的綜合物流服務(wù)平臺的研究與實現(xiàn)[D].大連:大連海事大學(xué)交通運輸管理學(xué)院,2012.
[5] 于麗.面向無紙貿(mào)易的在線支付稅收協(xié)同監(jiān)管研究[D].武漢:武漢理工大學(xué)經(jīng)濟學(xué)院,2010.
[6] 劉貞,徐晨,孟丹,等.無紙通關(guān)讀秒[J].中國海關(guān),2012(9):60-61.
[7] 魏興國.HTTP和HTTPS協(xié)議安全性分析[J].程序員,2007(7):53-55.
[8] 陳忠睿,劉齊宏..NETFramework中XML序列化研究[J].鄭州輕工業(yè)學(xué)院學(xué)報:自然科學(xué)版,2005,20(2):94-95.
RESEARCH AND IMPLEMENTATION OF A LOGISTICS DATA EXCHANGE METHODFOREDICUSTOMSCLEARANCESYSTEM
Li Li1Cheng Xin1,2Huang Haiyuan1
1(School of Mechanical Engineering,Guangxi University,Nanning 530004,Guangxi,China)2(76199 PLA Troops,Zhuzhou 412005,Hunan,China)
AbstractThe logistics services trading platform hasn’t connected with the EDI customs clearance system yet, because of this, the customs declaration data of logistics needs to be gathered manually, and the efficiency of customs clearance is rather low. In view of this, the article puts forward an XML-based logistics data exchange and transfer method, which completes the batch extraction and conversion of the logistics declaration data come from the logistics services trading platform, as well as the secure data transfer to customs brokers. Meanwhile, through deserialised means the logistics declaration data of the brokers is interpreted and then automatically submitted to EDI customs clearance system, thus achieves the seamless connection between the logistics services trading platform and the EDI customs clearance system, and raises the efficiency of customs clearance.
KeywordsLogistics declaration dataData exchangeEDI customs clearance system
收稿日期:2014-12-17。廣西自治區(qū)科技攻關(guān)項目(12118017-11D)。李俚,副教授,主研領(lǐng)域:物流工程。程鑫,碩士。黃海院,碩士。
中圖分類號TP302.1
文獻標識碼A
DOI:10.3969/j.issn.1000-386x.2016.06.011