CN114676187A - 数据处理方法、装置、设备及介质 - Google Patents
数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114676187A CN114676187A CN202210369174.XA CN202210369174A CN114676187A CN 114676187 A CN114676187 A CN 114676187A CN 202210369174 A CN202210369174 A CN 202210369174A CN 114676187 A CN114676187 A CN 114676187A
- Authority
- CN
- China
- Prior art keywords
- data
- target format
- target
- content
- configuration file
- 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
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/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Abstract
本公开关于一种数据处理方法、装置、设备及介质,所述数据处理方法包括:响应于从用户端接收到获取目标格式数据的请求,获取配置文件和数据列表,其中,所述配置文件用于定义所述目标格式数据的组成部分,所述数据列表包括源格式的多个数据项;针对所述数据列表中的每个数据项,根据反射机制获取每个数据项的内容;基于获取到的每个数据项的内容以及所述配置文件,生成所述目标格式数据;将所述目标格式数据发送至所述用户端。根据本公开的数据处理方法、装置、设备及介质,通过将目标格式数据的渲染配置化,用户通过配置即可配置好目标格式数据各组成部分的获取,当需要修改目标格式数据的渲染时,也只需修改配置,可降低人力消耗和开发成本。
Description
技术领域
本公开涉及计算机技术领域,更具体地说,涉及一种数据处理方法、装置、设备及介质。
背景技术
在互联网相关业务(例如,视频编辑或者跨端动态化方案等)的进行过程中,经常涉及到将与业务相关的数据转换成另一种格式数据(例如,将与视频编辑模板的使用情况相关的列表数据转换成其他数据格式)输出。当前通常是把数据转换逻辑写在代码中,在代码里通过硬拼接的形式将与业务相关的数据转换成其他数据格式,但这种方式的问题在于复用成本高,并且修改(例如修改数据的展示样式等)需发布新的代码版本,对于非后端的开发人员来说,参与对相关代码的修改需要知道后端代码的逻辑,比较耗时费力。
发明内容
本公开提供一种数据处理方法、装置、设备及介质,以至少解决上述相关技术中的问题。
根据本公开实施例的第一方面,提供一种数据处理方法,包括:响应于从用户端接收到获取目标格式数据的请求,获取配置文件和数据列表,其中,所述配置文件用于定义所述目标格式数据的组成部分,所述数据列表包括源格式的多个数据项;针对所述数据列表中的每个数据项,根据反射机制获取每个数据项的内容;基于获取到的每个数据项的内容以及所述配置文件,生成所述目标格式数据;将所述目标格式数据发送至所述用户端。
可选地,所述配置文件和所述数据列表由所述用户端预先生成。
可选地,所述基于获取到的每个数据项的内容以及所述配置文件,生成所述目标格式数据,包括:通过对所述配置文件进行反序列化处理,将所述配置文件转换为所述源格式下的处理对象;基于获取到的每个数据项的内容以及所述处理对象,生成所述目标格式数据。
可选地,所述基于获取到的每个数据项的内容以及所述处理对象,生成所述目标格式数据,包括:定义具有所述目标格式的空白文本;依次从所述处理对象中获取目标内容,并将获取到的目标内容拼接至所述空白文本的对应位置,其中,所述目标内容包括所述组成部分;将所述获取到的每个数据项的内容拼接至对应的目标内容之下,得到所述目标格式数据。
可选地,所述配置文件包括组成所述目标格式数据的表头、所述表头之下的内容表达式、标题和副标题。
可选地,所述目标格式为Markdown表格。
根据本公开实施例的第二方面,提供一种数据处理方法,包括:
向服务器发送获取目标格式数据的请求;从所述服务器接收所述目标格式数据,其中,所述目标格式数据是所述服务器基于每个数据项的内容以及配置文件而生成的,所述每个数据项的内容是所述服务器针对数据列表中的每个数据项,根据反射机制而获取的,所述配置文件用于定义所述目标格式数据的组成部分,所述数据列表包括源格式的多个数据项;按照目标展示样式展示所述目标格式数据。
可选地,所述配置文件和所述数据列表被预先生成。
可选地,所述按照目标展示样式展示所述目标格式数据,包括:按照目标展示样式在目标展示空间中展示所述目标格式数据,其中,所述目标展示空间包括用于进行信息沟通的空间。
可选地,所述配置文件包括组成所述目标格式数据的表头、所述表头之下的内容表达式、标题和副标题。
可选地,所述目标格式为Markdown表格。
根据本公开实施例的第三方面,提供一种数据处理装置,包括:数据获取单元,被配置为:响应于从用户端接收到获取目标格式数据的请求,获取配置文件和数据列表,其中,所述配置文件用于定义所述目标格式数据的组成部分,所述数据列表包括源格式的多个数据项;内容获取单元,被配置为:针对所述数据列表中的每个数据项,根据反射机制获取每个数据项的内容;目标格式数据生成单元,被配置为:基于获取到的每个数据项的内容以及所述配置文件,生成所述目标格式数据;目标格式数据发送单元,被配置为:将所述目标格式数据发送至所述用户端。
可选地,所述配置文件和所述数据列表由所述用户端预先生成。
可选地,所述目标格式数据生成单元被配置为:通过对所述配置文件进行反序列化处理,将所述配置文件转换为所述源格式下的处理对象;基于获取到的每个数据项的内容以及所述处理对象,生成所述目标格式数据。
可选地,所述目标格式数据生成单元被配置为:定义具有所述目标格式的空白文本;依次从所述处理对象中获取目标内容,并将获取到的目标内容拼接至所述空白文本的对应位置,其中,所述目标内容包括所述组成部分;将所述获取到的每个数据项的内容拼接至对应的目标内容之下,得到所述目标格式数据。
可选地,所述配置文件包括组成所述目标格式数据的表头、所述表头之下的内容表达式、标题和副标题。
可选地,所述目标格式为Markdown表格。
根据本公开的第四方面,提供一种数据处理装置,包括:请求发送单元,被配置为:向服务器发送获取目标格式数据的请求;目标格式数据接收单元,被配置为:从所述服务器接收所述目标格式数据,其中,所述目标格式数据是所述服务器基于每个数据项的内容以及配置文件而生成的,所述每个数据项的内容是所述服务器针对数据列表中的每个数据项,根据反射机制而获取的,所述配置文件用于定义所述目标格式数据的组成部分,所述数据列表包括源格式的多个数据项;目标格式数据展示单元,被配置为:按照目标展示样式展示所述目标格式数据。
可选地,所述配置文件和所述数据列表被预先生成。
可选地,所述目标格式数据展示单元被配置为:按照目标展示样式在目标展示空间中展示所述目标格式数据,其中,所述目标展示空间包括用于进行信息沟通的空间。
可选地,所述配置文件包括组成所述目标格式数据的表头、所述表头之下的内容表达式、标题和副标题。
所述目标格式为Markdown表格。
根据本公开实施例的第五方面,提供一种电子设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的第一方面的数据处理方法或者根据本公开的第二方面的数据处理方法。
根据本公开实施例的第六方面,提供一种存储指令的计算机可读存储介质,当所述指令被至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的第一方面的数据处理方法或者根据本公开的第二方面的数据处理方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的第一方面的数据处理方法或者根据本公开的第二方面的数据处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的数据处理方法、装置、设备及介质,通过将目标格式数据的渲染(即,组成部分)配置化,用户只需添加配置,通过配置即可配置好目标格式数据各组成部分的获取,当需要修改目标格式数据的渲染时,也只需要修改配置即可,可降低人力消耗和开发成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是示出根据本公开的示例性实施例的数据处理方法的整体执行过程示意图。
图2是示出根据本公开的示例性实施例的数据处理方法的流程图。
图3是示出根据本公开的另一示例性实施例的数据处理方法的流程图。
图4是示出根据本公开的示例性实施例的视频编辑业务中的Markdown表格的示意图。
图5是示出根据本公开的示例性实施例的跨端动态化方案业务中的Markdown表格的示意图。
图6是示出根据本公开的示例性实施例的Markdown编辑器输出窗口中的关于视频编辑业务的Markdown表格的示意图。
图7是示出根据本公开的示例性实施例的数据处理装置的框图。
图8是示出根据本公开的另一示例性实施例的数据处理装置的框图。
图9是根据本公开的示例性实施例的电子设备900的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
为解决相关技术中存在的人力消耗大和开发成本高的技术问题,本公开提出了数据处理方法、装置、设备及介质,具体地说,通过将目标格式数据的渲染(即,组成部分)配置化,用户只需添加配置,通过配置即可配置好目标格式数据各组成部分的获取,当需要修改目标格式数据的渲染时,也只需要修改配置即可,可降低人力消耗和开发成本。下面,将参照图1至图9具体描述根据本公开的示例性实施例的数据处理方法、装置、设备及介质。
图1是示出根据本公开的示例性实施例的数据处理方法的整体执行过程示意图。
参照图1,在准备阶段,首先由用户端在专门的配置平台预先定义好配置文件,该配置文件包括目标格式数据的组成部分,用于在进行数据处理的过程中指示服务器按照该配置文件来获取目标格式数据。然后,在数据处理阶段,服务器响应于获取目标格式数据的请求,读取该配置文件并将其转换成JAVA对象,根据该JAVA对象以及从用户端获取的数据列表,遍历解析,最终向用户端返回目标格式数据。
根据上述方案,由于预先将目标格式数据的渲染(即,组成部分)配置化,用户只需添加配置,通过配置即可配置好目标格式数据各组成部分的获取,当需要修改目标格式数据的渲染(例如增加或减少组成部分、更改组成部分的展示内容等)时,也只需要修改配置即可,可降低人力消耗和开发成本。
图2是示出根据本公开的示例性实施例的数据处理方法的流程图。
参照图2,在步骤201,可响应于从用户端接收到获取目标格式数据的请求,获取配置文件和数据列表,其中,配置文件用于定义该目标格式数据的组成部分,数据列表包括源格式的多个数据项。
这里,源格式例如为JAVA语言中的列表格式,目标格式为Markdown表格,目标格式数据可以是采用Markdown表格表示的数据。具体来讲,Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,通过将数据列表中的数据项所包含的内容以Markdown表格形式展示出来,可以得到更直观和清晰的数据,从而可根据该Markdown表格形式的数据进行下一步的数据处理(例如,数据分类和统计等)。Markdown表格主要包括标题、说明、表头和字段,例如,但不限于,可被表示为:
标题(title)
说明(content)
|表头1|表头2|
|-------|-------|
|字段1|字段2|
其中,“|”用于分隔不同的单元格,“-”用于分隔表头和其他行。
根据本公开的示例性实施例,配置文件和数据列表由用户端预先生成。具体来讲,为改善在数据处理代码中采用硬编码的方式拼接和转换数据所导致的开发成本高的问题,首先,用户端可在专门的配置平台预先定义好配置文件,该配置文件用于定义目标格式数据的组成部分。这里,可通过JSON(JavaScript Object Notation,JS对象简谱)来定义该配置文件,具体来讲,JSON是一种基于文本,独立于语言的轻量级数据交换格式,具有简单可读性好的特点,可用于不同语言之间的数据传递或者前端的JS(JavaScript)和后台的JAVA数据传递等场景。根据本公开的示例性实施例,配置文件包括组成该目标格式数据的表头、该表头之下的内容表达式、标题和副标题。在一些实施例中,该配置文件,例如,但不限于,可被表示为:
{
"headers":["表头1header1","表头2header2"],
"expressions":["字段1field1","字段2field2"],
"title":"###这里是标题title",
"content":"这里是说明补充信息content"
}
其中,“headers”表示表头;“expressions”表示位于表头之下的内容表达式(例如,当headers的其中一项为“数量”时,其下对应的内容表达式为“1000”);“title”为表示表格的标题;“content”为表格的副标题。
然后,在服务端可定义该配置文件所对应的JAVA模型。具体来讲,可通过对配置文件进行反序列化处理来将配置文件恢复为JAVA对象,从而可以在JAVA环境中按照该配置文件的内容运行并得到Markdown表格形式的数据,即,可通过对配置文件进行反序列化处理,将配置文件转换为源格式下的处理对象。在一些实施例中,该配置文件所对应的JAVA模型,例如,但不限于,可被表示为:
public class MdTableMessage{
private List<String>headers;
private List<String>expressions;
private String title;
private String content;
}
其中,“MdTableMessage”表示JAVA语言环境中该配置文件所对应的名称。
在视频编辑业务中,该配置文件,例如,但不限于,可被表示为:
{
"headers":["模板名称","使用数量","分享数量","分享率"],
"expressions":["name","useCount","shareCount","shareCount/useCount"],
"title":"###视频编辑模板信息统计",
"content":"统计过去一周视频编辑模板情况"
}
相对应地,该配置文件被恢复为JAVA对象之后,可被表示为:
MdTableMessage message=new MdTableMessage();
message.setHeaders(Arrays.asList("模板名称","使用数量","分享数量","分享率"));message.setExpressions(Arrays.asList("name","useCount",
"shareCount","shareCount/useCount"));
message.setTitle("###视频编辑模板信息统计");
message.setContent("统计过去一周视频编辑模板情况");
而在跨端动态化方案业务中,该配置文件,例如,但不限于,可被表示为:
{
"headers":["业务","版本号","加载数量","成功数量","失败率"],
"expressions":["obj.rnBundleId","obj.appVersionName","obj.totalCount",
"obj.okCount","f.format((1-obj.okCount/obj.totalCount)*100,2)+'%'"],
"title":"###bundle下载成功率统计",
"content":"bundle下载成功率低于阈值"
}
相对应地,该配置文件被恢复为JAVA对象之后,可被表示为:
MdTableMessage message=new MdTableMessage();
message.setHeaders(Arrays.asList("业务","版本号","加载数量","成功数量","失败率"));
message.setExpressions(Arrays.asList("obj.rnBundleId","obj.appVersionName",
"obj.totalCount","obj.okCount","f.format((1-obj.okCount/obj.totalCount)*100,2)+'%'"));message.setTitle("###bundle下载成功率统计");
message.setContent("bundle下载成功率低于阈值");
返回参照图2,在步骤202,可针对数据列表中的每个数据项,根据反射机制获取每个数据项的内容。这里,反射机制是指在程序运行过程中,对于任意一个类,都能够知道这个类的所有属性和方法,而对于任意一个对象,都能够调用它的任意方法和属性。也就是说,可动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。数据列表是用户端对与具体的业务场景相关的数据进行处理之后形成的列表,也就是说,数据列表是在服务器进行数据处理过程之前由用户端预先生成,用户端在向服务器发送获取目标格式数据的请求时,可同时将数据列表发送给服务器,或者,也可在服务器在进行数据处理的过程中需使用到数据列表时,响应于服务器调用数据列表的命令,将数据列表发送给服务器。例如,在视频编辑业务中,数据列表可以是由视频编辑模板的使用情况构成,此时,数据列表中的一个数据项例如可被表示为:
{
"name":"快乐2021",
"useCount":"10000",
"shareCount":"9000",
}
则根据反射机制,可获取到name=“快乐2021”,userCount=“10000”,shareCount=“9000”,shareCount/useCount=90000/10000=0.9。
又例如在跨端动态化方案业务中,数据列表中的一个数据项可被表示为:
{
"rnBundleId":"tk",
"appVersionName":"1.2.0",
"totalCount":10000,
"okCount":9998
}
则根据反射机制,可获取到rnBundleId=“tk”,appVersionName=“1.2.0”,totalCount=“10000”,okCount=“9998”,f.format((1-obj.okCount/obj.totalCount)*100,2)+'%'")=0.02%。
返回参照图2,在步骤203,可基于获取到的每个数据项的内容以及配置文件,生成目标格式数据。
根据本公开的示例性实施例,可通过对配置文件进行反序列化处理,将配置文件转换为源格式下的处理对象,并基于获取到的每个数据项的内容以及该处理对象,生成目标格式数据。具体来讲,可首先定义具有目标格式的空白文本,然后依次从处理对象中获取目标内容,并将获取到的目标内容拼接至空白文本的对应位置,这里,目标内容包括前述的配置文件的组成部分,最后,将获取到的每个数据项的内容拼接至对应的目标内容之下,可得到目标格式数据。
举例来讲,在前述的视频编辑业务中,可定义一个空Markdown文本,从对应的JAVA对象中提取title字段和content字段,并拼接到该空Markdown文本的相应位置,然后遍历headers,以“|”作为分隔符,形成“|模板名称|使用数量|分享数量|分享率|”,同理,将形成的表头拼接至空Markdown文本。之后,可根据JAVA对象中headers的数量,在空Markdown文本中拼接相应的分隔符,这里,分隔符用于分隔表头和其他行,例如,在此处的视频编辑业务中,有4个headers,因此,分隔符可以为“|-----|-----|-----|-----|”,之后,可遍历数据列表,针对数据列表中的每个数据项执行expression表达式,获取到对应的数据,这里,例如可参照步骤302中针对反射机制的相关描述。之后,可将获取到的数据拼接,以“|”分隔,得到“|快乐2021|10000|9000|0.9|”字段。
在步骤204,可将目标格式数据发送至用户端。这里,例如可将Markdown表格总文本返回至用户端,用户端在接收到该Markdown表格总文本之后,按照Markdown表格的展示样式渲染并推送给用户。举例来讲,在前述的视频编辑业务中,最后返回给客户端的Markdown表格总文本可以是:
###视频编辑模板信息统计
统计过去一周视频编辑模板情况
|模板名称|使用数量|分享数量|分享率|
|------|--------|------|------|
|快乐2021|10000|6000|0.6|
|2021年快要结束了|12303|2286|0.18|
而在前述的跨端动态化方案业务中,最后返回给客户端的Markdown表格总文本可以是:
###bundle下载成功率统计
bundle下载成功率低于阈值
|业务|版本号|加载数量|成功数量|失败率|
|-----|-------|-------|------|-------|
|tk|1.2.0|10000|9998|0.02%|
图3是示出根据本公开的另一示例性实施例的数据处理方法的流程图。
参照图3,在步骤301,可向服务器发送获取目标格式数据的请求。这里,目标格式为Markdown表格,目标格式数据可以是采用Markdown表格表示的数据。Markdown表格主要包括标题、说明、表头和字段,其表示形式例如可参照前述步骤201中的相关描述,在此不再赘述。
在步骤302,可从服务器接收目标格式数据,其中,目标格式数据是服务器基于每个数据项的内容以及配置文件而生成的,每个数据项的内容是该服务器针对数据列表中的每个数据项,根据反射机制而获取的,配置文件用于定义该目标格式数据的组成部分,数据列表包括源格式的多个数据项。这里,源格式例如可以是JAVA语言中的列表格式。
根据本公开的示例性实施例,配置文件和数据列表被预先生成。具体来讲,可在专门的配置平台预先定义好配置文件,该配置文件用于定义目标格式数据的组成部分,可指示服务器在进行数据处理的过程中按照该配置文件来获取目标格式数据。这里,可通过JSON(JavaScript Object Notation,JS对象简谱)来生成该配置文件,具体来讲,JSON是一种基于文本,独立于语言的轻量级数据交换格式,具有简单可读性好的特点,可用于不同语言之间的数据传递或者前端的JS(JavaScript)和后台的JAVA数据传递等场景。根据本公开的示例性实施例,配置文件包括组成该目标格式数据的表头、该表头之下的内容表达式、标题和副标题。在一些实施例中,该配置文件,例如,但不限于,可被表示为:
{
"headers":["表头1header1","表头2header2"],
"expressions":["字段1field1","字段2field2"],
"title":"###这里是标题title",
"content":"这里是说明补充信息content"
}
其中,“headers”表示表头;“expressions”表示位于表头之下的内容表达式(例如,当headers的其中一项为“数量”时,其下对应的内容表达式为“1000”);“title”为表示表格的标题;“content”为表格的副标题。
数据列表是对与具体的业务场景相关的数据进行处理之后形成的列表,也就是说,数据列表是在服务器进行数据处理过程之前由用户端预先生成,用户端在向服务器发送获取目标格式数据的请求时,可同时将数据列表发送给服务器,或者,也可在服务器在进行数据处理的过程中需使用到数据列表时,响应于服务器调用数据列表的命令,将数据列表发送给服务器。例如,在视频编辑业务中,数据列表可以是由视频编辑模板的使用情况构成,其中一个数据项例如可以是:
{
"name":"快乐2021",
"useCount":"10000",
"shareCount":"9000",
}
其中,“快乐2021”表示一个视频编辑模板,“useCount”表示在一个统计时间段内(例如,过去一周)该模板被使用的次数,“shareCount”表示在该统计时间段内该模板被分享的次数。
根据本公开的示例性实施例,服务器可根据反射机制获取数据列表中的每个数据项的内容。这里,反射机制是指在程序运行过程中,对于任意一个类,都能够知道这个类的所有属性和方法,而对于任意一个对象,都能够调用它的任意方法和属性。也就是说,可动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。例如在视频编辑业务中,数据列表中的一个数据项可被表示为:
{
"name":"快乐2021",
"useCount":"10000",
"shareCount":"9000",
}
则根据反射机制,可获取到name=“快乐2021”,userCount=“10000”,shareCount=“9000”,shareCount/useCount=90000/10000=0.9。
根据本公开的示例性实施例,服务器还可在响应于用户端发送的获取目标格式数据的请求之后,读取配置文件,并对配置文件进行反序列化处理,将其转换为源格式下的处理对象(例如,JAVA对象),然后根据该处理对象和每个数据项的内容。来生成目标格式数据。具体来讲,可首先定义具有目标格式的空白文本,然后依次从处理对象中获取目标内容,并将获取到的目标内容拼接至空白文本的对应位置,这里,目标内容包括前述的配置文件的组成部分,最后,将获取到的每个数据项的内容拼接至对应的目标内容之下,可得到目标格式数据。
举例来讲,在前述的视频编辑业务中,可定义一个空Markdown文本,从对应的JAVA对象中提取title字段和content字段,并拼接到该空Markdown文本的相应位置,然后遍历headers,以“|”作为分隔符,形成“|模板名称|使用数量|分享数量|分享率|”,同理,将形成的表头拼接至空Markdown文本。之后,可根据JAVA对象中headers的数量,在空Markdown文本中拼接相应的分隔符,这里,分隔符用于分隔表头和其他行,例如,在此处的视频编辑业务中,有4个headers,因此,分隔符可以为“|-----|-----|-----|-----|”,之后,可遍历数据列表,针对数据列表中的每个数据项执行expression表达式,获取到对应的数据,这里,例如可参照步骤202中针对反射机制的相关描述。之后,可将获取到的数据拼接,以“|”分隔,得到“|快乐2021|10000|9000|0.9|”字段。
返回参照图3,在步骤303,可按照目标展示样式展示该目标格式数据。
根据本公开的示例性实施例,可按照目标展示样式在目标展示空间中展示该目标格式数据,其中,目标展示空间包括用于进行信息沟通的空间(例如,各种通用的聊天工具或内部聊天工具)。具体来讲,从服务器接收的例如为Markdown表格总文本,用户端在接收到该Markdown表格总文本之后,按照Markdown表格的展示样式渲染并推送给用户。举例来讲,前述的视频编辑业务中的Markdown表格总文本的展示样式例如可如图4所示,图4是示出视频编辑业务中的Markdown表格的示意图,参照图4,视频编辑业务中的Markdown表格400包括标题401、副标题402、表格403和互动控件404,其中,标题401、副标题402和表格403的内容与从服务器接收到的Markdown表格总文本一一对应。互动控件404可供用户对表格展示的内容进行评论、点赞或者转发等。而前述的跨端动态化方案业务中的Markdown表格总文本的展示样式例如可如图5所示,图5是示出跨端动态化方案业务中的Markdown表格的示意图,参照图5,跨端动态化方案业务中的Markdown表格500包括标题501、副标题502、表格503和互动控件504,其中,标题501、副标题502和表格503的内容与从服务器接收到的Markdown表格总文本一一对应,互动控件504可供用户对表格展示的内容进行评论、点赞或者转发等。
在一些实施例中,目标展示空间还可以是Markdown编辑器输出窗口。图6是示出Markdown编辑器输出窗口中的关于视频编辑业务的Markdown表格的示意图,参照图6,Markdown编辑器输出窗口中的Markdown表格600包括标题601、副标题602、表格603,其中,标题601、副标题602和表格603的内容与从服务器接收到的Markdown表格总文本一一对应,表格600的背景颜色为黑色。
图7是示出根据本公开的示例性实施例的数据处理装置的框图。
参照图7,根据本公开的示例性实施例的数据处理装置700可包括数据获取单元701、内容获取单元702、目标格式数据生成单元703和目标格式数据发送单元704。
数据获取单元701可响应于从用户端接收到获取目标格式数据的请求,获取配置文件和数据列表,其中,配置文件用于定义该目标格式数据的组成部分,数据列表包括源格式的多个数据项。
这里,源格式例如为JAVA语言中的列表格式,目标格式为Markdown表格,目标格式数据可以是采用Markdown表格表示的数据。具体来讲,Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,通过将数据列表中的数据项所包含的内容以Markdown表格形式展示出来,可以得到更直观和清晰的数据,从而可根据该Markdown表格形式的数据进行下一步的数据处理(例如,数据分类和统计等)。Markdown表格主要包括标题、说明、表头和字段,其表示形式例如可参照前述步骤201中的相关描述,在此不再赘述。
内容获取单元702可针对数据列表中的每个数据项,根据反射机制获取每个数据项的内容。这里,反射机制是指在程序运行过程中,对于任意一个类,都能够知道这个类的所有属性和方法,而对于任意一个对象,都能够调用它的任意方法和属性。也就是说,可动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。
目标格式数据生成单元703可基于获取到的每个数据项的内容以及配置文件,生成目标格式数据。
根据本公开的示例性实施例,目标格式数据生成单元703可通过对配置文件进行反序列化处理,将配置文件转换为源格式下的处理对象,并基于获取到的每个数据项的内容以及该处理对象,生成目标格式数据。具体来讲,目标格式数据生成单元703可首先定义具有目标格式的空白文本,然后依次从处理对象中获取目标内容,并将获取到的目标内容拼接至空白文本的对应位置,这里,目标内容包括前述的配置文件的组成部分,最后,将获取到的每个数据项的内容拼接至对应的目标内容之下,可得到目标格式数据。
目标格式数据发送单元704可将目标格式数据发送至用户端。这里,例如可将Markdown表格总文本返回至用户端,用户端在接收到该Markdown表格总文本之后,按照Markdown表格的展示样式渲染并推送给用户。
图8是示出根据本公开的另一示例性实施例的数据处理装置的框图。
参照图8,根据本公开的示例性实施例的数据处理装置800可包括请求发送单元801、目标格式数据接收单元802和目标格式数据展示单元803。
请求发送单元801可向服务器发送获取目标格式数据的请求。这里,目标格式为Markdown表格,目标格式数据可以是采用Markdown表格表示的数据。Markdown表格主要包括标题、说明、表头和字段,其表示形式例如可参照前述步骤301中的相关描述,在此不再赘述。
目标格式数据接收单元802可从服务器接收目标格式数据,其中,目标格式数据是服务器基于每个数据项的内容以及配置文件而生成的,每个数据项的内容是该服务器针对数据列表中的每个数据项,根据反射机制而获取的,配置文件用于定义该目标格式数据的组成部分,数据列表包括源格式的多个数据项。这里,源格式例如可以是JAVA语言中的列表格式。
根据本公开的示例性实施例,配置文件和数据列表被预先生成。具体来讲,可在专门的配置平台预先定义好配置文件,该配置文件用于定义目标格式数据的组成部分,可指示服务器在进行数据处理的过程中按照该配置文件来获取目标格式数据。这里,可通过JSON(JavaScript Object Notation,JS对象简谱)来生成该配置文件,具体来讲,JSON是一种基于文本,独立于语言的轻量级数据交换格式,具有简单可读性好的特点,可用于不同语言之间的数据传递或者前端的JS(JavaScript)和后台的JAVA数据传递等场景。根据本公开的示例性实施例,配置文件包括组成该目标格式数据的表头、该表头之下的内容表达式、标题和副标题。
根据本公开的示例性实施例,服务器可根据反射机制获取数据列表中的每个数据项的内容。这里,反射机制是指在程序运行过程中,对于任意一个类,都能够知道这个类的所有属性和方法,而对于任意一个对象,都能够调用它的任意方法和属性。也就是说,可动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。
根据本公开的示例性实施例,服务器还可在响应于用户端发送的获取目标格式数据的请求之后,读取配置文件,并对配置文件进行反序列化处理,将其转换为源格式下的处理对象(例如,JAVA对象),然后根据该处理对象和每个数据项的内容。来生成目标格式数据。具体来讲,可首先定义具有目标格式的空白文本,然后依次从处理对象中获取目标内容,并将获取到的目标内容拼接至空白文本的对应位置,这里,目标内容包括前述的配置文件的组成部分,最后,将获取到的每个数据项的内容拼接至对应的目标内容之下,可得到目标格式数据。
目标格式数据展示单元803可按照目标展示样式展示该目标格式数据。
根据本公开的示例性实施例,目标格式数据展示单元803可按照目标展示样式在目标展示空间中展示该目标格式数据,其中,目标展示空间包括用于进行信息沟通的空间(例如,各种通用的聊天工具或内部聊天工具)。具体来讲,从服务器接收的例如为Markdown表格总文本,用户端在接收到该Markdown表格总文本之后,按照Markdown表格的展示样式渲染并推送给用户,可参照本公开关于图4和图5的相关描述来确定Markdown表格在各种通用的聊天工具或内部聊天工具中的展示样式。在一些实施例中,目标展示空间还可以是Markdown编辑器输出窗口,可参照本公开关于图6的相关描述来确定Markdown表格在Markdown编辑器输出窗口中的展示样式。
图9是根据本公开的示例性实施例的电子设备900的框图。
参照图9,电子设备900包括至少一个存储器901和至少一个处理器902,所述至少一个存储器901中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器902执行时,执行根据本公开的示例性实施例的数据处理方法。
作为示例,电子设备900可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备900并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备900还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备900中,处理器902可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器902可运行存储在存储器901中的指令或代码,其中,存储器901还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器901可与处理器902集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器901可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器901和处理器902可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器902能够读取存储在存储器中的文件。
此外,电子设备900还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备900的所有组件可经由总线和/或网络而彼此连接。
根据本公开的示例性实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的数据处理方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的示例性实施例的数据处理方法。
根据本公开的数据处理方法、装置、设备及介质,通过将目标格式数据的渲染(即,组成部分)配置化,用户只需添加配置,通过配置即可配置好目标格式数据各组成部分的获取,当需要修改目标格式数据的渲染时,也只需要修改配置即可,可降低人力消耗和开发成本。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
响应于从用户端接收到获取目标格式数据的请求,获取配置文件和数据列表,其中,所述配置文件用于定义所述目标格式数据的组成部分,所述数据列表包括源格式的多个数据项;
针对所述数据列表中的每个数据项,根据反射机制获取每个数据项的内容;
基于获取到的每个数据项的内容以及所述配置文件,生成所述目标格式数据;
将所述目标格式数据发送至所述用户端。
2.如权利要求1所述的数据处理方法,其特征在于,所述配置文件和所述数据列表由所述用户端预先生成。
3.如权利要求1所述的数据处理方法,其特征在于,所述基于获取到的每个数据项的内容以及所述配置文件,生成所述目标格式数据,包括:
通过对所述配置文件进行反序列化处理,将所述配置文件转换为所述源格式下的处理对象;
基于获取到的每个数据项的内容以及所述处理对象,生成所述目标格式数据。
4.如权利要求3所述的数据处理方法,其特征在于,所述基于获取到的每个数据项的内容以及所述处理对象,生成所述目标格式数据,包括:
定义具有所述目标格式的空白文本;
依次从所述处理对象中获取目标内容,并将获取到的目标内容拼接至所述空白文本的对应位置,其中,所述目标内容包括所述组成部分;
将所述获取到的每个数据项的内容拼接至对应的目标内容之下,得到所述目标格式数据。
5.一种数据处理方法,其特征在于,包括:
向服务器发送获取目标格式数据的请求;
从所述服务器接收所述目标格式数据,其中,所述目标格式数据是所述服务器基于每个数据项的内容以及配置文件而生成的,所述每个数据项的内容是所述服务器针对数据列表中的每个数据项,根据反射机制而获取的,所述配置文件用于定义所述目标格式数据的组成部分,所述数据列表包括源格式的多个数据项;
按照目标展示样式展示所述目标格式数据。
6.一种数据处理装置,其特征在于,包括:
数据获取单元,被配置为:响应于从用户端接收到获取目标格式数据的请求,获取配置文件和数据列表,其中,所述配置文件用于定义所述目标格式数据的组成部分,所述数据列表包括源格式的多个数据项;
内容获取单元,被配置为:针对所述数据列表中的每个数据项,根据反射机制获取每个数据项的内容;
目标格式数据生成单元,被配置为:基于获取到的每个数据项的内容以及所述配置文件,生成所述目标格式数据;
目标格式数据发送单元,被配置为:将所述目标格式数据发送至所述用户端。
7.一种数据处理装置,其特征在于,包括:
请求发送单元,被配置为:向服务器发送获取目标格式数据的请求;
目标格式数据接收单元,被配置为:从所述服务器接收所述目标格式数据,其中,所述目标格式数据是所述服务器基于每个数据项的内容以及配置文件而生成的,所述每个数据项的内容是所述服务器针对数据列表中的每个数据项,根据反射机制而获取的,所述配置文件用于定义所述目标格式数据的组成部分,所述数据列表包括源格式的多个数据项;
目标格式数据展示单元,被配置为:按照目标展示样式展示所述目标格式数据。
8.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个存储计算机可执行指令的存储器,
其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1至4中的任一权利要求所述的数据处理方法或如权利要求5所述的数据处理方法。
9.一种存储指令的计算机可读存储介质,其特征在于,当所述指令被至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1至4中的任一权利要求所述的数据处理方法或如权利要求5所述的数据处理方法。
10.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被至少一个处理器执行时实现如权利要求1至4中的任一权利要求所述的数据处理方法或如权利要求5所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210369174.XA CN114676187A (zh) | 2022-04-08 | 2022-04-08 | 数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210369174.XA CN114676187A (zh) | 2022-04-08 | 2022-04-08 | 数据处理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114676187A true CN114676187A (zh) | 2022-06-28 |
Family
ID=82077829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210369174.XA Pending CN114676187A (zh) | 2022-04-08 | 2022-04-08 | 数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114676187A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115545008A (zh) * | 2022-11-29 | 2022-12-30 | 明度智云(浙江)科技有限公司 | 一种谱图文件解析方法、装置、设备及存储介质 |
-
2022
- 2022-04-08 CN CN202210369174.XA patent/CN114676187A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115545008A (zh) * | 2022-11-29 | 2022-12-30 | 明度智云(浙江)科技有限公司 | 一种谱图文件解析方法、装置、设备及存储介质 |
CN115545008B (zh) * | 2022-11-29 | 2023-04-07 | 明度智云(浙江)科技有限公司 | 一种谱图文件解析方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110912803B (zh) | 一种im消息传输方法及终端 | |
US9032002B2 (en) | Single file serialization for physical and logical meta-model information | |
US20140195899A1 (en) | Collaborative presentation of extracted information | |
CN111428177A (zh) | 用于web内容生成的方法和系统 | |
CN103518220A (zh) | 在电子消息中自动汇总对文档的变更 | |
CN112100550A (zh) | 一种页面构建方法和装置 | |
CN102929912A (zh) | 生成微博图片的方法及系统 | |
CN112311654A (zh) | 即时通讯消息的处理方法、装置、介质及电子设备 | |
CN112269576A (zh) | 一种组件展示方法、装置、服务器和存储介质 | |
CN114300084A (zh) | 临床试验病例报告表自动生成方法、装置和设备 | |
CN114594927A (zh) | 低代码开发方法、装置、系统、服务器及存储介质 | |
CN112528207A (zh) | 活动页面生成方法、装置和电子设备 | |
CN114676187A (zh) | 数据处理方法、装置、设备及介质 | |
WO2012141996A1 (en) | Portable business language and automated software application development system | |
CN112581568B (zh) | 动态海报的生成方法、装置、服务器及存储介质 | |
CN111796727A (zh) | 一种界面数据处理方法及装置 | |
CN116383542A (zh) | 页面生成方法、装置、电子设备及存储介质 | |
CN113342450B (zh) | 页面处理的方法、装置、电子设备及计算机可读介质 | |
CN114117302A (zh) | 数据转换方法和装置 | |
US10402482B2 (en) | Content management system | |
CN114548056A (zh) | 富文本编辑方法、装置及设备 | |
CN114048048A (zh) | 信息分享方法、装置、电子设备及存储介质 | |
CN113778412A (zh) | 数据资源编排方法、装置、计算机设备和可读存储介质 | |
CN114115623A (zh) | 信息展示方法和装置及信息传输方法和装置 | |
CN107705070B (zh) | Erp系统中的物料信息录入方法、装置、计算机设备 |
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 |