用于社区的内容发布处理方法及装置、服务器
技术领域
本申请涉及内容发布领域,具体而言,涉及一种用于社区的内容发布处理方法及装置、服务器。
背景技术
基于内容发布的互联网应用场景,包括论坛社区、问答社区、评论系统等。
发明人发现,互联网内容发布需要受到监管,而同时因业务需要还涉及相关的业务逻辑处理。从而导致在客户端内容发布的流程冗长复杂,还容易造成接口请求超时等。
针对相关技术中内容发布流程较为复杂的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种用于社区的内容发布处理方法,以解决内容发布流程较为复杂的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种用于社区的内容发布处理方法。
根据本申请的用于社区的内容发布处理方法包括:接收所述第一内容的发布请求;返回按照预设接口数据格式对所述第一内容排版的数据并且执行异步处理操作;审核所述异步处理操作的结果;如果审核通过,则再次返回按照预设接口数据格式对所述第一内容排版的数据。
进一步地,审核所述异步处理操作的结果还包括:如果审核未通过,则返回经过内容过滤处理后的按照预设接口数据格式对所述第一内容排版的数据。
进一步地,审核所述异步处理操作的结果包括:采用机器学习模型审核所述异步处理操作的结果。
进一步地,返回按照预设接口数据格式对所述第一内容排版的数据并且执行异步处理操作之后还包括:通过定时任务检查队列日志状态,判断队列任务是否处理成功;如果不成功,则对状态异常的队列日志对应的请求任务进行重试处理或者告警操作。
进一步地,所述执行异步处理操作包括:将所述第一内容排版后返回的数据存入一个队列日志中并返回日志记录ID;获取所述日志记录ID和与所述第一内容关联的业务逻辑,并投递到队列服务中,以使在队列处理程序中进行异步执行。
为了实现上述目的,根据本申请的另一方面,提供了一种用于社区的内容发布处理装置。
根据本申请的用于社区的内容发布处理装置包括:接受模块,用于接收所述第一内容的发布请求;处理模块,用于返回按照预设接口数据格式对所述第一内容排版的数据并且执行异步处理操作;审核模块,用于审核所述异步处理操作的结果;返回模块,用于在审核通过时,再次返回按照预设接口数据格式对所述第一内容排版的数据。
进一步地,所述审核模块包括:第二处理模块,用于在审核未通过时,返回经过内容过滤处理后的按照预设接口数据格式对所述第一内容排版的数据。
进一步地,所述审核模块包括:机器学习审核模型,用于采用机器学习模型审核所述异步处理操作的结果。
进一步地,装置还包括:补偿模块,所述补偿模块还用于通过定时任务检查队列日志状态,判断队列任务是否处理成功;如果不成功,则对状态异常的队列日志对应的请求任务进行重试处理或者告警操作。
为了实现上述目的,根据本申请的再一方面,还提供一种用于社区的内容发布处理服务器,包括所述的内容发布处理装置。
在本申请实施例中用于社区的内容发布处理方法及装置、服务器,采用接收所述第一内容的发布请求的方式,通过返回按照预设接口数据格式对所述第一内容排版的数据并且执行异步处理操作,并审核所述异步处理操作的结果,达到了如果审核通过,则再次返回按照预设接口数据格式对所述第一内容排版的数据的目的,从而实现了快速响应、快速审核以及低错误率的技术效果,进而解决了内容发布流程较为复杂的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请第一实施例的用于社区的内容发布处理方法流程示意图;
图2是根据本申请第二实施例的用于社区的内容发布处理方法流程示意图;
图3是根据本申请第三实施例的用于社区的内容发布处理方法流程示意图;
图4是根据本申请第四实施例的用于社区的内容发布处理方法流程示意图;
图5是根据本申请第五实施例的用于社区的内容发布处理方法流程示意图;
图6是根据本申请第一实施例的用于社区的内容发布处理装置结构示意图;
图7是根据本申请第二实施例的用于社区的内容发布处理装置结构示意图;
图8是根据本申请第三实施例的用于社区的内容发布处理装置结构示意图;
图9是根据本申请第四实施例的用于社区的内容发布处理装置结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
如图1所示,该方法包括如下的步骤S102至步骤步骤S108:
步骤S102,接收所述第一内容的发布请求;
在服务器端接收到由所述客户端发送的第一内容的发布请求。所述服务器用于向客户端提供固定数据接口格式,并通过所述固定数据接口格式可以满足在所述客户端的第一内容的发布请求。
需要注意的是,所述服务器端对接收到的所述第一内容的发布请求后即可将该些数据包装成所述客户端需要的格式,从而也不需要在所述服务器上进行先储存再查询。
步骤S104,返回按照预设接口数据格式对所述第一内容排版的数据并且执行异步处理操作;
在所述服务器端中返回按照预设接口数据格式对所述第一内容排版的数据,而需要先储存,再对储存的数据进行查询。同时也不用考虑复杂的业务处理逻辑。在所述服务器端中仅返回照预设接口数据格式对所述第一内容排版的数据。
需要注意的是,由于在所述返回按照预设接口数据格式可以是统一化的数据接口,所以通过所述服务器端下发的按照预设接口数据格式对所述第一内容排版的数据具有统一的内容输出。而由于在所述服务端发布内容的时候只是执行了很简单的队列投放逻辑,基本不会出错,同时返回给所述客户端的操作复杂度接近为零,所以接口错误率也可以忽略不计。使得错误率基本为零。
所述执行异步处理操作包括,将所述第一内容排版后返回的数据存入一个队列日志中并返回日志记录ID;在服务器端首先将所述第一内容排版后返回的数据存入一个队列日志中并获取返回日志记录ID。获取所述日志记录ID和与所述第一内容关联的业务逻辑,并投递到队列服务中,以使在队列处理程序中进行异步执行。在所述服务器端通过获取所述日志记录ID和与所述第一内容关联的业务逻辑,并投递到队列服务中,以使在队列处理程序中进行异步执行。
需要注意的是,由于在所述服务端发布内容的时候只是执行了很简单的队列投放逻辑,基本不会出错,同时返回给所述客户端的操作复杂度接近为零,所以接口错误率也可以忽略不计。使得错误率基本为零。
还需要注意的是,对所述与所述第一内容关联的业务逻辑可以是内容发布通常涉及到的日志、会员积分、任务体系等复杂业务逻辑处理。同时,还包括发帖、发回复等复杂逻辑的处理过程。
具体地,在服务器端执行的异步处理包括,在上述步骤中所述按照预设接口数据格式对所述第一内容排版后返回的数据时,即内容返回给所述客户端的同时,将所有数据存入一个队列日志中并返回日志记录ID,将该日志记录ID以及所有跟内容相关的业务逻辑都投递到队列服务中去,交由出队列处理程序异步执行。
需要注意的是,所述队列服务在本申请的实施例中并不进行限定,可以是在服务器端配置的rabbitmq、rocketmq、beanstalkd、redis等队列中间件,在本申请中并不限定,只要能够满足队列服务的要求即可。
步骤S106,审核所述异步处理操作的结果;
在所述服务器端判断所述队列处理程序对所述第一内容的处理结果是否审核通过。而在所述服务器上的内容审核流程可以使用多任务队列处理方式,并发进行自动化内容初审,可以减少大量的人工审核成本。
步骤S108,如果审核通过,则再次返回按照预设接口数据格式对所述第一内容排版的数据。
在所述客户端中接收到的是异步处理后的且需要经由审核通过的第一内容排版的数据。也就是说,在所述客户端上可以先进行内容发布,后进行内容的审核。在所述客户端上生成并发送的所述第一内容的发布请求,在服务器端需要向进行储存,然后再在数据库中查询需要发布的第一内容。而在所述客户端接收到的按照预设接口数据格式对所述第一内容排版的数据需要满足服务器端异步处理和审核机制的相关要求。
在客户端接收到的所述第一内容排版的数据,可以由服务器端通过将该些数据包装成客户端需要的格式即对所述第一内容进行排版,而不需要先存储再从数据库查询刚才储存的内容。而在所述客户端接收到的所述第一内容排版的数据,也可以是由服务器端统一提供的数据接口格式,从数据库中重新查询刚刚存储的发布内容。而需要说明的是,不论采用哪一种内容发布机制,都需要经过服务器端的异步处理并内容审核通过。
进一步,在所述服务器端中返回按照预设接口数据格式对所述第一内容排版的数据,而需要先储存,再对储存的数据进行查询。同时也不用考虑复杂的业务处理逻辑。在所述服务器端中仅返回照预设接口数据格式对所述第一内容排版的数据。需要注意的是,由于在所述返回按照预设接口数据格式可以是统一化的数据接口,所以通过所述服务器端下发的按照预设接口数据格式对所述第一内容排版的数据具有统一的内容输出。而由于在所述服务端发布内容的时候只是执行了很简单的队列投放逻辑,基本不会出错,同时返回给所述客户端的操作复杂度接近为零,所以接口错误率也可以忽略不计。使得错误率基本为零。
从以上的描述中,可以看出,本申请实现了如下技术效果:
在本申请实施例中,采用接收所述第一内容的发布请求的方式,通过返回按照预设接口数据格式对所述第一内容排版的数据并且执行异步处理操作,并审核所述异步处理操作的结果,达到了如果审核通过,则再次返回按照预设接口数据格式对所述第一内容排版的数据的目的,从而实现了快速响应、快速审核以及低错误率的技术效果,进而解决了内容发布流程较为复杂的技术问题。
根据本申请实施例,作为本实施例中的优选,如图2所示,审核所述异步处理操作的结果还包括:
步骤S202,如果审核未通过,则返回经过内容过滤处理后的按照预设接口数据格式对所述第一内容排版的数据。
如果审核没有通过,则在服务器端返回经过内容过滤处理后的所述按照预设接口数据格式对所述第一内容排版的数据。所述内容过滤处理可以是,关键字过滤、敏感词去除等操作,在本申请中并不进行具体限定,只要能够满足内容过滤的条件即可。
根据本申请实施例,作为本实施例中的优选,如图3所示,审核所述异步处理操作的结果包括:步骤S302,采用机器学习模型审核所述异步处理操作的结果。
具体地,通过提供一种机器学习的内容审核机制,对审核通过或者不通过的内容样本进行训练,通过机器学习,可以加强审核机制中的审核脚本的审核能力,自动过滤无效的发布内容,保证内容的合规性。
根据本申请实施例,作为本实施例中的优选,如图4所示,返回按照预设接口数据格式对所述第一内容排版的数据并且执行异步处理操作之后还包括:
步骤S402,通过定时任务检查队列日志状态,判断队列任务是否处理成功;
在所述服务器端通过所述定时任务可以检查队列日志的状态,并且在服务器端判断队列任务时是否处理成功。
步骤S404,如果不成功,则对状态异常的队列日志对应的请求任务进行重试处理或者告警操作。
在所述服务器端判断队列任务时如果处理不成功,则需要在服务器端对状态异常的队列日志对应的请求任务进行重试处理或者告警操作。
具体地,由于各种原因,比如网络或接口超时等,在所述服务器端上的队列服务不一定能够一次执行成功,只有当队列任务处理成功后,才能够异步处理中对应日志记录的状态标记为处理成功状态。接着,在所述服务器端可以通过生成定时任务检查队列日志状态,并可以对状态异常的队列日志对应的请求任务进行重试处理或者告警操作,保证异步任务的可靠执行。相比较同步地一次性请求,在所述服务器端中采用队列日志的异步补偿机制,可以自动尝试重复请求,保证请求处理的成功率。
根据本申请实施例,作为本实施例中的优选,如图5所示,所述执行异步处理操作包括:
步骤S502,将所述第一内容排版后返回的数据存入一个队列日志中并返回日志记录ID;
在所述服务器端通过获取所述日志记录ID和与所述第一内容关联的业务逻辑,并投递到队列服务中,以使在队列处理程序中进行异步执行。
步骤S504,获取所述日志记录ID和与所述第一内容关联的业务逻辑,并投递到队列服务中,以使在队列处理程序中进行异步执行。
在所述服务器端通过获取所述日志记录ID和与所述第一内容关联的业务逻辑,并投递到队列服务中,以使在队列处理程序中进行异步执行。
需要注意的是,由于在所述服务端发布内容的时候只是执行了很简单的队列投放逻辑,基本不会出错,同时返回给所述客户端的操作复杂度接近为零,所以接口错误率也可以忽略不计。使得错误率基本为零。
还需要注意的是,对所述与所述第一内容关联的业务逻辑可以是内容发布通常涉及到的日志、会员积分、任务体系等复杂业务逻辑处理。同时,还包括发帖、发回复等复杂逻辑的处理过程。
具体地,在服务器端执行的异步处理包括,在上述步骤中所述按照预设接口数据格式对所述第一内容排版后返回的数据时,即内容返回给所述客户端的同时,将所有数据存入一个队列日志中并返回日志记录ID,将该日志记录ID以及所有跟内容相关的业务逻辑都投递到队列服务中去,交由出队列处理程序异步执行。
需要注意的是,所述队列服务在本申请的实施例中并不进行限定,可以是在服务器端配置的rabbitmq、rocketmq、beanstalkd、redis等队列中间件,在本申请中并不限定,只要能够满足队列服务的要求即可。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例,还提供了一种用于实施上述方法的用于社区的内容发布处理装置,如图6所示,该装置包括:接受模块10,用于接收所述第一内容的发布请求;处理模块20,用于返回按照预设接口数据格式对所述第一内容排版的数据并且执行异步处理操作;审核模块30,用于审核所述异步处理操作的结果;返回模块40,用于在审核通过时,再次返回按照预设接口数据格式对所述第一内容排版的数据。
本申请实施例的接受模块10中在服务器端接收到由所述客户端发送的第一内容的发布请求。所述服务器用于向客户端提供固定数据接口格式,并通过所述固定数据接口格式可以满足在所述客户端的第一内容的发布请求。
需要注意的是,所述服务器端对接收到的所述第一内容的发布请求后即可将该些数据包装成所述客户端需要的格式,从而也不需要在所述服务器上进行先储存再查询。
本申请实施例的处理模块20中在所述服务器端中返回按照预设接口数据格式对所述第一内容排版的数据,而需要先储存,再对储存的数据进行查询。同时也不用考虑复杂的业务处理逻辑。在所述服务器端中仅返回照预设接口数据格式对所述第一内容排版的数据。
需要注意的是,由于在所述返回按照预设接口数据格式可以是统一化的数据接口,所以通过所述服务器端下发的按照预设接口数据格式对所述第一内容排版的数据具有统一的内容输出。而由于在所述服务端发布内容的时候只是执行了很简单的队列投放逻辑,基本不会出错,同时返回给所述客户端的操作复杂度接近为零,所以接口错误率也可以忽略不计。使得错误率基本为零。
所述执行异步处理操作包括,将所述第一内容排版后返回的数据存入一个队列日志中并返回日志记录ID;在服务器端首先将所述第一内容排版后返回的数据存入一个队列日志中并获取返回日志记录ID。获取所述日志记录ID和与所述第一内容关联的业务逻辑,并投递到队列服务中,以使在队列处理程序中进行异步执行。在所述服务器端通过获取所述日志记录ID和与所述第一内容关联的业务逻辑,并投递到队列服务中,以使在队列处理程序中进行异步执行。
需要注意的是,由于在所述服务端发布内容的时候只是执行了很简单的队列投放逻辑,基本不会出错,同时返回给所述客户端的操作复杂度接近为零,所以接口错误率也可以忽略不计。使得错误率基本为零。
还需要注意的是,对所述与所述第一内容关联的业务逻辑可以是内容发布通常涉及到的日志、会员积分、任务体系等复杂业务逻辑处理。同时,还包括发帖、发回复等复杂逻辑的处理过程。
具体地,在服务器端执行的异步处理包括,在上述步骤中所述按照预设接口数据格式对所述第一内容排版后返回的数据时,即内容返回给所述客户端的同时,将所有数据存入一个队列日志中并返回日志记录ID,将该日志记录ID以及所有跟内容相关的业务逻辑都投递到队列服务中去,交由出队列处理程序异步执行。
需要注意的是,所述队列服务在本申请的实施例中并不进行限定,可以是在服务器端配置的rabbitmq、rocketmq、beanstalkd、redis等队列中间件,在本申请中并不限定,只要能够满足队列服务的要求即可。
本申请实施例的审核模块30中在所述服务器端判断所述队列处理程序对所述第一内容的处理结果是否审核通过。而在所述服务器上的内容审核流程可以使用多任务队列处理方式,并发进行自动化内容初审,可以减少大量的人工审核成本。
本申请实施例的返回模块40中在所述客户端中接收到的是异步处理后的且需要经由审核通过的第一内容排版的数据。也就是说,在所述客户端上可以先进行内容发布,后进行内容的审核。在所述客户端上生成并发送的所述第一内容的发布请求,在服务器端需要向进行储存,然后再在数据库中查询需要发布的第一内容。而在所述客户端接收到的按照预设接口数据格式对所述第一内容排版的数据需要满足服务器端异步处理和审核机制的相关要求。
在客户端接收到的所述第一内容排版的数据,可以由服务器端通过将该些数据包装成客户端需要的格式即对所述第一内容进行排版,而不需要先存储再从数据库查询刚才储存的内容。而在所述客户端接收到的所述第一内容排版的数据,也可以是由服务器端统一提供的数据接口格式,从数据库中重新查询刚刚存储的发布内容。而需要说明的是,不论采用哪一种内容发布机制,都需要经过服务器端的异步处理并内容审核通过。
进一步,在所述服务器端中返回按照预设接口数据格式对所述第一内容排版的数据,而需要先储存,再对储存的数据进行查询。同时也不用考虑复杂的业务处理逻辑。在所述服务器端中仅返回照预设接口数据格式对所述第一内容排版的数据。需要注意的是,由于在所述返回按照预设接口数据格式可以是统一化的数据接口,所以通过所述服务器端下发的按照预设接口数据格式对所述第一内容排版的数据具有统一的内容输出。而由于在所述服务端发布内容的时候只是执行了很简单的队列投放逻辑,基本不会出错,同时返回给所述客户端的操作复杂度接近为零,所以接口错误率也可以忽略不计。使得错误率基本为零。
根据本申请实施例,作为本实施例中的优选,如图7所示,所述审核模块包括:第二处理模块301,用于在审核未通过时,返回经过内容过滤处理后的按照预设接口数据格式对所述第一内容排版的数据。
本申请实施例的第二处理模块301中如果审核没有通过,则在服务器端返回经过内容过滤处理后的所述按照预设接口数据格式对所述第一内容排版的数据。所述内容过滤处理可以是,关键字过滤、敏感词去除等操作,在本申请中并不进行具体限定,只要能够满足内容过滤的条件即可。
根据本申请实施例,作为本实施例中的优选,如图8所示,所述审核模块包括:机器学习审核模型302,用于采用机器学习模型审核所述异步处理操作的结果。
本申请实施例的机器学习审核模型302中具体地,通过提供一种机器学习的内容审核机制,对审核通过或者不通过的内容样本进行训练,通过机器学习,可以加强审核机制中的审核脚本的审核能力,自动过滤无效的发布内容,保证内容的合规性。
根据本申请实施例,作为本实施例中的优选,如图9所示,装置还包括:补偿模块,所述所述补偿模块50还用于通过定时任务检查队列日志状态,判断队列任务是否处理成功;如果不成功,则对状态异常的队列日志对应的请求任务进行重试处理或者告警操作。
本申请实施例的所述所述补偿模块50中在所述服务器端通过所述定时任务可以检查队列日志的状态,并且在服务器端判断队列任务时是否处理成功。
在所述服务器端判断队列任务时如果处理不成功,则需要在服务器端对状态异常的队列日志对应的请求任务进行重试处理或者告警操作。
具体地,由于各种原因,比如网络或接口超时等,在所述服务器端上的队列服务不一定能够一次执行成功,只有当队列任务处理成功后,才能够异步处理中对应日志记录的状态标记为处理成功状态。接着,在所述服务器端可以通过生成定时任务检查队列日志状态,并可以对状态异常的队列日志对应的请求任务进行重试处理或者告警操作,保证异步任务的可靠执行。相比较同步地一次性请求,在所述服务器端中采用队列日志的异步补偿机制,可以自动尝试重复请求,保证请求处理的成功率。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。