CN117539883B - Application template updating method, device, storage medium and equipment - Google Patents

Application template updating method, device, storage medium and equipment Download PDF

Info

Publication number
CN117539883B
CN117539883B CN202410010710.6A CN202410010710A CN117539883B CN 117539883 B CN117539883 B CN 117539883B CN 202410010710 A CN202410010710 A CN 202410010710A CN 117539883 B CN117539883 B CN 117539883B
Authority
CN
China
Prior art keywords
application template
updated
control
application
personalized
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.)
Active
Application number
CN202410010710.6A
Other languages
Chinese (zh)
Other versions
CN117539883A (en
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 CN202410010710.6A priority Critical patent/CN117539883B/en
Publication of CN117539883A publication Critical patent/CN117539883A/en
Application granted granted Critical
Publication of CN117539883B publication Critical patent/CN117539883B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Economics (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the application discloses an application template updating method, an application template updating device, a storage medium and application template updating equipment, which can be applied to various scenes such as cloud technology, artificial intelligence, intelligent traffic, auxiliary driving and the like, and an application template list corresponding to an upgrading request is obtained; determining an updated application template and an application template to be updated in the application template list, and exchanging the positions of the updated application template and the application template to be updated; performing control comparison analysis according to a first control in the application template to be updated and a second control in the updated application template, and determining a corresponding personalized control; acquiring a personalized flow in an application template to be updated; updating the personalized control and the personalized flow to the updated application template to obtain an updated application template list. Therefore, on the basis of upgrading the application template to be updated, personalized controls and personalized processes can be automatically reserved in the new updated application template, personalized setting loss is avoided, and the updating efficiency of the application template is improved.

Description

Application template updating method, device, storage medium and equipment
Technical Field
The present invention relates to the field of computer technologies, and in particular, to an application template updating method, an application template updating device, a storage medium, and an application template updating device.
Background
In the daily business management of enterprises, enterprise staff can initiate related approval requests for work business, and along with the development of computer technology and the popularization of office automation (Office Automation, OA) applications, automation and intellectualization of approval processes can be realized by using an approval mode of personnel assistant applications.
In the related art, it is often necessary to upgrade an application template in a personnel assistant application to implement optimization of enterprise service management, that is, to directly replace an old application template by a new application template, however, due to personalized differences of enterprise service management, the upgrade mode is too dead, which can cause coverage of personalized settings of enterprise service management, so that update efficiency of the application template is poor.
Disclosure of Invention
The embodiment of the application template updating method, device, storage medium and equipment can improve the updating efficiency of the application template.
In order to solve the technical problems, the embodiment of the application provides the following technical scheme:
an application template updating method, comprising:
Acquiring an application template list corresponding to the upgrading request;
determining an updated application template and an application template to be updated in the application template list, and exchanging the positions of the updated application template and the application template to be updated;
performing control comparison analysis according to the first control in the application template to be updated and the second control in the updated application template, and determining corresponding personalized controls;
acquiring a personalized flow in the application template to be updated;
updating the personalized control and the personalized flow to the updated application template to obtain an updated application template list.
An application template updating apparatus comprising:
the first acquisition unit is used for acquiring an application template list corresponding to the upgrading request;
the exchange unit is used for determining an updated application template and an application template to be updated in the application template list and exchanging the positions of the updated application template and the application template to be updated;
the comparison analysis unit is used for carrying out control comparison analysis on the first control in the application template to be updated and the second control in the updated application template to determine corresponding personalized controls;
The second acquisition unit is used for acquiring the personalized flow in the application template to be updated;
and the updating unit is used for updating the personalized control and the personalized flow to the updated application template to obtain an updated application template list.
In some embodiments, the exchanging unit is configured to:
determining an updated application template and an application template to be updated in the application template list;
deactivating the application template to be updated;
marking a first position of the application template to be updated and marking a second position of the updated application template;
exchanging the content of the application template to be updated in the first position with the content of the application template to be updated in the second position so as to change the application template to be updated in the first position into the application template to be updated and change the application template to be updated in the second position into the application template to be updated.
In some embodiments, the apparatus further comprises an adjustment unit for:
deleting the content of the application template to be updated in the second position, and exchanging the second position to the last position of the application template list;
and adding a jump link in the application template to be updated, wherein the jump link points to the updated application template at the first position.
In some embodiments, the comparison analysis unit comprises:
the acquisition subunit is used for acquiring a first serialized data structure of the preset control corresponding to the application template to be updated and a second serialized data structure of the current first control in the application template to be updated;
the first determining subunit is used for determining a new control of the first control relative to a preset control when detecting that the first serialization data structure and the second serialization data structure are different;
and the second determining subunit is used for determining the new control as the personalized control when detecting that the new control is different from the second control in the updated application template.
In some embodiments, the first determining subunit is configured to:
when the first serialization data structure and the second serialization data structure are detected to be different, traversing the first serialization data structure to obtain a preset control;
traversing the second serialized data structure to obtain a first control;
and taking the difference set of the preset control and the first control to obtain a corresponding newly added control.
In some embodiments, the first determining subunit is further configured to:
traversing detail controls and common controls in the first serialization data structure to obtain preset controls when detecting that the first serialization data structure and the second serialization data structure are different;
Traversing detail controls and common controls in the second serialization data structure to obtain a first control;
and taking the difference set of the preset control and the first control to obtain a corresponding newly added control.
In some embodiments, the second determining subunit is configured to:
acquiring a third serialized data structure of a second control in the updated application template;
traversing the third serialized data structure to obtain a second control;
and when the fact that the new control is not existing in the second control is detected, determining the new control as a personalized control.
In some embodiments, the second obtaining unit is configured to:
acquiring a current target flow and a corresponding first preset flow in the application template to be updated;
and when the target flow is detected to be different from the first preset flow, determining the target flow as a personalized flow.
In some embodiments, the updating unit is configured to:
adding the personalized control to the tail of a second control in the updated application template;
and replacing the personalized process to a second preset process in the updated application template to obtain an updated application template list.
In some embodiments, the upgrade request at least carries an enterprise identifier, a target administrator identifier, and an operation authorization parameter, and the first obtaining unit is configured to:
acquiring an upgrade request, and performing authority verification according to the enterprise identifier, the target manager identifier and the operation authorization parameter;
when the permission verification is detected to pass, locking the upgrading request to generate a distributed lock file corresponding to the enterprise identifier;
and acquiring an application template list corresponding to the enterprise identifier.
In some embodiments, the apparatus further comprises a backup unit for:
and backing up the application template list and the updated application template list according to the enterprise identifier carried by the upgrading request.
In some embodiments, the apparatus further comprises a rollback unit to:
when an upgrade rollback request is detected, an enterprise identifier carried by the upgrade rollback request and a rollback manager identifier are obtained;
determining corresponding distributed lock files according to the enterprise identifier;
and when the target administrator identifier indicated by the distributed lock file is the same as the rollback administrator identifier, acquiring the backed-up application template list, and replacing the updated application template list with the backed-up application template list.
In some embodiments, the apparatus further comprises a transmitting unit configured to:
generating a corresponding update card according to the update application template;
the updated card at least comprises an updated application template and corresponding function linkage items which are ordered according to time;
and sending the updated card to a client corresponding to each manager identifier associated with the enterprise identifier.
A computer readable storage medium storing a plurality of instructions adapted to be loaded by a processor to perform the above-described application template updating method.
A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, the processor implementing the above application template updating method when executing the computer program.
A computer program product or computer program comprising computer instructions stored in a storage medium. The processor of the computer device reads the computer instructions from the storage medium and the processor executes the computer instructions so that the above-described application template updating method is realized.
According to the embodiment of the application template list corresponding to the upgrading request; determining an updated application template and an application template to be updated in the application template list, and exchanging the positions of the updated application template and the application template to be updated; performing control comparison analysis according to a first control in the application template to be updated and a second control in the updated application template, and determining a corresponding personalized control; acquiring a personalized flow in an application template to be updated; updating the personalized control and the personalized flow to the updated application template to obtain an updated application template list. Therefore, on the basis of upgrading the application template to be updated, personalized controls and personalized processes can be automatically reserved in the new updated application template, and compared with the scheme that the old application template is directly replaced by the new application template in the related technology, the embodiment of the application can avoid the loss of personalized settings, and improves the updating efficiency of the application template.
Additional features and advantages of the disclosure will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the disclosure. The objectives and other advantages of the disclosure will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly introduced below, it being obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic view of a scenario of an application template updating system according to an embodiment of the present application.
Fig. 2 is a schematic view of a scenario of an application template updating method according to an embodiment of the present application.
Fig. 3 is a flowchart of an application template updating method according to an embodiment of the present application.
Fig. 4 is a schematic view of a scenario of an application template list provided in an embodiment of the present application.
Fig. 5 is a schematic view of a scene of a personal assistant application provided in an embodiment of the present application.
Fig. 6 is a schematic view of a scenario of a distributed lock service provided in an embodiment of the present application.
Fig. 7 is a schematic view of a scenario in which the application template provided in the embodiment of the present application stores details.
Fig. 8 is a schematic view of a scenario with details of application template flow storage provided in the embodiment of the present application.
Fig. 9 is a schematic view of a scenario of an application template procedure provided in an embodiment of the present application.
Fig. 10 is a schematic view of a scenario of an application template updating method according to an embodiment of the present application.
Fig. 11 is another schematic view of an application template updating method according to an embodiment of the present application.
Fig. 12 is another schematic view of an application template updating method according to an embodiment of the present application.
Fig. 13 is another schematic view of an application template updating method according to an embodiment of the present application.
Fig. 14 is another schematic view of an application template updating method according to an embodiment of the present application.
Fig. 15 is another schematic view of an application template updating method according to an embodiment of the present application.
Fig. 16 is another schematic view of an application template updating method according to an embodiment of the present application.
Fig. 17 is another schematic view of an application template updating method according to an embodiment of the present application.
Fig. 18 is a schematic view of a scenario of an update card according to an embodiment of the present application.
Fig. 19 is another schematic view of a scenario of an update card according to an embodiment of the present application.
Fig. 20 is another flow chart of an application template updating method according to an embodiment of the present application.
Fig. 21 is a timing diagram of an application template updating system according to an embodiment of the present application.
FIG. 22 is another timing diagram of an application template updating system according to an embodiment of the present application.
Fig. 23 is a schematic structural diagram of an application template updating device according to an embodiment of the present application.
Fig. 24 is a schematic structural diagram of a terminal provided in an embodiment of the present application.
Fig. 25 is a schematic structural diagram of a server according to an embodiment of the present application.
Detailed Description
In order to better understand the solution of the present application, the following description will clearly and completely describe the solution of the embodiment of the present application with reference to the accompanying drawings in the embodiment of the present application, and it is obvious that the described embodiment is only a part of the embodiment of the present application, not all the embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments herein without making any inventive effort, are intended to be within the scope of the present application.
It will be appreciated that in the specific embodiments of the present application, related data such as enterprise identifications and administrator identifications are involved, and when the above embodiments of the present application are applied to specific products or technologies, subject permissions or consents need to be obtained, and the collection, use and processing of related data need to comply with related laws and regulations and standards.
In addition, when the embodiment of the present application needs to acquire related data such as an enterprise identifier and an administrator identifier, the embodiment of the present application obtains, by means of a pop-up window or a jump to a confirmation page, individual permission or individual agreement of the related data such as the enterprise identifier and the administrator identifier, and obtains, after explicitly obtaining individual permission or individual agreement of the related data such as the enterprise identifier and the administrator identifier, necessary related data such as the enterprise identifier and the administrator identifier for enabling the embodiment of the present application to operate normally.
It should be noted that, in some of the processes described in the specification, claims and drawings above, a plurality of steps appearing in a particular order are included, but it should be clearly understood that the steps may be performed out of order or performed in parallel, the step numbers are merely used to distinguish between the different steps, and the numbers themselves do not represent any order of execution. Furthermore, the description of "first," "second," or "object" and the like herein is for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order.
Before proceeding to further detailed description of the disclosed embodiments, the terms and terms involved in the disclosed embodiments are described, which are applicable to the following explanation:
the control refers to encapsulation of data and methods. The control may have its own properties and methods, where the properties are simple visitors to the control data, the methods are some simple and visible functions of the control, the control creation process includes design, development, debugging (so-called 3Ds development flow, design, develop, debug) work, and then the use of the control.
The detail control can be understood as a container, and various subcontrols such as texts, numbers and the like can be added in the container.
The process can be an approval process in an enterprise, and comprises specific approval and direction of a copying process.
Protobuf (Protocol Buffers) can sequence structured data, can be used for data storage, communication protocols and other aspects, and is used for serializing structured data of all controls to generate a serialized data structure (Protobuf structure) in the embodiment of the application, so that the control comparison is convenient to follow.
The application template is a virtual body, characters, typesetting and formats which are manufactured by computer software and are determined in advance according to requirements are manufactured into a fixed pattern, the fixed pattern is used for inputting information according to requirements, the fixed pattern is called an application template, in the application embodiment, the application template is a fixed approval pattern of enterprise approval, such as approval patterns of job entering, job transferring, job adjusting and job leaving, each approval pattern is an application template, and the application template comprises a corresponding control set and a corresponding flow so as to realize a corresponding automatic office function.
At present, in order to improve the efficiency of automation application of an enterprise, a corresponding personnel assistant application is designed, wherein the personnel assistant application comprises a plurality of application templates, such as an on-duty application template, an off-duty application template, and an off-duty application template.
In order to solve the above problems, the embodiments of the present application provide a method for automatically retaining personalized controls and personalized flows in a new updated application template on the basis of upgrading an application template to be updated, so that the updating efficiency of the application template can be improved, the processing cost of an enterprise can be reduced, and the following specific embodiments can be referred to.
Referring to fig. 1, fig. 1 is a schematic view of a scenario of an application template updating system according to an embodiment of the present application. It includes a terminal 140, the internet 130, a gateway 120, a server 110, etc.
The terminals 140 include, but are not limited to, cell phones, computers, intelligent voice interaction devices, intelligent appliances, vehicle terminals, aircraft, etc. In addition, the device can be a single device or a set of a plurality of devices. The terminal 140 may communicate with the internet 130 in a wired or wireless manner, exchanging data.
Server 110 refers to a computer system that can provide certain services to terminal 140. The server 110 is required to have higher stability, security, performance, etc. than the general terminal 140. The server 110 may be one high-performance computer in a network platform, a cluster of multiple high-performance computers, a portion of one high-performance computer (e.g., a virtual machine), a combination of portions of multiple high-performance computers (e.g., virtual machines), etc.
Gateway 120 is also known as an intersubnetwork connector, protocol converter. The gateway implements network interconnection on the transport layer, and is a computer system or device that acts as a translation. The gateway is a translator between two systems using different communication protocols, data formats or languages, and even architectures that are quite different. At the same time, the gateway may also provide filtering and security functions. The message sent by the terminal 140 to the server 110 is to be sent to the corresponding server 110 through the gateway 120. A message sent by the server 110 to the terminal 140 is also sent to the corresponding terminal 140 through the gateway 120.
The application template updating method of the embodiment of the present disclosure may be implemented in the server 110.
Under the condition that the application template updating method is implemented by the server 110, acquiring an application template list corresponding to the upgrading request from the server 110; determining an updated application template and an application template to be updated in the application template list, and exchanging the positions of the updated application template and the application template to be updated; performing control comparison analysis according to the first control in the application template to be updated and the second control in the updated application template, and determining corresponding personalized controls; acquiring a personalized flow in the application template to be updated; updating the personalized control and the personalized flow to the updated application template to obtain an updated application template list.
The embodiment of the disclosure can be applied to various scenes, such as a scene of applying a template updating method shown in fig. 2.
Scene of applying template update method:
the scene of the application template updating method can realize one-key updating of the application template to be updated.
The application template updating system can display an updating page 11, the updating page comprises an 'immediate updating' control, an object can realize one-key updating of the application template to be updated by clicking the 'immediate updating' control, an updating request is generated and sent to a server, and the server acquires an application template list corresponding to the updating request; determining an updated application template and an application template to be updated in the application template list, and exchanging the positions of the updated application template and the application template to be updated; performing control comparison analysis according to the first control in the application template to be updated and the second control in the updated application template, and determining corresponding personalized controls; acquiring a personalized flow in the application template to be updated; updating the personalized control and the personalized flow to the updated application template to obtain an updated application template list.
It should be noted that, the schematic view of the scenario of the application template updating system shown in fig. 1 is only an example, and the application template updating system and the scenario described in the embodiments of the present application are for more clearly describing the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application, and those skilled in the art can know that, with the evolution of the application template updating and the appearance of the new service scenario, the technical solutions provided in the embodiments of the present application are equally applicable to similar technical problems.
In the present embodiment, description will be made in terms of an application template updating apparatus which may be integrated in a computer device having a storage unit and a microprocessor mounted thereon and having an operation capability, the computer device may be a server, and in the present embodiment, description will be made with the computer device as the server.
Referring to fig. 3, fig. 3 is a flowchart illustrating an application template updating method according to an embodiment of the present application. The application template updating method comprises the following steps:
in step 201, an application template list corresponding to an upgrade request is obtained.
Wherein the upgrade request is sent by the administrator object through the client, for example, the administrator object clicks an "immediate upgrade" control of the application template through the client, and the client generates the upgrade request and sends the upgrade request to the server.
It should be noted that, each enterprise has a dedicated enterprise identifier (morph), each enterprise identifier has an independent application template list (i.e., each enterprise has an independent application template list), where the application template list includes a plurality of application templates arranged in sequence, and one application template corresponds to an approval process of a function, for example, please refer to fig. 4 together, the application template list may include N application templates, each application template includes an application template identifier, an application template name, and an application template state, where the application template identifier is used to distinguish application templates, and the application template name corresponds to one name, for example, an on-job, an off-job, and the application template state indicates whether the application template is started, including a start state and a stop state.
For a better explanation of the embodiment of the present application, please refer to fig. 5, where the old version of the personal assistant application interface 12 shown in fig. 5 is displayed on the terminal 140, and includes a plurality of application templates 121 arranged in sequence, for example, an on-duty application template, an off-duty application template, and an off-duty application template 121, where the arrangement of the application templates is the same as the order of the application templates stored in the application template list stored in the server, that is, the corresponding order adjustment of the application templates displayed on the personal assistant application interface can be implemented by adjusting the order of the application templates in the application template list. The application templates in the application template list can be set correspondingly by a developer, and correspondingly, the developer can update the application templates in the application template list at any time.
Accordingly, each manager object belongs to a corresponding enterprise, and therefore the upgrading request also carries a corresponding enterprise identifier, so that the server can quickly find a corresponding application template list according to the enterprise identifier carried by the upgrading request.
In some embodiments, the upgrade request at least carries an enterprise identifier, a target administrator identifier (admin_id), and an operation authorization parameter (operation_auth), and the obtaining the application template list corresponding to the upgrade request may include:
(1) Acquiring an upgrade request, and performing authority verification according to the enterprise identifier, the target manager identifier and the operation authorization parameter;
(2) When the permission verification is detected to pass, locking the upgrading request to generate a distributed lock file corresponding to the enterprise identifier;
(3) And acquiring an application template list corresponding to the enterprise identifier.
The upgrade request at least carries an enterprise identifier, a target administrator identifier and an operation authorization parameter, the enterprise identifier is used for identifying which personnel assistant application of the enterprise needs to be updated, because updating of the personnel assistant application of the enterprise is an important item for the enterprise, the enterprise can be realized only by a specific administrator with a certain authority, the target administrator identifier also needs to be acquired so as to verify the target administrator initiating the upgrade later, the operation authorization parameter can be an input password, the password can be a character string, a preset password for upgrading the enterprise can be stored in a server correspondingly, and the application template upgrade can be started only when the input password is identical with the preset password.
Therefore, the upgrading request sent by the client can be obtained, authority verification is carried out according to the enterprise identifier, the target manager identifier and the operation authorization parameter carried by the upgrading request, whether the manager corresponding to the target manager identifier has upgrading authority and whether the operation authorization parameter is correctly input is verified under the enterprise of the enterprise identifier, and when the manager corresponding to the target manager identifier is verified to have upgrading authority and the operation authorization parameter is correctly input, the authority verification is judged to be passed, namely the upgrading request is responded.
In this embodiment of the present application, in order to prevent multiple administrators of the same enterprise from upgrading at the same time, which leads to confusion of data, it is further required to lock an upgrade request passing through authority verification, where the locking may be implemented by a distributed lock service, that is, lock the upgrade request by the distributed lock, lock the upgrade function of the enterprise, and generate a distributed lock file corresponding to the enterprise identifier, where the distributed lock file names the enterprise identifier of the enterprise, and implement locking the upgrade function of the enterprise by using the distributed lock file, for example, please refer to fig. 6 together, and after the upgrade request is responded, the distributed lock service is called to lock, and a distributed lock file named by the enterprise identifier is generated, so as to implement locking the upgrade function of the enterprise corresponding to the enterprise identifier.
Correspondingly, after the upgrading function of the enterprise is locked, a corresponding application template list can be obtained according to the enterprise identifier carried by the upgrading request, so that subsequent updating is realized.
In step 202, an updated application template and an application template to be updated in the application template list are determined, and the positions of the updated application template and the application template to be updated are exchanged.
The updated application templates are application templates to be updated, the updated content includes, but is not limited to, name change of the application templates, change of controls in the application templates and change of processes in the application templates, and accordingly, the updated application templates can be set by a developer and placed in an application template list, each updated application template corresponds to an application template to be updated, in an embodiment, the updated application templates further include a preset type field, and the preset type field can be the application template name of the application template to be updated, so that the corresponding application template to be updated can be quickly found according to the preset type field of the updated application template. For example, with continued reference to FIG. 5, the legacy personal assistant application interface 12 includes update application templates 122 for the record application, the transfer application, the post application, and the off-job application, corresponding to the update application templates 121 for the on-job, transfer, post application, and off-job applications.
Further, since the plurality of application templates in the application template list are ordered sequentially, it is necessary to implement that a new update application template replaces an old application template to be updated, and since the application template list is in a queue storage form, the update application template is ordered at the end of the queue of the application template list, so that the update application template needs to be exchanged with the position of the application template to be updated, so that the update application template replaces the position of the application template to be updated, and thus, preliminary update in presentation form is implemented, and further, the position of the update application template on a new personnel assistant application is displayed at the position of the application template to be updated on an old personnel assistant application, for example, please continue to refer to fig. 5, and the update application template 122 of the new version personnel assistant application interface 13, the recording application, the transfer application, the job adjustment application and the job departure application 121 performs position exchange with the application to be updated, and the preliminary update in presentation form is implemented.
In some embodiments, the exchanging the updated application template with the location of the application template to be updated may include:
(1) Deactivating the application template to be updated;
(2) Marking a first position of the application template to be updated and marking a second position of the updated application template;
(3) Exchanging the content of the application template to be updated in the first position with the content of the application template to be updated in the second position so as to change the application template to be updated in the first position into the application template to be updated and change the application template to be updated in the second position into the application template to be updated.
Firstly, the old application template (i.e. the application template to be updated) can be deactivated, specifically, the identification bit of the template state of the application template to be updated can be set to 0, after the application template to be updated is deactivated, the position change is required, and in actual storage, the positions of the application template and the application template cannot be directly exchanged because the application template is stored in the pointer position.
In this embodiment of the present application, exchange between the two is implemented by a swap algorithm, specifically, a first location (old_pos) of an application template to be updated is marked, and a second location (new_pos) of the application template to be updated is marked, based on which, the content of the application template to be updated in the first location is exchanged with the content of the application template to be updated in the second location, that is, the application template to be updated stored in the first location is replaced with an update reference template, and the application template to be updated in the second location is replaced with the application template to be updated, so that storage pointers of the first location and the second location are unchanged, but the content stored above is changed.
In some embodiments, after exchanging the content of the application template to be updated in the first location with the content of the updated application template in the second location, the method may further include:
(4) Deleting the content of the application template to be updated in the second position, and exchanging the second position to the last position of the application template list;
(5) And adding a jump link in the application template to be updated, wherein the jump link points to the updated application template at the first position.
In order to avoid interference to the use of the updated personnel assistant application caused by the existence of the content of the application template to be updated in the second position, that is, to avoid the influence of the use of the old application template on the enterprise user, the content of the application template to be updated in the second position needs to be deleted, that is, the function of the old application template is stopped, and the second position is exchanged to the last position of the application template list, so that the use of the enterprise user is prevented from being influenced.
Furthermore, in order to prevent the interference caused by the disabling of the disabled application template to be updated to the enterprise user, in the embodiment of the present application, a jump link may be further added to the application template to be updated, where the jump link points to the updated application template corresponding to the first location, so as to implement that the enterprise user may jump to open the updated application template in the first location by clicking the application template to be updated on the updated personnel assistant application later.
For example, referring to fig. 5, in the new version personnel assistant application interface 13, the enterprise user clicks the application template to be updated corresponding to the disabled job, jumps to start the application template to be updated corresponding to the recorded application, clicks the application template to be updated corresponding to the disabled job, jumps to start the application template to be updated corresponding to the enabled job, clicks the application template to be updated corresponding to the disabled job, and jumps to start the application template to be updated corresponding to the disabled job.
In step 203, control comparison analysis is performed according to the first control in the application template to be updated and the second control in the updated application template, so as to determine a corresponding personalized control.
The application template to be updated contains a corresponding control set, namely a first control, and the first control can be one or more controls, and because preset controls configured by a developer, namely controls set by the developer, exist in the application template of each version of personnel assistant application, the first control comprises all preset controls, and in the use of an actual personnel assistant application, an administrator of an enterprise can configure corresponding personalized controls for realizing enterprise personalized management, so that the first control can also comprise personalized controls. Correspondingly, the updated application template also contains a corresponding control set, namely a second control, and the second control can be one or more controls, and because the updated application template is not used yet, the updated application template only contains new preset controls configured by a developer, namely the new controls set by the developer, temporarily, and therefore the second control is the new preset control.
In the existing application template updating scheme, the personalized control cannot be automatically determined, and when updating is performed, the old application template is directly replaced by the new application template, so that the personalized control in the old application template is completely lost, an enterprise manager needs to reconfigure the personalized control on the basis of the new application template, the process is complicated, and the updating efficiency of the application template is poor.
In this embodiment of the present application, the first control may be taken out from the application template to be updated and the second control may be taken out from the updated application template, for better explaining the embodiment of the present application, please refer to fig. 7 together, fig. 7 is an application template storage detail, the control of the corresponding application template may be taken out from the 5 th, i.e. application template container, based on which the first control may be taken out from the application template container of the application template to be updated and the second control may be taken out from the application template container of the updated application template.
Further, a new control to which the object is newly added can be determined from the first control, the new control is compared with the second control, and when the new control is detected to be not exist in the second control, the new control is determined to be a personalized control so that the new control can be added into the updated application template later.
In some embodiments, according to control comparison analysis of a first control in the application template to be updated and a second control in the updated application template, determining a corresponding personalized control includes:
(1) Acquiring a first serialized data structure of a preset control corresponding to the application template to be updated and a second serialized data structure of a current first control in the application template to be updated;
(2) When detecting that the first serialization data structure is different from the second serialization data structure, determining a new control of the first control relative to a preset control;
(3) And when detecting that the new control is different from the second control in the updated application template, determining the new control as a personalized control.
In the process of upgrading the application template, whether the control in the application template to be updated changes relative to the preset control cannot be determined, namely whether the enterprise manager sets the personalized control cannot be determined, so that the personalized control cannot be extracted.
In order to solve the above-mentioned problem, a serialization comparison algorithm of Protobuf is introduced to compare whether a control in an application template to be updated is changed, specifically, a first serialization data structure of a preset control corresponding to the application template to be updated is obtained, and a second serialization data structure of a current first control in the application template to be updated is obtained.
Further, if the second control in the new updated application template contains the new control, the new control does not need to be added into the updated application template again to avoid repetition, therefore, the new control also needs to be compared with the second control in the updated application template, when the new control is detected to be the same as the second control in the updated application template, the second control in the updated application template is indicated to already contain the new control, the new control is directly deleted, and conversely, when the new control is detected to be different from the second control in the updated application template, the second control in the updated application template is indicated to not contain the new control, the new control can be determined to be a personalized control, so that the second control in the updated application template is subsequently added, and the personalized control is automatically migrated.
In some embodiments, determining an added control of the first control relative to the preset control includes:
(2.1) traversing the first serialized data structure to obtain a preset control;
(2.2) traversing the second serialized data structure to obtain a first control;
and (2.3) taking the difference set of the preset control and the first control to obtain a corresponding newly added control.
The first serialization data structure is generated by serialization of structured data of the preset controls, so that each preset control can be obtained by traversing the first serialization data structure, and similarly, each first control can be obtained by traversing the second serialization data structure, and accordingly, a difference set between the preset control and the first control is taken, namely a new control added by an administrator of an enterprise.
In some embodiments, traversing the first serialized data structure to obtain a preset control comprises:
(2.1.1) traversing the detail control and the common control in the first serialization data structure to obtain a preset control;
the traversing the second serialized data structure to obtain a first control comprising:
(2.2.1) traversing the detail controls and the common controls in the second serialized data structure to obtain the first control.
The control in the application template can be composed of a detail control and a common control, so that in order to obtain a complete preset control, the detail control and the common control in the first serialization data structure need to be circularly traversed, and the complete preset control is obtained. Similarly, in order to obtain the complete first control, the detail control and the common control in the second serialized data structure need to be circularly traversed to obtain the complete first control.
In some embodiments, when the new control is detected to be different from the second control in the updated application template, determining the new control as a personalized control includes:
(3.1) obtaining a third serialized data structure of the second control in the updated application template;
(3.2) traversing the third serialized data structure to obtain a second control;
(3.3) when the new control is detected to be not existing in the second control, determining the new control as a personalized control.
In order to obtain the second controls, a third serialized data structure corresponding to the second controls in the updated application template is required to be obtained, and because the third serialized data structure is obtained by serializing structured data of the second controls, each second control can be obtained by traversing the third serialized data structure, and it is required to be noted that in order to facilitate subsequent updating, detail controls are not used in the updated application template.
Further, whether the new control exists in the second control is detected, when the new control exists in the second control, the second control in the updated application template is indicated to already contain the new control, the new control is directly deleted, and correspondingly, when the new control does not exist in the second control, the second control in the updated application template is indicated to not contain the new control, the new control can be determined to be a personalized control, so that the new control can be added into the second control in the updated application template later, and the personalized control automatic migration is realized.
In some embodiments, in order to ensure the validity of the personalized control, the personalized control may be screened according to the number of times of use, that is, after the new control is determined to be the personalized control, the method may further include:
(A) Acquiring the use times of the personalized control;
(B) And deleting the personalized control when the use times are detected to be smaller than a preset threshold value.
The method comprises the steps of acquiring a previous usage record of the personalized control, determining the usage times of the personalized control according to the usage record, indicating that the higher the usage times are, the higher the importance of the personalized control is, the lower the usage times are, indicating that the importance of the personalized control is lower, the preset threshold value is a critical value for defining whether the personalized control is used at high frequency or not, presetting the threshold value for a developer or an administrator, for example, 100 times, indicating that the usage frequency of the personalized control is low when the usage times are detected to be smaller than the preset threshold value, deleting the personalized control to prevent redundancy of subsequent controls, and correspondingly, indicating that the usage frequency of the personalized control is high when the usage times are detected to be not smaller than the preset threshold value, and storing the personalized control.
In some embodiments, because the attributes of the control include the mandatory and the non-mandatory attributes, the mandatory refers to the content that must be filled, the non-mandatory refers to the content that can be filled or not, the importance of the control with the mandatory is higher, and the importance of the control with the non-mandatory is lower, so that the personalized control is deleted, and whether the attribute of the personalized control is the mandatory or not is also determined, that is, the personalized control is deleted, and the method further includes:
(B.1) detecting whether the attribute of the personalized control is a mandatory attribute.
And (B.2) when the attribute of the personalized control is detected to be the mandatory attribute, storing the personalized control.
(B.3) deleting the personalized control when the attribute of the personalized control is detected to be unnecessary filling attribute.
Because the importance of the attribute-necessary control cannot be directly deleted even if the use frequency is low, the embodiment of the application also needs to detect whether the attribute of the personalized control is the attribute-necessary, and when the attribute of the personalized control is detected to be the attribute-necessary, the personalized control cannot be deleted even though the use frequency of the personalized control is low, so that the personalized control can be directly stored, and conversely, when the attribute of the personalized control is detected to be the attribute-unnecessary, the use frequency of the personalized control is also lower, so that the personalized control can be directly deleted, and the redundancy of the subsequent control is prevented.
In step 204, a personalized flow in the application template to be updated is obtained.
The preset process configured by the developer exists in the application template of the personnel assistant application of each version, however, in order to realize the personalized management of the enterprise, an administrator of the enterprise can configure the corresponding personalized process by himself. In the current application template updating scheme, the personalized flow cannot be automatically determined, and when updating is performed, the old application template is directly replaced by the new application template, so that the personalized flow in the old application template is completely lost, an enterprise manager needs to reconfigure the personalized flow on the basis of the new application template, the process is complicated, and the application template updating efficiency is poor.
In this embodiment of the present application, a corresponding target flow may be taken out from an application template to be updated, for better explanation of the embodiment of the present application, please refer to fig. 8, fig. 8 is details of application template flow storage, a flow of a corresponding application template may be taken out from the 4 th, i.e. application template approval condition, based on which, a target flow may be taken out from an application template approval condition of an application template to be updated, where the target flow includes nodes and node orientations of the flow, for better explanation of the embodiment of the present application, please refer to fig. 9, which is an example diagram of application template flow expansion, including four nodes, a start node (node 1), an approver node (node 2), a transcriber node (node 3), a flow end node (node 4), and three orientation line segments: each of the directed line segments designates a directed node identifier, which is directed to the node identifier.
Correspondingly, because whether the target flow is a personalized flow is not determined, that is, whether the target flow is a flow set by an enterprise administrator is not known, the target flow can be compared with a first preset flow of an application template to be updated, and when the target flow is different from the first preset flow, the target flow is set by the enterprise administrator, and the target flow is directly determined to be the personalized flow, so that the target flow can be added into the updated application template later. Correspondingly, when the target flow and the target flow are the same, the target flow is the initial first preset flow and is not the personalized flow.
In some embodiments, the obtaining the personalized flow in the application template to be updated includes:
(1) Acquiring a current target flow and a corresponding first preset flow in the application template to be updated;
(2) And when the target flow is detected to be different from the first preset flow, determining the target flow as a personalized flow.
In the process of upgrading the application template, whether the target flow in the application template to be updated is the personalized flow cannot be determined, namely whether the enterprise manager sets the personalized flow cannot be determined, so that the personalized flow cannot be extracted.
In order to solve the above-mentioned problem, the embodiment of the present invention may acquire a current target flow and a corresponding initial first preset flow in an application template to be updated, further detect whether the target flow is different from the first preset flow, and when detecting that the target flow is different from the first preset flow, explain that the target flow is a personalized flow set by an enterprise administrator, and determine the target flow as a personalized flow. Correspondingly, when the target flow is detected to be the same as the first preset flow, the target flow is the initial first preset flow, and the target flow is not the personalized flow.
In step 205, the personalized control and the personalized flow are updated to the updated application template, and an updated application template list is obtained.
In step 202, the positions of the updated application template and the application template to be updated are exchanged, and preliminary updating in the form of presentation is achieved, however, because the controls in the updated application template are new preset controls (i.e., the second controls above) and new second preset flows, personalized controls and personalized flows do not exist, so that the embodiment of the application can update the personalized controls to the control set of the updated application template, so that the controls in the updated application template include not only the second controls but also the personalized controls. Similarly, in the embodiment of the application, the personalized process can be updated to the updated application template, and the second preset process is replaced, so that the process in the updated application template is the personalized process, an updated application template list, namely, an updated application template list, is obtained, and accordingly, the updated application template list is sent to a client corresponding to the enterprise identifier for version updating, so that personnel assistant application updating is realized, based on the updated application template list, automatic migration of personalized controls and personalized processes is realized, and the updating efficiency of the application template is greatly improved.
In some implementations, updating the personalized controls into the control set that updates the application template may include: the display attribute of the personalized control is adjusted so that the personalized control is displayed in a display mode different from that of other controls, the display mode of the personalized control can be changed by updating the personalized control after the adjustment of the display attribute to the control set of the updated application template, for example, the personalized display attribute is adjusted by at least one display mode adjustment method of highlighting, color identification or setting different transparency, and the personalized control after the adjustment of the display attribute is updated to the control set of the updated application template, so that the personalized control used before can be quickly identified by subsequent enterprise personnel, the office efficiency of enterprises is improved, and personalized upgrading is realized.
In some embodiments, the number of updates experienced by the personalized control may also be recorded, for example, the number of updates experienced by the personalized control is 1, 2 or 3, etc., and the more the number of updates experienced by the personalized control is without being deleted, which indicates that the higher the importance of the personalized control is, so the number of times may be identified on the personalized control to inform enterprise personnel of the importance of the personalized control.
For a better explanation of the embodiment of the present application, please refer to fig. 10 and 11 together, fig. 10 is a control display interface 14 of the application template for job entry, and fig. 11 is a control display interface 15 of the application template for recording application, and the application template for recording application is substituted for the application template for job entry through application template upgrading. Referring to fig. 12 and 13 together, fig. 12 is a control display interface 16 of the application template for conversion, and fig. 13 is a control display interface 17 of the application template for conversion, and the application template for conversion replaces the application template for conversion by upgrading the application template. Referring to fig. 14 and 15 together, fig. 14 shows a control display interface 18 of the application template for post adjustment, and fig. 15 shows a control display interface 19 of the application template for post adjustment, and the application template for post adjustment replaces the application template for post adjustment by upgrading the application template. Referring to fig. 16 and 17 together, fig. 16 is a control display interface 20 of an off-job application template, and fig. 17 is a control display interface 21 of an off-job application template, wherein the off-job application template is replaced by the off-job application template through upgrading of the application template.
In some embodiments, the updating the personalized control and the personalized flow to the updated application template to obtain an updated application template list includes:
(1) Adding the personalized control to the tail of the second control in the updated application template;
(2) And replacing the personalized process to a second preset process in the updated application template to obtain an updated application template list.
In order to realize the migration of the personalized control, the personalized control needs to be added to the tail of the second control in the updated application template, namely, the personalized control is inserted behind the second control of the updated application template, so that the personalized control migration is realized. Correspondingly, in order to realize the migration of the personalized flow, the personalized flow needs to be replaced with a second preset flow in the updated application template so as to realize the personalized flow migration, and based on the personalized flow, an updated application template list is obtained.
In some embodiments, in order to avoid an enterprise using an application template of a personnel assistant application that is not used to a new version, the embodiment of the present application may further backup an application template list before and after the update, that is, backup the personnel assistant application before and after the update, that is, the method further includes: and backing up the application template list and the updated application template list according to the enterprise identifier carried by the upgrading request.
The method comprises the steps of acquiring a corresponding pre-update application template list and an updated application template list according to an enterprise identifier carried by an upgrading request, and associating the backup with the enterprise identifier, so that an administrator of a subsequent enterprise can quickly fall back to a pre-update personnel assistant application according to the backed-up application template list.
In some embodiments, after the backup is performed on the application template list and the updated application template list, the administrator of the enterprise may perform upgrading rollback at any time, that is, further including:
(A) When an upgrade rollback request is detected, an enterprise identifier carried by the upgrade rollback request and a rollback manager identifier are obtained;
(B) Determining a corresponding distributed lock file according to the enterprise identifier;
(C) And when the target administrator identifier indicated by the distributed lock file is the same as the rollback administrator identifier, acquiring the backed-up application template list, and replacing the updated application template list with the backed-up application template list.
After the enterprise upgrades the new personnel assistant application, when an administrator of the enterprise finds that the application template of the new personnel assistant application is inconvenient to use, the enterprise can apply for upgrading rollback to generate an upgrading rollback request, the upgrading rollback request can carry enterprise identifiers and rollback administrator identifiers, the rollback administrator identifiers are identifiers of the administrator applying for upgrading rollback, the upgrading rollback request is sent to a server, and the application is applied for rollback of a version of the new personnel assistant application to a previous version. Based on the above, when the server detects the upgrade rollback request, the enterprise identifier and the rollback manager identifier carried by the upgrade rollback request can be obtained.
Furthermore, in order to avoid repeated upgrades, only the administrator with the previous target administrator identifier needs to be limited to apply for upgrade rollback, because the previous upgrade request generates the corresponding distributed lock file, the distributed lock file also indicates the target administrator identifier, therefore, whether the target administrator identifier indicated by the distributed lock file is the same as the rollback administrator identifier or not can be detected, when the target administrator identifier indicated by the distributed lock file is detected to be the same as the rollback administrator identifier, upgrade rollback is allowed, the application template list backed up before is obtained, the application template list backed up is replaced with the updated application template list, and the replaced application template list is resent to the client corresponding to the enterprise identifier for version rollback, so that upgrade rollback is realized.
In some embodiments, after the updated application template list is obtained, the method further includes:
(a) Generating a corresponding update card according to the update application template; the updated card at least comprises an updated application template and corresponding functional linkage items which are ordered according to time;
(b) And sending the updated card to each client corresponding to the manager identifier associated with the enterprise identifier.
It should be noted that, the update application templates are all separately designed Protobuf structures, and the structural design is reasonable, so that a developer can reserve fields on the basis, realize different function callback methods, and further realize linkage with other functions.
In this way, in order to show the newly added function linkage, the update card may be pushed to the administrator associated with the enterprise identifier, specifically, a corresponding update card may be generated according to the update application template, for better explaining the embodiment of the present application, please refer to fig. 18 together, and fig. 18 is a schematic diagram of the update card, where the update card at least includes the update application template ordered according to time and a corresponding function linkage item, that is, the update time of the incoming update application template is earlier than the transferred update application template, the transferred update application template is earlier than the post-adjustment update application template, and the post-adjustment update application template is earlier than the off-post update application template. The function linkage item displays the function of the newly added support, namely, the function linkage of automatically synchronizing to the address book and supporting personnel record management.
Finally, the update card is sent to the client corresponding to each administrator identifier associated with the enterprise identifier, and when the administrator receives the update card through the client, the update card is displayed, for better explanation of the embodiment of the present application, please refer to fig. 19, and fig. 19 is an exemplary diagram of the update card displayed at the client.
As can be seen from the above, in the embodiment of the present application, an application template list corresponding to an upgrade request is obtained; determining an updated application template and an application template to be updated in the application template list, and exchanging the positions of the updated application template and the application template to be updated; performing control comparison analysis according to a first control in the application template to be updated and a second control in the updated application template, and determining a corresponding personalized control; acquiring a personalized flow in an application template to be updated; updating the personalized control and the personalized flow to the updated application template to obtain an updated application template list. Therefore, on the basis of upgrading the application template to be updated, personalized controls and personalized processes can be automatically reserved in the new updated application template, and compared with the scheme that the old application template is directly replaced by the new application template in the related technology, the embodiment of the application can avoid the loss of personalized settings, and improves the updating efficiency of the application template.
The methods described in connection with the above embodiments are described in further detail below by way of example.
In the present embodiment, description will be given taking an example in which the application template updating apparatus is specifically integrated in a server.
For better illustrating the embodiments of the present application, please refer to fig. 20, fig. 20 is another flow chart of the application template updating method provided in the embodiments of the present application. Comprising the following steps:
in step 301, the server obtains an upgrade request, performs authority verification according to the enterprise identifier, the target administrator identifier and the operation authorization parameter, and locks the upgrade request when the authority verification is detected to pass, so as to generate a distributed lock file corresponding to the enterprise identifier, and obtains an application template list corresponding to the enterprise identifier.
The method comprises the steps that an administrator object clicks an 'immediate upgrading' control of an application template through a client, the client generates an upgrading request and sends the upgrading request to a server, the upgrading request at least carries an enterprise identifier, a target administrator identifier and an operation authorization parameter, the enterprise identifier is used for identifying which enterprise to update, the target administrator identifier indicates the administrator identifier which initiates upgrading currently, the operation authorization parameter can be an input password, and the password can be a character string.
Correspondingly, the server acquires the upgrading request, performs authority verification according to the enterprise identifier, the target administrator identifier and the operation authorization parameter carried by the upgrading request, verifies whether the administrator corresponding to the target administrator identifier has upgrading authority and whether the operation authorization parameter is correctly input under the enterprise of the enterprise identifier, and determines that the authority verification is passed when the administrator corresponding to the target administrator identifier has upgrading authority and the operation authorization parameter is correctly input, namely responds to the upgrading request.
In order to prevent that a plurality of administrators of the same enterprise upgrade at the same time, so that data are disordered, an upgrade request with passed authority verification is required to be locked, the locking can be realized through a distributed lock service, namely, the upgrade request is locked through a distributed lock, the upgrade function of the enterprise is locked, a distributed lock file corresponding to the enterprise identifier is generated, the distributed lock file is named according to the enterprise identifier of the enterprise, the upgrade function of the enterprise is locked through the distributed lock file, and accordingly, after the upgrade function of the enterprise is locked, a corresponding application template list can be obtained according to the enterprise identifier carried by the upgrade request, so that subsequent updating is realized.
In step 302, the server determines an updated application template in the application template list and an application template to be updated.
The updated application templates are application templates to be updated, the updated content includes, but is not limited to, name change of the application templates, change of controls in the application templates and change of processes in the application templates, and accordingly, the updated application templates can be set by a developer and placed in an application template list, and each updated application template corresponds to an application template to be updated, which needs to be updated. The update application template may further include a preset type field, where the preset type field may be an application template name of the application template to be updated, so that a corresponding application template to be updated may be quickly found according to the preset type field of the update application template.
In step 303, the server deactivates the application template to be updated, marks a first location of the application template to be updated and marks a second location of the application template to be updated, exchanges contents of the application template to be updated in the first location with contents of the application template to be updated in the second location to replace the application template to be updated in the first location with the application template to be updated, and replaces the application template to be updated in the second location with the application template to be updated.
Firstly, the application template to be updated can be deactivated, specifically, the identification bit of the template state of the application template to be updated can be set to 0, and after the application template to be updated is deactivated, the position change is required, and in actual storage, the positions of the application template and the application template cannot be directly exchanged because the application template is stored in the pointer position.
In the embodiment of the application, exchange of the application template to be updated and the second position of the application template to be updated are realized through a swap algorithm, specifically, a first position of the application template to be updated is marked, and a second position of the application template to be updated is marked, based on the first position, the content of the application template to be updated and the content of the application template to be updated in the second position are exchanged, namely, the application template to be updated stored in the first position is replaced by an updating reference template, the application template to be updated in the second position is replaced by the application template to be updated, the storage pointers of the first position and the second position are unchanged, and the content stored in the first position and the second position are changed.
In step 304, the server deletes the content of the application template to be updated in the second location, and swaps the second location to the last location of the application template list, and adds a jump link in the application template to be updated.
In order to avoid interference to the use of the updated personnel assistant application caused by the existence of the content of the application template to be updated in the second position, that is, to avoid the influence of the use of the old application template on the enterprise user, the content of the application template to be updated in the second position needs to be deleted, that is, the function of the old application template is stopped, and the second position is exchanged to the last position of the application template list, so that the use of the enterprise user is prevented from being influenced.
With continued reference to fig. 5, in the new version personal assistant application interface 13, the update application templates 122 of the recording application, the transfer application, the job adjustment application and the job departure application are subjected to position exchange with the application templates 121 to be updated, which are the job entering application templates, the transfer application templates, the job adjustment application templates and the job departure application templates, so as to realize preliminary update in the presentation form.
Furthermore, in order to prevent the interference caused by the disabling of the disabled application template to be updated to the enterprise user, in the embodiment of the present application, a jump link may be further added to the application template to be updated, where the jump link points to the updated application template corresponding to the first location, so as to implement that the enterprise user may jump to open the updated application template in the first location by clicking the application template to be updated on the updated personnel assistant application later.
For example, referring to fig. 5, in the new version personnel assistant application interface 13, the enterprise user clicks the application template to be updated corresponding to the disabled job, jumps to start the application template to be updated corresponding to the recorded application, clicks the application template to be updated corresponding to the disabled job, jumps to start the application template to be updated corresponding to the enabled job, clicks the application template to be updated corresponding to the disabled job, and jumps to start the application template to be updated corresponding to the disabled job.
In step 305, the server obtains a first serialized data structure of a preset control corresponding to the application template to be updated and a second serialized data structure of a current first control in the application template to be updated.
In the process of upgrading the application template, whether the control in the application template to be updated changes relative to the preset control cannot be determined, namely whether the enterprise manager sets the personalized control cannot be determined, so that the personalized control cannot be extracted.
In order to solve the above problems, the embodiment of the present application introduces a serialization comparison algorithm of Protobuf, which is used for comparing whether a control in an application template to be updated is changed, so as to obtain a first serialization data structure of a preset control corresponding to the application template to be updated and obtain a second serialization data structure of a current first control in the application template to be updated.
In step 306, when the server detects that the first serialized data structure and the second serialized data structure are different, traversing the detail control and the common control in the first serialized data structure to obtain a preset control, traversing the detail control and the common control in the second serialized data structure to obtain a first control, and taking the difference set between the preset control and the first control to obtain a corresponding newly added control.
Correspondingly, if the control in the application template to be updated is not changed, the first serialization data structure and the second serialization data structure are the same, otherwise, if the control in the application template to be updated is changed, namely, an administrator of an enterprise adds a new control, the first serialization data structure and the second serialization data structure are different, therefore, when the fact that the first serialization data structure and the second serialization data structure are different is detected, the detail control and the common control in the first serialization data structure are circularly traversed, and the complete preset control is obtained. Similarly, in order to obtain the complete first control, the detail control and the common control in the second serialization data structure need to be circularly traversed to obtain the complete first control, and correspondingly, a difference set between the preset control and the first control is taken, namely a new control added for an administrator of an enterprise, so that the corresponding new control is quickly obtained based on the Protobuf idea.
In step 307, the server obtains a third serialized data structure for updating the second control in the application template, traverses the third serialized data structure to obtain the second control, and determines the new control as a personalized control when detecting that no new control exists in the second control.
In order to obtain the second controls, a third serialized data structure corresponding to the second controls in the updated application template is required to be obtained, and because the third serialized data structure is obtained by serializing the structured data of the second controls, each second control can be obtained by traversing the third serialized data structure.
Further, whether the new control exists in the second control is detected, when the new control exists in the second control, the second control in the updated application template is indicated to already contain the new control, the new control is directly deleted, and correspondingly, when the new control does not exist in the second control, the second control in the updated application template is indicated to not contain the new control, the new control can be determined to be a personalized control, so that the new control can be added into the second control in the updated application template later, and the personalized control automatic migration is realized.
In step 308, the server obtains the current target flow and the corresponding first preset flow in the application template to be updated, and determines the target flow as a personalized flow when detecting that the target flow is different from the first preset flow.
In the process of upgrading the application template, whether the target flow in the application template to be updated is the personalized flow cannot be determined, namely whether the enterprise manager sets the personalized flow cannot be determined, so that the personalized flow cannot be extracted.
In order to solve the above-mentioned problem, the server may obtain a current target flow and a corresponding initial first preset flow in the application template to be updated, further detect whether the target flow is different from the first preset flow, and when detecting that the target flow is different from the first preset flow, instruct that the target flow is a personalized flow set by an enterprise administrator, and determine that the target flow is a personalized flow. Correspondingly, when the target flow is detected to be the same as the first preset flow, the target flow is the initial first preset flow, and the target flow is not the personalized flow.
In step 309, the server adds the personalized control to the tail of the second control in the updated application template, and replaces the personalized flow with the second preset flow in the updated application template, so as to obtain an updated application template list.
In order to realize the migration of the personalized control, the personalized control needs to be added to the tail of the second control in the updated application template, namely, the personalized control is inserted behind the second control of the updated application template, so that the personalized control migration is realized. Correspondingly, in order to realize the migration of the personalized flow, the personalized flow needs to be replaced with a second preset flow in the updated application template so as to realize the personalized flow migration, and based on the personalized flow, an updated application template list is obtained.
In step 310, the server backs up the application template list and the updated application template list according to the enterprise identifier carried by the upgrade request.
The method comprises the steps of acquiring a corresponding pre-update application template list and an updated application template list according to an enterprise identifier carried by an upgrading request, and associating the backup with the enterprise identifier, so that an administrator of a subsequent enterprise can quickly fall back to a pre-update personnel assistant application according to the backed-up application template list.
In step 311, the server generates a corresponding update card according to the update application template, and sends the update card to the client corresponding to each administrator identifier associated with the enterprise identifier.
It should be noted that, the update application templates are all separately designed Protobuf structures, and the structural design is reasonable, so that a developer can reserve fields on the basis, realize different function callback methods, and further realize linkage with other functions.
In this way, in order to show the newly added function linkage, the update card may be pushed to the administrator associated with the enterprise identifier, specifically, a corresponding update card may be generated according to the update application template, for better explaining the embodiment of the present application, please continue to refer to fig. 18, and fig. 18 is a schematic diagram of the update card, where the update card at least includes the update application templates ordered according to time and corresponding function linkage items, that is, the update time of the incoming update application template is earlier than the transferred update application template, the transferred update application template is earlier than the on-shift update application template, and the on-shift update application template is earlier than the off-shift update application template. The function linkage item displays the function of the newly added support, namely, the function linkage of automatically synchronizing to the address book and supporting personnel record management.
Finally, the update card is sent to the client corresponding to each administrator identifier associated with the enterprise identifier, and when the administrator receives the update card through the client, the update card is displayed, for better explanation of the embodiment of the present application, please refer to fig. 19, and fig. 19 is an exemplary diagram of the update card displayed at the client.
In step 312, when the server detects the upgrade rollback request, the enterprise identifier and the rollback manager identifier carried by the upgrade rollback request are obtained, the corresponding distributed lock file is determined according to the enterprise identifier, when the target manager identifier indicated by the distributed lock file is the same as the rollback manager identifier, a backup application template list is obtained, and the backup application template list is replaced with the updated application template list.
After the enterprise upgrades the new personnel assistant application, when an administrator of the enterprise finds that the application template of the new personnel assistant application is inconvenient to use, the enterprise can apply for upgrading rollback to generate an upgrading rollback request, the upgrading rollback request can carry enterprise identifiers and rollback administrator identifiers, the rollback administrator identifiers are identifiers of the administrator applying for upgrading rollback, the upgrading rollback request is sent to a server, and the application is applied for rollback of a version of the new personnel assistant application to a previous version. Based on the above, when the server detects the upgrade rollback request, the enterprise identifier and the rollback manager identifier carried by the upgrade rollback request can be obtained.
Furthermore, in order to avoid repeated upgrades, only the administrator with the previous target administrator identifier needs to be limited to apply for upgrade rollback, because the previous upgrade request generates the corresponding distributed lock file, the distributed lock file also indicates the target administrator identifier, therefore, whether the target administrator identifier indicated by the distributed lock file is the same as the rollback administrator identifier or not can be detected, when the target administrator identifier indicated by the distributed lock file is detected to be the same as the rollback administrator identifier, upgrade rollback is allowed, the application template list backed up before is obtained, the application template list backed up is replaced with the updated application template list, and the replaced application template list is resent to the client corresponding to the enterprise identifier for version rollback, so that upgrade rollback is realized.
As can be seen from the above, in the embodiment of the present application, an application template list corresponding to an upgrade request is obtained; determining an updated application template and an application template to be updated in the application template list, and exchanging the positions of the updated application template and the application template to be updated; performing control comparison analysis according to a first control in the application template to be updated and a second control in the updated application template, and determining a corresponding personalized control; acquiring a personalized flow in an application template to be updated; updating the personalized control and the personalized flow to the updated application template to obtain an updated application template list. Therefore, on the basis of upgrading the application template to be updated, personalized controls and personalized processes can be automatically reserved in the new updated application template, and compared with the scheme that the old application template is directly replaced by the new application template in the related technology, the embodiment of the application can avoid the loss of personalized settings, and improves the updating efficiency of the application template.
Furthermore, the embodiment of the application also has an upgrade rollback function, and when an administrator of an enterprise does not meet the influence caused by upgrade, the upgrade rollback can be performed by one key, so that the diversity of updating the application templates is increased.
In some embodiments, for better explanation of the embodiments of the present application, please refer to fig. 21 together, fig. 21 is a timing diagram of an application template updating system provided in the embodiments of the present application, where the application template updating system includes a node end, a background service end, a logic end, a database end, an algorithm end, a distributed lock end, and a card pushing end, except that the node end is on a terminal, and other ends are on a server side, so that the purpose of processing is to make a distributed type, and prevent a comprehensive crash caused by a service crash.
S1, object click upgrading: and executing the upgrade and sending an upgrade request to the background server.
S2, the background server sends an upgrading request to the logic end, and parameters are analyzed.
S3, the logic end calls the distributed lock end to preempt the distributed lock, and the enterprise identifier is locked.
S4, the background server side calls the logic section to upgrade the basic setting.
S5, the logic section calls the database end to inquire the application template list.
S6, filtering the incoming transfer-off application template by the database terminal.
The on-shift-off application templates are four application templates of on-duty, on-shift, off-duty and on-duty respectively.
S7, the logic end deactivates the application template to be updated.
S8, the logic end calls the algorithm end to realize position change.
S9, the algorithm end calls a switching algorithm.
S10, the logic end performs jump mechanism addition.
S11, the background server side calls the logic side to upgrade the control.
S12, the logic end low-call database end queries the details of the new and old application templates.
S13, the logic end calls the algorithm end to conduct algorithm comparison control.
S14, the algorithm end detects whether the comparison control changes.
And S15, comparing the application template to be updated with a preset template by the algorithm end to find out a new control.
S16, the algorithm end compares the application template to be updated with the updated application template to find out the personalized control.
S17, the logic end adds the personalized control to the tail of the team.
S18, the background server side calls the logic side to upgrade the flow.
S19, the logic end calls the database end to inquire the application template to be updated and the flow of updating the application template.
S20, the logic end calls the algorithm end to conduct a flow comparison algorithm.
S21, executing a flow node and a branch comparison algorithm by the algorithm end.
S22, the background server side calls a logic side to realize a backup mechanism.
S23, the logic end backups the application template list and the updated application template list to the database end.
S24, the background server side sends the push result card to the logic side.
S25, the logic end integrates card information and sorts the results.
S26, the logic end requests the card pushing end to push the card.
S27, the card pushing end pushes updated cards to the client identified by the administrator in batches.
The specific implementation of the above steps can be referred to the previous embodiments, and will not be repeated here.
In some embodiments, for better explaining the embodiments of the present application, please refer to fig. 22 together, fig. 22 is another timing diagram of an application template updating system provided in the embodiments of the present application, where the application template updating system includes a node end, a background server end, a logic end, and a database end, and other ends are on a server side except that the node end is on a terminal, so that the purpose of processing is to make a distributed manner, and prevent a comprehensive crash caused by a service crash.
And S28, clicking the upgrade rollback by the object, and sending the generated upgrade rollback request to the background server.
S29, the background server performs request analysis, namely authority verification.
S30, the background server side sends an upgrade rollback request to the logic side.
S31, the logic end calls the database end to read the backup application template list.
S32, the logic end replaces the updated application template list with the application template list and records the updated application template list in the database end.
The specific implementation of the above steps can be referred to the previous embodiments, and will not be repeated here.
In order to facilitate better implementation of the application template updating method provided by the embodiment of the application, the embodiment of the application also provides a device based on the application template updating method. The meaning of the nouns is the same as that in the above application template updating method, and specific implementation details can be referred to the description in the method embodiment.
Referring to fig. 23, fig. 23 is a schematic structural diagram of an application template updating apparatus according to an embodiment of the present application, where the application template updating apparatus is applied to a computer device, and the application template updating apparatus may include a first obtaining unit 401, a replacing unit 402, a comparing and analyzing unit 403, a second obtaining unit 404, an updating unit 405, and the like.
The first obtaining unit 401 is configured to obtain an application template list corresponding to the upgrade request.
In some embodiments, the upgrade request carries at least an enterprise identifier, a target administrator identifier, and an operation authorization parameter, and the first obtaining unit 401 is configured to:
acquiring an upgrade request, and performing authority verification according to the enterprise identifier, the target manager identifier and the operation authorization parameter;
When the permission verification is detected to pass, locking the upgrading request to generate a distributed lock file corresponding to the enterprise identifier;
and acquiring an application template list corresponding to the enterprise identifier.
And a replacing unit 402, configured to determine an updated application template and an application template to be updated in the application template list, and replace the updated application template with the position of the application template to be updated.
In some embodiments, the exchanging unit 402 is configured to:
determining an updated application template and an application template to be updated in the application template list;
deactivating the application template to be updated;
marking a first position of the application template to be updated and marking a second position of the updated application template;
exchanging the content of the application template to be updated in the first position with the content of the application template to be updated in the second position so as to change the application template to be updated in the first position into the application template to be updated and change the application template to be updated in the second position into the application template to be updated.
In some embodiments, the apparatus further comprises an adjustment unit (not identified) for:
deleting the content of the application template to be updated in the second position, and exchanging the second position to the last position of the application template list;
And adding a jump link in the application template to be updated, wherein the jump link points to the updated application template at the first position.
And the comparison and analysis unit 403 is configured to perform control comparison and analysis according to the first control in the application template to be updated and the second control in the updated application template, and determine a corresponding personalized control.
In some embodiments, the comparison analysis unit 403 includes:
an obtaining subunit (not identified) configured to obtain a first serialized data structure of the preset control corresponding to the application template to be updated and a second serialized data structure of the current first control in the application template to be updated;
a first determining subunit (not identified) configured to determine, when detecting that the first serialized data structure and the second serialized data structure are different, an newly added control of the first control relative to a preset control;
and a second determining subunit (not identified) configured to determine the new control as a personalized control when detecting that the new control is different from the second control in the updated application template.
In some embodiments, a first determining subunit (not identified) is configured to:
when detecting that the first serialization data structure is different from the second serialization data structure, traversing the first serialization data structure to obtain a preset control;
Traversing the second serialized data structure to obtain a first control;
and taking the difference set of the preset control and the first control to obtain a corresponding newly added control.
In some embodiments, the first determining subunit (not identified) is further configured to:
traversing detail controls and common controls in the first serialization data structure to obtain preset controls when detecting that the first serialization data structure is different from the second serialization data structure;
traversing detail controls and common controls in the second serialization data structure to obtain a first control;
and taking the difference set of the preset control and the first control to obtain a corresponding newly added control.
In some embodiments, the second determining subunit (not identified) is configured to:
acquiring a third serialized data structure of a second control in the updated application template;
traversing the third serialized data structure to obtain a second control;
and when the fact that the new control is not existing in the second control is detected, determining the new control as a personalized control.
A second obtaining unit 404, configured to obtain a personalized flow in the application template to be updated.
In some embodiments, the second obtaining unit 404 is configured to:
Acquiring a current target flow and a corresponding first preset flow in the application template to be updated;
and when the target flow is detected to be different from the first preset flow, determining the target flow as a personalized flow.
And the updating unit 405 is configured to update the personalized control and the personalized flow to the updated application template, so as to obtain an updated application template list.
In some embodiments, the updating unit 405 is configured to:
adding the personalized control to the tail of the second control in the updated application template;
and replacing the personalized process to a second preset process in the updated application template to obtain an updated application template list.
In some embodiments, the apparatus further comprises a backup unit (not identified) for:
and backing up the application template list and the updated application template list according to the enterprise identifier carried by the upgrading request.
In some embodiments, the apparatus further comprises a rollback unit (not identified) for:
when an upgrade rollback request is detected, an enterprise identifier carried by the upgrade rollback request and a rollback manager identifier are obtained;
determining a corresponding distributed lock file according to the enterprise identifier;
And when the target administrator identifier indicated by the distributed lock file is the same as the rollback administrator identifier, acquiring the backed-up application template list, and replacing the updated application template list with the backed-up application template list.
In some embodiments, the apparatus further comprises a transmitting unit (not identified) for:
generating a corresponding update card according to the update application template;
the updated card at least comprises an updated application template and corresponding functional linkage items which are ordered according to time;
and sending the updated card to each client corresponding to the manager identifier associated with the enterprise identifier.
The specific implementation of each unit can be referred to the previous embodiments, and will not be repeated here.
As can be seen from the foregoing, in the embodiment of the present application, the first obtaining unit 401 obtains the application template list corresponding to the upgrade request; the exchange unit 402 determines an updated application template and an application template to be updated in the application template list, and exchanges the positions of the updated application template and the application template to be updated; the comparison analysis unit 403 performs control comparison analysis according to the first control in the application template to be updated and the second control in the updated application template, and determines corresponding personalized controls; the second obtaining unit 404 obtains the personalized flow in the application template to be updated; the updating unit 405 updates the personalized control and the personalized flow to the updated application template, and obtains an updated application template list. Therefore, on the basis of upgrading the application template to be updated, personalized controls and personalized processes can be automatically reserved in the new updated application template, and compared with the scheme that the old application template is directly replaced by the new application template in the related technology, the embodiment of the application can avoid the loss of personalized settings, and improves the updating efficiency of the application template.
The specific implementation of each unit can be referred to the previous embodiments, and will not be repeated here.
Referring to fig. 24, fig. 24 is a block diagram of a portion of a terminal 140 implementing an embodiment of the present disclosure, the terminal 140 including: radio Frequency (RF) circuitry 510, memory 515, input unit 530, display unit 540, sensor 550, audio circuitry 560, wireless fidelity (wireless fidelity, wiFi) module 570, processor 580, and power supply 590. It will be appreciated by those skilled in the art that the terminal 140 structure shown in fig. 24 is not limiting of a cell phone or computer and may include more or fewer components than shown, or may combine certain components, or a different arrangement of components.
The RF circuit 510 may be used for receiving and transmitting signals during a message or a call, and in particular, after receiving downlink information of a base station, the signal is processed by the processor 580; in addition, the data of the design uplink is sent to the base station.
The memory 515 may be used to store software programs and modules, and the processor 580 performs various functional applications of the terminal and data processing by executing the software programs and modules stored in the memory 515.
The input unit 530 may be used to receive input numerical or character information and generate key signal inputs related to the setting and function control of the terminal. Specifically, the input unit 530 may include a touch panel 531 and other input devices 532.
The display unit 540 may be used to display input information or provided information and various menus of the terminal. The display unit 540 may include a display panel 541.
Audio circuitry 560, speakers 561, and microphone 562 may provide an audio interface.
In this embodiment, the processor 580 included in the terminal 140 may perform the application template updating method of the previous embodiment.
The terminal 140 of the embodiments of the present disclosure includes, but is not limited to, a mobile phone, a computer, an intelligent voice interaction device, an intelligent home appliance, a vehicle-mounted terminal, an aircraft, etc. The embodiment of the invention can be applied to various scenes, including but not limited to cloud technology, artificial intelligence, intelligent transportation, auxiliary driving and the like.
Fig. 25 is a block diagram of a portion of a server 110 embodying an embodiment of the present disclosure. The server 110 may vary considerably in configuration or performance and may include one or more central processing units (Central Processing Units, simply CPU) 622 (e.g., one or more processors) and memory 632, one or more storage media 630 (e.g., one or more mass storage devices) storing applications 642 or data 644. Wherein memory 632 and storage medium 630 may be transitory or persistent storage. The program stored in the storage medium 630 may include one or more modules (not shown), each of which may include a series of instruction operations in the server 600. Still further, the central processor 622 may be configured to communicate with a storage medium 630 and execute a series of instruction operations in the storage medium 630 on the server 600.
The server 600 may also include one or more power supplies 626, one or more wired or wireless network interfaces 650, one or more input/output interfaces 658, and/or one or more operating systems 641, such as Windows ServerTM, mac OS XTM, unixTM, linuxTM, freeBSDTM, and the like.
The central processor 622 in the server 600 may be used to perform the application template updating method of the embodiments of the present disclosure, namely: acquiring an application template list corresponding to the upgrading request; determining an updated application template and an application template to be updated in the application template list, and exchanging the positions of the updated application template and the application template to be updated; performing control comparison analysis according to the first control in the application template to be updated and the second control in the updated application template, and determining corresponding personalized controls; acquiring a personalized flow in the application template to be updated; updating the personalized control and the personalized flow to the updated application template to obtain an updated application template list.
The embodiments of the present disclosure also provide a computer readable storage medium storing program code for executing the application template updating method of the foregoing embodiments, that is: acquiring an application template list corresponding to the upgrading request; determining an updated application template and an application template to be updated in the application template list, and exchanging the positions of the updated application template and the application template to be updated; performing control comparison analysis according to the first control in the application template to be updated and the second control in the updated application template, and determining corresponding personalized controls; acquiring a personalized flow in the application template to be updated; updating the personalized control and the personalized flow to the updated application template to obtain an updated application template list.
The disclosed embodiments also provide a computer program product comprising a computer program. The processor of the computer device reads the computer program and executes it, so that the computer device executes the application template updating method described above.
Furthermore, the terms "comprises," "comprising," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed or inherent to such process, method, article, or apparatus.
It should be understood that in this disclosure, "at least one" means one or more, and "a plurality" means two or more. "and/or" for describing the association relationship of the association object, the representation may have three relationships, for example, "a and/or B" may represent: only a, only B and both a and B are present, wherein a, B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). For example, at least one (one) of a, b or c may represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", wherein a, b, c may be single or plural.
It should be understood that in the description of the embodiments of the present disclosure, the meaning of a plurality (or multiple) is two or more, and that greater than, less than, exceeding, etc. is understood to not include the present number, and that greater than, less than, within, etc. is understood to include the present number.
In the several embodiments provided in the present disclosure, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of elements is merely a logical functional division, and there may be additional divisions of actual implementation, e.g., multiple elements or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present disclosure may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present disclosure may be embodied in essence or a part contributing to the prior art or all or part of the technical solution in the form of a software product stored in a storage medium, including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods of the various embodiments of the present disclosure. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
It should also be appreciated that the various implementations provided by the embodiments of the present disclosure may be arbitrarily combined to achieve different technical effects.
In the present embodiment, the term "module" or "unit" refers to a computer program or a part of a computer program having a predetermined function, and works together with other relevant parts to achieve a predetermined object, and may be implemented in whole or in part by using software, hardware (such as a processing circuit or a memory), or a combination thereof. Also, a processor (or multiple processors or memories) may be used to implement one or more modules or units. Furthermore, each module or unit may be part of an overall module or unit that incorporates the functionality of the module or unit.
The above is a specific description of the embodiments of the present disclosure, but the present disclosure is not limited to the above embodiments, and various equivalent modifications and substitutions can be made by those skilled in the art without departing from the spirit of the present disclosure, and are included in the scope of the present disclosure as defined in the claims.

Claims (13)

1. An application template updating method, comprising:
acquiring an upgrade request, wherein the upgrade request at least carries an enterprise identifier, a target manager identifier and an operation authorization parameter, and performing authority verification according to the enterprise identifier, the target manager identifier and the operation authorization parameter; when the permission verification is detected to pass, locking the upgrading request to generate a distributed lock file corresponding to the enterprise identifier; acquiring an application template list corresponding to the enterprise identifier;
Determining an updated application template and an application template to be updated in the application template list, and disabling the application template to be updated; marking a first position of the application template to be updated and marking a second position of the updated application template; exchanging the content of the application template to be updated in the first position with the content of the application template to be updated in the second position so as to change the application template to be updated in the first position into the application template to be updated and change the application template to be updated in the second position into the application template to be updated;
deleting the content of the application template to be updated in the second position, and exchanging the second position to the last position of the application template list; adding a jump link in the application template to be updated, wherein the jump link points to the updated application template at the first position;
acquiring a first serialized data structure of a preset control corresponding to the application template to be updated and a second serialized data structure of a current first control in the application template to be updated;
when detecting that the first serialization data structure is different from the second serialization data structure, determining a new control of the first control relative to a preset control;
When detecting that the new control is different from a second control in the updated application template, determining the new control as a personalized control;
acquiring the use times of the personalized control, and storing the personalized control when the use times are detected to be not smaller than a preset threshold value;
acquiring a personalized flow in the application template to be updated;
updating the personalized control and the personalized flow to the updated application template to obtain an updated application template list.
2. The method for updating an application template according to claim 1, wherein determining an added control of the first control with respect to the preset control comprises:
traversing the first serialization data structure to obtain a preset control;
traversing the second serialized data structure to obtain a first control;
and taking the difference set of the preset control and the first control to obtain a corresponding newly added control.
3. The method for updating an application template according to claim 2, wherein traversing the first serialized data structure to obtain a preset control comprises:
traversing detail controls and common controls in the first serialization data structure to obtain preset controls;
And traversing the second serialized data structure to obtain a first control, wherein the traversing comprises the following steps:
traversing the detail control and the common control in the second serialization data structure to obtain a first control.
4. The application template updating method according to claim 1, wherein the determining the new control as the personalized control when the new control is detected to be different from the second control in the updated application template includes:
acquiring a third serialized data structure of a second control in the updated application template;
traversing the third serialized data structure to obtain a second control;
and when the fact that the new control is not existing in the second control is detected, determining the new control as a personalized control.
5. The method for updating an application template according to claim 1, wherein the obtaining the personalized flow in the application template to be updated comprises:
acquiring a current target flow and a corresponding first preset flow in the application template to be updated;
and when the target flow is detected to be different from the first preset flow, determining the target flow as a personalized flow.
6. The method for updating an application template according to claim 1, wherein updating the personalized control and the personalized flow to the updated application template to obtain an updated application template list comprises:
Adding the personalized control to the tail of a second control in the updated application template;
and replacing the personalized process to a second preset process in the updated application template to obtain an updated application template list.
7. The method for updating an application template according to claim 1, further comprising, after the obtaining the updated application template list:
and backing up the application template list and the updated application template list according to the enterprise identifier carried by the upgrading request.
8. The method for updating an application template according to claim 7, further comprising, after the backup of the application template list and the updated application template list:
when an upgrade rollback request is detected, an enterprise identifier carried by the upgrade rollback request and a rollback manager identifier are obtained;
determining corresponding distributed lock files according to the enterprise identifier;
and when the target administrator identifier indicated by the distributed lock file is the same as the rollback administrator identifier, acquiring the backed-up application template list, and replacing the updated application template list with the backed-up application template list.
9. The method for updating an application template according to claim 1, further comprising, after the obtaining the updated application template list:
generating a corresponding update card according to the update application template;
the updated card at least comprises an updated application template and corresponding function linkage items which are ordered according to time;
and sending the updated card to a client corresponding to each manager identifier associated with the enterprise identifier.
10. An application template updating apparatus, comprising:
the first acquisition unit is used for acquiring an application template list corresponding to the upgrading request;
the first acquisition unit is used for: acquiring an upgrade request, wherein the upgrade request at least carries an enterprise identifier, a target manager identifier and an operation authorization parameter, and performing authority verification according to the enterprise identifier, the target manager identifier and the operation authorization parameter; when the permission verification is detected to pass, locking the upgrading request to generate a distributed lock file corresponding to the enterprise identifier; acquiring an application template list corresponding to the enterprise identifier;
the exchange unit is used for determining an updated application template and an application template to be updated in the application template list and exchanging the positions of the updated application template and the application template to be updated;
The exchange unit is used for: determining an updated application template and an application template to be updated in the application template list; deactivating the application template to be updated; marking a first position of the application template to be updated and marking a second position of the updated application template; exchanging the content of the application template to be updated in the first position with the content of the application template to be updated in the second position so as to change the application template to be updated in the first position into the application template to be updated and change the application template to be updated in the second position into the application template to be updated;
the adjusting unit is used for deleting the content of the application template to be updated in the second position and exchanging the second position to the last position of the application template list; adding a jump link in the application template to be updated, wherein the jump link points to the updated application template at the first position;
the comparison analysis unit is used for carrying out control comparison analysis on the first control in the application template to be updated and the second control in the updated application template to determine corresponding personalized controls;
the comparison and analysis unit comprises:
The acquisition subunit is used for acquiring a first serialized data structure of the preset control corresponding to the application template to be updated and a second serialized data structure of the current first control in the application template to be updated;
the first determining subunit is used for determining a new control of the first control relative to a preset control when detecting that the first serialization data structure and the second serialization data structure are different;
a second determining subunit, configured to determine, when the new control is detected to be different from a second control in the updated application template, the new control as a personalized control;
the storage unit is used for acquiring the use times of the personalized control, and storing the personalized control when the use times are detected to be not smaller than a preset threshold value;
the second acquisition unit is used for acquiring the personalized flow in the application template to be updated;
and the updating unit is used for updating the personalized control and the personalized flow to the updated application template to obtain an updated application template list.
11. A computer readable storage medium storing a plurality of instructions adapted to be loaded by a processor to perform the application template updating method of any of claims 1 to 9.
12. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the application template updating method according to any of claims 1 to 9 when executing the computer program.
13. A computer program product comprising a computer program or instructions which, when executed by a processor, implements the application template updating method of any of claims 1 to 9.
CN202410010710.6A 2024-01-04 2024-01-04 Application template updating method, device, storage medium and equipment Active CN117539883B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410010710.6A CN117539883B (en) 2024-01-04 2024-01-04 Application template updating method, device, storage medium and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410010710.6A CN117539883B (en) 2024-01-04 2024-01-04 Application template updating method, device, storage medium and equipment

Publications (2)

Publication Number Publication Date
CN117539883A CN117539883A (en) 2024-02-09
CN117539883B true CN117539883B (en) 2024-04-12

Family

ID=89788391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410010710.6A Active CN117539883B (en) 2024-01-04 2024-01-04 Application template updating method, device, storage medium and equipment

Country Status (1)

Country Link
CN (1) CN117539883B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775836A (en) * 2016-11-29 2017-05-31 腾讯科技(深圳)有限公司 Interface display method and interface display apparatus
CN110032391A (en) * 2019-04-03 2019-07-19 腾讯科技(深圳)有限公司 A kind of application management method and device
CN111324806A (en) * 2018-12-14 2020-06-23 阿里巴巴集团控股有限公司 Structured template updating method and device and storage medium
CN113608706A (en) * 2021-07-01 2021-11-05 浪潮软件股份有限公司 Method for printing tickets in government affair hall and storage medium
CN113646742A (en) * 2019-05-06 2021-11-12 谷歌有限责任公司 Generating and updating speech-based software applications using application templates
CN114237678A (en) * 2021-12-22 2022-03-25 广州品唯软件有限公司 Component updating method and device, storage medium and computer equipment
CN114861623A (en) * 2022-05-09 2022-08-05 深圳市富途网络科技有限公司 Protocol template generation method and device, electronic equipment and storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775836A (en) * 2016-11-29 2017-05-31 腾讯科技(深圳)有限公司 Interface display method and interface display apparatus
CN111324806A (en) * 2018-12-14 2020-06-23 阿里巴巴集团控股有限公司 Structured template updating method and device and storage medium
CN110032391A (en) * 2019-04-03 2019-07-19 腾讯科技(深圳)有限公司 A kind of application management method and device
CN113646742A (en) * 2019-05-06 2021-11-12 谷歌有限责任公司 Generating and updating speech-based software applications using application templates
CN113608706A (en) * 2021-07-01 2021-11-05 浪潮软件股份有限公司 Method for printing tickets in government affair hall and storage medium
CN114237678A (en) * 2021-12-22 2022-03-25 广州品唯软件有限公司 Component updating method and device, storage medium and computer equipment
CN114861623A (en) * 2022-05-09 2022-08-05 深圳市富途网络科技有限公司 Protocol template generation method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN117539883A (en) 2024-02-09

Similar Documents

Publication Publication Date Title
US8949469B2 (en) Method for software program synchronization
CN107220142B (en) Method and device for executing data recovery operation
US8139509B2 (en) Installation and management of mobile device [{S]} configuration
US10679439B2 (en) Method and device for controlling code lock
CN106339177A (en) Method and device for creating virtual machines
CN101471819A (en) Test system, test method, management domain and operation domain
US9313650B2 (en) Communications system, mobile communications device, transition control device, transition control method, and transition control program
CN105528205A (en) Update control method and update control system
CN111314333B (en) Account management method, account management device, account management equipment and computer readable storage medium
US10922064B2 (en) Method, device and user terminal for software installation
US20160378553A1 (en) Resource Management Method and Device for Terminal System
CN117539883B (en) Application template updating method, device, storage medium and equipment
CN116466983A (en) Code management device, method, storage medium and electronic device
CN105681291B (en) A kind of realization multi-client uniform authentication method and system
CN104111862A (en) Method and system for obtaining IP (Internet Protocol) address of virtual machine in cloud computing platform
US20220345517A1 (en) Unified application management for heterogeneous application delivery
CN113420306A (en) Resource sharing method and device, computing equipment and computer readable storage medium
CN113535221A (en) Method and device for managing application version
CN111092765A (en) Intelligent driving method, system, electronic device and readable storage medium
CN114189527B (en) Information synchronization method and device, electronic equipment and storage medium
CN113873533B (en) Data processing method, device, equipment and storage medium
US20220329490A1 (en) Managing configurations of mobile devices across mobility configuration environments
EP4328774A1 (en) User data management method and related device
HUE026717T2 (en) Method and apparatus for acquiring network state information
CN108513287B (en) SIM card activation method, device, terminal and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant