CN111935065A - 基于多视窗系统的数据通信方法及相关装置 - Google Patents

基于多视窗系统的数据通信方法及相关装置 Download PDF

Info

Publication number
CN111935065A
CN111935065A CN202010480681.1A CN202010480681A CN111935065A CN 111935065 A CN111935065 A CN 111935065A CN 202010480681 A CN202010480681 A CN 202010480681A CN 111935065 A CN111935065 A CN 111935065A
Authority
CN
China
Prior art keywords
data
data structure
nested
equipment
command
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.)
Pending
Application number
CN202010480681.1A
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.)
Ordnance Science and Research Academy of China
Original Assignee
Ordnance Science and Research Academy of China
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 Ordnance Science and Research Academy of China filed Critical Ordnance Science and Research Academy of China
Priority to CN202010480681.1A priority Critical patent/CN111935065A/zh
Publication of CN111935065A publication Critical patent/CN111935065A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种基于多视窗系统的数据通信方法及相关装置,用于解决相关技术中数据通信效率低的问题。本申请中,将数据结构按照嵌套数据结构进行组织。可划分为多层数据结构。例如第一层根节点的数据划分为命令信息和业务信息。使得数据结构清晰,方便控制平台和被控终端之间进行信息交互和处理。此外,本申请实施例中采用protobuf可生成任一开发语言的可执行文件和读写接口,由此不需要对不同开发语言进行人工的代码编写。Protobuf可读性较好、安全性高,且能够支持更多种类的数据结构。在更新数据结构方面,也比较容易实现。

Description

基于多视窗系统的数据通信方法及相关装置
技术领域
本申请涉及网络通讯技术领域,特别涉及一种基于多视窗系统的数据通信方法及相关装置。
背景技术
随着全球城市化进程的推进,高效的侦察及获取城市数据无论从军事还是民用领域都至关重要的。多视窗系统(即多类型传感器的区域监视系统)用于动态高效的获取城市数据,对于多视窗系统数据传输的效率是关键点。
多视窗系统中包括控制平台和终端。终端中可安装有多种传感器。在一种实施场景中,控制平台向终端发送命令信息,实现对终端的控制。终端需要向控制平台上报一些执行命令后获得的状态信息。
原则上,控制平台发出命令信息后,应当能够立即传输至终端执行。而终端上报的状态信息,也应当立即传输给控制平台。故此,多视窗系统对数据传输的效率有着一定的要求。
目前大部分数据传输系统大都采用自定义字节流协议(如XML(ExtensibleMarkup Language,可扩展标记语言))或者JSON(JavaScript Object Notation,JS对象简谱)等数据交换格式。而这一类数据交换格式都存在很多问题。
采用自定义字节流协议:设计难度高,实现繁琐,需要自己实现序列化和反序列化。低效率的打包解包增加了对cpu的占用,低数据压缩率增大了对网络带宽的占用。可扩展性差,对未知的变更,没有足够的弹性用于扩展。此外,XML文件庞大,文件格式复杂,传输占带宽较多。
JSON格式存在数据可读性差,安全性低,无法支持复杂的数据结构等问题。
因此,要实现高效的数据传输必须研究和寻找更为有效的技术途径。
发明内容
本申请的目的是提供一种基于多视窗系统的数据通信方法相关装置,用于解决相关技术中数据传输效率低的问题。
第一方面,本申请实施例提供了一种基于多视窗系统的数据通信方法,包括:
第一设备根据预先生成的可执行文件对目标数据按照预定义的嵌套数据结构进行序列化,获得序列化数据;其中,在所述嵌套数据结构中包括多个嵌套的数据结构层,不同数据结构层表示不同信息类别;所述可执行文件为预先采用protobuf编译器生成的;所述protobuf编译器还用于生成数据读写接口;
通过所述数据读写接口,将所述序列化数据发送给第二设备,以使所述第二设备根据所述嵌套数据结构对所述序列化数据进行解析得到所述目标数据。
在一些实施例中,所述嵌套数据结构的根数据结构层用于区分命令信息和状态信息,其中,所述命令信息中包括待执行命令,所述状态信息包括所述待执行命令的执行结果。
在一些实施例中,所述通过所述数据读写接口,将所述序列化数据发送给第二设备,包括:
通过所述数据读写接口将所述序列化数据转换为数据流,并对数据流的数据量进行统计;
将统计的数据量和所述数据流发送给所述第二设备,以使所述第二设备根据所述数据量对接收的数据流进行完整性校验。
在一些实施例中,所述方法还包括:
接收所述第二设备发送的待处理数据;
采用所述可执行文件对所述待处理数据进行反序列化;
将反序列化得到的数据进行存储;
根据所述嵌套数据结构对存储的数据进行解析得到可操作数据;
根据所述可操作数据,执行相应的操作。
在一些实施例中,所述将反序列化得到的数据进行存储,包括:
采用字符串-标签-值T-L-V存储方式进行存储。
第二方面,本申请还提供一种基于多视窗系统的数据通信装置,包括:
序列化模块,用于根据预先生成的可执行文件对目标数据按照预定义的嵌套数据结构进行序列化,获得序列化数据;其中,在所述嵌套数据结构中包括多个嵌套的数据结构层,不同数据结构层表示不同信息类别;所述可执行文件为预先采用protobuf编译器生成的;所述protobuf编译器还用于生成数据读写接口;
通信模块,用于通过所述数据读写接口,将所述序列化数据发送给第二设备,以使所述第二设备根据所述嵌套数据结构对所述序列化数据进行解析得到所述目标数据。
在一些实施例中,所述嵌套数据结构的根数据结构层用于区分命令信息和状态信息,其中,所述命令信息中包括待执行命令,所述状态信息包括所述待执行命令的执行结果。
在一些实施例中,所述通信模块,用于:
通过所述数据读写接口将所述序列化数据转换为数据流,并对数据流的数据量进行统计;
将统计的数据量和所述数据流发送给所述第二设备,以使所述第二设备根据所述数据量对接收的数据流进行完整性校验。
在一些实施例中,所述装置还包括:
接收模块,用于接收所述第二设备发送的待处理数据;
反序列化模块,用于采用所述可执行文件对所述待处理数据进行反序列化;
存储模块,用于将反序列化得到的数据进行存储;
解析模块,用于根据所述嵌套数据结构对存储的数据进行解析得到可操作数据;
执行模块,用于根据所述可操作数据,执行相应的操作。
在一些实施例中,所述通信模块,用于采用字符串-标签-值T-L-V存储方式进行存储。
第三方面,本申请另一实施例还提供了一种电子设备,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例提供的任一基于多视窗系统的数据通信方法。
第四方面,本申请另一实施例还提供了一种计算机存储介质,其中,所述计算机存储介质存储有计算机程序,所述计算机程序用于使计算机执行本申请实施例中的任一基于多视窗系统的数据通信方法。
本申请实施例中,将数据结构按照嵌套数据结构进行组织。可划分为多层数据结构。例如第一层根节点的数据划分为命令信息和业务信息。第二层节点对命令信息和业务信息分别进一步进行划分。以此类推,可以根据实际需要划分节点的层数。将数据结构按照嵌套数据结构进行组织,有利于使得数据结构清晰,方便控制平台和被控终端之间进行信息交互和处理。此外,本申请实施例中采用protobuf可生成任一开发语言的可执行文件和读写接口,由此不需要对不同开发语言进行人工的代码编写。Protobuf相对于JSON文件,其提供了规范的标签形式,不需要JSON复杂的语法逻辑,故此可读性较好。JSON容易受到跨站请求伪造及跨站脚本攻击,跨站请求伪造是一种利用站点对用户浏览器信任发起攻击的方式,跨站脚本攻击是一种注入攻击。在使用JSON时常见的安全漏洞通常发生在JavaScript从服务器获取到一段JSON字符串并将其转化为JavaScript对象。而Protobuf无这两方面安全问题。故此,本申请采用Protobuf能够提高信息安全性。且能够支持更多种类的数据结构。在更新数据结构方面,也比较容易实现。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本申请一个实施例的应用环境的示意图;
图2为根据本申请一个实施例的基于多视窗系统的数据通信方法中的数据结构划分的结构图;
图3为根据本申请一个实施例的基于多视窗系统的数据通信方法的流程图;
图4为根据本申请一个实施例的压缩方法的示意图;
图5为根据本申请一个实施例的基于多视窗系统的数据通信方法的流程图;
图6为根据本申请一个实施例的基于多视窗系统的数据通信装置的示意图;
图7为根据本申请一个实施例的电子设备的示意图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
图1为根据本申请一个实施例的应用环境的示意图。
如图1所示,该应用环境中例如可以包括控制平台10,该控制平台由至少一个服务器20和数据库30构成。该应用场景中还包括多个终端设备40。其中,各终端设备40可用来进行网络访问的任何合适的电子设备,包括但不限于计算机、笔记本电脑、智能电话、平板电脑或是其它类型的终端。终端设备40可包括主控终端40_1和被控终端40_2。主控终端40_1可以通过服务器20查看被控终端40_2的状态信息(例如城市的温度、湿度等信息),也可以向被控终端40_2发送命令交由被控终端40_2执行(例如开关传感器)。可以经由网络40实现终端设备40(如主控终端40_1、被控终端40_2)与服务器20的信息收发。网络50可以是广义上的用于信息传递的网络,可以包括一个或多个通信网络,诸如无线通信网络、因特网、私域网、局域网、城域网、广域网或是蜂窝数据网络等。
在随后的描述中仅就单个服务器20或终端设备40加以详述,但是本领域技术人员应当理解的是,示出的单个服务器20、终端设备40和数据库30旨在表示本申请的技术方案涉及终端设备、服务器及数据库的操作。对单个终端设备以及单个服务器和数据库加以详述至少为了说明方便,而非暗示对终端设备和服务器的类型或是位置等具有限制。应当注意,如果向图示环境中添加附加模块或从其中去除个别模块,不会改变本申请的示例实施例的底层概念。另外,虽然为了方便说明而在图中示出了从数据库30到服务器20的双向箭头,但本领域技术人员可以理解的是,上述数据的收发也是可以通过网络50实现的。
本申请实施例中,将数据结构按照嵌套数据结构进行组织。可划分为多层数据结构。例如第一层根节点的数据划分为命令信息和业务信息。第二层节点对命令信息和业务信息分别进一步进行划分。以此类推,可以根据实际需要划分节点的层数。将数据结构按照嵌套数据结构进行组织,有利于使得数据结构清晰,方便控制平台和被控终端之间进行信息交互和处理。此外,本申请实施例中采用protobuf可生成任一开发语言的可执行文件和读写接口,由此不需要对不同开发语言进行人工的代码编写。Protobuf相对于JSON文件,其提供了规范的标签形式,不需要JSON复杂的语法逻辑,故此可读性较好。JSON容易受到跨站请求伪造及跨站脚本攻击,跨站请求伪造是一种利用站点对用户浏览器信任发起攻击的方式,跨站脚本攻击是一种注入攻击。在使用JSON时常见的安全漏洞通常发生在JavaScript从服务器获取到一段JSON字符串并将其转化为JavaScript对象。而Protobuf无这两方面安全问题。故此,本申请采用Protobuf能够提高信息安全性。且能够支持更多种类的数据结构。在更新数据结构方面,也比较容易实现。
下面就如何生成可执行文件以及读写接口,并进一步结合如何进行数据通信对本申请实施例提供的基于多视窗系统的数据通信方法进行说明。
一、可执行文件和读写接口的生成
首先开发人员可以根据protobuf的标准要求,采用任何语言编写数据结构文件,来描述多层嵌套数据结构。例如,本申请实施例可以将嵌套数据结构划分为3层,当然具体实现时,可以根据实际需求增加或减少层数。同时可以更新数据结构,而不破坏由旧数据结构编译的已部署程序,即,使用以前数据结构的程序。
如图2所示,本申请实施例中可将嵌套数据结构划分为3层,包括:根数据信息结构层、第二层数据信息结构层、第三层数据信息结构层;其中:
1)根数据信息结构层
根数据信息结构层是嵌套数据的第一层,它仅用来区分命令信息(发送给被控终端的信息)及状态信息(业务层的数据信息,由被控终端返回的信息)。
2)第二层数据信息结构层
第二层数据信息结构层根据第一层的命令信息和状态信息,进行更进一步的划分。其中命令信息可划分为针对图像的图像命令信息,针对传感器的传感器命令信息,及其他的控制命令信息。
类似的,状态信息划分为图像状态信息,针对监控目标的目标识别状态信息,监控目标的目标跟踪状态信息,以及传感器状态信息。
3)第三层数据信息结构层
前两层已经包含了大部分命令信息及状态信息,但有些命令信息或状态信息还需要进一步划分。例如传感器命令及状态信息仍需要第三层数据信息结构层进行细分。其中传感器命令信息划分为电源命令信息、温湿度命令信息、GPS命令信息及IMU(Inertialmeasurement unit,测量物体三轴姿态角(或角速率)以及加速度的装置)命令信息。相应的,传感器状态信息划分为电源状态信息、温湿度状态信息、GPS状态信息及IMU状态信息。
基于上述的数据划分方式,可根据Protobuf的语法标准进行嵌套数据结构的定义。即编写成Protobuf文件。
A、Protobuf文件的编写。
1.1编写数据信息第一层
按照图2分解的数据结构,首先进行基础信息框架的编写,基础框架较为简单,仅仅区分命令信息与状态信息即可。具体可实施如下(下文括弧内的2层3层为对相应层数的注释):
Figure BDA0002517231090000081
1.2编写命令信息的第二层结构
按照图2分解的数据结构,进行命令信息的编写。命令信息结构体如下:
Figure BDA0002517231090000082
Figure BDA0002517231090000091
第三层信息结构如下:
Figure BDA0002517231090000092
同理,可基于相同的逻辑编写图像命令信息及传感器命令信息,后文不再赘述。
1.3编写状态信息
按照图2分解的数据结构,进行状态信息的编写。状态信息结构体如下:
Figure BDA0002517231090000093
第三层信息结构如下:
Figure BDA0002517231090000094
Figure BDA0002517231090000101
同理,可编写传感器状态信息,目标跟踪状态信息,目标识别状态信息,后文不再赘述。
在获得Protobuf文件之后,可以采用Protobuf编译器对其进行编译获得可执行文件和读写接口。
B、使用protoc编译器生成可执行文件和读写接口
前文定义的数据结构是面向开发者和业务程序的,并非面向存储和传输。因此需要使用protoc编译器进行编译。对于控制平台需要将命令信息序列化并提供写入接口,将状态信息反序列化并提供读取接口;对于业务层(即被控终端)需要将命令信息反序列化并提供读取接口,将状态信息序列化并提供写入接口。
使用protoc编译生成读写接口,需要生成何种开发语言的代码可以直接指定。例如可C++语言的读写接口。protoc--cpp_out=./project.proto。protoc是工具名,可以直接运行命令。--cpp_out是参数,指定生成C++代码,=后面指定生成的目录。project.proto是定义的文件。一共会生成两个文件(即可执行文件)。可执行文件包括project.pb.h和project.pb.cc,其中有生成的Account类中有这几个设置属性的方法。
可执行文件project.pb.h和project.pb.cc中定义了一些函数方法,例如可包括如何序列化、反序列化以及按照何种嵌套规则生成嵌套数据结构。
二、数据通信的实现
如图3所示,为本申请提供的基于多视窗系统的数据通信方法的流程示意图,可包括以下步骤:
步骤301:第一设备根据预先生成的可执行文件对目标数据按照预定义的嵌套数据结构进行序列化,获得序列化数据;其中,在所述嵌套数据结构中包括多个嵌套的数据结构层,不同数据结构层表示不同信息类别;所述可执行文件为预先采用protobuf编译器生成的;所述protobuf编译器还用于生成数据读写接口。
在一些实施例中,可使用Zigzag编码方式进行序列化编码序列化。其实例如图4所示,zigzag是一种变长的编码方式,能够使用无符号数来表示有符号数字,使得绝对值小的数字都可以采用较少字节来表示,特别对表示负数的数据能更好地进行数据压缩,进而实现了数据的序列化,降低传输的数据量。
步骤302:通过所述数据读写接口,将所述序列化数据发送给第二设备,以使所述第二设备根据所述嵌套数据结构对所述序列化数据进行解析得到所述目标数据。
其中,第一设备和第二设备包括控制平台和被控终端。例如第一设备为控制平台,则第二设备为被控终端;第一设备为被控终端,则第二设备为控制平台。
本申请实施例中,通过protobuf技术,能够支持并生成任何开发语言的读写接口。且如前文所述protobuf可支持不同类型的数据、可读性、安全性以及数据通信效率都较高。
在一些实施例中,如前文所述,嵌套数据结构的根数据结构层用于区分命令信息和状态信息,其中,所述命令信息中包括待执行命令,所述状态信息包括所述待执行命令的执行结果。待执行命令如图像命令信息,针对传感器的传感器命令信息,及其他的控制命令信息等。
在一些实施例中,为了便于对传输的数据量进行统计和分析,本申请实施例中,可以通过所述数据读写接口将所述序列化数据转换为数据流,并对数据流的数据量进行统计;然后将统计的数据量和所述数据流发送给所述第二设备,以使所述第二设备根据所述数据量对接收的数据流进行完整性校验。
如图5所示,为本申请实施例中采用数据流进行传输和接收的流程图。以命令信息为例,首先在第一层数据结构层定义为命令信息,然后建立第二层数据消息结构层以及第三层数据消息结构层,然后构建命令消息实例,然后通过二进制序列化将命令消息实例进行序列化,然后生成流格式的流数据存储至二进制数组中进行存储。然后设置每个命令信息的流数据的起始位置,通过统计流数据的数据量,进行数据传输。相应的在接收端,接收流数据,并找到流数据的起始位置,然后对命令信息进行反序列化,并存储反序列化后数据(如存储至二进制数组中),得到源数据。进一步,根据多层嵌套的数据结构,解析出第一次数据消息、第二层数据消息和第三层数据消息。
故此,在实施时,第一设备可以接收所述第二设备发送的待处理数据;然后采用所述可执行文件对所述待处理数据进行反序列化;在将反序列化得到的数据进行存储后,根据所述嵌套数据结构对存储的数据进行解析得到可操作数据;进一步的,可根据所述可操作数据,执行相应的操作。例如,若可操作数据为命令信息,则执行相应的待执行命令,并返回状态信息。若可操作数据为状态信息,则可以将状态信息进行汇总分析和展示。
在一些实施例中,可采用字符串-标签-值T-L-V存储方式进行存储。
基于相同的构思,本申请实施例还提出了一种基于多视窗系统的数据通信装置。
图6为根据本申请一个实施例的基于多视窗系统的数据通信装置的示意图。
如图6所示,该推荐装置600可以包括:
序列化模块601,用于根据预先生成的可执行文件对目标数据按照预定义的嵌套数据结构进行序列化,获得序列化数据;其中,在所述嵌套数据结构中包括多个嵌套的数据结构层,不同数据结构层表示不同信息类别;所述可执行文件为预先采用protobuf编译器生成的;所述protobuf编译器还用于生成数据读写接口;
通信模块602,用于通过所述数据读写接口,将所述序列化数据发送给第二设备,以使所述第二设备根据所述嵌套数据结构对所述序列化数据进行解析得到所述目标数据。
在一些实施例中,所述嵌套数据结构的根数据结构层用于区分命令信息和状态信息,其中,所述命令信息中包括待执行命令,所述状态信息包括所述待执行命令的执行结果。
在一些实施例中,所述通信模块,用于:
通过所述数据读写接口将所述序列化数据转换为数据流,并对数据流的数据量进行统计;
将统计的数据量和所述数据流发送给所述第二设备,以使所述第二设备根据所述数据量对接收的数据流进行完整性校验。
在一些实施例中,所述装置还包括:
接收模块,用于接收所述第二设备发送的待处理数据;
反序列化模块,用于采用所述可执行文件对所述待处理数据进行反序列化;
存储模块,用于将反序列化得到的数据进行存储;
解析模块,用于根据所述嵌套数据结构对存储的数据进行解析得到可操作数据;
执行模块,用于根据所述可操作数据,执行相应的操作。
在一些实施例中,所述通信模块,用于采用字符串-标签-值T-L-V存储方式进行存储。
在介绍了本申请示例性实施方式的一种基于多视窗系统的数据通信方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本申请的电子设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的单视角人体姿态识别方法中的步骤。例如,处理器可以执行如图3或图5所示的步骤。
下面参照图7来描述根据本申请的这种实施方式的电子设备130。图7显示的电子设备130仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子设备130以通用电子设备的形式表现。电子设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。
存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备130交互的设备通信,和/或与使得该电子设备130能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,电子设备130还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于电子设备130的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的基于多视窗系统的数据通信方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种基于多视窗系统的数据通信法中的步骤,例如,计算机设备可以执行如图3或图5所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于基于多视窗系统的数据通信的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (12)

1.一种基于多视窗系统的数据通信方法,其特征在于,包括:
第一设备根据预先生成的可执行文件对目标数据按照预定义的嵌套数据结构进行序列化,获得序列化数据;其中,在所述嵌套数据结构中包括多个嵌套的数据结构层,不同数据结构层表示不同信息类别;所述可执行文件为预先采用protobuf编译器生成的;所述protobuf编译器还用于生成数据读写接口;
通过所述数据读写接口,将所述序列化数据发送给第二设备,以使所述第二设备根据所述嵌套数据结构对所述序列化数据进行解析得到所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述嵌套数据结构的根数据结构层用于区分命令信息和状态信息,其中,所述命令信息中包括待执行命令,所述状态信息包括所述待执行命令的执行结果。
3.根据权利要求1所述的方法,其特征在于,所述通过所述数据读写接口,将所述序列化数据发送给第二设备,包括:
通过所述数据读写接口将所述序列化数据转换为数据流,并对数据流的数据量进行统计;
将统计的数据量和所述数据流发送给所述第二设备,以使所述第二设备根据所述数据量对接收的数据流进行完整性校验。
4.根据权利要求1-3中任一所述的方法,其特征在于,所述方法还包括:
接收所述第二设备发送的待处理数据;
采用所述可执行文件对所述待处理数据进行反序列化;
将反序列化得到的数据进行存储;
根据所述嵌套数据结构对存储的数据进行解析得到可操作数据;
根据所述可操作数据,执行相应的操作。
5.根据权利要求4所述的方法,其特征在于,所述将反序列化得到的数据进行存储,包括:
采用字符串-标签-值T-L-V存储方式进行存储。
6.一种基于多视窗系统的数据通信装置,其特征在于,包括:
序列化模块,用于根据预先生成的可执行文件对目标数据按照预定义的嵌套数据结构进行序列化,获得序列化数据;其中,在所述嵌套数据结构中包括多个嵌套的数据结构层,不同数据结构层表示不同信息类别;所述可执行文件为预先采用protobuf编译器生成的;所述protobuf编译器还用于生成数据读写接口;
通信模块,用于通过所述数据读写接口,将所述序列化数据发送给第二设备,以使所述第二设备根据所述嵌套数据结构对所述序列化数据进行解析得到所述目标数据。
7.根据权利要求6所述的装置,其特征在于,所述嵌套数据结构的根数据结构层用于区分命令信息和状态信息,其中,所述命令信息中包括待执行命令,所述状态信息包括所述待执行命令的执行结果。
8.根据权利要求6所述的装置,其特征在于,所述通信模块,用于:
通过所述数据读写接口将所述序列化数据转换为数据流,并对数据流的数据量进行统计;
将统计的数据量和所述数据流发送给所述第二设备,以使所述第二设备根据所述数据量对接收的数据流进行完整性校验。
9.根据权利要求6-8中任一所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收所述第二设备发送的待处理数据;
反序列化模块,用于采用所述可执行文件对所述待处理数据进行反序列化;
存储模块,用于将反序列化得到的数据进行存储;
解析模块,用于根据所述嵌套数据结构对存储的数据进行解析得到可操作数据;
执行模块,用于根据所述可操作数据,执行相应的操作。
10.根据权利要求9所述的装置,其特征在于,所述通信模块,用于采用字符串-标签-值T-L-V存储方式进行存储。
11.一种电子设备,其特征在于,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行根据权利要求1-5中任何一项所述的方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序用于使计算机执行根据权利要求1-5中任何一项所述的方法。
CN202010480681.1A 2020-05-30 2020-05-30 基于多视窗系统的数据通信方法及相关装置 Pending CN111935065A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010480681.1A CN111935065A (zh) 2020-05-30 2020-05-30 基于多视窗系统的数据通信方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010480681.1A CN111935065A (zh) 2020-05-30 2020-05-30 基于多视窗系统的数据通信方法及相关装置

Publications (1)

Publication Number Publication Date
CN111935065A true CN111935065A (zh) 2020-11-13

Family

ID=73317322

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010480681.1A Pending CN111935065A (zh) 2020-05-30 2020-05-30 基于多视窗系统的数据通信方法及相关装置

Country Status (1)

Country Link
CN (1) CN111935065A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040133768A1 (en) * 2003-01-08 2004-07-08 Thimmannagari Chandra M. R. Method and apparatus to handle window management instructions without post serialization in an out of order multi-issue processor supporting multiple strands
US7092466B2 (en) * 2001-12-17 2006-08-15 Broadcom Corporation System and method for recovering and deserializing a high data rate bit stream
CN103036641A (zh) * 2011-09-29 2013-04-10 北京新媒传信科技有限公司 数据交换方法、系统及反序列化方法
CN103281311A (zh) * 2013-05-12 2013-09-04 南京载玄信息科技有限公司 一种使用Protobuf描述的物联网协议解析方法
CN104077335A (zh) * 2013-05-07 2014-10-01 腾讯科技(深圳)有限公司 一种结构化数据的序列化、反序列化方法、装置和系统
WO2018201102A1 (en) * 2017-04-27 2018-11-01 Snap Inc. Friend location sharing mechanism for social media platforms
CN110032368A (zh) * 2019-04-22 2019-07-19 成都四方伟业软件股份有限公司 信息配置方法及装置
CN110515893A (zh) * 2019-07-26 2019-11-29 济南浪潮数据技术有限公司 数据存储方法、装置、设备及计算机可读存储介质
CN110673856A (zh) * 2019-09-30 2020-01-10 新华三大数据技术有限公司 一种数据处理方法、装置及机器可读存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7092466B2 (en) * 2001-12-17 2006-08-15 Broadcom Corporation System and method for recovering and deserializing a high data rate bit stream
US20040133768A1 (en) * 2003-01-08 2004-07-08 Thimmannagari Chandra M. R. Method and apparatus to handle window management instructions without post serialization in an out of order multi-issue processor supporting multiple strands
CN103036641A (zh) * 2011-09-29 2013-04-10 北京新媒传信科技有限公司 数据交换方法、系统及反序列化方法
CN104077335A (zh) * 2013-05-07 2014-10-01 腾讯科技(深圳)有限公司 一种结构化数据的序列化、反序列化方法、装置和系统
CN103281311A (zh) * 2013-05-12 2013-09-04 南京载玄信息科技有限公司 一种使用Protobuf描述的物联网协议解析方法
WO2018201102A1 (en) * 2017-04-27 2018-11-01 Snap Inc. Friend location sharing mechanism for social media platforms
CN110032368A (zh) * 2019-04-22 2019-07-19 成都四方伟业软件股份有限公司 信息配置方法及装置
CN110515893A (zh) * 2019-07-26 2019-11-29 济南浪潮数据技术有限公司 数据存储方法、装置、设备及计算机可读存储介质
CN110673856A (zh) * 2019-09-30 2020-01-10 新华三大数据技术有限公司 一种数据处理方法、装置及机器可读存储介质

Similar Documents

Publication Publication Date Title
US10026041B2 (en) Interoperable machine learning platform
US9990187B1 (en) Analytic execution for automatic decision making
EP3971706B1 (en) Method, apparatus and electronic device for deploying operator in deep learning frame work
US11514355B2 (en) Flat representation of machine learning model
US10261877B2 (en) Systems and methods for testing mobile devices
CN112418427A (zh) 深度学习的统一推理服务的提供方法、装置、系统及设备
CN111858104B (zh) 多端适配的表单生成方法、装置、设备和介质
CN114996619A (zh) 一种页面显示的方法、装置、计算机设备及存储介质
CN113127136B (zh) Docker镜像生成方法及装置、存储介质、电子设备
CN110377273B (zh) 一种数据处理的方法、装置、介质和电子设备
CN116405091B (zh) 一种遥测数据的解析方法、装置、电子设备及存储介质
CN113377342B (zh) 一种项目构建方法、装置、电子设备及存储介质
CN116781586A (zh) 一种gRPC流量解析方法、装置、设备及介质
CN115567526B (zh) 数据监控方法、装置、设备及介质
CN111935065A (zh) 基于多视窗系统的数据通信方法及相关装置
CN113836235B (zh) 基于数据中台的数据处理方法及其相关设备
US11797277B2 (en) Neural network model conversion method server, and storage medium
CN111309323B (zh) 参数初始化方法、装置和电子设备
CN113656044B (zh) 安卓安装包压缩方法、装置、计算机设备及存储介质
CN106663007B (zh) 使工具运作于作业环境的方法以及应用该方法的机器
CN109697167A (zh) 测试变量的管理方法、系统、电子设备和存储介质
CN117850956B (zh) 应用包数据处理方法、装置、电子设备与计算机可读介质
US11689630B2 (en) Request processing method and apparatus, electronic device, and computer storage medium
WO2021249118A1 (zh) 生成、注册ui服务包、以及加载ui服务的方法及装置
CN115795469A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201113

RJ01 Rejection of invention patent application after publication