CN106921645B - 信息发布方法、客户端及服务端 - Google Patents

信息发布方法、客户端及服务端 Download PDF

Info

Publication number
CN106921645B
CN106921645B CN201610490590.XA CN201610490590A CN106921645B CN 106921645 B CN106921645 B CN 106921645B CN 201610490590 A CN201610490590 A CN 201610490590A CN 106921645 B CN106921645 B CN 106921645B
Authority
CN
China
Prior art keywords
information
identification information
client
uniqueness
server
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.)
Active
Application number
CN201610490590.XA
Other languages
English (en)
Other versions
CN106921645A (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.)
Ant Fortune Shanghai Financial Information Service Co ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201610490590.XA priority Critical patent/CN106921645B/zh
Publication of CN106921645A publication Critical patent/CN106921645A/zh
Application granted granted Critical
Publication of CN106921645B publication Critical patent/CN106921645B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Abstract

本申请涉及计算机技术领域,尤其涉及一种信息发布方法、客户端及服务端,在一种信息发布方法中,客户端在对用户提交的表单的唯一性验证通过后,根据表单中的第一标识信息,确定第二标识信息;之后客户端向服务端发送通过第二标识信息标记的信息发布请求;服务端在接收到信息发布请求之后,根据第二标识信息对信息发布请求进行唯一性验证,并在唯一性验证通过后,发布表单中的信息。由此避免了现有技术中对表单中的信息重复发布的问题。

Description

信息发布方法、客户端及服务端
技术领域
本申请涉及计算机技术领域,尤其涉及一种信息发布方法、客户端及服务端。
背景技术
传统技术中,在对用户在客户端通过表单输入的信息进行发布时,也即在对表单中的信息进行发布时,为了防止表单被重复提交,客户端首先对用户提交的表单进行唯一性验证,在唯一性验证通过后;客户端针对该提交成功的表单会向服务端发送一次信息发布请求,该信息发布请求通过随机生成的请求标识(requestID)进行标记,并且该信息发布请求中包括表单中的信息;服务端为了避免对表单中的信息进行重复发布,会根据请求标识,对信息发布请求进行唯一性验证,在唯一性验证通过后,发布表单中的信息。
然而上述方法中,当用户针对同一表单的两次提交操作的时间间隔比较小时,该两次提交的同一表单可能都会通过唯一性认证,一旦两次提交的同一表单都通过唯一性认证,则客户端会针对该同一表单向服务端发送两次信息发布请求,且该两个不同的信息发布请求通过两个不同的请求标识进行标记;当服务端接收到通过两个不同的请求标识标记的两个不同的信息发布请求时,由于该两个信息发布请求都会通过唯一性验证,因此服务端会发布两次上述表单中的信息,这影响了信息发布的准确性,进而浪费了计算机资源。
发明内容
本申请描述了一种信息发布方法、客户端及服务端,可以提高信息发布的准确性,从而可以达到节约计算机资源的目的。
第一方面,提供了一种信息发布方法,该方法包括:
客户端接收用户提交的表单
从所述表单中读取所述表单的第一标识信息,所述表单是指所述客户端中由所述用户输入所述待发布信息的区域;
根据所述第一标识信息,对所述表单的唯一性进行验证;
在对所述表单的唯一性验证通过后,根据所述第一标识信息,确定第二标识信息;
向服务端发送信息发布请求,所述信息发布请求包括所述第二标识信息以及所述待发布信息,所述信息发布请求用于指示所述服务端在根据所述第二标识信息对所述信息发布请求的唯一性验证通过后,发布所述待发布信息。
第二方面,提供了一种信息发布方法,该方法包括:
服务端接收客户端发送的信息发布请求,所述信息发布请求包括第二标识信息和待发布信息;
所述第二标识信息是由所述客户端在对用户提交的表单的唯一性验证通过后根据所述表单的第一标识信息确定的,所述表单是指所述客户端中由所述用户输入所述待发布信息的区域;
根据所述第二标识信息,对所述信息发布请求的唯一性进行验证;
在对所述信息发布请求的唯一性验证通过后,发布所述待发布信息。
第三方面,提供了一种客户端,该客户端包括:
接收单元,用于接收用户提交的表单;
读取单元,用于从接收单元接收的所述表单中读取所述表单的第一标识信息,所述表单是指所述客户端中由所述用户输入所述待发布信息的区域;
验证单元,用于根据所述读取单元读取的所述第一标识信息,对所述表单的唯一性进行验证;
确定单元,用于在所述验证单元对所述表单的唯一性验证通过后,根据所述第一标识信息,确定第二标识信息;
发送单元,用于向服务端发送信息发布请求,所述信息发布请求包括所述第二标识信息以及所述待发布信息,所述信息发布请求用于指示所述服务端在根据所述第二标识信息对所述信息发布请求的唯一性验证通过后,发布所述待发布信息。
第四方面,提供了一种服务端,该服务端包括:
接收单元,用于接收客户端发送的信息发布请求,所述信息发布请求包括第二标识信息和待发布信息;所述第二标识信息是由所述客户端在对用户提交的表单的唯一性验证通过后根据所述表单的第一标识信息确定的,所述表单是指所述客户端中由所述用户输入所述待发布信息的区域;
验证单元,用于根据所述接收单元接收的所述第二标识信息,对所述信息发布请求的唯一性进行验证;
发布单元,用于在所述验证单元对所述信息发布请求的唯一性验证通过后,发布所述待发布信息。
本申请提供的信息发布方法、客户端及服务端,客户端在对用户提交的表单的唯一性验证通过后,根据表单中的第一标识信息,确定第二标识信息;之后客户端向服务端发送通过第二标识信息标记的信息发布请求;服务端在接收到信息发布请求之后,根据第二标识信息对信息发布请求进行唯一性验证,并在唯一性验证通过后,发布表单中的信息。由此可以看出,本申请中的第二标识信息是根据第一标识信息生成的,也即本申请中针对同一表单只能生成一个第二标识信息,由此当客户端针对两次提交的同一表单向服务端发送两次信息发布请求时,由于该两次信息发布请求的第二标识信息相同,所以第二次信息发布请求不能通过唯一性验证,从而服务端不对第二次信息发布请求中已发布的表单中的信息进行重复发布,由此避免了现有技术中对表单中的信息重复发布的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请提供的信息发布方法的应用场景示意图;
图2为本申请一种实施例提供的信息发布方法的流程图;
图3为本申请提供的融资需求发布方法的信息交互图;
图4为本申请另一种实施例提供的信息发布方法的流程图;
图5为本申请再一种实施例提供的客户端的示意图;
图6为本申请又一种实施例提供的服务端的示意图。
具体实施方式
下面结合附图,对本发明的实施例进行描述。
本申请实施例提供的信息发布方法适用于对用户在客户端通过表单输入的信息进行发布的场景,此处的客户端可以为web服务页面(以下简称网页页面)。
如,适用于对机构用户(也称融资方)在招财宝融资平台的前端(也称协作中心(fincooprod))的融资需求申请表单中填写的融资需求进行发布的场景。此处,招财宝融资平台可以是指提供给合作金融机构发布融资需求的平台,其可以包括上述前端以及与前端对应的融资服务中心(finloancenter),其中,前端用于接收融资方填写的融资需求,融资服务中心用于落地融资需求;上述融资需求可以是指融资方通过合作金融机构向招财宝融资平台发起的一笔借款请求,如果发布成功,会在招财宝融资平台形成一笔融资需求。融资需求包含融资方信息、融资金额、利率、借款期限、募集期、产品期限、借款协议编号等信息。需要说明的是,在融资需求包含上述几种信息时,则上述落地融资需求可以是指将融资需求中包含的信息保存到数据库的过程。
具体地,合作金融机构将融资方的借款需求发布至招财宝融资平台,投资人通过招财宝融资平台购买产品。招财宝融资平台支持页面发布融资需求、直连接口发布融资需求和Excel批量发布融资需求,满足机构的多种需求。而本申请信息发布不准确的问题主要是针对在招财宝融资平台上通过网页页面的方式发布融资需求时存在的。可以理解的是,在对融资需求进行发布的应用场景下,本申请背景技术中所指出的信息发布不准确问题可以是指融资需求重发发布的问题,即融资方的一笔融资请求,在招财宝融资平台上发布了多笔相同的融资需求。
需要说明的是,因为金融机构在协作中心发布融资需求的时候,会生成一份与招财宝融资平台的线上合同,形成法律约束,并且选择增信公司进行担保。发布的融资需求,由招财宝融资平台进行公开募集,募集成功以后,将募集到资金打款给对应的金融机构,并收取一定的平台手续费。而该笔融资需求对外承诺的利率也由融资方承担,并按时还款。而对于这种是因为招财宝融资平台本身的问题而产生的重复多笔的募集,融资方是不予承认的,如果一旦募集成功,那么对外承诺的利率只能由招财宝融资平台自己承担,现在招财宝融资平台上的一笔融资需求动辄亿万,这将会是一起严重的资金损失。因此迫切需要解决因表单多次提交而导致融资需求重复发布的问题。
图1为本申请提供的信息发布方法的应用场景示意图,图1中,客户端可以是指安装在个人电脑上的网页页面,在该客户端上可以生成对应的表单,如上述融资需求申请表单,用户通过客户端上的表单来输入待发布信息,如,融资需求。具体地,在用户提交表单成功后,客户端可以将表单中待发布信息发送至服务端,由服务端对表单中待发布信息进行发布。可以理解的是,在发布融资需求的场景下,上述客户端可以是指招财宝融资平台的前端,而上述服务端可以是指融资服务中心。
图2为本申请一种实施例提供的信息发布方法的流程图,图2中,所述方法的执行主体可以为图1中的客户端,如,招财宝融资平台的前端,如图2所示,所述方法具体可以包括:
步骤210,当客户端接收到用户提交的表单时,从表单中读取表单的第一标识信息。
此处的表单可以是指客户端中由用户输入待发布信息的区域。
可选地,上述第一标识信息可以是由客户端在生成表单时填写到表单中的N位随机数据,其中,N为正整数。
在一种具体实现方式中,该第一标识信息可以是指表单令牌(模型-视图-控制器(Model View Controller,MVC)框架的formToken),客户端可以通过对表单令牌的验证,来避免表单重复提交的问题。具体地,当客户端接收到用户访问包含表单的网页页面的访问请求时,可以生成一个32位的随机数作为表单令牌,并将该表单令牌存储到会话(session)缓存中,此处,表单令牌在session缓存中的生命周期可以为30分钟,也即每隔30分钟,session缓存中的表单令牌会被更新一次。在客户端将表单令牌存储到session缓存之后,客户端可以将该表单令牌填写到表单中;当用户填写完表单并提交表单时,客户端可以从表单中读取表单令牌,也即从表单中读取第一标识信息。
可以理解的是,客户端将表单令牌填写到表单中即为将表单令牌填写到表单对应的代码中。在一个例子中,表单中的表单令牌可以如下所示:
<inputtype="hidden"name="_form_token"value="sizGsBkNJHXoWi2Iglu1rwJc6xxxxxx"/>
其中,"_form_token"为表单令牌在表单中对应的名称,"sizGsBkNJHXoWi2Iglu1rwJc6xxxxxx"为表单令牌的值,即为32位的随机数。
步骤220,根据第一标识信息,对表单的唯一性进行验证。
以第一标识信息为表单令牌为例来说,对表单的唯一性验证过程具体可以为:从session缓存中读取表单令牌,并将从表单中读取的表单令牌与从session缓存中读取的表单令牌进行比对,若比对一致,则对表单的唯一性验证通过,也即用户提交表单成功;否则对表单的唯一性验证不通过,也即用户提交表单不成功。
需要说明的是,在客户端从session缓存中读取表单令牌之后,可以立即删除session缓存中的表单令牌,以免同一表单被重复提交。此处,通过删除session缓存中的表单令牌来避免同一表单被重复提交的实现原理如下:当表单被第一次提交时,且为未超时(即没超过30分钟)提交时,从表单中读取的表单令牌与从session缓存中读取的表单令牌会比对一致,从而用户提交表单成功,当该同一表单被再次提交时,即便未超时,由于session缓存中的表单令牌已经被删除,因此,肯定比对不一致,从而用户提交表单不会成功。
然而,由于目前的系统或平台往往具有很高的并发性,所以在session缓存中的表单令牌未被删除的瞬间,客户端可能会接收用户对同一表单执行了第二次提交操作,而针对该两次提交操作,客户端都可以读取到session缓存中的表单令牌,那么该两次提交的表单都可以通过唯一性验证,由此出现了同一表单重复提交的问题。因此,就需要在下一阶段能够对重复的表单进行识别,以免服务端对表单中的信息进行重复发布。
上述用户针对同一表单多次提交的操作可能是由用户快速多次点击提交按钮导致的,或者也可能是浏览器发生抖动导致的,还可能是因网络较慢用户再次点击提交按钮导致的。
步骤230,在对表单的唯一性验证通过后,根据第一标识信息,确定第二标识信息。
此处的第二标识信息(requestID)可以用于标记信息发布请求,该信息发布请求用于客户端请求服务端发布已成功提交的表单中的信息。可以理解的是,针对每个已成功提交的表单,客户端可以向服务端发送一次信息发布请求,以请求服务端发布表单中的信息。
对于重复提交的表单,实际上每次提交的表单中的表单令牌都是一样的。于是本申请进行了这样的优化:在生成第二标识信息时,不再随机生成,而是根据第一标识信息来生成第二标识信息,而由于同一表单的第一标识信息是相同的,由此生成的第二标识信息也是相同的;当客户端针对重复的表单向服务端发送两次信息发布请求时,由于该两次信息发布请求的第二标识信息相同,所以第二次信息发布请求不能通过唯一性验证,也即服务端过滤掉了第二标识信息相同的第二次信息发布请求,从而可以确保即使同一表单被提交多次,但该表单的信息只发布一次。
在一种具体实现方式中,客户端可以通过如下步骤来确定第二标识信息:
根据预设的算法,将第一标识信息转化为对应的字节元素;
确定与字节元素对应的字符串;
根据字符串,确定第二标识信息。
此处的预设的算法可以为消息摘要算法第五版(Message Digest Algorithm,MD5)算法。以第一标识信息为32位随机数据,第二标识信息为32位的字符串为例来说,第二标识信息的确定过程可以为:可以通过java自带的MD5转化器(具有实现上述MD5算法的功能),将32位随机数据转换为16个字节(byte)元素,之后将每个字节元素表示为2位的字符串,从而就可以得到32位的字符串。举例来说,MD5转化器转换得到的16个字节元素可以分别为:-44、29、-116、-39、-113、0、-78、4、-23、-128、9、-104、-20、-8、66、126,之后将每个字节元素表示为2位的字符串(也即表示为16进制数据),其中,当任一个字节元素只能表示为1位的字符串时,则可以通过补0的方式,补齐2位的字符串,如,对字节元素“0”,与其对应的16进制数据为0,即为1位,补0后,得到:00;最后就可以得到字符串:d41d8cd98f00b204e9800998ecf8427e。此处,通过MD5转化器,将32位随机数据转换为16个字节(byte)元素属于现有成熟技术,本申请在此不复赘述。
需要说明的是,虽然上述示例以N=M为例来说,在实际应用中,N也可以小于M或者大于M;当N小于或者大于M时,MD5转化器同样可以转换出16个字节(byte)元素,这个是现有MD5转化器的功能,本申请在此不复赘述。
当然,在实际应用中,M也可以不为32,其还可以为:16、48或者64等,当M为48时,则可以对MD5转化器转换得到的16个字节元素做如下处理来获得48位的字符串:先确定与16个元素对应的32位的字符串,之后从32位的字符串中截取(如,从最左侧截取)16位的字符串,最后将16位的字符串和32位的字符串组合在一起就可以得到48位的字符串。当然,这只是一种获得48位的字符串的方式,本领域技术人员还可以通过结合某一算法来确定M位的字符串,本申请对此不作限定。
步骤240,向所述服务端发送信息发布请求。
其中,信息发布请求包括第二标识信息以及待发布信息,信息发布请求用于指示服务端在根据第二标识信息对信息发布请求的唯一性验证通过后,发布待发布信息。
在一种实现方式中,客户端可以将第二标识信息以及待发布信息封装为请求对象,该请求对象包括属性名和属性值,以封装后的第二标识信息为例来说,第二标识信息的属性名可以为“requestId”,而属性值则可以为“0a20202020777269”。客户端在封装得到请求对象之后,可以将封装后的请求对象发送给服务端。
服务端在接收到信息发布请求之后,对该信息发布请求进行唯一性验证,也即对信息发布请求进行幂等控制,该幂等控制的过程具体为:服务端读取信息发布请求中的第二标识信息,并将第二标识信息与数据库中已存储的第二标识信息进行一一比对,若与已存储的第二标识信息均比对不一致,则信息发布请求唯一性验证通过,否则信息发布请求唯一性验证不通过。在信息发布请求验证通过后,服务端发布待发布信息,如,融资需求,并将待发布信息以及第二标识信息存储到数据库中。可以理解的是,数据库中的第二标识信息可以唯一的标识一个以发布的信息,如,标识一个融资需求。
综上,本申请利用了服务端的后台幂等控制来解决表单重复提交导致表单中的信息发布多次的问题。这样的实现还有一个优点,因为服务端对第二标识信息的幂等控制是数据库层面的,所以只要待发布信息被成功存储到数据库,那么后面第二标识信息相同的表单中的待发布信息都是无法重复入库的,不存在同时并发入库的问题,真正有效地解决了信息发布不准确的问题。
当本申请的信息发布方法应用于在招财宝融资平台上发布融资需求时,招财宝融资平台的前端与融资服务中心之间的信息交互可以如图3所示。图3中,主要包括如下步骤:
步骤310,机构用户登录协作中心。
步骤320,机构用户选择融资模板。
在结构用户选择融资模板之后,协作中心可以生成表单令牌,并将表单令牌填写到融资需求申请表单中。
步骤330,机构用户填写与选择的融资模板对应的融资需求申请表单。
步骤340,机构用户提交融资需求申请表单。
步骤350,协作中心调用融资服务中心对融资需求申请表单进行预校验。
步骤360,协作中心显示包含融资需求申请表单的预览页面。
步骤370,机构用户确认提交融资需求申请表单。
步骤380,协作中心从融资需求申请表单中读取表单令牌,并根据表单令牌对融资需求申请表单的唯一性进行验证。
步骤390,协作中心验证权限,安全服务化。
步骤3100,协作中心根据表单令牌,生成第二标识信息(requestID)。
步骤3110,协作中心根据requestID和融资需求申请表单中的信息,封装融资需求。
步骤3120,协作中心调用融资服务中心发布融资需求。
步骤3130,融资服务中心返回已成功受理的消息。
步骤3140,融资服务中心根据requestID对融资需求进行幂等控制。
步骤3150,融资服务中心对融资需求中的参数进行校验。
步骤3160,融资服务中心签约招财宝协议。
步骤3170,融资服务中心融资保障投保,预约保单。
步骤3180,融资服务中心落地融资需求。
步骤3190,融资服务中心发布招财产品。
步骤3200,产品中心(fundselling)对招财产品参数进行校验。
步骤3210,产品中心落地招财宝产品。
综上,本申请上述实施例解决了招财宝融资平台因表单重复提交导致融资需求发布多笔的问题。同时,该实施例还利用了融资需求本身的幂等控制,由此不仅解决了前台表单重复提交带来的问题,同时利用了后台数据库层面的幂等控制,真正有效的控制住了融资需求重复发布的问题。
图4为本申请另一种实施例提供的信息发布方法的流程图,图4中,所述方法的执行主体可以为图1中的服务端,如,融资服务中心,如图4所示,所述方法具体可以包括:
步骤410,服务端接收客户端发送的信息发布请求。
其中,该信息发布请求包括第二标识信息和待发布信息;该第二标识信息可以是由客户端在对用户提交的表单的唯一性验证通过后根据表单的第一标识信息确定的,其中,表单是指客户端中由用户输入待发布信息的区域。
其中,第一标识信息是由客户端在生成表单时填写到表单中的N位随机数据,其中,N为正整数。
在一种实现方式中,客户端可以将第二标识信息以及待发布信息封装为请求对象,该请求对象包括属性名和属性值,以封装后的第二标识信息为例来说,第二标识信息的属性名可以为“requestId”,而属性值则可以为“0a20202020777269”。客户端在封装得到请求对象之后,可以将封装后的请求对象发送给服务端。
步骤420,根据所述第二标识信息,对信息发布请求的唯一性进行验证。
步骤430,在对信息发布请求的唯一性验证通过后,发布待发布信息。
服务端在接收到信息发布请求之后,对该信息发布请求进行唯一性验证,也即对信息发布请求进行幂等控制,该幂等控制的过程具体为:服务端读取信息发布请求中的第二标识信息,并将第二标识信息与数据库中已存储的第二标识信息进行一一比对,若与已存储的第二标识信息均比对不一致,则信息发布请求唯一性验证通过,否则信息发布请求唯一性验证不通过。在信息发布请求验证通过后,服务端发布待发布信息,如,融资需求,并将待发布信息以及第二标识信息存储到数据库中。可以理解的是,数据库中的第二标识信息可以唯一的标识一个以发布的信息,如,标识一个融资需求。
综上,本申请利用了服务端的后台幂等控制来解决表单重复提交导致表单中的信息发布多次的问题。这样的实现还有一个优点,因为服务端对第二标识信息的幂等控制是数据库层面的,所以只要待发布信息被成功存储到数据库,那么后面第二标识信息相同的表单中的待发布信息都是无法重复入库的,不存在同时并发入库的问题,真正有效地解决了信息发布不准确的问题。
与上述信息发布方法对应地,本申请实施例还提供的一种客户端,如图5所示,该客户端包括:
接收单元501,用于接收用户提交的表单。
读取单元502,用于从接收单元501接收的表单中读取表单的第一标识信息,表单是指客户端中由用户输入待发布信息的区域。
其中,第一标识信息是由客户端在生成表单时填写到表单中的N位随机数据,其中,N为正整数。
验证单元503,用于根据读取单元502读取的第一标识信息,对表单的唯一性进行验证。
确定单元504,用于在验证单元503对表单的唯一性验证通过后,根据第一标识信息,确定第二标识信息。
确定单元504具体用于:
根据预设的算法,将第一标识信息转化为对应的字节元素;
确定与字节元素对应的字符串;
根据字符串,确定所述第二标识信息。
发送单元505,用于向服务端发送信息发布请求,信息发布请求包括第二标识信息以及待发布信息,信息发布请求用于指示服务端在根据第二标识信息对信息发布请求的唯一性验证通过后,发布待发布信息。
本申请实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本申请提供的装置的具体工作过程,在此不复赘述。
本申请实施例提供的客户端,接收单元501接收用户提交的表单;读取单元502从表单中读取表单的第一标识信息,表单是指客户端中由用户输入待发布信息的区域;验证单元503根据第一标识信息,对表单的唯一性进行验证;确定单元504在对表单的唯一性验证通过后,根据第一标识信息,确定第二标识信息;发送单元505向服务端发送信息发布请求,信息发布请求包括第二标识信息以及待发布信息,信息发布请求用于指示服务端在根据第二标识信息对信息发布请求的唯一性验证通过后,发布待发布信息。由此避免了现有技术中对表单中的信息重复发布的问题。
与上述信息发布方法对应地,本申请实施例还提供的一种服务端,如图6所示,该服务端包括:
接收单元601,用于接收客户端发送的信息发布请求,信息发布请求包括第二标识信息和待发布信息;第二标识信息是由客户端在对用户提交的表单的唯一性验证通过后根据表单的第一标识信息确定的,表单是指客户端中由用户输入待发布信息的区域。
其中,第一标识信息是由客户端在生成表单时填写到表单中的N位随机数据,其中,N为正整数。
验证单元602,用于根据接收单元601接收的第二标识信息,对信息发布请求的唯一性进行验证。
发布单元603,用于在验证单元602对信息发布请求的唯一性验证通过后,发布待发布信息。
本申请实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本申请提供的装置的具体工作过程,在此不复赘述。
本申请实施例提供的服务端,接收单元601接收客户端发送的信息发布请求;验证单元602根据第二标识信息,对信息发布请求的唯一性进行验证;发布单元603在对信息发布请求的唯一性验证通过后,发布待发布信息。也即,本申请利用了服务端的后台幂等控制来解决表单重复提交导致表单中的信息发布多次的问题。这样的实现还有一个优点,因为服务端对第二标识信息的幂等控制是数据库层面的,所以只要待发布信息被成功存储到数据库,那么后面第二标识信息相同的表单中的待发布信息都是无法重复入库的,不存在同时并发入库的问题,真正有效地解决了信息发布不准确的问题。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (10)

1.一种信息发布方法,其特征在于,该方法包括:
客户端接收用户提交的表单;
从所述表单中读取所述表单的第一标识信息,所述表单是指所述客户端中由所述用户输入待发布信息的区域,所述第一标识信息为所述表单的表单令牌;
根据所述第一标识信息,对所述表单的唯一性进行验证;
在对所述表单的唯一性验证通过后,根据所述第一标识信息,生成与所述第一标识信息唯一对应的第二标识信息;
向服务端发送信息发布请求,所述信息发布请求包括所述第二标识信息以及所述待发布信息,以供所述服务端在检测到所述第二标识信息不存在,从而对所述信息发布请求的唯一性验证通过后,发布所述待发布信息。
2.根据权利要求1所述的方法,其特征在于,所述第一标识信息是由所述客户端在生成所述表单时填写到所述表单中的N位随机数据,其中,N为正整数。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一标识信息,生成与所述第一标识信息唯一对应的第二标识信息,具体为:
根据预设的算法,将所述第一标识信息转化为对应的字节元素;
确定与所述字节元素对应的字符串;
根据所述字符串,确定所述第二标识信息。
4.一种信息发布方法,其特征在于,该方法包括:
服务端接收客户端发送的信息发布请求,所述信息发布请求包括第二标识信息和待发布信息;所述第二标识信息是由所述客户端在对用户提交的表单的唯一性验证通过后根据用于标示所述表单的唯一性的第一标识信息确定的,所述第二标识信息与所述第一标识信息唯一对应,所述表单是指所述客户端中由所述用户输入所述待发布信息的区域,所述第一标识信息为所述表单的表单令牌;
检测所述第二标识信息是否不存在,从而对所述信息发布请求的唯一性进行验证;
在对所述信息发布请求的唯一性验证通过后,发布所述待发布信息。
5.根据权利要求4所述的方法,其特征在于,所述第一标识信息是由所述客户端在生成所述表单时填写到所述表单中的N位随机数据,其中,N为正整数。
6.一种客户端,其特征在于,该客户端包括:
接收单元,用于接收用户提交的表单;
读取单元,用于从所述接收单元接收的所述表单中读取所述表单的第一标识信息,所述表单是指所述客户端中由所述用户输入待发布信息的区域,所述第一标识信息为所述表单的表单令牌;
验证单元,用于根据所述读取单元读取的所述第一标识信息,对所述表单的唯一性进行验证;
确定单元,用于在所述验证单元对所述表单的唯一性验证通过后,根据用于标示所述表单的唯一性的所述第一标识信息,生成与所述第一标识信息唯一对应的第二标识信息,所述第一标识信息为所述表单的表单令牌;
发送单元,用于向服务端发送信息发布请求,所述信息发布请求包括所述第二标识信息以及所述待发布信息,以供所述服务端在检测到所述第二标识信息不存在,从而对所述信息发布请求的唯一性验证通过后,发布所述待发布信息。
7.根据权利要求6所述的客户端,其特征在于,所述第一标识信息是由所述客户端在生成所述表单时填写到所述表单中的N位随机数据,其中,N为正整数。
8.根据权利要求6或7所述的客户端,其特征在于,所述确定单元具体用于:
根据预设的算法,将所述第一标识信息转化为对应的字节元素;
确定与所述字节元素对应的字符串;
根据所述字符串,确定所述第二标识信息。
9.一种服务端,其特征在于,该服务端包括:
接收单元,用于接收客户端发送的信息发布请求,所述信息发布请求包括第二标识信息和待发布信息;所述第二标识信息是由所述客户端在对用户提交的表单的唯一性验证通过后根据用于标示所述表单的唯一性的第一标识信息确定的,所述第二标识信息与所述第一标识 信息唯一对应,所述表单是指所述客户端中由所述用户输入所述待发布信息的区域,所述第一标识信息为所述表单的表单令牌;
验证单元,用于检测所述接收单元接收的所述第二标识信息是否不存在,从而对所述信息发布请求的唯一性进行验证;
发布单元,用于在所述验证单元对所述信息发布请求的唯一性验证通过后,发布所述待发布信息。
10.根据权利要求9所述的服务端,其特征在于,所述第一标识信息是由所述客户端在生成所述表单时填写到所述表单中的N位随机数据,其中,N为正整数。
CN201610490590.XA 2016-06-28 2016-06-28 信息发布方法、客户端及服务端 Active CN106921645B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610490590.XA CN106921645B (zh) 2016-06-28 2016-06-28 信息发布方法、客户端及服务端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610490590.XA CN106921645B (zh) 2016-06-28 2016-06-28 信息发布方法、客户端及服务端

Publications (2)

Publication Number Publication Date
CN106921645A CN106921645A (zh) 2017-07-04
CN106921645B true CN106921645B (zh) 2021-04-20

Family

ID=59453258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610490590.XA Active CN106921645B (zh) 2016-06-28 2016-06-28 信息发布方法、客户端及服务端

Country Status (1)

Country Link
CN (1) CN106921645B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107517256B (zh) * 2017-08-24 2020-08-07 李昊星 信息发布方法以及装置
CN108536793A (zh) * 2018-04-02 2018-09-14 郑州云海信息技术有限公司 一种防止ajax请求重复提交的方法与系统
CN110740163B (zh) * 2019-09-04 2021-04-02 华云数据控股集团有限公司 幂等性控制方法、装置、电子设备及可读存储介质
CN111241112B (zh) * 2019-12-27 2023-05-23 山大地纬软件股份有限公司 一种保证幂等的微服务调用监管系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043798A (zh) * 2009-10-14 2011-05-04 上海通路快建网络服务外包有限公司 表单提交流程控制方法及其装置
CN102426549A (zh) * 2011-09-08 2012-04-25 新一站保险代理有限公司 一种高效的Web的表单校验方法及其框架
CN104346564A (zh) * 2013-08-02 2015-02-11 中国银联股份有限公司 一种基于Web的安全的用户交互方法
CN106657310A (zh) * 2016-12-13 2017-05-10 北京锐安科技有限公司 表单的提交方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205544A1 (en) * 2002-01-03 2004-10-14 International Business Machines Corporation Inline error highlighting
CN107451472B (zh) * 2012-03-08 2021-06-04 阿里巴巴集团控股有限公司 表单验证方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043798A (zh) * 2009-10-14 2011-05-04 上海通路快建网络服务外包有限公司 表单提交流程控制方法及其装置
CN102426549A (zh) * 2011-09-08 2012-04-25 新一站保险代理有限公司 一种高效的Web的表单校验方法及其框架
CN104346564A (zh) * 2013-08-02 2015-02-11 中国银联股份有限公司 一种基于Web的安全的用户交互方法
CN106657310A (zh) * 2016-12-13 2017-05-10 北京锐安科技有限公司 表单的提交方法及装置

Also Published As

Publication number Publication date
CN106921645A (zh) 2017-07-04

Similar Documents

Publication Publication Date Title
CN105573828B (zh) 一种操作处理方法及装置
US11669832B2 (en) Blockchain-implemented method and system for access control on remote internet-enabled resources
CN108446974B (zh) 数据处理装置、方法及计算机可读存储介质
WO2018158936A1 (ja) ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム
CN106921645B (zh) 信息发布方法、客户端及服务端
US11556924B2 (en) Blockchain-based payment withholding and agreement signing method, apparatus, and electronic device
EP3779760B1 (en) Blockchain-based data processing method and apparatus, and electronic device
CN111475513B (zh) 表单生成方法、装置、电子设备及介质
US11188907B1 (en) ACH authorization validation using public blockchains
RU2016117997A (ru) Система сетевых токенов
CN107016420A (zh) 一种业务处理方法及装置
US11087371B2 (en) Blockchain-based invoice creation method apparatus, and electronic device
CN109710695B (zh) 事务请求有效性识别和发起方法、装置、设备和介质
US10733583B2 (en) Blockchain-based withholding operations
CN109002349B (zh) 应用程序交互方法、实现方法、装置、设备和介质
CN105337735A (zh) 数字证书处理及校验的方法和装置
CN112907244B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
WO2020220740A1 (zh) 基于区块链的发票创建方法和装置、电子设备
TW202001708A (zh) 一種信用退稅方法、裝置、系統及電子設備
TW201905813A (zh) 具權限分級和避免重複執行的智能合約執行系統及其方法
CN108449186B (zh) 安全验证方法和装置
US20230082545A1 (en) Event streams for a sequence of events associated with a blockchain
US20240039727A1 (en) Blockchain-based data processing method and apparatus, device, and readable storage medium
CN110858211B (zh) 数据存储方法、装置及系统、存储介质
EP4038828A1 (en) Computer-implemented system and method

Legal Events

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220414

Address after: Room 602, No. 618 Wai Road, Huangpu District, Shanghai

Patentee after: Ant fortune (Shanghai) Financial Information Service Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Innovative advanced technology Co.,Ltd.