【技术实现步骤摘要】
一种生成凭证号的方法及系统
[0001]本申请涉及数据数量
,尤其涉及一种生成凭证号的方法及系统。
技术介绍
[0002]现有的ERP系统在为已有的凭证生成凭证号时,一般采用如下的方法进行:
[0003]事先建立一个可用凭证号表,称为号码池,凭证保存时,直接从号码池中取第一个号码作为凭证号使用。号码池中的号码由后台程序维护,因此,凭证号的唯一性和连续性完全由该维护程序来决定。维护程序需要预备一定量的凭证号在号码池中,并在号码被使用后及时从池中删除,当有凭证被删除或凭证号被修改时要及时回收凭证号到号码池。
[0004]但上述方法对维护程序提出了很高的要求,它必须确保号码池中号码能够实时且准确的反映当前凭证号的实际使用情况,且上述方法在高并发场景下,号码池容易更新不及时,从而导致取到重复号码。
技术实现思路
[0005]本申请实施例提供了一种生成凭证号的方法及系统,用于在高并发场景下,保证每个凭证所获取的凭证号的唯一性。
[0006]本申请实施例第一方面提供了一种生成凭证号的方法,包 ...
【技术保护点】
【技术特征摘要】
1.一种生成凭证号的方法,其特征在于,包括:获取多个并行来源的并行凭证,其中,每个凭证携带各自的凭证号;将所述并行凭证发送至伺服传送带,以使得所述伺服传送带将所述并行凭证串行化,生成串行凭证;从所述串行凭证中取出预设数量的多个凭证,利用整合器将所述多个凭证整合为一个处理集合;判断所述处理集合中每个凭证的凭证号与数据库中已有的凭证号是否重复;若是,则获取与已有凭证号重复的第一凭证;调用可用凭证号生成算法,为所述第一凭证生成与已有凭证号非重复的第一凭证号。2.根据权利要求1所述的方法,其特征在于,在所述获取与已有凭证号重复的第一凭证之后,在所述调用可用凭证号生成算法,为所述第一凭证生成与已有凭证号非重复的第一凭证号之前,所述方法还包括:判断所述处理集合中的凭证号是否同时被多个服务器处理,其中每个服务器只存在一个凭证号处理器实例;若是,则启动数据库锁,以对所述串行凭证所在的数据文件执行锁定操作,以使得所述串行凭证的凭证号同一时间只被一个服务器处理。3.根据权利要求2所述的方法,其特征在于,在所述启动数据库锁之后,在所述调用可用凭证号生成算法,为所述第一凭证生成与已有凭证号非重复的第一凭证号之前,所述方法还包括:判断所述第一凭证所在的区分名目是否相同,其中,所述区分名目包括所述第一凭证所在的数据文件、所述第一凭证隶属的时间区间和所述第一凭证的类别;若否,则将所述第一凭证按照所述区分名目执行分组,以将所述第一凭证划分为至少两个独立小组,其中,所述至少两个独立小组中的凭证号可以重复。4.根据权利要求3所述的方法,其特征在于,所述调用可用凭证号生成算法,为所述第一凭证生成与已有凭证号非重复的第一凭证号,包括:调用所述可用凭证号生成算法和断号生成算法,为每...
【专利技术属性】
技术研发人员:尹科峰,刘晓辉,王志远,
申请(专利权)人:金蝶云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。