Làm cách nào tôi có thể chia sẻ dữ liệu trên một số trang web?


8

Tôi đang cố gắng phát triển một hệ thống đơn giản để chia sẻ dữ liệu trên một số trang web. Hầu hết chúng được phát triển bằng PHP trong khi một số được phát triển bằng Wordpress / Drupal. Thông tin dư thừa được lan truyền trên một số trang web và điều này đã gây ra sự cố khi chúng tôi phải cập nhật thông tin trên một số trang web một cách riêng biệt.

Tôi đang cố gắng cung cấp một giải pháp trong đó ngay cả các trang tĩnh cũng có thể nhận được dữ liệu chia sẻ. Đây là kiến ​​trúc đề xuất của tôi:

nhập mô tả hình ảnh ở đây

Tôi đang làm điều này cho một tổ chức học tập. Dữ liệu thay đổi từ cấu trúc phí đơn giản đến các chính sách học thuật. Ví dụ xem xét chi phí học tập.

Chi phí học tập -> xấu, tốt nghiệp, dược ... mỗi khoa sẽ có cơ cấu học phí được phân loại theo trường, ngoài trường, đi lại.

"Undergraduate": {
    "metaid": "0770",
    "Offcampus": {
      "FeesItems": {
        "comprehensive": {
          "label": "Comprehensive Fees",
          "value": "2,141"
      }
    }
  }
}

Đối với giao diện người dùng sử dụng ria mép, họ chỉ cần bao gồm js và sử dụng một cái gì đó như bên dưới để nhận giá trị,

<td>{{Undergraduate.Offcampus.FeesItems.comprehensive.label}} </td>
<td>{{Undergraduate.Offcampus.FeesItems.comprehensive.value}}</td>

Những câu hỏi của tôi:

  • Là thiết kế này có thể mở rộng?

  • Làm thế nào để cung cấp cho chủ sở hữu dữ liệu khả năng chỉnh sửa dữ liệu?

  • Làm thế nào để lưu trữ dữ liệu trong SQL?


Bằng cách "lưu trữ dữ liệu trong SQL", ý bạn là RDBMS của Microsoft SQL-Server hay bất kỳ RDBMS nào?
Tulains Córdova

Câu trả lời:


1

Thay vì cố gắng trả lời toàn bộ câu hỏi, hãy để tôi cung cấp một cách cụ thể để chia sẻ dữ liệu: chỉ cần sử dụng bất kỳ cơ chế nào (jQuery, ajax) có sẵn trong ngôn ngữ triển khai cho phép bạn gọi máy chủ web của mình. Sử dụng cuộc gọi GET để nhận dữ liệu không đổi với bộ nhớ đệm tự động. Sử dụng lệnh gọi POST / PUT để nhận / đặt dữ liệu biến. Bạn cũng có thể sử dụng các phương thức yêu cầu khác, chẳng hạn như XÓA để xóa bộ lưu trữ dữ liệu. Xem Wikipedia: Phương thức yêu cầu Để có nhiều cuộc gọi dữ liệu hơn để xây dựng API dữ liệu được chia sẻ của bạn. Trang bạn gọi không cần có bất kỳ HTML nào trên đó; nó có thể là một loại máy chủ dữ liệu mà bạn viết bằng bất kỳ ngôn ngữ phía máy chủ nào có sẵn.


0

Là thiết kế này có thể mở rộng?

Tất cả các thiết kế có khả năng mở rộng. Một quy tắc cũ (và lỗi thời) là thêm nhiều tài nguyên phần cứng và đó là quy tắc đó.

Thật không may, quy tắc này không hoạt động tốt trong thế giới thực (nơi chúng ta trả tiền cho các tài nguyên mà chúng ta có sẵn để chạy phần mềm, ngay cả khi ở trên mây).

Trong trường hợp này, thiết kế của phần mềm là hoàn toàn có thể mở rộng nhưng có lẽ câu hỏi là: điều này có bền vững không?

Làm thế nào để ngăn ngừa căng thẳng

Trong ngữ cảnh của một nhà cung cấp dữ liệu (công khai hoặc thông qua xác thực), có lẽ nên thận trọng hơn khi bao gồm một hệ thống bộ đệm. Để tránh tình trạng tải cao trên cơ sở dữ liệu, nên thêm nhà xuất bản vào thiết kế của bạn.

Tôi giả sử rằng "Trình tạo JSON" của bạn, là một thành phần diễn giải yêu cầu của khách hàng, đọc dữ liệu từ cơ sở dữ liệu và cuối cùng gửi phản hồi.

Nếu điều này là như vậy, thật dễ hiểu khi bạn cần mở rộng hệ thống, người đầu tiên yêu cầu tài nguyên, sẽ là cơ sở dữ liệu.

Phân phát

Thêm một hệ thống bộ đệm, có thể các tài nguyên mới sẽ được phân bổ cho các nhà xuất bản. Nhà xuất bản có thể là một hệ thống dữ liệu bị ngắt kết nối, nhận (hoặc tìm nạp) thông tin về trạng thái của dữ liệu mà nó lưu giữ.

Tại thời điểm này, thật dễ dàng để coi nhà xuất bản là " máy chủ chi phí thấp " tách biệt với hệ thống, được phân phối (thậm chí thông qua CDN), sử dụng cơ chế để cập nhật liên tục dữ liệu của mình (nhưng với chi phí thấp cho cơ sở dữ liệu), để cung cấp dữ liệu mới cho khách hàng.

Cơ chế: Có lẽ đơn giản hệ thống băm, hoặc một "thậm chí đơn giản hơn ngày sửa đổi cuối cùng "

Làm thế nào để cung cấp cho chủ sở hữu dữ liệu khả năng chỉnh sửa dữ liệu?

Câu hỏi dường như có một câu trả lời đơn giản. Họ sẽ cần một giao diện.

Làm thế nào để lưu trữ dữ liệu trong sql?

Các ý kiến ​​là đúng, có thể đó là ngoài ý muốn


0

Q. Làm thế nào để cung cấp dữ liệu cho nhiều trang web? A. Một dịch vụ web bạn chọn. Bạn có thể giao tiếp với nó bằng cách sử dụng các kỹ thuật trang web đáp ứng hoặc không đáp ứng. Không phản hồi nghĩa là bạn thường sử dụng hệ thống dựa trên không phải ajax (bài đăng không đồng bộ javascript) trong đó toàn bộ trang web được làm mới với mỗi cuộc gọi của dịch vụ web của bạn thông qua một bài đăng mẫu hoặc bạn có thể sử dụng AJAX (Javascript phía khách, Jquery hoặc khung) giao tiếp với dịch vụ web không đồng bộ để lấy dữ liệu hoặc cập nhật nó.

Q. Làm thế nào để chỉnh sửa dữ liệu? A. Xây dựng các trang web của riêng bạn với các biểu mẫu để chỉnh sửa dữ liệu.

Q. Làm thế nào để lưu trữ dữ liệu trong SQL? A. Bảo mật (hoặc không bảo mật nếu dữ liệu không nhạy cảm hoặc tuân theo luật riêng tư bảo vệ dữ liệu) tạo thành các bài đăng cho dịch vụ web của bạn được chuyển thành SQL chèn, cập nhật các câu lệnh trong hoạt động của dịch vụ web của bạn.

Bạn luôn nhận được một cái gì đó "ngoài giá" cho dịch vụ web, có nhiều khung khác nhau, v.v. nếu bạn không phải là một lập trình viên.


-2

Là thiết kế này có thể mở rộng?

Không, trừ khi bạn lưu trữ trên cơ sở dữ liệu MySQL trên nền tảng đám mây. Trình xây dựng JSON có thể, phụ thuộc vào cách bạn viết mã và giao diện web.

Làm thế nào để cung cấp cho chủ sở hữu dữ liệu khả năng chỉnh sửa dữ liệu?

Chỉ cần tạo một ứng dụng PHP CRUD với một số khung công tác, ví dụ CakePHP, v.v.

Làm thế nào để lưu trữ dữ liệu trong sql?

Sử dụng ứng dụng CRUD để có bộ chuyển đổi JSON đến / từ SQL. Tải các ví dụ PHP trực tuyến. JSON sang PHP Array / MySQL và ngược lại.


những tuyên bố này chỉ là ý kiến ​​của bạn hoặc bạn có thể sao lưu nó bằng cách nào đó?
gnat

Vâng và vâng. Anh ấy có thể google phần còn lại.
127379
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.