CN113312075A - 配置信息下发方法、装置、存储介质及处理器 - Google Patents
配置信息下发方法、装置、存储介质及处理器 Download PDFInfo
- Publication number
- CN113312075A CN113312075A CN202110710560.6A CN202110710560A CN113312075A CN 113312075 A CN113312075 A CN 113312075A CN 202110710560 A CN202110710560 A CN 202110710560A CN 113312075 A CN113312075 A CN 113312075A
- Authority
- CN
- China
- Prior art keywords
- version number
- field
- attribute
- configuration information
- issued
- 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
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 54
- 238000013507 mapping Methods 0.000 claims description 15
- 238000007405 data analysis Methods 0.000 claims description 6
- 230000010365 information processing Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 81
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 6
- 238000000354 decomposition reaction Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Abstract
本发明实施例提供一种配置信息下发方法、装置、处理器及存储介质。方法包括:向服务器上传第一版本号,第一版本号与设备的第一配置信息对应,其中配置信息更新时修改版本号,版本号为配置信息的其中一个子字段的字段值;匹配第一版本号与第二版本号,第二版本号与第二配置性信息对应;若第一版本号与第二版本号不一致,则将第二配置信息的根字段和子字段作为差异属性;若差异属性未包含动态字段,将第二配置信息作为待下发的属性信息;若待下发的属性信息的子字段不为空,服务器向设备下发待下发的属性信息,设备对待下发的属性信息进行解析,采用仅上传配置信息中定义的版本号,确定是否下发整个配置信息,以减少设备的上报数据流量。
Description
技术领域
本发明涉及计算机技术领域,具体地涉及一种配置信息下发方法、配置信息下发装置、存储介质及处理器。
背景技术
物联网平台,提供设备影子功能,设备影子主要由影子期望值与报告值组成,报告值用于存储设备最近一次上报的属性值;期望值用于存储云端所期望下发至设备端的属性配置。每个设备有且只有一个设备影子,当设备在线时,可直接获取云端属性配置;设备离线,并再次上线后,设备通过主动上报属性值到设备影子后,若影子期望值中的属性配置与设备上报的属性值存在差异,则会触发属性配置的下发。通过设备上报属性值,达到设备与影子属性同步;通过影子期望值属性配置下发,达到影子与设备的属性同步。
业内的物联网平台,设备影子的功能实现比较简单。设备影子期望值与报告值进行差异对比时,需要基于上报的属性字段进行对比后,才会产生与上报属性字段相对应的差异属性配置值;例如:设备影子的期望值ota属性根字段下具备file、hardwares子字段,若想把所有子字段配置值均可下发到设备端,设备端必须全量上报ota属性下的file、hardwares属性值后,才会对这两个上报字段值与期望值作差异对比,在这两个子字段值均存在差异时,才会把这两个字段的配置值下发至设备端,若只上报file子字段属性值,则只会对file子字段进行差异性对比,最终只会把file子字段的配置值下发至设备端;这种需基于属性的全量子字段上报值来触发全量子字段配置值的下发方式,会增加设备端上报数据流量。
发明内容
本发明实施例的目的是提供一种配置信息下发方法、配置信息下发装置、存储介质及处理器。
为了实现上述目的,本发明第一方面提供一种配置信息下发方法,包括:
接收设备上传的第一版本号,所述第一版本号与所述设备的第一配置信息对应,其中,配置信息更新时修改版本号,所述版本号为所述配置信息的其中一个子字段的字段值;
匹配所述第一版本号与第二版本号,所述第二版本号与第二配置性信息对应;
若所述第一版本号与所述第二版本号不一致,则将所述第二配置信息的根字段和子字段作为差异属性;
若所述差异属性未包含动态字段,则将所述第二配置信息作为待下发的属性信息;
若所述待下发的属性信息的子字段不为空时,则下发所述待下发的属性信息。
可选地,若所述差异属性包含动态字段,所述方法还包括:根据所述动态字段的字段名称获取动态字段处理器实现类实例,所述动态字段处理器实现类实例包括动态字段处理函数;将所述差异属性作为所述动态字段处理函数的入参,确定出所述待下发的属性信息。
可选地,所述根据所述动态字段的字段名称获取动态字段处理器实现类实例之前,还包括:接收定义的动态字段处理器接口,以及在所述动态字段处理器接口中定义的所述动态字段处理函数;接收定义的动态字段处理器实现类,所述动态字段处理器实现类用于实现所述动态字段处理函数,所述动态字段处理函数的输入为所述动态字段对应的所有子字段的名称及字段值,输出为根据业务需求返回子字段及字段值;根据所述动态处理器实现类,创建所述动态字段的名称和所述动态字段处理器的实现类实例,并存储所述动态字段的名称与所述动态字段处理器的实现类实例的映射关系。
可选地,所述待下发的属性信息为结构化数据,所述待下发的属性信息,包括:扁平化所述待下发的属性信息,以使得所述待下发的属性信息从结构化数据转换为扁平化数据;下发扁平化后的所述待下发的属性信息。
可选地,所述待下发的属性信息为JSON对象,所述扁平化后的所述待下发的属性信息为字符串消息体;所述扁平化所述待下发的属性信息,包括:将所述JSON对象作为扁平化函数的入参,输出所述JSON对象对应的字符串消息体,所述字符串消息体中包括字段、字段值和关系字符,不同的所述关系字符用于标识不同的对应关系。
可选地,不同的所述关系字符采用不同的ASCII控制字符表示。
本发明第二方面提供一种配置信息下发方法,包括:
向服务器发送第一版本号,所述第一版本号与所述设备的第一配置信息对应,其中,配置信息更新时修改版本号,所述版本号为所述配置信息的其中一个子字段的字段值,以使所述服务器匹配所述第一版本号和所述第二版本号,若所述第一版本号与所述第二版本号不一致,则将所述第二配置信息的根字段和子字段作为差异属性,若所述差异属性未包含动态字段,则将所述第二配置信息作为待下发的属性信息,若所述差异属性包括所述动态字段,则根据所述动态字段确定所述待下发的属性信息;
若所述待下发的属性信息的子字段不为空时,接收所述服务器下发的所述待下发的属性信息;
解析所述待下发的属性信息。
可选地,当所述待下发的属性信息为字符串消息体时,所述解析所述待下发的属性信息,包括:采用分割函数对所述待下发的属性信息进行分割,得到键值对,所述键值对中包括字段、字段值和关系字符;根据所述键值对中的所述关系字符对应的解析,建立所述字段和字段值的映射关系,和/或建立不同字段之间的关系。
本发明第三方面提供一种配置信息下发装置,包括:
数据接收模块,用于接收设备上传的第一版本号,所述第一版本号与所述设备的第一配置信息对应,其中,配置信息更新时修改版本号,所述版本号为所述配置信息的其中一个子字段的字段值;
版本号匹配模块,用于匹配所述第一版本号与第二版本号,所述第二版本号与第二配置性信息对应;
差异属性确定模块,若所述第一版本号与所述第二版本号不一致,则将所述第二配置信息的根字段和子字段作为差异属性;
待下发属性确定模块,用于若所述差异属性未包含动态字段,则将所述第二配置信息作为待下发的属性信息;
数据下发模块,用于若所述待下发的属性信息的子字段不为空时,则下发所述待下发的属性信息。
本发明第四方面提供一种配置信息下发装置,包括:
数据发送模块,用于向服务器发送第一版本号,所述第一版本号与所述设备的第一配置信息对应,其中,配置信息更新时修改版本号,所述版本号为所述配置信息的其中一个子字段的字段值,以使所述服务器匹配所述第一版本号和所述第二版本号,若所述第一版本号与所述第二版本号不一致,则将所述第二配置信息的根字段和子字段作为差异属性,若所述差异属性未包含动态字段,则将所述第二配置信息作为待下发的属性信息,若所述差异属性包括所述动态字段,则根据所述动态字段确定所述待下发的属性信息;
数据接收模块,用于若所述待下发的属性信息的子字段不为空时,接收所述服务器下发的所述待下发的属性信息;
数据解析模块,用于解析所述待下发的属性信息。
本发明第五方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的配置信息下发方法。
本发明第六方面提供一种处理器,被配置成执行上述的配置信息下发方法。
通过上述技术方案,在配置信息中自定义版本号,且定义的版本号随配置信息的更新而更新,即不同的配置信息对应不同的版本号,物联网平台设备在实现设备影子功能时,可以仅上传版本号,通过上传的版本号与服务器中的版本号是否不一致,确定是否下发整个属性的配置信息,以减少设备的上报数据流量。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1示意出了根据本发明实施例的配置信息下发方法的应用场景图;
图2示意出了根据本发明实施例的配置信息下发方法的流程示意图;
图3示意出了根据本发明实施例的配置信息下发方法的流程示意图;
图4示意出了根据本发明实施例的配置信息下发装置的结构框图;
图5示意出了根据本发明实施例的配置信息下发装置的结构框图;
图6示意出了根据本发明实施例的计算机设备的内部结构图。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
本申请提供的配置信息下发方法,可以应用于如图1所示的应用环境中。其中,设备102通过网络与服务器104通过网络进行通信。设备102在启动后向服务器104上传第一版本号,第一版本号与设备的第一配置信息对应,其中,配置信息更新时修改版本号,版本号为配置信息的其中一个子字段的字段值;匹配所述第一版本号与第二版本号,所述第二版本号与第二配置信息对应;若所述第一版本号与所述第二版本号不一致,则将所述第二配置信息的根字段和子字段作为差异属性;若所述差异属性未包含动态字段,则将所述第二配置信息作为待下发的属性信息;若所述待下发的属性信息的子字段不为空时,服务器104向设备102下发所述待下发的属性信息,设备102对下发的待下发的属性信息进行解析。其中,设备102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备、单片机等硬件资源有限的设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图2示意性示出了根据本发明实施例的配置信息下发方法的流程示意图。如图2所示,在本发明一实施例中,提供了一种配置信息下发方法,包括以下步骤:
步骤201,接收设备上传的第一版本号。
在本具体实施例中,第一版本号与设备的第一配置信息对应,其中,配置信息更新时修改版本号,版本号为配置信息的其中一个子字段的字段值。
具体地,配置信息中包括业务需求的各个属性的字段和各个字段对应的字段值等。配置信息中的其中一个子字段用于标识版本,不同的版本时,该子字段对应的版本号不同。第一配置信息是指设备上保存的最新的配置信息,第一版本号是指第一配置信息中用于标识版本字段的字段值。设备上线后,设备向服务上传第一版本号。
步骤202,匹配第一版本号与第二版本号。
在本具体实施例中,第二版本号与第二配置性信息对应。
步骤203,若第一版本号与所述第二版本号不一致,则将第二配置信息的根字段和子字段作为差异属性。
具体地,第二配置信息是指服务器期望下发给设备的配置信息。第二版本号即为第二配置信息中用于标识版本字段的字段值。对第一版本号和第二版本号进行对比,若第一版本号与第二版本号一致,则表示,第一配置信息与服务器期望下发给设备的第二配置信息一致,也即云端和设备的配置信息一致,无需下发配置信息。若第一版本号与第二版本号不同,则表示服务器中的配置信息进行了更新,此时需要下发新的配置信息。
步骤204,若差异属性未包含动态字段,则将第二配置信息作为待下发的属性信息。
步骤205,若待下发的属性信息的子字段不为空时,则下发所述待下发的属性信息。
具体地,检测差异属性中是否包括动态字段,动态字段是指在配置时未固定下对应字段值的字段,动态字段可以在下发时,根据业务需要,而动态生成或控制实际下发的期望值,例如需下发云端当前时间,或根据时间,控制期望值是否在允许的时间范围内才进行下发。若差异属性中未包含动态字段,则直接将第二版本号对应的第二配置信息作为待下发的属性信息。若待下发的属性信息中的子字段不为空,则表示待下发的属性信息需要下发,下发该属性信息至设备,若该待下发的属性信息的子字段为空,则表示不满足下发条件,无需执行属性信息的下发。
通过在配置信息中增加用于表示版本的子字段,该子字段的字段值随着配置信息的变化而变化,在实现设备影子的过程中,可以仅上传版本字段对应的版本号,根据版本号是否一致,即可确定是否下发整个属性的配置信息,避免需全量子字段上报后才触发全量子字段配置值的下发,引起数据上报流量较大的问题。
在一个实施例中,若差异属性包含动态字段,上述配置信息下发方法还包括:根据动态字段的字段名称获取动态字段处理器实现类实例,动态字段处理器实现类实例包括动态字段处理函数;将差异属性作为动态字段处理函数的入参,确定出待下发的属性信息。
具体地,遍历差异属性的子字段,确定该差异属性的子字段中是否包含动态字段,若包含动态字段,则根据该动态字段的名称获取对应的动态字段处理器实现类实例。其中,动态字段处理器实现类实例中包含动态字段处理函数,动态字段处理函数的入参为差异属性的子字段,输出为子字段对应的字段值,将输出子字段和子字段值作为待下发的属性信息。
在配置信息中支持动态字段的定义,该动态属性配置以子字段方式,定义在该属性中,在物联网平台启动时,根据该动态字段名称注册相应的处理函数(动态字段处理函数),该处理函数的入参为JSON对象类型,JSON中的数据为当前属性的所有子字段的名称及字段值,返回结果同样为JSON对象类型,该JSON中的子字段及字段值为当前属性实际需下发到设备的配置值,若动态字段处理函数,判断不乎合下发条件,即返回子段为空的JSON对象,则表示该动态属性配置不做下发处理。
在一个实施例中,子字段的命名需以指定前缀进行命名,以表示该子字段是动态字段。该指定前缀可以自定义,如该指定前缀定义为“.”,则“.XXXXXX”,用于表示该子字段为动态字段。
在一个实施中,根据动态字段的字段名称获取动态字段处理器实现类实例之前,还包括:接收定义的动态字段处理器接口,以及在动态字段处理器接口中定义的动态字段处理函数;接收定义的动态字段处理器实现类,动态字段处理器实现类用于实现动态字段处理函数,动态字段处理函数的输入为动态字段对应的所有子字段的名称及字段值,输出为根据业务需求返回的子字段及字段值;根据动态处理器实现类,创建动态字段的名称和动态字段处理器的实现类实例,并存储动态字段的名称与动态字段处理器的实现类实例的映射关系。
具体地,动态字段处理器接口可以用于定义动态字段处理函数,该接口可以根据业务需求自定义。动态字段处理函数可以根据业务需求自定义。定义动态字段处理函数的入参为动态字段对应的所有子字段的名称和子字段的字段值,输出为该动态字段根据业务需求返回的子字段的名称和字段值。根据动态处理器实现类,创建动态字段的名称和动态字段处理器的实现类实例,该动态字段处理器的实现类实例包括动态处理函数和动态字段的名称。存储动态字段处理器的实现类实例与动态字段的映射关系在服务器中,以便后续根据差异属性中的动态字段的名称获取动态字段处理器的实现类实例,通过执行该实例返回该动态字段对应的待下发的属性信息。
在一个实施例中,待下发的属性信息为结构化数据,下发所述待下发的属性信息,包括:扁平化待下发的属性信息,以使得待下发的属性信息从结构化数据转换为扁平化数据;下发扁平化后的待下发的属性信息。
具体地,结构化数据是指可以用不同的表达方式来表示为对象、数组、层级嵌套关系的数据。如JSON数据即为结构化数据,JSON数据可以表达多种数据关系,如键与值关系、键值对关系、字段层级关系、数组序号关系等数据关系。扁平化数据是指没有多层级嵌套关系数据,结构数据直接下发时,需要对应的结构化数据解析库进行解析,在物联网平台中存在许多的弱设备,这些设备的硬件资源有限,引入结构化数据的解析库来解析结构化数据,会耗用较多硬件资源,甚至有些设备的硬件资源不具备运行结构化数据解析库的能力,由于结构化数据存在多层级嵌套等数据关系,若使用自编代码实现结构化数据的解析,实现起来较为繁琐,以JSON数据为例,JSON数据存在值、对象、数组数据类型,以及支持多层级关系嵌套,要对这几种数据类型及关系进行解析,会比较复杂。解析数据耗费过多的硬件资源、无法解析数据或解析过程繁琐,都会影响设备的使用体验。而将数据扁平化后,数据最终会转换为字符串,使用开发语言本身提供的分解函数(如:Split函数),即可解析出所需数据,无需引入第三方库。
在一个实施例中,待下发的属性信息为JSON对象,扁平化后的待下发的属性信息为字符串消息体;扁平化待下发的属性信息,包括:将JSON对象作为扁平化函数的入参,输出JSON对象对应的字符串消息体,字符串消息体中包括字段、字段值和关系字符,不同的关系字符用于标识不同的对应关系。
具体地,关系字符用于表示字段与字段之间的关系,已及字段与字段值之间的关系。通过扁平化函数中定义的规则,将JSON对象中的字段与字段的关系,以及字段与字段值的关系转换成对应的关系字符。采用关系字符将待下发的属性信息中的关系进行表示,得到字符串消息体,下发该字符串消息体。
在一个实施例中,如图3所示,提供了一种配置信息的下发方法,包括:
步骤301,向服务器发送第一版本号。
在本具体实施例中,第一版本号与设备的第一配置信息对应,其中,配置信息更新时修改版本号,版本号为配置信息的其中一个子字段的字段值,以使服务器匹配第一版本号和第二版本号,若第一版本号与第二版本号不一致,则将第二配置信息的根字段和子字段作为差异属性,若差异属性未包含动态字段,则将第二配置信息作为待下发的属性信息,若差异属性包括动态字段,则根据动态字段确定待下发的属性信息。
步骤302,若待下发的属性信息的子字段不为空时,接收服务器下发的待下发的属性信息。
步骤303,解析待下发的属性信息。
具体地,步骤301~步骤303中与上述实施例中步骤201~205中的各名词含义相同,在此不再赘述。
在配置信息中自定义版本号,且定义的版本号随配置信息的更新而更新,即不同的配置信息对应不同的版本号,物联网平台设备在实现设备影子功能时,可以仅上传版本号,通过上传的版本号与服务器中的版本号是否不一致,确定是否下发整个属性的配置信息,以减少设备的上报数据流量。
在一个实施例中,当待下发的属性信息为字符串消息体时,步骤S303包括:采用分割函数对待下发的属性信息进行分割,得到键值对,键值对中包括字段、字段值和关系字符;根据键值对中的关系字符对应的解析,建立字段和字段值的映射关系,和/或建立不同字段之间的关系。
具体地,待下发的属性信息为字符串消息体,是指待下发的属性信息在下发至设备端时,对待下发的属性信息进行了扁平化处理。数据的扁平化处理的具体过程与上述实施例中的扁平化过程一致,在此不再赘述。
分割函数是用于对待下发的属性信息进行数据分割的函数,该分割函数的分割规则与数据的扁平化规则对应,即可以认为数据的分割过程是对扁平化过程的逆过程。将扁平化后得到的字符串消息体进行逐步恢复,解析出字段和字段值的映射关系,和/或建立不同字段之间的关系。其中数据的解析规则为预先自定义的数据解析规则,数据解析规则包括特定字符对应的数据关系,通过对字符串消息体中特定的字符表示的数据关系,将字符串消息体用数据的映射关系表示。对数据进行扁平化处理,采用自定义的解析规则进行数据解析,降低了设备的硬件资源占用,且解析更为方便。
在一个具体的实施例中,配置消息下发方法,包括:
步骤401,接收定义的动态字段处理器接口,以及在该接口中定义动态字段处理函数。函数的入参为JSON对象类型,返回结果同样为JSON对象类型,该JSON对象将作为该属性实际下发的配置信息(待下发的属性信息)。
步骤402,接收定义的动态字段处理器实现类。该动态字段处理器实现类用于实现处理器中定义的动态字段处理函数;处理函数可通过入参的JSON对象,获取第二配置信息的所有子字段名及字段值,并根据业务需求,对返回结果的JSON对象定义需返回的子字段及字段值。
步骤403,物联网平台启动时,创建动态字段的名称,以及该动态字段的名称对应的动态字段处理器的实现类实例,并存储动态字段的名称与动态字段处理器实现类实例的映射关系。
步骤404,在设置影子期望值(第二配置属性)时,对属性配置中,使用指定的前缀,对动态子字段进行命名,以表示该字段为动态字段,并根据业务需求对动态字段定义相应的配置值。
步骤405,设置影子期望值后,则触发差异属性配置的下发,此时会递归遍历影子期望值中各属性的子字段值,并与报告值(第一配置属性)中同名属性下的同名子字段值作对比,若其中一个字段值存在差异,则把期望值对应的属性信息的(第二配置信息)根字段及所有子字段作为差异属性配置,汇总后得出所有存在差异的属性。
步骤406,根据汇总得出的差异属性,遍历各个差异属性下的各个子字段,通过判断是否包含动态字段名称前缀,来判断是否存在动态字段。
步骤4061,存在,则根据字段名称,获取该字段相应的动态字段处理器实现类实例,并使用当前差异属性的JSON对象,作为的入参,调用处理函数后,处理函数返回结果的JSON对象则作为该差异属性实际需下发的配置信息;若该属性配置不满足下发条件,则返回子字段为空的JSON对象。
步骤4062,不存在,则继续判断下一字段是否为动态字段,若整个差异属性均不存在动态字段,则把差异属性JSON对象直接作为该差异属性实际需下发的配置值。
步骤407,判断差异属性JSON对象的子字段是否为空,若为空,则表示该差异属性配置不需做下发处理;不为空,则表示该差异属性配置需下发到设备端,然后调用自定义的JSON文档格式化函数,把待下发的差异属性配置,转换为以关系符作为分隔符的扁平化字符串消息体。
步骤408,JSON格式化函数入参为JSON对象,返回结果为字符串;另外,JSON格式化函数,在处理格式化过程中,还需对JSON字段值类型为JSON对象的字段,调用JSON对象扁平化函数进行扁平化转换,该函数的入参为JSON对象,即使入参JSON对象是多层级的,但返回结果只会为单层级JSON对象;还需对JSON字段值类型为JSON数组的字段,调用JSON数组扁平化函数进行扁平化转换,该函数的入参为JSON数组,即使入参JSON数组元素是多层级的数组或JSON对象,但返回结果只会为单层级JSON对象,该单层级JSON对象的字段名会包含入参中JSON数组各元素的序号;
以下是JSON格式化函数实施方案:
步骤4081,创建返回消息体缓冲,用于存储最终格式化后的返回结果。
步骤4082,遍历入参JSON对象的各个根字段,并根据字段值类型,做不同处理:
JSON对象类型:调用JSON对象扁平化函数,对多层级的JSON对象转换为扁平化JSON对象;然后,对该扁平化JSON对象的各个字段进行遍历,并往消息体缓冲按如下顺序追加内容:根字段名称、字段层级关系符、扁平化JSON对象字段名称、键与值关系符、扁平化JSON对象字段值。
JSON数组类型:调用JSON数组扁平化函数,对JSON数组转换为扁平化JSON对象,此时该JSON对象的字段名将会包含数组元素的序号;然后,再对该扁平化JSON对象的各个字段进行遍历,并往消息体缓冲按如下顺序追加内容:根字段名称、字段层级关系符、扁平化JSON对象字段名称、键与值关系符、扁平化JSON对象字段值。
其它类型:往消息体缓冲按如下顺序追加内容:根字段名称、键与值关系符、根字段值。
步骤4083,当前根字段处理完毕后,在处理下一个根字段前,需判断当前根字段是否为最后一个,并非最后一个时,则向消息体缓冲追加内容:键值对关系符。
步骤409,以下是JSON对象扁平化函数实施方案:
步骤4091,创建JSON对象,用于存储扁平化处理完毕后需返回的JSON对象,称为返回结果JSON对象。
步骤4092,遍历入参JSON对象的各个根字段,并根据字段值类型,做不同处理:
JSON对象类型:回调本JSON对象扁平化函数,入参为根字段值的JSON对象,然后对回调函数返回的扁平化JSON对象的各个字段进行遍历,然后往返回结果JSON对象添加字段,字段名按如下顺序组合而成:根字段名称、字段层级关系符、扁平化JSON对象字段名称,字段值为:扁平化JSON对象字段值。
JSON数组类型:调用JSON数组扁平化函数,入参为根字段值的JSON数组,然后对函数返回的扁平化JSON对象的各个字段进行遍历,此时该JSON对象的字段名将会包含数组元素的序号,然后往返回结果JSON对象添加字段,字段名按如下顺序组合而成:根字段名称、字段层级关系符、扁平化JSON对象字段名称,字段值为:扁平化JSON对象字段值。
其它类型:往返回结果JSON对象添加字段,字段名为:根字段名称,字段值为:根字段值。
步骤410,以下是JSON数组扁平化转换实施方案:
步骤4101,创建JSON对象,用于存储扁平化处理完毕后需返回的JSON对象,称为返回结果JSON对象
步骤4102,遍历入参JSON数组的各个元素,简称为根元素,并根据元素类型,做不同处理:
JSON对象类型:调用JSON对象扁平化函数,入参为根元素的JSON对象,然后对函数返回的扁平化JSON对象的各个字段进行遍历,然后往返回结果JSON对象添加字段,字段名按如下顺序组合而成:根元素序号、字段层级关系符、扁平化JSON对象字段名称,字段值为:扁平化JSON对象字段值。
JSON数组类型:回调本JSON数组扁平化函数,入参为根元素的JSON数组,然后对回调函数返回的扁平化JSON对象的各个字段进行遍历,此时该JSON对象的字段名将会包含根元素下数组子元素的序号,然后往返回结果的JSON对象添加字段,字段名按如下顺序组合而成:根元素序号、字段层级关系符、扁平化JSON对象字段名称,字段值为:扁平化JSON对象字段值。
其它类型:往返回结果JSON对象添加字段,字段名为:根元素序号,字段值为:根元素值。
步骤411,使用扁平化后的字符串消息体,下发至设备端。
步骤412,设备端收到消息后,使用开发语言自身提供的分解函数(如:Split函数),通过键值对关系符分解后获得各键值对数据;通过键与值关系符分解后获得键、值数据后,并对键、值数据建立映射关系;然后可根据业务所定义的消息协议,得知各属性配置的字段值在影子JSON文档中的数据类型,不同字段值类型使用不同方式组合生成键名后,通过键与值映射关系,即可获得各属性配置的值:
JSON对象类型:按如下顺序组合生成键名:根字段名、字段层级关系符,子字段名;
JSON数组类型:按如下顺序组合生成键名:根字段名、字段层级关系符、数组元素序号;
其它类型:字段名即为键名。
在一个具体的实施例中,对设备进行OTA升级操作,只允许在晚上00:00~01:00时间段内进行OTA升级操作,假设使用”.”作为设备影子的动态字段前缀,此时在物联网平台启动时,建立动态字段”.time”与动态字段处理器实现类TimeHandler的映射关系,该TimeHandler主要是判断OTA升级操作的时间范围是否在允许的时间范围内。
在设备影子期望值(第二配置信息)中设置OTA属性配置时,将使用”.time”作为时间范围处理的动态字段,假设在设备影子期望值中对OTA的属性配置如下:
此时,若设置上报到影子报告值(第一配置信息)中OTA属性如下时,由于上报的”version”子字段的属性值,与期望值中的”version”属性配置值存在不一致,则会把”ota”属性下的根子段及子字段作为差异属性:
当影子期望值与报告值存在差异属性配置时,将会根据动态字段”.time”获得TimeHandler处理器,并调用其处理函数,判断当前系统时间是否在允许的时间范围内,不在允许的时间范围,则不需发下属性配置至设备端,在允许的时间范围,将会下发如下属性配置,从而实现动态地控制设备影子属性配置的下发:
上述配置消息的下发方法,可控制在云端当前时间的某个时间范围内才允许该属性配置下发至设备端。
然后调用JSON格式化函数,对将要下发的属性配置JSON对象转换为以关系符作为分隔符的扁平化字符串消息体,假设使用”:”表示键与值关系,”,”表示键值对关系、”_”表示字段层级关系,转换后的字符串消息体为:
ota_version:6.0.1,ota_file:http://ota.com/ota.bin,ota_hardwares_0:1.0.1,ota_hardwares_1:1.0.2
然后把格式化后的消息体,下发至设备端。设备端收到消息后,使用开发语言自身提供的分解函数(如:Split函数),首先通过”,”可分解出各健值对:
ota_version:6.0.1
ota_file:http://ota.com/ota.bin
ota_hardwares_0:1.0.1
ota_hardwares_1:1.0.2
通过”:”可分解出各键、值数据后,并把键、值数据建立映射关系,例如存放到Map结构的变量中,即可根据业务所定义的消息协议,分别通过键名ota_version、ota_file、ota_hardwares_0、ota_hardwares_1获取属性配置的值;实际应用中,为避免属性配置值的内容中存在关系符,引起设备端分解消息体错误,关系符可采用ASCII控制字符进行定义。这样即可以在弱设备端不需引入第三方库的情况下,简单便捷地解析出设备影子所下发的属性配置。
在一个实施例中,如图4所示,提供了一种配置信息下发装置500,包括数据接收模块、版本号匹配模块、差异属性确定模块、待下发属性确定模块以及数据下发模块,其中:
数据接收模块501,用于接收设备上传的第一版本号,第一版本号与设备的第一配置信息对应,其中,配置信息更新时修改版本号,版本号为配置信息的其中一个子字段的字段值;
版本号匹配模块502,用于匹配第一版本号与第二版本号,第二版本号与第二配置信息对应;
差异属性确定模块503,若第一版本号与第二版本号不一致,则将第二配置信息的根字段和子字段作为差异属性;
待下发属性确定模块504,用于若差异属性未包含动态字段,则将第二配置信息作为待下发的属性信息;
数据下发模块505,用于若待下发的属性信息的子字段不为空时,则下发所述待下发的属性信息。
在一个实施例中,待下发属性确定模块504,还用于若差异属性包含动态字段,根据动态字段的字段名称获取动态字段处理器实现类实例,动态字段处理器实现类实例包括动态字段处理函数;将差异属性作为动态字段处理函数的入参,确定出待下发的属性信息。
在一个实施例中,上述配置信息下发装置500,还包括:
实例数据接收模块,用于接收定义的动态字段处理器接口,以及在动态字段处理器接口中定义的动态字段处理函数;接收定义的动态字段处理器实现类,动态字段处理器实现类用于实现动态字段处理函数,动态字段处理函数的输入为动态字段对应的所有子字段的名称及字段值,输出为根据业务需求返回子字段及字段值;根据动态处理器实现类,创建动态字段的名称和动态字段处理器的实现类实例,并存储动态字段的名称与动态字段处理器的实现类实例的映射关系。
在一个实施例中,数据下发模块505,用于扁平化待下发的属性信息,以使得待下发的属性信息从结构化数据转换为扁平化数据;下发扁平化后的待下发的属性信息,其中,待下发的属性信息为结构化数据。
在一个实施例中,数据下发模块505,用于将JSON对象作为扁平化函数的入参,输出JSON对象对应的字符串消息体,字符串消息体中包括字段、字段值和关系字符,不同的关系字符用于标识不同的对应关系,待下发的属性信息为JSON对象,扁平化后的待下发的属性信息为字符串消息体。
在一个实施例中,如图5所示,提供了一种配置信息下发装置600,包括数据发送模块、数据接收模块和数据解析模块,其中:
数据发送模块601,用于向服务器发送第一版本号,第一版本号与设备的第一配置信息对应,其中,配置信息更新时修改版本号,版本号为配置信息的其中一个子字段的字段值,以使服务器匹配第一版本号和第二版本号,若第一版本号与第二版本号不一致,则将第二配置信息的根字段和子字段作为差异属性,若差异属性未包含动态字段,则将第二配置信息作为待下发的属性信息,若差异属性包括动态字段,则根据动态字段确定待下发的属性信息;
数据接收模块602,用于若待下发的属性信息的子字段不为空时,接收服务器下发的待下发属性信息;
数据解析模块603,用于解析待下发的属性信息。
在一个实施例中,数据解析模块603,用于当所述待下发的属性信息为字符串消息体时,采用分割函数对所述待下发的属性信息进行分割,得到键值对,所述键值对中包括字段、字段值和关系字符;根据所述键值对中的所述关系字符对应的解析,建立所述字段和字段值的映射关系,和/或建立不同字段之间的关系。
所述配置信息下发装置500包括处理器和存储器,上述数据接收模块、版本号匹配模块、差异属性确定模块、待下发属性确定模块以及数据下发模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序模块中实现相应的功能。
所述配置信息下发装置600包括处理器和存储器,上述数据发送模块、数据接收模块以及数据解析模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序模块中实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现对数据处理功能。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述配置信息下发方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述配置信息下发方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器A01、网络接口A02、存储器(图中未示出)和数据库(图中未示出)。其中,该计算机设备的处理器A01用于提供计算和控制能力。该计算机设备的存储器包括内存储器A03和非易失性存储介质A04。该非易失性存储介质A04存储有操作系统B01、计算机程序B02和数据库(图中未示出)。该内存储器A03为非易失性存储介质A04中的操作系统B01和计算机程序B02的运行提供环境。该计算机设备的数据库用于存储配置信息下发方法的数据。该计算机设备的网络接口A02用于与外部的终端通过网络连接通信。该计算机程序B02被处理器A01执行时以实现一种配置信息下发方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述配置信息下发方法。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化上述配置信息下发方法中步骤的程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种配置信息下发方法,其特征在于,应用于服务器,所述方法包括:
接收设备上传的第一版本号,所述第一版本号与所述设备的第一配置信息对应,其中,配置信息更新时修改版本号,所述版本号为所述配置信息的其中一个子字段的字段值;
匹配所述第一版本号与第二版本号,所述第二版本号与第二配置信息对应;
若所述第一版本号与所述第二版本号不一致,则将所述第二配置信息的根字段和子字段作为差异属性;
若所述差异属性未包含动态字段,则将所述第二配置信息作为待下发的属性信息;
若所述待下发的属性信息的子字段不为空时,则下发所述待下发的属性信息。
2.根据权利要求1所述的方法,其特征在于,若所述差异属性包含动态字段,所述方法还包括:
根据所述动态字段的字段名称获取动态字段处理器实现类实例,所述动态字段处理器实现类实例包括动态字段处理函数;
将所述差异属性作为所述动态字段处理函数的入参,确定出所述待下发的属性信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述动态字段的字段名称获取动态字段处理器实现类实例之前,还包括:
接收定义的动态字段处理器接口,以及在所述动态字段处理器接口中定义的所述动态字段处理函数;
接收定义的动态字段处理器实现类,所述动态字段处理器实现类用于实现所述动态字段处理函数,所述动态字段处理函数的输入为所述动态字段对应的所有子字段的名称及字段值,输出为根据业务需求返回子字段及字段值;
根据所述动态处理器实现类,创建所述动态字段的名称和所述动态字段处理器的实现类实例,并存储所述动态字段的名称与所述动态字段处理器的实现类实例的映射关系。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述待下发的属性信息为结构化数据,所述下发的属性信息,包括:
扁平化所述待下发的属性信息,以使得所述待下发的属性信息从结构化数据转换为扁平化数据;
下发扁平化后的所述待下发的属性信息。
5.根据权利要求4所述的方法,其特征在于,所述待下发的属性信息为JSON对象,所述扁平化后的所述待下发的属性信息为字符串消息体;
所述扁平化所述待下发的属性信息,包括:
将所述JSON对象作为扁平化函数的入参,输出所述JSON对象对应的字符串消息体,所述字符串消息体中包括字段、字段值和关系字符,不同的所述关系字符用于标识不同的对应关系。
6.一种配置信息下发方法,其特征在于,应用于设备,所述方法包括:
向服务器发送第一版本号,所述第一版本号与所述设备的第一配置信息对应,其中,配置信息更新时修改版本号,以使所述服务器匹配所述第一版本号和第二版本号,若所述第一版本号与第二版本号不一致,则将所述第二配置信息的根字段和子字段作为差异属性,若所述差异属性未包含动态字段,则将所述第二配置信息作为待下发的属性信息,若所述差异属性包括所述动态字段,则根据所述动态字段确定所述待下发的属性信息;
若所述待下发的属性信息的子字段不为空时,接收所述服务器下发的所述待下发的属性信息;
解析所述待下发的属性信息。
7.一种配置消息下发装置,其特征在于,应用于服务器,所述装置包括:
数据接收模块,用于接收设备上传的第一版本号,所述第一版本号与所述设备的第一配置信息对应,其中,配置信息更新时修改版本号,所述版本号为所述配置信息的其中一个子字段的字段值;
版本号匹配模块,用于匹配所述第一版本号与第二版本号,所述第二版本号与第二配置性信息对应;
差异属性确定模块,若所述第一版本号与所述第二版本号不一致,则将所述第二配置信息的根字段和子字段作为差异属性;
待下发属性确定模块,用于若所述差异属性未包含动态字段,则将所述第二配置信息作为待下发的属性信息;
数据下发模块,用于若所述待下发的属性信息的子字段不为空时,则下发所述待下发的属性信息。
8.一种配置消息下发装置,其特征在于,应用于设备,所述装置包括:
数据发送模块,用于向服务器发送第一版本号,所述第一版本号与所述设备的第一配置信息对应,其中,配置信息更新时修改版本号,以使所述服务器匹配所述第一版本号和第二版本号,若所述第一版本号与第二版本号不一致,则将所述第二配置信息的根字段和子字段作为差异属性,若所述差异属性未包含动态字段,则将所述第二配置信息作为待下发的属性信息,若所述差异属性包括所述动态字段,则根据所述动态字段确定所述待下发的属性信息;
数据接收模块,用于若所述待下发的属性信息的子字段不为空时,接收所述服务器下发的所述待下发的属性信息;
数据解析模块,用于解析所述待下发的属性信息。
9.一种机器可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行根据权利要求1至6中任一项所述的方法。
10.一种处理器,其特征在于,被配置成执行根据权利要求1至6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110710560.6A CN113312075A (zh) | 2021-06-25 | 2021-06-25 | 配置信息下发方法、装置、存储介质及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110710560.6A CN113312075A (zh) | 2021-06-25 | 2021-06-25 | 配置信息下发方法、装置、存储介质及处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113312075A true CN113312075A (zh) | 2021-08-27 |
Family
ID=77380218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110710560.6A Pending CN113312075A (zh) | 2021-06-25 | 2021-06-25 | 配置信息下发方法、装置、存储介质及处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312075A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114064150A (zh) * | 2021-11-23 | 2022-02-18 | 上海致景信息科技有限公司 | 一种基于kubernetes平台的本地服务运行方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120047045A1 (en) * | 2010-08-20 | 2012-02-23 | Gade Gopikrishna | Product configuration server for efficiently displaying selectable attribute values for configurable products |
CN107465714A (zh) * | 2017-01-23 | 2017-12-12 | 北京思特奇信息技术股份有限公司 | 一种基于应用集群的配置数据动态更新系统及方法 |
CN109271490A (zh) * | 2018-11-01 | 2019-01-25 | 中企动力科技股份有限公司 | 动态字段的分类方法和系统 |
CN109992279A (zh) * | 2017-12-30 | 2019-07-09 | 中国移动通信集团山西有限公司 | 配置数据更新方法、装置、计算设备及存储介质 |
CN110865797A (zh) * | 2018-08-28 | 2020-03-06 | 北京京东尚科信息技术有限公司 | 处理业务动态属性的方法和装置 |
CN111897588A (zh) * | 2020-06-19 | 2020-11-06 | 深圳奇迹智慧网络有限公司 | 产品模型配置方法、装置、计算机设备和存储介质 |
CN111901144A (zh) * | 2020-06-19 | 2020-11-06 | 深圳奇迹智慧网络有限公司 | 物联网设备的交互方法、装置、计算机设备和存储介质 |
CN111917824A (zh) * | 2020-06-19 | 2020-11-10 | 深圳奇迹智慧网络有限公司 | 物联设备配置方法、装置、计算机设备和存储介质 |
CN112311741A (zh) * | 2019-07-31 | 2021-02-02 | 贵州白山云科技股份有限公司 | 一种防火墙规则管理方法、装置、介质及设备 |
-
2021
- 2021-06-25 CN CN202110710560.6A patent/CN113312075A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120047045A1 (en) * | 2010-08-20 | 2012-02-23 | Gade Gopikrishna | Product configuration server for efficiently displaying selectable attribute values for configurable products |
CN107465714A (zh) * | 2017-01-23 | 2017-12-12 | 北京思特奇信息技术股份有限公司 | 一种基于应用集群的配置数据动态更新系统及方法 |
CN109992279A (zh) * | 2017-12-30 | 2019-07-09 | 中国移动通信集团山西有限公司 | 配置数据更新方法、装置、计算设备及存储介质 |
CN110865797A (zh) * | 2018-08-28 | 2020-03-06 | 北京京东尚科信息技术有限公司 | 处理业务动态属性的方法和装置 |
CN109271490A (zh) * | 2018-11-01 | 2019-01-25 | 中企动力科技股份有限公司 | 动态字段的分类方法和系统 |
CN112311741A (zh) * | 2019-07-31 | 2021-02-02 | 贵州白山云科技股份有限公司 | 一种防火墙规则管理方法、装置、介质及设备 |
CN111897588A (zh) * | 2020-06-19 | 2020-11-06 | 深圳奇迹智慧网络有限公司 | 产品模型配置方法、装置、计算机设备和存储介质 |
CN111901144A (zh) * | 2020-06-19 | 2020-11-06 | 深圳奇迹智慧网络有限公司 | 物联网设备的交互方法、装置、计算机设备和存储介质 |
CN111917824A (zh) * | 2020-06-19 | 2020-11-10 | 深圳奇迹智慧网络有限公司 | 物联设备配置方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
CUG-GZ: "数组扁平化 && 对象扁平化", 《CSDN》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114064150A (zh) * | 2021-11-23 | 2022-02-18 | 上海致景信息科技有限公司 | 一种基于kubernetes平台的本地服务运行方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3404542A1 (en) | Data pipeline architecture for analytics processing stack | |
CN109062925B (zh) | 自动生成insert语句的方法、装置、计算机设备及存储介质 | |
US10169348B2 (en) | Using a file path to determine file locality for applications | |
CN112800095A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN107016115B (zh) | 数据导出方法、装置、计算机可读存储介质及电子设备 | |
CN110688096B (zh) | 包含插件的应用程序的构建方法、装置、介质及电子设备 | |
CN114238381A (zh) | 数据质量校验方法、设备及计算机可读存储介质 | |
CN113626223A (zh) | 一种接口调用方法和装置 | |
CN111680799A (zh) | 用于处理模型参数的方法和装置 | |
CN113312075A (zh) | 配置信息下发方法、装置、存储介质及处理器 | |
CN112650804B (zh) | 大数据接入方法、装置、系统及存储介质 | |
CN112052011A (zh) | 小程序的合包方法、装置、电子设备及介质 | |
CN113127735A (zh) | 车货匹配方法、装置、计算机设备和介质 | |
CN112926008A (zh) | 生成表单页面的方法、装置、电子设备和存储介质 | |
CN111858617A (zh) | 用户查找方法和装置、计算机可读存储介质、电子设备 | |
CN110941655B (zh) | 一种数据格式转换方法及装置 | |
CN116089367A (zh) | 动态分桶方法、装置、电子设备和介质 | |
CN116069725A (zh) | 文件迁移方法、装置、设备、介质和程序产品 | |
CN110909085A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN115964054A (zh) | 应用服务部署方法和装置 | |
CN106446272B (zh) | 用于发送数据的方法和装置 | |
US8566814B2 (en) | Transporting object packets in a nested system landscape | |
CN114995719A (zh) | 列表渲染方法、装置、设备以及存储介质 | |
CN112230911B (zh) | 模型部署方法、装置、计算机设备和存储介质 | |
CN110728118B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210827 |