Một cách tiếp cận trong xây dựng cơ sở dữ liệu trạng thái dựa vào chuỗi thời gian
Cơ sở dữ liệu thời gian thực là một mô hình dữ liệu lý thuyết thể hiện được bản chất dữ liệu trong
thực tế, nhưng việc cài đặt nó là một việc gần như không thực hiện được. Trong bài báo này chúng
tôi đề xuất một dạng rút gọn của của sở dữ liệu thời gian thực là cơ sở dữ liệu trạng thái dựa vào
chuỗi thời gian. Dữ liệu này thể hiện ở ba trạng thái là đã xảy ra (dữ liệu được lưu trữ), hiện tại (dữ
liệu đang cập nhật) và dự báo (dữ liệu được suy diễn ra) tương ứng với các trạng thái thời gian là
quá khứ, hiện tại và tương lai. Chúng tôi đã tiến hành cài đặt thử nghiệm kỹ thuật xây dựng CSDL
dự báo cho một thời điểm ở tương lai sử dụng cơ sở dữ liệu International Revenue của công ty
viễn thông Telstra của Úc để kiểm chứng. Kết quả cài đặt tỏ ra có hiệu quả, đáp ứng yêu cầu thực
tế khi tổng hợp báo cáo tại bất cứ thời điểm nào đối với dữ liệu. Bài báo này có 4 phần: Phần 1 cơ
sở lý thuyết trình bày một số vấn đề liên quan đến lý thuyết về cơ sở dữ liệu thời gian. Phần 2 mô
tả cơ sở dữ liệu trạng thái và phần 3 Đề xuất bài toán và cài đặt thử nghiệm. Cuối cùng là kết luận
và hướng phát triển.
Tóm tắt nội dung tài liệu: Một cách tiếp cận trong xây dựng cơ sở dữ liệu trạng thái dựa vào chuỗi thời gian
Dương Thị Nhung và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 135(05): 25 - 30 25 MỘT CÁCH TIẾP CẬN TRONG XÂY DỰNG CƠ SỞ DỮ LIỆU TRẠNG THÁI DỰA VÀO CHUỖI THỜI GIAN Dương Thị Nhung1*, Nguyễn Văn Đoài2 1Trường Đại học Công nghệ Thông tin và Truyền thông – Đại học Thái Nguyên 2Học viện Quản lý Giáo dục TÓM TẮT Cơ sở dữ liệu thời gian thực là một mô hình dữ liệu lý thuyết thể hiện được bản chất dữ liệu trong thực tế, nhưng việc cài đặt nó là một việc gần như không thực hiện được. Trong bài báo này chúng tôi đề xuất một dạng rút gọn của của sở dữ liệu thời gian thực là cơ sở dữ liệu trạng thái dựa vào chuỗi thời gian. Dữ liệu này thể hiện ở ba trạng thái là đã xảy ra (dữ liệu được lưu trữ), hiện tại (dữ liệu đang cập nhật) và dự báo (dữ liệu được suy diễn ra) tương ứng với các trạng thái thời gian là quá khứ, hiện tại và tương lai. Chúng tôi đã tiến hành cài đặt thử nghiệm kỹ thuật xây dựng CSDL dự báo cho một thời điểm ở tương lai sử dụng cơ sở dữ liệu International Revenue của công ty viễn thông Telstra của Úc để kiểm chứng. Kết quả cài đặt tỏ ra có hiệu quả, đáp ứng yêu cầu thực tế khi tổng hợp báo cáo tại bất cứ thời điểm nào đối với dữ liệu. Bài báo này có 4 phần: Phần 1 cơ sở lý thuyết trình bày một số vấn đề liên quan đến lý thuyết về cơ sở dữ liệu thời gian. Phần 2 mô tả cơ sở dữ liệu trạng thái và phần 3 Đề xuất bài toán và cài đặt thử nghiệm. Cuối cùng là kết luận và hướng phát triển. Từ khoá: Cơ sở dữ liệu thời gian thực, chuỗi thời gian, dự báo, trạng thái ĐẶT VẤN ĐỀ* Cơ sở dữ liệu thời gian thực là một mô hình dữ liệu được xây dựng trên lý thuyết để thể hiện các mối quan hệ thực tế của đời sống được cụ thể hóa dưới dạng dữ liệu thời gian. Đã có nhiều nghiên cứu về mặt học thuật như xây dựng mô hình để biểu diễn dữ liệu thời gian, thiết lập quan hệ, xây dựng ngôn ngữ truy vấn trên cơ sở dữ liệu thời gian, biểu diễn cơ sở dữ liệu thực, thiết kế và tối ưu hóa cơ sở dữ liệu thời gian [1], [5]. Tuy nhiên việc cài đặt thực tế cơ sở dữ liệu thời gian thực rất khó khăn và phức tạp. Nếu như đúng với lý thuyết về cơ sở dữ liệu thời gian thì việc cài đặt, biểu diễn nó trên máy tính là việc gần như không thể thực hiện được. Vì vậy, để đơn giản hóa mà không làm mất đi tính chất của cơ sở dữ liệu thời gian thực, trong bài báo này chúng tôi đề xuất một dạng rút gọn của sở dữ liêu thời gian thực là cơ sở dữ liệu trạng thái dựa vào chuỗi thời gian, thể hiện dữ liệu ở ba trạng thái: quá khứ, hiện tại và tương lai. Trong đó dữ liệu dạng quá khứ là những số liệu đã quyết toán, dữ * Tel: 0914 340700, Email: dtnhungtn@gmail.com liệu hiện tại là những số liệu hiện có và dữ liệu tương lai là những số liệu được dự đoán xảy ra ở tương lai trên cơ sở căn cứ vào dữ liệu những số liệu đã quyết toán và dữ liệu hiện có [7]. Dữ liệu tương lai sẽ được sinh ra khi ta chủ động thực hiện lệnh tạo ra hoặc khi thực hiện việc truy xuất dữ liệu cho các báo cáo tại thời điểm dự báo trong tương lai dựa vào các dữ liệu quá khứ và hiện tại. KHÁI QUÁT LÝ THUYẾT VỀ CƠ SỞ DỮ LIỆU THỜI GIAN Một cơ sở dữ liệu được thiết kế, xây dựng và lưu trữ với một mục đích xác định như phục vụ lưu trữ, truy xuất dữ liệu cho các ứng dụng hay người dùng [6]. Thực tế dữ liệu được lưu trữ trong cơ sở dữ liệu, thể hiện trạng thái của cở sở dữ liệu tại một thời gian nhất định [8]. Bởi vì nội dung của cơ sở dữ liệu thay đổi khi thông tin được cập nhật hoặc bị xóa từ cơ sở dữ liệu nên chúng ta có thể định nghĩa một cơ sở dữ liệu với một tập các đối tượng dữ liệu, mỗi tập dữ liệu là một biến thay đổi theo thời gian và một trạng thái của cơ sở dữ liệu tại một thời điểm t là một giá trị của các biến cho các đối tượng Nitro PDF Software 100 Portable Document Lane Wonderland Dương Thị Nhung và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 135(05): 25 - 30 26 dữ liệu tại thời điểm t. Mỗi cơ sở dữ liệu thường có một tập các ràng buộc toàn vẹn mà dữ liệu trong cơ sở dữ liệu phải thỏa mãn. Một hệ cơ sở dữ liệu thời gian thực bao gồm hệ quản trị cơ sở dữ liệu truyền thống và hệ thống thời gian thực. Trong hệ cơ sở dữ liệu thời gian thực các đối tượng dữ liệu được chia thành các đối tượng dữ liệu liên tục và các đối tượng dữ liệu rời rạc [5]. Mô hình hệ thống cơ sở dữ liệu được mô tả trong hình 1. CƠ SỞ DỮ LIỆU Hình 1: Mô hình cơ sở dữ liệu thời gian thực Một giá trị của đối tượng dữ liệu liên tục phản ánh trạng thái của đối tượng này trong cơ sở dữ liệu thời gian thực. Giá trị này có thể không còn đúng trong khoảng thời gian đã trôi qua. Các đối tượng dữ liệu rời rạc là tĩnh và giá trị của nó không phụ thuộc vào thời gian. Các đối tượng dữ liệu liên tục có thể chia thành các đối tượng dữ liệu cơ sở và các đối tượng dữ liệu suy diễn. Giá trị của một đối tượng dữ liệu cơ sở có thể được nhận trực tiếp từ các sensor, trong khi giá trị của đối tượng suy diễn được tính toán từ tập giá trị của đối tượng cơ sở [3]. Trong hệ cơ sở dữ liệu thời gian thực ngoài tính logic như trong cơ sở dữ liệu truyền thống, dữ liệu phải thỏa mãn tính nhất quán thời gian. Có hai thể hiện khác nhau của các đối tượng dữ liệu là thể hiện bên ngoài (ở môi trường thế giới thực) và thể hiện bên trong (trong cơ sở dữ liệu) [4]. Hai thể hiện này có quan hệ với nhau và quan hệ này gọi là quan hệ nhất quán thời gian. Có hai kiểu nhất quán thời gian của dữ liệu là: nhất quán tuyệt đối và nhất quán tương đối. Mối quan hệ giữa nhất quán tuyệt đối và tương đối của dữ liệu được mô tả như hình 2. Hình 2: Mối quan hệ giữa các kiểu nhất quán tuyệt đối và tương đối của dữ liệu Nhất quán tuyệt đối: thể hiện bên trong của dữ liệu gần nhau hơn so với thể hiện bên ngoài của dữ liệu tại mọi thời điểm thời gian. Nhất quán tương đối: Tồn tại giá trị của tập các đối tượng dữ liệu có thể được sử dụng trong một thời điểm nhất định. Định lý [2]: Một đơn vị dữ liệu trong cơ sở dữ liệu thời gian thực được ký hiệu là ),,( timestampavivalued . Trong đó value là thời điểm hiện tại của d, timestamp là thời điểm quan sát khi tạo ra d, avi là khoảng hợp lệ tuyệt đối của d. Ký hiệu R là một tập nhất quán tương đối nghĩa là một tập các đối tượng dữ liệu nhận được từ một đơn vị dữ liệu mới. Mỗi tập R kết hợp với một khoảng hợp lệ tương đối ký hiệu là aviR , Giả thiết Rd , d có trạng thái đúng khi và chỉ khi: 1) valued là nhất quán logic và thỏa mãn tất cả các ràng buộc toàn vẹn 2) d là nhất quán thời gian Tuyệt đối: avitimestampecurrenttim ddd )( Tương đối: ' | ' )timestamp timestamp avid R d d R Đối tượng dữ liệu liên tục Đối tượng dữ liệu rời rạc TM- Tran saction Manager DOS- Data Operator System DM- Data manager Giao tác USER TM DOS DM Thiết bị vật lý Giao tác suy diễn Sensor Sensor Bộ điều khiển Thể hiện ngoài (x) Thể hiện ngoài (y) Cơ sở dữ liệu Nhất quán tương đối Thể hiện trong (y) Thể hiện trong (x) Nitro PDF Software 100 Portable Document Lane Wonderland Dương Thị Nhung và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 135(05): 25 - 30 27 ĐỀ XUẤT BÀI TOÁN VÀ CÀI ĐẶT THỬ NGHIỆM Đề xuất bài toán Để biểu diễn trạng thái của dữ liệu, trong cơ sở dữ liệu chúng tôi sử dụng thêm thuộc tính trạng thái, mỗi bản ghi sẽ có trạng thái tương ứng. Dữ liệu tương lai thuộc tính trạng thái sẽ có giá trị là dự báo (E), dạng hiện tại với số liệu thực được cập nhật, thuộc tính trạng thái có giá trị thực (A), ứng với dữ liệu đã được quyết toán thì thuộc tính trạng thái sẽ có giá trị quá khứ (S). Dữ liệu dự báo sẽ được sinh ra khi thực hiện lệnh tạo ra hoặc khi thực hiện việc truy xuất dữ liệu cho các báo cáo. Các dữ liệu sẽ được tự động sinh ra nhờ các thuật toán ngoại suy dữ liệu, gồm dữ liệu và tham số thuộc tính thời gian xác định dữ liệu này ở một thời điểm tương lai. Tuy nhiên, ta cũng có thể lựa chọn giá trị của dữ liệu cho các thời điểm ứng với các trạng thái quá khứ và hiện tại để suy ra dữ liệu ở tương lai. Để xây dựng dữ liệu ngoại suy chúng tôi sử dụng chuỗi thời gian. Như đã nói ở trên công thức cho việc nhận dạng chuỗi thời gian là khá rõ ràng [5] và số liệu để ngoại suy cũng thoả mãn điều kiện. Nhưng trong một vài trường hợp, dãy số liệu mà chúng ta có lại chỉ là thể hiện của một chuỗi thời gian nên việc dùng các đặc trưng mẫu trong tính toán không thể đảm bảo tính chính xác cho mô hình, trong trường hợp này để lựa chọn các tham số cho mô hình phải xin ý kiến chuyên gia. Vì vậy sau khi đã đã tìm hiểu về chuỗi thời gian, chúng tôi đã xây dựng một công cụ cho phép phân tích và nhận dạng chuỗi thời gian một cách trực quan hơn. Trong hình 3 thể hiện hình ảnh chuỗi số đầu vào với 28 số liệu. Sau khi thấy được hình ảnh về chuỗi số liệu ban đầu, có thể thực hiện dự báo tự động bằng cách bấm chuột vào nút "du bao" (dự báo). Tham số p: biểu thị số các số hạng tự hồi quy; d: bậc sai phân của chuỗi thời gian; và q là số các số hạng bình trượt trung. Đầu tiên d, p, q được khởi tạo bằng 0 thì có được hình ảnh của chuỗi số liệu ban đầu, sau khi bấm vào nút "dubao" (dự báo)chương trình sẽ dựa vào chuỗi số liệu để thực hiện dò tìm d, p, q sao cho sai số là nhỏ nhất. Khi đó bên phải nút dự báo sẽ là các hệ số (p, d, q) tìm được và bên trái sẽ là các hệ số 1 2 1 2, ,..., , ,...a a b b Cho công thức dự báo 0 0 p q i j i j X t a pX t i b p t j X(t) : quan sát dừng hiện tại; X(t-i), và t j : quan sát dừng và sai số dự báo quá khứ. a0, a1, a2, ..., b1, b2, ... : các hệ số phân tích hồi quy. Để hiển thị kết quả trực quan cho chuỗi mô phỏng cùng kết quả dự báo ta bấm chuột vào nút "MoPhong" (mô phỏng). Kết quả thu được hình ảnh chuỗi số liệu và chuỗi mô phỏng (Hình 4) chuỗi số liệu (đường màu đen) sau khi đã lấy sai phân lần 1 cho hình ảnh chuỗi mô phỏng (đường màu xanh) Hình 3: Chuỗi số liệu Hình 4: Chuỗi số liệu đầu vào và chuỗi mô phỏng Nitro PDF Software 100 Portable Document Lane Wonderland Dương Thị Nhung và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 135(05): 25 - 30 28 Ta có thể làm thực nghiệm dự báo bằng cách điều chỉnh bậc dự báo giả sử lấy bậc 1 (có nghĩa là phát sinh chuỗi mô phỏng sau khi đã cắt bỏ đi 1 số liệu cuối của chuỗi ban đầu) sau đó bấm chuột vào nút "bandau" (ban đầu) (Hình 5a), làm tương tự với bậc 2, bậc 3 (Hình 5b, Hình 5c). Hình 5a: Bậc 1 Hình 5b: Bậc 2 Hình 5c: Bậc 3 Hình 5: Chuỗi số liệu đầu vào và chuỗi mô phỏng sau khi điều chỉnh Có thể dự báo bằng cách tự chọn các bậc (p,d,q) một cách chủ quan dựa trên hình ảnh về các giá trị tự tương quan và tự tương quan riêng cho mỗi bậc sai phân có được bằng cách bấm vào các nút TuTuongQuan (Từ tương quan), TuongQuanRieng (tương quan riêng) tương ứng. có thể lựa chọn bộ ba (p,d,q) cho đến khi có được một mô hình phù hợp (nhờ sự cung cấp hình ảnh trực quan về chuỗi số liệu ban đầu và chuỗi mô phỏng của bộ ba (p,d,q) tương ứng) thì dựng lại và thực hiện dự báo như đã làm ở trên. Cài đặt thử nghiệm Telstra là một trong những công ty viễn thông hàng đầu thế giới của Australia. Công ty Telstra đã có một thời gian dài cho VNPT thuê các kênh truyền quốc tế như vệ tinh, cáp biển v.v.. Để tính toán được lợi nhuận thì cần phải có sự thanh toán khấu trừ quốc tế. Chẳng hạn, khi cuộc gọi điện từ Việt Nam sang Mỹ thì Việt Nam thu tiền còn Mỹ thì chịu các chi phí về đường dây đảm bảo cho cuộc gọi. Ngược lại, khi có cuộc điện thoại gọi từ Mỹ về Việt Nam thì Mỹ lại là nơi thu tiền còn Việt Nam lại phải chịu các phí tổn về đường dây. Lợi nhuận sẽ được xây dựng trên cơ sở có sự khấu trừ giữa các cuộc gọi đi và các cuộc gọi đến. Nhưng thực tế để có được các thông tin khấu trừ xác nhận của các đối tác thường rất chậm trễ. Thông thường việc có được các số liệu thực phải chậm hàng tháng, còn việc thanh toán thì lại chậm hàng quý. Bài toán thực tế được đặt ra tại thời điểm hiện tại, mặc dù các số liệu thực chưa có được thì ta có thể có các báo cáo liên quan không. Điều đó có nghĩa là phải ra được các báo cáo có tính chất dự báo. Công việc này là một công việc nặng nhọc tại công ty Telstra chi nhánh tại Việt Nam, có địa chỉ tại tầng 6, toà nhà 17 Ngô Quyền, Hà Nội. Hàng tháng, đến thời điểm cần có báo cáo, thường có 5 đến 6 nhân viên phải làm các công việc này một cách cật lực trên các bảng tính Excel theo cách thức dự báo của các nhà lập kế hoạch, như ở các phòng kế hoạch trong các cơ quan của ta. Chúng tôi đã cài đặt kỹ thuật đề xuất vào tổ chức dữ liệu trạng thái trong chương trình quản trị cơ sở dữ liệu International Revenue của công ty viễn thông Telstra của Úc (tại toà Nitro PDF Software 100 Portable Document Lane Wonderland Dương Thị Nhung và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 135(05): 25 - 30 29 nhà 17 Ngô Quyền, Hà Nội). Chương trình được sử dụng hiệu quả, đưa ra những kết quả, dữ liệu, thông tin đáp ứng với nhu cầu và những yêu cầu thực tế của công ty viễn thông Telstra đặt ra, rút ngắn được thời gian tính toán và tiết kiệm được kinh phí cho công ty. Hình 6 thể hiện một số kêt quả chương trình, báo cáo tổng hợp có thể thực hiện tại bất cứ thời điểm nào của dữ liệu. Nếu đã có dữ liệu quyết toán thì dữ liệu quyết toán được lựa chọn, nếu có dữ liệu thực nhưng chưa có dữ liệu quyết toán thì dữ liệu thực được lựa chọn, tại thời điểm chưa có dữ liệu thực, thì dữ liệu dự báo sẽ được tính toán. Hình 6a: Màn hình giao diện chính Hình 6b: Màn hình giao diện quản trị cơ sở dữ liệu Hình 6c: Báo cáo tổng hợp Hình 6: Một số kết quả chương trình KẾT LUẬN Cơ sở dữ liệu thời gian thực là một mô hình dữ liệu lý thuyết thể hiện được bản chất dữ liệu trong thực tế, nhưng việc cài đặt nó là một việc gần như không thực hiện được. Bài báo đưa ra đề xuất một dạng rút gọn của cơ sở dữ liêu thời gian thực là cơ sở dữ liệu trạng thái dựa vào chuỗi thời gian, thể hiện dữ liệu ở ba trạng thái là dự báo, thực và quyết toán tương ứng với các trạng thái dữ liệu thời gian là tương lai, hiện tại và quá khứ. Kỹ thuật xây dựng cơ sở dữ liệu thời gian đã được cài đặt thử nghiệm trong chương trình quản trị cơ sở dữ liệu International Revenue của công ty viễn thông Telstra của Úc và tỏ ra có hiệu quả, đáp ứng yêu cầu thực tế đòi hỏi tổng hợp báo cáo tại bất cứ thời điểm nào đối với dữ liệu. TÀI LIỆU THAM KHẢO 1. A. Artale, R. Kontchakov, V. Ryzhikov, and M. Zakharyaschev, Tailoring Temporal Description Logics for Reasoning over Temporal Models, Lecture Notes in Computer Science, 2011, volume 6989/2011. 2. Box G.E.P Jenkins G.M Time Series Analysis- Forecasting And Control. Holden –Day 1970. 3. Naresh K. Malhotra: Marketing Research - An Applied Orientation , 2 sd Edi, 1996. 4. Brockwell P.J & David R.A “Time Series:Theory And Method” Springer – Verlag, New York, 1991. 5. Nguyễn Thị Hội (2006), Cơ sở dữ liệu hướng đối tượng thời gian và xử lý truy vấn trong cơ sở dữ liệu hướng đối tượng thời gian, Luận văn Thạc sỹ Khoa học, Đại học Bách Khoa Hà Nội. 6. Hồ Thuần, Hồ Cẩm Hà, Các hệ CSDL lý thuyết và thực hành, Nxb Giáo dục, 2005 7. Nguyễn Trung Hòa (1997), Chuỗi Thời Gian. Mô Phỏng Và Chặt Khúc, Luận án Tiến sỹ Ngành Toán ĐHBK Hà Nội 1997. 8. Nguyễn Trung Hòa (1996), "Về Một Thuật Toán Mô Phỏng Chuỗi Thời Gian Tự Hồi Quy AR(P)", Tạp Chí Tin Học Và Điều Khiển, Tập 12 Số 1, năm 1996. Nitro PDF Software 100 Portable Document Lane Wonderland Dương Thị Nhung và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 135(05): 25 - 30 30 SUMMARY AN APPROACH TO THE STATUS DATABASE CONSTRUCTION BASING ON TIME SERIES Duong Thi Nhung 1* , Nguyen Van Doai 2 1College of Information & Communication Technology - TNU 2Nationnal Institute of Education Management Real-time data Database is a theoretical model to describe the actual data, but installing it is an almost impossible. In this paper we propose a simple type of the real-time database based on time series. In this model, three kinds of data are used such as: settled, actual and forecast corresponding to the real-time status is past, present and future. We conducted experiment to build the database forecast for a time in the future based on this model for the International Revenue database of Telstra, an Australia company. Results install proved effective, meet the requirements of actual synthesis report at any time for data. This paper has four parts: Part 1 presents the theoretical basis of a number of issues related to the theory of database time. The next describes the database status. The part 3 are experiments and the last are conclusions. Keywords: real-time database, time series, status Ngày nhận bài:20/3/2015; Ngày phản biện:07/4/2015; Ngày duyệt đăng: 31/5/2015 Phản biện khoa học: TS. Vũ Đức Thái – Trường Đại học Công nghệ Thông tin & Truyền thông - ĐHTN * Tel: 0914 340700, Email: dtnhungtn@gmail.com Nitro PDF Software 100 Portable Document Lane Wonderland
File đính kèm:
- mot_cach_tiep_can_trong_xay_dung_co_so_du_lieu_trang_thai_du.pdf