實例生成、實例操作方法及裝置、存儲介質及電子設備與流程
2023-09-15 03:34:55 2

本公開涉及計算機處理技術領域,具體地,涉及一種實例生成方法及裝置、實例操作方法及裝置、計算機可讀存儲介質及電子設備。
背景技術:
對於數據報表來說,若每次直接從資料庫中查詢數據,不僅會增加資料庫的訪問壓力,還會影響取數速度從而降低報表的執行速度。針對於此,可以將數據查詢結果作為實例進行報表緩存,這樣,在用戶對報表緩存的實例進行操作時,可以快速的從緩存中讀取該實例,無需重新生成。
在實際應用中,一個報表可能會支持上百種屬性設置,例如,字體顏色、字體大小、背景色等屬性,在生成一個實例時,報表所有的屬性都會存在於實例中進行緩存,在並發量大的時候,緩存的實例會隨之激增,如此實例生成以及實例緩存方案,勢必會消耗大量的內存空間。
技術實現要素:
本公開的目的是提供一種實例生成方法及裝置,用以降低實例緩存時消耗的內存空間;此外,還提供一種實例操作方法及裝置,用以對本公開方案生成的實例進行操作。
為了實現上述目的,第一方面,本公開提供一種實例生成方法,包括:
接收實例生成請求,所述實例生成請求包括報表身份標識和請求參數;
查找所述報表身份標識對應的報表模板,所述報表模板包括預設屬性和可變屬性;
利用所述預設屬性生成預設緩存模型,所述預設緩存模型用於保存同一報表生成的所有實例具有的共性屬性,所述所有實例對應緩存一份所述預設緩存模型;
利用所述請求參數和所述可變屬性生成實例緩存模型,以及所述實例緩存模型的實例身份標識,所述實例緩存模型用於保存當前實例相對其他實例具有的個性屬性;
建立所述實例緩存模型與所述預設緩存模型之間的引用關係,所述實例緩存模型與所述預設緩存模型的組合用於表示所述當前實例。
可選地,如果系統中存在多張不同報表,且所述系統中預先配置一份默認屬性緩存模型,所述默認屬性緩存模型用於保存所述多張不同報表具有的所有默認屬性,則所述預設屬性為當前報表具有的固定不變的自定義屬性,所述利用所述預設屬性生成預設緩存模型,包括:
生成定義屬性緩存模型,所述定義屬性緩存模型用於保存所述自定義屬性;
建立所述定義屬性緩存模型與所述默認屬性緩存模型之間的引用關係;
從所述默認屬性緩存模型中獲取所述當前報表的剩餘屬性,所述剩餘屬性與所述定義屬性緩存模型的組合用於表示所述當前報表的預設緩存模型,所述剩餘屬性為所述當前報表具有的所有屬性中除所述可變屬性和所述自定義屬性之外的屬性。
第二方面,本公開提供一種實例操作方法,用於對上述方法生成的實例進行操作,包括:
接收實例操作請求,所述實例操作請求包括實例身份標識和操作參數;
判斷是否查找到所述實例身份標識對應的實例緩存模型;
如果查找到所述實例緩存模型,利用與所述實例緩存模型具有引用關係的預設緩存模型、以及所述實例緩存模型組合得到當前實例;
利用所述操作參數對所述當前實例進行操作。
可選地,所述實例操作請求還包括報表身份標識和請求參數,所述方法還包括:
如果未查找到所述實例緩存模型,則判定是否查找到利用所述報表身份標識對應的報表模板生成的預設緩存模型;
如果查找到所述預設緩存模型,則利用所述報表模板中的可變屬性和所述請求參數生成實例緩存模型;
利用所述實例緩存模型以及所述預設緩存模型組合得到當前實例,並利用所述操作參數對所述當前實例進行操作。
可選地,如果未查找到所述預設緩存模型,所述方法還包括:
利用所述報表模板中的預設屬性生成所述預設緩存模型。
第三方面,本公開提供一種實例生成裝置,所述裝置包括:
生成請求接收模塊,用於接收實例生成請求,所述實例生成請求包括報表身份標識和請求參數;
報表模板查找模塊,用於查找所述報表身份標識對應的報表模板,所述報表模板包括預設屬性和可變屬性;
第一模型生成模塊,用於利用所述預設屬性生成預設緩存模型,所述預設緩存模型用於保存同一報表生成的所有實例具有的共性屬性,所述所有實例對應緩存一份所述預設緩存模型;
第二模型生成模塊,用於利用所述請求參數和所述可變屬性生成實例緩存模型,以及所述實例緩存模型的實例身份標識,所述實例緩存模型用於保存當前實例相對其他實例具有的個性屬性;
引用關係建立模塊,用於建立所述實例緩存模型與所述預設緩存模型之間的引用關係,所述實例緩存模型與所述預設緩存模型的組合用於表示所述當前實例。
可選地,如果系統中存在多張不同報表,且所述系統中預先配置一份默認屬性緩存模型,所述默認屬性緩存模型用於保存所述多張不同報表具有的所有默認屬性,則所述預設屬性為當前報表具有的固定不變的自定義屬性,
所述第一模型生成模塊,用於生成定義屬性緩存模型,所述定義屬性緩存模型用於保存所述自定義屬性;建立所述定義屬性緩存模型與所述默認屬性緩存模型之間的引用關係;從所述默認屬性緩存模型中獲取所述當前報表的剩餘屬性,所述剩餘屬性與所述定義屬性緩存模型的組合用於表示所述當前報表的預設緩存模型,所述剩餘屬性為所述當前報表具有的所有屬性中除所述可變屬性和所述自定義屬性之外的屬性。
第四方面,本公開提供一種實例操作裝置,用於對上述裝置生成的實例進行操作,包括:
操作請求接收模塊,用於接收實例操作請求,所述實例操作請求包括實例身份標識和操作參數;
第一判斷模塊,用於判斷是否查找到所述實例身份標識對應的實例緩存模型;
第一組合模塊,用於在所述第一判斷模塊判定查找到所述實例緩存模型時,利用與所述實例緩存模型具有引用關係的預設緩存模型、以及所述實例緩存模型組合得到當前實例;
實例操作模塊,用於利用所述操作參數對所述當前實例進行操作。
可選地,所述實例操作請求還包括報表身份標識和請求參數,所述裝置還包括:
第二判斷模塊,用於在所述第一判斷模塊判定未查找到所述實例緩存模型時,判定是否查找到利用所述報表身份標識對應的報表模板生成的預設緩存模型;
第一模型生成模塊,用於在所述第二判斷模塊判定查找到所述預設緩存模型時,利用所述報表模板中的可變屬性和所述請求參數生成實例緩存模型;
第二組合模塊,用於利用所述實例緩存模型以及所述預設緩存模型組合得到當前實例,並利用所述操作參數對所述當前實例進行操作。
可選地,所述裝置還包括:
第二模型生成模塊,用於在所述第二判斷模塊判定未查找到所述預設緩存模型時,利用所述報表模板中的預設屬性生成所述預設緩存模型。
第五方面,本公開提供一種計算機可讀存儲介質,其上存儲有電腦程式,該程序被處理器執行時實現第一方面中任一項所述方法的步驟。
第六方面,本公開提供一種計算機可讀存儲介質,其上存儲有電腦程式,該程序被處理器執行時實現第二方面中任一項所述方法的步驟。
第七方面,本公開提供一種電子設備,包括:
第五方面所述的計算機可讀存儲介質;以及
一個或者多個處理器,用於執行所述計算機可讀存儲介質中的程序。
第八方面,本公開提供一種電子設備,包括:
第六方面所述的計算機可讀存儲介質;以及
一個或者多個處理器,用於執行所述計算機可讀存儲介質中的程序。
相對於現有的實例單層緩存技術,本公開方案的緩存結構至少可以劃分為兩層:一層用於表示同一報表生成的所有實例的共性屬性,即預設緩存模型;一層用於表示同一報表生成的單個實例的個性屬性,即實例緩存模型。這樣,基於實例緩存模型與預設緩存模型之間的引用關係,可以組合表示一個完整的實例;此外,針對一張報表生成的所有實例,統一緩存一份預設緩存模型,還有助於降低多個實例之間共有的、冗餘的屬性,被重複緩存消耗的內存空間,可以高效的節省內存佔用問題,特別是在並發量大導致實例激增的場景下,本公開方案能更為顯著的節省內存空間。
本公開的其他特徵和優點將在隨後的具體實施方式部分予以詳細說明。
附圖說明
附圖是用來提供對本公開的進一步理解,並且構成說明書的一部分,與下面的具體實施方式一起用於解釋本公開,但並不構成對本公開的限制。在附圖中:
圖1是本公開實例生成方法的流程示意圖;
圖2是本公開中三層報表緩存結構的示意圖;
圖3是本公開中利用預設屬性生成預設緩存模型的流程示意圖;
圖4是本公開實例操作方法實施例1的流程示意圖;
圖5是本公開實例操作方法實施例2的流程示意圖;
圖6是本公開實例生成裝置的一種結構示意圖;
圖7是本公開實例操作裝置的一種結構示意圖;
圖8是本公開用於實現實例生成的電子設備的結構示意圖;
圖9是本公開用於實現實例操作的電子設備的結構示意圖。
具體實施方式
以下結合附圖對本公開的具體實施方式進行詳細說明。應當理解的是,此處所描述的具體實施方式僅用於說明和解釋本公開,並不用於限制本公開。
為了解決現有技術緩存實例佔用內存空間大的問題,本公開提供一種新的實例生成方案,有助於降低實例緩存消耗的內存空間,特別是在並發量大的情況下,本公開方案效果更為明顯。
參見圖1為本公開實例生成方法的流程示意圖。該方法可以包括以下步驟:
步驟101,接收實例生成請求,所述實例生成請求包括報表身份標識和請求參數。
步驟102,查找所述報表身份標識對應的報表模板,所述報表模板包括預設屬性和可變屬性。
利用本公開方案生成實例時,可以結合實際應用需求進行報表的屬性配置,獲得報表模板。作為一種示例,可以將報表模板保存於資料庫中,以便需要時根據報表身份標識從資料庫中讀取報表模板,並基於報表模板進行實例生成。
作為一種示例,報表模塊可以包括以下兩種類型的屬性:
(1)預設屬性
具體地,預先配置好且固定不變的屬性,可以作為本公開中的預設屬性。例如,對於報表a來說,單元格a的背景色設置為綠色、標題字體為默認字體等,均屬於報表a的預設屬性。
(2)可變屬性
具體地,會隨外部輸入的請求參數的變化而改變的屬性,可以作為本公開中的可變屬性。例如,對於報表a來說,單元格b的背景色為參數,用戶可以通過請求參數設置單元格b的背景色;單元格c3的取值為公式c3=c1+c2,用戶可以通過請求參數設置單元格c3的取值。上述示例均屬於報表a的可變屬性。
在進行實例生成時,可以接收客戶端用戶輸入的報表身份標識以及生成實例需要的請求參數,進而根據報表身份標識從資料庫中讀取對應的報表模板,以備後續處理。
步驟103,利用所述預設屬性生成預設緩存模型,所述預設緩存模型用於保存同一報表生成的所有實例具有的共性屬性,所述所有實例對應緩存一份所述預設緩存模型。
步驟104,利用所述請求參數和所述可變屬性生成實例緩存模型,以及所述實例緩存模型的實例身份標識,所述實例緩存模型用於保存當前實例相對其他實例具有的個性屬性。
步驟105,建立所述實例緩存模型與所述預設緩存模型之間的引用關係,所述實例緩存模型與所述預設緩存模型的組合用於表示所述當前實例。
本公開方案,可以針對單張報表構建兩層緩存結構,用以節省實例緩存消耗的內存空間。具體地,查找到報表模板後,可以按照以下步驟進行實例生成:
(1)生成預設緩存模型
如上文所作介紹,預設屬性為報表中固定不變的屬性,也就是說,基於同一報表生成的所有實例中都存在這部分固定不變的屬性,即預設屬性為基於同一報表生成的所有實例具有的共性屬性。因此,基於同一張報表生成的多個實例,系統只需要緩存一份利用預設屬性生成的預設緩存模型,有助於降低實例緩存消耗的內存空間,特別在並發量大的情況下,本公開方案達到的效果更為明顯。
作為一種示例,系統中存在多張不同報表時,為了進一步降低實例緩存消耗的內存空間,本公開還可提供圖2所示三層緩存結構。其中,默認屬性緩存模型用於保存多張不同報表具有的所有默認屬性,可預先配置於系統中。定義屬性緩存模型用於保存客戶端用戶針對當前報表進行個性化配置的自定義屬性,可以利用報表模板中的預設屬性生成,也就是說,對應於系統中存在多張不同報表的場景,預設屬性指的是客戶端用戶針對當前報表配置的固定不變的自定義屬性。
本公開方案中,系統初始配置好,且用戶不會修改的屬性,可視為默認屬性;相對系統初始配置有所修改,且被修改為固定值的屬性,可視為自定義屬性。
本公開還提供一種基於默認屬性緩存模型和定義屬性緩存模型生成預設緩存模型的方法,具體可參見下文圖3處所做介紹,此處暫不詳述。
(2)生成實例緩存模型
本公開方案,在獲得當前實例與其他實例具有的共性屬性後,還可以通過請求參數和可變屬性,得到當前實例相對其他實例具有的個性屬性。
以上文通過請求參數設置單元格b的背景色為例,針對實例1,如果客戶端用戶輸入的請求參數為黃色,則生成的實例緩存模型中單元格b的背景色為黃色;針對實例2,如果客戶端用戶輸入的請求參數為紅色,則生成的實例緩存模型中單元格b的背景色為紅色;針對實例3,如果客戶端用戶輸入的請求參數為黃色,則生成的實例緩存模型中單元格b的背景色為黃色。
也就是說,本公開中不同實例的屬性值可能是相同的,實例的個性屬性指的是需要根據用戶輸入的請求參數確定取值的屬性。
(3)建立關聯關係
為了得到一個完整的實例,還可以建立實例緩存模型到預設緩存模型的引用關係。這樣,在後續執行實例查詢等操作時,便可基於實例身份標識讀取實例緩存模型,基於引用關係讀取預設緩存模型,進而利用二者組合出一個完整的實例,供後續操作。
綜上所述,相對於現有的實例單層緩存技術,本公開的緩存結構至少可以劃分為兩層:一層用於表示基於同一報表生成的所有實例的共性屬性,即預設緩存模型;一層用於表示基於同一報表生成的單個實例的個性屬性,即實例緩存模型。其中,同一報表只需要對應緩存一份預設緩存模型,即避免多個實例之間共有的、冗餘的屬性被重複緩存,有助於降低實例緩存消耗的內存空間,尤其在並發量大導致實例激增的場景下,本公開方案能更為顯著的節省內存空間。
參見圖3為本公開利用預設屬性生成預設緩存模型的流程示意圖。可以包括以下步驟:
步驟301,生成定義屬性緩存模型,所述定義屬性緩存模型用於保存所述自定義屬性。
步驟302,建立所述定義屬性緩存模型與所述默認屬性緩存模型之間的引用關係。
步驟303,從所述默認屬性緩存模型中獲取所述當前報表的剩餘屬性,所述剩餘屬性與所述定義屬性緩存模型的組合用於表示所述當前報表的預設緩存模型,所述剩餘屬性為所述當前報表具有的所有屬性中除所述可變屬性和所述自定義屬性之外的屬性。
由上文所做介紹可知,實例緩存模型用於保存當前實例的個性屬性,定義屬性緩存模型用於保存當前報表的個性屬性,為了組合出一個完整的當前實例,並儘量節省實例所佔內存空間,可以預先在系統中配置一份默認屬性緩存模型,用於保存多張不同報表具有的所有屬性的默認值。也就是說,客戶端用戶配置報表模板時,只需要配置可變屬性和自定義屬性,報表中大量的剩餘屬性均可通過訪問默認屬性緩存模型的方式獲得。
這樣,當前報表對應的定義屬性緩存模型、從默認屬性緩存模型中獲取的當前報表的剩餘屬性,二者可以組合表示當前報表的預設緩存模型,也就是說,基於當前報表生成的所有實例的共性屬性包括:剩餘屬性和自定義屬性。獲得預設緩存模型後,還可與當前實例對應的實例緩存模型相組合,表示一個完整的當前實例,即本公開可採用圖2所示三層緩存結構進行實例緩存。
可以理解地,對於報表1、報表2、報表3來說,系統只保存一份默認屬性緩存模型,三張報表具有的默認屬性保存於默認屬性緩存模型中。對於報表1來說,系統只保存一份定義屬性緩存模型,報表1的自定義屬性保存於定義屬性緩存模型中。對於基於報表1生成的單個實例來說,系統可以保存一份實例緩存模型,該單個實例的個性屬性保存於實例緩存模型中。如此緩存結構,不僅可以確保實例被完整、正確的表示,還可以儘量避免多個實例之間共有的、冗餘的屬性被重複緩存,有助於降低實例緩存佔用的內存空間,尤其在並發量大導致實例激增的場景下,本公開方案能更為顯著的節省內存空間。
按照上述方案生成實例後,還可根據實際應用需求進行實例操作,參見圖4為本公開實例操作方法實施例1的流程示意圖。該方法可以包括以下步驟:
步驟401,接收實例操作請求,所述實例操作請求包括實例身份標識和操作參數。
步驟402,判斷是否查找到所述實例身份標識對應的實例緩存模型。
步驟403,如果查找到所述實例緩存模型,利用與所述實例緩存模型具有引用關係的預設緩存模型、以及所述實例緩存模型組合得到當前實例。
步驟404,利用所述操作參數對所述當前實例進行操作。
在進行實例操作時,可以先利用客戶端用戶輸入的實例身份標識,查找對應的實例緩存模型,並在得到實例緩存模型後,組合該實例緩存模型引用的預設緩存模型,生成一個完整的當前實例,然後再利用客戶端用戶輸入的操作參數,對當前實例進行操作。
作為一種示例,本公開中的操作可以為查詢、列印、導出、翻頁等。以翻頁為例,操作參數可以體現為在當前頁的基礎上後翻一頁。
在實際應用過程中,超過一定的緩存時間或者緩存數量後,會對實例進行緩存清理,如果實例未被清理,則可查找到實例身份標識對應的實例緩存模型,進行實例操作。如果實例已經被清理,則查找不到實例身份標識對應的實例緩存模型。針對於此,為了確保實例操作的正常進行,客戶端用戶發送的實例操作請求中還可以包括報表身份標識和請求參數,用以在查找不到實例緩存模型時,利用報表身份標識和請求參數進行實例生成。
參見圖5為本公開實例操作方法實施例2的流程示意圖。該方法可以包括以下步驟:
步驟501,接收實例操作請求,所述實例操作請求包括實例身份標識、操作參數、報表身份標識和請求參數。
步驟502,判斷是否查找到所述實例身份標識對應的實例緩存模型。
步驟503,如果未查找到所述實例緩存模型,則判定是否查找到利用所述報表身份標識對應的報表模板生成的預設緩存模型。
步驟504,如果查找到所述預設緩存模型,則利用所述報表模板中的可變屬性和所述請求參數生成實例緩存模型。
步驟505,利用所述實例緩存模型以及所述預設緩存模型組合得到當前實例,並利用所述操作參數對所述當前實例進行操作。
如果查找不到實例身份標識對應的實例緩存模型,則可實時進行實例生成。結合上文所做介紹,具體可分為以下兩種情況:
(1)需要生成實例緩存模型
判定系統中不存在實例身份標識對應的實例緩存模型時,可以進一步判斷系統中是否緩存有利用報表身份標識對應的報表模板生成的預設緩存模型,如果系統中存在預設緩存模型,則可利用請求參數、報表模板中的可變參數,生成實例緩存模型,進而將實例緩存模型和預設緩存模型組合出完整的當前實例,進行實例操作。
(2)需要生成實例緩存模型、預設緩存模型
如果系統中不存在預設緩存模型,則可利用報表模板中的預設參數,生成預設緩存模型,並利用請求參數、報表模板中的可變參數,生成實例緩存模型,然後再將實例緩存模型和預設緩存模型組合出完整的當前實例,進行實例操作。
預設緩存模型、實例緩存模型的生成過程,可參見上文所做介紹,此處不再贅述。
參見圖6為本公開實例生成裝置的結構示意圖。所述裝置包括:
生成請求接收模塊601,用於接收實例生成請求,所述實例生成請求包括報表身份標識和請求參數;
報表模板查找模塊602,用於查找所述報表身份標識對應的報表模板,所述報表模板包括預設屬性和可變屬性;
第一模型生成模塊603,用於利用所述預設屬性生成預設緩存模型,所述預設緩存模型用於保存同一報表生成的所有實例具有的共性屬性,所述所有實例對應緩存一份所述預設緩存模型;
第二模型生成模塊604,用於利用所述請求參數和所述可變屬性生成實例緩存模型,以及所述實例緩存模型的實例身份標識,所述實例緩存模型用於保存當前實例相對其他實例具有的個性屬性;
引用關係建立模塊605,用於建立所述實例緩存模型與所述預設緩存模型之間的引用關係,所述實例緩存模型與所述預設緩存模型的組合用於表示所述當前實例。
可選地,如果系統中存在多張不同報表,且所述系統中預先配置一份默認屬性緩存模型,所述默認屬性緩存模型用於保存所述多張不同報表具有的所有默認屬性,則所述預設屬性為當前報表具有的固定不變的自定義屬性,
所述第一模型生成模塊,用於生成定義屬性緩存模型,所述定義屬性緩存模型用於保存所述自定義屬性;建立所述定義屬性緩存模型與所述默認屬性緩存模型之間的引用關係;從所述默認屬性緩存模型中獲取所述當前報表的剩餘屬性,所述剩餘屬性與所述定義屬性緩存模型的組合用於表示所述當前報表的預設緩存模型,所述剩餘屬性為所述當前報表具有的所有屬性中除所述可變屬性和所述自定義屬性之外的屬性。
參見圖7為本公開實例操作裝置的結構示意圖。用於對圖6所示實例生成裝置生成的實例進行操作,包括:
操作請求接收模塊701,用於接收實例操作請求,所述實例操作請求包括實例身份標識和操作參數;
第一判斷模塊702,用於判斷是否查找到所述實例身份標識對應的實例緩存模型;
第一組合模塊703,用於在所述第一判斷模塊判定查找到所述實例緩存模型時,利用與所述實例緩存模型具有引用關係的預設緩存模型、以及所述實例緩存模型組合得到當前實例;
實例操作模塊704,用於利用所述操作參數對所述當前實例進行操作。
可選地,所述實例操作請求還包括報表身份標識和請求參數,所述裝置還包括:
第二判斷模塊,用於在所述第一判斷模塊判定未查找到所述實例緩存模型時,判定是否查找到利用所述報表身份標識對應的報表模板生成的預設緩存模型;
第一模型生成模塊,用於在所述第二判斷模塊判定查找到所述預設緩存模型時,利用所述報表模板中的可變屬性和所述請求參數生成實例緩存模型;
第二組合模塊,用於利用所述實例緩存模型以及所述預設緩存模型組合得到當前實例,並利用所述操作參數對所述當前實例進行操作。
可選地,所述裝置還包括:
第二模型生成模塊,用於在所述第二判斷模塊判定未查找到所述預設緩存模型時,利用所述報表模板中的預設屬性生成所述預設緩存模型。
關於上述實施例中的裝置,其中各個模塊執行操作的具體方式已經在有關該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
圖8是根據一示例性實施例示出的一種電子設備800的框圖,該電子設備800用於實現實例生成。如圖8所示,該電子設備800可以包括:處理器801,存儲器802,多媒體組件803,輸入/輸出(i/o)接口804,以及通信組件805。
其中,處理器801用於控制該電子設備800的整體操作,以完成上述的實例生成方法中的全部或部分步驟。存儲器802用於存儲各種類型的數據以支持在該電子設備800的操作,這些數據例如可以包括用於在該電子設備800上操作的任何應用程式或方法的指令,以及應用程式相關的數據,例如聯繫人數據、收發的消息、圖片、音頻、視頻等等。該存儲器802可以由任何類型的易失性或非易失性存儲設備或者它們的組合實現,例如靜態隨機存取存儲器(staticrandomaccessmemory,簡稱sram),電可擦除可編程只讀存儲器(electricallyerasableprogrammableread-onlymemory,簡稱eeprom),可擦除可編程只讀存儲器(erasableprogrammableread-onlymemory,簡稱eprom),可編程只讀存儲器(programmableread-onlymemory,簡稱prom),只讀存儲器(read-onlymemory,簡稱rom),磁存儲器,快閃記憶體,磁碟或光碟。多媒體組件803可以包括屏幕和音頻組件。其中屏幕例如可以是觸控螢幕,音頻組件用於輸出和/或輸入音頻信號。例如,音頻組件可以包括一個麥克風,麥克風用於接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器802或通過通信組件805發送。音頻組件還包括至少一個揚聲器,用於輸出音頻信號。i/o接口804為處理器801和其他接口模塊之間提供接口,上述其他接口模塊可以是鍵盤,滑鼠,按鈕等。這些按鈕可以是虛擬按鈕或者實體按鈕。通信組件805用於該電子設備800與其他設備之間進行有線或無線通信。無線通信,例如wi-fi,藍牙,近場通信(nearfieldcommunication,簡稱nfc),2g、3g或4g,或它們中的一種或幾種的組合,因此相應的該通信組件805可以包括:wi-fi模塊,藍牙模塊,nfc模塊。
在一示例性實施例中,電子設備800可以被一個或多個應用專用集成電路(applicationspecificintegratedcircuit,簡稱asic)、數位訊號處理器(digitalsignalprocessor,簡稱dsp)、數位訊號處理設備(digitalsignalprocessingdevice,簡稱dspd)、可編程邏輯器件(programmablelogicdevice,簡稱pld)、現場可編程門陣列(fieldprogrammablegatearray,簡稱fpga)、控制器、微控制器、微處理器或其他電子元件實現,用於執行上述的實例生成方法。
在另一示例性實施例中,還提供了一種包括程序指令的計算機可讀存儲介質,例如包括程序指令的存儲器802,上述程序指令可由電子設備800的處理器801執行以完成上述的實例生成方法。
圖9是根據一示例性實施例示出的一種電子設備900的框圖,該電子設備900用於實現實例操作。如圖9所示,該電子設備900可以包括:處理器901,存儲器902,多媒體組件903,輸入/輸出(i/o)接口904,以及通信組件905。
其中,處理器901用於控制該電子設備900的整體操作,以完成上述的實例操作方法中的全部或部分步驟。存儲器902用於存儲各種類型的數據以支持在該電子設備900的操作,這些數據例如可以包括用於在該電子設備900上操作的任何應用程式或方法的指令,以及應用程式相關的數據,例如聯繫人數據、收發的消息、圖片、音頻、視頻等等。該存儲器902可以由任何類型的易失性或非易失性存儲設備或者它們的組合實現,例如靜態隨機存取存儲器(staticrandomaccessmemory,簡稱sram),電可擦除可編程只讀存儲器(electricallyerasableprogrammableread-onlymemory,簡稱eeprom),可擦除可編程只讀存儲器(erasableprogrammableread-onlymemory,簡稱eprom),可編程只讀存儲器(programmableread-onlymemory,簡稱prom),只讀存儲器(read-onlymemory,簡稱rom),磁存儲器,快閃記憶體,磁碟或光碟。多媒體組件903可以包括屏幕和音頻組件。其中屏幕例如可以是觸控螢幕,音頻組件用於輸出和/或輸入音頻信號。例如,音頻組件可以包括一個麥克風,麥克風用於接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器902或通過通信組件905發送。音頻組件還包括至少一個揚聲器,用於輸出音頻信號。i/o接口904為處理器901和其他接口模塊之間提供接口,上述其他接口模塊可以是鍵盤,滑鼠,按鈕等。這些按鈕可以是虛擬按鈕或者實體按鈕。通信組件905用於該電子設備900與其他設備之間進行有線或無線通信。無線通信,例如wi-fi,藍牙,近場通信(nearfieldcommunication,簡稱nfc),2g、3g或4g,或它們中的一種或幾種的組合,因此相應的該通信組件905可以包括:wi-fi模塊,藍牙模塊,nfc模塊。
在一示例性實施例中,電子設備900可以被一個或多個應用專用集成電路(applicationspecificintegratedcircuit,簡稱asic)、數位訊號處理器(digitalsignalprocessor,簡稱dsp)、數位訊號處理設備(digitalsignalprocessingdevice,簡稱dspd)、可編程邏輯器件(programmablelogicdevice,簡稱pld)、現場可編程門陣列(fieldprogrammablegatearray,簡稱fpga)、控制器、微控制器、微處理器或其他電子元件實現,用於執行上述的實例操作方法。
在另一示例性實施例中,還提供了一種包括程序指令的計算機可讀存儲介質,例如包括程序指令的存儲器902,上述程序指令可由電子設備900的處理器901執行以完成上述的實例操作方法。
以上結合附圖詳細描述了本公開的優選實施方式,但是,本公開並不限於上述實施方式中的具體細節,在本公開的技術構思範圍內,可以對本公開的技術方案進行多種簡單變型,這些簡單變型均屬於本公開的保護範圍。
另外需要說明的是,在上述具體實施方式中所描述的各個具體技術特徵,在不矛盾的情況下,可以通過任何合適的方式進行組合,為了避免不必要的重複,本公開對各種可能的組合方式不再另行說明。
此外,本公開的各種不同的實施方式之間也可以進行任意組合,只要其不違背本公開的思想,其同樣應當視為本公開所公開的內容。