專利名稱:機器軟件功能開通方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件功能開通方法和系統(tǒng),更具體地,涉及呼吸機的軟件功能開通方
法和系統(tǒng)。
背景技術(shù):
為了應對客戶不同的功能需求,需要開發(fā)不同的配置功能,在機器的所有硬件資 源都一樣的情況下,可以通過不同的軟件功能配置來對軟件功能進行刪減,對用不到的功 能配置進行屏蔽,對需要的功能配置進行開放。 傳統(tǒng)的做法是各個功能配置分別對應各自的目標代碼,如果相同的硬件,有三個 或者更多種的功能配置,則需要對應相應個數(shù)的目標代碼。下載到機器硬件中的目標代碼 只是針對一個功能配置,如果將來客戶需要更多的功能配置,在單片機形式的機器中,需要 將機器拆開,才能進行代碼的配置,從而進一步對客戶所需的功能配置進行升級,就升級便 利性以及軟件目標代碼的安全而言,這種做法是比較差的。
發(fā)明內(nèi)容
鑒于以上的一個或多個問題,本發(fā)明提出了一種機器軟件功能開通方法和系統(tǒng), 其便于機器軟件功能升級以及提高軟件的安全性。 根據(jù)本發(fā)明的一個方面,提出了一種機器軟件功能開通方法,其中,一個或多個軟
件功能被預先配置在機器上,該方法包括以下步驟預先在開通運算裝置和機器上配置同
樣的第一運算規(guī)則;機器生成第一數(shù)值;開通運算裝置基于第一運算規(guī)則和第一數(shù)值來生
成第二數(shù)值;以及機器接收開通運算裝置所計算出的第二數(shù)值,并基于第一運算規(guī)則和第
一數(shù)值來驗證第二數(shù)值是否正確,并在正確的情況下開通一個或多個軟件功能。 其中,第一運算規(guī)則可以是第一非線性運算規(guī)則,并且該第一非線性運算規(guī)則可
以包括以下運算規(guī)則的一種或多種開方運算和利用多個預定常數(shù)的運算。
其中,機器生成第一數(shù)值可以包括以下步驟機器接收來自外部的消息;以及機
器響應于消息來生成第一數(shù)值,其中,該消息可以是固定密碼。 其中,機器響應于消息來生成第一數(shù)值可以包括以下步驟機器基于接收到消息 的時間而從其自身的定時單元中讀取與時間相關(guān)聯(lián)的數(shù)值;以及機器基于第二運算規(guī)則和 數(shù)值來生成第一數(shù)值,并且該第二運算規(guī)則可以是第二非線性運算規(guī)則,其中該第二非線 性運算規(guī)則可以包括以下運算規(guī)則的一種或多種開方運算和取數(shù)值的預定位數(shù)的運算。
其中,文中所描述的機器可以是呼吸機。 根據(jù)本發(fā)明的另一方面,提出了一種機器軟件功能開通系統(tǒng),其中,一個或多個軟 件功能被預先配置在機器上,該系統(tǒng)包括開通運算裝置,其上預先配置有第一運算規(guī)則, 開通運算裝置用于基于第一運算規(guī)則和機器的處理單元所生成的第一數(shù)值來生成第二數(shù) 值;以及機器,該機器包括處理單元,其上預先配置有第一運算規(guī)則,處理單元用于生成 第一數(shù)值并基于第一運算規(guī)則和第一數(shù)值來驗證開通運算裝置所計算出的第二數(shù)值是否
4正確,并在正確的情況下開通一個或多個軟件功能。 其中,第一運算規(guī)則可以是第一非線性運算規(guī)則,并且第一非線性運算規(guī)則可以
包括以下運算規(guī)則的一種或多種開方運算和利用多個預定常數(shù)的運算。
其中,機器還可以包括接收單元,用于接收來自外部的消息;其中,處理單元響
應于消息來生成第一數(shù)值,其中,該消息可以是固定密碼。 其中,處理單元可以包括定時單元,用于生成與時間相關(guān)聯(lián)的數(shù)值;讀取模塊,用于基于接收到消息的時間而從定時單元中讀取與時間相關(guān)聯(lián)的數(shù)值;以及第一數(shù)值生成模塊,用于基于第二運算規(guī)則和該數(shù)值來生成第一數(shù)值。 其中,第二運算規(guī)則可以是第二非線性運算規(guī)則,并且第二非線性運算規(guī)則可以包括以下運算規(guī)則的一種或多種開方運算和取數(shù)值的預定位數(shù)的運算。
其中,文中描述的機器可以是呼吸機。 在本發(fā)明中,通過預先在開通運算裝置和機器上配置同樣的第一運算規(guī)則,并由機器生成第一數(shù)值以及開通運算裝置基于第一運算規(guī)則和第一數(shù)值來生成第二數(shù)值,以及由機器基于第一運算規(guī)則和第一數(shù)值來驗證第二數(shù)值以開通一個或多個軟件功能,可以達到便于機器軟件功能升級以及提高軟件的安全性的技術(shù)效果。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)
明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中 圖1是根據(jù)本發(fā)明的示例性實施例的機器軟件功能開通方法的流程圖; 圖2是根據(jù)本發(fā)明的示例性實施例的機器軟件功能開通系統(tǒng)的框圖; 圖3是根據(jù)本發(fā)明的示例性實施例的機器軟件功能開通系統(tǒng)的處理單元的框以及 圖4是根據(jù)本發(fā)明的示例性實施例的機器軟件功能開通系統(tǒng)的開通運算裝置面向用戶的顯示界面。
具體實施例方式
下面參考附圖,詳細說明本發(fā)明的具體實施方式
。 圖1是根據(jù)本發(fā)明的示例性實施例的機器軟件功能開通方法的流程圖。如圖1所示,本發(fā)明提出了一種機器軟件功能開通方法,其中, 一個或多個軟件功能被預先配置在機器上,該方法包括以下步驟 步驟S102,預先在開通運算裝置和機器上配置同樣的第一運算規(guī)則;
步驟S104,機器生成第一數(shù)值; 步驟S106,開通運算裝置基于第一運算規(guī)則和第一數(shù)值來生成第二數(shù)值;以及 步驟S10S,機器接收開通運算裝置所計算出的第二數(shù)值,并基于第一運算規(guī)則和
第一數(shù)值來驗證第二數(shù)值是否正確,并在正確的情況下開通一個或多個軟件功能。 其中,第一運算規(guī)則可以是第一非線性運算規(guī)則,并且該第一非線性運算規(guī)則可
以包括以下運算規(guī)則的一種或多種開方運算和利用多個預定常數(shù)的運算。
其中,機器生成第一數(shù)值可以包括以下步驟
機器接收來自外部的消息;以及 機器響應于消息來生成第一數(shù)值,其中,該消息可以是固定密碼。
其中,機器響應于消息來生成第一數(shù)值可以包括以下步驟 機器基于接收到消息的時間而從其自身的定時單元中讀取與時間相關(guān)聯(lián)的數(shù)值;以及 機器基于第二運算規(guī)則和數(shù)值來生成第一數(shù)值。 其中,第二運算規(guī)則可以是第二非線性運算規(guī)則,并且該第二非線性運算規(guī)則可以包括以下運算規(guī)則的一種或多種開方運算和取數(shù)值的預定位數(shù)的運算。
其中,文中所描述的機器可以是呼吸機。 如2是根據(jù)本發(fā)明的示例性實施例的機器軟件功能開通系統(tǒng)的框圖。如圖2所示,本發(fā)明提出了一種機器軟件功能開通系統(tǒng),其中, 一個或多個軟件功能被預先配置在機器上,該系統(tǒng)包括開通運算裝置202,其上預先配置有第一運算規(guī)則,開通運算裝置202用于基于第一運算規(guī)則和機器的處理單元所生成的第一數(shù)值來生成第二數(shù)值;以及機器204,該機器204包括處理單元204-2,其上預先配置有第一運算規(guī)則,處理單元204-2用于生成第一數(shù)值并基于第一運算規(guī)則和第一數(shù)值來驗證開通運算裝置202所計算出的第二數(shù)值是否正確,并在正確的情況下開通一個或多個軟件功能。 其中,第一運算規(guī)則可以是第一非線性運算規(guī)則,并且第一非線性運算規(guī)則可以
包括以下運算規(guī)則的一種或多種開方運算和利用多個預定常數(shù)的運算。 其中,機器204還可以包括接收單元204-6,用于接收來自外部的消息;其中,處
理單元204-2響應于消息來生成第一數(shù)值,其中,該消息可以是固定密碼。 圖3是根據(jù)本發(fā)明的示例性實施例的機器軟件功能開通系統(tǒng)的處理單元的框圖。
如圖3所示,其中,處理單元204-2可以包括定時單元204-2-2,用于生成與時間相關(guān)聯(lián)的
數(shù)值;讀取模塊204-2-4,用于基于接收到消息的時間而從定時單元204_2_2中讀取與時間
相關(guān)聯(lián)的數(shù)值;以及第一數(shù)值生成模塊204-2-6,用于基于第二運算規(guī)則和數(shù)值來生成第
一數(shù)值。 其中,第二運算規(guī)則可以是第二非線性運算規(guī)則,并且第二非線性運算規(guī)則可以包括以下運算規(guī)則的一種或多種開方運算和取數(shù)值的預定位數(shù)的運算。
其中,文中描述的機器可以是呼吸機。 下面將結(jié)合圖1和圖2對呼吸機軟件功能開通方法和系統(tǒng)進行更詳細地描述。
為了便于軟件升級以及提高軟件的安全性,可以使用密碼技術(shù)來對軟件進行配置管理,在開發(fā)軟件的過程中,對軟件做全功能的開發(fā),過程中,按照配置的要求,對軟件功能進行分類,用密碼來進行管理,升級的時候,只需要輸入動態(tài)密碼(第二數(shù)值),即可進行相應功能的開通。 本發(fā)明通過固定密碼(外部消息)和動態(tài)密碼組合來保證軟件的安全性,固定密碼不變化,輸入后即進入到動態(tài)密碼狀態(tài),系統(tǒng)會在此時進行動態(tài)密碼的生成和密碼的計算,同時給出一個本機的ID碼數(shù)值(第一數(shù)值),根據(jù)此ID碼數(shù)值,計算出相應的動態(tài)密碼,輸入后,即可實現(xiàn)一個或多個軟件功能的配置。 每次輸入固定密碼后,機器生成的ID碼數(shù)值都不相同,從而開通運算模塊根據(jù)該ID碼數(shù)值生成的動態(tài)密碼都不相同,這樣可以有效的保證軟件的安全性,從而實現(xiàn)了密碼來進行軟件配置的功能。 本發(fā)明的基本思路為在單片機的定時器(定時模塊204-2-2)溢出中斷函數(shù)中設(shè)置一個全局變量icL皿mber—co皿t(與時間相關(guān)聯(lián)的數(shù)值),每次進入中斷,此變量id_number_COunt進行加1的操作,如果在沒有進行軟件配置操作時,此過程不受影響, 一直在運行,此時id_number_count的增加是均勻和線性的。
當需要對當前的軟件進行配置時,實施以下步驟 核對輸入的固定密碼,正確后,進入動態(tài)密碼運行,錯誤的話,給出提示,繼續(xù)等待密碼輸入; 進入動態(tài)密碼運行后,取出id_number_count的值,基于id_number_count和第二運算規(guī)則來生成ID碼數(shù)值,具體地講,將icL皿mber—co皿t開方運算消除線性后,取其十六進制數(shù)據(jù)的后四位作為ID碼數(shù)值顯示; 基于ID碼數(shù)值和第一運算規(guī)則來生成動態(tài)密碼,具體地將,根據(jù)此時產(chǎn)生的ID碼數(shù)值,取出十六進制數(shù)據(jù)的每一位,各自減去相應常數(shù),改變每一位的數(shù)據(jù)后,再進行一次開方運算,進一步消除其線性,產(chǎn)生ID—NEW,并且根據(jù)軟件配置要求,引入四個三十二位的常數(shù)A、 B、 C、 D,進行(A&B) I (( C)&D) | (C)(預定的)運算后,獲得值E,取其后16位,E| ID_NEW,即產(chǎn)生內(nèi)部判斷用的動態(tài)密碼,修改不同的A、B、C、D值,即可產(chǎn)生對應不同的內(nèi)部判斷用軟件配置注冊碼; 如果處于動態(tài)密碼運行的狀態(tài),則機器退出固定密碼的狀態(tài),此時變量icL皿mber—count繼續(xù)變化,以保證動態(tài)密碼的動態(tài)變化;以及 在開通運算裝置中,用編程語言(例如,Visual Basic語言,以下簡稱VB語言)按照同樣的算法編寫程序,以得到需要輸入到機器中的動態(tài)密碼。 如圖2所示,根據(jù)本發(fā)明的另一實施例,給出了機器(諸如呼吸機)軟件功能開通系統(tǒng)可以包括 上位機動態(tài)注冊碼計算單元(開通運算裝置)202 :計算機,用于運行VB語言編寫的上位機軟件,用來運行動態(tài)密碼的計算,軟件面向用戶的界面如圖4所示;以及呼吸機(機器)204。 其中,該呼吸機204可以包括 處理單元204-2 :負責處理固定密碼和產(chǎn)生ID碼數(shù)值,對固定密碼和動態(tài)注冊碼進行運算和判斷,并存儲正確注冊碼注冊后的軟件配置;顯示單元204-4 :人機交互界面,用來顯示ID碼數(shù)值,輸入的動態(tài)密碼、固定密碼、狀態(tài)等信息;接收單元204-6 :旋轉(zhuǎn)編碼器、按鍵、顯示單元204-4上面顯示的按鍵,從其可以接收來自用戶的信息輸入或功能選擇。 具體地,呼吸機界面上的功能按鍵為霧化、緊急啟動、模式、報警、肺功能測量、監(jiān)測數(shù)據(jù)、以及配置。每個按鍵都對應一個菜單,在顯示單元204-4上顯示,同時菜單上具備很多二級菜單和子功能,可以通過接收單元204-6,來接收用戶所進行功能選擇和切換的操作消息。 更具體地,呼吸機啟動后,處理單元204-2對其自身的定時器進行初始化,定時器采用CTC(比較匹配時清除定時器)模式,在CTC模式里OCRnA或ICRn寄存器用于調(diào)節(jié)計數(shù)器的分辨率。當計數(shù)器的數(shù)值TCNTn等于OCRnA (WGMn3:0 = 4)或等于ICRn (WGMn3:0 =12)時計數(shù)器清零。CRnA或ICRn定義了計數(shù)器的TOP值,亦即計數(shù)器的分辨率。12. 5ms中斷一次,每次進入中斷函數(shù),都對icL皿mber—co皿t進行加1的運算,即不論此時是否需要對軟件進行配置,icL皿mber—count,這個動態(tài)加密需要用到的數(shù)據(jù)已經(jīng)在不停的改變。
呼吸機軟件在設(shè)計時,根據(jù)要求,對軟件的功能進行劃分分類,并將其對應到不同的動態(tài)密碼中,例如,霧化和緊急啟動對應動態(tài)密碼A,肺功能測量對應動態(tài)密碼B。作為可替換實施例,也可以將多個功能配置為對應于同一個動態(tài)密碼。 程序下載后第一次使用的初始配置按照功能最全進行工作,所有功能都啟動,以方便生產(chǎn)調(diào)試,保證所有的功能都是完好可用的,保證以后對配置進行修改時,所配置的功能能夠正常工作。 更具體地,對呼吸機的軟件功能進行配置的方法包括以下步驟
呼吸機所有功能都調(diào)試完畢,即可對呼吸機進行功能配置,用戶通過向接收單元204-6輸入指令而進行所期望的選擇之后,在顯示單元204-4顯示配置界面,在用戶通過接收單元向呼吸機輸入固定密碼之后,呼吸機進入動態(tài)密碼輸入狀態(tài),此時ID碼數(shù)值會被顯示在顯示單元204-4上,在上位機動態(tài)注冊碼計算單元(開通運算模塊)202中運行動態(tài)密碼計算程序,該程序面向用戶的界面如圖4所示,上位機動態(tài)注冊碼計算單元202接收到用戶輸入的ID碼數(shù)值之后,上位機動態(tài)注冊碼計算單元202輸出程序計算出的動態(tài)密碼,用戶通過接收單元204-6將該動態(tài)密碼輸入到呼吸機之后,呼吸機的顯示單元204-4和處理單元204-2都對輸入的動態(tài)密碼進行判斷,在動態(tài)密碼正確的情況下,顯示單元204-4將該動態(tài)密碼對應的功能顯示或者隱藏,處理單元204-2使能或者屏蔽相應的功能,并存儲當前配置,在呼吸機下一次被啟動之后,呼吸機即將配置讀出,控制呼吸機程序按照相應的配置進行工作。在動態(tài)密碼錯誤的情況下,顯示單元204-4給出動態(tài)密碼錯誤提示,而處理單元204-2不進行任何動作。 如果對呼吸機進行二次配置,則重復上述對呼吸機的軟件功能進行配置的方法所包括的步驟。 本方法在呼吸機的軟件管理中得到實驗驗證,證明方案可行,動態(tài)密碼安全可靠,未發(fā)現(xiàn)重復出現(xiàn)的配置密碼,同時配置后軟件運行正常,減少了因軟件功能不同而帶來的軟件不同造成的失誤,對呼吸機的軟件管理和配置,起到了非常好的管理便利性和安全性。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
8
權(quán)利要求
一種機器軟件功能開通方法,其中,一個或多個所述軟件功能被預先配置在機器上,其特征在于,包括以下步驟預先在開通運算裝置和所述機器上配置同樣的第一運算規(guī)則;所述機器生成第一數(shù)值;所述開通運算裝置基于所述第一運算規(guī)則和所述第一數(shù)值來生成第二數(shù)值;以及所述機器接收所述開通運算裝置所計算出的所述第二數(shù)值,并基于所述第一運算規(guī)則和所述第一數(shù)值來驗證所述第二數(shù)值是否正確,并在正確的情況下開通一個或多個所述軟件功能。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一運算規(guī)則是第一非線性運算規(guī)則。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一非線性運算規(guī)則包括以下運算 規(guī)則的一種或多種開方運算和利用多個預定常數(shù)的運算。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述機器生成所述第一數(shù)值包括以下步驟所述機器接收來自外部的消息;以及 所述機器響應于所述消息來生成所述第一數(shù)值。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述消息是固定密碼。
6. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述機器響應于所述消息來生成所述第 一數(shù)值包括以下步驟所述機器基于接收到所述消息的時間而從其自身的定時單元中讀取與所述時間相關(guān) 聯(lián)的數(shù)值;以及所述機器基于第二運算規(guī)則和所述數(shù)值來生成所述第一數(shù)值。
7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述第二運算規(guī)則是第二非線性運算規(guī)則。
8. 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述第二非線性運算規(guī)則包括以下運算 規(guī)則的一種或多種開方運算和取所述數(shù)值的預定位數(shù)的運算。
9. 根據(jù)權(quán)利要求1至8中任一項所述的方法,其特征在于,所述機器是呼吸機。
10. —種機器軟件功能開通系統(tǒng),其中,一個或多個所述軟件功能被預先配置在所述機 器上,其特征在于,包括開通運算裝置,其上預先配置有第一運算規(guī)則,所述開通運算裝置用于基于所述第一 運算規(guī)則和所述機器的處理單元所生成的第一數(shù)值來生成第二數(shù)值;以及 所述機器,包括所述處理單元,其上預先配置有第一運算規(guī)則,所述處理單元用于生成所述第一數(shù)值 并基于所述第一運算規(guī)則和所述第一數(shù)值來驗證所述開通運算裝置所計算出的所述第二 數(shù)值是否正確,并在正確的情況下開通一個或多個所述軟件功能。
11. 根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述第一運算規(guī)則是第一非線性運算 規(guī)則。
12. 根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述第一非線性運算規(guī)則包括以下運 算規(guī)則的一種或多種開方運算和利用多個預定常數(shù)的運算。
13. 根據(jù)權(quán)利要求IO所述的系統(tǒng),其特征在于,所述機器還包括接收單元,用于接收 來自外部的消息;其中,所述處理單元響應于所述消息來生成所述第一數(shù)值。
14. 根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,所述消息是固定密碼。
15. 根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,所述處理單元包括 定時單元,用于生成與時間相關(guān)聯(lián)的數(shù)值;讀取模塊,用于基于接收到所述消息的時間而從所述定時單元中讀取與所述時間相關(guān) 聯(lián)的數(shù)值;以及第一數(shù)值生成模塊,用于基于第二運算規(guī)則和所述數(shù)值來生成所述第一數(shù)值。
16. 根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,所述第二運算規(guī)則是第二非線性運算 規(guī)則。
17. 根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于,所述第二非線性運算規(guī)則包括以下運 算規(guī)則的一種或多種開方運算和取所述數(shù)值的預定位數(shù)的運算。
18. 根據(jù)權(quán)利要求10至17中任一項所述的系統(tǒng),其特征在于,所述機器是呼吸機。
全文摘要
本發(fā)明提出了一種機器軟件功能開通方法和系統(tǒng),其中,一個或多個軟件功能被預先配置在機器上,該方法包括以下步驟預先在開通運算裝置和機器上配置同樣的第一運算規(guī)則;機器生成第一數(shù)值;開通運算裝置基于第一運算規(guī)則和第一數(shù)值來生成第二數(shù)值;以及機器接收開通運算裝置所計算出的第二數(shù)值,并基于第一運算規(guī)則和第一數(shù)值來驗證第二數(shù)值是否正確,并在正確的情況下開通一個或多個軟件功能。通過本發(fā)明,可以使機器軟件功能的升級更方便,同時也可以提高軟件的安全性。
文檔編號G06F9/445GK101770374SQ20081022473
公開日2010年7月7日 申請日期2008年12月26日 優(yōu)先權(quán)日2008年12月26日
發(fā)明者遲越本 申請人:北京誼安醫(yī)療系統(tǒng)股份有限公司