Tải bản đầy đủ (.pdf) (78 trang)

Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nhập điểm tại đại học quốc gia hà nội

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.13 MB, 78 trang )


ĐẠI HỌC QUỐC GIA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN










PHẠM THỊ LAM







NGHIÊN CỨU CÔNG NGHỆ MÃ VẠCH HAI CHIỀU
VÀ ĐỀ XUẤT DỰ ÁN ỨNG DỤNG NGHIỆP VỤ NHẬP ĐIỂM
TẠI ĐẠI HỌC QUỐC GIA HÀ NỘI











LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN








Hà Nội - 2015




Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN






PHẠM THỊ LAM







NGHIÊN CỨU CÔNG NGHỆ MÃ VẠCH HAI CHIỀU
VÀ ĐỀ XUẤT DỰ ÁN ỨNG DỤNG NGHIỆP VỤ NHẬP ĐIỂM
TẠI ĐẠI HỌC QUỐC GIA HÀ NỘI




Ngành: Công nghệ thông tin
Chuyên ngành: Quản lý Hệ thống thông tin
Mã số: Chuyên ngành đào tạo thí điểm


LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN





NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. LÊ QUANG MINH





Hà Nội - 2015




Trang 3
LỜI CAM ĐOAN

Tôi xin cam đoan: Luận văn này là sản phẩm nghiên cứu của tôi, được xuất
phát từ yêu cầu trong công việc và được thực hiện dưới sự hướng dẫn của Tiến sỹ Lê
Quang Minh. Nội dung của luận văn có tham khảo và sử dụng một số thông tin, tài
liệu từ các nguồn được liệt kê trong tài liệu tham khảo.
Tôi xin chịu trách nhiệm về nghiên cứu của mình.
Học viên


Phạm Thị Lam


















Trang 4
LỜI CẢM ƠN
Trước tiên, tôi xin được gửi lời cảm ơn đến tất cả quý thầy cô đã giảng dạy
trong chương trình thạc sĩ chuyên ngành Quản lý Hệ thống thông tin - Viện Công nghệ
Thông tin - Đại học Quốc gia Hà Nội, những người đã truyền đạt cho tôi những kiến
thức hữu ích về Công nghệ thông tin làm cơ sở cho tôi thực hiện tốt luận văn này.
Tôi xin trân trọng cảm ơn TS. Lê Quang Minh đã tận tình hướng dẫn cho tôi
trong thời gian thực hiện luận văn. Mặc dù, trong quá trình thực hiện luận văn có giai
đoạn không được thuận lợi nhưng những gì TS đã hướng dẫn, đã chỉ bảo cho tôi nhiều
kinh nghiệm trong thời gian thực hiện đề tài.
Tôi cũng xin gửi lời cảm ơn đến Trung tâm ứng dụng Công nghệ thông tin đã
tận tình giúp đỡ trong quá trình thu thập dữ liệu và thông tin của luận văn.
Sau cùng tôi xin gửi lời biết ơn sâu sắc đến gia đình đã luôn tạo điều kiện tốt
nhất cho tôi trong suốt quá trình học cũng như thực hiện luận văn.
Do thời gian có hạn và kinh nghiệm nghiên cứu khoa học chưa nhiều nên luận
văn còn nhiều thiếu sót, rất mong nhận được ý kiến góp ý của Thầy/Cô và các anh chị
học viên.
Hà Nội, tháng 12 năm 2014.
Học viên


Phạm Thị Lam








Trang 5
MỤC LỤC

LỜI CAM ĐOAN 3

MỤC LỤC 5

VIẾT TẮT VÀ CÁC THUẬT NGỮ 8

MỞ ĐẦU 9

CHƯƠNG 1: TỔNG QUAN VỀ MÃ VẠCH VÀ ỨNG DỤNG 10

1.1. Tổng quan về mã vạch: 10

1.1.1.

Giới thiệu mã vạch: 10

1.1.2. Lịch sử phát triển 10

1.2. Các dạng mã vạch phổ biến hiện nay: 11

1.2.1 Mã vạch một chiều (mã vạch tuyến tính): 11

1.2.2 Mã vạch hai chiều (mã vạch 2D): 12

1.2.3 Mã vạch cụm: 13

1.2.4 Mã vạch ba chiều (mã vạch 3D): 13


1.3 Ứng dụng của mã vạch. 14

CHƯƠNG 2: CÔNG NGHỆ MÃ VẠCH HAI CHIỀU 17

2.1 Công nghệ mã vạch hai chiều PDF417: 17

2.1.1 Cấu trúc mỗi hàng PDF417 gồm có: 17

2.1.2 Cấu trúc mỗi cột của mã vạch hai chiều PDF417 19

2.1.3

Codeword: 19

2.1.4

Mã hóa 19

2.2 Ứng dụng mã vạch hai chiều PDF417 trong nghiệp vụ nhập điểm. 25

2.2.1 Khả năng lưu trữ thông tin: 26

2.2.2 Khả năng sửa lỗi: 26

2.2.3 Lưu thông tin số trên giấy: 26

2.3 Quy trình nghiệp vụ nhập điểm ứng dụng công mã vạch hai chiều
PDF417. 27


Mã hóa dữ liệu 27

Giải mã dữ liệu 30

CHƯƠNG 3: DỰ ÁN ỨNG DỤNG NGHIỆP VỤ NHẬP ĐIỂM 31

TẠI ĐẠI HỌC QUỐC GIA HÀ NỘI 31

3.1 Thông tin chung 31



Trang
6
3.1.1 Cơ sở pháp lý 31

3.1.2 Mục đích, yêu cầu, nhu cầu đầu tư 31

3.1.3 Tên hạng mục đầu tư ứng dụng CNTT 33

3.1.4 Đơn vị chủ quản: 33

3.1.5 Đơn vị chủ đầu tư: 33

3.1.6 Địa điểm đầu tư: 33

3.1.7 Tổng mức đầu tư: . 33

3.1.8 Nguồn vốn đầu tư: 33


3.1.9 Thời gian thực hiện 33

3.1.10 Dự kiến hiệu quả đạt được 33

3.2 Sự cần thiết phải đầu tư 34

3.2.1 Hiện trạng tin học hóa tại ĐHQGHN 34

3.2.2 Sự cần thiết phải sử dụng phần mềm nhập điểm 38

3.3 Thuyết minh giải pháp kỹ thuật công nghệ đề xuất 41

3.3.1 Mô hình tổng quan hệ thống 42

3.3.2 Yêu cầu đối với nền tảng phần mềm 43

3.3.3 Yêu cầu chức năng đối với phần mềm 43

3.3.3.1 Khả năng liên kết 46

3.3.3.2 Tích hợp mở rộng 46

3.3.3.3 Yêu cầu về mỹ thuật, kỹ thuật cần đạt được của các giao diện 47

3.3.3.4 Các yêu cầu cần đáp ứng về thời gian xử lý, độ phức tạp xử lý của các
chức năng phần mềm 47

3.3.3.5 Các yêu cầu về phân quyền 47

3.3.4 Các yêu cầu phi chức năng khác 47


3.3.5 Yêu cầu đối với dữ liệu 48

3.3.6 Mô hình tổ chức cơ sở dữ liệu 50

3.4 Phân tích lựa chọn phương án kỹ thuật và công nghệ 52

3.4.1 Giải pháp Hệ điều hành cho máy chủ 52

3.4.2 Giải pháp Hệ quản trị CSDL 53

3.5 Dự toán kinh phí 54

3.5.1 Cơ sở lập dự toán 54

3.5.2 Kinh phí dự toán phát triển ứng dụng 54

3.6 Thiết bị, cơ sở vật chất và nguồn nhân lực cho dự án 56

3.6.1. Cơ sở vật chất, trang thiết bị cần dùng cho dự án 56

3.6.2 Nhân lực thực hiện dự án 57



Trang
7
3.7 Kế hoạch thực hiện và quản trị dự án 57

3.7.1 Tổ chức thực hiện và triển khai 57


3.7.2 Lịch trình thực hiện 57

3.7.3 Quản lý tổng thể dự án 58

3.7.3.1 Các chủ thể. 58

3.7.3.2 Quan hệ giữa các chủ thể. 58

3.7.4 Mua sắm đấu thầu 60

3.7.5 Kế hoạch hoạt động khoa học công nghệ 60

3.7.6 Hoạt động đào tạo 60

3.7.7 Quản lý tài chính 60

3.7.8 Giám sát, đánh giá, tổng kết 61

3.7.9 Tổ chức vận hành và khai thác 61

3.8 Tính bền vững của dự án 61

3.9 Hiệu quả và tác động của dự án. 61

KẾT LUẬN VÀ KIẾN NGHỊ 62

TÀI LIỆU THAM KHẢO 63

PHỤ LỤC 64





Trang 8
VIẾT TẮT VÀ CÁC THUẬT NGỮ
Bộ TTTT Bộ Thông tin và Truyền thông.
CMS Content Management System: Hệ quản trị nội dung, thường được dùng
để sinh trang WEB tự động hoặc trong các hệ thống học điện tử e-
learning.
CNTT Công nghệ Thông tin.
CNTT-TT Công nghệ Thông tin - Truyền thông.
ĐHQGHN Đại học Quốc gia Hà Nội.
HTML Hypertext Makup Language.
HTTP Hypertext Transmission Protocol.
LAN Local Area Network - mạng cục bộ, mạng của một tổ chức kết nối các
máy tính với nhau trên kênh truyền chung trong một phạm vi hẹp.
LDAP Lightweight Directory Access Protocol - một chuẩn dịch vụ thư mục cho
phép các ứng dụng khác có thể lấy thông tin về người dùng. Trên
Windows dịch vụ tương ứng là AD (Acitve Directory).
ONLINE Trực tuyến - chỉ các quá trình tương tác giữa người và hệ thống tin học
được thực hiện đồng bộ.
PORTAL Cổng giao tiếp điện tử, cổng thông tin điện tử được hiểu như một
WEBsite đầu mối tích hợp cả thông tin và dịch vụ.
PROXY Ủy quyền, cơ chế thực hiện thông qua uỷ quyền cho một đối tượng khác.
Các máy chủ Proxy là các máy chủ thực hiện các giao dịch giữa trong
mạng và bên ngoài để đảm bảo an toàn mạng.
TCP/IP Transmission Control Protocol/Internet Portocol: một số các quy ước
làm nền tảng cho công nghệ liên kết và truyền thông tin trên mạng
Internet.

WEB Một dạng thức thông tin trên Internet theo đó các trang tin gọi là trang
web, chúng không chỉ chứa chính thông tin văn bản mà chứa cả các liên
kết tới các trang Web khác hay các dịch vụ hoặc các kịch bản tương tác
của con người với hệ thống.
XML Extended Makup Language, một định dạng là sự phát triển kế tiếp của
HTML cho phép tự định nghĩa các ứng xử của các thẻ.



Trang 9
MỞ ĐẦU
Công nghệ thông tin được xem là một ngành mũi nhọn của các quốc gia, đặc
biệt là các quốc gia đang phát triển, như nước ta hiện nay. Sự bùng nổ thông tin và sự
phát triển mạnh của công nghệ kỹ thuật số, yêu cầu phải tin học hoá tất cả các ngành,
các lĩnh vực. Cùng với sự phát triển nhanh chóng về phần cứng máy tính, các phần
mềm ngày càng hoàn thiện hơn và hỗ trợ hiệu quả cho con người. Các phần mềm hiện
nay đã mô phỏng được rất nhiều nghiệp vụ khó, hỗ trợ cho người dùng thuận tiện sử
dụng, thời gian xử lý nhanh, và một số nghiệp vụ được tự động hoá cao. Do vậy, đòi
hỏi đối với triển khai, phát triển phần mềm không chỉ là sự chính xác, xử lý được
nhiều nghiệp vụ thực tế mà còn phải đáp ứng các yêu cầu khác như về tốc độ, giao
diện thân thiện, mô hình hoá được thực tế vào máy tính để người sử dụng tiện lợi,
tương thích cao, bảo mật cao… Các phần mềm ra đời giúp tiết kiệm một lượng lớn
thời gian, công sức của con người, tăng độ chính xác và hiệu quả trong công việc.
Trong các trường đại học thì việc quản lý đào tạo đòi hỏi mất nhiều công sức và
thời gian. Đại học Quốc gia Hà nội đã có phần mềm quản lý đào tạo dùng chung cho
tất cả các đơn vị thành viên. Quản lý điểm của sinh viên là một trong số các nghiệp vụ
trong phần mềm quản lý đào tạo, việc quản lý này phải cần khá nhiều người, chia
thành nhiều khâu, khâu nhập điểm đòi hỏi nhiều thời gian và công sức, mà độ chính
xác và hiệu quả chưa đạt yêu cầu, vì còn đang nhập điểm bằng thủ công nên đòi hỏi
mất rất nhiều thời gian cho khâu kiểm tra điểm giữa bảng điểm giảng viên nộp và bảng

điểm in ra từ phần mềm quản lý đào tạo. Nghiệp vụ nhập điểm hoàn toàn có thể tin
học hoá một cách dễ dàng thông qua việc nhập điểm bằng mã vạch hai chiều mà luận
văn này đề cập tới. Khi đó, với sự giúp đỡ của tin học, việc quản lý người học sẽ trở
nên đơn giản, thuận tiện, nhanh chóng và hiệu quả cao. Đó chính là lý do mà tôi chọn
đề tài này để nghiên cứu làm luận văn thạc sỹ.


Trang 10

CHƯƠNG 1: TỔNG QUAN VỀ MÃ VẠCH VÀ ỨNG DỤNG
1.1. Tổng quan về mã vạch:
1.1.1. Giới thiệu mã vạch:
Mã vạch là một phương pháp lưu trữ và truyền tải thông tin bằng một loại ký
hiệu mà các máy quang học có thể đọc được. Mã vạch mang một số thông tin có thể
dùng làm khoá để truy xuất các thông tin chi tiết của các đối tượng lưu trữ. Một số loại
mã vạch có thể mang khá nhiều thông tin. Thông thường, mã vạch được trình bày theo
độ rộng (của cột hay vạch), sự thay đổi trong độ rộng của vạch và khoảng trắng biểu
diễn thông tin số hay chữ số dưới dạng mà máy có thể đọc được.
1.1.2. Lịch sử phát triển
Năm 1948, mã vạch được Norman Joseph Woodland và Bernard Silver sinh
viên Đại học tổng hợp Drexel, xuất phát từ mong ước của vị chủ tịch của một công ty
buôn bán đồ ăn. Ông này muốn có một hệ thống tự động kiểm tra toàn bộ quy trình.
Đầu tiên họ sử dụng mã Morse để in những vạch rộng hay hẹp thẳng đứng. Sau đó, họ
chuyển sang sử dụng dạng "điểm đen" của mã vạch với các vòng tròn đồng tâm.
Năm 1952, công trình của ông về "Dụng cụ và phương pháp phân loại" được
chứng nhận bản quyền. Mã vạch ra đời và được sử dụng đến ngày nay.
Năm 1952, thiết bị đọc mã vạch đầu tiên được thiết kế và xây dựng bởi
Woodland và Silver. Nó bao gồm một đèn dây tóc 500 W và một ống chân không nhân
quang tử để in theo phương pháp quang học lên trên phim. Thiết bị này đã không được
áp dụng trong thực tế.

Năm 1960 Silver tiếp tục phát minh ra tia laser đã làm cho các thiết bị đọc mã
vạch trở nên rẻ tiền hơn, và sự phát triển của mạch bán dẫn (IC) làm cho việc giải mã
các tín hiệu thu được từ mã vạch có ý nghĩa thực tiễn.
Năm 1972, RCA thử nghiệm việc sử dụng đầu đọc mã vạch điểm đen nhưng
khi in ra nó rất dễ nhòe.
Năm 1973, Woodland đã phát triển mã vạch tuyến tính được chấp nhận như
là Mã sản phẩm chung (tiếng Anh: Universal Product Code, hay UPC).
Năm 1974, đầu đọc mã vạch đã được sử dụng tại siêu thị Marsh ở Troy, Ohio.
Ngày nay, mã vạch đã phát triển nhanh chóng, rộng khắp, nhiều loại mã vạch ra
đời và trở thành một phương thức đơn giản, tiện lợi để lưu trữ thông tin cho các hệ
thống tự động.


Trang 11

1.2. Các dạng mã vạch phổ biến hiện nay:
1.2.1 Mã vạch một chiều (mã vạch tuyến tính):
Là chuẩn mã vạch trên các sản phẩm mọi người thường thấy, được tổ chức GS1
(One global Standard) chứng nhận và sử dụng trong ngành công nghiệp bán lẻ trên
toàn thế giới.

Hình 1.1: Mã vạch một chiều (tuyến tính)
Các loại mã vạch một chiều phổ biến:
Loại Thuộc tính

Độ rộng Sử dụng
Plessey Liên tục 2
Catalog, các giá hàng trong cửa hàng,
hàng tồn kho
UPC Liên tục Nhiều Bán lẻ ở Mỹ

EAN-UCC Liên tục Nhiều Bán lẻ khắp thế giới
Codabar Rời rạc 2 Thư viện, ngân hàng máu, vé máy bay
Interleaved 2 of 5 Liên tục 2 Bán buôn, thư viện
Code 39 Rời rạc 2 Đa dạng
Code 93 Liên tục 2 Đa dạng
Code 128 Liên tục Nhiều Đa dạng
Code 11 Rời rạc 2 Điện thoại
POSTNET Liên tục Cao/Thấp

Bưu điện
PostBar Rời rạc Nhiều Bưu điện
CPC Binary Rời rạc 2 Bưu điện
Telepen Liên tục 2 Thư viện v.v (Vương quốc Anh)


Trang 12

1.2.2 Mã vạch hai chiều (mã vạch 2D):
Là một kỹ thuật mã hóa thông tin thành dạng dữ liệu mà máy có thể đọc được.
Mã vạch 2D xuất hiện lần đầu tiên vào năm 1988, do tập đoàn Intermec tạo ra, và
được gọi là Mã 49. Đó là một loại mã vạch có hình ảnh đồ họa có chứa cả 2 loại là mã
vạch một chiều và mã vạch theo chiều dọc. Chính vì thế, nên mã vạch 2D có thể lưu
trữ lên đến 7.089 ký tự so với mã vạch thông thường chỉ lưu trữ 20 ký tự. Khi tiến
hành đọc mã code, thì mã vạch 2D có phản ứng rất nhanh và truy cập dữ liệu chỉ trong
vài giây.

Hình 1.2: Một loại mã vạch 2D
Các loại mã vạch hai chiều phổ biến
Loại Ghi chú
3-DI Phát triển bởi Lynn Ltd.

ArrayTag Từ ArrayTech Systems.
Aztec Code Từ Welch Allyn (hiện nay là Handheld Products). Phạm vi công cộng.
Code 1 Phạm vi công cộng.
CP Code Từ CP Tron, Inc.
DataGlyphs Từ Xerox PARC.
Datamatrix Từ RVSI Acuity CiMatrix. Hiện nay thuộc phạm vi công cộng.
Điểm đen
Mã vạch này đã được thử nghiệm ở cửa hàng Kroger ở Cincinnati. Nó
sử dụng các vạch đồng tâm.
HueCode Từ Robot Design Associates. Sử dụng thang màu xám hoặc nhiều màu.
INTACTA.CODE

Từ INTACTA Technologies, Inc.
MaxiCode
Sử dụng bởi Dịch vụ chuyển phát hàng hóa Mỹ (United Parcel
Service).
MiniCode Từ Omniplanar, Inc.
PDF417 Có nguồn gốc từ Symbol Technologies. Phạm vi công cộng.
QR Code Từ Nippondenso ID Systems. Phạm vi công cộng.


Trang 13

Loại Ghi chú
SpotCode Mã vòng từ High Energy Magic Ltd.
SuperCode Phạm vi công cộng.
UltraCode Có các phiên bản đen trắng và màu. Phạm vi công cộng.
1.2.3 Mã vạch cụm:
Là trung gian giữa mã vạch 2D thực thụ và mã vạch tuyến tính, chúng được tạo
ra bằng cách đặt các mã vạch tuyến tính truyền thống trên các loại giấy hay các vật

liệu có thể in mà cho phép có nhiều hàng.
Các loại mã vạch cụm phổ biến:
Loại Ghi chú
Codeblock Mã vạch cụm 1D.
Code 16K Dựa trên Code 128 1D.
Code 49 Mã vạch cụm 1D từ Intermec Corp.
PDF417 Mã vạch 2D phổ biến nhất. Phạm vi công cộng.

Micro PDF417


1.2.4 Mã vạch ba chiều (mã vạch 3D):
Là một loại mã vạch được dập nổi hay khắc chìm trên bề mặt của vật thể mang
mã. Các mã được đọc bằng cách sử dụng sự khác biệt về chiều sâu của vùng, chứ
không xác định bới các vạch và khoảng cách giữa các vạch. Mã vạch ba chiều có thể
được sử dụng nơi mà bản in thường của mã dễ bị phá huỷ bởi điều kiện của môi
trường hay những điều kiện dễ bị mài mòn.


Hình 1.3: Mã vạch 3D


Trang 14

1.3 Ứng dụng của mã vạch.
Mã vạch được sử dụng ở những nơi mà các đồ vật cần phải đánh số với các
thông tin liên quan để các máy tính có thể xử lý. Thay vì việc phải đánh một chuỗi dữ
liệu vào phần nhập liệu của máy tính thì người thao tác chỉ cần quét mã vạch cho thiết
bị đọc mã vạch. Chúng cũng làm việc tốt trong điều kiện tự động hóa hoàn toàn, chẳng
hạn như trong luân chuyển hành lý ở các sân bay.

Các dữ liệu chứa trong mã vạch thay đổi tùy theo ứng dụng. Trong trường hợp
đơn giản nhất là một chuỗi số định danh được sử dụng như là chỉ mục trong cơ sở dữ
liệu trong đó toàn bộ các thông tin khác được lưu trữ. Các mã EAN-13 và UPC tìm
thấy phổ biến trên hàng bán lẻ làm việc theo phương thức này.
Mã vạch còn chứa toàn bộ thông tin về sản phẩm, mà không cần cơ sở dữ liệu
ngoài. Điều này dẫn tới việc phát triển mã vạch tượng trưng mà có khả năng biểu diễn
nhiều hơn là chỉ các số thập phân, có thể là bổ sung thêm các ký tự hoa và thường của
bảng chữ cái cho đến toàn bộ bảng mã ký tự ASCII và nhiều hơn thế. Việc lưu trữ
nhiều thông tin hơn đã dẫn đến việc phát triển của các ma trận mã (một dạng của mã
vạch 2D), trong đó không chứa các vạch mà là một lưới các ô vuông.
Ngày này, mã vạch hai chiều được ưa chuộng nhiều và ứng dụng rộng rãi, đặc
biệt là đối với những người sở hữu smartphone. Đơn giản và hiệu quả, người sử dụng
chỉ cần nhận dạng mã vạch hai chiều thông qua camera được trang bị với một đầu đọc
mã vạch gắn trên điện thoại. Qua đó, đầu đọc sẽ trả về kết quả là những đoạn URL đã
được phân tích, và lập tức truy cập vào các trình duyệt có liên quan trên một website.
Do vậy, mã vạch hai chiều rất có ích cho lĩnh vực tiếp thị qua di động. Một số
hệ thống mã vạch hai chiều khác thì lại trực tiếp cung cấp thông tin cho khách hàng
nhận được mà không cần phải truy cập website.
Mã vạch hai chiều ngày càng được ưa chuộng vì người ta nhận ra những đặc
tính độc đáo của nó không có mặt trong các mã vạch tuyến tính truyền thống và được
nhằm vào ba ứng dụng chính:
1. Đối với các món hàng nhỏ: Nếu in mã vạch tuyến tính thông dụng trên các
món hàng nhỏ thì thường gặp trở ngại về kích thước của mã vạch vẫn còn quá lớn so
với các món hàng cực nhỏ. Với mã vạch hai chiều người ta có thể in mã vạch ngay
trên món hàng có kích thước rất nhỏ.
2. Nội dung thông tin: Công nghệ hai chiều cho phép mã hóa một lượng lớn
thông tin trong một diện tích nhỏ hẹp. Cả lượng thông tin lưu trong cùng một ký hiệu
mã vạch 2D có thể coi như là 1 file dữ liệu nhỏ gọn. Do đó khi sử dụng loại mã 2D, có
thể không cần đến cơ sở dữ liệu bên trong máy vi tính.
3. Quét tầm xa: Khi sử dụng các ký hiệu 2D, máy in không đòi hỏi in ở độ phân

giải cao mà có thể in ở độ phân giải thấp vì trong ký hiệu 2D, các mảng điểm hoặc các


Trang 15

vạch rất lớn. Điều này dẫn đến việc cho phép quét mã vạch 2D ở một khoảng cách xa
khoảng 15m.
Một số ứng dụng mã vạch hai chiều điển hình gồm:
- Hãng đồ thể thao nổi tiếng Nike đã sử dụng mã vạch hai chiều in trên các áp
phích dọc theo các tuyến đường của một cuộc đua thể thao mạo hiểm. Các vận động
viên sẽ sử dụng smartphone của mình thông qua các mã vạch để truy cập vào hình ảnh,
video và những dữ liệu được hỗ trợ;
- Mã vạch hai chiều được in lên nhiều sản phẩm trong các cửa hàng để người
mua dễ dàng đánh giá sản phẩm;
- Một số người gửi những mã vạch hai chiều lên trang blog của mình;
- Tổng cục Thuế đã triển khai phần mềm “Hỗ trợ kê khai thuế” áp dụng công
nghệ mã vạch hai chiều cho các doanh nghiệp đang hoạt động theo địa bàn các tỉnh.
Đây là phần mềm ứng dụng nhằm hỗ trợ doanh nghiệp trong việc xử lý tính toán lập
các tờ khai thuế. Phần mềm có hệ thống kiểm tra việc kê khai, với việc sử dụng phần
mềm hỗ trợ, việc kê khai thuế của doanh nghiệp sẽ được bảo đảm nhanh chóng, chính
xác, tránh được những sai sót thường gặp. Sau khi kê khai xong toàn bộ số liệu sẽ
được phần mềm mã hóa và lưu dưới dạng mã vạch hai chiều. Trước khi in, hệ thống
sẽ kiểm tra xem tất cả các mục bắt buộc phải nhập thông tin đã được nhập chưa? Đồng
thời đối chiếu kiểm tra giữa các chỉ tiêu có đúng với quy định kê khai hay không? Nếu
có lỗi thì vẫn được ghi nhưng không thể in hoặc kết xuất tờ khai được, nếu kê khai sai
hệ thống sẽ thông báo lỗi kê khai, hiển thị nội dung lỗi và hướng dẫn cách sửa.
Cơ quan thuế nhận tờ khai của doanh nghiệp sẽ dùng máy đọc mã vạch để quét và lưu
số liệu trên tờ khai thuế vào máy tính. Như vậy, việc nhập liệu bằng mã vạch hai chiều
đã khắc phục hoàn toàn việc sai lệch về số liệu giữa cơ quan thuế và doanh nghiệp;
giúp cho cơ quan thuế kiểm tra nhanh chóng xác nhận số liệu cho doanh nghiệp khi

hoàn thuế, hoặc khi cần tra cứu thông tin, số liệu khác tại cơ quan thuế
- Từ ngày 01/01/2014, Bảo hiểm xã hội Việt nam đã ban hành mẫu thẻ Bảo
hiểm y tế mới, có mã vạch hai chiều chứa các thông tin trên thẻ và chuỗi ký tự kiểm
tra. In thẻ có mã vạch hai chiều giúp quản lý được dữ liệu phát hành thẻ chính xác, dễ
dàng phát hiện thẻ giả, tránh được những sai sót về trùng dữ liệu thẻ, sai mã thẻ, sai
mã đối tượng hưởng quyền lợi, giúp tiết kiệm được chi phí hành chính đối với cơ quan
bảo hiểm xã hội và cả đối với các cơ sở khám chữa bệnh.

Hình 1.4: Mã vạch hai chiều ở mặt trước thẻ bảo hiểm y tế


Trang
16
Với khá nhiều cách sử dụng, mã vạch hai chiều có thể được sử dụng rộng rãi
trong tương lai như:
- Đi xe buýt: người dùng quét mã của bến xe bus sẽ biết thông tin về các chuyến
xe sắp tới. - Tại bảo tàng: người dùng chỉ cần quét mã đặt cạnh vật trưng bày để biết
được thông tin chi tiết về đồ vật đó.
- Khi mua hàng: người dùng nếu thấy thích mặt hàng đang quảng cáo khi đi tàu
điện ngầm, xe bus … có thể đặt mua ngay lập tức thông qua mã vạch và Mobile
Internet. Đồng thời người mua hàng có thể quét mã vạch để biết được hàm lượng dinh
dưỡng của đồ ăn cần mua. Hoặc để biết công thức và cách chế biến món ăn mình mua.
- Tại các hội thảo: người tham gia hội thảo có thể sử dụng mã vạch thay cho
Business Card của mình.
- Với các tờ báo/tạp chí giấy: người đọc có thể quét mã vạch được in trong tờ
báo/tạp chí giấy để truy cập phiên bản online của tờ báo/tạp chí này.
- Sử dụng tại quán bar/club : để xác định xem ca sỹ, ban nhạc, bản nhạc đang
chơi là ai/bản nhạc gì?
So sánh giữa các loại mã vạch:
STT


Loại mã vạch

Độ chính xác thấp nhất

Độ chính xác cao nhất

1 Data Matrix 1 lỗi trên 10,5 triệu 1 lỗi trên 612,9 triệu
2 PDF 417 1 lỗi trên 10,5 triệu 1 lỗi trên 612,4 triệu
3 Code 129 1 lỗi trên 2,8 triệu 1 lỗi trên 37 triệu
4 Code 39 1 lỗi trên 1,7 triệu 1 lỗi trên 4,5 triệu
5 UPC 1 lỗi trên 349.000 1 lỗi trên 800.000
Mã vạch hai chiều PDF417 với các ứng dụng phổ biến, được dùng nhiều trong
phạm vi công cộng, hỗ trợ việc nén văn bản, nén số, và nén byte theo cơ chế tương
quan ánh xạ giữa những giá trị codeword và dữ liệu được giải mã. Ngoài ra, PDF417
có thể hỗ trợ lên tới 340 kí tự trên một inch vuông, với khả năng lưu trữ dữ liệu cực
đại là 1850 kí tự dạng văn bản. Một thời gian ngắn sau khi phát triển, thì PDF417 là
biểu tượng của mã vạch 2D. PDF417 được thiết lập vững chắc là sự lựa chọn hàng đầu
cho các ứng dụng mã vạch 2D. Đó chính là lý do lựa chọn PDF417 để nghiên cứu ở
chương 2 và được ứng dụng vào nghiệp vụ nhập điểm bằng mã vạch hai chiều
PDF417 để đề xuất dự án trong chương 3.


Trang
17
CHƯƠNG 2: CÔNG NGHỆ MÃ VẠCH HAI CHIỀU
2.1 Công nghệ mã vạch hai chiều PDF417:
Mã vạch hai chiều PDF417 là viết tắt của Portable Data File và 417 đại diện
cho 17 module của 4 vạch tối và 4 vạch sáng trong mỗi codeword (ký tự mã hóa). Đây
là loại mã vạch hai chiều, gồm các mã vạch tuyến tính (mã vạch một chiều) xếp lên

nhau có khả năng ứng dụng cao trong chuyển tin, thẻ nhận dạng và quản lý thông tin.
Mã vạch hai chiều PDF417 là sự phát triển mới nhất trong xu hướng để đóng gói khối
lượng dữ liệu lớn trong không gian nhỏ nhất. PDF417 được thiết lập vững chắc là sự
lựa chọn hàng đầu cho các ứng dụng mã vạch 2D, cho phép máy đọc được dữ liệu có
sẵn trên mã vạch mà không cần thiết phải kết nối đến cơ sở dữ liệu như các loại mã
vạch thông thường. Loại mã vạch này có khả năng sửa lỗi và tùy chọn khả năng sửa
lỗi tùy theo mức sửa lỗi và loại dữ liệu được mã hóa. Mã PDF417 được phát minh bởi
tiến sĩ Ynjin P.Wang tại Symbol Technology năm 1991, và được công nhận theo
chuẩn ISO 15438.


Hình 2.1: Mã vạch hai chiều PDF417
Mỗi mã vạch hai chiều PDF417 có các hàng liên kết với nhau theo chiều dọc
với tối thiểu là 3 hàng, tối đa là 90 hàng. Mỗi hàng chứa ít nhất 1 một codeword và tối
đa là 34 codeword. Đơn vị nhỏ nhất trong mã vạch hai chiều PDF417 là module, mỗi
module tương ứng với một đơn vị độ dài.
Với các loại mã vạch một chiều, chúng đóng vai trò là khóa để truy nhập cơ sở
dữ liệu. Nhưng với mã vạch hai chiều PDF417 có thể truy nhập trực tiếp dữ liệu mà
không cần có các dữ liệu trước đó cũng như đảm bảo an toàn cho dữ liệu thông qua
quá trình mã hóa dữ liệu vào các biểu tượng của mã vạch.
2.1.1 Cấu trúc mỗi hàng PDF417 gồm có:
- Vùng lặng (quiet zone)
- Dấu hiệu bắt đầu thể hiện bằng một số vạch (Start Pattern)
- Codeword chỉ báo biên trái của dòng (Left row Indicator Codeword)
- Vùng dữ liệu (các codeword)
- Codeword chỉ báo biên phải của dòng (Right row Indicator Codeword)


Trang 18


- Dấu hiệu kết thúc thể hiện bằng một số vạch (Stop Pattern)
- Vùng lặng (quiet zone)

Hình 2.2: Cấu trúc hàng PDF417
Vùng lặng: Tất cả các mã vạch hai chiều PDF417 luôn có vùng lặng (vùng
màu trắng) xung quanh toàn bộ vùng mã. Kích thước tối thiểu cho vùng này có độ
rộng bằng 2 module.
Dấu hiệu bắt đầu và kết thúc một dòng mã: Tất cả các mã vạch hai chiều
PDF417 các ký tự bắt đầu và kết thúc luôn giống nhau (phần kết thúc có độ rộng là 18
module) theo định dạng sau:
Phần Module

B S B S B S B S B
Bắt đầu
8 1 1 1 1 1 1 3
Kết thúc
7 1 1 3 1 1 1 2 1
B – vạch tối S – vạch sáng

Hình 2.3: Phần bắt đầu và kết thúc


Trang 19

2.1.2 Cấu trúc mỗi cột của mã vạch hai chiều PDF417

Hình 2.4: Cấu trúc cột PDF417
Cấu trúc mỗi cột mã vạch hai chiều PDF417 gồm các hàng được xắp xếp chồng
lên nhau với các vùng của các hàng là tương ứng. Các vùng trên mỗi hàng xếp tương
ứng với nhau tạo thành các cột của mã vạch hai chiều PDF417. Trong mỗi biểu tượng

có tối đa là 34 cột.
2.1.3 Codeword:

Hình 2.5: Cấu trúc codeword PDF417
Codeword là phần giao nhau giữa hàng và cột, mỗi codeword biểu diễn các con
số, ký tự hoặc các ký hiệu. Thông thường mỗi codeword gồm có 4 vạch tối, 4 vạch
sáng và tổng độ dài mỗi codeword có 17 module.
2.1.4 Mã hóa
Quá trình mã hóa thực hiện mã vạch hai chiều PDF417 trong hai giai đoạn đó là
mã hóa cấp cao và mã hóa cấp thấp.
 Mã hóa cấp cao (High level encoding): các dữ liệu được chuyển đổi thành các
codeword.
Dữ liệu được mã hóa vào các codeword theo một trong ba phương thức mã hóa
(mặc định là chế độ nén text).


Trang 20

Chế độ nén Dữ liệu mã hóa Tỷ lệ nén
“Byet” ASCII từ 0 đến 225 1.2 byte/codeword
“TEXT” ASCII 9, 10,13 và từ 32 đến 127 2 ký tự/ codeword
“Numeric” Chỉ có chữ số từ 0 đến 9 2.9 chữ số/codeword
Codeword từ 900 đến 928 là các codeword dùng để chuyển đổi giữa các chế độ
nén để tối ưu hóa mã.
a. Chế độ nén “Byte”:
Chế độ nén byte cho phép mã hóa 256 byte khác nhau thuộc bảng ASCII mở
rộng. Từ các chế độ khác muốn chuyển sang chế độ nén byte và nếu số byte là bội của
6 chúng ta sử dụng codeword 924 nếu khác chúng ta sử dụng mã 901 để chuyển.
Để mã hóa ta làm các bước sau:
- Tạo một nhóm gồm 6 ký tự, từ X

5
đến X
0
. Ta tính các CW
i
(với i từ 0 đến 4):
CW
i
= S MOD 900
- Tính t
ổng S: S = ∑X
i
*256
i

CW
0
= S MOD 900
- Giá trị mới của S: S = S/900
CW
1
= S MOD 900
Ta tính như thế đến CW
4
.

Ví dụ 1: Mã hóa chuỗi: diemso
Thứ tự giá trị các ký tự trong chuỗi theo bảng ASCII là: 100, 105, 101, 109,
115, 111
S = 100 x 256

5
+ 105 x 256
4
+ 101 x 256
3
+ 109 x 256
2
+ 115 x 256 + 111
= 110 403 836 015 471
CW
0
= 110 403 836 015 471 MOD 900 = 71
S = 110 403 836 015 471 / 900 = 122 670 928 906
CW
1
= 122 670 928 906 MOD 900 = 106
S = 122 670 928 906 / 900 = 136 301 032
CW
2
= 136 301 032 MOD 900 = 532
S = 136 301 032/ 900 = 151 445


Trang 21

CW3 = 151 445 MOD 900 = 245
S = 151 445 / 900 = 168
CW4 = 168 MOD 900 = 168
Kết quả chuỗi giá trị mã hóa là:
924, 168, 245, 532, 106, 71

Ví dụ 2: Mã hóa chuỗi: diemsochan
Thứ tự giá trị các ký tự trong chuỗi theo bảng ASCII là: 100, 105, 101, 109,
115, 111, 99, 104, 97 và 110 thực hiện tương tự như trên, ta thu được chuỗi: 168, 245,
532, 106, 71, 2, 258, 894, 373. Do chuỗi sử dụng không phải là bội của 6 nên ta dùng
codeword 901, kết quả chuỗi mã hóa là:
901, 168, 245, 532, 106, 71, 2, 258, 894, 373
b. Chế độ nén “Text”:
Có 4 phương thức trong chế đó này là :
- Uppercase : Chữ hoa
- Lowercase :Chữ thường
- Mixed: Số và ký tự
- Punctuation: dấu chấm
Text Compaction Sub-Modes
Base 30 Uppercase Lowercase Mixed Punctuation
Value Char ASCII Char ASCII Char ASCII Char ASCII

0 A 65 a 97 0 48 ; 59
1 B 66 b 98 1 49 < 60
2 C 67 c 99 2 50 > 62
3 D 68 d 100 3 51 @ 64
4 E 69 e 101 4 52 [ 91
5 F 70 f 102 5 53 \ 92
6 G 71 g 103 6 54 ] 93
7 H 72 h 104 7 55 _ 95


Trang 22

Text Compaction Sub-Modes
Base 30 Uppercase Lowercase Mixed Punctuation

Value Char ASCII Char ASCII Char ASCII Char ASCII

8 I 73 i 105 8 56 ‘ 96
9 J 74 j 106 9 57 ~ 126
10 K 75 k 107 & 38 ! 33
11 L 76 l 108 CR 13 CR 13
12 M 77 m 109 HT 9 HT 9
13 N 78 n 110 , 44 , 44
14 O 79 o 111 : 58 : 58
15 P 80 p 112 # 35 LF 10
16 Q 81 q 113 - 45 - 45
17 R 82 r 114 . 46 . 46
18 S 83 s 115 $ 36 $ 36
19 T 84 t 116 / 47 / 47
20 U 85 u 117 + 43 “ 34
21 V 86 v 118 % 37 | 124
22 W 87 w 119 * 42 * 42
23 X 88 x 120 = 61 ( 40
24 Y 89 y 121 ^ 94 ) 41
25 Z 90 z 122 PUN ? 63
26 SP 32 SP 32 SP 32 { 123
27 LOW T_UPP LOW } 125


Trang 23

Text Compaction Sub-Modes
Base 30 Uppercase Lowercase Mixed Punctuation
Value Char ASCII Char ASCII Char ASCII Char ASCII


28 MIX MIX UPP ‘ 39
29 T_PU T_PUN T_PUN UPP
Trong đó, 6 ký tự trong bảng, chúng cho phép thay đổi các chế độ con:
UPP : Chuyển sang chế độ “Uppercase”
LOW : Chuyển sang chế độ "Lowercase"
MIX : Chuyển sang chế độ "Mixed"
PUN : Chuyển sang chế độ "Punctuation"
T_UPP : Chuyển sang chế độ "Uppercase" chỉ duy nhất với ký tự tiếp
T_PUN : Chuyển sang chế độ "Punctuation" chỉ duy nhất với ký tự tiếp
Chế đột nén “Text” mỗi codeword mã hóa 2 ký tự, và giá trị codeword được
tính như sau:
CW = C
1
x 30 + C
2

Nếu chỉ có duy nhất một ký tự, chúng ta sẽ thêm vào một ký tự đệm, trong
trường hợp này thường dùng là: T_PUN.
Ví dụ:
Ký tự cần chuyển là: Diem !
D: 3, LOW: 27, i: 8, e: 4, m: 12, SPACE: 26, T_PUN: 29, !: 10
Có tất cả 8 ký tự vì thế ta không cần thêm T_PUN vào ký tự cuối cùng
CW
1
= 3 x 30 + 27 = 117
CW
2
= 8 x 30 + 4 = 244
CW
3

= 12 x 30 + 26 = 386
CW
4
= 29 x 30 + 10 = 880
Chuỗi mã hóa dạng như sau: 117, 244, 386, 880
c. Chế độ nén “Numeric”:
Để thực hiện chuyển đổi:
Chia mỗi nhóm 44 chữ số (nhóm cuối cùng có ít hơn hoặc bằng 44 chữ số);
Thêm chữ số 1 vào đầu;
Thực hiện thay đổi cơ bản như chế độ “Byte”;


Trang 24

Mỗi nhóm 44 chữ số thì có 15 codeword, nếu nhỏ hơn 44 ta có công thức tính
như sau: Số chữ số / 3 + 1
Ví dụ: Mã hóa chuỗi: 12345
Tính số codeword: 5 \ 3 + 1 = 2 (CW)
thêm chữ số “1” vào đầu, ta được: 112 345
CW
0
= 112 345 MOD 900 =745
S = 112 345 / 900 = 124
CW
1
= 124 MOD 900 = 124
Kết quả thu được: 124, 745
Codeword trái và phải

Hình 2.6: Minh họa mã vạch

L
i
và R
i
là các vùng codeword trái và phải, đây là các chỉ số dòng. Chúng được
mã hóa từ thông tin một số codeword chính: số lượng hàng(F), số hàng(r), số cột(c) và
bậc sửa sai(E). Thông tin được lập lại trên các hàng. Giá trị của các vùng codeword
trái và phải tính theo công thức:
(F/ 3)*30 + X
X được xác định theo công thức:
Bảng X của vùng trái X của vùng phải
1 (r– 1) / 3 c- 1
2 (E x 3) + (r - 1) mod 3 (r - 1) / 3
3 (c - 1) (E x 3) + (r - 1) mod 3
Để biết bảng 1, bảng 2 và bảng 3 xem phần mã hóa cấp thấp sau đây:


Trang 25

 Mã hóa cấp thấp (low lever endcoding): Sau khi mã hóa cấp cao, các codeword
tiếp tục được mã hóa chuyển về dạng mã nhị phân.
Mỗi codeword có 17 modul, gồm 4 vạch tối và 4 vạch sáng và codeword bắt
đầu bằng một vạch tối độ dài từ 1 đến 6 modul.
Mã ký tự bắt đầu là: 11111111 0 1 0 1 0 1 000
Mã ký tự kết thúc là: 1111111 0 1 000 1 0 1 00 1
Với cách sắp xếp như vậy, sẽ có 929 mô hình cho codeword và người ta chia
mô hình đó ra làm ba bảng:
Bảng 1 Bảng 2 Bảng 3
111 0 1 0 1 0 111 000000


11111 0 1 0 1 0 11 00000

11 0 1 0 1 0 11111 00000

1111 0 1 0 1 0 1111 0000

111111 0 1 0 1 0 111 000

111 0 1 0 1 0 111111 000

11111 0 1 0 1 0 11111 00

1111 0 1 0 1 00 1 000000

1 0 1 0 1 00 1111 000000

… … …
Và mỗi dòng chỉ thuộc một bảng, cách xác định:
K= ((số dòng -1) MOD 3)*3
Các phép toán: -/phép trừ, */phép nhân, MOD/phép lấy dư
Với K là giá trị tương ứng của bảng 1, bảng 2 và bảng 3:
Bảng 1 0
Bảng 2 3
Bảng 3 6
2.2 Ứng dụng mã vạch hai chiều PDF417 trong nghiệp vụ nhập điểm.
Bài toán đặt ra là giải quyết vấn đề nhập điểm hiện nay cho cán bộ nhập điểm
thi tại các trường đại học cần có phương pháp hiệu quả hơn để thay thế phương pháp
truyền thống. Mã PDF417 có khả năng lưu trữ lượng thông tin rất lớn, đủ để mã hóa
dữ liệu điểm của sinh viên trên một tờ A4. Đồng thời, thời gian đọc mã vạch của các
thiết bị đọc mã vạch là nhanh hơn rất nhiều so với việc nhập điểm bằng thủ công hiện

nay. Với cách dùng phiếu điểm bằng đánh dấu, ta phải quét bằng máy quét sau đó chạy
phần mềm nhận dạng. Công việc đó cũng đã chính xác cao, nhanh và mất hai phút cho
một phiếu điểm. Trong khi đó việc đọc dùng máy đọc mã vạch chỉ mất không đến 1
giây. Điều này không những tiện lợi cho giảng viên phụ trách lớp môn học mà còn hỗ
trợ tối đa cho nhân viên phòng đào tạo trong quá trình nhập điểm.

×