欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

遷移支持裝置的制作方法

文檔序號(hào):11160869閱讀:1816來源:國知局
遷移支持裝置的制造方法

本發(fā)明涉及所謂的遺留系統(tǒng)遷移(下面有時(shí)簡稱為“遷移”)的技術(shù),尤其涉及伴隨字符代碼體系切換的遷移技術(shù)。



背景技術(shù):

近年來,希望進(jìn)行用于將此前在當(dāng)前計(jì)算機(jī)中運(yùn)行的業(yè)務(wù)系統(tǒng)(遺留系統(tǒng))轉(zhuǎn)移至新計(jì)算機(jī)的遷移服務(wù)的企業(yè)、自治團(tuán)體等較多。作為遷移的形式,例如存在從通用的主機(jī)計(jì)算機(jī)(或者辦公計(jì)算機(jī))向WINDOWS(注冊商標(biāo))、UNIX(注冊商標(biāo))、LINUX(注冊商標(biāo))等OS(Operating System:操作系統(tǒng))所運(yùn)行的開放式的服務(wù)器計(jì)算機(jī)遷移的形式。此外,與遷移有關(guān)的技術(shù)已被大量公開,例如被專利文獻(xiàn)1所公開。

但是,存在如下情況,即利用預(yù)定的字符代碼體系(例:EBCDIK(Extended Binary Coded Decimal Interchange Kana Code:擴(kuò)充的二進(jìn)制編碼的十進(jìn)制交換假名編碼)、KEIS(Kanji processing Extended Information System:漢字處理擴(kuò)充信息系統(tǒng))、JIS8、SJIS(Shift JIS)。下面有時(shí)稱為“舊字符代碼體系”)來處理數(shù)據(jù)的主機(jī)計(jì)算機(jī)登記有大量在其字符代碼體系中未登記在標(biāo)準(zhǔn)中的非標(biāo)準(zhǔn)字符(主機(jī)計(jì)算機(jī)的非標(biāo)準(zhǔn)字符區(qū)域?yàn)?024字符的量)。此時(shí),無法實(shí)現(xiàn)向僅可提供較小的非標(biāo)準(zhǔn)字符區(qū)域的OS(WINDOWS所提供的非標(biāo)準(zhǔn)字符區(qū)域?yàn)?880字符的量)所運(yùn)行的服務(wù)器計(jì)算機(jī)的遷移。

另外,近年來,相對于可使用的字符數(shù)有限的當(dāng)前計(jì)算機(jī),在大多數(shù)企業(yè)、自治團(tuán)體等中產(chǎn)生了想要在新計(jì)算機(jī)中增加可使用的字符數(shù)的愿望。具體來說,伴隨著國際化,有了以下的愿望:希望不只是漢字,還能夠表現(xiàn)簡體字或朝鮮字符等外國字符,而為了準(zhǔn)確表示個(gè)人也能夠表現(xiàn)舊漢字等。

因此,作為針對這些情況的對策,考慮向?qū)TF(Unicode Transformation Format:統(tǒng)一碼轉(zhuǎn)換格式)-8、UTF-16等更大規(guī)模的字符代碼體系作為新字符代碼體系來進(jìn)行處理的新計(jì)算機(jī)遷移。

在遷移中,主要進(jìn)行:(1)業(yè)務(wù)系統(tǒng)上已有數(shù)據(jù)的轉(zhuǎn)移;以及(2)存取這種數(shù)據(jù)的、在業(yè)務(wù)系統(tǒng)上運(yùn)行的已有程序的轉(zhuǎn)移。因此,所轉(zhuǎn)移的已有字符數(shù)據(jù)需要轉(zhuǎn)換字符數(shù)據(jù),以與新字符代碼體系相對應(yīng)。另外,已有程序(例如,以COBOL語言記述的程序)需要轉(zhuǎn)換為能夠讀入對字符代碼進(jìn)行轉(zhuǎn)換后的字符數(shù)據(jù)。

但是,在現(xiàn)有技術(shù)中,存在相較于被分配給字符數(shù)據(jù)的字符代碼的轉(zhuǎn)換,程序轉(zhuǎn)換非常繁瑣且困難的問題。該問題的產(chǎn)生是因?yàn)橥ㄟ^舊字符代碼體系與新字符代碼體系的組合,即使是相同的字符,表現(xiàn)該字符的字節(jié)列的字節(jié)數(shù)在兩字符代碼體系之間也不一樣,并且已有程序?yàn)榱舜鎯?chǔ)字符的字節(jié)列而指定的存儲(chǔ)器上的區(qū)域長度為固定長。在程序進(jìn)行轉(zhuǎn)換時(shí),需要考慮這些情況來適當(dāng)修正程序的記述內(nèi)容(若不修正,則將產(chǎn)生字符數(shù)據(jù)溢出、位置偏移等,程序?qū)⑷〉门c作為目標(biāo)的字符數(shù)據(jù)不同的字符數(shù)據(jù))。但是,修正模式根據(jù)存儲(chǔ)在區(qū)域中的字符的字節(jié)列而不同,因此修正變?yōu)榉浅7爆嵡依щy的作業(yè)。在包含專利文獻(xiàn)1的技術(shù)的現(xiàn)有技術(shù)中,均不存在針對這種作業(yè)的改善方案。

現(xiàn)有技術(shù)文獻(xiàn)

專利文獻(xiàn)

專利文獻(xiàn)1:日本專利第4405571號(hào)公報(bào)



技術(shù)實(shí)現(xiàn)要素:

發(fā)明要解決的課題

因此,本發(fā)明鑒于這種情況而完成,其目的在于,在伴隨向不同的字符代碼體系切換的遷移中,使成為遷移對象的程序的轉(zhuǎn)換變得容易。

用于解決課題的手段

為了實(shí)現(xiàn)所述目的,本發(fā)明提供一種遷移支持裝置,對從第1計(jì)算機(jī)向第2計(jì)算機(jī)的遷移進(jìn)行支持,其特征在于,該遷移支持裝置具備:字符代碼轉(zhuǎn)換部,其參照存儲(chǔ)部具有的字符代碼轉(zhuǎn)換表,將被分配給所述第1計(jì)算機(jī)具有的第1文檔文件中的字符數(shù)據(jù)的第1字符代碼轉(zhuǎn)換為被分配給所述第2計(jì)算機(jī)具有的第2文檔文件中的字符數(shù)據(jù)的第2字符代碼;程序轉(zhuǎn)換部,其將所述第1計(jì)算機(jī)具有的、用于處理所述第1文檔文件的第1程序轉(zhuǎn)換為所述第2計(jì)算機(jī)具有的、用于處理所述第2文檔文件的第2程序;交換信息生成部,其通過使所述第2程序讀入被分配了所述第2字符代碼的字符數(shù)據(jù),針對讀入的所述字符數(shù)據(jù)生成交換信息,該交換信息將所述第2程序指定的存儲(chǔ)器上的區(qū)域數(shù)量決定為與表現(xiàn)被分配給所述字符數(shù)據(jù)的第1字符代碼的字節(jié)列的字節(jié)數(shù)相同;以及區(qū)域存儲(chǔ)部,其在由所述交換信息決定的數(shù)量構(gòu)成的所述區(qū)域中存儲(chǔ)被分配給讀入的所述字符數(shù)據(jù)的1個(gè)所述第2字符代碼。

對于其他手段將進(jìn)行后述。

作為遺留軟件的第1程序?qū)⒆址麛?shù)據(jù)的大小(項(xiàng)目的長度)當(dāng)作字節(jié)列的字節(jié)數(shù),并在存儲(chǔ)器上指定與字節(jié)數(shù)相同數(shù)的區(qū)域來存儲(chǔ)字符數(shù)據(jù)的字節(jié)列。也就是說,像以往那樣,第1程序?qū)⒋鎯?chǔ)器上指定的區(qū)域設(shè)為用于存儲(chǔ)1字節(jié)的數(shù)據(jù)的區(qū)域,以字節(jié)數(shù)單位來處理字符數(shù)據(jù)。另外,第1程序的源代碼的記述內(nèi)容將與其處理相對應(yīng)。

與此相對,轉(zhuǎn)換后的第2程序在通過字符代碼的轉(zhuǎn)換,對表現(xiàn)1個(gè)字符的字節(jié)列的字節(jié)數(shù)不同的字符數(shù)據(jù)進(jìn)行處理時(shí),通過參照交換信息,可以使用與第1程序使用的區(qū)域數(shù)量相同數(shù)量的區(qū)域。也就是說,第2程序可以將存儲(chǔ)器上指定的區(qū)域設(shè)為用于存儲(chǔ)1個(gè)字符的數(shù)據(jù)的1個(gè)或者多個(gè)區(qū)域,并以字符數(shù)單位來處理字符數(shù)據(jù)。因此可以使由第2程序構(gòu)建的邏輯與由第1程序構(gòu)建的邏輯相同,無需修正在第2程序的源代碼的記述內(nèi)容之中,與邏輯有關(guān)的部分(例如,COBOL語言中的位數(shù))。

因此,在伴隨向不同字符代碼體系的切換的遷移中,可以使成為遷移對象的程序的轉(zhuǎn)換變得容易。

發(fā)明效果

根據(jù)本發(fā)明,在伴隨向不同字符代碼體系的切換的遷移中,可以使成為遷移對象的程序的轉(zhuǎn)換變得容易。

附圖說明

圖1是表示本實(shí)施方式的遷移支持裝置的功能結(jié)構(gòu)的圖。

圖2是表示交換信息的數(shù)據(jù)構(gòu)造的圖。

圖3是表示本實(shí)施方式的遷移支持裝置的處理的流程圖。

圖4是用于說明作為比較例,在與從EBCDIK+KEIS代碼向UTF-8代碼的轉(zhuǎn)換相配合地轉(zhuǎn)換COBOL語言的程序時(shí),設(shè)為需要修正源代碼的記述內(nèi)容的情況的圖,其中,(a)表示轉(zhuǎn)換前程序的源代碼之中數(shù)據(jù)部工作節(jié)的記述例、以及將該記述例具體化后的區(qū)域的示意圖,(b)是轉(zhuǎn)換后程序的源代碼之中數(shù)據(jù)部工作節(jié)的記述例、以及將完成預(yù)定修正后的記述例具體化后的區(qū)域的示意圖。

圖5是用于說明作為本實(shí)施例,在與從EBCDIK+KEIS代碼向UTF-8代碼的轉(zhuǎn)換相配合地轉(zhuǎn)換COBOL語言的程序時(shí),設(shè)為不需要修正源代碼的記述內(nèi)容的情況的圖,其中,(a)表示使轉(zhuǎn)換前程序的源代碼之中數(shù)據(jù)部工作節(jié)的記述例、以及將該記述例具體化后的區(qū)域的示意圖,(b)是轉(zhuǎn)換后程序的源代碼之中數(shù)據(jù)部工作節(jié)的記述例、以及將不需要預(yù)定修正的記述例具體化后的區(qū)域的示意圖。

具體實(shí)施方式

如圖1所示,作業(yè)用PC1是負(fù)責(zé)從當(dāng)前計(jì)算機(jī)2向新計(jì)算機(jī)3的遷移的作業(yè)員所操作的計(jì)算機(jī),為本實(shí)施方式的遷移支持裝置。作業(yè)用PC1從當(dāng)前計(jì)算機(jī)2取得輸入文件21及輸入程序22,并進(jìn)行預(yù)定的轉(zhuǎn)換(詳細(xì)內(nèi)容將予以后述)后,作為輸出文件31及輸出程序32輸出至新計(jì)算機(jī)3。

當(dāng)前計(jì)算機(jī)2(第1計(jì)算機(jī))為通用的主機(jī)計(jì)算機(jī)。

新計(jì)算機(jī)3(第2計(jì)算機(jī))為開放式的服務(wù)器計(jì)算機(jī)。

輸入文件21(第1文檔文件)為包含字符數(shù)據(jù)的文檔文件,是當(dāng)前計(jì)算機(jī)2的遺留軟件。輸入文件21中的字符數(shù)據(jù)將按照當(dāng)前計(jì)算機(jī)2所處理的字符代碼體系。當(dāng)前計(jì)算機(jī)2所處理的字符代碼體系對于半角英數(shù)字符、半角記號(hào)以及半角假名字符的字符數(shù)據(jù)為EBCDIK,對于全角字符的字符數(shù)據(jù)為KEIS。在本實(shí)施方式中,有時(shí)將分配至輸入文件21中的字符數(shù)據(jù)的字符代碼稱為“EBCDIK+KEIS代碼”。

此外,EBCDIK針對半角英數(shù)字符、半角記號(hào)以及半角假名字符以1個(gè)字節(jié)來表現(xiàn)1個(gè)字符(字節(jié)數(shù)=1)。KEIS對于全角字符以2個(gè)字節(jié)來表現(xiàn)1個(gè)字符(字節(jié)數(shù)=2)。

輸入程序22(第1程序)為用于處理輸入文件21的程序,是當(dāng)前計(jì)算機(jī)2的遺留軟件。輸入程序22通過COBOL語言來記述,其記述內(nèi)容符合由EBCDIK兼KEIS構(gòu)成的字符代碼體系。

輸出文件31(第2文檔文件)為包含字符數(shù)據(jù)的文檔文件。輸出文件31中的字符數(shù)據(jù)按照新計(jì)算機(jī)3所處理的字符代碼體系。新計(jì)算機(jī)3所處理的字符代碼體系針對半角英數(shù)字符、半角記號(hào)、半角假名字符及全角字符中任一種字符的字符數(shù)據(jù)均為UTF-8。在本實(shí)施方式中,有時(shí)將分配至輸出文件31中的字符數(shù)據(jù)的字符代碼稱為“UTF-8代碼”。

此外,UTF-8針對半角英數(shù)字符及半角記號(hào)以1個(gè)字節(jié)來表現(xiàn)1個(gè)字符(字節(jié)數(shù)=1),針對半角假名字符及全角字符以3個(gè)字節(jié)來表現(xiàn)1個(gè)字符(字節(jié)數(shù)=3)。

輸出程序32(第2程序)是用于處理輸出文件31的程序。在本實(shí)施方式中,將輸出程序32設(shè)為以COBOL語言來記述。但是,通過實(shí)施周知形式的記述,可以以JAVA(注冊商標(biāo))語言來記述輸出程序32。

此外,作業(yè)用PC1包含輸入部、輸出部、控制部以及存儲(chǔ)部這樣的硬件。例如,在控制部由CPU(Central Processing Unit)構(gòu)成的情況下,基于包含該控制部的計(jì)算機(jī)的信息處理通過基于CPU的程序執(zhí)行處理來實(shí)現(xiàn)。另外,該計(jì)算機(jī)所包含的存儲(chǔ)部對CPU所指示且用于實(shí)現(xiàn)該計(jì)算機(jī)的功能的程序進(jìn)行存儲(chǔ)。由此實(shí)現(xiàn)軟件與硬件的協(xié)作。所述程序記錄在記錄介質(zhì)中、或者經(jīng)由網(wǎng)絡(luò)而被提供。

如圖1所示,作業(yè)用PC1具有:字符代碼轉(zhuǎn)換部11、程序轉(zhuǎn)換部12、交換信息生成部13、區(qū)域存儲(chǔ)部14這樣的功能部,并將字符代碼轉(zhuǎn)換表T、以及交換信息E存儲(chǔ)在存儲(chǔ)部中。

字符代碼轉(zhuǎn)換部11參照字符代碼轉(zhuǎn)換表T,將分配至輸入文件21中的字符數(shù)據(jù)的EBCDIK+KEIS代碼(第1字符代碼)轉(zhuǎn)換為分配至輸出文件31中的字符數(shù)據(jù)的UTF-8代碼(第2字符代碼)。

程序轉(zhuǎn)換部12將輸入程序22轉(zhuǎn)換為輸出程序32,使得與基于字符代碼轉(zhuǎn)換部11的字符代碼轉(zhuǎn)換相對應(yīng)。程序轉(zhuǎn)換部12可以將輸出程序32的記述語言轉(zhuǎn)換為與輸入程序22的記述語言相同,(例:COBOL→COBOL),也可以轉(zhuǎn)換為不同(例:COBOL→JAVA)。

交換信息生成部13通過使輸出程序32讀入被分配了UTF-8代碼的字符數(shù)據(jù),針對已讀入的字符數(shù)據(jù)生成交換信息E,該交換信息E將輸出程序32指定的存儲(chǔ)器上的區(qū)域數(shù)量確定為與表現(xiàn)分配至字符數(shù)據(jù)的EBCDIK+KEIS代碼的字節(jié)列的字節(jié)數(shù)相同。

輸出程序32讀入的、被分配了UTF-8代碼的字符數(shù)據(jù)例如為從輸出文件31提取的字符數(shù)據(jù)。

區(qū)域存儲(chǔ)部14在由通過交換信息E確定的數(shù)量所構(gòu)成的所述區(qū)域中,存儲(chǔ)被分配至在輸出程序32中已讀入的字符數(shù)據(jù)的1個(gè)UTF-8代碼。

字符代碼轉(zhuǎn)換表T針對預(yù)定的字符集合(例如,當(dāng)前計(jì)算機(jī)2所處理的由EBCDIK兼KEIS構(gòu)成的字符代碼體系中規(guī)定的字符的字符集合)中包含的字符,將分配至該字符的、EBCDIK+KEIS代碼和UTF-8代碼對應(yīng)起來。對應(yīng)的詳細(xì)內(nèi)容周知,從而省略說明。

交換信息生成部13生成的交換信息E,按被分配了UTF-8代碼的字符數(shù)據(jù),將該字符數(shù)據(jù)的大小(項(xiàng)目的長度)即字節(jié)數(shù)、以及輸出程序32所指定的存儲(chǔ)器上的區(qū)域數(shù)量進(jìn)行對應(yīng)。

如圖2所示,分配至各種字符數(shù)據(jù)的UTF-8代碼可以分類為表示半角英數(shù)記號(hào)的字符(半角英數(shù)字符+半角記號(hào))的字符代碼、表示半角假名字符的字符代碼、以及表示全角字符的字符代碼。對于被分類的字符代碼,決定上述“字節(jié)數(shù)”及“區(qū)域數(shù)量”。

針對表示半角英數(shù)記號(hào)字符的字符代碼,如上所述,UTF-8以1個(gè)字節(jié)來表現(xiàn)對應(yīng)的1個(gè)字符,因此“字節(jié)數(shù)”為“1”。另外,如上所述,EBCDIK針對半角英數(shù)字符及半角記號(hào)以1個(gè)字節(jié)來表現(xiàn)1個(gè)字符,因此通過交換信息生成部13的功能,“區(qū)域數(shù)量”為“1”。

針對表示半角假名字符的字符代碼,如上所述,UTF-8以3個(gè)字節(jié)來表示對應(yīng)的1個(gè)字符,因此“字節(jié)數(shù)”為“3”。另外,如上所述,EBCDIK針對半角假名以1個(gè)字節(jié)來表現(xiàn)1個(gè)字符,因此通過交換信息生成部13的功能,“區(qū)域數(shù)量”為“1”。

針對表示全角字符的字符代碼,如上所述,UTF-8以3個(gè)字節(jié)來表示對應(yīng)的1個(gè)字符,因此“字節(jié)數(shù)”為“3”。另外,如上所述,KEIS針對全角字符,以2個(gè)字節(jié)來表現(xiàn)1個(gè)字符,因此通過交換信息生成部13的功能,“區(qū)域數(shù)量”為“2”。

交換信息E的內(nèi)容根據(jù)由當(dāng)前計(jì)算機(jī)2處理的字符代碼體系與由新計(jì)算機(jī)3處理的字符代碼體系的組合來決定。

《處理》

針對本實(shí)施方式的處理進(jìn)行說明。該處理的主體為作業(yè)用PC1的控制部,但是為了說明上的方便,省略“控制部”這樣的詞語。

如圖3所示,作業(yè)用PC1每次進(jìn)行從當(dāng)前計(jì)算機(jī)2向新計(jì)算機(jī)3的遷移,都從步驟S1開始處理。

在步驟S1中,作業(yè)用PC1從當(dāng)前計(jì)算機(jī)2取得輸入文件21及輸入程序22。在步驟S1之后,轉(zhuǎn)入步驟S2。

在步驟S2中,作業(yè)用PC1通過字符代碼轉(zhuǎn)換部11,針對已取得的輸入文件21中的字符數(shù)據(jù),將字符代碼從EBCDIK+KEIS代碼轉(zhuǎn)換為UTF-8代碼,生成輸出文件31。在步驟S2之后,轉(zhuǎn)入步驟S3。

在步驟S3中,作業(yè)用PC1通過程序轉(zhuǎn)換部12,將已取得的輸入程序22轉(zhuǎn)換為輸出程序32。在步驟S3之后,轉(zhuǎn)入步驟S4。

在步驟S4中,作業(yè)用PC1通過輸出程序32讀入被分配了UTF-8代碼的字符數(shù)據(jù)。在步驟S4之后,轉(zhuǎn)入步驟S5。

在步驟S5中,作業(yè)用PC1通過交換信息生成部13,針對步驟S4中已讀入的字符數(shù)據(jù),生成交換信息E。在步驟S5之后,轉(zhuǎn)入步驟S6。

在步驟S6中,作業(yè)用PC1通過區(qū)域存儲(chǔ)部14,在由交換信息E確定的數(shù)量構(gòu)成的區(qū)域(輸出程序32所指定的存儲(chǔ)器上的區(qū)域)中,將對應(yīng)的UTF-8代碼、也就是被分配至步驟S4中已讀入的字符數(shù)據(jù)的UTF-8代碼存儲(chǔ)。在步驟S6之后,結(jié)束圖3的處理。

通過作業(yè)用PC1生成的輸出文件31、輸出程序32、以及交換信息E被輸出至新計(jì)算機(jī)3。這里,由于通過新計(jì)算機(jī)3來執(zhí)行預(yù)定的業(yè)務(wù)處理,因此考慮輸出程序32打開輸出文件31的情況。此時(shí),輸出程序32參照交換信息E,按照輸出程序32確定的順序,對在輸出程序32所指定的存儲(chǔ)器上的區(qū)域中存儲(chǔ)的UTF-8代碼進(jìn)行存取。

輸入程序22將輸入文件21中的字符數(shù)據(jù)的大小(項(xiàng)目的長度)處理為字節(jié)列的字節(jié)數(shù),在存儲(chǔ)器上指定與字節(jié)數(shù)相同數(shù)的區(qū)域并存儲(chǔ)字符數(shù)據(jù)的字節(jié)列。也就是說,像以前那樣,通過當(dāng)前計(jì)算機(jī)2,輸入程序22將存儲(chǔ)器上的指定的區(qū)域設(shè)為用于存儲(chǔ)1個(gè)字節(jié)的數(shù)據(jù)的區(qū)域,按字節(jié)數(shù)單位來處理輸入文件21中的字符數(shù)據(jù),由此實(shí)質(zhì)上逐個(gè)字符依次來處理字符數(shù)據(jù)。

通過將字符代碼從EBCDIK+KEIS代碼轉(zhuǎn)換為UTF-8代碼,針對字節(jié)列的字節(jié)數(shù)變更后的字符數(shù)據(jù),交換信息E可以使輸出程序32在存儲(chǔ)器上指定的區(qū)域數(shù)量與輸入程序22在存儲(chǔ)器上指定的區(qū)域數(shù)量相同。例如,若從EBCDIK+KEIS代碼轉(zhuǎn)換為UTF-8代碼,則針對字節(jié)列的字節(jié)數(shù)從“2”變更為“3”的全角字符的字符數(shù)據(jù),輸出程序32通過參照交換信息E,可以將存儲(chǔ)器上指定的區(qū)域數(shù)量設(shè)為“2”,而不是像現(xiàn)有技術(shù)那樣設(shè)為“3”。區(qū)域存儲(chǔ)部14在(連續(xù))2個(gè)區(qū)域中存儲(chǔ)分配至該全角字符的1個(gè)UTF-8代碼。

因此,輸出程序32可以將存儲(chǔ)器上指定的區(qū)域作為用于存儲(chǔ)1個(gè)字符的數(shù)據(jù)的區(qū)域,而不是用于存儲(chǔ)1個(gè)字節(jié)的數(shù)據(jù)的區(qū)域,可以按字符數(shù)單位來處理輸出文件31中的字符數(shù)據(jù)。其結(jié)果是,與輸入程序22逐個(gè)字符依次處理輸入文件21中的字符數(shù)據(jù)同樣地,在新計(jì)算機(jī)3中,輸出程序32也可以逐個(gè)字符依次處理輸出文件31中的字符數(shù)據(jù)。也就是說,即使進(jìn)行伴隨字符數(shù)據(jù)大小不同的字符代碼的轉(zhuǎn)換的遷移,也可以使由輸出程序32構(gòu)建的邏輯與由輸入文件21構(gòu)建的邏輯保持相同。進(jìn)行遷移的作業(yè)者,無需修正輸出程序32的源代碼的記述內(nèi)容之中與邏輯有關(guān)的部分。

此外,作業(yè)用PC1可以進(jìn)行控制,以使輸出程序32在存儲(chǔ)器上另外指定逐個(gè)字節(jié)存儲(chǔ)被分配了UTF-8代碼的字符數(shù)據(jù)的字節(jié)列的規(guī)定個(gè)數(shù)(例如,如果是全角字符則為3個(gè))的區(qū)域(用于存儲(chǔ)1個(gè)字節(jié)的數(shù)據(jù)的區(qū)域)。并且,作業(yè)用PC1進(jìn)行控制,以使區(qū)域存儲(chǔ)部14存儲(chǔ)1個(gè)UTF-8代碼的1個(gè)或者2個(gè)區(qū)域、與所述規(guī)定個(gè)數(shù)的區(qū)域相關(guān)聯(lián)。因此,在新計(jì)算機(jī)2中,輸出程序32在對區(qū)域存儲(chǔ)部14所存儲(chǔ)的UTF-8代碼進(jìn)行存取時(shí),通過對所述相關(guān)聯(lián)的區(qū)域中存儲(chǔ)的字節(jié)列進(jìn)行存取,可以處理成為對象的字符數(shù)據(jù)。

《具體例》

參照圖4、圖5,對通過伴隨字符代碼體系切換的遷移來轉(zhuǎn)換程序的具體例進(jìn)行說明。在本具體例中,轉(zhuǎn)換前程序(相當(dāng)于輸入程序22)以及轉(zhuǎn)換后程序(相當(dāng)于輸出程序32)都用COBOL語言來記述。轉(zhuǎn)換前程序所處理的字符代碼為EBCDIK+KEIS代碼,轉(zhuǎn)換后程序所處理的字符代碼為UTF-8代碼。

在圖4中示出了作為現(xiàn)有技術(shù)的比較例。在圖4的(a)的上部示出了在轉(zhuǎn)換前程序的源代碼之中的數(shù)據(jù)部工作節(jié)的記述例。在集團(tuán)項(xiàng)目DATA-A之中,DATA-A1及DATA-A2這樣的變量(項(xiàng)目)按該順序被聲明。

在DATA-A1中,“PIC X”表示在存儲(chǔ)器上確保每個(gè)字符1個(gè)字節(jié)的數(shù)據(jù)(EBCDIK)存儲(chǔ)區(qū)域,“(03)”表示該區(qū)域有3個(gè)(位數(shù)為3)。因此,可以向DATA-A1(半角字符)輸入3個(gè)字符的量的數(shù)據(jù)。

在DATA-A2中,“PIC N”表示在存儲(chǔ)器上確保每個(gè)字符2個(gè)字節(jié)的數(shù)據(jù)(KEIS),“(03)”表示該區(qū)域有3個(gè)(位數(shù)為3)。因此,可以向DATA-A2(全角字符)輸入3個(gè)字符的量的數(shù)據(jù)。

此外,COBOL語言以固定長來對變量進(jìn)行聲明。

在圖4的(a)的下部示出了將上述記述例具體化后的區(qū)域的示意圖。若用1個(gè)箱子表示1個(gè)區(qū)域,則該箱子表示1字節(jié)的數(shù)據(jù)存儲(chǔ)區(qū)域。根據(jù)該示意圖,轉(zhuǎn)換前程序針對DATA-A1在存儲(chǔ)器上指定3字節(jié)的量的區(qū)域,由此能夠向DATA-A1輸入3個(gè)字符的量的數(shù)據(jù)。另外,針對DATA-A2在存儲(chǔ)器上指定6字節(jié)(2字節(jié)×3)的量的區(qū)域,由此能夠向DATA-A2輸入3個(gè)字符的量的數(shù)據(jù)。這樣,轉(zhuǎn)換前程序像以往那樣,按1個(gè)字節(jié)來指定存儲(chǔ)字符數(shù)據(jù)的字節(jié)列的區(qū)域,按字節(jié)數(shù)單位來處理字符數(shù)據(jù)(從左開始逐個(gè)依次存取箱子內(nèi)的字節(jié)列)。

這里,當(dāng)在遷移中轉(zhuǎn)換字符代碼、也轉(zhuǎn)換程序時(shí),為了準(zhǔn)確無誤地處理表現(xiàn)1個(gè)字符的字節(jié)列的字節(jié)數(shù)不同的字符數(shù)據(jù)(為了可靠讀取設(shè)為目標(biāo)的字符數(shù)據(jù)),在現(xiàn)有技術(shù)中,需要以手動(dòng)作業(yè)來修正轉(zhuǎn)換后程序的邏輯。

在圖4的(b)的上部示出了在轉(zhuǎn)換后程序的源代碼之中數(shù)據(jù)部工作節(jié)的記述例。為了在程序的轉(zhuǎn)換前后使邏輯相同,對于圖4的(a)的記述例,需要進(jìn)行追加如圖中的下劃線部所示的記述的修正。

作為所述修正,針對DATA-A1,將位數(shù)從3變更為9。這樣變更位數(shù)的理由是由于相對于EBCDIK以1個(gè)字節(jié)來表現(xiàn)半角假名的1個(gè)字符,UTF-8以3個(gè)字節(jié)來表現(xiàn)半角假名的1個(gè)字符,因此使DATA-A1具有9個(gè)字節(jié)的量的區(qū)域(3個(gè)字節(jié)×3個(gè)字符),從而能夠應(yīng)對向DATA-A1輸入半角假名的3個(gè)字符的量的字節(jié)列的情況(為了防止數(shù)據(jù)的溢出)。

另外,作為所述修正,針對DATA-A2,將位數(shù)從3變更為5。這樣變更位數(shù)的理由是由于相對于KEIS以2個(gè)字節(jié)來表現(xiàn)全角字符的1個(gè)字符,UTF-8以3個(gè)字節(jié)來表現(xiàn)全角字符的1個(gè)字符,因此使DATA-A2至少具有9個(gè)字節(jié)的量的區(qū)域(3個(gè)字節(jié)×3個(gè)字符),從而能夠應(yīng)對向DATA-A2輸入全角字符的3個(gè)字符的字節(jié)列的情況。在圖4的(b)的例子中,通過將DATA-A2的位數(shù)設(shè)為5,使DATA-A2具有10個(gè)字節(jié)的量的區(qū)域。

在圖4的(b)的下部示出了將完成上述修正后的記述例具體化后的區(qū)域的示意圖。圖4的(b)所示的箱子與圖4的(a)所示的箱子同樣地,表示1個(gè)字節(jié)的數(shù)據(jù)存儲(chǔ)區(qū)域。所述修正的結(jié)果,通過增加箱子數(shù)量,在轉(zhuǎn)換后程序中仍保持如可以向DATA-A1輸入3個(gè)字符的量的數(shù)據(jù)、以及可以向DATA-A2輸入3個(gè)字符的量的數(shù)據(jù)這樣的轉(zhuǎn)換前程序的特性。但是,像增加這種箱子這樣來修正程序中構(gòu)建的邏輯,需要針對程序中的所有變量來進(jìn)行,因此需要極大的作業(yè)量。

圖5示出了本實(shí)施例。圖5的(a)與圖4的(a)相同。也就是說,能夠向變量DATA-A1輸入3個(gè)字符的量的數(shù)據(jù),能夠向變量DATA-A2輸入3個(gè)字符的量的數(shù)據(jù)。

在圖5的(b)的上部示出了轉(zhuǎn)換后程序的源代碼之中數(shù)據(jù)部工作節(jié)的記述例。在本實(shí)施例中轉(zhuǎn)換程序時(shí),可以使用已說明的交換信息E。

如已說明的那樣,根據(jù)交換信息E,轉(zhuǎn)換后程序在存儲(chǔ)器上指定的區(qū)域?qū)⒆鳛橛糜诖鎯?chǔ)1個(gè)字符的數(shù)據(jù)的區(qū)域來發(fā)揮作用,而不是作為用于存儲(chǔ)1個(gè)字節(jié)的數(shù)據(jù)的區(qū)域來發(fā)揮作用。這種情況與圖5的(b)的下部所示,1個(gè)箱子將1個(gè)區(qū)域表示為半角英數(shù)記號(hào)假名字符的1個(gè)字符的數(shù)據(jù)存儲(chǔ)區(qū)域同義。這里,像“半角英數(shù)記號(hào)假名字符”這樣的詞語是指將半角英數(shù)字符、半角記號(hào)及半角假名字符匯總后的詞語。半角英數(shù)記號(hào)假名字符的1個(gè)字符的數(shù)據(jù)存儲(chǔ)區(qū)域若并排2個(gè),則可以表示全角字符的1個(gè)字符的數(shù)據(jù)存儲(chǔ)區(qū)域。

因此,在圖5的(b)的記述例中,DATA-A1的“PIC X(03)”可以表示在存儲(chǔ)器上確保3個(gè)半角英數(shù)記號(hào)假名字符的1個(gè)字符的數(shù)據(jù)(UTF-8)存儲(chǔ)區(qū)域。這種情況表示即使不如圖4的(b)所示那樣增加位數(shù)(即使不修正邏輯),也能夠向變量DATA-A1輸入3個(gè)字符的量的數(shù)據(jù)(被分配了UTF-8代碼的字符數(shù)據(jù))。

另外,DATA-A2的“PIC N(03)”可以表示在存儲(chǔ)器上確保3個(gè)全角字符的1個(gè)字符的數(shù)據(jù)(UTF-8)存儲(chǔ)區(qū)域。這種情況表示即使不如圖4的(b)所示那樣增加位數(shù)(即使不修正邏輯),也能夠向變量DATA-A2輸入3個(gè)字符的量的數(shù)據(jù)(被分配了UTF-8代碼的字符數(shù)據(jù))。

如已說明的那樣,在1個(gè)或者2個(gè)半角英數(shù)記號(hào)假名字符的1個(gè)字符的數(shù)據(jù)存儲(chǔ)區(qū)域中,存儲(chǔ)1個(gè)UTF-8代碼。因此,在執(zhí)行預(yù)定業(yè)務(wù)處理時(shí),轉(zhuǎn)換后程序如果按預(yù)定的順序?qū)Υ鎯?chǔ)在區(qū)域中的UTF-8代碼進(jìn)行存取,則可以按字符數(shù)單位來處理字符數(shù)據(jù)。

這樣,通過使用交換信息E,轉(zhuǎn)換后程序改變存儲(chǔ)器上指定的區(qū)域的處理,由此可以消除修正程序中構(gòu)建的邏輯這樣的極大的作業(yè)量。

《總結(jié)》

根據(jù)本實(shí)施方式,已轉(zhuǎn)換的輸出程序32通過字符代碼的轉(zhuǎn)換,在對表現(xiàn)1個(gè)字符的字節(jié)列的字節(jié)數(shù)不同的字符數(shù)據(jù)進(jìn)行處理時(shí),通過參照交換信息E,可以使用與輸入程序32所使用的區(qū)域的數(shù)量相同數(shù)量的區(qū)域。也就是說,輸出程序32可以將存儲(chǔ)器上指定的區(qū)域設(shè)為用于存儲(chǔ)1個(gè)字符的數(shù)據(jù)的1個(gè)或者多個(gè)區(qū)域,并按字符數(shù)單位來處理字符數(shù)據(jù)。因此,可以使輸出程序32中構(gòu)建的邏輯與輸入程序32中構(gòu)建的邏輯相同,無需修正在輸出程序32的源代碼的記述內(nèi)容之中與邏輯有關(guān)的部分。

因此,在向不同字符代碼體系的切換所伴隨的遷移中,可以使成為遷移對象的程序的轉(zhuǎn)換變得容易。

《其他》

在本實(shí)施方式中,針對從使用EBCDIK及KEIS的字符代碼體系向使用UTF-8的字符代碼體系的切換所伴隨的遷移進(jìn)行了說明。但是,針對從使用JIS8及SJIS的字符代碼體系向使用UTF-8的字符代碼體系的切換所伴隨的遷移,也可以應(yīng)用本發(fā)明。

此外,JIS8對于半角英數(shù)字符、半角記號(hào)及半角假名字符,以1個(gè)字節(jié)來表現(xiàn)1個(gè)字符(字節(jié)數(shù)=1)。SJIS對于全角字符以2個(gè)字節(jié)來表現(xiàn)1個(gè)字符(字節(jié)數(shù)=2)。

另外,在本實(shí)施方式中,區(qū)域存儲(chǔ)部14在輸出程序32所指定的存儲(chǔ)器上的區(qū)域中存儲(chǔ)有UTF-8代碼。但是,不必是UTF-8代碼,也可以存儲(chǔ)能夠識(shí)別相應(yīng)字符數(shù)據(jù)的任意形式的數(shù)據(jù)。

另外,在本實(shí)施方式中,在交換信息生成部13生成交換信息E時(shí),將輸出程序32所讀入的、被分配了UTF-8代碼的字符數(shù)據(jù)設(shè)為例如從輸出文件31提取的字符數(shù)據(jù)。但是,例如作業(yè)用PC1為了針對預(yù)定的字符集合(例如,在向處理UTF-8的開放式服務(wù)器計(jì)算機(jī)進(jìn)行遷移時(shí),由現(xiàn)有的所有字符構(gòu)成的字符集合)中包含的所有字符生成交換信息E,也可以從外部事先取得被分配了UTF-8代碼的字符數(shù)據(jù),并使輸出程序32讀入已取得的字符數(shù)據(jù)。

另外,也可以實(shí)現(xiàn)對本實(shí)施方式中說明的各種技術(shù)進(jìn)行適當(dāng)組合后的技術(shù)。

可以將本實(shí)施方式中說明的軟件實(shí)現(xiàn)為硬件,還可以將硬件實(shí)現(xiàn)為軟件。

此外,針對硬件、軟件、流程圖等,在不脫離本發(fā)明的主旨的范圍內(nèi)可以進(jìn)行適當(dāng)變更。

符號(hào)說明

1 作業(yè)用PC(遷移支持裝置);

11 字符代碼轉(zhuǎn)換部;

12 程序轉(zhuǎn)換部;

13 交換信息生成部;

14 區(qū)域存儲(chǔ)部;

2 當(dāng)前計(jì)算機(jī)(第1計(jì)算機(jī));

21 輸入文件(第1文檔文件);

22 輸入程序(第1程序);

3 新計(jì)算機(jī)(第2計(jì)算機(jī));

31 輸出文件(第2文檔文件);

32 輸出程序(第2程序);

T 字符代碼轉(zhuǎn)換表;

E 交換信息。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
张家界市| 即墨市| 永修县| 伊金霍洛旗| 新营市| 开封县| 珲春市| 鸡西市| 浦城县| 东辽县| 清苑县| 郎溪县| 成都市| 巧家县| 什邡市| 正安县| 阿坝| 贵德县| 岳阳县| 西昌市| 庄河市| 瓦房店市| 辽宁省| 漾濞| 太仓市| 遂溪县| 荆门市| 湟中县| 商都县| 瑞安市| 高陵县| 开鲁县| 高尔夫| 德保县| 福鼎市| 舞钢市| 广水市| 湟源县| 易门县| 芜湖县| 获嘉县|