一種醫(yī)療隱私數(shù)據(jù)交換文件生成方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種用于醫(yī)療隱私數(shù)據(jù)的數(shù)據(jù)交換文件的生成方法。
【背景技術(shù)】
[0002]在醫(yī)療衛(wèi)生領(lǐng)域存在著大量?jī)?nèi)網(wǎng)業(yè)務(wù)系統(tǒng)和外網(wǎng)(Internet)服務(wù)網(wǎng)站之間的數(shù)據(jù)交換的場(chǎng)景,出于安全性的要求,內(nèi)外網(wǎng)之間一般采用單向網(wǎng)閘或物理隔斷,數(shù)據(jù)庫(kù)之間無(wú)法直接互聯(lián)互通,需要采用文件的方式作為數(shù)據(jù)交換的中介。
[0003]但是傳統(tǒng)的數(shù)據(jù)文件格式無(wú)法包容數(shù)據(jù)庫(kù)大字段、數(shù)據(jù)庫(kù)之間字段類(lèi)型和名稱(chēng)的差異性、X光片、醫(yī)療影像音視頻等大文件,且存在去隱私畫(huà)、操作系統(tǒng)對(duì)單個(gè)文件大小限制的問(wèn)題,需要有新的方法處理數(shù)據(jù)庫(kù)大字段、數(shù)據(jù)庫(kù)之間字段類(lèi)型和名稱(chēng)的差異性、音視頻等大文件以及數(shù)據(jù)去隱私。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供一種處理數(shù)據(jù)庫(kù)大字段、數(shù)據(jù)庫(kù)之間字段類(lèi)型和名稱(chēng)的差異性、音視頻等大文件以及數(shù)據(jù)去隱私的方法。
[0005]為了達(dá)到上述目的,本發(fā)明的技術(shù)方案是提供了一種醫(yī)療隱私數(shù)據(jù)交換文件生成方法,其特征在于,包括以下步驟:
[0006]步驟1、計(jì)算源數(shù)據(jù)表的數(shù)據(jù)數(shù)量,根據(jù)數(shù)據(jù)數(shù)量/數(shù)據(jù)交換文件最大數(shù)據(jù)數(shù)量,計(jì)算出數(shù)據(jù)交換文件的個(gè)數(shù)m ;
[0007]步驟2、按數(shù)據(jù)交換文件的個(gè)數(shù)m建立帶有順序號(hào)的數(shù)據(jù)交換文件目錄,對(duì)數(shù)據(jù)進(jìn)行分割存儲(chǔ),在每個(gè)數(shù)據(jù)交換文件目錄下建立子目錄data,用于存放大字段及大文件;
[0008]步驟3、將順序號(hào)為1的數(shù)據(jù)交換文件目錄作為當(dāng)前的數(shù)據(jù)交換文件目錄;
[0009]步驟4、在當(dāng)前數(shù)據(jù)交換文件目錄下建立數(shù)據(jù)表轉(zhuǎn)換定義文件,該數(shù)據(jù)表轉(zhuǎn)換定義文件至少包括源數(shù)據(jù)表格式定義SourceTable、目標(biāo)數(shù)據(jù)表格式定義DestTable、源數(shù)據(jù)表字段和目標(biāo)數(shù)據(jù)表字段之間的映射關(guān)系FieldMapping ;
[0010]步驟5、按照源數(shù)據(jù)表的格式采集源數(shù)據(jù)表的格式生成數(shù)據(jù)文件,如果數(shù)據(jù)文件大于數(shù)據(jù)交換文件最大數(shù)據(jù)數(shù)量,則進(jìn)入步驟4 ;
[0011]步驟6、在數(shù)據(jù)交換文件目錄下建立數(shù)據(jù)校驗(yàn)文件;
[0012]步驟7、將數(shù)據(jù)交換文件目錄及其子目錄data進(jìn)行壓縮,壓縮完成后刪除數(shù)據(jù)交換文件目錄及其子目錄data;
[0013]步驟8、判斷是否有未采集的數(shù)據(jù),如果有未采集的數(shù)據(jù),則使用順序號(hào)遞增的數(shù)據(jù)交換文件目錄作為當(dāng)前數(shù)據(jù)交換文件目錄,進(jìn)入步驟4,如果沒(méi)有未采集的數(shù)據(jù),則進(jìn)入步驟9。
[0014]步驟9、結(jié)束。
[0015]優(yōu)選地,在所述步驟2中,所述數(shù)據(jù)交換文件目錄的命名規(guī)則為:源數(shù)據(jù)表名+目標(biāo)數(shù)據(jù)表名+交換時(shí)間+順序號(hào),其中:順序號(hào)為1?m。
[0016]優(yōu)選地,在所述步驟4中,所述數(shù)據(jù)表轉(zhuǎn)換定義文件的命名規(guī)則為:源數(shù)據(jù)表名+目標(biāo)數(shù)據(jù)表名。
[0017]優(yōu)選地,在所述步驟4中,所述源數(shù)據(jù)表格式定義SourceTable包括以下字段:
[0018]源數(shù)據(jù)表名TableName、源數(shù)據(jù)表的主鍵字段名PrimaryKey、n個(gè)源數(shù)據(jù)表的字段FieldDefine ;
[0019]所述目標(biāo)數(shù)據(jù)表格式定義DestTable包括以下字段:
[0020]目標(biāo)數(shù)據(jù)表名TableName、目標(biāo)數(shù)據(jù)表的主鍵字段名PrimaryKey、n個(gè)目標(biāo)數(shù)據(jù)表的字段。
[0021]優(yōu)選地,每個(gè)所述源數(shù)據(jù)表的字段FieldDefine或每個(gè)所述目標(biāo)數(shù)據(jù)表的字段DestTable包括以下字段:
[0022]字段名FieldName、字段類(lèi)型FieldType、字段總長(zhǎng)度FieldLength、字段小數(shù)點(diǎn)后的長(zhǎng)度FieldLength2、是否允許空值FieldNull、是否隱私字段Privacy。
[0023]優(yōu)選地,所述η個(gè)源數(shù)據(jù)表的字段FieldDefine與所述η個(gè)目標(biāo)數(shù)據(jù)表的字段存在映射關(guān)系,則所述源數(shù)據(jù)表字段和目標(biāo)數(shù)據(jù)表字段之間的映射關(guān)系FieldMapping包括η對(duì)互為映射關(guān)系的源數(shù)據(jù)表字段名SourceFieldName及目標(biāo)數(shù)據(jù)表字段名DestFieldName0
[0024]優(yōu)選地,在所述步驟5中,所述數(shù)據(jù)文件的命名包括源數(shù)據(jù)表名,所述數(shù)據(jù)文件的格式為:
[0025]字段長(zhǎng)度+字段值+字段長(zhǎng)度+字段值+...,其中:
[0026]如果字段值為空,則字段長(zhǎng)度為-1,不填寫(xiě)字段值;
[0027]如果字段值為大字段,則將字段值的內(nèi)容以文件方式存放在子目錄data下,字段值填寫(xiě)不含路徑的文件名,文件名命名規(guī)則為:字段名+順序號(hào),順序號(hào)從1開(kāi)始計(jì)數(shù);
[0028]如果字段值為存放文件的路徑,則將該文件復(fù)制到子目錄data下,字段值填寫(xiě)不含路徑的文件名。
[0029]優(yōu)選地,在所述步驟6中,所述數(shù)據(jù)校驗(yàn)文件的文件命名包括源數(shù)據(jù)表名,所述數(shù)據(jù)校驗(yàn)文件包括:數(shù)據(jù)記錄條數(shù)DataCount、源數(shù)據(jù)表名+數(shù)據(jù)文件的數(shù)字簽名DataS i gnature、數(shù)字簽名方法 S i gnatureMe thod。
[0030]本發(fā)明提供的方法,有利于內(nèi)外網(wǎng)環(huán)境下的醫(yī)療隱私數(shù)據(jù)交換,保證了網(wǎng)絡(luò)安全性,降低了系統(tǒng)維護(hù)成本。本發(fā)明方法中數(shù)據(jù)格式文件數(shù)據(jù)表定義和映射,有利于異構(gòu)數(shù)據(jù)庫(kù)之間的格式轉(zhuǎn)換,有利于不同表名和不同字段名之間的轉(zhuǎn)換,有利于異構(gòu)系統(tǒng)間的數(shù)據(jù)交換,有利于對(duì)隱私字段的標(biāo)記和識(shí)別。本發(fā)明采用數(shù)據(jù)格式文件分割、大字段文件獨(dú)立存出、自包含校驗(yàn)、隱私字段標(biāo)記的方法,能兼容大規(guī)模數(shù)據(jù)量的采集和交換,能夠保證數(shù)據(jù)的可靠性,避免數(shù)據(jù)因網(wǎng)絡(luò)傳輸而導(dǎo)致的錯(cuò)誤,從而保證為業(yè)務(wù)處理提供正確的數(shù)據(jù)。
【具體實(shí)施方式】
[0031]為使本發(fā)明更明顯易懂,茲以?xún)?yōu)選實(shí)施例作詳細(xì)說(shuō)明如下。
[0032]本發(fā)明提供了一種醫(yī)療隱私數(shù)據(jù)交換文件生成方法,其步驟為:
[0033]步驟1、計(jì)算源數(shù)據(jù)表的數(shù)據(jù)數(shù)量,根據(jù)數(shù)據(jù)數(shù)量/數(shù)據(jù)交換文件最大數(shù)據(jù)數(shù)量,計(jì)算出數(shù)據(jù)交換文件的個(gè)數(shù)m,如果不能整除則進(jìn)位1。
[0034]步驟2、按數(shù)據(jù)交換文件的個(gè)數(shù)m建立數(shù)據(jù)交換文件目錄。數(shù)據(jù)交換文件目錄的命名規(guī)則為:源數(shù)據(jù)表名+目標(biāo)數(shù)據(jù)表名+交換時(shí)間(4位年2位月2位日2位24小時(shí)制小時(shí)2位分鐘2位秒)+順序號(hào),其中:順序號(hào)為1?m。對(duì)數(shù)據(jù)進(jìn)行分割存儲(chǔ),在每個(gè)數(shù)據(jù)交換文件目錄下建立子目錄data,用于存放大字段及大文件。
[0035]步驟3、將順序號(hào)為1的數(shù)據(jù)交換文件目錄作為當(dāng)前的數(shù)據(jù)交換文件目錄。
[0036]步驟4、在當(dāng)前數(shù)據(jù)交換文件目錄下建立數(shù)據(jù)表轉(zhuǎn)換定義文件,其命名規(guī)則為:源數(shù)據(jù)表名+目標(biāo)數(shù)據(jù)表名,該數(shù)據(jù)表轉(zhuǎn)換定義文件至少包括源數(shù)據(jù)表格式定義SourceTable、目標(biāo)數(shù)據(jù)表格式定義DestTable、源數(shù)據(jù)表字段和目標(biāo)數(shù)據(jù)表字段之間的映射關(guān)系 FieldMapping。
[0037]源數(shù)據(jù)表格式定義SourceTable包括以下字段:
[0038]源數(shù)據(jù)表名TableName、源數(shù)據(jù)表的主鍵字段名PrimaryKey,以逗號(hào)分割、η個(gè)源數(shù)據(jù)表的字段FieldDefine ;
[0039]目標(biāo)數(shù)據(jù)表格式定義DestTable包括以下字段:
[0040]目標(biāo)數(shù)據(jù)表名TableName、目標(biāo)數(shù)據(jù)表的主鍵字段名PrimaryKey,以逗號(hào)分割、η個(gè)目標(biāo)數(shù)據(jù)表的字段。
[0041 ] 每個(gè)源數(shù)據(jù)表的字段FieldDefine和每個(gè)目標(biāo)數(shù)據(jù)表的字段DestTable包