CN109558377B - 一种产品追溯码重复极速校验算法 - Google Patents
一种产品追溯码重复极速校验算法 Download PDFInfo
- Publication number
- CN109558377B CN109558377B CN201811516723.1A CN201811516723A CN109558377B CN 109558377 B CN109558377 B CN 109558377B CN 201811516723 A CN201811516723 A CN 201811516723A CN 109558377 B CN109558377 B CN 109558377B
- Authority
- CN
- China
- Prior art keywords
- tracing code
- bit
- product tracing
- file
- code
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种产品追溯码重复极速校验算法,根据产品追溯码编码规则,将产品追溯码的序号使用一个bit来代替,使用更多的bit来代表当前所有的产品追溯码;首先根据产品追溯码的序号规则;得到该产品追溯码使用的最大序号,该最大序号除以8,若有余数则加一个字节,即可得到当前所有bit占用的字节(byte)数,将所有的bit按文件方式存储,从第0开始到最后一个bit即可覆盖所有的追溯码状态;在文件数据建立过程中主要是通过函数createfile及createfilemapping直接建立磁盘文件,然后通过mapviewoffile函数映射到内存中,在后期的校验及设置操作中,只需要对该文件中的数据进行操作,即操作产品追溯码序号对应的字节中的bit位即可。该数据运算直接内存文件操作,简单而又极为快速。
Description
技术领域
本发明涉及一种产品追溯码重复极速校验算法,属于软件开发技术领域。
背景技术
在工业4.0和中国智造2025中都需要产品进行唯一身份赋码,在赋码生产过程中,但由于产品数据大,数据库比对效率低,尤其数据库的记录数大时,比对时间甚至超过需要几百毫秒,但生产线速度通常超过200盒(码)/秒,以至在当前产品经过剔除位置传感器时,计算机软件系统尚未给出该产品码数据是否重复使用的结果,不能实现快速生产线的产品赋码及数据关联。迫切需要一种产品码快速校验重复的算法,保证产品码的唯一性,避免印刷,喷码,打印等过程中产生的产品追溯码重复问题。
工业化大生产生产线的速度大于100件/秒,高速的可以达到300件~500件/秒,在生产的同时,需要对产品进行赋码(如:中国药品电子监管码),同时对产品码进行重复性校验,现在的产品码校验方式仅对单个码文件进行校验或直接到数据库进行比对,覆盖范围小,同时校验速度慢,随着数据库数据记录数的增加,计算机CPU资源和内存占用增加,重复比对校验速度急剧下降。本算法可以可实现产品码数据信息全覆盖,毫秒级的数据重复比较校验时间不受数据量影响,不增加占用CPU时间资源。
现有产品追溯码重复校验技术的缺点:
(1)数据校验范围小,存在范围限制;
(2)校验时间长,占用计算机系统资源多,CPU时间长;
(3)占用网络带宽及资源;
(4)存在断网不能校验情形。
发明内容
本发明的目的在于:针对以上现有技术存在的不足,提出快速查询数据码的产品追溯码重复极速校验算法,从技术原理上解决这一问题。
为了解决上述技术问题,本发明提供了如下的技术方案:
本发明提供一种产品追溯码重复极速校验算法,包括创建文件S1、校验标准S2和校验流程S3;
S1:创建文件的操作步骤如下所示:
S11:使用多功能的函数createfile得到文件句炳;
S12:通过createfilemapping生成所有序号对应文件,每个字节Byte位置中含有8个位bit;每个bit位代表一个序号,该文件可表示所有序号状态;
S121:首先根据产品追溯码的序号规则,得到该产品追溯码使用的最大序号;
S122:该最大序号除以8,若有余数则加一个字节,即可得到当前所有bit位占用的字节(byte)数,即是对实际文件大小进行定义;
S123:每个字节(byte)中含有8个bit位;每个bit位代表一个序号,所有序号采用二进制文件存储;将所有的bit位按文件方式存储;从0开始到最后一个bit位即可覆盖所有的追溯码状态;
S13:mapviewoffile得到createfilemapping生成的文件,在内存中映射的首字节基地址指针;
S2:校验标准
步骤S12中定义的bit位上数据存储状态为产品追溯码的码状态,产品追溯码以一个Bit位来存储,bit位为0,表示该产品追溯码未使用,bit位为1,则标识该产品追溯码为已使用;
S3:校验流程
S31:首先获得需要校验产品追溯码的序号;
S32:将步骤S31中使用的序号除以8,整除部分为该产品追溯码在文件中的字节(Byte)位置;
S33:将步骤S31中使用的序号对8求模,可以得到该产品追溯码在该字节Byte中的Bit位置;读取该Bit位置的状态得到0或1,即可得到码是否重复;
S34:当设置该产品追溯码的状态时,将该Bit位值设置成对应值。
本发明所达到的有益效果是:本发明采用的追溯码的重复性校验,在数据建立过程中主要是通过函数createfile直接建立内存文件,然后将所有的内存数据都存储在内存文件中,在后期的校验过程中,只需要对追溯码序号除8并求模,这两部简单数据运算即可得到对应的追溯码状态,这样的操作方式简单而又迅速。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
在附图中:
图1为本发明创建码状态文件的流程图;
图2为本发明校验产品追溯码的流程图。
具体实施方式
以下对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1:如图1-2所示,本发明提供一种产品追溯码重复极速校验算法,包括创建文件S1、校验标准S2和校验流程S3;
S1:创建文件的操作步骤如下所示:
S11:使用多功能的函数createfile得到文件句炳;
S12:通过createfilemapping生成所有序号对应文件,每个字节Byte位置中含有8个位bit;每个bit位代表一个序号,该文件可表示所有序号状态;
S121:首先根据产品追溯码的序号规则,得到该产品追溯码使用的最大序号;
S122:该最大序号除以8,若有余数则加一个字节,即可得到当前所有bit位占用的字节(byte)数,即是对实际文件大小进行定义;
S123:每个字节(byte)中含有8个bit位;每个bit位代表一个序号,所有序号采用二进制文件存储;将所有的bit位按文件方式存储;从0开始到最后一个bit位即可覆盖所有的追溯码状态;
S13:mapviewoffile得到createfilemapping生成的文件,在内存中映射的首字节基地址指针;
S2:校验标准
步骤S12中定义的bit位上数据存储状态为产品追溯码的码状态,产品追溯码以一个Bit位来存储,bit位为0,表示该产品追溯码未使用,bit位为1,则标识该产品追溯码为已使用;
S3:校验流程
S31:首先获得需要校验产品追溯码的序号;
S32:将步骤S31中使用的序号除以8,整除部分为该产品追溯码在文件中的字节(Byte)位置;
S33:将步骤S31中使用的序号对8求模,可以得到该产品追溯码在该字节Byte中的Bit位置;读取该Bit位置的状态得到0或1,即可得到码是否重复;
S34:当设置该产品追溯码的状态时,将该Bit位值设置成对应值。
工作原理:根据产品追溯码编码规则,这个规则是每个公司或者相关行业自己内部的编码规则,没有特殊的要求,例如附中国药品电子监管码规则,其中涉及标志位、编码标志位、产品编码、编码字号、应用码和验证码,具体数值如下图所示:
将产品追溯码的序号使用一个bit位来代替,使用更多的bit来代表当前所有的产品追溯码,则当前所有bit的0或1状态即可代表所有追溯码的未使用及已关联状态。首先根据产品追溯码的序号规则;得到该产品追溯码使用的最大序号,该最大序号除以8,若有余数则加一个字节,即可得到当前所有bit占用的字节(byte)数。另外将所有的bit按文件方式存储。从第0开始到最后一个bit即可覆盖所有的追溯码状态。校验任意追溯码的状态时,只需要查询该追溯码序号对应的bit位状态,即可判断该追溯码是否重复。使用追溯码序号除以8,则整除部分为该产品追溯码在文件中的字节(Byte)位置;序号对8求模,可以得到该产品追溯码在该字节Byte中的Bit位置;读取该Bit位置的状态得到0或1,即可得到码是否重复;当设置该产品追溯码的状态时,将该Bit位值设置成对应值即可;
本发明采用的追溯码的重复性校验算法,主要是建立追溯码序号对应的文件。在文件数据建立过程中主要是通过函数createfile及createfilemapping直接建立磁盘文件,然后通过mapviewoffile函数映射到内存中,在后期的校验及设置操作中,只需要对该文件中的数据进行操作,即操作产品追溯码序号对应的字节中的bit位即可。该数据运算直接内存文件操作,简单而又极为快速。
最后应说明的是:以上仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种产品追溯码重复极速校验算法,其特征在于,包括创建文件S1、校验标准S2和校验流程S3;
S1:创建文件的操作步骤如下所示:
S11:使用多功能的函数createfile得到文件句炳;
S12:通过createfilemapping生成所有序号对应文件,每个字节Byte位置中含有8个位bit;每个bit位代表一个序号,该文件可表示所有序号状态;
S121:首先根据产品追溯码的序号规则,得到该产品追溯码使用的最大序号;
S122:该最大序号除以8,若有余数则加一个字节,即可得到当前所有bit位占用的字节(byte)数,即是对实际文件大小进行定义;
S123:每个字节(byte)中含有8个bit位;每个bit位代表一个序号,所有序号采用二进制文件存储;将所有的bit位按文件方式存储;从0开始到最后一个bit位即可覆盖所有的追溯码状态;
S13:mapviewoffile得到createfilemapping生成的文件,在内存中映射的首字节基地址指针;
S2:校验标准
步骤S12中定义的bit位上数据存储状态为产品追溯码的码状态,产品追溯码以一个Bit位来存储,bit位为0,表示该产品追溯码未使用,bit位为1,则标识该产品追溯码为已使用;
S3:校验流程
S31:首先获得需要校验产品追溯码的序号;
S32:将步骤S31中使用的序号除以8,整除部分为该产品追溯码在文件中的字节(Byte)位置;
S33:将步骤S31中使用的序号对8求模,可以得到该产品追溯码在该字节Byte中的Bit位置;读取该Bit位置的状态得到0或1,即可得到码是否重复;
S34:当设置该产品追溯码的状态时,将该Bit位值设置成对应值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811516723.1A CN109558377B (zh) | 2018-12-12 | 2018-12-12 | 一种产品追溯码重复极速校验算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811516723.1A CN109558377B (zh) | 2018-12-12 | 2018-12-12 | 一种产品追溯码重复极速校验算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109558377A CN109558377A (zh) | 2019-04-02 |
CN109558377B true CN109558377B (zh) | 2023-04-14 |
Family
ID=65869682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811516723.1A Active CN109558377B (zh) | 2018-12-12 | 2018-12-12 | 一种产品追溯码重复极速校验算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109558377B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110782263B (zh) * | 2019-11-04 | 2022-06-24 | 中国电子信息产业发展研究院 | 追溯数据的抓取、去重及修复方法 |
CN114824527A (zh) * | 2022-04-29 | 2022-07-29 | 楚能新能源股份有限公司 | 一种快速复原化成电池原始位置的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990076387A (ko) * | 1998-03-31 | 1999-10-15 | 김영환 | 격자복호기의 역추적장치 |
CN102142282A (zh) * | 2011-02-21 | 2011-08-03 | 北京理工大学 | 一种NAND Flash存储芯片ECC校验算法的识别方法 |
CN105184083A (zh) * | 2015-09-14 | 2015-12-23 | 南京延长科技有限公司 | 一种用于药械全程质量追溯的数字身份编码及其编码方法 |
WO2017107160A1 (zh) * | 2015-12-25 | 2017-06-29 | 研祥智能科技股份有限公司 | 基于异构混合内存的nvm坏块识别处理及纠错方法和系统 |
-
2018
- 2018-12-12 CN CN201811516723.1A patent/CN109558377B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990076387A (ko) * | 1998-03-31 | 1999-10-15 | 김영환 | 격자복호기의 역추적장치 |
CN102142282A (zh) * | 2011-02-21 | 2011-08-03 | 北京理工大学 | 一种NAND Flash存储芯片ECC校验算法的识别方法 |
CN105184083A (zh) * | 2015-09-14 | 2015-12-23 | 南京延长科技有限公司 | 一种用于药械全程质量追溯的数字身份编码及其编码方法 |
WO2017107160A1 (zh) * | 2015-12-25 | 2017-06-29 | 研祥智能科技股份有限公司 | 基于异构混合内存的nvm坏块识别处理及纠错方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109558377A (zh) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558377B (zh) | 一种产品追溯码重复极速校验算法 | |
CN107516038B (zh) | 一种确定设备指纹的方法及装置 | |
RU2608464C2 (ru) | Устройство, способ и сетевой сервер для обнаружения структур данных в потоке данных | |
CN107454203A (zh) | 在分布式系统中生成唯一id的方法 | |
KR102111871B1 (ko) | 랜덤 문자열을 생성하기 위한 방법 및 장치 | |
CN109446202B (zh) | 标识符分配方法、装置、服务器和存储介质 | |
CN112817538B (zh) | 数据处理的方法、装置、设备和存储介质 | |
CN105701410A (zh) | 一种获得源代码中信息的方法、装置及系统 | |
CN111416880A (zh) | Ip地址的寻址方法及装置,计算机存储介质及电子设备 | |
CN101882216A (zh) | 构建数据指纹的方法、装置及电子设备 | |
CN103379145B (zh) | 信息处理的方法、设备和系统 | |
CN110647564A (zh) | Hive建表方法、电子装置及计算机可读存储介质 | |
CN103051480B (zh) | 一种dn的存储方法及dn存储装置 | |
CN110162309B (zh) | 参数校验方法及装置 | |
CN110806979B (zh) | 接口返回值的校验方法、装置、设备及存储介质 | |
CN112650777A (zh) | 数据仓库的制作方法、装置、终端设备及计算机存储介质 | |
CN111563529A (zh) | 一种数据类别属性表示方法及访问控制方法 | |
CN114090135B (zh) | 具有纠错功能且支持跨平台调用组件的方法和装置 | |
CN115967604A (zh) | 报文传输方法、装置、电子设备及计算机可读存储介质 | |
CN112445800A (zh) | 一种数据流水号的生成方法、系统及电子设备 | |
WO2022061760A1 (en) | Can address assignment | |
CN111046628A (zh) | 一种芯片唯一id生成方法 | |
CN114006819A (zh) | 一种检测策略生成及装置、数据传输方法及装置 | |
CN110682360B (zh) | Pcb板二维码加工方法以及装置 | |
CN116595101B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |