技术领域Technical Field
本公开涉及计算机技术领域,具体涉及数据处理、云存储、云平台等云计算技术领域,尤其涉及云数据下发方法、装置、电子设备、计算机可读存储介质及计算机程序产品。The present disclosure relates to the field of computer technology, specifically to the field of cloud computing technology such as data processing, cloud storage, and cloud platforms, and especially to cloud data delivery methods, devices, electronic devices, computer-readable storage media, and computer program products.
背景技术Background technique
云游戏应用,云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在云服务器运行,并将渲染完毕后的游戏画面压缩后通过网络传送给用户。此时,用户的终端设备只需要基本的视频解压能力就可以实现与高端处理器、显卡等同的游戏效果,不需要配置高端处理器和显卡。Cloud gaming applications are cloud-based gaming. In the cloud gaming mode, all games are run on cloud servers, and the rendered game images are compressed and transmitted to users through the network. At this time, the user's terminal device only needs basic video decompression capabilities to achieve the same gaming effects as high-end processors and graphics cards, without the need to configure high-end processors and graphics cards.
相关技术中,在云服务器中需要根据用户所使用的终端设备的运营环境,采用特定的格式对云游戏内容的数据进行采集。In the related art, the cloud server needs to collect data on cloud game content in a specific format based on the operating environment of the terminal device used by the user.
发明内容Summary of the invention
本公开实施例提出了一种云数据下发方法、装置、电子设备、计算机可读存储介质及计算机程序产品。The embodiments of the present disclosure provide a cloud data delivery method, device, electronic device, computer-readable storage medium, and computer program product.
第一方面,本公开实施例提出了一种云数据下发方法,包括:根据接收到的数据获取请求,确定所请求数据的目标编译语言;确定按该目标编译语言编译得到的目标数据的目标存储位置;其中,与各编译语言所对应的数据基于相同的中间数据编译得到,该中间数据采用兼容不同编译语言的第一通用编译格式编译得到和/或采用不同指令集标准的处理器输出的原始数据按照兼容不同指令集特性的第二通用编译格式编译得到;基于该目标存储位置生成该目标数据的数据调用接口,并将该数据调用接口作为请求结果返回。In a first aspect, an embodiment of the present disclosure proposes a cloud data delivery method, comprising: determining a target compilation language for the requested data based on a received data acquisition request; determining a target storage location for the target data compiled according to the target compilation language; wherein the data corresponding to each compilation language is compiled based on the same intermediate data, the intermediate data is compiled using a first general compilation format compatible with different compilation languages and/or the original data output by a processor with different instruction set standards is compiled using a second general compilation format compatible with different instruction set characteristics; a data call interface for the target data is generated based on the target storage location, and the data call interface is returned as a request result.
第二方面,本公开实施例提出了一种云数据下发装置,包括:编译语言确定单元,被配置成根据接收到的数据获取请求,确定所请求数据的目标编译语言;存储位置确定单元,被配置成确定按该目标编译语言编译得到的目标数据的目标存储位置;其中,与各编译语言所对应的数据基于相同的中间数据编译得到,该中间数据采用兼容不同编译语言的第一通用编译格式编译得到和/或采用不同指令集标准的处理器输出的原始数据按照兼容不同指令集特性的第二通用编译格式编译得到;调用接口返回单元,被配置成基于该目标存储位置生成该目标数据的数据调用接口,并将该数据调用接口作为请求结果返回。In a second aspect, an embodiment of the present disclosure proposes a cloud data sending device, comprising: a compilation language determination unit, configured to determine a target compilation language for the requested data according to a received data acquisition request; a storage location determination unit, configured to determine a target storage location for target data compiled according to the target compilation language; wherein the data corresponding to each compilation language is compiled based on the same intermediate data, the intermediate data is compiled using a first general compilation format compatible with different compilation languages and/or the original data output by a processor with different instruction set standards is compiled according to a second general compilation format compatible with different instruction set characteristics; a calling interface returning unit, configured to generate a data calling interface for the target data based on the target storage location, and return the data calling interface as a request result.
第三方面,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现如第一方面中任一实现方式描述的云数据下发方法。In a third aspect, an embodiment of the present disclosure provides an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that when the at least one processor executes, it is possible to implement the cloud data sending method described in any implementation method in the first aspect.
第四方面,本公开实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行时能够实现如第一方面中任一实现方式描述的云数据下发方法。In a fourth aspect, an embodiment of the present disclosure provides a non-transitory computer-readable storage medium storing computer instructions, which are used to enable a computer to implement the cloud data delivery method described in any implementation method of the first aspect when executed.
第五方面,本公开实施例提供了一种包括计算机程序的计算机程序产品,该计算机程序在被处理器执行时能够实现如第一方面中任一实现方式描述的云数据下发方法。In a fifth aspect, an embodiment of the present disclosure provides a computer program product including a computer program, which, when executed by a processor, can implement the cloud data delivery method described in any implementation manner in the first aspect.
本公开实施例提供的云数据下发方法、装置、电子设备、计算机可读存储介质及计算机程序产品,根据接收到的数据获取请求确定所请求的目标编译语言后,确定对应的目标数据、目标存储位置,并生成用于调用该目标数据的调用接口后,将该调用接口返回,其中,与各编译语言所对应的数据基于相同的中间数据编译得到,该中间数据采用兼容不同编译语言的第一通用编译格式编译得到和/或采用不同指令集标准的处理器输出的原始数据按照兼容不同指令集特性的第二通用编译格式编译得到。The cloud data sending method, device, electronic device, computer-readable storage medium and computer program product provided by the embodiments of the present disclosure determine the requested target compilation language according to the received data acquisition request, determine the corresponding target data and target storage location, generate a calling interface for calling the target data, and then return the calling interface, wherein the data corresponding to each compilation language is compiled based on the same intermediate data, and the intermediate data is compiled using a first general compilation format compatible with different compilation languages and/or the original data output by a processor with different instruction set standards is compiled according to a second general compilation format compatible with different instruction set characteristics.
本公开可通过兼容性编码、针对性编码的二层编码结构,对不同的形式的源数据结合不同的编译语言需求进行处理,以便于后续在基于数据获取请求确定目标编译语言后,可直接返回与该目标编译语言对应的目标数据的调用接口,使得数据获取端在仅上传目标编译语言后便可根据返回的调用接口调取需求的数据,达到数据获取端无需了解底层架构便可完成数据获取、降低数据获取端对于数据的获取难度的效果。The present disclosure can process source data of different forms in combination with different compilation language requirements through a two-layer coding structure of compatibility coding and targeted coding, so that after the target compilation language is determined based on the data acquisition request, the calling interface of the target data corresponding to the target compilation language can be directly returned, so that the data acquisition end can retrieve the required data according to the returned calling interface after only uploading the target compilation language, thereby achieving the effect that the data acquisition end can complete data acquisition without understanding the underlying architecture and reduce the difficulty of data acquisition for the data acquisition end.
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:Other features, objects and advantages of the present disclosure will become more apparent from the detailed description of non-limiting embodiments made with reference to the following drawings:
图1是本公开可以应用于其中的示例性系统架构;FIG1 is an exemplary system architecture in which the present disclosure may be applied;
图2为本公开实施例提供的一种云数据下发方法的流程图;FIG2 is a flow chart of a cloud data delivery method provided by an embodiment of the present disclosure;
图3为本公开实施例提供的另一种云数据下发方法的流程图;FIG3 is a flow chart of another cloud data delivery method provided by an embodiment of the present disclosure;
图4为本公开实施例提供的在一应用场景下的云数据下发方法的流程示意图;FIG4 is a schematic diagram of a flow chart of a cloud data delivery method in an application scenario provided by an embodiment of the present disclosure;
图5为本公开实施例提供的一种云数据下发装置的结构框图;FIG5 is a structural block diagram of a cloud data sending device provided in an embodiment of the present disclosure;
图6为本公开实施例提供的一种适用于执行云数据下发方法的电子设备的结构示意图。FIG6 is a schematic diagram of the structure of an electronic device suitable for executing a cloud data sending method provided in an embodiment of the present disclosure.
具体实施方式Detailed ways
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description. It should be noted that the embodiments in the present disclosure and the features in the embodiments may be combined with each other without conflict.
此外,本公开涉及的技术方案中,所涉及的用户个人信息的获取、存储、使用、加工、运输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。In addition, in the technical solutions involved in this disclosure, the acquisition, storage, use, processing, transportation, provision and disclosure of user personal information involved are in compliance with the relevant laws and regulations and do not violate public order and good morals.
图1示出了可以应用本公开的云数据下发方法、装置、电子设备及计算机可读存储介质的实施例的示例性系统架构100。FIG. 1 shows an exemplary system architecture 100 to which the cloud data delivery method, apparatus, electronic device, and computer-readable storage medium of the present disclosure may be applied.
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。As shown in Fig. 1, system architecture 100 may include terminal devices 101, 102, 103, network 104 and server 105. Network 104 is used to provide a medium for communication links between terminal devices 101, 102, 103 and server 105. Network 104 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103和服务器105上可以安装有各种用于实现两者之间进行信息通讯的应用,例如云游戏类应用、云存储类应用、即时通讯类应用等。The user can use the terminal devices 101, 102, 103 to interact with the server 105 through the network 104 to receive or send messages, etc. The terminal devices 101, 102, 103 and the server 105 can be installed with various applications for realizing information communication between the two, such as cloud gaming applications, cloud storage applications, instant messaging applications, etc.
终端设备101、102、103和服务器105可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等;当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器;服务器为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。Terminal devices 101, 102, 103 and server 105 can be hardware or software. When terminal devices 101, 102, 103 are hardware, they can be various electronic devices with display screens, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, etc.; when terminal devices 101, 102, 103 are software, they can be installed in the electronic devices listed above, which can be implemented as multiple software or software modules, or as a single software or software module, and no specific limitation is made here. When server 105 is hardware, it can be implemented as a distributed server cluster composed of multiple servers, or as a single server; when the server is software, it can be implemented as multiple software or software modules, or as a single software or software module, and no specific limitation is made here.
服务器105通过内置的各种应用可以提供各种服务,以可以提供云游戏服务的云游戏类应用为例,服务器105在运行该云游戏类应用时可实现如下效果:首先,服务器105可基于本地的云游戏内容采用兼容不同编译语言的第一通用编译格式编译得到和/或采用不同指令集标准的处理器输出的原始数据按照兼容不同指令集特性的第二通用编译格式编译得到中间数据,并将该中间数据编译为与各编译语言所对应的数据;然后,服务器105在通过网络104从终端设备101、102、103接收到数据获取请求时,根据接收到的数据获取请求确定所请求数据的目标编译语言;接下来,服务器105可确定按该目标编译语言编译得到的目标数据的目标存储位置;最后,服务器105基于该目标存储位置生成该目标数据的数据调用接口,并将该数据调用接口作为请求结果返回终端设备101、102、103。The server 105 can provide various services through various built-in applications. Taking the cloud gaming application that can provide cloud gaming services as an example, the server 105 can achieve the following effects when running the cloud gaming application: first, the server 105 can compile the original data output by the processor using a first general compilation format compatible with different compilation languages based on the local cloud gaming content and/or compile the original data output by the processor using different instruction set standards according to a second general compilation format compatible with different instruction set characteristics to obtain intermediate data, and compile the intermediate data into data corresponding to each compilation language; then, when the server 105 receives a data acquisition request from the terminal devices 101, 102, 103 through the network 104, the server 105 determines the target compilation language of the requested data according to the received data acquisition request; next, the server 105 can determine the target storage location of the target data compiled according to the target compilation language; finally, the server 105 generates a data call interface for the target data based on the target storage location, and returns the data call interface to the terminal devices 101, 102, 103 as the request result.
需要指出的是,云游戏内容除可以从终端设备101、102、103通过各种方式预先存储在服务器105本地之外,也可以通过网络104获取到。因此,当服务器105检测到云游戏内容未存储于本地时,可从存储有云游戏内容的非本地的终端设备、服务器中相应进行获取,并完成上述过程中后续的步骤。It should be noted that, in addition to being pre-stored locally on the server 105 from the terminal devices 101, 102, and 103 in various ways, the cloud game content can also be obtained through the network 104. Therefore, when the server 105 detects that the cloud game content is not stored locally, it can be obtained from the non-local terminal device or server storing the cloud game content, and the subsequent steps in the above process can be completed.
由于对数据进行编译、存储需要占用较多的运算资源和较强的运算能力,因此本公开后续各实施例所提供的云数据下发方法一般由拥有较强运算能力、较多运算资源的服务器105来执行,相应地,云数据下发装置一般也设置于服务器105中。但同时也需要指出的是,在终端设备101、102、103也具有满足要求的运算能力和运算资源时,终端设备101、102、103也可以通过其上安装的云游戏类应用完成上述本交由服务器105做的各项运算,进而输出与服务器105同样的结果,以实现不同终端设备之间的协同、交互。尤其是在同时存在多种具有不同运算能力的终端设备的情况下,但云游戏类应用判断所在的终端设备拥有较强的运算能力和剩余较多的运算资源时,可以让终端设备来执行上述运算,从而适当减轻服务器105的运算压力,相应的,云数据下发装置也可以部分的设置于终端设备101、102、103中,以通过多设备协同的方式,完成云数据下发。Since compiling and storing data requires more computing resources and stronger computing power, the cloud data sending method provided in the subsequent embodiments of the present disclosure is generally executed by the server 105 with stronger computing power and more computing resources, and accordingly, the cloud data sending device is generally also set in the server 105. However, it should also be pointed out that when the terminal devices 101, 102, and 103 also have computing power and computing resources that meet the requirements, the terminal devices 101, 102, and 103 can also complete the above-mentioned various operations handed over to the server 105 through the cloud game applications installed thereon, and then output the same results as the server 105, so as to achieve collaboration and interaction between different terminal devices. Especially when there are multiple terminal devices with different computing capabilities at the same time, but the cloud gaming application determines that the terminal device has stronger computing capabilities and more remaining computing resources, the terminal device can be used to perform the above-mentioned operations, thereby appropriately reducing the computing pressure of the server 105. Correspondingly, the cloud data sending device can also be partially set in the terminal devices 101, 102, and 103 to complete the cloud data sending through the collaboration of multiple devices.
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。It should be understood that the number of terminal devices, networks and servers in Figure 1 is only illustrative. Any number of terminal devices, networks and servers may be provided according to implementation requirements.
请参考图2,图2为本公开实施例提供的一种云数据下发方法的流程图,其中流程200包括以下步骤:Please refer to FIG. 2 , which is a flow chart of a cloud data delivery method provided by an embodiment of the present disclosure, wherein process 200 includes the following steps:
步骤201,根据接收到的数据获取请求,确定所请求数据的目标编译语言。Step 201: Determine the target compilation language of the requested data according to the received data acquisition request.
在本实施例中,由云数据下发方法的执行主体(例如图1所示的服务器105)在接收到来自终端设备(例如图1所示的终端设备101、102、103)或其他服务器发送的数据获取请求后,确定该数据获取请求所请求数据的目标编译语言,其中,该目标编译语言可以是基于发送数据获取请求的终端设备的确定的、可被该终端设备所读取、执行和运用的编译语言,也可以是该终端设备根据用户的指示所确定的目标编译语言。In this embodiment, after receiving a data acquisition request sent from a terminal device (such as the terminal devices 101, 102, 103 shown in Figure 1) or other servers, the execution subject of the cloud data delivery method (such as the server 105 shown in Figure 1) determines the target compilation language of the data requested by the data acquisition request, wherein the target compilation language can be a compilation language determined based on the terminal device that sends the data acquisition request and can be read, executed and used by the terminal device, or it can be a target compilation language determined by the terminal device according to the user's instructions.
步骤202,确定按目标编译语言编译得到的目标数据的目标存储位置。Step 202, determining a target storage location of target data compiled according to the target compilation language.
在本实施例中,在基于上述步骤201中确定有目标编译语言后,根据该目标编译语言的具体类型,从预先完成配置的、与编译语言具有对应关系的各数据中,确定与该目标编译语言所对应的目标数据,并获取该目标数据的目标存储位置。In this embodiment, after the target compilation language is determined in the above step 201, according to the specific type of the target compilation language, the target data corresponding to the target compilation language is determined from the pre-configured data having a corresponding relationship with the compilation language, and the target storage location of the target data is obtained.
其中,预先完成配置的、与编译语言具有对应关系的各数据预先基于相同的中间数据编译得到,即在确定有中间数据后,采用不同的编译语言对该中间数据分别进行编译,以得到利用不同的编译语言、与使用的编译语言所对应的各数据。Among them, each data that has been pre-configured and has a corresponding relationship with the compilation language is compiled based on the same intermediate data in advance, that is, after it is determined that there is intermediate data, different compilation languages are used to compile the intermediate data respectively to obtain each data corresponding to the compilation language used using different compilation languages.
进一步的,该中间数据可采用兼容如JNI(全称Java Native Interface)、C、OC(全称Object-C)和python等不同编译语言的第一通用编译格式编译得到,和/或采用如X86复杂指令集、只读内存(Read-Only Memory,简称ROM)简单指令集、数据流单指令序列扩展指令(Streaming SIMD Extensions,简称SEE)系列指令集、64位内存扩展(ExtendedMemory64Technology,简称EM64T)指令集、精简指令集计算机(Reduced Instruction SetComputer,简称RISC)指令集等不同指令集标准的处理器输出的原始数据按照兼容不同指令集特性的第二通用编译格式编译得到。Furthermore, the intermediate data can be compiled using a first general compilation format that is compatible with different compilation languages such as JNI (full name Java Native Interface), C, OC (full name Object-C) and python, and/or compiled using original data output by processors with different instruction set standards such as the X86 complex instruction set, the read-only memory (Read-Only Memory, ROM) simple instruction set, the streaming SIMD Extensions (SEE) series instruction set, the 64-bit memory extension (Extended Memory 64 Technology, EM64T) instruction set, and the reduced instruction set computer (Reduced Instruction Set Computer, RISC) instruction set according to a second general compilation format that is compatible with the characteristics of different instruction sets.
其中,第一通用编译格式和第二通用编译格式可以相同,也可以不同,示例性的,第一通用编译格式可以为兼容JAVA运营环境下的JNI编译语言以及IOS运营环境下的OC编译语言的C++编译语言,因C++编译语言也可兼容X86复杂指令集以及ROM简单指令集,此时也可相应的设置第二通用编译格式为C++编译语言。Among them, the first general compilation format and the second general compilation format can be the same or different. For example, the first general compilation format can be a C++ compilation language that is compatible with the JNI compilation language under the JAVA operating environment and the OC compilation language under the IOS operating environment. Since the C++ compilation language is also compatible with the X86 complex instruction set and the ROM simple instruction set, the second general compilation format can also be set to the C++ compilation language accordingly.
需要指出的是,目标数据的目标存储位置可以指向本地,也可以指向非本地的存储设备(例如图1所示的终端设备101、102、103)。本地的存储设备可以是设置在上述执行主体内的一个数据存储模块,例如服务器硬盘,在此种情况下,目标数据的目标存储位置可以在本地快速读取到后,进行确定;非本地的存储设备还可以为其它任何被设置用于存储数据的电子设备,例如一些用户终端等,在此情况下,上述执行主体可以通过向该电子设备发送获取命令,以来获取所需的目标数据的目标存储位置。It should be noted that the target storage location of the target data can point to a local or non-local storage device (such as the terminal devices 101, 102, and 103 shown in FIG1). The local storage device can be a data storage module set in the above-mentioned execution subject, such as a server hard disk. In this case, the target storage location of the target data can be determined after being quickly read locally; the non-local storage device can also be any other electronic device configured to store data, such as some user terminals, etc. In this case, the above-mentioned execution subject can obtain the target storage location of the required target data by sending an acquisition command to the electronic device.
步骤203,基于目标存储位置生成目标数据的数据调用接口,并将数据调用接口作为请求结果返回。Step 203: Generate a data calling interface for the target data based on the target storage location, and return the data calling interface as a request result.
在本实施例中,在基于上述步骤202确定目标数据的目标存储位置后,基于该存储位置将目标数据封装、生成该目标数据的数据调用接口,并将该数据调用接口作为结果返回至发送数据获取请求的终端设备,以便于该终端设备直接根据该数据调用接口对目标数据进行调用。In this embodiment, after the target storage location of the target data is determined based on the above step 202, the target data is encapsulated based on the storage location, a data calling interface for the target data is generated, and the data calling interface is returned as a result to the terminal device that sends the data acquisition request, so that the terminal device can directly call the target data according to the data calling interface.
本公开实施例提供的云数据下发方法,可通过兼容性编码、针对性编码的二层编码结构,对不同的形式的源数据结合不同的编译语言需求进行处理,以便于后续在基于数据获取请求确定目标编译语言后,可直接返回与该目标编译语言对应的目标数据的调用接口,使得数据获取端在仅上传目标编译语言后便可根据返回的调用接口调取需求的数据,达到数据获取端无需了解底层架构便可完成数据获取、降低数据获取端对于数据的获取难度的效果。The cloud data sending method provided by the embodiment of the present disclosure can process different forms of source data in combination with different compilation language requirements through a two-layer coding structure of compatible coding and targeted coding, so that after the target compilation language is determined based on the data acquisition request, the calling interface of the target data corresponding to the target compilation language can be directly returned, so that the data acquisition end can retrieve the required data according to the returned calling interface after only uploading the target compilation language, thereby achieving the effect that the data acquisition end can complete data acquisition without understanding the underlying architecture and reduce the difficulty of data acquisition for the data acquisition end.
在本实施例的一些可选的实现方式中,该云数据下发方法还包括:采用兼容不同编译语言的第一通用编译格式编译得到该中间数据;以及该采用兼容不同编译语言的第一通用编译格式编译得到该中间数据的步骤包括:获取待下发的待编译数据;响应于该待编译数据为视频数据,将该待编译数据编译为YUV格式的中间数据。In some optional implementations of this embodiment, the cloud data sending method also includes: compiling the intermediate data using a first universal compilation format compatible with different compilation languages; and the step of compiling the intermediate data using the first universal compilation format compatible with different compilation languages includes: obtaining the compiled data to be sent; in response to the data to be compiled being video data, compiling the data to be compiled into intermediate data in YUV format.
具体的,在确定待下发的待编译数据为视频类型的数据时,将待编译数据编译为YUV格式的中间数据,其中,YUV指的是亮度参数和色度参量分开表示的像素格式,其中“Y”表示明亮度,也就是灰度值,而“U”和“V”表示的则是色度,作用是描述影像色彩和饱和度,用于指定像素的颜色,利用YUV格式可与现有的RGB颜色标准进行互转的优势,以便于在待下发的待编译数据为视频类型的数据时,提供适配能力更强的中间数据、为更多类型的编译语言提供支持。Specifically, when it is determined that the data to be compiled and sent is video-type data, the data to be compiled is compiled into intermediate data in YUV format, wherein YUV refers to a pixel format in which brightness parameters and chromaticity parameters are separately represented, wherein "Y" represents brightness, that is, grayscale value, while "U" and "V" represent chromaticity, which is used to describe image color and saturation and is used to specify the color of a pixel. The YUV format can be converted to and from the existing RGB color standard so that when the data to be compiled and sent is video-type data, intermediate data with stronger adaptability can be provided and support can be provided for more types of compilation languages.
在本实现方式的基础上,进一步的,在待编译数据为音频数据时,该云数据下发方法还包括:响应于该待编译数据为音频数据,对该音频数据进行重采样处理后,生成中间数据。On the basis of the present implementation, further, when the data to be compiled is audio data, the cloud data sending method further includes: in response to the data to be compiled being audio data, resampling the audio data to generate intermediate data.
具体的,待该待编译数据为音频数据时,从该待编译数据中采集脉冲编码调制(Pulse Code Modulation,简称PCM)格式的数据,根据实际的云游戏支持应用来重采样不用采样率的音频数据,并经过音频编码器后输出的编码后的中间数据,以便于在待下发的待编译数据为音频类型的数据时,提供适配能力更强的中间数据、为更多类型的编译语言提供支持。Specifically, when the data to be compiled is audio data, data in pulse code modulation (PCM) format is collected from the data to be compiled, audio data with different sampling rates are resampled according to the actual cloud game support application, and the encoded intermediate data is output after passing through the audio encoder, so that when the data to be compiled to be sent down is audio type data, more adaptable intermediate data can be provided and support can be provided for more types of compilation languages.
请参考图3,图3为本公开实施例提供的另一种云数据下发方法的流程图,其中流程300包括以下步骤:Please refer to FIG. 3 , which is a flow chart of another cloud data delivery method provided by an embodiment of the present disclosure, wherein process 300 includes the following steps:
步骤301,向可发送数据获取请求的终端设备发送运行环境获取请求。Step 301: Send an operating environment acquisition request to a terminal device that can send data acquisition requests.
在本实施例中,可预先向用于接收云数据、可向上述执行主体发送数据获取请求的各终端设备发送运行环境获取请求,并指示各接收该运行环境获取请求的终端设备返回各终端设备的运行环境,其中,该运行环境可包括终端设备所使用的编译系统(如JAVA、IOS、WINDOWS)或直接返回终端设备可支持的编译语言(如JNI、OC、C语言)。In this embodiment, an operating environment acquisition request can be sent in advance to each terminal device used to receive cloud data and send a data acquisition request to the above-mentioned execution entity, and each terminal device that receives the operating environment acquisition request can be instructed to return the operating environment of each terminal device, wherein the operating environment may include the compilation system used by the terminal device (such as JAVA, IOS, WINDOWS) or directly return the compilation language supported by the terminal device (such as JNI, OC, C language).
步骤302,根据各终端设备返回的运行环境确定各终端设备所对应的需求编译语言,并生成用于记录运行环境与编译语言的配置目录。Step 302: determine the required compilation language corresponding to each terminal device according to the operating environment returned by each terminal device, and generate a configuration directory for recording the operating environment and the compilation language.
在本实施例中,基于各终端设备所返回的运行环境确定各终端设备所对应的、各自所需求的编译语言,并生成用于记录运行环境与编译语言的配置目录,该配置目录中记录有各终端设备所处的运行环境以及与该终端设备的运行环境相对应的、该终端设备所希望的编译语言。In this embodiment, the compilation language corresponding to and required by each terminal device is determined based on the operating environment returned by each terminal device, and a configuration directory for recording the operating environment and the compilation language is generated. The configuration directory records the operating environment of each terminal device and the compilation language desired by the terminal device corresponding to the operating environment of the terminal device.
其中,为方便后续在终端设备向上述执行主体发送数据获取请求时快速、准确的确定该终端设备所对应的目标编译语言,可在配置目录中相应的为各终端设备添加匹配标识,以便于利用该匹配标识快速调取与终端设备对应的目标编译语言。Among them, in order to facilitate the subsequent rapid and accurate determination of the target compilation language corresponding to the terminal device when the terminal device sends a data acquisition request to the above-mentioned execution entity, a matching identifier can be added to each terminal device in the configuration directory accordingly, so that the matching identifier can be used to quickly retrieve the target compilation language corresponding to the terminal device.
步骤303,根据接收到的数据获取请求,确定所请求数据的目标编译语言。Step 303: Determine the target compilation language of the requested data according to the received data acquisition request.
在本实施例中,在接收到来自于终端设备的数据获取请求时,利用上述步骤302中生成的配置目录确定与该终端设备所对应的目标编译语言。In this embodiment, when a data acquisition request is received from a terminal device, the configuration directory generated in step 302 is used to determine the target compilation language corresponding to the terminal device.
步骤304,确定按目标编译语言编译得到的目标数据的目标存储位置。Step 304, determining a target storage location of the target data compiled according to the target compilation language.
步骤305,基于目标存储位置生成目标数据的数据调用接口。Step 305: Generate a data calling interface for the target data based on the target storage location.
应当理解的是,在本实施例中,发出数据获取请求的终端设备同样可以理解为向上述执行主体发出数据获取请求的服务器等,对此本公开并不限制。It should be understood that, in this embodiment, the terminal device that issues a data acquisition request can also be understood as a server that issues a data acquisition request to the above-mentioned execution entity, etc., and the present disclosure does not limit this.
以上步骤304-305与如图2所示的步骤202-203一致,相同部分内容请参见上一实施例的相应部分,此处不再进行赘述,本实施例在上述图2所示实施例的基础上,进一步的,可预先对可发送数据获取请求、接收上述执行主体云数据下发的各终端设备、服务器等的运行环境、所需求的编译语言进行收集,不仅可以预先进行针对性的数据编译、配置,还可以在接收到数据获取请求时快速进行响应、确定目标编译语言,提高云数据下发的效率。The above steps 304-305 are consistent with steps 202-203 as shown in Figure 2. For the same content, please refer to the corresponding part of the previous embodiment and will not be repeated here. Based on the embodiment shown in Figure 2 above, this embodiment can further collect in advance the operating environment and required compilation language of each terminal device, server, etc. that can send data acquisition requests and receive the cloud data issued by the above-mentioned execution subject. Not only can targeted data compilation and configuration be performed in advance, but also when receiving the data acquisition request, it can quickly respond and determine the target compilation language, thereby improving the efficiency of cloud data issuance.
在本实施例的一些可选的实现方式中,该根据接收到的数据获取请求,确定所请求数据的目标编译语言,包括:响应于接收到目标终端设备发送的数据获取请求,获取该目标终端设备的运行环境;根据该配置目录确定与该运行环境对应的目标编译语言。In some optional implementations of this embodiment, the target compilation language of the requested data is determined based on the received data acquisition request, including: in response to receiving the data acquisition request sent by the target terminal device, obtaining the operating environment of the target terminal device; and determining the target compilation language corresponding to the operating environment based on the configuration directory.
具体的,还可以在接收数据获取请求时,要求发送该数据请求的目标终端发送提供所处的运行环境,并利用配置录取查找与该运行环境相同的终端设备,以确定与该运行环境对应的目标编译语言,以提高上述云数据下发方法对于新连入的目标终端的兼容性、服务能力。Specifically, when receiving a data acquisition request, the target terminal that sends the data request can be required to send the operating environment in which it is located, and use the configuration entry to find the terminal device with the same operating environment to determine the target compilation language corresponding to the operating environment, so as to improve the compatibility and service capabilities of the above-mentioned cloud data delivery method for newly connected target terminals.
进一步的,当该目标终端设备的运行环境不存在于该配置目录中时,还可对该目标终端设备的运行环境进行分析后,以从配置目录中寻找与该运行环境具有共同性的终端设备,以进行相似性的匹配,提高云数据下发的成功率。Furthermore, when the operating environment of the target terminal device does not exist in the configuration directory, the operating environment of the target terminal device can be analyzed to find a terminal device that has something in common with the operating environment from the configuration directory for similarity matching, thereby improving the success rate of cloud data delivery.
在本实施例的一些可选的实现方式中,该云数据下发方法,还包括:响应于从该目标终端设备返回编译语言更换请求,确定与该编译语言更换请求所对应的更新目标编译语言;确定按各更新目标编译语言编译得到的更新目标数据的更新目标存储位置;基于该更新目标存储位置生成该更新目标数据的更新数据调用接口,并将该更新数据调用接口作为请求结果返回;将该配置目录中与该目标终端设备的运行环境所对应的编译语言更新为该更新目标编译语言。In some optional implementations of the present embodiment, the cloud data sending method further includes: in response to a compilation language change request returned from the target terminal device, determining an update target compilation language corresponding to the compilation language change request; determining an update target storage location of the update target data compiled according to each update target compilation language; generating an update data calling interface for the update target data based on the update target storage location, and returning the update data calling interface as a request result; and updating the compilation language corresponding to the operating environment of the target terminal device in the configuration directory to the update target compilation language.
具体的,在上述执行主体从目标终端设备返回编译语言更换请求时进行响应,读取该编译语言更换请求所对应的更新目标编译语言,并基于与该更新目标编译语言对应的更新目标数据的更新目标存储位置生成该更新目标数据的更新数据调用接口后,将该更新数据调用接口作为请求结果返回,以及在该配置目录中与该目标终端设备的运行环境所对应的编译语言更新为该更新目标编译语言,以便于在发返回的目标数据不满足目标终端设备的编译需求时,根据该目标终端设备返回的编译语言更换请求、编译需求进行更新,并使用的更新目标编译语言存储至配置目录中,以便于该目标终端设备再次请求云数据时,提供质量更高的云数据下发。Specifically, when the above-mentioned execution subject returns a compilation language change request from the target terminal device, it responds, reads the updated target compilation language corresponding to the compilation language change request, and generates an update data calling interface of the update target data based on the update target storage position of the update target data corresponding to the update target compilation language, and then returns the update data calling interface as the request result, and updates the compilation language corresponding to the operating environment of the target terminal device in the configuration directory to the updated target compilation language, so that when the returned target data does not meet the compilation requirements of the target terminal device, it is updated according to the compilation language change request and compilation requirements returned by the target terminal device, and the updated target compilation language used is stored in the configuration directory, so that when the target terminal device requests cloud data again, higher quality cloud data can be sent down.
在上述任一实施例的基础上,该云数据下发方法,还包括:采用不同的编译语言对该中间数据进行编译,分别生成与使用的编译语言所对应的数据,其中,该编译语言包括C++、JNI、OC中的至少一种。Based on any of the above embodiments, the cloud data sending method also includes: using different compilation languages to compile the intermediate data, and respectively generating data corresponding to the compilation languages used, wherein the compilation languages include at least one of C++, JNI, and OC.
具体的,基于现有的各终端设备的运行环境,可采用对于现有的各运行环境适配能力较强的C++、JNI、OC编译语言对中间数据进行编译、得到与上述各编译语言所对应的数据,以便于在现有各终端设备进行云数据请求时,均能进行良好的适配。Specifically, based on the operating environment of the existing terminal devices, C++, JNI, and OC compilation languages with strong adaptability to the existing operating environments can be used to compile intermediate data and obtain data corresponding to the above compilation languages, so that when the existing terminal devices make cloud data requests, they can all be well adapted.
为加深理解,本公开还结合一个具体应用场景,给出了一种具体的实现方案,其中包括用于执行云数据下发方法的云服务器A以及向该云服务器A进行数据请求的终端设备B,云服务器A与终端设备B之间进行交互、实现云数据下发的过程,请参见如图4所示的流程400,具体如下:To deepen understanding, the present disclosure also provides a specific implementation scheme in combination with a specific application scenario, which includes a cloud server A for executing the cloud data delivery method and a terminal device B for making a data request to the cloud server A. The process of interaction between the cloud server A and the terminal device B to implement cloud data delivery is shown in process 400 as shown in FIG. 4, which is as follows:
步骤401,云服务器A获取待下发的待编译数据,并编译生成中间数据。Step 401: Cloud server A obtains the data to be compiled and sends, and compiles and generates intermediate data.
具体的,云服务器A获取待下发的待编译数据,在确定该待编译数据为视频数据时,将该待编译数据编译为YUV格式的中间数据。Specifically, cloud server A obtains the data to be compiled to be sent, and when determining that the data to be compiled is video data, compiles the data to be compiled into intermediate data in a YUV format.
步骤402,云服务器A采用不同的编译语言编译中间数据。Step 402: Cloud server A compiles the intermediate data using different compilation languages.
具体的,云服务器A根据预先收集的各用于接收云数据的、可向该云服务器A发送数据获取请求的是终端设备的运行环境,确定需采用C++、JNI和OC编译语言将该中间数据编辑成分别对C++、JNI和OC编译语言对应的数据,在完成编译后,在本地分别存储经C++、JNI和OC编译语言编译上述中间数据得到的数据。Specifically, cloud server A determines that C++, JNI and OC compilation languages must be used to edit the intermediate data into data corresponding to C++, JNI and OC compilation languages, respectively, based on the pre-collected operating environment of each terminal device for receiving cloud data and sending data acquisition requests to cloud server A. After compilation is completed, the data obtained by compiling the above intermediate data with C++, JNI and OC compilation languages are stored locally, respectively.
步骤403,云服务器A接收到终端设备B发送的数据获取请求。Step 403: Cloud server A receives a data acquisition request sent by terminal device B.
具体的,云服务器A接收到终端设备B发送的数据获取请求,并确定该终端设备的运行环境为JAVA运行环境,并确定该终端设备B所请求数据的目标编译语言应为JNI编译语言。Specifically, cloud server A receives a data acquisition request sent by terminal device B, and determines that the operating environment of the terminal device is the JAVA operating environment, and determines that the target compilation language of the data requested by the terminal device B should be the JNI compilation language.
步骤404,云服务器A确定按目标编译语言编译得到的目标数据的目标存储位置。Step 404: Cloud server A determines a target storage location of target data compiled in the target compilation language.
具体的,云服务器A确定本地用于存储经JNI编译语言编译中间数据得到的目标数据的目标存储位置。Specifically, cloud server A determines a target storage location locally for storing target data obtained by compiling intermediate data using the JNI compilation language.
步骤405,云服务器A基于目标存储位置生成目标数据的数据调用接口,并将该数据调用接口作为请求结果返回终端设备B。Step 405: Cloud server A generates a data calling interface for target data based on the target storage location, and returns the data calling interface to terminal device B as a request result.
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种云数据下发装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。Further referring to FIG. 5 , as an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a cloud data sending device, which corresponds to the method embodiment shown in FIG. 2 , and can be specifically applied to various electronic devices.
如图5所示,本实施例的云数据下发装置500可以包括:编译语言确定单元501、存储位置确定单元502和调用接口返回单元503。其中,编译语言确定单元501,被配置成根据接收到的数据获取请求,确定所请求数据的目标编译语言;存储位置确定单元502,被配置成确定按该目标编译语言编译得到的目标数据的目标存储位置;其中,与各编译语言所对应的数据基于相同的中间数据编译得到,该中间数据采用兼容不同编译语言的第一通用编译格式编译得到和/或采用不同指令集标准的处理器输出的原始数据按照兼容不同指令集特性的第二通用编译格式编译得到;调用接口返回单元503,被配置成基于该目标存储位置生成该目标数据的数据调用接口,并将该数据调用接口作为请求结果返回As shown in FIG5 , the cloud data sending device 500 of this embodiment may include: a compilation language determination unit 501, a storage location determination unit 502, and a call interface return unit 503. The compilation language determination unit 501 is configured to determine the target compilation language of the requested data according to the received data acquisition request; the storage location determination unit 502 is configured to determine the target storage location of the target data compiled according to the target compilation language; the data corresponding to each compilation language is compiled based on the same intermediate data, and the intermediate data is compiled using a first general compilation format compatible with different compilation languages and/or the original data output by a processor with different instruction set standards is compiled according to a second general compilation format compatible with different instruction set characteristics; the call interface return unit 503 is configured to generate a data call interface for the target data based on the target storage location, and return the data call interface as a request result.
在本实施例中,云数据下发装置500中:编译语言确定单元501、存储位置确定单元502和调用接口返回单元503的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-203的相关说明,在此不再赘述。In this embodiment, in the cloud data sending device 500: the specific processing of the compilation language determination unit 501, the storage location determination unit 502 and the calling interface return unit 503 and the technical effects brought about by them can refer to the relevant descriptions of steps 201-203 in the corresponding embodiment of Figure 2 respectively, and will not be repeated here.
在本实施例的一些可选的实现方式中,该云数据下发装置500,还包括:中间数据生成单元,被配置成采用兼容不同编译语言的第一通用编译格式编译得到该中间数据;以及该中间数据生成单元中,包括:待编译数据获取子单元,被配置成获取待下发的待编译数据;中间数据第一生成子单元,被配置成响应于该待编译数据为视频数据,将该待编译数据编译为YUV格式的中间数据。In some optional implementations of the present embodiment, the cloud data sending device 500 further includes: an intermediate data generation unit, configured to compile the intermediate data using a first universal compilation format compatible with different compilation languages; and the intermediate data generation unit includes: a to-be-compiled data acquisition subunit, configured to acquire the to-be-compiled data to be sent; and an intermediate data first generation subunit, configured to compile the to-be-compiled data into intermediate data in YUV format in response to the to-be-compiled data being video data.
在本实施例的一些可选的实现方式中,该中间数据生成单元中,还包括:中间数据第一生成子单元,被配置成响应于该待编译数据为音频数据,对该音频数据进行重采样处理后,生成中间数据。In some optional implementations of this embodiment, the intermediate data generation unit further includes: an intermediate data first generation subunit, which is configured to generate intermediate data after resampling the audio data in response to the data to be compiled being audio data.
在本实施例的一些可选的实现方式中,该云数据下发装置500,还包括:运行环境收集单元,被配置成向可发送该数据获取请求的终端设备发送运行环境获取请求;需求编译语言单元,被配置成根据各终端设备返回的运行环境确定各终端设备所对应的需求编译语言;配置目录生成单元,被配置成根据各终端设备返回的运行环境确定各终端设备所对应的需求编译语言,并生成用于记录运行环境与编译语言的配置目录。In some optional implementations of the present embodiment, the cloud data sending device 500 further includes: an operating environment collection unit, configured to send an operating environment acquisition request to a terminal device that can send the data acquisition request; a demand compilation language unit, configured to determine the demand compilation language corresponding to each terminal device based on the operating environment returned by each terminal device; a configuration directory generation unit, configured to determine the demand compilation language corresponding to each terminal device based on the operating environment returned by each terminal device, and generate a configuration directory for recording the operating environment and the compilation language.
在本实施例的一些可选的实现方式中,该编译语言确定单元501,包括:运行环境获取子单元,被配置成响应于接收到目标终端设备发送的数据获取请求,获取该目标终端设备的运行环境;编译语言确定子单元,被配置成根据该配置目录确定与该运行环境对应的目标编译语言。In some optional implementations of this embodiment, the compilation language determination unit 501 includes: an operating environment acquisition subunit, configured to obtain the operating environment of the target terminal device in response to receiving a data acquisition request sent by the target terminal device; and a compilation language determination subunit, configured to determine the target compilation language corresponding to the operating environment according to the configuration directory.
在本实施例的一些可选的实现方式中,该云数据下发装置500,还包括:目标编译语言更新单元,被配置成响应于从该目标终端设备返回编译语言更换请求,确定与该编译语言更换请求所对应的更新目标编译语言;存储位置更新单元,被配置成确定按各更新目标编译语言编译得到的更新目标数据的更新目标存储位置;更新调用接口返回单元,被配置成基于该更新目标存储位置生成该更新目标数据的更新数据调用接口,并将该更新数据调用接口作为请求结果返回;配置目录更新单元,被配置成将该配置目录中与该目标终端设备的运行环境所对应的编译语言更新为该更新目标编译语言。In some optional implementations of the present embodiment, the cloud data sending device 500 further includes: a target compilation language updating unit, configured to determine an updated target compilation language corresponding to the compilation language change request in response to the compilation language change request returned from the target terminal device; a storage location updating unit, configured to determine an updated target storage location of the updated target data compiled according to each updated target compilation language; an update calling interface returning unit, configured to generate an updated data calling interface of the updated target data based on the updated target storage location, and return the updated data calling interface as a request result; a configuration directory updating unit, configured to update the compilation language corresponding to the operating environment of the target terminal device in the configuration directory to the updated target compilation language.
在本实施例的一些可选的实现方式中,该云数据下发装置500,还包括:中间数据编译单元,被配置成采用不同的编译语言对该中间数据进行编译,分别生成与使用的编译语言所对应的数据,其中,该编译语言包括C++、JNI、OC中的至少一种。In some optional implementations of this embodiment, the cloud data sending device 500 also includes: an intermediate data compilation unit, which is configured to compile the intermediate data using different compilation languages, and generate data corresponding to the compilation languages used, wherein the compilation languages include at least one of C++, JNI, and OC.
本实施例作为对应于上述方法实施例的装置实施例存在,本实施例提供的云数据下发装置可通过兼容性编码、针对性编码的二层编码结构,对不同的形式的源数据结合不同的编译语言需求进行处理,以便于后续在基于数据获取请求确定目标编译语言后,可直接返回与该目标编译语言对应的目标数据的调用接口,使得数据获取端在仅上传目标编译语言后便可根据返回的调用接口调取需求的数据,达到数据获取端无需了解底层架构便可完成数据获取、降低数据获取端对于数据的获取难度的效果。This embodiment exists as an apparatus embodiment corresponding to the above-mentioned method embodiment. The cloud data sending apparatus provided by this embodiment can process source data of different forms in combination with different compilation language requirements through a two-layer coding structure of compatibility coding and targeted coding, so that after the target compilation language is determined based on the data acquisition request, the calling interface of the target data corresponding to the target compilation language can be directly returned, so that the data acquisition end can retrieve the required data according to the returned calling interface after uploading only the target compilation language, thereby achieving the effect that the data acquisition end can complete data acquisition without understanding the underlying architecture and reduce the difficulty of data acquisition for the data acquisition end.
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。FIG6 shows a schematic block diagram of an example electronic device 600 that can be used to implement an embodiment of the present disclosure. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and/or required herein.
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。As shown in Figure 6, the device 600 includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to the bus 604.
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。A number of components in the device 600 are connected to the I/O interface 605, including: an input unit 606, such as a keyboard, a mouse, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a disk, an optical disk, etc.; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information/data with other devices through a computer network such as the Internet and/or various telecommunication networks.
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如云数据下发方法。例如,在一些实施例中,云数据下发方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的云数据下发方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行云数据下发方法。The computing unit 601 may be a variety of general and/or special processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 601 performs the various methods and processes described above, such as the cloud data delivery method. For example, in some embodiments, the cloud data delivery method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 608. In some embodiments, part or all of the computer program may be loaded and/or installed on the device 600 via the ROM 602 and/or the communication unit 609. When the computer program is loaded into the RAM 603 and executed by the computing unit 601, one or more steps of the cloud data delivery method described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to execute the cloud data delivery method in any other appropriate manner (e.g., by means of firmware).
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and/or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, implements the functions/operations specified in the flow chart and/or block diagram. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communications network). Examples of communications networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大,业务扩展性弱的缺陷。服务器也可以分为分布式系统的服务器,或者是结合了区块链的服务器。A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship between the client and the server is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and virtual private servers (VPS) services. The server can also be divided into a server of a distributed system, or a server combined with a blockchain.
根据本公开实施例的技术方案,可通过兼容性编码、针对性编码的二层编码结构,对不同的形式的源数据结合不同的编译语言需求进行处理,以便于后续在基于数据获取请求确定目标编译语言后,可直接返回与该目标编译语言对应的目标数据的调用接口,使得数据获取端在仅上传目标编译语言后便可根据返回的调用接口调取需求的数据,达到数据获取端无需了解底层架构便可完成数据获取、降低数据获取端对于数据的获取难度的效果。According to the technical solution of the embodiment of the present disclosure, different forms of source data can be processed in combination with different compilation language requirements through a two-layer coding structure of compatible coding and targeted coding, so that after the target compilation language is determined based on the data acquisition request, the calling interface of the target data corresponding to the target compilation language can be directly returned, so that the data acquisition end can retrieve the required data according to the returned calling interface after only uploading the target compilation language, thereby achieving the effect that the data acquisition end can complete data acquisition without understanding the underlying architecture and reduce the difficulty of data acquisition for the data acquisition end.
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions provided by this disclosure can be achieved, and this document does not limit this.
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111355251.8ACN114051046B (en) | 2021-11-16 | 2021-11-16 | Cloud data issuing method, related device and computer program product |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111355251.8ACN114051046B (en) | 2021-11-16 | 2021-11-16 | Cloud data issuing method, related device and computer program product |
| Publication Number | Publication Date |
|---|---|
| CN114051046A CN114051046A (en) | 2022-02-15 |
| CN114051046Btrue CN114051046B (en) | 2024-08-02 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202111355251.8AActiveCN114051046B (en) | 2021-11-16 | 2021-11-16 | Cloud data issuing method, related device and computer program product |
| Country | Link |
|---|---|
| CN (1) | CN114051046B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106415496A (en)* | 2014-05-30 | 2017-02-15 | 苹果公司 | Unified intermediate representation |
| CN110032451A (en)* | 2019-04-18 | 2019-07-19 | 成都四方伟业软件股份有限公司 | Distributed multilingual message realization method, device and server |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7925967B2 (en)* | 2000-11-21 | 2011-04-12 | Aol Inc. | Metadata quality improvement |
| US7383255B2 (en)* | 2003-06-23 | 2008-06-03 | Microsoft Corporation | Common query runtime system and application programming interface |
| US8327316B2 (en)* | 2008-09-30 | 2012-12-04 | Ics Triplex Isagraf Inc. | Compilation model |
| US8832672B2 (en)* | 2011-01-28 | 2014-09-09 | International Business Machines Corporation | Ensuring register availability for dynamic binary optimization |
| CN109426528A (en)* | 2017-09-05 | 2019-03-05 | 东软集团股份有限公司 | Realize the method, apparatus and storage medium, program product of software version selection |
| CN110134378B (en)* | 2018-02-08 | 2022-02-22 | 腾讯科技(深圳)有限公司 | Application program creating method and device, computer equipment and storage medium |
| CN110619224B (en)* | 2019-08-28 | 2023-05-09 | 深圳市元征科技股份有限公司 | Data processing method and related device |
| CN110795125A (en)* | 2019-10-21 | 2020-02-14 | 上海器魂智能科技有限公司 | Software updating method, system, device and readable storage medium based on DevOps framework |
| CN113050940B (en)* | 2021-03-24 | 2025-02-21 | 百度在线网络技术(北京)有限公司 | Mini-program preview method, related device and computer program product |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106415496A (en)* | 2014-05-30 | 2017-02-15 | 苹果公司 | Unified intermediate representation |
| CN110032451A (en)* | 2019-04-18 | 2019-07-19 | 成都四方伟业软件股份有限公司 | Distributed multilingual message realization method, device and server |
| Publication number | Publication date |
|---|---|
| CN114051046A (en) | 2022-02-15 |
| Publication | Publication Date | Title |
|---|---|---|
| CN110263277B (en) | Page data display method, page data updating device, page data equipment and storage medium | |
| CN112015468B (en) | Interface document processing method and device, electronic equipment and storage medium | |
| CN113419865B (en) | Cloud resource processing method, related device and computer program product | |
| CN113923474B (en) | Video frame processing method, device, electronic device and storage medium | |
| CN113626512A (en) | Data processing method, device, equipment and readable storage medium | |
| CN113642295B (en) | Page typesetting method, device and computer program product | |
| CN113617020B (en) | Game control method, device, storage medium, server and terminal | |
| CN114371838A (en) | A kind of applet canvas rendering method, device, device and storage medium | |
| CN118708161A (en) | Software design framework and user instruction processing method based on generative large language model and intelligent agent | |
| CN113724398A (en) | Augmented reality method, apparatus, device and storage medium | |
| CN107643906A (en) | Data processing method and device | |
| CN114051046B (en) | Cloud data issuing method, related device and computer program product | |
| CN111913711B (en) | Video rendering method and device | |
| CN114157917A (en) | Video editing method and device and terminal equipment | |
| CN114095758B (en) | Cloud image intercepting method and related device | |
| CN111177558B (en) | Channel service construction method and device | |
| CN115934076B (en) | Cross-platform client micro-service providing device and method and electronic equipment | |
| CN113836455B (en) | Special effects rendering method, device, equipment, storage medium and computer program product | |
| CN117270862A (en) | Software pluggable method, device, equipment and medium based on dynamic compiling | |
| CN117785165A (en) | Chart generation method and device based on large model and electronic equipment | |
| CN112596729B (en) | Target application interface generation method and device, readable medium and electronic device | |
| WO2023169193A1 (en) | Method and device for generating smart contract | |
| CN114221940B (en) | Audio data processing method, system, device, equipment and storage medium | |
| CN112052224B (en) | File export method and device | |
| CN116521279A (en) | Service calling method, service generating method, device, equipment and medium |
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |