TWI594141B - Electronic file to determine the extent of change and its computer program products - Google Patents
Electronic file to determine the extent of change and its computer program products Download PDFInfo
- Publication number
- TWI594141B TWI594141B TW105106630A TW105106630A TWI594141B TW I594141 B TWI594141 B TW I594141B TW 105106630 A TW105106630 A TW 105106630A TW 105106630 A TW105106630 A TW 105106630A TW I594141 B TWI594141 B TW I594141B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- file
- electronic file
- modification
- cut
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本發明係一種電子檔案修改程度判別方法,尤指一種透過內容觸發分段湊函數進行處理之判別方法。
為檢查電子檔案之修改程度,習知比對方案係將二個待比對之電子檔案透過簽章技術分割成多個子區塊,並逐一比對各個電子檔案內的子區塊來判斷二檔案間的修改程度。
前述之比對方案之比對速度以及比對精準度取決於切割子區塊之大小以及數量,當子區塊的切割尺寸較小時,會造成子區塊的數量大幅度的增加,而嚴重的影響比對速度;反之,當子區塊的切割尺寸過大時則會影響檔案比對之精準度。由於現有的電子檔案比對方案在區塊之規劃上具有前述之技術問題,使得此方案無法同時兼顧比對速度以及比對精準度之要求。
綜上所述,如何提供一種可改良現有檔案比對正確性之方案乃本領域亟需解決之技術問題。
為解決前揭之問題,本發明之目的係提供一種透過內容觸發分段湊函數進行處理,以比對檔案修改程度之技術方案。
為達上述目的,本發明提出一種電子檔案修改程度判別方
法,方法應用於電子裝置並包含下列步驟:首先,存取資料庫檔案,前述之資料庫檔案係經由內容觸發分段湊函數切割成複數個第一區塊,第一區塊間係相互合併以形成複數階層之階層式資料結構。接著,將輸入檔案經由內容觸發分段湊函數切割成複數個第二區塊,以對第一區塊與第二區塊進行比對,並將不相似於第一區塊之第二區塊遞迴的進行切割以及與第一區塊進比對。接著,將第一區塊以及第二區塊分別形成第一映射雜湊表以及第二映射雜湊表。最後,經由內容觸發分段湊函數之觸發字串比對第一雜湊表以及第二雜湊表,以提供檔案修改判斷結果。
綜上所述,本發明之電子檔案修改程度判別方法及其電腦程式產品將待比對之檔案與階層式資料結構進行比對,並將比對不相似之區塊進行遞迴分割再行比對,相較於習知比檔案比對方案,本發明可有效的提昇比對之正確性。
S101~S104‧‧‧步驟
S200~S224‧‧‧步驟
F1~F5‧‧‧方框
B1‧‧‧第一區塊
B2‧‧‧第二區塊
圖1為本發明一實施例之電子檔案修改程度判別方法之流程圖。
圖2為本發明之資料庫檔案之資料結構示意圖。
圖3為本發明之輸入檔案之資料結構示意圖。
圖4~5為本發明之檔案比對示意圖。
圖6~7為本發明電子檔案修改程度判別方法之細部流程圖。
圖8~9為本發明之電子檔案修改程度判別方法之處理結果示意圖。
以下將描述具體之實施例以說明本發明之實施態樣,惟其並
非用以限制本發明所欲保護之範疇。
請參閱圖1,其為本發明一實施例之電子檔案修改程度判別方法之流程圖。該方法應用於電子裝置,並包含下列步驟:
S101:存取一資料庫檔案。前述之資料庫檔案係經由內容觸發分段湊函數切割成複數個第一區塊B1(圖2),而各個第一區塊B1間係相互合併以形成複數階層之階層式資料結構;
S102:將輸入檔案經由內容觸發分段湊函數切割成複數個第二區塊B2(圖3),以對第一區塊B1與第二區塊B2進行比對,並將不相似於第一區塊B1之第二區塊B2遞迴的進行切割以及與第一區塊B1進比對。
S103:將第一區塊B1以及第二區塊B2分別形成第一映射雜湊表以及第二映射雜湊表。
S104:經由內容觸發分段湊函數之觸發字串比對第一雜湊表以及第二雜湊表,以提供檔案修改判斷結果。
前述之電子裝置包含電腦、智慧型手機等具運算功能之裝置。前述之第一映雜湊表以及第二雜湊表係以新式內容觸發分段湊函數(New Context Trigger Piecewise Hash,簡稱:NCTPH)之觸發字串為索引值,並以內容觸發分段湊函數之雜湊值為索引內容。
前述之檔案修改判斷結果係選擇的包含插入修改、刪除修改、或重新排列修改。前述之觸發字串係選自於切割後區塊內之部分內容,於另一實施例中,觸發字串係選自於切割後區塊內之末端至少一個字元。
前述之第一區塊B1係由資料庫檔案切割而成之最小區塊。第一區塊B1係兩兩區塊合併,以形成另一階層。階層式資料結構之各階層
係分別持有特定之簽章以及觸發字串。初次切割之第二區塊B2係由輸入檔案切割而成之最大區塊。
本發明於另一實施例中更提供一種用於判別電子檔案修改程度之電腦程式產品,當電腦裝置載入並執行電腦程式產品,可完成前述方法之步驟。
為進一步說明前述之技術特徵,本案以下列之實施例說明之:
符號定義
1.簽章(Signature,S)
2.觸發字串(Trigger,T)
3.內容觸發分段雜湊函數CTPH(b,w):該函數以b為觸發值(trigger value);w為窗框尺寸(window size),並以w做為CTPH分割之基礎。
(1)觸發值(trigger value):或稱為segment size,即為檔案切割後每個區塊的平均大小。
(2)窗框尺寸(window size):觸發字串(trigger)的長度。
以下列之區塊為例,接著該方法將分割後的區塊進行雜湊,取各區塊雜湊值的最後一個字元(d,h,l,p,t,x)連接而成簽章S=dhlptx。
觸發字串為CTPH進行檔案切割時的切割點,即為每個區塊的最末端幾個字元。以下區塊內之值為未經過雜湊的結果,並以w=2為例進行切割。
前述之階層式結構用於建立資料庫在資料庫裡的檔案先進行CTPH的切割,切割成預設好的最小區塊(第一區塊B1),再兩兩區塊合併,形成階層式的架構,每層都有自己的簽章以及trigger。請參閱圖2,該圖為階層數=3之資料庫檔案之資料結構示意圖。
前述之遞迴式資料結構則是透過遞迴式切割(recursive slice)來切割輸入的檔案。請參閱圖3之說明,該圖為輸入檔案之資料結構示意圖,將輸入的檔案進行CTPH的切割成預設的最大區塊(第二區塊B2),當第二區塊B2與資料庫檔案之第一區塊B1比較時,在發現兩區塊不相似時會對不相似之第二區塊B2切割成更小的區塊後再進行比較,若比較的結果判定為相似,則將未做細部切割時的第一區塊B1以及第二區塊B2視為相同區塊。
本案之電子檔案修改程度判別方法在判斷兩檔案相似與否時,會同時分析以及檔案遭受修改的方式,可偵測的修改方式為:「插入」、「刪除」、「重新排列」以上三種基本修改類型。此外,亦可做多重回報,例如:「插入、刪除」與「插入、重新排列」與「刪除、重新排列」與「插入、刪除、重新排列」等類型。
請接著參閱圖3,前述之映射雜湊表(mapping hash table)係將兩檔案切割好的區塊分別以表格的方式儲存起來,儲存方式是以觸發字串(Trigger)為索引,將切好的區塊以及其雜湊值做為索引內容,觸發字串(Trigger)會先經過雜湊後再進行儲存,在進行比對時不具順序性,以索引的
方式進行比較兩檔案,故檔案經過重新排列組合時亦可檢測出來。
請參閱圖4為之說明,相較於習知技術只比較兩檔案的簽章(signature),使得檢查模式會被順序性所限制;本案在比對上加入觸發字串(trigger)的比對,除了可以打破順序性的限制外,亦可做到細部切割比對(圖中符號之上標為簽章S,下標為觸發字串T)。
請參閱圖5,習知之技術僅會比較第一層的簽章,即為JL與QP,因此判斷精確度不佳。本案之所採用的比對方式在比較完第一層的簽章,會再對其觸發字串(trigger)做比對,於此實施例中觸發字串(trigger)為相同,因此判定有可能會是相似的區塊,由於檔案中有部分遭受修改,因此在往下層比較之後(依舊會先比較簽章,之後再比較trigger),可發現具有相同的區塊,並可判斷兩檔案具有極高的相似程度。
請接著參閱圖6~圖7,其為本發明電子檔案修改程度判別方法之細部流程圖。其說明如下:
開始:
S200:存取候選檔案,並藉由內容觸發分段湊函數CTPH(b=k,w)進行處理。
S201:產生簽章S以及觸發訊字串T並存成映射雜湊表,以及觸發S221之運行。
S202:比較簽章S以及計算相似度分數。
S203:判斷分數值,若高於門檻值則執行S213;若低於門檻值則執行S204。
S204:將相同具觸發字串T之區塊標記成灰色(gray)區塊。
S205:判斷灰色區塊是否少於個別總區塊的1/4?若是,則執行S224;若否,則以b=k/2進行,並執行S206。
S206:對候選檔案之灰色區塊進行遞迴式切割。
S207:判斷切割後的灰色區塊是否相似?若是,則執行S208;若否,則以b=k/4進行(只執行一次),並執行S206。
S208:將灰色區塊改標記成黑色區塊,並將其雜湊值設為相等。
S209:檔案修改回報:
(1)目標檔案的未標記區塊為遭受刪除區塊。
(2)候選檔案的未標記區塊為遭受插入之區塊。
(3)兩檔案被標記成灰色之區塊為遭受修改之區塊。
S210:檢查標記成黑色區塊之順序,若順序相同則執行S211;若順序不同則執行S212。
S211:完成檔案修改回報。
S212:檔案修改回報:判斷檔案遭受重新排列。
S213:對所有選擇檔案比較其(1)S相似分數;(2)黑色區塊比例;(3)灰色區塊比例後,選出最相似者。
S221:選取複數個簽章S最為相似的檔案。
S222:提取目標檔案。
S223:存成映射雜湊表。
S224:檔案不相似,與下一個檔案比較;接著執行S222。
結束。
若資料庫中存7個完全不同的檔案,代號分別為檔案A、檔案B、檔案C、檔案D、檔案E、檔案F以及檔案G。目前欲比較的檔案有7組,
並全是從E所修改而成,代號分別為E1,E2,E3,E4,E5,E6,E7。各代號之修改類型如下:
E1:插入
E2:刪除
E3:重排
E4:插入、刪除
E5:插入、重排
E6:刪除、重排
E7:插入、刪除、重排
習知的技術只進行簽章(signature)的比對,因此在比對後得到如表1之相似分數表時,如果將列E移除,在判定上如果預設56分以上即為相似,則會判定檔案A與E1相似而導致誤判。
本發明之電子檔案修改程度判別方法經由NCTPH後之判定結果如表2所示。若將檔案E從資料庫移除,輸出會陳述最相似檔案為分數(沿用上表)最高者,但是最終的判定會顯示「相似的區塊太少,兩檔案不相似」之結果,因此本發明能夠有效的判斷兩檔案是否相似。
請參閱圖8及圖9,其為本發明之電子檔案修改程度判別方法之處理結果示意圖。於圖8中,AlfalfaMosaVirusRNA1為資料庫檔案A(方框F2),而novelCase3DeRe為檔案E6(方框F1),該圖為將檔案E從資料庫移除的輸出結果,判定結果為不相似,即便檔案E6與資料庫中的檔案A最為相似。
於圖9中,將檔案E(novelCase3;方框3)放回資料庫後,重新判別的結果,方框F4係說明檔案可能遭受修改方式,方框F5則是檔案遭受修改方式之結論,檔案E6遭受修改的方式為刪除與重排。
上列詳細說明係針對本發明之一可行實施例之具體說明,惟該實施例並非用以限制本發明之專利範圍,凡未脫離本發明技藝精神所為之等效實施或變更,均應包含於本案之專利範圍中。
S101~S104‧‧‧步驟
Claims (10)
- 一種電子檔案修改程度判別方法,應用於電子裝置,包含下列步驟:存取一資料庫檔案,其中該資料庫檔案係經由內容觸發分段湊函數切割成複數個第一區塊,該等第一區塊間係相互合併以形成複數階層之階層式資料結構;將輸入檔案經由該內容觸發分段湊函數切割成複數個第二區塊,以對該第一區塊與該第二區塊進行比對,並將不相似於該第一區塊之該第二區塊遞迴的進行切割以及與該第一區塊進比對;以及將該等第一區塊以及該等第二區塊分別形成第一映射雜湊表以及第二映射雜湊表;以及經由該內容觸發分段湊函數之觸發字串比對該第一雜湊表以及該第二雜湊表,以提供檔案修改判斷結果。
- 如請求項1所述之電子檔案修改程度判別方法,其中該第一映雜湊表以及該第二雜湊表係以該內容觸發分段湊函數之該觸發字串為索引值,以該內容觸發分段湊函數之雜湊值為索引內容。
- 如請求項1所述之電子檔案修改程度判別方法,其中該檔案修改判斷結果係選擇的包含插入修改、刪除修改、或重新排列修改。
- 如請求項1所述之電子檔案修改程度判別方法,其中該觸發字串係選自於切割後區塊內之部分內容。
- 如請求項1所述之電子檔案修改程度判別方法,其中該觸發字串係選自於切割後區塊內之末端至少一個字元。
- 如請求項1所述之電子檔案修改程度判別方法,其中該等第一區塊係由該 該資料庫檔案切割而成之最小區塊。
- 如請求項6所述之電子檔案修改程度判別方法,其中該等第一區塊係兩兩區塊合併,以形成另一階層。
- 如請求項1所述之電子檔案修改程度判別方法,其中該階層式資料結構之各該階層係分別持有特定之簽章以及該觸發字串。
- 如請求項1所述之電子檔案修改程度判別方法,其中初次切割之該等第二區塊係由該輸入檔案切割而成之最大區塊。
- 一種用於判別電子檔案修改程度之電腦程式產品,當電腦裝置載入並執行該電腦程式產品,可完成如請求項1至9任一項所述之方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105106630A TWI594141B (zh) | 2016-03-04 | 2016-03-04 | Electronic file to determine the extent of change and its computer program products |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105106630A TWI594141B (zh) | 2016-03-04 | 2016-03-04 | Electronic file to determine the extent of change and its computer program products |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI594141B true TWI594141B (zh) | 2017-08-01 |
TW201732652A TW201732652A (zh) | 2017-09-16 |
Family
ID=60189052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105106630A TWI594141B (zh) | 2016-03-04 | 2016-03-04 | Electronic file to determine the extent of change and its computer program products |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI594141B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6539373B1 (en) * | 1997-03-07 | 2003-03-25 | Apple Computer, Inc. | Contextual searching by determining intersections of search results |
US6862602B2 (en) * | 1997-03-07 | 2005-03-01 | Apple Computer, Inc. | System and method for rapidly identifying the existence and location of an item in a file |
TWI234092B (en) * | 2003-11-26 | 2005-06-11 | Fineart Technology Co Ltd | A control method for comparing files |
US7206793B2 (en) * | 2002-05-22 | 2007-04-17 | Sbc Properties L.P. | Generalized file matching method and system |
TW201216095A (en) * | 2010-10-05 | 2012-04-16 | Digital Internet Commerce Net Ltd | A method for matching data, charging, protection, and to be paid by user by tracking mechanism of electronic file |
TW201437840A (zh) * | 2013-03-22 | 2014-10-01 | Gamania Digital Entertainment Co Ltd | 透過檔案比對進行驗證之方法 |
-
2016
- 2016-03-04 TW TW105106630A patent/TWI594141B/zh not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6539373B1 (en) * | 1997-03-07 | 2003-03-25 | Apple Computer, Inc. | Contextual searching by determining intersections of search results |
US6862602B2 (en) * | 1997-03-07 | 2005-03-01 | Apple Computer, Inc. | System and method for rapidly identifying the existence and location of an item in a file |
US7206793B2 (en) * | 2002-05-22 | 2007-04-17 | Sbc Properties L.P. | Generalized file matching method and system |
TWI234092B (en) * | 2003-11-26 | 2005-06-11 | Fineart Technology Co Ltd | A control method for comparing files |
TW201216095A (en) * | 2010-10-05 | 2012-04-16 | Digital Internet Commerce Net Ltd | A method for matching data, charging, protection, and to be paid by user by tracking mechanism of electronic file |
TW201437840A (zh) * | 2013-03-22 | 2014-10-01 | Gamania Digital Entertainment Co Ltd | 透過檔案比對進行驗證之方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201732652A (zh) | 2017-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10346257B2 (en) | Method and device for deduplicating web page | |
CN109241274B (zh) | 文本聚类方法及装置 | |
Pal et al. | Detecting file fragmentation point using sequential hypothesis testing | |
CN106294350B (zh) | 一种文本聚合方法及装置 | |
KR102345498B1 (ko) | 라인 분할 방법 | |
CN105912514B (zh) | 基于指纹特征的文本复制检测系统及方法 | |
CN105630765A (zh) | 地名地址识别方法 | |
CN105589894B (zh) | 文档索引建立方法和装置、文档检索方法和装置 | |
CN107506618B (zh) | 高通量测序序列的存储方法和查询方法 | |
CN107871002B (zh) | 一种基于指纹融合的跨语言剽窃检测方法 | |
CN108170806B (zh) | 敏感词检测过滤方法、装置和计算机设备 | |
CN104636319A (zh) | 一种文本去重方法和装置 | |
CN104050299A (zh) | 一种论文查重的方法 | |
JP2019512127A (ja) | 文字列距離計算方法及び装置 | |
CN107229839B (zh) | 一种基于新一代测序数据的Indel检测方法 | |
CN111737966B (zh) | 文档重复度检测方法、装置、设备和可读存储介质 | |
CN110929510A (zh) | 一种基于字典树的中文未登录词识别方法 | |
CN112364625A (zh) | 文本筛选方法、装置、设备及存储介质 | |
CN108388556B (zh) | 同类实体的挖掘方法及系统 | |
CN114266251A (zh) | 恶意域名检测方法、装置、电子设备及存储介质 | |
WO2020168614A1 (zh) | 移动恶意软件大数据的快速智能比对和安全检测方法 | |
KR101358793B1 (ko) | 인덱스 파일 생성방법, 사전 인덱스 파일을 이용한 데이터 검색 방법 및 데이터 관리 시스템, 기록매체 | |
TWI594141B (zh) | Electronic file to determine the extent of change and its computer program products | |
CN110874526A (zh) | 一种文件相似性检测方法、装置、电子设备及存储介质 | |
CN106933818A (zh) | 一种快速的多关键字文本匹配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |