发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于总线批量数据测试汽车总线安全性的方法和装置。
本发明的一个方面,提供了一种基于总线批量数据测试汽车总线安全性的方法,该方法包括:
获取实时更新的数据包;
从所述实时更新的数据包中获取新出现的标识信息ID所对应的数据包;
将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行去重运算,以获取数据变化量;
向CAN总线发送所述数据变化量,根据响应于所述数据变化量的汽车状态或汽车动作来确定汽车是否安全。
可选地,所述从所述实时更新的数据包中获取新出现的标识信息ID所对应的数据包,包括:
根据数据包的标识信息ID对总线批量数据进行分类;
以缓存区为单位存储所述分类后的数据包;
对两个缓存区中存储的数据包比对,以确定新出现的标识信息ID所对应的数据包。
可选地,将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行去重运算,以获取数据变化量,具体包括:
将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包取非交集。
可选地,将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行去重运算,以获取数据变化量,具体包括:
将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行差分比对。
可选地,所述向CAN总线发送所述数据变化量,包括:以缓存区为单位向CAN总线发送所述数据变化量。
可选地,所述向CAN总线发送所述数据变化量,包括:向CAN总线发送所述单个数据包的数据变化量。
本发明的另一个方面,提供了一种基于总线批量数据测试汽车总线安全性的装置,该装置包括:
第一获取模块,适用于获取实时更新的数据包;
第二获取模块,适用于从所述实时更新的数据包中获取新出现的标识信息ID所对应的数据包;
数据处理模块,适用于将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行去重运算,以获取数据变化量;
测试模块,适用于向CAN总线发送所述数据变化量,根据响应于所述数据变化量的汽车状态或汽车动作来确定汽车是否安全。
可选地,所述第二获取模块,包括:
分类单元,适用于根据数据包的标识信息ID对总线批量数据进行分类;
缓存单元,适用于以缓存区为单位存储所述分类后的数据包;
比较单元,适用于对两个缓存区中存储的数据包比对,以确定新出现的标识信息ID所对应的数据包。
可选地,所述数据处理模块,具体适用于将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包取非交集,以获取数据变化量。
可选地,所述数据处理模块,具体适用于将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行差分比对,以获取数据变化量。
可选地,所述测试模块,具体用于以缓存区为单位向CAN总线发送所述数据变化量。
可选地,所述测试模块,具体用于向CAN总线发送所述单个数据包的数据变化量。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
在本申请实施例中,对于总线批量数据,通过数据包的标识信息ID从所述实时更新的数据包中获取新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包的数据变化量,并向CAN总线发送该数据变化量,以根据响应于该数据变化量的汽车状态或汽车动作来确定汽车是否安全,从而能够自动检测汽车被控制的可能性,实现对汽车总线存在的安全漏洞的自动检测。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
图1示意性示出了本发明一个实施例的基于总线批量数据测试汽车总线安全性的方法流程图。该方法可承载在一个检测平台上,具体检测平台可通过浏览器实现。该方法可在移动终端、平板电脑、PC机等设备上实现。参照图1,本发明实施例的基于总线批量数据测试汽车总线安全性的方法具体包括以下步骤:
步骤S11、获取实时更新的数据包。
本发明实施例中,为了获取汽车总线上实时传输的数据包,首先需要与车辆CAN总线建立通讯连接。具体的,与车辆建立通讯连接前将设备与汽车总线建立硬件连接,在建立硬件连接后,通过在命令窗口通过输入系统命令python main.py来建立硬件连接接口与用于实现检测平台的浏览器的通信通道,以实现总线数据的采集。在建立该通信通道后,检测平台正常启动,通过浏览器输入预定网址,便可在设备上运行该检测平台,实时接收车辆CAN总线上传输的数据包,并通过浏览器的运行将车辆行驶过程中的汽车总线上实时传输的数据包以网页的形式进行显示,以实现实时更新的数据包的获取和可视化展示,并将获取到的数据包存储在一个缓存区或者多个缓存区,以供后续分析。
在一个具体实施例中,在建立硬件连接接口与用于实现检测平台的浏览器的通信通道之后,可通过在浏览器中输入指定的URL地址,如http://127.0.0.x:xxxx,开启检测平台的前端主界面。前端主界面包括有数据显示区域,以显示实时接收到的车辆CAN总线上传输的数据包。数据包显示的主要格式包括:Mid,即数据包的标识信息ID;Data,即数据包的报文数据;Count,即这个数据包出现的次数;Interval,即显示每个数据包的之间的时间间隔。
步骤S12、从所述实时更新的数据包中获取新出现的标识信息ID所对应的数据包。
在实际应用中,实时采集CAN总线上的数据,一般来说,与一个状态或者动作相关的CAN总线上的数据具有相同的标识ID,也就是说汽车总线上实时传输的数据包根据控制功能的不同,具有不同的标识,即步骤S11中数据显示区域中显示的数据包的标识信息ID。
为了从采集的总线批量数据中获取新出现的数据包,本发明实施例中,通过数据包的标识信息ID从所述实时更新的数据包中获取新出现的标识信息ID所对应的数据包,从而快速准确地实现总线批量数据中新出现的数据包的查找。
步骤S13、将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行去重运算,以获取数据变化量。
具体的,为了精确判断事实更新的总线数据与前一时刻的总线数据的变化量,本发明实施例将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行去重运算,实现数据变化量的精确获取,确保测试汽车总线安全漏洞的可靠性。
步骤S14、向CAN总线发送所述数据变化量,根据响应于所述数据变化量的汽车状态或汽车动作来确定汽车是否安全。
在步骤S13获取到数据变化量之后,则向CAN总线发送所述数据变化量,通过车辆电机控制系统、主动悬挂系统、变速控制系统、ABS系统、电动门锁系统、安全气囊以及电动窗系统等控制部件响应于所述数据变化量的汽车状态或汽车动作确定车辆是否满足抵御重放攻击的要求,实现对汽车总线存在的安全漏洞的自动检测。
本发明实施例提供的基于总线批量数据测试汽车总线安全性的方法,对于总线批量数据,通过数据包的标识信息ID从所述实时更新的数据包中获取新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包的数据变化量,并向CAN总线发送该数据变化量,以根据响应于该数据变化量的汽车状态或汽车动作来确定汽车是否安全,从而能够自动检测汽车被控制的可能性,实现对汽车总线存在的安全漏洞的自动检测。
在本发明的一个可选实施例中,如图2所示,步骤S12中的从所述实时更新的数据包中获取新出现的标识信息ID所对应的数据包,具体包括以下步骤:
步骤S121、根据数据包的标识信息ID对总线批量数据进行分类;
步骤S122、以缓存区为单位存储所述分类后的数据包;
步骤S123、对两个缓存区中存储的数据包比对,以确定新出现的标识信息ID所对应的数据包。
本发明实施例中,检测平台通过建立缓存区来存储数据包。具体的,在获取到实时更新的数据包之后,首先通过数据包的标识信息ID对总线批量数据进行分类,然后采用检测平台建立的缓存区为单位存储所述分类后的数据包;其中,第一缓存区中存放的数据包为前一时刻已经出现的标识信息ID对应的数据包,第二缓存区中存放的数据包为实时更新后的数据包,通过对两个缓存区中存储的数据包比对,以确定新出现的标识信息ID所对应的数据包。本发明实施例根据对缓存区中存储数据包的比对,通过查找新出现的标识信息ID所对应的数据包的方式,快速、高效地实现了在车辆批量总线数据中对新出现的可能存在重放攻击漏洞的数据的检测。
本发明实施例中,步骤S13中的将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行去重运算,以获取数据变化量,具体包括:
将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包取非交集,以获取数据变化量。
此外,本发明另一实施例中,步骤S13中的将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行去重运算,以获取数据变化量,具体还可以包括:
将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行差分比对,以获取数据变化量。
为了快速、准确地实现去重运算,本发明实施例通过采用取非交集算法或差分比对算法,对新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行去重运算,以实现数据变化量的精确获取,确保测试汽车总线安全漏洞的可靠性。
本发明实施例中提出了两种不同的实现批量总线数据去重工作的方法,可以理解的是,上述两种对批量总线数据进行去重运算的实现模式仅用于对本发明技术方案进行举例说明,并非对本发明技术方案的限定,在实际应用中,本领域技术人员可根据需要进行灵活设置。
本发明实施例中,步骤S14中的向CAN总线发送所述数据变化量,具体包括:以缓存区为单位向CAN总线发送所述数据变化量。
此外,本发明另一实施例中,步骤S14中的向CAN总线发送所述数据变化量,具体包括:向CAN总线发送所述单个数据包的数据变化量。
本发明实施例中,在进行数据去重运算之后,在向CAN总线发送所述数据变化量时,可通过以缓存区为单位向CAN总线发送所述数据变化量,还可以向CAN总线发送所述单个数据包的数据变化量,进而实现根据车辆控制系统响应于所述数据变化量的汽车状态或汽车动作来确定车辆是否满足抵御重放攻击的要求,实现对汽车总线存在的安全漏洞的自动检测。
通过本发明实施例所提出的上述方法,能够根据实时采集的汽车总线数据自动检测车辆是否满足抵御重放攻击的要求,确定车辆被控制的可能性,实现对车辆所存在的安全漏洞的检测。
作为其他的实施例,在与汽车CAN总线建立通讯连接后,根据设备的操作系统不同,命令的窗口会有所不同,建立浏览器与硬件连接接口的通信通道的命令也会有所不同。而且上述方法也可通过电子客户端、APP等应用程序来实现,在这种实现方式中,即便是相同的设备操作系统,因为实现的方式不同,通信通道就会不同,输入的命令也会有所不同,本发明在此不做局限限定。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
图3示意性示出了本发明一个实施例的基于总线批量数据测试汽车总线安全性的装置的结构示意图。
参照图3,本发明实施例的基于总线批量数据测试汽车总线安全性的装置具体包括第一获取模块301、第二获取模块302、数据处理模块303以及测试模块304,其中,所述的第一获取模块301,适用于获取实时更新的数据包;所述的第二获取模块302,适用于从所述第一获取模块301获取的实时更新的数据包中获取新出现的标识信息ID所对应的数据包;所述的数据处理模块303,适用于将所述第二获取模块302获取的新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行去重运算,以获取数据变化量;所述的测试模块304,适用于向CAN总线发送所述数据处理模块303得到的数据变化量,并根据响应于所述数据变化量的汽车状态或汽车动作来确定汽车是否安全。
本发明实施例提供的基于总线批量数据测试汽车总线安全性的方法和装置,对于总线批量数据,数据处理模块303通过数据包的标识信息ID从所述实时更新的数据包中获取新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包的数据变化量,测试模块304向CAN总线发送该数据变化量,以根据响应于该数据变化量的汽车状态或汽车动作来确定汽车是否安全,从而能够自动检测汽车被控制的可能性,实现对汽车总线存在的安全漏洞的自动检测。
本发明实施例中,为了获取汽车总线上实时传输的数据包,首先需要与车辆CAN总线建立通讯连接。因此所述装置还包括有连接建立模块,所述连接建立模块,适用于与车辆建立通讯连接前将设备与汽车总线建立硬件连接,在建立硬件连接后,通过在命令窗口通过输入系统命令python main.py来建立硬件连接接口与用于实现检测平台的浏览器的通信通道,以实现总线数据的采集。
具体的,在建立该通信通道后,检测平台正常启动,通过浏览器输入预定网址,便可在设备上运行该检测平台,实时接收车辆CAN总线上传输的数据包,并通过浏览器的运行将车辆行驶过程中的汽车总线上实时传输的数据包以网页的形式进行显示,以实现实时更新的数据包的获取和可视化展示,并将获取到的数据包存储在一个缓存区或者多个缓存区,以供后续分析。
在一个具体实施例中,所述装置还包括启动交互模块,用于在建立硬件连接接口与用于实现检测平台的浏览器的通信通道之后,通过在浏览器中输入指定的URL地址,如http://127.0.0.x:xxxx,开启检测平台的前端主界面。在本发明实施例中,前端主界面包括有数据显示区域,以显示实时接收到的车辆CAN总线上传输的数据包。数据包显示的主要格式包括:Mid,即数据包的标识信息ID;Data,即数据包的报文数据;Count,即这个数据包出现的次数;Interval,即显示每个数据包的之间的时间间隔。
在实际应用中,实时采集CAN总线上的数据,一般来说,与一个状态或者动作相关的CAN总线上的数据具有相同的标识ID,也就是说汽车总线上实时传输的数据包根据控制功能的不同,具有不同的标识信息ID。
为了从采集的总线批量数据中获取新出现的数据包,本发明实施例中,通过数据包的标识信息ID从所述实时更新的数据包中获取新出现的标识信息ID所对应的数据包,从而快速准确地实现总线批量数据中新出现的数据包的查找。
在本发明的一个可选实施例中,如图4所示,所述第二获取模块302,进一步包括分类单元3021、缓存单元3022以及比较单元3023,其中,所述的分类单元3021,适用于根据数据包的标识信息ID对总线批量数据进行分类;所述的缓存单元3022,适用于以缓存区为单位存储所述分类后的数据包;所述的比较单元3023,适用于对两个缓存区中存储的数据包比对,以确定新出现的标识信息ID所对应的数据包。
本发明实施例中,检测平台通过建立缓存区来存储数据包。具体的,在第一获取模块301获取到实时更新的数据包之后,第二获取模块302首先通过数据包的标识信息ID对总线批量数据进行分类,然后采用检测平台建立的缓存区为单位存储所述分类后的数据包;其中,第一缓存区中存放的数据包为前一时刻已经出现的标识信息ID对应的数据包,第二缓存区中存放的数据包为实时更新后的数据包,通过对两个缓存区中存储的数据包比对,以确定新出现的标识信息ID所对应的数据包。本发明实施例根据对缓存区中存储数据包的比对,通过查找新出现的标识信息ID所对应的数据包的方式,快速、高效地实现了在车辆批量总线数据中对新出现的可能存在重放攻击漏洞的数据的检测。
在本发明的一个可选实施例中,所述数据处理模块303,具体适用于将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包取非交集,以获取数据变化量。
在本发明的一个可选实施例中,所述数据处理模块303,具体适用于将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行差分比对,以获取数据变化量。
在本发明的一个可选实施例中,所述测试模块304,具体用于以缓存区为单位向CAN总线发送所述数据变化量。
在本发明的一个可选实施例中,所述测试模块304,具体用于向CAN总线发送所述单个数据包的数据变化量。
通过本发明实施例所提出的上述装置,能够根据实时采集的汽车总线数据自动检测车辆是否满足抵御重放攻击的要求,确定车辆被控制的可能性,实现对车辆所存在的安全漏洞的检测。
由于本实施例所介绍的装置为实施本申请实施例中基于总线批量数据测试汽车总线安全性的方法所采用的装置,故而基于本申请实施例中所介绍的基于总线批量数据测试汽车总线安全性的方法,本领域所属技术人员能够了解本实施例的装置的具体实施方式以及其各种变化形式,所以在此对于该装置如何实现本申请实施例中的基于总线批量数据测试汽车总线安全性的方法不再详细介绍,相关之处参见方法实施例的部分说明即可。只要本领域所属技术人员实施本申请实施例中基于总线批量数据测试汽车总线安全性的方法所采用的装置,都属于本申请所欲保护的范围。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本发明实施例提供的基于总线批量数据测试汽车总线安全性的方法和装置,对于总线批量数据,通过数据包的标识信息ID从所述实时更新的数据包中获取新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包的数据变化量,并向CAN总线发送该数据变化量,以根据响应于该数据变化量的汽车状态或汽车动作来确定汽车是否安全,从而能够自动检测汽车被控制的可能性,实现对汽车总线存在的安全漏洞的自动检测。
本发明还提出如下技术方案:
A1、一种基于总线批量数据测试汽车总线安全性的方法,该方法包括:
获取实时更新的数据包;
从所述实时更新的数据包中获取新出现的标识信息ID所对应的数据包;
将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行去重运算,以获取数据变化量;
向CAN总线发送所述数据变化量,根据响应于所述数据变化量的汽车状态或汽车动作来确定汽车是否安全。
A2、根据A1所述的方法,所述从所述实时更新的数据包中获取新出现的标识信息ID所对应的数据包,包括:
根据数据包的标识信息ID对总线批量数据进行分类;
以缓存区为单位存储所述分类后的数据包;
对两个缓存区中存储的数据包比对,以确定新出现的标识信息ID所对应的数据包。
A3、根据A1或A2所述的方法,所述将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行去重运算,以获取数据变化量,具体包括:
将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包取非交集。
A4、根据A1或A2所述的方法,所述将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行去重运算,以获取数据变化量,具体包括:
将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行差分比对。
A5、根据A1-A4任一项所述的方法,所述向CAN总线发送所述数据变化量,包括:以缓存区为单位向CAN总线发送所述数据变化量。
A6、根据A1-A4任一项所述的方法,所述向CAN总线发送所述数据变化量,包括:向CAN总线发送所述单个数据包的数据变化量。
B7、一种基于总线批量数据测试汽车总线安全性的装置,该装置包括:
第一获取模块,适用于获取实时更新的数据包;
第二获取模块,适用于从所述实时更新的数据包中获取新出现的标识信息ID所对应的数据包;
数据处理模块,适用于将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行去重运算,以获取数据变化量;
测试模块,适用于向CAN总线发送所述数据变化量,根据响应于所述数据变化量的汽车状态或汽车动作来确定汽车是否安全。
B8、根据B1所述的装置,所述第二获取模块,包括:
分类单元,适用于根据数据包的标识信息ID对总线批量数据进行分类;
缓存单元,适用于以缓存区为单位存储所述分类后的数据包;
比较单元,适用于对两个缓存区中存储的数据包比对,以确定新出现的标识信息ID所对应的数据包。
B9、根据B7或B8所述的装置,所述数据处理模块,具体适用于将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包取非交集,以获取数据变化量。
B10、根据B7或B8所述的装置,所述数据处理模块,具体适用于将所述新出现的标识信息ID所对应的数据包与已出现的标识信息ID对应的数据包进行差分比对,以获取数据变化量。
B11、根据B7-B10任一项所述的装置,所述测试模块,具体用于以缓存区为单位向CAN总线发送所述数据变化量。
B12、根据B7-B10任一项所述的装置,所述测试模块,具体用于向CAN总线发送所述单个数据包的数据变化量。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。