CN107318105A - 数据包传输系统及方法 - Google Patents

数据包传输系统及方法 Download PDF

Info

Publication number
CN107318105A
CN107318105A CN201710644532.2A CN201710644532A CN107318105A CN 107318105 A CN107318105 A CN 107318105A CN 201710644532 A CN201710644532 A CN 201710644532A CN 107318105 A CN107318105 A CN 107318105A
Authority
CN
China
Prior art keywords
data
packet
module
serial port
virtual serial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201710644532.2A
Other languages
English (en)
Inventor
何利鹏
范传伟
车晓东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nubia Technology Co Ltd
Original Assignee
Nubia Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
Priority to CN201710644532.2A priority Critical patent/CN107318105A/zh
Publication of CN107318105A publication Critical patent/CN107318105A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data
    • H04W8/205Transfer to or from user equipment or user record carrier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种数据包传输系统及方法,该方法应用于移动终端以及通过预设接口与所述移动终端连接的外接设备,第一多路复用协议模块接收远程数据访问服务器传输的数据包,将接收的数据包写到第一虚拟串口,由第一虚拟串口将数据包传输至第二虚拟串口;第一拦截模块从所述第二虚拟串口中读取数据包,并将读取的数据包转发至第一数据转发服务器,以供所述第一数据转发服务器通过第一数据转发客户端将数据包传输至第一数据读写转发模块;第一数据读写转发模块通过预设接口将数据包传输至外接设备的第二数据读写转发模块,以供第二数据读写转发模块将数据包传输至远程数据访问客户端。本发明实现了移动终端和外接设备的数据传输。

Description

数据包传输系统及方法
技术领域
本发明涉及通信技术领域,尤其涉及一种数据包传输系统及方法。
背景技术
随着移动通信技术的发展,移动终端已经成为用户随身携带,必不可少的电子设备。在运营商和各大OEM(Original Equipment Manufacturer,原始设备制造商)厂商的牵头下,3G(3rd Generation,第三代移动通信技术)、4G(the 4th Generation MobileCommunication Technology,第四代移动通信技术)、CA(Carrier Aggregation,应用载波聚合技术)以及最新的5G(5th-Generation,第五代移动通信技术)应运而生,这些技术的目的是为了提高用户的上网带宽。在此种背景下,一种提高用户上网带宽的方式也悄然而生,移动终端连接两个调制解调器,每个调制解调器都有对应的SIM(SubscriberIdentification Module)卡,且每个调制解调器都可以独立上网,然后在上层将用户访问的网络根据实际情况进行两个数据网络的网速叠加,从而达到提高上网带宽的目的。由于运营商对传统用户上网带宽的垄断和限制,终端厂商可以通过该网速叠加技术方案加大用户上网带宽,有效的整合了移动终端中两张SIM卡的上网资源,并实现了DSDA(Dual SIMdual active,双卡双通),以及双卡双LTE(Long Term Evolution,长期演进)待机。
因此,为了使移动终端连接两个调制解调器,需要将移动终端与含有调制解调器的外接设备进行连接。以实现移动终端和外接设备之间的数据传输,但是,移动终端和外接设备的连接是在应用处理器中连接,而数据包从调制解调器发出,由于调制解调器之间跨设备,没有物理链路相连,导致数据包无法传输。
发明内容
本发明的主要目的在于提出一种数据包传输系统及方法,旨在解决移动终端通过外接设备实现双LTE通信过程中,外接设备和移动终端之间的数据包无法传输的技术问题。
为实现上述目的,本发明提供的一种数据包传输系统,所述数据包传输系统包括移动终端,以及通过预设接口与所述移动终端连接的外接设备;所述移动终端包括第一应用处理器,以及与第一用户识别卡和第二用户识别卡连接的第一调制解调器,所述第一调制解调器包括远程数据访问服务器、配置有第一虚拟串口的第一多路复用协议模块、配置有第二虚拟串口的第一拦截模块以及第一数据转发服务器,所述第一应用处理器包括第一数据读写转发模块和与所述第一数据转发服务器连接的第一数据转发客户端;所述外接设备包括第二应用处理器和第二调制解调器,所述第二调制解调器包括远程数据访问客户端,所述第二应用处理器包括通过所述预设接口与所述第一数据读写转发模块连接的第二数据读写转发模块;
第一多路复用协议模块,用于接收远程数据访问服务器传输的数据包,将接收的数据包写到第一虚拟串口,由第一虚拟串口将数据包传输至第二虚拟串口;
所述第一拦截模块,用于从所述第二虚拟串口中读取数据包,并将读取的数据包转发至第一数据转发服务器,以供所述第一数据转发服务器通过第一数据转发客户端将数据包传输至第一数据读写转发模块;
所述第一数据读写转发模块,用于通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端,所述预设接口包括以太网控制模型端口,所述以太网控制模型端口包括数据管道和控制管道。
可选地,所述第一调制解调器还包括驱动,所述驱动用于配置第一虚拟串口和第二虚拟串口,并对第一多路复用协议模块和第一拦截模块进行初始化,以将第一虚拟串口配置到第一多路复用协议模块,将第二虚拟串口配置到第一拦截模块。
可选地,所述第一数据读写转发模块,还用于通过所述预设接口接收第二数据读写转发模块发送的数据包,并将接收到的数据包传输至所述第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据转发服务器;
所述第一数据转发服务器,还用于对接收到的数据包进行解包,并在解析出结束标识时,将解包后的数据传输至第一拦截模块;
所述第一拦截模块,还用于将数据写到第二虚拟串口中,再由第二虚拟串口将数据传输至第一虚拟串口;
所述第一多路复用协议模块,还用于从所述第一虚拟串口中读取数据,并将读取的数据传输至所述远程数据访问服务器。
可选地,所述第一数据转发服务器,还用于若解析出中间标识,则将解包后的数据缓存至临时缓冲区中,以便后续接收到的数据包解包后若携带结束标识,将携带结束标识的数据以及临时缓冲区中的数据组合后传输至所述第一拦截模块中。
可选地,所述预设接口还包括调试端口,所述调试端口用于调试数据。
此外,为实现上述目的,本发明还提出一种数据包传输方法,应用于移动终端以及通过预设接口与所述移动终端连接的外接设备,所述移动终端包括第一应用处理器,以及与第一用户识别卡和第二用户识别卡连接的第一调制解调器,所述第一调制解调器包括远程数据访问服务器、配置有第一虚拟串口的第一多路复用协议模块、配置有第二虚拟串口的第一拦截模块以及第一数据转发服务器,所述第一应用处理器包括第一数据读写转发模块和与所述第一数据转发服务器连接的第一数据转发客户端;所述外接设备包括第二应用处理器和第二调制解调器,所述第二调制解调器包括远程数据访问客户端,所述第二应用处理器包括通过所述预设接口与所述第一数据读写转发模块连接的第二数据读写转发模块;所述方法包括:
第一多路复用协议模块接收远程数据访问服务器传输的数据包,将接收的数据包写到第一虚拟串口,由第一虚拟串口将数据包传输至第二虚拟串口;
所述第一拦截模块从所述第二虚拟串口中读取数据包,并将读取的数据包转发至第一数据转发服务器,以供所述第一数据转发服务器通过第一数据转发客户端将数据包传输至第一数据读写转发模块;
所述第一数据读写转发模块通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端,所述预设接口包括以太网控制模型端口,所述以太网控制模型端口包括数据管道和控制管道。
可选地,所述第一多路复用协议模块接收远程数据访问服务器传输的数据包的步骤之前,所述方法还包括:
通过驱动配置第一虚拟串口和第二虚拟串口,由所述驱动对第一多路复用协议模块和第一拦截模块进行初始化,以将第一虚拟串口配置到第一多路复用协议模块,将第二虚拟串口配置到第一拦截模块。
可选地,所述数据包传输方法还包括:
所述第一数据读写转发模块通过所述预设接口接收第二数据读写转发模块发送的数据包,并将接收到的数据包传输至所述第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据转发服务器;
所述第一数据转发服务器对接收到的数据包进行解包,并在解析出结束标识时,将解包后的数据传输至第一拦截模块;
所述第一拦截模块将数据写到第二虚拟串口中,再由第二虚拟串口将数据传输至第一虚拟串口;
所述第一多路复用协议模块从所述第一虚拟串口中读取数据,并将读取的数据传输至所述远程数据访问服务器。
可选地,所述第一数据转发服务器对接收到的数据包进行解包的步骤之后,所述方法还包括:
若解析出中间标识,则所述第一数据转发服务器将解包后的数据缓存至临时缓冲区中,以便后续接收到的数据包解包后若携带结束标识,将携带结束标识的数据以及临时缓冲区中的数据组合后传输至所述第一拦截模块中。
可选地,所述预设接口还包括调试端口,所述调试端口用于调试数据。
本发明提供一种数据包传输系统及方法,第一多路复用协议模块接收远程数据访问服务器传输的数据包,并将接收的数据包写到第一虚拟串口,由第一虚拟串口将数据包传输至第二虚拟串口,所述第一拦截模块从所述第二虚拟串口中读取数据包,并将读取的数据包转发至第一数据转发服务器,以供所述第一数据转发服务器通过第一数据转发客户端将数据包传输至第一数据读写转发模块,所述第一数据读写转发模块再通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端。本发明中,第一多路复用协议模块截取远程数据访问服务器传输的数据包,并将截取的数据包通过第一虚拟串口、第二虚拟串口、第一拦截模块、第一数据转发服务器、第一数据转发客户端和所述第一数据读写转发模块传输给外接设备,以实现移动终端和外接设备之间的数据传输。
附图说明
图1为本发明一实施例的LTE网络架构的示意图;
图2为本发明移动终端和外接设备通讯连接的一种实体结构示意图;
图3为本发明移动终端和外接设备通讯连接的一种硬件结构示意图;
图4为本发明移动终端和外接设备通讯连接的内部硬件结构示意图;
图5为本发明中数据包传输方法第一实施例的流程示意图;
图6为本发明中数据包传输方法第二实施例的流程示意图;
图7为本发明中数据包传输方法第三实施例的流程示意图;
图8为本发明中预设接口的内部硬件结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意结合。
为了对本发明的技术特征、目的和效果有更加清楚的理解,现在将参考附图描述实现本发明各个实施例的移动终端。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
图1是本发明一实施例的LTE网络架构的示意图。本发明一实施例的LTE网络架构包括:一个或多个移动终端(user equipment,UE)100、外接设备200、E-UTRAN(EvolvedUMTS Terrestrial Radio Access Network,演进的UMTS陆地无线接入网)(图中未标号)、演进分组核心(EPC)(图中未标号)、归属订户服务器(HSS)107、网络(例如,因特网)(图中未标号)以及电路交换系统(图中未标号)。
E-UTRAN包括演进B节点(eNodeB)101和其它eNodeB 102。eNodeB 101提供朝向移动终端100的用户面和控制面的协议终接。eNodeB 101可经由X2接口连接到其他eNodeB。eNodeB 101也可称为基站、基收发机站、无线电基站、无线电收发机、收发机功能、基本服务集、扩展服务集、或其他某个合适的术语。eNodeB 101为移动终端100提供去往EPC的接入点。
eNodeB 101通过S1接口连接到EPC。EPC包括移动管理实体(EEM)104、其他移动管理实体106、服务网关103,以及分组数据网络(PDN)网关105。移动管理实体104是处理移动终端100与EPC之间的信令的控制节点。移动管理实体104提供承载和连接管理。所有用户IP分组通过服务网关103来传递,服务网关103自身连接到PDN网关105。PDN网关105提供UE IP地址分配以及其他功能。PDN网关105连接到网络,例如,因特网。
电路交换系统包括交互解决方案模块(IWS)108、移动交换中心(MSC)109、基站110和移动站111。在一个方面,电路交换系统可以通过IWS和MME(Mobility ManagementEntity,移动管理实体)与EPS(Evolved Packet System,演进的分组系统)进行通信。
移动终端100通过预设接口,如USB(Universal Serial Bus,通用串行总线)数据线与外接设备200通讯连接。
图2为本发明移动终端100和外接设备200通讯连接的实体示意图。
如图2所示,移动终端100通过USB数据线与外接设备200通讯连接,其中,所述移动终端包括但不限于手机、PC(Personal Computer,个人电脑)或PAD(Personal DigitalAssistant,个人数字助理),所述外接设备200可选为无线上网卡或数据卡。
图3为本发明实施例中移动终端和外接设备通讯连接的一种硬件结构示意图。
在本发明实施例中,移动终端100通过USB与外接设备200连接。移动终端100包括第一处理芯片001和与第一处理芯片001连接的第一射频模块12。其中,第一处理芯片001包括第一应用处理器(Application Processor)10、与第一用户识别卡13和第二用户识别卡14连接的第一调制解调器11(modem1)和RPM(Resource Power Manager,资源电源管理器)15。外接设备200包括第二处理芯片002和与第二处理芯片002连接的第二射频模块22。其中,第二处理芯片002包括第二应用处理器20和第二调制解调器(modem2)21。用户识别卡为SIM卡。
第一应用处理器10和第二应用处理器20的内部框架包括应用层、框架层等,可处理复杂的逻辑操作以及进行任务分配等。在一个实施例中,应用处理器指Android操作系统,以及基于Android操作系统的各种apk(Android Package,安卓安装包)。第一应用处理器10和第二应用处理器20通过USB实现连接,为用户提供交互接口,将用户输入的操作指令(例如,用户通过用户界面输入的有关启动视频通话的操作指令)传输给第一调制解调器11或第二调制解调器21,以实现两个处理器之间数据的定义与传递,例如,进行两个应用处理器的休眠、唤醒、同步的控制、开关机时芯片启动顺序的控制等。
第一应用处理器10通过USB与第二应用处理器20连接,以实现移动终端100与外接设备200之间的连接。在本发明实施例中,USB复用出三条数据通道,分别用于第一应用处理器10和第二应用处理器20之间用户数据、信令数据和SIM卡鉴权数据的交互。即第一应用处理器10和第二应用处理器20通过USB传输用户数据、信令数据和SIM卡鉴权数据。其中,用户数据包括但不限于上网产生的数据,图片和聊天信息数据;信令数据包括但不限于开关机的控制数据,开关飞行模式的控制数据,显示状态信号的控制数据;SIM卡鉴权数据包括但不限于IMSI(International Mobile Subscriber Identification Number,国际移动用户识别码)和Ki(key identifier,鉴权密钥)。
具体地,第一应用处理器10和第二应用处理器20通过OTG(On-The-Go)技术进行数据交互。通过OTG技术,移动终端100中的第一调制解调器11可通过第二用户识别卡14或第一用户识别卡13中的SIM卡参数来接入eNodeB 101,第二调制解调器21可通过第二用户识别卡14或第一用户识别卡13的SIM卡参数来接入eNodeB 101,SIM卡参数包括但不限于SIM卡鉴权数据。
第一调制解调器11和第二调制解调器21包含各种网络交互的网络制式的协议栈,协议栈包含LTE/WCDMA(Wideband Code Division Multiple Access,宽带码分多址)/GSM(Global System for Mobile Communication,全球移动通信系统)/TD-SCDMA(TimeDivision-Synchronous Code Division Multiple Access,同步时分码分多址)/CDMA(Code Division Multiple Access,码分多址)/EDGE(Enhanced Data Rate for GSMEvolution,强型数据速率GSM演进技术)等通讯标准里边规定的协议代码。移动终端100通过协议与运营商网络进行交互,即进行数据流量上网、VOLTE(Voice Over LTE)打电话或者CS(Circuit Switched,电路交换)域打电话。第一调制解调器11和第二调制解调器21还用于对SIM卡的管控等等。
在本发明实施例中,第一射频模块12用于将移动终端100传输的数据处理后传给eNodeB 101(基站网络),以及用于将eNodeB 101传输的数据处理后传给移动终端100。第二射频模块22用于将外接设备200传输的数据处理后传给eNodeB 101(基站网络),以及用于将eNodeB 101传输的数据处理后传给外接设备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(PowerManagement IC,电源管理集成电路,即各个芯片的电压)、DDR(内存分配),以及管理芯片的休眠唤醒的中断和应用处理器唤醒的截止时间。移动终端100的各个子系统,在需要资源时,向RPM15申请资源,各个子系统分别包括第一应用处理器10,第一调制解调器11、PRONTO(WIFI/蓝牙、NFC(Near Field Communication,近场通信)等)、LPASS(Low power audiosubsystem,低功耗音频子系统),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(User Identity Module)驱动112、第一SIM卡模块代理113、远程SIM数据访问_server(远程数据访问服务器)114、第一QMUX(QMIMultiplexing Protoco,QMI的多路复用协议,简称第一多路复用协议模块)115、第一拦截模块116和数据转发_server1(第一数据转发服务器)117。第一应用处理器10包括数据转发_client1(第一数据转发客户端)011和第一数据读写转发模块012。
第二调制解调器21包括modem非接入层部分212、第二SIM卡模块代理213、远程SIM数据访问_client(远程数据访问客户端)214、第二QMUX(QMI Multiplexing Protoco,QMI的多路复用协议,简称第二多路复用协议模块)215、第二拦截模块216和数据转发_server2(第二数据转发服务器)217,第二应用处理器20包括数据转发_client2(第二数据转发客户端)021和第二数据读写转发模块022。
其中,UIM驱动112存储了接入网络必须的数据,如UIM ID(Identification,身份)、鉴权数据、IMSI号等。
远程SIM数据访问_server114和远程SIM数据访问_client214用于实现第一调制解调器11和第二调制解调器21之间SIM卡数据的传输。
第一多路复用协议模块115用于截取远程SIM数据访问_server114中所需传输的SIM卡数据;第二多路复用协议模块215用于截取远程SIM数据访问_client214中所需传输的SIM卡数据。通过第一拦截模块116和第二拦截模块216实现远程SIM数据访问_server114和远程SIM数据访问_client214中SIM卡数据的交互,具体地:第一拦截模块116或第二拦截模块216截取到数据之后,将截取的数据传输至第一数据转发服务器117或第二数据转发服务器217,以实现数据的传输。
第二数据转发服务器217和第二数据转发客户端021相对应,用于实现第二调制解调器21和第二应用处理器20之间的数据传输;第一数据转发服务器117和第一数据转发客户端011相对应,用于实现第一调制解调器11和第一应用处理器10之间的数据传输。
第一数据读写转发模块012和第二数据读写转发模块022用于通过USB实现第二应用处理器20和第一应用处理器10之间的数据传输。
在本实施例中,第一多路复用协议模块115靠近第一拦截模块116的一端配置有第一虚拟串口,第一拦截模块116靠近第一多路复用协议模块115的一端配置有第二虚拟串口,第一虚拟串口和第二虚拟串口是成对的虚拟串口,这一对虚拟串口之间的数据可以自动传输。当第一多路复用协议模块115截取到数据,并放置到第一虚拟串口时,数据自动从第一虚拟串口传输至第二虚拟串口,第一拦截模块116从第二虚拟串口提取数据,即可完成第一多路复用协议模块115和第一拦截模块116之间的数据传输。第二多路复用协议模块215和第二拦截模块216同样配置有成对的虚拟串口,具体的数据传输过程一致,此处不做赘述。
在本发明实施例中,需要说明的是,由于移动终端和外接设备都包含有应用处理器和调制解调器,且第一数据转发服务器117和第二数据转发服务器217位于调制解调器,第一数据转发客户端011和第二数据转发客户端021位于应用处理器。因此,本实施例中,数据包传输过程发生在移动终端和外接设备之间,并且移动终端的数据转发机制和外接设备的数据转发机制一致,本发明的各个实施例中,以移动终端为执行主体,详述数据包传输过程,但是本领域技术人员应当理解的是,当用外接设备替换本发明中的移动终端时,同样可以实现本发明的数据包传输过程。
具体地,移动终端发数据:
远程数据访问服务器114-第一QMUX115-第一拦截模块116-第一数据转发服务器117-第一数据转发客户端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、配置有第一虚拟串口的第一多路复用协议模块115、配置有第二虚拟串口的第一拦截模块116以及第一数据转发服务器117,所述第一应用处理器10包括第一数据读写转发模块012和与所述第一数据转发服务器116连接的第一数据转发客户端011;所述外接设备200包括第二应用处理器20和第二调制解调器21,所述第二调制解调器21包括远程数据访问客户端214,所述第二应用处理器20包括通过所述预设接口与所述第一数据读写转发模块012连接的第二数据读写转发模块022;
第一多路复用协议模块,用于接收远程数据访问服务器传输的数据包,将接收的数据包写到第一虚拟串口,由第一虚拟串口将数据包传输至第二虚拟串口;
所述第一拦截模块,用于从所述第二虚拟串口中读取数据包,并将读取的数据包转发至第一数据转发服务器,以供所述第一数据转发服务器通过第一数据转发客户端将数据包传输至第一数据读写转发模块;
所述第一数据读写转发模块,用于通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端,所述预设接口包括以太网控制模型端口,所述以太网控制模型端口包括数据管道和控制管道。
在本实施例中,移动终端的第一调制解调器中的远程数据访问服务器先发送数据包至第一多路复用协议模块,该数据包是从第一用户识别卡或第二用户识别卡中获取的数据包,第一多路复用协议模块截取该数据包,然后将截取的数据包缓存至第一虚拟串口,由于第一虚拟串口和第二虚拟串口是成对存在的虚拟串口,因此,第一虚拟串口中的数据包可传输至第二虚拟串口中,当数据包传输至第二虚拟串口时,第一拦截模块可从该第二虚拟串口中读取数据,并将读取的数据传输至第一数据转发服务器,由该第一数据转发服务器将数据包传输至第一数据转发客户端,再由第一数据转发客户端再将数据包传输至第一数据读写转发模块。
需要说明的是,当第一数据转发服务器获取到数据包之后,需要对数据包的容量值进行解析,以确定数据包的容量值是否超出预设阈值,若数据包的容量值超出所述预设阈值,则对所述数据包进行拆分,得到各个数据包,然后在拆分后的各个数据包中,对中间数据包添加中间标识,该中间标识用第二预设值表示,如flag=0,对结束数据包添加结束标识,该结束标识用第一预设值表示,如flag=1,然后将添加有标识的各个数据包发送至第一数据转发客户端。第一数据转发客户端接收到数据包之后,将数据包通过第一数据读写转发模块转发至外接设备的第二数据读写转发模块。
当所述第一数据读写转发模块接收到数据包之后,通过预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端,本实施例中,所述预设接口即USB接口,USB接口可包括网络端口,该网络端口可选为以太网控制模型端口(Communication Device Class Ethernet NetworkingControl Model,CDC ECM,通信设备类-以太网控制模型),该以太网控制模型端口包括数据管道和控制管道,数据管道用于传输网络数据,即TCP(Transmission Control Protocol,传输控制协议)/IP(Internet Protocol,网际协议)的数据的传输,控制管道用于传输SIM卡数据,即用户识别卡数据。本实施例中,所述数据管道的个数不做限定,可以为一个,也可以多个,控制管道的个数为一个。
本发明实施例中,远程数据访问服务器获取的数据是SIM卡数据,因此第一数据读写转发模块从控制管道中将数据包传输给外接设备的第二数据读写转发模块。
本实施例提出的技术方案,第一多路复用协议模块接收远程数据访问服务器传输的数据包,并将接收的数据包写到第一虚拟串口,由第一虚拟串口将数据包传输至第二虚拟串口,所述第一拦截模块从所述第二虚拟串口中读取数据包,并将读取的数据包转发至第一数据转发服务器,以供所述第一数据转发服务器通过第一数据转发客户端将数据包传输至第一数据读写转发模块,所述第一数据读写转发模块再通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端。本发明中,第一多路复用协议模块截取远程数据访问服务器传输的数据包,并将截取的数据包通过第一虚拟串口、第二虚拟串口、第一拦截模块、第一数据转发服务器、第一数据转发客户端和所述第一数据读写转发模块传输给外接设备,以实现移动终端和外接设备之间的数据传输。
进一步地,提出本发明数据包传输系统的第二实施例。
数据包传输系统的第二实施例与第一实施例的区别在于:所述第一调制解调器还包括驱动,所述驱动,用于配置第一虚拟串口和第二虚拟串口,并对第一多路复用协议模块和第一拦截模块进行初始化,以将第一虚拟串口配置到第一多路复用协议模块,将第二虚拟串口配置到第一拦截模块。
在本实施例中,移动终端先通过驱动配置一对虚拟串口,分别是第一虚拟串口和第二虚拟串口,这一对虚拟串口用于收发数据,即一个虚拟串口用于收数据,传输至另一个虚拟串口用于发数据,两个虚拟串口收发数据不做限定,根据实际情况进行收发数据,即每个虚拟串口都可以发数据,也可以收数据。
当驱动配置完一对虚拟串口之后,该驱动对第一多路复用协议模块和第一拦截模块进行初始化,以将第一虚拟串口配置到第一多路复用协议模块,将第二虚拟串口配置到第一拦截模块。具体地:先调用第一多路复用协议模块的靠近第一拦截模块的接口,如add_port以将第一虚拟串口配置到第一多路复用协议模块中。然后调用第一拦截模块靠近第一多路复用协议模块的端口,以将第二虚拟串口配置到第一拦截模块中,通过这对虚拟串口,第一多路复用协议模块和第一拦截模块之间可以相互传输数据。
在本实施例中,通过驱动配置一对虚拟串口,并将一对虚拟串口分别配置到第一多路复用协议模块和第一拦截模块,以实现第一多路复用协议模块和第一拦截模块之间的数据拦截传输过程。可以理解,这种情况下,无须将第一拦截模块内嵌到第一多路复用协议模块实现数据拦截,避免了第一多路复用协议模块中底层代码的修改,减小了第一拦截模块和第一多路复用协议模块之间的耦合,避免了两个模块之间的相互影响,使得功能更加简单。
进一步地,提出本发明数据包传输系统的第三实施例。
数据包传输系统的第三实施例与数据包传输系统的第一或第二实施例的区别在于,所述第一数据读写转发模块,还用于通过所述预设接口接收第二数据读写转发模块发送的数据包,并将接收到的数据包传输至所述第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据转发服务器;
所述第一数据转发服务器,还用于对接收到的数据包进行解包,并在解析出结束标识时,将解包后的数据传输至第一拦截模块;
所述第一拦截模块,还用于将数据写到第二虚拟串口中,再由第二虚拟串口将数据传输至第一虚拟串口;
所述第一多路复用协议模块,还用于从所述第一虚拟串口中读取数据,并将读取的数据传输至所述远程数据访问服务器。
在本实施例中,所述第一数据读写转发模块通过所述预设接口接收第二数据读写转发模块发送的数据包,先将接收到的数据包传输至所述第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据转发服务器。
第一数据转发服务器接收到数据包之后,对数据包执行解包操作得到数据,并对解开后的数据的flag标识信息进行识别,本实施例中,在flag标识信息为第一预设值时,如flag=1,此时,表示该数据包是最后一个数据包,可将解包后的数据传输至第一拦截模块。所述第一拦截模块接收到数据之后,将数据写到第二虚拟串口中,再由第二虚拟串口将数据传输至第一虚拟串口,以供第一多路复用协议模块从所述第一虚拟串口中读取数据,并将读取的数据传输至所述远程数据访问服务器。
在本实施例中,移动终端可接收外接设备传送到的数据包,并对接收的数据包进行处理,从而实现移动终端和外接设备的通信。
进一步地,提出本发明数据包传输系统的第四实施例。
数据包传输系统的第四实施例与第三实施例的区别在于:所述第一数据转发服务器,还用于若解析出中间标识,则将解包后的数据缓存至临时缓冲区中,以便后续接收到的数据包解包后若携带结束标识,将携带结束标识的数据以及临时缓冲区中的数据组合后传输至所述第一拦截模块中。
在本实施例中,若该数据包的flag标识信息为第二预设值时,如flag=0,认为该数据包不是最后一个数据包,此时,第一数据转发服务器将接收到的数据缓存至临时缓缓冲区中,并继续接收数据包,仅在接收到数据包对应的flag标识信息为第一预设值时,才将携带结束标识的数据以及临时缓冲区中的数据组合后传输至所述第一拦截模块。
在本实施例中,第一数据转发服务器解析出数据包携带中间标识时,说明书当前接收到的数据包是中间数据包,从外接设备发送过来的数据包还没有发送完成,此时,先缓存中间数据包,以便接收到结束数据包时,才组合进行发送,防止发生丢包的情况。
进一步地,提出本发明数据包传输系统的第五实施例。
数据包传输系统的第五实施例与第一至第四实施例的区别在于:所述预设接口还包括调试端口,所述调试端口用于调试数据。
在本实施例中,预设接口的内部硬件结构示意图可参照图8,如图8所示,所述预设接口包括以太网控制模型端口,所述以太网控制模型端口包括数据管道和控制管道。
进一步地,本发明实施例中,预设接口除了包括以太网控制模型端口,还可以包括调试端口,该调试端口可选为diag(diagnostics,调试)/adb(Android Debug Bridge,安卓调试桥)端口,用于调试数据。
本发明实施例中,继续参照图8,数据管道、控制管道和调试端口的两端分别连接到第一应用处理器10和第二应用处理器20。需要说明的是,移动终端的第一应用处理器10的角色是host(主机),外接设备的第二应用处理器20的角色是device(设备)。在数据管道、控制管道和调试端口两端分别连接到第一应用处理器10和第二应用处理器20的情况下,第一应用处理器10和第二应用处理器20分别设置有USB host驱动和USB device驱动,USBhost驱动和USB device驱动又分别设置有对应的数据管道驱动、控制管道驱动和调试端口驱动。
本发明实施例中,以太网控制模型端口中数据管道和控制管道的驱动文件不同,并且以太网控制模型端口中数据管道和控制管道在第一应用处理器10与第二应用处理器20中的驱动文件也不相同。移动终端和外接设备通过USB接口中的以太网控制模型端口连接,实现网络数据和SIM卡数据的传输。
本发明进一步提供一种数据包传输方法。
参照图5,图5为本发明数据包传输方法第一实施例的流程示意图。
本实施例提出一种数据包传输方法,在本实施例中,提供了数据包传输方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明中,数据包传输方法应用于移动终端100以及通过预设接口与所述移动终端连接的外接设备200,所述移动终端100包括第一应用处理器10,以及与第一用户识别卡13和第二用户识别卡14连接的第一调制解调器11,所述第一调制解调器11包括远程数据访问服务器114、配置有第一虚拟串口的第一多路复用协议模块115、配置有第二虚拟串口的第一拦截模块116以及第一数据转发服务器117,所述第一应用处理器10包括第一数据读写转发模块012和与所述第一数据转发服务器116连接的第一数据转发客户端011;所述外接设备200包括第二应用处理器20和第二调制解调器21,所述第二调制解调器21包括远程数据访问客户端214,所述第二应用处理器20包括通过所述预设接口与所述第一数据读写转发模块012连接的第二数据读写转发模块022;所述方法包括:
步骤S10,第一多路复用协议模块接收远程数据访问服务器传输的数据包,将接收的数据包写到第一虚拟串口,由第一虚拟串口将数据包传输至第二虚拟串口;
步骤S20,所述第一拦截模块从所述第二虚拟串口中读取数据包,并将读取的数据包转发至第一数据转发服务器,以供所述第一数据转发服务器通过第一数据转发客户端将数据包传输至第一数据读写转发模块;
步骤S30,所述第一数据读写转发模块通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端,所述预设接口包括以太网控制模型端口,所述以太网控制模型端口包括数据管道和控制管道。
在本实施例中,移动终端的第一调制解调器中的远程数据访问服务器先发送数据包至第一多路复用协议模块,该数据包是从第一用户识别卡或第二用户识别卡中获取的数据包,第一多路复用协议模块截取该数据包,然后将截取的数据包缓存至第一虚拟串口,由于第一虚拟串口和第二虚拟串口是成对存在的虚拟串口,因此,第一虚拟串口中的数据包可传输至第二虚拟串口中,当数据包传输至第二虚拟串口时,第一拦截模块可从该第二虚拟串口中读取数据,并将读取的数据传输至第一数据转发服务器,由该第一数据转发服务器将数据包传输至第一数据转发客户端,再由第一数据转发客户端再将数据包传输至第一数据读写转发模块。
需要说明的是,当第一数据转发服务器获取到数据包之后,需要对数据包的容量值进行解析,以确定数据包的容量值是否超出预设阈值,若数据包的容量值超出所述预设阈值,则对所述数据包进行拆分,得到各个数据包,然后在拆分后的各个数据包中,对中间数据包添加中间标识,该中间标识用第二预设值表示,如flag=0,对结束数据包添加结束标识,该结束标识用第一预设值表示,如flag=1,然后将添加有标识的各个数据包发送至第一数据转发客户端。第一数据转发客户端接收到数据包之后,将数据包通过第一数据读写转发模块转发至外接设备的第二数据读写转发模块。
当所述第一数据读写转发模块接收到数据包之后,通过预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端,本实施例中,所述预设接口即USB接口,USB接口可包括网络端口,该网络端口可选为以太网控制模型端口(Communication Device Class Ethernet NetworkingControl Model,CDC ECM,通信设备类-以太网控制模型),该以太网控制模型端口包括数据管道和控制管道,数据管道用于传输网络数据,即TCP(Transmission Control Protocol,传输控制协议)/IP(Internet Protocol,网际协议)的数据的传输,控制管道用于传输SIM卡数据,即用户识别卡数据。本实施例中,所述数据管道的个数不做限定,可以为一个,也可以多个,控制管道的个数为一个。
本发明实施例中,远程数据访问服务器获取的数据是SIM卡数据,因此第一数据读写转发模块从控制管道中将数据包传输给外接设备的第二数据读写转发模块。
本实施例提出的技术方案,第一多路复用协议模块接收远程数据访问服务器传输的数据包,并将接收的数据包写到第一虚拟串口,由第一虚拟串口将数据包传输至第二虚拟串口,所述第一拦截模块从所述第二虚拟串口中读取数据包,并将读取的数据包转发至第一数据转发服务器,以供所述第一数据转发服务器通过第一数据转发客户端将数据包传输至第一数据读写转发模块,所述第一数据读写转发模块再通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端。本发明中,第一多路复用协议模块截取远程数据访问服务器传输的数据包,并将截取的数据包通过第一虚拟串口、第二虚拟串口、第一拦截模块、第一数据转发服务器、第一数据转发客户端和所述第一数据读写转发模块传输给外接设备,以实现移动终端和外接设备之间的数据传输。
进一步地,参照图6,提出本发明数据包传输方法的第二实施例。
数据包传输方法的第二实施例与数据包传输方法的第一实施例的区别在于,所述步骤S10之前,所述方法还包括:
步骤S40,通过驱动配置第一虚拟串口和第二虚拟串口,由所述驱动对第一多路复用协议模块和第一拦截模块进行初始化,以将第一虚拟串口配置到第一多路复用协议模块,将第二虚拟串口配置到第一拦截模块。
在本实施例中,移动终端先通过驱动配置一对虚拟串口,分别是第一虚拟串口和第二虚拟串口,这一对虚拟串口用于收发数据,即一个虚拟串口用于收数据,传输至另一个虚拟串口用于发数据,两个虚拟串口收发数据不做限定,根据实际情况进行收发数据,即每个虚拟串口都可以发数据,也可以收数据。
当驱动配置完一对虚拟串口之后,该驱动对第一多路复用协议模块和第一拦截模块进行初始化,以将第一虚拟串口配置到第一多路复用协议模块,将第二虚拟串口配置到第一拦截模块。具体地:先调用第一多路复用协议模块的靠近第一拦截模块的接口,如add_port以将第一虚拟串口配置到第一多路复用协议模块中。然后调用第一拦截模块靠近第一多路复用协议模块的端口,以将第二虚拟串口配置到第一拦截模块中,通过这对虚拟串口,第一多路复用协议模块和第一拦截模块之间可以相互传输数据。
在本实施例中,通过驱动配置一对虚拟串口,并将一对虚拟串口分别配置到第一多路复用协议模块和第一拦截模块,以实现第一多路复用协议模块和第一拦截模块之间的数据拦截传输过程。可以理解,这种情况下,无须将第一拦截模块内嵌到第一多路复用协议模块实现数据拦截,避免了第一多路复用协议模块中底层代码的修改,减小了第一拦截模块和第一多路复用协议模块之间的耦合,避免了两个模块之间的相互影响,使得功能更加简单。
进一步地,参照图7,提出本发明数据包传输方法的第三实施例。
数据包传输方法的第三实施例与数据包传输方法的第一或二实施例的区别在于,所述数据包传输方法还包括:
步骤S50,所述第一数据读写转发模块通过所述预设接口接收第二数据读写转发模块发送的数据包,并将接收到的数据包传输至所述第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据转发服务器;
步骤S60,所述第一数据转发服务器对接收到的数据包进行解包,并在解析出结束标识时,将解包后的数据传输至第一拦截模块;
步骤S70,所述第一拦截模块将数据写到第二虚拟串口中,再由第二虚拟串口将数据传输至第一虚拟串口;
步骤S80,所述第一多路复用协议模块从所述第一虚拟串口中读取数据,并将读取的数据传输至所述远程数据访问服务器。
在本实施例中,所述第一数据读写转发模块通过所述预设接口接收第二数据读写转发模块发送的数据包,先将接收到的数据包传输至所述第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据转发服务器。
第一数据转发服务器接收到数据包之后,对数据包执行解包操作得到数据,并对解开后的数据的flag标识信息进行识别,本实施例中,在flag标识信息为第一预设值时,如flag=1,此时,表示该数据包是最后一个数据包,可将解包后的数据传输至第一拦截模块。所述第一拦截模块接收到数据之后,将数据写到第二虚拟串口中,再由第二虚拟串口将数据传输至第一虚拟串口,以供第一多路复用协议模块从所述第一虚拟串口中读取数据,并将读取的数据传输至所述远程数据访问服务器。
在本实施例中,移动终端可接收外接设备传送到的数据包,并对接收的数据包进行处理,从而实现移动终端和外接设备的通信。
进一步地,提出本发明数据包传输方法的第四实施例。
数据包传输方法的第四实施例与数据包传输方法的第三实施例的区别在于,所述“第一数据转发服务器对接收到的数据包进行解包”的步骤之后,所述方法还包括:
若解析出中间标识,则所述第一数据转发服务器将解包后的数据缓存至临时缓冲区中,以便后续接收到的数据包解包后若携带结束标识,将携带结束标识的数据以及临时缓冲区中的数据组合后传输至所述第一拦截模块中。
在本实施例中,若该数据包的flag标识信息为第二预设值时,如flag=0,认为该数据包不是最后一个数据包,此时,第一数据转发服务器将接收到的数据缓存至临时缓缓冲区中,并继续接收数据包,仅在接收到数据包对应的flag标识信息为第一预设值时,才将携带结束标识的数据以及临时缓冲区中的数据组合后传输至所述第一拦截模块。
在本实施例中,第一数据转发服务器解析出数据包携带中间标识时,说明书当前接收到的数据包是中间数据包,从外接设备发送过来的数据包还没有发送完成,此时,先缓存中间数据包,以便接收到结束数据包时,才组合进行发送,防止发生丢包的情况。
进一步地,提出本发明数据包传输方法的第五实施例。
数据包传输方法的第五实施例与数据包传输方法的第一至第四实施例的区别在于,所述预设接口还包括调试端口,所述调试端口用于调试数据。
在本实施例中,预设接口的内部硬件结构示意图可参照图8,如图8所示,所述预设接口包括以太网控制模型端口,所述以太网控制模型端口包括数据管道和控制管道。
进一步地,本发明实施例中,预设接口除了包括以太网控制模型端口,还可以包括调试端口,该调试端口可选为diag(diagnostics,调试)/adb(Android Debug Bridge,安卓调试桥)端口,用于调试数据。
本发明实施例中,继续参照图8,数据管道、控制管道和调试端口的两端分别连接到第一应用处理器10和第二应用处理器20。需要说明的是,移动终端的第一应用处理器10的角色是host(主机),外接设备的第二应用处理器20的角色是device(设备)。在数据管道、控制管道和调试端口两端分别连接到第一应用处理器10和第二应用处理器20的情况下,第一应用处理器10和第二应用处理器20分别设置有USB host驱动和USB device驱动,USBhost驱动和USB device驱动又分别设置有对应的数据管道驱动、控制管道驱动和调试端口驱动。
本发明实施例中,以太网控制模型端口中数据管道和控制管道的驱动文件不同,并且以太网控制模型端口中数据管道和控制管道在第一应用处理器10与第二应用处理器20中的驱动文件也不相同。移动终端和外接设备通过USB接口中的以太网控制模型端口连接,实现网络数据和SIM卡数据的传输。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据包传输系统,其特征在于,所述数据包传输系统包括移动终端,以及通过预设接口与所述移动终端连接的外接设备;所述移动终端包括第一应用处理器,以及与第一用户识别卡和第二用户识别卡连接的第一调制解调器,所述第一调制解调器包括远程数据访问服务器、配置有第一虚拟串口的第一多路复用协议模块、配置有第二虚拟串口的第一拦截模块以及第一数据转发服务器,所述第一应用处理器包括第一数据读写转发模块和与所述第一数据转发服务器连接的第一数据转发客户端;所述外接设备包括第二应用处理器和第二调制解调器,所述第二调制解调器包括远程数据访问客户端,所述第二应用处理器包括通过所述预设接口与所述第一数据读写转发模块连接的第二数据读写转发模块;
第一多路复用协议模块,用于接收远程数据访问服务器传输的数据包,将接收的数据包写到第一虚拟串口,由第一虚拟串口将数据包传输至第二虚拟串口;
所述第一拦截模块,用于从所述第二虚拟串口中读取数据包,并将读取的数据包转发至第一数据转发服务器,以供所述第一数据转发服务器通过第一数据转发客户端将数据包传输至第一数据读写转发模块;
所述第一数据读写转发模块,用于通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端,所述预设接口包括以太网控制模型端口,所述以太网控制模型端口包括数据管道和控制管道。
2.如权利要求1所述的数据包传输系统,其特征在于,所述第一调制解调器还包括驱动,所述驱动用于配置第一虚拟串口和第二虚拟串口,并对第一多路复用协议模块和第一拦截模块进行初始化,以将第一虚拟串口配置到第一多路复用协议模块,将第二虚拟串口配置到第一拦截模块。
3.如权利要求1所述的数据包传输系统,其特征在于,所述第一数据读写转发模块,还用于通过所述预设接口接收第二数据读写转发模块发送的数据包,并将接收到的数据包传输至所述第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据转发服务器;
所述第一数据转发服务器,还用于对接收到的数据包进行解包,并在解析出结束标识时,将解包后的数据传输至第一拦截模块;
所述第一拦截模块,还用于将数据写到第二虚拟串口中,再由第二虚拟串口将数据传输至第一虚拟串口;
所述第一多路复用协议模块,还用于从所述第一虚拟串口中读取数据,并将读取的数据传输至所述远程数据访问服务器。
4.如权利要求3所述的数据包传输系统,其特征在于,所述第一数据转发服务器,还用于若解析出中间标识,则将解包后的数据缓存至临时缓冲区中,以便后续接收到的数据包解包后若携带结束标识,将携带结束标识的数据以及临时缓冲区中的数据组合后传输至所述第一拦截模块中。
5.如权利要求1-4任一项所述的数据包传输系统,其特征在于,所述预设接口还包括调试端口,所述调试端口用于调试数据。
6.一种数据包传输方法,其特征在于,应用于移动终端以及通过预设接口与所述移动终端连接的外接设备,所述移动终端包括第一应用处理器,以及与第一用户识别卡和第二用户识别卡连接的第一调制解调器,所述第一调制解调器包括远程数据访问服务器、配置有第一虚拟串口的第一多路复用协议模块、配置有第二虚拟串口的第一拦截模块以及第一数据转发服务器,所述第一应用处理器包括第一数据读写转发模块和与所述第一数据转发服务器连接的第一数据转发客户端;所述外接设备包括第二应用处理器和第二调制解调器,所述第二调制解调器包括远程数据访问客户端,所述第二应用处理器包括通过所述预设接口与所述第一数据读写转发模块连接的第二数据读写转发模块;所述方法包括:
第一多路复用协议模块接收远程数据访问服务器传输的数据包,将接收的数据包写到第一虚拟串口,由第一虚拟串口将数据包传输至第二虚拟串口;
所述第一拦截模块从所述第二虚拟串口中读取数据包,并将读取的数据包转发至第一数据转发服务器,以供所述第一数据转发服务器通过第一数据转发客户端将数据包传输至第一数据读写转发模块;
所述第一数据读写转发模块通过所述预设接口将数据包传输至外接设备的第二数据读写转发模块,以供所述第二数据读写转发模块将数据包传输至远程数据访问客户端,所述预设接口包括以太网控制模型端口,所述以太网控制模型端口包括数据管道和控制管道。
7.如权利要求6所述的数据包传输方法,其特征在于,所述第一多路复用协议模块接收远程数据访问服务器传输的数据包的步骤之前,所述方法还包括:
通过驱动配置第一虚拟串口和第二虚拟串口,由所述驱动对第一多路复用协议模块和第一拦截模块进行初始化,以将第一虚拟串口配置到第一多路复用协议模块,将第二虚拟串口配置到第一拦截模块。
8.如权利要求6所述的数据包传输方法,其特征在于,所述数据包传输方法还包括:
所述第一数据读写转发模块通过所述预设接口接收第二数据读写转发模块发送的数据包,并将接收到的数据包传输至所述第一数据转发客户端,由所述第一数据转发客户端将数据包传输至第一数据转发服务器;
所述第一数据转发服务器对接收到的数据包进行解包,并在解析出结束标识时,将解包后的数据传输至第一拦截模块;
所述第一拦截模块将数据写到第二虚拟串口中,再由第二虚拟串口将数据传输至第一虚拟串口;
所述第一多路复用协议模块从所述第一虚拟串口中读取数据,并将读取的数据传输至所述远程数据访问服务器。
9.如权利要求8所述的数据包传输方法,其特征在于,所述第一数据转发服务器对接收到的数据包进行解包的步骤之后,所述方法还包括:
若解析出中间标识,则所述第一数据转发服务器将解包后的数据缓存至临时缓冲区中,以便后续接收到的数据包解包后若携带结束标识,将携带结束标识的数据以及临时缓冲区中的数据组合后传输至所述第一拦截模块中。
10.如权利要求6-9任一项所述的数据包传输方法,其特征在于,所述预设接口还包括调试端口,所述调试端口用于调试数据。
CN201710644532.2A 2017-07-31 2017-07-31 数据包传输系统及方法 Withdrawn CN107318105A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710644532.2A CN107318105A (zh) 2017-07-31 2017-07-31 数据包传输系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710644532.2A CN107318105A (zh) 2017-07-31 2017-07-31 数据包传输系统及方法

Publications (1)

Publication Number Publication Date
CN107318105A true CN107318105A (zh) 2017-11-03

Family

ID=60170470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710644532.2A Withdrawn CN107318105A (zh) 2017-07-31 2017-07-31 数据包传输系统及方法

Country Status (1)

Country Link
CN (1) CN107318105A (zh)

Similar Documents

Publication Publication Date Title
CN107466070A (zh) 数据传输系统、方法、外接设备和移动终端
CN107318107A (zh) 数据传输系统、方法、外接设备和移动终端
CN107395606A (zh) 数据包传输系统及方法
CN107247679A (zh) 数据传输系统及方法
CN107222429A (zh) 数据传输系统及方法
CN107277174A (zh) 数据包传输系统及方法
CN107332930A (zh) 数据包传输系统及方法
CN107318105A (zh) 数据包传输系统及方法
CN107205053A (zh) 数据包传输系统及方法
CN107370742A (zh) 数据包传输系统及方法
CN107466027A (zh) 数据传输系统、方法、外接设备和移动终端
CN107466028A (zh) 数据传输系统、方法、外接设备和移动终端
CN107466030A (zh) 数据传输系统、方法、外接设备和移动终端
CN107396341A (zh) 数据包传输系统及方法
CN107466026A (zh) 数据包传输系统及方法
CN107257567A (zh) 数据传输系统及方法
CN107148052A (zh) 移动终端及其数据传输方法
CN107277175A (zh) 数据包传输系统及方法
CN107360563A (zh) 数据传输系统、方法、外接设备和移动终端
CN107396399A (zh) 数据传输系统、方法、外接设备和移动终端
CN107318106A (zh) 数据包传输系统及方法
CN106953984A (zh) 数据传输系统及方法
CN107466025A (zh) 数据包传输系统及方法
CN107318130A (zh) 数据包传输系统及方法
CN107332929A (zh) 数据包传输系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20171103

WW01 Invention patent application withdrawn after publication