设备码写入方法、装置、可读存储介质及电子设备转让专利

申请号 : CN202310267245.X

文献号 : CN116010437B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙成思胡小辉

申请人 : 成都佰维存储科技有限公司

摘要 :

本发明公开一种设备码写入方法、装置、可读存储介质及电子设备,基于数据库事务机制根据设备码的使用状态从数据库表中读取目标设备码,将目标设备码写入NAS云盒子,并自动更新数据库表,所构建的数据库表中存储了设备码和其使用状态,在写码电脑需要写入时可以基于数据库事务机制从数据库表中确定哪些是已经被写入的设备码,哪些是还未被写入的设备码,然后确定出本次写入的目标设备码,将其写入NAS云盒子,数据库事务机制能够保证只有在一个事务完成后才会进行下一事务,避免多个写码事务同时进行,同时自动更新数据库表,保证了其中的设备码的使用状态始终为最新状态,从而保证写入设备码的唯一性。

权利要求 :

1.一种设备码写入方法,其特征在于,包括步骤:根据设备码和设备码的使用状态构建数据库表;

基于数据库事务机制根据所述设备码的使用状态从所述数据库表中读取目标设备码;

将所述目标设备码写入NAS云盒子,并自动更新所述数据库表;

所述基于数据库事务机制根据所述设备码的使用状态从所述数据库表中读取目标设备码包括:建立与所述数据库表对应的数据库的连接;

调用所述数据库的开启事务;

根据所述设备码的使用状态从所述数据库表中读取目标设备码;

所述将所述目标设备码写入NAS云盒子之后包括:调用所述数据库的结束事务。

2.根据权利要求1所述的一种设备码写入方法,其特征在于,所述建立与所述数据库表对应的数据库的连接包括:使用ADO方式连接所述数据库表对应的数据库。

3.根据权利要求1所述的一种设备码写入方法,其特征在于,所述设备码的使用状态包括未使用;

所述根据所述设备码的使用状态从所述数据库表中读取目标设备码包括:从所述数据库表中读取所述设备码的使用状态为所述未使用的设备码,并将其确定为目标设备码。

4.根据权利要求1所述的一种设备码写入方法,其特征在于,所述设备码的使用状态还包括已使用;

所述自动更新所述数据库表包括:

使用更新语句将所述数据库表中所述目标设备码的所述使用状态更新为所述已使用。

5.根据权利要求1所述的一种设备码写入方法,其特征在于,所述调用所述数据库的开启事务之后,所述根据所述设备码的使用状态从所述数据库表中读取目标设备码之前包括:判断是否接收到与所述开启事务对应的运行失败信息;

若是,则等待预设时间后,判断是否接收到与所述开启事务对应的运行成功信息,若接收到,则确定所述数据库事务开启完成。

6.根据权利要求1所述的一种设备码写入方法,其特征在于,所述将所述目标设备码写入NAS云盒子包括:将所述目标设备码写入NAS云盒子的存储芯片。

7.一种设备码写入装置,其特征在于,包括:构建表模块,用于根据设备码和设备码的使用状态构建数据库表;

读取模块,用于基于数据库事务机制根据所述设备码的使用状态从所述数据库表中读取目标设备码;

写入模块,用于将所述目标设备码写入NAS云盒子,并自动更新所述数据库表;

所述基于数据库事务机制根据所述设备码的使用状态从所述数据库表中读取目标设备码包括:建立与所述数据库表对应的数据库的连接;

调用所述数据库的开启事务;

根据所述设备码的使用状态从所述数据库表中读取目标设备码;

所述将所述目标设备码写入NAS云盒子之后包括:调用所述数据库的结束事务。

8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的一种设备码写入方法中的各个步骤。

9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的一种设备码写入方法中的各个步骤。

说明书 :

设备码写入方法、装置、可读存储介质及电子设备

技术领域

[0001] 本发明涉及数据处理技术领域,尤其涉及一种设备码写入方法、装置、可读存储介质及电子设备。

背景技术

[0002] 设备码起到标识设备的作用,现有技术中,通常在产线上会使用多台终端电脑根据NAS(Network Attached Storage,网络附着存储)云盒子设备码、网卡MAC设备码或显卡SN设备码清单进行设备码的写入,使得一台终端电脑中含有一个设备码,实现终端电脑与设备码的一一配对,但由于现有技术中只是给出一份包含多个设备码的设备码清单,终端电脑常常会出现写入重复现象,即多台终端电脑可能写入同一设备码,导致无法保证写入的设备码的唯一性。

发明内容

[0003] 本发明所要解决的技术问题是:提供一种设备码写入方法、装置、可读存储介质及电子设备,能够保证写入设备码的唯一性。
[0004] 为了解决上述技术问题,本发明采用的一种技术方案为:
[0005] 一种设备码写入方法,包括步骤:
[0006] 根据设备码和设备码的使用状态构建数据库表;
[0007] 基于数据库事务机制根据所述设备码的使用状态从所述数据库表中读取目标设备码;
[0008] 将所述目标设备码写入NAS云盒子,并自动更新所述数据库表。
[0009] 为了解决上述技术问题,本发明采用的另一种技术方案为:
[0010] 一种设备码写入装置,包括:
[0011] 构建表模块,用于根据设备码和设备码的使用状态构建数据库表;
[0012] 读取模块,用于基于数据库事务机制根据所述设备码的使用状态从所述数据库表中读取目标设备码;
[0013] 写入模块,用于将所述目标设备码写入NAS云盒子,并自动更新所述数据库表。
[0014] 为了解决上述技术问题,本发明采用的另一种技术方案为:
[0015] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种设备码写入方法中的各个步骤。
[0016] 为了解决上述技术问题,本发明采用的另一种技术方案为:
[0017] 一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种设备码写入方法中的各个步骤。
[0018] 本发明的有益效果在于:基于数据库事务机制根据设备码的使用状态从数据库表中读取目标设备码,将目标设备码写入NAS云盒子,并自动更新数据库表,所构建的数据库表中存储了设备码和其使用状态,在写码电脑需要写入时可以基于数据库事务机制从数据库表中确定哪些是已经被写入的设备码,哪些是还未被写入的设备码,然后确定出本次写入的目标设备码,将其写入NAS云盒子,数据库事务机制能够保证只有在一个事务完成后才会进行下一事务,避免多个写码事务同时进行,同时自动更新数据库表,保证了其中的设备码的使用状态始终为最新状态,从而保证写入设备码的唯一性。

附图说明

[0019] 图1为本发明实施例的一种设备码写入方法的步骤流程图;
[0020] 图2为本发明实施例的一种设备码写入装置的结构示意图;
[0021] 图3为本发明实施例的一种电子设备的结构示意图;
[0022] 图4为本发明实施例的设备码写入方法中读取目标设备码的示意图。

具体实施方式

[0023] 为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
[0024] 请参照图1,本发明实施例提供了一种设备码写入方法,包括步骤:
[0025] 根据设备码和设备码的使用状态构建数据库表;
[0026] 基于数据库事务机制根据所述设备码的使用状态从所述数据库表中读取目标设备码;
[0027] 将所述目标设备码写入NAS云盒子,并自动更新所述数据库表。
[0028] 从上述描述可知,本发明的有益效果在于:基于数据库事务机制根据设备码的使用状态从数据库表中读取目标设备码,将目标设备码写入NAS云盒子,并自动更新数据库表,所构建的数据库表中存储了设备码和其使用状态,在写码电脑需要写入时可以基于数据库事务机制从数据库表中确定哪些是已经被写入的设备码,哪些是还未被写入的设备码,然后确定出本次写入的目标设备码,将其写入NAS云盒子,数据库事务机制能够保证只有在一个事务完成后才会进行下一事务,避免多个写码事务同时进行,同时自动更新数据库表,保证了其中的设备码的使用状态始终为最新状态,从而保证写入设备码的唯一性。
[0029] 进一步地,所述基于数据库事务机制根据所述设备码的使用状态从所述数据库表中读取目标设备码包括:
[0030] 建立与所述数据库表对应的数据库的连接;
[0031] 调用所述数据库的开启事务;
[0032] 根据所述设备码的使用状态从所述数据库表中读取目标设备码;
[0033] 所述将所述目标设备码写入NAS云盒子之后包括:
[0034] 调用所述数据库的结束事务。
[0035] 由上述描述可知,在需要写入设备码时,写码电脑先建立与数据库的连接,以此能够获取数据库表中的数据,在读取设备码前,先调用数据库的开始事务,在写入之后,调用数据库的结束事务,同一时间只能有一个设备码被读取并写入,避免了并发访问导致的写入设备码重复的问题。
[0036] 进一步地,所述建立与所述数据库表对应的数据库的连接包括:
[0037] 使用ADO方式连接所述数据库表对应的数据库。
[0038] 由上述描述可知,使用ADO(ActiveX Data Objects,一种程序对象,用于表示用户数据库中的数据结构和所包含的数据)方式连接数据库表对应的数据库,利用其易于使用的特性能够简单快速地实现写码电脑与数据库的自动连接。
[0039] 进一步地,所述设备码的使用状态包括未使用;
[0040] 所述根据所述设备码的使用状态从所述数据库表中读取目标设备码包括:
[0041] 从所述数据库表中读取所述设备码的使用状态为所述未使用的设备码,并将其确定为目标设备码。
[0042] 由上述描述可知,将使用状态为未使用的设备码确定为目标设备码,以此避免了将被其他写码电脑写入NAS云盒子的设备码再次被写入,确保了写入设备码的唯一性。
[0043] 进一步地,所述设备码的使用状态还包括已使用;
[0044] 所述自动更新所述数据库表包括:
[0045] 使用更新语句将所述数据库表中所述目标设备码的所述使用状态更新为所述已使用。
[0046] 由上述描述可知,在设备码写入完成之后,使用更新语句可自动将设备码的使用状态从未使用更新为已使用,以此避免其他写码电脑再次将该设备码写入NAS云盒子中,实现了数据库表的及时更新,进而确保了写入设备码的唯一性。
[0047] 进一步地,所述调用所述数据库的开启事务之后,所述根据所述设备码的使用状态从所述数据库表中读取目标设备码之前包括:
[0048] 判断是否接收到与所述开启事务对应的运行失败信息;
[0049] 若是,则等待预设时间后,判断是否接收到与所述开启事务对应的运行成功信息,若接收到,则确定所述数据库事务开启完成。
[0050] 由上述描述可知,如果其他写码电脑已经开启事务,正在执行写码过程,此时写码电脑再开启事务,则会收到运行失败信息,只有其他写码电脑结束数据库事务后,写码电脑才能成功开启事务,避免有两个写码电脑同时进行写码操作时,可能读取到同一个设备码的情况,这样能够进一步地确保写入设备码的唯一性。
[0051] 进一步地,所述将所述目标设备码写入NAS云盒子包括:
[0052] 将所述目标设备码写入NAS云盒子的存储芯片。
[0053] 由上述描述可知,将目标设备码写入NAS云盒子的存储芯片,以此完成设备码的写入流程。
[0054] 请参照图2,本发明另一实施例提供了一种设备码写入装置,包括:
[0055] 构建表模块,用于根据设备码和设备码的使用状态构建数据库表;
[0056] 读取模块,用于基于数据库事务机制根据所述设备码的使用状态从所述数据库表中读取目标设备码;
[0057] 写入模块,用于将所述目标设备码写入NAS云盒子,并自动更新所述数据库表。
[0058] 本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种设备码写入方法中的各个步骤。
[0059] 请参照图3,本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种设备码写入方法中的各个步骤。
[0060] 本发明上述的设备码写入方法、装置、可读存储介质及电子设备能够适用于产线多台终端电脑同时写入设备码的场景,以下通过具体实施方式进行说明:
[0061] 实施例一
[0062] 数据库事务机制:
[0063] 在实际中存在并发访问数据的问题,比如当a在查询数据库里的某条记录时,同一时刻b对这条记录进行了修改,那么a就有可能读取到有问题的脏数据,数据库的事务机制,就是为了解决并发访问所产生的问题。
[0064] 事务的基本操作如下:
[0065] (1)开启一个事务。
[0066] (2)进行一系列的数据操作。
[0067] (3)提交或回滚事务,提交成功则将数据持久化到数据库,否则该事务中的所有数据操作全部无效。
[0068] 事务具备四个特性:原子性、一致性、隔离性、持久性(ACID原则)。
[0069] 原子性(Atomic):一个事务内的所有操作都是原子性的,要么全部成功,要么全部失败。
[0070] 一致性(Consistency):在完成一个事务操作后应该使数据库从一个一致性状态达到另一个一致性状态,比如在转账功能中,A转账给B一百元,那么B的账号增加一百元,而A的账号也应该减少一百元。一致性可以说是ACID原则中最基础的特性,其他三个特性都是为了保证一致性而存在的。
[0071] 隔离性(Isolation):不同事务之间的操作互不影响,数据库对于事务存在着不同的隔离级别。
[0072] 持久性(Durability):事务的操作一旦完成,必须持久化到数据库中。
[0073] 事务包括显式事务、隐式事务、自动提交事务。
[0074] 显式事务:用begin transaction 明确指定事务的开始,由commit transaction 提交事务、rollback transaction 回滚事务到事务结束。
[0075] 隐式事务:通过设置set implicit_transactions on 语句,将隐式事务模式设置为打开。当以隐式事务模式操作时,不必使用begin transaction 开启事务,当一个事务结束后,这个模式会自动启用下一个事务。只需使用commit transaction 提交事务或rollback transaction 回滚事务即可。
[0076] 自动提交事务:SQL Server的默认模式,它将每条单独的SQL语句视为一个事务。如果成功执行,则自动提交,否则回滚。
[0077] 请参照图1和图4,本实施例的一种设备码写入方法,包括步骤:
[0078] S1、根据设备码和设备码的使用状态构建数据库表;
[0079] 其中,所述设备码的使用状态包括未使用和已使用;
[0080] 在一种可选的实施方式中,将根据设备码和设备码的使用状态构建同一SqlServer数据库的表,如图4所示。
[0081] S2、基于数据库事务机制根据所述设备码的使用状态从所述数据库表中读取目标设备码,具体包括:
[0082] S21、建立与所述数据库表对应的数据库的连接;
[0083] 在一种可选的实施方式中,使用ADO方式连接所述数据库表对应的数据库。
[0084] S22、调用所述数据库的开启事务;
[0085] 在一种可选的实施方式中,调用begin transaction开启数据库事务,以此启动新的事务。
[0086] S23、判断是否接收到与所述开启事务对应的运行失败信息;
[0087] S24、若是,则等待预设时间后,判断是否接收到与所述开启事务对应的运行成功信息,若接收到,则确定所述数据库事务开启完成。
[0088] 所述预设时间可根据实际情况进行设置,也就是说,当A电脑写码时,调用数据库的开启事务,其他电脑调用数据库开启事务时会收到对应的运行失败信息,同时会排序等待A电脑结束事务,当A电脑结束事务后,其他电脑调用开启事务才可运行成功,确保了写入设备码的唯一性。
[0089] S25、根据所述设备码的使用状态从所述数据库表中读取目标设备码;
[0090] 具体的,从所述数据库表中读取所述设备码的使用状态为所述未使用的设备码,并将其确定为目标设备码,如图4所示。
[0091] S3、将所述目标设备码写入NAS云盒子,并自动更新所述数据库表,具体包括:
[0092] S31、将所述目标设备码写入NAS云盒子;
[0093] 具体的,将所述目标设备码写入NAS云盒子的存储芯片。
[0094] S32、调用所述数据库的结束事务;
[0095] 在一种可选的实施方式中,调用commit transaction结束数据库事务,以此保存所有更改并结束当前事务。
[0096] 本发明采用数据库事务机制进行原子操作,特别使用显式事务方式与数据库通讯,该方式更便于调用,使用更加便捷。
[0097] S33、自动更新所述数据库表;
[0098] 具体的,使用更新(update)语句将所述数据库表中所述目标设备码的所述使用状态更新为所述已使用。
[0099] 实施例二
[0100] 请参照图2,一种设备码写入装置,包括:
[0101] 构建表模块,用于根据设备码和设备码的使用状态构建数据库表;
[0102] 读取模块,用于基于数据库事务机制根据所述设备码的使用状态从所述数据库表中读取目标设备码;
[0103] 写入模块,用于将所述目标设备码写入NAS云盒子,并自动更新所述数据库表。
[0104] 实施例三
[0105] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现实施例一中设备码写入方法的各个步骤。
[0106] 实施例四
[0107] 请参照图3,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一中设备码写入方法的各个步骤。
[0108] 综上所述,本发明提供的设备码写入方法、装置、可读存储介质及电子设备,根据设备码和设备码的使用状态构建数据库表;基于数据库事务机制根据所述设备码的使用状态从所述数据库表中读取目标设备码;将所述目标设备码写入NAS云盒子,并自动更新所述数据库表;另外,在调用数据库的开启事务之后,读取目标设备码之前,还判断是否接收到与开启事务对应的运行失败信息,若是,则等待预设时间后,判断是否接收到与开启事务对应的运行成功信息,若接收到,则确定数据库事务开启完成,只有其他写码电脑结束数据库事务后,写码电脑才能成功开启事务,在写码电脑需要写入时可以基于数据库事务机制从数据库表中确定哪些是已经被写入的设备码,哪些是还未被写入的设备码,然后确定出本次写入的目标设备码,将其写入NAS云盒子,数据库事务机制能够保证只有在一个事务完成后才会进行下一事务,避免多个写码事务同时进行,同时自动更新数据库表,保证了其中的设备码的使用状态始终为最新状态,从而保证写入设备码的唯一性。
[0109] 在本申请所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0110] 所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。
[0111] 另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0112] 所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0113] 需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
[0114] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0115] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。