数据包传输系统及方法与流程

文档序号:11778580阅读:245来源:国知局
数据包传输系统及方法与流程

本发明涉及通信技术领域,尤其涉及一种数据包传输系统及方法。



背景技术:

随着移动通信技术的发展,移动终端已经成为用户随身携带,必不可少的电子设备。在运营商和各大oem(originalequipmentmanufacturer,原始设备制造商)厂商的牵头下,3g(3rdgeneration,第三代移动通信技术)、4g(the4thgenerationmobilecommunicationtechnology,第四代移动通信技术)、ca(carrieraggregation,应用载波聚合技术)以及最新的5g(5th-generation,第五代移动通信技术)应运而生,这些技术的目的是为了提高用户的上网带宽。在此种背景下,一种提高用户上网带宽的方式也悄然而生,移动终端连接两个调制解调器,每个调制解调器都有对应的sim(subscriberidentificationmodule)卡,且每个调制解调器都可以独立上网,然后在上层将用户访问的网络根据实际情况进行两个数据网络的网速叠加,从而达到提高上网带宽的目的。由于运营商对传统用户上网带宽的垄断和限制,终端厂商可以通过该网速叠加技术方案加大用户上网带宽,有效的整合了移动终端中两张sim卡的上网资源,并实现了dsda(dualsimdualactive,双卡双通),以及双卡双lte(longtermevolution,长期演进)待机。

因此,为了使移动终端连接两个调制解调器,需要将移动终端与含有调制解调器的外接设备进行连接。以实现移动终端和外接设备之间的数据传输,但是,移动终端和外接设备的连接是在应用处理器中连接,而数据包从调制解调器发出,由于调制解调器之间跨设备,没有物理链路相连,导致数据包无法传输。



技术实现要素:

本发明的主要目的在于提出一种数据包传输系统及方法,旨在解决移动终端通过外接设备实现双lte通信过程中,外接设备和移动终端之间的数据包无法传输的技术问题。

为实现上述目的,本发明提供的一种数据包传输系统,所述数据包传输系统包括移动终端,以及通过预设接口与所述移动终端连接的外接设备;所述移动终端包括第一应用处理器,以及与第一用户识别卡和第二用户识别卡连接的第一调制解调器,所述第一调制解调器包括远程数据访问服务器、第一数据转发服务器和内嵌有第一拦截模块的第一多路复用协议模块,所述第一应用处理器包括第一数据读写转发模块和与所述第一数据转发服务器连接的第一数据转发客户端;所述外接设备包括第二应用处理器和第二调制解调器,所述第二调制解调器包括远程数据访问客户端,所述第二应用处理器包括通过所述预设接口与所述第一数据读写转发模块连接的第二数据读写转发模块;

第一多路复用协议模块,用于通过第一拦截模块截取远程数据访问服务器传输的数据包,将截取的数据包缓存至发送缓冲区;

第一数据转发服务器,用于从所述发送缓冲区中提取数据包,并将提取的数据包转发至第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据读写转发模块;

所述第一数据读写转发模块,用于通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端,所述预设接口包括远程网络驱动端口和串行接口。

可选地,所述第一多路复用协议模块,还用于调用所述第一拦截模块发送通知信号至所述第一数据转发服务器,以通知所述第一数据转发服务器在所述发送缓冲区中提取数据包。

可选地,所述第一数据读写转发模块,还用于通过所述预设接口接收第二数据读写转发模块发送的数据包,将接收到的数据包传输至所述第一数据转发客户端,由所述第一数据转发客户端将数据包转发至所述第一数据转发服务器;

所述第一数据转发服务器,还用于对接收到的数据包进行解包,并在解析出结束标识时,调用第一拦截模块将解包后的数据传输至所述第一多路复用协议模块中;

所述第一多路复用协议模块,还用于将数据缓存至接收缓冲区中,以供所述远程数据访问服务器从所述接收缓冲区中提取数据。

可选地,所述第一数据转发服务器,还用于若解析出中间标识,则将解包后的数据缓存至临时缓冲区中,以便后续接收到的数据包解包后若携带结束标识,调用第一拦截模块将携带结束标识的数据以及临时缓冲区中的数据组合后传输至所述第一多路复用协议模块中。

可选地,所述预设接口还包括调试端口,所述调试端口用于调试数据。

此外,为实现上述目的,本发明还提出一种数据包传输方法,应用于移动终端以及通过预设接口与所述移动终端连接的外接设备,所述移动终端包括第一应用处理器,以及与第一用户识别卡和第二用户识别卡连接的第一调制解调器,所述第一调制解调器包括远程数据访问服务器、第一数据转发服务器和内嵌有第一拦截模块的第一多路复用协议模块,所述第一应用处理器包括第一数据读写转发模块和与所述第一数据转发服务器连接的第一数据转发客户端;所述外接设备包括第二应用处理器和第二调制解调器,所述第二调制解调器包括远程数据访问客户端,所述第二应用处理器包括通过所述预设接口与所述第一数据读写转发模块连接的第二数据读写转发模块;所述方法包括:

第一多路复用协议模块通过第一拦截模块截取远程数据访问服务器传输的数据包,将截取的数据包缓存至发送缓冲区;

第一数据转发服务器从所述发送缓冲区中提取数据包,并将提取的数据包转发至第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据读写转发模块;

所述第一数据读写转发模块通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端,所述预设接口包括远程网络驱动端口和串行接口。

可选地,所述将截取的数据包缓存至发送缓冲区的步骤之后,所述方法还包括:

所述第一多路复用协议模块调用所述第一拦截模块发送通知信号至所述第一数据转发服务器,以通知所述第一数据转发服务器在所述发送缓冲区中提取数据包。

可选地,所述数据包传输方法还包括:

所述第一数据读写转发模块通过所述预设接口接收第二数据读写转发模块发送的数据包,将接收到的数据包传输至所述第一数据转发客户端,由所述第一数据转发客户端将数据包转发至所述第一数据转发服务器;

所述第一数据转发服务器对接收到的数据包进行解包,并在解析出结束标识时,调用第一拦截模块将解包后的数据传输至所述第一多路复用协议模块中;

所述第一多路复用协议模块将数据缓存至接收缓冲区中,以供所述远程数据访问服务器从所述接收缓冲区中提取数据。

可选地,所述第一数据转发服务器对接收到的数据包进行解包的步骤之后,所述方法还包括:

若解析出中间标识,则所述第一数据转发服务器将解包后的数据缓存至临时缓冲区中,以便后续接收到的数据包解包后若携带结束标识,调用第一拦截模块将携带结束标识的数据以及临时缓冲区中的数据组合后传输至所述第一多路复用协议模块中。

可选地,所述预设接口还包括调试端口,所述调试端口用于调试数据。

本发明提供一种数据包传输系统及方法,第一多路复用协议模块通过第一拦截模块截取远程数据访问服务器传输的数据包,并将截取的数据包缓存至发送缓冲区,第一数据转发服务器从所述发送缓冲区中提取数据包,并将提取的数据包转发至第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据读写转发模块,第一数据读写转发模块再通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端。本发明中,第一多路复用协议模块通过第一拦截模块截取远程数据访问服务器传输的数据包,并将截取的数据包通过第一数据转发服务器、第一数据转发客户端及第一数据读写转发模块传输给外接设备的第二数据读写转发模块,以便第二数据读写转发模块将数据包传输至第二调制解调器,以实现移动终端和外接设备之间的数据传输。

附图说明

图1为本发明一实施例的lte网络架构的示意图;

图2为本发明移动终端和外接设备通讯连接的一种实体结构示意图;

图3为本发明移动终端和外接设备通讯连接的一种硬件结构示意图;

图4为本发明移动终端和外接设备通讯连接的内部硬件结构示意图;

图5为本发明中数据包传输方法第一实施例的流程示意图;

图6为本发明中数据包传输方法第二实施例的流程示意图;

图7为本发明中数据包传输方法第三实施例的流程示意图;

图8为本发明中预设接口的内部硬件结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意结合。

为了对本发明的技术特征、目的和效果有更加清楚的理解,现在将参考附图描述实现本发明各个实施例的移动终端。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。

图1是本发明一实施例的lte网络架构的示意图。本发明一实施例的lte网络架构包括:一个或多个移动终端(userequipment,ue)100、外接设备200、e-utran(evolvedumtsterrestrialradioaccessnetwork,演进的umts陆地无线接入网)(图中未标号)、演进分组核心(epc)(图中未标号)、归属订户服务器(hss)107、网络(例如,因特网)(图中未标号)以及电路交换系统(图中未标号)。

e-utran包括演进b节点(enodeb)101和其它enodeb102。enodeb101提供朝向移动终端100的用户面和控制面的协议终接。enodeb101可经由x2接口连接到其他enodeb。enodeb101也可称为基站、基收发机站、无线电基站、无线电收发机、收发机功能、基本服务集、扩展服务集、或其他某个合适的术语。enodeb101为移动终端100提供去往epc的接入点。

enodeb101通过s1接口连接到epc。epc包括移动管理实体(eem)104、其他移动管理实体106、服务网关103,以及分组数据网络(pdn)网关105。移动管理实体104是处理移动终端100与epc之间的信令的控制节点。移动管理实体104提供承载和连接管理。所有用户ip分组通过服务网关103来传递,服务网关103自身连接到pdn网关105。pdn网关105提供ueip地址分配以及其他功能。pdn网关105连接到网络,例如,因特网。

电路交换系统包括交互解决方案模块(iws)108、移动交换中心(msc)109、基站110和移动站111。在一个方面,电路交换系统可以通过iws和mme(mobilitymanagemententity,移动管理实体)与eps(evolvedpacketsystem,演进的分组系统)进行通信。

移动终端100通过预设接口,如usb(universalserialbus,通用串行总线)数据线与外接设备200通讯连接。

图2为本发明移动终端100和外接设备200通讯连接的实体示意图。

如图2所示,移动终端100通过usb数据线与外接设备200通讯连接,其中,所述移动终端包括但不限于手机、pc(personalcomputer,个人电脑)或pad(personaldigitalassistant,个人数字助理),所述外接设备200可选为无线上网卡或数据卡。

图3为本发明实施例中移动终端和外接设备通讯连接的一种硬件结构示意图。

在本发明实施例中,移动终端100通过usb与外接设备200连接。移动终端100包括第一处理芯片001和与第一处理芯片001连接的第一射频模块12。其中,第一处理芯片001包括第一应用处理器(applicationprocessor)10、与第一用户识别卡13和第二用户识别卡14连接的第一调制解调器11(modem1)和rpm(resourcepowermanager,资源电源管理器)15。外接设备200包括第二处理芯片002和与第二处理芯片002连接的第二射频模块22。其中,第二处理芯片002包括第二应用处理器20和第二调制解调器(modem2)21。用户识别卡为sim卡。

第一应用处理器10和第二应用处理器20的内部框架包括应用层、框架层等,可处理复杂的逻辑操作以及进行任务分配等。在一个实施例中,应用处理器指android操作系统,以及基于android操作系统的各种apk(androidpackage,安卓安装包)。第一应用处理器10和第二应用处理器20通过usb实现连接,为用户提供交互接口,将用户输入的操作指令(例如,用户通过用户界面输入的有关启动视频通话的操作指令)传输给第一调制解调器11或第二调制解调器21,以实现两个处理器之间数据的定义与传递,例如,进行两个应用处理器的休眠、唤醒、同步的控制、开关机时芯片启动顺序的控制等。

第一应用处理器10通过usb与第二应用处理器20连接,以实现移动终端100与外接设备200之间的连接。在本发明实施例中,usb复用出三条数据通道,分别用于第一应用处理器10和第二应用处理器20之间用户数据、信令数据和sim卡鉴权数据的交互。即第一应用处理器10和第二应用处理器20通过usb传输用户数据、信令数据和sim卡鉴权数据。其中,用户数据包括但不限于上网产生的数据,图片和聊天信息数据;信令数据包括但不限于开关机的控制数据,开关飞行模式的控制数据,显示状态信号的控制数据;sim卡鉴权数据包括但不限于imsi(internationalmobilesubscriberidentificationnumber,国际移动用户识别码)和ki(keyidentifier,鉴权密钥)。

具体地,第一应用处理器10和第二应用处理器20通过otg(on-the-go)技术进行数据交互。通过otg技术,移动终端100中的第一调制解调器11可通过第二用户识别卡14或第一用户识别卡13中的sim卡参数来接入enodeb101,第二调制解调器21可通过第二用户识别卡14或第一用户识别卡13的sim卡参数来接入enodeb101,sim卡参数包括但不限于sim卡鉴权数据。

第一调制解调器11和第二调制解调器21包含各种网络交互的网络制式的协议栈,协议栈包含lte/wcdma(widebandcodedivisionmultipleaccess,宽带码分多址)/gsm(globalsystemformobilecommunication,全球移动通信系统)/td-scdma(timedivision-synchronouscodedivisionmultipleaccess,同步时分码分多址)/cdma(codedivisionmultipleaccess,码分多址)/edge(enhanceddatarateforgsmevolution,强型数据速率gsm演进技术)等通讯标准里边规定的协议代码。移动终端100通过协议与运营商网络进行交互,即进行数据流量上网、volte(voiceoverlte)打电话或者cs(circuitswitched,电路交换)域打电话。第一调制解调器11和第二调制解调器21还用于对sim卡的管控等等。

在本发明实施例中,第一射频模块12用于将移动终端100传输的数据处理后传给enodeb101(基站网络),以及用于将enodeb101传输的数据处理后传给移动终端100。第二射频模块22用于将外接设备200传输的数据处理后传给enodeb101(基站网络),以及用于将enodeb101传输的数据处理后传给外接设备200。

第一用户识别卡13和第二用户识别卡14用于提供移动通信业务(cs语音业务、ps数据业务和ps语音业务)所需的相关数据,并在其内部存储用户信息、短消息、执行鉴权算法和产生加密密匙等。

第一用户识别卡13和第二用户识别卡14可存储与不同或相同的技术标准相关联的用户信息。在特定非限制性实例中,技术标准可为2g通信技术,例如,gsm、edge)、3g通信技术(例如,wcdma、td-scdma)、4g通信技术(例如,lte),或任何其它移动通信技术(例如,4g等等)。第一用户识别卡13和第二用户识别卡14优选为sim卡。

第一用户识别卡13和第二用户识别卡14在与移动终端100交互时,移动终端100检测用户识别卡存在与否的信号只在开机瞬时产生,当开机检测不到用户识别卡存在时,将提示“插入用户识别卡”。移动终端100开机之后,移动终端100和用户识别卡之间28秒通信一次,完成一些固定的通信检查(例如,用户识别卡是否在位等)。

由于目前的移动终端100只有一套射频模块,当移动终端100有两张用户识别卡时,移动终端100的两张用户识别卡使用该套射频是分时复用的关系,并不能同时占用。例如,在两张用户识别卡全开时,其中一张用户识别卡只处理gsm通话,而另一张用户识别卡处理4g网络信息,具体哪张用户识别卡执行何种网络,在此不做限定。因此目前的射频双卡分时复用这种架构仅做到了lte+gsm(即一张用户识别卡对应的技术标准为lte,另一张用户识别卡对应的技术标准为gsm)。

可以理解的是,现有的移动终端100虽然可以支持双用户识别卡,由于移动终端100在注册网络的情况下,两张用户识别卡支持的是不同技术标准的网络,一张支持2g或3g,另一张支持4g,会使得移动终端100使用过程中,上网流量速度较慢。在本发明实施例中,移动终端100通过usb连接外接设备200,由于外接设备200包括第二调制解调器21和第二射频模块22,且第二射频模块22支持4g网络,因此,移动终端100可通过usb与外接设备200交互,从而使得移动终端100具备双lte功能(此时第一用户识别卡13和第二用户识别卡14管理的技术标准均为lte标准,第一射频模块12和第二射频模块22所涉及的无线接入技术为lte)。

移动终端100的rpm15用于管控各种资源,包括时钟资源、总线资源、pmic(powermanagementic,电源管理集成电路,即各个芯片的电压)、ddr(内存分配),以及管理芯片的休眠唤醒的中断和应用处理器唤醒的截止时间。移动终端100的各个子系统,在需要资源时,向rpm15申请资源,各个子系统分别包括第一应用处理器10,第一调制解调器11、pronto(wifi/蓝牙、nfc(nearfieldcommunication,近场通信)等)、lpass(lowpoweraudiosubsystem,低功耗音频子系统),rpm15用来决定移动终端100系统的休眠状态,具体是,rpm15基于各个子系统的投票机制实现,当各个子系统都投休眠票时,rpm15才可以使移动终端100整个系统进行休眠。而当移动终端100有一个子或者多个子系统投反对休眠的票,移动终端100整个系统都无法休眠。

在移动终端100的整个系统休眠之后,若是要重新启动运行,需要唤醒第一应用处理器10以进行数据的传输交互。

在移动终端100和外接设备200通过usb通讯连接的情况下,唤醒方式可为以下三种:

1、第一应用处理器10接收到信令数据时,通过usb发送握手关键字给第二应用处理器20,以唤醒第二应用处理器20。

2、第二调制解调器21接收到用户数据时,唤醒第二应用处理器20,由第二应用处理器20通过usb传送握手关键字给第一应用处理器10,以唤醒第一应用处理器10。

3、第二调制解调器21周期性查找寻呼请求,以主动激活自己。若接收到寻呼请求,第二调制解调器21则唤醒第二应用处理器20,由第二应用处理器20通过usb发送握手关键字给第一应用处理器10,以唤醒第二应用处理器20。

需要说明的是,握手关键字可用固定字长的字符标识,是正常数据包中不会出现的字段。如可用0xf9f9f9或者0x9f9f9f表示握手关键字,通过握手关键字可唤醒处于睡眠状态的第一应用处理器10或第二应用处理器20。

此外,第二调制解调器21还可以定期唤醒自己,以在移动终端100进行位置更新时,跟基站进行握手交互,此时不需要唤醒第一应用处理器10。

应当说明的是,传统的调制解调器之间的数据传输,一般是在远程数据访问服务器和远程数据访问客户端中,调用函数实现数据传输,即调制解调器中的数据无法直接传输至应用处理器中。因此,本发明中,为了解决这个问题,在移动终端中添加第一拦截模块,在外接设备中添加第二拦截模块,以通过拦截模块截取远程数据访问服务器和远程数据访问客户端的数据,并将截取的数据传输至移动终端和外接设备的应用处理器中,以实现调制解调器中的数据传输至应用处理器,再由应用处理器传输至对端。

参照图4,图4为本发明移动终端和外接设备通讯连接的内部硬件结构示意图。

如图4可知,第一调制解调器11包括uim(useridentitymodule)驱动112、第一sim卡模块代理113、远程sim数据访问_server(远程数据访问服务器)114、内嵌有第一拦截模块115a的第一qmux(qmimultiplexingprotoco,qmi的多路复用协议,简称第一多路复用协议模块)115和数据转发_server1(第一数据转发服务器)116。第一应用处理器10包括数据转发_client1(第一数据转发客户端)011和第一数据读写转发模块012。

第二调制解调器21包括modem非接入层部分212、第二sim卡模块代理213、远程sim数据访问_client(远程数据访问客户端)214、内嵌有第二拦截模块215a的第二qmux(qmimultiplexingprotoco,qmi的多路复用协议,简称第二多路复用协议模块)215和数据转发_server2(第二数据转发服务器)216,第二应用处理器20包括数据转发_client2(第二数据转发客户端)021和第二数据读写转发模块022。

其中,uim驱动112存储了接入网络必须的数据,如uimid(identification,身份)、鉴权数据、imsi号等。

远程sim数据访问_server114和远程sim数据访问_client214用于实现第一调制解调器11和第二调制解调器21之间sim卡数据的传输。

第一拦截模块115a用于截取远程sim数据访问_server114中所需传输的sim卡数据;第二拦截模块215a用于截取远程sim数据访问_client214中所需传输的sim卡数据。通过第一拦截模块115a和第二拦截模块215a实现远程sim数据访问_server114和远程sim数据访问_client214中sim卡数据的交互,具体地:第一拦截模块115a或第二拦截模块215a截取到数据之后,将截取的数据传输至第一数据转发服务器116或第二数据转发服务器216,以实现数据的传输。

第二数据转发服务器216和第二数据转发客户端021相对应,用于实现第二调制解调器21和第二应用处理器20之间的数据传输;第一数据转发服务器116和第一数据转发客户端011相对应,用于实现第一调制解调器11和第一应用处理器10之间的数据传输。

第一数据读写转发模块012和第二数据读写转发模块022用于通过usb实现第二应用处理器20和第一应用处理器10之间的数据传输。

在本实施例中,需要说明的是,第一拦截模块内嵌到第一多路复用协议模块,相当于是将第一拦截模块和第一多路复用协议模块进行耦合,具体地,需要在第一多路复用协议模块的底层中修改代码,以实现第一拦截模块和第一多路复用协议模块的耦合。第二拦截模块内嵌到第二多路复用协议模块也是采用同样的处理方式。

在本发明实施例中,由于移动终端和外接设备都包含有应用处理器和调制解调器,且第一数据转发服务器116和第二数据转发服务器216位于调制解调器,第一数据转发客户端011和第二数据转发客户端021位于应用处理器。因此,本实施例中,数据包传输过程发生在移动终端和外接设备之间,并且移动终端的数据转发机制和外接设备的数据转发机制一致,本发明的各个实施例中,以移动终端为执行主体,详述数据包传输过程,但是本领域技术人员应当理解的是,当用外接设备替换本发明中的移动终端时,同样可以实现本发明的数据包传输过程。

具体地,移动终端发数据:

远程数据访问服务器114-第一qmux115-第一拦截模块115a-第一数据转发服务器116-第一数据转发客户端011-第一数据读写转发模块012;

移动终端收数据:

第一数据读写转发模块012-第一数据转发客户端011-第一数据转发服务器116-第一拦截模块115a-第一qmux115-远程数据访问服务器114。

外接设备发数据:

远程数据访问客户端214-第二qmux215-第二拦截模块215a-第二数据转发服务器216-第二数据转发客户端021-第二数据读写转发模块022;

外接设备收数据:

第二数据读写转发模块022-第二数据转发客户端021-第二数据转发服务器216-第二拦截模块215a-第二qmux215-远程数据访问客户端214。

本发明实施例中,仅以移动终端所在端进行详述,外接设备的数据传输机制与移动终端一致,下文不做赘述。

本发明中,需要说明的是,虽然外接设备的数据传输方式与移动终端相同,并且外接设备中采用的水位机制和移动终端相同,但是指定的水位参数可以不同,具体的水位参数根据实际情况,即外接设备中设置的发送缓冲区和接收缓冲区的容量可以和移动终端不同,具体根据实际情况设定。

基于上述的lte网络架构图、移动终端100和外接设备200通讯连接的硬件结构示意图、实体结构示意图以及现有技术存在的问题,提出本发明的各个实施例。

本实施例提出一种数据包传输系统,所述数据包传输系统包括移动终端100,以及通过预设接口与所述移动终端100连接的外接设备200;所述移动终端100包括第一应用处理器10,以及与第一用户识别卡13和第二用户识别卡14连接的第一调制解调器11,所述第一调制解调器11包括远程数据访问服务器114、第一数据转发服务器116和内嵌有第一拦截模块115a的第一多路复用协议模块115,所述第一应用处理器10包括第一数据读写转发模块012和与所述第一数据转发服务器116连接的第一数据转发客户端011;所述外接设备200包括第二应用处理器20和第二调制解调器21,所述第二调制解调器21包括远程数据访问客户端214、第二数据转发服务器216和内嵌有第二拦截模块215a的第二多路复用协议模块215,所述第二应用处理器20包括通过所述预设接口与所述第一数据读写转发模块012连接的第二数据读写转发模块022,以及与所述第二数据转发服务器216连接的第二数据转发客户端021;

第一多路复用协议模块,用于通过第一拦截模块截取远程数据访问服务器传输的数据包,将截取的数据包缓存至发送缓冲区;

第一数据转发服务器,用于从所述发送缓冲区中提取数据包,并将提取的数据包转发至第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据读写转发模块;

所述第一数据读写转发模块,用于通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端,所述预设接口包括远程网络驱动端口和串行接口。

在本实施例中,移动终端的第一调制解调器中的远程数据访问服务器先发送数据包至第一多路复用协议模块,该数据包是从第一用户识别卡或第二用户识别卡中获取的数据包,第一多路复用协议模块截取该数据包,然后将截取的数据缓存至发送缓冲区中。本实施例中,该发送缓冲区是事先根据水位机制指定的缓冲区,该发送缓冲区也可以用发送水位表示。

当数据包缓存至发送缓冲区之后,第一数据转发服务器可从该发送缓冲区中提取数据包,并将提取的数据包转发至第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据读写转发模块。

当所述第一数据读写转发模块接收到数据包之后,通过预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端,本实施例中,所述预设接口即usb接口,usb接口可包括网络端口和串口,该网络端口可选为rndis(remotenetworkdriverinterfacespecification,远程网络驱动接口规范,简称为远程网络驱动端口),该串口为串行接口(serial,简称串口),其中,rndis端口用于传输网络数据,即tcp(transmissioncontrolprotocol,传输控制协议)/ip(internetprotocol,网际协议)的数据的传输,串口用于传输sim卡数据,即用户识别卡数据。

本发明实施例中,远程数据访问服务器获取的数据是sim卡数据,因此第一数据读写转发模块从串口中将数据包传输给外接设备的第二数据读写转发模块。

本实施例提出的技术方案,第一多路复用协议模块通过第一拦截模块截取远程数据访问服务器传输的数据包,并将截取的数据包缓存至发送缓冲区,第一数据转发服务器从所述发送缓冲区中提取数据包,并将提取的数据包转发至第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据读写转发模块,第一数据读写转发模块再通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端。本发明中,第一多路复用协议模块通过第一拦截模块截取远程数据访问服务器传输的数据包,并将截取的数据包通过第一数据转发服务器、第一数据转发客户端及第一数据读写转发模块传输给外接设备的第二数据读写转发模块,以便第二数据读写转发模块将数据包传输至第二调制解调器,以实现移动终端和外接设备之间的数据传输。

进一步地,提出本发明数据包传输系统的第二实施例。

数据包传输系统的第二实施例与数据包传输系统的第一实施例的区别在于:所述第一多路复用协议模块,还用于调用所述第一拦截模块发送通知信号至所述第一数据转发服务器,以通知所述第一数据转发服务器在所述发送缓冲区中提取数据包。

在本实施例中,所述第一多路复用协议模块将截取的数据包缓存至发送缓冲区之后,先调用所述第一拦截模块,由第一拦截模块发送通知信号至所述第一数据转发服务器,以通知所述第一数据转发服务器在所述发送缓冲区中提取数据包。

需要说明的是,当第一数据转发服务器获取到数据包之后,需要对数据包的容量值进行解析,以确定数据包的容量值是否超出预设阈值,若数据包的容量值超出所述预设阈值,则对所述数据包进行拆分,得到各个数据包,然后在拆分后的各个数据包中,对中间数据包添加中间标识,该中间标识用第二预设值表示,如flag=0,对结束数据包添加结束标识,该结束标识用第一预设值表示,如flag=1,然后将添加有标识的各个数据包发送至第一数据转发客户端。第一数据转发客户端接收到数据包之后,将数据包通过第一数据读写转发模块转发至外接设备的第二数据读写转发模块。

第二数据读写转发模块接收到数据包之后,通过第二数据转发客户端将数据包发送至第二数据转发服务器,第二数据转发服务器接收到数据包之后,执行数据包的组合操作,并将组合后的大数据包传输至第二多路复用协议模块,由第二多路复用协议模块将数据包缓存至接收缓冲区中,以供远程数据访问客户端从所述接收缓冲区中提取数据,从而实现移动终端和外接设备的数据传输过程。

在本实施例中,所述第一多路复用协议模块通过调用第一拦截模块,以通知第一数据转发服务器在所述发送缓冲区中提取数据包进行转发,保证了数据转发的及时性。

进一步地,提出本发明数据包传输系统的第三实施例。

数据包传输系统的第三实施例与数据包传输系统的第一或第二实施例的区别在于,所述第一数据读写转发模块,还用于通过所述预设接口接收第二数据读写转发模块发送的数据包,将接收到的数据包传输至所述第一数据转发客户端,由所述第一数据转发客户端将数据包转发至所述第一数据转发服务器;

所述第一数据转发服务器,还用于对接收到的数据包进行解包,并在解析出结束标识时,调用第一拦截模块将解包后的数据传输至所述第一多路复用协议模块中;

所述第一多路复用协议模块,还用于将数据缓存至接收缓冲区中,以供所述远程数据访问服务器从所述接收缓冲区中提取数据。

在本实施例中,所述第一数据读写转发模块通过所述预设接口接收第二数据读写转发模块发送的数据包,先将接收到的数据包传输至所述第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据转发服务器。

第一数据转发服务器调用预设的接收函数,并通过cmd命令接收数据包,在接收到数据包之后,将数据包执行解包操作得到数据,并对解开后的数据的flag标识信息进行识别,本实施例中,在flag标识信息为第一预设值时,如flag=1,此时,表示该数据包是最后一个数据包,可调用第一拦截模块将解包后的数据传输至第一多路复用协议模块中。第一多路复用协议模块接收到数据之后,将数据包缓存至接收缓冲区中,以供所述远程数据访问服务器从所述接收缓冲区中提取数据。

需要说明的是,此时的接收缓冲区与前面的发送缓冲区都是基于水位机制建立的缓冲区,该接收缓冲区还可以用接收水位表示,第一多路复用协议模块将数据缓存至接收缓冲区后,自动触发通知信号,以对数据包进行处理。

在本实施例中,移动终端可接收外接设备传送到的数据包,并对接收的数据包进行处理,从而实现移动终端和外接设备的通信。

进一步地,提出本发明数据包传输系统的第四实施例。

数据包传输系统的第四实施例与数据包传输系统的第三实施例的区别在于:所述第一数据转发服务器,还用于若解析出中间标识,则将解包后的数据缓存至临时缓冲区中,以便后续接收到的数据包解包后若携带结束标识,调用第一拦截模块将携带结束标识的数据以及临时缓冲区中的数据组合后传输至所述第一多路复用协议模块中。

在本实施例中,若该数据包的flag标识信息为第二预设值时,如flag=0,认为该数据包不是最后一个数据包,此时,第一数据转发服务器将接收到的数据缓存至临时缓缓冲区中,并继续接收数据包,仅在接收到数据包对应的flag标识信息为第一预设值时,才调用第一拦截模块,以通过调用的第一拦截模块,将缓存在临时缓缓冲区中的各个数据包与当前接收到的数据包组合后发送至第一多路复用协议模块。

在本实施例中,第一数据转发服务器解析出数据包携带中间标识时,说明书当前接收到的数据包是中间数据包,从外接设备发送过来的数据包还没有发送完成,此时,先缓存中间数据包,以便接收到结束数据包时,才组合进行发送,防止发生丢包的情况。

进一步地,提出本发明数据包传输系统的第五实施例。

数据包传输系统的第五实施例与数据包传输系统的第一至第四实施例的区别在于,所述预设接口还包括调试端口,所述调试端口用于调试数据。

在本实施例中,预设接口的内部硬件结构示意图可参照图8,如图8所示,所述预设接口包括远程网络驱动端口和串口。

进一步地,本发明实施例中,预设接口除了包括远程网络驱动端口和串行接口,还可以包括调试端口,该调试端口可选为diag(diagnostics,调试)/adb(androiddebugbridge,安卓调试桥)端口,用于调试数据。

本发明实施例中,继续参照图8,远程网络驱动端口、串口和调试端口的两端分别连接到第一应用处理器10和第二应用处理器20。需要说明的是,移动终端的第一应用处理器10的角色是host(主机),外接设备的第二应用处理器20的角色是device(设备)。在远程网络驱动端口、串口和调试端口两端分别连接到第一应用处理器10和第二应用处理器20的情况下,第一应用处理器10和第二应用处理器20分别设置有usbhost驱动和usbdevice驱动,usbhost驱动和usbdevice驱动又分别设置有对应的网卡驱动、串口驱动和调试端口驱动。

本发明实施例中,远程网络驱动端口中的驱动文件与串行接口的驱动文件不同,并且远程网络驱动端口和串行接口在第一应用处理器10与第二应用处理器20中的驱动文件也不相同。移动终端和外接设备通过usb接口中的太网控制模型端口和串行接口,实现网络数据和sim卡数据的传输。

本发明进一步提供一种数据包传输方法。

参照图5,图5为本发明数据包传输方法第一实施例的流程示意图。

本实施例提出一种数据包传输方法,在本实施例中,提供了数据包传输方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明中,数据包传输方法应用于移动终端100以及通过预设接口与所述移动终端连接的外接设备200,所述移动终端100包括第一应用处理器10,以及与第一用户识别卡13和第二用户识别卡14连接的第一调制解调器11,所述第一调制解调器11包括远程数据访问服务器114、第一数据转发服务器116和内嵌有第一拦截模块115a的第一多路复用协议模块115,所述第一应用处理器10包括第一数据读写转发模块012和与所述第一数据转发服务器116连接的第一数据转发客户端011;所述外接设备200包括第二应用处理器20和第二调制解调器21,所述第二调制解调器21包括远程数据访问客户端214、第二数据转发服务器216和内嵌有第二拦截模块215a的第二多路复用协议模块215,所述第二应用处理器20包括通过所述预设接口与所述第一数据读写转发模块012连接的第二数据读写转发模块022,以及与所述第二数据转发服务器216连接的第二数据转发客户端021;所述方法包括:

步骤s10,第一多路复用协议模块通过第一拦截模块截取远程数据访问服务器传输的数据包,将截取的数据包缓存至发送缓冲区;

步骤s20,第一数据转发服务器从所述发送缓冲区中提取数据包,并将提取的数据包转发至第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据读写转发模块;

步骤s30,所述第一数据读写转发模块通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端,所述预设接口包括远程网络驱动端口和串行接口。

在本实施例中,移动终端的第一调制解调器中的远程数据访问服务器先发送数据包至第一多路复用协议模块,该数据包是从第一用户识别卡或第二用户识别卡中获取的数据包,第一多路复用协议模块截取该数据包,然后将截取的数据缓存至发送缓冲区中。本实施例中,该发送缓冲区是事先根据水位机制指定的缓冲区,该发送缓冲区也可以用发送水位表示。

当数据包缓存至发送缓冲区之后,第一数据转发服务器可从该发送缓冲区中提取数据包,并将提取的数据包转发至第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据读写转发模块。

当所述第一数据读写转发模块接收到数据包之后,通过预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端,本实施例中,所述预设接口即usb接口,usb接口可包括网络端口和串口,该网络端口可选为rndis(remotenetworkdriverinterfacespecification,远程网络驱动接口规范,简称为远程网络驱动端口),该串口为串行接口(serial,简称串口),其中,rndis端口用于传输网络数据,即tcp(transmissioncontrolprotocol,传输控制协议)/ip(internetprotocol,网际协议)的数据的传输,串口用于传输sim卡数据,即用户识别卡数据。

本发明实施例中,远程数据访问服务器获取的数据是sim卡数据,因此第一数据读写转发模块从串口中将数据包传输给外接设备的第二数据读写转发模块。

本实施例提出的技术方案,第一多路复用协议模块通过第一拦截模块截取远程数据访问服务器传输的数据包,并将截取的数据包缓存至发送缓冲区,第一数据转发服务器从所述发送缓冲区中提取数据包,并将提取的数据包转发至第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据读写转发模块,第一数据读写转发模块再通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端。本发明中,第一多路复用协议模块通过第一拦截模块截取远程数据访问服务器传输的数据包,并将截取的数据包通过第一数据转发服务器、第一数据转发客户端及第一数据读写转发模块传输给外接设备的第二数据读写转发模块,以便第二数据读写转发模块将数据包传输至第二调制解调器,以实现移动终端和外接设备之间的数据传输。

进一步地,参照图6,提出本发明数据包传输方法的第二实施例。

数据包传输方法的第二实施例与数据包传输方法的第一实施例的区别在于,所述步骤s10之后,所述方法还包括:

步骤s40,所述第一多路复用协议模块调用所述第一拦截模块发送通知信号至所述第一数据转发服务器,以通知所述第一数据转发服务器在所述发送缓冲区中提取数据包。

在本实施例中,所述第一多路复用协议模块将截取的数据包缓存至发送缓冲区之后,先调用所述第一拦截模块,由第一拦截模块发送通知信号至所述第一数据转发服务器,以通知所述第一数据转发服务器在所述发送缓冲区中提取数据包。

需要说明的是,当第一数据转发服务器获取到数据包之后,需要对数据包的容量值进行解析,以确定数据包的容量值是否超出预设阈值,若数据包的容量值超出所述预设阈值,则对所述数据包进行拆分,得到各个数据包,然后在拆分后的各个数据包中,对中间数据包添加中间标识,该中间标识用第二预设值表示,如flag=0,对结束数据包添加结束标识,该结束标识用第一预设值表示,如flag=1,然后将添加有标识的各个数据包发送至第一数据转发客户端。第一数据转发客户端接收到数据包之后,将数据包通过第一数据读写转发模块转发至外接设备的第二数据读写转发模块。

第二数据读写转发模块接收到数据包之后,通过第二数据转发客户端将数据包发送至第二数据转发服务器,第二数据转发服务器接收到数据包之后,执行数据包的组合操作,并将组合后的大数据包传输至第二多路复用协议模块,由第二多路复用协议模块将数据包缓存至接收缓冲区中,以供远程数据访问客户端从所述接收缓冲区中提取数据,从而实现移动终端和外接设备的数据传输过程。

在本实施例中,所述第一多路复用协议模块通过调用第一拦截模块,以通知第一数据转发服务器在所述发送缓冲区中提取数据包进行转发,保证了数据转发的及时性。

进一步地,参照图7,提出本发明数据包传输方法的第三实施例。

数据包传输方法的第三实施例与数据包传输方法的第一或第二实施例的区别在于,所述方法还包括:

步骤s50,所述第一数据读写转发模块通过所述预设接口接收第二数据读写转发模块发送的数据包,将接收到的数据包传输至所述第一数据转发客户端,由所述第一数据转发客户端将数据包转发至所述第一数据转发服务器;

步骤s60,所述第一数据转发服务器对接收到的数据包进行解包,并在解析出结束标识时,调用第一拦截模块将解包后的数据传输至所述第一多路复用协议模块中;

步骤s70,所述第一多路复用协议模块将数据缓存至接收缓冲区中,以供所述远程数据访问服务器从所述接收缓冲区中提取数据。

在本实施例中,所述第一数据读写转发模块通过所述预设接口接收第二数据读写转发模块发送的数据包,先将接收到的数据包传输至所述第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据转发服务器。

第一数据转发服务器调用预设的接收函数,并通过cmd命令接收数据包,在接收到数据包之后,将数据包执行解包操作得到数据,并对解开后的数据的flag标识信息进行识别,本实施例中,在flag标识信息为第一预设值时,如flag=1,此时,表示该数据包是最后一个数据包,可调用第一拦截模块将解包后的数据传输至第一多路复用协议模块中。第一多路复用协议模块接收到数据之后,将数据包缓存至接收缓冲区中,以供所述远程数据访问服务器从所述接收缓冲区中提取数据。

需要说明的是,此时的接收缓冲区与前面的发送缓冲区都是基于水位机制建立的缓冲区,该接收缓冲区还可以用接收水位表示,第一多路复用协议模块将数据缓存至接收缓冲区后,自动触发通知信号,以对数据包进行处理。

在本实施例中,移动终端可接收外接设备传送到的数据包,并对接收的数据包进行处理,从而实现移动终端和外接设备的通信。

进一步地,提出本发明数据包传输方法的第四实施例。

数据包传输方法的第四实施例与数据包传输方法的第三实施例的区别在于,所述“第一数据转发服务器对接收到的数据包进行解包”的步骤之后,所述数据包传输方法还包括:

若解析出中间标识,则所述第一数据转发服务器将解包后的数据缓存至临时缓冲区中,以便后续接收到的数据包解包后若携带结束标识,调用第一拦截模块将携带结束标识的数据以及临时缓冲区中的数据组合后传输至所述第一多路复用协议模块中。

在本实施例中,若该数据包的flag标识信息为第二预设值时,如flag=0,认为该数据包不是最后一个数据包,此时,第一数据转发服务器将接收到的数据缓存至临时缓缓冲区中,并继续接收数据包,仅在接收到数据包对应的flag标识信息为第一预设值时,才调用第一拦截模块,以通过调用的第一拦截模块,将缓存在临时缓缓冲区中的各个数据包与当前接收到的数据包组合后发送至第一多路复用协议模块。

在本实施例中,第一数据转发服务器解析出数据包携带中间标识时,说明书当前接收到的数据包是中间数据包,从外接设备发送过来的数据包还没有发送完成,此时,先缓存中间数据包,以便接收到结束数据包时,才组合进行发送,防止发生丢包的情况。

进一步地,提出本发明数据包传输方法的第五实施例。

数据包传输方法的第五实施例与数据包传输方法的第一至第四实施例的区别在于,所述预设接口还包括调试端口,所述调试端口用于调试数据。

在本实施例中,预设接口的内部硬件结构示意图可参照图8,如图8所示,所述预设接口包括远程网络驱动端口和串口。

进一步地,本发明实施例中,预设接口除了包括远程网络驱动端口和串行接口,还可以包括调试端口,该调试端口可选为diag(diagnostics,调试)/adb(androiddebugbridge,安卓调试桥)端口,用于调试数据。

本发明实施例中,继续参照图8,远程网络驱动端口、串口和调试端口的两端分别连接到第一应用处理器10和第二应用处理器20。需要说明的是,移动终端的第一应用处理器10的角色是host(主机),外接设备的第二应用处理器20的角色是device(设备)。在远程网络驱动端口、串口和调试端口两端分别连接到第一应用处理器10和第二应用处理器20的情况下,第一应用处理器10和第二应用处理器20分别设置有usbhost驱动和usbdevice驱动,usbhost驱动和usbdevice驱动又分别设置有对应的网卡驱动、串口驱动和调试端口驱动。

本发明实施例中,远程网络驱动端口中的驱动文件与串行接口的驱动文件不同,并且远程网络驱动端口和串行接口在第一应用处理器10与第二应用处理器20中的驱动文件也不相同。移动终端和外接设备通过usb接口中的太网控制模型端口和串行接口,实现网络数据和sim卡数据的传输。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1