一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

标识数据生成方法、装置、计算机设备及存储介质与流程

2022-04-30 18:26:35 来源:中国专利 TAG:


1.本发明实施例涉及数据处理技术领域,尤其涉及一种标识数据生成方法与系统。


背景技术:

2.数据在进行存储时,需要对各个数据进行唯一标识,防止数据被混淆。但是,由于数据越来越多,对数据分库分表后需要有一个唯一标识来表示一条数据或消息,数据库的自增标识数据显然不能满足需求,对于数据的管理越发重要。


技术实现要素:

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.为实现上述目的,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行上述的标识数据生成方法的步骤。
35.本发明实施例提供的标识数据生成方法、装置、计算机设备及存储介质,通过对获取到的标识生成请求进行解析,生成第一缓存键值与第二参数,再获取对应的目标数值,根据第二参数对目标数值进行处理,得到第二缓存键值,将第一缓存键值与第二缓存键值按照预设规则进行拼接,得到目标数据的目标标识数据,保证了标识数据生成的唯一性。
附图说明
36.图1为本发明标识数据生成方法实施例一的流程图。
37.图2为本发明标识数据生成方法实施例一种目标数据的示意图。
38.图3为本发明标识数据生成装置实施例二的程序模块示意图。
39.图4为本发明计算机设备实施例三的硬件结构示意图。
具体实施方式
40.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.实施例一
42.参阅图1,示出了本发明实施例一之标识数据生成方法的步骤流程图。可以理解,
本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。具体如下。
43.步骤s100、接收目标数据的标识生成请求。
44.具体地,目标数据为将原始数据根据预设的格式生成的标识格式表达式pattern,包括有内容数据、日期数据与数字数据。原始数据可以为一条数据或消息,如数据可以为发放的红包、客服会话、优惠券等,标识生成请求用于根据目标数据生成其对应的标识数据,可以理解为id(identity document,身份标识号)数据。标识格式表达式pattern(以下简称表达式)的使用通俗易懂,且包括的内容数据、日期数据与数字数据的顺序可变,内容数据为原始数据,可以使用前后缀、占位符、日期时间、数字位数。且由于表达式易拓展,将来业务系统有其他格式要求时,增加表达式的标志位的即可实现多类数据的兼容。
45.步骤s102、解析所述目标数据,得到第一参数及第二参数。
46.具体地,第一参数包括日期格式的日期数据与占位符内的内容数据;第二参数包括数字格式的数字数据。根据第一参数与第二参数对应的标志位对目标数据进行解析,可以快速得到第一参数及第二参数。
47.以表达式%d{yyyymmdd}%c{zhanweifu}%i{000000}为例:
48.其中,%d为日期格式的第一标志位,以供标识服务器进行解析,在本实施例中,%d对应的第一参数必须传输给标识服务器,即标识生成请求中一定包括,%d后面的内容为第一参数,后面不加{}则默认为yyyymmdd,支持传自定义格式如:%d{yymmdd}等,参考java标准日期格式simpledateformat;
49.其中,%i为数字格式的第二标志位,以供标识服务器进行解析,在本实施例中,%i对应的第二参数必须传输给标识服务器,即标识生成请求中一定包括,%i后面的内容的第二参数,后面不加{}则默认为填充8位,支持传6位填充的自定义格式如:%i{000000},也可支持雪花算法生成非递增不重复数字,适用于订单号生成场景,避免自增数字生成订单号使竞争对手推断出本系统大致的订单量;
50.其中,%c为占位符的第一标志位,以供标识服务器进行解析,在本实施例中,%c对应的参数是非必传,即%c对应的参数非必须传输给标识服务器,也就是说,标识生成请求中可能包括%c对应的数据,当包括该数据时,在%c的后面必须加{},格式如:%c{内容},括号里内容为第一参数,会拼接到标识数据中。
51.以上各项均可随意排列组合,对应标识表达式的格式如图2所示,当有其他参数时,也可根据需求设置标志位。
52.在示例性地实施例中,所述目标数据包括第一参数、所述第一参数对应的第一标志位、第二参数、所述第二参数对应的第二标志位;所述步骤s102还包括:
53.步骤s102a、识别所述目标数据中的所述第一标志位与第二标志位。步骤s102b、基于所述第一标志位与所述第二标志位,获取与所述第一标志位相对应的第一参数以及与所述第二标志位相对应的第二参数。
54.具体地,基于第一标志位识别出日期格式与内容格式的第一参数;基于第二标志位识别出数字格式的第二参数。根据标志位可以快速的从表达式中获取对应的内容数据。
55.步骤s104、根据所述第一参数生成第一缓存键值。
56.具体地,第一缓存键值根据日期及占位符生成,占位符为内容数据不用进行变换,
日期根据规则进行转换,标识服务器获取缓存服务器的当前的日期,统一以缓存服务器的时钟为准,有效解决了应用系统多个服务器之间时间不一致的问题,改善了以往请求数据库获取统一时间的操作,减少系统复杂度。例如当日期为2021年8月8日时,表达式中的日期格式为%d{yyyymmdd},进行年月日的转换,转换为20210808;表达式中日期格式为%d{mmddyyyy}时,进行年月日的转换,得到08082021。标识服务器根据日期设置第一缓存键值的失效时间,实现对标识服务器内存的清除,减少标识服务器的缓存压力。
57.在示例性地实施例中,所述步骤s104还包括:
58.根据预设的转换规则对所述第一参数进行处理,得到第一缓存键值。
59.具体地,标识服务器接收到请求后,解析表达式中的日期及占位符,第一参数为日期和占位符,确定日期及占位符在字符串中的位置,可以快速的进行数据填充。根据第一参数以及第一参数的位置信息生成第一缓存键值key,例如目标数据为表达式%d{yyyymmdd}%c{zhanweifu}%i{000000}格式,其中,第一参数的第一标志位为%d{}%c{},第二参数的第二标志位为%i{},生成的第一缓存键值为20210808zhanweifu000000;当目标数据的表达式的格式为%d{yyyymmdd}%i{000000}%c{zhanweifu}时,生成的第一缓存键值为20210808000000zhanweifu。
60.步骤s106、基于所述标识生成请求从缓存服务器中获取目标数值,并根据所述第二参数对所述目标数值进行格式化处理,得到第二缓存键值。
61.具体地,将标识生成请求发送给缓存服务器,从缓存服务器中获取可以得到的当前数值,增加1后得到第二缓存键值进行返回。例如缓存服务器基于标识生成请求获取到的数值为22,将其增加1后得到23,即为目标数值。基于预设的转换规则对目标数值进行格式化处理,得到第二缓存键值。例如:目标数值为23,第二参数为:%i{000000},生成的第二缓存键值为000023。
62.在示例性地实施例中,为了达到并发效果好、全流程性能无瓶颈、响应及时的效果,本实施例设置了分布式处理的架构,包括缓存服务器与多个标识服务器。由于设置了独立的缓存服务器,其响应速度远高于数据库,独立部署,所有标识服务器的节点连接同一套缓存服务器,以保证分布式场景下标识的严格单调递增,同时标识服务节点可镜像复制扩展,实现高可用。
63.在示例性地实施例中,所述步骤s106还包括:
64.步骤s106a、将所述标识生成请求发送给所述缓存服务器,以供所述缓存服务器根据所述标识生成请求获取当前数值及将所述当前数值增加预设值后得到所述标识生成请求对应的目标数值。步骤s106b、接收所述缓存服务器返回的所述目标数值。
65.具体地,缓存服务器基于标识生成请求获取到的数值为22,其为当前数值,将当前数值22增加预设值1后得到目标数值23。
66.在示例性地实施例中,所述方法还包括:
67.基于所述目标数值生成所述第二缓存键值;
68.在所述第二缓存键值的位数大于预设位数的情况下,生成失败信息。
69.具体地,当标识服务器得到目标数值后,会对目标数值进行数据格式转换处理,得到第二缓存键值,以进一步判断第二缓存键值的位数是否超过预设位数。若基于目标数值产生的第二缓存键值超过了预设位数,为避免从头开始产生重复标识数据,标识服务器会
返回失败结果给用户。例如设置的预设位数为6位,生成的第二缓存键值已超过999999时,标识服务器将生成失败信息,并返回失败信息给用户。
70.在示例性地实施例中,所述步骤s106还包括:
71.所述缓存服务器根据所述标识生成请求的到达时间分配对应的数值,并将分配的数值作为所述当前数值。
72.具体地,当标识生成请求存在多个时,为了包装标识数据生成的唯一性,缓存服务器根据标识生成请求到达缓存服务器的时间分配对应的数值,根据预设规则对所述数值进行处理,得到目标数值。预设规则即为对数值进行加一处理。
73.步骤s108、按照预设规则将所述第一缓存键值与所述第二缓存键值进行拼接,得到所述目标数据的目标标识数据。
74.具体地,预设顺序对第一缓存键值(日期,占位符)、第二缓存键值(数字位数)进行拼接,也可随意排列组合,得到目标标识数据,用于记录最终生成的标识日志。返回最终生成标识字符串给用户。如果有异常,返回异常结果。例如第一缓存键值为20210808zhanweifu000000,第二缓存键值为000023,将第一缓存键值与第二缓存键值进行拼接,得到目标标识数据20210808zhanweifu000023。
75.实施例二
76.请继续参阅图3,示出了本发明标识数据生成装置实施例二的程序模块示意图。在本实施例中,标识数据生成装置20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述标识数据生成方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述标识数据生成装置20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
77.接收模块200,用于接收目标数据的标识生成请求。
78.具体地,目标数据为将原始数据根据预设的格式生成的标识格式表达式pattern,包括有内容数据、日期数据与数字数据。原始数据可以为一条数据或消息,如数据可以为发放的红包、客服会话、优惠券等,标识生成请求用于根据目标数据生成其对应的标识数据。标识格式表达式pattern(以下简称表达式)的使用通俗易懂,且包括的内容数据、日期数据与数字数据的顺序可变,内容数据为原始数据,可以使用前后缀、占位符、日期时间、数字位数。且由于表达式易拓展,将来业务系统有其他格式要求时,增加表达式的标志位的即可实现多类数据的兼容。
79.解析模块202,用于解析所述目标数据,得到第一参数与第二参数。
80.具体地,第一参数包括日期格式的日期数据与占位符内的内容数据;第二参数包括数字格式的数字数据。根据第一参数与第二参数对应的标志位对目标数据进行解析,可以快速得到第一参数及第二参数。
81.以表达式%d{yyyymmdd}%c{zhanweifu}%i{000000}为例:
82.其中,%d为日期格式的第一标志位,以供标识服务器进行解析,在本实施例中,%d对应的第一参数必须传输给标识服务器,即标识生成请求中一定包括,%d后面的内容为第一参数,后面不加{}则默认为yyyymmdd,支持传自定义格式如:%d{yymmdd}等,参考java标准日期格式simpledateformat;
83.其中,%i为数字格式的第二标志位,以供标识服务器进行解析,在本实施例中,%i对应的第二参数必须传输给标识服务器,即标识生成请求中一定包括,%i后面的内容的第二参数,后面不加{}则默认为填充8位,支持传6位填充的自定义格式如:%i{000000},也可支持雪花算法生成非递增不重复数字,适用于订单号生成场景,避免自增数字生成订单号使竞争对手推断出本系统大致的订单量;
84.其中,%c为占位符的第一标志位,以供标识服务器进行解析,在本实施例中,%c对应的参数是非必传,即%c对应的参数非必须传输给标识服务器,也就是说,标识生成请求中可能包括%c对应的数据,当包括该数据时,在%c的后面必须加{},格式如:%c{内容},括号里内容为第一参数,会拼接到标识数据中。
85.以上各项均可随意排列组合,对应标识表达式的格式如图2所示,当有其他参数时,也可根据需求设置标志位。
86.在示例性地实施例中,所述目标数据包括第一参数、所述第一参数对应的第一标志位、第二参数、所述第二参数对应的第二标志位;所述解析模块202还用于:
87.识别所述目标数据中的所述第一标志位与第二标志位。基于所述第一标志位与所述第二标志位,获取与所述第一标志位相对应的第一参数以及与所述第二标志位相对应的第二参数。
88.具体地,基于第一标志位识别出日期格式与内容格式的第一参数;基于第二标志位识别出数字格式的第二参数。根据标志位可以快速的从表达式中获取对应的内容数据。
89.生成模块204,用于根据所述第一参数生成第一缓存键值。
90.具体地,第一缓存键值根据日期及占位符生成,占位符为内容数据不用进行变换,日期根据规则进行转换,标识服务器获取缓存服务器的当前的日期,统一以缓存服务器的时钟为准,有效解决了应用系统多个服务器之间时间不一致的问题,改善了以往请求数据库获取统一时间的操作,减少系统复杂度。例如当日期为2021年8月8日时,表达式中的日期格式为%d{yyyymmdd},进行年月日的转换,转换为20210808;表达式中日期格式为%d{mmddyyyy}时,进行年月日的转换,得到08082021。标识服务器根据日期设置第一缓存键值的失效时间,实现对标识服务器内存的清除,减少标识服务器的缓存压力。
91.在示例性地实施例中,所述生成模块204还用于:
92.根据预设的转换规则对所述第一参数进行处理,得到第一缓存键值。
93.具体地,标识服务器接收到请求后,解析表达式中的日期及占位符,第一参数为日期和占位符,确定日期及占位符在字符串中的位置,可以快速的进行数据填充。根据第一参数以及第一参数的位置信息生成第一缓存键值key,例如目标数据为表达式%d{yyyymmdd}%c{zhanweifu}%i{000000}格式,其中,第一参数的第一标志位为%d{}%c{},第二参数的第二标志位为%i{},生成的第一缓存键值为20210808zhanweifu000000;当目标数据的表达式的格式为%d{yyyymmdd}%i{000000}%c{zhanweifu}时,生成的第一缓存键值为20210808000000zhanweifu。
94.处理模块206,用于基于所述标识生成请求从缓存服务器中获取目标数值,并根据所述第二参数对所述目标数值进行格式化处理,得到第二缓存键值。
95.具体地,将标识生成请求发送给缓存服务器,从缓存服务器中获取可以得到的当前数值,增加1后得到第二缓存键值进行返回。例如缓存服务器基于标识生成请求获取到的
数值为22,将其增加1后得到23,即为目标数值。基于预设的转换规则对目标数值进行格式化处理,得到第二缓存键值。例如:目标数值为23,第二参数为:%i{000000},生成的第二缓存键值为000023。
96.在示例性地实施例中,所述处理模块206还用于:
97.将所述标识生成请求发送给所述缓存服务器,以供所述缓存服务器根据所述标识生成请求获取当前数值及将所述当前数值增加预设值后得到所述标识生成请求对应的目标数值。接收所述缓存服务器返回的所述目标数值。
98.具体地,缓存服务器基于标识生成请求获取到的数值为22,其为当前数值,将当前数值22增加预设值1后得到目标数值23。
99.拼接模块208,用于按照预设规则将所述第一缓存键值与所述第二缓存键值进行拼接,得到所述目标数据的目标标识数据。
100.具体地,预设顺序对第一缓存键值(日期,占位符)、第二缓存键值(数字位数)进行拼接,也可随意排列组合,得到目标标识数据,用于记录最终生成的标识日志。返回最终生成标识字符串给用户。如果有异常,返回异常结果。例如第一缓存键值为20210808zhanweifu000000,第二缓存键值为000023,将第一缓存键值与第二缓存键值进行拼接,得到目标标识数据20210808zhanweifu000023。
101.实施例三
102.参阅图4,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图4所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及标识数据生成装置20。其中:
103.本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例二的标识数据生成装置20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
104.处理器22在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行标识数据生成装置20,以实现实施例一的标识数据生成方法。
105.所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在
所述服务器2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述服务器2与外部终端相连,在所述服务器2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(global system of mobile communication,gsm)、宽带码分多址(wideband code division multiple access,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。需要指出的是,图4仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。在本实施例中,存储于存储器21中的所述标识数据生成装置20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
106.例如,图3示出了所述实现标识数据生成装置20实施例二的程序模块示意图,该实施例中,所述标识数据生成装置20可以被划分为所述接收模块200、所述解析模块202、所述生成模块204、所述处理模块206以及所述拼接模块208。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述标识数据生成装置20在所述计算机设备2中的执行过程。所述程序模块200-208的具体功能在实施例二中已有详细描述,在此不再赘述。
107.实施例四
108.本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于计算机程序,被处理器执行时实现实施例一的标识数据生成方法。
109.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
110.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
111.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献