CN113946615A - 数据的结构化处理方法、装置、设备及存储介质 - Google Patents
数据的结构化处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113946615A CN113946615A CN202111217653.1A CN202111217653A CN113946615A CN 113946615 A CN113946615 A CN 113946615A CN 202111217653 A CN202111217653 A CN 202111217653A CN 113946615 A CN113946615 A CN 113946615A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- fragment
- syntax tree
- fragment 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
- 238000003672 processing method Methods 0.000 title abstract description 7
- 239000012634 fragment Substances 0.000 claims abstract description 108
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 32
- 238000013507 mapping Methods 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims description 26
- 238000003780 insertion Methods 0.000 claims description 15
- 230000037431 insertion Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 230000006835 compression Effects 0.000 claims description 9
- 238000007906 compression Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000002372 labelling Methods 0.000 claims description 6
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 description 46
- 230000008569 process Effects 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 238000000547 structure data Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及人工智能技术领域,揭示了一种数据的结构化处理方法、装置、设备及存储介质,其中方法包括:获取目标数据,并对目标数据进行裁剪,得到至少两个片段数据;创建并配置线程池,将片段数据通过不同的存储线程传输至参数取值函数中;对获取的片段数据进行上下文信息分析,并基于上下文信息,通过参数取值函数对片段数据进行取值,得到表达参数;获取目标对象的展示结构,建立展示结构对应的目标语法树;通过映射模型在表达参数中提取变量标记和变量标记对应的数据变量,并根据变量标记将数据变量映射到目标语法树的各个对象节点中,得到目标对象对应的结构数据;从而提高对数据的结构化处理效率。
Description
技术领域
本申请涉及到人工智能技术领域,特别是涉及到一种数据的结构化处理方法、装置、设备及存储介质。
背景技术
BFF(Bankend For Front)***是处于App/Web和后端微服务之间的一层,起到数据的聚合、裁剪和编排的作用。为了适配不同移动端与桌面端对不同展示格式的需求,需要通过BFF***对后端提供的数据进行定制化处理。
然而,如果每次定制化处理都采用BFF***一个个字段去获取数据,会导致数据转换为目标结构的定制化处理效率降低。
发明内容
本申请的主要目的为提供一种数据的结构化处理方法、装置、设备及存储介质,旨在解决现有技术中对数据的结构化处理效率较低的问题。
为了实现上述发明目的,本申请提出一种数据的结构化处理方法,所述方法包括:
获取目标数据,并对所述目标数据进行裁剪,得到至少两个片段数据;
创建并配置线程池,基于所述线程池中的至少两个存储线程,将所述片段数据通过不同的存储线程传输至参数取值函数中;
对所述参数取值函数中的所述片段数据进行上下文信息分析,并基于所述上下文信息,通过参数取值函数对所述片段数据进行取值,得到表达参数;
获取目标对象的展示结构,建立所述展示结构对应的目标语法树,其中,所述目标语法树包括至少两个可编辑的对象节点;
通过映射模型在所述表达参数中提取变量标记和所述变量标记对应的数据变量,并根据所述变量标记将所述数据变量映射到所述目标语法树的各个所述对象节点中,得到所述目标对象对应的结构数据。
进一步的,所述建立所述展示结构对应的目标语法树,包括:
识别所述展示结构中的变量***位;
将所述变量***位作为所述对象节点,并在所述对象节点中***识别锚点,根据所述识别锚点生成所述目标语法树。
进一步的,所述对所述目标数据进行裁剪之后,还包括:
按照所述片段数据在所述目标数据中的顺序进行上下文标注;
所述对获取的所述片段数据进行上下文信息分析,包括:
根据所述上下文标注对所述片段数据进行上下文信息分析。
进一步的,所述对所述目标数据进行裁剪,得到至少两个片段数据,包括:
判断所述目标数据是否包括图片数据,若包括,则从所述目标数据中裁剪出所述图片数据;
将所述图片数据进行数据流转换,并对得到的所述图片数据的数据流进行等比例压缩,将压缩后的所述数据流作为所述图片数据对应的片段数据。
进一步的,所述判断所述目标数据是否包括图片数据,包括:
识别所述目标数据中包含的各个数据的数据格式,并根据所述数据格式识别所述目标数据中是否包括图片数据。
进一步的,建立所述展示结构对应的目标语法树之后,还包括:
根据所述目标语法树生成树索引表,其中,所述树索引表包括与各个所述对象节点关联的索引码;
建立每一个所述索引码与对应的所述对象节点之间的链接;
响应于索引查询指令,根据所述索引查询指令对应的索引码,通过所述链接调用所述对象节点。
本申请还提出了一种数据的结构化处理装置,包括:
数据裁剪模块,用于获取目标数据,并对所述目标数据进行裁剪,得到至少两个片段数据;
多线程获取模块,用于创建并配置线程池,基于所述线程池中的至少两个存储线程,将所述片段数据通过不同的存储线程传输至参数取值函数中;
表达参数获取模块,用于对所述参数取值函数中的所述片段数据进行上下文信息分析,并基于所述上下文信息,通过参数取值函数对所述片段数据进行取值,得到表达参数;
语法树生成模块,用于获取目标对象的展示结构,建立所述展示结构对应的目标语法树,其中,所述目标语法树包括至少两个可编辑的对象节点;
数据结构化模块,用于通过映射模型在所述表达参数中提取变量标记和所述变量标记对应的数据变量,并根据所述变量标记将所述数据变量映射到所述目标语法树的各个所述对象节点中,得到所述目标对象对应的结构数据。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的数据的结构化处理方法、装置、设备及存储介质,通过对目标数据进行裁剪得到多个片段数据,从而避免了传输对象较大导致传输效率和处理效率较低的问题;通过建立包含多个存储线程的线程池,对大量的片段数据进行多线程传输,从而提高了数据传输效率,减小了传输资源压力;通过对片段数据进行上下文信息分析,并基于上下文信息进行取值,从而能够确保表达参数的正确性,避免因多线程传输造成数据混乱的问题;通过对目标对象结构建立目标语法树,能够将对应的展示格式转换为可编辑的语法树状态,以便于后续数据***目标语法树中,并且在根据目标对象生成目标语法树之后,通过可编辑的对象节点,用数据变量替换目标语法树中原结构后生成结构数据,相较于将目标语法树转换为JSONObject结构后再使用put方法给json对象添加元素的方式更早一个阶段,并且在替换过程中需要的关注类型较少,因此通过将数据变量映射在目标语法树中,实现了目标数据的展示格式转换,并提高了转换效率。
附图说明
图1为本申请一实施例的数据的结构化处理方法的流程示意图;
图2为本申请一具体实施方式的数据的结构化处理方法的流程示意图;
图3为本申请一实施例的数据的结构化处理装置的结构示意框图;
图4为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,为了实现上述发明目的,本申请提出一种数据的结构化处理方法,所述方法包括:
S1:获取目标数据,并对所述目标数据进行裁剪,得到至少两个片段数据;
S2:创建并配置线程池,将所述片段数据分别输入到所述线程池的不同的存储线程中;
S3:在不同的存储线程中,分别对所述片段数据进行上下文信息分析,并基于所述上下文信息,通过参数取值函数对所述片段数据进行取值,得到表达参数;
S4:获取目标对象的展示结构,建立所述展示结构对应的目标语法树,其中,所述目标语法树包括至少两个可编辑的对象节点;
S5:通过映射模型在所述表达参数中提取变量标记和所述变量标记对应的数据变量,并根据所述变量标记将所述数据变量映射到所述目标语法树的各个所述对象节点中,得到所述目标对象对应的结构数据。
本实施例通过对目标数据进行裁剪得到多个片段数据,从而避免了传输对象较大导致传输效率和处理效率较低的问题;通过建立包含多个存储线程的线程池,对大量的片段数据进行多线程获取,从而提高了数据获取效率,减小了传输资源压力;通过对片段数据进行上下文信息分析,并基于上下文信息进行取值,从而能够确保表达参数的正确性,避免因多线程传输造成数据混乱的问题;通过对目标对象结构建立目标语法树,能够将对应的展示格式转换为可编辑的语法树状态,以便于后续数据***目标语法树中,并且在根据目标对象生成目标语法树之后,通过可编辑的对象节点,用数据变量替换目标语法树中原结构后生成结构数据,相较于将目标语法树转换为JSONObject结构后再使用put方法给json对象添加元素的方式更早一个阶段,并且在替换过程中需要的关注类型较少,因此通过将数据变量映射在目标语法树中,实现了目标数据的展示格式转换,并提高了转换效率。
对于步骤S1,本实施例应用于数据处理,尤其是BFF层的数据定制化处理中,可以基于人工智能技术对BFF层的数据进行定制结构化处理。其中,人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。上述的目标数据通常为需要处理为某一展示格式的后端数据,在具体的实施方式中,可以通过裁剪模型进行数据剪裁,该裁剪模型可以为包含有数据裁剪算法的卷积神经网络模型,其数据裁剪算法可以为,根据预设的分段长度、预设的分段标志符等对目标数据进行裁剪,从而得到至少两个相比于总的目标数据而言,数据长度较小的片段数据。本实施例中,通过对目标数据进行裁剪得到至少两个片段数据,从而避免了传输对象较大导致传输效率和处理效率较低的问题。
对于步骤S2,为了避免在不需要进行数据定制化的时间内,存在的线程池会导致***资源被额外占用的问题,本实施例在每一次执行数据定制化之前均创建新的线程池;具体来说,可以通过Inheritable Thread Local创建线程池,即,通过Inheritable ThreadLocal把父线程的Threadlocals的值复制到新线程的Threadlocals中,通过Hreadlocal.get()中的Threadlocal,即可将上述片段数据通过各个线程输入至参数取值函数。在此基础上,建立包括至少两个存储线程的线程池,能够通过多线程的方式对片段数据进行传输,即,将片段数据分为至少两份,并通过多个存储线程分别进行传输和存储。本实施例中,通过建立包含多个存储线程的线程池,对大量的片段数据进行多线程传输,从而提高了数据传输效率,减小了传输资源压力。
对于步骤S3,为了根据裁剪后的片段数据还原得到需要定制化展示的参数,可以基于参数取值函数Groovy Shell的方式,即注入预设的上下文对象,并配置参数属性和类路径,再通过Groovy Shell()参数取值函数进行基于上下文对象的取值,从而得到上述表达参数。此外,由于在Java中,不同类型取值的方式不能通过点的方式获取,比如map类型,就要通过get方法实现,不能统一简洁书写取值表达式,而通过Groovy Shell()的取值方式,可以先引入Groovy核心包,使用Groovy shell的特性,可以通过result.code等点的方式从片段数据中取值,从而基于Groovy的特性简化的取值的表达式书写的难度。
对于上述的上下文对象,具体来说,由于原目标数据往往是有叙述顺序的数据,而裁剪为片段数据后则可能出现传输顺序不同导致各个片段数据之间的叙述顺序被打乱的问题,因此需要通过上下文模型获对各个片段数据的裁剪点进行上下文分析,识别出各个片段数据的正确上下文信息,从而通过Groovy Shell()对片段数据进行取值,得到目标数据的源对象对应的表达参数。本实施例中,通过对片段数据进行上下文信息分析,并基于上下文信息进行取值,从而能够确保表达参数的正确性,避免因多线程传输造成数据混乱的问题。
对于步骤S4,上述目标对象通常为需要按照某一展示格式展示上述目标数据的应用程序或网页等对象,由于不同的应用程序和网页往往有不同的展示格式要求,因此需要获取其展示格式对应的展示结构,并根据该结构生成基于jackson的Json tree目标语法树,具体来说,可以使用jackson读取目标对象结构中的count节点数值以及遍历list下的所有节点,通过JsonNodeFactory类来构造各种JsonNode节点,例如对象节点ObjectNode、数组节点ArrayNode等;通过JsonNode类表示Json节点,在Json节点中添加Json值后,从而构造出Json tree;通过ObjectMapper类将JsonNode节点转换成最终的Json字符串。而对象节点ObjectNode为可编辑节点,其能够***各种变量值。本实施例中,通过对目标对象结构建立目标语法树,能够将对应的展示格式转换为可编辑的语法树状态,以便于后续数据***目标语法树中。
对于步骤S5,上述映射模型可以为包含有映射和参数裁剪算法的卷积神经网络模型,参数裁剪算法可以为,获取表达参数中的变量标记,将变量标记对应的数据变量进行提取,映射算法可以为,根据变量标记,将数据变量***到目标语法树中对应的节点中,上述表达参数中还可以包括变量名称,以便于用户识别不用的变量功能。当数据变量***之后,根据***数据变量后的目标语法树进行格式转换,从而将目标数据转换为上述目标对象对应的展示格式下的定制化数据,即上述结构数据,以使应用程序或网页将结构数据显示在显示界面上,实现了对目标数据进行展示格式的定制。在得到一次结构数据之后,可以使用Apollo来管理映射模型和展示结构的元数据,可实现运行期更新元数据,从而动态获取展示结构,从而动态修改目标语法树的结构,实现多种展示格式的转换。本实施例中,通过将数据变量映射为目标语法树中,从而实现了目标数据的展示格式转换。
在一个实施例中,参照图2,所述建立所述展示结构对应的目标语法树,包括:
S41:识别所述展示结构中的变量***位;
S42:将所述变量***位作为所述对象节点,并在所述对象节点中***识别锚点,根据所述识别锚点生成所述目标语法树。
本实施例通过识别展示结构中的变量***位,将变量***位作为对象节点,并根据对象节点中的识别锚点生成目标语法树,从而准确定位变量位置,并提高结构数据的构建效率和准确性。
对于步骤S42,可以将“#”等特殊字符作为识别锚点,将识别锚点***目标语法树中的对象节点位置,以使映射模型在识别到“#”等识别锚点后,将#对应的数据变量,***到目标语法树的对象节点中,从而准确定位变量位置,并提高结构数据的构建效率和准确性。
优选地,为了降低识别锚点被误识别的概率,可以设置多个目标数据中不常用的特殊字符的组合作为识别锚点,例如“####”,“##*##”等,以降低识别锚点与目标数据的重合概率,提高识别和对象***的准确率。
在一个实施例中,所述对所述目标数据进行裁剪之后,还包括:
S111:按照所述片段数据在所述目标数据中的顺序进行上下文标注;
所述对获取的所述片段数据进行上下文信息分析S3,包括:
S31:根据所述上下文标注对所述片段数据进行上下文信息分析。
本实施例通过在对目标数据裁剪之后在数据多线程传输之前,对片段数据进行上下文标注,以便于后续快速进行上下文信息分析。
对于步骤S111,由于片段数据在多线程的数据传输中,实际被获取的顺序往往难以与其在原目标数据中的顺序不同,若直接对顺序混乱的片段数据进行取值,则可能导致最终生成的展示格式下的结构数据与原目标数据的内容含义不符;示例性地,以用户注册表为例,若目标数据包含的信息有,(1)姓名:张某,(2)注册手机号:139xxxxxxxx,(3)注册时间:2019-06-01,此时如果片段数据被打乱顺序,则得到的结构数据可能为(1)注册时间:2019-06-01,(2)注册手机号:139xxxxxxxx,(3)姓名:张某,等的情况。因此,本实施例在对目标数据裁剪之后在数据多线程传输之前,对片段数据进行上下文标注,以便于后续快速进行上下文信息分析。优选地,可以按照目标数据中的顺序对所有片段数据依次***顺序编号,也可以在片段数据与上文连接的部位添加与上文对应的右标记符,在与下文连接的部位添加与下文对应的左标记符,以便于后续的数据连接。
对于步骤S31,根据上述形成的上下文标注,按照标注顺序对片段数据进行上下文信息分析。
在一个实施例中,所述创建并配置线程池,包括:
S21:获取所述片段数据的片段数量;
S22:根据预设的比例生成所述片段数量对应的线程数量,根据所述线程数量创建并配置所述线程池。
本实施例通过根据片段数量生成对应数量的线程,并配置线程池,提高了数据传输的均衡性,避免不同片段数据的抵达存储***的时间相差过大。
对于步骤S22,为了确保数据传输效率,本实施例对于较大的目标数据采用更多的线程进行传递,具体来说,可以预设一定的计算比例,根据片段数据的片段数量得到应该设定的存储线程的总数量。优选地,还可以根据片段数据的数据大小将不同的片段数据分配到合适的存储线程中,从而使各个存储线程中传输的片段数据的大小基本一致,提高了数据传输的均衡性,避免不同片段数据的抵达存储***的时间相差过大。
在一个实施例中,所述对所述目标数据进行裁剪,得到至少两个片段数据,包括:
S23:判断所述目标数据是否包括图片数据,若包括,则从所述目标数据中裁剪出所述图片数据;
S24:将所述图片数据进行数据流转换,并对得到的所述图片数据的数据流进行等比例压缩,将压缩后的所述数据流作为所述图片数据对应的片段数据。
本实施例提取图片数据并对图片数据进行等比例压缩,从而降低了图片数据占用的传输流量,提高了片段数据的传输效率。
对于步骤S23,对于图片数据,其数据量较大,对传输的带宽要求也较高。
对于步骤S24,为了提高对图片数据的传输效率,本实施例将上述图片数据首先进行数据流转换,然后通过Canvas图片压缩技术对上述数据流进行等比例压缩,得到压缩后的,数据量较小的数据流,将压缩后的数据流作为一个新的片段数据进行传输,能够降低传输图片数据所需的带宽,提高传输效率,在获取到经多线程传输的图片数据后,将上述数据流通过image的格式导出,从而得到所需的表达参数,完成图片数据的压缩传递。
在一个实施例中,所述判断所述目标数据是否包括图片数据,包括:
S231:识别所述目标数据中包含的各个数据的数据格式,并根据所述数据格式识别所述目标数据中是否包括图片数据。
本实施例通过数据格式判断目标数据中是否包含图片数据,从而提高了数据提取的准确性。
对于步骤S231,在具体的实施方式中,图片数据的数据格式往往是BMP、JPEG、TIFF等,对于常见的图片数据而言,较小的图片数据的大小可能为20KB等,较大的图片数据的大小可能为10M甚至上百M,为了避免较大的图片数据占用较多的传输带宽,导致数据传输效率下降,本实施例对其进行数据格式识别,从而完成提取和压缩,并在完成传输后解压复原,提高了数据的传输效率。
在一个实施例中,所述建立所述展示结构对应的目标语法树之后,还包括:
S411:根据所述目标语法树生成树索引表,其中,所述树索引表包括与各个所述对象节点关联的索引码;
S412:建立每一个所述索引码与对应的所述对象节点之间的链接;
S413:响应于索引查询指令,根据所述索引查询指令对应的索引码,通过所述链接调用所述对象节点。
本实施例通过设置与各个对象节点关联的索引码,并根据索引查询指令调用对应的对象节点,以便于用户排查数据异常,或有针对性地修改单独节点的数据,提高了数据异常排查和修改的灵活性。
对于步骤S411,树索引表可以为一个或多个由至少两索引码组成的集合,其中索引码的数量与对象节点的数量相同,且索引码与对象节点一一对应。在具体的实施方式中,索引码可以为数字编号或文字中的一种,也可以为数字编号和文字的组合,以便于用户查询。
对于步骤S412,生成树索引表之后,对每一个索引码建立一个对应的链接,该链接可以为跳转至对应的对象节点的地址,也可以为该对象节点的调用路径。
对于步骤S413,当接收到用户发送的索引查询指令时,即可根据上述链接调用对应的对象节点,以便于用户排查数据异常,或有针对性地修改单独节点的数据。
参照图3,本申请还提出了一种数据的结构化处理装置,包括:
数据裁剪模块100,用于获取目标数据,并对所述目标数据进行裁剪,得到至少两个片段数据;
多线程获取模块200,用于创建并配置线程池,基于所述线程池中的至少两个存储线程,将所述片段数据通过不同的存储线程传输至参数取值函数中;
表达参数获取模块300,用于对所述参数取值函数中的所述片段数据进行上下文信息分析,并基于所述上下文信息,通过参数取值函数对所述片段数据进行取值,得到表达参数;
语法树生成模块400,用于获取目标对象的展示结构,建立所述展示结构对应的目标语法树,其中,所述目标语法树包括至少两个可编辑的对象节点;
数据结构化模块500,用于通过映射模型在所述表达参数中提取变量标记和所述变量标记对应的数据变量,并根据所述变量标记将所述数据变量映射到所述目标语法树的各个所述对象节点中,得到所述目标对象对应的结构数据。
本实施例通过对目标数据进行裁剪得到多个片段数据,从而避免了传输对象较大导致传输效率和处理效率较低的问题;通过建立包含多个存储线程的线程池,对大量的片段数据进行多线程传输,从而提高了数据传输效率,减小了传输资源压力;通过对片段数据进行上下文信息分析,并基于上下文信息进行取值,从而能够确保表达参数的正确性,避免因多线程传输造成数据混乱的问题;通过对目标对象结构建立目标语法树,能够将对应的展示格式转换为可编辑的语法树状态,以便于后续数据***目标语法树中,并且在根据目标对象生成目标语法树之后,通过可编辑的对象节点,用数据变量替换目标语法树中原结构后生成结构数据,相较于将目标语法树转换为JSONObject结构后再使用put方法给json对象添加元素的方式更早一个阶段,并且在替换过程中需要的关注类型较少,因此通过将数据变量映射在目标语法树中,实现了目标数据的展示格式转换,并提高了转换效率。
在一个实施例中,所述语法树生成模块400,用于:
识别所述展示结构中的变量***位;
将所述变量***位作为所述对象节点,并在所述对象节点中***识别锚点,根据所述识别锚点生成所述目标语法树。
在一个实施例中,所述数据裁剪模块100,还用于:
按照所述片段数据在所述目标数据中的顺序进行上下文标注;
所述表达参数获取模块300,还用于:
根据所述上下文标注对所述片段数据进行上下文信息分析。
在一个实施例中,所述多线程获取模块200,还用于:
获取所述片段数据的片段数量;
根据预设的比例生成所述片段数量对应的线程数量,根据所述线程数量创建并配置所述线程池。
在一个实施例中,所述数据裁剪模块100,还用于:
判断所述目标数据是否包括图片数据,若包括,则从所述目标数据中裁剪出所述图片数据;
将所述图片数据进行数据流转换,并对得到的所述图片数据的数据流进行等比例压缩,将压缩后的所述数据流作为所述图片数据对应的片段数据。
在一个实施例中,所述数据裁剪模块100,还用于:
识别所述目标数据中包含的各个数据的数据格式,并根据所述数据格式识别所述目标数据中的图片数据。
在一个实施例中,还包括索引表建立模块600,用于:
根据所述目标语法树生成树索引表,其中,所述树索引表包括与各个所述对象节点关联的索引码;
建立每一个所述索引码与对应的所述对象节点之间的链接;
响应于索引查询指令,根据所述索引查询指令对应的索引码,通过所述链接调用所述对象节点。
参照图4,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图4所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于储存数据的结构化处理方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据的结构化处理方法。所述数据的结构化处理方法,包括:获取目标数据,并对所述目标数据进行裁剪,得到至少两个片段数据;创建并配置线程池,基于所述线程池中的至少两个存储线程,将所述片段数据通过不同的存储线程传输至参数取值函数中;对所述参数取值函数中的所述片段数据进行上下文信息分析,并基于所述上下文信息,通过参数取值函数对所述片段数据进行取值,得到表达参数;获取目标对象的展示结构,建立所述展示结构对应的目标语法树,其中,所述目标语法树包括至少两个可编辑的对象节点;通过映射模型在所述表达参数中提取变量标记和所述变量标记对应的数据变量,并根据所述变量标记将所述数据变量映射到所述目标语法树的各个所述对象节点中,得到所述目标对象对应的结构数据。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种数据的结构化处理方法,包括步骤:获取目标数据,并对所述目标数据进行裁剪,得到至少两个片段数据;创建并配置线程池,基于所述线程池中的至少两个存储线程,将所述片段数据通过不同的存储线程传输至参数取值函数中;对所述参数取值函数中的所述片段数据进行上下文信息分析,并基于所述上下文信息,通过参数取值函数对所述片段数据进行取值,得到表达参数;获取目标对象的展示结构,建立所述展示结构对应的目标语法树,其中,所述目标语法树包括至少两个可编辑的对象节点;通过映射模型在所述表达参数中提取变量标记和所述变量标记对应的数据变量,并根据所述变量标记将所述数据变量映射到所述目标语法树的各个所述对象节点中,得到所述目标对象对应的结构数据。
上述执行的数据的结构化处理方法,本实施例通过对目标数据进行裁剪得到多个片段数据,从而避免了传输对象较大导致传输效率和处理效率较低的问题;通过建立包含多个存储线程的线程池,对大量的片段数据进行多线程传输,从而提高了数据传输效率,减小了传输资源压力;通过对片段数据进行上下文信息分析,并基于上下文信息进行取值,从而能够确保表达参数的正确性,避免因多线程传输造成数据混乱的问题;通过对目标对象结构建立目标语法树,能够将对应的展示格式转换为可编辑的语法树状态,以便于后续数据***目标语法树中,并且在根据目标对象生成目标语法树之后,通过可编辑的对象节点,用数据变量替换目标语法树中原结构后生成结构数据,相较于将目标语法树转换为JSONObject结构后再使用put方法给json对象添加元素的方式更早一个阶段,并且在替换过程中需要的关注类型较少,因此通过将数据变量映射在目标语法树中,实现了目标数据的展示格式转换,并提高了转换效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种数据的结构化处理方法,其特征在于,所述方法包括:
获取目标数据,并对所述目标数据进行裁剪,得到至少两个片段数据;
创建并配置线程池,基于所述线程池中的至少两个存储线程,将所述片段数据通过不同的存储线程传输至参数取值函数中;
对所述参数取值函数中的所述片段数据进行上下文信息分析,并基于所述上下文信息,通过参数取值函数对所述片段数据进行取值,得到表达参数;
获取目标对象的展示结构,建立所述展示结构对应的目标语法树,其中,所述目标语法树包括至少两个可编辑的对象节点;
通过映射模型在所述表达参数中提取变量标记和所述变量标记对应的数据变量,并根据所述变量标记将所述数据变量映射到所述目标语法树的各个所述对象节点中,得到所述目标对象对应的结构数据。
2.根据权利要求1所述的数据的结构化处理方法,其特征在于,所述建立所述展示结构对应的目标语法树,包括:
识别所述展示结构中的变量***位;
将所述变量***位作为所述对象节点,并在所述对象节点中***识别锚点,根据所述识别锚点生成所述目标语法树。
3.根据权利要求1所述的数据的结构化处理方法,其特征在于,所述对所述目标数据进行裁剪之后,还包括:
按照所述片段数据在所述目标数据中的顺序进行上下文标注;
所述对获取的所述片段数据进行上下文信息分析,包括:
根据所述上下文标注对所述片段数据进行上下文信息分析。
4.根据权利要求1所述的数据的结构化处理方法,其特征在于,所述创建并配置线程池,包括:
获取所述片段数据的片段数量;
根据预设的比例生成所述片段数量对应的线程数量,根据所述线程数量创建并配置所述线程池。
5.根据权利要求1所述的数据的结构化处理方法,其特征在于,所述对所述目标数据进行裁剪,得到至少两个片段数据,包括:
判断所述目标数据是否包括图片数据,若包括,则从所述目标数据中裁剪出所述图片数据;
将所述图片数据进行数据流转换,并对得到的所述图片数据的数据流进行等比例压缩,将压缩后的所述数据流作为所述图片数据对应的片段数据。
6.根据权利要求5所述的数据的结构化处理方法,其特征在于,所述判断所述目标数据是否包括图片数据,包括:
识别所述目标数据中包含的各个数据的数据格式,并根据所述数据格式识别所述目标数据中是否包括图片数据。
7.根据权利要求1所述的数据的结构化处理方法,其特征在于,所述建立所述展示结构对应的目标语法树之后,还包括:
根据所述目标语法树生成树索引表,其中,所述树索引表包括与各个所述对象节点关联的索引码;
建立每一个所述索引码与对应的所述对象节点之间的链接;
响应于索引查询指令,根据所述索引查询指令对应的索引码,通过所述链接调用所述对象节点。
8.一种数据的结构化处理装置,其特征在于,包括:
数据裁剪模块,用于获取目标数据,并对所述目标数据进行裁剪,得到至少两个片段数据;
多线程获取模块,用于创建并配置线程池,基于所述线程池中的至少两个存储线程,将所述片段数据通过不同的存储线程传输至参数取值函数中;
表达参数获取模块,用于对所述参数取值函数中的所述片段数据进行上下文信息分析,并基于所述上下文信息,通过参数取值函数对所述片段数据进行取值,得到表达参数;
语法树生成模块,用于获取目标对象的展示结构,建立所述展示结构对应的目标语法树,其中,所述目标语法树包括至少两个可编辑的对象节点;
数据结构化模块,用于通过映射模型在所述表达参数中提取变量标记和所述变量标记对应的数据变量,并根据所述变量标记将所述数据变量映射到所述目标语法树的各个所述对象节点中,得到所述目标对象对应的结构数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111217653.1A CN113946615A (zh) | 2021-10-19 | 2021-10-19 | 数据的结构化处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111217653.1A CN113946615A (zh) | 2021-10-19 | 2021-10-19 | 数据的结构化处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113946615A true CN113946615A (zh) | 2022-01-18 |
Family
ID=79331474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111217653.1A Pending CN113946615A (zh) | 2021-10-19 | 2021-10-19 | 数据的结构化处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946615A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115576603A (zh) * | 2022-11-23 | 2023-01-06 | 云账户技术(天津)有限公司 | 一种获取代码片段中的变量值的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657103A (zh) * | 2018-12-19 | 2019-04-19 | 广州天鹏计算机科技有限公司 | 数据结构的转换方法、装置、计算机设备和存储介质 |
CN110209766A (zh) * | 2019-05-23 | 2019-09-06 | 招商局金融科技有限公司 | 数据展示方法、电子装置及存储介质 |
-
2021
- 2021-10-19 CN CN202111217653.1A patent/CN113946615A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657103A (zh) * | 2018-12-19 | 2019-04-19 | 广州天鹏计算机科技有限公司 | 数据结构的转换方法、装置、计算机设备和存储介质 |
CN110209766A (zh) * | 2019-05-23 | 2019-09-06 | 招商局金融科技有限公司 | 数据展示方法、电子装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
陆晨等: "GraphQL及元数据驱动架构在后端BFF中的实践", pages 1 - 15, Retrieved from the Internet <URL:https://tech.meituan.com/2021/05/06/bff-graphql.html> * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115576603A (zh) * | 2022-11-23 | 2023-01-06 | 云账户技术(天津)有限公司 | 一种获取代码片段中的变量值的方法及装置 |
CN115576603B (zh) * | 2022-11-23 | 2023-03-10 | 云账户技术(天津)有限公司 | 一种获取代码片段中的变量值的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598574B (zh) | 页面渲染的方法和装置 | |
CN110889270B (zh) | 一种表单页面文档生成方法、表单页面渲染方法及装置 | |
CN109254773B (zh) | 骨架页面生成方法、装置、设备和存储介质 | |
CN109840083B (zh) | 网页组件模板构建方法、装置、计算机设备和存储介质 | |
CN109684607B (zh) | Json数据解析方法、装置、计算机设备和存储介质 | |
CN112651238A (zh) | 训练语料扩充方法及装置、意图识别模型训练方法及装置 | |
CN107729014B (zh) | 一种基于Android的页面跳转方法及结构 | |
CN113536735B (zh) | 一种基于关键词的文本标记方法、***和存储介质 | |
CN108664546B (zh) | Xml数据结构转换方法和装置 | |
CN112187713B (zh) | 报文转换的方法、装置、计算机设备和存储介质 | |
CN111147354B (zh) | 消息处理方法、装置、设备及存储介质 | |
CN111191079A (zh) | 一种文档内容获取方法、装置、设备及存储介质 | |
CN113946615A (zh) | 数据的结构化处理方法、装置、设备及存储介质 | |
CN116541228A (zh) | 显示器的触控响应检测方法、装置以及计算机设备 | |
CN108897772B (zh) | 数据源补充方法、装置、计算机设备和存储介质 | |
CN108196921B (zh) | 单据开发方法、装置、计算机设备和存储介质 | |
CN112650600B (zh) | 推送消息内容的方法、装置和计算机设备 | |
CN114021175B (zh) | 用户画像的配置方法、装置、计算机设备及介质 | |
CN112101023B (zh) | 文本处理方法、装置以及电子设备 | |
CN111768767B (zh) | 用户标签提取方法和装置、服务器、计算机可读存储介质 | |
CN112714148A (zh) | 一种界面配置方法、装置、设备及介质 | |
CN111562907A (zh) | 自定义接口数据的转换方法与*** | |
CN111258586B (zh) | 快应用运行、编译方法、装置、电子设备和存储介质 | |
CN112947938B (zh) | 一种文件转化方法、装置、电子设备及存储介质 | |
CN114827309B (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 |