TWI633432B - 檔案統計方法 - Google Patents
檔案統計方法 Download PDFInfo
- Publication number
- TWI633432B TWI633432B TW105143780A TW105143780A TWI633432B TW I633432 B TWI633432 B TW I633432B TW 105143780 A TW105143780 A TW 105143780A TW 105143780 A TW105143780 A TW 105143780A TW I633432 B TWI633432 B TW I633432B
- Authority
- TW
- Taiwan
- Prior art keywords
- file
- trip
- interrupt
- packet
- statistics
- Prior art date
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一種檔案統計方法。在獲得目前執行中的行程對應的中斷封包之後,解析中斷封包,而獲得中斷封包中的裝置物件編號以及執行所述行程對應的檔案程式的檔案名稱。根據裝置物件編號,確認發出中斷封包的來源,並在確認中斷封包的來源為輸入裝置之後,累加檔案程式的執行次數。
Description
本發明是有關於一種統計方法,且特別是有關於一種針對被執行檔案的檔案統計方法。
隨著近年來資訊科技的突飛猛進,手機、電腦及個人數位助理等資訊產品隨處可見,這些產品提供了人們食、衣、住、行、育、樂等各方面的需求,也使人們對資訊產品之依賴性與日俱增,時至今日,資訊產品已與人們的日常生活產生密不可分的關係。因此,如何讓電子產品的使用更貼近使用者習慣則為目前研究的課題之一。
本發明提供一種檔案統計方法,可針對由使用者所啟動的檔案程式進行統計。
本發明的檔案統計方法,包括:獲得目前執行中的行程對應的中斷封包;解析中斷封包,而獲得中斷封包中的裝置物件編號以及執行所述行程對應的檔案程式的檔案名稱;根據裝置物件編號,確認發出中斷封包的來源;以及在確認中斷封包的來源為輸入裝置之後,累加檔案程式的執行次數。
在本發明的一實施例中,上述檔案統計方法更包括:若所述行程為作業系統的內建程式的行程,則不對行程進行處理;以及若所述行程不是作業系統的內建程式的行程,則獲得行程對應的中斷封包。
在本發明的一實施例中,獲得目前執行中的行程對應的中斷封包的步驟包括:讀取對應所述行程的中斷清單,以獲得中斷代碼;以及基於中斷代碼,自系統記憶體中取得所述行程對應的中斷封包。
在本發明的一實施例中,在解析該中斷封包之後,可進一步獲得中斷封包所呼叫的服務名稱。
在本發明的一實施例中,根據裝置物件編號,確認發出中斷封包的來源的步驟包括:當裝置物件編號為0,則判定中斷封包不是來自於硬體設備;當裝置物件編號不為0,則依據裝置物件編號來得知硬體設備的實體位址與邏輯位址,藉以獲得硬體設備的設備種類,並且依據設備種類來判斷中斷封包的來源是否為輸入裝置。
在本發明的一實施例中,在確認中斷封包的來源為輸入裝置之後,更包括:在偵測到檔案程式執行結束之後,記錄檔案程式的執行時間。
在本發明的一實施例中,上述檔案統計方法更包括:基於執行次數與執行時間,計算喜好程度;以及基於喜好程度來對檔案程式進行排序。
在本發明的一實施例中,上述檔案統計方法更包括:當檔案程式的執行次數滿足規定時,備份檔案程式。
在本發明的一實施例中,上述檔案統計方法更包括:在預設時間範圍內,累加檔案程式的執行次數;以及在經過預設時間範圍之後,將執行次數歸零。
在本發明的一實施例中,上述檔案統計方法更包括:記錄與該行程相關的行程樹。
基於上述,本發明可根據使用者行為來統計檔案程式的使用情況,以掌控檔案程式的使用率,並且亦可針對較常使用的檔案程式進行備份。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是依照本發明一實施例的電子裝置的方塊圖。電子裝置100包括處理器110、儲存裝置120以及系統記憶體130。處理器110耦接至儲存裝置120以及系統記憶體130。
處理器110例如為中央處理單元(Central Processing Unit,CPU)、圖像處理單元(Graphic Processing Unit,GPU)、物理處理單元(Physics Processing Unit,PPU)、可程式化之微處理器(Microprocessor)、嵌入式控制晶片、數位訊號處理器(Digital Signal Processor,DSP)、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)或其他類似裝置。
儲存裝置120例如為固態硬碟(Solid State Disk,SDD)、硬碟(Hard Disk Drive,HDD)或快閃記憶體(Flash Memory)等非揮發性儲存單元。系統記憶體130例如為隨機存取記憶體(Random Access Memory,RAM),其是與處理單元110直接交換資料的主記憶體。
在本實施例中,儲存裝置120包括行程擷取與中斷封包解析模組121、檔案程式使用率統計模組122、行程記錄模組123以及自動備份模組124。透過處理器110驅動所述各模組來實現檔案統計方法。
行程擷取與中斷封包解析模組121負責在作業系統運行期間,獲得目前執行中的行程對應的中斷封包,並且解析中斷封包。檔案程式使用率統計模組122利用統計的方法來記錄檔案程式的使用率。行程記錄模組123用以記錄與行程相關的行程樹(process tree)。自動備份模組124用以備份檔案程式。
圖2是依照本發明一實施例的檔案統計方法的流程圖。請參照圖1及圖2,在步驟S205中,獲得目前執行中的行程對應的中斷封包。在此,行程擷取與中斷封包解析模組121會擷取不是作業系統的內建程式的行程,以對其中斷封包進行解析。
接著,在步驟S210,解析中斷封包,而獲得中斷封包中的裝置物件編號以及執行所述行程對應的檔案程式的檔案名稱。並且,在步驟S215中,根據裝置物件編號,確認發出中斷封包的來源。解析中斷封包的重點在於,找出中斷封包的來源以及中斷封包所呼叫的檔案名稱或服務名稱。在此,裝置物件編號例如為發出中斷封包的來源對應的物件識別碼(object identifier,OID)。
在確認中斷封包的來源為輸入裝置之後,在步驟S220中,累加檔案程式的執行次數。即,對由使用者所啟動的檔案程式進行統計。
底下舉例來詳細說明行程擷取與中斷封包解析的詳細過程。在此,行程擷取與中斷封包解析模組121負責擷取作業系統以外的行程,並對所述行程相關的內容進行解析。
圖3是依照本發明一實施例的行程擷取與中斷封包解析的方法流程圖。請參照圖3,在步驟S305中,判斷目前執行中的行程是否為第三方的行程。在此,第三方指的是非作業系統的內建程式。也就是說,判斷行程是否為非作業系統內建程式的行程。
若所述行程為作業系統的內建程式的行程(步驟S305的否),則不對所述行程進行處理。若所述行程不是作業系統的內建程式的行程,也就是第三方的行程(步驟S305的是),則在步驟S310中,自系統記憶體130中取得所述行程對應的中斷封包。在此,透過存取系統記憶體130來取得行程對應的資料結構以及中斷封包。即,先讀取行程中的中斷清單,以獲得各個中斷的中斷代碼,之後,基於所述中斷代碼,自系統記憶體130中取得所述行程對應的中斷封包。
具體而言,行程擷取與中斷封包解析模組121在取得行程的名稱及識別碼之後,根據行程的識別碼,去系統記憶體130中的中斷清單(IRP(Interrupt)list)進行搜尋。中斷清單中會記錄各個中斷的中斷代碼。在獲得與行程的識別碼對應的中斷代碼之後,基於所述中斷代碼,自系統記憶體130中取得行程對應的中斷封包。之後,便可對中斷封包進行解析。
接著,在步驟S315中,判斷中斷封包裡面的裝置物件編號是否為0。當裝置物件編號為0(步驟S315的是),則判定中斷封包不是來自於硬體設備,則不對該行程進行處理。
當裝置物件編號不為0(步驟S315的否),代表中斷來自於硬體設備,進一步依據裝置物件編號來得知硬體設備的實體位址與邏輯位址,而在步驟S320中,獲得硬體設備的設備種類(Device Class)。之後,依據設備種類來判斷該中斷封包的來源是否為輸入裝置。輸入裝置例如為滑鼠、鍵盤、觸控面板等。
在此,行程擷取與中斷封包解析模組121只會在確認中斷封包的來源為輸入裝置之後,才將中斷封包所呼叫的檔案名稱與服務名稱傳送至檔案程式使用率統計模組122,並且,將檔案名稱、服務名稱以及行程名稱傳送至行程記錄模組123
檔案程式使用率統計模組122主要功能為計算檔案程式被啟用的次數、結算檔案程式在預設時間範圍內(例如每個月)的使用總時間、喜好程度與排序。檔案程式使用率統計模組122內部具有資料庫來記錄這些資訊。在接收到檔案名稱與服務名稱之後,將對應的執行次數進行累加。並且,透過判斷檔案程式是否執行結束,得知起始時間與結束時間並加以記錄,以總結當月該檔案程式被執行的總秒數(執行時間)與總次數(執行次數)。
另外,檔案程式使用率統計模組122還可基於執行次數與執行時間來計算喜好程度,並且,基於喜好程度來對檔案程式進行排序。例如,將檔案程式在預設時間範圍內(例如每個月)被啟用的執行次數乘上執行時間所獲得的值作為喜好程度。而在經過預設時間範圍之後,將執行次數歸零。例如,在月底進行結算之後,並且當備份完成時,自動備份模組124會回傳備份完成訊號至檔案程式使用率統計模組122,此時進行資料歸零的動作,將執行次數、執行時間以及喜好程度歸零。
行程記錄模組123在最初階段會接收來自於行程擷取與中斷封包解析模組121傳送的行程名稱、檔案名稱與服務名稱,針對行程名稱擁有之行程封包,查詢該行程是否有父行程,將整個行程樹(process tree)作為所呼叫的檔案程式或服務而產生的必要相關行程。行程記錄模組123內有資料庫儲存檔案名稱與服務名稱及其存放路徑、行程樹名稱及其存放路徑。而當接收到自動備份模組124回傳一備份流程完成,再將其資料庫內容予以清除。
自動備份模組124會對當檔案程式的執行次數滿足一規定時,備份檔案程式。例如,針對喜好程度的排序為前十名的檔案程式及其相關行程進行備份,以利下次還原時,使用者還能使用其喜好的程式與檔案。例如,讀取基本輸入輸出系統(Basic Input Output System,BIOS)的系統時間,倘若目前時間為月底,則取得前十名的檔案路徑、行程路徑及其相關行程路徑,在此記錄至所有的父行程。接著,再針對這些檔案路徑再進行備份,在備份完成後,會有回傳值傳回至檔案程式使用率統計模組122以及行程記錄模組123。即,當自動備份模組124備份完成時,自動備份模組124會回傳備份完成訊號,以進行資料歸零的動作。
綜上所述,在上述實施例中,在作業系統運行期間,能夠在眾多中斷封包中,辨別那些中斷封包是開啟檔案程式,並且來源來自於使用者,並且透過統計的方法,獲得使用者最常用的檔案程式,進而自動進行備份。即,可針對使用者愛用檔案,並將檔案本身以及開啟該檔案相關必要的軟體,進行自動化備份。從使用者角度來看,使用者不會因為電腦當機(crash)導致愛用的檔案從此消失或無法開啟。從企業角度來看,也避免使用者對該品牌產品不良的觀感以及降低服務成本。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100‧‧‧電子裝置
120‧‧‧儲存裝置
130‧‧‧系統記憶體
121‧‧‧行程擷取與中斷封包解析模組
122‧‧‧檔案程式使用率統計模組
123‧‧‧行程記錄模組
124‧‧‧自動備份模組
S205~S220‧‧‧檔案統計方法的各步驟
S305~S320‧‧‧行程擷取與中斷封包解析的各步驟
圖1是依照本發明一實施例的電子裝置的方塊圖。 圖2是依照本發明一實施例的檔案統計方法的流程圖。 圖3是依照本發明一實施例的行程擷取與中斷封包解析的方法流程圖。
Claims (10)
- 一種檔案統計方法,包括:在目前執行中的一行程不是一作業系統的內建程式的行程的情況下,獲得該行程對應的一中斷封包;解析該中斷封包,而獲得該中斷封包中的一裝置物件編號以及執行該行程對應的一檔案程式的檔案名稱;根據該裝置物件編號,確認發出該中斷封包的來源;以及在確認該中斷封包的來源為一輸入裝置之後,累加該檔案程式的一執行次數。
- 如申請專利範圍第1項所述的檔案統計方法,更包括:若該行程為該作業系統的內建程式的行程,則不對該行程進行處理。
- 如申請專利範圍第1項所述的檔案統計方法,其中獲得目前執行中的該行程對應的該中斷封包的步驟包括:讀取對應該行程的一中斷清單,以獲得一中斷代碼;以及基於該中斷代碼,自一系統記憶體中取得該行程對應的該中斷封包。
- 如申請專利範圍第1項所述的檔案統計方法,其中在解析該中斷封包之後,更包括:獲得該中斷封包所呼叫的一服務名稱。
- 如申請專利範圍第1項所述的檔案統計方法,其中根據該裝置物件編號,確認發出該中斷封包的來源的步驟包括: 當該裝置物件編號為0,則判定該中斷封包不是來自於一硬體設備;以及當該裝置物件編號不為0,則依據該裝置物件編號來得知該硬體設備的實體位址與邏輯位址,藉以獲得該硬體設備的設備種類,並且依據該設備種類來判斷該中斷封包的來源是否為該輸入裝置。
- 如申請專利範圍第1項所述的檔案統計方法,其中在確認該中斷封包的來源為該輸入裝置之後,更包括:在偵測到該檔案程式執行結束之後,記錄該檔案程式的一執行時間。
- 如申請專利範圍第6項所述的檔案統計方法,更包括:基於該執行次數與該執行時間,計算一喜好程度;以及基於該喜好程度來對該檔案程式進行排序。
- 如申請專利範圍第7項所述的檔案統計方法,更包括:當該檔案程式的該執行次數滿足一規定時,備份該檔案程式。
- 如申請專利範圍第1項所述的檔案統計方法,更包括:在一預設時間範圍內,累加該檔案程式的該執行次數;以及在經過該預設時間範圍之後,將該執行次數歸零。
- 如申請專利範圍第1項所述的檔案統計方法,更包括:記錄與該行程相關的行程樹。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105143780A TWI633432B (zh) | 2016-12-29 | 2016-12-29 | 檔案統計方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105143780A TWI633432B (zh) | 2016-12-29 | 2016-12-29 | 檔案統計方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201823992A TW201823992A (zh) | 2018-07-01 |
TWI633432B true TWI633432B (zh) | 2018-08-21 |
Family
ID=63639843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105143780A TWI633432B (zh) | 2016-12-29 | 2016-12-29 | 檔案統計方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI633432B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1641612A (zh) * | 2004-01-14 | 2005-07-20 | 国际商业机器公司 | 按照类型对中断计数的方法和装置 |
US20090235056A1 (en) * | 2008-03-14 | 2009-09-17 | Fujitsu Limited | Recording medium storing performance monitoring program, performance monitoring method, and performance monitoring device |
US20110078353A1 (en) * | 2008-05-19 | 2011-03-31 | Atsuhiro Tsuji | Communication processing apparatus, communication processing method, control method and communication device of communication processing apparatus |
TWI368170B (en) * | 2008-02-05 | 2012-07-11 | Nat Univ Tsing Hua | Interruption-based concurrent profiling method |
CN102681899B (zh) * | 2011-03-14 | 2015-06-10 | 金剑 | 云计算服务平台的虚拟计算资源动态管理方法 |
CN106227671A (zh) * | 2016-08-05 | 2016-12-14 | 网易(杭州)网络有限公司 | 程序运行性能分析方法及装置 |
-
2016
- 2016-12-29 TW TW105143780A patent/TWI633432B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1641612A (zh) * | 2004-01-14 | 2005-07-20 | 国际商业机器公司 | 按照类型对中断计数的方法和装置 |
TWI368170B (en) * | 2008-02-05 | 2012-07-11 | Nat Univ Tsing Hua | Interruption-based concurrent profiling method |
US20090235056A1 (en) * | 2008-03-14 | 2009-09-17 | Fujitsu Limited | Recording medium storing performance monitoring program, performance monitoring method, and performance monitoring device |
US20110078353A1 (en) * | 2008-05-19 | 2011-03-31 | Atsuhiro Tsuji | Communication processing apparatus, communication processing method, control method and communication device of communication processing apparatus |
CN102681899B (zh) * | 2011-03-14 | 2015-06-10 | 金剑 | 云计算服务平台的虚拟计算资源动态管理方法 |
CN106227671A (zh) * | 2016-08-05 | 2016-12-14 | 网易(杭州)网络有限公司 | 程序运行性能分析方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
TW201823992A (zh) | 2018-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10498842B2 (en) | Methods for recording user interactions with a website | |
WO2020233015A1 (zh) | 一种链路跟踪方法及装置 | |
US7853690B2 (en) | Non-invasive collection of data | |
US8959400B2 (en) | System, program, and method for collecting errors which occur while a user uses a computer | |
US8346889B1 (en) | Event-driven module loading | |
WO2020062980A1 (zh) | 文件访问追踪方法、装置、存储介质及终端 | |
US8504569B2 (en) | Apparatus and methods for providing answers to queries respective of a user based on user uniquifiers | |
US20070234298A1 (en) | Profiling method and computer product | |
JP2013535065A (ja) | コンテンツアイテムヒストグラムを用いた流行のコンテンツアイテムの識別 | |
CN106951550B (zh) | 数据处理方法、装置及移动终端 | |
US20090276424A1 (en) | Method and system for keyword management | |
CN110781372B (zh) | 一种优化网站的方法、装置、计算机设备及存储介质 | |
CN108304274A (zh) | 一种信息交互的方法、服务器及计算机可读介质 | |
TWI694373B (zh) | 行動終端點擊事件的識別方法和裝置 | |
CN106874293B (zh) | 一种数据处理方法及装置 | |
CN115445212A (zh) | 一种游戏礼包的推送方法、装置、计算机设备和存储介质 | |
CN107168643B (zh) | 一种数据存储方法及装置 | |
WO2017162031A1 (zh) | 一种信息采集方法和装置,以及一种智能终端 | |
TWI633432B (zh) | 檔案統計方法 | |
WO2019128317A1 (zh) | 物品推送方法、装置及服务器、计算设备及存储介质 | |
US7519704B2 (en) | Filtering non-invasive data collection | |
CN115510035A (zh) | 日志数据处理方法、装置、设备及存储介质 | |
US20080018651A1 (en) | Method and system for capturing image frame | |
CN108171544A (zh) | 一种销量统计的方法及装置 | |
WO2020143641A1 (zh) | 屏幕浏览数据处理方法、装置、介质及电子设备 |