圖書館管理系統與一卡通接口設計
文章出處:http://hz-huyue.com 作者:陰小建,王文琳 人氣: 發表時間:2011年11月17日
校園一卡通系統借助Ic卡技術和校周網絡環境將原本獨立運行的各個教學、生活部門的計算機管理系統銜接起來,可以極大提高教學、生活管理效率,有助于增強各部門資源共享,促進師生人事信息統一,提高財務收支透明度,一卡通系統是高校數字化建設的重要環節,在推動學院信息化建設方面起到十分積極的作用。山東教育學院于2008年9月啟動校同一卡通系統建設工程。校園一卡通除了用于師生校同消費外,還在人事信息、財務結算、學生上機、醫療衛生、圖書館流通檢索等各方面發揮重要作用。一卡通系統投人使用后,方便了師生,真正實現了“手持一卡,走遍校同”的預期建設目標。
圖書館作為一卡通建設的一個重要組成部分,不但完善了一卡通系統的完整性,也對圖書館管理水平、服務質量以及未來開展的新形式讀者服務帶來積極影響。
一、圖書館管理系統與校園一卡通對接目標
我館于2006年底開始使用廣州網創公司開發的“In—terlib”圖書館集成管理系統。該套系統承擔著我館采、編、瀏覽、檢及讀者信息管理等業務環節,通過將集成管理系統與校園一卡通對接,可以提高我館管理和服務水平。
1、減少讀者持有各種卡、證的數量,提高辦卡效率,減少辦卡成本。我館的讀者卡一直以來都是自制的,不但要購買各項設備、材料,在新生人學、新教師入校時還要指派々人突擊辦理讀者證。種種兇素造成了澳者辦證時間長、成本高,流通部門工作壓力大,很難保證讀者滿意。校園一卡通南學校一忙通中心統一制作,代替讀者證和其他各類卡、證后,從根本上減少了師生辦證費用和辦證時間。
2、規范讀者數據庫信息。由于各時期辦證要求不同,辦證人員操作不規范等因素導致現有的讀者數據庫信息不統一、不完整。實現對接后,師生第一次持一卡通來館借閱時,Interlib將自動調取一卡通中心數據庫相關信息,按照對應關系完整、準確的生成注冊信息,隨后通過人工分組授予不同的借閱權限。從而避免手工錄入信息時易產生的誤差,保證讀者庫數據準確、規范。
3、提供更加智能化的管理和深層次的個性化服務。新圖書館落成后,依托一卡通建設的統一門禁系統,不但可以阻止非本院師生進入圖書館占用教學資源,還能開發出讀者流量統計分析、員T考勤等附加功能,為更加嚴格的管理和更優質的服務創造了條件。
Interlib系統具有豐富的網上自助服務,讀者激活網上圖書館后可以辦理預約、續借、薦購、收取催還通知等業務,還可以通過E—mail向咨詢部門尋求幫助。由于原先的讀者數據庫中的信息不完整、不規范,導致網上自助服務不易實現。借助與校園一膏通對接過程中對讀者數據進行全面梳理,將對未來開展更加豐富的的讀者服務打下了基礎。
4、規范收支手續,加強收支監管。一直以來,我館流通罰款、工本費均以收取現金為主,通過手工開具的收據存根和管理系統內的}己錄作為結算依據。這樣操作既存在大額款項假幣難辨,小額款項零錢難找的問題,也缺少嚴格的財務監督機制。開通一卡通后,讀者產生的所有費用均通過一卡通中心代扣、代繳,收入款項集中記錄在圖書館專用商戶賬號上,由財務處監督管理??劭蠲骷毞謩e保存在圖書館管理系統數據庫和一卡通中心交易數據庫中,隨時可以對照檢查,確保交易準確。
二、Interlib系統與一卡通對接實現過程
當讀者持一卡通來到圖書館辦理開通、借還、繳納罰款或其他費用時,需要使用讀卡器讀取卡片內保存的卡號,通過一卡通接口程序連接一卡通中心數據庫,調用對應信息中的學工號、現有金額等相關信息,反饋至Interlib系統,再進行相應的處理,并將處理結果通過一卡通接口程序反饋給一卡通中心數據庫,從而做到交易信息“雙軌制”記載。
具體流程見圖1:一卡通工作流通圖。
圖I:一卡通T作流程圈
根據操作流程,接口程序需要將Interlib與一卡通中心數據庫的數據關聯起來,需要處理初始化讀卡器動態庫與讀卡器設備,進行一卡通交易、一卡通查詢,以及下載一卡通文件等工作。下面根據設計步驟,簡要說明開發過程。
1、Interlib讀者信息數據庫與一卡通中心數據庫的關聯由于我館部分讀者信息是由老管理系統轉移過來的,因此存在數據格式不統一、讀者信息字段設置的太少,部分關鍵字段數據有缺失等問題。經調研,我們決定在清還圖書的基礎上,重建讀者信息庫。新建讀者數據庫,新注冊讀者數據全部從一卡通中心直接調用,鑒于一卡通中心的數據來自學院人事處和教務處,并增加了部分實用的字段,如照片和E—mail等,從而可以保證數據的準確性以及確保與學院其他部門一致。
Interlib與一卡通中心數據庫各自都有完整的字段設置。要將兩個數據庫關聯起來,首先需要確定數據庫連接的關鍵字段,并以此作為數據對應的依據。本系統使用一卡通中心數據庫中的學工號和Interlib中的讀者證號作為相互關聯的關鍵字段。
對應關系圖如圖2:
圖2:數據庫對應關系圖
建立對應關系后。讀者注冊時由讀卡器讀取一卡通卡號,經過~卡通接口程序將卡號發送至一卡通中心數據庫驗證,調取相應的學工號,返回給Interlib。Interlib根據返回信息檢查讀者庫中是否存在該讀者證號,如不存在則顯示提示信息。Interlib調用一卡通中心數據庫中注冊所需字段數據,根據映射關系自動生成讀者注冊信息,完成新讀者注冊。
2、數據結構設計
在與Interlib圖書館集成管理系統對接時,所以最有效的數據共享格式是MARC格式。當接口程序將一卡通中心數據庫中的數據傳送給Interlib時,一卡通接口程序把可提供的(有用的)信息通過Interlib提供的API函數組成一個MARC記錄,然后發送Interlib。Interlib接收到該MARC記錄,取出相應的字段進行處理。
因此一卡通接口程序需要為每一種類型的操作對應一個提前定義好的MARC元數據結構包,例如卡操作包,卡消費/退費包,賬戶信息包等等,為雙方的數據代碼轉換提供了橋梁。下面示例卡消費/退費包MARC記錄定義。
采用MARC作為數據傳輸格式的最大便利就是可擴展,當有新的需求時,僅僅增加或修改各項MARC定義即可。
3、第三方動態庫、讀卡器初始化
一卡通讀卡器獲取讀者信息替代了原先的條碼掃描,一卡通接口程序首先要初始化讀卡器的動態庫,驅動讀卡器。
根據讀卡器廠商給出的API函數,動態庫初始化函數
定義如下:
BOOL WINAPI TA—Init(char IP,short port,unsigned short SysCode,unsigned short TerminalNo,bool ProxyOffline,ULONG MaxJnl);
函數功能:初始化接口程序動態庫
入口參數:
IP一一卡通代理服務器IP地址。
port一一卡通代理服務器端口號。
SysCode一各單位商戶號。
TerminalNo一一卡通讀卡器代碼。
出口參數:
PmxyOffiine一一卡通代理服務器是否脫機。
MaxJnl一最大流水號。
讀卡器初始化函數定義如下:
int—stdcall TA—CRInit(char CardReaderType,int port,long Baud—Rate);
函數功能:初始化讀卡器。
入口參數:
CardReaderType一讀卡器類型,0為usb類型讀卡器,1為串口讀卡器。由于使用USB讀卡器,所以不考慮port和Baud—Rate字段的定義。
驅動成功后,Interlib就可以借助接口程序與一卡通中心通信了。由于日常工作中,讀F器一般設置為輪詢讀卡狀態,在一定的時間間隔內,不停的發出讀卡指令,快速讀取~卡通內信息。
輪詢讀卡函數定義如下:
int—stdcaU TA—FastGetCardNo(unsigned int CardNo);
函數功能:快速讀取卡片序列號,用于輪詢讀卡。
出口參數:CardNo一讀取的卡片序列號。
一卡通讀取成功后,需要短”嘀”聲,代表讀卡成功,通過發聲函數可以實現,函數定義為:
int—stdeall TA—CRBeep(unsigned int BeepMSecond);Beep—Second;
函數功能:讀卡器蜂鳴
入口參數:BeepSecond一讀每器蜂鳴的時間,單位為毫秒。
4、一卡通交易模塊設計
代扣、代繳是一卡通的主要功能之一。通過交易/退費函數實現。
調用函數定義如下:
int—stdcall TA—Consume(CardConsume pCardCons,bool lsVerfy,short TimeOut=10);
入口參數:
pCardCons一>CardNo一消費卡片的卡號。
pCardCons一>Operator一操作員代碼的操作員
代碼,填寫兩個字節的操作員代碼。
pCardCons一>TranAmt一卡片消費的交易額,必須小于0
IsVerfy一是否驗證消費限額,第一次調用時需要驗證,如果返回值是超過消費限額,則第三方程序驗證消費密碼,如果驗證通過,這個參數就可以設置為false(不驗證消費限額),如果驗證不通過,繼續驗證密碼。
pCardCons一>TranJnl一流水號。
TimeOut一交易超時時間,缺省為10秒。
出口參數:
pCardCons一>RetCode一后臺交易的返回值。
pCardCons一>BackJnl一交易的后臺流水號。
pCardCons一>Balance一卡片余額。
5、信息查詢與文件下載模塊設計當新讀者注冊時,需要調取一卡通服務器數據庫中的賬號信息。需要下載照片等文件。
賬戶信息查詢函數定義如下:
int—stdcall TA—InqAcc(AccountMsg pAccMsg。short TimeOut=10);
函數功能:根據帳號/卡號/學]:號/證件號精確查詢帳戶信息
人口參數:pAccMsg一>AccountNo一消費卡片的帳號。
pAccMsg一>CardNo一消費卡的卡號
pAccMsg一>StudentCode一學t號
pAccMsg一>IDCard一證件號碼
TimeOut一交易超時時間,缺省為10秒
出口參數:
pAceMsg一從數據庫中讀Hj的帳戶信息,包括姓名Name、性別、SexNo、部門代碼DeptCode、矗號CardNo、帳號AccountNo、學】:號StudentCode、身份證號IDCard、身份代碼PID、身份序號IDNo、余額Balance、過期時間Expire.Date、補助序號SubSeq、是否在本系統內開通IsOpenlnSys。pAccMsg一>RetCode一后臺交易的返回值。
備注:pAccMsg一>AccountNo、pAccMsg一>CardNo、pAcc—Msg一>StudentCode、pAccMsg一>IDCard這四個參數是選擇查詢條件,必須輸入一個。文件下載函數采用照片下載為示例,定義如下:
int—stdcall TA—DownPhotoFile(char{IDNo,char$PhotoFn,short Timeout=lO);
函數功能:根據身份序號下載相片文件
入口參數:
IDNo一要查詢的人的身份序號,必須是12個字節的字符串
PhotoFn一查詢成功后生成的相片文件名
TimeOut一交易超時時間,缺省為10秒
備注:下載完成的相片文件放到Photo目錄下
三、結束語
隨著數字化建設的深入,高校圖二擋館在越來越多的方面需要借助一卡通開展工作,一卡通所包含的功能也有待豐富。展望未來的校園一卡通系統,將在現有應用的基礎上進行擴展,逐步建立起一個以圖書館一一校園金融服務平臺為核心的網絡。持卡人可以根據實際應用情況使用電話銀行、手機銀行,以及遍布網{5館各個角落的自助設備享受眾多先進的服務項目。,最終實現基于Intrant和圖書服務中心的電子教學與電子商務圈,形成集中式管理、動態
核算,建立真正網絡化的工作方式。