李 俚 程 鑫,2 黃海院
1(廣西大學機械工程學院 廣西 南寧 530004)2(中國人民解放軍76199部隊 湖南 株洲 412005)
?
一種面向海關EDI通關系統的物流數據交換方法研究與實現
李俚1程鑫1,2黃海院1
1(廣西大學機械工程學院廣西 南寧 530004)2(中國人民解放軍76199部隊湖南 株洲 412005)
摘要針對物流服務交易平臺與海關EDI通關系統沒有對接,導致物流報關數據采集人工化以及通關效率低下等問題,提出基于XML的物流數據交換傳遞方法。該方法完成物流服務交易平臺的物流報關數據批量提取、轉換以及向報關企業的安全傳遞。同時,通過反序列化的方式解析報關企業的物流報關數據并自動提交至海關EDI通關系統,實現了物流服務交易平臺與海關EDI通關系統的無縫連接,提高了貨物的通關效率。
關鍵詞物流報關數據數據交換海關EDI通關系統
0引言
近年來,隨著物流信息化的深入發展[1],物流服務交易平臺在港口物流中扮演的角色日益重要,在一定程度上促進了港口進出口貿易的繁榮[2]。然而,貨物通關效率卻可能成為制約我國港口物流發展的絆腳石[3]。由于我國現行政策,海關EDI通關系統只有具備報關資質的報關企業才能申請使用。它沒有完成與物流專業服務交易平臺的系統對接,無法直接接受來自交易平臺的物流報關數據。并且交易平臺是分層分布式結構[4],數據離散性高,提取難度大。同時,因為交易平臺與通關系統結構的差異性以及絕對的安全需求,數據的交換與傳遞存在很大的局限性[5],導致報關單的物流數據只能依靠人工采集,容易造成出錯率高、報關周期增長等問題[6]。
針對這些問題,本文提出基于XML的物流數據交換方法,解決業務交易平臺的物流報關數據批量提取、轉換并安全傳遞到報關企業。同時,通過反序列化的方式將報關企業的物流數據自動提交至海關EDI通關系統,實現物流服務交易平臺與海關EDI通關系統的無縫連接,提高了貨物的通關效率。
1數據交換方法的研究
數據交換方法的數據源來自物流服務交易平臺。平臺包含運輸、商品交易、倉儲、報關等各種物流服務。每種服務都有對應的交易流程,用戶在平臺中可能扮演著多種角色。不同服務的交易流程可以相互串聯,造成服務器數據存儲繁雜,離散性高,直接從服務器提取報關數據效率較低。因此,選用C#中的SgmlReader類解析交易相關的表示層,使它轉換成格式規范的結構。同時讀取這些結構中的節點值進行數據的批量提取,將這些數據作為集合轉換成XML,并自動傳遞至報關企業,最后轉換為SQL數據提交至通關系統。
1.1物流報關數據提取方法
物流服務交易平臺包含著多種物流服務交易流程,不同服務的交易流程之間可以相互串聯,導致數據存儲位置不確定,提取效率低下。例如,平臺客戶完成一批貨物的進口,可能經歷商品交易流程、運輸交易流程和報關交易流程,某些報關數據可能存儲于其他流程中。因此,僅僅通過報關流程查詢所有報關數據無法完成,而在數據層遍歷所有交易流程的物流數據則使得查詢任務過于繁重,難度較大。為了實現對平臺物流報關數據的批量提取,創建以下數據模型來提高數據的提取效率。
可能與報關流程相串聯的流程為商品交易流程和運輸流程。引入對象數據集和數值數據集概念:
對象數據集:元素均為對象名稱,如報關口岸、運輸方式、運輸工具等;
數值數據集:元素均為對象的數值,如廣西東興、江海運輸、船舶等,對象數據集和數值數據值均為有序集合,且兩者元素有對應關系。
定義商品交易流程的對象數據集、數值數據集、包含的報關對象數據集、報關數值數據集分別為S、Si、R、Ri;運輸交易的對象數據集、數值數據集、包含的報關對象數據集、報關數值數據集分別為Q、Qi、P、Pi;報關交易的對象數據集、數值數據集、包含的報關對象數據集、報關數值數據集分別為A、Ai、C、Ci;目的對象數據集和目的數值數據集分別為B、Bi;已知合同協議號為xi,提運單號為yi,創建以報關單上所有對象為元素的對象數據集Z。由平臺交易流程提取B和Bi的過程,即數據模型如圖1所示。

圖1 數據提取模型圖
(1) 由已知條件xi查詢商品交易流程是否在平臺上存在,若存在,則定位流程所有的表示層;利用SgmlReader進行解析,提取其中對象數據集S={se:e∈[1,m]}以及數值數據集Si={sie:e∈[1,m]},S與Si中元素位置對應,Si中元素為S中元素的值,若不存在,則直接為空集。
(2) 由對象數據集S與報關單對象數據集Z的交集獲得商品交易流程包含的報關信息對象數據集R={Re:e∈[1,m]},即R=S∩Z。
(3) 由S與Si的映射關系,查詢R中元素的值,得到商品交易流程包含的報關信息數值數據集Ri={Rie:e∈[1,m]}。
(4) 由已知條件yi查詢運輸交易流程,同上最終可得運輸交易流程中包含的報關信息對象數據集Q={Qe:e∈[1,m]}和報關信息數值數據集Qi={Qie:e∈[1,m]}。
(5) 因為報關交易肯定存在,直接依照上面方法可得報關交易中包含的報關信息對象數據集C={Ce:e∈[1,m]}和報關信息數值數據集Ci={Cie:e∈[1,m]}。
(6) 由R、P、C的并集得到目的結構數據集B={Be:e∈[1,m]},即B=R∪P∪C;Ri、Pi、Ci的并集得到目的對象數據集Bi={Bie:e∈[1,m]},即Bi=Ri∪Pi∪Ci。B中元素為報關單的對象,Bi中元素為報關單對象的數值。
1.2物流報關數據轉換方法
由于物流服務交易平臺上數據的不確定性和不安全性,海關EDI通關系統拒絕接收物流服務交易平臺上提取的數據集,從而報關單的申報必須人工手動采集,容易導致出錯率升高、報關周期延長等問題,阻礙了貨物的快速通關。實際上,海關EDI通關系統只能是具有報關資質的物流企業才能申請安裝使用。因此,必須先將數據存儲至報關企業的數據庫S,然后提交至EDI通關系統進行貨物進出口報關。
然而,由于數據集B與Bi存儲于物流服務交易平臺服務器中,數據庫S與平臺服務器無法連接,直接提取B與Bi存儲至數據庫S難以實現。針對此問題,將數據集通過XML序列化轉換成XML文檔,經過加密的HTTPS協議將該XML文檔傳輸至報關企業[7]。并由安裝在報關企業上的軟件數據轉化工具進行XML反序列化,提取其中物流報關數據并存儲至數據庫S,最后提交至EDI通關系統。其中,序列化是指將對象的狀態信息轉換為可以存儲或傳輸的形式的過程,XML序列化是指XML的公共字段和屬性轉換成可以存儲的形式后,將提取的物流數據賦予XML中相對應的節點,最后生成XML文檔[8]。與XML序列化相對應的即為XML反序列化,它可將XML流轉換為數據流。XML序列化與反序列化相結合,可以輕松地在異構系統之間存儲和傳輸數據。
2數據交換方法的實現
數據模型的創建和數據的處理與傳遞結合形成物流報關數據交換方法,該方法通過C#語言編程實現。
2.1數據交換方法的業務流程
數據交換方法的業務流程如圖2所示。生成的XML經過加密的HTTPS協議傳輸至報關企業,由報關企業的數據轉化工具進行解析。數據轉化工具是一個簡單的獨立的軟件,由C#窗體應用程序打包生成安裝包,用戶下載安裝后進行使用,其核心功能為反序列化XML,提取物流數據提交至數據庫。在數據提交至數據庫前,該工具會進行目的數據表的判定,若目的數據表不存在,則創建數據表,提交數據;反之,則直接提交數據。

圖2 數據交換方法的業務流程圖
2.2數據集向XML文檔的轉換實現
獲得數據集B和Bi后,依照映射關系提取兩數據集中的數據并保存至網格虛擬表MyTable。新建一個含有“Order”根節點的XML文檔,加載該XML文檔并序列化,添加以報關單中各個項目為名稱的子節點,并由MyTable中的數據予以賦值。XML序列化以及節點賦值的關鍵代碼如下:
XmlDocumentxmlDoc=newXmlDocument();
xmlDoc.Load(System.Web.HttpContext.Current.Server.MapPath(″../hhy/″ +CustomsForm));
//加載XML文檔
XmlNoderoot=xmlDoc.SelectSingleNode(″Order″);
//查找
XmlElementxe1 =xmlDoc.CreateElement(″CustomsForm″);
//創建一個
xe1.SetAttribute(″需求商″,MyRow[2].ToString());
//設置該節點需求商屬性
xe1.SetAttribute(″服務商″,MyRow[6].ToString());
//設置該節點服務商屬性
XmlElementxesub1 =xmlDoc.CreateElement(″進口口岸″);
//定義名稱為“進口口岸”的子節點
xesub1.InnerText=MyRow[10].ToString();
//給該子節點賦值
xe1.AppendChild(xesub1);
//添加到
?
數據轉換完成后,得到的XML如圖3所示,右圖為展開后的商品信息圖,是對左圖的補充。

圖3 數據集轉化成的XML文檔
2.3XML的傳遞
利用加密的HTTPS協議,實現生成的XML文檔由物流服務交易平臺向報關企業的自動傳遞。
2.4XML的解析與物流數據的存儲
軟件數據轉化工具將接收的XML文檔反序列化,解析得到的報關單數據存入數據庫,為提交至海關EDI通關系統做好準備。反序列化核心代碼如下:
OpenFileDialogofd=newOpenFileDialog();
//打開文件對話框
ofd.ShowDialog();
stringloadFullName=ofd.FileName.ToString();
//獲得文件名
XmlDocumentxmlDoc=newXmlDocument();
xmlDoc.Load(loadFullName);
//加載打開的XML文檔
XmlNoderoot=xmlDoc.SelectSingleNode(″//CustomsForm″);
XmlNodePort1 =xmlDoc.SelectSingleNode(″//進口口岸″);
//訪問名稱為進口口岸的節點
stringPort=Port1.InnerText.ToString();
//將節點的值傳遞給變量Port,準備存入數據庫
?
2.5物流數據的提交
在數據庫中提取數據提交至海關EDI通關系統,結果如圖4所示,報關員核查后提交海關服務器。

圖4 數據提交至EDI通關系統
3結語
本文論述了物流報關數據交換方法的研究與實現。在數據的處理中,創建了數據模型來進行物流報關數據在物流服務交易平臺的批量提取,克服了數據的提取難度,提高了數據的提取效率;并利用XML的序列化與反序列化,實現了數據在異構系統之間的交換。目前國內關于物流服務交易平臺和海關EDI通關系統之間進行數據交換的經驗有限,但隨著港口進出口貿易的發展和物流服務交易平臺的大力推廣,數據交換方法的設計與實現將會得到進一步的提升和完善。
參考文獻
[1] 劉超,孫福權,程勖.基于云計算的物流服務平臺的安全研究[J].電腦知識與技術,2012,8(9):2007-2010.
[2] 荀衛,程國平.基于電商物流服務平臺的目標成本激勵模型[J].物流技術,2014,33(5):108-109,113.
[3] 甘蜜.我國港口物流中貨物通關效率的模型研究[J].交通運輸工程與信息學報,2008,6(4):40-44,75.
[4] 程澄.基于WebService的綜合物流服務平臺的研究與實現[D].大連:大連海事大學交通運輸管理學院,2012.
[5] 于麗.面向無紙貿易的在線支付稅收協同監管研究[D].武漢:武漢理工大學經濟學院,2010.
[6] 劉貞,徐晨,孟丹,等.無紙通關讀秒[J].中國海關,2012(9):60-61.
[7] 魏興國.HTTP和HTTPS協議安全性分析[J].程序員,2007(7):53-55.
[8] 陳忠睿,劉齊宏..NETFramework中XML序列化研究[J].鄭州輕工業學院學報:自然科學版,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。廣西自治區科技攻關項目(12118017-11D)。李俚,副教授,主研領域:物流工程。程鑫,碩士。黃海院,碩士。
中圖分類號TP302.1
文獻標識碼A
DOI:10.3969/j.issn.1000-386x.2016.06.011