WO2023184320A1 - 生产排程方法、系统、电子设备和存储介质 - Google Patents

生产排程方法、系统、电子设备和存储介质 Download PDF

Info

Publication number
WO2023184320A1
WO2023184320A1 PCT/CN2022/084352 CN2022084352W WO2023184320A1 WO 2023184320 A1 WO2023184320 A1 WO 2023184320A1 CN 2022084352 W CN2022084352 W CN 2022084352W WO 2023184320 A1 WO2023184320 A1 WO 2023184320A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
data
scheduled task
version information
scheduled
Prior art date
Application number
PCT/CN2022/084352
Other languages
English (en)
French (fr)
Inventor
鲁斋
林雪梅
苏谢明
李洋
刘希迅
刘楠
王川
刘贵豪
张华�
吴建民
王洪
Original Assignee
京东方科技集团股份有限公司
北京中祥英科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 京东方科技集团股份有限公司, 北京中祥英科技有限公司 filed Critical 京东方科技集团股份有限公司
Priority to CN202280000618.0A priority Critical patent/CN117480511A/zh
Priority to PCT/CN2022/084352 priority patent/WO2023184320A1/zh
Publication of WO2023184320A1 publication Critical patent/WO2023184320A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Definitions

  • the present disclosure relates to the technical field of production scheduling, and specifically to a production scheduling method, a production scheduling system, electronic equipment, storage media and computer program products.
  • the present disclosure provides a product production scheduling method, system, electronic equipment, storage media and computer program products.
  • a production scheduling method including: in response to creating a first scheduled task, acquiring scheduling data; receiving configuration information for the first scheduled task; and based on the acquired schedule The data is used to establish a data snapshot with data version information, wherein the data model and configuration information for the first scheduled task are used for the execution of the first scheduled task.
  • the method further includes: using the established data snapshot to generate a data model for the first scheduled task; and using the data model and configuration information for the first scheduled task to execute the first scheduled task. .
  • establishing a data snapshot with data version information based on the acquired schedule data includes: generating data version information for the acquired schedule data; merging the data version information with the acquired schedule data. Combined into a data snapshot.
  • the first scheduled task has task version information
  • the method further includes: before establishing a data snapshot with data version information based on the acquired scheduling data, by converting the first scheduled task to Comparing the task version information with currently stored task version information to determine whether the first scheduled task is executable, wherein execution in response to determining that the first scheduled task is executable is established based on the acquired schedule data Operations on data snapshots with data version information.
  • determining whether the first scheduled task is executable by comparing the task version information of the first scheduled task with currently stored task version information includes: if the mutual exclusion flag bit is currently stored in The task version information of is consistent with the task version information of the first scheduled task, then it is determined that the first scheduled task is executable; if the task version information currently stored in the mutually exclusive flag bit is consistent with the task version information of the first scheduled task If they are inconsistent, it is determined that the first scheduled task is not executable.
  • determining whether the first scheduled task is executable by comparing the task version information of the first scheduled task with currently stored task version information also includes: if the mutual exclusion flag bit is empty , then the task version information of the first scheduled task is stored in the flag bit.
  • the method further includes: after determining that the first scheduled task is executable and before establishing a data snapshot with data version information, clearing the scheduled task associated with the currently stored task version information log information.
  • the method further includes: associating and storing task version information for the first scheduled task, configuration information for the first scheduled task, and data version information for the first scheduled task.
  • the method further includes: in response to creating the second scheduled task, receiving data version information for the second scheduled task and configuration information for the second scheduled task; from a previously established data snapshot , extract a data snapshot that matches the received data version information; generate a data model for the second scheduled task based on the extracted data snapshot, wherein the data model and configuration information for the second scheduled task are used Execution of the second scheduled task.
  • the method further includes: using the data model for the second scheduled task and the configuration information for the second scheduled task to execute the second scheduled task.
  • the second scheduled task has task version information
  • the method further includes: before extracting a data snapshot that matches the received data version information, by combining the task version information of the second scheduled task with the received data version information. Comparing currently stored task version information to determine whether the second scheduled task is executable, wherein extracting a data snapshot matching the received data version information is performed in response to determining that the second scheduled task is executable. operate.
  • determining whether the second scheduled task is executable by comparing the task version information of the second scheduled task with currently stored task version information includes: if the mutual exclusion flag bit is currently stored in The task version information of is consistent with the task version information of the second scheduled task, then it is determined that the second scheduled task is executable; if the task version information currently stored in the mutual exclusion flag bit is consistent with the task version information of the second scheduled task If they are inconsistent, it is determined that the second scheduled task is not executable.
  • determining whether the second scheduled task is executable by comparing the task version information of the second scheduled task with currently stored task version information also includes: if the mutual exclusion flag bit is empty , then the task version information of the second scheduled task is stored in the flag bit.
  • the method further includes: after determining that the second scheduled task is executable and before extracting a data snapshot matching the received data version information, clearing the currently stored task version information associated with it Log information of production scheduling tasks.
  • the method further includes: associating and storing task version information for the second scheduled task, configuration information for the second scheduled task, and data version information for the second scheduled task.
  • a production scheduling system for executing a production scheduling method according to an embodiment of the present disclosure.
  • the production scheduling system includes: a stored process engine, configured to create a first schedule in response to Task, obtain schedule data; receive configuration information for the first scheduled task; establish a data snapshot with data version information based on the obtained schedule data; use the established data snapshot to generate a data snapshot for the first scheduled task A data model, wherein the data model and configuration information for the first scheduled task are used for the execution of the first scheduled task; a temporary database for storing the obtained scheduling data; a basic database, and the temporary storage Database communication connection, used to store data snapshots; modeling conversion database, communication connection with the basic database, used to store data models.
  • the system further includes: a scheduling engine configured to execute the first scheduled task using the data model and configuration information for the first scheduled task.
  • the stored process engine is further configured to receive data version information for the second scheduled task and configuration information for the second scheduled task in response to creating the second scheduled task, A data snapshot matching the received data version information is extracted from the previously established data snapshot, and a data model for the second scheduled task is generated based on the extracted data snapshot.
  • the scheduling engine is further configured to execute the second scheduled task using a data model for the second scheduled task and configuration information for the second scheduled task.
  • the user can also select configuration information for the second scheduled task from multiple configuration information CFG_MP_20211101_001, CFG_MP_20211201_002 and CFG_MP_20211203_003 as shown in Table 3, for example, select CFG_MP_20211101_001 as the configuration information to be used by the second scheduled task. .
  • Embodiments of the present disclosure also provide a production scheduling system.
  • the production scheduling system will be described below with reference to Figure 5 .
  • the stored process engine 501 may obtain schedule data in response to creating the first scheduled task, receive configuration information for the first scheduled task, establish a data snapshot with data version information based on the obtained schedule data, and use the obtained schedule data. Create a data snapshot to generate a data model for the first scheduled task.
  • the production scheduling system may further include a scheduling engine 502.
  • the scheduling engine 502 communicates with the stored process engine 501 through the gateway 508.
  • the scheduling engine 502 may execute the first scheduled task using the data model and configuration information for the first scheduled task.
  • the scheduling engine 502 can be a T3SupplyNet scheduling engine, which is a background program used for production scheduling, and can be used for example but not limited to basic data inspection and production, production plan simulation, planning report analysis, factory capacity utilization analysis, etc. wait.
  • the stored process engine 501 may further receive data version information for the second scheduled task and configuration information for the second scheduled task in response to creating the second scheduled task, from the previous Extract a data snapshot that matches the received data version information from the established data snapshots, and generate a data model for the second scheduled task based on the extracted data snapshot.
  • the scheduling engine 502 may also use the data model for the second scheduled task and the configuration information for the second scheduled task to execute the second scheduled task.
  • the above-mentioned production scheduling system may further include a scheduling database 506.
  • the scheduling database 506 is communicatively connected to the modeling conversion database 505 and is used to store data for use by the scheduling engine 502.
  • the scheduling database 506 can also be used to store data from the scheduling engine 502, such as various data generated by the scheduling engine 502 during processing.
  • the above-mentioned production scheduling system may further include a manager 507, a user database 511 and a user interaction engine 512.
  • the user interaction engine 512 is used to implement human-computer interaction. In some embodiments, it can be implemented as a user interaction interface (UI, User Interface) or a terminal device with a user interaction interface display function, such as a client.
  • UI user interaction interface
  • the user interaction engine 512 is configured to receive configuration information and/or data version information input by the user.
  • the user database 511 is communicatively connected with the user interaction engine 512 and the basic database 504, and is used to store user information and user permissions.
  • the manager 507 is used to perform the highest authority operations in the production scheduling system.
  • the stored process engine 501 can obtain the schedule data from the temporary database 503, receive the configuration information input by the user through the user interaction engine 512, and create a data version based on the schedule data.
  • a data snapshot of the information is stored in the base database 504 , and a data model is generated using the data snapshot and stored in the modeling transformation database 505 .
  • the data model in the modeling conversion database 505 can be converted into data suitable for the optimizer engine 509 and stored in the optimizer database 510, and can also be converted into data suitable for the scheduling engine 502 and stored in the scheduling database. 506 in.
  • the scheduling engine 502 may obtain the data model and configuration information for the first scheduled task from the scheduling database 506 to execute the first scheduled task. In this way, the execution of the first scheduled task is completed.
  • a data snapshot with a data version number is created and stored in the basic database 504 for subsequent use.
  • the stored process engine 501 may receive the data version information input by the user for the second scheduled task and the configuration information for the second scheduled task through the user interaction engine 512 .
  • the stored process engine 501 may extract a data snapshot that matches the received data version information from the basic database 504, generate a data model for the second scheduled task based on the extracted data snapshot, and store it in the modeling conversion database 505. middle.
  • the scheduling engine 502 may execute the second scheduled task using the data model for the second scheduled task and the configuration information for the second scheduled task.
  • the stored process engine 501 can perform user interaction on the first scheduled task and the second scheduled task to obtain the user Configuration information and/or data version information entered respectively for the first scheduled task and the second scheduled task. Then the stored procedure engine 501 generates a data model for the first scheduled task in a manner similar to the above, and the scheduling engine 502 executes the first scheduled task based on the data model and configuration information of the first scheduled task. After completing the execution of the first scheduled task, the stored process engine 501 generates a data model for the second scheduled task in a manner similar to the above, and the scheduling engine 502 generates a data model based on the data model and configuration information of the second scheduled task. Execute the second scheduled task.
  • the schedule data obtained in the above process is stored in the temporary database 503
  • the generated data snapshot is stored in the basic database 504
  • the generated data model is stored in the modeling conversion database 505 .
  • the optimizer engine 509 and the scheduling engine 502 may work together during the execution of scheduled tasks (including the first scheduled task and the second scheduled task).
  • the optimizer engine 509 can be used to perform preliminary scheduling
  • the scheduling engine 502 can be used to perform fine scheduling, thereby improving the accuracy of the scheduling results.
  • the optimizer engine 509 can be used to perform preliminary scheduling of products based on the linear programming solution model to obtain multiple first entries. Each first entry includes the product's production date, production quantity and corresponding Production resources, etc., the constraints and objective functions for the bottleneck process in the linear programming solution model can be determined based on the configuration information.
  • the collection, storage, use, processing, transmission, provision and disclosure of user personal information are in compliance with relevant laws and regulations and do not violate public order and good customs.
  • the user's authorization or consent is obtained before obtaining or collecting the user's personal information.
  • an electronic device 600 includes a processor 601 that can be loaded into a random access memory (RAM) 603 according to a program stored in a read-only memory (ROM) 602 or from a storage part 608 program to perform various appropriate actions and processes.
  • processor 601 may include, for example, a general purpose microprocessor (eg, CPU), an instruction set processor and/or associated chipset, and/or a special purpose microprocessor (eg, application specific integrated circuit (ASIC)), or the like.
  • Processor 601 may also include onboard memory for caching purposes.
  • the processor 601 may include a single processing unit or multiple processing units for performing different actions of the method flow according to the embodiment of the present disclosure.
  • the processor 601, ROM 602 and RAM 603 are connected to each other through a bus 604.
  • the processor 601 performs various operations according to the method flow of the embodiment of the present disclosure by executing programs in the ROM 602 and/or RAM 603. It should be noted that the program may also be stored in one or more memories other than ROM 602 and RAM 603.
  • the processor 601 may also perform various operations according to the method flow of embodiments of the present disclosure by executing programs stored in the one or more memories.
  • the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, but is not limited to, portable computer disks, hard disks, random access memory (RAM), and read-only memory (ROM). , erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • a computer-readable storage medium may be any tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device.
  • the computer-readable storage medium may include one or more memories other than ROM 602 and/or RAM 603 and/or ROM 602 and RAM 603 described above.
  • the computer program may rely on tangible storage media such as optical storage devices and magnetic storage devices.
  • the computer program can also be transmitted and distributed in the form of a signal on a network medium, and downloaded and installed through the communication part 609, and/or installed from the removable medium 611.
  • the program code contained in the computer program can be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
  • the computer program may be downloaded and installed from the network via communication portion 609, and/or installed from removable media 611.
  • the computer program is executed by the processor 601, the above-described functions defined in the system of the embodiment of the present disclosure are performed.
  • the systems, devices, devices, modules, units, etc. described above may be implemented by computer program modules.
  • the program code for executing the computer program provided by the embodiments of the present disclosure may be written in any combination of one or more programming languages. Specifically, high-level procedural and/or object-oriented programming may be utilized. programming language, and/or assembly/machine language to implement these computational procedures. Programming languages include, but are not limited to, programming languages such as Java, C++, python, "C" language or similar programming languages.
  • the program code may execute entirely on the user's computing device, partly on the user's device, partly on a remote computing device, or entirely on the remote computing device or server.
  • the remote computing device may be connected to the user computing device through any kind of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device, such as provided by an Internet service. (business comes via Internet connection).
  • LAN local area network
  • WAN wide area network
  • Internet service business comes via Internet connection
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of code that contains one or more logic functions that implement the specified executable instructions.
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown one after another may actually execute substantially in parallel, or they may sometimes execute in the reverse order, depending on the functionality involved.
  • each block in the block diagram or flowchart illustration, and combinations of blocks in the block diagram or flowchart illustration can be implemented by special purpose hardware-based systems that perform the specified functions or operations, or may be implemented by special purpose hardware-based systems that perform the specified functions or operations. Achieved by a combination of specialized hardware and computer instructions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了一种生产排程方法、系统、电子设备、存储介质和计算机程序产品。方法包括:响应于创建第一排程任务,获取排程数据(S110);接收针对第一排程任务的配置信息(S120);基于获取的排程数据来建立具有数据版本信息的数据快照(S130);使用建立的数据快照来生成针对第一排程任务的数据模型,其中针对第一排程任务的数据模型和配置信息用于第一排程任务的执行(S140)。

Description

生产排程方法、系统、电子设备和存储介质 技术领域
本公开涉及生产排程技术领域,具体涉及一种生产排程方法、生产排程系统、电子设备、存储介质和计算机程序产品。
背景技术
在生产排产领域,对排程数据进行收集和处理是生产排程过程中的重要一环。然而,目前对排程数据进行收集和处理的过程繁琐且效率低下,容易出现数据不准确、遗漏等问题。
发明内容
本公开提供了一种产品的生产排程方法、系统、电子设备、存储介质和计算机程序产品。
根据本公开的一方面,提供了一种生产排程方法,包括:响应于创建第一排程任务,获取排程数据;接收针对第一排程任务的配置信息;以及基于所获取的排程数据来建立具有数据版本信息的数据快照,其中针对所述第一排程任务的数据模型和配置信息用于所述第一排程任务的执行。
根据本公开的实施例,方法还包括:使用所建立的数据快照来生成针对第一排程任务的数据模型;以及使用针对第一排程任务的数据模型和配置信息来执行第一排程任务。
根据本公开的实施例,基于所获取的排程数据来建立具有数据版本信息的数据快照包括:针对所获取的排程数据来生成数据版本信息;将数据版本信息与所获取的排程数据合组合成数据快照。
根据本公开的实施例,第一排程任务具有任务版本信息,所述方法还包括:在基于所获取的排程数据来建立具有数据版本信息的数据快照之前,通过将第一排程任务的任务版本信息与当前存储的任务版本信息进行比较,来确定第一排程任务是否是可执行的,其中响应于确定第一排程任务是可执行的来执行基于所获取的排程数据来建立具有数据版本信息的数据快照的操作。
根据本公开的实施例,通过将第一排程任务的任务版本信息与当前存储的任务版本信息进行比较,来确定第一排程任务是否是可执行的包括:如果互斥标志位中当前 存储的任务版本信息与第一排程任务的任务版本信息一致,则确定第一排程任务是可执行的;如果互斥标志位中当前存储的任务版本信息与第一排程任务的任务版本信息不一致,则确定第一排程任务是不可执行的。
根据本公开的实施例,通过将第一排程任务的任务版本信息与当前存储的任务版本信息进行比较,来确定第一排程任务是否是可执行的还包括:如果互斥标志位为空,则在标志位中存储第一排程任务的任务版本信息。
根据本公开的实施例,所述方法还包括:在确定第一排程任务是可执行的之后且建立具有数据版本信息的数据快照之前,清除与当前存储的任务版本信息相关联的排产任务的日志信息。
根据本公开的实施例,所述方法还包括:将针对第一排程任务的任务版本信息、针对第一排程任务的配置信息和针对第一排程任务的数据版本信息关联存储。
根据本公开的实施例,所述方法还包括:响应于创建第二排程任务,接收针对第二排程任务的数据版本信息和针对第二排程任务的配置信息;从先前建立的数据快照中,提取与接收到的数据版本信息匹配的数据快照;基于所提取的数据快照来生成针对第二排程任务的数据模型,其中针对所述第二排程任务的数据模型和配置信息用于所述第二排程任务的执行。
根据本公开的实施例,方法还包括:使用针对第二排程任务的数据模型和针对第二排程任务的配置信息来执行第二排程任务。
根据本公开的实施例,第二排程任务具有任务版本信息,所述方法还包括:在提取与接收到的数据版本信息匹配的数据快照之前,通过将第二排程任务的任务版本信息与当前存储的任务版本信息进行比较,来确定第二排程任务是否是可执行的,其中响应于确定第二排程任务是可执行的来执行提取与接收到的数据版本信息匹配的数据快照的操作。
根据本公开的实施例,通过将第二排程任务的任务版本信息与当前存储的任务版本信息进行比较,来确定第二排程任务是否是可执行的包括:如果互斥标志位中当前存储的任务版本信息与第二排程任务的任务版本信息一致,则确定第二排程任务是可执行的;如果互斥标志位中当前存储的任务版本信息与第二排程任务的任务版本信息不一致,则确定第二排程任务是不可执行的。
根据本公开的实施例,通过将第二排程任务的任务版本信息与当前存储的任务版本信息进行比较,来确定第二排程任务是否是可执行的还包括:如果互斥标志位为空, 则在标志位中存储第二排程任务的任务版本信息。
根据本公开的实施例,所述方法还包括:在确定第二排程任务是可执行的之后且提取与接收到的数据版本信息匹配的数据快照之前,清除与当前存储的任务版本信息相关联的排产任务的日志信息。
根据本公开的实施例,所述方法还包括:将针对第二排程任务的任务版本信息、针对第二排程任务的配置信息和针对第二排程任务的数据版本信息关联存储。
根据本公开的另一方面,提供了一种生产排程系统,用于执行根据本公开实施例的生产排程方法,生产排程系统包括:存储过程引擎,用于响应于创建第一排程任务,获取排程数据;接收针对第一排程任务的配置信息;基于所获取的排程数据来建立具有数据版本信息的数据快照;使用所建立的数据快照来生成针对第一排程任务的数据模型,其中针对所述第一排程任务的数据模型和配置信息用于所述第一排程任务的执行;暂存数据库,用于存储所获取的排程数据;基础数据库,与暂存数据库通信连接,用于存储数据快照;建模转换数据库,与基础数据库通信连接,用于存储数据模型。
根据本公开的实施例,所述系统还包括:排程引擎,用于使用针对第一排程任务的数据模型和配置信息来执行第一排程任务。
根据本公开的实施例,所述存储过程引擎还用于响应于创建第二排程任务来接收针对所述第二排程任务的数据版本信息和针对所述第二排程任务的配置信息,从先前建立的数据快照中提取与接收到的数据版本信息匹配的数据快照,以及基于所提取的数据快照来生成针对所述第二排程任务的数据模型。
根据本公开的实施例,所述排程引擎还应用于使用针对所述第二排程任务的数据模型和针对所述第二排程任务的配置信息来执行所述第二排程任务。
根据本公开的实施例,所述系统还包括:排程数据库,与建模转换数据库通信连接,用于存储供排程引擎使用的数据。
根据本公开的实施例,所述系统还包括:优化器数据库和优化器引擎,优化器数据库与建模转换数据库通信连接,用于存储供优化器引擎使用的数据。
根据本公开的实施例,所述系统还包括:用户交互引擎,用于接收用户输入的配置信息和/或数据版本信息;用户数据库,与用户交互引擎和基础数据库通信连接,用于存储用户信息和用户权限;以及管理器,用于在排产系统中执行最高权限操作。
根据本公开的另一方面,提供了一种电子设备,包括:
存储器和处理器,所述存储器中存储有所述处理器可执行的指令,所述指令在由所 述处理器执行时使所述处理器执行实现如上所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行实现如上所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例的生产排程方法的流程图;
图2是根据本公开实施例的确定第一排程任务是否可执行的方法的示意图;
图3A是根据本公开实施例的建立具有数据版本信息的数据快照的方法的流程图;
图3B是根据本公开实施例的建立具有数据版本信息的数据快照过程的示意图;
图4是根据本公开另一实施例的生产排程方法的流程图;
图5是根据本公开实施例的生产排程系统的框图;
图6是用来实现本公开实施例的生产排程方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,以下方法中各个操作的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
图1是根据本公开实施例的生产排程方法的流程图。
如图1所示,生产排程方法包括操作S110~S140。本公开实施例的方法可以是计算机实现的方法。
在操作S110,响应于创建第一排程任务,获取排程数据。
根据本公开的实施例,响应于用户创建第一排程任务,可以给所创建的第一排程任务设置一个任务版本信息,该任务版本信息用于指示该第一排程任务的创建顺序。在本公开实施例中,不同的第一排程任务分别具有对应的任务版本信息。通过设置第一排程任务的任务版本信息,可以支持数据的版本化管理,这样便于后续对排程任务进行管理和查询。
根据本公开的实施例,在用户创建第一排程任务以及第一排程任务的任务版本信息之后,可以利用数据库(例如Oracle数据库)配置的程序(例如存储过程)从外部数据源获取排程数据。该排程数据包括但不限于产品的生产路径、原材料、半成品/成品、产能以及库存信息等。在一个示例中,可以利用数据库中对应的程序从外部数据源来获取各种排程数据。该排程数据可以用于建立具有数据版本信息的数据快照。例如,可以利用Oracle数据库的SCMAPP.IF_BZ.export_cell_pi_bor存储过程获取与其关联的排程数据。SCMAPP.IF_BZ.export_cell_pi_bor存储过程是Oracle数据库提供的程序开发环境,计算机可以执行基于SCMAPP.IF_BZ.export_cell_pi_bor存储过程开发的程序指令以实现排程数据的获取。类似地,可以采用Oracle数据库的其他存储过程来获取其他排程数据,这里不再赘述。
在操作S120,接收针对第一排程任务的配置信息。
根据本公开的实施例,配置信息是用于限定排程任务的信息,包括但不限于针对有限或无限产能、物料、订单交期、库存等指标的配置参数,这些配置参数包括但不限于优先级、需求参数和制程参数等。配置信息将在后续的排产中影响排程逻辑,从而实现根据不同的配置信息来实现满足不同需求的排程。举例来说,每个配置信息可以包括:物料产能策略、需求参数、虚拟线体开关、优化器建议、订单循环策略。物料产能策略包括但不限于产能限制参数和物料限制参数,例如产能限制参数为“有限产能”,物料限制参数为“有限物料”。需求参数包括但不限于需求总月数、计划偏移天数。虚拟线体开关包括但不限于关于是否使用虚拟线体的指示信息以及对于是否启用产能过剩订单的所有资源的指示信息。优化器建议包括但不限于各工厂的可用策略:线别、厂别。订单循环策略包括各工厂的循环值。当用户针对一个排程任务完成针对上述各项配置参数的设置之后,形成一条配置信息,可以给该条配置信息添加标识并存储在数据库中,以供后续选择和使用。
在一个示例中,针对第一排程任务的配置信息例如可以是用户通过用户界面设置的,或者可以是用户从预先设置的多个配置信息中选择的与第一排程任务相匹配的配置信 息,这里不做限定。在获取针对第一排程任务的配置信息之后,可以将该配置信息保存至数据库中。
假设用户先前设置了多个配置信息,如表1所示,这些配置信息分别被标识为CFG_MP_20211231_001、CFG_MP_20211101_002和CFG_MP_20211103_003。本领域技术人员应了解,这些标识仅用于区分不同的配置信息,而并不是代表配置信息的内容。可以根据需要以任何其他方式来设置这些配置信息的标识。每个配置信息可以包括如上所述的各项配置参数中的至少一些。可以从表一中所示的多个配置信息中选择一个与第一排程任务MP_20211103_001相匹配的配置信息,以作为第一排程任务MP_20211103_001的配置信息。例如,可以选择配置信息CFG_MP_20211231_001作为第一排程任务的配置信息。然后将该配置信息CFG_MP_20211231_001保存至Oracle数据库中,以便后续基于该配置信息来执行第一排程任务。
配置信息
CFG_MP_20211231_001
CFG_MP_20211101_002
CFG_MP_20211103_003
表1
在操作S130,基于所获取的排程数据来建立具有数据版本信息的数据快照。
例如,可以针对所获取的排程数据来生成所述数据版本信息,并将所述数据版本信息与所获取的排程数据组合成数据快照。数据快照可以是关于指定数据集合的完全可用拷贝,该拷贝包括相应数据在某个时间点的映像。数据快照可存储于快照表中,与源数据表区分,从而实现对快照表和源数据表的同时访问,不影响源数据中业务数据的连续性更新。在本公开的实施例中,具有数据版本信息的数据快照可以是在数据快照中加入了对应的数据版本号以进行数据区分。在操作S140,使用所建立的数据快照来生成针对第一排程任务的数据模型,其中针对所述第一排程任务的数据模型和配置信息用于所述第一排程任务的执行。
根据本公开的实施例,由于数据快照中存储的是最原始数据,为了便于排程逻辑的处理,可以对原始数据进行建模转换,以便加工成后台引擎可以识别的数据结构。用户的排产需求,如生产条件制约、订单优先级排序等可以体现在所构建的数据模型中。在一些实施例中,还可以在建模过程中过滤掉排程不需要的数据,例如不需要的工厂数据 (例如彩膜基板工厂数据)、非关键物料数据等。在一些实施例中,还可以对物料清单(BOM,Bill ofMaterial)进行精简处理。通过这种方式,可以减小模型大小,以便可以提升建模效率,缩短建模时间。数据建模完成后,可以将数据模型临时存放在建模表中,在需要时转移到对应的目标表中。至此,数据准备工作结束。可以基于所建立的数据模型来执行上述的第一排程任务。
在一些实施例中,方法还可以包括操作S150。在操作S150,使用针对第一排程任务的数据模型和配置信息来执行第一排程任务。操作S150可以在操作S140之后执行。
例如,所建立的数据模型例如可以包括半成品与用于生产半成品的生产资源、物料和工序之间的关联、成品与用于生产成品的生产资源、物料和工序之间的关联以及成品与半成品之间的关联。
基于数据模型和配置信息,可以采用各种方式来执行第一排程任务。例如,可以基于线性规划求解模型对产品进行生产排程,得到多个第一条目,每个第一条目包括产品的生产日期、生产数量和对应的生产资源等等,线性规划求解模型中针对瓶颈工序的限制条件以及目标函数可以根据配置信息来确定。然后,可以将生产日期落入相同时间范围的相同产品对应的多个第一条目合并为第二条目,第二条目包括同一产品在一个时间范围的生产数量。针对每个第二条目中的产品,获取产品对应的订单并按照订单交期和订单优先级中的至少之一对该产品的订单进行排序,得到订单排序结果。可以从每个订单提取各个工序的生产需求,每个工序的生产需求包括通过该工序计划生产的成品或半成品的数量。基于数据模型和订单排序结果,可以将各个订单的生产需求分配给对应的生产资源和生产时段,从而确定每个生产资源在各个生产时段对应的生产需求。
根据本公开的实施例,通过创建的排程任务来生成具有数据版本信息的数据快照,具有数据版本信息的数据快照有利于在数据库层面实现对数据版本的管理,方便进行不同版本数据的对比。另外,具有数据版本信息的数据快照可以用于其他排程任务,而不必针对每次排程都重新抓取数据,提高了排程的效率。可配置化的方式方便了用户更加友好地使用本系统,可以大大降低时间。在一些实施例中,计算机执行上述方法的实际运行的时间可以不超过10分钟,相比于已有的排程方法有效地提高了工作效率。
在一些实施例中,在上述步骤130之前,还可以对用户的排程执行权限(也称作可执行性)进行校验,以避免多个用户同时执行同一排程的情况。根据本公开的实施例,可以通过将第一排程任务的任务版本信息与当前存储的任务版本信息进行比较,来确定第一排程任务是否是可执行的。若第一排程任务是可执行的,说明此时该用户有权限来 执行第一排程任务,该用户可以继续执行基于所获取的排程数据来建立具有数据版本信息的数据快照的操作;否则,则说明已经有其他用户在执行第一排程任务,该用户没有权限来继续执行第一排程任务,即第一排程任务是不可执行的。根据本公开的实施例,可以通过检查Oracle数据库中的互斥标记位来确定第一排程任务是否是可执行的。例如,可以通过判断互斥标志位中当前存储的任务版本信息与第一排程任务的任务版本信息是否一致,来确定第一排程任务是否是可执行的。
下面将参考图2对确定第一排程任务是否可执行的过程进行说明。
图2是根据本公开实施例的确定第一排程任务是否可执行的方法的示意图。
如图2所示,确定第一排程任务是否可执行的方法包括操作S210~S260。
在操作S210,判断互斥标记位是否为空,若是,则执行操作S220;若否,则执行操作S230。
在操作S220,在互斥标志位中存储第一排程任务的任务版本信息。
在判断互斥标记位为空时,说明此时没有其他用户在执行排程任务。换言之,该用户具有排程执行权限,可以继续执行基于所获取的排程数据来建立具有数据版本信息的数据快照的操作。
当该用户获取排程执行权限之后,可以在互斥标志位中存储当前排程任务(本实施例中为第一排程任务)的任务版本信息,以更新互斥标记的状态。存储于互斥标记位中的任务版本信息可以用于校验用户的排程执行权限,从而避免其他用户同时执行同一排程任务的可能性。
在操作S230,判断互斥标志位中当前存储的任务版本信息与第一排程任务的任务版本信息是否一致,若是,则执行操作S240;若否,则执行操作S250。
根据本公开的实施例,可以根据互斥标志位中当前存储的任务版本信息与第一排程任务的任务版本信息是否一致,来确定第一排程任务是否是可执行的。若是,则执行操作S240;若否,则执行操作S250。
在操作S240,确定第一排程任务是可执行的。
可以在确定第一排程任务是可执行的之后,再执行上述操作S130,以基于所获取的排程数据来建立具有数据版本信息的数据快照。
在一些实施例中,在确定第一排程任务是可执行的之后且建立具有数据版本信息的数据快照之前,可以清除与当前存储的任务版本信息相关联的排产任务的日志信息。排程任务在执行过程中会产生日志信息,这些日志信息用于分析系统运行状态、运行瓶颈, 便于程序诊断和改进。然而排程任务执行完之后,这些日志信息对于新的排程任务来说是无用信息,本公开的实施例通过清除这些日志信息可以避免之前的排产任务的日志信息占用存储空间或者给用户造成不必要的困扰。
在操作S250,确定第一排程任务是不可执行的。
在确定第一排程任务是不可执行的之后,可以返回验证失败消息并结束流程。在一些实施例中,在确定第一排程任务是不可执行的之后,可以返回操作S210继续等待直到获得执行权限。
图3A是根据本公开实施例的建立具有数据版本信息的数据快照的方法的流程图;图3B是根据本公开实施例的建立具有数据版本信息的数据快照过程的示意图。。
如图3A所示,建立具有数据版本信息的数据快照的方法包括操作S331~S332。
在操作S331,针对所获取的排程数据来生成数据版本信息。
例如,可以生成一个数据版本号MST_001作为该排程数据的数据版本信息。数据版本信息用于区分不同版本的排程数据,可以根据需要设置成任何其他形式,本公开的实施例对此不作限制。
在操作S332,将数据版本信息与所获取的排程数据合组合成数据快照。
在本公开的实施例中,将数据版本信息与所获取的排程数据合组合成数据快照可以是在生成数据快照的同时写入数据版本信息,数据快照的实现方式可以是写时复制(Copy On Write,COW)的方式,也可以是是输入输出重定向(Input/Output Redirect,I/O Redirect)的方式,也可以是其他方式,本公开在此不作限定。
下面对本公开实施例的数据快照生成方式进行说明。获取的排程数据可以包括多个数据表,每个数据表包括多个数据条目,每个数据条目包括多个数据项。例如,可以将数据表中的每一行作为一个数据条目,将一行中的每一列作为该条目的一个数据项。例如,一个数据条目可以包括以下多个数据项中的至少一些:item_org_id,ITEM_ID,ITEM_NAME,UOM,ITEM_TYPE,ITEM_GR,ITEM_GR_NAME等。例如,item_org_id表示数据项来源标识,ITEM_ID表示数据项标识,ITEM_NAME表示数据项名称,UOM表示度量单位,ITEM_TYPE表示数据项类型,ITEM_GR表示数据项产生者,等等,这里不再一一说明。
在生成针对排程数据的数据版本信息之后,可以在排程数据的每个数据表中给各个数据条目均添加该数据版本信息,例如添加到每个数据条目之前。通过这种方式,得到了具有数据版本信息的多个数据快照表。可以将这些具有数据版本信息的数据快照表作 为数据快照存储在数据库中。
例如,如图3B所示,存储在暂存数据库301中的排程数据的多个数据表中的一个数据表的一个数据条目可以包括数据项DATA1、DATA2以及DATA 3。可以将数据版本号MST_001与该数据条目的数据项DATA1、DATA2以及DATA3进行组合,得到具有数据版本号的数据条目。通过针对每个数据表中的每个数据条目执行上述操作,可以得到具有数据版本号的数据快照。可以将该具有数据版本号的数据快照存储至基础数据库302(也称作数据快照区),以便于后续根据所建立的数据快照来生成数据模型。
在一些实施例中,在获取具有数据版本信息的数据快照之后,可以将以上获取的针对第一排程任务的任务版本信息、第一排程任务的配置信息与具有数据版本信息的数据快照进行关联存储。
以上描述了针对第一排程任务的数据处理以及对第一排程任务的执行。在这过程中,针对第一排程任务从外部数据源抓取当前最新的排程数据并建立了具有数据版本信息的数据快照。通过这种方式,可以在多个第一排程任务的执行过程中产生多个版本的数据快照。在一些实施例中,可以针对后续创建的其他排程任务(也称作第二排程任务)使用先前产生的数据快照,而不必从外部数据源重新抓取新的排程数据,以此来提高工作效率。下面将参考图4来描述该过程。
图4是根据本公开另一实施例的生产排程方法的流程图。
如图4所示,生产排程方法包括操作S400~S430。
在操作S400,可以针对第一排程任务来执行如上所述的生产排程,在执行过程中产生具有数据版本信息的数据快照。例如可以分别针对多个第一排程任务执行以上参考图1至图3B描述的方法步骤,得到多个具有数据版本信息的数据快照。
在操作S410,响应于创建第二排程任务,接收针对第二排程任务的数据版本信息和针对第二排程任务的配置信息。
在用户创建第二排程任务之后,可以给所创建的第二排程任务设置一个任务版本信息。设置第二排程任务的任务版本信息的方式与以上设置第一排程任务的任务版本信息的过程相同或者类似,这里不再赘述。
根据本公开的实施例,所谓第二排程任务例如可以是之前已经执行过排程操作的任务。在用户创建第二排程任务之后,可以通过用户界面来选择针对第二排程任务的数据版本信息和针对第二排程任务的配置信息。该用户界面向用户展示了如表2所示的多个数据版本信息,例如数据版本号DS_MP_20221103_001、DS_MP_20221203_001和 DS_MP_20221003_001。用户可以从中选择一个数据版本信息,例如选择数据版本号DS_MP_20221103_001,作为针对第二排程任务的数据版本信息。以类似的方式,用户还可以从如表3所示的多个配置信息CFG_MP_20211101_001、CFG_MP_20211201_002和CFG_MP_20211203_003中选择针对第二排程任务的配置信息,例如选择CFG_MP_20211101_001作为第二排程任务要使用的配置信息。
数据版本信息
DS_MP_20221103_001
DS_MP_20221203_001
DS_MP_20221003_001
表2
配置信息
CFG_MP_20211101_001
CFG_MP_20211201_002
CFG_MP_20211203_003
表3
在操作S420,从先前建立的数据快照中,提取与接收到的数据版本信息匹配的数据快照。例如,假设在步骤S410中接收到用户选择的数据版本号DS_MP_20221103_001,那么在本步骤中可以从基础数据库中存储的一个或多个数据快照中提取具有数据版本号DS_MP_20221103_001的数据快照。
为了避免多个用户同时执行同一排程的情况,可以在执行步骤S420之前对用户的排程执行权限进行校验。根据本公开的实施例,可以通过将第二排程任务的任务版本信息与当前存储的任务版本信息进行比较,来确定第二排程任务是否是可执行的。若确定第二排程任务是可执行的,则执行提取与接收到的数据版本信息匹配的数据快照的操作;否则,确定第二排程任务是不可执行的。例如,可以按照与以上参考图2描述的方式类似的方式来对第二排程任务的执行权限进行校验,如果互斥标志位中当前存储的任务版本信息与第二排程任务的任务版本信息一致,则确定第二排程任务是可执行的;如果互斥标志位中当前存储的任务版本信息与第二排程任务的任务版本信息不一致,则确定第二排程任务是不可执行的。在一些实施例中,如果互斥标志位为空,说明此时用户具有 排程执行权限,可以继续执行基于所获取的排程数据来建立具有数据版本信息的数据快照的操作。当该用户获取排程执行权限之后,可以在互斥标志位中存储第一排程任务的任务版本信息,以更新互斥标记的状态。存储于互斥标记位中第一排程任务的任务版本信息可以用于校验其他用户的排程执行权限,从而避免其他用户同时执行同一排程任务的可能性。
根据本公开的实施例,在确定第二排程任务是可执行的之后且提取与接收到的数据版本信息匹配的数据快照之前,可以清除与当前存储的任务版本信息相关联的排产任务的日志信息,以避免之前的排产任务的日志信息占用存储空间。
根据本公开的实施例,可以将第二排程任务的任务版本信息、针对第二排程任务的配置信息和针对第二排程任务的数据版本信息关联存储。
在操作S430,基于所提取的数据快照来生成针对第二排程任务的数据模型。该步骤可以与上述操作S140以相同方式实现,这里不再赘述。
在一些实施例中,方法还可以包括操作S440。在操作S440,使用针对第二排程任务的数据模型和针对第二排程任务的配置信息来执行第二排程任务。操作S440可以在操作S430之后执行。操作S440可以与上述操作S150以相同方式实现,这里不再赘述。
根据本公开的实施例,基于数据版本信息管理和查询,通过将先前建立的具有不同数据版本信息的数据快照用于未来的其他排产计划,从而进一步提高了处理排程数据的工作效率。
本公开的实施例还提供了一种生产排程系统。下面将参考图5对生产排程系统进行说明。
图5是根据本公开实施例的生产排程系统的框图。
如图5所示,生产排程系统包括存储过程引擎501、暂存数据库503、基础数据库504、建模转换数据库505。
存储过程引擎501可以响应于创建第一排程任务来获取排程数据,接收针对第一排程任务的配置信息,基于所获取的排程数据来建立具有数据版本信息的数据快照,以及使用所建立的数据快照来生成针对第一排程任务的数据模型。
暂存数据库503可以从诸如遗产系统(Legacy Systems)之类的数据源获取数据并临时存储,例如可以用于存储所获取的排程数据,暂存数据库503中的排程数据不具有数据版本信息。基础数据库504与暂存数据库503通信连接,用于存储数据快照。建模转换数据库505与基础数据库504通信连接,用于存储数据模型。
根据本公开的实施例,生产排程系统还可以包括排程引擎502。排程引擎502通过网关508与存储过程引擎501通信连接。排程引擎502可以使用针对第一排程任务的数据模型和配置信息来执行第一排程任务。排程引擎502可以是T3SupplyNet排程引擎,其是一种用于生产排程的后台程序,可以用于例如但不限于基础数据检验生、产计划模拟、计划报表分析、工厂产能利用率分析等等。
根据本公开的实施例,存储过程引擎501还可以响应于创建第二排程任务来接收针对所述第二排程任务的数据版本信息和针对所述第二排程任务的配置信息,从先前建立的数据快照中提取与接收到的数据版本信息匹配的数据快照,以及基于所提取的数据快照来生成针对所述第二排程任务的数据模型。排程引擎502还可以使用针对所述第二排程任务的数据模型和针对所述第二排程任务的配置信息来执行所述第二排程任务。
根据本公开的实施例,上述生产排程系统还可以包括排程数据库506。排程数据库506与建模转换数据库505通信连接,用于存储供排程引擎502使用的数据。在一些实施例中,排程数据库506还可以用于存储来自于排程引擎502的数据,例如排程引擎502在处理过程中产生的各种数据。
根据本公开的实施例,上述生产排程系统还可以包括优化器引擎509和优化器数据库510。优化器数据库510与建模转换数据库505通信连接,用于存储供优化器引擎509使用的数据。在一些实施例中,优化器数据库510还可以用于存储来自于优化器引擎509的数据,例如优化器引擎509在处理过程中产生的各种数据。
根据本公开的实施例,上述生产排程系统还可以包括管理器507、用户数据库511和用户交互引擎512。用户交互引擎512用于实现人机交互,在一些实施例中可以被实现为用户交互界面(UI,User Interface)或者具有用户交互界面展示功能的终端设备,例如客户端。例如,用户交互引擎512用于接收用户输入的配置信息和/或数据版本信息。用户数据库511与用户交互引擎512和基础数据库504通信连接,用于存储用户信息和用户权限。管理器507用于在排产系统中执行最高权限操作。
举例来说,当用户创建第一排程任务时,存储过程引擎501可以从暂存数据库503获取排程数据,通过用户交互引擎512接收用户输入的配置信息,基于排程数据来建立具有数据版本信息的数据快照并存储在基础数据库504中,使用数据快照来生成数据模型并存储在建模转换数据库505中。建模转换数据库505中的数据模型可以被转换成适用于优化器引擎509的数据并存储在优化器数据库510中,并且还可以被转换成适用于排程引擎502的数据并存储在排程数据库506中。排程引擎502可以从排程数据库506 中获取针对所述第一排程任务的数据模型和配置信息来执行所述第一排程任务。通过这种方式完成了第一排程任务的执行。在这过程中创建了具有数据版本号的数据快照并存储在了基础数据库504中,以供后续使用。
当用户创建第二排程任务时,存储过程引擎501可以通过用户交互引擎512接收用户针对所述第二排程任务而输入的数据版本信息和针对所述第二排程任务的配置信息。存储过程引擎501可以从基础数据库504中提取与接收到的数据版本信息匹配的数据快照,基于所提取的数据快照来生成针对所述第二排程任务的数据模型并存储在建模转换数据库505中。以类似的方式,排程引擎502可以使用针对所述第二排程任务的数据模型和针对所述第二排程任务的配置信息来执行所述第二排程任务。
在一些实施例中,当用户一并创建了第一排程任务和第二排程任务时,存储过程引擎501可以针对第一排程任务和第二排程任务来进行用户交互,以获取用户分别针对第一排程任务和第二排程任务而输入的配置信息和/或数据版本信息等。然后存储过程引擎501以类似于上述的方式来生成针对第一排程任务的数据模型,排程引擎502基于第一排程任务的数据模型和配置信息来执行所述第一排程任务。在完成第一排程任务的执行之后,存储过程引擎501以类似于上述的方式来生成针对第二排程任务的数据模型,排程引擎502基于第二排程任务的数据模型和配置信息来执行所述第二排程任务。在上述过程中获取的排程数据被存储在暂存数据库503,产生的数据快照被存储在基础数据库504,产生的数据模型被存储在建模转换数据库505。
在一些实施例中,在执行排程任务(包括第一排程任务和第二排程任务)的过程中,优化器引擎509和排程引擎502可以配合工作。例如,可以利用优化器引擎509来进行初步排程,再使用排程引擎502来进行精细排程,以此来提高排程结果的准确性。以上述排程方式为例,可以使用优化器引擎509基于线性规划求解模型对产品进行初步排程,得到多个第一条目,每个第一条目包括产品的生产日期、生产数量和对应的生产资源等等,线性规划求解模型中针对瓶颈工序的限制条件以及目标函数可以根据配置信息来确定。然后,可以将多个第一条目合并为第二条目以实现产品排序,并按照订单交期和订单优先级中的至少之一对该产品的订单进行排序。此后,可以使用排程引擎502来对订单排序结果执行精细排程,例如可以从每个订单提取各个工序的生产需求,并基于数据模型和订单排序结果将各个订单的生产需求分配给对应的生产资源和生产时段,从而确定每个生产资源在各个生产时段对应的生产需求。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术 问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。另外,在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示意性示出了根据本公开实施例的适于实现信息识别方法的电子设备的方框图。
如图6所示,根据本公开实施例的电子设备600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 603中,存储有电子设备600操作所需的各种程序和数据。处理器601、ROM 602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。电子设备600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分606;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施 例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的生产排程方法。
在该计算机程序被处理器601执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分609被下载和安装,和/或从可拆卸介质611被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用 户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (25)

  1. 一种生产排程方法,包括:
    响应于创建第一排程任务,获取排程数据;
    接收针对所述第一排程任务的配置信息;
    基于所获取的排程数据来建立具有数据版本信息的数据快照;以及
    使用所建立的数据快照来生成针对所述第一排程任务的数据模型,其中针对所述第一排程任务的数据模型和配置信息用于所述第一排程任务的执行。
  2. 根据权利要求1所述的方法,还包括:使用针对所述第一排程任务的数据模型和配置信息来执行所述第一排程任务。
  3. 根据权利要求1所述的方法,其中,所述基于所获取的排程数据来建立具有数据版本信息的数据快照包括:
    针对所获取的排程数据来生成所述数据版本信息;
    将所述数据版本信息与所获取的排程数据合组合成数据快照。
  4. 根据权利要求1至3中任一项所述的方法,其中,所述第一排程任务具有任务版本信息,所述方法还包括:在基于所获取的排程数据来建立具有数据版本信息的数据快照之前,通过将所述第一排程任务的任务版本信息与当前存储的任务版本信息进行比较,来确定所述第一排程任务是否是可执行的,其中响应于确定所述第一排程任务是可执行的来执行所述基于所获取的排程数据来建立具有数据版本信息的数据快照的操作。
  5. 根据权利要求4所述的方法,其中,所述通过将所述第一排程任务的任务版本信息与当前存储的任务版本信息进行比较,来确定所述第一排程任务是否是可执行的包括:
    如果互斥标志位中当前存储的任务版本信息与所述第一排程任务的任务版本信息一致,则确定所述第一排程任务是可执行的;
    如果互斥标志位中当前存储的任务版本信息与所述第一排程任务的任务版本信息不一致,则确定所述第一排程任务是不可执行的。
  6. 根据权利要求5所述的方法,其中,所述通过将所述第一排程任务的任务版本信息与当前存储的任务版本信息进行比较,来确定所述第一排程任务是否是可执行的还包括:
    如果互斥标志位为空,则在所述标志位中存储所述第一排程任务的任务版本信息。
  7. 根据权利要求4至6中任一项所述的方法,还包括:在确定所述第一排程任务是可执行的之后且建立具有数据版本信息的数据快照之前,清除与当前存储的任务版本信息相关联的排产任务的日志信息。
  8. 根据权利要求1至7中任一项所述的方法,还包括:将针对所述第一排程任务的任务版本信息、针对所述第一排程任务的配置信息和针对所述第一排程任务的数据版本信息关联存储。
  9. 根据权利要求1至8中任一项所述的方法,还包括:
    响应于创建第二排程任务,接收针对所述第二排程任务的数据版本信息和针对所述第二排程任务的配置信息;
    从先前建立的数据快照中,提取与接收到的数据版本信息匹配的数据快照;以及
    基于所提取的数据快照来生成针对所述第二排程任务的数据模型,其中针对所述第二排程任务的数据模型和配置信息用于所述第二排程任务的执行。
  10. 根据权利要求9所述的方法,还包括:使用针对所述第二排程任务的数据模型和针对所述第二排程任务的配置信息来执行所述第二排程任务。
  11. 根据权利要求9所述的方法,其中,所述第二排程任务具有任务版本信息,所述方法还包括:在提取与接收到的数据版本信息匹配的数据快照之前,通过将所述第二排程任务的任务版本信息与当前存储的任务版本信息进行比较,来确定所述第二排程任务是否是可执行的,其中响应于确定所述第二排程任务是可执行的来执行所述提取与接收到的数据版本信息匹配的数据快照的操作。
  12. 根据权利要求9所述的方法,其中,所述通过将所述第二排程任务的任务版本信息与当前存储的任务版本信息进行比较,来确定所述第二排程任务是否是可执行的包括:
    如果互斥标志位中当前存储的任务版本信息与所述第二排程任务的任务版本信息一致,则确定所述第二排程任务是可执行的;
    如果互斥标志位中当前存储的任务版本信息与所述第二排程任务的任务版本信息不一致,则确定所述第二排程任务是不可执行的。
  13. 根据权利要求12所述的方法,其中,所述通过将所述第二排程任务的任务版本信息与当前存储的任务版本信息进行比较,来确定所述第二排程任务是否是可执行的还包括:
    如果互斥标志位为空,则在所述标志位中存储所述第二排程任务的任务版本信息。
  14. 根据权利要求11至13中任一项所述的方法,还包括:在确定所述第二排程任务是可执行的之后且提取与接收到的数据版本信息匹配的数据快照之前,清除与当前存储的任务版本信息相关联的排产任务的日志信息。
  15. 根据权利要求9至14中任一项所述的方法,还包括:将针对所述第二排程任务的任务版本信息、针对所述第二排程任务的配置信息和针对所述第二排程任务的数据版本信息关联存储。
  16. 一种生产排程系统,用于执行如权利要求1至15中任一项所述的方法,所述生产排程系统包括:
    存储过程引擎,用于响应于创建第一排程任务,获取排程数据;接收针对所述第一排程任务的配置信息;基于所获取的排程数据来建立具有数据版本信息的数据快照;使用所建立的数据快照来生成针对所述第一排程任务的数据模型,其中针对所述第一排程任务的数据模型和配置信息用于所述第一排程任务的执行;
    暂存数据库,用于存储所获取的排程数据;
    基础数据库,与所述暂存数据库通信连接,用于存储所述数据快照;
    建模转换数据库,与所述基础数据库通信连接,用于存储所述数据模型。
  17. 根据权利要求16所述的生产排程系统,还包括:排程引擎,用于使用针对所述第一排程任务的数据模型和配置信息来执行所述第一排程任务。
  18. 根据权利要求16或17所述的生产排程系统,其中,所述存储过程引擎还用于响应于创建第二排程任务来接收针对所述第二排程任务的数据版本信息和针对所述第二排程任务的配置信息,从先前建立的数据快照中提取与接收到的数据版本信息匹配的数据快照,以及基于所提取的数据快照来生成针对所述第二排程任务的数据模型,其中针对所述第二排程任务的数据模型和配置信息用于所述第二排程任务的执行。
  19. 根据权利要求18所述的生产排程系统,其中,所述排程引擎还应用于使用针对所述第二排程任务的数据模型和针对所述第二排程任务的配置信息来执行所述第二排程任务。
  20. 根据权利要求17至19中任一项所述的生产排程系统,还包括:排程数据库,与所述建模转换数据库通信连接,用于存储供所述排程引擎使用的数据。
  21. 根据权利要求16至20中任一项所述的生产排程系统,还包括:优化器数据库和优化器引擎,所述优化器数据库与所述建模转换数据库通信连接,用于存储供所述优化器引擎使用的数据。
  22. 根据权利要求16至21中任一项所述的排程系统,还包括:用户交互引擎,用于接收用户输入的配置信息和/或数据版本信息;
    用户数据库,与所述用户交互引擎和所述基础数据库通信连接,用于存储用户信息和用户权限;以及
    管理器,用于在所述排产系统中执行最高权限操作。
  23. 一种电子设备,包括存储器和处理器,所述存储器中存储有所述处理器可执行的指令,所述指令在由所述处理器执行时使所述处理器执行如权利要求1至15中任一项所述的方法。
  24. 一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至15中任一项所述的方法。
  25. 一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至15中任一项所述的方法。
PCT/CN2022/084352 2022-03-31 2022-03-31 生产排程方法、系统、电子设备和存储介质 WO2023184320A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202280000618.0A CN117480511A (zh) 2022-03-31 2022-03-31 生产排程方法、系统、电子设备和存储介质
PCT/CN2022/084352 WO2023184320A1 (zh) 2022-03-31 2022-03-31 生产排程方法、系统、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/084352 WO2023184320A1 (zh) 2022-03-31 2022-03-31 生产排程方法、系统、电子设备和存储介质

Publications (1)

Publication Number Publication Date
WO2023184320A1 true WO2023184320A1 (zh) 2023-10-05

Family

ID=88198599

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/084352 WO2023184320A1 (zh) 2022-03-31 2022-03-31 生产排程方法、系统、电子设备和存储介质

Country Status (2)

Country Link
CN (1) CN117480511A (zh)
WO (1) WO2023184320A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567298A (zh) * 2003-06-10 2005-01-19 鸿富锦精密工业(深圳)有限公司 数据库备份和还原的排程和命名系统及方法
CN1746911A (zh) * 2004-09-06 2006-03-15 华夏科技股份有限公司 先进规划排程系统的多版本分析系统及方法
US20080120619A1 (en) * 2006-11-16 2008-05-22 Sun Microsystems, Inc. Real time monitoring and tracing of scheduler decisions
CN102117434A (zh) * 2009-12-31 2011-07-06 青岛海尔软件有限公司 高级规划与排程系统
CN108985711A (zh) * 2018-06-29 2018-12-11 北京仿真中心 一种智能工厂动态计划排程系统
CN111913943A (zh) * 2020-07-30 2020-11-10 上海数策软件股份有限公司 适用于工厂自动排产的数据采集与处理的方法及系统
CN113298336A (zh) * 2020-08-21 2021-08-24 阿里巴巴集团控股有限公司 资源排产信息确定方法及装置
CN113487155A (zh) * 2021-06-29 2021-10-08 大唐互联科技(武汉)有限公司 一种用于塑料行业的智能排程系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567298A (zh) * 2003-06-10 2005-01-19 鸿富锦精密工业(深圳)有限公司 数据库备份和还原的排程和命名系统及方法
CN1746911A (zh) * 2004-09-06 2006-03-15 华夏科技股份有限公司 先进规划排程系统的多版本分析系统及方法
US20080120619A1 (en) * 2006-11-16 2008-05-22 Sun Microsystems, Inc. Real time monitoring and tracing of scheduler decisions
CN102117434A (zh) * 2009-12-31 2011-07-06 青岛海尔软件有限公司 高级规划与排程系统
CN108985711A (zh) * 2018-06-29 2018-12-11 北京仿真中心 一种智能工厂动态计划排程系统
CN111913943A (zh) * 2020-07-30 2020-11-10 上海数策软件股份有限公司 适用于工厂自动排产的数据采集与处理的方法及系统
CN113298336A (zh) * 2020-08-21 2021-08-24 阿里巴巴集团控股有限公司 资源排产信息确定方法及装置
CN113487155A (zh) * 2021-06-29 2021-10-08 大唐互联科技(武汉)有限公司 一种用于塑料行业的智能排程系统

Also Published As

Publication number Publication date
CN117480511A (zh) 2024-01-30

Similar Documents

Publication Publication Date Title
US11461294B2 (en) System for importing data into a data repository
US11360950B2 (en) System for analysing data relationships to support data query execution
US11409764B2 (en) System for data management in a large scale data repository
US20170286388A1 (en) Document presentation interface based on intelligent mapping
CN112445854B (zh) 多源业务数据实时处理方法、装置、终端及存储介质
US9009175B2 (en) System and method for database migration and validation
CN111651431A (zh) 一种面向数据库服务的管理流程标准化方法
US10642838B2 (en) Real-time or event-based analysis of process data
US20240069967A1 (en) Pipeline task verification for a data processing platform
CN110728422A (zh) 用于施工项目的建筑信息模型、方法、装置和结算系统
CN101753619A (zh) 用于扩展服务模型的方法和系统
CN108255852B (zh) Sql执行方法及装置
CN114036187A (zh) 文件获取方法、装置、计算机设备和存储介质
CN111061733A (zh) 数据处理方法、装置、电子设备和计算机可读存储介质
CN114281795A (zh) 一种基于业务数据标准表的数据模型构建方法
CN115545577B (zh) 排程数据的处理方法和设备
WO2023184320A1 (zh) 生产排程方法、系统、电子设备和存储介质
CN111242779A (zh) 金融数据特征选择和预测方法、装置、设备及存储介质
US11995587B2 (en) Method and device for managing project by using data merging
CN115840738A (zh) 一种数据迁移方法、装置、电子设备及存储介质
WO2024065407A1 (zh) 生产排程方法、电子设备及存储介质
JP2016143106A (ja) 業務バリエーションに基づく業務影響箇所抽出方法および業務影響箇所抽出装置
CN117033460B (zh) 一种基于总线矩阵的数据模型自动构建系统及方法
CN118120186A (zh) 生产排程方法、电子设备及存储介质
CN113535158A (zh) 一种基于流程引擎与动态表单的交互方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22934168

Country of ref document: EP

Kind code of ref document: A1