进销存软件中保证数据线程安全的方法技术

技术编号:21971142 阅读:30 留言:0更新日期:2019-08-28 01:25
本发明专利技术涉及计算机技术领域,尤其涉及一种进销存软件中保证数据线程安全的方法,在进销存软件数据库repeatable‑read级别中,整个业务流程中将一个业务单据作为一个原子事务单元,并将每个事务单元作为一个特征对象存放在一个自定义的队列中,按照一定顺序依次获取句柄执行对应业务;在集群中每个节点内部筛选出需要执行的业务单元后,将此单元的特征信息注册至zookeeper,实现数据的队列,按照先后依次执行业务单元。本方法专门针对进销存业务,在保证了商品库存数量,成本数据不会因为多线程的并发而产生错误的同时,还尽可能的提高了线程的可并发执行性,与传统的核心代码单线程执行的方式不同,极大的提高了进销存业务的执行效率。

The Method of Ensuring Data Thread Safety in Inventory Software

【技术实现步骤摘要】
进销存软件中保证数据线程安全的方法
本专利技术涉及计算机
,尤其涉及一种进销存软件中保证数据线程安全的方法。
技术介绍
进销存软件是对企业生产经营中物料流、资金流进行全程跟踪管理,涉及从接获订单合同开始,进入物料采购、入库、领用直至产品完工入库、交货、回收货款、支付原材料款等全部环节。进销存软件能有效辅助企业解决业务管理、分销管理、存货管理、营销计划的执行和监控、统计信息的收集等方面的业务问题。当进销存软件同时为多个用户提供服务时,核心数据的线程安全就是一个必须要解决的问题,否则当同时对同一商品进行操作时,难免会发生数据的错误,而数据的错误一旦发生,以后的数据都会一直错下去,因此必须使用加入线程安全的机制。目前,线程安全是通过语言层面的机制来保障的,主要的原理是当一段被标记为线程安全的代码被执行时,这个执行过程就进入一个顺序执行的模式,软件的运行环境保证了这段代码不会被同时执行,从而保证了代码中的数据不会产生错误,但这种保证线程安全的机制存在一定问题,特别是在这段代码逻辑的执行频率较高时,系统的运行效率会被该段代码无法并行执行所拖累。库存数据是进存销软件中最重要的基础数据,库存本文档来自技高网...

【技术保护点】
1.进销存软件中保证数据线程安全的方法,应用于商品库存数据及成本数据,该方法特征在于将数据库事务级别设置为“可重复读repeatable‑read”,实现步骤如下:1)识别进销存业务中的原子事务单元,有任何不合法信息则对整个事务单元都进行回滚操作;2)依据租户命名空间创建租户级别队列,队列使用LinkedList实现;每个租户在使用的过程中都会单独创建自己的执行队列;3)录入特定的原子事务单元请求,将特定原子事务单元业务作为特征对象通过动态代理,存放到对应的队列中;4)队列等待算法,获取队列后将当前特征单元A追加到队列末尾,同时开始循环查找之前的元素是否存在特征单元B含有重复的同步id。

【技术特征摘要】
1.进销存软件中保证数据线程安全的方法,应用于商品库存数据及成本数据,该方法特征在于将数据库事务级别设置为“可重复读repeatable-read”,实现步骤如下:1)识别进销存业务中的原子事务单元,有任何不合法信息则对整个事务单元都进行回滚操作;2)依据租户命名空间创建租户级别队列,队列使用LinkedList实现;每个租户在使用的过程中都会单独创建自己的执行队列;3)录入特定的原子事务单元请求,将特定原子事务单元业务作为特征对象通过动态代理,存放到对应的队列中;4)队列等待算法,获取队列后将当前特征单元A追加到队列末尾,同时开始循环查找之前的元素是否存在特征单元B含有重复的同步id。2.如权利要求1中所述的进销存软件中保证数据线程安全的方法,其特征在于步骤3)中特征对象具备以下属性:线程计数器,即监控当前原子事务单元排队的前一个单元是否被释放;同步id集合,即产生并发数据问题的数据标识;执行者id,即绑定的线程名称,标识在执行的线程。3.如权利要求...

【专利技术属性】
技术研发人员:王航赵俊辉
申请(专利权)人:上海有谱网络科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1