Plug-in generation method, application development method, device, equipment and medium
By creating an extended software development toolkit and function expansion interface in application development and adapting virtual engines, the problems of high cost of application function expansion and high difficulty of decoupling in the existing technology are solved, and flexible function expansion and high reusability plug-in generation are achieved.
Patent Information
- Application Number
- CN202311312372.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-11
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2043-10-11
AI Technical Summary
The prior art is difficult to effectively expand functions in application development, resulting in high costs for interface optimization, processing simplification and function increase, and it is difficult to decouple from virtual engines.
Determine the function extension information by detecting the function extension instructions, and create an extended software development kit and a function extension interface. Then, non-business logic virtual engine adaptation is performed to these toolkits and interfaces, and a functional extension plug-in is generated that is adapted to the virtual engine.
It realizes flexible expansion of application functions, reduces expansion costs and difficulty, and improves the reusability and cross-engineering capabilities of feature extension plug-ins.
Smart Images

Figure CN117389647B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to artificial intelligence, natural language processing, computer vision, knowledge graphs, metaverse, virtual reality, augmented reality, extended reality, mixed reality, digital twins, intelligent question and answer, content generation, and software development technology. Specifically, it relates to a plug-in generation method, an application development method, a device, an electronic device, a storage medium, and a program product. Background Art
[0002] An application can be a computer program that completes one or more specific tasks. Expanding or updating an application is an important part of application development. By updating or expanding an application, you can optimize the interface, simplify the processing process, and add functions, thereby increasing the running speed of the application, enriching the functions of the application, and increasing the fun of the application, thereby improving the user experience. Summary of the invention
[0003] The present disclosure provides a plug-in generation method, an application development method, a device, an electronic device, a storage medium, and a program product.
[0004] According to one aspect of the present disclosure, a plug-in generation method is provided, comprising: in response to detecting a function extension instruction, determining function extension information according to the function extension instruction, wherein the function extension instruction is generated according to function requirement information; creating an extension software development kit according to the function extension information; creating a function extension interface corresponding to the extension software development kit, wherein the development language of the function extension interface is a cross-platform development language; and performing non-business logic virtual engine adaptation on the extension software development kit and the function extension interface to obtain a function extension plug-in adapted to at least one virtual engine.
[0005] According to another aspect of the present disclosure, there is provided an application development method, comprising: in response to detecting a program development instruction, determining a function to be developed according to the program development instruction; in the case where it is determined according to the function to be developed that a function extension plug-in corresponding to a virtual engine needs to be called, calling the function extension plug-in; using a function extension interface to call an extended software development kit; and using the extended software development kit to perform program development to obtain an application; wherein the function extension plug-in, the function extension interface and the extended software development kit are obtained according to the plug-in generation method.
[0006] According to another aspect of the present disclosure, a plug-in generating device is provided, comprising:
[0007] an information determination module, configured to determine function extension information according to the function extension instruction in response to detecting the function extension instruction, wherein the function extension instruction is generated according to the function requirement information;
[0008] A toolkit creation module, used for creating an extended software development toolkit according to the function extension information;
[0009] An interface creation module, used to create a function extension interface corresponding to the extended software development kit, wherein the development language of the function extension interface is a cross-platform development language; and
[0010] The adaptation module is used to perform non-business logic virtual engine adaptation on the extended software development toolkit and the functional extension interface to obtain a functional extension plug-in adapted to at least one virtual engine.
[0011] According to another aspect of the present disclosure, there is provided an application development device, comprising:
[0012] A function determination module, for determining a function to be developed according to the program development instruction in response to detecting the program development instruction;
[0013] A plug-in calling module, used to call the function extension plug-in when it is determined that the function extension plug-in corresponding to the virtual engine needs to be called according to the function to be developed;
[0014] A toolkit calling module, used to call the extended software development toolkit using the function extension interface; and
[0015] A development module, used for developing programs using an extended software development kit to obtain an application program;
[0016] Among them, the function extension plug-in, the function extension interface and the extension software development kit are obtained according to the plug-in generating device.
[0017] According to another aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method as described above.
[0018] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause the computer to execute the method as described above.
[0019] According to another aspect of the present disclosure, a computer program product is provided, comprising a computer program, wherein the computer program implements the method described above when executed by a processor.
[0020] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.
[0022] Figure 1 An exemplary system architecture to which the plug-in generation method and device according to an embodiment of the present disclosure can be applied is schematically shown;
[0023] Figure 2 A flowchart of a plug-in generation method according to an embodiment of the present disclosure is schematically shown;
[0024] Figure 3 A schematic diagram of creating an extended software development kit according to an embodiment of the present disclosure is schematically shown;
[0025] Figure 4 A schematic diagram of creating an extended software development kit according to an embodiment of the present disclosure is schematically shown;
[0026] Figure 5 A schematic diagram schematically shows an application function extension plug-in according to an embodiment of the present disclosure;
[0027] Figure 6 A schematic diagram schematically shows an application function extension plug-in according to another embodiment of the present disclosure;
[0028] Figure 7 A flowchart of an application development method according to an embodiment of the present disclosure is schematically shown;
[0029] Figure 8 A block diagram of a plug-in generating device according to an embodiment of the present disclosure is schematically shown;
[0030] Fig. 9 A block diagram schematically shows an application development device according to an embodiment of the present disclosure; and
[0031] Fig.10 A block diagram of an electronic device suitable for implementing a plug-in generation method and an application development method according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION
[0032] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0033] The present disclosure provides a plug-in generation method, an application development method, a device, an electronic device, a storage medium, and a program product.
[0034] According to an embodiment of the present disclosure, a plug-in generation method is provided, comprising: in response to detecting a function extension instruction, determining function extension information according to the function extension instruction, wherein the function extension instruction is generated according to function requirement information; creating an extension software development kit according to the function extension information; creating a function extension interface corresponding to the extension software development kit, wherein the development language of the function extension interface is a cross-platform development language; and performing non-business logic virtual engine adaptation on the extension software development kit and the function extension interface to obtain a function extension plug-in adapted to at least one virtual engine.
[0035] In the technical solution of the present disclosure, the collection, storage, use, processing, transmission, provision, disclosure and application of user personal information involved comply with the provisions of relevant laws and regulations, take necessary confidentiality measures, and do not violate public order and good morals.
[0036] In the technical solution of the present disclosure, the user's authorization or consent is obtained before obtaining or collecting the user's personal information.
[0037] Figure 1 An exemplary system architecture to which the plug-in generation method and apparatus according to an embodiment of the present disclosure can be applied is schematically shown.
[0038] It should be noted that Figure 1 What is shown is merely an example of a system architecture to which the embodiments of the present disclosure can be applied, in order to help those skilled in the art understand the technical content of the present disclosure, but it does not mean that the embodiments of the present disclosure cannot be used in other devices, systems, environments or scenarios.
[0039] like Figure 1As shown, the system architecture 100 according to this embodiment can be applied to a server. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services ("Virtual Private Server", or "VPS" for short). The server can also be a server of a distributed system, or a server combined with a blockchain.
[0040] like Figure 1 As shown, the system architecture 100 of the embodiment of the present disclosure may include an engine platform layer 110 , a tool platform layer 120 , and an engine adaptation platform layer 130 .
[0041] The engine platform layer 110 can be used to develop a virtual engine. The virtual engine can be used for program development in the field of game development, virtual reality (VR) or three-dimensional map. The virtual engine can include a three-dimensional virtual engine, but is not limited to this, and can also include a two-dimensional virtual engine. Exemplarily, the virtual engine can include a Unity engine, an Unreal engine or a Cocos engine.
[0042] The tool platform layer 120 is used to create an extended software development kit (Software Development Kit, SDK) 121 according to the function extension information. The extended software development kit 121 may include at least one functional module, each of which may be used to implement at least a part of the function to be extended, such as a sub-function to be extended of the function to be extended. However, it is not limited to this. The tool platform layer 120 may also be used to create a function extension interface (Standard C Interface) 122 corresponding to the extended software development kit 121.
[0043] Exemplarily, the tool platform layer 120 may also configure a basic framework (Frame) 123. The basic framework may include a module management module (Module Manager) for module management of functional modules, but is not limited thereto, and may also include a loader (SDK Loader) for loading an extended software development kit 121. The loader may connect the dynamic library or static library in the tool platform layer 120, and be compatible with processors in multiple platform layers, and is used to quickly expand or integrate an extended software development kit that matches the metaverse scenario, such as: extended software development kits such as world services, messaging systems, voice assistants, and voice calls.
[0044] The engine adaptation platform layer 130 can be used to perform non-business logic virtual engine adaptation on the extended software development toolkit and the functional extension interface to obtain a functional extension plug-in adapted to at least one virtual engine.
[0045] Exemplarily, the engine adaptation platform layer 130 may include a C# adapter, a C++ adapter, a JS (JavaScript, a type of interpreted scripting language) adapter, etc. Based on the function extension information, an adapter that is compatible with the extended software development kit 121 and the function extension interface 122 may be determined from multiple adapters, and used to perform non-business logic virtual engine adaptation on the extended software development kit 121 and the function extension interface 122 to obtain a function extension plug-in that is compatible with at least one virtual engine.
[0046] It should be noted that the sequence numbers of the operations in the following method are only used as representations of the operations for the purpose of description, and should not be regarded as representing the execution order of the operations. Unless explicitly stated, the method does not need to be executed completely in the order shown.
[0047] Figure 2 The flowchart of the plug-in generation method according to the embodiment of the present disclosure is schematically shown.
[0048] like Figure 2 As shown, the method includes operations S210 to S240.
[0049] In operation S210 , in response to detecting a function expansion instruction, function expansion information is determined according to the function expansion instruction.
[0050] In operation S220, an extended software development kit is created according to the function extension information.
[0051] In operation S230, a function expansion interface corresponding to the extended software development kit is created.
[0052] In operation S240, non-business logic virtual engine adaptation is performed on the extended software development toolkit and the functional extension interface to obtain a functional extension plug-in adapted to at least one virtual engine.
[0053] According to the embodiments of the present disclosure, Figure 2 The method shown can be applied to a server, such as a cloud server.
[0054] According to an embodiment of the present disclosure, a virtual engine may be an interactive engine that supports multiple operating system platform layers. In an exemplary embodiment, a virtual engine may be used for program development in the field of game development, virtual reality (VR) or three-dimensional map. A virtual engine may include a three-dimensional virtual engine, but is not limited thereto, and may also include a two-dimensional virtual engine, etc. Exemplarily, a virtual engine may include a Unity engine, an Unreal engine or a Cocos engine, etc.
[0055] According to an embodiment of the present disclosure, the function extension instruction may be generated according to the function requirement information.
[0056] According to an embodiment of the present disclosure, when it is determined that there is a function expansion requirement, a function expansion instruction can be generated based on the function requirement information. The function requirement information can refer to the function requirement information of the function to be expanded. In response to detecting the function expansion instruction, the server determines the function expansion information according to the function expansion instruction.
[0057] According to an embodiment of the present disclosure, the function requirement information may include information such as the function type, function attribute, and implementation method of the function to be extended, but is not limited thereto, as long as it can characterize the requirement information or attribute information of the function to be extended.
[0058] According to an embodiment of the present disclosure, the function extension information may include function requirement information, but the function extension information is not limited thereto, and may also include function requirement information and function identification information and other attribute information related to extension.
[0059] According to an embodiment of the present disclosure, an extended software development kit can be created according to the function extension information. The extended software development kit can include at least one functional module, each of which can be used to implement at least a part of the function to be extended, such as a sub-function to be extended of the function to be extended.
[0060] According to an embodiment of the present disclosure, a function expansion interface corresponding to an extended software development kit may be created based on function expansion information, but is not limited thereto. A function expansion interface may also be created based on attribute information of the extended software development kit, such as the toolkit type and software execution requirement information.
[0061] According to an embodiment of the present disclosure, the virtual engine can implement the function of calling the extended software development kit through the function extension interface, thereby realizing the decoupling of the function extension and the virtual engine by calling the extended software development kit.
[0062] According to an embodiment of the present disclosure, the development language of the function extension interface is a cross-platform development language. Cross-platform may refer to across multiple platform layers, for example, calling data or toolkits between at least two platform layers. A cross-platform development language may refer to a development language adapted to multiple system operating platforms. A cross-platform development language may be, for example, but not limited to, C language, C++ language, etc.
[0063] According to the embodiments of the present disclosure, since the development language of the function extension interface is a cross-platform development language, cross-platform software development can be implemented using the function extension interface developed based on the cross-platform development language, thereby realizing function extension of the cross-platform layer.
[0064] For example, the virtual engine can be configured in the engine platform layer, and the extended software development kit can be created in the tool platform layer. The association between the virtual engine and the extended software development kit across the platform layer is achieved through the functional extension interface.
[0065] According to the embodiments of the present disclosure, the virtual engine can be directly used to call the extended software development kit through the functional extension interface. However, in some cases, it is also necessary to perform non-business logic virtual engine adaptation on the extended software development kit and the functional extension interface to obtain a functional extension plug-in adapted to at least one virtual engine, thereby enabling the virtual engine to directly call the functional extension plug-in.
[0066] According to an embodiment of the present disclosure, the non-business logic virtual engine adaptation may be an adaptation operation performed at the engine adaptation platform layer and processed by non-business logic. For example, based on the data structure of the virtual engine at the cross-platform layer, the data structure of the extended software development kit is converted. Based on the development language of the virtual engine at the cross-platform layer, the development language of the functional extension interface is converted to complete the virtual engine adaptation.
[0067] According to the embodiments of the present disclosure, by utilizing non-business logic virtual engine adaptation, while ensuring that the functional extension plug-in obtained based on the extended software development kit and the functional extension interface can be used in conjunction with the virtual engine, the developer does not need to worry about complex logical relationships, thereby reducing the cost of the virtual engine calling the extended software development kit.
[0068] According to an embodiment of the present disclosure, when executing Figure 2 After the operation S240 shown, a plug-in operation may also be included. For example, a virtual engine and a function extension plug-in are used to extend functions that match the function requirement information. This allows the application to be updated, thereby improving the richness and diversity of the application. While improving the user experience, the cost and difficulty of extending the application function are reduced.
[0069] According to the embodiments of the present disclosure, since the extended software development kit is created based on the functional extension information, and the development language of the functional extension interface is a cross-platform development language, the functional extension at the cross-platform layer is realized, thereby realizing the decoupling of the functional extension from the virtual engine, and improving the reusability of the extended software toolkit. In addition, since the functional extension plug-in is obtained by performing non-business logic virtual engine adaptation on the extended software development kit and the functional extension interface corresponding to the extended software development kit, the cross-engine nature of the functional extension plug-in is realized.
[0070] According to the relevant examples of the present disclosure, the engine plug-in can be connected to the virtual engine based on the engine plug-in development specification. The connection is realized by using business logic processing and occurs at the engine platform layer. For engine A, engine plug-in A can be configured for engine A; for engine B, engine plug-in B can be configured for engine B. The engine plug-in is configured according to the engine, and the engine plug-in cannot be reused, which leads to low reusability and high maintenance cost.
[0071] For example, in the metaverse scenario, the virtual engine needs to be extended with an engine plug-in according to actual functional requirements, so that the virtual engine with the extended engine plug-in can be used to expand the functionality of the application.
[0072] Compared with the engine plug-in of the virtual engine at the engine platform layer, the plug-in generation method provided by the embodiment of the present invention utilizes the tool platform layer and the engine adaptation platform layer to implement cross-platform, non-business logic virtual engine adaptation, thereby achieving the decoupling of functional extension and virtual engine and improving the reusability of the extended software toolkit.
[0073] According to the embodiments of the present disclosure, Figure 2 The operation S220 shown, creating an extended software development kit according to the function extension information, may include: integrating at least one function module corresponding to the business library according to the function extension information to obtain the extended software development kit.
[0074] According to an embodiment of the present disclosure, functions of respective functional modules are different from each other.
[0075] According to an exemplary embodiment of the present disclosure, a functional module may include a unit for implementing a certain function or computing operation. For example, the functional modules may be divided according to the principle of "single responsibility". For example, the functional module may be a convolution layer for convolution, but is not limited thereto, and may also be a normalization layer for normalization. Multiple functional modules may be stored in a business library, and unified management of the functional modules may be achieved through the module management module in the basic framework.
[0076] According to an embodiment of the present disclosure, at least one functional module may be integrated according to the functional extension information, for example, at least one functional module may be functionally associated or packaged to obtain an extended software development kit.
[0077] According to an embodiment of the present disclosure, an extended software development kit is obtained by integrating at least one functional module after acquiring the corresponding functional module from a business library according to functional extension information, thereby achieving flexibility and scalability in creating an extended software development kit.
[0078] According to the embodiments of the present disclosure, Figure 2 Operation S230 shown, creating a function extension interface corresponding to the extended software development kit, may include: creating a function extension interface corresponding to the extended software development kit according to programming specification information corresponding to the cross-platform development language.
[0079] According to an embodiment of the present disclosure, the programming specification information may be rule information of a function expansion interface for programming. Based on the programming specification information, programming operations corresponding to a cross-platform development language may be performed reasonably and in accordance with programming rules to obtain a creation program for creating a function expansion interface.
[0080] According to the embodiments of the present disclosure, a creation program is generated according to programming specification information, and a function extension interface is created using the creation program. This can avoid operation anomalies caused by different dependency configurations or compilation configurations, thereby improving creation efficiency while improving creation effectiveness.
[0081] According to the embodiments of the present disclosure, Figure 2 Operation S240 shown, performing non-business logic virtual engine adaptation on the extended software development toolkit and the functional extension interface to obtain a functional extension plug-in adapted to at least one virtual engine, may specifically include the following operations.
[0082] For example, according to the extended software development kit, the functional extension interface and at least one virtual engine, the non-business logic adaptation information corresponding to at least one virtual engine is determined. According to the non-business logic adaptation information corresponding to at least one virtual engine, a non-business logic adaptation routine corresponding to at least one virtual engine is created. According to the extended software development kit, the functional extension interface and the non-business logic adaptation routine corresponding to at least one virtual engine, a functional extension plug-in adapted to at least one virtual engine is obtained.
[0083] According to an embodiment of the present disclosure, the non-business logic virtual engine adaptation includes at least one of the following: programming language adaptation and data structure adaptation.
[0084] According to an embodiment of the present disclosure, the non-business logic adaptation information may include at least one of the following: programming language adaptation information and data structure adaptation information.
[0085] According to an embodiment of the present disclosure, the non-business logic adaptation routine may refer to a program for performing virtual engine adaptation of non-business logic.
[0086] According to the embodiments of the present disclosure, the data structure of the extended software development kit can be converted based on the data structure adaptation information, and the development language of the functional extension interface can be converted based on the programming language adaptation information, thereby finally completing the virtual engine adaptation.
[0087] According to an embodiment of the present disclosure, a non-business logic adaptation routine corresponding to each virtual engine can be created based on the non-business logic adaptation information corresponding to each virtual engine, thereby utilizing the non-business logic adaptation routine to perform non-business logic virtual engine adaptation on the extended software development kit and / or the functional extension interface based on the non-business logic adaptation information, thereby generating a functional extension plug-in.
[0088] According to the embodiments of the present disclosure, a non-business logic adaptation routine can be generated based on the non-business logic adaptation information, and the non-business logic adaptation routine can be used to perform non-business logic virtual engine adaptation on the extended software development kit and / or the functional extension interface, thereby allowing developers to only be responsible for adaptation at the development language and data structure conversion levels, without having to worry about the development of complex interfaces and data structure logic levels, thereby making the generated functional extension plug-in low-cost.
[0089] According to the embodiments of the present disclosure, in the case of Figure 2 After operation S240 shown, the plug-in generation method may further include an operation of generating function description information corresponding to the function expansion plug-in according to the function expansion information.
[0090] According to an embodiment of the present disclosure, the function description information may refer to content used for functional description, which can be displayed to users or developers to facilitate source tracing and clearly understand the relevant information of the function extension plug-in, so as to facilitate subsequent reuse.
[0091] According to an embodiment of the present disclosure, when executing Figure 2 Before the operation S220 shown, the plug-in generation method may further include an operation of: determining a service library according to the function extension information.
[0092] According to an embodiment of the present disclosure, multiple predetermined service libraries can be pre-created according to the classification of function types. Each predetermined service library stores multiple function modules of the same function type. According to the function extension information, a service library adapted to the function extension information is determined from the multiple predetermined service libraries, so as to determine the function module matching the function extension information from the service library.
[0093] According to the embodiments of the present disclosure, storing multiple functional modules of different types into multiple predetermined business libraries of different types can make the management of the functional modules orderly and regular while improving the efficiency of creating an extended software development kit.
[0094] According to an exemplary embodiment of the present disclosure, determining a service library according to function extension information may include the following operations.
[0095] In the case where it is determined that there is a predetermined service library matching the function extension information in at least one predetermined service library, the predetermined service library matching the function extension information is determined as the service library. In the case where it is determined that there is no predetermined service library matching the function extension information in at least one predetermined service library, a service library corresponding to the function extension information is created.
[0096] According to an embodiment of the present disclosure, at least one predetermined service library is created in advance, which can improve the efficiency of creating an extended software development kit. When it is determined that there is no predetermined service library matching the function extension information in the at least one predetermined service library, a service library corresponding to the function extension information is created to improve the scalability of creating an extended software development kit.
[0097] Figure 3 A schematic diagram of creating an extended software development kit according to an embodiment of the present disclosure is schematically shown.
[0098] like Figure 3 As shown, multiple predetermined service libraries (Library) 310 can be configured in the tool platform layer 300, and the multiple predetermined service libraries have different functional types. Multiple functional modules 311 can be pre-stored in the predetermined service library 310, and the multiple functional modules 311 have different functions and the same functional type, for example, all are image processing functional types.
[0099] According to the function extension information, a service library can be determined from a plurality of predetermined service libraries 310. At least one function module that matches the function extension information is determined in the service library, and the at least one function module is integrated to obtain an extended software development kit 320.
[0100] like Figure 3 As shown, the extended software development kit 320 can be configured to be applicable to multiple terminals of different types, such as Android terminals, iOS terminals, Windows terminals, or macOS terminals.
[0101] According to an embodiment of the present disclosure, before executing the operation of "integrating at least one functional module corresponding to the business library according to the functional extension information to obtain an extended software development kit", the plug-in generation method may also include an operation: when it is determined that the status information of the target functional module in the at least one functional module corresponding to the business library is unusable status information, setting the status information of the target functional module to usable status information.
[0102] According to an exemplary embodiment of the present disclosure, a module management module can be configured for a business library. The module management module is used to manage the full life cycle of the function modules in the business library, such as registering and unregistering. After the function modules in the business library are registered using the module management module, the status information may be usable status information. After the function modules in the business library are unregistered using the module management module or before registration, the status information may be unusable status information.
[0103] According to an embodiment of the present disclosure, before integrating at least one functional module corresponding to a business library, the available status of each functional module can be determined. When it is determined that the status information of a target functional module in at least one functional module corresponding to the business library is unusable status information, the target functional module can be registered using a module management module, and the status information of the target functional module can be set to usable status information. This ensures that each functional module used for integration is a valid module that can function.
[0104] According to an embodiment of the present disclosure, integrating at least one functional module corresponding to a business library according to functional extension information to obtain an extended software development kit may include the following operations.
[0105] For example, the module dependency information is determined according to the function extension information, and at least one function module corresponding to the business library is integrated according to the module dependency information to obtain an extended software development kit.
[0106] According to an embodiment of the present disclosure, the module dependency information may include module horizontal dependency information and module vertical dependency information, and the module vertical dependency information may include first module vertical dependency information and second module vertical dependency information.
[0107] According to an embodiment of the present disclosure, the module horizontal dependency information represents the dependency information between a target functional module in at least one functional module and a set of other functional modules, wherein the set of other functional modules includes at least some functional modules in at least one functional module except the target functional module.
[0108] According to an embodiment of the present disclosure, the first module vertical dependency information represents the dependency information between the target functional module in at least one functional module and the application, and the second module vertical dependency information represents the dependency information between the target functional module in at least one functional module and the model data layer.
[0109] According to an embodiment of the present disclosure, module dependency may refer to the association relationship between multiple functional modules, such as module horizontal dependency, but is not limited to this, and may also refer to the association relationship between multiple functional modules and an external platform layer, such as module vertical dependency.
[0110] According to an embodiment of the present disclosure, the association relationship between multiple functional modules can be determined based on the module horizontal dependency information. For example, taking the image processing function as an example, the multiple functional modules may include a convolution module, a pooling module, a fully connected module, and an activation module. The network structure relationship formed by the convolution module, the pooling module, the fully connected module, and the activation module can be determined through the module horizontal dependency information, for example, determining the network structure relationship stacked in sequence.
[0111] According to an embodiment of the present disclosure, the association relationship between a target functional module among multiple functional modules and an application can be determined based on the vertical dependency information of the first module. For example, the existence of an association relationship between the target functional module and the application or a component of the application can be determined based on the vertical dependency information of the first module.
[0112] According to an embodiment of the present disclosure, the association relationship between a target functional module among multiple functional modules and the model data layer can be determined based on the second module vertical dependency information. For example, the existence of an association relationship between a database in the model data layer and the target functional module can be determined based on the first module vertical dependency information.
[0113] According to an embodiment of the present disclosure, at least one functional module corresponding to the business library is integrated according to the module dependency information to obtain an extended software development kit. The module dependencies can be used to clarify the module horizontal dependencies and module vertical dependencies, so that the generated extended software development kit has high operating performance and efficiency during the logic processing, avoiding operating failures.
[0114] According to an embodiment of the present disclosure, integrating at least one functional module corresponding to a business library according to module dependency information to obtain an extended software development kit may include the following operations.
[0115] For example, a communication connection of at least one functional module corresponding to the business library is created according to the module dependency information. An extended software development kit is obtained according to the communication connection of at least one functional module corresponding to the business library and at least one functional module corresponding to the business library.
[0116] According to an embodiment of the present disclosure, the communication connection may be a connection for signal transmission, but is not limited thereto and may also include a signal transmission mode.
[0117] According to an embodiment of the present disclosure, a communication connection between a target functional module in at least one functional module and a set of other functional modules may be established according to the module horizontal dependency information in the module dependency information.
[0118] According to an embodiment of the present disclosure, a communication connection between a target functional module in at least one functional module and an application program can be created based on the first module vertical dependency information in the module dependency information. A communication connection between a target functional module in at least one functional module and a model data layer can be created based on the second module vertical dependency information in the module dependency information.
[0119] According to the embodiments of the present disclosure, an extended software development kit is obtained based on the communication connection of at least one functional module corresponding to the business library and at least one functional module corresponding to the business library, which can ensure the communication association of "horizontal communication" and "vertical communication" between at least one functional module in the extended software development kit, clarify the signal transmission logic, and then expand the functions that match the functional expansion requirements.
[0120] According to an embodiment of the present disclosure, a communication connection is created for at least one functional module corresponding to a business library based on module dependency information, including: for a target functional module in at least one functional module corresponding to the business library. Based on an event bus, a communication connection is created between the target functional module and other functional modules based on the module horizontal dependency information. Based on a first callback method, a communication connection is created between the target functional module and an application program based on the first module vertical dependency information. Based on a second callback method, a communication connection is created between the target functional module and a model data layer based on the second module vertical dependency information.
[0121] According to an embodiment of the present disclosure, an event bus is a lightweight publish-subscribe application mode. Based on the event bus and the module horizontal dependency information, a communication connection such as a publish-subscribe mode is created between the target functional module and other functional modules. According to the event bus and the module horizontal dependency information, the publisher of the event is determined, and the publisher of the event sends the event to the event bus. The event bus sends the event to the corresponding subscriber based on the registered subscribers to complete the event communication.
[0122] According to the embodiments of the present disclosure, this communication connection mode realizes the decoupling of communications between multiple functional modules and improves the simplicity of communication.
[0123] According to an embodiment of the present disclosure, the first callback mode may refer to a communication mode between a target functional module and an application program, and the second callback mode may refer to a communication mode between a target functional module and a model data layer.
[0124] According to an embodiment of the present disclosure, the first callback method may include an asynchronous callback or an event communication method.
[0125] According to an embodiment of the present disclosure, the second callback method may include a synchronous or asynchronous callback method.
[0126] According to an exemplary embodiment of the present disclosure, the first callback method or the second callback method may adopt the Invoke callback method. For example, after a predetermined time, a corresponding event or signal is sent to achieve the effect of animation delay. In the metaverse scene, it can be used for items that need to be repeatedly generated in the game, such as item drops in the game.
[0127] According to the embodiments of the present disclosure, corresponding callback methods are created between functional modules and platform layers for different platform layers, which has high scalability while improving the diversity and richness of functional extensions, and is applied in metaverse scenarios to improve user experience.
[0128] Figure 4 A schematic diagram of creating an extended software development kit according to an embodiment of the present disclosure is schematically shown.
[0129] like Figure 4As shown, in the actual application process, the overall architecture 400 may include an application platform layer 410, a logic platform layer 420 (Logic) and a model data layer 430 (Model). Multiple applications such as applications App_A and App_B may be configured in the application platform layer 410, and each application includes multiple running components (components), such as ComponentA_1, ComponentA_2, ComponentB_1, and ComponentB_2. Multiple predetermined business libraries 421 are configured in the logic platform layer 420, and each predetermined business library includes multiple functional modules, such as functional module ModuleA_1, functional module ModuleA_2, functional module ModuleA_3, functional module ModuleB_1, and functional module ModuleB_2. A module management module 422 and an event bus 423 may also be configured in the logic platform layer 420. Multiple storage spaces may be configured in the model data layer 430, and each storage space stores multiple data, such as Data_1, Data_2, Data_3, and Data_4.
[0130] like Figure 4 As shown, the subscribers and publishers in multiple functional modules can be determined through the module management module according to the module horizontal dependency information, thereby creating a communication connection between the target functional module and other functional modules based on the event bus according to the module horizontal dependency information. For example, the functional module ModuleA_1, as a publisher, defines and sends the event event_a1 to the event bus, and the event bus can send the event event_a1 to the functional modules ModuleA_2, ModuleB_1, and ModuleB_2 according to the registration information.
[0131] like Figure 4 As shown, based on the first callback mode (invoke or callback), according to the vertical dependency information of the first module, a communication connection between the target functional module and the application is created. Based on the communication connection established by the vertical dependency, data transmission between the logic platform layer 420 and the application platform layer 410 is achieved through asynchronous callback or event communication.
[0132] like Figure 4 As shown, based on the second callback mode (invoke or callback), according to the second module vertical dependency information, a communication connection is created between the target functional module and the model data layer 430. Based on the communication connection established by the vertical dependency, the interface call between the logic platform layer 420 and the model data layer 430 is completed through a synchronous or asynchronous callback mode.
[0133] According to an exemplary embodiment of the present disclosure, the functional module and the model data layer run in different threads.
[0134] According to an embodiment of the present disclosure, multiple threads may be configured in the logic platform layer, each thread being used for communication between multiple functional modules, or multiple threads may be configured in the model data layer, each thread being used for free organization or call of local data or network data.
[0135] According to the embodiments of the present disclosure, the functional module and the model data layer run in different threads, which can ensure that multiple threads are independent of each other and do not affect each other, improve the ability of asynchronous parallel processing, and thus ensure the efficiency of logical processing.
[0136] According to an embodiment of the present disclosure, the function extension information may include at least one of the following: artificial intelligence function extension information, blockchain function extension information, human-computer interaction function extension information, digital twin function extension information, Internet of Things function extension information, and network and computing function extension information.
[0137] According to an embodiment of the present disclosure, artificial intelligence function extension information may include at least one of the following: virtual object generation function extension information, three-dimensional generation function extension information, digital collection function extension information, knowledge graph function extension information, intelligent question and answer function extension information, audio generation function extension information, video generation function extension information, image generation function extension information, text generation function extension information, multimodal generation function extension information, cross-modal generation function extension information, strategy generation function extension information and resource recommendation function extension information.
[0138] According to an embodiment of the present disclosure, the artificial intelligence function extension information may include at least one of the following: natural language processing function extension information and computer vision function extension information, etc.
[0139] According to an embodiment of the present disclosure, the virtual object generation function extension information may include at least one of the following: virtual object video generation function extension information and virtual object real-time interaction function extension information, etc.
[0140] According to an embodiment of the present disclosure, the audio generation function extension information may include at least one of the following: voice cloning function extension information, text generation predetermined voice function extension information, music generation function extension information, song generation function extension information, etc. The text generation predetermined voice function extension information may include at least one of the following: virtual object sound generation function extension information, virtual object broadcast function extension information, etc.
[0141] According to an embodiment of the present disclosure, the video generation function extension information may include at least one of the following: video attribute editing function extension information, video automatic editing function extension information, and video part editing function extension information. The video attribute editing function extension information may include at least one of the following: predetermined subject deletion function extension information and special effect generation function extension information. The video automatic editing function extension information may include at least one of the following: predetermined video segment synthesis function extension information and predetermined video segment detection function extension information. The video part editing function extension information may include video face swap function extension information, etc.
[0142] According to an embodiment of the present disclosure, the image generation function extension information may include at least one of the following: image editing function extension information and image autonomous generation function extension information, etc. The image editing function extension information may include at least one of the following: watermark removal function extension information, image resolution improvement function extension information and predetermined filter generation function extension information, etc. The image autonomous generation function extension information may include at least one of the following: creative image generation function extension information and functional image generation function extension information, etc. The functional image generation function extension information may include at least one of the following: marketing poster generation function extension information and logo generation function extension information, etc.
[0143] According to an embodiment of the present disclosure, the text generation function extension information may include at least one of the following: non-interactive text generation function extension information and interactive text generation function extension information, etc. The non-interactive text generation function extension information may include at least one of the following: structured writing function extension information, unstructured writing function extension information and auxiliary writing function extension information, etc. The structured writing function extension information may include news writing function extension information, etc. The unstructured writing function extension information may include at least one of the following: plot continuation function extension information and marketing text generation function extension information, etc. The interactive text generation function extension information may include at least one of the following: chat robot function extension information and text interactive game function extension information, etc.
[0144] According to an embodiment of the present disclosure, cross-modal generation function extension information may include at least one of the following: text generation image function extension information, text generation video function extension information, image generation text function extension information, and video generation text function extension information. Text generation video function extension information may include at least one of the following: text generation demonstration video function extension information and text generation creative video function extension information. Image generation text function extension information may include at least one of the following: image question and answer function extension information and image title generation function extension information. Video generation text function extension information may include at least one of the following: video question and answer function extension information, video subtitle generation function extension information, and video title generation function extension information.
[0145] According to an embodiment of the present disclosure, when the function extension information includes artificial intelligence function extension information, the artificial intelligence function extension information includes virtual object generation function extension information, and the virtual object generation function extension information includes digital human generation extension information, at least one function module corresponding to the business library includes a first determination module, a generation module and a fusion module.
[0146] According to an embodiment of the present disclosure, the first determination module is configured to determine the action parameter information sequence based on the video frame sequence, the generation module is configured to generate a three-dimensional posture information sequence based on the action parameter information sequence, and the fusion module is configured to fuse the three-dimensional posture information sequence with a predetermined three-dimensional model to generate an animated digital human.
[0147] According to an embodiment of the present disclosure, the predetermined three-dimensional model may refer to a three-dimensional model pre-stored in a model database, and the three-dimensional posture information and the predetermined three-dimensional model may be directly fused, so that the efficiency of generating digital humans is improved and the simulation realism of the predetermined three-dimensional model and the moving objects in the video frame sequence is improved.
[0148] Figure 5 A schematic diagram of an application function extension plug-in according to an embodiment of the present disclosure is schematically shown.
[0149] like Figure 5 As shown, in the case where the extended software development kit in the functional extension plug-in includes a first determination module, a generation module and a fusion module, the functions implemented by the functional extension plug-in may include: using the first determination module, performing frame splitting processing on the video information to determine a video frame sequence 510. Based on the video frame sequence, determining an action parameter information sequence 520 of the target object. Using the generation module, generating a three-dimensional posture information sequence 530 according to the action parameter information sequence 520. Using the fusion module, fusing the three-dimensional posture information sequence 430 and the predetermined three-dimensional model 540 to generate an animated digital human 550. According to the video frame sequence composed of different time periods, a digital human sequence that changes action over time, also called an animated digital human, may be generated.
[0150] According to an embodiment of the present disclosure, when the function extension information includes artificial intelligence function extension information and the artificial intelligence function extension information includes resource recommendation function extension information, at least one function module corresponding to the business library includes a second determination module and a recommendation module.
[0151] According to an embodiment of the present disclosure, the second determination module is configured to determine the resources to be recommended based on the object attribute information of the object to be recommended, and the recommendation module is configured to recommend the resources to be recommended to the object to be recommended based on the second metaverse position information corresponding to the first metaverse position information of the object to be recommended.
[0152] According to an embodiment of the present disclosure, the metaverse may include a virtual world that uses scientific and technological means to map and interact with the real world, and is a digital living space with a new social system.
[0153] According to an embodiment of the present disclosure, a plug-in generation method provided by an embodiment of the present disclosure can be used to generate a function extension plug-in applied to a metaverse scenario. The function extension plug-in is used to expand and increase the functions of an application with a metaverse scenario.
[0154] For example, through the recommendation module in the function extension plug-in, the recommended resources are recommended to the object to be recommended located at the first metaverse position at the second metaverse position corresponding to the second metaverse position information, thereby increasing the object to be recommended's attractiveness to the recommended resources, thereby improving the authenticity and rationality of the metaverse scene.
[0155] Figure 6 A schematic diagram of an application function extension plug-in according to another embodiment of the present disclosure is schematically shown.
[0156] like Figure 6 As shown, in the case where the extended software development kit in the functional extension plug-in includes a second determination module and a recommendation module, the functions implemented by the functional extension plug-in may include: using the second determination module, determining the resource to be recommended 620 based on the object attribute information of the object to be recommended 610 in the metaverse scene. Using the recommendation module configuration, recommending the resource to be recommended 620 to the object to be recommended 610 at the second metaverse position information corresponding to the first metaverse position information of the object to be recommended. As the object to be recommended 610 moves in the metaverse scene, the second metaverse position information of the resource to be recommended 620 also changes accordingly.
[0157] According to an embodiment of the present disclosure, when the function extension information includes human-computer interaction function extension information and the manual interaction function extension information includes voice call function extension information, at least one function module corresponding to the service library includes an acquisition module.
[0158] According to an embodiment of the present disclosure, the acquisition module is configured to acquire the third metaverse location information of the call object, so that the application program fuses the third metaverse location information with the second audio information corresponding to the call object to obtain the second fusion information. The application program is developed using a function expansion plug-in.
[0159] According to the relevant embodiments of the present disclosure, when making a voice call in a certain three-dimensional space of the metaverse scene, the traditional real-time audio and video software toolkit cannot achieve the immersive experience like in the real world, but needs to encapsulate the call capability with the metaverse space location function on the basis of the traditional audio and video software toolkit. The production is complex and costly.
[0160] By utilizing the plug-in generation method provided in the embodiment of the present disclosure, the integration and capability expansion of the generated extended software development kit can be sunk to the cross-platform layer, thereby achieving the effect of one set of code running on each end.
[0161] According to the embodiments of the present disclosure, based on the architectural concept of separation of logic and expression, "horizontal stratification" and "vertical encapsulation" are implemented, and a cross-platform development language is used to create a functional extension interface, and multiple functional modules with logical processing functions in the metaverse scenario are gathered into the tool platform layer to achieve decoupling from various mainstream virtual engines. Based on the plug-in development constraints of each virtual engine, the development language, interface and data structure conversion are adapted at the engine adaptation layer, and finally the cross-engine nature of the core functions of the metaverse is realized.
[0162] Figure 7 The flowchart of the application development method according to the embodiment of the present disclosure is schematically shown.
[0163] like Figure 7 As shown, the method includes operations S710 to S740.
[0164] In operation S710 , in response to detecting a program development instruction, a function to be developed is determined according to the program development instruction.
[0165] In operation S720, when it is determined that a function extension plug-in corresponding to the virtual engine needs to be called according to the function to be developed, the function extension plug-in is called.
[0166] In operation S730, the software development kit is extended using the function extension interface call.
[0167] In operation S740, program development is performed using the extended software development kit to obtain an application program.
[0168] According to an embodiment of the present disclosure, a function extension plug-in, a function extension interface, and an extension software development kit are obtained according to a plug-in generation method.
[0169] According to the embodiments of the present disclosure, when an application needs to extend functions, a program development instruction can be generated based on the extended function requirement information, and the functions to be developed can be determined according to the program development instruction.
[0170] According to an embodiment of the present disclosure, an application may be developed based on a virtual engine. The type of application is not limited, for example, it may be a game application, but it is not limited thereto, as long as it has functional expansion requirements and is developed based on a virtual engine.
[0171] According to an embodiment of the present disclosure, a function expansion plug-in corresponding to a virtual engine to be called may be determined from multiple function expansion plug-ins based on the function to be developed, the function description information of the function expansion plug-in, or the function expansion information of the function expansion plug-in.
[0172] According to the embodiments of the present disclosure, application development is performed by calling function extension plug-ins, thereby improving the reusability of function extension plug-ins, supporting seamless integration and expansion of the core capabilities of the metaverse, and improving the high cohesion and low coupling of the functional modules.
[0173] According to the embodiments of the present disclosure, in the case of Figure 2 After operation S240 shown, the application development method may further include an operation of: locating the abnormality of the function expansion plug-in when an abnormality occurs during the running of the function expansion plug-in.
[0174] According to an embodiment of the present disclosure, preset tracking data can be executed when running an application or running a function extension plug-in. The preset tracking data is used to record the call information of the function extension plug-in. The preset tracking data can be pre-tracked in the source code of the extension software development kit, but it is not limited to this, and can also be tracked in the source code of the application.
[0175] According to an embodiment of the present disclosure, the call information about the function extension plug-in obtained after executing the preset tracking data can be output to the record log. According to the call information recorded in the record log, the abnormal position where the abnormality occurs is determined.
[0176] According to an embodiment of the present disclosure, a dynamic switch for opening and closing preset burying point data may be set. The dynamic switch for executing preset burying point data is turned on so as to use the preset burying point data to locate abnormalities of the function extension plug-in.
[0177] According to the embodiments of the present disclosure, when an abnormality occurs during the operation of a function extension plug-in, the function extension plug-in is abnormally located, and the faulty function extension plug-in can be repaired in a timely and effective manner, thereby ensuring the effectiveness and normal operation capability of the application extension function and improving the user experience.
[0178] Figure 8 The block diagram of a plug-in generating device according to an embodiment of the present disclosure is schematically shown.
[0179] like Figure 8 As shown, the plug-in generating device 800 of this embodiment includes an information determining module 810 , a toolkit creating module 820 , an interface creating module 830 and an adapting module 840 .
[0180] The information determination module 810 is used to determine the function extension information according to the function extension instruction in response to detecting the function extension instruction, wherein the function extension instruction is generated according to the function requirement information. In one embodiment, the information determination module 810 can be used to perform the operation S210 described above, which will not be repeated here.
[0181] The toolkit creation module 820 is used to create an extended software development toolkit according to the function extension information. In one embodiment, the toolkit creation module 820 can be used to perform the operation S220 described above, which will not be described in detail here.
[0182] The interface creation module 830 is used to create a function expansion interface corresponding to the extended software development kit, wherein the development language of the function expansion interface is a cross-platform development language. In one embodiment, the interface creation module 830 can be used to perform the operation S230 described above, which will not be repeated here.
[0183] The adaptation module 840 is used to perform non-business logic virtual engine adaptation on the extended software development kit and the functional expansion interface to obtain a functional expansion plug-in adapted to at least one virtual engine. In one embodiment, the adaptation module 840 can be used to perform the operation S240 described above, which will not be repeated here.
[0184] According to an embodiment of the present disclosure, the toolkit creation module 820 includes an integration submodule.
[0185] The integration submodule is used to integrate at least one functional module corresponding to the business library according to the functional extension information to obtain an extended software development kit, wherein the functions of the functional modules are different from each other.
[0186] According to an embodiment of the present disclosure, the toolkit creation module 820 further includes a business library determination submodule.
[0187] The business library determination submodule is used to determine the business library according to the function extension information.
[0188] According to an embodiment of the present disclosure, the service library determination submodule includes a service library determination unit and a creation unit.
[0189] The service library determining unit is used to determine the predetermined service library matching the function extension information as the service library when it is determined that there is a predetermined service library matching the function extension information in at least one predetermined service library;
[0190] The creating unit is used to create a service library corresponding to the function extension information when it is determined that there is no predetermined service library matching the function extension information in the at least one predetermined service library.
[0191] According to an embodiment of the present disclosure, the toolkit creation module 820 further includes a setting submodule.
[0192] The setting submodule is used for setting the state information of the target function module to usable state information when it is determined that the state information of the target function module in at least one function module corresponding to the business library is unusable state information.
[0193] According to an embodiment of the present disclosure, the integration submodule includes an information determination unit and an integration unit.
[0194] The information determination unit is used to determine the module dependency information according to the function extension information;
[0195] The integration unit is used to integrate at least one functional module corresponding to the business library according to the module dependency information to obtain an extended software development kit;
[0196] The module dependency information includes module horizontal dependency information and module vertical dependency information, and the module vertical dependency information includes first module vertical dependency information and second module vertical dependency information;
[0197] The module horizontal dependency information represents the dependency information between the target functional module in at least one functional module and other functional module sets, and the other functional module sets include at least some functional modules in at least one functional module except the target functional module;
[0198] The first module vertical dependency information represents the dependency information between the target function module in at least one function module and the application program, and the second module vertical dependency information represents the dependency information between the target function module in at least one function module and the model data layer.
[0199] According to an embodiment of the present disclosure, the integration unit includes a creation subunit and a determination subunit.
[0200] The creation subunit is used to create a communication connection with at least one functional module corresponding to the business library according to the module dependency information; and
[0201] The determination subunit is used to obtain an extended software development kit according to the communication connection of at least one functional module corresponding to the business library and at least one functional module corresponding to the business library.
[0202] According to an embodiment of the present disclosure, the creation subunit includes a first creation component, a second creation component and a third creation component.
[0203] The first creation component is used to create a communication connection between the target functional module and other functional modules based on the event bus and according to the module horizontal dependency information;
[0204] The second creation component is used to create a communication connection between the target functional module and the application program based on the first callback method and the vertical dependency information of the first module; and
[0205] The third creation component is used to create a communication connection between the target functional module and the model data layer based on the second callback method and the second module vertical dependency information.
[0206] According to an embodiment of the present disclosure, the functional module and the model data layer run in different threads.
[0207] According to an embodiment of the present disclosure, a function extension interface corresponding to an extended software development kit is created, including: an interface creation submodule for creating a function extension interface corresponding to the extended software development kit according to programming specification information corresponding to a cross-platform development language.
[0208] According to an embodiment of the present disclosure, non-business logic virtual engine adaptation is performed on an extended software development kit and a functional expansion interface to obtain a functional expansion plug-in adapted to at least one virtual engine, including: an information determination submodule, used to determine non-business logic adaptation information corresponding to at least one virtual engine according to the extended software development kit, the functional expansion interface and the at least one virtual engine; a routine creation submodule, used to create a non-business logic adaptation routine corresponding to the at least one virtual engine according to the non-business logic adaptation information corresponding to the at least one virtual engine; and a plug-in determination submodule, used to obtain a functional expansion plug-in adapted to the at least one virtual engine according to the extended software development kit, the functional expansion interface and the non-business logic adaptation routine corresponding to the at least one virtual engine.
[0209] According to an embodiment of the present disclosure, the non-business logic virtual engine adaptation includes at least one of the following: programming language adaptation and data structure adaptation.
[0210] According to an embodiment of the present disclosure, the plug-in generating device 800 further includes a generating module.
[0211] The generation module is used to generate the function description information corresponding to the function extension plug-in according to the function extension information.
[0212] According to an embodiment of the present disclosure, the function extension information includes at least one of the following: artificial intelligence function extension information, blockchain function extension information, human-computer interaction function extension information, digital twin function extension information, Internet of Things function extension information and network and computing function extension information.
[0213] According to an embodiment of the present disclosure, the artificial intelligence function extension information includes at least one of the following: virtual object generation function extension information, three-dimensional generation function extension information, digital collection function extension information, knowledge graph function extension information, intelligent question and answer function extension information, audio generation function extension information, video generation function extension information, image generation function extension information, text generation function extension information, multimodal generation function extension information, cross-modal generation function extension information, strategy generation function extension information and resource recommendation function extension information
[0214] According to an embodiment of the present disclosure, when the function extension information includes artificial intelligence function extension information, the artificial intelligence function extension information includes virtual object generation function extension information, and the virtual object generation function extension information includes digital human generation extension information, at least one function module corresponding to the business library includes a first determination module, a generation module and a fusion module; wherein the first determination module is configured to determine an action parameter information sequence according to a video frame sequence, the generation module is configured to generate a three-dimensional posture information sequence according to the action parameter information sequence, and the fusion module is configured to fuse the three-dimensional posture information sequence with a predetermined three-dimensional model to generate an animated digital human.
[0215] According to an embodiment of the present disclosure, when the function extension information includes artificial intelligence function extension information and the artificial intelligence function extension information includes resource recommendation function extension information, at least one function module corresponding to the business library includes a second determination module and a recommendation module; wherein the second determination module is configured to determine the resource to be recommended based on the object attribute information of the object to be recommended, and the recommendation module is configured to recommend the resource to be recommended to the object to be recommended at the second metaverse position information corresponding to the first metaverse position information of the object to be recommended.
[0216] According to an embodiment of the present disclosure, when the function extension information includes human-computer interaction function extension information and the manual interaction function extension information includes voice call function extension information, at least one function module corresponding to the business library includes an acquisition module; wherein the acquisition module is configured to obtain the third metaverse position information of the call object, so that the application program fuses the third metaverse position information and the second audio information corresponding to the call object to obtain the second fusion information, wherein the application program is developed using a function extension plug-in.
[0217] Fig. 9 A block diagram of an application development device according to an embodiment of the present disclosure is schematically shown.
[0218] like Fig. 9 As shown, the application development device 900 of this embodiment includes a function determination module 910 , a plug-in calling module 920 , a toolkit calling module 930 and a development module 940 .
[0219] The function determination module 910 is used to determine the function to be developed according to the program development instruction in response to detecting the program development instruction. In one embodiment, the function determination module 910 can be used to perform the operation S710 described above, which will not be described in detail here.
[0220] The plug-in calling module 920 is used to call the function extension plug-in when it is determined that the function extension plug-in corresponding to the virtual engine needs to be called according to the function to be developed. In one embodiment, the plug-in calling module 920 can be used to perform the operation S720 described above, which will not be repeated here.
[0221] The toolkit calling module 930 is used to call the extended software development toolkit using the function extension interface. In one embodiment, the toolkit calling module 930 can be used to perform the operation S730 described above, which will not be described in detail here.
[0222] The development module 940 is used to develop a program using an extended software development kit to obtain an application program. In one embodiment, the development module 940 can be used to perform the operation S740 described above, which will not be described in detail here.
[0223] According to an embodiment of the present disclosure, the application development device 900 further includes a positioning module.
[0224] The positioning module is used to locate the abnormality of the function extension plug-in when an abnormality occurs during the operation of the function extension plug-in.
[0225] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
[0226] According to an embodiment of the present disclosure, an electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method as described above.
[0227] According to an embodiment of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause a computer to execute the method as described above.
[0228] According to an embodiment of the present disclosure, a computer program product includes a computer program, and when the computer program is executed by a processor, the computer program implements the method as described above.
[0229] Fig.10A block diagram of an electronic device suitable for implementing a plug-in generation method and an application development method according to an embodiment of the present disclosure is schematically shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0230] like Fig.10 As shown, the electronic device 1000 includes a computing unit 1001, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1002 or a computer program loaded from a storage unit 1008 into a random access memory (RAM) 1003. In the RAM 1003, various programs and data required for the operation of the electronic device 1000 can also be stored. The computing unit 1001, the ROM 1002, and the RAM 1003 are connected to each other via a bus 1004. An input / output (I / O) interface 1005 is also connected to the bus 1004.
[0231] Multiple components in the electronic device 1000 are connected to the I / O interface 1005, including: an input unit 1006, such as a keyboard, a mouse, etc.; an output unit 1007, such as various types of displays, speakers, etc.; a storage unit 1008, such as a disk, an optical disk, etc.; and a communication unit 1009, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 1009 allows the electronic device 1000 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0232] The computing unit 1001 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 1001 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 1001 performs the various methods and processes described above, such as a plug-in generation method or an application development method. For example, in some embodiments, the plug-in generation method or the application development method may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as a storage unit 1008. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 1000 via the ROM 1002 and / or the communication unit 1009. When the computer program is loaded into the RAM 1003 and executed by the computing unit 1001, one or more steps of the plug-in generation method or the application development method described above may be executed. Alternatively, in other embodiments, the computing unit 1001 may be configured to execute the plug-in generation method or the application development method in any other appropriate manner (eg, by means of firmware).
[0233] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0234] The program code for implementing the method of the present disclosure may be written in any combination of one or more development languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, implements the functions / operations specified in the flow chart and / or block diagram. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0235] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0236] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0237] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0238] A computer system may include a client and a server. The client and the server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises through computer programs running on respective computers and having a client-server relationship to each other. The server may be a cloud server, a server in a distributed system, or a server combined with a blockchain.
[0239] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0240] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A plug-in generation method, comprising: In response to detecting a function extension instruction, determining function extension information according to the function extension instruction, wherein the function extension instruction is generated according to the function requirement information; Determine module dependency information according to the function extension information; Integrate at least one functional module corresponding to the business library according to the module dependency information to obtain an extended software development kit, wherein the functions of the functional modules are different from each other, and at least one functional module includes a model network structure module; Creating a function extension interface corresponding to the extension software development kit, wherein the development language of the function extension interface is a cross-platform development language; and Performing non-business logic virtual engine adaptation on the extended software development toolkit and the functional extension interface to obtain a functional extension plug-in adapted to at least one virtual engine; Wherein, the module dependency information includes module vertical dependency information, and the module vertical dependency information includes first module vertical dependency information and second module vertical dependency information; Among them, the first module vertical dependency information represents the dependency information between the target function module in the at least one function module and the application, and the second module vertical dependency information represents the dependency information between the target function module in the at least one function module and the model data layer.
2. The method according to claim 1, further comprising: The service library is determined according to the function extension information.
3. The method according to claim 2, wherein: The determining the service library according to the function extension information includes: In a case where it is determined that there is a predetermined service library matching the function extension information in at least one predetermined service library, determining the predetermined service library matching the function extension information as the service library; and When it is determined that there is no predetermined service library matching the function extension information in the at least one predetermined service library, the service library corresponding to the function extension information is created.
4. The method according to claim 1, further comprising: When it is determined that the state information of a target function module in at least one function module corresponding to the service library is unusable state information, the state information of the target function module is set to usable state information.
5. The method according to claim 1, wherein: The module dependency information also includes module horizontal dependency information; The module horizontal dependency information represents the dependency information between the target functional module in the at least one functional module and a set of other functional modules, and the set of other functional modules includes at least some functional modules in the at least one functional module except the target functional module.
6. The method according to claim 1, wherein: The step of integrating at least one functional module corresponding to the business library according to the module dependency information to obtain the extended software development kit includes: According to the module dependency information, establishing a communication connection with at least one functional module corresponding to the business library; and The extended software development kit is obtained according to the communication connection of at least one functional module corresponding to the business library and at least one functional module corresponding to the business library.
7. The method according to claim 6, wherein: The step of creating a communication connection with at least one functional module corresponding to the business library according to the module dependency information includes: For a target functional module in at least one functional module corresponding to the business library, Based on the event bus, according to the module horizontal dependency information, a communication connection is established between the target functional module and other functional modules; Based on the first callback mode, according to the vertical dependency information of the first module, a communication connection is established between the target functional module and the application program; and Based on the second callback method, a communication connection is established between the target functional module and the model data layer according to the second module vertical dependency information.
8. The method according to any one of claims 1 to 7, wherein The functional module and the model data layer run in different threads.
9. The method according to any one of claims 1 to 7, wherein The step of creating a function extension interface corresponding to the extended software development kit includes: A function extension interface corresponding to the extended software development kit is created according to programming specification information corresponding to the cross-platform development language.
10. The method according to any one of claims 1 to 7, wherein: The step of performing non-business logic virtual engine adaptation on the extended software development kit and the functional extension interface to obtain a functional extension plug-in adapted to at least one virtual engine includes: Determining non-business logic adaptation information corresponding to the at least one virtual engine according to the extended software development kit, the functional extension interface and the at least one virtual engine; Creating a non-business logic adaptation routine corresponding to the at least one virtual engine according to the non-business logic adaptation information corresponding to the at least one virtual engine; and A function expansion plug-in adapted to the at least one virtual engine is obtained according to the extended software development kit, the function expansion interface and the non-business logic adaptation routine corresponding to the at least one virtual engine.
11. The method according to any one of claims 1 to 7, wherein The non-business logic virtual engine adaptation includes at least one of the following: programming language adaptation and data structure adaptation.
12. The method according to any one of claims 1 to 7, further comprising: Generate function description information corresponding to the function extension plug-in according to the function extension information.
13. The method according to any one of claims 1 to 7, wherein: The function extension information includes at least one of the following: artificial intelligence function extension information, blockchain function extension information, human-computer interaction function extension information, digital twin function extension information, Internet of Things function extension information and network and computing function extension information.
14. The method according to claim 13, wherein: The artificial intelligence function extension information includes at least one of the following: virtual object generation function extension information, three-dimensional generation function extension information, digital collection function extension information, knowledge graph function extension information, intelligent question and answer function extension information, audio generation function extension information, video generation function extension information, image generation function extension information, text generation function extension information, multimodal generation function extension information, cross-modal generation function extension information, strategy generation function extension information and resource recommendation function extension information.
15. The method according to claim 14, wherein: In the case where the function extension information includes the artificial intelligence function extension information, the artificial intelligence function extension information includes the virtual object generation function extension information, and the virtual object generation function extension information includes digital human generation extension information, at least one function module corresponding to the business library includes a first determination module, a generation module, and a fusion module; Among them, the first determination module is configured to determine the action parameter information sequence according to the video frame sequence, the generation module is configured to generate a three-dimensional posture information sequence according to the action parameter information sequence, and the fusion module is configured to fuse the three-dimensional posture information sequence with a predetermined three-dimensional model to generate an animated digital human.
16. The method according to claim 14, wherein: In a case where the function extension information includes the artificial intelligence function extension information, and the artificial intelligence function extension information includes the resource recommendation function extension information, at least one function module corresponding to the business library includes a second determination module and a recommendation module; Among them, the second determination module is configured to determine the resource to be recommended according to the object attribute information of the object to be recommended, and the recommendation module is configured to recommend the resource to be recommended to the object to be recommended based on the second metaverse position information corresponding to the first metaverse position information of the object to be recommended.
17. The method according to claim 13, wherein: In the case where the function extension information includes the human-computer interaction function extension information and the manual interaction function extension information includes the voice call function extension information, the at least one function module corresponding to the service library includes an acquisition module; Among them, the acquisition module is configured to obtain the third metaverse location information of the call object, so that the application can fuse the third metaverse location information and the second audio information corresponding to the call object to obtain second fusion information, wherein the application is developed using the function expansion plug-in.
18. A method for developing an application, comprising: In response to detecting a program development instruction, determining a function to be developed according to the program development instruction; In the case where it is determined that a function extension plug-in corresponding to the virtual engine needs to be called according to the function to be developed, calling the function extension plug-in; Using the functional extension interface to call the extended software development kit; as well as Utilizing the extended software development kit to develop a program to obtain an application program; The function extension plug-in, the function extension interface and the extension software development kit are obtained according to the method described in any one of claims 1 to 17.
19. The method according to claim 18, further comprising: When an abnormality occurs during the operation of the function expansion plug-in, the abnormality is located on the function expansion plug-in.
20. A plug-in generating device, comprising: an information determination module, configured to determine function extension information according to the function extension instruction in response to detecting the function extension instruction, wherein the function extension instruction is generated according to the function requirement information; A toolkit creation module, used to create an extended software development toolkit according to the functional extension information; an interface creation module, used to create a function extension interface corresponding to the extended software development kit, wherein the development language of the function extension interface is a cross-platform development language; and An adaptation module, used to perform non-business logic virtual engine adaptation on the extended software development toolkit and the functional extension interface to obtain a functional extension plug-in adapted to at least one virtual engine; Wherein, the toolkit creation module includes: An integration submodule, used to integrate at least one functional module corresponding to the business library according to the functional extension information to obtain the extended software development kit; The integrated submodule comprises: An information determination unit, configured to determine module dependency information according to the function extension information; An integration unit, configured to integrate at least one functional module corresponding to the business library according to the module dependency information to obtain an extended software development kit, wherein the functions of the functional modules are different from each other, and at least one functional module includes a model network structure module; Wherein, the module dependency information includes module vertical dependency information, and the module vertical dependency information includes first module vertical dependency information and second module vertical dependency information; Among them, the first module vertical dependency information represents the dependency information between the target function module in the at least one function module and the application, and the second module vertical dependency information represents the dependency information between the target function module in the at least one function module and the model data layer.
21. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute any one of claims 1 to 19.
22. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 19.
23. A computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the computer program implements the method according to any one of claims 1 to 19.
Citation Information
Patent Citations
Modularized construction method and device, electronic equipment and storage medium
CN110399119A
Method and apparatus for implementing functions in application program, electronic device and storage medium
WO2022199111A1