Software Update Method and Device
By identifying the semantic information of the static game screen text during the preloading process of cloud game software, the problem of inaccurate detection of cloud game software version is solved, and timely update of cloud game software is achieved.
Patent Information
- Application Number
- CN202110374067.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-04-07
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2041-04-07
AI Technical Summary
The existing technology cannot accurately detect whether cloud game software needs to be updated, resulting in users being unable to update the cloud game version in time.
By identifying the text semantic information in the static game screen during the preloading process of cloud game software, we can judge whether the update conditions are met and trigger the corresponding update process.
Improve the accuracy of cloud game software update detection, optimize the performance of preloading process, and ensure that cloud game software is updated in a timely manner.
Smart Images

Figure CN113694534B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present application relate to the field of cloud computing, and in particular, to a software update method and device. Background Art
[0002] Cloud gaming is an online game technology based on cloud computing technology. It runs on the server side. The user side does not need to have powerful graphics computing and data processing capabilities. It only needs to have basic streaming media playback capabilities, input instruction acquisition capabilities, and data transmission capabilities. The server side controls the user side to play the game screen and game sound of the cloud game by means of push streaming, enabling users to participate in the game.
[0003] The versions of cloud games are often updated. If the cloud game on the server side is not the latest version, users will not be able to try out the corresponding cloud game. In view of this, detecting whether the version of the cloud game needs to be updated is an important scenario for cloud games.
[0004] However, currently, there is no good detection method in this field that can accurately detect whether the version of the cloud game needs to be updated. Summary of the Invention
[0005] Embodiments of the present application provide a software update method and device, which can accurately detect whether the cloud game software needs to be updated.
[0006] In a first aspect, embodiments of the present application provide a software update method, which includes:
[0007] Trigger the preloading of the cloud game software;
[0008] Obtain the static game screen during the preloading of the cloud game software. The static game screen refers to the game screen frame that does not change within a preset time during the preloading process;
[0009] Identify the semantic information of the text included in the static game screen;
[0010] If the semantic information meets the cloud game software update condition, trigger the cloud game software to be updated.
[0011] In a second aspect, embodiments of the present application further provide a software update method, which includes:
[0012] In response to the preloading trigger instruction, preload the cloud game software and obtain the game screen during the preloading of the cloud game software;
[0013] If the game screen includes a static game screen, send the static game screen. The static game screen refers to the game screen frame that does not change within a preset time during the preloading process;
[0014] If an update file is received, execute the first instruction set in the update file to update the cloud game software. The first instruction set includes instructions for indicating the update of the cloud game software.
[0015] The update file is generated in the following manner:
[0016] Identify the semantic information of the text included in the static game screen.
[0017] If the semantic information meets the cloud game software update conditions, generate an update file to trigger the update of the cloud game software.
[0018] In a third aspect, an embodiment of the present application further provides a software update device, and the device includes:
[0019] A preloading trigger module, configured to trigger the preloading of the cloud game software.
[0020] An acquisition module, configured to acquire the static game screen during the preloading process of the cloud game software. The static game screen refers to the game screen frame that has not changed within a preset time during the preloading process.
[0021] A semantic information recognition module, configured to recognize the semantic information of the text included in the static game screen.
[0022] An update trigger module, configured to trigger the update of the cloud game software if the semantic information meets the cloud game software update conditions.
[0023] In a fourth aspect, an embodiment of the present application further provides a software update device, and the device includes:
[0024] A preloading module, configured to preload the cloud game software in response to a preloading trigger instruction and obtain the game screen during the preloading process of the cloud game software.
[0025] A sending module, configured to send the static game screen if the game screen includes a static game screen. The static game screen refers to the game screen frame that has not changed within a preset time during the preloading process.
[0026] A software update module, configured to execute the first instruction set in the update file to update the cloud game software if an update file is received. The first instruction set includes instructions for indicating the update of the cloud game software.
[0027] The update file is generated in the following manner:
[0028] Identify the semantic information of the text included in the static game screen.
[0029] If the semantic information meets the cloud game software update conditions, generate an update file to trigger the update of the cloud game software.
[0030] In a fifth aspect, an embodiment of the present application provides a server, which includes a processor and a memory. At least one instruction, at least one program, a code set or an instruction set is stored in the memory, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the software update method as described in the first aspect or the second aspect.
[0031] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium, in which at least one instruction, at least one program, a code set or an instruction set is stored, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by a processor to implement the software update method as described in the first aspect or the second aspect.
[0032] In a seventh aspect, an embodiment of the present application provides a computer program product, which includes computer program code. When the computer program code runs on a computer, the computer is caused to implement the software update method as described in the first aspect or the second aspect.
[0033] As can be seen from the above description, the embodiments of the present application have the following advantages:
[0034] Trigger the preloading of cloud game software. After obtaining the static game screen during the process of preloading the cloud game software, identify the semantic information of the text included in the static game screen. If the semantic information of the text meets the conditions for updating the cloud game software, it is indicated that the static game screen represents the update of the cloud game software, and the corresponding cloud game software is triggered to be updated. It can be seen that the technical solution of the embodiment of the present application can accurately identify whether the cloud game software needs to be updated based on the semantic information of the text in the static game screen, and further update the relevant cloud game software. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required to be used in the embodiments of the present application. It should be understood that for those of ordinary skill in the art, other drawings can also be obtained based on these drawings without creative efforts.
[0036] Figure 1 It is an exemplary architecture diagram of the cloud game system 10 provided by the embodiment of the present application;
[0037] Figure 2A It is an exemplary method flow diagram of the software update method 100 provided by the embodiment of the present application;
[0038] Figure 2B It is an exemplary method flow diagram of the software update method 200 provided by the embodiment of the present application;
[0039] Figure 3 It is an exemplary interface schematic diagram of a static game screen provided by an embodiment of the present application;
[0040] Figure 4 It is an exemplary signaling interaction schematic diagram of the software update method 300 provided by an embodiment of the present application;
[0041] Figure 5 It is an exemplary interface schematic diagram of another static game screen provided by an embodiment of the present application;
[0042] Figure 6 For Figure 5 It is a schematic diagram of the icon of the update control in the static game screen shown;
[0043] Figure 7A It is an exemplary scenario interface schematic diagram of an update exception provided by an embodiment of the present application;
[0044] Figure 7B It is an exemplary scenario interface schematic diagram of another update exception provided by an embodiment of the present application;
[0045] Figure 8A It is an exemplary composition schematic diagram of the software update device 80 provided by an embodiment of the present application;
[0046] Figure 8B It is an exemplary composition schematic diagram of the software update device 81 provided by an embodiment of the present application.
[0047] Figure 9 It is an exemplary structural schematic diagram of the server 90 provided by an embodiment of the present application. Detailed implementation manners
[0048] Next, in combination with the accompanying drawings in the embodiments of the present application, the technical solutions in the embodiments of the present application will be described.
[0049] The terms used in the following embodiments of the present application are for the purpose of describing specific embodiments and are not intended to limit the technical solutions of the present application. As used in the specification and appended claims of the present application, the singular forms "a", "an", "the", "above-mentioned", "said", and "this" are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that although the terms first, second, etc. may be used in the following embodiments to describe a certain type of object, the object should not be limited to these terms. These terms are used to distinguish specific implementation objects of this type of object. For example, in the following embodiments, the terms first, second, etc. are used to describe subsets of instructions, but the subsets of instructions are not limited to these terms. These terms are only used to distinguish subsets of instructions corresponding to different operation scenarios. The same applies to other types of objects that may be described by the terms first, second, etc. in the following embodiments, and will not be elaborated here.
[0050] Embodiments of the present application relate to the technical fields of cloud computing and cloud gaming, and disclose a method for identifying the semantic information of text in a game screen based on Artificial Intelligence (AI), and triggering a corresponding cloud game software to execute an update process in a scenario where the determined text semantic information indicates an update to the cloud game software.
[0051] The related technologies involved in the embodiments of the present application will be described below.
[0052] 1. AI
[0053] AI is a theory, method, technology, and application system that uses digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a way similar to human intelligence. Artificial intelligence also studies the design principles and implementation methods of various intelligent machines to enable the machines to have the functions of perception, reasoning, and decision-making.
[0054] AI technology is an interdisciplinary subject that involves a wide range of fields, including both hardware-level technologies and software-level technologies. AI basic technologies generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, and mechatronics. AI software technologies mainly include several major directions such as Computer Vision (CV) technology, Speech Technology, Nature Language Processing (NLP) technology, and machine learning / deep learning.
[0055] The technical solution of this application mainly relates to NLP technology, which is an important direction in the fields of computer science and artificial intelligence. It studies various theories and methods that can achieve effective communication between humans and computers in natural language. Natural language processing is a science that integrates linguistics, computer science, and mathematics. Therefore, the research in this field will involve natural language, that is, the language people use in daily life, so it has a close connection with the research of linguistics. Natural language processing technology usually includes text processing, semantic understanding, semantic recognition, machine translation, robot question answering, etc.
[0056] 2. Cloud Computing
[0057] Cloud computing is a computing model that distributes computing tasks across a resource pool composed of a large number of computing devices, enabling various application systems to obtain computing power, storage space, and information services as needed. The network that provides resources is called the "cloud". The resources in the "cloud" seem to users to be infinitely expandable and can be obtained at any time, used on demand, expanded at any time, and paid according to usage.
[0058] As a basic capability provider of cloud computing, a cloud computing resource pool (referred to as the "cloud platform") will be established, generally called an IaaS (Infrastructure as a Service) platform. Multiple types of virtual resources are deployed in the resource pool for external customers to choose and use. The cloud computing resource pool mainly includes: computing devices (virtual machines containing operating systems), storage devices, and network devices.
[0059] According to the logical function division, a PaaS (Platform as a Service) layer can be deployed on the IaaS layer, and a SaaS (Software as a Service) layer can be deployed on top of the PaaS layer. Or the SaaS can be directly deployed on the IaaS. PaaS is a platform for software operation, such as databases, Web containers, etc. SaaS is various business software, such as Web portals, SMS mass senders, etc. Generally speaking, SaaS and PaaS are upper layers relative to IaaS.
[0060] 3. Cloud gaming
[0061] Cloud gaming, also known as gaming on demand, is an online gaming technology based on cloud computing technology. Cloud gaming technology enables thin clients with relatively limited graphics processing and data computing capabilities to run high-quality games. In the cloud gaming scenario, the cloud gaming software does not run on the player's gaming terminal but on the cloud server. The player's gaming terminal only needs to have basic streaming media playback capabilities and the ability to obtain the player's input instructions and send them to the cloud server.
[0062] Please refer to Figure 1 , Figure 1 FIG. shows a schematic diagram of an exemplary cloud gaming system 10. The cloud gaming system 10 includes: a first server 11, at least one second server 12, and at least one terminal 13.
[0063] The first server 11 can be a platform that provides computing resources for the operation of cloud gaming software, used to maintain cloud gaming data and process all the logic related to the configuration and parameters of cloud gaming. For example, it can provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and cloud computing services such as big data and artificial intelligence platforms for the operation of cloud gaming software. The first server 11 can maintain Figure 1 the correspondence between each second server 12 and the cloud gaming software deployed in the corresponding second server, so as to facilitate the overall planning and management of the computing resources required by each second server 12. The first server 11 can also be used to configure a certain number of second servers 12 and preload a certain cloud gaming software among them to configure a certain number of preloads of this cloud gaming software. For example, configure 50 second servers 12 to preload a certain cloud gaming software. The first server 11 can be an independent physical server or a server cluster or distributed system composed of multiple physical servers.
[0064] The second server 12 can be a platform for running cloud gaming software. The second server 12 can be implemented as a board card or a container, for example. The second server 12 can install and run one or more cloud gaming software. During the process of running any cloud gaming software, the second server 12 can interact with the first server 11 to obtain computing resources from the first server 11. For example, the second server 12 can obtain a configuration file for preloading one of the cloud gaming software from the first server 11. Another example is that the second server 12 can obtain an update file for indicating a cloud gaming software from the first server 11.
[0065] During the process of running any cloud game software, the second server 12 can also encode the audio and video stream of the cloud game software, and then send the encoded audio and video stream to the terminal 13 so that the terminal can display the game screen of the corresponding cloud game software. The second server 12 can also receive the operation events from the terminal 13, and then decode the corresponding operation events to implement the corresponding operations input by the user.
[0066] The terminal 13 can be implemented as electronic devices such as mobile phones, tablet computers, game consoles, e-book readers, multimedia playback devices, wearable devices, PCs (Personal Computers), etc. A client of a cloud game APP (application) is installed and run in the terminal 13. After receiving the start instruction for the cloud game APP, the terminal 13 can obtain the audio and video stream related to the cloud game from the second server 12, and then decode the audio and video stream to play the game screen and sound of the cloud game. In addition, after receiving the input instruction from the user (including the input instructions from input devices such as mice, keyboards, and touchscreens), the terminal 13 can perform event encoding on the input instruction, and then send the encoded event to the second server 12 so that the second server 12 can perform the operations corresponding to the input instruction on the cloud game.
[0067] Exemplarily, the first server 11 and the second server 12 can communicate with each other through the network 14. The second server 12 and the terminal 13 communicate with each other through the network 15. Both the network 14 and the network 15 can be wired networks or wireless networks, and the embodiments of the present application do not make any limitations in this regard.
[0068] Optionally, the first server 11 triggers the second server 12 to preload a cloud game software. Accordingly, the second server 12 preloads the cloud game software. During the preloading process, the second server 12 can identify the game screen during the preloading process of the cloud game software. After detecting that the static game screen is included in these game screens, the second server 12 sends the static game screen to the first server 11. The first server 11 can identify the operation process indicated by the static game screen, such as updating the cloud game software or downloading the latest skin, etc. After that, the first server 11 can communicate with the second server 12 based on the recognition result through the network 14 to trigger the second server 12 to perform related operations on the corresponding cloud game.
[0069] The "preloading" involved in the embodiments of this application refers to that before the cloud game enters a certain game scene, the second server 12 controls the login of the cloud game by performing operations such as virtual clicks or virtual screen swipes, so that the process of the cloud game entering the game scene is called preloading. Through preloading, after receiving the request message for starting the game from the terminal 13, the second server 12 can send the game scene screen that has been loaded to the terminal 13, so that the user does not need to wait.
[0070] The "static game screen" involved in the embodiments of this application refers to that during the preloading process, if a game screen frame does not change within a preset time, then this game screen frame can be called a static game screen. Optionally, the preset time can be set to 2 seconds (S) for example.
[0071] A commonly used way in this field to identify the operation process indicating a static game screen is, for example, that the first server, based on a regular expression, detects whether the text included in the static game screen contains strings such as "update", "download", or "install". If the text included in the static game screen includes the aforementioned relevant strings, the first server determines that the semantics represented by the static game screen is to update the cloud game software. Furthermore, the first server triggers the second server to update the cloud game software. Since the text including the aforementioned relevant strings can include, for example, "Immediately download new skins", or "Storage permissions: for saving and sharing screenshots and videos, uploading and downloading resources", and the semantics represented by these texts are not "update the cloud game software". It can be seen that by using this method, the accuracy rate of identifying the semantic information of the static game screen is relatively low, thus affecting the execution of the preloading process of the cloud game software by the second server.
[0072] Based on this, the embodiments of this application provide a software update method. By using this method, the first server can identify the semantic information of the text included in the static game screen. If the semantic information of the text represents an update of the cloud game software, the first server triggers the second server to update the cloud game software. In this way, based on whether the semantic information of the text in the static game screen represents an update of the cloud game software, the accuracy rate of the detection result is relatively high, thus being able to optimize the performance of the preloading of the cloud game software.
[0073] Next, through the description of several exemplary embodiments, the technical solutions of the embodiments of this application and the technical effects produced by the technical solutions of this application will be described.
[0074] Please refer to Figure 2A , the embodiments of this application provide a software update method 100 (hereinafter referred to as method 100). Method 100 is executed by the first server, and this first server can be as Figure 1The first server 11 shown in the figure. The method 100 includes the following steps:
[0075] Step S101, trigger the preloading of cloud game software.
[0076] Among them, the first server can, based on the complexity of the cloud game software, configure at least one second server to preload the cloud game server. Exemplarily, the first server can trigger the corresponding at least one second server to execute the preloading process of the cloud game software. The first server can also send the preloading program file to the corresponding at least one second server, so that the corresponding second server can execute the program in the preloading program file to perform the preloading of the corresponding cloud game software.
[0077] Step S102, obtain the static game screen during the preloading process of the cloud game software.
[0078] Among them, the first server can receive the static game screen from the second server. The static game screen is recognized during the preloading process of the cloud game software by the second server.
[0079] When a static game screen appears during the preloading process of the cloud game software, generally, there is a process other than the regular preloading process that needs to be executed. For example, the cloud game software needs to be updated, the user permissions are changed, or the user account is updated, etc. After executing these processes other than the regular preloading process, the regular preloading process of the cloud game can continue. Based on this, in the scenario where a static game screen appears during the preloading process, the cloud game software may need to be updated. Optionally, the first server can detect whether the cloud game software needs to be updated based on the static game screen.
[0080] Step S103, recognize the semantic information of the text contained in the static game screen.
[0081] Combined with the foregoing description of the static game screen, optionally, the static game screen contains an illustrative text description indicating the process to be processed by the cloud game software. For example, Figure 3 The exemplary game interface shown includes the illustrative text "Game update The game needs to be updated". After obtaining the static game screen, the first server can recognize the corresponding text description to obtain the relevant text, so as to facilitate the recognition of the semantic information of the relevant text. Exemplarily, the first server can use OCR (Optical Character Recognition) technology to recognize the text contained in the static game screen.
[0082] Optionally, the first server may identify the semantic information of the text from the perspective of the text or the words included in the text. Correspondingly, the semantic information may include the target word included in the text or the text category of the text. The text category is the first category or the second category. The first category represents the cloud game software update, and the second category represents that the cloud game software is not updated. In an optional example, the word information of the target word included in the text may represent the semantic information of the text. Based on this, it may be determined whether the semantic information meets the cloud game software update condition according to the conditions satisfied by the word information of the target word in the text. In another optional example, the text category is the first category, and it is determined that the semantic information meets the cloud game software update condition.
[0083] Exemplarily, the first server may identify the semantic information of the text by adopting the following implementation manners.
[0084] Implementation manner 1: This implementation manner describes that the first server identifies the semantic information of the text from the perspective of the text. In this example, at least one text category related to the cloud game software is pre-maintained in the first server. For example, in the at least one text category, the first category includes, for example, the category representing the cloud game software update, and the second category includes, for example, the category representing the cloud game skin update (hereinafter referred to as skin update) and the category representing the cloud game account update (hereinafter referred to as account update), etc. Furthermore, the first server may obtain the semantic vector of the text, and then obtain the probabilities of the text corresponding to at least one preset text category respectively according to the semantic vector of the text. If the probability corresponding to the category representing the cloud game software update is the largest among the probabilities corresponding to the text, the first server determines that the text category of the text is the first category, that is, it represents the cloud game software update.
[0085] Among them, the probability may represent the possibility that the text category of the text is the corresponding category. The larger the probability, the greater the possibility that the text category of the text is the corresponding category, and the smaller the probability, the smaller the possibility that the text category of the text is the corresponding category.
[0086] Exemplarily, the first server may use a learning algorithm to execute the implementation process of Implementation manner 1. For example, the first server executes the implementation process of Implementation manner 1 through an NLP neural network.
[0087] In this example, an NLP neural network can be obtained through a learning algorithm based on the training texts representing each of the foregoing categories. Subsequently, after obtaining the text included in the foregoing static game screen, the first server obtains the semantic vector of the text through the NLP neural network. Since the semantic vector of the text represents the semantics of the text, the NLP neural network can obtain the probability of the text corresponding to each of the foregoing categories according to the semantic vector of the text. For example, if the probability that the text corresponds to the category of game update is 0.98, the probability that the text corresponds to the category of skin update is 0.5, and the probability that the text corresponds to the category of account update is 0.3, then the first server can determine the category of the text as game update, that is, determine that the text included in the static game screen represents the update of the cloud game software.
[0088] It can be understood that the foregoing listed text categories are all illustrative descriptions and do not constitute a limitation on the embodiments of the present application. In some other embodiments, the text categories involved in the embodiments of the present application may be more or less, and the embodiments of the present application will not be described one by one.
[0089] It should be noted that in order to ensure the accuracy of the NLP neural network in identifying text categories, it is necessary to train the NLP neural network based on a large number of training texts. In actual implementation scenarios, it may not be possible to provide a sufficient number of training texts. For example, there are only 25 texts representing the update of the cloud game software, which is not enough to train the NLP neural network. Based on this implementation scenario, the first server can identify the semantic information of the text based on the words in the text.
[0090] Among them, in a scenario where a text expresses one semantic information, there are usually many descriptive words related to the semantic information in the text. For example, if the text includes the words "hot", "ice cream", and "cicada chirping", it can be determined that the semantic information of the text is hot weather. Another example is that if the text includes the words "hot", "alarm", and "lag", it can be determined that the semantic information of the text is the heat dissipation of the electronic device. These words can be different descriptive words for a semantic, such as "version update" and "new version", or they can be a single word that appears frequently in the text. In view of this, the first server can perform word segmentation on the text and then identify the semantic information of the text from the perspective of word information. The word information can include at least one piece of information such as the number of target words included in the text and the weights of each target word in the text. Exemplarily, the first server can adopt the following implementation manner to identify the semantic information of the text from the perspective of word information.
[0091] Among them, the weight of the target word is used to indicate the possibility that the corresponding target word represents the semantic information of the text being a cloud game software update. Exemplarily, the greater the weight, the greater the possibility that the corresponding target word represents the semantic information of the text being a cloud game software update. Conversely, the smaller the weight, the smaller the possibility that the corresponding target word represents the semantic information of the text being a cloud game software update. In an optional example, the weight can be represented by a value greater than 0 and less than 1. Correspondingly, the third preset value can be set to 0.6, for example. It should be understood that the value of the third preset value can be flexibly set according to the actual implementation scenario, and the embodiments of the present application do not limit this.
[0092] Embodiment 2: The first server can identify the target words included in the text. If the number of target words included in the text is greater than or equal to the first preset value, it is determined that the semantic information of the text meets the cloud game software update condition, that is, it is determined that the text represents a cloud game software update.
[0093] It should be understood that the first preset value can be a value greater than or equal to 2 and can be flexibly set according to the actual implementation scenario. In the cloud game implementation scenario of the present application, the first preset value can be set to 3, for example. In another possible implementation manner, the implementation scenario involves news text. Since news text contains more characters, the first preset value can be set to 5, for example. The embodiments of the present application do not limit this.
[0094] Optionally, at least one keyword is pre-configured in the technical solution of the present application, and the at least one keyword is used to represent that the semantic information of the text is a cloud game software update. Based on this, the first server can detect whether any of the at least two words in the text contains a word that matches any of the keywords. If any of the at least two words matches any of the at least one keyword, the corresponding word is determined as the target word.
[0095] In an optional example, "matching the keyword" can be implemented as "the same word as the keyword", that is, the target word can be understood as the word in the at least two words of the text that hits the keyword.
[0096] It should be noted that in the cloud game scenario, words with two characters such as "update" and "download" cover many scenarios, so it is impossible to clearly express the object to be updated. In view of this, in an optional design, the at least one keyword all contains at least three characters. For example, words such as "find new version", "new resource", "detect new version" or "version update". Correspondingly, at least one of the at least two words obtained by the first server's word segmentation of the text includes at least three characters.
[0097] Optionally, the first server may perform the operations of Embodiment 2 through a pre-trained semantic information recognition model. The semantic information recognition model is, for example, an LDA (Latent Dirichlet Allocation) model. For the pre-training process of the LDA model, refer to the embodiments described below, and details are not provided here. Optionally, the first server may also perform the operations of Embodiment 2 not through the semantic information recognition model, but by deploying and invoking relevant functional operation instructions. The embodiments of the present application do not limit this.
[0098] Embodiment 3: The first server may obtain the target words included in the text and the weight of each target word. If the number of target words included in the text is greater than or equal to a second preset value, and at least one of the weights corresponding to the target words is greater than or equal to a third preset value, the first server determines that the semantic information of the text meets the cloud game software update condition, that is, it determines that the text represents the cloud game software update. Exemplarily, the second preset value may be a value greater than or equal to 1. For the implementation of the target words involved in Embodiment 3, reference may be made to the description of the target words in Embodiment 2, and details are not provided here.
[0099] It should be noted that the first server may perform the operations of Embodiment 3 through a pre-trained semantic information recognition model. For example, the first server may input the text into the LDA model, and the LDA model may output the target words included in the text and the weights corresponding to the target words. Then, the first server determines the semantic information of the text according to the target words and the weights corresponding to the target words. The foregoing weights may also be obtained by the LDA model.
[0100] It can be seen that by adopting Embodiment 2 and Embodiment 3, the first server can determine whether the semantic information of the text meets the cloud game software update condition according to the words included in the text. In this way, even if the number of training corpora is limited, the first server can still accurately identify the semantic information of the static game screen according to the words.
[0101] According to the foregoing description of the semantic information recognition model, it can be known that the embodiments of the present application may also pre-train the semantic information recognition model. Taking the semantic information recognition model implemented as an LDA model as an example, the embodiments of the present application related to the training model will be described below.
[0102] In the technical solution of the present application, relevant technical personnel can pre-set at least one training text. Exemplarily, the at least one training text can all be update prompt texts of cloud gaming software, for example, the text "Version update detected a new version is currently in a non-environment installation package size skip determination", the text "prompt that the total size of the resources to be downloaded this time is update", the text "You can update. Good news, you can now download the new version update" and the text "Do you want to update? A new version has been detected. This update requires downloading resources. The network is not currently available. It is recommended to use the network to download. If you do not update for the time being, some functions and scenes may not be displayed normally. Do not update for the time being" and so on. Then, the at least one training text is segmented to obtain multiple words. Afterwards, the word frequency of each word in the multiple words in the corresponding training text can be obtained. Among them, the word frequency of each word and the aforementioned at least one keyword are the initial information for training the LDA model. After inputting these initial information into the initial model, the initial model determines the weight of each keyword in at least one keyword based on the word frequency of each word, and obtains the LDA model.
[0103] For example, the initial model may calculate the probability of each keyword in at least one keyword being randomly sampled based on the frequency of each word, and this probability is the weight of the corresponding keyword.
[0104] Furthermore, after obtaining at least two segmented words of the text contained in the static game screen, the first server inputs the at least two segmented words into an LDA model. The LDA model identifies words in the at least two segmented words that match the keyword to obtain a target word. The LDA model can then output the target word and a weight corresponding to the target word obtained through the aforementioned training.
[0105] Alternatively, word frequency can be implemented using the "bag of words" technique associated with the LDA model. A bag of words is a vector representing the number of times a word appears in a document. The bag of words vector does not consider the order of the words in the document, only the number of times the word appears in the document.
[0106] For example, the following two English texts:
[0107] Text 1: "John likes to watch movies,Mary likes movies too"
[0108] Text 2: "John also likes to watch football games"
[0109] Tokenizing the two texts gives the words: ['also', 'football', 'games', 'john', 'likes','mary','movies', 'to', 'too', 'watch']. Further, the bag-of-words vectors of the two texts can be obtained. For ease of expression, the bag-of-words vectors of the two texts are illustrated, for example, in the way shown in Table 1.
[0110] Table 1
[0111] also football games john likes mary movies to too watch S1 0 0 0 1 2 1 2 1 1 1 S2 1 1 1 1 1 0 0 1 0 1
[0112] As shown in Table 1, S1 is the bag-of-words vector of Text 1, which can be expressed as S1 = [0, 0, 0, 1, 2, 1, 2, 1, 1, 1], and S2 is the bag-of-words vector of Text 2, which can be expressed as S2 = [1, 1, 1, 1, 1, 0, 0, 1, 0, 1]. Combining with Table 1, each value in S1 represents the number of times the corresponding word appears in Text 1. For example, the word "also" appears 0 times in Text 1, the word "likes" appears 2 times in Text 1, and the word "watch" appears 1 time in Text 1. Similarly, each value in S2 represents the number of times the corresponding word appears in Text 1. For example, the word "also" appears 1 time in Text 2, the word "likes" appears 1 time in Text 2, and the word "watch" appears 1 time in Text 1. The relationship of the information in other columns in Table 1 is the same, which will not be elaborated here.
[0113] Step S104: If the semantic information meets the cloud game software update condition, trigger the cloud game software to be updated.
[0114] Among them, according to the foregoing description, if the text category of the text is the first category, or the number of target words included in the text is greater than or equal to the first preset value, or the number of target words included in the text is greater than or equal to the second preset value, and at least one of the weights corresponding to the target words is greater than or equal to the third preset value, the semantic information of the text represents the update of the cloud game software. Further, the first server can trigger all the second servers deploying the cloud game software to update the cloud game software. If the semantic information of the text included in the static game screen represents other things, such as account update, the first server can trigger the second server corresponding to the static game screen to update the account information of the cloud game software.
[0115] In some embodiments, if the semantic information of the text meets the cloud game software update condition, the first server may obtain at least one second server on which the cloud game software is deployed based on the corresponding relationship between the second servers and the cloud game software maintained by it. Then, the first server may send the latest version data of the cloud game software to the at least one second server so that the at least one second server can update the cloud game software completely.
[0116] In some other embodiments, in order to enable the second server to independently promote the update process of the cloud game software, after determining that the semantic information of the text meets the cloud game software update condition, the first server may also identify the position of the update control icon in the static game screen, generate an update file according to the position of the update control icon, and the update file contains instructions for clicking the corresponding update control. After that, the first server sends the update file to at least one second server so that the at least one second server can update the cloud game software. Optionally, the first server may store the picture of the update control icon in the update file together. In addition, in some other embodiments, the first server may send the update file only to the second server corresponding to the static game screen.
[0117] In an optional implementation, the first server may obtain the position information of the string in the text during the process of identifying the text in the static game screen. Furthermore, the position of the update control icon is determined according to the position information of the text corresponding to the update control icon. In another optional implementation, the first server may use a pre-trained image recognition model to identify the icon of the update control in the static game screen, and then obtain the position of the update control icon.
[0118] The update file includes instructions related to the update of the cloud game software. In some implementation scenarios, the preloading process of the cloud game software is relatively complex. For this type of cloud game software, the first server may pre-configure a preloading file. In this scenario, the first server may add the update file to the preloading file of the cloud game software and then send the preloading file with the update file added to the second server. In some other implementation scenarios, the preloading process of the cloud game software is relatively simple and the first server does not need to configure a preloading file. In this scenario, the first server may generate an update file and then send the update file to the second server.
[0119] Exemplarily, the update file includes instructions for indicating to trigger the cloud game software update based on the corresponding update control. For example, instructions for matching the update control according to the picture of the update control icon, and instructions for clicking the update control. The embodiments of the present application refer to the set of these instructions as the first instruction set. In addition, it should be noted that during the update process of the cloud game software, some programs may execute errors, or notification windows may pop up, etc., which may cause the first instruction set to time out or the number of execution failures to be greater than a fourth preset value, resulting in the failure of the cloud game software update to execute smoothly. Based on this, the update file also includes instructions to be executed in the abnormal scenario of the cloud game software update process, such as instructions for clicking the OK control for the popped-up notification window, etc. The embodiments of the present application refer to the set of these instructions as the second instruction set. In this example, the situation where the first instruction set times out or the number of execution failures is greater than the fourth preset value is referred to as the abnormal execution of the first instruction set, and the fourth preset value can be 3, for example.
[0120] Correspondingly, during the invocation of the first instruction set, the second server updates the cloud game software. If the first instruction set executes abnormally, the instructions related to the abnormality in the second instruction set are invoked, enabling the second server to handle the generated abnormality. Then, the first instruction set is invoked again to enable the second server to update the cloud game software again. The above process of invoking the instruction set is repeated until the cloud game software is updated to the latest version. The operation process of the second server updating the cloud game software according to the update file is described in detail below and will not be elaborated here.
[0121] It can be seen that with this implementation method, the semantic information recognition model can be pre-configured in the first server. After obtaining the static game screen during the preloading of the cloud game software, the first server uses this semantic information recognition model to recognize the semantic information of the text contained in the static game screen. If the semantic information of the text meets the cloud game software update condition, the corresponding cloud game software is triggered for update, which can improve the accuracy of cloud game software update detection. In addition, when the first server determines the scenario of cloud game software update, an update file is generated corresponding to the update of the cloud game software, thereby being able to trigger the second server to independently promote the cloud game software update process.
[0122] Method 100 is an introduction to the software update method according to the embodiments of the present application from the perspective of the first server. In actual implementation, the second server and the first server can cooperate with each other to implement the software update method according to the embodiments of the present application. Next, the software update method according to the embodiments of the present application will be introduced from the perspective of the second server.
[0123] Please refer to Figure 2B , the embodiments of the present application provide a software update method 200 (hereinafter referred to as method 200), which is executed by the second server, and the second server can be asFigure 1 The second server 12 as shown in the figure. Among them, method 200 corresponds to method 100. For the same features and technical terms involved in method 200 as those in method 100, reference can be made to the relevant descriptions in the method 100 part, which will not be elaborated here.
[0124] Method 200 includes the following steps:
[0125] Step S201: In response to a preloading trigger instruction, preload the cloud game software and obtain the game screen during the preloading process of the cloud game software.
[0126] In the cloud game scenario, in order to ensure the best user experience, before the second server provides the playable scenario of the cloud game to the client used by the user, in response to the preloading trigger instruction from the first server, preload the relevant cloud game software until the cloud game software is loaded to the playable scenario, and then send the playable scenario of the cloud game to the client so that the user can directly play the game through the client.
[0127] Step S202: If the game screen contains a static game screen, send the static game screen.
[0128] During the process of the second server preloading the cloud game software, a series of game screen frames of the cloud game software can be obtained and detected. If the similarity between two of the detected game screen frames is less than a certain value, the second server determines any one of the two game screen frames as a static game screen, and then sends the static game screen to the first server so that the first server can determine the operation indicated by the static game screen.
[0129] Step S203: If an update file is received, execute the first instruction set in the update file to update the cloud game software.
[0130] According to the description of method 100, the update file is generated when the first server determines that the static game screen represents an update of the cloud game software. For relevant embodiments, refer to the description of method 100.
[0131] According to the description of the foregoing embodiments, the update file includes a first instruction set and a second instruction set. The first instruction set contains instructions for indicating the update of the cloud game software triggered based on the corresponding update control, and the second instruction set contains instructions executed in the abnormal scenario of the cloud game software update process. The instructions in the second instruction set are used to handle the abnormal situation of the cloud game software update process. Regarding "abnormal", refer to the description of the foregoing embodiments for details, which will not be elaborated here.
[0132] Exemplarily, the second server executes the first instruction set in the update file to update the cloud game software. If an exception occurs during the execution of the first instruction set, the second instruction set is executed to handle the process that generates the corresponding exception. After handling the process that generates the corresponding exception, the second server executes the first instruction set again. The above process of calling the instruction set is repeated until the cloud game software is updated to the latest version. Among them, the situation where the second server encounters an exception in executing the first instruction set includes that the instruction execution in the first instruction set of the second server times out or the number of execution failures is greater than a fourth preset value. The fourth preset value is, for example, 3.
[0133] Optionally, during the process of the second server calling the update file, the operation process of the cloud game software can be considered as the operation described in the simulation script. Based on this, the update file can also be referred to as a script or a scenario. Exemplarily, the instructions involved in the embodiments of the present application can be edited using xml (Extensible Markup Language), and correspondingly, the script can be implemented as an xml file.
[0134] The logical relationship and node functions of the update file are shown in Table 2, for example.
[0135] Table 2
[0136]
[0137]
[0138] Combined with Table 2, the first instruction set includes, for example, a match node that matches the update control icon in the static game screen. The process of the true branch after successful matching includes a click action. The second instruction set includes, for example, the processing process of the false branch after the match of the match that matches the update control icon in the static game screen fails, as well as other preloading operation processes, etc.
[0139] It can be understood that Table 2 is only a schematic description and does not constitute a limitation on the update file of the embodiments of the present application. In some other implementation manners, the update file involved in the embodiments of the present application may further include more or fewer function nodes, which can be specifically set flexibly according to the implementation scenario. The embodiments of the present application do not limit this.
[0140] It can be seen that using xml to edit the update file makes the logical level of the update file clear and easy to modify.
[0141] In combination with Table 2, the second server matches and updates the control icon in the static game screen according to the first match. If the match is successful, the true branch process is triggered. For example, a click operation in the action is performed on the updated control icon in the static game screen to update the cloud game software. If the match fails and the number of failure times exceeds the fourth preset value, the false branch process is triggered. For example, the second match and another script in the action are executed to perform other preloading processes on the cloud game software. After the other preloading processes, the second server executes a goto to jump to the first match and match and update the control icon in the static game screen again to complete the update of the cloud game software.
[0142] It can be understood that the operation processes of the second server corresponding to other nodes are similar to the operation processes of match, true, false, etc., and will not be described one by one in the embodiments of the present application.
[0143] It can be seen that by adopting the technical solution of the present application, if the cloud game software needs to be updated, the second server can autonomously click on the updated control in the static game screen according to the instruction, so as to be able to autonomously promote the update process of the cloud game software and other preloading processes.
[0144] Both Method 100 and Method 200 describe the technical solution of the present application from the perspective of a single server. The following will describe the embodiments of the present application from the perspective of device interaction in combination with some examples.
[0145] Exemplarily, the first server is implemented as a cloud game server and the second server is implemented as a container. Among them, the cloud game server uses, for example, the LDA model to identify the semantic information of the game screen.
[0146] Before executing the software update method of this case, relevant technical personnel configure, for example, a corpus and a keyword library, and then input all the keywords in the keyword library into the LDA model to be trained. The corpus includes at least one training text, and the keyword library includes at least one keyword. The corpus and the training texts in the corpus are shown in Table 3, for example.
[0147] Table 3
[0148]
[0149]
[0150] The keyword library with its keywords is shown in Table 4, for example.
[0151] Table 4
[0152]
[0153]
[0154] Furthermore, for example, the Python jieba word segmentation technology is used to segment the text in Table 3 to obtain multiple words. Then, the bag-of-words vectors of each word in the multiple words in the corresponding training text are obtained, and the obtained bag-of-words vectors are used as training parameters to be input into the LDA model to be trained. The LDA model to be trained calculates the weights of each keyword in Table 4 based on the bag-of-words vectors to obtain an available LDA model.
[0155] Further, please refer to Figure 4 In this embodiment of the present application, a software update method 300 (hereinafter referred to as method 300) is provided, and method 300 includes the following steps:
[0156] Step S301, the cloud game server triggers the container to preload the cloud game software.
[0157] Step S302, the container preloads the cloud game software, identifies the static game screen frames of the cloud game software and sends them to the cloud game server.
[0158] The static game screen is, for example, as Figure 5 shown, which is the game version update prompt screen of the cloud game.
[0159] Step S303, the cloud game server identifies the text in the static game screen.
[0160] In this example, the cloud game server can use OCR technology to identify Figure 5 the text included in the game screen shown, for example, obtaining the text "Update and exit. A new version is released. You can receive rewards for updating".
[0161] It should be noted that during the process of the cloud game server identifying Figure 5 the text of the game screen shown, the position information of each text display area is also identified. Optionally, any text display area can be represented by two pairs of coordinates, top_left_x, top_left_y and down_right_x and down_right_y, where top_left_x represents the coordinate value of the upper left corner of the area on the x-axis, top_left_ytop_left_y represents the coordinate value of the upper left corner of the area on the y-axis, down_right_x represents the coordinate value of the lower right corner of the area on the x-axis, and down_right_y represents the coordinate value of the lower right corner of the area on the y-axis.
[0162] For example, identifying Figure 5When the text "Update" in it is recognized, the coordinates of the "Update" display area can also be identified. The coordinates of the "Update" display area include the coordinates of position 51 and the coordinates of position 52. Position 51 is the position of the upper left corner of the "Update" display area, and position 51 is the position of the lower right corner of the "Update" display area.
[0163] Step S304, the cloud game server recognizes the semantic information of the text in the static game screen.
[0164] Specifically, the cloud game server can use the python jieba word segmentation technology to segment the recognized text "Update Exit New Version Release, Update Can Receive Rewards" to obtain the words "Update Exit", "New Version", "Release Update", "Can", and "Receive Rewards". Then, the cloud game server inputs the words "Update Exit", "New Version", "Release Update", "Can", and "Receive Rewards" into the LDA model. After a series of recognition processes, the LDA model outputs, for example, "Update Exit, 0.3", "New Version, 0.5", and "Release Update, 0.6", indicating that the text "Update Exit New Version Release, Update Can Receive Rewards" corresponds to the keyword library shown in Table 4 and hits the keywords "Update Exit", "New Version", and "Release Update". Among them, the weight of "Update Exit" is 0.3, the weight of "New Version" is 0.5, and the weight of "Release Update" is 0.6.
[0165] Since 3 keywords are hit, the cloud game server determines that the semantic information of the text "Update Exit New Version Release, Update Can Receive Rewards" meets the conditions for cloud game software update. Figure 5 The indicated static game screen indicates game software update.
[0166] Step S305, the cloud game server obtains the position of the update control icon in the static game screen, generates an instruction to click on this position, and then generates an update script.
[0167] According to the foregoing description, during the process of the cloud game server recognizing the text in the static game screen, it also recognizes the coordinates of the text display area. Usually, the display area of the character "Update" is the display area of the update control. Based on this, the cloud game server can obtain the coordinates corresponding to the character "Update", that is, the coordinates of position 51 and the coordinates of position 52, to obtain the position of the update control icon. Then, it generates an instruction to click on the update control, and then generates an update script. The function nodes of the update script are shown in Table 2 and will not be elaborated here.
[0168] Step S306, the cloud game server sends the update script and the update control icon to the container.
[0169] As Figure 6 shown, the update control icon is, for example,Figure 5 Update the icon of the update control 50 in the container
[0170] Step S307, the container executes the script to update the cloud game software.
[0171] Exemplarily, the container may match the update control icon from the game screen on the container side according to the description of the script to determine the update control of the game screen on the container side.
[0172] In a possible implementation scenario, the game screen on the container side is also as Figure 5 shown. Then, the container can match the update control of the game screen on the container side according to the update control icon. Furthermore, the container performs a virtual click operation on the identified update control according to the description of the script to trigger the update of the cloud game software.
[0173] In another possible implementation scenario, the game screen on the container side is as Figure 7A shown. Figure 7A Among them, the game screen at the forefront is the screen 71 "Game Detection Notice", and the screen 72 indicating the game update is below the screen 71. In this scenario, although the container can match the update control of the screen 72 according to the update control icon, the container needs to first perform an operation corresponding to the "Game Detection Notice" indicated by the screen 71, and then it can operate on the screen 72. Therefore, Figure 7A In the scenario shown, when the container performs a click operation on the update control, the operation will fail. For example, after the operation fails 3 times, the container processes the "Game Detection Notice" indicated by the screen 71 according to the script. After the processing of the "Game Detection Notice" indicated by the screen 71 is completed, Figure 7A Update to Figure 5 , and the container performs a click operation on the update control again according to the script to update the cloud game software.
[0174] In still another possible implementation scenario, the game screen on the container side is as Figure 7B shown, Figure 7B for example, it is a prompt screen related to the failure of parsing a relevant software package during the operation of the container. In this scenario, the container cannot match the update control according to the update control icon, for example, the matching operation times out. Then, the container processes the Figure 7B relevant prompt screen by clicking the OK operation. After that, Figure 7B Update to Figure 5 , and the container performs a click operation on the update control again according to the script to update the cloud game software.
[0175] It can be understood that Figures 5 to 7BThis is only a schematic description and does not limit the embodiments of the present application. In actual implementation, the screen indicating game updates varies according to different game software. The screen for abnormal situations during the game update process may vary according to the actual scenario. The embodiments of the present application do not limit this.
[0176] It should be noted that the method 300 is only a schematic description and does not limit the software update method of the embodiments of the present application. In actual implementation, the devices involved in the method 300 may also be other devices. For example, the container can be replaced by a circuit board or other devices that support the operation of cloud game software. In addition, the cloud game server can also use other models to identify the semantic information of the text, or determine the semantic information of the text according to the weight of the hit keywords. The embodiments of the present application will not list them one by one here.
[0177] In addition, the first server, the second server, the cloud game server, the container, etc. involved in this specification may not include display components. Based on this, Figure 3 、 Figures 5 to 7B The schematic game screens are all shown to clearly express the technical solution of the present application. In actual implementation, Figure 3 、 Figures 5 to 7B the schematic game screens are not visible to users. During the operation of these screens, the corresponding device may perform operations on the pixel information of the screen frames.
[0178] In summary, in the implementation manner of the embodiments of the present application, after obtaining the static game screen during the preloading of the cloud game software, the first server uses the semantic information recognition model to recognize the semantic information of the text included in the static game screen. If the semantic information of the text meets the conditions for updating the cloud game software, it triggers the corresponding cloud game software to be updated, which can improve the accuracy of detecting the update of the cloud game software. In addition, if the cloud game software needs to be updated, the second server can autonomously click on the update control in the static game screen according to the instruction, so as to autonomously promote the update process of the cloud game software and other preloading processes.
[0179] The above embodiments introduce the various implementation manners of the software update method provided by the embodiments of the present application from the perspectives of the actions performed by each server, such as the recognition of text semantic information, the acquisition of update files, and the execution of update files, and the perspective of learning algorithm processing. It should be understood that for the processing steps corresponding to the recognition of text semantic information, the acquisition of update files, the execution of update files, etc., the embodiments of the present application can implement the above functions in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.
[0180] For example, if the above implementation steps are implemented by software modules to perform corresponding functions. As Figure 8A shown, a software update device 80 is provided. The software update device 80 may include a preloading trigger module 801, an acquisition module 802, a semantic information recognition module 803, and an update trigger module 804. The software update device 80 can be used to perform some or all of the operations of the first server in the above method 100, and some or all of the operations of the cloud server in the method 300.
[0181] For example: The preloading trigger module 801 is used to trigger the preloading of cloud game software. The acquisition module 802 is used to acquire static game screens during the preloading process of the cloud game software. The static game screen refers to the game screen frame that has not changed within a preset time during the preloading process. The semantic information recognition module 803 is used to recognize the semantic information of the text included in the static game screen. The update trigger module 804 is used to trigger the update of the cloud game software if the semantic information meets the cloud game software update condition.
[0182] It can be seen that the software update device 80 provided by the embodiment of the present application, after obtaining the static game screen during the preloading of the cloud game software, recognizes the semantic information of the text included in the static game screen. If the semantic information of the text meets the cloud game software update condition, the corresponding cloud game software is triggered to be updated. It can be seen that the technical solution of the embodiment of the present application determines whether the cloud game software needs to be updated based on the semantic information of the text in the static game screen, so that it can accurately detect whether the cloud game software needs to be updated.
[0183] Optionally, the semantic information includes a target word included in the text or the text category of the text. The text category is the first category or the second category. The first category represents the update of the cloud game software, and the second category represents that the cloud game software does not need to be updated. In this example, the semantic information meeting the cloud game software update condition includes at least one of the following: the word information of the target word included in the text meets a preset condition; the text category is the first category.
[0184] Optionally, the word information of the target word includes at least one of the number of target words and the weight of the target word. The weight is used to indicate the degree to which the target word represents semantic information. The word information of the target word included in the text meeting the preset condition includes at least one of the following: the number is greater than or equal to a first preset value; the number is greater than or equal to a second preset value, and at least one weight is greater than or equal to a third preset value.
[0185] Optionally, the semantic information recognition module 803 is further configured to recognize the text included in the static game screen; for each word included in the text, if the word matches at least one pre-configured keyword, determine that the word is a target word, and at least one keyword is used to characterize the semantics of the cloud game software update, and at least one keyword includes at least three characters.
[0186] Optionally, the semantic information recognition module 803 is further configured to input the text into a pre-trained semantic information recognition model; the semantic information recognition model outputs each target word included in the text and the weight corresponding to each target word.
[0187] Optionally, the software update device 80 further includes a training module for the semantic information recognition model. The training module for the semantic information recognition model is configured to obtain at least one training text and at least one keyword, and at least one keyword is used to characterize the semantics of the cloud game software update; perform word segmentation on at least one training text to obtain a plurality of words; obtain the word frequency of each word in the corresponding training text among the plurality of words; input at least one keyword, each word, and the corresponding word frequency into an initial model, so that the initial model determines the weight of each keyword in at least one keyword according to each word and the corresponding word frequency, and obtain the semantic information recognition model.
[0188] Optionally, the update trigger module 804 is further configured to recognize the position of the update control icon in the static game screen; generate an update file according to the position of the update control icon, and the update file includes a first instruction set, and the first instruction set includes an instruction for instructing to trigger the cloud game software update based on the corresponding update control; send the update file to at least one server, so that at least one server updates the cloud game software, and at least one server is the server where the cloud game software is deployed.
[0189] Optionally, the update file further includes a second instruction set, and the second instruction set includes instructions executed in the case of an abnormal cloud game software update. The instructions in the second instruction set are used to instruct to handle the abnormality. The update trigger module 804 is further configured to send the update file to at least one server, so that at least one server repeatedly executes the following steps until the cloud game software is updated to the latest version: update the cloud game software based on the first instruction set; if an abnormality occurs when executing the first instruction set, execute the instruction corresponding to the abnormality in the second instruction set; after executing the instruction corresponding to the abnormality, execute the first instruction set again; where, the abnormality in executing the first instruction set includes that the execution of the instruction in the first instruction set times out or the number of execution failures is greater than a fourth preset value.
[0190] Such as Figure 8BAs shown in the figure, a software update device 81 is provided. The software update device 81 may include a preloading module 811, a sending module 812, and a software update module 813. The software update device 81 can be used to perform some or all of the operations of the second server in the above method 200, and some or all of the operations of the container in the method 300.
[0191] For example, the preloading module 811 is used to preload cloud game software in response to a preloading trigger instruction and obtain the game screen during the preloading process of the cloud game software. The sending module 812 is used to send a static game screen if the game screen includes a static game screen. A static game screen refers to a game screen frame that has not changed within a preset time during the preloading process. The software update module 813 is used to execute the first instruction set in the update file to update the cloud game software if an update file is received. The first instruction set includes instructions for indicating the update of the cloud game software. The update file is generated by the software update device 80. For details, please refer to the foregoing description and will not be elaborated here.
[0192] It can be seen that the software update device 81 provided by the embodiment of the present application can independently promote the update process of the cloud game software according to the instruction of clicking the update control in the update file.
[0193] Optionally, the update file further includes a second instruction set. The second instruction set includes instructions executed in the case of an abnormal update scenario of the cloud game software. The instructions in the second instruction set are used to indicate the handling of the abnormality. In this example, the software update module 813 is further used to repeatedly execute the following steps until the cloud game software is updated to the latest version: if an exception occurs when executing the first instruction set, execute the instruction corresponding to the exception in the second instruction set; after executing the instruction corresponding to the exception, execute the first instruction set again; where an exception occurs when executing the first instruction set includes that the execution of the instructions in the first instruction set times out or the number of execution failures is greater than a fourth preset value.
[0194] It can be understood that the above division of each module is only a division of logical functions. In actual implementation, the functions of the above modules can be integrated into a hardware entity. For example, the function of the semantic information recognition module 803 can be integrated into a processor, the function of the software update module 813 can also be integrated into a processor, the function of the sending module 812 can be integrated into a transceiver, and the update file can be maintained in a memory, etc.
[0195] Please refer to Figure 9 , Figure 9Provided is a server 90 that can implement the functions of any device in the above-mentioned method 100 to method 300. The server 90 can vary greatly due to configuration or performance differences, and may include one or more central processing units (CPUs) 901 (for example, one or more processors) and a memory 902, and one or more storage media 903 (for example, one or more mass storage devices) that store application programs 9031 or data 9032. Among them, the memory 902 and the storage media 903 can be transient storage or persistent storage. The programs stored in the storage media 903 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server. Further, the central processing unit 901 can be set to communicate with the storage media 903 and execute a series of instruction operations in the storage media 903 on the server 90.
[0196] The server 90 may further include one or more power supplies 904, one or more wired or wireless network interfaces 905, one or more input / output interfaces 906, and / or one or more operating systems 907, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, and so on.
[0197] The steps performed by the software update device in the above embodiments may be implemented based on the Figure 9 server structure shown.
[0198] An embodiment of the present application also provides a computer-readable storage medium, in which update instructions for cloud game software are stored. When it runs on a computer, it causes the computer to execute some or all of the steps in the method described in the embodiments shown in the foregoing method 100 to method 300.
[0199] An embodiment of the present application also provides a computer program product including update instructions for cloud game software. When it runs on a computer, it causes the computer to execute some or all of the steps in the method described in the embodiments shown in the foregoing method 100 to method 300.
[0200] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the above-described systems, devices, and units can refer to the corresponding processes in the foregoing method embodiments, and will not be described herein again.
[0201] In several embodiments provided in the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of devices or units can be in electrical, mechanical, or other forms.
[0202] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0203] In addition, in each embodiment of the present application, the functional units can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
[0204] If the above-mentioned integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can be a personal computer, a control device for cloud games, or a network device, etc.) to execute all or part of the steps of the methods described in each embodiment of the present application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks, or optical discs that can store program codes.
[0205] Although the alternative embodiments of the present application have been described, those skilled in the art can make additional changes and modifications once they know the basic creative concepts. Therefore, the appended claims are intended to be construed to include the preferred embodiments and all changes and modifications that fall within the scope of the present application.
[0206] The specific embodiments described above further elaborate on the purpose, technical solutions, and beneficial effects of the present application. It should be understood that the above description is only for the specific embodiments of the present application and is not used to limit the protection scope of the present application. Any modifications, equivalent replacements, improvements, etc. made on the basis of the technical solutions of the present application should be included within the protection scope of the present invention.
Claims
1. A software update method, characterized in that, Including: Triggering the preloading of cloud game software; Obtaining static game screens during the preloading of the cloud game software, where the static game screens refer to game screen frames that do not change within a preset time during the preloading process; Identifying the text contained in the static game screens; Inputting the text into a pre-trained semantic information recognition model to obtain each target word contained in the text output by the semantic information recognition model and the weight corresponding to each target word, and using the obtained target words and the weights corresponding to each target word as the semantic information of the text; wherein, the target word is a word belonging to at least one preset keyword, and the at least one keyword is used to characterize the semantics of cloud game software updates, and the weight of the target word is used to indicate the possibility that the corresponding target word characterizes the semantic information of the text as a cloud game software update; If the semantic information meets the cloud game software update condition, triggering the update of the cloud game software; the cloud game software update condition includes that the number of target words is greater than or equal to a second preset value, and the weight of at least one target word is greater than or equal to a third preset value.
2. The method according to claim 1, wherein The obtaining method of the semantic information recognition model includes: Obtaining at least one training text and at least one keyword, where the at least one keyword is used to characterize the semantics of cloud game software updates; Performing word segmentation on the at least one training text to obtain a plurality of words; Obtaining the word frequency of each word in the corresponding training text among the plurality of words; Inputting the at least one keyword, the plurality of words, and the corresponding word frequencies into an initial model, so that the initial model determines the weight of each keyword in the at least one keyword according to the plurality of words and the corresponding word frequencies, and obtains the semantic information recognition model.
3. The method according to claim 2, characterized in that The determining the weight of each keyword in the at least one keyword according to the plurality of words and the corresponding word frequencies includes: Based on the word frequency of each word among the plurality of words, determining the probability that each keyword in the at least one keyword is randomly sampled among the plurality of words, and using the probability corresponding to each keyword as the weight of the keyword.
4. The method according to any one of claims 1 to 3, characterized in that The at least one keyword all includes at least three characters.
5. The method according to claim 1, wherein The triggering the update of the cloud game software includes: Identifying the position of the update control icon in the static game screen; Generating an update file according to the position of the update control icon, where the update file contains a first instruction set, and the first instruction set contains an instruction for instructing to trigger the update of the cloud game software based on the corresponding update control; Sending the update file to at least one server so that the at least one server updates the cloud game software, and the at least one server is the server where the cloud game software is deployed.
6. The method according to claim 5, wherein The update file further includes a second instruction set, and the second instruction set contains instructions executed in the case of an abnormal scenario of cloud game software update, and the instructions are used to indicate handling the abnormality. The sending the update file to at least one server so that the at least one server updates the cloud game software includes: Send the update file to the at least one server so that the at least one server repeatedly executes the following steps until the cloud game software is updated to the latest version: Update the cloud game software based on the first instruction set; If an exception occurs when executing the first instruction set, execute the instruction corresponding to the exception in the second instruction set; After executing the instruction corresponding to the exception, execute the first instruction set again; wherein, the exception in executing the first instruction set includes that the execution of the instruction in the first instruction set times out or the number of execution failures is greater than a fourth preset value.
7. A software update method, characterized in that, Includes: In response to a preloading trigger instruction, preload the cloud game software and obtain the game screen during the preloading process of the cloud game software; If the game screen includes a static game screen, send the static game screen, where the static game screen refers to the game screen frame that has not changed within a preset time during the preloading process; If an update file is received, execute the first instruction set in the update file to update the cloud game software, and the first instruction set includes instructions for indicating the update of the cloud game software; The update file is generated in the following manner: Identify the text included in the static game screen; Input the text into a pre-trained semantic information recognition model to obtain each target word included in the text output by the semantic information recognition model and the weight corresponding to each target word, and use the obtained each target word and the weight corresponding to each target word as the semantic information of the text; wherein, the target word is a word belonging to at least one preset keyword, and the at least one keyword is used to characterize the semantics of the cloud game software update, and the weight of the target word is used to indicate the possibility that the corresponding target word characterizes the text semantic information as the cloud game software update; If the semantic information meets the cloud game software update condition, generate the update file to trigger the update of the cloud game software; the cloud game software update condition includes that the number of target words is greater than or equal to a second preset value, and the weight of at least one target word is greater than or equal to a third preset value.
8. The method according to claim 7, characterized in that, The update file further includes a second instruction set, and the second instruction set includes instructions executed in the abnormal scenario of the cloud game software update, and the instructions are used to indicate the handling of the exception, and also include repeatedly executing the following steps until the cloud game software is updated to the latest version: If an exception occurs when executing the first instruction set, execute the instruction corresponding to the exception in the second instruction set; After executing the instruction corresponding to the exception, execute the first instruction set again; Wherein, the exception in executing the first instruction set includes that the execution of the instruction in the first instruction set times out or the number of execution failures is greater than a fourth preset value.
9. A software update device, characterized in that, Includes: A preloading trigger module for triggering the preloading of the cloud game software; An acquisition module for acquiring the static game screen during the preloading process of the cloud game software, where the static game screen refers to the game screen frame that has not changed within a preset time during the preloading process; A semantic information recognition module, which is used to recognize the text included in the static game screen; input the text into a pre-trained semantic information recognition model to obtain each target word included in the text output by the semantic information recognition model and the weight corresponding to each target word, and use the obtained each target word and the weight corresponding to each target word as the semantic information of the text; wherein, the target word is a word belonging to at least one preset keyword, and the at least one keyword is used to characterize the semantics of the cloud game software update, and the weight of the target word is used to indicate the possibility that the corresponding target word characterizes the text semantic information as a cloud game software update; An update trigger module, which is used to trigger the cloud game software to be updated if the semantic information meets the cloud game software update condition.
10. The device according to claim 9, characterized in that, The device further includes a training module, and the training module is used for: Obtain at least one training text and at least one keyword, and the at least one keyword is used to characterize the semantics of the cloud game software update; Segment the at least one training text to obtain a plurality of words; Obtain the word frequency of each word in the corresponding training text among the plurality of words; Input the at least one keyword, each word and the corresponding word frequency into an initial model, so that the initial model determines the weight of each keyword in the at least one keyword according to each word and the corresponding word frequency, and obtain the semantic information recognition model.
11. The device according to claim 10, characterized in that, When the training module determines the weight of each keyword in the at least one keyword according to each word and the corresponding word frequency, it is used for: Based on the word frequency of each word among the words, determine the probability that each keyword in the at least one keyword is randomly sampled among the words, and use the probability corresponding to each keyword as the weight of the keyword.
12. The device according to any one of claims 9-11, characterized in that, Each of the at least one keyword includes at least three characters.
13. The device according to claim 9, characterized in that, When the update trigger module triggers the cloud game software to be updated, it is used for: Identify the position of the update control icon in the static game screen; Generate an update file according to the position of the update control icon, and the update file includes a first instruction set, and the first instruction set includes an instruction for instructing to trigger the cloud game software update based on the corresponding update control; Send the update file to at least one server, so that the at least one server updates the cloud game software, and the at least one server is the server on which the cloud game software is deployed.
14. The device according to claim 13, characterized in that, The update file further includes a second instruction set, and the second instruction set includes instructions executed in the case of an abnormal scenario of the cloud game software update, and the instructions are used to indicate handling the abnormality; When the update trigger module sends the update file to at least one server, so that the at least one server updates the cloud game software, and the at least one server is the server on which the cloud game software is deployed, it includes: Send the update file to the at least one server, so that the at least one server repeatedly executes the following steps until the cloud game software is updated to the latest version: Update the cloud game software based on the first instruction set; If an exception occurs when executing the first instruction set, execute the instruction corresponding to the exception in the second instruction set; After executing the instruction corresponding to the exception, execute the first instruction set again; wherein, the exception in executing the first instruction set includes that the execution of the instruction in the first instruction set times out or the number of execution failures is greater than a fourth preset value.
15. A software update device, characterized in that, It includes: A preloading module, configured to preload the cloud game software in response to a preloading trigger instruction and obtain the game screen during the preloading process of the cloud game software; A sending module, configured to send the static game screen if the game screen includes a static game screen, where the static game screen refers to a game screen frame that has not changed within a preset time during the preloading process; A software update module, configured to execute the first instruction set in the update file to update the cloud game software if an update file is received, where the first instruction set includes an instruction for indicating an update to the cloud game software; The update file is generated in the following manner: Identify the text included in the static game screen; input the text into a pre-trained semantic information recognition model to obtain each target word included in the text and the weight corresponding to each target word output by the semantic information recognition model, and use the obtained each target word and the weight corresponding to each target word as the semantic information of the text; wherein, the target word is a word belonging to at least one preset keyword, and the at least one keyword is used to characterize the semantics of the cloud game software update, and the weight of the target word is used to indicate the possibility that the corresponding target word characterizes the text semantic information as the cloud game software update; If the semantic information meets the cloud game software update condition, generate the update file to trigger the cloud game software update; the cloud game software update condition includes that the number of target words is greater than or equal to a second preset value, and the weight of at least one target word is greater than or equal to a third preset value.
16. The device according to claim 15, characterized in that, The update file further includes a second instruction set, and the second instruction set includes instructions executed in the abnormal scenario of the cloud game software update, and the instructions are used to indicate handling the exception; The software update module is further configured to repeatedly execute the following steps until the cloud game software is updated to the latest version: If an exception occurs when executing the first instruction set, execute the instruction corresponding to the exception in the second instruction set; After executing the instruction corresponding to the exception, execute the first instruction set again; Wherein, the exception in executing the first instruction set includes that the execution of the instruction in the first instruction set times out or the number of execution failures is greater than a fourth preset value.
17. A server, characterized in that, The server includes a processor and a memory, and at least one instruction, at least one program, a code set or an instruction set is stored in the memory, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the software update method according to any one of claims 1 to 6, or to implement the software update method according to any one of claims 7 and 8.
18. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by a processor to implement the software update method according to any one of claims 1 to 6, or to implement the software update method according to any one of claims 7 and 8.
Citation Information
Patent Citations
Updating method and device of cloud game software, storage medium and cloud game system
CN111309357A