具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
物料需求计划(Material Requioement Planning,MRP),是一种工业制造企业内物资计划管理模式。在物料需求计划中通常涉及需求数据、采购数据以及库存数据,当任意一项影响物料需求计划的数据记录发生变化时,均需要针对每一数据记录进行物料需求计划更新处理,以使物料需求计划尽可能与实际的需求匹配。因此,在数据记录的变更数量较大时,会导致MRP的计算量比较大且复杂,因此,通常会在空闲的时间段如晚上等针对所有的数据记录进行统一的物料需求计划更新处理。此时,数据变更和更新处理间隔较长,导致物料需求计划更新不够及时。因此,本申请提出一种物资需求计划的数据处理方法、设备及存储介质,旨在提升物料需求计划更新的及时性。
第一方面,参照图1所示,本申请实施例提出的物资需求计划的数据处理方法,包括:
步骤S100、以预设的时间段为一个周期,周期获取时间段内的至少一项物料数据处理请求。
需说明的是,预设的时间段可以根据服务器计算的能力、数据库在历史时间段内数据更新的频率间隔、项目需求变化规律进行综合设置。每个物料数据处理请求对应至少一项第二物料记录的更新,示例性的,库存数据中的物料A的数量改变了,则会产生一条物料数据处理请求,又如,项目1对于物料A的需求数量变更了,则会产生一条物料数据处理请求。
需说明的是,用于获取物料处理请求的周期可以动态设置,如人为通过界面设置,或者配置文件动态加载等,对此,本申请实施例不做限制。
步骤S200、对至少一项物料数据处理请求进行归类汇总处理,得到至少一项第一物料记录,其中,第一物料记录对应一种物料。
需说明的是,归类汇总处理是按照预设的归类维度对第二物料记录进行合并处理,以减少同一类物料的触发的计算次数,相对于对每一变更的第二物料记录进行计算的方式,本申请的实施例能降低MRP计算的频次,减少对系统的占用时间。
需说明的是,在一些实施例中物料数据处理请求包括对应项目需求表的物料数据处理请求、对应库存表的物料数据处理请求、对应采购单的物料数据处理请求、对应生产订单的物料数据处理请求的数据类型中的任一数据处理请求,归类汇总处理表示分别对来源于同一数据表或者不同数据表的同类型的物料数据处理请求进行归类后汇总,具体的,包括对应项目需求表的物料数据处理请求进行归类、对应生产订单的物料数据处理请求归类、对对应库存表的物料数据处理请求进行归类,对对应采购单的物料数据处理请求进行归类等,进而得到不同数据类型下的第一物料记录。以项目需求表为例,在07:01,项目1对物料A的需求量为100,07:02项目2对物料A的需求量为20,07:03,项目3对物料A的需求量为10;此时,进行归类汇总处理后,得到的第一条物料记录表示物料A新增的总需求量。在另一些实施例中,归类汇总处理表示对物料数据处理请求进行总汇总,如对于物料A来说,采购单中对应有物料数据处理请求,项目需求表中也对应有物料数据处理请求,此时归类汇总处理后,对于对应物料A的第一物料记录而言,其汇总有项目需求信息、采购信息、库存数据、生产订单数据。
步骤S300、将至少一项第一物料记录存储在缓存库中。
需说明的是,将第一物料记录存储在缓存库中后,可以使得MRP计算和归类汇总处理可以分为独立的两个流程,减少周期归类汇总对MRP计算的影响,同时可以释放部分内存,对于物料需求计划作为一个子模块的物料管理平台,能减少归类汇总、MRP计算对物料管理平台的其他子模块的影响。
步骤S400、根据缓存库中的第一物料记录进行MRP计算,得到与时间段对应的MRP计划。
需说明的是,对于MRP计算,是单独的一个任务进行处理,在每一次处理时,可以一次性将一个时间段内对应的所有第一物料记录提取出来分别计算,也可以分批次提出直至一个时间段内对应的所有第一物料记录提取完。对此,本申请实施例不做限制。优选的,本申请实施例中,在每一次进行MRP计算时,一次性将时间段内对应的所有第一物料记录提取出来,减少相邻两次MRP计算的影响。
需说明的是,每一次MRP计算是基于前一次的MRP计划对第一物料进行重分配处理和更新。重分配处理表示对第一物料记录中的物料进行重新分配以及对前一MRP计划中对应的相同物料进行重新分配。第一物料记录汇总了相对于前一次MRP计算对应物料类型的增量汇总数据信息,因此,在一些实施例中,在确认待分配的目标对象后,即可以基于前一次的MRP计划和当前的增量汇总数据信息对目标对象重新进行分配,得到当前的MRP计划。此时,每一时间段对应有一次MRP计划的更新,因此,相应的减少了重新分配的次数,降低了MRP计算时占用的内存的时长以及单次计算的内存容量,使得整个MRP数据处理过程中的效率更高,提升物料需求计划更新的及时性。
因此,通过归类汇总处理,去除对同类物料的记录数量,得到数量较少的用于MRP计算的第一物料记录,进而可以减少物料数据处理请求对应的MRP计算的次数,因此,可以缩短相邻两个周期对应的MRP计划计算的间隔。同时,将汇总后得到的第一物料记录会缓存在缓存库中,使得归类汇总处理和MRP计算可以分开计算,以减少汇总处理与MRP计算之间的相互影响,进而提升响应物料变更的效率。因此,本申请实施例的数据处理方法通过减少同类物料记录触发的MRP计算次数以及将MRP计算前的数据处理和MRP计算分开,提升物料需求计划更新的及时性,因此,和相关技术相比,本申请实施例的物资需求计划的数据处理方法、设备及存储介质,能提升物料需求计划更新的及时性。
需说明的是,在一些实施例中,计算出的MRP计划,会更新到数据库中对应的MRP表中,取料时,可以根据数据库中记录的MRP计划,判断是否能允许取料。
可理解的是,步骤S200、对至少一项物料数据处理请求进行归类汇总处理,得到至少一项第一物料记录,包括:以预设的物料分类属性对物料数据处理请求中第二物料记录进行分类,得到至少一项物料记录集;对每一物料记录集中的所有第二物料记录进行归一汇总,得到与物料记录集一一对应的第一物料记录;将物料记录集中时间为最早的第一物料计划时间作为第一物料记录的第二物料计划时间。
需说明的是,每个第二物料记录均包含有对应的物料更新的时间。第一物料计划时间表示变化最早的第二物料记录更新的时间,如变化最早的第二物料记录录入数据库的时间。第二物料计划时间表示第一物料记录更新的时间。需说明的是,在一些实施例中,分类表示对同一数据类型的进行分类,如均属于项目需求表中的数据,则表示同一数据类型。在另一些实施例中,分类表示对所有具有同一物料分类属性的第二物料记录进行汇总,优选的,本申请实施例中,对同一数据类型进行分类。
需说明的是,在一些实施例中,会对每一物料记录集按照更新的时间从早到晚进行排序,然后将最早的一条记录对应的第一物料计划时间作为第一物料记录的第二物料计划时间。在另一些实施例中,也可以不做排序,仅对时间进行比较得到最早的第一物料计划时间。
需说明的是,物料分类属性可以设置为物料类型或者物料条码。物料分类属性可以通过动态设置,可以针对不同的物料设置不同的物料分类属性。示例性的,如物料A、物料B之间为可替代的,即具备相同的应用功能,则可以采用物料类型进行作为归类,物料C、物料D之间互不可替代,采用物料条码进行分类。对此,本申请实施例对物料分类属性的设置不做限制。
示例性的,参照图2所示,至少一项物料数据处理请求包括第二物料记录1至n,分类后,得到了3组物料记录集,分别为物料记录集1(对应第二物料记录1至m1)、物料记录集2(对应第二物料记录m1+1至m2)、物料记录集3(对应第二物料记录m2+1至n);假设对于物料记录集3而言,其第二物料记录k的第一物料计划时间tk最早,则表示物料记录集3中的其他第二物料记录均是在该tk之后。
可理解的是,在进行归一汇总之后,方法还包括:对物料记录集中不含第一物料计划时间的第二物料记录进行标注,以使用户根据标注得到对应的物料处理进度。
需说明的是,标注包括对该第二物料记录设置处理状态和时间,时间用于记录归一汇总后的时间。当用户在查询对应的第二物料记录时,可以查看到对应的标注信息,进而可以跟踪到物料处理进度。
示例性的,假设对于物料记录集3而言,其第二物料记录k的第一物料计划时间tk最早,则会对物料记录集3中除第二物料记录k以外的其他第二物料记录进行标注。
可理解的是,在进行标注后,方法还包括:将已标注的第二物料记录保存至预设的已处理数据库,以从已处理数据库查询得到对应的物料处理进度。
需说明的是,由于已处理数据库记录的信息量更少,在查询时,通过在已处理数据库查询,查询效率更高。
可理解的是,参照图3所示,步骤S400、根据缓存库中的第一物料记录进行MRP计算,得到与时间段对应的MRP计划,包括:
步骤S410、从缓存库中,按照预设数量对时间段对应的至少一项第一物料记录进行分批次处理,得到至少一项物料记录处理集。
步骤S420、对物料记录处理集进行重分配处理,得到MRP计划。
需说明的是,重分配处理表示对第一物料记录中的物料进行重新分配以及对前一MRP计划中对应的相同物料进行重新分配。
需说明的是,由于第一物料记录对应一种物料,将第一物料记录按预设数量分批次处理,能提升单次计算的效率,进而提升整个MRP计算的效率。
需说明的是,采用分批次计算,单次计算的效率更高,进而能提升整个MRP计算的效率。
可理解的是,步骤S400、根据缓存库中的第一物料记录进行MRP计算,得到与时间段对应的MRP计划,包括:从缓存库中,按照预设的时间间隔对时间段对应的至少一项第一物料记录进行分批次提取,得到与时间间隔一一对应的物料记录处理集;对物料记录处理集进行重分配处理,得到MRP计划。
需说明的是,时间间隔可以由用户定义或者是系统性能确定,每个时间间隔取出的第一物料记录的数量可以相同也可以不同。因此,对于本申请实施例而言,用于分批次处理的基准可以为时间间隔,可以为数量,或者是时间间隔和数量。示例性的,假设时间段对应的周期处理得到了10个第一物料记录保存在缓存库中,每间隔3S取一次数据,则可以前3个3S取3个第一物料记录,后一个取1个实现分批次处理,也可以是结合性能,判断当前时间间隔内能计算的最大的条数,进而判断每一个时间间隔能取的数量,对此,本申请实施例不做限制。
可理解的是在得到MRP计划之后,方法还包括:根据预设的排序规则,锁定MRP计划,以使MRP计划中低优先级的MRP记录的物料在高优先级的MRP记录之后领取物料。
需说明的是,排序规则可以人为动态设定,也可以以项目交期、项目重要程度、物料回产时间等条件进行优先级排序,对此,本申请实施例不做限制。
示例性的,假设当前物料A库存为100,补料为20。对于项目A来说,在07:20,需要100个物料A,对于项目B来说,在07:30,需要20个物料A,对于项目C来说,在08:20,需要10个物料A,如果未进行MRP计划锁定,则此时项目C、项目B均有可能提前在项目A之前取得物料,导致当前库存无法满足优先级高的A项目,A项目仍需要等待一段时间才能领取物料,不满足实际的应用需求。因此,通过对每一次计算出的MRP计划进行锁定使得实际的领料与MRP更匹配,符合实际的物料管理需求。
可理解的是,对物料记录处理集进行重分配处理,得到MRP计划,包括:根据预设的排序规则对物料记录处理集进行重分配处理,得到MRP计划。
可理解的是,预设数量通过如下步骤得到:获取当前用于MRP计算的计算资源;根据计算资源确定预设数量。
需说明的是,计算资源为承载MRP计算的服务器的硬件资源,包括内存、服务器数量以及性能等。
可理解的是,至少一项物料数据处理请求通过如下步骤生成:判断预设的数据库中是否存在与预设的数据类型匹配的第一变更数据,生成与第一变更数据对应的物料数据处理请求;判断预设的数据库中是否存在与预设的物料管理属性匹配的第二变更数据,生成与第二变更数据对应的物料数据处理请求。
需说明的是,第一变更数据表示在数据类型有新增或减少时,从该数据类型匹配的数据表中所有数据记录中提取到的用于MRP计算的物料信息;第二变更数据表示在数据库的记录的物料记录的物料管理属性产生变化时,从该物料记录中提取到的用于MRP计算的物料信息。
需说明的是,数据库中记录了影响MRP计算的各项数据。参照图4所示,数据库中记录了多个不同数据类型的数据表,如采购数据、入库数据、项目需求数据以及生产订单数据。其中,数据类型表示数据表的类型,当其中一个数据类型存在变更,如新增了入库数据表或者新增了采购数据表,或者新增了项目需求数据表或者整个入库数据表更新了,则会生成一个对应的物料数据处理请求,该物料数据处理请求中包含至少一项第二物料记录。
需说明的是,物料管理属性是用于区分物料的,MRP计算中是对物料进行分配管理,因此,当物料发生变化时,即需要重新计算。
需说明的是,可以通过更新操作实时触发物料数据处理请求,也可以通过较短的周期定时查询数据库中的更新记录,对此,本申请实施例不做限制。
可理解的是,物料管理属性包括物料类型和条码;判断预设的数据库中是否存在与预设的物料管理属性匹配的第二变更数据,生成与第二变更数据对应的物料数据处理请求,包括:判断预设的数据库中是否存在物料类型匹配的第三变更数据,生成与第三变更数据对应的物料数据处理请求;判断预设的数据库中是否存在条码匹配的第四变更数据,生成与第四变更数据对应的物料数据处理请求。
需说明的是,第三变更数据表示在数据库的记录的物料记录的物料类型新增或减少时,从该物料记录中提取到的物料信息;第四变更数据表示在数据路记录的物料记录的条码新增或减少时,从该物料记录中提取到的物料信息;物料类型表示物料的型号信息,通常具有相近功能为同一型号,条码具有唯一标志性。
下面参照图4所示,以一个具体实施例描述本申请上述实施例的物资需求计划的数据处理方法。参照图4所示,当数据库中的采购数据、入库数据、项目需求数据、生产订单数据分别对应的数据表中存在物料类型、条码或者数据类型任一一项的物料记录发生变化,或者当前新增了采购数据、入库数据、项目需求数据或生产订单数据任一一种数据类型对应的数据表,则表示物料数据产生了变化,此时会生成物料数据对应的物料数据处理请求以按照预设的归类规则触发归类汇总处理,归类规则如物料类型或条码,具体的,对同一数据表类型来源的第二物料记录按照物料类型或条码进行归类,得到多个物料记录集。并对归类汇总得到的每一物料记录集按照数据变化时间排序,将每一物料记录集中变化时间最早的记录作为第一物料记录并在该第一物料记录上叠加其他第二物料记录的数据,然后对该周期内的除第一物料记录以外的其他的第二物料记录进行标注并存储在已处理数据库中。对于第一物料记录,将其缓存在预设的缓存库中,以预设的时间周期提取预设时间段对应的所有第一物料记录作为待计算物料数据(即每次一次性读取用于依次MRP计算的所有第一物料记录)。对待计算物料数据按照设定的分批次基准进行数据分批,得到多个物料记录处理集,当当前正在处理的物料记录处理集处理完后会接序处理下一待处理的物料记录处理集。对于每一物料记录处理集,会根据设定的MRP排序规则,对处理完的物料记录处理集进行MRP计算,并按照该排序规则锁定MRP计划。当所有的物料记录处理集处理完成后,会更新数据库中的MRP数据库。
可理解的是,根据本申请实施例提供的电子设备,包括:存储器、处理器、存储在存储器上并可在处理器上运行的程序以及用于实现处理器和存储器之间的连接通信的数据总线,程序被处理器执行时实现上述物资需求计划的数据处理方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
请参见图5,图5示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器501,可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器502,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器502可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器502中,并由处理器501来调用执行本申请实施例的物资需求计划的数据处理方法;
输入/输出接口503,用于实现信息输入及输出;
通信接口504,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;和,
总线505,在设备的各个组件(例如处理器501、存储器502、输入/输出接口503和通信接口504)之间传输信息;
其中处理器501、存储器502、输入/输出接口503和通信接口504通过总线505实现彼此之间在设备内部的通信连接。
可理解的是,根据本申请实施例提供的一种计算机存储介质,存储介质为计算机可读存储介质,用于计算机可读存储,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述物资需求计划的数据处理方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。