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

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

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



背景技术:

随着移动通信技术的发展,移动终端已经成为用户随身携带,必不可少的电子设备。在运营商和各大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和外接设备200通讯连接的基础,移动终端100可支持双lte。具体地:

移动终端100包括第一处理芯片001,以及与所述第一处理芯片001连接的第一射频模块12,其中,第一处理芯片001包括内嵌有虚拟用户识别卡10a的第一应用处理器(applicationprocessor,用ap1表示)10、与实体用户识别卡14连接的第一调制解调器11(modem1)、rpm(resourcepowermanager,资源电源管理器)15。

其中,虚拟用户识别卡10a包括存储模块和虚拟片内操作系统(virtualchipoperatingsystem,vcos),该存储模块可为efs(encryptingfilesystem,加密文件系统),存储模块用于存储虚拟用户识别卡10a的鉴权数据。所述实体用户识别卡14为sim(subscriberidentitymodule,用户识别模块)卡。

外接设备200包括第二处理芯片002,以及与所述第二处理芯片002连接的第二射频模块22,其中,第二处理芯片002包括第二应用处理器(用ap2表示)20和第二调制解调器(modem2)21。

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

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

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

第一调制解调器11和第二调制解调器21包含各种网络交互的网络制式的协议栈,协议栈包含lte(longtermevolution,长期演进)/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。

第一射频模块12和第二射频模块22所涉及的无线接入技术可以包括lte、gsm、gprs(generalpacketradioservice,通用分组无线服务)、cdma、edge、wlan(wirelesslocalareanetworks,无线局域网)、cdma-2000、td-scdma、wcdma、wifi(wirelessfidelity,无线保真)等等。

移动终端100中的实体用户识别卡14与第一调制解调器11连接,虚拟用户识别卡10a以软件的形式嵌在第一应用处理器10中,虚拟用户识别卡10a和实体用户识别卡14存储不同的无线通信标准相关联用户信息。应当理解,目前的移动终端只有一套射频,移动终端内部的两个用户识别卡使用该套射频是分时复用的关系,并不能同时占用。例如,在两张用户识别卡全开时,一张卡可以处理gsm通话,另一张卡只能处理4g网络信息,具体哪个用户识别卡执行何种网络,不做限定。因此目前的射频双卡分时复用这种架构仅做到了lte+gsm(即一张用户识别卡对应的技术标准为lte,另一张用户识别卡对应的技术标准为gsm)。

也就是说,现有的移动终端100虽然可以支持双用户识别卡,但是移动终端100在注册网络的情况下,两个用户识别卡支持的是不同技术标准的网络,一个支持2g或3g,另一个支持4g,会使得移动终端100使用过程中,上网流量速度较慢,因此本发明中,移动终端100通过usb数据线连接外接设备200,由于外接设备200包括第二射频模块22,且第二射频模块22支持4g网络,因此本发明中,移动终端100可通过usb线与外接设备200交互,从而使得移动终端100具备双lte功能。

在本实施例中,数据包识别系统包括移动终端100和外接设备200,移动终端100通过外接设备200具备双lte功能的实现过程可为:①实体用户识别卡14通过第二调制解调器21支持lte,具体过程为:第一调制解调器11将实体用户识别卡14中需要访问lte网络的数据发送给第一应用处理器10,第一应用处理器10将所接收的数据通过usb发送给外接设备200的第二应用处理器20,第二应用处理器20将所接收的数据发送给第二调制解调器21,由第二调制解调器21转发给第二射频模块22,第二射频模块22将所接收的数据通过lte网络发送出去;而虚拟用户识别卡10a通过第一调制解调器11支持lte,以实现移动终端100可支持双lte。②虚拟用户识别卡10a通过第二调制解调器21支持lte,具体过程为:第一应用处理器10将虚拟用户识别卡10a中需要访问lte网络的数据通过usb发送给外接设备200的第二应用处理器20,第二应用处理器20将所接收的数据发送给第二调制解调器21,由第二调制解调器21转发给第二射频模块22,第二射频模块22将所接收的数据通过lte网络发送出去;而实体用户识别卡14通过第一调制解调器11支持lte,以实现移动终端100可支持双lte。

在本发明实施例中,虚拟用户识别卡10a和实体用户识别卡14用于提供移动通信业务(cs语音业务、ps数据业务和ps语音业务)所需的相关数据,并在其内部存储用户信息、短消息、执行鉴权算法和产生加密密匙等。

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

需要说明的是,当虚拟用户识别卡10a需要进行网络注册时,通过开启的无线保真(wifi)网络发送包含业务菜单数据的下载请求至虚拟用户识别卡10a对应的云端服务器,以从云端服务器获取虚拟用户识别卡10a的数据信息。当获取到虚拟用户识别卡10a的数据信息时,将数据信息写入虚拟用户识别卡10a的存储模块中,以实现虚拟用户识别卡10a的网络注册。其中,数据信息可以包括:imsi、ki(keyidentifier,鉴权密钥)、iccid(integratedcircuitcardidentifier)、pin(个人标识号,personalidentificationnumber)、puk(pinunlockingkey)。可以理解的是,云端服务器中存储了各个运营商的卡号资源。

在本发明的实施例中,虚拟用户识别卡10a和实体用户识别卡14承载信息,并且根据外界请求返回对应卡参数,以及对网络进行鉴权运算,第一射频模块12和第二射频模块22所涉及的无线接入技术为lte。当移动终端100通过usb数据线与外接设备200连接时,虚拟用户识别卡10a可通过外接设备200中的第二调制解调器21支持lte,而实体用户识别卡14通过第一调制解调器11支持lte;或者虚拟用户识别卡10a可通过外接设备200中的第一调制解调器11支持lte,而实体用户识别卡14通过第二调制解调器21支持lte,以实现移动终端100连接外接设备200情况下可支持双lte。

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

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

在移动终端100和外接设备200通过usb数据线通讯连接的情况下,唤醒方式包括三种:

1、第一应用处理器10接收到控制信令数据时,通过usb数据线传送探测包给第二应用处理器20,以唤醒第二应用处理器20。

2、外接设备200的第二调制解调器21接收到用户数据时,唤醒第二应用处理器20,由第二应用处理器20通过usb数据线传送探测包给第一应用处理器10,以唤醒第一应用处理器10。

3、第二调制解调器21周期性查找寻呼请求,以主动激活自己,若接收到寻呼请求,唤醒第二应用处理器20,由第二应用处理器20通过usb数据线发送探测包给第一应用处理器10,以唤醒第二应用处理器20。

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

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

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

第二调制解调器21包括modem非接入层部分211、第二sim卡模块代理213、远程sim数据访问_client(远程数据访问客户端)214、第二拦截模块215和数据转发_server2(第二数据转发服务器)216,第二应用处理器20包括数据转发_client2(第二数据转发客户端)021和第二数据读写转发模块022。

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

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

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

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

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

在本发明实施例中,需要说明的是,由于移动终端100和外接设备200都包含有应用处理器和调制解调器,且第一数据转发服务器116和第二数据转发服务器216位于调制解调器,第一数据转发客户端011和第二数据转发客户端021位于应用处理器。

因此,本实施例中,数据传输过程既可以发生在移动终端,也可以发生在外接设备中,并且移动终端的数据转发机制和外接设备的数据转发机制一致,本发明的各个实施例中,以移动终端为执行主体,详述第一数据转发客户端011的数据传输过程,但是本领域技术人员应当理解的是,当用外接设备替换本发明中的移动终端时,同样可以实现本发明的数据包传输过程。

其中,数据转发_client的方式包括两种:

移动终端:

方式一、移动终端的数据转发_client1在接收到本端数据转发_server1发送的数据包时,将接收到的数据包发送至外接设备的数据转发_client2中;

方式二、移动终端的数据转发_client1在接收到外接设备的数据转发_client2中转发的数据包时,将接收到的数据包发送至本端数据转发_server1中。

外接设备:

方式一、外接设备的数据转发_client2在接收到本端数据转发_server2发送的数据包时,将接收到的数据包发送至移动终端的数据转发_client1中;

方式二、外接设备的数据转发_client2在接收到移动终端的数据转发_client1中转发的数据包时,将接收到的数据包发送至本端数据转发_server1中。

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

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

所述第一数据转发客户端,用于对第一数据读写转发模块连接的第一接口节点进行监听;

在所述第一接口节点监听成功时,从所述第一接口节点读取第二数据转发客户端通过第二数据读写转发模块转发的数据包;

将读取的数据包发送至第一数据转发服务器。

在本实施例中,第一数据转发客户端先对第一数据读写转发模块连接的第一接口节点进行监听,其中,所述第一接口节点为虚拟串口,即上文提及的usb接口,该第一接口节点可选用ttyusb0节点表示,本实施例中,第一数据转发客户端对第一接口节点进行监听的方式为:对ttyusb0节点循环进行open。需要说明的是,要对第一接口节点进行监听,需要在第一数据转发客户端中插入监听模块,实现该虚拟串口的监听。

本实施例中,优选第一数据转发客户端对第一接口节点open成功时,认为该第一接口节点监听成功,在所述第一接口节点监听成功时,从所述第一接口节点读取第二数据转发客户端通过第二数据读写转发模块转发的数据包,然后将读取的数据包发送至第一数据转发服务器。

需要说明的是,第二数据转发客户端通过第二数据读写转发模块转发的数据包,是第二数据转发客户端通过第二数据转发服务器接收第二拦截模块传输的数据包,第二拦截模块传输的数据包是从sim数据访问_client中截取的数据包。当第一数据转发服务器接收到数据包之后,再将数据包传输至第一拦截模块中,以由第一拦截模块上传至远程sim数据访问_server中,从而实现移动终端和外接设备的数据传输过程。

本实施例的数据包传输系统,所述第一数据转发客户端,用于对第一数据读写转发模块连接的第一接口节点进行监听,在所述第一接口节点监听成功时,从所述第一接口节点读取第二数据转发客户端通过第二数据读写转发模块转发的数据包,将读取的数据包发送至第一数据转发服务器。本发明中,通过移动终端第一应用处理器的第一数据转发客户端,对第一数据读写转发模块连接的第一接口节点进行监听,以读取外接设备中第二应用处理器的第二数据转发客户端通过第二数据读写转发模块转发的数据包,再将读取的数据包发送至移动终端第一调制解调器的第一数据转发服务器,以实现移动终端和外接设备之间的数据包传输过程。

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

数据包传输系统的第二实施例与第一实施例的区别在于:所述第一数据转发客户端,还用于调用预设的客户端框架,以进行初始化;

在初始化成功后,建立与第一数据转发服务器的连接关系,以便基于建立的连接关系对第一数据读写转发模块连接的第一接口节点进行监听。

在本实施例中,第一数据转发客户端对第一数据读写转发模块连接的第一接口节点进行监听之前,所述第一数据转发客户端先调用预设的客户端框架,以进行初始化,该客户端框架即client_framework。在该客户端框架初始化成功后,所述第一数据转发客户端建立与第一数据转发服务器的连接关系,以便基于建立的连接关系对第一数据读写转发模块连接的第一接口节点进行监听,也就是说,在客户端框架初始化成功后,所述第一数据转发客户端建立与第一数据转发服务器的连接关系,后续再对第一接口节点进行监听。

在本实施例中,先对客户端框架进行初始化,然后建立第一数据转发客户端建立与第一数据转发服务器的连接关系,后续对第一接口节点进行监听并获取到数据包时,即可将数据包传输至第一数据转发服务器,防止第一数据转发服务器还没拉起来,就传输数据包给第一数据转发服务器,本发明保证了数据包的正常传输,避免了数据包传输出现丢包的情况。

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

数据包传输系统的第三实施例与数据包传输系统的第二实施例的区别在于,所述第一数据转发客户端,还用于在所述第一接口节点监听失败时,所述第一数据转发客户端以预设时间间隔轮询所述第一接口节点,以监听所述第一接口节点,直到所述第一接口节点监听成功。

在本实施例中,第一数据转发客户端对第一接口节点进行监听之后,若该第一接口节点监听失败,说明第一数据转发客户端对第一接口节点open失败,此时,所述第一数据转发客户端会按照预设时间间隔反复轮询所述第一接口节点,以监听所述第一接口节点,直到所述第一接口节点监听成功。其中,所述预设时间间隔根据实际情况设置,例如,设置为6s。

此外,本发明实施例中,当第一数据转发客户端调用预设的客户端框架,以进行初始化,并且初始化失败时,则退出第一数据转发客户端所在的数据转发进程,同样,也会反复轮训所述第一接口节点,直到该第一接口节点监听成功为止。

在本实施例中,在第一接口节点监听失败时,反复轮询所述第一接口节点,直到该第一接口节点可用时,执行后续的数据包传输操作,以保证数据包的及时传输。

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

数据包传输系统的第四实施例与第一至第三实施例的区别在于:所述第一数据转发客户端,还用于接收第一数据转发服务器反馈的数据包;

将接收到的数据包写入到所述第一数据读写转发模块连接的第一接口节点,以通过第一数据读写转发模块传输至第二数据转发客户端。

在本实施例中,当第一数据转发服务器接收到第一数据转发客户端发送的数据包之后,将该数据包通过拦截模块上传至远程sim数据访问_server,由远程sim数据访问_server基于该数据包得到反馈的数据包,然后第一数据转发服务器将反馈的数据包主动上报至所述第一数据转发客户端。

第一数据转发客户端接收到第一数据转发服务器反馈的数据包之后,将该接收到的数据包写入到所述第一接口节点,以通过第一数据读写转发模块传输至第二数据转发客户端,即将本端第一调制解调器中的数据包传输给外接设备的第一应用处理器中。

进一步地,在本发明中实施例中,所述第一数据转发客户端所在的数据转发进程模块(data_forward模块),包括两种设置方案:

方案一,该data_forward模块可以添加到ril(radiointerfacelayer,无线接口层)进程中。

方案二,该data_forward模块可以独立到自己的进程模块中,即所述第一数据转发客户端所在的数据转发进程模块,位于移动终端新增的模块中。

应当理解的是,由于ril进程本身已经具有很多权限,因此采用方案一的优势是减少开发难度,可以避免遇到selinux(安全增强式linux)以及socket等大部分权限问题;劣势是该data_forward模块的稳定性会影响到通信进程,且后在续扩展此data_forward模块时,会更大的程度会影响到ril进程的稳定,且不方便调试。

采用方案二的优势是该data_forward模块易于移植、扩展,且对系统其它模块的影响不大,且前期方便调试(通过shell中方式启动及kill的方式便可以进行调试);其中,shell是指操作系统中,提供访问内核所提供之服务的程序;kill是指送出一个特定的信号(signal)给行程id为pid(portid,接口id)的行程,并根据该信号而做特定的动作,若没有指定,预设是送出终止(term)的信号。因此,基于稳定性的考虑,本发明实施例优选采取方案二。

在本实施例中,所述数据包传输系统中:

第二数据转发客户端,用于对第二数据读写转发模块连接的第二接口节点进行监听;

在所述第二接口节点监听成功时,从所述第二接口节点读取第一数据转发客户端通过第一数据读写转发模块转发的数据包;

将读取的数据包发送至第二数据转发服务器。

在本实施例中,所述第二接口节点同样为虚拟串口,即上文提及的usb接口,该第二接口节点位于第二数据读写转发模块所在的一端,该第二接口节点可选用ttygs0节点表示。

本发明中,第二数据转发客户端对第二数据读写转发模块连接的第二接口节点进行监听的方式,以及在监听成功时,读取数据包进行转发的方式与上文第一数据转发客户端的操作过程一致,此处不做赘述。

此外,所述第二数据转发客户端,还用于调用预设的客户端框架,以进行初始化;

在初始化成功后,所述第二数据转发客户端建立与第二数据转发服务器的连接关系,以便基于建立的连接关系对第二数据读写转发模块连接的第二接口节点进行监听。

此外,所述第二数据转发客户端,还用于在所述第二接口节点监听失败时,以预设时间间隔轮询所述第二接口节点,以监听所述第二接口节点,直到所述第二接口节点监听成功。

在本实施例中,客户端框架同样client_framework,所述第二数据转发客户端对客户端框架的初始化过程,以及初始化后的第二接口节点监听过程与第一数据转发客户端一致,此处不再赘述。

需要说明的是,所述第二数据转发客户端以预设时间间隔轮询所述第二接口节点所花费的时间与第一数据转发客户端有所不同,本实施例中,所述第二数据转发客户端轮询的时间比所述第二数据转发客户端的时间长,例如,第二数据转发客户端轮询的时间设置为13s。通过这种设置方式,可以保证移动终端的数据转发进程模块,先于外接设备发现usb接口可用。

此外,所述第二数据转发客户端,还用于接收第二数据转发服务器反馈的数据包;

将接收到的数据包写入到所述第二数据读写转发模块连接的第二接口节点,以通过第二数据读写转发模块传输至第一数据转发客户端。

本实施例中,所述第二数据转发客户端接收第二数据转发服务器反馈的数据包,并写到第二接口节点以传输至第一数据转发客户端的方式,与第一数据转发客户端的执行过程一致,此处同样不做赘述。

本实施例中,外接设备的第二数据转发客户端同样可以执行数据包传输过程,并且传输过程与移动终端的第一数据转发客户端基本一致,不同之处仅在于第二接口节点与第一接口节点不同,并且第二数据转发客户端轮询第二接口节点所花费的时间比第一数据转发客户端轮询第一接口节点所花费的时间长,

在本发明中实施例中,所述第二数据转发客户端所在的数据转发进程模块(data_forward模块),优选位于外接设备已有的预设模块中。

即,将第二数据转发客户端所在的data_forward模块移植到外接设备已有的预设模块,如mifi(mobilewifi,移动路由器)模块。该mifi模块本身设计是开机自启动的。所以在mifi模块启动时会将data_forward模块拉起来。因此,当外接设备开机加载mifi模块时,由于外接设备的data_forward模块归属于mifi模块,所以开机mifi模块起来后,data_forward模块部分直接就起来了,不用单独再拉起一个进程。

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

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

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

本发明中,数据包传输方法应用于移动终端100以及通过预设接口与所述移动终端连接的外接设备200,所述移动终端100包括内嵌有虚拟用户识别卡10a的第一应用处理器10、第一调制解调器11,以及与所述第一调制解调器11连接的实体用户识别卡14,所述第一调制解调器11包括第一数据转发服务器116,所述第一应用处理器10包括第一数据读写转发模块012和与所述第一数据转发服务器116连接的第一数据转发客户端011;所述外接设备200包括第二应用处理器20和第二调制解调器21,所述第二调制解调器21包括第二数据转发服务器216,所述第二应用处理器20包括通过所述预设接口与所述第一数据读写转发模块012连接的第二数据读写转发模块022,以及与所述第二数据转发服务器216连接的第二数据转发客户端021;所述方法包括:

步骤s10,第一数据转发客户端对第一数据读写转发模块连接的第一接口节点进行监听;

步骤s20,在所述第一接口节点监听成功时,从所述第一接口节点读取第二数据转发客户端通过第二数据读写转发模块转发的数据包;

步骤s30,将读取的数据包发送至第一数据转发服务器。

在本实施例中,第一数据转发客户端先对第一数据读写转发模块连接的第一接口节点进行监听,其中,所述第一接口节点为虚拟串口,即上文提及的usb接口,该第一接口节点可选用ttyusb0节点表示,本实施例中,第一数据转发客户端对第一接口节点进行监听的方式为:对ttyusb0节点循环进行open。需要说明的是,要对第一接口节点进行监听,需要在第一数据转发客户端中插入监听模块,实现该虚拟串口的监听。

本实施例中,优选第一数据转发客户端对第一接口节点open成功时,认为该第一接口节点监听成功,在所述第一接口节点监听成功时,从所述第一接口节点读取第二数据转发客户端通过第二数据读写转发模块转发的数据包,然后将读取的数据包发送至第一数据转发服务器。

需要说明的是,第二数据转发客户端通过第二数据读写转发模块转发的数据包,是第二数据转发客户端通过第二数据转发服务器接收第二拦截模块传输的数据包,第二拦截模块传输的数据包是从sim数据访问_client中截取的数据包。当第一数据转发服务器接收到数据包之后,再将数据包传输至第一拦截模块中,以由第一拦截模块上传至远程sim数据访问_server中,从而实现移动终端和外接设备的数据传输过程。

本实施例的数据包传输方法,第一数据转发客户端对第一数据读写转发模块连接的第一接口节点进行监听,在所述第一接口节点监听成功时,从所述第一接口节点读取第二数据转发客户端通过第二数据读写转发模块转发的数据包,将读取的数据包发送至第一数据转发服务器。本发明中,通过移动终端第一应用处理器的第一数据转发客户端,对第一数据读写转发模块连接的第一接口节点进行监听,以读取外接设备中第二应用处理器的第二数据转发客户端通过第二数据读写转发模块转发的数据包,再将读取的数据包发送至移动终端第一调制解调器的第一数据转发服务器,以实现移动终端和外接设备之间的数据包传输过程。

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

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

步骤s40,所述第一数据转发客户端调用预设的客户端框架,以进行初始化;

步骤s50,在初始化成功后,所述第一数据转发客户端建立与第一数据转发服务器的连接关系,以便基于建立的连接关系对第一数据读写转发模块连接的第一接口节点进行监听。

在本实施例中,第一数据转发客户端对第一数据读写转发模块连接的第一接口节点进行监听之前,所述第一数据转发客户端先调用预设的客户端框架,以进行初始化,该客户端框架即client_framework。在该客户端框架初始化成功后,所述第一数据转发客户端建立与第一数据转发服务器的连接关系,以便基于建立的连接关系对第一数据读写转发模块连接的第一接口节点进行监听,也就是说,在客户端框架初始化成功后,所述第一数据转发客户端建立与第一数据转发服务器的连接关系,后续再对第一接口节点进行监听。

在本实施例中,先对客户端框架进行初始化,然后建立第一数据转发客户端建立与第一数据转发服务器的连接关系,后续对第一接口节点进行监听并获取到数据包时,即可将数据包传输至第一数据转发服务器,防止第一数据转发服务器还没拉起来,就传输数据包给第一数据转发服务器,本发明保证了数据包的正常传输,避免了数据包传输出现丢包的情况。

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

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

步骤s60,在所述第一接口节点监听失败时,所述第一数据转发客户端以预设时间间隔轮询所述第一接口节点,以监听所述第一接口节点,直到所述第一接口节点监听成功。

在本实施例中,第一数据转发客户端对第一接口节点进行监听之后,若该第一接口节点监听失败,说明第一数据转发客户端对第一接口节点open失败,此时,所述第一数据转发客户端会按照预设时间间隔反复轮询所述第一接口节点,以监听所述第一接口节点,直到所述第一接口节点监听成功。其中,所述预设时间间隔根据实际情况设置,例如,设置为6s。

此外,本发明实施例中,当第一数据转发客户端调用预设的客户端框架,以进行初始化,并且初始化失败时,则退出第一数据转发客户端所在的数据转发进程,同样,也会反复轮训所述第一接口节点,直到该第一接口节点监听成功为止。

在本实施例中,在第一接口节点监听失败时,反复轮询所述第一接口节点,直到该第一接口节点可用时,执行后续的数据包传输操作,以保证数据包的及时传输。

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

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

步骤s70,所述第一数据转发客户端接收第一数据转发服务器反馈的数据包;

步骤s80,将接收到的数据包写入到所述第一数据读写转发模块连接的第一接口节点,以通过第一数据读写转发模块传输至第二数据转发客户端。

在本实施例中,当第一数据转发服务器接收到第一数据转发客户端发送的数据包之后,将该数据包通过拦截模块上传至远程sim数据访问_server,由远程sim数据访问_server基于该数据包得到反馈的数据包,然后第一数据转发服务器将反馈的数据包主动上报至所述第一数据转发客户端。

第一数据转发客户端接收到第一数据转发服务器反馈的数据包之后,将该接收到的数据包写入到所述第一接口节点,以通过第一数据读写转发模块传输至第二数据转发客户端,即将本端第一调制解调器中的数据包传输给外接设备的第一应用处理器中。

在本发明中实施例中,所述第一数据转发客户端所在的数据转发进程模块(data_forward模块),包括两种设置方案:

方案一,该data_forward模块可以添加到ril(radiointerfacelayer,无线接口层)进程中。

方案二,该data_forward模块可以独立到自己的进程模块中,即所述第一数据转发客户端所在的数据转发进程模块,位于移动终端新增的模块中。

应当理解的是,由于ril进程本身已经具有很多权限,因此采用方案一的优势是减少开发难度,可以避免遇到selinux(安全增强式linux)以及socket等大部分权限问题;劣势是该data_forward模块的稳定性会影响到通信进程,且后在续扩展此data_forward模块时,会更大的程度会影响到rild进程的稳定,且不方便调试。

采用方案二的优势是该data_forward模块易于移植、扩展,且对系统其它模块的影响不大,且前期方便调试(通过shell中方式启动及kill的方式便可以进行调试);其中,shell是指操作系统中,提供访问内核所提供之服务的程序;kill是指送出一个特定的信号(signal)给行程id为pid的行程,并根据该信号而做特定的动作,若没有指定,预设是送出终止(term)的信号。因此,基于稳定性的考虑,本发明实施例优选采取方案二。

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

上述第一至第四实施例中的数据包传输方法应用于移动终端中,在本实施例中,所述数据包传输方法应用于外接设备。

在本实施例中,所述方法包括:

步骤a,第二数据转发客户端对第二数据读写转发模块连接的第二接口节点进行监听;

步骤b,在所述第二接口节点监听成功时,从所述第二接口节点读取第一数据转发客户端通过第一数据读写转发模块转发的数据包;

步骤c,将读取的数据包发送至第二数据转发服务器。

在本实施例中,所述第二接口节点同样为虚拟串口,即上文提及的usb接口,该第二接口节点位于第二数据读写转发模块所在的一端,该第二接口节点可选用ttygs0节点表示。

本发明中,第二数据转发客户端对第二数据读写转发模块连接的第二接口节点进行监听的方式,以及在监听成功时,读取数据包进行转发的方式与上文第一数据转发客户端的操作过程一致,此处不做赘述。

此外,在所述步骤a之前,所述方法还包括:

步骤d,所述第二数据转发客户端调用预设的客户端框架,以进行初始化;

步骤e,在初始化成功后,所述第二数据转发客户端建立与第二数据转发服务器的连接关系,以便基于建立的连接关系对第二数据读写转发模块连接的第二接口节点进行监听。

此外,在所述步骤a之后,所述方法还包括:

步骤f,在所述第二接口节点监听失败时,所述第二数据转发客户端以预设时间间隔轮询所述第二接口节点,以监听所述第二接口节点,直到所述第二接口节点监听成功。

在本实施例中,客户端框架同样client_framework,所述第二数据转发客户端对客户端框架的初始化过程,以及初始化后的第二接口节点监听过程与第一数据转发客户端一致,此处不再赘述。

需要说明的是,所述第二数据转发客户端以预设时间间隔轮询所述第二接口节点所花费的时间与第一数据转发客户端有所不同,本实施例中,所述第二数据转发客户端轮询的时间比所述第二数据转发客户端的时间长,例如,第二数据转发客户端轮询的时间设置为13s。通过这种设置方式,可以保证

此外,所述方法还包括:

步骤g,所述第二数据转发客户端接收第二数据转发服务器反馈的数据包;

步骤h,将接收到的数据包写入到所述第二数据读写转发模块连接的第二接口节点,以通过第二数据读写转发模块传输至第一数据转发客户端。

本实施例中,所述第二数据转发客户端接收第二数据转发服务器反馈的数据包,并写到第二接口节点以传输至第一数据转发客户端的方式,与第一数据转发客户端的执行过程一致,此处同样不做赘述。

本实施例中,外接设备的第二数据转发客户端同样可以执行数据包传输过程,并且传输过程与移动终端的第一数据转发客户端基本一致,不同之处仅在于第二接口节点与第一接口节点不同,并且第二数据转发客户端轮询第二接口节点所花费的时间比第一数据转发客户端轮询第一接口节点所花费的时间长,

在本发明中实施例中,所述第二数据转发客户端所在的数据转发进程模块(data_forward模块),优选位于外接设备已有的预设模块中。

即,将第二数据转发客户端所在的data_forward模块移植到外接设备已有的预设模块,如mifi(mobilewifi,移动路由器)模块。该mifi模块本身设计是开机自启动的。所以在mifi模块启动时会将data_forward模块拉起来。因此,当外接设备开机加载mifi模块时,由于外接设备的data_forward模块归属于mifi模块,所以开机mifi模块起来后,data_forward模块部分直接就起来了,不用单独再拉起一个进程。

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

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

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

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

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