CHƯƠNG 1: TỔNG QUAN LÝ THUYẾT 1.1 Sự cần thiết tiến hành nghiên cứu Sự tăng lên cả về tính khả dụng và số lượng của các thiết bị cảm biến, các thiết bị di động, và các thiết bị thông minh đã dẫn tới sự bùng nổ về khối lượng, chủng loại và tốc độ sản sinh dữ liệu cũng như nhu cầu phân tích khối dữ liệu khổng lồ này ở các mức độ nhất định. Mặt khác, bởi vì xã hội đang trở nên ngày càng kết nối, những tổ chức khác nhau cũng đang sản sinh ra những khối lượng dữ liệu khổng lồ tương ứng từ các hoạt động điều phối kinh doanh hàng ngày, từ việc theo dõi các hoạt động khách hàng, từ các thiết bị đeo tay hỗ trợ người dùng, từ các ứng dụng tài chính kế toán hay từ các thí nghiệm khoa học đòi hỏi nguồn tài nguyên trang bị lớn. Lượng dữ liệu lớn này được gọi chung là Big Data bởi vì những thách thức nó tạo ra cho các cơ sở hạ tầng điện toán hiện tại cả về mặt truyền tải, lưu trữ, và xử lý dữ liệu. Trên thực tế, một phần lớn lượng dữ liệu này sẽ mang lại lượng thông tin có nhiều giá trị nhất chỉ khi nó được phân tích càng nhanh càng tốt ngay sau khi được tạo ra.
Với một vài ngữ cảnh ứng dụng đang nổi lên trong những năm gần đây như thành phố thông minh, giám sát hoạt động của các cơ sở hạ tầng lớn, hay Internet của vạn vật (IoT), những luồng dữ liệu liên tục này phải được xử lý với độ trễ rất nhỏ. Trong một số lĩnh vực, tồn tại nhu cầu xử lý luồng dữ liệu (data stream processing) để phát hiện ra các mẫu cần tìm, xác định các lỗi có thể gặp phải hoặc là thu được những thông tin chi tiết và nâng cao về đối tượng đang theo dõi. Để có thể đạt được mục tiêu này một trong số các giải pháp tiềm năng đó là sử dụng những ưu điểm của điện toán đám mây như tính kinh tế của đầu tư hạ tầng, tính co dãn của tài nguyên hay giảm tải và tiết kiệm băng thông. Đề tài này khảo sát các phương pháp xử lý luồng dữ liệu trên điện toán đám mây và nghiên cứu mô hình sử dụng các thuật toán nén để tối ưu về sử dụng hạ tầng mạng, tài nguyên tính toán và lưu trữ.
Bên cạnh đó, kết quả nghiên cứu của đề tài có tiềm năng đưa vào sử dụng trực tiếp cho các dự án IoT đang triển khai tại Việt Nam như nhà thông minh, nông nghiệp thông minh giúp tăng cường hiệu năng xử lý và phân tích dữ liệu của các hệ thống này.1 Hệ thống IoT Khái niệm "Internet of Things" (IoT) là sự kết hợp của hai yếu tố: "Internet" và "Things," mang ý nghĩa tạo ra một mạng kết nối giữa các vật được định danh và khả năng giao tiếp thông qua các giao thức chuẩn [1]. Một cách đơn giản, IoT đại diện cho sự giao thoa giữa các thiết bị thông minh và khả năng xử lý thông tin mà chúng tạo ra. Công nghệ này cho phép các hệ thống vật lý có khả năng quan sát, nghe, xử lý thông tin, và thực hiện các hoạt động tương tự như con người thông qua việc trao đổi thông tin giữa các thành phần trong hệ thống. Điều này giúp chuyển đổi các hệ thống tự động truyền thống thành các hệ thống thông minh, mô phỏng cách con người hoạt động.
IoT tạo nên sự kết hợp và tương tác của nhiều công nghệ, ví dụ như hệ thống nhúng, công nghệ truyền thông, mạng cảm biến, và nhiều công nghệ khác … Hình 1- 1 trình bày các ứng dụng của IoT trong các lĩnh vực khác nhau, với mỗi lĩnh vực đều có những đặc điểm riêng, trong đó sự trao đổi thông tin trực tiếp giữa các thiết bị đóng một vai trò quan trọng. Hình 0-1: Các lĩnh vực áp dụng công nghệ IoT Để một hệ thống IoT có thể hoạt động, cốt lõi của nó nằm trong kiến trúc mà nó áp dụng. Đây chính là lý do mà IoT có thể được hiểu như một giải pháp, bao gồm các bước cụ thể để thực hiện ý tưởng của hệ thống. Tuy nhiên, cho đến thời điểm 14 hiện tại, vẫn chưa tồn tại một kiến trúc IoT chung mà có thể áp dụng cho mọi lĩnh vực, và các giải pháp hiện có chỉ ở mức độ nghiên cứu.
Do đó, giải pháp này thường được gọi là "Internet of Things reference architecture." hay mô hình tham chiếu Trong hàng loạt các mô hình đề xuất, mô hình ba lớp được coi là kiến trúc truyền thống [2]–[4]. Từ mô hình này, các biến thể đã được phát triển để phù hợp với từng lĩnh vực cụ thể. Kiến trúc truyền thống Theo các nghiên cứu trong [2]–[4], kiến trúc IoT truyền thống sẽ bao gồm ba lớp, Hình 1-2: Hình 0-2: Kiến trúc IoT truyền thống The perception layer là tầng tương tác với môi trường vật lý để thu thập các thông tin vật lý thông qua các cảm biến và tác động thông qua các cơ cấu chấp hành. Các chuẩn "plug-and-play" được ưu tiên sử dụng cho các vật với các yêu cầu thiết kế khác nhau [4].
Tầng nhận thức sẽ số hóa và gửi dữ liệu qua các kênh bảo mật cho các tầng phía trên. The network layer hoạt động như những chiêc cầu kết nối các thiết bị thông minh ở tầng perception layer và các máy chủ server ở tầng application layer. Do các thiết bị ở tầng Things sử dụng rất nhiều giao thức khác nhau, tầng này như một cộng cụ lọc để chuẩn hóa cho các giao tiếp ở tầng trên. The application layer có nhiệm vụ cung cấp cho người dùng những chức năng cụ thể.
Vì vậy nhiệm vụ của tầng này sẽ phụ thuộc vào mục đích mà giải pháp IoT được áp dụng, ví dụ như nhà thông minh, thành phố thông minh, … Kiến trúc tham khảo Kiến trúc truyền thống chỉ mang ý nghĩa nghiên cứu, trong các ứng dụng sẽ sử dụng kiến trúc IoT tham khảo: 15 Hình 0-3: Kiến trúc IoT tham khảo Tầng Things: Theo Hình 1-3, các mạch đo Sensors hoặc các cơ cấu chấp hành Actuators sẽ tương tác với môi trường vật lý và tạo ra dữ liệu để gửi lên phía Gateway thông qua các giao thức thông dụng như Bluetooth, Zigbee,. Các thiết bị này đa phần là nhỏ gọn với sức mạnh tính toán không quá lớn vì mục tiêu của các thiết bị là (1) đối với mạch đo Sensor là thu thâp dữ liệu thông qua và gửi các thông tin đó cho các tầng phía trên xử lý, (2) đối với mạch cơ cấu chấp hành Actuator là nhận lệnh điều khiển hoặc các process value tương ứng từ các tầng phía trên (thường là Gateway) và thực hiện yêu cầu đó. Ví dụ trong các ứng dụng tòa nhà thông minh, các mạch đo sau khi thu thập dữ liệu sẽ gửi về phía người dùng để theo dõi hoặc để người dùng ra các quyết định điều khiển. Giả sử trong trường hợp nhiệt độ căn phòng tăng quá cao so với ngưỡng đã được thiết lập, dưới tác động của cơ cấu chấp hành, máy sưởi (heater) có thể được tắt đi.
Với sử dụng một lượng lớn các mạch đo và cơ cấu chấp hành này, người dùng có thể tương tác nhiều hơn với chính căn nhà của mình, thậm trí từ các khoảng cách các xa. Điều này có thể dẫn đến nâng cao độ thoải mái và giảm năng lượng tiêu thụ của cả tòa nhà. Tầng Gateway là một tầng vô cùng quan trọng trong kiến trúc của một hệ thống IoT, vì khác với các ứng dụng web hay mobile, các dự án IoT phải tính đến vấn đề xử lý dữ liệu thời gian thực, đặc biệt là ra quyết định thời gian thực. Thời gian thực có thể hiểu là độ trễ ít nhất.
Vì vậy cần một thiết bị có khả năng xử lý dữ liệu thời gian thực, đảm bảo độ trễ ít nhất mà lại không nằm quá xa so với các thiết bị tầng Things, đó là lý tầng này được sinh ra. Về mặt sức mạnh tính toán, các thiết bị của 16 tầng này có sức mạnh tính toán lớn hơn các thiết bị tầng Things nhưng nhỏ hơn các thiết bị tầng Cloud. Nhiệm vụ của Gateway thông thường gồm: ● Xử lý, loại bỏ bớt các dữ liệu lỗi mà các thiết bị tầng Things gửi lên, ● Lưu trữ dữ liệu tạm thời trong trường hợp Web Server bị mất kết nối, ● Ra quyết định trong các trường hợp cần có những tác động lại về môi trường vật lý bị gới hạn thời hạn (soft/ hard time-bound). Tầng Cloud là tầng có sức mạnh tính toán mạnh nhất trong kiến trúc của một hệ thống IoT.
Với sức mạnh tính toán mạnh mẽ, các thiết bị tầng Cloud có thể xử lý một lượng lớn dữ liệu. Thông thường, tầng Cloud được sử dụng để lưu trữ dữ liệu lâu dài, xử lý dữ liệu lớn, đưa ra các quyết định dựa trên dữ liệu lớn đó. Ví dụ, trong các ứng dụng y tế, các thiết bị tầng Things sẽ gửi dữ liệu về tình trạng sức khỏe của bệnh nhân lên tầng Cloud, tầng Cloud sẽ lưu trữ dữ liệu này và đưa ra các quyết định dựa trên dữ liệu lớn đó. Các quyết định này có thể là đưa ra lời khuyên cho bệnh nhân, hoặc đưa ra các quyết định về việc điều khiển các thiết bị tầng Things.
Ví dụ, nếu tình trạng sức khỏe của bệnh nhân không tốt, tầng Cloud sẽ đưa ra lời khuyên cho bệnh nhân nên nghỉ ngơi, hoặc đưa ra quyết định điều khiển các thiết bị tầng Things như máy đo huyết áp, máy đo đường huyết, máy đo nhịp tim,. để đo lại các chỉ số này. Mô hình điện toán đám mây Trong kiến trúc truyền thống, các dữ liệu được tạo ra từ các thiết bị ở tầng dưới được truyền lên đám mây để xử lý tập trung. Khi các dịch vụ của đám mây được cung cấp bởi bên thứ ba là các tập đoàn công nghệ lớn như Amazon hay Google thì mô hình này còn được gọi là điện toán đám mây (Cloud Computing).
Ý tưởng của mô hình này là người phát triển có thể tập trung vào phát triển các tính năng của dự án và việc quản lý hạ tầng nơi dự án được triển khai sẽ được lo liệu bởi các tập đoàn công nghệ lớn như Microsoft Azure1 hay Amazon AWS2. Những ưu điểm của mô hình này mang lại bao gồm tính kinh tế của đầu tư hạ tầng, tính co dãn của tài nguyên sử dụng, và sự giảm tải, tiết kiệm băng thông. Trong đó, tính năng co dãn là đặc biệt quan trọng đối với các nhà cung cấp dịch vụ mô hình này [5]–[7].