TWI554901B - Online data input buffer automatic storage system and method - Google Patents
Online data input buffer automatic storage system and method Download PDFInfo
- Publication number
- TWI554901B TWI554901B TW104138911A TW104138911A TWI554901B TW I554901 B TWI554901 B TW I554901B TW 104138911 A TW104138911 A TW 104138911A TW 104138911 A TW104138911 A TW 104138911A TW I554901 B TWI554901 B TW I554901B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- client
- storage space
- user
- file
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Description
本發明是有關一種網上資料輸入緩衝式自動儲存系統與方法,特別是一種能夠在網際網路上,協助網頁瀏覽器平台使用者於輸入資料時,能夠有效自動儲存的系統及其方法。The present invention relates to an online data input buffer type automatic storage system and method, and more particularly to a system and method capable of assisting a web browser platform user to efficiently and automatically store data when inputting data on the Internet.
當使用者透過網頁瀏覽器與網站系統進行互動,特別是表格輸入或文章編輯,往往要等待使用者按下發送或儲存鈕後,資料才會真正傳送到伺服器。若使用者未完成前述動作,就必須承擔資料遺失的風險。When a user interacts with a website system through a web browser, especially a form input or an article editor, it is often necessary for the user to actually transfer the data to the server after pressing the send or save button. If the user does not complete the above actions, they must bear the risk of data loss.
而為了解決這個問題,許多網站會嘗試提供自動儲存的功能,即偵測資料異動,或以計時的方式定時儲存。由於異動頻繁,故往往需要在客戶端進行資料緩衝的動作。In order to solve this problem, many websites will try to provide automatic storage function, that is, detecting data changes or timing storage in a timed manner. Due to the frequent changes, it is often necessary to perform data buffering on the client side.
然而傳統網頁瀏覽器(Web Brower)基於資訊安全的考量,僅提供http cookie等方式進行少量本地儲存空間,或者必須另外安裝瀏覽器插件(Plugin)或擴充功能等外加模式才能取得本地儲存空間。However, the traditional Web browser (Web Brower) based on information security considerations, only provide a small amount of local storage space such as http cookies, or you must install a plug-in plug-in (Plugin) or extensions to add local storage space.
因為沒有習用的網頁瀏覽器並沒有使用一本地資料儲存技術進行緩衝,例如文章編輯這類異動頻繁且資料龐大的資料輸入行為,自動儲存很可能因為伺服器或網路緩慢,讓使用者 暫停輸入 行為來等待自動儲存完成;同時,不停歇的資料重複回存伺服器,也會造成伺服器及資料庫極大的負擔,這使得自動儲存在中小型網站上很難實現。Because there is no conventional web browser that does not use a local data storage technology to buffer, such as article editing, such as frequent and large data input behavior, automatic storage is likely to cause users to pause input because the server or network is slow. The behavior waits for the automatic storage to be completed; at the same time, the non-stop data is repeatedly stored in the server, which also causes a great burden on the server and the database, which makes it difficult to automatically store on small and medium-sized websites.
回存伺服器的資料有時需要包裝或整理成特殊格式,例如KeyValue、JSON、XML等資料格式,此時遇到無緩衝機制還會衍生另一個問題;由於一篇文章的回存格式必須以揮發性儲存設備,如隨機存取記憶體(RAM)來保留,直到發送到伺服器,甚至到伺服器回覆收到後才能從記憶體中清除,但這往往就會造成客戶端電腦裝置的負擔,不只影響網站系統運作,甚至影響到客戶端其他系統的運作,此時若電腦裝置不小心斷電,暫存在記憶體中的資料也無法追回。The data of the return server sometimes needs to be packaged or organized into a special format, such as KeyValue, JSON, XML, etc. In this case, encountering the unbuffered mechanism will also cause another problem; since the return format of an article must be Volatile storage devices, such as random access memory (RAM), are retained until they are sent to the server, and even after the server receives the reply, they can be erased from the memory, but this often causes a burden on the client computer device. It not only affects the operation of the website system, but even affects the operation of other systems on the client. At this time, if the computer device is accidentally powered off, the data temporarily stored in the memory cannot be recovered.
另一種不依靠或只使用小型本地儲存機制(如http cookie)的傳統方式,即只回傳資料差異的部份。這種方式的優點即使用的空間較少,但需要極其複雜的演算法來確保使用者新加入或刪除的資料能如實地與伺服器的舊資料結合,以產生與客戶端畫面吻合的儲存結果。Another traditional way of not relying on or using only small local storage mechanisms (such as http cookies) is to return only the differences in the data. The advantage of this approach is that it uses less space, but requires an extremely complex algorithm to ensure that the newly added or deleted data of the user can be faithfully combined with the old data of the server to produce a stored result that matches the client's picture. .
同時,上述複雜的演算過程,仍有可能因客戶端設備無法負擔,而讓使用者輸入行為暫停,故將無法完成自動儲存之目的,因此這種方式,在資源有限的中小型網站上也難以實現。礙於上述的限制,傳統的文章編輯或表格填寫多放棄自動儲存,或採直接回存伺服器的方式。若採用直接回存伺服器,為了減少網路與伺服器的負擔,只能將異動次數或計時器的臨界值設定到非常大,反而失去自動儲存即時保存使用者資料意義。使用者進行操作,經常會發現到儲存結果不完整的狀況。At the same time, the complicated calculation process mentioned above may still be unable to fulfill the user input behavior because the client device is unable to bear the load, so the purpose of automatic storage will not be completed, so this method is difficult on small and medium-sized websites with limited resources. achieve. Due to the above restrictions, traditional article editing or form filling will give up automatic storage, or directly restore the server. If the direct recovery server is used, in order to reduce the burden on the network and the server, the threshold of the number of transactions or the threshold of the timer can only be set to be very large, and the meaning of automatically storing the user data is lost. When the user operates, they often find that the storage result is incomplete.
因此,若能夠設計出一能夠透過客戶端的儲存空間進行資料回存伺服器的緩衝,同時搭配異動計數器和計時器的快速運作,並透過版本比對技術, 讓使用者在不中斷編輯動作的前提下,做到即時回存伺服器的效果,如此使用者不僅不必按下發送或儲存鈕,即使因故關閉網頁瀏覽器,或其他帶有瀏覽器元件或功能的應用程式(Application),也能將資料安全回存到伺服器,因此本發明應為一最佳解決方案。Therefore, if you can design a buffer that can store data through the client's storage space, and use the fast operation of the counter and timer, and through the version comparison technology, the user can not interrupt the editing action. The effect of saving the server instantly, so that the user can not only press the send or save button, but even close the web browser or other application with browser components or functions. The data is safely stored back to the server, so the invention should be an optimal solution.
本發明係關於一種能夠在網際網路上,協助網頁瀏覽器平台使用者於輸入資料時,能夠有效自動儲存的系統及其方法。The present invention relates to a system and method for enabling a web browser platform user to efficiently and automatically store data when inputting data on the Internet.
本發明網上資料輸入緩衝式自動儲存系統,係包含:一伺服器平台,係用以儲存一至少包含該文件或表單資料之使用者行為資料;一客戶端網頁程式,係安裝於一具有客戶端儲存空間之電腦設備中,而一使用者能夠藉由該電腦設備運作一使用者行為,而該客戶端網頁程式係與該伺服器平台進行連線,該客戶端網頁程式係至少包含一編輯模組,係提供一使用者操作版面,用以讓該使用者能夠執行一屬於使用者行為之編輯文件或表單之行為;一異動偵測模組,用以偵測該使用者行為所產生之異動;一本地儲存模組,用以將至少包含該文件或表單資料之使用者行為資料進行資料整理與包裝,並儲存於該客戶端儲存空間內;一計時暨計數模組,係用以計數該客戶端儲存空間的使用次數;一統計追蹤模組,用以統計該客戶端儲存空間的使用次數及每兩次使用該客戶端儲存空間的間隔時間;一版本比對模組,用以確認兩份或兩份以上文件或表單之新舊程度;以及一資料回存模組,係與該客戶端儲存空間相連接,用以將該客戶端儲存空間內儲存之使用者行為資料回存至該伺服器平台中。The online data input buffer automatic storage system of the present invention comprises: a server platform for storing user behavior data including at least the file or form data; and a client webpage program installed on a customer In a computer device that stores a space, and a user can operate a user behavior by using the computer device, and the client webpage program is connected to the server platform, and the client webpage program includes at least one edit. The module provides a user operation layout for enabling the user to perform an act of editing a file or a form belonging to the user's behavior; a transaction detection module for detecting the behavior of the user a local storage module for collating and packaging user behavior data including at least the file or form data, and storing the data in the client storage space; a timing and counting module is used for counting The number of times the client storage space is used; a statistical tracking module for counting the usage times of the client storage space and each use The interval of the client storage space; a version comparison module for confirming the freshness of two or more files or forms; and a data recovery module connected to the client storage space, The user behavior data stored in the client storage space is stored in the server platform.
更具體的說,所述客戶端網頁程式更包含有一異常處理模組,該異常處理模組用以偵測該電腦設備或該伺服器平台之異常狀況,並加以回應。More specifically, the client webpage program further includes an exception processing module, and the exception processing module is configured to detect and respond to an abnormal condition of the computer device or the server platform.
更具體的說,所述客戶端網頁程式更包含有一與該伺服器平台連線之舊文件載入模組,該舊文件載入模組能夠由該伺服器平台中,將儲存的文件或表單資料載入並顯示於該編輯模組所提供之使用者操作版面上。More specifically, the client webpage program further includes an old file loading module connected to the server platform, and the old file loading module can be used by the server platform to store the file or form. The data is loaded and displayed on the user interface of the editing module.
更具體的說,所述客戶端網頁程式更包含有一與該舊文件載入模組連接之舊文件資料檢測模組,該舊文件資料檢測模組用以將該伺服器平台中所載入之文件或表單資料與該客戶端儲存空間內之文件或表單資料進行比對檢測,並以比對檢測之結果,判斷該資料回存模組是否需要將該客戶端儲存空間內儲存之文件或表單資料回存至該伺服器平台中。More specifically, the client webpage program further includes an old file data detecting module connected to the old file loading module, and the old file data detecting module is used to load the server file platform. The file or the form data is compared with the file or the form data in the client storage space, and the result of the comparison detection is used to determine whether the data recovery module needs to store the file or form stored in the client storage space. The data is saved back to the server platform.
更具體的說,所述資料回存模組能夠以該使用者不等候的方式,將該使用者行為資料回傳至該伺服器平台。More specifically, the data recovery module can transmit the user behavior data to the server platform in a manner that the user does not wait.
更具體的說,所述資料回存模組將該客戶端儲存空間內儲存之使用者行為資料回存至該伺服器平台時,該計時暨計數模組能夠將計數該客戶端儲存空間的使用次數歸零。More specifically, when the data recovery module restores the user behavior data stored in the client storage space to the server platform, the timing and counting module can count the use of the client storage space. The number of times is zero.
更具體的說,所述使用者行為資料更能夠為編輯文字資訊、以附件形式添加的圖片資訊、語音資訊、影片資訊或是檔案資訊中的一種或多種。More specifically, the user behavior data can be one or more of editing text information, adding image information, voice information, video information, or file information in the form of an attachment.
更具體的說,所述使用者行為資料更能夠為該電腦設備之使用者操作環境資訊、該使用者於該電腦設備觸發的操作事件、該電腦設備之當前作業系統、該電腦設備之網頁瀏覽器的版本資訊或是使用者先前已提供並儲存在電腦設備的資訊中至少一種。More specifically, the user behavior data is more capable of operating environment information for the user of the computer device, an operation event triggered by the user on the computer device, a current operating system of the computer device, and a web browsing of the computer device. The version information of the device or at least one of the information that the user has previously provided and stored on the computer device.
更具體的說,所述使用者行為資料更能夠為資料保存的時間、各別資料和資料綜合結果的雜湊值、用以與其他資料區分的識別資訊、還有用以計算儲存和傳遞預估時間和進度的資料量大小值。More specifically, the user behavior data is more capable of storing the time of the data, the hash value of the combined data of the individual data and the data, the identification information used to distinguish it from other data, and the estimated storage time for storing and transmitting the data. And the amount of data size for the progress.
更具體的說,所述客戶端儲存空間係由一運用該電腦設備本機磁碟等非揮發性儲存空間和隨機存取記憶體、一網路遠端磁碟、一隨機存取記憶體、一客戶端網頁瀏覽器內建之資料儲存空間、一客戶端瀏覽器外加功能所提供之資料儲存空間、一客戶端使用網頁瀏覽器元件、技術和通訊協定之應用程式所提供的資料儲存空間所提供。More specifically, the client storage space is a non-volatile storage space such as a local disk of the computer device and a random access memory, a network remote disk, a random access memory, A data storage space built into a client web browser, a data storage space provided by a client browser plus functions, a data storage space provided by a client using a web browser component, a technology and a protocol application provide.
更具體的說,所述使用者行為資料於儲存或是回存時所使用之形式係能夠為原始資料、符合網路通訊標準的包裝形式、避免資訊被其他讀取的加密形式,以及減少資料量的壓縮形式。More specifically, the user behavior data is stored or restored in a form that is capable of being used as a source material, in a form of packaging conforming to network communication standards, in an encrypted form that prevents other information from being read, and in reducing data. The amount of compression.
更具體的說,所述使用者行為係能夠為依據使用者預備或結束編輯和設定資料之動作所產生的系統事件之一種或複合結果,以及使用者資料編輯和設定後以計時達到某上限方式所判斷完成之一種或複合結果。More specifically, the user behavior can be a one-time or composite result of a system event generated according to an action of the user preparing or ending editing and setting data, and the user data is edited and set to achieve an upper limit by timing. One of the judged completions or a composite result.
更具體的說,所述伺服器平台係為一網站伺服器、資料庫或是其他能與客戶端進行通訊且能保存資料的電腦設備。More specifically, the server platform is a web server, a database, or other computer device capable of communicating with a client and capable of saving data.
而本發明之網上資料輸入緩衝式自動儲存方法,其方法為: (1) 於一具有客戶端儲存空間之電腦設備中運作一客戶端網頁程式,而該客戶端網頁程式能夠獲取因使用者行為所生成的一至少包含該文件或表單資料之使用者行為資料,並將其儲存於該客戶端儲存空間中; (2) 而該客戶端網頁程式能夠計數該客戶端儲存空間的使用次數及每兩次使用該客戶端儲存空間的間隔時間; (3) 依據該客戶端儲存空間的使用次數或每兩次使用該客戶端儲存空間的間隔時間之結果,將該客戶端儲存空間內儲存之使用者行為資料回存至該伺服器平台中。The online data input buffer type automatic storage method of the present invention is as follows: (1) operating a client webpage program in a computer device having a client storage space, and the client webpage program can acquire the user webpage program a user behavior data generated by the behavior including at least the file or the form data, and stored in the client storage space; (2) the client webpage program can count the usage times of the client storage space and The interval between the use of the client storage space twice; (3) storing the storage space in the client storage space according to the number of times the client storage space is used or the interval between the use of the client storage space The user behavior data is saved back to the server platform.
更具體的說,所述於偵測到該使用者行為所產生之異動時,該客戶端網頁程式能夠將因使用者行為所生成的資料儲存於該客戶端儲存空間中。More specifically, when detecting the change caused by the user behavior, the client webpage program can store the data generated by the user behavior in the client storage space.
更具體的說,所述客戶端網頁程式能夠用以偵測該電腦設備之使用者操作環境或該伺服器平台執行環境之異常狀況,並加以回應。More specifically, the client webpage program can be used to detect and respond to an abnormal situation of the user operating environment of the computer device or the execution environment of the server platform.
更具體的說,所述客戶端網頁程式更能夠由該伺服器平台中,將儲存的文件或表單資料載入並顯示於該客戶端網頁程式上。More specifically, the client webpage program is more capable of loading and displaying the stored file or form data on the client webpage program by the server platform.
更具體的說,所述客戶端網頁程式更能夠將該伺服器平台中所載入之文件或表單資料與該客戶端儲存空間內之文件或表單資料進行比對檢測,並以比對檢測之結果,判斷是否需要將該客戶端儲存空間內儲存之文件或表單資料回存至該伺服器平台中。More specifically, the client webpage program is more capable of comparing the file or form data loaded in the server platform with the file or form data in the client storage space, and detecting by comparison. As a result, it is determined whether the file or form data stored in the client storage space needs to be stored in the server platform.
更具體的說,所述客戶端網頁程式能夠以該使用者不等候的方式,將該使用者行為資料回傳至該伺服器平台。More specifically, the client webpage program can transmit the user behavior data to the server platform in a manner that the user does not wait.
更具體的說,所述客戶端網頁程式將該客戶端儲存空間內儲存之使用者行為資料回存至該伺服器平台時,能夠將該客戶端儲存空間的使用次數歸零。More specifically, when the client webpage program restores the user behavior data stored in the client storage space to the server platform, the number of times the client storage space is used can be zeroed.
更具體的說,所述使用者行為資料更能夠為編輯文字資訊、以附件形式添加的圖片資訊、語音資訊、影片資訊或是檔案資訊中的一種或多種。More specifically, the user behavior data can be one or more of editing text information, adding image information, voice information, video information, or file information in the form of an attachment.
更具體的說,所述使用者行為資料更能夠為該電腦設備之使用者操作環境資訊、該使用者於該電腦設備觸發的操作事件、該電腦設備之當前作業系統、該電腦設備之網頁瀏覽器的版本資訊或是使用者先前已提供並儲存在電腦設備的資訊中至少一種。More specifically, the user behavior data is more capable of operating environment information for the user of the computer device, an operation event triggered by the user on the computer device, a current operating system of the computer device, and a web browsing of the computer device. The version information of the device or at least one of the information that the user has previously provided and stored on the computer device.
更具體的說,所述使用者行為資料更能夠為資料保存的時間、各別資料和資料綜合結果的雜湊值、用以與其他資料區分的識別資訊、還有用以計算儲存和傳遞預估時間和進度的資料量大小值。More specifically, the user behavior data is more capable of storing the time of the data, the hash value of the combined data of the individual data and the data, the identification information used to distinguish it from other data, and the estimated storage time for storing and transmitting the data. And the amount of data size for the progress.
更具體的說,所述使用者行為資料於儲存或是回存時所使用之形式係能夠為原始資料、符合網路通訊標準的包裝形式、避免資訊被其他讀取的加密形式,以及減少資料量的壓縮形式。More specifically, the user behavior data is stored or restored in a form that is capable of being used as a source material, in a form of packaging conforming to network communication standards, in an encrypted form that prevents other information from being read, and in reducing data. The amount of compression.
更具體的說,所述使用者行為係能夠為依據使用者預備或結束編輯和設定資料之動作所產生的系統事件之一種或複合結果,以及使用者資料編輯和設定後以計時達到某上限方式所判斷完成之一種或複合結果。More specifically, the user behavior can be a one-time or composite result of a system event generated according to an action of the user preparing or ending editing and setting data, and the user data is edited and set to achieve an upper limit by timing. One of the judged completions or a composite result.
更具體的說,所述客戶端網頁程式能夠依據累計儲存在該客戶端儲存空間的總次數或未回存伺服器次數,進行判斷是否要將該客戶端儲存空間內儲存之使用者行為資料回存至該伺服器平台中。More specifically, the client webpage program can determine whether to store the user behavior data stored in the client storage space according to the total number of times the storage space is stored in the client or the number of servers not stored back. Save to the server platform.
更具體的說,所述客戶端網頁程式能夠依據紀錄使用者完成行為之間隔時間,或是兩次計數累計之間的間隔時間,進行判斷是否要將該客戶端儲存空間內儲存之使用者行為資料回存至該伺服器平台中。More specifically, the client webpage program can determine whether to store the user behavior in the client storage space according to the interval between the time the user completes the behavior or the interval between the two counts. The data is saved back to the server platform.
更具體的說,所述客戶端網頁程式能夠依據預先設定、臨機依使用者環境狀況設定、或其他方式設計的計數方法,進行判斷是否要將該客戶端儲存空間內儲存之使用者行為資料回存至該伺服器平台中。More specifically, the client webpage program can determine whether to store the user behavior data stored in the client storage space according to a preset method, a preset method according to a user environment setting, or other methods. Save to the server platform.
更具體的說,所述客戶端網頁程式能夠於偵測到網頁瀏覽器離線、斷線、關閉等可能造成系統運作中斷之情況,將該客戶端儲存空間內儲存之使用者行為資料回存至該伺服器平台中。More specifically, the client webpage program can detect that the web browser is offline, disconnected, closed, etc., which may cause the system to be interrupted, and store the user behavior data stored in the client storage space to the In the server platform.
有關於本發明其他技術內容、特點與功效,在以下配合參考圖式之較佳實施例的詳細說明中,將可清楚的呈現。Other details, features, and advantages of the present invention will be apparent from the following description of the preferred embodiments.
請參閱第1及2圖,為本發明網上資料輸入緩衝式自動儲存系統與方法之整體架構示意圖及客戶端網頁程式之架構示意圖,由圖中可知,該網上資料輸入緩衝式自動儲存系統係包含一伺服器平台1及一具有一客戶端網頁程式21及一客戶端儲存空間22之電腦設備2,其中該伺服器平台1用以儲存一至少包含該文件或表單資料之使用者行為資料;而該客戶端網頁程式21則是由一使用者能夠藉由該電腦設備2運作一使用者行為,而該客戶端網頁程式21係與該伺服器平台1進行連線;Please refer to Figures 1 and 2, which are schematic diagrams showing the overall architecture of the online data input buffer type automatic storage system and method and the architecture of the client webpage program. As can be seen from the figure, the online data input buffer type automatic storage system The system includes a server platform 1 and a computer device 2 having a client webpage program 21 and a client storage space 22, wherein the server platform 1 is configured to store a user behavior data including at least the file or form data. The client webpage program 21 is configured by a user to operate a user behavior by the computer device 2, and the client webpage program 21 is connected to the server platform 1;
該客戶端網頁程式21係包含一編輯模組2101、一異動偵測模組2102、一本地儲存模組2103、一計時暨計數模組2104、一統計追蹤模組2105、一版本比對模組2106、一資料回存模組2107、一異常處理模組2108、一舊文件載入模組2109及一舊文件資料檢測模組2110,其中該編輯模組2101提供一使用者操作版面,用以讓該使用者能夠執行一屬於使用者行為之編輯文件或表單之行為;The client webpage program 21 includes an editing module 2101, a motion detection module 2102, a local storage module 2103, a timing and counting module 2104, a statistical tracking module 2105, and a version comparison module. 2106, a data recovery module 2107, an exception processing module 2108, an old file loading module 2109, and an old file data detecting module 2110, wherein the editing module 2101 provides a user operation layout for Enabling the user to perform an act of editing a file or form belonging to the user's behavior;
而該異動偵測模組2102係用以偵測該使用者行為所產生之異動,該本地儲存模組2103用以將至少包含該文件或表單資料之使用者行為資料進行資料整理與包裝,並儲存於該客戶端儲存空間22內;該計時暨計數模組2104係用以計數該客戶端儲存空間22的使用次數;該統計追蹤模組係用以統計該客戶端儲存空間22的使用次數(儲存次數)及每兩次使用該客戶端儲存空間22的間隔時間;The transaction detection module 2102 is configured to detect the transaction caused by the user behavior, and the local storage module 2103 is configured to organize and package the user behavior data including at least the file or the form data. Stored in the client storage space 22; the timing and counting module 2104 is configured to count the number of uses of the client storage space 22; the statistical tracking module is used to count the number of uses of the client storage space 22 ( The number of times of storage) and the interval between the use of the client storage space 22;
而該版本比對模組2106係用以確認兩份或兩份以上文件或表單之新舊程度;該資料回存模組2107係與該客戶端儲存空間22相連接,用以將該客戶端儲存空間22內儲存之使用者行為資料回存至該伺服器平台1中;The version comparison module 2106 is used to confirm the degree of newness of two or more files or forms; the data recovery module 2107 is connected to the client storage space 22 for the client. The user behavior data stored in the storage space 22 is returned to the server platform 1;
而該異常處理模組2108用以偵測該電腦設備2或該伺服器平台1之異常狀況,並加以回應;該舊文件載入模組2109能夠由該伺服器平台1中,將儲存的文件或表單資料載入並顯示於該編輯模組2101所提供之使用者操作版面上;另外該舊文件資料檢測模組2110用以將該伺服器平台1中所載入之文件或表單資料與該客戶端儲存空間22內之文件或表單資料進行比對檢測,並以比對檢測之結果,判斷該資料回存模組2107是否需要將該客戶端儲存空間22內儲存之文件或表單資料回存至該伺服器平台1中。The exception handling module 2108 is configured to detect and respond to an abnormal condition of the computer device 2 or the server platform 1; the old file loading module 2109 can be used by the server platform 1 to store the file. Or the form data is loaded and displayed on the user operation panel provided by the editing module 2101; the old file data detection module 2110 is configured to use the file or form data loaded in the server platform 1 The file or the form data in the client storage space 22 is compared and detected, and the result of the comparison detection is used to determine whether the data recovery module 2107 needs to restore the file or form data stored in the client storage space 22. To the server platform 1.
由於技術的演進,全球資訊網(WWW)的新標準,如HTML5已開始提供例如Local Storage等客戶端儲存資料的內建功能。以Local Storage來說,至少提供了5MB的儲存空間,以Unicode格式儲存,約可儲存兩萬六千個中文字。有了內建緩衝機制的配合,使用者快速鍵入的資料,才能以不影響客戶端程式或伺服器程式的前提下,推送到處理速度可能較慢的網路、伺服器等空間中;而本發明之客戶端儲存空間22便是使用Local Storage之技術。Due to the evolution of technology, new standards for the World Wide Web (WWW), such as HTML5, have begun to provide built-in functionality for client-side storage such as Local Storage. In terms of Local Storage, at least 5MB of storage space is provided, stored in Unicode format, and can store about 26,000 Chinese characters. With the built-in buffering mechanism, the data that the user can quickly type can be pushed to the network, server, etc., where the processing speed may be slow, without affecting the client program or the server program; The inventive client storage space 22 is a technology that uses Local Storage.
另外,本發明允許開發人員以最接近原始資料的方式發送和儲存資料,不必因空間不足而必須先進行資料壓縮,或者只保留差異資料片段。僅需提取緩衝暫存資料回存該伺服器平台1,可有效減少處理複雜度。In addition, the present invention allows developers to send and store data in a manner that is closest to the original material, without having to first compress the data or leave only the difference data fragments due to insufficient space. It only needs to extract the buffer temporary data to restore the server platform 1, which can effectively reduce the processing complexity.
如第3A~3D圖所示,為本發明實施例中頁面資料輸入緩衝式自動儲存方法的流程圖。該緩衝式自動儲存可應用於富文本編輯器(Rich Content Editor)或一般表單之中。網頁瀏覽器(客戶端網頁程式21)可安裝於電腦設備2上,該電腦設備2可為桌上型電腦(Desktop)、筆記型電腦(Laptop)、平板電腦(Tablet)或智慧型手機(Smart Phone)等。As shown in FIG. 3A to FIG. 3D, FIG. 3 is a flowchart of a page data input buffer type automatic storage method according to an embodiment of the present invention. This buffered automatic storage can be applied to the Rich Content Editor or general forms. The web browser (client webpage program 21) can be installed on the computer device 2, which can be a desktop computer, a laptop, a tablet, or a smart phone (Smart). Phone) and so on.
該網頁瀏覽器亦可以瀏覽器元件的形式存在應用程式(Application)中,該應用程式可為視窗應用程式(Windows Application)、安卓應用程式(Android Application)或iOS Application等各類作業系統(Operating System)上的可執行程式或組件。如第3A~3D圖所示,網上資料輸入緩衝式自動儲存的操作方法包括以下步驟: (1) 開始,如第3A圖所示,能夠為接收使用者開啟新文件的訊息301,當該客戶端網頁程式21因使用者按下新文件的開啟連結或按鈕觸發,一些文件或表單編輯流程中只允許開啟新文件,該文件之內容可以是空白值,亦或是帶有預設資料的編輯介面;該伺服器亦會提供伺服器平台1,供客戶端程式後續計算文件之更新時間;之後,則直接進入編輯流程組(B1、B2或B3),而編輯流程組為使用者進入編輯介面後,網頁程式對使用者編輯或操控網頁瀏覽器的處理和檢測流程; (2) 開始,如第3A圖所示,亦能夠為使用者選定舊文件302,當客戶可至舊文件列表清單中選定欲編輯的舊文件,該網頁程式(該客戶端網頁程式21)因使用者按下舊文件的開啟連結或按鈕觸發,而該伺服器平台1亦會提供伺服器平台1時間,供客戶端程式後續計算文件之更新時間; (3) 續步驟302,如第3A圖所示,瀏覽器由伺服器載入舊文件303,當該客戶端網頁程式21依步驟302,該使用者所選定的舊文件的識別資訊,向伺服器請求提取舊文件,該伺服器平台1即按文件的識別資訊至資料庫或其他儲存媒介中將選定的文件或表單資料提取出來,並包裝成便於傳遞的格式後,將資料傳遞到瀏覽器。而接收到舊文件資料後,瀏覽器依標題、內容、分類等各類資訊應顯示的位置,將資料顯示在網頁版面(客戶端網頁程式21之操作版面)上; (4) 續步驟303,如第3A圖所示,客戶端有未回存資料檢測304,若進入舊文件編輯,客戶端網頁程式21會首先會進行未回存資料檢測,若發現客戶端緩衝區(客戶端儲存空間22)中有資料,又與舊文件具有相同的識別資訊,即與伺服器傳過來的舊文件進行比對,確認該客戶端資料較伺服器資料為新,則該伺服器平台1直接進入步驟312回存伺服器機制。若緩衝區無資料,或有資料但與舊文件識別資訊不同,或者較伺服器文件為舊,則不進行回存伺服器的步驟;之後,則進入編輯流程組(B1、B2或B3),而編輯流程組(B1、B2或B3)為使用者進入編輯介面後,網頁程式對使用者編輯或操控網頁瀏覽器的處理和檢測流程; (5) 若是發生編輯流程組之B1時,如第3B圖所示,能夠直接選擇為使用者編輯文件標題、內容或其他週邊資訊305,當使用者可開始對網頁上的文件或表單開始進行編輯,而文件或表單內容可能因種類不同,而顯示在不同的輸入介面上,不論哪個輸入介面皆會發生資料異動; (6) 續步驟305,如第3B圖所示,當系統偵測到文件異動306,凡是使用者開始或結束一個編輯動作,都可以作為異動的依據,請參考第6圖,系統偵查到文件或表單內容異動的方式舉例如下: (a) 如第6圖中之方框601,能夠透過偵測使用者觸動鍵盤、滑鼠,或在觸控面板等輸入設備點擊特定網頁物件(灰底畫面按鈕),來認定使用者開始進行異動; (b) 如第6圖中之方框602,使用定時抓取內容的方法,與先前抓取的內容比對(原本為AB、之後為ABC),確認異動; (c) 如第6圖中之方框603,能夠透過輸入介面本身的異動事件(A->AB->ABC->ABC),來得知異動已經發生。 (7) 續步驟306,如第3B圖所示,將文件儲存到客戶端儲存區307,只要網頁程式認定文件已經異動,即將文件包裝後儲存至客戶端儲存空間22(Local Storage)中,即所謂的緩衝區。其他實施舉例如下: (a) 另一實施例中,基於資料保密需要,可利用加密技術將資料加密後存於緩衝區; (b) 其他實施例中,使用客戶端之瀏覽器Cookies或外掛程式所提供之儲存空間進行緩衝; (c) 某一實施例中基於緩衝效果,可以動態存取記憶體、硬碟空間、快閃記憶體(Flash Memory)、固態硬碟(SSD)等非揮發性(Non-Volatile)儲存空間構成多層次的緩衝架構;例如由速度最快的動態存取記憶體進行第一層緩衝,再由速度次快的固態硬碟進行第二層緩衝。 (8) 續步驟307,如第3B圖所示,將計數加一308,一旦完成客戶端儲存後,即將該計時暨計數模組2104之計數加一,若未來完成回存伺服器的動作,會再將該計時暨計數模組2104之計數歸零; (9) 續步驟308,如第3B圖所示,為計數達標檢測314,當計數每次加一後,即對累計的計數結果做達標檢測。若已達上限,即開始進入回存伺服器平台1的步驟391,若未達標,則系統繼續偵測使用的操作狀況,回到步驟305 使用者編輯文件標題、內容或其他週邊資訊;因此當使用者有異動資料後,若是回存該伺服器平台1的條件門檻未到標準,即表示紀錄異動的計時暨計數模組2104計數結果未達上限;或者紀錄上次回存至該伺服器平台1到現在時間的計時未達上限,則網頁程式不會進行回存伺服器的動作; (10)若是發生編輯流程組之B2時,如第3C圖所示,若使用者離開該網頁或關閉網頁瀏覽器,網頁會主動偵測到離線行為,因此當偵測到瀏覽器關閉事件309後,系統會忽略步驟310、314,並進入回存伺服器平台1的步驟391(回存伺服器流程組除了包含步驟312 回存伺服器外,還包含檢測異動與否和回存伺服器後的善後流程),直接開始回存該伺服器平台1的流程; (11)若是發生編輯流程組之B3時,如第3D圖所示,當計時器達標310時,使用者進行一般編輯時,會不斷觸發步驟306、307、308等動作,此刻客戶端的緩衝區(客戶端儲存空間22)內會隨時保留最新版本的文件或表單資料;同一時間,另一個模組,即步驟310,該計時暨計數模組2104 會從上次回存該伺服器平台1開始從新計時,若達預設上限,則觸發回存該伺服器平台1的步驟391; (12)進入步驟391後,如第3B~3D圖所示,開始進行資料異動檢測311,凡是開始進入回存該伺服器平台1的流程,第一個步驟就是確認資料的確有異動,檢測具體方式如下: (a) 可以使用異動狀態旗標或計數器; (b) 凡有快存模組將資料存入緩衝器,即視為異動發生,亦可解釋為客戶端資料已與伺服器端資料不一致,有待後續回存伺服器流程來進行兩者的同步作業; (c) 本實施例以計數器大於零來判斷是否已有異動發生。確認有異動發生,方可進入步驟312回存該伺服器平台1;若無異動發生,則進入步驟313將該計時暨計數模組2104歸零; (13)續步驟312,如第3B~3D圖所示,將計時/計數歸零313,當回存伺服器平台1之流程成功後,該計時暨計數模組2104應設定為零;於一實施例中,即刻起從新開始計時,直到達到另一次上限,則再次進入步驟311有資料異動檢測;另一實施例中,可在該計時暨計數模組2104之計數歸零之後首次設為1時才重新計時。無論在何種實施例中,該計時暨計數模組2104重新計時的時機應與上限值的大小互相搭配。The web browser can also be stored in the form of a browser component, which can be a Windows application, an Android application, or an iOS Application (Operating System). Executable program or component. As shown in Figures 3A to 3D, the online data input buffer type automatic storage operation method includes the following steps: (1) Start, as shown in FIG. 3A, a message 301 capable of opening a new file for the receiving user, when The client webpage program 21 is triggered by the user opening a link or button of a new file. In some file or form editing processes, only a new file is allowed to be opened, and the content of the file may be a blank value or a preset data. The editing interface; the server also provides a server platform 1 for the client program to subsequently calculate the update time of the file; after that, directly enters the editing process group (B1, B2 or B3), and the editing process group enters the editing for the user. After the interface, the webpage program edits or controls the processing and detection process of the web browser for the user; (2) At the beginning, as shown in FIG. 3A, the old file 302 can also be selected for the user, and the customer can go to the old file list list. Selecting the old file to be edited, the webpage program (the client webpage program 21) is triggered by the user pressing the open link or button of the old file, and the server is flat Station 1 will also provide the server platform 1 time for the client program to update the file update time; (3) Continue to step 302, as shown in Figure 3A, the browser loads the old file 303 by the server, when the client The webpage program 21 requests the server to extract the old file according to the identification information of the old file selected by the user in step 302. The server platform 1 selects the identification information of the file into the database or other storage medium. After the file or form data is extracted and packaged into a format that is easy to pass, the data is passed to the browser. After receiving the old file data, the browser displays the data on the webpage layout (the operation layout of the client webpage program 21) according to the location where the various information such as the title, content, classification, and the like should be displayed; (4) Continue to step 303. As shown in FIG. 3A, the client has the unrecovered data detection 304. If the old file is edited, the client webpage program 21 will first perform the unrecovered data detection, and if the client buffer is found (the client storage space 22) ) has the same information as the old file, that is, compared with the old file sent by the server, confirming that the client data is newer than the server data, the server platform 1 directly proceeds to step 312. Restore the server mechanism. If there is no data in the buffer, or there is data but different from the old file identification information, or the server file is older, the step of returning the server is not performed; after that, the editing process group (B1, B2 or B3) is entered. The editing process group (B1, B2 or B3) is a process for the user to edit or manipulate the processing and detection of the web browser after the user enters the editing interface; (5) if the B1 of the editing process group occurs, As shown in Figure 3B, the user can directly select the file title, content or other surrounding information 305. When the user can start editing the file or form on the web page, the file or form content may be displayed according to different types. In different input interfaces, data input will occur regardless of the input interface; (6) Continue to step 305, as shown in Figure 3B, when the system detects a file transaction 306, the user starts or ends an editing action. Can be used as a basis for the transaction, please refer to Figure 6, the system to detect the file or form content changes as follows: (a) as shown in Figure 6 Block 601, which can identify the user to start the transaction by detecting the user touching the keyboard, the mouse, or clicking on a specific webpage object (the gray screen button) on the input device such as the touch panel; (b) as shown in FIG. In block 602, the method of periodically grabbing the content is compared with the previously captured content (originally AB, followed by ABC) to confirm the transaction; (c) as in block 603 in FIG. 6, Enter the transaction event of the interface itself (A->AB->ABC->ABC) to know that the transaction has occurred. (7) Continue to step 306. As shown in FIG. 3B, the file is stored in the client storage area 307. As long as the webpage program determines that the file has been changed, the file is packaged and stored in the client storage space 22 (Local Storage). The so-called buffer. Other implementation examples are as follows: (a) In another embodiment, based on data privacy requirements, encryption may be used to encrypt data and stored in a buffer; (b) In other embodiments, client-side browser cookies or plug-ins are used. The storage space provided is buffered; (c) in one embodiment, based on the buffering effect, the memory, the hard disk space, the flash memory, the solid state disk (SSD), etc. can be dynamically accessed. (Non-Volatile) storage space constitutes a multi-level buffer architecture; for example, the first layer of buffering is performed by the fastest dynamic access memory, and the second layer of buffering is performed by the second-speed solid-state hard disk. (8) Continue to step 307. As shown in FIG. 3B, the count is incremented by one 308. Once the client storage is completed, the count of the timing and counting module 2104 is incremented by one. If the operation of the return server is completed in the future, The count of the chronograph and counting module 2104 will be reset to zero; (9) Continued step 308, as shown in FIG. 3B, for the count up detection 314, when the count is incremented by one, the accumulated count result is made. Compliance detection. If the upper limit has been reached, the process proceeds to step 391 of returning to the server platform 1. If the target is not reached, the system continues to detect the operating status of the use, and returns to step 305 to edit the file title, content or other surrounding information; After the user has the transaction data, if the condition threshold for returning the server platform 1 is not up to the standard, it means that the counting result of the recording change and the counting module 2104 has not reached the upper limit; or the record is last saved to the server platform 1 If the time limit of the current time does not reach the upper limit, the webpage program will not perform the action of returning the server; (10) If the B2 of the editing process group occurs, as shown in FIG. 3C, if the user leaves the webpage or closes the webpage In the browser, the web page actively detects the offline behavior, so when the browser close event 309 is detected, the system ignores steps 310 and 314 and enters step 391 of returning to the server platform 1 (returning the server process group) In addition to the step 312, the server also includes the detection of the transaction or the recovery process after the server is restored, and directly starts the process of returning the server platform 1; (11) When the B3 of the editing process group occurs, as shown in the 3D figure, when the timer reaches the standard 310, when the user performs general editing, the actions of steps 306, 307, and 308 are continuously triggered, and the buffer of the client at the moment (client storage) The space version 22) will keep the latest version of the file or form data at any time; at the same time, another module, step 310, the timing and counting module 2104 will start from the last time to restore the server platform 1 from the new time, if the The preset upper limit triggers the step 391 of returning to the server platform 1; (12) after proceeding to step 391, as shown in the 3B~3D diagram, the data transaction detection 311 is started, and the server platform starts to enter and restore the server platform. The first step of the process is to confirm that the data does change. The specific detection method is as follows: (a) The transaction status flag or counter can be used; (b) Where there is a flash memory module to store the data in the buffer, that is, For the occurrence of the transaction, it can also be interpreted that the client data has been inconsistent with the server data, and the subsequent server process is to be resumed to perform the synchronization of the two; (c) This embodiment The counter is greater than zero to determine if a transaction has occurred. If it is confirmed that the transaction has occurred, the process may return to step 312 to restore the server platform 1; if no change occurs, the process proceeds to step 313 to reset the timing and counting module 2104 to zero; (13) Continue to step 312, such as 3B~3D As shown in the figure, the timing/counting is reset to 313. When the process of returning to the server platform 1 is successful, the timing and counting module 2104 should be set to zero; in an embodiment, the timing is started from the beginning until the time is reached. In another embodiment, the data entry transaction detection is performed again in step 311. In another embodiment, the timekeeping is performed when the timekeeping timer module 2104 is reset to zero for the first time. In any embodiment, the timing of the timing and counting module 2104 re-clocking should match the size of the upper limit.
另外,由第4圖可知,由於前述未回存資料檢測需要應用版本比對,如圖中所示,其中文件版本比對涉及兩個文件之資訊比對,兩文件區分為扮演主導角色的主文件Alpha,以及負責挑戰Alpha的次文件Beta,而本實施例版本比對應在比對前為每份文件建構兩項資訊,第一為「文件的雜湊」,而第二為「更新時間」,而版本比對流程如下: (1) 為備齊欲比對之兩份文件之雜湊和更新時間401,當一客戶端設備透過MD5和SHA1等演算法求得文件之雜湊。此實施例所定義之「文件」,即所有可因使用者行為所產生之資料,欲加以保存供未來再由使用者行為異動者,皆應納入計算雜湊的範圍,本實施例中將文件標題、內文、種類等納入,以計算出單一雜湊,而其他實施如下所示: (a) 另一實施例中,雜湊由該伺服器平台1來計算; (b) 另一實施例中緩衝區(客戶端儲存空間22)存放加密資料,雜湊可以加密前之明文或加密後之密文為之; (c) 又一實施例中,可針對個別資訊如文件標題、內部、分類等等做出各別雜湊; (d) 更新時間於本實施例中,則由客戶端瀏覽器計算提供。然而客戶端之電腦設備之時鐘或與伺服器端差距極大,或處於不同時區,故於步驟301、302中之伺服器平台1亦應提供伺服器時間,供客戶端程式後續計算文件之更新時間(時間換算於某實施例可先求得客戶端設備與伺服器時間之差距值,此處因網路傳遞所造成的誤差可忽略不計,後續再以此差距值加上客戶端時間,以求得文件之更新時間); (e) 另一實施例中,更新時間由客戶端於流程301、302中反向提供給該伺服器平台1,由該伺服器平台1來計算時間差距,當文件送達該伺服器平台1時,由客戶端提供客戶端時間,最終由該伺服器平台1依時間差距加總客戶端基礎時間求得文件的更新時間。 (2) 續步驟401,為雜湊是否一致之判斷402,一份文件雜湊為一組英數字組成的字串。依理論,兩份不同文件之雜湊相同的可能性極低,故常作為大型字串比對簡省時間的替代品。某實施例中,因文件長度有限,或由客戶端設備計算雜湊有實施困難,可直接使用雜湊前之文字字串作為內容比對之依據; (3) 續步驟402,若比對結果為一致,則進入步驟403,將Beta資料拋棄,因此版本比對作業結束;若比對結果不一致,則再進入404(Beta的時間較新判斷),文件的更新時間細度應至毫秒(Millisecond),以減少時間比對時相等的可能性。若Beta文件的時間早於或等於Alpha文件的時間,則進入步驟403(將Beta資料拋棄),而版本比對作業結束;但若Beta文件的時間較新,則再進入步驟405(儲存Beta資料),以取代Alpha; (4) 續步驟404,儲存Beta資料405,取代Alpha,將Beta文件的所有資料,包括標題、內容、分類、雜湊、更新時間等資訊存入伺服器指定的資料庫中,而其他實施如下所示: (a) 其他實施例中,資料亦可保存到文字檔或其他資料儲存裝置和格式中。原Alpha文件即被Beta文件覆蓋; (b) 某實施例中,Alpha文件可備份之其他空間,做為歷史紀錄供客戶端使用者進行版本回溯。In addition, as can be seen from FIG. 4, since the foregoing unrecovered data detection requires application version comparison, as shown in the figure, wherein the file version is compared with the information relating to two files, the two files are distinguished as the main player. The file Alpha, and the secondary file Beta responsible for challenging Alpha, and the version of this embodiment constructs two pieces of information for each file before the comparison, the first is "the hash of the file" and the second is the "update time". The version comparison process is as follows: (1) To prepare the hash and update time 401 of the two files to be compared, when a client device obtains a hash of the file through an algorithm such as MD5 and SHA1. The "documents" defined in this embodiment, that is, all the data that can be generated by the user's behavior, and which are to be saved for future user behavior, should be included in the calculation of the hash. In this embodiment, the file title will be included. , text, category, etc. are included to calculate a single hash, while other implementations are as follows: (a) In another embodiment, the hash is calculated by the server platform 1; (b) the buffer in another embodiment (Client storage space 22) stores encrypted data, and the hash can encrypt the plaintext before encryption or the encrypted ciphertext; (c) In another embodiment, it can be made for individual information such as file title, internal, classification, and the like. Each is hashed; (d) The update time is provided in the present embodiment by the client browser. However, the clock of the client's computer device is very different from the server end or is in a different time zone. Therefore, the server platform 1 in steps 301 and 302 should also provide the server time for the client program to update the update time of the file. (Time conversion in a certain embodiment can first find the difference between the client device and the server time, where the error caused by the network transmission is negligible, and then the gap value plus the client time, in order to (e) In another embodiment, the update time is provided by the client in reverse to the server platform 1 in the process 301, 302, and the server platform 1 calculates the time gap when the file is used. When the server platform 1 is delivered, the client provides the client time, and finally the server platform 1 obtains the update time of the file according to the time gap and the total client base time. (2) Continue with step 401, a judgment 402 for whether the hash is consistent, and a file hashed into a string of English numerals. According to the theory, the possibility that the two different documents are the same is very low, so it is often used as a substitute for a large string to save time. In an embodiment, because the file length is limited, or the calculation of the hash by the client device is difficult, the text string before the hash can be directly used as the basis for the content comparison; (3) Continue to step 402, if the comparison result is consistent Then, proceed to step 403 to discard the Beta data, so the version comparison end is ended; if the comparison result is inconsistent, then enter 404 again (Beta's time is relatively new), and the file update time fineness should be millisecond (Millisecond). To reduce the possibility of equal time alignment. If the time of the Beta file is earlier than or equal to the time of the Alpha file, proceed to step 403 (discard the Beta data) and the version comparison job ends; but if the time of the Beta file is newer, proceed to step 405 (save the Beta data) In order to replace Alpha; (4) Continue to step 404, store the Beta data 405, replace Alpha, and save all the information of the Beta file, including the title, content, classification, hash, update time, etc. into the database specified by the server. Other implementations are as follows: (a) In other embodiments, the material may also be saved to a text file or other data storage device and format. The original Alpha file is overwritten by the Beta file; (b) In an embodiment, the other space in which the Alpha file can be backed up is used as a historical record for the client user to perform version backtracking.
如第5圖所示,為一版本回存伺服器平台之實施例,處理流程如下: (1) 由客戶端提取緩衝資料501,將資料由客戶端瀏覽器或含有瀏覽器的應用程式中取得緩衝暫存的資料。資料包含文件標題、內容、分類、雜湊、更新時間。另一實施例中,由伺服器計算雜湊和更新時間,則所提取的緩衝資料包含文件標題、內容、分類、基礎時間; (2) 續步驟501,資料依傳遞通訊協定加入通訊參數502,將時間加入寄送伺服器的相關資訊。其他實施例中,此步驟於使用者選定新文件或舊文件後,即建立起客戶端程式與伺服器之間的通訊管道,具體地說,此通訊管道建構於長期有效的通訊協定(如WebSocket,則步驟502可省略); (3) 續步驟502,傳遞給伺服器平台503,客戶端程式將文件資料即用以資料比對之雜湊和更新時間發送到伺服器; (4) 續步驟503,客戶端版本較新判斷504,此處使用第4圖所示之版本比對實施例,來判斷客戶端所發送過來之文件較伺服器之文件為新。若該伺服器平台1尚無此文件,亦視為客戶端版本較新。某一實施例中,客戶端文件永恆視為較伺服器平台1之版本為新,故不包含此流程404(客戶端版本較新判斷); (5) 續步驟504,儲存資料505,即第4圖所示之步驟405(Beta資料取代Alpha資料); (6) 續步驟504,拋棄資料506,即第4圖所示之步驟403(將Beta資料拋棄); (7) 續步驟505,通知客戶端成功507,如完成步驟505(儲存資料)後,則回覆客戶端已成功儲存資料; (8) 續步驟506,通知客戶端資料拋棄508,完成步驟506(拋棄資料)後,則回覆客戶端儲存失敗,並將客戶端傳遞過來的資料拋棄,而該伺服器平台1仍保留先前版本。As shown in FIG. 5, the embodiment of the server platform for restoring the server is as follows: (1) The buffer data 501 is extracted by the client, and the data is obtained by the client browser or the browser-containing application. Buffer temporary data. The data includes the file title, content, classification, hash, and update time. In another embodiment, the server calculates the hash and update time, and the extracted buffer data includes the file title, content, classification, and base time; (2) Continue to step 501, the data is added to the communication parameter 502 according to the communication protocol, and Time to join the information about the sending server. In other embodiments, after the user selects a new file or an old file, the communication pipeline between the client program and the server is established. Specifically, the communication pipeline is constructed in a long-term effective communication protocol (such as WebSocket). Then, step 502 can be omitted; (3) Continue to step 502, which is transmitted to the server platform 503, and the client program sends the file data to the server for the hash and update time of the data comparison; (4) Continue to step 503 The client version is relatively new to determine 504. Here, the version shown in FIG. 4 is used to compare the embodiment to determine that the file sent by the client is newer than the file of the server. If the server platform 1 does not have this file, it is also considered that the client version is newer. In an embodiment, the client file is deemed to be newer than the version of the server platform 1, so the process 404 is not included (the client version is relatively new); (5) Continue to step 504, storing the data 505, ie, 4, step 405 (Beta data replaces Alpha data); (6) Continue to step 504, discarding data 506, that is, step 403 shown in FIG. 4 (discarding the Beta data); (7) Continue to step 505, notify If the client succeeds 507, after completing step 505 (storing data), the reply client successfully stores the data; (8) Continue to step 506, notify the client that the data is discarded 508, and after completing step 506 (discarding the data), reply to the client. The storage fails and the data passed by the client is discarded, and the server platform 1 still retains the previous version.
而本發明當要編輯新文件時,流程如下: (1) 如第7A圖所示,能夠先開啟新文件,並輸入標題、內容或進行圖片上傳,其中無輸入資料時,系統並不會自動儲存,但一旦輸入資料(如輸入文件內容為123456789),系統即會回存至該伺服器平台1,並建立一新文件;而當持續輸入資料時,系統即持續進行緩衝暫存,當緩衝次數或緩衝時間達到上限,即回存該伺服器平台1; (2) 如第7B圖所示,直接跳離此文件,進入查詢列表;而文件列表中已顯示步驟1所建立的文件。再度進入編輯模式,本例為點擊「草稿」鈕; (3) 如第7C圖所示,再度進入編輯模式,標題與內容所顯示之內容,則會呈現與步驟1相同的文件內容(顯示文件內容為123456789)。When the present invention is to edit a new file, the flow is as follows: (1) As shown in FIG. 7A, the new file can be opened first, and the title, content, or image upload can be input. When no data is input, the system does not automatically Save, but once the data is entered (such as the input file content is 123456789), the system will restore it to the server platform 1 and create a new file; while continuously inputting the data, the system will continue to buffer the temporary storage when buffering The number of times or buffer time reaches the upper limit, that is, the server platform 1 is restored; (2) As shown in FIG. 7B, the file is directly jumped out to enter the query list; and the file created in step 1 is displayed in the file list. Once again enter the edit mode, this example is to click the "draft" button; (3) as shown in Figure 7C, re-enter the edit mode, the content displayed by the title and content, will display the same file content as step 1 (display file The content is 123456789).
而本發明當要編輯舊文件時,處理流程如下: (1) 如第8A圖所示,當承接編輯新文件之結果後,之後直接將第二列數字(123456789)的顏色改為紅色,並修改標題; (2) 如第8B圖所示,直接跳離此文件,進入查詢列表,而文件列表中已顯示步驟1所修改的文件,此時標題已顯示修改後結果;而再度進入編輯模式,本例為點擊「草稿」鈕; (3) 如第8C圖所示,再度進入編輯模式,標題與內容呈現與步驟1相同的文件內容(顯示文件內容為紅字的123456789)。When the present invention is to edit an old file, the processing flow is as follows: (1) As shown in FIG. 8A, when the result of editing the new file is accepted, the color of the second column number (123456789) is directly changed to red, and Modify the title; (2) As shown in Figure 8B, jump directly away from this file, enter the query list, and the file modified in step 1 is displayed in the file list, at this time the title has displayed the modified result; and enter the edit mode again. In this example, click the "Draft" button; (3) As shown in Figure 8C, enter the edit mode again, and the title and content present the same file content as in step 1 (display file content is red letter 123456789).
而本發明遇到中途斷線要復原時,處理流程如下: (1) 如第9A圖所示,於標題和內文加入ABC等文字; (2) 如第9B圖所示,此時發生網路中斷; (3) 如第9C圖所示,於網路中斷的情況下,於標題和內文加入123等文字後離開頁面; (4) 如第9D圖所示,待網路連線復原後,進入查詢列表。標題中僅出現斷線前之ABC字樣,並無123。再度進入編輯模式,本例為點擊「草稿」鈕; (5) 如第9E圖所示,再次進入編輯模式後,系統會自動檢查Local Storage(客戶端儲存空間22)內是否有比該伺服器平台1內之版本更新的緩衝資料,若發現有更新的緩衝資料,即進行回存伺服器作業,並將包含數字123之最新版本顯示在畫面上; (6) 如第9F圖所示,再度進入查詢列表,其中標題欄更新顯示斷線過程中所輸入的123。However, when the present invention encounters a mid-line disconnection to be restored, the processing flow is as follows: (1) As shown in FIG. 9A, characters such as ABC are added to the title and the text; (2) as shown in FIG. 9B, the network occurs at this time. (3) As shown in Figure 9C, in the case of network interruption, leave the page after adding text such as 123 to the title and text; (4) As shown in Figure 9D, the network connection is restored. After that, enter the query list. In the title, only the word ABC before the disconnection appears, there is no 123. Once again enter the edit mode, this example is to click the "draft" button; (5) As shown in Figure 9E, after entering the edit mode again, the system will automatically check whether there is any server in the Local Storage (client storage space 22) If the buffer data of the version update in the platform 1 is found, if the updated buffer data is found, the server will be restored and the latest version containing the number 123 will be displayed on the screen; (6) As shown in Figure 9F, Enter the query list, where the title bar update shows 123 entered during the disconnection.
而本發明之網上資料輸入緩衝式自動儲存方法,如第10圖所示,其流程如下: (1) 於一具有客戶端儲存空間之電腦設備中運作一客戶端網頁程式,而該客戶端網頁程式能夠獲取因使用者行為所生成的一至少包含該文件或表單資料之使用者行為資料,並將其儲存於該客戶端儲存空間中1001; (2) 而該客戶端網頁程式能夠計數該客戶端儲存空間的使用次數及每兩次使用該客戶端儲存空間的間隔時間1002; (3) 依據該客戶端儲存空間的使用次數或每兩次使用該客戶端儲存空間的間隔時間之結果,將該客戶端儲存空間內儲存之使用者行為資料回存至該伺服器平台中1003。The online data input buffer automatic storage method of the present invention, as shown in FIG. 10, has the following flow: (1) operating a client webpage program in a computer device having a client storage space, and the client The webpage program can obtain a user behavior data generated by the user behavior including at least the file or the form data, and store the data in the client storage space 1001; (2) the client webpage program can count the The number of times the client storage space is used and the interval between the use of the client storage space twice; (3) according to the usage time of the client storage space or the interval between the use of the client storage space twice, The user behavior data stored in the client storage space is returned to the server platform 1003.
除非上下文另有特定描述,本發明中的元件和元件數量即可以單形式存在,也可以多個形式在,本發明並不對此進行限定。本發明中的步驟雖然用標號進行了排列,但並不用於限定步驟的先後次序,除非明確說明了步驟的次序或者某步驟的執行需要其他步驟作為前提,否則步驟的相對次序是可以調整的。可以理解,本文中所使用的術語「和/或」涉及且涵蓋相關聯的所列項目中的一者或一者以上的任何和所有可能組合。The number of elements and elements in the present invention may be in a single form or in multiple forms, and the invention is not limited thereto. The steps in the present invention are arranged by reference numerals, but are not intended to limit the order of the steps. The relative order of the steps may be adjusted unless the order of the steps is explicitly stated or the execution of the steps requires other steps. It will be understood that the term "and/or" as used herein relates to and encompasses any and all possible combinations of one or more of the associated listed items.
本發明所提供之網上資料輸入緩衝式自動儲存系統與方法,與其他習用技術相互比較時,其優點如下: (1) 本發明為一能夠透過客戶端的儲存空間進行資料回存伺服器的緩衝,同時搭配異動計數器和計時器的快速運作,並透過版本比對技術, 讓使用者在不中斷編輯動作的前提下,做到即時回存伺服器的效果,如此使用者不僅不必按下發送或儲存鈕,即使因故關閉網頁瀏覽器,或其他帶有瀏覽器元件或功能的應用程式(Application),也能將資料安全回存到伺服器。 (2) 本發明主要運用現行網頁瀏覽器提供的內建程式開發功能、本地儲功能、和網路通訊功能等,以較易取得的資源,輔以較易部署的方式來完成網上資料輸入自動儲存的功能,使得多數網站都能輕易採用和部署。 (3) 本發明主要使用客戶端的磁碟空間作為緩衝空間(客戶端儲存空間),因此當網頁程式中的異動偵測模組偵測到資料異動後,則由本地儲存模組將資料進行包裝後直接儲存到緩衝區(客戶端儲存空間);而該統計追蹤模組更能夠判斷計數器或計時器計時暨計數模組是否已達上限,將緩衝空間(客戶端儲存空間)中的資料透過該統計追蹤模組發送到伺服器平台。 (4) 另外,若回存該伺服器平台前,即遇到客戶端電腦斷電、斷線的狀況,可在復原後,先透過該版本比對模組與伺服器版本進行比對 ,再重新啟動回存該伺服器平台,以降低資料遺失的風險。The advantages of the online data input buffer type automatic storage system and method provided by the present invention when compared with other conventional technologies are as follows: (1) The present invention is capable of buffering a data recovery server through a storage space of a client. At the same time, with the fast operation of the counter and timer, and through the version comparison technology, the user can instantly restore the effect of the server without interrupting the editing action, so that the user does not have to press the send or The save button can safely restore data to the server even if the web browser is closed for any reason, or other applications with browser components or functions. (2) The present invention mainly utilizes the built-in program development function, the local storage function, and the network communication function provided by the current web browser, and completes the online data input with the easy-to-obtain resources and the easier deployment method. The automatic storage feature makes most websites easy to adopt and deploy. (3) The present invention mainly uses the disk space of the client as a buffer space (client storage space). Therefore, when the transaction detection module in the webpage program detects the data change, the local storage module packs the data. After being directly stored in the buffer (client storage space), the statistical tracking module can further determine whether the counter or the timer timing and counting module has reached the upper limit, and the data in the buffer space (client storage space) is transmitted through the The statistical tracking module is sent to the server platform. (4) In addition, if the client computer is powered off or disconnected before returning to the server platform, it can be compared with the server version through the version after the recovery. Restart the server platform to reduce the risk of data loss.
本發明已透過上述之實施例揭露如上,然其並非用以限定本發明,任何熟悉此一技術領域具有通常知識者,在瞭解本發明前述的技術特徵及實施例,並在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之專利保護範圍須視本說明書所附之請求項所界定者為準。The present invention has been disclosed in the above embodiments, and is not intended to limit the present invention. Any of those skilled in the art can understand the foregoing technical features and embodiments of the present invention without departing from the invention. In the spirit and scope, the scope of patent protection of the present invention is subject to the definition of the claims attached to the present specification.
1‧‧‧伺服器平台
2‧‧‧電腦設備
21‧‧‧客戶端網頁程式
2101‧‧‧編輯模組
2102‧‧‧異動偵測模組
2103‧‧‧本地儲存模組
2104‧‧‧計時暨計數模組
2105‧‧‧統計追蹤模組
2106‧‧‧版本比對模組
2107‧‧‧資料回存模組
2108‧‧‧異常處理模組
2109‧‧‧舊文件載入模組
2110‧‧‧舊文件資料檢測模組
22‧‧‧客戶端儲存空間1‧‧‧Server platform
2‧‧‧Computer equipment
21‧‧‧Client web application
2101‧‧‧editing module
2102‧‧‧Transaction detection module
2103‧‧‧Local Storage Module
2104‧‧‧Timekeeping and counting module
2105‧‧‧Statistical Tracking Module
2106‧‧‧ version comparison module
2107‧‧‧ Data Recovery Module
2108‧‧‧Exception handling module
2109‧‧‧Old file loading module
2110‧‧‧Old document data detection module
22‧‧‧Client storage space
[第1圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之整體架構示意圖。 [第2圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之客戶端網頁程式之架構示意圖。 [第3A圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之頁面資料輸入緩衝式自動儲存方法的流程圖。 [第3B圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之頁面資料輸入緩衝式自動儲存方法的流程圖。 [第3C圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之頁面資料輸入緩衝式自動儲存方法的流程圖。 [第3D圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之頁面資料輸入緩衝式自動儲存方法的流程圖。 [第4圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之版本比對實施例流程圖。 [第5圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之展示一版本回存伺服器實施例流程圖。 [第6圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之偵測異動的方式實施例示意圖。 [第7A圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之編輯新文件之實施示意圖。 [第7B圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之編輯新文件之實施示意圖。 [第7C圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之編輯新文件之實施示意圖。 [第8A圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之編輯舊文件之實施示意圖。 [第8B圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之編輯舊文件之實施示意圖。 [第8C圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之編輯舊文件之實施示意圖。 [第9A圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之中途斷線復原之實施示意圖。 [第9B圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之中途斷線復原之實施示意圖。 [第9C圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之中途斷線復原之實施示意圖。 [第9D圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之中途斷線復原之實施示意圖。 [第9E圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之中途斷線復原之實施示意圖。 [第9F圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之中途斷線復原之實施示意圖。 [第10圖]係本發明網上資料輸入緩衝式自動儲存系統與方法之流程示意圖。[FIG. 1] FIG. 1 is a schematic diagram showing the overall architecture of an online data input buffer type automatic storage system and method of the present invention. [Fig. 2] is a schematic structural diagram of a client webpage program of the online data input buffer type automatic storage system and method of the present invention. [Fig. 3A] is a flowchart of a page data input buffer type automatic storage method of the online data input buffer type automatic storage system and method of the present invention. [Fig. 3B] is a flow chart of the page data input buffer type automatic storage method of the online data input buffer type automatic storage system and method of the present invention. [FIG. 3C] FIG. 3 is a flowchart of a page data input buffer type automatic storage method of the online data input buffer type automatic storage system and method of the present invention. [Fig. 3D] is a flowchart of a page data input buffer type automatic storage method of the online data input buffer type automatic storage system and method of the present invention. [Fig. 4] is a flow chart showing an embodiment of the online data input buffer type automatic storage system and method of the present invention. [Fig. 5] is a flow chart showing an embodiment of a version of the online storage data buffering automatic storage system and method. [Fig. 6] Fig. 6 is a schematic diagram showing an embodiment of the method for detecting the transaction change of the online data input buffer type automatic storage system and method of the present invention. [FIG. 7A] FIG. 7 is a schematic diagram showing the implementation of editing a new file of the online data input buffer type automatic storage system and method of the present invention. [Fig. 7B] is a schematic diagram showing the implementation of editing a new file of the online data input buffer type automatic storage system and method of the present invention. [FIG. 7C] FIG. 7 is a schematic diagram showing the implementation of editing a new file of the online data input buffer type automatic storage system and method of the present invention. [Fig. 8A] is a schematic diagram showing the implementation of editing an old file of the online data input buffer type automatic storage system and method of the present invention. [Fig. 8B] is a schematic diagram showing the implementation of editing an old file of the online data input buffer type automatic storage system and method of the present invention. [Fig. 8C] is a schematic diagram showing the implementation of editing an old file of the online data input buffer type automatic storage system and method of the present invention. [Fig. 9A] is a schematic diagram of the implementation of the online data input buffer type automatic storage system and method in the middle of the present invention. [Fig. 9B] is a schematic diagram of the implementation of the online data input buffer type automatic storage system and method in the middle of the present invention. [Fig. 9C] is a schematic diagram of the implementation of the online data input buffer type automatic storage system and method in the middle of the present invention. [Fig. 9D] is a schematic diagram of the implementation of the online data input buffer type automatic storage system and method in the middle of the present invention. [Fig. 9E] is a schematic diagram of the implementation of the online data input buffer type automatic storage system and method in the middle of the present invention. [Fig. 9F] is a schematic diagram of the implementation of the online data input buffer type automatic storage system and method in the middle of the present invention. [Fig. 10] is a flow chart showing the online data input buffer type automatic storage system and method of the present invention.
1‧‧‧伺服器平台 1‧‧‧Server platform
2‧‧‧電腦設備 2‧‧‧Computer equipment
21‧‧‧客戶端網頁程式 21‧‧‧Client web application
22‧‧‧客戶端儲存空間 22‧‧‧Client storage space
Claims (29)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104138911A TWI554901B (en) | 2015-11-24 | 2015-11-24 | Online data input buffer automatic storage system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104138911A TWI554901B (en) | 2015-11-24 | 2015-11-24 | Online data input buffer automatic storage system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI554901B true TWI554901B (en) | 2016-10-21 |
TW201719457A TW201719457A (en) | 2017-06-01 |
Family
ID=57848392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104138911A TWI554901B (en) | 2015-11-24 | 2015-11-24 | Online data input buffer automatic storage system and method |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI554901B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111283590A (en) * | 2018-12-06 | 2020-06-16 | 优钢机械股份有限公司 | Setting method of electronic torque tool |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2907279T3 (en) | 2019-08-23 | 2022-04-22 | Worldline | Security server for dynamic verification of web content, remote end user device, system comprising said remote end user device and server, and method implemented by said system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200741507A (en) * | 2005-12-07 | 2007-11-01 | Networks In Motion Inc | Method and system for a user input solution for a limited telecommunication device |
US8108490B2 (en) * | 2007-09-28 | 2012-01-31 | International Business Machines Corporation | Record/replay of user-input instructions to a web application |
US20120030190A1 (en) * | 2010-08-02 | 2012-02-02 | Lee Hong-Lin | Method of recording and searching for a web page and method of recording a browsed web page |
-
2015
- 2015-11-24 TW TW104138911A patent/TWI554901B/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200741507A (en) * | 2005-12-07 | 2007-11-01 | Networks In Motion Inc | Method and system for a user input solution for a limited telecommunication device |
US8108490B2 (en) * | 2007-09-28 | 2012-01-31 | International Business Machines Corporation | Record/replay of user-input instructions to a web application |
US20120030190A1 (en) * | 2010-08-02 | 2012-02-02 | Lee Hong-Lin | Method of recording and searching for a web page and method of recording a browsed web page |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111283590A (en) * | 2018-12-06 | 2020-06-16 | 优钢机械股份有限公司 | Setting method of electronic torque tool |
TWI733067B (en) * | 2018-12-06 | 2021-07-11 | 優鋼機械股份有限公司 | Setting method of electronic torque tool |
Also Published As
Publication number | Publication date |
---|---|
TW201719457A (en) | 2017-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11588922B2 (en) | Capturing and replaying application sessions using resource files | |
US10498842B2 (en) | Methods for recording user interactions with a website | |
US9495340B2 (en) | Method and apparatus for intelligent capture of document object model events | |
US9535720B2 (en) | System for capturing and replaying screen gestures | |
US9087071B2 (en) | Gathering transaction data associated with locally stored data files | |
JP3936835B2 (en) | Terminal device for computer network and operation history recording method | |
EP3179701B1 (en) | File upload and download methods and associated server | |
US8683263B2 (en) | Cooperative client and server logging | |
CN107667351A (en) | The system and method for the full data backup and resume for being automatically based upon cloud on mobile device | |
CN109766725B (en) | Data processing method, device, intelligent terminal and computer readable medium | |
CN102638581A (en) | Cookie information storage method and cookie information storage system | |
US20120050336A1 (en) | Touch-based remote control | |
US20130293486A1 (en) | Touch-based remote control | |
TWI554901B (en) | Online data input buffer automatic storage system and method | |
WO2013137982A1 (en) | Method and apparatus for intelligent capture of document object model events | |
CN102143214A (en) | Mainframe data stream proxy and method for caching communication between emulators and mainframes | |
CN111801652B (en) | Recording and recreating interface navigation procedures | |
CN101887463B (en) | Virtual domain-based HTTP reduction display method | |
US20120300247A1 (en) | Image processing system including image forming apparatus having touch panel | |
JP2016038802A (en) | Information processing terminal, control method thereof, and program | |
JP2009289218A (en) | Information processing apparatus, and recovery method and recovery program for input information thereof | |
JP2006277771A (en) | Terminal device and operation history recording method for computer network | |
US8898263B2 (en) | Detecting change of settings stored on a remote server by making use of a network filter driver | |
WO2014183494A1 (en) | Method, apparatus, and system of opening a web page | |
WO2017039821A1 (en) | Forwarding activity-related information from source electronic devices to companion electronic devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |