• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      批量數(shù)據(jù)入庫在ASP中篩選重復(fù)的處理方法
      ——以湘西民族職業(yè)技術(shù)學(xué)院新生信息錄入庫為例*

      2014-09-06 08:39:07
      關(guān)鍵詞:身份證號源代碼數(shù)據(jù)表

      龔 書

      (湘西民族職業(yè)技術(shù)學(xué)院,湖南 吉首 416000)

      批量數(shù)據(jù)入庫在ASP中篩選重復(fù)的處理方法
      ——以湘西民族職業(yè)技術(shù)學(xué)院新生信息錄入庫為例*

      龔 書

      (湘西民族職業(yè)技術(shù)學(xué)院,湖南 吉首 416000)

      在建立數(shù)據(jù)庫時,重復(fù)數(shù)據(jù)的判斷對于數(shù)據(jù)庫管理至關(guān)重要,沒有準(zhǔn)確關(guān)鍵詞作為對比,重復(fù)數(shù)據(jù)的判斷將變得非常困難.傳統(tǒng)的哈稀技術(shù)、固定分塊技術(shù)、滑動塊技術(shù)、可變分塊技術(shù)和數(shù)據(jù)指紋等對重復(fù)數(shù)據(jù)進行查找與刪除時,占用了大量系統(tǒng)處理時間,且準(zhǔn)確性較低.為提高數(shù)據(jù)處理效率,提出了ASP批量數(shù)據(jù)在入庫時的查重篩選方法,實踐驗證了該方法的魯棒性與可靠性,極大地減輕了操作員對數(shù)據(jù)庫管理的繁重工作.

      清除重復(fù);數(shù)據(jù)清理;數(shù)據(jù)核對;篩選入庫;數(shù)據(jù)倉庫;數(shù)據(jù)導(dǎo)出

      網(wǎng)絡(luò)技術(shù)的高速發(fā)展和應(yīng)用,促使信息技術(shù)的革新與發(fā)展.隨著大批量信息的不斷增加,越來越多的人都在考慮如何共享資源,建立一個大的信息資源庫,“數(shù)據(jù)倉庫”[1]一詞便應(yīng)運而生.由于各種復(fù)雜原因,數(shù)據(jù)源在入庫時的標(biāo)準(zhǔn)不統(tǒng)一、錄入人員的失誤、數(shù)據(jù)屬性值的缺失、不同數(shù)據(jù)源對數(shù)據(jù)值的表示差異等,數(shù)據(jù)源數(shù)據(jù)變得繁雜而多樣,核對后發(fā)現(xiàn)其實許多都是相同或相似數(shù)據(jù)[2-4],對這樣的冗余數(shù)據(jù)必須加以處理之后方可入庫,從而保證數(shù)據(jù)庫的高效性和實用性.文中以某校新生數(shù)據(jù)入庫為例,闡述了重復(fù)ASP批量數(shù)據(jù)的入庫處理方法.

      1 數(shù)據(jù)常規(guī)導(dǎo)入方法

      新生數(shù)據(jù)采集方式通常采用網(wǎng)站B/S架構(gòu)形式,最初構(gòu)想是錄入人員分層次進行,比如學(xué)生、家長、招生人員、教師、管理員等,對每位數(shù)據(jù)采集人員進行權(quán)限等級設(shè)置,各司其職,對自己錄入數(shù)據(jù)可以反復(fù)查詢并修改,管理員可以通過后臺全面核查管理.

      正常采集是操作人員登錄網(wǎng)站后進行數(shù)據(jù)錄入,在網(wǎng)頁界面中已經(jīng)實現(xiàn)對新數(shù)據(jù)與庫存數(shù)據(jù)的查重篩選,如果發(fā)現(xiàn)疑似數(shù)據(jù),就立即提醒操作人員核查以防重復(fù)數(shù)據(jù)入庫.具體實施辦法是提取學(xué)生姓名作為“指紋”[5-6],并與庫索引進行比較,次關(guān)鍵字為身份證號碼.本應(yīng)該身份證號為首關(guān)鍵字,姓名為次關(guān)鍵字,但在實際操作過程中有近50%以上的學(xué)生報名時無法提供身份證號.原因其一是家長不夠重視身份的確認,部分家長在學(xué)生初中畢業(yè)后還未辦理戶籍登記;其二是部分學(xué)生擁有2個身份證號碼,在辦理新住戶登記時未注銷舊號碼,甚至出現(xiàn)同一人有多個身份證號碼現(xiàn)象;其三是為節(jié)省時間,登記人員省略身份證號碼登記,這樣造成學(xué)生身份確認不嚴(yán)謹(jǐn),加大了數(shù)據(jù)核查工作量.針對此類現(xiàn)象,對數(shù)據(jù)源數(shù)據(jù)進行相同或相似性篩選[2-4],篩選后將重復(fù)結(jié)果展示給錄入人員.錄入人員根據(jù)篩查情況進行相應(yīng)處理,這樣避免重復(fù)數(shù)據(jù)入庫,對于查出身份證號完全相同的情形,在提示過后堅決不允許入庫.

      該校招生結(jié)構(gòu)主要以地區(qū)招生組為主,70%以上數(shù)據(jù)均來自各招生組.招生工作的特殊性,使得很多時候無法登錄招生網(wǎng)站,無法直接進行數(shù)據(jù)采集.各招生組則采用Excel表自建完成,數(shù)據(jù)來源情況繁雜、參差不齊.為縮短數(shù)據(jù)入庫時間,提高入庫效率,對該數(shù)據(jù)源的處理方法一般采用Excel數(shù)據(jù)表導(dǎo)入形式.

      通常的導(dǎo)入數(shù)據(jù)方法為按庫結(jié)構(gòu)建立Excel數(shù)據(jù)表[7],填充數(shù)據(jù)后再導(dǎo)入數(shù)據(jù)庫.源代碼如下:

      創(chuàng)建Excel連接驅(qū)動

      set StrConnect=CreateObject("ADODB.Connection")

      StrConnect.Open "provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Excel&";Extended Properties=Excel 8.0"

      創(chuàng)建數(shù)據(jù)對象

      Set rs = Server.CreateObject("ADODB.Recordset")

      rs.Open "select * from ["&Result&"$] ",StrConnect,2,2

      set rssql=server.CreateObject("adodb.recordset")

      rssql.Open "select * from "&Result&"",conn,1,3

      數(shù)據(jù)入庫

      rssql.Open "select * from "&Result&"",conn,1,3

      rssql.AddNew

      For i = 0 to rs.fields.count-1

      if rs(i)<>"" then

      rssql(i+1) = rs(i)

      end if

      next

      rssql.Update

      2 問題分析

      以上代碼導(dǎo)入全表數(shù)據(jù)成功無誤,若遇到數(shù)據(jù)重復(fù),最常用的方法是根據(jù)身份證號碼作為關(guān)鍵字對比排查重復(fù),但實際情況有時會碰到數(shù)據(jù)缺失問題(數(shù)據(jù)屬性值欠缺),如身份證號碼不全或無身份證號碼.據(jù)統(tǒng)計,每年這種情況占50%之多,因此只能根據(jù)姓名及其他屬性信息進行排查(通常采用角度相似性測度匹配算法[7]).具體設(shè)計方案如下:

      (1)將判斷重復(fù)首要關(guān)鍵字改為“姓名”,次關(guān)鍵字為“身份證號碼”,其他屬性值一一匹配排查.其具體源代碼如下:

      if rs("IDcard")<>"" then ‘如果身份證號字段不為空,查重按姓名和身份證號對比

      rssql.Open "select * from "&Result&" where RegName='" & rs("RegName") & "' or IDcard='" & rs("IDcard") & "'",conn,1,3

      else ‘如果身份證號字段為空,查重只按姓名對比

      rssql.Open "select * from "&Result&" where RegName='" & rs("RegName") & "'",conn,1,3

      end if

      在導(dǎo)入數(shù)據(jù)時,最先導(dǎo)入的數(shù)據(jù)可以作為特征詞[1],后續(xù)導(dǎo)入的數(shù)據(jù)與特征詞進行相似性比較,這樣可以保障新建庫時首次導(dǎo)入也能消除重復(fù)數(shù)據(jù).

      (2)羅列出成功導(dǎo)入信息及失敗導(dǎo)入信息.其具體源代碼如下:

      If rssql.eof or request.form("InsertID")<>"" Then '判斷不重復(fù)數(shù)據(jù)或強行導(dǎo)入重復(fù)數(shù)據(jù)

      rssql.AddNew

      寫入數(shù)據(jù)時,如果“ID”編號為自動,就不要在xls表中加入“ID字段”.導(dǎo)入提交數(shù)據(jù)前先刪除所有記錄,并重置序號,否則導(dǎo)入失敗.篩選重復(fù)后數(shù)據(jù)源導(dǎo)入數(shù)據(jù)庫的代碼如下:

      For i = 0 to rs.fields.count-1

      if rs(i)<>"" then

      rssql(i+1) = rs(i)

      end if

      next

      rssql.Update

      TureCount=TureCount+1

      response.write "

      "

      Response.Write "
      "

      txtFile.WriteLine "


      "

      Else '判斷重復(fù)數(shù)據(jù)后列出

      response.write "


      "

      FalseInto=FalseInto &"" '失敗記錄號累計

      response.write "


      "

      Response.Write "
      "

      txtFile.WriteLine ""&year(date())&"年"&month(date())&"月"&day(date())&"日 "&time()&" 導(dǎo)入數(shù)據(jù)




      "

      導(dǎo)入數(shù)據(jù)后若出現(xiàn)失敗提示(見圖1),則首先確定是否重復(fù),如果確定數(shù)據(jù)沒有重復(fù),那么勾選“確定導(dǎo)入”,如果確定數(shù)據(jù)重復(fù)可不予處理.若需要對庫數(shù)據(jù)加以補充則可勾選“修改”,參照導(dǎo)入數(shù)據(jù)對庫數(shù)據(jù)進行完善.

      圖1 導(dǎo)入數(shù)據(jù)后的提示界面

      (3)數(shù)據(jù)處理過程.其源代碼如下:

      response.Write "

      "

      response.Write ""

      其處理辦法是客戶端提交需要導(dǎo)入的記錄,使用多選框勾選提交,服務(wù)器再進行2次導(dǎo)入,如果遇到記錄數(shù)過多時就記下失敗記錄號進行索引以備后查.其代碼如下:

      FalseInto=FalseInto &"" '失敗記錄號累計

      Response.Write "

      失敗導(dǎo)入記錄號:
      Excel公式:=LEFT(B1,LEN(B1)-1)

      "

      失敗記錄號可以進行頁內(nèi)鏈接跳轉(zhuǎn),點擊表中學(xué)生姓名,可以直接跳轉(zhuǎn)至該生信息所在位置,解決頁面信息過長等漏查現(xiàn)象,失敗記錄號可以從頁面中復(fù)制到Excel表中進行導(dǎo)入篩查.

      身份證號碼有誤時,可以進行其他字段的自動對比判斷重復(fù),無需人工干預(yù)直接得出重復(fù)結(jié)論.但數(shù)據(jù)來源復(fù)雜會存在以下問題:(1)錯字現(xiàn)象,同音不同字,如“侯源”和“候沅”;(2)報錯的現(xiàn)象,如“張三”和“張小三”;(3)數(shù)據(jù)交錯現(xiàn)象,如A數(shù)據(jù)串到B.諸如此類人為錯誤過多,無法統(tǒng)計或估計,所以只能根據(jù)算法得出的相似度來判斷其是否重復(fù),這樣阻礙了一次性重復(fù)判斷的可能性.導(dǎo)入全過程使用日志記錄以備核查,從而進行2次導(dǎo)入確認數(shù)據(jù)的有效性,導(dǎo)入同時還可以進行數(shù)據(jù)合并操作.

      3 數(shù)據(jù)導(dǎo)出

      導(dǎo)出數(shù)據(jù)庫數(shù)據(jù)生成Excel數(shù)據(jù)表的源代碼如下[7]:

      ·創(chuàng)建文件對象

      Set fs = server.CreateObject("scripting.filesystemobject")

      filename = Server.MapPath("users.xls")

      ·創(chuàng)建EXCEL文件

      set myfile = fs.CreateTextFile(filename,true)

      ·創(chuàng)建數(shù)據(jù)庫對象

      strSql = "select * from "&mAction&""

      ·導(dǎo)出數(shù)據(jù)

      Set rstData =conn.execute(strSql)

      if not rstData.EOF and not rstData.BOF then

      dim trLine,responsestr

      strLine=""

      For each x in rstData.fields

      strLine = strLine & x.name & chr(9)

      Next

      myfile.writeline strLine '

      Do while Not rstData.EOF

      strLine=""

      for each x in rstData.Fields

      strLine = strLine & x.value & chr(9)

      next

      myfile.writeline strLine

      rstData.MoveNext

      loop

      end if

      rstData.Close

      set rstData = nothing

      Conn.Close

      將全庫數(shù)據(jù)原樣導(dǎo)出成Excel數(shù)據(jù)表,其數(shù)據(jù)類型會發(fā)生改變,如身份證號碼的數(shù)據(jù)類型由字符型“433101199012035431”變成數(shù)值型“4433101199012035000”.解決辦法是將導(dǎo)出數(shù)據(jù)進行類型處理,程序段“strLine = strLine & x.value & chr(9)”改成“strline= strline & "="""&x.value &""""& chr(9)”,在導(dǎo)出的Excel數(shù)據(jù)表中將全部數(shù)據(jù)復(fù)制,選擇性粘貼時選擇“數(shù)值”,即可得到無損數(shù)據(jù).

      4 結(jié)語

      在全人工處理過程中,通常將多方數(shù)據(jù)源進行合并,由于采集數(shù)據(jù)人員的習(xí)慣及環(huán)境因素的限制等因素,造成了數(shù)據(jù)值不準(zhǔn)確或缺失,給數(shù)據(jù)后期合并處理帶來了極大的困難.傳統(tǒng)方法是利用Excel高級篩選、Excel函數(shù)“=countif(A:A,A1) ”或Excel2007及以上版本對數(shù)據(jù)進行重復(fù)值的查詢及刪除,但這種做法耗時耗力.采用文中方法導(dǎo)入查重程序進行合并數(shù)據(jù)后,大大縮短合并時間,讓操作人員從繁重的數(shù)據(jù)管理工作中得以解脫.該方法已成功實現(xiàn)大批量數(shù)據(jù)的入庫及核查重復(fù)工作,效率比人工處理提高了85%以上.

      [1] 趙 群.消除重復(fù)值數(shù)據(jù)清理方法的研究[J].福建電腦,2006(4):51-52.

      [2] 敖 莉,舒繼武,李明強.重復(fù)數(shù)據(jù)刪除技術(shù)[J].軟件學(xué)報,2010,21(5):916-929.

      [3] 程菊生.重復(fù)數(shù)據(jù)刪除技術(shù)的研究[J].華賽科技,2008(4):8-11.

      [4] 顏 軍.重復(fù)數(shù)據(jù)刪除帶來集群架構(gòu)革命[J].計算機世界,2008(24):40-41.

      [5] 廖海生,趙躍龍.基于MD5算法的重復(fù)數(shù)據(jù)刪除技術(shù)的研究與改進[J].計算機測量與控制,2010,18(3):635-638.

      [6] BOBBARJUNG D R,JAGANNATHAN S,DUBNICKI C.Improving Duplicate Elimi-nation in Storage Systems[J].ACM Trans.On Storage,2006,2(4):424-448.

      [7] 王 斌,吳 磊.中文版Excel2003實用教程[M].北京:清華大學(xué)出版社,2007.

      (責(zé)任編輯 陳炳權(quán))

      MethodsofDuplicationScreeningforASPMassDataStorage: A Case Study of Enrollment Information Storage in Xiangxi Vocational and Technical College for Nationalities

      GONG Shu

      (XiangXi Vocational and Technical College For Nationalities,Jishou 416000,Hunan China)

      When a database is established,judgment on data duplication is crucial for its administration,which will be difficult without accurate keywords for reference.The commonly used methods-Hash technology,fixed-sized partition detection technology,sliding block technology,content-defined chunking detection technology,and fingerprint data exploitation,require a large amount of processing time for the detection and removal of duplication.This paper describes the ASP mass data storage method and duplication screening method,and verifies the robustness and validity of these methods.It is shown that the heavy workload of database management for operators can be greatly reduced.

      duplication removal;data cleaning;data check;screening and storage;data warehouse;data export

      1007-2985(2014)06-0038-04

      2014-10-29

      龔 書(1979—),男,湖南鳳凰人,湘西民族職業(yè)技術(shù)學(xué)院講師,主要從事計算機應(yīng)用研究.

      TP309

      A

      10.3969/j.issn.1007-2985.2014.06.010

      猜你喜歡
      身份證號源代碼數(shù)據(jù)表
      人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
      計算機仿真(2023年8期)2023-09-20 11:23:42
      基于TXL的源代碼插樁技術(shù)研究
      湖北省新冠肺炎疫情數(shù)據(jù)表
      黨員生活(2020年2期)2020-04-17 09:56:30
      老師情
      作品賞析(3)
      基于列控工程數(shù)據(jù)表建立線路拓撲關(guān)系的研究
      軟件源代碼非公知性司法鑒定方法探析
      揭秘龍湖產(chǎn)品“源代碼”
      圖表
      《網(wǎng)印工業(yè)》關(guān)于作者投稿同時提供身份證號的通知
      刚察县| 贞丰县| 海宁市| 六安市| 陕西省| 招远市| 哈密市| 都昌县| 雷山县| 绥芬河市| 松潘县| 西盟| 阳高县| 乌兰县| 宣武区| 淄博市| 滦南县| 土默特左旗| 旺苍县| 大名县| 都昌县| 华池县| 乐都县| 高安市| 荆州市| 平凉市| 阜新| 藁城市| 孟村| 琼海市| 仙桃市| 肥西县| 东丰县| 玉林市| 株洲市| 青州市| 云阳县| 南召县| 凌海市| 阳原县| 筠连县|