1.本发明涉及信息处理技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术:
2.在应用程序的日常运营和发展中,存在多样的数据信息,比如包括用户行为数据、营销数据、交易数据以及画像数据等各类数据。相关技术在进行数据上报和分析时,需要根据数据的特点进行定制化开发,服务端需要事先开发对应的应用程序接口(api,application programming interface),同时客户端基于接口规范添加新的埋点软件开发工具包(sdk,software development kit),并统一集成发版,才可以打通数据上报流程,客户端和服务端基于事先约定好的接口以及上报字段进行点对点、一对一的定制化的数据上报和分析。相关技术数据上报和分析缺乏灵活性,不能快速响应业务需求变化。
技术实现要素:
3.为了解决上述问题,本发明实施例提供了一种数据处理方法、装置、电子设备及存储介质,以至少解决相关技术数据上报和分析缺乏灵活性,不能快速响应业务需求变化的问题。
4.本发明的技术方案是这样实现的:
5.第一方面,本发明实施例提供了一种数据处理方法,该方法包括:
6.获取至少一个配置信息;所述至少一个配置信息表征设定操作事件对应的响应数据的特征;
7.解析所述至少一个配置信息,生成第一脚本;所述第一脚本用于从第一数据库中获取与所述至少一个配置信息匹配的响应数据;
8.执行所述第一脚本,得到结果集;所述结果集表征所述第一数据库中与所述至少一个配置信息匹配的响应数据的集合。
9.上述方案中,所述解析所述至少一个配置信息,生成第一脚本,包括:
10.解析所述至少一个配置信息,得到所述设定操作事件的类型和所述设定操作事件的属性;
11.基于所述设定操作事件的类型和所述设定操作事件的属性生成所述第一脚本。
12.上述方案中,所述解析所述至少一个配置信息,生成第一脚本,包括:
13.解析所述至少一个配置信息,得到联合索引;所述联合索引中的一个字段表征所述至少一个配置信息中的一个配置信息;
14.基于所述联合索引的索引列生成所述第一脚本。
15.上述方案中,所述执行所述第一脚本,得到结果集,包括:
16.确定在设定时长内是否执行过所述第一脚本;
17.在所述设定时长内没有执行过所述第一脚本的情况下,执行所述第一脚本,并将
所述结果集写入第二数据库;
18.在所述设定时长内执行过所述第一脚本的情况下,从所述第二数据库中获取所述第一脚本对应的结果集。
19.上述方案中,在执行所述第一脚本之前,所述方法还包括:
20.对所述第一脚本中的配置参数进行校验,得到校验结果;所述校验结果表征所述第一脚本中的配置参数是否有效。
21.上述方案中,在执行所述第一脚本之前,所述方法还包括:
22.将所述第一脚本输入设定的执行引擎进行仿真执行,得到仿真执行结果;所述仿真执行结果表征所述第一脚本是否能够正确执行。
23.上述方案中,所述确定在设定时长内是否执行过所述第一脚本,包括:
24.确定所述第一脚本对应的第一参数的参数值;
25.在所述参数值为第一设定值的情况下,确定在设定时长内执行过所述第一脚本;
26.在所述参数值为第二设定值的情况下,确定在设定时长内没有执行过所述第一脚本。
27.第二方面,本发明实施例提供了一种数据处理装置,该装置包括:
28.获取模块,用于获取至少一个配置信息;所述至少一个配置信息表征设定操作事件对应的响应数据的特征;
29.解析模块,用于解析所述至少一个配置信息,生成第一脚本;所述第一脚本用于从第一数据库中获取与所述至少一个配置信息匹配的响应数据;
30.执行模块,用于执行所述第一脚本,得到结果集;所述结果集表征所述第一数据库中与所述至少一个配置信息匹配的响应数据的集合。
31.第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本发明实施例第一方面提供的数据处理方法的步骤。
32.第四方面,本发明实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序。所述计算机程序被处理器执行时实现如本发明实施例第一方面提供的数据处理方法的步骤。
33.本发明实施例通过获取至少一个配置信息,解析至少一个配置信息,生成第一脚本,通过执行所述第一脚本,得到结果集。其中,结果集表征第一数据库中与至少一个配置信息匹配的响应数据的集合,至少一个配置信息表征设定操作事件对应的响应数据的特征,第一脚本用于从第一数据库中获取与至少一个配置信息匹配的响应数据。相比现有技术需要针对不同的业务需求进行定制化开发,本发明实施例解析配置信息生成第一脚本,通过第一脚本获取配置信息匹配的响应数据,可以快速响应业务需求的变化,灵活性高,能够满足多变的数据上报和分析场景。
附图说明
34.图1是本发明实施例提供的一种数据处理方法的实现流程示意图;
35.图2是本发明实施例提供的另一种数据处理方法的实现流程示意图;
36.图3是本发明实施例提供的另一种数据处理方法的实现流程示意图;
37.图4是本发明实施例提供的另一种数据处理方法的实现流程示意图;
38.图5是本发明实施例提供的一种数据处理流程的示意图;
39.图6是本发明实施例提供的另一种数据处理流程的示意图;
40.图7是本发明实施例提供的另一种数据处理流程的示意图;
41.图8是本发明应用实施例提供的一种上报数据结构的示意图;
42.图9是本发明实施例提供的一种数据处理装置的示意图;
43.图10是本发明一实施例提供的电子设备的示意图。
具体实施方式
44.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.随着互联网快速的发展,小程序的发展也越来越快,小程序作为新零售环境下的崭新载体,它凭借着入口丰富、场景多元、传播能力强、触手可及以及用完即走的特点,得到了广泛的认可和传播。而在小程序的日常运营与发展中,存在着多样的数据信息,比如用户行为数据、营销数据、交易数据以及画像数据等各类数据,面对如此丰富的数据信息,如何进行及时、高效和灵活的对这些原始数据进行分析与挖掘,迅速掌握小程序数据的波动,洞察小程序用户行为变化,是目前国内各个小程序平台不断追求突破的问题。只有不断提高数据的分析效率,才能提高数据分析的能力,进而借助于数据的深层潜在价值为小程序的业务发展而赋能。
46.相关技术在进行数据上报和分析时,需要根据数据的特点进行定制化开发,不能满足多变的数据分析场景。特别是面对小程序多场景、多生态、灵活度和自由度高的数据分析场景显得力不从心。所以,如果能够在小程序的数据分析的场景中,加入自定义数据上报和分析的机制,便可以帮助业务更加灵活地分析和关注的小程序数据的变化,极大地提升小程序的商业价值。
47.目前,相关技术中绝大部分的产品对小程序的数据分析流程都是固化的、预置的、拓展性较差的,比如各类应用程序(app,application)和网站在做数据分析时,往往是客户端和服务端基于事先约定好的接口以及上报字段进行点对点、一对一的定制化的数据上报和分析。服务端需要事先开发对应的应用程序接口(api,application programming interface),同时客户端基于接口规范添加新的埋点软件开发工具包(sdk,software development kit),并统一集成发版,才可以打通数据上报流程,客户端和服务端基于事先约定好的接口以及上报字段进行点对点、一对一的定制化的数据上报和分析。目前现有的这种模式和技术方案,不能快速响应业务变化,缺乏灵活性,而且存在滞后性,严重影响了小程序的生命力和发展。
48.针对上述相关技术的缺点,本发明实施例提供了一种数据处理方法,至少能够在较低的时间复杂度下得到优化的数据处理方案。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
49.图1是本发明实施例提供的一种数据处理方法的实现流程示意图,所述数据处理方法的执行主体为电子设备,电子设备包括台式电脑、笔记本电脑和服务器等。参考图1,数据处理方法包括:
50.s101,获取至少一个配置信息;所述至少一个配置信息表征设定操作事件对应的响应数据的特征。
51.例如,在电商场景下,设定操作事件可以是用户下单事件、支付事件、添加购物车事件、删除订单事件等。配置信息表征设定操作事件对应的响应数据的特征,比如,用户下单事件对应的响应数据可以是订单数据,支付事件对应的响应数据可以是支付数据,可以将设定操作事件对应的响应数据存储在第一数据库中。用户下单事件对应的配置信息可以是事件标识(id,identity document)、事件名称、订单号、用户id、订单金额、地址等。
52.在实际应用中,至少一个配置信息可以包括上报事件id、上报事件名称、查询指标、过滤指标和分组指标。比如,配置事件event_id为“apples_open”;配置事件查询指标为appname,且统计该指标出现的总数量count值;配置事件分组指标为appname;配置事件过滤指标为city=“北京”。
53.用户可以在一个数据库中预先写入各种配置信息,在需要的时候,从数据库中选择其中若干配置信息使用。
54.s102,解析所述至少一个配置信息,生成第一脚本;所述第一脚本用于从第一数据库中获取与所述至少一个配置信息匹配的响应数据。
55.这里,第一脚本本质上是一个动态代码,比如第一脚本可以是sql脚本。
56.参考图2,在一实施例中,所述解析所述至少一个配置信息,生成第一脚本,包括:
57.s201,解析所述至少一个配置信息,得到所述设定操作事件的类型和所述设定操作事件的属性。
58.s202,基于所述设定操作事件的类型和所述设定操作事件的属性生成所述第一脚本。
59.在本发明实施例中,至少一个配置信息包括设定操作事件的类型和设定操作事件的属性。比如设定操作事件的类型为buy购买事件,设定操作事件的属性为amount金额字段,则生成的第一脚本为select amount from tb_app where event_id=
‘
buy’。该第一脚本可以从第一数据库中获取设定操作事件的类型为buy购买事件,且设定操作事件的属性为amount金额字段的响应数据。
60.参考图3,在一实施例中,所述解析所述至少一个配置信息,生成第一脚本,包括:
61.s301,解析所述至少一个配置信息,得到联合索引;所述联合索引中的一个字段表征所述至少一个配置信息中的一个配置信息。
62.两个或更多个列上的索引被称作联合索引,联合索引是由多个字段组成的索引,一个字段对应至少一个配置信息中的一个配置信息。以联合索引(a,b,c)为例,建立这样的索引相当于建立了索引a、ab、abc三个索引。对于联合索引,mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index(a,b,c),可以支持a、ab、abc这3种组合进行查找,但不支持bc进行查找。当最左侧字段是常量引用时,索引就十分有效。
63.至少一个配置信息中的配置信息就相当于联合索引中的字段,通过解析至少一个
配置信息,得到联合索引,根据联合索引生成第一脚本。
64.s302,基于所述联合索引的索引列生成所述第一脚本。
65.这里,生成的动态sql脚本会优先以索引列生成规则。比如,现有联合索引(a,b),至少一个配置信息为c=xxx,b=xx,a=x,解析至少一个配置信息生成第一脚本where a=xxx andb=xxx and c=xxx。
66.这样做的优点在于可以充分利用索引查询的最左前缀匹配原则,可以提升数据查询的效率。最左前缀匹配即是where条件必须有联合索引的第一个字段,联合索引的使用在写where条件的顺序无关。
67.在实际应用中,配置事件event_id为
‘
apples_open’;配置事件查询指标为appname,且统计该指标出现的总数量count值;配置事件分组指标为appname;配置事件过滤指标为city=
‘
北京’。
68.则生成的待执行sql脚本为:
69.select appname,count(*)
70.from tb_click
71.where event_id='apples_open'and city=
‘
北京’72.group by appname
73.得到第一脚本后,执行第一脚本可以从第一数据库中获取与至少一个配置信息匹配的响应数据。本发明实施例在执行第一脚本之前,还需要对第一脚本进行校验。
74.在一实施例中,在执行所述第一脚本之前,所述方法还包括:
75.对所述第一脚本中的配置参数进行校验,得到校验结果;所述校验结果表征所述第一脚本中的配置参数是否有效。
76.在本发明实施例中,对第一脚本中的配置参数进行校验,确定配置参数是否有效。例如,确定配置参数的数据类型和字段长度是否符合标准,比如,数据类型是否为字符串类型,字符长度是否超过255byte。
77.只有校验结果表征第一脚本中的配置参数都有效的情况下,可以执行第一脚本。
78.在一实施例中,在执行所述第一脚本之前,所述方法还包括:
79.将所述第一脚本输入设定的执行引擎进行仿真执行,得到仿真执行结果;所述仿真执行结果表征所述第一脚本是否能够正确执行。
80.将第一脚本输入设定的执行引擎进行仿真执行,仿真执行主要校验第一脚本是否正确,能否正常执行查询。具体表现在校验第一脚本中查询的库、表是否存在,字段名称是否合法以及生成的过滤、聚合脚本是否拼接正确等。
81.比如,生成的执行脚本为select id,name from tb_app where name=
‘
小程序’;如果表tb_app中不存在id和name字段则会抛出异常,提示用户的配置参数信息存在错误。
82.在第一脚本的仿真执行结果表征第一脚本能够正确执行的情况下,可以执行第一脚本。
83.s103,执行所述第一脚本,得到结果集;所述结果集表征所述第一数据库中与所述至少一个配置信息匹配的响应数据的集合。
84.参考图4,在一实施例中,所述执行所述第一脚本,得到结果集,包括:
85.s401,确定在设定时长内是否执行过所述第一脚本。
86.比如,确定当前时间的前10分钟内是否执行过第一脚本。
87.在一实施例中,所述确定在设定时长内是否执行过所述第一脚本,包括:
88.确定所述第一脚本对应的第一参数的参数值。
89.在所述参数值为第一设定值的情况下,确定在设定时长内执行过所述第一脚本;在所述参数值为第二设定值的情况下,确定在设定时长内没有执行过所述第一脚本。
90.比如,如果在设定时长内执行过第一脚本,则参数值设置为1;如果在设定时长内没有执行过第一脚本,则参数值设置为0。
91.s402,在所述设定时长内没有执行过所述第一脚本的情况下,执行所述第一脚本,并将所述结果集写入第二数据库。
92.s403,在所述设定时长内执行过所述第一脚本的情况下,从所述第二数据库中获取所述第一脚本对应的结果集。
93.在第一次执行第一脚本的时候,将第一脚本对应的结果集写入第二数据库,后续可以直接从第二数据库获取第一脚本对应的结果集,避免多次重复执行第一脚本。
94.有一些恶意的请求会导致第一脚本在短时间内重复执行,占用计算资源,所以设置第一脚本在设定时长如果已经执行过,则不再执行第一脚本,避免重复执行第一脚本,防止恶意请求。
95.本发明实施例通过获取至少一个配置信息,解析至少一个配置信息,生成第一脚本,通过执行所述第一脚本,得到结果集。其中,结果集表征第一数据库中与至少一个配置信息匹配的响应数据的集合,至少一个配置信息表征设定操作事件对应的响应数据的特征,第一脚本用于从第一数据库中获取与至少一个配置信息匹配的响应数据。相比现有技术需要针对不同的业务需求进行定制化开发,本发明实施例解析配置信息生成第一脚本,通过第一脚本获取配置信息匹配的响应数据,可以快速响应业务需求的变化,灵活性高,能够满足多变的数据上报和分析场景。
96.本发明不限于应用于小程序自定义数据上报和分析的场景,在各类app以及网站数据指标的统计与分析上同样具有复用价值和参考意义。
97.参考图5,图5是本发明实施例提供的一种数据处理流程的示意图,数据处理流程包括:
98.用户在配置模块配置自定义数据上报的配置信息,包括上报事件id、上报事件名称、查询指标、过滤指标以及分组指标等配置属性信息。
99.解析模块对配置信息进行解析,生成动态脚本。解析模块还可以对动态脚本进行合法性校验,当校验通过后,会将该脚本下发至数据存储层进行数据的实时查询,并返回数据分析结果至用户。
100.执行模块用于执行动态脚本,得到结果集,将结果集存储在结果数据存储模块。后续可以直接从结果数据存储模块获取动态脚本对应的结果集,避免多次重复执行动态脚本。
101.获取模块用于获取应用程序的业务数据,比如用户行为数据、营销数据、交易数据以及画像数据等各类数据。
102.数据检测校验模块用于负责数据的清洗和业务校验,可以针对各类业务数据分析的场景,制定对应的数据清洗规则,将符合需要的数据筛选同步至下游模块。
121.group by appname
122.将该sql脚本下发至数据存储层,执行上述sql脚本,得到满足上述指标条件的数据。
123.本发明实施例无需进行api开发,通过解析用户自定义的配置信息生成动态脚本,执行动态脚本即可得到目标数据。本发明实施例可以快速响应业务需求的变化,灵活性高,能够满足多变的数据上报和分析场景。
124.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
125.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
126.需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
127.另外,在本发明实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
128.参考图9,图9是本发明实施例提供的一种数据处理装置的示意图,如图9所示,该装置包括:获取模块、解析模块和执行模块。
129.获取模块,用于获取至少一个配置信息;所述至少一个配置信息表征设定操作事件对应的响应数据的特征;
130.解析模块,用于解析所述至少一个配置信息,生成第一脚本;所述第一脚本用于从第一数据库中获取与所述至少一个配置信息匹配的响应数据;
131.执行模块,用于执行所述第一脚本,得到结果集;所述结果集表征所述第一数据库中与所述至少一个配置信息匹配的响应数据的集合。
132.在一实施例中,解析模块在解析所述至少一个配置信息,生成第一脚本时,用于:
133.解析所述至少一个配置信息,得到所述设定操作事件的类型和所述设定操作事件的属性;
134.基于所述设定操作事件的类型和所述设定操作事件的属性生成所述第一脚本。
135.在一实施例中,解析模块在解析所述至少一个配置信息,生成第一脚本时,用于:
136.解析所述至少一个配置信息,得到联合索引;所述联合索引中的一个字段表征所述至少一个配置信息中的一个配置信息;
137.基于所述联合索引的索引列生成所述第一脚本。
138.在一实施例中,执行模块在执行所述第一脚本,得到结果集时,用于:
139.确定在设定时长内是否执行过所述第一脚本;
140.在所述设定时长内没有执行过所述第一脚本的情况下,执行所述第一脚本,并将所述结果集写入第二数据库;
141.在所述设定时长内执行过所述第一脚本的情况下,从所述第二数据库中获取所述第一脚本对应的结果集。
142.在一实施例中,所述装置还包括:
143.校验模块,用于对所述第一脚本中的配置参数进行校验,得到校验结果;所述校验结果表征所述第一脚本中的配置参数是否有效。
144.在一实施例中,所述装置还包括:
145.仿真模块,用于将所述第一脚本输入设定的执行引擎进行仿真执行,得到仿真执行结果;所述仿真执行结果表征所述第一脚本是否能够正确执行。
146.在一实施例中,执行模块在确定在设定时长内是否执行过所述第一脚本时,用于:
147.确定所述第一脚本对应的第一参数的参数值;
148.在所述参数值为第一设定值的情况下,确定在设定时长内执行过所述第一脚本;
149.在所述参数值为第二设定值的情况下,确定在设定时长内没有执行过所述第一脚本。
150.实际应用时,所述获取模块、解析模块和执行模块可通过电子设备中的处理器,比如中央处理器(cpu,central processing unit)、数字信号处理器(dsp,digital signal processor)、微控制单元(mcu,microcontroller unit)或可编程门阵列(fpga,field-programmable gate array)等实现。
151.需要说明的是:上述实施例提供的数据处理装置在进行数据处理时,仅以上述各模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的模块完成,即将装置的内部结构划分成不同的模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
152.基于上述程序模块的硬件实现,且为了实现本技术实施例的方法,本技术实施例还提供了一种电子设备。图10为本技术实施例电子设备的硬件组成结构示意图,如图10所示,电子设备包括:
153.通信接口,能够与其它设备比如网络设备等进行信息交互;
154.处理器,与所述通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述电子设备侧一个或多个技术方案提供的方法。而所述计算机程序存储在存储器上。
155.当然,实际应用时,电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为总线系统。
156.本技术实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
157.可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是
磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本技术实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
158.上述本技术实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。
159.可选地,所述处理器执行所述程序时实现本技术实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
160.在示例性实施例中,本技术实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器,上述计算机程序可由电子设备的处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
161.在本技术所提供的几个实施例中,应该理解到,所揭露的装置、电子设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
162.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
163.另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
164.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过
程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
165.或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
166.需要说明的是,本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
167.另外,在本技术实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
168.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
转载请注明原文地址:https://tc.8miu.com/read-3787.html