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

?

基于港口信息應(yīng)用集成的EDI自主產(chǎn)品設(shè)計與實現(xiàn)

2016-01-19 10:32孫經(jīng)坤
現(xiàn)代商貿(mào)工業(yè) 2015年25期
關(guān)鍵詞:海關(guān)報文解析

孫經(jīng)坤

摘要:Jedi是一款自主研發(fā)產(chǎn)品。既滿足常規(guī)EDI需求,又致力于個性化需求的解決,實現(xiàn)高度靈活、復(fù)用的EDI應(yīng)用需求。Jedi通過直接切入各類信息系統(tǒng)數(shù)據(jù)源頭,采集清洗所需數(shù)據(jù),以工業(yè)產(chǎn)品流水化的方式實現(xiàn)數(shù)據(jù)元歸類,通過mapping方式形成標(biāo)準(zhǔn)化的可申報報文用于口岸數(shù)據(jù)流轉(zhuǎn)。Jedi典型應(yīng)用于海關(guān)新艙單系統(tǒng)、南京海關(guān)物流監(jiān)控系統(tǒng),服務(wù)于口岸大通關(guān)。

關(guān)鍵詞:EDI;Jedi;Mapping;Key-value;viewHashtable;港口;報文

中圖分類號:F74文獻(xiàn)標(biāo)識碼:A文章編號:16723198(2015)26005902

1引言

EDI是一種先進(jìn)的計算機(jī)通訊與數(shù)據(jù)處理技術(shù),其英文釋義為Electronic Data Interchange,中文釋義為電子數(shù)據(jù)交換。最初是由美國企業(yè)應(yīng)用在企業(yè)間訂貨業(yè)務(wù)活動中,其后它應(yīng)用范圍逐步擴(kuò)展到國際貿(mào)易、海關(guān)、交通運(yùn)輸、政府和公共事業(yè)中。而國內(nèi)EDI興起于海港應(yīng)用,上世紀(jì)八十年代末交通部開始制定國家級物流信息標(biāo)準(zhǔn),并迅速應(yīng)用于全國各大港口及國有大型物流企業(yè),尤其在國際性船公司、碼頭、海關(guān)之間應(yīng)用頻繁。

通俗地講EDI就是為了實現(xiàn)業(yè)務(wù)目標(biāo)在兩個或兩個以上的組織之間,在它們的信息系統(tǒng)之間進(jìn)行自動交換預(yù)定義和結(jié)構(gòu)化的數(shù)據(jù)。經(jīng)過多年發(fā)展全球各大海港口岸、大型海運(yùn)企業(yè)都已建立自己全球性EDI平臺,平臺所使用技術(shù)產(chǎn)品單一,集中于IBM、AXWAY等技術(shù)巨頭公司。這樣帶來的問題是對于區(qū)域內(nèi)港口物流單位,都需適應(yīng)大型公司、海關(guān)、國檢數(shù)據(jù)標(biāo)準(zhǔn)要求,而如何采集眾多中小企業(yè)數(shù)據(jù),如何減少眾多中小系統(tǒng)改造成本,如何實現(xiàn)港口信息應(yīng)用集成等這些技術(shù)實現(xiàn)問題,將通過本文中自主產(chǎn)品Jedi予以解決。

2Jedi應(yīng)用場景

Jedi提供應(yīng)用集成中間件、應(yīng)用集成服務(wù)產(chǎn)品,適用于主流Java、C#二次開發(fā),通過嵌入或復(fù)用的方式提供給信息企業(yè)或平臺,采用配置MAPPING的方式實現(xiàn)數(shù)據(jù)采集、加工形成所需數(shù)據(jù)格式報文,完成海關(guān)、國檢及各類企業(yè)級數(shù)據(jù)申報與交互。應(yīng)用企業(yè)通過Jedi,建立屬于自己高度靈活的EDI平臺,低成本、高效率實現(xiàn)與其它EDI平臺對接,并具有優(yōu)于大型EDI平臺的個性開發(fā)應(yīng)用優(yōu)勢。

3Jedi關(guān)鍵技術(shù)

3.1HASH散列算法存儲數(shù)據(jù)元

數(shù)據(jù)元存儲結(jié)構(gòu)如圖1。

圖1數(shù)據(jù)元存儲結(jié)構(gòu)如圖1所示,每個待處理報文通過一個basicEdiMessage hashtable進(jìn)行存儲,對應(yīng)多組并行的key-value值,每個value值再存儲一組hashtable,以此類推。這樣形成層級結(jié)構(gòu)基于key-value存儲的數(shù)據(jù)結(jié)構(gòu),且通過Key值能快速查找value值。既可以保證數(shù)據(jù)存儲的完整性,又可以快速查找,類似于列式數(shù)據(jù)庫的存儲結(jié)構(gòu)。

3.2Mapping方式解析報文

圖2讀取解析規(guī)則庫報文解析第一步,讀取解析規(guī)則庫。

規(guī)則庫為客戶自主定義、開發(fā)的一類文件,稱為MainRule。MainRule的存在是為了滿足客戶二次開發(fā)需要,且易于讀寫的Jedi專用中間文件。Jedi執(zhí)行時,先讀取MainRule,并保存至圖1的數(shù)據(jù)結(jié)構(gòu)中,各類報文類型生成不同的MainRule中間文件,隨著客戶業(yè)務(wù)的增加隨時創(chuàng)建,并可在任意時間點更改,在文件的生成方式上,可通過圖形化配置自動生成,實際上類似于Jedi的自主開發(fā)編輯器,易于用戶理解與維護(hù)。

圖3存儲規(guī)則庫報文解析第二步,存儲規(guī)則庫MainRule。

MainRule存儲同樣采用Key-Value的方式,其中Key值為msgclass+tag+snumber(報文類型+報文記錄+數(shù)據(jù)元位置),以00:COSTCO::LYGEDI:CIQ為例,msgclass=COSTCO,tag=00,snumber為4則值為LYGEDI。每個數(shù)據(jù)元的長度、是否為必填或選填、循環(huán)層次等內(nèi)容存儲在屬性值的length/MC/pre-tag中。上述內(nèi)容為報文結(jié)構(gòu)定義的基本內(nèi)容,由客戶定義輸入,為下一步Jedi內(nèi)核解析提供基礎(chǔ)信息。

圖4報文解析與數(shù)據(jù)讀取示意圖報文解析第三步,報文解析與數(shù)據(jù)讀取。

報文解析命令為Map.msgcheck(“c:\\temp\\1.txt”),通過msgcheck方法輸入待解析報文路徑。報文數(shù)據(jù)讀取命令為map.getVhm().getFromEname(“2”,ifcsum.getBlno()),上述意思為讀取報文中提單號內(nèi)容,該方式為遍歷讀取,同時讀取方式也提供通過key值直接獲取,如map.getVhm().getBasicHashMap().getBlnoMap().get(va.getAUnique()+"@@"+vb.getBUnique()).getCodeLoadPort(),即直接讀取某個船名航次某個提單號下的裝貨港代碼數(shù)據(jù)項。

3.3創(chuàng)建報文

報文創(chuàng)建示意圖如圖5。首先同樣需要加載MainRule中間文件,之后加載報文數(shù)據(jù)元,數(shù)據(jù)元采用循環(huán)賦值的方式,一般生成方法為首先獲取Table數(shù)據(jù)源,然后根據(jù)每個數(shù)據(jù)元的次序依次賦值,最后加載方法如下:圖5報文創(chuàng)建示意圖basicHashMap.setVesselMap(basicEdiA);

basicHashMap.setBlnoMap(basicEdiA,basicEdiB);

basicHashMap.setCargoMap(basicEdiA,basicEdiB,basicEdiC);

basicHashMap.setCtnnoMap(basicEdiA,basicEdiB,basicEdiC,basicEdiD);

形成basicHashMap后,設(shè)置報文生成路徑、文件名后生成所需要的報文文件,實現(xiàn)方法如下:

autoBuild b=new autoBuild();

b.setBasicHashMapForRule(basicMainRuleAutoBuild.getBasicHashMap());

b.setMsgtype("NCREL");

b.setBasicHashMap(basicHashMap);

b.setDir("c:\\TEMP\\");

b.setMsgfilename("ncrel.txt");

b.setNeedFile(false);

b.BulidMessage();

4Jedi應(yīng)用效應(yīng)

Jedi產(chǎn)品,適用于小型edi平臺或者企業(yè)級應(yīng)用的edi中心,尤其適合于需求變化快,自主開發(fā)要求高的應(yīng)用場景,該產(chǎn)品投入低、上手快,且無需購買國外昂貴的edi處理軟件,能夠快速搭建適合于自己的edi平臺。同時該產(chǎn)品提供中間件開發(fā)模塊,可自由嵌入到自己生產(chǎn)系統(tǒng)中,支持Java、c#主要開發(fā)語言。

5Jedi發(fā)展

Jedi產(chǎn)品目前主要完成內(nèi)核功能開發(fā),實現(xiàn)主要算法的研究與功能應(yīng)用。后續(xù)將在外圍使用功能上進(jìn)一步增強(qiáng),如客戶端應(yīng)用、日志管理、支持更多報文類型等方面。

參考文獻(xiàn)

[1]Bruce Eckel. Thinking in Java[M].Upper Saddle River,New Jersey,USA:Prentice Hall,2006.

[2]BruceEckel.Java編程思想[M].北京:機(jī)械工業(yè)出版社,2003.

猜你喜歡
海關(guān)報文解析
基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
三角函數(shù)解析式中ω的幾種求法
CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
清代海關(guān)銀錠漫談
關(guān)于未納入海關(guān)統(tǒng)計的貨物貿(mào)易收支統(tǒng)計研究
外貿(mào)企業(yè)海關(guān)合規(guī)重點提示
淺析反駁類報文要點
睡夢解析儀
電競初解析
相機(jī)解析
阳谷县| 牡丹江市| 古蔺县| 康平县| 耿马| 仲巴县| 湖南省| 泰州市| 香港 | 靖边县| 那曲县| 安溪县| 龙山县| 鲁甸县| 舟曲县| 乌什县| 游戏| 剑川县| 龙山县| 翁源县| 涪陵区| 马鞍山市| 宜兴市| 读书| 岳池县| 苍溪县| 封丘县| 崇文区| 兴安县| 辽阳县| 梁平县| 无极县| 湘潭市| 伊宁市| 五河县| 新宁县| 江孜县| 丰宁| 隆林| 涪陵区| 新余市|