CN108228912A - 一种业务数据的处理方法及相关装置 - Google Patents
一种业务数据的处理方法及相关装置 Download PDFInfo
- Publication number
- CN108228912A CN108228912A CN201810146328.2A CN201810146328A CN108228912A CN 108228912 A CN108228912 A CN 108228912A CN 201810146328 A CN201810146328 A CN 201810146328A CN 108228912 A CN108228912 A CN 108228912A
- Authority
- CN
- China
- Prior art keywords
- data
- service
- item
- general
- conventional data
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- 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
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种业务数据的处理方法及相关装置,所述方法包括:第一设备获取待处理的初始业务数据;其中,所述初始业务数据包括业务属性类型和业务属性值;对所述初始业务数据进行数据转换,获得通用业务数据;其中,所述通用业务数据包括至少一个通用数据项,每个通用数据项包括业务标识和可变类型数据,所述业务标识为所述业务属性类型对应的唯一标识,所述可变类型数据包括业务属性值和所述业务属性值对应的数据类型;对所述通用业务数据进行序列化处理,获得序列化数据;向所述第二设备发送所述序列化数据。可见,本发明实施例实现了无版本交互,不仅处理逻辑简单因此减少了工作量,而且能够支持对数据类型进行修改。
Description
技术领域
本申请涉及通信技术领域,尤其是涉及一种业务数据的处理方法及相关装置。
背景技术
设备之间需要约定双方的通信协议,按照通信协议规定的数据格式传输业务数据。然而,由于协议版本更新不及时等原因,在一些情况下多个设备使用不同的协议版本,例如客户端使用协议版本1,而服务器使用协议版本2,这种情况下将导致客户端和服务器无法识别对方传输的业务数据,因此无法进行业务数据传输。
针对上述技术问题,一种方式是根据版本号管理曾经使用过的多个协议版本,根据不同版本的通信协议,处理接收或者发送的业务数据。然而,这种方式不仅需要对多个协议版本进行管理以及根据不同版本的通信协议处理业务数据,处理逻辑复杂,从而导致较大的工作量,而且需要对数据类型、长度进行严格定义,不支持对数据类型进行修改。
发明内容
本申请解决的技术问题在于提供一种业务数据的处理方法及相关装置,不需要根据版本号管理曾经使用过的多个协议版本,不仅处理逻辑简单因此减少了工作量,而且支持对数据类型进行修改。
为此,本申请解决技术问题的技术方案是:
本申请提供了一种业务数据的处理方法,包括:
第一设备获取待处理的初始业务数据;其中,所述初始业务数据包括业务属性类型和业务属性值;
所述第一设备对所述初始业务数据进行数据转换,获得通用业务数据;其中,所述通用业务数据包括至少一个通用数据项,每个通用数据项包括业务标识和可变类型数据,所述业务标识为所述业务属性类型对应的唯一标识,所述可变类型数据包括业务属性值和所述业务属性值对应的数据类型;
所述第一设备对所述通用业务数据进行序列化处理,获得序列化数据;
所述第一设备向所述第二设备发送所述序列化数据。
可选的,其中,所述序列化数据包括所述通用业务数据对应的数据长度和/或通用数据项的个数,还包括依次排列的序列化数据集合,每个序列化数据集合通过对所述通用业务数据中的一个通用数据项序列化后得到,包括按照预设顺序排列的、该通用数据项对应的业务标识、业务属性值对应的数据类型和业务属性值。
可选的,还包括:
所述第一设备对所述通用业务数据进行序列化处理,获得序列化数据,包括:
所述第一设备生成包括多个通用数据项的通用数据集合;
所述第一设备对所述通用数据集合进行序列化处理,获得序列化数据。
可选的,还包括:
所述第一设备接收对所述通用业务数据的数据修改请求,所述数据修改请求中包括第一业务标识和修改项;所述第一业务标识为待修改的通用数据项对应的业务标识,所述修改项包括业务属性值和/或所述业务属性值对应的数据类型;
所述第一设备确定出所述第一业务标识对应的第一通用数据项,对所述第一通用数据项中的所述修改项执行增加通用数据项、删除通用数据项、改动通用数据项中的内容中的任一项或者多项修改。
可选的,还包括:
所述第一设备接收对所述通用业务数据的数据读取请求,所述数据读取请求中包括第二业务标识,所述第二业务标识为待读取的通用数据项对应的业务标识;
所述第一设备确定所述通用业务数据是否存在所述第二业务标识对应的第二通用数据项,如果是,读取所述第二通用数据项中的可变类型数据,如果否,生成默认值并将所述默认值作为所述第二通用数据项中的业务属性值。
本申请提供了一种业务数据的处理方法,包括:
第二设备接收第一设备发送的序列化数据;
所述第二设备对所述序列化数据进行反序列化处理,获得通用业务数据;其中,所述通用业务数据包括至少一个通用数据项,每个通用数据项包括业务标识和可变类型数据,所述业务标识为所述业务属性类型对应的唯一标识,所述可变类型数据包括业务属性值和所述业务属性值对应的数据类型;
所述第二设备对所述通用业务数据进行数据转换,获得初始业务数据;其中,所述初始业务数据包括业务属性类型和业务属性值。
可选的,其中,所述序列化数据包括所述通用业务数据对应的数据长度和/或通用数据项的个数,还包括依次排列的序列化数据集合,每个序列化数据集合通过对所述通用业务数据中的一个通用数据项序列化后得到,包括按照预设顺序排列的、该通用数据项对应的业务标识、业务属性值对应的数据类型和业务属性值。
可选的,所述第二设备对所述序列化数据进行反序列化处理,获得通用业务数据,包括:
所述第二设备对所述序列化数据进行反序列化处理,获得包括多个通用业务数据的通用数据集合;
所述第二设备对所述通用数据集合进行拆分,获得所述通用数据集合中包括的多个通用数据项。
可选的,还包括:
所述第二设备接收对所述通用业务数据的数据修改请求,所述数据修改请求中包括第一业务标识和修改项;所述第一业务标识为待修改的通用数据项对应的业务标识,所述修改项包括业务属性值和/或所述业务属性值对应的数据类型;
所述第二设备确定出所述第一业务标识对应的第一通用数据项,对所述第一通用数据项中的所述修改项执行增加通用数据项、删除通用数据项、改动通用数据项中的内容中的任一项或者多项修改。
可选的,所述第二设备接收对所述通用业务数据的数据读取请求,所述数据读取请求中包括第二业务标识,所述第二业务标识为待读取的通用数据项对应的业务标识;
所述第二设备确定所述通用业务数据是否存在所述第二业务标识对应的第二通用数据项,如果是,读取所述第二通用数据项中的可变类型数据,如果否,生成默认值并将所述默认值作为所述第二通用数据项中的业务属性值。
本申请提供了一种第一设备,包括:
获取单元,用于获取待处理的初始业务数据;其中,所述初始业务数据包括业务属性类型和业务属性值;
转换单元,用于对所述初始业务数据进行数据转换,获得通用业务数据;其中,所述通用业务数据包括至少一个通用数据项,每个通用数据项包括业务标识和可变类型数据,所述业务标识为所述业务属性类型对应的唯一标识,所述可变类型数据包括业务属性值和所述业务属性值对应的数据类型;
序列化单元,用于对所述通用业务数据进行序列化处理,获得序列化数据;
发送单元,用于向所述第二设备发送所述序列化数据。
可选的,其中,所述序列化数据包括所述通用业务数据对应的数据长度和/或通用数据项的个数,还包括依次排列的序列化数据集合,每个序列化数据集合通过对所述通用业务数据中的一个通用数据项序列化后得到,包括按照预设顺序排列的、该通用数据项对应的业务标识、业务属性值对应的数据类型和业务属性值。
可选的,所述序列化单元,包括:
生成子单元,用于生成包括多个通用数据项的通用数据集合;
序列化子单元,用于对所述通用数据集合进行序列化处理,获得序列化数据。
可选的,还包括:
第一接收单元,用于接收对所述通用业务数据的数据修改请求,所述数据修改请求中包括第一业务标识和修改项;所述第一业务标识为待修改的通用数据项对应的业务标识,所述修改项包括业务属性值和/或所述业务属性值对应的数据类型;
修改单元,用于确定出所述第一业务标识对应的第一通用数据项,对所述第一通用数据项中的所述修改项执行增加通用数据项、删除通用数据项、改动通用数据项中的内容中的任一项或者多项修改。
可选的,还包括:
第二接收单元,用于接收对所述通用业务数据的数据读取请求,所述数据读取请求中包括第二业务标识,所述第二业务标识为待读取的通用数据项对应的业务标识;
读取单元,用于确定所述通用业务数据是否存在所述第二业务标识对应的第二通用数据项,如果是,读取所述第二通用数据项中的可变类型数据,如果否,生成默认值并将所述默认值作为所述第二通用数据项中的业务属性值。
本申请提供了一种第二设备,包括:
接收单元,用于接收第一设备发送的序列化数据;
反序列化单元,用于对所述序列化数据进行反序列化处理,获得通用业务数据;其中,所述通用业务数据包括至少一个通用数据项,每个通用数据项包括业务标识和可变类型数据,所述业务标识为所述业务属性类型对应的唯一标识,所述可变类型数据包括业务属性值和所述业务属性值对应的数据类型;
转换单元,用于对所述通用业务数据进行数据转换,获得初始业务数据;其中,所述初始业务数据包括业务属性类型和业务属性值。
可选的,其中,所述序列化数据包括所述通用业务数据对应的数据长度和/或通用数据项的个数,还包括依次排列的序列化数据集合,每个序列化数据集合通过对所述通用业务数据中的一个通用数据项序列化后得到,包括按照预设顺序排列的、该通用数据项对应的业务标识、业务属性值对应的数据类型和业务属性值。
可选的,所述反序列化单元包括:
反序列化子单元,用于对所述序列化数据进行反序列化处理,获得包括多个通用业务数据的通用数据集合;
拆分子单元,用于对所述通用数据集合进行拆分,获得所述通用数据集合中包括的多个通用数据项。
可选的,还包括:
第一接收单元,用于接收对所述通用业务数据的数据修改请求,所述数据修改请求中包括第一业务标识和修改项;所述第一业务标识为待修改的通用数据项对应的业务标识,所述修改项包括业务属性值和/或所述业务属性值对应的数据类型;
修改单元,用于确定出所述第一业务标识对应的第一通用数据项,对所述第一通用数据项中的所述修改项执行增加通用数据项、删除通用数据项、改动通用数据项中的内容中的任一项或者多项修改。
可选的,还包括:
第二接收单元,用于接收对所述通用业务数据的数据读取请求,所述数据读取请求中包括第二业务标识,所述第二业务标识为待读取的通用数据项对应的业务标识;
读取单元,用于确定所述通用业务数据是否存在所述第二业务标识对应的第二通用数据项,如果是,读取所述第二通用数据项中的可变类型数据,如果否,生成默认值并将所述默认值作为所述第二通用数据项中的业务属性值。
通过上述技术方案可知,本申请实施例中在将初始业务数据通过具有通用性的通用业务数据表示,其中,所述通用业务数据包括至少一个通用数据项,每个通用数据项包括业务标识和可变类型数据,所述业务标识为所述业务属性类型对应的唯一标识,所述可变类型数据包括业务属性值和所述业务属性值对应的数据类型,并且将通用业务数据进行序列化处理后再进行传输。可见,本发明实施例中通过具有特定格式的通用业务数据,实现不同设备之间的数据传输,因此实现了无版本交互,不需要根据版本号管理曾经使用过的多个协议版本,不仅处理逻辑简单因此减少了工作量,而且通过通用业务数据的特定格式,即包括业务标识和可变类型数据,以及可变类型数据的具体格式,能够支持对数据类型进行修改。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种方法实施例的流程示意图;
图2为本申请实施例提供的一种数据流向示意图;
图3为本申请实施例提供的一种数据结构示意图;
图4为本申请实施例提供的另一种方法实施例的流程示意图;
图5为本申请实施例提供的一种装置实施例的结构示意图;
图6为本申请实施例提供的另一种装置实施例的结构示意图。
具体实施方式
设备之间需要约定双方的通信协议,按照通信协议规定的数据格式传输业务数据,例如在客户端/服务器(C/S)架构中,客户端和服务器需要约定双方的通信协议。而通用协议经常会需要进行版本的升级,对于客户端和服务器版协议版本相同的情况下,能够进行正常的业务数据传输,然而,在一些情况下,客户端和服务器等设备之间使用不同的协议版本,例如客户端使用协议版本1,而服务器使用协议版本2,这种情况下将导致客户端和服务器无法识别对方传输的业务数据,因此无法进行业务数据传输。例如,协议版本更新不及时(例如不同项目组间开发进度不同、成本不同等原因、或者大型石化、化工行业为了保证安全性不能够停车检修),又例如,为了提高安全性,即便存在新版本的通信协议,也需要部分设备使用老版本的通信协议,避免对所有设备都失去监控的情况。
针对上述技术问题,一种方式是根据版本号管理曾经使用过的多个协议版本,根据不同版本的通信协议,处理接收或者发送的业务数据。然而,这种方式存在以下技术问题:1、需要对多个协议版本进行管理以及根据不同版本的通信协议处理业务数据,处理逻辑复杂,从而导致较大的工作量;2、不支持没有使用过的协议版本,因此不能识别没有使用过的协议版本的数据;3、需要对数据类型、长度进行严格定义,不支持对数据类型进行修改;4、不能支持删除和修改数据的问题:对于不同的协议版本,序列化后的数据是格式不同的二进制数据流,而解析不同格式的二进制数据流需要按照顺序才能进行解析,因此删除或者修改数据时会导致解析的时候失败或者由于格式错位获取到错误的数据。
另一种方式是采用通用格式的JAON格式或者BSON格式的数据,然而,这种方式存在以下技术问题:1、JAON格式的数据对所有数据均以字符串形式表示,不适用于采用的数据主要为整型、浮点数类型的场景;2、JAON格式或者BSON格式支持的数据类型有限,不支持时间类型、长整型等,也不支持对数据类型进行修改。
另一种方式是使用Protocal Buffer、Thrift、Avro等开源框架,然而这种方式存在以下技术问题:1、Protocal Buffer和Thrift不支持数据内容的动态设置,修改数据后通信对端需要重新编译,2、Avro针对数据模式进行版本管理。3、以上三种开源框架均不支持对数据类型进行修改
可见,上述几种方式中,普遍都不能支持对数据类型进行修改。
本申请解决的技术问题在于提供一种业务数据的处理方法及相关装置,能够解决上述技术问题中的一种或多种,例如,不需要根据版本号管理曾经使用过的多个协议版本,处理逻辑简单因此减少了工作量。而且,本申请还需要强调的是,能够支持对数据类型进行修改。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
请参阅图1和图2,本申请提供了业务数据的处理方法的一种方法实施例。本实施例的所述方法包括:
S101:第一设备获取待处理的初始业务数据。
其中,所述初始业务数据包括业务属性类型和业务属性值。例如图3所示,所述初始业务数据可以表示为:Name:AI0001,Value:100.00,TimeStamp:82912324等等。其中,Name、Value和TimeStamp分别表示业务属性类型,代表含义分别为:数据名称、数据值和时间标签,AI0001、100.00和82912324分别表示业务属性类型对应的业务属性值。
S102:所述第一设备对所述初始业务数据进行数据转换,获得通用业务数据。
其中,所述通用业务数据包括至少一个通用数据项,每个通用数据项包括业务标识和可变类型数据两个字段。例如图3所示,通用业务数据包括3个通用数据项:1:VARIANT{VT_BSTR,“AI0001”}、2:VARIANT{VT_REAL,“100.00”}和3:VARIANT{VT_UINT64,“82912324”}。下面对业务标识和可变类型数据进行具体说明。
所述业务标识为所述业务属性类型对应的唯一标识,可以为任意数据类型(例如可以用整型数据表示),用于识别业务属性类型,并且需保证业务标识的全局唯一性,即相同的业务属性类型具有同一业务标识。例如图3所示,业务属性类型Name、Value和TimeStamp分别对应的业务标识为:1、2和3。
所述可变类型数据包括业务属性值和所述业务属性值对应的数据类型。可变类型数据指的是数据类型可以发生改变的数据,例如,在实际使用前可以不指定数据类型,具体的数据类型通过结构中专用的类型属性来指定,通常也支持常用数据类型之间的类型转换。在Windows环境下可以采用VARIANT或者POPVARIANT数据类型表示,或者也可以采用自定义的数据类型。并且,该可变类型数据支持常用的基本数据类型,例如整型(包括短整型和长整型)、浮点数类型、时间类型、字符串类型等,还可以进一步支持基本数据类型复合而成的复杂数据类型,例如数组、树形数据等。下面对可变类型数据进行举例说明,例如图3所示,可变类型数据分别包括VARIANT{VT_BSTR,“AI0001”}、VARIANT{VT_REAL,“100.00”}和VARIANT{VT_UINT64,“82912324”},其中,VT_BSTR、VT_REAL和VT_UINT64分别为数据类型,用于分别代表字符串、浮点数类型和64位整型格式,AI0001、100.00和82912324分别为业务属性值。
S103:所述第一设备对所述通用业务数据进行序列化处理,获得序列化数据。
第一设备再将通用业务数据进行传输前,需要进行序列化处理。其中,本发明实施例对序列化处理后得到的序列化数据的具体数据格式并不加以限定,例如,可以为以下一种具体数据格式。
序列化处理后的序列化数据包括所述通用业务数据对应的数据长度和/或通用数据项的个数,还包括依次排列的序列化数据集合。其中,每个序列化数据集合通过对所述通用业务数据中的一个通用数据项序列化后得到,包括按照预设顺序排列的、该通用数据项对应的业务标识、业务属性值对应的数据类型和业务属性值。其中,每个业务标识、数据类型和业务属性值可以分别占用一个字段。例如图3所示,序列化数据包括通用业务数据对应的数据长度(长度单位可以为字节)、通用数据项的个数、以及依次排列的序列化数据集合,其中,第一个序列化数据集合包括对通用数据项:1:VARIANT{VT_BSTR,“AI0001”}序列化后得到的,包括按照先后顺序排列的:业务标识、数据类型和业务属性值,其中序列化数据集合中的第一个字段为业务标识:1,第二个字段为数据类型:VT_BSTR,第三个字段为业务属性值:AI0001。
在本发明实施例中,为了使得业务数据的表示上更加合理,增强业务数据的可读性,第一设备可以将一组具有相关性的通用数据项进行组合,得到通用数据集合,并对通用数据集合进行序列化。具体地,S103包括:所述第一设备生成包括多个通用业务数据的通用数据集合;对所述通用数据集合进行序列化处理,获得序列化数据。
其中,通用数据项可以用于表示单个业务数据,通过通用数据集合表示多个业务数据组成的一组业务数据,例如,通用数据项表示单个人的信息,通用数据集合表示一个班级、一个学院或者一个学校的信息。
举例说明,在图3中,一个完整的数据信息包括数据名称、数据值和时间标签,则可以通过图3所示的3个分别用于表示数据名称、数据值和时间标签的通用数据项:1:VARIANT{VT_BSTR,“AI0001”}、2:VARIANT{VT_REAL,“100.00”}和3:VARIANT{VT_UINT64,“82912324”},组成一个通用数据集合。又例如,通用数据项也可以为数组结构,通过多个相关的数组组成一个通用数据集合:通用数据项1表示部门经理的名称、年龄、职称等信息,通用数据项2和通用数据项3分别表示部门两个员工的姓名、年龄、职称等信息,通用数据项4表示该部门所在办公地址的信息。则以上四个通用数据项组合成一个通用数据集合中就可以表示一个部门的所有信息。组合方式在实现时可以自由定义组合方式,例如使用时可以使用固定长度为4个元素的数组,第一个数组表示部门经理的信息,第二个数组表示办公地址的信息,第三个数组和第四个数组分别表示两个员工的信息。
S104:所述第一设备向所述第二设备发送所述序列化数据。
可见,本发明实施例中通过具有特定格式的通用业务数据,实现不同设备之间的数据传输,因此实现了无版本交互,不需要根据版本号管理曾经使用过的多个协议版本,不仅处理逻辑简单因此减少了工作量,而且通过通用业务数据的特定格式,即包括业务标识和可变类型数据,以及可变类型数据的具体格式,能够支持对数据类型进行修改,不需要对数据类型和长度等进行严格定义。
此外,本申请实施例还可以具有以下技术效果:
1、支持多种数据类型。具体支持常用的基本数据类型,例如整型(包括短整型和长整型)、浮点数类型、时间类型、字符串类型等,还可以进一步支持基本数据类型复合而成的复杂数据类型,例如数组等。
2、支持对多种混合的数据类型的序列化。
3、修改通用业务数据后,通信对端即第二设备不需要重新编译。
可选的,本发明实施例中还能够支持数据的增加、删除、改动内容等修改方式。下面具体说明。
所述第一设备接收对所述通用业务数据的数据修改请求,所述数据修改请求中包括第一业务标识和修改项;所述第一业务标识为待修改的通用数据项对应的业务标识,所述修改项包括业务属性值和/或所述业务属性值对应的数据类型。所述第一设备确定出所述第一业务标识对应的第一通用数据项,对所述第一通用数据项中的所述修改项执行增加通用数据项、删除通用数据项、改动通用数据项中的内容中的任一项或者多项修改。其中,当需要执行增加通用数据项和改动通用数据项中的内容时,数据修改请求中还会包括增加或者改动的修改内容。
例如图3所示,所述第一业务标识为2,修改项为数据类型,修改内容为将数据类型修改为字符类型,因此,将业务标识为2的通用数据项中的数据类型从浮点类型修改为字符类型,即,将VARIANT{VT_REAL,“100.00”}修改为VARIANT{VT_BSTR,“100.00”}。
可选的,本发明实施例中还能够支持对业务属性的动态扩展和调整。具体,可以根据业务需求,增加或者修改业务类型,例如,增加业务标识:4,该业务标识用于表示摄像机标识。而且,在本发明实施例中,还能够实现设备之间的数据前向兼容性和后向兼容性。其中,前向兼容性指的是需要读取的业务类型的个数多于通用业务数据中的业务类型的个数时的兼容性,后向兼容性指的是需要读取的业务类型的个数少于通用业务数据中的业务类型的个数时的兼容性。下面具体说明。
所述第一设备接收对所述通用业务数据的数据读取请求,所述数据读取请求中包括第二业务标识,所述第二业务标识为待读取的通用数据项对应的业务标识;所述第一设备确定所述通用业务数据是否存在所述第二业务标识对应的第二通用数据项,如果是,读取所述第二通用数据项中的可变类型数据,如果否,生成默认值并将所述默认值作为所述第二通用数据项中的业务属性值。
例如图3所示,若所述第二业务标识为1,第一设备确定出存在所述第二业务标识对应的通用数据项,读取该通用数据项。若所述第二业务标识为4,第一设备确定不存在所述第二业务标识对应的通用数据项,生成默认值0或者空字符串等等预定义的默认值,将该默认值作为业务标识为4的通用数据项对应的业务属性值,并且在返回读取的通用数据项时,提示该通用数据项中对应的业务属性值为空。
因此,本发明实施例中,当需要读取的业务类型的个数多于通用业务数据中的业务类型的个数时,例如需要读取业务标识1至4对应的通用数据项,而通用业务数据中包括业务标识1至3对应的通用数据项时,可以读取通用业务数据中的业务标识1至3对应的通用数据项,并且生成默认值对应的通用数据项作为业务标识4对应的通用数据项,并对读取的以及生成的通用数据项进行相应的后续操作,其中在返回业务标识1至4对应的通用数据项时,提示业务标识4对应的通用数据项中对应的业务属性值为空,从而实现了前向兼容性。而当需要读取的业务类型的个数少于通用业务数据中的业务类型的个数时,例如需要读取业务标识1至3对应的通用数据项,而通用业务数据中包括业务标识1至4对应的通用数据项时,可以读取通用业务数据中的业务标识1至3对应的通用数据项,并对读取的通用数据项进行相应的后续操作,从而实现了后向兼容性。
可见,本发明实施例中能够支持对不存在的业务标识的设置,因此能够支持不同设备之间的数据兼容性。
可选的,本发明实施例中,序列化时可采用可配置大小并定时清理的内存池技。其中,内存池中可以存储序列化时所需的缓存数据,例如,通用业务数据在转换成序列化数据时需要临时缓存,在将序列化数据发送到第二设备之后,会将此临时缓存释放。内存池为临时缓存提供对应的内存资源,具有效率较高的优点,有助于提升序列化执行速度,显著地提高序列化传输的性能。
在本发明实施例中,第二设备接收到第一设备发送的序列化数据之后,可以对其进行解析成通用业务数据,并对通用业务数据转化得到初始业务数据,下面具体说明。
请参阅图4和图2,本申请提供了业务数据的处理方法的另一种方法实施例。本实施例的所述方法包括:
S401:第二设备接收第一设备发送的序列化数据。
其中,所述序列化数据可以是通过上述任一种实施例中获得的序列化数据。例如,该序列化数据可以为以下一种具体数据格式。
序列化数据包括所述通用业务数据对应的数据长度和/或通用数据项的个数,还包括依次排列的序列化数据集合。其中,每个序列化数据集合通过对通用业务数据中的一个通用数据项序列化后得到,包括按照预设顺序排列的、该通用数据项对应的业务标识、业务属性值对应的数据类型和业务属性值。其中,每个业务标识、数据类型和业务属性值可以分别占用一个字段。例如图3所示,序列化数据包括通用业务数据对应的数据长度(长度单位可以为字节)、通用数据项的个数、以及依次排列的序列化数据集合,其中,第一个序列化数据集合包括对通用数据项:1:VARIANT{VT_BSTR,“AI0001”}序列化后得到的,包括按照先后顺序排列的:业务标识、数据类型和业务属性值,其中序列化数据集合中的第一个字段为业务标识:1,第二个字段为数据类型:VT_BSTR,第三个字段为业务属性值:AI0001。
S402:所述第二设备对所述序列化数据进行反序列化处理,获得通用业务数据。
其中,所述通用业务数据包括至少一个通用数据项,每个通用数据项包括业务标识和可变类型数据两个字段。例如图3所示,通用业务数据包括3个通用数据项:1:VARIANT{VT_BSTR,“AI0001”}、2:VARIANT{VT_REAL,“100.00”}和3:VARIANT{VT_UINT64,“82912324”}。下面对业务标识和可变类型数据进行具体说明。
所述业务标识为所述业务属性类型对应的唯一标识,可以为任意数据类型(例如可以用整型数据表示),用于识别业务属性类型,并且需保证业务标识的全局唯一性,即相同的业务属性类型具有同一业务标识。例如图3所示,业务属性类型Name、Value和TimeStamp分别对应的业务标识为:1、2和3。
所述可变类型数据包括业务属性值和所述业务属性值对应的数据类型。可变类型数据指的是数据类型可以发生改变的数据,例如,在实际使用前可以不指定数据类型,具体的数据类型通过结构中专用的类型属性来指定,通常也支持常用数据类型之间的类型转换。在Windows环境下可以采用VARIANT或者POPVARIANT数据类型表示,或者也可以采用自定义的数据类型。并且,该可变类型数据支持常用的基本数据类型,例如整型(包括短整型和长整型)、浮点数类型、时间类型、字符串类型等,还可以进一步支持基本数据类型复合而成的复杂数据类型,例如数组、树形数据等。下面对可变类型数据进行举例说明,例如图3所示,可变类型数据分别包括VARIANT{VT_BSTR,“AI0001”}、VARIANT{VT_REAL,“100.00”}和VARIANT{VT_UINT64,“82912324”},其中,VT_BSTR、VT_REAL和VT_UINT64分别为数据类型,用于分别代表字符串、浮点数类型和64位整型格式,AI0001、100.00和82912324分别为业务属性值。
S403:所述第二设备对所述通用业务数据进行数据转换,获得初始业务数据。
其中,所述初始业务数据包括业务属性类型和业务属性值。例如图3所示,所述初始业务数据可以表示为:Name:AI0001,Value:100.00,TimeStamp:82912324等等。其中,Name、Value和TimeStamp分别表示业务属性类型,代表含义分别为:数据名称、数据值和时间标签,AI0001、100.00和82912324分别表示业务属性类型对应的业务属性值。
可见,本发明实施例中通过具有特定格式的通用业务数据,实现不同设备之间的数据传输,因此实现了无版本交互,不需要根据版本号管理曾经使用过的多个协议版本,不仅处理逻辑简单因此减少了工作量,而且通过通用业务数据的特定格式,即包括业务标识和可变类型数据,以及可变类型数据的具体格式,能够支持对数据类型进行修改,不需要对数据类型和长度等进行严格定义。
此外,本申请实施例还可以具有以下技术效果:
1、支持多种数据类型。具体支持常用的基本数据类型,例如整型(包括短整型和长整型)、浮点数类型、时间类型、字符串类型等,还可以进一步支持基本数据类型复合而成的复杂数据类型,例如数组等。
2、支持对多种混合的数据类型的反序列化。
3、修改通用业务数据后,通信对端即第一设备不需要重新编译。
在本发明实施例中,为了使得业务数据的表示上更加合理,增强业务数据的可读性,第二设备可以将一组具有相关性的通用数据项进行组合,得到通用数据集合,并对通用数据集合进行反序列化。具体地,S402包括:所述第二设备对所述序列化数据进行反序列化处理,获得包括多个通用业务数据的通用数据集合;所述第二设备对所述通用数据集合进行拆分,获得所述通用数据集合中包括的多个通用数据项。
其中,通用数据项可以用于表示单个业务数据,通过通用数据集合表示多个业务数据组成的一组业务数据,例如,通用数据项表示单个人的信息,通用数据集合表示一个班级、一个学院或者一个学校的信息。
举例说明,在图3中,一个完整的数据信息包括数据名称、数据值和时间标签,则可以通过图3所示的3个分别用于表示数据名称、数据值和时间标签的通用数据项:1:VARIANT{VT_BSTR,“AI0001”}、2:VARIANT{VT_REAL,“100.00”}和3:VARIANT{VT_UINT64,“82912324”},组成一个通用数据集合。又例如,通用数据项也可以为数组结构,通过多个相关的数组组成一个通用数据集合:通用数据项1表示部门经理的名称、年龄、职称等信息,通用数据项2和通用数据项3分别表示部门两个员工的姓名、年龄、职称等信息,通用数据项4表示该部门所在办公地址的信息。则以上四个通用数据项组合成一个通用数据集合中就可以表示一个部门的所有信息。组合方式在实现时可以自由定义组合方式,例如使用时可以使用固定长度为4个元素的数组,第一个数组表示部门经理的信息,第二个数组表示办公地址的信息,第三个数组和第四个数组分别表示两个员工的信息。
可选的,本发明实施例中还能够支持数据的增加、删除、改动内容等修改方式。下面具体说明。
所述第二设备接收对所述通用业务数据的数据修改请求,所述数据修改请求中包括第一业务标识和修改项;所述第一业务标识为待修改的通用数据项对应的业务标识,所述修改项包括业务属性值和/或所述业务属性值对应的数据类型;所述第二设备确定出所述第一业务标识对应的第一通用数据项,对所述第一通用数据项中的所述修改项执行增加通用数据项、删除通用数据项、改动通用数据项中的内容中的任一项或者多项修改。其中,当需要执行增加通用数据项和改动通用数据项中的内容时,数据修改请求中还会包括增加或者改动的修改内容。
例如图3所示,所述第一业务标识为2,修改项为数据类型,修改内容为将数据类型修改为字符类型,因此,将业务标识为2的通用数据项中的数据类型从浮点类型修改为字符类型,即,将VARIANT{VT_REAL,“100.00”}修改为VARIANT{VT_BSTR,“100.00”}。
可选的,本发明实施例中还能够支持对业务属性的动态扩展和调整。具体,可以根据业务需求,增加或者修改业务类型,例如,增加业务标识:4,该业务标识用于表示摄像机标识。而且,在本发明实施例中,还能够实现设备之间的数据前向兼容性和后向兼容性。下面具体说明。
所述第二设备接收对所述通用业务数据的数据读取请求,所述数据读取请求中包括第二业务标识,所述第二业务标识为待读取的通用数据项对应的业务标识;所述第二设备确定所述通用业务数据是否存在所述第二业务标识对应的第二通用数据项,如果是,读取所述第二通用数据项中的可变类型数据,如果否,生成默认值并将所述默认值作为所述第二通用数据项中的业务属性值。
例如图3所示,若所述第二业务标识为1,第二设备确定出存在所述第二业务标识对应的通用数据项,读取该通用数据项。若所述第二业务标识为4,第二设备确定不存在所述第二业务标识对应的通用数据项,生成默认值0或者空字符串等等预定义的默认值,将该默认值作为业务标识为4的通用数据项对应的业务属性值,并且在返回读取的通用数据项时,提示该通用数据项中对应的业务属性值为空。
因此,本发明实施例中,当需要读取的业务类型的个数多于通用业务数据中的业务类型的个数时,例如需要读取业务标识1至4对应的通用数据项,而通用业务数据中包括业务标识1至3对应的通用数据项时,可以读取通用业务数据中的业务标识1至3对应的通用数据项,并且生成默认值对应的通用数据项作为业务标识4对应的通用数据项,并对读取的以及生成的通用数据项进行相应的后续操作,其中在返回业务标识1至4对应的通用数据项时,提示业务标识4对应的通用数据项中对应的业务属性值为空,从而实现了前向兼容性。而当需要读取的业务类型的个数少于通用业务数据中的业务类型的个数时,例如需要读取业务标识1至3对应的通用数据项,而通用业务数据中包括业务标识1至4对应的通用数据项时,可以读取通用业务数据中的业务标识1至3对应的通用数据项,并对读取的通用数据项进行相应的后续操作,从而实现了后向兼容性。
可见,本发明实施例中能够支持对不存在的业务标识的设置,因此能够支持不同设备之间的数据兼容性。
可选的,本发明实施例中,反序列化时可采用可配置大小并定时清理的内存池技。其中,内存池中可以存储反序列化时所需的缓存数据,例如,序列化数据在转换成通用业务数据时需要临时缓存,在将通用业务数据发送到第一设备之后,会将此临时缓存释放。内存池为临时缓存提供对应的内存资源,具有效率较高的优点,有助于提升反序列化执行速度,显著地提高反序列化传输的性能
对应上述方法实施例,本申请还提供了一种对应的装置实施例,下面具体说明。
请参阅图5,本申请提供了第一设备的一种装置实施例。本实施例的第一设备包括:获取单元501、转换单元502、序列化单元503和发送单元504。
获取单元501,用于获取待处理的初始业务数据;其中,所述初始业务数据包括业务属性类型和业务属性值。
转换单元502,用于对所述初始业务数据进行数据转换,获得通用业务数据;其中,所述通用业务数据包括至少一个通用数据项,每个通用数据项包括业务标识和可变类型数据,所述业务标识为所述业务属性类型对应的唯一标识,所述可变类型数据包括业务属性值和所述业务属性值对应的数据类型。
序列化单元503,用于对所述通用业务数据进行序列化处理,获得序列化数据。
发送单元504,用于向所述第二设备发送所述序列化数据。
可选的,其中,所述序列化数据包括所述通用业务数据对应的数据长度和/或通用数据项的个数,还包括依次排列的序列化数据集合,每个序列化数据集合通过对所述通用业务数据中的一个通用数据项序列化后得到,包括按照预设顺序排列的、该通用数据项对应的业务标识、业务属性值对应的数据类型和业务属性值。
可选的,所述序列化单元,包括:
生成子单元,用于生成包括多个通用数据项的通用数据集合;
序列化子单元,用于对所述通用数据集合进行序列化处理,获得序列化数据。
可选的,还包括:
第一接收单元,用于接收对所述通用业务数据的数据修改请求,所述数据修改请求中包括第一业务标识和修改项;所述第一业务标识为待修改的通用数据项对应的业务标识,所述修改项包括业务属性值和/或所述业务属性值对应的数据类型;
修改单元,用于确定出所述第一业务标识对应的第一通用数据项,对所述第一通用数据项中的所述修改项执行增加通用数据项、删除通用数据项、改动通用数据项中的内容中的任一项或者多项修改。
可选的,还包括:
第二接收单元,用于接收对所述通用业务数据的数据读取请求,所述数据读取请求中包括第二业务标识,所述第二业务标识为待读取的通用数据项对应的业务标识;
读取单元,用于确定所述通用业务数据是否存在所述第二业务标识对应的第二通用数据项,如果是,读取所述第二通用数据项中的可变类型数据,如果否,生成默认值并将所述默认值作为所述第二通用数据项中的业务属性值。
请参阅图6,本申请提供了第二设备的一种装置实施例。本实施例的第二设备包括:接收单元601、反序列化单元602和转换单元603。
接收单元601,用于接收第一设备发送的序列化数据。
反序列化单元602,用于对所述序列化数据进行反序列化处理,获得通用业务数据;其中,所述通用业务数据包括至少一个通用数据项,每个通用数据项包括业务标识和可变类型数据,所述业务标识为所述业务属性类型对应的唯一标识,所述可变类型数据包括业务属性值和所述业务属性值对应的数据类型。
转换单元603,用于对所述通用业务数据进行数据转换,获得初始业务数据;其中,所述初始业务数据包括业务属性类型和业务属性值。
可选的,其中,所述序列化数据包括所述通用业务数据对应的数据长度和/或通用数据项的个数,还包括依次排列的序列化数据集合,每个序列化数据集合通过对所述通用业务数据中的一个通用数据项序列化后得到,包括按照预设顺序排列的、该通用数据项对应的业务标识、业务属性值对应的数据类型和业务属性值。
可选的,所述反序列化单元包括:
反序列化子单元,用于对所述序列化数据进行反序列化处理,获得包括多个通用业务数据的通用数据集合;
拆分子单元,用于对所述通用数据集合进行拆分,获得所述通用数据集合中包括的多个通用数据项。
可选的,还包括:
第一接收单元,用于接收对所述通用业务数据的数据修改请求,所述数据修改请求中包括第一业务标识和修改项;所述第一业务标识为待修改的通用数据项对应的业务标识,所述修改项包括业务属性值和/或所述业务属性值对应的数据类型;
修改单元,用于确定出所述第一业务标识对应的第一通用数据项,对所述第一通用数据项中的所述修改项执行增加通用数据项、删除通用数据项、改动通用数据项中的内容中的任一项或者多项修改。
可选的,还包括:
第二接收单元,用于接收对所述通用业务数据的数据读取请求,所述数据读取请求中包括第二业务标识,所述第二业务标识为待读取的通用数据项对应的业务标识;
读取单元,用于确定所述通用业务数据是否存在所述第二业务标识对应的第二通用数据项,如果是,读取所述第二通用数据项中的可变类型数据,如果否,生成默认值并将所述默认值作为所述第二通用数据项中的业务属性值。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,物流管理服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (20)
1.一种业务数据的处理方法,其特征在于,包括:
第一设备获取待处理的初始业务数据;其中,所述初始业务数据包括业务属性类型和业务属性值;
所述第一设备对所述初始业务数据进行数据转换,获得通用业务数据;其中,所述通用业务数据包括至少一个通用数据项,每个通用数据项包括业务标识和可变类型数据,所述业务标识为所述业务属性类型对应的唯一标识,所述可变类型数据包括业务属性值和所述业务属性值对应的数据类型;
所述第一设备对所述通用业务数据进行序列化处理,获得序列化数据;
所述第一设备向所述第二设备发送所述序列化数据。
2.根据权利要求1所述的处理方法,其特征在于,其中,所述序列化数据包括所述通用业务数据对应的数据长度和/或通用数据项的个数,还包括依次排列的序列化数据集合,每个序列化数据集合通过对所述通用业务数据中的一个通用数据项序列化后得到,包括按照预设顺序排列的、该通用数据项对应的业务标识、业务属性值对应的数据类型和业务属性值。
3.根据权利要求1所述的处理方法,其特征在于,还包括:
所述第一设备对所述通用业务数据进行序列化处理,获得序列化数据,包括:
所述第一设备生成包括多个通用数据项的通用数据集合;
所述第一设备对所述通用数据集合进行序列化处理,获得序列化数据。
4.根据权利要求1所述的处理方法,其特征在于,还包括:
所述第一设备接收对所述通用业务数据的数据修改请求,所述数据修改请求中包括第一业务标识和修改项;所述第一业务标识为待修改的通用数据项对应的业务标识,所述修改项包括业务属性值和/或所述业务属性值对应的数据类型;
所述第一设备确定出所述第一业务标识对应的第一通用数据项,对所述第一通用数据项中的所述修改项执行增加通用数据项、删除通用数据项、改动通用数据项中的内容中的任一项或者多项修改。
5.根据权利要求1所述的处理方法,其特征在于,还包括:
所述第一设备接收对所述通用业务数据的数据读取请求,所述数据读取请求中包括第二业务标识,所述第二业务标识为待读取的通用数据项对应的业务标识;
所述第一设备确定所述通用业务数据是否存在所述第二业务标识对应的第二通用数据项,如果是,读取所述第二通用数据项中的可变类型数据,如果否,生成默认值并将所述默认值作为所述第二通用数据项中的业务属性值。
6.一种业务数据的处理方法,其特征在于,包括:
第二设备接收第一设备发送的序列化数据;
所述第二设备对所述序列化数据进行反序列化处理,获得通用业务数据;其中,所述通用业务数据包括至少一个通用数据项,每个通用数据项包括业务标识和可变类型数据,所述业务标识为所述业务属性类型对应的唯一标识,所述可变类型数据包括业务属性值和所述业务属性值对应的数据类型;
所述第二设备对所述通用业务数据进行数据转换,获得初始业务数据;其中,所述初始业务数据包括业务属性类型和业务属性值。
7.根据权利要求6所述的处理方法,其特征在于,其中,所述序列化数据包括所述通用业务数据对应的数据长度和/或通用数据项的个数,还包括依次排列的序列化数据集合,每个序列化数据集合通过对所述通用业务数据中的一个通用数据项序列化后得到,包括按照预设顺序排列的、该通用数据项对应的业务标识、业务属性值对应的数据类型和业务属性值。
8.根据权利要求6所述的处理方法,其特征在于,所述第二设备对所述序列化数据进行反序列化处理,获得通用业务数据,包括:
所述第二设备对所述序列化数据进行反序列化处理,获得包括多个通用业务数据的通用数据集合;
所述第二设备对所述通用数据集合进行拆分,获得所述通用数据集合中包括的多个通用数据项。
9.根据权利要求6所述的处理方法,其特征在于,还包括:
所述第二设备接收对所述通用业务数据的数据修改请求,所述数据修改请求中包括第一业务标识和修改项;所述第一业务标识为待修改的通用数据项对应的业务标识,所述修改项包括业务属性值和/或所述业务属性值对应的数据类型;
所述第二设备确定出所述第一业务标识对应的第一通用数据项,对所述第一通用数据项中的所述修改项执行增加通用数据项、删除通用数据项、改动通用数据项中的内容中的任一项或者多项修改。
10.根据权利要求6所述的处理方法,其特征在于,
所述第二设备接收对所述通用业务数据的数据读取请求,所述数据读取请求中包括第二业务标识,所述第二业务标识为待读取的通用数据项对应的业务标识;
所述第二设备确定所述通用业务数据是否存在所述第二业务标识对应的第二通用数据项,如果是,读取所述第二通用数据项中的可变类型数据,如果否,生成默认值并将所述默认值作为所述第二通用数据项中的业务属性值。
11.一种设备,其特征在于,所述设备为第一设备,包括:
获取单元,用于获取待处理的初始业务数据;其中,所述初始业务数据包括业务属性类型和业务属性值;
转换单元,用于对所述初始业务数据进行数据转换,获得通用业务数据;其中,所述通用业务数据包括至少一个通用数据项,每个通用数据项包括业务标识和可变类型数据,所述业务标识为所述业务属性类型对应的唯一标识,所述可变类型数据包括业务属性值和所述业务属性值对应的数据类型;
序列化单元,用于对所述通用业务数据进行序列化处理,获得序列化数据;
发送单元,用于向所述第二设备发送所述序列化数据。
12.根据权利要求10所述的第一设备,其特征在于,其中,所述序列化数据包括所述通用业务数据对应的数据长度和/或通用数据项的个数,还包括依次排列的序列化数据集合,每个序列化数据集合通过对所述通用业务数据中的一个通用数据项序列化后得到,包括按照预设顺序排列的、该通用数据项对应的业务标识、业务属性值对应的数据类型和业务属性值。
13.根据权利要求10所述的第一设备,其特征在于,所述序列化单元,包括:
生成子单元,用于生成包括多个通用数据项的通用数据集合;
序列化子单元,用于对所述通用数据集合进行序列化处理,获得序列化数据。
14.根据权利要求10所述的第一设备,其特征在于,还包括:
第一接收单元,用于接收对所述通用业务数据的数据修改请求,所述数据修改请求中包括第一业务标识和修改项;所述第一业务标识为待修改的通用数据项对应的业务标识,所述修改项包括业务属性值和/或所述业务属性值对应的数据类型;
修改单元,用于确定出所述第一业务标识对应的第一通用数据项,对所述第一通用数据项中的所述修改项执行增加通用数据项、删除通用数据项、改动通用数据项中的内容中的任一项或者多项修改。
15.根据权利要求10所述的第一设备,其特征在于,还包括:
第二接收单元,用于接收对所述通用业务数据的数据读取请求,所述数据读取请求中包括第二业务标识,所述第二业务标识为待读取的通用数据项对应的业务标识;
读取单元,用于确定所述通用业务数据是否存在所述第二业务标识对应的第二通用数据项,如果是,读取所述第二通用数据项中的可变类型数据,如果否,生成默认值并将所述默认值作为所述第二通用数据项中的业务属性值。
16.一种设备,其特征在于,所述设备为第二设备,包括:
接收单元,用于接收第一设备发送的序列化数据;
反序列化单元,用于对所述序列化数据进行反序列化处理,获得通用业务数据;其中,所述通用业务数据包括至少一个通用数据项,每个通用数据项包括业务标识和可变类型数据,所述业务标识为所述业务属性类型对应的唯一标识,所述可变类型数据包括业务属性值和所述业务属性值对应的数据类型;
转换单元,用于对所述通用业务数据进行数据转换,获得初始业务数据;其中,所述初始业务数据包括业务属性类型和业务属性值。
17.根据权利要求16所述的第二设备,其特征在于,其中,所述序列化数据包括所述通用业务数据对应的数据长度和/或通用数据项的个数,还包括依次排列的序列化数据集合,每个序列化数据集合通过对所述通用业务数据中的一个通用数据项序列化后得到,包括按照预设顺序排列的、该通用数据项对应的业务标识、业务属性值对应的数据类型和业务属性值。
18.根据权利要求16所述的第二设备,其特征在于,所述反序列化单元包括:
反序列化子单元,用于对所述序列化数据进行反序列化处理,获得包括多个通用业务数据的通用数据集合;
拆分子单元,用于对所述通用数据集合进行拆分,获得所述通用数据集合中包括的多个通用数据项。
19.根据权利要求16所述的第二设备,其特征在于,还包括:
第一接收单元,用于接收对所述通用业务数据的数据修改请求,所述数据修改请求中包括第一业务标识和修改项;所述第一业务标识为待修改的通用数据项对应的业务标识,所述修改项包括业务属性值和/或所述业务属性值对应的数据类型;
修改单元,用于确定出所述第一业务标识对应的第一通用数据项,对所述第一通用数据项中的所述修改项执行增加通用数据项、删除通用数据项、改动通用数据项中的内容中的任一项或者多项修改。
20.根据权利要求16所述的第二设备,其特征在于,还包括:
第二接收单元,用于接收对所述通用业务数据的数据读取请求,所述数据读取请求中包括第二业务标识,所述第二业务标识为待读取的通用数据项对应的业务标识;
读取单元,用于确定所述通用业务数据是否存在所述第二业务标识对应的第二通用数据项,如果是,读取所述第二通用数据项中的可变类型数据,如果否,生成默认值并将所述默认值作为所述第二通用数据项中的业务属性值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810146328.2A CN108228912A (zh) | 2018-02-12 | 2018-02-12 | 一种业务数据的处理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810146328.2A CN108228912A (zh) | 2018-02-12 | 2018-02-12 | 一种业务数据的处理方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108228912A true CN108228912A (zh) | 2018-06-29 |
Family
ID=62661640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810146328.2A Pending CN108228912A (zh) | 2018-02-12 | 2018-02-12 | 一种业务数据的处理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228912A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299887A (zh) * | 2018-11-05 | 2019-02-01 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及电子设备 |
CN110191156A (zh) * | 2019-05-08 | 2019-08-30 | 深圳前海微众银行股份有限公司 | 一种基于区块链的数据处理方法及装置 |
CN111930568A (zh) * | 2020-08-05 | 2020-11-13 | 上海英方软件股份有限公司 | 一种基于Avro的结构化数据序列化传输方法及装置 |
CN112422476A (zh) * | 2019-08-20 | 2021-02-26 | 北京嗨动视觉科技有限公司 | 数据处理方法、装置和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327116B1 (en) * | 2003-12-08 | 2012-12-04 | Alcatel Lucent | System and method for processing multiple types of data frames |
CN105530227A (zh) * | 2014-09-30 | 2016-04-27 | 亿阳信通股份有限公司 | 一种接口数据传输方法和装置 |
CN106095698A (zh) * | 2016-06-03 | 2016-11-09 | 合网络技术(北京)有限公司 | 面向对象的缓存写入、读取方法及装置 |
CN106777292A (zh) * | 2016-12-29 | 2017-05-31 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据序列化方法及装置 |
-
2018
- 2018-02-12 CN CN201810146328.2A patent/CN108228912A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327116B1 (en) * | 2003-12-08 | 2012-12-04 | Alcatel Lucent | System and method for processing multiple types of data frames |
CN105530227A (zh) * | 2014-09-30 | 2016-04-27 | 亿阳信通股份有限公司 | 一种接口数据传输方法和装置 |
CN106095698A (zh) * | 2016-06-03 | 2016-11-09 | 合网络技术(北京)有限公司 | 面向对象的缓存写入、读取方法及装置 |
CN106777292A (zh) * | 2016-12-29 | 2017-05-31 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据序列化方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299887A (zh) * | 2018-11-05 | 2019-02-01 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及电子设备 |
CN109299887B (zh) * | 2018-11-05 | 2022-04-19 | 创新先进技术有限公司 | 一种数据处理方法、装置及电子设备 |
CN110191156A (zh) * | 2019-05-08 | 2019-08-30 | 深圳前海微众银行股份有限公司 | 一种基于区块链的数据处理方法及装置 |
WO2020224380A1 (zh) * | 2019-05-08 | 2020-11-12 | 深圳前海微众银行股份有限公司 | 一种基于区块链的数据处理方法及装置 |
CN110191156B (zh) * | 2019-05-08 | 2021-11-09 | 深圳前海微众银行股份有限公司 | 一种基于区块链的数据处理方法及装置 |
CN112422476A (zh) * | 2019-08-20 | 2021-02-26 | 北京嗨动视觉科技有限公司 | 数据处理方法、装置和系统 |
CN111930568A (zh) * | 2020-08-05 | 2020-11-13 | 上海英方软件股份有限公司 | 一种基于Avro的结构化数据序列化传输方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11853389B2 (en) | Methods and apparatus for sorting data | |
CN107943950B (zh) | 一种区块链中数据智能合约生成的方法及系统 | |
CN108228912A (zh) | 一种业务数据的处理方法及相关装置 | |
CN102402596B (zh) | 一种主从分离数据库的读写方法和系统 | |
CN103379159B (zh) | 一种分布式Web站点数据同步的方法 | |
US9996597B2 (en) | Unified mapreduce framework for large-scale data processing | |
US20090063562A1 (en) | Importing and Reconciling Resources From Disjoint Name Spaces to a Common Namespace | |
CN106599104A (zh) | 一种基于redis集群的海量数据关联方法 | |
US10956051B2 (en) | Data-packed storage containers for streamlined access and migration | |
CN103942330B (zh) | 一种大数据的处理方法、系统 | |
EP1265155A2 (en) | File tree comparator | |
CN103092906A (zh) | 用于扩展节点的多客户通用保持 | |
US20210209057A1 (en) | File system quota versioning | |
JP2004164611A (ja) | 属性データの管理 | |
US8239758B2 (en) | Truncating character strings to generate a list of unique character strings | |
US20100174991A1 (en) | Maintaining data coherency within related multi-perspective user interfaces via session-less queries | |
CN109697020A (zh) | 一种数据存储方法、服务器及系统 | |
US10437849B2 (en) | Method and apparatus for implementing storage of file in IP disk | |
CN1768319A (zh) | 用于构建对象和实体的呈现的方法和装置 | |
US20140292781A1 (en) | System and method for propagating scene information to renderers in a multi-user, multi-scene environment | |
CN115002011B (zh) | 流量双向测试方法、装置、电子设备及存储介质 | |
JP2004252973A (ja) | 客体指向プログラムが記録された貯蔵媒体 | |
CN104243201B (zh) | 网络设备测试用例对应拓扑图的存储方法及系统 | |
WO2015004571A1 (en) | Method and system for implementing a bit array in a cache line | |
CN102819608A (zh) | 一种基于Oracle数据库系统的数据抽取方法及装置 |
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: 20180629 |
|
RJ01 | Rejection of invention patent application after publication |