一種衛(wèi)生信息共享文檔模板緩沖存儲的編輯方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于HTML5 LocalStorage技術(shù)的衛(wèi)生信息共享文檔模板緩沖存儲的編輯方法。
【背景技術(shù)】
[0002]在進行衛(wèi)生信息共享文檔模板編輯過程中經(jīng)常會由于網(wǎng)絡(luò)環(huán)境較差造成網(wǎng)絡(luò)連接中斷,從而使共享文檔模板的模板約束規(guī)則數(shù)據(jù)丟失。經(jīng)常造成該種情況出現(xiàn)的原因有二:第一、模板的數(shù)據(jù)模型樹展示時需要頻繁與服務(wù)端進行服務(wù)交互以獲取模型樹當(dāng)前節(jié)點的子節(jié)點數(shù)據(jù);第二、提交存儲時由于網(wǎng)絡(luò)環(huán)境較差而長時間處于等待狀態(tài),當(dāng)刷新頁面時造成模板約束規(guī)則數(shù)據(jù)丟失。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決技術(shù)問題是:避免因網(wǎng)絡(luò)環(huán)境較差造成的共享文檔模板的模板約束規(guī)則數(shù)據(jù)丟失。
[0004]為了解決上述技術(shù)問題,本發(fā)明的技術(shù)方案是提供了一種衛(wèi)生信息共享文檔模板緩沖存儲的編輯方法,包括數(shù)據(jù)模型文件緩沖存儲方法及模板約束規(guī)則數(shù)據(jù)緩沖存儲方法,其特征在于,
[0005]數(shù)據(jù)模型文件緩沖存儲方法包括以下步驟:
[0006]步驟1、進入共享文檔模板編輯頁面后查看瀏覽器本地緩沖存儲中是否已經(jīng)存儲了模板數(shù)據(jù)模型的所有數(shù)據(jù)類型的XML定義,如果已經(jīng)緩沖存儲,進行版本信息比對,如果不是最新版本重新下載所有需要的XML Schema文件;如果未進行本地緩沖存儲,下載所有需要的XML Schema文件,并記錄相應(yīng)版本信息;
[0007]步驟2、使用JavaScript腳本語言對XML Schema文件進行解析,將所有的數(shù)據(jù)類型的XML定義進行本地緩沖存儲;
[0008]步驟3、根據(jù)步驟2中的這些數(shù)據(jù)類型構(gòu)建模板編輯時所需的模型樹;
[0009]模板約束規(guī)則數(shù)據(jù)緩沖存儲方法包括以下步驟:
[0010]當(dāng)在模板編輯頁面完成編輯操作后,進行保存的同時,將與當(dāng)前模板編輯頁面對應(yīng)的模板約束規(guī)則數(shù)據(jù)寫入本地緩沖存儲區(qū)中的數(shù)據(jù)隊列中,然后在用戶進行其它操作的同時,后臺會采用輪詢方式,將本地緩沖存儲區(qū)數(shù)據(jù)隊列中的模板約束規(guī)則數(shù)據(jù)異步上傳到服務(wù)端,上傳成功后,將本地緩沖存儲區(qū)數(shù)據(jù)隊列中的模板約束規(guī)則數(shù)據(jù)移除。
[0011]優(yōu)選地,在所述步驟3中,當(dāng)需要對所述模型樹的節(jié)點進行展開時,從本地緩沖存儲中獲取數(shù)據(jù)類型的XML定義,根據(jù)XML定義生成模型樹的子級節(jié)點。
[0012]本發(fā)明通過采用基于HTML5 LocalStorage的衛(wèi)生信息共享文檔模板緩沖存儲的編輯方法,除非特意從瀏覽器中清空本次緩沖存儲,從未出現(xiàn)模板約束規(guī)則數(shù)據(jù)丟失的情況,為建立可靠的衛(wèi)生信息共享文檔開發(fā)系統(tǒng)提供了保障。
【具體實施方式】
[0013]為使本發(fā)明更明顯易懂,茲以優(yōu)選實施例作詳細說明如下。
[0014]衛(wèi)生信息系統(tǒng)是先建立一個模型,然后根據(jù)該模型動態(tài)生成一個模板編輯頁面,用戶便可以在模板編輯頁面上填寫相應(yīng)的數(shù)據(jù)?;诖?,本發(fā)明提供了一種衛(wèi)生信息共享文檔模板緩沖存儲的編輯方法,其包括了數(shù)據(jù)模型文件緩沖存儲方法及模板約束規(guī)則數(shù)據(jù)緩沖存儲方法。
[0015]數(shù)據(jù)模型文件緩沖存儲方法包括以下步驟:
[0016]步驟1、進入共享文檔模板編輯頁面后查看瀏覽器本地緩沖存儲中是否已經(jīng)存儲了模板數(shù)據(jù)模型的所有數(shù)據(jù)類型的XML定義。在代碼中簡單通過獲取LocalStorage的關(guān)鍵字” schema, vers1n” 來判斷。
[0017]如果已經(jīng)緩沖存儲,進行版本信息比對,如果不是最新版本重新下載所有需要的XML Schema 文件。
[0018]如果未進行本地緩沖存儲,下載所有需要的XML Schema文件,并記錄相應(yīng)版本信息。
[0019]步驟3、使用JavaScript腳本語言對XML Schema文件進行解析,將所有的數(shù)據(jù)類型的XML定義進行本地緩沖存儲。
[0020]步驟4、根據(jù)步驟3中的這些數(shù)據(jù)類型構(gòu)建模板編輯時所需的模型樹,例如當(dāng)進行Observat1n條目模板編輯時,從本地緩沖存儲中獲取Observat1n復(fù)合類型,并遍歷生成該類型的下一級子節(jié)點。
[0021]當(dāng)需要對模型樹的節(jié)點進行展開時,從本地緩沖存儲中獲取數(shù)據(jù)類型的XML定義,根據(jù)XML定義生成模型樹的子級節(jié)點。例如需要對Observat1n條目的id節(jié)點進行展開時,從id的類型為II類型可知該節(jié)點有兩個屬性:@root和Oextens1n,所以需要在id節(jié)點所在行下方插入兩行表格記錄。
[0022]模板約束規(guī)則數(shù)據(jù)緩沖存儲方法包括以下步驟:
[0023]模板約束規(guī)則數(shù)據(jù)緩沖存儲方法通過如下步驟實現(xiàn)(描述中使用了偽代碼):
[0024]步驟1、系統(tǒng)通過在本地緩沖存儲區(qū)創(chuàng)建數(shù)據(jù)隊列實現(xiàn)模板數(shù)據(jù)的異步上傳處理。由于HTML5的LocalStorage技術(shù)僅能存儲字符串類型,無法直接實現(xiàn)隊列。所以在共享文檔模板開發(fā)系統(tǒng)產(chǎn)品中,倉ll建一個JavaScript類來實現(xiàn)先進先出(FIFO)隊列操作,對HTML5 的 LocalStorage 進行了封裝。
[0025]實現(xiàn)時,使用LocalStorage關(guān)鍵字“template, queue”來保存所有的隊列元素標(biāo)識符,而用關(guān)鍵字“隊列元素標(biāo)識符”來存儲真正的數(shù)據(jù)。
[0026]步驟2、首先,當(dāng)在模板編輯頁面完成編輯操作后,點擊“保存”按鈕,系統(tǒng)將該模板約束規(guī)則數(shù)據(jù)寫入本地緩沖存儲區(qū)中的數(shù)據(jù)隊列中,然后就可以繼續(xù)其它操作。
[0027]系統(tǒng)后臺會采用輪詢方式,將本地緩沖存儲區(qū)數(shù)據(jù)隊列中的模板約束規(guī)則數(shù)據(jù)異步上傳到服務(wù)端。如果因網(wǎng)絡(luò)原因上傳不成功,則會繼續(xù)嘗試上傳。當(dāng)上傳成功后,系統(tǒng)將本地緩沖存儲區(qū)數(shù)據(jù)隊列中的模板約束規(guī)則數(shù)據(jù)移除。
【主權(quán)項】
1.一種衛(wèi)生信息共享文檔模板緩沖存儲的編輯方法,包括數(shù)據(jù)模型文件緩沖存儲方法及模板約束規(guī)則數(shù)據(jù)緩沖存儲方法,其特征在于, 數(shù)據(jù)模型文件緩沖存儲方法包括以下步驟: 步驟1、進入共享文檔模板編輯頁面后查看瀏覽器本地緩沖存儲中是否已經(jīng)存儲了模板數(shù)據(jù)模型的所有數(shù)據(jù)類型的XML定義,如果已經(jīng)緩沖存儲,進行版本信息比對,如果不是最新版本重新下載所有需要的XML Schema文件;如果未進行本地緩沖存儲,下載所有需要的XML Schema文件,并記錄相應(yīng)版本信息; 步驟2、使用JavaScript腳本語言對XML Schema文件進行解析,將所有的數(shù)據(jù)類型的XML定義進行本地緩沖存儲; 步驟3、根據(jù)步驟2中的這些數(shù)據(jù)類型構(gòu)建模板編輯時所需的模型樹; 模板約束規(guī)則數(shù)據(jù)緩沖存儲方法包括以下步驟: 當(dāng)在模板編輯頁面完成編輯操作后,進行保存的同時,將與當(dāng)前模板編輯頁面對應(yīng)的模板約束規(guī)則數(shù)據(jù)寫入本地緩沖存儲區(qū)中的數(shù)據(jù)隊列中,然后在用戶進行其它操作的同時,后臺會采用輪詢方式,將本地緩沖存儲區(qū)數(shù)據(jù)隊列中的模板約束規(guī)則數(shù)據(jù)異步上傳到服務(wù)端,上傳成功后,將本地緩沖存儲區(qū)數(shù)據(jù)隊列中的模板約束規(guī)則數(shù)據(jù)移除。2.如權(quán)利要求1所述的一種衛(wèi)生信息共享文檔模板緩沖存儲的編輯方法,其特征在于,在所述步驟3中,當(dāng)需要對所述模型樹的節(jié)點進行展開時,從本地緩沖存儲中獲取數(shù)據(jù)類型的XML定義,根據(jù)XML定義生成模型樹的子級節(jié)點。
【專利摘要】本發(fā)明提供了一種衛(wèi)生信息共享文檔模板緩沖存儲的編輯方法,包括數(shù)據(jù)模型文件緩沖存儲方法及模板約束規(guī)則數(shù)據(jù)緩沖存儲方法。本發(fā)明通過采用基于HTML5?LocalStorage的衛(wèi)生信息共享文檔模板緩沖存儲的編輯方法,除非特意從瀏覽器中清空本次緩沖存儲,從未出現(xiàn)模板約束規(guī)則數(shù)據(jù)丟失的情況,為建立可靠的衛(wèi)生信息共享文檔開發(fā)系統(tǒng)提供了保障。
【IPC分類】G06F17/24
【公開號】CN105302789
【申請?zhí)枴緾N201510880784
【發(fā)明人】葉彥波, 李光亞, 陳誠, 馮東雷
【申請人】萬達信息股份有限公司
【公開日】2016年2月3日
【申請日】2015年12月3日