蘇崢嶸
摘 要: 殘疾人作為社會的一個特殊群體,對其如何管理、服務(wù)歷來為政府所重視。傳統(tǒng)的管理模式在數(shù)字化席卷全球的今天,日益顯現(xiàn)出低效、粗糙的缺點?;诨ヂ?lián)網(wǎng)和開放式數(shù)據(jù)平臺技術(shù)的新一代管理平臺日益迫切。以虛擬卡為核心的新一代殘疾人智能管理系統(tǒng)是以移動互聯(lián)網(wǎng)為基礎(chǔ),借助于二維碼、數(shù)據(jù)庫技術(shù),實現(xiàn)對殘疾人進行身份識別、信息收集管理、行為軌跡分析、建立群體社區(qū)等動作,有利于行政管理部門對這一特定群體精準幫扶,為其充分享受社會福利,實現(xiàn)殘疾人的“平等、參與、共享”權(quán)力,提供技術(shù)支持。
關(guān)鍵詞: 開放式數(shù)據(jù)平臺;虛擬卡;二維碼
1 目前的狀態(tài)
隨著信息技術(shù)的不斷發(fā)展,也給殘疾人事業(yè)信息化建設(shè)帶來了新的機遇和挑戰(zhàn)。作為公民,殘疾人在政治、經(jīng)濟、文化和社會生活的各方面,應(yīng)該享有與其他公民一樣的平等的權(quán)利。國家“十一五”規(guī)劃明確指出積極發(fā)展殘疾人事業(yè)是整個社會和諧發(fā)展的一項重要事務(wù)?,F(xiàn)代信息技術(shù)應(yīng)用于廣大殘疾人生活的地方——基層社區(qū),將是殘疾人服務(wù)管理工作信息化建設(shè)重中之重。利用信息手段開拓為殘疾人服務(wù)的渠道,解決他們生活、學(xué)習(xí)、就業(yè)、維權(quán)、脫貧等多方面的困難,推進殘疾人事業(yè)信息化建設(shè)向更高層次發(fā)展,應(yīng)是政府和社會高度重視、亟待解決的重大問題,建設(shè)一個高效、準確的殘疾人服務(wù)管理系統(tǒng)已成為當(dāng)前的迫切需要。
目前通過殘疾證、IC卡等手段對殘疾人進行管理和服務(wù),明顯效率低下,可靠程度不高,應(yīng)用場景受限。隨著基于互聯(lián)網(wǎng)和開放式數(shù)據(jù)平臺技術(shù)的新一代管理技術(shù)日趨成熟,以提高整體工作水平和工作效率為目的,加快殘疾人辦公服務(wù)和管理信息化,已是大勢所趨。借助于移動終端、二維碼、數(shù)據(jù)庫技術(shù),實現(xiàn)對殘疾人進行身份識別、信息收集管理、行為軌跡分析、建立群體社區(qū)、監(jiān)督投訴等操作,有利于行政管理部門對這一特殊群體精準幫扶,使其充分享受社會福利,實現(xiàn)殘疾人“平等、參與、共享”的權(quán)力。
2 基于開放式數(shù)據(jù)平臺實現(xiàn)對殘疾人管理服務(wù)的解決方案
隨著移動互聯(lián)網(wǎng)的普及和服務(wù)應(yīng)用的深化,利用開放式數(shù)據(jù)平臺實現(xiàn)對殘疾人管理服務(wù)成為可能。開放式數(shù)據(jù)平臺是為了滿足各級組織、機構(gòu)、企業(yè)對于數(shù)據(jù)的需要而產(chǎn)生的。其海量數(shù)據(jù)存儲、不間斷數(shù)據(jù)流實時計算等特點,為應(yīng)用場景的順利實施提供了基本保證。本例中使用了中殘聯(lián)殘疾人信息庫,也就是殘聯(lián)為殘疾人提供“量體裁衣”式個性化服務(wù)的量服系統(tǒng)和百度地圖。
正是有了這些開放式數(shù)據(jù)平臺,利用手機客戶端應(yīng)用程序,使得在殘疾人服務(wù)管理領(lǐng)域,完全替代原來的殘疾證(卡)服務(wù)模式,實現(xiàn)基于互聯(lián)網(wǎng)開放式數(shù)據(jù)平臺的新模式——虛擬卡模式成為可能。該模式使用二維條碼/二維碼(dimensional barcode)技術(shù),在身份認證、數(shù)據(jù)管理等環(huán)節(jié),提高了可靠性,便利性,同時也保護了使用者的隱私。
虛擬卡(Virtual Card):相對于殘疾人管理所使用的第一代卡(紙媒卡)和第二代卡(IC卡),第三代卡虛擬卡借助于計算機網(wǎng)絡(luò)技術(shù)、數(shù)字媒體技術(shù)、數(shù)據(jù)庫技術(shù)等手段,利用個人移動終端(手機),實現(xiàn)在線身份認證、信息管理、投訴監(jiān)督等操作,而且本方案立足于個體,建立管理機構(gòu)與個體、個體與個體間的密切聯(lián)系,通過網(wǎng)絡(luò)實時管理用戶,實現(xiàn)為殘疾人提供更優(yōu)質(zhì)的服務(wù)。
二維條碼/二維碼(dimensional barcode)技術(shù),是使用若干個與二進制相對應(yīng)的幾何形體來表示文字、數(shù)值信息,通過圖象輸入設(shè)備或光電掃描設(shè)備自動識讀,實現(xiàn)信息處理。一個二維碼由多行組成,一般有3-90行,每一行有一個起始部分、數(shù)據(jù)部分、終止部分,是一個多行、連續(xù)性、可變長、包含大量數(shù)據(jù)的符號標識。常用的碼制有:Data Matrix,Maxi Code,Aztec,QR Code,Vericode,PDF417,Ultracode,Code 49,Code 16K等。其字符集包括所有128個字符,最大數(shù)據(jù)含量是1850個字符。不需要連接一個數(shù)據(jù)庫,本身可存儲大量數(shù)據(jù),主要應(yīng)用于:物料管理、身份認證等需要快速查詢的環(huán)境。現(xiàn)有的移動終端(如手機、平板電腦等),均能快速掃描識別,現(xiàn)已大量使用在識別、支付等環(huán)節(jié)。
2.1 虛擬卡模式的設(shè)計思路
系統(tǒng)實現(xiàn)殘疾人基本信息及虛擬卡信息管理、錄入、查詢,自動生成殘疾證虛擬卡信息簽發(fā)及注銷等,方便殘疾人進行殘疾證遷移工作或在非戶籍地享受政策工作,統(tǒng)計殘疾人信息生成多維度報表,滿足管理上對于殘疾人信息統(tǒng)計分類的要求。殘疾人通過移動客戶端對虛擬卡注冊申領(lǐng)后,系統(tǒng)后臺對殘疾人狀態(tài)變更進行動態(tài)管理,如提供行為軌跡、消費偏好、活動區(qū)域、服務(wù)喜好等信息,進而為殘疾人提供更優(yōu)質(zhì)的服務(wù)。另外,就業(yè)培訓(xùn)工作也是當(dāng)前殘疾人管理服務(wù)工作中的一個重點,管理好殘疾人就業(yè)培訓(xùn)檔案尤為重要。對于殘疾人就業(yè)來說,要建立殘疾人求職信息檔案,推薦就業(yè)人員檔案、已就業(yè)殘疾人檔案、未就業(yè)殘疾人檔案等等,詳細了解每一個殘疾朋友的情況,從而有針對性的開展殘疾人培訓(xùn),幫助他們早日實現(xiàn)就業(yè)。
系統(tǒng)設(shè)計目標:
(1)高效的管理殘疾人虛擬卡及殘疾人基本信息。
(2)通過移動客戶端殘疾人虛擬卡二維碼可快速直接了解殘疾人信息,使用方便。
使用方便快捷,上手簡單,數(shù)據(jù)安全保證。
2.2 虛擬卡模式的功能
2.2.1 身份證識別
(1)管理殘疾人基本信息及虛擬卡信息,虛擬卡管理、錄入、查詢等基本功能;
(2)管理殘疾人虛擬卡信息,根據(jù)殘疾人三代證情況或最新評定情況,自動生成、簽發(fā)或注銷殘疾證虛擬卡信息,同時生成個人專屬二維碼,并且提供殘疾證虛擬卡的數(shù)據(jù)錄入、識別功能。
在二維碼的選擇上,由于QR碼(由DENSO(日本電裝)公司開發(fā),由JIS和ISO將其標準化)隨著移動終端,特別是國內(nèi)移動支付系統(tǒng)的使用,使其得到迅猛發(fā)展,變得非常流行,其比傳統(tǒng)的Bar Code條形碼能存更多的信息,同時也能表示更多的數(shù)據(jù)類型:比如:字符,數(shù)字,日文,中文等。故本例中采用這一編碼方案。
QR碼有(Model)和版本(Version)兩要素。模式分為Model1和Model2兩種,Model1是對QR的初始定義,Model2是對Model1的擴展,目前使用較為普遍的是Model2,本例中也采用Model2。
QR圖的大?。╯ize)被定義為版本(Version),版本號從1到40。版本1就是一個21*21的矩陣,每增加一個版本號,矩陣的大小就增加4個模塊(Module),因此,版本40就是一個177*177的矩陣。(版本越高,意味著存儲的內(nèi)容越多,糾錯能力也越強)。
每個QR碼符號由名義上的正方形模塊構(gòu)成,組成一個正方形陣列,它由編碼區(qū)域和包括尋象圖形、分隔符、定位圖形和校正圖形在內(nèi)的功能圖形組成。功能圖形不能用于數(shù)據(jù)編碼。符號的四周由空白區(qū)包圍。下圖為QR碼版本7符號的結(jié)構(gòu)圖。
//生成二維碼
KeyId = model.KeyId;
if (string.IsNullOrEmpty(model.qrcode))
{
qrcode=QRCode.Generate("http://"+ HttpContext.Current.Request.Url.Host + "/CLindex/QRCodeView.aspx?KeyID=" + KeyId, @"CLindex\\images\\logo_1.png", model.identNum);
SqlEasy.ExecuteNonQuery("update CLUserInfo set qrcode='" + qrcode + "' where KeyId=" + KeyId);
model.qrcode = qrcode;
}
//QRCode類和Generate創(chuàng)建二維碼方法
using NetWing.BPM.Core.WeChatApi;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using ZXing;
using ZXing.Common;
using ZXing.QrCode.Internal;
namespace NetWing.BPM.Core
{
public class QRCode
{
///
/// 生成帶Logo的二維碼
///
/// 鏈接
/// logo地址
/// 文件夾名
public static string Generate(string url, string LogoPath, string PathUrl)
{
//Logo 圖片
String path = AppDomain.CurrentDomain.BaseDirectory + LogoPath;
Bitmap logo = new Bitmap(@path);
//構(gòu)造二維碼寫碼器
MultiFormatWriter writer = new MultiFormatWriter();
Dictionary
hint.Add(EncodeHintType.CHARACTER_SET, "UTF-8");
hint.Add(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
//生成二維碼
BitMatrix bm = writer.encode(url, BarcodeFormat.QR_CODE, 300, 300, hint);
BarcodeWriter barcodeWriter = new BarcodeWriter();
Bitmap map = barcodeWriter.Write(bm);
//獲取二維碼實際尺寸(去掉二維碼兩邊空白后的實際尺寸)
int[] rectangle = bm.getEnclosingRectangle();
//計算插入圖片的大小和位置
int middleW = Math.Min((int)(rectangle[2] / 3.5), logo.Width);
int middleH = Math.Min((int)(rectangle[3] / 3.5), logo.Height);
int middleL = (map.Width - middleW) / 2;
int middleT = (map.Height - middleH) / 2;
//將img轉(zhuǎn)換成bmp格式,否則后面無法創(chuàng)建Graphics對象
Bitmap bmpimg = new Bitmap(map.Width, map.Height, PixelFormat.Format32bppArgb);
using (Graphics g = Graphics.FromImage(bmpimg))
{
g.InterpolationMode= System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.SmoothingMode= System.Drawing.Drawing2D.SmoothingMode.HighQuality;
g.CompositingQuality= System.Drawing.Drawing2D.CompositingQuality.HighQuality;
g.DrawImage(map, 0, 0);
}
//將二維碼插入圖片
Graphics myGraphic = Graphics.FromImage(bmpimg);
//白底
myGraphic.FillRectangle(Brushes.White,middleL,middleT, middleW, middleH);
myGraphic.DrawImage(logo,middleL, middleT, middleW, middleH);
//保存成圖片
string SavePath = AppDomain.CurrentDomain.BaseDirectory;
//string dated = DateTime.Now.ToString("yyyyMMdd");
string dates = DateTime.Now.ToString("yyyyMMddHHmmssfff");
string SavePathUrl = @"Upload/QRCode/" + PathUrl + @"/";
if (!string.IsNullOrEmpty(SavePath))
{
SavePath += @"Upload\\QRCode\\" + PathUrl + @"\\";
if (!Directory.Exists(SavePath))
{
Directory.CreateDirectory(SavePath);
}
SavePath += dates + "_" + Operation.Number(6) + ".png";
SavePathUrl += dates + "_" + Operation.Number(6) + ".png";
bmpimg.Save(@SavePath, ImageFormat.Png);
}
return SavePathUrl;
}
}
}
2.2.2 發(fā)卡管理
(1)提供外部使用用戶界面功能,如殘疾人可通過智能手機輸入手機號注冊殘疾人虛擬卡,系統(tǒng)通過與中殘聯(lián)殘疾人信息庫進行對接,對符合條件的殘疾人進行認證及虛擬卡發(fā)卡管理;
(2)具備行政區(qū)劃調(diào)整、享受政策地區(qū)調(diào)整功能,方便殘疾人進行殘疾證遷移工作或在非戶籍地享受政策工作;
(3)報表生成,殘疾人三代證卡管理系統(tǒng)以時間點作為橫向維度、以多個查詢項目為縱向維度,殘聯(lián)各級機構(gòu)能夠查看殘疾個人在整個業(yè)務(wù)生命周期中所有業(yè)務(wù)信息(包括了社會保障享受情況、就失業(yè)情況、康復(fù)訓(xùn)練情況等等);
(4)以此收集和統(tǒng)計殘疾人應(yīng)用信息來定制統(tǒng)計查詢報表,滿足管理上對殘疾人信息統(tǒng)計分類要求。
2.2.3 卡動態(tài)管理
(1)殘疾人通過移動客戶端對虛擬卡注冊申領(lǐng)后,系統(tǒng)后臺對殘疾人狀態(tài)變更進行動態(tài)管理,例如對殘疾人遷移、死亡、殘疾等級變化等信息進行實時管理;
(2)通過系統(tǒng)平臺后續(xù)為殘疾人提供的量服(市殘聯(lián)為殘疾人提供“量體裁衣”式個性化服務(wù)簡稱:量服)及社會化等服務(wù),通過大數(shù)據(jù)動態(tài)跟蹤殘疾人的行為軌跡,分析出殘疾人的服務(wù)喜好、消費偏好、活動區(qū)域等信息,進而為殘疾人提供更優(yōu)質(zhì)的服務(wù)。