序列码生成管理系统及方法与设备与流程

文档序号:27388230发布日期:2021-11-15 21:51阅读:422来源:国知局
序列码生成管理系统及方法与设备与流程

1.本发明涉及计算机数据处理领域,尤其涉及一种序列码生成管理系统及方法与设备。


背景技术:

2.目前在全球供应链系统中,产品序列码所包含的信息目前已经囊括物流信息、防伪信息、品牌信息等等诸多信息,所以序列码的重要性不言而喻,序列码的生产也是必不可少的环节。
3.序列码生产的数量主要取决于产品的生产数量,在智能化程度不高的时期,生产力相对不高,所以序列码的需求量也并不大,很多瓶颈问题没有凸显出来。随着智能化越来越高,生产力也随之提高,产品序列码的需求量越来越大,并且随着互联网的盛行,利用序列码来做活动码也开始盛行,复杂的序列码配置需求也越来越多,所以当序列码的需求量达到10亿级别,或者生产规则很复杂时,传统的序列码生产方式已经无法满足需求,并且序列码功能的多样性也无法得到满足。因此为了满足供应商的这些新时代的需求,本领域技术人员致力于海量高效的序列码生产和存储技术的研发。


技术实现要素:

4.鉴于现有技术中的问题,本发明提供了一种序列码生成管理系统,其包括:
5.序列码类型库,所述序列码类型库用于设定和存储的序列码类型及配置规则;
6.序列码配置模块,所述序列码配置模块用于接收基于所述序列码类型库的序列码生成需求,并根据所述序列码生成需求生成并发送序列码需求指令;
7.序列码生成模块,所述序列码生成模块用于接收所述序列码需求指令,并根据所述序列码需求指令建立并执行序列码生成任务;
8.序列码逻辑模块,所述序列码逻辑模块用于设置和存储序列码计算规则,所述序列码生成任务被执行时调用所述序列码逻辑模块,所述序列码逻辑模块根据所述序列码生成任务中的配置信息计算出各序列码并返回给所述序列码生成模块;
9.生成后处理模块,所述生成后处理模块用于校验所述序列码生成任务的执行结果,并按照预设的码包容量,将所述序列码生成任务生成的序列码分成各码包,并上传至云端;
10.序列码分库模块,所述序列码分库模块用于对上传至云端的序列码执行分库操作,所述分库操作将各序列码持久化至相应的数据库。
11.进一步地,所述序列码生成任务启动多个线程,主线程将需生成的序列码按照序列码生成的规则平均分配到各个子线程进行生成。
12.进一步地,所述序列码生成任务生成的序列码放入缓冲池中临时存储,所述生成后处理模块读取所述缓冲池中的数据以校验所述序列码生成任务的执行结果。
13.进一步地,所述序列码逻辑模块包括市场码逻辑模块,所述市场码逻辑模块针对
序列码的生成操作包括:
14.获取上次最后一个序列码;
15.根据预设的规则返回下一个顺序码;
16.根据预设的规则返回一个随机码;
17.判断是否加密;
18.根据返回的顺序码、随机码和加密状态组装并输出完整的序列码。
19.进一步地,所述序列码逻辑模块包括gtin

14码逻辑模块,所述gtin

14码逻辑模块针对序列码的生成操作包括:
20.获取上次最后一个序列码;
21.根据预设的规则返回下一个顺序码;
22.根据预设的规则返回一个随机码;
23.将返回的顺序码、随机码与标识码组装并输出完整的序列码。
24.进一步地,所述序列码逻辑模块包括gs1码逻辑模块,所述gs1码逻辑模块针对序列码的生成操作包括:
25.获取上次最后一个序列码;
26.根据预设的规则返回下一个顺序码;
27.组装筛选值、公司前缀和返回的顺序码;
28.根据sscc算法计算第18位数字;
29.组装并输出完整的序列码。
30.进一步地,所述序列码分库模块根据客户和/或产品信息对序列码进行所述分库操作,并且各数据库对其中的序列码添加索引。
31.本发明还提供了一种序列码生成管理的方法,所述方法包括:
32.响应于序列码生成需求,生成并发送序列码需求指令;
33.根据所述序列码需求指令,启动多个线程执行序列码生成任务;
34.校验序列码生成的结果;
35.将生成的序列码按预设码包容量,分成各码包并上传至云存储服务器;
36.对上传的序列码执行分库处理,持久化至相应的数据库;
37.响应于针对数据库中序列码的操作指令,基于相应的序列码数据执行对应的目标操作。
38.本发明还提供了一种用于序列码生成管理的设备,所述设备包括:
39.处理器;以及
40.被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述方法的操作。
41.本发明还提供了一种存储指令的计算机可读介质,所述指令在被执行时使得系统执行上述方法的操作。
42.本发明的序列码生成管理系统及方法与设备是一种实用有效的生产海量序列码的解决方案,能够高效的解决供应链中对生产海量复杂序列码的生成需求、存储需求以及查询需求,其中支持配置的规则,能够满足行业内绝大多数场景,生产的速率约为100万个/分钟,并且在10亿级别的数量下,验证单个序列码的响应速度可以达到秒级。
附图说明
43.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:
44.图1示出本发明的一个实施例的序列码生成管理系统的示意图;
45.图2示出本发明的一个实施例中的序列码逻辑模块的示意图;
46.图3示出本发明的一个实施例中序列码生成任务启用多线程的示意图;
47.图4示出本发明的一个实施例中序列码分库操作的示意图;
48.图5至图9是一个基于本发明的序列码生成管理系统的应用软件的图形用户界面;
49.图10示出可用于本发明各实施例的一种示例性系统的功能模块。
50.附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
51.下面结合附图对本技术作进一步详细描述。
52.在本发明的一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(central processing unit,cpu))、输入/输出接口、网络接口和内存。
53.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(random access memory,ram)和/或非易失性内存等形式,如只读存储器(read only memory,rom)或闪存(flash memory)。内存是计算机可读介质的示例。
54.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(phase

change memory,pcm)、可编程随机存取存储器(programmable random access memory,pram)、静态随机存取存储器(static random

access memory,sram)、动态随机存取存储器(dynamic random access memory,dram)、其他类型的随机存取存储器(random access memory,ram)、只读存储器(read

only memory,rom)、电可擦除可编程只读存储器(electrically

erasable programmable read

only memory,eeprom)、快闪记忆体(flash memory)或其他内存技术、只读光盘只读存储器(compact disc read

only memory,cd

rom)、数字多功能光盘(digital versatile disc,dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
55.本发明所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、ios操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程逻辑器件(programmable logic device,pld)、现场可编程门阵列(field programmable gate array,fpga)、数字信号处理器(digital signal processor,dsp)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个
网络服务器集或多个服务器构成的云;在此,云由基于云计算(cloud computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、vpn网络、无线自组织网络(ad hoc network)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
56.当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
57.在本发明的实施方式的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。
58.图1是本发明的一个实施例的序列码生成管理系统的示意图,其中包括序列码类型库10、序列码配置模块20、序列码生成模块30、序列码逻辑模块40、生成后处理模块50、存储服务器60和序列码分库模块70。
59.序列码类型库10用于设定和存储的序列码类型及配置规则,本实施例中,序列码类型库10预存的序列码类型包括市场码、gtin

14码和gs1码,并且还包括市场码、gtin

14码和gs1码的配置规则。
60.市场码类型分为物流码和营销码,对于市场码来说,虽然每家品牌方的构成不尽相同,但总体上市场码的结构仍可统一设置为固定值、逻辑值、随机值,来确保码的可读性和唯一性,其中逻辑值和随机值可以排除一些字符(比如大写字母或者数字等),此外系统中针对市场码,还提供了加密的选项。gtin

14类型的序列码也包含顺序值和随机值,除此之外还设置一个标识码,标识码需要全库唯一,在录入时会进行校验。gs1类型的序列码为固定长度18位,其中前17位是由筛选值、公司前缀和顺序码构成,而第18位则是根据sscc算法计算得出。
61.序列码配置模块20用于接收用户提供的序列码生成需求,并根据上述序列码生成需求生成并发送序列码需求指令,其中用户提供的序列码生成需求是基于序列码类型库10中的序列码类型及配置规则。在一些实施例中,用户通过系统提供的图形用户界面填写和/或选择需要生成的序列码需求,图形用户界面中可填写和选择的项目是基于序列码类型库10预存的序列码类型及配置信息,用户完成填写并确认后,所收集的需求信息被发送给序列码配置模块20,序列码配置模块20根据上述需求信息生成序列码需求指令,并发送给序列码生成模块30。
62.序列码生成模块30用于接收由序列码配置模块20发送的序列码需求指令,指令中包含了其可识别的序列码生成的需求,如序列码种类、序列码配置规则、所需序列码的数量等内容,并根据序列码需求指令建立并执行序列码生成任务。在一些优选的实施例中,序列码生成任务启用多个线程,主线程将需生成的序列码按照序列码生成的规则平均分配到各个子线程进行生成,从而可大幅度提高序列码生成速率。
63.序列码逻辑模块40用于设置和存储序列码计算规则,序列码生成模块30在执行序列码生成任务时会调用序列码逻辑模块40中与任务中的序列码类型相匹配的序列码生成操作,被调用的序列码生成操作计算出各序列码并返回给序列码生成模块30。
64.如图2所示,本实施例中,与序列码类型库10中的序列码类型(市场码、gtin

14码
和gs1码)相对应地,序列码逻辑模块40包括3个子模块:市场码逻辑模块41、gtin

14码逻辑模块42和gs1码逻辑模块43,分别对应于市场码、gtin

14码和gs1码的计算规则。
65.市场码逻辑模块41针对序列码的生成操作包括:
66.获取上次最后一个序列码;
67.根据预设的规则返回下一个顺序码;
68.根据预设的规则返回一个随机码;
69.判断是否加密;
70.根据返回的顺序码、随机码和加密状态组装并输出完整的序列码。
71.gtin

14码逻辑模块42针对序列码的生成操作包括:
72.获取上次最后一个序列码;
73.根据预设的规则返回下一个顺序码;
74.根据预设的规则返回一个随机码;
75.将返回的顺序码、随机码与标识码组装并输出完整的序列码。
76.gs1码逻辑模块43针对序列码的生成操作包括:
77.获取上次最后一个序列码;
78.根据预设的规则返回下一个顺序码;
79.组装筛选值、公司前缀和返回的顺序码;
80.根据sscc算法计算第18位数字;
81.组装并输出完整的序列码。
82.如图3所示,序列码生成模块30还包括缓冲池31,序列码生成任务的各子线程会将生成结果放入缓冲池31中临时存储,由生成后处理模块50对缓冲池中的数据执行后续操作。
83.生成后处理模块50用于校验序列码生成任务的执行结果,当各子线程都结束时,生成后处理模块50读取缓冲池中的数据以校验各子线程生成序列码的执行结果。其后,生成后处理模块50按照预设的码包容量,将已生成的序列码分成各码包,并上传至云端的存储服务器60。
84.序列码分库模块70用于对上传至存储服务器60的序列码执行分库操作,分库操作将序列码持久化至相应的数据库中。优选地,序列码分库模块70可根据客户和/或产品等信息对序列码进行分库操作,如图4所示,序列码分库模块70将上传至存储服务器60的序列码持久化至若干mongo数据库中,同时利用mongo数据库的索引技术,给序列码字段添加索引,以实现在10亿数据量下实现秒级别的响应查询。
85.图5至图9示出了一种基于本发明的序列码生成管理系统的应用软件的图形用户界面。
86.如图5所示,在“序列码规则”页面,用户可选择和填写序列码的类型及其配置规则,图5中选择的序列码类型为gtin

14类型,标识码设置为g10002300913,序列码长度设置为8位,其中顺序码设置为5位,随机码设置为3位,设置序列码排除所有小写字母,通过计算得出,符合上述要求的序列码的上限数量为777600000个。
87.如图6所示,在“序列码申请”页面,选择已预设的产品名称及其包装级别,以之前选择的序列码类型及其配置规则绑定,图6中产品名称选择roytest,产品的包装级别选择
case,并且填写需要生成的序列码数量。
88.在图6页面完成表单后,点击“申请”后,界面如图7所示,该阶段为序列码生成及持久化阶段,该阶段会利用如本实施例中的序列码生成模块30加速生成效率,并由生成后处理模块50进行序列码的持久化操作。图8为本次序列码生成的日志,日志中可见本次100万个序列码生成总耗时约为42秒(图8中方框内所示)。
89.如图9所示,在“序列码查询”页面,用户可根据系统所提供的物流序列码或营销序列码快速查询已生成的序列码并进行验证。
90.本实施例还提供了一种序列码生成管理的方法,其流程包括:
91.步骤一、响应于序列码生成需求,生成并发送序列码需求指令;如在采用本实施例的序列码生成管理系统时,序列码配置模块20接收用户基于序列码类型库10内的序列码类型及配置规则所填写和/或选择的序列码需求,生成并发送序列码需求指令。
92.步骤二、根据序列码需求指令,启动多个线程执行序列码生成任务;如在采用本实施例的序列码生成管理系统时,序列码生成模块30接收由序列码配置模块20发送的序列码需求指令,并根据序列码需求指令建立并执行序列码生成任务,序列码生成任务启用多个线程,主线程将需生成的序列码按照序列码生成的规则平均分配到各个子线程进行生成。
93.各子线程根据序列码的类型执行相应的生成操作,如针对市场码逻辑、gtin

14码或gs1码的会有不同的生成操作流程,并将生成的结果放入缓冲池中临时存储。
94.步骤三、校验序列码生成的结果;如在采用本实施例的序列码生成管理系统时,生成后处理模块50读取缓冲池31中的数据以校验各子线程生成序列码的执行结果。
95.步骤四、将生成的序列码按预设码包容量,分成各码包并上传至云存储服务器;如在采用本实施例的序列码生成管理系统时,生成后处理模块50在完成校验后,按照预设的码包容量,将已生成的序列码分成各码包,并上传至云端的存储服务器60。
96.步骤五、对上传的序列码执行分库处理,持久化至相应的数据库;如在采用本实施例的序列码生成管理系统时,序列码分库模块70根据客户和/或产品等信息对上传至存储服务器60的序列码执行分库操作,分库操作将序列码持久化至若干mongo数据库中,同时利用mongo数据库的索引技术,给序列码字段添加索引。
97.响应于针对数据库中序列码的操作指令,基于相应的序列码数据执行对应的目标操作,如针对用户对序列码的查询操作,根据客户、产品等信息从相应的数据库中利用序列码的索引可快速获得查询结果。
98.本实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
99.本实施例还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
100.本实施例还提供了一种计算机设备,所述计算机设备包括:
101.一个或多个处理器;
102.存储器,用于存储一个或多个计算机程序;
103.当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
104.图10示出了可被用于实施本发明中所述的各个实施例的示例性系统。
105.如图10所示,在一些实施例中,系统1000能够作为各所述实施例中的任意一个用户终端设备。在一些实施例中,系统1000可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或nvm/存储设备1020)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本发明中所述的动作的一个或多个处理器(例如,(一个或多个)处理器1005)。
106.对于一个实施例,系统控制模块1010可包括任意适当的接口控制器,以向(一个或多个)处理器1005中的至少一个和/或与系统控制模块1010通信的任意适当的设备或组件提供任意适当的接口。
107.系统控制模块1010可包括存储器控制器模块1030,以向系统存储器1015提供接口。存储器控制器模块1030可以是硬件模块、软件模块和/或固件模块。
108.系统存储器1015可被用于例如为系统1000加载和存储数据和/或指令。对于一个实施例,系统存储器1015可包括任意适当的易失性存储器,例如,适当的dram。在一些实施例中,系统存储器1015可包括双倍数据速率类型四同步动态随机存取存储器(ddr4 sdram)。
109.对于一个实施例,系统控制模块1010可包括一个或多个输入/输出(i/o)控制器,以向nvm/存储设备1020及(一个或多个)通信接口1025提供接口。
110.例如,nvm/存储设备1020可被用于存储数据和/或指令。nvm/存储设备1020可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(hard disk,hdd)、一个或多个光盘(cd)驱动器和/或一个或多个数字通用光盘(dvd)驱动器)。
111.nvm/存储设备1020可包括在物理上作为系统1000被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,nvm/存储设备1020可通过网络经由(一个或多个)通信接口1025进行访问。
112.(一个或多个)通信接口1025可为系统1000提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统1000可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
113.对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器(例如,存储器控制器模块1030)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器的逻辑封装在一起以形成系统级封装(sip)。对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(soc)。
114.在各个实施例中,系统1000可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统1000可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统1000包括一个或多个摄像机、键盘、液晶显示器(lcd)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(asic)和扬声器。
115.需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采
用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
116.另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
117.通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、rf、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
118.作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(ram,dram,sram);以及非易失性存储器,诸如闪存、各种只读存储器(rom,prom,eprom,eeprom)、磁性和铁磁/铁电存储器(mram,feram);以及磁性和光学存储设备(硬盘、磁带、cd、dvd);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。
119.在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
120.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1