李營那 吳松洋 張 濤 李 勛
(公安部第三研究所 上海 201204)
基于動態標簽技術的信息發布系統設計與實現
李營那 吳松洋 張 濤*李 勛
(公安部第三研究所 上海 201204)
當今信息化時代,信息發布系統被廣泛應用于社會各領域、各企事業單位。現有的信息發布系統只能發布系統已定義類型的信息,如企業動態、考勤制度等,當需要增加新的信息類型時,需要對系統進行重新編碼設計,現有信息系統的可擴展性很差。為此,提出一種基于動態標簽技術的信息發布系統,詳述其設計與實現方法,通過基于MongoDB存儲的動態標簽技術實現信息類型用戶自定義,用戶可以簡單、易操作的方式增加新的信息類型,發布新的信息。實踐表明,所提出的信息發布信息具有高度的用戶透明性、業務擴展性,減低了企事業單位研發信息發布系統的費用、時間和人員。
動態標簽技術 MongoDB HTML5 服務器推送
信息化時代各領域由通過傳統媒介(報紙、公文)發布信息向通過互聯網發布信息轉變,信息發布的及時性已成為衡量一個企業競爭力的重要指標。為了提高自身的實力,越來越多的企業開始創建自己的信息發布系統,使企業信息能夠方便、及時、高效地發布,便于企業員工可以實時地瀏覽、下載最新的信息,及時了解企業的新動態、新政策,協助企業更好地作出決策。
信息發布系統主要用于在各個播放端展示預先制作的包含圖片、視頻、動畫等多媒體元素的HTML內容[4]。目前信息發布系統存在以下問題:
(1) 當前企業信息發布系統只能發布系統已定義類型的信息如最新資訊、考勤管理、通知公告等,不同類型的信息具有不同的屬性,需分開存儲。隨著企業業務的發展可能需要增加新的信息類型,此時需要再次進行需求調研、組織開發,耗費大量的時間、人員,影響企業的發展。
(2) 目前信息發布系統中主流的HTML生成技術是模板引擎[1,5],賴吉平等[2]提出使用標簽解析技術實現用戶自定義模板的方法,使用標簽解析技術提取模板內與數據源交互的字段,將這些字段與模板進行整合以實現標簽內容的提取、替換。經過這些處理生成的HTML頁面即為展示給用戶的信息,但該方法要求用戶有一定的編程基礎;朱明[4]使用標簽引擎制作HTML頁面,每種媒體元素代表一類標簽。
(3) 信息實時性不夠,企業員工主動訪問信息發布系統,才可以瀏覽最新的信息,員工不會時刻關注是否有新信息發布,導致信息滯后,影響工作進程。
本文設計了一種基于動態標簽的信息發布系統,通過充分利用非關系型數據庫MongoDB的數據模式自由特性,HTML5服務器推送事件特性,以及Ajax的交互式數據訪問特性,系統解決了上述難題。總體而言,該系統具備如下特點和優勢:
(1) 數據標簽化:系統提供一套與底層存儲相對應的數據標簽,用戶可使用所見即所得的方式定義數據標簽,不需要任何編程即可從服務器數據庫把信息讀取出來,并把新信息存儲到服務器數據庫;
(2) 信息類型自由定義:用戶可根據業務需求自由定義需要發布信息的類型(政策法規、最新動態、通知公告等)與信息需要展示的內容;
(3) 模板可自由定義:用戶可為不同的信息類型定義相應的可視化模板;
(4) 基于模板與標簽的權限控制機制:系統從模板和標簽級別對數據的權限進行控制,從而保證不同用戶組之間信息的訪問安全;
(5) 信息實時推送機制:通過推送機制使用戶可以實時地訪問系統服務器所發布的信息,從而避免了傳統方式中客戶端頻繁刷新請求。
1.1 MongoDB
MongoDB是基于分布式文件存儲的NoSQL數據庫系統,具有可擴展、高性能、開源的、模式自由和面向文檔等特性,旨在為Web應用提供可擴展的高性能數據存儲的解決方案。MongoDB具有以下特性:
文檔型:文檔是MongoDB中基本單位,數據以BSON(鍵-值對)形式存儲在文檔中,鍵是字符串,值為任意數據類型如字符串、整形、用戶定義的對象等[9];
面向集合:文檔數據被分組存儲在不同的集合中,每個集合在數據庫中有唯一的標識名[9],并且可以包含無限數量的文檔,集合類似于關系型數據庫中的表,區別是集合不需要定義模式;
模式自由:數據庫不需要知道存儲在MongoDB集合中的文檔的任何結構信息,同一集合可以包含不同結構的文檔,如下兩個記錄可以存儲在同一個集合中:{“name”:”上海”},{“sex”:”男”,”address”:”shanghai”}。
作為一個適用于敏捷開發的數據庫MongoDB還提供以下功能:支持豐富的查詢表達式,查詢指令使用JSON形式;完整的索引支持,包括文檔內嵌對象及數組;支持服務器之間的數據復制,提供冗余及自動故障轉移,使應用程序具有企業級的可靠性和操作靈活性;自動分片功能支持水平的數據庫集群,可動態添加機器,支持大型、復雜的多數據中心架構。
對于本文所研發的信息系統而言,最重要的是使用了MongoDB的數據模式的靈活更新機制;同時,其可擴展性也是非常重要的特性,尤其是在大型企業中,信息的數量通常處于非常高的數量級,因而可利用MongoDB的可擴充特性來保證大數據量下系統的運行效率。
1.2 HTML5
HTML 5是HTML下一代主要的修訂版本,是用以描述網頁文檔的超文本標記語言,它的制定主要是為了替代原有的HTML 4.01和XHTML 1.0標準。從廣義上HTML 5是一系列用于開發網絡應用的最新技術的集合,包括HTML、CSS和JavaScript以及一系列全新API[3]。HTML5技術希望能夠減少瀏覽器對于需要插件的豐富性網絡應用服務如Adobe Flash、Microsoft Silverlight的需求,提供更多能有效增強網絡應用的標準集。
相對于HTML之前的版本,HTML 5添加了許多新的語法特征,主要包括
HTML 5的另一個重要特性是它提供了服務器推送技術,可以從服務端實時推送數據到瀏覽器,這是本文使用HTML 5的最重要特性。
1.3 服務器推送技術
在一般的 Web 應用中,瀏覽器和服務器之間的通信是請求/響應的交互模式:瀏覽器發出請求,服務器根據收到的請求來生成相應的響應,瀏覽器對收到的響應進行處理,動態更新展現給用戶的頁面[8]。這種通信方式通常需要用戶在頁面上進行操作,比如點擊鼠標、移動鼠標來觸發相應的事件,不足在于:服務器端產生的數據更新不能及時地通知瀏覽器,而是需要等到下次請求發出時才能被瀏覽器獲取,對于某些對數據實時性要求較高的應用來講,這種延遲是不能接受的。
為解決數據延遲問題,需要服務器端發生數據更新的第一時間主動推送最新數據給瀏覽器。常見的解決主要可以分成兩類,其區別在于是否基于 HTTP 協議實現。不使用 HTTP 協議的做法是使用 HTML 5 新增的 WebSocket 規范;使用 HTTP 協議的做法則包括簡易輪詢、COMET 技術和本文中要使用的 HTML 5 服務器推送事件[8]。
服務器推送事件是 HTML 5 規范中的一個組成部分,可以從服務端實時推送數據到瀏覽器端。相對于與類似的 COMET 和 WebSocket 技術來說,服務器推送事件的使用更簡單,對服務器端的改動也比較小。對于本文將要描述的信息發布系統而言,服務器推送事件是最佳的選擇。
企業信息發布系統的總體架構如圖1所示,系統總共分5大模塊,依次說明如下:
(1) 基于MongoDB的數據存儲層:用于存儲系統的所有數據,主要包括信息的數據模式定義存儲、各類型的信息數據存儲、信息模板內容、用戶信息、權限信息等其他數據的存儲;
(2) 數據模式定義管理層:定義信息的數據模式,即信息的屬性定義,主要包括數據模式的增、刪、改、查操作及對已定義數據模式的解析,是底層信息數據與前臺進行可視化數據解析與映射的橋梁;
(3) 所見即所得的標簽管理:該部分分為標簽定義、標簽解析及標簽的管理,對于定義的信息類型,提供所見即所得方式的標簽定義系統,讓不具備編程基礎的用戶根據企業業務需求可以方便地定義各類標簽,通過標簽可視化地實現讀取存儲在MongoDB中的信息內容、將信息內容存儲在MongoDB中;
(4) 信息權限管理層:提供從信息標簽和模板級別對數據權限的管理,實現不同用戶角色對相應類型數據的訪問控制;
(5) 可自由編輯的模板管理:除系統內置的模板外,用戶可依據業務需要定義不同的信息顯示模板,實現豐富的可視化效果。

圖1 系統整體架構
本節針對圖1所示信息發布系統的每個核心模塊的實現進行詳細說明。
3.1 基于MongoDB的數據存儲層
在MongoDB中,數據以JSON形式存儲的樣例如下,數據的查詢也是以JSON形式的命令執行,因此,用戶使用非常簡單方便。
{
″_id″:ObjectId(″55eaef6b6e313c30e07def5″),
″title″:″關于抗戰70周年放假的通知″,
″pub_time″:″2014-08-21 10:08:11″,
″author″:″行政部″,
″content″:″9月3日(周四)~9月5日(周六):放假,9月6日(周日):正常上班。″
}
對于信息發布系統中各類數據模式固定的數據類型如用戶信息、權限信息,MongoDB中的存儲與關系型數據庫的存儲基本相同,確定好數據模式后,把相應的數據存儲到數據表中即可。
對于數據模式頻繁變化的信息類型、信息內容的存儲,傳統的關系型數據庫并未提供良好的解決方案,使用關系型數據庫存儲會非常復雜。而MongoDB因為具備數據模式自由擴展的特性,非常適合本文的信息類型頻繁變化的應用場景。在MongoDB中,數據表不需要在數據存儲之前進行顯示的定義,而是在用戶進行數據寫入的同時同步創建相應的數據表。如前文所述,數據是使用JSON形式描述的,MongoDB會自動分析用戶寫入數據中的數據字段,并同時創建相應的數據表格(例如上述數據樣例是在未創建表的情況下寫入的,系統會自動創建表)。另一方面,當業務發生變化需要修改數據模式時,也不需要顯示進行表格數據模式的修改,系統同樣會依據用戶提供數據中的數據模式進行字段的動態添加或刪除。與上述樣例信息存儲于同一表中但增加了數據字段“tips”的數據如下:
{
″_id″:ObjectId(″55eaef6b6e3513c30e07cf5″),
″title″:″關于中秋節放假的通知″,
″pub_time″:″2015-09-06 09:33:21″,
″author″:″行政部″,
″content″:″9月26日(周六)~9月27日(周日):放假,9月28日(周一):正常上班。″
″tips″:″本次中秋節放假只有兩天″,
}
因此,對于本文的可能進行頻繁變換的信息類型,直接把數據寫入MongoDB進行存儲即可。當然,在用戶進行信息的存儲和訪問時,需要知道信息的數據字段定義,此部分功能將由數據模式定義管理層進行管理。
3.2 數據模式定義管理層
數據模式定義管理層的主要功能是對系統中的信息類型的數據模式提供定義入口和相應數據的存儲。
數據模式可以看成是元數據,即描述數據的數據。在本文中指信息類型的定義表,即每個信息類型需要展示的數據字段、這些數據字段的數據類型、數據字段的長度、字段對應的數據是否需要進行索引等。
經過總結和抽象可以得知數據模式定義表本身是固定的,如表1所示包含以下字段:唯一標識、信息類型名、信息類型顯示名、信息需要展示字段列表。其中信息字段列表中每個元素都為JSON形式的字符串,包含:字段名、字段顯示名、字段類型、字段長度、字段是否索引,如表2所示。

表1 信息類型數據模式定義表

表2 信息內容定義表
基于以上MongoDB信息數據樣例,對應的信息類型的數據模式定義表結構如下:
{
″_id″:ObjectId(″55eaef6b6e313c30e07dcx5″),
″name″:″holiday_message″,
″display_name″:″放假通知″,
″fields″:
[
{
″name″:″title″,
″displayName″:″標題″,
″dataType″:″3″,
″isIndexed″:″1″
},
{
″name″:″pub_time″,
″displayName″:″發布時間″,
″dataType″:″3″,
″isIndexed″:″0″
},
{
″name″:″author″,
″displayName″:″作者″,
″dataType″:″3″,
″isIndexed″:″0″
},
{
″name″:″content″,
″displayName″:″內容″,
″dataType″:″3″,
″isIndexed″:″0″
}
]
}
3.3 標簽系統
在傳統的數據管理模式下,信息內容的存取需要用戶具備良好的服務器編程基礎,Web顯示編程基礎和數據庫管理基礎才能完成;用戶需要完成與信息存儲系統的數據交互,包括信息讀取、信息添加與修改和信息的刪除、信息的顯示與分頁、以及信息內容的檢索等;所有這些功能實現對于普通用戶而言是比較困難的,即使用戶具備良好的編程基礎,也需要花費大量的時間來實現。另一方面,當信息的類型發生變化時,又需要對信息的存取實現、信息的展示實現等進行更改,這在頻繁改變的信息系統中是非常耗時的。
因此,本系統提供了一套所見即所得的標簽定義體系,普通用戶可以通過在前臺定義標簽實現信息數據的存取、信息的前端展示等功能,極大程度地降低了系統的使用門檻和用戶的工作量。
從本質上而言,標簽系統的核心功能為實現與服務器的數據存儲系統的數據交換。因此,標簽系統的核心在于建立與服務器存儲系統的映射關系、實現瀏覽器端與服務器端的數據交互、提供瀏覽器端數據的顯示。具體而言,實現瀏覽器端與服務器進行數據交換的關鍵技術和功能包括:
(1) 建立統一的數據格式標準:保證用戶定義的標簽所寫入和獲得的數據與服務器數據存儲系統中存儲的內容保持一致,以便數據的正確解析;由于采用MongoDB作為存儲底層,本系統中統一使用MongoDB的JSON格式作為數據描述標準。
(2) 獲取服務器端的數據模式定義:用戶在定義標簽時,首先需要知道系統中定義了哪些信息類型,這些信息類型又包含哪些數據字段;知道了數據模式定義后,用戶便可定義數據標簽所對應的表格、所需要讀取的數據字段,并進行相應的查詢過濾條件、索引的定義。
(3) 瀏覽器發送的請求中包含的操作和數據解析機制:系統在接收到用戶定義標簽對應的數據請求后需要對請求中包含的操作、請求中包含的數據進行解析,然后執行相應的操作命令,最后把相應的操作結果按照約定的格式返回給用戶。
(4) 標簽的前臺展示方式:包括用戶讀取的信息的展示方式以及用戶需要進行信息發布時的輸入界面的展示方式;頁面的總體布局需要使用下方將說明的模板進行規劃,標簽的展示則需要對當前標簽的管理區域進行可視化。
標簽系統的工作流程如圖2所示,標簽系統中主要包括兩類標簽:信息展示標簽和信息編輯標簽。消息展示標簽主要包含單值型標簽和多值型標簽,單值型標簽即指僅讀取一條數據的標簽(如展示一條信息的詳細信息),而多值型標簽則是需要讀取一系列的消息(如展示信息列表)。

圖2 標簽系統工作流程
1) 讀取數據模式與解析
用戶所定義的每一個標簽對應于服務器數據模式中的一個或多個表格(信息類型表格),因此用戶在定義標簽時,標簽系統首先需要把服務器所定義的數據模式讀取并展示給用戶。信息類型定義表(表1)和信息內容定義表(表2)存儲在MongoDB中,系統讀取出來后,把所有的信息類型展示給用戶選擇;用戶選擇信息類型后,系統即把所選信息類型的字段展示給用戶,用戶從中選擇需要顯示或修改數據的字段。
2) 生成數據讀取交互界面
用戶選擇好信息類型和該類型需要展示的字段后,系統會提供數據交互的操作界面并自動生成數據交互的相關查詢腳本。對于信息展示標簽,自動生成數據讀取的查詢腳本,同時提供查詢條件的設置界面讓用戶選擇(例如查詢最近7天的放假消息);用戶可以通過生成的可視化交互界面設置查詢的字段和查詢的條件,查詢條件包括查詢滿足特定字段要求的數據、讀取數據的條數、數據的排序方式等;對于高級用戶,也可以通過直接編輯查詢腳本來設置查詢內容及查詢條件。對于信息編輯標簽,則生成用戶設置編輯數據的交互界面,用戶可以設置所需要顯示的字段、確定數據編輯的表單類型(文本框、文本域或HTML編輯器)、確定字段的排序順序等。
3) 設置顯示樣式
通過第2)步,已經完成數據類型、數據字段、數據查詢條件(信息讀取標簽)的設定,接下來需要確定數據或編輯界面的顯示形式。對于數據顯示標簽,要設置標簽最終所讀取出來的數據的展示形式;數據展示是通過HTML來描述的,因此用戶可以使用CSS來控制最終數據展示的樣式;由于在設置時數據還沒有讀取出來,因此需要通過設置占位符的方式來確定最終數據讀取出來后每個字段的數據放置的位置,多個字段的占位符序號以遞增的方式進行計數;對于字段數據,還可以進行一些簡單的處理,包括設置顯示的最大長度(如某些列表中由于空間關系不能把標題全部展示而僅展示前面的一部分)、設置超鏈接等。以下為一個顯示標簽的示例,其中“@_tag_value_*”為占位符,末位的序號代表查詢字段的序號。編輯標簽與顯示標簽類似,也通過HTML和CSS來設置編輯區域的顯示方式。
4) 數據讀取與顯示
此功能是對于顯示標簽而言的,標簽系統依據用戶所定義的查詢目標和查詢條件等。首先從服務器的數據庫中找到相應的數據庫和數據表,然后依據條件進行數據的讀取操作,再把數據傳送到前臺。前臺得到數據后,首先對JSON形式的數據進行解析,得到里邊的數據記錄、數據字段,然后與設置的查詢條件以及設置的顯示條件結合進行解析,生成一條(單值型標簽)或多條(多值型標簽)數據,并把相應的字段填入相應的占位符位置上。
5) 數據保存
此功能是對于編輯標簽而言的,當前臺用戶在系統依據標簽設置生成的交互界面完成數據的編輯后,點擊保存時,數據會傳送到后臺,系統解析JSON形式的數據后,調用MongoDB的相關引擎執行相應數據表、相應數據字段的保存工作。
用戶定義及使用一個信息展示標簽的過程如下:
(1)用戶選定添加一個信息展示標簽后,標簽系統自動從底層的數據模式定義管理層中獲得服務器的數據模式(即定義了哪些信息類型以及這些信息類型的數據字段)并顯示出來供用戶選擇;(2)用戶從這些數據模式中選取當前需要展示的信息類型,系統會自動解析得到所選擇信息類型的數據字段并自動生成用戶選擇的界面;(3)用戶從解析到的數據字段中選取需要展示的數據字段,并設置查詢條件(如查詢多少條、時間范圍等)、分頁設置(每頁多少條記錄)等;(4)系統依據用戶選擇的信息類型、數據字段、查詢條件,系統自動把用戶的設置轉換成查詢數據的SQL語句,把數據從存儲系統中查詢出來,同時對數據進行解析,生成信息記錄;(5)用戶定義信息數據顯示的基本格式(HTML源碼、CSS樣式等),設置時使用統一的占位符代替數據的位置;(6)系統自動把用戶定義的顯示格式中的點位符替換成之前步驟所讀取出來的數據,如此便可以在客戶端進行展示。
3.4 用戶可定義的模板機制
為豐富數據的可視化效果,對于不同的信息類型,用戶需要使用不同的展示方式,因此,系統需要提供靈活的可視化方式。本系統提供了用戶可自由定義模板的機制,為豐富的可視化提供了可能。
模板的主要功能在于對頁面的總體布局進行規劃,頁面布局是Web開發的一個重要課題。對于普通用戶,從頭開始實現頁面是比較困難的,幸運的是,已經有許多框架提供了許多常用的布局模板,同時也提供了布局模板自定義的功能,具備這些功能的常見框架有:ExtJS、Apache Tiles和Elastic等。本文系統采用的是ExtJS框架,其豐富的內置布局以及靈活的自定義布局功能,為本系統中的信息可視化提供了技術上實現的可能。
3.5 實時信息推送機制
為保證用戶實時地接收到系統所發布的信息,本系統基于HTML 5的服務器推送事件機制實現信息實時推送。
服務器推送事件的規范主要由服務器端與瀏覽器端之間的通信協議及在瀏覽器端可供 JavaScript 使用的 EventSource對象兩個部分組成。通信協議是基于純文本的簡單協議,服務器端的響應內容類型是“text/event-stream”。服務器端的響應內容可以看做一個由不同事件組成的事件流。每個事件由類型、數據、可選的標識符組成,每個事件的數據可能由多行組成。不同事件的內容通過僅包含回車符和換行符的空行分隔。服務器推送事件數據樣例如下,對于每一行冒號(“:”)前面表示的是該行的類型,冒號后面則是對應的值。
data:first event
data:second event
id:100
event:myevent
data:thid event
id:101
:this is a comment
data:fourth event
data:fourth event continue
服務器端實現推送事件只需要按照協議規定的格式,返回響應內容即可。本文使用 Java 作為服務器端的實現語言,具體實現基于開源的 jetty-eventsource-servlet 項目。
對于服務器端返回的響應,瀏覽器端需要在 JavaScript 中使用 EventSource 對象來進行處理。EventSource 使用的是標準的事件監聽器方式,只需要在EventSource對象上添加相應的事件處理方法即可。
3.6 信息權限管理
由于數據與底層存儲系統的交互是通過標簽來實現的,因此,本系統通過在標簽層面進行訪問控制,即把用戶角色與標簽進行關聯匹配。信息標簽的權限分為信息讀取權限和信息的發送權限,在權限控制時分開處理。
另外,系統也提供了模板級別的權限控制,特定角色和權限的用戶方可使用特定的模板。在基于標簽和模板的基礎上,權限控制的整體方案與常用的權限管理基本相同。
本系統的基于HTML5和JavaScript技術為用戶提供友好的可視化展示界面。
圖3為用戶已添加了信息類型分頁展示及信息類型的編輯界面,用戶可以對信息類型的字段進行編輯、添加、刪除操作。

圖3 信息類型編輯
圖4展示了動態標簽的添加方法,用戶為標簽命名,指定標簽的類型(簡單類型或用戶自定義的信息類型)、選擇標簽存取的數據源、定義標簽數據顯示的樣式等其他屬性,即可完成一個標簽定義。

圖4 動態標簽定義
圖5為使用ExtJS框架自定義信息展示效果的工作區,基于ExtJS框架用戶可以靈活、方便、所見既所得的定義信息的展示樣式。

圖5 信息展示模板定義
本系統已在本單位內部及世貿集團運行一年多,具有上千用戶,基于該系統發布了大量信息,便于了企業信息發布的及時性,規范了企業各類信息發布系統的建設,圖3-圖5就是該系統實際應用效果。
企業信息發布系統作為企業對內對外的門戶在企業的發展中占有重要位置,本文研究并實現了基于動態標簽技術的企業信息發布系統。實踐表明,使用該系統用戶可以方便、靈活的發布信息,通過簡單的界面操作,用戶可以隨時增加信息類型,不需要重新編碼設計即可發布新的頻道,降低了企業建設和維護信息發布系統的人力、財力和時間,推動了企業信息化的腳步。該信息發布系統具有以下特性:
良好的用戶透明性:用戶不需要懂任何編碼技術(HTML、JS、Mysql)即可以可見即可得方式定義信息展示樣式;
可擴展性:企事業單位會根據企業發展、拓展了新的業務需要增加新的信息類型,此時不需要對信息發布系統進行重新編碼設計,用戶可以通過簡單的界面操作增加新的信息類型,發布新類型的信息;
通用性:各企業可根據自身的情況定義自己的信息類型,建立自己的信息發布系統,各個企業不需要單獨研發自己的信息發布系統。
[1] 姬一文,吳慶波,楊沙洲.一種服務器端模板引擎的改進與實現[J].計算機應用研究,2011,28(3):1077-1079,1087.
[2] 賴吉平,羅清.模版引擎與標簽解析技術在內容管理系統的運用研究[J].中國電子商務,2011(11):49.[3] 黃永慧,陳程凱.HTML5在移動應用開發上的應用前景[J].計算機技術與發展,2013,23(7):207-210.
[4] 朱明,左珊珊,蘇厚勤.一種采用標簽引擎技術信息發布系統的設計與實現[J].計算機應用與軟件,2015,32(2):89-93.
[5] 南軼,李先國.模板技術在內容管理系統中的研究與應用[J].微電子學與計算機,2012,29(6):180-1854.
[6] 薩支欣.國內外網站內容管理系統比較[J].情報探索,2012(2):85-87.
[7] 葉曉俊,李海翔.企業信息移動發布平臺的設計與開發[J].計算機集成制造系統,2003,9(11):972-975.
[8] 成富.HTML5服務器推送事件實戰開發[EB/OL].(2013-09-15).http://www.uml.org.cn/html/201309133.asp.
[9] Chodorow K, Dirolf M. MongoDB: The Definitive Guide[M]. Sebastopol : O’Reilly Media, 2010.
DESIGN AND IMPLEMENTATION OF INFORMATION RELEASE SYSTEM BASED ON DYNAMIC TAG TECHNOLOGY
Li Yingna Wu Songyang Zhang Tao*Li Xun
(ThirdResearchInstituteofMinistryofPublicSecurity,Shanghai201204,China)
In the information age,information release system is widely used in various industries.The existing information release system can only publish the information which has been defined such as the enterprise dynamic news,time and attendance.When users want to publish undefined type of information,the enterprise needs to redesign the system which means existing information systems have poor scalability.In order to solve this problem,a new method based on dynamic tag technology is proposed which describes the design and implementation of the system.By using the dynamic tag technology based on MongoDB,the information release system can realize that user-define information types and users can add new information types at any time.The practice shows that the information release system has good user transparency and business expansion,reducing the cost,time and manpower for developing.
Dynamic tag technology MongoDB HTML5 Server Push
2015-11-06。國家信息安全專項項目(發改辦高技[2015]289號)。李營那,碩士,主研領域:軟件工程。吳松洋,副研究員。張濤,助理研究員。李勛,助理研究員。
TP3
A
10.3969/j.issn.1000-386x.2017.01.004