CN106354832A - 一种数据发布方法、设备及系统 - Google Patents

一种数据发布方法、设备及系统 Download PDF

Info

Publication number
CN106354832A
CN106354832A CN201610781493.6A CN201610781493A CN106354832A CN 106354832 A CN106354832 A CN 106354832A CN 201610781493 A CN201610781493 A CN 201610781493A CN 106354832 A CN106354832 A CN 106354832A
Authority
CN
China
Prior art keywords
plug
unit
client app
app
media data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610781493.6A
Other languages
English (en)
Other versions
CN106354832B (zh
Inventor
容金松
许杰锋
陈焯浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Pinwei Software Co Ltd
Original Assignee
Guangzhou Pinwei Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Pinwei Software Co Ltd filed Critical Guangzhou Pinwei Software Co Ltd
Priority to CN201610781493.6A priority Critical patent/CN106354832B/zh
Publication of CN106354832A publication Critical patent/CN106354832A/zh
Application granted granted Critical
Publication of CN106354832B publication Critical patent/CN106354832B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种数据发布方法、设备及系统,属于互联网数据处理领域。所述方法包括:服务端获取客户端app的版本号或标识;服务端根据客户端app的版本号或标识,查找是否有与客户端app相符的插件,若查找到符合客户端app的插件,则向所述客户端app发送插件;客户端app加载插件,并通过插件加载媒体数据;若没有查找到符合app的插件,则向客户端app发送提示信息,客户端app通过本地插件加载媒体数据。从而能够根据客户端app的当前配置使用不同的插件,以加载媒体数据,实现了插件的灵活配置,增加了app的扩展性,提高了媒体数据展示的流畅性及界面效果,使得客户端app用户的使用体验更佳。

Description

一种数据发布方法、设备及系统
技术领域
本发明涉及网络数据处理领域,特别涉及一种数据发布方法、设备及系统。
背景技术
随着计算机技术的快速发展,大量的app也应用而生,开发商常常需要针对特定业务对app的功能进行更改,或通过app发布特定媒体数据。为了解决上述问题,在app开发过程中引入了插件,能够通过对插件的修改、配置改变以增加app的功能,通过设计相应的插件程序可以快速满足开发商及用户的业务需求。
现有技术中,在app中进行广告等业务发布可以通过Web发布,属于很成熟的技术,应用十分广泛;另外,随着技术的发展,近几年Facebook推出的React Native技术也越来越多的用于广告等业务,该技术的既能使用Native API又能够像Web一样通过在服务端部署JS,在App端加载显示。
但是,通过Web虽然能够做到灵活配置和修改,动态刷新,但是Web在手机app端运行时不够流畅,且占用资源高,以及无法使用丰富的native API,对于一般简单图片展示可以使用,对于一些UI元素丰富的数据展示效果明显下降;基于React Native虽然相较于Web虽然可以使用Native API,但受版本限制,且该技术的扩展性相对Web较差。
发明内容
为了提高客户端app的扩展性,提高数据发布的流畅性及界面显示效果,满足开发商灵活修改app的界面及发布数据的需求,本发明实施例提供了一种数据发布方法、设备及系统。所述技术方案如下:
第一方面,提供了一种数据发布方法,所述方法包括:
服务端获取客户端app的版本号或标识;
所述服务端根据所述客户端app的版本号或标识,查找是否有与所述客户端app相符的插件,若查找到符合所述客户端app的插件,则所述服务端向所述客户端app发送所述插件;
所述客户端app获取媒体数据;
所述客户端app加载所述插件,并通过所述插件加载所述媒体数据;
若所述服务端没有查找到符合所述客户端app的插件,则所述服务端向所述客户端app发送提示信息,以及所述客户端app通过本地插件加载所述媒体数据。
结合第一方面,在第一种可能实现的方式中,所述客户端app加载所述插件包括:
所述客户端app下载所述插件;
若下载成功,则所述客户端app对下载的所述插件进行安全校验;
若下载不成功,则所述服务端执行向所述客户端app发送提示信息,以及所述客户端app通过本地插件加载所述媒体数据的步骤;
其中,若安全校验成功,则所述客户端app设置所述插件的初始化接口;
若安全校验失败,则所述服务端执行向所述客户端app发送提示信息,以及所述客户端app通过本地插件加载所述媒体数据的步骤。
结合第一方面的第一种可能实现的方式,在第二种可能实现的方式中,所述客户端app通过所述插件加载所述媒体数据包括:
通过所述初始化接口,在所述客户端app加载所述媒体数据。
结合第一方面,在第三种可能实现的方式中,所述客户端app通过本地插件加载所述媒体数据包括:
所述客户端app获取所述本地插件的ID;以及
获取处理后的所述媒体数据,并通过固定接口在所述客户端app加载处理后的所述媒体数据。
结合第一方面,在第四种可能实现的方式中,所述服务端根据所述客户端app的版本号或标识,查找是否有与所述客户端app相符的插件包括:
所述服务端根据所述客户端app的版本号或标识,确定所述客户端app是否为最新版本;
若确定所述客户端app版本为最新版本,则执行向所述客户端app发送所述插件的步骤;
若确定所述客户端app不是最新版本,则执行向所述客户端app发送提示信息的步骤。
结合第一方面或第一方面的第四种可能实现的方式,在第五种可能实现的方式中,所述提示信息包括提示所述客户端app当前版本不是最新版本、所述客户端app当前版本与所述插件不兼容、继续使用当前版本的风险信息以及更新所述客户端app版本的流程信息中的至少一个。
结合第一方面的第三种可能实现的方式,在第六种可能实现的方式中,通过以下方式之一,获取所述处理后的所述媒体数据:
所述客户端app提取所述媒体数据中与所述本地插件相符的数据;或者
所述客户端app将所述媒体数据转换为与所述本地插件相符的数据;或者
所述服务器提取所述媒体数据中与所述本地插件相符的数据,或所述服务将所述媒体数据转换为与所述本地插件相符的数据之后,所述服务器将所述与所述本地插件相符的数据发送至所述客户端app。
第二方面,提供了一种服务端设备,所述服务端设备包括:
客户端app版本号或标识获取模块,用于获取客户端app的版本号或标识;
查找模块,用于根据所述客户端app的版本号或标识,查找是否有与所述客户端app相符的插件;
插件发送模块,用于当所述查找模块查找到符合所述客户端app的插件时,向所述客户端app发送所述插件;
媒体数据发送模块,用于向所述客户端app发送媒体数据;
提示信息发送模块,用于当查找模块没有查找到符合所述app的插件时,向所述客户端app发送提示信息。
结合第二方面,在第一种可能实现的方式中,所述查找模块包括:
确定模块,用于根据所述客户端app的版本号或标识,确定所述客户端app是否为最新版本;
若所述确定模块确定所述客户端app版本为最新版本,则所述插件发送模块执行向所述客户端app发送所述插件的步骤;
若所述确定模块确定所述客户端app不是最新版本,则所述提示信息发送模块执行向所述客户端app发送提示信息的步骤。
结合第二方面或第二方面的第一种可能实现的方式,在第二种可能实现的方式中,所述提示信息包括提示所述客户端app当前版本不是最新版本、所述客户端app当前版本与所述插件不兼容、继续使用当前版本的风险信息以及更新所述客户端app版本的流程信息中的至少一个。
结合第二方面,在第三种可能实现的方式中,所述服务端设备还包括:
媒体数据提取模块,用于提取所述媒体数据中与所述本地插件相符的数据;
媒体数据转换模块,用于所述服务器提取所述媒体数据,将所述媒体数据转换为与所述本地插件相符的数据;
处理后数据发送模块,用于将所述数据提取模块提取的,或者所述数据转换模块转换的所述与所述本地插件相符的数据发送至所述客户端app。
第三方面,提供了一种客户端设备,所述客户端设备至少包括一个app,并能够运行所述app,所述客户端设备包括:
插件接收模块,用于接收服务端设备发送的插件;
媒体数据获取模块,用于获取服务端设备发送的媒体数据;
插件加载模块,用于加载所述插件;
第一媒体数据加载模块,用于通过所述插件加载所述媒体数据;
提示信息接收模块,用于接收服务端设备发送的提示信息;
第二媒体数据加载模块,用于通过本地插件加载所述媒体数据。
结合第三方面,在第一种可能实现的方式中,所述插件加载模块包括:
插件下载模块,用于下载所述插件;
安全校验模块,用于当所述插件下载模块下载成功时,对下载的所述插件进行安全校验;
当所述插件下载模块下载不成功时,执行所述提示信息接收模块接收服务端设备发送的提示信息,以及所述第二媒体数据加载模块通过本地插件加载所述媒体数据的操作;
插件初始化接口设置模块,用于当所述安全校验模块校验成功时,设置所述插件的初始化接口;
当所述安全校验模块校验不成功时,执行所述提示信息接收模块接收服务端设备发送的提示信息,以及所述第二媒体数据加载模块通过所述本地插件加载所述媒体数据的操作。
结合第三方面的第一种可能实现的方式,在第二种可能实现的方式中,所述第一媒体数据加载模块具体用于:
通过所述初始化接口,在所述客户端app加载所述媒体数据。
结合第三方面,在第三种可能实现的方式中,所述第二媒体数据加载模块包括:
本地插件ID获取模块,用于获取所述本地插件的ID;
处理后媒体数据获取模块,用于获取处理后的所述媒体数据;
处理后媒体数据加载模块,用于通过固定接口加载处理后的所述媒体数据。
结合第三方面的第三种可能实现的方式,在第四种可能实现的方式中,所述处理后媒体数据获取模块还包括:
媒体数据提取模块,用于提取所述媒体数据中与所述本地插件相符的数据;
媒体数据转换模块,用于将所述媒体数据转换为与所述本地插件相符的数据。
第四方面,提供了一种基于插件的数据发布系统,所述系统至少包括服务端设备和一个客户端设备,所述客户端设备至少包括一个app,并能够运行所述app,所述服务端设备与所述客户端app通过网络进行数据交互,其中,
所述服务端设备包括:
客户端app版本号或标识获取模块,用于获取客户端app的版本号或标识;
查找模块,用于根据所述客户端app的版本号或标识,查找是否有与所述客户端app相符的插件;
插件发送模块,用于当所述查找模块查找到符合所述客户端app的插件时,向所述客户端app发送所述插件;
媒体数据发送模块,用于向所述客户端app发送媒体数据;
提示信息发送模块,用于当查找模块没有查找到符合所述app的插件时,向所述客户端app发送提示信息;
所述客户端设备包括:
插件接收模块,用于接收服务端设备发送的插件;
媒体数据获取模块,用于获取服务端设备发送的媒体数据;
插件加载模块,用于加载所述插件;
第一媒体数据加载模块,用于通过所述插件加载所述媒体数据;
提示信息接收模块,用于接收服务端设备发送的提示信息;
第二媒体数据加载模块,用于通过本地插件加载所述媒体数据。
结合第四方面,在第一种可能实现的方式中,所述插件加载模块包括:
插件下载模块,用于下载所述插件;
安全校验模块,用于当所述插件下载模块下载成功时,对下载的所述插件进行安全校验;
当所述插件下载模块下载不成功时,执行所述提示信息发送模块向所述客户端app发送提示信息,所述提示信息接收模块接收所述服务端设备发送的提示信息,以及所述第二媒体数据加载模块通过本地插件加载所述媒体数据的操作;
插件初始化接口设置模块,用于当所述安全校验模块校验成功时,设置所述插件的初始化接口;
当所述安全校验模块校验不成功时,执行所述提示信息发送模块向所述客户端app发送提示信息,所述提示信息接收模块接收所述服务端设备发送的提示信息,以及所述第二媒体数据加载模块通过本地插件加载所述媒体数据的操作。
结合第四方面的第一种可能实现的方式,在第二种可能实现的方式中,所述第一媒体数据加载模块具体用于:
通过所述初始化接口,在所述客户端app加载所述媒体数据。
结合第四方面,在第三种可能实现的方式中,所述第二媒体数据加载模块包括:
本地插件ID获取模块,用于获取所述本地插件的ID;
处理后媒体数据获取模块,用于获取处理后的所述媒体数据;
处理后媒体数据加载模块,用于通过固定接口加载处理后的所述媒体数据。
结合第四方面,在第四种可能实现的方式中,所述查找模块包括:
确定模块,用于根据所述客户端app的版本号或标识,确定所述客户端app是否为最新版本;
若所述确定模块确定所述客户端app版本为最新版本,则所述插件发送模块执行向所述客户端app发送所述插件的步骤;
若所述确定模块确定所述客户端app不是最新版本,则所述提示信息发送模块执行向所述客户端app发送提示信息的步骤。
结合第四方面或第四方面的第四种可能实现的方式,在第五种可能实现的方式中,所述提示信息包括提示所述客户端app当前版本不是最新版本、所述客户端app当前版本与所述插件不兼容、继续使用当前版本的风险信息以及更新所述客户端app版本的流程信息中的至少一个。
结合第四方面的第三种可能实现的方式,在第六种可能实现的方式中,
所述服务端设备还包括:
第一媒体数据提取模块,用于提取所述媒体数据中与所述本地插件相符的数据;
第一媒体数据转换模块,用于所述服务器提取所述媒体数据,将所述媒体数据转换为与所述本地插件相符的数据;
处理后数据发送模块,用于将所述数据提取模块提取的,或者所述数据转换模块转换的所述与所述本地插件相符的数据发送至所述客户端app;
所述处理后媒体数据获取模块包括:
处理后数据接收模块,用于接收所述服务端设备发送的与所述本地插件相符的数据。
第二媒体数据提取模块,用于提取所述媒体数据中与所述本地插件相符的数据;
第二媒体数据转换模块,用于将所述媒体数据转换为与所述本地插件相符的数据。
本发明实施例提供了一种数据发布方法、设备及系统。方法通过服务端获取客户端app的版本号或标识;服务端根据客户端app的版本号或标识,查找是否有与客户端app相符的插件,若查找到符合客户端app的插件,则向客户端app发送插件;客户端app获取媒体数据;客户端app加载插件,并通过插件加载媒体数据;若服务端没有查找到符合app的插件,则服务端向客户端app发送提示信息,以及客户端app通过本地插件加载媒体数据。从而当服务端查找到插件时,向客户端app发送插件,且客户端获取媒体数据,客户端app加载插件,并通过插件加载媒体数据,这样实现了插件的灵活配置,因为插件是针对特定媒体数据开发,所以通过加载插件,再加载媒体数据,提高了该媒体数据在客户端app展示的流畅性;且通过加载插件加载媒体数据,使得界面元素丰富的媒体数据能够良好展示,从而提高了界面的显示效果,提高了客户端app用户的使用体验;同时,当没有查找到符合app的插件时,客户端app通过本地插件加载媒体数据,从而仍然能够使得客户端app加载媒体数据,满足了开发商及时向用户推送媒体数据的需求,且因客户端app的媒体数据展示的流程性及界面效果均较佳,使得用户更愿意访问该客户端app发布的媒体数据。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据发布方法流程图;
图2是本发明实施例提供的一种数据发布方法流程图;
图3是本发明实施例提供的客户端设备结构示意图;
图4是本发明实施例提供的服务端设备结构示意图;
图5是本发明实施例提供的一种数据发布系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种数据发布方法,参照图1所示,方法包括:
101、服务端获取客户端app的版本号或标识。
102、服务端根据客户端app的版本号或标识,查找是否有与客户端app相符的插件,若查找到符合客户端app的插件,则执行步骤103-105;若服务端没有查找到符合app的插件,则执行步骤106-107。
103、服务端向客户端app发送插件。
可选的,步骤103之前,方法还可以包括:
当服务端查找到与客户端app相符的插件时,服务端向客户端发送第一确认信息。
具体的,第一确认信息至少用于确认客户端app是否在当前时刻获取该插件。
104、客户端app获取媒体数据。
具体的,开发商通过服务端发布媒体数据,客户端app通过网络获取媒体数据。
105、客户端app加载插件,并通过插件加载媒体数据。
具体的,客户端app加载插件的过程可以包括:
客户端app下载插件;
若下载成功,则客户端app对下载的插件进行安全校验;
若下载不成功,则执行106-107的步骤;
其中,若安全校验成功,则客户端app设置插件的初始化接口;
若安全校验失败,则执行106-107的步骤。
其中,客户端app通过插件加载媒体数据的过程可以包括:
通过初始化接口,在客户端app加载媒体数据。
106、服务端向客户端app发送提示信息。
具体的,提示信息包括提示客户端app当前版本不是最新版本、客户端app当前版本与插件不兼容、继续使用当前版本的风险信息以及更新客户端app版本的流程信息中的至少一个。
可选的,步骤106还可以包括:
当服务端没有查找到符合客户端app的插件时,服务端向客户端app发送第二确认信息
具体的,第二确认信息至少包括提示信息,服务端向客户端app发送第二确认信息包括服务端向客户端app返回提示客户端app当前版本不是最新版本、客户端app当前版本与插件不兼容、继续使用当前版本的风险信息以及更新客户端app版本的流程信息中的至少一个。
107、客户端app通过本地插件加载媒体数据。
具体的,该过程可以包括:
客户端app获取本地插件的ID;以及
获取处理后的媒体数据,并通过固定接口在客户端app加载处理后的媒体数据。
其中,通过以下方式之一,获取处理后的媒体数据:
客户端app提取媒体数据中与本地插件相符的数据;或者
客户端app将媒体数据转换为与本地插件相符的数据;或者
服务器提取媒体数据中与本地插件相符的数据,或服务将媒体数据转换为与本地插件相符的数据之后,服务器将与本地插件相符的数据发送至客户端app。
可选的,服务端根据请求中包含的app的版本号或标识查找是否有与app相符的插件的过程可以包括:
服务端根据请求中包含的app的版本号或标识,确定app是否为最新版本;
若确定app版本为最新版本,则执行103步骤;
具体的,可以执行103-105步骤。
若确定app不是最新版本,则执行106步骤;
具体的,可以执行106-107步骤。
本发明实施例提供了一种数据发布方法,通过当服务端查找到插件时,向客户端app发送插件,且客户端获取媒体数据,客户端app加载插件,并通过插件加载媒体数据,这样实现了插件的灵活配置,因为插件是针对特定媒体数据开发,所以通过加载插件,再加载媒体数据,提高了该媒体数据在客户端app展示的流畅性;且通过加载插件加载媒体数据,使得界面元素丰富的媒体数据能够良好展示,从而提高了界面的显示效果,提高了客户端app用户的使用体验;同时,当没有查找到符合app的插件时,客户端app通过本地插件加载媒体数据,从而仍然能够使得客户端app加载媒体数据,满足了开发商及时向用户推送媒体数据的需求,且因客户端app的媒体数据展示的流程性及界面效果均较佳,使得用户更愿意访问该客户端app发布的媒体数据。
实施例二
本发明实施例提供了一种数据发布方法,参照图2所示,方法包括:
201、服务端获取客户端app的版本号或标识。
具体的,该过程可以包括:
该客户端app开启运行时,向服务端发送客户端app的版本号或标识;或者
该客户端app定时向服务端发送客户端app的版本号或标识;
其中,客户端app向服务端发送的版本号或标识可以是仅包括版本号或标识的数据包,也可以是包含在向服务端发送的数据请求的数据包中,服务端通过该数据请求的数据包获取客户端app的版本号或标识。
该服务端收到该客户端版app的版本号或标识后,对该客户端app版本号或标识进行标记和存储,以及若该客户端app为注册用户,将该客户端app版本号或标识与注册账号进行对应。
其中,服务端获取客户端app发送的版本号或标识的过程还可以包括:
服务端在与客户端app的进行其他数据信息交互过程中主动获取客户端app的版本号或标识。
服务端通过主动获取客户端app的版本号或标识,方便了开发商通过app进行数据发布,因为服务端获取了客户端app的版本号或标识后,能够针对不同版本客户端app进行数据发布,使得不同版本的客户端app均能够及时更新获取发布的数据,避免了因为版本不同数据不能被及时更新的问题,满足了开发商推送媒体数据及时被用户获取的需求。
通过在客户端app开启运行时或定时向服务端设备发送获取数据的请求后,服务端获取该客户端app的版本号或标识,这样提高了客户端app账号的安全性,避免了有些情况下客户端app用户不愿获取服务端不断推送的媒体数据或消息的问题。
202、服务端根据客户端app的版本号或标识,查找是否有与客户端app相符的插件,若查找到符合客户端app的插件,则执行步骤203-208;若服务端没有查找到符合app的插件,则执行步骤209-2010。
具体的,该过程可以包括:
服务端根据客户端app的版本号或标识,查找是否有与客户端app的版本相符的插件,若查找到符合客户端app的版本的插件,则执行步骤203-208;若服务端没有查找到符合app版本的插件,则执行步骤209-2010。
其中,该插件可以包括多个;
该包括多个的情况可以包括开发商针对不同版本开发的插件,即为与每种客户端app版本对应的插件;也可以包括针对不同媒体数据开发的插件,即开发商可以对同时发布的多个业务分别开发对应的插件。
该插件也可以是针对客户端app最新版本的插件。
具体的,查找的过程可以包括:
服务端从存储的插件中查找;或者
服务端从新发布的插件中进行查找;或者
服务端根据发布的媒体数据,查找与该媒体数据匹配的插件;该媒体数据为当前所要发布的数据,开发商针对所要发布的媒体数据,开发适用不同客户端app的插件。
可选的,该服务端根据请求中包含的app的版本号或标识查找是否有与app相符的插件的过程之前,方法还可以包括:
服务端根据请求中包含的app的版本号或标识,确定客户端app是否为最新版本。
具体的,当确定该客户端app版本为最新版本时,查找是否有与客户端app最新版本相符的插件,若查找到符合客户端app最新版本的插件,则执行步骤203-208;若服务端没有查找到符合app最新版本的插件,则执行步骤209-2010;
当确定该客户端app不是最新版本时,则执行209-2010步骤。
其中,在该可选过程中,插件可以仅与客户端app的最新版本对应。
通过插件仅与客户端app的最新版本对应,避免了要对不同版本开发插件,耗费人力、精力及开发成本的问题,以及插件过多的问题,同时避免了插件过多造成的数据冗余、增加服务端设备负荷的问题。
203、服务端向客户端app发送插件。
可选的,步骤203之前,方法还包括:
当服务端查找到与客户端app相符的插件时,服务端向客户端发送第一确认信息。
具体的,第一确认信息至少用于确认客户端app是否在当前时刻获取插件;
当该客户端app向服务端发送确认在当前时刻获取插件的消息后,该服务端向客户端发送该插件;
当该客户端app向服务端发送拒绝在当前时刻获取该插件的消息后,该服务端不向客户端发送插件,并向客户端app发送获取插件的时间及途径的消息。
204、客户端app获取媒体数据。
该媒体数据包括广告数据,视频数据,推送消息数据以及服务端与客户端app进行交互所需的其他数据,本发明实施例对媒体数据不加以限定。
具体的,开发商通过服务端发布媒体数据,客户端app通过网络获取媒体数据。
需要说明的是,步骤204可以是在205之前执行,也可以是在208之前执行,本发明实施例对具体的204的执行顺序不加以限定。
205、客户端app下载插件,若下载成功,则执行206步骤;若下载不成功,则执行209-2010的步骤。
具体的,该客户端app可以运行Android系统,该插件可以是一个打包好的Android应用安装包,比如.apk安装包,下载插件即下载该打包好的apk安装包。
其中,客户端app下载插件的过程可以是:该客户端app通过用户触发的下载指令下载插件,也可以是该客户端app自动下载该插件,自动下载可以是在后台进行。
206、客户端app对下载的插件进行安全校验,若安全校验成功,则执行步骤207;若安全校验失败,则执行209-2010的步骤。
对下载的插件进行安全校验的过程可以包括:
通过md5(message-digest algorithm 5,信息-摘要算法)校验法进行校验。
具体的,通过md5校验工具进行校验,将下载的插件的md5码与发布的插件的md5码进行比对,如果相同,则校验成功;若果不相同,则校验失败,校验失败后查找校验失败的原因,若发现该插件被修改,则服务端重新进行插件的发布。
对下载的插件进行安全校验的过程还可以包括:
通过数字证书签名进行校验。
本发明实施例对具体的通过数字证书签名进行校验的方式不加以限定。
除了上述方式之外,还可以通过其他方法进行安全校验,本发明实施例对具体的安全校验的方式不加以限定。
通过对下载客户端app进行安全校验,防止了插件被篡改,提高了下载的插件的安全性与可靠性。
207、客户端app设置插件的初始化接口。
具体的,可以使用DexClassLoader将apk加载到内存,然后按照预先预定好的协议,该协议指定了固定的入口class文件,通过DexClassLoader设定该插件的入口class文件,即在客户端设置插件的初始化接口。
示例性的,若该插件为广告插件,则该过程可以是:按照预先预定好的协议,加载该广告插件实例化入口Fragment,并将Fragment添加到界面中。
需要说明的是,步骤205-207是实现客户端app加载插件的过程,除了上述方式之外,还可以通过其他方式实现该过程,本发明实施例对具体的方式不加以限定。
208、客户端app通过插件加载媒体数据。
该过程可以包括:
通过初始化接口,在客户端app加载媒体数据。
具体的,该插件通过网络接口请求媒体数据,将媒体数据填入到Tata Adapter,Tata Adapter将该媒体数据填充到界面元素中,完成媒体数据的展示。
209、服务端向客户端app发送提示信息。
具体的,提示信息包括提示客户端app当前版本不是最新版本、客户端app当前版本与插件不兼容、继续使用当前版本的风险信息以及更新客户端app版本的流程信息中的至少一个。
可选的,步骤209还可以包括:
当服务端没有查找到符合客户端app的插件时,服务端向客户端app发送第二确认信息。
该第二确认信息至少包括提示信息,服务端向客户端app发送第二确认信息包括服务端向客户端app返回提示客户端app当前版本不是最新版本、客户端app当前版本与插件不兼容、继续使用当前版本的风险信息以及更新客户端app版本的流程信息中的至少一个。
2010、客户端app通过本地插件加载媒体数据。
具体的,该过程可以包括:
客户端app获取本地插件的ID;以及
获取处理后的媒体数据,并通过固定接口在客户端app加载处理后的媒体数据。
其中,通过以下方式之一,获取处理后的媒体数据:
客户端app提取媒体数据中与本地插件相符的数据;或者
客户端app将媒体数据转换为与本地插件相符的数据;或者
服务器提取媒体数据中与本地插件相符的数据,或服务将媒体数据转换为与本地插件相符的数据之后,服务器将与本地插件相符的数据发送至客户端app。
本发明实施例提供了一种数据发布方法,通过当服务端查找到插件时,向客户端app发送插件,且客户端获取媒体数据,客户端app加载插件,并通过插件加载媒体数据,这样实现了插件的灵活配置,因为插件是针对特定媒体数据开发,所以通过加载插件,再加载媒体数据,提高了该媒体数据在客户端app展示的流畅性;且通过加载插件加载媒体数据,使得界面元素丰富的媒体数据能够良好展示,从而提高了界面的显示效果,提高了客户端app用户的使用体验;同时,当没有查找到符合app的插件时,客户端app通过本地插件加载媒体数据,从而仍然能够使得客户端app加载媒体数据,满足了开发商及时向用户推送媒体数据的需求,且因客户端app的媒体数据展示的流程性及界面效果均较佳,使得用户更愿意访问该客户端app发布的媒体数据。
实施例三
本发明实施例提供了一种服务端设备3,参照图3所示,该服务端设备包括:
客户端app版本号或标识获取模块31,用于获取客户端app的版本号或标识;
查找模块32,用于根据客户端app的版本号或标识,查找是否有与客户端app相符的插件;
插件发送模块33,用于当查找模块查找到符合客户端app的插件时,向客户端app发送该插件;
媒体数据发送模块34,用于向客户端app发送媒体数据;
提示信息发送模块35,用于当查找模块没有查找到符合app的插件时,向客户端app发送提示信息。
可选的,查找模块32包括:
确定模块321,用于根据客户端app的版本号或标识,确定客户端app是否为最新版本;
若确定模块321确定客户端app版本为最新版本,则插件发送模块33执行向客户端app发送该插件的步骤;
若确定模块321确定客户端app不是最新版本,则提示信息发送模块35执行向客户端app发送提示信息的步骤。
可选的,提示信息包括提示客户端app当前版本不是最新版本、客户端app当前版本与插件不兼容、继续使用当前版本的风险信息以及更新客户端app版本的流程信息中的至少一个。
可选的,服务端设备3还包括:
媒体数据提取模块36,用于提取媒体数据中与本地插件相符的数据;
媒体数据转换模块37,用于服务器提取媒体数据,将媒体数据转换为与本地插件相符的数据;
处理后数据发送模块38,用于将数据提取模块提取的,或者数据转换模块转换的与本地插件相符的数据发送至客户端app。
本发明实施例提供了一种服务端设备,该设备通过当查找到插件时,向客户端app发送插件,且向客户端设备发送媒体数据,使得客户端app加载插件,并通过插件加载媒体数据,这样实现了客户端app插件的灵活配置;另外,因为插件是针对特定媒体数据开发,所以通过加载插件,再加载媒体数据,提高了该媒体数据在客户端app展示的流畅性,且使得客户端设备通过加载插件加载媒体数据,使得界面元素丰富的媒体数据能够良好展示,从而提高了客户端app界面的显示效果,提高了客户端app用户的使用体验;同时,当没有查找到符合app的插件时,该服务端设备仍然发送媒体数据,而客户端app通过本地插件加载媒体数据,从而仍然能够使得客户端app加载媒体数据,满足了开发商及时向用户推送媒体数据的需求,且因客户端app的媒体数据展示的流程性及界面效果均较佳,使得用户更愿意访问该客户端app发布的媒体数据,提高了服务端设备发布媒体数据的效率。
实施例四
本发明实施例提供了一种客户端设备,该客户端设备4至少包括一个app,并能够运行该app,参照图4所示,该客户端设备4包括:
插件接收模块41,用于接收服务端设备发送的插件;
媒体数据获取模块42,用于获取服务端设备发送的媒体数据;
插件加载模块43,用于加载插件;
第一媒体数据加载模块44,用于通过插件加载媒体数据;
提示信息接收模块45,用于接收服务端设备发送的提示信息;
第二媒体数据加载模块46,用于通过本地插件加载媒体数据。
可选的,插件加载模块43包括:
插件下载模块431,用于下载插件;
安全校验模块432,用于当插件下载模块431下载成功时,对下载的插件进行安全校验;
当插件下载模块431下载不成功时,执行提示信息接收模块45接收服务端设备发送的提示信息,以及第二媒体数据加载模块46通过本地插件加载媒体数据的操作;
插件初始化接口设置模块433,用于当安全校验模块432校验成功时,设置插件的初始化接口;
当安全校验模块432校验不成功时,执行提示信息接收模块45接收服务端设备发送的提示信息,以及第二媒体数据加载模块46通过本地插件加载媒体数据的操作。
可选的,第一媒体数据加载模块44具体用于:
通过初始化接口,在客户端app加载媒体数据。
可选的,第二媒体数据加载模块46包括:
本地插件ID获取模块461,用于获取本地插件的ID;
处理后媒体数据获取模块462,用于获取处理后的媒体数据;
处理后媒体数据加载模块463,用于通过固定接口加载处理后的媒体数据。
可选的,处理后媒体数据获取模块462还包括:
媒体数据提取模块4621,用于提取媒体数据中与本地插件相符的数据;
媒体数据转换模块4622,用于将媒体数据转换为与本地插件相符的数据。
实施例五
本发明实施例提供了一种数据发布系统5,系统至少包括服务端设备51和一个客户端设备52,客户端设备52至少包括一个app,并能够运行app,服务端设备51与客户端app通过网络进行数据交互,其中,
服务端设备51包括:
客户端app版本号或标识获取模块511,用于获取客户端app的版本号或标识;
查找模块512,用于根据客户端app的版本号或标识,查找是否有与客户端app相符的插件;
插件发送模块513,用于当查找模块查找到符合客户端app的插件时,向客户端app发送插件;
媒体数据发送模块514,用于向客户端app发送媒体数据;
提示信息发送模块515,用于当查找模块没有查找到符合app的插件时,向客户端app发送提示信息;
客户端设备52包括:
插件接收模块521,用于接收服务端设备发送的插件;
媒体数据获取模块522,用于获取服务端设备发送的媒体数据;
插件加载模块523,用于加载插件;
第一媒体数据加载模块524,用于通过插件加载媒体数据;
提示信息接收模块525,用于接收服务端设备发送的提示信息;
第二媒体数据加载模块526,用于通过本地插件加载媒体数据。
可选的,插件加载模块523包括:
插件下载模块5231,用于下载插件;
安全校验模块5232,用于当插件下载模块5231下载成功时,对下载的插件进行安全校验;
当插件下载模块5231下载不成功时,执行提示信息发送模块515向客户端app发送提示信息,提示信息接收模块525接收服务端设备发送的提示信息,以及第二媒体数据加载模块526通过本地插件加载媒体数据的操作;
插件初始化接口设置模块5233,用于当安全校验模块5232校验成功时,设置插件的初始化接口;
当安全校验模块5232校验不成功时,执行提示信息发送模块515向客户端app发送提示信息,提示信息接收模块525接收服务端设备发送的提示信息,以及第二媒体数据加载模块526通过本地插件加载媒体数据的操作。
可选的,第一媒体数据加载模块524具体用于:
通过初始化接口,在客户端app加载媒体数据。
可选的,第二媒体数据加载模块526包括:
本地插件ID获取模块5261,用于获取本地插件的ID;
处理后媒体数据获取模块5262,用于获取处理后的媒体数据;
处理后媒体数据加载模块5263,用于通过固定接口加载处理后的媒体数据。
可选的,查找模块512包括:
确定模块5121,用于根据客户端app的版本号或标识,确定客户端app是否为最新版本;
若确定模块5121确定客户端app版本为最新版本,则插件发送模块513执行向客户端app发送该插件的步骤;
若确定模块5121确定客户端app不是最新版本,则提示信息发送模块515执行向客户端app发送提示信息的步骤。
可选的,提示信息包括提示客户端app当前版本不是最新版本、客户端app当前版本与插件不兼容、继续使用当前版本的风险信息以及更新客户端app版本的流程信息中的至少一个。
可选的,
服务端设备51还包括:
第一媒体数据提取模块516,用于提取媒体数据中与本地插件相符的数据;
第一媒体数据转换模块517,用于服务器提取媒体数据,将媒体数据转换为与本地插件相符的数据;
处理后数据发送模块518,用于将数据提取模块提取的,或者数据转换模块转换的与本地插件相符的数据发送至客户端app;
处理后媒体数据获取模块5262还包括:
处理后数据接收模块52621,用于接收服务端设备发送的与本地插件相符的数据。
第二媒体数据提取模块52622,用于提取媒体数据中与本地插件相符的数据;
第二媒体数据转换模块52623,用于将媒体数据转换为与本地插件相符的数据。
本发明实施例提供了一数据发布系统,该系统中通过当服务端查找到插件时,向客户端app发送插件,且客户端获取媒体数据,客户端app加载插件,并通过插件加载媒体数据,这样实现了插件的灵活配置,因为插件是针对特定媒体数据开发,所以通过加载插件,再加载媒体数据,提高了该媒体数据在客户端app展示的流畅性;且客户端app通过加载插件加载媒体数据,使得界面元素丰富的媒体数据能够良好展示,从而提高了界面的显示效果,提高了客户端app用户的使用体验;同时,当服务端设备没有查找到符合app的插件时,客户端app通过本地插件加载媒体数据,从而仍然能够使得客户端app加载媒体数据,满足了开发商及时向用户推送媒体数据的需求,且因客户端app的媒体数据展示的流程性及界面效果均较佳,使得用户更愿意访问该客户端app发布的媒体数据。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的客户端设备及服务端设备在基于插件的数据发布方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的客户端设备及服务端设备与基于插件的数据发布方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据发布方法,其特征在于,所述方法包括:
服务端获取客户端app的版本号或标识;
所述服务端根据所述客户端app的版本号或标识,查找是否有与所述客户端app相符的插件,若查找到符合所述客户端app的插件,则所述服务端向所述客户端app发送所述插件;
所述客户端app获取媒体数据;
所述客户端app加载所述插件,并通过所述插件加载所述媒体数据;
若所述服务端没有查找到符合所述客户端app的插件,则所述服务端向所述客户端app发送提示信息,以及所述客户端app通过本地插件加载所述媒体数据。
2.根据权利要求1所述的方法,其特征在于,所述客户端app加载所述插件包括:
所述客户端app下载所述插件;
若下载成功,则所述客户端app对下载的所述插件进行安全校验;
若下载不成功,则所述服务端执行向所述客户端app发送提示信息,以及所述客户端app通过本地插件加载所述媒体数据的步骤;
其中,若安全校验成功,则所述客户端app设置所述插件的初始化接口;
若安全校验失败,则所述服务端执行向所述客户端app发送提示信息,以及所述客户端app通过本地插件加载所述媒体数据的步骤。
3.根据权利要求2所述的方法,其特征在于,所述客户端app通过所述插件加载所述媒体数据包括:
通过所述初始化接口,在所述客户端app加载所述媒体数据。
4.根据权利要求1所述的方法,其特征在于,所述客户端app通过本地插件加载所述媒体数据包括:
所述客户端app获取所述本地插件的ID;以及
获取处理后的所述媒体数据,并通过固定接口在所述客户端app加载处理后的所述媒体数据。
5.根据权利要求1所述的方法,其特征在于,所述服务端根据所述客户端app的版本号或标识,查找是否有与所述客户端app相符的插件之前,方法还包括:
所述服务端根据所述客户端app的版本号或标识,确定所述客户端app是否为最新版本。
6.根据权利要求1或5所述的方法,其特征在于,所述提示信息包括提示所述客户端app当前版本不是最新版本、所述客户端app当前版本与所述插件不兼容、继续使用当前版本的风险信息以及更新所述客户端app版本的流程信息中的至少一个。
7.根据权利要求4所述的方法,其特征在于,通过以下方式之一,获取所述处理后的所述媒体数据:
所述客户端app提取所述媒体数据中与所述本地插件相符的数据;或者
所述客户端app将所述媒体数据转换为与所述本地插件相符的数据;或者
所述服务器提取所述媒体数据中与所述本地插件相符的数据,或所述服务将所述媒体数据转换为与所述本地插件相符的数据之后,所述服务器将所述与所述本地插件相符的数据发送至所述客户端app。
8.一种服务端设备,其特征在于,所述服务端设备包括:
客户端app版本号或标识获取模块,用于获取客户端app的版本号或标识;
查找模块,用于根据所述客户端app的版本号或标识,查找是否有与所述客户端app相符的插件;
插件发送模块,用于当所述查找模块查找到符合所述客户端app的插件时,向所述客户端app发送所述插件;
媒体数据发送模块,用于向所述客户端app发送媒体数据;
提示信息发送模块,用于当查找模块没有查找到符合所述app的插件时,向所述客户端app发送提示信息。
9.一种客户端设备,所述客户端设备至少包括一个app,并能够运行所述app,其特征在于,所述客户端设备包括:
插件接收模块,用于接收服务端设备发送的插件;
媒体数据获取模块,用于获取服务端设备发送的媒体数据;
插件加载模块,用于加载所述插件;
第一媒体数据加载模块,用于通过所述插件加载所述媒体数据;
提示信息接收模块,用于接收服务端设备发送的提示信息;
第二媒体数据加载模块,用于通过本地插件加载所述媒体数据。
10.一种数据发布系统,所述系统至少包括服务端设备和一个客户端设备,所述客户端设备至少包括一个app,并能够运行所述app,所述服务端设备与所述客户端app通过网络进行数据交互,其特征在于,其中,
所述服务端设备包括:
客户端app版本号或标识获取模块,用于获取客户端app的版本号或标识;
查找模块,用于根据所述客户端app的版本号或标识,查找是否有与所述客户端app相符的插件;
插件发送模块,用于当所述查找模块查找到符合所述客户端app的插件时,向所述客户端app发送所述插件;
媒体数据发送模块,用于向所述客户端app发送媒体数据;
提示信息发送模块,用于当查找模块没有查找到符合所述app的插件时,向所述客户端app发送提示信息;
所述客户端设备包括:
插件接收模块,用于接收服务端设备发送的插件;
媒体数据获取模块,用于获取服务端设备发送的媒体数据;
插件加载模块,用于加载所述插件;
第一媒体数据加载模块,用于通过所述插件加载所述媒体数据;
提示信息接收模块,用于接收服务端设备发送的提示信息;
第二媒体数据加载模块,用于通过本地插件加载所述媒体数据。
CN201610781493.6A 2016-08-31 2016-08-31 一种数据发布方法、设备及系统 Active CN106354832B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610781493.6A CN106354832B (zh) 2016-08-31 2016-08-31 一种数据发布方法、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610781493.6A CN106354832B (zh) 2016-08-31 2016-08-31 一种数据发布方法、设备及系统

Publications (2)

Publication Number Publication Date
CN106354832A true CN106354832A (zh) 2017-01-25
CN106354832B CN106354832B (zh) 2020-09-25

Family

ID=57857354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610781493.6A Active CN106354832B (zh) 2016-08-31 2016-08-31 一种数据发布方法、设备及系统

Country Status (1)

Country Link
CN (1) CN106354832B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107347179A (zh) * 2017-03-28 2017-11-14 吉林市东杰科技开发有限公司 一种基于ReactNative实现LBS的方法
CN108881393A (zh) * 2018-05-22 2018-11-23 北京达佳互联信息技术有限公司 一种数据下发方法、装置、计算机及存储介质
CN114138376A (zh) * 2022-01-25 2022-03-04 统信软件技术有限公司 一种在应用中加载插件的方法、计算设备及存储介质
US11290482B2 (en) * 2020-05-12 2022-03-29 Zscaler, Inc. Mobile application notification system for monitoring security posture and risk

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102830992A (zh) * 2012-07-31 2012-12-19 北京奇虎科技有限公司 插件加载方法及系统
CN103257881A (zh) * 2013-06-03 2013-08-21 贝壳网际(北京)安全技术有限公司 基于浏览器的插件运行方法、浏览器装置及终端
CN105847992A (zh) * 2016-04-06 2016-08-10 乐视控股(北京)有限公司 一种视频流加载方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102830992A (zh) * 2012-07-31 2012-12-19 北京奇虎科技有限公司 插件加载方法及系统
CN103257881A (zh) * 2013-06-03 2013-08-21 贝壳网际(北京)安全技术有限公司 基于浏览器的插件运行方法、浏览器装置及终端
CN105847992A (zh) * 2016-04-06 2016-08-10 乐视控股(北京)有限公司 一种视频流加载方法和装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107347179A (zh) * 2017-03-28 2017-11-14 吉林市东杰科技开发有限公司 一种基于ReactNative实现LBS的方法
CN108881393A (zh) * 2018-05-22 2018-11-23 北京达佳互联信息技术有限公司 一种数据下发方法、装置、计算机及存储介质
CN108881393B (zh) * 2018-05-22 2021-03-23 北京达佳互联信息技术有限公司 一种数据下发方法、装置、计算机及存储介质
US11290482B2 (en) * 2020-05-12 2022-03-29 Zscaler, Inc. Mobile application notification system for monitoring security posture and risk
CN114138376A (zh) * 2022-01-25 2022-03-04 统信软件技术有限公司 一种在应用中加载插件的方法、计算设备及存储介质
CN114780173A (zh) * 2022-01-25 2022-07-22 统信软件技术有限公司 一种在应用中加载插件的方法、计算设备及存储介质
CN114780173B (zh) * 2022-01-25 2023-12-05 统信软件技术有限公司 一种在应用中加载插件的方法、计算设备及存储介质

Also Published As

Publication number Publication date
CN106354832B (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
US8850422B2 (en) Method for managing an application and application platform
US10127057B2 (en) Method and apparatus for dynamically implementing application function
US7640542B2 (en) Managing midlet suites in OSGI environment
CN106354832A (zh) 一种数据发布方法、设备及系统
CN102622241B (zh) 一种软件升级方法及装置
CN102662705B (zh) 一种对计算机集群的系统环境进行升级的系统及方法
CN103678319B (zh) 资源文件更新方法、装置和系统及服务器
CN104965712B (zh) 应用程序加固保护方法、装置及移动终端
CN105786538A (zh) 基于安卓系统的软件升级方法和装置
CN104346184A (zh) 应用打包装置及方法
EP1869924A1 (en) Method for providing contents for mobile communication terminal
CN105224874B (zh) 基于中间件插件框架的插件安全控制方法及客户端
CN104363271A (zh) 文件断点续传方法及装置
CN103761114A (zh) 一种浏览器侧加载扩展和/或插件的方法及装置
CN104852962A (zh) 处理关注信息的方法、终端设备、服务器及系统
CN104063225B (zh) 锁屏主题开发方法及装置
CN104699537A (zh) 程序控制方法与活动组件调度方法及其相应的装置
CN110209416A (zh) 应用软件更新方法、装置、终端及存储介质
CN104683303A (zh) App管理方法
CN106375567A (zh) 一种插件发布方法、系统、客户端和服务端
CN103716346A (zh) 一种安卓手机客户端上应用的管理方法和装置
CN103176809A (zh) 应用升级方法及系统
EP2897053B1 (en) Device management method and apparatus
CN106569863A (zh) 基于资源和代码模块化的安卓app资源更新和修复的方法
CN104699536A (zh) 活动组件进程空间分配方法及其相应的装置

Legal Events

Date Code Title Description
C06 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