CN117573161A - Application upgrading method, device, equipment, storage medium and program product - Google Patents

Application upgrading method, device, equipment, storage medium and program product Download PDF

Info

Publication number
CN117573161A
CN117573161A CN202311524454.4A CN202311524454A CN117573161A CN 117573161 A CN117573161 A CN 117573161A CN 202311524454 A CN202311524454 A CN 202311524454A CN 117573161 A CN117573161 A CN 117573161A
Authority
CN
China
Prior art keywords
application
sub
management application
organization
management
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202311524454.4A
Other languages
Chinese (zh)
Inventor
王玮犀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311524454.4A priority Critical patent/CN117573161A/en
Publication of CN117573161A publication Critical patent/CN117573161A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The application upgrading method, the device, the equipment, the storage medium and the program product can be applied to various scenes such as cloud technology, artificial intelligence, intelligent traffic, auxiliary driving and the like; the method comprises the following steps: upgrading detection is carried out on sub-management applications of the organization management application to obtain a first detection result, wherein the organization management application is used for management of a target organization; when the first detection result characterizes that the sub-management application is not upgraded, detecting the use condition of the sub-management application to obtain a second detection result; when the second detection result characterizes that the target organization uses the sub-management application, carrying out application configuration detection on the sub-management application to obtain a third detection result; when the third detection result characterizes that the target organization does not perform target application configuration on the sub-management application, upgrading the sub-management application; according to the application upgrading method and device, the application upgrading effect and the application upgrading efficiency can be improved.

Description

Application upgrading method, device, equipment, storage medium and program product
Technical Field
The present invention relates to the field of computer technologies, and in particular, to an application upgrading method, apparatus, device, storage medium, and program product.
Background
As versions of sub-management applications of an organization management application (e.g., personnel management applications of enterprise management clients) are upgraded, new functions are continually introduced by the sub-management application. But the new functionality creates compatibility problems with the old functionality due to the partially organized version of the sub-management application being too old. In the related art, a user is typically prompted at the organization management application, so that the user manually upgrades the sub management application. However, the efficiency of such upgrades is low, and if the user does not manually upgrade in time, the compatibility problem cannot be solved.
Disclosure of Invention
The embodiment of the application provides an application upgrading method, an application upgrading device, electronic equipment, a computer readable storage medium and a computer program product, which can improve the application upgrading effect and the application upgrading efficiency.
The technical scheme of the embodiment of the application is realized as follows:
the embodiment of the application provides an application upgrading method, which comprises the following steps:
upgrading detection is carried out on sub-management applications of the organization management application to obtain a first detection result, wherein the organization management application is used for management of a target organization;
when the first detection result characterizes that the sub-management application is not upgraded, detecting the use condition of the sub-management application to obtain a second detection result;
When the second detection result characterizes that the target organization uses the sub-management application, carrying out application configuration detection on the sub-management application to obtain a third detection result;
and when the third detection result characterizes that the target organization does not perform target application configuration on the sub-management application, performing upgrading processing on the sub-management application.
The embodiment of the application also provides an application upgrading device, which comprises:
the first detection module is used for carrying out upgrading detection on sub-management applications of the organization management application to obtain a first detection result, wherein the organization management application is used for management of a target organization;
the second detection module is used for detecting the service condition of the sub-management application when the first detection result represents that the sub-management application is not upgraded, so as to obtain a second detection result;
the third detection module is used for carrying out application configuration detection on the sub-management application when the second detection result characterizes that the target organization uses the sub-management application, so as to obtain a third detection result;
and the upgrading module is used for upgrading the sub-management application when the third detection result characterizes that the target organization does not configure the target application of the sub-management application.
In the above scheme, the first detection module is further configured to obtain a tissue identifier of the target tissue; inquiring an upgrading zone bit corresponding to the organization identifier based on the organization identifier; when the upgrade flag bit indicates that the sub-management application is not upgraded, determining to obtain a first detection result representing that the sub-management application is not upgraded; and when the upgrade flag bit indicates that the sub-management application is upgraded, determining to obtain a first detection result representing that the sub-management application is upgraded.
In the above scheme, the second detection module is further configured to obtain a tissue identifier of the target tissue; inquiring application basic information of the sub-management application corresponding to the organization identifier based on the organization identifier, wherein the application basic information comprises at least one of an enabling zone bit and an application use range; wherein the enable flag bit indicates whether the sub-management application is enabled, and the application use range indicates a use range of the sub-management application in the target organization; determining that a second detection result which characterizes that the target organization has used the sub-management application is obtained when the application basic information indicates that the sub-management application has been used; and when the application basic information indicates that the sub-management application is not used, determining to obtain a second detection result which characterizes that the target organization does not use the sub-management application.
In the above solution, when the application basic information includes the enable flag bit and the application usage range, the second detection module is further configured to determine that the application basic information indicates that the sub-management application is used when the enable flag bit and the application usage range both indicate that the sub-management application is used; when at least one of the enable flag bit and the application use range indicates that the sub-management application is not used, determining that the application basic information indicates that the sub-management application is not used; when the flag value of the enabling flag bit is a target value, the enabling flag bit indicates that the sub-management application is used; when the application use scope indicates that the use scope of the sub-management application is all organization members in the target organization, the application use scope indicates that the sub-management application has been used.
In the above aspect, the second detection module is further configured to determine a target time period located before a current time point, where a time interval between an ending time point of the target time period and the current time point does not exceed a time interval threshold; and detecting the use condition of the sub-management application in the target time period to obtain the second detection result.
In the above scheme, the second detection module is further configured to obtain usage record information of the sub-management application; determining that a second detection result characterizing that the target organization has used the sub-management application is obtained when the usage record information includes usage records of the sub-management application in the target period of time; and when the usage record information does not comprise the usage record of the sub-management application in the target time period, determining to obtain a second detection result which characterizes that the target organization does not use the sub-management application.
In the above solution, the third detection module is further configured to obtain a preset application configuration of the sub-management application and an organization application configuration of the sub-management application under the use of the target organization; comparing the preset application configuration with the organization application configuration to obtain a comparison result; when the comparison result indicates that the preset application configuration and the organization application configuration are the same, determining to obtain a third detection result representing that the target organization does not perform target application configuration on the sub-management application; and when the comparison result indicates that the preset application configuration and the organization application configuration are different, determining to obtain a third detection result which characterizes that the target organization has performed target application configuration on the sub-management application.
In the above solution, the third detection module is further configured to obtain a preset application configuration structure of the sub-management application and an organization application configuration structure of the sub-management application under use of the target organization; the third detection module is further configured to perform field filling on the organization application configuration structure based on the preset application configuration structure to obtain a target organization application configuration structure; serializing the preset application configuration structure body to obtain a first byte stream, and serializing the target organization application configuration structure body to obtain a second byte stream; comparing the first byte stream with the second byte stream; when the first byte stream and the second byte stream are the same, determining to obtain a comparison result indicating that the preset application configuration and the organization application configuration are the same; and when the first byte stream and the second byte stream are different, determining to obtain a comparison result indicating that the preset application configuration and the organization application configuration are different.
In the above solution, the third detection module is further configured to detect whether the sub-management application is associated with external configuration information; when the fact that the sub-management application is not associated with external configuration information is detected, determining to obtain a third detection result which characterizes that the target organization does not carry out target application configuration on the sub-management application; and when the sub-management application is detected to be associated with external configuration information, determining to obtain a third detection result which characterizes that the target organization has configured the target application for the sub-management application.
In the above solution, the upgrade module is further configured to send an upgrade request for the sub-management application to a terminal where the organization management application is located when the third detection result characterizes that the target organization has performed target application configuration on the sub-management application; and when receiving an upgrade confirmation instruction returned based on the upgrade request, upgrading the sub-management application.
In the above solution, the upgrade module is further configured to determine, after performing an upgrade process on the sub-management application, a target number of first organizations related to the target organization; and upgrading the sub-management applications of the first organization of the target quantity.
The embodiment of the application also provides electronic equipment, which comprises:
a memory for storing computer executable instructions;
and the processor is used for realizing the application upgrading method provided by the embodiment of the application when executing the computer executable instructions stored in the memory.
The embodiment of the application also provides a computer readable storage medium, which stores computer executable instructions or a computer program, and when the computer executable instructions or the computer program are executed by a processor, the application upgrading method provided by the embodiment of the application is realized.
The embodiment of the application also provides a computer program product, which comprises computer executable instructions or a computer program, and the application upgrading method provided by the embodiment of the application is realized when the computer executable instructions or the computer program are executed by a processor.
The embodiment of the application has the following beneficial effects:
by applying the embodiment of the application, upgrade detection is firstly carried out on sub-management applications of an organization management application (for management of a target organization) to obtain a first detection result; then, when the first detection result characterizes that the sub-management application is not upgraded, detecting the use condition of the sub-management application to obtain a second detection result; then when the second detection result represents that the target organization uses the sub-management application, carrying out application configuration detection on the sub-management application to obtain a third detection result; and when the third detection result characterizes that the target organization does not carry out target application configuration on the sub-management application, upgrading the sub-management application. Here, whether the sub-management application is upgradeable is determined by performing upgrade detection, use case detection, and application configuration detection on the sub-management application, respectively, and in the case where it is determined that the sub-management application is upgradeable, the sub-management application is automatically upgraded. Therefore, the influence of application upgrading on the target application configuration of the sub management application by the target organization is reduced, the application upgrading effect is improved, the application upgrading efficiency is improved, and the compatibility problem caused by application upgrading is reduced.
Drawings
FIG. 1 is a schematic architecture diagram of an application upgrade system provided in an embodiment of the present application;
fig. 2 is a schematic structural diagram of an electronic device according to an embodiment of the present application;
FIG. 3 is a flowchart of an application upgrade method according to an embodiment of the present disclosure;
FIG. 4 is a flowchart of an application upgrade method according to an embodiment of the present disclosure;
FIG. 5 is a flowchart of an application upgrade method according to an embodiment of the present disclosure;
FIG. 6 is a diagram of a lookup of the visible range of a personnel management application provided by an embodiment of the present application;
FIG. 7 is a schematic diagram of a commit record of a new personnel management template provided by an embodiment of the present application;
FIG. 8 is a flowchart of an application upgrade method according to an embodiment of the present disclosure;
FIG. 9 is a schematic diagram of a personnel management template list provided by an embodiment of the present application;
FIG. 10 is a schematic diagram of a template flow information structure provided in an embodiment of the present application;
FIG. 11 is a schematic diagram of an approval process of a personnel management template provided in an embodiment of the present application;
FIG. 12 is a schematic diagram of the structure of stencil detail information provided in the embodiment of the present application;
FIG. 13 is a schematic diagram of an arrangement of an associated application form provided in an embodiment of the present application;
fig. 14 is a schematic view of the setting of external options provided in the embodiment of the present application.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present application more apparent, the present application will be described in further detail with reference to the accompanying drawings, and the described embodiments should not be construed as limiting the present application, and all other embodiments obtained by those skilled in the art without making any inventive effort are within the scope of the present application.
In the following description, reference is made to "some embodiments" which describe a subset of all possible embodiments, but it is to be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments and can be combined with one another without conflict.
In the following description, the terms "first", "second", "third" and the like are merely used to distinguish similar objects and do not represent a specific ordering of the objects, it being understood that the "first", "second", "third" may be interchanged with a specific order or sequence, as permitted, to enable embodiments of the application described herein to be practiced otherwise than as illustrated or described herein.
Unless defined otherwise, all technical and scientific terms used in the embodiments of the present application have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in the embodiments of the application is for the purpose of describing the embodiments of the application only and is not intended to be limiting of the application.
Before further describing embodiments of the present application in detail, the terms and expressions that are referred to in the embodiments of the present application are described, and are suitable for the following explanation.
1) Application: applications, such as organization management applications, running in electronic devices, such as terminals, for providing various services.
2) In response to: for representing a condition or state upon which an operation is performed, one or more operations performed may be in real-time or with a set delay when the condition or state upon which the operation is dependent is satisfied; without being specifically described, there is no limitation in the execution sequence of the plurality of operations performed.
3) Gray scale upgrades, i.e., local upgrades, can minimize the consequences of program errors (bugs) after the upgrade. The gray scale upgrade is a smooth switch when upgrading, when some clients of the server are to be upgraded, only some clients are upgraded and tested, so that the program is ensured to be upgraded globally after error-free, that is, all the servers are upgraded asynchronously, for example, only in area A, and after the upgrade is completed and the program is ensured to be error-free, the servers in other areas are upgraded.
Based on the above description of the terms and terminology involved in the embodiments of the present application, the embodiments of the present application will be described in detail below. The embodiment of the application provides an application upgrading method, an application upgrading device, electronic equipment, a computer readable storage medium and a computer program product, which can improve the application upgrading effect and the application upgrading efficiency.
It should be noted that, in the application of the present application, the relevant data collection process should strictly obtain the informed consent or the individual consent of the personal information body according to the requirements of the relevant laws and regulations, and develop the subsequent data use and processing actions within the authorized range of the laws and regulations and the personal information body.
The following describes an application upgrade system provided in the embodiment of the present application. Referring to fig. 1, fig. 1 is a schematic architecture diagram of an application upgrade system provided in an embodiment of the present application. To enable support for one exemplary application, the application upgrade system 100 includes: server 200, network 300, and terminals (terminals 400-1 and 400-2 are shown as examples). The terminal is connected to the server 200 through the network 300, where the network 300 may be a wide area network or a local area network, or a combination of the two, and the data transmission is implemented by using a wireless or wired link.
By way of example, terminal 400-1 (e.g., which may be running an application program that supports upgrade maintenance for an organization management application (e.g., enterprise management application)) sends an application upgrade request to server 200 in response to an application upgrade instruction (e.g., upgrade maintenance personnel); the server 200 responds to the application upgrading request to upgrade and detect a sub-management application (such as a personnel sub-management application of an enterprise management application) of an organization management application, so as to obtain a first detection result, wherein the organization management application is used for the management of a target organization; when the first detection result characterizes that the sub-management application is not upgraded, detecting the use condition of the sub-management application to obtain a second detection result; when the second detection result represents that the target organization uses the sub-management application, performing application configuration detection on the sub-management application to obtain a third detection result; when the third detection result represents that the target organization does not perform target application configuration on the sub-management application, an upgrade data packet for upgrading the sub-management application is sent to the terminal 400-2; the terminal 400-2 (e.g., running an organization management application) receives the upgrade data packet transmitted from the server 200; upgrading sub management applications of the organization management application based on the upgrading data packet; and after the sub-management application is upgraded, running the organization management application after the sub-management application is upgraded.
In some embodiments, the application upgrading method provided in the embodiments of the present application is implemented by an electronic device, for example, may be implemented by a terminal alone, may be implemented by a server alone, or may be implemented by a terminal and a server cooperatively. The embodiments of the present application may be applied to various scenarios including, but not limited to, cloud technology, artificial intelligence, intelligent transportation, assisted driving, audio-visual, instant messaging, gaming, etc.
In some embodiments, the electronic device implementing the application upgrading method provided in the embodiments of the present application may be various types of terminals or servers. The server (e.g., server 200) may be an independent physical server, or may be a server cluster or a distributed system formed by a plurality of physical servers. The terminal (e.g., terminal 400) may be, but is not limited to, a notebook computer, tablet computer, desktop computer, smart phone, smart voice interaction device (e.g., smart speaker), smart home appliance (e.g., smart television), smart watch, vehicle-mounted terminal, wearable device, virtual Reality (VR) device, aircraft, etc. The terminal and the server may be directly or indirectly connected through wired or wireless communication, which is not limited in the embodiment of the present application.
In some embodiments, the application upgrade methods provided by embodiments of the present application may be implemented by means of artificial intelligence (Artificial Intelligence, AI). Artificial intelligence is a comprehensive technology of computer science, and by researching the design principle and implementation method of various intelligent machines, the machines have the functions of sensing, reasoning and decision. Artificial intelligence technology is a comprehensive discipline and relates to a wide range of fields, such as natural language processing technology, machine learning/deep learning, automatic driving, intelligent transportation, etc.
Taking the server provided in the embodiment of the present application as an example, for example, a server cluster may be deployed in the cloud, so as to open an artificial intelligence cloud Service (AI as a Service, AIaaS) to a user or a developer, where the AIaaS platform splits several types of common AI services and provides independent or packaged services in the cloud. This service model is similar to an AI theme mall, where all users or developers can access one or more artificial intelligence services provided using the AIaaS platform by way of an application programming interface.
For example, a cloud server encapsulates a program of the application upgrading method provided in the embodiment of the present application. A user (for example, an upgrade maintainer) invokes an application upgrade service in the cloud service through a terminal (an application program supporting upgrade maintenance of an organization management application may be run), so that a server deployed in the cloud end invokes a program of the encapsulated application upgrade method. Specifically, the terminal initiates an application upgrading request of a sub-management application of the organization management application of the target organization, and the server executes the application upgrading method to upgrade the sub-management application of the target organization.
In some embodiments, the application upgrade method provided in the embodiments of the present application may be implemented by means of Cloud Technology (Cloud Technology). Cloud technology refers to a hosting technology for unifying serial resources such as hardware, software, network and the like in a wide area network or a local area network to realize calculation, storage, processing and sharing of data. The cloud technology is a generic term of network technology, information technology, integration technology, management platform technology, application technology and the like based on cloud computing business model application, can form a resource pool, and is flexible and convenient as required. Cloud computing technology will become an important support. Background services of technical network systems require a large amount of computing and storage resources. As an example, a server (e.g., server 200) may also be a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, web services, cloud communications, middleware services, domain name services, security services, content delivery networks (Content Delivery Network, CDNs), and basic cloud computing services such as big data and artificial intelligence platforms.
In some embodiments, the terminal or server may implement the application upgrade method provided in the embodiments of the present application by running various computer-executable instructions or computer programs. For example, the computer-executable instructions may be commands at the micro-program level, machine instructions, or software instructions. The computer program may be a native program or a software module in an operating system; may be a local (Native) Application (APP), i.e., a program that needs to be installed in an operating system to run, such as an organization management Application (e.g., an enterprise management Application); or an applet that can be embedded in any APP, i.e., a program that can be run only by being downloaded into the browser environment. In general, the computer-executable instructions may be any form of instructions and the computer program may be any form of application, module, or plug-in.
The electronic device for implementing the application upgrading method provided by the embodiment of the application is described below. Referring to fig. 2, fig. 2 is a schematic structural diagram of an electronic device according to an embodiment of the present application. The electronic device 500 provided in the embodiment of the present application may be a terminal or a server. As shown in fig. 2, the electronic device 500 includes: at least one processor 510, a memory 550, at least one network interface 520, and a user interface 530. The various components in electronic device 500 are coupled together by bus system 540. It is appreciated that the bus system 540 is used to enable connected communications between these components. The bus system 540 includes a power bus, a control bus, and a status signal bus in addition to the data bus. The various buses are labeled as bus system 540 in fig. 2 for clarity of illustration.
The processor 510 may be an integrated circuit chip with signal processing capabilities such as a general purpose processor, such as a microprocessor or any conventional processor, a digital signal processor (Digital Signal Processor, DSP), or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or the like.
The user interface 530 includes one or more output devices 531 that enable presentation of media content, including one or more speakers and/or one or more visual displays. The user interface 530 also includes one or more input devices 532, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.
The memory 550 may be removable, non-removable, or a combination thereof. Memory 550 may include one or more storage devices physically located away from processor 510. Memory 550 includes volatile memory or nonvolatile memory, and may also include both volatile and nonvolatile memory. The nonvolatile Memory may be a Read Only Memory (ROM), and the volatile Memory may be a random access Memory (Random Access Memory, RAM). The memory 550 described in embodiments herein is intended to comprise any suitable type of memory.
In some embodiments, memory 550 is capable of storing data to support various operations, examples of which include programs, modules and data structures, or subsets or supersets thereof, as exemplified below.
An operating system 551 including system programs for handling various basic system services and performing hardware-related tasks, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and handling hardware-based tasks;
network communication module 552 is used to reach other electronic devices via one or more (wired or wireless) network interfaces 520, exemplary network interfaces 520 include: bluetooth, wireless compatibility authentication (WiFi), and universal serial bus (Universal Serial Bus, USB), etc.;
a presentation module 553 for enabling presentation of information (e.g., a user interface for operating a peripheral device and displaying content and information) via one or more output devices 531 (e.g., a display screen, speakers, etc.) associated with the user interface 530;
the input processing module 554 is configured to detect one or more user inputs or interactions from one of the one or more input devices 532 and translate the detected inputs or interactions.
In some embodiments, the application upgrading device provided in the embodiments of the present application may be implemented in a software manner, and fig. 2 shows an application upgrading device 555 stored in a memory 550, which may be software in the form of a program, a plug-in, or the like, including the following software modules: the first detection module 5551, the second detection module 5552, the third detection module 5553 and the upgrade module 5554 are logical, and thus may be arbitrarily combined or further split according to the implemented functions, the functions of each module will be described below.
The application upgrading method provided by the embodiment of the application is described below. As described above, the application upgrading method provided in the embodiments of the present application is implemented by an electronic device, for example, may be implemented by a server or a terminal alone, or implemented by the server and the terminal cooperatively. The execution subject of each step will not be repeated hereinafter. Referring to fig. 3, fig. 3 is a flowchart of an application upgrading method provided by an embodiment of the present application, where the application upgrading method provided by the embodiment of the present application includes:
step 101: and upgrading the sub management application of the organization management application to obtain a first detection result, wherein the organization management application is used for the management of the target organization.
It should be noted that, an organization (or target organization) refers to a group or a community, such as an enterprise, a class, a school, an organization, etc., in which a plurality of organization members are cooperatively combined to achieve a certain target. The organization management application can be used for the management of organizations, such as the management of organization personnel, the management of personnel matters (such as leave, job entry, job adjustment and the like) of the organization personnel, the management of personnel applications (such as office supplies applications, work resources (such as private cloud) applications) of the organization personnel, the communication management of the organization personnel and the like. The sub-management application is a unit module of the organization management application, and has at least one management function of the organization management application, such as item management of organization personnel. By way of example, the organization management application may be an enterprise management application and the sub-management application may be a personnel management application of the enterprise management application.
In step 101, if the child management application of the organization management application has a new version, the child management application may be application upgraded. When upgrading the sub-management application of the target organization, the sub-management application is required to be upgraded and detected first, and a first detection result is obtained. Here, the first detection result is used to characterize whether the sub-management application has been upgraded. As an example, a user (for example, an upgrade maintainer) triggers an application upgrade instruction for a sub-management application through a terminal (an application program supporting upgrade maintenance for an organization management application is running), sends an application upgrade request to a server, and then the server responds to the application upgrade request to execute the application upgrade method provided by the embodiment of the application upgrade method for the sub-management application to the sub-management application so as to realize upgrade processing of the sub-management application.
In some embodiments, step 101 may be implemented by steps 1011-1014 as follows: step 1011, obtaining the tissue identification of the target tissue; step 1012, inquiring upgrading zone bits corresponding to the organization identifiers based on the organization identifiers; step 1013, when the upgrade flag bit indicates that the sub-management application is not upgraded, determining to obtain a first detection result representing that the sub-management application is not upgraded; in step 1014, when the upgrade flag bit indicates that the sub-management application has been upgraded, it is determined that a first detection result is obtained that characterizes that the sub-management application has been upgraded.
It should be noted that each organization has a corresponding organization identifier, and the organization identifier is configured for the organization in advance. In step 1011, a tissue identification of the target tissue is obtained. In step 1012, each organization is also provided with a corresponding upgrade flag bit, where the upgrade flag bit and the organization identifier may be stored in association in the database, so that, based on the organization identifier, the upgrade flag bit corresponding to the organization identifier may be queried from the database, for example, the database is a Key (Key) Value (Value) database, and then the Key may be used as the organization identifier, and the Value corresponding to the Key (i.e., the upgrade flag bit) may be queried in the database. The upgrade flag bit is used to indicate whether the sub-management application has been upgraded, for example, when the upgrade flag bit takes a first value (e.g., 1), the sub-management application has been upgraded, and when the upgrade flag bit takes a second value (e.g., 0), the sub-management application has not been upgraded. In step 103, if the upgrade flag bit indicates that the sub-management application is not upgraded, it is determined that a first detection result indicating that the sub-management application is not upgraded is obtained. In step 104, if the upgrade flag bit indicates that the sub-management application has been upgraded, it is determined that a first detection result is obtained that characterizes the sub-management application has been upgraded.
It should be noted that, in step 101, if the first detection result indicates that the sub-management application has been upgraded, it is determined that the sub-management application does not need to be upgraded, and the terminal sub-management application returned to the user (e.g. upgrade maintainer) does not need to be upgraded at this time, and the execution of the application upgrade method is ended; if the first detection result characterizes that the sub-management application is not upgraded, the application upgrade method is continued, i.e. it is determined that step 102 is to be performed.
Step 102: and when the first detection result characterizes that the sub-management application is not upgraded, detecting the use condition of the sub-management application to obtain a second detection result.
In step 102, when the first detection result indicates that the sub-management application is not upgraded, the sub-management application needs to be subjected to usage detection to obtain a second detection result. Here, the second detection result is used to characterize whether the target organization has used the child management application. That is, step 102 is to detect whether the target organization has used the sub-management application, and if the second detection result indicates that the target organization does not use the sub-management application, then it is determined that the sub-management application does not need to be upgraded, so that for the organization that does not use the sub-management resource, the application upgrade can be omitted, thereby reducing unnecessary application upgrade, reducing the time consumption of application upgrade for a large number of organizations, and improving the application upgrade efficiency; at this time, returning to the terminal sub-management application of the user (for example, upgrade maintainer) a result that the upgrade is not required, and ending executing the application upgrade method; if the second detection result characterizes that the target organization has used the sub-management application, the application upgrade method continues, i.e. it is determined that step 103 is to be performed.
In some embodiments, step 102 may be implemented by: obtaining an organization identifier of a target organization; inquiring application basic information of the sub-management application corresponding to the organization identifier based on the organization identifier, wherein the application basic information comprises at least one of an enabling zone bit and an application using range; the enabling flag bit indicates whether the sub-management application is enabled or not, and the application use range indicates the use range of the sub-management application in the target organization; when the application basic information indicates that the sub-management application is used, determining to obtain a second detection result representing that the target organization has used the sub-management application; and when the application basic information indicates that the sub-management application is not used, determining to obtain a second detection result which characterizes that the target organization does not use the sub-management application.
It should be noted that each organization has a corresponding organization identifier, and the organization identifier is configured for the organization in advance. Firstly, obtaining an organization identifier of a target organization, and then inquiring application basic information of sub-management applications corresponding to the organization identifier based on the organization identifier. The application basic information and the organization identifier may be stored in the database in an associated manner, so that the application basic information of the sub-management application corresponding to the organization identifier, for example, a database is a Key (Key) Value (Value) database, can be queried from the database based on the organization identifier, and then the Key is taken as the organization identifier, so that the Value (i.e., the application basic information) corresponding to the Key can be queried in the database. Here, the application basic information includes at least one of an enable flag bit and an application use range. The enable flag bit indicates whether the sub-management application is enabled, for example, when the enable flag bit takes a first value (e.g., 1), the sub-management application is enabled, and when the enable flag bit takes a second value (e.g., 0), the sub-management application is not enabled. The application usage scope indicates the scope of usage of the sub-management application in the target organization, which may be represented by a collection including an identification of the organization departments (or organization members) within the target organization.
When determining whether the sub-management application has been used based on the application base information, if the application base information only includes an enable flag bit, determining that the application base information indicates that the sub-management application has been used when a flag value of the enable flag bit is a target value (such as 1), and determining that a second detection result representing that the target organization has used the sub-management application is obtained; when the flag value of the enabled flag bit is not the target value, determining that the application basic information indicates that the sub-management application is not used, and determining that a second detection result representing that the target organization does not use the sub-management application is obtained.
When determining whether the sub-management application has been used based on the application base information, if the application base information only includes an application use range, determining that the application base information indicates that the sub-management application has been used when the application use range indicates that the use range of the sub-management application is all organization members in the target organization, and determining that a second detection result characterizing that the target organization has used the sub-management application is obtained; when the application use range indicates that the use range of the sub-management application is not all organization members in the target organization, determining that the application basic information indicates that the sub-management application is not used, and determining to obtain a second detection result representing that the target organization does not use the sub-management application. By way of example, taking the application usage scope as an example, which may be represented by a collection of organization department identifications including organization departments within a target organization, when the collection includes the target identification, determining that the application usage scope indicates that the usage scope of the sub-management application is all organization members in the target organization; when the target identifier is not included in the set, then it is determined that the application usage scope indicates that the usage scope of the sub-management application is not a member of all organizations in the target organization. When searching the target identification, randomly extracting an organization department identification from the set, searching a father organization department identification of the organization department identification, searching a father organization department identification … … of the father organization department identification, and the like until the last father organization department identification is found, and if the last father organization department identification is the target identification, determining that the set comprises the target identification; if the last parent organization identification is not the target identification, then it is determined that the target identification is not included in the set. In this way, whether the set includes the target identifier can be quickly determined, so that the application upgrading efficiency is improved.
In some embodiments, when the application base information includes an enable flag bit and an application use range, it may be determined whether the sub-management application has been used by: when the enabling flag bit and the application use range both indicate that the sub-management application is used, determining that the application basic information indicates that the sub-management application is used; when at least one of the enable flag bit and the application use range indicates that the sub-management application is not used, determining that the application basic information indicates that the sub-management application is not used; when the flag value of the enabling flag bit is a target value, the enabling flag bit indicates that the sub-management application is used; when the application usage scope indicates that the usage scope of the sub-management application is all organization members in the target organization, the application usage scope indicates that the sub-management application has been used.
Therefore, whether the target organization uses the sub-management application or not can be detected in various modes, and the accuracy of the use condition detection is improved, so that the application effect is improved.
In some embodiments, step 102 may also be implemented by: determining a target time period before the current time point, wherein the time interval between the ending time point of the target time period and the current time point does not exceed a time interval threshold; and detecting the use condition of the sub-management application in the target time period to obtain a second detection result.
It should be noted that the usage of the sub-management application in the target period may be detected, and the time interval between the ending time point of the target period and the current time point does not exceed the time interval threshold, which should take a small value. Based on this, it can be determined whether the target organization has used the child management application by the use case of the child management application in the near future. Therefore, for the organization which does not use the sub-management application recently, the application upgrading can be omitted, unnecessary application upgrading can be reduced, the time consumption of the application upgrading of a large number of organizations is reduced, and the application upgrading efficiency is improved.
In some embodiments, the usage of the sub-management application in the target time period may be detected by the following steps, to obtain a second detection result: acquiring use record information of the sub-management application; determining that a second detection result representing that the target organization has used the sub-management application is obtained when the usage record information includes usage records of the sub-management application in the target time period; when the usage record information does not include the usage record of the sub-management application in the target time period, a second detection result which characterizes that the target organization does not use the sub-management application is determined.
It should be noted that, when detecting the usage of the sub-management application in the target time period, the method may be implemented based on usage record information of the sub-management application, that is, the usage record information of the sub-management application is obtained, and when the usage record information includes the usage record of the sub-management application in the target time period, it is determined that a second detection result characterizing that the target organization has used the sub-management application is obtained; when the usage record information does not include the usage record of the sub-management application in the target time period, a second detection result which characterizes that the target organization does not use the sub-management application is determined. As an example, taking a personnel management application in which a sub management application is an enterprise management application as an example, the usage record information may be a commit record of a personnel management template, and if the personnel management application has a commit record of the personnel management template in a target period, the personnel management application is used in the target period.
Step 103: and when the second detection result characterizes that the target organization uses the sub-management application, performing application configuration detection on the sub-management application to obtain a third detection result.
In step 103, when the second detection result characterizes that the target organization has used the sub-management application, application configuration detection is required for the sub-management application, so as to obtain a third detection result. Here, the third detection result is used to characterize whether the target organization performs target application configuration on the sub-management application. The target application configuration refers to a privately-owned application configuration of a target organization for a sub-management application, and is a personalized application configuration of the target organization for the sub-management application, and taking a personnel management application of the sub-management application as an enterprise management application as an example, the target application configuration can be privately-owned setting of a personnel management template of the personnel management application by the target organization, privately-owned association of a personnel application form, modification of personnel approval conditions, modification of control authority of the personnel management application, association of external options and the like. If the third detection result characterizes that the target organization has carried out target application configuration on the sub-management application, it can be determined that the sub-management application does not need to be upgraded, so that the influence of application upgrading on the privately-owned application configuration of the sub-management application by the target organization is reduced, the application upgrading is prevented from resetting the privately-owned application configuration of the sub-management application, and the user experience is improved; at this time, returning to the terminal sub-management application of the user (for example, upgrade maintainer) a result that the upgrade is not required, and ending executing the application upgrade method; if the third detection result characterizes that the target organization does not perform the target application configuration on the sub-management application, the application upgrading method is continuously executed, that is, it is determined that step 104 is to be executed.
In some embodiments, step 103 may be implemented by: acquiring preset application configuration of the sub-management application and organization application configuration of the sub-management application under the use of a target organization; comparing the preset application configuration with the organization application configuration to obtain a comparison result; when the comparison result indicates that the preset application configuration is the same as the organization application configuration, determining to obtain a third detection result representing that the target organization does not perform target application configuration on the sub-management application; and when the comparison result indicates that the preset application configuration and the organization application configuration are different, determining to obtain a third detection result representing that the target organization has performed target application configuration on the sub-management application.
In some embodiments, the preset application configuration of the sub-management application, and the organization application configuration of the sub-management application under the target organization use may be obtained by: acquiring a preset application configuration structure body of the sub-management application and an organization application configuration structure body of the sub-management application under the use of a target organization; correspondingly, the preset application configuration and the organization application configuration can be compared through the steps to obtain a comparison result: based on a preset application configuration structure, field filling is carried out on the tissue application configuration structure to obtain a target tissue application configuration structure; serializing a preset application configuration structure body to obtain a first byte stream, and serializing a target organization application configuration structure body to obtain a second byte stream; comparing the first byte stream with the second byte stream; when the first byte stream and the second byte stream are the same, determining to obtain a comparison result indicating that the preset application configuration and the organization application configuration are the same; and when the first byte stream and the second byte stream are different, determining to obtain a comparison result indicating that the preset application configuration and the organization application configuration are different.
It should be noted that the sub-management application has a preset application configuration. When the target organization privately-stores the sub-management application, the sub-management application is carried out on the basis of the preset application configuration. The application configuration of the target organization in the current version of the sub-application is an organization application configuration. The preset application configuration and the organization application configuration are stored in a structure conforming to the target protocol. Thus, acquired here are a preset application configuration structure of the sub-management application, and an organization application configuration structure of the sub-management application under the use of the target organization. When comparing the preset application configuration and the organization application configuration, firstly, field filling is carried out on the organization application configuration structure based on the preset application configuration structure to obtain a target organization application configuration structure; comparing the first byte stream with the second byte stream, and if the first byte stream is the same as the second byte stream, determining to obtain a comparison result indicating that the preset application configuration is the same as the organization application configuration; if the first byte stream and the second byte stream are different, a comparison result indicating that the preset application configuration and the organization application configuration are different is determined.
In some embodiments, step 103 may also be implemented by: detecting whether the sub-management application is associated with external configuration information; when the fact that the sub-management application is not associated with external configuration information is detected, determining to obtain a third detection result indicating that the target organization does not carry out target application configuration on the sub-management application; and when the fact that the sub-management application is associated with the external configuration information is detected, determining to obtain a third detection result which characterizes that the target organization has configured the sub-management application.
It should be noted that the external configuration information is other information associated with the sub-management application and not belonging to the organization management application, such as pages of other applications, application forms, files, and the like imported from the outside. When the fact that the sub-management application is not associated with external configuration information is detected, determining to obtain a third detection result indicating that the target organization does not carry out target application configuration on the sub-management application; and when the fact that the sub-management application is associated with the external configuration information is detected, determining to obtain a third detection result which characterizes that the target organization has configured the sub-management application. In this way, the influence of the application upgrade on the privately-owned application configuration (namely the associated external configuration information) of the sub-management application by the target organization is reduced, the application upgrade is prevented from resetting the privately-owned application configuration of the sub-management application, and the user experience is improved.
Step 104: and when the third detection result characterizes that the target organization does not carry out target application configuration on the sub-management application, upgrading the sub-management application.
In step 104, when the third detection result indicates that the target organization does not perform target application configuration on the sub-management application, upgrading the sub-management application. Meanwhile, an upgrade rollback function of the sub-management application can be provided on the organization management application side, and based on the upgrade rollback function, a sub-management application user (such as an administrator of a target organization) can rollback the upgrade of the sub-management application according to needs, namely, the sub-application management after the upgrade is restored to the sub-application management before the upgrade, so that the user use experience can be improved, and the situation that the user cannot rollback to an old version after the problem of an application upgrade new version is solved is avoided. When the third detection result characterizes that the target organization has carried out target application configuration on the sub-management application, it can be determined that the sub-management application does not need to be upgraded, so that the influence of application upgrading on the privately-owned application configuration of the sub-management application by the target organization is reduced, the application upgrading is prevented from resetting the privately-owned application configuration of the sub-management application, and the user experience is improved.
In some embodiments, when the third detection result characterizes that the target organization has configured the sub-management application for the target application, an upgrade request for the sub-management application is sent to a terminal where the organization management application is located; and when receiving an upgrade confirmation instruction returned based on the upgrade request, upgrading the sub-management application. Here, if the third detection result characterizes that the target organization has configured the sub-management application, then the sub-management application user (such as an administrator of the target organization) may also be given to determine whether the upgrade is needed. If necessary, the upgrade confirmation instruction can be triggered manually, and the sub-management application is upgraded if the upgrade confirmation instruction returned based on the upgrade request is received.
In some embodiments, after the upgrade process is performed on the sub-management application, the following steps may also be performed: determining a target number of first organizations related to a target organization; and upgrading the sub-management applications of the first organization with the target quantity. Here, a target number of first tissues associated with the target tissue, such as a target number of first tissues located in the same region as the target tissue, such as a target number of first tissues belonging to the same tissue type as the target tissue, may be determined. Then, the sub-management application of the first organization with the target number is upgraded. Therefore, the application upgrading efficiency can be improved, only part of organizations are subjected to application upgrading, gray scale upgrading can be realized, and the consequences caused by program bug after upgrading are reduced to the greatest extent.
By applying the embodiment of the application, upgrade detection is firstly carried out on sub-management applications of an organization management application (for management of a target organization) to obtain a first detection result; then, when the first detection result characterizes that the sub-management application is not upgraded, detecting the use condition of the sub-management application to obtain a second detection result; then when the second detection result represents that the target organization uses the sub-management application, carrying out application configuration detection on the sub-management application to obtain a third detection result; and when the third detection result characterizes that the target organization does not carry out target application configuration on the sub-management application, upgrading the sub-management application. Here, whether the sub-management application is upgradeable is determined by performing upgrade detection, use case detection, and application configuration detection on the sub-management application, respectively, and in the case where it is determined that the sub-management application is upgradeable, the sub-management application is automatically upgraded. Therefore, the influence of application upgrading on the target application configuration of the sub management application by the target organization is reduced, the application upgrading effect is improved, the application upgrading efficiency is improved, and the compatibility problem caused by application upgrading is reduced.
An exemplary application of the embodiment of the present application in a practical application scenario is described below by taking a version upgrade of a personnel management application (a sub-management application of an enterprise management application) of an enterprise as an example. With the version upgrade of the personnel management application, the personnel management application continually pushes out new functions. But the version of the personnel management application of some enterprises is too old, so that the new function and the old function have compatibility problems. Therefore, it is necessary to determine whether the personnel management application of the enterprise is upgradeable, so as to automatically upgrade the personnel management application when the upgradeable personnel management application is determined, so that new and old functions are better compatible, and the process management efficiency is improved. However, how to determine whether a corporate personnel management application is upgradeable is a difficult issue to trade off. Specifically, (1) if the upgrade conditions are too loose: most enterprises are upgraded, users may become accustomed to old versions, and more privately customized versions are already performed in the old system, and the privately customized versions of the users are reset to influence the user experience. (2) if the upgrade conditions are too stringent: only a small part of enterprises can be upgraded, and most of enterprises cannot use the new version, so that the compatibility problem of the new and old functions is not solved.
Based on the above, the embodiment of the application upgrading method can reasonably judge whether the personnel management application of the enterprise is upgradeable or not, so that the judging process has stronger robustness and robustness, and an intelligent and automatic upgrading judging framework of the personnel management application of the enterprise is realized. The following detailed description is given.
The upgrade judgment framework provided by the embodiment of the application is divided into three layers, namely a background service layer, a general framework layer and a business framework layer. Referring to fig. 4, fig. 4 is a flowchart of an application upgrading method provided in an embodiment of the present application. Here, the processing flow of each layer in the upgrade determination framework includes: 1. the background service layer transmits the relevant information of the enterprise to the universal framework layer. 2. And (3) performing idempotent verification by the universal framework layer, if the verification is illegal (i.e. the personnel management application is upgraded), executing step 11, and if the verification is legal (i.e. the personnel management application is not upgraded), executing step 3. 3. The generic framework layer performs an availability check, if the check is not legal (i.e. the personnel management application is not used), then step 11 is performed, if the check is legal (i.e. the personnel management application is used), then step 4 is performed. 4. The generic framework layer performs a time period check, if the check is not legal (i.e. the personnel management application is not used in the target time period), then step 11 is performed, and if the check is legal (i.e. the personnel management application is used in the target time period), then step 5 is performed. 5. The business framework layer detects whether the preset template changes, if not, the operation is performed 6, and if yes, the operation is performed 11. 6. The service framework layer detects whether the condition approval is modified, if not, the process is executed 7, and if yes, the process is executed 11. 7. The business framework layer detects whether the control authority is modified, if not, the business framework layer executes the step 8, and if so, the business framework layer executes the step 11. 8. The service framework layer detects whether the application form is associated, if not, the method is executed 9, and if yes, the method is executed 11. 9. The service framework layer detects whether the external options are associated, if not, the process is executed 10, and if yes, the process is executed 11. 10. And returning an upgrading judging result of the upgradeable device. 11. And returning an upgrading judging result of non-upgradeable. Based on this, the flow of the process of the upgrade determination framework will be described in detail below.
(1) And a background service layer. The background service layer is a connection layer of a background server of the personnel management application and an upgrade judgment framework, and is used for receiving an upgrade judgment request of the background server for the personnel management application of an enterprise, analyzing the upgrade judgment request and obtaining relevant information of the enterprise, such as an operator id, an operator authority, an enterprise id and the like; the relevant information of the enterprise is then passed through to the generic framework layer.
(2) A generic framework layer. The generic framework layer is used for performing the generic detection (i.e., the upgrade detection of step 101 and the usage detection of step 102 described above), including idempotent detection, availability detection, and time period detection. Before the upgrade judgment framework runs, it is necessary to register the function for each type of commonality detection. For example, an idempotent detection department registers a function of "whether the enterprise's personnel management application is upgraded"; the availability check registers a function of "whether the personnel management application is enabled & whether the visible range is enterprise-wide". Therefore, the universality of the upgrade judging framework can be improved by realizing the detection of the universality through the registration function, and if the judging condition of the upgrade judging framework is changed, only the registration function is needed to be modified, the upgrade judging framework is not needed to be modified, and even if the upgrade judging framework is applied to other scenes, the upgrade judging can be also established. Referring to fig. 5, fig. 5 is a flowchart of an application upgrading method provided in an embodiment of the present application. Here, the processing flow of the generic framework layer includes: 1. idempotency detection: whether the personnel management application of the enterprise is upgraded. 2. Availability detection: whether the personnel management application enables & the visible range is enterprise-wide. 3. And (3) detecting a time period: whether a new personnel management template of the personnel management application has been submitted within a preset period of time (for example, the last 90 days). Based on this, the processing flow of the generic framework layer is described in detail below.
(2.1) idempotent detection: whether the personnel management application of the enterprise is upgraded. Specifically, frame1 (i.e., generic framework layer) sends a detection request for idempotent detection to CorpHrSvr (i.e., the background server of the personnel management application); corpHrSvr queries DataBase (DataBase) StringKV (which is a KV structure store, through which a corresponding Value can be obtained) and returns the query result (i.e., value) to Frame1. The Key Value corresponds to the enterprise id of the enterprise, the Value corresponds to a flag bit, and the flag bit represents whether personnel management application of the enterprise is upgraded or not. If the flag bit represents that the enterprise has been upgraded, determining that the personnel management application does not need to be upgraded; if the flag bit represents that the enterprise is not upgraded, the following steps are continuously executed.
(2.2) availability detection: whether the personnel management application enables & the visible range is enterprise-wide. Specifically, frame1 sends a detection request for availability detection to CorpAppSvr (i.e., a background server of an enterprise management application, which is an application unit of the enterprise management application), so as to make a remote procedure call (Remote Procedure Call, RPC) to CorpAppSvr; corpAppSvr queries the database StringKV and returns the query result (i.e., value) to Frame1. The Key Value corresponds to an enterprise id, the Value corresponds to a structural body, and the structural body is used for storing personnel management application information, wherein the personnel management application information comprises: whether the personnel management application is open (represented by a flag), the visible range of the personnel management application. It should be noted that, whether the visible range of the personnel management application is a whole enterprise may be determined by the following manner: the visible range of the personnel management application is a department id set of the enterprise, and if the department id set contains an identifier rootPartyId, the visible range of the personnel management application is indicated to be the whole enterprise. The manner of obtaining the rootpartid is implemented by adopting and searching a reverse search algorithm, see fig. 6, and fig. 6 is a schematic diagram of searching a visible range of the personnel management application provided in the embodiment of the present application. Here, a target department id (i.e., id 1) is randomly extracted from the department id set, and a parent node (i.e., parent department id) of the target department id is continuously searched, so as to find the rootPartyId of the enterprise.
In this way, if it is determined based on the availability detection that the personnel management application is not enabled or the visible range is not enterprise-wide, it is determined that the personnel management application does not need to be upgraded; if it is determined based on the availability detection that the personnel management application is enabled or the visible range is enterprise-wide, then continuing to execute the subsequent steps.
(2.3) time period detection: whether a new personnel management template of the personnel management application has been submitted within a preset period of time (for example, the last 90 days). Specifically, frame1 sends a detection request for period detection to RecordDao (i.e., the management layer that submits the record); the RecordDao sets a time filter (filter) and queries the database PKV through the time filter to obtain a commit record of the new personnel management template within a preset time period. The data structure of PKV is shown in fig. 7 (fig. 7 is a schematic diagram of a commit record of a new personnel management template provided in an embodiment of the present application), where corpid represents enterprise id, sp_no represents commit record id, and content represents detailed information of the commit record. In practical application, since the information amount of the table storing and submitting the record is large, in order to realize quick query, the Key can be formed by combining a form+time (e.g. yeartime), for example, when the time is yeartime, the split-table query can be performed by yeartime according to the year.
Therefore, whether the new personnel management template is submitted in the preset time period can be determined through the submitting record of the new personnel management template in the preset time period. If the new personnel management template is not submitted within the preset time period, the enterprise can be considered to be basically not used for the personnel management application, and the personnel management application is determined to be not required to be updated; if the new personnel management template is submitted within the preset time period, continuing to execute the subsequent steps.
In summary, the general framework layer processing flow includes: s1, if the enterprise is determined to be upgraded based on idempotent detection, determining that personnel management application does not need to be upgraded, and returning an upgrade judgment result without upgrading; if it is determined that the enterprise is not upgraded based on the idempotent detection, then the subsequent steps are continued. S2, if the personnel management application is determined to be not started or the visible range is not a whole enterprise based on the availability detection, determining that the personnel management application is not required to be updated, and returning an updating judgment result without updating; if it is determined based on the availability detection that the personnel management application is enabled or the visible range is enterprise-wide, then continuing to execute the subsequent steps. S3, if the fact that the new personnel management template is not submitted in the preset time period is determined based on the time period detection, the fact that the personnel management application is not required to be updated is determined, and an updating judgment result without updating is returned; if the new personnel management template is submitted in the preset time period based on the time period detection, continuing to execute the subsequent steps.
(3) Business framework layer. The service framework layer is configured to perform the application configuration detection of step 103 described above. The function registered by the service framework layer is a function related to the service and is suitable for personnel management of the service. Referring to fig. 8, fig. 8 is a flowchart of an application upgrading method provided in an embodiment of the present application. Here, the processing flow of the service framework layer includes: 1. and presetting the change detection of the personnel management template. 2. And (5) comparing the condition approval with the control permission. 3. And (3) detecting association of the application form and the external option. Based on this, the processing flow of the service framework layer is described in detail below.
And (3.1) presetting the change detection of the personnel management template. Specifically, frame2 (i.e. a service framework layer) calls template dao (i.e. a management layer of a personnel management template) to query a database StringKV, wherein the Key Value of the StringKV is enterprise id (i.e. morph) of an enterprise, and the Value is a list of all personnel management templates of the enterprise, as shown in fig. 9, and fig. 9 is a schematic diagram of the personnel management template list provided in the embodiment of the present application. Here, the person management Template list includes person management templates Template1-Template n, each Template including a template_id (person management Template identification), a template_name (person management Template name), a template_status (person management Template state). After the list of personnel management templates for the enterprise is obtained, the old personnel management templates with the specific mark (located in template_status) in the list of personnel management templates are determined.
In this way, whether the personnel management application is upgradeable is determined by judging whether the enterprise administrator obtains the old personnel management template by modifying the preset personnel management template: if yes, determining that the personnel management application is not upgradeable; if not, continuing to execute the subsequent steps.
It should be noted that, because the structure of the old personnel management template is complex, when judging whether the old personnel management template is modified, the protobuf comparison interface of AlgorithmSvr can be called to compare the old personnel management template with the preset old personnel management template, and the comparison process includes: a) Taking out protobuf of a preset old personnel management template; b) Taking out the protobuf of the old personnel management template of the enterprise, and carrying out field filling on the taken out old personnel management template according to the protobuf of the preset old personnel management template; c) Serializing a structure body of a preset old personnel management template into a byte stream A, and serializing the structure body of the old personnel management template of the enterprise into a byte stream B; d) Comparing the byte stream A with the byte stream B, and if the byte stream A is the same as the byte stream B, indicating that the old personnel management template is not modified; if the byte stream A is different from the byte stream B, the old personnel management template is modified.
(3.2) comparing the condition approval with the control permission. Specifically, frame2 calls template dao to read template flow information of the old personnel management template from DataBase based on the form+template_id, see fig. 10, and fig. 10 is a schematic structural diagram of the template flow information provided in the embodiment of the present application. Here, the Template flow information includes fields such as template_id, creator_ vid, updatetime, and the like; as an example, the field 4 "template_approval_controls" represents a structure, and after the structure is expanded, an approval flowchart may be obtained, as shown in fig. 11, and fig. 11 is a schematic diagram of an approval flowchart of the personnel management template provided in the embodiment of the present application. Here, as shown in fig. 11 (1), the approval process of the preset personnel management template is unbranched, i.e., the approval process of the preset personnel management template is a unidirectional unbranched diagram; if the enterprise administrator sets the condition approval in the approval process, the approval process diagram of the personnel management template becomes a unidirectional branched diagram, and the branches involve judgment of the approval condition, as shown in (2) in fig. 11.
In this way, by comparing the comparison condition approval and the control authority in the template flow of the old personnel management template with the comparison condition approval and the control authority in the template flow of the preset personnel management template, whether the personnel management application can be upgraded is determined: if at least one of the condition approval and the control authority in the template flow information is modified, determining that the personnel management application is not upgradeable; if the condition approval and the control authority in the template flow information are not modified, continuing to execute the subsequent steps.
(3.3) association detection of the application form and the external option. Specifically, calling template dao reads template detail information of the old personnel management template from the DataBase based on the template_id, referring to fig. 12, fig. 12 is a schematic structural diagram of the template detail information provided in the embodiment of the present application. Here, the Template detail information includes fields of template_id, template_content, and the like.
(3.3.1) detection of the application form. Specifically, a template_content field is taken out from Template detail information, the template_content is a structure body, the detailed setting of the old personnel management Template is indicated, the associated application form can be set through the entry, see fig. 13, and fig. 13 is a schematic diagram of the setting of the associated application form provided in the embodiment of the present application. Here, as shown in (1) to (2) in fig. 13, after the related application forms are clicked, all types of application forms may be selected for association, or a designated type of application form may be selected for association.
(3.3.2) detection of external options. Specifically, in the structure of the template_content, the external options may be associated. Referring to fig. 14, fig. 14 is a schematic view of the setting of external options provided in the embodiment of the present application. Here, after the external option is associated, configuration such as page skip may be performed, where the configuration is generally associated with the external enterprise, and may skip to the relevant interface of the external enterprise.
Thus, by detecting whether the application form and the external option in the template details of the old personnel management template are associated, it is determined whether the personnel management application is upgradeable: if at least one of the application form and the external option is associated, determining that the personnel management application is not upgradeable; if neither the application form nor the external option are associated, the personnel management application may be upgraded.
In summary, the processing flow of the service framework layer includes: s1, comparing whether a preset personnel management template is the same as an old personnel management template currently used by the enterprise, if not, determining that the personnel management application is not upgradeable, and returning an upgradeable upgrading judgment result; if the two steps are the same, the subsequent steps are continued. S2, comparing the comparison condition approval and the control authority in the template flow of the old personnel management template with the comparison condition approval and the control authority in the template flow of the preset personnel management template respectively, if at least one of the condition approval and the control authority in the template flow information is modified, determining that the personnel management application is not upgradeable, and returning an upgradeable upgrading judgment result; if the condition approval and the control authority in the template flow information are not modified, continuing to execute the subsequent steps. S3, detecting whether an application form and external options in template details of the old personnel management template are set, and determining whether the personnel management application is upgradeable or not: if at least one of the application form and the external options is set, determining that the personnel management application is not upgradeable, and returning an upgrade judgment result which is not upgradeable; if neither the application form nor the external option is set, the personnel management application may be upgraded.
Finally, if the personnel management application of the enterprise is determined to be upgradeable through the upgrade judging framework, the personnel management application of the enterprise can be upgraded. In practical application, gray scale upgrading can be performed on personnel management applications of a part (such as a preset proportion) of enterprises, so that consequences caused by program bug after upgrading are reduced to the greatest extent, and user experience is improved.
The embodiment of the application comprises 1) judging whether the personnel management application of the enterprise is upgradeable or not, so that the personnel management application is automatically upgraded when the upgradeable personnel management application is confirmed, new and old functions are better compatible, and the process management efficiency is improved; 2) If the functions of the subsequent personnel management application are continuously updated, the upgrade conditions required by the judgment can be quickly updated by performing function registration and modification on the general framework layer and the service framework layer of the upgrade judgment framework, so that the time required by subsequent deletion and modification checking on the upgrade judgment framework is shortened, and the usability of the upgrade judgment framework is greatly enhanced.
Continuing with the description below of an exemplary architecture of the application upgrade apparatus 555 implemented as a software module provided by embodiments of the present application, in some embodiments, as shown in fig. 2, the software modules stored in the application upgrade apparatus 555 of the memory 550 may include: the first detection module 5551 is configured to perform upgrade detection on a sub-management application of an organization management application, to obtain a first detection result, where the organization management application is used for management of a target organization; a second detection module 5552, configured to detect a usage situation of the sub-management application when the first detection result characterizes that the sub-management application is not upgraded, so as to obtain a second detection result; a third detection module 5553, configured to perform application configuration detection on the sub-management application when the second detection result characterizes that the target organization has used the sub-management application, so as to obtain a third detection result; and the upgrade module 5552 is configured to upgrade the sub-management application when the third detection result characterizes that the target organization does not configure the sub-management application.
In some embodiments, the first detection module 5551 is further configured to obtain a tissue identifier of the target tissue; inquiring an upgrading zone bit corresponding to the organization identifier based on the organization identifier; when the upgrade flag bit indicates that the sub-management application is not upgraded, determining to obtain a first detection result representing that the sub-management application is not upgraded; and when the upgrade flag bit indicates that the sub-management application is upgraded, determining to obtain a first detection result representing that the sub-management application is upgraded.
In some embodiments, the second detection module 5552 is further configured to obtain a tissue identifier of the target tissue; inquiring application basic information of the sub-management application corresponding to the organization identifier based on the organization identifier, wherein the application basic information comprises at least one of an enabling zone bit and an application use range; wherein the enable flag bit indicates whether the sub-management application is enabled, and the application use range indicates a use range of the sub-management application in the target organization; determining that a second detection result which characterizes that the target organization has used the sub-management application is obtained when the application basic information indicates that the sub-management application has been used; and when the application basic information indicates that the sub-management application is not used, determining to obtain a second detection result which characterizes that the target organization does not use the sub-management application.
In some embodiments, when the application base information includes the enable flag and the application usage range, the second detection module 5552 is further configured to determine that the application base information indicates that the sub-management application has been used when the enable flag and the application usage range both indicate that the sub-management application has been used; when at least one of the enable flag bit and the application use range indicates that the sub-management application is not used, determining that the application basic information indicates that the sub-management application is not used; when the flag value of the enabling flag bit is a target value, the enabling flag bit indicates that the sub-management application is used; when the application use scope indicates that the use scope of the sub-management application is all organization members in the target organization, the application use scope indicates that the sub-management application has been used.
In some embodiments, the second detection module 5552 is further configured to determine a target time period that is located before the current time point, where a time interval between an ending time point of the target time period and the current time point does not exceed a time interval threshold; and detecting the use condition of the sub-management application in the target time period to obtain the second detection result.
In some embodiments, the second detection module 5552 is further configured to obtain usage record information of the sub-management application; determining that a second detection result characterizing that the target organization has used the sub-management application is obtained when the usage record information includes usage records of the sub-management application in the target period of time; and when the usage record information does not comprise the usage record of the sub-management application in the target time period, determining to obtain a second detection result which characterizes that the target organization does not use the sub-management application.
In some embodiments, the third detection module 5553 is further configured to obtain a preset application configuration of the sub-management application, and an organization application configuration of the sub-management application under the use of the target organization; comparing the preset application configuration with the organization application configuration to obtain a comparison result; when the comparison result indicates that the preset application configuration and the organization application configuration are the same, determining to obtain a third detection result representing that the target organization does not perform target application configuration on the sub-management application; and when the comparison result indicates that the preset application configuration and the organization application configuration are different, determining to obtain a third detection result which characterizes that the target organization has performed target application configuration on the sub-management application.
In some embodiments, the third detection module 5553 is further configured to obtain a preset application configuration structure of the sub-management application, and an organization application configuration structure of the sub-management application under the use of the target organization; the third detection module 5553 is further configured to perform field filling on the organization application configuration structure based on the preset application configuration structure to obtain a target organization application configuration structure; serializing the preset application configuration structure body to obtain a first byte stream, and serializing the target organization application configuration structure body to obtain a second byte stream; comparing the first byte stream with the second byte stream; when the first byte stream and the second byte stream are the same, determining to obtain a comparison result indicating that the preset application configuration and the organization application configuration are the same; and when the first byte stream and the second byte stream are different, determining to obtain a comparison result indicating that the preset application configuration and the organization application configuration are different.
In some embodiments, the third detecting module 5553 is further configured to detect whether the child management application is associated with external configuration information; when the fact that the sub-management application is not associated with external configuration information is detected, determining to obtain a third detection result which characterizes that the target organization does not carry out target application configuration on the sub-management application; and when the sub-management application is detected to be associated with external configuration information, determining to obtain a third detection result which characterizes that the target organization has configured the target application for the sub-management application.
In some embodiments, the upgrade module 5552 is further configured to send an upgrade request for the sub-management application to a terminal where the organization management application is located when the third detection result characterizes that the target organization has configured the sub-management application for the target application; and when receiving an upgrade confirmation instruction returned based on the upgrade request, upgrading the sub-management application.
In some embodiments, the upgrade module 5552 is further configured to determine, after performing an upgrade process on the sub-management application, a target number of first organizations related to the target organization; and upgrading the sub-management applications of the first organization of the target quantity.
It should be noted that, the description of the embodiments of the device in this application is similar to the description of the embodiments of the method described above, and has similar beneficial effects as the embodiments of the method, which are not described herein. The technical details of the application upgrading device provided in the embodiment of the present application may be understood based on the description of the technical details in the foregoing method embodiment.
Embodiments of the present application also provide a computer program product comprising computer-executable instructions or a computer program stored in a computer-readable storage medium. The processor of the electronic device reads the computer executable instructions or the computer program from the computer readable storage medium, and the processor executes the computer executable instructions or the computer program, so that the electronic device executes the application upgrading method provided by the embodiment of the application.
The present embodiments also provide a computer readable storage medium having stored therein computer executable instructions or a computer program which, when executed by a processor, will cause the processor to perform the application upgrade method provided by the embodiments of the present application.
In some embodiments, the computer readable storage medium may be RAM, ROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; but may be a variety of devices including one or any combination of the above memories.
In some embodiments, computer-executable instructions may be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, in the form of programs, software modules, scripts, or code, and they may be deployed in any form, including as stand-alone programs or as modules, components, subroutines, or other units suitable for use in a computing environment.
As an example, computer-executable instructions may, but need not, correspond to files in a file system, may be stored as part of a file that holds other programs or data, such as in one or more scripts in a hypertext markup language (Hyper Text Markup Language, HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code).
As an example, computer-executable instructions may be deployed to be executed on one electronic device or on multiple electronic devices located at one site or, alternatively, on multiple electronic devices distributed across multiple sites and interconnected by a communication network.
The foregoing is merely exemplary embodiments of the present application and is not intended to limit the scope of the present application. Any modifications, equivalent substitutions, improvements, etc. that are within the spirit and scope of the present application are intended to be included within the scope of the present application.

Claims (15)

1. An application upgrade method, the method comprising:
upgrading detection is carried out on sub-management applications of the organization management application to obtain a first detection result, wherein the organization management application is used for management of a target organization;
when the first detection result characterizes that the sub-management application is not upgraded, detecting the use condition of the sub-management application to obtain a second detection result;
when the second detection result characterizes that the target organization uses the sub-management application, carrying out application configuration detection on the sub-management application to obtain a third detection result;
and when the third detection result characterizes that the target organization does not perform target application configuration on the sub-management application, performing upgrading processing on the sub-management application.
2. The method of claim 1, wherein the performing upgrade detection on the sub-management application of the organization management application to obtain the first detection result comprises:
obtaining the tissue identification of the target tissue;
inquiring an upgrading zone bit corresponding to the organization identifier based on the organization identifier;
when the upgrade flag bit indicates that the sub-management application is not upgraded, determining to obtain a first detection result representing that the sub-management application is not upgraded;
and when the upgrade flag bit indicates that the sub-management application is upgraded, determining to obtain a first detection result representing that the sub-management application is upgraded.
3. The method of claim 1, wherein performing usage detection on the sub-management application to obtain a second detection result comprises:
obtaining the tissue identification of the target tissue;
inquiring application basic information of the sub-management application corresponding to the organization identifier based on the organization identifier, wherein the application basic information comprises at least one of an enabling zone bit and an application use range;
wherein the enable flag bit indicates whether the sub-management application is enabled, and the application use range indicates a use range of the sub-management application in the target organization;
Determining that a second detection result which characterizes that the target organization has used the sub-management application is obtained when the application basic information indicates that the sub-management application has been used;
and when the application basic information indicates that the sub-management application is not used, determining to obtain a second detection result which characterizes that the target organization does not use the sub-management application.
4. The method of claim 3, wherein when the application base information includes the enable flag bit and the application use range, the method further comprises:
when the enabling flag bit and the application use range both indicate that the sub-management application is used, determining that the application basic information indicates that the sub-management application is used;
when at least one of the enable flag bit and the application use range indicates that the sub-management application is not used, determining that the application basic information indicates that the sub-management application is not used;
when the flag value of the enabling flag bit is a target value, the enabling flag bit indicates that the sub-management application is used; when the application use scope indicates that the use scope of the sub-management application is all organization members in the target organization, the application use scope indicates that the sub-management application has been used.
5. The method of claim 1, wherein performing usage detection on the sub-management application to obtain a second detection result comprises:
determining a target time period before a current time point, wherein the time interval between the ending time point of the target time period and the current time point does not exceed a time interval threshold;
and detecting the use condition of the sub-management application in the target time period to obtain the second detection result.
6. The method of claim 5, wherein detecting the usage of the sub-management application in the target time period to obtain the second detection result comprises:
acquiring the use record information of the sub-management application;
determining that a second detection result characterizing that the target organization has used the sub-management application is obtained when the usage record information includes usage records of the sub-management application in the target period of time;
and when the usage record information does not comprise the usage record of the sub-management application in the target time period, determining to obtain a second detection result which characterizes that the target organization does not use the sub-management application.
7. The method of claim 1, wherein performing application configuration detection on the sub-management application to obtain a third detection result comprises:
acquiring preset application configuration of the sub-management application and organization application configuration of the sub-management application under the use of the target organization;
comparing the preset application configuration with the organization application configuration to obtain a comparison result;
when the comparison result indicates that the preset application configuration and the organization application configuration are the same, determining to obtain a third detection result representing that the target organization does not perform target application configuration on the sub-management application;
and when the comparison result indicates that the preset application configuration and the organization application configuration are different, determining to obtain a third detection result which characterizes that the target organization has performed target application configuration on the sub-management application.
8. The method of claim 7, wherein the obtaining the preset application configuration of the sub-management application, and the organization application configuration of the sub-management application under the target organization use, comprises:
acquiring a preset application configuration structure body of the sub-management application and an organization application configuration structure body of the sub-management application under the use of the target organization;
Comparing the preset application configuration with the organization application configuration to obtain a comparison result, wherein the comparing comprises:
performing field filling on the tissue application configuration structure body based on the preset application configuration structure body to obtain a target tissue application configuration structure body;
serializing the preset application configuration structure body to obtain a first byte stream, and serializing the target organization application configuration structure body to obtain a second byte stream;
comparing the first byte stream with the second byte stream;
when the first byte stream and the second byte stream are the same, determining to obtain a comparison result indicating that the preset application configuration and the organization application configuration are the same;
and when the first byte stream and the second byte stream are different, determining to obtain a comparison result indicating that the preset application configuration and the organization application configuration are different.
9. The method of claim 1, wherein performing application configuration detection on the sub-management application to obtain a third detection result comprises:
detecting whether the sub-management application is associated with external configuration information or not;
when the fact that the sub-management application is not associated with external configuration information is detected, determining to obtain a third detection result which characterizes that the target organization does not carry out target application configuration on the sub-management application;
And when the sub-management application is detected to be associated with external configuration information, determining to obtain a third detection result which characterizes that the target organization has configured the target application for the sub-management application.
10. The method of claim 1, wherein the method further comprises:
when the third detection result characterizes that the target organization has carried out target application configuration on the sub-management application, an upgrading request aiming at the sub-management application is sent to a terminal where the organization management application is located;
and when receiving an upgrade confirmation instruction returned based on the upgrade request, upgrading the sub-management application.
11. The method of claim 1, wherein after the upgrade process is performed on the child management application, the method further comprises:
determining a target number of first organizations related to the target organization;
and upgrading the sub-management applications of the first organization of the target quantity.
12. An application upgrade apparatus, the apparatus comprising:
the first detection module is used for carrying out upgrading detection on sub-management applications of the organization management application to obtain a first detection result, wherein the organization management application is used for management of a target organization;
The second detection module is used for detecting the service condition of the sub-management application when the first detection result represents that the sub-management application is not upgraded, so as to obtain a second detection result;
the third detection module is used for carrying out application configuration detection on the sub-management application when the second detection result characterizes that the target organization uses the sub-management application, so as to obtain a third detection result;
and the upgrading module is used for upgrading the sub-management application when the third detection result characterizes that the target organization does not configure the target application of the sub-management application.
13. An electronic device, the electronic device comprising:
a memory for storing computer executable instructions;
a processor for implementing the application upgrade method according to any one of claims 1 to 11 when executing computer executable instructions stored in said memory.
14. A computer readable storage medium storing computer executable instructions or a computer program, which when executed by a processor, implements the application upgrade method according to any one of claims 1 to 11.
15. A computer program product comprising computer executable instructions or a computer program which, when executed by a processor, implements the application upgrade method according to any one of claims 1 to 11.
CN202311524454.4A 2023-11-14 2023-11-14 Application upgrading method, device, equipment, storage medium and program product Pending CN117573161A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311524454.4A CN117573161A (en) 2023-11-14 2023-11-14 Application upgrading method, device, equipment, storage medium and program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311524454.4A CN117573161A (en) 2023-11-14 2023-11-14 Application upgrading method, device, equipment, storage medium and program product

Publications (1)

Publication Number Publication Date
CN117573161A true CN117573161A (en) 2024-02-20

Family

ID=89863682

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311524454.4A Pending CN117573161A (en) 2023-11-14 2023-11-14 Application upgrading method, device, equipment, storage medium and program product

Country Status (1)

Country Link
CN (1) CN117573161A (en)

Similar Documents

Publication Publication Date Title
CN111314141B (en) Route updating method and device
US10545775B2 (en) Hook framework
CN109716331B (en) Application deployment conforming to application data sharing and decision service platform mode
CN110851114A (en) Business system development method and device, electronic equipment and storage medium
US10176327B2 (en) Method and device for preventing application in an operating system from being uninstalled
US9934007B2 (en) Method for operating tool in working environment and machine using such method
CN108776592B (en) Page construction method, device, equipment and storage medium
CN109657177A (en) The generation method of the page, device, storage medium and computer equipment after upgrading
GB2513528A (en) Method and system for backup management of software environments in a distributed network environment
US11537367B1 (en) Source code conversion from application program interface to policy document
CN111414350A (en) Service generation method and device
CN110941779A (en) Page loading method and device, storage medium and electronic equipment
CN106293790B (en) application program upgrading method and device based on Firefox operating system
WO2024002302A1 (en) Application management method, application subscription method, and related device
CN117573161A (en) Application upgrading method, device, equipment, storage medium and program product
CN113377458B (en) Plug-in management method and device, electronic equipment and storage medium
EP4030280A1 (en) Seamless lifecycle stability for extensible software features
KR101548606B1 (en) A system and a computer-readable storage medium for remotely controlling an user equipment by an administrator's terminal
CN115129348A (en) Resource updating method, device and equipment of application program and readable storage medium
CN113032004B (en) Method, apparatus and program product for managing development jobs in a development environment
CN112988192A (en) Version updating method and device, electronic equipment and storage medium
US10140155B2 (en) Dynamically provisioning, managing, and executing tasks
CN105610908B (en) A kind of samba service implementing method and system based on Android device
CN108804236B (en) AIDL file sharing method and system
CN115587344A (en) Button authority control method, system, equipment and storage medium based on vue

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication