Tài liệu Cơ sở dữ liệu thời gian thực và ứng dụng trong bài toán tính cước và chăm sóc khách hàng ppt

4 1.7K 25
Tài liệu Cơ sở dữ liệu thời gian thực và ứng dụng trong bài toán tính cước và chăm sóc khách hàng ppt

Đang tải... (xem toàn văn)

Thông tin tài liệu

Lĩnh vực Công nghệ thông tin Cơ sở dữ liệu thời gian thựcứng dụng trong bài toán tính cớc chăm sóc khách hàng ThS.Đặng Hà Vinh,KS. Nguyễn Đăng Quang Trung tâm Công nghệ Thông tin Tóm tắt: Cơ sở dữ liệu trong bộ nhớ IMDS (In Memory Database System hoặc còn gọi là MMDS - Main Memory Database System) một vai trò rất quan trọng trong sự phát triển của ngành công nghệ thông tin hiện đại. IMDS xuất hiện trong các hệ thống cung cấp các dịch vụ yêu cầu các đáp ứng thời gian thực nh các Tổng đài thế hệ mới, các router hoặc các chơng trình phải xử lý số lợng rất lớn các giao dịch trong một giây nh các hệ thống xử lý cớc nóng, hệ thống chăm sóc khách hàng, hệ thống cung cấp SMS, hệ thống cung cấp các dịch vụ trên Internet. Để nâng cao tính mềm dẻo, độ thông minh khả năng xử lý dữ liệu nhanh của các sản phẩm phần mềm của mình, nhóm thiết kế phòng Phần mềm Viễn thông thuộc trung tâm Công nghệ Thông tin đã nghiên cứu để ứng dụng công nghệ sở dữ liệu bộ nhớ vào trong Hệ thống Tính cớc chăm sóc khách hàng đang đợc nâng cấp. 1.Yêu cầu thực tiễn Mức độ thông minh của các thiết bị viễn thông ngày càng tăng đi đôi với nó là khối l- ợng dữ liệu mà các hệ thống phần mềm nhúng phải xử lý ngày càng nhiều phức tạp. Các nhà phát triển phần mềm nhúng nhận thấy rằng các tổ chức dữ liệu theo phơng pháp tiếp cận truyền thống trở nên ngày càng khó khăn chơng trình trở nên khó bảo dỡng nâng cấp mỗi khi nảy sinh yêu cầu mới. Các chơng trình cung cấp các dịch vụ thời gian thực hoặc gần thực trở nên nặng nề khi sử dụng các flat-file hoặc sở dữ liệu truyền thống chậm chạp. Cùng với đó, giá RAM ngày cảng giảm tốc độ CPU ngày càng nhanh khiến cho các nhà phát triển nghĩ tới lối thoát là xây dựng các sở dữ liệu trong bộ nhớ. IMDS đã ra đời từ nhu cầu đó. Các nhà phát triển phần mềm lúc này chỉ việc chú trọng vào việc giải quyết bài toán của mình còn việc tổ chức, lu trữ truy suất dữ liệu trong bộ nhớ thế nào hoàn toàn do IMDS đảm nhiệm. Việc sử dụng IMDS đặc biệt phát huy hiệu quả trong các hệ thống nhúng nh các IP router hiện đại, các tổng đài thế hệ mới, các phần mềm cần yêu cầu cao về hiệu xuất thời gian đáp ứng. Các sản phẩm của một số hãng lớn đều sử dụng các IMDS nh Kenan của CSG, các giải pháp của Amdocs 2. So sánh DBMS IMDS Các DBMS truyền thống lu trữ dữ liệu trên đĩa cứng nên tốc độ truy xuất dữ liệu bị hạn chế bởi tốc độ chậm chạp của các linh kiện khí tạo nên đĩa cứng. Còn đúng nh tên gọi, IMDS lu trữ dữ liệu hoàn toàn trên bộ nhớ chỉ truy xuất đĩa cứng trong trờng hợp cần. Phải chăng IMDS chỉ đơn giản là các DBMS đợc nạp hoàn toàn vào bộ nhớ? Câu trả lời là không. IMDS những khác biệt bản với ngời họ hàng DBMS của nó. Do không phải truy xuất đĩa cứng nữa nên không phần dữ liệu nào bị chuyển qua lại giữa đĩa cứng bộ nhớ. Điều đó dẫn tới giảm thiểu đợc tiêu tốn xung nhịp CPU đáp ứng nhanh hơn từ hàng chục đến hàng trăm lần so với các DBMS truyền thống. Sau đây là các khác biệt bản giữa DBMS truyền thống IMDS 2.1.Lu trữ tạm thời (Caching) Để hạn chế số lần phải truy xuất đĩa cứng, các DBMS truyền thống đều sử dụng biện pháp lu giữ phần dữ liệu đợc truy xuất mới nhất trong bộ nhớ. Caching bao gồm cả việc đồng Học viện Công nghệ BCVT Hội nghị Khoa học lần thứ 5 bộ dữ liệu. Việc này đảm bảo rằng phần ảnh của dữ liệu đợc cache giống với phần gốc đợc lu trên đĩa cứng của nó. Ngoài ra caching gồm cả thủ tục tìm kiếm dữ liệu. Nếu dữ liệuứng dụng yêu cầu nằm trong cache thì nó đợc lấy ra trả về cho chơng trình, nếu không thì dữ liệu này sẽ đợc lấy ra từ đĩa cứng thêm vào cache để cho những lần dùng sau. Đối với các DBMS, các thủ tục này đều đợc thực hiện cho nó đợc nạp vào bộ nhớ. Còn đối với các IMDS, do loại bỏ đợc công đoạn ra vào đĩa nên caching là không cần thiết do đó giảm bớt đợc sự phức tạp tiêu tốn tài nguyên RAM xung nhịp CPU 2.2. Data-Transfer Overhead Chúng ta hãy xem xét điều gì sẽ xẩy ra khi ứng dụng truy vấn dữ liệu sau đó thay đổi nó ghi lại trên DBMS truyền thống. Hình 1: Luồng dữ liệu luân chuyển trong một DBMS truyền thống Màu đỏ thể hiện luồng dữ liệu Mầu xám thể hiện luông thông điệp 1. ứng dụng truy vấn dữ liệu từ CSQL thông qua các giao diện API của nó. 2. CSDL hớng dẫn hệ thống file lấy dữ liệu từ thiết bị lu trữ. 3. Hệ thống file sẽ chuyển một bản copy của dữ liệu vào cache của nó chuyển một bản copy khác trả lại cho CSDL. 4. CSDL giữ lại một bản copy cho cache của nó chuyển một bản cho ứng dụng. 5. ứng dụng cập nhật dữ liệu chuyển nó trở lại cho CSDL thông qua các API của nó 6. CSDL sao lại dữ liệu đã thay đổi vào cache. 7. Bản sao của cache của CSDL cuối cũng cũng sẽ đợc lu vào hệ thống file, tại đó cache của hệ thống file cũng đợc cập nhật. 8. Cuối cùng thì dữ liệu lại đợc ghi vào thiết bị lu trữ vật lý Các bớc này là trình tự bản không thể bỏ qua trong bất kỳ một CSDL truyền thống nào ngay cả khi công việc đợc thực hiện hoàn toàn trong bộ nhớ. Các bớc này trong thực tế còn phức tạp hơn nhiều khi tính đến các công đoạn Log các thao tác một số công đoạn quan trọng khác Học viện Công nghệ BCVT Lĩnh vực Công nghệ thông tin Ngợc lại, trong các IMDS, việc truyền dữ liệu qua lại là không cần thiết. CSDL cho cho phép ngời dùng truy cập dữ liệu thông qua các con trỏ trực tiếp tới dữ liệu. Tuy nhiên dữ liệu vẫn đợc đảm bảo an toàn do con trỏ này chỉ đợc sử dụng thông qua các API của IMDS. Loại bỏ đợc việc phải chuyền dữ liệu qua lại nhiều lần làm tăng tốc độ truy xuất dữ liệu. Giảm đợc số lợng bản sao của dữ liệu dẫn đến giảm tài nguyên chiếm dụng bởi CSDL. Sự đơn giản trong hoạt động khiến cho thiết kế đơn giản làm tăng độ tin cật của hệ thống 2.3. Xử lý giao dịch Trong các trờng hợp sự cố nghiêm trọng nh là mất điện, CSDL dựa trên đĩa cứng sẽ đợc khôi phục bằng cách commit những giao dịch đã đợc hoàn tất hồi phục lại dữ liệu liên quan đến những giao dịch cha hoàn tất từ log file khi hệ thống khởi động lại. Các CSDL truyền thống xử lý các giao dịch dựa trên các log file. IMDS cũng cup cấp các tính năng đảm bảo tính toàn vẹn của các giao dịch. Để làm điều này, các IMDS lu lại các bản sao của các đối tợng đợc cập nhật hay bị xóa một danh sách các dữ liệu đợc chèn vào CSDL trong suốt quá trình giao dịch diễn ra. Khi ứng dụng commit giao dịch, phần bộ nhớ của các bản sao của các dữ liệu đợc bỏ đi các dữ liệu đợc chèn vào đợc chuyển tới vùng nhớ chứa dữ liệu chính của CSDL, thao tác này đợc thực hiện rất nhanh hiệu quả. Nếu ứng dụng hủy giao dịch thì các bản sao dữ liệu đợc chuyển thành bản chính các dữ liệu đợc chèn vào trong quá trình giao dịch bị huỷ bỏ. Nếu các sự cố nghiêm trọng xẩy ra thì dữ liệu trong IMDS sẽ bị mất. Đó là điều khác biệt lớn giữa các DBMS truyền thống các IMDS. Khi hệ thống đợc khởi động lại, để thể tiếp tục sử dụng đợc thì dữ liệu phải đợc nạp lại bằng cách này hay cách khác. Nguyên nhân của sự khác biệt này là IMDS đợc tạo ra để tăng tối đa tốc độ truy xuất dữ liệu thể nên một số tính năng nh ghi log file các tính năng làm ảnh hởng đến hiệu xuất khác đều bị loại bỏ. Đặc tính này của IMDS rõ ràng là không phù hợp với mọi loại ứng dụng. Tuy nhiên lại rất thích hợp trong lĩnh vực phần mềm nhúng hoặc những ứng dụng đòi hỏi truy xuất dữ liệu với tốc độ thời gian thực. Tuy nhiên một phần lớn các IMDS hiện nay đều cung cấp tính năng Sao lu Hồi phục dữ liệu. thể kể đến các IMDS phổ biến là: FastDB, GigaBase, Goods 3. Các mô hình IMDS Hiện tại, các IMDS cha hề chuẩn. Các hãng phát triển hoặc là áp dụng các chuẩn của DBMS hoặc tự định nghĩa riêng cho mình. Các cách tiếp cận triển khai, các khái niệm của chúng cũng khác nhau. Trên thế giới các IMDS tồn tại dới 2 mô hình chính là mô hình h- ớng ứng dụng (Application Oriented - AO) mô hình Client/Server. Phần lớn các IMDS hiện nay đều là các CSDL hớng đối tợng hoặc CSDL Hớng đối tợng - Quan hệ. 3.1. Mô hình client/server Đây là mô hình gần với các DBMS truyền thống nhất nổi bật trong số này là GOODS (Generic Object Oriented Database System). Chúng hỗ trợ môi trờng phân tán rất nhiều tính năng của một DBMS nhng lợi điểm là truy xuất dữ liệu rất nhanh so với các sản phẩm truyền thống. Client Server thể nằm trên các node khác nhau. Mô hình này thờng đợc sử dụng trong các ứng dụng lớn với những đòi hỏi khắt khe về thời gian đáp ứng. GOODS là một IMDS mã nguồn mở khá mạnh với rất nhiều tính năng của một DBMS nh Replication, quản lý các giao dịch chặt chẽ nhờ các REDO log Global History Log. GOODS là một CSDL phân tán, dữ liệu thể đặt trên nhiều node trong mạng. Học viện Công nghệ BCVT Hội nghị Khoa học lần thứ 5 3.2.Mô hình AO Đây là một mô hình khá phổ biến của IMDS. Chúng đợc cung cấp dới dạng các th viện nhúng vào trong chơng trình phần mềm. Thực chất chúng cung cấp các dịch vụ lu trữ, truy vấn cập nhật dữ liệu cho các ứng dụng. Thờng thì các IMDS không thể sửa đổi cấu trúc khi chạy chơng trình mà điều này đợc thực hiện khi viết chơng trình ví dụ của loại này là FastDB, GigaBase, Berkeley DB. Đa phần IMDS cũng cung cấp khả năng Sao lu hồi phục dữ liệu. Khi ứng dụng gặp sự cố thì dữ liệu vẫn thể khôi phục lại đợc nh trớc đó nhờ các file dữ liệu đợc lu trên ổ cứng. Các IMDS loại này mang lại cho ứng dụng khả năng truy cập dữ liệu rất nhanh. Các DBMS loại này thờng chỉ hỗ trợ việc truy cập dữ liệu từ một hay nhiều tiến trình trong cùng một ứng dụng chứ không cho phép nhiều ứng dụng cùng truy cập. CSDL loại này đợc dùng nhiều trong các ứng dụng đòi hỏi tốc độ xử lý cao phải quản lý rất nhiều tham số nh hệ thống tính cớc của chúng tối là một ví dụ. 3.3. áp dụng vào Hệ thống Tính cớc chăm sóc khách hàng Sau khi thiết kế hệ thống Tính cớc và Chăm sóc khách hàng, hệ thống đã phức tạp lên rất nhiều, các bảng tham số đã lên tới hơn 70 cấu trúc tham số vô cùng phức tạp. Việc quản lý các thông số này trở nên khó khăn dễ gây lỗi. Chúng tôi đã nghĩ ngay đến việc ứng dụng IMDS vào chơng trình để giảm bớt công sức trong việc quản lý các tham số. Sau một số thời gian nghiên cứu tìm kiếm thông tin trên mạng, chúng tôi đã tìm đ- ợc một số IMDS phù hợp với nhu cầu điều kiện của mình. Sau đây chúng tôi xin giới thiệu 2 IMDS nổi bật là FastDB GigaDB. Đây đều là 2 IMDS mã nguồn mở đã đợc sử dụng khá phổ biến. Cả hai cùng cung cấp tính năng sao lu phục hồi dữ liệu rất tốt. Chúng là các AO viết bằng ngôn ngữ C++ nên việc giao tiếp cũng rất thuận lợi. một điều đặc biệt quan trọng, chúng đều là các CSDL hớng đối tợng nên rất thuận tiện trong việc tích hợp vào các chơng trình hiện tại của phòng đang phát triển bằng công nghệ hớng đối tợng. GigaBase sử dụng kỹ thuật page-pool để truy cập dữ liệu nên sẽ lu trữ đợc nhiều dữ liệu hơn nhng chậm hơn so với FastDB sử dụng kỹ thuật virtual-memory. Qua cân nhắc, chúng tôi lựa chọn FastDB do chơng trình Tính cớc của chúng tôi đòi hỏi thời gian đáp ứng ngắn phải xử lý rất nhiều dữ liệu cuộc gọi. Sau đây chúng tôi xin giới thiệu về FastDB: FastDB là một IMDS hớng ứng dụng hớng đối tợng, mã nguồn mở. Nó một số tính năng mạnh nh quản lý giao dịch, tự động sao lu hồi phục khi sự cố. Thủ tục commit hoạt động rất hiệu quả dựa trên thuật toán shadow root pages. một tính năng rất hay nữa của FastDB là nó hỗ trợ truy vấn dữ liệu thông qua một ngôn ngữ gần giốn SQL (SQL liked language). Câu lệnh truy vấn bao gồm: điều kiện lọc dữ liệu, sắp xếp dữ liệu. Một bản ghi trong FastDB chính là một đối tợng của chơng trình. Các thủ tục trong đối tợng đó thể dùng nh những từ khóa trong câu lệnh truy vấn dữ liệu. Công nghệ sắp xếp tìm kiếm dữ liệu ở đây là T-tree, extensible hash table, GiST khiến cho chơng trình thể truy vấn dữ liệu rất hiệu quả. Với những tính năng u việt của mình, FastDB sẽ đóng một vai trò quan trọng trong hệ thống Tính cớc và Chăm sóc khách hàng của chúng tôi trong thời gian tới. Mong rằng bài tham luận của chúng tôi sẽ giúp ích đợc nhiều cho quí độc giả. Học viện Công nghệ BCVT . Lĩnh vực Công nghệ thông tin Cơ sở dữ liệu thời gian thực và ứng dụng trong bài toán tính cớc và chăm sóc khách hàng ThS.Đặng Hà Vinh,KS. Nguyễn Đăng. đã nghiên cứu để ứng dụng công nghệ Cơ sở dữ liệu bộ nhớ vào trong Hệ thống Tính cớc và chăm sóc khách hàng đang đợc nâng cấp. 1.Yêu cầu thực tiễn Mức độ

Ngày đăng: 16/01/2014, 17:20

Từ khóa liên quan

Mục lục

  • Tóm tắt:

  • 1.Yêu cầu thực tiễn

  • 2. So sánh DBMS và IMDS

    • 2.1.Lưu trữ tạm thời (Caching)

    • 2.2. Data-Transfer Overhead

    • 2.3. Xử lý giao dịch

    • 3. Các mô hình IMDS

      • 3.1. Mô hình client/server

      • 3.2.Mô hình AO

      • 3.3. áp dụng vào Hệ thống Tính cước và chăm sóc khách hàng

        • Sau đây chúng tôi xin giới thiệu về FastDB:

Tài liệu cùng người dùng

Tài liệu liên quan