本發明涉及機動車輛,尤其涉及具有被編程以檢測車道變換操縱并且選擇新的路徑上目標車輛的機動車輛。
背景技術:
自主車輛經受與人類駕駛車輛相同的情況。例如,自主車輛在道路上將遇到坑洼、封閉的車道、熄火的車輛和廢墟。一些障礙物比其他更容易導航繞過。例如,對于人類駕駛員以及自主車輛來說,更容易導航繞過靜止的物體。避免包括其他車輛的移動的物體可以更加困難。
技術實現要素:
根據本發明的第一方面,提供一種包含數據存儲介質和處理裝置的計算裝置,其中該計算裝置被編程以:
檢測從第一車道到第二車道的主車輛車道變換;
在主車輛完成車道變換之前忽略第一車道中的當前目標車輛;以及
在主車輛完成車道變換之前選擇第二車道中的車輛作為新的目標車輛。
進一步地,本發明的計算裝置進一步地包含被編程以檢測當前目標車輛和新的目標車輛的自主駕駛傳感器。
進一步地,其中自主駕駛傳感器被編程以檢測車道標記并且至少部分地根據主車輛相對于車道標記的位置來輸出表示主車輛車道變換的信號。
進一步地,其中計算裝置被編程以接收表示主車輛車道變換的信號并且至少部分地根據表示主車輛車道變換的信號來檢測主車輛車道變換。
進一步地,其中計算裝置被編程以接收轉向角信號并且至少部分地根據轉向角信號來檢測主車輛車道變換。
進一步地,其中計算裝置被編程以接收轉彎指示器信號并且至少部分地根據轉彎指示器信號來檢測主車輛車道變換。
進一步地,其中計算裝置被編程以在選擇新的目標車輛之后命令主車輛加速。
進一步地,其中計算裝置被編程以在選擇新的目標車輛之后命令主車輛減速。
進一步地,其中計算裝置被編程以在主車輛完成車道變換之前至少部分地根據主車輛和新的目標車輛之間的距離來忽略新的目標車輛。
進一步地,其中計算裝置被編程以識別第二車道中的多個車輛并且選擇第二車道中的多個車輛中的一個作為新的目標車輛。
根據本發明的第二方面,提供一種方法,該方法包含:
檢測從第一車道到第二車道的主車輛車道變換;
在主車輛完成車道變換之前忽略第一車道中的當前目標車輛;以及
在主車輛完成車道變換之前選擇第二車道中的車輛作為新的目標車輛。
進一步地,其中檢測主車輛車道變換包括:
檢測車道標記;以及
比較主車輛相對于車道標記的位置。
進一步地,其中檢測主車輛車道變換包括:
接收轉向角信號;以及
至少部分地根據轉向角信號來檢測主車輛車道變換。
進一步地,其中檢測主車輛車道變換包括:
接收轉彎指示器信號;以及
至少部分地根據轉彎指示器信號來檢測主車輛車道變換。
進一步地,本發明的方法進一步地包含在選擇新的目標車輛之后命令主車輛加速。
進一步地,本發明的方法進一步地包含在選擇新的目標車輛之后命令主車輛減速。
進一步地,本發明的方法進一步地包含:
估算新的目標車輛和主車輛之間的距離;以及
在主車輛完成車道變換之前至少部分地根據主車輛和新的目標車輛之間的估算距離來忽略新的目標車輛。
進一步地,本發明的方法進一步地包含:
識別第二車道中的多個車輛;以及
選擇第二車道中的多個車輛中的一個作為新的目標車輛。
根據本發明的第三方面,提供一種車輛系統,該車輛系統包含:
至少一個自主駕駛傳感器,自主駕駛傳感器被編程以檢測第一車道中的當前目標車輛和第二車道中的至少一個車輛;以及
具有數據存儲介質和處理裝置的計算裝置,其中計算裝置被編程以檢測從第一車道到第二車道的主車輛車道變換、在主車輛完成車道變換之前忽略第一車道中的當前目標車輛、以及在主車輛完成車道變換之前選擇第二車道中的至少一個車輛中的一個作為新的目標車輛。
進一步地,其中自主駕駛傳感器被編程以檢測車道標記并且至少部分地根據主車輛相對于車道標記的位置來輸出表示主車輛車道變換的信號,并且其中計算裝置被編程以響應于接收表示主車輛車道變換的信號而忽略當前目標車輛。
附圖說明
圖1說明具有計算裝置的示例主車輛,計算裝置被編程以檢測車道變換操縱并且在車道變換操縱完成之前選擇新的路徑上目標車輛;
圖2是主車輛的示例部件的框圖;
圖3A-3D說明示例車道變換和路徑上目標選擇情況;
圖4是可以由計算裝置執行以檢測車道變換操縱并且選擇新的路徑上目標車輛的示例程序的流程圖。
具體實施方式
車輛目標選擇指的是當主車輛在自主或部分自主模式下操作時選擇路徑上車輛(即,在主車輛的車道上的車輛)作為目標車輛以跟隨。通過“跟隨”目標車輛,主車輛可以相對于其自己的橫向和縱向控制做特定調整。也就是說,主車輛可以根據目標車輛的速度或方向設置其速度、方向或兩者。
然而,由主車輛執行的車道變換操縱可能使目標選擇復雜化。例如,在車道變換操縱期間,主車輛可以太久地繼續追蹤當前路徑上目標,意味著主車輛可以跟隨大體上在不同的車道上的車輛。這可以防止主車輛恢復其設定速度或適應于相鄰車道中存在的新的目標的速度——可能認為違背駕駛員的意愿的某些事情。另一問題可以包括在車道變換期間主車輛短暫地失去對任何路徑上車輛的跟蹤,這也可以引起短暫但突然的加速。此外,在系統鎖定到更近范圍目標之前首先“鎖定”到更遠范圍目標的情況下,可以發生路徑上目標的“慢慢移動”現象。這可以引起主車輛的減速之后的突然加速。來自車輛的這些響應可以不被認為是駕駛員有利的并且可以是令人不安的。突然加速和/或減速可以引起駕駛員感覺被迫干預,或以其他方式對主車輛的自主或部分自主操作失去信心。
可以合并到主車輛中的在車道變換期間管理目標選擇的示例計算裝置包括數據存儲介質和處理裝置。計算裝置被編程以檢測從第一車道到第二車道的主車輛車道變換、在主車輛完成車道變換之前忽略第一車道中的當前目標車輛、以及在主車輛完成車道變換之前選擇第二車道中的車輛作為新的目標車輛。如果多個車輛在第二車道中,那么計算裝置可以被編程以選擇最接近主車輛的車輛作為新的目標車輛。此外,計算裝置可以被編程以一檢測到車道變換操縱,就“放棄”(即,忽略)當前目標車輛,并且選擇新的目標車輛。如果第二車道(即,新的車道)中的車輛太遙遠,那么在車道變換期間,計算裝置可以不識別路徑上車輛。在這個實施方式的情況下,計算裝置可以防止由例如暫時失去對路徑上任何車輛的跟蹤或選擇離主車輛太遙遠的路徑上車輛引起的突然加速。這也防止通過首先選擇更遠離的目標然后當主車輛朝著相鄰車道繼續移動時選擇更近的目標而引起的減速之后的突然加速。
顯示的元件可以采取許多不同的形式并且包括多個和/或替換部件以及設施。圖示的示例部件不旨在限制。實際上,可以使用附加或替換部件和/或裝置。此外,顯示的元件不一定按比例繪制,除非如這樣明確地聲明。
如圖1所示,主車輛100包括被編程以在車道變換操縱期間管理目標選擇的車輛系統105。使用車載傳感器,車輛系統105檢測何時主車輛100開始車道變換操縱。車載傳感器可以進一步地用于識別當前路徑上目標車輛以及相鄰車道中的車輛。根據車道變換操縱的檢測,車輛系統105可以立即忽略當前路徑上目標車輛并且選擇——若有的話——相鄰車道中的車輛中的一個作為新的目標車輛。雖然圖示為轎車,但主車輛100可以包括比如汽車、卡車、運動型多用途車、跨界車、廂式貨車、小型貨車、出租車、公共汽車等這樣的乘用車或商用車。在一些可能的方法中,車輛是配置成在自主(例如,無人駕駛)模式、部分自主模式和/或非自主模式下操作的自主車輛。
現在參考圖2,車輛系統105包括至少一個自主駕駛傳感器110和計算裝置115。
自主駕駛傳感器110可以包括許多裝置,該裝置被配置、被編程或兩種方式以生成信號,當主車輛100在自主(例如,無人駕駛)或部分自主模式下操作時,信號幫助導航主車輛100。示例自主駕駛傳感器110可以包括雷達傳感器、激光雷達傳感器、視覺傳感器(例如,攝影機)等。因此,當主車輛100在完全或部分自主模式下操作時,自主駕駛傳感器110幫助主車輛100“看見”道路、其他車輛和周圍的車輛并且幫助越過各種障礙物。
自主駕駛傳感器110可以被編程以輸出指示例如主車輛100是否執行車道變換操縱、車道變換操縱的方向等這樣的各種信號。例如,自主駕駛傳感器110可以被編程以檢測車道標記并且輸出表示主車輛100相對于車道標記的位置的信號。當主車輛100的位置相對于車道標記在特定點時,自主駕駛傳感器110輸出的信號可以用于例如確定主車輛100已經開始執行車道變換操縱。自主駕駛傳感器110可以做出主車輛100是否執行車道變換操縱的決定。可選地,計算裝置115可以根據自主駕駛傳感器100輸出的信號來確定主車輛100是否執行車道變換操縱。
除車道標記之外,自主駕駛傳感器110可以被進一步地編程以檢測靠近主車輛100的車輛。例如,自主駕駛傳感器110可以被編程以檢測當前目標車輛。當前目標車輛可以是直接在主車輛100前面的在主車輛100正在其中操作的目前車道中的車輛。自主駕駛傳感器110也可以被編程以檢測相鄰車道中的車輛。例如,自主駕駛傳感器110可以被編程以檢測相鄰車道中的靠近、緊挨或在主車輛100前面的車輛,相鄰車道包括在車道變換操縱期間主車輛100移動到的車道。除簡單檢測其他車輛之外,自主駕駛傳感器110可以被編程以測量或以其他方式確定主車輛100和其他車輛之間的距離,并且輸出表示那個確定的距離的信號。
計算裝置115可以被編程以接收并且處理自主駕駛傳感器110輸出的信號。根據那些信號,計算裝置115可以被編程以從例如第一車道到第二車道檢測車道變換操縱、一檢測到車道變換操縱并且在車道變換操縱完成之前就忽略第一車道中的當前目標車輛、以及在主車輛100完成車道變換之前選擇——若有的話——第二車道中的一個車輛作為新的目標車輛。
在一種可能的實施方式中,根據自主駕駛傳感器110輸出的指示主車輛100相對于車道標記的位置的信號,計算裝置115可以確定主車輛100正在執行車道變換。可選地或此外,使用比如例如表示方向盤轉角的轉向角信號或表示轉彎指示器的狀態的轉彎指示器信號(例如,左轉彎、右轉彎或關閉)這樣的其他信息,計算裝置115可以確定主車輛100正執行車道變換。
計算裝置115可以被進一步地編程以輸出命令信號以在車道變換操縱之前、期間和之后自主地控制主車輛100。根據新的目標車輛的位置,計算裝置115可以命令主車輛100(通過一個或多個子系統)加速、減速或維持目前速度。例如,如果新的目標車輛離主車輛100顯著的距離,那么在車道變換操縱期間計算裝置115可以命令主車輛100加速至例如預定速度。當如果主車輛100趕上新的目標車輛或如果路徑上目標車輛更改為更近的車輛時,計算裝置115可以命令主車輛100加速。如果新的目標車輛相當接近主車輛100,那么在車道變換操縱期間和之后,計算裝置115可以命令主車輛100加速或減速至例如匹配新的目標車輛的速度。
計算裝置115可以被編程以在新的目標車輛離主車輛100太遙遠的情況下至少暫時地忽略新的目標車輛。根據例如自主駕駛傳感器110輸出的信號,可以確定離新的目標車輛的距離。通過暫時地忽略新的目標車輛,在車道變換操縱完成之后計算裝置115可以防止主車輛100突然加速以趕上新的目標車輛。因此,在車道變換操縱期間并且可能在車道變換操縱之后一段時間,可以忽略新的目標車輛直到新的目標車輛識別為路徑上車輛。
如果多個車輛存在于相鄰車道中,那么計算裝置115可以被編程以選擇那些車輛中的一個作為新的目標車輛。例如,自主駕駛傳感器110可以檢測到多個相鄰車輛,并且計算裝置115可以被編程以在主車輛100完成車道變換操縱時選擇當前最接近主車輛100或將最接近主車輛100的相鄰車輛。通過選擇并且使主車輛100的速度適應于最接近的相鄰車輛,計算裝置115可以防止主車輛100突然加速然后減速,如果在車道變換操縱期間計算裝置115在潛在目標車輛之間切換,那么這可以發生。
計算裝置115可以至少部分地通過數據存儲介質120和至少一個處理裝置125執行。數據存儲介質120可以被配置、被編程或兩種方式以儲存包括計算機可讀指令的數據。處理裝置125可以被編程以訪問并且執行儲存在數據存儲介質120中的計算機可讀指令。例如,處理裝置125可以被編程以檢測從例如第一車道到第二車道的主車輛車道變換。根據自主駕駛傳感器110輸出的信號,可以檢測到車道變換。此外或可選地,根據例如表示方向盤轉角(在車道變換期間,其將改變)的轉向角信號,可以檢測車道變換。轉向角信號可以由轉向系統生成,并且根據配置成測量方向盤轉角的比如編碼器這樣的傳感器,可以確定轉向角。處理裝置125檢測車道變換的另一種方式可以是基于轉彎指示器信號。例如,當主車輛100的駕駛員致動轉彎指示器時,處理裝置125可以接收表示主車輛100即將執行車道變換以及車道變換的方向的轉彎指示器信號。
處理裝置125可以被編程以響應于檢測主車輛100車道變換而忽略當前目標車輛,當前目標車輛可以位于第一車道中的主車輛100的路徑上。處理裝置125可以被編程以在主車輛100完成車道變換之前忽略當前目標車輛。在一些可能的實施方式中,當例如如主車輛100相對于車道標記的位置所確定的主車輛100是10%或25%進入車道變換時,處理裝置125可以忽略當前目標車輛。處理裝置125可以被編程以在忽略當前目標車輛之后,選擇第二車道中的車輛作為新的目標車輛。因為在忽略先前目標車輛(即,第一車道中的主車輛100的路徑上的目標車輛)之后選擇新的目標車輛,所以在主車輛100完成車道變換之前選擇新的目標車輛。因此,在主車輛100完全在第二車道中之前,處理裝置125將識別新的目標車輛。處理裝置125可以被編程以基于新的目標車輛輸出控制信號以控制一個或多個車輛子系統。因此,控制信號可以引起主車輛100適應于新的目標車輛。因為在忽略先前目標車輛之后選擇新的目標車輛,并且因為在車道變換期間選擇新的目標車輛,所以在過渡到第二車道之前或期間,處理裝置125不太可能命令主車輛100突然加速或減速。然而,控制信號可以引起主車輛100加速、減速或維持其目前速度,這取決于主車輛100和新的目標車輛之間的距離。
在某些情況下,處理裝置125可以被編程以比如在新的目標車輛太遙遠的情況下,在車道變換操縱的剩余部分忽略新的目標車輛。例如,根據自主模式控制器輸出的信號,處理裝置125可以確定新的目標車輛到主車輛100的距離。如果距離超過預定閾值,那么處理裝置125可以命令主車輛100執行車道變換操縱,好像沒有新的目標車輛。一旦主車輛100完全在車道中,處理裝置125就可以確定車道變換操縱完成并且重新考慮如何相對于當前路徑上車輛控制主車輛100。
處理裝置125可以被進一步地編程以補償在車道變換操縱期間發生的變化。例如,處理裝置125可以被編程以在車道變換操縱期間識別第二車道中的新的目標車輛。處理裝置125可以被編程以在在車道變換操縱期間第二車道中的被稱為介入車輛的另一個車輛出現在主車輛100和新的目標車輛之間的情況下,將介入車輛識別為新的目標車輛并且相應地調整主車輛100的速度,包括命令主車輛100加速、減速或維持其當前速度。
另一種情況可以包括主車輛100開始從第一車道到第二車道的車道變換操縱,但接著在車道變換操縱完成之前返回到第一車道。在此情況下,處理裝置125最初可以忽略當前目標車輛、在到第二車道的車道變換操縱期間選擇新的目標車輛、在到第一車道的車道變換操縱期間忽略第二車道中的新的目標車輛、以及在完成返回到第一車道的車道變換操縱之前選擇第一車道中的先前或可能不同的目標車輛。
圖3A-3D說明示例車道變換和路徑上目標選擇情況。圖3A說明示例情況300A,在此情況下,主車輛100跟隨第一車道310中的當前目標車輛305,檢測從第一車道310到第二車道315的車道變換操縱,并且在車道變換操縱完成之前忽略當前目標車輛305。因為第二車道315中沒有附近的車輛,因此主車輛100沒有選擇第二車道315中的車輛作為新的目標路徑上車輛。
圖3B-3C說明情況300B、300C,在此情況下,主車輛100跟隨第一車道310中的當前路徑上目標車輛305并且開始到第二車道315的車道變換操縱。在兩種情況300B、300C中,一檢測車道變換操縱,主車輛100就立即忽略當前目標車輛305,并且在車道變換操縱完成之前識別第二車道315中的新的目標車輛320。在圖3B的情況300B中,新的目標車輛320比主車輛100更慢地行駛或將本應比在主車輛100繼續跟隨先前目標車輛305的情況下更接近主車輛100。因此,在選擇新的目標車輛320之后,主車輛100可以減速。在圖3C的情況中,新的目標車輛320比主車輛100更快地行駛或以其他方式更遠離先前目標車輛305。在此情況下,在車道變換操縱期間,主車輛100可以加速。
圖3D說明情況300D,在此情況下,兩輛車輛320A和320B存在于第二車道315中。如果當主車輛100檢測車道變換操縱時車輛320A和320B兩者都存在,那么主車輛100可以選擇兩輛車輛中的更近車輛(如圖3D所示的車輛320A)作為新的目標車輛。在當主車輛100開始車道變換操縱時車輛320A沒有存在于第二車道315中的情況下,如果車輛320A移動到第二車道315中同時主車輛100正執行車道變換操縱,那么這可以發生,主車輛100最初可以將車輛320B識別為新的路徑上目標車輛,然后在車道變換操縱期間隨后將車輛320A識別為新的路徑上目標車輛。因此,在車道變換操縱期間和之后,主車輛100可以根據車輛320A相對于主車輛100的位置調整其速度。
圖4是可以由計算裝置115執行以檢測車道變換操縱并且選擇新的路徑上目標車輛的示例程序400的流程圖。程序400可以在任何時間啟動,同時主車輛100開啟并且在某些情況下移動。
在框405,計算裝置115可以檢測從第一車道到第二車道的主車輛100的車道變換。根據自主駕駛傳感器110輸出的指示主車輛100相對于車道標記的位置的信號,可以檢測車道變換。計算裝置115可以比較主車輛100相對于車道標記的位置,并且根據主車輛100相對于車道標記的位置來確定主車輛100是否正執行車道變換操縱。此外,或替代地,根據例如表示方向盤轉角(在車道變換期間,其將改變)的轉向角信號,可以檢測車道變換。轉向角信號可以由轉向系統生成,并且根據例如配置成測量方向盤轉角的比如編碼器這樣的傳感器,可以確定轉向角。計算裝置115檢測車道變換的另一種方式可以是基于轉彎指示器信號。例如,當主車輛100的駕駛員致動轉彎指示器時,計算裝置115可以接收表示主車輛100即將執行車道變換以及車道變換的方向的轉彎指示器信號。
在框410,計算裝置115可以忽略當前目標車輛。在主車輛100開始執行車道變換操縱之前,當前目標車輛可以是路徑上目標車輛。在主車輛100完成車道變換之前,計算裝置115可以忽略當前目標車輛。在一些可能的實施方式中,當例如如在框405由主車輛100相對于車道標記的位置所確定的主車輛100是10%或25%進入車道變換時,計算裝置115可以忽略當前目標車輛。
在框415,計算裝置115可以選擇第二車道中的車輛作為新的目標車輛。在主車輛100完成車道變換操縱之前(即,在主車輛100在第二車道中之前),可以做出在框415的選擇。例如,當執行車道變換操縱時,計算裝置115可以檢測第二車道中的一個或多個車輛并且選擇車輛之一——比如第二車道中最接近主車輛100的車輛——作為新的目標車輛。
在判定框420,計算裝置115可以確定是否忽略新的目標車輛。如果例如新的目標車輛離主車輛100太遙遠,那么在車道變換操縱的剩余部分可以忽略新的目標車輛。因此,確定是否忽略新的目標車輛可以包括計算裝置115根據例如自主駕駛傳感器110輸出的信號來估算主車輛100到新的目標車輛的距離以及如果到新的車輛的距離超過預定閾值則忽略新的目標車輛。如果忽略新的目標車輛,那么程序400可以繼續前進到框425。如果沒有忽略新的目標車輛,那么程序400可以繼續前進到框430。
在框425,計算裝置115可以命令主車輛100執行車道變換操縱,好像沒有新的目標車輛。因此,在沒有相對于第二車道中的新的目標車輛的加速或減速的情況下,計算裝置115可以完成車道變換操縱。程序400可以繼續前進到框435。
在框430,計算裝置115可以命令主車輛100適應于新的目標車輛。例如,根據例如主車輛100到新的目標車輛的距離,計算裝置115可以命令主車輛100加速、減速或維持其當前速度。
在判定框435,計算裝置115可以確定車道變換操縱是否是完成的。也就是說,計算裝置115可以根據自主駕駛傳感器110輸出的信號確定主車輛100是否完全在第二車道內。如果是,那么程序400可以繼續到框440。
在框440,計算裝置115可以繼續追蹤在框415選擇的目標車輛。在某些情況下,程序400可以在框440之后結束,以便可以啟動包含跟隨當前路徑上車輛的不同的程序,直到檢測到下一個車道變換操縱。因此,在主車輛100完全在新的車道中的情況下,計算裝置115可以考慮如何相對于當前路徑上車輛控制主車輛100。可選地,如圖4所示,程序400可以繼續前進到框460以當相對于路徑上車輛控制主車輛100時等待新的車道變換操縱。
在框445,計算裝置115可以確定主車輛100是否已經中止車道變換操縱。如果是,那么計算裝置115可以忽略新的目標車輛并且轉而集中于第一車道中的先前目標車輛作為路徑上車輛(參見框455)。程序400然后可以繼續前進到框460以等待新的車道變換操縱。如果還沒有中止車道變換操縱,那么程序400可以繼續前進到框450。
在判定框450,計算裝置115可以確定是否已經檢測到相鄰車道中的新的車輛。如果是,那么程序400可以繼續前進到框415,以便新的車輛可以被認為是新的目標車輛。如果相鄰車道中沒有新的車輛,那么程序400可以返回到框445。
在框455,計算裝置115可以追蹤先前路徑上目標車輛,該目標車輛可以包括在框410之前正被追蹤的車輛。為了避免突然加速、減速或兩者,計算裝置115一確定車道變換操縱已經中止,計算裝置115就可以立即忽略在框415選擇的新的目標車輛。程序400可以繼續前進到框460以等待隨后的車道變換操縱。
在判定框460,計算裝置115可以確定是否檢測到新的車道變換操縱。如上所述,可以通過自主駕駛傳感器110檢測新的車道變換操縱。可以重復框460直到檢測到新的車道變換操縱。當檢測到新的車道變換操縱時,程序400可以繼續到框410。
在這個或相似的實施方式的情況下,計算裝置115可以檢測車道變換操縱并且在車道變換操縱完成之前選擇合適的路徑上目標車輛。此外,通過在檢測到車道變換操縱的時候放棄先前的路徑上車輛,計算裝置115可以避免不必要的加速或減速。
通常,描述的計算系統和/或裝置可以使用多種計算機操作系統中的任何一種,該計算機操作系統包括但不限于以下操作系統的版本和/或變體:Ford應用程序、AppLink/智能設備鏈接中間件、Microsoft操作系統、Microsoft操作系統、Unix操作系統(例如,加利福尼亞州紅木岸的甲骨文公司發售的操作系統)、紐約州阿蒙克市的國際商業機器公司發售的AIX UNIX操作系統、Linux操作系統、加利福尼亞州庫比蒂諾市的蘋果公司發售的Mac OSX和iOS操作系統、加拿大滑鐵盧市的黑莓公司發售的BlackBerry OS和由谷歌公司和開放手機聯盟開發的Android操作系統、或QNX軟件系統提供的用于信息娛樂的 CAR平臺。計算裝置的示例包括但不限于車載車輛計算機、計算機工作站、服務器、臺式電腦、筆記本電腦、膝上型電腦、或手持式計算機、或一些其他計算系統和/或裝置。
計算裝置通常包括計算機可執行指令,其中該指令可由比如上面列出的那些計算裝置中一個或多個可執行。計算機可執行指令可以由利用各種程序語言和/或技術創建的計算機程序編譯或解釋,該程序語言和/或技術包括但不限于JavaTM、C、C++、Visual Basic、Java Script、Perl等單獨或組合。這些應用程序中的一些可以在比如Java虛擬機、Dalvik虛擬機等這樣的虛擬機上編譯和執行。通常,處理器(例如,微處理器)例如從存儲器、計算機可讀介質等接收指令并執行這些指令,從而執行一個或多個程序,包括在這里描述的一個或多個程序。使用各種計算機可讀介質可以存儲并傳輸這樣的指令和其他數據。
計算機可讀介質(也稱為處理器可讀介質)包括任何非暫時性的(例如,有形的)介質,其參與提供計算機(例如,通過計算機的處理器)可讀的數據(例如,指令)。這種介質可采取多種形式,包括,但不限于,非易失性介質和易失性介質。非易失性介質可包括,例如,光盤或磁盤以及其他永久存儲器。易失性介質可包括,例如,動態隨機存取存儲器(DRAM),其典型地構成主存儲器。這樣的指令可被一個或多個傳輸介質傳輸,包括同軸電纜、銅線或光纖,包括含有連接到計算機的處理器的系統總線的線路。計算機可讀介質的一般形式包括,例如,軟盤(floppy disk)、柔性盤(flexible disk)、硬盤、磁帶、任何其他磁介質,CD-ROM(光盤只讀存儲器)、DVD(數字化視頻光盤)、任何其他光學介質,穿孔卡片、紙帶、任何其他具有孔式樣的物理介質,RAM(隨機存取存儲器)、PROM(可編程只讀存儲器)、EPROM(可擦除可編程只讀存儲器)、FLASH-EEPROM(閃速電可擦除可編程只讀存儲器)、任何其他存儲器芯片或內存盒,或任何其他計算機可讀的介質。
數據庫、數據存儲庫或這里所描述的其他數據存儲可包括各種類型的機制,其用于存儲、訪問和檢索各種類型的數據,包括層次數據庫、在文件系統中的一組文件、以專用格式的應用數據庫、關系數據庫管理系統(RDBMS)等。這種數據存儲中的每個大體上包括在使用上述中的一個的計算機操作系統的計算裝置中,并通過各種方式中的任何一個或多個網絡可訪問。文件系統可從計算機操作系統訪問,并且可包括以各種格式存儲的文件。RDBMS除了使用用于創建、存儲、編輯和執行存儲的程序的語言之外,通常使用結構化查詢語言(SQL),例如,上述的PL/SQL(過程化/SQL)語言。
在一些示例中,系統元件可實施為在一個或多個計算裝置(例如,服務器、個人計算機等)上的、存儲在與其關聯的計算機可讀介質(例如,盤、存儲器等)上的計算機可讀的指令(例如,軟件)。計算機程序產品可包含這種存儲在計算機可讀介質上的指令,其用于執行這里所描述的功能。
關于這里描述的程序、系統、方法、探索法等,應該理解的是,雖然這些程序的步驟等已經被描述為按照某個有序序列發生,但是可以在以與此處所述順序不同的順序執行所描述的步驟的情況下實施這些程序。應該進一步理解的是,某些步驟能夠同時執行,能夠加入其它步驟,或者能夠省略這里所描述的某些步驟。也就是說,在這里的程序的說明旨在提供用于說明某些實施例的目的,不應以任何方式被解釋為限制權利要求。
因此,應該理解的是,上述說明旨在說明并非限制。通過閱讀上述說明,除了提供的實例以外的許多實施例和應用將是顯而易見的。保護范圍應該不應參照上述說明確定,而是應當參照所附的權利要求連同這些權利要求所享有的全部等同范圍而確定。可以預期和想到的是未來的發展將出現在這里所述的技術中,并且該公開的系統和方法將結合入這些未來的實施例中。總之,應該理解的是,該應用可被修改和變化。
在權利要求中所使用的全部術語,旨在被給予如本領域技術人員所理解的它們的普遍含義,除非在這做出與此相反的明確指示。特別地,單數冠詞的使用,例如,“一”、“這”、“所述”等應該被理解為描述一個或多個指示的元件,除非權利要求描述了與此相反的明確限制。
提供摘要以允許讀者快速地確定技術公開的性質。在它并不是用于解釋或限制權利要求的范圍或意義的理解的情況下提交摘要。此外,在前述的具體實施方式中,可以看出,各種功能集合在各個實施例中以用于簡化公開的目的。這種公開方法不應理解為表達要求保護的實施例需要比在每個權利要求中清楚地列舉的特征更多特征的意圖。恰恰相反,如下面的權利要求所表達的,本發明主題在于比單個公開的實施例中的所有特征少。因此,下面的權利要求借以合并到具體實施方式中,每個權利要求自身作為單獨要求保護的主題。