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

?

基于Delphi開(kāi)發(fā)的應(yīng)用系統(tǒng)數(shù)據(jù)通用遷移

2016-03-10 10:18:47新李瑞梁川李曉冬鮮文娟
電腦與電信 2016年8期
關(guān)鍵詞:句柄數(shù)據(jù)錄入異構(gòu)

黃 新李 瑞梁 川李曉冬鮮文娟

(1.成都軍區(qū)聯(lián)勤部后勤信息中心,四川 成都 610000;2.武警警官學(xué)院,四川 成都 610000;3.成都軍區(qū)聯(lián)勤部錄像室,四川 成都 610000)

基于Delphi開(kāi)發(fā)的應(yīng)用系統(tǒng)數(shù)據(jù)通用遷移

黃 新1李 瑞2梁 川1李曉冬2鮮文娟3

(1.成都軍區(qū)聯(lián)勤部后勤信息中心,四川 成都 610000;2.武警警官學(xué)院,四川 成都 610000;3.成都軍區(qū)聯(lián)勤部錄像室,四川 成都 610000)

數(shù)據(jù)集中管理和跨應(yīng)用流動(dòng)的發(fā)展需求使得異構(gòu)數(shù)據(jù)庫(kù)的數(shù)據(jù)遷移技術(shù)越發(fā)重要。本文提出一種通用的數(shù)據(jù)遷移新方法,可以直接遠(yuǎn)程提取Delphi語(yǔ)言編寫的應(yīng)用系統(tǒng)數(shù)據(jù),能夠有效保障數(shù)據(jù)遷移過(guò)程中的正確性和兼容性,為數(shù)據(jù)共享和復(fù)用提供有力抓手。

Delphi;異構(gòu)數(shù)據(jù);遠(yuǎn)程注入;反跟蹤

1 概述

進(jìn)入21世紀(jì),計(jì)算機(jī)編程和數(shù)據(jù)庫(kù)應(yīng)用技術(shù)飛速發(fā)展,各種應(yīng)用系統(tǒng)層出不窮,更新?lián)Q代時(shí)間大大縮短,數(shù)據(jù)集中管理和跨應(yīng)用流動(dòng)成為新的趨勢(shì),常常要將數(shù)據(jù)遷移到新的平臺(tái)從而滿足性能需求以及功能性的需要。然而由于歷史原因和計(jì)算機(jī)發(fā)展技術(shù)初期的局限性,企業(yè)各個(gè)部門之間應(yīng)用系統(tǒng)構(gòu)建伊始常常根據(jù)自身應(yīng)用需求研制開(kāi)發(fā),數(shù)據(jù)庫(kù)獨(dú)立性強(qiáng),無(wú)法和其他部門數(shù)據(jù)共享,互聯(lián)互通性差,造成了很大的資源浪費(fèi)。隨著大數(shù)據(jù)技術(shù)發(fā)展得如火如荼,需要各部門各領(lǐng)域的數(shù)據(jù)更加集中,以往分散管理,處于不同平臺(tái)的相關(guān)數(shù)據(jù)無(wú)法滿足統(tǒng)一分析、決策以及時(shí)代發(fā)展的迫切需求,新的信息系統(tǒng)經(jīng)常面對(duì)多個(gè)不同數(shù)據(jù)庫(kù)環(huán)境,需將各個(gè)平臺(tái)的數(shù)據(jù)整合遷移到新的系統(tǒng)中,異構(gòu)數(shù)據(jù)庫(kù)的數(shù)據(jù)遷移技術(shù)越加重要。

常見(jiàn)的異構(gòu)數(shù)據(jù)庫(kù)數(shù)據(jù)遷移技術(shù)[1]有以下幾種:(1)通過(guò)BI工具或者數(shù)據(jù)庫(kù)自身的ETL工具進(jìn)行數(shù)據(jù)遷移。(2)開(kāi)發(fā)專門的遷移模塊針對(duì)具體應(yīng)用完成遷移,可以依據(jù)自身特點(diǎn)修正,兼容性強(qiáng),但是通用性差,不夠靈活。(3)使用數(shù)據(jù)庫(kù)自帶的導(dǎo)入導(dǎo)出工具將原系統(tǒng)的數(shù)據(jù)導(dǎo)出,修正表結(jié)構(gòu)、數(shù)據(jù)類型導(dǎo)入新的數(shù)據(jù)庫(kù)系統(tǒng),效率較高但是需要根據(jù)不同數(shù)據(jù)庫(kù)特點(diǎn)進(jìn)行人工補(bǔ)正。這些方法存在的共同問(wèn)題是通用性較差,靈活性不夠,遷移之前必須提前深入了解各個(gè)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu),由于環(huán)境的差異,數(shù)據(jù)遷移過(guò)程中出現(xiàn)問(wèn)題的幾率較高,后期維護(hù)困難,無(wú)法實(shí)現(xiàn)遠(yuǎn)程的數(shù)據(jù)遷移,存在較大的局限性,使用難度較高。

異構(gòu)數(shù)據(jù)庫(kù)數(shù)據(jù)遷移[2]是將不同數(shù)據(jù)庫(kù)環(huán)境下的數(shù)據(jù)資源進(jìn)行集中管理、共享并匯總至另一平臺(tái)的過(guò)程。本文提供了一種新的應(yīng)用數(shù)據(jù)庫(kù)通用遠(yuǎn)程遷移技術(shù),一改過(guò)去常見(jiàn)遷移技術(shù)的思路,無(wú)須了解各系統(tǒng)數(shù)據(jù)庫(kù)的具體結(jié)構(gòu)和數(shù)據(jù)內(nèi)容,結(jié)合應(yīng)用系統(tǒng)數(shù)據(jù)編輯界面,可以直接遠(yuǎn)程提取Delphi語(yǔ)言編寫的應(yīng)用系統(tǒng)數(shù)據(jù),能夠有效保障數(shù)據(jù)遷移過(guò)程中的正確性和兼容性,為數(shù)據(jù)共享和復(fù)用提供了有力抓手。

2 編程技術(shù)發(fā)展

自IBM的約翰.貝克斯針對(duì)匯編語(yǔ)言的缺陷于1957年研制出第一個(gè)高級(jí)程序設(shè)計(jì)語(yǔ)言Fortran以來(lái),程序設(shè)計(jì)語(yǔ)言經(jīng)歷了從面向過(guò)程到面向?qū)ο?,再到面向組件、面向服務(wù)的高速發(fā)展。

面向過(guò)程編程把編程任務(wù)劃分成一個(gè)一個(gè)的步驟,然后按照步驟分別去執(zhí)行。其中每完成一個(gè)步驟就像是完成一個(gè)任務(wù)中的單個(gè)過(guò)程一樣。面向?qū)ο骩3]編程將現(xiàn)實(shí)世界的事物抽象成對(duì)象,現(xiàn)實(shí)世界中的關(guān)系抽象成類、繼承,幫助人們實(shí)現(xiàn)對(duì)現(xiàn)實(shí)世界的抽象與數(shù)字建模。使用面向?qū)ο蟮姆椒?,類似人類看待事物的方式?duì)復(fù)雜系統(tǒng)進(jìn)行分析、設(shè)計(jì)與開(kāi)發(fā)。目前面向?qū)ο缶幊淌侵髁鳎蔷幊碳夹g(shù)事實(shí)上的標(biāo)準(zhǔn),具備快速化、標(biāo)準(zhǔn)化、模塊化等一系列優(yōu)點(diǎn)。

Delphi是Windows平臺(tái)下的一個(gè)集成開(kāi)發(fā)環(huán)境(IDE),使用由傳統(tǒng)面向過(guò)程的Pascal語(yǔ)言發(fā)展而來(lái)的Object Pascal編程語(yǔ)言,通過(guò)圖形用戶界面開(kāi)發(fā)環(huán)境,運(yùn)用IDE、VCL部件

與編譯器,結(jié)合數(shù)據(jù)庫(kù)連接功能,構(gòu)成的以面向?qū)ο蟪绦蛟O(shè)計(jì)為核心的應(yīng)用程序開(kāi)發(fā)工具。Delphi特別適合運(yùn)用于數(shù)據(jù)庫(kù)方面,能夠有效適應(yīng)多種數(shù)據(jù)庫(kù)結(jié)構(gòu),具有高效的數(shù)據(jù)庫(kù)管理系統(tǒng)和先進(jìn)的數(shù)據(jù)庫(kù)引擎和大量的配套組件。本文構(gòu)建的數(shù)據(jù)通用遷移系統(tǒng)主要針對(duì)于各種Delphi開(kāi)發(fā)的應(yīng)用數(shù)據(jù)之間的遷移。

3 通用數(shù)據(jù)遷移技術(shù)

本文構(gòu)建的應(yīng)用數(shù)據(jù)通用遷移平臺(tái)的基本原理是:通過(guò)遠(yuǎn)程注入的方式使用遷移平臺(tái)獲取源應(yīng)用程序數(shù)據(jù)錄入編輯界面的句柄,逐條讀取界面中各字段數(shù)據(jù),隨后數(shù)據(jù)遷移系統(tǒng)分析處理后自動(dòng)將對(duì)應(yīng)字段數(shù)據(jù)添加至目標(biāo)程序數(shù)據(jù)錄入界面并提交保存,從而完成多個(gè)應(yīng)用平臺(tái)之間的數(shù)據(jù)遷移。

3.1 應(yīng)用系統(tǒng)對(duì)象模塊句柄

句柄,是Windows編程的基礎(chǔ)。一個(gè)句柄是指使用唯一的整數(shù)值,即一個(gè)4字節(jié)(64位程序中為8字節(jié))長(zhǎng)的數(shù)值,來(lái)標(biāo)識(shí)應(yīng)用程序中的不同對(duì)象和同類中的不同的實(shí)例,諸如,一個(gè)窗口,按鈕,圖標(biāo),滾動(dòng)條,輸出設(shè)備,控件或者文件等,應(yīng)用程序能夠通過(guò)句柄訪問(wèn)相應(yīng)對(duì)象的信息。實(shí)例化成內(nèi)存的對(duì)象指針,即句柄。對(duì)象指針轉(zhuǎn)換成對(duì)象,即可像使用對(duì)象一樣使用目標(biāo)數(shù)據(jù)。數(shù)據(jù)遷移系統(tǒng)必須首先獲取源數(shù)據(jù)錄入編輯模塊的句柄,才能夠?qū)?shù)據(jù)進(jìn)行提取等進(jìn)一步操作。但是Windows尋址,要求對(duì)象指針轉(zhuǎn)換的轉(zhuǎn)換模塊同目標(biāo)模塊在同一進(jìn)程中,因此,需要使用遠(yuǎn)程注入的方法。

3.2 遠(yuǎn)程線程注入

遠(yuǎn)程線程注入[4]是指一個(gè)進(jìn)程在另一個(gè)進(jìn)程中創(chuàng)建線程的技術(shù)。遠(yuǎn)線程注入原理是利用Windows系統(tǒng)中CreateR-emoteThread()這個(gè)API,其中第4個(gè)參數(shù)是準(zhǔn)備運(yùn)行的線程,我們可以將LoadLibrary()填入其中,這樣就可以執(zhí)行遠(yuǎn)程進(jìn)程中的LoadLibrary()函數(shù),進(jìn)而將我們自己準(zhǔn)備的DLL加載到遠(yuǎn)程進(jìn)程空間中執(zhí)行。

數(shù)據(jù)遷移平臺(tái)通過(guò)遠(yuǎn)程注入的方式將自身的轉(zhuǎn)換模塊注入到源應(yīng)用程序同一進(jìn)程中就能獲取到數(shù)據(jù)錄入編輯模塊的句柄并操作對(duì)象包涵的數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)讀取的局域網(wǎng)操作。

3.3 消除異構(gòu)沖突

數(shù)據(jù)獲取之后須將數(shù)據(jù)填入目標(biāo)應(yīng)用系統(tǒng)數(shù)據(jù)錄入界面并逐條重復(fù)。異構(gòu)數(shù)據(jù)遷移一般包括模式轉(zhuǎn)換[5]和數(shù)據(jù)轉(zhuǎn)換,要實(shí)現(xiàn)數(shù)據(jù)的完整遷移往往是比較困難的。傳統(tǒng)數(shù)據(jù)遷移的異構(gòu)性主要有數(shù)據(jù)環(huán)境的異構(gòu)、不同數(shù)據(jù)庫(kù)管理系統(tǒng)的異構(gòu)、數(shù)據(jù)不同類型不同精度的異構(gòu)。本平臺(tái)因?yàn)椴恢苯由婕暗讓訑?shù)據(jù)庫(kù)的操作,因此只需確定數(shù)據(jù)類型的對(duì)應(yīng)關(guān)系、解決命名沖突、格式?jīng)_突等問(wèn)題。通過(guò)字段類型變換、字符串長(zhǎng)度變換、日期格式變換、數(shù)據(jù)類型變換、字段合并等手段基本可以順利解決。

4 存在問(wèn)題

本文初步建立了一個(gè)基于Delphi平臺(tái)之間的應(yīng)用數(shù)據(jù)通用遷移系統(tǒng),通過(guò)嶄新的思路摒棄了傳統(tǒng)數(shù)據(jù)遷移平臺(tái)的缺點(diǎn),有著很強(qiáng)的適用性和可操作性,但還是存在一些問(wèn)題:

4.1 不同編譯器將對(duì)象實(shí)例化后的區(qū)別

不同的編譯器在實(shí)例化對(duì)象的時(shí)候存在些許區(qū)別,會(huì)造成獲取對(duì)象指針時(shí)出現(xiàn)一些兼容性問(wèn)題,在平臺(tái)研制的過(guò)程中要充分考慮到這些區(qū)別,提升數(shù)據(jù)遷移平臺(tái)的通用性和遷移成功率。

4.2 反跟蹤代碼

基于計(jì)算機(jī)應(yīng)用系統(tǒng)的安全考慮,通常要采取多種手段和措施防止軟件在運(yùn)行過(guò)程中被惡意跟蹤,反跟蹤技術(shù)[6]是保證系統(tǒng)正常運(yùn)行的必要一環(huán)。常見(jiàn)的反跟蹤技術(shù)有破壞單步中斷和斷點(diǎn)中斷、封鎖鍵盤輸入、檢測(cè)跟蹤法、分塊加密執(zhí)行程序、逆指令流法等。由于本文構(gòu)建系統(tǒng)采用了一些別于傳統(tǒng)的手段,應(yīng)用系統(tǒng)必要的反跟蹤機(jī)制有可能阻止本系統(tǒng)不同進(jìn)程對(duì)象指針的獲取,為數(shù)據(jù)遷移設(shè)置障礙。這是下一步亟待解決的問(wèn)題。

5 未來(lái)發(fā)展

機(jī)器視覺(jué)可以看作是與人工智能和模式識(shí)別密切相關(guān)的一個(gè)子學(xué)科或子領(lǐng)域,面向的研究對(duì)象主要是圖像和視頻。在下一步的發(fā)展中,本系統(tǒng)可以引入機(jī)器視覺(jué)技術(shù),軟件自動(dòng)截取待遷移數(shù)據(jù)系統(tǒng)界面,實(shí)時(shí)逐條識(shí)別分析系統(tǒng)數(shù)據(jù)字段,隨后輸入至目標(biāo)系統(tǒng)數(shù)據(jù)錄入編輯界面對(duì)應(yīng)字段,模擬人工操作,用戶無(wú)須了解數(shù)據(jù)庫(kù)結(jié)構(gòu),同時(shí)也和系統(tǒng)開(kāi)發(fā)語(yǔ)言、架構(gòu)無(wú)關(guān),進(jìn)一步提升數(shù)據(jù)遷移平臺(tái)的通用性、易用性和智能程度。

[1]周龍?bào)J.分布式數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)現(xiàn)技術(shù)[M].北京:科學(xué)出版社,1999.

[2]靳強(qiáng)勇,李冠寧,張?。悩?gòu)數(shù)據(jù)集成技術(shù)的發(fā)展和現(xiàn)狀[J]計(jì)算機(jī)工程與應(yīng)用,2002,38(11).

[3]張國(guó)鋒.面向程序設(shè)計(jì)[M].北京:高等教育出版社,1995.

[4]Jeffrey Richter.Windows核心編程[M].王建華,張煥生,侯麗坤,等譯.北京:機(jī)械工業(yè)出版社,2000.

[5]李鵬飛,趙軍強(qiáng).SSIS在異構(gòu)數(shù)據(jù)庫(kù)間數(shù)據(jù)遷移的應(yīng)用研究[J].長(zhǎng)江大學(xué)學(xué)報(bào),2008(9):62-64.

[6]趙世平.淺談匯編語(yǔ)言在反跟蹤和反破解中的應(yīng)用[J].程序員,2006(03).

General Migration ofApplication System Data Based on Delphi

Huang Xin1Li Rui2Liang Chuan1Li Xiaodong2Xian Wenjuan3
(1.Information Center,Joint Logistics Department of Chengdu Military Region Logistics,Chengdu 610000,Sichuan; 2.Armed police College,Sichuan,Chengdu 610000,Sichuan; 3.Video Room,Joint Logistics Department of Chengdu Military Region,Chengdu 610000,Sichuan)

The development of data centralized management and cross application flow makes the data migration technology of heterogeneous database become more and more important.This paper proposes a universal data transfer method,which can remotely extract the application system data written by Delphi,effectively protect the data validity and compatibility in migration process.It is conducive to data sharing and reuse.

Delphi;heterogeneous data;remote injection;back tracking

TP311.13

A

1008-6609(2016)08-0061-03

黃新,男,四川成都人,碩士研究生,助理工程師,研究方向:數(shù)據(jù)管理工作。

猜你喜歡
句柄數(shù)據(jù)錄入異構(gòu)
試論同課異構(gòu)之“同”與“異”
基于SPSS軟件在市場(chǎng)調(diào)研中的數(shù)據(jù)錄入方法
面向海外數(shù)據(jù)庫(kù)的一種通用數(shù)據(jù)錄入方法的研究
基于SPSS軟件在市場(chǎng)調(diào)研中的數(shù)據(jù)錄入方法
高校圖書館持久標(biāo)識(shí)符應(yīng)用研究
編譯程序語(yǔ)法分析句柄問(wèn)題分析與探討
overlay SDN實(shí)現(xiàn)異構(gòu)兼容的關(guān)鍵技術(shù)
LTE異構(gòu)網(wǎng)技術(shù)與組網(wǎng)研究
MFC應(yīng)用程序多線程混合顯示界面方法研究
在新興異構(gòu)SoCs上集成多種系統(tǒng)
白玉县| 万盛区| 正镶白旗| 禹城市| 永福县| 汉寿县| 泰顺县| 旬阳县| 沂南县| 天峻县| 化德县| 莱阳市| 阿坝县| 井陉县| 休宁县| 当阳市| 潼南县| 吉隆县| 教育| 文安县| 富川| 东源县| 桐乡市| 鞍山市| 松桃| 耒阳市| 龙江县| 平塘县| 阜城县| 聊城市| 普安县| 星座| 安溪县| 华坪县| 阿巴嘎旗| 松潘县| 廊坊市| 教育| 噶尔县| 临桂县| 普兰店市|