CN108427691B - 网络数据传输方法、装置和计算机设备 - Google Patents
网络数据传输方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN108427691B CN108427691B CN201710082043.2A CN201710082043A CN108427691B CN 108427691 B CN108427691 B CN 108427691B CN 201710082043 A CN201710082043 A CN 201710082043A CN 108427691 B CN108427691 B CN 108427691B
- Authority
- CN
- China
- Prior art keywords
- serialization
- network transmission
- data
- mode
- transmission protocol
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种网络数据传输方法、装置和计算机设备。其中一种网络数据传输方法包括:获取用户操作产生的结构化数据;选取预设的序列化模式;根据所述序列化模式对所述结构化数据进行相应的序列化,生成序列化数据;将所述序列化数据发送至服务器。上述的网络数据传输方法、装置和计算机设备可提高序列化的灵活性。
Description
技术领域
本发明涉及信息处理技术领域,特别是涉及一种网络数据传输方法、装置和计算机设备。
背景技术
基于Internet的客户端-服务器软件***,客户端会根据用户在软件***上的操作而生成结构化数据。由于结构化数据无法直接通过网络发送至服务器,因此,在数据传输过程中,会采用某种序列化方法对结构化数据进行序列化,转化成序列化数据,将该序列化数据发送至服务器。服务器通过对该序列化数据进行反序列化,生成相应的结构化数据,从而可获取到用户的操作信息。其中,序列化是将数据结构或对象转换成二进制串的过程。反序列化是将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程。
序列化的模式有多种,不同的序列化模式差异巨大,每种都有相应的优缺点,但难以兼容、替换不同序列化模式之间的代码逻辑。因此,在传统的网络数据传输过程中,通常都是按照一种默认的序列化方式直接处理用户数据,用户数据和序列化实现紧密耦合。传统的网络数据传输方法,其序列化的方式是固定的,无法被轻易地更改或替换,其灵活性较差。随着软件的向前发展,当出现新的更好的序列化模式时,除非对软件进行重构,否则难以轻易使用新的序列化模式。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高序列化的灵活性的网络数据传输方法、装置和计算机设备。
一种网络数据传输方法,所述方法包括:
获取用户操作产生的结构化数据;
选取预设的序列化模式;
根据所述序列化模式对所述结构化数据进行相应的序列化,生成序列化数据;
将所述序列化数据发送至服务器。
一种网络数据传输装置,所述装置包括:
结构化数据生成模块,用于获取用户操作产生的结构化数据;
选取模块,用于选取预设的序列化模式;
序列化数据生成模块,用于根据所述序列化模式对所述结构化数据进行相应的序列化,生成序列化数据;
数据交互模块,用于将所述序列化数据发送至服务器。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
获取用户操作产生的结构化数据;
选取预设的序列化模式;
根据所述序列化模式对所述结构化数据进行相应的序列化,生成序列化数据;
将所述序列化数据发送至服务器。
上述的网络数据传输方法、装置和计算机设备,通过预先设置了多种序列化模式,并选取其中一种序列化模式,对用户操作产生的结构化数据进行序列化,将所生成的序列化数据发送至服务器,可提高对对结构化数据进行序列化的灵活性。通过对序列化模式的选取,使得将结构化数据和序列化模式分离,从而实现用户代码逻辑和序列化实现的解耦,达到在同一套网络通讯***中,可以兼容使用多种序列化模式。且可实现在无需重构软件的情况下,对序列化模式进行添加和修改,即可轻松使用新的序列化技术的目的,因此可扩展性更强。
一种网络数据传输方法,所述方法包括:
接收终端传输的序列化数据,所述序列化数据携带用于标识序列化数据的序列化模式的序列化标识;
根据所述序列化标识确定对应的反序列化模式;
按照所述反序列化模式对所述序列化数据进行反序列化,生成结构化数据。
一种网络数据传输装置,所述装置包括:
序列化数据接收模块,用于接收终端传输的序列化数据,所述序列化数据携带用于标识序列化数据的序列化模式的序列化标识;
反序列化模式确定模块,用于根据所述序列化标识确定对应的反序列化模式;
结构化数据生成模块,用于按照所述反序列化模式对所述序列化数据进行反序列化,生成结构化数据。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
接收终端传输的序列化数据,所述序列化数据携带用于标识序列化数据的序列化模式的序列化标识;
根据所述序列化标识确定对应的反序列化模式;
按照所述反序列化模式对所述序列化数据进行反序列化,生成结构化数据。
上述的网络数据传输方法、装置和计算机设备,服务器所接收到的序列化数据中携带有序列化标识,从而可根据该序列化标识从预设的多种反序列化模式确定一种反序列化模式,根据所确定的反序列化模式,实现对该序列化数据的反序列化,从而可识别终端上的操作,并响应该操作。
附图说明
图1为一个实施例中网络数据传输方法的应用环境图;
图2为一个实施例中终端的内部结构示意图;
图3为一个实施例中服务器的内部结构示意图;
图4为一个实施例中网络数据传输方法的流程示意图;
图5为一个实施例中序列化的实现原理的示意图;
图6为另一个实施例中网络数据传输方法的流程示意图;
图7为一个实施例中网络数据传输装置的结构示意图;
图8为另一个实施例中网络数据传输装置的结构示意图;
图9为又一个实施例中网络数据传输装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例所提供的网络数据传输方法,可应用于如图1所示的应用环境中。参考图1,终端110和服务器120可通过网络建立连接。终端110上安装有一种或多种应用。终端110根据用户对某一应用的操作,生成对应的结构化数据。该操作可为对该应用界面上的某个按钮的点击操作,或者对某个文本框的信息输入操作等。终端针对该应用预先设置有多种序列化模式,并选取其中一种序列化模式,对该结构化数据进行序列化,将转化成的序列化数据发送至服务器120,从而实现了对网络数据的传输。服务器为提供该应用的后台服务器。服务器中设置了与多种序列化模式相对应的反序列化模式。服务器在接收到该序列化数据后,确定该序列化数据所采用的序列化模式,并采用与该序列化模式对应的反序列化模式,对该序列化数据进行反序列化,生成结构化数据,根据所生成的结构化数据,可获知用户对应的操作,并响应该操作。
图2为一个实施例中终端的内部结构示意图。该终端包括通过***总线连接的处理器、非易失性存储介质、内存储器、显示屏、输入装置和网络接口。其中,该终端的非易失性存储介质存储有操作***和网络数据传输装置。该网络数据传输装置用于实现一种网络数据传输方法。该终端的处理器用于提供计算和控制能力,支撑整个终端的运行。该终端的内存储器为非易失性存储介质中的网络数据传输装置的运行提供环境,该内存储器中可存储有计算机可读指令,该计算机指令可读指令被处理器执行时,可使得处理器执行一种网络数据传输方法。显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是终端的外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该终端的网络接口用于据以与服务器通过网络连接通信,比如向服务器发送序列化数据。终端可以是手机、电脑、可穿戴设备或者个人数字助理等。
图3为一个实施例中服务器的内部结构示意图。该服务器包括通过***总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器的非易失性存储介质存储有操作***、数据库和网络数据传输装置。数据库中存储有相关应用的用户数据以及终端发送的序列化数据等。该网络数据传输装置用于实现一种网络数据传输方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存储器为非易失性存储介质中的网络数据传输装置的运行提供环境,该内存储器中可存储有计算机可读指令,该计算机指令可读指令被处理器执行时,可使得处理器执行一种网络数据传输方法。该服务器的网络接口用于和终端通过网络连接通信。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本领域技术人员可以理解,图2和图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端或服务器的限定,具体的终端或服务器可以包括比图2或图3中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图4为一个实施例中网络数据传输方法的流程示意图。本实施例以该方法应用于图2所示的终端来举例说明。参照图4,该网络数据传输方法具体包括如下步骤:
步骤S402,获取用户操作产生的结构化数据。
本实施例中,结合图5所示的序列化的原理示意图。终端上运行有某一种或多种应用。终端中预先设置了用户在应用中的各种操作所对应的交互逻辑,在获取到用户的具体操作后,可根据预设的该操作对应的交互逻辑,生成结构化数据。该操作可以是任意的操作,比如可为对应用的界面上的某个按钮的点击操作,比如为对界面展示内容的缩放操作,或者还可为文字或图片等信息的发送操作等。结构化数据可以理解为存储在数据库里,可以用二维表结构来逻辑表达实现的数据。
例如,下述的数据即为根据用户操作所生成的一个结构化PB(Protocol Buffers,简称为protobuf,是Google公司开发的一种数据描述语言)数据的示例。该结构化数据中定义了该结构化数据中定义了用户的状态、用户ID(身份标识号,)以及操作的开始时间和结束时间的节点数据。
message NameAccount
{
optional uint32status=1;//按位存储1:是,0:否
optional uint64uin=2;//用户id
optional uint32start_time=3;//开始时间
optional uint32end_time=4;//结束时间
}
步骤S404,选取预设的序列化模式。
本实施例中,序列化模式包括二进制序列化模式、TLV(Tag Length Value,类型-长度-值)序列化模式、XML(Extensible Markup Language,可扩展标记语言)序列化模式、JSON(JavaScript Object Notation,JavaScript对象表示法)序列化模式以及PB序列化模式等。终端预先设置了多种序列化模式,并设置了每种序列化模式的序列化标识。序列化标识可由预设位数的数字所构成,该序列化标识用于唯一识别相应的序列化模式。
不同的序列化模式在不同的通信协议中,具有各自序列化的优劣。终端可预先建立每种操作与其中一个或多个序列化标识之间的对应关系,根据该对应关系选取一种序列化模式。
在一个实施例中,终端可预先设置不同的性能状态和其中一个或多个序列化标识之间的对应关系,根据终端自身的性能状态,来选取一种与该性能状态相匹配的序列化模式。性能状态可包括当前的网络传输速度、传输模式、终端的CPU利用率等其中的一种或多种的组合。
步骤S406,根据序列化模式对结构化数据进行相应的序列化,生成序列化数据。
序列化是将该结构化数据可保持或传输的格式的过程,以使生成的序列化数据便于存储在文件中或在网络上传输。终端可采用所选取的序列化模式的序列化规则,对所生成的结构化数据进行序列化。比如,可根据结构化数据中的每个字段所设定的数据类型(比如浮点型、字符串型等)和数据长度(比如32位或64位等),进行序列化,生成的序列化数据反映了结构化数据中,每个字段的数据值和/或数据长度和/或每个字段在该序列化数据中的位置等信息。
本实施例中,所生成的序列化数据中还包括了所采用的序列化模式的序列化标识,使得可根据该序列化标识获知对应所采用的序列化模式,进而可按照与该序列化模式对应的反序列化模式,重构得到该结构化数据。在一个实施例中,该序列化标识可位于所生成的序列化数据中的某一固定位置处,使得在访问该固定位置处的数据,可获取到对应的序列化标识。其中,该固定位置可为序列化数据的最前端的固定位数的数据。
步骤S408,将序列化数据发送至服务器。
本实施例中,终端预先设定了相应的操作所对应的通讯协议类型,并调用与该通讯协议类型相匹配的接口,将所生成的序列化数据发送至服务器,实现了对用户交互所生成的数据的传输。其中,服务器为提供该应用的后台服务器。
上述的网络数据传输方法,通过预先设置了多种序列化模式,并选取其中一种序列化模式,对用户操作产生的结构化数据进行序列化,将所生成的序列化数据发送至服务器,可提高对对结构化数据进行序列化的灵活性。通过对序列化模式的选取,使得将结构化数据和序列化模式分离,从而实现用户代码逻辑和序列化实现的解耦,达到在同一套网络通讯***中,可以兼容使用多种序列化模式。且可实现在无需重构软件的情况下,对序列化模式进行添加和修改,即可轻松使用新的序列化技术的目的,因此可扩展性更强。
在一个实施例中,选取预设的序列化模式的步骤,包括:从多个预设的序列化模式中随机选取其中一个序列化模式。
本实施例中,终端可从所设置的多种序列化模式中,随机地选取其中一种序列化模式。如图5所示,终端中预设了二进制序列化、TLV序列化、PB序列化以及XML序列化这4种序列化模式。终端可该4种序列化模式中随机选取一种序列化模式,或者根据所设定的用于传输结构化数据的网络传输协议来确定一种序列化模式。通过随机选取一种序列化模式,可提高了序列化实现的灵活性。
在一个实施例中,选取预设的序列化模式的步骤,包括:根据用于传输结构化数据的网络传输协议确定对应的预设的序列化模式。
本实施例中,终端预先设置了一种或多种网络传输协议,每种操作对应一种网络传输协议。还设置了每种网络传输协议与其中的一种或多种序列化标识之间的对应关系。当设置了与多个序列化标识之间的对应关系时,可进一步设置对每种对应关系的序列化标识的优选次序,使得根据优选次序,从其中选择一种最优的序列化模式。当最优的序列化模式序列化失败时,则对应选择次优的一种序列化模式,并依次类推。
本实施例中,通过根据网络传输协议确定对应的序列化模式,从而可提高后续对所生成的序列化数据的传输的效率。
在一个实施例中,上述的网络数据传输方法还包括:获取对应用的更新指令,根据更新指令更新序列化模式和预设的用户操作之间的关联关系。
本实施例中,终端可定期主动访问服务器,也可根据所接收到的版本更新检测指令来访问服务器,检测服务器上是否存在版本号高于终端上运行的应用的版本号的应用,若是,则弹出预设的用于获取服务器上的应用并更新的更新控件,当检测到作用于该更新控件的点击操作后,生成更新指令。
终端可根据该更新指令获取对应的待更新的应用的更新文件,该更新文件中设置有多种序列化模式及其序列化标识,并设置有每个序列化编号与一种或多种预设的用户操作之间的关联关系的配置信息,终端可根据该配置信息更新序列化模式和用户操作之间的关联关系。
本实施例中,通过根据对应用的更新指令来更新序列化模式和用户操作之间的关联关系,该更新的方式包括添加、修改以及删除中的一种或多种,增强了序列化方式的扩展性。
在一个实施例中,在将第一序列化数据发送至服务器的步骤之后,还包括:当服务器对第一序列化数据进行反序列化失败时,重新选取预设的序列化模式,根据重新选取的序列化模式对结构化数据进行序列化,生成序列化数据并发送到服务器。
本实施例中,服务器也预设有序列化标识与反序列化模式之间的对应关系,根据该序列化标识唯一确定对应的反序列化模式。服务器在接收该序列化数据后,识别该序列化数据中所包含的序列化标识,进而可确定相应的反序列化模式,根据该反序列化模式对该序列化数据进行反序列化,生成相应的结构化数据,从而可根据所生成的结构化数据,获知相应的用户操作所表示的含义。
服务器将反序列化的结果信息发送至终端,该结果包括序列化失败或成功的结果。该失败的结果信息中还可包括相应的失败原因,比如失败原因为该序列化数据中缺少必要的数据,或者无法识别相应的序列化标识等等。
终端可根据该反序列化失败的结果信息,重新执行上述的步骤S404~S408。其中,重新选取的序列化模式可为与之前所选取的序列化模式不同。通过设置多种序列化模式,并在序列化失败后,重新进行序列化,可降低序列化失败的错误率,提高了响应该用户操作的稳定性。
在一个实施例中,终端可记录每种序列化模式失败的错误次数,并根据服务器发送的反序列化失败的结果信息更新所选取的序列化模式失败的错误次数。同时可记录对应的用户操作,以便于为下次的根据用户操作选取序列化模式做参考。比如,当下次检测到相同的用户操作时,可选取与本次所选取的不同的序列化模式,或者,根据该相同的用户操作,从历史记录中,选取与该操作对应的序列化模式中,对应的失败次数最小的序列化模式,以进一步提高响应该用户操作的稳定性。
在一个实施例中,如图6所示,提供了另一种网络数据传输方法,该方法可应用于如图1或图3所示的服务器中,具体包括下述的步骤S602~S606。
步骤S602,接收终端传输的序列化数据,序列化数据携带用于标识序列化数据的序列化模式的序列化标识。
本实施例中,该序列化数据为终端响应于用户对某一应用的操作而生成的结构化数据,并将该结构化数据经过序列化而转化成的序列化数据。服务器为提供该应用的后台服务器。序列化数据中携带有序列化标识,该序列化标识用于标识生成该序列化数据的序列化模式。
服务器中也对应设置有多种与序列化模式相对应的反序列化模式,并对每种反序列化模式设置了反序列化标识,根据反序列化标识,可唯一识别对应的反序列化模式。反序列化标识与对应的序列化标识相同或不同。反序列化标识与对应的序列化标识具有对应关系,根据该对应关系,可根据序列化标识确定对应的反序列化模式。
步骤S604,根据序列化标识确定对应的反序列化模式。
所确定的反序列化模式为生成该序列化数据的序列化模式相匹配的反序列化模式,使得根据所确定的反序列化模式,可对该序列化数据进行反序列化。比如,若生成该序列化数据的序列化模式为PB序列化模式,则所可根据该PB序列化模式的序列化标识,确定对应的反序列化模式为反PB序列化模式。
步骤S606,按照反序列化模式对序列化数据进行反序列化,生成结构化数据。
本实施例中,服务器生成的结构化数据与终端操作所生成的结构化数据不一定相同,但服务器所生成的结构化数据中可包括与终端生成的结构化数据具有相同的字段信息,并可根据所生成的结构化数据识别相应的用户操作,进而可根据所生成的结构化数据执行相应的命令,实现对该用户操作的响应。
本实施例所提供的网络数据传输方法,服务器所接收到的序列化数据中携带有序列化标识,从而可根据该序列化标识从预设的多种反序列化模式确定一种反序列化模式,根据所确定的反序列化模式,实现对该序列化数据的反序列化,从而可识别终端上的操作,并响应该操作。
在一个实施例中,按照反序列化模式对序列化数据进行反序列化的步骤之后,还包括:当对序列化数据进行反序列化失败时,生成反馈信息并发送到终端,反馈信息携带可供选取的序列化模式的信息。
本实施例中,服务器可向终端反馈反序列化是否成功的结果信息。若反序列化失败,则生成的反馈信息中可包括相应的失败原因,还可进一步包括可供选取的序列化模式的信息,该信息可为一种或多种反序列化标识或序列化标识,使得终端可根据所接收到的反序列化标识,获知其可选取的序列化模式,并根据预置的选取规则,从可选取的序列化模式中选取其中一种序列化模式,从新进行序列化。其中,选取规则可为随机选取规则,或者按照预设的优选顺序进行选取。
本实施例中,通过向终端反馈反序列化失败的信息,且反馈信息中携带可供选取的序列化模式的信息,使得终端根据该反馈信息选取一种序列化模式,重新进行序列化,提高了对用户操作的相应的成功率。
图7为一个实施例中网络数据传输装置的结构框图。如图7所示,一种网络数据传输装置,运行于如图1或图2所示的终端上,包括结构化数据生成模块702、选取模块704、序列化数据生成模块706和数据交互模块708。其中:
结构化数据生成模块702,用于获取用户操作产生的结构化数据。
选取模块704,用于选取预设的序列化模式。
序列化数据生成模块706,用于根据序列化模式对结构化数据进行相应的序列化,生成序列化数据。
数据交互模块708,用于将序列化数据发送至服务器。
在一个实施例中,选取模块704还用于从多个预设的序列化模式中随机选取其中一个序列化模式;或者根据用于传输结构化数据的网络传输协议确定对应的预设的序列化模式。
在一个实施例中,数据交互模块708还用于接收服务器对序列化数据进行反序列化的反馈信息,反馈信息包括反序列化失败的信息。
选取模块704还用于根据反馈信息重新选取预设的序列化模式。
序列化数据生成模块706还用于根据重新选取的序列化模式对结构化数据进行相应的序列化,生成序列化数据。
数据交互模块708还用于将重新生成的序列化数据发送至服务器。
在一个实施例中,如图8所示,提供了另一种网络数据传输装置该装置,该装置可运行于如图1或图3所示的服务器上,包括序列化数据接收模块802、反序列化模式确定模块804和结构化数据生成模块806。其中:
序列化数据接收模块802,用于接收终端传输的序列化数据,序列化数据携带用于标识序列化数据的序列化模式的序列化标识。
反序列化模式确定模块804,用于根据序列化标识确定对应的反序列化模式。
结构化数据生成模块806,用于按照反序列化模式对序列化数据进行反序列化,生成结构化数据。
在一个实施例中,如图9所示,提供了又一种网络数据传输装置,该装置还包括:
数据交互模块808,用于当对序列化数据进行反序列化失败时,生成反馈信息并发送到终端,反馈信息携带可供选取的序列化模式的信息。
在一个实施例中,提供了一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。该处理器执行该计算机程序时实现以下步骤:
获取用户操作产生的结构化数据;选取预设的序列化模式;根据序列化模式对结构化数据进行相应的序列化,生成序列化数据;将序列化数据发送至服务器。
在一个实施例中,提供了另一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。该处理器执行该计算机程序时实现以下步骤:
接收终端传输的序列化数据,序列化数据携带用于标识序列化数据的序列化模式的序列化标识;根据序列化标识确定对应的反序列化模式;按照反序列化模式对序列化数据进行反序列化,生成结构化数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种网络数据传输方法,其特征在于,所述方法包括:
获取用户操作产生的结构化数据;所述用户操作为用户与终端上所运行应用的交互操作;所述终端上存储有每种用户操作与网络传输协议的对应关系,以及每种网络传输协议与序列化标识之间的关系;
基于每种用户操作与网络传输协议的对应关系,从所述网络传输协议中选取与所述用户操作匹配的目标网络传输协议,基于每种网络传输协议与序列化标识之间的关系,从所述序列化标识对应的多种序列化模式中选取与所述目标网络传输协议匹配的目标序列化模式;
根据所述目标序列化模式对所述结构化数据进行相应的序列化,生成序列化数据;所述序列化数据携带用于标识序列化数据的目标序列化模式的序列化标识;
将所述序列化数据发送至服务器。
2.根据权利要求1所述的方法,其特征在于,所述每种网络传输协议与序列化标识之间的关系中每种网络传输协议对应于多个序列化标识;所述基于每种网络传输协议与序列化标识之间的关系,从所述序列化标识对应的多种序列化模式中选取与所述目标网络传输协议匹配的目标序列化模式的步骤包括:
基于每种网络传输协议与序列化标识之间的关系,获取所述目标网络传输协议对应的多个序列化标识,以及所述多个序列化标识的优选次序;
根据所述优选次序,从所述多个序列化标识对应的多种序列化模式中选取目标序列化模式。
3.根据权利要求1所述的方法,其特征在于,在所述将所述序列化数据发送至服务器的步骤之后,还包括:
当所述服务器对所述序列化数据进行反序列化失败时,重新选取预设的序列化模式,根据重新选取的序列化模式对所述结构化数据进行序列化,生成序列化数据并发送到服务器。
4.一种网络数据传输方法,其特征在于,所述方法包括:
接收终端传输的序列化数据,所述序列化数据携带用于标识序列化数据的目标序列化模式的序列化标识;所述目标序列化模式是基于每种网络传输协议与序列化标识之间的关系,从所述序列化标识对应的多种序列化模式中选取与目标网络传输协议匹配的序列化模式;所述目标网络传输协议是基于每种用户操作与网络传输协议的对应关系,从所述网络传输协议中选取与用户操作匹配的网络传输协议;所述用户操作为用户与所述终端上所运行应用的交互操作;所述终端上存储有每种用户操作与网络传输协议的对应关系,以及每种网络传输协议与所述序列化标识之间的关系;
根据所述序列化标识确定对应的反序列化模式;
按照所述反序列化模式对所述序列化数据进行反序列化,生成结构化数据。
5.根据权利要求4所述的方法,其特征在于,在所述按照所述反序列化模式对所述序列化数据进行反序列化的步骤之后,还包括:
当对所述序列化数据进行反序列化失败时,生成反馈信息并发送到所述终端,所述反馈信息携带可供选取的序列化模式的信息。
6.一种网络数据传输装置,其特征在于,所述装置包括:
结构化数据生成模块,用于获取用户操作产生的结构化数据;所述用户操作为用户与终端上所运行应用的交互操作;所述终端上存储有每种用户操作与网络传输协议的对应关系,以及每种网络传输协议与序列化标识之间的关系;
选取模块,用于基于每种用户操作与网络传输协议的对应关系,从所述网络传输协议中选取与所述用户操作匹配的目标网络传输协议,基于每种网络传输协议与序列化标识之间的关系,从所述序列化标识对应的多种序列化模式中选取与所述目标网络传输协议匹配的目标序列化模式;
序列化数据生成模块,用于根据所述目标序列化模式对所述结构化数据进行相应的序列化,生成序列化数据;所述序列化数据携带用于标识序列化数据的目标序列化模式的序列化标识;
数据交互模块,用于将所述序列化数据发送至服务器。
7.根据权利要求6所述的装置,其特征在于,所述每种网络传输协议与序列化标识之间的关系中每种网络传输协议对应于多个序列化标识;所述选取模块,还用于:
基于每种网络传输协议与序列化标识之间的关系,获取所述目标网络传输协议对应的多个序列化标识,以及所述多个序列化标识的优选次序;
根据所述优选次序,从所述多个序列化标识对应的多种序列化模式中选取目标序列化模式。
8.根据权利要求6所述的装置,其特征在于,所述数据交互模块还用于接收所述服务器对所述序列化数据进行反序列化的反馈信息,所述反馈信息包括反序列化失败的信息;
所述选取模块还用于根据所述反馈信息重新选取预设的序列化模式;
所述序列化数据生成模块还用于根据重新选取的序列化模式对所述结构化数据进行相应的序列化,生成序列化数据;
所述数据交互模块还用于将重新生成的序列化数据发送至所述服务器。
9.一种网络数据传输装置,其特征在于,所述装置包括:
序列化数据接收模块,用于接收终端传输的序列化数据,所述序列化数据携带用于标识序列化数据的目标序列化模式的序列化标识;所述目标序列化模式是基于每种网络传输协议与序列化标识之间的关系,从所述序列化标识对应的多种序列化模式中选取与目标网络传输协议匹配的序列化模式;所述目标网络传输协议是基于每种用户操作与网络传输协议的对应关系,从所述网络传输协议中选取与用户操作匹配的网络传输协议;所述用户操作为用户与所述终端上所运行应用的交互操作;所述终端上存储有每种用户操作与网络传输协议的对应关系,以及每种网络传输协议与所述序列化标识之间的关系;
反序列化模式确定模块,用于根据所述序列化标识确定对应的反序列化模式;
结构化数据生成模块,用于按照所述反序列化模式对所述序列化数据进行反序列化,生成结构化数据。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
数据交互模块,用于当对所述序列化数据进行反序列化失败时,生成反馈信息并发送到所述终端,所述反馈信息携带可供选取的序列化模式的信息。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
获取用户操作产生的结构化数据;
基于所述用户操作或终端当前的性能状态,从预设的多种序列化模式中选取目标序列化模式;
根据所述目标序列化模式对所述结构化数据进行相应的序列化,生成序列化数据;所述序列化数据携带用于标识序列化数据的目标序列化模式的序列化标识;
将所述序列化数据发送至服务器。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
接收终端传输的序列化数据,所述序列化数据携带用于标识序列化数据的目标序列化模式的序列化标识;所述目标序列化模式是是基于每种网络传输协议与序列化标识之间的关系,从所述序列化标识对应的多种序列化模式中选取与目标网络传输协议匹配的序列化模式;所述目标网络传输协议是基于每种用户操作与网络传输协议的对应关系,从所述网络传输协议中选取与用户操作匹配的网络传输协议;所述用户操作为用户与所述终端上所运行应用的交互操作;所述终端上存储有每种用户操作与网络传输协议的对应关系,以及每种网络传输协议与所述序列化标识之间的关系;
根据所述序列化标识确定对应的反序列化模式;
按照所述反序列化模式对所述序列化数据进行反序列化,生成结构化数据。
13.一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上权利要求1至5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710082043.2A CN108427691B (zh) | 2017-02-15 | 2017-02-15 | 网络数据传输方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710082043.2A CN108427691B (zh) | 2017-02-15 | 2017-02-15 | 网络数据传输方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108427691A CN108427691A (zh) | 2018-08-21 |
CN108427691B true CN108427691B (zh) | 2021-11-16 |
Family
ID=63155515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710082043.2A Active CN108427691B (zh) | 2017-02-15 | 2017-02-15 | 网络数据传输方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108427691B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111221891A (zh) * | 2019-11-18 | 2020-06-02 | 北京明略软件***有限公司 | 数据查询方法和*** |
CN114070892A (zh) * | 2021-11-25 | 2022-02-18 | 维沃移动通信有限公司 | 数据传输方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166827A (zh) * | 2011-12-09 | 2013-06-19 | 北京神州泰岳软件股份有限公司 | 用户行为数据上报方法和*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102209076B (zh) * | 2011-06-03 | 2014-01-29 | 用友软件股份有限公司 | 服务端与客户端之间的交互方法和交互*** |
CN103425699B (zh) * | 2012-05-24 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 获取网页的方法、设备和*** |
CN104077335B (zh) * | 2013-05-07 | 2017-05-03 | 腾讯科技(深圳)有限公司 | 一种结构化数据的序列化、反序列化方法、装置和*** |
-
2017
- 2017-02-15 CN CN201710082043.2A patent/CN108427691B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166827A (zh) * | 2011-12-09 | 2013-06-19 | 北京神州泰岳软件股份有限公司 | 用户行为数据上报方法和*** |
Non-Patent Citations (1)
Title |
---|
序列化和反序列化;刘丁;《美团技术团队》;20150226;第1-13页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108427691A (zh) | 2018-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106502736B (zh) | 应用程序处理方法和装置 | |
US7831734B2 (en) | Method and system for remote configuration of network devices | |
CN110737658A (zh) | 数据分片存储方法、装置、终端及可读存储介质 | |
EP3767483A1 (en) | Method, device, system, and server for image retrieval, and storage medium | |
US10754869B2 (en) | Managing data format of data received from devices in an internet of things network | |
CN115088235B (zh) | 主节点选取方法、装置、电子设备以及存储介质 | |
CN108632354B (zh) | 物理机纳管方法、装置及云桌面管理平台 | |
CN112433788A (zh) | 小程序运行方法、装置、电子设备和存储介质 | |
CN111144402A (zh) | Ocr识别准确率的计算方法、装置、设备以及存储介质 | |
CN111752960B (zh) | 数据处理方法和装置 | |
CN108427691B (zh) | 网络数据传输方法、装置和计算机设备 | |
CN111147585B (zh) | 设备升级方法、装置、存储介质及*** | |
CN106202456B (zh) | 发送图片的方法及装置 | |
CN111200640A (zh) | 基于客户端的上传方法以及客户端 | |
CN115827280A (zh) | 消息处理方法、装置、电子设备及存储介质 | |
CN105979021B (zh) | 一种信息处理方法及用户终端 | |
CN114428691A (zh) | 应用调用方法、装置、电子设备和计算机可读存储介质 | |
CN113849839A (zh) | 图片展示方法、装置、服务器、电子设备及存储介质 | |
CN114328272B (zh) | 应用测试方法、装置、***和电子设备 | |
KR102077093B1 (ko) | 사용자 단말기로부터 수신되는 이미지를 다른 사용자 단말기에 공유하기 위한 장치 및 방법 | |
CN111614743B (zh) | 文件检测方法、装置、计算机设备和存储介质 | |
CN107196843B (zh) | 一种即时通信的方法和装置 | |
CN114466401B (zh) | 图像传输方法和电子设备 | |
JP2020057240A (ja) | 所属地分析用データ構築システム、所属地分析用データ構築プログラム、及び所属地分析システム | |
CN110932980B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |